From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 From: Siddhesh Poyarekar To: git-commits@fedoraproject.org Subject: [rpms/gcc] snapshot: Merge remote-tracking branch 'origin/rawhide' into snapshot Date: Thu, 04 Jun 2026 14:12:12 GMT Message-ID: <178058233246.1.9582647095717473380.rpms-gcc-3f7104c25882@fedoraproject.org> List-ID: X-Git-Repo: rpms/gcc X-Git-Branch: snapshot X-Git-Rev: 3f7104c2588294177972db1bb96f324b09ccb1b6 ICAgICAgICAgICAgQSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KCiAgICAgICAgICAgIFJl cG8gICA6IHJwbXMvZ2NjCiAgICAgICAgICAgIEJyYW5jaCA6IHNuYXBzaG90CiAgICAgICAgICAg IENvbW1pdCA6IDNmNzEwNGMyNTg4Mjk0MTc3OTcyZGIxYmI5NmYzMjRiMDljY2IxYjYKICAgICAg ICAgICAgQXV0aG9yIDogU2lkZGhlc2ggUG95YXJla2FyIDxzaWRkaGVzaEByZWRoYXQuY29tPgog ICAgICAgICAgICBEYXRlICAgOiAyMDI2LTA2LTA0VDEwOjA3OjUyLTA0OjAwCiAgICAgICAgICAg IFN0YXRzICA6ICsyODY4Ly0yNTk1IGluIDM0IGZpbGUocykKICAgICAgICAgICAgVVJMICAgIDog aHR0cHM6Ly9zcmMuZmVkb3JhcHJvamVjdC5vcmcvcnBtcy9nY2MvYy8zZjcxMDRjMjU4ODI5NDE3 Nzk3MmRiMWJiOTZmMzI0YjA5Y2NiMWI2P2JyYW5jaD1zbmFwc2hvdAoKICAgICAgICAgICAgTG9n OgogICAgICAgICAgICBNZXJnZSByZW1vdGUtdHJhY2tpbmcgYnJhbmNoICdvcmlnaW4vcmF3aGlk ZScgaW50byBzbmFwc2hvdAoKVGhpcyBvbmx5IGJyaW5ncyBpbiBzcGVjIGZpbGUgY2hhbmdlcyBh bmQgY2xlYW5zIHVwIGRyb3BwZWQgcGF0Y2hlcywgYW5kCm5vdCB0aGUgZ2NjMTYgYnJhbmNoIHVw ZGF0ZXMuCgotLS0KZGlmZiAtLWdpdCBhL2djYy5zcGVjIGIvZ2NjLnNwZWMKaW5kZXggZmMyYzUw OS4uY2MzNjhhMiAxMDA2NDQKLS0tIGEvZ2NjLnNwZWMKKysrIGIvZ2NjLnNwZWMKQEAgLTE3LDYg KzE3LDcgQEAKICVnbG9iYWwgbnZwdHhfdG9vbHNfZ2l0cmV2IDIxMmRhMmU3ODFlZDBmOTQyMzgy NGU4NWViMDQ4MTk5NTg1MTNmN2EKICVnbG9iYWwgbmV3bGliX2N5Z3dpbl9naXRyZXYgZDM1Y2M4 MmI1ZWMxNWJiOGE1ZmUwZmUxMWUxODNkMTg4Nzk5MmU5OQogJWdsb2JhbCBfdW5wYWNrYWdlZF9m aWxlc190ZXJtaW5hdGVfYnVpbGQgMAorJWdsb2JhbCBfZmluZF9kZWJ1Z2luZm9fb3B0cyAtLWtl ZXAtc2VjdGlvbiAuYTY4X2V4cG9ydHMKICVpZiAwJXs/ZmVkb3JhOjF9CiAlZ2xvYmFsIF9wZXJm b3JtYW5jZV9idWlsZCAxCiAjIEhhcmRlbmluZyBzbG93cyB0aGUgY29tcGlsZXIgd2F5IHRvbyBt dWNoLgpAQCAtMTkwMSw2ICsxOTAyLDcgQEAgbG4gLXNmIC4uLy4uLy4uL2xpYmdjb2JvbC5zby4y LiogbGliZ2NvYm9sLnNvCiAlZW5kaWYKICVpZiAle2J1aWxkX2FsZ29sNjh9CiBsbiAtc2YgLi4v Li4vLi4vbGliZ2E2OC5zby4yLiogbGliZ2E2OC5zbworb2JqY29weSAtLWR1bXAtc2VjdGlvbiAu YTY4X2V4cG9ydHM9Z2E2OC5tNjggLi4vLi4vLi4vbGliZ2E2OC5zby4yLioKICVlbmRpZgogJWlm ICV7YnVpbGRfbGliaXRtfQogbG4gLXNmIC4uLy4uLy4uL2xpYml0bS5zby4xLiogbGliaXRtLnNv CkBAIC0xOTQ4LDYgKzE5NTAsNyBAQCBsbiAtc2YgLi4vLi4vLi4vLi4vJXtfbGlifS9saWJnY29i b2wuc28uMi4qIGxpYmdjb2JvbC5zbwogJWVuZGlmCiAlaWYgJXtidWlsZF9hbGdvbDY4fQogbG4g LXNmIC4uLy4uLy4uLy4uLyV7X2xpYn0vbGliZ2E2OC5zby4yLiogbGliZ2E2OC5zbworb2JqY29w eSAtLWR1bXAtc2VjdGlvbiAuYTY4X2V4cG9ydHM9Z2E2OC5tNjggLi4vLi4vLi4vLi4vJXtfbGli fS9saWJnYTY4LnNvLjIuKgogJWVuZGlmCiAlaWYgJXtidWlsZF9saWJpdG19CiBsbiAtc2YgLi4v Li4vLi4vLi4vJXtfbGlifS9saWJpdG0uc28uMS4qIGxpYml0bS5zbwpAQCAtMjEyMyw2ICsyMTI2 LDcgQEAgZWNobyAnSU5QVVQgKCAle19wcmVmaXh9L2xpYjY0LydgZWNobyAuLi8uLi8uLi8uLi9s aWIvbGliZ2NvYm9sLnNvLjIuKiB8IHNlZCAncywKIHJtIC1mIGxpYmdhNjguc28KIGVjaG8gJ0lO UFVUICggJXtfcHJlZml4fS9saWIvJ2BlY2hvIC4uLy4uLy4uLy4uL2xpYi9saWJnYTY4LnNvLjIu KiB8IHNlZCAncyxeLipsaWJnLGxpYmcsJ2AnICknID4gbGliZ2E2OC5zbwogZWNobyAnSU5QVVQg KCAle19wcmVmaXh9L2xpYjY0LydgZWNobyAuLi8uLi8uLi8uLi9saWIvbGliZ2E2OC5zby4yLiog fCBzZWQgJ3MsXi4qbGliZyxsaWJnLCdgJyApJyA+IDY0L2xpYmdhNjguc28KK29iamNvcHkgLS1k dW1wLXNlY3Rpb24gLmE2OF9leHBvcnRzPTY0L2dhNjgubTY4IC4uLy4uLy4uLy4uL2xpYi9saWJn YTY4LnNvLjIuKgogJWVuZGlmCiAlaWYgJXtidWlsZF9saWJpdG19CiBybSAtZiBsaWJpdG0uc28K QEAgLTIyNjYsNiArMjI3MCw3IEBAIGVjaG8gJ0lOUFVUICggJXtfcHJlZml4fS9saWI2NC8nYGVj aG8gLi4vLi4vLi4vLi4vbGliNjQvbGliZ2NvYm9sLnNvLjIuKiB8IHNlZCAnCiBybSAtZiBsaWJn YTY4LnNvCiBlY2hvICdJTlBVVCAoICV7X3ByZWZpeH0vbGliNjQvJ2BlY2hvIC4uLy4uLy4uLy4u L2xpYjY0L2xpYmdhNjguc28uMi4qIHwgc2VkICdzLF4uKmxpYmcsbGliZywnYCcgKScgPiBsaWJn YTY4LnNvCiBlY2hvICdJTlBVVCAoICV7X3ByZWZpeH0vbGliLydgZWNobyAuLi8uLi8uLi8uLi9s aWI2NC9saWJnYTY4LnNvLjIuKiB8IHNlZCAncyxeLipsaWJnLGxpYmcsJ2AnICknID4gMzIvbGli Z2E2OC5zbworb2JqY29weSAtLWR1bXAtc2VjdGlvbiAuYTY4X2V4cG9ydHM9MzIvZ2E2OC5tNjgg Li4vLi4vLi4vLi4vbGliNjQvbGliZ2E2OC5zby4yLioKICVlbmRpZgogJWlmICV7YnVpbGRfbGli aXRtfQogcm0gLWYgbGliaXRtLnNvCkBAIC0zNTI2LDE1ICszNTMxLDE4IEBAIGVuZAogJXtfcHJl Zml4fS9saWIvZ2NjLyV7Z2NjX3RhcmdldF9wbGF0Zm9ybX0vJXtnY2NfbWFqb3J9L2xpYmdhNjgu YQogJWVuZGlmCiAle19wcmVmaXh9L2xpYi9nY2MvJXtnY2NfdGFyZ2V0X3BsYXRmb3JtfS8le2dj Y19tYWpvcn0vbGliZ2E2OC5zbworJXtfcHJlZml4fS9saWIvZ2NjLyV7Z2NjX3RhcmdldF9wbGF0 Zm9ybX0vJXtnY2NfbWFqb3J9L2dhNjgubTY4CiAlaWZhcmNoIHNwYXJjdjkgcHBjCiAlZGlyICV7 X3ByZWZpeH0vbGliL2djYy8le2djY190YXJnZXRfcGxhdGZvcm19LyV7Z2NjX21ham9yfS82NAog JXtfcHJlZml4fS9saWIvZ2NjLyV7Z2NjX3RhcmdldF9wbGF0Zm9ybX0vJXtnY2NfbWFqb3J9LzY0 L2xpYmdhNjguYQogJXtfcHJlZml4fS9saWIvZ2NjLyV7Z2NjX3RhcmdldF9wbGF0Zm9ybX0vJXtn Y2NfbWFqb3J9LzY0L2xpYmdhNjguc28KKyV7X3ByZWZpeH0vbGliL2djYy8le2djY190YXJnZXRf cGxhdGZvcm19LyV7Z2NjX21ham9yfS82NC9nYTY4Lm02OAogJWVuZGlmCiAlaWZhcmNoICV7bXVs dGlsaWJfNjRfYXJjaHN9CiAlZGlyICV7X3ByZWZpeH0vbGliL2djYy8le2djY190YXJnZXRfcGxh dGZvcm19LyV7Z2NjX21ham9yfS8zMgogJXtfcHJlZml4fS9saWIvZ2NjLyV7Z2NjX3RhcmdldF9w bGF0Zm9ybX0vJXtnY2NfbWFqb3J9LzMyL2xpYmdhNjguYQogJXtfcHJlZml4fS9saWIvZ2NjLyV7 Z2NjX3RhcmdldF9wbGF0Zm9ybX0vJXtnY2NfbWFqb3J9LzMyL2xpYmdhNjguc28KKyV7X3ByZWZp eH0vbGliL2djYy8le2djY190YXJnZXRfcGxhdGZvcm19LyV7Z2NjX21ham9yfS8zMi9nYTY4Lm02 OAogJWVuZGlmCiAle19pbmZvZGlyfS9nYTY4KgogJWRvYyBycG0uZG9jL2FsZ29sNjgvKgoKZGlm ZiAtLWdpdCBhL2djYzE3LWxpYnN0ZGMrKy1kb2NzLnBhdGNoIGIvZ2NjMTctbGlic3RkYysrLWRv Y3MucGF0Y2gKaW5kZXggN2QyZDM1Ny4uZjk3MTYyNyAxMDA2NDQKLS0tIGEvZ2NjMTctbGlic3Rk YysrLWRvY3MucGF0Y2gKKysrIGIvZ2NjMTctbGlic3RkYysrLWRvY3MucGF0Y2gKQEAgLTQsNyAr NCw3IEBACiAgICAgICAgPGEgY2xhc3M9ImxpbmsiIGhyZWY9Imh0dHBzOi8vd3d3LmZzZi5vcmci IHRhcmdldD0iX3RvcCI+RlNGCiAgICAgICAgPC9hPgogICAgICA8L3A+PHA+Ci0rICAgICAgUmVs ZWFzZSAxNi4wLjEKKysgICAgICBSZWxlYXNlIDE2LjEuMQogKyAgICA8L3A+PHA+CiAgICAgICAg UGVybWlzc2lvbiBpcyBncmFudGVkIHRvIGNvcHksIGRpc3RyaWJ1dGUgYW5kL29yIG1vZGlmeSB0 aGlzCiAgICAgICAgZG9jdW1lbnQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgRnJlZSBEb2N1 bWVudGF0aW9uCkBAIC0xNyw3ICsxNyw3IEBACiAgPC9wPjxwPgogLSAgVGhlIEFQSSBkb2N1bWVu dGF0aW9uLCByZW5kZXJlZCBpbnRvIEhUTUwsIGNhbiBiZSB2aWV3ZWQgb25saW5lCiArICBUaGUg QVBJIGRvY3VtZW50YXRpb24sIHJlbmRlcmVkIGludG8gSFRNTCwgY2FuIGJlIHZpZXdlZCBsb2Nh bGx5Ci0rICA8YSBjbGFzcz0ibGluayIgaHJlZj0iYXBpL2luZGV4Lmh0bWwiIHRhcmdldD0iX3Rv cCI+Zm9yIHRoZSAxNi4wLjEgcmVsZWFzZTwvYT4sCisrICA8YSBjbGFzcz0ibGluayIgaHJlZj0i YXBpL2luZGV4Lmh0bWwiIHRhcmdldD0iX3RvcCI+Zm9yIHRoZSAxNi4xLjEgcmVsZWFzZTwvYT4s CiArICBvbmxpbmUKICAgIDxhIGNsYXNzPSJsaW5rIiBocmVmPSJodHRwczovL2djYy5nbnUub3Jn L29ubGluZWRvY3MvIiB0YXJnZXQ9Il90b3AiPmZvciBlYWNoIEdDQyByZWxlYXNlPC9hPgogICAg YW5kCgpkaWZmIC0tZ2l0IGEvZ2NjMTctbW9kdWxlLWV4cG9ydHMucGF0Y2ggYi9nY2MxNy1tb2R1 bGUtZXhwb3J0cy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDU4YzQyOS4u MDAwMDAwMAotLS0gYS9nY2MxNy1tb2R1bGUtZXhwb3J0cy5wYXRjaAorKysgL2Rldi9udWxsCkBA IC0xLDMxMiArMCwwIEBACi0yMDI2LTAzLTE5ICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0 LmNvbT4KLQotCSogZysrLmRnL3BsdWdpbi9wbHVnaW4uZXhwOiBTZXQgUExVR0lOX0RFRkFVTFRf UkVQTy4gIEFkZAotCXNldCptb2R1bGUqZXhwb3J0cyogdG8gcGx1Z2luX3Rlc3RfbGlzdC4gIFJl bW92ZSAqLmdjbSBmaWxlcwotCWF0IHRoZSBzdGFydCBhbmQgZW5kLgotCSogZysrLmRnL3BsdWdp bi9zdGRfbW9kdWxlX2V4cG9ydHNfcGx1Z2luLmNjOiBOZXcgZmlsZS4KLQkqIGcrKy5kZy9wbHVn aW4vc3RkLW1vZHVsZS1leHBvcnRzLWMrKzIwLkM6IE5ldyB0ZXN0LgotCSogZysrLmRnL3BsdWdp bi9zdGQtbW9kdWxlLWV4cG9ydHMtYysrMjMuQzogTmV3IHRlc3QuCi0JKiBnKysuZGcvcGx1Z2lu L3N0ZC1tb2R1bGUtZXhwb3J0cy1jKysyNi5DOiBOZXcgdGVzdC4KLQotLS0tIGdjYy90ZXN0c3Vp dGUvZysrLmRnL3BsdWdpbi9wbHVnaW4uZXhwLmpqCTIwMjYtMDMtMTkgMTY6MjA6MDIuMzc5MjU3 MjU4ICswMTAwCi0rKysgZ2NjL3Rlc3RzdWl0ZS9nKysuZGcvcGx1Z2luL3BsdWdpbi5leHAJMjAy Ni0wMy0xOSAxNjoyMDoxMC45OTMzNjg3ODMgKzAxMDAKLUBAIC01MSw2ICs1MSw4IEBAIGlmICFb Z2NjX3BhcmFsbGVsX3Rlc3RfcnVuX3AgcGx1Z2luXSB7Ci0gfQotIGdjY19wYXJhbGxlbF90ZXN0 X2VuYWJsZSAwCi0gCi0rc2V0IFBMVUdJTl9ERUZBVUxUX1JFUE8gImdjbS5jYWNoZSIKLSsKLSAj IFNwZWNpZnkgdGhlIHBsdWdpbiBzb3VyY2UgZmlsZSBhbmQgdGhlIGFzc29jaWF0ZWQgdGVzdCBm aWxlcyBpbiBhIGxpc3QuCi0gIyBwbHVnaW5fdGVzdF9saXN0PXsge3BsdWdpbjEgdGVzdDEgdGVz dDIgLi4ufSB7cGx1Z2luMiB0ZXN0MSAuLi59IC4uLiB9Ci0gc2V0IHBsdWdpbl90ZXN0X2xpc3Qg W2xpc3QgXAotQEAgLTg3LDkgKzg5LDE3IEBAIHNldCBwbHVnaW5fdGVzdF9saXN0IFtsaXN0IFwK LSAgICAgCSAgdWdsaWZpY2F0aW9uLWMrKzIwLkMgXAotICAgICAJICB1Z2xpZmljYXRpb24tYysr MjMuQyBcCi0gICAgIAkgIHVnbGlmaWNhdGlvbi1jKysyNi5DIH0gXAotKyAgICB7IHN0ZF9tb2R1 bGVfZXhwb3J0c19wbHVnaW4uY2MgXAotKwkgIHN0ZC1tb2R1bGUtZXhwb3J0cy1jKysyMC5DIFwK LSsJICBzdGQtbW9kdWxlLWV4cG9ydHMtYysrMjMuQyBcCi0rCSAgc3RkLW1vZHVsZS1leHBvcnRz LWMrKzI2LkMgfSBcCi0gICAgIHsgY29tbWVudF9wbHVnaW4uY2MgY29tbWVudHMtMS5DIH0gXAot IF0KLSAKLStmb3JlYWNoIGZpbGUgW2ZpbmQgJFBMVUdJTl9ERUZBVUxUX1JFUE8gKi5nY21dIHsK LSsgICAgZmlsZV9vbl9ob3N0IGRlbGV0ZSAkZmlsZQotK30KLSsKLSBmb3JlYWNoIHBsdWdpbl90 ZXN0ICRwbHVnaW5fdGVzdF9saXN0IHsKLSAgICAgIyBSZXBsYWNlIGVhY2ggc291cmNlIGZpbGUg d2l0aCBpdHMgZnVsbC1wYXRoIG5hbWUKLSAgICAgZm9yIHtzZXQgaSAwfSB7JGkgPCBbbGxlbmd0 aCAkcGx1Z2luX3Rlc3RdfSB7aW5jciBpfSB7Ci1AQCAtMTA1LDQgKzExNSw4IEBAIGZvcmVhY2gg cGx1Z2luX3Rlc3QgJHBsdWdpbl90ZXN0X2xpc3QgewotICAgICBwbHVnaW4tdGVzdC1leGVjdXRl ICRwbHVnaW5fc3JjICRwbHVnaW5faW5wdXRfdGVzdHMKLSB9Ci0gCi0rZm9yZWFjaCBmaWxlIFtm aW5kICRQTFVHSU5fREVGQVVMVF9SRVBPICouZ2NtXSB7Ci0rICAgIGZpbGVfb25faG9zdCBkZWxl dGUgJGZpbGUKLSt9Ci0rCi0gZ2NjX3BhcmFsbGVsX3Rlc3RfZW5hYmxlIDEKLS0tLSBnY2MvdGVz dHN1aXRlL2crKy5kZy9wbHVnaW4vc3RkX21vZHVsZV9leHBvcnRzX3BsdWdpbi5jYy5qagkyMDI2 LTAzLTE5IDE2OjE5OjIzLjY5NDkxOTgxNiArMDEwMAotKysrIGdjYy90ZXN0c3VpdGUvZysrLmRn L3BsdWdpbi9zdGRfbW9kdWxlX2V4cG9ydHNfcGx1Z2luLmNjCTIwMjYtMDMtMTkgMTY6NDU6MTIu NzU2NTQzOTc5ICswMTAwCi1AQCAtMCwwICsxLDIxOSBAQAotKyNpbmNsdWRlICJnY2MtcGx1Z2lu LmgiCi0rI2luY2x1ZGUgPHN0ZGxpYi5oPgotKyNpbmNsdWRlICJjb25maWcuaCIKLSsjaW5jbHVk ZSAic3lzdGVtLmgiCi0rI2luY2x1ZGUgImNvcmV0eXBlcy5oIgotKyNpbmNsdWRlICJ0cmVlLmgi Ci0rI2luY2x1ZGUgImludGwuaCIKLSsjaW5jbHVkZSAiY3AvY3AtdHJlZS5oIgotKyNpbmNsdWRl ICJjcC9uYW1lLWxvb2t1cC5oIgotKyNpbmNsdWRlICJkaWFnbm9zdGljLmgiCi0rI2luY2x1ZGUg InN0cmluZ3Bvb2wuaCIKLSsjaW5jbHVkZSAiYXR0cmlicy5oIgotKwotK2ludCBwbHVnaW5faXNf R1BMX2NvbXBhdGlibGU7Ci0rCi0rdm9pZCBwbHVnaW5fZHVtcF9ucyAodHJlZSwgY2hhciAqLCBo YXNoX3NldDx0cmVlPiAqKik7Ci0rCi0rZW51bSBjbGFzcyB3aGl0ZWxpc3Rfc3RkIHsKLSsgIGN4 eDIwID0gMSA8PCAwLAotKyAgY3h4MjMgPSAxIDw8IDEsCi0rICBjeHgyNiA9IDEgPDwgMiwKLSsg IGFsbCA9ICgxIDw8IDMpIC0gMQotK307Ci0rc3RydWN0IHsKLSsgIGNvbnN0IGNoYXIgKm5hbWU7 Ci0rICB3aGl0ZWxpc3Rfc3RkIGVuYWJsZWRfaW47Ci0rfSB3aGl0ZWxpc3RbXSA9IHsKLSsgIC8v IFt6b21iaWUubmFtZXNdIGluIEMrKzIwLUMrKzI2LCBzdXBwb3J0ZWQgYXMgYW4gZXh0ZW5zaW9u LgotKyAgeyAic3RkOjpyZXN1bHRfb2YiLCB3aGl0ZWxpc3Rfc3RkOjphbGwgfSwKLSsgIHsgInN0 ZDo6cmVzdWx0X29mX3QiLCB3aGl0ZWxpc3Rfc3RkOjphbGwgfSwKLSsgIC8vIFt6b21iaWUubmFt ZXNdIGluIEMrKzIwLUMrKzI2LCBzdXBwb3J0ZWQgaW4gQysrMjAgYXMgYW4gZXh0ZW5zaW9uLgot KyAgeyAic3RkOjp1bmV4cGVjdGVkX2hhbmRsZXIiLCB3aGl0ZWxpc3Rfc3RkOjpjeHgyMCB9LAot KyAgLy8gW3pvbWJpZS5uYW1lc10gaW4gQysrMjMtQysrMjYsIG5vdCBleHBvcnRlZCBpbiBDKysy MC4KLSsgIHsgInN0ZDo6ZGVjbGFyZV9ub19wb2ludGVycyIsIHdoaXRlbGlzdF9zdGQ6OmN4eDIw IH0sCi0rICB7ICJzdGQ6OmRlY2xhcmVfcmVhY2hhYmxlIiwgd2hpdGVsaXN0X3N0ZDo6Y3h4MjAg fSwKLSsgIHsgInN0ZDo6Z2V0X3BvaW50ZXJfc2FmZXR5Iiwgd2hpdGVsaXN0X3N0ZDo6Y3h4MjAg fSwKLSsgIHsgInN0ZDo6cG9pbnRlcl9zYWZldHkiLCB3aGl0ZWxpc3Rfc3RkOjpjeHgyMCB9LAot KyAgeyAic3RkOjp1bmRlY2xhcmVfbm9fcG9pbnRlcnMiLCB3aGl0ZWxpc3Rfc3RkOjpjeHgyMCB9 LAotKyAgeyAic3RkOjp1bmRlY2xhcmVfcmVhY2hhYmxlIiwgd2hpdGVsaXN0X3N0ZDo6Y3h4MjAg fQotK307Ci0rCi0rdm9pZAotK3BsdWdpbl9kdW1wX2RlY2wgKHRyZWUgZGVjbCwgY2hhciAqc2Nv cGUsIGhhc2hfc2V0PHRyZWU+ICoqZXhwb3J0ZWRfdXNpbmdzKQotK3sKLSsgIGlmIChWQVJfUCAo ZGVjbCkgJiYgREVDTF9BUlRJRklDSUFMIChkZWNsKSkKLSsgICAgcmV0dXJuOwotKwotKyAgdHJl ZSBuYW1lID0gREVDTF9OQU1FIChkZWNsKTsKLSsgIGlmICghbmFtZSkKLSsgICAgcmV0dXJuOwot KwotKyAgaWYgKElERU5USUZJRVJfQU5PTl9QIChuYW1lKSkKLSsgICAgcmV0dXJuOwotKwotKyAg aWYgKFRSRUVfQ09ERSAoZGVjbCkgPT0gQ09OU1RfREVDTCkKLSsgICAgcmV0dXJuOwotKwotKyAg aWYgKFRSRUVfQ09ERSAoZGVjbCkgPT0gTkFNRVNQQUNFX0RFQ0wgJiYgREVDTF9OQU1FU1BBQ0Vf SU5MSU5FX1AgKGRlY2wpKQotKyAgICB7Ci0rICAgICAgcGx1Z2luX2R1bXBfbnMgKGRlY2wsIHNj b3BlLCBleHBvcnRlZF91c2luZ3MpOwotKyAgICAgIHJldHVybjsKLSsgICAgfQotKwotKyAgaWYg KElERU5USUZJRVJfUE9JTlRFUiAobmFtZSlbMF0gPT0gJ18nCi0rICAgICAgfHwgc3RyY2hyIChJ REVOVElGSUVSX1BPSU5URVIgKG5hbWUpLCAnICcpKQotKyAgICByZXR1cm47Ci0rCi0rICBpZiAo VFJFRV9DT0RFIChkZWNsKSA9PSBOQU1FU1BBQ0VfREVDTCkKLSsgICAgewotKyAgICAgIGNoYXIg KnAgPSBzdHJjaHIgKHNjb3BlLCAnXDAnKTsKLSsgICAgICBzdHJjcHkgKHAsIElERU5USUZJRVJf UE9JTlRFUiAobmFtZSkpOwotKyAgICAgIHN0cmNhdCAocCwgIjo6Iik7Ci0rICAgICAgcGx1Z2lu X2R1bXBfbnMgKGRlY2wsIHNjb3BlLCBleHBvcnRlZF91c2luZ3MpOwotKyAgICAgICpwID0gJ1ww JzsKLSsgICAgICByZXR1cm47Ci0rICAgIH0KLSsKLSsgIGlmIChERUNMX01PRFVMRV9FWFBPUlRf UCAoZGVjbCkpCi0rICAgIHJldHVybjsKLSsgIGlmIChUUkVFX0RFUFJFQ0FURUQgKGRlY2wpCi0r ICAgICAgfHwgbG9va3VwX2F0dHJpYnV0ZSAoImRlcHJlY2F0ZWQiLCBERUNMX0FUVFJJQlVURVMg KGRlY2wpKSkKLSsgICAgcmV0dXJuOwotKyAgaWYgKFRSRUVfQ09ERSAoZGVjbCkgPT0gVEVNUExB VEVfREVDTAotKyAgICAgICYmIERFQ0xfVEVNUExBVEVfUkVTVUxUIChkZWNsKQotKyAgICAgICYm IChUUkVFX0RFUFJFQ0FURUQgKERFQ0xfVEVNUExBVEVfUkVTVUxUIChkZWNsKSkKLSsJICB8fCBs b29rdXBfYXR0cmlidXRlICgiZGVwcmVjYXRlZCIsCi0rCQkJICAgICAgIERFQ0xfQVRUUklCVVRF UyAoREVDTF9URU1QTEFURV9SRVNVTFQgKGRlY2wpKSkpKQotKyAgICByZXR1cm47Ci0rICBpZiAo KmV4cG9ydGVkX3VzaW5ncwotKyAgICAgICYmICgqZXhwb3J0ZWRfdXNpbmdzKS0+Y29udGFpbnMg KERFQ0xfTkFNRSAoZGVjbCkpKQotKyAgICByZXR1cm47Ci0rCi0rICBzaXplX3Qgc2NvcGVfbGVu ID0gc3RybGVuIChzY29wZSk7Ci0rICB3aGl0ZWxpc3Rfc3RkIHRoaXNfc3RkOwotKyAgaWYgKGN4 eF9kaWFsZWN0ID09IGN4eDIwKQotKyAgICB0aGlzX3N0ZCA9IHdoaXRlbGlzdF9zdGQ6OmN4eDIw OwotKyAgZWxzZSBpZiAoY3h4X2RpYWxlY3QgPT0gY3h4MjMpCi0rICAgIHRoaXNfc3RkID0gd2hp dGVsaXN0X3N0ZDo6Y3h4MjM7Ci0rICBlbHNlIGlmIChjeHhfZGlhbGVjdCA9PSBjeHgyNikKLSsg ICAgdGhpc19zdGQgPSB3aGl0ZWxpc3Rfc3RkOjpjeHgyNjsKLSsgIGZvciAoaW50IGkgPSAwOyBp IDwgQVJSQVlfU0laRSAod2hpdGVsaXN0KTsgKytpKQotKyAgICBpZiAoc3RybmNtcCAod2hpdGVs aXN0W2ldLm5hbWUsIHNjb3BlLCBzY29wZV9sZW4pID09IDAKLSsJJiYgc3RyY21wICh3aGl0ZWxp c3RbaV0ubmFtZSArIHNjb3BlX2xlbiwKLSsJCSAgIElERU5USUZJRVJfUE9JTlRFUiAobmFtZSkp ID09IDApCi0rICAgICAgewotKwlpZiAoKChpbnQpIHdoaXRlbGlzdFtpXS5lbmFibGVkX2luICYg KGludCkgdGhpc19zdGQpICE9IDApCi0rCSAgewotKwkgICAgaW5mb3JtIChERUNMX1NPVVJDRV9M T0NBVElPTiAoZGVjbCksCi0rCQkgICAgIm1pc3NpbmcgdXNpbmcgJXMlRDsgd2hpdGVsaXN0ZWQi LCBzY29wZSwgbmFtZSk7Ci0rCSAgICByZXR1cm47Ci0rCSAgfQotKwlicmVhazsKLSsgICAgICB9 Ci0rCi0rICBlcnJvcl9hdCAoREVDTF9TT1VSQ0VfTE9DQVRJT04gKGRlY2wpLCAibWlzc2luZyB1 c2luZyAlcyVEOyIsIHNjb3BlLCBuYW1lKTsKLSt9Ci0rCi0rdm9pZAotK3BsdWdpbl9kdW1wX2Jp bmRpbmcgKHRyZWUgYmluZGluZywgY2hhciAqc2NvcGUsCi0rCQkgICAgIGhhc2hfc2V0PHRyZWU+ ICoqZXhwb3J0ZWRfdXNpbmdzKQotK3sKLSsgIHRyZWUgdmFsdWUgPSBOVUxMX1RSRUU7Ci0rCi0r ICBpZiAoVFJFRV9DT0RFIChiaW5kaW5nKSA9PSBPVkVSTE9BRCkKLSsgICAgewotKyAgICAgIHRy ZWUgb3ZsID0gb3ZsX3NraXBfaGlkZGVuIChiaW5kaW5nKTsKLSsgICAgICBpZiAob3ZsICYmIFRS RUVfQ09ERSAob3ZsKSA9PSBPVkVSTE9BRCAmJiBPVkxfRVhQT1JUX1AgKG92bCkpCi0rCXJldHVy bjsKLSsgICAgfQotKwotKyAgaWYgKFNUQVRfSEFDS19QIChiaW5kaW5nKSkKLSsgICAgewotKyAg ICAgIGlmICghU1RBVF9UWVBFX0hJRERFTl9QIChiaW5kaW5nKQotKyAgICAgICAgICAmJiBTVEFU X1RZUEUgKGJpbmRpbmcpKQotKyAgICAgICAgcmV0dXJuIHBsdWdpbl9kdW1wX2RlY2wgKFNUQVRf VFlQRSAoYmluZGluZyksIHNjb3BlLCBleHBvcnRlZF91c2luZ3MpOwotKyAgICAgIGVsc2UgaWYg KCFTVEFUX0RFQ0xfSElEREVOX1AgKGJpbmRpbmcpKQotKyAgICAgICAgdmFsdWUgPSBTVEFUX0RF Q0wgKGJpbmRpbmcpOwotKyAgICB9Ci0rICBlbHNlCi0rICAgIHZhbHVlID0gYmluZGluZzsKLSsK LSsgIHZhbHVlID0gb3ZsX3NraXBfaGlkZGVuICh2YWx1ZSk7Ci0rICBpZiAodmFsdWUpCi0rICAg IHsKLSsgICAgICB2YWx1ZSA9IE9WTF9GSVJTVCAodmFsdWUpOwotKyAgICAgIHJldHVybiBwbHVn aW5fZHVtcF9kZWNsICh2YWx1ZSwgc2NvcGUsIGV4cG9ydGVkX3VzaW5ncyk7Ci0rICAgIH0KLSt9 Ci0rCi0rdm9pZAotK3BsdWdpbl9kdW1wX25zICh0cmVlIG5zLCBjaGFyICpzY29wZSwgaGFzaF9z ZXQ8dHJlZT4gKipleHBvcnRlZF91c2luZ3MpCi0rewotKyAgdXNpbmcgaXRlcnQgPSBoYXNoX3Rh YmxlPG5hbWVkX2RlY2xfaGFzaD46Oml0ZXJhdG9yOwotKyAgaXRlcnQgZW5kIChERUNMX05BTUVT UEFDRV9CSU5ESU5HUyAobnMpLT5lbmQgKCkpOwotKyAgaGFzaF9zZXQ8dHJlZT4gKm15X2V4cG9y dGVkX3VzaW5ncyA9IE5VTEw7Ci0rICBpZiAoREVDTF9OQU1FU1BBQ0VfSU5MSU5FX1AgKG5zKSkK LSsgICAgewotKyAgICAgIGlmICgqZXhwb3J0ZWRfdXNpbmdzID09IE5VTEwpCi0rCXsKLSsJICAq ZXhwb3J0ZWRfdXNpbmdzID0gbmV3IGhhc2hfc2V0PHRyZWU+OwotKwkgIHRyZWUgcGFyZW50ID0g REVDTF9DT05URVhUIChucyk7Ci0rCSAgaXRlcnQgcGVuZCAoREVDTF9OQU1FU1BBQ0VfQklORElO R1MgKHBhcmVudCktPmVuZCAoKSk7Ci0rCSAgZm9yIChpdGVydCBpdGVyIChERUNMX05BTUVTUEFD RV9CSU5ESU5HUyAocGFyZW50KS0+YmVnaW4gKCkpOwotKwkgICAgICAgaXRlciAhPSBwZW5kOyAr K2l0ZXIpCi0rCSAgICB7Ci0rCSAgICAgIHRyZWUgYiA9ICppdGVyOwotKwkgICAgICBpZiAoVFJF RV9DT0RFIChiKSA9PSBVU0lOR19ERUNMCi0rCQkgICYmIERFQ0xfTU9EVUxFX0VYUE9SVF9QIChi KQotKwkJICAmJiBERUNMX05BTUUgKGIpKQotKwkJKCpleHBvcnRlZF91c2luZ3MpLT5hZGQgKERF Q0xfTkFNRSAoYikpOwotKwkgICAgICBlbHNlIGlmIChUUkVFX0NPREUgKGIpID09IE9WRVJMT0FE KQotKwkJewotKwkJICB0cmVlIG92bCA9IG92bF9za2lwX2hpZGRlbiAoYik7Ci0rCQkgIGlmIChv dmwgJiYgVFJFRV9DT0RFIChvdmwpID09IE9WRVJMT0FEICYmIE9WTF9FWFBPUlRfUCAob3ZsKSkK LSsJCSAgICB7Ci0rCQkgICAgICBiID0gT1ZMX0ZJUlNUIChvdmwpOwotKwkJICAgICAgaWYgKERF Q0xfTkFNRSAoYikpCi0rCQkJKCpleHBvcnRlZF91c2luZ3MpLT5hZGQgKERFQ0xfTkFNRSAoYikp OwotKwkJICAgIH0KLSsJCX0KLSsJICAgIH0KLSsJfQotKyAgICB9Ci0rICBlbHNlCi0rICAgIGV4 cG9ydGVkX3VzaW5ncyA9ICZteV9leHBvcnRlZF91c2luZ3M7Ci0rICBmb3IgKGl0ZXJ0IGl0ZXIg KERFQ0xfTkFNRVNQQUNFX0JJTkRJTkdTIChucyktPmJlZ2luICgpKTsKLSsgICAgICAgaXRlciAh PSBlbmQ7ICsraXRlcikKLSsgICAgewotKyAgICAgIHRyZWUgYiA9ICppdGVyOwotKyAgICAgIGdj Y19hc3NlcnQgKFRSRUVfQ09ERSAoYikgIT0gQklORElOR19WRUNUT1IpOwotKyAgICAgIHBsdWdp bl9kdW1wX2JpbmRpbmcgKGIsIHNjb3BlLCBleHBvcnRlZF91c2luZ3MpOwotKyAgICB9Ci0rICBk ZWxldGUgbXlfZXhwb3J0ZWRfdXNpbmdzOwotK30KLSsKLSt2b2lkCi0rcGx1Z2luX2ZpbmlzaF91 bml0ICh2b2lkICosIHZvaWQgKikKLSt7Ci0rICBpZiAoIW1haW5faW5wdXRfZmlsZW5hbWUKLSsg ICAgICB8fCBzdHJzdHIgKG1haW5faW5wdXRfZmlsZW5hbWUsICIvc3RkLmNjIikgPT0gTlVMTCkK LSsgICAgcmV0dXJuOwotKwotKyAgY2hhciBidWZbNDA5Nl07Ci0rICBzdHJjcHkgKGJ1ZiwgInN0 ZDo6Iik7Ci0rICBoYXNoX3NldDx0cmVlPiAqZXhwb3J0ZWRfdXNpbmdzID0gTlVMTDsKLSsgIHBs dWdpbl9kdW1wX25zIChzdGRfbm9kZSwgYnVmLCAmZXhwb3J0ZWRfdXNpbmdzKTsKLSsgIGRlbGV0 ZSBleHBvcnRlZF91c2luZ3M7Ci0rfQotKwotK2ludAotK3BsdWdpbl9pbml0IChzdHJ1Y3QgcGx1 Z2luX25hbWVfYXJncyAqcGx1Z2luX2luZm8sCi0rICAgICAgICAgICAgIHN0cnVjdCBwbHVnaW5f Z2NjX3ZlcnNpb24gKnZlcnNpb24pCi0rewotKyAgY29uc3QgY2hhciAqcGx1Z2luX25hbWUgPSBw bHVnaW5faW5mby0+YmFzZV9uYW1lOwotKwotKyAgcmVnaXN0ZXJfY2FsbGJhY2sgKHBsdWdpbl9u YW1lLCBQTFVHSU5fRklOSVNIX1VOSVQsCi0rICAgICAgICAgICAgICAgICAgICAgcGx1Z2luX2Zp bmlzaF91bml0LCBOVUxMKTsKLSsgIHJldHVybiAwOwotK30KLS0tLSBnY2MvdGVzdHN1aXRlL2cr Ky5kZy9wbHVnaW4vc3RkLW1vZHVsZS1leHBvcnRzLWMrKzIwLkMuamoJMjAyNi0wMy0xOSAxNjox OToyMy42OTUwMzUyNTkgKzAxMDAKLSsrKyBnY2MvdGVzdHN1aXRlL2crKy5kZy9wbHVnaW4vc3Rk LW1vZHVsZS1leHBvcnRzLWMrKzIwLkMJMjAyNi0wMy0xOSAxNjoyMDoxMC45OTM2ODg4OTEgKzAx MDAKLUBAIC0wLDAgKzEsMTEgQEAKLSsvLyBUZXN0IGJpdHMvc3RkLmNjIGV4cG9ydHMgZXZlcnl0 aGluZyBpdCBzaG91bGQuCi0rLy8gVGhpcyBpcyBkb25lIHVzaW5nIGEgcGx1Z2luIHRvIHdhbGsg c3RkIG5hbWVzcGFjZSBhbmQKLSsvLyBpdHMgY2hpbGQgbmFtZXNwYWNlcywgbG9va2luZyBmb3Ig ZGVjbHMgd2l0aCBub24tdWdsaWZpZWQKLSsvLyBuYW1lcyB3aGljaCBhcmVuJ3QgZGVwcmVjYXRl ZCBhbmQgYXJlIG5vdCBleHBvcnRlZC4KLSsvLyB7IGRnLWRvIGxpbmsgfQotKy8vIHsgZGctb3B0 aW9ucyAiLU8wIC1zdGQ9YysrMjAgLWZtb2R1bGVzIC14IGMrKy1zeXN0ZW0tbW9kdWxlIGJpdHMv c3RkLmNjIC14IG5vbmUiIH0KLSsKLStpbnQKLSttYWluICgpCi0rewotK30KLS0tLSBnY2MvdGVz dHN1aXRlL2crKy5kZy9wbHVnaW4vc3RkLW1vZHVsZS1leHBvcnRzLWMrKzIzLkMuamoJMjAyNi0w My0xOSAxNjoxOToyMy42OTUxMTY2MjcgKzAxMDAKLSsrKyBnY2MvdGVzdHN1aXRlL2crKy5kZy9w bHVnaW4vc3RkLW1vZHVsZS1leHBvcnRzLWMrKzIzLkMJMjAyNi0wMy0xOSAxNjoyMDoxMC45OTM3 ODg1NjMgKzAxMDAKLUBAIC0wLDAgKzEsMTEgQEAKLSsvLyBUZXN0IGJpdHMvc3RkLmNjIGV4cG9y dHMgZXZlcnl0aGluZyBpdCBzaG91bGQuCi0rLy8gVGhpcyBpcyBkb25lIHVzaW5nIGEgcGx1Z2lu IHRvIHdhbGsgc3RkIG5hbWVzcGFjZSBhbmQKLSsvLyBpdHMgY2hpbGQgbmFtZXNwYWNlcywgbG9v a2luZyBmb3IgZGVjbHMgd2l0aCBub24tdWdsaWZpZWQKLSsvLyBuYW1lcyB3aGljaCBhcmVuJ3Qg ZGVwcmVjYXRlZCBhbmQgYXJlIG5vdCBleHBvcnRlZC4KLSsvLyB7IGRnLWRvIGxpbmsgfQotKy8v IHsgZGctb3B0aW9ucyAiLU8wIC1zdGQ9YysrMjMgLWZtb2R1bGVzIC14IGMrKy1zeXN0ZW0tbW9k dWxlIGJpdHMvc3RkLmNjIC14IG5vbmUiIH0KLSsKLStpbnQKLSttYWluICgpCi0rewotK30KLS0t LSBnY2MvdGVzdHN1aXRlL2crKy5kZy9wbHVnaW4vc3RkLW1vZHVsZS1leHBvcnRzLWMrKzI2LkMu amoJMjAyNi0wMy0xOSAxNjoxOToyMy42OTUxOTQ5NTkgKzAxMDAKLSsrKyBnY2MvdGVzdHN1aXRl L2crKy5kZy9wbHVnaW4vc3RkLW1vZHVsZS1leHBvcnRzLWMrKzI2LkMJMjAyNi0wMy0xOSAxNjoy MDoxMC45OTM5MDQ1MjUgKzAxMDAKLUBAIC0wLDAgKzEsMTEgQEAKLSsvLyBUZXN0IGJpdHMvc3Rk LmNjIGV4cG9ydHMgZXZlcnl0aGluZyBpdCBzaG91bGQuCi0rLy8gVGhpcyBpcyBkb25lIHVzaW5n IGEgcGx1Z2luIHRvIHdhbGsgc3RkIG5hbWVzcGFjZSBhbmQKLSsvLyBpdHMgY2hpbGQgbmFtZXNw YWNlcywgbG9va2luZyBmb3IgZGVjbHMgd2l0aCBub24tdWdsaWZpZWQKLSsvLyBuYW1lcyB3aGlj aCBhcmVuJ3QgZGVwcmVjYXRlZCBhbmQgYXJlIG5vdCBleHBvcnRlZC4KLSsvLyB7IGRnLWRvIGxp bmsgfQotKy8vIHsgZGctb3B0aW9ucyAiLU8wIC1zdGQ9YysrMjYgLWZtb2R1bGVzIC1mcmVmbGVj dGlvbiAtZmNvbnRyYWN0cyAteCBjKystc3lzdGVtLW1vZHVsZSBiaXRzL3N0ZC5jYyAteCBub25l IiB9Ci0rCi0raW50Ci0rbWFpbiAoKQotK3sKLSt9CgpkaWZmIC0tZ2l0IGEvZ2NjMTctdWdsaWZp Y2F0aW9uLnBhdGNoIGIvZ2NjMTctdWdsaWZpY2F0aW9uLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2Rl IDEwMDY0NAppbmRleCAxYjAwZTkxLi4wMDAwMDAwCi0tLSBhL2djYzE3LXVnbGlmaWNhdGlvbi5w YXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDYyNSArMCwwIEBACi0yMDI2LTAzLTE5ICBKYWt1YiBK ZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KLQotCSogZysrLmRnL3BsdWdpbi9wbHVnaW4uZXhw IChwbHVnaW5fdGVzdF9saXN0KTogQWRkIHVnbGlmaWNhdGlvbiB0ZXN0cy4KLQkqIGcrKy5kZy9w bHVnaW4vdWdsaWZpY2F0aW9uX3BsdWdpbi5jYzogTmV3IGZpbGUuCi0JKiBnKysuZGcvcGx1Z2lu L3VnbGlmaWNhdGlvbi5DOiBOZXcgdGVzdC4KLQkqIGcrKy5kZy9wbHVnaW4vdWdsaWZpY2F0aW9u LWMrKzk4LkM6IE5ldyB0ZXN0LgotCSogZysrLmRnL3BsdWdpbi91Z2xpZmljYXRpb24tYysrMTEu QzogTmV3IHRlc3QuCi0JKiBnKysuZGcvcGx1Z2luL3VnbGlmaWNhdGlvbi1jKysxNC5DOiBOZXcg dGVzdC4KLQkqIGcrKy5kZy9wbHVnaW4vdWdsaWZpY2F0aW9uLWMrKzE3LkM6IE5ldyB0ZXN0Lgot CSogZysrLmRnL3BsdWdpbi91Z2xpZmljYXRpb24tYysrMjAuQzogTmV3IHRlc3QuCi0JKiBnKysu ZGcvcGx1Z2luL3VnbGlmaWNhdGlvbi1jKysyMy5DOiBOZXcgdGVzdC4KLQkqIGcrKy5kZy9wbHVn aW4vdWdsaWZpY2F0aW9uLWMrKzI2LkM6IE5ldyB0ZXN0LgotCi0tLS0gZ2NjL3Rlc3RzdWl0ZS9n KysuZGcvcGx1Z2luL3BsdWdpbi5leHAuamoJMjAyNi0wMy0xOCAxNTo0MDoxNS42NDYwMDg5MzQg KzAxMDAKLSsrKyBnY2MvdGVzdHN1aXRlL2crKy5kZy9wbHVnaW4vcGx1Z2luLmV4cAkyMDI2LTAz LTE4IDE2OjQ4OjM0LjM5NTI4NDg4OSArMDEwMAotQEAgLTc4LDYgKzc4LDE1IEBAIHNldCBwbHVn aW5fdGVzdF9saXN0IFtsaXN0IFwKLSAgICAgCSAgc2hvdy10ZW1wbGF0ZS10cmVlLWNvbG9yLW5v LWhpZ2hsaWdodC1jb2xvcnMuQyBcCi0gICAgIAkgIHNob3ctdGVtcGxhdGUtdHJlZS1jb2xvci1s YWJlbHMuQyBcCi0gICAgIAkgIHNob3ctdGVtcGxhdGUtdHJlZS1jb2xvci1uby1lbGlkZS10eXBl LkMgfSBcCi0rICAgIHsgdWdsaWZpY2F0aW9uX3BsdWdpbi5jYyBcCi0rCSAgdWdsaWZpY2F0aW9u LkMgXAotKyAgICAJICB1Z2xpZmljYXRpb24tYysrOTguQyBcCi0rICAgIAkgIHVnbGlmaWNhdGlv bi1jKysxMS5DIFwKLSsgICAgCSAgdWdsaWZpY2F0aW9uLWMrKzE0LkMgXAotKyAgICAJICB1Z2xp ZmljYXRpb24tYysrMTcuQyBcCi0rICAgIAkgIHVnbGlmaWNhdGlvbi1jKysyMC5DIFwKLSsgICAg CSAgdWdsaWZpY2F0aW9uLWMrKzIzLkMgXAotKyAgICAJICB1Z2xpZmljYXRpb24tYysrMjYuQyB9 IFwKLSAgICAgeyBjb21tZW50X3BsdWdpbi5jYyBjb21tZW50cy0xLkMgfSBcCi0gXQotIAotLS0t IGdjYy90ZXN0c3VpdGUvZysrLmRnL3BsdWdpbi91Z2xpZmljYXRpb25fcGx1Z2luLmNjLmpqCTIw MjYtMDMtMTkgMDA6MDQ6NDEuOTI3MjMxNzM0ICswMTAwCi0rKysgZ2NjL3Rlc3RzdWl0ZS9nKysu ZGcvcGx1Z2luL3VnbGlmaWNhdGlvbl9wbHVnaW4uY2MJMjAyNi0wMy0xOSAwOTowMDowNi43NDE0 MzMwMTUgKzAxMDAKLUBAIC0wLDAgKzEsMzUzIEBACi0rI2luY2x1ZGUgImdjYy1wbHVnaW4uaCIK LSsjaW5jbHVkZSA8c3RkbGliLmg+Ci0rI2luY2x1ZGUgImNvbmZpZy5oIgotKyNpbmNsdWRlICJz eXN0ZW0uaCIKLSsjaW5jbHVkZSAiY29yZXR5cGVzLmgiCi0rI2luY2x1ZGUgInRyZWUuaCIKLSsj aW5jbHVkZSAiaW50bC5oIgotKyNpbmNsdWRlICJjcC9jcC10cmVlLmgiCi0rI2luY2x1ZGUgImNw L25hbWUtbG9va3VwLmgiCi0rI2luY2x1ZGUgImRpYWdub3N0aWMuaCIKLSsjaW5jbHVkZSAic3Ry aW5ncG9vbC5oIgotKwotK2ludCBwbHVnaW5faXNfR1BMX2NvbXBhdGlibGU7Ci0rCi0rdm9pZCBw bHVnaW5fd2Fsa19ucyAodHJlZSk7Ci0rCi0rY29uc3QgY2hhciAqYmFkbmFtZXNbXSA9IHsKLSsg IC8qIFNlZSBsaWJzdGRjKystdjMvdGVzdHN1aXRlLzE3X2ludHJvL3ssYmFkfW5hbWVzLmNjLiAg Ki8KLSsgICJfQSIsICJfQiIsICJfQyIsICJfRyIsICJfTCIsICJfTiIsICJfUCIsICJfUyIsICJf VCIsICJfVSIsICJfWCIsCi0rICAiX19kZXJlZiIsICJfX3VzZWQiLCAiX191bnVzZWQiLCAiX19p bmxpbmUiLCAiX0NvbXBsZXgiLAotKyAgIl9faXN0eXBlIiwgIl9fbWFza3J1bmUiLCAiX190b2xv d2VyIiwgIl9fdG91cHBlciIsICJfX3djaGFyX3QiLAotKyAgIl9fd2ludF90IiwgIl9yZXMiLCAi X3Jlc19leHQiLCAiX0MyIiwgIl9fbG9ja2FibGUiLCAiX19udWxsX3NlbnRpbmVsIiwKLSsgICJf X3BhY2tlZCIsICJfX3dlYWsiLCAiX19zdHJvbmciLCAiX0luXyIsICJfSW5vdXRfIiwgIl9PdXRf IiwKLSsgICJfUmVzZXJ2ZWRfIiwgIl9faW5vdXQiLCAiX19pbl9vcHQiLCAiX19vdXRfb3B0Igot K307Ci0rCi0rdmVjPHRyZWU+IG5vbnVnbHlfbmFtZXM7Ci0raGFzaF9zZXQ8dHJlZT4gd2hpdGVs aXN0OwotK2Jvb2wgaW1wbF9uczsKLSsKLSt2b2lkCi0rcGx1Z2luX2NoZWNrX2RlY2wgKHRyZWUg ZGVjbCkKLSt7Ci0rICBpZiAoZGVjbCA9PSBOVUxMX1RSRUUpCi0rICAgIHJldHVybjsKLSsKLSsg IGlmIChWQVJfT1JfRlVOQ1RJT05fREVDTF9QIChkZWNsKQotKyAgICAgICYmIERFQ0xfRVhURVJO QUwgKGRlY2wpCi0rICAgICAgJiYgREVDTF9DT05URVhUIChkZWNsKQotKyAgICAgICYmIFRSRUVf Q09ERSAoREVDTF9DT05URVhUIChkZWNsKSkgPT0gRlVOQ1RJT05fREVDTCkKLSsgICAgcmV0dXJu OwotKwotKyAgdHJlZSBuYW1lID0gREVDTF9OQU1FIChkZWNsKTsKLSsgIGlmIChuYW1lID09IE5V TExfVFJFRQotKyAgICAgIHx8IElERU5USUZJRVJfQU5PTl9QIChuYW1lKQotKyAgICAgIHx8IG5h bWUgPT0gdGhpc19pZGVudGlmaWVyCi0rICAgICAgfHwgSURFTlRJRklFUl9BTllfT1BfUCAobmFt ZSkpCi0rICAgIHJldHVybjsKLSsKLSsgIGNvbnN0IGNoYXIgKmNuYW1lID0gSURFTlRJRklFUl9Q T0lOVEVSIChuYW1lKTsKLSsgIGlmIChtZW1jbXAgKGNuYW1lLCAiYXV0bzoiLCA1KSA9PSAwKQot KyAgICByZXR1cm47Ci0rCi0rICBpZiAoY25hbWVbMF0gIT0gJ18nCi0rICAgICAgfHwgKGNuYW1l WzFdICE9ICdfJwotKwkgICYmICFJU1VQUEVSIChjbmFtZVsxXSkKLSsJICAmJiBjbmFtZVsxXSkp Ci0rICAgIHsKLSsgICAgICBub251Z2x5X25hbWVzLnNhZmVfcHVzaCAoZGVjbCk7Ci0rICAgICAg cmV0dXJuOwotKyAgICB9Ci0rCi0rICBib29sIGJhZG5hbWUgPSBmYWxzZTsKLSsgIGZvciAoaW50 IGkgPSAwOyBpIDwgQVJSQVlfU0laRSAoYmFkbmFtZXMpOyArK2kpCi0rICAgIGlmIChzdHJjbXAg KGJhZG5hbWVzW2ldLCBjbmFtZSkgPT0gMCkKLSsgICAgICB7Ci0rCWJhZG5hbWUgPSB0cnVlOwot KwlicmVhazsKLSsgICAgICB9Ci0rICBpZiAoIWJhZG5hbWUgJiYgY25hbWVbMV0gPT0gJ0UnICYm IElTRElHSVQgKGNuYW1lWzJdKSkKLSsgICAgewotKyAgICAgIGlmIChjbmFtZVsyXSAhPSAnMCcK LSsJICAmJiAoIWNuYW1lWzNdIHx8ICgoY25hbWVbMl0gPT0gJzEnIHx8IGNuYW1lWzJdID09ICcy JykKLSsJCQkgICAgJiYgSVNESUdJVCAoY25hbWVbM10pCi0rCQkJICAgICYmICFjbmFtZVs0XSkp KQotKwliYWRuYW1lID0gdHJ1ZTsKLSsgICAgfQotKyAgZWxzZSBpZiAobWVtY21wIChjbmFtZSAr IDEsICJfdGdfIiwgNCkgPT0gMCkKLSsgICAgYmFkbmFtZSA9IHRydWU7Ci0rICBpZiAoYmFkbmFt ZSkKLSsgICAgaW5mb3JtIChERUNMX1NPVVJDRV9MT0NBVElPTiAoZGVjbCksICJiYWRuYW1lICVx cyIsIGNuYW1lKTsKLSt9Ci0rCi0rdHJlZQotK3BsdWdpbl9jaGVja190cmVlICh0cmVlICp0cCwg aW50ICovKndhbGtfc3VidHJlZXMqLywgdm9pZCAqLypkYXRhKi8pCi0rewotKyAgaWYgKFRSRUVf Q09ERSAoKnRwKSA9PSBCSU5EX0VYUFIpCi0rICAgIGZvciAodHJlZSB2YXIgPSBCSU5EX0VYUFJf VkFSUyAoKnRwKTsgdmFyOyB2YXIgPSBERUNMX0NIQUlOICh2YXIpKQotKyAgICAgIHBsdWdpbl9j aGVja19kZWNsICh2YXIpOwotKyAgaWYgKFRSRUVfQ09ERSAoKnRwKSA9PSBERUNMX0VYUFIpCi0r ICAgIHBsdWdpbl9jaGVja19kZWNsIChERUNMX0VYUFJfREVDTCAoKnRwKSk7Ci0rICByZXR1cm4g TlVMTF9UUkVFOwotK30KLSsKLSt2b2lkCi0rcGx1Z2luX2NoZWNrX2ZuICh0cmVlIGRlY2wpCi0r ewotKyAgZm9yICh0cmVlIGFyZyA9IERFQ0xfQVJHVU1FTlRTIChkZWNsKTsgYXJnOyBhcmcgPSBE RUNMX0NIQUlOIChhcmcpKQotKyAgICBwbHVnaW5fY2hlY2tfZGVjbCAoYXJnKTsKLSsKLSsgIGlm IChERUNMX0RFRkFVTFRFRF9GTiAoZGVjbCkpCi0rICAgIHJldHVybjsKLSsgIGNwX3dhbGtfdHJl ZV93aXRob3V0X2R1cGxpY2F0ZXMgKCZERUNMX1NBVkVEX1RSRUUgKGRlY2wpLCBwbHVnaW5fY2hl Y2tfdHJlZSwKLSsJCQkJICAgTlVMTCk7Ci0rfQotKwotK2Jvb2wKLStwbHVnaW5faGVhZGVyX2No ZWNrICh0cmVlIGRlY2wpCi0rewotKyAgZXhwYW5kZWRfbG9jYXRpb24gZWxvYyA9IGV4cGFuZF9s b2NhdGlvbiAoREVDTF9TT1VSQ0VfTE9DQVRJT04gKGRlY2wpKTsKLSsgIGlmIChlbG9jLmZpbGUg PT0gTlVMTCkKLSsgICAgcmV0dXJuIGZhbHNlOwotKyAgaWYgKHN0cnN0ciAoZWxvYy5maWxlLCAi L2xpYnN0ZGMrKy12My9pbmNsdWRlLyIpID09IE5VTEwKLSsgICAgICAmJiBzdHJzdHIgKGVsb2Mu ZmlsZSwgIi9saWJzdGRjKystdjMvbGlic3VwYysrLyIpID09IE5VTEwpCi0rICAgIHJldHVybiBm YWxzZTsKLSsgIHJldHVybiB0cnVlOwotK30KLSsKLSt2b2lkCi0rcGx1Z2luX3dhbGtfZGVjbCAo dHJlZSBkZWNsKQotK3sKLSsgIGlmIChUUkVFX0NPREUgKGRlY2wpID09IE5BTUVTUEFDRV9ERUNM KQotKyAgICB7Ci0rICAgICAgaWYgKGltcGxfbnMKLSsJICB8fCAoREVDTF9OQU1FIChkZWNsKQot KwkgICAgICAmJiBJREVOVElGSUVSX1BPSU5URVIgKERFQ0xfTkFNRSAoZGVjbCkpWzBdICE9ICdf JwotKwkgICAgICAmJiAhSURFTlRJRklFUl9BTk9OX1AgKERFQ0xfTkFNRSAoZGVjbCkpKQotKwkg IHx8IERFQ0xfTkFNRVNQQUNFX0lOTElORV9QIChkZWNsKSkKLSsJcGx1Z2luX3dhbGtfbnMgKGRl Y2wpOwotKyAgICAgIGVsc2UKLSsJewotKwkgIGltcGxfbnMgPSB0cnVlOwotKwkgIHBsdWdpbl93 YWxrX25zIChkZWNsKTsKLSsJICBpbXBsX25zID0gZmFsc2U7Ci0rCX0KLSsgICAgICByZXR1cm47 Ci0rICAgIH0KLSsKLSsgIGlmICghcGx1Z2luX2hlYWRlcl9jaGVjayAoZGVjbCkpCi0rICAgIHJl dHVybjsKLSsKLSsgIGlmICghaW1wbF9ucwotKyAgICAgICYmIERFQ0xfTkFNRSAoZGVjbCkKLSsg ICAgICAmJiAhSURFTlRJRklFUl9BTk9OX1AgKERFQ0xfTkFNRSAoZGVjbCkpCi0rICAgICAgJiYg IUlERU5USUZJRVJfQU5ZX09QX1AgKERFQ0xfTkFNRSAoZGVjbCkpCi0rICAgICAgJiYgSURFTlRJ RklFUl9QT0lOVEVSIChERUNMX05BTUUgKGRlY2wpKVswXSAhPSAnXycpCi0rICAgIHdoaXRlbGlz dC5hZGQgKERFQ0xfTkFNRSAoZGVjbCkpOwotKyAgZWxzZSBpZiAoaW1wbF9ucyAmJiBERUNMX05B TUUgKGRlY2wpKQotKyAgICBwbHVnaW5fY2hlY2tfZGVjbCAoZGVjbCk7Ci0rCi0rICBpZiAoVFJF RV9DT0RFIChkZWNsKSA9PSBURU1QTEFURV9ERUNMKQotKyAgICB7Ci0rICAgICAgdHJlZSBwYXJt cyA9IERFQ0xfSU5ORVJNT1NUX1RFTVBMQVRFX1BBUk1TIChkZWNsKTsKLSsgICAgICBmb3IgKHRy ZWUgbm9kZSA6IHRyZWVfdmVjX3JhbmdlIChwYXJtcykpCi0rCXBsdWdpbl9jaGVja19kZWNsIChU UkVFX1ZBTFVFIChub2RlKSk7Ci0rICAgIH0KLSsKLSsgIGlmIChERUNMX0ZVTkNUSU9OX1RFTVBM QVRFX1AgKGRlY2wpKQotKyAgICBwbHVnaW5fY2hlY2tfZm4gKERFQ0xfVEVNUExBVEVfUkVTVUxU IChkZWNsKSk7Ci0rICBlbHNlIGlmIChUUkVFX0NPREUgKGRlY2wpID09IEZVTkNUSU9OX0RFQ0wK LSsJICAgJiYgREVDTF9MQU5HX1NQRUNJRklDIChkZWNsKQotKwkgICAmJiBERUNMX1RFTVBMQVRF X0lORk8gKGRlY2wpKQotKyAgICBwbHVnaW5fY2hlY2tfZm4gKGRlY2wpOwotKwotKyAgaWYgKERF Q0xfQ0xBU1NfVEVNUExBVEVfUCAoZGVjbCkpCi0rICAgIGRlY2wgPSBERUNMX1RFTVBMQVRFX1JF U1VMVCAoZGVjbCk7Ci0rICBpZiAoVFJFRV9DT0RFIChkZWNsKSA9PSBUWVBFX0RFQ0wKLSsgICAg ICAmJiBERUNMX0lNUExJQ0lUX1RZUEVERUZfUCAoZGVjbCkpCi0rICAgIHsKLSsgICAgICBib29s IHNhdmVfaW1wbF9ucyA9IGltcGxfbnM7Ci0rICAgICAgaWYgKGltcGxfbnMKLSsJICAmJiBERUNM X05BTUUgKGRlY2wpCi0rCSAgJiYgaWRfZXF1YWwgKERFQ0xfTkFNRSAoZGVjbCksICJfUHJvbWlz ZV9lcmFzZWQiKQotKwkgICYmIERFQ0xfQ09OVEVYVCAoZGVjbCkKLSsJICAmJiBUUkVFX0NPREUg KERFQ0xfQ09OVEVYVCAoZGVjbCkpID09IE5BTUVTUEFDRV9ERUNMCi0rCSAgJiYgREVDTF9OQU1F IChERUNMX0NPTlRFWFQgKGRlY2wpKQotKwkgICYmIGlkX2VxdWFsIChERUNMX05BTUUgKERFQ0xf Q09OVEVYVCAoZGVjbCkpLCAiX19nZW4iKSkKLSsJLyogV29ya2Fyb3VuZDogc3RkOjpnZW5lcmF0 b3I8UiwgViwgQT46OnByb21pc2VfdHlwZSBpbgotKwkgICB0aGUgc3RhbmRhcmQgaXMgYWN0dWFs bHkgZGVmaW5lZCBhcyBzdGQ6Ol9fZ2VuOjpfUHJvbWlzZV9lcmFzZWQsCi0rCSAgIGJ1dCB3ZSB3 YW50IHRvIHdoaXRlbGlzdCBpdHMgbWVtYmVycy4gIFRlbXBvcmFyaWx5IGNsZWFyCi0rCSAgIGlt cGxfbnMgaW4gdGhhdCBjbGFzcy4gICovCi0rCWltcGxfbnMgPSBmYWxzZTsKLSsgICAgICBpZiAo UkVDT1JEX09SX1VOSU9OX1RZUEVfUCAoVFJFRV9UWVBFIChkZWNsKSkpCi0rCXsKLSsJICBmb3Ig KHRyZWUgZmxkID0gVFlQRV9GSUVMRFMgKFRSRUVfVFlQRSAoZGVjbCkpOwotKwkgICAgICAgZmxk OyBmbGQgPSBERUNMX0NIQUlOIChmbGQpKQotKwkgICAgcGx1Z2luX3dhbGtfZGVjbCAoZmxkKTsK LSsJICBmb3IgKHRyZWUgZiA9IERFQ0xfRlJJRU5ETElTVCAoZGVjbCk7IGY7IGYgPSBUUkVFX0NI QUlOIChmKSkKLSsJICAgIGZvciAodHJlZSBsID0gRlJJRU5EX0RFQ0xTIChmKTsgbDsgbCA9IFRS RUVfQ0hBSU4gKGwpKQotKwkgICAgICBwbHVnaW5fd2Fsa19kZWNsIChUUkVFX1ZBTFVFIChsKSk7 Ci0rCX0KLSsgICAgICBlbHNlIGlmIChUUkVFX0NPREUgKFRSRUVfVFlQRSAoZGVjbCkpID09IEVO VU1FUkFMX1RZUEUpCi0rCWZvciAodHJlZSBlbiA9IFRZUEVfVkFMVUVTIChUUkVFX1RZUEUgKGRl Y2wpKTsKLSsJICAgICBlbjsgZW4gPSBUUkVFX0NIQUlOIChlbikpCi0rCSAgcGx1Z2luX3dhbGtf ZGVjbCAoVFJFRV9WQUxVRSAoZW4pKTsKLSsgICAgICBpbXBsX25zID0gc2F2ZV9pbXBsX25zOwot KyAgICB9Ci0rfQotKwotK3ZvaWQKLStwbHVnaW5fd2Fsa19iaW5kaW5nICh0cmVlIGJpbmRpbmcp Ci0rewotKyAgdHJlZSB2YWx1ZSA9IE5VTExfVFJFRTsKLSsKLSsgIGlmIChTVEFUX0hBQ0tfUCAo YmluZGluZykpCi0rICAgIHsKLSsgICAgICBpZiAoIVNUQVRfVFlQRV9ISURERU5fUCAoYmluZGlu ZykKLSsJICAmJiBTVEFUX1RZUEUgKGJpbmRpbmcpKQotKwlyZXR1cm4gcGx1Z2luX3dhbGtfZGVj bCAoU1RBVF9UWVBFIChiaW5kaW5nKSk7Ci0rICAgICAgZWxzZSBpZiAoIVNUQVRfREVDTF9ISURE RU5fUCAoYmluZGluZykpCi0rCXZhbHVlID0gU1RBVF9ERUNMIChiaW5kaW5nKTsKLSsgICAgfQot KyAgZWxzZQotKyAgICB2YWx1ZSA9IGJpbmRpbmc7Ci0rCi0rICB2YWx1ZSA9IG92bF9za2lwX2hp ZGRlbiAodmFsdWUpOwotKyAgaWYgKHZhbHVlKQotKyAgICB7Ci0rICAgICAgdmFsdWUgPSBPVkxf RklSU1QgKHZhbHVlKTsKLSsgICAgICByZXR1cm4gcGx1Z2luX3dhbGtfZGVjbCAodmFsdWUpOwot KyAgICB9Ci0rfQotKwotK3ZvaWQKLStwbHVnaW5fd2Fsa19ucyAodHJlZSBucykKLSt7Ci0rICB1 c2luZyBpdGVydCA9IGhhc2hfdGFibGU8bmFtZWRfZGVjbF9oYXNoPjo6aXRlcmF0b3I7Ci0rICBp dGVydCBlbmQgKERFQ0xfTkFNRVNQQUNFX0JJTkRJTkdTIChucyktPmVuZCAoKSk7Ci0rICBmb3Ig KGl0ZXJ0IGl0ZXIgKERFQ0xfTkFNRVNQQUNFX0JJTkRJTkdTIChucyktPmJlZ2luICgpKTsKLSsg ICAgICAgaXRlciAhPSBlbmQ7ICsraXRlcikKLSsgICAgewotKyAgICAgIHRyZWUgYiA9ICppdGVy OwotKyAgICAgIGdjY19hc3NlcnQgKFRSRUVfQ09ERSAoYikgIT0gQklORElOR19WRUNUT1IpOwot KyAgICAgIHBsdWdpbl93YWxrX2JpbmRpbmcgKGIpOwotKyAgICB9Ci0rfQotKwotK2ludAotK3Bs dWdpbl9jdHhfY2hlY2sgKHRyZWUgZGVjbCkKLSt7Ci0rICBpbnQgcmV0ID0gMTsKLSsgIHRyZWUg Y3R4ID0gREVDTF9DT05URVhUIChkZWNsKTsKLSsgIHdoaWxlIChjdHgpCi0rICAgIHsKLSsgICAg ICBpZiAoY3R4ID09IHN0ZF9ub2RlKQotKwlyZXR1cm4gcmV0OwotKyAgICAgIGlmIChUUkVFX0NP REUgKGN0eCkgPT0gTkFNRVNQQUNFX0RFQ0wKLSsJICAmJiBERUNMX05BTUUgKGN0eCkKLSsJICAm JiBpZF9lcXVhbCAoREVDTF9OQU1FIChjdHgpLCAiX19nbnVfY3h4IikKLSsJICAmJiBDUF9ERUNM X0NPTlRFWFQgKGN0eCkgPT0gZ2xvYmFsX25hbWVzcGFjZSkKLSsJcmV0dXJuIDI7Ci0rICAgICAg aWYgKFRSRUVfQ09ERSAoY3R4KSA9PSBOQU1FU1BBQ0VfREVDTAotKwkgICYmICghREVDTF9OQU1F IChjdHgpCi0rCSAgICAgIHx8IElERU5USUZJRVJfUE9JTlRFUiAoREVDTF9OQU1FIChjdHgpKVsw XSA9PSAnXycKLSsJICAgICAgfHwgSURFTlRJRklFUl9BTk9OX1AgKERFQ0xfTkFNRSAoY3R4KSkp Ci0rCSAgJiYgIURFQ0xfTkFNRVNQQUNFX0lOTElORV9QIChjdHgpKQotKwlyZXQgPSAyOwotKyAg ICAgIGlmIChUWVBFX1AgKGN0eCkpCi0rCWN0eCA9IFRZUEVfQ09OVEVYVCAoY3R4KTsKLSsgICAg ICBlbHNlCi0rCWN0eCA9IERFQ0xfQ09OVEVYVCAoY3R4KTsKLSsgICAgfQotKyAgcmV0dXJuIDA7 Ci0rfQotKwotK3ZvaWQKLStwbHVnaW5fZmluaXNoX3BhcnNlX2Z1bmN0aW9uICh2b2lkICpldmVu dF9kYXRhLCB2b2lkICopCi0rewotKyAgdHJlZSBkZWNsID0gKHRyZWUpIGV2ZW50X2RhdGE7Ci0r ICBpZiAoIXBsdWdpbl9oZWFkZXJfY2hlY2sgKGRlY2wpKQotKyAgICByZXR1cm47Ci0rCi0rICAv KiBPbmx5IGRpYWdub3NlIHN0dWZmIG5lc3RlZCBpbiA6OnN0ZCBvciA6Ol9fZ251X2N4eAotKyAg ICAgbmFtZXNwYWNlcy4gICovCi0rICBpZiAoIXBsdWdpbl9jdHhfY2hlY2sgKGRlY2wpKQotKyAg ICByZXR1cm47Ci0rCi0rICAvKiBUZW1wbGF0ZXMgYXJlIGhhbmRsZWQgZnJvbSBwbHVnaW5fd2Fs a19ucy4gICovCi0rICBpZiAoREVDTF9MQU5HX1NQRUNJRklDIChkZWNsKSAmJiBERUNMX1RFTVBM QVRFX0lORk8gKGRlY2wpKQotKyAgICByZXR1cm47Ci0rICBwbHVnaW5fY2hlY2tfZm4gKGRlY2wp OwotK30KLSsKLSt2b2lkCi0rcGx1Z2luX3dhbGtfc3BlY2lhbGl6YXRpb24gKGJvb2wsIHNwZWNf ZW50cnkgKmVudHJ5LCB2b2lkICopCi0rewotKyAgdHJlZSBpbmZvOwotKyAgaWYgKFRZUEVfUCAo ZW50cnktPnNwZWMpKQotKyAgICBpbmZvID0gVFlQRV9URU1QTEFURV9JTkZPIChlbnRyeS0+c3Bl Yyk7Ci0rICBlbHNlCi0rICAgIGluZm8gPSBERUNMX1RFTVBMQVRFX0lORk8gKGVudHJ5LT5zcGVj KTsKLSsgIGlmIChQUklNQVJZX1RFTVBMQVRFX1AgKFRJX1RFTVBMQVRFIChpbmZvKSkgJiYgVElf UEFSVElBTF9JTkZPIChpbmZvKSkKLSsgICAgaW5mbyA9IFRJX1BBUlRJQUxfSU5GTyAoaW5mbyk7 Ci0rICB0cmVlIGRlY2wgPSBUSV9URU1QTEFURSAoaW5mbyk7Ci0rICBpZiAoaW50IGMgPSBwbHVn aW5fY3R4X2NoZWNrIChkZWNsKSkKLSsgICAgewotKyAgICAgIGltcGxfbnMgPSBjID09IDI7Ci0r ICAgICAgcGx1Z2luX3dhbGtfZGVjbCAoZGVjbCk7Ci0rICAgIH0KLSt9Ci0rCi0rdm9pZAotK3Bs dWdpbl9maW5pc2hfdW5pdCAodm9pZCAqLCB2b2lkICopCi0rewotKyAgcGx1Z2luX3dhbGtfbnMg KHN0ZF9ub2RlKTsKLSsgIHRyZWUgZ251Y3h4X25zID0gbG9va3VwX3F1YWxpZmllZF9uYW1lIChn bG9iYWxfbmFtZXNwYWNlLCAiX19nbnVfY3h4Iik7Ci0rICBpZiAoZ251Y3h4X25zICYmIFRSRUVf Q09ERSAoZ251Y3h4X25zKSA9PSBOQU1FU1BBQ0VfREVDTCkKLSsgICAgcGx1Z2luX3dhbGtfbnMg KGdudWN4eF9ucyk7Ci0rICB3YWxrX3NwZWNpYWxpemF0aW9ucyAoZmFsc2UsIHBsdWdpbl93YWxr X3NwZWNpYWxpemF0aW9uLCBOVUxMKTsKLSsgIHdhbGtfc3BlY2lhbGl6YXRpb25zICh0cnVlLCBw bHVnaW5fd2Fsa19zcGVjaWFsaXphdGlvbiwgTlVMTCk7Ci0rICB1bnNpZ25lZCBpbnQgaTsKLSsg IHRyZWUgZGVjbDsKLSsgIEZPUl9FQUNIX1ZFQ19FTFQgKG5vbnVnbHlfbmFtZXMsIGksIGRlY2wp Ci0rICAgIGlmICghd2hpdGVsaXN0LmNvbnRhaW5zIChERUNMX05BTUUgKGRlY2wpKSkKLSsgICAg ICBpbmZvcm0gKERFQ0xfU09VUkNFX0xPQ0FUSU9OIChkZWNsKSwgIm5vbi11Z2xpZmllZCBuYW1l ICVxcyIsCi0rCSAgICAgIElERU5USUZJRVJfUE9JTlRFUiAoREVDTF9OQU1FIChkZWNsKSkpOwot KyAgICBlbHNlCi0rICAgICAgaW5mb3JtIChERUNMX1NPVVJDRV9MT0NBVElPTiAoZGVjbCksICJu b24tdWdsaWZpZWQgd2hpdGVsaXN0ZWQgbmFtZSAlcXMiLAotKwkgICAgICBJREVOVElGSUVSX1BP SU5URVIgKERFQ0xfTkFNRSAoZGVjbCkpKTsKLSt9Ci0rCi0rdm9pZAotK3BsdWdpbl9nZ2Nfd2Fs a2VyICh2b2lkICopCi0rewotKyAgdW5zaWduZWQgaW50IGk7Ci0rICB0cmVlIGRlY2w7Ci0rICBG T1JfRUFDSF9WRUNfRUxUIChub251Z2x5X25hbWVzLCBpLCBkZWNsKQotKyAgICBndF9nZ2NfbV85 dHJlZV9ub2RlIChkZWNsKTsKLSsgIGZvciAoaGFzaF9zZXQ8dHJlZT46Oml0ZXJhdG9yIGl0ID0g d2hpdGVsaXN0LmJlZ2luICgpOwotKyAgICAgICBpdCAhPSB3aGl0ZWxpc3QuZW5kICgpOyArK2l0 KQotKyAgICBndF9nZ2NfbV85dHJlZV9ub2RlICgqaXQpOwotK30KLSsKLStzdGF0aWMgY29uc3Qg c3RydWN0IGdnY19yb290X3RhYiB4dHJhdGFiW10gPSB7Ci0rICB7ICh2b2lkICopICZ4dHJhdGFi LCAxLCAxLCBwbHVnaW5fZ2djX3dhbGtlciwgTlVMTCB9LAotKyAgTEFTVF9HR0NfUk9PVF9UQUIK LSt9OwotKwotK2ludAotK3BsdWdpbl9pbml0IChzdHJ1Y3QgcGx1Z2luX25hbWVfYXJncyAqcGx1 Z2luX2luZm8sCi0rCSAgICAgc3RydWN0IHBsdWdpbl9nY2NfdmVyc2lvbiAqdmVyc2lvbikKLSt7 Ci0rICBjb25zdCBjaGFyICpwbHVnaW5fbmFtZSA9IHBsdWdpbl9pbmZvLT5iYXNlX25hbWU7Ci0r Ci0rICByZWdpc3Rlcl9jYWxsYmFjayAocGx1Z2luX25hbWUsIFBMVUdJTl9GSU5JU0hfVU5JVCwK LSsJCSAgICAgcGx1Z2luX2ZpbmlzaF91bml0LCBOVUxMKTsKLSsgIHJlZ2lzdGVyX2NhbGxiYWNr IChwbHVnaW5fbmFtZSwgUExVR0lOX0ZJTklTSF9QQVJTRV9GVU5DVElPTiwKLSsJCSAgICAgcGx1 Z2luX2ZpbmlzaF9wYXJzZV9mdW5jdGlvbiwgTlVMTCk7Ci0rICByZWdpc3Rlcl9jYWxsYmFjayAo cGx1Z2luX25hbWUsIFBMVUdJTl9SRUdJU1RFUl9HR0NfUk9PVFMsCi0rCQkgICAgIE5VTEwsICh2 b2lkICopIHh0cmF0YWIpOwotKwotKyAgcmV0dXJuIDA7Ci0rfQotLS0tIGdjYy90ZXN0c3VpdGUv ZysrLmRnL3BsdWdpbi91Z2xpZmljYXRpb24uQy5qagkyMDI2LTAzLTE4IDE2OjQ4OjM0LjM5NTU5 NDk4MCArMDEwMAotKysrIGdjYy90ZXN0c3VpdGUvZysrLmRnL3BsdWdpbi91Z2xpZmljYXRpb24u QwkyMDI2LTAzLTE4IDE2OjU5OjEyLjkyOTI4ODkwOCArMDEwMAotQEAgLTAsMCArMSwxNTEgQEAK LSsvLyBUZXN0IHRoYXQgdWdsaWZpY2F0aW9uX3BsdWdpbi5jYyB3b3JrcyBwcm9wZXJseS4KLSsv LyB7IGRnLW9wdGlvbnMgIi1PMCAtc3RkPWMrKzIwIiB9Ci0rCi0rLy8gUHJldGVuZCB0aGlzIGlz IGluIGEgbGlic3RkYysrLXYzIGhlYWRlci4KLSsjbGluZSA2ICJnY2MvbGlic3RkYysrLXYzL2lu Y2x1ZGUvYml0cy91bml2ZXJzZS5oIgotKwotKy8vIFN0dWZmIG91dHNpZGUgb2YgbmFtZXNwYWNl IHN0ZCBub3QgcmVwb3J0ZWQuCi0raW50Ci0rZm9vIChpbnQgYSwgaW50IGIpCQkJLy8geyBkZy1i b2d1cyAibm90ZTogbm9uLXVnbGlmaWVkIG5hbWUgJ1xbYWJdJyIgfQotK3sKLSsgIGludCBjID0g YSArIGI7CQkJLy8geyBkZy1ib2d1cyAibm90ZTogbm9uLXVnbGlmaWVkIG5hbWUgJ2MnIiB9Ci0r ICByZXR1cm4gYzsKLSt9Ci0rCi0rbmFtZXNwYWNlIHN0ZCB7Ci0rICBzdHJ1Y3QgZm9vIHsKLSsg ICAgaW50IGJhciAoaW50IGQsIGludCBfX2UpIHsJCS8vIHsgZGctbWVzc2FnZSAibm90ZTogbm9u LXVnbGlmaWVkIG5hbWUgJ2QnIiB9Ci0rICAgICAgaW50IGYgPSBkICsgX19lOwkJCS8vIHsgZGct bWVzc2FnZSAibm90ZTogbm9uLXVnbGlmaWVkIG5hbWUgJ2YnIiB9Ci0rICAgICAgaW50IF9FMTIg PSBmOwkJCS8vIHsgZGctbWVzc2FnZSAibm90ZTogYmFkbmFtZSAnX0UxMiciIH0KLSsgICAgICB1 c2luZyBnID0gaW50OwkJCS8vIHsgZGctbWVzc2FnZSAibm90ZTogbm9uLXVnbGlmaWVkIG5hbWUg J2cnIiB9Ci0rICAgICAgcmV0dXJuIGYgKyBfRTEyOwotKyAgICB9Ci0rICAgIHRlbXBsYXRlIDx0 eXBlbmFtZSBUPgkJLy8geyBkZy1tZXNzYWdlICJub3RlOiBub24tdWdsaWZpZWQgbmFtZSAnVCci IH0KLSsgICAgaW50IGJheiAoaW50IF9faCwgaW50IF9fdGdfZm9vKSB7CS8vIHsgZGctbWVzc2Fn ZSAibm90ZTogYmFkbmFtZSAnX190Z19mb28nIiB9Ci0rICAgICAgaW50IGkgPSBfX2g7CQkJLy8g eyBkZy1tZXNzYWdlICJub3RlOiBub24tdWdsaWZpZWQgbmFtZSAnaSciIH0KLSsgICAgICB1c2lu ZyBqID0gaW50OwkJCS8vIHsgZGctbWVzc2FnZSAibm90ZTogbm9uLXVnbGlmaWVkIG5hbWUgJ2on IiB9Ci0rICAgICAgcmV0dXJuIGk7Ci0rICAgIH0KLSsgICAgdGVtcGxhdGUgPGRvdWJsZT4KLSsg ICAgaW50IGJheiAoaW50IGFhKSB7CQkJLy8geyBkZy1tZXNzYWdlICJub3RlOiBub24tdWdsaWZp ZWQgbmFtZSAnYWEnIiB9Ci0rICAgICAgaW50IGFiID0gYWE7CQkJLy8geyBkZy1tZXNzYWdlICJu b3RlOiBub24tdWdsaWZpZWQgbmFtZSAnYWInIiB9Ci0rICAgICAgdXNpbmcgYWMgPSBkb3VibGU7 CQkvLyB7IGRnLW1lc3NhZ2UgIm5vdGU6IG5vbi11Z2xpZmllZCBuYW1lICdhYyciIH0KLSsgICAg ICByZXR1cm4gYWI7Ci0rICAgIH0KLSsgICAgaW50IHp6OwkJCQkvLyB7IGRnLWJvZ3VzICJub3Rl OiBub24tdWdsaWZpZWQgbmFtZSAnenonIiB9Ci0rICB9OwotKyAgdGVtcGxhdGUgPHR5cGVuYW1l IF9UPgkJLy8geyBkZy1tZXNzYWdlICJub3RlOiBiYWRuYW1lICdfVCciIH0KLSsgIHN0cnVjdCBx dXggewotKyAgICBpbnQgY29yZ2UgKGludCBrLCBpbnQgX19sKSB7CS8vIHsgZGctbWVzc2FnZSAi bm90ZTogbm9uLXVnbGlmaWVkIG5hbWUgJ2snIiB9Ci0rICAgICAgaW50IF9fbWFza3J1bmUgPSBr ICsgX19sOwkJLy8geyBkZy1tZXNzYWdlICJub3RlOiBiYWRuYW1lICdfX21hc2tydW5lJyIgfQot KyAgICAgIHR5cGVkZWYgc3RkOjpmb28gX19pbl9vcHQ7CS8vIHsgZGctbWVzc2FnZSAibm90ZTog YmFkbmFtZSAnX19pbl9vcHQnIiB9Ci0rICAgICAgcmV0dXJuIF9fbWFza3J1bmU7Ci0rICAgIH0K LSsgICAgdGVtcGxhdGUgPHR5cGVuYW1lIF9UcD4KLSsgICAgaW50IGdhcnBseSAoaW50IG0pIHsJ CS8vIHsgZGctbWVzc2FnZSAibm90ZTogbm9uLXVnbGlmaWVkIG5hbWUgJ20nIiB9Ci0rICAgICAg aW50IG4gPSBtOwkJCS8vIHsgZGctbWVzc2FnZSAibm90ZTogbm9uLXVnbGlmaWVkIG5hbWUgJ24n IiB9Ci0rICAgICAgc3RydWN0IGZvbyB7IGludCBiYXo7IH0gX19vOwkvLyB7IGRnLW1lc3NhZ2Ug Im5vdGU6IG5vbi11Z2xpZmllZCB3aGl0ZWxpc3RlZCBuYW1lICdmb28nIiB9Ci0rICAgICAgX19v LmJheiA9IG47Ci0rICAgICAgcmV0dXJuIF9fby5iYXo7Ci0rICAgIH0KLSsgIH07Ci0rICB0ZW1w bGF0ZSA8dHlwZW5hbWUgX1RwLCB0eXBlbmFtZSBfVXA+Ci0rICBzdHJ1Y3QgUyB7Ci0rICAgIFMg KCkgPSBkZWxldGU7Ci0rICAgIH5TICgpID0gZGVsZXRlOwotKyAgfTsKLSsgIHRlbXBsYXRlIDx0 eXBlbmFtZSBfVHA+Ci0rICBzdHJ1Y3QgUyA8X1RwLCBfVHA+IHsKLSsgICAgaW50IGdyYXVsdCAo aW50IGFkKSB7CQkvLyB7IGRnLW1lc3NhZ2UgIm5vdGU6IG5vbi11Z2xpZmllZCBuYW1lICdhZCci IH0KLSsgICAgICBpbnQgYWUgPSBhZDsJCQkvLyB7IGRnLW1lc3NhZ2UgIm5vdGU6IG5vbi11Z2xp ZmllZCBuYW1lICdhZSciIH0KLSsgICAgICByZXR1cm4gYWU7Ci0rICAgIH0KLSsgICAgaW50IHF1 dXggKCkgeyByZXR1cm4gMDsgfQotKyAgfTsKLSsgIHRlbXBsYXRlIDw+Ci0rICBzdHJ1Y3QgUyA8 aW50LCBsb25nPiB7Ci0rICAgIGludCBncmF1bHQgKGludCBhZikgewkJLy8geyBkZy1tZXNzYWdl ICJub3RlOiBub24tdWdsaWZpZWQgbmFtZSAnYWYnIiB9Ci0rICAgICAgaW50IGFnID0gYWY7CQkJ Ly8geyBkZy1tZXNzYWdlICJub3RlOiBub24tdWdsaWZpZWQgbmFtZSAnYWcnIiB9Ci0rICAgICAg cmV0dXJuIGFnOwotKyAgICB9Ci0rICB9OwotKwotKyAgaW5saW5lIG5hbWVzcGFjZSBfX2N4eDEx IHsKLSsgICAgZW51bSBmcmVkZHkgewotKyAgICAgIGZyb2csIHdhbGRvCi0rICAgIH07Ci0rICAg IHN0cnVjdCBmcmVkIHsKLSsgICAgICBpbnQgZ2FycGx5IChpbnQgcCkgewkJLy8geyBkZy1tZXNz YWdlICJub3RlOiBub24tdWdsaWZpZWQgbmFtZSAncCciIH0KLSsJaW50IF9yZXNfZXh0ID0gcDsJ CS8vIHsgZGctbWVzc2FnZSAibm90ZTogbm9uLXVnbGlmaWVkIG5hbWUgJ19yZXNfZXh0JyIgfQot KwlyZXR1cm4gX3Jlc19leHQ7Ci0rICAgICAgfQotKyAgICB9OwotKyAgfQotKyAgbmFtZXNwYWNl IF9fZ251X2N4eCB7Ci0rICAgIHRlbXBsYXRlIDx0eXBlbmFtZSAuLi5VPgkJLy8geyBkZy1tZXNz YWdlICJub3RlOiBub24tdWdsaWZpZWQgbmFtZSAnVSciIH0KLSsgICAgaW50IGZvbyAoVS4uLiBx KSB7CQkJLy8geyBkZy1tZXNzYWdlICJub3RlOiBub24tdWdsaWZpZWQgbmFtZSAncSciIH0KLSsg ICAgICByZXR1cm4gMDsJCQkJLy8geyBkZy1tZXNzYWdlICJub3RlOiBub24tdWdsaWZpZWQgd2hp dGVsaXN0ZWQgbmFtZSAnZm9vJyIgIiIgeyB0YXJnZXQgKi0qLSogfSAuLTEgfQotKyAgICB9Ci0r ICAgIGVudW0gYmxhaCB7CQkJCS8vIHsgZGctbWVzc2FnZSAibm90ZTogbm9uLXVnbGlmaWVkIG5h bWUgJ2JsYWgnIiB9Ci0rICAgICAgcGx1Z2gsCQkJCS8vIHsgZGctbWVzc2FnZSAibm90ZTogbm9u LXVnbGlmaWVkIG5hbWUgJ3BsdWdoJyIgfQotKyAgICAgIHRodWQsCQkJCS8vIHsgZGctbWVzc2Fn ZSAibm90ZTogbm9uLXVnbGlmaWVkIG5hbWUgJ3RodWQnIiB9Ci0rICAgICAgX0U1LAkJCQkvLyB7 IGRnLW1lc3NhZ2UgIm5vdGU6IGJhZG5hbWUgJ19FNSciIH0KLSsgICAgICBnYXJwbHksCQkJCS8v IHsgZGctbWVzc2FnZSAibm90ZTogbm9uLXVnbGlmaWVkIHdoaXRlbGlzdGVkIG5hbWUgJ2dhcnBs eSciIH0KLSsgICAgICBncmF1bHQsCQkJCS8vIHsgZGctbWVzc2FnZSAibm90ZTogbm9uLXVnbGlm aWVkIHdoaXRlbGlzdGVkIG5hbWUgJ2dyYXVsdCciIH0KLSsgICAgICBxdXV4LAkJCQkvLyB7IGRn LW1lc3NhZ2UgIm5vdGU6IG5vbi11Z2xpZmllZCB3aGl0ZWxpc3RlZCBuYW1lICdxdXV4JyIgfQot KyAgICAgIGxvcmVtLAkJCQkvLyB7IGRnLW1lc3NhZ2UgIm5vdGU6IG5vbi11Z2xpZmllZCB3aGl0 ZWxpc3RlZCBuYW1lICdsb3JlbSciIH0KLSsgICAgICBpcHN1bSwJCQkJLy8geyBkZy1tZXNzYWdl ICJub3RlOiBub24tdWdsaWZpZWQgd2hpdGVsaXN0ZWQgbmFtZSAnaXBzdW0nIiB9Ci0rICAgICAg ZG9sb3IsCQkJCS8vIHsgZGctbWVzc2FnZSAibm90ZTogbm9uLXVnbGlmaWVkIHdoaXRlbGlzdGVk IG5hbWUgJ2RvbG9yJyIgfQotKyAgICAgIHNpdCwJCQkJLy8geyBkZy1tZXNzYWdlICJub3RlOiBu b24tdWdsaWZpZWQgd2hpdGVsaXN0ZWQgbmFtZSAnc2l0JyIgfQotKyAgICAgIGFtZXQsCQkJCS8v IHsgZGctbWVzc2FnZSAibm90ZTogbm9uLXVnbGlmaWVkIHdoaXRlbGlzdGVkIG5hbWUgJ2FtZXQn IiB9Ci0rICAgICAgY29uc2VjdGV0dXIsCQkJLy8geyBkZy1tZXNzYWdlICJub3RlOiBub24tdWds aWZpZWQgd2hpdGVsaXN0ZWQgbmFtZSAnY29uc2VjdGV0dXInIiB9Ci0rICAgICAgYWRpcGlzY2lu ZywJCQkvLyB7IGRnLW1lc3NhZ2UgIm5vdGU6IG5vbi11Z2xpZmllZCB3aGl0ZWxpc3RlZCBuYW1l ICdhZGlwaXNjaW5nJyIgfQotKyAgICAgIGVsaXQJCQkJLy8geyBkZy1tZXNzYWdlICJub3RlOiBu b24tdWdsaWZpZWQgd2hpdGVsaXN0ZWQgbmFtZSAnZWxpdCciIH0KLSsgICAgfTsKLSsgICAgaW50 IHdhbGRvIChpbnQgcikgewkJCS8vIHsgZGctbWVzc2FnZSAibm90ZTogbm9uLXVnbGlmaWVkIG5h bWUgJ3InIiB9Ci0rICAgICAgdXNpbmcgcyA9IHN0ZDo6Zm9vOwkJLy8geyBkZy1tZXNzYWdlICJu b3RlOiBub24tdWdsaWZpZWQgbmFtZSAncyciIH0KLSsgICAgICByZXR1cm4gcjsJCQkJLy8geyBk Zy1tZXNzYWdlICJub3RlOiBub24tdWdsaWZpZWQgd2hpdGVsaXN0ZWQgbmFtZSAnd2FsZG8nIiAi IiB7IHRhcmdldCAqLSotKiB9IC4tMiB9Ci0rICAgIH0KLSsgICAgaW50IHh5enp5ICgpIHsgcmV0 dXJuIDA7IH0JCS8vIHsgZGctbWVzc2FnZSAibm90ZTogbm9uLXVnbGlmaWVkIHdoaXRlbGlzdGVk IG5hbWUgJ3h5enp5JyIgfQotKyAgICBpbnQgYmFyZiAoKSB7IHJldHVybiAwOyB9CQkvLyB7IGRn LW1lc3NhZ2UgIm5vdGU6IG5vbi11Z2xpZmllZCBuYW1lICdiYXJmJyIgfQotKyAgICBpbnQgX19m b29iYXIgKCkgeyByZXR1cm4gMDsgfQotKyAgICBzdHJ1Y3QgViB7CQkJCS8vIHsgZGctbWVzc2Fn ZSAibm90ZTogbm9uLXVnbGlmaWVkIG5hbWUgJ1YnIiB9Ci0rICAgICAgdW5pb24gewotKwlpbnQg dDsJCQkJLy8geyBkZy1tZXNzYWdlICJub3RlOiBub24tdWdsaWZpZWQgbmFtZSAndCciIH0KLSsg ICAgICB9OwotKyAgICAgIGludCB6eiAoKSB7IHJldHVybiAwOyB9CQkvLyB7IGRnLW1lc3NhZ2Ug Im5vdGU6IG5vbi11Z2xpZmllZCB3aGl0ZWxpc3RlZCBuYW1lICd6eiciIH0KLSsgICAgICBpbnQg d3cgKCkgeyByZXR1cm4gMDsgfQkJLy8geyBkZy1tZXNzYWdlICJub3RlOiBub24tdWdsaWZpZWQg bmFtZSAnd3cnIiB9Ci0rICAgIH07Ci0rICB9Ci0rICBpbnQgeHl6enkgKGludCBzKSB7CQkJLy8g eyBkZy1tZXNzYWdlICJub3RlOiBub24tdWdsaWZpZWQgbmFtZSAncyciIH0KLSsgICAgcmV0dXJu IHM7Ci0rICB9Ci0rICB0ZW1wbGF0ZSA8aW50IF9JZHg+Ci0rICBzdHJ1Y3QgbG9yZW0gewotKyAg ICB0ZW1wbGF0ZSA8aW50IF9JZHgyPgotKyAgICBmcmllbmQgaW50IGlwc3VtIChpbnQgYWgpIHsJ CS8vIHsgZGctbWVzc2FnZSAibm90ZTogbm9uLXVnbGlmaWVkIG5hbWUgJ2FoJyIgfQotKyAgICAg IGludCBhaSA9IGFoOwkJCS8vIHsgZGctbWVzc2FnZSAibm90ZTogbm9uLXVnbGlmaWVkIG5hbWUg J2FpJyIgfQotKyAgICAgIHJldHVybiBhaTsKLSsgICAgfQotKyAgfTsKLSsgIHRlbXBsYXRlIDxp bnQgX0lkeD4KLSsgIHN0cnVjdCBkb2xvciB7Ci0rICAgIGZyaWVuZCBpbnQgc2l0IChpbnQgYWop IHsJCS8vIHsgZGctbWVzc2FnZSAibm90ZTogbm9uLXVnbGlmaWVkIG5hbWUgJ2FqJyIgfQotKyAg ICAgIGludCBhayA9IGFqOwkJCS8vIHsgZGctbWVzc2FnZSAibm90ZTogbm9uLXVnbGlmaWVkIG5h bWUgJ2FrJyIgfQotKyAgICAgIHJldHVybiBhazsKLSsgICAgfQotKyAgfTsKLSsgIHN0cnVjdCBh bWV0IHsKLSsgICAgdGVtcGxhdGUgPGludCBfSWR4PgotKyAgICBmcmllbmQgaW50IGNvbnNlY3Rl dHVyIChpbnQgYWwpIHsJLy8geyBkZy1tZXNzYWdlICJub3RlOiBub24tdWdsaWZpZWQgbmFtZSAn YWwnIiB9Ci0rICAgICAgaW50IGFtID0gYWw7CQkJLy8geyBkZy1tZXNzYWdlICJub3RlOiBub24t dWdsaWZpZWQgbmFtZSAnYW0nIiB9Ci0rICAgICAgcmV0dXJuIGFtOwotKyAgICB9Ci0rICB9Owot KyAgc3RydWN0IGFkaXBpc2NpbmcgewotKyAgICBmcmllbmQgaW50IGVsaXQgKGludCBhbikgewkJ Ly8geyBkZy1tZXNzYWdlICJub3RlOiBub24tdWdsaWZpZWQgbmFtZSAnYW4nIiB9Ci0rICAgICAg aW50IGFvID0gYW47CQkJLy8geyBkZy1tZXNzYWdlICJub3RlOiBub24tdWdsaWZpZWQgbmFtZSAn YW8nIiB9Ci0rICAgICAgcmV0dXJuIGFvOwotKyAgICB9Ci0rICB9OwotK30KLS0tLSBnY2MvdGVz dHN1aXRlL2crKy5kZy9wbHVnaW4vdWdsaWZpY2F0aW9uLWMrKzk4LkMuamoJMjAyNi0wMy0xOCAx Njo0ODozNC4zOTU2OTk3NTUgKzAxMDAKLSsrKyBnY2MvdGVzdHN1aXRlL2crKy5kZy9wbHVnaW4v dWdsaWZpY2F0aW9uLWMrKzk4LkMJMjAyNi0wMy0xOCAxNjo0ODozNC4zOTU2OTk3NTUgKzAxMDAK LUBAIC0wLDAgKzEsOSBAQAotKy8vIFZlcmlmeSB0ZW1wbGF0ZSBwYXJhbWV0ZXIgbmFtZXMsIG5h bWVzIG9mIGFyZ3VtZW50cyBhbmQgYmxvY2sgc2NvcGUgZGVjbHMKLSsvLyBpbiBmdW5jdGlvbnMg YW5kIGZ1bmN0aW9uIHRlbXBsYXRlcyBhcmUgdWdsaWZpZWQgYW5kIGRvbid0IGNvbnRhaW4KLSsv LyBiYWRuYW1lcy4KLSsvLyB7IGRnLW9wdGlvbnMgIi1PMCAtc3RkPWMrKzk4IiB9Ci0rCi0rI2lu Y2x1ZGUgPGJpdHMvc3RkYysrLmg+Ci0rCi0rLy8geyBkZy1ib2d1cyAibm90ZTogbm9uLXVnbGlm aWVkIG5hbWUiICIiIHsgdGFyZ2V0ICotKi0qIH0gMCB9Ci0rLy8geyBkZy1ib2d1cyAibm90ZTog YmFkbmFtZSIgIiIgeyB0YXJnZXQgKi0qLSogfSAwIH0KLS0tLSBnY2MvdGVzdHN1aXRlL2crKy5k Zy9wbHVnaW4vdWdsaWZpY2F0aW9uLWMrKzExLkMuamoJMjAyNi0wMy0xOCAxNjo0ODozNC4zOTU3 NzgyMzYgKzAxMDAKLSsrKyBnY2MvdGVzdHN1aXRlL2crKy5kZy9wbHVnaW4vdWdsaWZpY2F0aW9u LWMrKzExLkMJMjAyNi0wMy0xOCAxNjo0ODozNC4zOTU3NzgyMzYgKzAxMDAKLUBAIC0wLDAgKzEs OSBAQAotKy8vIFZlcmlmeSB0ZW1wbGF0ZSBwYXJhbWV0ZXIgbmFtZXMsIG5hbWVzIG9mIGFyZ3Vt ZW50cyBhbmQgYmxvY2sgc2NvcGUgZGVjbHMKLSsvLyBpbiBmdW5jdGlvbnMgYW5kIGZ1bmN0aW9u IHRlbXBsYXRlcyBhcmUgdWdsaWZpZWQgYW5kIGRvbid0IGNvbnRhaW4KLSsvLyBiYWRuYW1lcy4K LSsvLyB7IGRnLW9wdGlvbnMgIi1PMCAtc3RkPWMrKzExIiB9Ci0rCi0rI2luY2x1ZGUgPGJpdHMv c3RkYysrLmg+Ci0rCi0rLy8geyBkZy1ib2d1cyAibm90ZTogbm9uLXVnbGlmaWVkIG5hbWUiICIi IHsgdGFyZ2V0ICotKi0qIH0gMCB9Ci0rLy8geyBkZy1ib2d1cyAibm90ZTogYmFkbmFtZSIgIiIg eyB0YXJnZXQgKi0qLSogfSAwIH0KLS0tLSBnY2MvdGVzdHN1aXRlL2crKy5kZy9wbHVnaW4vdWds aWZpY2F0aW9uLWMrKzE0LkMuamoJMjAyNi0wMy0xOCAxNjo0ODozNC4zOTU4NTIyOTIgKzAxMDAK LSsrKyBnY2MvdGVzdHN1aXRlL2crKy5kZy9wbHVnaW4vdWdsaWZpY2F0aW9uLWMrKzE0LkMJMjAy Ni0wMy0xOCAxNjo0ODozNC4zOTU4NTIyOTIgKzAxMDAKLUBAIC0wLDAgKzEsOSBAQAotKy8vIFZl cmlmeSB0ZW1wbGF0ZSBwYXJhbWV0ZXIgbmFtZXMsIG5hbWVzIG9mIGFyZ3VtZW50cyBhbmQgYmxv Y2sgc2NvcGUgZGVjbHMKLSsvLyBpbiBmdW5jdGlvbnMgYW5kIGZ1bmN0aW9uIHRlbXBsYXRlcyBh cmUgdWdsaWZpZWQgYW5kIGRvbid0IGNvbnRhaW4KLSsvLyBiYWRuYW1lcy4KLSsvLyB7IGRnLW9w dGlvbnMgIi1PMCAtc3RkPWMrKzE0IiB9Ci0rCi0rI2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+Ci0r Ci0rLy8geyBkZy1ib2d1cyAibm90ZTogbm9uLXVnbGlmaWVkIG5hbWUiICIiIHsgdGFyZ2V0ICot Ki0qIH0gMCB9Ci0rLy8geyBkZy1ib2d1cyAibm90ZTogYmFkbmFtZSIgIiIgeyB0YXJnZXQgKi0q LSogfSAwIH0KLS0tLSBnY2MvdGVzdHN1aXRlL2crKy5kZy9wbHVnaW4vdWdsaWZpY2F0aW9uLWMr KzE3LkMuamoJMjAyNi0wMy0xOCAxNjo0ODozNC4zOTU5NDY0MDMgKzAxMDAKLSsrKyBnY2MvdGVz dHN1aXRlL2crKy5kZy9wbHVnaW4vdWdsaWZpY2F0aW9uLWMrKzE3LkMJMjAyNi0wMy0xOCAxNjo0 ODozNC4zOTU5NDY0MDMgKzAxMDAKLUBAIC0wLDAgKzEsOSBAQAotKy8vIFZlcmlmeSB0ZW1wbGF0 ZSBwYXJhbWV0ZXIgbmFtZXMsIG5hbWVzIG9mIGFyZ3VtZW50cyBhbmQgYmxvY2sgc2NvcGUgZGVj bHMKLSsvLyBpbiBmdW5jdGlvbnMgYW5kIGZ1bmN0aW9uIHRlbXBsYXRlcyBhcmUgdWdsaWZpZWQg YW5kIGRvbid0IGNvbnRhaW4KLSsvLyBiYWRuYW1lcy4KLSsvLyB7IGRnLW9wdGlvbnMgIi1PMCAt c3RkPWMrKzE3IiB9Ci0rCi0rI2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+Ci0rCi0rLy8geyBkZy1i b2d1cyAibm90ZTogbm9uLXVnbGlmaWVkIG5hbWUiICIiIHsgdGFyZ2V0ICotKi0qIH0gMCB9Ci0r Ly8geyBkZy1ib2d1cyAibm90ZTogYmFkbmFtZSIgIiIgeyB0YXJnZXQgKi0qLSogfSAwIH0KLS0t LSBnY2MvdGVzdHN1aXRlL2crKy5kZy9wbHVnaW4vdWdsaWZpY2F0aW9uLWMrKzIwLkMuamoJMjAy Ni0wMy0xOCAxNjo0ODozNC4zOTYwMjIxNjUgKzAxMDAKLSsrKyBnY2MvdGVzdHN1aXRlL2crKy5k Zy9wbHVnaW4vdWdsaWZpY2F0aW9uLWMrKzIwLkMJMjAyNi0wMy0xOCAxNjo0ODozNC4zOTYwMjIx NjUgKzAxMDAKLUBAIC0wLDAgKzEsOSBAQAotKy8vIFZlcmlmeSB0ZW1wbGF0ZSBwYXJhbWV0ZXIg bmFtZXMsIG5hbWVzIG9mIGFyZ3VtZW50cyBhbmQgYmxvY2sgc2NvcGUgZGVjbHMKLSsvLyBpbiBm dW5jdGlvbnMgYW5kIGZ1bmN0aW9uIHRlbXBsYXRlcyBhcmUgdWdsaWZpZWQgYW5kIGRvbid0IGNv bnRhaW4KLSsvLyBiYWRuYW1lcy4KLSsvLyB7IGRnLW9wdGlvbnMgIi1PMCAtc3RkPWMrKzIwIiB9 Ci0rCi0rI2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+Ci0rCi0rLy8geyBkZy1ib2d1cyAibm90ZTog bm9uLXVnbGlmaWVkIG5hbWUiICIiIHsgdGFyZ2V0ICotKi0qIH0gMCB9Ci0rLy8geyBkZy1ib2d1 cyAibm90ZTogYmFkbmFtZSIgIiIgeyB0YXJnZXQgKi0qLSogfSAwIH0KLS0tLSBnY2MvdGVzdHN1 aXRlL2crKy5kZy9wbHVnaW4vdWdsaWZpY2F0aW9uLWMrKzIzLkMuamoJMjAyNi0wMy0xOCAxNjo0 ODozNC4zOTYwOTY1NTQgKzAxMDAKLSsrKyBnY2MvdGVzdHN1aXRlL2crKy5kZy9wbHVnaW4vdWds aWZpY2F0aW9uLWMrKzIzLkMJMjAyNi0wMy0xOCAxNjo0ODozNC4zOTYwOTY1NTQgKzAxMDAKLUBA IC0wLDAgKzEsOSBAQAotKy8vIFZlcmlmeSB0ZW1wbGF0ZSBwYXJhbWV0ZXIgbmFtZXMsIG5hbWVz IG9mIGFyZ3VtZW50cyBhbmQgYmxvY2sgc2NvcGUgZGVjbHMKLSsvLyBpbiBmdW5jdGlvbnMgYW5k IGZ1bmN0aW9uIHRlbXBsYXRlcyBhcmUgdWdsaWZpZWQgYW5kIGRvbid0IGNvbnRhaW4KLSsvLyBi YWRuYW1lcy4KLSsvLyB7IGRnLW9wdGlvbnMgIi1PMCAtc3RkPWMrKzIzIiB9Ci0rCi0rI2luY2x1 ZGUgPGJpdHMvc3RkYysrLmg+Ci0rCi0rLy8geyBkZy1ib2d1cyAibm90ZTogbm9uLXVnbGlmaWVk IG5hbWUiICIiIHsgdGFyZ2V0ICotKi0qIH0gMCB9Ci0rLy8geyBkZy1ib2d1cyAibm90ZTogYmFk bmFtZSIgIiIgeyB0YXJnZXQgKi0qLSogfSAwIH0KLS0tLSBnY2MvdGVzdHN1aXRlL2crKy5kZy9w bHVnaW4vdWdsaWZpY2F0aW9uLWMrKzI2LkMuamoJMjAyNi0wMy0xOCAxNjo0ODozNC4zOTYxNjk5 MDEgKzAxMDAKLSsrKyBnY2MvdGVzdHN1aXRlL2crKy5kZy9wbHVnaW4vdWdsaWZpY2F0aW9uLWMr KzI2LkMJMjAyNi0wMy0xOCAxNjo0ODozNC4zOTYxNjk5MDEgKzAxMDAKLUBAIC0wLDAgKzEsOSBA QAotKy8vIFZlcmlmeSB0ZW1wbGF0ZSBwYXJhbWV0ZXIgbmFtZXMsIG5hbWVzIG9mIGFyZ3VtZW50 cyBhbmQgYmxvY2sgc2NvcGUgZGVjbHMKLSsvLyBpbiBmdW5jdGlvbnMgYW5kIGZ1bmN0aW9uIHRl bXBsYXRlcyBhcmUgdWdsaWZpZWQgYW5kIGRvbid0IGNvbnRhaW4KLSsvLyBiYWRuYW1lcy4KLSsv LyB7IGRnLW9wdGlvbnMgIi1PMCAtc3RkPWMrKzI2IC1mcmVmbGVjdGlvbiAtZmNvbnRyYWN0cyIg fQotKwotKyNpbmNsdWRlIDxiaXRzL3N0ZGMrKy5oPgotKwotKy8vIHsgZGctYm9ndXMgIm5vdGU6 IG5vbi11Z2xpZmllZCBuYW1lIiAiIiB7IHRhcmdldCAqLSotKiB9IDAgfQotKy8vIHsgZGctYm9n dXMgIm5vdGU6IGJhZG5hbWUiICIiIHsgdGFyZ2V0ICotKi0qIH0gMCB9CgpkaWZmIC0tZ2l0IGEv Z2NjMTctdWdsaWZpY2F0aW9uMi5wYXRjaCBiL2djYzE3LXVnbGlmaWNhdGlvbjIucGF0Y2gKZGVs ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGU1M2VkMjcuLjAwMDAwMDAKLS0tIGEvZ2NjMTct dWdsaWZpY2F0aW9uMi5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDYyICswLDAgQEAKLTIwMjYt MDQtMDkgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgotCi0JKiBnKysuZGcvcGx1 Z2luL3VnbGlmaWNhdGlvbl9wbHVnaW4uY2MgKHBsdWdpbl9jaGVja190cmVlKTogV2FsawotCVJF UVVJUkVTX0VYUFJfUEFSTVMgb2YgUkVRVUlSRVNfRVhQUi4KLQkocGx1Z2luX3dhbGtfZGVjbCk6 IFdhbGsgVEVNUExBVEVfUEFSTVNfQ09OU1RSQUlOVFMgdXNpbmcKLQlwbHVnaW5fY2hlY2tfdHJl ZS4gIFdhbGsgREVDTF9JTklUSUFMIG9mIENPTkNFUFRfREVDTCBhcyB3ZWxsLgotCSogZysrLmRn L3BsdWdpbi91Z2xpZmljYXRpb24uQzogQWRkIHRlc3RzIGZvciBub24tdWdsaWZpZWQgbmFtZXMK LQlpbiBsYW1iZGEgcGFyYW1ldGVycywgbGFtYmRhIGNhcHR1cmVzIGFuZCByZXF1aXJlcyBleHBy ZXNzaW9ucy4KLQotLS0tIGdjYy90ZXN0c3VpdGUvZysrLmRnL3BsdWdpbi91Z2xpZmljYXRpb25f cGx1Z2luLmNjLmpqCTIwMjYtMDQtMDkgMTI6MjM6NDQuMDAxMDcxOTk5ICswMjAwCi0rKysgZ2Nj L3Rlc3RzdWl0ZS9nKysuZGcvcGx1Z2luL3VnbGlmaWNhdGlvbl9wbHVnaW4uY2MJMjAyNi0wNC0w OSAxMzozMTo0MS45MjQ2MTc3MDAgKzAyMDAKLUBAIC04OSw2ICs4OSw5IEBAIHBsdWdpbl9jaGVj a190cmVlICh0cmVlICp0cCwgaW50ICovKndhbGsKLSAgICAgICBwbHVnaW5fY2hlY2tfZGVjbCAo dmFyKTsKLSAgIGlmIChUUkVFX0NPREUgKCp0cCkgPT0gREVDTF9FWFBSKQotICAgICBwbHVnaW5f Y2hlY2tfZGVjbCAoREVDTF9FWFBSX0RFQ0wgKCp0cCkpOwotKyAgaWYgKFRSRUVfQ09ERSAoKnRw KSA9PSBSRVFVSVJFU19FWFBSKQotKyAgICBmb3IgKHRyZWUgcGFybSA9IFJFUVVJUkVTX0VYUFJf UEFSTVMgKCp0cCk7IHBhcm07IHBhcm0gPSBERUNMX0NIQUlOIChwYXJtKSkKLSsgICAgICBwbHVn aW5fY2hlY2tfZGVjbCAocGFybSk7Ci0gICByZXR1cm4gTlVMTF9UUkVFOwotIH0KLSAKLUBAIC0x NTMsNiArMTU2LDEwIEBAIHBsdWdpbl93YWxrX2RlY2wgKHRyZWUgZGVjbCkKLSAgICAgICB0cmVl IHBhcm1zID0gREVDTF9JTk5FUk1PU1RfVEVNUExBVEVfUEFSTVMgKGRlY2wpOwotICAgICAgIGZv ciAodHJlZSBub2RlIDogdHJlZV92ZWNfcmFuZ2UgKHBhcm1zKSkKLSAJcGx1Z2luX2NoZWNrX2Rl Y2wgKFRSRUVfVkFMVUUgKG5vZGUpKTsKLSsgICAgICBpZiAodHJlZSBjb25zdHIKLSsJICA9IFRF TVBMQVRFX1BBUk1TX0NPTlNUUkFJTlRTIChERUNMX1RFTVBMQVRFX1BBUk1TIChkZWNsKSkpCi0r ICAgICAgICBjcF93YWxrX3RyZWVfd2l0aG91dF9kdXBsaWNhdGVzICgmY29uc3RyLCBwbHVnaW5f Y2hlY2tfdHJlZSwKLSsJCQkJCSBOVUxMKTsKLSAgICAgfQotIAotICAgaWYgKERFQ0xfRlVOQ1RJ T05fVEVNUExBVEVfUCAoZGVjbCkpCi1AQCAtMTYyLDYgKzE2OSwxMCBAQCBwbHVnaW5fd2Fsa19k ZWNsICh0cmVlIGRlY2wpCi0gCSAgICYmIERFQ0xfVEVNUExBVEVfSU5GTyAoZGVjbCkpCi0gICAg IHBsdWdpbl9jaGVja19mbiAoZGVjbCk7Ci0gCi0rICBpZiAoVFJFRV9DT0RFIChTVFJJUF9URU1Q TEFURSAoZGVjbCkpID09IENPTkNFUFRfREVDTCkKLSsgICAgY3Bfd2Fsa190cmVlX3dpdGhvdXRf ZHVwbGljYXRlcyAoJkRFQ0xfSU5JVElBTCAoU1RSSVBfVEVNUExBVEUgKGRlY2wpKSwKLSsJCQkJ ICAgICBwbHVnaW5fY2hlY2tfdHJlZSwgTlVMTCk7Ci0rCi0gICBpZiAoREVDTF9DTEFTU19URU1Q TEFURV9QIChkZWNsKSkKLSAgICAgZGVjbCA9IERFQ0xfVEVNUExBVEVfUkVTVUxUIChkZWNsKTsK LSAgIGlmIChUUkVFX0NPREUgKGRlY2wpID09IFRZUEVfREVDTAotLS0tIGdjYy90ZXN0c3VpdGUv ZysrLmRnL3BsdWdpbi91Z2xpZmljYXRpb24uQy5qagkyMDI2LTA0LTA5IDEyOjIzOjQ0LjAwMTIz NjI5MiArMDIwMAotKysrIGdjYy90ZXN0c3VpdGUvZysrLmRnL3BsdWdpbi91Z2xpZmljYXRpb24u QwkyMDI2LTA0LTA5IDEyOjU2OjA2LjI2NzE2NDg5MSArMDIwMAotQEAgLTE0OCw0ICsxNDgsMTYg QEAgbmFtZXNwYWNlIHN0ZCB7Ci0gICAgICAgcmV0dXJuIGFvOwotICAgICB9Ci0gICB9OwotKyAg dm9pZCBzZWQgKGludCBfX2FwKSB7Ci0rICAgIGF1dG8gX19hcSA9IFtdIChpbnQgYXIpIHt9OwkJ Ly8geyBkZy1tZXNzYWdlICJub3RlOiBub24tdWdsaWZpZWQgbmFtZSAnYXInIiB9Ci0rICAgIGF1 dG8gX19hcyA9IFthdCA9IF9fYXBdICgpIHt9OwkvLyB7IGRnLW1lc3NhZ2UgIm5vdGU6IG5vbi11 Z2xpZmllZCBuYW1lICdhdCciIH0KLSsgIH0KLSsgIHRlbXBsYXRlIDx0eXBlbmFtZSBfVHA+Ci0r ICBjb25jZXB0IGVpdXNtb2QgPSByZXF1aXJlcyAoX1RwIGF1KSB7CS8vIHsgZGctbWVzc2FnZSAi bm90ZTogbm9uLXVnbGlmaWVkIG5hbWUgJ2F1JyIgfQotKyAgICBhdSsrOwotKyAgfTsKLSsgIHRl bXBsYXRlIDx0eXBlbmFtZSAuLi5fVHA+Ci0rICByZXF1aXJlcyAoKHJlcXVpcmVzIChjb25zdCBf VHAgYXYpIHsJLy8geyBkZy1tZXNzYWdlICJub3RlOiBub24tdWdsaWZpZWQgbmFtZSAnYXYnIiB9 Ci0rICAgIGF2Kys7IH0pICYmIC4uLikKLSsgIHZvaWQgdGVtcG9yIChfVHAgLi4uYXcpIHt9CQkv LyB7IGRnLW1lc3NhZ2UgIm5vdGU6IG5vbi11Z2xpZmllZCBuYW1lICdhdyciIH0KLSB9CgpkaWZm IC0tZ2l0IGEvLmdpdGlnbm9yZSBiLy5naXRpZ25vcmUKaW5kZXggMTBlYzQ0Yi4uMWFjZjY3ZCAx MDA2NDQKLS0tIGEvLmdpdGlnbm9yZQorKysgYi8uZ2l0aWdub3JlCkBAIC0zNiw4ICszNiwxMSBA QAogL2djYy0xNi4wLjEtMjAyNjAyMDkudGFyLnh6CiAvZ2NjLTE2LjAuMS0yMDI2MDMwMi50YXIu eHoKIC9nY2MtMTYuMC4xLTIwMjYwMzA1LnRhci54egorL2djYy0xNi4wLjEtMjAyNjAzMjZzLnRh ci54egorL2djYy0xNi4wLjEtMjAyNjAzMjdzLnRhci54egorL2djYy0xNi4wLjEtMjAyNjA0MDJz LnRhci54egogL2djYy0xNi4wLjEtMjAyNjAzMjEudGFyLnh6CiAvZ2NjLTE2LjAuMS0yMDI2MDQx Ni50YXIueHoKIC9udnB0eC10b29scy0yMTJkYTJlNzgxZWQwZjk0MjM4MjRlODVlYjA0ODE5OTU4 NTEzZjdhLnRhci54egotL2djYy0xNi4xLjEtMjAyNjA1MDEudGFyLnh6Ci0vZ2NjLTE2LjEuMS0y MDI2MDUxNS50YXIueHoKKy9nY2MtMTcuMC4wLTIwMjYwNDI0cy50YXIueHoKKy9nY2MtMTcuMC4w LTIwMjYwNTE0cy50YXIueHoKCmRpZmYgLS1naXQgYS9nY2MtcmVkaGF0LWN1c3RvbWl6YXRpb25z LnBhdGNoIGIvZ2NjLXJlZGhhdC1jdXN0b21pemF0aW9ucy5wYXRjaApuZXcgZmlsZSBtb2RlIDEw MDY0NAppbmRleCAwMDAwMDAwLi41NjAzOWNmCi0tLSAvZGV2L251bGwKKysrIGIvZ2NjLXJlZGhh dC1jdXN0b21pemF0aW9ucy5wYXRjaApAQCAtMCwwICsxLDEwMTQgQEAKK0Zyb20gZWMwZTM3YzVj ZjdlZWIxMzFiNWIwNzg2M2NhNjI5MTAzYmUyYzIzMyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEK K0Zyb206IEpha3ViIEplbGluZWsgPGpha3ViQHJlZGhhdC5jb20+CitEYXRlOiBXZWQsIDE0IE9j dCAyMDIwIDEyOjA3OjA1ICswMjAwCitTdWJqZWN0OiBbUEFUQ0hdIFJlZCBIYXQgY3VzdG9taXph dGlvbnMuCisKK05vdGUgdGhhdCB0aGlzIHBhdGNoIGlzIG5vdCBpZGVudGljYWwgdG8gdGhlIGFi b3ZlIHF1b3RlZCBjb21taXQgcmVmLiAgSXQgaGFzCitiZWVuIGVkaXRlZCB0byBhcHBseSB0byBz bmFwc2hvdHMgdGFrZW4gZnJvbSBnY2MgdHJ1bmsgdG8gYnVpbGQgc25hcHNob3QKK3BhY2thZ2Vz IGZvciBGZWRvcmEuCisKK0NoYW5nZXMgZnJvbSB0aGUgb3JpZ2luYWw6CisKKzIwMjYtMDMtMjQK KworLSBEcm9wIHRoZSB0cmFuc2xhdGlvbiBQTyBmaWxlIGNoYW5nZXM7IHBvc3RlZCB1cHN0cmVh bS4KKworMjAyNS0xMi0wMgorCistIENoYW5nZUxvZ3MgbW92ZWQgb3V0IGZyb20gdGhlIHBhdGNo IGl0c2VsZgorLSBUcmFuc2xhdGlvbiBQTyBmaWxlIGRpZmYgY29udGV4dCBoYXMgYmVlbiB1cGRh dGVkIHRvIGFsbG93IHRoZSBwYXRjaCB0bworICBhcHBseS4KKworZ2NjL0NoYW5nZUxvZzoKKzIw MTAtMDYtMzAgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgorCisJKiBjb25maWcv cnM2MDAwL3JzNjAwMC5jIChyczYwMDBfZWxmX2VuZF9pbmRpY2F0ZV9leGVjX3N0YWNrKTogTmV3 LgorCSogY29uZmlnL3JzNjAwMC9saW51eDY0LmggKFRBUkdFVF9BU01fRklMRV9FTkQpOiBVc2UK KwlyczYwMDBfZWxmX2VuZF9pbmRpY2F0ZV9leGVjX3N0YWNrLgorCSogY29uZmlnL2lhNjQvaWE2 NC5jIChpYTY0X2xpbnV4X2ZpbGVfZW5kKTogTmV3LgorCSogY29uZmlnL2lhNjQvbGludXguaCAo VEFSR0VUX0FTTV9GSUxFX0VORCk6IFVzZSBpYTY0X2xpbnV4X2ZpbGVfZW5kLgorCisJKiBjcHBi dWlsdGluLmMgKGRlZmluZV9fR05VQ19fKTogQWxzbyBkZWZpbmUgX19HTlVDX1JIX1JFTEVBU0Vf Xy4KKworCSogY29uZmlnL2lhNjQvaWE2NC5oIChGUkFNRV9HUk9XU19ET1dOV0FSRCk6IERlZmlu ZSB0byAxIGlmCisJLWZzdGFjay1wcm90ZWN0LgorCSogY29uZmlnL2lhNjQvaWE2NC5jIChpYTY0 X2NvbXB1dGVfZnJhbWVfc2l6ZSk6IE1ha2Ugc3VyZQorCXNpemUgaXMgYSBtdWx0aXBsZSBvZiAx NiBpZiBGUkFNRV9HUk9XU19ET1dOV0FSRC4KKwkoaWE2NF9pbml0aWFsX2VsaW1pbmF0aW9uX29m ZnNldCk6IFN1cHBvcnQgRlJBTUVfR1JPV1NfRE9XTldBUkQKKwlsYXlvdXQuCisJKiBjb25maWcv aWE2NC9saW51eC5oIChUQVJHRVRfTElCQ19QUk9WSURFU19TU1ApOiBEZWZpbmUuCisJKiBjb25m aWcvaWE2NC9pYTY0Lm1kIChzdGFja19wcm90ZWN0X3NldCwgc3RhY2tfcHJvdGVjdF90ZXN0KTog TmV3CisJZXhwYW5kZXJzLgorCisJUmV2ZXJ0OgorCTIwMDUtMDQtMjkgIEFsYW4gTW9kcmEgIDxh bW9kcmFAYmlncG9uZC5uZXQuYXU+CisJUFIgdGFyZ2V0LzIxMDk4CisJKiBjb25maWcvcnM2MDAw L3JzNjAwMC5jIChyczYwMDBfZWxmX2VuZF9pbmRpY2F0ZV9leGVjX3N0YWNrKTogTmV3LgorCSog Y29uZmlnL3JzNjAwMC9saW51eDY0LmggKFRBUkdFVF9BU01fRklMRV9FTkQpOiBVc2UgdGhlIGFi b3ZlLgorCisJKiBjb25maWcvcnM2MDAwL3BwYy1hc20uaDogQWRkIC5ub3RlLkdOVS1zdGFjayBz ZWN0aW9uIGFsc28KKwlvbiBwcGM2NC1saW51eC4KKworCSogY29uZmlnL2lhNjQvbGludXguaCAo VEFSR0VUX0FTTV9GSUxFX0VORCk6IERlZmluZS4KKworCSogY29uZmlndXJlLmFjIChIQVZFX0xE X09WRVJMQVBQSU5HX09QRCk6IE5ldyB0ZXN0LgorCSogY29uZmlndXJlOiBSZWJ1aWx0LgorCSog Y29uZmlnLmluOiBSZWJ1aWx0LgorCSogY29uZmlnL3JzNjAwMC9yczYwMDAuYyAoT1ZFUkxBUFBJ TkdfT1BEKTogRGVmaW5lLgorCShyczYwMDBfZWxmX2RlY2xhcmVfZnVuY3Rpb25fbmFtZSk6IFVz ZSBpdC4KKworZ2NjL2FkYS9DaGFuZ2VMb2c6CisyMDEwLTA2LTMwICBKYWt1YiBKZWxpbmVrICA8 amFrdWJAcmVkaGF0LmNvbT4KKworCSogZ25hdC1zdHlsZS50ZXhpOiBDaGFuZ2UgZGlyY2F0ZWdv cnkgdG8gR05VIEFkYSB0b29scy4KKworZ2NjL3Rlc3RzdWl0ZS9DaGFuZ2VMb2c6CisyMDEwLTA2 LTMwICBKYWt1YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KKworCSogZysrLmRnL29wdC9j dG9yMS5DOiBOZXcgdGVzdC4KKworbGliZ2NjL0NoYW5nZUxvZzoKKzIwMTAtMDYtMzAgIEpha3Vi IEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgorCisJKiBjb25maWcvaWE2NC9saWIxZnVuY3Mu UzogQWRkIC5ub3RlLkdOVS1zdGFjayBzZWN0aW9uIG9uCisJaWE2NC1saW51eC4KKwkqIGNvbmZp Zy9pYTY0L2NydGJlZ2luLlM6IExpa2V3aXNlLgorCSogY29uZmlnL2lhNjQvY3J0ZW5kLlM6IExp a2V3aXNlLgorCSogY29uZmlnL2lhNjQvY3J0aS5TOiBMaWtld2lzZS4KKwkqIGNvbmZpZy9pYTY0 L2NydG4uUzogTGlrZXdpc2UuCisKKyhjaGVycnkgcGlja2VkIGZyb20gY29tbWl0IDc1YzIxODU1 YWM3MDcxODhkNmUwOWJlYzgxNjEyZWJlYjY1MGI3MTMpCistLS0KKyBnY2MvTWFrZWZpbGUuaW4g ICAgICAgICAgICAgICAgICB8ICAgMyArLQorIGdjYy9hZGEvZ25hdC1zdHlsZS50ZXhpICAgICAg ICAgIHwgICAyICstCisgZ2NjL2NvbmZpZy5pbiAgICAgICAgICAgICAgICAgICAgfCAgIDYgKwor IGdjYy9jb25maWcvaWE2NC9pYTY0LmNjICAgICAgICAgIHwgIDQyICstLQorIGdjYy9jb25maWcv aWE2NC9pYTY0LmggICAgICAgICAgIHwgICAyICstCisgZ2NjL2NvbmZpZy9pYTY0L2lhNjQubWQg ICAgICAgICAgfCAgMzcgKysrCisgZ2NjL2NvbmZpZy9pYTY0L2xpbnV4LmggICAgICAgICAgfCAg IDcgKworIGdjYy9jb25maWcvcnM2MDAwL3BwYy1hc20uaCAgICAgIHwgICAyICstCisgZ2NjL2Nv bmZpZy9yczYwMDAvcnM2MDAwLmNjICAgICAgfCAgMTkgKy0KKyBnY2MvY29uZmlndXJlICAgICAg ICAgICAgICAgICAgICB8ICAyNSArKworIGdjYy9jb25maWd1cmUuYWMgICAgICAgICAgICAgICAg IHwgIDE4ICsrCisgZ2NjL2NwcGJ1aWx0aW4uY2MgICAgICAgICAgICAgICAgfCAgIDQgKy0KKyBn Y2MvcG8vc3IucG8gICAgICAgICAgICAgICAgICAgICB8ICAgNCArLQorIGdjYy9wby90ci5wbyAg ICAgICAgICAgICAgICAgICAgIHwgICAyICstCisgZ2NjL3Rlc3RzdWl0ZS9nKysuZGcvb3B0L2N0 b3IxLkMgfCA0NzAgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKworIGxpYmdjYy9jb25m aWcvaWE2NC9jcnRiZWdpbi5TICAgIHwgICA0ICsKKyBsaWJnY2MvY29uZmlnL2lhNjQvY3J0ZW5k LlMgICAgICB8ICAgNCArCisgbGliZ2NjL2NvbmZpZy9pYTY0L2NydGkuUyAgICAgICAgfCAgIDQg KworIGxpYmdjYy9jb25maWcvaWE2NC9jcnRuLlMgICAgICAgIHwgICA0ICsKKyBsaWJnY2MvY29u ZmlnL2lhNjQvbGliMWZ1bmNzLlMgICB8ICAgNCArCisgbGliZ2NjL2NydHN0dWZmLmMgICAgICAg ICAgICAgICAgfCAgIDggKy0KKyAyNSBmaWxlcyBjaGFuZ2VkLCA2OTMgaW5zZXJ0aW9ucygrKSwg MzIgZGVsZXRpb25zKC0pCisgY3JlYXRlIG1vZGUgMTAwNjQ0IGdjYy90ZXN0c3VpdGUvZysrLmRn L29wdC9jdG9yMS5DCisKK2RpZmYgLS1naXQgYS9nY2MvTWFrZWZpbGUuaW4gYi9nY2MvTWFrZWZp bGUuaW4KK2luZGV4IGQyZmU4MjE4NzM3Li4zMTQ5MTIyYjlhZiAxMDA2NDQKKy0tLSBhL2djYy9N YWtlZmlsZS5pbgorKysrIGIvZ2NjL01ha2VmaWxlLmluCitAQCAtMzM3Miw3ICszMzcyLDggQEAg UFJFUFJPQ0VTU09SX0RFRklORVMgPSBcCisgICAtRFNUQU5EQVJEX0VYRUNfUFJFRklYPVwiJChs aWJkaXIpL2djYy9cIiBcCisgICBAVEFSR0VUX1NZU1RFTV9ST09UX0RFRklORUAKKyAKKy1DRkxB R1MtY3BwYnVpbHRpbi5vICs9ICQoUFJFUFJPQ0VTU09SX0RFRklORVMpIC1EQkFTRVZFUj0kKEJB U0VWRVJfcykKKytDRkxBR1MtY3BwYnVpbHRpbi5vICs9ICQoUFJFUFJPQ0VTU09SX0RFRklORVMp IC1EQkFTRVZFUj0kKEJBU0VWRVJfcykgXAorKwkJICAgICAgIC1EREVWUEhBU0U9JChERVZQSEFT RV9zKQorIGNwcGJ1aWx0aW4ubzogJChCQVNFVkVSKQorIAorIENGTEFHUy1jcHBkZWZhdWx0Lm8g Kz0gJChQUkVQUk9DRVNTT1JfREVGSU5FUykKK2RpZmYgLS1naXQgYS9nY2MvYWRhL2duYXQtc3R5 bGUudGV4aSBiL2djYy9hZGEvZ25hdC1zdHlsZS50ZXhpCitpbmRleCBkMGJhNTNhN2ZmZi4uYzEx YjE3M2QwNDYgMTAwNjQ0CistLS0gYS9nY2MvYWRhL2duYXQtc3R5bGUudGV4aQorKysrIGIvZ2Nj L2FkYS9nbmF0LXN0eWxlLnRleGkKK0BAIC0xMiw3ICsxMiw3IEBACisgQGZpbmFsb3V0CisgQGRp cmNhdGVnb3J5IEdOVSBBZGEgVG9vbHMgCisgQGRpcmVudHJ5CistKiBnbmF0LXN0eWxlOiAoZ25h dC1zdHlsZS5pbmZvKS4gZ25hdC1zdHlsZQorKyogZ25hdC1zdHlsZTogKGduYXQtc3R5bGUpLiAg ICAgIEdOQVQgQ29kaW5nIFN0eWxlCisgQGVuZCBkaXJlbnRyeQorIAorIEBjICUqKmVuZCBvZiBo ZWFkZXIKK2RpZmYgLS1naXQgYS9nY2MvY29uZmlnLmluIGIvZ2NjL2NvbmZpZy5pbgoraW5kZXgg OTcyYzBjMjAzNGQuLjUwOGJiOTYyNzVjIDEwMDY0NAorLS0tIGEvZ2NjL2NvbmZpZy5pbgorKysr IGIvZ2NjL2NvbmZpZy5pbgorQEAgLTE4MDEsNiArMTgwMSwxMiBAQAorICNlbmRpZgorIAorIAor Ky8qIERlZmluZSBpZiB5b3VyIFBvd2VyUEM2NCBsaW5rZXIgaGFuZGxlcyBvdmVybGFwcGluZyAu b3BkIGVudHJpZXMuICovCisrI2lmbmRlZiBVU0VEX0ZPUl9UQVJHRVQKKysjdW5kZWYgSEFWRV9M RF9PVkVSTEFQUElOR19PUEQKKysjZW5kaWYKKysKKysKKyAvKiBEZWZpbmUgaWYgeW91ciBsaW5r ZXIgY2FuIHJlbGF4IGFic29sdXRlIC5laF9mcmFtZSBwZXJzb25hbGl0eSBwb2ludGVycworICAg IGludG8gUEMtcmVsYXRpdmUgZm9ybS4gKi8KKyAjaWZuZGVmIFVTRURfRk9SX1RBUkdFVAorZGlm ZiAtLWdpdCBhL2djYy9jb25maWcvaWE2NC9pYTY0LmNjIGIvZ2NjL2NvbmZpZy9pYTY0L2lhNjQu Y2MKK2luZGV4IDRhY2JkODJiYzY1Li5mYmQ3ZDk0YWU3NCAxMDA2NDQKKy0tLSBhL2djYy9jb25m aWcvaWE2NC9pYTY0LmNjCisrKysgYi9nY2MvY29uZmlnL2lhNjQvaWE2NC5jYworQEAgLTI4OSw2 ICsyODksOCBAQCBzdGF0aWMgc2VjdGlvbiAqaWE2NF9zZWxlY3RfcnR4X3NlY3Rpb24gKG1hY2hp bmVfbW9kZSwgcnR4LAorIHN0YXRpYyB2b2lkIGlhNjRfb3V0cHV0X2R3YXJmX2R0cHJlbCAoRklM RSAqLCBpbnQsIHJ0eCkKKyAgICAgIEFUVFJJQlVURV9VTlVTRUQ7Cisgc3RhdGljIHVuc2lnbmVk IGludCBpYTY0X3NlY3Rpb25fdHlwZV9mbGFncyAodHJlZSwgY29uc3QgY2hhciAqLCBpbnQpOwor K3N0YXRpYyB2b2lkIGlhNjRfbGludXhfZmlsZV9lbmQgKHZvaWQpCisrICAgICBBVFRSSUJVVEVf VU5VU0VEOworIHN0YXRpYyB2b2lkIGlhNjRfaW5pdF9saWJmdW5jcyAodm9pZCkKKyAgICAgIEFU VFJJQlVURV9VTlVTRUQ7Cisgc3RhdGljIHZvaWQgaWE2NF9ocHV4X2luaXRfbGliZnVuY3MgKHZv aWQpCitAQCAtMjk2MSw2ICsyOTYzLDkgQEAgaWE2NF9jb21wdXRlX2ZyYW1lX3NpemUgKEhPU1Rf V0lERV9JTlQgc2l6ZSkKKyAgIGVsc2UKKyAgICAgcHJldGVuZF9hcmdzX3NpemUgPSBjcnRsLT5h cmdzLnByZXRlbmRfYXJnc19zaXplOworIAorKyAgaWYgKEZSQU1FX0dST1dTX0RPV05XQVJEKQor KyAgICBzaXplID0gSUE2NF9TVEFDS19BTElHTiAoc2l6ZSk7CisrCisgICB0b3RhbF9zaXplID0g KHNwaWxsX3NpemUgKyBleHRyYV9zcGlsbF9zaXplICsgc2l6ZSArIHByZXRlbmRfYXJnc19zaXpl CisgCQkrIGNydGwtPm91dGdvaW5nX2FyZ3Nfc2l6ZSk7CisgICB0b3RhbF9zaXplID0gSUE2NF9T VEFDS19BTElHTiAodG90YWxfc2l6ZSk7CitAQCAtMjk5NSwyOSArMzAwMCwxOSBAQCBpYTY0X2Nh bl9lbGltaW5hdGUgKGNvbnN0IGludCBmcm9tIEFUVFJJQlVURV9VTlVTRUQsIGNvbnN0IGludCB0 bykKKyBIT1NUX1dJREVfSU5UCisgaWE2NF9pbml0aWFsX2VsaW1pbmF0aW9uX29mZnNldCAoaW50 IGZyb20sIGludCB0bykKKyB7CistICBIT1NUX1dJREVfSU5UIG9mZnNldDsKKysgIEhPU1RfV0lE RV9JTlQgb2Zmc2V0LCBzaXplID0gZ2V0X2ZyYW1lX3NpemUgKCk7CisgCistICBpYTY0X2NvbXB1 dGVfZnJhbWVfc2l6ZSAoZ2V0X2ZyYW1lX3NpemUgKCkpOworKyAgaWE2NF9jb21wdXRlX2ZyYW1l X3NpemUgKHNpemUpOworICAgc3dpdGNoIChmcm9tKQorICAgICB7CisgICAgIGNhc2UgRlJBTUVf UE9JTlRFUl9SRUdOVU06CistICAgICAgc3dpdGNoICh0bykKKy0JeworLQljYXNlIEhBUkRfRlJB TUVfUE9JTlRFUl9SRUdOVU06CistCSAgb2Zmc2V0ID0gLWN1cnJlbnRfZnJhbWVfaW5mby50b3Rh bF9zaXplOworLQkgIGlmICghY3J0bC0+aXNfbGVhZiB8fCBjZnVuLT5jYWxsc19hbGxvY2EpCist CSAgICBvZmZzZXQgKz0gMTYgKyBjcnRsLT5vdXRnb2luZ19hcmdzX3NpemU7CistCSAgYnJlYWs7 CistCistCWNhc2UgU1RBQ0tfUE9JTlRFUl9SRUdOVU06CistCSAgb2Zmc2V0ID0gMDsKKy0JICBp ZiAoIWNydGwtPmlzX2xlYWYgfHwgY2Z1bi0+Y2FsbHNfYWxsb2NhKQorLQkgICAgb2Zmc2V0ICs9 IDE2ICsgY3J0bC0+b3V0Z29pbmdfYXJnc19zaXplOworLQkgIGJyZWFrOworLQorLQlkZWZhdWx0 OgorLQkgIGdjY191bnJlYWNoYWJsZSAoKTsKKy0JfQorKyAgICAgIG9mZnNldCA9IEZSQU1FX0dS T1dTX0RPV05XQVJEID8gSUE2NF9TVEFDS19BTElHTiAoc2l6ZSkgOiAwOworKyAgICAgIGlmICgh Y3J0bC0+aXNfbGVhZiB8fCBjZnVuLT5jYWxsc19hbGxvY2EpCisrCW9mZnNldCArPSAxNiArIGNy dGwtPm91dGdvaW5nX2FyZ3Nfc2l6ZTsKKysgICAgICBpZiAodG8gPT0gSEFSRF9GUkFNRV9QT0lO VEVSX1JFR05VTSkKKysJb2Zmc2V0IC09IGN1cnJlbnRfZnJhbWVfaW5mby50b3RhbF9zaXplOwor KyAgICAgIGVsc2UKKysJZ2NjX2Fzc2VydCAodG8gPT0gU1RBQ0tfUE9JTlRFUl9SRUdOVU0pOwor ICAgICAgIGJyZWFrOworIAorICAgICBjYXNlIEFSR19QT0lOVEVSX1JFR05VTToKK0BAIC0xMTk2 MSw0ICsxMTk1NiwxMyBAQCBpYTY0X2Nhbl9jaGFuZ2VfbW9kZV9jbGFzcyAobWFjaGluZV9tb2Rl IGZyb20sIG1hY2hpbmVfbW9kZSB0bywKKyAKKyBzdHJ1Y3QgZ2NjX3RhcmdldCB0YXJnZXRtID0g VEFSR0VUX0lOSVRJQUxJWkVSOworIAorK3N0YXRpYyB2b2lkCisraWE2NF9saW51eF9maWxlX2Vu ZCAodm9pZCkKKyt7CisrICBpbnQgc2F2ZWRfdHJhbXBvbGluZXNfY3JlYXRlZCA9IHRyYW1wb2xp bmVzX2NyZWF0ZWQ7CisrICB0cmFtcG9saW5lc19jcmVhdGVkID0gMDsKKysgIGZpbGVfZW5kX2lu ZGljYXRlX2V4ZWNfc3RhY2sgKCk7CisrICB0cmFtcG9saW5lc19jcmVhdGVkID0gc2F2ZWRfdHJh bXBvbGluZXNfY3JlYXRlZDsKKyt9CisrCisgI2luY2x1ZGUgImd0LWlhNjQuaCIKK2RpZmYgLS1n aXQgYS9nY2MvY29uZmlnL2lhNjQvaWE2NC5oIGIvZ2NjL2NvbmZpZy9pYTY0L2lhNjQuaAoraW5k ZXggNzYzYjFjM2VkNDguLjFhMGQwM2Q5YTEzIDEwMDY0NAorLS0tIGEvZ2NjL2NvbmZpZy9pYTY0 L2lhNjQuaAorKysrIGIvZ2NjL2NvbmZpZy9pYTY0L2lhNjQuaAorQEAgLTczMyw3ICs3MzMsNyBA QCBlbnVtIHJlZ19jbGFzcworIAorIC8qIERlZmluZSB0aGlzIG1hY3JvIHRvIG5vbnplcm8gaWYg dGhlIGFkZHJlc3NlcyBvZiBsb2NhbCB2YXJpYWJsZSBzbG90cworICAgIGFyZSBhdCBuZWdhdGl2 ZSBvZmZzZXRzIGZyb20gdGhlIGZyYW1lIHBvaW50ZXIuICAqLworLSNkZWZpbmUgRlJBTUVfR1JP V1NfRE9XTldBUkQgMAorKyNkZWZpbmUgRlJBTUVfR1JPV1NfRE9XTldBUkQgKGZsYWdfc3RhY2tf cHJvdGVjdCAhPSAwKQorIAorIC8qIE9mZnNldCBmcm9tIHRoZSBzdGFjayBwb2ludGVyIHJlZ2lz dGVyIHRvIHRoZSBmaXJzdCBsb2NhdGlvbiBhdCB3aGljaAorICAgIG91dGdvaW5nIGFyZ3VtZW50 cyBhcmUgcGxhY2VkLiAgSWYgbm90IHNwZWNpZmllZCwgdGhlIGRlZmF1bHQgdmFsdWUgb2YgemVy bworZGlmZiAtLWdpdCBhL2djYy9jb25maWcvaWE2NC9pYTY0Lm1kIGIvZ2NjL2NvbmZpZy9pYTY0 L2lhNjQubWQKK2luZGV4IGM1MzNhOWMxMDZjLi4zNGU1MWM4ZWI2MyAxMDA2NDQKKy0tLSBhL2dj Yy9jb25maWcvaWE2NC9pYTY0Lm1kCisrKysgYi9nY2MvY29uZmlnL2lhNjQvaWE2NC5tZAorQEAg LTUyMzgsNiArNTIzOCw0MyBAQCAoZGVmaW5lX2luc24gInByb2JlX3N0YWNrX3JhbmdlIgorICAg WyhzZXRfYXR0ciAiaXRhbml1bV9jbGFzcyIgInVua25vd24iKQorICAgIChzZXRfYXR0ciAicHJl ZGljYWJsZSIgIm5vIildKQorIAorKzs7CisrOzsgU3RhY2sgZ3VhcmQgZXhwYW5kZXJzCisrCisr KGRlZmluZV9leHBhbmQgInN0YWNrX3Byb3RlY3Rfc2V0IgorKyAgWyhzZXQgKG1hdGNoX29wZXJh bmQgMCAibWVtb3J5X29wZXJhbmQiICIiKQorKyAgICAgICAgKG1hdGNoX29wZXJhbmQgMSAibWVt b3J5X29wZXJhbmQiICIiKSldCisrICAiIgorK3sKKysjaWZkZWYgVEFSR0VUX1RIUkVBRF9TU1Bf T0ZGU0VUCisrICBydHggdGhyZWFkX3BvaW50ZXJfcnR4ID0gZ2VuX3J0eF9SRUcgKFBtb2RlLCAx Myk7CisrICBydHggY2FuYXJ5ID0gZ2VuX3J0eF9NRU0gKFBtb2RlLCBnZW5fcnR4X1BMVVMgKFBt b2RlLCB0aHJlYWRfcG9pbnRlcl9ydHgsCisrCQkJCQlHRU5fSU5UIChUQVJHRVRfVEhSRUFEX1NT UF9PRkZTRVQpKSk7CisrICBNRU1fVk9MQVRJTEVfUCAoY2FuYXJ5KSA9IE1FTV9WT0xBVElMRV9Q IChvcGVyYW5kc1sxXSk7CisrICBvcGVyYW5kc1sxXSA9IGNhbmFyeTsKKysjZW5kaWYKKysgIGVt aXRfbW92ZV9pbnNuIChvcGVyYW5kc1swXSwgb3BlcmFuZHNbMV0pOworKyAgRE9ORTsKKyt9KQor KworKyhkZWZpbmVfZXhwYW5kICJzdGFja19wcm90ZWN0X3Rlc3QiCisrICBbKG1hdGNoX29wZXJh bmQgMCAibWVtb3J5X29wZXJhbmQiICIiKQorKyAgIChtYXRjaF9vcGVyYW5kIDEgIm1lbW9yeV9v cGVyYW5kIiAiIikKKysgICAobWF0Y2hfb3BlcmFuZCAyICIiICIiKV0KKysgICIiCisreworKyNp ZmRlZiBUQVJHRVRfVEhSRUFEX1NTUF9PRkZTRVQKKysgIHJ0eCB0aHJlYWRfcG9pbnRlcl9ydHgg PSBnZW5fcnR4X1JFRyAoUG1vZGUsIDEzKTsKKysgIHJ0eCBjYW5hcnkgPSBnZW5fcnR4X01FTSAo UG1vZGUsIGdlbl9ydHhfUExVUyAoUG1vZGUsIHRocmVhZF9wb2ludGVyX3J0eCwKKysJCQkJCUdF Tl9JTlQgKFRBUkdFVF9USFJFQURfU1NQX09GRlNFVCkpKTsKKysgIE1FTV9WT0xBVElMRV9QIChj YW5hcnkpID0gTUVNX1ZPTEFUSUxFX1AgKG9wZXJhbmRzWzFdKTsKKysgIG9wZXJhbmRzWzFdID0g Y2FuYXJ5OworKyNlbmRpZgorKyAgZW1pdF9jbXBfYW5kX2p1bXBfaW5zbnMgKG9wZXJhbmRzWzBd LCBvcGVyYW5kc1sxXSwgRVEsIE5VTExfUlRYLAorKwkJCSAgIHB0cl9tb2RlLCAxLCBvcGVyYW5k c1syXSk7CisrICBET05FOworK30pCisrCisgOzsgVmVjdG9yIG9wZXJhdGlvbnMKKyAoaW5jbHVk ZSAidmVjdC5tZCIpCisgOzsgQXRvbWljIG9wZXJhdGlvbnMKK2RpZmYgLS1naXQgYS9nY2MvY29u ZmlnL2lhNjQvbGludXguaCBiL2djYy9jb25maWcvaWE2NC9saW51eC5oCitpbmRleCAzMjgwMTkz MjYwZi4uNTAzMTJjYmQxYTcgMTAwNjQ0CistLS0gYS9nY2MvY29uZmlnL2lhNjQvbGludXguaAor KysrIGIvZ2NjL2NvbmZpZy9pYTY0L2xpbnV4LmgKK0BAIC0yMyw2ICsyMyw4IEBAIGEgY29weSBv ZiB0aGUgR0NDIFJ1bnRpbWUgTGlicmFyeSBFeGNlcHRpb24gYWxvbmcgd2l0aCB0aGlzIHByb2dy YW07Cisgc2VlIHRoZSBmaWxlcyBDT1BZSU5HMyBhbmQgQ09QWUlORy5SVU5USU1FIHJlc3BlY3Rp dmVseS4gIElmIG5vdCwgc2VlCisgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LiAgKi8K KyAKKysjZGVmaW5lIFRBUkdFVF9BU01fRklMRV9FTkQgaWE2NF9saW51eF9maWxlX2VuZAorKwor IC8qIFRoaXMgaXMgZm9yIC1wcm9maWxlIHRvIHVzZSAtbGNfcCBpbnN0ZWFkIG9mIC1sYy4gICov CisgI3VuZGVmIENDMV9TUEVDCisgI2RlZmluZSBDQzFfU1BFQyAiJXtwcm9maWxlOi1wfSAle0cq fSIKK0BAIC04MSwzICs4Myw4IEBAIGRvIHsJCQkJCQlcCisgCisgLyogRGVmaW5lIHRoaXMgdG8g YmUgbm9uemVybyBpZiBzdGF0aWMgc3RhY2sgY2hlY2tpbmcgaXMgc3VwcG9ydGVkLiAgKi8KKyAj ZGVmaW5lIFNUQUNLX0NIRUNLX1NUQVRJQ19CVUlMVElOIDEKKysKKysjaWZkZWYgVEFSR0VUX0xJ QkNfUFJPVklERVNfU1NQCisrLyogSUEtNjQgZ2xpYmMgcHJvdmlkZXMgX19zdGFja19jaGtfZ3Vh cmQgaW4gW3IxMy04XS4gICovCisrI2RlZmluZSBUQVJHRVRfVEhSRUFEX1NTUF9PRkZTRVQJLTgK KysjZW5kaWYKK2RpZmYgLS1naXQgYS9nY2MvY29uZmlnL3JzNjAwMC9wcGMtYXNtLmggYi9nY2Mv Y29uZmlnL3JzNjAwMC9wcGMtYXNtLmgKK2luZGV4IDA3NTU0YzI2Nzg1Li5jMWQyYzY5ZmUyMCAx MDA2NDQKKy0tLSBhL2djYy9jb25maWcvcnM2MDAwL3BwYy1hc20uaAorKysrIGIvZ2NjL2NvbmZp Zy9yczYwMDAvcHBjLWFzbS5oCitAQCAtMzg0LDcgKzM4NCw3IEBAIEdMVUUoLkwsbmFtZSk6IFwK KyAjZW5kaWYKKyAjZW5kaWYKKyAKKy0jaWYgZGVmaW5lZCBfX2xpbnV4X18gJiYgIWRlZmluZWQg X19wb3dlcnBjNjRfXworKyNpZiBkZWZpbmVkIF9fbGludXhfXworIAkuc2VjdGlvbiAubm90ZS5H TlUtc3RhY2sKKyAJLnByZXZpb3VzCisgI2VuZGlmCitkaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZy9y czYwMDAvcnM2MDAwLmNjIGIvZ2NjL2NvbmZpZy9yczYwMDAvcnM2MDAwLmNjCitpbmRleCAwMmEy ZjExNTJkYi4uZTljNTZjZWRiNzkgMTAwNjQ0CistLS0gYS9nY2MvY29uZmlnL3JzNjAwMC9yczYw MDAuY2MKKysrKyBiL2djYy9jb25maWcvcnM2MDAwL3JzNjAwMC5jYworQEAgLTIxMjY3LDYgKzIx MjY3LDE1IEBAIHJzNjAwMF9lbGZfYXNtX291dF9kZXN0cnVjdG9yIChydHggc3ltYm9sLCBpbnQg cHJpb3JpdHkpCisgICAgIGFzc2VtYmxlX2ludGVnZXIgKHN5bWJvbCwgUE9JTlRFUl9TSVpFIC8g QklUU19QRVJfVU5JVCwgUE9JTlRFUl9TSVpFLCAxKTsKKyB9CisgCisrI2lmZGVmIEhBVkVfTERf T1ZFUkxBUFBJTkdfT1BECisrLyogSWYgdGhlIGxpbmtlciBzdXBwb3J0cyBvdmVybGFwcGluZyAu b3BkIGVudHJpZXMgYW5kIHdlIGtub3cgdGhpcyBmdW5jdGlvbgorKyAgIGRvZXNuJ3QgZXZlciB1 c2UgcjExIHBhc3NlZCB0byBpdCwgd2UgY2FuIG92ZXJsYXAgdGhlIGZkX2F1eCBmdW5jdGlvbgor KyAgIGRlc2NyaXB0b3IgZmllbGQgd2l0aCBuZXh0IGZ1bmN0aW9uIGRlc2NyaXB0b3IncyBmZF9m dW5jIGZpZWxkLiAgKi8KKysjIGRlZmluZSBPVkVSTEFQUElOR19PUEQgKGNmdW4tPnN0YXRpY19j aGFpbl9kZWNsID09IE5VTEwpCisrI2Vsc2UKKysjIGRlZmluZSBPVkVSTEFQUElOR19PUEQgMAor KyNlbmRpZgorKworIHZvaWQKKyByczYwMDBfZWxmX2RlY2xhcmVfZnVuY3Rpb25fbmFtZSAoRklM RSAqZmlsZSwgY29uc3QgY2hhciAqbmFtZSwgdHJlZSBkZWNsKQorIHsKK0BAIC0yMTI3Niw3ICsy MTI4NSw4IEBAIHJzNjAwMF9lbGZfZGVjbGFyZV9mdW5jdGlvbl9uYW1lIChGSUxFICpmaWxlLCBj b25zdCBjaGFyICpuYW1lLCB0cmVlIGRlY2wpCisgICAgICAgQVNNX09VVFBVVF9MQUJFTCAoZmls ZSwgbmFtZSk7CisgICAgICAgZnB1dHMgKERPVUJMRV9JTlRfQVNNX09QLCBmaWxlKTsKKyAgICAg ICByczYwMDBfb3V0cHV0X2Z1bmN0aW9uX2VudHJ5IChmaWxlLCBuYW1lKTsKKy0gICAgICBmcHV0 cyAoIiwuVE9DLkB0b2NiYXNlLDBcblx0LnByZXZpb3VzXG4iLCBmaWxlKTsKKysgICAgICBmcHJp bnRmIChmaWxlLCAiLC5UT0MuQHRvY2Jhc2Ulc1xuXHQucHJldmlvdXNcbiIsCisrCSAgICAgICBP VkVSTEFQUElOR19PUEQgPyAiIiA6ICIsMCIpOworICAgICAgIGlmIChET1RfU1lNQk9MUykKKyAJ eworIAkgIGZwdXRzICgiXHQuc2l6ZVx0IiwgZmlsZSk7CitAQCAtMjE0MDMsNiArMjE0MTMsMTMg QEAgcnM2MDAwX2VsZl9maWxlX2VuZCAodm9pZCkKKyAjaWYgZGVmaW5lZCAoUE9XRVJQQ19MSU5V WCkgfHwgZGVmaW5lZCAoUE9XRVJQQ19GUkVFQlNEKQorICAgaWYgKFRBUkdFVF8zMkJJVCB8fCBE RUZBVUxUX0FCSSA9PSBBQklfRUxGdjIpCisgICAgIGZpbGVfZW5kX2luZGljYXRlX2V4ZWNfc3Rh Y2sgKCk7CisrICBlbHNlCisrICAgIHsKKysgICAgICBpbnQgc2F2ZWRfdHJhbXBvbGluZXNfY3Jl YXRlZCA9IHRyYW1wb2xpbmVzX2NyZWF0ZWQ7CisrICAgICAgdHJhbXBvbGluZXNfY3JlYXRlZCA9 IDA7CisrICAgICAgZmlsZV9lbmRfaW5kaWNhdGVfZXhlY19zdGFjayAoKTsKKysgICAgICB0cmFt cG9saW5lc19jcmVhdGVkID0gc2F2ZWRfdHJhbXBvbGluZXNfY3JlYXRlZDsKKysgICAgfQorICNl bmRpZgorIAorICAgaWYgKGZsYWdfc3BsaXRfc3RhY2spCitkaWZmIC0tZ2l0IGEvZ2NjL2NvbmZp Z3VyZSBiL2djYy9jb25maWd1cmUKK2luZGV4IDhiYjcxY2ZlMzQ4Li43OTlmNThmZTFmMyAxMDA3 NTUKKy0tLSBhL2djYy9jb25maWd1cmUKKysrKyBiL2djYy9jb25maWd1cmUKK0BAIC0zMzA4Nyw2 ICszMzA4NywzMSBAQCBjYXQgPj5jb25mZGVmcy5oIDw8X0FDRU9GCisgI2RlZmluZSBQT1dFUlBD NjRfVE9DX1BPSU5URVJfQUxJR05NRU5UICRnY2NfY3ZfbGRfdG9jX2FsaWduCisgX0FDRU9GCisg CisrICAgIGZpCisrCisrICAgIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5P fTogY2hlY2tpbmcgbGlua2VyIHN1cHBvcnQgZm9yIG92ZXJsYXBwaW5nIC5vcGQgZW50cmllcyIg PiY1CisrJGFzX2VjaG9fbiAiY2hlY2tpbmcgbGlua2VyIHN1cHBvcnQgZm9yIG92ZXJsYXBwaW5n IC5vcGQgZW50cmllcy4uLiAiID4mNjsgfQorK2lmIHRlc3QgIiR7Z2NjX2N2X2xkX292ZXJsYXBw aW5nX29wZCtzZXR9IiA9IHNldDsgdGhlbiA6CisrICAkYXNfZWNob19uICIoY2FjaGVkKSAiID4m NgorK2Vsc2UKKysgIGdjY19jdl9sZF9vdmVybGFwcGluZ19vcGQ9bm8KKysgICAgaWYgdGVzdCAk aW5fdHJlZV9sZCA9IHllcyA7IHRoZW4KKysgICAgICBpZiB0ZXN0ICIkZ2NjX2N2X2dsZF9tYWpv cl92ZXJzaW9uIiAtZXEgMiAtYSAiJGdjY19jdl9nbGRfbWlub3JfdmVyc2lvbiIgLWdlIDE2IC1v ICIkZ2NjX2N2X2dsZF9tYWpvcl92ZXJzaW9uIiAtZ3QgMjsgdGhlbgorKyAgICAgICAgZ2NjX2N2 X2xkX292ZXJsYXBwaW5nX29wZD15ZXMKKysgICAgICBmaQorKyAgICBlbGlmIHRlc3QgeCRnY2Nf Y3ZfbGQgIT0geCA7IHRoZW4KKysgICAgICBpZiAkZ2NjX2N2X2xkIC1tZWxmNjRwcGMgLS1oZWxw IDI+L2Rldi9udWxsIHwgZ3JlcCBub24tb3ZlcmxhcHBpbmctb3BkID4gL2Rldi9udWxsOyB0aGVu CisrICAgICAgICBnY2NfY3ZfbGRfb3ZlcmxhcHBpbmdfb3BkPXllcworKyAgICAgIGZpCisrICAg IGZpCisrCisrZmkKKyt7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJl c3VsdDogJGdjY19jdl9sZF9vdmVybGFwcGluZ19vcGQiID4mNQorKyRhc19lY2hvICIkZ2NjX2N2 X2xkX292ZXJsYXBwaW5nX29wZCIgPiY2OyB9CisrICAgIGlmIHRlc3QgeCIkZ2NjX2N2X2xkX292 ZXJsYXBwaW5nX29wZCIgPSB4eWVzOyB0aGVuCisrCisrJGFzX2VjaG8gIiNkZWZpbmUgSEFWRV9M RF9PVkVSTEFQUElOR19PUEQgMSIgPj5jb25mZGVmcy5oCisrCisgICAgIGZpCisgICAgIDs7Cisg ZXNhYworZGlmZiAtLWdpdCBhL2djYy9jb25maWd1cmUuYWMgYi9nY2MvY29uZmlndXJlLmFjCitp bmRleCA4OGExYTQ0ZmNmNy4uM2Q5N2QyN2FiNDkgMTAwNjQ0CistLS0gYS9nY2MvY29uZmlndXJl LmFjCisrKysgYi9nY2MvY29uZmlndXJlLmFjCitAQCAtNjc3MSw2ICs2NzcxLDI0IEBAIEVPRgor ICAgICAgIEFDX0RFRklORV9VTlFVT1RFRChQT1dFUlBDNjRfVE9DX1BPSU5URVJfQUxJR05NRU5U LCAkZ2NjX2N2X2xkX3RvY19hbGlnbiwKKyAgICAgW0RlZmluZSB0byAuVE9DLiBhbGlnbm1lbnQg Zm9yY2VkIGJ5IHlvdXIgbGlua2VyLl0pCisgICAgIGZpCisrCisrICAgIEFDX0NBQ0hFX0NIRUNL KGxpbmtlciBzdXBwb3J0IGZvciBvdmVybGFwcGluZyAub3BkIGVudHJpZXMsCisrICAgIGdjY19j dl9sZF9vdmVybGFwcGluZ19vcGQsCisrICAgIFtnY2NfY3ZfbGRfb3ZlcmxhcHBpbmdfb3BkPW5v CisrICAgIGlmIHRlc3QgJGluX3RyZWVfbGQgPSB5ZXMgOyB0aGVuCisrICAgICAgaWYgdGVzdCAi JGdjY19jdl9nbGRfbWFqb3JfdmVyc2lvbiIgLWVxIDIgLWEgIiRnY2NfY3ZfZ2xkX21pbm9yX3Zl cnNpb24iIC1nZSAxNiAtbyAiJGdjY19jdl9nbGRfbWFqb3JfdmVyc2lvbiIgLWd0IDI7IHRoZW4K KysgICAgICAgIGdjY19jdl9sZF9vdmVybGFwcGluZ19vcGQ9eWVzCisrICAgICAgZmkKKysgICAg ZWxpZiB0ZXN0IHgkZ2NjX2N2X2xkICE9IHggOyB0aGVuCisrICAgICAgaWYgJGdjY19jdl9sZCAt bWVsZjY0cHBjIC0taGVscCAyPi9kZXYvbnVsbCB8IGdyZXAgbm9uLW92ZXJsYXBwaW5nLW9wZCA+ IC9kZXYvbnVsbDsgdGhlbgorKyAgICAgICAgZ2NjX2N2X2xkX292ZXJsYXBwaW5nX29wZD15ZXMK KysgICAgICBmaQorKyAgICBmaQorKyAgICBdKQorKyAgICBpZiB0ZXN0IHgiJGdjY19jdl9sZF9v dmVybGFwcGluZ19vcGQiID0geHllczsgdGhlbgorKyAgICAgIEFDX0RFRklORShIQVZFX0xEX09W RVJMQVBQSU5HX09QRCwgMSwKKysgICAgW0RlZmluZSBpZiB5b3VyIFBvd2VyUEM2NCBsaW5rZXIg aGFuZGxlcyBvdmVybGFwcGluZyAub3BkIGVudHJpZXMuXSkKKysgICAgZmkKKyAgICAgOzsKKyBl c2FjCisgCitkaWZmIC0tZ2l0IGEvZ2NjL2NwcGJ1aWx0aW4uY2MgYi9nY2MvY3BwYnVpbHRpbi5j YworaW5kZXggYzRiZmMyOTE3ZGMuLmE5ZDUwY2YwMGEwIDEwMDY0NAorLS0tIGEvZ2NjL2NwcGJ1 aWx0aW4uY2MKKysrKyBiL2djYy9jcHBidWlsdGluLmNjCitAQCAtNTgsMTMgKzU4LDE1IEBAIHBh cnNlX2Jhc2V2ZXIgKGludCAqbWFqb3IsIGludCAqbWlub3IsIGludCAqcGF0Y2hsZXZlbCkKKyBz dGF0aWMgdm9pZAorIGRlZmluZV9fR05VQ19fIChjcHBfcmVhZGVyICpwZmlsZSkKKyB7CistICBp bnQgbWFqb3IsIG1pbm9yLCBwYXRjaGxldmVsOworKyAgaW50IG1ham9yLCBtaW5vciwgcGF0Y2hs ZXZlbCwgcmhyZXZpc2lvbjsKKyAKKyAgIHBhcnNlX2Jhc2V2ZXIgKCZtYWpvciwgJm1pbm9yLCAm cGF0Y2hsZXZlbCk7CisgICBjcHBfZGVmaW5lX2Zvcm1hdHRlZCAocGZpbGUsICJfX0dOVUNfXz0l ZCIsIG1ham9yKTsKKyAgIGNwcF9kZWZpbmVfZm9ybWF0dGVkIChwZmlsZSwgIl9fR05VQ19NSU5P Ul9fPSVkIiwgbWlub3IpOworICAgY3BwX2RlZmluZV9mb3JtYXR0ZWQgKHBmaWxlLCAiX19HTlVD X1BBVENITEVWRUxfXz0lZCIsIHBhdGNobGV2ZWwpOworICAgY3BwX2RlZmluZV9mb3JtYXR0ZWQg KHBmaWxlLCAiX19WRVJTSU9OX189XCIlc1wiIiwgdmVyc2lvbl9zdHJpbmcpOworKyAgaWYgKHNz Y2FuZiAoREVWUEhBU0UsICIgKFJlZCBIYXQgJSpkLiUqZC4lKmQtJWQiLCAmcmhyZXZpc2lvbikg PT0gMSkKKysgICAgY3BwX2RlZmluZV9mb3JtYXR0ZWQgKHBmaWxlLCAiX19HTlVDX1JIX1JFTEVB U0VfXz0lZCIsIHJocmV2aXNpb24pOworICAgY3BwX2RlZmluZV9mb3JtYXR0ZWQgKHBmaWxlLCAi X19BVE9NSUNfUkVMQVhFRD0lZCIsIE1FTU1PREVMX1JFTEFYRUQpOworICAgY3BwX2RlZmluZV9m b3JtYXR0ZWQgKHBmaWxlLCAiX19BVE9NSUNfU0VRX0NTVD0lZCIsIE1FTU1PREVMX1NFUV9DU1Qp OworICAgY3BwX2RlZmluZV9mb3JtYXR0ZWQgKHBmaWxlLCAiX19BVE9NSUNfQUNRVUlSRT0lZCIs IE1FTU1PREVMX0FDUVVJUkUpOworZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZysrLmRnL29w dC9jdG9yMS5DIGIvZ2NjL3Rlc3RzdWl0ZS9nKysuZGcvb3B0L2N0b3IxLkMKK25ldyBmaWxlIG1v ZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwMDAwMC4uMWY0MDZlNTdjNDkKKy0tLSAvZGV2L251bGwK KysrKyBiL2djYy90ZXN0c3VpdGUvZysrLmRnL29wdC9jdG9yMS5DCitAQCAtMCwwICsxLDQ3MCBA QAorKy8vIGh0dHA6Ly9idWd6aWxsYS5yZWRoYXQuY29tL3Nob3dfYnVnLmNnaT9pZD01NDcyODYK KysvLyB7IGRnLWRvIGNvbXBpbGUgfQorKy8vIHsgZGctb3B0aW9ucyAiLU9zIC13IiB9CisrCisr c3RydWN0IEEKKyt7CisrICB2b2lkIGRpc3Bvc2UgKCk7CisrICB2b2lkIHJlbGVhc2UgKCkgeyBk aXNwb3NlICgpOyB9CisrfTsKKytzdHJ1Y3QgQgorK3sKKysgIEEgKnBpXzsKKysgIEIgKCkgeyBw aV8gPSBfX251bGw7IH0KKysgIH5CICgpIHsgcGlfLT5yZWxlYXNlICgpOyB9CisrICBCIChCIGNv bnN0ICYpIDogcGlfICgpIHt9CisrfTsKKyt0ZW1wbGF0ZSA8Y2xhc3M+Cisrc3RydWN0IEMKKyt7 CisrICBCIHBuOworK307Cisrc3RydWN0IEQKKyt7CisrICBjaGFyICpnZXRTdHIgKCk7CisrfTsK KytzdHJ1Y3QgRQorK3sKKyt9OworK0QgRVRvRCAoRSwgdW5zaWduZWQgPSAweDQ0MDZVKTsKKytz dHJ1Y3QgRjsKKytlbnVtIEcKKyt7CisrICBHWDEsCisrICBHWDIsCisrICBHWDMsCisrICBHWDQs CisrICBHWDUsCisrICBHWDYsCisrICBHWDcKKyt9OworK3N0cnVjdCBIOworK3R5cGVkZWYgQyA8 SD4gSTsKKytzdHJ1Y3QgSiB7fTsKKyt0ZW1wbGF0ZSA8dHlwZW5hbWUgVCwgYm9vbCwgYm9vbD4K KytzdHJ1Y3QgSworK3sKKysgIHR5cGVkZWYgVCBwYXJhbV90eXBlOworK307CisrdGVtcGxhdGUg PHR5cGVuYW1lIFQ+Cisrc3RydWN0IEwKKyt7CisrICB0eXBlZGVmIFQgY29uc3RfcmVmZXJlbmNl OworKyAgdHlwZWRlZiB0eXBlbmFtZSBLIDxULCBmYWxzZSwgZmFsc2U+OjpwYXJhbV90eXBlIHBh cmFtX3R5cGU7CisrfTsKKytzdHJ1Y3QgTTsKKyt0ZW1wbGF0ZSA8Ym9vbCwgdHlwZW5hbWUsIHR5 cGVuYW1lPgorK3N0cnVjdCBOOworK3RlbXBsYXRlIDx0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDI+ Cisrc3RydWN0IE4gPGZhbHNlLCBUMSwgVDI+CisreworKyAgdHlwZWRlZiBUMiB0eXBlOworK307 CisrdGVtcGxhdGUgPHR5cGVuYW1lIFQxID0gTSwgdHlwZW5hbWUgVDIgPSBNLCB0eXBlbmFtZSBU MyA9IE0+Cisrc3RydWN0IE8KKyt7CisrICB0eXBlZGVmIE4gPHN0YXRpY19jYXN0IDxib29sPiAo VDE6OnZhbHVlKSwgVDIsIFQzPiBhbG1vc3RfdHlwZV87CisrICB0eXBlZGVmIHR5cGVuYW1lIGFs bW9zdF90eXBlXzo6dHlwZSB0eXBlOworK307CisrdGVtcGxhdGUgPHR5cGVuYW1lIFQ+Cisrc3Ry dWN0IFAKKyt7CisrICB0eXBlZGVmIFQgdHlwZTsKKyt9OworK3RlbXBsYXRlIDx0eXBlbmFtZT4K KytzdHJ1Y3QgUQorK3sKKyt9OworK3RlbXBsYXRlIDx0eXBlbmFtZSBUPgorK3N0cnVjdCBSCisr eworKyAgdHlwZWRlZiBUICpUUDsKKysgIHR5cGVkZWYgVFAgUjo6KnR5cGU7CisrfTsKKyt0ZW1w bGF0ZSA8dHlwZW5hbWUgRGVyaXZlZFQsIHR5cGVuYW1lIEJhc2VUID0gUSA8RGVyaXZlZFQ+ID4K KytzdHJ1Y3QgUyA6IEJhc2VUCisreworKyAgdHlwZWRlZiBSIDxEZXJpdmVkVD4gaW1wbF90Owor KyAgdHlwZWRlZiB0eXBlbmFtZSBpbXBsX3Q6OnR5cGUgYm9vbF90eXBlOworKyAgb3BlcmF0b3Ig Ym9vbF90eXBlICgpOworK307CisrdGVtcGxhdGUgPHR5cGVuYW1lID0gSj4KKytzdHJ1Y3QgVSA6 IHB1YmxpYyBTIDxVIDw+ID4KKyt7CisrfTsKKytzdHJ1Y3QgcGFyc2VyX3RhZ19iYXNlCisrewor K307Cisrc3RydWN0IHBhcnNlcl9hZGRyZXNzX3RhZyA6IHBhcnNlcl90YWdfYmFzZQorK3sKKyt9 OworK3N0cnVjdCBpdGVyYXRpb25fcG9saWN5OworK3N0cnVjdCBhY3Rpb25fcG9saWN5OworK3N0 cnVjdCBVX3BvbGljeTsKKyt0ZW1wbGF0ZSA8dHlwZW5hbWUgPSBpdGVyYXRpb25fcG9saWN5LCB0 eXBlbmFtZSA9IFVfcG9saWN5LCB0eXBlbmFtZSA9IGFjdGlvbl9wb2xpY3k+Cisrc3RydWN0IHNj YW5uZXJfcG9saWNpZXM7CisrdGVtcGxhdGUgPHR5cGVuYW1lID0gY2hhciAqLCB0eXBlbmFtZSA9 IHNjYW5uZXJfcG9saWNpZXMgPD4gPgorK3N0cnVjdCBzY2FubmVyOworK3N0cnVjdCBpdGVyYXRp b25fcG9saWN5CisreworK307Cisrc3RydWN0IFVfcG9saWN5CisreworKyAgdGVtcGxhdGUgPHR5 cGVuYW1lPgorKyAgc3RydWN0IHJlc3VsdAorKyAgeworKyAgICB0eXBlZGVmIFUgPD4gdHlwZTsK KysgIH07CisrfTsKKyt0ZW1wbGF0ZSA8dHlwZW5hbWUgTWF0Y2hQb2xpY3lULCB0eXBlbmFtZSBU PgorK3N0cnVjdCBVX3Jlc3VsdAorK3sKKysgIHR5cGVkZWYgdHlwZW5hbWUgTWF0Y2hQb2xpY3lU Ojp0ZW1wbGF0ZSByZXN1bHQgPFQ+Ojp0eXBlIHR5cGU7CisrfTsKKytzdHJ1Y3QgYWN0aW9uX3Bv bGljeQorK3sKKyt9OworK3RlbXBsYXRlIDx0eXBlbmFtZSBJdGVyYXRpb25Qb2xpY3lULCB0eXBl bmFtZSBNYXRjaFBvbGljeVQsIHR5cGVuYW1lIEFjdGlvblBvbGljeVQ+Cisrc3RydWN0IHNjYW5u ZXJfcG9saWNpZXM6cHVibGljIEl0ZXJhdGlvblBvbGljeVQsIE1hdGNoUG9saWN5VCwgQWN0aW9u UG9saWN5VAorK3sKKyt9OworK3N0cnVjdCBzY2FubmVyX2Jhc2U7CisrdGVtcGxhdGUgPHR5cGVu YW1lIEl0ZXJhdG9yVCwgdHlwZW5hbWUgUG9saWNpZXNUPgorK3N0cnVjdCBzY2FubmVyIDogcHVi bGljIFBvbGljaWVzVAorK3sKKysgIHR5cGVkZWYgdHlwZW5hbWUgTCA8SXRlcmF0b3JUPjo6cGFy YW1fdHlwZSBpdGVyX3BhcmFtX3Q7CisrICBzY2FubmVyIChJdGVyYXRvclQsIGl0ZXJfcGFyYW1f dCwgUG9saWNpZXNUID0gUG9saWNpZXNUICgpKSA6IFBvbGljaWVzVCAoKSwgZmlyc3QgKCksIGxh c3QgKCkge30KKysgIEl0ZXJhdG9yVCBmaXJzdDsKKysgIEl0ZXJhdG9yVCBsYXN0OworK307Cisr dGVtcGxhdGUgPHR5cGVuYW1lLCB0eXBlbmFtZT4KKytzdHJ1Y3QgYWN0aW9uOworK3RlbXBsYXRl IDx0eXBlbmFtZSBQYXJzZXJULCB0eXBlbmFtZSBTY2FubmVyVD4KKytzdHJ1Y3QgcGFyc2VyX3Jl c3VsdAorK3sKKysgIHR5cGVkZWYgdHlwZW5hbWUgUCA8UGFyc2VyVD46OnR5cGUgcGFyc2VyX3R5 cGU7CisrICB0eXBlZGVmIHR5cGVuYW1lIHBhcnNlcl90eXBlOjp0ZW1wbGF0ZSByZXN1bHQgPFNj YW5uZXJUPjo6dHlwZSB0eXBlOworK307CisrdGVtcGxhdGUgPHR5cGVuYW1lIERlcml2ZWRUPgor K3N0cnVjdCBwYXJzZXIKKyt7CisrICB0eXBlZGVmIERlcml2ZWRUIGVtYmVkX3Q7CisrICB0ZW1w bGF0ZSA8dHlwZW5hbWUgU2Nhbm5lclQ+CisrICBzdHJ1Y3QgcmVzdWx0CisrICB7CisrICAgIHR5 cGVkZWYgdHlwZW5hbWUgVV9yZXN1bHQgPFNjYW5uZXJULCBKPjo6dHlwZSB0eXBlOworKyAgfTsK KysgIERlcml2ZWRUIGRlcml2ZWQgKCkgY29uc3Q7CisrICB0ZW1wbGF0ZSA8dHlwZW5hbWUgQWN0 aW9uVD4KKysgIGFjdGlvbiA8RGVyaXZlZFQsIEFjdGlvblQ+IG9wZXJhdG9yW10gKEFjdGlvblQp OworK307CisrdGVtcGxhdGUgPHR5cGVuYW1lID0gY2hhciAqPgorK3N0cnVjdCBwYXJzZV9pbmZv CisreworK307Cisrc3RydWN0IHNwYWNlX3BhcnNlcjsKKyt0ZW1wbGF0ZSA8dHlwZW5hbWUgU2tp cFQ+Cisrc3RydWN0IHBocmFzZV9wYXJzZXIKKyt7CisrICB0ZW1wbGF0ZSA8dHlwZW5hbWUgSXRl cmF0b3JULCB0eXBlbmFtZSBQYXJzZXJUPgorKyAgc3RhdGljIHBhcnNlX2luZm8gPD4gcGFyc2Ug KEl0ZXJhdG9yVCBmaXJzdF8sIEl0ZXJhdG9yVCBsYXN0LCBQYXJzZXJUIHAsIHNwYWNlX3BhcnNl ciBjb25zdCAmKQorKyAgeworKyAgICB0eXBlZGVmIHNjYW5uZXIgPD4gc2Nhbm5lcl90OworKyAg ICBJdGVyYXRvclQgZmlyc3QgPSBmaXJzdF87CisrICAgIHNjYW5uZXJfdCBzY2FuIChmaXJzdCwg bGFzdCk7CisrICAgIFUgPD4gaGl0ID0gcC5wYXJzZSAoc2Nhbik7CisrICAgIHJldHVybiBwYXJz ZV9pbmZvIDw+ICgpOworKyAgfQorK307CisrdGVtcGxhdGUgPHR5cGVuYW1lIEl0ZXJhdG9yVCwg dHlwZW5hbWUgUGFyc2VyVCwgdHlwZW5hbWUgU2tpcFQ+CisrcGFyc2VfaW5mbyA8PiBwYXJzZSAo SXRlcmF0b3JUIGZpcnN0LCBJdGVyYXRvclQgbGFzdCwgcGFyc2VyIDxQYXJzZXJUPiBwLCBwYXJz ZXIgPFNraXBUPiBza2lwKQorK3sKKysgIHBocmFzZV9wYXJzZXIgPFNraXBUPjo6cGFyc2UgKGZp cnN0LCBsYXN0LCBwLmRlcml2ZWQgKCksIHNraXAuZGVyaXZlZCAoKSk7CisrICByZXR1cm4gcGFy c2VfaW5mbyA8PiAoKTsKKyt9CisrdGVtcGxhdGUgPHR5cGVuYW1lIERlcml2ZWRUPgorK3N0cnVj dCBjaGFyX3BhcnNlciA6IHB1YmxpYyBwYXJzZXIgPERlcml2ZWRUPgorK3sKKyt9OworK3RlbXBs YXRlIDx0eXBlbmFtZSA9IGNoYXI+Cisrc3RydWN0IGNobGl0IDogcHVibGljIGNoYXJfcGFyc2Vy IDxjaGxpdCA8PiA+CisreworK307CisrdGVtcGxhdGUgPHR5cGVuYW1lID0gY2hhciAqPgorK3N0 cnVjdCBzdHJsaXQgOiBwdWJsaWMgcGFyc2VyIDxzdHJsaXQgPD4gPgorK3sKKyt9OworK3RlbXBs YXRlIDx0eXBlbmFtZSBDaGFyVD4KKytzdHJsaXQgPENoYXJUICo+IHN0cl9wIChDaGFyVCkKKyt7 CisrICByZXR1cm4gc3RybGl0IDxDaGFyVCAqPiAoKTsKKyt9Cisrc3RydWN0IHNwYWNlX3BhcnNl ciA6IHB1YmxpYyBjaGFyX3BhcnNlciA8c3BhY2VfcGFyc2VyPgorK3sKKyt9OworK3NwYWNlX3Bh cnNlciBzcGFjZV9wID0gc3BhY2VfcGFyc2VyICgpOworK3N0cnVjdCBlbmRfcGFyc2VyIDogcHVi bGljIHBhcnNlciA8ZW5kX3BhcnNlcj4KKyt7CisrfTsKKytlbmRfcGFyc2VyIGVuZF9wID0gZW5k X3BhcnNlciAoKTsKKyt0ZW1wbGF0ZSA8Y2xhc3MsIGNsYXNzLCBib29sLCBib29sLCBib29sPgor K3N0cnVjdCBjb21wcmVzc2VkX3BhaXJfc3dpdGNoOworK3RlbXBsYXRlIDxjbGFzcyBUMSwgY2xh c3MgVDI+Cisrc3RydWN0IGNvbXByZXNzZWRfcGFpcl9zd2l0Y2ggPFQxLCBUMiwgZmFsc2UsIGZh bHNlLCBmYWxzZT4KKyt7CisrICBzdGF0aWMgY29uc3QgaW50IHZhbHVlID0gMDsKKyt9OworK3Rl bXBsYXRlIDxjbGFzcywgY2xhc3MsIGludD4KKytzdHJ1Y3QgY29tcHJlc3NlZF9wYWlyX2ltcDsK Kyt0ZW1wbGF0ZSA8Y2xhc3MgVDEsIGNsYXNzIFQyPgorK3N0cnVjdCBjb21wcmVzc2VkX3BhaXJf aW1wIDxUMSwgVDIsIDA+CisreworKyAgdHlwZWRlZiBUMSBmaXJzdF90eXBlOworKyAgdHlwZWRl ZiBUMiBzZWNvbmRfdHlwZTsKKysgIHR5cGVkZWYgdHlwZW5hbWUgTCA8Zmlyc3RfdHlwZT46OnBh cmFtX3R5cGUgZmlyc3RfcGFyYW1fdHlwZTsKKysgIHR5cGVkZWYgdHlwZW5hbWUgTCA8c2Vjb25k X3R5cGU+OjpwYXJhbV90eXBlIHNlY29uZF9wYXJhbV90eXBlOworKyAgY29tcHJlc3NlZF9wYWly X2ltcCAoZmlyc3RfcGFyYW1fdHlwZSB4LCBzZWNvbmRfcGFyYW1fdHlwZSB5KSA6IGZpcnN0XyAo eCksIHNlY29uZF8gKHkpIHt9CisrICBmaXJzdF90eXBlIGZpcnN0XzsKKysgIHNlY29uZF90eXBl IHNlY29uZF87CisrfTsKKyt0ZW1wbGF0ZSA8Y2xhc3MgVDEsIGNsYXNzIFQyPgorK3N0cnVjdCBj b21wcmVzc2VkX3BhaXIgOiBwcml2YXRlIGNvbXByZXNzZWRfcGFpcl9pbXAgPFQxLCBUMiwgY29t cHJlc3NlZF9wYWlyX3N3aXRjaCA8VDEsIFQyLCBmYWxzZSwgZmFsc2UsIGZhbHNlPjo6dmFsdWU+ CisreworKyAgdHlwZWRlZiBjb21wcmVzc2VkX3BhaXJfaW1wIDxUMSwgVDIsIGNvbXByZXNzZWRf cGFpcl9zd2l0Y2ggPFQxLCBUMiwgZmFsc2UsIGZhbHNlLCBmYWxzZT46OnZhbHVlPiBiYXNlOwor KyAgdHlwZWRlZiBUMSBmaXJzdF90eXBlOworKyAgdHlwZWRlZiBUMiBzZWNvbmRfdHlwZTsKKysg IHR5cGVkZWYgdHlwZW5hbWUgTCA8Zmlyc3RfdHlwZT46OnBhcmFtX3R5cGUgZmlyc3RfcGFyYW1f dHlwZTsKKysgIHR5cGVkZWYgdHlwZW5hbWUgTCA8c2Vjb25kX3R5cGU+OjpwYXJhbV90eXBlIHNl Y29uZF9wYXJhbV90eXBlOworKyAgY29tcHJlc3NlZF9wYWlyIChmaXJzdF9wYXJhbV90eXBlIHgs IHNlY29uZF9wYXJhbV90eXBlIHkpOmJhc2UgKHgsIHkpIHt9CisrfTsKKyt0ZW1wbGF0ZSA8dHlw ZW5hbWUgUywgdHlwZW5hbWUgQmFzZVQ+Cisrc3RydWN0IHVuYXJ5IDogcHVibGljIEJhc2VUCisr eworKyAgdHlwZWRlZiB0eXBlbmFtZSBTOjplbWJlZF90IHN1YmplY3RfZW1iZWRfdDsKKysgIHN1 YmplY3RfZW1iZWRfdCBzdWJqOworK307CisrdGVtcGxhdGUgPHR5cGVuYW1lIEEsIHR5cGVuYW1l IEIsIHR5cGVuYW1lIEJhc2VUPgorK3N0cnVjdCBiaW5hcnkgOiBwdWJsaWMgQmFzZVQKKyt7Cisr ICB0eXBlZGVmIEJhc2VUIGJhc2VfdDsKKysgIHR5cGVkZWYgdHlwZW5hbWUgTCA8QT46OnBhcmFt X3R5cGUgbGVmdF9wYXJhbV90OworKyAgdHlwZWRlZiB0eXBlbmFtZSBMIDxBPjo6Y29uc3RfcmVm ZXJlbmNlIGxlZnRfcmV0dXJuX3Q7CisrICB0eXBlZGVmIHR5cGVuYW1lIEwgPEI+OjpwYXJhbV90 eXBlIHJpZ2h0X3BhcmFtX3Q7CisrICB0eXBlZGVmIHR5cGVuYW1lIEE6OmVtYmVkX3QgbGVmdF9l bWJlZF90OworKyAgdHlwZWRlZiB0eXBlbmFtZSBCOjplbWJlZF90IHJpZ2h0X2VtYmVkX3Q7Cisr ICBiaW5hcnkgKGxlZnRfcGFyYW1fdCBhLCByaWdodF9wYXJhbV90IGIpIDogYmFzZV90ICgpLCBz dWJqIChhLCBiKSB7fQorKyAgbGVmdF9yZXR1cm5fdCBsZWZ0ICgpOworKyAgY29tcHJlc3NlZF9w YWlyIDxsZWZ0X2VtYmVkX3QsIHJpZ2h0X2VtYmVkX3Q+IHN1Ymo7CisrfTsKKytzdHJ1Y3QgcGFy c2VyX2NvbnRleHRfYmFzZQorK3sKKyt9OworK3RlbXBsYXRlIDx0eXBlbmFtZT4KKytzdHJ1Y3Qg cGFyc2VyX2NvbnRleHRfbGlua2VyOworK3RlbXBsYXRlIDx0eXBlbmFtZSBBdHRyVCA9IEo+Cisr c3RydWN0IHBhcnNlcl9jb250ZXh0IDogcGFyc2VyX2NvbnRleHRfYmFzZQorK3sKKysgIHR5cGVk ZWYgQXR0clQgYXR0cl90OworKyAgdHlwZWRlZiBwYXJzZXJfY29udGV4dF9saW5rZXIgPHBhcnNl cl9jb250ZXh0IDw+ID4gY29udGV4dF9saW5rZXJfdDsKKyt9OworK3RlbXBsYXRlIDx0eXBlbmFt ZSBDb250ZXh0VCwgdHlwZW5hbWUgRGVyaXZlZFQ+Cisrc3RydWN0IGNvbnRleHRfYXV4IDogcHVi bGljIENvbnRleHRUOjpiYXNlX3Q6OnRlbXBsYXRlIGF1eCA8RGVyaXZlZFQ+CisreworK307Cisr dGVtcGxhdGUgPHR5cGVuYW1lIENvbnRleHRUPgorK3N0cnVjdCBwYXJzZXJfY29udGV4dF9saW5r ZXIgOiBDb250ZXh0VAorK3sKKyt9OworK3RlbXBsYXRlIDxjbGFzcyBUPgorK3N0cnVjdCBzY29w ZWRfcHRyCisreworKyAgVCAqcHg7CisrICBzY29wZWRfcHRyIChUICogPSAwKSB7fQorK307Cisr dGVtcGxhdGUgPCB0eXBlbmFtZSBCYXNlLCB0eXBlbmFtZSBEZXJpdmVkID4gc3RydWN0IGlzX2Jh c2VfYW5kX2Rlcml2ZWQKKyt7CisrICBzdGF0aWMgY29uc3QgYm9vbCB2YWx1ZSA9IGZhbHNlOwor K307CisrdGVtcGxhdGUgPHR5cGVuYW1lIEJhc2VULCB0eXBlbmFtZSBEZWZhdWx0VCwgdHlwZW5h bWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMj4KKytzdHJ1Y3QgZ2V0X3BhcmFtCisrewor KyAgdHlwZWRlZiB0eXBlbmFtZSBPIDxpc19iYXNlX2FuZF9kZXJpdmVkIDxCYXNlVCwgVDA+LCBU MCwgdHlwZW5hbWUgTyA8aXNfYmFzZV9hbmRfZGVyaXZlZCA8QmFzZVQsIFQxPiwgVDEsIHR5cGVu YW1lIE8gPGlzX2Jhc2VfYW5kX2Rlcml2ZWQgPEJhc2VULCBUMj4sIFQyLCBEZWZhdWx0VD46OnR5 cGU+Ojp0eXBlPjo6dHlwZSB0eXBlOworK307CisrdGVtcGxhdGUgPHR5cGVuYW1lIFQwLCB0eXBl bmFtZSBUMSwgdHlwZW5hbWUgVDI+Cisrc3RydWN0IGdldF9jb250ZXh0CisreworKyAgdHlwZWRl ZiB0eXBlbmFtZSBnZXRfcGFyYW0gPHBhcnNlcl9jb250ZXh0X2Jhc2UsIHBhcnNlcl9jb250ZXh0 IDw+LCBUMCwgVDEsIFQyPjo6dHlwZSB0eXBlOworK307CisrdGVtcGxhdGUgPHR5cGVuYW1lIFQw LCB0eXBlbmFtZSBUMSwgdHlwZW5hbWUgVDI+Cisrc3RydWN0IGdldF90YWcKKyt7CisrICB0eXBl ZGVmIHR5cGVuYW1lIGdldF9wYXJhbSA8cGFyc2VyX3RhZ19iYXNlLCBwYXJzZXJfYWRkcmVzc190 YWcsIFQwLCBUMSwgVDI+Ojp0eXBlIHR5cGU7CisrfTsKKyt0ZW1wbGF0ZSA8dHlwZW5hbWUgVDAs IHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMj4KKytzdHJ1Y3QgZ2V0X3NjYW5uZXIKKyt7CisrICB0 eXBlZGVmIHR5cGVuYW1lIGdldF9wYXJhbSA8c2Nhbm5lcl9iYXNlLCBzY2FubmVyIDw+LCBUMCwg VDEsIFQyPjo6dHlwZSB0eXBlOworK307CisrdGVtcGxhdGUgPHR5cGVuYW1lIERlcml2ZWRULCB0 eXBlbmFtZSwgdHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMj4KKytzdHJ1Y3Qg cnVsZV9iYXNlIDogcGFyc2VyIDxEZXJpdmVkVD4sIGdldF90YWcgPFQwLCBUMSwgVDI+Ojp0eXBl CisreworKyAgdHlwZWRlZiB0eXBlbmFtZSBnZXRfc2Nhbm5lciA8VDAsIFQxLCBUMj46OnR5cGUg c2Nhbm5lcl90OworKyAgdHlwZWRlZiB0eXBlbmFtZSBnZXRfY29udGV4dCA8VDAsIFQxLCBUMj46 OnR5cGUgY29udGV4dF90OworKyAgdHlwZWRlZiB0eXBlbmFtZSBjb250ZXh0X3Q6OmNvbnRleHRf bGlua2VyX3QgbGlua2VkX2NvbnRleHRfdDsKKysgIHR5cGVkZWYgdHlwZW5hbWUgbGlua2VkX2Nv bnRleHRfdDo6YXR0cl90IGF0dHJfdDsKKyt9OworK3RlbXBsYXRlIDx0eXBlbmFtZSBTY2FubmVy VCwgdHlwZW5hbWUgQXR0clQ+Cisrc3RydWN0IGFic3RyYWN0X3BhcnNlcgorK3sKKysgIHZpcnR1 YWwgfmFic3RyYWN0X3BhcnNlciAoKSB7fQorK307CisrdGVtcGxhdGUgPHR5cGVuYW1lIFBhcnNl clQsIHR5cGVuYW1lIFNjYW5uZXJULCB0eXBlbmFtZSBBdHRyVD4KKytzdHJ1Y3QgY29uY3JldGVf cGFyc2VyIDogYWJzdHJhY3RfcGFyc2VyIDxTY2FubmVyVCwgQXR0clQ+CisreworKyAgY29uY3Jl dGVfcGFyc2VyIChQYXJzZXJUIGNvbnN0ICZwKSA6IHAgKHApIHt9CisrICB2aXJ0dWFsIGFic3Ry YWN0X3BhcnNlciA8U2Nhbm5lclQsIEF0dHJUPiAqCisrICBjbG9uZSAoKQorKyAgeworKyAgICBy ZXR1cm4gbmV3IGNvbmNyZXRlX3BhcnNlciAocCk7CisrICB9CisrICB0eXBlbmFtZSBQYXJzZXJU OjplbWJlZF90IHA7CisrfTsKKyt0ZW1wbGF0ZSA8dHlwZW5hbWUgVDAsIHR5cGVuYW1lIFQxID0g SiwgdHlwZW5hbWUgVDIgPSBKPgorK3N0cnVjdCBydWxlIDogcnVsZV9iYXNlIDxydWxlIDxUMj4s IHJ1bGUgPFQwPiwgVDAsIFQxLCBUMj4KKyt7CisrICB0eXBlZGVmIHJ1bGUgPFQyPiBiYXNlX3Q7 CisrICB0eXBlZGVmIHR5cGVuYW1lIGJhc2VfdDo6c2Nhbm5lcl90IHNjYW5uZXJfdDsKKysgIHR5 cGVkZWYgdHlwZW5hbWUgYmFzZV90OjphdHRyX3QgYXR0cl90OworKyAgdHlwZWRlZiBhYnN0cmFj dF9wYXJzZXIgPHNjYW5uZXJfdCwgYXR0cl90PiBhYnN0cmFjdF9wYXJzZXJfdDsKKysgIHJ1bGUg KCkgOiBwdHIgKCkge30KKysgIHRlbXBsYXRlIDx0eXBlbmFtZSBQYXJzZXJUPgorKyAgcnVsZSAo UGFyc2VyVCBjb25zdCAmcCkgOiBwdHIgKG5ldyBjb25jcmV0ZV9wYXJzZXIgPFBhcnNlclQsIHNj YW5uZXJfdCwgYXR0cl90PiAocCkpCisrICB7CisrICB9CisrICBzY29wZWRfcHRyIDxhYnN0cmFj dF9wYXJzZXJfdD4gcHRyOworK307CisrdGVtcGxhdGUgPHR5cGVuYW1lLCB0eXBlbmFtZT4KKytz dHJ1Y3QgZ3JhbW1hcjsKKyt0ZW1wbGF0ZSA8dHlwZW5hbWUgRGVyaXZlZFQsIHR5cGVuYW1lIENv bnRleHRULCB0eXBlbmFtZSBTY2FubmVyVD4KKyt0eXBlbmFtZSBEZXJpdmVkVDo6dGVtcGxhdGUg ZGVmaW5pdGlvbiA8U2Nhbm5lclQ+IGdldF9kZWZpbml0aW9uIChncmFtbWFyIDxEZXJpdmVkVCwg Q29udGV4dFQ+ICpzZWxmKQorK3sKKysgIHR5cGVkZWYgdHlwZW5hbWUgRGVyaXZlZFQ6OnRlbXBs YXRlIGRlZmluaXRpb24gPFNjYW5uZXJUPiBkZWZpbml0aW9uX3Q7CisrICBkZWZpbml0aW9uX3Qg ZCAoc2VsZi0+ZGVyaXZlZCAoKSk7CisrICByZXR1cm4gZDsKKyt9CisrdGVtcGxhdGUgPGludCwg dHlwZW5hbWUgRGVyaXZlZFQsIHR5cGVuYW1lIENvbnRleHRULCB0eXBlbmFtZSBTY2FubmVyVD4K Kyt0eXBlbmFtZSBwYXJzZXJfcmVzdWx0IDxncmFtbWFyIDxEZXJpdmVkVCwgQ29udGV4dFQ+LCBT Y2FubmVyVD46OnR5cGUKKytncmFtbWFyX3BhcnNlcl9wYXJzZSAoZ3JhbW1hciA8IERlcml2ZWRU LCBDb250ZXh0VCA+ICpzZWxmLCBTY2FubmVyVCkKKyt7CisrICB0eXBlZGVmIHR5cGVuYW1lIHBh cnNlcl9yZXN1bHQgPGdyYW1tYXIgPERlcml2ZWRULCBDb250ZXh0VD4sIFNjYW5uZXJUPjo6dHlw ZSByZXN1bHRfdDsKKysgIGdldF9kZWZpbml0aW9uIDxEZXJpdmVkVCwgQ29udGV4dFQsIFNjYW5u ZXJUPiAoc2VsZik7CisrICByZXR1cm4gcmVzdWx0X3QgKCk7CisrfQorK3RlbXBsYXRlIDx0eXBl bmFtZSBEZXJpdmVkVCwgdHlwZW5hbWUgQ29udGV4dFQgPSBwYXJzZXJfY29udGV4dCA8PiA+Cisr c3RydWN0IGdyYW1tYXIgOiBwYXJzZXIgPERlcml2ZWRUPgorK3sKKysgIHR5cGVkZWYgZ3JhbW1h ciA8RGVyaXZlZFQ+IHNlbGZfdDsKKysgIHRlbXBsYXRlIDx0eXBlbmFtZSBTY2FubmVyVD4KKysg IHR5cGVuYW1lIHBhcnNlcl9yZXN1bHQgPHNlbGZfdCwgU2Nhbm5lclQ+Ojp0eXBlIHBhcnNlX21h aW4gKFNjYW5uZXJUICYgc2NhbikKKysgIHsKKysgICAgdHlwZWRlZiB0eXBlbmFtZSBwYXJzZXJf cmVzdWx0IDxzZWxmX3QsIFNjYW5uZXJUPjo6dHlwZSB0dDsKKysgICAgZ3JhbW1hcl9wYXJzZXJf cGFyc2UgPDA+ICh0aGlzLCBzY2FuKTsKKysgICAgcmV0dXJuIHR0ICgpOworKyAgfQorKyAgdGVt cGxhdGUgPHR5cGVuYW1lIFNjYW5uZXJUPgorKyAgdHlwZW5hbWUgcGFyc2VyX3Jlc3VsdCA8c2Vs Zl90LCBTY2FubmVyVD46OnR5cGUgcGFyc2UgKFNjYW5uZXJUICYgc2NhbikKKysgIHsKKysgICAg cmV0dXJuIHBhcnNlX21haW4gKHNjYW4pOworKyAgfQorK307CisrdGVtcGxhdGUgPHR5cGVuYW1l IFBhcnNlclQsIHR5cGVuYW1lIEFjdGlvblQ+Cisrc3RydWN0IGFjdGlvbiA6IHVuYXJ5IDxQYXJz ZXJULCBwYXJzZXIgPGFjdGlvbiA8UGFyc2VyVCwgQWN0aW9uVD4gPiA+CisreworKyAgQWN0aW9u VCBhY3RvcjsKKyt9OworK3RlbXBsYXRlIDx0eXBlbmFtZSBBLCB0eXBlbmFtZSBCPgorK3N0cnVj dCBzZXF1ZW5jZSA6IGJpbmFyeSA8QSwgQiwgcGFyc2VyIDxzZXF1ZW5jZSA8QSwgQj4gPiA+Cisr eworKyAgdHlwZWRlZiBzZXF1ZW5jZSA8QSwgQj4gc2VsZl90OworKyAgdGVtcGxhdGUgPHR5cGVu YW1lIFNjYW5uZXJUPgorKyAgdHlwZW5hbWUgcGFyc2VyX3Jlc3VsdCA8c2VsZl90LCBTY2FubmVy VD46OnR5cGUgcGFyc2UgKFNjYW5uZXJUICYgc2NhbikKKysgIHsKKysgICAgdHlwZWRlZiB0eXBl bmFtZSBwYXJzZXJfcmVzdWx0IDxzZWxmX3QsIFNjYW5uZXJUPjo6dHlwZSByZXN1bHRfdDsKKysg ICAgaWYgKHJlc3VsdF90IG1hID0gdGhpcy0+bGVmdCAoKS5wYXJzZSAoc2NhbikpCisrICAgICAg eworKyAgICAgIH0KKysgICAgcmV0dXJuIHRoaXMtPmxlZnQgKCkucGFyc2UgKHNjYW4pOworKyAg fQorK307CisrdGVtcGxhdGUgPHR5cGVuYW1lIEEsIHR5cGVuYW1lIEI+Cisrc2VxdWVuY2UgPEEs IEI+IG9wZXJhdG9yPj4gKHBhcnNlciA8QT4sIHBhcnNlciA8Qj4pOworK3RlbXBsYXRlIDx0eXBl bmFtZSBCPgorK3NlcXVlbmNlIDxjaGxpdCA8PiwgQj4gb3BlcmF0b3I+PiAoY2hhciwgcGFyc2Vy IDxCPik7CisrdGVtcGxhdGUgPHR5cGVuYW1lIEEsIHR5cGVuYW1lIEI+Cisrc3RydWN0IGFsdGVy bmF0aXZlIDogYmluYXJ5IDxBLCBCLCBwYXJzZXIgPGFsdGVybmF0aXZlIDxBLCBCPiA+ID4KKyt7 CisrICB0eXBlZGVmIGFsdGVybmF0aXZlIDxBLCBCPiBzZWxmX3Q7CisrICB0eXBlZGVmIGJpbmFy eSA8QSwgQiwgcGFyc2VyIDxzZWxmX3Q+ID4gYmFzZV90OworKyAgYWx0ZXJuYXRpdmUgKEEgY29u c3QgJmEsIEIgY29uc3QgJmIpOgorKyAgYmFzZV90IChhLCBiKSB7fQorK307CisrdGVtcGxhdGUg PHR5cGVuYW1lIEEsIHR5cGVuYW1lIEI+CisrYWx0ZXJuYXRpdmUgPEEsIEI+IG9wZXJhdG9yfCAo cGFyc2VyIDxBPiBjb25zdCAmYSwgcGFyc2VyIDxCPiBjb25zdCAmYikKKyt7CisrICBhbHRlcm5h dGl2ZSA8QSwgQj4gYyAoYS5kZXJpdmVkICgpLCBiLmRlcml2ZWQgKCkpOworKyAgcmV0dXJuIGM7 CisrfQorK25hbWVzcGFjZQorK3sKKysgIHR5cGVkZWYgY2hhciAqU3RyaW5nSXRlcmF0b3JUOwor KyAgc3RydWN0IFBhcnNlckNvbnRleHQ7CisrICB0eXBlZGVmIEMgPFBhcnNlckNvbnRleHQ+IFBh cnNlckNvbnRleHRTaGFyZWRQdHI7CisrICBzdHJ1Y3QgRW51bUZ1bmN0b3IKKysgIHsKKysgICAg RyBtZUZ1bmN0OworKyAgICBkb3VibGUgbW5WYWx1ZTsKKysgICAgUGFyc2VyQ29udGV4dFNoYXJl ZFB0ciBtcENvbnRleHQ7CisrICAgIEVudW1GdW5jdG9yIChHLCBQYXJzZXJDb250ZXh0U2hhcmVk UHRyKToKKysgICAgbXBDb250ZXh0ICgpIHt9CisrICB9OworKyAgc3RydWN0IEJpbmFyeUZ1bmN0 aW9uRnVuY3RvcgorKyAgeworKyAgICBHIG1lRnVuY3Q7CisrICAgIFBhcnNlckNvbnRleHRTaGFy ZWRQdHIgbXBDb250ZXh0OworKyAgICBCaW5hcnlGdW5jdGlvbkZ1bmN0b3IgKEcsIFBhcnNlckNv bnRleHRTaGFyZWRQdHIpOgorKyAgICBtcENvbnRleHQgKCkge30KKysgIH07CisrICBzdHJ1Y3Qg RXhwcmVzc2lvbkdyYW1tYXIgOiBncmFtbWFyIDxFeHByZXNzaW9uR3JhbW1hcj4KKysgIHsKKysg ICAgRXhwcmVzc2lvbkdyYW1tYXIgKFBhcnNlckNvbnRleHRTaGFyZWRQdHIpIHt9CisrICAgIHRl bXBsYXRlIDx0eXBlbmFtZSBTY2FubmVyVD4KKysgICAgc3RydWN0IGRlZmluaXRpb24KKysgICAg eworKyAgICAgIGRlZmluaXRpb24gKEV4cHJlc3Npb25HcmFtbWFyIHNlbGYpCisrICAgICAgewor KwlpZCA9IHN0cl9wICgicGkiKVtFbnVtRnVuY3RvciAoR1gxLCBzZWxmLmdldENvbnRleHQgKCkp XSB8CisrCSAgICAgc3RyX3AgKCJsZWZ0IilbRW51bUZ1bmN0b3IgKEdYMiwgc2VsZi5nZXRDb250 ZXh0ICgpKV0gfAorKwkgICAgIHN0cl9wICgiYm90dG9tIilbRW51bUZ1bmN0b3IgKEdYMywgc2Vs Zi5nZXRDb250ZXh0ICgpKV0gfAorKwkgICAgIHN0cl9wICgieHN0cmV0Y2giKVtFbnVtRnVuY3Rv ciAoR1g0LCBzZWxmLmdldENvbnRleHQgKCkpXSB8CisrCSAgICAgc3RyX3AgKCJ5c3RyZXRjaCIp W0VudW1GdW5jdG9yIChHWDUsIHNlbGYuZ2V0Q29udGV4dCAoKSldIHwKKysJICAgICBtb2RpZmll clJlZmVyZW5jZSB8CisrCSAgICAgKCgnKycgPj4gbXVsdGlwbGljYXRpdmVFeHByZXNzaW9uKVtC aW5hcnlGdW5jdGlvbkZ1bmN0b3IgKEdYNiwgc2VsZi5nZXRDb250ZXh0ICgpKV0gfAorKwkgICAg ICAoJy0nID4+IG11bHRpcGxpY2F0aXZlRXhwcmVzc2lvbilbQmluYXJ5RnVuY3Rpb25GdW5jdG9y IChHWDcsIHNlbGYuZ2V0Q29udGV4dCAoKSldKTsKKysgICAgICB9CisrICAgICAgcnVsZSA8U2Nh bm5lclQ+IG11bHRpcGxpY2F0aXZlRXhwcmVzc2lvbjsKKysgICAgICBydWxlIDxTY2FubmVyVD4g bW9kaWZpZXJSZWZlcmVuY2U7CisrICAgICAgcnVsZSA8U2Nhbm5lclQ+IGlkOworKyAgICB9Owor KyAgICBQYXJzZXJDb250ZXh0U2hhcmVkUHRyIGdldENvbnRleHQgKCk7CisrICB9OworK30KKyt2 b2lkCisrRnVuY3Rpb25QYXJzZXIgKEUgckZ1bmN0aW9uLCBGICYpCisreworKyAgRCByQXNjaWlG dW5jdGlvbiAoRVRvRCAockZ1bmN0aW9uLCAxMVUpKTsKKysgIFN0cmluZ0l0ZXJhdG9yVCBhU3Rh cnQgKHJBc2NpaUZ1bmN0aW9uLmdldFN0ciAoKSk7CisrICBTdHJpbmdJdGVyYXRvclQgYUVuZDsK KysgIFBhcnNlckNvbnRleHRTaGFyZWRQdHIgcENvbnRleHQ7CisrICBFeHByZXNzaW9uR3JhbW1h ciBhRXhwcmVzc2lvbkdyYW1tZXIgKHBDb250ZXh0KTsKKysgIHBhcnNlX2luZm8gPD4geCAocGFy c2UgKGFTdGFydCwgYUVuZCwgYUV4cHJlc3Npb25HcmFtbWVyID4+IGVuZF9wLCBzcGFjZV9wKSk7 CisrfQorZGlmZiAtLWdpdCBhL2xpYmdjYy9jb25maWcvaWE2NC9jcnRiZWdpbi5TIGIvbGliZ2Nj L2NvbmZpZy9pYTY0L2NydGJlZ2luLlMKK2luZGV4IGMwM2UzNWExN2ZlLi4zN2FhOTA0OThlOCAx MDA2NDQKKy0tLSBhL2xpYmdjYy9jb25maWcvaWE2NC9jcnRiZWdpbi5TCisrKysgYi9saWJnY2Mv Y29uZmlnL2lhNjQvY3J0YmVnaW4uUworQEAgLTE4NSwzICsxODUsNyBAQCBfX2RvX2dsb2JhbF9k dG9yc19hdXg6CisgLndlYWsgX19jeGFfZmluYWxpemUKKyAjZW5kaWYKKyAud2VhayBfSnZfUmVn aXN0ZXJDbGFzc2VzCisrCisrI2lmZGVmIF9fbGludXhfXworKy5zZWN0aW9uIC5ub3RlLkdOVS1z dGFjazsgLnByZXZpb3VzCisrI2VuZGlmCitkaWZmIC0tZ2l0IGEvbGliZ2NjL2NvbmZpZy9pYTY0 L2NydGVuZC5TIGIvbGliZ2NjL2NvbmZpZy9pYTY0L2NydGVuZC5TCitpbmRleCA5MWU4MmRiNmNm ZS4uYTdhNzkyOWM2N2UgMTAwNjQ0CistLS0gYS9saWJnY2MvY29uZmlnL2lhNjQvY3J0ZW5kLlMK KysrKyBiL2xpYmdjYy9jb25maWcvaWE2NC9jcnRlbmQuUworQEAgLTExNCwzICsxMTQsNyBAQCBf X2RvX2dsb2JhbF9jdG9yc19hdXg6CisgCisgCWJyLnJldC5zcHRrLm1hbnkgcnAKKyAJLmVuZHAg X19kb19nbG9iYWxfY3RvcnNfYXV4CisrCisrI2lmZGVmIF9fbGludXhfXworKy5zZWN0aW9uIC5u b3RlLkdOVS1zdGFjazsgLnByZXZpb3VzCisrI2VuZGlmCitkaWZmIC0tZ2l0IGEvbGliZ2NjL2Nv bmZpZy9pYTY0L2NydGkuUyBiL2xpYmdjYy9jb25maWcvaWE2NC9jcnRpLlMKK2luZGV4IGFhZDUx ZTYyODhmLi4xZDM4MmQ2YTljNSAxMDA2NDQKKy0tLSBhL2xpYmdjYy9jb25maWcvaWE2NC9jcnRp LlMKKysrKyBiL2xpYmdjYy9jb25maWcvaWE2NC9jcnRpLlMKK0BAIC01MSwzICs1MSw3IEBAIF9m aW5pOgorIAkuYm9keQorIAorICMgZW5kIG9mIGNydGkuUworKworKyNpZmRlZiBfX2xpbnV4X18K Kysuc2VjdGlvbiAubm90ZS5HTlUtc3RhY2s7IC5wcmV2aW91cworKyNlbmRpZgorZGlmZiAtLWdp dCBhL2xpYmdjYy9jb25maWcvaWE2NC9jcnRuLlMgYi9saWJnY2MvY29uZmlnL2lhNjQvY3J0bi5T CitpbmRleCBhZjU1MTk5MTcwMC4uMmZlMjhlZTk0NWMgMTAwNjQ0CistLS0gYS9saWJnY2MvY29u ZmlnL2lhNjQvY3J0bi5TCisrKysgYi9saWJnY2MvY29uZmlnL2lhNjQvY3J0bi5TCitAQCAtNDEs MyArNDEsNyBAQAorIAlici5yZXQuc3B0ay5tYW55IGIwCisgCisgIyBlbmQgb2YgY3J0bi5TCisr CisrI2lmZGVmIF9fbGludXhfXworKy5zZWN0aW9uIC5ub3RlLkdOVS1zdGFjazsgLnByZXZpb3Vz CisrI2VuZGlmCitkaWZmIC0tZ2l0IGEvbGliZ2NjL2NvbmZpZy9pYTY0L2xpYjFmdW5jcy5TIGIv bGliZ2NjL2NvbmZpZy9pYTY0L2xpYjFmdW5jcy5TCitpbmRleCA0NTI4MDllYmUxMS4uZmVlMGU4 MjEzNDggMTAwNjQ0CistLS0gYS9saWJnY2MvY29uZmlnL2lhNjQvbGliMWZ1bmNzLlMKKysrKyBi L2xpYmdjYy9jb25maWcvaWE2NC9saWIxZnVuY3MuUworQEAgLTc5MywzICs3OTMsNyBAQCBfX2Zs b2F0dGl0ZjoKKyAJLmVuZHAgX19mbG9hdHRpdGYKKyAjZW5kaWYKKyAjZW5kaWYKKysKKysjaWZk ZWYgX19saW51eF9fCisrLnNlY3Rpb24gLm5vdGUuR05VLXN0YWNrOyAucHJldmlvdXMKKysjZW5k aWYKK2RpZmYgLS1naXQgYS9saWJnY2MvY3J0c3R1ZmYuYyBiL2xpYmdjYy9jcnRzdHVmZi5jCitp bmRleCBhZWFjMjJiZjFlNC4uZTRlNmFmYmU2M2UgMTAwNjQ0CistLS0gYS9saWJnY2MvY3J0c3R1 ZmYuYworKysrIGIvbGliZ2NjL2NydHN0dWZmLmMKK0BAIC0zMzYsMTUgKzMzNiwxNSBAQCByZWdp c3Rlcl90bV9jbG9uZXMgKHZvaWQpCisgICAgZG9lc24ndCBuZWVkIHRvIGJlIGRlZmluZWQuICAq LworIAorICNpZmRlZiBUQVJHRVRfTElCR0NDX1NEQVRBX1NFQ1RJT04KKy1leHRlcm4gdm9pZCAq X19kc29faGFuZGxlIF9fYXR0cmlidXRlX18gKChfX3NlY3Rpb25fXyAoVEFSR0VUX0xJQkdDQ19T REFUQV9TRUNUSU9OKSkpOworK2V4dGVybiB2b2lkICpjb25zdCBfX2Rzb19oYW5kbGUgX19hdHRy aWJ1dGVfXyAoKF9fc2VjdGlvbl9fIChUQVJHRVRfTElCR0NDX1NEQVRBX1NFQ1RJT04pKSk7Cisg I2VuZGlmCisgI2lmZGVmIEhBVkVfR0FTX0hJRERFTgorLWV4dGVybiB2b2lkICpfX2Rzb19oYW5k bGUgX19hdHRyaWJ1dGVfXyAoKF9fdmlzaWJpbGl0eV9fICgiaGlkZGVuIikpKTsKKytleHRlcm4g dm9pZCAqY29uc3QgX19kc29faGFuZGxlIF9fYXR0cmlidXRlX18gKChfX3Zpc2liaWxpdHlfXyAo ImhpZGRlbiIpKSk7CisgI2VuZGlmCisgI2lmZGVmIENSVFNUVUZGU19PCistdm9pZCAqX19kc29f aGFuZGxlID0gJl9fZHNvX2hhbmRsZTsKKyt2b2lkICpjb25zdCBfX2Rzb19oYW5kbGUgPSAodm9p ZCAqIGNvbnN0KSZfX2Rzb19oYW5kbGU7CisgI2Vsc2UKKy12b2lkICpfX2Rzb19oYW5kbGUgPSAw OworK3ZvaWQgKmNvbnN0IF9fZHNvX2hhbmRsZSA9IDA7CisgI2VuZGlmCisgI2VuZGlmIC8qIERF RkFVTFRfVVNFX0NYQV9BVEVYSVQgKi8KKyAKKy0tIAorMi41Mi4wCisKCmRpZmYgLS1naXQgYS9n Y2Muc3BlYyBiL2djYy5zcGVjCmluZGV4IGFmMDk2NzguLmNjMzY4YTIgMTAwNjQ0Ci0tLSBhL2dj Yy5zcGVjCisrKyBiL2djYy5zcGVjCkBAIC0xLDEwICsxLDE5IEBACi0lZ2xvYmFsIERBVEUgMjAy NjA1MTUKLSVnbG9iYWwgZ2l0cmV2IGQ3NzZmNDJiYjkxMGViY2NmNjUyYjAxMGI4MGMyMmJjY2E3 MzZmN2YKLSVnbG9iYWwgZ2NjX3ZlcnNpb24gMTYuMS4xCi0lZ2xvYmFsIGdjY19tYWpvciAxNgor JWdsb2JhbCBzbmFwc2hvdF9idWlsZCAxCislZ2xvYmFsIERBVEUgMjAyNjA1MTQKKyVnbG9iYWwg Z2l0cmV2IGMxZjZmZDBjNjFiZjMwMzMzYTVmMjEwMWI3YmFjNmU0ODdjNTY5NjQKKyVnbG9iYWwg Z2NjX3ZlcnNpb24gMTcuMC4wCislZ2xvYmFsIGdjY19tYWpvciAxNwogIyBOb3RlLCBnY2NfcmVs ZWFzZSBtdXN0IGJlIGludGVnZXIsIGlmIHlvdSB3YW50IHRvIGFkZCBzdWZmaXhlcyB0bwotIyAl JXtyZWxlYXNlfSwgYXBwZW5kIHRoZW0gYWZ0ZXIgJSV7Z2NjX3JlbGVhc2V9IG9uIFJlbGVhc2U6 IGxpbmUuCi0lZ2xvYmFsIGdjY19yZWxlYXNlIDIKKyMgJSV7cmVsZWFzZX0sIHNldCBnY2NfcmVs ZWFzZV9zdWZmaXguCislaWYgJXtzbmFwc2hvdF9idWlsZH0KKyVnbG9iYWwgc25hcGV4dCBzCisl Z2xvYmFsIGdjY19yZWxlYXNlIDk5OQorJWdsb2JhbCBnY2NfcmVsZWFzZV9zdWZmaXggLiV7REFU RX0le3NuYXBleHR9LjAKKyVlbHNlCislZ2xvYmFsIGdjY19yZWxlYXNlIDAKKyVnbG9iYWwgZ2Nj X3JlbGVhc2Vfc3VmZml4IC4xMQorJWVuZGlmCislZ2xvYmFsIGdjY19iYXNlZGlyIGdjYy0le3Zl cnNpb259LSV7REFURX0lez9zbmFwZXh0fQogJWdsb2JhbCBudnB0eF90b29sc19naXRyZXYgMjEy ZGEyZTc4MWVkMGY5NDIzODI0ZTg1ZWIwNDgxOTk1ODUxM2Y3YQogJWdsb2JhbCBuZXdsaWJfY3ln d2luX2dpdHJldiBkMzVjYzgyYjVlYzE1YmI4YTVmZTBmZTExZTE4M2QxODg3OTkyZTk5CiAlZ2xv YmFsIF91bnBhY2thZ2VkX2ZpbGVzX3Rlcm1pbmF0ZV9idWlsZCAwCkBAIC0xNTYsMTAgKzE2NSwz MCBAQAogJWVsc2UKICVnbG9iYWwgYnVpbGRfYW5ub2Jpbl9wbHVnaW4gMAogJWVuZGlmCisjIEEg c25hcHNob3QgYnVpbGQgb25seSBoYXMgQywgQysrIGFuZCBGb3J0cmFuIHN1cHBvcnQuICBFeHBs aWNpdGx5IGRpc2FibGUKKyMgZXZlcnl0aGluZyBlbHNlLgorJWlmICV7c25hcHNob3RfYnVpbGR9 CislZ2xvYmFsIGJ1aWxkX2FkYSAwCislZ2xvYmFsIGJ1aWxkX2NvYm9sIDAKKyVnbG9iYWwgYnVp bGRfZCAwCislZ2xvYmFsIGJ1aWxkX2dvIDAKKyVnbG9iYWwgYnVpbGRfaXNsIDAKKyVnbG9iYWwg YnVpbGRfbGliYXNhbiAwCislZ2xvYmFsIGJ1aWxkX2xpYmF0b21pYyAwCislZ2xvYmFsIGJ1aWxk X2xpYmh3YXNhbiAwCislZ2xvYmFsIGJ1aWxkX2xpYml0bSAwCislZ2xvYmFsIGJ1aWxkX2xpYmxz YW4gMAorJWdsb2JhbCBidWlsZF9saWJ0c2FuIDAKKyVnbG9iYWwgYnVpbGRfbGlidWJzYW4gMAor JWdsb2JhbCBidWlsZF9tMiAwCislZ2xvYmFsIGJ1aWxkX29iamMgMAorJWdsb2JhbCBidWlsZF9v ZmZsb2FkX2FtZGdjbiAwCislZ2xvYmFsIGJ1aWxkX29mZmxvYWRfbnZwdHggMAorJWVuZGlmCiBT dW1tYXJ5OiBWYXJpb3VzIGNvbXBpbGVycyAoQywgQysrLCBPYmplY3RpdmUtQywgLi4uKQogTmFt ZTogZ2NjCiBWZXJzaW9uOiAle2djY192ZXJzaW9ufQotUmVsZWFzZTogJXtnY2NfcmVsZWFzZX0l ez9kaXN0fQorUmVsZWFzZTogJXtnY2NfcmVsZWFzZX0lez9nY2NfcmVsZWFzZV9zdWZmaXh9JXs/ ZGlzdH0KICMgTGljZW5zZSBub3RlcyBmb3Igc29tZSBvZiB0aGUgbGVzcyBvYnZpb3VzIG9uZXM6 CiAjICAgZ2NjL2RvYy9jcHBpbnRlcm5hbHMudGV4aTogTGludXgtbWFuLXBhZ2VzLWNvcHlsZWZ0 LTItcGFyYQogIyAgIGlzbDogTUlULCBCU0QtMi1DbGF1c2UKQEAgLTE2OCwxNiArMTk3LDE4IEBA IFJlbGVhc2U6ICV7Z2NjX3JlbGVhc2V9JXs/ZGlzdH0KICMgQWxsIG9mIHRoZSByZW1haW5pbmcg bGljZW5zZSBzb3VwIGlzIGluIG5ld2xpYi4KIExpY2Vuc2U6IEdQTC0zLjAtb3ItbGF0ZXIgQU5E IExHUEwtMy4wLW9yLWxhdGVyIEFORCAoR1BMLTMuMC1vci1sYXRlciBXSVRIIEdDQy1leGNlcHRp b24tMy4xKSBBTkQgKEdQTC0zLjAtb3ItbGF0ZXIgV0lUSCBUZXhpbmZvLWV4Y2VwdGlvbikgQU5E IChMR1BMLTIuMS1vci1sYXRlciBXSVRIIEdDQy1leGNlcHRpb24tMi4wKSBBTkQgKEdQTC0yLjAt b3ItbGF0ZXIgV0lUSCBHQ0MtZXhjZXB0aW9uLTIuMCkgQU5EIChHUEwtMi4wLW9yLWxhdGVyIFdJ VEggR05VLWNvbXBpbGVyLWV4Y2VwdGlvbikgQU5EIEJTTC0xLjAgQU5EIEdGREwtMS4zLW9yLWxh dGVyIEFORCBMaW51eC1tYW4tcGFnZXMtY29weWxlZnQtMi1wYXJhIEFORCBTdW5Qcm8gQU5EIEJT RC0xLUNsYXVzZSBBTkQgQlNELTItQ2xhdXNlIEFORCBCU0QtMi1DbGF1c2UtVmlld3MgQU5EIEJT RC0zLUNsYXVzZSBBTkQgQlNELTQtQ2xhdXNlIEFORCBCU0QtU291cmNlLUNvZGUgQU5EIFpsaWIg QU5EIE1JVCBBTkQgQXBhY2hlLTIuMCBBTkQgKEFwYWNoZS0yLjAgV0lUSCBMTFZNLUV4Y2VwdGlv bikgQU5EIFpQTC0yLjEgQU5EIElTQyBBTkQgTGljZW5zZVJlZi1GZWRvcmEtUHVibGljLURvbWFp biBBTkQgSFAtMTk4NiBBTkQgY3VybCBBTkQgTWFydGluLUJpcmdtZWllciBBTkQgSFBORC1NYXJr dXMtS3VobiBBTkQgZHRvYSBBTkQgU01MTkogQU5EIEFNRC1uZXdsaWIgQU5EIE9BUiBBTkQgSFBO RC1tZXJjaGFudGFiaWxpdHktdmFyaWFudCBBTkQgSFBORC1JbnRlbAogIyBUaGUgc291cmNlIGZv ciB0aGlzIHBhY2thZ2Ugd2FzIHB1bGxlZCBmcm9tIHVwc3RyZWFtJ3MgdmNzLgotIyAlJXtnaXRy ZXZ9IGlzIHNvbWUgY29tbWl0IGZyb20gdGhlCisjIEZvciByZWxlYXNlIHBhY2thZ2VzLCAlJXtn aXRyZXZ9IGlzIHNvbWUgY29tbWl0IGZyb20gdGhlCiAjIGh0dHBzOi8vZ2NjLmdudS5vcmcvZ2l0 Lz9wPWdjYy5naXQ7aD1yZWZzL3ZlbmRvcnMvcmVkaGF0L2hlYWRzL2djYy0lJXtnY2NfbWFqb3J9 LWJyYW5jaAotIyBicmFuY2guICBVc2UgdGhlIGZvbGxvd2luZyBjb21tYW5kIHRvIGdlbmVyYXRl IHRoZSB0YXJiYWxsOgorIyBicmFuY2guICBGb3Igc25hcHNob3RzIHRoaXMgZ2l0IHJlZiBpcyBm cm9tIHRydW5rLgorIworIyBVc2UgdGhlIGZvbGxvd2luZyBjb21tYW5kIHRvIGdlbmVyYXRlIHRo ZSB0YXJiYWxsOgogIyAuL3VwZGF0ZS1nY2Muc2ggJSV7Z2l0cmV2fQogIyBvcHRpb25hbGx5IGlm IHNheSAvdXNyL3NyYy9nY2MvLmdpdC8gaXMgYW4gZXhpc3RpbmcgZ2NjIGdpdCBjbG9uZQogIyAu L3VwZGF0ZS1nY2Muc2ggJSV7Z2l0cmV2fSAvdXNyL3NyYy9nY2MvLmdpdC8KICMgdG8gc3BlZWQg dXAgdGhlIGNsb25lIG9wZXJhdGlvbnMuICBOb3RlLCAlJXtnaXRyZXZ9IG1hY3JvIGluCiAjIGdj Yy5zcGVjIHNob3VsZG4ndCBiZSB1cGRhdGVkIGJlZm9yZSBydW5uaW5nIHRoZSBzY3JpcHQsIHRo ZSBzY3JpcHQKICMgd2lsbCB1cGRhdGUgaXQsIGZpbGwgaW4gc29tZSAlJWNoYW5nZWxvZyBkZXRh aWxzIGV0Yy4KLVNvdXJjZTA6IGdjYy0le3ZlcnNpb259LSV7REFURX0udGFyLnh6CitTb3VyY2Uw OiAle2djY19iYXNlZGlyfS50YXIueHoKICMgVGhlIHNvdXJjZSBmb3IgbnZwdHgtdG9vbHMgcGFj a2FnZSB3YXMgcHVsbGVkIGZyb20gdXBzdHJlYW0ncyB2Y3MuICBVc2UgdGhlCiAjIGZvbGxvd2lu ZyBjb21tYW5kcyB0byBnZW5lcmF0ZSB0aGUgdGFyYmFsbDoKICMgZ2l0IGNsb25lIC0tZGVwdGgg MSBodHRwczovL2dpdGh1Yi5jb20vTWVudG9yRW1iZWRkZWQvbnZwdHgtdG9vbHMuZ2l0IG52cHR4 LXRvb2xzLWRpci50bXAKQEAgLTMxMSwyMiArMzQyLDI2IEBAIFByb3ZpZGVzOiBidW5kbGVkKGxp YmJhY2t0cmFjZSkKIFByb3ZpZGVzOiBidW5kbGVkKGxpYmZmaSkKIFByb3ZpZGVzOiBnY2MobWFq b3IpID0gJXtnY2NfbWFqb3J9CiAKLVBhdGNoMDogZ2NjMTYtaGFjay5wYXRjaAotUGF0Y2gyOiBn Y2MxNi1zcGFyYy1jb25maWctZGV0ZWN0aW9uLnBhdGNoCi1QYXRjaDM6IGdjYzE2LWxpYmdvbXAt b21wX2gtbXVsdGlsaWIucGF0Y2gKLVBhdGNoNDogZ2NjMTYtbGlidG9vbC1uby1ycGF0aC5wYXRj aAotUGF0Y2g1OiBnY2MxNi1pc2wtZGwucGF0Y2gKLVBhdGNoNjogZ2NjMTYtaXNsLWRsMi5wYXRj aAotUGF0Y2g3OiBnY2MxNi1saWJzdGRjKystZG9jcy5wYXRjaAotUGF0Y2g4OiBnY2MxNi1uby1h ZGQtbmVlZGVkLnBhdGNoCi1QYXRjaDk6IGdjYzE2LVduby1mb3JtYXQtc2VjdXJpdHkucGF0Y2gK LVBhdGNoMTA6IGdjYzE2LXJoMTU3NDkzNi5wYXRjaAotUGF0Y2gxMTogZ2NjMTYtZC1zaGFyZWQt bGlicGhvYm9zLnBhdGNoCi1QYXRjaDEyOiBnY2MxNi1wcjExOTAwNi5wYXRjaAorIyBPbmx5IHVz ZWQgZm9yIHNuYXBzaG90IGJ1aWxkczsgdGhlIHZlbmRvciBicmFuY2ggdXBzdHJlYW0gaGFzIHRo ZXNlIGNoYW5nZXMKKyMgaW4gdGhlIGJyYW5jaCBpdHNlbGYuCitQYXRjaDA6IGdjYy1yZWRoYXQt Y3VzdG9taXphdGlvbnMucGF0Y2gKKworUGF0Y2gxOiBnY2MxNy1oYWNrLnBhdGNoCitQYXRjaDI6 IGdjYzE3LXNwYXJjLWNvbmZpZy1kZXRlY3Rpb24ucGF0Y2gKK1BhdGNoMzogZ2NjMTctbGliZ29t cC1vbXBfaC1tdWx0aWxpYi5wYXRjaAorUGF0Y2g0OiBnY2MxNy1saWJ0b29sLW5vLXJwYXRoLnBh dGNoCitQYXRjaDU6IGdjYzE3LWlzbC1kbC5wYXRjaAorUGF0Y2g2OiBnY2MxNy1pc2wtZGwyLnBh dGNoCitQYXRjaDc6IGdjYzE3LWxpYnN0ZGMrKy1kb2NzLnBhdGNoCitQYXRjaDg6IGdjYzE3LW5v LWFkZC1uZWVkZWQucGF0Y2gKK1BhdGNoOTogZ2NjMTctV25vLWZvcm1hdC1zZWN1cml0eS5wYXRj aAorUGF0Y2gxMDogZ2NjMTctcmgxNTc0OTM2LnBhdGNoCitQYXRjaDExOiBnY2MxNy1kLXNoYXJl ZC1saWJwaG9ib3MucGF0Y2gKK1BhdGNoMTI6IGdjYzE3LXByMTE5MDA2LnBhdGNoCiAKIFBhdGNo NTA6IGlzbC1yaDIxNTUxMjcucGF0Y2gKIAotUGF0Y2gxMDA6IGdjYzE2LWZvcnRyYW4tZmRlYy1k dXBsaWNhdGVzLnBhdGNoCitQYXRjaDEwMDogZ2NjMTctZm9ydHJhbi1mZGVjLWR1cGxpY2F0ZXMu cGF0Y2gKIAogIyBPbiBBUk0gRUFCSSBzeXN0ZW1zLCB3ZSBkbyB3YW50IC1nbnVlYWJpIHRvIGJl IHBhcnQgb2YgdGhlCiAjIHRhcmdldCB0cmlwbGUuCkBAIC05NjUsOCArMTAwMCwxMSBAQCBvZiB0 aGUgcGx1Z2luIGlzIGV4cGxpY2l0bHkgYnVpbHQgYnkgdGhlIHNhbWUgdmVyc2lvbiBvZiBnY2Mg dGhhdCBpcyBpbnN0YWxsZWQKIHNvIHRoYXQgdGhlcmUgY2Fubm90IGJlIGFueSBzeW5jaHJvbml6 YXRpb24gcHJvYmxlbXMuCiAKICVwcmVwCi0lc2V0dXAgLXEgLW4gZ2NjLSV7dmVyc2lvbn0tJXtE QVRFfSAtYSAxIC1hIDIgLWEgMwotJWF1dG9wYXRjaCAtcDAgLW0gMCAtTSA0Cislc2V0dXAgLXEg LW4gJXtnY2NfYmFzZWRpcn0gLWEgMSAtYSAyIC1hIDMKKyVpZiAle3NuYXBzaG90X2J1aWxkfQor JXBhdGNoIC1QIDAgLXAxCislZW5kaWYKKyVhdXRvcGF0Y2ggLXAwIC1tIDEgLU0gNAogJWlmICV7 YnVpbGRfaXNsfQogJWF1dG9wYXRjaCAtcDAgLW0gNSAtTSA2CiAlZW5kaWYKQEAgLTk5MCw3ICsx MDI4LDcgQEAgcm0gLWYgZ2NjL3Rlc3RzdWl0ZS9nby50ZXN0L3Rlc3QvZml4ZWRidWdzL2lzc3Vl MTkxODIuZ28KIHJtIC1mIGxpYnBob2Jvcy90ZXN0c3VpdGUvbGlicGhvYm9zLmdjL2ZvcmtnYzIu ZAogI3JtIC1yZiBsaWJwaG9ib3MvdGVzdHN1aXRlL2xpYnBob2Jvcy5nYwogCi1lY2hvICdSZWQg SGF0ICV7dmVyc2lvbn0tJXtnY2NfcmVsZWFzZX0nID4gZ2NjL0RFVi1QSEFTRQorZWNobyAnUmVk IEhhdCAle3ZlcnNpb259LSV7Z2NjX3JlbGVhc2V9JXtnY2NfcmVsZWFzZV9zdWZmaXh9JyA+IGdj Yy9ERVYtUEhBU0UKIAogLi9jb250cmliL2djY191cGRhdGUgLS10b3VjaAogCkBAIC0xMzY2LDYg KzE0MDQsOSBAQCBDT05GSUdVUkVfT1BUUz0iXAogJWlmICV7YnVpbGRfbGliaXRtfSA9PSAwCiAJ LS1kaXNhYmxlLWxpYml0bSBcCiAlZW5kaWYKKyVpZiAle3NuYXBzaG90X2J1aWxkfQorCS0tZGlz YWJsZS1saWJzYW5pdGl6ZXIgXAorJWVuZGlmCiAJIgogCiBDQz0iJENDIiBDWFg9IiRDWFgiIENG TEFHUz0iJE9QVF9GTEFHUyIgXApAQCAtMTUxNCwxMCArMTU1NSwxMCBAQCB0YXIgeGYgJXtfdXNy c3JjfS9hbm5vYmluL2xhdGVzdC1hbm5vYmluLnRhci54egogY2QgYW5ub2JpbioKIHRvdWNoIGFj bG9jYWwubTQgY29uZmlndXJlIE1ha2VmaWxlLmluICovY29uZmlndXJlICovY29uZmlnLmguaW4g Ki9NYWtlZmlsZS5pbgogQU5OT0JJTl9GTEFHUz0uLi8uLi9vYmotJXtnY2NfdGFyZ2V0X3BsYXRm b3JtfS8le2djY190YXJnZXRfcGxhdGZvcm19L2xpYnN0ZGMrKy12My9zY3JpcHRzL3Rlc3RzdWl0 ZV9mbGFncwotQU5OT0JJTl9DRkxBR1MxPSIlYnVpbGRfY2ZsYWdzIC1JICV7X2J1aWxkZGlyfS9n Y2MtJXt2ZXJzaW9ufS0le0RBVEV9L2djYyIKLUFOTk9CSU5fQ0ZMQUdTMT0iJEFOTk9CSU5fQ0ZM QUdTMSAtSSAle19idWlsZGRpcn0vZ2NjLSV7dmVyc2lvbn0tJXtEQVRFfS9vYmotJXtnY2NfdGFy Z2V0X3BsYXRmb3JtfS9nY2MiCi1BTk5PQklOX0NGTEFHUzI9Ii1JICV7X2J1aWxkZGlyfS9nY2Mt JXt2ZXJzaW9ufS0le0RBVEV9L2luY2x1ZGUgLUkgJXtfYnVpbGRkaXJ9L2djYy0le3ZlcnNpb259 LSV7REFURX0vbGliY3BwL2luY2x1ZGUiCi1BTk5PQklOX0xERkxBR1M9IiVidWlsZF9sZGZsYWdz IC1MJXtfYnVpbGRkaXJ9L2djYy0le3ZlcnNpb259LSV7REFURX0vb2JqLSV7Z2NjX3RhcmdldF9w bGF0Zm9ybX0vJXtnY2NfdGFyZ2V0X3BsYXRmb3JtfS9saWJzdGRjKystdjMvc3JjLy5saWJzIgor QU5OT0JJTl9DRkxBR1MxPSIlYnVpbGRfY2ZsYWdzIC1JICV7X2J1aWxkZGlyfS8le2djY19iYXNl ZGlyfS9nY2MiCitBTk5PQklOX0NGTEFHUzE9IiRBTk5PQklOX0NGTEFHUzEgLUkgJXtfYnVpbGRk aXJ9LyV7Z2NjX2Jhc2VkaXJ9L29iai0le2djY190YXJnZXRfcGxhdGZvcm19L2djYyIKK0FOTk9C SU5fQ0ZMQUdTMj0iLUkgJXtfYnVpbGRkaXJ9LyV7Z2NjX2Jhc2VkaXJ9L2luY2x1ZGUgLUkgJXtf YnVpbGRkaXJ9LyV7Z2NjX2Jhc2VkaXJ9L2xpYmNwcC9pbmNsdWRlIgorQU5OT0JJTl9MREZMQUdT PSIlYnVpbGRfbGRmbGFncyAtTCV7X2J1aWxkZGlyfS8le2djY19iYXNlZGlyfS9vYmotJXtnY2Nf dGFyZ2V0X3BsYXRmb3JtfS8le2djY190YXJnZXRfcGxhdGZvcm19L2xpYnN0ZGMrKy12My9zcmMv LmxpYnMiCiBDQz0iYCRBTk5PQklOX0ZMQUdTIC0tYnVpbGQtY2NgIiBDWFg9ImAkQU5OT0JJTl9G TEFHUyAtLWJ1aWxkLWN4eGAiIFwKICAgQ0ZMQUdTPSIkQU5OT0JJTl9DRkxBR1MxICRBTk5PQklO X0NGTEFHUzIgJEFOTk9CSU5fTERGTEFHUyIgXAogICBDWFhGTEFHUz0iJEFOTk9CSU5fQ0ZMQUdT MSBgJEFOTk9CSU5fRkxBR1MgLS1idWlsZC1pbmNsdWRlc2AgJEFOTk9CSU5fQ0ZMQUdTMiAkQU5O T0JJTl9MREZMQUdTIiBcCkBAIC0xNzQ0LDkgKzE3ODUsOSBAQCBtdiAle2J1aWxkcm9vdH0le19w cmVmaXh9LyV7X2xpYn0vbGliZ2E2OC5zcGVjICRGVUxMUEFUSC8KICVlbmRpZgogCiBta2RpciAt cCAle2J1aWxkcm9vdH0vJXtfbGlifQotbXYgLWYgJXtidWlsZHJvb3R9JXtfcHJlZml4fS8le19s aWJ9L2xpYmdjY19zLnNvLjEgJXtidWlsZHJvb3R9LyV7X2xpYn0vbGliZ2NjX3MtJXtnY2NfbWFq b3J9LSV7REFURX0uc28uMQotY2htb2QgNzU1ICV7YnVpbGRyb290fS8le19saWJ9L2xpYmdjY19z LSV7Z2NjX21ham9yfS0le0RBVEV9LnNvLjEKLWxuIC1zZiBsaWJnY2Nfcy0le2djY19tYWpvcn0t JXtEQVRFfS5zby4xICV7YnVpbGRyb290fS8le19saWJ9L2xpYmdjY19zLnNvLjEKK212IC1mICV7 YnVpbGRyb290fSV7X3ByZWZpeH0vJXtfbGlifS9saWJnY2Nfcy5zby4xICV7YnVpbGRyb290fS8l e19saWJ9L2xpYmdjY19zLSV7Z2NjX21ham9yfS0le0RBVEV9JXs/c25hcGV4dH0uc28uMQorY2ht b2QgNzU1ICV7YnVpbGRyb290fS8le19saWJ9L2xpYmdjY19zLSV7Z2NjX21ham9yfS0le0RBVEV9 JXs/c25hcGV4dH0uc28uMQorbG4gLXNmIGxpYmdjY19zLSV7Z2NjX21ham9yfS0le0RBVEV9JXs/ c25hcGV4dH0uc28uMSAle2J1aWxkcm9vdH0vJXtfbGlifS9saWJnY2Nfcy5zby4xCiAlaWZhcmNo ICV7aXg4Nn0geDg2XzY0IHBwYyBwcGM2NCBwcGM2NHA3IHBwYzY0bGUgJXthcm19IGFhcmNoNjQg cmlzY3Y2NAogcm0gLWYgJEZVTExQQVRIL2xpYmdjY19zLnNvCiBlY2hvICcvKiBHTlUgbGQgc2Ny aXB0CkBAIC0yNTg2LDcgKzI2MjcsNyBAQCBsbiAtcyAuLi8uLi9saWJleGVjL2djYy8le2djY190 YXJnZXRfcGxhdGZvcm19LyV7Z2NjX21ham9yfS9saWJsdG9fcGx1Z2luLnNvIFwKICVpZiAle2J1 aWxkX2Fubm9iaW5fcGx1Z2lufQogbWtkaXIgLXAgJEZVTExQQVRIL3BsdWdpbgogcm0gLWYgJEZV TExQQVRIL3BsdWdpbi9nY2MtYW5ub2JpbioKLWNwIC1hICV7X2J1aWxkZGlyfS9nY2MtJXt2ZXJz aW9ufS0le0RBVEV9L2Fubm9iaW4tcGx1Z2luL2Fubm9iaW4qL2djYy1wbHVnaW4vLmxpYnMvYW5u b2Jpbi5zby4wLjAuMCBcCitjcCAtYSAle19idWlsZGRpcn0vJXtnY2NfYmFzZWRpcn0vYW5ub2Jp bi1wbHVnaW4vYW5ub2JpbiovZ2NjLXBsdWdpbi8ubGlicy9hbm5vYmluLnNvLjAuMC4wIFwKICAg JEZVTExQQVRIL3BsdWdpbi9nY2MtYW5ub2Jpbi5zby4wLjAuMAogbG4gLXNmIGdjYy1hbm5vYmlu LnNvLjAuMC4wICRGVUxMUEFUSC9wbHVnaW4vZ2NjLWFubm9iaW4uc28uMAogbG4gLXNmIGdjYy1h bm5vYmluLnNvLjAuMC4wICRGVUxMUEFUSC9wbHVnaW4vZ2NjLWFubm9iaW4uc28KQEAgLTMxMTYs NyArMzE1Nyw3IEBAIGVuZAogJXtfcHJlZml4fS9saWJleGVjL2djYy8le2djY190YXJnZXRfcGxh dGZvcm19LyV7Z2NjX21ham9yfS9jYzEKIAogJWZpbGVzIC1uIGxpYmdjYwotLyV7X2xpYn0vbGli Z2NjX3MtJXtnY2NfbWFqb3J9LSV7REFURX0uc28uMQorLyV7X2xpYn0vbGliZ2NjX3MtJXtnY2Nf bWFqb3J9LSV7REFURX0lez9zbmFwZXh0fS5zby4xCiAvJXtfbGlifS9saWJnY2Nfcy5zby4xCiAl eyE/X2xpY2Vuc2VkaXI6JWdsb2JhbCBsaWNlbnNlICUlZG9jfQogJWxpY2Vuc2UgZ2NjL0NPUFlJ TkcqIENPUFlJTkcuUlVOVElNRQpAQCAtMzk4MCw0MiArNDAyMSw3MiBAQCBlbmQKICVlbmRpZgog CiAlY2hhbmdlbG9nCi0qIEZyaSBNYXkgMTUgMjAyNiBKYWt1YiBKZWxpbmVrIDxqYWt1YkByZWRo YXQuY29tPiAxNi4xLjEtMgotLSB1cGRhdGUgZnJvbSByZWxlYXNlcy9nY2MtMTYgYnJhbmNoCi0g IC0gUFJzIGFkYS8xMjUxNjgsIGFkYS8xMjUyNDAsIGMrKy8xMDA5MDMsIGMrKy8xMTUxODEsIGMr Ky8xMjQ2MjgsCi0JYysrLzEyNDc3MCwgYysrLzEyNDk1NywgYysrLzEyNDk3OSwgYysrLzEyNDk5 MSwgYysrLzEyNTA0MywKLQljKysvMTI1MTExLCBjKysvMTI1MTE1LCBjKysvMTI1MTc5LCBjKysv MTI1MTg0LCBjKysvMTI1MjA2LAotCWMrKy8xMjUyMDgsIGMrKy8xMjUyODAsIGMrKy8xMjUzMTUs IGQvMTI1MDg5LCBmb3J0cmFuLzExMTk1MiwKLQlmb3J0cmFuLzEyNTA1OSwgZm9ydHJhbi8xMjUx OTIsIGZvcnRyYW4vMTI1MTk4LCBsaWJmb3J0cmFuLzEyNTA5NSwKLQlsaWJzdGRjKysvMTA5OTY1 LCBsaWJzdGRjKysvMTIxOTE5LCBtaWRkbGUtZW5kLzEyNTE0NiwKLQltaWRkbGUtZW5kLzEyNTI1 OSwgcnRsLW9wdGltaXphdGlvbi8xMjM5NjcsIHRhcmdldC81MzkyOSwKLQl0YXJnZXQvMTIwNTg3 LCB0YXJnZXQvMTI0MzE2LCB0YXJnZXQvMTI1MDQ5LCB0YXJnZXQvMTI1MDU3LAotCXRhcmdldC8x MjUxNTUsIHRhcmdldC8xMjUxODAsIHRhcmdldC8xMjUxOTQsIHRhcmdldC8xMjUzMDgsCi0JdHJl ZS1vcHRpbWl6YXRpb24vMTIwMDAzLCB0cmVlLW9wdGltaXphdGlvbi8xMjUwMjUsCi0JdHJlZS1v cHRpbWl6YXRpb24vMTI1MTUzLCB0cmVlLW9wdGltaXphdGlvbi8xMjUxODUKLS0gY3JlYXRlIGFu ZCBpbmNsdWRlIGdhNjgubTY4IGZpbGVzIGluIGdjYy1hbGdvbDY4IHBhY2thZ2UgKCMyNDYzOTIx KQotCi0qIEZyaSBNYXkgIDEgMjAyNiBKYWt1YiBKZWxpbmVrIDxqYWt1YkByZWRoYXQuY29tPiAx Ni4xLjEtMQotLSB1cGRhdGUgZnJvbSB0cnVuayBhbmQgcmVsZWFzZXMvZ2NjLTE2IGJyYW5jaAot ICAtIEdDQyAxNi4xLjAgcmVsZWFzZQotICAtIFBScyBhZGEvMTA3MzkxLCBhZGEvMTA3MzkyLCBh ZGEvMTI0OTE4LCBhZGEvMTI1MDQ0LCBjLzg0NzE3LCBjKysvMTIwNTAyLAotCWMrKy8xMjM4Nzks IGMrKy8xMjQ1ODIsIGMrKy8xMjQ2MzIsIGMrKy8xMjQ3MDYsIGMrKy8xMjQ3NTYsCi0JYysrLzEy NDg1NSwgYysrLzEyNDkxMCwgYysrLzEyNDkyNiwgYysrLzEyNDkyNywgYysrLzEyNDk0NCwKLQlj KysvMTI0OTUwLCBjKysvMTI0OTUzLCBjKysvMTI0OTczLCBjKysvMTI0OTgxLCBjKysvMTI0OTg5 LAotCWMrKy8xMjUwMzUsIGMrKy8xMjUwOTYsIGNvYm9sLzExOTgxOCwgZC8xMjM0MTEsIGQvMTI0 MTU3LCBkLzEyNDkyMiwKLQlmb3J0cmFuLzYzODU4LCBmb3J0cmFuLzkzMzI5LCBmb3J0cmFuLzkz NDYzLCBmb3J0cmFuLzEwODM4MiwKLQlmb3J0cmFuLzExNzA3NywgZm9ydHJhbi8xMjA0MzEsIGlw YS8xMjAwOTgsIGxpYmZvcnRyYW4vMTIwNDMxLAotCWxpYnN0ZGMrKy8xMTI0OTAsIGxpYnN0ZGMr Ky8xMTk3MTQsIGxpYnN0ZGMrKy8xMjQ0MTAsCi0JbGlic3RkYysrLzEyNDU0MCwgbGlic3RkYysr LzEyNDg5MCwgbGlic3RkYysrLzEyNTAyNCwKLQlsaWJzdGRjKysvMTI1MTEyLCBtaWRkbGUtZW5k Lzk1NTUxLCBtaWRkbGUtZW5kLzEyMjAyMSwKLQltaWRkbGUtZW5kLzEyNDkwMCwgbWlkZGxlLWVu ZC8xMjQ5NzEsIG1vZHVsYTIvMTIwMTg5LAotCXByZXByb2Nlc3Nvci8xMjQ5MzAsIHJ0bC1vcHRp bWl6YXRpb24vMTI0NjQzLCBzYW5pdGl6ZXIvMTI0MjQ4LAotCXNhbml0aXplci8xMjQ5NjksIHRh cmdldC8xMDMzODMsIHRhcmdldC8xMjQxMzMsIHRhcmdldC8xMjQ5MzMsCi0JdGFyZ2V0LzEyNDk1 OSwgdGFyZ2V0LzEyNDk4NCwgdGFyZ2V0LzEyNTExNywgdGVzdHN1aXRlLzEyNDY4MiwKLQl0ZXN0 c3VpdGUvMTI0OTM5LCB0cmVlLW9wdGltaXphdGlvbi8xMTY0NjMsIHRyZWUtb3B0aW1pemF0aW9u LzEyNDkwOSwKLQl0cmVlLW9wdGltaXphdGlvbi8xMjQ5NDEsIHRyZWUtb3B0aW1pemF0aW9uLzEy NDk4OCwKLQl0cmVlLW9wdGltaXphdGlvbi8xMjUwMTksIHRyZWUtb3B0aW1pemF0aW9uLzEyNTAz OSwKLQl0cmVlLW9wdGltaXphdGlvbi8xMjUwNzkKKyogVGh1IE1heSAxNCAyMDI2IFNpZGRoZXNo IFBveWFyZWthciA8c2lkZGhlc2hAcmVkaGF0LmNvbT4gZ2NjLTE3LjAuMC05OTkuMjAyNjA1MTRz LjAKKy0gdXBkYXRlIGZyb20gdHJ1bmsKKyAgLSBQUnMgYWRhLzg3OTM2LCBhZGEvMTEwMzM2LCBh ZGEvMTI1MDQ0LCBhZGEvMTI1MTY4LCBhZGEvMTI1MjMyLCBhZGEvMTI1MjQwLAorCWFuYWx5emVy LzEwNTg5MCwgYW5hbHl6ZXIvMTI0MjE3LCBjLzEyMTkxMSwgYy8xMjQzMDMsIGMvMTI0NTc2LAor CWMvMTI0OTg1LCBjLzEyNTI2MSwgYysrLzUwNDc5LCBjKysvNjIyNDQsIGMrKy82NTI3MSwgYysr LzEwMDkwMywKKwljKysvMTE1MTgxLCBjKysvMTE1MzE0LCBjKysvMTE5NTY3LCBjKysvMTIzNjA5 LCBjKysvMTI0MjQxLAorCWMrKy8xMjQzNDcsIGMrKy8xMjQ1ODIsIGMrKy8xMjQ2MjEsIGMrKy8x MjQ2MjgsIGMrKy8xMjQ3NTYsCisJYysrLzEyNDc3MCwgYysrLzEyNDkxMCwgYysrLzEyNDk1Mywg YysrLzEyNDk1NywgYysrLzEyNDk3OCwKKwljKysvMTI0OTc5LCBjKysvMTI0OTkxLCBjKysvMTI1 MDA3LCBjKysvMTI1MDIyLCBjKysvMTI1MDM1LAorCWMrKy8xMjUwNDMsIGMrKy8xMjUwOTYsIGMr Ky8xMjUxMTEsIGMrKy8xMjUxMTUsIGMrKy8xMjUxNzksCisJYysrLzEyNTE4NCwgYysrLzEyNTIw NiwgYysrLzEyNTIwOCwgYysrLzEyNTI4MCwgZC8xMjUwODksCisJZm9ydHJhbi8xMTE5NTIsIGZv cnRyYW4vMTI1MDIxLCBmb3J0cmFuLzEyNTA1MSwgZm9ydHJhbi8xMjUwNTksCisJZm9ydHJhbi8x MjUwOTIsIGZvcnRyYW4vMTI1MTcyLCBmb3J0cmFuLzEyNTE5MiwgZm9ydHJhbi8xMjUxOTgsCisJ bGliZm9ydHJhbi8xMjUwMDUsIGxpYmZvcnRyYW4vMTI1MDg3LCBsaWJmb3J0cmFuLzEyNTA5NSwK KwlsaWJzdGRjKysvNzEzMDEsIGxpYnN0ZGMrKy83ODMwMiwgbGlic3RkYysrLzk3MDAxLCBsaWJz dGRjKysvMTA5OTY1LAorCWxpYnN0ZGMrKy8xMTM3NjEsIGxpYnN0ZGMrKy8xMTQ0MDAsIGxpYnN0 ZGMrKy8xMTkxMjYsCisJbGlic3RkYysrLzEyMTkxOSwgbGlic3RkYysrLzEyMzE2NSwgbGlic3Rk YysrLzEyNDY1NywKKwlsaWJzdGRjKysvMTI0ODUxLCBsaWJzdGRjKysvMTI0ODUyLCBsaWJzdGRj KysvMTI1MDI0LAorCWxpYnN0ZGMrKy8xMjUxMTIsIG1pZGRsZS1lbmQvMTE3ODcxLCBtaWRkbGUt ZW5kLzEyMjg3MSwKKwltaWRkbGUtZW5kLzEyNDYzNywgbWlkZGxlLWVuZC8xMjQ2NTEsIG1pZGRs ZS1lbmQvMTI0ODA1LAorCW1pZGRsZS1lbmQvMTI1MTQ2LCBtaWRkbGUtZW5kLzEyNTE1NiwgbWlk ZGxlLWVuZC8xMjUyNTksCisJbW9kdWxhMi8xMjAxODksIG90aGVyLzEyNTI3NSwgcnRsLW9wdGlt aXphdGlvbi81NjA5NiwKKwlydGwtb3B0aW1pemF0aW9uLzgwNzcwLCBydGwtb3B0aW1pemF0aW9u Lzk2NjkyLAorCXJ0bC1vcHRpbWl6YXRpb24vMTIxNDI2LCBydGwtb3B0aW1pemF0aW9uLzEyMzk2 NywKKwlydGwtb3B0aW1pemF0aW9uLzEyNDc2NiwgcnRsLW9wdGltaXphdGlvbi8xMjUyMDksIHRh cmdldC8zMjgwMywKKwl0YXJnZXQvNTM5MjksIHRhcmdldC8xMDkwMzgsIHRhcmdldC8xMTMzNTMs IHRhcmdldC8xMTM5NDgsCisJdGFyZ2V0LzEyMDA3NywgdGFyZ2V0LzEyMDE0NCwgdGFyZ2V0LzEy MDU4NywgdGFyZ2V0LzEyMDg3MCwKKwl0YXJnZXQvMTIxMjY4LCB0YXJnZXQvMTIyNTU4LCB0YXJn ZXQvMTIyNjY1LCB0YXJnZXQvMTIzODM4LAorCXRhcmdldC8xMjM4MzksIHRhcmdldC8xMjM5MDQs IHRhcmdldC8xMjQwMDksIHRhcmdldC8xMjQxMzMsCisJdGFyZ2V0LzEyNDMxNiwgdGFyZ2V0LzEy NDU1OSwgdGFyZ2V0LzEyNDc2MCwgdGFyZ2V0LzEyNDg3OCwKKwl0YXJnZXQvMTI0ODk1LCB0YXJn ZXQvMTI0OTU1LCB0YXJnZXQvMTI0OTg0LCB0YXJnZXQvMTI1MDA5LAorCXRhcmdldC8xMjUwMjYs IHRhcmdldC8xMjUwMzIsIHRhcmdldC8xMjUwNDksIHRhcmdldC8xMjUwNTcsCisJdGFyZ2V0LzEy NTEwMCwgdGFyZ2V0LzEyNTEwMiwgdGFyZ2V0LzEyNTExNywgdGFyZ2V0LzEyNTE1MiwKKwl0YXJn ZXQvMTI1MTU1LCB0YXJnZXQvMTI1MTc0LCB0YXJnZXQvMTI1MTgwLCB0YXJnZXQvMTI1MTk0LAor CXRhcmdldC8xMjUyMTUsIHRhcmdldC8xMjUyMTcsIHRhcmdldC8xMjUyMzgsIHRhcmdldC8xMjUy MzksCisJdGFyZ2V0LzEyNTI0NSwgdGVzdHN1aXRlLzcwMTUwLCB0ZXN0c3VpdGUvMTI1MDAzLAor CXRyZWUtb3B0aW1pemF0aW9uLzU3NjUwLCB0cmVlLW9wdGltaXphdGlvbi82NDU2NywKKwl0cmVl LW9wdGltaXphdGlvbi85MzUwNCwgdHJlZS1vcHRpbWl6YXRpb24vOTM1NTYsCisJdHJlZS1vcHRp bWl6YXRpb24vOTQ4OTIsIHRyZWUtb3B0aW1pemF0aW9uLzEwNjI0NCwKKwl0cmVlLW9wdGltaXph dGlvbi8xMDk4NzgsIHRyZWUtb3B0aW1pemF0aW9uLzExMDAxMCwKKwl0cmVlLW9wdGltaXphdGlv bi8xMTAyNjIsIHRyZWUtb3B0aW1pemF0aW9uLzExMjY1OSwKKwl0cmVlLW9wdGltaXphdGlvbi8x MTMzNzksIHRyZWUtb3B0aW1pemF0aW9uLzExNjAwOCwKKwl0cmVlLW9wdGltaXphdGlvbi8xMTY3 MDAsIHRyZWUtb3B0aW1pemF0aW9uLzExNjgyMywKKwl0cmVlLW9wdGltaXphdGlvbi8xMTk0MjAs IHRyZWUtb3B0aW1pemF0aW9uLzExOTQyMiwKKwl0cmVlLW9wdGltaXphdGlvbi8xMjAwMDMsIHRy ZWUtb3B0aW1pemF0aW9uLzEyMDM5OCwKKwl0cmVlLW9wdGltaXphdGlvbi8xMjI1NjksIHRyZWUt b3B0aW1pemF0aW9uLzEyMjY3OSwKKwl0cmVlLW9wdGltaXphdGlvbi8xMjI5ODksIHRyZWUtb3B0 aW1pemF0aW9uLzEyMjk5NiwKKwl0cmVlLW9wdGltaXphdGlvbi8xMjMxMjAsIHRyZWUtb3B0aW1p emF0aW9uLzEyMzUxNCwKKwl0cmVlLW9wdGltaXphdGlvbi8xMjM2MDMsIHRyZWUtb3B0aW1pemF0 aW9uLzEyMzk2NiwKKwl0cmVlLW9wdGltaXphdGlvbi8xMjQwNjEsIHRyZWUtb3B0aW1pemF0aW9u LzEyNDE1MSwKKwl0cmVlLW9wdGltaXphdGlvbi8xMjQyMjIsIHRyZWUtb3B0aW1pemF0aW9uLzEy NDU2MCwKKwl0cmVlLW9wdGltaXphdGlvbi8xMjQ3MTUsIHRyZWUtb3B0aW1pemF0aW9uLzEyNDg0 MywKKwl0cmVlLW9wdGltaXphdGlvbi8xMjQ4ODYsIHRyZWUtb3B0aW1pemF0aW9uLzEyNDk0NiwK Kwl0cmVlLW9wdGltaXphdGlvbi8xMjQ5NDcsIHRyZWUtb3B0aW1pemF0aW9uLzEyNDk4OCwKKwl0 cmVlLW9wdGltaXphdGlvbi8xMjUwMTksIHRyZWUtb3B0aW1pemF0aW9uLzEyNTAyNSwKKwl0cmVl LW9wdGltaXphdGlvbi8xMjUwMzYsIHRyZWUtb3B0aW1pemF0aW9uLzEyNTAzOSwKKwl0cmVlLW9w dGltaXphdGlvbi8xMjUwNjcsIHRyZWUtb3B0aW1pemF0aW9uLzEyNTA3OSwKKwl0cmVlLW9wdGlt aXphdGlvbi8xMjUwODAsIHRyZWUtb3B0aW1pemF0aW9uLzEyNTA4OCwKKwl0cmVlLW9wdGltaXph dGlvbi8xMjUxMjQsIHRyZWUtb3B0aW1pemF0aW9uLzEyNTEzOSwKKwl0cmVlLW9wdGltaXphdGlv bi8xMjUxNTMsIHRyZWUtb3B0aW1pemF0aW9uLzEyNTE3NCwKKwl0cmVlLW9wdGltaXphdGlvbi8x MjUxODUsIHRyZWUtb3B0aW1pemF0aW9uLzEyNTIxNCwKKwl0cmVlLW9wdGltaXphdGlvbi8xMjUy MzQsIHRyZWUtb3B0aW1pemF0aW9uLzEyNTI1MAorCisqIEZyaSBBcHIgMjQgMjAyNiBTaWRkaGVz aCBQb3lhcmVrYXIgPHNpZGRoZXNoQHJlZGhhdC5jb20+IGdjYy0xNy4wLjAtOTk5LjIwMjYwNDI0 cy4wCistIHVwZGF0ZSBmcm9tIHRydW5rCisgIC0gUFJzIAogCiAqIFRodSBBcHIgMTYgMjAyNiBK YWt1YiBKZWxpbmVrIDxqYWt1YkByZWRoYXQuY29tPiAxNi4wLjEtMC4xMQogLSB1cGRhdGUgZnJv bSB0cnVuawpAQCAtNDA2OCw2ICs0MTM5LDM0IEBAIGVuZAogCXRyZWUtb3B0aW1pemF0aW9uLzEy NDgyNiwgdHJlZS1vcHRpbWl6YXRpb24vMTI0ODY4LAogCXRyZWUtb3B0aW1pemF0aW9uLzEyNDg3 NSwgdHJlZS1vcHRpbWl6YXRpb24vMTI0ODkxCiAKKyogVGh1IEFwciAwMiAyMDI2IFNpZGRoZXNo IFBveWFyZWthciA8c2lkZGhlc2hAcmVkaGF0LmNvbT4gZ2NjLTE2LjAuMS05OTkuMjAyNjA0MDJz LjAKKy0gdXBkYXRlIGZyb20gdHJ1bmsKKyAgLSBQUnMgYWRhLzEyNDU5NiwgYy82MTg5NiwgYy8x MjQ2MzUsIGMrKy8xMjQ2NDUsIGMrKy8xMjQ2NDYsIGZvcnRyYW4vNzkzMzAsCisJZm9ydHJhbi84 NDI0NSwgZm9ydHJhbi85NTg3OSwgZm9ydHJhbi8xMDAxOTQsIGZvcnRyYW4vMTAyNjE5LAorCWZv cnRyYW4vMTIxMTg1LCBmb3J0cmFuLzEyNDYzMSwgZm9ydHJhbi8xMjQ2NTYsIGZvcnRyYW4vMTI0 NjYxLAorCWZvcnRyYW4vMTI0NjY2LCBmb3J0cmFuLzEyNDczOSwgZm9ydHJhbi8xMjQ3NTEsIGxp YmZvcnRyYW4vMTI0NTQzLAorCW1pZGRsZS1lbmQvMTI0NjM0LCBtaWRkbGUtZW5kLzEyNDY3MSwg bWlkZGxlLWVuZC8xMjQ2OTcsCisJcHJlcHJvY2Vzc29yLzcwOTE3LCBydGwtb3B0aW1pemF0aW9u LzEyNDY0OSwgcnRsLW9wdGltaXphdGlvbi8xMjQ2OTYsCisJdGFyZ2V0LzEwMjMwOSwgdGFyZ2V0 LzEyMDgzOSwgdGFyZ2V0LzEyMzIzOCwgdGFyZ2V0LzEyNDY3MCwKKwl0YXJnZXQvMTI0Njc0LCB0 YXJnZXQvMTI0Njg0LCB0YXJnZXQvMTI0NzA1LCB0YXJnZXQvMTI0NzEyLAorCXRlc3RzdWl0ZS85 MzA4MCwgdGVzdHN1aXRlLzEyNDU0OCwgdHJlZS1vcHRpbWl6YXRpb24vODg1NzYsCisJdHJlZS1v cHRpbWl6YXRpb24vMTI0Njc3LCB0cmVlLW9wdGltaXphdGlvbi8xMjQ2OTIsCisJdHJlZS1vcHRp bWl6YXRpb24vMTI0NzQyLCB0cmVlLW9wdGltaXphdGlvbi8xMjQ3NDYKKworKiBGcmkgTWFyIDI3 IDIwMjYgU2lkZGhlc2ggUG95YXJla2FyIDxzaWRkaGVzaEByZWRoYXQuY29tPiBnY2MtMTYuMC4x LTAuc25hcDIwMjYwMzI3LjAKKy0gdXBkYXRlIGZyb20gdHJ1bmsKKyAgLSBQUnMgYysrLzEyMzYx MywgZGVidWcvMTI0NjQ0LCBmb3J0cmFuLzEwMTI4MSwgZm9ydHJhbi8xMTQwMjEsCisJZm9ydHJh bi8xMTUzMTUsIGxpYmdvbXAvMTI0MTIzLCB0YXJnZXQvMTI0NjEzCisKKyogVGh1IE1hciAyNiAy MDI2IFNpZGRoZXNoIFBveWFyZWthciA8c2lkZGhlc2hAcmVkaGF0LmNvbT4gZ2NjLTE2LjAuMS0w LnNuYXAyMDI2MDMyNi4wCistIHVwZGF0ZSBmcm9tIHRydW5rCisgIC0gUFJzIGZvcnRyYW4vMTE5 MjczLCBmb3J0cmFuLzEyNDU2NywgZ2Nvdi1wcm9maWxlLzEyMTA3NCwKKwl0cmVlLW9wdGltaXph dGlvbi8xMjQ2MjcKKworKiBUdWUgTWFyIDI0IDIwMjYgU2lkZGhlc2ggUG95YXJla2FyIDxzaWRk aGVzaEByZWRoYXQuY29tPiBnY2MtMTYuMC4xLTAuc25hcDIwMjYwMzI0LjAKKy0gdXBkYXRlIGZy b20gdHJ1bmsKKyAgLSBQUnMgCisKICogU2F0IE1hciAyMSAyMDI2IEpha3ViIEplbGluZWsgPGph a3ViQHJlZGhhdC5jb20+IDE2LjAuMS0wLjEwCiAtIHVwZGF0ZSBmcm9tIHRydW5rCiAgIC0gUFJz IGFkYS8xMDc0NzUsIGFkYS8xMjA2NjksIGFkYS8xMjQzNjksIGFkYS8xMjQzNzYsIGFsZ29sNjgv MTI0MzIyLApAQCAtNDM1Miw2ICs0NDUxLDI3IEBAIGVuZAogICBhcy1uZWVkZWQgYnkgZGVmYXVs dAogLSByZW1vdmUgbGliYXRvbWljLXN0YXRpYyBwYWNrYWdlLCBtb3ZlIGxpYmF0b21pYy5hIGlu dG8gZ2NjIHBhY2thZ2UKIAorKiBNb24gRGVjIDI5IDIwMjUgU2lkZGhlc2ggUG95YXJla2FyIDxz aWRkaGVzaEBnb3RwbHQub3JnPiBnY2MtMTYuMC4wLTAuc25hcDIwMjUxMjI5LjAKKy0gdXBkYXRl IGZyb20gdHJ1bmsKKyAgLSBQUnMgYWRhLzEyMzE4NSwgYWRhLzEyMzI4OSwgYWRhLzEyMzMwMiwg YWRhLzEyMzMwNiwgYysrLzExNzUxOCwKKwljKysvMTIxODY0LCBjKysvMTIyNTUwLCBjKysvMTIy OTU4LCBjKysvMTIyOTk0LCBjKysvMTIzMjYxLAorCWZvcnRyYW4vMTIxNDcyLCBmb3J0cmFuLzEy MTQ3NSwgZm9ydHJhbi8xMjI5NTcsIGZvcnRyYW4vMTIzMjAxLAorCWZvcnRyYW4vMTIzMjUzLCBt aWRkbGUtZW5kLzEyMzA2NywgcnRsLW9wdGltaXphdGlvbi8xMjMxMTQsCisJcnRsLW9wdGltaXph dGlvbi8xMjMyNjcsIHJ0bC1vcHRpbWl6YXRpb24vMTIzMjc2LCB0YXJnZXQvMTIyNzY5LAorCXRh cmdldC8xMjMyNzQsIHRhcmdldC8xMjMyNzgsIHRhcmdldC8xMjMyODMKKworKiBTdW4gRGVjIDIx IDIwMjUgU2lkZGhlc2ggUG95YXJla2FyIDxzaWRkaGVzaEBnb3RwbHQub3JnPiBnY2MtMTYuMC4w LTAuc25hcDIwMjUxMjIxLjAKKy0gdXBkYXRlIGZyb20gdHJ1bmsKKyAgLSBQUnMgYm9vdHN0cmFw LzEyNDA3LCBjKysvOTEzODgsIGMrKy8xMTcwMzQsIGMrKy8xMjI1MDksIGMrKy8xMjI2OTAsCisJ YysrLzEyMjcxMiwgYysrLzEyMjc3MiwgYysrLzEyMjgzNCwgYysrLzEyMjkyMiwgYysrLzEyMjk5 NSwKKwljKysvMTIzMDMwLCBjKysvMTIzMDQ0LCBjKysvMTIzMTg2LCBkZWJ1Zy8xMjI5NjgsIGZv cnRyYW4vNzE1NjUsCisJZm9ydHJhbi85MjYxMywgbGlic3RkYysrLzEyMzE0NywgbWlkZGxlLWVu ZC8xMjMyMjIsCisJcnRsLW9wdGltaXphdGlvbi8xMjMyMjMsIHRhcmdldC81NTIxMiwgdGFyZ2V0 LzEyMjk3MCwgdGFyZ2V0LzEyMzIxNiwKKwl0YXJnZXQvMTIzMjE3LCB0cmVlLW9wdGltaXphdGlv bi8xMjMwODksIHRyZWUtb3B0aW1pemF0aW9uLzEyMzA5NywKKwl0cmVlLW9wdGltaXphdGlvbi8x MjMxMTcsIHRyZWUtb3B0aW1pemF0aW9uLzEyMzExOCwKKwl0cmVlLW9wdGltaXphdGlvbi8xMjMx NTIsIHRyZWUtb3B0aW1pemF0aW9uLzEyMzE5MiwKKwl0cmVlLW9wdGltaXphdGlvbi8xMjMyMDUK KwogKiBTYXQgRGVjIDIwIDIwMjUgSmFrdWIgSmVsaW5layA8amFrdWJAcmVkaGF0LmNvbT4gMTYu MC4wLTAuMwogLSB1cGRhdGUgZnJvbSB0cnVuawogICAtIFBScyBib290c3RyYXAvMTI0MDcsIGMv MTIzMTU2LCBjKysvOTEzODgsIGMrKy8xMTcwMzQsIGMrKy8xMjIwNzAsCkBAIC00MzY3LDMgKzQ0 ODcsNTggQEAgZW5kCiAKICogVGh1IERlYyAxOCAyMDI1IEpha3ViIEplbGluZWsgPGpha3ViQHJl ZGhhdC5jb20+IDE2LjAuMC0wLjIKIC0gbmV3IHBhY2thZ2UKKworKiBUaHUgRGVjIDE4IDIwMjUg U2lkZGhlc2ggUG95YXJla2FyIDxzaWRkaGVzaEBnb3RwbHQub3JnPiBnY2MtMTYuMC4wLTAuc25h cDIwMjUxMjE4LjAKKy0gdXBkYXRlIGZyb20gdHJ1bmsKKyAgLSBQUnMgYWxnb2w2OC8xMjMwMDYs IGFsZ29sNjgvMTIzMTMyLCBjLzEyMzE1NiwgYysrLzExMjY1MiwgYysrLzEyMTQ0MywKKwljKysv MTIyMDcwLCBsaWJzdGRjKysvMTIzMTgwLCBtb2R1bGEyLzIzMTc4LCBtb2R1bGEyLzEyMzE1MSwK Kwl0YXJnZXQvMTIzMTcxLCB0ZXN0c3VpdGUvMTIzMTY2LCB0cmVlLW9wdGltaXphdGlvbi8xMjMx NTMKKworKiBXZWQgRGVjIDE3IDIwMjUgU2lkZGhlc2ggUG95YXJla2FyIDxzaWRkaGVzaEBnb3Rw bHQub3JnPiBnY2MtMTYuMC4wLTAuc25hcDIwMjUxMjE3LjAKKy0gdXBkYXRlIGZyb20gdHJ1bmsK KyAgLSBQUnMgYWRhLzEyMzA2MCwgYWRhLzEyMzEzOCwgYWxnb2w2OC8xMjMxMzEsIGFuYWx5emVy LzEyMjAwMywKKwlhbmFseXplci8xMjI5NzUsIGFuYWx5emVyLzEyMzA4NSwgYW5hbHl6ZXIvMTIz MTM2LCBjKysvMTE0NzY0LAorCWMrKy8xMjI2NjgsIGMrKy8xMjI3NTIsIGMrKy8xMjMwNzUsIGMr Ky8xMjMxMjgsIGRpYWdub3N0aWNzLzEyMzE0MiwKKwlkcml2ZXIvMTA4ODY2LCBpcGEvMTA3NjY2 LCBpcGEvMTIyNDU2LCBpcGEvMTIyOTU1LCBsaWJmb3J0cmFuLzEyMjkzNiwKKwlsaWJzdGRjKysv MTEzMjk5LCBsaWJzdGRjKysvMTE5NzM5LCBsaWJzdGRjKysvMTIyOTA3LCBvdGhlci8xMjIyNDMs CisJcnRsLW9wdGltaXphdGlvbi8xMjE4NTIsIHJ0bC1vcHRpbWl6YXRpb24vMTIyMjc0LCB0YXJn ZXQvMTA4ODY2LAorCXRhcmdldC8xMTk0MDQsIHRhcmdldC8xMjMxNTUsIHRlc3RzdWl0ZS8xMjMx MzcsCisJdHJlZS1vcHRpbWl6YXRpb24vMTAzNjgwLCB0cmVlLW9wdGltaXphdGlvbi8xMDY0MDks CisJdHJlZS1vcHRpbWl6YXRpb24vMTE5MjkzLCB0cmVlLW9wdGltaXphdGlvbi8xMjI3MzQsCisJ dHJlZS1vcHRpbWl6YXRpb24vMTIyOTg3LCB0cmVlLW9wdGltaXphdGlvbi8xMjMwMzIsCisJdHJl ZS1vcHRpbWl6YXRpb24vMTIzMDQzLCB0cmVlLW9wdGltaXphdGlvbi8xMjMxMTAsCisJdHJlZS1v cHRpbWl6YXRpb24vMTIzMTExCisKKyogRnJpIERlYyAxMiAyMDI1IFNpZGRoZXNoIFBveWFyZWth ciA8c2lkZGhlc2hAZ290cGx0Lm9yZz4gZ2NjLTE2LjAuMC0wLnNuYXAyMDI1MTIxMi4wCistIHVw ZGF0ZSBmcm9tIHRydW5rCisgIC0gUFJzIGZvcnRyYW4vMTA3NDA2CisKKyogVGh1IERlYyAxMSAy MDI1IFNpZGRoZXNoIFBveWFyZWthciA8c2lkZGhlc2hAZ290cGx0Lm9yZz4gZ2NjLTE2LjAuMC0w LnNuYXAyMDI1MTIxMS4wCistIHVwZGF0ZSBmcm9tIHRydW5rCisgIC0gUFJzIGFkYS8xMjMwNjIs IGFkYS8xMjMwODgsIGFkYS8xMjMwOTYsIGZvcnRyYW4vMTA3MTQyLCBmb3J0cmFuLzExMDAxMiwK KwlsaWJzdGRjKysvMTIxMTE0LCBtaWRkbGUtZW5kLzEyMzA2OSwgdGVzdHN1aXRlLzEyMzA5OCwK Kwl0cmVlLW9wdGltaXphdGlvbi8xMjMwMTQKKworKiBXZWQgRGVjIDEwIDIwMjUgU2lkZGhlc2gg UG95YXJla2FyIDxzaWRkaGVzaEByZWRoYXQuY29tPiAxNi4wLjAtMC5zbmFwMjAyNTEyMTAuMAor LSB1cGRhdGUgZnJvbSB0cnVuaworICAtIFBScyBhZGEvMTE1MzA1LCBhZGEvMTE1MzQ5LCBhZGEv MTIzMDM3LCBhbGdvbDY4LzEyMzAwNywgYy8xMjI5ODIsCisJYy8xMjMwMTgsIGMrKy8xMTkzNDMs IGMrKy8xMjA0NDYsIGMrKy8xMjI4MTksIGZvcnRyYW4vMTAzNDE0LAorCWZvcnRyYW4vMTIyNTc4 LCBmb3J0cmFuLzEyMjY2OSwgZm9ydHJhbi8xMjI2NzAsIGZvcnRyYW4vMTIyNjkzLAorCWZvcnRy YW4vMTIyOTc3LCBmb3J0cmFuLzEyMzAyNSwgaXBhLzEyMjc5OCwgbGlic3RkYysrLzgwNTY0LAor CWxpYnN0ZGMrKy8xMTAzNTIsIGxpYnN0ZGMrKy8xMTEzMjcsIGxpYnN0ZGMrKy8xMTE1NTAsCisJ bGlic3RkYysrLzExMjU5MSwgbGlic3RkYysrLzEyMDQ0NiwgbGlic3RkYysrLzEyMjk0NiwKKwlt aWRkbGUtZW5kLzk5NzgyLCBydGwtb3B0aW1pemF0aW9uLzEyMjIxNSwgcnRsLW9wdGltaXphdGlv bi8xMjI2NzUsCisJcnRsLW9wdGltaXphdGlvbi8xMjI5NDcsIHRhcmdldC84MDg4MSwgdGFyZ2V0 LzkxNDIwLCB0YXJnZXQvMTE1MzI1LAorCXRhcmdldC8xMjEyMzAsIHRhcmdldC8xMjIzNDMsIHRh cmdldC8xMjI5ODMsIHRhcmdldC8xMjI5OTEsCisJdGFyZ2V0LzEyMjk5OSwgdGFyZ2V0LzEyMzAy MiwgdGFyZ2V0LzEyMzAyNiwgdGFyZ2V0LzEyMzAyNywKKwl0ZXN0c3VpdGUvMTIwMTY3LCB0cmVl LW9wdGltaXphdGlvbi80NjU1NSwgdHJlZS1vcHRpbWl6YXRpb24vMTIwOTM5LAorCXRyZWUtb3B0 aW1pemF0aW9uLzEyMjYzNSwgdHJlZS1vcHRpbWl6YXRpb24vMTIyNzc2LAorCXRyZWUtb3B0aW1p emF0aW9uLzEyMjg2OCwgdHJlZS1vcHRpbWl6YXRpb24vMTIzMDAyLAorCXRyZWUtb3B0aW1pemF0 aW9uLzEyMzAzOCwgdHJlZS1vcHRpbWl6YXRpb24vMTIzMDQwLAorCXRyZWUtb3B0aW1pemF0aW9u LzEyMzA3NAorCisqIFRodSBEZWMgIDQgMjAyNSBTaWRkaGVzaCBQb3lhcmVrYXIgPHNpZGRoZXNo QHJlZGhhdC5jb20+IDE2LjAuMC0wLnNuYXAyMDI1MTIwNC4wCistIENyZWF0ZSBnbmF0Z2NjIHN5 bWxpbmsgb25seSB3aGVuIGJ1aWxkaW5nIGFkYS4KKy0gQXZvaWQgYnVpbGRpbmcgbGlic3NwIGFu ZCBkaXNhYmxlZCBsaWJyYXJpZXMuCistIEZpcnN0IHNuYXBzaG90OiB1cGRhdGUgZnJvbSB0cnVu aworCgpkaWZmIC0tZ2l0IGEvZ2NjMTYtV25vLWZvcm1hdC1zZWN1cml0eS5wYXRjaCBiL2djYzE2 LVduby1mb3JtYXQtc2VjdXJpdHkucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4 IDJhNGYwZjMuLjAwMDAwMDAKLS0tIGEvZ2NjMTYtV25vLWZvcm1hdC1zZWN1cml0eS5wYXRjaAor KysgL2Rldi9udWxsCkBAIC0xLDY2ICswLDAgQEAKLTIwMjItMDEtMDcgIEpha3ViIEplbGluZWsg IDxqYWt1YkByZWRoYXQuY29tPgotCi0JKiBNYWtlZmlsZS50cGwgKEdPQ0ZMQUdTLCBHRENGTEFH Uyk6IEZpbHRlciBvdXQgLVdmb3JtYXQtc2VjdXJpdHkuCi0JKiBNYWtlZmlsZS5pbjogUmVnZW5l cmF0ZWQuCi0KLTIwMTctMDItMjUgIEpha3ViIEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgot Ci0JKiBjb25maWd1cmUuYWM6IFdoZW4gYWRkaW5nIC1Xbm8tZm9ybWF0LCBhbHNvIGFkZCAtV25v LWZvcm1hdC1zZWN1cml0eS4KLQkqIGNvbmZpZ3VyZTogUmVnZW5lcmF0ZWQuCi0KLS0tLSBnY2Mv Y29uZmlndXJlLmFjLmpqCTIwMTctMDItMTMgMTI6MjA6NTMuMDAwMDAwMDAwICswMTAwCi0rKysg Z2NjL2NvbmZpZ3VyZS5hYwkyMDI0LTExLTMwIDEzOjM0OjExLjEwMDI5NjI1NiArMDEwMAotQEAg LTU5Miw3ICs1OTIsNyBAQCBBQ19BUkdfRU5BQkxFKGJ1aWxkLWZvcm1hdC13YXJuaW5ncywKLSAg IEFTX0hFTFBfU1RSSU5HKFstLWRpc2FibGUtYnVpbGQtZm9ybWF0LXdhcm5pbmdzXSxbZG9uJ3Qg dXNlIC1XZm9ybWF0IHdoaWxlIGJ1aWxkaW5nIEdDQ10pLAotICAgW10sW2VuYWJsZV9idWlsZF9m b3JtYXRfd2FybmluZ3M9eWVzXSkKLSBBU19JRihbdGVzdCAkZW5hYmxlX2J1aWxkX2Zvcm1hdF93 YXJuaW5ncyA9IG5vXSwKLS0gICAgICBbd2Zfb3B0PS1Xbm8tZm9ybWF0XSxbd2Zfb3B0PV0pCi0r ICAgICAgW3dmX29wdD0iLVduby1mb3JtYXQgLVduby1mb3JtYXQtc2VjdXJpdHkiXSxbd2Zfb3B0 PV0pCi0gQUNYX1BST0dfQ1hYX1dBUk5JTkdfT1BUUygKLSAJbTRfcXVvdGUobTRfZG8oWy1XIC1X YWxsIC1Xbm8tZXJyb3I9bmFycm93aW5nIC1Xd3JpdGUtc3RyaW5ncyBdLAotIAkJICAgICAgIFst V2Nhc3QtcXVhbCAkd2Zfb3B0XSkpLAotLS0tIGdjYy9jb25maWd1cmUuamoJMjAxNy0wMi0xMyAx MjoyMDo1Mi4wMDAwMDAwMDAgKzAxMDAKLSsrKyBnY2MvY29uZmlndXJlCTIwMTctMDItMjUgMTI6 NDI6NTAuMDQxOTQ2MzkxICswMTAwCi1AQCAtNzA3Nyw3ICs3MDc3LDcgQEAgZWxzZQotIGZpCi0g Ci0gaWYgdGVzdCAkZW5hYmxlX2J1aWxkX2Zvcm1hdF93YXJuaW5ncyA9IG5vOyB0aGVuIDoKLS0g IHdmX29wdD0tV25vLWZvcm1hdAotKyAgd2Zfb3B0PSItV25vLWZvcm1hdCAtV25vLWZvcm1hdC1z ZWN1cml0eSIKLSBlbHNlCi0gICB3Zl9vcHQ9Ci0gZmkKLS0tLSBNYWtlZmlsZS50cGwuamoJMjAy My0xMS0yOSAxMzoyMTo0MS42ODAyOTI2NjIgKzAxMDAKLSsrKyBNYWtlZmlsZS50cGwJMjAyNC0x MS0zMCAxMzozNToyOS4zMDMxOTYyNDYgKzAxMDAKLUBAIC00NTAsMTAgKzQ1MCwxMCBAQCBMREZM QUdTID0gQExERkxBR1NACi0gTElCQ0ZMQUdTID0gJChDRkxBR1MpCi0gQ1hYRkxBR1MgPSBAQ1hY RkxBR1NACi0gTElCQ1hYRkxBR1MgPSAkKENYWEZMQUdTKSAtZm5vLWltcGxpY2l0LXRlbXBsYXRl cwotLUdPQ0ZMQUdTID0gJChDRkxBR1MpCi0tQTY4RkxBR1MgPSBAQTY4RkxBR1NACi0tR0RDRkxB R1MgPSBAR0RDRkxBR1NACi0tR00yRkxBR1MgPSAkKENGTEFHUykKLStHT0NGTEFHUyA9ICQoZmls dGVyLW91dCAtV2Zvcm1hdC1zZWN1cml0eSwkKENGTEFHUykpCi0rQTY4RkxBR1MgPSAkKGZpbHRl ci1vdXQgLVdmb3JtYXQtc2VjdXJpdHksQEE2OEZMQUdTQCkKLStHRENGTEFHUyA9ICQoZmlsdGVy LW91dCAtV2Zvcm1hdC1zZWN1cml0eSxAR0RDRkxBR1NAKQotK0dNMkZMQUdTID0gJChmaWx0ZXIt b3V0IC1XZm9ybWF0LXNlY3VyaXR5LCQoQ0ZMQUdTKSkKLSAKLSBDUkFCMV9MSUJTID0gQENSQUIx X0xJQlNACi0gCi0tLS0gTWFrZWZpbGUuaW4uamoJMjAyMy0xMS0yOSAxMzoyMTo0MS42OTEyOTI1 MDcgKzAxMDAKLSsrKyBNYWtlZmlsZS5pbgkyMDI0LTExLTMwIDEzOjM2OjEyLjExMzU5NDA3OSAr MDEwMAotQEAgLTQ0NywxMCArNDQ3LDEwIEBAIExERkxBR1MgPSBATERGTEFHU0AKLSBMSUJDRkxB R1MgPSAkKENGTEFHUykKLSBDWFhGTEFHUyA9IEBDWFhGTEFHU0AKLSBMSUJDWFhGTEFHUyA9ICQo Q1hYRkxBR1MpIC1mbm8taW1wbGljaXQtdGVtcGxhdGVzCi0tR09DRkxBR1MgPSAkKENGTEFHUykK LS1BNjhGTEFHUyA9IEBBNjhGTEFHU0AKLS1HRENGTEFHUyA9IEBHRENGTEFHU0AKLS1HTTJGTEFH UyA9ICQoQ0ZMQUdTKQotK0dPQ0ZMQUdTID0gJChmaWx0ZXItb3V0IC1XZm9ybWF0LXNlY3VyaXR5 LCQoQ0ZMQUdTKSkKLStBNjhGTEFHUyA9ICQoZmlsdGVyLW91dCAtV2Zvcm1hdC1zZWN1cml0eSxA QTY4RkxBR1NAKQotK0dEQ0ZMQUdTID0gJChmaWx0ZXItb3V0IC1XZm9ybWF0LXNlY3VyaXR5LEBH RENGTEFHU0ApCi0rR00yRkxBR1MgPSAkKGZpbHRlci1vdXQgLVdmb3JtYXQtc2VjdXJpdHksJChD RkxBR1MpKQotIAotIENSQUIxX0xJQlMgPSBAQ1JBQjFfTElCU0AKLSAKCmRpZmYgLS1naXQgYS9n Y2MxNi1kLXNoYXJlZC1saWJwaG9ib3MucGF0Y2ggYi9nY2MxNi1kLXNoYXJlZC1saWJwaG9ib3Mu cGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDYzODRiYmIuLjAwMDAwMDAKLS0t IGEvZ2NjMTYtZC1zaGFyZWQtbGlicGhvYm9zLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMjAg KzAsMCBAQAotMjAxOS0wMS0xNyAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+Ci0K LQkqIGQtc3BlYy5jYyAobGFuZ19zcGVjaWZpY19kcml2ZXIpOiBNYWtlIC1zaGFyZWQtbGlicGhv Ym9zCi0JdGhlIGRlZmF1bHQgcmF0aGVyIHRoYW4gLXN0YXRpYy1saWJwaG9ib3MuCi0KLS0tLSBn Y2MvZC9kLXNwZWMuY2MuamoJMjAxOS0wMS0wMSAxMjozNzo0OS41MDI0NDQyNTcgKzAxMDAKLSsr KyBnY2MvZC9kLXNwZWMuY2MJMjAxOS0wMS0xNyAxNzowOTo0NS4zNjQ5NDkyNDYgKzAxMDAKLUBA IC00MDgsOSArNDA4LDkgQEAgbGFuZ19zcGVjaWZpY19kcml2ZXIgKGNsX2RlY29kZWRfb3B0aW9u Ci0gICAvKiBBZGQgYC1sZ3Bob2JvcycgaWYgd2UgaGF2ZW4ndCBhbHJlYWR5IGRvbmUgc28uICAq LwotICAgaWYgKHBob2Jvc19saWJyYXJ5ICE9IFBIT0JPU19OT0xJTkspCi0gICAgIHsKLS0gICAg ICAvKiBEZWZhdWx0IHRvIHN0YXRpYyBsaW5raW5nLiAgKi8KLS0gICAgICBpZiAocGhvYm9zX2xp YnJhcnkgIT0gUEhPQk9TX0RZTkFNSUMpCi0tCXBob2Jvc19saWJyYXJ5ID0gUEhPQk9TX1NUQVRJ QzsKLSsgICAgICAvKiBEZWZhdWx0IHRvIHNoYXJlZCBsaW5raW5nLiAgKi8KLSsgICAgICBpZiAo cGhvYm9zX2xpYnJhcnkgIT0gUEhPQk9TX1NUQVRJQykKLSsJcGhvYm9zX2xpYnJhcnkgPSBQSE9C T1NfRFlOQU1JQzsKLSAKLSAjaWZkZWYgSEFWRV9MRF9TVEFUSUNfRFlOQU1JQwotICAgICAgIGlm IChwaG9ib3NfbGlicmFyeSA9PSBQSE9CT1NfU1RBVElDICYmICFzdGF0aWNfbGluaykKCmRpZmYg LS1naXQgYS9nY2MxNi1mb3J0cmFuLWZkZWMtZHVwbGljYXRlcy5wYXRjaCBiL2djYzE2LWZvcnRy YW4tZmRlYy1kdXBsaWNhdGVzLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1 Mjk4YmFhLi4wMDAwMDAwCi0tLSBhL2djYzE2LWZvcnRyYW4tZmRlYy1kdXBsaWNhdGVzLnBhdGNo CisrKyAvZGV2L251bGwKQEAgLTEsMjE1ICswLDAgQEAKLUZyb20gMjNiMWZjYjEwNGM2NjY0Mjk0 NTFmZmFmOTM2ZjhkYTVmY2QzZDQzYSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IE1h cmsgRWdnbGVzdG9uIDxtYXJrZWdnbGVzdG9uQGdjYy5nbnUub3JnPgotRGF0ZTogRnJpLCAyMiBK YW4gMjAyMSAxMjoyOTo0NyArMDAwMAotU3ViamVjdDogW1BBVENIIDAxLzEwXSBBbGxvdyBkdXBs aWNhdGUgZGVjbGFyYXRpb25zLgotCi1FbmFibGVkIGJ5IC1mZGVjLWR1cGxpY2F0ZXMgYW5kIC1m ZGVjLgotCi1Tb21lIGZpeGVzIGJ5IEppbSBNYWNBcnRodXIgPGppbS5tYWNhcnRodXJAY29kZXRo aW5rLmNvLnVrPgotQWRkaXRpb24gb2YgLWZkZWMtZHVwbGljYXRlcyBieSBNYXJrIEVnZ2xlc3Rv biA8bWFyay5lZ2dsZXN0b25AY29kZXRoaW5rLmNvbT4KLS0tLQotIGdjYy9mb3J0cmFuL2xhbmcu b3B0ICAgICAgICAgICAgICAgICAgICAgICAgICB8ICA0ICsrKysKLSBnY2MvZm9ydHJhbi9vcHRp b25zLmNjICAgICAgICAgICAgICAgICAgICAgICAgfCAgMSArCi0gZ2NjL2ZvcnRyYW4vc3ltYm9s LmNjICAgICAgICAgICAgICAgICAgICAgICAgIHwgMjEgKysrKysrKysrKysrKysrKystLQotIC4u Li9nZm9ydHJhbi5kZy9kdXBsaWNhdGVfdHlwZV80LmY5MCAgICAgICAgICB8IDEzICsrKysrKysr KysrKwotIC4uLi9nZm9ydHJhbi5kZy9kdXBsaWNhdGVfdHlwZV81LmY5MCAgICAgICAgICB8IDEz ICsrKysrKysrKysrKwotIC4uLi9nZm9ydHJhbi5kZy9kdXBsaWNhdGVfdHlwZV82LmY5MCAgICAg ICAgICB8IDEzICsrKysrKysrKysrKwotIC4uLi9nZm9ydHJhbi5kZy9kdXBsaWNhdGVfdHlwZV83 LmY5MCAgICAgICAgICB8IDEzICsrKysrKysrKysrKwotIC4uLi9nZm9ydHJhbi5kZy9kdXBsaWNh dGVfdHlwZV84LmY5MCAgICAgICAgICB8IDEyICsrKysrKysrKysrCi0gLi4uL2dmb3J0cmFuLmRn L2R1cGxpY2F0ZV90eXBlXzkuZjkwICAgICAgICAgIHwgMTIgKysrKysrKysrKysKLSA5IGZpbGVz IGNoYW5nZWQsIDEwMCBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQotIGNyZWF0ZSBtb2Rl IDEwMDY0NCBnY2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL2R1cGxpY2F0ZV90eXBlXzQuZjkwCi0g Y3JlYXRlIG1vZGUgMTAwNjQ0IGdjYy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvZHVwbGljYXRlX3R5 cGVfNS5mOTAKLSBjcmVhdGUgbW9kZSAxMDA2NDQgZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9k dXBsaWNhdGVfdHlwZV82LmY5MAotIGNyZWF0ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRlL2dm b3J0cmFuLmRnL2R1cGxpY2F0ZV90eXBlXzcuZjkwCi0gY3JlYXRlIG1vZGUgMTAwNjQ0IGdjYy90 ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvZHVwbGljYXRlX3R5cGVfOC5mOTAKLSBjcmVhdGUgbW9kZSAx MDA2NDQgZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9kdXBsaWNhdGVfdHlwZV85LmY5MAotCi1k aWZmIC0tZ2l0IGEvZ2NjL2ZvcnRyYW4vbGFuZy5vcHQgYi9nY2MvZm9ydHJhbi9sYW5nLm9wdAot aW5kZXggMmIxOTc3YzUyM2IuLjUyYmQ1MjIwNTFlIDEwMDY0NAotLS0tIGEvZ2NjL2ZvcnRyYW4v bGFuZy5vcHQKLSsrKyBiL2djYy9mb3J0cmFuL2xhbmcub3B0Ci1AQCAtNDY5LDYgKzQ2OSwxMCBA QCBGb3J0cmFuIFZhcihmbGFnX2RlY19jaGFyX2NvbnZlcnNpb25zKQotIEVuYWJsZSB0aGUgdXNl IG9mIGNoYXJhY3RlciBsaXRlcmFscyBpbiBhc3NpZ25tZW50cyBhbmQgZGF0YSBzdGF0ZW1lbnRz Ci0gZm9yIG5vbi1jaGFyYWN0ZXIgdmFyaWFibGVzLgotIAotK2ZkZWMtZHVwbGljYXRlcwotK0Zv cnRyYW4gVmFyKGZsYWdfZGVjX2R1cGxpY2F0ZXMpCi0rQWxsb3cgdmFyaWJsZXMgdG8gYmUgZHVw bGljYXRlZCBpbiB0aGUgdHlwZSBzcGVjaWZpY2F0aW9uIG1hdGNoZXMuCi0rCi0gZmRlYy1pbmNs dWRlCi0gRm9ydHJhbiBWYXIoZmxhZ19kZWNfaW5jbHVkZSkKLSBFbmFibGUgbGVnYWN5IHBhcnNp bmcgb2YgSU5DTFVERSBhcyBzdGF0ZW1lbnQuCi1kaWZmIC0tZ2l0IGEvZ2NjL2ZvcnRyYW4vb3B0 aW9ucy5jYyBiL2djYy9mb3J0cmFuL29wdGlvbnMuY2MKLWluZGV4IDNhMGI5OGJmMWVjLi5mMTli YTg3ZjhhMCAxMDA2NDQKLS0tLSBhL2djYy9mb3J0cmFuL29wdGlvbnMuY2MKLSsrKyBiL2djYy9m b3J0cmFuL29wdGlvbnMuY2MKLUBAIC03Nyw2ICs3Nyw3IEBAIHNldF9kZWNfZmxhZ3MgKGludCB2 YWx1ZSkKLSAgIFNFVF9CSVRGTEFHIChmbGFnX2RlY19mb3JtYXRfZGVmYXVsdHMsIHZhbHVlLCB2 YWx1ZSk7Ci0gICBTRVRfQklURkxBRyAoZmxhZ19kZWNfYmxhbmtfZm9ybWF0X2l0ZW0sIHZhbHVl LCB2YWx1ZSk7Ci0gICBTRVRfQklURkxBRyAoZmxhZ19kZWNfY2hhcl9jb252ZXJzaW9ucywgdmFs dWUsIHZhbHVlKTsKLSsgIFNFVF9CSVRGTEFHIChmbGFnX2RlY19kdXBsaWNhdGVzLCB2YWx1ZSwg dmFsdWUpOwotIH0KLSAKLSAvKiBGaW5hbGl6ZSBERUMgZmxhZ3MuICAqLwotZGlmZiAtLWdpdCBh L2djYy9mb3J0cmFuL3N5bWJvbC5jYyBiL2djYy9mb3J0cmFuL3N5bWJvbC5jYwotaW5kZXggM2I5 ODhkMWJlMjIuLjk4NDMxNzVjYzJhIDEwMDY0NAotLS0tIGEvZ2NjL2ZvcnRyYW4vc3ltYm9sLmNj Ci0rKysgYi9nY2MvZm9ydHJhbi9zeW1ib2wuY2MKLUBAIC0xOTk1LDYgKzE5OTUsOCBAQCBnZmNf YWRkX3R5cGUgKGdmY19zeW1ib2wgKnN5bSwgZ2ZjX3R5cGVzcGVjICp0cywgbG9jdXMgKndoZXJl KQotICAgaWYgKHN5bS0+YXR0ci5yZXN1bHQgJiYgdHlwZSA9PSBCVF9VTktOT1dOICYmIHN5bS0+ bnMtPnByb2NfbmFtZSkKLSAgICAgdHlwZSA9IHN5bS0+bnMtPnByb2NfbmFtZS0+dHMudHlwZTsK LSAKLSsgIGZsYXZvciA9IHN5bS0+YXR0ci5mbGF2b3I7Ci0rCi0gICBpZiAodHlwZSAhPSBCVF9V TktOT1dOICYmICEoc3ltLT5hdHRyLmZ1bmN0aW9uICYmIHN5bS0+YXR0ci5pbXBsaWNpdF90eXBl KQotICAgICAgICYmICEoZ2ZjX3N0YXRlX3N0YWNrLT5wcmV2aW91cyAmJiBnZmNfc3RhdGVfc3Rh Y2stPnByZXZpb3VzLT5wcmV2aW91cwotIAkgICAmJiBnZmNfc3RhdGVfc3RhY2stPnByZXZpb3Vz LT5wcmV2aW91cy0+c3RhdGUgPT0gQ09NUF9TVUJNT0RVTEUpCi1AQCAtMjAwNyw2ICsyMDA5LDIz IEBAIGdmY19hZGRfdHlwZSAoZ2ZjX3N5bWJvbCAqc3ltLCBnZmNfdHlwZXNwZWMgKnRzLCBsb2N1 cyAqd2hlcmUpCi0gICAgICAgZWxzZSBpZiAoc3ltLT5hdHRyLmZ1bmN0aW9uICYmIHN5bS0+YXR0 ci5yZXN1bHQpCi0gCWdmY19lcnJvciAoIlN5bWJvbCAlcXMgYXQgJUwgYWxyZWFkeSBoYXMgYmFz aWMgdHlwZSBvZiAlcyIsCi0gCQkgICBzeW0tPm5zLT5wcm9jX25hbWUtPm5hbWUsIHdoZXJlLCBn ZmNfYmFzaWNfdHlwZW5hbWUgKHR5cGUpKTsKLSsgICAgICBlbHNlIGlmIChmbGFnX2RlY19kdXBs aWNhdGVzKQotKwl7Ci0rCSAgLyogSWdub3JlIHRlbXBvcmFyaWVzIGFuZCBjbGFzcy9wcm9jZWR1 cmUgbmFtZXMgKi8KLSsJICBpZiAoc3ltLT50cy50eXBlID09IEJUX0RFUklWRUQgfHwgc3ltLT50 cy50eXBlID09IEJUX0NMQVNTCi0rCSAgICAgIHx8IHN5bS0+dHMudHlwZSA9PSBCVF9QUk9DRURV UkUpCi0rCSAgICByZXR1cm4gZmFsc2U7Ci0rCi0rCSAgaWYgKGdmY19jb21wYXJlX3R5cGVzICgm c3ltLT50cywgdHMpCi0rCSAgICAgICYmIChmbGF2b3IgPT0gRkxfVU5LTk9XTiB8fCBmbGF2b3Ig PT0gRkxfVkFSSUFCTEUKLSsJICAgICAgfHwgZmxhdm9yID09IEZMX1BST0NFRFVSRSkpCi0rCSAg ICB7Ci0rCSAgICAgIHJldHVybiBnZmNfbm90aWZ5X3N0ZCAoR0ZDX1NURF9MRUdBQ1ksCi0rCQkJ CSAgICAgIlN5bWJvbCAnJXFzJyBhdCAlTCBhbHJlYWR5IGhhcyAiCi0rCQkJCSAgICAgImJhc2lj IHR5cGUgb2YgJXMiLCBzeW0tPm5hbWUsIHdoZXJlLAotKwkJCQkgICAgIGdmY19iYXNpY190eXBl bmFtZSAodHlwZSkpOwotKwkgICAgfQotKwl9Ci0gICAgICAgZWxzZQotIAlnZmNfZXJyb3IgKCJT eW1ib2wgJXFzIGF0ICVMIGFscmVhZHkgaGFzIGJhc2ljIHR5cGUgb2YgJXMiLCBzeW0tPm5hbWUs Ci0gCQkgICB3aGVyZSwgZ2ZjX2Jhc2ljX3R5cGVuYW1lICh0eXBlKSk7Ci1AQCAtMjAyMCw4ICsy MDM5LDYgQEAgZ2ZjX2FkZF90eXBlIChnZmNfc3ltYm9sICpzeW0sIGdmY190eXBlc3BlYyAqdHMs IGxvY3VzICp3aGVyZSkKLSAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgIH0KLSAKLS0gIGZsYXZv ciA9IHN5bS0+YXR0ci5mbGF2b3I7Ci0tCi0gICBpZiAoZmxhdm9yID09IEZMX1BST0dSQU0gfHwg Zmxhdm9yID09IEZMX0JMT0NLX0RBVEEgfHwgZmxhdm9yID09IEZMX01PRFVMRQotICAgICAgIHx8 IGZsYXZvciA9PSBGTF9MQUJFTAotICAgICAgIHx8IChmbGF2b3IgPT0gRkxfUFJPQ0VEVVJFICYm IHN5bS0+YXR0ci5zdWJyb3V0aW5lKQotZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2ZvcnRy YW4uZGcvZHVwbGljYXRlX3R5cGVfNC5mOTAgYi9nY2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL2R1 cGxpY2F0ZV90eXBlXzQuZjkwCi1uZXcgZmlsZSBtb2RlIDEwMDY0NAotaW5kZXggMDAwMDAwMDAw MDAuLmNkZDI5ZWE4ODQ2Ci0tLS0gL2Rldi9udWxsCi0rKysgYi9nY2MvdGVzdHN1aXRlL2dmb3J0 cmFuLmRnL2R1cGxpY2F0ZV90eXBlXzQuZjkwCi1AQCAtMCwwICsxLDEzIEBACi0rISB7IGRnLWRv IGNvbXBpbGUgfQotKyEgeyBkZy1vcHRpb25zICItc3RkPWY5NSIgfQotKwotKyEgUFIgZm9ydHJh bi8zMDIzOQotKyEgQ2hlY2sgZm9yIGVycm9ycyB3aGVuIGEgc3ltYm9sIGdldHMgZGVjbGFyZWQg YSB0eXBlIHR3aWNlLCBldmVuIGlmIGl0Ci0rISBpcyB0aGUgc2FtZS4KLSsKLStJTlRFR0VSIEZV TkNUSU9OIGZvbyAoKQotKyAgSU1QTElDSVQgTk9ORQotKyAgSU5URUdFUiA6OiB4Ci0rICBJTlRF R0VSIDo6IHggISB7IGRnLWVycm9yICJiYXNpYyB0eXBlIG9mIiB9Ci0rICB4ID0gNDIKLStFTkQg RlVOQ1RJT04gZm9vCi1kaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9kdXBs aWNhdGVfdHlwZV81LmY5MCBiL2djYy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvZHVwbGljYXRlX3R5 cGVfNS5mOTAKLW5ldyBmaWxlIG1vZGUgMTAwNjQ0Ci1pbmRleCAwMDAwMDAwMDAwMC4uMDBmOTMx ODA5YWEKLS0tLSAvZGV2L251bGwKLSsrKyBiL2djYy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvZHVw bGljYXRlX3R5cGVfNS5mOTAKLUBAIC0wLDAgKzEsMTMgQEAKLSshIHsgZGctZG8gcnVuIH0KLSsh IHsgZGctb3B0aW9ucyAiLWZkZWMiIH0KLSshCi0rISBUZXN0IGNhc2UgY29udHJpYnV0ZWQgYnkg TWFyayBFZ2dsZXN0b24gPG1hcmsuZWdnbGVzdG9uQGNvZGV0aGluay5jb20+Ci0rIQotKwotK3By b2dyYW0gdGVzdAotKyAgaW1wbGljaXQgbm9uZQotKyAgaW50ZWdlciA6OiB4Ci0rICBpbnRlZ2Vy IDo6IHgKLSsgIHggPSA0MgotKyAgaWYgKHggLz0gNDIpIHN0b3AgMQotK2VuZCBwcm9ncmFtIHRl c3QKLWRpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL2R1cGxpY2F0ZV90eXBl XzYuZjkwIGIvZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9kdXBsaWNhdGVfdHlwZV82LmY5MAot bmV3IGZpbGUgbW9kZSAxMDA2NDQKLWluZGV4IDAwMDAwMDAwMDAwLi5mMGRmMjdlMzIzYwotLS0t IC9kZXYvbnVsbAotKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9kdXBsaWNhdGVfdHlw ZV82LmY5MAotQEAgLTAsMCArMSwxMyBAQAotKyEgeyBkZy1kbyBydW4gfQotKyEgeyBkZy1vcHRp b25zICItc3RkPWxlZ2FjeSAtZmRlYy1kdXBsaWNhdGVzIiB9Ci0rIQotKyEgVGVzdCBjYXNlIGNv bnRyaWJ1dGVkIGJ5IE1hcmsgRWdnbGVzdG9uIDxtYXJrLmVnZ2xlc3RvbkBjb2RldGhpbmsuY29t PgotKyEKLSsKLStwcm9ncmFtIHRlc3QKLSsgIGltcGxpY2l0IG5vbmUKLSsgIGludGVnZXIgOjog eAotKyAgaW50ZWdlciA6OiB4Ci0rICB4ID0gNDIKLSsgIGlmICh4IC89IDQyKSBzdG9wIDEKLStl bmQgcHJvZ3JhbSB0ZXN0Ci1kaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9k dXBsaWNhdGVfdHlwZV83LmY5MCBiL2djYy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvZHVwbGljYXRl X3R5cGVfNy5mOTAKLW5ldyBmaWxlIG1vZGUgMTAwNjQ0Ci1pbmRleCAwMDAwMDAwMDAwMC4uZjMy NDcyZmY1ODYKLS0tLSAvZGV2L251bGwKLSsrKyBiL2djYy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcv ZHVwbGljYXRlX3R5cGVfNy5mOTAKLUBAIC0wLDAgKzEsMTMgQEAKLSshIHsgZGctZG8gcnVuIH0K LSshIHsgZGctb3B0aW9ucyAiLWZkZWMtZHVwbGljYXRlcyIgfQotKyEKLSshIFRlc3QgY2FzZSBj b250cmlidXRlZCBieSBNYXJrIEVnZ2xlc3RvbiA8bWFyay5lZ2dsZXN0b25AY29kZXRoaW5rLmNv bT4KLSshCi0rCi0rcHJvZ3JhbSB0ZXN0Ci0rICBpbXBsaWNpdCBub25lCi0rICBpbnRlZ2VyIDo6 IHgKLSsgIGludGVnZXIgOjogeCEgeyBkZy13YXJuaW5nICJMZWdhY3kgRXh0ZW5zaW9uIiB9Ci0r ICB4ID0gNDIKLSsgIGlmICh4IC89IDQyKSBzdG9wIDEKLStlbmQgcHJvZ3JhbSB0ZXN0Ci1kaWZm IC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9kdXBsaWNhdGVfdHlwZV84LmY5MCBi L2djYy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvZHVwbGljYXRlX3R5cGVfOC5mOTAKLW5ldyBmaWxl IG1vZGUgMTAwNjQ0Ci1pbmRleCAwMDAwMDAwMDAwMC4uMjNjOTRhZGQxNzkKLS0tLSAvZGV2L251 bGwKLSsrKyBiL2djYy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvZHVwbGljYXRlX3R5cGVfOC5mOTAK LUBAIC0wLDAgKzEsMTIgQEAKLSshIHsgZGctZG8gY29tcGlsZSB9Ci0rISB7IGRnLW9wdGlvbnMg Ii1mZGVjIC1mbm8tZGVjLWR1cGxpY2F0ZXMiIH0KLSshCi0rISBUZXN0IGNhc2UgY29udHJpYnV0 ZWQgYnkgTWFyayBFZ2dsZXN0b24gPG1hcmsuZWdnbGVzdG9uQGNvZGV0aGluay5jb20+Ci0rIQot KwotK2ludGVnZXIgZnVuY3Rpb24gZm9vICgpCi0rICBpbXBsaWNpdCBub25lCi0rICBpbnRlZ2Vy IDo6IHgKLSsgIGludGVnZXIgOjogeCAhIHsgZGctZXJyb3IgImJhc2ljIHR5cGUgb2YiIH0KLSsg IHggPSA0MgotK2VuZCBmdW5jdGlvbiBmb28KLWRpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2dm b3J0cmFuLmRnL2R1cGxpY2F0ZV90eXBlXzkuZjkwIGIvZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5k Zy9kdXBsaWNhdGVfdHlwZV85LmY5MAotbmV3IGZpbGUgbW9kZSAxMDA2NDQKLWluZGV4IDAwMDAw MDAwMDAwLi5kNWVkZWU0ZDhlZQotLS0tIC9kZXYvbnVsbAotKysrIGIvZ2NjL3Rlc3RzdWl0ZS9n Zm9ydHJhbi5kZy9kdXBsaWNhdGVfdHlwZV85LmY5MAotQEAgLTAsMCArMSwxMiBAQAotKyEgeyBk Zy1kbyBjb21waWxlIH0KLSshIHsgZGctb3B0aW9ucyAiLWZkZWMtZHVwbGljYXRlcyAtZm5vLWRl Yy1kdXBsaWNhdGVzIiB9Ci0rIQotKyEgVGVzdCBjYXNlIGNvbnRyaWJ1dGVkIGJ5IE1hcmsgRWdn bGVzdG9uIDxtYXJrLmVnZ2xlc3RvbkBjb2RldGhpbmsuY29tPgotKyEKLSsKLStpbnRlZ2VyIGZ1 bmN0aW9uIGZvbyAoKQotKyAgaW1wbGljaXQgbm9uZQotKyAgaW50ZWdlciA6OiB4Ci0rICBpbnRl Z2VyIDo6IHggISB7IGRnLWVycm9yICJiYXNpYyB0eXBlIG9mIiB9Ci0rICB4ID0gNDIKLStlbmQg ZnVuY3Rpb24gZm9vCi0tLSAKLTIuMjcuMAotCgpkaWZmIC0tZ2l0IGEvZ2NjMTYtaGFjay5wYXRj aCBiL2djYzE2LWhhY2sucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDYxMzMx YmYuLjAwMDAwMDAKLS0tIGEvZ2NjMTYtaGFjay5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDE4 MiArMCwwIEBACi0tLS0gbGliYWRhL01ha2VmaWxlLmluLmpqCTIwMTktMDEtMDkgMTM6MDE6MTgu MDE1NjA4MjA1ICswMTAwCi0rKysgbGliYWRhL01ha2VmaWxlLmluCTIwMTktMDEtMTEgMTg6MTY6 MjMuNDQxNzI2OTMxICswMTAwCi1AQCAtNzEsMTggKzcxLDQwIEBAIHZlcnNpb24gOj0gJChzaGVs bCBAZ2V0X2djY19iYXNlX3ZlckAgJCgKLSBsaWJzdWJkaXIgOj0gJChsaWJkaXIpL2djYy8kKHRh cmdldF9ub25jYW5vbmljYWwpLyQodmVyc2lvbikkKE1VTFRJU1VCRElSKQotIEFEQV9SVFNfRElS PSQoR0NDX0RJUikvYWRhL3J0cyQoc3Vic3QgLyxfLCQoTVVMVElTVUJESVIpKQotIAotK0RFRkFV TFRNVUxUSUZMQUdTIDo9Ci0raWZlcSAoJChNVUxUSVNVQkRJUiksKQotK3Rhcmc6PSQoc3Vic3Qg LSwgLCQodGFyZ2V0KSkKLSthcmNoOj0kKHdvcmQgMSwkKHRhcmcpKQotK2lmZXEgKCQod29yZHMg JCh0YXJnKSksMikKLStvc3lzOj0kKHdvcmQgMiwkKHRhcmcpKQotK2Vsc2UKLStvc3lzOj0kKHdv cmQgMywkKHRhcmcpKQotK2VuZGlmCi0raWZlcSAoJChzdHJpcCAkKGZpbHRlci1vdXQgaSU4NiB4 ODZfNjQgcG93ZXJwYyUgcHBjJSBzMzkwJSBzcGFyYyUgbGludXglLCAkKGFyY2gpICQob3N5cykp KSwpCi0raWZlcSAoJChzaGVsbCAkKENDKSAkKENGTEFHUykgLXByaW50LW11bHRpLW9zLWRpcmVj dG9yeSksLi4vbGliNjQpCi0rREVGQVVMVE1VTFRJRkxBR1MgOj0gLW02NAotK2Vsc2UKLStpZmVx ICgkKHN0cmlwICQoZmlsdGVyLW91dCBzMzkwJSwgJChhcmNoKSkpLCkKLStERUZBVUxUTVVMVElG TEFHUyA6PSAtbTMxCi0rZWxzZQotK0RFRkFVTFRNVUxUSUZMQUdTIDo9IC1tMzIKLStlbmRpZgot K2VuZGlmCi0rZW5kaWYKLStlbmRpZgotKwotICMgZXhlZXh0IHNob3VsZCBub3QgYmUgdXNlZCBi ZWNhdXNlIGl0J3MgdGhlICpob3N0KiBleGVleHQuICBXZSdyZSBidWlsZGluZwotICMgYSAqdGFy Z2V0KiBsaWJyYXJ5LCBhcmVuJ3Qgd2U/IT8gIExpa2V3aXNlIGZvciBDQy4gIFN0aWxsLCBwcm92 aWRlIGJvZ3VzCi0gIyBkZWZpbml0aW9ucyBqdXN0IGluIGNhc2Ugc29tZXRoaW5nIHNsaXBzIHRo cm91Z2ggdGhlIHNhZmV0eSBuZXQgcHJvdmlkZWQKLSAjIGJ5IHJlY3Vyc2l2ZSBtYWtlIGludm9j YXRpb25zIGluIGdjYy9hZGEvTWFrZWZpbGUuaW4KLSBMSUJBREFfRkxBR1NfVE9fUEFTUyA9IFwK LSAgICAgICAgICJNQUtFT1ZFUlJJREVTPSIgXAotLSAgICAgICAgIkxERkxBR1M9JChMREZMQUdT KSIgXAotKyAgICAgICAgIkxERkxBR1M9JChMREZMQUdTKSAkKERFRkFVTFRNVUxUSUZMQUdTKSIg XAotICAgICAgICAgIkxOX1M9JChMTl9TKSIgXAotICAgICAgICAgIlNIRUxMPSQoU0hFTEwpIiBc Ci0tICAgICAgICAiR05BVExJQkZMQUdTPSQoR05BVExJQkZMQUdTKSAkKE1VTFRJRkxBR1MpIiBc Ci0tICAgICAgICAiR05BVExJQkNGTEFHUz0kKEdOQVRMSUJDRkxBR1MpICQoTVVMVElGTEFHUyki IFwKLS0gICAgICAgICJHTkFUTElCQ0ZMQUdTX0ZPUl9DPSQoR05BVExJQkNGTEFHU19GT1JfQykg JChNVUxUSUZMQUdTKSIgXAotKyAgICAgICAgIkdOQVRMSUJGTEFHUz0kKEdOQVRMSUJGTEFHUykg JChNVUxUSUZMQUdTKSAkKERFRkFVTFRNVUxUSUZMQUdTKSIgXAotKyAgICAgICAgIkdOQVRMSUJD RkxBR1M9JChHTkFUTElCQ0ZMQUdTKSAkKE1VTFRJRkxBR1MpICQoREVGQVVMVE1VTFRJRkxBR1Mp IiBcCi0rICAgICAgICAiR05BVExJQkNGTEFHU19GT1JfQz0kKEdOQVRMSUJDRkxBR1NfRk9SX0Mp ICQoTVVMVElGTEFHUykgJChERUZBVUxUTVVMVElGTEFHUykiIFwKLSAgICAgICAgICJQSUNGTEFH X0ZPUl9UQVJHRVQ9JChQSUNGTEFHKSIgXAotICAgICAgICAgIlRIUkVBRF9LSU5EPSQoVEhSRUFE X0tJTkQpIiBcCi0gICAgICAgICAiVFJBQ0U9JChUUkFDRSkiIFwKLUBAIC05Myw3ICsxMTUsNyBA QCBMSUJBREFfRkxBR1NfVE9fUEFTUyA9IFwKLSAgICAgICAgICJleGVleHQ9LmV4ZWV4dC5zaG91 bGQubm90LmJlLnVzZWQgIiBcCi0gCSdDQz10aGUuaG9zdC5jb21waWxlci5zaG91bGQubm90LmJl Lm5lZWRlZCcgXAotIAkiR0NDX0ZPUl9UQVJHRVQ9JChDQykiIFwKLS0gICAgICAgICJDRkxBR1M9 JChDRkxBR1MpIgotKyAgICAgICAgIkNGTEFHUz0kKENGTEFHUykgJChERUZBVUxUTVVMVElGTEFH UykiCi0gCi0gLlBIT05ZOiBsaWJhZGEgZ25hdGxpYiBnbmF0bGliLXNoYXJlZCBnbmF0bGliLXNq bGogZ25hdGxpYi16Y3ggb3Njb25zdG9vbAotIAotLS0tIGNvbmZpZy1tbC5pbi5qagkyMDE5LTAx LTA5IDEyOjUwOjE2LjY0NjUwMTQ0OCArMDEwMAotKysrIGNvbmZpZy1tbC5pbgkyMDE5LTAxLTEx IDE4OjE2OjIzLjQ0MjcyNjkxNCArMDEwMAotQEAgLTUxMSw2ICs1MTEsOCBAQCBtdWx0aS1kbzoK LSAJCQkJQURBRkxBR1M9IiQoQURBRkxBR1MpICQke2ZsYWdzfSIgXAotIAkJCQlwcmVmaXg9IiQo cHJlZml4KSIgXAotIAkJCQlleGVjX3ByZWZpeD0iJChleGVjX3ByZWZpeCkiIFwKLSsJCQkJbWFu ZGlyPSIkKG1hbmRpcikiIFwKLSsJCQkJaW5mb2Rpcj0iJChpbmZvZGlyKSIgXAotIAkJCQlHT0NG TEFHUz0iJChHT0NGTEFHUykgJCR7ZmxhZ3N9IiBcCi0gCQkJCUdEQ0ZMQUdTPSIkKEdEQ0ZMQUdT KSAkJHtmbGFnc30iIFwKLSAJCQkJQTY4RkxBR1M9IiQoQTY4RkxBR1MpICQke2ZsYWdzfSIgXAot LS0tIGxpYmNwcC9tYWNyby5jYy5qagkyMDE5LTAxLTA5IDEzOjAxOjIxLjQyMDU1MjEyMyArMDEw MAotKysrIGxpYmNwcC9tYWNyby5jYwkyMDI0LTExLTMwIDEzOjE2OjQxLjE2MzA1NjM5MSArMDEw MAotQEAgLTM2ODAsOCArMzY4MCw2IEBAIHN0YXRpYyBjcHBfbWFjcm8gKgotIGNyZWF0ZV9pc29f ZGVmaW5pdGlvbiAoY3BwX3JlYWRlciAqcGZpbGUpCi0gewotICAgYm9vbCBmb2xsb3dpbmdfcGFz dGVfb3AgPSBmYWxzZTsKLS0gIGNvbnN0IGNoYXIgKnBhc3RlX29wX2Vycm9yX21zZyA9Ci0tICAg IE5fKCIlPCMjJT4gY2Fubm90IGFwcGVhciBhdCBlaXRoZXIgZW5kIG9mIGEgbWFjcm8gZXhwYW5z aW9uIik7Ci0gICB1bnNpZ25lZCBpbnQgbnVtX2V4dHJhX3Rva2VucyA9IDA7Ci0gICB1bnNpZ25l ZCBucGFybXMgPSAwOwotICAgY3BwX2hhc2hub2RlICoqcGFyYW1zID0gTlVMTDsKLUBAIC0zODA5 LDcgKzM4MDcsOSBAQCBjcmVhdGVfaXNvX2RlZmluaXRpb24gKGNwcF9yZWFkZXIgKnBmaWxlCi0g CSAgICAgZnVuY3Rpb24tbGlrZSBtYWNyb3MsIGJ1dCBub3QgYXQgdGhlIGVuZC4gICovCi0gCSAg aWYgKGZvbGxvd2luZ19wYXN0ZV9vcCkKLSAJICAgIHsKLS0JICAgICAgY3BwX2Vycm9yIChwZmls ZSwgQ1BQX0RMX0VSUk9SLCBwYXN0ZV9vcF9lcnJvcl9tc2cpOwotKwkgICAgICBjcHBfZXJyb3Ig KHBmaWxlLCBDUFBfRExfRVJST1IsCi0rCQkJICIlPCMjJT4gY2Fubm90IGFwcGVhciBhdCBlaXRo ZXIgZW5kIG9mIGEgbWFjcm8gIgotKwkJCSAiZXhwYW5zaW9uIik7Ci0gCSAgICAgIGdvdG8gb3V0 OwotIAkgICAgfQotIAkgIGlmICghdmFvcHRfdHJhY2tlci5jb21wbGV0ZWQgKCkpCi1AQCAtMzgy NCw3ICszODI0LDkgQEAgY3JlYXRlX2lzb19kZWZpbml0aW9uIChjcHBfcmVhZGVyICpwZmlsZQot IAkgICAgIGZ1bmN0aW9uLWxpa2UgbWFjcm9zLCBidXQgbm90IGF0IHRoZSBiZWdpbm5pbmcuICAq LwotIAkgIGlmIChtYWNyby0+Y291bnQgPT0gMSkKLSAJICAgIHsKLS0JICAgICAgY3BwX2Vycm9y IChwZmlsZSwgQ1BQX0RMX0VSUk9SLCBwYXN0ZV9vcF9lcnJvcl9tc2cpOwotKwkgICAgICBjcHBf ZXJyb3IgKHBmaWxlLCBDUFBfRExfRVJST1IsCi0rCQkJICIlPCMjJT4gY2Fubm90IGFwcGVhciBh dCBlaXRoZXIgZW5kIG9mIGEgbWFjcm8gIgotKwkJCSAiZXhwYW5zaW9uIik7Ci0gCSAgICAgIGdv dG8gb3V0OwotIAkgICAgfQotIAotLS0tIGxpYmNwcC9leHByLmNjLmpqCTIwMTktMDEtMDkgMTM6 MDE6MjIuNDE1NTM1NzM0ICswMTAwCi0rKysgbGliY3BwL2V4cHIuY2MJMjAyNC0xMS0zMCAxMzox NDo1Mi40Njg1ODM2ODkgKzAxMDAKLUBAIC04NzQsNTAgKzg3NCw1NCBAQCBjcHBfY2xhc3NpZnlf bnVtYmVyIChjcHBfcmVhZGVyICpwZmlsZSwKLSAgICAgICBpZiAoKHJlc3VsdCAmIENQUF9OX1dJ RFRIKSA9PSBDUFBfTl9MQVJHRQotIAkgICYmIENQUF9PUFRJT04gKHBmaWxlLCBjcHBfd2Fybl9s b25nX2xvbmcpKQotICAgICAgICAgewotLSAgICAgICAgICBjb25zdCBjaGFyICptZXNzYWdlID0g Q1BQX09QVElPTiAocGZpbGUsIGNwbHVzcGx1cykKLS0JCQkJPyBOXygidXNlIG9mIEMrKzExIGxv bmcgbG9uZyBpbnRlZ2VyIGNvbnN0YW50IikKLS0JCSAgICAgICAgICAgICAgICA6IE5fKCJ1c2Ug b2YgQzk5IGxvbmcgbG9uZyBpbnRlZ2VyIGNvbnN0YW50Iik7Ci0tCi0gCSAgaWYgKENQUF9PUFRJ T04gKHBmaWxlLCBjOTkpKQotLSAgICAgICAgICAgIGNwcF93YXJuaW5nX3dpdGhfbGluZSAocGZp bGUsIENQUF9XX0xPTkdfTE9ORywgdmlydHVhbF9sb2NhdGlvbiwKLS0JCQkJICAgMCwgbWVzc2Fn ZSk7Ci0rICAgICAgICAgICAgY3BwX3dhcm5pbmdfd2l0aF9saW5lIChwZmlsZSwgQ1BQX1dfTE9O R19MT05HLCB2aXJ0dWFsX2xvY2F0aW9uLCAwLAotKwkJCQkgICBDUFBfT1BUSU9OIChwZmlsZSwg Y3BsdXNwbHVzKQotKwkJCQkgICA/IE5fKCJ1c2Ugb2YgQysrMTEgbG9uZyBsb25nIGludGVnZXIg IgotKwkJCQkJImNvbnN0YW50IikKLSsJCQkJICAgOiBOXygidXNlIG9mIEM5OSBsb25nIGxvbmcg aW50ZWdlciAiCi0rCQkJCQkiY29uc3RhbnQiKSk7Ci0gICAgICAgICAgIGVsc2UKLSAgICAgICAg ICAgICBjcHBfcGVkd2FybmluZ193aXRoX2xpbmUgKHBmaWxlLCBDUFBfV19MT05HX0xPTkcsCi0t CQkJCSAgICAgIHZpcnR1YWxfbG9jYXRpb24sIDAsIG1lc3NhZ2UpOwotKwkJCQkgICAgICB2aXJ0 dWFsX2xvY2F0aW9uLCAwLAotKwkJCQkgICAgICBDUFBfT1BUSU9OIChwZmlsZSwgY3BsdXNwbHVz KQotKwkJCQkgICAgICA/IE5fKCJ1c2Ugb2YgQysrMTEgbG9uZyBsb25nIGludGVnZXIgIgotKwkJ CQkJICAgImNvbnN0YW50IikKLSsJCQkJICAgICAgOiBOXygidXNlIG9mIEM5OSBsb25nIGxvbmcg aW50ZWdlciAiCi0rCQkJCQkgICAiY29uc3RhbnQiKSk7Ci0gICAgICAgICB9Ci0gCi0gICAgICAg aWYgKChyZXN1bHQgJiBDUFBfTl9TSVpFX1QpID09IENQUF9OX1NJWkVfVAotIAkgICYmICFDUFBf T1BUSU9OIChwZmlsZSwgc2l6ZV90X2xpdGVyYWxzKSkKLS0gICAgICAgewotLQkgIGNvbnN0IGNo YXIgKm1lc3NhZ2UKLS0JICAgID0gKHJlc3VsdCAmIENQUF9OX1VOU0lHTkVEKSA9PSBDUFBfTl9V TlNJR05FRAotLQkgICAgICA/IE5fKCJ1c2Ugb2YgQysrMjMgJTxzaXplX3QlPiBpbnRlZ2VyIGNv bnN0YW50IikKLS0JICAgICAgOiBOXygidXNlIG9mIEMrKzIzICU8bWFrZV9zaWduZWRfdDxzaXpl X3Q+JT4gaW50ZWdlciBjb25zdGFudCIpOwotLQkgIGNwcF93YXJuaW5nX3dpdGhfbGluZSAocGZp bGUsIENQUF9XX1NJWkVfVF9MSVRFUkFMUywKLS0JCQkJIHZpcnR1YWxfbG9jYXRpb24sIDAsIG1l c3NhZ2UpOwotLSAgICAgICB9Ci0rCWNwcF93YXJuaW5nX3dpdGhfbGluZSAocGZpbGUsIENQUF9X X1NJWkVfVF9MSVRFUkFMUywKLSsJCQkgICAgICAgdmlydHVhbF9sb2NhdGlvbiwgMCwKLSsJCQkg ICAgICAgKHJlc3VsdCAmIENQUF9OX1VOU0lHTkVEKSA9PSBDUFBfTl9VTlNJR05FRAotKwkJCQk/ IE5fKCJ1c2Ugb2YgQysrMjMgJTxzaXplX3QlPiBpbnRlZ2VyICIKLSsJCQkJICAgICAiY29uc3Rh bnQiKQotKwkJCQk6IE5fKCJ1c2Ugb2YgQysrMjMgJTxtYWtlX3NpZ25lZF90PHNpemVfdD4lPiAi Ci0rCQkJCSAgICAgImludGVnZXIgY29uc3RhbnQiKSk7Ci0gCi0gICAgICAgaWYgKChyZXN1bHQg JiBDUFBfTl9CSVRJTlQpICE9IDAKLSAJICAmJiBDUFBfT1BUSU9OIChwZmlsZSwgY3BwX3dhcm5f YzExX2MyM19jb21wYXQpICE9IDApCi0gCXsKLSAJICBpZiAoQ1BQX09QVElPTiAocGZpbGUsIGNw cF93YXJuX2MxMV9jMjNfY29tcGF0KSA+IDApCi0gCSAgICB7Ci0tCSAgICAgIGNvbnN0IGNoYXIg Km1lc3NhZ2UgPSBOXygiSVNPIEMgZG9lcyBub3Qgc3VwcG9ydCBsaXRlcmFsICIKLS0JCQkJICAg ICAgICIlPHdiJT4gc3VmZml4ZXMgYmVmb3JlIEMyMyIpOwotIAkgICAgICBpZiAoQ1BQX1BFREFO VElDIChwZmlsZSkgJiYgIUNQUF9PUFRJT04gKHBmaWxlLCB0cnVlX2ZhbHNlKSkKLSAJCWNwcF9w ZWR3YXJuaW5nX3dpdGhfbGluZSAocGZpbGUsIENQUF9XX0MxMV9DMjNfQ09NUEFULAotLQkJCQkJ ICB2aXJ0dWFsX2xvY2F0aW9uLCAwLCBtZXNzYWdlKTsKLSsJCQkJCSAgdmlydHVhbF9sb2NhdGlv biwgMCwKLSsJCQkJCSAgIklTTyBDIGRvZXMgbm90IHN1cHBvcnQgbGl0ZXJhbCAiCi0rCQkJCQkg ICIlPHdiJT4gc3VmZml4ZXMgYmVmb3JlIEMyMyIpOwotIAkgICAgICBlbHNlCi0gCQljcHBfd2Fy bmluZ193aXRoX2xpbmUgKHBmaWxlLCBDUFBfV19DMTFfQzIzX0NPTVBBVCwKLS0JCQkJICAgICAg IHZpcnR1YWxfbG9jYXRpb24sIDAsIG1lc3NhZ2UpOwotLQkgICAgfQotLQkgIGVsc2UgaWYgKCFD UFBfT1BUSU9OIChwZmlsZSwgdHJ1ZV9mYWxzZSkpCi0tCSAgICB7Ci0tCSAgICAgIGNvbnN0IGNo YXIgKm1lc3NhZ2UgPSBOXygiSVNPIEMgZG9lcyBub3Qgc3VwcG9ydCBsaXRlcmFsICIKLSsJCQkJ ICAgICAgIHZpcnR1YWxfbG9jYXRpb24sIDAsCi0rCQkJCSAgICAgICAiSVNPIEMgZG9lcyBub3Qg c3VwcG9ydCBsaXRlcmFsICIKLSAJCQkJICAgICAgICIlPHdiJT4gc3VmZml4ZXMgYmVmb3JlIEMy MyIpOwotLQkgICAgICBjcHBfcGVkd2FybmluZ193aXRoX2xpbmUgKHBmaWxlLCBDUFBfV19QRURB TlRJQywKLS0JCQkJCXZpcnR1YWxfbG9jYXRpb24sIDAsIG1lc3NhZ2UpOwotIAkgICAgfQotKwkg IGVsc2UgaWYgKCFDUFBfT1BUSU9OIChwZmlsZSwgdHJ1ZV9mYWxzZSkpCi0rCSAgICBjcHBfcGVk d2FybmluZ193aXRoX2xpbmUgKHBmaWxlLCBDUFBfV19QRURBTlRJQywKLSsJCQkJICAgICAgdmly dHVhbF9sb2NhdGlvbiwgMCwKLSsJCQkJICAgICAgIklTTyBDIGRvZXMgbm90IHN1cHBvcnQgbGl0 ZXJhbCAiCi0rCQkJCSAgICAgICIlPHdiJT4gc3VmZml4ZXMgYmVmb3JlIEMyMyIpOwotIAl9Ci0g Ci0gICAgICAgcmVzdWx0IHw9IENQUF9OX0lOVEVHRVI7CgpkaWZmIC0tZ2l0IGEvZ2NjMTYtaXNs LWRsLnBhdGNoIGIvZ2NjMTYtaXNsLWRsLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp bmRleCBkYzBjNDliLi4wMDAwMDAwCi0tLSBhL2djYzE2LWlzbC1kbC5wYXRjaAorKysgL2Rldi9u dWxsCkBAIC0xLDcxNiArMCwwIEBACi0tLS0gZ2NjL01ha2VmaWxlLmluLmpqCTIwMTUtMDYtMDYg MTA6MDA6MjUuMDAwMDAwMDAwICswMjAwCi0rKysgZ2NjL01ha2VmaWxlLmluCTIwMTUtMTEtMDQg MTQ6NTY6MDIuNjQzNTM2NDM3ICswMTAwCi1AQCAtMTA2Myw3ICsxMDYzLDcgQEAgQlVJTERfTElC REVQUz0gJChCVUlMRF9MSUJJQkVSVFkpCi0gIyBhbmQgdGhlIHN5c3RlbSdzIGluc3RhbGxlZCBs aWJyYXJpZXMuCi0gTElCUyA9IEBMSUJTQCBsaWJjb21tb24uYSAkKENQUExJQikgJChMSUJJTlRM KSAkKExJQklDT05WKSAkKExJQkJBQ0tUUkFDRSkgXAotIAkkKExJQklCRVJUWSkgJChMSUJERUNO VU1CRVIpICQoSE9TVF9MSUJTKQotLUJBQ0tFTkRMSUJTID0gJChJU0xMSUJTKSAkKEdNUExJQlMp ICQoUExVR0lOTElCUykgJChIT1NUX0xJQlMpIFwKLStCQUNLRU5ETElCUyA9ICQoaWYgJChJU0xM SUJTKSwtbGRsKSAkKEdNUExJQlMpICQoUExVR0lOTElCUykgJChIT1NUX0xJQlMpIFwKLSAJJCha TElCKSAkKFpTVERfTElCKQotICMgQW55IHN5c3RlbSBsaWJyYXJpZXMgbmVlZGVkIGp1c3QgZm9y IEdOQVQuCi0gU1lTTElCUyA9IEBHTkFUX0xJQkVYQ0AKLUBAIC0yMzAyLDYgKzIzMDIsMTUgQEAg JChvdXRfb2JqZWN0X2ZpbGUpOiAkKG91dF9maWxlKQotICQoY29tbW9uX291dF9vYmplY3RfZmls ZSk6ICQoY29tbW9uX291dF9maWxlKQotIAkkKENPTVBJTEUpICQ8Ci0gCSQoUE9TVENPTVBJTEUp Ci0rCi0rZ3JhcGhpdGUlLm8gOiBcCi0rICBBTExfQ0ZMQUdTIDo9IC1PICQoZmlsdGVyLW91dCAt ZmtlZXAtaW5saW5lLWZ1bmN0aW9ucywgJChBTExfQ0ZMQUdTKSkKLStncmFwaGl0ZS5vIDogXAot KyAgQUxMX0NGTEFHUyA6PSAtTyAkKGZpbHRlci1vdXQgLWZrZWVwLWlubGluZS1mdW5jdGlvbnMs ICQoQUxMX0NGTEFHUykpCi0rZ3JhcGhpdGUlLm8gOiBcCi0rICBBTExfQ1hYRkxBR1MgOj0gLU8g JChmaWx0ZXItb3V0IC1ma2VlcC1pbmxpbmUtZnVuY3Rpb25zLCAkKEFMTF9DWFhGTEFHUykpCi0r Z3JhcGhpdGUubyA6IFwKLSsgIEFMTF9DWFhGTEFHUyA6PSAtTyAkKGZpbHRlci1vdXQgLWZrZWVw LWlubGluZS1mdW5jdGlvbnMsICQoQUxMX0NYWEZMQUdTKSkKLSAjDAotICMgR2VuZXJhdGUgaGVh ZGVyIGFuZCBzb3VyY2UgZmlsZXMgZnJvbSB0aGUgbWFjaGluZSBkZXNjcmlwdGlvbiwKLSAjIGFu ZCBjb21waWxlIHRoZW0uCi0tLS0gZ2NjL2dyYXBoaXRlLmguamoJMjAxNi0wMS0yNyAxMjo0NDow Ni4wMDAwMDAwMDAgKzAxMDAKLSsrKyBnY2MvZ3JhcGhpdGUuaAkyMDIyLTExLTAzIDE5OjE0OjUw LjM2OTY5MDcyMCArMDEwMAotQEAgLTI0LDYgKzI0LDU5MSBAQCBhbG9uZyB3aXRoIEdDQzsgc2Vl IHRoZSBmaWxlIENPUFlJTkczLgotIAotICNpbmNsdWRlICJzZXNlLmgiCi0gCi0rI2luY2x1ZGUg PGlzbC92ZXJzaW9uLmg+Ci0rI2luY2x1ZGUgPGRsZmNuLmg+Ci0rCi0rI2RlZmluZSBEWU5TWU1T IFwKLSsgIERZTlNZTSAoaXNsX2FmZl9hZGRfY29lZmZpY2llbnRfc2kpOyBcCi0rICBEWU5TWU0g KGlzbF9hZmZfZnJlZSk7IFwKLSsgIERZTlNZTSAoaXNsX2FmZl9nZXRfc3BhY2UpOyBcCi0rICBE WU5TWU0gKGlzbF9hZmZfc2V0X2NvZWZmaWNpZW50X3NpKTsgXAotKyAgRFlOU1lNIChpc2xfYWZm X3NldF9jb25zdGFudF9zaSk7IFwKLSsgIERZTlNZTSAoaXNsX2FmZl96ZXJvX29uX2RvbWFpbik7 IFwKLSsgIC8qIERZTlNZTSAoaXNsX2JhbmRfZnJlZSk7ICovIFwKLSsgIC8qIERZTlNZTSAoaXNs X2JhbmRfZ2V0X2NoaWxkcmVuKTsgKi8gXAotKyAgLyogRFlOU1lNIChpc2xfYmFuZF9nZXRfcGFy dGlhbF9zY2hlZHVsZSk7ICovIFwKLSsgIC8qIERZTlNZTSAoaXNsX2JhbmRfaGFzX2NoaWxkcmVu KTsgKi8gXAotKyAgLyogRFlOU1lNIChpc2xfYmFuZF9saXN0X2ZyZWUpOyAqLyBcCi0rICAvKiBE WU5TWU0gKGlzbF9iYW5kX2xpc3RfZ2V0X2JhbmQpOyAqLyBcCi0rICAvKiBEWU5TWU0gKGlzbF9i YW5kX2xpc3RfZ2V0X2N0eCk7ICovIFwKLSsgIC8qIERZTlNZTSAoaXNsX2JhbmRfbGlzdF9uX2Jh bmQpOyAqLyBcCi0rICAvKiBEWU5TWU0gKGlzbF9iYW5kX25fbWVtYmVyKTsgKi8gXAotKyAgRFlO U1lNIChpc2xfYmFzaWNfbWFwX2FkZF9jb25zdHJhaW50KTsgXAotKyAgRFlOU1lNIChpc2xfYmFz aWNfbWFwX3Byb2plY3Rfb3V0KTsgXAotKyAgRFlOU1lNIChpc2xfYmFzaWNfbWFwX3VuaXZlcnNl KTsgXAotKyAgRFlOU1lNIChpc2xfY29uc3RyYWludF9zZXRfY29lZmZpY2llbnRfc2kpOyBcCi0r ICBEWU5TWU0gKGlzbF9jb25zdHJhaW50X3NldF9jb25zdGFudF9zaSk7IFwKLSsgIERZTlNZTSAo aXNsX2N0eF9hbGxvYyk7IFwKLSsgIERZTlNZTSAoaXNsX2N0eF9mcmVlKTsgXAotKyAgRFlOU1lN IChpc2xfZXF1YWxpdHlfYWxsb2MpOyBcCi0rICBEWU5TWU0gKGlzbF9pZF9hbGxvYyk7IFwKLSsg IERZTlNZTSAoaXNsX2lkX2NvcHkpOyBcCi0rICBEWU5TWU0gKGlzbF9pZF9mcmVlKTsgXAotKyAg RFlOU1lNIChpc2xfaW5lcXVhbGl0eV9hbGxvYyk7IFwKLSsgIERZTlNZTSAoaXNsX2xvY2FsX3Nw YWNlX2NvcHkpOyBcCi0rICBEWU5TWU0gKGlzbF9sb2NhbF9zcGFjZV9mcmVlKTsgXAotKyAgRFlO U1lNIChpc2xfbG9jYWxfc3BhY2VfZnJvbV9zcGFjZSk7IFwKLSsgIERZTlNZTSAoaXNsX2xvY2Fs X3NwYWNlX3JhbmdlKTsgXAotKyAgRFlOU1lNIChpc2xfbWFwX2FkZF9jb25zdHJhaW50KTsgXAot KyAgRFlOU1lNIChpc2xfbWFwX2FkZF9kaW1zKTsgXAotKyAgRFlOU1lNIChpc2xfbWFwX2FsaWdu X3BhcmFtcyk7IFwKLSsgIERZTlNZTSAoaXNsX21hcF9hcHBseV9yYW5nZSk7IFwKLSsgIERZTlNZ TSAoaXNsX21hcF9jb3B5KTsgXAotKyAgRFlOU1lNIChpc2xfbWFwX2RpbSk7IFwKLSsgIERZTlNZ TSAoaXNsX21hcF9kdW1wKTsgXAotKyAgRFlOU1lNIChpc2xfbWFwX2VxdWF0ZSk7IFwKLSsgIERZ TlNZTSAoaXNsX21hcF9maXhfc2kpOyBcCi0rICBEWU5TWU0gKGlzbF9tYXBfZmxhdF9wcm9kdWN0 KTsgXAotKyAgRFlOU1lNIChpc2xfbWFwX2ZsYXRfcmFuZ2VfcHJvZHVjdCk7IFwKLSsgIERZTlNZ TSAoaXNsX21hcF9mcmVlKTsgXAotKyAgRFlOU1lNIChpc2xfbWFwX2Zyb21fYmFzaWNfbWFwKTsg XAotKyAgRFlOU1lNIChpc2xfbWFwX2Zyb21fcHdfYWZmKTsgXAotKyAgRFlOU1lNIChpc2xfbWFw X2Zyb21fdW5pb25fbWFwKTsgXAotKyAgRFlOU1lNIChpc2xfbWFwX2dldF9jdHgpOyBcCi0rICBE WU5TWU0gKGlzbF9tYXBfZ2V0X3NwYWNlKTsgXAotKyAgRFlOU1lNIChpc2xfbWFwX2dldF90dXBs ZV9pZCk7IFwKLSsgIERZTlNZTSAoaXNsX21hcF9pbnNlcnRfZGltcyk7IFwKLSsgIERZTlNZTSAo aXNsX21hcF9pbnRlcnNlY3QpOyBcCi0rICBEWU5TWU0gKGlzbF9tYXBfaW50ZXJzZWN0X2RvbWFp bik7IFwKLSsgIERZTlNZTSAoaXNsX21hcF9pbnRlcnNlY3RfcmFuZ2UpOyBcCi0rICBEWU5TWU0g KGlzbF9tYXBfaXNfZW1wdHkpOyBcCi0rICBEWU5TWU0gKGlzbF9tYXBfbGV4X2dlKTsgXAotKyAg RFlOU1lNIChpc2xfbWFwX2xleF9sZSk7IFwKLSsgIC8qIERZTlNZTSAoaXNsX21hcF9uX291dCk7 ICovIFwKLSsgIERZTlNZTSAoaXNsX21hcF9yYW5nZSk7IFwKLSsgIERZTlNZTSAoaXNsX21hcF9z ZXRfdHVwbGVfaWQpOyBcCi0rICBEWU5TWU0gKGlzbF9tYXBfdW5pdmVyc2UpOyBcCi0rICBEWU5T WU0gKGlzbF9vcHRpb25zX3NldF9vbl9lcnJvcik7IFwKLSsgIERZTlNZTSAoaXNsX29wdGlvbnNf c2V0X3NjaGVkdWxlX3NlcmlhbGl6ZV9zY2NzKTsgXAotKyAgRFlOU1lNIChpc2xfcHJpbnRlcl9z ZXRfeWFtbF9zdHlsZSk7IFwKLSsgIERZTlNZTSAoaXNsX29wdGlvbnNfc2V0X3NjaGVkdWxlX21h eF9jb25zdGFudF90ZXJtKTsgXAotKyAgRFlOU1lNIChpc2xfb3B0aW9uc19zZXRfc2NoZWR1bGVf bWF4aW1pemVfYmFuZF9kZXB0aCk7IFwKLSsgIERZTlNZTSAoaXNsX3ByaW50ZXJfZnJlZSk7IFwK LSsgIERZTlNZTSAoaXNsX3ByaW50ZXJfcHJpbnRfYWZmKTsgXAotKyAgRFlOU1lNIChpc2xfcHJp bnRlcl9wcmludF9jb25zdHJhaW50KTsgXAotKyAgRFlOU1lNIChpc2xfcHJpbnRlcl9wcmludF9t YXApOyBcCi0rICBEWU5TWU0gKGlzbF9wcmludGVyX3ByaW50X3NldCk7IFwKLSsgIERZTlNZTSAo aXNsX3ByaW50ZXJfdG9fZmlsZSk7IFwKLSsgIERZTlNZTSAoaXNsX3B3X2FmZl9hZGQpOyBcCi0r ICBEWU5TWU0gKGlzbF9wd19hZmZfYWxsb2MpOyBcCi0rICBEWU5TWU0gKGlzbF9wd19hZmZfY29w eSk7IFwKLSsgIERZTlNZTSAoaXNsX3B3X2FmZl9lcV9zZXQpOyBcCi0rICBEWU5TWU0gKGlzbF9w d19hZmZfZnJlZSk7IFwKLSsgIERZTlNZTSAoaXNsX3B3X2FmZl9mcm9tX2FmZik7IFwKLSsgIERZ TlNZTSAoaXNsX3B3X2FmZl9nZV9zZXQpOyBcCi0rICBEWU5TWU0gKGlzbF9wd19hZmZfZ3Rfc2V0 KTsgXAotKyAgRFlOU1lNIChpc2xfcHdfYWZmX2lzX2NzdCk7IFwKLSsgIERZTlNZTSAoaXNsX3B3 X2FmZl9sZV9zZXQpOyBcCi0rICBEWU5TWU0gKGlzbF9wd19hZmZfbHRfc2V0KTsgXAotKyAgRFlO U1lNIChpc2xfcHdfYWZmX211bCk7IFwKLSsgIERZTlNZTSAoaXNsX3B3X2FmZl9uZV9zZXQpOyBc Ci0rICBEWU5TWU0gKGlzbF9wd19hZmZfbm9ubmVnX3NldCk7IFwKLSsgIERZTlNZTSAoaXNsX3B3 X2FmZl9zZXRfdHVwbGVfaWQpOyBcCi0rICBEWU5TWU0gKGlzbF9wd19hZmZfc3ViKTsgXAotKyAg RFlOU1lNIChpc2xfcHdfYWZmX3plcm9fc2V0KTsgXAotKyAgRFlOU1lNIChpc2xfc2NoZWR1bGVf ZnJlZSk7IFwKLSsgIC8qIERZTlNZTSAoaXNsX3NjaGVkdWxlX2dldF9iYW5kX2ZvcmVzdCk7ICov IFwKLSsgIERZTlNZTSAoaXNsX3NldF9hZGRfY29uc3RyYWludCk7IFwKLSsgIERZTlNZTSAoaXNs X3NldF9hZGRfZGltcyk7IFwKLSsgIERZTlNZTSAoaXNsX3NldF9hcHBseSk7IFwKLSsgIERZTlNZ TSAoaXNsX3NldF9jb2FsZXNjZSk7IFwKLSsgIERZTlNZTSAoaXNsX3NldF9jb3B5KTsgXAotKyAg RFlOU1lNIChpc2xfc2V0X2RpbSk7IFwKLSsgIERZTlNZTSAoaXNsX3NldF9maXhfc2kpOyBcCi0r ICBEWU5TWU0gKGlzbF9zZXRfZnJlZSk7IFwKLSsgIERZTlNZTSAoaXNsX3NldF9nZXRfc3BhY2Up OyBcCi0rICBEWU5TWU0gKGlzbF9zZXRfZ2V0X3R1cGxlX2lkKTsgXAotKyAgRFlOU1lNIChpc2xf c2V0X2ludGVyc2VjdCk7IFwKLSsgIERZTlNZTSAoaXNsX3NldF9pc19lbXB0eSk7IFwKLSsgIERZ TlNZTSAoaXNsX3NldF9uX2RpbSk7IFwKLSsgIERZTlNZTSAoaXNsX3NldF9uYXRfdW5pdmVyc2Up OyBcCi0rICBEWU5TWU0gKGlzbF9zZXRfcHJvamVjdF9vdXQpOyBcCi0rICBEWU5TWU0gKGlzbF9z ZXRfc2V0X3R1cGxlX2lkKTsgXAotKyAgRFlOU1lNIChpc2xfc2V0X3VuaXZlcnNlKTsgXAotKyAg RFlOU1lNIChpc2xfc3BhY2VfYWRkX2RpbXMpOyBcCi0rICBEWU5TWU0gKGlzbF9zcGFjZV9hbGxv Yyk7IFwKLSsgIERZTlNZTSAoaXNsX3NwYWNlX2NvcHkpOyBcCi0rICBEWU5TWU0gKGlzbF9zcGFj ZV9kaW0pOyBcCi0rICBEWU5TWU0gKGlzbF9zcGFjZV9kb21haW4pOyBcCi0rICBEWU5TWU0gKGlz bF9zcGFjZV9maW5kX2RpbV9ieV9pZCk7IFwKLSsgIERZTlNZTSAoaXNsX3NwYWNlX2ZyZWUpOyBc Ci0rICBEWU5TWU0gKGlzbF9zcGFjZV9mcm9tX2RvbWFpbik7IFwKLSsgIERZTlNZTSAoaXNsX3Nw YWNlX2dldF90dXBsZV9pZCk7IFwKLSsgIERZTlNZTSAoaXNsX3NwYWNlX3BhcmFtc19hbGxvYyk7 IFwKLSsgIERZTlNZTSAoaXNsX3NwYWNlX3JhbmdlKTsgXAotKyAgRFlOU1lNIChpc2xfc3BhY2Vf c2V0X2FsbG9jKTsgXAotKyAgRFlOU1lNIChpc2xfc3BhY2Vfc2V0X2RpbV9pZCk7IFwKLSsgIERZ TlNZTSAoaXNsX3NwYWNlX3NldF90dXBsZV9pZCk7IFwKLSsgIERZTlNZTSAoaXNsX3VuaW9uX21h cF9hZGRfbWFwKTsgXAotKyAgRFlOU1lNIChpc2xfdW5pb25fbWFwX2FsaWduX3BhcmFtcyk7IFwK LSsgIERZTlNZTSAoaXNsX3VuaW9uX21hcF9hcHBseV9kb21haW4pOyBcCi0rICBEWU5TWU0gKGlz bF91bmlvbl9tYXBfYXBwbHlfcmFuZ2UpOyBcCi0rICBEWU5TWU0gKGlzbF91bmlvbl9tYXBfY29t cHV0ZV9mbG93KTsgXAotKyAgRFlOU1lNIChpc2xfdW5pb25fbWFwX2NvcHkpOyBcCi0rICBEWU5T WU0gKGlzbF91bmlvbl9tYXBfZW1wdHkpOyBcCi0rICBEWU5TWU0gKGlzbF91bmlvbl9tYXBfZmxh dF9yYW5nZV9wcm9kdWN0KTsgXAotKyAgRFlOU1lNIChpc2xfdW5pb25fbWFwX2ZvcmVhY2hfbWFw KTsgXAotKyAgRFlOU1lNIChpc2xfdW5pb25fbWFwX2ZyZWUpOyBcCi0rICBEWU5TWU0gKGlzbF91 bmlvbl9tYXBfZnJvbV9tYXApOyBcCi0rICBEWU5TWU0gKGlzbF91bmlvbl9tYXBfZ2V0X2N0eCk7 IFwKLSsgIERZTlNZTSAoaXNsX3VuaW9uX21hcF9nZXRfc3BhY2UpOyBcCi0rICBEWU5TWU0gKGlz bF91bmlvbl9tYXBfZ2lzdF9kb21haW4pOyBcCi0rICBEWU5TWU0gKGlzbF91bmlvbl9tYXBfZ2lz dF9yYW5nZSk7IFwKLSsgIERZTlNZTSAoaXNsX3VuaW9uX21hcF9pbnRlcnNlY3RfZG9tYWluKTsg XAotKyAgRFlOU1lNIChpc2xfdW5pb25fbWFwX2lzX2VtcHR5KTsgXAotKyAgRFlOU1lNIChpc2xf dW5pb25fbWFwX3N1YnRyYWN0KTsgXAotKyAgRFlOU1lNIChpc2xfdW5pb25fbWFwX3VuaW9uKTsg XAotKyAgRFlOU1lNIChpc2xfdW5pb25fc2V0X2FkZF9zZXQpOyBcCi0rICBEWU5TWU0gKGlzbF91 bmlvbl9zZXRfY29tcHV0ZV9zY2hlZHVsZSk7IFwKLSsgIERZTlNZTSAoaXNsX3VuaW9uX3NldF9j b3B5KTsgXAotKyAgRFlOU1lNIChpc2xfdW5pb25fc2V0X2VtcHR5KTsgXAotKyAgRFlOU1lNIChp c2xfdW5pb25fc2V0X2Zyb21fc2V0KTsgXAotKyAgRFlOU1lNIChpc2xfYWZmX2FkZF9jb25zdGFu dF92YWwpOyBcCi0rICBEWU5TWU0gKGlzbF9hZmZfZ2V0X2NvZWZmaWNpZW50X3ZhbCk7IFwKLSsg IERZTlNZTSAoaXNsX2FmZl9nZXRfY3R4KTsgXAotKyAgRFlOU1lNIChpc2xfYWZmX21vZF92YWwp OyBcCi0rICBEWU5TWU0gKGlzbF9hc3RfYnVpbGRfYXN0X2Zyb21fc2NoZWR1bGUpOyBcCi0rICBE WU5TWU0gKGlzbF9hc3RfYnVpbGRfZnJlZSk7IFwKLSsgIERZTlNZTSAoaXNsX2FzdF9idWlsZF9m cm9tX2NvbnRleHQpOyBcCi0rICBEWU5TWU0gKGlzbF9hc3RfYnVpbGRfZ2V0X2N0eCk7IFwKLSsg IERZTlNZTSAoaXNsX2FzdF9idWlsZF9nZXRfc2NoZWR1bGUpOyBcCi0rICBEWU5TWU0gKGlzbF9h c3RfYnVpbGRfZ2V0X3NjaGVkdWxlX3NwYWNlKTsgXAotKyAgRFlOU1lNIChpc2xfYXN0X2J1aWxk X3NldF9iZWZvcmVfZWFjaF9mb3IpOyBcCi0rICBEWU5TWU0gKGlzbF9hc3RfYnVpbGRfc2V0X29w dGlvbnMpOyBcCi0rICBEWU5TWU0gKGlzbF9hc3RfZXhwcl9mcmVlKTsgXAotKyAgRFlOU1lNIChp c2xfYXN0X2V4cHJfZnJvbV92YWwpOyBcCi0rICBEWU5TWU0gKGlzbF9hc3RfZXhwcl9nZXRfY3R4 KTsgXAotKyAgRFlOU1lNIChpc2xfYXN0X2V4cHJfZ2V0X2lkKTsgXAotKyAgRFlOU1lNIChpc2xf YXN0X2V4cHJfZ2V0X29wX2FyZyk7IFwKLSsgIERZTlNZTSAoaXNsX2FzdF9leHByX2dldF9vcF9u X2FyZyk7IFwKLSsgIERZTlNZTSAoaXNsX2FzdF9leHByX2dldF9vcF90eXBlKTsgXAotKyAgRFlO U1lNIChpc2xfYXN0X2V4cHJfZ2V0X3R5cGUpOyBcCi0rICBEWU5TWU0gKGlzbF9hc3RfZXhwcl9n ZXRfdmFsKTsgXAotKyAgRFlOU1lNIChpc2xfYXN0X2V4cHJfc3ViKTsgXAotKyAgRFlOU1lNIChp c2xfYXN0X25vZGVfYmxvY2tfZ2V0X2NoaWxkcmVuKTsgXAotKyAgRFlOU1lNIChpc2xfYXN0X25v ZGVfZm9yX2dldF9ib2R5KTsgXAotKyAgRFlOU1lNIChpc2xfYXN0X25vZGVfZm9yX2dldF9jb25k KTsgXAotKyAgRFlOU1lNIChpc2xfYXN0X25vZGVfZm9yX2dldF9pbmMpOyBcCi0rICBEWU5TWU0g KGlzbF9hc3Rfbm9kZV9mb3JfZ2V0X2luaXQpOyBcCi0rICBEWU5TWU0gKGlzbF9hc3Rfbm9kZV9m b3JfZ2V0X2l0ZXJhdG9yKTsgXAotKyAgRFlOU1lNIChpc2xfYXN0X25vZGVfZnJlZSk7IFwKLSsg IERZTlNZTSAoaXNsX2FzdF9ub2RlX2dldF9hbm5vdGF0aW9uKTsgXAotKyAgRFlOU1lNIChpc2xf YXN0X25vZGVfZ2V0X3R5cGUpOyBcCi0rICBEWU5TWU0gKGlzbF9hc3Rfbm9kZV9pZl9nZXRfY29u ZCk7IFwKLSsgIERZTlNZTSAoaXNsX2FzdF9ub2RlX2lmX2dldF9lbHNlKTsgXAotKyAgRFlOU1lN IChpc2xfYXN0X25vZGVfaWZfZ2V0X3RoZW4pOyBcCi0rICBEWU5TWU0gKGlzbF9hc3Rfbm9kZV9s aXN0X2ZyZWUpOyBcCi0rICBEWU5TWU0gKGlzbF9hc3Rfbm9kZV9saXN0X2dldF9hc3Rfbm9kZSk7 IFwKLSsgIERZTlNZTSAoaXNsX2FzdF9ub2RlX2xpc3Rfbl9hc3Rfbm9kZSk7IFwKLSsgIERZTlNZ TSAoaXNsX2FzdF9ub2RlX3VzZXJfZ2V0X2V4cHIpOyBcCi0rICBEWU5TWU0gKGlzbF9jb25zdHJh aW50X3NldF9jb2VmZmljaWVudF92YWwpOyBcCi0rICBEWU5TWU0gKGlzbF9jb25zdHJhaW50X3Nl dF9jb25zdGFudF92YWwpOyBcCi0rICBEWU5TWU0gKGlzbF9pZF9nZXRfdXNlcik7IFwKLSsgIERZ TlNZTSAoaXNsX2xvY2FsX3NwYWNlX2dldF9jdHgpOyBcCi0rICBEWU5TWU0gKGlzbF9tYXBfZml4 X3ZhbCk7IFwKLSsgIERZTlNZTSAoaXNsX29wdGlvbnNfc2V0X2FzdF9idWlsZF9hdG9taWNfdXBw ZXJfYm91bmQpOyBcCi0rICBEWU5TWU0gKGlzbF9wcmludGVyX3ByaW50X2FzdF9ub2RlKTsgXAot KyAgRFlOU1lNIChpc2xfcHJpbnRlcl9wcmludF9zdHIpOyBcCi0rICBEWU5TWU0gKGlzbF9wcmlu dGVyX3NldF9vdXRwdXRfZm9ybWF0KTsgXAotKyAgRFlOU1lNIChpc2xfcHdfYWZmX21vZF92YWwp OyBcCi0rICBEWU5TWU0gKGlzbF9zY2hlZHVsZV9jb25zdHJhaW50c19jb21wdXRlX3NjaGVkdWxl KTsgXAotKyAgRFlOU1lNIChpc2xfc2NoZWR1bGVfY29uc3RyYWludHNfb25fZG9tYWluKTsgXAot KyAgRFlOU1lNIChpc2xfc2NoZWR1bGVfY29uc3RyYWludHNfc2V0X2NvaW5jaWRlbmNlKTsgXAot KyAgRFlOU1lNIChpc2xfc2NoZWR1bGVfY29uc3RyYWludHNfc2V0X3Byb3hpbWl0eSk7IFwKLSsg IERZTlNZTSAoaXNsX3NjaGVkdWxlX2NvbnN0cmFpbnRzX3NldF92YWxpZGl0eSk7IFwKLSsgIERZ TlNZTSAoaXNsX3NldF9nZXRfZGltX2lkKTsgXAotKyAgRFlOU1lNIChpc2xfc2V0X21heF92YWwp OyBcCi0rICBEWU5TWU0gKGlzbF9zZXRfbWluX3ZhbCk7IFwKLSsgIERZTlNZTSAoaXNsX3NldF9w YXJhbXMpOyBcCi0rICBEWU5TWU0gKGlzbF9zcGFjZV9hbGlnbl9wYXJhbXMpOyBcCi0rICBEWU5T WU0gKGlzbF9zcGFjZV9tYXBfZnJvbV9kb21haW5fYW5kX3JhbmdlKTsgXAotKyAgRFlOU1lNIChp c2xfc3BhY2Vfc2V0X3R1cGxlX25hbWUpOyBcCi0rICBEWU5TWU0gKGlzbF9zcGFjZV93cmFwKTsg XAotKyAgRFlOU1lNIChpc2xfdW5pb25fbWFwX2Zyb21fZG9tYWluX2FuZF9yYW5nZSk7IFwKLSsg IERZTlNZTSAoaXNsX3VuaW9uX21hcF9yYW5nZSk7IFwKLSsgIERZTlNZTSAoaXNsX3VuaW9uX3Nl dF91bmlvbik7IFwKLSsgIERZTlNZTSAoaXNsX3VuaW9uX3NldF91bml2ZXJzZSk7IFwKLSsgIERZ TlNZTSAoaXNsX3ZhbF8yZXhwKTsgXAotKyAgRFlOU1lNIChpc2xfdmFsX2FkZF91aSk7IFwKLSsg IERZTlNZTSAoaXNsX3ZhbF9jb3B5KTsgXAotKyAgRFlOU1lNIChpc2xfdmFsX2ZyZWUpOyBcCi0r ICBEWU5TWU0gKGlzbF92YWxfaW50X2Zyb21fc2kpOyBcCi0rICBEWU5TWU0gKGlzbF92YWxfaW50 X2Zyb21fdWkpOyBcCi0rICBEWU5TWU0gKGlzbF92YWxfbXVsKTsgXAotKyAgRFlOU1lNIChpc2xf dmFsX25lZyk7IFwKLSsgIERZTlNZTSAoaXNsX3ZhbF9zdWIpOyBcCi0rICBEWU5TWU0gKGlzbF9w cmludGVyX3ByaW50X3VuaW9uX21hcCk7IFwKLSsgIERZTlNZTSAoaXNsX3B3X2FmZl9nZXRfY3R4 KTsgXAotKyAgRFlOU1lNIChpc2xfdmFsX2lzX2ludCk7IFwKLSsgIERZTlNZTSAoaXNsX2N0eF9n ZXRfbWF4X29wZXJhdGlvbnMpOyBcCi0rICBEWU5TWU0gKGlzbF9jdHhfc2V0X21heF9vcGVyYXRp b25zKTsgXAotKyAgRFlOU1lNIChpc2xfY3R4X2xhc3RfZXJyb3IpOyBcCi0rICBEWU5TWU0gKGlz bF9jdHhfcmVzZXRfb3BlcmF0aW9ucyk7IFwKLSsgIERZTlNZTSAoaXNsX21hcF9jb2FsZXNjZSk7 IFwKLSsgIERZTlNZTSAoaXNsX3ByaW50ZXJfcHJpbnRfc2NoZWR1bGUpOyBcCi0rICBEWU5TWU0g KGlzbF9zZXRfc2V0X2RpbV9pZCk7IFwKLSsgIERZTlNZTSAoaXNsX3VuaW9uX21hcF9jb2FsZXNj ZSk7IFwKLSsgIERZTlNZTSAoaXNsX211bHRpX3ZhbF9zZXRfdmFsKTsgXAotKyAgRFlOU1lNIChp c2xfbXVsdGlfdmFsX3plcm8pOyBcCi0rICBEWU5TWU0gKGlzbF9vcHRpb25zX3NldF9zY2hlZHVs ZV9tYXhfY29lZmZpY2llbnQpOyBcCi0rICBEWU5TWU0gKGlzbF9vcHRpb25zX3NldF90aWxlX3Nj YWxlX3RpbGVfbG9vcHMpOyBcCi0rICBEWU5TWU0gKGlzbF9zY2hlZHVsZV9jb3B5KTsgXAotKyAg RFlOU1lNIChpc2xfc2NoZWR1bGVfZ2V0X21hcCk7IFwKLSsgIERZTlNZTSAoaXNsX3NjaGVkdWxl X21hcF9zY2hlZHVsZV9ub2RlX2JvdHRvbV91cCk7IFwKLSsgIERZTlNZTSAoaXNsX3NjaGVkdWxl X25vZGVfYmFuZF9nZXRfcGVybXV0YWJsZSk7IFwKLSsgIERZTlNZTSAoaXNsX3NjaGVkdWxlX25v ZGVfYmFuZF9nZXRfc3BhY2UpOyBcCi0rICBEWU5TWU0gKGlzbF9zY2hlZHVsZV9ub2RlX2JhbmRf dGlsZSk7IFwKLSsgIERZTlNZTSAoaXNsX3NjaGVkdWxlX25vZGVfY2hpbGQpOyBcCi0rICBEWU5T WU0gKGlzbF9zY2hlZHVsZV9ub2RlX2ZyZWUpOyBcCi0rICBEWU5TWU0gKGlzbF9zY2hlZHVsZV9u b2RlX2dldF9jaGlsZCk7IFwKLSsgIERZTlNZTSAoaXNsX3NjaGVkdWxlX25vZGVfZ2V0X2N0eCk7 IFwKLSsgIERZTlNZTSAoaXNsX3NjaGVkdWxlX25vZGVfZ2V0X3R5cGUpOyBcCi0rICBEWU5TWU0g KGlzbF9zY2hlZHVsZV9ub2RlX25fY2hpbGRyZW4pOyBcCi0rICBEWU5TWU0gKGlzbF91bmlvbl9t YXBfaXNfZXF1YWwpOyBcCi0rICBEWU5TWU0gKGlzbF91bmlvbl9hY2Nlc3NfaW5mb19jb21wdXRl X2Zsb3cpOyBcCi0rICBEWU5TWU0gKGlzbF91bmlvbl9hY2Nlc3NfaW5mb19mcm9tX3NpbmspOyBc Ci0rICBEWU5TWU0gKGlzbF91bmlvbl9hY2Nlc3NfaW5mb19zZXRfbWF5X3NvdXJjZSk7IFwKLSsg IERZTlNZTSAoaXNsX3VuaW9uX2FjY2Vzc19pbmZvX3NldF9tdXN0X3NvdXJjZSk7IFwKLSsgIERZ TlNZTSAoaXNsX3VuaW9uX2FjY2Vzc19pbmZvX3NldF9zY2hlZHVsZSk7IFwKLSsgIERZTlNZTSAo aXNsX3VuaW9uX2Zsb3dfZnJlZSk7IFwKLSsgIERZTlNZTSAoaXNsX3VuaW9uX2Zsb3dfZ2V0X21h eV9kZXBlbmRlbmNlKTsgXAotKyAgRFlOU1lNIChpc2xfdW5pb25fZmxvd19nZXRfbXVzdF9kZXBl bmRlbmNlKTsgXAotKyAgRFlOU1lNIChpc2xfYWZmX3Zhcl9vbl9kb21haW4pOyBcCi0rICBEWU5T WU0gKGlzbF9tdWx0aV9hZmZfZnJvbV9hZmYpOyBcCi0rICBEWU5TWU0gKGlzbF9zY2hlZHVsZV9n ZXRfY3R4KTsgXAotKyAgRFlOU1lNIChpc2xfbXVsdGlfYWZmX3NldF90dXBsZV9pZCk7IFwKLSsg IERZTlNZTSAoaXNsX211bHRpX2FmZl9kaW0pOyBcCi0rICBEWU5TWU0gKGlzbF9zY2hlZHVsZV9n ZXRfZG9tYWluKTsgXAotKyAgRFlOU1lNIChpc2xfdW5pb25fc2V0X2lzX2VtcHR5KTsgXAotKyAg RFlOU1lNIChpc2xfdW5pb25fc2V0X2dldF9zcGFjZSk7IFwKLSsgIERZTlNZTSAoaXNsX3VuaW9u X3B3X211bHRpX2FmZl9lbXB0eSk7IFwKLSsgIERZTlNZTSAoaXNsX3VuaW9uX3NldF9mb3JlYWNo X3NldCk7IFwKLSsgIERZTlNZTSAoaXNsX3VuaW9uX3NldF9mcmVlKTsgXAotKyAgRFlOU1lNIChp c2xfbXVsdGlfdW5pb25fcHdfYWZmX2Zyb21fdW5pb25fcHdfbXVsdGlfYWZmKTsgXAotKyAgRFlO U1lNIChpc2xfbXVsdGlfdW5pb25fcHdfYWZmX2FwcGx5X211bHRpX2FmZik7IFwKLSsgIERZTlNZ TSAoaXNsX3NjaGVkdWxlX2luc2VydF9wYXJ0aWFsX3NjaGVkdWxlKTsgXAotKyAgRFlOU1lNIChp c2xfdW5pb25fcHdfbXVsdGlfYWZmX2ZyZWUpOyBcCi0rICBEWU5TWU0gKGlzbF9wd19tdWx0aV9h ZmZfcHJvamVjdF9vdXRfbWFwKTsgXAotKyAgRFlOU1lNIChpc2xfdW5pb25fcHdfbXVsdGlfYWZm X2FkZF9wd19tdWx0aV9hZmYpOyBcCi0rICBEWU5TWU0gKGlzbF9zY2hlZHVsZV9mcm9tX2RvbWFp bik7IFwKLSsgIERZTlNZTSAoaXNsX3NjaGVkdWxlX3NlcXVlbmNlKTsgXAotKyAgRFlOU1lNIChp c2xfYXN0X2J1aWxkX25vZGVfZnJvbV9zY2hlZHVsZSk7IFwKLSsgIERZTlNZTSAoaXNsX2FzdF9u b2RlX21hcmtfZ2V0X25vZGUpOyBcCi0rICBEWU5TWU0gKGlzbF9zY2hlZHVsZV9ub2RlX2JhbmRf bWVtYmVyX2dldF9hc3RfbG9vcF90eXBlKTsgXAotKyAgRFlOU1lNIChpc2xfc2NoZWR1bGVfbm9k ZV9iYW5kX21lbWJlcl9zZXRfYXN0X2xvb3BfdHlwZSk7IFwKLSsgIERZTlNZTSAoaXNsX3ZhbF9u X2Fic19udW1fY2h1bmtzKTsgXAotKyAgRFlOU1lNIChpc2xfdmFsX2dldF9hYnNfbnVtX2NodW5r cyk7IFwKLSsgIERZTlNZTSAoaXNsX3ZhbF9pbnRfZnJvbV9jaHVua3MpOyBcCi0rICBEWU5TWU0g KGlzbF92YWxfaXNfbmVnKTsgXAotKyAgRFlOU1lNIChpc2xfdmVyc2lvbik7IFwKLSsgIERZTlNZ TSAoaXNsX29wdGlvbnNfZ2V0X29uX2Vycm9yKTsgXAotKyAgRFlOU1lNIChpc2xfY3R4X3Jlc2V0 X2Vycm9yKTsKLSsKLStleHRlcm4gc3RydWN0IGlzbF9wb2ludGVyc19zX18KLSt7Ci0rICBib29s IGluaXRlZDsKLSsgIHZvaWQgKmg7Ci0rI2RlZmluZSBEWU5TWU0oeCkgX190eXBlb2YgKHgpICpw XyMjeAotKyAgRFlOU1lNUwotKyN1bmRlZiBEWU5TWU0KLSt9IGlzbF9wb2ludGVyc19fOwotKwot KyNkZWZpbmUgaXNsX2FmZl9hZGRfY29lZmZpY2llbnRfc2kgKCppc2xfcG9pbnRlcnNfXy5wX2lz bF9hZmZfYWRkX2NvZWZmaWNpZW50X3NpKQotKyNkZWZpbmUgaXNsX2FmZl9mcmVlICgqaXNsX3Bv aW50ZXJzX18ucF9pc2xfYWZmX2ZyZWUpCi0rI2RlZmluZSBpc2xfYWZmX2dldF9zcGFjZSAoKmlz bF9wb2ludGVyc19fLnBfaXNsX2FmZl9nZXRfc3BhY2UpCi0rI2RlZmluZSBpc2xfYWZmX3NldF9j b2VmZmljaWVudF9zaSAoKmlzbF9wb2ludGVyc19fLnBfaXNsX2FmZl9zZXRfY29lZmZpY2llbnRf c2kpCi0rI2RlZmluZSBpc2xfYWZmX3NldF9jb25zdGFudF9zaSAoKmlzbF9wb2ludGVyc19fLnBf aXNsX2FmZl9zZXRfY29uc3RhbnRfc2kpCi0rI2RlZmluZSBpc2xfYWZmX3plcm9fb25fZG9tYWlu ICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfYWZmX3plcm9fb25fZG9tYWluKQotKyNkZWZpbmUgaXNs X2JhbmRfZnJlZSAoKmlzbF9wb2ludGVyc19fLnBfaXNsX2JhbmRfZnJlZSkKLSsjZGVmaW5lIGlz bF9iYW5kX2dldF9jaGlsZHJlbiAoKmlzbF9wb2ludGVyc19fLnBfaXNsX2JhbmRfZ2V0X2NoaWxk cmVuKQotKyNkZWZpbmUgaXNsX2JhbmRfZ2V0X3BhcnRpYWxfc2NoZWR1bGUgKCppc2xfcG9pbnRl cnNfXy5wX2lzbF9iYW5kX2dldF9wYXJ0aWFsX3NjaGVkdWxlKQotKyNkZWZpbmUgaXNsX2JhbmRf aGFzX2NoaWxkcmVuICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfYmFuZF9oYXNfY2hpbGRyZW4pCi0r I2RlZmluZSBpc2xfYmFuZF9saXN0X2ZyZWUgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9iYW5kX2xp c3RfZnJlZSkKLSsjZGVmaW5lIGlzbF9iYW5kX2xpc3RfZ2V0X2JhbmQgKCppc2xfcG9pbnRlcnNf Xy5wX2lzbF9iYW5kX2xpc3RfZ2V0X2JhbmQpCi0rI2RlZmluZSBpc2xfYmFuZF9saXN0X2dldF9j dHggKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9iYW5kX2xpc3RfZ2V0X2N0eCkKLSsjZGVmaW5lIGlz bF9iYW5kX2xpc3Rfbl9iYW5kICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfYmFuZF9saXN0X25fYmFu ZCkKLSsjZGVmaW5lIGlzbF9iYW5kX25fbWVtYmVyICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfYmFu ZF9uX21lbWJlcikKLSsjZGVmaW5lIGlzbF9iYXNpY19tYXBfYWRkX2NvbnN0cmFpbnQgKCppc2xf cG9pbnRlcnNfXy5wX2lzbF9iYXNpY19tYXBfYWRkX2NvbnN0cmFpbnQpCi0rI2RlZmluZSBpc2xf YmFzaWNfbWFwX3Byb2plY3Rfb3V0ICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfYmFzaWNfbWFwX3By b2plY3Rfb3V0KQotKyNkZWZpbmUgaXNsX2Jhc2ljX21hcF91bml2ZXJzZSAoKmlzbF9wb2ludGVy c19fLnBfaXNsX2Jhc2ljX21hcF91bml2ZXJzZSkKLSsjZGVmaW5lIGlzbF9jb25zdHJhaW50X3Nl dF9jb2VmZmljaWVudF9zaSAoKmlzbF9wb2ludGVyc19fLnBfaXNsX2NvbnN0cmFpbnRfc2V0X2Nv ZWZmaWNpZW50X3NpKQotKyNkZWZpbmUgaXNsX2NvbnN0cmFpbnRfc2V0X2NvbnN0YW50X3NpICgq aXNsX3BvaW50ZXJzX18ucF9pc2xfY29uc3RyYWludF9zZXRfY29uc3RhbnRfc2kpCi0rI2RlZmlu ZSBpc2xfY3R4X2FsbG9jICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfY3R4X2FsbG9jKQotKyNkZWZp bmUgaXNsX2N0eF9mcmVlICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfY3R4X2ZyZWUpCi0rI2RlZmlu ZSBpc2xfZXF1YWxpdHlfYWxsb2MgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9lcXVhbGl0eV9hbGxv YykKLSsjZGVmaW5lIGlzbF9pZF9hbGxvYyAoKmlzbF9wb2ludGVyc19fLnBfaXNsX2lkX2FsbG9j KQotKyNkZWZpbmUgaXNsX2lkX2NvcHkgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9pZF9jb3B5KQot KyNkZWZpbmUgaXNsX2lkX2ZyZWUgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9pZF9mcmVlKQotKyNk ZWZpbmUgaXNsX2luZXF1YWxpdHlfYWxsb2MgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9pbmVxdWFs aXR5X2FsbG9jKQotKyNkZWZpbmUgaXNsX2xvY2FsX3NwYWNlX2NvcHkgKCppc2xfcG9pbnRlcnNf Xy5wX2lzbF9sb2NhbF9zcGFjZV9jb3B5KQotKyNkZWZpbmUgaXNsX2xvY2FsX3NwYWNlX2ZyZWUg KCppc2xfcG9pbnRlcnNfXy5wX2lzbF9sb2NhbF9zcGFjZV9mcmVlKQotKyNkZWZpbmUgaXNsX2xv Y2FsX3NwYWNlX2Zyb21fc3BhY2UgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9sb2NhbF9zcGFjZV9m cm9tX3NwYWNlKQotKyNkZWZpbmUgaXNsX2xvY2FsX3NwYWNlX3JhbmdlICgqaXNsX3BvaW50ZXJz X18ucF9pc2xfbG9jYWxfc3BhY2VfcmFuZ2UpCi0rI2RlZmluZSBpc2xfbWFwX2FkZF9jb25zdHJh aW50ICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfbWFwX2FkZF9jb25zdHJhaW50KQotKyNkZWZpbmUg aXNsX21hcF9hZGRfZGltcyAoKmlzbF9wb2ludGVyc19fLnBfaXNsX21hcF9hZGRfZGltcykKLSsj ZGVmaW5lIGlzbF9tYXBfYWxpZ25fcGFyYW1zICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfbWFwX2Fs aWduX3BhcmFtcykKLSsjZGVmaW5lIGlzbF9tYXBfYXBwbHlfcmFuZ2UgKCppc2xfcG9pbnRlcnNf Xy5wX2lzbF9tYXBfYXBwbHlfcmFuZ2UpCi0rI2RlZmluZSBpc2xfbWFwX2NvcHkgKCppc2xfcG9p bnRlcnNfXy5wX2lzbF9tYXBfY29weSkKLSsjZGVmaW5lIGlzbF9tYXBfZGltICgqaXNsX3BvaW50 ZXJzX18ucF9pc2xfbWFwX2RpbSkKLSsjZGVmaW5lIGlzbF9tYXBfZHVtcCAoKmlzbF9wb2ludGVy c19fLnBfaXNsX21hcF9kdW1wKQotKyNkZWZpbmUgaXNsX21hcF9lcXVhdGUgKCppc2xfcG9pbnRl cnNfXy5wX2lzbF9tYXBfZXF1YXRlKQotKyNkZWZpbmUgaXNsX21hcF9maXhfc2kgKCppc2xfcG9p bnRlcnNfXy5wX2lzbF9tYXBfZml4X3NpKQotKyNkZWZpbmUgaXNsX21hcF9mbGF0X3Byb2R1Y3Qg KCppc2xfcG9pbnRlcnNfXy5wX2lzbF9tYXBfZmxhdF9wcm9kdWN0KQotKyNkZWZpbmUgaXNsX21h cF9mbGF0X3JhbmdlX3Byb2R1Y3QgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9tYXBfZmxhdF9yYW5n ZV9wcm9kdWN0KQotKyNkZWZpbmUgaXNsX21hcF9mcmVlICgqaXNsX3BvaW50ZXJzX18ucF9pc2xf bWFwX2ZyZWUpCi0rI2RlZmluZSBpc2xfbWFwX2Zyb21fYmFzaWNfbWFwICgqaXNsX3BvaW50ZXJz X18ucF9pc2xfbWFwX2Zyb21fYmFzaWNfbWFwKQotKyNkZWZpbmUgaXNsX21hcF9mcm9tX3B3X2Fm ZiAoKmlzbF9wb2ludGVyc19fLnBfaXNsX21hcF9mcm9tX3B3X2FmZikKLSsjZGVmaW5lIGlzbF9t YXBfZnJvbV91bmlvbl9tYXAgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9tYXBfZnJvbV91bmlvbl9t YXApCi0rI2RlZmluZSBpc2xfbWFwX2dldF9jdHggKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9tYXBf Z2V0X2N0eCkKLSsjZGVmaW5lIGlzbF9tYXBfZ2V0X3NwYWNlICgqaXNsX3BvaW50ZXJzX18ucF9p c2xfbWFwX2dldF9zcGFjZSkKLSsjZGVmaW5lIGlzbF9tYXBfZ2V0X3R1cGxlX2lkICgqaXNsX3Bv aW50ZXJzX18ucF9pc2xfbWFwX2dldF90dXBsZV9pZCkKLSsjZGVmaW5lIGlzbF9tYXBfaW5zZXJ0 X2RpbXMgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9tYXBfaW5zZXJ0X2RpbXMpCi0rI2RlZmluZSBp c2xfbWFwX2ludGVyc2VjdCAoKmlzbF9wb2ludGVyc19fLnBfaXNsX21hcF9pbnRlcnNlY3QpCi0r I2RlZmluZSBpc2xfbWFwX2ludGVyc2VjdF9kb21haW4gKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9t YXBfaW50ZXJzZWN0X2RvbWFpbikKLSsjZGVmaW5lIGlzbF9tYXBfaW50ZXJzZWN0X3JhbmdlICgq aXNsX3BvaW50ZXJzX18ucF9pc2xfbWFwX2ludGVyc2VjdF9yYW5nZSkKLSsjZGVmaW5lIGlzbF9t YXBfaXNfZW1wdHkgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9tYXBfaXNfZW1wdHkpCi0rI2RlZmlu ZSBpc2xfbWFwX2xleF9nZSAoKmlzbF9wb2ludGVyc19fLnBfaXNsX21hcF9sZXhfZ2UpCi0rI2Rl ZmluZSBpc2xfbWFwX2xleF9sZSAoKmlzbF9wb2ludGVyc19fLnBfaXNsX21hcF9sZXhfbGUpCi0r I2RlZmluZSBpc2xfbWFwX25fb3V0ICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfbWFwX25fb3V0KQot KyNkZWZpbmUgaXNsX21hcF9yYW5nZSAoKmlzbF9wb2ludGVyc19fLnBfaXNsX21hcF9yYW5nZSkK LSsjZGVmaW5lIGlzbF9tYXBfc2V0X3R1cGxlX2lkICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfbWFw X3NldF90dXBsZV9pZCkKLSsjZGVmaW5lIGlzbF9tYXBfdW5pdmVyc2UgKCppc2xfcG9pbnRlcnNf Xy5wX2lzbF9tYXBfdW5pdmVyc2UpCi0rI2RlZmluZSBpc2xfb3B0aW9uc19zZXRfb25fZXJyb3Ig KCppc2xfcG9pbnRlcnNfXy5wX2lzbF9vcHRpb25zX3NldF9vbl9lcnJvcikKLSsjZGVmaW5lIGlz bF9vcHRpb25zX3NldF9zY2hlZHVsZV9zZXJpYWxpemVfc2NjcyAoKmlzbF9wb2ludGVyc19fLnBf aXNsX29wdGlvbnNfc2V0X3NjaGVkdWxlX3NlcmlhbGl6ZV9zY2NzKQotKyNkZWZpbmUgaXNsX3By aW50ZXJfc2V0X3lhbWxfc3R5bGUgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9wcmludGVyX3NldF95 YW1sX3N0eWxlKQotKyNkZWZpbmUgaXNsX29wdGlvbnNfc2V0X3NjaGVkdWxlX21heF9jb25zdGFu dF90ZXJtICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfb3B0aW9uc19zZXRfc2NoZWR1bGVfbWF4X2Nv bnN0YW50X3Rlcm0pCi0rI2RlZmluZSBpc2xfb3B0aW9uc19zZXRfc2NoZWR1bGVfbWF4aW1pemVf YmFuZF9kZXB0aCAoKmlzbF9wb2ludGVyc19fLnBfaXNsX29wdGlvbnNfc2V0X3NjaGVkdWxlX21h eGltaXplX2JhbmRfZGVwdGgpCi0rI2RlZmluZSBpc2xfcHJpbnRlcl9mcmVlICgqaXNsX3BvaW50 ZXJzX18ucF9pc2xfcHJpbnRlcl9mcmVlKQotKyNkZWZpbmUgaXNsX3ByaW50ZXJfcHJpbnRfYWZm ICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfcHJpbnRlcl9wcmludF9hZmYpCi0rI2RlZmluZSBpc2xf cHJpbnRlcl9wcmludF9jb25zdHJhaW50ICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfcHJpbnRlcl9w cmludF9jb25zdHJhaW50KQotKyNkZWZpbmUgaXNsX3ByaW50ZXJfcHJpbnRfbWFwICgqaXNsX3Bv aW50ZXJzX18ucF9pc2xfcHJpbnRlcl9wcmludF9tYXApCi0rI2RlZmluZSBpc2xfcHJpbnRlcl9w cmludF9zZXQgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9wcmludGVyX3ByaW50X3NldCkKLSsjZGVm aW5lIGlzbF9wcmludGVyX3RvX2ZpbGUgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9wcmludGVyX3Rv X2ZpbGUpCi0rI2RlZmluZSBpc2xfcHdfYWZmX2FkZCAoKmlzbF9wb2ludGVyc19fLnBfaXNsX3B3 X2FmZl9hZGQpCi0rI2RlZmluZSBpc2xfcHdfYWZmX2FsbG9jICgqaXNsX3BvaW50ZXJzX18ucF9p c2xfcHdfYWZmX2FsbG9jKQotKyNkZWZpbmUgaXNsX3B3X2FmZl9jb3B5ICgqaXNsX3BvaW50ZXJz X18ucF9pc2xfcHdfYWZmX2NvcHkpCi0rI2RlZmluZSBpc2xfcHdfYWZmX2VxX3NldCAoKmlzbF9w b2ludGVyc19fLnBfaXNsX3B3X2FmZl9lcV9zZXQpCi0rI2RlZmluZSBpc2xfcHdfYWZmX2ZyZWUg KCppc2xfcG9pbnRlcnNfXy5wX2lzbF9wd19hZmZfZnJlZSkKLSsjZGVmaW5lIGlzbF9wd19hZmZf ZnJvbV9hZmYgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9wd19hZmZfZnJvbV9hZmYpCi0rI2RlZmlu ZSBpc2xfcHdfYWZmX2dlX3NldCAoKmlzbF9wb2ludGVyc19fLnBfaXNsX3B3X2FmZl9nZV9zZXQp Ci0rI2RlZmluZSBpc2xfcHdfYWZmX2d0X3NldCAoKmlzbF9wb2ludGVyc19fLnBfaXNsX3B3X2Fm Zl9ndF9zZXQpCi0rI2RlZmluZSBpc2xfcHdfYWZmX2lzX2NzdCAoKmlzbF9wb2ludGVyc19fLnBf aXNsX3B3X2FmZl9pc19jc3QpCi0rI2RlZmluZSBpc2xfcHdfYWZmX2xlX3NldCAoKmlzbF9wb2lu dGVyc19fLnBfaXNsX3B3X2FmZl9sZV9zZXQpCi0rI2RlZmluZSBpc2xfcHdfYWZmX2x0X3NldCAo KmlzbF9wb2ludGVyc19fLnBfaXNsX3B3X2FmZl9sdF9zZXQpCi0rI2RlZmluZSBpc2xfcHdfYWZm X211bCAoKmlzbF9wb2ludGVyc19fLnBfaXNsX3B3X2FmZl9tdWwpCi0rI2RlZmluZSBpc2xfcHdf YWZmX25lX3NldCAoKmlzbF9wb2ludGVyc19fLnBfaXNsX3B3X2FmZl9uZV9zZXQpCi0rI2RlZmlu ZSBpc2xfcHdfYWZmX25vbm5lZ19zZXQgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9wd19hZmZfbm9u bmVnX3NldCkKLSsjZGVmaW5lIGlzbF9wd19hZmZfc2V0X3R1cGxlX2lkICgqaXNsX3BvaW50ZXJz X18ucF9pc2xfcHdfYWZmX3NldF90dXBsZV9pZCkKLSsjZGVmaW5lIGlzbF9wd19hZmZfc3ViICgq aXNsX3BvaW50ZXJzX18ucF9pc2xfcHdfYWZmX3N1YikKLSsjZGVmaW5lIGlzbF9wd19hZmZfemVy b19zZXQgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9wd19hZmZfemVyb19zZXQpCi0rI2RlZmluZSBp c2xfc2NoZWR1bGVfZnJlZSAoKmlzbF9wb2ludGVyc19fLnBfaXNsX3NjaGVkdWxlX2ZyZWUpCi0r I2RlZmluZSBpc2xfc2NoZWR1bGVfZ2V0X2JhbmRfZm9yZXN0ICgqaXNsX3BvaW50ZXJzX18ucF9p c2xfc2NoZWR1bGVfZ2V0X2JhbmRfZm9yZXN0KQotKyNkZWZpbmUgaXNsX3NldF9hZGRfY29uc3Ry YWludCAoKmlzbF9wb2ludGVyc19fLnBfaXNsX3NldF9hZGRfY29uc3RyYWludCkKLSsjZGVmaW5l IGlzbF9zZXRfYWRkX2RpbXMgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9zZXRfYWRkX2RpbXMpCi0r I2RlZmluZSBpc2xfc2V0X2FwcGx5ICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfc2V0X2FwcGx5KQot KyNkZWZpbmUgaXNsX3NldF9jb2FsZXNjZSAoKmlzbF9wb2ludGVyc19fLnBfaXNsX3NldF9jb2Fs ZXNjZSkKLSsjZGVmaW5lIGlzbF9zZXRfY29weSAoKmlzbF9wb2ludGVyc19fLnBfaXNsX3NldF9j b3B5KQotKyNkZWZpbmUgaXNsX3NldF9kaW0gKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9zZXRfZGlt KQotKyNkZWZpbmUgaXNsX3NldF9maXhfc2kgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9zZXRfZml4 X3NpKQotKyNkZWZpbmUgaXNsX3NldF9mcmVlICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfc2V0X2Zy ZWUpCi0rI2RlZmluZSBpc2xfc2V0X2dldF9zcGFjZSAoKmlzbF9wb2ludGVyc19fLnBfaXNsX3Nl dF9nZXRfc3BhY2UpCi0rI2RlZmluZSBpc2xfc2V0X2dldF90dXBsZV9pZCAoKmlzbF9wb2ludGVy c19fLnBfaXNsX3NldF9nZXRfdHVwbGVfaWQpCi0rI2RlZmluZSBpc2xfc2V0X2ludGVyc2VjdCAo KmlzbF9wb2ludGVyc19fLnBfaXNsX3NldF9pbnRlcnNlY3QpCi0rI2RlZmluZSBpc2xfc2V0X2lz X2VtcHR5ICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfc2V0X2lzX2VtcHR5KQotKyNkZWZpbmUgaXNs X3NldF9uX2RpbSAoKmlzbF9wb2ludGVyc19fLnBfaXNsX3NldF9uX2RpbSkKLSsjZGVmaW5lIGlz bF9zZXRfbmF0X3VuaXZlcnNlICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfc2V0X25hdF91bml2ZXJz ZSkKLSsjZGVmaW5lIGlzbF9zZXRfcHJvamVjdF9vdXQgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9z ZXRfcHJvamVjdF9vdXQpCi0rI2RlZmluZSBpc2xfc2V0X3NldF90dXBsZV9pZCAoKmlzbF9wb2lu dGVyc19fLnBfaXNsX3NldF9zZXRfdHVwbGVfaWQpCi0rI2RlZmluZSBpc2xfc2V0X3VuaXZlcnNl ICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfc2V0X3VuaXZlcnNlKQotKyNkZWZpbmUgaXNsX3NwYWNl X2FkZF9kaW1zICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfc3BhY2VfYWRkX2RpbXMpCi0rI2RlZmlu ZSBpc2xfc3BhY2VfYWxsb2MgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9zcGFjZV9hbGxvYykKLSsj ZGVmaW5lIGlzbF9zcGFjZV9jb3B5ICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfc3BhY2VfY29weSkK LSsjZGVmaW5lIGlzbF9zcGFjZV9kaW0gKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9zcGFjZV9kaW0p Ci0rI2RlZmluZSBpc2xfc3BhY2VfZG9tYWluICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfc3BhY2Vf ZG9tYWluKQotKyNkZWZpbmUgaXNsX3NwYWNlX2ZpbmRfZGltX2J5X2lkICgqaXNsX3BvaW50ZXJz X18ucF9pc2xfc3BhY2VfZmluZF9kaW1fYnlfaWQpCi0rI2RlZmluZSBpc2xfc3BhY2VfZnJlZSAo KmlzbF9wb2ludGVyc19fLnBfaXNsX3NwYWNlX2ZyZWUpCi0rI2RlZmluZSBpc2xfc3BhY2VfZnJv bV9kb21haW4gKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9zcGFjZV9mcm9tX2RvbWFpbikKLSsjZGVm aW5lIGlzbF9zcGFjZV9nZXRfdHVwbGVfaWQgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9zcGFjZV9n ZXRfdHVwbGVfaWQpCi0rI2RlZmluZSBpc2xfc3BhY2VfcGFyYW1zX2FsbG9jICgqaXNsX3BvaW50 ZXJzX18ucF9pc2xfc3BhY2VfcGFyYW1zX2FsbG9jKQotKyNkZWZpbmUgaXNsX3NwYWNlX3Jhbmdl ICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfc3BhY2VfcmFuZ2UpCi0rI2RlZmluZSBpc2xfc3BhY2Vf c2V0X2FsbG9jICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfc3BhY2Vfc2V0X2FsbG9jKQotKyNkZWZp bmUgaXNsX3NwYWNlX3NldF9kaW1faWQgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9zcGFjZV9zZXRf ZGltX2lkKQotKyNkZWZpbmUgaXNsX3NwYWNlX3NldF90dXBsZV9pZCAoKmlzbF9wb2ludGVyc19f LnBfaXNsX3NwYWNlX3NldF90dXBsZV9pZCkKLSsjZGVmaW5lIGlzbF91bmlvbl9tYXBfYWRkX21h cCAoKmlzbF9wb2ludGVyc19fLnBfaXNsX3VuaW9uX21hcF9hZGRfbWFwKQotKyNkZWZpbmUgaXNs X3VuaW9uX21hcF9hbGlnbl9wYXJhbXMgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF91bmlvbl9tYXBf YWxpZ25fcGFyYW1zKQotKyNkZWZpbmUgaXNsX3VuaW9uX21hcF9hcHBseV9kb21haW4gKCppc2xf cG9pbnRlcnNfXy5wX2lzbF91bmlvbl9tYXBfYXBwbHlfZG9tYWluKQotKyNkZWZpbmUgaXNsX3Vu aW9uX21hcF9hcHBseV9yYW5nZSAoKmlzbF9wb2ludGVyc19fLnBfaXNsX3VuaW9uX21hcF9hcHBs eV9yYW5nZSkKLSsjZGVmaW5lIGlzbF91bmlvbl9tYXBfY29tcHV0ZV9mbG93ICgqaXNsX3BvaW50 ZXJzX18ucF9pc2xfdW5pb25fbWFwX2NvbXB1dGVfZmxvdykKLSsjZGVmaW5lIGlzbF91bmlvbl9t YXBfY29weSAoKmlzbF9wb2ludGVyc19fLnBfaXNsX3VuaW9uX21hcF9jb3B5KQotKyNkZWZpbmUg aXNsX3VuaW9uX21hcF9lbXB0eSAoKmlzbF9wb2ludGVyc19fLnBfaXNsX3VuaW9uX21hcF9lbXB0 eSkKLSsjZGVmaW5lIGlzbF91bmlvbl9tYXBfZmxhdF9yYW5nZV9wcm9kdWN0ICgqaXNsX3BvaW50 ZXJzX18ucF9pc2xfdW5pb25fbWFwX2ZsYXRfcmFuZ2VfcHJvZHVjdCkKLSsjZGVmaW5lIGlzbF91 bmlvbl9tYXBfZm9yZWFjaF9tYXAgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF91bmlvbl9tYXBfZm9y ZWFjaF9tYXApCi0rI2RlZmluZSBpc2xfdW5pb25fbWFwX2ZyZWUgKCppc2xfcG9pbnRlcnNfXy5w X2lzbF91bmlvbl9tYXBfZnJlZSkKLSsjZGVmaW5lIGlzbF91bmlvbl9tYXBfZnJvbV9tYXAgKCpp c2xfcG9pbnRlcnNfXy5wX2lzbF91bmlvbl9tYXBfZnJvbV9tYXApCi0rI2RlZmluZSBpc2xfdW5p b25fbWFwX2dldF9jdHggKCppc2xfcG9pbnRlcnNfXy5wX2lzbF91bmlvbl9tYXBfZ2V0X2N0eCkK LSsjZGVmaW5lIGlzbF91bmlvbl9tYXBfZ2V0X3NwYWNlICgqaXNsX3BvaW50ZXJzX18ucF9pc2xf dW5pb25fbWFwX2dldF9zcGFjZSkKLSsjZGVmaW5lIGlzbF91bmlvbl9tYXBfZ2lzdF9kb21haW4g KCppc2xfcG9pbnRlcnNfXy5wX2lzbF91bmlvbl9tYXBfZ2lzdF9kb21haW4pCi0rI2RlZmluZSBp c2xfdW5pb25fbWFwX2dpc3RfcmFuZ2UgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF91bmlvbl9tYXBf Z2lzdF9yYW5nZSkKLSsjZGVmaW5lIGlzbF91bmlvbl9tYXBfaW50ZXJzZWN0X2RvbWFpbiAoKmlz bF9wb2ludGVyc19fLnBfaXNsX3VuaW9uX21hcF9pbnRlcnNlY3RfZG9tYWluKQotKyNkZWZpbmUg aXNsX3VuaW9uX21hcF9pc19lbXB0eSAoKmlzbF9wb2ludGVyc19fLnBfaXNsX3VuaW9uX21hcF9p c19lbXB0eSkKLSsjZGVmaW5lIGlzbF91bmlvbl9tYXBfc3VidHJhY3QgKCppc2xfcG9pbnRlcnNf Xy5wX2lzbF91bmlvbl9tYXBfc3VidHJhY3QpCi0rI2RlZmluZSBpc2xfdW5pb25fbWFwX3VuaW9u ICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfdW5pb25fbWFwX3VuaW9uKQotKyNkZWZpbmUgaXNsX3Vu aW9uX3NldF9hZGRfc2V0ICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfdW5pb25fc2V0X2FkZF9zZXQp Ci0rI2RlZmluZSBpc2xfdW5pb25fc2V0X2NvbXB1dGVfc2NoZWR1bGUgKCppc2xfcG9pbnRlcnNf Xy5wX2lzbF91bmlvbl9zZXRfY29tcHV0ZV9zY2hlZHVsZSkKLSsjZGVmaW5lIGlzbF91bmlvbl9z ZXRfY29weSAoKmlzbF9wb2ludGVyc19fLnBfaXNsX3VuaW9uX3NldF9jb3B5KQotKyNkZWZpbmUg aXNsX3VuaW9uX3NldF9lbXB0eSAoKmlzbF9wb2ludGVyc19fLnBfaXNsX3VuaW9uX3NldF9lbXB0 eSkKLSsjZGVmaW5lIGlzbF91bmlvbl9zZXRfZnJvbV9zZXQgKCppc2xfcG9pbnRlcnNfXy5wX2lz bF91bmlvbl9zZXRfZnJvbV9zZXQpCi0rI2RlZmluZSBpc2xfYWZmX2FkZF9jb25zdGFudF92YWwg KCppc2xfcG9pbnRlcnNfXy5wX2lzbF9hZmZfYWRkX2NvbnN0YW50X3ZhbCkKLSsjZGVmaW5lIGlz bF9hZmZfZ2V0X2NvZWZmaWNpZW50X3ZhbCAoKmlzbF9wb2ludGVyc19fLnBfaXNsX2FmZl9nZXRf Y29lZmZpY2llbnRfdmFsKQotKyNkZWZpbmUgaXNsX2FmZl9nZXRfY3R4ICgqaXNsX3BvaW50ZXJz X18ucF9pc2xfYWZmX2dldF9jdHgpCi0rI2RlZmluZSBpc2xfYWZmX21vZF92YWwgKCppc2xfcG9p bnRlcnNfXy5wX2lzbF9hZmZfbW9kX3ZhbCkKLSsjZGVmaW5lIGlzbF9hc3RfYnVpbGRfYXN0X2Zy b21fc2NoZWR1bGUgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9hc3RfYnVpbGRfYXN0X2Zyb21fc2No ZWR1bGUpCi0rI2RlZmluZSBpc2xfYXN0X2J1aWxkX2ZyZWUgKCppc2xfcG9pbnRlcnNfXy5wX2lz bF9hc3RfYnVpbGRfZnJlZSkKLSsjZGVmaW5lIGlzbF9hc3RfYnVpbGRfZnJvbV9jb250ZXh0ICgq aXNsX3BvaW50ZXJzX18ucF9pc2xfYXN0X2J1aWxkX2Zyb21fY29udGV4dCkKLSsjZGVmaW5lIGlz bF9hc3RfYnVpbGRfZ2V0X2N0eCAoKmlzbF9wb2ludGVyc19fLnBfaXNsX2FzdF9idWlsZF9nZXRf Y3R4KQotKyNkZWZpbmUgaXNsX2FzdF9idWlsZF9nZXRfc2NoZWR1bGUgKCppc2xfcG9pbnRlcnNf Xy5wX2lzbF9hc3RfYnVpbGRfZ2V0X3NjaGVkdWxlKQotKyNkZWZpbmUgaXNsX2FzdF9idWlsZF9n ZXRfc2NoZWR1bGVfc3BhY2UgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9hc3RfYnVpbGRfZ2V0X3Nj aGVkdWxlX3NwYWNlKQotKyNkZWZpbmUgaXNsX2FzdF9idWlsZF9zZXRfYmVmb3JlX2VhY2hfZm9y ICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfYXN0X2J1aWxkX3NldF9iZWZvcmVfZWFjaF9mb3IpCi0r I2RlZmluZSBpc2xfYXN0X2J1aWxkX3NldF9vcHRpb25zICgqaXNsX3BvaW50ZXJzX18ucF9pc2xf YXN0X2J1aWxkX3NldF9vcHRpb25zKQotKyNkZWZpbmUgaXNsX2FzdF9leHByX2ZyZWUgKCppc2xf cG9pbnRlcnNfXy5wX2lzbF9hc3RfZXhwcl9mcmVlKQotKyNkZWZpbmUgaXNsX2FzdF9leHByX2Zy b21fdmFsICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfYXN0X2V4cHJfZnJvbV92YWwpCi0rI2RlZmlu ZSBpc2xfYXN0X2V4cHJfZ2V0X2N0eCAoKmlzbF9wb2ludGVyc19fLnBfaXNsX2FzdF9leHByX2dl dF9jdHgpCi0rI2RlZmluZSBpc2xfYXN0X2V4cHJfZ2V0X2lkICgqaXNsX3BvaW50ZXJzX18ucF9p c2xfYXN0X2V4cHJfZ2V0X2lkKQotKyNkZWZpbmUgaXNsX2FzdF9leHByX2dldF9vcF9hcmcgKCpp c2xfcG9pbnRlcnNfXy5wX2lzbF9hc3RfZXhwcl9nZXRfb3BfYXJnKQotKyNkZWZpbmUgaXNsX2Fz dF9leHByX2dldF9vcF9uX2FyZyAoKmlzbF9wb2ludGVyc19fLnBfaXNsX2FzdF9leHByX2dldF9v cF9uX2FyZykKLSsjZGVmaW5lIGlzbF9hc3RfZXhwcl9nZXRfb3BfdHlwZSAoKmlzbF9wb2ludGVy c19fLnBfaXNsX2FzdF9leHByX2dldF9vcF90eXBlKQotKyNkZWZpbmUgaXNsX2FzdF9leHByX2dl dF90eXBlICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfYXN0X2V4cHJfZ2V0X3R5cGUpCi0rI2RlZmlu ZSBpc2xfYXN0X2V4cHJfZ2V0X3ZhbCAoKmlzbF9wb2ludGVyc19fLnBfaXNsX2FzdF9leHByX2dl dF92YWwpCi0rI2RlZmluZSBpc2xfYXN0X2V4cHJfc3ViICgqaXNsX3BvaW50ZXJzX18ucF9pc2xf YXN0X2V4cHJfc3ViKQotKyNkZWZpbmUgaXNsX2FzdF9ub2RlX2Jsb2NrX2dldF9jaGlsZHJlbiAo KmlzbF9wb2ludGVyc19fLnBfaXNsX2FzdF9ub2RlX2Jsb2NrX2dldF9jaGlsZHJlbikKLSsjZGVm aW5lIGlzbF9hc3Rfbm9kZV9mb3JfZ2V0X2JvZHkgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9hc3Rf bm9kZV9mb3JfZ2V0X2JvZHkpCi0rI2RlZmluZSBpc2xfYXN0X25vZGVfZm9yX2dldF9jb25kICgq aXNsX3BvaW50ZXJzX18ucF9pc2xfYXN0X25vZGVfZm9yX2dldF9jb25kKQotKyNkZWZpbmUgaXNs X2FzdF9ub2RlX2Zvcl9nZXRfaW5jICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfYXN0X25vZGVfZm9y X2dldF9pbmMpCi0rI2RlZmluZSBpc2xfYXN0X25vZGVfZm9yX2dldF9pbml0ICgqaXNsX3BvaW50 ZXJzX18ucF9pc2xfYXN0X25vZGVfZm9yX2dldF9pbml0KQotKyNkZWZpbmUgaXNsX2FzdF9ub2Rl X2Zvcl9nZXRfaXRlcmF0b3IgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9hc3Rfbm9kZV9mb3JfZ2V0 X2l0ZXJhdG9yKQotKyNkZWZpbmUgaXNsX2FzdF9ub2RlX2ZyZWUgKCppc2xfcG9pbnRlcnNfXy5w X2lzbF9hc3Rfbm9kZV9mcmVlKQotKyNkZWZpbmUgaXNsX2FzdF9ub2RlX2dldF9hbm5vdGF0aW9u ICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfYXN0X25vZGVfZ2V0X2Fubm90YXRpb24pCi0rI2RlZmlu ZSBpc2xfYXN0X25vZGVfZ2V0X3R5cGUgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9hc3Rfbm9kZV9n ZXRfdHlwZSkKLSsjZGVmaW5lIGlzbF9hc3Rfbm9kZV9pZl9nZXRfY29uZCAoKmlzbF9wb2ludGVy c19fLnBfaXNsX2FzdF9ub2RlX2lmX2dldF9jb25kKQotKyNkZWZpbmUgaXNsX2FzdF9ub2RlX2lm X2dldF9lbHNlICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfYXN0X25vZGVfaWZfZ2V0X2Vsc2UpCi0r I2RlZmluZSBpc2xfYXN0X25vZGVfaWZfZ2V0X3RoZW4gKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9h c3Rfbm9kZV9pZl9nZXRfdGhlbikKLSsjZGVmaW5lIGlzbF9hc3Rfbm9kZV9saXN0X2ZyZWUgKCpp c2xfcG9pbnRlcnNfXy5wX2lzbF9hc3Rfbm9kZV9saXN0X2ZyZWUpCi0rI2RlZmluZSBpc2xfYXN0 X25vZGVfbGlzdF9nZXRfYXN0X25vZGUgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9hc3Rfbm9kZV9s aXN0X2dldF9hc3Rfbm9kZSkKLSsjZGVmaW5lIGlzbF9hc3Rfbm9kZV9saXN0X25fYXN0X25vZGUg KCppc2xfcG9pbnRlcnNfXy5wX2lzbF9hc3Rfbm9kZV9saXN0X25fYXN0X25vZGUpCi0rI2RlZmlu ZSBpc2xfYXN0X25vZGVfdXNlcl9nZXRfZXhwciAoKmlzbF9wb2ludGVyc19fLnBfaXNsX2FzdF9u b2RlX3VzZXJfZ2V0X2V4cHIpCi0rI2RlZmluZSBpc2xfY29uc3RyYWludF9zZXRfY29lZmZpY2ll bnRfdmFsICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfY29uc3RyYWludF9zZXRfY29lZmZpY2llbnRf dmFsKQotKyNkZWZpbmUgaXNsX2NvbnN0cmFpbnRfc2V0X2NvbnN0YW50X3ZhbCAoKmlzbF9wb2lu dGVyc19fLnBfaXNsX2NvbnN0cmFpbnRfc2V0X2NvbnN0YW50X3ZhbCkKLSsjZGVmaW5lIGlzbF9p ZF9nZXRfdXNlciAoKmlzbF9wb2ludGVyc19fLnBfaXNsX2lkX2dldF91c2VyKQotKyNkZWZpbmUg aXNsX2xvY2FsX3NwYWNlX2dldF9jdHggKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9sb2NhbF9zcGFj ZV9nZXRfY3R4KQotKyNkZWZpbmUgaXNsX21hcF9maXhfdmFsICgqaXNsX3BvaW50ZXJzX18ucF9p c2xfbWFwX2ZpeF92YWwpCi0rI2RlZmluZSBpc2xfb3B0aW9uc19zZXRfYXN0X2J1aWxkX2F0b21p Y191cHBlcl9ib3VuZCAoKmlzbF9wb2ludGVyc19fLnBfaXNsX29wdGlvbnNfc2V0X2FzdF9idWls ZF9hdG9taWNfdXBwZXJfYm91bmQpCi0rI2RlZmluZSBpc2xfcHJpbnRlcl9wcmludF9hc3Rfbm9k ZSAoKmlzbF9wb2ludGVyc19fLnBfaXNsX3ByaW50ZXJfcHJpbnRfYXN0X25vZGUpCi0rI2RlZmlu ZSBpc2xfcHJpbnRlcl9wcmludF9zdHIgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9wcmludGVyX3By aW50X3N0cikKLSsjZGVmaW5lIGlzbF9wcmludGVyX3NldF9vdXRwdXRfZm9ybWF0ICgqaXNsX3Bv aW50ZXJzX18ucF9pc2xfcHJpbnRlcl9zZXRfb3V0cHV0X2Zvcm1hdCkKLSsjZGVmaW5lIGlzbF9w d19hZmZfbW9kX3ZhbCAoKmlzbF9wb2ludGVyc19fLnBfaXNsX3B3X2FmZl9tb2RfdmFsKQotKyNk ZWZpbmUgaXNsX3NjaGVkdWxlX2NvbnN0cmFpbnRzX2NvbXB1dGVfc2NoZWR1bGUgKCppc2xfcG9p bnRlcnNfXy5wX2lzbF9zY2hlZHVsZV9jb25zdHJhaW50c19jb21wdXRlX3NjaGVkdWxlKQotKyNk ZWZpbmUgaXNsX3NjaGVkdWxlX2NvbnN0cmFpbnRzX29uX2RvbWFpbiAoKmlzbF9wb2ludGVyc19f LnBfaXNsX3NjaGVkdWxlX2NvbnN0cmFpbnRzX29uX2RvbWFpbikKLSsjZGVmaW5lIGlzbF9zY2hl ZHVsZV9jb25zdHJhaW50c19zZXRfY29pbmNpZGVuY2UgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9z Y2hlZHVsZV9jb25zdHJhaW50c19zZXRfY29pbmNpZGVuY2UpCi0rI2RlZmluZSBpc2xfc2NoZWR1 bGVfY29uc3RyYWludHNfc2V0X3Byb3hpbWl0eSAoKmlzbF9wb2ludGVyc19fLnBfaXNsX3NjaGVk dWxlX2NvbnN0cmFpbnRzX3NldF9wcm94aW1pdHkpCi0rI2RlZmluZSBpc2xfc2NoZWR1bGVfY29u c3RyYWludHNfc2V0X3ZhbGlkaXR5ICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfc2NoZWR1bGVfY29u c3RyYWludHNfc2V0X3ZhbGlkaXR5KQotKyNkZWZpbmUgaXNsX3NldF9nZXRfZGltX2lkICgqaXNs X3BvaW50ZXJzX18ucF9pc2xfc2V0X2dldF9kaW1faWQpCi0rI2RlZmluZSBpc2xfc2V0X21heF92 YWwgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9zZXRfbWF4X3ZhbCkKLSsjZGVmaW5lIGlzbF9zZXRf bWluX3ZhbCAoKmlzbF9wb2ludGVyc19fLnBfaXNsX3NldF9taW5fdmFsKQotKyNkZWZpbmUgaXNs X3NldF9wYXJhbXMgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9zZXRfcGFyYW1zKQotKyNkZWZpbmUg aXNsX3NwYWNlX2FsaWduX3BhcmFtcyAoKmlzbF9wb2ludGVyc19fLnBfaXNsX3NwYWNlX2FsaWdu X3BhcmFtcykKLSsjZGVmaW5lIGlzbF9zcGFjZV9tYXBfZnJvbV9kb21haW5fYW5kX3JhbmdlICgq aXNsX3BvaW50ZXJzX18ucF9pc2xfc3BhY2VfbWFwX2Zyb21fZG9tYWluX2FuZF9yYW5nZSkKLSsj ZGVmaW5lIGlzbF9zcGFjZV9zZXRfdHVwbGVfbmFtZSAoKmlzbF9wb2ludGVyc19fLnBfaXNsX3Nw YWNlX3NldF90dXBsZV9uYW1lKQotKyNkZWZpbmUgaXNsX3NwYWNlX3dyYXAgKCppc2xfcG9pbnRl cnNfXy5wX2lzbF9zcGFjZV93cmFwKQotKyNkZWZpbmUgaXNsX3VuaW9uX21hcF9mcm9tX2RvbWFp bl9hbmRfcmFuZ2UgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF91bmlvbl9tYXBfZnJvbV9kb21haW5f YW5kX3JhbmdlKQotKyNkZWZpbmUgaXNsX3VuaW9uX21hcF9yYW5nZSAoKmlzbF9wb2ludGVyc19f LnBfaXNsX3VuaW9uX21hcF9yYW5nZSkKLSsjZGVmaW5lIGlzbF91bmlvbl9zZXRfdW5pb24gKCpp c2xfcG9pbnRlcnNfXy5wX2lzbF91bmlvbl9zZXRfdW5pb24pCi0rI2RlZmluZSBpc2xfdW5pb25f c2V0X3VuaXZlcnNlICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfdW5pb25fc2V0X3VuaXZlcnNlKQot KyNkZWZpbmUgaXNsX3ZhbF8yZXhwICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfdmFsXzJleHApCi0r I2RlZmluZSBpc2xfdmFsX2FkZF91aSAoKmlzbF9wb2ludGVyc19fLnBfaXNsX3ZhbF9hZGRfdWkp Ci0rI2RlZmluZSBpc2xfdmFsX2NvcHkgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF92YWxfY29weSkK LSsjZGVmaW5lIGlzbF92YWxfZnJlZSAoKmlzbF9wb2ludGVyc19fLnBfaXNsX3ZhbF9mcmVlKQot KyNkZWZpbmUgaXNsX3ZhbF9pbnRfZnJvbV9zaSAoKmlzbF9wb2ludGVyc19fLnBfaXNsX3ZhbF9p bnRfZnJvbV9zaSkKLSsjZGVmaW5lIGlzbF92YWxfaW50X2Zyb21fdWkgKCppc2xfcG9pbnRlcnNf Xy5wX2lzbF92YWxfaW50X2Zyb21fdWkpCi0rI2RlZmluZSBpc2xfdmFsX211bCAoKmlzbF9wb2lu dGVyc19fLnBfaXNsX3ZhbF9tdWwpCi0rI2RlZmluZSBpc2xfdmFsX25lZyAoKmlzbF9wb2ludGVy c19fLnBfaXNsX3ZhbF9uZWcpCi0rI2RlZmluZSBpc2xfdmFsX3N1YiAoKmlzbF9wb2ludGVyc19f LnBfaXNsX3ZhbF9zdWIpCi0rI2RlZmluZSBpc2xfcHJpbnRlcl9wcmludF91bmlvbl9tYXAgKCpp c2xfcG9pbnRlcnNfXy5wX2lzbF9wcmludGVyX3ByaW50X3VuaW9uX21hcCkKLSsjZGVmaW5lIGlz bF9wd19hZmZfZ2V0X2N0eCAoKmlzbF9wb2ludGVyc19fLnBfaXNsX3B3X2FmZl9nZXRfY3R4KQot KyNkZWZpbmUgaXNsX3ZhbF9pc19pbnQgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF92YWxfaXNfaW50 KQotKyNkZWZpbmUgaXNsX2N0eF9nZXRfbWF4X29wZXJhdGlvbnMgKCppc2xfcG9pbnRlcnNfXy5w X2lzbF9jdHhfZ2V0X21heF9vcGVyYXRpb25zKQotKyNkZWZpbmUgaXNsX2N0eF9zZXRfbWF4X29w ZXJhdGlvbnMgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9jdHhfc2V0X21heF9vcGVyYXRpb25zKQot KyNkZWZpbmUgaXNsX2N0eF9sYXN0X2Vycm9yICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfY3R4X2xh c3RfZXJyb3IpCi0rI2RlZmluZSBpc2xfY3R4X3Jlc2V0X29wZXJhdGlvbnMgKCppc2xfcG9pbnRl cnNfXy5wX2lzbF9jdHhfcmVzZXRfb3BlcmF0aW9ucykKLSsjZGVmaW5lIGlzbF9tYXBfY29hbGVz Y2UgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9tYXBfY29hbGVzY2UpCi0rI2RlZmluZSBpc2xfcHJp bnRlcl9wcmludF9zY2hlZHVsZSAoKmlzbF9wb2ludGVyc19fLnBfaXNsX3ByaW50ZXJfcHJpbnRf c2NoZWR1bGUpCi0rI2RlZmluZSBpc2xfc2V0X3NldF9kaW1faWQgKCppc2xfcG9pbnRlcnNfXy5w X2lzbF9zZXRfc2V0X2RpbV9pZCkKLSsjZGVmaW5lIGlzbF91bmlvbl9tYXBfY29hbGVzY2UgKCpp c2xfcG9pbnRlcnNfXy5wX2lzbF91bmlvbl9tYXBfY29hbGVzY2UpCi0rI2RlZmluZSBpc2xfbXVs dGlfdmFsX3NldF92YWwgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9tdWx0aV92YWxfc2V0X3ZhbCkK LSsjZGVmaW5lIGlzbF9tdWx0aV92YWxfemVybyAoKmlzbF9wb2ludGVyc19fLnBfaXNsX211bHRp X3ZhbF96ZXJvKQotKyNkZWZpbmUgaXNsX29wdGlvbnNfc2V0X3NjaGVkdWxlX21heF9jb2VmZmlj aWVudCAoKmlzbF9wb2ludGVyc19fLnBfaXNsX29wdGlvbnNfc2V0X3NjaGVkdWxlX21heF9jb2Vm ZmljaWVudCkKLSsjZGVmaW5lIGlzbF9vcHRpb25zX3NldF90aWxlX3NjYWxlX3RpbGVfbG9vcHMg KCppc2xfcG9pbnRlcnNfXy5wX2lzbF9vcHRpb25zX3NldF90aWxlX3NjYWxlX3RpbGVfbG9vcHMp Ci0rI2RlZmluZSBpc2xfc2NoZWR1bGVfY29weSAoKmlzbF9wb2ludGVyc19fLnBfaXNsX3NjaGVk dWxlX2NvcHkpCi0rI2RlZmluZSBpc2xfc2NoZWR1bGVfZ2V0X21hcCAoKmlzbF9wb2ludGVyc19f LnBfaXNsX3NjaGVkdWxlX2dldF9tYXApCi0rI2RlZmluZSBpc2xfc2NoZWR1bGVfbWFwX3NjaGVk dWxlX25vZGVfYm90dG9tX3VwICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfc2NoZWR1bGVfbWFwX3Nj aGVkdWxlX25vZGVfYm90dG9tX3VwKQotKyNkZWZpbmUgaXNsX3NjaGVkdWxlX25vZGVfYmFuZF9n ZXRfcGVybXV0YWJsZSAoKmlzbF9wb2ludGVyc19fLnBfaXNsX3NjaGVkdWxlX25vZGVfYmFuZF9n ZXRfcGVybXV0YWJsZSkKLSsjZGVmaW5lIGlzbF9zY2hlZHVsZV9ub2RlX2JhbmRfZ2V0X3NwYWNl ICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfc2NoZWR1bGVfbm9kZV9iYW5kX2dldF9zcGFjZSkKLSsj ZGVmaW5lIGlzbF9zY2hlZHVsZV9ub2RlX2JhbmRfdGlsZSAoKmlzbF9wb2ludGVyc19fLnBfaXNs X3NjaGVkdWxlX25vZGVfYmFuZF90aWxlKQotKyNkZWZpbmUgaXNsX3NjaGVkdWxlX25vZGVfY2hp bGQgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9zY2hlZHVsZV9ub2RlX2NoaWxkKQotKyNkZWZpbmUg aXNsX3NjaGVkdWxlX25vZGVfZnJlZSAoKmlzbF9wb2ludGVyc19fLnBfaXNsX3NjaGVkdWxlX25v ZGVfZnJlZSkKLSsjZGVmaW5lIGlzbF9zY2hlZHVsZV9ub2RlX2dldF9jaGlsZCAoKmlzbF9wb2lu dGVyc19fLnBfaXNsX3NjaGVkdWxlX25vZGVfZ2V0X2NoaWxkKQotKyNkZWZpbmUgaXNsX3NjaGVk dWxlX25vZGVfZ2V0X2N0eCAoKmlzbF9wb2ludGVyc19fLnBfaXNsX3NjaGVkdWxlX25vZGVfZ2V0 X2N0eCkKLSsjZGVmaW5lIGlzbF9zY2hlZHVsZV9ub2RlX2dldF90eXBlICgqaXNsX3BvaW50ZXJz X18ucF9pc2xfc2NoZWR1bGVfbm9kZV9nZXRfdHlwZSkKLSsjZGVmaW5lIGlzbF9zY2hlZHVsZV9u b2RlX25fY2hpbGRyZW4gKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9zY2hlZHVsZV9ub2RlX25fY2hp bGRyZW4pCi0rI2RlZmluZSBpc2xfdW5pb25fbWFwX2lzX2VxdWFsICgqaXNsX3BvaW50ZXJzX18u cF9pc2xfdW5pb25fbWFwX2lzX2VxdWFsKQotKyNkZWZpbmUgaXNsX3VuaW9uX2FjY2Vzc19pbmZv X2NvbXB1dGVfZmxvdyAoKmlzbF9wb2ludGVyc19fLnBfaXNsX3VuaW9uX2FjY2Vzc19pbmZvX2Nv bXB1dGVfZmxvdykKLSsjZGVmaW5lIGlzbF91bmlvbl9hY2Nlc3NfaW5mb19mcm9tX3NpbmsgKCpp c2xfcG9pbnRlcnNfXy5wX2lzbF91bmlvbl9hY2Nlc3NfaW5mb19mcm9tX3NpbmspCi0rI2RlZmlu ZSBpc2xfdW5pb25fYWNjZXNzX2luZm9fc2V0X21heV9zb3VyY2UgKCppc2xfcG9pbnRlcnNfXy5w X2lzbF91bmlvbl9hY2Nlc3NfaW5mb19zZXRfbWF5X3NvdXJjZSkKLSsjZGVmaW5lIGlzbF91bmlv bl9hY2Nlc3NfaW5mb19zZXRfbXVzdF9zb3VyY2UgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF91bmlv bl9hY2Nlc3NfaW5mb19zZXRfbXVzdF9zb3VyY2UpCi0rI2RlZmluZSBpc2xfdW5pb25fYWNjZXNz X2luZm9fc2V0X3NjaGVkdWxlICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfdW5pb25fYWNjZXNzX2lu Zm9fc2V0X3NjaGVkdWxlKQotKyNkZWZpbmUgaXNsX3VuaW9uX2Zsb3dfZnJlZSAoKmlzbF9wb2lu dGVyc19fLnBfaXNsX3VuaW9uX2Zsb3dfZnJlZSkKLSsjZGVmaW5lIGlzbF91bmlvbl9mbG93X2dl dF9tYXlfZGVwZW5kZW5jZSAoKmlzbF9wb2ludGVyc19fLnBfaXNsX3VuaW9uX2Zsb3dfZ2V0X21h eV9kZXBlbmRlbmNlKQotKyNkZWZpbmUgaXNsX3VuaW9uX2Zsb3dfZ2V0X211c3RfZGVwZW5kZW5j ZSAoKmlzbF9wb2ludGVyc19fLnBfaXNsX3VuaW9uX2Zsb3dfZ2V0X211c3RfZGVwZW5kZW5jZSkK LSsjZGVmaW5lIGlzbF9hZmZfdmFyX29uX2RvbWFpbiAoKmlzbF9wb2ludGVyc19fLnBfaXNsX2Fm Zl92YXJfb25fZG9tYWluKQotKyNkZWZpbmUgaXNsX211bHRpX2FmZl9mcm9tX2FmZiAoKmlzbF9w b2ludGVyc19fLnBfaXNsX211bHRpX2FmZl9mcm9tX2FmZikKLSsjZGVmaW5lIGlzbF9zY2hlZHVs ZV9nZXRfY3R4ICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfc2NoZWR1bGVfZ2V0X2N0eCkKLSsjZGVm aW5lIGlzbF9tdWx0aV9hZmZfc2V0X3R1cGxlX2lkICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfbXVs dGlfYWZmX3NldF90dXBsZV9pZCkKLSsjZGVmaW5lIGlzbF9tdWx0aV9hZmZfZGltICgqaXNsX3Bv aW50ZXJzX18ucF9pc2xfbXVsdGlfYWZmX2RpbSkKLSsjZGVmaW5lIGlzbF9zY2hlZHVsZV9nZXRf ZG9tYWluICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfc2NoZWR1bGVfZ2V0X2RvbWFpbikKLSsjZGVm aW5lIGlzbF91bmlvbl9zZXRfaXNfZW1wdHkgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF91bmlvbl9z ZXRfaXNfZW1wdHkpCi0rI2RlZmluZSBpc2xfdW5pb25fc2V0X2dldF9zcGFjZSAoKmlzbF9wb2lu dGVyc19fLnBfaXNsX3VuaW9uX3NldF9nZXRfc3BhY2UpCi0rI2RlZmluZSBpc2xfdW5pb25fcHdf bXVsdGlfYWZmX2VtcHR5ICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfdW5pb25fcHdfbXVsdGlfYWZm X2VtcHR5KQotKyNkZWZpbmUgaXNsX3VuaW9uX3NldF9mb3JlYWNoX3NldCAoKmlzbF9wb2ludGVy c19fLnBfaXNsX3VuaW9uX3NldF9mb3JlYWNoX3NldCkKLSsjZGVmaW5lIGlzbF91bmlvbl9zZXRf ZnJlZSAoKmlzbF9wb2ludGVyc19fLnBfaXNsX3VuaW9uX3NldF9mcmVlKQotKyNkZWZpbmUgaXNs X211bHRpX3VuaW9uX3B3X2FmZl9mcm9tX3VuaW9uX3B3X211bHRpX2FmZiAoKmlzbF9wb2ludGVy c19fLnBfaXNsX211bHRpX3VuaW9uX3B3X2FmZl9mcm9tX3VuaW9uX3B3X211bHRpX2FmZikKLSsj ZGVmaW5lIGlzbF9tdWx0aV91bmlvbl9wd19hZmZfYXBwbHlfbXVsdGlfYWZmICgqaXNsX3BvaW50 ZXJzX18ucF9pc2xfbXVsdGlfdW5pb25fcHdfYWZmX2FwcGx5X211bHRpX2FmZikKLSsjZGVmaW5l IGlzbF9zY2hlZHVsZV9pbnNlcnRfcGFydGlhbF9zY2hlZHVsZSAoKmlzbF9wb2ludGVyc19fLnBf aXNsX3NjaGVkdWxlX2luc2VydF9wYXJ0aWFsX3NjaGVkdWxlKQotKyNkZWZpbmUgaXNsX3VuaW9u X3B3X211bHRpX2FmZl9mcmVlICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfdW5pb25fcHdfbXVsdGlf YWZmX2ZyZWUpCi0rI2RlZmluZSBpc2xfcHdfbXVsdGlfYWZmX3Byb2plY3Rfb3V0X21hcCAoKmlz bF9wb2ludGVyc19fLnBfaXNsX3B3X211bHRpX2FmZl9wcm9qZWN0X291dF9tYXApCi0rI2RlZmlu ZSBpc2xfdW5pb25fcHdfbXVsdGlfYWZmX2FkZF9wd19tdWx0aV9hZmYgKCppc2xfcG9pbnRlcnNf Xy5wX2lzbF91bmlvbl9wd19tdWx0aV9hZmZfYWRkX3B3X211bHRpX2FmZikKLSsjZGVmaW5lIGlz bF9zY2hlZHVsZV9mcm9tX2RvbWFpbiAoKmlzbF9wb2ludGVyc19fLnBfaXNsX3NjaGVkdWxlX2Zy b21fZG9tYWluKQotKyNkZWZpbmUgaXNsX3NjaGVkdWxlX3NlcXVlbmNlICgqaXNsX3BvaW50ZXJz X18ucF9pc2xfc2NoZWR1bGVfc2VxdWVuY2UpCi0rI2RlZmluZSBpc2xfYXN0X2J1aWxkX25vZGVf ZnJvbV9zY2hlZHVsZSAoKmlzbF9wb2ludGVyc19fLnBfaXNsX2FzdF9idWlsZF9ub2RlX2Zyb21f c2NoZWR1bGUpCi0rI2RlZmluZSBpc2xfYXN0X25vZGVfbWFya19nZXRfbm9kZSAoKmlzbF9wb2lu dGVyc19fLnBfaXNsX2FzdF9ub2RlX21hcmtfZ2V0X25vZGUpCi0rI2RlZmluZSBpc2xfc2NoZWR1 bGVfbm9kZV9iYW5kX21lbWJlcl9nZXRfYXN0X2xvb3BfdHlwZSAoKmlzbF9wb2ludGVyc19fLnBf aXNsX3NjaGVkdWxlX25vZGVfYmFuZF9tZW1iZXJfZ2V0X2FzdF9sb29wX3R5cGUpCi0rI2RlZmlu ZSBpc2xfc2NoZWR1bGVfbm9kZV9iYW5kX21lbWJlcl9zZXRfYXN0X2xvb3BfdHlwZSAoKmlzbF9w b2ludGVyc19fLnBfaXNsX3NjaGVkdWxlX25vZGVfYmFuZF9tZW1iZXJfc2V0X2FzdF9sb29wX3R5 cGUpCi0rI2RlZmluZSBpc2xfdmFsX25fYWJzX251bV9jaHVua3MgKCppc2xfcG9pbnRlcnNfXy5w X2lzbF92YWxfbl9hYnNfbnVtX2NodW5rcykKLSsjZGVmaW5lIGlzbF92YWxfZ2V0X2Fic19udW1f Y2h1bmtzICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfdmFsX2dldF9hYnNfbnVtX2NodW5rcykKLSsj ZGVmaW5lIGlzbF92YWxfaW50X2Zyb21fY2h1bmtzICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfdmFs X2ludF9mcm9tX2NodW5rcykKLSsjZGVmaW5lIGlzbF92YWxfaXNfbmVnICgqaXNsX3BvaW50ZXJz X18ucF9pc2xfdmFsX2lzX25lZykKLSsjZGVmaW5lIGlzbF92ZXJzaW9uICgqaXNsX3BvaW50ZXJz X18ucF9pc2xfdmVyc2lvbikKLSsjZGVmaW5lIGlzbF9vcHRpb25zX2dldF9vbl9lcnJvciAoKmlz bF9wb2ludGVyc19fLnBfaXNsX29wdGlvbnNfZ2V0X29uX2Vycm9yKQotKyNkZWZpbmUgaXNsX2N0 eF9yZXNldF9lcnJvciAoKmlzbF9wb2ludGVyc19fLnBfaXNsX2N0eF9yZXNldF9lcnJvcikKLSsK LSB0eXBlZGVmIHN0cnVjdCBwb2x5X2RyICpwb2x5X2RyX3A7Ci0gCi0gdHlwZWRlZiBzdHJ1Y3Qg cG9seV9iYiAqcG9seV9iYl9wOwotQEAgLTQ0OCw1ICsxMDMzLDYgQEAgZXh0ZXJuIHRyZWUgY2Fj aGVkX3NjYWxhcl9ldm9sdXRpb25faW5fcgotIGV4dGVybiB2b2lkIGRvdF9hbGxfc2VzZSAoRklM RSAqLCB2ZWM8c2VzZV9sPiAmKTsKLSBleHRlcm4gdm9pZCBkb3Rfc2VzZSAoc2VzZV9sICYpOwot IGV4dGVybiB2b2lkIGRvdF9jZmcgKCk7Ci0rZXh0ZXJuIGNvbnN0IGNoYXIgKmdldF9pc2xfdmVy c2lvbiAoYm9vbCk7Ci0gCi0gI2VuZGlmCi0tLS0gZ2NjL2dyYXBoaXRlLmNjLmpqCTIwMTUtMTEt MDQgMTQ6MTU6MzIuMDAwMDAwMDAwICswMTAwCi0rKysgZ2NjL2dyYXBoaXRlLmNjCTIwMTUtMTEt MDQgMTQ6NTY6MDIuNjQ1NTM2NDA5ICswMTAwCi1AQCAtNjAsNiArNjAsMzUgQEAgYWxvbmcgd2l0 aCBHQ0M7IHNlZSB0aGUgZmlsZSBDT1BZSU5HMy4KLSAjaW5jbHVkZSAidHJlZS1zc2EtcHJvcGFn YXRlLmgiCi0gI2luY2x1ZGUgImdyYXBoaXRlLmgiCi0gCi0rX190eXBlb2YgKGlzbF9wb2ludGVy c19fKSBpc2xfcG9pbnRlcnNfXzsKLSsKLStzdGF0aWMgYm9vbAotK2luaXRfaXNsX3BvaW50ZXJz ICh2b2lkKQotK3sKLSsgIHZvaWQgKmg7Ci0rCi0rICBpZiAoaXNsX3BvaW50ZXJzX18uaW5pdGVk KQotKyAgICByZXR1cm4gaXNsX3BvaW50ZXJzX18uaCAhPSBOVUxMOwotKyAgaCA9IGRsb3BlbiAo ImxpYmlzbC5zby4yMyIsIFJUTERfTEFaWSk7Ci0rICBpc2xfcG9pbnRlcnNfXy5oID0gaDsKLSsg IGlmIChoID09IE5VTEwpCi0rICAgIHJldHVybiBmYWxzZTsKLSsjZGVmaW5lIERZTlNZTSh4KSBc Ci0rICBkbyBcCi0rICAgIHsgXAotKyAgICAgIHVuaW9uIHsgX190eXBlb2YgKGlzbF9wb2ludGVy c19fLnBfIyN4KSBwOyB2b2lkICpxOyB9IHU7IFwKLSsgICAgICB1LnEgPSBkbHN5bSAoaCwgI3gp OyBcCi0rICAgICAgaWYgKHUucSA9PSBOVUxMKSBcCi0rCXJldHVybiBmYWxzZTsgXAotKyAgICAg IGlzbF9wb2ludGVyc19fLnBfIyN4ID0gdS5wOyBcCi0rICAgIH0gXAotKyAgd2hpbGUgKDApCi0r ICBEWU5TWU1TCi0rI3VuZGVmIERZTlNZTQotKyAgaXNsX3BvaW50ZXJzX18uaW5pdGVkID0gdHJ1 ZTsKLSsgIHJldHVybiB0cnVlOwotK30KLSsKLSAvKiBQcmludCBnbG9iYWwgc3RhdGlzdGljcyB0 byBGSUxFLiAgKi8KLSAKLSBzdGF0aWMgdm9pZAotQEAgLTQyNCw2ICs0NTMsMTUgQEAgZ3JhcGhp dGVfdHJhbnNmb3JtX2xvb3BzICh2b2lkKQotICAgaWYgKHBhcmFsbGVsaXplZF9mdW5jdGlvbl9w IChjZnVuLT5kZWNsKSkKLSAgICAgcmV0dXJuOwotIAotKyAgaWYgKG51bWJlcl9vZl9sb29wcyAo Y2Z1bikgPD0gMSkKLSsgICAgcmV0dXJuOwotKwotKyAgaWYgKCFpbml0X2lzbF9wb2ludGVycyAo KSkKLSsgICAgewotKyAgICAgIHNvcnJ5ICgiR3JhcGhpdGUgbG9vcCBvcHRpbWl6YXRpb25zIGNh bm5vdCBiZSB1c2VkIik7Ci0rICAgICAgcmV0dXJuOwotKyAgICB9Ci0rCi0gICBjYWxjdWxhdGVf ZG9taW5hbmNlX2luZm8gKENESV9ET01JTkFUT1JTKTsKLSAKLSAgIC8qIFdlIHJlbHkgb24gcG9z dC1kb21pbmF0b3JzIGR1cmluZyBtZXJnaW5nIG9mIFNFU0UgcmVnaW9ucyBzbyB0aG9zZQotQEAg LTUxOSw2ICs1NTcsMTQgQEAgZ3JhcGhpdGVfdHJhbnNmb3JtX2xvb3BzICh2b2lkKQotICAgICB9 Ci0gfQotIAotK2NvbnN0IGNoYXIgKgotK2dldF9pc2xfdmVyc2lvbiAoYm9vbCBmb3JjZSkKLSt7 Ci0rICBpZiAoZm9yY2UpCi0rICAgIGluaXRfaXNsX3BvaW50ZXJzICgpOwotKyAgcmV0dXJuIChp c2xfcG9pbnRlcnNfXy5pbml0ZWQgJiYgaXNsX3ZlcnNpb24pID8gaXNsX3ZlcnNpb24gKCkgOiAi bm9uZSI7Ci0rfQotKwotICNlbHNlIC8qIElmIGlzbCBpcyBub3QgYXZhaWxhYmxlOiAjaWZuZGVm IEhBVkVfaXNsLiAgKi8KLSAKLSBzdGF0aWMgdm9pZAotLS0tIGdjYy90b3BsZXYuY2MuamoJMjAx Ny0wMi0xOSAxMzowMjozMS4wMDAwMDAwMDAgKzAxMDAKLSsrKyBnY2MvdG9wbGV2LmNjCTIwMjQt MTEtMzAgMTM6MjI6MzQuMTc1MDk2MTE3ICswMTAwCi1AQCAtMTAwLDYgKzEwMCw3IEBAIGFsb25n IHdpdGggR0NDOyBzZWUgdGhlIGZpbGUgQ09QWUlORzMuCi0gCi0gI2lmZGVmIEhBVkVfaXNsCi0g I2luY2x1ZGUgPGlzbC92ZXJzaW9uLmg+Ci0rZXh0ZXJuIGNvbnN0IGNoYXIgKmdldF9pc2xfdmVy c2lvbiAoYm9vbCk7Ci0gI2VuZGlmCi0gCi0gc3RhdGljIHZvaWQgZ2VuZXJhbF9pbml0IChjb25z dCBjaGFyICosIGJvb2wsIHVuaXF1ZV9hcmd2IG9yaWdpbmFsX2FyZ3YpOwotQEAgLTY1Miw3ICs2 NTMsNyBAQCBwcmludF92ZXJzaW9uIChGSUxFICpmaWxlLCBjb25zdCBjaGFyICppCi0gI2lmbmRl ZiBIQVZFX2lzbAotIAkgICAibm9uZSIKLSAjZWxzZQotLQkgICBpc2xfdmVyc2lvbiAoKQotKwkg ICBnZXRfaXNsX3ZlcnNpb24gKCppbmRlbnQgPT0gMCkKLSAjZW5kaWYKLSAJICAgKTsKLSAgIGlm IChzdHJjbXAgKEdDQ19HTVBfU1RSSU5HSUZZX1ZFUlNJT04sIGdtcF92ZXJzaW9uKSkKCmRpZmYg LS1naXQgYS9nY2MxNi1pc2wtZGwyLnBhdGNoIGIvZ2NjMTYtaXNsLWRsMi5wYXRjaApkZWxldGVk IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYTA3ZmYxZC4uMDAwMDAwMAotLS0gYS9nY2MxNi1pc2wt ZGwyLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNzEgKzAsMCBAQAotMjAxMS0wNC0wNCAgSmFr dWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+Ci0KLQkqIHRvcGxldi5jYyAodG9wbGV2X21h aW5fYXJndik6IE5ldyB2YXJpYWJsZS4KLQkodG9wbGV2X21haW4pOiBJbml0aWFsaXplIGl0Lgot CSogZ3JhcGhpdGUuY2MgKGluaXRfaXNsX3BvaW50ZXJzKTogTG9hZCBsaWJpc2wuc28uMjMgZnJv bSBnY2MncyBwcml2YXRlCi0JZGlyZWN0b3J5LgotCi0tLS0gZ2NjL3RvcGxldi5jYy5qagkyMDA4 LTEyLTA5IDIzOjU5OjEwLjAwMDAwMDAwMCArMDEwMAotKysrIGdjYy90b3BsZXYuY2MJMjAyNC0x MS0zMCAxMzoyNjowNS4wODUxMzI1NDMgKzAxMDAKLUBAIC0xMTIsNiArMTEyLDggQEAgc3RhdGlj IHZvaWQgZmluYWxpemUgKCk7Ci0gc3RhdGljIHZvaWQgY3Jhc2hfc2lnbmFsIChpbnQpIEFUVFJJ QlVURV9OT1JFVFVSTjsKLSBzdGF0aWMgdm9pZCBjb21waWxlX2ZpbGUgKHZvaWQpOwotIAotK2Nv bnN0IGNoYXIgKip0b3BsZXZfbWFpbl9hcmd2OwotKwotIC8qIERlY29kZWQgb3B0aW9ucywgYW5k IG51bWJlciBvZiBzdWNoIG9wdGlvbnMuICAqLwotIHN0cnVjdCBjbF9kZWNvZGVkX29wdGlvbiAq c2F2ZV9kZWNvZGVkX29wdGlvbnM7Ci0gdW5zaWduZWQgaW50IHNhdmVfZGVjb2RlZF9vcHRpb25z X2NvdW50OwotQEAgLTIyOTYsNiArMjI5OCw4IEBAIHRvcGxldjo6bWFpbiAoaW50IGFyZ2MsIGNo YXIgKiphcmd2KQotIAotICAgZXhwYW5kYXJndiAoJmFyZ2MsICZhcmd2KTsKLSAKLSsgIHRvcGxl dl9tYWluX2FyZ3YgPSBjb25zdF9jYXN0IDxjb25zdCBjaGFyICoqPiAoYXJndik7Ci0rCi0gICAv KiBJbml0aWFsaXphdGlvbiBvZiBHQ0MncyBlbnZpcm9ubWVudCwgYW5kIGRpYWdub3N0aWNzLiAg Ki8KLSAgIGdlbmVyYWxfaW5pdCAoYXJndlswXSwgbV9pbml0X3NpZ25hbHMsIHN0ZDo6bW92ZSAo b3JpZ2luYWxfYXJndikpOwotIAotLS0tIGdjYy9ncmFwaGl0ZS5jYy5qagkyMDEwLTEyLTAxIDEw OjI0OjMyLjAwMDAwMDAwMCAtMDUwMAotKysrIGdjYy9ncmFwaGl0ZS5jYwkyMDEwLTEyLTAxIDEx OjQ2OjA3LjgzMjExODE5MyAtMDUwMAotQEAgLTY0LDExICs2NCwzOSBAQCBfX3R5cGVvZiAoaXNs X3BvaW50ZXJzX18pIGlzbF9wb2ludGVyc19fCi0gc3RhdGljIGJvb2wKLSBpbml0X2lzbF9wb2lu dGVycyAodm9pZCkKLSB7Ci0tICB2b2lkICpoOwotKyAgdm9pZCAqaCA9IE5VTEw7Ci0rICBleHRl cm4gY29uc3QgY2hhciAqKnRvcGxldl9tYWluX2FyZ3Y7Ci0rICBjaGFyICpidWYsICpwOwotKyAg c2l6ZV90IGxlbjsKLSAKLSAgIGlmIChpc2xfcG9pbnRlcnNfXy5pbml0ZWQpCi0gICAgIHJldHVy biBpc2xfcG9pbnRlcnNfXy5oICE9IE5VTEw7Ci0tICBoID0gZGxvcGVuICgibGliaXNsLnNvLjIz IiwgUlRMRF9MQVpZKTsKLSsgIGxlbiA9IHByb2duYW1lIC0gdG9wbGV2X21haW5fYXJndlswXTsK LSsgIGJ1ZiA9IFhBTExPQ0FWQVIgKGNoYXIsIGxlbiArIHNpemVvZiAibGliaXNsLnNvLjIzIik7 Ci0rICBtZW1jcHkgKGJ1ZiwgdG9wbGV2X21haW5fYXJndlswXSwgbGVuKTsKLSsgIHN0cmNweSAo YnVmICsgbGVuLCAibGliaXNsLnNvLjIzIik7Ci0rICBsZW4gKz0gc2l6ZW9mICJsaWJpc2wuc28u MjMiOwotKyAgcCA9IHN0cnN0ciAoYnVmLCAiL2xpYmV4ZWMvIik7Ci0rICBpZiAocCAhPSBOVUxM KQotKyAgICB7Ci0rICAgICAgd2hpbGUgKDEpCi0rCXsKLSsJICBjaGFyICpxID0gc3Ryc3RyIChw ICsgOCwgIi9saWJleGVjLyIpOwotKwkgIGlmIChxID09IE5VTEwpCi0rCSAgICBicmVhazsKLSsJ ICBwID0gcTsKLSsJfQotKyAgICAgIG1lbW1vdmUgKHAgKyA0LCBwICsgOCwgbGVuIC0gKHAgKyA4 IC0gYnVmKSk7Ci0rICAgICAgaCA9IGRsb3BlbiAoYnVmLCBSVExEX0xBWlkpOwotKyAgICAgIGlm IChoID09IE5VTEwpCi0rCXsKLSsJICBsZW4gPSBwcm9nbmFtZSAtIHRvcGxldl9tYWluX2FyZ3Zb MF07Ci0rCSAgbWVtY3B5IChidWYsIHRvcGxldl9tYWluX2FyZ3ZbMF0sIGxlbik7Ci0rCSAgc3Ry Y3B5IChidWYgKyBsZW4sICJsaWJpc2wuc28uMjMiKTsKLSsJfQotKyAgICB9Ci0rICBpZiAoaCA9 PSBOVUxMKQotKyAgICBoID0gZGxvcGVuIChidWYsIFJUTERfTEFaWSk7Ci0gICBpc2xfcG9pbnRl cnNfXy5oID0gaDsKLSAgIGlmIChoID09IE5VTEwpCi0gICAgIHJldHVybiBmYWxzZTsKCmRpZmYg LS1naXQgYS9nY2MxNi1saWJnb21wLW9tcF9oLW11bHRpbGliLnBhdGNoIGIvZ2NjMTYtbGliZ29t cC1vbXBfaC1tdWx0aWxpYi5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZDBl OThkMS4uMDAwMDAwMAotLS0gYS9nY2MxNi1saWJnb21wLW9tcF9oLW11bHRpbGliLnBhdGNoCisr KyAvZGV2L251bGwKQEAgLTEsMTcgKzAsMCBAQAotMjAwOC0wNi0wOSAgSmFrdWIgSmVsaW5layAg PGpha3ViQHJlZGhhdC5jb20+Ci0KLQkqIG9tcC5oLmluIChvbXBfbmVzdF9sb2NrX3QpOiBGaXgg dXAgZm9yIExpbnV4IG11bHRpbGlicy4KLQotLS0tIGxpYmdvbXAvb21wLmguaW4uamoJMjAwOC0w Ni0wOSAxMzozNDowNS4wMDAwMDAwMDAgKzAyMDAKLSsrKyBsaWJnb21wL29tcC5oLmluCTIwMDgt MDYtMDkgMTM6MzQ6NDguMDAwMDAwMDAwICswMjAwCi1AQCAtNDIsOCArNDIsOCBAQCB0eXBlZGVm IHN0cnVjdAotIAotIHR5cGVkZWYgc3RydWN0Ci0gewotLSAgdW5zaWduZWQgY2hhciBfeFtAT01Q X05FU1RfTE9DS19TSVpFQF0gCi0tICAgIF9fYXR0cmlidXRlX18oKF9fYWxpZ25lZF9fKEBPTVBf TkVTVF9MT0NLX0FMSUdOQCkpKTsKLSsgIHVuc2lnbmVkIGNoYXIgX3hbOCArIHNpemVvZiAodm9p ZCAqKV0gCi0rICAgIF9fYXR0cmlidXRlX18oKF9fYWxpZ25lZF9fKHNpemVvZiAodm9pZCAqKSkp KTsKLSB9IG9tcF9uZXN0X2xvY2tfdDsKLSAjZW5kaWYKLSAKCmRpZmYgLS1naXQgYS9nY2MxNi1s aWJzdGRjKystZG9jcy5wYXRjaCBiL2djYzE2LWxpYnN0ZGMrKy1kb2NzLnBhdGNoCmRlbGV0ZWQg ZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmOTcxNjI3Li4wMDAwMDAwCi0tLSBhL2djYzE2LWxpYnN0 ZGMrKy1kb2NzLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMjQgKzAsMCBAQAotLS0tIGxpYnN0 ZGMrKy12My9kb2MvaHRtbC9pbmRleC5odG1sLmpqCTIwMTEtMDEtMDMgMTI6NTM6MjEuMjgyODI5 MDEwICswMTAwCi0rKysgbGlic3RkYysrLXYzL2RvYy9odG1sL2luZGV4Lmh0bWwJMjAxMS0wMS0w NCAxODowNjoyOC45OTk4NTExNDUgKzAxMDAKLUBAIC01LDYgKzUsOCBAQAotICAgICAgIDxhIGNs YXNzPSJsaW5rIiBocmVmPSJodHRwczovL3d3dy5mc2Yub3JnIiB0YXJnZXQ9Il90b3AiPkZTRgot ICAgICAgIDwvYT4KLSAgICAgPC9wPjxwPgotKyAgICAgIFJlbGVhc2UgMTYuMS4xCi0rICAgIDwv cD48cD4KLSAgICAgICBQZXJtaXNzaW9uIGlzIGdyYW50ZWQgdG8gY29weSwgZGlzdHJpYnV0ZSBh bmQvb3IgbW9kaWZ5IHRoaXMKLSAgICAgICBkb2N1bWVudCB1bmRlciB0aGUgdGVybXMgb2YgdGhl IEdOVSBGcmVlIERvY3VtZW50YXRpb24KLSAgICAgICBMaWNlbnNlLCBWZXJzaW9uIDEuMiBvciBh bnkgbGF0ZXIgdmVyc2lvbiBwdWJsaXNoZWQgYnkgdGhlCi0tLS0gbGlic3RkYysrLXYzL2RvYy9o dG1sL2FwaS5odG1sLmpqCTIwMTEtMDEtMDMgMTI6NTM6MjEuMDAwMDAwMDAwICswMTAwCi0rKysg bGlic3RkYysrLXYzL2RvYy9odG1sL2FwaS5odG1sCTIwMjQtMTEtMzAgMTM6MzA6MTYuNjA3NTk0 NjIzICswMTAwCi1AQCAtMjAsNyArMjAsOSBAQAotICAgbWVtYmVyIGZ1bmN0aW9ucyBmb3IgdGhl IGxpYnJhcnkgY2xhc3NlcywgZmluZGluZyBvdXQgd2hhdCBpcyBpbiBhCi0gICBwYXJ0aWN1bGFy IGluY2x1ZGUgZmlsZSwgbG9va2luZyBhdCBpbmhlcml0YW5jZSBkaWFncmFtcywgZXRjLgotIDwv cD48cD4KLS0gIFRoZSBBUEkgZG9jdW1lbnRhdGlvbiwgcmVuZGVyZWQgaW50byBIVE1MLCBjYW4g YmUgdmlld2VkIG9ubGluZQotKyAgVGhlIEFQSSBkb2N1bWVudGF0aW9uLCByZW5kZXJlZCBpbnRv IEhUTUwsIGNhbiBiZSB2aWV3ZWQgbG9jYWxseQotKyAgPGEgY2xhc3M9ImxpbmsiIGhyZWY9ImFw aS9pbmRleC5odG1sIiB0YXJnZXQ9Il90b3AiPmZvciB0aGUgMTYuMS4xIHJlbGVhc2U8L2E+LAot KyAgb25saW5lCi0gICA8YSBjbGFzcz0ibGluayIgaHJlZj0iaHR0cHM6Ly9nY2MuZ251Lm9yZy9v bmxpbmVkb2NzLyIgdGFyZ2V0PSJfdG9wIj5mb3IgZWFjaCBHQ0MgcmVsZWFzZTwvYT4KLSAgIGFu ZAotICAgPGEgY2xhc3M9ImxpbmsiIGhyZWY9Imh0dHBzOi8vZ2NjLmdudS5vcmcvb25saW5lZG9j cy9saWJzdGRjKysvbGF0ZXN0LWRveHlnZW4vaW5kZXguaHRtbCIgdGFyZ2V0PSJfdG9wIj4KCmRp ZmYgLS1naXQgYS9nY2MxNi1saWJ0b29sLW5vLXJwYXRoLnBhdGNoIGIvZ2NjMTYtbGlidG9vbC1u by1ycGF0aC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODQyOWE0Yy4uMDAw MDAwMAotLS0gYS9nY2MxNi1saWJ0b29sLW5vLXJwYXRoLnBhdGNoCisrKyAvZGV2L251bGwKQEAg LTEsMjcgKzAsMCBAQAotbGlidG9vbCBzdWNrcy4KLS0tLSBsdG1haW4uc2guamoJMjAwNy0xMi0w NyAxNDo1MzoyMS4wMDAwMDAwMDAgKzAxMDAKLSsrKyBsdG1haW4uc2gJMjAwOC0wOS0wNSAyMTo1 MTo0OC4wMDAwMDAwMDAgKzAyMDAKLUBAIC01Mzk0LDYgKzUzOTQsNyBAQCBFT0YKLSAJICBycGF0 aD0iJGZpbmFsaXplX3JwYXRoIgotIAkgIHRlc3QgIiRtb2RlIiAhPSByZWxpbmsgJiYgcnBhdGg9 IiRjb21waWxlX3JwYXRoJHJwYXRoIgotIAkgIGZvciBsaWJkaXIgaW4gJHJwYXRoOyBkbwotKwkg ICAgY2FzZSAiJGxpYmRpciIgaW4gL3Vzci9saWJ8L3Vzci9saWI2NHwvdXNyL2xpYi8uLi9saWJ8 L3Vzci9saWIvLi4vbGliNjR8L3Vzci9saWIvLi4vbGliNjQvbHA2NGQpIGNvbnRpbnVlOzsgZXNh YwotIAkgICAgaWYgdGVzdCAtbiAiJGhhcmRjb2RlX2xpYmRpcl9mbGFnX3NwZWMiOyB0aGVuCi0g CSAgICAgIGlmIHRlc3QgLW4gIiRoYXJkY29kZV9saWJkaXJfc2VwYXJhdG9yIjsgdGhlbgotIAkJ aWYgdGVzdCAteiAiJGhhcmRjb2RlX2xpYmRpcnMiOyB0aGVuCi1AQCAtNjA3MSw2ICs2MDcyLDcg QEAgRU9GCi0gICAgICAgcnBhdGg9Ci0gICAgICAgaGFyZGNvZGVfbGliZGlycz0KLSAgICAgICBm b3IgbGliZGlyIGluICRjb21waWxlX3JwYXRoICRmaW5hbGl6ZV9ycGF0aDsgZG8KLSsJY2FzZSAi JGxpYmRpciIgaW4gL3Vzci9saWJ8L3Vzci9saWI2NHwvdXNyL2xpYi8uLi9saWJ8L3Vzci9saWIv Li4vbGliNjR8L3Vzci9saWIvLi4vbGliNjQvbHA2NGQpIGNvbnRpbnVlOzsgZXNhYwotIAlpZiB0 ZXN0IC1uICIkaGFyZGNvZGVfbGliZGlyX2ZsYWdfc3BlYyI7IHRoZW4KLSAJICBpZiB0ZXN0IC1u ICIkaGFyZGNvZGVfbGliZGlyX3NlcGFyYXRvciI7IHRoZW4KLSAJICAgIGlmIHRlc3QgLXogIiRo YXJkY29kZV9saWJkaXJzIjsgdGhlbgotQEAgLTYxMjAsNiArNjEyMiw3IEBAIEVPRgotICAgICAg IHJwYXRoPQotICAgICAgIGhhcmRjb2RlX2xpYmRpcnM9Ci0gICAgICAgZm9yIGxpYmRpciBpbiAk ZmluYWxpemVfcnBhdGg7IGRvCi0rCWNhc2UgIiRsaWJkaXIiIGluIC91c3IvbGlifC91c3IvbGli NjR8L3Vzci9saWIvLi4vbGlifC91c3IvbGliLy4uL2xpYjY0fC91c3IvbGliLy4uL2xpYjY0L2xw NjRkKSBjb250aW51ZTs7IGVzYWMKLSAJaWYgdGVzdCAtbiAiJGhhcmRjb2RlX2xpYmRpcl9mbGFn X3NwZWMiOyB0aGVuCi0gCSAgaWYgdGVzdCAtbiAiJGhhcmRjb2RlX2xpYmRpcl9zZXBhcmF0b3Ii OyB0aGVuCi0gCSAgICBpZiB0ZXN0IC16ICIkaGFyZGNvZGVfbGliZGlycyI7IHRoZW4KCmRpZmYg LS1naXQgYS9nY2MxNi1uby1hZGQtbmVlZGVkLnBhdGNoIGIvZ2NjMTYtbm8tYWRkLW5lZWRlZC5w YXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNzRmNWMxZi4uMDAwMDAwMAotLS0g YS9nY2MxNi1uby1hZGQtbmVlZGVkLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMzcgKzAsMCBA QAotMjAxMC0wMi0wOCAgUm9sYW5kIE1jR3JhdGggIDxyb2xhbmRAcmVkaGF0LmNvbT4KLQotCSog Y29uZmlnL2dudS11c2VyLmggKExJTktfRUhfU1BFQyk6IFBhc3MgLS1uby1hZGQtbmVlZGVkIHRv IHRoZSBsaW5rZXIuCi0JKiBjb25maWcvYWxwaGEvZWxmLmggKExJTktfRUhfU1BFQyk6IExpa2V3 aXNlLgotCSogY29uZmlnL2lhNjQvbGludXguaCAoTElOS19FSF9TUEVDKTogTGlrZXdpc2UuCi0K LS0tLSBnY2MvY29uZmlnL2FscGhhL2VsZi5oLmpqCTIwMTEtMDEtMDMgMTI6NTI6MzEuMTE4MDU2 NzY0ICswMTAwCi0rKysgZ2NjL2NvbmZpZy9hbHBoYS9lbGYuaAkyMDExLTAxLTA0IDE4OjE0OjEw LjkzMTg3NDE2MCArMDEwMAotQEAgLTE2OCw1ICsxNjgsNSBAQCBleHRlcm4gaW50IGFscGhhX3Ro aXNfZ3BkaXNwX3NlcXVlbmNlX251Ci0gICAgSSBpbWFnaW5lIHRoYXQgb3RoZXIgc3lzdGVtcyB3 aWxsIGNhdGNoIHVwLiAgSW4gdGhlIG1lYW50aW1lLCBpdAotICAgIGRvZXNuJ3QgaGFybSB0byBt YWtlIHN1cmUgdGhhdCB0aGUgZGF0YSBleGlzdHMgdG8gYmUgdXNlZCBsYXRlci4gICovCi0gI2lm IGRlZmluZWQoSEFWRV9MRF9FSF9GUkFNRV9IRFIpCi0tI2RlZmluZSBMSU5LX0VIX1NQRUMgIiV7 IXN0YXRpY3xzdGF0aWMtcGllOi0tZWgtZnJhbWUtaGRyfSAiCi0rI2RlZmluZSBMSU5LX0VIX1NQ RUMgIi0tbm8tYWRkLW5lZWRlZCAleyFzdGF0aWN8c3RhdGljLXBpZTotLWVoLWZyYW1lLWhkcn0g IgotICNlbmRpZgotLS0tIGdjYy9jb25maWcvaWE2NC9saW51eC5oLmpqCTIwMTEtMDEtMDMgMTM6 MDI6MTEuNDYyOTk0NTIyICswMTAwCi0rKysgZ2NjL2NvbmZpZy9pYTY0L2xpbnV4LmgJMjAxMS0w MS0wNCAxODoxNDoxMC45MzE4NzQxNjAgKzAxMDAKLUBAIC03Niw3ICs3Niw3IEBAIGRvIHsJCQkJ CQlcCi0gICAgU2lnbmFsaXplIHRoYXQgYmVjYXVzZSB3ZSBoYXZlIGZkZS1nbGliYywgd2UgZG9u J3QgbmVlZCBhbGwgQyBzaGFyZWQgbGlicwotICAgIGxpbmtlZCBhZ2FpbnN0IC1sZ2NjX3MuICAq LwotICN1bmRlZiBMSU5LX0VIX1NQRUMKLS0jZGVmaW5lIExJTktfRUhfU1BFQyAiIgotKyNkZWZp bmUgTElOS19FSF9TUEVDICItLW5vLWFkZC1uZWVkZWQgIgotIAotICN1bmRlZiBUQVJHRVRfSU5J VF9MSUJGVU5DUwotICNkZWZpbmUgVEFSR0VUX0lOSVRfTElCRlVOQ1MgaWE2NF9zb2Z0X2ZwX2lu aXRfbGliZnVuY3MKLS0tLSBnY2MvY29uZmlnL2dudS11c2VyLmguamoJMjAxMS0wMS0wMyAxMjo1 MzowMy43MzkwNTcyOTkgKzAxMDAKLSsrKyBnY2MvY29uZmlnL2dudS11c2VyLmgJMjAxMS0wMS0w NCAxODoxNDoxMC45MzI4MTQ4ODQgKzAxMDAKLUBAIC0xMDYsNyArMTA2LDcgQEAgc2VlIHRoZSBm aWxlcyBDT1BZSU5HMyBhbmQgQ09QWUlORy5SVU5USQotICNkZWZpbmUgTElCX1NQRUMgR05VX1VT RVJfVEFSR0VUX0xJQl9TUEVDCi0gCi0gI2lmIGRlZmluZWQoSEFWRV9MRF9FSF9GUkFNRV9IRFIp Ci0tI2RlZmluZSBMSU5LX0VIX1NQRUMgIiV7IXN0YXRpY3xzdGF0aWMtcGllOi0tZWgtZnJhbWUt aGRyfSAiCi0rI2RlZmluZSBMSU5LX0VIX1NQRUMgIi0tbm8tYWRkLW5lZWRlZCAleyFzdGF0aWN8 c3RhdGljLXBpZTotLWVoLWZyYW1lLWhkcn0gIgotICNlbmRpZgotIAotIAoKZGlmZiAtLWdpdCBh L2djYzE2LXByMTE5MDA2LnBhdGNoIGIvZ2NjMTYtcHIxMTkwMDYucGF0Y2gKZGVsZXRlZCBmaWxl IG1vZGUgMTAwNjQ0CmluZGV4IGRmYmRhYTkuLjAwMDAwMDAKLS0tIGEvZ2NjMTYtcHIxMTkwMDYu cGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw3NiArMCwwIEBACi0yMDI1LTAyLTI3ICBKYWt1YiBK ZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KLQotCVBSIGlwYS8xMTkwMDYKLQkqIGlwYS1pY2Yt Z2ltcGxlLmNjIChmdW5jX2NoZWNrZXI6OmNvbXBhcmVfb3BlcmFuZCk6IElmIHQxIGFuZCB0Mgot CWFyZSBBRERSX0VYUFJzLCBjYWxsIG9wZXJhbmRfZXF1YWxfcCBvbiB0aGVpciBvcGVyYW5kcyBy YXRoZXIgdGhhbiBvbgotCXRoZSBBRERSX0VYUFJzIHRoZW1zZWx2ZXMuICBGb3JtYXR0aW5nIGZp eC4KLQotCSogZysrLmRnL29wdC9wcjExOTAwNi5DOiBOZXcgdGVzdC4KLQotLS0tIGdjYy9pcGEt aWNmLWdpbXBsZS5jYy5qagkyMDI1LTAyLTAxIDAwOjUwOjAyLjA4MDc3NDMyOCArMDEwMAotKysr IGdjYy9pcGEtaWNmLWdpbXBsZS5jYwkyMDI1LTAyLTI3IDE0OjM1OjE5LjkzMTE4MzI0NiArMDEw MAotQEAgLTQzNywxMiArNDM3LDIzIEBAIGZ1bmNfY2hlY2tlcjo6Y29tcGFyZV9vcGVyYW5kICh0 cmVlIHQxLAotIAkJICgiY29tcGFyZV9hb19yZWZzIGZhaWxlZCAoZGVwZW5kZW5jZSBjbGlxdWUg ZGlmZmVyZW5jZSkiKTsKLSAgICAgICBnY2NfdW5yZWFjaGFibGUgKCk7Ci0gICAgIH0KLSsgIGVs c2UgaWYgKFRSRUVfQ09ERSAodDEpID09IEFERFJfRVhQUiAmJiBUUkVFX0NPREUgKHQyKSA9PSBB RERSX0VYUFIpCi0rICAgIHsKLSsgICAgICAvKiBGb3IgQUREUl9FWFBSIGNvbXBhcmUgdGhlIG9w ZXJhbmRzIG9mIHRoZSBBRERSX0VYUFIgcmF0aGVyIHRoYW4KLSsJIHRoZSBBRERSX0VYUFJzIHRo ZW1zZWx2ZXMuICBvcGVyYW5kX2VxdWFsX3Agd2lsbCBjb21wYXJlIHRoZQotKwkgb3BlcmFuZHMg d2l0aCBPRVBfQUREUkVTU19PRiBhbmQgb25seSBjYXJlIGFib3V0IHRoZSB2YWx1ZQotKwkgb2Yg dGhlIEFERFJfRVhQUiwgcmF0aGVyIHRoYW4gZS5nLiB0eXBlcyBvZiBNRU1fUkVGcyBpbiB0aGVy ZS4KLSsJIFNvbWUgb3B0aW1pemF0aW9ucyB1c2Ugc3VjaCBkZXRhaWxzIHRob3VnaCwgc2VlIFBS MTE5MDA2LiAgKi8KLSsgICAgICBpZiAob3BlcmFuZF9lcXVhbF9wIChUUkVFX09QRVJBTkQgKHQx LCAwKSwgVFJFRV9PUEVSQU5EICh0MiwgMCksCi0rCQkJICAgT0VQX01BVENIX1NJREVfRUZGRUNU UykpCi0rCXJldHVybiB0cnVlOwotKyAgICAgIHJldHVybiByZXR1cm5fZmFsc2Vfd2l0aF9tc2cg KCJvcGVyYW5kX2VxdWFsX3AgZmFpbGVkIik7Ci0rICAgIH0KLSAgIGVsc2UKLSAgICAgewotICAg ICAgIGlmIChvcGVyYW5kX2VxdWFsX3AgKHQxLCB0MiwgT0VQX01BVENIX1NJREVfRUZGRUNUUykp Ci0gCXJldHVybiB0cnVlOwotLSAgICAgIHJldHVybiByZXR1cm5fZmFsc2Vfd2l0aF9tc2cKLS0J CSAoIm9wZXJhbmRfZXF1YWxfcCBmYWlsZWQiKTsKLSsgICAgICByZXR1cm4gcmV0dXJuX2ZhbHNl X3dpdGhfbXNnICgib3BlcmFuZF9lcXVhbF9wIGZhaWxlZCIpOwotICAgICB9Ci0gfQotIAotLS0t IGdjYy90ZXN0c3VpdGUvZysrLmRnL29wdC9wcjExOTAwNi5DLmpqCTIwMjUtMDItMjcgMTQ6Mzc6 MDUuOTUyNzA3MzUwICswMTAwCi0rKysgZ2NjL3Rlc3RzdWl0ZS9nKysuZGcvb3B0L3ByMTE5MDA2 LkMJMjAyNS0wMi0yNyAxNDozNjoyOS4yNTEyMTgyNjAgKzAxMDAKLUBAIC0wLDAgKzEsMzYgQEAK LSsvLyBQUiBpcGEvMTE5MDA2Ci0rLy8geyBkZy1kbyBydW4geyB0YXJnZXQgYysrMTEgfSB9Ci0r Ly8geyBkZy1vcHRpb25zICItTzIgLWZ3aG9sZS1wcm9ncmFtIiB9Ci0rCi0rc3RydWN0IEEgewot KyAgYm9vbCBvcGVyYXRvcj09IChjb25zdCBjaGFyICp4KSBjb25zdCB7IHJldHVybiB4ICYmICFf X2J1aWx0aW5fc3RyY21wIChhLCB4KTsgfQotKyAgY2hhciBhWzExXTsKLSt9OwotKwotK3N0cnVj dCBCIHsKLSsgIGJvb2wgb3BlcmF0b3I9PSAoY29uc3QgY2hhciAqeCkgY29uc3QgeyByZXR1cm4g eCAmJiAhX19idWlsdGluX3N0cmNtcCAoYSwgeCk7IH0KLSsgIGJvb2wgb3BlcmF0b3IhPSAoY29u c3QgY2hhciAqeCkgY29uc3QgeyByZXR1cm4gISgqdGhpcyA9PSB4KTsgfQotKyAgY2hhciBhWzEy OF07Ci0rfTsKLSsKLStbW2dudTo6bm9pbmxpbmUsZ251Ojp1c2VkXV0gaW50Ci0rZm9vIChjb25z dCBBJiBsaHMsIGNvbnN0IGNoYXIqIHJocykKLSt7Ci0rICByZXR1cm4gbGhzID09IHJoczsKLSt9 Ci0rCi0rY29uc3RleHByIGNvbnN0IGNoYXIgKnQgPSAiYWJjZGVmZ2hpamtsbW5vIjsKLSsKLStb W2dudTo6bm9pbmxpbmUsZ251Ojp1c2VkXV0gdm9pZAotK2JhciAoQiB4KQotK3sKLSsgIGlmICh4 ICE9IHQpIF9fYnVpbHRpbl9hYm9ydCAoKTsKLSt9Ci0rCi0raW50Ci0rbWFpbiAoKQotK3sKLSsg IEIgYjsKLSsgIF9fYnVpbHRpbl9zdHJjcHkgKGIuYSwgdCk7Ci0rICBiYXIgKGIpOwotK30KCmRp ZmYgLS1naXQgYS9nY2MxNi1yaDE1NzQ5MzYucGF0Y2ggYi9nY2MxNi1yaDE1NzQ5MzYucGF0Y2gK ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGJjYzcwMDAuLjAwMDAwMDAKLS0tIGEvZ2Nj MTYtcmgxNTc0OTM2LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMjEgKzAsMCBAQAotY3J0IGZp bGVzIGFuZCBzdGF0aWNhbGx5IGxpbmtlZCBsaWJnY2Mgb2JqZWN0cyBjYXVzZSBmYWxzZSBwb3Np dGl2ZXMKLWluIGFubm9iaW4gY292ZXJhZ2UsIHNvIHdlIGFkZCB0aGUgYXNzZW1ibGVyIGZsYWcg dG8gZ2VuZXJhdGUgbm90ZXMKLWZvciB0aGVtLgotCi1UaGUgcGF0Y2ggYWxzbyBhZGRzIG5vdGVz IHRvIGxpYmdjY19zLnNvLCBidXQgdGhpcyBpcyBoYXJtbGVzcyBiZWNhdXNlCi10aGVzZSBub3Rl cyBvbmx5IGNvbmZlciB0aGF0IHRoZXJlIGlzIG5vIG90aGVyIGFubm9iaW4gbWFya3VwLgotCi0y MDE4LTA3LTI1ICBGbG9yaWFuIFdlaW1lciAgPGZ3ZWltZXJAcmVkaGF0LmNvbT4KLQotCSogY29u ZmlnL3QtbGludXggKExJQkdDQzJfQ0ZMQUdTLCBDUlRTVFVGRl9DRkxBR1MpOiBBZGQKLQktV2Es LS1nZW5lcmF0ZS1taXNzaW5nLWJ1aWxkLW5vdGVzPXllcy4KLQotLS0tIGxpYmdjYy9jb25maWcv dC1saW51eAkyMDIyLTEyLTE1IDE5OjI1OjIwLjU4MTM5NDk1MCArMDEwMAotKysrIGxpYmdjYy9j b25maWcvdC1saW51eAkyMDIzLTAzLTIxIDIyOjAwOjM3LjA1NDQ3ODU2MiArMDEwMAotQEAgLTEs MyArMSw2IEBACi0gIyBPdmVycmlkZSB0LXNsaWJnY2MtZWxmLXZlciB0byBleHBvcnQgc29tZSBs aWJnY2Mgc3ltYm9scyB3aXRoCi0gIyB0aGUgc3ltYm9sIHZlcnNpb25zIHRoYXQgZ2xpYmMgdXNl ZC4KLSBTSExJQl9NQVBGSUxFUyArPSAkKHNyY2RpcikvY29uZmlnL2xpYmdjYy1nbGliYy52ZXIK LSsKLStMSUJHQ0MyX0NGTEFHUyArPSAtV2EsLS1nZW5lcmF0ZS1taXNzaW5nLWJ1aWxkLW5vdGVz PXllcwotK0NSVFNUVUZGX0NGTEFHUyArPSAtV2EsLS1nZW5lcmF0ZS1taXNzaW5nLWJ1aWxkLW5v dGVzPXllcwoKZGlmZiAtLWdpdCBhL2djYzE2LXNwYXJjLWNvbmZpZy1kZXRlY3Rpb24ucGF0Y2gg Yi9nY2MxNi1zcGFyYy1jb25maWctZGV0ZWN0aW9uLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEw MDY0NAppbmRleCBiYmU4ZWMzLi4wMDAwMDAwCi0tLSBhL2djYzE2LXNwYXJjLWNvbmZpZy1kZXRl Y3Rpb24ucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw0MCArMCwwIEBACi0tLS0gZ2NjL2NvbmZp Zy5nY2MuamoJMjAwOC0wNC0yNCAxNTo0Mjo0Ni4wMDAwMDAwMDAgLTA1MDAKLSsrKyBnY2MvY29u ZmlnLmdjYwkyMDA4LTA0LTI0IDE1OjQ0OjUxLjAwMDAwMDAwMCAtMDUwMAotQEAgLTMzMzAsNyAr MzMzMCw3IEBAIHNwYXJjLSotcnRlbXMqKQotIAl0bV9maWxlPSIke3RtX2ZpbGV9IGVsZm9zLmgg c3BhcmMvc3lzdjQuaCBzcGFyYy9zcC1lbGYuaCBzcGFyYy9ydGVtc2VsZi5oIHJ0ZW1zLmggbmV3 bGliLXN0ZGludC5oIgotIAl0bWFrZV9maWxlPSIke3RtYWtlX2ZpbGV9IHNwYXJjL3Qtc3BhcmMg c3BhcmMvdC1ydGVtcyIKLSAJOzsKLS1zcGFyYy0qLWxpbnV4KikKLStzcGFyYy0qLWxpbnV4KiB8 IHNwYXJjdjktKi1saW51eCopCi0gCXRtX2ZpbGU9IiR7dG1fZmlsZX0gZWxmb3MuaCBzcGFyYy9z eXN2NC5oIGdudS11c2VyLmggbGludXguaCBnbGliYy1zdGRpbnQuaCBzcGFyYy90c28uaCIKLSAJ ZXh0cmFfb3B0aW9ucz0iJHtleHRyYV9vcHRpb25zfSBzcGFyYy9sb25nLWRvdWJsZS1zd2l0Y2gu b3B0IgotIAljYXNlICR7dGFyZ2V0fSBpbgotQEAgLTMzODQsNyArMzM4NCw3IEBAIHNwYXJjNjQt Ki1ydGVtcyopCi0gCWV4dHJhX29wdGlvbnM9IiR7ZXh0cmFfb3B0aW9uc30iCi0gCXRtYWtlX2Zp bGU9IiR7dG1ha2VfZmlsZX0gc3BhcmMvdC1zcGFyYyBzcGFyYy90LXJ0ZW1zLTY0IgotIAk7Owot LXNwYXJjNjQtKi1saW51eCopCi0rc3BhcmM2NCotKi1saW51eCopCi0gCXRtX2ZpbGU9InNwYXJj L2JpYXJjaDY0LmggJHt0bV9maWxlfSBlbGZvcy5oIHNwYXJjL3N5c3Y0LmggZ251LXVzZXIuaCBs aW51eC5oIGdsaWJjLXN0ZGludC5oIHNwYXJjL2RlZmF1bHQ2NC5oIHNwYXJjL2xpbnV4NjQuaCBz cGFyYy90c28uaCIKLSAJZXh0cmFfb3B0aW9ucz0iJHtleHRyYV9vcHRpb25zfSBzcGFyYy9sb25n LWRvdWJsZS1zd2l0Y2gub3B0IgotIAl0bWFrZV9maWxlPSIke3RtYWtlX2ZpbGV9IHNwYXJjL3Qt c3BhcmMgc3BhcmMvdC1saW51eDY0IgotLS0tIGxpYmdjYy9jb25maWcuaG9zdC5qagkyMDA4LTA0 LTI0IDE1OjQ2OjE5LjAwMDAwMDAwMCAtMDUwMAotKysrIGxpYmdjYy9jb25maWcuaG9zdAkyMDA4 LTA0LTI0IDE1OjQ2OjQ5LjAwMDAwMDAwMCAtMDUwMAotQEAgLTEwMDIsNyArMTAwMiw3IEBAIHNw YXJjLSotZWxmKikKLSAJdG1ha2VfZmlsZT0iJHt0bWFrZV9maWxlfSB0LWZkcGJpdCB0LWNydGZt IgotIAlleHRyYV9wYXJ0cz0iJGV4dHJhX3BhcnRzIGNydGkubyBjcnRuLm8gY3J0ZmFzdG1hdGgu byIKLSAJOzsKLS1zcGFyYy0qLWxpbnV4KikJCSMgU1BBUkMncyBydW5uaW5nIEdOVS9MaW51eCwg bGliYzYKLStzcGFyYy0qLWxpbnV4KiB8IHNwYXJjdjktKi1saW51eCopCQkjIFNQQVJDJ3MgcnVu bmluZyBHTlUvTGludXgsIGxpYmM2Ci0gCXRtYWtlX2ZpbGU9IiR7dG1ha2VfZmlsZX0gdC1jcnRm bSIKLSAJaWYgdGVzdCAiJHtob3N0X2FkZHJlc3N9IiA9IDY0OyB0aGVuCi0gCQl0bWFrZV9maWxl PSIkdG1ha2VfZmlsZSBzcGFyYy90LWxpbnV4NjQiCi1AQCAtMTA1MCw3ICsxMDUwLDcgQEAgc3Bh cmM2NC0qLWZyZWVic2QqfHVsdHJhc3BhcmMtKi1mcmVlYnNkKgotIAl0bWFrZV9maWxlPSIkdG1h a2VfZmlsZSB0LWNydGZtIgotIAlleHRyYV9wYXJ0cz0iJGV4dHJhX3BhcnRzIGNydGZhc3RtYXRo Lm8iCi0gCTs7Ci0tc3BhcmM2NC0qLWxpbnV4KikJCSMgNjQtYml0IFNQQVJDJ3MgcnVubmluZyBH TlUvTGludXgKLStzcGFyYzY0Ki0qLWxpbnV4KikJCSMgNjQtYml0IFNQQVJDJ3MgcnVubmluZyBH TlUvTGludXgKLSAJZXh0cmFfcGFydHM9IiRleHRyYV9wYXJ0cyBjcnRmYXN0bWF0aC5vIgotIAl0 bWFrZV9maWxlPSIke3RtYWtlX2ZpbGV9IHQtY3J0Zm0gc3BhcmMvdC1saW51eCIKLSAJaWYgdGVz dCAiJHtob3N0X2FkZHJlc3N9IiA9IDY0OyB0aGVuCgpkaWZmIC0tZ2l0IGEvZ2NjMTctV25vLWZv cm1hdC1zZWN1cml0eS5wYXRjaCBiL2djYzE3LVduby1mb3JtYXQtc2VjdXJpdHkucGF0Y2gKbmV3 IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmE0ZjBmMwotLS0gL2Rldi9udWxsCisr KyBiL2djYzE3LVduby1mb3JtYXQtc2VjdXJpdHkucGF0Y2gKQEAgLTAsMCArMSw2NiBAQAorMjAy Mi0wMS0wNyAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CisKKwkqIE1ha2VmaWxl LnRwbCAoR09DRkxBR1MsIEdEQ0ZMQUdTKTogRmlsdGVyIG91dCAtV2Zvcm1hdC1zZWN1cml0eS4K KwkqIE1ha2VmaWxlLmluOiBSZWdlbmVyYXRlZC4KKworMjAxNy0wMi0yNSAgSmFrdWIgSmVsaW5l ayAgPGpha3ViQHJlZGhhdC5jb20+CisKKwkqIGNvbmZpZ3VyZS5hYzogV2hlbiBhZGRpbmcgLVdu by1mb3JtYXQsIGFsc28gYWRkIC1Xbm8tZm9ybWF0LXNlY3VyaXR5LgorCSogY29uZmlndXJlOiBS ZWdlbmVyYXRlZC4KKworLS0tIGdjYy9jb25maWd1cmUuYWMuamoJMjAxNy0wMi0xMyAxMjoyMDo1 My4wMDAwMDAwMDAgKzAxMDAKKysrKyBnY2MvY29uZmlndXJlLmFjCTIwMjQtMTEtMzAgMTM6MzQ6 MTEuMTAwMjk2MjU2ICswMTAwCitAQCAtNTkyLDcgKzU5Miw3IEBAIEFDX0FSR19FTkFCTEUoYnVp bGQtZm9ybWF0LXdhcm5pbmdzLAorICAgQVNfSEVMUF9TVFJJTkcoWy0tZGlzYWJsZS1idWlsZC1m b3JtYXQtd2FybmluZ3NdLFtkb24ndCB1c2UgLVdmb3JtYXQgd2hpbGUgYnVpbGRpbmcgR0NDXSks CisgICBbXSxbZW5hYmxlX2J1aWxkX2Zvcm1hdF93YXJuaW5ncz15ZXNdKQorIEFTX0lGKFt0ZXN0 ICRlbmFibGVfYnVpbGRfZm9ybWF0X3dhcm5pbmdzID0gbm9dLAorLSAgICAgIFt3Zl9vcHQ9LVdu by1mb3JtYXRdLFt3Zl9vcHQ9XSkKKysgICAgICBbd2Zfb3B0PSItV25vLWZvcm1hdCAtV25vLWZv cm1hdC1zZWN1cml0eSJdLFt3Zl9vcHQ9XSkKKyBBQ1hfUFJPR19DWFhfV0FSTklOR19PUFRTKAor IAltNF9xdW90ZShtNF9kbyhbLVcgLVdhbGwgLVduby1lcnJvcj1uYXJyb3dpbmcgLVd3cml0ZS1z dHJpbmdzIF0sCisgCQkgICAgICAgWy1XY2FzdC1xdWFsICR3Zl9vcHRdKSksCistLS0gZ2NjL2Nv bmZpZ3VyZS5qagkyMDE3LTAyLTEzIDEyOjIwOjUyLjAwMDAwMDAwMCArMDEwMAorKysrIGdjYy9j b25maWd1cmUJMjAxNy0wMi0yNSAxMjo0Mjo1MC4wNDE5NDYzOTEgKzAxMDAKK0BAIC03MDc3LDcg KzcwNzcsNyBAQCBlbHNlCisgZmkKKyAKKyBpZiB0ZXN0ICRlbmFibGVfYnVpbGRfZm9ybWF0X3dh cm5pbmdzID0gbm87IHRoZW4gOgorLSAgd2Zfb3B0PS1Xbm8tZm9ybWF0CisrICB3Zl9vcHQ9Ii1X bm8tZm9ybWF0IC1Xbm8tZm9ybWF0LXNlY3VyaXR5IgorIGVsc2UKKyAgIHdmX29wdD0KKyBmaQor LS0tIE1ha2VmaWxlLnRwbC5qagkyMDIzLTExLTI5IDEzOjIxOjQxLjY4MDI5MjY2MiArMDEwMAor KysrIE1ha2VmaWxlLnRwbAkyMDI0LTExLTMwIDEzOjM1OjI5LjMwMzE5NjI0NiArMDEwMAorQEAg LTQ1MCwxMCArNDUwLDEwIEBAIExERkxBR1MgPSBATERGTEFHU0AKKyBMSUJDRkxBR1MgPSAkKENG TEFHUykKKyBDWFhGTEFHUyA9IEBDWFhGTEFHU0AKKyBMSUJDWFhGTEFHUyA9ICQoQ1hYRkxBR1Mp IC1mbm8taW1wbGljaXQtdGVtcGxhdGVzCistR09DRkxBR1MgPSAkKENGTEFHUykKKy1BNjhGTEFH UyA9IEBBNjhGTEFHU0AKKy1HRENGTEFHUyA9IEBHRENGTEFHU0AKKy1HTTJGTEFHUyA9ICQoQ0ZM QUdTKQorK0dPQ0ZMQUdTID0gJChmaWx0ZXItb3V0IC1XZm9ybWF0LXNlY3VyaXR5LCQoQ0ZMQUdT KSkKKytBNjhGTEFHUyA9ICQoZmlsdGVyLW91dCAtV2Zvcm1hdC1zZWN1cml0eSxAQTY4RkxBR1NA KQorK0dEQ0ZMQUdTID0gJChmaWx0ZXItb3V0IC1XZm9ybWF0LXNlY3VyaXR5LEBHRENGTEFHU0Ap CisrR00yRkxBR1MgPSAkKGZpbHRlci1vdXQgLVdmb3JtYXQtc2VjdXJpdHksJChDRkxBR1MpKQor IAorIENSQUIxX0xJQlMgPSBAQ1JBQjFfTElCU0AKKyAKKy0tLSBNYWtlZmlsZS5pbi5qagkyMDIz LTExLTI5IDEzOjIxOjQxLjY5MTI5MjUwNyArMDEwMAorKysrIE1ha2VmaWxlLmluCTIwMjQtMTEt MzAgMTM6MzY6MTIuMTEzNTk0MDc5ICswMTAwCitAQCAtNDQ3LDEwICs0NDcsMTAgQEAgTERGTEFH UyA9IEBMREZMQUdTQAorIExJQkNGTEFHUyA9ICQoQ0ZMQUdTKQorIENYWEZMQUdTID0gQENYWEZM QUdTQAorIExJQkNYWEZMQUdTID0gJChDWFhGTEFHUykgLWZuby1pbXBsaWNpdC10ZW1wbGF0ZXMK Ky1HT0NGTEFHUyA9ICQoQ0ZMQUdTKQorLUE2OEZMQUdTID0gQEE2OEZMQUdTQAorLUdEQ0ZMQUdT ID0gQEdEQ0ZMQUdTQAorLUdNMkZMQUdTID0gJChDRkxBR1MpCisrR09DRkxBR1MgPSAkKGZpbHRl ci1vdXQgLVdmb3JtYXQtc2VjdXJpdHksJChDRkxBR1MpKQorK0E2OEZMQUdTID0gJChmaWx0ZXIt b3V0IC1XZm9ybWF0LXNlY3VyaXR5LEBBNjhGTEFHU0ApCisrR0RDRkxBR1MgPSAkKGZpbHRlci1v dXQgLVdmb3JtYXQtc2VjdXJpdHksQEdEQ0ZMQUdTQCkKKytHTTJGTEFHUyA9ICQoZmlsdGVyLW91 dCAtV2Zvcm1hdC1zZWN1cml0eSwkKENGTEFHUykpCisgCisgQ1JBQjFfTElCUyA9IEBDUkFCMV9M SUJTQAorIAoKZGlmZiAtLWdpdCBhL2djYzE3LWQtc2hhcmVkLWxpYnBob2Jvcy5wYXRjaCBiL2dj YzE3LWQtc2hhcmVkLWxpYnBob2Jvcy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw MDAwMDAwLi42Mzg0YmJiCi0tLSAvZGV2L251bGwKKysrIGIvZ2NjMTctZC1zaGFyZWQtbGlicGhv Ym9zLnBhdGNoCkBAIC0wLDAgKzEsMjAgQEAKKzIwMTktMDEtMTcgIEpha3ViIEplbGluZWsgIDxq YWt1YkByZWRoYXQuY29tPgorCisJKiBkLXNwZWMuY2MgKGxhbmdfc3BlY2lmaWNfZHJpdmVyKTog TWFrZSAtc2hhcmVkLWxpYnBob2JvcworCXRoZSBkZWZhdWx0IHJhdGhlciB0aGFuIC1zdGF0aWMt bGlicGhvYm9zLgorCistLS0gZ2NjL2QvZC1zcGVjLmNjLmpqCTIwMTktMDEtMDEgMTI6Mzc6NDku NTAyNDQ0MjU3ICswMTAwCisrKysgZ2NjL2QvZC1zcGVjLmNjCTIwMTktMDEtMTcgMTc6MDk6NDUu MzY0OTQ5MjQ2ICswMTAwCitAQCAtNDA4LDkgKzQwOCw5IEBAIGxhbmdfc3BlY2lmaWNfZHJpdmVy IChjbF9kZWNvZGVkX29wdGlvbgorICAgLyogQWRkIGAtbGdwaG9ib3MnIGlmIHdlIGhhdmVuJ3Qg YWxyZWFkeSBkb25lIHNvLiAgKi8KKyAgIGlmIChwaG9ib3NfbGlicmFyeSAhPSBQSE9CT1NfTk9M SU5LKQorICAgICB7CistICAgICAgLyogRGVmYXVsdCB0byBzdGF0aWMgbGlua2luZy4gICovCist ICAgICAgaWYgKHBob2Jvc19saWJyYXJ5ICE9IFBIT0JPU19EWU5BTUlDKQorLQlwaG9ib3NfbGli cmFyeSA9IFBIT0JPU19TVEFUSUM7CisrICAgICAgLyogRGVmYXVsdCB0byBzaGFyZWQgbGlua2lu Zy4gICovCisrICAgICAgaWYgKHBob2Jvc19saWJyYXJ5ICE9IFBIT0JPU19TVEFUSUMpCisrCXBo b2Jvc19saWJyYXJ5ID0gUEhPQk9TX0RZTkFNSUM7CisgCisgI2lmZGVmIEhBVkVfTERfU1RBVElD X0RZTkFNSUMKKyAgICAgICBpZiAocGhvYm9zX2xpYnJhcnkgPT0gUEhPQk9TX1NUQVRJQyAmJiAh c3RhdGljX2xpbmspCgpkaWZmIC0tZ2l0IGEvZ2NjMTctZm9ydHJhbi1mZGVjLWR1cGxpY2F0ZXMu cGF0Y2ggYi9nY2MxNy1mb3J0cmFuLWZkZWMtZHVwbGljYXRlcy5wYXRjaApuZXcgZmlsZSBtb2Rl IDEwMDY0NAppbmRleCAwMDAwMDAwLi41Mjk4YmFhCi0tLSAvZGV2L251bGwKKysrIGIvZ2NjMTct Zm9ydHJhbi1mZGVjLWR1cGxpY2F0ZXMucGF0Y2gKQEAgLTAsMCArMSwyMTUgQEAKK0Zyb20gMjNi MWZjYjEwNGM2NjY0Mjk0NTFmZmFmOTM2ZjhkYTVmY2QzZDQzYSBNb24gU2VwIDE3IDAwOjAwOjAw IDIwMDEKK0Zyb206IE1hcmsgRWdnbGVzdG9uIDxtYXJrZWdnbGVzdG9uQGdjYy5nbnUub3JnPgor RGF0ZTogRnJpLCAyMiBKYW4gMjAyMSAxMjoyOTo0NyArMDAwMAorU3ViamVjdDogW1BBVENIIDAx LzEwXSBBbGxvdyBkdXBsaWNhdGUgZGVjbGFyYXRpb25zLgorCitFbmFibGVkIGJ5IC1mZGVjLWR1 cGxpY2F0ZXMgYW5kIC1mZGVjLgorCitTb21lIGZpeGVzIGJ5IEppbSBNYWNBcnRodXIgPGppbS5t YWNhcnRodXJAY29kZXRoaW5rLmNvLnVrPgorQWRkaXRpb24gb2YgLWZkZWMtZHVwbGljYXRlcyBi eSBNYXJrIEVnZ2xlc3RvbiA8bWFyay5lZ2dsZXN0b25AY29kZXRoaW5rLmNvbT4KKy0tLQorIGdj Yy9mb3J0cmFuL2xhbmcub3B0ICAgICAgICAgICAgICAgICAgICAgICAgICB8ICA0ICsrKysKKyBn Y2MvZm9ydHJhbi9vcHRpb25zLmNjICAgICAgICAgICAgICAgICAgICAgICAgfCAgMSArCisgZ2Nj L2ZvcnRyYW4vc3ltYm9sLmNjICAgICAgICAgICAgICAgICAgICAgICAgIHwgMjEgKysrKysrKysr KysrKysrKystLQorIC4uLi9nZm9ydHJhbi5kZy9kdXBsaWNhdGVfdHlwZV80LmY5MCAgICAgICAg ICB8IDEzICsrKysrKysrKysrKworIC4uLi9nZm9ydHJhbi5kZy9kdXBsaWNhdGVfdHlwZV81LmY5 MCAgICAgICAgICB8IDEzICsrKysrKysrKysrKworIC4uLi9nZm9ydHJhbi5kZy9kdXBsaWNhdGVf dHlwZV82LmY5MCAgICAgICAgICB8IDEzICsrKysrKysrKysrKworIC4uLi9nZm9ydHJhbi5kZy9k dXBsaWNhdGVfdHlwZV83LmY5MCAgICAgICAgICB8IDEzICsrKysrKysrKysrKworIC4uLi9nZm9y dHJhbi5kZy9kdXBsaWNhdGVfdHlwZV84LmY5MCAgICAgICAgICB8IDEyICsrKysrKysrKysrCisg Li4uL2dmb3J0cmFuLmRnL2R1cGxpY2F0ZV90eXBlXzkuZjkwICAgICAgICAgIHwgMTIgKysrKysr KysrKysKKyA5IGZpbGVzIGNoYW5nZWQsIDEwMCBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygt KQorIGNyZWF0ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL2R1cGxpY2F0 ZV90eXBlXzQuZjkwCisgY3JlYXRlIG1vZGUgMTAwNjQ0IGdjYy90ZXN0c3VpdGUvZ2ZvcnRyYW4u ZGcvZHVwbGljYXRlX3R5cGVfNS5mOTAKKyBjcmVhdGUgbW9kZSAxMDA2NDQgZ2NjL3Rlc3RzdWl0 ZS9nZm9ydHJhbi5kZy9kdXBsaWNhdGVfdHlwZV82LmY5MAorIGNyZWF0ZSBtb2RlIDEwMDY0NCBn Y2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL2R1cGxpY2F0ZV90eXBlXzcuZjkwCisgY3JlYXRlIG1v ZGUgMTAwNjQ0IGdjYy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvZHVwbGljYXRlX3R5cGVfOC5mOTAK KyBjcmVhdGUgbW9kZSAxMDA2NDQgZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9kdXBsaWNhdGVf dHlwZV85LmY5MAorCitkaWZmIC0tZ2l0IGEvZ2NjL2ZvcnRyYW4vbGFuZy5vcHQgYi9nY2MvZm9y dHJhbi9sYW5nLm9wdAoraW5kZXggMmIxOTc3YzUyM2IuLjUyYmQ1MjIwNTFlIDEwMDY0NAorLS0t IGEvZ2NjL2ZvcnRyYW4vbGFuZy5vcHQKKysrKyBiL2djYy9mb3J0cmFuL2xhbmcub3B0CitAQCAt NDY5LDYgKzQ2OSwxMCBAQCBGb3J0cmFuIFZhcihmbGFnX2RlY19jaGFyX2NvbnZlcnNpb25zKQor IEVuYWJsZSB0aGUgdXNlIG9mIGNoYXJhY3RlciBsaXRlcmFscyBpbiBhc3NpZ25tZW50cyBhbmQg ZGF0YSBzdGF0ZW1lbnRzCisgZm9yIG5vbi1jaGFyYWN0ZXIgdmFyaWFibGVzLgorIAorK2ZkZWMt ZHVwbGljYXRlcworK0ZvcnRyYW4gVmFyKGZsYWdfZGVjX2R1cGxpY2F0ZXMpCisrQWxsb3cgdmFy aWJsZXMgdG8gYmUgZHVwbGljYXRlZCBpbiB0aGUgdHlwZSBzcGVjaWZpY2F0aW9uIG1hdGNoZXMu CisrCisgZmRlYy1pbmNsdWRlCisgRm9ydHJhbiBWYXIoZmxhZ19kZWNfaW5jbHVkZSkKKyBFbmFi bGUgbGVnYWN5IHBhcnNpbmcgb2YgSU5DTFVERSBhcyBzdGF0ZW1lbnQuCitkaWZmIC0tZ2l0IGEv Z2NjL2ZvcnRyYW4vb3B0aW9ucy5jYyBiL2djYy9mb3J0cmFuL29wdGlvbnMuY2MKK2luZGV4IDNh MGI5OGJmMWVjLi5mMTliYTg3ZjhhMCAxMDA2NDQKKy0tLSBhL2djYy9mb3J0cmFuL29wdGlvbnMu Y2MKKysrKyBiL2djYy9mb3J0cmFuL29wdGlvbnMuY2MKK0BAIC03Nyw2ICs3Nyw3IEBAIHNldF9k ZWNfZmxhZ3MgKGludCB2YWx1ZSkKKyAgIFNFVF9CSVRGTEFHIChmbGFnX2RlY19mb3JtYXRfZGVm YXVsdHMsIHZhbHVlLCB2YWx1ZSk7CisgICBTRVRfQklURkxBRyAoZmxhZ19kZWNfYmxhbmtfZm9y bWF0X2l0ZW0sIHZhbHVlLCB2YWx1ZSk7CisgICBTRVRfQklURkxBRyAoZmxhZ19kZWNfY2hhcl9j b252ZXJzaW9ucywgdmFsdWUsIHZhbHVlKTsKKysgIFNFVF9CSVRGTEFHIChmbGFnX2RlY19kdXBs aWNhdGVzLCB2YWx1ZSwgdmFsdWUpOworIH0KKyAKKyAvKiBGaW5hbGl6ZSBERUMgZmxhZ3MuICAq LworZGlmZiAtLWdpdCBhL2djYy9mb3J0cmFuL3N5bWJvbC5jYyBiL2djYy9mb3J0cmFuL3N5bWJv bC5jYworaW5kZXggM2I5ODhkMWJlMjIuLjk4NDMxNzVjYzJhIDEwMDY0NAorLS0tIGEvZ2NjL2Zv cnRyYW4vc3ltYm9sLmNjCisrKysgYi9nY2MvZm9ydHJhbi9zeW1ib2wuY2MKK0BAIC0xOTk1LDYg KzE5OTUsOCBAQCBnZmNfYWRkX3R5cGUgKGdmY19zeW1ib2wgKnN5bSwgZ2ZjX3R5cGVzcGVjICp0 cywgbG9jdXMgKndoZXJlKQorICAgaWYgKHN5bS0+YXR0ci5yZXN1bHQgJiYgdHlwZSA9PSBCVF9V TktOT1dOICYmIHN5bS0+bnMtPnByb2NfbmFtZSkKKyAgICAgdHlwZSA9IHN5bS0+bnMtPnByb2Nf bmFtZS0+dHMudHlwZTsKKyAKKysgIGZsYXZvciA9IHN5bS0+YXR0ci5mbGF2b3I7CisrCisgICBp ZiAodHlwZSAhPSBCVF9VTktOT1dOICYmICEoc3ltLT5hdHRyLmZ1bmN0aW9uICYmIHN5bS0+YXR0 ci5pbXBsaWNpdF90eXBlKQorICAgICAgICYmICEoZ2ZjX3N0YXRlX3N0YWNrLT5wcmV2aW91cyAm JiBnZmNfc3RhdGVfc3RhY2stPnByZXZpb3VzLT5wcmV2aW91cworIAkgICAmJiBnZmNfc3RhdGVf c3RhY2stPnByZXZpb3VzLT5wcmV2aW91cy0+c3RhdGUgPT0gQ09NUF9TVUJNT0RVTEUpCitAQCAt MjAwNyw2ICsyMDA5LDIzIEBAIGdmY19hZGRfdHlwZSAoZ2ZjX3N5bWJvbCAqc3ltLCBnZmNfdHlw ZXNwZWMgKnRzLCBsb2N1cyAqd2hlcmUpCisgICAgICAgZWxzZSBpZiAoc3ltLT5hdHRyLmZ1bmN0 aW9uICYmIHN5bS0+YXR0ci5yZXN1bHQpCisgCWdmY19lcnJvciAoIlN5bWJvbCAlcXMgYXQgJUwg YWxyZWFkeSBoYXMgYmFzaWMgdHlwZSBvZiAlcyIsCisgCQkgICBzeW0tPm5zLT5wcm9jX25hbWUt Pm5hbWUsIHdoZXJlLCBnZmNfYmFzaWNfdHlwZW5hbWUgKHR5cGUpKTsKKysgICAgICBlbHNlIGlm IChmbGFnX2RlY19kdXBsaWNhdGVzKQorKwl7CisrCSAgLyogSWdub3JlIHRlbXBvcmFyaWVzIGFu ZCBjbGFzcy9wcm9jZWR1cmUgbmFtZXMgKi8KKysJICBpZiAoc3ltLT50cy50eXBlID09IEJUX0RF UklWRUQgfHwgc3ltLT50cy50eXBlID09IEJUX0NMQVNTCisrCSAgICAgIHx8IHN5bS0+dHMudHlw ZSA9PSBCVF9QUk9DRURVUkUpCisrCSAgICByZXR1cm4gZmFsc2U7CisrCisrCSAgaWYgKGdmY19j b21wYXJlX3R5cGVzICgmc3ltLT50cywgdHMpCisrCSAgICAgICYmIChmbGF2b3IgPT0gRkxfVU5L Tk9XTiB8fCBmbGF2b3IgPT0gRkxfVkFSSUFCTEUKKysJICAgICAgfHwgZmxhdm9yID09IEZMX1BS T0NFRFVSRSkpCisrCSAgICB7CisrCSAgICAgIHJldHVybiBnZmNfbm90aWZ5X3N0ZCAoR0ZDX1NU RF9MRUdBQ1ksCisrCQkJCSAgICAgIlN5bWJvbCAnJXFzJyBhdCAlTCBhbHJlYWR5IGhhcyAiCisr CQkJCSAgICAgImJhc2ljIHR5cGUgb2YgJXMiLCBzeW0tPm5hbWUsIHdoZXJlLAorKwkJCQkgICAg IGdmY19iYXNpY190eXBlbmFtZSAodHlwZSkpOworKwkgICAgfQorKwl9CisgICAgICAgZWxzZQor IAlnZmNfZXJyb3IgKCJTeW1ib2wgJXFzIGF0ICVMIGFscmVhZHkgaGFzIGJhc2ljIHR5cGUgb2Yg JXMiLCBzeW0tPm5hbWUsCisgCQkgICB3aGVyZSwgZ2ZjX2Jhc2ljX3R5cGVuYW1lICh0eXBlKSk7 CitAQCAtMjAyMCw4ICsyMDM5LDYgQEAgZ2ZjX2FkZF90eXBlIChnZmNfc3ltYm9sICpzeW0sIGdm Y190eXBlc3BlYyAqdHMsIGxvY3VzICp3aGVyZSkKKyAgICAgICByZXR1cm4gZmFsc2U7CisgICAg IH0KKyAKKy0gIGZsYXZvciA9IHN5bS0+YXR0ci5mbGF2b3I7CistCisgICBpZiAoZmxhdm9yID09 IEZMX1BST0dSQU0gfHwgZmxhdm9yID09IEZMX0JMT0NLX0RBVEEgfHwgZmxhdm9yID09IEZMX01P RFVMRQorICAgICAgIHx8IGZsYXZvciA9PSBGTF9MQUJFTAorICAgICAgIHx8IChmbGF2b3IgPT0g RkxfUFJPQ0VEVVJFICYmIHN5bS0+YXR0ci5zdWJyb3V0aW5lKQorZGlmZiAtLWdpdCBhL2djYy90 ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvZHVwbGljYXRlX3R5cGVfNC5mOTAgYi9nY2MvdGVzdHN1aXRl L2dmb3J0cmFuLmRnL2R1cGxpY2F0ZV90eXBlXzQuZjkwCituZXcgZmlsZSBtb2RlIDEwMDY0NAor aW5kZXggMDAwMDAwMDAwMDAuLmNkZDI5ZWE4ODQ2CistLS0gL2Rldi9udWxsCisrKysgYi9nY2Mv dGVzdHN1aXRlL2dmb3J0cmFuLmRnL2R1cGxpY2F0ZV90eXBlXzQuZjkwCitAQCAtMCwwICsxLDEz IEBACisrISB7IGRnLWRvIGNvbXBpbGUgfQorKyEgeyBkZy1vcHRpb25zICItc3RkPWY5NSIgfQor KworKyEgUFIgZm9ydHJhbi8zMDIzOQorKyEgQ2hlY2sgZm9yIGVycm9ycyB3aGVuIGEgc3ltYm9s IGdldHMgZGVjbGFyZWQgYSB0eXBlIHR3aWNlLCBldmVuIGlmIGl0CisrISBpcyB0aGUgc2FtZS4K KysKKytJTlRFR0VSIEZVTkNUSU9OIGZvbyAoKQorKyAgSU1QTElDSVQgTk9ORQorKyAgSU5URUdF UiA6OiB4CisrICBJTlRFR0VSIDo6IHggISB7IGRnLWVycm9yICJiYXNpYyB0eXBlIG9mIiB9Cisr ICB4ID0gNDIKKytFTkQgRlVOQ1RJT04gZm9vCitkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9n Zm9ydHJhbi5kZy9kdXBsaWNhdGVfdHlwZV81LmY5MCBiL2djYy90ZXN0c3VpdGUvZ2ZvcnRyYW4u ZGcvZHVwbGljYXRlX3R5cGVfNS5mOTAKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAw MDAwMDAwMC4uMDBmOTMxODA5YWEKKy0tLSAvZGV2L251bGwKKysrKyBiL2djYy90ZXN0c3VpdGUv Z2ZvcnRyYW4uZGcvZHVwbGljYXRlX3R5cGVfNS5mOTAKK0BAIC0wLDAgKzEsMTMgQEAKKyshIHsg ZGctZG8gcnVuIH0KKyshIHsgZGctb3B0aW9ucyAiLWZkZWMiIH0KKyshCisrISBUZXN0IGNhc2Ug Y29udHJpYnV0ZWQgYnkgTWFyayBFZ2dsZXN0b24gPG1hcmsuZWdnbGVzdG9uQGNvZGV0aGluay5j b20+CisrIQorKworK3Byb2dyYW0gdGVzdAorKyAgaW1wbGljaXQgbm9uZQorKyAgaW50ZWdlciA6 OiB4CisrICBpbnRlZ2VyIDo6IHgKKysgIHggPSA0MgorKyAgaWYgKHggLz0gNDIpIHN0b3AgMQor K2VuZCBwcm9ncmFtIHRlc3QKK2RpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRn L2R1cGxpY2F0ZV90eXBlXzYuZjkwIGIvZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9kdXBsaWNh dGVfdHlwZV82LmY5MAorbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAwMDAwLi5m MGRmMjdlMzIzYworLS0tIC9kZXYvbnVsbAorKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5k Zy9kdXBsaWNhdGVfdHlwZV82LmY5MAorQEAgLTAsMCArMSwxMyBAQAorKyEgeyBkZy1kbyBydW4g fQorKyEgeyBkZy1vcHRpb25zICItc3RkPWxlZ2FjeSAtZmRlYy1kdXBsaWNhdGVzIiB9CisrIQor KyEgVGVzdCBjYXNlIGNvbnRyaWJ1dGVkIGJ5IE1hcmsgRWdnbGVzdG9uIDxtYXJrLmVnZ2xlc3Rv bkBjb2RldGhpbmsuY29tPgorKyEKKysKKytwcm9ncmFtIHRlc3QKKysgIGltcGxpY2l0IG5vbmUK KysgIGludGVnZXIgOjogeAorKyAgaW50ZWdlciA6OiB4CisrICB4ID0gNDIKKysgIGlmICh4IC89 IDQyKSBzdG9wIDEKKytlbmQgcHJvZ3JhbSB0ZXN0CitkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0 ZS9nZm9ydHJhbi5kZy9kdXBsaWNhdGVfdHlwZV83LmY5MCBiL2djYy90ZXN0c3VpdGUvZ2ZvcnRy YW4uZGcvZHVwbGljYXRlX3R5cGVfNy5mOTAKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAw MDAwMDAwMDAwMC4uZjMyNDcyZmY1ODYKKy0tLSAvZGV2L251bGwKKysrKyBiL2djYy90ZXN0c3Vp dGUvZ2ZvcnRyYW4uZGcvZHVwbGljYXRlX3R5cGVfNy5mOTAKK0BAIC0wLDAgKzEsMTMgQEAKKysh IHsgZGctZG8gcnVuIH0KKyshIHsgZGctb3B0aW9ucyAiLWZkZWMtZHVwbGljYXRlcyIgfQorKyEK KyshIFRlc3QgY2FzZSBjb250cmlidXRlZCBieSBNYXJrIEVnZ2xlc3RvbiA8bWFyay5lZ2dsZXN0 b25AY29kZXRoaW5rLmNvbT4KKyshCisrCisrcHJvZ3JhbSB0ZXN0CisrICBpbXBsaWNpdCBub25l CisrICBpbnRlZ2VyIDo6IHgKKysgIGludGVnZXIgOjogeCEgeyBkZy13YXJuaW5nICJMZWdhY3kg RXh0ZW5zaW9uIiB9CisrICB4ID0gNDIKKysgIGlmICh4IC89IDQyKSBzdG9wIDEKKytlbmQgcHJv Z3JhbSB0ZXN0CitkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9kdXBsaWNh dGVfdHlwZV84LmY5MCBiL2djYy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvZHVwbGljYXRlX3R5cGVf OC5mOTAKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwMDAwMC4uMjNjOTRhZGQx NzkKKy0tLSAvZGV2L251bGwKKysrKyBiL2djYy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvZHVwbGlj YXRlX3R5cGVfOC5mOTAKK0BAIC0wLDAgKzEsMTIgQEAKKyshIHsgZGctZG8gY29tcGlsZSB9Cisr ISB7IGRnLW9wdGlvbnMgIi1mZGVjIC1mbm8tZGVjLWR1cGxpY2F0ZXMiIH0KKyshCisrISBUZXN0 IGNhc2UgY29udHJpYnV0ZWQgYnkgTWFyayBFZ2dsZXN0b24gPG1hcmsuZWdnbGVzdG9uQGNvZGV0 aGluay5jb20+CisrIQorKworK2ludGVnZXIgZnVuY3Rpb24gZm9vICgpCisrICBpbXBsaWNpdCBu b25lCisrICBpbnRlZ2VyIDo6IHgKKysgIGludGVnZXIgOjogeCAhIHsgZGctZXJyb3IgImJhc2lj IHR5cGUgb2YiIH0KKysgIHggPSA0MgorK2VuZCBmdW5jdGlvbiBmb28KK2RpZmYgLS1naXQgYS9n Y2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL2R1cGxpY2F0ZV90eXBlXzkuZjkwIGIvZ2NjL3Rlc3Rz dWl0ZS9nZm9ydHJhbi5kZy9kdXBsaWNhdGVfdHlwZV85LmY5MAorbmV3IGZpbGUgbW9kZSAxMDA2 NDQKK2luZGV4IDAwMDAwMDAwMDAwLi5kNWVkZWU0ZDhlZQorLS0tIC9kZXYvbnVsbAorKysrIGIv Z2NjL3Rlc3RzdWl0ZS9nZm9ydHJhbi5kZy9kdXBsaWNhdGVfdHlwZV85LmY5MAorQEAgLTAsMCAr MSwxMiBAQAorKyEgeyBkZy1kbyBjb21waWxlIH0KKyshIHsgZGctb3B0aW9ucyAiLWZkZWMtZHVw bGljYXRlcyAtZm5vLWRlYy1kdXBsaWNhdGVzIiB9CisrIQorKyEgVGVzdCBjYXNlIGNvbnRyaWJ1 dGVkIGJ5IE1hcmsgRWdnbGVzdG9uIDxtYXJrLmVnZ2xlc3RvbkBjb2RldGhpbmsuY29tPgorKyEK KysKKytpbnRlZ2VyIGZ1bmN0aW9uIGZvbyAoKQorKyAgaW1wbGljaXQgbm9uZQorKyAgaW50ZWdl ciA6OiB4CisrICBpbnRlZ2VyIDo6IHggISB7IGRnLWVycm9yICJiYXNpYyB0eXBlIG9mIiB9Cisr ICB4ID0gNDIKKytlbmQgZnVuY3Rpb24gZm9vCistLSAKKzIuMjcuMAorCgpkaWZmIC0tZ2l0IGEv Z2NjMTctaGFjay5wYXRjaCBiL2djYzE3LWhhY2sucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQK aW5kZXggMDAwMDAwMC4uNjEzMzFiZgotLS0gL2Rldi9udWxsCisrKyBiL2djYzE3LWhhY2sucGF0 Y2gKQEAgLTAsMCArMSwxODIgQEAKKy0tLSBsaWJhZGEvTWFrZWZpbGUuaW4uamoJMjAxOS0wMS0w OSAxMzowMToxOC4wMTU2MDgyMDUgKzAxMDAKKysrKyBsaWJhZGEvTWFrZWZpbGUuaW4JMjAxOS0w MS0xMSAxODoxNjoyMy40NDE3MjY5MzEgKzAxMDAKK0BAIC03MSwxOCArNzEsNDAgQEAgdmVyc2lv biA6PSAkKHNoZWxsIEBnZXRfZ2NjX2Jhc2VfdmVyQCAkKAorIGxpYnN1YmRpciA6PSAkKGxpYmRp cikvZ2NjLyQodGFyZ2V0X25vbmNhbm9uaWNhbCkvJCh2ZXJzaW9uKSQoTVVMVElTVUJESVIpCisg QURBX1JUU19ESVI9JChHQ0NfRElSKS9hZGEvcnRzJChzdWJzdCAvLF8sJChNVUxUSVNVQkRJUikp CisgCisrREVGQVVMVE1VTFRJRkxBR1MgOj0KKytpZmVxICgkKE1VTFRJU1VCRElSKSwpCisrdGFy Zzo9JChzdWJzdCAtLCAsJCh0YXJnZXQpKQorK2FyY2g6PSQod29yZCAxLCQodGFyZykpCisraWZl cSAoJCh3b3JkcyAkKHRhcmcpKSwyKQorK29zeXM6PSQod29yZCAyLCQodGFyZykpCisrZWxzZQor K29zeXM6PSQod29yZCAzLCQodGFyZykpCisrZW5kaWYKKytpZmVxICgkKHN0cmlwICQoZmlsdGVy LW91dCBpJTg2IHg4Nl82NCBwb3dlcnBjJSBwcGMlIHMzOTAlIHNwYXJjJSBsaW51eCUsICQoYXJj aCkgJChvc3lzKSkpLCkKKytpZmVxICgkKHNoZWxsICQoQ0MpICQoQ0ZMQUdTKSAtcHJpbnQtbXVs dGktb3MtZGlyZWN0b3J5KSwuLi9saWI2NCkKKytERUZBVUxUTVVMVElGTEFHUyA6PSAtbTY0Cisr ZWxzZQorK2lmZXEgKCQoc3RyaXAgJChmaWx0ZXItb3V0IHMzOTAlLCAkKGFyY2gpKSksKQorK0RF RkFVTFRNVUxUSUZMQUdTIDo9IC1tMzEKKytlbHNlCisrREVGQVVMVE1VTFRJRkxBR1MgOj0gLW0z MgorK2VuZGlmCisrZW5kaWYKKytlbmRpZgorK2VuZGlmCisrCisgIyBleGVleHQgc2hvdWxkIG5v dCBiZSB1c2VkIGJlY2F1c2UgaXQncyB0aGUgKmhvc3QqIGV4ZWV4dC4gIFdlJ3JlIGJ1aWxkaW5n CisgIyBhICp0YXJnZXQqIGxpYnJhcnksIGFyZW4ndCB3ZT8hPyAgTGlrZXdpc2UgZm9yIENDLiAg U3RpbGwsIHByb3ZpZGUgYm9ndXMKKyAjIGRlZmluaXRpb25zIGp1c3QgaW4gY2FzZSBzb21ldGhp bmcgc2xpcHMgdGhyb3VnaCB0aGUgc2FmZXR5IG5ldCBwcm92aWRlZAorICMgYnkgcmVjdXJzaXZl IG1ha2UgaW52b2NhdGlvbnMgaW4gZ2NjL2FkYS9NYWtlZmlsZS5pbgorIExJQkFEQV9GTEFHU19U T19QQVNTID0gXAorICAgICAgICAgIk1BS0VPVkVSUklERVM9IiBcCistICAgICAgICAiTERGTEFH Uz0kKExERkxBR1MpIiBcCisrICAgICAgICAiTERGTEFHUz0kKExERkxBR1MpICQoREVGQVVMVE1V TFRJRkxBR1MpIiBcCisgICAgICAgICAiTE5fUz0kKExOX1MpIiBcCisgICAgICAgICAiU0hFTEw9 JChTSEVMTCkiIFwKKy0gICAgICAgICJHTkFUTElCRkxBR1M9JChHTkFUTElCRkxBR1MpICQoTVVM VElGTEFHUykiIFwKKy0gICAgICAgICJHTkFUTElCQ0ZMQUdTPSQoR05BVExJQkNGTEFHUykgJChN VUxUSUZMQUdTKSIgXAorLSAgICAgICAgIkdOQVRMSUJDRkxBR1NfRk9SX0M9JChHTkFUTElCQ0ZM QUdTX0ZPUl9DKSAkKE1VTFRJRkxBR1MpIiBcCisrICAgICAgICAiR05BVExJQkZMQUdTPSQoR05B VExJQkZMQUdTKSAkKE1VTFRJRkxBR1MpICQoREVGQVVMVE1VTFRJRkxBR1MpIiBcCisrICAgICAg ICAiR05BVExJQkNGTEFHUz0kKEdOQVRMSUJDRkxBR1MpICQoTVVMVElGTEFHUykgJChERUZBVUxU TVVMVElGTEFHUykiIFwKKysgICAgICAgICJHTkFUTElCQ0ZMQUdTX0ZPUl9DPSQoR05BVExJQkNG TEFHU19GT1JfQykgJChNVUxUSUZMQUdTKSAkKERFRkFVTFRNVUxUSUZMQUdTKSIgXAorICAgICAg ICAgIlBJQ0ZMQUdfRk9SX1RBUkdFVD0kKFBJQ0ZMQUcpIiBcCisgICAgICAgICAiVEhSRUFEX0tJ TkQ9JChUSFJFQURfS0lORCkiIFwKKyAgICAgICAgICJUUkFDRT0kKFRSQUNFKSIgXAorQEAgLTkz LDcgKzExNSw3IEBAIExJQkFEQV9GTEFHU19UT19QQVNTID0gXAorICAgICAgICAgImV4ZWV4dD0u ZXhlZXh0LnNob3VsZC5ub3QuYmUudXNlZCAiIFwKKyAJJ0NDPXRoZS5ob3N0LmNvbXBpbGVyLnNo b3VsZC5ub3QuYmUubmVlZGVkJyBcCisgCSJHQ0NfRk9SX1RBUkdFVD0kKENDKSIgXAorLSAgICAg ICAgIkNGTEFHUz0kKENGTEFHUykiCisrICAgICAgICAiQ0ZMQUdTPSQoQ0ZMQUdTKSAkKERFRkFV TFRNVUxUSUZMQUdTKSIKKyAKKyAuUEhPTlk6IGxpYmFkYSBnbmF0bGliIGduYXRsaWItc2hhcmVk IGduYXRsaWItc2psaiBnbmF0bGliLXpjeCBvc2NvbnN0b29sCisgCistLS0gY29uZmlnLW1sLmlu LmpqCTIwMTktMDEtMDkgMTI6NTA6MTYuNjQ2NTAxNDQ4ICswMTAwCisrKysgY29uZmlnLW1sLmlu CTIwMTktMDEtMTEgMTg6MTY6MjMuNDQyNzI2OTE0ICswMTAwCitAQCAtNTExLDYgKzUxMSw4IEBA IG11bHRpLWRvOgorIAkJCQlBREFGTEFHUz0iJChBREFGTEFHUykgJCR7ZmxhZ3N9IiBcCisgCQkJ CXByZWZpeD0iJChwcmVmaXgpIiBcCisgCQkJCWV4ZWNfcHJlZml4PSIkKGV4ZWNfcHJlZml4KSIg XAorKwkJCQltYW5kaXI9IiQobWFuZGlyKSIgXAorKwkJCQlpbmZvZGlyPSIkKGluZm9kaXIpIiBc CisgCQkJCUdPQ0ZMQUdTPSIkKEdPQ0ZMQUdTKSAkJHtmbGFnc30iIFwKKyAJCQkJR0RDRkxBR1M9 IiQoR0RDRkxBR1MpICQke2ZsYWdzfSIgXAorIAkJCQlBNjhGTEFHUz0iJChBNjhGTEFHUykgJCR7 ZmxhZ3N9IiBcCistLS0gbGliY3BwL21hY3JvLmNjLmpqCTIwMTktMDEtMDkgMTM6MDE6MjEuNDIw NTUyMTIzICswMTAwCisrKysgbGliY3BwL21hY3JvLmNjCTIwMjQtMTEtMzAgMTM6MTY6NDEuMTYz MDU2MzkxICswMTAwCitAQCAtMzY4MCw4ICszNjgwLDYgQEAgc3RhdGljIGNwcF9tYWNybyAqCisg Y3JlYXRlX2lzb19kZWZpbml0aW9uIChjcHBfcmVhZGVyICpwZmlsZSkKKyB7CisgICBib29sIGZv bGxvd2luZ19wYXN0ZV9vcCA9IGZhbHNlOworLSAgY29uc3QgY2hhciAqcGFzdGVfb3BfZXJyb3Jf bXNnID0KKy0gICAgTl8oIiU8IyMlPiBjYW5ub3QgYXBwZWFyIGF0IGVpdGhlciBlbmQgb2YgYSBt YWNybyBleHBhbnNpb24iKTsKKyAgIHVuc2lnbmVkIGludCBudW1fZXh0cmFfdG9rZW5zID0gMDsK KyAgIHVuc2lnbmVkIG5wYXJtcyA9IDA7CisgICBjcHBfaGFzaG5vZGUgKipwYXJhbXMgPSBOVUxM OworQEAgLTM4MDksNyArMzgwNyw5IEBAIGNyZWF0ZV9pc29fZGVmaW5pdGlvbiAoY3BwX3JlYWRl ciAqcGZpbGUKKyAJICAgICBmdW5jdGlvbi1saWtlIG1hY3JvcywgYnV0IG5vdCBhdCB0aGUgZW5k LiAgKi8KKyAJICBpZiAoZm9sbG93aW5nX3Bhc3RlX29wKQorIAkgICAgeworLQkgICAgICBjcHBf ZXJyb3IgKHBmaWxlLCBDUFBfRExfRVJST1IsIHBhc3RlX29wX2Vycm9yX21zZyk7CisrCSAgICAg IGNwcF9lcnJvciAocGZpbGUsIENQUF9ETF9FUlJPUiwKKysJCQkgIiU8IyMlPiBjYW5ub3QgYXBw ZWFyIGF0IGVpdGhlciBlbmQgb2YgYSBtYWNybyAiCisrCQkJICJleHBhbnNpb24iKTsKKyAJICAg ICAgZ290byBvdXQ7CisgCSAgICB9CisgCSAgaWYgKCF2YW9wdF90cmFja2VyLmNvbXBsZXRlZCAo KSkKK0BAIC0zODI0LDcgKzM4MjQsOSBAQCBjcmVhdGVfaXNvX2RlZmluaXRpb24gKGNwcF9yZWFk ZXIgKnBmaWxlCisgCSAgICAgZnVuY3Rpb24tbGlrZSBtYWNyb3MsIGJ1dCBub3QgYXQgdGhlIGJl Z2lubmluZy4gICovCisgCSAgaWYgKG1hY3JvLT5jb3VudCA9PSAxKQorIAkgICAgeworLQkgICAg ICBjcHBfZXJyb3IgKHBmaWxlLCBDUFBfRExfRVJST1IsIHBhc3RlX29wX2Vycm9yX21zZyk7Cisr CSAgICAgIGNwcF9lcnJvciAocGZpbGUsIENQUF9ETF9FUlJPUiwKKysJCQkgIiU8IyMlPiBjYW5u b3QgYXBwZWFyIGF0IGVpdGhlciBlbmQgb2YgYSBtYWNybyAiCisrCQkJICJleHBhbnNpb24iKTsK KyAJICAgICAgZ290byBvdXQ7CisgCSAgICB9CisgCistLS0gbGliY3BwL2V4cHIuY2MuamoJMjAx OS0wMS0wOSAxMzowMToyMi40MTU1MzU3MzQgKzAxMDAKKysrKyBsaWJjcHAvZXhwci5jYwkyMDI0 LTExLTMwIDEzOjE0OjUyLjQ2ODU4MzY4OSArMDEwMAorQEAgLTg3NCw1MCArODc0LDU0IEBAIGNw cF9jbGFzc2lmeV9udW1iZXIgKGNwcF9yZWFkZXIgKnBmaWxlLAorICAgICAgIGlmICgocmVzdWx0 ICYgQ1BQX05fV0lEVEgpID09IENQUF9OX0xBUkdFCisgCSAgJiYgQ1BQX09QVElPTiAocGZpbGUs IGNwcF93YXJuX2xvbmdfbG9uZykpCisgICAgICAgICB7CistICAgICAgICAgIGNvbnN0IGNoYXIg Km1lc3NhZ2UgPSBDUFBfT1BUSU9OIChwZmlsZSwgY3BsdXNwbHVzKQorLQkJCQk/IE5fKCJ1c2Ug b2YgQysrMTEgbG9uZyBsb25nIGludGVnZXIgY29uc3RhbnQiKQorLQkJICAgICAgICAgICAgICAg IDogTl8oInVzZSBvZiBDOTkgbG9uZyBsb25nIGludGVnZXIgY29uc3RhbnQiKTsKKy0KKyAJICBp ZiAoQ1BQX09QVElPTiAocGZpbGUsIGM5OSkpCistICAgICAgICAgICAgY3BwX3dhcm5pbmdfd2l0 aF9saW5lIChwZmlsZSwgQ1BQX1dfTE9OR19MT05HLCB2aXJ0dWFsX2xvY2F0aW9uLAorLQkJCQkg ICAwLCBtZXNzYWdlKTsKKysgICAgICAgICAgICBjcHBfd2FybmluZ193aXRoX2xpbmUgKHBmaWxl LCBDUFBfV19MT05HX0xPTkcsIHZpcnR1YWxfbG9jYXRpb24sIDAsCisrCQkJCSAgIENQUF9PUFRJ T04gKHBmaWxlLCBjcGx1c3BsdXMpCisrCQkJCSAgID8gTl8oInVzZSBvZiBDKysxMSBsb25nIGxv bmcgaW50ZWdlciAiCisrCQkJCQkiY29uc3RhbnQiKQorKwkJCQkgICA6IE5fKCJ1c2Ugb2YgQzk5 IGxvbmcgbG9uZyBpbnRlZ2VyICIKKysJCQkJCSJjb25zdGFudCIpKTsKKyAgICAgICAgICAgZWxz ZQorICAgICAgICAgICAgIGNwcF9wZWR3YXJuaW5nX3dpdGhfbGluZSAocGZpbGUsIENQUF9XX0xP TkdfTE9ORywKKy0JCQkJICAgICAgdmlydHVhbF9sb2NhdGlvbiwgMCwgbWVzc2FnZSk7CisrCQkJ CSAgICAgIHZpcnR1YWxfbG9jYXRpb24sIDAsCisrCQkJCSAgICAgIENQUF9PUFRJT04gKHBmaWxl LCBjcGx1c3BsdXMpCisrCQkJCSAgICAgID8gTl8oInVzZSBvZiBDKysxMSBsb25nIGxvbmcgaW50 ZWdlciAiCisrCQkJCQkgICAiY29uc3RhbnQiKQorKwkJCQkgICAgICA6IE5fKCJ1c2Ugb2YgQzk5 IGxvbmcgbG9uZyBpbnRlZ2VyICIKKysJCQkJCSAgICJjb25zdGFudCIpKTsKKyAgICAgICAgIH0K KyAKKyAgICAgICBpZiAoKHJlc3VsdCAmIENQUF9OX1NJWkVfVCkgPT0gQ1BQX05fU0laRV9UCisg CSAgJiYgIUNQUF9PUFRJT04gKHBmaWxlLCBzaXplX3RfbGl0ZXJhbHMpKQorLSAgICAgICB7Cist CSAgY29uc3QgY2hhciAqbWVzc2FnZQorLQkgICAgPSAocmVzdWx0ICYgQ1BQX05fVU5TSUdORUQp ID09IENQUF9OX1VOU0lHTkVECistCSAgICAgID8gTl8oInVzZSBvZiBDKysyMyAlPHNpemVfdCU+ IGludGVnZXIgY29uc3RhbnQiKQorLQkgICAgICA6IE5fKCJ1c2Ugb2YgQysrMjMgJTxtYWtlX3Np Z25lZF90PHNpemVfdD4lPiBpbnRlZ2VyIGNvbnN0YW50Iik7CistCSAgY3BwX3dhcm5pbmdfd2l0 aF9saW5lIChwZmlsZSwgQ1BQX1dfU0laRV9UX0xJVEVSQUxTLAorLQkJCQkgdmlydHVhbF9sb2Nh dGlvbiwgMCwgbWVzc2FnZSk7CistICAgICAgIH0KKysJY3BwX3dhcm5pbmdfd2l0aF9saW5lIChw ZmlsZSwgQ1BQX1dfU0laRV9UX0xJVEVSQUxTLAorKwkJCSAgICAgICB2aXJ0dWFsX2xvY2F0aW9u LCAwLAorKwkJCSAgICAgICAocmVzdWx0ICYgQ1BQX05fVU5TSUdORUQpID09IENQUF9OX1VOU0lH TkVECisrCQkJCT8gTl8oInVzZSBvZiBDKysyMyAlPHNpemVfdCU+IGludGVnZXIgIgorKwkJCQkg ICAgICJjb25zdGFudCIpCisrCQkJCTogTl8oInVzZSBvZiBDKysyMyAlPG1ha2Vfc2lnbmVkX3Q8 c2l6ZV90PiU+ICIKKysJCQkJICAgICAiaW50ZWdlciBjb25zdGFudCIpKTsKKyAKKyAgICAgICBp ZiAoKHJlc3VsdCAmIENQUF9OX0JJVElOVCkgIT0gMAorIAkgICYmIENQUF9PUFRJT04gKHBmaWxl LCBjcHBfd2Fybl9jMTFfYzIzX2NvbXBhdCkgIT0gMCkKKyAJeworIAkgIGlmIChDUFBfT1BUSU9O IChwZmlsZSwgY3BwX3dhcm5fYzExX2MyM19jb21wYXQpID4gMCkKKyAJICAgIHsKKy0JICAgICAg Y29uc3QgY2hhciAqbWVzc2FnZSA9IE5fKCJJU08gQyBkb2VzIG5vdCBzdXBwb3J0IGxpdGVyYWwg IgorLQkJCQkgICAgICAgIiU8d2IlPiBzdWZmaXhlcyBiZWZvcmUgQzIzIik7CisgCSAgICAgIGlm IChDUFBfUEVEQU5USUMgKHBmaWxlKSAmJiAhQ1BQX09QVElPTiAocGZpbGUsIHRydWVfZmFsc2Up KQorIAkJY3BwX3BlZHdhcm5pbmdfd2l0aF9saW5lIChwZmlsZSwgQ1BQX1dfQzExX0MyM19DT01Q QVQsCistCQkJCQkgIHZpcnR1YWxfbG9jYXRpb24sIDAsIG1lc3NhZ2UpOworKwkJCQkJICB2aXJ0 dWFsX2xvY2F0aW9uLCAwLAorKwkJCQkJICAiSVNPIEMgZG9lcyBub3Qgc3VwcG9ydCBsaXRlcmFs ICIKKysJCQkJCSAgIiU8d2IlPiBzdWZmaXhlcyBiZWZvcmUgQzIzIik7CisgCSAgICAgIGVsc2UK KyAJCWNwcF93YXJuaW5nX3dpdGhfbGluZSAocGZpbGUsIENQUF9XX0MxMV9DMjNfQ09NUEFULAor LQkJCQkgICAgICAgdmlydHVhbF9sb2NhdGlvbiwgMCwgbWVzc2FnZSk7CistCSAgICB9CistCSAg ZWxzZSBpZiAoIUNQUF9PUFRJT04gKHBmaWxlLCB0cnVlX2ZhbHNlKSkKKy0JICAgIHsKKy0JICAg ICAgY29uc3QgY2hhciAqbWVzc2FnZSA9IE5fKCJJU08gQyBkb2VzIG5vdCBzdXBwb3J0IGxpdGVy YWwgIgorKwkJCQkgICAgICAgdmlydHVhbF9sb2NhdGlvbiwgMCwKKysJCQkJICAgICAgICJJU08g QyBkb2VzIG5vdCBzdXBwb3J0IGxpdGVyYWwgIgorIAkJCQkgICAgICAgIiU8d2IlPiBzdWZmaXhl cyBiZWZvcmUgQzIzIik7CistCSAgICAgIGNwcF9wZWR3YXJuaW5nX3dpdGhfbGluZSAocGZpbGUs IENQUF9XX1BFREFOVElDLAorLQkJCQkJdmlydHVhbF9sb2NhdGlvbiwgMCwgbWVzc2FnZSk7Cisg CSAgICB9CisrCSAgZWxzZSBpZiAoIUNQUF9PUFRJT04gKHBmaWxlLCB0cnVlX2ZhbHNlKSkKKysJ ICAgIGNwcF9wZWR3YXJuaW5nX3dpdGhfbGluZSAocGZpbGUsIENQUF9XX1BFREFOVElDLAorKwkJ CQkgICAgICB2aXJ0dWFsX2xvY2F0aW9uLCAwLAorKwkJCQkgICAgICAiSVNPIEMgZG9lcyBub3Qg c3VwcG9ydCBsaXRlcmFsICIKKysJCQkJICAgICAgIiU8d2IlPiBzdWZmaXhlcyBiZWZvcmUgQzIz Iik7CisgCX0KKyAKKyAgICAgICByZXN1bHQgfD0gQ1BQX05fSU5URUdFUjsKCmRpZmYgLS1naXQg YS9nY2MxNy1pc2wtZGwucGF0Y2ggYi9nY2MxNy1pc2wtZGwucGF0Y2gKbmV3IGZpbGUgbW9kZSAx MDA2NDQKaW5kZXggMDAwMDAwMC4uZGMwYzQ5YgotLS0gL2Rldi9udWxsCisrKyBiL2djYzE3LWlz bC1kbC5wYXRjaApAQCAtMCwwICsxLDcxNiBAQAorLS0tIGdjYy9NYWtlZmlsZS5pbi5qagkyMDE1 LTA2LTA2IDEwOjAwOjI1LjAwMDAwMDAwMCArMDIwMAorKysrIGdjYy9NYWtlZmlsZS5pbgkyMDE1 LTExLTA0IDE0OjU2OjAyLjY0MzUzNjQzNyArMDEwMAorQEAgLTEwNjMsNyArMTA2Myw3IEBAIEJV SUxEX0xJQkRFUFM9ICQoQlVJTERfTElCSUJFUlRZKQorICMgYW5kIHRoZSBzeXN0ZW0ncyBpbnN0 YWxsZWQgbGlicmFyaWVzLgorIExJQlMgPSBATElCU0AgbGliY29tbW9uLmEgJChDUFBMSUIpICQo TElCSU5UTCkgJChMSUJJQ09OVikgJChMSUJCQUNLVFJBQ0UpIFwKKyAJJChMSUJJQkVSVFkpICQo TElCREVDTlVNQkVSKSAkKEhPU1RfTElCUykKKy1CQUNLRU5ETElCUyA9ICQoSVNMTElCUykgJChH TVBMSUJTKSAkKFBMVUdJTkxJQlMpICQoSE9TVF9MSUJTKSBcCisrQkFDS0VORExJQlMgPSAkKGlm ICQoSVNMTElCUyksLWxkbCkgJChHTVBMSUJTKSAkKFBMVUdJTkxJQlMpICQoSE9TVF9MSUJTKSBc CisgCSQoWkxJQikgJChaU1REX0xJQikKKyAjIEFueSBzeXN0ZW0gbGlicmFyaWVzIG5lZWRlZCBq dXN0IGZvciBHTkFULgorIFNZU0xJQlMgPSBAR05BVF9MSUJFWENACitAQCAtMjMwMiw2ICsyMzAy LDE1IEBAICQob3V0X29iamVjdF9maWxlKTogJChvdXRfZmlsZSkKKyAkKGNvbW1vbl9vdXRfb2Jq ZWN0X2ZpbGUpOiAkKGNvbW1vbl9vdXRfZmlsZSkKKyAJJChDT01QSUxFKSAkPAorIAkkKFBPU1RD T01QSUxFKQorKworK2dyYXBoaXRlJS5vIDogXAorKyAgQUxMX0NGTEFHUyA6PSAtTyAkKGZpbHRl ci1vdXQgLWZrZWVwLWlubGluZS1mdW5jdGlvbnMsICQoQUxMX0NGTEFHUykpCisrZ3JhcGhpdGUu byA6IFwKKysgIEFMTF9DRkxBR1MgOj0gLU8gJChmaWx0ZXItb3V0IC1ma2VlcC1pbmxpbmUtZnVu Y3Rpb25zLCAkKEFMTF9DRkxBR1MpKQorK2dyYXBoaXRlJS5vIDogXAorKyAgQUxMX0NYWEZMQUdT IDo9IC1PICQoZmlsdGVyLW91dCAtZmtlZXAtaW5saW5lLWZ1bmN0aW9ucywgJChBTExfQ1hYRkxB R1MpKQorK2dyYXBoaXRlLm8gOiBcCisrICBBTExfQ1hYRkxBR1MgOj0gLU8gJChmaWx0ZXItb3V0 IC1ma2VlcC1pbmxpbmUtZnVuY3Rpb25zLCAkKEFMTF9DWFhGTEFHUykpCisgIwwKKyAjIEdlbmVy YXRlIGhlYWRlciBhbmQgc291cmNlIGZpbGVzIGZyb20gdGhlIG1hY2hpbmUgZGVzY3JpcHRpb24s CisgIyBhbmQgY29tcGlsZSB0aGVtLgorLS0tIGdjYy9ncmFwaGl0ZS5oLmpqCTIwMTYtMDEtMjcg MTI6NDQ6MDYuMDAwMDAwMDAwICswMTAwCisrKysgZ2NjL2dyYXBoaXRlLmgJMjAyMi0xMS0wMyAx OToxNDo1MC4zNjk2OTA3MjAgKzAxMDAKK0BAIC0yNCw2ICsyNCw1OTEgQEAgYWxvbmcgd2l0aCBH Q0M7IHNlZSB0aGUgZmlsZSBDT1BZSU5HMy4KKyAKKyAjaW5jbHVkZSAic2VzZS5oIgorIAorKyNp bmNsdWRlIDxpc2wvdmVyc2lvbi5oPgorKyNpbmNsdWRlIDxkbGZjbi5oPgorKworKyNkZWZpbmUg RFlOU1lNUyBcCisrICBEWU5TWU0gKGlzbF9hZmZfYWRkX2NvZWZmaWNpZW50X3NpKTsgXAorKyAg RFlOU1lNIChpc2xfYWZmX2ZyZWUpOyBcCisrICBEWU5TWU0gKGlzbF9hZmZfZ2V0X3NwYWNlKTsg XAorKyAgRFlOU1lNIChpc2xfYWZmX3NldF9jb2VmZmljaWVudF9zaSk7IFwKKysgIERZTlNZTSAo aXNsX2FmZl9zZXRfY29uc3RhbnRfc2kpOyBcCisrICBEWU5TWU0gKGlzbF9hZmZfemVyb19vbl9k b21haW4pOyBcCisrICAvKiBEWU5TWU0gKGlzbF9iYW5kX2ZyZWUpOyAqLyBcCisrICAvKiBEWU5T WU0gKGlzbF9iYW5kX2dldF9jaGlsZHJlbik7ICovIFwKKysgIC8qIERZTlNZTSAoaXNsX2JhbmRf Z2V0X3BhcnRpYWxfc2NoZWR1bGUpOyAqLyBcCisrICAvKiBEWU5TWU0gKGlzbF9iYW5kX2hhc19j aGlsZHJlbik7ICovIFwKKysgIC8qIERZTlNZTSAoaXNsX2JhbmRfbGlzdF9mcmVlKTsgKi8gXAor KyAgLyogRFlOU1lNIChpc2xfYmFuZF9saXN0X2dldF9iYW5kKTsgKi8gXAorKyAgLyogRFlOU1lN IChpc2xfYmFuZF9saXN0X2dldF9jdHgpOyAqLyBcCisrICAvKiBEWU5TWU0gKGlzbF9iYW5kX2xp c3Rfbl9iYW5kKTsgKi8gXAorKyAgLyogRFlOU1lNIChpc2xfYmFuZF9uX21lbWJlcik7ICovIFwK KysgIERZTlNZTSAoaXNsX2Jhc2ljX21hcF9hZGRfY29uc3RyYWludCk7IFwKKysgIERZTlNZTSAo aXNsX2Jhc2ljX21hcF9wcm9qZWN0X291dCk7IFwKKysgIERZTlNZTSAoaXNsX2Jhc2ljX21hcF91 bml2ZXJzZSk7IFwKKysgIERZTlNZTSAoaXNsX2NvbnN0cmFpbnRfc2V0X2NvZWZmaWNpZW50X3Np KTsgXAorKyAgRFlOU1lNIChpc2xfY29uc3RyYWludF9zZXRfY29uc3RhbnRfc2kpOyBcCisrICBE WU5TWU0gKGlzbF9jdHhfYWxsb2MpOyBcCisrICBEWU5TWU0gKGlzbF9jdHhfZnJlZSk7IFwKKysg IERZTlNZTSAoaXNsX2VxdWFsaXR5X2FsbG9jKTsgXAorKyAgRFlOU1lNIChpc2xfaWRfYWxsb2Mp OyBcCisrICBEWU5TWU0gKGlzbF9pZF9jb3B5KTsgXAorKyAgRFlOU1lNIChpc2xfaWRfZnJlZSk7 IFwKKysgIERZTlNZTSAoaXNsX2luZXF1YWxpdHlfYWxsb2MpOyBcCisrICBEWU5TWU0gKGlzbF9s b2NhbF9zcGFjZV9jb3B5KTsgXAorKyAgRFlOU1lNIChpc2xfbG9jYWxfc3BhY2VfZnJlZSk7IFwK KysgIERZTlNZTSAoaXNsX2xvY2FsX3NwYWNlX2Zyb21fc3BhY2UpOyBcCisrICBEWU5TWU0gKGlz bF9sb2NhbF9zcGFjZV9yYW5nZSk7IFwKKysgIERZTlNZTSAoaXNsX21hcF9hZGRfY29uc3RyYWlu dCk7IFwKKysgIERZTlNZTSAoaXNsX21hcF9hZGRfZGltcyk7IFwKKysgIERZTlNZTSAoaXNsX21h cF9hbGlnbl9wYXJhbXMpOyBcCisrICBEWU5TWU0gKGlzbF9tYXBfYXBwbHlfcmFuZ2UpOyBcCisr ICBEWU5TWU0gKGlzbF9tYXBfY29weSk7IFwKKysgIERZTlNZTSAoaXNsX21hcF9kaW0pOyBcCisr ICBEWU5TWU0gKGlzbF9tYXBfZHVtcCk7IFwKKysgIERZTlNZTSAoaXNsX21hcF9lcXVhdGUpOyBc CisrICBEWU5TWU0gKGlzbF9tYXBfZml4X3NpKTsgXAorKyAgRFlOU1lNIChpc2xfbWFwX2ZsYXRf cHJvZHVjdCk7IFwKKysgIERZTlNZTSAoaXNsX21hcF9mbGF0X3JhbmdlX3Byb2R1Y3QpOyBcCisr ICBEWU5TWU0gKGlzbF9tYXBfZnJlZSk7IFwKKysgIERZTlNZTSAoaXNsX21hcF9mcm9tX2Jhc2lj X21hcCk7IFwKKysgIERZTlNZTSAoaXNsX21hcF9mcm9tX3B3X2FmZik7IFwKKysgIERZTlNZTSAo aXNsX21hcF9mcm9tX3VuaW9uX21hcCk7IFwKKysgIERZTlNZTSAoaXNsX21hcF9nZXRfY3R4KTsg XAorKyAgRFlOU1lNIChpc2xfbWFwX2dldF9zcGFjZSk7IFwKKysgIERZTlNZTSAoaXNsX21hcF9n ZXRfdHVwbGVfaWQpOyBcCisrICBEWU5TWU0gKGlzbF9tYXBfaW5zZXJ0X2RpbXMpOyBcCisrICBE WU5TWU0gKGlzbF9tYXBfaW50ZXJzZWN0KTsgXAorKyAgRFlOU1lNIChpc2xfbWFwX2ludGVyc2Vj dF9kb21haW4pOyBcCisrICBEWU5TWU0gKGlzbF9tYXBfaW50ZXJzZWN0X3JhbmdlKTsgXAorKyAg RFlOU1lNIChpc2xfbWFwX2lzX2VtcHR5KTsgXAorKyAgRFlOU1lNIChpc2xfbWFwX2xleF9nZSk7 IFwKKysgIERZTlNZTSAoaXNsX21hcF9sZXhfbGUpOyBcCisrICAvKiBEWU5TWU0gKGlzbF9tYXBf bl9vdXQpOyAqLyBcCisrICBEWU5TWU0gKGlzbF9tYXBfcmFuZ2UpOyBcCisrICBEWU5TWU0gKGlz bF9tYXBfc2V0X3R1cGxlX2lkKTsgXAorKyAgRFlOU1lNIChpc2xfbWFwX3VuaXZlcnNlKTsgXAor KyAgRFlOU1lNIChpc2xfb3B0aW9uc19zZXRfb25fZXJyb3IpOyBcCisrICBEWU5TWU0gKGlzbF9v cHRpb25zX3NldF9zY2hlZHVsZV9zZXJpYWxpemVfc2Njcyk7IFwKKysgIERZTlNZTSAoaXNsX3By aW50ZXJfc2V0X3lhbWxfc3R5bGUpOyBcCisrICBEWU5TWU0gKGlzbF9vcHRpb25zX3NldF9zY2hl ZHVsZV9tYXhfY29uc3RhbnRfdGVybSk7IFwKKysgIERZTlNZTSAoaXNsX29wdGlvbnNfc2V0X3Nj aGVkdWxlX21heGltaXplX2JhbmRfZGVwdGgpOyBcCisrICBEWU5TWU0gKGlzbF9wcmludGVyX2Zy ZWUpOyBcCisrICBEWU5TWU0gKGlzbF9wcmludGVyX3ByaW50X2FmZik7IFwKKysgIERZTlNZTSAo aXNsX3ByaW50ZXJfcHJpbnRfY29uc3RyYWludCk7IFwKKysgIERZTlNZTSAoaXNsX3ByaW50ZXJf cHJpbnRfbWFwKTsgXAorKyAgRFlOU1lNIChpc2xfcHJpbnRlcl9wcmludF9zZXQpOyBcCisrICBE WU5TWU0gKGlzbF9wcmludGVyX3RvX2ZpbGUpOyBcCisrICBEWU5TWU0gKGlzbF9wd19hZmZfYWRk KTsgXAorKyAgRFlOU1lNIChpc2xfcHdfYWZmX2FsbG9jKTsgXAorKyAgRFlOU1lNIChpc2xfcHdf YWZmX2NvcHkpOyBcCisrICBEWU5TWU0gKGlzbF9wd19hZmZfZXFfc2V0KTsgXAorKyAgRFlOU1lN IChpc2xfcHdfYWZmX2ZyZWUpOyBcCisrICBEWU5TWU0gKGlzbF9wd19hZmZfZnJvbV9hZmYpOyBc CisrICBEWU5TWU0gKGlzbF9wd19hZmZfZ2Vfc2V0KTsgXAorKyAgRFlOU1lNIChpc2xfcHdfYWZm X2d0X3NldCk7IFwKKysgIERZTlNZTSAoaXNsX3B3X2FmZl9pc19jc3QpOyBcCisrICBEWU5TWU0g KGlzbF9wd19hZmZfbGVfc2V0KTsgXAorKyAgRFlOU1lNIChpc2xfcHdfYWZmX2x0X3NldCk7IFwK KysgIERZTlNZTSAoaXNsX3B3X2FmZl9tdWwpOyBcCisrICBEWU5TWU0gKGlzbF9wd19hZmZfbmVf c2V0KTsgXAorKyAgRFlOU1lNIChpc2xfcHdfYWZmX25vbm5lZ19zZXQpOyBcCisrICBEWU5TWU0g KGlzbF9wd19hZmZfc2V0X3R1cGxlX2lkKTsgXAorKyAgRFlOU1lNIChpc2xfcHdfYWZmX3N1Yik7 IFwKKysgIERZTlNZTSAoaXNsX3B3X2FmZl96ZXJvX3NldCk7IFwKKysgIERZTlNZTSAoaXNsX3Nj aGVkdWxlX2ZyZWUpOyBcCisrICAvKiBEWU5TWU0gKGlzbF9zY2hlZHVsZV9nZXRfYmFuZF9mb3Jl c3QpOyAqLyBcCisrICBEWU5TWU0gKGlzbF9zZXRfYWRkX2NvbnN0cmFpbnQpOyBcCisrICBEWU5T WU0gKGlzbF9zZXRfYWRkX2RpbXMpOyBcCisrICBEWU5TWU0gKGlzbF9zZXRfYXBwbHkpOyBcCisr ICBEWU5TWU0gKGlzbF9zZXRfY29hbGVzY2UpOyBcCisrICBEWU5TWU0gKGlzbF9zZXRfY29weSk7 IFwKKysgIERZTlNZTSAoaXNsX3NldF9kaW0pOyBcCisrICBEWU5TWU0gKGlzbF9zZXRfZml4X3Np KTsgXAorKyAgRFlOU1lNIChpc2xfc2V0X2ZyZWUpOyBcCisrICBEWU5TWU0gKGlzbF9zZXRfZ2V0 X3NwYWNlKTsgXAorKyAgRFlOU1lNIChpc2xfc2V0X2dldF90dXBsZV9pZCk7IFwKKysgIERZTlNZ TSAoaXNsX3NldF9pbnRlcnNlY3QpOyBcCisrICBEWU5TWU0gKGlzbF9zZXRfaXNfZW1wdHkpOyBc CisrICBEWU5TWU0gKGlzbF9zZXRfbl9kaW0pOyBcCisrICBEWU5TWU0gKGlzbF9zZXRfbmF0X3Vu aXZlcnNlKTsgXAorKyAgRFlOU1lNIChpc2xfc2V0X3Byb2plY3Rfb3V0KTsgXAorKyAgRFlOU1lN IChpc2xfc2V0X3NldF90dXBsZV9pZCk7IFwKKysgIERZTlNZTSAoaXNsX3NldF91bml2ZXJzZSk7 IFwKKysgIERZTlNZTSAoaXNsX3NwYWNlX2FkZF9kaW1zKTsgXAorKyAgRFlOU1lNIChpc2xfc3Bh Y2VfYWxsb2MpOyBcCisrICBEWU5TWU0gKGlzbF9zcGFjZV9jb3B5KTsgXAorKyAgRFlOU1lNIChp c2xfc3BhY2VfZGltKTsgXAorKyAgRFlOU1lNIChpc2xfc3BhY2VfZG9tYWluKTsgXAorKyAgRFlO U1lNIChpc2xfc3BhY2VfZmluZF9kaW1fYnlfaWQpOyBcCisrICBEWU5TWU0gKGlzbF9zcGFjZV9m cmVlKTsgXAorKyAgRFlOU1lNIChpc2xfc3BhY2VfZnJvbV9kb21haW4pOyBcCisrICBEWU5TWU0g KGlzbF9zcGFjZV9nZXRfdHVwbGVfaWQpOyBcCisrICBEWU5TWU0gKGlzbF9zcGFjZV9wYXJhbXNf YWxsb2MpOyBcCisrICBEWU5TWU0gKGlzbF9zcGFjZV9yYW5nZSk7IFwKKysgIERZTlNZTSAoaXNs X3NwYWNlX3NldF9hbGxvYyk7IFwKKysgIERZTlNZTSAoaXNsX3NwYWNlX3NldF9kaW1faWQpOyBc CisrICBEWU5TWU0gKGlzbF9zcGFjZV9zZXRfdHVwbGVfaWQpOyBcCisrICBEWU5TWU0gKGlzbF91 bmlvbl9tYXBfYWRkX21hcCk7IFwKKysgIERZTlNZTSAoaXNsX3VuaW9uX21hcF9hbGlnbl9wYXJh bXMpOyBcCisrICBEWU5TWU0gKGlzbF91bmlvbl9tYXBfYXBwbHlfZG9tYWluKTsgXAorKyAgRFlO U1lNIChpc2xfdW5pb25fbWFwX2FwcGx5X3JhbmdlKTsgXAorKyAgRFlOU1lNIChpc2xfdW5pb25f bWFwX2NvbXB1dGVfZmxvdyk7IFwKKysgIERZTlNZTSAoaXNsX3VuaW9uX21hcF9jb3B5KTsgXAor KyAgRFlOU1lNIChpc2xfdW5pb25fbWFwX2VtcHR5KTsgXAorKyAgRFlOU1lNIChpc2xfdW5pb25f bWFwX2ZsYXRfcmFuZ2VfcHJvZHVjdCk7IFwKKysgIERZTlNZTSAoaXNsX3VuaW9uX21hcF9mb3Jl YWNoX21hcCk7IFwKKysgIERZTlNZTSAoaXNsX3VuaW9uX21hcF9mcmVlKTsgXAorKyAgRFlOU1lN IChpc2xfdW5pb25fbWFwX2Zyb21fbWFwKTsgXAorKyAgRFlOU1lNIChpc2xfdW5pb25fbWFwX2dl dF9jdHgpOyBcCisrICBEWU5TWU0gKGlzbF91bmlvbl9tYXBfZ2V0X3NwYWNlKTsgXAorKyAgRFlO U1lNIChpc2xfdW5pb25fbWFwX2dpc3RfZG9tYWluKTsgXAorKyAgRFlOU1lNIChpc2xfdW5pb25f bWFwX2dpc3RfcmFuZ2UpOyBcCisrICBEWU5TWU0gKGlzbF91bmlvbl9tYXBfaW50ZXJzZWN0X2Rv bWFpbik7IFwKKysgIERZTlNZTSAoaXNsX3VuaW9uX21hcF9pc19lbXB0eSk7IFwKKysgIERZTlNZ TSAoaXNsX3VuaW9uX21hcF9zdWJ0cmFjdCk7IFwKKysgIERZTlNZTSAoaXNsX3VuaW9uX21hcF91 bmlvbik7IFwKKysgIERZTlNZTSAoaXNsX3VuaW9uX3NldF9hZGRfc2V0KTsgXAorKyAgRFlOU1lN IChpc2xfdW5pb25fc2V0X2NvbXB1dGVfc2NoZWR1bGUpOyBcCisrICBEWU5TWU0gKGlzbF91bmlv bl9zZXRfY29weSk7IFwKKysgIERZTlNZTSAoaXNsX3VuaW9uX3NldF9lbXB0eSk7IFwKKysgIERZ TlNZTSAoaXNsX3VuaW9uX3NldF9mcm9tX3NldCk7IFwKKysgIERZTlNZTSAoaXNsX2FmZl9hZGRf Y29uc3RhbnRfdmFsKTsgXAorKyAgRFlOU1lNIChpc2xfYWZmX2dldF9jb2VmZmljaWVudF92YWwp OyBcCisrICBEWU5TWU0gKGlzbF9hZmZfZ2V0X2N0eCk7IFwKKysgIERZTlNZTSAoaXNsX2FmZl9t b2RfdmFsKTsgXAorKyAgRFlOU1lNIChpc2xfYXN0X2J1aWxkX2FzdF9mcm9tX3NjaGVkdWxlKTsg XAorKyAgRFlOU1lNIChpc2xfYXN0X2J1aWxkX2ZyZWUpOyBcCisrICBEWU5TWU0gKGlzbF9hc3Rf YnVpbGRfZnJvbV9jb250ZXh0KTsgXAorKyAgRFlOU1lNIChpc2xfYXN0X2J1aWxkX2dldF9jdHgp OyBcCisrICBEWU5TWU0gKGlzbF9hc3RfYnVpbGRfZ2V0X3NjaGVkdWxlKTsgXAorKyAgRFlOU1lN IChpc2xfYXN0X2J1aWxkX2dldF9zY2hlZHVsZV9zcGFjZSk7IFwKKysgIERZTlNZTSAoaXNsX2Fz dF9idWlsZF9zZXRfYmVmb3JlX2VhY2hfZm9yKTsgXAorKyAgRFlOU1lNIChpc2xfYXN0X2J1aWxk X3NldF9vcHRpb25zKTsgXAorKyAgRFlOU1lNIChpc2xfYXN0X2V4cHJfZnJlZSk7IFwKKysgIERZ TlNZTSAoaXNsX2FzdF9leHByX2Zyb21fdmFsKTsgXAorKyAgRFlOU1lNIChpc2xfYXN0X2V4cHJf Z2V0X2N0eCk7IFwKKysgIERZTlNZTSAoaXNsX2FzdF9leHByX2dldF9pZCk7IFwKKysgIERZTlNZ TSAoaXNsX2FzdF9leHByX2dldF9vcF9hcmcpOyBcCisrICBEWU5TWU0gKGlzbF9hc3RfZXhwcl9n ZXRfb3Bfbl9hcmcpOyBcCisrICBEWU5TWU0gKGlzbF9hc3RfZXhwcl9nZXRfb3BfdHlwZSk7IFwK KysgIERZTlNZTSAoaXNsX2FzdF9leHByX2dldF90eXBlKTsgXAorKyAgRFlOU1lNIChpc2xfYXN0 X2V4cHJfZ2V0X3ZhbCk7IFwKKysgIERZTlNZTSAoaXNsX2FzdF9leHByX3N1Yik7IFwKKysgIERZ TlNZTSAoaXNsX2FzdF9ub2RlX2Jsb2NrX2dldF9jaGlsZHJlbik7IFwKKysgIERZTlNZTSAoaXNs X2FzdF9ub2RlX2Zvcl9nZXRfYm9keSk7IFwKKysgIERZTlNZTSAoaXNsX2FzdF9ub2RlX2Zvcl9n ZXRfY29uZCk7IFwKKysgIERZTlNZTSAoaXNsX2FzdF9ub2RlX2Zvcl9nZXRfaW5jKTsgXAorKyAg RFlOU1lNIChpc2xfYXN0X25vZGVfZm9yX2dldF9pbml0KTsgXAorKyAgRFlOU1lNIChpc2xfYXN0 X25vZGVfZm9yX2dldF9pdGVyYXRvcik7IFwKKysgIERZTlNZTSAoaXNsX2FzdF9ub2RlX2ZyZWUp OyBcCisrICBEWU5TWU0gKGlzbF9hc3Rfbm9kZV9nZXRfYW5ub3RhdGlvbik7IFwKKysgIERZTlNZ TSAoaXNsX2FzdF9ub2RlX2dldF90eXBlKTsgXAorKyAgRFlOU1lNIChpc2xfYXN0X25vZGVfaWZf Z2V0X2NvbmQpOyBcCisrICBEWU5TWU0gKGlzbF9hc3Rfbm9kZV9pZl9nZXRfZWxzZSk7IFwKKysg IERZTlNZTSAoaXNsX2FzdF9ub2RlX2lmX2dldF90aGVuKTsgXAorKyAgRFlOU1lNIChpc2xfYXN0 X25vZGVfbGlzdF9mcmVlKTsgXAorKyAgRFlOU1lNIChpc2xfYXN0X25vZGVfbGlzdF9nZXRfYXN0 X25vZGUpOyBcCisrICBEWU5TWU0gKGlzbF9hc3Rfbm9kZV9saXN0X25fYXN0X25vZGUpOyBcCisr ICBEWU5TWU0gKGlzbF9hc3Rfbm9kZV91c2VyX2dldF9leHByKTsgXAorKyAgRFlOU1lNIChpc2xf Y29uc3RyYWludF9zZXRfY29lZmZpY2llbnRfdmFsKTsgXAorKyAgRFlOU1lNIChpc2xfY29uc3Ry YWludF9zZXRfY29uc3RhbnRfdmFsKTsgXAorKyAgRFlOU1lNIChpc2xfaWRfZ2V0X3VzZXIpOyBc CisrICBEWU5TWU0gKGlzbF9sb2NhbF9zcGFjZV9nZXRfY3R4KTsgXAorKyAgRFlOU1lNIChpc2xf bWFwX2ZpeF92YWwpOyBcCisrICBEWU5TWU0gKGlzbF9vcHRpb25zX3NldF9hc3RfYnVpbGRfYXRv bWljX3VwcGVyX2JvdW5kKTsgXAorKyAgRFlOU1lNIChpc2xfcHJpbnRlcl9wcmludF9hc3Rfbm9k ZSk7IFwKKysgIERZTlNZTSAoaXNsX3ByaW50ZXJfcHJpbnRfc3RyKTsgXAorKyAgRFlOU1lNIChp c2xfcHJpbnRlcl9zZXRfb3V0cHV0X2Zvcm1hdCk7IFwKKysgIERZTlNZTSAoaXNsX3B3X2FmZl9t b2RfdmFsKTsgXAorKyAgRFlOU1lNIChpc2xfc2NoZWR1bGVfY29uc3RyYWludHNfY29tcHV0ZV9z Y2hlZHVsZSk7IFwKKysgIERZTlNZTSAoaXNsX3NjaGVkdWxlX2NvbnN0cmFpbnRzX29uX2RvbWFp bik7IFwKKysgIERZTlNZTSAoaXNsX3NjaGVkdWxlX2NvbnN0cmFpbnRzX3NldF9jb2luY2lkZW5j ZSk7IFwKKysgIERZTlNZTSAoaXNsX3NjaGVkdWxlX2NvbnN0cmFpbnRzX3NldF9wcm94aW1pdHkp OyBcCisrICBEWU5TWU0gKGlzbF9zY2hlZHVsZV9jb25zdHJhaW50c19zZXRfdmFsaWRpdHkpOyBc CisrICBEWU5TWU0gKGlzbF9zZXRfZ2V0X2RpbV9pZCk7IFwKKysgIERZTlNZTSAoaXNsX3NldF9t YXhfdmFsKTsgXAorKyAgRFlOU1lNIChpc2xfc2V0X21pbl92YWwpOyBcCisrICBEWU5TWU0gKGlz bF9zZXRfcGFyYW1zKTsgXAorKyAgRFlOU1lNIChpc2xfc3BhY2VfYWxpZ25fcGFyYW1zKTsgXAor KyAgRFlOU1lNIChpc2xfc3BhY2VfbWFwX2Zyb21fZG9tYWluX2FuZF9yYW5nZSk7IFwKKysgIERZ TlNZTSAoaXNsX3NwYWNlX3NldF90dXBsZV9uYW1lKTsgXAorKyAgRFlOU1lNIChpc2xfc3BhY2Vf d3JhcCk7IFwKKysgIERZTlNZTSAoaXNsX3VuaW9uX21hcF9mcm9tX2RvbWFpbl9hbmRfcmFuZ2Up OyBcCisrICBEWU5TWU0gKGlzbF91bmlvbl9tYXBfcmFuZ2UpOyBcCisrICBEWU5TWU0gKGlzbF91 bmlvbl9zZXRfdW5pb24pOyBcCisrICBEWU5TWU0gKGlzbF91bmlvbl9zZXRfdW5pdmVyc2UpOyBc CisrICBEWU5TWU0gKGlzbF92YWxfMmV4cCk7IFwKKysgIERZTlNZTSAoaXNsX3ZhbF9hZGRfdWkp OyBcCisrICBEWU5TWU0gKGlzbF92YWxfY29weSk7IFwKKysgIERZTlNZTSAoaXNsX3ZhbF9mcmVl KTsgXAorKyAgRFlOU1lNIChpc2xfdmFsX2ludF9mcm9tX3NpKTsgXAorKyAgRFlOU1lNIChpc2xf dmFsX2ludF9mcm9tX3VpKTsgXAorKyAgRFlOU1lNIChpc2xfdmFsX211bCk7IFwKKysgIERZTlNZ TSAoaXNsX3ZhbF9uZWcpOyBcCisrICBEWU5TWU0gKGlzbF92YWxfc3ViKTsgXAorKyAgRFlOU1lN IChpc2xfcHJpbnRlcl9wcmludF91bmlvbl9tYXApOyBcCisrICBEWU5TWU0gKGlzbF9wd19hZmZf Z2V0X2N0eCk7IFwKKysgIERZTlNZTSAoaXNsX3ZhbF9pc19pbnQpOyBcCisrICBEWU5TWU0gKGlz bF9jdHhfZ2V0X21heF9vcGVyYXRpb25zKTsgXAorKyAgRFlOU1lNIChpc2xfY3R4X3NldF9tYXhf b3BlcmF0aW9ucyk7IFwKKysgIERZTlNZTSAoaXNsX2N0eF9sYXN0X2Vycm9yKTsgXAorKyAgRFlO U1lNIChpc2xfY3R4X3Jlc2V0X29wZXJhdGlvbnMpOyBcCisrICBEWU5TWU0gKGlzbF9tYXBfY29h bGVzY2UpOyBcCisrICBEWU5TWU0gKGlzbF9wcmludGVyX3ByaW50X3NjaGVkdWxlKTsgXAorKyAg RFlOU1lNIChpc2xfc2V0X3NldF9kaW1faWQpOyBcCisrICBEWU5TWU0gKGlzbF91bmlvbl9tYXBf Y29hbGVzY2UpOyBcCisrICBEWU5TWU0gKGlzbF9tdWx0aV92YWxfc2V0X3ZhbCk7IFwKKysgIERZ TlNZTSAoaXNsX211bHRpX3ZhbF96ZXJvKTsgXAorKyAgRFlOU1lNIChpc2xfb3B0aW9uc19zZXRf c2NoZWR1bGVfbWF4X2NvZWZmaWNpZW50KTsgXAorKyAgRFlOU1lNIChpc2xfb3B0aW9uc19zZXRf dGlsZV9zY2FsZV90aWxlX2xvb3BzKTsgXAorKyAgRFlOU1lNIChpc2xfc2NoZWR1bGVfY29weSk7 IFwKKysgIERZTlNZTSAoaXNsX3NjaGVkdWxlX2dldF9tYXApOyBcCisrICBEWU5TWU0gKGlzbF9z Y2hlZHVsZV9tYXBfc2NoZWR1bGVfbm9kZV9ib3R0b21fdXApOyBcCisrICBEWU5TWU0gKGlzbF9z Y2hlZHVsZV9ub2RlX2JhbmRfZ2V0X3Blcm11dGFibGUpOyBcCisrICBEWU5TWU0gKGlzbF9zY2hl ZHVsZV9ub2RlX2JhbmRfZ2V0X3NwYWNlKTsgXAorKyAgRFlOU1lNIChpc2xfc2NoZWR1bGVfbm9k ZV9iYW5kX3RpbGUpOyBcCisrICBEWU5TWU0gKGlzbF9zY2hlZHVsZV9ub2RlX2NoaWxkKTsgXAor KyAgRFlOU1lNIChpc2xfc2NoZWR1bGVfbm9kZV9mcmVlKTsgXAorKyAgRFlOU1lNIChpc2xfc2No ZWR1bGVfbm9kZV9nZXRfY2hpbGQpOyBcCisrICBEWU5TWU0gKGlzbF9zY2hlZHVsZV9ub2RlX2dl dF9jdHgpOyBcCisrICBEWU5TWU0gKGlzbF9zY2hlZHVsZV9ub2RlX2dldF90eXBlKTsgXAorKyAg RFlOU1lNIChpc2xfc2NoZWR1bGVfbm9kZV9uX2NoaWxkcmVuKTsgXAorKyAgRFlOU1lNIChpc2xf dW5pb25fbWFwX2lzX2VxdWFsKTsgXAorKyAgRFlOU1lNIChpc2xfdW5pb25fYWNjZXNzX2luZm9f Y29tcHV0ZV9mbG93KTsgXAorKyAgRFlOU1lNIChpc2xfdW5pb25fYWNjZXNzX2luZm9fZnJvbV9z aW5rKTsgXAorKyAgRFlOU1lNIChpc2xfdW5pb25fYWNjZXNzX2luZm9fc2V0X21heV9zb3VyY2Up OyBcCisrICBEWU5TWU0gKGlzbF91bmlvbl9hY2Nlc3NfaW5mb19zZXRfbXVzdF9zb3VyY2UpOyBc CisrICBEWU5TWU0gKGlzbF91bmlvbl9hY2Nlc3NfaW5mb19zZXRfc2NoZWR1bGUpOyBcCisrICBE WU5TWU0gKGlzbF91bmlvbl9mbG93X2ZyZWUpOyBcCisrICBEWU5TWU0gKGlzbF91bmlvbl9mbG93 X2dldF9tYXlfZGVwZW5kZW5jZSk7IFwKKysgIERZTlNZTSAoaXNsX3VuaW9uX2Zsb3dfZ2V0X211 c3RfZGVwZW5kZW5jZSk7IFwKKysgIERZTlNZTSAoaXNsX2FmZl92YXJfb25fZG9tYWluKTsgXAor KyAgRFlOU1lNIChpc2xfbXVsdGlfYWZmX2Zyb21fYWZmKTsgXAorKyAgRFlOU1lNIChpc2xfc2No ZWR1bGVfZ2V0X2N0eCk7IFwKKysgIERZTlNZTSAoaXNsX211bHRpX2FmZl9zZXRfdHVwbGVfaWQp OyBcCisrICBEWU5TWU0gKGlzbF9tdWx0aV9hZmZfZGltKTsgXAorKyAgRFlOU1lNIChpc2xfc2No ZWR1bGVfZ2V0X2RvbWFpbik7IFwKKysgIERZTlNZTSAoaXNsX3VuaW9uX3NldF9pc19lbXB0eSk7 IFwKKysgIERZTlNZTSAoaXNsX3VuaW9uX3NldF9nZXRfc3BhY2UpOyBcCisrICBEWU5TWU0gKGlz bF91bmlvbl9wd19tdWx0aV9hZmZfZW1wdHkpOyBcCisrICBEWU5TWU0gKGlzbF91bmlvbl9zZXRf Zm9yZWFjaF9zZXQpOyBcCisrICBEWU5TWU0gKGlzbF91bmlvbl9zZXRfZnJlZSk7IFwKKysgIERZ TlNZTSAoaXNsX211bHRpX3VuaW9uX3B3X2FmZl9mcm9tX3VuaW9uX3B3X211bHRpX2FmZik7IFwK KysgIERZTlNZTSAoaXNsX211bHRpX3VuaW9uX3B3X2FmZl9hcHBseV9tdWx0aV9hZmYpOyBcCisr ICBEWU5TWU0gKGlzbF9zY2hlZHVsZV9pbnNlcnRfcGFydGlhbF9zY2hlZHVsZSk7IFwKKysgIERZ TlNZTSAoaXNsX3VuaW9uX3B3X211bHRpX2FmZl9mcmVlKTsgXAorKyAgRFlOU1lNIChpc2xfcHdf bXVsdGlfYWZmX3Byb2plY3Rfb3V0X21hcCk7IFwKKysgIERZTlNZTSAoaXNsX3VuaW9uX3B3X211 bHRpX2FmZl9hZGRfcHdfbXVsdGlfYWZmKTsgXAorKyAgRFlOU1lNIChpc2xfc2NoZWR1bGVfZnJv bV9kb21haW4pOyBcCisrICBEWU5TWU0gKGlzbF9zY2hlZHVsZV9zZXF1ZW5jZSk7IFwKKysgIERZ TlNZTSAoaXNsX2FzdF9idWlsZF9ub2RlX2Zyb21fc2NoZWR1bGUpOyBcCisrICBEWU5TWU0gKGlz bF9hc3Rfbm9kZV9tYXJrX2dldF9ub2RlKTsgXAorKyAgRFlOU1lNIChpc2xfc2NoZWR1bGVfbm9k ZV9iYW5kX21lbWJlcl9nZXRfYXN0X2xvb3BfdHlwZSk7IFwKKysgIERZTlNZTSAoaXNsX3NjaGVk dWxlX25vZGVfYmFuZF9tZW1iZXJfc2V0X2FzdF9sb29wX3R5cGUpOyBcCisrICBEWU5TWU0gKGlz bF92YWxfbl9hYnNfbnVtX2NodW5rcyk7IFwKKysgIERZTlNZTSAoaXNsX3ZhbF9nZXRfYWJzX251 bV9jaHVua3MpOyBcCisrICBEWU5TWU0gKGlzbF92YWxfaW50X2Zyb21fY2h1bmtzKTsgXAorKyAg RFlOU1lNIChpc2xfdmFsX2lzX25lZyk7IFwKKysgIERZTlNZTSAoaXNsX3ZlcnNpb24pOyBcCisr ICBEWU5TWU0gKGlzbF9vcHRpb25zX2dldF9vbl9lcnJvcik7IFwKKysgIERZTlNZTSAoaXNsX2N0 eF9yZXNldF9lcnJvcik7CisrCisrZXh0ZXJuIHN0cnVjdCBpc2xfcG9pbnRlcnNfc19fCisrewor KyAgYm9vbCBpbml0ZWQ7CisrICB2b2lkICpoOworKyNkZWZpbmUgRFlOU1lNKHgpIF9fdHlwZW9m ICh4KSAqcF8jI3gKKysgIERZTlNZTVMKKysjdW5kZWYgRFlOU1lNCisrfSBpc2xfcG9pbnRlcnNf XzsKKysKKysjZGVmaW5lIGlzbF9hZmZfYWRkX2NvZWZmaWNpZW50X3NpICgqaXNsX3BvaW50ZXJz X18ucF9pc2xfYWZmX2FkZF9jb2VmZmljaWVudF9zaSkKKysjZGVmaW5lIGlzbF9hZmZfZnJlZSAo KmlzbF9wb2ludGVyc19fLnBfaXNsX2FmZl9mcmVlKQorKyNkZWZpbmUgaXNsX2FmZl9nZXRfc3Bh Y2UgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9hZmZfZ2V0X3NwYWNlKQorKyNkZWZpbmUgaXNsX2Fm Zl9zZXRfY29lZmZpY2llbnRfc2kgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9hZmZfc2V0X2NvZWZm aWNpZW50X3NpKQorKyNkZWZpbmUgaXNsX2FmZl9zZXRfY29uc3RhbnRfc2kgKCppc2xfcG9pbnRl cnNfXy5wX2lzbF9hZmZfc2V0X2NvbnN0YW50X3NpKQorKyNkZWZpbmUgaXNsX2FmZl96ZXJvX29u X2RvbWFpbiAoKmlzbF9wb2ludGVyc19fLnBfaXNsX2FmZl96ZXJvX29uX2RvbWFpbikKKysjZGVm aW5lIGlzbF9iYW5kX2ZyZWUgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9iYW5kX2ZyZWUpCisrI2Rl ZmluZSBpc2xfYmFuZF9nZXRfY2hpbGRyZW4gKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9iYW5kX2dl dF9jaGlsZHJlbikKKysjZGVmaW5lIGlzbF9iYW5kX2dldF9wYXJ0aWFsX3NjaGVkdWxlICgqaXNs X3BvaW50ZXJzX18ucF9pc2xfYmFuZF9nZXRfcGFydGlhbF9zY2hlZHVsZSkKKysjZGVmaW5lIGlz bF9iYW5kX2hhc19jaGlsZHJlbiAoKmlzbF9wb2ludGVyc19fLnBfaXNsX2JhbmRfaGFzX2NoaWxk cmVuKQorKyNkZWZpbmUgaXNsX2JhbmRfbGlzdF9mcmVlICgqaXNsX3BvaW50ZXJzX18ucF9pc2xf YmFuZF9saXN0X2ZyZWUpCisrI2RlZmluZSBpc2xfYmFuZF9saXN0X2dldF9iYW5kICgqaXNsX3Bv aW50ZXJzX18ucF9pc2xfYmFuZF9saXN0X2dldF9iYW5kKQorKyNkZWZpbmUgaXNsX2JhbmRfbGlz dF9nZXRfY3R4ICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfYmFuZF9saXN0X2dldF9jdHgpCisrI2Rl ZmluZSBpc2xfYmFuZF9saXN0X25fYmFuZCAoKmlzbF9wb2ludGVyc19fLnBfaXNsX2JhbmRfbGlz dF9uX2JhbmQpCisrI2RlZmluZSBpc2xfYmFuZF9uX21lbWJlciAoKmlzbF9wb2ludGVyc19fLnBf aXNsX2JhbmRfbl9tZW1iZXIpCisrI2RlZmluZSBpc2xfYmFzaWNfbWFwX2FkZF9jb25zdHJhaW50 ICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfYmFzaWNfbWFwX2FkZF9jb25zdHJhaW50KQorKyNkZWZp bmUgaXNsX2Jhc2ljX21hcF9wcm9qZWN0X291dCAoKmlzbF9wb2ludGVyc19fLnBfaXNsX2Jhc2lj X21hcF9wcm9qZWN0X291dCkKKysjZGVmaW5lIGlzbF9iYXNpY19tYXBfdW5pdmVyc2UgKCppc2xf cG9pbnRlcnNfXy5wX2lzbF9iYXNpY19tYXBfdW5pdmVyc2UpCisrI2RlZmluZSBpc2xfY29uc3Ry YWludF9zZXRfY29lZmZpY2llbnRfc2kgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9jb25zdHJhaW50 X3NldF9jb2VmZmljaWVudF9zaSkKKysjZGVmaW5lIGlzbF9jb25zdHJhaW50X3NldF9jb25zdGFu dF9zaSAoKmlzbF9wb2ludGVyc19fLnBfaXNsX2NvbnN0cmFpbnRfc2V0X2NvbnN0YW50X3NpKQor KyNkZWZpbmUgaXNsX2N0eF9hbGxvYyAoKmlzbF9wb2ludGVyc19fLnBfaXNsX2N0eF9hbGxvYykK KysjZGVmaW5lIGlzbF9jdHhfZnJlZSAoKmlzbF9wb2ludGVyc19fLnBfaXNsX2N0eF9mcmVlKQor KyNkZWZpbmUgaXNsX2VxdWFsaXR5X2FsbG9jICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfZXF1YWxp dHlfYWxsb2MpCisrI2RlZmluZSBpc2xfaWRfYWxsb2MgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9p ZF9hbGxvYykKKysjZGVmaW5lIGlzbF9pZF9jb3B5ICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfaWRf Y29weSkKKysjZGVmaW5lIGlzbF9pZF9mcmVlICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfaWRfZnJl ZSkKKysjZGVmaW5lIGlzbF9pbmVxdWFsaXR5X2FsbG9jICgqaXNsX3BvaW50ZXJzX18ucF9pc2xf aW5lcXVhbGl0eV9hbGxvYykKKysjZGVmaW5lIGlzbF9sb2NhbF9zcGFjZV9jb3B5ICgqaXNsX3Bv aW50ZXJzX18ucF9pc2xfbG9jYWxfc3BhY2VfY29weSkKKysjZGVmaW5lIGlzbF9sb2NhbF9zcGFj ZV9mcmVlICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfbG9jYWxfc3BhY2VfZnJlZSkKKysjZGVmaW5l IGlzbF9sb2NhbF9zcGFjZV9mcm9tX3NwYWNlICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfbG9jYWxf c3BhY2VfZnJvbV9zcGFjZSkKKysjZGVmaW5lIGlzbF9sb2NhbF9zcGFjZV9yYW5nZSAoKmlzbF9w b2ludGVyc19fLnBfaXNsX2xvY2FsX3NwYWNlX3JhbmdlKQorKyNkZWZpbmUgaXNsX21hcF9hZGRf Y29uc3RyYWludCAoKmlzbF9wb2ludGVyc19fLnBfaXNsX21hcF9hZGRfY29uc3RyYWludCkKKysj ZGVmaW5lIGlzbF9tYXBfYWRkX2RpbXMgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9tYXBfYWRkX2Rp bXMpCisrI2RlZmluZSBpc2xfbWFwX2FsaWduX3BhcmFtcyAoKmlzbF9wb2ludGVyc19fLnBfaXNs X21hcF9hbGlnbl9wYXJhbXMpCisrI2RlZmluZSBpc2xfbWFwX2FwcGx5X3JhbmdlICgqaXNsX3Bv aW50ZXJzX18ucF9pc2xfbWFwX2FwcGx5X3JhbmdlKQorKyNkZWZpbmUgaXNsX21hcF9jb3B5ICgq aXNsX3BvaW50ZXJzX18ucF9pc2xfbWFwX2NvcHkpCisrI2RlZmluZSBpc2xfbWFwX2RpbSAoKmlz bF9wb2ludGVyc19fLnBfaXNsX21hcF9kaW0pCisrI2RlZmluZSBpc2xfbWFwX2R1bXAgKCppc2xf cG9pbnRlcnNfXy5wX2lzbF9tYXBfZHVtcCkKKysjZGVmaW5lIGlzbF9tYXBfZXF1YXRlICgqaXNs X3BvaW50ZXJzX18ucF9pc2xfbWFwX2VxdWF0ZSkKKysjZGVmaW5lIGlzbF9tYXBfZml4X3NpICgq aXNsX3BvaW50ZXJzX18ucF9pc2xfbWFwX2ZpeF9zaSkKKysjZGVmaW5lIGlzbF9tYXBfZmxhdF9w cm9kdWN0ICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfbWFwX2ZsYXRfcHJvZHVjdCkKKysjZGVmaW5l IGlzbF9tYXBfZmxhdF9yYW5nZV9wcm9kdWN0ICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfbWFwX2Zs YXRfcmFuZ2VfcHJvZHVjdCkKKysjZGVmaW5lIGlzbF9tYXBfZnJlZSAoKmlzbF9wb2ludGVyc19f LnBfaXNsX21hcF9mcmVlKQorKyNkZWZpbmUgaXNsX21hcF9mcm9tX2Jhc2ljX21hcCAoKmlzbF9w b2ludGVyc19fLnBfaXNsX21hcF9mcm9tX2Jhc2ljX21hcCkKKysjZGVmaW5lIGlzbF9tYXBfZnJv bV9wd19hZmYgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9tYXBfZnJvbV9wd19hZmYpCisrI2RlZmlu ZSBpc2xfbWFwX2Zyb21fdW5pb25fbWFwICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfbWFwX2Zyb21f dW5pb25fbWFwKQorKyNkZWZpbmUgaXNsX21hcF9nZXRfY3R4ICgqaXNsX3BvaW50ZXJzX18ucF9p c2xfbWFwX2dldF9jdHgpCisrI2RlZmluZSBpc2xfbWFwX2dldF9zcGFjZSAoKmlzbF9wb2ludGVy c19fLnBfaXNsX21hcF9nZXRfc3BhY2UpCisrI2RlZmluZSBpc2xfbWFwX2dldF90dXBsZV9pZCAo KmlzbF9wb2ludGVyc19fLnBfaXNsX21hcF9nZXRfdHVwbGVfaWQpCisrI2RlZmluZSBpc2xfbWFw X2luc2VydF9kaW1zICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfbWFwX2luc2VydF9kaW1zKQorKyNk ZWZpbmUgaXNsX21hcF9pbnRlcnNlY3QgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9tYXBfaW50ZXJz ZWN0KQorKyNkZWZpbmUgaXNsX21hcF9pbnRlcnNlY3RfZG9tYWluICgqaXNsX3BvaW50ZXJzX18u cF9pc2xfbWFwX2ludGVyc2VjdF9kb21haW4pCisrI2RlZmluZSBpc2xfbWFwX2ludGVyc2VjdF9y YW5nZSAoKmlzbF9wb2ludGVyc19fLnBfaXNsX21hcF9pbnRlcnNlY3RfcmFuZ2UpCisrI2RlZmlu ZSBpc2xfbWFwX2lzX2VtcHR5ICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfbWFwX2lzX2VtcHR5KQor KyNkZWZpbmUgaXNsX21hcF9sZXhfZ2UgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9tYXBfbGV4X2dl KQorKyNkZWZpbmUgaXNsX21hcF9sZXhfbGUgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9tYXBfbGV4 X2xlKQorKyNkZWZpbmUgaXNsX21hcF9uX291dCAoKmlzbF9wb2ludGVyc19fLnBfaXNsX21hcF9u X291dCkKKysjZGVmaW5lIGlzbF9tYXBfcmFuZ2UgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9tYXBf cmFuZ2UpCisrI2RlZmluZSBpc2xfbWFwX3NldF90dXBsZV9pZCAoKmlzbF9wb2ludGVyc19fLnBf aXNsX21hcF9zZXRfdHVwbGVfaWQpCisrI2RlZmluZSBpc2xfbWFwX3VuaXZlcnNlICgqaXNsX3Bv aW50ZXJzX18ucF9pc2xfbWFwX3VuaXZlcnNlKQorKyNkZWZpbmUgaXNsX29wdGlvbnNfc2V0X29u X2Vycm9yICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfb3B0aW9uc19zZXRfb25fZXJyb3IpCisrI2Rl ZmluZSBpc2xfb3B0aW9uc19zZXRfc2NoZWR1bGVfc2VyaWFsaXplX3NjY3MgKCppc2xfcG9pbnRl cnNfXy5wX2lzbF9vcHRpb25zX3NldF9zY2hlZHVsZV9zZXJpYWxpemVfc2NjcykKKysjZGVmaW5l IGlzbF9wcmludGVyX3NldF95YW1sX3N0eWxlICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfcHJpbnRl cl9zZXRfeWFtbF9zdHlsZSkKKysjZGVmaW5lIGlzbF9vcHRpb25zX3NldF9zY2hlZHVsZV9tYXhf Y29uc3RhbnRfdGVybSAoKmlzbF9wb2ludGVyc19fLnBfaXNsX29wdGlvbnNfc2V0X3NjaGVkdWxl X21heF9jb25zdGFudF90ZXJtKQorKyNkZWZpbmUgaXNsX29wdGlvbnNfc2V0X3NjaGVkdWxlX21h eGltaXplX2JhbmRfZGVwdGggKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9vcHRpb25zX3NldF9zY2hl ZHVsZV9tYXhpbWl6ZV9iYW5kX2RlcHRoKQorKyNkZWZpbmUgaXNsX3ByaW50ZXJfZnJlZSAoKmlz bF9wb2ludGVyc19fLnBfaXNsX3ByaW50ZXJfZnJlZSkKKysjZGVmaW5lIGlzbF9wcmludGVyX3By aW50X2FmZiAoKmlzbF9wb2ludGVyc19fLnBfaXNsX3ByaW50ZXJfcHJpbnRfYWZmKQorKyNkZWZp bmUgaXNsX3ByaW50ZXJfcHJpbnRfY29uc3RyYWludCAoKmlzbF9wb2ludGVyc19fLnBfaXNsX3By aW50ZXJfcHJpbnRfY29uc3RyYWludCkKKysjZGVmaW5lIGlzbF9wcmludGVyX3ByaW50X21hcCAo KmlzbF9wb2ludGVyc19fLnBfaXNsX3ByaW50ZXJfcHJpbnRfbWFwKQorKyNkZWZpbmUgaXNsX3By aW50ZXJfcHJpbnRfc2V0ICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfcHJpbnRlcl9wcmludF9zZXQp CisrI2RlZmluZSBpc2xfcHJpbnRlcl90b19maWxlICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfcHJp bnRlcl90b19maWxlKQorKyNkZWZpbmUgaXNsX3B3X2FmZl9hZGQgKCppc2xfcG9pbnRlcnNfXy5w X2lzbF9wd19hZmZfYWRkKQorKyNkZWZpbmUgaXNsX3B3X2FmZl9hbGxvYyAoKmlzbF9wb2ludGVy c19fLnBfaXNsX3B3X2FmZl9hbGxvYykKKysjZGVmaW5lIGlzbF9wd19hZmZfY29weSAoKmlzbF9w b2ludGVyc19fLnBfaXNsX3B3X2FmZl9jb3B5KQorKyNkZWZpbmUgaXNsX3B3X2FmZl9lcV9zZXQg KCppc2xfcG9pbnRlcnNfXy5wX2lzbF9wd19hZmZfZXFfc2V0KQorKyNkZWZpbmUgaXNsX3B3X2Fm Zl9mcmVlICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfcHdfYWZmX2ZyZWUpCisrI2RlZmluZSBpc2xf cHdfYWZmX2Zyb21fYWZmICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfcHdfYWZmX2Zyb21fYWZmKQor KyNkZWZpbmUgaXNsX3B3X2FmZl9nZV9zZXQgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9wd19hZmZf Z2Vfc2V0KQorKyNkZWZpbmUgaXNsX3B3X2FmZl9ndF9zZXQgKCppc2xfcG9pbnRlcnNfXy5wX2lz bF9wd19hZmZfZ3Rfc2V0KQorKyNkZWZpbmUgaXNsX3B3X2FmZl9pc19jc3QgKCppc2xfcG9pbnRl cnNfXy5wX2lzbF9wd19hZmZfaXNfY3N0KQorKyNkZWZpbmUgaXNsX3B3X2FmZl9sZV9zZXQgKCpp c2xfcG9pbnRlcnNfXy5wX2lzbF9wd19hZmZfbGVfc2V0KQorKyNkZWZpbmUgaXNsX3B3X2FmZl9s dF9zZXQgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9wd19hZmZfbHRfc2V0KQorKyNkZWZpbmUgaXNs X3B3X2FmZl9tdWwgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9wd19hZmZfbXVsKQorKyNkZWZpbmUg aXNsX3B3X2FmZl9uZV9zZXQgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9wd19hZmZfbmVfc2V0KQor KyNkZWZpbmUgaXNsX3B3X2FmZl9ub25uZWdfc2V0ICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfcHdf YWZmX25vbm5lZ19zZXQpCisrI2RlZmluZSBpc2xfcHdfYWZmX3NldF90dXBsZV9pZCAoKmlzbF9w b2ludGVyc19fLnBfaXNsX3B3X2FmZl9zZXRfdHVwbGVfaWQpCisrI2RlZmluZSBpc2xfcHdfYWZm X3N1YiAoKmlzbF9wb2ludGVyc19fLnBfaXNsX3B3X2FmZl9zdWIpCisrI2RlZmluZSBpc2xfcHdf YWZmX3plcm9fc2V0ICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfcHdfYWZmX3plcm9fc2V0KQorKyNk ZWZpbmUgaXNsX3NjaGVkdWxlX2ZyZWUgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9zY2hlZHVsZV9m cmVlKQorKyNkZWZpbmUgaXNsX3NjaGVkdWxlX2dldF9iYW5kX2ZvcmVzdCAoKmlzbF9wb2ludGVy c19fLnBfaXNsX3NjaGVkdWxlX2dldF9iYW5kX2ZvcmVzdCkKKysjZGVmaW5lIGlzbF9zZXRfYWRk X2NvbnN0cmFpbnQgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9zZXRfYWRkX2NvbnN0cmFpbnQpCisr I2RlZmluZSBpc2xfc2V0X2FkZF9kaW1zICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfc2V0X2FkZF9k aW1zKQorKyNkZWZpbmUgaXNsX3NldF9hcHBseSAoKmlzbF9wb2ludGVyc19fLnBfaXNsX3NldF9h cHBseSkKKysjZGVmaW5lIGlzbF9zZXRfY29hbGVzY2UgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9z ZXRfY29hbGVzY2UpCisrI2RlZmluZSBpc2xfc2V0X2NvcHkgKCppc2xfcG9pbnRlcnNfXy5wX2lz bF9zZXRfY29weSkKKysjZGVmaW5lIGlzbF9zZXRfZGltICgqaXNsX3BvaW50ZXJzX18ucF9pc2xf c2V0X2RpbSkKKysjZGVmaW5lIGlzbF9zZXRfZml4X3NpICgqaXNsX3BvaW50ZXJzX18ucF9pc2xf c2V0X2ZpeF9zaSkKKysjZGVmaW5lIGlzbF9zZXRfZnJlZSAoKmlzbF9wb2ludGVyc19fLnBfaXNs X3NldF9mcmVlKQorKyNkZWZpbmUgaXNsX3NldF9nZXRfc3BhY2UgKCppc2xfcG9pbnRlcnNfXy5w X2lzbF9zZXRfZ2V0X3NwYWNlKQorKyNkZWZpbmUgaXNsX3NldF9nZXRfdHVwbGVfaWQgKCppc2xf cG9pbnRlcnNfXy5wX2lzbF9zZXRfZ2V0X3R1cGxlX2lkKQorKyNkZWZpbmUgaXNsX3NldF9pbnRl cnNlY3QgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9zZXRfaW50ZXJzZWN0KQorKyNkZWZpbmUgaXNs X3NldF9pc19lbXB0eSAoKmlzbF9wb2ludGVyc19fLnBfaXNsX3NldF9pc19lbXB0eSkKKysjZGVm aW5lIGlzbF9zZXRfbl9kaW0gKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9zZXRfbl9kaW0pCisrI2Rl ZmluZSBpc2xfc2V0X25hdF91bml2ZXJzZSAoKmlzbF9wb2ludGVyc19fLnBfaXNsX3NldF9uYXRf dW5pdmVyc2UpCisrI2RlZmluZSBpc2xfc2V0X3Byb2plY3Rfb3V0ICgqaXNsX3BvaW50ZXJzX18u cF9pc2xfc2V0X3Byb2plY3Rfb3V0KQorKyNkZWZpbmUgaXNsX3NldF9zZXRfdHVwbGVfaWQgKCpp c2xfcG9pbnRlcnNfXy5wX2lzbF9zZXRfc2V0X3R1cGxlX2lkKQorKyNkZWZpbmUgaXNsX3NldF91 bml2ZXJzZSAoKmlzbF9wb2ludGVyc19fLnBfaXNsX3NldF91bml2ZXJzZSkKKysjZGVmaW5lIGlz bF9zcGFjZV9hZGRfZGltcyAoKmlzbF9wb2ludGVyc19fLnBfaXNsX3NwYWNlX2FkZF9kaW1zKQor KyNkZWZpbmUgaXNsX3NwYWNlX2FsbG9jICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfc3BhY2VfYWxs b2MpCisrI2RlZmluZSBpc2xfc3BhY2VfY29weSAoKmlzbF9wb2ludGVyc19fLnBfaXNsX3NwYWNl X2NvcHkpCisrI2RlZmluZSBpc2xfc3BhY2VfZGltICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfc3Bh Y2VfZGltKQorKyNkZWZpbmUgaXNsX3NwYWNlX2RvbWFpbiAoKmlzbF9wb2ludGVyc19fLnBfaXNs X3NwYWNlX2RvbWFpbikKKysjZGVmaW5lIGlzbF9zcGFjZV9maW5kX2RpbV9ieV9pZCAoKmlzbF9w b2ludGVyc19fLnBfaXNsX3NwYWNlX2ZpbmRfZGltX2J5X2lkKQorKyNkZWZpbmUgaXNsX3NwYWNl X2ZyZWUgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9zcGFjZV9mcmVlKQorKyNkZWZpbmUgaXNsX3Nw YWNlX2Zyb21fZG9tYWluICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfc3BhY2VfZnJvbV9kb21haW4p CisrI2RlZmluZSBpc2xfc3BhY2VfZ2V0X3R1cGxlX2lkICgqaXNsX3BvaW50ZXJzX18ucF9pc2xf c3BhY2VfZ2V0X3R1cGxlX2lkKQorKyNkZWZpbmUgaXNsX3NwYWNlX3BhcmFtc19hbGxvYyAoKmlz bF9wb2ludGVyc19fLnBfaXNsX3NwYWNlX3BhcmFtc19hbGxvYykKKysjZGVmaW5lIGlzbF9zcGFj ZV9yYW5nZSAoKmlzbF9wb2ludGVyc19fLnBfaXNsX3NwYWNlX3JhbmdlKQorKyNkZWZpbmUgaXNs X3NwYWNlX3NldF9hbGxvYyAoKmlzbF9wb2ludGVyc19fLnBfaXNsX3NwYWNlX3NldF9hbGxvYykK KysjZGVmaW5lIGlzbF9zcGFjZV9zZXRfZGltX2lkICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfc3Bh Y2Vfc2V0X2RpbV9pZCkKKysjZGVmaW5lIGlzbF9zcGFjZV9zZXRfdHVwbGVfaWQgKCppc2xfcG9p bnRlcnNfXy5wX2lzbF9zcGFjZV9zZXRfdHVwbGVfaWQpCisrI2RlZmluZSBpc2xfdW5pb25fbWFw X2FkZF9tYXAgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF91bmlvbl9tYXBfYWRkX21hcCkKKysjZGVm aW5lIGlzbF91bmlvbl9tYXBfYWxpZ25fcGFyYW1zICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfdW5p b25fbWFwX2FsaWduX3BhcmFtcykKKysjZGVmaW5lIGlzbF91bmlvbl9tYXBfYXBwbHlfZG9tYWlu ICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfdW5pb25fbWFwX2FwcGx5X2RvbWFpbikKKysjZGVmaW5l IGlzbF91bmlvbl9tYXBfYXBwbHlfcmFuZ2UgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF91bmlvbl9t YXBfYXBwbHlfcmFuZ2UpCisrI2RlZmluZSBpc2xfdW5pb25fbWFwX2NvbXB1dGVfZmxvdyAoKmlz bF9wb2ludGVyc19fLnBfaXNsX3VuaW9uX21hcF9jb21wdXRlX2Zsb3cpCisrI2RlZmluZSBpc2xf dW5pb25fbWFwX2NvcHkgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF91bmlvbl9tYXBfY29weSkKKysj ZGVmaW5lIGlzbF91bmlvbl9tYXBfZW1wdHkgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF91bmlvbl9t YXBfZW1wdHkpCisrI2RlZmluZSBpc2xfdW5pb25fbWFwX2ZsYXRfcmFuZ2VfcHJvZHVjdCAoKmlz bF9wb2ludGVyc19fLnBfaXNsX3VuaW9uX21hcF9mbGF0X3JhbmdlX3Byb2R1Y3QpCisrI2RlZmlu ZSBpc2xfdW5pb25fbWFwX2ZvcmVhY2hfbWFwICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfdW5pb25f bWFwX2ZvcmVhY2hfbWFwKQorKyNkZWZpbmUgaXNsX3VuaW9uX21hcF9mcmVlICgqaXNsX3BvaW50 ZXJzX18ucF9pc2xfdW5pb25fbWFwX2ZyZWUpCisrI2RlZmluZSBpc2xfdW5pb25fbWFwX2Zyb21f bWFwICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfdW5pb25fbWFwX2Zyb21fbWFwKQorKyNkZWZpbmUg aXNsX3VuaW9uX21hcF9nZXRfY3R4ICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfdW5pb25fbWFwX2dl dF9jdHgpCisrI2RlZmluZSBpc2xfdW5pb25fbWFwX2dldF9zcGFjZSAoKmlzbF9wb2ludGVyc19f LnBfaXNsX3VuaW9uX21hcF9nZXRfc3BhY2UpCisrI2RlZmluZSBpc2xfdW5pb25fbWFwX2dpc3Rf ZG9tYWluICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfdW5pb25fbWFwX2dpc3RfZG9tYWluKQorKyNk ZWZpbmUgaXNsX3VuaW9uX21hcF9naXN0X3JhbmdlICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfdW5p b25fbWFwX2dpc3RfcmFuZ2UpCisrI2RlZmluZSBpc2xfdW5pb25fbWFwX2ludGVyc2VjdF9kb21h aW4gKCppc2xfcG9pbnRlcnNfXy5wX2lzbF91bmlvbl9tYXBfaW50ZXJzZWN0X2RvbWFpbikKKysj ZGVmaW5lIGlzbF91bmlvbl9tYXBfaXNfZW1wdHkgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF91bmlv bl9tYXBfaXNfZW1wdHkpCisrI2RlZmluZSBpc2xfdW5pb25fbWFwX3N1YnRyYWN0ICgqaXNsX3Bv aW50ZXJzX18ucF9pc2xfdW5pb25fbWFwX3N1YnRyYWN0KQorKyNkZWZpbmUgaXNsX3VuaW9uX21h cF91bmlvbiAoKmlzbF9wb2ludGVyc19fLnBfaXNsX3VuaW9uX21hcF91bmlvbikKKysjZGVmaW5l IGlzbF91bmlvbl9zZXRfYWRkX3NldCAoKmlzbF9wb2ludGVyc19fLnBfaXNsX3VuaW9uX3NldF9h ZGRfc2V0KQorKyNkZWZpbmUgaXNsX3VuaW9uX3NldF9jb21wdXRlX3NjaGVkdWxlICgqaXNsX3Bv aW50ZXJzX18ucF9pc2xfdW5pb25fc2V0X2NvbXB1dGVfc2NoZWR1bGUpCisrI2RlZmluZSBpc2xf dW5pb25fc2V0X2NvcHkgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF91bmlvbl9zZXRfY29weSkKKysj ZGVmaW5lIGlzbF91bmlvbl9zZXRfZW1wdHkgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF91bmlvbl9z ZXRfZW1wdHkpCisrI2RlZmluZSBpc2xfdW5pb25fc2V0X2Zyb21fc2V0ICgqaXNsX3BvaW50ZXJz X18ucF9pc2xfdW5pb25fc2V0X2Zyb21fc2V0KQorKyNkZWZpbmUgaXNsX2FmZl9hZGRfY29uc3Rh bnRfdmFsICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfYWZmX2FkZF9jb25zdGFudF92YWwpCisrI2Rl ZmluZSBpc2xfYWZmX2dldF9jb2VmZmljaWVudF92YWwgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9h ZmZfZ2V0X2NvZWZmaWNpZW50X3ZhbCkKKysjZGVmaW5lIGlzbF9hZmZfZ2V0X2N0eCAoKmlzbF9w b2ludGVyc19fLnBfaXNsX2FmZl9nZXRfY3R4KQorKyNkZWZpbmUgaXNsX2FmZl9tb2RfdmFsICgq aXNsX3BvaW50ZXJzX18ucF9pc2xfYWZmX21vZF92YWwpCisrI2RlZmluZSBpc2xfYXN0X2J1aWxk X2FzdF9mcm9tX3NjaGVkdWxlICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfYXN0X2J1aWxkX2FzdF9m cm9tX3NjaGVkdWxlKQorKyNkZWZpbmUgaXNsX2FzdF9idWlsZF9mcmVlICgqaXNsX3BvaW50ZXJz X18ucF9pc2xfYXN0X2J1aWxkX2ZyZWUpCisrI2RlZmluZSBpc2xfYXN0X2J1aWxkX2Zyb21fY29u dGV4dCAoKmlzbF9wb2ludGVyc19fLnBfaXNsX2FzdF9idWlsZF9mcm9tX2NvbnRleHQpCisrI2Rl ZmluZSBpc2xfYXN0X2J1aWxkX2dldF9jdHggKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9hc3RfYnVp bGRfZ2V0X2N0eCkKKysjZGVmaW5lIGlzbF9hc3RfYnVpbGRfZ2V0X3NjaGVkdWxlICgqaXNsX3Bv aW50ZXJzX18ucF9pc2xfYXN0X2J1aWxkX2dldF9zY2hlZHVsZSkKKysjZGVmaW5lIGlzbF9hc3Rf YnVpbGRfZ2V0X3NjaGVkdWxlX3NwYWNlICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfYXN0X2J1aWxk X2dldF9zY2hlZHVsZV9zcGFjZSkKKysjZGVmaW5lIGlzbF9hc3RfYnVpbGRfc2V0X2JlZm9yZV9l YWNoX2ZvciAoKmlzbF9wb2ludGVyc19fLnBfaXNsX2FzdF9idWlsZF9zZXRfYmVmb3JlX2VhY2hf Zm9yKQorKyNkZWZpbmUgaXNsX2FzdF9idWlsZF9zZXRfb3B0aW9ucyAoKmlzbF9wb2ludGVyc19f LnBfaXNsX2FzdF9idWlsZF9zZXRfb3B0aW9ucykKKysjZGVmaW5lIGlzbF9hc3RfZXhwcl9mcmVl ICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfYXN0X2V4cHJfZnJlZSkKKysjZGVmaW5lIGlzbF9hc3Rf ZXhwcl9mcm9tX3ZhbCAoKmlzbF9wb2ludGVyc19fLnBfaXNsX2FzdF9leHByX2Zyb21fdmFsKQor KyNkZWZpbmUgaXNsX2FzdF9leHByX2dldF9jdHggKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9hc3Rf ZXhwcl9nZXRfY3R4KQorKyNkZWZpbmUgaXNsX2FzdF9leHByX2dldF9pZCAoKmlzbF9wb2ludGVy c19fLnBfaXNsX2FzdF9leHByX2dldF9pZCkKKysjZGVmaW5lIGlzbF9hc3RfZXhwcl9nZXRfb3Bf YXJnICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfYXN0X2V4cHJfZ2V0X29wX2FyZykKKysjZGVmaW5l IGlzbF9hc3RfZXhwcl9nZXRfb3Bfbl9hcmcgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9hc3RfZXhw cl9nZXRfb3Bfbl9hcmcpCisrI2RlZmluZSBpc2xfYXN0X2V4cHJfZ2V0X29wX3R5cGUgKCppc2xf cG9pbnRlcnNfXy5wX2lzbF9hc3RfZXhwcl9nZXRfb3BfdHlwZSkKKysjZGVmaW5lIGlzbF9hc3Rf ZXhwcl9nZXRfdHlwZSAoKmlzbF9wb2ludGVyc19fLnBfaXNsX2FzdF9leHByX2dldF90eXBlKQor KyNkZWZpbmUgaXNsX2FzdF9leHByX2dldF92YWwgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9hc3Rf ZXhwcl9nZXRfdmFsKQorKyNkZWZpbmUgaXNsX2FzdF9leHByX3N1YiAoKmlzbF9wb2ludGVyc19f LnBfaXNsX2FzdF9leHByX3N1YikKKysjZGVmaW5lIGlzbF9hc3Rfbm9kZV9ibG9ja19nZXRfY2hp bGRyZW4gKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9hc3Rfbm9kZV9ibG9ja19nZXRfY2hpbGRyZW4p CisrI2RlZmluZSBpc2xfYXN0X25vZGVfZm9yX2dldF9ib2R5ICgqaXNsX3BvaW50ZXJzX18ucF9p c2xfYXN0X25vZGVfZm9yX2dldF9ib2R5KQorKyNkZWZpbmUgaXNsX2FzdF9ub2RlX2Zvcl9nZXRf Y29uZCAoKmlzbF9wb2ludGVyc19fLnBfaXNsX2FzdF9ub2RlX2Zvcl9nZXRfY29uZCkKKysjZGVm aW5lIGlzbF9hc3Rfbm9kZV9mb3JfZ2V0X2luYyAoKmlzbF9wb2ludGVyc19fLnBfaXNsX2FzdF9u b2RlX2Zvcl9nZXRfaW5jKQorKyNkZWZpbmUgaXNsX2FzdF9ub2RlX2Zvcl9nZXRfaW5pdCAoKmlz bF9wb2ludGVyc19fLnBfaXNsX2FzdF9ub2RlX2Zvcl9nZXRfaW5pdCkKKysjZGVmaW5lIGlzbF9h c3Rfbm9kZV9mb3JfZ2V0X2l0ZXJhdG9yICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfYXN0X25vZGVf Zm9yX2dldF9pdGVyYXRvcikKKysjZGVmaW5lIGlzbF9hc3Rfbm9kZV9mcmVlICgqaXNsX3BvaW50 ZXJzX18ucF9pc2xfYXN0X25vZGVfZnJlZSkKKysjZGVmaW5lIGlzbF9hc3Rfbm9kZV9nZXRfYW5u b3RhdGlvbiAoKmlzbF9wb2ludGVyc19fLnBfaXNsX2FzdF9ub2RlX2dldF9hbm5vdGF0aW9uKQor KyNkZWZpbmUgaXNsX2FzdF9ub2RlX2dldF90eXBlICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfYXN0 X25vZGVfZ2V0X3R5cGUpCisrI2RlZmluZSBpc2xfYXN0X25vZGVfaWZfZ2V0X2NvbmQgKCppc2xf cG9pbnRlcnNfXy5wX2lzbF9hc3Rfbm9kZV9pZl9nZXRfY29uZCkKKysjZGVmaW5lIGlzbF9hc3Rf bm9kZV9pZl9nZXRfZWxzZSAoKmlzbF9wb2ludGVyc19fLnBfaXNsX2FzdF9ub2RlX2lmX2dldF9l bHNlKQorKyNkZWZpbmUgaXNsX2FzdF9ub2RlX2lmX2dldF90aGVuICgqaXNsX3BvaW50ZXJzX18u cF9pc2xfYXN0X25vZGVfaWZfZ2V0X3RoZW4pCisrI2RlZmluZSBpc2xfYXN0X25vZGVfbGlzdF9m cmVlICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfYXN0X25vZGVfbGlzdF9mcmVlKQorKyNkZWZpbmUg aXNsX2FzdF9ub2RlX2xpc3RfZ2V0X2FzdF9ub2RlICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfYXN0 X25vZGVfbGlzdF9nZXRfYXN0X25vZGUpCisrI2RlZmluZSBpc2xfYXN0X25vZGVfbGlzdF9uX2Fz dF9ub2RlICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfYXN0X25vZGVfbGlzdF9uX2FzdF9ub2RlKQor KyNkZWZpbmUgaXNsX2FzdF9ub2RlX3VzZXJfZ2V0X2V4cHIgKCppc2xfcG9pbnRlcnNfXy5wX2lz bF9hc3Rfbm9kZV91c2VyX2dldF9leHByKQorKyNkZWZpbmUgaXNsX2NvbnN0cmFpbnRfc2V0X2Nv ZWZmaWNpZW50X3ZhbCAoKmlzbF9wb2ludGVyc19fLnBfaXNsX2NvbnN0cmFpbnRfc2V0X2NvZWZm aWNpZW50X3ZhbCkKKysjZGVmaW5lIGlzbF9jb25zdHJhaW50X3NldF9jb25zdGFudF92YWwgKCpp c2xfcG9pbnRlcnNfXy5wX2lzbF9jb25zdHJhaW50X3NldF9jb25zdGFudF92YWwpCisrI2RlZmlu ZSBpc2xfaWRfZ2V0X3VzZXIgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9pZF9nZXRfdXNlcikKKysj ZGVmaW5lIGlzbF9sb2NhbF9zcGFjZV9nZXRfY3R4ICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfbG9j YWxfc3BhY2VfZ2V0X2N0eCkKKysjZGVmaW5lIGlzbF9tYXBfZml4X3ZhbCAoKmlzbF9wb2ludGVy c19fLnBfaXNsX21hcF9maXhfdmFsKQorKyNkZWZpbmUgaXNsX29wdGlvbnNfc2V0X2FzdF9idWls ZF9hdG9taWNfdXBwZXJfYm91bmQgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9vcHRpb25zX3NldF9h c3RfYnVpbGRfYXRvbWljX3VwcGVyX2JvdW5kKQorKyNkZWZpbmUgaXNsX3ByaW50ZXJfcHJpbnRf YXN0X25vZGUgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9wcmludGVyX3ByaW50X2FzdF9ub2RlKQor KyNkZWZpbmUgaXNsX3ByaW50ZXJfcHJpbnRfc3RyICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfcHJp bnRlcl9wcmludF9zdHIpCisrI2RlZmluZSBpc2xfcHJpbnRlcl9zZXRfb3V0cHV0X2Zvcm1hdCAo KmlzbF9wb2ludGVyc19fLnBfaXNsX3ByaW50ZXJfc2V0X291dHB1dF9mb3JtYXQpCisrI2RlZmlu ZSBpc2xfcHdfYWZmX21vZF92YWwgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9wd19hZmZfbW9kX3Zh bCkKKysjZGVmaW5lIGlzbF9zY2hlZHVsZV9jb25zdHJhaW50c19jb21wdXRlX3NjaGVkdWxlICgq aXNsX3BvaW50ZXJzX18ucF9pc2xfc2NoZWR1bGVfY29uc3RyYWludHNfY29tcHV0ZV9zY2hlZHVs ZSkKKysjZGVmaW5lIGlzbF9zY2hlZHVsZV9jb25zdHJhaW50c19vbl9kb21haW4gKCppc2xfcG9p bnRlcnNfXy5wX2lzbF9zY2hlZHVsZV9jb25zdHJhaW50c19vbl9kb21haW4pCisrI2RlZmluZSBp c2xfc2NoZWR1bGVfY29uc3RyYWludHNfc2V0X2NvaW5jaWRlbmNlICgqaXNsX3BvaW50ZXJzX18u cF9pc2xfc2NoZWR1bGVfY29uc3RyYWludHNfc2V0X2NvaW5jaWRlbmNlKQorKyNkZWZpbmUgaXNs X3NjaGVkdWxlX2NvbnN0cmFpbnRzX3NldF9wcm94aW1pdHkgKCppc2xfcG9pbnRlcnNfXy5wX2lz bF9zY2hlZHVsZV9jb25zdHJhaW50c19zZXRfcHJveGltaXR5KQorKyNkZWZpbmUgaXNsX3NjaGVk dWxlX2NvbnN0cmFpbnRzX3NldF92YWxpZGl0eSAoKmlzbF9wb2ludGVyc19fLnBfaXNsX3NjaGVk dWxlX2NvbnN0cmFpbnRzX3NldF92YWxpZGl0eSkKKysjZGVmaW5lIGlzbF9zZXRfZ2V0X2RpbV9p ZCAoKmlzbF9wb2ludGVyc19fLnBfaXNsX3NldF9nZXRfZGltX2lkKQorKyNkZWZpbmUgaXNsX3Nl dF9tYXhfdmFsICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfc2V0X21heF92YWwpCisrI2RlZmluZSBp c2xfc2V0X21pbl92YWwgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9zZXRfbWluX3ZhbCkKKysjZGVm aW5lIGlzbF9zZXRfcGFyYW1zICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfc2V0X3BhcmFtcykKKysj ZGVmaW5lIGlzbF9zcGFjZV9hbGlnbl9wYXJhbXMgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9zcGFj ZV9hbGlnbl9wYXJhbXMpCisrI2RlZmluZSBpc2xfc3BhY2VfbWFwX2Zyb21fZG9tYWluX2FuZF9y YW5nZSAoKmlzbF9wb2ludGVyc19fLnBfaXNsX3NwYWNlX21hcF9mcm9tX2RvbWFpbl9hbmRfcmFu Z2UpCisrI2RlZmluZSBpc2xfc3BhY2Vfc2V0X3R1cGxlX25hbWUgKCppc2xfcG9pbnRlcnNfXy5w X2lzbF9zcGFjZV9zZXRfdHVwbGVfbmFtZSkKKysjZGVmaW5lIGlzbF9zcGFjZV93cmFwICgqaXNs X3BvaW50ZXJzX18ucF9pc2xfc3BhY2Vfd3JhcCkKKysjZGVmaW5lIGlzbF91bmlvbl9tYXBfZnJv bV9kb21haW5fYW5kX3JhbmdlICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfdW5pb25fbWFwX2Zyb21f ZG9tYWluX2FuZF9yYW5nZSkKKysjZGVmaW5lIGlzbF91bmlvbl9tYXBfcmFuZ2UgKCppc2xfcG9p bnRlcnNfXy5wX2lzbF91bmlvbl9tYXBfcmFuZ2UpCisrI2RlZmluZSBpc2xfdW5pb25fc2V0X3Vu aW9uICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfdW5pb25fc2V0X3VuaW9uKQorKyNkZWZpbmUgaXNs X3VuaW9uX3NldF91bml2ZXJzZSAoKmlzbF9wb2ludGVyc19fLnBfaXNsX3VuaW9uX3NldF91bml2 ZXJzZSkKKysjZGVmaW5lIGlzbF92YWxfMmV4cCAoKmlzbF9wb2ludGVyc19fLnBfaXNsX3ZhbF8y ZXhwKQorKyNkZWZpbmUgaXNsX3ZhbF9hZGRfdWkgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF92YWxf YWRkX3VpKQorKyNkZWZpbmUgaXNsX3ZhbF9jb3B5ICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfdmFs X2NvcHkpCisrI2RlZmluZSBpc2xfdmFsX2ZyZWUgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF92YWxf ZnJlZSkKKysjZGVmaW5lIGlzbF92YWxfaW50X2Zyb21fc2kgKCppc2xfcG9pbnRlcnNfXy5wX2lz bF92YWxfaW50X2Zyb21fc2kpCisrI2RlZmluZSBpc2xfdmFsX2ludF9mcm9tX3VpICgqaXNsX3Bv aW50ZXJzX18ucF9pc2xfdmFsX2ludF9mcm9tX3VpKQorKyNkZWZpbmUgaXNsX3ZhbF9tdWwgKCpp c2xfcG9pbnRlcnNfXy5wX2lzbF92YWxfbXVsKQorKyNkZWZpbmUgaXNsX3ZhbF9uZWcgKCppc2xf cG9pbnRlcnNfXy5wX2lzbF92YWxfbmVnKQorKyNkZWZpbmUgaXNsX3ZhbF9zdWIgKCppc2xfcG9p bnRlcnNfXy5wX2lzbF92YWxfc3ViKQorKyNkZWZpbmUgaXNsX3ByaW50ZXJfcHJpbnRfdW5pb25f bWFwICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfcHJpbnRlcl9wcmludF91bmlvbl9tYXApCisrI2Rl ZmluZSBpc2xfcHdfYWZmX2dldF9jdHggKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9wd19hZmZfZ2V0 X2N0eCkKKysjZGVmaW5lIGlzbF92YWxfaXNfaW50ICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfdmFs X2lzX2ludCkKKysjZGVmaW5lIGlzbF9jdHhfZ2V0X21heF9vcGVyYXRpb25zICgqaXNsX3BvaW50 ZXJzX18ucF9pc2xfY3R4X2dldF9tYXhfb3BlcmF0aW9ucykKKysjZGVmaW5lIGlzbF9jdHhfc2V0 X21heF9vcGVyYXRpb25zICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfY3R4X3NldF9tYXhfb3BlcmF0 aW9ucykKKysjZGVmaW5lIGlzbF9jdHhfbGFzdF9lcnJvciAoKmlzbF9wb2ludGVyc19fLnBfaXNs X2N0eF9sYXN0X2Vycm9yKQorKyNkZWZpbmUgaXNsX2N0eF9yZXNldF9vcGVyYXRpb25zICgqaXNs X3BvaW50ZXJzX18ucF9pc2xfY3R4X3Jlc2V0X29wZXJhdGlvbnMpCisrI2RlZmluZSBpc2xfbWFw X2NvYWxlc2NlICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfbWFwX2NvYWxlc2NlKQorKyNkZWZpbmUg aXNsX3ByaW50ZXJfcHJpbnRfc2NoZWR1bGUgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9wcmludGVy X3ByaW50X3NjaGVkdWxlKQorKyNkZWZpbmUgaXNsX3NldF9zZXRfZGltX2lkICgqaXNsX3BvaW50 ZXJzX18ucF9pc2xfc2V0X3NldF9kaW1faWQpCisrI2RlZmluZSBpc2xfdW5pb25fbWFwX2NvYWxl c2NlICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfdW5pb25fbWFwX2NvYWxlc2NlKQorKyNkZWZpbmUg aXNsX211bHRpX3ZhbF9zZXRfdmFsICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfbXVsdGlfdmFsX3Nl dF92YWwpCisrI2RlZmluZSBpc2xfbXVsdGlfdmFsX3plcm8gKCppc2xfcG9pbnRlcnNfXy5wX2lz bF9tdWx0aV92YWxfemVybykKKysjZGVmaW5lIGlzbF9vcHRpb25zX3NldF9zY2hlZHVsZV9tYXhf Y29lZmZpY2llbnQgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9vcHRpb25zX3NldF9zY2hlZHVsZV9t YXhfY29lZmZpY2llbnQpCisrI2RlZmluZSBpc2xfb3B0aW9uc19zZXRfdGlsZV9zY2FsZV90aWxl X2xvb3BzICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfb3B0aW9uc19zZXRfdGlsZV9zY2FsZV90aWxl X2xvb3BzKQorKyNkZWZpbmUgaXNsX3NjaGVkdWxlX2NvcHkgKCppc2xfcG9pbnRlcnNfXy5wX2lz bF9zY2hlZHVsZV9jb3B5KQorKyNkZWZpbmUgaXNsX3NjaGVkdWxlX2dldF9tYXAgKCppc2xfcG9p bnRlcnNfXy5wX2lzbF9zY2hlZHVsZV9nZXRfbWFwKQorKyNkZWZpbmUgaXNsX3NjaGVkdWxlX21h cF9zY2hlZHVsZV9ub2RlX2JvdHRvbV91cCAoKmlzbF9wb2ludGVyc19fLnBfaXNsX3NjaGVkdWxl X21hcF9zY2hlZHVsZV9ub2RlX2JvdHRvbV91cCkKKysjZGVmaW5lIGlzbF9zY2hlZHVsZV9ub2Rl X2JhbmRfZ2V0X3Blcm11dGFibGUgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9zY2hlZHVsZV9ub2Rl X2JhbmRfZ2V0X3Blcm11dGFibGUpCisrI2RlZmluZSBpc2xfc2NoZWR1bGVfbm9kZV9iYW5kX2dl dF9zcGFjZSAoKmlzbF9wb2ludGVyc19fLnBfaXNsX3NjaGVkdWxlX25vZGVfYmFuZF9nZXRfc3Bh Y2UpCisrI2RlZmluZSBpc2xfc2NoZWR1bGVfbm9kZV9iYW5kX3RpbGUgKCppc2xfcG9pbnRlcnNf Xy5wX2lzbF9zY2hlZHVsZV9ub2RlX2JhbmRfdGlsZSkKKysjZGVmaW5lIGlzbF9zY2hlZHVsZV9u b2RlX2NoaWxkICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfc2NoZWR1bGVfbm9kZV9jaGlsZCkKKysj ZGVmaW5lIGlzbF9zY2hlZHVsZV9ub2RlX2ZyZWUgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9zY2hl ZHVsZV9ub2RlX2ZyZWUpCisrI2RlZmluZSBpc2xfc2NoZWR1bGVfbm9kZV9nZXRfY2hpbGQgKCpp c2xfcG9pbnRlcnNfXy5wX2lzbF9zY2hlZHVsZV9ub2RlX2dldF9jaGlsZCkKKysjZGVmaW5lIGlz bF9zY2hlZHVsZV9ub2RlX2dldF9jdHggKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9zY2hlZHVsZV9u b2RlX2dldF9jdHgpCisrI2RlZmluZSBpc2xfc2NoZWR1bGVfbm9kZV9nZXRfdHlwZSAoKmlzbF9w b2ludGVyc19fLnBfaXNsX3NjaGVkdWxlX25vZGVfZ2V0X3R5cGUpCisrI2RlZmluZSBpc2xfc2No ZWR1bGVfbm9kZV9uX2NoaWxkcmVuICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfc2NoZWR1bGVfbm9k ZV9uX2NoaWxkcmVuKQorKyNkZWZpbmUgaXNsX3VuaW9uX21hcF9pc19lcXVhbCAoKmlzbF9wb2lu dGVyc19fLnBfaXNsX3VuaW9uX21hcF9pc19lcXVhbCkKKysjZGVmaW5lIGlzbF91bmlvbl9hY2Nl c3NfaW5mb19jb21wdXRlX2Zsb3cgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF91bmlvbl9hY2Nlc3Nf aW5mb19jb21wdXRlX2Zsb3cpCisrI2RlZmluZSBpc2xfdW5pb25fYWNjZXNzX2luZm9fZnJvbV9z aW5rICgqaXNsX3BvaW50ZXJzX18ucF9pc2xfdW5pb25fYWNjZXNzX2luZm9fZnJvbV9zaW5rKQor KyNkZWZpbmUgaXNsX3VuaW9uX2FjY2Vzc19pbmZvX3NldF9tYXlfc291cmNlICgqaXNsX3BvaW50 ZXJzX18ucF9pc2xfdW5pb25fYWNjZXNzX2luZm9fc2V0X21heV9zb3VyY2UpCisrI2RlZmluZSBp c2xfdW5pb25fYWNjZXNzX2luZm9fc2V0X211c3Rfc291cmNlICgqaXNsX3BvaW50ZXJzX18ucF9p c2xfdW5pb25fYWNjZXNzX2luZm9fc2V0X211c3Rfc291cmNlKQorKyNkZWZpbmUgaXNsX3VuaW9u X2FjY2Vzc19pbmZvX3NldF9zY2hlZHVsZSAoKmlzbF9wb2ludGVyc19fLnBfaXNsX3VuaW9uX2Fj Y2Vzc19pbmZvX3NldF9zY2hlZHVsZSkKKysjZGVmaW5lIGlzbF91bmlvbl9mbG93X2ZyZWUgKCpp c2xfcG9pbnRlcnNfXy5wX2lzbF91bmlvbl9mbG93X2ZyZWUpCisrI2RlZmluZSBpc2xfdW5pb25f Zmxvd19nZXRfbWF5X2RlcGVuZGVuY2UgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF91bmlvbl9mbG93 X2dldF9tYXlfZGVwZW5kZW5jZSkKKysjZGVmaW5lIGlzbF91bmlvbl9mbG93X2dldF9tdXN0X2Rl cGVuZGVuY2UgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF91bmlvbl9mbG93X2dldF9tdXN0X2RlcGVu ZGVuY2UpCisrI2RlZmluZSBpc2xfYWZmX3Zhcl9vbl9kb21haW4gKCppc2xfcG9pbnRlcnNfXy5w X2lzbF9hZmZfdmFyX29uX2RvbWFpbikKKysjZGVmaW5lIGlzbF9tdWx0aV9hZmZfZnJvbV9hZmYg KCppc2xfcG9pbnRlcnNfXy5wX2lzbF9tdWx0aV9hZmZfZnJvbV9hZmYpCisrI2RlZmluZSBpc2xf c2NoZWR1bGVfZ2V0X2N0eCAoKmlzbF9wb2ludGVyc19fLnBfaXNsX3NjaGVkdWxlX2dldF9jdHgp CisrI2RlZmluZSBpc2xfbXVsdGlfYWZmX3NldF90dXBsZV9pZCAoKmlzbF9wb2ludGVyc19fLnBf aXNsX211bHRpX2FmZl9zZXRfdHVwbGVfaWQpCisrI2RlZmluZSBpc2xfbXVsdGlfYWZmX2RpbSAo KmlzbF9wb2ludGVyc19fLnBfaXNsX211bHRpX2FmZl9kaW0pCisrI2RlZmluZSBpc2xfc2NoZWR1 bGVfZ2V0X2RvbWFpbiAoKmlzbF9wb2ludGVyc19fLnBfaXNsX3NjaGVkdWxlX2dldF9kb21haW4p CisrI2RlZmluZSBpc2xfdW5pb25fc2V0X2lzX2VtcHR5ICgqaXNsX3BvaW50ZXJzX18ucF9pc2xf dW5pb25fc2V0X2lzX2VtcHR5KQorKyNkZWZpbmUgaXNsX3VuaW9uX3NldF9nZXRfc3BhY2UgKCpp c2xfcG9pbnRlcnNfXy5wX2lzbF91bmlvbl9zZXRfZ2V0X3NwYWNlKQorKyNkZWZpbmUgaXNsX3Vu aW9uX3B3X211bHRpX2FmZl9lbXB0eSAoKmlzbF9wb2ludGVyc19fLnBfaXNsX3VuaW9uX3B3X211 bHRpX2FmZl9lbXB0eSkKKysjZGVmaW5lIGlzbF91bmlvbl9zZXRfZm9yZWFjaF9zZXQgKCppc2xf cG9pbnRlcnNfXy5wX2lzbF91bmlvbl9zZXRfZm9yZWFjaF9zZXQpCisrI2RlZmluZSBpc2xfdW5p b25fc2V0X2ZyZWUgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF91bmlvbl9zZXRfZnJlZSkKKysjZGVm aW5lIGlzbF9tdWx0aV91bmlvbl9wd19hZmZfZnJvbV91bmlvbl9wd19tdWx0aV9hZmYgKCppc2xf cG9pbnRlcnNfXy5wX2lzbF9tdWx0aV91bmlvbl9wd19hZmZfZnJvbV91bmlvbl9wd19tdWx0aV9h ZmYpCisrI2RlZmluZSBpc2xfbXVsdGlfdW5pb25fcHdfYWZmX2FwcGx5X211bHRpX2FmZiAoKmlz bF9wb2ludGVyc19fLnBfaXNsX211bHRpX3VuaW9uX3B3X2FmZl9hcHBseV9tdWx0aV9hZmYpCisr I2RlZmluZSBpc2xfc2NoZWR1bGVfaW5zZXJ0X3BhcnRpYWxfc2NoZWR1bGUgKCppc2xfcG9pbnRl cnNfXy5wX2lzbF9zY2hlZHVsZV9pbnNlcnRfcGFydGlhbF9zY2hlZHVsZSkKKysjZGVmaW5lIGlz bF91bmlvbl9wd19tdWx0aV9hZmZfZnJlZSAoKmlzbF9wb2ludGVyc19fLnBfaXNsX3VuaW9uX3B3 X211bHRpX2FmZl9mcmVlKQorKyNkZWZpbmUgaXNsX3B3X211bHRpX2FmZl9wcm9qZWN0X291dF9t YXAgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9wd19tdWx0aV9hZmZfcHJvamVjdF9vdXRfbWFwKQor KyNkZWZpbmUgaXNsX3VuaW9uX3B3X211bHRpX2FmZl9hZGRfcHdfbXVsdGlfYWZmICgqaXNsX3Bv aW50ZXJzX18ucF9pc2xfdW5pb25fcHdfbXVsdGlfYWZmX2FkZF9wd19tdWx0aV9hZmYpCisrI2Rl ZmluZSBpc2xfc2NoZWR1bGVfZnJvbV9kb21haW4gKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9zY2hl ZHVsZV9mcm9tX2RvbWFpbikKKysjZGVmaW5lIGlzbF9zY2hlZHVsZV9zZXF1ZW5jZSAoKmlzbF9w b2ludGVyc19fLnBfaXNsX3NjaGVkdWxlX3NlcXVlbmNlKQorKyNkZWZpbmUgaXNsX2FzdF9idWls ZF9ub2RlX2Zyb21fc2NoZWR1bGUgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9hc3RfYnVpbGRfbm9k ZV9mcm9tX3NjaGVkdWxlKQorKyNkZWZpbmUgaXNsX2FzdF9ub2RlX21hcmtfZ2V0X25vZGUgKCpp c2xfcG9pbnRlcnNfXy5wX2lzbF9hc3Rfbm9kZV9tYXJrX2dldF9ub2RlKQorKyNkZWZpbmUgaXNs X3NjaGVkdWxlX25vZGVfYmFuZF9tZW1iZXJfZ2V0X2FzdF9sb29wX3R5cGUgKCppc2xfcG9pbnRl cnNfXy5wX2lzbF9zY2hlZHVsZV9ub2RlX2JhbmRfbWVtYmVyX2dldF9hc3RfbG9vcF90eXBlKQor KyNkZWZpbmUgaXNsX3NjaGVkdWxlX25vZGVfYmFuZF9tZW1iZXJfc2V0X2FzdF9sb29wX3R5cGUg KCppc2xfcG9pbnRlcnNfXy5wX2lzbF9zY2hlZHVsZV9ub2RlX2JhbmRfbWVtYmVyX3NldF9hc3Rf bG9vcF90eXBlKQorKyNkZWZpbmUgaXNsX3ZhbF9uX2Fic19udW1fY2h1bmtzICgqaXNsX3BvaW50 ZXJzX18ucF9pc2xfdmFsX25fYWJzX251bV9jaHVua3MpCisrI2RlZmluZSBpc2xfdmFsX2dldF9h YnNfbnVtX2NodW5rcyAoKmlzbF9wb2ludGVyc19fLnBfaXNsX3ZhbF9nZXRfYWJzX251bV9jaHVu a3MpCisrI2RlZmluZSBpc2xfdmFsX2ludF9mcm9tX2NodW5rcyAoKmlzbF9wb2ludGVyc19fLnBf aXNsX3ZhbF9pbnRfZnJvbV9jaHVua3MpCisrI2RlZmluZSBpc2xfdmFsX2lzX25lZyAoKmlzbF9w b2ludGVyc19fLnBfaXNsX3ZhbF9pc19uZWcpCisrI2RlZmluZSBpc2xfdmVyc2lvbiAoKmlzbF9w b2ludGVyc19fLnBfaXNsX3ZlcnNpb24pCisrI2RlZmluZSBpc2xfb3B0aW9uc19nZXRfb25fZXJy b3IgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9vcHRpb25zX2dldF9vbl9lcnJvcikKKysjZGVmaW5l IGlzbF9jdHhfcmVzZXRfZXJyb3IgKCppc2xfcG9pbnRlcnNfXy5wX2lzbF9jdHhfcmVzZXRfZXJy b3IpCisrCisgdHlwZWRlZiBzdHJ1Y3QgcG9seV9kciAqcG9seV9kcl9wOworIAorIHR5cGVkZWYg c3RydWN0IHBvbHlfYmIgKnBvbHlfYmJfcDsKK0BAIC00NDgsNSArMTAzMyw2IEBAIGV4dGVybiB0 cmVlIGNhY2hlZF9zY2FsYXJfZXZvbHV0aW9uX2luX3IKKyBleHRlcm4gdm9pZCBkb3RfYWxsX3Nl c2UgKEZJTEUgKiwgdmVjPHNlc2VfbD4gJik7CisgZXh0ZXJuIHZvaWQgZG90X3Nlc2UgKHNlc2Vf bCAmKTsKKyBleHRlcm4gdm9pZCBkb3RfY2ZnICgpOworK2V4dGVybiBjb25zdCBjaGFyICpnZXRf aXNsX3ZlcnNpb24gKGJvb2wpOworIAorICNlbmRpZgorLS0tIGdjYy9ncmFwaGl0ZS5jYy5qagky MDE1LTExLTA0IDE0OjE1OjMyLjAwMDAwMDAwMCArMDEwMAorKysrIGdjYy9ncmFwaGl0ZS5jYwky MDE1LTExLTA0IDE0OjU2OjAyLjY0NTUzNjQwOSArMDEwMAorQEAgLTYwLDYgKzYwLDM1IEBAIGFs b25nIHdpdGggR0NDOyBzZWUgdGhlIGZpbGUgQ09QWUlORzMuCisgI2luY2x1ZGUgInRyZWUtc3Nh LXByb3BhZ2F0ZS5oIgorICNpbmNsdWRlICJncmFwaGl0ZS5oIgorIAorK19fdHlwZW9mIChpc2xf cG9pbnRlcnNfXykgaXNsX3BvaW50ZXJzX187CisrCisrc3RhdGljIGJvb2wKKytpbml0X2lzbF9w b2ludGVycyAodm9pZCkKKyt7CisrICB2b2lkICpoOworKworKyAgaWYgKGlzbF9wb2ludGVyc19f LmluaXRlZCkKKysgICAgcmV0dXJuIGlzbF9wb2ludGVyc19fLmggIT0gTlVMTDsKKysgIGggPSBk bG9wZW4gKCJsaWJpc2wuc28uMjMiLCBSVExEX0xBWlkpOworKyAgaXNsX3BvaW50ZXJzX18uaCA9 IGg7CisrICBpZiAoaCA9PSBOVUxMKQorKyAgICByZXR1cm4gZmFsc2U7CisrI2RlZmluZSBEWU5T WU0oeCkgXAorKyAgZG8gXAorKyAgICB7IFwKKysgICAgICB1bmlvbiB7IF9fdHlwZW9mIChpc2xf cG9pbnRlcnNfXy5wXyMjeCkgcDsgdm9pZCAqcTsgfSB1OyBcCisrICAgICAgdS5xID0gZGxzeW0g KGgsICN4KTsgXAorKyAgICAgIGlmICh1LnEgPT0gTlVMTCkgXAorKwlyZXR1cm4gZmFsc2U7IFwK KysgICAgICBpc2xfcG9pbnRlcnNfXy5wXyMjeCA9IHUucDsgXAorKyAgICB9IFwKKysgIHdoaWxl ICgwKQorKyAgRFlOU1lNUworKyN1bmRlZiBEWU5TWU0KKysgIGlzbF9wb2ludGVyc19fLmluaXRl ZCA9IHRydWU7CisrICByZXR1cm4gdHJ1ZTsKKyt9CisrCisgLyogUHJpbnQgZ2xvYmFsIHN0YXRp c3RpY3MgdG8gRklMRS4gICovCisgCisgc3RhdGljIHZvaWQKK0BAIC00MjQsNiArNDUzLDE1IEBA IGdyYXBoaXRlX3RyYW5zZm9ybV9sb29wcyAodm9pZCkKKyAgIGlmIChwYXJhbGxlbGl6ZWRfZnVu Y3Rpb25fcCAoY2Z1bi0+ZGVjbCkpCisgICAgIHJldHVybjsKKyAKKysgIGlmIChudW1iZXJfb2Zf bG9vcHMgKGNmdW4pIDw9IDEpCisrICAgIHJldHVybjsKKysKKysgIGlmICghaW5pdF9pc2xfcG9p bnRlcnMgKCkpCisrICAgIHsKKysgICAgICBzb3JyeSAoIkdyYXBoaXRlIGxvb3Agb3B0aW1pemF0 aW9ucyBjYW5ub3QgYmUgdXNlZCIpOworKyAgICAgIHJldHVybjsKKysgICAgfQorKworICAgY2Fs Y3VsYXRlX2RvbWluYW5jZV9pbmZvIChDRElfRE9NSU5BVE9SUyk7CisgCisgICAvKiBXZSByZWx5 IG9uIHBvc3QtZG9taW5hdG9ycyBkdXJpbmcgbWVyZ2luZyBvZiBTRVNFIHJlZ2lvbnMgc28gdGhv c2UKK0BAIC01MTksNiArNTU3LDE0IEBAIGdyYXBoaXRlX3RyYW5zZm9ybV9sb29wcyAodm9pZCkK KyAgICAgfQorIH0KKyAKKytjb25zdCBjaGFyICoKKytnZXRfaXNsX3ZlcnNpb24gKGJvb2wgZm9y Y2UpCisreworKyAgaWYgKGZvcmNlKQorKyAgICBpbml0X2lzbF9wb2ludGVycyAoKTsKKysgIHJl dHVybiAoaXNsX3BvaW50ZXJzX18uaW5pdGVkICYmIGlzbF92ZXJzaW9uKSA/IGlzbF92ZXJzaW9u ICgpIDogIm5vbmUiOworK30KKysKKyAjZWxzZSAvKiBJZiBpc2wgaXMgbm90IGF2YWlsYWJsZTog I2lmbmRlZiBIQVZFX2lzbC4gICovCisgCisgc3RhdGljIHZvaWQKKy0tLSBnY2MvdG9wbGV2LmNj LmpqCTIwMTctMDItMTkgMTM6MDI6MzEuMDAwMDAwMDAwICswMTAwCisrKysgZ2NjL3RvcGxldi5j YwkyMDI0LTExLTMwIDEzOjIyOjM0LjE3NTA5NjExNyArMDEwMAorQEAgLTEwMCw2ICsxMDAsNyBA QCBhbG9uZyB3aXRoIEdDQzsgc2VlIHRoZSBmaWxlIENPUFlJTkczLgorIAorICNpZmRlZiBIQVZF X2lzbAorICNpbmNsdWRlIDxpc2wvdmVyc2lvbi5oPgorK2V4dGVybiBjb25zdCBjaGFyICpnZXRf aXNsX3ZlcnNpb24gKGJvb2wpOworICNlbmRpZgorIAorIHN0YXRpYyB2b2lkIGdlbmVyYWxfaW5p dCAoY29uc3QgY2hhciAqLCBib29sLCB1bmlxdWVfYXJndiBvcmlnaW5hbF9hcmd2KTsKK0BAIC02 NTIsNyArNjUzLDcgQEAgcHJpbnRfdmVyc2lvbiAoRklMRSAqZmlsZSwgY29uc3QgY2hhciAqaQor ICNpZm5kZWYgSEFWRV9pc2wKKyAJICAgIm5vbmUiCisgI2Vsc2UKKy0JICAgaXNsX3ZlcnNpb24g KCkKKysJICAgZ2V0X2lzbF92ZXJzaW9uICgqaW5kZW50ID09IDApCisgI2VuZGlmCisgCSAgICk7 CisgICBpZiAoc3RyY21wIChHQ0NfR01QX1NUUklOR0lGWV9WRVJTSU9OLCBnbXBfdmVyc2lvbikp CgpkaWZmIC0tZ2l0IGEvZ2NjMTctaXNsLWRsMi5wYXRjaCBiL2djYzE3LWlzbC1kbDIucGF0Y2gK bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTA3ZmYxZAotLS0gL2Rldi9udWxs CisrKyBiL2djYzE3LWlzbC1kbDIucGF0Y2gKQEAgLTAsMCArMSw3MSBAQAorMjAxMS0wNC0wNCAg SmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CisKKwkqIHRvcGxldi5jYyAodG9wbGV2 X21haW5fYXJndik6IE5ldyB2YXJpYWJsZS4KKwkodG9wbGV2X21haW4pOiBJbml0aWFsaXplIGl0 LgorCSogZ3JhcGhpdGUuY2MgKGluaXRfaXNsX3BvaW50ZXJzKTogTG9hZCBsaWJpc2wuc28uMjMg ZnJvbSBnY2MncyBwcml2YXRlCisJZGlyZWN0b3J5LgorCistLS0gZ2NjL3RvcGxldi5jYy5qagky MDA4LTEyLTA5IDIzOjU5OjEwLjAwMDAwMDAwMCArMDEwMAorKysrIGdjYy90b3BsZXYuY2MJMjAy NC0xMS0zMCAxMzoyNjowNS4wODUxMzI1NDMgKzAxMDAKK0BAIC0xMTIsNiArMTEyLDggQEAgc3Rh dGljIHZvaWQgZmluYWxpemUgKCk7Cisgc3RhdGljIHZvaWQgY3Jhc2hfc2lnbmFsIChpbnQpIEFU VFJJQlVURV9OT1JFVFVSTjsKKyBzdGF0aWMgdm9pZCBjb21waWxlX2ZpbGUgKHZvaWQpOworIAor K2NvbnN0IGNoYXIgKip0b3BsZXZfbWFpbl9hcmd2OworKworIC8qIERlY29kZWQgb3B0aW9ucywg YW5kIG51bWJlciBvZiBzdWNoIG9wdGlvbnMuICAqLworIHN0cnVjdCBjbF9kZWNvZGVkX29wdGlv biAqc2F2ZV9kZWNvZGVkX29wdGlvbnM7CisgdW5zaWduZWQgaW50IHNhdmVfZGVjb2RlZF9vcHRp b25zX2NvdW50OworQEAgLTIyOTYsNiArMjI5OCw4IEBAIHRvcGxldjo6bWFpbiAoaW50IGFyZ2Ms IGNoYXIgKiphcmd2KQorIAorICAgZXhwYW5kYXJndiAoJmFyZ2MsICZhcmd2KTsKKyAKKysgIHRv cGxldl9tYWluX2FyZ3YgPSBjb25zdF9jYXN0IDxjb25zdCBjaGFyICoqPiAoYXJndik7CisrCisg ICAvKiBJbml0aWFsaXphdGlvbiBvZiBHQ0MncyBlbnZpcm9ubWVudCwgYW5kIGRpYWdub3N0aWNz LiAgKi8KKyAgIGdlbmVyYWxfaW5pdCAoYXJndlswXSwgbV9pbml0X3NpZ25hbHMsIHN0ZDo6bW92 ZSAob3JpZ2luYWxfYXJndikpOworIAorLS0tIGdjYy9ncmFwaGl0ZS5jYy5qagkyMDEwLTEyLTAx IDEwOjI0OjMyLjAwMDAwMDAwMCAtMDUwMAorKysrIGdjYy9ncmFwaGl0ZS5jYwkyMDEwLTEyLTAx IDExOjQ2OjA3LjgzMjExODE5MyAtMDUwMAorQEAgLTY0LDExICs2NCwzOSBAQCBfX3R5cGVvZiAo aXNsX3BvaW50ZXJzX18pIGlzbF9wb2ludGVyc19fCisgc3RhdGljIGJvb2wKKyBpbml0X2lzbF9w b2ludGVycyAodm9pZCkKKyB7CistICB2b2lkICpoOworKyAgdm9pZCAqaCA9IE5VTEw7CisrICBl eHRlcm4gY29uc3QgY2hhciAqKnRvcGxldl9tYWluX2FyZ3Y7CisrICBjaGFyICpidWYsICpwOwor KyAgc2l6ZV90IGxlbjsKKyAKKyAgIGlmIChpc2xfcG9pbnRlcnNfXy5pbml0ZWQpCisgICAgIHJl dHVybiBpc2xfcG9pbnRlcnNfXy5oICE9IE5VTEw7CistICBoID0gZGxvcGVuICgibGliaXNsLnNv LjIzIiwgUlRMRF9MQVpZKTsKKysgIGxlbiA9IHByb2duYW1lIC0gdG9wbGV2X21haW5fYXJndlsw XTsKKysgIGJ1ZiA9IFhBTExPQ0FWQVIgKGNoYXIsIGxlbiArIHNpemVvZiAibGliaXNsLnNvLjIz Iik7CisrICBtZW1jcHkgKGJ1ZiwgdG9wbGV2X21haW5fYXJndlswXSwgbGVuKTsKKysgIHN0cmNw eSAoYnVmICsgbGVuLCAibGliaXNsLnNvLjIzIik7CisrICBsZW4gKz0gc2l6ZW9mICJsaWJpc2wu c28uMjMiOworKyAgcCA9IHN0cnN0ciAoYnVmLCAiL2xpYmV4ZWMvIik7CisrICBpZiAocCAhPSBO VUxMKQorKyAgICB7CisrICAgICAgd2hpbGUgKDEpCisrCXsKKysJICBjaGFyICpxID0gc3Ryc3Ry IChwICsgOCwgIi9saWJleGVjLyIpOworKwkgIGlmIChxID09IE5VTEwpCisrCSAgICBicmVhazsK KysJICBwID0gcTsKKysJfQorKyAgICAgIG1lbW1vdmUgKHAgKyA0LCBwICsgOCwgbGVuIC0gKHAg KyA4IC0gYnVmKSk7CisrICAgICAgaCA9IGRsb3BlbiAoYnVmLCBSVExEX0xBWlkpOworKyAgICAg IGlmIChoID09IE5VTEwpCisrCXsKKysJICBsZW4gPSBwcm9nbmFtZSAtIHRvcGxldl9tYWluX2Fy Z3ZbMF07CisrCSAgbWVtY3B5IChidWYsIHRvcGxldl9tYWluX2FyZ3ZbMF0sIGxlbik7CisrCSAg c3RyY3B5IChidWYgKyBsZW4sICJsaWJpc2wuc28uMjMiKTsKKysJfQorKyAgICB9CisrICBpZiAo aCA9PSBOVUxMKQorKyAgICBoID0gZGxvcGVuIChidWYsIFJUTERfTEFaWSk7CisgICBpc2xfcG9p bnRlcnNfXy5oID0gaDsKKyAgIGlmIChoID09IE5VTEwpCisgICAgIHJldHVybiBmYWxzZTsKCmRp ZmYgLS1naXQgYS9nY2MxNy1saWJnb21wLW9tcF9oLW11bHRpbGliLnBhdGNoIGIvZ2NjMTctbGli Z29tcC1vbXBfaC1tdWx0aWxpYi5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw MDAwLi5kMGU5OGQxCi0tLSAvZGV2L251bGwKKysrIGIvZ2NjMTctbGliZ29tcC1vbXBfaC1tdWx0 aWxpYi5wYXRjaApAQCAtMCwwICsxLDE3IEBACisyMDA4LTA2LTA5ICBKYWt1YiBKZWxpbmVrICA8 amFrdWJAcmVkaGF0LmNvbT4KKworCSogb21wLmguaW4gKG9tcF9uZXN0X2xvY2tfdCk6IEZpeCB1 cCBmb3IgTGludXggbXVsdGlsaWJzLgorCistLS0gbGliZ29tcC9vbXAuaC5pbi5qagkyMDA4LTA2 LTA5IDEzOjM0OjA1LjAwMDAwMDAwMCArMDIwMAorKysrIGxpYmdvbXAvb21wLmguaW4JMjAwOC0w Ni0wOSAxMzozNDo0OC4wMDAwMDAwMDAgKzAyMDAKK0BAIC00Miw4ICs0Miw4IEBAIHR5cGVkZWYg c3RydWN0CisgCisgdHlwZWRlZiBzdHJ1Y3QKKyB7CistICB1bnNpZ25lZCBjaGFyIF94W0BPTVBf TkVTVF9MT0NLX1NJWkVAXSAKKy0gICAgX19hdHRyaWJ1dGVfXygoX19hbGlnbmVkX18oQE9NUF9O RVNUX0xPQ0tfQUxJR05AKSkpOworKyAgdW5zaWduZWQgY2hhciBfeFs4ICsgc2l6ZW9mICh2b2lk ICopXSAKKysgICAgX19hdHRyaWJ1dGVfXygoX19hbGlnbmVkX18oc2l6ZW9mICh2b2lkICopKSkp OworIH0gb21wX25lc3RfbG9ja190OworICNlbmRpZgorIAoKZGlmZiAtLWdpdCBhL2djYzE3LWxp YnN0ZGMrKy1kb2NzLnBhdGNoIGIvZ2NjMTctbGlic3RkYysrLWRvY3MucGF0Y2gKbmV3IGZpbGUg bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjk3MTYyNwotLS0gL2Rldi9udWxsCisrKyBiL2dj YzE3LWxpYnN0ZGMrKy1kb2NzLnBhdGNoCkBAIC0wLDAgKzEsMjQgQEAKKy0tLSBsaWJzdGRjKyst djMvZG9jL2h0bWwvaW5kZXguaHRtbC5qagkyMDExLTAxLTAzIDEyOjUzOjIxLjI4MjgyOTAxMCAr MDEwMAorKysrIGxpYnN0ZGMrKy12My9kb2MvaHRtbC9pbmRleC5odG1sCTIwMTEtMDEtMDQgMTg6 MDY6MjguOTk5ODUxMTQ1ICswMTAwCitAQCAtNSw2ICs1LDggQEAKKyAgICAgICA8YSBjbGFzcz0i bGluayIgaHJlZj0iaHR0cHM6Ly93d3cuZnNmLm9yZyIgdGFyZ2V0PSJfdG9wIj5GU0YKKyAgICAg ICA8L2E+CisgICAgIDwvcD48cD4KKysgICAgICBSZWxlYXNlIDE2LjEuMQorKyAgICA8L3A+PHA+ CisgICAgICAgUGVybWlzc2lvbiBpcyBncmFudGVkIHRvIGNvcHksIGRpc3RyaWJ1dGUgYW5kL29y IG1vZGlmeSB0aGlzCisgICAgICAgZG9jdW1lbnQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUg RnJlZSBEb2N1bWVudGF0aW9uCisgICAgICAgTGljZW5zZSwgVmVyc2lvbiAxLjIgb3IgYW55IGxh dGVyIHZlcnNpb24gcHVibGlzaGVkIGJ5IHRoZQorLS0tIGxpYnN0ZGMrKy12My9kb2MvaHRtbC9h cGkuaHRtbC5qagkyMDExLTAxLTAzIDEyOjUzOjIxLjAwMDAwMDAwMCArMDEwMAorKysrIGxpYnN0 ZGMrKy12My9kb2MvaHRtbC9hcGkuaHRtbAkyMDI0LTExLTMwIDEzOjMwOjE2LjYwNzU5NDYyMyAr MDEwMAorQEAgLTIwLDcgKzIwLDkgQEAKKyAgIG1lbWJlciBmdW5jdGlvbnMgZm9yIHRoZSBsaWJy YXJ5IGNsYXNzZXMsIGZpbmRpbmcgb3V0IHdoYXQgaXMgaW4gYQorICAgcGFydGljdWxhciBpbmNs dWRlIGZpbGUsIGxvb2tpbmcgYXQgaW5oZXJpdGFuY2UgZGlhZ3JhbXMsIGV0Yy4KKyA8L3A+PHA+ CistICBUaGUgQVBJIGRvY3VtZW50YXRpb24sIHJlbmRlcmVkIGludG8gSFRNTCwgY2FuIGJlIHZp ZXdlZCBvbmxpbmUKKysgIFRoZSBBUEkgZG9jdW1lbnRhdGlvbiwgcmVuZGVyZWQgaW50byBIVE1M LCBjYW4gYmUgdmlld2VkIGxvY2FsbHkKKysgIDxhIGNsYXNzPSJsaW5rIiBocmVmPSJhcGkvaW5k ZXguaHRtbCIgdGFyZ2V0PSJfdG9wIj5mb3IgdGhlIDE2LjEuMSByZWxlYXNlPC9hPiwKKysgIG9u bGluZQorICAgPGEgY2xhc3M9ImxpbmsiIGhyZWY9Imh0dHBzOi8vZ2NjLmdudS5vcmcvb25saW5l ZG9jcy8iIHRhcmdldD0iX3RvcCI+Zm9yIGVhY2ggR0NDIHJlbGVhc2U8L2E+CisgICBhbmQKKyAg IDxhIGNsYXNzPSJsaW5rIiBocmVmPSJodHRwczovL2djYy5nbnUub3JnL29ubGluZWRvY3MvbGli c3RkYysrL2xhdGVzdC1kb3h5Z2VuL2luZGV4Lmh0bWwiIHRhcmdldD0iX3RvcCI+CgpkaWZmIC0t Z2l0IGEvZ2NjMTctbGlidG9vbC1uby1ycGF0aC5wYXRjaCBiL2djYzE3LWxpYnRvb2wtbm8tcnBh dGgucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODQyOWE0YwotLS0g L2Rldi9udWxsCisrKyBiL2djYzE3LWxpYnRvb2wtbm8tcnBhdGgucGF0Y2gKQEAgLTAsMCArMSwy NyBAQAorbGlidG9vbCBzdWNrcy4KKy0tLSBsdG1haW4uc2guamoJMjAwNy0xMi0wNyAxNDo1Mzoy MS4wMDAwMDAwMDAgKzAxMDAKKysrKyBsdG1haW4uc2gJMjAwOC0wOS0wNSAyMTo1MTo0OC4wMDAw MDAwMDAgKzAyMDAKK0BAIC01Mzk0LDYgKzUzOTQsNyBAQCBFT0YKKyAJICBycGF0aD0iJGZpbmFs aXplX3JwYXRoIgorIAkgIHRlc3QgIiRtb2RlIiAhPSByZWxpbmsgJiYgcnBhdGg9IiRjb21waWxl X3JwYXRoJHJwYXRoIgorIAkgIGZvciBsaWJkaXIgaW4gJHJwYXRoOyBkbworKwkgICAgY2FzZSAi JGxpYmRpciIgaW4gL3Vzci9saWJ8L3Vzci9saWI2NHwvdXNyL2xpYi8uLi9saWJ8L3Vzci9saWIv Li4vbGliNjR8L3Vzci9saWIvLi4vbGliNjQvbHA2NGQpIGNvbnRpbnVlOzsgZXNhYworIAkgICAg aWYgdGVzdCAtbiAiJGhhcmRjb2RlX2xpYmRpcl9mbGFnX3NwZWMiOyB0aGVuCisgCSAgICAgIGlm IHRlc3QgLW4gIiRoYXJkY29kZV9saWJkaXJfc2VwYXJhdG9yIjsgdGhlbgorIAkJaWYgdGVzdCAt eiAiJGhhcmRjb2RlX2xpYmRpcnMiOyB0aGVuCitAQCAtNjA3MSw2ICs2MDcyLDcgQEAgRU9GCisg ICAgICAgcnBhdGg9CisgICAgICAgaGFyZGNvZGVfbGliZGlycz0KKyAgICAgICBmb3IgbGliZGly IGluICRjb21waWxlX3JwYXRoICRmaW5hbGl6ZV9ycGF0aDsgZG8KKysJY2FzZSAiJGxpYmRpciIg aW4gL3Vzci9saWJ8L3Vzci9saWI2NHwvdXNyL2xpYi8uLi9saWJ8L3Vzci9saWIvLi4vbGliNjR8 L3Vzci9saWIvLi4vbGliNjQvbHA2NGQpIGNvbnRpbnVlOzsgZXNhYworIAlpZiB0ZXN0IC1uICIk aGFyZGNvZGVfbGliZGlyX2ZsYWdfc3BlYyI7IHRoZW4KKyAJICBpZiB0ZXN0IC1uICIkaGFyZGNv ZGVfbGliZGlyX3NlcGFyYXRvciI7IHRoZW4KKyAJICAgIGlmIHRlc3QgLXogIiRoYXJkY29kZV9s aWJkaXJzIjsgdGhlbgorQEAgLTYxMjAsNiArNjEyMiw3IEBAIEVPRgorICAgICAgIHJwYXRoPQor ICAgICAgIGhhcmRjb2RlX2xpYmRpcnM9CisgICAgICAgZm9yIGxpYmRpciBpbiAkZmluYWxpemVf cnBhdGg7IGRvCisrCWNhc2UgIiRsaWJkaXIiIGluIC91c3IvbGlifC91c3IvbGliNjR8L3Vzci9s aWIvLi4vbGlifC91c3IvbGliLy4uL2xpYjY0fC91c3IvbGliLy4uL2xpYjY0L2xwNjRkKSBjb250 aW51ZTs7IGVzYWMKKyAJaWYgdGVzdCAtbiAiJGhhcmRjb2RlX2xpYmRpcl9mbGFnX3NwZWMiOyB0 aGVuCisgCSAgaWYgdGVzdCAtbiAiJGhhcmRjb2RlX2xpYmRpcl9zZXBhcmF0b3IiOyB0aGVuCisg CSAgICBpZiB0ZXN0IC16ICIkaGFyZGNvZGVfbGliZGlycyI7IHRoZW4KCmRpZmYgLS1naXQgYS9n Y2MxNy1uby1hZGQtbmVlZGVkLnBhdGNoIGIvZ2NjMTctbm8tYWRkLW5lZWRlZC5wYXRjaApuZXcg ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43NGY1YzFmCi0tLSAvZGV2L251bGwKKysr IGIvZ2NjMTctbm8tYWRkLW5lZWRlZC5wYXRjaApAQCAtMCwwICsxLDM3IEBACisyMDEwLTAyLTA4 ICBSb2xhbmQgTWNHcmF0aCAgPHJvbGFuZEByZWRoYXQuY29tPgorCisJKiBjb25maWcvZ251LXVz ZXIuaCAoTElOS19FSF9TUEVDKTogUGFzcyAtLW5vLWFkZC1uZWVkZWQgdG8gdGhlIGxpbmtlci4K KwkqIGNvbmZpZy9hbHBoYS9lbGYuaCAoTElOS19FSF9TUEVDKTogTGlrZXdpc2UuCisJKiBjb25m aWcvaWE2NC9saW51eC5oIChMSU5LX0VIX1NQRUMpOiBMaWtld2lzZS4KKworLS0tIGdjYy9jb25m aWcvYWxwaGEvZWxmLmguamoJMjAxMS0wMS0wMyAxMjo1MjozMS4xMTgwNTY3NjQgKzAxMDAKKysr KyBnY2MvY29uZmlnL2FscGhhL2VsZi5oCTIwMTEtMDEtMDQgMTg6MTQ6MTAuOTMxODc0MTYwICsw MTAwCitAQCAtMTY4LDUgKzE2OCw1IEBAIGV4dGVybiBpbnQgYWxwaGFfdGhpc19ncGRpc3Bfc2Vx dWVuY2VfbnUKKyAgICBJIGltYWdpbmUgdGhhdCBvdGhlciBzeXN0ZW1zIHdpbGwgY2F0Y2ggdXAu ICBJbiB0aGUgbWVhbnRpbWUsIGl0CisgICAgZG9lc24ndCBoYXJtIHRvIG1ha2Ugc3VyZSB0aGF0 IHRoZSBkYXRhIGV4aXN0cyB0byBiZSB1c2VkIGxhdGVyLiAgKi8KKyAjaWYgZGVmaW5lZChIQVZF X0xEX0VIX0ZSQU1FX0hEUikKKy0jZGVmaW5lIExJTktfRUhfU1BFQyAiJXshc3RhdGljfHN0YXRp Yy1waWU6LS1laC1mcmFtZS1oZHJ9ICIKKysjZGVmaW5lIExJTktfRUhfU1BFQyAiLS1uby1hZGQt bmVlZGVkICV7IXN0YXRpY3xzdGF0aWMtcGllOi0tZWgtZnJhbWUtaGRyfSAiCisgI2VuZGlmCist LS0gZ2NjL2NvbmZpZy9pYTY0L2xpbnV4LmguamoJMjAxMS0wMS0wMyAxMzowMjoxMS40NjI5OTQ1 MjIgKzAxMDAKKysrKyBnY2MvY29uZmlnL2lhNjQvbGludXguaAkyMDExLTAxLTA0IDE4OjE0OjEw LjkzMTg3NDE2MCArMDEwMAorQEAgLTc2LDcgKzc2LDcgQEAgZG8gewkJCQkJCVwKKyAgICBTaWdu YWxpemUgdGhhdCBiZWNhdXNlIHdlIGhhdmUgZmRlLWdsaWJjLCB3ZSBkb24ndCBuZWVkIGFsbCBD IHNoYXJlZCBsaWJzCisgICAgbGlua2VkIGFnYWluc3QgLWxnY2Nfcy4gICovCisgI3VuZGVmIExJ TktfRUhfU1BFQworLSNkZWZpbmUgTElOS19FSF9TUEVDICIiCisrI2RlZmluZSBMSU5LX0VIX1NQ RUMgIi0tbm8tYWRkLW5lZWRlZCAiCisgCisgI3VuZGVmIFRBUkdFVF9JTklUX0xJQkZVTkNTCisg I2RlZmluZSBUQVJHRVRfSU5JVF9MSUJGVU5DUyBpYTY0X3NvZnRfZnBfaW5pdF9saWJmdW5jcwor LS0tIGdjYy9jb25maWcvZ251LXVzZXIuaC5qagkyMDExLTAxLTAzIDEyOjUzOjAzLjczOTA1NzI5 OSArMDEwMAorKysrIGdjYy9jb25maWcvZ251LXVzZXIuaAkyMDExLTAxLTA0IDE4OjE0OjEwLjkz MjgxNDg4NCArMDEwMAorQEAgLTEwNiw3ICsxMDYsNyBAQCBzZWUgdGhlIGZpbGVzIENPUFlJTkcz IGFuZCBDT1BZSU5HLlJVTlRJCisgI2RlZmluZSBMSUJfU1BFQyBHTlVfVVNFUl9UQVJHRVRfTElC X1NQRUMKKyAKKyAjaWYgZGVmaW5lZChIQVZFX0xEX0VIX0ZSQU1FX0hEUikKKy0jZGVmaW5lIExJ TktfRUhfU1BFQyAiJXshc3RhdGljfHN0YXRpYy1waWU6LS1laC1mcmFtZS1oZHJ9ICIKKysjZGVm aW5lIExJTktfRUhfU1BFQyAiLS1uby1hZGQtbmVlZGVkICV7IXN0YXRpY3xzdGF0aWMtcGllOi0t ZWgtZnJhbWUtaGRyfSAiCisgI2VuZGlmCisgCisgCgpkaWZmIC0tZ2l0IGEvZ2NjMTctcHIxMTkw MDYucGF0Y2ggYi9nY2MxNy1wcjExOTAwNi5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl eCAwMDAwMDAwLi5kZmJkYWE5Ci0tLSAvZGV2L251bGwKKysrIGIvZ2NjMTctcHIxMTkwMDYucGF0 Y2gKQEAgLTAsMCArMSw3NiBAQAorMjAyNS0wMi0yNyAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJl ZGhhdC5jb20+CisKKwlQUiBpcGEvMTE5MDA2CisJKiBpcGEtaWNmLWdpbXBsZS5jYyAoZnVuY19j aGVja2VyOjpjb21wYXJlX29wZXJhbmQpOiBJZiB0MSBhbmQgdDIKKwlhcmUgQUREUl9FWFBScywg Y2FsbCBvcGVyYW5kX2VxdWFsX3Agb24gdGhlaXIgb3BlcmFuZHMgcmF0aGVyIHRoYW4gb24KKwl0 aGUgQUREUl9FWFBScyB0aGVtc2VsdmVzLiAgRm9ybWF0dGluZyBmaXguCisKKwkqIGcrKy5kZy9v cHQvcHIxMTkwMDYuQzogTmV3IHRlc3QuCisKKy0tLSBnY2MvaXBhLWljZi1naW1wbGUuY2MuamoJ MjAyNS0wMi0wMSAwMDo1MDowMi4wODA3NzQzMjggKzAxMDAKKysrKyBnY2MvaXBhLWljZi1naW1w bGUuY2MJMjAyNS0wMi0yNyAxNDozNToxOS45MzExODMyNDYgKzAxMDAKK0BAIC00MzcsMTIgKzQz NywyMyBAQCBmdW5jX2NoZWNrZXI6OmNvbXBhcmVfb3BlcmFuZCAodHJlZSB0MSwKKyAJCSAoImNv bXBhcmVfYW9fcmVmcyBmYWlsZWQgKGRlcGVuZGVuY2UgY2xpcXVlIGRpZmZlcmVuY2UpIik7Cisg ICAgICAgZ2NjX3VucmVhY2hhYmxlICgpOworICAgICB9CisrICBlbHNlIGlmIChUUkVFX0NPREUg KHQxKSA9PSBBRERSX0VYUFIgJiYgVFJFRV9DT0RFICh0MikgPT0gQUREUl9FWFBSKQorKyAgICB7 CisrICAgICAgLyogRm9yIEFERFJfRVhQUiBjb21wYXJlIHRoZSBvcGVyYW5kcyBvZiB0aGUgQURE Ul9FWFBSIHJhdGhlciB0aGFuCisrCSB0aGUgQUREUl9FWFBScyB0aGVtc2VsdmVzLiAgb3BlcmFu ZF9lcXVhbF9wIHdpbGwgY29tcGFyZSB0aGUKKysJIG9wZXJhbmRzIHdpdGggT0VQX0FERFJFU1Nf T0YgYW5kIG9ubHkgY2FyZSBhYm91dCB0aGUgdmFsdWUKKysJIG9mIHRoZSBBRERSX0VYUFIsIHJh dGhlciB0aGFuIGUuZy4gdHlwZXMgb2YgTUVNX1JFRnMgaW4gdGhlcmUuCisrCSBTb21lIG9wdGlt aXphdGlvbnMgdXNlIHN1Y2ggZGV0YWlscyB0aG91Z2gsIHNlZSBQUjExOTAwNi4gICovCisrICAg ICAgaWYgKG9wZXJhbmRfZXF1YWxfcCAoVFJFRV9PUEVSQU5EICh0MSwgMCksIFRSRUVfT1BFUkFO RCAodDIsIDApLAorKwkJCSAgIE9FUF9NQVRDSF9TSURFX0VGRkVDVFMpKQorKwlyZXR1cm4gdHJ1 ZTsKKysgICAgICByZXR1cm4gcmV0dXJuX2ZhbHNlX3dpdGhfbXNnICgib3BlcmFuZF9lcXVhbF9w IGZhaWxlZCIpOworKyAgICB9CisgICBlbHNlCisgICAgIHsKKyAgICAgICBpZiAob3BlcmFuZF9l cXVhbF9wICh0MSwgdDIsIE9FUF9NQVRDSF9TSURFX0VGRkVDVFMpKQorIAlyZXR1cm4gdHJ1ZTsK Ky0gICAgICByZXR1cm4gcmV0dXJuX2ZhbHNlX3dpdGhfbXNnCistCQkgKCJvcGVyYW5kX2VxdWFs X3AgZmFpbGVkIik7CisrICAgICAgcmV0dXJuIHJldHVybl9mYWxzZV93aXRoX21zZyAoIm9wZXJh bmRfZXF1YWxfcCBmYWlsZWQiKTsKKyAgICAgfQorIH0KKyAKKy0tLSBnY2MvdGVzdHN1aXRlL2cr Ky5kZy9vcHQvcHIxMTkwMDYuQy5qagkyMDI1LTAyLTI3IDE0OjM3OjA1Ljk1MjcwNzM1MCArMDEw MAorKysrIGdjYy90ZXN0c3VpdGUvZysrLmRnL29wdC9wcjExOTAwNi5DCTIwMjUtMDItMjcgMTQ6 MzY6MjkuMjUxMjE4MjYwICswMTAwCitAQCAtMCwwICsxLDM2IEBACisrLy8gUFIgaXBhLzExOTAw NgorKy8vIHsgZGctZG8gcnVuIHsgdGFyZ2V0IGMrKzExIH0gfQorKy8vIHsgZGctb3B0aW9ucyAi LU8yIC1md2hvbGUtcHJvZ3JhbSIgfQorKworK3N0cnVjdCBBIHsKKysgIGJvb2wgb3BlcmF0b3I9 PSAoY29uc3QgY2hhciAqeCkgY29uc3QgeyByZXR1cm4geCAmJiAhX19idWlsdGluX3N0cmNtcCAo YSwgeCk7IH0KKysgIGNoYXIgYVsxMV07CisrfTsKKysKKytzdHJ1Y3QgQiB7CisrICBib29sIG9w ZXJhdG9yPT0gKGNvbnN0IGNoYXIgKngpIGNvbnN0IHsgcmV0dXJuIHggJiYgIV9fYnVpbHRpbl9z dHJjbXAgKGEsIHgpOyB9CisrICBib29sIG9wZXJhdG9yIT0gKGNvbnN0IGNoYXIgKngpIGNvbnN0 IHsgcmV0dXJuICEoKnRoaXMgPT0geCk7IH0KKysgIGNoYXIgYVsxMjhdOworK307CisrCisrW1tn bnU6Om5vaW5saW5lLGdudTo6dXNlZF1dIGludAorK2ZvbyAoY29uc3QgQSYgbGhzLCBjb25zdCBj aGFyKiByaHMpCisreworKyAgcmV0dXJuIGxocyA9PSByaHM7CisrfQorKworK2NvbnN0ZXhwciBj b25zdCBjaGFyICp0ID0gImFiY2RlZmdoaWprbG1ubyI7CisrCisrW1tnbnU6Om5vaW5saW5lLGdu dTo6dXNlZF1dIHZvaWQKKytiYXIgKEIgeCkKKyt7CisrICBpZiAoeCAhPSB0KSBfX2J1aWx0aW5f YWJvcnQgKCk7CisrfQorKworK2ludAorK21haW4gKCkKKyt7CisrICBCIGI7CisrICBfX2J1aWx0 aW5fc3RyY3B5IChiLmEsIHQpOworKyAgYmFyIChiKTsKKyt9CgpkaWZmIC0tZ2l0IGEvZ2NjMTct cmgxNTc0OTM2LnBhdGNoIGIvZ2NjMTctcmgxNTc0OTM2LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAw NjQ0CmluZGV4IDAwMDAwMDAuLmJjYzcwMDAKLS0tIC9kZXYvbnVsbAorKysgYi9nY2MxNy1yaDE1 NzQ5MzYucGF0Y2gKQEAgLTAsMCArMSwyMSBAQAorY3J0IGZpbGVzIGFuZCBzdGF0aWNhbGx5IGxp bmtlZCBsaWJnY2Mgb2JqZWN0cyBjYXVzZSBmYWxzZSBwb3NpdGl2ZXMKK2luIGFubm9iaW4gY292 ZXJhZ2UsIHNvIHdlIGFkZCB0aGUgYXNzZW1ibGVyIGZsYWcgdG8gZ2VuZXJhdGUgbm90ZXMKK2Zv ciB0aGVtLgorCitUaGUgcGF0Y2ggYWxzbyBhZGRzIG5vdGVzIHRvIGxpYmdjY19zLnNvLCBidXQg dGhpcyBpcyBoYXJtbGVzcyBiZWNhdXNlCit0aGVzZSBub3RlcyBvbmx5IGNvbmZlciB0aGF0IHRo ZXJlIGlzIG5vIG90aGVyIGFubm9iaW4gbWFya3VwLgorCisyMDE4LTA3LTI1ICBGbG9yaWFuIFdl aW1lciAgPGZ3ZWltZXJAcmVkaGF0LmNvbT4KKworCSogY29uZmlnL3QtbGludXggKExJQkdDQzJf Q0ZMQUdTLCBDUlRTVFVGRl9DRkxBR1MpOiBBZGQKKwktV2EsLS1nZW5lcmF0ZS1taXNzaW5nLWJ1 aWxkLW5vdGVzPXllcy4KKworLS0tIGxpYmdjYy9jb25maWcvdC1saW51eAkyMDIyLTEyLTE1IDE5 OjI1OjIwLjU4MTM5NDk1MCArMDEwMAorKysrIGxpYmdjYy9jb25maWcvdC1saW51eAkyMDIzLTAz LTIxIDIyOjAwOjM3LjA1NDQ3ODU2MiArMDEwMAorQEAgLTEsMyArMSw2IEBACisgIyBPdmVycmlk ZSB0LXNsaWJnY2MtZWxmLXZlciB0byBleHBvcnQgc29tZSBsaWJnY2Mgc3ltYm9scyB3aXRoCisg IyB0aGUgc3ltYm9sIHZlcnNpb25zIHRoYXQgZ2xpYmMgdXNlZC4KKyBTSExJQl9NQVBGSUxFUyAr PSAkKHNyY2RpcikvY29uZmlnL2xpYmdjYy1nbGliYy52ZXIKKysKKytMSUJHQ0MyX0NGTEFHUyAr PSAtV2EsLS1nZW5lcmF0ZS1taXNzaW5nLWJ1aWxkLW5vdGVzPXllcworK0NSVFNUVUZGX0NGTEFH UyArPSAtV2EsLS1nZW5lcmF0ZS1taXNzaW5nLWJ1aWxkLW5vdGVzPXllcwoKZGlmZiAtLWdpdCBh L2djYzE3LXNwYXJjLWNvbmZpZy1kZXRlY3Rpb24ucGF0Y2ggYi9nY2MxNy1zcGFyYy1jb25maWct ZGV0ZWN0aW9uLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJiZThl YzMKLS0tIC9kZXYvbnVsbAorKysgYi9nY2MxNy1zcGFyYy1jb25maWctZGV0ZWN0aW9uLnBhdGNo CkBAIC0wLDAgKzEsNDAgQEAKKy0tLSBnY2MvY29uZmlnLmdjYy5qagkyMDA4LTA0LTI0IDE1OjQy OjQ2LjAwMDAwMDAwMCAtMDUwMAorKysrIGdjYy9jb25maWcuZ2NjCTIwMDgtMDQtMjQgMTU6NDQ6 NTEuMDAwMDAwMDAwIC0wNTAwCitAQCAtMzMzMCw3ICszMzMwLDcgQEAgc3BhcmMtKi1ydGVtcyop CisgCXRtX2ZpbGU9IiR7dG1fZmlsZX0gZWxmb3MuaCBzcGFyYy9zeXN2NC5oIHNwYXJjL3NwLWVs Zi5oIHNwYXJjL3J0ZW1zZWxmLmggcnRlbXMuaCBuZXdsaWItc3RkaW50LmgiCisgCXRtYWtlX2Zp bGU9IiR7dG1ha2VfZmlsZX0gc3BhcmMvdC1zcGFyYyBzcGFyYy90LXJ0ZW1zIgorIAk7OworLXNw YXJjLSotbGludXgqKQorK3NwYXJjLSotbGludXgqIHwgc3BhcmN2OS0qLWxpbnV4KikKKyAJdG1f ZmlsZT0iJHt0bV9maWxlfSBlbGZvcy5oIHNwYXJjL3N5c3Y0LmggZ251LXVzZXIuaCBsaW51eC5o IGdsaWJjLXN0ZGludC5oIHNwYXJjL3Rzby5oIgorIAlleHRyYV9vcHRpb25zPSIke2V4dHJhX29w dGlvbnN9IHNwYXJjL2xvbmctZG91YmxlLXN3aXRjaC5vcHQiCisgCWNhc2UgJHt0YXJnZXR9IGlu CitAQCAtMzM4NCw3ICszMzg0LDcgQEAgc3BhcmM2NC0qLXJ0ZW1zKikKKyAJZXh0cmFfb3B0aW9u cz0iJHtleHRyYV9vcHRpb25zfSIKKyAJdG1ha2VfZmlsZT0iJHt0bWFrZV9maWxlfSBzcGFyYy90 LXNwYXJjIHNwYXJjL3QtcnRlbXMtNjQiCisgCTs7Cistc3BhcmM2NC0qLWxpbnV4KikKKytzcGFy YzY0Ki0qLWxpbnV4KikKKyAJdG1fZmlsZT0ic3BhcmMvYmlhcmNoNjQuaCAke3RtX2ZpbGV9IGVs Zm9zLmggc3BhcmMvc3lzdjQuaCBnbnUtdXNlci5oIGxpbnV4LmggZ2xpYmMtc3RkaW50Lmggc3Bh cmMvZGVmYXVsdDY0Lmggc3BhcmMvbGludXg2NC5oIHNwYXJjL3Rzby5oIgorIAlleHRyYV9vcHRp b25zPSIke2V4dHJhX29wdGlvbnN9IHNwYXJjL2xvbmctZG91YmxlLXN3aXRjaC5vcHQiCisgCXRt YWtlX2ZpbGU9IiR7dG1ha2VfZmlsZX0gc3BhcmMvdC1zcGFyYyBzcGFyYy90LWxpbnV4NjQiCist LS0gbGliZ2NjL2NvbmZpZy5ob3N0LmpqCTIwMDgtMDQtMjQgMTU6NDY6MTkuMDAwMDAwMDAwIC0w NTAwCisrKysgbGliZ2NjL2NvbmZpZy5ob3N0CTIwMDgtMDQtMjQgMTU6NDY6NDkuMDAwMDAwMDAw IC0wNTAwCitAQCAtMTAwMiw3ICsxMDAyLDcgQEAgc3BhcmMtKi1lbGYqKQorIAl0bWFrZV9maWxl PSIke3RtYWtlX2ZpbGV9IHQtZmRwYml0IHQtY3J0Zm0iCisgCWV4dHJhX3BhcnRzPSIkZXh0cmFf cGFydHMgY3J0aS5vIGNydG4ubyBjcnRmYXN0bWF0aC5vIgorIAk7OworLXNwYXJjLSotbGludXgq KQkJIyBTUEFSQydzIHJ1bm5pbmcgR05VL0xpbnV4LCBsaWJjNgorK3NwYXJjLSotbGludXgqIHwg c3BhcmN2OS0qLWxpbnV4KikJCSMgU1BBUkMncyBydW5uaW5nIEdOVS9MaW51eCwgbGliYzYKKyAJ dG1ha2VfZmlsZT0iJHt0bWFrZV9maWxlfSB0LWNydGZtIgorIAlpZiB0ZXN0ICIke2hvc3RfYWRk cmVzc30iID0gNjQ7IHRoZW4KKyAJCXRtYWtlX2ZpbGU9IiR0bWFrZV9maWxlIHNwYXJjL3QtbGlu dXg2NCIKK0BAIC0xMDUwLDcgKzEwNTAsNyBAQCBzcGFyYzY0LSotZnJlZWJzZCp8dWx0cmFzcGFy Yy0qLWZyZWVic2QqCisgCXRtYWtlX2ZpbGU9IiR0bWFrZV9maWxlIHQtY3J0Zm0iCisgCWV4dHJh X3BhcnRzPSIkZXh0cmFfcGFydHMgY3J0ZmFzdG1hdGgubyIKKyAJOzsKKy1zcGFyYzY0LSotbGlu dXgqKQkJIyA2NC1iaXQgU1BBUkMncyBydW5uaW5nIEdOVS9MaW51eAorK3NwYXJjNjQqLSotbGlu dXgqKQkJIyA2NC1iaXQgU1BBUkMncyBydW5uaW5nIEdOVS9MaW51eAorIAlleHRyYV9wYXJ0cz0i JGV4dHJhX3BhcnRzIGNydGZhc3RtYXRoLm8iCisgCXRtYWtlX2ZpbGU9IiR7dG1ha2VfZmlsZX0g dC1jcnRmbSBzcGFyYy90LWxpbnV4IgorIAlpZiB0ZXN0ICIke2hvc3RfYWRkcmVzc30iID0gNjQ7 IHRoZW4KCmRpZmYgLS1naXQgYS9zb3VyY2VzIGIvc291cmNlcwppbmRleCBiMjY4NzI1Li5jZmQy ZDA0IDEwMDY0NAotLS0gYS9zb3VyY2VzCisrKyBiL3NvdXJjZXMKQEAgLTEsNCArMSw0IEBACi1T SEE1MTIgKGdjYy0xNi4xLjEtMjAyNjA1MTUudGFyLnh6KSA9IDViNWI1Y2IyZTBhMTkxODI5OGQw MmU2Y2FjMzM4OGEyYWUzYjFjZWJmYWMyZWQ0ZDQ1NDk5ZTQzYTQzZDYxNzI1ZWMzYmRkOTdmZmY3 YjNkYTViZDhmZDUwOGUzOTRiNWY0YjM0OGM2NWNhNjk5ZjgxNTc0NjA1MzUwMzQ2OWM2CitTSEE1 MTIgKGdjYy0xNy4wLjAtMjAyNjA1MTRzLnRhci54eikgPSA4NjUxNWYxM2NmZWJjNmZjMDIwMTE4 MDgyNmU0MTJkNTNhYmRmNGM1YTBiZGIwMzgxMGIwYjhmOWM4YTEwYTBmOWJjOWY2YzMwMmQ1YWJm NDVkMTEzZGU5ZWFjZDRkNmY2MjYxYzFlNWM3MTQxMThhNDI4ZGQyMDBkZDA4N2EyZgogU0hBNTEy IChpc2wtMC4yNC50YXIuYnoyKSA9IGFhYjNiZGRiZGE5NmI4MDFkMGY1NmQyODY5Zjk0MzE1N2Fh ZDUyYTZmNmU2YTYxNzQ1ZWRkNzQwMjM0YzYzNWMzODIzMWFmMjBiYzNmMWEwOGQ0MTZhNWU5NzNh OTBlMTgyNDkwNzhlZDhlNGFlMmYxZDVkZTU3NjU4NzM4ZTk1CiBTSEE1MTIgKG5ld2xpYi1jeWd3 aW4tZDM1Y2M4MmI1ZWMxNWJiOGE1ZmUwZmUxMWUxODNkMTg4Nzk5MmU5OS50YXIueHopID0gZWY5 NDk1NzQ1YTk2ZDFkNzZmOWY0MjVjNGE0OGM4MDdmZmFjZTM2YTFhYTkyMzUxYzVkMDI0MTAzNjc4 ZDE0NGQwNDZlOGRlNTVkMTk1MTAzNzg0NDcyYzE0ODc0ZTI5ZTRiOTI4NGQ1ZDZhMmU3YmIyN2Zk OThjODQ1NWE4ODEKIFNIQTUxMiAobnZwdHgtdG9vbHMtMjEyZGEyZTc4MWVkMGY5NDIzODI0ZTg1 ZWIwNDgxOTk1ODUxM2Y3YS50YXIueHopID0gNWE1NTA5YjA1MTM4NDMyNTRlZTJiZTI3N2UwYjhk NDczM2Y2NDNiNzRiOThjNzM5ZTgyODcyMTgxYTJjMzY2YjliNDNkZTllNWZiNTA1YWExZTk5Njdh MzgyZGE1OWNhYjAxNWY2MzAxMWNiY2I1OTcyOTcxZjIxNjA4NzBmMDAKCmRpZmYgLS1naXQgYS91 cGRhdGUtZ2NjLnNoIGIvdXBkYXRlLWdjYy5zaAppbmRleCA0N2Q3ZDcwLi5hYTRmNGZkIDEwMDc1 NQotLS0gYS91cGRhdGUtZ2NjLnNoCisrKyBiL3VwZGF0ZS1nY2Muc2gKQEAgLTEsMzYgKzEsMTA4 IEBACiAjIS9iaW4vc2gKLWlmIFsgIiQjIiAtZXEgMCBdOyB0aGVuCi0gIGVjaG8gIlVzYWdlOiAu L3VwZGF0ZS1nY2Muc2ggZ2NjL3JlZGhhdC9oZWFkcy9nY2MtTk4tYnJhbmNoX2NvbW1pdF9oYXNo IFtnaXRfcmVmZXJlbmNlX2Rpcl90b19zcGVlZF91cF0iCisKK2NsZWFudXAoKSB7CisgIHJtIC1m IFAxIFAyIFAzIFA0IFA1CisgIHJtIC1yZiBnY2MtZGlyLnRtcAorfQorCitzbmFwc2hvdF9pbnN0 cnVjdGlvbnMoKXsKKyAgdj0kMQorICBkPSQyCisgIGVjaG8gIlNuYXBzaG90IGZvciAkZCBoYXMg YmVlbiBnZW5lcmF0ZWQsIGFydGlmYWN0czoiCisgIGVjaG8gIi0gVGFyYmFsbCBnY2MtJHYtJGQu dGFyLnh6IGdlbmVyYXRlZC4iCisgIGVjaG8gIi0gZmVkcGtnIHByZXAgd29ya3MgZmluZSwgZ2Nj LSR2LTk5OS4kZC4qLnNyYy5ycG0gZ2VuZXJhdGVkLiIKKyAgZWNobworICBlY2hvICJOZXh0IHN0 ZXBzOiIKKyAgZWNobyAiKiBNYWtlIHN1cmUgeW91IGhhdmUgdGhlIHJpZ2h0IGNyZWRlbnRpYWxz IGZvciBGZWRvcmEgcGFja2FnaW5nIGFuZCBjb3ByIGFjY2Vzcy4iCisgIGVjaG8gIiAgRm9yIGV4 YW1wbGUsIGluaXRpYWxpemUgeW91ciBrZXJiZXJvcyB0aWNrZXQgdXNpbmcgXGBraW5pdFxgIGFu ZCBlbnN1cmUgdGhhdCB5b3VyIGNvcHIgQVBJIGtleSBoYXMgbm90IGV4cGlyZWQuIgorICBlY2hv ICIqIFVwbG9hZCB0aGUgdGFyYmFsbCB0byB0aGUgbG9va2FzaWRlIGNhY2hlOiIKKyAgZWNobyAi ICAgIGZlZHBrZyBuZXctc291cmNlcyBnY2MtJHYtJGQudGFyLnh6IGBlY2hvICQoc2VkICdzL1NI QTUxMiAoXCguKlwpKSA9IFswLTlhLWZdXCskL1wxLycgc291cmNlcyB8IGdyZXAgLXYgJ15nY2Mt JylgIgorICBlY2hvICIqIENvbW1pdCBhbGwgY2hhbmdlczoiCisgIGVjaG8gIiAgICBnaXQgY29t bWl0IC1hIC1tIFwiU25hcHNob3QgJGRcIiIKKyAgZWNobyAiKiBQdXNoIGNoYW5nZXMgdG8gZGlz dC1naXQ6IgorICBlY2hvICIgICAgZmVkcGtnIHB1c2giCisgIGVjaG8gIiogSXNzdWUgYSBidWls ZCBpbiBrb2ppIGludG8gdGhlIHNuYXBzaG90IHRhcmdldDoiCisgIGVjaG8gIiAgICBrb2ppIGJ1 aWxkIC0tbm93YWl0IHJhd2hpZGUtZ2NjLXNuYXBzaG90IGdpdCtodHRwczovL3NyYy5mZWRvcmFw cm9qZWN0Lm9yZy9ycG1zL2djYyNcJChnaXQgcmV2LXBhcnNlIHNuYXBzaG90KSIKKyAgICBjaHJv b3Q9CisgICAgZm9yIGFyY2ggaW4gYWFyY2g2NCBpMzg2IHBwYzY0bGUgczM5MHggeDg2XzY0OyBk bworICAgICAgY2hyb290PSIkY2hyb290IC0tY2hyb290IGZlZG9yYS1yYXdoaWRlLSRhcmNoIgor ICAgIGRvbmUKKyAgZWNobyAiKiBDcmVhdGUgYSBuZXcgcHJvamVjdCBpbiB0aGUgZ2NjLXRlYW0g Y29wciBuYW1lc3BhY2U6IgorICBlY2hvICIgICAgY29wciBjcmVhdGUgQGdjYy10ZWFtL2djYy1z bmFwc2hvdC0kZCAtLWRlc2NyaXB0aW9uIFwiVXBzdHJlYW0gR0NDIHNuYXBzaG90IGJ1aWx0IG9u ICQoZGF0ZSArJyVhICViICUwZCAlWScpXCIgJGNocm9vdCIKKyAgZWNobyAiKiBJc3N1ZSBidWls ZCBpbiBjb3ByIgorICBlY2hvICIgICAgY29wciBidWlsZCAtLW5vd2FpdCAtLXRpbWVvdXQgMTcy ODAwIEBnY2MtdGVhbS9nY2Mtc25hcHNob3QtJGQgZ2NjLSR2LTk5OS4kZC4qLnNyYy5ycG0iCit9 CisKK3RyYXAgY2xlYW51cCBFWElUCitmZWRvcmFfYnJhbmNoPSQoZ2l0IGJyYW5jaCAtLXNob3ct Y3VycmVudCkKKworaWYgWyAiJGZlZG9yYV9icmFuY2giID09ICJzbmFwc2hvdCIgXTsgdGhlbgor ICBoPSJ0cnVuayIKKyAgcmVmZGlyPSQxCisgIHI9Ijk5OSIKKyAgc25hcD0icyIKK2Vsc2UKKyAg aD0kMQorICByPSIwIgorICBzbmFwPSIiCisgIHJlZmRpcj0kMgorZmkKKworaWYgWyAteiAkaCBd OyB0aGVuCisgIGVjaG8gIlVzYWdlIgorICBlY2hvICIgIEZvciBGZWRvcmEgcmVsZWFzZSBicmFu Y2hlcyBhbmQgcmF3aGlkZToiCisgIGVjaG8gIiAgICAuL3VwZGF0ZS1nY2Muc2ggZ2NjL3JlZGhh dC9oZWFkcy9nY2MtTk4tYnJhbmNoX2NvbW1pdF9oYXNoIFtnaXRfcmVmZXJlbmNlX2Rpcl90b19z cGVlZF91cF0iCisgIGVjaG8gIiAgRm9yIHNuYXBzaG90OiIKKyAgZWNobyAiICAgIC4vdXBkYXRl LWdjYy5zaCBbZ2l0X3JlZmVyZW5jZV9kaXJfdG9fc3BlZWRfdXBdIgogICBleGl0IDEKIGZpCisK IGV4cG9ydCBMQ19BTEw9QwogaWYgISBbIC1mIGdjYy5zcGVjIF07IHRoZW4gZWNobyBNdXN0IGJl IHJ1biBpbiB0aGUgZGlyZWN0b3J5IHdpdGggZ2NjLnNwZWMgZmlsZS47IGV4aXQgMTsgZmkKIGlm IFsgLWQgZ2NjLWRpci50bXAgXTsgdGhlbiBlY2hvIGdjYy1kaXIudG1wIGFscmVhZHkgZXhpc3Rz LjsgZXhpdCAxOyBmaQogdj1gc2VkIC1uICdzL14lZ2xvYmFsIGdjY192ZXJzaW9uIC8vcCcgZ2Nj LnNwZWNgCiBwPWBzZWQgLW4gJ3MvXiVnbG9iYWwgZ2l0cmV2IC8vcCcgZ2NjLnNwZWNgCi1oPSQx Ci1pZiBbICIkIyIgLWdlIDIgXTsgdGhlbgotICBnaXQgY2xvbmUgLS1kaXNzb2NpYXRlIC0tcmVm ZXJlbmNlICQyIGh0dHBzOi8vZ2NjLmdudS5vcmcvZ2l0L2djYy5naXQgZ2NjLWRpci50bXAKK2lm IFsgLW4gIiRyZWZkaXIiIF07IHRoZW4KKyAgZ2l0IGNsb25lIC0tZGlzc29jaWF0ZSAtLXJlZmVy ZW5jZSAkcmVmZGlyIGh0dHBzOi8vZ2NjLmdudS5vcmcvZ2l0L2djYy5naXQgZ2NjLWRpci50bXAK IGVsc2UKICAgZ2l0IGNsb25lIGh0dHBzOi8vZ2NjLmdudS5vcmcvZ2l0L2djYy5naXQgZ2NjLWRp ci50bXAKIGZpCiBnaXQgLS1naXQtZGlyPWdjYy1kaXIudG1wLy5naXQgZmV0Y2ggb3JpZ2luICRo CiBkPWBkYXRlIC0taXNvIHwgc2VkICdzLy0vL2cnYAogY2QgZ2NjLWRpci50bXAKK2lmIFsgIiRm ZWRvcmFfYnJhbmNoIiA9PSAic25hcHNob3QiIF07IHRoZW4KKyAgaD0ib3JpZ2luLyRoIgorICBl Y2hvICJTeW5jIEhFQUQ6ICQoZ2l0IHNob3cgLXMgLS1wcmV0dHk9b25lbGluZSAkaH4xLi4kaCki CisgIGg9JChnaXQgcmV2LXBhcnNlICRoKQorZmkKIGdpdCBkaWZmICRwLi4kaCA+IFAxCiBnaXQg bG9nIC0tZm9ybWF0PSVCIGBnaXQgbG9nIC0tZm9ybWF0PSclYWUgJUgnICRwLi4kaCB8IGF3ayAn L15nY2NhZG1pbkBnY2MuZ251Lm9yZy97cHJpbnQgJDI7ZXhpdCAwfSdgLi4kaCA+IFAyCiBkaWZm IC11cCAvZGV2L251bGwgUDIgPj4gUDEKIHNlZCAtbiAncyxeK1tbOmJsYW5rOl1dXCtQUiBcKFth LXowLTkrLV1cKy9bMC05XVwrXCkkLFwxLHAnIFAxIHwgc2VkICdzLyAtIC4qJC8vO3MvWzogOy5d Ly9nJyB8IExDX0FMTD1DIHNvcnQgLXUgLXQgLyAtayAxLDEgLWsgMiwybiA+IFAzCiA+IFA0CiBm b3IgaSBpbiBgY2F0IFAzYDsgZG8gaWYgZ3JlcCAtRiAkaSAuLi9nY2Muc3BlYyA+L2Rldi9udWxs OyB0aGVuIGVjaG8gJGkgYWxyZWFkeSByZWNvcmRlZC47IGVsc2UgZWNobyAkaSA+PiBQNDsgZmk7 IGRvbmUKK2VjaG8gIiogJChkYXRlICsnJWEgJWIgJTBkICVZJykgJChnaXQgY29uZmlnIGdldCB1 c2VyLm5hbWUpIDwkKGdpdCBjb25maWcgZ2V0IHVzZXIuZW1haWwpPiBnY2MtJHYtJHIuJGQkc25h cC4wIiA+IFA1CiBjYXNlICIkdiIgaW4KLSAgKi4wLiopIGVjaG8gIi0gdXBkYXRlIGZyb20gdHJ1 bmsiID4gUDU7OwotICAqKSBlY2hvICItIHVwZGF0ZSBmcm9tIHJlbGVhc2VzL2djYy1gZWNobyAk diB8IHNlZCAncy9cLi4qJC8vJ2AgYnJhbmNoIiA+IFA1OzsKKyAgKi4wLiopIGVjaG8gIi0gdXBk YXRlIGZyb20gdHJ1bmsiID4+IFA1OzsKKyAgKikgZWNobyAiLSB1cGRhdGUgZnJvbSByZWxlYXNl cy9nY2MtYGVjaG8gJHYgfCBzZWQgJ3MvXC4uKiQvLydgIGJyYW5jaCIgPj4gUDU7OwogZXNhYwog ZWNobyBgY2F0IFA0YCB8IHNlZCAncy8gLywgL2cnIHwgZm9sZCAtdyA3MSAtcyB8IHNlZCAnMXMv Xi8gIC0gUFJzIC87Miwkcy9eLwkvO3MvLCAkLywvJyA+PiBQNQogZWNobyA+PiBQNQogY2QgLi4K IHNlZCAtaSAtZSAnL14lZ2xvYmFsIGdpdHJldiAvcy8gWzAtOWEtZl1cKyQvICckaCcvOy9eJWds b2JhbCBEQVRFIC9zLyBbMC05XVwrJC8gJyRkJy87L14lY2hhbmdlbG9nJC9yIGdjYy1kaXIudG1w L1A1JyBnY2Muc3BlYworaWYgWyAiJGZlZG9yYV9icmFuY2giID09ICJzbmFwc2hvdCIgXTsgdGhl bgorICBkPSIke2R9cyIKK2ZpCiBnaXQgLS1naXQtZGlyPWdjYy1kaXIudG1wLy5naXQgYXJjaGl2 ZSAtLXByZWZpeD1nY2MtJHYtJGQvICRoIHwgeHogLTllID4gZ2NjLSR2LSRkLnRhci54egogcm0g LXJmIGdjYy1kaXIudG1wCi1mZWRwa2cgbmV3LXNvdXJjZXMgZ2NjLSR2LSRkLnRhci54eiBgc2Vk ICdzL1NIQTUxMiAoXCguKlwpKSA9IFswLTlhLWZdXCskL1wxLycgc291cmNlcyB8IGdyZXAgLXYg J15nY2MtJ2AKK2lmIFsgIiRmZWRvcmFfYnJhbmNoIiA9PSAic25hcHNob3QiIF07IHRoZW4KKyAg aWYgZmVkcGtnIC0tcmVsZWFzZSByYXdoaWRlIHByZXA7IHRoZW4KKyAgICBmZWRwa2cgLS1yZWxl YXNlIHJhd2hpZGUgc3JwbQorICAgIHNuYXBzaG90X2luc3RydWN0aW9ucyAkdiAkZAorICBlbHNl CisgICAgZWNobyAiUHJlcCBmYWlsZWQhIgorICAgIGV4aXQgMQorICBmaQorZWxzZQorICBmZWRw a2cgbmV3LXNvdXJjZXMgZ2NjLSR2LSRkLnRhci54eiBgc2VkICdzL1NIQTUxMiAoXCguKlwpKSA9 IFswLTlhLWZdXCskL1wxLycgc291cmNlcyB8IGdyZXAgLXYgJ15nY2MtJ2AKK2ZpCg==