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: Miroslav Rezanina To: git-commits@fedoraproject.org Subject: [rpms/qemu] eln: * Tue Jun 23 2026 Miroslav Rezanina - 10.1.0-22 Date: Tue, 30 Jun 2026 15:09:04 GMT Message-ID: <178283214427.1.200247718274637931.rpms-qemu-169c46da5ca9@fedoraproject.org> List-ID: X-Git-Repo: rpms/qemu X-Git-Branch: eln X-Git-Rev: 169c46da5ca9a58fb3b73d687d63c287f5218116 ICAgICAgICAgICAgQSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KCiAgICAgICAgICAgIFJl cG8gICA6IHJwbXMvcWVtdQogICAgICAgICAgICBCcmFuY2ggOiBlbG4KICAgICAgICAgICAgQ29t bWl0IDogMTY5YzQ2ZGE1Y2E5YTU4ZmIzYjczZDY4N2Q2M2MyODdmNTIxODExNgogICAgICAgICAg ICBBdXRob3IgOiBNaXJvc2xhdiBSZXphbmluYSA8bXJlemFuaW5AcmVkaGF0LmNvbT4KICAgICAg ICAgICAgRGF0ZSAgIDogMjAyNi0wNi0zMFQxNzowNzo1NyswMjowMAogICAgICAgICAgICBTdGF0 cyAgOiArNjE5NC8tMSBpbiA1MyBmaWxlKHMpCiAgICAgICAgICAgIFVSTCAgICA6IGh0dHBzOi8v c3JjLmZlZG9yYXByb2plY3Qub3JnL3JwbXMvcWVtdS9jLzE2OWM0NmRhNWNhOWE1OGZiM2I3M2Q2 ODdkNjNjMjg3ZjUyMTgxMTY/YnJhbmNoPWVsbgoKICAgICAgICAgICAgTG9nOgogICAgICAgICAg ICAqIFR1ZSBKdW4gMjMgMjAyNiBNaXJvc2xhdiBSZXphbmluYSA8bXJlemFuaW5AcmVkaGF0LmNv bT4gLSAxMC4xLjAtMjIKCi0ga3ZtLWJsa2RlYnVnLUFkZC1kZWxheS1ucy1vcHRpb24ucGF0Y2gg W1JIRUwtMTIxNjg2XQotIGt2bS1ibG9jay1BZGQtYmxrX2NvX3N0YXJ0LWVuZF9yZXF1ZXN0LWFu ZC1CRFJWX1JFUV9OT19RLnBhdGNoIFtSSEVMLTEyMTY4Nl0KLSBrdm0tYmxvY2stQWRkLWZsYWdz LXBhcmFtZXRlci10by1ibGtfLV9wZGlzY2FyZC5wYXRjaCBbUkhFTC0xMjE2ODZdCi0ga3ZtLWlk ZS1NaW5pbWFsLWZpeC1mb3ItZGVhZGxvY2stYmV0d2Vlbi1UUklNLWFuZC1kcmFpbi5wYXRjaCBb UkhFTC0xMjE2ODZdCi0ga3ZtLWlkZS1DbGVhbi11cC1pZGVfdHJpbV9jb19lbnRyeS10by1iZS1p ZGlvbWF0aWMtY29yb3UucGF0Y2ggW1JIRUwtMTIxNjg2XQotIGt2bS1pZGUtdGVzdC1GYWN0b3It b3V0LXdhaXRfZG1hX2NvbXBsZXRpb24ucGF0Y2ggW1JIRUwtMTIxNjg2XQotIGt2bS1pZGUtdGVz dC1UZXN0LXJlc2V0LWR1cmluZy1UUklNLnBhdGNoIFtSSEVMLTEyMTY4Nl0KLSBrdm0tYmxvY2st Z3JhcGgtbG9jay1maXgtbWlzc2VkLXdha2V1cC1pbi1iZHJ2X2dyYXBoX2NvXy5wYXRjaCBbUkhF TC0xODYzODRdCi0ga3ZtLWJsb2NrLWN1cmwtZml4LWN1cmwtaW50ZXJuYWwtaGFuZGxlcy1oYW5k bGluZy5wYXRjaCBbUkhFTC0xODYzODRdCi0ga3ZtLWJsb2NrLWN1cmwuYy1Vc2UtZXhwbGljaXQt bG9uZy1jb25zdGFudHMtaW4tY3VybF9lYXMucGF0Y2ggW1JIRUwtMTg2Mzg0XQotIGt2bS1ibG9j ay1jdXJsLmMtRml4LUNVUkxPUFRfVkVSQk9TRS1wYXJhbWV0ZXItdHlwZS5wYXRjaCBbUkhFTC0x ODYzODRdCi0ga3ZtLWJsb2NrLWN1cmwtZml4LWNvbmN1cnJlbnQtY29tcGxldGlvbi1oYW5kbGlu Zy5wYXRjaCBbUkhFTC0xODYzODRdCi0ga3ZtLWJsb2NrLWN1cmwtZnJlZS1zLXBhc3N3b3JkLWlu LWNsZWFudXAtcGF0aHMucGF0Y2ggW1JIRUwtMTg2Mzg0XQotIGt2bS1udm1lLUtpY2stYW5kLWNo ZWNrLWNvbXBsZXRpb25zLWluLUJEUy1jb250ZXh0LnBhdGNoIFtSSEVMLTE4NjM4NF0KLSBrdm0t bnZtZS1Ob3RlLWluLXdoaWNoLUFpb0NvbnRleHQtc29tZS1mdW5jdGlvbnMtcnVuLnBhdGNoIFtS SEVMLTE4NjM4NF0KLSBrdm0tYmxvY2stcmVtb3ZlLWRldGFjaGVkLWhlYWRlci1vcHRpb24tZnJv bS1vcHRzLWFmdGVyLS5wYXRjaCBbUkhFTC0xODYzODRdCi0ga3ZtLWJsb2NrLWZpeC1sdWtzLWFt ZW5kLXdoZW4tcnVuLWluLWNvcm91dGluZS5wYXRjaCBbUkhFTC0xODYzODRdCi0ga3ZtLXFlZC1E b24tdC10cnktdG8tZmx1c2gtZHVyaW5nLWluY29taW5nLW1pZ3JhdGlvbi5wYXRjaCBbUkhFTC0x ODYzODRdCi0ga3ZtLWJsb2NrLXZtZGstZml4LU9PQi1yZWFkLWluLXZtZGtfcmVhZF9leHRlbnQu cGF0Y2ggW1JIRUwtMTg2Mzg0XQotIGt2bS1ibG9jay10aHJvdHRsZS1ncm91cHMtZml4LWRlYWRs b2NrLXdpdGgtaW9saW1pdHMtYW5kLnBhdGNoIFtSSEVMLTE4NjM4NF0KLSBrdm0tdGhyb3R0bGUt Z3JvdXAtRml4LXJhY2UtY29uZGl0aW9uLWluLXRocm90dGxlX2dyb3VwXy5wYXRjaCBbUkhFTC0x ODYzODRdCi0ga3ZtLXFlbXUtaW1nLUZpeC1hbWVuZC1vcHRpb24tcGFyc2UtZXJyb3ItaGFuZGxp bmcucGF0Y2ggW1JIRUwtMTg2Mzg0XQotIGt2bS1xZW11LWltZy1yZWJhc2UtZG9uLXQtZXhjZWVk LUlPX0JVRl9TSVpFLWluLW9uZS1vcGVyLnBhdGNoIFtSSEVMLTE4NjM4NF0KLSBrdm0tcHl0aG9u LWJhY2twb3J0LWRyb3AtUHl0aG9uMy42LXdvcmthcm91bmRzLnBhdGNoIFtSSEVMLTE4NjM4NF0K LSBrdm0tcHl0aG9uLWJhY2twb3J0LVJlbW92ZS1kZXByZWNhdGVkLWdldF9ldmVudF9sb29wLWNh bC5wYXRjaCBbUkhFTC0xODYzODRdCi0ga3ZtLXB5dGhvbi1iYWNrcG9ydC1hdm9pZC1jcmVhdGlu Zy1hZGRpdGlvbmFsLWV2ZW50LWxvb3AucGF0Y2ggW1JIRUwtMTg2Mzg0XQotIGt2bS1pb3Rlc3Rz LTE0Ny1lbnN1cmUtdGVtcG9yYXJ5LXNvY2tldHMtYXJlLWNsb3NlZC1iZWZvLnBhdGNoIFtSSEVM LTE4NjM4NF0KLSBrdm0taW90ZXN0cy0xNTEtZW5zdXJlLXN1YnByb2Nlc3Nlcy1hcmUtY2xlYW5l ZC11cC5wYXRjaCBbUkhFTC0xODYzODRdCi0ga3ZtLXRlc3RzLXFlbXUtaW90ZXN0LWZpeC1pb3Rl c3QtMDI0LXdpdGgtcWVkLWltYWdlcy5wYXRjaCBbUkhFTC0xODYzODRdCi0ga3ZtLXRlc3RzLXFl bXUtaW90ZXN0cy1GaXgtY2hlY2stZm9yLWV4aXN0aW5nLWZpbGUtaW4tX3IucGF0Y2ggW1JIRUwt MTg2Mzg0XQotIGt2bS1hc3luYy1hY2Nlc3MtYm90dG9tLWhhbGYtZmxhZ3Mtd2l0aC1xYXRvbWlj X3JlYWQucGF0Y2ggW1JIRUwtMTg2Mzg0XQotIGt2bS1ibG9jay1saW51eC1haW8tYm91bmQtaW9x X3N1Ym1pdC1yZWN1cnNpb24tZGVwdGgucGF0Y2ggW1JIRUwtMTg2Mzg0XQotIGt2bS1ibG9jay1p by1mYWxsYmFjay10by1ib3VuY2UtYnVmZmVyLWlmLUJMS1pFUk9PVVQtaXMtLnBhdGNoIFtSSEVM LTE4NjM4NF0KLSBrdm0tZmlsZS1wb3NpeC1wb3B1bGF0ZS1wd3JpdGVfemVyb2VzX2FsaWdubWVu dC5wYXRjaCBbUkhFTC0xODYzODRdCi0ga3ZtLWJsb2NrLXVzZS1wd3JpdGVfemVyb2VzX2FsaWdu bWVudC13aGVuLXdyaXRpbmctZmlyc3QucGF0Y2ggW1JIRUwtMTg2Mzg0XQotIGt2bS1pb3Rlc3Rz LWFkZC1MaW51eC1sb29wLWRldmljZS1pbWFnZS1jcmVhdGlvbi10ZXN0LnBhdGNoIFtSSEVMLTE4 NjM4NF0KLSBrdm0tdmlydGlvLUZpeC1jcmFzaC13aGVuLXNyaW92LXBmLWlzLXNldC1mb3Itbm9u LVBDSS1FeC5wYXRjaCBbUkhFTC0xODYzODRdCi0ga3ZtLXZpcnRpby1zY3NpLXBhc3MtdGhlLXNh bWUtY2RiX3NpemUtdG8tdmlydGlvX3Njc2lfcG8ucGF0Y2ggW1JIRUwtMTg2Mzg0XQotIGt2bS1o dy1zY3NpLWF2b2lkLWRlYWRsb2NrLXVwb24tVE1GLXJlcXVlc3QtY2FuY2VsbGluZy13LnBhdGNo IFtSSEVMLTE4NjM4NF0KLSBrdm0tdmlydGlvLWJsay1maXgtem9uZS1yZXBvcnQtYnVmZmVyLW91 dC1vZi1tZW1vcnktQ1ZFLS5wYXRjaCBbUkhFTC0xODYzODRdCi0ga3ZtLWlkZS1GaXgtcG90ZW50 aWFsLWFzc2VydGlvbi1mYWlsdXJlLW9uLVZNLXN0b3AtZm9yLVAucGF0Y2ggW1JIRUwtMTg2Mzg0 XQotIGt2bS1ibG9jay1DcmVhdGUtREVGQVVMVF9CTE9DS19DT05GLW1hY3JvLnBhdGNoIFtSSEVM LTE4NjM4NF0KLSBrdm0tYmxvY2stQWRkLW1vcmUtZGVmYXVsdHMtdG8tREVGQVVMVF9CTE9DS19D T05GLnBhdGNoIFtSSEVMLTE4NjM4NF0KLSBrdm0tYmxvY2stbWlycm9yLWNoZWNrLXJhbmdlLXdo ZW4tc2V0dGluZy16ZXJvLWJpdG1hcC1mby5wYXRjaCBbUkhFTC0xODYzODRdCi0ga3ZtLWlvdGVz dHMtdGVzdC1hY3RpdmUtbWlycm9yLXdpdGgtdW5hbGlnbmVkLXNtYWxsLXdyaXQucGF0Y2ggW1JI RUwtMTg2Mzg0XQotIGt2bS1ibG9jay1taXJyb3ItZml4LWFzc2VydGlvbi1mYWlsdXJlLXVwb24t ZHVwbGljYXRlLWNvLnBhdGNoIFtSSEVMLTE4NjM4NF0KLSBrdm0tY29tbWl0LURyYWluLW5vZGVz LWFjcm9zcy1hbGwtb2YtYmRydl9jb21taXQucGF0Y2ggW1JIRUwtMTg2Mzg0XQotIGt2bS1xZW11 LWlvLUFkZC1haW9fZGlzY2FyZC1jb21tYW5kLnBhdGNoIFtSSEVMLTE4NjM4NF0KLSBrdm0tcWNv dzItRml4LWNvcnJ1cHRpb24tb24tZGlzY2FyZC1kdXJpbmctd3JpdGUtd2l0aC1DTy5wYXRjaCBb UkhFTC0xODYzODRdCi0ga3ZtLWlvdGVzdHMtMDQ2LVRlc3QtdGhhdC1kaXNjYXJkLXdyaXRlX3pl cm9lcy13YWl0LWZvci0ucGF0Y2ggW1JIRUwtMTg2Mzg0XQotIGt2bS1xY293Mi1GaXgtZGF0YS1s b3NzLW9uLXplcm8td3JpdGUtd2l0aC1kZXRlY3QtemVyb2VzLnBhdGNoIFtSSEVMLTE4NjM4NF0K LSBrdm0tYmxvY2stRml4LWNyYXNoLWFmdGVyLXNldHRpbmctbGF0ZW5jeS1oaXN0b3J5Z3JhbS13 aS5wYXRjaCBbUkhFTC0xODYzODRdCi0gUmVzb2x2ZXM6IFJIRUwtMTIxNjg2CiAgKHFlbXUta3Zt IGh1bmcgZHVyaW5nIGRyYWluIGFmdGVyIGRvdWJsZSBwYXVzZSkKLSBSZXNvbHZlczogUkhFTC0x ODYzODQKICAodmlydC1zdG9yYWdlOiBCYWNrcG9ydCBzdGFibGUgYnJhbmNoIGZpeGVzKQoKLS0t CmRpZmYgLS1naXQgYS9rdm0tYXN5bmMtYWNjZXNzLWJvdHRvbS1oYWxmLWZsYWdzLXdpdGgtcWF0 b21pY19yZWFkLnBhdGNoIGIva3ZtLWFzeW5jLWFjY2Vzcy1ib3R0b20taGFsZi1mbGFncy13aXRo LXFhdG9taWNfcmVhZC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5l ZmI3NDJlCi0tLSAvZGV2L251bGwKKysrIGIva3ZtLWFzeW5jLWFjY2Vzcy1ib3R0b20taGFsZi1m bGFncy13aXRoLXFhdG9taWNfcmVhZC5wYXRjaApAQCAtMCwwICsxLDY5IEBACitGcm9tIDY0OTM5 ODE4MmQ0ODk3MzI1ZjM3Y2VlNTdmODFhZTlmMjIyNzJkNjYgTW9uIFNlcCAxNyAwMDowMDowMCAy MDAxCitGcm9tOiBQYW9sbyBCb256aW5pIDxwYm9uemluaUByZWRoYXQuY29tPgorRGF0ZTogTW9u LCAxMyBPY3QgMjAyNSAxODoyNDo1NCArMDIwMAorU3ViamVjdDogW1BBVENIIDMxLzUyXSBhc3lu YzogYWNjZXNzIGJvdHRvbSBoYWxmIGZsYWdzIHdpdGggcWF0b21pY19yZWFkCisKK1JILUF1dGhv cjogS2V2aW4gV29sZiA8a3dvbGZAcmVkaGF0LmNvbT4KK1JILU1lcmdlUmVxdWVzdDogNTA0OiB2 aXJ0LXN0b3JhZ2U6IEJhY2twb3J0IHN0YWJsZSBicmFuY2ggZml4ZXMKK1JILUppcmE6IFJIRUwt MTg2Mzg0CitSSC1BY2tlZC1ieTogU3RlZmFuIEhham5vY3ppIDxzdGVmYW5oYUByZWRoYXQuY29t PgorUkgtQWNrZWQtYnk6IE1pcm9zbGF2IFJlemFuaW5hIDxtcmV6YW5pbkByZWRoYXQuY29tPgor UkgtQ29tbWl0OiBbMjQvNDVdIGMyMzY3ZTljYmQ2MGVmNjBhMmEyYTYxY2RhNTZjMzFmNGJkOWEw MGIgKGttd29sZi9jZW50b3MtcWVtdS1rdm0pCisKK1J1bm5pbmcgdGVzdC1haW8tbXVsdGl0aHJl YWQgdW5kZXIgVFNBTiByZXZlYWxzIGRhdGEgcmFjZXMgb24gYmgtPmZsYWdzLgorQmVjYXVzZSBi b3R0b20gaGFsdmVzIG1heSBiZSBzY2hlZHVsZWQgb3IgY2FuY2VsZWQgYXN5bmNocm9ub3VzbHks Cit3aXRob3V0IHRha2luZyBhIGxvY2ssIGFkanVzdCBhaW9fY29tcHV0ZV9iaF90aW1lb3V0KCkg YW5kIGFpb19jdHhfY2hlY2soKQordG8gdXNlIGEgcmVsYXhlZCByZWFkIHRvIGFjY2VzcyB0aGUg ZmxhZ3MuCisKK1VzZSBhbiBhY3F1aXJlIGxvYWQgdG8gZW5zdXJlIHRoYXQgYW55dGhpbmcgdGhh dCB3YXMgd3JpdHRlbiBwcmlvciB0bworcWVtdV9iaF9zY2hlZHVsZSgpIGlzIHZpc2libGUuCisK K0Nsb3NlczogaHR0cHM6Ly9naXRsYWIuY29tL3FlbXUtcHJvamVjdC9xZW11Ly0vaXNzdWVzLzI3 NDkKK0Nsb3NlczogaHR0cHM6Ly9naXRsYWIuY29tL3FlbXUtcHJvamVjdC9xZW11Ly0vaXNzdWVz Lzg1MQorQ2M6IHFlbXUtc3RhYmxlQG5vbmdudS5vcmcKK1NpZ25lZC1vZmYtYnk6IFBhb2xvIEJv bnppbmkgPHBib256aW5pQHJlZGhhdC5jb20+CisoY2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCA1 MTQyMzk3Yzc5MzMwYWFiOWJlZjMyMzA5OTFjOGFjMGMyNTExMTBmKQorU2lnbmVkLW9mZi1ieTog TWljaGFlbCBUb2thcmV2IDxtanRAdGxzLm1zay5ydT4KK1NpZ25lZC1vZmYtYnk6IEtldmluIFdv bGYgPGt3b2xmQHJlZGhhdC5jb20+CistLS0KKyB1dGlsL2FzeW5jLmMgfCAxMSArKysrKysrLS0t LQorIDEgZmlsZSBjaGFuZ2VkLCA3IGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCisKK2Rp ZmYgLS1naXQgYS91dGlsL2FzeW5jLmMgYi91dGlsL2FzeW5jLmMKK2luZGV4IDI3MTljNjI5YWUu LmE3MzZkMmNkMGQgMTAwNjQ0CistLS0gYS91dGlsL2FzeW5jLmMKKysrKyBiL3V0aWwvYXN5bmMu YworQEAgLTI1Niw4ICsyNTYsOSBAQCBzdGF0aWMgaW50NjRfdCBhaW9fY29tcHV0ZV9iaF90aW1l b3V0KEJITGlzdCAqaGVhZCwgaW50IHRpbWVvdXQpCisgICAgIFFFTVVCSCAqYmg7CisgCisgICAg IFFTTElTVF9GT1JFQUNIX1JDVShiaCwgaGVhZCwgbmV4dCkgeworLSAgICAgICAgaWYgKChiaC0+ ZmxhZ3MgJiAoQkhfU0NIRURVTEVEIHwgQkhfREVMRVRFRCkpID09IEJIX1NDSEVEVUxFRCkgewor LSAgICAgICAgICAgIGlmIChiaC0+ZmxhZ3MgJiBCSF9JRExFKSB7CisrICAgICAgICBpbnQgZmxh Z3MgPSBxYXRvbWljX2xvYWRfYWNxdWlyZSgmYmgtPmZsYWdzKTsKKysgICAgICAgIGlmICgoZmxh Z3MgJiAoQkhfU0NIRURVTEVEIHwgQkhfREVMRVRFRCkpID09IEJIX1NDSEVEVUxFRCkgeworKyAg ICAgICAgICAgIGlmIChmbGFncyAmIEJIX0lETEUpIHsKKyAgICAgICAgICAgICAgICAgLyogaWRs ZSBib3R0b20gaGFsdmVzIHdpbGwgYmUgcG9sbGVkIGF0IGxlYXN0CisgICAgICAgICAgICAgICAg ICAqIGV2ZXJ5IDEwbXMgKi8KKyAgICAgICAgICAgICAgICAgdGltZW91dCA9IDEwMDAwMDAwOwor QEAgLTMzNSwxNCArMzM2LDE2IEBAIGFpb19jdHhfY2hlY2soR1NvdXJjZSAqc291cmNlKQorICAg ICBhaW9fbm90aWZ5X2FjY2VwdChjdHgpOworIAorICAgICBRU0xJU1RfRk9SRUFDSF9SQ1UoYmgs ICZjdHgtPmJoX2xpc3QsIG5leHQpIHsKKy0gICAgICAgIGlmICgoYmgtPmZsYWdzICYgKEJIX1ND SEVEVUxFRCB8IEJIX0RFTEVURUQpKSA9PSBCSF9TQ0hFRFVMRUQpIHsKKysgICAgICAgIGludCBm bGFncyA9IHFhdG9taWNfbG9hZF9hY3F1aXJlKCZiaC0+ZmxhZ3MpOworKyAgICAgICAgaWYgKChm bGFncyAmIChCSF9TQ0hFRFVMRUQgfCBCSF9ERUxFVEVEKSkgPT0gQkhfU0NIRURVTEVEKSB7Cisg ICAgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgICAgICB9CisgICAgIH0KKyAKKyAgICAgUVNJ TVBMRVFfRk9SRUFDSChzLCAmY3R4LT5iaF9zbGljZV9saXN0LCBuZXh0KSB7CisgICAgICAgICBR U0xJU1RfRk9SRUFDSF9SQ1UoYmgsICZzLT5iaF9saXN0LCBuZXh0KSB7CistICAgICAgICAgICAg aWYgKChiaC0+ZmxhZ3MgJiAoQkhfU0NIRURVTEVEIHwgQkhfREVMRVRFRCkpID09IEJIX1NDSEVE VUxFRCkgeworKyAgICAgICAgICAgIGludCBmbGFncyA9IHFhdG9taWNfbG9hZF9hY3F1aXJlKCZi aC0+ZmxhZ3MpOworKyAgICAgICAgICAgIGlmICgoZmxhZ3MgJiAoQkhfU0NIRURVTEVEIHwgQkhf REVMRVRFRCkpID09IEJIX1NDSEVEVUxFRCkgeworICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1 ZTsKKyAgICAgICAgICAgICB9CisgICAgICAgICB9CistLSAKKzIuNTIuMAorCgpkaWZmIC0tZ2l0 IGEva3ZtLWJsa2RlYnVnLUFkZC1kZWxheS1ucy1vcHRpb24ucGF0Y2ggYi9rdm0tYmxrZGVidWct QWRkLWRlbGF5LW5zLW9wdGlvbi5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw MDAwLi5hYTlhMWNjCi0tLSAvZGV2L251bGwKKysrIGIva3ZtLWJsa2RlYnVnLUFkZC1kZWxheS1u cy1vcHRpb24ucGF0Y2gKQEAgLTAsMCArMSwxMjEgQEAKK0Zyb20gNjM4NmU2NThhZGM3OThiMmFm NzQwMGE1Mzk0MTUyM2QyMWRkNTgxZCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEtl dmluIFdvbGYgPGt3b2xmQHJlZGhhdC5jb20+CitEYXRlOiBUdWUsIDIxIEFwciAyMDI2IDE4OjEx OjI2ICswMjAwCitTdWJqZWN0OiBbUEFUQ0ggMDEvNTJdIGJsa2RlYnVnOiBBZGQgJ2RlbGF5LW5z JyBvcHRpb24KKworUkgtQXV0aG9yOiBLZXZpbiBXb2xmIDxrd29sZkByZWRoYXQuY29tPgorUkgt TWVyZ2VSZXF1ZXN0OiA1MDM6IGlkZTogRml4IGRlYWRsb2NrIGJldHdlZW4gVFJJTSBhbmQgZHJh aW4KK1JILUppcmE6IFJIRUwtMTIxNjg2CitSSC1BY2tlZC1ieTogSGFubmEgQ3plbmN6ZWsgPGhy ZWl0ekByZWRoYXQuY29tPgorUkgtQWNrZWQtYnk6IFN0ZWZhbiBIYWpub2N6aSA8c3RlZmFuaGFA cmVkaGF0LmNvbT4KK1JILUNvbW1pdDogWzEvN10gYjZhZGUwNzkyNzk5MDlmM2IzOGEwM2ZjNzEw YzFmMGViZDQ3NTkxNSAoa213b2xmL2NlbnRvcy1xZW11LWt2bSkKKworU29tZXRpbWVzIHJlcHJv ZHVjaW5nIGEgcHJvYmxlbSBmb3IgZGVidWdnaW5nIGludm9sdmVzIHNsb3cgSS9PLCBzbworbGV0 J3MgYWRkIHNvbWV0aGluZyB0byBibGtkZWJ1ZyB0byBtYWtlIEkvTyBzbG93IHdoZW4gd2UgbmVl ZCBpdC4gVGhpcworY2FuIGJlIHVzZWQgZWl0aGVyIHRvZ2V0aGVyIHdpdGggYW4gZXJyb3Igc28g dGhhdCB0aGUgcmVxdWVzdCBmYWlscworYWZ0ZXIgdGhlIGRlbGF5LCBvciB3aXRoIGVycm5vPTAs IHdoaWNoIGFsbG93cyB0aGUgcmVxdWVzdCB0byBzdWNjZWVkCithZnRlciB0aGUgZGVsYXkuCisK K1NpZ25lZC1vZmYtYnk6IEtldmluIFdvbGYgPGt3b2xmQHJlZGhhdC5jb20+CitNZXNzYWdlLUlE OiA8MjAyNjA0MjExNjExMzIuOTk4NzgtMi1rd29sZkByZWRoYXQuY29tPgorU2lnbmVkLW9mZi1i eTogS2V2aW4gV29sZiA8a3dvbGZAcmVkaGF0LmNvbT4KKyhjaGVycnkgcGlja2VkIGZyb20gY29t bWl0IGQ1ZTQwOTAxNzdhZDM4MmUwMTA4NGExNTk0YTFhNjBhNjlmNGMxY2QpCitTaWduZWQtb2Zm LWJ5OiBNaWNoYWVsIFRva2FyZXYgPG1qdEB0bHMubXNrLnJ1PgorU2lnbmVkLW9mZi1ieTogS2V2 aW4gV29sZiA8a3dvbGZAcmVkaGF0LmNvbT4KKy0tLQorIGJsb2NrL2Jsa2RlYnVnLmMgICAgIHwg MTUgKysrKysrKysrKysrKystCisgcWFwaS9ibG9jay1jb3JlLmpzb24gfCAgNCArKysrCisgMiBm aWxlcyBjaGFuZ2VkLCAxOCBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1n aXQgYS9ibG9jay9ibGtkZWJ1Zy5jIGIvYmxvY2svYmxrZGVidWcuYworaW5kZXggYzU0YWVlMGM4 NC4uODk1NGZjMjk3NyAxMDA2NDQKKy0tLSBhL2Jsb2NrL2Jsa2RlYnVnLmMKKysrKyBiL2Jsb2Nr L2Jsa2RlYnVnLmMKK0BAIC05NSw2ICs5NSw3IEBAIHR5cGVkZWYgc3RydWN0IEJsa2RlYnVnUnVs ZSB7CisgICAgICAgICAgICAgaW50IGltbWVkaWF0ZWx5OworICAgICAgICAgICAgIGludCBvbmNl OworICAgICAgICAgICAgIGludDY0X3Qgb2Zmc2V0OworKyAgICAgICAgICAgIGludDY0X3QgZGVs YXlfbnM7CisgICAgICAgICB9IGluamVjdDsKKyAgICAgICAgIHN0cnVjdCB7CisgICAgICAgICAg ICAgaW50IG5ld19zdGF0ZTsKK0BAIC0xNDQsNiArMTQ1LDEwIEBAIHN0YXRpYyBRZW11T3B0c0xp c3QgaW5qZWN0X2Vycm9yX29wdHMgPSB7CisgICAgICAgICAgICAgLm5hbWUgPSAiaW1tZWRpYXRl bHkiLAorICAgICAgICAgICAgIC50eXBlID0gUUVNVV9PUFRfQk9PTCwKKyAgICAgICAgIH0sCisr ICAgICAgICB7CisrICAgICAgICAgICAgLm5hbWUgPSAiZGVsYXktbnMiLAorKyAgICAgICAgICAg IC50eXBlID0gUUVNVV9PUFRfTlVNQkVSLAorKyAgICAgICAgfSwKKyAgICAgICAgIHsgLyogZW5k IG9mIGxpc3QgKi8gfQorICAgICB9LAorIH07CitAQCAtMjE2LDYgKzIyMSw4IEBAIHN0YXRpYyBp bnQgYWRkX3J1bGUodm9pZCAqb3BhcXVlLCBRZW11T3B0cyAqb3B0cywgRXJyb3IgKiplcnJwKQor ICAgICAgICAgcnVsZS0+b3B0aW9ucy5pbmplY3Qub25jZSAgPSBxZW11X29wdF9nZXRfYm9vbChv cHRzLCAib25jZSIsIDApOworICAgICAgICAgcnVsZS0+b3B0aW9ucy5pbmplY3QuaW1tZWRpYXRl bHkgPQorICAgICAgICAgICAgIHFlbXVfb3B0X2dldF9ib29sKG9wdHMsICJpbW1lZGlhdGVseSIs IDApOworKyAgICAgICAgcnVsZS0+b3B0aW9ucy5pbmplY3QuZGVsYXlfbnMgPQorKyAgICAgICAg ICAgIHFlbXVfb3B0X2dldF9udW1iZXIob3B0cywgImRlbGF5LW5zIiwgMCk7CisgICAgICAgICBz ZWN0b3IgPSBxZW11X29wdF9nZXRfbnVtYmVyKG9wdHMsICJzZWN0b3IiLCAtMSk7CisgICAgICAg ICBydWxlLT5vcHRpb25zLmluamVjdC5vZmZzZXQgPQorICAgICAgICAgICAgIHNlY3RvciA9PSAt MSA/IC0xIDogc2VjdG9yICogQkRSVl9TRUNUT1JfU0laRTsKK0BAIC01OTQsNiArNjAxLDcgQEAg c3RhdGljIGludCBjb3JvdXRpbmVfZm4gcnVsZV9jaGVjayhCbG9ja0RyaXZlclN0YXRlICpicywg dWludDY0X3Qgb2Zmc2V0LAorICAgICBCbGtkZWJ1Z1J1bGUgKnJ1bGUgPSBOVUxMOworICAgICBp bnQgZXJyb3I7CisgICAgIGJvb2wgaW1tZWRpYXRlbHk7CisrICAgIGludDY0X3QgZGVsYXlfbnM7 CisgCisgICAgIHFlbXVfbXV0ZXhfbG9jaygmcy0+bG9jayk7CisgICAgIFFTSU1QTEVRX0ZPUkVB Q0gocnVsZSwgJnMtPmFjdGl2ZV9ydWxlcywgYWN0aXZlX25leHQpIHsKK0BAIC02MDgsMTMgKzYx NiwxNCBAQCBzdGF0aWMgaW50IGNvcm91dGluZV9mbiBydWxlX2NoZWNrKEJsb2NrRHJpdmVyU3Rh dGUgKmJzLCB1aW50NjRfdCBvZmZzZXQsCisgICAgICAgICB9CisgICAgIH0KKyAKKy0gICAgaWYg KCFydWxlIHx8ICFydWxlLT5vcHRpb25zLmluamVjdC5lcnJvcikgeworKyAgICBpZiAoIXJ1bGUp IHsKKyAgICAgICAgIHFlbXVfbXV0ZXhfdW5sb2NrKCZzLT5sb2NrKTsKKyAgICAgICAgIHJldHVy biAwOworICAgICB9CisgCisgICAgIGltbWVkaWF0ZWx5ID0gcnVsZS0+b3B0aW9ucy5pbmplY3Qu aW1tZWRpYXRlbHk7CisgICAgIGVycm9yID0gcnVsZS0+b3B0aW9ucy5pbmplY3QuZXJyb3I7Cisr ICAgIGRlbGF5X25zICA9IHJ1bGUtPm9wdGlvbnMuaW5qZWN0LmRlbGF5X25zOworIAorICAgICBp ZiAocnVsZS0+b3B0aW9ucy5pbmplY3Qub25jZSkgeworICAgICAgICAgUVNJTVBMRVFfUkVNT1ZF KCZzLT5hY3RpdmVfcnVsZXMsIHJ1bGUsIEJsa2RlYnVnUnVsZSwgYWN0aXZlX25leHQpOworQEAg LTYyMiw2ICs2MzEsMTAgQEAgc3RhdGljIGludCBjb3JvdXRpbmVfZm4gcnVsZV9jaGVjayhCbG9j a0RyaXZlclN0YXRlICpicywgdWludDY0X3Qgb2Zmc2V0LAorICAgICB9CisgCisgICAgIHFlbXVf bXV0ZXhfdW5sb2NrKCZzLT5sb2NrKTsKKysKKysgICAgaWYgKGRlbGF5X25zKSB7CisrICAgICAg ICBxZW11X2NvX3NsZWVwX25zKFFFTVVfQ0xPQ0tfUkVBTFRJTUUsIGRlbGF5X25zKTsKKysgICAg fQorICAgICBpZiAoIWltbWVkaWF0ZWx5KSB7CisgICAgICAgICBhaW9fY29fc2NoZWR1bGUocWVt dV9nZXRfY3VycmVudF9haW9fY29udGV4dCgpLCBxZW11X2Nvcm91dGluZV9zZWxmKCkpOworICAg ICAgICAgcWVtdV9jb3JvdXRpbmVfeWllbGQoKTsKK2RpZmYgLS1naXQgYS9xYXBpL2Jsb2NrLWNv cmUuanNvbiBiL3FhcGkvYmxvY2stY29yZS5qc29uCitpbmRleCAwMjM2OTM2MTM5Li42Y2Y4YzFi OWM4IDEwMDY0NAorLS0tIGEvcWFwaS9ibG9jay1jb3JlLmpzb24KKysrKyBiL3FhcGkvYmxvY2st Y29yZS5qc29uCitAQCAtMzkwOSw2ICszOTA5LDkgQEAKKyAjCisgIyBAZXJybm86IGVycm9yIGlk ZW50aWZpZXIgKGVycm5vKSB0byBiZSByZXR1cm5lZDsgZGVmYXVsdHMgdG8gRUlPCisgIworKyMg QGRlbGF5LW5zOiByZXF1ZXN0IGRlbGF5IGJlZm9yZSBjb21wbGV0aW9uIGluIG5hbm9zZWNvbmRz CisrIyAgICAgICAgICAgIChkZWZhdWx0OiAwLCBzaW5jZTogMTEuMSkKKysjCisgIyBAc2VjdG9y OiBzcGVjaWZpZXMgdGhlIHNlY3RvciBpbmRleCB3aGljaCBoYXMgdG8gYmUgYWZmZWN0ZWQgaW4K KyAjICAgICBvcmRlciB0byBhY3R1YWxseSB0cmlnZ2VyIHRoZSBldmVudDsgZGVmYXVsdHMgdG8g ImFueSBzZWN0b3IiCisgIworQEAgLTM5MjQsNiArMzkyNyw3IEBACisgICAgICAgICAgICAgJypz dGF0ZSc6ICdpbnQnLAorICAgICAgICAgICAgICcqaW90eXBlJzogJ0Jsa2RlYnVnSU9UeXBlJywK KyAgICAgICAgICAgICAnKmVycm5vJzogJ2ludCcsCisrICAgICAgICAgICAgJypkZWxheS1ucyc6 ICdpbnQnLAorICAgICAgICAgICAgICcqc2VjdG9yJzogJ2ludCcsCisgICAgICAgICAgICAgJypv bmNlJzogJ2Jvb2wnLAorICAgICAgICAgICAgICcqaW1tZWRpYXRlbHknOiAnYm9vbCcgfSB9Cist LSAKKzIuNTIuMAorCgpkaWZmIC0tZ2l0IGEva3ZtLWJsb2NrLUFkZC1ibGtfY29fc3RhcnQtZW5k X3JlcXVlc3QtYW5kLUJEUlZfUkVRX05PX1EucGF0Y2ggYi9rdm0tYmxvY2stQWRkLWJsa19jb19z dGFydC1lbmRfcmVxdWVzdC1hbmQtQkRSVl9SRVFfTk9fUS5wYXRjaApuZXcgZmlsZSBtb2RlIDEw MDY0NAppbmRleCAwMDAwMDAwLi44NjY0N2UwCi0tLSAvZGV2L251bGwKKysrIGIva3ZtLWJsb2Nr LUFkZC1ibGtfY29fc3RhcnQtZW5kX3JlcXVlc3QtYW5kLUJEUlZfUkVRX05PX1EucGF0Y2gKQEAg LTAsMCArMSwyMDMgQEAKK0Zyb20gYzQ1MmQxMTNiMWQ3MWRlMDk3ZTNiODdmN2Q0MGQ2ODY1NzMx YjI3NSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEtldmluIFdvbGYgPGt3b2xmQHJl ZGhhdC5jb20+CitEYXRlOiBUdWUsIDIxIEFwciAyMDI2IDE4OjExOjI3ICswMjAwCitTdWJqZWN0 OiBbUEFUQ0ggMDIvNTJdIGJsb2NrOiBBZGQgYmxrX2NvX3N0YXJ0L2VuZF9yZXF1ZXN0KCkgYW5k CisgQkRSVl9SRVFfTk9fUVVFVUUKKworUkgtQXV0aG9yOiBLZXZpbiBXb2xmIDxrd29sZkByZWRo YXQuY29tPgorUkgtTWVyZ2VSZXF1ZXN0OiA1MDM6IGlkZTogRml4IGRlYWRsb2NrIGJldHdlZW4g VFJJTSBhbmQgZHJhaW4KK1JILUppcmE6IFJIRUwtMTIxNjg2CitSSC1BY2tlZC1ieTogSGFubmEg Q3plbmN6ZWsgPGhyZWl0ekByZWRoYXQuY29tPgorUkgtQWNrZWQtYnk6IFN0ZWZhbiBIYWpub2N6 aSA8c3RlZmFuaGFAcmVkaGF0LmNvbT4KK1JILUNvbW1pdDogWzIvN10gNDA1M2ZhYmM5M2Q3M2Uy YzcxNDM3NjNmYTI2NzZjN2JlN2FkMjQ5ZCAoa213b2xmL2NlbnRvcy1xZW11LWt2bSkKKworSWYg YSBkZXZpY2UgdXNlcyBibGtfaW5jL2RlY19pbl9mbGlnaHQoKSBpbiBvcmRlciB0byBidWlsZCBt YWNybworb3BlcmF0aW9ucyB0aGF0IGludm9sdmUgbXVsdGlwbGUgcmVxdWVzdHMgZm9yIHRoZSBi bG9jayBsYXllciBhbmQgdGhhdAorbmVlZCB0byBiZSBjb21wbGV0ZWQgYXMgYSB1bml0IGJlZm9y ZSB0aGUgQmxvY2tCYWNrZW5kIGNhbiBiZSBjb25zaWRlcmVkCitkcmFpbmVkLCBpdCBzZXRzIHRo ZSBzdGFnZSBmb3IgYSBkZWFkbG9jazogV2hlbiBhIGRyYWluIGlzIHJlcXVlc3RlZCwKK3RoZSBp bm5lciByZXF1ZXN0IGF0IHRoZSBCbG9ja0JhY2tlbmQgbGV2ZWwgd2lsbCBiZSBxdWV1ZWQgaW4K K2Jsa193YWl0X3doaWxlX2RyYWluZWQoKSBhbmQgd2FpdCB1bnRpbCB0aGUgZHJhaW5lZCBzZWN0 aW9uIGVuZHMsIGJ1dCBhdAordGhlIHNhbWUgdGltZSwgZHJhaW5fYmVnaW4gY2FuIG9ubHkgcmV0 dXJuIGlmIHRoZSB3aG9sZSBtYWNybyBvcGVyYXRpb24KK2F0IHRoZSBkZXZpY2UgbGV2ZWwgaGFz IGNvbXBsZXRlZC4KKworSW50cm9kdWNlIGEgbmV3IGludGVyZmFjZSB0byBhbGxvdyBpbXBsZW1l bnRpbmcgdGhlIGxvZ2ljIGNvcnJlY3RseToKK0luc3RlYWQgb2YgcXVldWVpbmcgaW5kaXZpZHVh bCByZXF1ZXN0cywgYmxrX2NvX3N0YXJ0X3JlcXVlc3QoKSBjYWxscworYmxrX3dhaXRfd2hpbGVf ZHJhaW5lZCgpIG9uY2UgYXQgdGhlIGJlZ2lubmluZy4gVGhlIGluZGl2aWR1YWwgcmVxdWVzdHMK K211c3QgdGhlbiBzZXQgQkRSVl9SRVFfTk9fUVVFVUUgdG8gYXZvaWQgYmVpbmcgcXVldWVkIGFu ZCBydW5uaW5nIGludG8KK3RoZSBkZWFkbG9jazsgYmVpbmcgd3JhcHBlZCBpbiBibGtfY29fc3Rh cnQvZW5kX3JlcXVlc3QoKSBtYWtlcyBzdXJlCit0aGF0IGRyYWluX2JlZ2luIHdhaXRzIGZvciB0 aGVtIGFuZCB0aGV5IGRvbid0IHNuZWFrIGluIHdoZW4gdGhlCitCbG9ja0JhY2tlbmQgaXMgc3Vw cG9zZWQgdG8gYWxyZWFkeSBiZSBxdWllc2NlbnQuCisKK1NpZ25lZC1vZmYtYnk6IEtldmluIFdv bGYgPGt3b2xmQHJlZGhhdC5jb20+CitNZXNzYWdlLUlEOiA8MjAyNjA0MjExNjExMzIuOTk4Nzgt My1rd29sZkByZWRoYXQuY29tPgorU2lnbmVkLW9mZi1ieTogS2V2aW4gV29sZiA8a3dvbGZAcmVk aGF0LmNvbT4KKyhjaGVycnkgcGlja2VkIGZyb20gY29tbWl0IDM0YTY3NjM3NzY3ZDNlZDFhYzgx M2M0NGVmZmU4MjdiYmZiYTU5OTYpCitTaWduZWQtb2ZmLWJ5OiBNaWNoYWVsIFRva2FyZXYgPG1q dEB0bHMubXNrLnJ1PgorU2lnbmVkLW9mZi1ieTogS2V2aW4gV29sZiA8a3dvbGZAcmVkaGF0LmNv bT4KKy0tLQorIGJsb2NrL2Jsb2NrLWJhY2tlbmQuYyAgICAgICAgICAgICB8IDM4ICsrKysrKysr KysrKysrKysrKysrKysrLS0tLS0tLS0KKyBpbmNsdWRlL2Jsb2NrL2Jsb2NrLWNvbW1vbi5oICAg ICAgfCAxMSArKysrKysrKy0KKyBpbmNsdWRlL3N5c3RlbS9ibG9jay1iYWNrZW5kLWlvLmggfCAg MiArKworIDMgZmlsZXMgY2hhbmdlZCwgNDEgaW5zZXJ0aW9ucygrKSwgMTAgZGVsZXRpb25zKC0p CisKK2RpZmYgLS1naXQgYS9ibG9jay9ibG9jay1iYWNrZW5kLmMgYi9ibG9jay9ibG9jay1iYWNr ZW5kLmMKK2luZGV4IGQ2ZGYzNjkxODguLmEwZjRjODQxZGEgMTAwNjQ0CistLS0gYS9ibG9jay9i bG9jay1iYWNrZW5kLmMKKysrKyBiL2Jsb2NrL2Jsb2NrLWJhY2tlbmQuYworQEAgLTgyLDYgKzgy LDcgQEAgc3RydWN0IEJsb2NrQmFja2VuZCB7CisgICAgIFFlbXVNdXRleCBxdWV1ZWRfcmVxdWVz dHNfbG9jazsgLyogcHJvdGVjdHMgcXVldWVkX3JlcXVlc3RzICovCisgICAgIENvUXVldWUgcXVl dWVkX3JlcXVlc3RzOworICAgICBib29sIGRpc2FibGVfcmVxdWVzdF9xdWV1aW5nOyAvKiBhdG9t aWMgKi8KKysgICAgaW50IHN0YXJ0X3JlcXVlc3RfY291bnQ7IC8qIGF0b21pYyAqLworIAorICAg ICBWTUNoYW5nZVN0YXRlRW50cnkgKnZtc2g7CisgICAgIGJvb2wgZm9yY2VfYWxsb3dfaW5hY3Rp dmF0ZTsKK0BAIC0xMzA2LDEwICsxMzA3LDE2IEBAIGJvb2wgYmxrX2luX2RyYWluKEJsb2NrQmFj a2VuZCAqYmxrKQorIH0KKyAKKyAvKiBUbyBiZSBjYWxsZWQgYmV0d2VlbiBleGFjdGx5IG9uZSBw YWlyIG9mIGJsa19pbmMvZGVjX2luX2ZsaWdodCgpICovCistc3RhdGljIHZvaWQgY29yb3V0aW5l X2ZuIGJsa193YWl0X3doaWxlX2RyYWluZWQoQmxvY2tCYWNrZW5kICpibGspCisrc3RhdGljIHZv aWQgY29yb3V0aW5lX2ZuIGJsa193YWl0X3doaWxlX2RyYWluZWQoQmxvY2tCYWNrZW5kICpibGss CisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQmRydlJl cXVlc3RGbGFncyBmbGFncykKKyB7CisgICAgIGFzc2VydChibGstPmluX2ZsaWdodCA+IDApOwor IAorKyAgICBpZiAoZmxhZ3MgJiBCRFJWX1JFUV9OT19RVUVVRSkgeworKyAgICAgICAgYXNzZXJ0 KHFhdG9taWNfcmVhZCgmYmxrLT5zdGFydF9yZXF1ZXN0X2NvdW50KSk7CisrICAgICAgICByZXR1 cm47CisrICAgIH0KKysKKyAgICAgaWYgKHFhdG9taWNfcmVhZCgmYmxrLT5xdWllc2NlX2NvdW50 ZXIpICYmCisgICAgICAgICAhcWF0b21pY19yZWFkKCZibGstPmRpc2FibGVfcmVxdWVzdF9xdWV1 aW5nKSkgeworICAgICAgICAgLyoKK0BAIC0xMzM1LDcgKzEzNDIsNyBAQCBibGtfY29fZG9fcHJl YWR2X3BhcnQoQmxvY2tCYWNrZW5kICpibGssIGludDY0X3Qgb2Zmc2V0LCBpbnQ2NF90IGJ5dGVz LAorICAgICBCbG9ja0RyaXZlclN0YXRlICpiczsKKyAgICAgSU9fQ09ERSgpOworIAorLSAgICBi bGtfd2FpdF93aGlsZV9kcmFpbmVkKGJsayk7CisrICAgIGJsa193YWl0X3doaWxlX2RyYWluZWQo YmxrLCBmbGFncyk7CisgICAgIEdSQVBIX1JETE9DS19HVUFSRCgpOworIAorICAgICAvKiBDYWxs IGJsa19icygpIG9ubHkgYWZ0ZXIgd2FpdGluZywgdGhlIGdyYXBoIG1heSBoYXZlIGNoYW5nZWQg Ki8KK0BAIC0xNDEwLDcgKzE0MTcsNyBAQCBibGtfY29fZG9fcHdyaXRldl9wYXJ0KEJsb2NrQmFj a2VuZCAqYmxrLCBpbnQ2NF90IG9mZnNldCwgaW50NjRfdCBieXRlcywKKyAgICAgQmxvY2tEcml2 ZXJTdGF0ZSAqYnM7CisgICAgIElPX0NPREUoKTsKKyAKKy0gICAgYmxrX3dhaXRfd2hpbGVfZHJh aW5lZChibGspOworKyAgICBibGtfd2FpdF93aGlsZV9kcmFpbmVkKGJsaywgZmxhZ3MpOworICAg ICBHUkFQSF9SRExPQ0tfR1VBUkQoKTsKKyAKKyAgICAgLyogQ2FsbCBibGtfYnMoKSBvbmx5IGFm dGVyIHdhaXRpbmcsIHRoZSBncmFwaCBtYXkgaGF2ZSBjaGFuZ2VkICovCitAQCAtMTUyMyw2ICsx NTMwLDE5IEBAIHZvaWQgYmxrX2RlY19pbl9mbGlnaHQoQmxvY2tCYWNrZW5kICpibGspCisgICAg IGFpb193YWl0X2tpY2soKTsKKyB9CisgCisrdm9pZCBjb3JvdXRpbmVfZm4gYmxrX2NvX3N0YXJ0 X3JlcXVlc3QoQmxvY2tCYWNrZW5kICpibGspCisreworKyAgICBibGtfaW5jX2luX2ZsaWdodChi bGspOworKyAgICBibGtfd2FpdF93aGlsZV9kcmFpbmVkKGJsaywgMCk7CisrICAgIHFhdG9taWNf aW5jKCZibGstPnN0YXJ0X3JlcXVlc3RfY291bnQpOworK30KKysKKyt2b2lkIGJsa19lbmRfcmVx dWVzdChCbG9ja0JhY2tlbmQgKmJsaykKKyt7CisrICAgIHFhdG9taWNfZGVjKCZibGstPnN0YXJ0 X3JlcXVlc3RfY291bnQpOworKyAgICBibGtfZGVjX2luX2ZsaWdodChibGspOworK30KKysKKyBz dGF0aWMgdm9pZCBlcnJvcl9jYWxsYmFja19iaCh2b2lkICpvcGFxdWUpCisgeworICAgICBzdHJ1 Y3QgQmxvY2tCYWNrZW5kQUlPQ0IgKmFjYiA9IG9wYXF1ZTsKK0BAIC0xNzQxLDcgKzE3NjEsNyBA QCBibGtfY29fZG9faW9jdGwoQmxvY2tCYWNrZW5kICpibGssIHVuc2lnbmVkIGxvbmcgaW50IHJl cSwgdm9pZCAqYnVmKQorIHsKKyAgICAgSU9fQ09ERSgpOworIAorLSAgICBibGtfd2FpdF93aGls ZV9kcmFpbmVkKGJsayk7CisrICAgIGJsa193YWl0X3doaWxlX2RyYWluZWQoYmxrLCAwKTsKKyAg ICAgR1JBUEhfUkRMT0NLX0dVQVJEKCk7CisgCisgICAgIGlmICghYmxrX2NvX2lzX2F2YWlsYWJs ZShibGspKSB7CitAQCAtMTc4OCw3ICsxODA4LDcgQEAgYmxrX2NvX2RvX3BkaXNjYXJkKEJsb2Nr QmFja2VuZCAqYmxrLCBpbnQ2NF90IG9mZnNldCwgaW50NjRfdCBieXRlcykKKyAgICAgaW50IHJl dDsKKyAgICAgSU9fQ09ERSgpOworIAorLSAgICBibGtfd2FpdF93aGlsZV9kcmFpbmVkKGJsayk7 CisrICAgIGJsa193YWl0X3doaWxlX2RyYWluZWQoYmxrLCAwKTsKKyAgICAgR1JBUEhfUkRMT0NL X0dVQVJEKCk7CisgCisgICAgIHJldCA9IGJsa19jaGVja19ieXRlX3JlcXVlc3QoYmxrLCBvZmZz ZXQsIGJ5dGVzKTsKK0BAIC0xODM0LDcgKzE4NTQsNyBAQCBpbnQgY29yb3V0aW5lX2ZuIGJsa19j b19wZGlzY2FyZChCbG9ja0JhY2tlbmQgKmJsaywgaW50NjRfdCBvZmZzZXQsCisgc3RhdGljIGlu dCBjb3JvdXRpbmVfZm4gYmxrX2NvX2RvX2ZsdXNoKEJsb2NrQmFja2VuZCAqYmxrKQorIHsKKyAg ICAgSU9fQ09ERSgpOworLSAgICBibGtfd2FpdF93aGlsZV9kcmFpbmVkKGJsayk7CisrICAgIGJs a193YWl0X3doaWxlX2RyYWluZWQoYmxrLCAwKTsKKyAgICAgR1JBUEhfUkRMT0NLX0dVQVJEKCk7 CisgCisgICAgIGlmICghYmxrX2NvX2lzX2F2YWlsYWJsZShibGspKSB7CitAQCAtMjAwOSw3ICsy MDI5LDcgQEAgaW50IGNvcm91dGluZV9mbiBibGtfY29fem9uZV9yZXBvcnQoQmxvY2tCYWNrZW5k ICpibGssIGludDY0X3Qgb2Zmc2V0LAorICAgICBJT19DT0RFKCk7CisgCisgICAgIGJsa19pbmNf aW5fZmxpZ2h0KGJsayk7IC8qIGluY3JlYXNlIGJlZm9yZSB3YWl0aW5nICovCistICAgIGJsa193 YWl0X3doaWxlX2RyYWluZWQoYmxrKTsKKysgICAgYmxrX3dhaXRfd2hpbGVfZHJhaW5lZChibGss IDApOworICAgICBHUkFQSF9SRExPQ0tfR1VBUkQoKTsKKyAgICAgaWYgKCFibGtfaXNfYXZhaWxh YmxlKGJsaykpIHsKKyAgICAgICAgIGJsa19kZWNfaW5fZmxpZ2h0KGJsayk7CitAQCAtMjAzNCw3 ICsyMDU0LDcgQEAgaW50IGNvcm91dGluZV9mbiBibGtfY29fem9uZV9tZ210KEJsb2NrQmFja2Vu ZCAqYmxrLCBCbG9ja1pvbmVPcCBvcCwKKyAgICAgSU9fQ09ERSgpOworIAorICAgICBibGtfaW5j X2luX2ZsaWdodChibGspOworLSAgICBibGtfd2FpdF93aGlsZV9kcmFpbmVkKGJsayk7CisrICAg IGJsa193YWl0X3doaWxlX2RyYWluZWQoYmxrLCAwKTsKKyAgICAgR1JBUEhfUkRMT0NLX0dVQVJE KCk7CisgCisgICAgIHJldCA9IGJsa19jaGVja19ieXRlX3JlcXVlc3QoYmxrLCBvZmZzZXQsIGxl bik7CitAQCAtMjA1OCw3ICsyMDc4LDcgQEAgaW50IGNvcm91dGluZV9mbiBibGtfY29fem9uZV9h cHBlbmQoQmxvY2tCYWNrZW5kICpibGssIGludDY0X3QgKm9mZnNldCwKKyAgICAgSU9fQ09ERSgp OworIAorICAgICBibGtfaW5jX2luX2ZsaWdodChibGspOworLSAgICBibGtfd2FpdF93aGlsZV9k cmFpbmVkKGJsayk7CisrICAgIGJsa193YWl0X3doaWxlX2RyYWluZWQoYmxrLCBmbGFncyk7Cisg ICAgIEdSQVBIX1JETE9DS19HVUFSRCgpOworICAgICBpZiAoIWJsa19pc19hdmFpbGFibGUoYmxr KSkgeworICAgICAgICAgYmxrX2RlY19pbl9mbGlnaHQoYmxrKTsKK2RpZmYgLS1naXQgYS9pbmNs dWRlL2Jsb2NrL2Jsb2NrLWNvbW1vbi5oIGIvaW5jbHVkZS9ibG9jay9ibG9jay1jb21tb24uaAor aW5kZXggYzhjNjI2ZGFlYS4uODk1ZWExNzU0MSAxMDA2NDQKKy0tLSBhL2luY2x1ZGUvYmxvY2sv YmxvY2stY29tbW9uLmgKKysrKyBiL2luY2x1ZGUvYmxvY2svYmxvY2stY29tbW9uLmgKK0BAIC0y MTUsOCArMjE1LDE3IEBAIHR5cGVkZWYgZW51bSB7CisgICAgICAqLworICAgICBCRFJWX1JFUV9O T19XQUlUID0gMHg0MDAsCisgCisrICAgIC8qCisrICAgICAqIFVzZWQgYmV0d2VlbiBibGtfY29f c3RhcnRfcmVxdWVzdCgpIGFuZCBibGtfZW5kX3JlcXVlc3QoKSB0byBhdm9pZAorKyAgICAgKiB0 aGF0IHRoZSByZXF1ZXN0IHdhaXRzIGluIGEgZHJhaW5lZCBCbG9ja0JhY2tlbmQgdW50aWwgdGhl IGRyYWluZWQKKysgICAgICogc2VjdGlvbiBlbmRzLiBXYWl0aW5nIHdvdWxkIGNhdXNlIGEgZGVh ZGxvY2sgYmVjYXVzZSBkcmFpbiB3YWl0cyBmb3IKKysgICAgICogYmxrX2VuZF9yZXF1ZXN0KCkg dG8gYmUgY2FsbGVkLCBidXQgdGhlIHJlcXVlc3QgbmV2ZXIgY29tcGxldGVzCisrICAgICAqIGJl Y2F1c2UgaXQgd2FpdHMgZm9yIHRoZSBkcmFpbiB0byBlbmQuCisrICAgICAqLworKyAgICBCRFJW X1JFUV9OT19RVUVVRSA9IDB4ODAwLAorKworICAgICAvKiBNYXNrIG9mIHZhbGlkIGZsYWdzICov CistICAgIEJEUlZfUkVRX01BU0sgICAgICAgICAgICAgICA9IDB4N2ZmLAorKyAgICBCRFJWX1JF UV9NQVNLICAgICAgICAgICAgICAgPSAweGZmZiwKKyB9IEJkcnZSZXF1ZXN0RmxhZ3M7CisgCisg I2RlZmluZSBCRFJWX09fTk9fU0hBUkUgICAgMHgwMDAxIC8qIGRvbid0IHNoYXJlIHBlcm1pc3Np b25zICovCitkaWZmIC0tZ2l0IGEvaW5jbHVkZS9zeXN0ZW0vYmxvY2stYmFja2VuZC1pby5oIGIv aW5jbHVkZS9zeXN0ZW0vYmxvY2stYmFja2VuZC1pby5oCitpbmRleCBiYThkZmNjN2QwLi41OTg0 MWUwNGE4IDEwMDY0NAorLS0tIGEvaW5jbHVkZS9zeXN0ZW0vYmxvY2stYmFja2VuZC1pby5oCisr KysgYi9pbmNsdWRlL3N5c3RlbS9ibG9jay1iYWNrZW5kLWlvLmgKK0BAIC03MSw2ICs3MSw4IEBA IEJsb2NrQUlPQ0IgKmJsa19haW9faW9jdGwoQmxvY2tCYWNrZW5kICpibGssIHVuc2lnbmVkIGxv bmcgaW50IHJlcSwgdm9pZCAqYnVmLAorIAorIHZvaWQgYmxrX2luY19pbl9mbGlnaHQoQmxvY2tC YWNrZW5kICpibGspOworIHZvaWQgYmxrX2RlY19pbl9mbGlnaHQoQmxvY2tCYWNrZW5kICpibGsp OworK3ZvaWQgY29yb3V0aW5lX2ZuIGJsa19jb19zdGFydF9yZXF1ZXN0KEJsb2NrQmFja2VuZCAq YmxrKTsKKyt2b2lkIGJsa19lbmRfcmVxdWVzdChCbG9ja0JhY2tlbmQgKmJsayk7CisgCisgYm9v bCBjb3JvdXRpbmVfZm4gR1JBUEhfUkRMT0NLIGJsa19jb19pc19pbnNlcnRlZChCbG9ja0JhY2tl bmQgKmJsayk7CisgYm9vbCBjb193cmFwcGVyX21peGVkX2JkcnZfcmRsb2NrIGJsa19pc19pbnNl cnRlZChCbG9ja0JhY2tlbmQgKmJsayk7CistLSAKKzIuNTIuMAorCgpkaWZmIC0tZ2l0IGEva3Zt LWJsb2NrLUFkZC1mbGFncy1wYXJhbWV0ZXItdG8tYmxrXy1fcGRpc2NhcmQucGF0Y2ggYi9rdm0t YmxvY2stQWRkLWZsYWdzLXBhcmFtZXRlci10by1ibGtfLV9wZGlzY2FyZC5wYXRjaApuZXcgZmls ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mNjliYzQ4Ci0tLSAvZGV2L251bGwKKysrIGIv a3ZtLWJsb2NrLUFkZC1mbGFncy1wYXJhbWV0ZXItdG8tYmxrXy1fcGRpc2NhcmQucGF0Y2gKQEAg LTAsMCArMSwxNzQgQEAKK0Zyb20gOWEyZDZmOTdkOTRmMjRhZDdiZmM4M2FlYTA2ZDMzMjRjYmQ0 NjQyNCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEtldmluIFdvbGYgPGt3b2xmQHJl ZGhhdC5jb20+CitEYXRlOiBUdWUsIDIxIEFwciAyMDI2IDE4OjExOjI4ICswMjAwCitTdWJqZWN0 OiBbUEFUQ0ggMDMvNTJdIGJsb2NrOiBBZGQgZmxhZ3MgcGFyYW1ldGVyIHRvIGJsa18qX3BkaXNj YXJkKCkKKworUkgtQXV0aG9yOiBLZXZpbiBXb2xmIDxrd29sZkByZWRoYXQuY29tPgorUkgtTWVy Z2VSZXF1ZXN0OiA1MDM6IGlkZTogRml4IGRlYWRsb2NrIGJldHdlZW4gVFJJTSBhbmQgZHJhaW4K K1JILUppcmE6IFJIRUwtMTIxNjg2CitSSC1BY2tlZC1ieTogSGFubmEgQ3plbmN6ZWsgPGhyZWl0 ekByZWRoYXQuY29tPgorUkgtQWNrZWQtYnk6IFN0ZWZhbiBIYWpub2N6aSA8c3RlZmFuaGFAcmVk aGF0LmNvbT4KK1JILUNvbW1pdDogWzMvN10gNDBjZTI1YjExNjljY2NjOWM2NTVlZWI1OTgyN2Y4 YmY3ZGFmNzVmNCAoa213b2xmL2NlbnRvcy1xZW11LWt2bSkKKworQWxsIGV4aXN0aW5nIGNhbGxl cnMgcGFzcyAwLCBidXQgd2UgbmVlZCBhIHdheSB0byBwYXNzIEJEUlZfUkVRX05PX1FVRVVFCitm b3IgZGlzY2FyZCByZXF1ZXN0cy4KKworU2lnbmVkLW9mZi1ieTogS2V2aW4gV29sZiA8a3dvbGZA cmVkaGF0LmNvbT4KK01lc3NhZ2UtSUQ6IDwyMDI2MDQyMTE2MTEzMi45OTg3OC00LWt3b2xmQHJl ZGhhdC5jb20+CitTaWduZWQtb2ZmLWJ5OiBLZXZpbiBXb2xmIDxrd29sZkByZWRoYXQuY29tPgor KGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgNTMwNzRiYTAzMzBhZTg4MzFhYmJhZTI1MjFjMDEy ZTFkOTA3MmVkMykKK1NpZ25lZC1vZmYtYnk6IE1pY2hhZWwgVG9rYXJldiA8bWp0QHRscy5tc2su cnU+CitTaWduZWQtb2ZmLWJ5OiBLZXZpbiBXb2xmIDxrd29sZkByZWRoYXQuY29tPgorLS0tCisg YmxvY2svYmxvY2stYmFja2VuZC5jICAgICAgICAgICAgIHwgMTEgKysrKysrLS0tLS0KKyBibG9j ay9leHBvcnQvdmlydGlvLWJsay1oYW5kbGVyLmMgfCAgMiArLQorIGJsb2NrL21pcnJvci5jICAg ICAgICAgICAgICAgICAgICB8ICA0ICsrLS0KKyBpbmNsdWRlL3N5c3RlbS9ibG9jay1iYWNrZW5k LWlvLmggfCAgNCArKy0tCisgbmJkL3NlcnZlci5jICAgICAgICAgICAgICAgICAgICAgIHwgIDIg Ky0KKyBxZW11LWlvLWNtZHMuYyAgICAgICAgICAgICAgICAgICAgfCAgMiArLQorIHRlc3RzL3Vu aXQvdGVzdC1ibG9jay1pb3RocmVhZC5jICB8ICA0ICsrLS0KKyA3IGZpbGVzIGNoYW5nZWQsIDE1 IGluc2VydGlvbnMoKyksIDE0IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvYmxvY2svYmxv Y2stYmFja2VuZC5jIGIvYmxvY2svYmxvY2stYmFja2VuZC5jCitpbmRleCBhMGY0Yzg0MWRhLi5k OTdiMjZiNzQzIDEwMDY0NAorLS0tIGEvYmxvY2svYmxvY2stYmFja2VuZC5jCisrKysgYi9ibG9j ay9ibG9jay1iYWNrZW5kLmMKK0BAIC0xODAzLDEyICsxODAzLDEzIEBAIEJsb2NrQUlPQ0IgKmJs a19haW9faW9jdGwoQmxvY2tCYWNrZW5kICpibGssIHVuc2lnbmVkIGxvbmcgaW50IHJlcSwgdm9p ZCAqYnVmLAorIAorIC8qIFRvIGJlIGNhbGxlZCBiZXR3ZWVuIGV4YWN0bHkgb25lIHBhaXIgb2Yg YmxrX2luYy9kZWNfaW5fZmxpZ2h0KCkgKi8KKyBzdGF0aWMgaW50IGNvcm91dGluZV9mbgorLWJs a19jb19kb19wZGlzY2FyZChCbG9ja0JhY2tlbmQgKmJsaywgaW50NjRfdCBvZmZzZXQsIGludDY0 X3QgYnl0ZXMpCisrYmxrX2NvX2RvX3BkaXNjYXJkKEJsb2NrQmFja2VuZCAqYmxrLCBpbnQ2NF90 IG9mZnNldCwgaW50NjRfdCBieXRlcywKKysgICAgICAgICAgICAgICAgICAgQmRydlJlcXVlc3RG bGFncyBmbGFncykKKyB7CisgICAgIGludCByZXQ7CisgICAgIElPX0NPREUoKTsKKyAKKy0gICAg YmxrX3dhaXRfd2hpbGVfZHJhaW5lZChibGssIDApOworKyAgICBibGtfd2FpdF93aGlsZV9kcmFp bmVkKGJsaywgZmxhZ3MpOworICAgICBHUkFQSF9SRExPQ0tfR1VBUkQoKTsKKyAKKyAgICAgcmV0 ID0gYmxrX2NoZWNrX2J5dGVfcmVxdWVzdChibGssIG9mZnNldCwgYnl0ZXMpOworQEAgLTE4MjQs NyArMTgyNSw3IEBAIHN0YXRpYyB2b2lkIGNvcm91dGluZV9mbiBibGtfYWlvX3BkaXNjYXJkX2Vu dHJ5KHZvaWQgKm9wYXF1ZSkKKyAgICAgQmxrQWlvRW1BSU9DQiAqYWNiID0gb3BhcXVlOworICAg ICBCbGtSd0NvICpyd2NvID0gJmFjYi0+cndjbzsKKyAKKy0gICAgcndjby0+cmV0ID0gYmxrX2Nv X2RvX3BkaXNjYXJkKHJ3Y28tPmJsaywgcndjby0+b2Zmc2V0LCBhY2ItPmJ5dGVzKTsKKysgICAg cndjby0+cmV0ID0gYmxrX2NvX2RvX3BkaXNjYXJkKHJ3Y28tPmJsaywgcndjby0+b2Zmc2V0LCBh Y2ItPmJ5dGVzLCAwKTsKKyAgICAgYmxrX2Fpb19jb21wbGV0ZShhY2IpOworIH0KKyAKK0BAIC0x ODM4LDEzICsxODM5LDEzIEBAIEJsb2NrQUlPQ0IgKmJsa19haW9fcGRpc2NhcmQoQmxvY2tCYWNr ZW5kICpibGssCisgfQorIAorIGludCBjb3JvdXRpbmVfZm4gYmxrX2NvX3BkaXNjYXJkKEJsb2Nr QmFja2VuZCAqYmxrLCBpbnQ2NF90IG9mZnNldCwKKy0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBpbnQ2NF90IGJ5dGVzKQorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGludDY0X3QgYnl0ZXMsIEJkcnZSZXF1ZXN0RmxhZ3MgZmxhZ3MpCisgeworICAgICBpbnQgcmV0 OworICAgICBJT19PUl9HU19DT0RFKCk7CisgCisgICAgIGJsa19pbmNfaW5fZmxpZ2h0KGJsayk7 CistICAgIHJldCA9IGJsa19jb19kb19wZGlzY2FyZChibGssIG9mZnNldCwgYnl0ZXMpOworKyAg ICByZXQgPSBibGtfY29fZG9fcGRpc2NhcmQoYmxrLCBvZmZzZXQsIGJ5dGVzLCBmbGFncyk7Cisg ICAgIGJsa19kZWNfaW5fZmxpZ2h0KGJsayk7CisgCisgICAgIHJldHVybiByZXQ7CitkaWZmIC0t Z2l0IGEvYmxvY2svZXhwb3J0L3ZpcnRpby1ibGstaGFuZGxlci5jIGIvYmxvY2svZXhwb3J0L3Zp cnRpby1ibGstaGFuZGxlci5jCitpbmRleCBiYzFjZWM2NzU3Li5iODJiYWFlNTUzIDEwMDY0NAor LS0tIGEvYmxvY2svZXhwb3J0L3ZpcnRpby1ibGstaGFuZGxlci5jCisrKysgYi9ibG9jay9leHBv cnQvdmlydGlvLWJsay1oYW5kbGVyLmMKK0BAIC0xMjEsNyArMTIxLDcgQEAgdmlydGlvX2Jsa19k aXNjYXJkX3dyaXRlX3plcm9lcyhWaXJ0aW9CbGtIYW5kbGVyICpoYW5kbGVyLCBzdHJ1Y3QgaW92 ZWMgKmlvdiwKKyAgICAgICAgIH0KKyAKKyAgICAgICAgIGlmIChibGtfY29fcGRpc2NhcmQoYmxr LCBzZWN0b3IgPDwgVklSVElPX0JMS19TRUNUT1JfQklUUywKKy0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgYnl0ZXMpID09IDApIHsKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnl0 ZXMsIDApID09IDApIHsKKyAgICAgICAgICAgICByZXR1cm4gVklSVElPX0JMS19TX09LOworICAg ICAgICAgfQorICAgICB9CitkaWZmIC0tZ2l0IGEvYmxvY2svbWlycm9yLmMgYi9ibG9jay9taXJy b3IuYworaW5kZXggZjAxYmU5OWI1NS4uYzg3ZjFlMjA1YiAxMDA2NDQKKy0tLSBhL2Jsb2NrL21p cnJvci5jCisrKysgYi9ibG9jay9taXJyb3IuYworQEAgLTQ1NCw3ICs0NTQsNyBAQCBzdGF0aWMg dm9pZCBjb3JvdXRpbmVfZm4gbWlycm9yX2NvX2Rpc2NhcmQodm9pZCAqb3BhcXVlKQorICAgICAq b3AtPmJ5dGVzX2hhbmRsZWQgPSBvcC0+Ynl0ZXM7CisgICAgIG9wLT5pc19pbl9mbGlnaHQgPSB0 cnVlOworIAorLSAgICByZXQgPSBibGtfY29fcGRpc2NhcmQob3AtPnMtPnRhcmdldCwgb3AtPm9m ZnNldCwgb3AtPmJ5dGVzKTsKKysgICAgcmV0ID0gYmxrX2NvX3BkaXNjYXJkKG9wLT5zLT50YXJn ZXQsIG9wLT5vZmZzZXQsIG9wLT5ieXRlcywgMCk7CisgICAgIG1pcnJvcl93cml0ZV9jb21wbGV0 ZShvcCwgcmV0KTsKKyB9CisgCitAQCAtMTUyNyw3ICsxNTI3LDcgQEAgZG9fc3luY190YXJnZXRf d3JpdGUoTWlycm9yQmxvY2tKb2IgKmpvYiwgTWlycm9yTWV0aG9kIG1ldGhvZCwKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgemVyb19iaXRtYXBfZW5kIC0gemVyb19iaXRtYXBfb2Zmc2V0KTsK KyAgICAgICAgIH0KKyAgICAgICAgIGFzc2VydCghcWlvdik7CistICAgICAgICByZXQgPSBibGtf Y29fcGRpc2NhcmQoam9iLT50YXJnZXQsIG9mZnNldCwgYnl0ZXMpOworKyAgICAgICAgcmV0ID0g YmxrX2NvX3BkaXNjYXJkKGpvYi0+dGFyZ2V0LCBvZmZzZXQsIGJ5dGVzLCAwKTsKKyAgICAgICAg IGJyZWFrOworIAorICAgICBkZWZhdWx0OgorZGlmZiAtLWdpdCBhL2luY2x1ZGUvc3lzdGVtL2Js b2NrLWJhY2tlbmQtaW8uaCBiL2luY2x1ZGUvc3lzdGVtL2Jsb2NrLWJhY2tlbmQtaW8uaAoraW5k ZXggNTk4NDFlMDRhOC4uOTFjNDgyOTliNyAxMDA2NDQKKy0tLSBhL2luY2x1ZGUvc3lzdGVtL2Js b2NrLWJhY2tlbmQtaW8uaAorKysrIGIvaW5jbHVkZS9zeXN0ZW0vYmxvY2stYmFja2VuZC1pby5o CitAQCAtMjE3LDkgKzIxNyw5IEBAIGludCBjb193cmFwcGVyX21peGVkIGJsa196b25lX2FwcGVu ZChCbG9ja0JhY2tlbmQgKmJsaywgaW50NjRfdCAqb2Zmc2V0LAorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgQmRydlJlcXVlc3RGbGFncyBmbGFncyk7CisgCisgaW50 IGNvX3dyYXBwZXJfbWl4ZWQgYmxrX3BkaXNjYXJkKEJsb2NrQmFja2VuZCAqYmxrLCBpbnQ2NF90 IG9mZnNldCwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50NjRfdCBieXRl cyk7CisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludDY0X3QgYnl0ZXMsIEJk cnZSZXF1ZXN0RmxhZ3MgZmxhZ3MpOworIGludCBjb3JvdXRpbmVfZm4gYmxrX2NvX3BkaXNjYXJk KEJsb2NrQmFja2VuZCAqYmxrLCBpbnQ2NF90IG9mZnNldCwKKy0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBpbnQ2NF90IGJ5dGVzKTsKKysgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBpbnQ2NF90IGJ5dGVzLCBCZHJ2UmVxdWVzdEZsYWdzIGZsYWdzKTsKKyAKKyBpbnQg Y29fd3JhcHBlcl9taXhlZCBibGtfZmx1c2goQmxvY2tCYWNrZW5kICpibGspOworIGludCBjb3Jv dXRpbmVfZm4gYmxrX2NvX2ZsdXNoKEJsb2NrQmFja2VuZCAqYmxrKTsKK2RpZmYgLS1naXQgYS9u YmQvc2VydmVyLmMgYi9uYmQvc2VydmVyLmMKK2luZGV4IGFjZWMwNDg3YTguLmJkMTAzYTg4NDAg MTAwNjQ0CistLS0gYS9uYmQvc2VydmVyLmMKKysrKyBiL25iZC9zZXJ2ZXIuYworQEAgLTI5ODQs NyArMjk4NCw3IEBAIHN0YXRpYyBjb3JvdXRpbmVfZm4gaW50IG5iZF9oYW5kbGVfcmVxdWVzdChO QkRDbGllbnQgKmNsaWVudCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICJmbHVzaCBmYWlsZWQiLCBlcnJwKTsKKyAKKyAgICAgY2FzZSBOQkRfQ01EX1RSSU06CistICAg ICAgICByZXQgPSBibGtfY29fcGRpc2NhcmQoZXhwLT5jb21tb24uYmxrLCByZXF1ZXN0LT5mcm9t LCByZXF1ZXN0LT5sZW4pOworKyAgICAgICAgcmV0ID0gYmxrX2NvX3BkaXNjYXJkKGV4cC0+Y29t bW9uLmJsaywgcmVxdWVzdC0+ZnJvbSwgcmVxdWVzdC0+bGVuLCAwKTsKKyAgICAgICAgIGlmIChy ZXQgPj0gMCAmJiByZXF1ZXN0LT5mbGFncyAmIE5CRF9DTURfRkxBR19GVUEpIHsKKyAgICAgICAg ICAgICByZXQgPSBibGtfY29fZmx1c2goZXhwLT5jb21tb24uYmxrKTsKKyAgICAgICAgIH0KK2Rp ZmYgLS1naXQgYS9xZW11LWlvLWNtZHMuYyBiL3FlbXUtaW8tY21kcy5jCitpbmRleCAxM2UwMzMw MTYyLi5mNmQwNzc5MDhmIDEwMDY0NAorLS0tIGEvcWVtdS1pby1jbWRzLmMKKysrKyBiL3FlbXUt aW8tY21kcy5jCitAQCAtMjIwMSw3ICsyMjAxLDcgQEAgc3RhdGljIGludCBkaXNjYXJkX2YoQmxv Y2tCYWNrZW5kICpibGssIGludCBhcmdjLCBjaGFyICoqYXJndikKKyAgICAgfQorIAorICAgICBj bG9ja19nZXR0aW1lKENMT0NLX01PTk9UT05JQywgJnQxKTsKKy0gICAgcmV0ID0gYmxrX3BkaXNj YXJkKGJsaywgb2Zmc2V0LCBieXRlcyk7CisrICAgIHJldCA9IGJsa19wZGlzY2FyZChibGssIG9m ZnNldCwgYnl0ZXMsIDApOworICAgICBjbG9ja19nZXR0aW1lKENMT0NLX01PTk9UT05JQywgJnQy KTsKKyAKKyAgICAgaWYgKHJldCA8IDApIHsKK2RpZmYgLS1naXQgYS90ZXN0cy91bml0L3Rlc3Qt YmxvY2staW90aHJlYWQuYyBiL3Rlc3RzL3VuaXQvdGVzdC1ibG9jay1pb3RocmVhZC5jCitpbmRl eCBlMjZiM2JlNTkzLi41MjczZmYyMzVhIDEwMDY0NAorLS0tIGEvdGVzdHMvdW5pdC90ZXN0LWJs b2NrLWlvdGhyZWFkLmMKKysrKyBiL3Rlc3RzL3VuaXQvdGVzdC1ibG9jay1pb3RocmVhZC5jCitA QCAtMjcwLDExICsyNzAsMTEgQEAgc3RhdGljIHZvaWQgdGVzdF9zeW5jX29wX2Jsa19wZGlzY2Fy ZChCbG9ja0JhY2tlbmQgKmJsaykKKyAgICAgaW50IHJldDsKKyAKKyAgICAgLyogRWFybHkgc3Vj Y2VzczogVU5NQVAgbm90IHN1cHBvcnRlZCAqLworLSAgICByZXQgPSBibGtfcGRpc2NhcmQoYmxr LCAwLCA1MTIpOworKyAgICByZXQgPSBibGtfcGRpc2NhcmQoYmxrLCAwLCA1MTIsIDApOworICAg ICBnX2Fzc2VydF9jbXBpbnQocmV0LCA9PSwgMCk7CisgCisgICAgIC8qIEVhcmx5IGVycm9yOiBO ZWdhdGl2ZSBvZmZzZXQgKi8KKy0gICAgcmV0ID0gYmxrX3BkaXNjYXJkKGJsaywgLTIsIDUxMik7 CisrICAgIHJldCA9IGJsa19wZGlzY2FyZChibGssIC0yLCA1MTIsIDApOworICAgICBnX2Fzc2Vy dF9jbXBpbnQocmV0LCA9PSwgLUVJTyk7CisgfQorIAorLS0gCisyLjUyLjAKKwoKZGlmZiAtLWdp dCBhL2t2bS1ibG9jay1BZGQtbW9yZS1kZWZhdWx0cy10by1ERUZBVUxUX0JMT0NLX0NPTkYucGF0 Y2ggYi9rdm0tYmxvY2stQWRkLW1vcmUtZGVmYXVsdHMtdG8tREVGQVVMVF9CTE9DS19DT05GLnBh dGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdjZjUxYTgKLS0tIC9kZXYv bnVsbAorKysgYi9rdm0tYmxvY2stQWRkLW1vcmUtZGVmYXVsdHMtdG8tREVGQVVMVF9CTE9DS19D T05GLnBhdGNoCkBAIC0wLDAgKzEsNTYgQEAKK0Zyb20gNzQ4YmJlNTdjMzQ2N2VhZTk0ZGU1MzNm YjQwOTllODliOGY1MmNjOSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEtldmluIFdv bGYgPGt3b2xmQHJlZGhhdC5jb20+CitEYXRlOiBGcmksIDEwIEFwciAyMDI2IDE3OjIzOjE0ICsw MjAwCitTdWJqZWN0OiBbUEFUQ0ggNDMvNTJdIGJsb2NrOiBBZGQgbW9yZSBkZWZhdWx0cyB0byBE RUZBVUxUX0JMT0NLX0NPTkYKKworUkgtQXV0aG9yOiBLZXZpbiBXb2xmIDxrd29sZkByZWRoYXQu Y29tPgorUkgtTWVyZ2VSZXF1ZXN0OiA1MDQ6IHZpcnQtc3RvcmFnZTogQmFja3BvcnQgc3RhYmxl IGJyYW5jaCBmaXhlcworUkgtSmlyYTogUkhFTC0xODYzODQKK1JILUFja2VkLWJ5OiBTdGVmYW4g SGFqbm9jemkgPHN0ZWZhbmhhQHJlZGhhdC5jb20+CitSSC1BY2tlZC1ieTogTWlyb3NsYXYgUmV6 YW5pbmEgPG1yZXphbmluQHJlZGhhdC5jb20+CitSSC1Db21taXQ6IFszNi80NV0gNDdkMGU2YmUy MDBiNWY1YTQ4MWQ0M2ExMzA0YzNlMGY1Y2U2Yjk3MyAoa213b2xmL2NlbnRvcy1xZW11LWt2bSkK KworZGlzY2FyZF9ncmFudWxhcml0eSB3YXMgbWlzc2luZyBmcm9tIHRoaXMsIHdoaWNoIG1lYW5z IHRoYXQgU0NTSSBkaXNrcworY3JlYXRlZCB3aXRoIC1kcml2ZSBpZj1zY3NpIHdvdWxkIGRlZmF1 bHQgdG8gMCAoaS5lLiBkaXNhYmxpbmcgZGlzY2FyZHMpCitpbnN0ZWFkIG9mIC0xLCB3aGljaCBt YWtlcyBzY3NpLWhkIGF1dG9tYXRpY2FsbHkgcGljayBhIGdyYW51bGFyaXR5IGFuZAoraXMgdGhl IGRlZmF1bHQgb2YgdGhlIGNvcnJlc3BvbmRpbmcgcWRldiBwcm9wZXJ0eSBmb3IgLWRldmljZSBz Y3NpLWhkLgorCitUaGlzIHdhcyBicm9rZW4gaW4gUUVNVSA5LjAgd2l0aCBjb21taXQgMzA4OTYz Ny4KKworQWxzbyBzZXQgb3RoZXIgZmllbGRzIHdob3NlIGRlZmF1bHQgaXNuJ3QgYW4gb2J2aW91 cyAwLiBUaGVzZSBhcmUgbm90CithY3R1YWwgYnVnIGZpeGVzIGJlY2F1c2UgT05fT0ZGX0FVVE9f QVVUTyBpbiBmYWN0IGhhcHBlbnMgdG8gYmUgMCwgYnV0CitpdCdzIGJldHRlciBub3QgdG8gcmVs eSBvbiB0aGUgb3JkZXIgb2YgZW51bXMuCisKK0NjOiBxZW11LXN0YWJsZUBub25nbnUub3JnCitG aXhlczogMzA4OTYzNzQ2MTY5ICgnc2NzaTogRG9uJ3QgaWdub3JlIG1vc3QgdXNiLXN0b3JhZ2Ug cHJvcGVydGllcycpCitSZXBvcnRlZC1ieTogTGV4aSBXaW50ZXIgPGl2eUBGcmVlQlNELm9yZz4K K1NpZ25lZC1vZmYtYnk6IEtldmluIFdvbGYgPGt3b2xmQHJlZGhhdC5jb20+CitNZXNzYWdlLUlE OiA8MjAyNjA0MTAxNTIzMTQuODY0MTItMy1rd29sZkByZWRoYXQuY29tPgorU2lnbmVkLW9mZi1i eTogS2V2aW4gV29sZiA8a3dvbGZAcmVkaGF0LmNvbT4KKyhjaGVycnkgcGlja2VkIGZyb20gY29t bWl0IGYyN2FlYTE4OTYzMzhmNGRkMDg1YTBlMmNiMmFiMzc5N2M1ZmUzZTkpCitTaWduZWQtb2Zm LWJ5OiBNaWNoYWVsIFRva2FyZXYgPG1qdEB0bHMubXNrLnJ1PgorU2lnbmVkLW9mZi1ieTogS2V2 aW4gV29sZiA8a3dvbGZAcmVkaGF0LmNvbT4KKy0tLQorIGluY2x1ZGUvaHcvYmxvY2svYmxvY2su aCB8IDUgKysrKysKKyAxIGZpbGUgY2hhbmdlZCwgNSBpbnNlcnRpb25zKCspCisKK2RpZmYgLS1n aXQgYS9pbmNsdWRlL2h3L2Jsb2NrL2Jsb2NrLmggYi9pbmNsdWRlL2h3L2Jsb2NrL2Jsb2NrLmgK K2luZGV4IDdkYTY0M2ZhZmYuLjkyMjVlNzU5MjUgMTAwNjQ0CistLS0gYS9pbmNsdWRlL2h3L2Js b2NrL2Jsb2NrLmgKKysrKyBiL2luY2x1ZGUvaHcvYmxvY2svYmxvY2suaAorQEAgLTUzLDcgKzUz LDEyIEBAIHN0YXRpYyBpbmxpbmUgdW5zaWduZWQgaW50IGdldF9waHlzaWNhbF9ibG9ja19leHAo QmxvY2tDb25mICpjb25mKQorIAorICNkZWZpbmUgREVGQVVMVF9CTE9DS19DT05GIChCbG9ja0Nv bmYpIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgLmJvb3RpbmRleCA9 IC0xLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc CisrICAgIC5iYWNrZW5kX2RlZmF1bHRzID0gT05fT0ZGX0FVVE9fQVVUTywgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgXAorKyAgICAuZGlzY2FyZF9ncmFudWxhcml0eSA9IC0xLCAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKysgICAgLndjZSA9IE9OX09G Rl9BVVRPX0FVVE8sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc CisgICAgIC5zaGFyZV9ydyA9IGZhbHNlLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgXAorKyAgICAuYWNjb3VudF9pbnZhbGlkID0gT05fT0ZGX0FVVE9f QVVUTywgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKysgICAgLmFjY291bnRfZmFp bGVkID0gT05fT0ZGX0FVVE9fQVVUTywgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc CisgICAgIC5yZXJyb3IgPSBCTE9DS0RFVl9PTl9FUlJPUl9BVVRPLCAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgXAorICAgICAud2Vycm9yID0gQkxPQ0tERVZfT05fRVJST1JfQVVU TywgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyB9CistLSAKKzIuNTIuMAor CgpkaWZmIC0tZ2l0IGEva3ZtLWJsb2NrLUNyZWF0ZS1ERUZBVUxUX0JMT0NLX0NPTkYtbWFjcm8u cGF0Y2ggYi9rdm0tYmxvY2stQ3JlYXRlLURFRkFVTFRfQkxPQ0tfQ09ORi1tYWNyby5wYXRjaApu ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41YmRhYjU5Ci0tLSAvZGV2L251bGwK KysrIGIva3ZtLWJsb2NrLUNyZWF0ZS1ERUZBVUxUX0JMT0NLX0NPTkYtbWFjcm8ucGF0Y2gKQEAg LTAsMCArMSw2OCBAQAorRnJvbSBkM2MxNmJlNzIzM2RmNGU0MTAzY2IwNDhmMzkyZDRjYjFmZmE2 ZTUzIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogS2V2aW4gV29sZiA8a3dvbGZAcmVk aGF0LmNvbT4KK0RhdGU6IEZyaSwgMTAgQXByIDIwMjYgMTc6MjM6MTMgKzAyMDAKK1N1YmplY3Q6 IFtQQVRDSCA0Mi81Ml0gYmxvY2s6IENyZWF0ZSBERUZBVUxUX0JMT0NLX0NPTkYgbWFjcm8KKwor UkgtQXV0aG9yOiBLZXZpbiBXb2xmIDxrd29sZkByZWRoYXQuY29tPgorUkgtTWVyZ2VSZXF1ZXN0 OiA1MDQ6IHZpcnQtc3RvcmFnZTogQmFja3BvcnQgc3RhYmxlIGJyYW5jaCBmaXhlcworUkgtSmly YTogUkhFTC0xODYzODQKK1JILUFja2VkLWJ5OiBTdGVmYW4gSGFqbm9jemkgPHN0ZWZhbmhhQHJl ZGhhdC5jb20+CitSSC1BY2tlZC1ieTogTWlyb3NsYXYgUmV6YW5pbmEgPG1yZXphbmluQHJlZGhh dC5jb20+CitSSC1Db21taXQ6IFszNS80NV0gODc5NGNhYzQyNzcwOWExNDYyOTE4YmFkMDhiNGYx MzU5MTFiM2MxYiAoa213b2xmL2NlbnRvcy1xZW11LWt2bSkKKworVGhlIHByb3BlcnR5IGRlZmF1 bHQgdmFsdWVzIGZyb20gaW5jbHVkZS9ody9ibG9jay9ibG9jay5oIHdlcmUKK2R1cGxpY2F0ZWQg aW4gc2NzaV9idXNfbGVnYWN5X2hhbmRsZV9jbWRsaW5lKCksIGFsbG93aW5nIHRoZW0gdG8gZ28g b3V0CitvZiBzeW5jIGVhc2lseS4gVGhlcmUgZG9lc24ndCBzZWVtIGEgZ29vZCB3YXkgdG8gYXZv aWQgdGhlIGR1cGxpY2F0aW9uLAorYnV0IG1vdmluZyB0aGVtIG5leHQgdG8gZWFjaCBvdGhlciBp biB0aGUgaGVhZGVyIGZpbGUgc2hvdWxkIGhlbHAgdG8KK2F2b2lkIHRoaXMgcHJvYmxlbSBpbiB0 aGUgZnV0dXJlLgorCitTaWduZWQtb2ZmLWJ5OiBLZXZpbiBXb2xmIDxrd29sZkByZWRoYXQuY29t PgorTWVzc2FnZS1JRDogPDIwMjYwNDEwMTUyMzE0Ljg2NDEyLTIta3dvbGZAcmVkaGF0LmNvbT4K K1NpZ25lZC1vZmYtYnk6IEtldmluIFdvbGYgPGt3b2xmQHJlZGhhdC5jb20+CisoY2hlcnJ5IHBp Y2tlZCBmcm9tIGNvbW1pdCBhMTMxMGNjNjI4MWQyMmFjOTQ4ZjRhYTE5OGRjYzU1ZDU4ZmMwMzlk KQorU2lnbmVkLW9mZi1ieTogTWljaGFlbCBUb2thcmV2IDxtanRAdGxzLm1zay5ydT4KK1NpZ25l ZC1vZmYtYnk6IEtldmluIFdvbGYgPGt3b2xmQHJlZGhhdC5jb20+CistLS0KKyBody9zY3NpL3Nj c2ktYnVzLmMgICAgICAgfCA3ICstLS0tLS0KKyBpbmNsdWRlL2h3L2Jsb2NrL2Jsb2NrLmggfCA3 ICsrKysrKysKKyAyIGZpbGVzIGNoYW5nZWQsIDggaW5zZXJ0aW9ucygrKSwgNiBkZWxldGlvbnMo LSkKKworZGlmZiAtLWdpdCBhL2h3L3Njc2kvc2NzaS1idXMuYyBiL2h3L3Njc2kvc2NzaS1idXMu YworaW5kZXggODc4Y2NmNjJjOS4uODgzNzNkOTU3ZiAxMDA2NDQKKy0tLSBhL2h3L3Njc2kvc2Nz aS1idXMuYworKysrIGIvaHcvc2NzaS9zY3NpLWJ1cy5jCitAQCAtNDg1LDEyICs0ODUsNyBAQCB2 b2lkIHNjc2lfYnVzX2xlZ2FjeV9oYW5kbGVfY21kbGluZShTQ1NJQnVzICpidXMpCisgICAgIExv Y2F0aW9uIGxvYzsKKyAgICAgRHJpdmVJbmZvICpkaW5mbzsKKyAgICAgaW50IHVuaXQ7CistICAg IEJsb2NrQ29uZiBjb25mID0geworLSAgICAgICAgLmJvb3RpbmRleCA9IC0xLAorLSAgICAgICAg LnNoYXJlX3J3ID0gZmFsc2UsCistICAgICAgICAucmVycm9yID0gQkxPQ0tERVZfT05fRVJST1Jf QVVUTywKKy0gICAgICAgIC53ZXJyb3IgPSBCTE9DS0RFVl9PTl9FUlJPUl9BVVRPLAorLSAgICB9 OworKyAgICBCbG9ja0NvbmYgY29uZiA9IERFRkFVTFRfQkxPQ0tfQ09ORjsKKyAKKyAgICAgbG9j X3B1c2hfbm9uZSgmbG9jKTsKKyAgICAgZm9yICh1bml0ID0gMDsgdW5pdCA8PSBidXMtPmluZm8t Pm1heF90YXJnZXQ7IHVuaXQrKykgeworZGlmZiAtLWdpdCBhL2luY2x1ZGUvaHcvYmxvY2svYmxv Y2suaCBiL2luY2x1ZGUvaHcvYmxvY2svYmxvY2suaAoraW5kZXggYjRkOTE0NjI0ZS4uN2RhNjQz ZmFmZiAxMDA2NDQKKy0tLSBhL2luY2x1ZGUvaHcvYmxvY2svYmxvY2suaAorKysrIGIvaW5jbHVk ZS9ody9ibG9jay9ibG9jay5oCitAQCAtNTEsNiArNTEsMTMgQEAgc3RhdGljIGlubGluZSB1bnNp Z25lZCBpbnQgZ2V0X3BoeXNpY2FsX2Jsb2NrX2V4cChCbG9ja0NvbmYgKmNvbmYpCisgICAgIHJl dHVybiBleHA7CisgfQorIAorKyNkZWZpbmUgREVGQVVMVF9CTE9DS19DT05GIChCbG9ja0NvbmYp IHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKysgICAgLmJvb3RpbmRleCA9IC0x LCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisr ICAgIC5zaGFyZV9ydyA9IGZhbHNlLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgXAorKyAgICAucmVycm9yID0gQkxPQ0tERVZfT05fRVJST1JfQVVUTywg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKysgICAgLndlcnJvciA9IEJMT0NL REVWX09OX0VSUk9SX0FVVE8sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisr fQorKworICNkZWZpbmUgREVGSU5FX0JMT0NLX1BST1BFUlRJRVNfQkFTRShfc3RhdGUsIF9jb25m KSAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgREVGSU5FX1BST1BfT05fT0ZGX0FVVE8oImJh Y2tlbmRfZGVmYXVsdHMiLCBfc3RhdGUsICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIF9jb25mLmJhY2tlbmRfZGVmYXVsdHMsIE9OX09GRl9BVVRPX0FVVE8p LCAgXAorLS0gCisyLjUyLjAKKwoKZGlmZiAtLWdpdCBhL2t2bS1ibG9jay1GaXgtY3Jhc2gtYWZ0 ZXItc2V0dGluZy1sYXRlbmN5LWhpc3RvcnlncmFtLXdpLnBhdGNoIGIva3ZtLWJsb2NrLUZpeC1j cmFzaC1hZnRlci1zZXR0aW5nLWxhdGVuY3ktaGlzdG9yeWdyYW0td2kucGF0Y2gKbmV3IGZpbGUg bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjllMWFiNQotLS0gL2Rldi9udWxsCisrKyBiL2t2 bS1ibG9jay1GaXgtY3Jhc2gtYWZ0ZXItc2V0dGluZy1sYXRlbmN5LWhpc3RvcnlncmFtLXdpLnBh dGNoCkBAIC0wLDAgKzEsNjUgQEAKK0Zyb20gYTY5NGQ3NmQwODVmMDkxZjIxZDUwNjJjNGMwMzI4 ZGI3YjVlYjE4OCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEtldmluIFdvbGYgPGt3 b2xmQHJlZGhhdC5jb20+CitEYXRlOiBUdWUsIDMxIE1hciAyMDI2IDEyOjI2OjA4ICswMjAwCitT dWJqZWN0OiBbUEFUQ0ggNTIvNTJdIGJsb2NrOiBGaXggY3Jhc2ggYWZ0ZXIgc2V0dGluZyBsYXRl bmN5IGhpc3RvcnlncmFtIHdpdGgKKyBzaW5nbGUgYmluCisKK1JILUF1dGhvcjogS2V2aW4gV29s ZiA8a3dvbGZAcmVkaGF0LmNvbT4KK1JILU1lcmdlUmVxdWVzdDogNTA0OiB2aXJ0LXN0b3JhZ2U6 IEJhY2twb3J0IHN0YWJsZSBicmFuY2ggZml4ZXMKK1JILUppcmE6IFJIRUwtMTg2Mzg0CitSSC1B Y2tlZC1ieTogU3RlZmFuIEhham5vY3ppIDxzdGVmYW5oYUByZWRoYXQuY29tPgorUkgtQWNrZWQt Ynk6IE1pcm9zbGF2IFJlemFuaW5hIDxtcmV6YW5pbkByZWRoYXQuY29tPgorUkgtQ29tbWl0OiBb NDUvNDVdIGM2MDRhMDFmNWMzMDUzOWFmNzA5N2VlMTRmNDlkZmRiMjJhODNiMmQgKGttd29sZi9j ZW50b3MtcWVtdS1rdm0pCisKK1Bhc3NpbmcgYW4gZW1wdHkgbGlzdCBvZiBib3VuZGFyaWVzIHRv IGJsb2NrLWxhdGVuY3ktaGlzdG9ncmFtLXNldCBzZXRzCit1cCBhIHN0YXRlIHRoYXQgbGVhZHMg dG8gYSBOVUxMIHBvaW50ZXIgZGVyZWZlcmVuY2Ugd2hlbiB0aGUgbmV4dAorcmVxdWVzdCBzaG91 bGQgYmUgYWNjb3VudGVkIGZvci4gVGhpcyBpcyBub3QgYSB1c2VmdWwgY29uZmlndXJhdGlvbiwg c28KK2p1c3QgZXJyb3Igb3V0IGlmIHRoZSB1c2VyIHRyaWVzIHRvIHNldCBpdC4KKworVGhlIGNy YXNoIGNhbiBlYXNpbHkgYmUgcmVwcm9kdWNlZCB3aXRoIHRoZSBmb2xsb3dpbmcgc2NyaXB0Ogor CisgICAgcW1wKCkgeworICAgIGNhdCA8PEVPRgorICAgIHsnZXhlY3V0ZSc6J3FtcF9jYXBhYmls aXRpZXMnfQorICAgIHsnZXhlY3V0ZSc6J2Jsb2NrLWxhdGVuY3ktaGlzdG9ncmFtLXNldCcsCisg ICAgICdhcmd1bWVudHMnOiB7J2lkJzonaWRlMCcsJ2JvdW5kYXJpZXMnOltdfX0KKyAgICB7J2V4 ZWN1dGUnOidjb250J30KKyAgICBFT0YKKyAgICB9CisKKyAgICBxbXAgfCAuL3FlbXUtc3lzdGVt LXg4Nl82NCAtUyAtcW1wIHN0ZGlvIFwKKyAgICAgICAgLWRyaXZlIGlmPW5vbmUsZm9ybWF0PXJh dyxmaWxlPW51bGwtY286Ly8gXAorICAgICAgICAtZGV2aWNlIGlkZS1oZCxkcml2ZT1ub25lMCxp ZD1pZGUwCisKK1NpZ25lZC1vZmYtYnk6IEtldmluIFdvbGYgPGt3b2xmQHJlZGhhdC5jb20+CitN ZXNzYWdlLUlEOiA8MjAyNjAzMzExMDI2MDguNjA4ODItMS1rd29sZkByZWRoYXQuY29tPgorU2ln bmVkLW9mZi1ieTogS2V2aW4gV29sZiA8a3dvbGZAcmVkaGF0LmNvbT4KKyhjaGVycnkgcGlja2Vk IGZyb20gY29tbWl0IGE1NTQwMmQ1YzNhOGM2M2M4MDFkZTg2ODk2Zjg2YzlhYmVkYTBjYTgpCitT aWduZWQtb2ZmLWJ5OiBLZXZpbiBXb2xmIDxrd29sZkByZWRoYXQuY29tPgorLS0tCisgYmxvY2sv YWNjb3VudGluZy5jIHwgOSArKysrKysrKysKKyAxIGZpbGUgY2hhbmdlZCwgOSBpbnNlcnRpb25z KCspCisKK2RpZmYgLS1naXQgYS9ibG9jay9hY2NvdW50aW5nLmMgYi9ibG9jay9hY2NvdW50aW5n LmMKK2luZGV4IDVjZjUxZjAyOWIuLmYwMGZlOTk3NDAgMTAwNjQ0CistLS0gYS9ibG9jay9hY2Nv dW50aW5nLmMKKysrKyBiL2Jsb2NrL2FjY291bnRpbmcuYworQEAgLTE4NSw2ICsxODUsMTUgQEAg aW50IGJsb2NrX2xhdGVuY3lfaGlzdG9ncmFtX3NldChCbG9ja0FjY3RTdGF0cyAqc3RhdHMsIGVu dW0gQmxvY2tBY2N0VHlwZSB0eXBlLAorICAgICAgICAgcHJldiA9IGVudHJ5LT52YWx1ZTsKKyAg ICAgfQorIAorKyAgICAvKgorKyAgICAgKiBibG9ja19sYXRlbmN5X2hpc3RvZ3JhbV9hY2NvdW50 KCkgYXNzdW1lcyB0aGF0IGl0IGNhbiBhbHdheXMgYWNjZXNzCisrICAgICAqIGhpc3QtPmJvdW5k YXJpZXNbMF0sIHNvIHJlcXVpcmUgYXQgbGVhc3Qgb25lIGJvdW5kYXJ5LiBBIGhpc3RvZ3JhbSB3 aXRoCisrICAgICAqIGEgc2luZ2xlIGJpbiBpcyB1c2VsZXNzIGFueXdheS4KKysgICAgICovCisr ICAgIGlmIChuZXdfbmJpbnMgPD0gMSkgeworKyAgICAgICAgcmV0dXJuIC1FSU5WQUw7CisrICAg IH0KKysKKyAgICAgaGlzdC0+bmJpbnMgPSBuZXdfbmJpbnM7CisgICAgIGdfZnJlZShoaXN0LT5i b3VuZGFyaWVzKTsKKyAgICAgaGlzdC0+Ym91bmRhcmllcyA9IGdfbmV3KHVpbnQ2NF90LCBoaXN0 LT5uYmlucyAtIDEpOworLS0gCisyLjUyLjAKKwoKZGlmZiAtLWdpdCBhL2t2bS1ibG9jay1jdXJs LWZpeC1jb25jdXJyZW50LWNvbXBsZXRpb24taGFuZGxpbmcucGF0Y2ggYi9rdm0tYmxvY2stY3Vy bC1maXgtY29uY3VycmVudC1jb21wbGV0aW9uLWhhbmRsaW5nLnBhdGNoCm5ldyBmaWxlIG1vZGUg MTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZmNzA0OTcKLS0tIC9kZXYvbnVsbAorKysgYi9rdm0tYmxv Y2stY3VybC1maXgtY29uY3VycmVudC1jb21wbGV0aW9uLWhhbmRsaW5nLnBhdGNoCkBAIC0wLDAg KzEsNzEgQEAKK0Zyb20gOTc0ZmE5MTg5NTBmMjFiOWVlNjEzNGFmNzVjNTUxZmJjOWE2MTkwNSBN b24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEFudG9pbmUgRGFtaGV0IDxhZGFtaGV0QHNj YWxld2F5LmNvbT4KK0RhdGU6IFRodSwgMTIgRmViIDIwMjYgMTc6Mjc6MjQgKzAxMDAKK1N1Ympl Y3Q6IFtQQVRDSCAxMi81Ml0gYmxvY2svY3VybDogZml4IGNvbmN1cnJlbnQgY29tcGxldGlvbiBo YW5kbGluZworCitSSC1BdXRob3I6IEtldmluIFdvbGYgPGt3b2xmQHJlZGhhdC5jb20+CitSSC1N ZXJnZVJlcXVlc3Q6IDUwNDogdmlydC1zdG9yYWdlOiBCYWNrcG9ydCBzdGFibGUgYnJhbmNoIGZp eGVzCitSSC1KaXJhOiBSSEVMLTE4NjM4NAorUkgtQWNrZWQtYnk6IFN0ZWZhbiBIYWpub2N6aSA8 c3RlZmFuaGFAcmVkaGF0LmNvbT4KK1JILUFja2VkLWJ5OiBNaXJvc2xhdiBSZXphbmluYSA8bXJl emFuaW5AcmVkaGF0LmNvbT4KK1JILUNvbW1pdDogWzUvNDVdIGMyYmUwNGE5OGY2OGY1NjJiNWNm NzAyNTcyYWNmMzFhMzYxOTM0ZWQgKGttd29sZi9jZW50b3MtcWVtdS1rdm0pCisKK2N1cmxfbXVs dGlfY2hlY2tfY29tcGxldGlvbiB3b3VsZCBiYWlsIHVwb24gdGhlIGZpcnN0IGNvbXBsZXRlZAor dHJhbnNmZXIgZXZlbiBpZiBtb3JlIGNvbXBsZXRpb24gbWVzc2FnZXMgd2VyZSBhdmFpbGFibGUg dGh1cyBsZWF2aW5nCitzb21lIGluIGZsaWdodCBJT3Mgc3R1Y2suCisKK1Jld29yayBhIGJpdCB0 aGUgbG9vcCB0byBtYWtlIHRoZSBpdGVyYXRpb25zIGNsZWFyZXIgYW5kIGRyb3AgdGhlIGJyZWFr cy4KKworVGhlIG9yaWdpbmFsIGhhbmcgY2FuIGJlIHNvbWV3aGF0IHJlcHJvZHVjZWQgd2l0aCB0 aGUgZm9sbG93aW5nIGNvbW1hbmQ6CisKKyQgcWVtdS1pbWcgY29udmVydCAtcCAtbSAxNiAtTyBx Y293MiAtYyAtLWltYWdlLW9wdHMgXAorICAnZmlsZS5kcml2ZXI9aHR0cHMsZmlsZS51cmw9aHR0 cHM6Ly9zY2FsZXdheS50ZXN0ZGViaXQuaW5mby8xMEcuaXNvLGZpbGUucmVhZGFoZWFkPTFNJyBc CisgIC90bXAvdGVzdC5xY293MgorCitGaXhlczogMWYyY2VhZDMyNDQzICgiY3VybDogRW5zdXJl IGFsbCBpbmZvcm1hdGlvbmFscyBhcmUgY2hlY2tlZCBmb3IgY29tcGxldGlvbiIpCitDYzogcWVt dS1zdGFibGVAbm9uZ251Lm9yZworU2lnbmVkLW9mZi1ieTogQW50b2luZSBEYW1oZXQgPGFkYW1o ZXRAc2NhbGV3YXkuY29tPgorTWVzc2FnZS1JRDogPDIwMjYwMjEyMTYyNzMwLjQ0MDg1NS0yLWFk YW1oZXRAc2NhbGV3YXkuY29tPgorU2lnbmVkLW9mZi1ieTogS2V2aW4gV29sZiA8a3dvbGZAcmVk aGF0LmNvbT4KKyhjaGVycnkgcGlja2VkIGZyb20gY29tbWl0IDZmN2IwYTIzYTZlYTBjYzcyYWQy MjJhYjM3OTM2MjQ4ZDk5ZDQyNTYpCitTaWduZWQtb2ZmLWJ5OiBNaWNoYWVsIFRva2FyZXYgPG1q dEB0bHMubXNrLnJ1PgorU2lnbmVkLW9mZi1ieTogS2V2aW4gV29sZiA8a3dvbGZAcmVkaGF0LmNv bT4KKy0tLQorIGJsb2NrL2N1cmwuYyB8IDExICsrLS0tLS0tLS0tCisgMSBmaWxlIGNoYW5nZWQs IDIgaW5zZXJ0aW9ucygrKSwgOSBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2Jsb2NrL2N1 cmwuYyBiL2Jsb2NrL2N1cmwuYworaW5kZXggOTY0OThhYWMxZC4uZGFiZDJhOTA1ZSAxMDA2NDQK Ky0tLSBhL2Jsb2NrL2N1cmwuYworKysrIGIvYmxvY2svY3VybC5jCitAQCAtMzI0LDE3ICszMjQs MTEgQEAgY3VybF9maW5kX2J1ZihCRFJWQ1VSTFN0YXRlICpzLCB1aW50NjRfdCBzdGFydCwgdWlu dDY0X3QgbGVuLCBDVVJMQUlPQ0IgKmFjYikKKyBzdGF0aWMgdm9pZCBjdXJsX211bHRpX2NoZWNr X2NvbXBsZXRpb24oQkRSVkNVUkxTdGF0ZSAqcykKKyB7CisgICAgIGludCBtc2dzX2luX3F1ZXVl OworKyAgICBDVVJMTXNnICptc2c7CisgCisgICAgIC8qIFRyeSB0byBmaW5kIGRvbmUgdHJhbnNm ZXJzLCBzbyB3ZSBjYW4gZnJlZSB0aGUgZWFzeQorICAgICAgKiBoYW5kbGUgYWdhaW4uICovCist ICAgIGZvciAoOzspIHsKKy0gICAgICAgIENVUkxNc2cgKm1zZzsKKy0gICAgICAgIG1zZyA9IGN1 cmxfbXVsdGlfaW5mb19yZWFkKHMtPm11bHRpLCAmbXNnc19pbl9xdWV1ZSk7CistCistICAgICAg ICAvKiBRdWl0IHdoZW4gdGhlcmUgYXJlIG5vIG1vcmUgY29tcGxldGlvbnMgKi8KKy0gICAgICAg IGlmICghbXNnKQorLSAgICAgICAgICAgIGJyZWFrOworLQorKyAgICB3aGlsZSAoKG1zZyA9IGN1 cmxfbXVsdGlfaW5mb19yZWFkKHMtPm11bHRpLCAmbXNnc19pbl9xdWV1ZSkpKSB7CisgICAgICAg ICBpZiAobXNnLT5tc2cgPT0gQ1VSTE1TR19ET05FKSB7CisgICAgICAgICAgICAgaW50IGk7Cisg ICAgICAgICAgICAgQ1VSTFN0YXRlICpzdGF0ZSA9IE5VTEw7CitAQCAtMzk3LDcgKzM5MSw2IEBA IHN0YXRpYyB2b2lkIGN1cmxfbXVsdGlfY2hlY2tfY29tcGxldGlvbihCRFJWQ1VSTFN0YXRlICpz KQorICAgICAgICAgICAgIH0KKyAKKyAgICAgICAgICAgICBjdXJsX2NsZWFuX3N0YXRlKHN0YXRl KTsKKy0gICAgICAgICAgICBicmVhazsKKyAgICAgICAgIH0KKyAgICAgfQorIH0KKy0tIAorMi41 Mi4wCisKCmRpZmYgLS1naXQgYS9rdm0tYmxvY2stY3VybC1maXgtY3VybC1pbnRlcm5hbC1oYW5k bGVzLWhhbmRsaW5nLnBhdGNoIGIva3ZtLWJsb2NrLWN1cmwtZml4LWN1cmwtaW50ZXJuYWwtaGFu ZGxlcy1oYW5kbGluZy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43 M2FhMTc1Ci0tLSAvZGV2L251bGwKKysrIGIva3ZtLWJsb2NrLWN1cmwtZml4LWN1cmwtaW50ZXJu YWwtaGFuZGxlcy1oYW5kbGluZy5wYXRjaApAQCAtMCwwICsxLDcxIEBACitGcm9tIGU2MWYxMGYy NzExZjRmZWUxYzRlZjA2MTFiODlkODVjZjMxNDFmMjYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAx CitGcm9tOiBNaWNoYWVsIFRva2FyZXYgPG1qdEB0bHMubXNrLnJ1PgorRGF0ZTogU3VuLCAyNCBB dWcgMjAyNSAwMzowNTozMiArMDMwMAorU3ViamVjdDogW1BBVENIIDA5LzUyXSBibG9jay9jdXJs OiBmaXggY3VybCBpbnRlcm5hbCBoYW5kbGVzIGhhbmRsaW5nCitNSU1FLVZlcnNpb246IDEuMAor Q29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04CitDb250ZW50LVRyYW5zZmVy LUVuY29kaW5nOiA4Yml0CisKK1JILUF1dGhvcjogS2V2aW4gV29sZiA8a3dvbGZAcmVkaGF0LmNv bT4KK1JILU1lcmdlUmVxdWVzdDogNTA0OiB2aXJ0LXN0b3JhZ2U6IEJhY2twb3J0IHN0YWJsZSBi cmFuY2ggZml4ZXMKK1JILUppcmE6IFJIRUwtMTg2Mzg0CitSSC1BY2tlZC1ieTogU3RlZmFuIEhh am5vY3ppIDxzdGVmYW5oYUByZWRoYXQuY29tPgorUkgtQWNrZWQtYnk6IE1pcm9zbGF2IFJlemFu aW5hIDxtcmV6YW5pbkByZWRoYXQuY29tPgorUkgtQ29tbWl0OiBbMi80NV0gYWRjZTkwZjI4ZTk2 ODc4M2YxOGE2NmY0NGU0MmY4MDIzYjQ2YjBlMSAoa213b2xmL2NlbnRvcy1xZW11LWt2bSkKKwor YmxvY2svY3VybC5jIHVzZXMgQ1VSTE1PUFRfU09DS0VURlVOQ1RJT04gdG8gcmVnaXN0ZXIgYSBz b2NrZXQgY2FsbGJhY2suCitBY2NvcmRpbmcgdG8gdGhlIGRvY3VtZW50YXRpb24sIHRoaXMgY2Fs bGJhY2sgaXMgY2FsbGVkIG5vdCBqdXN0IHdpdGgKK2FwcGxpY2F0aW9uLWNyZWF0ZWQgc29ja2V0 cyBidXQgYWxzbyB3aXRoIGludGVybmFsIGN1cmwgc29ja2V0cywgLSBhbmQKK2ZvciBzdWNoIHNv Y2tldHMsIHVzZXIgZGF0YSBwb2ludGVyIGlzIG5vdCBzZXQgYnkgdGhlIGFwcGxpY2F0aW9uLCBz bwordGhlIHJlc3VsdCBxZW11IGNyYXNoaW5nLgorCitQYXNzIEJEUlZDVVJMU3RhdGUgZGlyZWN0 bHkgdG8gdGhlIGNhbGxiYWNrIGZ1bmN0aW9uIGFzIHVzZXIgcG9pbnRlciwKK2luc3RlYWQgb2Yg cmVseWluZyBvbiBDVVJMSU5GT19QUklWQVRFLgorCitUaGlzIHByb2JsZW0gc3RhcnRlZCBoYXBw ZW5pbmcgd2l0aCB1cGRhdGUgb2YgbGliY3VybCBmcm9tIDguOSB0byA4LjEwIC0tCithcHBhcmVu dGx5IHdpdGggdGhpcyBjaGFuZ2UgY3VybCBzdGFydGVkIHVzaW5nIHByaXZhdGUgaGFuZGxlcyBt b3JlLgorCisoQ1VSTElORk9fUFJJVkFURSBpcyB1c2VkIGluIG9uZSBtb3JlIHBsYWNlLCBpbiBj dXJsX211bHRpX2NoZWNrX2NvbXBsZXRpb24oKSAtCitpdCBtaWdodCBuZWVkIGEgc2ltaWxhciBm aXggdG9vKQorCitSZXNvbHZlczogaHR0cHM6Ly9naXRsYWIuY29tL3FlbXUtcHJvamVjdC9xZW11 Ly0vaXNzdWVzLzMwODEKK0NjOiBxZW11LXN0YWJsZUBxZW11Lm9yZworUmV2aWV3ZWQtYnk6IERh bmllbCBQLiBCZXJyYW5nw6kgPGJlcnJhbmdlQHJlZGhhdC5jb20+CitTaWduZWQtb2ZmLWJ5OiBN aWNoYWVsIFRva2FyZXYgPG1qdEB0bHMubXNrLnJ1PgorKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21t aXQgNjA2OTc4NTAwYzNkMThmYjg5YTQ5ODQ0ZjI1MzA5N2IxN2Y3NTdkZSkKK1NpZ25lZC1vZmYt Ynk6IE1pY2hhZWwgVG9rYXJldiA8bWp0QHRscy5tc2sucnU+CitTaWduZWQtb2ZmLWJ5OiBLZXZp biBXb2xmIDxrd29sZkByZWRoYXQuY29tPgorLS0tCisgYmxvY2svY3VybC5jIHwgNyArKy0tLS0t CisgMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgNSBkZWxldGlvbnMoLSkKKworZGlm ZiAtLWdpdCBhL2Jsb2NrL2N1cmwuYyBiL2Jsb2NrL2N1cmwuYworaW5kZXggZDY5YmNkZmY3OS4u NzRlYzYyZDlkOCAxMDA2NDQKKy0tLSBhL2Jsb2NrL2N1cmwuYworKysrIGIvYmxvY2svY3VybC5j CitAQCAtMTYyLDEzICsxNjIsOSBAQCBzdGF0aWMgaW50IGN1cmxfdGltZXJfY2IoQ1VSTE0gKm11 bHRpLCBsb25nIHRpbWVvdXRfbXMsIHZvaWQgKm9wYXF1ZSkKKyBzdGF0aWMgaW50IGN1cmxfc29j a19jYihDVVJMICpjdXJsLCBjdXJsX3NvY2tldF90IGZkLCBpbnQgYWN0aW9uLAorICAgICAgICAg ICAgICAgICAgICAgICAgIHZvaWQgKnVzZXJwLCB2b2lkICpzcCkKKyB7CistICAgIEJEUlZDVVJM U3RhdGUgKnM7CistICAgIENVUkxTdGF0ZSAqc3RhdGUgPSBOVUxMOworKyAgICBCRFJWQ1VSTFN0 YXRlICpzID0gdXNlcnA7CisgICAgIENVUkxTb2NrZXQgKnNvY2tldDsKKyAKKy0gICAgY3VybF9l YXN5X2dldGluZm8oY3VybCwgQ1VSTElORk9fUFJJVkFURSwgKGNoYXIgKiopJnN0YXRlKTsKKy0g ICAgcyA9IHN0YXRlLT5zOworLQorICAgICBzb2NrZXQgPSBnX2hhc2hfdGFibGVfbG9va3VwKHMt PnNvY2tldHMsIEdJTlRfVE9fUE9JTlRFUihmZCkpOworICAgICBpZiAoIXNvY2tldCkgeworICAg ICAgICAgc29ja2V0ID0gZ19uZXcwKENVUkxTb2NrZXQsIDEpOworQEAgLTYxOSw2ICs2MTUsNyBA QCBzdGF0aWMgdm9pZCBjdXJsX2F0dGFjaF9haW9fY29udGV4dChCbG9ja0RyaXZlclN0YXRlICpi cywKKyAgICAgYXNzZXJ0KCFzLT5tdWx0aSk7CisgICAgIHMtPm11bHRpID0gY3VybF9tdWx0aV9p bml0KCk7CisgICAgIHMtPmFpb19jb250ZXh0ID0gbmV3X2NvbnRleHQ7CisrICAgIGN1cmxfbXVs dGlfc2V0b3B0KHMtPm11bHRpLCBDVVJMTU9QVF9TT0NLRVREQVRBLCBzKTsKKyAgICAgY3VybF9t dWx0aV9zZXRvcHQocy0+bXVsdGksIENVUkxNT1BUX1NPQ0tFVEZVTkNUSU9OLCBjdXJsX3NvY2tf Y2IpOworICAgICBjdXJsX211bHRpX3NldG9wdChzLT5tdWx0aSwgQ1VSTE1PUFRfVElNRVJEQVRB LCBzKTsKKyAgICAgY3VybF9tdWx0aV9zZXRvcHQocy0+bXVsdGksIENVUkxNT1BUX1RJTUVSRlVO Q1RJT04sIGN1cmxfdGltZXJfY2IpOworLS0gCisyLjUyLjAKKwoKZGlmZiAtLWdpdCBhL2t2bS1i bG9jay1jdXJsLWZyZWUtcy1wYXNzd29yZC1pbi1jbGVhbnVwLXBhdGhzLnBhdGNoIGIva3ZtLWJs b2NrLWN1cmwtZnJlZS1zLXBhc3N3b3JkLWluLWNsZWFudXAtcGF0aHMucGF0Y2gKbmV3IGZpbGUg bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjAzNzQzNAotLS0gL2Rldi9udWxsCisrKyBiL2t2 bS1ibG9jay1jdXJsLWZyZWUtcy1wYXNzd29yZC1pbi1jbGVhbnVwLXBhdGhzLnBhdGNoCkBAIC0w LDAgKzEsNTcgQEAKK0Zyb20gMzZiOTZkMDBkNmU1MWUwMmVjYThiZDJiNGExMTUzNjM3NjE4N2Y1 NCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEd1b0hhbiBaaGFvIDx6aGFvZ3VvaGFu QGt5bGlub3MuY24+CitEYXRlOiBGcmksIDIwIE1hciAyMDI2IDE0OjMwOjE2ICswODAwCitTdWJq ZWN0OiBbUEFUQ0ggMTMvNTJdIGJsb2NrL2N1cmw6IGZyZWUgcy0+cGFzc3dvcmQgaW4gY2xlYW51 cCBwYXRocworCitSSC1BdXRob3I6IEtldmluIFdvbGYgPGt3b2xmQHJlZGhhdC5jb20+CitSSC1N ZXJnZVJlcXVlc3Q6IDUwNDogdmlydC1zdG9yYWdlOiBCYWNrcG9ydCBzdGFibGUgYnJhbmNoIGZp eGVzCitSSC1KaXJhOiBSSEVMLTE4NjM4NAorUkgtQWNrZWQtYnk6IFN0ZWZhbiBIYWpub2N6aSA8 c3RlZmFuaGFAcmVkaGF0LmNvbT4KK1JILUFja2VkLWJ5OiBNaXJvc2xhdiBSZXphbmluYSA8bXJl emFuaW5AcmVkaGF0LmNvbT4KK1JILUNvbW1pdDogWzYvNDVdIDhjMzBkZGZjYTdkMjFiNjMxMjBk NjY3MTRjZjY1M2JkMzljZGI2MTEgKGttd29sZi9jZW50b3MtcWVtdS1rdm0pCisKK1doZW4gcGFz c3dvcmQtc2VjcmV0IGlzIHVzZWQsIGN1cmxfb3BlbigpIHJlc29sdmVzIGl0IHdpdGgKK3Fjcnlw dG9fc2VjcmV0X2xvb2t1cF9hc191dGY4KCkgYW5kIHN0b3JlcyB0aGUgcmV0dXJuZWQgYnVmZmVy IGluCitzLT5wYXNzd29yZC4KKworVW5saWtlIHMtPnByb3h5cGFzc3dvcmQsIHMtPnBhc3N3b3Jk IGlzIG5vdCBmcmVlZCBlaXRoZXIgaW4gdGhlIG9wZW4KK2ZhaWx1cmUgcGF0aCBvciBpbiBjdXJs X2Nsb3NlKCksIHNvIHRoZSByZXNvbHZlZCBzZWNyZXQgbGVha3Mgb25jZSBpdAoraGFzIGJlZW4g YWxsb2NhdGVkLgorCitGcmVlIHMtPnBhc3N3b3JkIGluIGJvdGggY2xlYW51cCBwYXRocy4KKwor Rml4ZXM6IDFiZmY5NjA2NDI5MCAoJ2N1cmw6IGFkZCBzdXBwb3J0IGZvciBIVFRQIGF1dGhlbnRp Y2F0aW9uIHBhcmFtZXRlcnMnKQorU2lnbmVkLW9mZi1ieTogR3VvSGFuIFpoYW8gPHpoYW9ndW9o YW5Aa3lsaW5vcy5jbj4KK01lc3NhZ2UtSUQ6IDwyMDI2MDMyMDA2MzAxNi4yNjI5NTQtMS16aGFv Z3VvaGFuX3NhbG1vbkAxNjMuY29tPgorUmV2aWV3ZWQtYnk6IEtldmluIFdvbGYgPGt3b2xmQHJl ZGhhdC5jb20+CitTaWduZWQtb2ZmLWJ5OiBLZXZpbiBXb2xmIDxrd29sZkByZWRoYXQuY29tPgor KGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgNTFmYzg0NDNjMTIyZmVkZjRkNDg5MWJiYzNhMWZm MjVkZDhiYWNkZikKK1NpZ25lZC1vZmYtYnk6IE1pY2hhZWwgVG9rYXJldiA8bWp0QHRscy5tc2su cnU+CitTaWduZWQtb2ZmLWJ5OiBLZXZpbiBXb2xmIDxrd29sZkByZWRoYXQuY29tPgorLS0tCisg YmxvY2svY3VybC5jIHwgMiArKworIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKykKKwor ZGlmZiAtLWdpdCBhL2Jsb2NrL2N1cmwuYyBiL2Jsb2NrL2N1cmwuYworaW5kZXggZGFiZDJhOTA1 ZS4uYWFiYjYwMmQ5YiAxMDA2NDQKKy0tLSBhL2Jsb2NrL2N1cmwuYworKysrIGIvYmxvY2svY3Vy bC5jCitAQCAtODc2LDYgKzg3Niw3IEBAIG91dF9ub2NsZWFuOgorICAgICBnX2ZyZWUocy0+Y29v a2llKTsKKyAgICAgZ19mcmVlKHMtPnVybCk7CisgICAgIGdfZnJlZShzLT51c2VybmFtZSk7Cisr ICAgIGdfZnJlZShzLT5wYXNzd29yZCk7CisgICAgIGdfZnJlZShzLT5wcm94eXVzZXJuYW1lKTsK KyAgICAgZ19mcmVlKHMtPnByb3h5cGFzc3dvcmQpOworICAgICBpZiAocy0+c29ja2V0cykgewor QEAgLTk4Nyw2ICs5ODgsNyBAQCBzdGF0aWMgdm9pZCBjdXJsX2Nsb3NlKEJsb2NrRHJpdmVyU3Rh dGUgKmJzKQorICAgICBnX2ZyZWUocy0+Y29va2llKTsKKyAgICAgZ19mcmVlKHMtPnVybCk7Cisg ICAgIGdfZnJlZShzLT51c2VybmFtZSk7CisrICAgIGdfZnJlZShzLT5wYXNzd29yZCk7CisgICAg IGdfZnJlZShzLT5wcm94eXVzZXJuYW1lKTsKKyAgICAgZ19mcmVlKHMtPnByb3h5cGFzc3dvcmQp OworIH0KKy0tIAorMi41Mi4wCisKCmRpZmYgLS1naXQgYS9rdm0tYmxvY2stY3VybC5jLUZpeC1D VVJMT1BUX1ZFUkJPU0UtcGFyYW1ldGVyLXR5cGUucGF0Y2ggYi9rdm0tYmxvY2stY3VybC5jLUZp eC1DVVJMT1BUX1ZFUkJPU0UtcGFyYW1ldGVyLXR5cGUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2 NDQKaW5kZXggMDAwMDAwMC4uOGE2ZmExNwotLS0gL2Rldi9udWxsCisrKyBiL2t2bS1ibG9jay1j dXJsLmMtRml4LUNVUkxPUFRfVkVSQk9TRS1wYXJhbWV0ZXItdHlwZS5wYXRjaApAQCAtMCwwICsx LDQ0IEBACitGcm9tIGUzOTIxZWEzMmZkYzQzYTc0YTYzOWUyMTVhODYxZTQ2NGVjM2RhODAgTW9u IFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiAiUmljaGFyZCBXLk0uIEpvbmVzIiA8cmpvbmVz QHJlZGhhdC5jb20+CitEYXRlOiBNb24sIDEzIE9jdCAyMDI1IDEzOjQxOjE5ICswMTAwCitTdWJq ZWN0OiBbUEFUQ0ggMTEvNTJdIGJsb2NrL2N1cmwuYzogRml4IENVUkxPUFRfVkVSQk9TRSBwYXJh bWV0ZXIgdHlwZQorCitSSC1BdXRob3I6IEtldmluIFdvbGYgPGt3b2xmQHJlZGhhdC5jb20+CitS SC1NZXJnZVJlcXVlc3Q6IDUwNDogdmlydC1zdG9yYWdlOiBCYWNrcG9ydCBzdGFibGUgYnJhbmNo IGZpeGVzCitSSC1KaXJhOiBSSEVMLTE4NjM4NAorUkgtQWNrZWQtYnk6IFN0ZWZhbiBIYWpub2N6 aSA8c3RlZmFuaGFAcmVkaGF0LmNvbT4KK1JILUFja2VkLWJ5OiBNaXJvc2xhdiBSZXphbmluYSA8 bXJlemFuaW5AcmVkaGF0LmNvbT4KK1JILUNvbW1pdDogWzQvNDVdIDdhZGZmZThkNmRlMjQ2NGVk NjMyOTE4ZjNkOGI0MjAwYWRhMWYyYTAgKGttd29sZi9jZW50b3MtcWVtdS1rdm0pCisKK0luIGNv bW1pdCBlZDI2MDU2ZDkwICgiYmxvY2svY3VybC5jOiBVc2UgZXhwbGljaXQgbG9uZyBjb25zdGFu dHMgaW4KK2N1cmxfZWFzeV9zZXRvcHQgY2FsbHMiKSB3ZSBtaXNzZWQgYSBmdXJ0aGVyIGNhbGwg dGhhdCB0YWtlcyBhIGxvbmcKK3BhcmFtZXRlci4KKworUmVwb3J0ZWQtYnk6IEtldmluIFdvbGYg PGt3b2xmQHJlZGhhdC5jb20+CitTaWduZWQtb2ZmLWJ5OiBSaWNoYXJkIFcuTS4gSm9uZXMgPHJq b25lc0ByZWRoYXQuY29tPgorTWVzc2FnZS1JRDogPDIwMjUxMDEzMTI0MTI3LjYwNDQwMS0xLXJq b25lc0ByZWRoYXQuY29tPgorUmV2aWV3ZWQtYnk6IEtldmluIFdvbGYgPGt3b2xmQHJlZGhhdC5j b20+CitTaWduZWQtb2ZmLWJ5OiBLZXZpbiBXb2xmIDxrd29sZkByZWRoYXQuY29tPgorKGNoZXJy eSBwaWNrZWQgZnJvbSBjb21taXQgYWQ5Nzc2OWU5ZGNmNGRiZGFhZTZkODU5MTc2ZTVmMzdmZDZh N2M2NikKK1NpZ25lZC1vZmYtYnk6IE1pY2hhZWwgVG9rYXJldiA8bWp0QHRscy5tc2sucnU+CitT aWduZWQtb2ZmLWJ5OiBLZXZpbiBXb2xmIDxrd29sZkByZWRoYXQuY29tPgorLS0tCisgYmxvY2sv Y3VybC5jIHwgMiArLQorIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlv bigtKQorCitkaWZmIC0tZ2l0IGEvYmxvY2svY3VybC5jIGIvYmxvY2svY3VybC5jCitpbmRleCBi YmU4OTFkYWZiLi45NjQ5OGFhYzFkIDEwMDY0NAorLS0tIGEvYmxvY2svY3VybC5jCisrKysgYi9i bG9jay9jdXJsLmMKK0BAIC01MzgsNyArNTM4LDcgQEAgc3RhdGljIGludCBjdXJsX2luaXRfc3Rh dGUoQkRSVkNVUkxTdGF0ZSAqcywgQ1VSTFN0YXRlICpzdGF0ZSkKKyAjZW5kaWYKKyAKKyAjaWZk ZWYgREVCVUdfVkVSQk9TRQorLSAgICAgICAgaWYgKGN1cmxfZWFzeV9zZXRvcHQoc3RhdGUtPmN1 cmwsIENVUkxPUFRfVkVSQk9TRSwgMSkpIHsKKysgICAgICAgIGlmIChjdXJsX2Vhc3lfc2V0b3B0 KHN0YXRlLT5jdXJsLCBDVVJMT1BUX1ZFUkJPU0UsIDFMKSkgeworICAgICAgICAgICAgIGdvdG8g ZXJyOworICAgICAgICAgfQorICNlbmRpZgorLS0gCisyLjUyLjAKKwoKZGlmZiAtLWdpdCBhL2t2 bS1ibG9jay1jdXJsLmMtVXNlLWV4cGxpY2l0LWxvbmctY29uc3RhbnRzLWluLWN1cmxfZWFzLnBh dGNoIGIva3ZtLWJsb2NrLWN1cmwuYy1Vc2UtZXhwbGljaXQtbG9uZy1jb25zdGFudHMtaW4tY3Vy bF9lYXMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmEyMmI1NQot LS0gL2Rldi9udWxsCisrKyBiL2t2bS1ibG9jay1jdXJsLmMtVXNlLWV4cGxpY2l0LWxvbmctY29u c3RhbnRzLWluLWN1cmxfZWFzLnBhdGNoCkBAIC0wLDAgKzEsOTAgQEAKK0Zyb20gYTAzZTI2YmMz YjUxOTk3ZTQ1ODRmZTk1YzRkYTBmZWJhODVjMDc2YSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEK K0Zyb206ICJSaWNoYXJkIFcuTS4gSm9uZXMiIDxyam9uZXNAcmVkaGF0LmNvbT4KK0RhdGU6IFRo dSwgOSBPY3QgMjAyNSAxNTowODozMSArMDEwMAorU3ViamVjdDogW1BBVENIIDEwLzUyXSBibG9j ay9jdXJsLmM6IFVzZSBleHBsaWNpdCBsb25nIGNvbnN0YW50cyBpbgorIGN1cmxfZWFzeV9zZXRv cHQgY2FsbHMKK01JTUUtVmVyc2lvbjogMS4wCitDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNo YXJzZXQ9VVRGLTgKK0NvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKKworUkgtQXV0aG9y OiBLZXZpbiBXb2xmIDxrd29sZkByZWRoYXQuY29tPgorUkgtTWVyZ2VSZXF1ZXN0OiA1MDQ6IHZp cnQtc3RvcmFnZTogQmFja3BvcnQgc3RhYmxlIGJyYW5jaCBmaXhlcworUkgtSmlyYTogUkhFTC0x ODYzODQKK1JILUFja2VkLWJ5OiBTdGVmYW4gSGFqbm9jemkgPHN0ZWZhbmhhQHJlZGhhdC5jb20+ CitSSC1BY2tlZC1ieTogTWlyb3NsYXYgUmV6YW5pbmEgPG1yZXphbmluQHJlZGhhdC5jb20+CitS SC1Db21taXQ6IFszLzQ1XSA0ZTRiNGYyYzE3MDRjYzE3YTI3ZWJjYTNjMWE3MGJmYzhkY2QxZWJk IChrbXdvbGYvY2VudG9zLXFlbXUta3ZtKQorCitjdXJsX2Vhc3lfc2V0b3B0IHRha2VzIGEgdmFy aWFibGUgYXJndW1lbnQgdGhhdCBkZXBlbmRzIG9uIHdoYXQKK0NVUkxPUFQgeW91IGFyZSBzZXR0 aW5nLiAgU29tZSByZXF1aXJlIGEgbG9uZyBjb25zdGFudC4gIFBhc3NpbmcgYQorcGxhaW4gaW50 IGNvbnN0YW50IGlzIHBvdGVudGlhbGx5IHdyb25nIG9uIHNvbWUgcGxhdGZvcm1zLgorCitXaXRo IHdhcm5pbmdzIGVuYWJsZWQsIG11bHRpcGxlIHdhcm5pbmdzIGxpa2UgdGhpcyB3ZXJlIHByaW50 ZWQ6CisKKy4uL2Jsb2NrL2N1cmwuYzogSW4gZnVuY3Rpb24g4oCYY3VybF9pbml0X3N0YXRl4oCZ OgorLi4vYmxvY2svY3VybC5jOjQ3NDoxMzogd2FybmluZzogY2FsbCB0byDigJhfY3VybF9lYXN5 X3NldG9wdF9lcnJfbG9uZ+KAmSBkZWNsYXJlZCB3aXRoIGF0dHJpYnV0ZSB3YXJuaW5nOiBjdXJs X2Vhc3lfc2V0b3B0IGV4cGVjdHMgYSBsb25nIGFyZ3VtZW50IFstV2F0dHJpYnV0ZS13YXJuaW5n XQorICA0NzQgfCAgICAgICAgICAgICBjdXJsX2Vhc3lfc2V0b3B0KHN0YXRlLT5jdXJsLCBDVVJM T1BUX0FVVE9SRUZFUkVSLCAxKSB8fAorICAgICAgfCAgICAgICAgICAgICBeCisKK1NpZ25lZC1v ZmYtYnk6IFJpY2hhcmQgVy5NLiBKb25lcyA8cmpvbmVzQHJlZGhhdC5jb20+CitTaWduZWQtb2Zm LWJ5OiBDaGVueGkgTWFvIDxtYW9jaGVueGlAYm9zYy5hYy5jbj4KK1Jldmlld2VkLWJ5OiBEYW5p ZWwgUC4gQmVycmFuZ8OpIDxiZXJyYW5nZUByZWRoYXQuY29tPgorUmV2aWV3ZWQtYnk6IEFraWhp a28gT2Rha2kgPG9kYWtpQHJzZy5jaS5pLnUtdG9reW8uYWMuanA+CitSZXZpZXdlZC1ieTogVGhv bWFzIEh1dGggPHRodXRoQHJlZGhhdC5jb20+CitSZXZpZXdlZC1ieTogUmljaGFyZCBIZW5kZXJz b24gPHJpY2hhcmQuaGVuZGVyc29uQGxpbmFyby5vcmc+CitTaWduZWQtb2ZmLWJ5OiBSaWNoYXJk IEhlbmRlcnNvbiA8cmljaGFyZC5oZW5kZXJzb25AbGluYXJvLm9yZz4KK01lc3NhZ2UtSUQ6IDwy MDI1MTAwOTE0MTAyNi40MDQyMDIxLTItcmpvbmVzQHJlZGhhdC5jb20+CisoY2hlcnJ5IHBpY2tl ZCBmcm9tIGNvbW1pdCBlZDI2MDU2ZDkwZGRmZjIxMzUxZjNlZmQyY2I0N2ZlYTRmMGUxZDQ1KQor U2lnbmVkLW9mZi1ieTogTWljaGFlbCBUb2thcmV2IDxtanRAdGxzLm1zay5ydT4KK1NpZ25lZC1v ZmYtYnk6IEtldmluIFdvbGYgPGt3b2xmQHJlZGhhdC5jb20+CistLS0KKyBibG9jay9jdXJsLmMg ICAgICAgICAgICAgICB8IDEwICsrKysrLS0tLS0KKyBjb250cmliL2VsZjJkbXAvZG93bmxvYWQu YyB8ICA0ICsrLS0KKyAyIGZpbGVzIGNoYW5nZWQsIDcgaW5zZXJ0aW9ucygrKSwgNyBkZWxldGlv bnMoLSkKKworZGlmZiAtLWdpdCBhL2Jsb2NrL2N1cmwuYyBiL2Jsb2NrL2N1cmwuYworaW5kZXgg NzRlYzYyZDlkOC4uYmJlODkxZGFmYiAxMDA2NDQKKy0tLSBhL2Jsb2NrL2N1cmwuYworKysrIGIv YmxvY2svY3VybC5jCitAQCAtNDg1LDExICs0ODUsMTEgQEAgc3RhdGljIGludCBjdXJsX2luaXRf c3RhdGUoQkRSVkNVUkxTdGF0ZSAqcywgQ1VSTFN0YXRlICpzdGF0ZSkKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICh2b2lkICopY3VybF9yZWFkX2NiKSB8fAorICAgICAgICAgICAgIGN1 cmxfZWFzeV9zZXRvcHQoc3RhdGUtPmN1cmwsIENVUkxPUFRfV1JJVEVEQVRBLCAodm9pZCAqKXN0 YXRlKSB8fAorICAgICAgICAgICAgIGN1cmxfZWFzeV9zZXRvcHQoc3RhdGUtPmN1cmwsIENVUkxP UFRfUFJJVkFURSwgKHZvaWQgKilzdGF0ZSkgfHwKKy0gICAgICAgICAgICBjdXJsX2Vhc3lfc2V0 b3B0KHN0YXRlLT5jdXJsLCBDVVJMT1BUX0FVVE9SRUZFUkVSLCAxKSB8fAorLSAgICAgICAgICAg IGN1cmxfZWFzeV9zZXRvcHQoc3RhdGUtPmN1cmwsIENVUkxPUFRfRk9MTE9XTE9DQVRJT04sIDEp IHx8CistICAgICAgICAgICAgY3VybF9lYXN5X3NldG9wdChzdGF0ZS0+Y3VybCwgQ1VSTE9QVF9O T1NJR05BTCwgMSkgfHwKKysgICAgICAgICAgICBjdXJsX2Vhc3lfc2V0b3B0KHN0YXRlLT5jdXJs LCBDVVJMT1BUX0FVVE9SRUZFUkVSLCAxTCkgfHwKKysgICAgICAgICAgICBjdXJsX2Vhc3lfc2V0 b3B0KHN0YXRlLT5jdXJsLCBDVVJMT1BUX0ZPTExPV0xPQ0FUSU9OLCAxTCkgfHwKKysgICAgICAg ICAgICBjdXJsX2Vhc3lfc2V0b3B0KHN0YXRlLT5jdXJsLCBDVVJMT1BUX05PU0lHTkFMLCAxTCkg fHwKKyAgICAgICAgICAgICBjdXJsX2Vhc3lfc2V0b3B0KHN0YXRlLT5jdXJsLCBDVVJMT1BUX0VS Uk9SQlVGRkVSLCBzdGF0ZS0+ZXJybXNnKSB8fAorLSAgICAgICAgICAgIGN1cmxfZWFzeV9zZXRv cHQoc3RhdGUtPmN1cmwsIENVUkxPUFRfRkFJTE9ORVJST1IsIDEpKSB7CisrICAgICAgICAgICAg Y3VybF9lYXN5X3NldG9wdChzdGF0ZS0+Y3VybCwgQ1VSTE9QVF9GQUlMT05FUlJPUiwgMUwpKSB7 CisgICAgICAgICAgICAgZ290byBlcnI7CisgICAgICAgICB9CisgICAgICAgICBpZiAocy0+dXNl cm5hbWUpIHsKK0BAIC04MTQsNyArODE0LDcgQEAgc3RhdGljIGludCBjdXJsX29wZW4oQmxvY2tE cml2ZXJTdGF0ZSAqYnMsIFFEaWN0ICpvcHRpb25zLCBpbnQgZmxhZ3MsCisgICAgIH0KKyAKKyAg ICAgcy0+YWNjZXB0X3JhbmdlID0gZmFsc2U7CistICAgIGlmIChjdXJsX2Vhc3lfc2V0b3B0KHN0 YXRlLT5jdXJsLCBDVVJMT1BUX05PQk9EWSwgMSkgfHwKKysgICAgaWYgKGN1cmxfZWFzeV9zZXRv cHQoc3RhdGUtPmN1cmwsIENVUkxPUFRfTk9CT0RZLCAxTCkgfHwKKyAgICAgICAgIGN1cmxfZWFz eV9zZXRvcHQoc3RhdGUtPmN1cmwsIENVUkxPUFRfSEVBREVSRlVOQ1RJT04sIGN1cmxfaGVhZGVy X2NiKSB8fAorICAgICAgICAgY3VybF9lYXN5X3NldG9wdChzdGF0ZS0+Y3VybCwgQ1VSTE9QVF9I RUFERVJEQVRBLCBzKSkgeworICAgICAgICAgcHN0cmNweShzdGF0ZS0+ZXJybXNnLCBDVVJMX0VS Uk9SX1NJWkUsCitkaWZmIC0tZ2l0IGEvY29udHJpYi9lbGYyZG1wL2Rvd25sb2FkLmMgYi9jb250 cmliL2VsZjJkbXAvZG93bmxvYWQuYworaW5kZXggMjEzMDZiM2ZkNC4uZmE4ZGEwZjlhMiAxMDA2 NDQKKy0tLSBhL2NvbnRyaWIvZWxmMmRtcC9kb3dubG9hZC5jCisrKysgYi9jb250cmliL2VsZjJk bXAvZG93bmxvYWQuYworQEAgLTI3LDggKzI3LDggQEAgYm9vbCBkb3dubG9hZF91cmwoY29uc3Qg Y2hhciAqbmFtZSwgY29uc3QgY2hhciAqdXJsKQorICAgICBpZiAoY3VybF9lYXN5X3NldG9wdChj dXJsLCBDVVJMT1BUX1VSTCwgdXJsKSAhPSBDVVJMRV9PSworICAgICAgICAgICAgIHx8IGN1cmxf ZWFzeV9zZXRvcHQoY3VybCwgQ1VSTE9QVF9XUklURUZVTkNUSU9OLCBOVUxMKSAhPSBDVVJMRV9P SworICAgICAgICAgICAgIHx8IGN1cmxfZWFzeV9zZXRvcHQoY3VybCwgQ1VSTE9QVF9XUklURURB VEEsIGZpbGUpICE9IENVUkxFX09LCistICAgICAgICAgICAgfHwgY3VybF9lYXN5X3NldG9wdChj dXJsLCBDVVJMT1BUX0ZPTExPV0xPQ0FUSU9OLCAxKSAhPSBDVVJMRV9PSworLSAgICAgICAgICAg IHx8IGN1cmxfZWFzeV9zZXRvcHQoY3VybCwgQ1VSTE9QVF9OT1BST0dSRVNTLCAwKSAhPSBDVVJM RV9PSworKyAgICAgICAgICAgIHx8IGN1cmxfZWFzeV9zZXRvcHQoY3VybCwgQ1VSTE9QVF9GT0xM T1dMT0NBVElPTiwgMUwpICE9IENVUkxFX09LCisrICAgICAgICAgICAgfHwgY3VybF9lYXN5X3Nl dG9wdChjdXJsLCBDVVJMT1BUX05PUFJPR1JFU1MsIDBMKSAhPSBDVVJMRV9PSworICAgICAgICAg ICAgIHx8IGN1cmxfZWFzeV9wZXJmb3JtKGN1cmwpICE9IENVUkxFX09LKSB7CisgICAgICAgICB1 bmxpbmsobmFtZSk7CisgICAgICAgICBmY2xvc2UoZmlsZSk7CistLSAKKzIuNTIuMAorCgpkaWZm IC0tZ2l0IGEva3ZtLWJsb2NrLWZpeC1sdWtzLWFtZW5kLXdoZW4tcnVuLWluLWNvcm91dGluZS5w YXRjaCBiL2t2bS1ibG9jay1maXgtbHVrcy1hbWVuZC13aGVuLXJ1bi1pbi1jb3JvdXRpbmUucGF0 Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWIzNjQ1YgotLS0gL2Rldi9u dWxsCisrKyBiL2t2bS1ibG9jay1maXgtbHVrcy1hbWVuZC13aGVuLXJ1bi1pbi1jb3JvdXRpbmUu cGF0Y2gKQEAgLTAsMCArMSwxMzEgQEAKK0Zyb20gZmEwZWQ3MDYwZmFjMWI4MWFmMWY0YjQzOTBh ZDNmNGRkYmQwMzI3MCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206ID0/VVRGLTg/cT9E YW5pZWw9MjBQPTJFPTIwQmVycmFuZz1DMz1BOT89IDxiZXJyYW5nZUByZWRoYXQuY29tPgorRGF0 ZTogRnJpLCAxOSBTZXAgMjAyNSAxMjoyMjoxMyArMDEwMAorU3ViamVjdDogW1BBVENIIDE3LzUy XSBibG9jazogZml4IGx1a3MgJ2FtZW5kJyB3aGVuIHJ1biBpbiBjb3JvdXRpbmUKK01JTUUtVmVy c2lvbjogMS4wCitDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKK0NvbnRl bnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKKworUkgtQXV0aG9yOiBLZXZpbiBXb2xmIDxrd29s ZkByZWRoYXQuY29tPgorUkgtTWVyZ2VSZXF1ZXN0OiA1MDQ6IHZpcnQtc3RvcmFnZTogQmFja3Bv cnQgc3RhYmxlIGJyYW5jaCBmaXhlcworUkgtSmlyYTogUkhFTC0xODYzODQKK1JILUFja2VkLWJ5 OiBTdGVmYW4gSGFqbm9jemkgPHN0ZWZhbmhhQHJlZGhhdC5jb20+CitSSC1BY2tlZC1ieTogTWly b3NsYXYgUmV6YW5pbmEgPG1yZXphbmluQHJlZGhhdC5jb20+CitSSC1Db21taXQ6IFsxMC80NV0g M2RlZGMyMTEwOGE5NWJlYmRjODkzODIwYWRmYjE5YzJiODgxODljYyAoa213b2xmL2NlbnRvcy1x ZW11LWt2bSkKKworTGF1bmNoIFFFTVUgd2l0aAorCisgICQgcWVtdS1pbWcgY3JlYXRlIFwKKyAg ICAgIC0tb2JqZWN0IHNlY3JldCxpZD1zZWMwLGRhdGE9MTIzNDU2IFwKKyAgICAgIC1mIGx1a3Mg LW8ga2V5LXNlY3JldD1zZWMwIGRlbW8ubHVrcyAxZworCisgICQgcWVtdS1zeXN0ZW0teDg2XzY0 IFwKKyAgICAgIC0tb2JqZWN0IHNlY3JldCxpZD1zZWMwLGRhdGE9MTIzNDU2IFwKKyAgICAgIC1i bG9ja2RldiAgZHJpdmVyPWx1a3Msa2V5LXNlY3JldD1zZWMwLGZpbGUuZmlsZW5hbWU9ZGVtby5s dWtzLGZpbGUuZHJpdmVyPWZpbGUsbm9kZS1uYW1lPWx1a3MKKworVGhlbiBpbiBRTVAgc2hlbGwg YXR0ZW1wdAorCisgIHgtYmxvY2tkZXYtYW1lbmQgam9iLWlkPWZpc2ggbm9kZS1uYW1lPWx1a3Mg b3B0aW9ucz17J3N0YXRlJzonYWN0aXZlJywnbmV3LXNlY3JldCc6J3NlYzAnLCdkcml2ZXInOids dWtzJ30KKworSXQgd2lsbCByZXN1bHQgaW4gYW4gYXNzZXJ0aW9uCisKKyAgIzAgIF9fcHRocmVh ZF9raWxsX2ltcGxlbWVudGF0aW9uICh0aHJlYWRpZD08b3B0aW1pemVkIG91dD4sIHNpZ25vPXNp Z25vQGVudHJ5PTYsIG5vX3RpZD1ub190aWRAZW50cnk9MCkgYXQgcHRocmVhZF9raWxsLmM6NDQK KyAgIzEgIDB4MDAwMDdmYWQxOGI3M2Y2MyBpbiBfX3B0aHJlYWRfa2lsbF9pbnRlcm5hbCAodGhy ZWFkaWQ9PG9wdGltaXplZCBvdXQ+LCBzaWdubz02KSBhdCBwdGhyZWFkX2tpbGwuYzo4OQorICAj MiAgMHgwMDAwN2ZhZDE4YjE5ZjNlIGluIF9fR0lfcmFpc2UgKHNpZz1zaWdAZW50cnk9NikgYXQg Li4vc3lzZGVwcy9wb3NpeC9yYWlzZS5jOjI2CisgICMzICAweDAwMDA3ZmFkMThiMDE2ZDAgaW4g X19HSV9hYm9ydCAoKSBhdCBhYm9ydC5jOjc3CisgICM0ICAweDAwMDA3ZmFkMThiMDE2MzkgaW4g X19hc3NlcnRfZmFpbF9iYXNlCisgICAgICAoZm10PTxvcHRpbWl6ZWQgb3V0PiwgYXNzZXJ0aW9u PTxvcHRpbWl6ZWQgb3V0PiwgZmlsZT08b3B0aW1pemVkIG91dD4sIGxpbmU9PG9wdGltaXplZCBv dXQ+LCBmdW5jdGlvbj08b3B0aW1pemVkIG91dD4pIGF0IGFzc2VydC5jOjExOAorICAjNSAgMHgw MDAwN2ZhZDE4YjEyMGFmIGluIF9fYXNzZXJ0X2ZhaWwgKGFzc2VydGlvbj08b3B0aW1pemVkIG91 dD4sIGZpbGU9PG9wdGltaXplZCBvdXQ+LCBsaW5lPTxvcHRpbWl6ZWQgb3V0PiwgZnVuY3Rpb249 PG9wdGltaXplZCBvdXQ+KQorICAgICAgYXQgYXNzZXJ0LmM6MTI3CisgICM2ICAweDAwMDA1NWZm NzRmZGJkNDYgaW4gYmRydl9ncmFwaF9yZGxvY2tfbWFpbl9sb29wICgpIGF0IC4uL2Jsb2NrL2dy YXBoLWxvY2suYzoyNjAKKyAgIzcgIDB4MDAwMDU1ZmY3NTQ4NTIxYiBpbiBncmFwaF9sb2NrYWJs ZV9hdXRvX2xvY2tfbWFpbmxvb3AgKHg9PG9wdGltaXplZCBvdXQ+KQorICAgICAgYXQgL3Vzci9z cmMvZGVidWcvcWVtdS05LjIuNC0xLmZjNDIueDg2XzY0L2luY2x1ZGUvYmxvY2svZ3JhcGgtbG9j ay5oOjI2NgorICAjOCAgYmxvY2tfY3J5cHRvX3JlYWRfZnVuYyAoYmxvY2s9PG9wdGltaXplZCBv dXQ+LCBvZmZzZXQ9NDA5NiwgYnVmPTB4NTVmZmI2ZDY2ZWYwICIiLCBidWZsZW49MjU2MDAwLCBv cGFxdWU9MHg1NWZmYjVlZGNjMzAsIGVycnA9MHg1NWZmYjZmMDA3MDApCisgICAgICBhdCAuLi9i bG9jay9jcnlwdG8uYzo3MQorICAjOSAgMHgwMDAwNTVmZjc1NDM5ZjhiIGluIHFjcnlwdG9fYmxv Y2tfbHVrc19sb2FkX2tleQorICAgICAgKGJsb2NrPWJsb2NrQGVudHJ5PTB4NTVmZmI1ZWRiZTkw LCBzbG90X2lkeD1zbG90X2lkeEBlbnRyeT0wLCBwYXNzd29yZD1wYXNzd29yZEBlbnRyeT0weDU1 ZmZiNjdkYzI2MCAiMTIzNDU2IiwgbWFzdGVya2V5PW1hc3RlcmtleUBlbnRyeT0weDU1ZmZiNWZi MGM0MCAiIiwgcmVhZGZ1bmM9cmVhZGZ1bmNAZW50cnk9MHg1NWZmNzU0ODUxZTAgPGJsb2NrX2Ny eXB0b19yZWFkX2Z1bmM+LCBvcGFxdWU9b3BhcXVlQGVudHJ5PTB4NTVmZmI1ZWRjYzMwLCBlcnJw PTB4NTVmZmI2ZjAwNzAwKQorICAgICAgYXQgLi4vY3J5cHRvL2Jsb2NrLWx1a3MuYzo5MjcKKyAg IzEwIDB4MDAwMDU1ZmY3NTQzYjkwZiBpbiBxY3J5cHRvX2Jsb2NrX2x1a3NfZmluZF9rZXkKKyAg ICAgIChibG9jaz08b3B0aW1pemVkIG91dD4sIHBhc3N3b3JkPTxvcHRpbWl6ZWQgb3V0PiwgbWFz dGVya2V5PTxvcHRpbWl6ZWQgb3V0PiwgcmVhZGZ1bmM9PG9wdGltaXplZCBvdXQ+LCBvcGFxdWU9 PG9wdGltaXplZCBvdXQ+LCBlcnJwPTxvcHRpbWl6ZWQgb3V0PikgYXQgLi4vY3J5cHRvL2Jsb2Nr LWx1a3MuYzoxMDQ1CisgICMxMSBxY3J5cHRvX2Jsb2NrX2x1a3NfYW1lbmRfYWRkX2tleXNsb3QK KyAgICAgIChibG9jaz0weDU1ZmZiNWVkYmU5MCwgcmVhZGZ1bmM9MHg1NWZmNzU0ODUxZTAgPGJs b2NrX2NyeXB0b19yZWFkX2Z1bmM+LCB3cml0ZWZ1bmM9MHg1NWZmNzU0ODUxMDAgPGJsb2NrX2Ny eXB0b193cml0ZV9mdW5jPiwgb3BhcXVlPTB4NTVmZmI1ZWRjYzMsIG9wdHNfbHVrcz0weDdmYWQx NzE1YWVmOCwgZm9yY2U9PG9wdGltaXplZCBvdXQ+LCBlcnJwPTB4NTVmZmI2ZjAwNzAwKSBhdCAu Li9jcnlwdG8vYmxvY2stbHVrcy5jOjE2NzMKKyAgIzEyIHFjcnlwdG9fYmxvY2tfbHVrc19hbWVu ZF9vcHRpb25zCisgICAgICAoYmxvY2s9MHg1NWZmYjVlZGJlOTAsIHJlYWRmdW5jPTB4NTVmZjc1 NDg1MWUwIDxibG9ja19jcnlwdG9fcmVhZF9mdW5jPiwgd3JpdGVmdW5jPTB4NTVmZjc1NDg1MTAw IDxibG9ja19jcnlwdG9fd3JpdGVfZnVuYz4sIG9wYXF1ZT0weDU1ZmZiNWVkY2MzMCwgb3B0aW9u cz0weDdmYWQxNzE1YWVmMCwgZm9yY2U9PG9wdGltaXplZCBvdXQ+LCBlcnJwPTB4NTVmZmI2ZjAw NzAwKSBhdCAuLi9jcnlwdG8vYmxvY2stbHVrcy5jOjE4NjUKKyAgIzEzIDB4MDAwMDU1ZmY3NTQ4 NWI5NSBpbiBibG9ja19jcnlwdG9fYW1lbmRfb3B0aW9uc19nZW5lcmljX2x1a3MKKyAgICAgIChi cz08b3B0aW1pemVkIG91dD4sIGFtZW5kX29wdGlvbnM9PG9wdGltaXplZCBvdXQ+LCBmb3JjZT08 b3B0aW1pemVkIG91dD4sIGVycnA9PG9wdGltaXplZCBvdXQ+KSBhdCAuLi9ibG9jay9jcnlwdG8u Yzo5NDkKKyAgIzE0IDB4MDAwMDU1ZmY3NTQ4NWMyOCBpbiBibG9ja19jcnlwdG9fY29fYW1lbmRf bHVrcyAoYnM9PG9wdGltaXplZCBvdXQ+LCBvcHRzPTxvcHRpbWl6ZWQgb3V0PiwgZm9yY2U9PG9w dGltaXplZCBvdXQ+LCBlcnJwPTxvcHRpbWl6ZWQgb3V0PikKKyAgICAgIGF0IC4uL2Jsb2NrL2Ny eXB0by5jOjEwMDgKKyAgIzE1IDB4MDAwMDU1ZmY3NTQ3NzhlNSBpbiBibG9ja2Rldl9hbWVuZF9y dW4gKGpvYj0weDU1ZmZiNmYwMDY0MCwgZXJycD0weDU1ZmZiNmYwMDcwMCkgYXQgLi4vYmxvY2sv YW1lbmQuYzo1MgorICAjMTYgMHgwMDAwNTVmZjc1NDY4YjkwIGluIGpvYl9jb19lbnRyeSAob3Bh cXVlPTB4NTVmZmI2ZjAwNjQwKSBhdCAuLi9qb2IuYzoxMTA2CisgICMxNyAweDAwMDA1NWZmNzU1 YTBmYzIgaW4gY29yb3V0aW5lX3RyYW1wb2xpbmUgKGkwPTxvcHRpbWl6ZWQgb3V0PiwgaTE9PG9w dGltaXplZCBvdXQ+KSBhdCAuLi91dGlsL2Nvcm91dGluZS11Y29udGV4dC5jOjE3NQorCitUaGlz IGNoYW5nZXMgdGhlIHJlYWQvd3JpdGUgY2FsbGJhY2tzIHRvIG5vdCBhc3NlcnQgdGhhdCB0aGV5 CithcmUgcnVuIGluIG1haW5sb29wIGNvbnRleHQgaWYgYWxyZWFkeSBpbiBhIGNvcm91dGluZS4K KworVGhpcyBpcyBhbHNvIHJlcHJvZHVjZWQgYnkgcWVtdS1pb3Rlc3RzIGNhc2VzIDI5NSBhbmQg Mjk2LgorCitGaXhlczogMWYwNTFkY2JkZjJlNGI2ZjUxOGRiNzMxYzg0ZTMwNGIyYjlkMTVjZQor U2lnbmVkLW9mZi1ieTogRGFuaWVsIFAuIEJlcnJhbmfDqSA8YmVycmFuZ2VAcmVkaGF0LmNvbT4K K01lc3NhZ2UtSUQ6IDwyMDI1MDkxOTExMjIxMy4xNTMwMDc5LTEtYmVycmFuZ2VAcmVkaGF0LmNv bT4KK1Jldmlld2VkLWJ5OiBLZXZpbiBXb2xmIDxrd29sZkByZWRoYXQuY29tPgorU2lnbmVkLW9m Zi1ieTogS2V2aW4gV29sZiA8a3dvbGZAcmVkaGF0LmNvbT4KKyhjaGVycnkgcGlja2VkIGZyb20g Y29tbWl0IGM4NjQ4OGFiYWYwMTdlZDNmNWE2MzZjMzI0N2NkNjQwYTkzZDNiMDgpCitTaWduZWQt b2ZmLWJ5OiBNaWNoYWVsIFRva2FyZXYgPG1qdEB0bHMubXNrLnJ1PgorU2lnbmVkLW9mZi1ieTog S2V2aW4gV29sZiA8a3dvbGZAcmVkaGF0LmNvbT4KKy0tLQorIGJsb2NrL2NyeXB0by5jIHwgMzAg KysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tCisgMSBmaWxlIGNoYW5nZWQsIDIyIGluc2Vy dGlvbnMoKyksIDggZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9ibG9jay9jcnlwdG8uYyBi L2Jsb2NrL2NyeXB0by5jCitpbmRleCAxN2I0NzQ5YTFlLi43YzM3YjIzZTM2IDEwMDY0NAorLS0t IGEvYmxvY2svY3J5cHRvLmMKKysrKyBiL2Jsb2NrL2NyeXB0by5jCitAQCAtNjcsMTEgKzY3LDE4 IEBAIHN0YXRpYyBpbnQgYmxvY2tfY3J5cHRvX3JlYWRfZnVuYyhRQ3J5cHRvQmxvY2sgKmJsb2Nr LAorICAgICBCbG9ja0NyeXB0byAqY3J5cHRvID0gYnMtPm9wYXF1ZTsKKyAgICAgc3NpemVfdCBy ZXQ7CisgCistICAgIEdMT0JBTF9TVEFURV9DT0RFKCk7CistICAgIEdSQVBIX1JETE9DS19HVUFS RF9NQUlOTE9PUCgpOworKyAgICBpZiAocWVtdV9pbl9jb3JvdXRpbmUoKSkgeworKyAgICAgICAg R1JBUEhfUkRMT0NLX0dVQVJEKCk7CisgCistICAgIHJldCA9IGJkcnZfcHJlYWQoY3J5cHRvLT5o ZWFkZXIgPyBjcnlwdG8tPmhlYWRlciA6IGJzLT5maWxlLAorLSAgICAgICAgICAgICAgICAgICAg IG9mZnNldCwgYnVmbGVuLCBidWYsIDApOworKyAgICAgICAgcmV0ID0gYmRydl9jb19wcmVhZChj cnlwdG8tPmhlYWRlciA/IGNyeXB0by0+aGVhZGVyIDogYnMtPmZpbGUsCisrICAgICAgICAgICAg ICAgICAgICAgICAgICAgIG9mZnNldCwgYnVmbGVuLCBidWYsIDApOworKyAgICB9IGVsc2Ugewor KyAgICAgICAgR0xPQkFMX1NUQVRFX0NPREUoKTsKKysgICAgICAgIEdSQVBIX1JETE9DS19HVUFS RF9NQUlOTE9PUCgpOworKworKyAgICAgICAgcmV0ID0gYmRydl9wcmVhZChjcnlwdG8tPmhlYWRl ciA/IGNyeXB0by0+aGVhZGVyIDogYnMtPmZpbGUsCisrICAgICAgICAgICAgICAgICAgICAgICAg IG9mZnNldCwgYnVmbGVuLCBidWYsIDApOworKyAgICB9CisgICAgIGlmIChyZXQgPCAwKSB7Cisg ICAgICAgICBlcnJvcl9zZXRnX2Vycm5vKGVycnAsIC1yZXQsICJDb3VsZCBub3QgcmVhZCBlbmNy eXB0aW9uIGhlYWRlciIpOworICAgICAgICAgcmV0dXJuIHJldDsKK0BAIC05MCwxMSArOTcsMTgg QEAgc3RhdGljIGludCBibG9ja19jcnlwdG9fd3JpdGVfZnVuYyhRQ3J5cHRvQmxvY2sgKmJsb2Nr LAorICAgICBCbG9ja0NyeXB0byAqY3J5cHRvID0gYnMtPm9wYXF1ZTsKKyAgICAgc3NpemVfdCBy ZXQ7CisgCistICAgIEdMT0JBTF9TVEFURV9DT0RFKCk7CistICAgIEdSQVBIX1JETE9DS19HVUFS RF9NQUlOTE9PUCgpOworKyAgICBpZiAocWVtdV9pbl9jb3JvdXRpbmUoKSkgeworKyAgICAgICAg R1JBUEhfUkRMT0NLX0dVQVJEKCk7CisgCistICAgIHJldCA9IGJkcnZfcHdyaXRlKGNyeXB0by0+ aGVhZGVyID8gY3J5cHRvLT5oZWFkZXIgOiBicy0+ZmlsZSwKKy0gICAgICAgICAgICAgICAgICAg ICAgb2Zmc2V0LCBidWZsZW4sIGJ1ZiwgMCk7CisrICAgICAgICByZXQgPSBiZHJ2X2NvX3B3cml0 ZShjcnlwdG8tPmhlYWRlciA/IGNyeXB0by0+aGVhZGVyIDogYnMtPmZpbGUsCisrICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBvZmZzZXQsIGJ1ZmxlbiwgYnVmLCAwKTsKKysgICAgfSBlbHNl IHsKKysgICAgICAgIEdMT0JBTF9TVEFURV9DT0RFKCk7CisrICAgICAgICBHUkFQSF9SRExPQ0tf R1VBUkRfTUFJTkxPT1AoKTsKKysKKysgICAgICAgIHJldCA9IGJkcnZfcHdyaXRlKGNyeXB0by0+ aGVhZGVyID8gY3J5cHRvLT5oZWFkZXIgOiBicy0+ZmlsZSwKKysgICAgICAgICAgICAgICAgICAg ICAgICAgIG9mZnNldCwgYnVmbGVuLCBidWYsIDApOworKyAgICB9CisgICAgIGlmIChyZXQgPCAw KSB7CisgICAgICAgICBlcnJvcl9zZXRnX2Vycm5vKGVycnAsIC1yZXQsICJDb3VsZCBub3Qgd3Jp dGUgZW5jcnlwdGlvbiBoZWFkZXIiKTsKKyAgICAgICAgIHJldHVybiByZXQ7CistLSAKKzIuNTIu MAorCgpkaWZmIC0tZ2l0IGEva3ZtLWJsb2NrLWdyYXBoLWxvY2stZml4LW1pc3NlZC13YWtldXAt aW4tYmRydl9ncmFwaF9jb18ucGF0Y2ggYi9rdm0tYmxvY2stZ3JhcGgtbG9jay1maXgtbWlzc2Vk LXdha2V1cC1pbi1iZHJ2X2dyYXBoX2NvXy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl eCAwMDAwMDAwLi43MmMxZjljCi0tLSAvZGV2L251bGwKKysrIGIva3ZtLWJsb2NrLWdyYXBoLWxv Y2stZml4LW1pc3NlZC13YWtldXAtaW4tYmRydl9ncmFwaF9jb18ucGF0Y2gKQEAgLTAsMCArMSwx MDcgQEAKK0Zyb20gMzE5YTlmNjllY2RkNmJiZTAwMzUwM2ViNjZhYTRjMzBmZmVmM2Q0MCBNb24g U2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206ICJEZW5pcyBWLiBMdW5ldiIgPGRlbkBvcGVudnou b3JnPgorRGF0ZTogRnJpLCAyNCBBcHIgMjAyNiAxMjozOToxNiArMDIwMAorU3ViamVjdDogW1BB VENIIDA4LzUyXSBibG9jay9ncmFwaC1sb2NrOiBmaXggbWlzc2VkIHdha2V1cCBpbgorIGJkcnZf Z3JhcGhfY29fcmR1bmxvY2soKQorCitSSC1BdXRob3I6IEtldmluIFdvbGYgPGt3b2xmQHJlZGhh dC5jb20+CitSSC1NZXJnZVJlcXVlc3Q6IDUwNDogdmlydC1zdG9yYWdlOiBCYWNrcG9ydCBzdGFi bGUgYnJhbmNoIGZpeGVzCitSSC1KaXJhOiBSSEVMLTE4NjM4NAorUkgtQWNrZWQtYnk6IFN0ZWZh biBIYWpub2N6aSA8c3RlZmFuaGFAcmVkaGF0LmNvbT4KK1JILUFja2VkLWJ5OiBNaXJvc2xhdiBS ZXphbmluYSA8bXJlemFuaW5AcmVkaGF0LmNvbT4KK1JILUNvbW1pdDogWzEvNDVdIDAzMzY4Nzgw YzA4ZDFlZTk0Y2Y0MTJlNjczOWM0MWM5MjcyNTlmOWUgKGttd29sZi9jZW50b3MtcWVtdS1rdm0p CisKK3Rlc3RzL3FlbXUtaW90ZXN0cy90ZXN0cy9pb3RocmVhZHMtY3JlYXRlIHJlcHJvZHVjZXMg dGhlIGhhbmcgb24KK21hc3RlciB1bmRlciBgc3RyZXNzLW5nIC0tY3B1ICQobnByb2MpIC0tdGlt ZW91dCAwYC4gIFRoZSBpb3Rlc3Qncwordm0ucnVuX2pvYigpIHRpbWVzIG91dCBhbmQgcWVtdSBz dGF5cyBwZXJtYW5lbnRseSBzdHVjayBpbgorcHBvbGwodGltZW91dD0tMSkgaW5zaWRlIGJkcnZf Z3JhcGhfd3Jsb2NrX2RyYWluZWQgLT4gYmxrX3JlbW92ZV9icworZHVyaW5nIHFlbXVfY2xlYW51 cCgpLiAgVGhlIHRpbWluZyB3aW5kb3cgaXMgbmFycm93IG9uIG1vZGVybgorYmFyZS1tZXRhbCBo YXJkd2FyZSBhbmQgbXVjaCB3aWRlciBpbiBhIFZNIGd1ZXN0OyBkb3duc3RyZWFtIHRyZWVzCit0 aGF0IHN0aWxsIHVzZSBwbGFpbiBiZHJ2X2dyYXBoX3dybG9jaygpIGluIGJsa19yZW1vdmVfYnMo KSBoaXQgaXQKK29uIHRoZSBmaXJzdCBpdGVyYXRpb24gdW5kZXIgdGhlIHNhbWUgc3RyZXNzLgor CitiZHJ2X2dyYXBoX3dybG9jaygpIHplcm9lcyBoYXNfd3JpdGVyIGFyb3VuZCBpdHMgQUlPX1dB SVRfV0hJTEUgbG9vcAorc28gdGhhdCBjYWxsYmFja3MgZGlzcGF0Y2hlZCBieSBhaW9fcG9sbCgp IGNhbiBzdGlsbCB0YWtlIHRoZSByZWFkCitsb2NrIG9uIHRoZSBmYXN0IHBhdGguICBUaGUgcmR1 bmxvY2sgc2lkZSwgaG93ZXZlciwgb25seSBraWNrcyBhCit3YWl0aW5nIHdyaXRlciB3aGVuIGhh c193cml0ZXIgaXMgb2JzZXJ2ZWQgc2V0OyBhIHJlYWRlciB0aGF0IGRyb3BzCitpdHMgbG9jayBp bnNpZGUgdGhlIHBvbGxpbmcgd2luZG93IHNpbGVudGx5IHJldHVybnMgYW5kIG5vdGhpbmcgZXZl cgord2FrZXMgdGhlIHdyaXRlcjoKKworICBtYWluIHRocmVhZCAgICAgICAgICAgICAgICAgICAg ICAgICBpb3RocmVhZDAgY29yb3V0aW5lCisgIC0tLS0tLS0tLS0tICAgICAgICAgICAgICAgICAg ICAgICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0KKyAgYmRydl9ncmFwaF93cmxvY2s6ICAgICAgICAg ICAgICAgICAgcmRsb2NrIGhlbGQsIHJlYWRlcl9jb3VudD0xCisgICAgYmRydl9kcmFpbl9hbGxf YmVnaW5fbm9wb2xsCisgICAgaGFzX3dyaXRlciA9IDAKKyAgICBBSU9fV0FJVF9XSElMRV9VTkxP Q0tFRCgKKyAgICAgICAgTlVMTCwgcmVhZGVyX2NvdW50ID49IDEpOgorICAgICAgbnVtX3dhaXRl cnMrKworICAgICAgc21wX21iCisgICAgICBhaW9fcG9sbChtYWluX2N0eCwgdHJ1ZSkgICAtLT4g IGJkcnZfZ3JhcGhfY29fcmR1bmxvY2s6CisgICAgICAgIChwcG9sbCwgYmxvY2tlZCkgICAgICAg ICAgICAgICAgcmVhZGVyX2NvdW50LS0gLT4gMAorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHNtcF9tYgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHJlYWQgaGFzX3dyaXRlciA9IDAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBza2lwIGFpb193YWl0X2tpY2soKQorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICByZXR1cm4KKworcmVhZGVyX2NvdW50IGlzIG5vdyAwIGFuZCBudW1fd2FpdGVy cyBpcyBzdGlsbCAxLCBidXQgbm8gQkgsIGZkIG9yCit0aW1lciBvbiB0aGUgbWFpbiBBaW9Db250 ZXh0IHdpbGwgZmlyZSAtLSB0aGUgb25seSBlbnRpdHkgdGhhdCBjb3VsZAora2ljayBqdXN0IGRl Y2lkZWQgaXQgZGlkIG5vdCBoYXZlIHRvLiAgTWFpbiBzdGF5cyBpbiBwcG9sbCgpIGhvbGRpbmcK K0JRTCwgc28gUkNVLCBWQ1BVcyBhbmQgYW55IGlvdGhyZWFkIHBhdGggdGhhdCBuZWVkcyBCUUwg c3RhbGwgYmVoaW5kCitpdC4gIFRoZSBoYW5nIGlzIGZpbmFsOyBubyB0aW1lb3V0LCBubyBmb3J3 YXJkIHByb2dyZXNzLCBubyByZWNvdmVyeQorYXMgdGhlcmUgaXMgbm8gb3RoZXIgc291cmNlIG9m IHdha2UgdXAgaW5zaWRlIHFlbXVfY2xlYW51cCgpLgorCitiZHJ2X2RyYWluX2FsbF9iZWdpbigp IGRvZXMgbm90IGNsb3NlIHRoZSByYWNlIG9uIGl0cyBvd246IGl0CitxdWllc2NlcyBpbi1mbGln aHQgSS9PLCBidXQgZ3JhcGggcmVhZGVycyBhbHNvIGluY2x1ZGUgbm9uLUkvTworY29yb3V0aW5l cyAoYmxvY2stam9iIGNsZWFudXAsIHZpcnRpby1zY3NpIHBvbGxpbmcpIHRoYXQgZHJhaW4gZG9l cworbm90IGV2aWN0LiAgVGhlIGJkcnZfZ3JhcGhfd3Jsb2NrX2RyYWluZWQoKSB3cmFwcGVyIG5h cnJvd3MgdGhlCit3aW5kb3cgYnV0IGRvZXMgbm90IGVsaW1pbmF0ZSBpdDsgZXZlcnkgcGxhaW4g YmRydl9ncmFwaF93cmxvY2soKQorc2l0ZSBpcyBleHBvc2VkIG9uIHRoZSBzYW1lIGJhc2lzLgor CitEcm9wIHRoZSBoYXNfd3JpdGVyIGNoZWNrIGluIGJkcnZfZ3JhcGhfY29fcmR1bmxvY2soKSBh bmQgY2FsbAorYWlvX3dhaXRfa2ljaygpIHVuY29uZGl0aW9uYWxseS4gIFRoZSBoZWxwZXIgaXRz ZWxmIGxvYWRzIG51bV93YWl0ZXJzCithdG9taWNhbGx5IGFuZCBvbmx5IHNjaGVkdWxlcyBhIGR1 bW15IEJIIHdoZW4gYSB3YWl0ZXIgZXhpc3RzLCBzbyB0aGUKK2NoYW5nZSBpcyBhIG5vLW9wIG9u IHRoZSBuby13cml0ZXIgcGF0aCBhbmQgY2xvc2VzIHRoZSBtaXNzZWQtd2FrZXVwCitvbiB0aGUg d3JpdGVyIHBhdGguCisKK1NpZ25lZC1vZmYtYnk6IERlbmlzIFYuIEx1bmV2IDxkZW5Ab3BlbnZ6 Lm9yZz4KK0NjOiBLZXZpbiBXb2xmIDxrd29sZkByZWRoYXQuY29tPgorQ2M6IEhhbm5hIFJlaXR6 IDxocmVpdHpAcmVkaGF0LmNvbT4KK0NjOiBTdGVmYW4gSGFqbm9jemkgPHN0ZWZhbmhhQHJlZGhh dC5jb20+CitDYzogRmlvbmEgRWJuZXIgPGYuZWJuZXJAcHJveG1veC5jb20+CitNZXNzYWdlLUlE OiA8MjAyNjA0MjQxMDM5MTcuMjQ4NjY4LTItZGVuQG9wZW52ei5vcmc+CitSZXZpZXdlZC1ieTog S2V2aW4gV29sZiA8a3dvbGZAcmVkaGF0LmNvbT4KK1NpZ25lZC1vZmYtYnk6IEtldmluIFdvbGYg PGt3b2xmQHJlZGhhdC5jb20+CisoY2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCBlMzA4MmFiM2Iz ODUzOGViZGJjNWNkNjJiNGM0NzZiNjczYzVlNTE1KQorU2lnbmVkLW9mZi1ieTogTWljaGFlbCBU b2thcmV2IDxtanRAdGxzLm1zay5ydT4KK1NpZ25lZC1vZmYtYnk6IEtldmluIFdvbGYgPGt3b2xm QHJlZGhhdC5jb20+CistLS0KKyBibG9jay9ncmFwaC1sb2NrLmMgfCAxMiArKysrKy0tLS0tLS0K KyAxIGZpbGUgY2hhbmdlZCwgNSBpbnNlcnRpb25zKCspLCA3IGRlbGV0aW9ucygtKQorCitkaWZm IC0tZ2l0IGEvYmxvY2svZ3JhcGgtbG9jay5jIGIvYmxvY2svZ3JhcGgtbG9jay5jCitpbmRleCBi NzMxOTQ3M2ExLi5mMjUwMWQ3NWZiIDEwMDY0NAorLS0tIGEvYmxvY2svZ3JhcGgtbG9jay5jCisr KysgYi9ibG9jay9ncmFwaC1sb2NrLmMKK0BAIC0yNzgsMTQgKzI3OCwxMiBAQCB2b2lkIGNvcm91 dGluZV9mbiBiZHJ2X2dyYXBoX2NvX3JkdW5sb2NrKHZvaWQpCisgICAgIHNtcF9tYigpOworIAor ICAgICAvKgorLSAgICAgKiBoYXNfd3JpdGVyID09IDA6IHRoaXMgbWVhbnMgcmVhZGVyIHdpbGwg cmVhZCByZWFkZXJfY291bnQgZGVjcmVhc2VkCistICAgICAqIGhhc193cml0ZXIgPT0gMTogd2Ug ZG9uJ3Qga25vdyBpZiB3cml0ZXIgcmVhZCByZWFkZXJfY291bnQgb2xkIG9yCistICAgICAqICAg ICAgICAgICAgICAgICAgbmV3LiBUaGVyZWZvcmUsIGtpY2sgYWdhaW4gc28gb24gbmV4dCBpdGVy YXRpb24KKy0gICAgICogICAgICAgICAgICAgICAgICB3cml0ZXIgd2lsbCBmb3Igc3VyZSByZWFk IHRoZSB1cGRhdGVkIHZhbHVlLgorKyAgICAgKiBBbHdheXMga2ljazogYmRydl9ncmFwaF93cmxv Y2soKSB6ZXJvZXMgaGFzX3dyaXRlciB3aGlsZSBwb2xsaW5nICh0bworKyAgICAgKiBsZXQgY2Fs bGJhY2tzIHRha2UgdGhlIHJlYWRlciBsb2NrIHZpYSB0aGUgZmFzdCBwYXRoKSwgc28gd2UgY2Fu bm90CisrICAgICAqIHJlbHkgb24gaGFzX3dyaXRlciB0byBkZXRlY3QgYSB3YWl0aW5nIHdyaXRl ci4gYWlvX3dhaXRfa2ljaygpIGlzIGEKKysgICAgICogbm8tb3Agd2hlbiBubyBvbmUgaXMgd2Fp dGluZywgc28gaXQgaXMgY2hlYXAgaW4gdGhlIGNvbW1vbiBjYXNlLgorICAgICAgKi8KKy0gICAg aWYgKHFhdG9taWNfcmVhZCgmaGFzX3dyaXRlcikpIHsKKy0gICAgICAgIGFpb193YWl0X2tpY2so KTsKKy0gICAgfQorKyAgICBhaW9fd2FpdF9raWNrKCk7CisgfQorIAorIHZvaWQgYmRydl9ncmFw aF9yZGxvY2tfbWFpbl9sb29wKHZvaWQpCistLSAKKzIuNTIuMAorCgpkaWZmIC0tZ2l0IGEva3Zt LWJsb2NrLWlvLWZhbGxiYWNrLXRvLWJvdW5jZS1idWZmZXItaWYtQkxLWkVST09VVC1pcy0ucGF0 Y2ggYi9rdm0tYmxvY2staW8tZmFsbGJhY2stdG8tYm91bmNlLWJ1ZmZlci1pZi1CTEtaRVJPT1VU LWlzLS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hNzhiODUzCi0t LSAvZGV2L251bGwKKysrIGIva3ZtLWJsb2NrLWlvLWZhbGxiYWNrLXRvLWJvdW5jZS1idWZmZXIt aWYtQkxLWkVST09VVC1pcy0ucGF0Y2gKQEAgLTAsMCArMSw2NiBAQAorRnJvbSBkZmU3ODU3Y2Ez NjEyYjdjNTJiMDUyNzM1YzhkMWE5NmVjZjExMDJkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQor RnJvbTogRmlvbmEgRWJuZXIgPGYuZWJuZXJAcHJveG1veC5jb20+CitEYXRlOiBTYXQsIDEzIEp1 biAyMDI2IDIzOjAzOjM0ICswMzAwCitTdWJqZWN0OiBbUEFUQ0ggMzMvNTJdIGJsb2NrL2lvOiBm YWxsYmFjayB0byBib3VuY2UgYnVmZmVyIGlmIEJMS1pFUk9PVVQgaXMKKyBub3Qgc3VwcG9ydGVk IGJlY2F1c2Ugb2YgYWxpZ25tZW50CisKK1JILUF1dGhvcjogS2V2aW4gV29sZiA8a3dvbGZAcmVk aGF0LmNvbT4KK1JILU1lcmdlUmVxdWVzdDogNTA0OiB2aXJ0LXN0b3JhZ2U6IEJhY2twb3J0IHN0 YWJsZSBicmFuY2ggZml4ZXMKK1JILUppcmE6IFJIRUwtMTg2Mzg0CitSSC1BY2tlZC1ieTogU3Rl ZmFuIEhham5vY3ppIDxzdGVmYW5oYUByZWRoYXQuY29tPgorUkgtQWNrZWQtYnk6IE1pcm9zbGF2 IFJlemFuaW5hIDxtcmV6YW5pbkByZWRoYXQuY29tPgorUkgtQ29tbWl0OiBbMjYvNDVdIDdhODM1 MWMwMDNjMTM4M2MyM2U5NGYwNjYxNzkxMWI2OTFjYjdlYzUgKGttd29sZi9jZW50b3MtcWVtdS1r dm0pCisKK0NvbW1pdCA1NjM0NjIyYmNiICgiZmlsZS1wb3NpeDogYWxsb3cgQkxLWkVST09VVCB3 aXRoIC10IHdyaXRlYmFjayIpCitlbmFibGVzIHRoZSBCTEtaRVJPT1VUIGlvY3RsIHdoZW4gdXNp bmcgJ3dyaXRlYmFjaycgY2FjaGUsIHJlZ3Jlc3NpbmcKK2NlcnRhaW4gJ3FlbXUtaW1nIGNvbnZl cnQnIGludm9jYXRpb25zLCBiZWNhdXNlIG9mIGEgcHJlLWV4aXN0aW5nCitpc3N1ZS4gTmFtZWx5 LCB0aGUgQkxLWkVST09VVCBpb2N0bCBtaWdodCBmYWlsIHdpdGggZXJybm8gRUlOVkFMIHdoZW4K K3RoZSByZXF1ZXN0IGlzIHNob3J0ZXIgdGhhbiB0aGUgYmxvY2sgc2l6ZSBvZiB0aGUgYmxvY2sg ZGV2aWNlLgorRmFsbGJhY2sgdG8gdGhlIGJvdW5jZSBidWZmZXIsIHNpbWlsYXIgdG8gd2hlbiB0 aGUgaW9jdGwgaXMgbm90CitzdXBwb3J0ZWQgYXQgYWxsLCByYXRoZXIgdGhhbiB0cmVhdGluZyBz dWNoIGFuIGVycm9yIGFzIGZhdGFsLgorCitSZXNvbHZlczogaHR0cHM6Ly9naXRsYWIuY29tL3Fl bXUtcHJvamVjdC9xZW11Ly0vaXNzdWVzLzMyNTcKK1Jlc29sdmVzOiBodHRwczovL2J1Z3ppbGxh LnByb3htb3guY29tL3Nob3dfYnVnLmNnaT9pZD03MTk3CitDYzogcWVtdS1zdGFibGVAbm9uZ251 Lm9yZworU2lnbmVkLW9mZi1ieTogRmlvbmEgRWJuZXIgPGYuZWJuZXJAcHJveG1veC5jb20+CitN ZXNzYWdlLUlEOiA8MjAyNjAxMDUxNDM0MTYuNzM3NDgyLTEtZi5lYm5lckBwcm94bW94LmNvbT4K K1tBZGRlZCBUT0RPIGNvbW1lbnQgZGVzY3JpYmluZyBhIGxhcmdlciBmaXggdGhhdCBjb3VsZCBi ZSBpbXBsZW1lbnRlZCBpbgordGhlIGZ1dHVyZS4KKy0tU3RlZmFuXQorU2lnbmVkLW9mZi1ieTog U3RlZmFuIEhham5vY3ppIDxzdGVmYW5oYUByZWRoYXQuY29tPgorKGNoZXJyeSBwaWNrZWQgZnJv bSBjb21taXQgYjRlMjhjMzA0YmM1ODMyNWY4ZjcxMmNiMjVlNWQ3MDA4MjZjYWEyNSkKK1NpZ25l ZC1vZmYtYnk6IE1pY2hhZWwgVG9rYXJldiA8bWp0QHRscy5tc2sucnU+CisKK01lc3NhZ2UtSUQ6 IDwyMDI2MDYxMzIwMDQxMS4xODA4MDIxLTUxLW1qdEB0bHMubXNrLnJ1PgorU2lnbmVkLW9mZi1i eTogS2V2aW4gV29sZiA8a3dvbGZAcmVkaGF0LmNvbT4KKy0tLQorIGJsb2NrL2lvLmMgfCAxMyAr KysrKysrKysrKystCisgMSBmaWxlIGNoYW5nZWQsIDEyIGluc2VydGlvbnMoKyksIDEgZGVsZXRp b24oLSkKKworZGlmZiAtLWdpdCBhL2Jsb2NrL2lvLmMgYi9ibG9jay9pby5jCitpbmRleCAzN2Rm MWUwMjUzLi44NGRlNWFiNDIwIDEwMDY0NAorLS0tIGEvYmxvY2svaW8uYworKysrIGIvYmxvY2sv aW8uYworQEAgLTE5MjAsNyArMTkyMCwxOCBAQCBiZHJ2X2NvX2RvX3B3cml0ZV96ZXJvZXMoQmxv Y2tEcml2ZXJTdGF0ZSAqYnMsIGludDY0X3Qgb2Zmc2V0LCBpbnQ2NF90IGJ5dGVzLAorICAgICAg ICAgICAgIGFzc2VydCghYnMtPnN1cHBvcnRlZF96ZXJvX2ZsYWdzKTsKKyAgICAgICAgIH0KKyAK Ky0gICAgICAgIGlmIChyZXQgPT0gLUVOT1RTVVAgJiYgIShmbGFncyAmIEJEUlZfUkVRX05PX0ZB TExCQUNLKSkgeworKyAgICAgICAgLyoKKysgICAgICAgICAqIFRPRE8gVGhlIHJldCA9PSAtRUlO VkFMICYmIG51bSA8IGFsaWdubWVudCBjYXNlIGlzIGEgd29ya2Fyb3VuZCBmb3IKKysgICAgICAg ICAqIHdoZW4gcmVxdWVzdF9hbGlnbm1lbnQgaXMgMSBvbiBmaWxlcyB3aXRoIGNhY2hlPXdyaXRl YmFjay4gVGhlIExpbnV4CisrICAgICAgICAgKiBpb2N0bChCTEtaRVJPT1VUKSByZXF1aXJlcyBi bG9jayBhbGlnbm1lbnQgYW5kIHdpbGwgZmFpbCB3aXRoCisrICAgICAgICAgKiBFSU5WQUwuIFRo ZSBibG9jayBsYXllciBzaG91bGQgYWxpZ24gdGhlIHJlcXVlc3QgdG8KKysgICAgICAgICAqIHdy aXRlX3plcm9lc19hbGlnbm1lbnQgaW5zdGVhZCBvZiB0cnlpbmcgdGhlIHN5c2NhbGwsIGZhaWxp bmcsIGFuZAorKyAgICAgICAgICogZmFsbGluZyBiYWNrIHRvIGEgYm91bmNlIGJ1ZmZlci4gRG9p bmcgdGhhdCBpcyBub3QgZWFzeSBzbyBmb3Igbm93CisrICAgICAgICAgKiB3ZSB1c2UgYSBib3Vu Y2UgYnVmZmVyOgorKyAgICAgICAgICogaHR0cHM6Ly9sb3JlLmtlcm5lbC5vcmcvcWVtdS1kZXZl bC8yMDI2MDEwOTEyMDgzNy4yNzcyOTYxLTEtZi5lYm5lckBwcm94bW94LmNvbS8KKysgICAgICAg ICAqLworKyAgICAgICAgaWYgKChyZXQgPT0gLUVOT1RTVVAgfHwgKHJldCA9PSAtRUlOVkFMICYm IG51bSA8IGFsaWdubWVudCkpICYmCisrICAgICAgICAgICAgIShmbGFncyAmIEJEUlZfUkVRX05P X0ZBTExCQUNLKSkgeworICAgICAgICAgICAgIC8qIEZhbGwgYmFjayB0byBib3VuY2UgYnVmZmVy IGlmIHdyaXRlIHplcm9lcyBpcyB1bnN1cHBvcnRlZCAqLworICAgICAgICAgICAgIEJkcnZSZXF1 ZXN0RmxhZ3Mgd3JpdGVfZmxhZ3MgPSBmbGFncyAmIH5CRFJWX1JFUV9aRVJPX1dSSVRFOworIAor LS0gCisyLjUyLjAKKwoKZGlmZiAtLWdpdCBhL2t2bS1ibG9jay1saW51eC1haW8tYm91bmQtaW9x X3N1Ym1pdC1yZWN1cnNpb24tZGVwdGgucGF0Y2ggYi9rdm0tYmxvY2stbGludXgtYWlvLWJvdW5k LWlvcV9zdWJtaXQtcmVjdXJzaW9uLWRlcHRoLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu ZGV4IDAwMDAwMDAuLjgwNTE1MDMKLS0tIC9kZXYvbnVsbAorKysgYi9rdm0tYmxvY2stbGludXgt YWlvLWJvdW5kLWlvcV9zdWJtaXQtcmVjdXJzaW9uLWRlcHRoLnBhdGNoCkBAIC0wLDAgKzEsMTQw IEBACitGcm9tIDlhNmM0YmFkN2Y1NzU4MjY3OTZhNGM2OTBhMGZhNmJiY2RhMWY1YWQgTW9uIFNl cCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiAiRGVuaXMgVi4gTHVuZXYiIDxkZW5Ab3BlbnZ6Lm9y Zz4KK0RhdGU6IFNhdCwgMTMgSnVuIDIwMjYgMjM6MDM6MDggKzAzMDAKK1N1YmplY3Q6IFtQQVRD SCAzMi81Ml0gYmxvY2svbGludXgtYWlvOiBib3VuZCBpb3Ffc3VibWl0KCkgcmVjdXJzaW9uIGRl cHRoCisKK1JILUF1dGhvcjogS2V2aW4gV29sZiA8a3dvbGZAcmVkaGF0LmNvbT4KK1JILU1lcmdl UmVxdWVzdDogNTA0OiB2aXJ0LXN0b3JhZ2U6IEJhY2twb3J0IHN0YWJsZSBicmFuY2ggZml4ZXMK K1JILUppcmE6IFJIRUwtMTg2Mzg0CitSSC1BY2tlZC1ieTogU3RlZmFuIEhham5vY3ppIDxzdGVm YW5oYUByZWRoYXQuY29tPgorUkgtQWNrZWQtYnk6IE1pcm9zbGF2IFJlemFuaW5hIDxtcmV6YW5p bkByZWRoYXQuY29tPgorUkgtQ29tbWl0OiBbMjUvNDVdIDA0NTQ1YzcxNGRhY2IyNTcxZjE2OWIz ZGEzYzdjZjQ5M2RlYTMxYmQgKGttd29sZi9jZW50b3MtcWVtdS1rdm0pCisKK3FlbXVfbGFpb19w cm9jZXNzX2NvbXBsZXRpb25zKCkgd3JhcHMgaXRzIGJvZHkgaW4gZGVmZXJfY2FsbF9iZWdpbiAv CitkZWZlcl9jYWxsX2VuZC4gSW5zaWRlIHRoZSBzZWN0aW9uLCBjb21wbGV0aW9uIGNhbGxiYWNr cyB3YWtlIGNvcm91dGluZXMKK3RoYXQgcXVldWUgbmV3IGFpb2NiczsgbGFpb19kb19zdWJtaXQo KSBkZWZlcnMgbGFpb19kZWZlcnJlZF9mbi4gQXQgdGhlCitib3R0b20gb2YgcWVtdV9sYWlvX3By b2Nlc3NfY29tcGxldGlvbnMoKSB0aGUgZGVmZXJfY2FsbF9lbmQoKSBmaXJlcworbGFpb19kZWZl cnJlZF9mbiwgd2hpY2ggY2FsbHMgaW9xX3N1Ym1pdCgpLCBjbG9zaW5nIHRoZSBjeWNsZToKKwor ICBpb3Ffc3VibWl0CisgICAgLT4gaW9fc3VibWl0KDIpICAgICAgICAgICAgICAgICAgICAgICAg ICAgLy8gc29tZSBzeW5jIGNvbXBsZXRpb25zCisgICAgLT4gcWVtdV9sYWlvX3Byb2Nlc3NfY29t cGxldGlvbnMgICAgICAgICAgLy8gZGVmZXJfY2FsbF9iZWdpbgorICAgICAgICAgLT4gYWlvX2Nv X3dha2UgICAgICAgICAgICAgICAgICAgICAgIC8vIHJlc3VtZXMgY29yb3V0aW5lCisgICAgICAg ICAgICAgIC0+IGxhaW9fZG9fc3VibWl0CisgICAgICAgICAgICAgICAgICAgLT4gZGVmZXJfY2Fs bChsYWlvX2RlZmVycmVkX2ZuLCBzKSAgIC8vIGVucXVldWVkCisgICAgICAgICAtPiBkZWZlcl9j YWxsX2VuZCAgICAgICAgICAgICAgICAgICAgLy8gbmVzdGluZyBkcm9wcyB0byAwCisgICAgICAg ICAgICAgIC0+IGxhaW9fZGVmZXJyZWRfZm4KKyAgICAgICAgICAgICAgICAgICAtPiBpb3Ffc3Vi bWl0ICAgICAgICAgICAgICAvLyArMSBzdGFjayBmcmFtZSwgbG9vcAorCitXaGVuIGlvX3N1Ym1p dCgyKSByZXR1cm5zIGFzeW5jaHJvbm91c2x5IChPX0RJUkVDVCkgdGhlIGN5Y2xlCit0ZXJtaW5h dGVzIGluIG9uZSBleHRyYSBmcmFtZTogdGhlIGZyZXNoIGFpb2NiIGlzIHN0aWxsIGluIGZsaWdo dCwgbm8KK2NvbXBsZXRpb24gaXMgZHJhaW5lZCwgbm8gY29yb3V0aW5lIHdha2VzLCBubyBuZXcg c3VibWlzc2lvbiBxdWV1ZXMuCitXaGVuIHN1Ym1pc3Npb25zIGNvbXBsZXRlIHN5bmNocm9ub3Vz bHkgKG5vbi1PX0RJUkVDVCwgb3IgcGVyLWRlc2NyaXB0b3IKK2RyaXZlcnMgc3VjaCBhcyB2bWRr KSBlYWNoIGxldmVsIGVucXVldWVzIG1vcmUgd29yayBmb3IgdGhlIG5leHQKK2RlZmVyX2NhbGxf ZW5kKCkgdG8gZHJhaW4sIHNvIHJlY3Vyc2lvbiBncm93cyB3aXRob3V0IGJvdW5kIGFuZCBRRU1V CitjcmFzaGVzIHdpdGggU0lHU0VHViBvbiB0aGUgdGhyZWFkIGd1YXJkIHBhZ2UuCisKK1RoZSBj eWNsZSB3YXMgY2xvc2VkIGJ5IHR3byBwZXJmb3JtYW5jZSBjb21taXRzLCBlYWNoIGNvcnJlY3Qg aW4KK2lzb2xhdGlvbjoKKworICAwNzY2ODI4ODVkICgiYmxvY2svbGludXgtYWlvOiBjb252ZXJ0 IHRvIGJsa19pb19wbHVnX2NhbGwoKSBBUEkiKQorICAgIC0tIGludHJvZHVjZWQgbGFpb19kZWZl cnJlZF9mbiBhbmQgd2lyZWQKKyAgICAgICBsYWlvX2RvX3N1Ym1pdCAtPiBkZWZlcl9jYWxsKGxh aW9fZGVmZXJyZWRfZm4sIHMpLgorCisgIDg0ZDYxZTVmMzYgKCJ2aXJ0aW86IHVzZSBkZWZlcl9j YWxsKCkgaW4gdmlydGlvX2lycWZkX25vdGlmeSgpIikKKyAgICAtLSBhZGRlZCBkZWZlcl9jYWxs X2JlZ2luL2VuZCBhcm91bmQgcWVtdV9sYWlvX3Byb2Nlc3NfY29tcGxldGlvbnMKKyAgICAgICBz byB2aXJ0aW8taXJxZmQgbm90aWZpY2F0aW9ucyBiYXRjaCBhY3Jvc3MgYSBjb21wbGV0aW9uIHBh c3MuCisKK1RoZSBzdXBwb3J0ZWQgYWlvPW5hdGl2ZSArIGNhY2hlPW5vbmUgcGFpcmluZyBrZWVw cyBzdWJtaXNzaW9ucworYXN5bmNocm9ub3VzLCBzbyB0aGUgY3ljbGUgc3RheXMgYm91bmRlZDsg bm90aGluZyBpbiB0aGUgY29kZSBlbmZvcmNlcwordGhhdCBjb250cmFjdC4gT2JzZXJ2ZWQgaW4g cHJvZHVjdGlvbiBhcyBhIFNJR1NFR1YgZHVyaW5nIGEgYmFja3VwIGpvYgorY29uZmlndXJlZCB3 aXRoIC0tY2FjaGVkICsgYWlvPW5hdGl2ZTsgcmVwcm9kdWNpYmxlIG9uIHVwc3RyZWFtIHdpdGgK K3FlbXUtaW8gYWdhaW5zdCB2bWRrLgorCitDYXAgaW9xX3N1Ym1pdCgpIHJlY3Vyc2lvbiB3aXRo IGEgY291bnRlciBvbiBMYWlvUXVldWUsIHdoaWNoIGlzIG9ubHkKK2FjY2Vzc2VkIGZyb20gdGhl IEFpb0NvbnRleHQgaG9tZSB0aHJlYWQuIE9uIG92ZXJmbG93LCByZXR1cm4gd2l0aG91dAorc3Vi bWl0dGluZy4gVGhlIHBlbmRpbmcgd29yayBpcyBkcmFpbmVkIGJ5IHMtPmNvbXBsZXRpb25fYmgs IHdoaWNoCitxZW11X2xhaW9fcHJvY2Vzc19jb21wbGV0aW9ucygpIGhhcyBhbHJlYWR5IHNjaGVk dWxlZCBvbiBlbnRyeSAtLSBubword29yayBpcyBsb3N0OyBvbmUgZXZlbnQtbG9vcCByb3VuZC10 cmlwIG9mIGxhdGVuY3kgaXMgcGFpZCBvbmx5IHdoZW4KK3RoZSBib3VuZCBpcyBoaXQsIHdoaWNo IGNhbm5vdCBoYXBwZW4gb24gYSBzdXBwb3J0ZWQgY29uZmlndXJhdGlvbi4KKworU2lnbmVkLW9m Zi1ieTogRGVuaXMgVi4gTHVuZXYgPGRlbkBvcGVudnoub3JnPgorQ0M6IEtldmluIFdvbGYgPGt3 b2xmQHJlZGhhdC5jb20+CitDQzogSGFubmEgUmVpdHogPGhyZWl0ekByZWRoYXQuY29tPgorQ0M6 IFN0ZWZhbiBIYWpub2N6aSA8c3RlZmFuaGFAcmVkaGF0LmNvbT4KK0NDOiBQYW9sbyBCb256aW5p IDxwYm9uemluaUByZWRoYXQuY29tPgorTWVzc2FnZS1JRDogPDIwMjYwNTIwMTQyNTAzLjI1MTk1 OS0yLWRlbkBvcGVudnoub3JnPgorU2lnbmVkLW9mZi1ieTogU3RlZmFuIEhham5vY3ppIDxzdGVm YW5oYUByZWRoYXQuY29tPgorKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgNjg2NGJlYzU1M2Iy ZTM3Njk5NzM5NjE1ZTYwNGZjM2M3YmFlMGUxZCkKK1NpZ25lZC1vZmYtYnk6IE1pY2hhZWwgVG9r YXJldiA8bWp0QHRscy5tc2sucnU+CisKK01lc3NhZ2UtSUQ6IDwyMDI2MDYxMzIwMDQxMS4xODA4 MDIxLTI1LW1qdEB0bHMubXNrLnJ1PgorU2lnbmVkLW9mZi1ieTogS2V2aW4gV29sZiA8a3dvbGZA cmVkaGF0LmNvbT4KKy0tLQorIGJsb2NrL2xpbnV4LWFpby5jIHwgMjIgKysrKysrKysrKysrKysr KysrKysrKworIDEgZmlsZSBjaGFuZ2VkLCAyMiBpbnNlcnRpb25zKCspCisKK2RpZmYgLS1naXQg YS9ibG9jay9saW51eC1haW8uYyBiL2Jsb2NrL2xpbnV4LWFpby5jCitpbmRleCA4NDM5N2RlNTRj Li4zN2RlOWI1NjRiIDEwMDY0NAorLS0tIGEvYmxvY2svbGludXgtYWlvLmMKKysrKyBiL2Jsb2Nr L2xpbnV4LWFpby5jCitAQCAtMzYsNiArMzYsMTkgQEAKKyAvKiBNYXhpbXVtIG51bWJlciBvZiBy ZXF1ZXN0cyBpbiBhIGJhdGNoLiAoZGVmYXVsdCB2YWx1ZSkgKi8KKyAjZGVmaW5lIERFRkFVTFRf TUFYX0JBVENIIDMyCisgCisrLyoKKysgKiBCb3VuZCBvbiBob3cgZGVlcCBpb3Ffc3VibWl0KCkg bWF5IHJlY3Vyc2Ugb24gYSBzaW5nbGUgTGFpb1F1ZXVlIHZpYSB0aGUKKysgKiBpb3Ffc3VibWl0 IC0+IHFlbXVfbGFpb19wcm9jZXNzX2NvbXBsZXRpb25zIC0+IGRlZmVyX2NhbGxfZW5kIC0+Cisr ICogbGFpb19kZWZlcnJlZF9mbiAtPiBpb3Ffc3VibWl0IGN5Y2xlLiBUaGUgY3ljbGUgdGVybWlu YXRlcyBuYXR1cmFsbHkKKysgKiB3aGVuIGlvX3N1Ym1pdCgyKSByZXR1cm5zIGFzeW5jaHJvbm91 c2x5IChPX0RJUkVDVCksIGJ1dCBjYW4gZ3JvdworKyAqIHdpdGhvdXQgYm91bmQgd2hlbiBzdWJt aXNzaW9ucyBjb21wbGV0ZSBzeW5jaHJvbm91c2x5LiBPbiBvdmVyZmxvdworKyAqIHRoZSBjYWxs ZXIgcmV0dXJucyB3aXRob3V0IHN1Ym1pdHRpbmc7IHRoZSBvdXRlcm1vc3QKKysgKiBxZW11X2xh aW9fcHJvY2Vzc19jb21wbGV0aW9ucygpIGhhcyBhbHJlYWR5IHNjaGVkdWxlZCBzLT5jb21wbGV0 aW9uX2JoCisrICogKHZpYSBxZW11X2JoX3NjaGVkdWxlKCkgYXQgdGhlIHRvcCBvZiB0aGF0IGZ1 bmN0aW9uKSwgd2hpY2ggcmVzdW1lcworKyAqIHN1Ym1pc3Npb24gZnJvbSB0aGUgbmV4dCBldmVu dC1sb29wIGRpc3BhdGNoLgorKyAqLworKyNkZWZpbmUgSU9RX1NVQk1JVF9NQVhfREVQVEggOAor KworIHN0cnVjdCBxZW11X2xhaW9jYiB7CisgICAgIENvcm91dGluZSAqY287CisgICAgIExpbnV4 QWlvU3RhdGUgKmN0eDsKK0BAIC02MSw2ICs3NCw3IEBAIHR5cGVkZWYgc3RydWN0IHsKKyAgICAg dW5zaWduZWQgaW50IGluX3F1ZXVlOworICAgICB1bnNpZ25lZCBpbnQgaW5fZmxpZ2h0OworICAg ICBib29sIGJsb2NrZWQ7CisrICAgIHVuc2lnbmVkIGludCBzdWJtaXRfZGVwdGg7CisgICAgIFFT SU1QTEVRX0hFQUQoLCBxZW11X2xhaW9jYikgcGVuZGluZzsKKyB9IExhaW9RdWV1ZTsKKyAKK0BA IC0zMzEsNiArMzQ1LDcgQEAgc3RhdGljIHZvaWQgaW9xX2luaXQoTGFpb1F1ZXVlICppb19xKQor ICAgICBpb19xLT5pbl9xdWV1ZSA9IDA7CisgICAgIGlvX3EtPmluX2ZsaWdodCA9IDA7CisgICAg IGlvX3EtPmJsb2NrZWQgPSBmYWxzZTsKKysgICAgaW9fcS0+c3VibWl0X2RlcHRoID0gMDsKKyB9 CisgCisgc3RhdGljIHZvaWQgaW9xX3N1Ym1pdChMaW51eEFpb1N0YXRlICpzKQorQEAgLTM0MCw2 ICszNTUsMTEgQEAgc3RhdGljIHZvaWQgaW9xX3N1Ym1pdChMaW51eEFpb1N0YXRlICpzKQorICAg ICBRRU1VX1VOSU5JVElBTElaRUQgc3RydWN0IGlvY2IgKmlvY2JzW01BWF9FVkVOVFNdOworICAg ICBRU0lNUExFUV9IRUFEKCwgcWVtdV9sYWlvY2IpIGNvbXBsZXRlZDsKKyAKKysgICAgaWYgKHMt PmlvX3Euc3VibWl0X2RlcHRoID49IElPUV9TVUJNSVRfTUFYX0RFUFRIKSB7CisrICAgICAgICBy ZXR1cm47CisrICAgIH0KKysgICAgcy0+aW9fcS5zdWJtaXRfZGVwdGgrKzsKKysKKyAgICAgZG8g eworICAgICAgICAgaWYgKHMtPmlvX3EuaW5fZmxpZ2h0ID49IE1BWF9FVkVOVFMpIHsKKyAgICAg ICAgICAgICBicmVhazsKK0BAIC0zODUsNiArNDA1LDggQEAgc3RhdGljIHZvaWQgaW9xX3N1Ym1p dChMaW51eEFpb1N0YXRlICpzKQorICAgICAgICAgICogcGVuZGVkIHJlcXVlc3RzIHdpbGwgYmUg c3VibWl0dGVkIGZyb20gdGhlcmUuCisgICAgICAgICAgKi8KKyAgICAgfQorKworKyAgICBzLT5p b19xLnN1Ym1pdF9kZXB0aC0tOworIH0KKyAKKyBzdGF0aWMgdWludDY0X3QgbGFpb19tYXhfYmF0 Y2goTGludXhBaW9TdGF0ZSAqcywgdWludDY0X3QgZGV2X21heF9iYXRjaCkKKy0tIAorMi41Mi4w CisKCmRpZmYgLS1naXQgYS9rdm0tYmxvY2stbWlycm9yLWNoZWNrLXJhbmdlLXdoZW4tc2V0dGlu Zy16ZXJvLWJpdG1hcC1mby5wYXRjaCBiL2t2bS1ibG9jay1taXJyb3ItY2hlY2stcmFuZ2Utd2hl bi1zZXR0aW5nLXplcm8tYml0bWFwLWZvLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4 IDAwMDAwMDAuLjY2NjNkMWIKLS0tIC9kZXYvbnVsbAorKysgYi9rdm0tYmxvY2stbWlycm9yLWNo ZWNrLXJhbmdlLXdoZW4tc2V0dGluZy16ZXJvLWJpdG1hcC1mby5wYXRjaApAQCAtMCwwICsxLDc0 IEBACitGcm9tIDg2YjJjYWVjMmY4MzBkMzRhMDNmNGY1NTAyOGE1MjViY2YxMWQ1MTUgTW9uIFNl cCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBGaW9uYSBFYm5lciA8Zi5lYm5lckBwcm94bW94LmNv bT4KK0RhdGU6IE1vbiwgMTIgSmFuIDIwMjYgMTY6MjM6NTEgKzAxMDAKK1N1YmplY3Q6IFtQQVRD SCA0NC81Ml0gYmxvY2svbWlycm9yOiBjaGVjayByYW5nZSB3aGVuIHNldHRpbmcgemVybyBiaXRt YXAgZm9yCisgc3luYyB3cml0ZQorCitSSC1BdXRob3I6IEtldmluIFdvbGYgPGt3b2xmQHJlZGhh dC5jb20+CitSSC1NZXJnZVJlcXVlc3Q6IDUwNDogdmlydC1zdG9yYWdlOiBCYWNrcG9ydCBzdGFi bGUgYnJhbmNoIGZpeGVzCitSSC1KaXJhOiBSSEVMLTE4NjM4NAorUkgtQWNrZWQtYnk6IFN0ZWZh biBIYWpub2N6aSA8c3RlZmFuaGFAcmVkaGF0LmNvbT4KK1JILUFja2VkLWJ5OiBNaXJvc2xhdiBS ZXphbmluYSA8bXJlemFuaW5AcmVkaGF0LmNvbT4KK1JILUNvbW1pdDogWzM3LzQ1XSA4NThlNDJi NWUzMjc1NjBjMjhlMTBhMTUxZDRlNDZhOWNmMjczMzYzIChrbXdvbGYvY2VudG9zLXFlbXUta3Zt KQorCitTb21lIFByb3htb3ggdXNlcnMgcmVwb3J0ZWQgYW4gb2NjYXNpb25hbCBhc3NlcnRpb24g ZmFpbHVyZSBbMF1bMV0gaW4KK2J1c3kgVk1zIHdoZW4gdXNpbmcgZHJpdmUgbWlycm9yIHdpdGgg YWN0aXZlIG1vZGUuIEluIHBhcnRpY3VsYXIsIHRoZQorZmFpbHVyZSBtYXkgb2NjdXIgZm9yIHpl cm8gd3JpdGVzIHNob3J0ZXIgdGhhbiB0aGUgam9iIGdyYW51bGFyaXR5OgorCis+ICMwICAweDAw MDA3YjQyMTE1NGI1MDcgaW4gYWJvcnQgKCkKKz4gIzEgIDB4MDAwMDdiNDIxMTU0YjQyMCBpbiA/ PyAoKQorPiAjMiAgMHgwMDAwNjQxYzU4MmUwNjFmIGluIGJpdG1hcF9zZXQgKG1hcD0weDdiNDIw NDAxNGUwMCwgc3RhcnQ9MTQsIG5yPS0xKQorPiAjMyAgMHgwMDAwNjQxYzU4MDYyODI0IGluIGRv X3N5bmNfdGFyZ2V0X3dyaXRlIChqb2I9MHg2NDFjN2U3M2QxZTAsCis+ICAgICAgIG1ldGhvZD1N SVJST1JfTUVUSE9EX1pFUk8sIG9mZnNldD04NTI0ODAsIGJ5dGVzPTQwOTYsIHFpb3Y9MHgwLCBm bGFncz0wKQorPiAjNCAgMHgwMDAwNjQxYzU4MDYyMjUwIGluIGJkcnZfbWlycm9yX3RvcF9kb193 cml0ZSAoYnM9MHg2NDFjN2U2MmUxZjAsCisgICAgICAgIG1ldGhvZD1NSVJST1JfTUVUSE9EX1pF Uk8sIGNvcHlfdG9fdGFyZ2V0PXRydWUsIG9mZnNldD04NTI0ODAsCisgICAgICAgIGJ5dGVzPTQw OTYsIHFpb3Y9MHgwLCBmbGFncz0wKQorPiAjNSAgMHgwMDAwNjQxYzU4MDYxZjMxIGluIGJkcnZf bWlycm9yX3RvcF9wd3JpdGVfemVyb2VzIChicz0weDY0MWM3ZTYyZTFmMCwKKyAgICAgICAgb2Zm c2V0PTg1MjQ4MCwgYnl0ZXM9NDA5NiwgZmxhZ3M9MCkKKworVGhlIHJhbmdlIGZvciB0aGUgZGly dHkgYml0bWFwIGRlc2NyaWJlZCBieSBkaXJ0eV9iaXRtYXBfb2Zmc2V0IGFuZAorZGlydHlfYml0 bWFwX2VuZCBpcyBuYXJyb3dlciB0aGFuIHRoZSBvcmlnaW5hbCByYW5nZSBhbmQgaW4gZmFjdCwK K2RpcnR5X2JpdG1hcF9lbmQgbWlnaHQgYmUgc21hbGxlciB0aGFuIGRpcnR5X2JpdG1hcF9vZmZz ZXQuIFRoZXJlCithbHJlYWR5IGlzIGEgY2hlY2sgZm9yICdkaXJ0eV9iaXRtYXBfb2Zmc2V0IDwg ZGlydHlfYml0bWFwX2VuZCcgYmVmb3JlCityZXNldHRpbmcgdGhlIGRpcnR5IGJpdG1hcC4gQWRk IHN1Y2ggYSBjaGVjayBmb3Igc2V0dGluZyB0aGUgemVybworYml0bWFwIHRvbywgd2hpY2ggdXNl cyB0aGUgc2FtZSBuYXJyb3dlciByYW5nZS4KKworWzBdOiBodHRwczovL2ZvcnVtLnByb3htb3gu Y29tL3RocmVhZHMvMTc3OTgxLworWzFdOiBodHRwczovL2J1Z3ppbGxhLnByb3htb3guY29tL3No b3dfYnVnLmNnaT9pZD03MjIyCisKK0NjOiBxZW11LXN0YWJsZUBub25nbnUub3JnCitGaXhlczog N2UyNzc1NDViOSAoIm1pcnJvcjogU2tpcCB3cml0aW5nIHplcm9lcyB3aGVuIHRhcmdldCBpcyBh bHJlYWR5IHplcm8iKQorU2lnbmVkLW9mZi1ieTogRmlvbmEgRWJuZXIgPGYuZWJuZXJAcHJveG1v eC5jb20+CitNZXNzYWdlLUlEOiA8MjAyNjAxMTIxNTI1NDQuMjYxOTIzLTEtZi5lYm5lckBwcm94 bW94LmNvbT4KK1Jldmlld2VkLWJ5OiBWbGFkaW1pciBTZW1lbnRzb3YtT2dpZXZza2l5IDx2c2Vt ZW50c292QHlhbmRleC10ZWFtLnJ1PgorU2lnbmVkLW9mZi1ieTogVmxhZGltaXIgU2VtZW50c292 LU9naWV2c2tpeSA8dnNlbWVudHNvdkB5YW5kZXgtdGVhbS5ydT4KKyhjaGVycnkgcGlja2VkIGZy b20gY29tbWl0IDRhN2IxYmQxOGQyZTFhNmIzNzk2ZTE3N2FlNWRmOWIxOTgyNjRhMGIpCitTaWdu ZWQtb2ZmLWJ5OiBNaWNoYWVsIFRva2FyZXYgPG1qdEB0bHMubXNrLnJ1PgorU2lnbmVkLW9mZi1i eTogS2V2aW4gV29sZiA8a3dvbGZAcmVkaGF0LmNvbT4KKy0tLQorIGJsb2NrL21pcnJvci5jIHwg OSArKysrKystLS0KKyAxIGZpbGUgY2hhbmdlZCwgNiBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9u cygtKQorCitkaWZmIC0tZ2l0IGEvYmxvY2svbWlycm9yLmMgYi9ibG9jay9taXJyb3IuYworaW5k ZXggYzg3ZjFlMjA1Yi4uZDIyZjE2OGZmMCAxMDA2NDQKKy0tLSBhL2Jsb2NrL21pcnJvci5jCisr KysgYi9ibG9jay9taXJyb3IuYworQEAgLTE1MTUsOSArMTUxNSwxMiBAQCBkb19zeW5jX3Rhcmdl dF93cml0ZShNaXJyb3JCbG9ja0pvYiAqam9iLCBNaXJyb3JNZXRob2QgbWV0aG9kLAorICAgICAg ICAgYXNzZXJ0KCFxaW92KTsKKyAgICAgICAgIHJldCA9IGJsa19jb19wd3JpdGVfemVyb2VzKGpv Yi0+dGFyZ2V0LCBvZmZzZXQsIGJ5dGVzLCBmbGFncyk7CisgICAgICAgICBpZiAoam9iLT56ZXJv X2JpdG1hcCAmJiByZXQgPj0gMCkgeworLSAgICAgICAgICAgIGJpdG1hcF9zZXQoam9iLT56ZXJv X2JpdG1hcCwgZGlydHlfYml0bWFwX29mZnNldCAvIGpvYi0+Z3JhbnVsYXJpdHksCistICAgICAg ICAgICAgICAgICAgICAgICAoZGlydHlfYml0bWFwX2VuZCAtIGRpcnR5X2JpdG1hcF9vZmZzZXQp IC8KKy0gICAgICAgICAgICAgICAgICAgICAgIGpvYi0+Z3JhbnVsYXJpdHkpOworKyAgICAgICAg ICAgIGlmIChkaXJ0eV9iaXRtYXBfb2Zmc2V0IDwgZGlydHlfYml0bWFwX2VuZCkgeworKyAgICAg ICAgICAgICAgICBiaXRtYXBfc2V0KGpvYi0+emVyb19iaXRtYXAsCisrICAgICAgICAgICAgICAg ICAgICAgICAgICAgZGlydHlfYml0bWFwX29mZnNldCAvIGpvYi0+Z3JhbnVsYXJpdHksCisrICAg ICAgICAgICAgICAgICAgICAgICAgICAgKGRpcnR5X2JpdG1hcF9lbmQgLSBkaXJ0eV9iaXRtYXBf b2Zmc2V0KSAvCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgam9iLT5ncmFudWxhcml0eSk7 CisrICAgICAgICAgICAgfQorICAgICAgICAgfQorICAgICAgICAgYnJlYWs7CisgCistLSAKKzIu NTIuMAorCgpkaWZmIC0tZ2l0IGEva3ZtLWJsb2NrLW1pcnJvci1maXgtYXNzZXJ0aW9uLWZhaWx1 cmUtdXBvbi1kdXBsaWNhdGUtY28ucGF0Y2ggYi9rdm0tYmxvY2stbWlycm9yLWZpeC1hc3NlcnRp b24tZmFpbHVyZS11cG9uLWR1cGxpY2F0ZS1jby5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NApp bmRleCAwMDAwMDAwLi5hYjYzYjY1Ci0tLSAvZGV2L251bGwKKysrIGIva3ZtLWJsb2NrLW1pcnJv ci1maXgtYXNzZXJ0aW9uLWZhaWx1cmUtdXBvbi1kdXBsaWNhdGUtY28ucGF0Y2gKQEAgLTAsMCAr MSw3NSBAQAorRnJvbSA2NTUyM2ZjYWEyOTJlYzcxNGI2NmZhMmI5MWNlOGY1MGNkMjdhYjY0IE1v biBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogRmlvbmEgRWJuZXIgPGYuZWJuZXJAcHJveG1v eC5jb20+CitEYXRlOiBXZWQsIDExIE1hciAyMDI2IDE1OjU0OjI1ICswMTAwCitTdWJqZWN0OiBb UEFUQ0ggNDYvNTJdIGJsb2NrL21pcnJvcjogZml4IGFzc2VydGlvbiBmYWlsdXJlIHVwb24gZHVw bGljYXRlCisgY29tcGxldGUgZm9yIGpvYiB1c2luZyAncmVwbGFjZXMnCisKK1JILUF1dGhvcjog S2V2aW4gV29sZiA8a3dvbGZAcmVkaGF0LmNvbT4KK1JILU1lcmdlUmVxdWVzdDogNTA0OiB2aXJ0 LXN0b3JhZ2U6IEJhY2twb3J0IHN0YWJsZSBicmFuY2ggZml4ZXMKK1JILUppcmE6IFJIRUwtMTg2 Mzg0CitSSC1BY2tlZC1ieTogU3RlZmFuIEhham5vY3ppIDxzdGVmYW5oYUByZWRoYXQuY29tPgor UkgtQWNrZWQtYnk6IE1pcm9zbGF2IFJlemFuaW5hIDxtcmV6YW5pbkByZWRoYXQuY29tPgorUkgt Q29tbWl0OiBbMzkvNDVdIDMxYWJiNWM0NTAwMjIzNWZkYWJlNWNlYmZiN2JlZTA1ZTFiM2M2NTMg KGttd29sZi9jZW50b3MtcWVtdS1rdm0pCisKK0lmIHMtPnJlcGxhY2VfYmxvY2tlciB3YXMgYWxy ZWFkeSBzZXQgYnkgYW4gZWFybGllciBpbnZvY2F0aW9uIG9mCittaXJyb3JfY29tcGxldGUoKSwg dGhlbiB0aGVyZSB3aWxsIGJlIGFuIGFzc2VydGlvbiBmYWlsdXJlIHdoZW4KK2Vycm9yX3NldGco KSBpcyBjYWxsZWQgZm9yIGl0IGEgc2Vjb25kIHRpbWUuIFRoZSBiZHJ2X29wX2Jsb2NrX2FsbCgp CithbmQgYmRydl9yZWYoKSBvcGVyYXRpb25zIHNob3VsZCBvbmx5IGJlIGRvbmUgYSBzaW5nbGUg dGltZSB0b28uCisKK1NpZ25lZC1vZmYtYnk6IEZpb25hIEVibmVyIDxmLmVibmVyQHByb3htb3gu Y29tPgorTWVzc2FnZS1JZDogPDIwMjYwMzExMTQ1NzE3LjY2ODQ5Mi0yLWYuZWJuZXJAcHJveG1v eC5jb20+CitSZXZpZXdlZC1ieTogSGFubmEgQ3plbmN6ZWsgPGhyZWl0ekByZWRoYXQuY29tPgor U2lnbmVkLW9mZi1ieTogSGFubmEgQ3plbmN6ZWsgPGhyZWl0ekByZWRoYXQuY29tPgorKGNoZXJy eSBwaWNrZWQgZnJvbSBjb21taXQgOWFjODVmNGNjNzk5NTIxN2RiOGY3MzY3MzNiOTkwZDZhZGRj YjAzNikKK1NpZ25lZC1vZmYtYnk6IE1pY2hhZWwgVG9rYXJldiA8bWp0QHRscy5tc2sucnU+CitT aWduZWQtb2ZmLWJ5OiBLZXZpbiBXb2xmIDxrd29sZkByZWRoYXQuY29tPgorLS0tCisgYmxvY2sv bWlycm9yLmMgfCAyOCArKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tCisgMSBmaWxlIGNoYW5n ZWQsIDE1IGluc2VydGlvbnMoKyksIDEzIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvYmxv Y2svbWlycm9yLmMgYi9ibG9jay9taXJyb3IuYworaW5kZXggZDIyZjE2OGZmMC4uMDg5ODU2ZjRh OCAxMDA2NDQKKy0tLSBhL2Jsb2NrL21pcnJvci5jCisrKysgYi9ibG9jay9taXJyb3IuYworQEAg LTEyNzYsMjMgKzEyNzYsMjUgQEAgc3RhdGljIHZvaWQgbWlycm9yX2NvbXBsZXRlKEpvYiAqam9i LCBFcnJvciAqKmVycnApCisgICAgICAgICByZXR1cm47CisgICAgIH0KKyAKKy0gICAgLyogYmxv Y2sgYWxsIG9wZXJhdGlvbnMgb24gdG9fcmVwbGFjZSBicyAqLworLSAgICBpZiAocy0+cmVwbGFj ZXMpIHsKKy0gICAgICAgIHMtPnRvX3JlcGxhY2UgPSBiZHJ2X2ZpbmRfbm9kZShzLT5yZXBsYWNl cyk7CistICAgICAgICBpZiAoIXMtPnRvX3JlcGxhY2UpIHsKKy0gICAgICAgICAgICBlcnJvcl9z ZXRnKGVycnAsICJOb2RlIG5hbWUgJyVzJyBub3QgZm91bmQiLCBzLT5yZXBsYWNlcyk7CistICAg ICAgICAgICAgcmV0dXJuOworKyAgICBpZiAoIXMtPnNob3VsZF9jb21wbGV0ZSkgeworKyAgICAg ICAgLyogYmxvY2sgYWxsIG9wZXJhdGlvbnMgb24gdG9fcmVwbGFjZSBicyAqLworKyAgICAgICAg aWYgKHMtPnJlcGxhY2VzKSB7CisrICAgICAgICAgICAgcy0+dG9fcmVwbGFjZSA9IGJkcnZfZmlu ZF9ub2RlKHMtPnJlcGxhY2VzKTsKKysgICAgICAgICAgICBpZiAoIXMtPnRvX3JlcGxhY2UpIHsK KysgICAgICAgICAgICAgICAgZXJyb3Jfc2V0ZyhlcnJwLCAiTm9kZSBuYW1lICclcycgbm90IGZv dW5kIiwgcy0+cmVwbGFjZXMpOworKyAgICAgICAgICAgICAgICByZXR1cm47CisrICAgICAgICAg ICAgfQorKworKyAgICAgICAgICAgIC8qIFRPRE8gVHJhbnNsYXRlIHRoaXMgaW50byBjaGlsZCBm cmVlemUgc3lzdGVtLiAqLworKyAgICAgICAgICAgIGVycm9yX3NldGcoJnMtPnJlcGxhY2VfYmxv Y2tlciwKKysgICAgICAgICAgICAgICAgICAgICAgICJibG9jayBkZXZpY2UgaXMgaW4gdXNlIGJ5 IGJsb2NrLWpvYi1jb21wbGV0ZSIpOworKyAgICAgICAgICAgIGJkcnZfb3BfYmxvY2tfYWxsKHMt PnRvX3JlcGxhY2UsIHMtPnJlcGxhY2VfYmxvY2tlcik7CisrICAgICAgICAgICAgYmRydl9yZWYo cy0+dG9fcmVwbGFjZSk7CisgICAgICAgICB9CisgCistICAgICAgICAvKiBUT0RPIFRyYW5zbGF0 ZSB0aGlzIGludG8gY2hpbGQgZnJlZXplIHN5c3RlbS4gKi8KKy0gICAgICAgIGVycm9yX3NldGco JnMtPnJlcGxhY2VfYmxvY2tlciwKKy0gICAgICAgICAgICAgICAgICAgImJsb2NrIGRldmljZSBp cyBpbiB1c2UgYnkgYmxvY2stam9iLWNvbXBsZXRlIik7CistICAgICAgICBiZHJ2X29wX2Jsb2Nr X2FsbChzLT50b19yZXBsYWNlLCBzLT5yZXBsYWNlX2Jsb2NrZXIpOworLSAgICAgICAgYmRydl9y ZWYocy0+dG9fcmVwbGFjZSk7CisrICAgICAgICBzLT5zaG91bGRfY29tcGxldGUgPSB0cnVlOwor ICAgICB9CisgCistICAgIHMtPnNob3VsZF9jb21wbGV0ZSA9IHRydWU7CistCisgICAgIC8qIElm IHRoZSBqb2IgaXMgcGF1c2VkLCBpdCB3aWxsIGJlIHJlLWVudGVyZWQgd2hlbiBpdCBpcyByZXN1 bWVkICovCisgICAgIFdJVEhfSk9CX0xPQ0tfR1VBUkQoKSB7CisgICAgICAgICBpZiAoIWpvYi0+ cGF1c2VkKSB7CistLSAKKzIuNTIuMAorCgpkaWZmIC0tZ2l0IGEva3ZtLWJsb2NrLXJlbW92ZS1k ZXRhY2hlZC1oZWFkZXItb3B0aW9uLWZyb20tb3B0cy1hZnRlci0ucGF0Y2ggYi9rdm0tYmxvY2st cmVtb3ZlLWRldGFjaGVkLWhlYWRlci1vcHRpb24tZnJvbS1vcHRzLWFmdGVyLS5wYXRjaApuZXcg ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iOGM0NDliCi0tLSAvZGV2L251bGwKKysr IGIva3ZtLWJsb2NrLXJlbW92ZS1kZXRhY2hlZC1oZWFkZXItb3B0aW9uLWZyb20tb3B0cy1hZnRl ci0ucGF0Y2gKQEAgLTAsMCArMSw3MiBAQAorRnJvbSAzOTg0YjEwOWQwYjRlMWE4NmM0NmQzYjc5 NjQxYjA4MDQzZTVkNjRhIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogPT9VVEYtOD9x P0RhbmllbD0yMFA9MkU9MjBCZXJyYW5nPUMzPUE5Pz0gPGJlcnJhbmdlQHJlZGhhdC5jb20+CitE YXRlOiBGcmksIDE5IFNlcCAyMDI1IDExOjM4OjEwICswMTAwCitTdWJqZWN0OiBbUEFUQ0ggMTYv NTJdIGJsb2NrOiByZW1vdmUgJ2RldGFjaGVkLWhlYWRlcicgb3B0aW9uIGZyb20gb3B0cyBhZnRl cgorIHVzZQorTUlNRS1WZXJzaW9uOiAxLjAKK0NvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hh cnNldD1VVEYtOAorQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAorCitSSC1BdXRob3I6 IEtldmluIFdvbGYgPGt3b2xmQHJlZGhhdC5jb20+CitSSC1NZXJnZVJlcXVlc3Q6IDUwNDogdmly dC1zdG9yYWdlOiBCYWNrcG9ydCBzdGFibGUgYnJhbmNoIGZpeGVzCitSSC1KaXJhOiBSSEVMLTE4 NjM4NAorUkgtQWNrZWQtYnk6IFN0ZWZhbiBIYWpub2N6aSA8c3RlZmFuaGFAcmVkaGF0LmNvbT4K K1JILUFja2VkLWJ5OiBNaXJvc2xhdiBSZXphbmluYSA8bXJlemFuaW5AcmVkaGF0LmNvbT4KK1JI LUNvbW1pdDogWzkvNDVdIDM4M2JkODQwODY5YjE4NGRmZTQ1ODhmOTMwZTJkOTI0ZjZmYWVjMzkg KGttd29sZi9jZW50b3MtcWVtdS1rdm0pCisKK1RoZSBjb2RlIGZvciBjcmVhdGluZyBMVUtTIGRl dmljZXMgcmVmZXJlbmNlcyBhICdkZXRhY2hlZC1oZWFkZXInCitvcHRpb24gaW4gdGhlIFFlbXVP cHRzICBkYXRhLCBidXQgZG9lcyBub3QgY29uc3VtZSAocmVtb3ZlKSB0aGUKK29wdGlvbi4KKwor VGh1cyB3aGVuIHRoZSBjb2RlIGxhdGVyIHRyaWVzIHRvIGNvbnZlcnQgdGhlIHJlbWFpbmluZyB1 bnVzZWQKK1FlbXVPcHRzIGludG8gYSBRQ3J5cHRvQmxvY2tDcmVhdGVPcHRpb25zIHN0cnVjdCwg YW4gZXJyb3IgaXMKK3JlcG9ydGVkIGJ5IHRoZSBRQVBJIGNvZGUgdGhhdCAnZGV0YWNoZWQtaGVh ZGVyJyBpcyBub3QgYSB2YWxpZAorZmllbGQuCisKK1RoaXMgZml4ZXMgYSByZWdyZXNzaW9uIGNh dXNlZCBieQorCisgIGNvbW1pdCBlODE4YzAxYWU2ZTdjNTRjNzAxOWJhYWYzMDdiZTU5ZDk5Y2U4 MGI5CisgIEF1dGhvcjogRGFuaWVsIFAuIEJlcnJhbmfDqSA8YmVycmFuZ2VAcmVkaGF0LmNvbT4K KyAgRGF0ZTogICBNb24gRmViIDE5IDE1OjEyOjU5IDIwMjQgKzAwMDAKKworICAgIHFhcGk6IGRy b3AgdW51c2VkIFFDcnlwdG9CbG9ja0NyZWF0ZU9wdGlvbnNMVUtTLmRldGFjaGVkLWhlYWRlcgor Cit3aGljaCBpZGVudGlmaWVkIHRoYXQgdGhlIFFBUEkgZmllbGQgd2FzIHVudXNlZCwgYnV0IGZh aWxlZCB0bworcmVhbGl6ZSB0aGUgUWVtdU9wdHMgLT4gUUNyeXB0b0Jsb2NrQ3JlYXRlT3B0aW9u cyBjb252ZXJzaW9uCit3YXMgc2VlaW5nIHRoZSBsZWZ0LW92ZXIgJ2RldGFjaGVkLWhlYWRlcicg b3B0aW9uIHdoaWNoIGhhZCBub3QKK2JlZW4gcmVtb3ZlZCBmcm9tIFFlbXVPcHRzLgorCitUaGlz IHByb2JsZW0gd2FzIGlkZW50aWZpZWQgYnkgdGhlICdsdWtzLWRldGFjaGVkLWhlYWRlcicgSS9P Cit0ZXN0LCBidXQgdW5mb3J0dW5hdGVseSBJL08gdGVzdHMgYXJlIG5vdCBydW4gcmVndWxhcmx5 IGZvciB0aGUKK0xVS1MgZm9ybWF0LgorCitGaXhlczogZTgxOGMwMWFlNmU3YzU0YzcwMTliYWFm MzA3YmU1OWQ5OWNlODBiOQorUmVwb3J0ZWQtYnk6IFRob21hcyBIdXRoIDx0aHV0aEByZWRoYXQu Y29tPgorU2lnbmVkLW9mZi1ieTogRGFuaWVsIFAuIEJlcnJhbmfDqSA8YmVycmFuZ2VAcmVkaGF0 LmNvbT4KK01lc3NhZ2UtSUQ6IDwyMDI1MDkxOTEwMzgxMC4xNTEzMTA5LTEtYmVycmFuZ2VAcmVk aGF0LmNvbT4KK1Jldmlld2VkLWJ5OiBFcmljIEJsYWtlIDxlYmxha2VAcmVkaGF0LmNvbT4KK1Jl dmlld2VkLWJ5OiBLZXZpbiBXb2xmIDxrd29sZkByZWRoYXQuY29tPgorU2lnbmVkLW9mZi1ieTog S2V2aW4gV29sZiA8a3dvbGZAcmVkaGF0LmNvbT4KKyhjaGVycnkgcGlja2VkIGZyb20gY29tbWl0 IDZlZGEzOWE4N2Y0ZmRhNzhiZWZhNDA4NWUzNjQ0ZTQ0NDBhZmMxZGQpCitTaWduZWQtb2ZmLWJ5 OiBNaWNoYWVsIFRva2FyZXYgPG1qdEB0bHMubXNrLnJ1PgorU2lnbmVkLW9mZi1ieTogS2V2aW4g V29sZiA8a3dvbGZAcmVkaGF0LmNvbT4KKy0tLQorIGJsb2NrL2NyeXB0by5jIHwgMiArLQorIDEg ZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0 IGEvYmxvY2svY3J5cHRvLmMgYi9ibG9jay9jcnlwdG8uYworaW5kZXggZDQyMjZjYzY4YS4uMTdi NDc0OWExZSAxMDA2NDQKKy0tLSBhL2Jsb2NrL2NyeXB0by5jCisrKysgYi9ibG9jay9jcnlwdG8u YworQEAgLTc5Miw3ICs3OTIsNyBAQCBibG9ja19jcnlwdG9fY29fY3JlYXRlX29wdHNfbHVrcyhC bG9ja0RyaXZlciAqZHJ2LCBjb25zdCBjaGFyICpmaWxlbmFtZSwKKyAgICAgY2hhciAqYnVmID0g TlVMTDsKKyAgICAgaW50NjRfdCBzaXplOworICAgICBib29sIGRldGFjaGVkX2hkciA9CistICAg ICAgICBxZW11X29wdF9nZXRfYm9vbChvcHRzLCAiZGV0YWNoZWQtaGVhZGVyIiwgZmFsc2UpOwor KyAgICAgICAgcWVtdV9vcHRfZ2V0X2Jvb2xfZGVsKG9wdHMsICJkZXRhY2hlZC1oZWFkZXIiLCBm YWxzZSk7CisgICAgIHVuc2lnbmVkIGludCBjZmxhZ3MgPSAwOworICAgICBpbnQgcmV0OworICAg ICBFcnJvciAqbG9jYWxfZXJyID0gTlVMTDsKKy0tIAorMi41Mi4wCisKCmRpZmYgLS1naXQgYS9r dm0tYmxvY2stdGhyb3R0bGUtZ3JvdXBzLWZpeC1kZWFkbG9jay13aXRoLWlvbGltaXRzLWFuZC5w YXRjaCBiL2t2bS1ibG9jay10aHJvdHRsZS1ncm91cHMtZml4LWRlYWRsb2NrLXdpdGgtaW9saW1p dHMtYW5kLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRiMGE0NDEK LS0tIC9kZXYvbnVsbAorKysgYi9rdm0tYmxvY2stdGhyb3R0bGUtZ3JvdXBzLWZpeC1kZWFkbG9j ay13aXRoLWlvbGltaXRzLWFuZC5wYXRjaApAQCAtMCwwICsxLDE0NiBAQAorRnJvbSAxYzZhMGI5 MzUyYmY2ZWRhMzM1YmQ2NjE4NjlhNDZiYzU2ZDBjMmZjIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAw MQorRnJvbTogRG1pdHJ5IEd1cnlhbm92IDxkbWl0cnkuZ3VyeWFub3ZAZ21haWwuY29tPgorRGF0 ZTogTW9uLCA4IERlYyAyMDI1IDExOjU1OjI4ICswMzAwCitTdWJqZWN0OiBbUEFUQ0ggMjAvNTJd IGJsb2NrL3Rocm90dGxlLWdyb3VwczogZml4IGRlYWRsb2NrIHdpdGggaW9saW1pdHMgYW5kCisg bXVsaXBsZSBpb3RocmVhZHMKKworUkgtQXV0aG9yOiBLZXZpbiBXb2xmIDxrd29sZkByZWRoYXQu Y29tPgorUkgtTWVyZ2VSZXF1ZXN0OiA1MDQ6IHZpcnQtc3RvcmFnZTogQmFja3BvcnQgc3RhYmxl IGJyYW5jaCBmaXhlcworUkgtSmlyYTogUkhFTC0xODYzODQKK1JILUFja2VkLWJ5OiBTdGVmYW4g SGFqbm9jemkgPHN0ZWZhbmhhQHJlZGhhdC5jb20+CitSSC1BY2tlZC1ieTogTWlyb3NsYXYgUmV6 YW5pbmEgPG1yZXphbmluQHJlZGhhdC5jb20+CitSSC1Db21taXQ6IFsxMy80NV0gYjM2MDUzODM2 YzVjZWQ5ODlmN2IyNDk1ZGJlMTcwYTM2YWQxOTBjNSAoa213b2xmL2NlbnRvcy1xZW11LWt2bSkK KworRGV0YWlsczogaHR0cHM6Ly9naXRsYWIuY29tL3FlbXUtcHJvamVjdC9xZW11Ly0vaXNzdWVz LzMxNDQKKworVGhlIGZ1bmN0aW9uIHNjaGVkdWxlX25leHRfcmVxdWVzdCBpcyBjYWxsZWQgd2l0 aCB0Zy0+bG9jayBoZWxkIGFuZAoraXQgbWF5IGNhbGwgdGhyb3R0bGVfZ3JvdXBfY29fcmVzdGFy dF9xdWV1ZSwgd2hpY2ggdGFrZXMKK3RnbS0+dGhyb3R0bGVkX3JlcXNfbG9jaywgcWVtdV9jb19t dXRleF9sb2NrIG1heSBsZWF2ZSBjdXJyZW50Citjb3JvdXRpbmUgaWYgb3RoZXIgaW90aHJlYWQg aGFzIHRha2VuIHRoZSBsb2NrLiBJZiB0aGUgbmV4dAorY29yb3V0aW5lIHdpbGwgY2FsbCB0aHJv dHRsZV9ncm91cF9jb19pb19saW1pdHNfaW50ZXJjZXB0IC0gaXQKK3dpbGwgdHJ5IHRvIHRha2Ug dGhlIG11dGV4IHRnLT5sb2NrIHdoaWNoIHdpbGwgbmV2ZXIgYmUgcmVsZWFzZWQuCisKK0hlcmUg aXMgdGhlIGJhY2t0cmFjZSBvZiB0aGUgaW90aHJlYWQ6CitUaHJlYWQgMzAgKFRocmVhZCAweDdm OGFhZDFmZDZjMCAoTFdQIDI0MjQwKSAiSU8gaW90aHJlYWQyIik6CisgIzAgIGZ1dGV4X3dhaXQg KGZ1dGV4X3dvcmQ9MHg1NjExYWRiN2Q4MjgsIGV4cGVjdGVkPTIsIHByaXZhdGU9MCkgYXQgLi4v c3lzZGVwcy9ucHRsL2Z1dGV4LWludGVybmFsLmg6MTQ2CisgIzEgIF9fR0lfX19sbGxfbG9ja193 YWl0IChmdXRleD1mdXRleEBlbnRyeT0weDU2MTFhZGI3ZDgyOCwgcHJpdmF0ZT0wKSBhdCBsb3ds ZXZlbGxvY2suYzo0OQorICMyICAweDAwMDA3ZjhhYjVhOTc1MDEgaW4gbGxsX211dGV4X2xvY2tf b3B0aW1pemVkIChtdXRleD0weDU2MTFhZGI3ZDgyOCkgYXQgcHRocmVhZF9tdXRleF9sb2NrLmM6 NDgKKyAjMyAgX19fcHRocmVhZF9tdXRleF9sb2NrIChtdXRleD0weDU2MTFhZGI3ZDgyOCkgYXQg cHRocmVhZF9tdXRleF9sb2NrLmM6OTMKKyAjNCAgMHgwMDAwNTYxMTgyM2Y1NDgyIGluIHFlbXVf bXV0ZXhfbG9ja19pbXBsIChtdXRleD0weDU2MTFhZGI3ZDgyOCwgZmlsZT0weDU2MTE4Mjg5ZGFj YSAiLi4vYmxvY2svdGhyb3R0bGUtZ3JvdXBzLmMiLCBsaW5lPTM3MikgYXQgLi4vdXRpbC9xZW11 LXRocmVhZC1wb3NpeC5jOjk0CisgIzUgIDB4MDAwMDU2MTE4MjJiMGIzOSBpbiB0aHJvdHRsZV9n cm91cF9jb19pb19saW1pdHNfaW50ZXJjZXB0ICh0Z209MHg1NjExYWYxYmI0ZDgsIGJ5dGVzPTQw OTYsIGRpcmVjdGlvbj1USFJPVFRMRV9SRUFEKSBhdCAuLi9ibG9jay90aHJvdHRsZS1ncm91cHMu YzozNzIKKyAjNiAgMHgwMDAwNTYxMTgyMjQ3M2IxIGluIGJsa19jb19kb19wcmVhZHZfcGFydCAo YmxrPTB4NTYxMWFmMWJiNDkwLCBvZmZzZXQ9MTU5NzIzMTEwNDAsIGJ5dGVzPTQwOTYsIHFpb3Y9 MHg3ZjhhYTQwMDBmOTgsIHFpb3Zfb2Zmc2V0PTAsIGZsYWdzPUJEUlZfUkVRX1JFR0lTVEVSRURf QlVGKSBhdCAuLi9ibG9jay9ibG9jay1iYWNrZW5kLmM6MTM1NAorICM3ICAweDAwMDA1NjExODIy NDdmYTAgaW4gYmxrX2Fpb19yZWFkX2VudHJ5IChvcGFxdWU9MHg3ZjhhYTQwMDU5MTApIGF0IC4u L2Jsb2NrL2Jsb2NrLWJhY2tlbmQuYzoxNjE5CisgIzggIDB4MDAwMDU2MTE4MjQxOTUyZSBpbiBj b3JvdXRpbmVfdHJhbXBvbGluZSAoaTA9LTE1NDM0OTc0MjQsIGkxPTMyNjUwKSBhdCAuLi91dGls L2Nvcm91dGluZS11Y29udGV4dC5jOjE3NQorICM5ICAweDAwMDA3ZjhhYjVhNTZmNzAgaW4gPz8g KCkgYXQgLi4vc3lzZGVwcy91bml4L3N5c3YvbGludXgveDg2XzY0L19fc3RhcnRfY29udGV4dC5T OjY2IGZyb20gdGFyZ2V0Oi9saWI2NC9saWJjLnNvLjYKKyAjMTAgMHgwMDAwN2Y4YWFkMWVmMTkw IGluID8/ICgpCisgIzExIDB4MDAwMDAwMDAwMDAwMDAwMCBpbiA/PyAoKQorCitUaGUgbG9jayBp cyB0YWtlbiBpbiBsaW5lIDM4NjoKKyhnZGIpIHAgdGcubG9jaworJDEgPSB7bG9jayA9IHtfX2Rh dGEgPSB7X19sb2NrID0gMiwgX19jb3VudCA9IDAsIF9fb3duZXIgPSAyNDI0MCwgX19udXNlcnMg PSAxLCBfX2tpbmQgPSAwLCBfX3NwaW5zID0gMCwgX19lbGlzaW9uID0gMCwgX19saXN0ID0ge19f cHJldiA9IDB4MCwgX19uZXh0ID0gMHgwfX0sCisgICAgX19zaXplID0gIlwwMDJcMDAwXDAwMFww MDBcMDAwXDAwMFwwMDBcMDAwXDI2MF5cMDAwXDAwMFwwMDEiLCAnXDAwMCcgPHJlcGVhdHMgMjYg dGltZXM+LCBfX2FsaWduID0gMn0sIGZpbGUgPSAweDU2MTE4Mjg5ZGFjYSAiLi4vYmxvY2svdGhy b3R0bGUtZ3JvdXBzLmMiLAorICBsaW5lID0gMzg2LCBpbml0aWFsaXplZCA9IHRydWV9CisKK1Ro ZSBzb2x1dGlvbiBpcyB0byB1c2UgdGctPmxvY2sgdG8gcHJvdGVjdCBib3RoIFRocmVhZEdyb3Vw IGZpZWxkcyBhbmQKK1Rocm90dGxlR3JvdXBNZW1iZXIudGhyb3R0bGVkX3JlcXMuIEl0IGRvZXNu J3Qgc2VlbSB0byBiZSBwb3NzaWJsZQordG8gdXNlIHNlcGFyYXRlIGxvY2tzIGJlY2F1c2Ugd2Ug bmVlZCB0byBmaXJzdCBtYW5pcHVsYXRlIFRocm90dGxlR3JvdXAKK2ZpZWxkcywgdGhlbiBzY2hl ZHVsZSBuZXh0IGNvcm91dGluZSB1c2luZyB0aHJvdHRsZWRfcmVxcyBhbmQgYWZ0ZXIgdGhhbgor dXBkYXRlIHRva2VuIGZpZWxkIGZyb20gVGhyb3R0bGVHcm91cCBkZXBlbmRpbmcgb24gdGhlIHRo cm90dGxlZF9yZXFzCitzdGF0ZS4KKworU2lnbmVkLW9mZi1ieTogRG1pdHJ5IEd1cnlhbm92IDxk bWl0cnkuZ3VyeWFub3ZAZ21haWwuY29tPgorTWVzc2FnZS1JRDogPDIwMjUxMjA4MDg1NTI4Ljg5 MDA5OC0xLWRtaXRyeS5ndXJ5YW5vdkBnbWFpbC5jb20+CitSZXZpZXdlZC1ieTogSGFubmEgQ3pl bmN6ZWsgPGhyZWl0ekByZWRoYXQuY29tPgorU2lnbmVkLW9mZi1ieTogS2V2aW4gV29sZiA8a3dv bGZAcmVkaGF0LmNvbT4KKyhjaGVycnkgcGlja2VkIGZyb20gY29tbWl0IGQ0ODE2MTc3NjU0ZDU5 ZTI2Y2UyMTJjNDM2NTEzZjAxODQyZWI0MTApCitTaWduZWQtb2ZmLWJ5OiBNaWNoYWVsIFRva2Fy ZXYgPG1qdEB0bHMubXNrLnJ1PgorU2lnbmVkLW9mZi1ieTogS2V2aW4gV29sZiA8a3dvbGZAcmVk aGF0LmNvbT4KKy0tLQorIGJsb2NrL3Rocm90dGxlLWdyb3Vwcy5jICAgICAgICAgfCAyMSArKysr KystLS0tLS0tLS0tLS0tLS0KKyBpbmNsdWRlL2Jsb2NrL3Rocm90dGxlLWdyb3Vwcy5oIHwgIDMg Ky0tCisgMiBmaWxlcyBjaGFuZ2VkLCA3IGluc2VydGlvbnMoKyksIDE3IGRlbGV0aW9ucygtKQor CitkaWZmIC0tZ2l0IGEvYmxvY2svdGhyb3R0bGUtZ3JvdXBzLmMgYi9ibG9jay90aHJvdHRsZS1n cm91cHMuYworaW5kZXggNjZmZGNlOWE5MC4uNTMyOWZmMWZkYiAxMDA2NDQKKy0tLSBhL2Jsb2Nr L3Rocm90dGxlLWdyb3Vwcy5jCisrKysgYi9ibG9jay90aHJvdHRsZS1ncm91cHMuYworQEAgLTI5 NSwxOSArMjk1LDE1IEBAIHN0YXRpYyBib29sIHRocm90dGxlX2dyb3VwX3NjaGVkdWxlX3RpbWVy KFRocm90dGxlR3JvdXBNZW1iZXIgKnRnbSwKKyAvKiBTdGFydCB0aGUgbmV4dCBwZW5kaW5nIEkv TyByZXF1ZXN0IGZvciBhIFRocm90dGxlR3JvdXBNZW1iZXIuIFJldHVybiB3aGV0aGVyCisgICog YW55IHJlcXVlc3Qgd2FzIGFjdHVhbGx5IHBlbmRpbmcuCisgICoKKysgKiBUaGlzIGFzc3VtZXMg dGhhdCB0Zy0+bG9jayBpcyBoZWxkLgorKyAqCisgICogQHRnbTogICAgICAgdGhlIGN1cnJlbnQg VGhyb3R0bGVHcm91cE1lbWJlcgorICAqIEBkaXJlY3Rpb246IHRoZSBUaHJvdHRsZURpcmVjdGlv bgorICAqLworIHN0YXRpYyBib29sIGNvcm91dGluZV9mbiB0aHJvdHRsZV9ncm91cF9jb19yZXN0 YXJ0X3F1ZXVlKFRocm90dGxlR3JvdXBNZW1iZXIgKnRnbSwKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaHJvdHRsZURpcmVjdGlvbiBk aXJlY3Rpb24pCisgeworLSAgICBib29sIHJldDsKKy0KKy0gICAgcWVtdV9jb19tdXRleF9sb2Nr KCZ0Z20tPnRocm90dGxlZF9yZXFzX2xvY2spOworLSAgICByZXQgPSBxZW11X2NvX3F1ZXVlX25l eHQoJnRnbS0+dGhyb3R0bGVkX3JlcXNbZGlyZWN0aW9uXSk7CistICAgIHFlbXVfY29fbXV0ZXhf dW5sb2NrKCZ0Z20tPnRocm90dGxlZF9yZXFzX2xvY2spOworLQorLSAgICByZXR1cm4gcmV0Owor KyAgICByZXR1cm4gcWVtdV9jb19xdWV1ZV9uZXh0KCZ0Z20tPnRocm90dGxlZF9yZXFzW2RpcmVj dGlvbl0pOworIH0KKyAKKyAvKiBMb29rIGZvciB0aGUgbmV4dCBwZW5kaW5nIEkvTyByZXF1ZXN0 IGFuZCBzY2hlZHVsZSBpdC4KK0BAIC0zNzgsMTIgKzM3NCw4IEBAIHZvaWQgY29yb3V0aW5lX2Zu IHRocm90dGxlX2dyb3VwX2NvX2lvX2xpbWl0c19pbnRlcmNlcHQoVGhyb3R0bGVHcm91cE1lbWJl ciAqdGdtCisgICAgIC8qIFdhaXQgaWYgdGhlcmUncyBhIHRpbWVyIHNldCBvciBxdWV1ZWQgcmVx dWVzdHMgb2YgdGhpcyB0eXBlICovCisgICAgIGlmIChtdXN0X3dhaXQgfHwgdGdtLT5wZW5kaW5n X3JlcXNbZGlyZWN0aW9uXSkgeworICAgICAgICAgdGdtLT5wZW5kaW5nX3JlcXNbZGlyZWN0aW9u XSsrOworLSAgICAgICAgcWVtdV9tdXRleF91bmxvY2soJnRnLT5sb2NrKTsKKy0gICAgICAgIHFl bXVfY29fbXV0ZXhfbG9jaygmdGdtLT50aHJvdHRsZWRfcmVxc19sb2NrKTsKKyAgICAgICAgIHFl bXVfY29fcXVldWVfd2FpdCgmdGdtLT50aHJvdHRsZWRfcmVxc1tkaXJlY3Rpb25dLAorLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICZ0Z20tPnRocm90dGxlZF9yZXFzX2xvY2spOworLSAgICAg ICAgcWVtdV9jb19tdXRleF91bmxvY2soJnRnbS0+dGhyb3R0bGVkX3JlcXNfbG9jayk7CistICAg ICAgICBxZW11X211dGV4X2xvY2soJnRnLT5sb2NrKTsKKysgICAgICAgICAgICAgICAgICAgICAg ICAgICAmdGctPmxvY2spOworICAgICAgICAgdGdtLT5wZW5kaW5nX3JlcXNbZGlyZWN0aW9uXS0t OworICAgICB9CisgCitAQCAtNDEwLDE1ICs0MDIsMTUgQEAgc3RhdGljIHZvaWQgY29yb3V0aW5l X2ZuIHRocm90dGxlX2dyb3VwX3Jlc3RhcnRfcXVldWVfZW50cnkodm9pZCAqb3BhcXVlKQorICAg ICBUaHJvdHRsZURpcmVjdGlvbiBkaXJlY3Rpb24gPSBkYXRhLT5kaXJlY3Rpb247CisgICAgIGJv b2wgZW1wdHlfcXVldWU7CisgCisrICAgIHFlbXVfbXV0ZXhfbG9jaygmdGctPmxvY2spOworICAg ICBlbXB0eV9xdWV1ZSA9ICF0aHJvdHRsZV9ncm91cF9jb19yZXN0YXJ0X3F1ZXVlKHRnbSwgZGly ZWN0aW9uKTsKKyAKKyAgICAgLyogSWYgdGhlIHJlcXVlc3QgcXVldWUgd2FzIGVtcHR5IHRoZW4g d2UgaGF2ZSB0byB0YWtlIGNhcmUgb2YKKyAgICAgICogc2NoZWR1bGluZyB0aGUgbmV4dCBvbmUg Ki8KKyAgICAgaWYgKGVtcHR5X3F1ZXVlKSB7CistICAgICAgICBxZW11X211dGV4X2xvY2soJnRn LT5sb2NrKTsKKyAgICAgICAgIHNjaGVkdWxlX25leHRfcmVxdWVzdCh0Z20sIGRpcmVjdGlvbik7 CistICAgICAgICBxZW11X211dGV4X3VubG9jaygmdGctPmxvY2spOworICAgICB9CisrICAgIHFl bXVfbXV0ZXhfdW5sb2NrKCZ0Zy0+bG9jayk7CisgCisgICAgIGdfZnJlZShkYXRhKTsKKyAKK0BA IC01NjksNyArNTYxLDYgQEAgdm9pZCB0aHJvdHRsZV9ncm91cF9yZWdpc3Rlcl90Z20oVGhyb3R0 bGVHcm91cE1lbWJlciAqdGdtLAorICAgICAgICAgICAgICAgICAgICAgICAgICByZWFkX3RpbWVy X2NiLAorICAgICAgICAgICAgICAgICAgICAgICAgICB3cml0ZV90aW1lcl9jYiwKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgdGdtKTsKKy0gICAgcWVtdV9jb19tdXRleF9pbml0KCZ0Z20tPnRo cm90dGxlZF9yZXFzX2xvY2spOworIH0KKyAKKyAvKiBVbnJlZ2lzdGVyIGEgVGhyb3R0bGVHcm91 cE1lbWJlciBmcm9tIGl0cyBncm91cCwgcmVtb3ZpbmcgaXQgZnJvbSB0aGUgbGlzdCwKK2RpZmYg LS1naXQgYS9pbmNsdWRlL2Jsb2NrL3Rocm90dGxlLWdyb3Vwcy5oIGIvaW5jbHVkZS9ibG9jay90 aHJvdHRsZS1ncm91cHMuaAoraW5kZXggMjM1NWU4ZDlkZS4uN2RmYzgxZjdiNSAxMDA2NDQKKy0t LSBhL2luY2x1ZGUvYmxvY2svdGhyb3R0bGUtZ3JvdXBzLmgKKysrKyBiL2luY2x1ZGUvYmxvY2sv dGhyb3R0bGUtZ3JvdXBzLmgKK0BAIC0zNSw4ICszNSw3IEBACisgCisgdHlwZWRlZiBzdHJ1Y3Qg VGhyb3R0bGVHcm91cE1lbWJlciB7CisgICAgIEFpb0NvbnRleHQgICAqYWlvX2NvbnRleHQ7Cist ICAgIC8qIHRocm90dGxlZF9yZXFzX2xvY2sgcHJvdGVjdHMgdGhlIENvUXVldWVzIGZvciB0aHJv dHRsZWQgcmVxdWVzdHMuICAqLworLSAgICBDb011dGV4ICAgICAgdGhyb3R0bGVkX3JlcXNfbG9j azsKKysgICAgLyogUHJvdGVjdGVkIGJ5IFRocm90dGxlR3JvdXAubG9jayAqLworICAgICBDb1F1 ZXVlICAgICAgdGhyb3R0bGVkX3JlcXNbVEhST1RUTEVfTUFYXTsKKyAKKyAgICAgLyogTm9uemVy byBpZiB0aGUgSS9PIGxpbWl0cyBhcmUgY3VycmVudGx5IGJlaW5nIGlnbm9yZWQ7IGdlbmVyYWxs eQorLS0gCisyLjUyLjAKKwoKZGlmZiAtLWdpdCBhL2t2bS1ibG9jay11c2UtcHdyaXRlX3plcm9l c19hbGlnbm1lbnQtd2hlbi13cml0aW5nLWZpcnN0LnBhdGNoIGIva3ZtLWJsb2NrLXVzZS1wd3Jp dGVfemVyb2VzX2FsaWdubWVudC13aGVuLXdyaXRpbmctZmlyc3QucGF0Y2gKbmV3IGZpbGUgbW9k ZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjEyMWRmZAotLS0gL2Rldi9udWxsCisrKyBiL2t2bS1i bG9jay11c2UtcHdyaXRlX3plcm9lc19hbGlnbm1lbnQtd2hlbi13cml0aW5nLWZpcnN0LnBhdGNo CkBAIC0wLDAgKzEsMTAzIEBACitGcm9tIGNhMzI2YTQ2MjMzNmE2OTRkMzE3ZDAzNzkzYjVmNzQx MTI1NjMzYjcgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBTdGVmYW4gSGFqbm9jemkg PHN0ZWZhbmhhQHJlZGhhdC5jb20+CitEYXRlOiBUdWUsIDcgT2N0IDIwMjUgMTA6MTY6NTkgLTA0 MDAKK1N1YmplY3Q6IFtQQVRDSCAzNS81Ml0gYmxvY2s6IHVzZSBwd3JpdGVfemVyb2VzX2FsaWdu bWVudCB3aGVuIHdyaXRpbmcgZmlyc3QKKyBzZWN0b3IKKworUkgtQXV0aG9yOiBLZXZpbiBXb2xm IDxrd29sZkByZWRoYXQuY29tPgorUkgtTWVyZ2VSZXF1ZXN0OiA1MDQ6IHZpcnQtc3RvcmFnZTog QmFja3BvcnQgc3RhYmxlIGJyYW5jaCBmaXhlcworUkgtSmlyYTogUkhFTC0xODYzODQKK1JILUFj a2VkLWJ5OiBTdGVmYW4gSGFqbm9jemkgPHN0ZWZhbmhhQHJlZGhhdC5jb20+CitSSC1BY2tlZC1i eTogTWlyb3NsYXYgUmV6YW5pbmEgPG1yZXphbmluQHJlZGhhdC5jb20+CitSSC1Db21taXQ6IFsy OC80NV0gYWZmMzdhOWMwOTUwMDliOTAwY2JmMmQwMmNhMzc4ZTIxZWMzNjVhYSAoa213b2xmL2Nl bnRvcy1xZW11LWt2bSkKKworU2luY2UgY29tbWl0IDU2MzQ2MjJiY2IzMyAoImZpbGUtcG9zaXg6 IGFsbG93IEJMS1pFUk9PVVQgd2l0aCAtdAord3JpdGViYWNrIiksIHFlbXUtaW1nIGNyZWF0ZSBl cnJvcnMgb3V0IG9uIGEgTGludXggbG9vcCBibG9jayBkZXZpY2UKK3dpdGggYSA0IEtCIHNlY3Rv ciBzaXplOgorCisgICMgZGQgaWY9L2Rldi96ZXJvIG9mPWJsb2NrZmlsZSBicz0xTSBjb3VudD0x MDI0CisgICMgbG9zZXR1cCAtLXNlY3Rvci1zaXplIDQwOTYgL2Rldi9sb29wMCBibG9ja2ZpbGUK KyAgIyBxZW11LWltZyBjcmVhdGUgLWYgcmF3IC9kZXYvbG9vcDAgMUcKKyAgRm9ybWF0dGluZyAn L2Rldi9sb29wMCcsIGZtdD1yYXcgc2l6ZT0xMDczNzQxODI0CisgIHFlbXUtaW1nOiAvZGV2L2xv b3AwOiBGYWlsZWQgdG8gY2xlYXIgdGhlIG5ldyBpbWFnZSdzIGZpcnN0IHNlY3RvcjogSW52YWxp ZCBhcmd1bWVudAorCitVc2UgdGhlIHB3cml0ZV96ZXJvZXNfYWxpZ25tZW50IGJsb2NrIGxpbWl0 IHRvIGF2b2lkIG1pc2FsaWduZWQKK2ZhbGxvY2F0ZSgyKSBvciBpb2N0bChCTEtaRVJPT1VUKSBp biB0aGUgYmxvY2svZmlsZS1wb3NpeC5jIGJsb2NrCitkcml2ZXIuCisKK0NjOiBxZW11LXN0YWJs ZUBub25nbnUub3JnCitGaXhlczogNTYzNDYyMmJjYjMzICgiZmlsZS1wb3NpeDogYWxsb3cgQkxL WkVST09VVCB3aXRoIC10IHdyaXRlYmFjayIpCitSZXBvcnRlZC1ieTogSmVhbi1Mb3VpcyBEdXBv bmQgPGplYW4tbG91aXNAZHVwb25kLmJlPgorQnVnbGluazogaHR0cHM6Ly9naXRsYWIuY29tL3Fl bXUtcHJvamVjdC9xZW11Ly0vaXNzdWVzLzMxMjcKK1Jldmlld2VkLWJ5OiBWbGFkaW1pciBTZW1l bnRzb3YtT2dpZXZza2l5IDx2c2VtZW50c292QHlhbmRleC10ZWFtLnJ1PgorU2lnbmVkLW9mZi1i eTogU3RlZmFuIEhham5vY3ppIDxzdGVmYW5oYUByZWRoYXQuY29tPgorTWVzc2FnZS1JRDogPDIw MjUxMDA3MTQxNzAwLjcxODkxLTMtc3RlZmFuaGFAcmVkaGF0LmNvbT4KK1Rlc3RlZC1ieTogRmlv bmEgRWJuZXIgPGYuZWJuZXJAcHJveG1veC5jb20+CitSZXZpZXdlZC1ieTogRmlvbmEgRWJuZXIg PGYuZWJuZXJAcHJveG1veC5jb20+CitSZXZpZXdlZC1ieTogS2V2aW4gV29sZiA8a3dvbGZAcmVk aGF0LmNvbT4KK1NpZ25lZC1vZmYtYnk6IEtldmluIFdvbGYgPGt3b2xmQHJlZGhhdC5jb20+Ciso Y2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCBkNzA0YTEzZDJjMDI1Nzc5YmM5MWQwNGUxMjc0Mjcz NDdkZGNmM2IzKQorU2lnbmVkLW9mZi1ieTogTWljaGFlbCBUb2thcmV2IDxtanRAdGxzLm1zay5y dT4KK1NpZ25lZC1vZmYtYnk6IEtldmluIFdvbGYgPGt3b2xmQHJlZGhhdC5jb20+CistLS0KKyBi bG9jay5jICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgMyArKy0KKyBibG9jay9ibG9jay1i YWNrZW5kLmMgICAgICAgICAgICAgfCAxMSArKysrKysrKysrKworIGluY2x1ZGUvc3lzdGVtL2Js b2NrLWJhY2tlbmQtaW8uaCB8ICAxICsKKyAzIGZpbGVzIGNoYW5nZWQsIDE0IGluc2VydGlvbnMo KyksIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL2Jsb2NrLmMgYi9ibG9jay5jCitpbmRl eCA4ODQ4ZTlhN2VkLi5iZTc3ZTAzOTA0IDEwMDY0NAorLS0tIGEvYmxvY2suYworKysrIGIvYmxv Y2suYworQEAgLTYwNiwxMiArNjA2LDEzIEBAIGNyZWF0ZV9maWxlX2ZhbGxiYWNrX3plcm9fZmly c3Rfc2VjdG9yKEJsb2NrQmFja2VuZCAqYmxrLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGludDY0X3QgY3VycmVudF9zaXplLAorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIEVycm9yICoqZXJycCkKKyB7CisrICAgIHVpbnQzMl90IGFsaWdu bWVudCA9IGJsa19nZXRfcHdyaXRlX3plcm9lc19hbGlnbm1lbnQoYmxrKTsKKyAgICAgaW50NjRf dCBieXRlc190b19jbGVhcjsKKyAgICAgaW50IHJldDsKKyAKKyAgICAgR0xPQkFMX1NUQVRFX0NP REUoKTsKKyAKKy0gICAgYnl0ZXNfdG9fY2xlYXIgPSBNSU4oY3VycmVudF9zaXplLCBCRFJWX1NF Q1RPUl9TSVpFKTsKKysgICAgYnl0ZXNfdG9fY2xlYXIgPSBNSU4oY3VycmVudF9zaXplLCBNQVgo QkRSVl9TRUNUT1JfU0laRSwgYWxpZ25tZW50KSk7CisgICAgIGlmIChieXRlc190b19jbGVhcikg eworICAgICAgICAgcmV0ID0gYmxrX2NvX3B3cml0ZV96ZXJvZXMoYmxrLCAwLCBieXRlc190b19j bGVhciwgQkRSVl9SRVFfTUFZX1VOTUFQKTsKKyAgICAgICAgIGlmIChyZXQgPCAwKSB7CitkaWZm IC0tZ2l0IGEvYmxvY2svYmxvY2stYmFja2VuZC5jIGIvYmxvY2svYmxvY2stYmFja2VuZC5jCitp bmRleCBkOTdiMjZiNzQzLi44NTBmMmVjZWMyIDEwMDY0NAorLS0tIGEvYmxvY2svYmxvY2stYmFj a2VuZC5jCisrKysgYi9ibG9jay9ibG9jay1iYWNrZW5kLmMKK0BAIC0yMzI2LDYgKzIzMjYsMTcg QEAgdWludDMyX3QgYmxrX2dldF9yZXF1ZXN0X2FsaWdubWVudChCbG9ja0JhY2tlbmQgKmJsaykK KyAgICAgcmV0dXJuIGJzID8gYnMtPmJsLnJlcXVlc3RfYWxpZ25tZW50IDogQkRSVl9TRUNUT1Jf U0laRTsKKyB9CisgCisrLyogUmV0dXJucyB0aGUgb3B0aW1hbCB3cml0ZSB6ZXJvZXMgYWxpZ25t ZW50LCBpbiBieXRlczsgZ3VhcmFudGVlZCBub256ZXJvICovCisrdWludDMyX3QgYmxrX2dldF9w d3JpdGVfemVyb2VzX2FsaWdubWVudChCbG9ja0JhY2tlbmQgKmJsaykKKyt7CisrICAgIEJsb2Nr RHJpdmVyU3RhdGUgKmJzID0gYmxrX2JzKGJsayk7CisrICAgIElPX0NPREUoKTsKKysgICAgaWYg KCFicykgeworKyAgICAgICAgcmV0dXJuIEJEUlZfU0VDVE9SX1NJWkU7CisrICAgIH0KKysgICAg cmV0dXJuIGJzLT5ibC5wd3JpdGVfemVyb2VzX2FsaWdubWVudCA/OiBicy0+YmwucmVxdWVzdF9h bGlnbm1lbnQ7CisrfQorKworIC8qIFJldHVybnMgdGhlIG1heGltdW0gaGFyZHdhcmUgdHJhbnNm ZXIgbGVuZ3RoLCBpbiBieXRlczsgZ3VhcmFudGVlZCBub256ZXJvICovCisgdWludDY0X3QgYmxr X2dldF9tYXhfaHdfdHJhbnNmZXIoQmxvY2tCYWNrZW5kICpibGspCisgeworZGlmZiAtLWdpdCBh L2luY2x1ZGUvc3lzdGVtL2Jsb2NrLWJhY2tlbmQtaW8uaCBiL2luY2x1ZGUvc3lzdGVtL2Jsb2Nr LWJhY2tlbmQtaW8uaAoraW5kZXggOTFjNDgyOTliNy4uZmQ4NDcyM2Q5ZCAxMDA2NDQKKy0tLSBh L2luY2x1ZGUvc3lzdGVtL2Jsb2NrLWJhY2tlbmQtaW8uaAorKysrIGIvaW5jbHVkZS9zeXN0ZW0v YmxvY2stYmFja2VuZC1pby5oCitAQCAtMTE4LDYgKzExOCw3IEBAIEJsb2NrQUlPQ0IgKmJsa19h Ym9ydF9haW9fcmVxdWVzdChCbG9ja0JhY2tlbmQgKmJsaywKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgdm9pZCAqb3BhcXVlLCBpbnQgcmV0KTsKKyAKKyB1aW50MzJfdCBibGtf Z2V0X3JlcXVlc3RfYWxpZ25tZW50KEJsb2NrQmFja2VuZCAqYmxrKTsKKyt1aW50MzJfdCBibGtf Z2V0X3B3cml0ZV96ZXJvZXNfYWxpZ25tZW50KEJsb2NrQmFja2VuZCAqYmxrKTsKKyB1aW50MzJf dCBibGtfZ2V0X21heF90cmFuc2ZlcihCbG9ja0JhY2tlbmQgKmJsayk7CisgdWludDY0X3QgYmxr X2dldF9tYXhfaHdfdHJhbnNmZXIoQmxvY2tCYWNrZW5kICpibGspOworIAorLS0gCisyLjUyLjAK KwoKZGlmZiAtLWdpdCBhL2t2bS1ibG9jay12bWRrLWZpeC1PT0ItcmVhZC1pbi12bWRrX3JlYWRf ZXh0ZW50LnBhdGNoIGIva3ZtLWJsb2NrLXZtZGstZml4LU9PQi1yZWFkLWluLXZtZGtfcmVhZF9l eHRlbnQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzZmMzZmMQot LS0gL2Rldi9udWxsCisrKyBiL2t2bS1ibG9jay12bWRrLWZpeC1PT0ItcmVhZC1pbi12bWRrX3Jl YWRfZXh0ZW50LnBhdGNoCkBAIC0wLDAgKzEsNTEgQEAKK0Zyb20gOWFhYzljY2U0ZGU4MDA2YTAy ODAwYTNhMjBjYWFmMTFlODdmYzc2NyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206ICJI YWxpbCBPa3RheSAob2JsaXZpb25zYWdlKSIgPGNvb2tpZWFuZGNyZWFtNTYwQGdtYWlsLmNvbT4K K0RhdGU6IFR1ZSwgMTAgRmViIDIwMjYgMTM6MzM6MjUgKzAxMDAKK1N1YmplY3Q6IFtQQVRDSCAx OS81Ml0gYmxvY2svdm1kazogZml4IE9PQiByZWFkIGluIHZtZGtfcmVhZF9leHRlbnQoKQorCitS SC1BdXRob3I6IEtldmluIFdvbGYgPGt3b2xmQHJlZGhhdC5jb20+CitSSC1NZXJnZVJlcXVlc3Q6 IDUwNDogdmlydC1zdG9yYWdlOiBCYWNrcG9ydCBzdGFibGUgYnJhbmNoIGZpeGVzCitSSC1KaXJh OiBSSEVMLTE4NjM4NAorUkgtQWNrZWQtYnk6IFN0ZWZhbiBIYWpub2N6aSA8c3RlZmFuaGFAcmVk aGF0LmNvbT4KK1JILUFja2VkLWJ5OiBNaXJvc2xhdiBSZXphbmluYSA8bXJlemFuaW5AcmVkaGF0 LmNvbT4KK1JILUNvbW1pdDogWzEyLzQ1XSA2YWYwMjI0NjU4NmUzZTdhOWE3MWEyM2RmMjhhN2Zm YjU1MTEwZWFkIChrbXdvbGYvY2VudG9zLXFlbXUta3ZtKQorCitCb3VuZHMgY2hlY2sgZm9yIG1h cmtlci5zaXplIGRvZXNuJ3QgYWNjb3VudCBmb3IgdGhlIDEyLWJ5dGUgbWFya2VyCitoZWFkZXIs IGFsbG93aW5nIHpsaWIgdG8gcmVhZCBwYXN0IHRoZSBhbGxvY2F0ZWQgYnVmZmVyLgorCitNb3Zl IHRoZSBjaGVjayBpbnNpZGUgdGhlIGhhc19tYXJrZXIgYmxvY2sgYW5kIHN1YnRyYWN0IHRoZSBt YXJrZXIgc2l6ZS4KKworRml4ZXM6IENWRS0yMDI2LTIyNDMKK1JlcG9ydGVkLWJ5OiBIYWxpbCBP a3RheSAob2JsaXZpb25zYWdlKSA8Y29va2llYW5kY3JlYW01NjBAZ21haWwuY29tPgorU2lnbmVk LW9mZi1ieTogSGFsaWwgT2t0YXkgKG9ibGl2aW9uc2FnZSkgPGNvb2tpZWFuZGNyZWFtNTYwQGdt YWlsLmNvbT4KK1Jldmlld2VkLWJ5OiBLZXZpbiBXb2xmIDxrd29sZkByZWRoYXQuY29tPgorU2ln bmVkLW9mZi1ieTogS2V2aW4gV29sZiA8a3dvbGZAcmVkaGF0LmNvbT4KKyhjaGVycnkgcGlja2Vk IGZyb20gY29tbWl0IGNmZGE5NGVkZGI2YzljNDliNjY0NjFjOTUwYjIyODQ1YTQ2YTc1YzkpCitT aWduZWQtb2ZmLWJ5OiBNaWNoYWVsIFRva2FyZXYgPG1qdEB0bHMubXNrLnJ1PgorU2lnbmVkLW9m Zi1ieTogS2V2aW4gV29sZiA8a3dvbGZAcmVkaGF0LmNvbT4KKy0tLQorIGJsb2NrL3ZtZGsuYyB8 IDggKysrKy0tLS0KKyAxIGZpbGUgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9u cygtKQorCitkaWZmIC0tZ2l0IGEvYmxvY2svdm1kay5jIGIvYmxvY2svdm1kay5jCitpbmRleCA3 Yjk4ZGViYzJiLi43MTc2NDM1ZmM1IDEwMDY0NAorLS0tIGEvYmxvY2svdm1kay5jCisrKysgYi9i bG9jay92bWRrLmMKK0BAIC0xOTUxLDEwICsxOTUxLDEwIEBAIHZtZGtfcmVhZF9leHRlbnQoVm1k a0V4dGVudCAqZXh0ZW50LCBpbnQ2NF90IGNsdXN0ZXJfb2Zmc2V0LAorICAgICAgICAgbWFya2Vy ID0gKFZtZGtHcmFpbk1hcmtlciAqKWNsdXN0ZXJfYnVmOworICAgICAgICAgY29tcHJlc3NlZF9k YXRhID0gbWFya2VyLT5kYXRhOworICAgICAgICAgZGF0YV9sZW4gPSBsZTMyX3RvX2NwdShtYXJr ZXItPnNpemUpOworLSAgICB9CistICAgIGlmICghZGF0YV9sZW4gfHwgZGF0YV9sZW4gPiBidWZf Ynl0ZXMpIHsKKy0gICAgICAgIHJldCA9IC1FSU5WQUw7CistICAgICAgICBnb3RvIG91dDsKKysg ICAgICAgIGlmICghZGF0YV9sZW4gfHwgZGF0YV9sZW4gPiBidWZfYnl0ZXMgLSBzaXplb2YoVm1k a0dyYWluTWFya2VyKSkgeworKyAgICAgICAgICAgIHJldCA9IC1FSU5WQUw7CisrICAgICAgICAg ICAgZ290byBvdXQ7CisrICAgICAgICB9CisgICAgIH0KKyAgICAgcmV0ID0gdW5jb21wcmVzcyh1 bmNvbXBfYnVmLCAmYnVmX2xlbiwgY29tcHJlc3NlZF9kYXRhLCBkYXRhX2xlbik7CisgICAgIGlm IChyZXQgIT0gWl9PSykgeworLS0gCisyLjUyLjAKKwoKZGlmZiAtLWdpdCBhL2t2bS1jb21taXQt RHJhaW4tbm9kZXMtYWNyb3NzLWFsbC1vZi1iZHJ2X2NvbW1pdC5wYXRjaCBiL2t2bS1jb21taXQt RHJhaW4tbm9kZXMtYWNyb3NzLWFsbC1vZi1iZHJ2X2NvbW1pdC5wYXRjaApuZXcgZmlsZSBtb2Rl IDEwMDY0NAppbmRleCAwMDAwMDAwLi44YWY0YzU4Ci0tLSAvZGV2L251bGwKKysrIGIva3ZtLWNv bW1pdC1EcmFpbi1ub2Rlcy1hY3Jvc3MtYWxsLW9mLWJkcnZfY29tbWl0LnBhdGNoCkBAIC0wLDAg KzEsODUgQEAKK0Zyb20gNDNmZTRhNDkxZjk4NDMwMTlkNzgwYmZjNDFkYjQ0ZTg2NjAyZjE4NCBN b24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEtldmluIFdvbGYgPGt3b2xmQHJlZGhhdC5j b20+CitEYXRlOiBNb24sIDI3IEFwciAyMDI2IDE5OjA1OjE3ICswMjAwCitTdWJqZWN0OiBbUEFU Q0ggNDcvNTJdIGNvbW1pdDogRHJhaW4gbm9kZXMgYWNyb3NzIGFsbCBvZiBiZHJ2X2NvbW1pdCgp CisKK1JILUF1dGhvcjogS2V2aW4gV29sZiA8a3dvbGZAcmVkaGF0LmNvbT4KK1JILU1lcmdlUmVx dWVzdDogNTA0OiB2aXJ0LXN0b3JhZ2U6IEJhY2twb3J0IHN0YWJsZSBicmFuY2ggZml4ZXMKK1JI LUppcmE6IFJIRUwtMTg2Mzg0CitSSC1BY2tlZC1ieTogU3RlZmFuIEhham5vY3ppIDxzdGVmYW5o YUByZWRoYXQuY29tPgorUkgtQWNrZWQtYnk6IE1pcm9zbGF2IFJlemFuaW5hIDxtcmV6YW5pbkBy ZWRoYXQuY29tPgorUkgtQ29tbWl0OiBbNDAvNDVdIDI5Y2ZhYzliMWE3MmJmNWQ0YjQ0OTdlYjQw OTZiYzA1ZDQxZTE0NmUgKGttd29sZi9jZW50b3MtcWVtdS1rdm0pCisKK1RoZSB3aG9sZSBpbXBs ZW1lbnRhdGlvbiBvZiBiZHJ2X2NvbW1pdCgpIGlzIG9ubHkgY29ycmVjdCBpZiBubyBuZXcKK3dy aXRlcyBjb21lIGluIHdoaWxlIGl0J3MgcnVubmluZzogSXQgaGFzIG9ubHkgYSBzaW5nbGUgbG9v cCBjaGVja2luZwordGhlIGFsbG9jYXRpb24gc3RhdHVzIGZvciBlYWNoIGJsb2NrIGFuZCBmaW5h bGx5IGNhbGxzIGJkcnZfbWFrZV9lbXB0eSgpCit3aXRob3V0IGNoZWNraW5nIGlmIHRoYXQgdGhy b3dzIGF3YXkgYW55IG5ldyBjaGFuZ2VzLgorCitXZSBhbHJlYWR5IGhhdmUgdG8gZHJhaW4gd2hp bGUgdGFraW5nIHRoZSBncmFwaCB3cml0ZSBsb2NrLiBKdXN0IGV4dGVuZAordGhlIGRyYWluZWQg c2VjdGlvbiB0byBhbGwgb2YgYmRydl9jb21taXQoKSB0byBtYWtlIHN1cmUgdGhhdCB3ZSBkb24n dAorZ2V0IGFueSBpbmNvbnNpc3RlbmNpZXMuCisKK1NpZ25lZC1vZmYtYnk6IEtldmluIFdvbGYg PGt3b2xmQHJlZGhhdC5jb20+CitNZXNzYWdlLUlEOiA8MjAyNjA0MjcxNzA1MjAuMTAxMjQyLTIt a3dvbGZAcmVkaGF0LmNvbT4KK1Jldmlld2VkLWJ5OiBEZW5pcyBWLiBMdW5ldiA8ZGVuQG9wZW52 ei5vcmc+CitUZXN0ZWQtYnk6IERlbmlzIFYuIEx1bmV2IDxkZW5Ab3BlbnZ6Lm9yZz4KK1NpZ25l ZC1vZmYtYnk6IEtldmluIFdvbGYgPGt3b2xmQHJlZGhhdC5jb20+CisoY2hlcnJ5IHBpY2tlZCBm cm9tIGNvbW1pdCBmMGQ5Y2NkNDZjZjhmYzU3NmFiN2Q1MTRmMTBmNzY2NTQ2Y2RiYzE0KQorU2ln bmVkLW9mZi1ieTogTWljaGFlbCBUb2thcmV2IDxtanRAdGxzLm1zay5ydT4KK1NpZ25lZC1vZmYt Ynk6IEtldmluIFdvbGYgPGt3b2xmQHJlZGhhdC5jb20+CistLS0KKyBibG9jay9jb21taXQuYyB8 IDEwICsrKysrKysrLS0KKyAxIGZpbGUgY2hhbmdlZCwgOCBpbnNlcnRpb25zKCspLCAyIGRlbGV0 aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvYmxvY2svY29tbWl0LmMgYi9ibG9jay9jb21taXQuYwor aW5kZXggMGQ5ZTFhMTZkNy4uYzVlM2VmMDNhMiAxMDA2NDQKKy0tLSBhL2Jsb2NrL2NvbW1pdC5j CisrKysgYi9ibG9jay9jb21taXQuYworQEAgLTUxOCw2ICs1MTgsNyBAQCBpbnQgYmRydl9jb21t aXQoQmxvY2tEcml2ZXJTdGF0ZSAqYnMpCisgICAgIGlmICghZHJ2KQorICAgICAgICAgcmV0dXJu IC1FTk9NRURJVU07CisgCisrICAgIGJkcnZfZHJhaW5fYWxsX2JlZ2luKCk7CisgICAgIGJkcnZf Z3JhcGhfcmRsb2NrX21haW5fbG9vcCgpOworIAorICAgICBiYWNraW5nX2ZpbGVfYnMgPSBiZHJ2 X2Nvd19icyhicyk7CitAQCAtNTQ5LDYgKzU1MCwxMCBAQCBpbnQgYmRydl9jb21taXQoQmxvY2tE cml2ZXJTdGF0ZSAqYnMpCisgICAgICAgICAgICAgICAgICAgQkxLX1BFUk1fQUxMKTsKKyAgICAg YmFja2luZyA9IGJsa19uZXcoY3R4LCBCTEtfUEVSTV9XUklURSB8IEJMS19QRVJNX1JFU0laRSwg QkxLX1BFUk1fQUxMKTsKKyAKKysgICAgLyogV2UgZHJhaW5lZCBhbGwgbm9kZXMsIGJ1dCBzdGls bCBtYWtlIHJlcXVlc3RzIHRocm91Z2ggQmxvY2tCYWNrZW5kcyAqLworKyAgICBibGtfc2V0X2Rp c2FibGVfcmVxdWVzdF9xdWV1aW5nKHNyYywgdHJ1ZSk7CisrICAgIGJsa19zZXRfZGlzYWJsZV9y ZXF1ZXN0X3F1ZXVpbmcoYmFja2luZywgdHJ1ZSk7CisrCisgICAgIHJldCA9IGJsa19pbnNlcnRf YnMoc3JjLCBicywgJmxvY2FsX2Vycik7CisgICAgIGlmIChyZXQgPCAwKSB7CisgICAgICAgICBl cnJvcl9yZXBvcnRfZXJyKGxvY2FsX2Vycik7CitAQCAtNTY1LDcgKzU3MCw3IEBAIGludCBiZHJ2 X2NvbW1pdChCbG9ja0RyaXZlclN0YXRlICpicykKKyAKKyAgICAgYmRydl9ncmFwaF9yZHVubG9j a19tYWluX2xvb3AoKTsKKyAKKy0gICAgYmRydl9ncmFwaF93cmxvY2tfZHJhaW5lZCgpOworKyAg ICBiZHJ2X2dyYXBoX3dybG9jaygpOworICAgICBiZHJ2X3NldF9iYWNraW5nX2hkKGNvbW1pdF90 b3BfYnMsIGJhY2tpbmdfZmlsZV9icywgJmVycm9yX2Fib3J0KTsKKyAgICAgYmRydl9zZXRfYmFj a2luZ19oZChicywgY29tbWl0X3RvcF9icywgJmVycm9yX2Fib3J0KTsKKyAgICAgYmRydl9ncmFw aF93cnVubG9jaygpOworQEAgLTY0Nyw3ICs2NTIsNyBAQCByb19jbGVhbnVwOgorICAgICBibGtf dW5yZWYoYmFja2luZyk7CisgCisgICAgIGJkcnZfZ3JhcGhfcmR1bmxvY2tfbWFpbl9sb29wKCk7 CistICAgIGJkcnZfZ3JhcGhfd3Jsb2NrX2RyYWluZWQoKTsKKysgICAgYmRydl9ncmFwaF93cmxv Y2soKTsKKyAgICAgaWYgKGJkcnZfY293X2JzKGJzKSAhPSBiYWNraW5nX2ZpbGVfYnMpIHsKKyAg ICAgICAgIGJkcnZfc2V0X2JhY2tpbmdfaGQoYnMsIGJhY2tpbmdfZmlsZV9icywgJmVycm9yX2Fi b3J0KTsKKyAgICAgfQorQEAgLTY2Myw2ICs2NjgsNyBAQCByb19jbGVhbnVwOgorIAorIG91dDoK KyAgICAgYmRydl9ncmFwaF9yZHVubG9ja19tYWluX2xvb3AoKTsKKysgICAgYmRydl9kcmFpbl9h bGxfZW5kKCk7CisgCisgICAgIHJldHVybiByZXQ7CisgfQorLS0gCisyLjUyLjAKKwoKZGlmZiAt LWdpdCBhL2t2bS1maWxlLXBvc2l4LXBvcHVsYXRlLXB3cml0ZV96ZXJvZXNfYWxpZ25tZW50LnBh dGNoIGIva3ZtLWZpbGUtcG9zaXgtcG9wdWxhdGUtcHdyaXRlX3plcm9lc19hbGlnbm1lbnQucGF0 Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDhkZGQzMgotLS0gL2Rldi9u dWxsCisrKyBiL2t2bS1maWxlLXBvc2l4LXBvcHVsYXRlLXB3cml0ZV96ZXJvZXNfYWxpZ25tZW50 LnBhdGNoCkBAIC0wLDAgKzEsNjUgQEAKK0Zyb20gNzQ2MjQ0ZTlkZjMwNTI5M2Y5NTE4ZGNiMWRk NjM2YTdmOGRlZjRhYyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IFN0ZWZhbiBIYWpu b2N6aSA8c3RlZmFuaGFAcmVkaGF0LmNvbT4KK0RhdGU6IFR1ZSwgNyBPY3QgMjAyNSAxMDoxNjo1 OCAtMDQwMAorU3ViamVjdDogW1BBVENIIDM0LzUyXSBmaWxlLXBvc2l4OiBwb3B1bGF0ZSBwd3Jp dGVfemVyb2VzX2FsaWdubWVudAorCitSSC1BdXRob3I6IEtldmluIFdvbGYgPGt3b2xmQHJlZGhh dC5jb20+CitSSC1NZXJnZVJlcXVlc3Q6IDUwNDogdmlydC1zdG9yYWdlOiBCYWNrcG9ydCBzdGFi bGUgYnJhbmNoIGZpeGVzCitSSC1KaXJhOiBSSEVMLTE4NjM4NAorUkgtQWNrZWQtYnk6IFN0ZWZh biBIYWpub2N6aSA8c3RlZmFuaGFAcmVkaGF0LmNvbT4KK1JILUFja2VkLWJ5OiBNaXJvc2xhdiBS ZXphbmluYSA8bXJlemFuaW5AcmVkaGF0LmNvbT4KK1JILUNvbW1pdDogWzI3LzQ1XSA0ZTI2OGYy MzM0OTExZjUwMmNjNTI5MGE5MzczMmFjZGQ5YThkZjNiIChrbXdvbGYvY2VudG9zLXFlbXUta3Zt KQorCitMaW51eCBibG9jayBkZXZpY2VzIHJlcXVpcmUgd3JpdGUgemVyb2VzIGFsaWdubWVudCB3 aGVyZWFzIGZpbGVzIGRvIG5vdC4KKworSXQgbWF5IGNvbWUgYXMgYSBzdXJwcmlzZSB0aGF0IGJs b2NrIGRldmljZXMgb3BlbmVkIGluIGJ1ZmZlcmVkIEkvTyBtb2RlCityZXF1aXJlIHRoZSBhbGln bm1lbnQgZm9yIHdyaXRlIHplcm9lcyByZXF1ZXN0cyBhbHRob3VnaCBub3JtYWwKK3JlYWQvd3Jp dGUgcmVxdWVzdHMgZG8gbm90LgorCitUaGVyZWZvcmUgaXQgaXMgbmVjZXNzYXJ5IHRvIHBvcHVs YXRlIHRoZSBwd3JpdGVfemVyb2VzX2FsaWdubWVudCBmaWVsZC4KKworQ2M6IHFlbXUtc3RhYmxl QG5vbmdudS5vcmcKK1NpZ25lZC1vZmYtYnk6IFN0ZWZhbiBIYWpub2N6aSA8c3RlZmFuaGFAcmVk aGF0LmNvbT4KK01lc3NhZ2UtSUQ6IDwyMDI1MTAwNzE0MTcwMC43MTg5MS0yLXN0ZWZhbmhhQHJl ZGhhdC5jb20+CitSZXZpZXdlZC1ieTogVmxhZGltaXIgU2VtZW50c292LU9naWV2c2tpeSA8dnNl bWVudHNvdkB5YW5kZXgtdGVhbS5ydT4KK1Rlc3RlZC1ieTogRmlvbmEgRWJuZXIgPGYuZWJuZXJA cHJveG1veC5jb20+CitSZXZpZXdlZC1ieTogRmlvbmEgRWJuZXIgPGYuZWJuZXJAcHJveG1veC5j b20+CitSZXZpZXdlZC1ieTogS2V2aW4gV29sZiA8a3dvbGZAcmVkaGF0LmNvbT4KK1NpZ25lZC1v ZmYtYnk6IEtldmluIFdvbGYgPGt3b2xmQHJlZGhhdC5jb20+CisoY2hlcnJ5IHBpY2tlZCBmcm9t IGNvbW1pdCA5OGU3ODhiOTFhZDAzNzE5M2IxZmIzNzU1NjFlZjdlMGZlZjNjMmZkKQorU2lnbmVk LW9mZi1ieTogTWljaGFlbCBUb2thcmV2IDxtanRAdGxzLm1zay5ydT4KK1NpZ25lZC1vZmYtYnk6 IEtldmluIFdvbGYgPGt3b2xmQHJlZGhhdC5jb20+CistLS0KKyBibG9jay9maWxlLXBvc2l4LmMg fCAxNiArKysrKysrKysrKysrKysrCisgMSBmaWxlIGNoYW5nZWQsIDE2IGluc2VydGlvbnMoKykK KworZGlmZiAtLWdpdCBhL2Jsb2NrL2ZpbGUtcG9zaXguYyBiL2Jsb2NrL2ZpbGUtcG9zaXguYwor aW5kZXggZmZjYTM3MTMwYi4uMDEyOTQxMzI3MyAxMDA2NDQKKy0tLSBhL2Jsb2NrL2ZpbGUtcG9z aXguYworKysrIGIvYmxvY2svZmlsZS1wb3NpeC5jCitAQCAtMTYwNyw2ICsxNjA3LDIyIEBAIHN0 YXRpYyB2b2lkIHJhd19yZWZyZXNoX2xpbWl0cyhCbG9ja0RyaXZlclN0YXRlICpicywgRXJyb3Ig KiplcnJwKQorIAorICAgICAgICAgICAgIGJzLT5ibC5wZGlzY2FyZF9hbGlnbm1lbnQgPSBkYWxp Z247CisgICAgICAgICB9CisrCisrI2lmZGVmIF9fbGludXhfXworKyAgICAgICAgLyoKKysgICAg ICAgICAqIExpbnV4IHJlcXVpcmVzIGxvZ2ljYWwgYmxvY2sgc2l6ZSBhbGlnbm1lbnQgZm9yIHdy aXRlIHplcm9lcyBldmVuCisrICAgICAgICAgKiB3aGVuIG5vcm1hbCByZWFkcy93cml0ZXMgZG8g bm90IHJlcXVpcmUgYWxpZ25tZW50LgorKyAgICAgICAgICovCisrICAgICAgICBpZiAoIXMtPm5l ZWRzX2FsaWdubWVudCkgeworKyAgICAgICAgICAgIHJldCA9IHByb2JlX2xvZ2ljYWxfYmxvY2tz aXplKHMtPmZkLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZi cy0+YmwucHdyaXRlX3plcm9lc19hbGlnbm1lbnQpOworKyAgICAgICAgICAgIGlmIChyZXQgPCAw KSB7CisrICAgICAgICAgICAgICAgIGVycm9yX3NldGdfZXJybm8oZXJycCwgLXJldCwKKysgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiRmFpbGVkIHRvIHByb2JlIGxvZ2ljYWwgYmxv Y2sgc2l6ZSIpOworKyAgICAgICAgICAgICAgICByZXR1cm47CisrICAgICAgICAgICAgfQorKyAg ICAgICAgfQorKyNlbmRpZiAvKiBfX2xpbnV4X18gKi8KKyAgICAgfQorIAorICAgICByYXdfcmVm cmVzaF96b25lZF9saW1pdHMoYnMsICZzdCwgZXJycCk7CistLSAKKzIuNTIuMAorCgpkaWZmIC0t Z2l0IGEva3ZtLWh3LXNjc2ktYXZvaWQtZGVhZGxvY2stdXBvbi1UTUYtcmVxdWVzdC1jYW5jZWxs aW5nLXcucGF0Y2ggYi9rdm0taHctc2NzaS1hdm9pZC1kZWFkbG9jay11cG9uLVRNRi1yZXF1ZXN0 LWNhbmNlbGxpbmctdy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45 ZDMwNzZkCi0tLSAvZGV2L251bGwKKysrIGIva3ZtLWh3LXNjc2ktYXZvaWQtZGVhZGxvY2stdXBv bi1UTUYtcmVxdWVzdC1jYW5jZWxsaW5nLXcucGF0Y2gKQEAgLTAsMCArMSw5MyBAQAorRnJvbSA3 MTUzNWU4NmU0YWE0NGQ3YTJlZWZlMTVjMGFhYmExYmJjMGMxYTEwIE1vbiBTZXAgMTcgMDA6MDA6 MDAgMjAwMQorRnJvbTogRmlvbmEgRWJuZXIgPGYuZWJuZXJAcHJveG1veC5jb20+CitEYXRlOiBG cmksIDE3IE9jdCAyMDI1IDExOjQzOjMwICswMjAwCitTdWJqZWN0OiBbUEFUQ0ggMzkvNTJdIGh3 L3Njc2k6IGF2b2lkIGRlYWRsb2NrIHVwb24gVE1GIHJlcXVlc3QgY2FuY2VsbGluZworIHdpdGgg VmlydElPCisKK1JILUF1dGhvcjogS2V2aW4gV29sZiA8a3dvbGZAcmVkaGF0LmNvbT4KK1JILU1l cmdlUmVxdWVzdDogNTA0OiB2aXJ0LXN0b3JhZ2U6IEJhY2twb3J0IHN0YWJsZSBicmFuY2ggZml4 ZXMKK1JILUppcmE6IFJIRUwtMTg2Mzg0CitSSC1BY2tlZC1ieTogU3RlZmFuIEhham5vY3ppIDxz dGVmYW5oYUByZWRoYXQuY29tPgorUkgtQWNrZWQtYnk6IE1pcm9zbGF2IFJlemFuaW5hIDxtcmV6 YW5pbkByZWRoYXQuY29tPgorUkgtQ29tbWl0OiBbMzIvNDVdIDE2ZjI0NjJmNDJiZDlhMDIwNWY0 MDQyNmE5NGE4NzQ0OGFhZTIyOTIgKGttd29sZi9jZW50b3MtcWVtdS1rdm0pCisKK1doZW4gc2Nz aV9yZXFfZGVxdWV1ZSgpIGlzIHJlYWNoZWQgdmlhCitzY3NpX3JlcV9jYW5jZWxfYXN5bmMoKQor dmlydGlvX3Njc2lfdG1mX2NhbmNlbF9yZXEoKQordmlydGlvX3Njc2lfZG9fdG1mX2Fpb19jb250 ZXh0KCksCit0aGVyZSBpcyBhIGRlYWRsb2NrIHdoZW4gdHJ5aW5nIHRvIGFjcXVpcmUgdGhlIFND U0kgZGV2aWNlJ3MgcmVxdWVzdHMKK2xvY2ssIGJlY2F1c2UgaXQgd2FzIGFscmVhZHkgYWNxdWly ZWQgaW4KK3ZpcnRpb19zY3NpX2RvX3RtZl9haW9fY29udGV4dCgpLgorCitJbiBwYXJ0aWN1bGFy LCB0aGUgaXNzdWUgaGFwcGVucyB3aXRoIGEgRnJlZUJTRCBndWVzdCAoMTMsIDE0LCAxNSwKK21h eWJlIG1vcmUpLCB3aGVuIGl0IGNhbmNlbHMgU0NTSSByZXF1ZXN0cywgYmVjYXVzZSBvZiB0aW1l b3V0LgorCitUaGlzIGlzIGEgcmVncmVzc2lvbiBjYXVzZWQgYnkgY29tbWl0IGRhNmVlYmIzM2Ig KCJ2aXJ0aW8tc2NzaToKK3BlcmZvcm0gVE1GcyBpbiBhcHByb3ByaWF0ZSBBaW9Db250ZXh0cyIp IGFuZCB0aGUgaW50cm9kdWN0aW9uIG9mIHRoZQorcmVxdWVzdHNfbG9jayBlYXJsaWVyLgorCitU byBmaXggdGhlIGlzc3VlLCBvbmx5IGNhbmNlbCB0aGUgcmVxdWVzdHMgYWZ0ZXIgcmVsZWFzaW5n IHRoZQorcmVxdWVzdHNfbG9jay4gRm9yIHRoaXMsIHRoZSBTQ1NJIGRldmljZSdzIHJlcXVlc3Rz IGFyZSBpdGVyYXRlZCB3aGlsZQoraG9sZGluZyB0aGUgcmVxdWVzdHNfbG9jayBhbmQgdGhlIHJl cXVlc3RzIHRvIGJlIGNhbmNlbGxlZCBhcmUKK2NvbGxlY3RlZCBpbiBhIGxpc3QuIFRoZW4sIHRo ZSBjb2xsZWN0ZWQgcmVxdWVzdHMgYXJlIGNhbmNlbGxlZAorb25lIGJ5IG9uZSB3aGlsZSBub3Qg aG9sZGluZyB0aGUgcmVxdWVzdHNfbG9jay4gVGhpcyBpcyBzYWZlLCBiZWNhdXNlCitvbmx5IHJl cXVlc3RzIGZyb20gdGhlIGN1cnJlbnQgQWlvQ29udGV4dCBhcmUgY29sbGVjdGVkIGFuZCBhY3Rl ZAordXBvbi4KKworT3JpZ2luYWxseSByZXBvcnRlZCBieSBQcm94bW94IFZFIHVzZXJzOgoraHR0 cHM6Ly9idWd6aWxsYS5wcm94bW94LmNvbS9zaG93X2J1Zy5jZ2k/aWQ9NjgxMAoraHR0cHM6Ly9m b3J1bS5wcm94bW94LmNvbS90aHJlYWRzLzE3MzkxNC8KKworRml4ZXM6IGRhNmVlYmIzM2IgKCJ2 aXJ0aW8tc2NzaTogcGVyZm9ybSBUTUZzIGluIGFwcHJvcHJpYXRlIEFpb0NvbnRleHRzIikKK1N1 Z2dlc3RlZC1ieTogU3RlZmFuIEhham5vY3ppIDxzdGVmYW5oYUByZWRoYXQuY29tPgorU2lnbmVk LW9mZi1ieTogRmlvbmEgRWJuZXIgPGYuZWJuZXJAcHJveG1veC5jb20+CitNZXNzYWdlLWlkOiAy MDI1MTAxNzA5NDUxOC4zMjg5MDUtMS1mLmVibmVyQHByb3htb3guY29tCitbQ2hhbmdlZCBnX2xp c3RfYXBwZW5kKCkgdG8gZ19saXN0X3ByZXBlbmQoKSB0byBhdm9pZCB0cmF2ZXJzaW5nIHRoZQor bGlzdCBlYWNoIHRpbWUuCistLVN0ZWZhbl0KK1NpZ25lZC1vZmYtYnk6IFN0ZWZhbiBIYWpub2N6 aSA8c3RlZmFuaGFAcmVkaGF0LmNvbT4KKyhjaGVycnkgcGlja2VkIGZyb20gY29tbWl0IDY5MTBm MDRhYTY0NmY2M2EwMjU3Zjc3MjAxYWQ4ZWExNTk5MmI4MTYpCitTaWduZWQtb2ZmLWJ5OiBNaWNo YWVsIFRva2FyZXYgPG1qdEB0bHMubXNrLnJ1PgorU2lnbmVkLW9mZi1ieTogS2V2aW4gV29sZiA8 a3dvbGZAcmVkaGF0LmNvbT4KKy0tLQorIGh3L3Njc2kvdmlydGlvLXNjc2kuYyB8IDE0ICsrKysr KysrKysrKystCisgMSBmaWxlIGNoYW5nZWQsIDEzIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24o LSkKKworZGlmZiAtLWdpdCBhL2h3L3Njc2kvdmlydGlvLXNjc2kuYyBiL2h3L3Njc2kvdmlydGlv LXNjc2kuYworaW5kZXggMGNlNDcxODQwNy4uYTYzMmZlZWRjYiAxMDA2NDQKKy0tLSBhL2h3L3Nj c2kvdmlydGlvLXNjc2kuYworKysrIGIvaHcvc2NzaS92aXJ0aW8tc2NzaS5jCitAQCAtMzQzLDYg KzM0Myw3IEBAIHN0YXRpYyB2b2lkIHZpcnRpb19zY3NpX2RvX3RtZl9haW9fY29udGV4dCh2b2lk ICpvcGFxdWUpCisgICAgIFNDU0lEZXZpY2UgKmQgPSB2aXJ0aW9fc2NzaV9kZXZpY2VfZ2V0KHMs IHRtZi0+cmVxLnRtZi5sdW4pOworICAgICBTQ1NJUmVxdWVzdCAqcjsKKyAgICAgYm9vbCBtYXRj aF90YWc7CisrICAgIGdfYXV0b3B0cihHTGlzdCkgcmVxcyA9IE5VTEw7CisgCisgICAgIGlmICgh ZCkgeworICAgICAgICAgdG1mLT5yZXNwLnRtZi5yZXNwb25zZSA9IFZJUlRJT19TQ1NJX1NfQkFE X1RBUkdFVDsKK0BAIC0zNzgsMTAgKzM3OSwyMSBAQCBzdGF0aWMgdm9pZCB2aXJ0aW9fc2NzaV9k b190bWZfYWlvX2NvbnRleHQodm9pZCAqb3BhcXVlKQorICAgICAgICAgICAgIGlmIChtYXRjaF90 YWcgJiYgY21kX3JlcS0+cmVxLmNtZC50YWcgIT0gdG1mLT5yZXEudG1mLnRhZykgeworICAgICAg ICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgICAgICB9CistICAgICAgICAgICAgdmlydGlv X3Njc2lfdG1mX2NhbmNlbF9yZXEodG1mLCByKTsKKysgICAgICAgICAgICAvKgorKyAgICAgICAg ICAgICAqIENhbm5vdCBjYW5jZWwgZGlyZWN0bHksIGJlY2F1c2Ugc2NzaV9yZXFfZGVxdWV1ZSgp IHdvdWxkIGRlYWRsb2NrCisrICAgICAgICAgICAgICogd2hlbiBhdHRlbXB0aW5nIHRvIGFjcXVp cmUgdGhlIHJlcXVlc3RfbG9jayBhIHNlY29uZCB0aW1lLiBUYWtpbmcKKysgICAgICAgICAgICAg KiBhIHJlZmVyZW5jZSBoZXJlIGlzIHBhaXJlZCB3aXRoIGFuIHVucmVmIGFmdGVyIGNhbmNlbGxp bmcgYmVsb3cuCisrICAgICAgICAgICAgICovCisrICAgICAgICAgICAgc2NzaV9yZXFfcmVmKHIp OworKyAgICAgICAgICAgIHJlcXMgPSBnX2xpc3RfcHJlcGVuZChyZXFzLCByKTsKKyAgICAgICAg IH0KKyAgICAgfQorIAorKyAgICBmb3IgKEdMaXN0ICplbGVtID0gZ19saXN0X2ZpcnN0KHJlcXMp OyBlbGVtOyBlbGVtID0gZ19saXN0X25leHQoZWxlbSkpIHsKKysgICAgICAgIHZpcnRpb19zY3Np X3RtZl9jYW5jZWxfcmVxKHRtZiwgZWxlbS0+ZGF0YSk7CisrICAgICAgICBzY3NpX3JlcV91bnJl ZihlbGVtLT5kYXRhKTsKKysgICAgfQorKworICAgICAvKiBJbmNyZW1lbnRlZCBieSB2aXJ0aW9f c2NzaV9kb190bWYoKSAqLworICAgICB2aXJ0aW9fc2NzaV90bWZfZGVjX3JlbWFpbmluZyh0bWYp OworIAorLS0gCisyLjUyLjAKKwoKZGlmZiAtLWdpdCBhL2t2bS1pZGUtQ2xlYW4tdXAtaWRlX3Ry aW1fY29fZW50cnktdG8tYmUtaWRpb21hdGljLWNvcm91LnBhdGNoIGIva3ZtLWlkZS1DbGVhbi11 cC1pZGVfdHJpbV9jb19lbnRyeS10by1iZS1pZGlvbWF0aWMtY29yb3UucGF0Y2gKbmV3IGZpbGUg bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODJmYmEzNAotLS0gL2Rldi9udWxsCisrKyBiL2t2 bS1pZGUtQ2xlYW4tdXAtaWRlX3RyaW1fY29fZW50cnktdG8tYmUtaWRpb21hdGljLWNvcm91LnBh dGNoCkBAIC0wLDAgKzEsMTYzIEBACitGcm9tIDM3N2FjNzJmODRjYjgzOTcyYzY1YTE5MGNjNWJj NGZkZjliZGFiOWIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBLZXZpbiBXb2xmIDxr d29sZkByZWRoYXQuY29tPgorRGF0ZTogVHVlLCAyMSBBcHIgMjAyNiAxODoxMTozMCArMDIwMAor U3ViamVjdDogW1BBVENIIDA1LzUyXSBpZGU6IENsZWFuIHVwIGlkZV90cmltX2NvX2VudHJ5KCkg dG8gYmUgaWRpb21hdGljCisgY29yb3V0aW5lIGNvZGUKKworUkgtQXV0aG9yOiBLZXZpbiBXb2xm IDxrd29sZkByZWRoYXQuY29tPgorUkgtTWVyZ2VSZXF1ZXN0OiA1MDM6IGlkZTogRml4IGRlYWRs b2NrIGJldHdlZW4gVFJJTSBhbmQgZHJhaW4KK1JILUppcmE6IFJIRUwtMTIxNjg2CitSSC1BY2tl ZC1ieTogSGFubmEgQ3plbmN6ZWsgPGhyZWl0ekByZWRoYXQuY29tPgorUkgtQWNrZWQtYnk6IFN0 ZWZhbiBIYWpub2N6aSA8c3RlZmFuaGFAcmVkaGF0LmNvbT4KK1JILUNvbW1pdDogWzUvN10gOGQ3 OTg1NDNmMzA1MjEyMTk0MGZlMjA4ZTEzYzcxMDczNGI3Yzg4YyAoa213b2xmL2NlbnRvcy1xZW11 LWt2bSkKKworVGhlIHByZXZpb3VzIGNvbW1pdCBkaWQgYSBtaW5pbWFsIGNvbnZlcnNpb24gb2Yg dGhlIGNhbGxiYWNrIGJhc2VkIHN0YXRlCittYWNoaW5lIGZvciBUUklNIHRvIGEgY29yb3V0aW5l IGluIG9yZGVyIHRvIGZpeCBhIGJ1Zy4gUmVmYWN0b3IgaXQgdG8KK2FjdHVhbGx5IGxvb2sgbGlr ZSBub3JtYWwgY29yb3V0aW5lIGJhc2VkIGNvZGUsIHdoaWNoIGltcHJvdmVzIGl0cworcmVhZGFi aWxpdHkuCisKK1NpZ25lZC1vZmYtYnk6IEtldmluIFdvbGYgPGt3b2xmQHJlZGhhdC5jb20+CitN ZXNzYWdlLUlEOiA8MjAyNjA0MjExNjExMzIuOTk4NzgtNi1rd29sZkByZWRoYXQuY29tPgorU2ln bmVkLW9mZi1ieTogS2V2aW4gV29sZiA8a3dvbGZAcmVkaGF0LmNvbT4KKyhjaGVycnkgcGlja2Vk IGZyb20gY29tbWl0IGMxYzcxYTdlMTY3ZmRhYmFhOTgyN2QwMGMwYmUzYWVhZmViZGQ5MjEpCitT aWduZWQtb2ZmLWJ5OiBNaWNoYWVsIFRva2FyZXYgPG1qdEB0bHMubXNrLnJ1PgorU2lnbmVkLW9m Zi1ieTogS2V2aW4gV29sZiA8a3dvbGZAcmVkaGF0LmNvbT4KKy0tLQorIGh3L2lkZS9jb3JlLmMg fCA4NyArKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K KyAxIGZpbGUgY2hhbmdlZCwgMzkgaW5zZXJ0aW9ucygrKSwgNDggZGVsZXRpb25zKC0pCisKK2Rp ZmYgLS1naXQgYS9ody9pZGUvY29yZS5jIGIvaHcvaWRlL2NvcmUuYworaW5kZXggODJjM2FkYTE0 YS4uOGI5ZjA2NTQ3YiAxMDA2NDQKKy0tLSBhL2h3L2lkZS9jb3JlLmMKKysrKyBiL2h3L2lkZS9j b3JlLmMKK0BAIC00MjAsMTggKzQyMCwxNSBAQCB0eXBlZGVmIHN0cnVjdCBUcmltQUlPQ0Igewor ICAgICBRRU1VQkggKmJoOworICAgICBpbnQgcmV0OworICAgICBRRU1VSU9WZWN0b3IgKnFpb3Y7 CistICAgIGludCBpLCBqOworKyAgICBib29sIGNhbmNlbGVkOworIH0gVHJpbUFJT0NCOworIAor IHN0YXRpYyB2b2lkIHRyaW1fYWlvX2NhbmNlbChCbG9ja0FJT0NCICphY2IpCisgeworICAgICBU cmltQUlPQ0IgKmlvY2IgPSBjb250YWluZXJfb2YoYWNiLCBUcmltQUlPQ0IsIGNvbW1vbik7Cisg CistICAgIC8qIEV4aXQgdGhlIGxvb3Agc28gaWRlX2lzc3VlX3RyaW1fY2Igd2lsbCBub3QgY29u dGludWUgICovCistICAgIGlvY2ItPmogPSBpb2NiLT5xaW92LT5uaW92IC0gMTsKKy0gICAgaW9j Yi0+aSA9IChpb2NiLT5xaW92LT5pb3ZbaW9jYi0+al0uaW92X2xlbiAvIDgpIC0gMTsKKy0KKy0g ICAgaW9jYi0+cmV0ID0gLUVDQU5DRUxFRDsKKysgICAgLyogRXhpdCB0aGUgbG9vcCBzbyBpZGVf dHJpbV9jb19lbnRyeSB3aWxsIG5vdCBjb250aW51ZSAqLworKyAgICBpb2NiLT5jYW5jZWxlZCA9 IHRydWU7CisgfQorIAorIHN0YXRpYyBjb25zdCBBSU9DQkluZm8gdHJpbV9haW9jYl9pbmZvID0g eworQEAgLTQ1OCw2MCArNDU1LDU1IEBAIHN0YXRpYyB2b2lkIGNvcm91dGluZV9mbiBpZGVfdHJp bV9jb19lbnRyeSh2b2lkICpvcGFxdWUpCisgeworICAgICBUcmltQUlPQ0IgKmlvY2IgPSBvcGFx dWU7CisgICAgIElERVN0YXRlICpzID0gaW9jYi0+czsKKy0gICAgaW50IHJldCA9IDA7CisrICAg IGludCBpLCBqOworKyAgICBpbnQgcmV0OworIAorICAgICAvKiBQYWlyZWQgd2l0aCBibGtfZW5k X3JlcXVlc3QgaW4gaWRlX3RyaW1fYmhfY2IoKSAqLworICAgICBibGtfY29fc3RhcnRfcmVxdWVz dChzLT5ibGspOworIAorLWxvb3A6CistICAgIGlmIChpb2NiLT5pID49IDApIHsKKy0gICAgICAg IGlmIChyZXQgPj0gMCkgeworLSAgICAgICAgICAgIGJsb2NrX2FjY3RfZG9uZShibGtfZ2V0X3N0 YXRzKHMtPmJsayksICZzLT5hY2N0KTsKKy0gICAgICAgIH0gZWxzZSB7CistICAgICAgICAgICAg YmxvY2tfYWNjdF9mYWlsZWQoYmxrX2dldF9zdGF0cyhzLT5ibGspLCAmcy0+YWNjdCk7CistICAg ICAgICB9CistICAgIH0KKysgICAgZm9yIChqID0gMDsgaiA8IGlvY2ItPnFpb3YtPm5pb3Y7IGor KykgeworKyAgICAgICAgZm9yIChpID0gMDsgaSA8IGlvY2ItPnFpb3YtPmlvdltqXS5pb3ZfbGVu IC8gODsgaSsrKSB7CisrICAgICAgICAgICAgdWludDY0X3QgKmJ1ZmZlciA9IGlvY2ItPnFpb3Yt PmlvdltqXS5pb3ZfYmFzZTsKKyAKKy0gICAgaWYgKHJldCA+PSAwKSB7CistICAgICAgICB3aGls ZSAoaW9jYi0+aiA8IGlvY2ItPnFpb3YtPm5pb3YpIHsKKy0gICAgICAgICAgICBpbnQgaiA9IGlv Y2ItPmo7CistICAgICAgICAgICAgd2hpbGUgKCsraW9jYi0+aSA8IGlvY2ItPnFpb3YtPmlvdltq XS5pb3ZfbGVuIC8gOCkgeworLSAgICAgICAgICAgICAgICBpbnQgaSA9IGlvY2ItPmk7CistICAg ICAgICAgICAgICAgIHVpbnQ2NF90ICpidWZmZXIgPSBpb2NiLT5xaW92LT5pb3Zbal0uaW92X2Jh c2U7CisrICAgICAgICAgICAgLyogNi1ieXRlIExCQSArIDItYnl0ZSByYW5nZSBwZXIgZW50cnkg Ki8KKysgICAgICAgICAgICB1aW50NjRfdCBlbnRyeSA9IGxlNjRfdG9fY3B1KGJ1ZmZlcltpXSk7 CisrICAgICAgICAgICAgdWludDY0X3Qgc2VjdG9yID0gZW50cnkgJiAweDAwMDBmZmZmZmZmZmZm ZmZVTEw7CisrICAgICAgICAgICAgdWludDE2X3QgY291bnQgPSBlbnRyeSA+PiA0ODsKKyAKKy0g ICAgICAgICAgICAgICAgLyogNi1ieXRlIExCQSArIDItYnl0ZSByYW5nZSBwZXIgZW50cnkgKi8K Ky0gICAgICAgICAgICAgICAgdWludDY0X3QgZW50cnkgPSBsZTY0X3RvX2NwdShidWZmZXJbaV0p OworLSAgICAgICAgICAgICAgICB1aW50NjRfdCBzZWN0b3IgPSBlbnRyeSAmIDB4MDAwMGZmZmZm ZmZmZmZmZlVMTDsKKy0gICAgICAgICAgICAgICAgdWludDE2X3QgY291bnQgPSBlbnRyeSA+PiA0 ODsKKysgICAgICAgICAgICBpZiAoY291bnQgPT0gMCkgeworKyAgICAgICAgICAgICAgICBjb250 aW51ZTsKKysgICAgICAgICAgICB9CisgCistICAgICAgICAgICAgICAgIGlmIChjb3VudCA9PSAw KSB7CistICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKKy0gICAgICAgICAgICAgICAgfQor KyAgICAgICAgICAgIGlmIChpb2NiLT5jYW5jZWxlZCkgeworKyAgICAgICAgICAgICAgICBpb2Ni LT5yZXQgPSAtRUNBTkNFTEVEOworKyAgICAgICAgICAgICAgICBnb3RvIGRvbmU7CisrICAgICAg ICAgICAgfQorIAorLSAgICAgICAgICAgICAgICBpZiAoIWlkZV9zZWN0X3JhbmdlX29rKHMsIHNl Y3RvciwgY291bnQpKSB7CistICAgICAgICAgICAgICAgICAgICBibG9ja19hY2N0X2ludmFsaWQo YmxrX2dldF9zdGF0cyhzLT5ibGspLCBCTE9DS19BQ0NUX1VOTUFQKTsKKy0gICAgICAgICAgICAg ICAgICAgIGlvY2ItPnJldCA9IC1FSU5WQUw7CistICAgICAgICAgICAgICAgICAgICBnb3RvIGRv bmU7CistICAgICAgICAgICAgICAgIH0KKysgICAgICAgICAgICBpZiAoIWlkZV9zZWN0X3Jhbmdl X29rKHMsIHNlY3RvciwgY291bnQpKSB7CisrICAgICAgICAgICAgICAgIGJsb2NrX2FjY3RfaW52 YWxpZChibGtfZ2V0X3N0YXRzKHMtPmJsayksIEJMT0NLX0FDQ1RfVU5NQVApOworKyAgICAgICAg ICAgICAgICBpb2NiLT5yZXQgPSAtRUlOVkFMOworKyAgICAgICAgICAgICAgICBnb3RvIGRvbmU7 CisrICAgICAgICAgICAgfQorIAorLSAgICAgICAgICAgICAgICBibG9ja19hY2N0X3N0YXJ0KGJs a19nZXRfc3RhdHMocy0+YmxrKSwgJnMtPmFjY3QsCistICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgY291bnQgPDwgQkRSVl9TRUNUT1JfQklUUywgQkxPQ0tfQUNDVF9VTk1BUCk7Cisr ICAgICAgICAgICAgYmxvY2tfYWNjdF9zdGFydChibGtfZ2V0X3N0YXRzKHMtPmJsayksICZzLT5h Y2N0LAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY291bnQgPDwgQkRSVl9TRUNUT1Jf QklUUywgQkxPQ0tfQUNDVF9VTk1BUCk7CisgCistICAgICAgICAgICAgICAgIC8qIEdvdCBhbiBl bnRyeSEgU3VibWl0IGFuZCBleGl0LiAgKi8KKy0gICAgICAgICAgICAgICAgcmV0ID0gYmxrX2Nv X3BkaXNjYXJkKHMtPmJsaywKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHNlY3RvciA8PCBCRFJWX1NFQ1RPUl9CSVRTLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgY291bnQgPDwgQkRSVl9TRUNUT1JfQklUUywKKy0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIEJEUlZfUkVRX05PX1FVRVVFKTsKKy0gICAgICAgICAgICAg ICAgZ290byBsb29wOworKyAgICAgICAgICAgIC8qIEdvdCBhbiBlbnRyeSEgU3VibWl0IGFuZCBl eGl0LiAgKi8KKysgICAgICAgICAgICByZXQgPSBibGtfY29fcGRpc2NhcmQocy0+YmxrLAorKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWN0b3IgPDwgQkRSVl9TRUNUT1JfQklU UywKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY291bnQgPDwgQkRSVl9TRUNU T1JfQklUUywKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQkRSVl9SRVFfTk9f UVVFVUUpOworKyAgICAgICAgICAgIGlmIChyZXQgPj0gMCkgeworKyAgICAgICAgICAgICAgICBi bG9ja19hY2N0X2RvbmUoYmxrX2dldF9zdGF0cyhzLT5ibGspLCAmcy0+YWNjdCk7CisrICAgICAg ICAgICAgfSBlbHNlIHsKKysgICAgICAgICAgICAgICAgaW9jYi0+cmV0ID0gcmV0OworKyAgICAg ICAgICAgICAgICBibG9ja19hY2N0X2ZhaWxlZChibGtfZ2V0X3N0YXRzKHMtPmJsayksICZzLT5h Y2N0KTsKKysgICAgICAgICAgICAgICAgZ290byBkb25lOworICAgICAgICAgICAgIH0KKy0KKy0g ICAgICAgICAgICBpb2NiLT5qKys7CistICAgICAgICAgICAgaW9jYi0+aSA9IC0xOworICAgICAg ICAgfQorLSAgICB9IGVsc2UgeworLSAgICAgICAgaW9jYi0+cmV0ID0gcmV0OworICAgICB9Cisg CisrICAgIGlvY2ItPnJldCA9IDA7CisgZG9uZToKKyAgICAgaWYgKGlvY2ItPmJoKSB7CisgICAg ICAgICByZXBsYXlfYmhfc2NoZWR1bGVfZXZlbnQoaW9jYi0+YmgpOworQEAgLTUzMyw4ICs1MjUs NyBAQCBCbG9ja0FJT0NCICppZGVfaXNzdWVfdHJpbSgKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICZERVZJQ0UoZGV2KS0+bWVtX3JlZW50cmFuY3lfZ3VhcmQpOworICAgICBp b2NiLT5yZXQgPSAwOworICAgICBpb2NiLT5xaW92ID0gcWlvdjsKKy0gICAgaW9jYi0+aSA9IC0x OworLSAgICBpb2NiLT5qID0gMDsKKysgICAgaW9jYi0+Y2FuY2VsZWQgPSBmYWxzZTsKKyAKKyAg ICAgY28gPSBxZW11X2Nvcm91dGluZV9jcmVhdGUoaWRlX3RyaW1fY29fZW50cnksIGlvY2IpOwor ICAgICBhaW9fY29fZW50ZXIocWVtdV9nZXRfY3VycmVudF9haW9fY29udGV4dCgpLCBjbyk7Cist LSAKKzIuNTIuMAorCgpkaWZmIC0tZ2l0IGEva3ZtLWlkZS1GaXgtcG90ZW50aWFsLWFzc2VydGlv bi1mYWlsdXJlLW9uLVZNLXN0b3AtZm9yLVAucGF0Y2ggYi9rdm0taWRlLUZpeC1wb3RlbnRpYWwt YXNzZXJ0aW9uLWZhaWx1cmUtb24tVk0tc3RvcC1mb3ItUC5wYXRjaApuZXcgZmlsZSBtb2RlIDEw MDY0NAppbmRleCAwMDAwMDAwLi5hZTdjMjk1Ci0tLSAvZGV2L251bGwKKysrIGIva3ZtLWlkZS1G aXgtcG90ZW50aWFsLWFzc2VydGlvbi1mYWlsdXJlLW9uLVZNLXN0b3AtZm9yLVAucGF0Y2gKQEAg LTAsMCArMSw1NyBAQAorRnJvbSBiYTQzMGNjZTE4MTM4ODcyM2VjMmQzMTc0MTk1ZTFkNDY4ZWQx OGIyIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogS2V2aW4gV29sZiA8a3dvbGZAcmVk aGF0LmNvbT4KK0RhdGU6IFRodSwgMjYgTWFyIDIwMjYgMTc6NTE6MjQgKzAxMDAKK1N1YmplY3Q6 IFtQQVRDSCA0MS81Ml0gaWRlOiBGaXggcG90ZW50aWFsIGFzc2VydGlvbiBmYWlsdXJlIG9uIFZN IHN0b3AgZm9yIFBJTworIHJlYWQgZXJyb3IKKworUkgtQXV0aG9yOiBLZXZpbiBXb2xmIDxrd29s ZkByZWRoYXQuY29tPgorUkgtTWVyZ2VSZXF1ZXN0OiA1MDQ6IHZpcnQtc3RvcmFnZTogQmFja3Bv cnQgc3RhYmxlIGJyYW5jaCBmaXhlcworUkgtSmlyYTogUkhFTC0xODYzODQKK1JILUFja2VkLWJ5 OiBTdGVmYW4gSGFqbm9jemkgPHN0ZWZhbmhhQHJlZGhhdC5jb20+CitSSC1BY2tlZC1ieTogTWly b3NsYXYgUmV6YW5pbmEgPG1yZXphbmluQHJlZGhhdC5jb20+CitSSC1Db21taXQ6IFszNC80NV0g NGE2ZGIwOTg0MWZmYTQzMjNlMTFhOWU0N2UxNzBjOTE5ZDI5MmIzZSAoa213b2xmL2NlbnRvcy1x ZW11LWt2bSkKKworaWRlX3NlY3Rvcl9yZWFkKCkgYXMgd2VsbCBhcyBpdHMgY2FsbGVycyBuZWds ZWN0IHRvIGNhbGwgaWRlX3NldF9yZXRyeSgpCitiZWZvcmUgc3RhcnRpbmcgSS9PLiBJZiB0aGUg SS9PIGZhaWxzLCB0aGlzIG1lYW5zIHRoYXQgdGhlIHJldHJ5CitpbmZvcm1hdGlvbiBpcyBzdGFs ZS4gSW4gcGFydGljdWxhciwgaWRlX2hhbmRsZV9yd19lcnJvcigpIGhhcyBhbgorYXNzZXJ0aW9u IHRoYXQgcy0+YnVzLT5yZXRyeV91bml0ID09IHMtPnVuaXQsIHdoaWNoIGNhbiBmYWlsIGlmIGVp dGhlcgordGhlcmUgd2FzIG5vIHByZXZpb3VzIHJlcXVlc3Qgb3IgaXQgY2FtZSBmcm9tIGFub3Ro ZXIgZGV2aWNlIG9uIHRoZSBidXMuCitJZiB0aGUgYXNzZXJ0aW9uIHdlcmVuJ3QgdGhlcmUsIGEg d3JvbmcgcmVxdWVzdCB3b3VsZCBiZSByZXRyaWVkIGFmdGVyCityZXN1bWluZyB0aGUgVk0uCisK K0ZpeCB0aGlzIGJ5IGFkZGluZyBhIGlkZV9zZXRfcmV0cnkoKSBjYWxsIHRvIGlkZV9zZWN0b3Jf cmVhZCgpLgorCitUaGlzIGFmZmVjdHMgb25seSByZWFkcyBiZWNhdXNlIGlkZV90cmFuc2Zlcl9z dGFydCgpIGRvZXMgY2FsbAoraWRlX3NldF9yZXRyeSgpLiBGb3Igd3JpdGVzLCB0aGUgZGF0YSB0 cmFuc2ZlciBjb21lcyBmaXJzdCBhbmQgdGhlIEkvTworaXMgb25seSBzdGFydGVkIHdoZW4gdGhl IGRhdGEgaGFzIGJlZW4gcmVhZCBpbnRvIHMtPmlvX2J1ZmZlciwgc28gYnkKK3RoYXQgdGltZSwg aWRlX3NldF9yZXRyeSgpIGhhcyBiZWVuIGNhbGxlZC4gRm9yIHJlYWRzLCBob3dldmVyLCB0aGUg SS9PCitjb21lcyBmaXJzdCBhbmQgb25seSB0aGVuIHRoZSBkYXRhIGlzIHRyYW5zZmVycmVkIHRv IHRoZSBndWVzdCwgc28gdGhlCitjYWxsIGluIGlkZV90cmFuc2Zlcl9zdGFydCgpIGlzIHRvbyBs YXRlLgorCitCdWdsaW5rOiBodHRwczovL3JlZGhhdC5hdGxhc3NpYW4ubmV0L2Jyb3dzZS9SSEVM LTE1MzUzNworUmVwb3J0ZWQtYnk6IFRpbmd0aW5nIE1hbyA8dGltYW9AcmVkaGF0LmNvbT4KK1Np Z25lZC1vZmYtYnk6IEtldmluIFdvbGYgPGt3b2xmQHJlZGhhdC5jb20+CitNZXNzYWdlLUlEOiA8 MjAyNjAzMjYxNjUxMjQuMTM4NTkzLTEta3dvbGZAcmVkaGF0LmNvbT4KK1NpZ25lZC1vZmYtYnk6 IEtldmluIFdvbGYgPGt3b2xmQHJlZGhhdC5jb20+CisoY2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1p dCA1OWMxZDMxMTM2Njg4NDE1ZTVkNjgyYTg3OTQyMjkyZGJiM2NhYWViKQorU2lnbmVkLW9mZi1i eTogTWljaGFlbCBUb2thcmV2IDxtanRAdGxzLm1zay5ydT4KK1NpZ25lZC1vZmYtYnk6IEtldmlu IFdvbGYgPGt3b2xmQHJlZGhhdC5jb20+CistLS0KKyBody9pZGUvY29yZS5jIHwgMSArCisgMSBm aWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspCisKK2RpZmYgLS1naXQgYS9ody9pZGUvY29yZS5j IGIvaHcvaWRlL2NvcmUuYworaW5kZXggOGI5ZjA2NTQ3Yi4uYmY2MTZiNzcwMyAxMDA2NDQKKy0t LSBhL2h3L2lkZS9jb3JlLmMKKysrKyBiL2h3L2lkZS9jb3JlLmMKK0BAIC03ODksNiArNzg5LDcg QEAgc3RhdGljIHZvaWQgaWRlX3NlY3Rvcl9yZWFkKElERVN0YXRlICpzKQorICAgICBzLT5lcnJv ciA9IDA7IC8qIG5vdCBuZWVkZWQgYnkgSURFIHNwZWMsIGJ1dCBuZWVkZWQgYnkgV2luZG93cyAq LworICAgICBzZWN0b3JfbnVtID0gaWRlX2dldF9zZWN0b3Iocyk7CisgICAgIG4gPSBzLT5uc2Vj dG9yOworKyAgICBpZGVfc2V0X3JldHJ5KHMpOworIAorICAgICBpZiAobiA9PSAwKSB7CisgICAg ICAgICBpZGVfdHJhbnNmZXJfc3RvcChzKTsKKy0tIAorMi41Mi4wCisKCmRpZmYgLS1naXQgYS9r dm0taWRlLU1pbmltYWwtZml4LWZvci1kZWFkbG9jay1iZXR3ZWVuLVRSSU0tYW5kLWRyYWluLnBh dGNoIGIva3ZtLWlkZS1NaW5pbWFsLWZpeC1mb3ItZGVhZGxvY2stYmV0d2Vlbi1UUklNLWFuZC1k cmFpbi5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNzI5NmE1Ci0t LSAvZGV2L251bGwKKysrIGIva3ZtLWlkZS1NaW5pbWFsLWZpeC1mb3ItZGVhZGxvY2stYmV0d2Vl bi1UUklNLWFuZC1kcmFpbi5wYXRjaApAQCAtMCwwICsxLDE0MSBAQAorRnJvbSBiMmNjNzNjNDll ZWVlN2YyNTYyNmM0ZmRiYjlhZWFmNTYxZmZjZGZkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQor RnJvbTogS2V2aW4gV29sZiA8a3dvbGZAcmVkaGF0LmNvbT4KK0RhdGU6IFR1ZSwgMjEgQXByIDIw MjYgMTg6MTE6MjkgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSCAwNC81Ml0gaWRlOiBNaW5pbWFsIGZp eCBmb3IgZGVhZGxvY2sgYmV0d2VlbiBUUklNIGFuZCBkcmFpbgorCitSSC1BdXRob3I6IEtldmlu IFdvbGYgPGt3b2xmQHJlZGhhdC5jb20+CitSSC1NZXJnZVJlcXVlc3Q6IDUwMzogaWRlOiBGaXgg ZGVhZGxvY2sgYmV0d2VlbiBUUklNIGFuZCBkcmFpbgorUkgtSmlyYTogUkhFTC0xMjE2ODYKK1JI LUFja2VkLWJ5OiBIYW5uYSBDemVuY3playA8aHJlaXR6QHJlZGhhdC5jb20+CitSSC1BY2tlZC1i eTogU3RlZmFuIEhham5vY3ppIDxzdGVmYW5oYUByZWRoYXQuY29tPgorUkgtQ29tbWl0OiBbNC83 XSA0MzI0NDQ2Zjg3YzFlN2Q1NmNhMTNiMzc0MGQxMGJmNWVkNjRlOGM2IChrbXdvbGYvY2VudG9z LXFlbXUta3ZtKQorCitUaGUgaW1wbGVtZW50YXRpb24gb2YgVFJJTSBpbiBJREUgY2FuIGNoYWlu IG11bHRpcGxlIGRpc2NhcmQgcmVxdWVzdHMKK2FuZCB1c2VzIGJsa19pbmMvZGVjX2luX2ZsaWdo dCgpIHRvIG1ha2Ugc3VyZSB0aGF0IHRoZSB3aG9sZSBUUklNCitvcGVyYXRpb24gaGFzIGNvbXBs ZXRlZCB3aGVuIHRoZSBkZXZpY2UgbmVlZHMgdG8gYmUgcXVpZXNjZW50IChlLmcuIGZvcgordGhl IGRyYWluIHdoZW4gcGVyZm9ybWluZyBhbiBJREUgcmVzZXQsIGl0IHdvdWxkIGJlIGJhZCBpZiBh biBJREUKK3JlcXVlc3QgbGlrZSBUUklNIHdlcmUgc3RpbGwgaW4gZmxpZ2h0KS4KKworVGhlIHBy b2JsZW0gaXMgdGhhdCBlYWNoIGRyYWluIHJlcXVlc3QgY2FsbHMgYmxrX3dhaXRfd2hpbGVfZHJh aW5lZCgpCithbmQgd2hlbiBkcmFpbmluZywgaXQgd2FpdHMgdW50aWwgdGhlIGRyYWluZWQgc2Vj dGlvbiBlbmRzLiBBdCB0aGUgc2FtZQordGltZSwgZHJhaW5fYmVnaW4gY2FuIG9ubHkgcmV0dXJu IGlmIHRoZSB3aG9sZSBUUklNIG9wZXJhdGlvbiBoYXMKK2NvbXBsZXRlZC4gVGhpcyBpcyBhIGNs YXNzaWMgZGVhZGxvY2suCisKK1VzZSBibGtfY29fc3RhcnQvZW5kX3JlcXVlc3QoKSBhbmQgQkRS Vl9SRVFfTk9fUVVFVUUgdG8gYXZvaWQgdGhlCitwcm9ibGVtLiBUaGlzIHJlcXVpcmVzIG1vdmlu ZyB0aGUgVFJJTSBzdGF0ZSBtYWNoaW5lIHRvIGEgY29yb3V0aW5lLgorVGhpcyBjb21taXQgZG9l cyB0aGUgbWluaW1hbCBjb252ZXJzaW9uIHNvIHRoYXQgd2UgZG8gaGF2ZSBhIGNvcm91dGluZQor dGhhdCB3b3JrcyBmb3IgdGhlIGZpeCwgYnV0IGl0IHN0aWxsIGxvb2tzIG11Y2ggbGlrZSBhIGNh bGxiYWNrLWJhc2VkCitpbXBsZW1lbnRhdGlvbi4gVGhpcyB3aWxsIGJlIGNsZWFuZWQgdXAgaW4g dGhlIG5leHQgcGF0Y2guCisKK0NjOiBxZW11LXN0YWJsZUBub25nbnUub3JnCitGaXhlczogN2U1 Y2RiMzQ1Zjc3ICgnaWRlOiBJbmNyZW1lbnQgQkIgaW4tZmxpZ2h0IGNvdW50ZXIgZm9yIFRSSU0g QkgnKQorQnVnbGluazogaHR0cHM6Ly9yZWRoYXQuYXRsYXNzaWFuLm5ldC9icm93c2UvUkhFTC0x MjE2ODYKK1NpZ25lZC1vZmYtYnk6IEtldmluIFdvbGYgPGt3b2xmQHJlZGhhdC5jb20+CitNZXNz YWdlLUlEOiA8MjAyNjA0MjExNjExMzIuOTk4NzgtNS1rd29sZkByZWRoYXQuY29tPgorU2lnbmVk LW9mZi1ieTogS2V2aW4gV29sZiA8a3dvbGZAcmVkaGF0LmNvbT4KKyhjaGVycnkgcGlja2VkIGZy b20gY29tbWl0IDA5NWMwOGE3YmE2OGNhYmFhNmUwY2U3YThhMDgwNGE5NDk1NDJjNGMpCitTaWdu ZWQtb2ZmLWJ5OiBNaWNoYWVsIFRva2FyZXYgPG1qdEB0bHMubXNrLnJ1PgorU2lnbmVkLW9mZi1i eTogS2V2aW4gV29sZiA8a3dvbGZAcmVkaGF0LmNvbT4KKy0tLQorIGh3L2lkZS9jb3JlLmMgfCAz NyArKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tCisgMSBmaWxlIGNoYW5nZWQs IDE4IGluc2VydGlvbnMoKyksIDE5IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvaHcvaWRl L2NvcmUuYyBiL2h3L2lkZS9jb3JlLmMKK2luZGV4IGIxNDk4M2VjNTQuLjgyYzNhZGExNGEgMTAw NjQ0CistLS0gYS9ody9pZGUvY29yZS5jCisrKysgYi9ody9pZGUvY29yZS5jCitAQCAtNDIwLDcg KzQyMCw2IEBAIHR5cGVkZWYgc3RydWN0IFRyaW1BSU9DQiB7CisgICAgIFFFTVVCSCAqYmg7Cisg ICAgIGludCByZXQ7CisgICAgIFFFTVVJT1ZlY3RvciAqcWlvdjsKKy0gICAgQmxvY2tBSU9DQiAq YWlvY2I7CisgICAgIGludCBpLCBqOworIH0gVHJpbUFJT0NCOworIAorQEAgLTQzMywxMSArNDMy LDYgQEAgc3RhdGljIHZvaWQgdHJpbV9haW9fY2FuY2VsKEJsb2NrQUlPQ0IgKmFjYikKKyAgICAg aW9jYi0+aSA9IChpb2NiLT5xaW92LT5pb3ZbaW9jYi0+al0uaW92X2xlbiAvIDgpIC0gMTsKKyAK KyAgICAgaW9jYi0+cmV0ID0gLUVDQU5DRUxFRDsKKy0KKy0gICAgaWYgKGlvY2ItPmFpb2NiKSB7 CistICAgICAgICBibGtfYWlvX2NhbmNlbF9hc3luYyhpb2NiLT5haW9jYik7CistICAgICAgICBp b2NiLT5haW9jYiA9IE5VTEw7CistICAgIH0KKyB9CisgCisgc3RhdGljIGNvbnN0IEFJT0NCSW5m byB0cmltX2Fpb2NiX2luZm8gPSB7CitAQCAtNDU2LDE1ICs0NTAsMjAgQEAgc3RhdGljIHZvaWQg aWRlX3RyaW1fYmhfY2Iodm9pZCAqb3BhcXVlKQorICAgICBpb2NiLT5iaCA9IE5VTEw7CisgICAg IHFlbXVfYWlvX3VucmVmKGlvY2IpOworIAorLSAgICAvKiBQYWlyZWQgd2l0aCBhbiBpbmNyZW1l bnQgaW4gaWRlX2lzc3VlX3RyaW0oKSAqLworLSAgICBibGtfZGVjX2luX2ZsaWdodChibGspOwor KyAgICAvKiBQYWlyZWQgd2l0aCBibGtfY29fc3RhcnRfcmVxdWVzdCBpbiBpZGVfdHJpbV9jb19l bnRyeSgpICovCisrICAgIGJsa19lbmRfcmVxdWVzdChibGspOworIH0KKyAKKy1zdGF0aWMgdm9p ZCBpZGVfaXNzdWVfdHJpbV9jYih2b2lkICpvcGFxdWUsIGludCByZXQpCisrc3RhdGljIHZvaWQg Y29yb3V0aW5lX2ZuIGlkZV90cmltX2NvX2VudHJ5KHZvaWQgKm9wYXF1ZSkKKyB7CisgICAgIFRy aW1BSU9DQiAqaW9jYiA9IG9wYXF1ZTsKKyAgICAgSURFU3RhdGUgKnMgPSBpb2NiLT5zOworKyAg ICBpbnQgcmV0ID0gMDsKKysKKysgICAgLyogUGFpcmVkIHdpdGggYmxrX2VuZF9yZXF1ZXN0IGlu IGlkZV90cmltX2JoX2NiKCkgKi8KKysgICAgYmxrX2NvX3N0YXJ0X3JlcXVlc3Qocy0+YmxrKTsK KyAKKytsb29wOgorICAgICBpZiAoaW9jYi0+aSA+PSAwKSB7CisgICAgICAgICBpZiAocmV0ID49 IDApIHsKKyAgICAgICAgICAgICBibG9ja19hY2N0X2RvbmUoYmxrX2dldF9zdGF0cyhzLT5ibGsp LCAmcy0+YWNjdCk7CitAQCAtNDk5LDExICs0OTgsMTEgQEAgc3RhdGljIHZvaWQgaWRlX2lzc3Vl X3RyaW1fY2Iodm9pZCAqb3BhcXVlLCBpbnQgcmV0KQorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGNvdW50IDw8IEJEUlZfU0VDVE9SX0JJVFMsIEJMT0NLX0FDQ1RfVU5NQVApOwor IAorICAgICAgICAgICAgICAgICAvKiBHb3QgYW4gZW50cnkhIFN1Ym1pdCBhbmQgZXhpdC4gICov CistICAgICAgICAgICAgICAgIGlvY2ItPmFpb2NiID0gYmxrX2Fpb19wZGlzY2FyZChzLT5ibGss CistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWN0b3Ig PDwgQkRSVl9TRUNUT1JfQklUUywKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGNvdW50IDw8IEJEUlZfU0VDVE9SX0JJVFMsCistICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZGVfaXNzdWVfdHJpbV9jYiwgb3BhcXVl KTsKKy0gICAgICAgICAgICAgICAgcmV0dXJuOworKyAgICAgICAgICAgICAgICByZXQgPSBibGtf Y29fcGRpc2NhcmQocy0+YmxrLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgc2VjdG9yIDw8IEJEUlZfU0VDVE9SX0JJVFMsCisrICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBjb3VudCA8PCBCRFJWX1NFQ1RPUl9CSVRTLAorKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgQkRSVl9SRVFfTk9fUVVFVUUpOworKyAgICAgICAgICAg ICAgICBnb3RvIGxvb3A7CisgICAgICAgICAgICAgfQorIAorICAgICAgICAgICAgIGlvY2ItPmor KzsKK0BAIC01MTQsNyArNTEzLDYgQEAgc3RhdGljIHZvaWQgaWRlX2lzc3VlX3RyaW1fY2Iodm9p ZCAqb3BhcXVlLCBpbnQgcmV0KQorICAgICB9CisgCisgZG9uZToKKy0gICAgaW9jYi0+YWlvY2Ig PSBOVUxMOworICAgICBpZiAoaW9jYi0+YmgpIHsKKyAgICAgICAgIHJlcGxheV9iaF9zY2hlZHVs ZV9ldmVudChpb2NiLT5iaCk7CisgICAgIH0KK0BAIC01MjcsOSArNTI1LDcgQEAgQmxvY2tBSU9D QiAqaWRlX2lzc3VlX3RyaW0oCisgICAgIElERVN0YXRlICpzID0gb3BhcXVlOworICAgICBJREVE ZXZpY2UgKmRldiA9IHMtPnVuaXQgPyBzLT5idXMtPnNsYXZlIDogcy0+YnVzLT5tYXN0ZXI7Cisg ICAgIFRyaW1BSU9DQiAqaW9jYjsKKy0KKy0gICAgLyogUGFpcmVkIHdpdGggYSBkZWNyZW1lbnQg aW4gaWRlX3RyaW1fYmhfY2IoKSAqLworLSAgICBibGtfaW5jX2luX2ZsaWdodChzLT5ibGspOwor KyAgICBDb3JvdXRpbmUgKmNvOworIAorICAgICBpb2NiID0gYmxrX2Fpb19nZXQoJnRyaW1fYWlv Y2JfaW5mbywgcy0+YmxrLCBjYiwgY2Jfb3BhcXVlKTsKKyAgICAgaW9jYi0+cyA9IHM7CitAQCAt NTM5LDcgKzUzNSwxMCBAQCBCbG9ja0FJT0NCICppZGVfaXNzdWVfdHJpbSgKKyAgICAgaW9jYi0+ cWlvdiA9IHFpb3Y7CisgICAgIGlvY2ItPmkgPSAtMTsKKyAgICAgaW9jYi0+aiA9IDA7CistICAg IGlkZV9pc3N1ZV90cmltX2NiKGlvY2IsIDApOworKworKyAgICBjbyA9IHFlbXVfY29yb3V0aW5l X2NyZWF0ZShpZGVfdHJpbV9jb19lbnRyeSwgaW9jYik7CisrICAgIGFpb19jb19lbnRlcihxZW11 X2dldF9jdXJyZW50X2Fpb19jb250ZXh0KCksIGNvKTsKKysKKyAgICAgcmV0dXJuICZpb2NiLT5j b21tb247CisgfQorIAorLS0gCisyLjUyLjAKKwoKZGlmZiAtLWdpdCBhL2t2bS1pZGUtdGVzdC1G YWN0b3Itb3V0LXdhaXRfZG1hX2NvbXBsZXRpb24ucGF0Y2ggYi9rdm0taWRlLXRlc3QtRmFjdG9y LW91dC13YWl0X2RtYV9jb21wbGV0aW9uLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4 IDAwMDAwMDAuLjE4MTA3YjYKLS0tIC9kZXYvbnVsbAorKysgYi9rdm0taWRlLXRlc3QtRmFjdG9y LW91dC13YWl0X2RtYV9jb21wbGV0aW9uLnBhdGNoCkBAIC0wLDAgKzEsOTEgQEAKK0Zyb20gMDMy NzRmNzczMTdiNDk0YzhhNWIyOWMwYjNiZjcxMTI1OTJkNWQ4YSBNb24gU2VwIDE3IDAwOjAwOjAw IDIwMDEKK0Zyb206IEtldmluIFdvbGYgPGt3b2xmQHJlZGhhdC5jb20+CitEYXRlOiBUdWUsIDIx IEFwciAyMDI2IDE4OjExOjMxICswMjAwCitTdWJqZWN0OiBbUEFUQ0ggMDYvNTJdIGlkZS10ZXN0 OiBGYWN0b3Igb3V0IHdhaXRfZG1hX2NvbXBsZXRpb24oKQorCitSSC1BdXRob3I6IEtldmluIFdv bGYgPGt3b2xmQHJlZGhhdC5jb20+CitSSC1NZXJnZVJlcXVlc3Q6IDUwMzogaWRlOiBGaXggZGVh ZGxvY2sgYmV0d2VlbiBUUklNIGFuZCBkcmFpbgorUkgtSmlyYTogUkhFTC0xMjE2ODYKK1JILUFj a2VkLWJ5OiBIYW5uYSBDemVuY3playA8aHJlaXR6QHJlZGhhdC5jb20+CitSSC1BY2tlZC1ieTog U3RlZmFuIEhham5vY3ppIDxzdGVmYW5oYUByZWRoYXQuY29tPgorUkgtQ29tbWl0OiBbNi83XSA2 NDBkYWE5MzgzNDk4NDdmMzUzMWNmYzkwZTljOWQ0ZDJiMDVmY2M3IChrbXdvbGYvY2VudG9zLXFl bXUta3ZtKQorCitTaWduZWQtb2ZmLWJ5OiBLZXZpbiBXb2xmIDxrd29sZkByZWRoYXQuY29tPgor TWVzc2FnZS1JRDogPDIwMjYwNDIxMTYxMTMyLjk5ODc4LTcta3dvbGZAcmVkaGF0LmNvbT4KK1Np Z25lZC1vZmYtYnk6IEtldmluIFdvbGYgPGt3b2xmQHJlZGhhdC5jb20+CisoY2hlcnJ5IHBpY2tl ZCBmcm9tIGNvbW1pdCA5Mjg1NGM5Yzc1MzliZGJmNGY5YzFhYmIzM2RkM2JhNTlmZjkxZTU4KQor U2lnbmVkLW9mZi1ieTogTWljaGFlbCBUb2thcmV2IDxtanRAdGxzLm1zay5ydT4KK1NpZ25lZC1v ZmYtYnk6IEtldmluIFdvbGYgPGt3b2xmQHJlZGhhdC5jb20+CistLS0KKyB0ZXN0cy9xdGVzdC9p ZGUtdGVzdC5jIHwgNDggKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0t CisgMSBmaWxlIGNoYW5nZWQsIDI5IGluc2VydGlvbnMoKyksIDE5IGRlbGV0aW9ucygtKQorCitk aWZmIC0tZ2l0IGEvdGVzdHMvcXRlc3QvaWRlLXRlc3QuYyBiL3Rlc3RzL3F0ZXN0L2lkZS10ZXN0 LmMKK2luZGV4IGNlZWU0NDRhOWUuLmM2ZGNiMmMwNzQgMTAwNjQ0CistLS0gYS90ZXN0cy9xdGVz dC9pZGUtdGVzdC5jCisrKysgYi90ZXN0cy9xdGVzdC9pZGUtdGVzdC5jCitAQCAtMjAwLDYgKzIw MCwzNCBAQCBzdGF0aWMgdWludDY0X3QgdHJpbV9yYW5nZV9sZSh1aW50NjRfdCBzZWN0b3IsIHVp bnQxNl90IGNvdW50KQorICAgICByZXR1cm4gY3B1X3RvX2xlNjQoKCh1aW50NjRfdCljb3VudCA8 PCA0OCkgKyBzZWN0b3IpOworIH0KKyAKKytzdGF0aWMgdWludDhfdCB3YWl0X2RtYV9jb21wbGV0 aW9uKFFUZXN0U3RhdGUgKnF0cywgUVBDSURldmljZSAqZGV2LAorKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgUVBDSUJhciBibWRtYV9iYXIsIFFQQ0lCYXIgaWRlX2JhcikKKyt7 CisrICAgIHVpbnQ4X3Qgc3RhdHVzOworKworKyAgICAvKiBXYWl0IGZvciB0aGUgRE1BIHRyYW5z ZmVyIHRvIGNvbXBsZXRlICovCisrICAgIGRvIHsKKysgICAgICAgIHN0YXR1cyA9IHFwY2lfaW9f cmVhZGIoZGV2LCBibWRtYV9iYXIsIGJtcmVnX3N0YXR1cyk7CisrICAgIH0gd2hpbGUgKChzdGF0 dXMgJiAoQk1fU1RTX0FDVElWRSB8IEJNX1NUU19JTlRSKSkgPT0gQk1fU1RTX0FDVElWRSk7Cisr CisrICAgIGdfYXNzZXJ0X2NtcGludChxdGVzdF9nZXRfaXJxKHF0cywgSURFX1BSSU1BUllfSVJR KSwgPT0sCisrICAgICAgICAgICAgICAgICAgICAhIShzdGF0dXMgJiBCTV9TVFNfSU5UUikpOwor KworKyAgICAvKiBDaGVjayBJREUgc3RhdHVzIGNvZGUgKi8KKysgICAgYXNzZXJ0X2JpdF9zZXQo cXBjaV9pb19yZWFkYihkZXYsIGlkZV9iYXIsIHJlZ19zdGF0dXMpLCBEUkRZKTsKKysgICAgYXNz ZXJ0X2JpdF9jbGVhcihxcGNpX2lvX3JlYWRiKGRldiwgaWRlX2JhciwgcmVnX3N0YXR1cyksIEJT WSB8IERSUSk7CisrCisrICAgIC8qIFJlYWRpbmcgdGhlIHN0YXR1cyByZWdpc3RlciBjbGVhcnMg dGhlIElSUSAqLworKyAgICBnX2Fzc2VydCghcXRlc3RfZ2V0X2lycShxdHMsIElERV9QUklNQVJZ X0lSUSkpOworKworKyAgICAvKiBTdG9wIERNQSB0cmFuc2ZlciBpZiBzdGlsbCBhY3RpdmUgKi8K KysgICAgaWYgKHN0YXR1cyAmIEJNX1NUU19BQ1RJVkUpIHsKKysgICAgICAgIHFwY2lfaW9fd3Jp dGViKGRldiwgYm1kbWFfYmFyLCBibXJlZ19jbWQsIDApOworKyAgICB9CisrCisrICAgIHJldHVy biBzdGF0dXM7CisrfQorKworIHN0YXRpYyBpbnQgc2VuZF9kbWFfcmVxdWVzdChRVGVzdFN0YXRl ICpxdHMsIGludCBjbWQsIHVpbnQ2NF90IHNlY3RvciwKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgaW50IG5iX3NlY3RvcnMsIFByZHRFbnRyeSAqcHJkdCwgaW50IHByZHRfZW50cmllcywK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCgqcG9zdF9leGVjKShRUENJRGV2aWNl ICpkZXYsIFFQQ0lCYXIgaWRlX2JhciwKK0BAIC0yODAsMjUgKzMwOCw3IEBAIHN0YXRpYyBpbnQg c2VuZF9kbWFfcmVxdWVzdChRVGVzdFN0YXRlICpxdHMsIGludCBjbWQsIHVpbnQ2NF90IHNlY3Rv ciwKKyAgICAgICAgIHFwY2lfaW9fd3JpdGViKGRldiwgYm1kbWFfYmFyLCBibXJlZ19jbWQsIDAp OworICAgICB9CisgCistICAgIC8qIFdhaXQgZm9yIHRoZSBETUEgdHJhbnNmZXIgdG8gY29tcGxl dGUgKi8KKy0gICAgZG8geworLSAgICAgICAgc3RhdHVzID0gcXBjaV9pb19yZWFkYihkZXYsIGJt ZG1hX2JhciwgYm1yZWdfc3RhdHVzKTsKKy0gICAgfSB3aGlsZSAoKHN0YXR1cyAmIChCTV9TVFNf QUNUSVZFIHwgQk1fU1RTX0lOVFIpKSA9PSBCTV9TVFNfQUNUSVZFKTsKKy0KKy0gICAgZ19hc3Nl cnRfY21waW50KHF0ZXN0X2dldF9pcnEocXRzLCBJREVfUFJJTUFSWV9JUlEpLCA9PSwKKy0gICAg ICAgICAgICAgICAgICAgICEhKHN0YXR1cyAmIEJNX1NUU19JTlRSKSk7CistCistICAgIC8qIENo ZWNrIElERSBzdGF0dXMgY29kZSAqLworLSAgICBhc3NlcnRfYml0X3NldChxcGNpX2lvX3JlYWRi KGRldiwgaWRlX2JhciwgcmVnX3N0YXR1cyksIERSRFkpOworLSAgICBhc3NlcnRfYml0X2NsZWFy KHFwY2lfaW9fcmVhZGIoZGV2LCBpZGVfYmFyLCByZWdfc3RhdHVzKSwgQlNZIHwgRFJRKTsKKy0K Ky0gICAgLyogUmVhZGluZyB0aGUgc3RhdHVzIHJlZ2lzdGVyIGNsZWFycyB0aGUgSVJRICovCist ICAgIGdfYXNzZXJ0KCFxdGVzdF9nZXRfaXJxKHF0cywgSURFX1BSSU1BUllfSVJRKSk7CistCist ICAgIC8qIFN0b3AgRE1BIHRyYW5zZmVyIGlmIHN0aWxsIGFjdGl2ZSAqLworLSAgICBpZiAoc3Rh dHVzICYgQk1fU1RTX0FDVElWRSkgeworLSAgICAgICAgcXBjaV9pb193cml0ZWIoZGV2LCBibWRt YV9iYXIsIGJtcmVnX2NtZCwgMCk7CistICAgIH0KKysgICAgc3RhdHVzID0gd2FpdF9kbWFfY29t cGxldGlvbihxdHMsIGRldiwgYm1kbWFfYmFyLCBpZGVfYmFyKTsKKyAKKyAgICAgZnJlZV9wY2lf ZGV2aWNlKGRldik7CisgCistLSAKKzIuNTIuMAorCgpkaWZmIC0tZ2l0IGEva3ZtLWlkZS10ZXN0 LVRlc3QtcmVzZXQtZHVyaW5nLVRSSU0ucGF0Y2ggYi9rdm0taWRlLXRlc3QtVGVzdC1yZXNldC1k dXJpbmctVFJJTS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45OTVl YTYwCi0tLSAvZGV2L251bGwKKysrIGIva3ZtLWlkZS10ZXN0LVRlc3QtcmVzZXQtZHVyaW5nLVRS SU0ucGF0Y2gKQEAgLTAsMCArMSwxODEgQEAKK0Zyb20gMWQ3ZmY3ZDQ1ZDI1ZDY0ZmMxNzA4N2E3 ZWZhZGNhMTJmYjllZTRlOSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEtldmluIFdv bGYgPGt3b2xmQHJlZGhhdC5jb20+CitEYXRlOiBUdWUsIDIxIEFwciAyMDI2IDE4OjExOjMyICsw MjAwCitTdWJqZWN0OiBbUEFUQ0ggMDcvNTJdIGlkZS10ZXN0OiBUZXN0IHJlc2V0IGR1cmluZyBU UklNCisKK1JILUF1dGhvcjogS2V2aW4gV29sZiA8a3dvbGZAcmVkaGF0LmNvbT4KK1JILU1lcmdl UmVxdWVzdDogNTAzOiBpZGU6IEZpeCBkZWFkbG9jayBiZXR3ZWVuIFRSSU0gYW5kIGRyYWluCitS SC1KaXJhOiBSSEVMLTEyMTY4NgorUkgtQWNrZWQtYnk6IEhhbm5hIEN6ZW5jemVrIDxocmVpdHpA cmVkaGF0LmNvbT4KK1JILUFja2VkLWJ5OiBTdGVmYW4gSGFqbm9jemkgPHN0ZWZhbmhhQHJlZGhh dC5jb20+CitSSC1Db21taXQ6IFs3LzddIGNlMGFiNDQ4YTkyMGQ5MTQ3MmRhN2M4OTA4MGVlYWZh M2Q5Y2Y4MzAgKGttd29sZi9jZW50b3MtcWVtdS1rdm0pCisKK1RoaXMgaXMgYSByZWdyZXNzaW9u IHRlc3QgZm9yIHRoZSBidWcgZml4ZWQgaW4gdGhlIHByZXZpb3VzIGNvbW1pdHMsIGEKK2RlYWRs b2NrIGJldHdlZW4gdGhlIGRyYWluIGlzc3VlZCBieSBhbiBJREUgcmVzZXQgYW5kIHRoZSBUUklN IHN0YXRlCittYWNoaW5lLgorCitTaWduZWQtb2ZmLWJ5OiBLZXZpbiBXb2xmIDxrd29sZkByZWRo YXQuY29tPgorTWVzc2FnZS1JRDogPDIwMjYwNDIxMTYxMTMyLjk5ODc4LTgta3dvbGZAcmVkaGF0 LmNvbT4KK1NpZ25lZC1vZmYtYnk6IEtldmluIFdvbGYgPGt3b2xmQHJlZGhhdC5jb20+CisoY2hl cnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCAyZmEyNGU5NzU1OTk0Zjc2ZjA4ZWEyNDUyMjE1ZWI1MGYy NmY0YzIxKQorU2lnbmVkLW9mZi1ieTogTWljaGFlbCBUb2thcmV2IDxtanRAdGxzLm1zay5ydT4K K1NpZ25lZC1vZmYtYnk6IEtldmluIFdvbGYgPGt3b2xmQHJlZGhhdC5jb20+CistLS0KKyB0ZXN0 cy9xdGVzdC9pZGUtdGVzdC5jIHwgOTUgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKystLS0tCisgMSBmaWxlIGNoYW5nZWQsIDg3IGluc2VydGlvbnMoKyksIDggZGVsZXRpb25z KC0pCisKK2RpZmYgLS1naXQgYS90ZXN0cy9xdGVzdC9pZGUtdGVzdC5jIGIvdGVzdHMvcXRlc3Qv aWRlLXRlc3QuYworaW5kZXggYzZkY2IyYzA3NC4uNzIxZTc4MTcwYiAxMDA2NDQKKy0tLSBhL3Rl c3RzL3F0ZXN0L2lkZS10ZXN0LmMKKysrKyBiL3Rlc3RzL3F0ZXN0L2lkZS10ZXN0LmMKK0BAIC00 MSw4ICs0MSwxMSBAQAorICNkZWZpbmUgSURFX1BDSV9GVU5DICAgIDEKKyAKKyAjZGVmaW5lIElE RV9CQVNFIDB4MWYwCisrI2RlZmluZSBJREVfQkFTRTIgMHgzZjYKKyAjZGVmaW5lIElERV9QUklN QVJZX0lSUSAxNAorIAorKyNkZWZpbmUgSURFX0NUUkxfUkVTRVQgMHgwNAorKworICNkZWZpbmUg QVRBUElfQkxPQ0tfU0laRSAyMDQ4CisgCisgLyogSG93IG1hbnkgYnl0ZXMgdG8gcmVjZWl2ZSB2 aWEgQVRBUEkgUElPIGF0IG9uZSB0aW1lLgorQEAgLTk5LDYgKzEwMiw3IEBAIGVudW0geworIAor ICAgICBDTURGX0FCT1JUICAgICAgPSAweDEwMCwKKyAgICAgQ01ERl9OT19CTSAgICAgID0gMHgy MDAsCisrICAgIENNREZfTk9fV0FJVCAgICA9IDB4NDAwLAorIH07CisgCisgZW51bSB7CitAQCAt MjI4LDIxICsyMzIsMjEgQEAgc3RhdGljIHVpbnQ4X3Qgd2FpdF9kbWFfY29tcGxldGlvbihRVGVz dFN0YXRlICpxdHMsIFFQQ0lEZXZpY2UgKmRldiwKKyAgICAgcmV0dXJuIHN0YXR1czsKKyB9Cisg Cistc3RhdGljIGludCBzZW5kX2RtYV9yZXF1ZXN0KFFUZXN0U3RhdGUgKnF0cywgaW50IGNtZCwg dWludDY0X3Qgc2VjdG9yLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgbmJfc2Vj dG9ycywgUHJkdEVudHJ5ICpwcmR0LCBpbnQgcHJkdF9lbnRyaWVzLAorLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICB2b2lkKCpwb3N0X2V4ZWMpKFFQQ0lEZXZpY2UgKmRldiwgUVBDSUJhciBp ZGVfYmFyLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVp bnQ2NF90IHNlY3RvciwgaW50IG5iX3NlY3RvcnMpKQorK3N0YXRpYyBpbnQgc2VuZF9kbWFfcmVx dWVzdF9kZXYoUVRlc3RTdGF0ZSAqcXRzLCBRUENJRGV2aWNlICpkZXYsCisrICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBRUENJQmFyIGJtZG1hX2JhciwgUVBDSUJhciBpZGVfYmFyLCBp bnQgY21kLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDY0X3Qgc2VjdG9y LCBpbnQgbmJfc2VjdG9ycywKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFByZHRF bnRyeSAqcHJkdCwgaW50IHByZHRfZW50cmllcywKKysgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHZvaWQoKnBvc3RfZXhlYykoUVBDSURldmljZSAqZGV2LAorKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBRUENJQmFyIGlkZV9iYXIsCisrICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ2NF90IHNl Y3RvciwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg aW50IG5iX3NlY3RvcnMpKQorIHsKKy0gICAgUVBDSURldmljZSAqZGV2OworLSAgICBRUENJQmFy IGJtZG1hX2JhciwgaWRlX2JhcjsKKyAgICAgdWludHB0cl90IGd1ZXN0X3ByZHQ7CisgICAgIHNp emVfdCBsZW47CisgICAgIGJvb2wgZnJvbV9kZXY7CisgICAgIHVpbnQ4X3Qgc3RhdHVzOworICAg ICBpbnQgZmxhZ3M7CisgCistICAgIGRldiA9IGdldF9wY2lfZGV2aWNlKHF0cywgJmJtZG1hX2Jh ciwgJmlkZV9iYXIpOworLQorICAgICBmbGFncyA9IGNtZCAmIH4weGZmOworICAgICBjbWQgJj0g MHhmZjsKKyAKK0BAIC0zMDgsOCArMzEyLDI4IEBAIHN0YXRpYyBpbnQgc2VuZF9kbWFfcmVxdWVz dChRVGVzdFN0YXRlICpxdHMsIGludCBjbWQsIHVpbnQ2NF90IHNlY3RvciwKKyAgICAgICAgIHFw Y2lfaW9fd3JpdGViKGRldiwgYm1kbWFfYmFyLCBibXJlZ19jbWQsIDApOworICAgICB9CisgCisr ICAgIGlmIChmbGFncyAmIENNREZfTk9fV0FJVCkgeworKyAgICAgICAgcmV0dXJuIDA7CisrICAg IH0KKysKKyAgICAgc3RhdHVzID0gd2FpdF9kbWFfY29tcGxldGlvbihxdHMsIGRldiwgYm1kbWFf YmFyLCBpZGVfYmFyKTsKKyAKKysgICAgcmV0dXJuIHN0YXR1czsKKyt9CisrCisrc3RhdGljIGlu dCBzZW5kX2RtYV9yZXF1ZXN0KFFUZXN0U3RhdGUgKnF0cywgaW50IGNtZCwgdWludDY0X3Qgc2Vj dG9yLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgbmJfc2VjdG9ycywgUHJkdEVu dHJ5ICpwcmR0LCBpbnQgcHJkdF9lbnRyaWVzLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICB2b2lkKCpwb3N0X2V4ZWMpKFFQQ0lEZXZpY2UgKmRldiwgUVBDSUJhciBpZGVfYmFyLAorKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ2NF90IHNlY3Rv ciwgaW50IG5iX3NlY3RvcnMpKQorK3sKKysgICAgUVBDSURldmljZSAqZGV2OworKyAgICBRUENJ QmFyIGJtZG1hX2JhciwgaWRlX2JhcjsKKysgICAgdWludDhfdCBzdGF0dXM7CisrCisrICAgIGRl diA9IGdldF9wY2lfZGV2aWNlKHF0cywgJmJtZG1hX2JhciwgJmlkZV9iYXIpOworKyAgICBzdGF0 dXMgPSBzZW5kX2RtYV9yZXF1ZXN0X2RldihxdHMsIGRldiwgYm1kbWFfYmFyLCBpZGVfYmFyLAor KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbWQsIHNlY3RvciwgbmJfc2VjdG9y cywgcHJkdCwgcHJkdF9lbnRyaWVzLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBwb3N0X2V4ZWMpOworICAgICBmcmVlX3BjaV9kZXZpY2UoZGV2KTsKKyAKKyAgICAgcmV0dXJu IHN0YXR1czsKK0BAIC00NTcsNiArNDgxLDYwIEBAIHN0YXRpYyB2b2lkIHRlc3RfYm1kbWFfdHJp bSh2b2lkKQorICAgICB0ZXN0X2JtZG1hX3RlYXJkb3duKHF0cyk7CisgfQorIAorK3N0YXRpYyB2 b2lkIHRlc3RfYm1kbWFfdHJpbV9yZXNldCh2b2lkKQorK3sKKysgICAgUVRlc3RTdGF0ZSAqcXRz OworKyAgICBRUENJRGV2aWNlICpkZXY7CisrICAgIFFQQ0lCYXIgYm1kbWFfYmFyLCBpZGVfYmFy LCBpZGVfYmFyMjsKKysgICAgdWludDhfdCBzdGF0dXM7CisrICAgIGNvbnN0IHVpbnQ2NF90IHRy aW1fcmFuZ2VbXSA9IHsKKysgICAgICAgIHRyaW1fcmFuZ2VfbGUoMCwgMiksCisrICAgICAgICB0 cmltX3JhbmdlX2xlKDYsIDgpLAorKyAgICB9OworKyAgICBzaXplX3QgbGVuID0gNTEyOworKyAg ICB1aW50OF90ICpidWY7CisrICAgIHVpbnRwdHJfdCBndWVzdF9idWY7CisrICAgIFByZHRFbnRy eSBwcmR0WzFdOworKworKyAgICBxdHMgPSBpZGVfdGVzdF9zdGFydCgKKysgICAgICAgICItYmxv Y2tkZXYgZmlsZSxmaWxlbmFtZT0lcyxub2RlLW5hbWU9aW1nICIKKysgICAgICAgICItYmxvY2tk ZXYgYmxrZGVidWcsaW1hZ2U9aW1nLG5vZGUtbmFtZT1kYmcsZGlzY2FyZD11bm1hcCwiCisrICAg ICAgICAiaW5qZWN0LWVycm9yLjAuZXZlbnQ9bm9uZSxpbmplY3QtZXJyb3IuMC5pb3R5cGU9ZGlz Y2FyZCwiCisrICAgICAgICAiaW5qZWN0LWVycm9yLjAuZXJybm89MCxpbmplY3QtZXJyb3IuMC5k ZWxheS1ucz0xMDAwMDAwICIKKysgICAgICAgICItZGV2aWNlIGlkZS1oZCxkcml2ZT1kYmcsYnVz PWlkZS4wIiwKKysgICAgICAgIHRtcF9wYXRoWzBdKTsKKysgICAgcXRlc3RfaXJxX2ludGVyY2Vw dF9pbihxdHMsICJpb2FwaWMiKTsKKysKKysgICAgZ3Vlc3RfYnVmID0gZ3Vlc3RfYWxsb2MoJmd1 ZXN0X21hbGxvYywgbGVuKTsKKysgICAgcHJkdFswXS5hZGRyID0gY3B1X3RvX2xlMzIoZ3Vlc3Rf YnVmKSwKKysgICAgcHJkdFswXS5zaXplID0gY3B1X3RvX2xlMzIobGVuIHwgUFJEVF9FT1QpLAor KworKyAgICBkZXYgPSBnZXRfcGNpX2RldmljZShxdHMsICZibWRtYV9iYXIsICZpZGVfYmFyKTsK KysgICAgaWRlX2JhcjIgPSBxcGNpX2xlZ2FjeV9pb21hcChkZXYsIElERV9CQVNFMik7CisrCisr ICAgIGJ1ZiA9IGdfbWFsbG9jKGxlbik7CisrCisrICAgIC8qIFRSSU0gcmVxdWVzdCB3aXRoIHR3 byBzZWdtZW50cyAqLworKyAgICAqKCh1aW50NjRfdCAqKWJ1ZikgPSB0cmltX3JhbmdlWzBdOwor KyAgICAqKCh1aW50NjRfdCAqKWJ1ZiArIDEpID0gdHJpbV9yYW5nZVsxXTsKKysKKysgICAgcXRl c3RfbWVtd3JpdGUocXRzLCBndWVzdF9idWYsIGJ1ZiwgMiAqIHNpemVvZih1aW50NjRfdCkpOwor KworKyAgICBzZW5kX2RtYV9yZXF1ZXN0X2RldihxdHMsIGRldiwgYm1kbWFfYmFyLCBpZGVfYmFy LCBDTURfRFNNIHwgQ01ERl9OT19XQUlULCAwLCAxLCBwcmR0LAorKyAgICAgICAgICAgICAgICAg ICAgIEFSUkFZX1NJWkUocHJkdCksIE5VTEwpOworKworKyAgICAvKiBSZXNldCB0aGUgZGV2aWNl IHdoaWxlIHRoZSBmaXJzdCBzZWdtZW50IGlzIGluIGZsaWdodCAqLworKyAgICBxcGNpX2lvX3dy aXRlYihkZXYsIGlkZV9iYXIyLCAwLCBJREVfQ1RSTF9SRVNFVCk7CisrCisrICAgIHN0YXR1cyA9 IHdhaXRfZG1hX2NvbXBsZXRpb24ocXRzLCBkZXYsIGJtZG1hX2JhciwgaWRlX2Jhcik7CisrICAg IGdfYXNzZXJ0X2NtcGhleChzdGF0dXMsID09LCBCTV9TVFNfSU5UUik7CisrICAgIGFzc2VydF9i aXRfY2xlYXIocXBjaV9pb19yZWFkYihkZXYsIGlkZV9iYXIsIHJlZ19zdGF0dXMpLCBERiB8IEVS Uik7CisrCisrICAgIGZyZWVfcGNpX2RldmljZShkZXYpOworKyAgICBnX2ZyZWUoYnVmKTsKKysg ICAgdGVzdF9ibWRtYV90ZWFyZG93bihxdHMpOworK30KKysKKyAvKgorICAqIFRoaXMgdGVzdCBp cyBkZXZlbG9wZWQgYWNjb3JkaW5nIHRvIHRoZSBQcm9ncmFtbWluZyBJbnRlcmZhY2UgZm9yCisg ICogQnVzIE1hc3RlciBJREUgQ29udHJvbGxlciAoUmV2aXNpb24gMS4wIDUvMTYvOTQpCitAQCAt MTEzOCw2ICsxMjE2LDcgQEAgaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQorIAorICAg ICBxdGVzdF9hZGRfZnVuYygiL2lkZS9ibWRtYS9zaW1wbGVfcnciLCB0ZXN0X2JtZG1hX3NpbXBs ZV9ydyk7CisgICAgIHF0ZXN0X2FkZF9mdW5jKCIvaWRlL2JtZG1hL3RyaW0iLCB0ZXN0X2JtZG1h X3RyaW0pOworKyAgICBxdGVzdF9hZGRfZnVuYygiL2lkZS9ibWRtYS90cmltX3Jlc2V0IiwgdGVz dF9ibWRtYV90cmltX3Jlc2V0KTsKKyAgICAgcXRlc3RfYWRkX2Z1bmMoIi9pZGUvYm1kbWEvdmFy aW91c19wcmR0cyIsIHRlc3RfYm1kbWFfdmFyaW91c19wcmR0cyk7CisgICAgIHF0ZXN0X2FkZF9m dW5jKCIvaWRlL2JtZG1hL25vX2J1c21hc3RlciIsIHRlc3RfYm1kbWFfbm9fYnVzbWFzdGVyKTsK KyAKKy0tIAorMi41Mi4wCisKCmRpZmYgLS1naXQgYS9rdm0taW90ZXN0cy0wNDYtVGVzdC10aGF0 LWRpc2NhcmQtd3JpdGVfemVyb2VzLXdhaXQtZm9yLS5wYXRjaCBiL2t2bS1pb3Rlc3RzLTA0Ni1U ZXN0LXRoYXQtZGlzY2FyZC13cml0ZV96ZXJvZXMtd2FpdC1mb3ItLnBhdGNoCm5ldyBmaWxlIG1v ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjYxODQ2Y2MKLS0tIC9kZXYvbnVsbAorKysgYi9rdm0t aW90ZXN0cy0wNDYtVGVzdC10aGF0LWRpc2NhcmQtd3JpdGVfemVyb2VzLXdhaXQtZm9yLS5wYXRj aApAQCAtMCwwICsxLDE1MyBAQAorRnJvbSAzNzU5NmJjOGM5NmZiODI2MWMxM2ZjNGY3OGQwZjk1 ZWE4YWIxMzk3IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogS2V2aW4gV29sZiA8a3dv bGZAcmVkaGF0LmNvbT4KK0RhdGU6IFNhdCwgMTMgSnVuIDIwMjYgMjM6MDM6MzggKzAzMDAKK1N1 YmplY3Q6IFtQQVRDSCA1MC81Ml0gaW90ZXN0cy8wNDY6IFRlc3QgdGhhdCBkaXNjYXJkL3dyaXRl X3plcm9lcyB3YWl0IGZvcgorIGRlcGVuZGVuY2llcworCitSSC1BdXRob3I6IEtldmluIFdvbGYg PGt3b2xmQHJlZGhhdC5jb20+CitSSC1NZXJnZVJlcXVlc3Q6IDUwNDogdmlydC1zdG9yYWdlOiBC YWNrcG9ydCBzdGFibGUgYnJhbmNoIGZpeGVzCitSSC1KaXJhOiBSSEVMLTE4NjM4NAorUkgtQWNr ZWQtYnk6IFN0ZWZhbiBIYWpub2N6aSA8c3RlZmFuaGFAcmVkaGF0LmNvbT4KK1JILUFja2VkLWJ5 OiBNaXJvc2xhdiBSZXphbmluYSA8bXJlemFuaW5AcmVkaGF0LmNvbT4KK1JILUNvbW1pdDogWzQz LzQ1XSA3NTQ4ZTI0OGVmNjE5NWMwNjFjMTk3ZTEzODY1YTQ5YWI0NTg2Njc4IChrbXdvbGYvY2Vu dG9zLXFlbXUta3ZtKQorCitUaGlzIGlzIGEgcmVncmVzc2lvbiB0ZXN0IGZvciB0aGUgYnVnIGZp eGVkIGluIHRoZSBwcmV2aW91cyBjb21taXQgd2hlcmUKK2Rpc2NhcmQgYW5kIHdyaXRlX3plcm9l cyBvcGVyYXRpb25zIHdvdWxkbid0IGNvbnNpZGVyIHRoZWlyIGRlcGVuZGVuY2llcworaW4gcy0+ Y2x1c3Rlcl9hbGxvY3MuIFdpdGhvdXQgdGhlIGZpeCwgdGhpcyByZXN1bHRzIGluIGEgY29ycnVw dGVkCitpbWFnZS4KKworU2lnbmVkLW9mZi1ieTogS2V2aW4gV29sZiA8a3dvbGZAcmVkaGF0LmNv bT4KK01lc3NhZ2UtSUQ6IDwyMDI2MDQyNzE3MDUyMC4xMDEyNDItNS1rd29sZkByZWRoYXQuY29t PgorUmV2aWV3ZWQtYnk6IERlbmlzIFYuIEx1bmV2IDxkZW5Ab3BlbnZ6Lm9yZz4KK1Rlc3RlZC1i eTogRGVuaXMgVi4gTHVuZXYgPGRlbkBvcGVudnoub3JnPgorU2lnbmVkLW9mZi1ieTogS2V2aW4g V29sZiA8a3dvbGZAcmVkaGF0LmNvbT4KKyhjaGVycnkgcGlja2VkIGZyb20gY29tbWl0IDM4OWY1 YmNjNzQ0ZDNkZGMxMjdkNTUwYTU3MjYxYWVkOWJiYmExZjMpCitTaWduZWQtb2ZmLWJ5OiBNaWNo YWVsIFRva2FyZXYgPG1qdEB0bHMubXNrLnJ1PgorCitNZXNzYWdlLUlEOiA8MjAyNjA2MTMyMDA0 MTEuMTgwODAyMS01NS1tanRAdGxzLm1zay5ydT4KK1NpZ25lZC1vZmYtYnk6IEtldmluIFdvbGYg PGt3b2xmQHJlZGhhdC5jb20+CistLS0KKyB0ZXN0cy9xZW11LWlvdGVzdHMvMDQ2ICAgICB8IDQ2 ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCisgdGVzdHMvcWVtdS1pb3Rl c3RzLzA0Ni5vdXQgfCAzNiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKworIDIgZmlsZXMg Y2hhbmdlZCwgODIgaW5zZXJ0aW9ucygrKQorCitkaWZmIC0tZ2l0IGEvdGVzdHMvcWVtdS1pb3Rl c3RzLzA0NiBiL3Rlc3RzL3FlbXUtaW90ZXN0cy8wNDYKK2luZGV4IDRjOWVkNGQyNmUuLmUwM2Rk NDAxNDcgMTAwNzU1CistLS0gYS90ZXN0cy9xZW11LWlvdGVzdHMvMDQ2CisrKysgYi90ZXN0cy9x ZW11LWlvdGVzdHMvMDQ2CitAQCAtMTg0LDYgKzE4NCw0OCBAQCBhaW9fd3JpdGUgLVAgMTYwIDB4 MTA0MDAwIDB4MTgwMDAKKyByZXN1bWUgQQorIGFpb19mbHVzaAorIEVPRgorKworKyMgQ3JlYXRl IGEgcHJlLWFsbG9jYXRlZCB6ZXJvIGNsdXN0ZXIsIHRoZW4gc3RhcnQgYSB3cml0ZSBvbiBpdCBh bmQgZGlzY2FyZCBpdAorKyMgYmVmb3JlIHRoZSBMMiB1cGRhdGUgaXMgbWFkZQorK2NhdCAgPDxF T0YKKyt3cml0ZSAtUCAxODEgMHgxMjAwMDAgMHgxMDAwMAorK3dyaXRlIC16IDB4MTIwMDAwIDB4 MTAwMDAKKysKKyticmVhayB3cml0ZV9haW8gQQorK2Fpb193cml0ZSAtUCAxODAgMHgxMjAwMDAg MHgxMDAwMAorK3dhaXRfYnJlYWsgQQorK2Fpb19kaXNjYXJkIDB4MTIwMDAwIDB4MTAwMDAKKyty ZXN1bWUgQQorK2Fpb19mbHVzaAorK0VPRgorKworKyMgQ3JlYXRlIGEgcHJlLWFsbG9jYXRlZCB6 ZXJvIGNsdXN0ZXIsIHRoZW4gc3RhcnQgYSB3cml0ZSBvbiBpdCBhbmQgYQorKyMgY29uY3VycmVu dCB6ZXJvIHdyaXRlIHdpdGggTUFZX1VOTUFQIGJlZm9yZSB0aGUgTDIgdXBkYXRlIGlzIG1hZGUK KytjYXQgIDw8RU9GCisrd3JpdGUgLVAgMTgxIDB4MTMwMDAwIDB4MTAwMDAKKyt3cml0ZSAteiAw eDEzMDAwMCAweDEwMDAwCisrCisrYnJlYWsgd3JpdGVfYWlvIEEKKythaW9fd3JpdGUgLVAgMTgw IDB4MTMwMDAwIDB4MTAwMDAKKyt3YWl0X2JyZWFrIEEKKythaW9fd3JpdGUgLXogLXUgMHgxMzAw MDAgMHgxMDAwMAorK3Jlc3VtZSBBCisrYWlvX2ZsdXNoCisrRU9GCisrCisrIyBDcmVhdGUgYSBw cmUtYWxsb2NhdGVkIHplcm8gY2x1c3RlciwgdGhlbiBzdGFydCBhIHdyaXRlIG9uIGl0IGFuZCBh CisrIyBjb25jdXJyZW50IHplcm8gd3JpdGUgd2l0aG91dCBNQVlfVU5NQVAgYmVmb3JlIHRoZSBM MiB1cGRhdGUgaXMgbWFkZQorK2NhdCAgPDxFT0YKKyt3cml0ZSAtUCAxODEgMHgxNDAwMDAgMHgx MDAwMAorK3dyaXRlIC16IDB4MTQwMDAwIDB4MTAwMDAKKysKKyticmVhayB3cml0ZV9haW8gQQor K2Fpb193cml0ZSAtUCAxODAgMHgxNDAwMDAgMHgxMDAwMAorK3dhaXRfYnJlYWsgQQorK2Fpb193 cml0ZSAteiAweDE0MDAwMCAweDEwMDAwCisrcmVzdW1lIEEKKythaW9fZmx1c2gKKytFT0YKKyB9 CisgCisgb3ZlcmxheV9pbyB8ICRRRU1VX0lPIGJsa2RlYnVnOjoiJFRFU1RfSU1HIiB8IF9maWx0 ZXJfcWVtdV9pbyB8XAorQEAgLTI2NCw2ICszMDYsMTAgQEAgdmVyaWZ5X2lvKCkKKyAgICAgIyBV bmRlZmluZWQgY29udGVudCBmb3IgMHgxMGMwMDAgMHg4MDAwCisgICAgIGVjaG8gcmVhZCAtUCAx NjAgMHgxMTQwMDAgMHg4MDAwCisgICAgIGVjaG8gcmVhZCAtUCAxNyAgMHgxMWMwMDAgMHg0MDAw CisrCisrICAgIGVjaG8gcmVhZCAtUCAwICAgMHgxMjAwMDAgMHgxMDAwMAorKyAgICBlY2hvIHJl YWQgLVAgMCAgIDB4MTMwMDAwIDB4MTAwMDAKKysgICAgZWNobyByZWFkIC1QIDAgICAweDE0MDAw MCAweDEwMDAwCisgfQorIAorIHZlcmlmeV9pbyB8ICRRRU1VX0lPICIkVEVTVF9JTUciIHwgX2Zp bHRlcl9xZW11X2lvCitkaWZmIC0tZ2l0IGEvdGVzdHMvcWVtdS1pb3Rlc3RzLzA0Ni5vdXQgYi90 ZXN0cy9xZW11LWlvdGVzdHMvMDQ2Lm91dAoraW5kZXggYjFhMDNmNDA0MS4uNjM0MWRmMzM1YyAx MDA2NDQKKy0tLSBhL3Rlc3RzL3FlbXUtaW90ZXN0cy8wNDYub3V0CisrKysgYi90ZXN0cy9xZW11 LWlvdGVzdHMvMDQ2Lm91dAorQEAgLTEzOSw2ICsxMzksMzYgQEAgd3JvdGUgWFhYL1hYWCBieXRl cyBhdCBvZmZzZXQgWFhYCisgWFhYIEtpQiwgWCBvcHM7IFhYOlhYOlhYLlggKFhYWCBZWVkvc2Vj IGFuZCBYWFggb3BzL3NlYykKKyB3cm90ZSBYWFgvWFhYIGJ5dGVzIGF0IG9mZnNldCBYWFgKKyBY WFggS2lCLCBYIG9wczsgWFg6WFg6WFguWCAoWFhYIFlZWS9zZWMgYW5kIFhYWCBvcHMvc2VjKQor K3dyb3RlIFhYWC9YWFggYnl0ZXMgYXQgb2Zmc2V0IFhYWAorK1hYWCBLaUIsIFggb3BzOyBYWDpY WDpYWC5YIChYWFggWVlZL3NlYyBhbmQgWFhYIG9wcy9zZWMpCisrd3JvdGUgWFhYL1hYWCBieXRl cyBhdCBvZmZzZXQgWFhYCisrWFhYIEtpQiwgWCBvcHM7IFhYOlhYOlhYLlggKFhYWCBZWVkvc2Vj IGFuZCBYWFggb3BzL3NlYykKKytibGtkZWJ1ZzogU3VzcGVuZGVkIHJlcXVlc3QgJ0EnCisrYmxr ZGVidWc6IFJlc3VtaW5nIHJlcXVlc3QgJ0EnCisrd3JvdGUgWFhYL1hYWCBieXRlcyBhdCBvZmZz ZXQgWFhYCisrWFhYIEtpQiwgWCBvcHM7IFhYOlhYOlhYLlggKFhYWCBZWVkvc2VjIGFuZCBYWFgg b3BzL3NlYykKKytkaXNjYXJkZWQgIFhYWC9YWFggYnl0ZXMgYXQgb2Zmc2V0IFhYWAorK1hYWCBL aUIsIFggb3BzOyBYWDpYWDpYWC5YIChYWFggWVlZL3NlYyBhbmQgWFhYIG9wcy9zZWMpCisrd3Jv dGUgWFhYL1hYWCBieXRlcyBhdCBvZmZzZXQgWFhYCisrWFhYIEtpQiwgWCBvcHM7IFhYOlhYOlhY LlggKFhYWCBZWVkvc2VjIGFuZCBYWFggb3BzL3NlYykKKyt3cm90ZSBYWFgvWFhYIGJ5dGVzIGF0 IG9mZnNldCBYWFgKKytYWFggS2lCLCBYIG9wczsgWFg6WFg6WFguWCAoWFhYIFlZWS9zZWMgYW5k IFhYWCBvcHMvc2VjKQorK2Jsa2RlYnVnOiBTdXNwZW5kZWQgcmVxdWVzdCAnQScKKytibGtkZWJ1 ZzogUmVzdW1pbmcgcmVxdWVzdCAnQScKKyt3cm90ZSBYWFgvWFhYIGJ5dGVzIGF0IG9mZnNldCBY WFgKKytYWFggS2lCLCBYIG9wczsgWFg6WFg6WFguWCAoWFhYIFlZWS9zZWMgYW5kIFhYWCBvcHMv c2VjKQorK3dyb3RlIFhYWC9YWFggYnl0ZXMgYXQgb2Zmc2V0IFhYWAorK1hYWCBLaUIsIFggb3Bz OyBYWDpYWDpYWC5YIChYWFggWVlZL3NlYyBhbmQgWFhYIG9wcy9zZWMpCisrd3JvdGUgWFhYL1hY WCBieXRlcyBhdCBvZmZzZXQgWFhYCisrWFhYIEtpQiwgWCBvcHM7IFhYOlhYOlhYLlggKFhYWCBZ WVkvc2VjIGFuZCBYWFggb3BzL3NlYykKKyt3cm90ZSBYWFgvWFhYIGJ5dGVzIGF0IG9mZnNldCBY WFgKKytYWFggS2lCLCBYIG9wczsgWFg6WFg6WFguWCAoWFhYIFlZWS9zZWMgYW5kIFhYWCBvcHMv c2VjKQorK2Jsa2RlYnVnOiBTdXNwZW5kZWQgcmVxdWVzdCAnQScKKytibGtkZWJ1ZzogUmVzdW1p bmcgcmVxdWVzdCAnQScKKyt3cm90ZSBYWFgvWFhYIGJ5dGVzIGF0IG9mZnNldCBYWFgKKytYWFgg S2lCLCBYIG9wczsgWFg6WFg6WFguWCAoWFhYIFlZWS9zZWMgYW5kIFhYWCBvcHMvc2VjKQorK3dy b3RlIFhYWC9YWFggYnl0ZXMgYXQgb2Zmc2V0IFhYWAorK1hYWCBLaUIsIFggb3BzOyBYWDpYWDpY WC5YIChYWFggWVlZL3NlYyBhbmQgWFhYIG9wcy9zZWMpCisgCisgPT0gVmVyaWZ5IGltYWdlIGNv bnRlbnQgPT0KKyByZWFkIDY1NTM2LzY1NTM2IGJ5dGVzIGF0IG9mZnNldCAwCitAQCAtMjM5LDUg KzI2OSwxMSBAQCByZWFkIDMyNzY4LzMyNzY4IGJ5dGVzIGF0IG9mZnNldCAxMTMwNDk2CisgMzIg S2lCLCBYIG9wczsgWFg6WFg6WFguWCAoWFhYIFlZWS9zZWMgYW5kIFhYWCBvcHMvc2VjKQorIHJl YWQgMTYzODQvMTYzODQgYnl0ZXMgYXQgb2Zmc2V0IDExNjMyNjQKKyAxNiBLaUIsIFggb3BzOyBY WDpYWDpYWC5YIChYWFggWVlZL3NlYyBhbmQgWFhYIG9wcy9zZWMpCisrcmVhZCA2NTUzNi82NTUz NiBieXRlcyBhdCBvZmZzZXQgMTE3OTY0OAorKzY0IEtpQiwgWCBvcHM7IFhYOlhYOlhYLlggKFhY WCBZWVkvc2VjIGFuZCBYWFggb3BzL3NlYykKKytyZWFkIDY1NTM2LzY1NTM2IGJ5dGVzIGF0IG9m ZnNldCAxMjQ1MTg0CisrNjQgS2lCLCBYIG9wczsgWFg6WFg6WFguWCAoWFhYIFlZWS9zZWMgYW5k IFhYWCBvcHMvc2VjKQorK3JlYWQgNjU1MzYvNjU1MzYgYnl0ZXMgYXQgb2Zmc2V0IDEzMTA3MjAK Kys2NCBLaUIsIFggb3BzOyBYWDpYWDpYWC5YIChYWFggWVlZL3NlYyBhbmQgWFhYIG9wcy9zZWMp CisgTm8gZXJyb3JzIHdlcmUgZm91bmQgb24gdGhlIGltYWdlLgorICoqKiBkb25lCistLSAKKzIu NTIuMAorCgpkaWZmIC0tZ2l0IGEva3ZtLWlvdGVzdHMtMTQ3LWVuc3VyZS10ZW1wb3Jhcnktc29j a2V0cy1hcmUtY2xvc2VkLWJlZm8ucGF0Y2ggYi9rdm0taW90ZXN0cy0xNDctZW5zdXJlLXRlbXBv cmFyeS1zb2NrZXRzLWFyZS1jbG9zZWQtYmVmby5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NApp bmRleCAwMDAwMDAwLi4xNjc0NzRjCi0tLSAvZGV2L251bGwKKysrIGIva3ZtLWlvdGVzdHMtMTQ3 LWVuc3VyZS10ZW1wb3Jhcnktc29ja2V0cy1hcmUtY2xvc2VkLWJlZm8ucGF0Y2gKQEAgLTAsMCAr MSw0MiBAQAorRnJvbSBhMjVkMTY4MzA1NDM0ZjIxMWZkZWQ4ZGM4OWMzYjg0OWRjZjc1OWUwIE1v biBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogPT9VVEYtOD9xP0RhbmllbD0yMFA9MkU9MjBC ZXJyYW5nPUMzPUE5Pz0gPGJlcnJhbmdlQHJlZGhhdC5jb20+CitEYXRlOiBUdWUsIDE1IEp1bCAy MDI1IDE1OjMwOjIxICswMTAwCitTdWJqZWN0OiBbUEFUQ0ggMjcvNTJdIGlvdGVzdHMvMTQ3OiBl bnN1cmUgdGVtcG9yYXJ5IHNvY2tldHMgYXJlIGNsb3NlZCBiZWZvcmUKKyBleGl0aW5nCitNSU1F LVZlcnNpb246IDEuMAorQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04CitD b250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0CisKK1JILUF1dGhvcjogS2V2aW4gV29sZiA8 a3dvbGZAcmVkaGF0LmNvbT4KK1JILU1lcmdlUmVxdWVzdDogNTA0OiB2aXJ0LXN0b3JhZ2U6IEJh Y2twb3J0IHN0YWJsZSBicmFuY2ggZml4ZXMKK1JILUppcmE6IFJIRUwtMTg2Mzg0CitSSC1BY2tl ZC1ieTogU3RlZmFuIEhham5vY3ppIDxzdGVmYW5oYUByZWRoYXQuY29tPgorUkgtQWNrZWQtYnk6 IE1pcm9zbGF2IFJlemFuaW5hIDxtcmV6YW5pbkByZWRoYXQuY29tPgorUkgtQ29tbWl0OiBbMjAv NDVdIDgwYzI5YzY2N2EzMzNkNzJlNjBjNDAzYWQ4YzRlMDdiZjQyZGIxODkgKGttd29sZi9jZW50 b3MtcWVtdS1rdm0pCisKK1RoaXMgYXZvaWRzIHRoZSBweXRob24gcmVzb3VyY2UgbGVhayBkZXRl Y3RvciBmcm9tIGlzc3Vpbmcgd2FybmluZ3MKK2luIHRoZSBpb3Rlc3RzLgorCitTaWduZWQtb2Zm LWJ5OiBEYW5pZWwgUC4gQmVycmFuZ8OpIDxiZXJyYW5nZUByZWRoYXQuY29tPgorKGNoZXJyeSBw aWNrZWQgZnJvbSBjb21taXQgZDRkMGViZmNjOTI2YzExZDE2MzIwZDBkNWFjY2YyMmUzNDQxYzEx NSkKK1NpZ25lZC1vZmYtYnk6IE1pY2hhZWwgVG9rYXJldiA8bWp0QHRscy5tc2sucnU+CitTaWdu ZWQtb2ZmLWJ5OiBLZXZpbiBXb2xmIDxrd29sZkByZWRoYXQuY29tPgorLS0tCisgdGVzdHMvcWVt dS1pb3Rlc3RzLzE0NyB8IDEgKworIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKQorCitk aWZmIC0tZ2l0IGEvdGVzdHMvcWVtdS1pb3Rlc3RzLzE0NyBiL3Rlc3RzL3FlbXUtaW90ZXN0cy8x NDcKK2luZGV4IDZkNmYwNzdhMTQuLjNlMTRiZDM4OWEgMTAwNzU1CistLS0gYS90ZXN0cy9xZW11 LWlvdGVzdHMvMTQ3CisrKysgYi90ZXN0cy9xZW11LWlvdGVzdHMvMTQ3CitAQCAtMjc3LDYgKzI3 Nyw3IEBAIGNsYXNzIEJ1aWx0aW5OQkQoTkJEQmxvY2tkZXZBZGRCYXNlKToKKyAgICAgICAgICAg ICAgICAgICAgICB9IH0KKyAgICAgICAgIHNlbGYuY2xpZW50X3Rlc3QoZmlsZW5hbWUsIGZsYXR0 ZW5fc29ja19hZGRyKGFkZHJlc3MpLCAnbmJkLWV4cG9ydCcpCisgCisrICAgICAgICBzb2NrZmQu Y2xvc2UoKQorICAgICAgICAgc2VsZi5fc2VydmVyX2Rvd24oKQorIAorIAorLS0gCisyLjUyLjAK KwoKZGlmZiAtLWdpdCBhL2t2bS1pb3Rlc3RzLTE1MS1lbnN1cmUtc3VicHJvY2Vzc2VzLWFyZS1j bGVhbmVkLXVwLnBhdGNoIGIva3ZtLWlvdGVzdHMtMTUxLWVuc3VyZS1zdWJwcm9jZXNzZXMtYXJl LWNsZWFuZWQtdXAucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNThk YzFiMQotLS0gL2Rldi9udWxsCisrKyBiL2t2bS1pb3Rlc3RzLTE1MS1lbnN1cmUtc3VicHJvY2Vz c2VzLWFyZS1jbGVhbmVkLXVwLnBhdGNoCkBAIC0wLDAgKzEsNDkgQEAKK0Zyb20gNDVlZmUzNWQ5 MTEzY2JkNzZkNDY1MmVlNTZhODA1Y2JkZTU4ZjZiMSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEK K0Zyb206ID0/VVRGLTg/cT9EYW5pZWw9MjBQPTJFPTIwQmVycmFuZz1DMz1BOT89IDxiZXJyYW5n ZUByZWRoYXQuY29tPgorRGF0ZTogVHVlLCAxNSBKdWwgMjAyNSAxNTozMDoyMiArMDEwMAorU3Vi amVjdDogW1BBVENIIDI4LzUyXSBpb3Rlc3RzLzE1MTogZW5zdXJlIHN1YnByb2Nlc3NlcyBhcmUg Y2xlYW5lZCB1cAorTUlNRS1WZXJzaW9uOiAxLjAKK0NvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsg Y2hhcnNldD1VVEYtOAorQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAorCitSSC1BdXRo b3I6IEtldmluIFdvbGYgPGt3b2xmQHJlZGhhdC5jb20+CitSSC1NZXJnZVJlcXVlc3Q6IDUwNDog dmlydC1zdG9yYWdlOiBCYWNrcG9ydCBzdGFibGUgYnJhbmNoIGZpeGVzCitSSC1KaXJhOiBSSEVM LTE4NjM4NAorUkgtQWNrZWQtYnk6IFN0ZWZhbiBIYWpub2N6aSA8c3RlZmFuaGFAcmVkaGF0LmNv bT4KK1JILUFja2VkLWJ5OiBNaXJvc2xhdiBSZXphbmluYSA8bXJlemFuaW5AcmVkaGF0LmNvbT4K K1JILUNvbW1pdDogWzIxLzQ1XSA1OGFlMDUwZGExZjNjN2JmZWU4N2RhYWQwNzNkY2M5OWI4ZWVj NTFiIChrbXdvbGYvY2VudG9zLXFlbXUta3ZtKQorCitUaGUgaW90ZXN0IDE1MSBjcmVhdGVzIGEg YnVuY2ggb2Ygc3VicHJvY2Vzc2VzLCB3aXRoIHRoZWlyIHN0ZG91dAorY29ubmVjdGVkIHRvIGEg cGlwZSBidXQgbmV2ZXIgcmVhZHMgYW55IGRhdGEgZnJvbSB0aGVtIGFuZCBkb2VzCitub3QgZ3Vy YW50ZWUgdGhlIHByb2Nlc3NlcyBhcmUga2lsbGVkIG9uIGNsZWFudXAuCisKK1RoaXMgdHJpZ2dl cnMgcmVzb3VyY2UgbGVhayB3YXJuaW5ncyBmcm9tIHB5dGhvbiB3aGVuIHRoZQorc3VicHJvY2Vz cy5Qb3BlbiBvYmplY3QgaXMgZ2FyYmFnZSBjb2xsZWN0ZWQuCisKK1NpZ25lZC1vZmYtYnk6IERh bmllbCBQLiBCZXJyYW5nw6kgPGJlcnJhbmdlQHJlZGhhdC5jb20+CisoY2hlcnJ5IHBpY2tlZCBm cm9tIGNvbW1pdCAyYjJmYjI1YzJhYWY1YjJlODE3MmQ4NDVkYjM5Y2M1MGE5NTFhMTJlKQorU2ln bmVkLW9mZi1ieTogTWljaGFlbCBUb2thcmV2IDxtanRAdGxzLm1zay5ydT4KK1NpZ25lZC1vZmYt Ynk6IEtldmluIFdvbGYgPGt3b2xmQHJlZGhhdC5jb20+CistLS0KKyB0ZXN0cy9xZW11LWlvdGVz dHMvMTUxIHwgNSArKysrKworIDEgZmlsZSBjaGFuZ2VkLCA1IGluc2VydGlvbnMoKykKKworZGlm ZiAtLWdpdCBhL3Rlc3RzL3FlbXUtaW90ZXN0cy8xNTEgYi90ZXN0cy9xZW11LWlvdGVzdHMvMTUx CitpbmRleCBmMmZmOWM1ZGFjLi4wNmVlMzU4NWRiIDEwMDc1NQorLS0tIGEvdGVzdHMvcWVtdS1p b3Rlc3RzLzE1MQorKysrIGIvdGVzdHMvcWVtdS1pb3Rlc3RzLzE1MQorQEAgLTI2Myw2ICsyNjMs MTEgQEAgY2xhc3MgVGVzdFRocm90dGxlZFdpdGhOYmRFeHBvcnRCYXNlKGlvdGVzdHMuUU1QVGVz dENhc2UpOgorICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrCisgICAgICAgICAgICAgICAg ICAgICBleGNlcHQgc3VicHJvY2Vzcy5UaW1lb3V0RXhwaXJlZDoKKyAgICAgICAgICAgICAgICAg ICAgICAgICBzZWxmLnZtLnF0ZXN0KGYnY2xvY2tfc3RlcCB7MSAqIDEwMDAgKiAxMDAwICogMTAw MH0nKQorKyAgICAgICAgICAgICAgICB0cnk6CisrICAgICAgICAgICAgICAgICAgICBwLmtpbGwo KQorKyAgICAgICAgICAgICAgICAgICAgcC5zdGRvdXQuY2xvc2UoKQorKyAgICAgICAgICAgICAg ICBleGNlcHQ6CisrICAgICAgICAgICAgICAgICAgICBwYXNzCisgICAgICAgICBleGNlcHQgSW5k ZXhFcnJvcjoKKyAgICAgICAgICAgICBwYXNzCisgCistLSAKKzIuNTIuMAorCgpkaWZmIC0tZ2l0 IGEva3ZtLWlvdGVzdHMtYWRkLUxpbnV4LWxvb3AtZGV2aWNlLWltYWdlLWNyZWF0aW9uLXRlc3Qu cGF0Y2ggYi9rdm0taW90ZXN0cy1hZGQtTGludXgtbG9vcC1kZXZpY2UtaW1hZ2UtY3JlYXRpb24t dGVzdC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44ZDM4YmUyCi0t LSAvZGV2L251bGwKKysrIGIva3ZtLWlvdGVzdHMtYWRkLUxpbnV4LWxvb3AtZGV2aWNlLWltYWdl LWNyZWF0aW9uLXRlc3QucGF0Y2gKQEAgLTAsMCArMSwxMTYgQEAKK0Zyb20gOTE1Zjc3Nzk1OTJh NjlkMTI0MzQyN2VkOGU1ZTk1Mjg1YjZkYWE0ZiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zy b206IFN0ZWZhbiBIYWpub2N6aSA8c3RlZmFuaGFAcmVkaGF0LmNvbT4KK0RhdGU6IFR1ZSwgNyBP Y3QgMjAyNSAxMDoxNzowMCAtMDQwMAorU3ViamVjdDogW1BBVENIIDM2LzUyXSBpb3Rlc3RzOiBh ZGQgTGludXggbG9vcCBkZXZpY2UgaW1hZ2UgY3JlYXRpb24gdGVzdAorCitSSC1BdXRob3I6IEtl dmluIFdvbGYgPGt3b2xmQHJlZGhhdC5jb20+CitSSC1NZXJnZVJlcXVlc3Q6IDUwNDogdmlydC1z dG9yYWdlOiBCYWNrcG9ydCBzdGFibGUgYnJhbmNoIGZpeGVzCitSSC1KaXJhOiBSSEVMLTE4NjM4 NAorUkgtQWNrZWQtYnk6IFN0ZWZhbiBIYWpub2N6aSA8c3RlZmFuaGFAcmVkaGF0LmNvbT4KK1JI LUFja2VkLWJ5OiBNaXJvc2xhdiBSZXphbmluYSA8bXJlemFuaW5AcmVkaGF0LmNvbT4KK1JILUNv bW1pdDogWzI5LzQ1XSBiNDZkYTA5YjQzMjljYzNiM2MzMjYzZjJhYzYyYjMzODYwMzVkZThkIChr bXdvbGYvY2VudG9zLXFlbXUta3ZtKQorCitUaGlzIHFlbXUtaW90ZXN0cyB0ZXN0IGNhc2UgaXMg YmFzZWQgb24gdGhlIHJlcHJvZHVjZXIgdGhhdCBKZWFuLUxvdWlzCitEdXBvbmQgPGplYW4tbG91 aXNAZHVwb25kLmJlPiBzaGFyZWQgaW4KK2h0dHBzOi8vZ2l0bGFiLmNvbS9xZW11LXByb2plY3Qv cWVtdS8tL2lzc3Vlcy8zMTI3LgorCitTaWduZWQtb2ZmLWJ5OiBTdGVmYW4gSGFqbm9jemkgPHN0 ZWZhbmhhQHJlZGhhdC5jb20+CitNZXNzYWdlLUlEOiA8MjAyNTEwMDcxNDE3MDAuNzE4OTEtNC1z dGVmYW5oYUByZWRoYXQuY29tPgorUmV2aWV3ZWQtYnk6IFZsYWRpbWlyIFNlbWVudHNvdi1PZ2ll dnNraXkgPHZzZW1lbnRzb3ZAeWFuZGV4LXRlYW0ucnU+CitUZXN0ZWQtYnk6IFZsYWRpbWlyIFNl bWVudHNvdi1PZ2lldnNraXkgPHZzZW1lbnRzb3ZAeWFuZGV4LXRlYW0ucnU+CitUZXN0ZWQtYnk6 IEZpb25hIEVibmVyIDxmLmVibmVyQHByb3htb3guY29tPgorUmV2aWV3ZWQtYnk6IEZpb25hIEVi bmVyIDxmLmVibmVyQHByb3htb3guY29tPgorUmV2aWV3ZWQtYnk6IEtldmluIFdvbGYgPGt3b2xm QHJlZGhhdC5jb20+CitTaWduZWQtb2ZmLWJ5OiBLZXZpbiBXb2xmIDxrd29sZkByZWRoYXQuY29t PgorKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgNTlhMWNmMGNkMzE1OTdkMmY2ZTJjMThkYzQw MGExZGU4NDI3ZDQ3ZCkKK1NpZ25lZC1vZmYtYnk6IE1pY2hhZWwgVG9rYXJldiA8bWp0QHRscy5t c2sucnU+CitTaWduZWQtb2ZmLWJ5OiBLZXZpbiBXb2xmIDxrd29sZkByZWRoYXQuY29tPgorLS0t CisgdGVzdHMvcWVtdS1pb3Rlc3RzL3Rlc3RzL2xvb3AtY3JlYXRlLWZpbGUgICAgIHwgNTkgKysr KysrKysrKysrKysrKysrKworIHRlc3RzL3FlbXUtaW90ZXN0cy90ZXN0cy9sb29wLWNyZWF0ZS1m aWxlLm91dCB8ICA4ICsrKworIDIgZmlsZXMgY2hhbmdlZCwgNjcgaW5zZXJ0aW9ucygrKQorIGNy ZWF0ZSBtb2RlIDEwMDc1NSB0ZXN0cy9xZW11LWlvdGVzdHMvdGVzdHMvbG9vcC1jcmVhdGUtZmls ZQorIGNyZWF0ZSBtb2RlIDEwMDY0NCB0ZXN0cy9xZW11LWlvdGVzdHMvdGVzdHMvbG9vcC1jcmVh dGUtZmlsZS5vdXQKKworZGlmZiAtLWdpdCBhL3Rlc3RzL3FlbXUtaW90ZXN0cy90ZXN0cy9sb29w LWNyZWF0ZS1maWxlIGIvdGVzdHMvcWVtdS1pb3Rlc3RzL3Rlc3RzL2xvb3AtY3JlYXRlLWZpbGUK K25ldyBmaWxlIG1vZGUgMTAwNzU1CitpbmRleCAwMDAwMDAwMDAwLi41ZWM3NWIwNDZiCistLS0g L2Rldi9udWxsCisrKysgYi90ZXN0cy9xZW11LWlvdGVzdHMvdGVzdHMvbG9vcC1jcmVhdGUtZmls ZQorQEAgLTAsMCArMSw1OSBAQAorKyMhL3Vzci9iaW4vZW52IGJhc2gKKysjIGdyb3VwOiBxdWlj aworKyMKKysjIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9yLWxhdGVyCisrIwor KyMgQ29weXJpZ2h0IFJlZCBIYXQsIEluYy4KKysjCisrIyBUZXN0IExpbnV4IGxvb3AgZGV2aWNl IGltYWdlIGNyZWF0aW9uCisrIworKyMgVGhpcyB0ZXN0IHZlcmlmaWVzICMzMTI3ICJxZW11LWlt ZyBjcmVhdGUgZmFpbHMgb24gbG9vcCBkZXZpY2Ugd2l0aCBzZWN0b3Igc2l6ZSA0MDk2IgorKyMg aHR0cHM6Ly9naXRsYWIuY29tL3FlbXUtcHJvamVjdC9xZW11Ly0vaXNzdWVzLzMxMjcKKysKKytz ZXE9IiQoYmFzZW5hbWUgJDApIgorK2VjaG8gIlFBIG91dHB1dCBjcmVhdGVkIGJ5ICRzZXEiCisr Cisrc3RhdHVzPTEJIyBmYWlsdXJlIGlzIHRoZSBkZWZhdWx0IQorKworK19jbGVhbnVwKCkgewor KyAgICBpZiBbIC1uICIkbG9vcGRldiIgXTsgdGhlbgorKyAgICAgICAgc3VkbyBsb3NldHVwIC0t ZGV0YWNoICIkbG9vcGRldiIKKysgICAgZmkKKysKKysgICAgX2NsZWFudXBfdGVzdF9pbWcKKyt9 CisrCisrdHJhcCAiX2NsZWFudXA7IGV4aXQgXCRzdGF0dXMiIDAgMSAyIDMgMTUKKysKKysjIGdl dCBzdGFuZGFyZCBlbnZpcm9ubWVudCwgZmlsdGVycyBhbmQgY2hlY2tzCisrY2QgLi4KKysuIC4v Y29tbW9uLnJjCisrLiAuL2NvbW1vbi5maWx0ZXIKKysKKytfc3VwcG9ydGVkX2ZtdCByYXcKKytf c3VwcG9ydGVkX3Byb3RvIGZpbGUKKytfc3VwcG9ydGVkX29zIExpbnV4CisrCisraWYgISBzdWRv IC1uIGxvc2V0dXAgJj4vZGV2L251bGw7IHRoZW4KKysgICAgX25vdHJ1biAic3VkbyBsb3NldHVw IG5vdCBhdmFpbGFibGUiCisrZmkKKysKKytlY2hvCisrZWNobyAiPT09IENyZWF0ZSBpbWFnZSBv biBhIDQgS0Igc2VjdG9yIHNpemUgbG9vcCBkZXZpY2UgPT09IgorK2VjaG8KKysKKytfbWFrZV90 ZXN0X2ltZyAtZiAkSU1HRk1UIDFNCisrCisrbG9vcGRldj0kKHN1ZG8gbG9zZXR1cCAtLXNlY3Rv ci1zaXplIDQwOTYgLS1maW5kIC0tc2hvdyAiJFRFU1RfSU1HIikKKytpZiBbIC16ICIkbG9vcGRl diIgXTsgdGhlbgorKyAgICBfZmFpbAorK2ZpCisrCisrc3VkbyAkUUVNVV9JTUdfUFJPRyBjcmVh dGUgLWYgcmF3ICIkbG9vcGRldiIgMU0gfCBcCisrICAgIHNlZCAtZSAicyMvZGV2L2xvb3BbMC05 XVxcKyNMT09QREVWI2ciCisrCisrIyBzdWNjZXNzLCBhbGwgZG9uZQorK2VjaG8KKytlY2hvICcq KiogZG9uZScKKytybSAtZiAkc2VxLmZ1bGwKKytzdGF0dXM9MAorZGlmZiAtLWdpdCBhL3Rlc3Rz L3FlbXUtaW90ZXN0cy90ZXN0cy9sb29wLWNyZWF0ZS1maWxlLm91dCBiL3Rlc3RzL3FlbXUtaW90 ZXN0cy90ZXN0cy9sb29wLWNyZWF0ZS1maWxlLm91dAorbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2lu ZGV4IDAwMDAwMDAwMDAuLjMyZDQxNTU2OTUKKy0tLSAvZGV2L251bGwKKysrKyBiL3Rlc3RzL3Fl bXUtaW90ZXN0cy90ZXN0cy9sb29wLWNyZWF0ZS1maWxlLm91dAorQEAgLTAsMCArMSw4IEBACisr UUEgb3V0cHV0IGNyZWF0ZWQgYnkgbG9vcC1jcmVhdGUtZmlsZQorKworKz09PSBDcmVhdGUgaW1h Z2Ugb24gYSA0IEtCIHNlY3RvciBzaXplIGxvb3AgZGV2aWNlID09PQorKworK0Zvcm1hdHRpbmcg J1RFU1RfRElSL3QuSU1HRk1UJywgZm10PUlNR0ZNVCBzaXplPTEwNDg1NzYKKytGb3JtYXR0aW5n ICdMT09QREVWJywgZm10PXJhdyBzaXplPTEwNDg1NzYKKysKKysqKiogZG9uZQorLS0gCisyLjUy LjAKKwoKZGlmZiAtLWdpdCBhL2t2bS1pb3Rlc3RzLXRlc3QtYWN0aXZlLW1pcnJvci13aXRoLXVu YWxpZ25lZC1zbWFsbC13cml0LnBhdGNoIGIva3ZtLWlvdGVzdHMtdGVzdC1hY3RpdmUtbWlycm9y LXdpdGgtdW5hbGlnbmVkLXNtYWxsLXdyaXQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k ZXggMDAwMDAwMC4uZDdmMTAxZgotLS0gL2Rldi9udWxsCisrKyBiL2t2bS1pb3Rlc3RzLXRlc3Qt YWN0aXZlLW1pcnJvci13aXRoLXVuYWxpZ25lZC1zbWFsbC13cml0LnBhdGNoCkBAIC0wLDAgKzEs NzcgQEAKK0Zyb20gODZkODkzNzY2NzEzZGRiNDU0YTllN2JmOWUzMDY5YTQxY2Y3N2IxZSBNb24g U2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEZpb25hIEVibmVyIDxmLmVibmVyQHByb3htb3gu Y29tPgorRGF0ZTogVHVlLCAyMCBKYW4gMjAyNiAxMjozODo1NyArMDEwMAorU3ViamVjdDogW1BB VENIIDQ1LzUyXSBpb3Rlc3RzOiB0ZXN0IGFjdGl2ZSBtaXJyb3Igd2l0aCB1bmFsaWduZWQsIHNt YWxsIHdyaXRlCisgemVyb2VzIG9wCisKK1JILUF1dGhvcjogS2V2aW4gV29sZiA8a3dvbGZAcmVk aGF0LmNvbT4KK1JILU1lcmdlUmVxdWVzdDogNTA0OiB2aXJ0LXN0b3JhZ2U6IEJhY2twb3J0IHN0 YWJsZSBicmFuY2ggZml4ZXMKK1JILUppcmE6IFJIRUwtMTg2Mzg0CitSSC1BY2tlZC1ieTogU3Rl ZmFuIEhham5vY3ppIDxzdGVmYW5oYUByZWRoYXQuY29tPgorUkgtQWNrZWQtYnk6IE1pcm9zbGF2 IFJlemFuaW5hIDxtcmV6YW5pbkByZWRoYXQuY29tPgorUkgtQ29tbWl0OiBbMzgvNDVdIDM5YTVh ZTM4OWI1YmQ2ZWU3MWVlNjFmYjQ1ZmI4NDU2ZTcwNjg1MTEgKGttd29sZi9jZW50b3MtcWVtdS1r dm0pCisKK1RoaXMgdGVzdHMgdGhlIHNjZW5hcmlvIGZpeGVkIGJ5ICJibG9jay9taXJyb3I6IGNo ZWNrIHJhbmdlCit3aGVuIHNldHRpbmcgemVybyBiaXRtYXAgZm9yIHN5bmMgd3JpdGUiIFswXS4K KworWzBdIGh0dHBzOi8vbG9yZS5rZXJuZWwub3JnL3FlbXUtZGV2ZWwvMjAyNjAxMTIxNTI1NDQu MjYxOTIzLTEtZi5lYm5lckBwcm94bW94LmNvbS8KKworU2lnbmVkLW9mZi1ieTogRmlvbmEgRWJu ZXIgPGYuZWJuZXJAcHJveG1veC5jb20+CitNZXNzYWdlLUlEOiA8MjAyNjAxMjAxMTM4NTkuMjUx NzQzLTEtZi5lYm5lckBwcm94bW94LmNvbT4KK1Jldmlld2VkLWJ5OiBWbGFkaW1pciBTZW1lbnRz b3YtT2dpZXZza2l5IDx2c2VtZW50c292QHlhbmRleC10ZWFtLnJ1PgorVGVzdGVkLWJ5OiBWbGFk aW1pciBTZW1lbnRzb3YtT2dpZXZza2l5IDx2c2VtZW50c292QHlhbmRleC10ZWFtLnJ1PgorU2ln bmVkLW9mZi1ieTogVmxhZGltaXIgU2VtZW50c292LU9naWV2c2tpeSA8dnNlbWVudHNvdkB5YW5k ZXgtdGVhbS5ydT4KKyhjaGVycnkgcGlja2VkIGZyb20gY29tbWl0IDI2N2Q3YWU5OWExZDNiNWJl OWQzNDIxZGIzYmRmNjUxY2MxOGM3YWIpCitTaWduZWQtb2ZmLWJ5OiBNaWNoYWVsIFRva2FyZXYg PG1qdEB0bHMubXNrLnJ1PgorU2lnbmVkLW9mZi1ieTogS2V2aW4gV29sZiA8a3dvbGZAcmVkaGF0 LmNvbT4KKy0tLQorIHRlc3RzL3FlbXUtaW90ZXN0cy8xNTEgICAgIHwgMjAgKysrKysrKysrKysr KysrKysrKysKKyB0ZXN0cy9xZW11LWlvdGVzdHMvMTUxLm91dCB8ICA0ICsrLS0KKyAyIGZpbGVz IGNoYW5nZWQsIDIyIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQg YS90ZXN0cy9xZW11LWlvdGVzdHMvMTUxIGIvdGVzdHMvcWVtdS1pb3Rlc3RzLzE1MQoraW5kZXgg MDZlZTM1ODVkYi4uOWI5YzgxNWRiNSAxMDA3NTUKKy0tLSBhL3Rlc3RzL3FlbXUtaW90ZXN0cy8x NTEKKysrKyBiL3Rlc3RzL3FlbXUtaW90ZXN0cy8xNTEKK0BAIC0xOTEsNiArMTkxLDI2IEBAIGNs YXNzIFRlc3RBY3RpdmVNaXJyb3IoaW90ZXN0cy5RTVBUZXN0Q2FzZSk6CisgCisgICAgICAgICBz ZWxmLnBvdGVudGlhbF93cml0ZXNfaW5fZmxpZ2h0ID0gRmFsc2UKKyAKKysgICAgZGVmIHRlc3RV bmFsaWduZWRTbWFsbGVyVGhhbkdyYW51bGFyaXR5V3JpdGVaZXJvZXMoc2VsZik6CisrICAgICAg ICAjIEZpbGwgdGhlIHNvdXJjZSBpbWFnZQorKyAgICAgICAgc2VsZi52bS5obXBfcWVtdV9pbygn c291cmNlJywgJ3dyaXRlIC1QIDEgMCAlaScgJSBzZWxmLmltYWdlX2xlbik7CisrCisrICAgICAg ICAjIFN0YXJ0IHRoZSBibG9jayBqb2IKKysgICAgICAgIHNlbGYudm0uY21kKCdibG9ja2Rldi1t aXJyb3InLAorKyAgICAgICAgICAgICAgICAgICAgam9iX2lkPSdtaXJyb3InLAorKyAgICAgICAg ICAgICAgICAgICAgZmlsdGVyX25vZGVfbmFtZT0nbWlycm9yLW5vZGUnLAorKyAgICAgICAgICAg ICAgICAgICAgZGV2aWNlPSdzb3VyY2Utbm9kZScsCisrICAgICAgICAgICAgICAgICAgICB0YXJn ZXQ9J3RhcmdldC1ub2RlJywKKysgICAgICAgICAgICAgICAgICAgIHN5bmM9J2Z1bGwnLAorKyAg ICAgICAgICAgICAgICAgICAgY29weV9tb2RlPSd3cml0ZS1ibG9ja2luZycpCisrCisrICAgICAg ICAjIFdhaXQgZm9yIHRoZSBSRUFEWSBldmVudAorKyAgICAgICAgc2VsZi53YWl0X3JlYWR5KGRy aXZlPSdtaXJyb3InKQorKworKyAgICAgICAgZm9yIG9mZnNldCBpbiByYW5nZSg2ICogc2VsZi5p bWFnZV9sZW4gLy8gOCwgNyAqIHNlbGYuaW1hZ2VfbGVuIC8vIDgsIDEwMjQgKiAxMDI0KToKKysg ICAgICAgICAgICBzZWxmLnZtLmhtcF9xZW11X2lvKCdzb3VyY2UnLCAnYWlvX3dyaXRlIC16ICVp IDUxMicgJSAob2Zmc2V0ICsgNTEyKSkKKysKKysgICAgICAgIHNlbGYuY29tcGxldGVfYW5kX3dh aXQoZHJpdmU9J21pcnJvcicsIHdhaXRfcmVhZHk9RmFsc2UpCisgCisgY2xhc3MgVGVzdFRocm90 dGxlZFdpdGhOYmRFeHBvcnRCYXNlKGlvdGVzdHMuUU1QVGVzdENhc2UpOgorICAgICBpbWFnZV9s ZW4gPSAxMjggKiAxMDI0ICogMTAyNCAgIyBNQgorZGlmZiAtLWdpdCBhL3Rlc3RzL3FlbXUtaW90 ZXN0cy8xNTEub3V0IGIvdGVzdHMvcWVtdS1pb3Rlc3RzLzE1MS5vdXQKK2luZGV4IDNmOGE5MzVh MDguLjJmN2QzOTAyZjIgMTAwNjQ0CistLS0gYS90ZXN0cy9xZW11LWlvdGVzdHMvMTUxLm91dAor KysrIGIvdGVzdHMvcWVtdS1pb3Rlc3RzLzE1MS5vdXQKK0BAIC0xLDUgKzEsNSBAQAorLS4uLi4u LgorKy4uLi4uLi4KKyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCistUmFuIDYgdGVzdHMKKytSYW4gNyB0ZXN0cwor IAorIE9LCistLSAKKzIuNTIuMAorCgpkaWZmIC0tZ2l0IGEva3ZtLW52bWUtS2ljay1hbmQtY2hl Y2stY29tcGxldGlvbnMtaW4tQkRTLWNvbnRleHQucGF0Y2ggYi9rdm0tbnZtZS1LaWNrLWFuZC1j aGVjay1jb21wbGV0aW9ucy1pbi1CRFMtY29udGV4dC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0 NAppbmRleCAwMDAwMDAwLi5kNzhmMzk1Ci0tLSAvZGV2L251bGwKKysrIGIva3ZtLW52bWUtS2lj ay1hbmQtY2hlY2stY29tcGxldGlvbnMtaW4tQkRTLWNvbnRleHQucGF0Y2gKQEAgLTAsMCArMSw3 NSBAQAorRnJvbSBjOTIzOWZlZDZkM2I3ZjE0Yjg0N2YxMGQ1M2ZkN2MwNTdlMDhjYWZkIE1vbiBT ZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogSGFubmEgQ3plbmN6ZWsgPGhyZWl0ekByZWRoYXQu Y29tPgorRGF0ZTogTW9uLCAxMCBOb3YgMjAyNSAxNjo0ODo0MiArMDEwMAorU3ViamVjdDogW1BB VENIIDE0LzUyXSBudm1lOiBLaWNrIGFuZCBjaGVjayBjb21wbGV0aW9ucyBpbiBCRFMgY29udGV4 dAorTUlNRS1WZXJzaW9uOiAxLjAKK0NvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1V VEYtOAorQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAorCitSSC1BdXRob3I6IEtldmlu IFdvbGYgPGt3b2xmQHJlZGhhdC5jb20+CitSSC1NZXJnZVJlcXVlc3Q6IDUwNDogdmlydC1zdG9y YWdlOiBCYWNrcG9ydCBzdGFibGUgYnJhbmNoIGZpeGVzCitSSC1KaXJhOiBSSEVMLTE4NjM4NAor UkgtQWNrZWQtYnk6IFN0ZWZhbiBIYWpub2N6aSA8c3RlZmFuaGFAcmVkaGF0LmNvbT4KK1JILUFj a2VkLWJ5OiBNaXJvc2xhdiBSZXphbmluYSA8bXJlemFuaW5AcmVkaGF0LmNvbT4KK1JILUNvbW1p dDogWzcvNDVdIDZmMmY1NGEzNTY4NTkxMDg3NTM4ZTBjYzJkNDIzY2E3MWY0NGQ2NjEgKGttd29s Zi9jZW50b3MtcWVtdS1rdm0pCisKK252bWVfcHJvY2Vzc19jb21wbGV0aW9uKCkgbXVzdCBydW4g aW4gdGhlIG1haW4gQkRTIGNvbnRleHQsIHNvIHNjaGVkdWxlCithIEJIIGZvciByZXF1ZXN0cyB0 aGF0IGFyZW7igJl0IHRoZXJlLgorCitUaGUgY29udGV4dCBpbiB3aGljaCB3ZSBraWNrIGRvZXMg bm90IG1hdHRlciwgYnV0IGxldOKAmXMganVzdCBrZWVwIGtpY2sKK2FuZCBwcm9jZXNzX2NvbXBs ZXRpb24gdG9nZXRoZXIgZm9yIHNpbXBsaWNpdHnigJlzIHNha2UuCisKKyhGb3Igd2hhdCBpdOKA mXMgd29ydGgsIGEgcXVpY2sgZmlvIGJhbmR3aWR0aCB0ZXN0IGluZGljYXRlcyB0aGF0IG9uIG15 Cit0ZXN0IGhhcmR3YXJlLCBpZiBhbnl0aGluZywgdGhpcyBtYXkgYmUgYSBiaXQgYmV0dGVyIHRo YW4ga2lja2luZworaW1tZWRpYXRlbHkgYmVmb3JlIHNjaGVkdWxpbmcgYSBwdXJlIG52bWVfcHJv Y2Vzc19jb21wbGV0aW9uKCkgQkguICBCdXQKK0kgd291bGRu4oCZdCB0YWtlIG1vcmUgZnJvbSB0 aG9zZSByZXN1bHRzIHRoYW4gdGhhdCBpdCBkb2VzbuKAmXQgcmVhbGx5IHNlZW0KK3RvIG1hdHRl ciBlaXRoZXIgd2F5LikKKworQ2M6IHFlbXUtc3RhYmxlQG5vbmdudS5vcmcKK1NpZ25lZC1vZmYt Ynk6IEhhbm5hIEN6ZW5jemVrIDxocmVpdHpAcmVkaGF0LmNvbT4KK01lc3NhZ2UtSUQ6IDwyMDI1 MTExMDE1NDg1NC4xNTE0ODQtOC1ocmVpdHpAcmVkaGF0LmNvbT4KK1Jldmlld2VkLWJ5OiBTdGVm YW4gSGFqbm9jemkgPHN0ZWZhbmhhQHJlZGhhdC5jb20+CitSZXZpZXdlZC1ieTogS2V2aW4gV29s ZiA8a3dvbGZAcmVkaGF0LmNvbT4KK1NpZ25lZC1vZmYtYnk6IEtldmluIFdvbGYgPGt3b2xmQHJl ZGhhdC5jb20+CisoY2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCA3YTUwMWJiZDUxOTQxZmIxODY3 ZDc4ZTZiMGQxZGM2OWUzOTZiOWUyKQorU2lnbmVkLW9mZi1ieTogTWljaGFlbCBUb2thcmV2IDxt anRAdGxzLm1zay5ydT4KK1NpZ25lZC1vZmYtYnk6IEtldmluIFdvbGYgPGt3b2xmQHJlZGhhdC5j b20+CistLS0KKyBibG9jay9udm1lLmMgfCAxNCArKysrKysrKysrKysrLQorIDEgZmlsZSBjaGFu Z2VkLCAxMyBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9ibG9j ay9udm1lLmMgYi9ibG9jay9udm1lLmMKK2luZGV4IDhkZjUzZWU0Y2EuLjdlZDVmNTcwYmMgMTAw NjQ0CistLS0gYS9ibG9jay9udm1lLmMKKysrKyBiL2Jsb2NrL252bWUuYworQEAgLTQ4MSw3ICs0 ODEsNyBAQCBzdGF0aWMgdm9pZCBudm1lX3RyYWNlX2NvbW1hbmQoY29uc3QgTnZtZUNtZCAqY21k KQorICAgICB9CisgfQorIAorLXN0YXRpYyB2b2lkIG52bWVfZGVmZXJyZWRfZm4odm9pZCAqb3Bh cXVlKQorK3N0YXRpYyB2b2lkIG52bWVfa2lja19hbmRfY2hlY2tfY29tcGxldGlvbnModm9pZCAq b3BhcXVlKQorIHsKKyAgICAgTlZNZVF1ZXVlUGFpciAqcSA9IG9wYXF1ZTsKKyAKK0BAIC00OTAs NiArNDkwLDE4IEBAIHN0YXRpYyB2b2lkIG52bWVfZGVmZXJyZWRfZm4odm9pZCAqb3BhcXVlKQor ICAgICBudm1lX3Byb2Nlc3NfY29tcGxldGlvbihxKTsKKyB9CisgCisrc3RhdGljIHZvaWQgbnZt ZV9kZWZlcnJlZF9mbih2b2lkICpvcGFxdWUpCisreworKyAgICBOVk1lUXVldWVQYWlyICpxID0g b3BhcXVlOworKworKyAgICBpZiAocWVtdV9nZXRfY3VycmVudF9haW9fY29udGV4dCgpID09IHEt PnMtPmFpb19jb250ZXh0KSB7CisrICAgICAgICBudm1lX2tpY2tfYW5kX2NoZWNrX2NvbXBsZXRp b25zKHEpOworKyAgICB9IGVsc2UgeworKyAgICAgICAgYWlvX2JoX3NjaGVkdWxlX29uZXNob3Qo cS0+cy0+YWlvX2NvbnRleHQsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBudm1l X2tpY2tfYW5kX2NoZWNrX2NvbXBsZXRpb25zLCBxKTsKKysgICAgfQorK30KKysKKyBzdGF0aWMg dm9pZCBudm1lX3N1Ym1pdF9jb21tYW5kKE5WTWVRdWV1ZVBhaXIgKnEsIE5WTWVSZXF1ZXN0ICpy ZXEsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOdm1lQ21kICpjbWQsIEJsb2Nr Q29tcGxldGlvbkZ1bmMgY2IsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lk ICpvcGFxdWUpCistLSAKKzIuNTIuMAorCgpkaWZmIC0tZ2l0IGEva3ZtLW52bWUtTm90ZS1pbi13 aGljaC1BaW9Db250ZXh0LXNvbWUtZnVuY3Rpb25zLXJ1bi5wYXRjaCBiL2t2bS1udm1lLU5vdGUt aW4td2hpY2gtQWlvQ29udGV4dC1zb21lLWZ1bmN0aW9ucy1ydW4ucGF0Y2gKbmV3IGZpbGUgbW9k ZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDQ0NjdmZQotLS0gL2Rldi9udWxsCisrKyBiL2t2bS1u dm1lLU5vdGUtaW4td2hpY2gtQWlvQ29udGV4dC1zb21lLWZ1bmN0aW9ucy1ydW4ucGF0Y2gKQEAg LTAsMCArMSwyNzMgQEAKK0Zyb20gYWY5MzZlM2NlNjZjMmI4YWI5OGZlNmE1MjljZWE3M2Q4NmY3 OGVlOSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEhhbm5hIEN6ZW5jemVrIDxocmVp dHpAcmVkaGF0LmNvbT4KK0RhdGU6IE1vbiwgMTAgTm92IDIwMjUgMTY6NDg6NDQgKzAxMDAKK1N1 YmplY3Q6IFtQQVRDSCAxNS81Ml0gbnZtZTogTm90ZSBpbiB3aGljaCBBaW9Db250ZXh0IHNvbWUg ZnVuY3Rpb25zIHJ1bgorCitSSC1BdXRob3I6IEtldmluIFdvbGYgPGt3b2xmQHJlZGhhdC5jb20+ CitSSC1NZXJnZVJlcXVlc3Q6IDUwNDogdmlydC1zdG9yYWdlOiBCYWNrcG9ydCBzdGFibGUgYnJh bmNoIGZpeGVzCitSSC1KaXJhOiBSSEVMLTE4NjM4NAorUkgtQWNrZWQtYnk6IFN0ZWZhbiBIYWpu b2N6aSA8c3RlZmFuaGFAcmVkaGF0LmNvbT4KK1JILUFja2VkLWJ5OiBNaXJvc2xhdiBSZXphbmlu YSA8bXJlemFuaW5AcmVkaGF0LmNvbT4KK1JILUNvbW1pdDogWzgvNDVdIDFhZDRiODRjMGYyZGVm MTU2NWZiM2RlMjRkY2I2YjNhMTdhMThmZWMgKGttd29sZi9jZW50b3MtcWVtdS1rdm0pCisKK1Nw cmlua2xlIGNvbW1lbnRzIHRocm91Z2hvdXQgYmxvY2svbnZtZS5jIG5vdGluZyBmb3Igc29tZSBm dW5jdGlvbnMKKyh3aGVyZSBpdCBtYXkgbm90IGJlIG9idmlvdXMpIHRoYXQgdGhleSByZXF1aXJl IGEgY2VydGFpbiBBaW9Db250ZXh0LCBvcgoraW4gd2hpY2ggQWlvQ29udGV4dCB0aGV5IGRvIGhh cHBlbiB0byBydW4gKGZvciBjYWxsYmFja3MsIEJIcywgZXZlbnQKK25vdGlmaWVycykuCisKK1N1 Z2dlc3RlZC1ieTogS2V2aW4gV29sZiA8a3dvbGZAcmVkaGF0LmNvbT4KK1NpZ25lZC1vZmYtYnk6 IEhhbm5hIEN6ZW5jemVrIDxocmVpdHpAcmVkaGF0LmNvbT4KK01lc3NhZ2UtSUQ6IDwyMDI1MTEx MDE1NDg1NC4xNTE0ODQtMTAtaHJlaXR6QHJlZGhhdC5jb20+CitSZXZpZXdlZC1ieTogU3RlZmFu IEhham5vY3ppIDxzdGVmYW5oYUByZWRoYXQuY29tPgorUmV2aWV3ZWQtYnk6IEtldmluIFdvbGYg PGt3b2xmQHJlZGhhdC5jb20+CitTaWduZWQtb2ZmLWJ5OiBLZXZpbiBXb2xmIDxrd29sZkByZWRo YXQuY29tPgorKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgYWMzNTIwZjU5OWZlZGVlMDU5NDVj ZTA2YmIwZjcxODIwYTdiMmZmYykKKyhNanQ6IHBpY2sgdGhpcyBjb21tZW50cy1vbmx5LCBuby1j b2RlLWNoYW5nZXMgY29tbWl0IHRvIDEwLjEueAorIHNvIHRoZSBuZXh0IGNoYW5nZSBhcHBsaWVz IGNsZWFubHkpCitTaWduZWQtb2ZmLWJ5OiBNaWNoYWVsIFRva2FyZXYgPG1qdEB0bHMubXNrLnJ1 PgorU2lnbmVkLW9mZi1ieTogS2V2aW4gV29sZiA8a3dvbGZAcmVkaGF0LmNvbT4KKy0tLQorIGJs b2NrL252bWUuYyB8IDQzICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0t LS0KKyAxIGZpbGUgY2hhbmdlZCwgMzQgaW5zZXJ0aW9ucygrKSwgOSBkZWxldGlvbnMoLSkKKwor ZGlmZiAtLWdpdCBhL2Jsb2NrL252bWUuYyBiL2Jsb2NrL252bWUuYworaW5kZXggN2VkNWY1NzBi Yy4uYzNkM2I5OWQxZiAxMDA2NDQKKy0tLSBhL2Jsb2NrL252bWUuYworKysrIGIvYmxvY2svbnZt ZS5jCitAQCAtNjUsNiArNjUsNyBAQCB0eXBlZGVmIHN0cnVjdCB7CisgfSBOVk1lUXVldWU7Cisg CisgdHlwZWRlZiBzdHJ1Y3QgeworKyAgICAvKiBDYWxsZWQgZnJvbSBudm1lX3Byb2Nlc3NfY29t cGxldGlvbigpIGluIHRoZSBCRFMncyBtYWluIEFpb0NvbnRleHQgKi8KKyAgICAgQmxvY2tDb21w bGV0aW9uRnVuYyAqY2I7CisgICAgIHZvaWQgKm9wYXF1ZTsKKyAgICAgaW50IGNpZDsKK0BAIC04 NCw2ICs4NSw3IEBAIHR5cGVkZWYgc3RydWN0IHsKKyAgICAgdWludDhfdCAgICAgKnBycF9saXN0 X3BhZ2VzOworIAorICAgICAvKiBGaWVsZHMgcHJvdGVjdGVkIGJ5IEBsb2NrICovCisrICAgIC8q IENvcm91dGluZXMgaW4gdGhpcyBxdWV1ZSBhcmUgd29rZW4gaW4gdGhlaXIgb3duIGNvbnRleHQg Ki8KKyAgICAgQ29RdWV1ZSAgICAgZnJlZV9yZXFfcXVldWU7CisgICAgIE5WTWVRdWV1ZSAgIHNx LCBjcTsKKyAgICAgaW50ICAgICAgICAgY3FfcGhhc2U7CitAQCAtOTIsNyArOTQsNyBAQCB0eXBl ZGVmIHN0cnVjdCB7CisgICAgIGludCAgICAgICAgIG5lZWRfa2ljazsKKyAgICAgaW50ICAgICAg ICAgaW5mbGlnaHQ7CisgCistICAgIC8qIFRocmVhZC1zYWZlLCBubyBsb2NrIG5lY2Vzc2FyeSAq LworKyAgICAvKiBUaHJlYWQtc2FmZSwgbm8gbG9jayBuZWNlc3Nhcnk7IHJ1bnMgaW4gdGhlIEJE UydzIG1haW4gY29udGV4dCAqLworICAgICBRRU1VQkggICAgICAqY29tcGxldGlvbl9iaDsKKyB9 IE5WTWVRdWV1ZVBhaXI7CisgCitAQCAtMjA2LDExICsyMDgsMTMgQEAgc3RhdGljIHZvaWQgbnZt ZV9mcmVlX3F1ZXVlX3BhaXIoTlZNZVF1ZXVlUGFpciAqcSkKKyAgICAgZ19mcmVlKHEpOworIH0K KyAKKysvKiBSdW5zIGluIHRoZSBCRFMncyBtYWluIEFpb0NvbnRleHQgKi8KKyBzdGF0aWMgdm9p ZCBudm1lX2ZyZWVfcmVxX3F1ZXVlX2NiKHZvaWQgKm9wYXF1ZSkKKyB7CisgICAgIE5WTWVRdWV1 ZVBhaXIgKnEgPSBvcGFxdWU7CisgCisgICAgIHFlbXVfbXV0ZXhfbG9jaygmcS0+bG9jayk7Cisr ICAgIC8qIHFlbXVfY29fZW50ZXJfbmV4dCgpIHdha2VzIHRoZSBjb3JvdXRpbmUgaW4gaXRzIG93 biBBaW9Db250ZXh0ICovCisgICAgIHdoaWxlIChxLT5mcmVlX3JlcV9oZWFkICE9IC0xICYmCisg ICAgICAgICAgICBxZW11X2NvX2VudGVyX25leHQoJnEtPmZyZWVfcmVxX3F1ZXVlLCAmcS0+bG9j aykpIHsKKyAgICAgICAgIC8qIFJldHJ5IHdhaXRpbmcgcmVxdWVzdHMgKi8KK0BAIC0yODEsNyAr Mjg1LDcgQEAgZmFpbDoKKyAgICAgcmV0dXJuIE5VTEw7CisgfQorIAorLS8qIFdpdGggcS0+bG9j ayAqLworKy8qIFdpdGggcS0+bG9jaywgbXVzdCBiZSBydW4gaW4gdGhlIEJEUydzIG1haW4gQWlv Q29udGV4dCAqLworIHN0YXRpYyB2b2lkIG52bWVfa2ljayhOVk1lUXVldWVQYWlyICpxKQorIHsK KyAgICAgQkRSVk5WTWVTdGF0ZSAqcyA9IHEtPnM7CitAQCAtMzA4LDcgKzMxMiwxMCBAQCBzdGF0 aWMgTlZNZVJlcXVlc3QgKm52bWVfZ2V0X2ZyZWVfcmVxX25vZmFpbF9sb2NrZWQoTlZNZVF1ZXVl UGFpciAqcSkKKyAgICAgcmV0dXJuIHJlcTsKKyB9CisgCistLyogUmV0dXJuIGEgZnJlZSByZXF1 ZXN0IGVsZW1lbnQgaWYgYW55LCBvdGhlcndpc2UgcmV0dXJuIE5VTEwuICAqLworKy8qCisrICog UmV0dXJuIGEgZnJlZSByZXF1ZXN0IGVsZW1lbnQgaWYgYW55LCBvdGhlcndpc2UgcmV0dXJuIE5V TEwuCisrICogTWF5IGJlIHJ1biBmcm9tIGFueSBBaW9Db250ZXh0LgorKyAqLworIHN0YXRpYyBO Vk1lUmVxdWVzdCAqbnZtZV9nZXRfZnJlZV9yZXFfbm93YWl0KE5WTWVRdWV1ZVBhaXIgKnEpCisg eworICAgICBRRU1VX0xPQ0tfR1VBUkQoJnEtPmxvY2spOworQEAgLTMyMSw2ICszMjgsNyBAQCBz dGF0aWMgTlZNZVJlcXVlc3QgKm52bWVfZ2V0X2ZyZWVfcmVxX25vd2FpdChOVk1lUXVldWVQYWly ICpxKQorIC8qCisgICogV2FpdCBmb3IgYSBmcmVlIHJlcXVlc3QgdG8gYmVjb21lIGF2YWlsYWJs ZSBpZiBuZWNlc3NhcnksIHRoZW4KKyAgKiByZXR1cm4gaXQuCisrICogTWF5IGJlIGNhbGxlZCBp biBhbnkgQWlvQ29udGV4dC4KKyAgKi8KKyBzdGF0aWMgY29yb3V0aW5lX2ZuIE5WTWVSZXF1ZXN0 ICpudm1lX2dldF9mcmVlX3JlcShOVk1lUXVldWVQYWlyICpxKQorIHsKK0BAIC0zMjgsMjAgKzMz NiwyMSBAQCBzdGF0aWMgY29yb3V0aW5lX2ZuIE5WTWVSZXF1ZXN0ICpudm1lX2dldF9mcmVlX3Jl cShOVk1lUXVldWVQYWlyICpxKQorIAorICAgICB3aGlsZSAocS0+ZnJlZV9yZXFfaGVhZCA9PSAt MSkgeworICAgICAgICAgdHJhY2VfbnZtZV9mcmVlX3JlcV9xdWV1ZV93YWl0KHEtPnMsIHEtPmlu ZGV4KTsKKysgICAgICAgIC8qIG52bWVfZnJlZV9yZXFfcXVldWVfY2IoKSB3YWtlcyB1cyBpbiBv dXIgb3duIEFpb0NvbnRleHQgKi8KKyAgICAgICAgIHFlbXVfY29fcXVldWVfd2FpdCgmcS0+ZnJl ZV9yZXFfcXVldWUsICZxLT5sb2NrKTsKKyAgICAgfQorIAorICAgICByZXR1cm4gbnZtZV9nZXRf ZnJlZV9yZXFfbm9mYWlsX2xvY2tlZChxKTsKKyB9CisgCistLyogV2l0aCBxLT5sb2NrICovCisr LyogV2l0aCBxLT5sb2NrLCBtYXkgYmUgY2FsbGVkIGluIGFueSBBaW9Db250ZXh0ICovCisgc3Rh dGljIHZvaWQgbnZtZV9wdXRfZnJlZV9yZXFfbG9ja2VkKE5WTWVRdWV1ZVBhaXIgKnEsIE5WTWVS ZXF1ZXN0ICpyZXEpCisgeworICAgICByZXEtPmZyZWVfcmVxX25leHQgPSBxLT5mcmVlX3JlcV9o ZWFkOworICAgICBxLT5mcmVlX3JlcV9oZWFkID0gcmVxIC0gcS0+cmVxczsKKyB9CisgCistLyog V2l0aCBxLT5sb2NrICovCisrLyogV2l0aCBxLT5sb2NrLCBtYXkgYmUgY2FsbGVkIGluIGFueSBB aW9Db250ZXh0ICovCisgc3RhdGljIHZvaWQgbnZtZV93YWtlX2ZyZWVfcmVxX2xvY2tlZChOVk1l UXVldWVQYWlyICpxKQorIHsKKyAgICAgaWYgKCFxZW11X2NvX3F1ZXVlX2VtcHR5KCZxLT5mcmVl X3JlcV9xdWV1ZSkpIHsKK0BAIC0zNTAsNyArMzU5LDcgQEAgc3RhdGljIHZvaWQgbnZtZV93YWtl X2ZyZWVfcmVxX2xvY2tlZChOVk1lUXVldWVQYWlyICpxKQorICAgICB9CisgfQorIAorLS8qIElu c2VydCBhIHJlcXVlc3QgaW4gdGhlIGZyZWVsaXN0IGFuZCB3YWtlIHdhaXRlcnMgKi8KKysvKiBJ bnNlcnQgYSByZXF1ZXN0IGluIHRoZSBmcmVlbGlzdCBhbmQgd2FrZSB3YWl0ZXJzIChmcm9tIGFu eSBBaW9Db250ZXh0KSAqLworIHN0YXRpYyB2b2lkIG52bWVfcHV0X2ZyZWVfcmVxX2FuZF93YWtl KE5WTWVRdWV1ZVBhaXIgKnEsIE5WTWVSZXF1ZXN0ICpyZXEpCisgeworICAgICBxZW11X211dGV4 X2xvY2soJnEtPmxvY2spOworQEAgLTM4MSw3ICszOTAsNyBAQCBzdGF0aWMgaW5saW5lIGludCBu dm1lX3RyYW5zbGF0ZV9lcnJvcihjb25zdCBOdm1lQ3FlICpjKQorICAgICB9CisgfQorIAorLS8q IFdpdGggcS0+bG9jayAqLworKy8qIFdpdGggcS0+bG9jaywgbXVzdCBiZSBydW4gaW4gdGhlIEJE UydzIG1haW4gQWlvQ29udGV4dCAqLworIHN0YXRpYyBib29sIG52bWVfcHJvY2Vzc19jb21wbGV0 aW9uKE5WTWVRdWV1ZVBhaXIgKnEpCisgeworICAgICBCRFJWTlZNZVN0YXRlICpzID0gcS0+czsK K0BAIC00NTEsNiArNDYwLDcgQEAgc3RhdGljIGJvb2wgbnZtZV9wcm9jZXNzX2NvbXBsZXRpb24o TlZNZVF1ZXVlUGFpciAqcSkKKyAgICAgcmV0dXJuIHByb2dyZXNzOworIH0KKyAKKysvKiBBcyBx LT5jb21wbGV0aW9uX2JoLCBydW5zIGluIHRoZSBCRFMncyBtYWluIEFpb0NvbnRleHQgKi8KKyBz dGF0aWMgdm9pZCBudm1lX3Byb2Nlc3NfY29tcGxldGlvbl9iaCh2b2lkICpvcGFxdWUpCisgewor ICAgICBOVk1lUXVldWVQYWlyICpxID0gb3BhcXVlOworQEAgLTQ4MSw2ICs0OTEsNyBAQCBzdGF0 aWMgdm9pZCBudm1lX3RyYWNlX2NvbW1hbmQoY29uc3QgTnZtZUNtZCAqY21kKQorICAgICB9Cisg fQorIAorKy8qIE11c3QgYmUgcnVuIGluIHRoZSBCRFMncyBtYWluIEFpb0NvbnRleHQgKi8KKyBz dGF0aWMgdm9pZCBudm1lX2tpY2tfYW5kX2NoZWNrX2NvbXBsZXRpb25zKHZvaWQgKm9wYXF1ZSkK KyB7CisgICAgIE5WTWVRdWV1ZVBhaXIgKnEgPSBvcGFxdWU7CitAQCAtNDkwLDYgKzUwMSw3IEBA IHN0YXRpYyB2b2lkIG52bWVfa2lja19hbmRfY2hlY2tfY29tcGxldGlvbnModm9pZCAqb3BhcXVl KQorICAgICBudm1lX3Byb2Nlc3NfY29tcGxldGlvbihxKTsKKyB9CisgCisrLyogUnVucyBpbiBu dm1lX3N1Ym1pdF9jb21tYW5kKCkncyBBaW9Db250ZXh0ICovCisgc3RhdGljIHZvaWQgbnZtZV9k ZWZlcnJlZF9mbih2b2lkICpvcGFxdWUpCisgeworICAgICBOVk1lUXVldWVQYWlyICpxID0gb3Bh cXVlOworQEAgLTUwMiw2ICs1MTQsNyBAQCBzdGF0aWMgdm9pZCBudm1lX2RlZmVycmVkX2ZuKHZv aWQgKm9wYXF1ZSkKKyAgICAgfQorIH0KKyAKKysvKiBNYXkgYmUgcnVuIGluIGFueSBBaW9Db250 ZXh0ICovCisgc3RhdGljIHZvaWQgbnZtZV9zdWJtaXRfY29tbWFuZChOVk1lUXVldWVQYWlyICpx LCBOVk1lUmVxdWVzdCAqcmVxLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTnZt ZUNtZCAqY21kLCBCbG9ja0NvbXBsZXRpb25GdW5jIGNiLAorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgdm9pZCAqb3BhcXVlKQorQEAgLTUyMyw2ICs1MzYsNyBAQCBzdGF0aWMgdm9p ZCBudm1lX3N1Ym1pdF9jb21tYW5kKE5WTWVRdWV1ZVBhaXIgKnEsIE5WTWVSZXF1ZXN0ICpyZXEs CisgICAgIGRlZmVyX2NhbGwobnZtZV9kZWZlcnJlZF9mbiwgcSk7CisgfQorIAorKy8qIFB1dCBp bnRvIE5WTWVSZXF1ZXN0LmNiLCBzbyBydW5zIGluIHRoZSBCRFMncyBtYWluIEFpb0NvbnRleHQg Ki8KKyBzdGF0aWMgdm9pZCBudm1lX2FkbWluX2NtZF9zeW5jX2NiKHZvaWQgKm9wYXF1ZSwgaW50 IHJldCkKKyB7CisgICAgIGludCAqcHJldCA9IG9wYXF1ZTsKK0BAIC01MzAsNiArNTQ0LDcgQEAg c3RhdGljIHZvaWQgbnZtZV9hZG1pbl9jbWRfc3luY19jYih2b2lkICpvcGFxdWUsIGludCByZXQp CisgICAgIGFpb193YWl0X2tpY2soKTsKKyB9CisgCisrLyogTXVzdCBiZSBydW4gaW4gdGhlIEJE UydzIG9yIHFlbXUncyBtYWluIEFpb0NvbnRleHQgKi8KKyBzdGF0aWMgaW50IG52bWVfYWRtaW5f Y21kX3N5bmMoQmxvY2tEcml2ZXJTdGF0ZSAqYnMsIE52bWVDbWQgKmNtZCkKKyB7CisgICAgIEJE UlZOVk1lU3RhdGUgKnMgPSBicy0+b3BhcXVlOworQEAgLTYzOCw2ICs2NTMsNyBAQCBvdXQ6Cisg ICAgIHJldHVybiByZXQ7CisgfQorIAorKy8qIE11c3QgYmUgcnVuIGluIHRoZSBCRFMncyBtYWlu IEFpb0NvbnRleHQgKi8KKyBzdGF0aWMgdm9pZCBudm1lX3BvbGxfcXVldWUoTlZNZVF1ZXVlUGFp ciAqcSkKKyB7CisgICAgIGNvbnN0IHNpemVfdCBjcWVfb2Zmc2V0ID0gcS0+Y3EuaGVhZCAqIE5W TUVfQ1FfRU5UUllfQllURVM7CitAQCAtNjYwLDYgKzY3Niw3IEBAIHN0YXRpYyB2b2lkIG52bWVf cG9sbF9xdWV1ZShOVk1lUXVldWVQYWlyICpxKQorICAgICBxZW11X211dGV4X3VubG9jaygmcS0+ bG9jayk7CisgfQorIAorKy8qIE11c3QgYmUgcnVuIGluIHRoZSBCRFMncyBtYWluIEFpb0NvbnRl eHQgKi8KKyBzdGF0aWMgdm9pZCBudm1lX3BvbGxfcXVldWVzKEJEUlZOVk1lU3RhdGUgKnMpCisg eworICAgICBpbnQgaTsKK0BAIC02NjksNiArNjg2LDcgQEAgc3RhdGljIHZvaWQgbnZtZV9wb2xs X3F1ZXVlcyhCRFJWTlZNZVN0YXRlICpzKQorICAgICB9CisgfQorIAorKy8qIFJ1biBhcyBhbiBl dmVudCBub3RpZmllciBpbiB0aGUgQkRTJ3MgbWFpbiBBaW9Db250ZXh0ICovCisgc3RhdGljIHZv aWQgbnZtZV9oYW5kbGVfZXZlbnQoRXZlbnROb3RpZmllciAqbikKKyB7CisgICAgIEJEUlZOVk1l U3RhdGUgKnMgPSBjb250YWluZXJfb2YobiwgQkRSVk5WTWVTdGF0ZSwKK0BAIC03MjIsNiArNzQw LDcgQEAgb3V0X2Vycm9yOgorICAgICByZXR1cm4gZmFsc2U7CisgfQorIAorKy8qIFJ1biBhcyBh biBldmVudCBub3RpZmllciBpbiB0aGUgQkRTJ3MgbWFpbiBBaW9Db250ZXh0ICovCisgc3RhdGlj IGJvb2wgbnZtZV9wb2xsX2NiKHZvaWQgKm9wYXF1ZSkKKyB7CisgICAgIEV2ZW50Tm90aWZpZXIg KmUgPSBvcGFxdWU7CitAQCAtNzQ1LDYgKzc2NCw3IEBAIHN0YXRpYyBib29sIG52bWVfcG9sbF9j Yih2b2lkICpvcGFxdWUpCisgICAgIHJldHVybiBmYWxzZTsKKyB9CisgCisrLyogUnVuIGFzIGFu IGV2ZW50IG5vdGlmaWVyIGluIHRoZSBCRFMncyBtYWluIEFpb0NvbnRleHQgKi8KKyBzdGF0aWMg dm9pZCBudm1lX3BvbGxfcmVhZHkoRXZlbnROb3RpZmllciAqZSkKKyB7CisgICAgIEJEUlZOVk1l U3RhdGUgKnMgPSBjb250YWluZXJfb2YoZSwgQkRSVk5WTWVTdGF0ZSwKK0BAIC0xMDUwLDcgKzEw NzAsNyBAQCBzdGF0aWMgaW50IG52bWVfcHJvYmVfYmxvY2tzaXplcyhCbG9ja0RyaXZlclN0YXRl ICpicywgQmxvY2tTaXplcyAqYnN6KQorICAgICByZXR1cm4gMDsKKyB9CisgCistLyogQ2FsbGVk IHdpdGggcy0+ZG1hX21hcF9sb2NrICovCisrLyogQ2FsbGVkIHdpdGggcy0+ZG1hX21hcF9sb2Nr LCBtYXkgYmUgcnVuIGluIGFueSBBaW9Db250ZXh0ICovCisgc3RhdGljIGNvcm91dGluZV9mbiBp bnQgbnZtZV9jbWRfdW5tYXBfcWlvdihCbG9ja0RyaXZlclN0YXRlICpicywKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFFFTVVJT1ZlY3RvciAqcWlvdikKKyB7 CitAQCAtMTA2MSwxMyArMTA4MSwxNyBAQCBzdGF0aWMgY29yb3V0aW5lX2ZuIGludCBudm1lX2Nt ZF91bm1hcF9xaW92KEJsb2NrRHJpdmVyU3RhdGUgKmJzLAorICAgICBpZiAoIXMtPmRtYV9tYXBf Y291bnQgJiYgIXFlbXVfY29fcXVldWVfZW1wdHkoJnMtPmRtYV9mbHVzaF9xdWV1ZSkpIHsKKyAg ICAgICAgIHIgPSBxZW11X3ZmaW9fZG1hX3Jlc2V0X3RlbXBvcmFyeShzLT52ZmlvKTsKKyAgICAg ICAgIGlmICghcikgeworKyAgICAgICAgICAgIC8qCisrICAgICAgICAgICAgICogUXVldWUgYWNj ZXNzIGlzIHByb3RlY3RlZCBieSB0aGUgZG1hX21hcF9sb2NrLCBhbmQgYWxsCisrICAgICAgICAg ICAgICogY29yb3V0aW5lcyBhcmUgd29rZW4gaW4gdGhlaXIgb3duIEFpb0NvbnRleHQKKysgICAg ICAgICAgICAgKi8KKyAgICAgICAgICAgICBxZW11X2NvX3F1ZXVlX3Jlc3RhcnRfYWxsKCZzLT5k bWFfZmx1c2hfcXVldWUpOworICAgICAgICAgfQorICAgICB9CisgICAgIHJldHVybiByOworIH0K KyAKKy0vKiBDYWxsZWQgd2l0aCBzLT5kbWFfbWFwX2xvY2sgKi8KKysvKiBDYWxsZWQgd2l0aCBz LT5kbWFfbWFwX2xvY2ssIG1heSBiZSBydW4gaW4gYW55IEFpb0NvbnRleHQgKi8KKyBzdGF0aWMg Y29yb3V0aW5lX2ZuIGludCBudm1lX2NtZF9tYXBfcWlvdihCbG9ja0RyaXZlclN0YXRlICpicywg TnZtZUNtZCAqY21kLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IE5WTWVSZXF1ZXN0ICpyZXEsIFFFTVVJT1ZlY3RvciAqcWlvdikKKyB7CitAQCAtMTE4Niw2ICsx MjEwLDcgQEAgc3RhdGljIHZvaWQgbnZtZV9yd19jYl9iaCh2b2lkICpvcGFxdWUpCisgICAgIHFl bXVfY29yb3V0aW5lX2VudGVyKGRhdGEtPmNvKTsKKyB9CisgCisrLyogUHV0IGludG8gTlZNZVJl cXVlc3QuY2IsIHNvIHJ1bnMgaW4gdGhlIEJEUydzIG1haW4gQWlvQ29udGV4dCAqLworIHN0YXRp YyB2b2lkIG52bWVfcndfY2Iodm9pZCAqb3BhcXVlLCBpbnQgcmV0KQorIHsKKyAgICAgTlZNZUNv RGF0YSAqZGF0YSA9IG9wYXF1ZTsKKy0tIAorMi41Mi4wCisKCmRpZmYgLS1naXQgYS9rdm0tcHl0 aG9uLWJhY2twb3J0LVJlbW92ZS1kZXByZWNhdGVkLWdldF9ldmVudF9sb29wLWNhbC5wYXRjaCBi L2t2bS1weXRob24tYmFja3BvcnQtUmVtb3ZlLWRlcHJlY2F0ZWQtZ2V0X2V2ZW50X2xvb3AtY2Fs LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjkyNmE5OWQKLS0tIC9k ZXYvbnVsbAorKysgYi9rdm0tcHl0aG9uLWJhY2twb3J0LVJlbW92ZS1kZXByZWNhdGVkLWdldF9l dmVudF9sb29wLWNhbC5wYXRjaApAQCAtMCwwICsxLDEwNCBAQAorRnJvbSBkOGJkZDBjYmYxMjJk MWYwMWFjYWVjOGM5ODQ2YjljZGJmOTI1ZDNjIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJv bTogSm9obiBTbm93IDxqc25vd0ByZWRoYXQuY29tPgorRGF0ZTogVHVlLCAxMyBBdWcgMjAyNCAw OTozNTozMCAtMDQwMAorU3ViamVjdDogW1BBVENIIDI1LzUyXSBweXRob246IGJhY2twb3J0ICdS ZW1vdmUgZGVwcmVjYXRlZCBnZXRfZXZlbnRfbG9vcAorIGNhbGxzJworTUlNRS1WZXJzaW9uOiAx LjAKK0NvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOAorQ29udGVudC1UcmFu c2Zlci1FbmNvZGluZzogOGJpdAorCitSSC1BdXRob3I6IEtldmluIFdvbGYgPGt3b2xmQHJlZGhh dC5jb20+CitSSC1NZXJnZVJlcXVlc3Q6IDUwNDogdmlydC1zdG9yYWdlOiBCYWNrcG9ydCBzdGFi bGUgYnJhbmNoIGZpeGVzCitSSC1KaXJhOiBSSEVMLTE4NjM4NAorUkgtQWNrZWQtYnk6IFN0ZWZh biBIYWpub2N6aSA8c3RlZmFuaGFAcmVkaGF0LmNvbT4KK1JILUFja2VkLWJ5OiBNaXJvc2xhdiBS ZXphbmluYSA8bXJlemFuaW5AcmVkaGF0LmNvbT4KK1JILUNvbW1pdDogWzE4LzQ1XSA3ZjhkNjcy NzM4YjkyZmE1OTM1MzQyZWRlZDc1NTliYzE2YmVmN2FiIChrbXdvbGYvY2VudG9zLXFlbXUta3Zt KQorCitUaGlzIG1ldGhvZCB3YXMgZGVwcmVjYXRlZCBpbiAzLjEyIGJlY2F1c2UgaXQgb3JkaW5h cmlseSBzaG91bGQgbm90IGJlCit1c2VkIGZyb20gY29yb3V0aW5lczsgaWYgdGhlcmUgaXMgbm90 IGEgY3VycmVudGx5IHJ1bm5pbmcgZXZlbnQgbG9vcCwKK3RoaXMgYXV0b21hdGljYWxseSBjcmVh dGVzIGEgbmV3IGV2ZW50IGxvb3AgLSB3aGljaCBpcyB1c3VhbGx5IG5vdCB3aGF0Cit5b3Ugd2Fu dCBmcm9tIGNvZGUgdGhhdCB3b3VsZCBldmVyIHJ1biBpbiB0aGUgYm90dG9tIGhhbGYuCisKK0lu IG91ciBjYXNlLCB3ZSBkbyB3YW50IHRoaXMgYmVoYXZpb3IgaW4gdHdvIHBsYWNlczoKKworKDEp IFRoZSBzeW5jaHJvbm91cyBzaGltLCBmb3IgY29udmVuaWVuY2U6IHRoaXMgYWxsb3dzIGZ1bGx5 IHN5bmMKK3Byb2dyYW1zIHRvIHVzZSBRRU1VTW9uaXRvclByb3RvY29sKCkgd2l0aG91dCBuZWVk aW5nIHRvIHNldCB1cCBhbiBldmVudAorbG9vcCBiZWZvcmVoYW5kLiBUaGlzIGlzIGludGVudGlv bmFsIHRvIGZ1bGx5IGJveCBpbiB0aGUgYXN5bmMKK2NvbXBsZXhpdGllcyBpbnRvIHRoZSBsZWdh Y3kgc3luYyBzaGltLgorCisoMikgVGhlIHFtcF90dWkgc2hlbGw7IGluc3RlYWQgb2YgcmVseWlu ZyBvbiBhc3luY2lvLnJ1biB0byBjcmVhdGUgYW5kCitydW4gYW4gYXN5bmNpbyBwcm9ncmFtLCB3 ZSBuZWVkIHRvIGJlIGFibGUgdG8gcGFzcyB0aGUgY3VycmVudCBhc3luY2lvCitsb29wIHRvIHVy d2lkIHNldHVwIGZ1bmN0aW9ucy4gRm9yIGNvbnZlbmllbmNlLCBhZ2Fpbiwgd2UgY3JlYXRlIG9u ZSBpZgorb25lIGlzIG5vdCBwcmVzZW50IHRvIHNpbXBsaWZ5IHRoZSBjcmVhdGlvbiBvZiB0aGUg VFVJIGFwcGxpYW5jZS4KKworVGhlIHJlbWFpbmluZyB1c2VyIG9mIGdldF9ldmVudF9sb29wKCkg d2FzIGluIGZhY3Qgb25lIG9mIHRoZSBlcnJvbmVvdXMKK3VzZXJzIHRoYXQgc2hvdWxkIG5vdCBo YXZlIGJlZW4gdXNpbmcgdGhpcyBmdW5jdGlvbjogaWYgdGhlcmUncyBubworcnVubmluZyBldmVu dCBsb29wIGluc2lkZSBvZiBhIGNvcm91dGluZSwgeW91J3JlIGluIGJpZyB0cm91YmxlIDopCisK K1NpZ25lZC1vZmYtYnk6IEpvaG4gU25vdyA8anNub3dAcmVkaGF0LmNvbT4KK2NoZXJyeSBwaWNr ZWQgZnJvbSBjb21taXQgcHl0aG9uLXFlbXUtcW1wQGFhMWZmOTkwNzYwM2EzMDMzMjk2MDI3ZTFi ZDAyMTEzM2RmODZlZjEKK1NpZ25lZC1vZmYtYnk6IEpvaG4gU25vdyA8anNub3dAcmVkaGF0LmNv bT4KK1Jldmlld2VkLWJ5OiBEYW5pZWwgUC4gQmVycmFuZ8OpIDxiZXJyYW5nZUByZWRoYXQuY29t PgorKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgNWQ5OTA0NGQwOWRiMGZhOGMyYjMyOTRlMzAx OTI3MTE4ZjllZmZjOSkKK1NpZ25lZC1vZmYtYnk6IE1pY2hhZWwgVG9rYXJldiA8bWp0QHRscy5t c2sucnU+CitTaWduZWQtb2ZmLWJ5OiBLZXZpbiBXb2xmIDxrd29sZkByZWRoYXQuY29tPgorLS0t CisgcHl0aG9uL3FlbXUvcW1wL2xlZ2FjeS5weSAgfCA5ICsrKysrKysrLQorIHB5dGhvbi9xZW11 L3FtcC9xbXBfdHVpLnB5IHwgNyArKysrKystCisgcHl0aG9uL3Rlc3RzL3Byb3RvY29sLnB5ICAg fCAyICstCisgMyBmaWxlcyBjaGFuZ2VkLCAxNSBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygt KQorCitkaWZmIC0tZ2l0IGEvcHl0aG9uL3FlbXUvcW1wL2xlZ2FjeS5weSBiL3B5dGhvbi9xZW11 L3FtcC9sZWdhY3kucHkKK2luZGV4IDIyYTJiNTYxNmUuLmVhOWI4MDMyYzMgMTAwNjQ0CistLS0g YS9weXRob24vcWVtdS9xbXAvbGVnYWN5LnB5CisrKysgYi9weXRob24vcWVtdS9xbXAvbGVnYWN5 LnB5CitAQCAtODYsNyArODYsMTQgQEAgZGVmIF9faW5pdF9fKHNlbGYsCisgICAgICAgICAgICAg ICAgICJzZXJ2ZXIgYXJndW1lbnQgc2hvdWxkIGJlIEZhbHNlIHdoZW4gcGFzc2luZyBhIHNvY2tl dCIpCisgCisgICAgICAgICBzZWxmLl9xbXAgPSBRTVBDbGllbnQobmlja25hbWUpCistICAgICAg ICBzZWxmLl9hbG9vcCA9IGFzeW5jaW8uZ2V0X2V2ZW50X2xvb3AoKQorKworKyAgICAgICAgdHJ5 OgorKyAgICAgICAgICAgIHNlbGYuX2Fsb29wID0gYXN5bmNpby5nZXRfcnVubmluZ19sb29wKCkK KysgICAgICAgIGV4Y2VwdCBSdW50aW1lRXJyb3I6CisrICAgICAgICAgICAgIyBObyBydW5uaW5n IGxvb3A7IHNpbmNlIHRoaXMgaXMgYSBzeW5jIHNoaW0gbGlrZWx5IHRvIGJlCisrICAgICAgICAg ICAgIyB1c2VkIGluIGZ1bGx5IHN5bmMgcHJvZ3JhbXMsIGNyZWF0ZSBvbmUgaWYgbmVjY2Vzc2Fy eS4KKysgICAgICAgICAgICBzZWxmLl9hbG9vcCA9IGFzeW5jaW8uZ2V0X2V2ZW50X2xvb3BfcG9s aWN5KCkuZ2V0X2V2ZW50X2xvb3AoKQorKworICAgICAgICAgc2VsZi5fYWRkcmVzcyA9IGFkZHJl c3MKKyAgICAgICAgIHNlbGYuX3RpbWVvdXQ6IE9wdGlvbmFsW2Zsb2F0XSA9IE5vbmUKKyAKK2Rp ZmYgLS1naXQgYS9weXRob24vcWVtdS9xbXAvcW1wX3R1aS5weSBiL3B5dGhvbi9xZW11L3FtcC9x bXBfdHVpLnB5CitpbmRleCA1NjJiZTAwOGQ1Li42NTFmNjExMzE2IDEwMDY0NAorLS0tIGEvcHl0 aG9uL3FlbXUvcW1wL3FtcF90dWkucHkKKysrKyBiL3B5dGhvbi9xZW11L3FtcC9xbXBfdHVpLnB5 CitAQCAtMzc3LDcgKzM3NywxMiBAQCBkZWYgcnVuKHNlbGYsIGRlYnVnOiBib29sID0gRmFsc2Up IC0+IE5vbmU6CisgICAgICAgICBzY3JlZW4gPSB1cndpZC5yYXdfZGlzcGxheS5TY3JlZW4oKQor ICAgICAgICAgc2NyZWVuLnNldF90ZXJtaW5hbF9wcm9wZXJ0aWVzKDI1NikKKyAKKy0gICAgICAg IHNlbGYuYWxvb3AgPSBhc3luY2lvLmdldF9ldmVudF9sb29wKCkKKysgICAgICAgIHRyeToKKysg ICAgICAgICAgICBzZWxmLmFsb29wID0gYXN5bmNpby5nZXRfcnVubmluZ19sb29wKCkKKysgICAg ICAgIGV4Y2VwdCBSdW50aW1lRXJyb3I6CisrICAgICAgICAgICAgIyBObyBydW5uaW5nIGFzeW5j aW8gZXZlbnQgbG9vcC4gQ3JlYXRlIG9uZSBpZiBuZWNlc3NhcnkuCisrICAgICAgICAgICAgc2Vs Zi5hbG9vcCA9IGFzeW5jaW8uZ2V0X2V2ZW50X2xvb3BfcG9saWN5KCkuZ2V0X2V2ZW50X2xvb3Ao KQorKworICAgICAgICAgc2VsZi5hbG9vcC5zZXRfZGVidWcoZGVidWcpCisgCisgICAgICAgICAj IEdyYWNlZnVsbHkgaGFuZGxlIFNJR1RFUk0gYW5kIFNJR0lOVCBzaWduYWxzCitkaWZmIC0tZ2l0 IGEvcHl0aG9uL3Rlc3RzL3Byb3RvY29sLnB5IGIvcHl0aG9uL3Rlc3RzL3Byb3RvY29sLnB5Citp bmRleCBjMjU0Yzc3YjE3Li5lNTY1ODAyNTE2IDEwMDY0NAorLS0tIGEvcHl0aG9uL3Rlc3RzL3By b3RvY29sLnB5CisrKysgYi9weXRob24vdGVzdHMvcHJvdG9jb2wucHkKK0BAIC0yMjcsNyArMjI3 LDcgQEAgZGVmIGFzeW5jX3Rlc3QoYXN5bmNfdGVzdF9tZXRob2QpOgorICAgICAgICAgRGVjb3Jh dG9yOyBhZGRzIFNldFVwIGFuZCBUZWFyRG93biB0byBhc3luYyB0ZXN0cy4KKyAgICAgICAgICIi IgorICAgICAgICAgYXN5bmMgZGVmIF93cmFwcGVyKHNlbGYsICphcmdzLCAqKmt3YXJncyk6Cist ICAgICAgICAgICAgbG9vcCA9IGFzeW5jaW8uZ2V0X2V2ZW50X2xvb3AoKQorKyAgICAgICAgICAg IGxvb3AgPSBhc3luY2lvLmdldF9ydW5uaW5nX2xvb3AoKQorICAgICAgICAgICAgIGxvb3Auc2V0 X2RlYnVnKFRydWUpCisgCisgICAgICAgICAgICAgYXdhaXQgc2VsZi5fYXN5bmNTZXRVcCgpCist LSAKKzIuNTIuMAorCgpkaWZmIC0tZ2l0IGEva3ZtLXB5dGhvbi1iYWNrcG9ydC1hdm9pZC1jcmVh dGluZy1hZGRpdGlvbmFsLWV2ZW50LWxvb3AucGF0Y2ggYi9rdm0tcHl0aG9uLWJhY2twb3J0LWF2 b2lkLWNyZWF0aW5nLWFkZGl0aW9uYWwtZXZlbnQtbG9vcC5wYXRjaApuZXcgZmlsZSBtb2RlIDEw MDY0NAppbmRleCAwMDAwMDAwLi5hMmIwYTUyCi0tLSAvZGV2L251bGwKKysrIGIva3ZtLXB5dGhv bi1iYWNrcG9ydC1hdm9pZC1jcmVhdGluZy1hZGRpdGlvbmFsLWV2ZW50LWxvb3AucGF0Y2gKQEAg LTAsMCArMSwyMTAgQEAKK0Zyb20gMzczOWZlYjUyODAzNzBjMzQzOTAzMGUxZjFmZTBlYzBkMGVi MmNjYiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEpvaG4gU25vdyA8anNub3dAcmVk aGF0LmNvbT4KK0RhdGU6IFdlZCwgMyBTZXAgMjAyNSAwMTowNjozMCAtMDQwMAorU3ViamVjdDog W1BBVENIIDI2LzUyXSBweXRob246IGJhY2twb3J0ICdhdm9pZCBjcmVhdGluZyBhZGRpdGlvbmFs IGV2ZW50IGxvb3BzCisgcGVyIHRocmVhZCcKK01JTUUtVmVyc2lvbjogMS4wCitDb250ZW50LVR5 cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKK0NvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6 IDhiaXQKKworUkgtQXV0aG9yOiBLZXZpbiBXb2xmIDxrd29sZkByZWRoYXQuY29tPgorUkgtTWVy Z2VSZXF1ZXN0OiA1MDQ6IHZpcnQtc3RvcmFnZTogQmFja3BvcnQgc3RhYmxlIGJyYW5jaCBmaXhl cworUkgtSmlyYTogUkhFTC0xODYzODQKK1JILUFja2VkLWJ5OiBTdGVmYW4gSGFqbm9jemkgPHN0 ZWZhbmhhQHJlZGhhdC5jb20+CitSSC1BY2tlZC1ieTogTWlyb3NsYXYgUmV6YW5pbmEgPG1yZXph bmluQHJlZGhhdC5jb20+CitSSC1Db21taXQ6IFsxOS80NV0gMWY4NzBkMWQ0NWQ1MTU4YzQyOGJh YzQ2ODIwZDVhYTc2MjFmODEwZiAoa213b2xmL2NlbnRvcy1xZW11LWt2bSkKKworVGhpcyBjb21t aXQgaXMgdHdvIGJhY2twb3J0cyBzcXVhc2hlZCBpbnRvIG9uZSB0byBhdm9pZCByZWdyZXNzaW9u cy4KKworcHl0aG9uOiAqcmVhbGx5KiByZW1vdmUgZ2V0X2V2ZW50X2xvb3AKKworQSBwcmlvciBj b21taXQsIGFhMWZmOTkwLCBzd2l0Y2hlZCBhd2F5IGZyb20gdXNpbmcgZ2V0X2V2ZW50X2xvb3Ag KmJ5CitkZWZhdWx0KiwgYnV0IHRoaXMgaXMgbm90IGdvb2QgZW5vdWdoIHRvIGF2b2lkIGRlcHJl Y2F0aW9uIHdhcm5pbmdzIGFzCitgYXN5bmNpby5nZXRfZXZlbnRfbG9vcF9wb2xpY3koKS5nZXRf ZXZlbnRfbG9vcCgpYCBpcyAqYWxzbyoKK2RlcHJlY2F0ZWQuIFJlcGxhY2UgdGhpcyBtZWNoYW5p c20gd2l0aCBleHBsaWNpdCBjYWxscyB0bworYXN5bmNpby5nZXRfbmV3X2xvb3AoKSBhbmQgcmV2 aXNlIHRoZSBjbGVhbnVwIG1lY2hhbmlzbXMgaW4gX19kZWxfXyB0bworbWF0Y2guCisKK3B5dGhv bjogYXZvaWQgY3JlYXRpbmcgYWRkaXRpb25hbCBldmVudCBsb29wcyBwZXIgdGhyZWFkCisKKyJU b28gaGFzdHkgYnkgZmFyISIsIGNvbW1pdCAyMWNlMmVlNCBhdHRlbXB0ZWQgdG8gYXZvaWQgZGVw cmVjYXRlZAorYmVoYXZpb3IgYWx0b2dldGhlciBieSBjYWxsaW5nIG5ld19ldmVudF9sb29wKCkg ZGlyZWN0bHkgaWYgdGhlcmUgd2FzIG5vCitsb29wIGN1cnJlbnRseSBydW5uaW5nLCBidXQgdGhp cyBoYXMgdGhlIHVuZm9ydHVuYXRlIHNpZGUgZWZmZWN0IG9mCitwb3RlbnRpYWxseSBjcmVhdGlu ZyBtdWx0aXBsZSBldmVudCBsb29wcyBwZXIgdGhyZWFkIGlmIHRlc3RzCitpbnN0YW50aWF0ZSBt dWx0aXBsZSBRTVAgY29ubmVjdGlvbnMgaW4gYSBzaW5nbGUgdGhyZWFkLiBUaGlzIGJlaGF2aW9y CitpcyBhcHBhcmVudGx5IG5vdCB3ZWxsLWRlZmluZWQgYW5kIGNhdXNlcyBwcm9ibGVtcyBpbiBz b21lLCBidXQgbm90IGFsbCwKK2NvbWJpbmF0aW9ucyBvZiBQeXRob24gaW50ZXJwcmV0ZXIgdmVy c2lvbiBhbmQgcGxhdGZvcm0gZW52aXJvbm1lbnQuCisKK1BhcnRpYWxseSByZXZlcnQgdG8gRGFu aWVsIEJlcnJhbmdlJ3Mgb3JpZ2luYWwgcGF0Y2gsIHdoaWNoIGNhbGxzCitnZXRfZXZlbnRfbG9v cCBhbmQgc2ltcGx5IHN1cHByZXNzZXMgdGhlIGRlcHJlY2F0aW9uIHdhcm5pbmcgaW4KK1B5dGhv bjw9My4xMy4gVGhpcyB0aW1lLCBob3dldmVyLCBhZGRpdGlvbmFsbHkgcmVnaXN0ZXIgbmV3IGxv b3BzCitjcmVhdGVkIHdpdGggbmV3X2V2ZW50X2xvb3AoKSBzbyB0aGF0IGZ1dHVyZSBjYWxscyB0 byBnZXRfZXZlbnRfbG9vcCgpCit3aWxsIHJldHVybiB0aGUgbG9vcCBhbHJlYWR5IGNyZWF0ZWQu CisKK1JlcG9ydGVkLWJ5OiBSaWNoYXJkIFcuTS4gSm9uZXMgPHJqb25lc0ByZWRoYXQuY29tPgor UmVwb3J0ZWQtYnk6IERhbmllbCBQLiBCZXJyYW5nw6kgPGJlcnJhbmdlQHJlZGhhdC5jb20+CitT aWduZWQtb2ZmLWJ5OiBKb2huIFNub3cgPGpzbm93QHJlZGhhdC5jb20+CitjaGVycnkgcGlja2Vk IGZyb20gY29tbWl0IHB5dGhvbi1xZW11LXFtcEAyMWNlMmVlNGYyZGY4N2VmZTg0YTI3YjljNTEx MjQ4N2Y0NjcwNjIyCitjaGVycnkgcGlja2VkIGZyb20gY29tbWl0IHB5dGhvbi1xZW11LXFtcEBj MDhmYjgyYjM4MjEyOTU2Y2NmZmMwM2ZjNmQwMTVjMzk3OWY0MmZlCitTaWduZWQtb2ZmLWJ5OiBK b2huIFNub3cgPGpzbm93QHJlZGhhdC5jb20+CitSZXZpZXdlZC1ieTogRGFuaWVsIFAuIEJlcnJh bmfDqSA8YmVycmFuZ2VAcmVkaGF0LmNvbT4KKyhjaGVycnkgcGlja2VkIGZyb20gY29tbWl0IDg1 ZjIyM2U1YjAzMWViOGFiNjNmYmNhMzE0YTRmYjI5NmEzYTI2MzIpCitTaWduZWQtb2ZmLWJ5OiBN aWNoYWVsIFRva2FyZXYgPG1qdEB0bHMubXNrLnJ1PgorU2lnbmVkLW9mZi1ieTogS2V2aW4gV29s ZiA8a3dvbGZAcmVkaGF0LmNvbT4KKy0tLQorIHB5dGhvbi9xZW11L3FtcC9sZWdhY3kucHkgIHwg NDYgKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0KKyBweXRob24vcWVtdS9x bXAvcW1wX3R1aS5weSB8IDEwICsrLS0tLS0tLQorIHB5dGhvbi9xZW11L3FtcC91dGlsLnB5ICAg IHwgMjcgKysrKysrKysrKysrKysrKysrKysrKworIDMgZmlsZXMgY2hhbmdlZCwgNTcgaW5zZXJ0 aW9ucygrKSwgMjYgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9weXRob24vcWVtdS9xbXAv bGVnYWN5LnB5IGIvcHl0aG9uL3FlbXUvcW1wL2xlZ2FjeS5weQoraW5kZXggZWE5YjgwMzJjMy4u YzczMjIxMmMwNCAxMDA2NDQKKy0tLSBhL3B5dGhvbi9xZW11L3FtcC9sZWdhY3kucHkKKysrKyBi L3B5dGhvbi9xZW11L3FtcC9sZWdhY3kucHkKK0BAIC0zOCw2ICszOCw3IEBACisgZnJvbSAuZXJy b3IgaW1wb3J0IFFNUEVycm9yCisgZnJvbSAucHJvdG9jb2wgaW1wb3J0IFJ1bnN0YXRlLCBTb2Nr ZXRBZGRyVAorIGZyb20gLnFtcF9jbGllbnQgaW1wb3J0IFFNUENsaWVudAorK2Zyb20gLnV0aWwg aW1wb3J0IGdldF9vcl9jcmVhdGVfZXZlbnRfbG9vcAorIAorIAorICM6IFFNUE1lc3NhZ2UgaXMg YW4gZW50aXJlIFFNUCBtZXNzYWdlIG9mIGFueSBraW5kLgorQEAgLTg2LDE3ICs4NywxMyBAQCBk ZWYgX19pbml0X18oc2VsZiwKKyAgICAgICAgICAgICAgICAgInNlcnZlciBhcmd1bWVudCBzaG91 bGQgYmUgRmFsc2Ugd2hlbiBwYXNzaW5nIGEgc29ja2V0IikKKyAKKyAgICAgICAgIHNlbGYuX3Ft cCA9IFFNUENsaWVudChuaWNrbmFtZSkKKy0KKy0gICAgICAgIHRyeToKKy0gICAgICAgICAgICBz ZWxmLl9hbG9vcCA9IGFzeW5jaW8uZ2V0X3J1bm5pbmdfbG9vcCgpCistICAgICAgICBleGNlcHQg UnVudGltZUVycm9yOgorLSAgICAgICAgICAgICMgTm8gcnVubmluZyBsb29wOyBzaW5jZSB0aGlz IGlzIGEgc3luYyBzaGltIGxpa2VseSB0byBiZQorLSAgICAgICAgICAgICMgdXNlZCBpbiBmdWxs eSBzeW5jIHByb2dyYW1zLCBjcmVhdGUgb25lIGlmIG5lY2Nlc3NhcnkuCistICAgICAgICAgICAg c2VsZi5fYWxvb3AgPSBhc3luY2lvLmdldF9ldmVudF9sb29wX3BvbGljeSgpLmdldF9ldmVudF9s b29wKCkKKy0KKyAgICAgICAgIHNlbGYuX2FkZHJlc3MgPSBhZGRyZXNzCisgICAgICAgICBzZWxm Ll90aW1lb3V0OiBPcHRpb25hbFtmbG9hdF0gPSBOb25lCisgCisrICAgICAgICAjIFRoaXMgaXMg YSBzeW5jIHNoaW0gaW50ZW5kZWQgZm9yIHVzZSBpbiBmdWxseSBzeW5jaHJvbm91cworKyAgICAg ICAgIyBwcm9ncmFtcy4gQ3JlYXRlIGFuZCBzZXQgYW4gZXZlbnQgbG9vcCBpZiBuZWNlc3Nhcnku CisrICAgICAgICBzZWxmLl9hbG9vcCA9IGdldF9vcl9jcmVhdGVfZXZlbnRfbG9vcCgpCisrCisg ICAgICAgICBpZiBzZXJ2ZXI6CisgICAgICAgICAgICAgYXNzZXJ0IG5vdCBpc2luc3RhbmNlKHNl bGYuX2FkZHJlc3MsIHNvY2tldC5zb2NrZXQpCisgICAgICAgICAgICAgc2VsZi5fc3luYyhzZWxm Ll9xbXAuc3RhcnRfc2VydmVyKHNlbGYuX2FkZHJlc3MpKQorQEAgLTMxMCwxNyArMzA3LDMwIEBA IGRlZiBzZW5kX2ZkX3NjbShzZWxmLCBmZDogaW50KSAtPiBOb25lOgorICAgICAgICAgc2VsZi5f cW1wLnNlbmRfZmRfc2NtKGZkKQorIAorICAgICBkZWYgX19kZWxfXyhzZWxmKSAtPiBOb25lOgor LSAgICAgICAgaWYgc2VsZi5fcW1wLnJ1bnN0YXRlID09IFJ1bnN0YXRlLklETEU6CistICAgICAg ICAgICAgcmV0dXJuCisrICAgICAgICBpZiBzZWxmLl9xbXAucnVuc3RhdGUgIT0gUnVuc3RhdGUu SURMRToKKysgICAgICAgICAgICBzZWxmLl9xbXAubG9nZ2VyLndhcm5pbmcoCisrICAgICAgICAg ICAgICAgICJRRU1VTW9uaXRvclByb3RvY29sIG9iamVjdCBnYXJiYWdlIGNvbGxlY3RlZCB3aXRo b3V0IGEgcHJpb3IgIgorKyAgICAgICAgICAgICAgICAiY2FsbCB0byBjbG9zZSgpIgorKyAgICAg ICAgICAgICkKKyAKKyAgICAgICAgIGlmIG5vdCBzZWxmLl9hbG9vcC5pc19ydW5uaW5nKCk6Cist ICAgICAgICAgICAgc2VsZi5jbG9zZSgpCistICAgICAgICBlbHNlOgorLSAgICAgICAgICAgICMg R2FyYmFnZSBjb2xsZWN0aW9uIHJhbiB3aGlsZSB0aGUgZXZlbnQgbG9vcCB3YXMgcnVubmluZy4K Ky0gICAgICAgICAgICAjIE5vdGhpbmcgd2UgY2FuIGRvIGFib3V0IGl0IG5vdywgYnV0IGlmIHdl IGRvbid0IHJhaXNlIG91cgorLSAgICAgICAgICAgICMgb3duIGVycm9yLCB0aGUgdXNlciB3aWxs IGJlIHRyZWF0ZWQgdG8gYSBsb3Qgb2YgdHJhY2ViYWNrCistICAgICAgICAgICAgIyB0aGV5IG1p Z2h0IG5vdCB1bmRlcnN0YW5kLgorKyAgICAgICAgICAgIGlmIHNlbGYuX3FtcC5ydW5zdGF0ZSAh PSBSdW5zdGF0ZS5JRExFOgorKyAgICAgICAgICAgICAgICAjIElmIHRoZSB1c2VyIG5lZ2xlY3Rl ZCB0byBjbG9zZSB0aGUgUU1QIHNlc3Npb24gYW5kIHdlCisrICAgICAgICAgICAgICAgICMgYXJl IG5vdCBjdXJyZW50bHkgcnVubmluZyBpbiBhbiBhc3luY2lvIGNvbnRleHQsIHdlCisrICAgICAg ICAgICAgICAgICMgaGF2ZSB0aGUgb3Bwb3J0dW5pdHkgdG8gY2xvc2UgdGhlIFFNUCBzZXNzaW9u LiBJZiB3ZQorKyAgICAgICAgICAgICAgICAjIGRvIG5vdCBkbyB0aGlzLCB0aGUgZXJyb3IgbWVz c2FnZXMgcHJlc2VudGVkIG92ZXIKKysgICAgICAgICAgICAgICAgIyBkYW5nbGluZyBhc3luYyBy ZXNvdXJjZXMgbWF5IG5vdCBtYWtlIGFueSBzZW5zZSB0byB0aGUKKysgICAgICAgICAgICAgICAg IyB1c2VyLgorKyAgICAgICAgICAgICAgICBzZWxmLmNsb3NlKCkKKysKKysgICAgICAgIGlmIHNl bGYuX3FtcC5ydW5zdGF0ZSAhPSBSdW5zdGF0ZS5JRExFOgorKyAgICAgICAgICAgICMgSWYgUU1Q IGlzIHN0aWxsIG5vdCBxdWllc2NlZCwgaXQgbWVhbnMgdGhhdCB0aGUgZ2FyYmFnZQorKyAgICAg ICAgICAgICMgY29sbGVjdG9yIHJhbiBmcm9tIGEgY29udGV4dCB3aXRoaW4gdGhlIGV2ZW50IGxv b3AgYW5kIHdlCisrICAgICAgICAgICAgIyBhcmUgc2ltcGx5IHRvbyBsYXRlIHRvIHRha2UgYW55 IGNvcnJlY3RpdmUgYWN0aW9uLiBSYWlzZQorKyAgICAgICAgICAgICMgb3VyIG93biBlcnJvciB0 byBnaXZlIG1lYW5pbmdmdWwgZmVlZGJhY2sgdG8gdGhlIHVzZXIgaW4KKysgICAgICAgICAgICAj IG9yZGVyIHRvIHByZXZlbnQgcGFnZXMgb2YgYXN5bmNpbyBzdGFja3RyYWNlIGphcmdvbi4KKyAg ICAgICAgICAgICByYWlzZSBRTVBFcnJvcigKKy0gICAgICAgICAgICAgICAgIlFFTVVNb25pdG9y UHJvdG9jb2wuY2xvc2UoKSIKKy0gICAgICAgICAgICAgICAgIiB3YXMgbm90IGNhbGxlZCBiZWZv cmUgb2JqZWN0IHdhcyBnYXJiYWdlIGNvbGxlY3RlZCIKKysgICAgICAgICAgICAgICAgIlFFTVVN b25pdG9yUHJvdG9jb2wuY2xvc2UoKSB3YXMgbm90IGNhbGxlZCBiZWZvcmUgb2JqZWN0IHdhcyAi CisrICAgICAgICAgICAgICAgICJnYXJiYWdlIGNvbGxlY3RlZCwgYW5kIGNvdWxkIG5vdCBiZSBj bG9zZWQgZHVlIHRvIEdDIHJ1bm5pbmcgIgorKyAgICAgICAgICAgICAgICAiaW4gdGhlIGV2ZW50 IGxvb3AiCisgICAgICAgICAgICAgKQorZGlmZiAtLWdpdCBhL3B5dGhvbi9xZW11L3FtcC9xbXBf dHVpLnB5IGIvcHl0aG9uL3FlbXUvcW1wL3FtcF90dWkucHkKK2luZGV4IDY1MWY2MTEzMTYuLjg5 YjBmNWUwODEgMTAwNjQ0CistLS0gYS9weXRob24vcWVtdS9xbXAvcW1wX3R1aS5weQorKysrIGIv cHl0aG9uL3FlbXUvcW1wL3FtcF90dWkucHkKK0BAIC00MCw3ICs0MCw3IEBACisgZnJvbSAubWVz c2FnZSBpbXBvcnQgRGVzZXJpYWxpemF0aW9uRXJyb3IsIE1lc3NhZ2UsIFVuZXhwZWN0ZWRUeXBl RXJyb3IKKyBmcm9tIC5wcm90b2NvbCBpbXBvcnQgQ29ubmVjdEVycm9yLCBSdW5zdGF0ZQorIGZy b20gLnFtcF9jbGllbnQgaW1wb3J0IEV4ZWNJbnRlcnJ1cHRlZEVycm9yLCBRTVBDbGllbnQKKy1m cm9tIC51dGlsIGltcG9ydCBwcmV0dHlfdHJhY2ViYWNrCisrZnJvbSAudXRpbCBpbXBvcnQgZ2V0 X29yX2NyZWF0ZV9ldmVudF9sb29wLCBwcmV0dHlfdHJhY2ViYWNrCisgCisgCisgIyBUaGUgbmFt ZSBvZiB0aGUgc2lnbmFsIHRoYXQgaXMgdXNlZCB0byB1cGRhdGUgdGhlIGhpc3RvcnkgbGlzdAor QEAgLTM3NiwxMyArMzc2LDcgQEAgZGVmIHJ1bihzZWxmLCBkZWJ1ZzogYm9vbCA9IEZhbHNlKSAt PiBOb25lOgorICAgICAgICAgIiIiCisgICAgICAgICBzY3JlZW4gPSB1cndpZC5yYXdfZGlzcGxh eS5TY3JlZW4oKQorICAgICAgICAgc2NyZWVuLnNldF90ZXJtaW5hbF9wcm9wZXJ0aWVzKDI1NikK Ky0KKy0gICAgICAgIHRyeToKKy0gICAgICAgICAgICBzZWxmLmFsb29wID0gYXN5bmNpby5nZXRf cnVubmluZ19sb29wKCkKKy0gICAgICAgIGV4Y2VwdCBSdW50aW1lRXJyb3I6CistICAgICAgICAg ICAgIyBObyBydW5uaW5nIGFzeW5jaW8gZXZlbnQgbG9vcC4gQ3JlYXRlIG9uZSBpZiBuZWNlc3Nh cnkuCistICAgICAgICAgICAgc2VsZi5hbG9vcCA9IGFzeW5jaW8uZ2V0X2V2ZW50X2xvb3BfcG9s aWN5KCkuZ2V0X2V2ZW50X2xvb3AoKQorLQorKyAgICAgICAgc2VsZi5hbG9vcCA9IGdldF9vcl9j cmVhdGVfZXZlbnRfbG9vcCgpCisgICAgICAgICBzZWxmLmFsb29wLnNldF9kZWJ1ZyhkZWJ1ZykK KyAKKyAgICAgICAgICMgR3JhY2VmdWxseSBoYW5kbGUgU0lHVEVSTSBhbmQgU0lHSU5UIHNpZ25h bHMKK2RpZmYgLS1naXQgYS9weXRob24vcWVtdS9xbXAvdXRpbC5weSBiL3B5dGhvbi9xZW11L3Ft cC91dGlsLnB5CitpbmRleCAwYjNlNzgxMzczLi40N2VjMzlhOGI1IDEwMDY0NAorLS0tIGEvcHl0 aG9uL3FlbXUvcW1wL3V0aWwucHkKKysrKyBiL3B5dGhvbi9xZW11L3FtcC91dGlsLnB5CitAQCAt MTAsNiArMTAsNyBAQAorIGltcG9ydCBzeXMKKyBpbXBvcnQgdHJhY2ViYWNrCisgZnJvbSB0eXBp bmcgaW1wb3J0IFR5cGVWYXIsIGNhc3QKKytpbXBvcnQgd2FybmluZ3MKKyAKKyAKKyBUID0gVHlw ZVZhcignVCcpCitAQCAtMjAsNiArMjEsMzIgQEAKKyAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tCisgCisgCisrZGVmIGdldF9vcl9jcmVhdGVfZXZlbnRfbG9vcCgpIC0+IGFzeW5jaW8uQWJz dHJhY3RFdmVudExvb3A6CisrICAgICIiIgorKyAgICBSZXR1cm4gdGhpcyB0aHJlYWQncyBjdXJy ZW50IGV2ZW50IGxvb3AsIG9yIGNyZWF0ZSBhIG5ldyBvbmUuCisrCisrICAgIFRoaXMgZnVuY3Rp b24gYmVoYXZlcyBzaW1pbGFybHkgdG8gYXN5bmNpby5nZXRfZXZlbnRfbG9vcCgpIGluCisrICAg IFB5dGhvbjw9My4xMywgd2hlcmUgaWYgdGhlcmUgaXMgbm8gZXZlbnQgbG9vcCBjdXJyZW50bHkg YXNzb2NpYXRlZAorKyAgICB3aXRoIHRoZSBjdXJyZW50IGNvbnRleHQsIGl0IHdpbGwgY3JlYXRl IGFuZCByZWdpc3RlciBvbmUuIEl0IHNob3VsZAorKyAgICBnZW5lcmFsbHkgbm90IGJlIHVzZWQg aW4gYW55IGFzeW5jaW8tbmF0aXZlIGFwcGxpY2F0aW9ucy4KKysgICAgIiIiCisrICAgIHRyeToK KysgICAgICAgIHdpdGggd2FybmluZ3MuY2F0Y2hfd2FybmluZ3MoKToKKysgICAgICAgICAgICAj IFB5dGhvbiA8PSAzLjEzIHdpbGwgdHJpZ2dlciBkZXByZWNhdGlvbiB3YXJuaW5ncyBpZiBubwor KyAgICAgICAgICAgICMgZXZlbnQgbG9vcCBpcyBzZXQsIGJ1dCB3aWxsIGNyZWF0ZSBhbmQgc2V0 IGEgbmV3IGxvb3AuCisrICAgICAgICAgICAgd2FybmluZ3Muc2ltcGxlZmlsdGVyKCJpZ25vcmUi KQorKyAgICAgICAgICAgIGxvb3AgPSBhc3luY2lvLmdldF9ldmVudF9sb29wKCkKKysgICAgZXhj ZXB0IFJ1bnRpbWVFcnJvcjoKKysgICAgICAgICMgUHl0aG9uIDMuMTQrOiBObyBldmVudCBsb29w IHNldCBmb3IgdGhpcyB0aHJlYWQsCisrICAgICAgICAjIGNyZWF0ZSBhbmQgc2V0IG9uZS4KKysg ICAgICAgIGxvb3AgPSBhc3luY2lvLm5ld19ldmVudF9sb29wKCkKKysgICAgICAgICMgU2V0IHRo aXMgbG9vcCBhcyB0aGUgY3VycmVudCB0aHJlYWQncyBsb29wLCB0byBiZSByZXR1cm5lZAorKyAg ICAgICAgIyBieSBjYWxscyB0byBnZXRfZXZlbnRfbG9vcCgpIGluIHRoZSBmdXR1cmUuCisrICAg ICAgICBhc3luY2lvLnNldF9ldmVudF9sb29wKGxvb3ApCisrCisrICAgIHJldHVybiBsb29wCisr CisrCisgYXN5bmMgZGVmIGZsdXNoKHdyaXRlcjogYXN5bmNpby5TdHJlYW1Xcml0ZXIpIC0+IE5v bmU6CisgICAgICIiIgorICAgICBVdGlsaXR5IGZ1bmN0aW9uIHRvIGVuc3VyZSBhIFN0cmVhbVdy aXRlciBpcyAqZnVsbHkqIGRyYWluZWQuCistLSAKKzIuNTIuMAorCgpkaWZmIC0tZ2l0IGEva3Zt LXB5dGhvbi1iYWNrcG9ydC1kcm9wLVB5dGhvbjMuNi13b3JrYXJvdW5kcy5wYXRjaCBiL2t2bS1w eXRob24tYmFja3BvcnQtZHJvcC1QeXRob24zLjYtd29ya2Fyb3VuZHMucGF0Y2gKbmV3IGZpbGUg bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmJhMTQyZQotLS0gL2Rldi9udWxsCisrKyBiL2t2 bS1weXRob24tYmFja3BvcnQtZHJvcC1QeXRob24zLjYtd29ya2Fyb3VuZHMucGF0Y2gKQEAgLTAs MCArMSwzMDAgQEAKK0Zyb20gNWRlODZmYmJiNWY2YzAzNTNiZDI2NjhjMDQyNGRhMjhiZjc4NjI2 NCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEpvaG4gU25vdyA8anNub3dAcmVkaGF0 LmNvbT4KK0RhdGU6IFR1ZSwgNiBKdW4gMjAyMyAxMzoxOToxMSAtMDQwMAorU3ViamVjdDogW1BB VENIIDI0LzUyXSBweXRob246IGJhY2twb3J0ICdkcm9wIFB5dGhvbjMuNiB3b3JrYXJvdW5kcycK K01JTUUtVmVyc2lvbjogMS4wCitDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRG LTgKK0NvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKKworUkgtQXV0aG9yOiBLZXZpbiBX b2xmIDxrd29sZkByZWRoYXQuY29tPgorUkgtTWVyZ2VSZXF1ZXN0OiA1MDQ6IHZpcnQtc3RvcmFn ZTogQmFja3BvcnQgc3RhYmxlIGJyYW5jaCBmaXhlcworUkgtSmlyYTogUkhFTC0xODYzODQKK1JI LUFja2VkLWJ5OiBTdGVmYW4gSGFqbm9jemkgPHN0ZWZhbmhhQHJlZGhhdC5jb20+CitSSC1BY2tl ZC1ieTogTWlyb3NsYXYgUmV6YW5pbmEgPG1yZXphbmluQHJlZGhhdC5jb20+CitSSC1Db21taXQ6 IFsxNy80NV0gNjVmZmQ0Mzg5Mjc4NTBjMzk1NjExZGViMzgyMWQwMWI3MWQzYzJjMSAoa213b2xm L2NlbnRvcy1xZW11LWt2bSkKKworTm93IHRoYXQgdGhlIG1pbmltdW0gdmVyc2lvbiBpcyAzLjcs IGRyb3Agc29tZSBvZiB0aGUgMy42LXNwZWNpZmljIGhhY2tzCit3ZSd2ZSBiZWVuIGNhcnJ5aW5n LiBBIHNpbmdsZSByZW1haW5pbmcgY29tcGF0aWJpbGl0eSBoYWNrIGNvbmNlcm5pbmcKKzMuNidz IGxhY2sgb2YgQGFzeW5jY29udGV4dG1hbmFnZXIgaXMgYWRkcmVzc2VkIGluIHRoZSBmb2xsb3dp bmcgY29tbWl0LgorCitTaWduZWQtb2ZmLWJ5OiBKb2huIFNub3cgPGpzbm93QHJlZGhhdC5jb20+ CitjaGVycnkgcGlja2VkIGZyb20gY29tbWl0IHB5dGhvbi1xZW11LXFtcEAzZThlMzRlNTk0Y2Zj NmI3MDdlNmY2Nzk1OTE2NmFjZGU0YjQyMWI4CitTaWduZWQtb2ZmLWJ5OiBKb2huIFNub3cgPGpz bm93QHJlZGhhdC5jb20+CitSZXZpZXdlZC1ieTogRGFuaWVsIFAuIEJlcnJhbmfDqSA8YmVycmFu Z2VAcmVkaGF0LmNvbT4KKyhjaGVycnkgcGlja2VkIGZyb20gY29tbWl0IGY5ZDJlMGEzYmQ3YmEy YTY5M2E4OTI4ODFmOTFjZjUzZmE5MGNjNzEpCitTaWduZWQtb2ZmLWJ5OiBNaWNoYWVsIFRva2Fy ZXYgPG1qdEB0bHMubXNrLnJ1PgorU2lnbmVkLW9mZi1ieTogS2V2aW4gV29sZiA8a3dvbGZAcmVk aGF0LmNvbT4KKy0tLQorIHB5dGhvbi9xZW11L3FtcC9wcm90b2NvbC5weSB8ICAxMyArKy0tLQor IHB5dGhvbi9xZW11L3FtcC9xbXBfdHVpLnB5ICB8ICAgOCArLS0KKyBweXRob24vcWVtdS9xbXAv dXRpbC5weSAgICAgfCAxMDcgKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisg cHl0aG9uL3Rlc3RzL3Byb3RvY29sLnB5ICAgIHwgICA4ICstLQorIDQgZmlsZXMgY2hhbmdlZCwg MTcgaW5zZXJ0aW9ucygrKSwgMTE5IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvcHl0aG9u L3FlbXUvcW1wL3Byb3RvY29sLnB5IGIvcHl0aG9uL3FlbXUvcW1wL3Byb3RvY29sLnB5CitpbmRl eCBhNGZmZGZhZDUxLi40YWZmMGVhNDIzIDEwMDY0NAorLS0tIGEvcHl0aG9uL3FlbXUvcW1wL3By b3RvY29sLnB5CisrKysgYi9weXRob24vcWVtdS9xbXAvcHJvdG9jb2wucHkKK0BAIC0zNiwxMyAr MzYsMTAgQEAKKyBmcm9tIC5lcnJvciBpbXBvcnQgUU1QRXJyb3IKKyBmcm9tIC51dGlsIGltcG9y dCAoCisgICAgIGJvdHRvbV9oYWxmLAorLSAgICBjcmVhdGVfdGFzaywKKyAgICAgZXhjZXB0aW9u X3N1bW1hcnksCisgICAgIGZsdXNoLAorLSAgICBpc19jbG9zaW5nLAorICAgICBwcmV0dHlfdHJh Y2ViYWNrLAorICAgICB1cHBlcl9oYWxmLAorLSAgICB3YWl0X2Nsb3NlZCwKKyApCisgCisgCitA QCAtNjYzLDggKzY2MCw4IEBAIGFzeW5jIGRlZiBfZXN0YWJsaXNoX3Nlc3Npb24oc2VsZikgLT4g Tm9uZToKKyAgICAgICAgIHJlYWRlcl9jb3JvID0gc2VsZi5fYmhfbG9vcF9mb3JldmVyKHNlbGYu X2JoX3JlY3ZfbWVzc2FnZSwgJ1JlYWRlcicpCisgICAgICAgICB3cml0ZXJfY29ybyA9IHNlbGYu X2JoX2xvb3BfZm9yZXZlcihzZWxmLl9iaF9zZW5kX21lc3NhZ2UsICdXcml0ZXInKQorIAorLSAg ICAgICAgc2VsZi5fcmVhZGVyX3Rhc2sgPSBjcmVhdGVfdGFzayhyZWFkZXJfY29ybykKKy0gICAg ICAgIHNlbGYuX3dyaXRlcl90YXNrID0gY3JlYXRlX3Rhc2sod3JpdGVyX2Nvcm8pCisrICAgICAg ICBzZWxmLl9yZWFkZXJfdGFzayA9IGFzeW5jaW8uY3JlYXRlX3Rhc2socmVhZGVyX2Nvcm8pCisr ICAgICAgICBzZWxmLl93cml0ZXJfdGFzayA9IGFzeW5jaW8uY3JlYXRlX3Rhc2sod3JpdGVyX2Nv cm8pCisgCisgICAgICAgICBzZWxmLl9iaF90YXNrcyA9IGFzeW5jaW8uZ2F0aGVyKAorICAgICAg ICAgICAgIHNlbGYuX3JlYWRlcl90YXNrLAorQEAgLTY4OSw3ICs2ODYsNyBAQCBkZWYgX3NjaGVk dWxlX2Rpc2Nvbm5lY3Qoc2VsZikgLT4gTm9uZToKKyAgICAgICAgIGlmIG5vdCBzZWxmLl9kY190 YXNrOgorICAgICAgICAgICAgIHNlbGYuX3NldF9zdGF0ZShSdW5zdGF0ZS5ESVNDT05ORUNUSU5H KQorICAgICAgICAgICAgIHNlbGYubG9nZ2VyLmRlYnVnKCJTY2hlZHVsaW5nIGRpc2Nvbm5lY3Qu IikKKy0gICAgICAgICAgICBzZWxmLl9kY190YXNrID0gY3JlYXRlX3Rhc2soc2VsZi5fYmhfZGlz Y29ubmVjdCgpKQorKyAgICAgICAgICAgIHNlbGYuX2RjX3Rhc2sgPSBhc3luY2lvLmNyZWF0ZV90 YXNrKHNlbGYuX2JoX2Rpc2Nvbm5lY3QoKSkKKyAKKyAgICAgQHVwcGVyX2hhbGYKKyAgICAgYXN5 bmMgZGVmIF93YWl0X2Rpc2Nvbm5lY3Qoc2VsZikgLT4gTm9uZToKK0BAIC04MjUsMTMgKzgyMiwx MyBAQCBhc3luYyBkZWYgX2JoX2Nsb3NlX3N0cmVhbShzZWxmLCBlcnJvcl9wYXRod2F5OiBib29s ID0gRmFsc2UpIC0+IE5vbmU6CisgICAgICAgICBpZiBub3Qgc2VsZi5fd3JpdGVyOgorICAgICAg ICAgICAgIHJldHVybgorIAorLSAgICAgICAgaWYgbm90IGlzX2Nsb3Npbmcoc2VsZi5fd3JpdGVy KToKKysgICAgICAgIGlmIG5vdCBzZWxmLl93cml0ZXIuaXNfY2xvc2luZygpOgorICAgICAgICAg ICAgIHNlbGYubG9nZ2VyLmRlYnVnKCJDbG9zaW5nIFN0cmVhbVdyaXRlci4iKQorICAgICAgICAg ICAgIHNlbGYuX3dyaXRlci5jbG9zZSgpCisgCisgICAgICAgICBzZWxmLmxvZ2dlci5kZWJ1Zygi V2FpdGluZyBmb3IgU3RyZWFtV3JpdGVyIHRvIGNsb3NlIC4uLiIpCisgICAgICAgICB0cnk6Cist ICAgICAgICAgICAgYXdhaXQgd2FpdF9jbG9zZWQoc2VsZi5fd3JpdGVyKQorKyAgICAgICAgICAg IGF3YWl0IHNlbGYuX3dyaXRlci53YWl0X2Nsb3NlZCgpCisgICAgICAgICBleGNlcHQgRXhjZXB0 aW9uOiAgIyBweWxpbnQ6IGRpc2FibGU9YnJvYWQtZXhjZXB0CisgICAgICAgICAgICAgIyBJdCdz IGhhcmQgdG8gdGVsbCBpZiB0aGUgU3RyZWFtIGlzIGFscmVhZHkgY2xvc2VkIG9yCisgICAgICAg ICAgICAgIyBub3QuIEV2ZW4gaWYgb25lIG9mIHRoZSB0YXNrcyBoYXMgZmFpbGVkLCBpdCBtYXkg aGF2ZQorZGlmZiAtLWdpdCBhL3B5dGhvbi9xZW11L3FtcC9xbXBfdHVpLnB5IGIvcHl0aG9uL3Fl bXUvcW1wL3FtcF90dWkucHkKK2luZGV4IDJkOWViYmQyMGIuLjU2MmJlMDA4ZDUgMTAwNjQ0Cist LS0gYS9weXRob24vcWVtdS9xbXAvcW1wX3R1aS5weQorKysrIGIvcHl0aG9uL3FlbXUvcW1wL3Ft cF90dWkucHkKK0BAIC00MCw3ICs0MCw3IEBACisgZnJvbSAubWVzc2FnZSBpbXBvcnQgRGVzZXJp YWxpemF0aW9uRXJyb3IsIE1lc3NhZ2UsIFVuZXhwZWN0ZWRUeXBlRXJyb3IKKyBmcm9tIC5wcm90 b2NvbCBpbXBvcnQgQ29ubmVjdEVycm9yLCBSdW5zdGF0ZQorIGZyb20gLnFtcF9jbGllbnQgaW1w b3J0IEV4ZWNJbnRlcnJ1cHRlZEVycm9yLCBRTVBDbGllbnQKKy1mcm9tIC51dGlsIGltcG9ydCBj cmVhdGVfdGFzaywgcHJldHR5X3RyYWNlYmFjaworK2Zyb20gLnV0aWwgaW1wb3J0IHByZXR0eV90 cmFjZWJhY2sKKyAKKyAKKyAjIFRoZSBuYW1lIG9mIHRoZSBzaWduYWwgdGhhdCBpcyB1c2VkIHRv IHVwZGF0ZSB0aGUgaGlzdG9yeSBsaXN0CitAQCAtMjI1LDcgKzIyNSw3IEBAIGRlZiBjYl9zZW5k X3RvX3NlcnZlcihzZWxmLCByYXdfbXNnOiBzdHIpIC0+IE5vbmU6CisgICAgICAgICAiIiIKKyAg ICAgICAgIHRyeToKKyAgICAgICAgICAgICBtc2cgPSBNZXNzYWdlKGJ5dGVzKHJhd19tc2csIGVu Y29kaW5nPSd1dGYtOCcpKQorLSAgICAgICAgICAgIGNyZWF0ZV90YXNrKHNlbGYuX3NlbmRfdG9f c2VydmVyKG1zZykpCisrICAgICAgICAgICAgYXN5bmNpby5jcmVhdGVfdGFzayhzZWxmLl9zZW5k X3RvX3NlcnZlcihtc2cpKQorICAgICAgICAgZXhjZXB0IChEZXNlcmlhbGl6YXRpb25FcnJvciwg VW5leHBlY3RlZFR5cGVFcnJvcikgYXMgZXJyOgorICAgICAgICAgICAgIHJhd19tc2cgPSBmb3Jt YXRfanNvbihyYXdfbXNnKQorICAgICAgICAgICAgIGxvZ2dpbmcuaW5mbygnSW52YWxpZCBtZXNz YWdlOiAlcycsIGVyci5lcnJvcl9tZXNzYWdlKQorQEAgLTI0Niw3ICsyNDYsNyBAQCBkZWYga2ls bF9hcHAoc2VsZikgLT4gTm9uZToKKyAgICAgICAgIEluaXRpYXRlcyBraWxsaW5nIG9mIGFwcC4g QSBicmlkZ2UgYmV0d2VlbiBhc3luY2hyb25vdXMgYW5kIHN5bmNocm9ub3VzCisgICAgICAgICBj b2RlLgorICAgICAgICAgIiIiCistICAgICAgICBjcmVhdGVfdGFzayhzZWxmLl9raWxsX2FwcCgp KQorKyAgICAgICAgYXN5bmNpby5jcmVhdGVfdGFzayhzZWxmLl9raWxsX2FwcCgpKQorIAorICAg ICBhc3luYyBkZWYgX2tpbGxfYXBwKHNlbGYpIC0+IE5vbmU6CisgICAgICAgICAiIiIKK0BAIC0z OTMsNyArMzkzLDcgQEAgZGVmIHJ1bihzZWxmLCBkZWJ1ZzogYm9vbCA9IEZhbHNlKSAtPiBOb25l OgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGFuZGxlX21vdXNlPVRydWUs CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBldmVudF9sb29wPWV2ZW50X2xv b3ApCisgCistICAgICAgICBjcmVhdGVfdGFzayhzZWxmLm1hbmFnZV9jb25uZWN0aW9uKCksIHNl bGYuYWxvb3ApCisrICAgICAgICBzZWxmLmFsb29wLmNyZWF0ZV90YXNrKHNlbGYubWFuYWdlX2Nv bm5lY3Rpb24oKSkKKyAgICAgICAgIHRyeToKKyAgICAgICAgICAgICBtYWluX2xvb3AucnVuKCkK KyAgICAgICAgIGV4Y2VwdCBFeGNlcHRpb24gYXMgZXJyOgorZGlmZiAtLWdpdCBhL3B5dGhvbi9x ZW11L3FtcC91dGlsLnB5IGIvcHl0aG9uL3FlbXUvcW1wL3V0aWwucHkKK2luZGV4IGNhNjIyNWU5 Y2QuLjBiM2U3ODEzNzMgMTAwNjQ0CistLS0gYS9weXRob24vcWVtdS9xbXAvdXRpbC5weQorKysr IGIvcHl0aG9uL3FlbXUvcW1wL3V0aWwucHkKK0BAIC0xLDI1ICsxLDE1IEBACisgIiIiCisgTWlz Y2VsbGFuZW91cyBVdGlsaXRpZXMKKyAKKy1UaGlzIG1vZHVsZSBwcm92aWRlcyBhc3luY2lvIHV0 aWxpdGllcyBhbmQgY29tcGF0aWJpbGl0eSB3cmFwcGVycyBmb3IKKy1QeXRob24gMy42IHRvIHBy b3ZpZGUgc29tZSBmZWF0dXJlcyB0aGF0IG90aGVyd2lzZSBiZWNvbWUgYXZhaWxhYmxlIGluCist UHl0aG9uIDMuNysuCistCistVmFyaW91cyBsb2dnaW5nIGFuZCBkZWJ1Z2dpbmcgdXRpbGl0aWVz IGFyZSBhbHNvIHByb3ZpZGVkLCBzdWNoIGFzCistYGV4Y2VwdGlvbl9zdW1tYXJ5KClgIGFuZCBg cHJldHR5X3RyYWNlYmFjaygpYCwgdXNlZCBwcmltYXJpbHkgZm9yCistYWRkaW5nIGluZm9ybWF0 aW9uIGludG8gdGhlIGxvZ2dpbmcgc3RyZWFtLgorK1RoaXMgbW9kdWxlIHByb3ZpZGVzIGFzeW5j aW8gYW5kIHZhcmlvdXMgbG9nZ2luZyBhbmQgZGVidWdnaW5nCisrdXRpbGl0aWVzLCBzdWNoIGFz IGBleGNlcHRpb25fc3VtbWFyeSgpYCBhbmQgYHByZXR0eV90cmFjZWJhY2soKWAsIHVzZWQKKytw cmltYXJpbHkgZm9yIGFkZGluZyBpbmZvcm1hdGlvbiBpbnRvIHRoZSBsb2dnaW5nIHN0cmVhbS4K KyAiIiIKKyAKKyBpbXBvcnQgYXN5bmNpbworIGltcG9ydCBzeXMKKyBpbXBvcnQgdHJhY2ViYWNr CistZnJvbSB0eXBpbmcgaW1wb3J0ICgKKy0gICAgQW55LAorLSAgICBDb3JvdXRpbmUsCistICAg IE9wdGlvbmFsLAorLSAgICBUeXBlVmFyLAorLSAgICBjYXN0LAorLSkKKytmcm9tIHR5cGluZyBp bXBvcnQgVHlwZVZhciwgY2FzdAorIAorIAorIFQgPSBUeXBlVmFyKCdUJykKK0BAIC03OSw5NSAr NjksNiBAQCBkZWYgYm90dG9tX2hhbGYoZnVuYzogVCkgLT4gVDoKKyAgICAgcmV0dXJuIGZ1bmMK KyAKKyAKKy0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy0jIFNlY3Rpb246IENv bXBhdGliaWxpdHkgV3JhcHBlcnMKKy0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K Ky0KKy0KKy1kZWYgY3JlYXRlX3Rhc2soY29ybzogQ29yb3V0aW5lW0FueSwgQW55LCBUXSwKKy0g ICAgICAgICAgICAgICAgbG9vcDogT3B0aW9uYWxbYXN5bmNpby5BYnN0cmFjdEV2ZW50TG9vcF0g PSBOb25lCistICAgICAgICAgICAgICAgICkgLT4gJ2FzeW5jaW8uRnV0dXJlW1RdJzoKKy0gICAg IiIiCistICAgIFB5dGhvbiAzLjYtY29tcGF0aWJsZSBgYXN5bmNpby5jcmVhdGVfdGFza2Agd3Jh cHBlci4KKy0KKy0gICAgOnBhcmFtIGNvcm86IFRoZSBjb3JvdXRpbmUgdG8gZXhlY3V0ZSBpbiBh IHRhc2suCistICAgIDpwYXJhbSBsb29wOiBPcHRpb25hbGx5LCB0aGUgbG9vcCB0byBjcmVhdGUg dGhlIHRhc2sgaW4uCistCistICAgIDpyZXR1cm46IEFuIGBhc3luY2lvLkZ1dHVyZWAgb2JqZWN0 LgorLSAgICAiIiIKKy0gICAgaWYgc3lzLnZlcnNpb25faW5mbyA+PSAoMywgNyk6CistICAgICAg ICBpZiBsb29wIGlzIG5vdCBOb25lOgorLSAgICAgICAgICAgIHJldHVybiBsb29wLmNyZWF0ZV90 YXNrKGNvcm8pCistICAgICAgICByZXR1cm4gYXN5bmNpby5jcmVhdGVfdGFzayhjb3JvKSAgIyBw eWxpbnQ6IGRpc2FibGU9bm8tbWVtYmVyCistCistICAgICMgUHl0aG9uIDMuNjoKKy0gICAgcmV0 dXJuIGFzeW5jaW8uZW5zdXJlX2Z1dHVyZShjb3JvLCBsb29wPWxvb3ApCistCistCistZGVmIGlz X2Nsb3Npbmcod3JpdGVyOiBhc3luY2lvLlN0cmVhbVdyaXRlcikgLT4gYm9vbDoKKy0gICAgIiIi CistICAgIFB5dGhvbiAzLjYtY29tcGF0aWJsZSBgYXN5bmNpby5TdHJlYW1Xcml0ZXIuaXNfY2xv c2luZ2Agd3JhcHBlci4KKy0KKy0gICAgOnBhcmFtIHdyaXRlcjogVGhlIGBhc3luY2lvLlN0cmVh bVdyaXRlcmAgb2JqZWN0LgorLSAgICA6cmV0dXJuOiBgVHJ1ZWAgaWYgdGhlIHdyaXRlciBpcyBj bG9zaW5nLCBvciBjbG9zZWQuCistICAgICIiIgorLSAgICBpZiBzeXMudmVyc2lvbl9pbmZvID49 ICgzLCA3KToKKy0gICAgICAgIHJldHVybiB3cml0ZXIuaXNfY2xvc2luZygpCistCistICAgICMg UHl0aG9uIDMuNjoKKy0gICAgdHJhbnNwb3J0ID0gd3JpdGVyLnRyYW5zcG9ydAorLSAgICBhc3Nl cnQgaXNpbnN0YW5jZSh0cmFuc3BvcnQsIGFzeW5jaW8uV3JpdGVUcmFuc3BvcnQpCistICAgIHJl dHVybiB0cmFuc3BvcnQuaXNfY2xvc2luZygpCistCistCistYXN5bmMgZGVmIHdhaXRfY2xvc2Vk KHdyaXRlcjogYXN5bmNpby5TdHJlYW1Xcml0ZXIpIC0+IE5vbmU6CistICAgICIiIgorLSAgICBQ eXRob24gMy42LWNvbXBhdGlibGUgYGFzeW5jaW8uU3RyZWFtV3JpdGVyLndhaXRfY2xvc2VkYCB3 cmFwcGVyLgorLQorLSAgICA6cGFyYW0gd3JpdGVyOiBUaGUgYGFzeW5jaW8uU3RyZWFtV3JpdGVy YCB0byB3YWl0IG9uLgorLSAgICAiIiIKKy0gICAgaWYgc3lzLnZlcnNpb25faW5mbyA+PSAoMywg Nyk6CistICAgICAgICBhd2FpdCB3cml0ZXIud2FpdF9jbG9zZWQoKQorLSAgICAgICAgcmV0dXJu CistCistICAgICMgUHl0aG9uIDMuNgorLSAgICB0cmFuc3BvcnQgPSB3cml0ZXIudHJhbnNwb3J0 CistICAgIGFzc2VydCBpc2luc3RhbmNlKHRyYW5zcG9ydCwgYXN5bmNpby5Xcml0ZVRyYW5zcG9y dCkKKy0KKy0gICAgd2hpbGUgbm90IHRyYW5zcG9ydC5pc19jbG9zaW5nKCk6CistICAgICAgICBh d2FpdCBhc3luY2lvLnNsZWVwKDApCistCistICAgICMgVGhpcyBpcyBhbiB1Z2x5IHdvcmthcm91 bmQsIGJ1dCBpdCdzIHRoZSBiZXN0IEkgY2FuIGNvbWUgdXAgd2l0aC4KKy0gICAgc29jayA9IHRy YW5zcG9ydC5nZXRfZXh0cmFfaW5mbygnc29ja2V0JykKKy0KKy0gICAgaWYgc29jayBpcyBOb25l OgorLSAgICAgICAgIyBPdXIgdHJhbnNwb3J0IGRvZXNuJ3QgaGF2ZSBhIHNvY2tldD8gLi4uCist ICAgICAgICAjIE5vdGhpbmcgd2UgY2FuIHJlYXNvbmFibHkgZG8uCistICAgICAgICByZXR1cm4K Ky0KKy0gICAgd2hpbGUgc29jay5maWxlbm8oKSAhPSAtMToKKy0gICAgICAgIGF3YWl0IGFzeW5j aW8uc2xlZXAoMCkKKy0KKy0KKy1kZWYgYXN5bmNpb19ydW4oY29ybzogQ29yb3V0aW5lW0FueSwg QW55LCBUXSwgKiwgZGVidWc6IGJvb2wgPSBGYWxzZSkgLT4gVDoKKy0gICAgIiIiCistICAgIFB5 dGhvbiAzLjYtY29tcGF0aWJsZSBgYXN5bmNpby5ydW5gIHdyYXBwZXIuCistCistICAgIDpwYXJh bSBjb3JvOiBBIGNvcm91dGluZSB0byBleGVjdXRlIG5vdy4KKy0gICAgOnJldHVybjogVGhlIHJl dHVybiB2YWx1ZSBmcm9tIHRoZSBjb3JvdXRpbmUuCistICAgICIiIgorLSAgICBpZiBzeXMudmVy c2lvbl9pbmZvID49ICgzLCA3KToKKy0gICAgICAgIHJldHVybiBhc3luY2lvLnJ1bihjb3JvLCBk ZWJ1Zz1kZWJ1ZykKKy0KKy0gICAgIyBQeXRob24gMy42CistICAgIGxvb3AgPSBhc3luY2lvLmdl dF9ldmVudF9sb29wKCkKKy0gICAgbG9vcC5zZXRfZGVidWcoZGVidWcpCistICAgIHJldCA9IGxv b3AucnVuX3VudGlsX2NvbXBsZXRlKGNvcm8pCistICAgIGxvb3AuY2xvc2UoKQorLQorLSAgICBy ZXR1cm4gcmV0CistCistCisgIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgIyBTZWN0 aW9uOiBMb2dnaW5nICYgRGVidWdnaW5nCisgIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t CitkaWZmIC0tZ2l0IGEvcHl0aG9uL3Rlc3RzL3Byb3RvY29sLnB5IGIvcHl0aG9uL3Rlc3RzL3By b3RvY29sLnB5CitpbmRleCA1NmM0ZDQ0MWY5Li5jMjU0Yzc3YjE3IDEwMDY0NAorLS0tIGEvcHl0 aG9uL3Rlc3RzL3Byb3RvY29sLnB5CisrKysgYi9weXRob24vdGVzdHMvcHJvdG9jb2wucHkKK0BA IC04LDcgKzgsNiBAQAorIAorIGZyb20gcWVtdS5xbXAgaW1wb3J0IENvbm5lY3RFcnJvciwgUnVu c3RhdGUKKyBmcm9tIHFlbXUucW1wLnByb3RvY29sIGltcG9ydCBBc3luY1Byb3RvY29sLCBTdGF0 ZUVycm9yCistZnJvbSBxZW11LnFtcC51dGlsIGltcG9ydCBhc3luY2lvX3J1biwgY3JlYXRlX3Rh c2sKKyAKKyAKKyBjbGFzcyBOdWxsUHJvdG9jb2woQXN5bmNQcm90b2NvbFtOb25lXSk6CitAQCAt MTI0LDcgKzEyMyw3IEBAIGFzeW5jIGRlZiBfcnVubmVyKCk6CisgICAgICAgICAgICAgaWYgYWxs b3dfY2FuY2VsbGF0aW9uOgorICAgICAgICAgICAgICAgICByZXR1cm4KKyAgICAgICAgICAgICBy YWlzZQorLSAgICByZXR1cm4gY3JlYXRlX3Rhc2soX3J1bm5lcigpKQorKyAgICByZXR1cm4gYXN5 bmNpby5jcmVhdGVfdGFzayhfcnVubmVyKCkpCisgCisgCisgQGNvbnRleHRtYW5hZ2VyCitAQCAt MjcxLDcgKzI3MCw3IEBAIGFzeW5jIGRlZiBfd2F0Y2hlcigpOgorICAgICAgICAgICAgICAgICAg ICAgbXNnPWYiRXhwZWN0ZWQgc3RhdGUgJ3tzdGF0ZS5uYW1lfSciLAorICAgICAgICAgICAgICAg ICApCisgCistICAgICAgICBzZWxmLnJ1bnN0YXRlX3dhdGNoZXIgPSBjcmVhdGVfdGFzayhfd2F0 Y2hlcigpKQorKyAgICAgICAgc2VsZi5ydW5zdGF0ZV93YXRjaGVyID0gYXN5bmNpby5jcmVhdGVf dGFzayhfd2F0Y2hlcigpKQorICAgICAgICAgIyBLaWNrIHRoZSBsb29wIGFuZCBmb3JjZSB0aGUg dGFzayB0byBibG9jayBvbiB0aGUgZXZlbnQuCisgICAgICAgICBhd2FpdCBhc3luY2lvLnNsZWVw KDApCisgCitAQCAtNTg5LDcgKzU4OCw4IEBAIGFzeW5jIGRlZiBfYXN5bmNUZWFyRG93bihzZWxm KToKKyAgICAgYXN5bmMgZGVmIHRlc3RTbW9rZShzZWxmKToKKyAgICAgICAgIHdpdGggVGVtcG9y YXJ5RGlyZWN0b3J5KHN1ZmZpeD0nLnFtcCcpIGFzIHRtcGRpcjoKKyAgICAgICAgICAgICBzb2Nr ID0gb3MucGF0aC5qb2luKHRtcGRpciwgdHlwZShzZWxmLnByb3RvKS5fX25hbWVfXyArICIuc29j ayIpCistICAgICAgICAgICAgc2VydmVyX3Rhc2sgPSBjcmVhdGVfdGFzayhzZWxmLnNlcnZlci5z dGFydF9zZXJ2ZXJfYW5kX2FjY2VwdChzb2NrKSkKKysgICAgICAgICAgICBzZXJ2ZXJfdGFzayA9 IGFzeW5jaW8uY3JlYXRlX3Rhc2soCisrICAgICAgICAgICAgICAgIHNlbGYuc2VydmVyLnN0YXJ0 X3NlcnZlcl9hbmRfYWNjZXB0KHNvY2spKQorIAorICAgICAgICAgICAgICMgZ2l2ZSB0aGUgc2Vy dmVyIGEgY2hhbmNlIHRvIHN0YXJ0IGxpc3RlbmluZyBbLi4uXQorICAgICAgICAgICAgIGF3YWl0 IGFzeW5jaW8uc2xlZXAoMCkKKy0tIAorMi41Mi4wCisKCmRpZmYgLS1naXQgYS9rdm0tcWNvdzIt Rml4LWNvcnJ1cHRpb24tb24tZGlzY2FyZC1kdXJpbmctd3JpdGUtd2l0aC1DTy5wYXRjaCBiL2t2 bS1xY293Mi1GaXgtY29ycnVwdGlvbi1vbi1kaXNjYXJkLWR1cmluZy13cml0ZS13aXRoLUNPLnBh dGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ2MmEwNGQKLS0tIC9kZXYv bnVsbAorKysgYi9rdm0tcWNvdzItRml4LWNvcnJ1cHRpb24tb24tZGlzY2FyZC1kdXJpbmctd3Jp dGUtd2l0aC1DTy5wYXRjaApAQCAtMCwwICsxLDE2MiBAQAorRnJvbSAyMWEyNmE3MmVjZGU3NTI3 ZWNlNWZkZWYzYmEyM2YxMDA4NGZkNDNkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTog S2V2aW4gV29sZiA8a3dvbGZAcmVkaGF0LmNvbT4KK0RhdGU6IFNhdCwgMTMgSnVuIDIwMjYgMjM6 MDM6MzcgKzAzMDAKK1N1YmplY3Q6IFtQQVRDSCA0OS81Ml0gcWNvdzI6IEZpeCBjb3JydXB0aW9u IG9uIGRpc2NhcmQgZHVyaW5nIHdyaXRlIHdpdGggQ09XCisKK1JILUF1dGhvcjogS2V2aW4gV29s ZiA8a3dvbGZAcmVkaGF0LmNvbT4KK1JILU1lcmdlUmVxdWVzdDogNTA0OiB2aXJ0LXN0b3JhZ2U6 IEJhY2twb3J0IHN0YWJsZSBicmFuY2ggZml4ZXMKK1JILUppcmE6IFJIRUwtMTg2Mzg0CitSSC1B Y2tlZC1ieTogU3RlZmFuIEhham5vY3ppIDxzdGVmYW5oYUByZWRoYXQuY29tPgorUkgtQWNrZWQt Ynk6IE1pcm9zbGF2IFJlemFuaW5hIDxtcmV6YW5pbkByZWRoYXQuY29tPgorUkgtQ29tbWl0OiBb NDIvNDVdIDU1NjllN2I1NWM0YjFjNDU2MzJiNjQwNTdiNzc0YTQ1MjNjMjNhYzEgKGttd29sZi9j ZW50b3MtcWVtdS1rdm0pCisKK01vc3QgY29kZSBpbiBxY293MiB0aGF0IGFjY2Vzc2VzIChhbmQg cG90ZW50aWFsbHkgbW9kaWZpZXMpIEwyIHRhYmxlcworZG9lcyBzbyB3aGlsZSBob2xkaW5nIHMt PmxvY2suCisKK1RoZXJlIGlzIG9uZSBleGNlcHRpb24sIHdoaWNoIGlzIGFsbG9jYXRpbmcgd3Jp dGVzLiBUaGV5IGhvbGQgdGhlIGxvY2sKK2luaXRpYWxseSB3aGlsZSBhbGxvY2F0aW5nIGNsdXN0 ZXJzLCBidXQgZHJvcCBpdCBmb3Igd3JpdGluZyB0aGUgZ3Vlc3QKK3BheWxvYWQgYmVmb3JlIHRh a2luZyB0aGUgbG9jayBhZ2FpbiBmb3IgdXBkYXRpbmcgdGhlIEwyIHRhYmxlcy4gVGhpcworYWxs b3dzIGNvbmN1cnJlbnQgcmVxdWVzdHMgdGhhdCB0b3VjaCBvdGhlciBwYXJ0cyBvZiB0aGUgaW1h Z2UgZmlsZSB0bworY29udGludWUgaW4gcGFyYWxsZWwgYW5kIGlzIGFuIGltcG9ydGFudCBwZXJm b3JtYW5jZSBvcHRpbWlzYXRpb24uCisKK0hvd2V2ZXIsIHRoaXMgbWVhbnMgdGhhdCBvdGhlciBy ZXF1ZXN0cyB0aGF0IHJ1biB3aGlsZSB0aGUgbG9jayBpcworZHJvcHBlZCBmb3Igd3JpdGluZyBn dWVzdCBkYXRhIG11c3Qgc3luY2hyb25pc2Ugd2l0aCB0aGUgbGlzdCBvZgorYWxsb2NhdGluZyBy ZXF1ZXN0cyBpbiBzLT5jbHVzdGVyX2FsbG9jcyBhbmQgd2FpdCBpZiB0aGV5IHdvdWxkIG92ZXJs YXAuCitGb3Igd3JpdGVzLCB0aGlzIGlzIGRvbmUgaW4gaGFuZGxlX2RlcGVuZGVuY2llcygpLCBi dXQgZGlzY2FyZCBhbmQgd3JpdGUKK3plcm9zIG9wZXJhdGlvbnMgbmVnbGVjdCB0byBzeW5jaHJv bmlzZSB3aXRoIHMtPmNsdXN0ZXJfYWxsb2NzLgorCitUaGlzIG1lYW5zIHRoYXQgZGlzY2FyZCBj YW4gZnJlZSBhIGNsdXN0ZXIgd2hvc2UgTDIgZW50cnkgd2lsbCBhbHJlYWR5CitiZSBtb2RpZmll ZCBpbiBxY293Ml9hbGxvY19jbHVzdGVyX2xpbmtfbDIoKSBieSBhIHByZXZpb3VzbHkgc3RhcnRl ZAord3JpdGUuIEluIHRoZSBjYXNlIG9mIGEgcHJlLWFsbG9jYXRlZCB6ZXJvIGNsdXN0ZXIgdGhh dCBpcyBpbiB0aGUKK3Byb2Nlc3Mgb2YgYmVpbmcgb3ZlcndyaXR0ZW4sIHRoaXMgbWVhbnMgdGhh dCBkaXNjYXJkIGNhbiBsZWFkIHRvIGEKK3NpdHVhdGlvbiB3aGVyZSB0aGUgY2x1c3RlciBpcyBz dGlsbCBtYXBwZWQgKGJlY2F1c2UgdGhlIHdyaXRlIHdpbGwKK3Jlc3RvcmUgdGhlIEwyIGVudHJ5 IGp1c3Qgd2l0aG91dCB0aGUgemVybyBmbGFnKSwgYnV0IGl0cyByZWZjb3VudCBoYXMKK2JlZW4g ZGVjcmVhc2VkLCByZXN1bHRpbmcgaW4gYSBjb3JydXB0ZWQgaW1hZ2UuCisKK0FkZCB0aGUgbWlz c2luZyBzeW5jaHJvbmlzYXRpb24gdG8gcWNvdzJfY2x1c3Rlcl9kaXNjYXJkKCkgYW5kCitxY293 Ml9zdWJjbHVzdGVyX3plcm9pemUoKSB0byBmaXggdGhlIHByb2JsZW0uCisKK0NjOiBxZW11LXN0 YWJsZUBub25nbnUub3JnCitSZXBvcnRlZC1ieTogRGVuaXMgVi4gTHVuZXYgPGRlbkBvcGVudnou b3JnPgorU2lnbmVkLW9mZi1ieTogS2V2aW4gV29sZiA8a3dvbGZAcmVkaGF0LmNvbT4KK01lc3Nh Z2UtSUQ6IDwyMDI2MDQyNzE3MDUyMC4xMDEyNDItNC1rd29sZkByZWRoYXQuY29tPgorUmV2aWV3 ZWQtYnk6IERlbmlzIFYuIEx1bmV2IDxkZW5Ab3BlbnZ6Lm9yZz4KK1Rlc3RlZC1ieTogRGVuaXMg Vi4gTHVuZXYgPGRlbkBvcGVudnoub3JnPgorU2lnbmVkLW9mZi1ieTogS2V2aW4gV29sZiA8a3dv bGZAcmVkaGF0LmNvbT4KKyhjaGVycnkgcGlja2VkIGZyb20gY29tbWl0IGI4YmZiMTQ3OGQ2MTUx MmY4NTFiYWRkMGQ5MTJjNjY2MWEyZWZlZTcpCitTaWduZWQtb2ZmLWJ5OiBNaWNoYWVsIFRva2Fy ZXYgPG1qdEB0bHMubXNrLnJ1PgorCitNZXNzYWdlLUlEOiA8MjAyNjA2MTMyMDA0MTEuMTgwODAy MS01NC1tanRAdGxzLm1zay5ydT4KK1NpZ25lZC1vZmYtYnk6IEtldmluIFdvbGYgPGt3b2xmQHJl ZGhhdC5jb20+CistLS0KKyBibG9jay9xY293Mi1jbHVzdGVyLmMgfCA1MiArKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tCisgMSBmaWxlIGNoYW5nZWQsIDQ5IGluc2Vy dGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9ibG9jay9xY293Mi1jbHVz dGVyLmMgYi9ibG9jay9xY293Mi1jbHVzdGVyLmMKK2luZGV4IGNlOGMwMDc2YjMuLmMyMDAxMWQz NGMgMTAwNjQ0CistLS0gYS9ibG9jay9xY293Mi1jbHVzdGVyLmMKKysrKyBiL2Jsb2NrL3Fjb3cy LWNsdXN0ZXIuYworQEAgLTEzOTIsNiArMTM5Miw5IEBAIGNvdW50X3NpbmdsZV93cml0ZV9jbHVz dGVycyhCbG9ja0RyaXZlclN0YXRlICpicywgaW50IG5iX2NsdXN0ZXJzLAorICAqIHRoZSBzYW1l IGNsdXN0ZXIuIEluIHRoaXMgY2FzZSB3ZSBuZWVkIHRvIHdhaXQgdW50aWwgdGhlIHByZXZpb3Vz CisgICogcmVxdWVzdCBoYXMgY29tcGxldGVkIGFuZCB1cGRhdGVkIHRoZSBMMiB0YWJsZSBhY2Nv cmRpbmdseS4KKyAgKgorKyAqIElmIGFsbG93X3Nob3J0ZW5pbmcgPT0gdHJ1ZSwgaW5zdGVhZCBv ZiB3YWl0aW5nIGZvciBhIGRlcGVuZGVuY3ksICpjdXJfYnl0ZXMKKysgKiBjYW4gYmUgc2hvcnRl bmVkIHNvIHRoYXQgdGhlIGNsdXN0ZXIgYWxsb2NhdGlvbnMgZG9uJ3Qgb3ZlcmxhcC4KKysgKgor ICAqIFJldHVybnM6CisgICogICAwICAgICAgIGlmIHRoZXJlIHdhcyBubyBkZXBlbmRlbmN5LiAq Y3VyX2J5dGVzIGluZGljYXRlcyB0aGUgbnVtYmVyIG9mCisgICogICAgICAgICAgIGJ5dGVzIGZy b20gZ3Vlc3Rfb2Zmc2V0IHRoYXQgY2FuIGJlIHJlYWQgYmVmb3JlIHRoZSBuZXh0CitAQCAtMTQw Myw3ICsxNDA2LDkgQEAgY291bnRfc2luZ2xlX3dyaXRlX2NsdXN0ZXJzKEJsb2NrRHJpdmVyU3Rh dGUgKmJzLCBpbnQgbmJfY2x1c3RlcnMsCisgICovCisgc3RhdGljIGludCBjb3JvdXRpbmVfZm4g aGFuZGxlX2RlcGVuZGVuY2llcyhCbG9ja0RyaXZlclN0YXRlICpicywKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ2NF90IGd1ZXN0X29mZnNldCwKKy0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ2NF90ICpjdXJf Ynl0ZXMsIFFDb3dMMk1ldGEgKiptKQorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgdWludDY0X3QgKmN1cl9ieXRlcywKKysgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGJvb2wgYWxsb3dfc2hvcnRlbmluZywKKysgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFFDb3dMMk1ldGEgKiptKQorIHsKKyAg ICAgQkRSVlFjb3cyU3RhdGUgKnMgPSBicy0+b3BhcXVlOworICAgICBRQ293TDJNZXRhICpvbGRf YWxsb2M7CitAQCAtMTQzNCw3ICsxNDM5LDcgQEAgc3RhdGljIGludCBjb3JvdXRpbmVfZm4gaGFu ZGxlX2RlcGVuZGVuY2llcyhCbG9ja0RyaXZlclN0YXRlICpicywKKyAKKyAgICAgICAgIC8qIENv bmZsaWN0ICovCisgCistICAgICAgICBpZiAoc3RhcnQgPCBvbGRfc3RhcnQpIHsKKysgICAgICAg IGlmIChzdGFydCA8IG9sZF9zdGFydCAmJiBhbGxvd19zaG9ydGVuaW5nKSB7CisgICAgICAgICAg ICAgLyogU3RvcCBhdCB0aGUgc3RhcnQgb2YgYSBydW5uaW5nIGFsbG9jYXRpb24gKi8KKyAgICAg ICAgICAgICBieXRlcyA9IG9sZF9zdGFydCAtIHN0YXJ0OworICAgICAgICAgfSBlbHNlIHsKK0BA IC0xNDY5LDYgKzE0NzQsMjkgQEAgc3RhdGljIGludCBjb3JvdXRpbmVfZm4gaGFuZGxlX2RlcGVu ZGVuY2llcyhCbG9ja0RyaXZlclN0YXRlICpicywKKyAgICAgcmV0dXJuIDA7CisgfQorIAorK3N0 YXRpYyB2b2lkIGNvcm91dGluZV9taXhlZF9mbiB3YWl0X2Zvcl9kZXBlbmRlbmNpZXMoQmxvY2tE cml2ZXJTdGF0ZSAqYnMsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB1aW50NjRfdCBndWVzdF9vZmZzZXQsCisrICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50NjRfdCBieXRlcykKKyt7Cisr ICAgIEJEUlZRY293MlN0YXRlICpzID0gYnMtPm9wYXF1ZTsKKysgICAgUUNvd0wyTWV0YSAqbSA9 IE5VTEw7CisrICAgIGludCByZXQ7CisrCisrICAgIC8qCisrICAgICAqIERpc2NhcmQgaGFzIHNv bWUgbm9uLWNvcm91dGluZSBjYWxsZXJzIChjcmVhdGluZyBpbnRlcm5hbCBzbmFwc2hvdHMgYW5k CisrICAgICAqIG1ha2UgZW1wdHkpLiBUaGV5IGFyZSBjYWxsaW5nIGZyb20gcWVtdS1pbWcgb3Ig aW4gYSBkcmFpbmVkIHNlY3Rpb24sIHNvCisrICAgICAqIHdlIGtub3cgdGhhdCBubyB3cml0ZXMg Y2FuIGJlIGluIHByb2dyZXNzLgorKyAgICAgKi8KKysgICAgaWYgKCFxZW11X2luX2Nvcm91dGlu ZSgpKSB7CisrICAgICAgICBhc3NlcnQoUUxJU1RfRU1QVFkoJnMtPmNsdXN0ZXJfYWxsb2NzKSk7 CisrICAgICAgICByZXR1cm47CisrICAgIH0KKysKKysgICAgZG8geworKyAgICAgICAgcmV0ID0g aGFuZGxlX2RlcGVuZGVuY2llcyhicywgZ3Vlc3Rfb2Zmc2V0LCAmYnl0ZXMsIGZhbHNlLCAmbSk7 CisrICAgIH0gd2hpbGUgKHJldCA9PSAtRUFHQUlOKTsKKyt9CisrCisgLyoKKyAgKiBDaGVja3Mg aG93IG1hbnkgYWxyZWFkeSBhbGxvY2F0ZWQgY2x1c3RlcnMgdGhhdCBkb24ndCByZXF1aXJlIGEg bmV3CisgICogYWxsb2NhdGlvbiB0aGVyZSBhcmUgYXQgdGhlIGdpdmVuIGd1ZXN0X29mZnNldCAo dXAgdG8gKmJ5dGVzKS4KK0BAIC0xODQwLDcgKzE4NjgsNyBAQCBhZ2FpbjoKKyAgICAgICAgICAq ICAgICAgICAgdGhlIHJpZ2h0IHN5bmNocm9uaXNhdGlvbiBiZXR3ZWVuIHRoZSBpbi1mbGlnaHQg cmVxdWVzdCBhbmQKKyAgICAgICAgICAqICAgICAgICAgdGhlIG5ldyBvbmUuCisgICAgICAgICAg Ki8KKy0gICAgICAgIHJldCA9IGhhbmRsZV9kZXBlbmRlbmNpZXMoYnMsIHN0YXJ0LCAmY3VyX2J5 dGVzLCBtKTsKKysgICAgICAgIHJldCA9IGhhbmRsZV9kZXBlbmRlbmNpZXMoYnMsIHN0YXJ0LCAm Y3VyX2J5dGVzLCB0cnVlLCBtKTsKKyAgICAgICAgIGlmIChyZXQgPT0gLUVBR0FJTikgeworICAg ICAgICAgICAgIC8qIEN1cnJlbnRseSBoYW5kbGVfZGVwZW5kZW5jaWVzKCkgZG9lc24ndCB5aWVs ZCBpZiB3ZSBhbHJlYWR5IGhhZAorICAgICAgICAgICAgICAqIGFuIGFsbG9jYXRpb24uIElmIGl0 IGRpZCwgd2Ugd291bGQgaGF2ZSB0byBjbGVhbiB1cCB0aGUgTDJNZXRhCitAQCAtMjAwMiw2ICsy MDMwLDE1IEBAIGludCBxY293Ml9jbHVzdGVyX2Rpc2NhcmQoQmxvY2tEcml2ZXJTdGF0ZSAqYnMs IHVpbnQ2NF90IG9mZnNldCwKKyAgICAgaW50NjRfdCBjbGVhcmVkOworICAgICBpbnQgcmV0Owor IAorKyAgICAvKgorKyAgICAgKiBJZiB3ZSdyZSB0b3VjaGluZyBhIGNsdXN0ZXIgZm9yIHdoaWNo IGFsbG9jYXRpbmcgd3JpdGVzIGFyZSBpbiBmbGlnaHQsCisrICAgICAqIHdhaXQgZm9yIHRoZW0g dG8gY29tcGxldGUgdG8gYXZvaWQgY29uZmxpY3RpbmcgbWV0YWRhdGEgdXBkYXRlcy4KKysgICAg ICoKKysgICAgICogV2UgZG9uJ3QgbmVlZCB0byBhbGxvY2F0ZSBhIFFDb3dMMk1ldGEgZm9yIHRo ZSBkaXNjYXJkIG9wZXJhdGlvbiBiZWNhdXNlCisrICAgICAqIHMtPmxvY2sgaXMgaGVsZCBmb3Ig dGhlIGR1cmF0aW9uIG9mIHRoZSB3aG9sZSBvcGVyYXRpb24uCisrICAgICAqLworKyAgICB3YWl0 X2Zvcl9kZXBlbmRlbmNpZXMoYnMsIG9mZnNldCwgYnl0ZXMpOworKworICAgICAvKiBDYWxsZXIg bXVzdCBwYXNzIGFsaWduZWQgdmFsdWVzLCBleGNlcHQgYXQgaW1hZ2UgZW5kICovCisgICAgIGFz c2VydChRRU1VX0lTX0FMSUdORUQob2Zmc2V0LCBzLT5jbHVzdGVyX3NpemUpKTsKKyAgICAgYXNz ZXJ0KFFFTVVfSVNfQUxJR05FRChlbmRfb2Zmc2V0LCBzLT5jbHVzdGVyX3NpemUpIHx8CitAQCAt MjE2NCw2ICsyMjAxLDE1IEBAIGludCBjb3JvdXRpbmVfZm4gcWNvdzJfc3ViY2x1c3Rlcl96ZXJv aXplKEJsb2NrRHJpdmVyU3RhdGUgKmJzLCB1aW50NjRfdCBvZmZzZXQsCisgICAgIGludDY0X3Qg Y2xlYXJlZDsKKyAgICAgaW50IHJldDsKKyAKKysgICAgLyoKKysgICAgICogSWYgd2UncmUgdG91 Y2hpbmcgYSBjbHVzdGVyIGZvciB3aGljaCBhbGxvY2F0aW5nIHdyaXRlcyBhcmUgaW4gZmxpZ2h0 LAorKyAgICAgKiB3YWl0IGZvciB0aGVtIHRvIGNvbXBsZXRlIHRvIGF2b2lkIGNvbmZsaWN0aW5n IG1ldGFkYXRhIHVwZGF0ZXMuCisrICAgICAqCisrICAgICAqIFdlIGRvbid0IG5lZWQgdG8gYWxs b2NhdGUgYSBRQ293TDJNZXRhIGZvciB0aGUgemVyb2l6ZSBvcGVyYXRpb24gYmVjYXVzZQorKyAg ICAgKiBzLT5sb2NrIGlzIGhlbGQgZm9yIHRoZSBkdXJhdGlvbiBvZiB0aGUgd2hvbGUgb3BlcmF0 aW9uLgorKyAgICAgKi8KKysgICAgd2FpdF9mb3JfZGVwZW5kZW5jaWVzKGJzLCBvZmZzZXQsIGJ5 dGVzKTsKKysKKyAgICAgLyogSWYgd2UgaGF2ZSB0byBzdGF5IGluIHN5bmMgd2l0aCBhbiBleHRl cm5hbCBkYXRhIGZpbGUsIHplcm8gb3V0CisgICAgICAqIHMtPmRhdGFfZmlsZSBmaXJzdC4gKi8K KyAgICAgaWYgKGRhdGFfZmlsZV9pc19yYXcoYnMpKSB7CistLSAKKzIuNTIuMAorCgpkaWZmIC0t Z2l0IGEva3ZtLXFjb3cyLUZpeC1kYXRhLWxvc3Mtb24temVyby13cml0ZS13aXRoLWRldGVjdC16 ZXJvZXMucGF0Y2ggYi9rdm0tcWNvdzItRml4LWRhdGEtbG9zcy1vbi16ZXJvLXdyaXRlLXdpdGgt ZGV0ZWN0LXplcm9lcy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5m OTRjMTFkCi0tLSAvZGV2L251bGwKKysrIGIva3ZtLXFjb3cyLUZpeC1kYXRhLWxvc3Mtb24temVy by13cml0ZS13aXRoLWRldGVjdC16ZXJvZXMucGF0Y2gKQEAgLTAsMCArMSwyMDUgQEAKK0Zyb20g YWZmN2IyNmMyYTJhZDBjNzhlNDAzYTU3MmE1Y2NhNTJlMWYyNzc0ZSBNb24gU2VwIDE3IDAwOjAw OjAwIDIwMDEKK0Zyb206IFRob21hcyBMYW1wcmVjaHQgPHQubGFtcHJlY2h0QHByb3htb3guY29t PgorRGF0ZTogU2F0LCAxMyBKdW4gMjAyNiAyMzowMzozOSArMDMwMAorU3ViamVjdDogW1BBVENI IDUxLzUyXSBxY293MjogRml4IGRhdGEgbG9zcyBvbiB6ZXJvIHdyaXRlIHdpdGgKKyBkZXRlY3Qt emVyb2VzPXVubWFwCisKK1JILUF1dGhvcjogS2V2aW4gV29sZiA8a3dvbGZAcmVkaGF0LmNvbT4K K1JILU1lcmdlUmVxdWVzdDogNTA0OiB2aXJ0LXN0b3JhZ2U6IEJhY2twb3J0IHN0YWJsZSBicmFu Y2ggZml4ZXMKK1JILUppcmE6IFJIRUwtMTg2Mzg0CitSSC1BY2tlZC1ieTogU3RlZmFuIEhham5v Y3ppIDxzdGVmYW5oYUByZWRoYXQuY29tPgorUkgtQWNrZWQtYnk6IE1pcm9zbGF2IFJlemFuaW5h IDxtcmV6YW5pbkByZWRoYXQuY29tPgorUkgtQ29tbWl0OiBbNDQvNDVdIDBkMmNkZGI2Y2RkZTIy ZjU4NDJhZWNhMTlmY2FiNjkxMjMwZjUwYzggKGttd29sZi9jZW50b3MtcWVtdS1rdm0pCisKK0Nv bW1pdCBiOGJmYjE0NzhkICgicWNvdzI6IEZpeCBjb3JydXB0aW9uIG9uIGRpc2NhcmQgZHVyaW5n IHdyaXRlIHdpdGgKK0NPVyIpIGFkZGVkIGEgd2FpdF9mb3JfZGVwZW5kZW5jaWVzKCkgYXQgdGhl IHN0YXJ0IG9mCitxY293Ml9zdWJjbHVzdGVyX3plcm9pemUoKS4gVGhhdCBmaXhlcyB0aGUgaW5j b25zaXN0ZW5jeSBpdCBzZXQgb3V0IHRvCitmaXgsIGJ1dCB0dXJucyB0aGUgbG9jay1wcm90ZWN0 ZWQgcHJlLWNoZWNrIGluIHRoZSBjYWxsZXIsCitxY293Ml9jb19wd3JpdGVfemVyb2VzKCksIGlu dG8gYSBzdGFsZSBvbmU6IHRoZSB3YWl0IHlpZWxkcyBzLT5sb2NrLAorc28gYW4gaW4tZmxpZ2h0 IGFsbG9jYXRpbmcgd3JpdGUgd2hvc2UgUUNvd0wyTWV0YSBpcyBhbHJlYWR5IG9uCitzLT5jbHVz dGVyX2FsbG9jcyAoYnV0IHdob3NlIEwyIGVudHJ5IGlzIG5vdCB5ZXQgbGlua2VkKSBnZXRzIHRv IGxpbmsKK2l0cyBlbnRyeSBkdXJpbmcgdGhlIHlpZWxkLiBXaGVuIHRoZSB6ZXJvaXplIHdha2Vz LCB0aGUgY2x1c3RlciBpcyBub3cKK05PUk1BTCwgYW5kIHdpdGggQkRSVl9SRVFfTUFZX1VOTUFQ IHRoZSBmcmVlIHBhdGggaW4gemVyb19pbl9sMl9zbGljZSgpCit1bm1hcHMgdGhlIGp1c3Qtd3Jp dHRlbiBjbHVzdGVyLCBzaWxlbnRseSBkcm9wcGluZyB0aGUgZGF0YSB3cml0ZSdzCitwYXlsb2Fk LgorCitUaGlzIGlzIHJlYWNoYWJsZSB3aXRoIGRldGVjdC16ZXJvZXM9dW5tYXAgKHRoZSBkZWZh dWx0IGZvciBWaXJ0SU8KK2Rpc2tzIHdpdGggZGlzY2FyZCBvbiBpbiBQcm94bW94IFZFKSwgdW5k ZXIgd2hpY2ggdGhlIGJsb2NrIGxheWVyCithdXRvLXByb21vdGVzIGFsbC16ZXJvIGJ1ZmZlcnMg dG8gQkRSVl9SRVFfWkVST19XUklURSB8CitCRFJWX1JFUV9NQVlfVU5NQVAuIEEgbWVtb3J5LWNv bnN0cmFpbmVkIERlYmlhbiBndWVzdCBydW5uaW5nICdhcHQKK2Z1bGwtdXBncmFkZScgb24gc3Vj aCBhIGRpc2sgcmVwcm9kdWNlcyBpdCBhcyByYW5kb20gU0lHU0VHVnM6Citzd2FwcGVkLW91dCBj b2RlIHBhZ2VzIGNvbWUgYmFjayBhcyB6ZXJvLgorCitXYWl0IGZvciBpbi1mbGlnaHQgZGVwZW5k ZW5jaWVzIGJlZm9yZSB0aGUgbG9jay1wcm90ZWN0ZWQgY2hlY2sgaW4KK3Fjb3cyX2NvX3B3cml0 ZV96ZXJvZXMoKS4gSWYgYSB3cml0ZSBsaW5rZWQgaXRzIEwyIGVudHJ5IGR1cmluZyB0aGUKK3dh aXQsIHRoZSB0eXBlIGNoZWNrIG5vdyBmYWlscyBhbmQgdGhlIGJsb2NrIGxheWVyIGZhbGxzIGJh Y2sgdG8gYQorYm91bmNlLWJ1ZmZlcmVkIHplcm8gd3JpdGUgdGhhdCBvbmx5IHRvdWNoZXMgdGhl IHJlcXVlc3RlZCBzdWJyYW5nZSwKK3ByZXNlcnZpbmcgdGhlIHJhY2luZyB3cml0ZSdzIGRhdGEu IFByb21vdGUgd2FpdF9mb3JfZGVwZW5kZW5jaWVzKCkgdG8KK3Fjb3cyX3dhaXRfZm9yX2RlcGVu ZGVuY2llcygpIHNvIHFjb3cyLmMgY2FuIGNhbGwgaXQuCisKK0ZpeGVzOiBiOGJmYjE0NzhkICgi cWNvdzI6IEZpeCBjb3JydXB0aW9uIG9uIGRpc2NhcmQgZHVyaW5nIHdyaXRlIHdpdGggQ09XIikK K0ZpeGVzOiBkODVlMDBkZDAzICgicWNvdzI6IEZpeCBjb3JydXB0aW9uIG9uIGRpc2NhcmQgZHVy aW5nIHdyaXRlIHdpdGggQ09XIikgaW4gMTAuMi54IHNlcmllcworQ2M6IHFlbXUtc3RhYmxlQG5v bmdudS5vcmcKK1Rlc3RlZC1ieTogRmlvbmEgRWJuZXIgPGYuZWJuZXJAcHJveG1veC5jb20+CitS ZXZpZXdlZC1ieTogRmlvbmEgRWJuZXIgPGYuZWJuZXJAcHJveG1veC5jb20+CitTaWduZWQtb2Zm LWJ5OiBUaG9tYXMgTGFtcHJlY2h0IDx0LmxhbXByZWNodEBwcm94bW94LmNvbT4KK01lc3NhZ2Ut SUQ6IDwyMDI2MDUyMjE1MTMxOC4yMzgwNjQtMS10LmxhbXByZWNodEBwcm94bW94LmNvbT4KK1tr d29sZjogUmV2ZXJ0ZWQgdW5uZWNlc3NhcnkgY2hhbmdlIHRvICducicgYXNzaWdubWVudF0KK1Jl dmlld2VkLWJ5OiBLZXZpbiBXb2xmIDxrd29sZkByZWRoYXQuY29tPgorU2lnbmVkLW9mZi1ieTog S2V2aW4gV29sZiA8a3dvbGZAcmVkaGF0LmNvbT4KKyhjaGVycnkgcGlja2VkIGZyb20gY29tbWl0 IDFkNDdlYjY4OTgzNTc3YTRlMDZmZTFjMTY1ZDkwZTEyOGIxOTFiODYpCitTaWduZWQtb2ZmLWJ5 OiBNaWNoYWVsIFRva2FyZXYgPG1qdEB0bHMubXNrLnJ1PgorCitNZXNzYWdlLUlEOiA8MjAyNjA2 MTMyMDA0MTEuMTgwODAyMS01Ni1tanRAdGxzLm1zay5ydT4KK1NpZ25lZC1vZmYtYnk6IEtldmlu IFdvbGYgPGt3b2xmQHJlZGhhdC5jb20+CistLS0KKyBibG9jay9xY293Mi1jbHVzdGVyLmMgICAg ICB8IDEwICsrKysrLS0tLS0KKyBibG9jay9xY293Mi5jICAgICAgICAgICAgICB8ICA4ICsrKysr KystCisgYmxvY2svcWNvdzIuaCAgICAgICAgICAgICAgfCAgNCArKysrCisgdGVzdHMvcWVtdS1p b3Rlc3RzLzA0NiAgICAgfCAyMyArKysrKysrKysrKysrKysrKysrKysrKworIHRlc3RzL3FlbXUt aW90ZXN0cy8wNDYub3V0IHwgMTAgKysrKysrKysrKworIDUgZmlsZXMgY2hhbmdlZCwgNDkgaW5z ZXJ0aW9ucygrKSwgNiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2Jsb2NrL3Fjb3cyLWNs dXN0ZXIuYyBiL2Jsb2NrL3Fjb3cyLWNsdXN0ZXIuYworaW5kZXggYzIwMDExZDM0Yy4uMjNlZWI5 ZmM1NiAxMDA2NDQKKy0tLSBhL2Jsb2NrL3Fjb3cyLWNsdXN0ZXIuYworKysrIGIvYmxvY2svcWNv dzItY2x1c3Rlci5jCitAQCAtMTQ3NCw5ICsxNDc0LDkgQEAgc3RhdGljIGludCBjb3JvdXRpbmVf Zm4gaGFuZGxlX2RlcGVuZGVuY2llcyhCbG9ja0RyaXZlclN0YXRlICpicywKKyAgICAgcmV0dXJu IDA7CisgfQorIAorLXN0YXRpYyB2b2lkIGNvcm91dGluZV9taXhlZF9mbiB3YWl0X2Zvcl9kZXBl bmRlbmNpZXMoQmxvY2tEcml2ZXJTdGF0ZSAqYnMsCistICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50NjRfdCBndWVzdF9vZmZzZXQsCistICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50NjRf dCBieXRlcykKKyt2b2lkIGNvcm91dGluZV9taXhlZF9mbiBxY293Ml93YWl0X2Zvcl9kZXBlbmRl bmNpZXMoQmxvY2tEcml2ZXJTdGF0ZSAqYnMsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ2NF90IGd1ZXN0X29mZnNldCwKKysgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDY0X3QgYnl0 ZXMpCisgeworICAgICBCRFJWUWNvdzJTdGF0ZSAqcyA9IGJzLT5vcGFxdWU7CisgICAgIFFDb3dM Mk1ldGEgKm0gPSBOVUxMOworQEAgLTIwMzcsNyArMjAzNyw3IEBAIGludCBxY293Ml9jbHVzdGVy X2Rpc2NhcmQoQmxvY2tEcml2ZXJTdGF0ZSAqYnMsIHVpbnQ2NF90IG9mZnNldCwKKyAgICAgICog V2UgZG9uJ3QgbmVlZCB0byBhbGxvY2F0ZSBhIFFDb3dMMk1ldGEgZm9yIHRoZSBkaXNjYXJkIG9w ZXJhdGlvbiBiZWNhdXNlCisgICAgICAqIHMtPmxvY2sgaXMgaGVsZCBmb3IgdGhlIGR1cmF0aW9u IG9mIHRoZSB3aG9sZSBvcGVyYXRpb24uCisgICAgICAqLworLSAgICB3YWl0X2Zvcl9kZXBlbmRl bmNpZXMoYnMsIG9mZnNldCwgYnl0ZXMpOworKyAgICBxY293Ml93YWl0X2Zvcl9kZXBlbmRlbmNp ZXMoYnMsIG9mZnNldCwgYnl0ZXMpOworIAorICAgICAvKiBDYWxsZXIgbXVzdCBwYXNzIGFsaWdu ZWQgdmFsdWVzLCBleGNlcHQgYXQgaW1hZ2UgZW5kICovCisgICAgIGFzc2VydChRRU1VX0lTX0FM SUdORUQob2Zmc2V0LCBzLT5jbHVzdGVyX3NpemUpKTsKK0BAIC0yMjA4LDcgKzIyMDgsNyBAQCBp bnQgY29yb3V0aW5lX2ZuIHFjb3cyX3N1YmNsdXN0ZXJfemVyb2l6ZShCbG9ja0RyaXZlclN0YXRl ICpicywgdWludDY0X3Qgb2Zmc2V0LAorICAgICAgKiBXZSBkb24ndCBuZWVkIHRvIGFsbG9jYXRl IGEgUUNvd0wyTWV0YSBmb3IgdGhlIHplcm9pemUgb3BlcmF0aW9uIGJlY2F1c2UKKyAgICAgICog cy0+bG9jayBpcyBoZWxkIGZvciB0aGUgZHVyYXRpb24gb2YgdGhlIHdob2xlIG9wZXJhdGlvbi4K KyAgICAgICovCistICAgIHdhaXRfZm9yX2RlcGVuZGVuY2llcyhicywgb2Zmc2V0LCBieXRlcyk7 CisrICAgIHFjb3cyX3dhaXRfZm9yX2RlcGVuZGVuY2llcyhicywgb2Zmc2V0LCBieXRlcyk7Cisg CisgICAgIC8qIElmIHdlIGhhdmUgdG8gc3RheSBpbiBzeW5jIHdpdGggYW4gZXh0ZXJuYWwgZGF0 YSBmaWxlLCB6ZXJvIG91dAorICAgICAgKiBzLT5kYXRhX2ZpbGUgZmlyc3QuICovCitkaWZmIC0t Z2l0IGEvYmxvY2svcWNvdzIuYyBiL2Jsb2NrL3Fjb3cyLmMKK2luZGV4IGE2YWRmYTlmODQuLjBm OTgxODUyOGQgMTAwNjQ0CistLS0gYS9ibG9jay9xY293Mi5jCisrKysgYi9ibG9jay9xY293Mi5j CitAQCAtNDE4MywxMCArNDE4MywxNiBAQCBxY293Ml9jb19wd3JpdGVfemVyb2VzKEJsb2NrRHJp dmVyU3RhdGUgKmJzLCBpbnQ2NF90IG9mZnNldCwgaW50NjRfdCBieXRlcywKKyAgICAgICAgIH0K KyAKKyAgICAgICAgIHFlbXVfY29fbXV0ZXhfbG9jaygmcy0+bG9jayk7CistICAgICAgICAvKiBX ZSBjYW4gaGF2ZSBuZXcgd3JpdGUgYWZ0ZXIgcHJldmlvdXMgY2hlY2sgKi8KKyAgICAgICAgIG9m ZnNldCAtPSBoZWFkOworICAgICAgICAgYnl0ZXMgPSBzLT5zdWJjbHVzdGVyX3NpemU7CisgICAg ICAgICBuciA9IHMtPnN1YmNsdXN0ZXJfc2l6ZTsKKysgICAgICAgIC8qCisrICAgICAgICAgKiBX YWl0IGZvciBpbi1mbGlnaHQgYWxsb2NhdGluZyB3cml0ZXMgZmlyc3Q6IG90aGVyd2lzZSB0aGUg dHlwZQorKyAgICAgICAgICogY2hlY2sgYmVsb3cgY291bGQgcGFzcyBvbiBVTkFMTE9DQVRFRCB3 aGlsZSBhIHlldC10by1saW5rX2wyIHdyaXRlCisrICAgICAgICAgKiBjb21wbGV0ZXMgZHVyaW5n IHFjb3cyX3N1YmNsdXN0ZXJfemVyb2l6ZSgpJ3Mgb3duIHdhaXQsIGxldHRpbmcgdGhlCisrICAg ICAgICAgKiByZXN1bWVkIE1BWV9VTk1BUCBkaXNjYXJkIHRoZSBqdXN0LXdyaXR0ZW4gZGF0YS4K KysgICAgICAgICAqLworKyAgICAgICAgcWNvdzJfd2FpdF9mb3JfZGVwZW5kZW5jaWVzKGJzLCBv ZmZzZXQsIGJ5dGVzKTsKKyAgICAgICAgIHJldCA9IHFjb3cyX2dldF9ob3N0X29mZnNldChicywg b2Zmc2V0LCAmbnIsICZvZmYsICZ0eXBlKTsKKyAgICAgICAgIGlmIChyZXQgPCAwIHx8CisgICAg ICAgICAgICAgKHR5cGUgIT0gUUNPVzJfU1VCQ0xVU1RFUl9VTkFMTE9DQVRFRF9QTEFJTiAmJgor ZGlmZiAtLWdpdCBhL2Jsb2NrL3Fjb3cyLmggYi9ibG9jay9xY293Mi5oCitpbmRleCAzZTM4YmNj ZDg3Li4yNmZlMTJhYjJhIDEwMDY0NAorLS0tIGEvYmxvY2svcWNvdzIuaAorKysrIGIvYmxvY2sv cWNvdzIuaAorQEAgLTk2MSw2ICs5NjEsMTAgQEAgaW50IGNvcm91dGluZV9mbiBHUkFQSF9SRExP Q0sKKyBxY293Ml9zdWJjbHVzdGVyX3plcm9pemUoQmxvY2tEcml2ZXJTdGF0ZSAqYnMsIHVpbnQ2 NF90IG9mZnNldCwgdWludDY0X3QgYnl0ZXMsCisgICAgICAgICAgICAgICAgICAgICAgICAgIGlu dCBmbGFncyk7CisgCisrdm9pZCBjb3JvdXRpbmVfbWl4ZWRfZm4KKytxY293Ml93YWl0X2Zvcl9k ZXBlbmRlbmNpZXMoQmxvY2tEcml2ZXJTdGF0ZSAqYnMsIHVpbnQ2NF90IGd1ZXN0X29mZnNldCwK KysgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDY0X3QgYnl0ZXMpOworKworIGludCBH UkFQSF9SRExPQ0sKKyBxY293Ml9leHBhbmRfemVyb19jbHVzdGVycyhCbG9ja0RyaXZlclN0YXRl ICpicywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBCbG9ja0RyaXZlckFtZW5kU3RhdHVz Q0IgKnN0YXR1c19jYiwKK2RpZmYgLS1naXQgYS90ZXN0cy9xZW11LWlvdGVzdHMvMDQ2IGIvdGVz dHMvcWVtdS1pb3Rlc3RzLzA0NgoraW5kZXggZTAzZGQ0MDE0Ny4uMGQ4NGI1YzFjNyAxMDA3NTUK Ky0tLSBhL3Rlc3RzL3FlbXUtaW90ZXN0cy8wNDYKKysrKyBiL3Rlc3RzL3FlbXUtaW90ZXN0cy8w NDYKK0BAIC0yMjYsNiArMjI2LDI2IEBAIGFpb193cml0ZSAteiAweDE0MDAwMCAweDEwMDAwCisg cmVzdW1lIEEKKyBhaW9fZmx1c2gKKyBFT0YKKysKKysjIFN0YXJ0IGFuIGFsbG9jYXRpbmcgd3Jp dGUgdG8gYSBwcmV2aW91c2x5IHVuYWxsb2NhdGVkIGNsdXN0ZXIgYW5kLCBiZWZvcmUKKysjIGl0 cyBMMiB1cGRhdGUgaXMgbGlua2VkLCBpc3N1ZSBhIGNvbmN1cnJlbnQgc3ViLWNsdXN0ZXIgemVy byB3cml0ZSB3aXRoCisrIyBNQVlfVU5NQVAgdGhhdCB0YXJnZXRzIGEgZGlzam9pbnQgcmFuZ2Ug d2l0aGluIHRoZSBzYW1lIGNsdXN0ZXIuIFRoZSB6ZXJvCisrIyB3cml0ZSdzIGhlYWQvdGFpbCBh cmUgemVybyAoY2x1c3RlciBpcyB1bmFsbG9jYXRlZCksIHNvIHFjb3cyX2NvX3B3cml0ZV96ZXJv ZXMKKysjIHdvdWxkIGV4cGFuZCBpdCB0byB0aGUgZnVsbCBzdWJjbHVzdGVyLiBXaXRob3V0IHdh aXRpbmcgZm9yIGRlcGVuZGVuY2llcworKyMgYmVmb3JlIHRoZSB6ZXJvIHdyaXRlJ3MgInVuYWxs b2NhdGVkIiB0eXBlIGNoZWNrLCB0aGF0IGNoZWNrIHBhc3NlcywKKysjIHFjb3cyX3N1YmNsdXN0 ZXJfemVyb2l6ZSB0aGVuIHlpZWxkcyBpbiB3YWl0X2Zvcl9kZXBlbmRlbmNpZXMsIHRoZSBhbGxv Y2F0aW5nCisrIyB3cml0ZSBsaW5rcyBpdHMgTDIgZW50cnksIGFuZCB0aGUgcmVzdW1lZCB6ZXJv aXplIHVubWFwcyB0aGUgY2x1c3RlciAtCisrIyBzaWxlbnRseSBkaXNjYXJkaW5nIHRoZSBqdXN0 LXdyaXR0ZW4gZGF0YS4gV2FpdGluZyBmaXJzdCBtYWtlcyB0aGUgemVybyB3cml0ZQorKyMgZmFs bCBiYWNrIHRvIGEgYm91bmNlLWJ1ZmZlcmVkIHJlYWwgd3JpdGUsIHdoaWNoIG9ubHkgdG91Y2hl cyBpdHMgb3duCisrIyBzdWJyYW5nZS4KKytjYXQgPDxFT0YKKyticmVhayB3cml0ZV9haW8gQQor K2Fpb193cml0ZSAtUCAxODAgMHgyMDAwMDAgMHg0MDAwCisrd2FpdF9icmVhayBBCisrYWlvX3dy aXRlIC16IC11IDB4MjA0MDAwIDB4NDAwMAorK3Jlc3VtZSBBCisrYWlvX2ZsdXNoCisrRU9GCisg fQorIAorIG92ZXJsYXlfaW8gfCAkUUVNVV9JTyBibGtkZWJ1Zzo6IiRURVNUX0lNRyIgfCBfZmls dGVyX3FlbXVfaW8gfFwKK0BAIC0zMTAsNiArMzMwLDkgQEAgdmVyaWZ5X2lvKCkKKyAgICAgZWNo byByZWFkIC1QIDAgICAweDEyMDAwMCAweDEwMDAwCisgICAgIGVjaG8gcmVhZCAtUCAwICAgMHgx MzAwMDAgMHgxMDAwMAorICAgICBlY2hvIHJlYWQgLVAgMCAgIDB4MTQwMDAwIDB4MTAwMDAKKysK KysgICAgZWNobyByZWFkIC1QIDE4MCAweDIwMDAwMCAweDQwMDAKKysgICAgZWNobyByZWFkIC1Q IDAgICAweDIwNDAwMCAweGMwMDAKKyB9CisgCisgdmVyaWZ5X2lvIHwgJFFFTVVfSU8gIiRURVNU X0lNRyIgfCBfZmlsdGVyX3FlbXVfaW8KK2RpZmYgLS1naXQgYS90ZXN0cy9xZW11LWlvdGVzdHMv MDQ2Lm91dCBiL3Rlc3RzL3FlbXUtaW90ZXN0cy8wNDYub3V0CitpbmRleCA2MzQxZGYzMzVjLi4x MzdjZjUyN2YxIDEwMDY0NAorLS0tIGEvdGVzdHMvcWVtdS1pb3Rlc3RzLzA0Ni5vdXQKKysrKyBi L3Rlc3RzL3FlbXUtaW90ZXN0cy8wNDYub3V0CitAQCAtMTY5LDYgKzE2OSwxMiBAQCB3cm90ZSBY WFgvWFhYIGJ5dGVzIGF0IG9mZnNldCBYWFgKKyBYWFggS2lCLCBYIG9wczsgWFg6WFg6WFguWCAo WFhYIFlZWS9zZWMgYW5kIFhYWCBvcHMvc2VjKQorIHdyb3RlIFhYWC9YWFggYnl0ZXMgYXQgb2Zm c2V0IFhYWAorIFhYWCBLaUIsIFggb3BzOyBYWDpYWDpYWC5YIChYWFggWVlZL3NlYyBhbmQgWFhY IG9wcy9zZWMpCisrYmxrZGVidWc6IFN1c3BlbmRlZCByZXF1ZXN0ICdBJworK2Jsa2RlYnVnOiBS ZXN1bWluZyByZXF1ZXN0ICdBJworK3dyb3RlIFhYWC9YWFggYnl0ZXMgYXQgb2Zmc2V0IFhYWAor K1hYWCBLaUIsIFggb3BzOyBYWDpYWDpYWC5YIChYWFggWVlZL3NlYyBhbmQgWFhYIG9wcy9zZWMp Cisrd3JvdGUgWFhYL1hYWCBieXRlcyBhdCBvZmZzZXQgWFhYCisrWFhYIEtpQiwgWCBvcHM7IFhY OlhYOlhYLlggKFhYWCBZWVkvc2VjIGFuZCBYWFggb3BzL3NlYykKKyAKKyA9PSBWZXJpZnkgaW1h Z2UgY29udGVudCA9PQorIHJlYWQgNjU1MzYvNjU1MzYgYnl0ZXMgYXQgb2Zmc2V0IDAKK0BAIC0y NzUsNSArMjgxLDkgQEAgcmVhZCA2NTUzNi82NTUzNiBieXRlcyBhdCBvZmZzZXQgMTI0NTE4NAor IDY0IEtpQiwgWCBvcHM7IFhYOlhYOlhYLlggKFhYWCBZWVkvc2VjIGFuZCBYWFggb3BzL3NlYykK KyByZWFkIDY1NTM2LzY1NTM2IGJ5dGVzIGF0IG9mZnNldCAxMzEwNzIwCisgNjQgS2lCLCBYIG9w czsgWFg6WFg6WFguWCAoWFhYIFlZWS9zZWMgYW5kIFhYWCBvcHMvc2VjKQorK3JlYWQgMTYzODQv MTYzODQgYnl0ZXMgYXQgb2Zmc2V0IDIwOTcxNTIKKysxNiBLaUIsIFggb3BzOyBYWDpYWDpYWC5Y IChYWFggWVlZL3NlYyBhbmQgWFhYIG9wcy9zZWMpCisrcmVhZCA0OTE1Mi80OTE1MiBieXRlcyBh dCBvZmZzZXQgMjExMzUzNgorKzQ4IEtpQiwgWCBvcHM7IFhYOlhYOlhYLlggKFhYWCBZWVkvc2Vj IGFuZCBYWFggb3BzL3NlYykKKyBObyBlcnJvcnMgd2VyZSBmb3VuZCBvbiB0aGUgaW1hZ2UuCisg KioqIGRvbmUKKy0tIAorMi41Mi4wCisKCmRpZmYgLS1naXQgYS9rdm0tcWVkLURvbi10LXRyeS10 by1mbHVzaC1kdXJpbmctaW5jb21pbmctbWlncmF0aW9uLnBhdGNoIGIva3ZtLXFlZC1Eb24tdC10 cnktdG8tZmx1c2gtZHVyaW5nLWluY29taW5nLW1pZ3JhdGlvbi5wYXRjaApuZXcgZmlsZSBtb2Rl IDEwMDY0NAppbmRleCAwMDAwMDAwLi42OTU0ZTRmCi0tLSAvZGV2L251bGwKKysrIGIva3ZtLXFl ZC1Eb24tdC10cnktdG8tZmx1c2gtZHVyaW5nLWluY29taW5nLW1pZ3JhdGlvbi5wYXRjaApAQCAt MCwwICsxLDE2MCBAQAorRnJvbSA0ZWQ4MDQzM2NjYjZjMDAwOWEyM2RkNzExNTlhZjU5NmJhZGVj NDI2IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogRmFiaWFubyBSb3NhcyA8ZmFyb3Nh c0BzdXNlLmRlPgorRGF0ZTogU2F0LCAxMyBKdW4gMjAyNiAyMzowMzo0MCArMDMwMAorU3ViamVj dDogW1BBVENIIDE4LzUyXSBxZWQ6IERvbid0IHRyeSB0byBmbHVzaCBkdXJpbmcgaW5jb21pbmcg bWlncmF0aW9uCisKK1JILUF1dGhvcjogS2V2aW4gV29sZiA8a3dvbGZAcmVkaGF0LmNvbT4KK1JI LU1lcmdlUmVxdWVzdDogNTA0OiB2aXJ0LXN0b3JhZ2U6IEJhY2twb3J0IHN0YWJsZSBicmFuY2gg Zml4ZXMKK1JILUppcmE6IFJIRUwtMTg2Mzg0CitSSC1BY2tlZC1ieTogU3RlZmFuIEhham5vY3pp IDxzdGVmYW5oYUByZWRoYXQuY29tPgorUkgtQWNrZWQtYnk6IE1pcm9zbGF2IFJlemFuaW5hIDxt cmV6YW5pbkByZWRoYXQuY29tPgorUkgtQ29tbWl0OiBbMTEvNDVdIDJhODg0Mzk1YmVjOGQwNmM3 MDY1NjY2NGQ4N2ZlMDNlNmU3YmE5MDIgKGttd29sZi9jZW50b3MtcWVtdS1rdm0pCisKK0l0J3Mg bm90IHBvc3NpYmxlIHRvIGFjY2VzcyB0aGUgaW1hZ2UgZmlsZSB3aGlsZSB0aGVyZSBpcyBhbiBp bmNvbWluZworbWlncmF0aW9uIGluIHByb2dyZXNzLCB0aGUgUUVNVSBwcm9jZXNzIGRvZXNuJ3Qg aG9sZCBhbnkgbG9ja3MgdG8gdGhlCitzdG9yYWdlIGF0IHRoaXMgcG9pbnQgc28gbm9kZXMgYXJl IGluYWN0aXZlLiBBdHRlbXB0aW5nIHRvIGZsdXNoIGxlYWRzCit0byBhbiBhc3NlcnQgYXQgYmRy dl9jb193cml0ZV9yZXFfcHJlcGFyZSgpOgorCisgICBhc3NlcnQoIShicy0+b3Blbl9mbGFncyAm IEJEUlZfT19JTkFDVElWRSkpCisKK1RoZSBpc3N1ZSBpcyByZXByb2R1Y2libGUgYnkgcnVubmlu ZyBpb3Rlc3QgMTgxIG9uIGEgaG9zdCB1bmRlciBjcHUKK2xvYWQuIFRoZSBtaWdyYXRpb24gbXVz dCBjb2luY2lkZSB3aXRoIHRoZSBoZWFkZXIgYWxyZWFkeSBjb250YWluaW5nCit0aGUgUUVEX0Zf TkVFRF9DSEVDSyBmbGFnLgorCitUaGUgc2VxdWVuY2Ugb2YgZXZlbnRzIGlzIGFzIGZvbGxvd3Ms IHdpdGggdGhlIHJlc3BlY3RpdmUgY2FsbCBzdGFja3MKK3JlZmVyZW5jZWQgYmVsb3c6CisKK0R1 cmluZyBibG9jayBkZXZpY2UgaW5pdCwgYmRydl9xZWRfYXR0YWNoX2Fpb19jb250ZXh0KCkgc3Rh cnRzIHRoZQorJ25lZWRfY2hlY2snIHRpbWVyLiBUaGUgdGltZXIgd2lsbCBub3QgZmlyZSBkdXJp bmcgaW5jb21pbmcgbWlncmF0aW9uCithcyBpdCB1c2VzIFFFTVVfQ0xPQ0tfVklSVFVBTCAodG8g YXZvaWQgdGhpcyB2ZXJ5IGlzc3VlLCBhcyB0aGUgY29kZQorY29tbWVudCBpbmRpY2F0ZXMpLiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwKQorCitI b3dldmVyLCB0aGVyZSdzIHN0aWxsIGJkcnZfcWVkX2RyYWluX2JlZ2luKCkgd2hpY2ggdXNlcyB0 aGUgZmFjdCB0aGF0Cit0aGUgdGltZXIgaXMgbGl2ZSB0byBkZWNpZGUgd2hldGhlciB0byBzdGFy dCB0aGUKK3FlZF9uZWVkX2NoZWNrX3RpbWVyX2VudHJ5KCkgZGlyZWN0bHkuICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAoMSkKKworVGhlIHFlZF9uZWVkX2NoZWNrX3RpbWVyX2VudHJ5 KCkgZXZlbnR1YWxseSBjYWxscyBpbnRvCitxZWRfd3JpdGVfaGVhZGVyKCkgLT4gYmRydl9jb19w d3JpdGUoKSBsZWFkaW5nIHRvIHRoZSBhc3NlcnQuICAgICAgICAgKDIpCisKK1NraXAgY3JlYXRp bmcgdGhlICduZWVkX2NoZWNrJyB0aW1lciB3aGVuZXZlciB0aGUgaW1hZ2UgaXMgaW5hY3RpdmUu CisKK1RoZSBzdGFja3M6CisKKygwKSA9PSBpc3N1ZXMgdGltZXJfbW9kID09CisgIzYgIGluIHFl ZF9zdGFydF9uZWVkX2NoZWNrX3RpbWVyICAgICAgIGF0IC4uL2Jsb2NrL3FlZC5jOjM0MAorICM3 ICBpbiBiZHJ2X3FlZF9hdHRhY2hfYWlvX2NvbnRleHQgICAgICBhdCAuLi9ibG9jay9xZWQuYzoz NzMKKyAjOCAgaW4gYmRydl9xZWRfZG9fb3BlbiAgICAgICAgICAgICAgICAgYXQgLi4vYmxvY2sv cWVkLmM6NTU2CisgIzkgIGluIGJkcnZfcWVkX29wZW5fZW50cnkgICAgICAgICAgICAgIGF0IC4u L2Jsb2NrL3FlZC5jOjU4MgorICMxMCBpbiBjb3JvdXRpbmVfdHJhbXBvbGluZSAgICAgICAgICAg ICBhdCAuLi91dGlsL2Nvcm91dGluZS11Y29udGV4dC5jOjE3NQorICMwICBpbiBxZW11X2Nvcm91 dGluZV9zd2l0Y2g8KzEyMD4gICAgICBhdCAuLi91dGlsL2Nvcm91dGluZS11Y29udGV4dC5jOjMy MQorICMxICBpbiBxZW11X2Fpb19jb3JvdXRpbmVfZW50ZXI8KzM1Nj4gICBhdCAuLi91dGlsL3Fl bXUtY29yb3V0aW5lLmM6MjkzCisgIzIgIGluIGFpb19jb19lbnRlcjwrMTc5PiAgICAgICAgICAg ICAgIGF0IC4uL3V0aWwvYXN5bmMuYzo3MTAKKyAjMyAgaW4gYWlvX2NvX3dha2U8KzUzPiAgICAg ICAgICAgICAgICAgYXQgLi4vdXRpbC9hc3luYy5jOjY5NQorICM0ICBpbiB0aHJlYWRfcG9vbF9j b19jYjwrNDc+ICAgICAgICAgICBhdCAuLi91dGlsL3RocmVhZC1wb29sLmM6MjgzCisgIzUgIGlu IHRocmVhZF9wb29sX2NvbXBsZXRpb25fYmg8KzI0MT4gIGF0IC4uL3V0aWwvdGhyZWFkLXBvb2wu YzoyMDIKKyAjNiAgaW4gYWlvX2JoX2NhbGw8KzEwOT4gICAgICAgICAgICAgICAgYXQgLi4vdXRp bC9hc3luYy5jOjE3MworICM3ICBpbiBhaW9fYmhfcG9sbDwrMjk5PiAgICAgICAgICAgICAgICBh dCAuLi91dGlsL2FzeW5jLmM6MjIwCisgIzggIGluIGFpb19wb2xsPCs2OTA+ICAgICAgICAgICAg ICAgICAgIGF0IC4uL3V0aWwvYWlvLXBvc2l4LmM6NzQ1CisgIzkgIGluIGJkcnZfcWVkX29wZW48 KzM5Mj4gICAgICAgICAgICAgIGF0IC4uL2Jsb2NrL3FlZC5jOjYwNworICMxMCBpbiBiZHJ2X29w ZW5fZHJpdmVyPCszMjc+ICAgICAgICAgICBhdCAuLi9ibG9jay5jOjE2NzgKKyAjMTEgaW4gYmRy dl9vcGVuX2NvbW1vbjwrMTYxOT4gICAgICAgICAgYXQgLi4vYmxvY2suYzoyMDA4CisgIzEyIGlu IGJkcnZfb3Blbl9pbmhlcml0PCsyNTU2PiAgICAgICAgIGF0IC4uL2Jsb2NrLmM6NDE5MQorICMx MyBpbiBiZHJ2X29wZW48KzExOD4gICAgICAgICAgICAgICAgICBhdCAuLi9ibG9jay5jOjQyODYK KyAjMTQgaW4gYmxrX25ld19vcGVuPCsxOTk+ICAgICAgICAgICAgICAgYXQgLi4vYmxvY2svYmxv Y2stYmFja2VuZC5jOjQ1OAorICMxNSBpbiBibG9ja2Rldl9pbml0PCsyMDExPiAgICAgICAgICAg ICBhdCAuLi9ibG9ja2Rldi5jOjYxMgorICMxNiBpbiBkcml2ZV9uZXc8KzMwMDg+ICAgICAgICAg ICAgICAgICBhdCAuLi9ibG9ja2Rldi5jOjEwMDgKKyAjMTcgaW4gZHJpdmVfaW5pdF9mdW5jPCs1 MT4gICAgICAgICAgICAgYXQgLi4vc3lzdGVtL3ZsLmM6NjYyCisgIzE4IGluIHFlbXVfb3B0c19m b3JlYWNoPCsyMjc+ICAgICAgICAgIGF0IC4uL3V0aWwvcWVtdS1vcHRpb24uYzoxMTQ4CisgIzE5 IGluIGNvbmZpZ3VyZV9ibG9ja2RldjwrMzUwPiAgICAgICAgIGF0IC4uL3N5c3RlbS92bC5jOjcy MQorICMyMCBpbiBxZW11X2NyZWF0ZV9lYXJseV9iYWNrZW5kczwrMzQzPiBhdCAuLi9zeXN0ZW0v dmwuYzoyMDc2CisgIzIxIGluIHFlbXVfaW5pdDwrMTI0ODM+ICAgICAgICAgICAgICAgIGF0IC4u L3N5c3RlbS92bC5jOjM3NzgKKyAjMjIgaW4gbWFpbjwrNDY+ICAgICAgICAgICAgICAgICAgICAg ICAgYXQgLi4vc3lzdGVtL21haW4uYzo3MQorCisoMSkgPT0gc2VlcyB0aW1lcl9wZW5kaW5nID09 CisgIzYgIGluIGJkcnZfcWVkX2RyYWluX2JlZ2luICAgICAgICAgICAgIGF0IC4uL2Jsb2NrL3Fl ZC5jOjM5MQorICM3ICBpbiBiZHJ2X2RvX2RyYWluZWRfYmVnaW4gICAgICAgICAgICBhdCAuLi9i bG9jay9pby5jOjM2NgorICM4ICBpbiBiZHJ2X2RvX2RyYWluZWRfYmVnaW5fcXVpZXNjZSAgICBh dCAuLi9ibG9jay9pby5jOjM4NgorICM5ICBpbiBiZHJ2X2NoaWxkX2NiX2RyYWluZWRfYmVnaW4g ICAgICBhdCAuLi9ibG9jay5jOjEyMDcKKyAjMTAgaW4gYmRydl9wYXJlbnRfZHJhaW5lZF9iZWdp bl9zaW5nbGUgYXQgLi4vYmxvY2svaW8uYzoxMzMKKyAjMTEgaW4gYmRydl9wYXJlbnRfZHJhaW5l ZF9iZWdpbiAgICAgICAgYXQgLi4vYmxvY2svaW8uYzo2NAorICMxMiBpbiBiZHJ2X2RvX2RyYWlu ZWRfYmVnaW4gICAgICAgICAgICBhdCAuLi9ibG9jay9pby5jOjM2NAorICMxMyBpbiBiZHJ2X2Ry YWluZWRfYmVnaW4gICAgICAgICAgICAgICBhdCAuLi9ibG9jay9pby5jOjM5MworICMxNCBpbiBi bGtfZHJhaW4gICAgICAgICAgICAgICAgICAgICAgICBhdCAuLi9ibG9jay9ibG9jay1iYWNrZW5k LmM6MjEwMQorICMxNSBpbiBibGtfdW5yZWYgICAgICAgICAgICAgICAgICAgICAgICBhdCAuLi9i bG9jay9ibG9jay1iYWNrZW5kLmM6NTQ0CisgIzE2IGluIGJkcnZfb3Blbl9pbmhlcml0ICAgICAg ICAgICAgICAgIGF0IC4uL2Jsb2NrLmM6NDE5NworICMxNyBpbiBiZHJ2X29wZW4gICAgICAgICAg ICAgICAgICAgICAgICBhdCAuLi9ibG9jay5jOjQyODYKKyAjMTggaW4gYmxrX25ld19vcGVuICAg ICAgICAgICAgICAgICAgICAgYXQgLi4vYmxvY2svYmxvY2stYmFja2VuZC5jOjQ1OAorICMxOSBp biBibG9ja2Rldl9pbml0ICAgICAgICAgICAgICAgICAgICBhdCAuLi9ibG9ja2Rldi5jOjYxMgor ICMyMCBpbiBkcml2ZV9uZXcgICAgICAgICAgICAgICAgICAgICAgICBhdCAuLi9ibG9ja2Rldi5j OjEwMDgKKyAjMjEgaW4gZHJpdmVfaW5pdF9mdW5jICAgICAgICAgICAgICAgICAgYXQgLi4vc3lz dGVtL3ZsLmM6NjYyCisgIzIyIGluIHFlbXVfb3B0c19mb3JlYWNoICAgICAgICAgICAgICAgIGF0 IC4uL3V0aWwvcWVtdS1vcHRpb24uYzoxMTQ4CisgIzIzIGluIGNvbmZpZ3VyZV9ibG9ja2RldiAg ICAgICAgICAgICAgIGF0IC4uL3N5c3RlbS92bC5jOjcyMQorICMyNCBpbiBxZW11X2NyZWF0ZV9l YXJseV9iYWNrZW5kcyAgICAgICBhdCAuLi9zeXN0ZW0vdmwuYzoyMDc2CisgIzI1IGluIHFlbXVf aW5pdCAgICAgICAgICAgICAgICAgICAgICAgIGF0IC4uL3N5c3RlbS92bC5jOjM3NzgKKyAjMjYg aW4gbWFpbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXQgLi4vc3lzdGVtL21haW4uYzo3 MQorCisoMikgPT0gY3Jhc2hlcyA9PQorICM1ICBpbiBfX2Fzc2VydF9mYWlsIChhc3NlcnRpb249 IiEoYnMtPm9wZW5fZmxhZ3MgJiBCRFJWX09fSU5BQ1RJVkUpIiwgZmlsZT0iLi4vYmxvY2svaW8u YyIsIGxpbmU9MTk3NworICM2ICBpbiBiZHJ2X2NvX3dyaXRlX3JlcV9wcmVwYXJlICBhdCAuLi9i bG9jay9pby5jOjE5NzcKKyAjNyAgaW4gYmRydl9hbGlnbmVkX3B3cml0ZXYgICAgICAgYXQgLi4v YmxvY2svaW8uYzoyMDk5CisgIzggIGluIGJkcnZfY29fcHdyaXRldl9wYXJ0ICAgICAgIGF0IC4u L2Jsb2NrL2lvLmM6MjMxNgorICM5ICBpbiBiZHJ2X2NvX3B3cml0ZXYgICAgICAgICAgICBhdCAu Li9ibG9jay9pby5jOjIyMzMKKyAjMTAgaW4gYmRydl9jb19wd3JpdGUgICAgICAgICAgICAgYXQg Li4vaW5jbHVkZS9ibG9jay9ibG9ja19pbnQtaW8uaDo3NworICMxMSBpbiBxZWRfd3JpdGVfaGVh ZGVyICAgICAgICAgICBhdCAuLi9ibG9jay9xZWQuYzoxMjgKKyAjMTIgaW4gcWVkX25lZWRfY2hl Y2tfdGltZXIgICAgICAgYXQgLi4vYmxvY2svcWVkLmM6MzA1CisgIzEzIGluIHFlZF9uZWVkX2No ZWNrX3RpbWVyX2VudHJ5IGF0IC4uL2Jsb2NrL3FlZC5jOjMxOQorCitOb3RlIHRoYXQgdGhpcyBp c3N1ZSBpcyBub3QgZXhhY3RseSB0aGUgc2FtZSBhcyB3aGF0J3MgYmVlbiByZXBvcnRlZAoraW4g R2l0bGFiLCBidXQgZ2l2ZW4gaG93IGVhc2lseSB0aGlzIHJlcHJvZHVjZXMsIEkgaW1hZ2luZSBp dCBoYXMgdG8KK2JlIGhhcHBlbmluZyBpbiB0aGF0IHNldHVwIGFzIHdlbGwuCisKK0xpbms6IGh0 dHBzOi8vZ2l0bGFiLmNvbS9xZW11LXByb2plY3QvcWVtdS8tL3dvcmtfaXRlbXMvMzUxNQorU2ln bmVkLW9mZi1ieTogRmFiaWFubyBSb3NhcyA8ZmFyb3Nhc0BzdXNlLmRlPgorTWVzc2FnZS1JRDog PDIwMjYwNjAzMTkzODEzLjIzMjc1OTYtMS1mYXJvc2FzQHN1c2UuZGU+CitSZXZpZXdlZC1ieTog U3RlZmFuIEhham5vY3ppIDxzdGVmYW5oYUByZWRoYXQuY29tPgorUmV2aWV3ZWQtYnk6IEtldmlu IFdvbGYgPGt3b2xmQHJlZGhhdC5jb20+CitTaWduZWQtb2ZmLWJ5OiBLZXZpbiBXb2xmIDxrd29s ZkByZWRoYXQuY29tPgorKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgN2U1NzNiNjYwZmVmZGVi ZDIxY2I3NTVkMGQzNGJiNTk0MmZkM2FmMykKK1NpZ25lZC1vZmYtYnk6IE1pY2hhZWwgVG9rYXJl diA8bWp0QHRscy5tc2sucnU+CisKK01lc3NhZ2UtSUQ6IDwyMDI2MDYxMzIwMDQxMS4xODA4MDIx LTU3LW1qdEB0bHMubXNrLnJ1PgorU2lnbmVkLW9mZi1ieTogS2V2aW4gV29sZiA8a3dvbGZAcmVk aGF0LmNvbT4KKy0tLQorIGJsb2NrL3FlZC5jIHwgMTYgKysrKysrKysrKystLS0tLQorIDEgZmls ZSBjaGFuZ2VkLCAxMSBpbnNlcnRpb25zKCspLCA1IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0 IGEvYmxvY2svcWVkLmMgYi9ibG9jay9xZWQuYworaW5kZXggNGEzNmZiMzkyOS4uOTE3YjhkOTFi NSAxMDA2NDQKKy0tLSBhL2Jsb2NrL3FlZC5jCisrKysgYi9ibG9jay9xZWQuYworQEAgLTM1MSwx NiArMzUxLDIyIEBAIHN0YXRpYyB2b2lkIGJkcnZfcWVkX2RldGFjaF9haW9fY29udGV4dChCbG9j a0RyaXZlclN0YXRlICpicykKKyB7CisgICAgIEJEUlZRRURTdGF0ZSAqcyA9IGJzLT5vcGFxdWU7 CisgCistICAgIHFlZF9jYW5jZWxfbmVlZF9jaGVja190aW1lcihzKTsKKy0gICAgdGltZXJfZnJl ZShzLT5uZWVkX2NoZWNrX3RpbWVyKTsKKy0gICAgcy0+bmVlZF9jaGVja190aW1lciA9IE5VTEw7 CisrICAgIGlmIChzLT5uZWVkX2NoZWNrX3RpbWVyKSB7CisrICAgICAgICBxZWRfY2FuY2VsX25l ZWRfY2hlY2tfdGltZXIocyk7CisrICAgICAgICB0aW1lcl9mcmVlKHMtPm5lZWRfY2hlY2tfdGlt ZXIpOworKyAgICAgICAgcy0+bmVlZF9jaGVja190aW1lciA9IE5VTEw7CisrICAgIH0KKyB9Cisg Cistc3RhdGljIHZvaWQgYmRydl9xZWRfYXR0YWNoX2Fpb19jb250ZXh0KEJsb2NrRHJpdmVyU3Rh dGUgKmJzLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBaW9Db250 ZXh0ICpuZXdfY29udGV4dCkKKytzdGF0aWMgdm9pZCBHUkFQSF9SRExPQ0sgYmRydl9xZWRfYXR0 YWNoX2Fpb19jb250ZXh0KEJsb2NrRHJpdmVyU3RhdGUgKmJzLAorKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQWlvQ29udGV4dCAqbmV3X2NvbnRl eHQpCisgeworICAgICBCRFJWUUVEU3RhdGUgKnMgPSBicy0+b3BhcXVlOworIAorKyAgICBpZiAo YmRydl9pc19pbmFjdGl2ZShicykpIHsKKysgICAgICAgIHJldHVybjsKKysgICAgfQorKworICAg ICBzLT5uZWVkX2NoZWNrX3RpbWVyID0gYWlvX3RpbWVyX25ldyhuZXdfY29udGV4dCwKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUUVNVV9DTE9DS19WSVJUVUFMLCBT Q0FMRV9OUywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcWVkX25l ZWRfY2hlY2tfdGltZXJfY2IsIHMpOworLS0gCisyLjUyLjAKKwoKZGlmZiAtLWdpdCBhL2t2bS1x ZW11LWltZy1GaXgtYW1lbmQtb3B0aW9uLXBhcnNlLWVycm9yLWhhbmRsaW5nLnBhdGNoIGIva3Zt LXFlbXUtaW1nLUZpeC1hbWVuZC1vcHRpb24tcGFyc2UtZXJyb3ItaGFuZGxpbmcucGF0Y2gKbmV3 IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGUyYzk3NQotLS0gL2Rldi9udWxsCisr KyBiL2t2bS1xZW11LWltZy1GaXgtYW1lbmQtb3B0aW9uLXBhcnNlLWVycm9yLWhhbmRsaW5nLnBh dGNoCkBAIC0wLDAgKzEsNDkgQEAKK0Zyb20gYTA0NTRhOGFmMjUxNzJmM2YxZjBmNmVhY2MzZTA3 ZDljMmIwNzdmZSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEFraWhpa28gT2Rha2kg PG9kYWtpQHJzZy5jaS5pLnUtdG9reW8uYWMuanA+CitEYXRlOiBUaHUsIDIzIE9jdCAyMDI1IDE3 OjEwOjU4ICswOTAwCitTdWJqZWN0OiBbUEFUQ0ggMjIvNTJdIHFlbXUtaW1nOiBGaXggYW1lbmQg b3B0aW9uIHBhcnNlIGVycm9yIGhhbmRsaW5nCisKK1JILUF1dGhvcjogS2V2aW4gV29sZiA8a3dv bGZAcmVkaGF0LmNvbT4KK1JILU1lcmdlUmVxdWVzdDogNTA0OiB2aXJ0LXN0b3JhZ2U6IEJhY2tw b3J0IHN0YWJsZSBicmFuY2ggZml4ZXMKK1JILUppcmE6IFJIRUwtMTg2Mzg0CitSSC1BY2tlZC1i eTogU3RlZmFuIEhham5vY3ppIDxzdGVmYW5oYUByZWRoYXQuY29tPgorUkgtQWNrZWQtYnk6IE1p cm9zbGF2IFJlemFuaW5hIDxtcmV6YW5pbkByZWRoYXQuY29tPgorUkgtQ29tbWl0OiBbMTUvNDVd IDA3ZGEwNzBkNGVjZGNiMWFkMjI3NjFmZTY4MDM4Yjg1ZGMwZDBhNDIgKGttd29sZi9jZW50b3Mt cWVtdS1rdm0pCisKK3FlbXVfb3B0c19kZWwob3B0cykgZGVyZWZlcmVuY2VzIG9wdHMtPmxpc3Qs IHdoaWNoIGlzIHRoZSBvbGQgYW1lbmRfb3B0cworcG9pbnRlciB0aGF0IGNhbiBiZSBkYW5nbGlu ZyBhZnRlciBleGVjdXRpbmcKK3FlbXVfb3B0c19hcHBlbmQoYW1lbmRfb3B0cywgYnMtPmRydi0+ Y3JlYXRlX29wdHMpIGFuZCBjYXVzZQordXNlLWFmdGVyLWZyZWUuCisKK0ZpeCB0aGUgcG90ZW50 aWFsIHVzZS1hZnRlci1mcmVlIGJ5IG1vdmluZyB0aGUgcWVtdV9vcHRzX2RlbCgpIGNhbGwKK2Jl Zm9yZSB0aGUgcWVtdV9vcHRzX2FwcGVuZCgpIGNhbGwuCisKK1NpZ25lZC1vZmYtYnk6IEFraWhp a28gT2Rha2kgPG9kYWtpQHJzZy5jaS5pLnUtdG9reW8uYWMuanA+CitNZXNzYWdlLUlEOiA8MjAy NTEwMjMtaW90ZXN0cy12MS0xLWZhYjE0M2NhNGMyZkByc2cuY2kuaS51LXRva3lvLmFjLmpwPgor UmV2aWV3ZWQtYnk6IEtldmluIFdvbGYgPGt3b2xmQHJlZGhhdC5jb20+CitTaWduZWQtb2ZmLWJ5 OiBLZXZpbiBXb2xmIDxrd29sZkByZWRoYXQuY29tPgorKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21t aXQgZjAwYmNjODMzNzkwYzcyYzA4YmM1ZWVkOTc4NDVmZGFhNzU0MjUwNykKK1NpZ25lZC1vZmYt Ynk6IE1pY2hhZWwgVG9rYXJldiA8bWp0QHRscy5tc2sucnU+CitTaWduZWQtb2ZmLWJ5OiBLZXZp biBXb2xmIDxrd29sZkByZWRoYXQuY29tPgorLS0tCisgcWVtdS1pbWcuYyB8IDIgKy0KKyAxIGZp bGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBh L3FlbXUtaW1nLmMgYi9xZW11LWltZy5jCitpbmRleCBhNzc5MTg5NmMxLi43YTMyZDJkMTZjIDEw MDY0NAorLS0tIGEvcWVtdS1pbWcuYworKysrIGIvcWVtdS1pbWcuYworQEAgLTQ1OTcsOSArNDU5 Nyw5IEBAIHN0YXRpYyBpbnQgaW1nX2FtZW5kKGNvbnN0IGltZ19jbWRfdCAqY2NtZCwgaW50IGFy Z2MsIGNoYXIgKiphcmd2KQorICAgICBhbWVuZF9vcHRzID0gcWVtdV9vcHRzX2FwcGVuZChhbWVu ZF9vcHRzLCBicy0+ZHJ2LT5hbWVuZF9vcHRzKTsKKyAgICAgb3B0cyA9IHFlbXVfb3B0c19jcmVh dGUoYW1lbmRfb3B0cywgTlVMTCwgMCwgJmVycm9yX2Fib3J0KTsKKyAgICAgaWYgKCFxZW11X29w dHNfZG9fcGFyc2Uob3B0cywgb3B0aW9ucywgTlVMTCwgJmVycikpIHsKKysgICAgICAgIHFlbXVf b3B0c19kZWwob3B0cyk7CisgICAgICAgICAvKiBUcnkgdG8gcGFyc2Ugb3B0aW9ucyB1c2luZyB0 aGUgY3JlYXRlIG9wdGlvbnMgKi8KKyAgICAgICAgIGFtZW5kX29wdHMgPSBxZW11X29wdHNfYXBw ZW5kKGFtZW5kX29wdHMsIGJzLT5kcnYtPmNyZWF0ZV9vcHRzKTsKKy0gICAgICAgIHFlbXVfb3B0 c19kZWwob3B0cyk7CisgICAgICAgICBvcHRzID0gcWVtdV9vcHRzX2NyZWF0ZShhbWVuZF9vcHRz LCBOVUxMLCAwLCAmZXJyb3JfYWJvcnQpOworICAgICAgICAgaWYgKHFlbXVfb3B0c19kb19wYXJz ZShvcHRzLCBvcHRpb25zLCBOVUxMLCBOVUxMKSkgeworICAgICAgICAgICAgIGVycm9yX2FwcGVu ZF9oaW50KCZlcnIsCistLSAKKzIuNTIuMAorCgpkaWZmIC0tZ2l0IGEva3ZtLXFlbXUtaW1nLXJl YmFzZS1kb24tdC1leGNlZWQtSU9fQlVGX1NJWkUtaW4tb25lLW9wZXIucGF0Y2ggYi9rdm0tcWVt dS1pbWctcmViYXNlLWRvbi10LWV4Y2VlZC1JT19CVUZfU0laRS1pbi1vbmUtb3Blci5wYXRjaApu ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40NGYzNTQxCi0tLSAvZGV2L251bGwK KysrIGIva3ZtLXFlbXUtaW1nLXJlYmFzZS1kb24tdC1leGNlZWQtSU9fQlVGX1NJWkUtaW4tb25l LW9wZXIucGF0Y2gKQEAgLTAsMCArMSwxNjEgQEAKK0Zyb20gMjFmMjliYzY5YTljZTkxMGM2ODY5 NDUzYTQ4NjY1MDg3ZmRkZmEyOSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEFsYmVy dG8gR2FyY2lhIDxiZXJ0b0BpZ2FsaWEuY29tPgorRGF0ZTogRnJpLCA3IE5vdiAyMDI1IDEwOjE4 OjMwICswMTAwCitTdWJqZWN0OiBbUEFUQ0ggMjMvNTJdIHFlbXUtaW1nIHJlYmFzZTogZG9uJ3Qg ZXhjZWVkIElPX0JVRl9TSVpFIGluIG9uZQorIG9wZXJhdGlvbgorCitSSC1BdXRob3I6IEtldmlu IFdvbGYgPGt3b2xmQHJlZGhhdC5jb20+CitSSC1NZXJnZVJlcXVlc3Q6IDUwNDogdmlydC1zdG9y YWdlOiBCYWNrcG9ydCBzdGFibGUgYnJhbmNoIGZpeGVzCitSSC1KaXJhOiBSSEVMLTE4NjM4NAor UkgtQWNrZWQtYnk6IFN0ZWZhbiBIYWpub2N6aSA8c3RlZmFuaGFAcmVkaGF0LmNvbT4KK1JILUFj a2VkLWJ5OiBNaXJvc2xhdiBSZXphbmluYSA8bXJlemFuaW5AcmVkaGF0LmNvbT4KK1JILUNvbW1p dDogWzE2LzQ1XSBjMGIwNzIwYzNhNzVlZWI3YTE1MTllMWRmMjlmZmI5YTU5YWRjNTMxIChrbXdv bGYvY2VudG9zLXFlbXUta3ZtKQorCitEdXJpbmcgYSByZWJhc2Ugb3BlcmF0aW9uIGRhdGEgaXMg Y29waWVkIGZyb20gdGhlIGJhY2tpbmcgY2hhaW4gaW50bwordGhlIHRhcmdldCBpbWFnZSB1c2lu ZyBhIGxvb3AsIGFuZCBlYWNoIGl0ZXJhdGlvbiBsb29rcyBmb3IgYQorY29udGlndW91cyByZWdp b24gb2YgYWxsb2NhdGVkIGRhdGEgb2YgYXQgbW9zdCBJT19CVUZfU0laRSAoMiBNQikuCisKK09u Y2UgdGhhdCByZWdpb24gaXMgZm91bmQsIGFuZCBpbiBvcmRlciB0byBhdm9pZCBwYXJ0aWFsIHdy aXRlcywgaXRzCitib3VuZGFyaWVzIGFyZSBleHRlbmRlZCBzbyB0aGV5IGFyZSBhbGlnbmVkIHRv IHRoZSAoc3ViKWNsdXN0ZXJzIG9mCit0aGUgdGFyZ2V0IGltYWdlIChzZWUgY29tbWl0IDEyZGY1 ODBiKS4KKworVGhpcyBvcGVyYXRpb24gY2FuIGhvd2V2ZXIgcmVzdWx0IGluIGEgcmVnaW9uIHRo YXQgZXhjZWVkcyB0aGUgbWF4aW11bQorYWxsb3dlZCBJT19CVUZfU0laRSwgY3Jhc2hpbmcgcWVt dS1pbWcuCisKK1RoaXMgY2FuIGJlIGVhc2lseSByZXByb2R1Y2VkIHdoZW4gdGhlIHNvdXJjZSBp bWFnZSBoYXMgYSBzbWFsbGVyCitjbHVzdGVyIHNpemUgdGhhbiB0aGUgdGFyZ2V0IGltYWdlOgor CitiYXNlIDwtIGludCA8LSBhY3RpdmUKKworJCBxZW11LWltZyBjcmVhdGUgLWYgcWNvdzIgYmFz ZS5xY293MiA0TQorJCBxZW11LWltZyBjcmVhdGUgLWYgcWNvdzIgLUYgcWNvdzIgLWIgYmFzZS5x Y293MiAtbyBjbHVzdGVyX3NpemU9MU0gaW50LnFjb3cyCiskIHFlbXUtaW1nIGNyZWF0ZSAtZiBx Y293MiAtRiBxY293MiAtYiBpbnQucWNvdzIgIC1vIGNsdXN0ZXJfc2l6ZT0yTSBhY3RpdmUucWNv dzIKKyQgcWVtdS1pbyAtYyAid3JpdGUgLVAgMHhmZiAxTSAyTSIgaW50LnFjb3cyCiskIHFlbXUt aW1nIHJlYmFzZSAtRiBxY293MiAtYiBiYXNlLnFjb3cyIGFjdGl2ZS5xY293MgorcWVtdS1pbWc6 IHFlbXUtaW1nLmM6NDEwMjogaW1nX3JlYmFzZTogQXNzZXJ0aW9uIGB3cml0dGVuICsgcG51bSA8 PSBJT19CVUZfU0laRScgZmFpbGVkLgorQWJvcnRlZAorCitDYzogcWVtdS1zdGFibGUgPHFlbXUt c3RhYmxlQG5vbmdudS5vcmc+CitSZXNvbHZlczogaHR0cHM6Ly9naXRsYWIuY29tL3FlbXUtcHJv amVjdC9xZW11Ly0vaXNzdWVzLzMxNzQKK0ZpeGVzOiAxMmRmNTgwYjNiN2YgKCJxZW11LWltZzog cmViYXNlOiBhdm9pZCB1bm5lY2Vzc2FyeSBDT1cgb3BlcmF0aW9ucyIpCitTaWduZWQtb2ZmLWJ5 OiBBbGJlcnRvIEdhcmNpYSA8YmVydG9AaWdhbGlhLmNvbT4KK01lc3NhZ2UtSUQ6IDwyMDI1MTEw NzA5MTgzNC4zODM3ODEtMS1iZXJ0b0BpZ2FsaWEuY29tPgorUmV2aWV3ZWQtYnk6IEtldmluIFdv bGYgPGt3b2xmQHJlZGhhdC5jb20+CitTaWduZWQtb2ZmLWJ5OiBLZXZpbiBXb2xmIDxrd29sZkBy ZWRoYXQuY29tPgorKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgOTA5ODUyYmE2YjRhMjJmZDJi NmY5ZDhiODhhZGI1ZmM0N2RmYTc4MSkKK1NpZ25lZC1vZmYtYnk6IE1pY2hhZWwgVG9rYXJldiA8 bWp0QHRscy5tc2sucnU+CitTaWduZWQtb2ZmLWJ5OiBLZXZpbiBXb2xmIDxrd29sZkByZWRoYXQu Y29tPgorLS0tCisgcWVtdS1pbWcuYyAgICAgICAgICAgICAgICAgfCAgMiArLQorIHRlc3RzL3Fl bXUtaW90ZXN0cy8wMjQgICAgIHwgNDYgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysKKyB0ZXN0cy9xZW11LWlvdGVzdHMvMDI0Lm91dCB8IDI2ICsrKysrKysrKysrKysrKysr KysrKworIDMgZmlsZXMgY2hhbmdlZCwgNzMgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQor CitkaWZmIC0tZ2l0IGEvcWVtdS1pbWcuYyBiL3FlbXUtaW1nLmMKK2luZGV4IDdhMzJkMmQxNmMu LmM0MmRkNGU5OTUgMTAwNjQ0CistLS0gYS9xZW11LWltZy5jCisrKysgYi9xZW11LWltZy5jCitA QCAtNDA4MSw3ICs0MDgxLDcgQEAgc3RhdGljIGludCBpbWdfcmViYXNlKGNvbnN0IGltZ19jbWRf dCAqY2NtZCwgaW50IGFyZ2MsIGNoYXIgKiphcmd2KQorICAgICAgICAgICAgIG4gKz0gb2Zmc2V0 IC0gUUVNVV9BTElHTl9ET1dOKG9mZnNldCwgd3JpdGVfYWxpZ24pOworICAgICAgICAgICAgIG9m ZnNldCA9IFFFTVVfQUxJR05fRE9XTihvZmZzZXQsIHdyaXRlX2FsaWduKTsKKyAgICAgICAgICAg ICBuICs9IFFFTVVfQUxJR05fVVAob2Zmc2V0ICsgbiwgd3JpdGVfYWxpZ24pIC0gKG9mZnNldCAr IG4pOworLSAgICAgICAgICAgIG4gPSBNSU4obiwgc2l6ZSAtIG9mZnNldCk7CisrICAgICAgICAg ICAgbiA9IE1JTihuLCBNSU4oc2l6ZSAtIG9mZnNldCwgSU9fQlVGX1NJWkUpKTsKKyAgICAgICAg ICAgICBhc3NlcnQoIWJkcnZfaXNfYWxsb2NhdGVkKHVuZmlsdGVyZWRfYnMsIG9mZnNldCwgbiwg Jm5fYWxsb2MpICYmCisgICAgICAgICAgICAgICAgICAgIG5fYWxsb2MgPT0gbik7CisgCitkaWZm IC0tZ2l0IGEvdGVzdHMvcWVtdS1pb3Rlc3RzLzAyNCBiL3Rlc3RzL3FlbXUtaW90ZXN0cy8wMjQK K2luZGV4IGIyOWM3NmUxNjEuLjAyMTE2OWI0YTEgMTAwNzU1CistLS0gYS90ZXN0cy9xZW11LWlv dGVzdHMvMDI0CisrKysgYi90ZXN0cy9xZW11LWlvdGVzdHMvMDI0CitAQCAtMzE1LDYgKzMxNSw1 MiBAQCBlY2hvCisgCisgJFFFTVVfSU1HIG1hcCAiJE9WRVJMQVkiIHwgX2ZpbHRlcl9xZW11X2lt Z19tYXAKKyAKKysjIENoZWNrIHRoYXQgdGhlIHJlZ2lvbiB0byBjb3B5IHRvIHRoZSBvdmVybGF5 IGR1cmluZyBhIHJlYmFzZQorKyMgb3BlcmF0aW9uIGRvZXMgbm90IGV4Y2VlZCB0aGUgSS9PIGJ1 ZmZlciBzaXplLgorKyMKKysjIGJhY2tpbmdfbmV3IDwtLSBiYWNraW5nX29sZCA8LS0gb3Zlcmxh eQorKyMKKysjIEJhY2tpbmcgKG5ldyk6IC0tIC0tIC0tIC0tICAgIDwtLSBFbXB0eSBpbWFnZSwg c2l6ZSA0TUIKKysjIEJhY2tpbmcgKG9sZCk6fC0tfGZmfGZmfC0tfCAgIDwtLSA0IGNsdXN0ZXJz LCAxTUIgZWFjaAorKyMgT3ZlcmxheTogICAgICB8LS0gLS18LS0gLS18ICAgPC0tIDIgY2x1c3Rl cnMsIDJNQiBlYWNoCisrIworKyMgVGhlIGRhdGEgYXQgWzFNQiwgM01CKSBtdXN0IGJlIGNvcGll ZCBmcm9tIHRoZSBvbGQgYmFja2luZyBpbWFnZSB0bworKyMgdGhlIG92ZXJsYXkuIEhvd2V2ZXIg dGhlIHJlYmFzZSBjb2RlIHdpbGwgZXh0ZW5kIHRoYXQgcmVnaW9uIHRvIHRoZQorKyMgb3Zlcmxh eSdzIChzdWIpY2x1c3RlciBib3VuZGFyaWVzIHRvIGF2b2lkIENvVyAoc2VlIGNvbW1pdCAxMmRm NTgwYikuCisrIyBUaGlzIHRlc3QgY2hlY2tzIHRoYXQgSU9fQlVGX1NJWkUgKDIgTUIpIGlzIHRh a2VuIGludG8gYWNjb3VudC4KKysKKytlY2hvCisrZWNobyAiPT09IFRlc3QgdGhhdCB0aGUgcmVn aW9uIHRvIGNvcHkgZG9lcyBub3QgZXhjZWVkIDJNQiAoSU9fQlVGX1NJWkUpID09PSIKKytlY2hv CisrCisrZWNobyAiQ3JlYXRpbmcgYmFja2luZyBjaGFpbiIKKytlY2hvCisrCisrVEVTVF9JTUc9 JEJBU0VfTkVXIF9tYWtlX3Rlc3RfaW1nIDRNCisrVEVTVF9JTUc9JEJBU0VfT0xEIENMVVNURVJf U0laRT0xTSBfbWFrZV90ZXN0X2ltZyAtYiAiJEJBU0VfTkVXIiAtRiAkSU1HRk1UCisrVEVTVF9J TUc9JE9WRVJMQVkgIENMVVNURVJfU0laRT0yTSBfbWFrZV90ZXN0X2ltZyAtYiAiJEJBU0VfT0xE IiAtRiAkSU1HRk1UCisrCisrZWNobworK2VjaG8gIldyaXRpbmcgZGF0YSB0byByZWdpb24gWzFN QiwgM01CKSIKKytlY2hvCisrCisrJFFFTVVfSU8gIiRCQVNFX09MRCIgLWMgIndyaXRlIC1QIDB4 ZmYgMU0gMk0iIHwgX2ZpbHRlcl9xZW11X2lvCisrCisrZWNobworK2VjaG8gIlJlYmFzaW5nIgor K2VjaG8KKysKKyskUUVNVV9JTUcgcmViYXNlIC1iICIkQkFTRV9ORVciIC1GICRJTUdGTVQgIiRP VkVSTEFZIgorKworK2VjaG8gIlZlcmlmeWluZyB0aGUgZGF0YSIKKytlY2hvCisrCisrJFFFTVVf SU8gIiRPVkVSTEFZIiAtYyAicmVhZCAtUCAweDAwICAwIDFNIiB8IF9maWx0ZXJfcWVtdV9pbwor KyRRRU1VX0lPICIkT1ZFUkxBWSIgLWMgInJlYWQgLVAgMHhmZiAxTSAyTSIgfCBfZmlsdGVyX3Fl bXVfaW8KKyskUUVNVV9JTyAiJE9WRVJMQVkiIC1jICJyZWFkIC1QIDB4MDAgM00gMU0iIHwgX2Zp bHRlcl9xZW11X2lvCisrCisrJFFFTVVfSU1HIG1hcCAiJE9WRVJMQVkiIHwgX2ZpbHRlcl9xZW11 X2ltZ19tYXAKKysKKyBlY2hvCisgCisgIyBzdWNjZXNzLCBhbGwgZG9uZQorZGlmZiAtLWdpdCBh L3Rlc3RzL3FlbXUtaW90ZXN0cy8wMjQub3V0IGIvdGVzdHMvcWVtdS1pb3Rlc3RzLzAyNC5vdXQK K2luZGV4IDNkMWUzMTkyN2EuLjFiNzUyMmJhNzEgMTAwNjQ0CistLS0gYS90ZXN0cy9xZW11LWlv dGVzdHMvMDI0Lm91dAorKysrIGIvdGVzdHMvcWVtdS1pb3Rlc3RzLzAyNC5vdXQKK0BAIC0yNDMs NCArMjQzLDMwIEBAIE9mZnNldCAgICAgICAgICBMZW5ndGggICAgICAgICAgRmlsZQorIDAgICAg ICAgICAgICAgICAweDIwMDAwICAgICAgICAgVEVTVF9ESVIvc3ViZGlyL3QuSU1HRk1UCisgMHg0 MDAwMCAgICAgICAgIDB4MjAwMDAgICAgICAgICBURVNUX0RJUi9zdWJkaXIvdC5JTUdGTVQKKyAK Kys9PT0gVGVzdCB0aGF0IHRoZSByZWdpb24gdG8gY29weSBkb2VzIG5vdCBleGNlZWQgMk1CIChJ T19CVUZfU0laRSkgPT09CisrCisrQ3JlYXRpbmcgYmFja2luZyBjaGFpbgorKworK0Zvcm1hdHRp bmcgJ1RFU1RfRElSL3N1YmRpci90LklNR0ZNVC5iYXNlX25ldycsIGZtdD1JTUdGTVQgc2l6ZT00 MTk0MzA0CisrRm9ybWF0dGluZyAnVEVTVF9ESVIvc3ViZGlyL3QuSU1HRk1ULmJhc2Vfb2xkJywg Zm10PUlNR0ZNVCBzaXplPTQxOTQzMDQgYmFja2luZ19maWxlPVRFU1RfRElSL3N1YmRpci90LklN R0ZNVC5iYXNlX25ldyBiYWNraW5nX2ZtdD1JTUdGTVQKKytGb3JtYXR0aW5nICdURVNUX0RJUi9z dWJkaXIvdC5JTUdGTVQnLCBmbXQ9SU1HRk1UIHNpemU9NDE5NDMwNCBiYWNraW5nX2ZpbGU9VEVT VF9ESVIvc3ViZGlyL3QuSU1HRk1ULmJhc2Vfb2xkIGJhY2tpbmdfZm10PUlNR0ZNVAorKworK1dy aXRpbmcgZGF0YSB0byByZWdpb24gWzFNQiwgM01CKQorKworK3dyb3RlIDIwOTcxNTIvMjA5NzE1 MiBieXRlcyBhdCBvZmZzZXQgMTA0ODU3NgorKzIgTWlCLCBYIG9wczsgWFg6WFg6WFguWCAoWFhY IFlZWS9zZWMgYW5kIFhYWCBvcHMvc2VjKQorKworK1JlYmFzaW5nCisrCisrVmVyaWZ5aW5nIHRo ZSBkYXRhCisrCisrcmVhZCAxMDQ4NTc2LzEwNDg1NzYgYnl0ZXMgYXQgb2Zmc2V0IDAKKysxIE1p QiwgWCBvcHM7IFhYOlhYOlhYLlggKFhYWCBZWVkvc2VjIGFuZCBYWFggb3BzL3NlYykKKytyZWFk IDIwOTcxNTIvMjA5NzE1MiBieXRlcyBhdCBvZmZzZXQgMTA0ODU3NgorKzIgTWlCLCBYIG9wczsg WFg6WFg6WFguWCAoWFhYIFlZWS9zZWMgYW5kIFhYWCBvcHMvc2VjKQorK3JlYWQgMTA0ODU3Ni8x MDQ4NTc2IGJ5dGVzIGF0IG9mZnNldCAzMTQ1NzI4CisrMSBNaUIsIFggb3BzOyBYWDpYWDpYWC5Y IChYWFggWVlZL3NlYyBhbmQgWFhYIG9wcy9zZWMpCisrT2Zmc2V0ICAgICAgICAgIExlbmd0aCAg ICAgICAgICBGaWxlCisrMCAgICAgICAgICAgICAgIDB4NDAwMDAwICAgICAgICBURVNUX0RJUi9z dWJkaXIvdC5JTUdGTVQKKysKKyAqKiogZG9uZQorLS0gCisyLjUyLjAKKwoKZGlmZiAtLWdpdCBh L2t2bS1xZW11LWlvLUFkZC1haW9fZGlzY2FyZC1jb21tYW5kLnBhdGNoIGIva3ZtLXFlbXUtaW8t QWRkLWFpb19kaXNjYXJkLWNvbW1hbmQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg MDAwMDAwMC4uMTRiNzQ0ZAotLS0gL2Rldi9udWxsCisrKyBiL2t2bS1xZW11LWlvLUFkZC1haW9f ZGlzY2FyZC1jb21tYW5kLnBhdGNoCkBAIC0wLDAgKzEsMTY3IEBACitGcm9tIGY1OThiOGUwMDhl MmI5MTc5YWNhYTEzOGQ3NWJhYzM5MGEyMDQ1MDggTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitG cm9tOiBLZXZpbiBXb2xmIDxrd29sZkByZWRoYXQuY29tPgorRGF0ZTogU2F0LCAxMyBKdW4gMjAy NiAyMzowMzozNiArMDMwMAorU3ViamVjdDogW1BBVENIIDQ4LzUyXSBxZW11LWlvOiBBZGQgJ2Fp b19kaXNjYXJkJyBjb21tYW5kCisKK1JILUF1dGhvcjogS2V2aW4gV29sZiA8a3dvbGZAcmVkaGF0 LmNvbT4KK1JILU1lcmdlUmVxdWVzdDogNTA0OiB2aXJ0LXN0b3JhZ2U6IEJhY2twb3J0IHN0YWJs ZSBicmFuY2ggZml4ZXMKK1JILUppcmE6IFJIRUwtMTg2Mzg0CitSSC1BY2tlZC1ieTogU3RlZmFu IEhham5vY3ppIDxzdGVmYW5oYUByZWRoYXQuY29tPgorUkgtQWNrZWQtYnk6IE1pcm9zbGF2IFJl emFuaW5hIDxtcmV6YW5pbkByZWRoYXQuY29tPgorUkgtQ29tbWl0OiBbNDEvNDVdIGYxMGVhNDA3 ZGQyY2I5MzU1MDM5NjIzMDc5MDgwMmRjOGE3Mjg3NzQgKGttd29sZi9jZW50b3MtcWVtdS1rdm0p CisKK1Rlc3RpbmcgaW50ZXJhY3Rpb25zIGJldHdlZW4gbXVsdGlwbGUgcmVxdWVzdHMgdGhhdCBp bmNsdWRlIGRpc2NhcmQKK3JlcXVlc3RzIHJlcXVpcmUgdGhhdCBxZW11LWlvIGNhbiBkbyB0aGUg ZGlzY2FyZCBhc3luY2hyb25vdXNseSwgbGlrZSBpdAorYWxyZWFkeSBkb2VzIGZvciByZWFkcyBh bmQgd3JpdGVzLiBUbyB0aGlzIGVmZmVjdCwgYWRkIGFuICdhaW9fZGlzY2FyZCcKK2NvbW1hbmQu CisKK1NpZ25lZC1vZmYtYnk6IEtldmluIFdvbGYgPGt3b2xmQHJlZGhhdC5jb20+CitNZXNzYWdl LUlEOiA8MjAyNjA0MjcxNzA1MjAuMTAxMjQyLTMta3dvbGZAcmVkaGF0LmNvbT4KK1Jldmlld2Vk LWJ5OiBEZW5pcyBWLiBMdW5ldiA8ZGVuQG9wZW52ei5vcmc+CitUZXN0ZWQtYnk6IERlbmlzIFYu IEx1bmV2IDxkZW5Ab3BlbnZ6Lm9yZz4KK1NpZ25lZC1vZmYtYnk6IEtldmluIFdvbGYgPGt3b2xm QHJlZGhhdC5jb20+CisoY2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCA3Zjg0NjZlMmNlNjIwZTNj NmE2ZTJmMzJkNjE2MzY3MTc0ZDRkYmU5KQorU2lnbmVkLW9mZi1ieTogTWljaGFlbCBUb2thcmV2 IDxtanRAdGxzLm1zay5ydT4KKworTWVzc2FnZS1JRDogPDIwMjYwNjEzMjAwNDExLjE4MDgwMjEt NTMtbWp0QHRscy5tc2sucnU+CitTaWduZWQtb2ZmLWJ5OiBLZXZpbiBXb2xmIDxrd29sZkByZWRo YXQuY29tPgorLS0tCisgcWVtdS1pby1jbWRzLmMgfCAxMTUgKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKworIDEgZmlsZSBjaGFuZ2VkLCAxMTUgaW5zZXJ0 aW9ucygrKQorCitkaWZmIC0tZ2l0IGEvcWVtdS1pby1jbWRzLmMgYi9xZW11LWlvLWNtZHMuYwor aW5kZXggZjZkMDc3OTA4Zi4uZGU0YzE5NjZmZSAxMDA2NDQKKy0tLSBhL3FlbXUtaW8tY21kcy5j CisrKysgYi9xZW11LWlvLWNtZHMuYworQEAgLTIyMTgsNiArMjIxOCwxMjAgQEAgc3RhdGljIGlu dCBkaXNjYXJkX2YoQmxvY2tCYWNrZW5kICpibGssIGludCBhcmdjLCBjaGFyICoqYXJndikKKyAg ICAgcmV0dXJuIDA7CisgfQorIAorK3N0YXRpYyB2b2lkIGFpb19kaXNjYXJkX2hlbHAodm9pZCkK Kyt7CisrICAgIHByaW50ZigKKysiXG4iCisrIiBhc3luY2hyb25vdXNseSBkaXNjYXJkcyBhIHJh bmdlIG9mIGJ5dGVzIGZyb20gdGhlIGdpdmVuIG9mZnNldFxuIgorKyJcbiIKKysiIEV4YW1wbGU6 XG4iCisrIiAnYWlvX2Rpc2NhcmQgNTEyIDFrJyAtIGRpc2NhcmRzIDEga2lsb2J5dGUgZnJvbSA1 MTIgYnl0ZXMgaW50byB0aGUgZmlsZVxuIgorKyJcbiIKKysiIERpc2NhcmRzIGEgc2VnbWVudCBv ZiB0aGUgY3VycmVudGx5IG9wZW4gZmlsZS5cbiIKKysiIC1DLCAtLSByZXBvcnQgc3RhdGlzdGlj cyBpbiBhIG1hY2hpbmUgcGFyc2FibGUgZm9ybWF0XG4iCisrIiAtcSwgLS0gcXVpZXQgbW9kZSwg ZG8gbm90IHNob3cgSS9PIHN0YXRpc3RpY3NcbiIKKysiIFRoZSBkaXNjYXJkIGlzIHBlcmZvcm1l ZCBhc3luY2hyb25vdXNseSBhbmQgdGhlIGFpb19mbHVzaCBjb21tYW5kIG11c3QgYmVcbiIKKysi IHVzZWQgdG8gZW5zdXJlIGFsbCBvdXRzdGFuZGluZyBhaW8gcmVxdWVzdHMgaGF2ZSBiZWVuIGNv bXBsZXRlZC5cbiIKKysiIE5vdGUgdGhhdCBkdWUgdG8gaXRzIGFzeW5jaHJvbm91cyBuYXR1cmUs IHRoaXMgY29tbWFuZCB3aWxsIGJlXG4iCisrIiBjb25zaWRlcmVkIHN1Y2Nlc3NmdWwgb25jZSB0 aGUgcmVxdWVzdCBpcyBzdWJtaXR0ZWQsIGluZGVwZW5kZW50bHlcbiIKKysiIG9mIHBvdGVudGlh bCBJL08gZXJyb3JzLlxuIgorKyJcbiIpOworK30KKysKKytzdGF0aWMgaW50IGFpb19kaXNjYXJk X2YoQmxvY2tCYWNrZW5kICpibGssIGludCBhcmdjLCBjaGFyICoqYXJndik7CisrCisrc3RhdGlj IGNvbnN0IGNtZGluZm9fdCBhaW9fZGlzY2FyZF9jbWQgPSB7CisrICAgIC5uYW1lICAgICAgID0g ImFpb19kaXNjYXJkIiwKKysgICAgLmNmdW5jICAgICAgPSBhaW9fZGlzY2FyZF9mLAorKyAgICAu cGVybSAgICAgICA9IEJMS19QRVJNX1dSSVRFLAorKyAgICAuYXJnbWluICAgICA9IDIsCisrICAg IC5hcmdtYXggICAgID0gLTEsCisrICAgIC5hcmdzICAgICAgID0gIlstQ3FdIG9mZiBsZW4iLAor KyAgICAub25lbGluZSAgICA9ICJhc3luY2hyb25vdXNseSBkaXNjYXJkcyBhIG51bWJlciBvZiBi eXRlcyIsCisrICAgIC5oZWxwICAgICAgID0gYWlvX2Rpc2NhcmRfaGVscCwKKyt9OworKworK3N0 YXRpYyB2b2lkIGFpb19kaXNjYXJkX2RvbmUodm9pZCAqb3BhcXVlLCBpbnQgcmV0KQorK3sKKysg ICAgc3RydWN0IGFpb19jdHggKmN0eCA9IG9wYXF1ZTsKKysgICAgc3RydWN0IHRpbWVzcGVjIHQy OworKworKyAgICBjbG9ja19nZXR0aW1lKENMT0NLX01PTk9UT05JQywgJnQyKTsKKysKKysgICAg aWYgKHJldCA8IDApIHsKKysgICAgICAgIHByaW50ZigiYWlvX2Rpc2NhcmQgZmFpbGVkOiAlc1xu Iiwgc3RyZXJyb3IoLXJldCkpOworKyAgICAgICAgYmxvY2tfYWNjdF9mYWlsZWQoYmxrX2dldF9z dGF0cyhjdHgtPmJsayksICZjdHgtPmFjY3QpOworKyAgICAgICAgZ290byBvdXQ7CisrICAgIH0K KysKKysgICAgYmxvY2tfYWNjdF9kb25lKGJsa19nZXRfc3RhdHMoY3R4LT5ibGspLCAmY3R4LT5h Y2N0KTsKKysKKysgICAgaWYgKGN0eC0+cWZsYWcpIHsKKysgICAgICAgIGdvdG8gb3V0OworKyAg ICB9CisrCisrICAgIC8qIEZpbmFsbHksIHJlcG9ydCBiYWNrIC0tIC1DIGdpdmVzIGEgcGFyc2Fi bGUgZm9ybWF0ICovCisrICAgIHQyID0gdHN1Yih0MiwgY3R4LT50MSk7CisrICAgIHByaW50X3Jl cG9ydCgiZGlzY2FyZGVkICIsICZ0MiwgY3R4LT5vZmZzZXQsIGN0eC0+cWlvdi5zaXplLAorKyAg ICAgICAgICAgICAgICAgY3R4LT5xaW92LnNpemUsIDEsIGN0eC0+Q2ZsYWcpOworK291dDoKKysg ICAgZ19mcmVlKGN0eCk7CisrfQorKworK3N0YXRpYyBpbnQgYWlvX2Rpc2NhcmRfZihCbG9ja0Jh Y2tlbmQgKmJsaywgaW50IGFyZ2MsIGNoYXIgKiphcmd2KQorK3sKKysgICAgaW50IGMsIHJldDsK KysgICAgaW50NjRfdCBjb3VudDsKKysgICAgc3RydWN0IGFpb19jdHggKmN0eCA9IGdfbmV3MChz dHJ1Y3QgYWlvX2N0eCwgMSk7CisrCisrICAgIGN0eC0+YmxrID0gYmxrOworKworKyAgICB3aGls ZSAoKGMgPSBnZXRvcHQoYXJnYywgYXJndiwgIkNxIikpICE9IC0xKSB7CisrICAgICAgICBzd2l0 Y2ggKGMpIHsKKysgICAgICAgIGNhc2UgJ0MnOgorKyAgICAgICAgICAgIGN0eC0+Q2ZsYWcgPSB0 cnVlOworKyAgICAgICAgICAgIGJyZWFrOworKyAgICAgICAgY2FzZSAncSc6CisrICAgICAgICAg ICAgY3R4LT5xZmxhZyA9IHRydWU7CisrICAgICAgICAgICAgYnJlYWs7CisrICAgICAgICBkZWZh dWx0OgorKyAgICAgICAgICAgIGdfZnJlZShjdHgpOworKyAgICAgICAgICAgIHFlbXVpb19jb21t YW5kX3VzYWdlKCZhaW9fZGlzY2FyZF9jbWQpOworKyAgICAgICAgICAgIHJldHVybiAtRUlOVkFM OworKyAgICAgICAgfQorKyAgICB9CisrCisrICAgIGlmIChvcHRpbmQgIT0gYXJnYyAtIDIpIHsK KysgICAgICAgIGdfZnJlZShjdHgpOworKyAgICAgICAgcWVtdWlvX2NvbW1hbmRfdXNhZ2UoJmFp b19kaXNjYXJkX2NtZCk7CisrICAgICAgICByZXR1cm4gLUVJTlZBTDsKKysgICAgfQorKworKyAg ICBjdHgtPm9mZnNldCA9IGN2dG51bShhcmd2W29wdGluZF0pOworKyAgICBpZiAoY3R4LT5vZmZz ZXQgPCAwKSB7CisrICAgICAgICByZXQgPSBjdHgtPm9mZnNldDsKKysgICAgICAgIHByaW50X2N2 dG51bV9lcnIocmV0LCBhcmd2W29wdGluZF0pOworKyAgICAgICAgZ19mcmVlKGN0eCk7CisrICAg ICAgICByZXR1cm4gcmV0OworKyAgICB9CisrICAgIG9wdGluZCsrOworKworKyAgICBjb3VudCA9 IGN2dG51bShhcmd2W29wdGluZF0pOworKyAgICBpZiAoY291bnQgPCAwKSB7CisrICAgICAgICBw cmludF9jdnRudW1fZXJyKGNvdW50LCBhcmd2W29wdGluZF0pOworKyAgICAgICAgZ19mcmVlKGN0 eCk7CisrICAgICAgICByZXR1cm4gY291bnQ7CisrICAgIH0KKysKKysgICAgY2xvY2tfZ2V0dGlt ZShDTE9DS19NT05PVE9OSUMsICZjdHgtPnQxKTsKKysgICAgY3R4LT5xaW92LnNpemUgPSBjb3Vu dDsKKysgICAgYmxvY2tfYWNjdF9zdGFydChibGtfZ2V0X3N0YXRzKGJsayksICZjdHgtPmFjY3Qs IGN0eC0+cWlvdi5zaXplLAorKyAgICAgICAgICAgICAgICAgICAgIEJMT0NLX0FDQ1RfVU5NQVAp OworKyAgICBibGtfYWlvX3BkaXNjYXJkKGJsaywgY3R4LT5vZmZzZXQsIGNvdW50LCBhaW9fZGlz Y2FyZF9kb25lLCBjdHgpOworKworKyAgICByZXR1cm4gMDsKKyt9CisrCisgc3RhdGljIGludCBh bGxvY19mKEJsb2NrQmFja2VuZCAqYmxrLCBpbnQgYXJnYywgY2hhciAqKmFyZ3YpCisgeworICAg ICBCbG9ja0RyaXZlclN0YXRlICpicyA9IGJsa19icyhibGspOworQEAgLTI4MDAsNiArMjkxNCw3 IEBAIHN0YXRpYyB2b2lkIF9fYXR0cmlidXRlKChjb25zdHJ1Y3RvcikpIGluaXRfcWVtdWlvX2Nv bW1hbmRzKHZvaWQpCisgICAgIHFlbXVpb19hZGRfY29tbWFuZCgmbGVuZ3RoX2NtZCk7CisgICAg IHFlbXVpb19hZGRfY29tbWFuZCgmaW5mb19jbWQpOworICAgICBxZW11aW9fYWRkX2NvbW1hbmQo JmRpc2NhcmRfY21kKTsKKysgICAgcWVtdWlvX2FkZF9jb21tYW5kKCZhaW9fZGlzY2FyZF9jbWQp OworICAgICBxZW11aW9fYWRkX2NvbW1hbmQoJmFsbG9jX2NtZCk7CisgICAgIHFlbXVpb19hZGRf Y29tbWFuZCgmbWFwX2NtZCk7CisgICAgIHFlbXVpb19hZGRfY29tbWFuZCgmcmVvcGVuX2NtZCk7 CistLSAKKzIuNTIuMAorCgpkaWZmIC0tZ2l0IGEva3ZtLXRlc3RzLXFlbXUtaW90ZXN0LWZpeC1p b3Rlc3QtMDI0LXdpdGgtcWVkLWltYWdlcy5wYXRjaCBiL2t2bS10ZXN0cy1xZW11LWlvdGVzdC1m aXgtaW90ZXN0LTAyNC13aXRoLXFlZC1pbWFnZXMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQK aW5kZXggMDAwMDAwMC4uN2FiYzMxNAotLS0gL2Rldi9udWxsCisrKyBiL2t2bS10ZXN0cy1xZW11 LWlvdGVzdC1maXgtaW90ZXN0LTAyNC13aXRoLXFlZC1pbWFnZXMucGF0Y2gKQEAgLTAsMCArMSw2 MCBAQAorRnJvbSAzMjdlZjZlOGIzZWEyMjQwNDc0MDlkZWE5MGVkYmE1YzU5ZjE3NGFkIE1vbiBT ZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogQWxiZXJ0byBHYXJjaWEgPGJlcnRvQGlnYWxpYS5j b20+CitEYXRlOiBXZWQsIDEyIE5vdiAyMDI1IDE4OjA5OjU3ICswMTAwCitTdWJqZWN0OiBbUEFU Q0ggMjkvNTJdIHRlc3RzL3FlbXUtaW90ZXN0OiBmaXggaW90ZXN0IDAyNCB3aXRoIHFlZCBpbWFn ZXMKKworUkgtQXV0aG9yOiBLZXZpbiBXb2xmIDxrd29sZkByZWRoYXQuY29tPgorUkgtTWVyZ2VS ZXF1ZXN0OiA1MDQ6IHZpcnQtc3RvcmFnZTogQmFja3BvcnQgc3RhYmxlIGJyYW5jaCBmaXhlcwor UkgtSmlyYTogUkhFTC0xODYzODQKK1JILUFja2VkLWJ5OiBTdGVmYW4gSGFqbm9jemkgPHN0ZWZh bmhhQHJlZGhhdC5jb20+CitSSC1BY2tlZC1ieTogTWlyb3NsYXYgUmV6YW5pbmEgPG1yZXphbmlu QHJlZGhhdC5jb20+CitSSC1Db21taXQ6IFsyMi80NV0gZWM1MTUzNzliMDQ5NDZlNDczMDgxMmFi Y2NjN2Q3MmZmNmM3ZGYyNiAoa213b2xmL2NlbnRvcy1xZW11LWt2bSkKKworVXNlICdxZW11LWlv IC1jIG1hcCcgaW5zdGVhZCBvZiAncWVtdS1pbWcgbWFwJyB0byBnZXQgYW4gb3V0cHV0IHRoYXQK K3dvcmtzIHdpdGggYm90aCBpbWFnZSB0eXBlcy4KKworQ2M6IHFlbXUtc3RhYmxlIDxxZW11LXN0 YWJsZUBub25nbnUub3JnPgorRml4ZXM6IDkwOTg1MmJhNmI0YSAoInFlbXUtaW1nIHJlYmFzZTog ZG9uJ3QgZXhjZWVkIElPX0JVRl9TSVpFIGluIG9uZSBvcGVyYXRpb24iKQorRml4ZXM6IDI2YjE3 ZTM0YmVkYiAoInFlbXUtaW1nIHJlYmFzZTogZG9uJ3QgZXhjZWVkIElPX0JVRl9TSVpFIGluIG9u ZSBvcGVyYXRpb24iKSBpbiAxMC4xLngKK1NpZ25lZC1vZmYtYnk6IEFsYmVydG8gR2FyY2lhIDxi ZXJ0b0BpZ2FsaWEuY29tPgorTWVzc2FnZS1JRDogPDIwMjUxMTEyMTcwOTU5LjcwMDg0MC0xLWJl cnRvQGlnYWxpYS5jb20+CitSZXZpZXdlZC1ieTogRXJpYyBCbGFrZSA8ZWJsYWtlQHJlZGhhdC5j b20+CitUZXN0ZWQtYnk6IFRob21hcyBIdXRoIDx0aHV0aEByZWRoYXQuY29tPgorU2lnbmVkLW9m Zi1ieTogRXJpYyBCbGFrZSA8ZWJsYWtlQHJlZGhhdC5jb20+CisoY2hlcnJ5IHBpY2tlZCBmcm9t IGNvbW1pdCA0YzkxNzE5YTZhNzhhMWMyNGQ4YmI4NTRmNzU5NGU3Njc5NjJkMGQ5KQorU2lnbmVk LW9mZi1ieTogTWljaGFlbCBUb2thcmV2IDxtanRAdGxzLm1zay5ydT4KK1NpZ25lZC1vZmYtYnk6 IEtldmluIFdvbGYgPGt3b2xmQHJlZGhhdC5jb20+CistLS0KKyB0ZXN0cy9xZW11LWlvdGVzdHMv MDI0ICAgICB8IDIgKy0KKyB0ZXN0cy9xZW11LWlvdGVzdHMvMDI0Lm91dCB8IDMgKy0tCisgMiBm aWxlcyBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1n aXQgYS90ZXN0cy9xZW11LWlvdGVzdHMvMDI0IGIvdGVzdHMvcWVtdS1pb3Rlc3RzLzAyNAoraW5k ZXggMDIxMTY5YjRhMS4uMTBiZTJiZDg0NSAxMDA3NTUKKy0tLSBhL3Rlc3RzL3FlbXUtaW90ZXN0 cy8wMjQKKysrKyBiL3Rlc3RzL3FlbXUtaW90ZXN0cy8wMjQKK0BAIC0zNTksNyArMzU5LDcgQEAg JFFFTVVfSU8gIiRPVkVSTEFZIiAtYyAicmVhZCAtUCAweDAwICAwIDFNIiB8IF9maWx0ZXJfcWVt dV9pbworICRRRU1VX0lPICIkT1ZFUkxBWSIgLWMgInJlYWQgLVAgMHhmZiAxTSAyTSIgfCBfZmls dGVyX3FlbXVfaW8KKyAkUUVNVV9JTyAiJE9WRVJMQVkiIC1jICJyZWFkIC1QIDB4MDAgM00gMU0i IHwgX2ZpbHRlcl9xZW11X2lvCisgCistJFFFTVVfSU1HIG1hcCAiJE9WRVJMQVkiIHwgX2ZpbHRl cl9xZW11X2ltZ19tYXAKKyskUUVNVV9JTyAtYyBtYXAgIiRPVkVSTEFZIiB8IF9maWx0ZXJfcWVt dV9pbworIAorIGVjaG8KKyAKK2RpZmYgLS1naXQgYS90ZXN0cy9xZW11LWlvdGVzdHMvMDI0Lm91 dCBiL3Rlc3RzL3FlbXUtaW90ZXN0cy8wMjQub3V0CitpbmRleCAxYjc1MjJiYTcxLi5kYThmZWRj MDhiIDEwMDY0NAorLS0tIGEvdGVzdHMvcWVtdS1pb3Rlc3RzLzAyNC5vdXQKKysrKyBiL3Rlc3Rz L3FlbXUtaW90ZXN0cy8wMjQub3V0CitAQCAtMjY2LDcgKzI2Niw2IEBAIHJlYWQgMjA5NzE1Mi8y MDk3MTUyIGJ5dGVzIGF0IG9mZnNldCAxMDQ4NTc2CisgMiBNaUIsIFggb3BzOyBYWDpYWDpYWC5Y IChYWFggWVlZL3NlYyBhbmQgWFhYIG9wcy9zZWMpCisgcmVhZCAxMDQ4NTc2LzEwNDg1NzYgYnl0 ZXMgYXQgb2Zmc2V0IDMxNDU3MjgKKyAxIE1pQiwgWCBvcHM7IFhYOlhYOlhYLlggKFhYWCBZWVkv c2VjIGFuZCBYWFggb3BzL3NlYykKKy1PZmZzZXQgICAgICAgICAgTGVuZ3RoICAgICAgICAgIEZp bGUKKy0wICAgICAgICAgICAgICAgMHg0MDAwMDAgICAgICAgIFRFU1RfRElSL3N1YmRpci90LklN R0ZNVAorKzQgTWlCICgweDQwMDAwMCkgYnl0ZXMgICAgIGFsbG9jYXRlZCBhdCBvZmZzZXQgMCBi eXRlcyAoMHgwKQorIAorICoqKiBkb25lCistLSAKKzIuNTIuMAorCgpkaWZmIC0tZ2l0IGEva3Zt LXRlc3RzLXFlbXUtaW90ZXN0cy1GaXgtY2hlY2stZm9yLWV4aXN0aW5nLWZpbGUtaW4tX3IucGF0 Y2ggYi9rdm0tdGVzdHMtcWVtdS1pb3Rlc3RzLUZpeC1jaGVjay1mb3ItZXhpc3RpbmctZmlsZS1p bi1fci5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xZDk2MWY2Ci0t LSAvZGV2L251bGwKKysrIGIva3ZtLXRlc3RzLXFlbXUtaW90ZXN0cy1GaXgtY2hlY2stZm9yLWV4 aXN0aW5nLWZpbGUtaW4tX3IucGF0Y2gKQEAgLTAsMCArMSw0OSBAQAorRnJvbSA1ODgyMjRmNjlm MjNkMjU1YzU3N2RkYzZmYWJjZGI0Mjg4YzQyMGIwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQor RnJvbTogVGhvbWFzIEh1dGggPHRodXRoQHJlZGhhdC5jb20+CitEYXRlOiBNb24sIDggRGVjIDIw MjUgMDg6NTM6MjAgKzAxMDAKK1N1YmplY3Q6IFtQQVRDSCAzMC81Ml0gdGVzdHMvcWVtdS1pb3Rl c3RzOiBGaXggY2hlY2sgZm9yIGV4aXN0aW5nIGZpbGUgaW4KKyBfcmVxdWlyZV9kaXNrX3VzYWdl KCkKK01JTUUtVmVyc2lvbjogMS4wCitDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9 VVRGLTgKK0NvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKKworUkgtQXV0aG9yOiBLZXZp biBXb2xmIDxrd29sZkByZWRoYXQuY29tPgorUkgtTWVyZ2VSZXF1ZXN0OiA1MDQ6IHZpcnQtc3Rv cmFnZTogQmFja3BvcnQgc3RhYmxlIGJyYW5jaCBmaXhlcworUkgtSmlyYTogUkhFTC0xODYzODQK K1JILUFja2VkLWJ5OiBTdGVmYW4gSGFqbm9jemkgPHN0ZWZhbmhhQHJlZGhhdC5jb20+CitSSC1B Y2tlZC1ieTogTWlyb3NsYXYgUmV6YW5pbmEgPG1yZXphbmluQHJlZGhhdC5jb20+CitSSC1Db21t aXQ6IFsyMy80NV0gZTc1N2I5ZTdiNWZiNzVjMjA5M2QxYTdhODUzMzIxODhkZDRkYWEzOCAoa213 b2xmL2NlbnRvcy1xZW11LWt2bSkKKworTG9va3MgbGlrZSB0aGUgIiQiIGhhcyBiZWVuIGZvcmdv dHRlbiBoZXJlIHRvIGdldCB0aGUgY29udGVudHMgb2YKK3RoZSBGSUxFTkFNRSB2YXJpYWJsZS4K KworRml4ZXM6IGM0OWRkYTcyNTRkICgiaW90ZXN0czogRmlsdGVyIG91dCBaRlMgaW4gc2V2ZXJh bCB0ZXN0cyIpCitTaWduZWQtb2ZmLWJ5OiBUaG9tYXMgSHV0aCA8dGh1dGhAcmVkaGF0LmNvbT4K K01lc3NhZ2UtSUQ6IDwyMDI1MTIwODA3NTMyMC4zNTY4Mi0xLXRodXRoQHJlZGhhdC5jb20+CitS ZXZpZXdlZC1ieTogTGF1cmVudCBWaXZpZXIgPGxhdXJlbnRAdml2aWVyLmV1PgorUmV2aWV3ZWQt Ynk6IFBoaWxpcHBlIE1hdGhpZXUtRGF1ZMOpIDxwaGlsbWRAbGluYXJvLm9yZz4KK1Jldmlld2Vk LWJ5OiBLZXZpbiBXb2xmIDxrd29sZkByZWRoYXQuY29tPgorU2lnbmVkLW9mZi1ieTogS2V2aW4g V29sZiA8a3dvbGZAcmVkaGF0LmNvbT4KKyhjaGVycnkgcGlja2VkIGZyb20gY29tbWl0IGFiMDA2 NWUzNmFkZjhiZWNkOWMxZmZjZWVjMzdlZTgwOWNlNjgzYWYpCitTaWduZWQtb2ZmLWJ5OiBNaWNo YWVsIFRva2FyZXYgPG1qdEB0bHMubXNrLnJ1PgorU2lnbmVkLW9mZi1ieTogS2V2aW4gV29sZiA8 a3dvbGZAcmVkaGF0LmNvbT4KKy0tLQorIHRlc3RzL3FlbXUtaW90ZXN0cy9jb21tb24ucmMgfCAy ICstCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCisKK2Rp ZmYgLS1naXQgYS90ZXN0cy9xZW11LWlvdGVzdHMvY29tbW9uLnJjIGIvdGVzdHMvcWVtdS1pb3Rl c3RzL2NvbW1vbi5yYworaW5kZXggZTk3N2NiNGViNi4uZDhmZTQ3NjgwNiAxMDA2NDQKKy0tLSBh L3Rlc3RzL3FlbXUtaW90ZXN0cy9jb21tb24ucmMKKysrKyBiL3Rlc3RzL3FlbXUtaW90ZXN0cy9j b21tb24ucmMKK0BAIC0xMDA4LDcgKzEwMDgsNyBAQCBfcmVxdWlyZV9kaXNrX3VzYWdlKCkKKyAg ICAgZWxzZQorICAgICAgICAgRklMRU5BTUU9IiRURVNUX0lNR19GSUxFIgorICAgICBmaQorLSAg ICBpZiBbIC1lICJGSUxFTkFNRSIgXTsgdGhlbgorKyAgICBpZiBbIC1lICIkRklMRU5BTUUiIF07 IHRoZW4KKyAgICAgICAgIGVjaG8gInVud2lsbGluZyB0byBvdmVyd3JpdGUgZXhpc3RpbmcgZmls ZSIKKyAgICAgICAgIGV4aXQgMQorICAgICBmaQorLS0gCisyLjUyLjAKKwoKZGlmZiAtLWdpdCBh L2t2bS10aHJvdHRsZS1ncm91cC1GaXgtcmFjZS1jb25kaXRpb24taW4tdGhyb3R0bGVfZ3JvdXBf LnBhdGNoIGIva3ZtLXRocm90dGxlLWdyb3VwLUZpeC1yYWNlLWNvbmRpdGlvbi1pbi10aHJvdHRs ZV9ncm91cF8ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODdhMzU5 ZQotLS0gL2Rldi9udWxsCisrKyBiL2t2bS10aHJvdHRsZS1ncm91cC1GaXgtcmFjZS1jb25kaXRp b24taW4tdGhyb3R0bGVfZ3JvdXBfLnBhdGNoCkBAIC0wLDAgKzEsMTc5IEBACitGcm9tIDgzNDBi NTI4MGVkZDY2NWMwYjFiYzZkMTFjMjgwOTkyNTJmOTJkOGEgTW9uIFNlcCAxNyAwMDowMDowMCAy MDAxCitGcm9tOiBBbGJlcnRvIEdhcmNpYSA8YmVydG9AaWdhbGlhLmNvbT4KK0RhdGU6IFRodSwg MTIgTWFyIDIwMjYgMTM6MTI6MDAgKzAxMDAKK1N1YmplY3Q6IFtQQVRDSCAyMS81Ml0gdGhyb3R0 bGUtZ3JvdXA6IEZpeCByYWNlIGNvbmRpdGlvbiBpbgorIHRocm90dGxlX2dyb3VwX3Jlc3RhcnRf cXVldWUoKQorCitSSC1BdXRob3I6IEtldmluIFdvbGYgPGt3b2xmQHJlZGhhdC5jb20+CitSSC1N ZXJnZVJlcXVlc3Q6IDUwNDogdmlydC1zdG9yYWdlOiBCYWNrcG9ydCBzdGFibGUgYnJhbmNoIGZp eGVzCitSSC1KaXJhOiBSSEVMLTE4NjM4NAorUkgtQWNrZWQtYnk6IFN0ZWZhbiBIYWpub2N6aSA8 c3RlZmFuaGFAcmVkaGF0LmNvbT4KK1JILUFja2VkLWJ5OiBNaXJvc2xhdiBSZXphbmluYSA8bXJl emFuaW5AcmVkaGF0LmNvbT4KK1JILUNvbW1pdDogWzE0LzQ1XSA2OTVmZjcyMDRhODE2MDI1Mjkx Yjc0NDA5YWJmZGZmNjk2MzA3NWY0IChrbXdvbGYvY2VudG9zLXFlbXUta3ZtKQorCitXaGVuIGEg dGltZXIgaXMgZmlyZWQgYSBwZW5kaW5nIEkvTyByZXF1ZXN0IGlzIHJlc3RhcnRlZCBhbmQKK3Rn LT5hbnlfdGltZXJfYXJtZWQgaXMgcmVzZXQgc28gb3RoZXIgcmVxdWVzdHMgY2FuIGJlIHNjaGVk dWxlZC4KKworSG93ZXZlciB3ZSdyZSByZXNldHRpbmcgYW55X3RpbWVyX2FybWVkIGZpcnN0IGlu IHRpbWVyX2NiKCkgYmVmb3JlCit0aGUgcmVxdWVzdCBpcyBhY3R1YWxseSByZXN0YXJ0ZWQsIGFu ZCB0aGVyZSdzIGEgd2luZG93IGJldHdlZW4gYm90aAorbW9tZW50cyBpbiB3aGljaCBhbm90aGVy IHRocmVhZCBjYW4gYXJtIHRoZSBzYW1lIHRpbWVyLCBoaXR0aW5nIGFuCithc3NlcnRpb24gaW4g dGhyb3R0bGVfZ3JvdXBfcmVzdGFydF9xdWV1ZSgpLgorCitUaGlzIGNhbiBiZSBzb2x2ZWQgYnkg ZGVmZXJyaW5nIHRoZSByZXNldCBvZiB0Zy0+YW55X3RpbWVyX2FybWVkIHRvCit0aGUgbW9tZW50 IHdoZW4gdGhlIHF1ZXVlIGlzIGFjdHVhbGx5IHJlc3RhcnRlZCwgd2hpY2ggaXMgcHJvdGVjdGVk IGJ5Cit0Zy0+bG9jaywgcHJldmVudGluZyBvdGhlciB0aHJlYWRzIGZyb20gYXJtaW5nIHRoZSB0 aW1lciBiZWZvcmUgdGhhdC4KKworSW4gYWRkaXRpb24gdG8gdGhhdCwgdGhyb3R0bGVfZ3JvdXBf cmVzdGFydF90Z20oKSBpcyBhbHNvIHVwZGF0ZWQgdG8KK2hvbGQgdGctPmxvY2sgd2hpbGUgdGhl IHRpbWVyIGlzIGJlaW5nIGluc3BlY3RlZC4gSGVyZSB3ZSBjb25zaWRlcgordGhyZWUgZGlmZmVy ZW50IHNjZW5hcmlvczoKKworLSBJZiB0aGUgdGdtIGhhcyBhIHRpbWVyIHNldCwgZmlyZSBpdCBp bW1lZGlhdGVseQorLSBJZiBhbm90aGVyIHRnbSBoYXMgYSB0aW1lciBzZXQsIHJlc3RhcnQgdGhl IHF1ZXVlIGFueXdheQorLSBJZiB0aGVyZSBpcyBubyB0aW1lciBzZXQgaW4gdGhpcyBncm91cCB0 aGVuIHNpbXVsYXRlIGEgdGltZXIgdGhhdAorICBmaXJlcyBpbW1lZGlhdGVseSwgYnkgc2V0dGlu ZyB0Zy0+YW55X3RpbWVyX2FybWVkIGluIG9yZGVyIHRvCisgIHByZXZlbnQgb3RoZXIgdGhyZWFk cyBmcm9tIGFybWluZyBhIHRpbWVyIGluIHRoZSBtZWFudGltZS4KKworUmVzb2x2ZXM6IGh0dHBz Oi8vZ2l0bGFiLmNvbS9xZW11LXByb2plY3QvcWVtdS8tL2lzc3Vlcy8zMTk0CitTaWduZWQtb2Zm LWJ5OiBBbGJlcnRvIEdhcmNpYSA8YmVydG9AaWdhbGlhLmNvbT4KK01lc3NhZ2UtSWQ6IDw4MjU1 OThlZjM0YWQzODRkOTM2ZGExOWQ2MzRlZGE3NTU5ODUwOGY3LjE3NzMzMTY4NDIuZ2l0LmJlcnRv QGlnYWxpYS5jb20+CitTaWduZWQtb2ZmLWJ5OiBIYW5uYSBDemVuY3playA8aHJlaXR6QHJlZGhh dC5jb20+CisoY2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCA5Yzg0MzBmNWQ2NTE0NGI4NWFkNzY0 MzMzNjkyODgxODJhMWM3YmFhKQorU2lnbmVkLW9mZi1ieTogTWljaGFlbCBUb2thcmV2IDxtanRA dGxzLm1zay5ydT4KK1NpZ25lZC1vZmYtYnk6IEtldmluIFdvbGYgPGt3b2xmQHJlZGhhdC5jb20+ CistLS0KKyBibG9jay90aHJvdHRsZS1ncm91cHMuYyB8IDc5ICsrKysrKysrKysrKysrKysrKysr KysrKysrKysrKystLS0tLS0tLS0tCisgMSBmaWxlIGNoYW5nZWQsIDYwIGluc2VydGlvbnMoKyks IDE5IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvYmxvY2svdGhyb3R0bGUtZ3JvdXBzLmMg Yi9ibG9jay90aHJvdHRsZS1ncm91cHMuYworaW5kZXggNTMyOWZmMWZkYi4uNGIxYjE5NDRjMiAx MDA2NDQKKy0tLSBhL2Jsb2NrL3Rocm90dGxlLWdyb3Vwcy5jCisrKysgYi9ibG9jay90aHJvdHRs ZS1ncm91cHMuYworQEAgLTM5MSw2ICszOTEsNyBAQCB2b2lkIGNvcm91dGluZV9mbiB0aHJvdHRs ZV9ncm91cF9jb19pb19saW1pdHNfaW50ZXJjZXB0KFRocm90dGxlR3JvdXBNZW1iZXIgKnRnbQor IHR5cGVkZWYgc3RydWN0IHsKKyAgICAgVGhyb3R0bGVHcm91cE1lbWJlciAqdGdtOworICAgICBU aHJvdHRsZURpcmVjdGlvbiBkaXJlY3Rpb247CisrICAgIGJvb2wgcmVzZXRfdGltZXJfYXJtZWQ7 CisgfSBSZXN0YXJ0RGF0YTsKKyAKKyBzdGF0aWMgdm9pZCBjb3JvdXRpbmVfZm4gdGhyb3R0bGVf Z3JvdXBfcmVzdGFydF9xdWV1ZV9lbnRyeSh2b2lkICpvcGFxdWUpCitAQCAtNDAzLDYgKzQwNCw5 IEBAIHN0YXRpYyB2b2lkIGNvcm91dGluZV9mbiB0aHJvdHRsZV9ncm91cF9yZXN0YXJ0X3F1ZXVl X2VudHJ5KHZvaWQgKm9wYXF1ZSkKKyAgICAgYm9vbCBlbXB0eV9xdWV1ZTsKKyAKKyAgICAgcWVt dV9tdXRleF9sb2NrKCZ0Zy0+bG9jayk7CisrICAgIGlmIChkYXRhLT5yZXNldF90aW1lcl9hcm1l ZCkgeworKyAgICAgICAgdGctPmFueV90aW1lcl9hcm1lZFtkaXJlY3Rpb25dID0gZmFsc2U7Cisr ICAgIH0KKyAgICAgZW1wdHlfcXVldWUgPSAhdGhyb3R0bGVfZ3JvdXBfY29fcmVzdGFydF9xdWV1 ZSh0Z20sIGRpcmVjdGlvbik7CisgCisgICAgIC8qIElmIHRoZSByZXF1ZXN0IHF1ZXVlIHdhcyBl bXB0eSB0aGVuIHdlIGhhdmUgdG8gdGFrZSBjYXJlIG9mCitAQCAtNDE5LDE4ICs0MjMsMjMgQEAg c3RhdGljIHZvaWQgY29yb3V0aW5lX2ZuIHRocm90dGxlX2dyb3VwX3Jlc3RhcnRfcXVldWVfZW50 cnkodm9pZCAqb3BhcXVlKQorIH0KKyAKKyBzdGF0aWMgdm9pZCB0aHJvdHRsZV9ncm91cF9yZXN0 YXJ0X3F1ZXVlKFRocm90dGxlR3JvdXBNZW1iZXIgKnRnbSwKKy0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgVGhyb3R0bGVEaXJlY3Rpb24gZGlyZWN0aW9uKQorKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhyb3R0bGVEaXJlY3Rpb24gZGly ZWN0aW9uLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9vbCBy ZXNldF90aW1lcl9hcm1lZCkKKyB7CisgICAgIENvcm91dGluZSAqY287CisgICAgIFJlc3RhcnRE YXRhICpyZCA9IGdfbmV3MChSZXN0YXJ0RGF0YSwgMSk7CisgCisgICAgIHJkLT50Z20gPSB0Z207 CisgICAgIHJkLT5kaXJlY3Rpb24gPSBkaXJlY3Rpb247CisrICAgIHJkLT5yZXNldF90aW1lcl9h cm1lZCA9IHJlc2V0X3RpbWVyX2FybWVkOworIAorLSAgICAvKiBUaGlzIGZ1bmN0aW9uIGlzIGNh bGxlZCB3aGVuIGEgdGltZXIgaXMgZmlyZWQgb3Igd2hlbgorLSAgICAgKiB0aHJvdHRsZV9ncm91 cF9yZXN0YXJ0X3RnbSgpIGlzIGNhbGxlZC4gRWl0aGVyIHdheSwgdGhlcmUgY2FuCisrICAgIC8q IElmIHJlc2V0X3RpbWVyX2FybWVkIGlzIHNldCB0aGVuIHRoaXMgbWVhbnMgdGhhdCB0aGlzIGZ1 bmN0aW9uCisrICAgICAqIHdhcyBjYWxsZWQgd2hlbiBhIHRpbWVyIHdhcyBmaXJlZCAoZWl0aGVy IGZyb20gdGltZXJfY2IoKSBvcgorKyAgICAgKiBmcm9tIHRocm90dGxlX2dyb3VwX3Jlc3RhcnRf dGdtKCkpLiBJbiB0aGlzIGNhc2UgdGhlcmUgY2FuCisgICAgICAqIGJlIG5vIHRpbWVyIHBlbmRp bmcgb24gdGhpcyB0Z20gYXQgdGhpcyBwb2ludCAqLworLSAgICBhc3NlcnQoIXRpbWVyX3BlbmRp bmcodGdtLT50aHJvdHRsZV90aW1lcnMudGltZXJzW2RpcmVjdGlvbl0pKTsKKysgICAgaWYgKHJl c2V0X3RpbWVyX2FybWVkKSB7CisrICAgICAgICBhc3NlcnQoIXRpbWVyX3BlbmRpbmcodGdtLT50 aHJvdHRsZV90aW1lcnMudGltZXJzW2RpcmVjdGlvbl0pKTsKKysgICAgfQorIAorICAgICBxYXRv bWljX2luYygmdGdtLT5yZXN0YXJ0X3BlbmRpbmcpOworIAorQEAgLTQ0NCwxNSArNDUzLDUwIEBA IHZvaWQgdGhyb3R0bGVfZ3JvdXBfcmVzdGFydF90Z20oVGhyb3R0bGVHcm91cE1lbWJlciAqdGdt KQorIAorICAgICBpZiAodGdtLT50aHJvdHRsZV9zdGF0ZSkgeworICAgICAgICAgZm9yIChkaXIg PSBUSFJPVFRMRV9SRUFEOyBkaXIgPCBUSFJPVFRMRV9NQVg7IGRpcisrKSB7CistICAgICAgICAg ICAgUUVNVVRpbWVyICp0ID0gdGdtLT50aHJvdHRsZV90aW1lcnMudGltZXJzW2Rpcl07CisrICAg ICAgICAgICAgUUVNVVRpbWVyICp0OworKyAgICAgICAgICAgIFRocm90dGxlU3RhdGUgKnRzID0g dGdtLT50aHJvdHRsZV9zdGF0ZTsKKysgICAgICAgICAgICBUaHJvdHRsZUdyb3VwICp0ZyA9IGNv bnRhaW5lcl9vZih0cywgVGhyb3R0bGVHcm91cCwgdHMpOworKyAgICAgICAgICAgIGJvb2wgcmVz ZXRfdGltZXJfYXJtZWQ7CisrCisrICAgICAgICAgICAgLyoKKysgICAgICAgICAgICAgKiBUaGlz IGZ1bmN0aW9uIHJlc3RhcnRzIHRoZSB0Z20ncyBxdWV1ZSBpbW1lZGlhdGVseS4KKysgICAgICAg ICAgICAgKiBUaGlzIGlzIHVzZWQgZm9yIGV4YW1wbGUgZm9yIGNhbGxlcnMgdG8gZHJhaW4gYWxs IHJlcXVlc3RzLgorKyAgICAgICAgICAgICAqIFRoZXJlIGFyZSB0aHJlZSBkaWZmZXJlbnQgc2Nl bmFyaW9zIGRlcGVuZGluZyBvbiB3aGV0aGVyCisrICAgICAgICAgICAgICogYSB0aW1lciBpcyBh cm1lZCBmb3IgdGhpcyB0ZyBhbmQgd2hpY2ggdGdtIG93bnMgdGhlIHRpbWVyLgorKyAgICAgICAg ICAgICAqLworKworKyAgICAgICAgICAgIHFlbXVfbXV0ZXhfbG9jaygmdGctPmxvY2spOworKwor KyAgICAgICAgICAgIHQgPSB0Z20tPnRocm90dGxlX3RpbWVycy50aW1lcnNbZGlyXTsKKyAgICAg ICAgICAgICBpZiAodGltZXJfcGVuZGluZyh0KSkgeworLSAgICAgICAgICAgICAgICAvKiBJZiB0 aGVyZSdzIGEgcGVuZGluZyB0aW1lciBvbiB0aGlzIHRnbSwgZmlyZSBpdCBub3cgKi8KKysgICAg ICAgICAgICAgICAgLyoKKysgICAgICAgICAgICAgICAgICogQ2FzZSAxOiB0aGlzIHRnbSBoYXMg YSBwZW5kaW5nIHRpbWVyLgorKyAgICAgICAgICAgICAgICAgKiBXZSBjYW4gZmlyZSB0aGUgdGlt ZXIgaW1tZWRpYXRlbHkuCisrICAgICAgICAgICAgICAgICAqLworICAgICAgICAgICAgICAgICB0 aW1lcl9kZWwodCk7CistICAgICAgICAgICAgICAgIHRpbWVyX2NiKHRnbSwgZGlyKTsKKysgICAg ICAgICAgICAgICAgcmVzZXRfdGltZXJfYXJtZWQgPSB0cnVlOworKyAgICAgICAgICAgIH0gZWxz ZSBpZiAodGctPmFueV90aW1lcl9hcm1lZFtkaXJdKSB7CisrICAgICAgICAgICAgICAgIC8qCisr ICAgICAgICAgICAgICAgICAqIENhc2UgMjogYW5vdGhlciB0Z20gaGFzIGEgcGVuZGluZyB0aW1l ci4KKysgICAgICAgICAgICAgICAgICogSW4gdGhpcyBjYXNlIHdlIGNhbiBzdGlsbCByZXN0YXJ0 IHRoZSBxdWV1ZSBidXQgd2UKKysgICAgICAgICAgICAgICAgICogaGF2ZSB0byBsZWF2ZSBhbnlf dGltZXJfYXJtZWQgdW50b3VjaGVkIHNvIHRoZQorKyAgICAgICAgICAgICAgICAgKiBvdGhlciB0 Z20ncyB0aW1lciBpcyBub3QgZGlzcnVwdGVkLgorKyAgICAgICAgICAgICAgICAgKi8KKysgICAg ICAgICAgICAgICAgcmVzZXRfdGltZXJfYXJtZWQgPSBmYWxzZTsKKyAgICAgICAgICAgICB9IGVs c2UgeworLSAgICAgICAgICAgICAgICAvKiBFbHNlIHJ1biB0aGUgbmV4dCByZXF1ZXN0IGZyb20g dGhlIHF1ZXVlIG1hbnVhbGx5ICovCistICAgICAgICAgICAgICAgIHRocm90dGxlX2dyb3VwX3Jl c3RhcnRfcXVldWUodGdtLCBkaXIpOworKyAgICAgICAgICAgICAgICAvKgorKyAgICAgICAgICAg ICAgICAgKiBDYXNlIDM6IHRoZXJlIGlzIG5vIHRpbWVyIHNldCBmb3IgdGhpcyBncm91cC4KKysg ICAgICAgICAgICAgICAgICogSGVyZSB3ZSBjYW4gc2ltdWxhdGUgYSB0aW1lciB0aGF0IGZpcmVz IGltbWVkaWF0ZWx5LAorKyAgICAgICAgICAgICAgICAgKiBzbyB0aGUgcXVldWUgaXMgcmVzdGFy dGVkIGJ1dCBubyBvdGhlciB0aHJlYWQKKysgICAgICAgICAgICAgICAgICogY2FuIGFybSBhIHRp bWVyIGluIHRoZSBtZWFudGltZS4KKysgICAgICAgICAgICAgICAgICovCisrICAgICAgICAgICAg ICAgIHRnLT5hbnlfdGltZXJfYXJtZWRbZGlyXSA9IHRydWU7CisrICAgICAgICAgICAgICAgIHJl c2V0X3RpbWVyX2FybWVkID0gdHJ1ZTsKKyAgICAgICAgICAgICB9CisrCisrICAgICAgICAgICAg cWVtdV9tdXRleF91bmxvY2soJnRnLT5sb2NrKTsKKysKKysgICAgICAgICAgICB0aHJvdHRsZV9n cm91cF9yZXN0YXJ0X3F1ZXVlKHRnbSwgZGlyLCByZXNldF90aW1lcl9hcm1lZCk7CisgICAgICAg ICB9CisgICAgIH0KKyB9CitAQCAtNDk5LDE2ICs1NDMsMTMgQEAgdm9pZCB0aHJvdHRsZV9ncm91 cF9nZXRfY29uZmlnKFRocm90dGxlR3JvdXBNZW1iZXIgKnRnbSwgVGhyb3R0bGVDb25maWcgKmNm ZykKKyAgKi8KKyBzdGF0aWMgdm9pZCB0aW1lcl9jYihUaHJvdHRsZUdyb3VwTWVtYmVyICp0Z20s IFRocm90dGxlRGlyZWN0aW9uIGRpcmVjdGlvbikKKyB7CistICAgIFRocm90dGxlU3RhdGUgKnRz ID0gdGdtLT50aHJvdHRsZV9zdGF0ZTsKKy0gICAgVGhyb3R0bGVHcm91cCAqdGcgPSBjb250YWlu ZXJfb2YodHMsIFRocm90dGxlR3JvdXAsIHRzKTsKKy0KKy0gICAgLyogVGhlIHRpbWVyIGhhcyBq dXN0IGJlZW4gZmlyZWQsIHNvIHdlIGNhbiB1cGRhdGUgdGhlIGZsYWcgKi8KKy0gICAgcWVtdV9t dXRleF9sb2NrKCZ0Zy0+bG9jayk7CistICAgIHRnLT5hbnlfdGltZXJfYXJtZWRbZGlyZWN0aW9u XSA9IGZhbHNlOworLSAgICBxZW11X211dGV4X3VubG9jaygmdGctPmxvY2spOworLQorLSAgICAv KiBSdW4gdGhlIHJlcXVlc3QgdGhhdCB3YXMgd2FpdGluZyBmb3IgdGhpcyB0aW1lciAqLworLSAg ICB0aHJvdHRsZV9ncm91cF9yZXN0YXJ0X3F1ZXVlKHRnbSwgZGlyZWN0aW9uKTsKKysgICAgLyoK KysgICAgICogUnVuIHRoZSByZXF1ZXN0IHRoYXQgd2FzIHdhaXRpbmcgZm9yIHRoaXMgdGltZXIu CisrICAgICAqIHRnLT5hbnlfdGltZXJfYXJtZWQgbmVlZHMgdG8gYmUgY2xlYXJlZCwgYnV0IHdl J2xsIGRvIGl0IGxhdGVyCisrICAgICAqIHdoZW4gdGhlIHF1ZXVlIGlzIHJlc3RhcnRlZCBpbiBv cmRlciB0byBwcmV2ZW50IGFub3RoZXIgdGhyZWFkCisrICAgICAqIGZyb20gYXJtaW5nIHRoZSB0 aW1lciBiZWZvcmUgdGhhdC4KKysgICAgICovCisrICAgIHRocm90dGxlX2dyb3VwX3Jlc3RhcnRf cXVldWUodGdtLCBkaXJlY3Rpb24sIHRydWUpOworIH0KKyAKKyBzdGF0aWMgdm9pZCByZWFkX3Rp bWVyX2NiKHZvaWQgKm9wYXF1ZSkKKy0tIAorMi41Mi4wCisKCmRpZmYgLS1naXQgYS9rdm0tdmly dGlvLUZpeC1jcmFzaC13aGVuLXNyaW92LXBmLWlzLXNldC1mb3Itbm9uLVBDSS1FeC5wYXRjaCBi L2t2bS12aXJ0aW8tRml4LWNyYXNoLXdoZW4tc3Jpb3YtcGYtaXMtc2V0LWZvci1ub24tUENJLUV4 LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBlYTEwYmUKLS0tIC9k ZXYvbnVsbAorKysgYi9rdm0tdmlydGlvLUZpeC1jcmFzaC13aGVuLXNyaW92LXBmLWlzLXNldC1m b3Itbm9uLVBDSS1FeC5wYXRjaApAQCAtMCwwICsxLDc5IEBACitGcm9tIGU5ZDBlN2RiMGU3ZTkw ZmI4YTcxZTM3MjVjZGNlYmE3YTgzYjY2NWUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9t OiBLZXZpbiBXb2xmIDxrd29sZkByZWRoYXQuY29tPgorRGF0ZTogVGh1LCA0IERlYyAyMDI1IDE4 OjI2OjU3ICswMTAwCitTdWJqZWN0OiBbUEFUQ0ggMzcvNTJdIHZpcnRpbzogRml4IGNyYXNoIHdo ZW4gc3Jpb3YtcGYgaXMgc2V0IGZvcgorIG5vbi1QQ0ktRXhwcmVzcyBkZXZpY2UKKworUkgtQXV0 aG9yOiBLZXZpbiBXb2xmIDxrd29sZkByZWRoYXQuY29tPgorUkgtTWVyZ2VSZXF1ZXN0OiA1MDQ6 IHZpcnQtc3RvcmFnZTogQmFja3BvcnQgc3RhYmxlIGJyYW5jaCBmaXhlcworUkgtSmlyYTogUkhF TC0xODYzODQKK1JILUFja2VkLWJ5OiBTdGVmYW4gSGFqbm9jemkgPHN0ZWZhbmhhQHJlZGhhdC5j b20+CitSSC1BY2tlZC1ieTogTWlyb3NsYXYgUmV6YW5pbmEgPG1yZXphbmluQHJlZGhhdC5jb20+ CitSSC1Db21taXQ6IFszMC80NV0gMzk4N2JkMmM1M2UwZjRjYjQ0ZDEwYWQ0NzI0YTQyY2NhY2M0 YTcwNSAoa213b2xmL2NlbnRvcy1xZW11LWt2bSkKKworU2V0dGluZyB0aGUgc3Jpb3YtcGYgcHJv cGVydHkgb24gZGV2aWNlcyB0aGF0IGFyZW4ndCBQQ0kgRXhwcmVzcyBjYXVzZXMKK2FuIGFzc2Vy dGlvbiBmYWlsdXJlOgorCisgICAgJCBxZW11LXN5c3RlbS14ODZfNjQgXAorICAgICAgICAtYmxv Y2tkZXYgbnVsbC1jbyxub2RlLW5hbWU9bnVsbCBcCisgICAgICAgIC1ibG9ja2RldiBudWxsLWNv LG5vZGUtbmFtZT1udWxsMiBcCisgICAgICAgIC1kZXZpY2UgdmlydGlvLWJsayxkcml2ZT1udWxs LGlkPXBmIFwKKyAgICAgICAgLWRldmljZSB2aXJ0aW8tYmxrLHNyaW92LXBmPXBmLGRyaXZlPW51 bGwyCisgICAgcWVtdS1zeXN0ZW0teDg2XzY0OiAuLi9ody9wY2kvcGNpZS5jOjEwNjI6IHZvaWQg cGNpZV9hZGRfY2FwYWJpbGl0eShQQ0lEZXZpY2UgKiwgdWludDE2X3QsIHVpbnQ4X3QsIHVpbnQx Nl90LCB1aW50MTZfdCk6IEFzc2VydGlvbiBgb2Zmc2V0ID49IFBDSV9DT05GSUdfU1BBQ0VfU0la RScgZmFpbGVkLgorCitUaGlzIGlzIGJlY2F1c2UgcHJveHktPmxhc3RfcGNpZV9jYXBfb2Zmc2V0 IGlzIG9ubHkgaW5pdGlhbGlzZWQgdG8gYQorbm9uLXplcm8gdmFsdWUgaW4gdmlydGlvX3BjaV9y ZWFsaXplKCkgaWYgaXQncyBhIFBDSSBFeHByZXNzIGRldmljZSwgYW5kCit0aGVuIHZpcnRpb19w Y2lfZGV2aWNlX3BsdWdnZWQoKSBzdGlsbCB0cmllcyB0byB1c2UgaXQuCisKK1RvIGZpeCB0aGlz LCBqdXN0IHNraXAgdGhlIFNSLUlPViBjb2RlIGZvciAhcGNpX2lzX2V4cHJlc3MoKS4gVGhlbiB0 aGUKK25leHQgdGhpbmcgcGNpX3FkZXZfcmVhbGl6ZSgpIGRvZXMgaXMgY2FsbCBwY2llX3NyaW92 X3JlZ2lzdGVyX2RldmljZSgpLAord2hpY2ggcmV0dXJucyB0aGUgYXBwcm9wcmlhdGUgZXJyb3Iu CisKK0NjOiBxZW11LXN0YWJsZUBub25nbnUub3JnCitGaXhlczogZDBjMjgwZDNmYWM2ICgncGNp ZV9zcmlvdjogTWFrZSBhIFBDSSBkZXZpY2Ugd2l0aCB1c2VyLWNyZWF0ZWQgVkYgQVJJLWNhcGFi bGUnKQorU2lnbmVkLW9mZi1ieTogS2V2aW4gV29sZiA8a3dvbGZAcmVkaGF0LmNvbT4KK1Jldmll d2VkLWJ5OiBTdGVmYW4gSGFqbm9jemkgPHN0ZWZhbmhhQHJlZGhhdC5jb20+CitSZXZpZXdlZC1i eTogTWljaGFlbCBTLiBUc2lya2luIDxtc3RAcmVkaGF0LmNvbT4KK1NpZ25lZC1vZmYtYnk6IE1p Y2hhZWwgUy4gVHNpcmtpbiA8bXN0QHJlZGhhdC5jb20+CitNZXNzYWdlLUlkOiA8MjAyNTEyMDQx NzI2NTcuMTc0MzkxLTEta3dvbGZAcmVkaGF0LmNvbT4KKyhjaGVycnkgcGlja2VkIGZyb20gY29t bWl0IDYyM2RiODU2NDc2ODA2MTI0ZTlhZTQ1ZmJjMzllNzUwMTIyNjE1NzApCitTaWduZWQtb2Zm LWJ5OiBNaWNoYWVsIFRva2FyZXYgPG1qdEB0bHMubXNrLnJ1PgorU2lnbmVkLW9mZi1ieTogS2V2 aW4gV29sZiA8a3dvbGZAcmVkaGF0LmNvbT4KKy0tLQorIGh3L3ZpcnRpby92aXJ0aW8tcGNpLmMg fCAyMCArKysrKysrKysrKy0tLS0tLS0tLQorIDEgZmlsZSBjaGFuZ2VkLCAxMSBpbnNlcnRpb25z KCspLCA5IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvaHcvdmlydGlvL3ZpcnRpby1wY2ku YyBiL2h3L3ZpcnRpby92aXJ0aW8tcGNpLmMKK2luZGV4IDkzN2UyMmYwOGEuLjA0NGVjYjRmNDEg MTAwNjQ0CistLS0gYS9ody92aXJ0aW8vdmlydGlvLXBjaS5jCisrKysgYi9ody92aXJ0aW8vdmly dGlvLXBjaS5jCitAQCAtMjE3MiwxNSArMjE3MiwxNyBAQCBzdGF0aWMgdm9pZCB2aXJ0aW9fcGNp X2RldmljZV9wbHVnZ2VkKERldmljZVN0YXRlICpkLCBFcnJvciAqKmVycnApCisgICAgICAgICAg ICAgICAgICAgICAgICAgIFBDSV9CQVNFX0FERFJFU1NfU1BBQ0VfSU8sICZwcm94eS0+YmFyKTsK KyAgICAgfQorIAorLSAgICBpZiAocGNpX2lzX3ZmKCZwcm94eS0+cGNpX2RldikpIHsKKy0gICAg ICAgIHBjaWVfYXJpX2luaXQoJnByb3h5LT5wY2lfZGV2LCBwcm94eS0+bGFzdF9wY2llX2NhcF9v ZmZzZXQpOworLSAgICAgICAgcHJveHktPmxhc3RfcGNpZV9jYXBfb2Zmc2V0ICs9IFBDSV9BUklf U0laRU9GOworLSAgICB9IGVsc2UgeworLSAgICAgICAgcmVzID0gcGNpZV9zcmlvdl9wZl9pbml0 X2Zyb21fdXNlcl9jcmVhdGVkX3ZmcygKKy0gICAgICAgICAgICAmcHJveHktPnBjaV9kZXYsIHBy b3h5LT5sYXN0X3BjaWVfY2FwX29mZnNldCwgZXJycCk7CistICAgICAgICBpZiAocmVzID4gMCkg eworLSAgICAgICAgICAgIHByb3h5LT5sYXN0X3BjaWVfY2FwX29mZnNldCArPSByZXM7CistICAg ICAgICAgICAgdmlydGlvX2FkZF9mZWF0dXJlKCZ2ZGV2LT5ob3N0X2ZlYXR1cmVzLCBWSVJUSU9f Rl9TUl9JT1YpOworKyAgICBpZiAocGNpX2lzX2V4cHJlc3MoJnByb3h5LT5wY2lfZGV2KSkgewor KyAgICAgICAgaWYgKHBjaV9pc192ZigmcHJveHktPnBjaV9kZXYpKSB7CisrICAgICAgICAgICAg cGNpZV9hcmlfaW5pdCgmcHJveHktPnBjaV9kZXYsIHByb3h5LT5sYXN0X3BjaWVfY2FwX29mZnNl dCk7CisrICAgICAgICAgICAgcHJveHktPmxhc3RfcGNpZV9jYXBfb2Zmc2V0ICs9IFBDSV9BUklf U0laRU9GOworKyAgICAgICAgfSBlbHNlIHsKKysgICAgICAgICAgICByZXMgPSBwY2llX3NyaW92 X3BmX2luaXRfZnJvbV91c2VyX2NyZWF0ZWRfdmZzKAorKyAgICAgICAgICAgICAgICAmcHJveHkt PnBjaV9kZXYsIHByb3h5LT5sYXN0X3BjaWVfY2FwX29mZnNldCwgZXJycCk7CisrICAgICAgICAg ICAgaWYgKHJlcyA+IDApIHsKKysgICAgICAgICAgICAgICAgcHJveHktPmxhc3RfcGNpZV9jYXBf b2Zmc2V0ICs9IHJlczsKKysgICAgICAgICAgICAgICAgdmlydGlvX2FkZF9mZWF0dXJlKCZ2ZGV2 LT5ob3N0X2ZlYXR1cmVzLCBWSVJUSU9fRl9TUl9JT1YpOworKyAgICAgICAgICAgIH0KKyAgICAg ICAgIH0KKyAgICAgfQorIH0KKy0tIAorMi41Mi4wCisKCmRpZmYgLS1naXQgYS9rdm0tdmlydGlv LWJsay1maXgtem9uZS1yZXBvcnQtYnVmZmVyLW91dC1vZi1tZW1vcnktQ1ZFLS5wYXRjaCBiL2t2 bS12aXJ0aW8tYmxrLWZpeC16b25lLXJlcG9ydC1idWZmZXItb3V0LW9mLW1lbW9yeS1DVkUtLnBh dGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQyOTE1ZmIKLS0tIC9kZXYv bnVsbAorKysgYi9rdm0tdmlydGlvLWJsay1maXgtem9uZS1yZXBvcnQtYnVmZmVyLW91dC1vZi1t ZW1vcnktQ1ZFLS5wYXRjaApAQCAtMCwwICsxLDMwMCBAQAorRnJvbSA0ODhiMzM5YmU4N2JlNTBi NDA4NTFlODVhYTQyYWE3NmFkYmUxNzgyIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTog U3RlZmFuIEhham5vY3ppIDxzdGVmYW5oYUByZWRoYXQuY29tPgorRGF0ZTogRnJpLCAxMCBBcHIg MjAyNiAwODoxMToyOCAtMDQwMAorU3ViamVjdDogW1BBVENIIDQwLzUyXSB2aXJ0aW8tYmxrOiBm aXggem9uZSByZXBvcnQgYnVmZmVyIG91dC1vZi1tZW1vcnkKKyAoQ1ZFLTIwMjYtNTc2MSkKKwor UkgtQXV0aG9yOiBLZXZpbiBXb2xmIDxrd29sZkByZWRoYXQuY29tPgorUkgtTWVyZ2VSZXF1ZXN0 OiA1MDQ6IHZpcnQtc3RvcmFnZTogQmFja3BvcnQgc3RhYmxlIGJyYW5jaCBmaXhlcworUkgtSmly YTogUkhFTC0xODYzODQKK1JILUFja2VkLWJ5OiBTdGVmYW4gSGFqbm9jemkgPHN0ZWZhbmhhQHJl ZGhhdC5jb20+CitSSC1BY2tlZC1ieTogTWlyb3NsYXYgUmV6YW5pbmEgPG1yZXphbmluQHJlZGhh dC5jb20+CitSSC1Db21taXQ6IFszMy80NV0gMjg1NTZjMzZkMTBkYTY1MjE5MmViMjA4NzRjZTRi MTI5YjBhMmI4NSAoa213b2xmL2NlbnRvcy1xZW11LWt2bSkKKworQW4gaW50ZXJuYWwgYnVmZmVy IGlzIHVzZWQgd2hlbiBwcm9jZXNzaW5nIFZJUlRJT19CTEtfVF9aT05FX1JFUE9SVAorcmVxdWVz dHMuIFRoZSBidWZmZXIncyBzaXplIGlzIGNvbnRyb2xsZWQgYnkgdGhlIGd1ZXN0LiBBIGxhcmdl IHZhbHVlCitjYW4gcmVzdWx0IGluIGdfbWFsbG9jKCkgZmFpbHVyZSBhbmQgdGhlIFFFTVUgcHJv Y2VzcyBhYm9ydHMsIHJlc3VsdGluZworaW4gYSBEZW5pYWwgb2YgU2VydmljZSAoRG9TKSAobW9z dCBsaWtlbHkgaW4gY2FzZXMgd2hlcmUgYW4gdW50cnVzdGVkCitndWVzdCBhcHBsaWNhdGlvbiBv ciBhIG5lc3RlZCBndWVzdCB3aXRoIHZpcnRpby1ibGsgcGFzc3Rocm91Z2ggaXMgYWJsZQordG8g YWJvcnQgUUVNVSkuCisKK01vZGlmeSB0aGUgem9uZSByZXBvcnQgaW1wbGVtZW50YXRpb24gdG8g d29yayBpbmNyZW1lbnRhbGx5IHdpdGggYQorYm91bmRlZCBidWZmZXIgc2l6ZS4KKworVGhpcyBp cyBwdXJlbHkgYSBRRU1VIGltcGxlbWVudGF0aW9uIGlzc3VlIGFuZCBubyBWSVJUSU8gc3BlYyBj aGFuZ2VzCithcmUgbmVlZGVkLgorCitNaW5neXVhbiBMdW8gZm91bmQgdGhpcyBidWcgYW5kIHBy b3ZpZGVkIGEgcmVwcm9kdWNlciB3aGljaCBJIGhhdmVuJ3QKK3B1dCBpbnRvIHRlc3RzL3F0ZXN0 LyBiZWNhdXNlIGl0IHJlcXVpcmVzIGEgem9uZWQgc3RvcmFnZSBkZXZpY2UgKGUuZy4KK3Jvb3Qg YW5kIG1vZHByb2JlIG51bGxfYmxrKToKKworMSkgUHJlcGFyZSBhIHpvbmVkIG51bGxibGsgYmFj a2VuZCAoL2Rldi9udWxsYjApOgorCitzdWRvIG1vZHByb2JlIC1yIG51bGxfYmxrIHx8IHRydWUK K3N1ZG8gbW9kcHJvYmUgbnVsbF9ibGsgbnJfZGV2aWNlcz0xIHpvbmVkPTEKK3N1ZG8gY2htb2Qg MDY2NiAvZGV2L251bGxiMAorY2F0IC9zeXMvYmxvY2svbnVsbGIwL3F1ZXVlL3pvbmVkCisKKzIp IENyZWF0ZSBxdGVzdCBpbnB1dDoKKworY2F0ID4vdG1wL3ZibGstem9uZS1yZXBvcnQtb29tLnF0 ZXN0IDw8J0VPRicKK291dGwgMHhjZjggMHg4MDAwMjAwNAorb3V0dyAweGNmYyAweDAwMDcKK291 dGwgMHhjZjggMHg4MDAwMjAxMAorb3V0bCAweGNmYyAweDAwMDBjMDAxCitvdXRiIDB4YzAxMiAw eDAwCitvdXRiIDB4YzAxMiAweDAxCitvdXRiIDB4YzAxMiAweDAzCitvdXRsIDB4YzAwNCAweDAw MDAwMDAwCitvdXR3IDB4YzAwZSAweDAwMDAKK291dGwgMHhjMDA4IDB4MDAwMDAxMDAKK291dGIg MHhjMDEyIDB4MDcKK3dyaXRlbCAweDAwMDIwMDAwIDB4MDAwMDAwMTAKK3dyaXRlbCAweDAwMDIw MDA0IDB4MDAwMDAwMDAKK3dyaXRlcSAweDAwMDIwMDA4IDB4MDAwMDAwMDAwMDAwMDAwMAord3Jp dGVxIDB4MDAxMDAwMDAgMHgwMDAwMDAwMDAwMDIwMDAwCit3cml0ZWwgMHgwMDEwMDAwOCAweDAw MDAwMDEwCit3cml0ZXcgMHgwMDEwMDAwYyAweDAwMDEKK3dyaXRldyAweDAwMTAwMDBlIDB4MDAw MQorRU9GCisKK2ZvciBpIGluICQoc2VxIDEgMTAyMik7IGRvCitkPSQoKDB4MDAxMDAwMDAgKyBp ICogMTYpKQorbj0kKChpICsgMSkpCitwcmludGYgJ3dyaXRlcSAweCUwOHggMHgwMDAwMDAwMDAw MjAwMDAwXG4nICIkZCIgPj4gL3RtcC92YmxrLXpvbmUtcmVwb3J0LW9vbS5xdGVzdAorcHJpbnRm ICd3cml0ZWwgMHglMDh4IDB4MWZlMDAwMDBcbicgJCgoZCArIDgpKSA+PiAvdG1wL3ZibGstem9u ZS1yZXBvcnQtb29tLnF0ZXN0CitwcmludGYgJ3dyaXRldyAweCUwOHggMHgwMDAzXG4nICQoKGQg KyAxMikpID4+IC90bXAvdmJsay16b25lLXJlcG9ydC1vb20ucXRlc3QKK3ByaW50ZiAnd3JpdGV3 IDB4JTA4eCAweCUwNHhcbicgJCgoZCArIDE0KSkgIiRuIiA+PiAvdG1wL3ZibGstem9uZS1yZXBv cnQtb29tLnF0ZXN0Citkb25lCisKK2Q9JCgoMHgwMDEwMDAwMCArIDEwMjMgKiAxNikpCitwcmlu dGYgJ3dyaXRlcSAweCUwOHggMHgwMDAwMDAwMDAwMjAwMDAwXG4nICIkZCIgPj4gL3RtcC92Ymxr LXpvbmUtcmVwb3J0LW9vbS5xdGVzdAorcHJpbnRmICd3cml0ZWwgMHglMDh4IDB4MWZlMDAwMDBc bicgJCgoZCArIDgpKSA+PiAvdG1wL3ZibGstem9uZS1yZXBvcnQtb29tLnF0ZXN0CitwcmludGYg J3dyaXRldyAweCUwOHggMHgwMDAyXG4nICQoKGQgKyAxMikpID4+IC90bXAvdmJsay16b25lLXJl cG9ydC1vb20ucXRlc3QKK3ByaW50ZiAnd3JpdGV3IDB4JTA4eCAweDAwMDBcbicgJCgoZCArIDE0 KSkgPj4gL3RtcC92YmxrLXpvbmUtcmVwb3J0LW9vbS5xdGVzdAorY2F0ID4+IC90bXAvdmJsay16 b25lLXJlcG9ydC1vb20ucXRlc3QgPDwnRU9GJword3JpdGV3IDB4MDAxMDQwMDAgMHgwMDAwCit3 cml0ZXcgMHgwMDEwNDAwMiAweDAwMDEKK3dyaXRldyAweDAwMTA0MDA0IDB4MDAwMAorb3V0dyAw eGMwMTAgMHgwMDAwCitFT0YKKworMykgUnVuIHRoZSBxdGVzdCBpbnB1dCB3aXRoIEFTQU4gYnVp bGQgKGNvbXBpbGUgcWVtdSB3aXRoIC0tZW5hYmxlLWFzYW4pOgorCitidWlsZC9xZW11LXN5c3Rl bS14ODZfNjQgLWRpc3BsYXkgbm9uZSBcCistYWNjZWwgcXRlc3QgLXF0ZXN0IHN0ZGlvIFwKKy1t YWNoaW5lIHBjIC1ub2RlZmF1bHRzIC1tIDUxMk0gLW1vbml0b3Igbm9uZSAtc2VyaWFsIG5vbmUg XAorLWJsb2NrZGV2IGRyaXZlcj1ob3N0X2RldmljZSxub2RlLW5hbWU9ZGlzazAsZmlsZW5hbWU9 L2Rldi9udWxsYjAgXAorLWRldmljZSB2aXJ0aW8tYmxrLXBjaS10cmFuc2l0aW9uYWwsZHJpdmU9 ZGlzazAsYWRkcj0wNC4wLHF1ZXVlLXNpemU9MTAyNCBcCis8IC90bXAvdmJsay16b25lLXJlcG9y dC1vb20ucXRlc3QKKworQ2M6IFNhbSBMaSA8ZmFpdGhpbGlrZXJ1bkBnbWFpbC5jb20+CitDYzog RGFtaWVuIExlIE1vYWwgPGRsZW1vYWxAa2VybmVsLm9yZz4KK0NjOiBEbWl0cnkgRm9taWNoZXYg PGRtaXRyeS5mb21pY2hldkB3ZGMuY29tPgorRml4ZXM6IENWRS0yMDI2LTU3NjEKK0ZpeGVzOiA0 ZjczNjY1MDZhOSAoInZpcnRpby1ibGs6IGFkZCB6b25lZCBzdG9yYWdlIGVtdWxhdGlvbiBmb3Ig em9uZWQgZGV2aWNlcyIpCitSZXBvcnRlZC1ieTogTWluZ3l1YW4gTHVvIDxteWx1bzI0QG0uZnVk YW4uZWR1LmNuPgorUmV2aWV3ZWQtYnk6IERhbWllbiBMZSBNb2FsIDxkbGVtb2FsQGtlcm5lbC5v cmc+CitTaWduZWQtb2ZmLWJ5OiBTdGVmYW4gSGFqbm9jemkgPHN0ZWZhbmhhQHJlZGhhdC5jb20+ CisoY2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCA0OTEzYWUzNmY5Nzk2YzU1ZDQzNGRjYmZhNmJk YjllYmIzZTVlNGIxKQorU2lnbmVkLW9mZi1ieTogTWljaGFlbCBUb2thcmV2IDxtanRAdGxzLm1z ay5ydT4KK1NpZ25lZC1vZmYtYnk6IEtldmluIFdvbGYgPGt3b2xmQHJlZGhhdC5jb20+CistLS0K KyBody9ibG9jay92aXJ0aW8tYmxrLmMgfCAxMDAgKysrKysrKysrKysrKysrKysrKysrKysrKysr Ky0tLS0tLS0tLS0tLS0tCisgMSBmaWxlIGNoYW5nZWQsIDY3IGluc2VydGlvbnMoKyksIDMzIGRl bGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvaHcvYmxvY2svdmlydGlvLWJsay5jIGIvaHcvYmxv Y2svdmlydGlvLWJsay5jCitpbmRleCBhMDY3ODMwMGI0Li4wMTliNDZmY2Y3IDEwMDY0NAorLS0t IGEvaHcvYmxvY2svdmlydGlvLWJsay5jCisrKysgYi9ody9ibG9jay92aXJ0aW8tYmxrLmMKK0BA IC0zOCw2ICszOCw5IEBACisgI2luY2x1ZGUgImh3L3ZpcnRpby92aXJ0aW8tYmxrLWNvbW1vbi5o IgorICNpbmNsdWRlICJxZW11L2Nvcm91dGluZS5oIgorIAorKy8qIEludGVybmFsIGJ1ZmZlciBz aXplIGxpbWl0IGZvciB6b25lIHJlcG9ydCAqLworKyNkZWZpbmUgVklSVElPX0JMS19NQVhfWk9O RVNfUEVSX0JBVENIIDQwOTYKKysKKyBzdGF0aWMgdm9pZCB2aXJ0aW9fYmxrX2lvZXZlbnRmZF9h dHRhY2goVmlydElPQmxvY2sgKnMpOworIAorIHN0YXRpYyB2b2lkIHZpcnRpb19ibGtfaW5pdF9y ZXF1ZXN0KFZpcnRJT0Jsb2NrICpzLCBWaXJ0UXVldWUgKnZxLAorQEAgLTQ1NywxNSArNDYwLDIy IEBAIGVycjoKKyAgICAgcmV0dXJuIGVycl9zdGF0dXM7CisgfQorIAorK3R5cGVkZWYgc3RydWN0 IHsKKysgICAgdW5zaWduZWQgaW50IHRvdGFsX25yX3pvbmVzOyAgICAvKiBtYXggem9uZXMgdG8g ZmlsbCBpbiB0aGlzIHJlcXVlc3QgKi8KKysgICAgdW5zaWduZWQgaW50IG5yX3pvbmVzX2RvbmU7 ICAgICAvKiBob3cgbWFueSB6b25lcyBoYXZlIGJlZW4gZmlsbGVkIGluICovCisrICAgIGludDY0 X3QgaW92X29mZnNldDsgICAgICAgICAgICAgLyogY3VycmVudCBieXRlIHBvc2l0aW9uIGluIGlu X2lvdltdICovCisrICAgIGludDY0X3Qgb2Zmc2V0OyAgICAgICAgICAgICAgICAgLyogY3VycmVu dCB6b25lIHJlcG9ydCBkaXNrIG9mZnNldCAqLworKyAgICB1bnNpZ25lZCBpbnQgbnJfem9uZXM7 ICAgICAgICAgIC8qIGZvciB6b25lIHJlcG9ydCBjYWxscyAqLworKyAgICB1bnNpZ25lZCBpbnQg em9uZXNfcGVyX2JhdGNoOyAgIC8qIHNpemUgb2Ygem9uZSByZXBvcnQgYnVmZmVyICovCisrICAg IEJsb2NrWm9uZURlc2NyaXB0b3IgKnpvbmVzOyAgICAgLyogem9uZSByZXBvcnQgYnVmZmVyICov CisrfSBab25lUmVwb3J0RGF0YTsKKysKKyB0eXBlZGVmIHN0cnVjdCBab25lQ21kRGF0YSB7Cisg ICAgIFZpcnRJT0Jsb2NrUmVxICpyZXE7CisgICAgIHN0cnVjdCBpb3ZlYyAqaW5faW92OworICAg ICB1bnNpZ25lZCBpbl9udW07CisgICAgIHVuaW9uIHsKKy0gICAgICAgIHN0cnVjdCB7CistICAg ICAgICAgICAgdW5zaWduZWQgaW50IG5yX3pvbmVzOworLSAgICAgICAgICAgIEJsb2NrWm9uZURl c2NyaXB0b3IgKnpvbmVzOworLSAgICAgICAgfSB6b25lX3JlcG9ydF9kYXRhOworKyAgICAgICAg Wm9uZVJlcG9ydERhdGEgem9uZV9yZXBvcnRfZGF0YTsKKyAgICAgICAgIHN0cnVjdCB7CisgICAg ICAgICAgICAgaW50NjRfdCBvZmZzZXQ7CisgICAgICAgICB9IHpvbmVfYXBwZW5kX2RhdGE7CitA QCAtNTIyLDE2ICs1MzIsMTUgQEAgc3RhdGljIGJvb2wgY2hlY2tfem9uZWRfcmVxdWVzdChWaXJ0 SU9CbG9jayAqcywgaW50NjRfdCBvZmZzZXQsIGludDY0X3QgbGVuLAorIHN0YXRpYyB2b2lkIHZp cnRpb19ibGtfem9uZV9yZXBvcnRfY29tcGxldGUodm9pZCAqb3BhcXVlLCBpbnQgcmV0KQorIHsK KyAgICAgWm9uZUNtZERhdGEgKmRhdGEgPSBvcGFxdWU7CisrICAgIFpvbmVSZXBvcnREYXRhICp6 cmQgPSAmZGF0YS0+em9uZV9yZXBvcnRfZGF0YTsKKyAgICAgVmlydElPQmxvY2tSZXEgKnJlcSA9 IGRhdGEtPnJlcTsKKyAgICAgVmlydElPRGV2aWNlICp2ZGV2ID0gVklSVElPX0RFVklDRShyZXEt PmRldik7CisgICAgIHN0cnVjdCBpb3ZlYyAqaW5faW92ID0gZGF0YS0+aW5faW92OworICAgICB1 bnNpZ25lZCBpbl9udW0gPSBkYXRhLT5pbl9udW07CistICAgIGludDY0X3QgenJwX3NpemUsIG4s IGogPSAwOworLSAgICBpbnQ2NF90IG56ID0gZGF0YS0+em9uZV9yZXBvcnRfZGF0YS5ucl96b25l czsKKysgICAgaW50NjRfdCBuOworKyAgICB1bnNpZ25lZCBueiA9IHpyZC0+bnJfem9uZXM7Cisg ICAgIGludDhfdCBlcnJfc3RhdHVzID0gVklSVElPX0JMS19TX09LOworLSAgICBzdHJ1Y3Qgdmly dGlvX2Jsa196b25lX3JlcG9ydCB6cnBfaGRyID0gKHN0cnVjdCB2aXJ0aW9fYmxrX3pvbmVfcmVw b3J0KSB7CistICAgICAgICAubnJfem9uZXMgPSBjcHVfdG9fbGU2NChueiksCistICAgIH07Cisr ICAgIHN0cnVjdCB2aXJ0aW9fYmxrX3pvbmVfcmVwb3J0IHpycF9oZHIgPSB7fTsKKyAKKyAgICAg dHJhY2VfdmlydGlvX2Jsa196b25lX3JlcG9ydF9jb21wbGV0ZSh2ZGV2LCByZXEsIG56LCByZXQp OworICAgICBpZiAocmV0KSB7CitAQCAtNTM5LDI4ICs1NDgsMTggQEAgc3RhdGljIHZvaWQgdmly dGlvX2Jsa196b25lX3JlcG9ydF9jb21wbGV0ZSh2b2lkICpvcGFxdWUsIGludCByZXQpCisgICAg ICAgICBnb3RvIG91dDsKKyAgICAgfQorIAorLSAgICB6cnBfc2l6ZSA9IHNpemVvZihzdHJ1Y3Qg dmlydGlvX2Jsa196b25lX3JlcG9ydCkKKy0gICAgICAgICAgICAgICArIHNpemVvZihzdHJ1Y3Qg dmlydGlvX2Jsa196b25lX2Rlc2NyaXB0b3IpICogbno7CistICAgIG4gPSBpb3ZfZnJvbV9idWYo aW5faW92LCBpbl9udW0sIDAsICZ6cnBfaGRyLCBzaXplb2YoenJwX2hkcikpOworLSAgICBpZiAo biAhPSBzaXplb2YoenJwX2hkcikpIHsKKy0gICAgICAgIHZpcnRpb19lcnJvcih2ZGV2LCAiRHJp dmVyIHByb3ZpZGVkIGlucHV0IGJ1ZmZlciB0aGF0IGlzIHRvbyBzbWFsbCEiKTsKKy0gICAgICAg IGVycl9zdGF0dXMgPSBWSVJUSU9fQkxLX1NfWk9ORV9JTlZBTElEX0NNRDsKKy0gICAgICAgIGdv dG8gb3V0OworLSAgICB9CistCistICAgIGZvciAoc2l6ZV90IGkgPSBzaXplb2YoenJwX2hkcik7 IGkgPCB6cnBfc2l6ZTsKKy0gICAgICAgIGkgKz0gc2l6ZW9mKHN0cnVjdCB2aXJ0aW9fYmxrX3pv bmVfZGVzY3JpcHRvciksICsraikgeworKyAgICBmb3IgKHVuc2lnbmVkIGogPSAwOyBqIDwgbno7 IGorKykgeworICAgICAgICAgc3RydWN0IHZpcnRpb19ibGtfem9uZV9kZXNjcmlwdG9yIGRlc2Mg PQorICAgICAgICAgICAgIChzdHJ1Y3QgdmlydGlvX2Jsa196b25lX2Rlc2NyaXB0b3IpIHsKKy0g ICAgICAgICAgICAgICAgLnpfc3RhcnQgPSBjcHVfdG9fbGU2NChkYXRhLT56b25lX3JlcG9ydF9k YXRhLnpvbmVzW2pdLnN0YXJ0CisrICAgICAgICAgICAgICAgIC56X3N0YXJ0ID0gY3B1X3RvX2xl NjQoenJkLT56b25lc1tqXS5zdGFydAorICAgICAgICAgICAgICAgICAgICAgPj4gQkRSVl9TRUNU T1JfQklUUyksCistICAgICAgICAgICAgICAgIC56X2NhcCA9IGNwdV90b19sZTY0KGRhdGEtPnpv bmVfcmVwb3J0X2RhdGEuem9uZXNbal0uY2FwCisrICAgICAgICAgICAgICAgIC56X2NhcCA9IGNw dV90b19sZTY0KHpyZC0+em9uZXNbal0uY2FwCisgICAgICAgICAgICAgICAgICAgICA+PiBCRFJW X1NFQ1RPUl9CSVRTKSwKKy0gICAgICAgICAgICAgICAgLnpfd3AgPSBjcHVfdG9fbGU2NChkYXRh LT56b25lX3JlcG9ydF9kYXRhLnpvbmVzW2pdLndwCisrICAgICAgICAgICAgICAgIC56X3dwID0g Y3B1X3RvX2xlNjQoenJkLT56b25lc1tqXS53cAorICAgICAgICAgICAgICAgICAgICAgPj4gQkRS Vl9TRUNUT1JfQklUUyksCisgICAgICAgICB9OworIAorLSAgICAgICAgc3dpdGNoIChkYXRhLT56 b25lX3JlcG9ydF9kYXRhLnpvbmVzW2pdLnR5cGUpIHsKKysgICAgICAgIHN3aXRjaCAoenJkLT56 b25lc1tqXS50eXBlKSB7CisgICAgICAgICBjYXNlIEJMS19aVF9DT05WOgorICAgICAgICAgICAg IGRlc2Muel90eXBlID0gVklSVElPX0JMS19aVF9DT05WOworICAgICAgICAgICAgIGJyZWFrOwor QEAgLTU3NCw3ICs1NzMsNyBAQCBzdGF0aWMgdm9pZCB2aXJ0aW9fYmxrX3pvbmVfcmVwb3J0X2Nv bXBsZXRlKHZvaWQgKm9wYXF1ZSwgaW50IHJldCkKKyAgICAgICAgICAgICBnX2Fzc2VydF9ub3Rf cmVhY2hlZCgpOworICAgICAgICAgfQorIAorLSAgICAgICAgc3dpdGNoIChkYXRhLT56b25lX3Jl cG9ydF9kYXRhLnpvbmVzW2pdLnN0YXRlKSB7CisrICAgICAgICBzd2l0Y2ggKHpyZC0+em9uZXNb al0uc3RhdGUpIHsKKyAgICAgICAgIGNhc2UgQkxLX1pTX1JET05MWToKKyAgICAgICAgICAgICBk ZXNjLnpfc3RhdGUgPSBWSVJUSU9fQkxLX1pTX1JET05MWTsKKyAgICAgICAgICAgICBicmVhazsK K0BAIC02MDQsMTggKzYwMyw0NyBAQCBzdGF0aWMgdm9pZCB2aXJ0aW9fYmxrX3pvbmVfcmVwb3J0 X2NvbXBsZXRlKHZvaWQgKm9wYXF1ZSwgaW50IHJldCkKKyAgICAgICAgIH0KKyAKKyAgICAgICAg IC8qIFRPRE86IGl0IHRha2VzIE8obl4yKSB0aW1lIGNvbXBsZXhpdHkuIE9wdGltaXphdGlvbnMg cmVxdWlyZWQuICovCistICAgICAgICBuID0gaW92X2Zyb21fYnVmKGluX2lvdiwgaW5fbnVtLCBp LCAmZGVzYywgc2l6ZW9mKGRlc2MpKTsKKysgICAgICAgIG4gPSBpb3ZfZnJvbV9idWYoaW5faW92 LCBpbl9udW0sIHpyZC0+aW92X29mZnNldCwgJmRlc2MsIHNpemVvZihkZXNjKSk7CisgICAgICAg ICBpZiAobiAhPSBzaXplb2YoZGVzYykpIHsKKyAgICAgICAgICAgICB2aXJ0aW9fZXJyb3IodmRl diwgIkRyaXZlciBwcm92aWRlZCBpbnB1dCBidWZmZXIgIgorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAiZm9yIGRlc2NyaXB0b3JzIHRoYXQgaXMgdG9vIHNtYWxsISIpOworICAgICAg ICAgICAgIGVycl9zdGF0dXMgPSBWSVJUSU9fQkxLX1NfWk9ORV9JTlZBTElEX0NNRDsKKysgICAg ICAgICAgICBnb3RvIG91dDsKKyAgICAgICAgIH0KKysKKysgICAgICAgIHpyZC0+aW92X29mZnNl dCArPSBzaXplb2YoZGVzYyk7CisrICAgIH0KKysKKysgICAgaWYgKG56ID4gMCkgeworKyAgICAg ICAgQmxvY2tab25lRGVzY3JpcHRvciAqem9uZSA9ICZ6cmQtPnpvbmVzW256IC0gMV07CisrICAg ICAgICB6cmQtPm9mZnNldCA9IHpvbmUtPnN0YXJ0ICsgem9uZS0+bGVuZ3RoOworKyAgICB9Cisr CisrICAgIHpyZC0+bnJfem9uZXNfZG9uZSArPSBuejsKKysKKysgICAgLyogQ2FsbCB6b25lIHJl cG9ydCBhZ2FpbiBpZiB0aGUgZW5kIGhhc24ndCBiZWVuIHJlYWNoZWQgeWV0ICovCisrICAgIGlm IChueiA9PSB6cmQtPnpvbmVzX3Blcl9iYXRjaCAmJgorKyAgICAgICAgenJkLT5ucl96b25lc19k b25lIDwgenJkLT50b3RhbF9ucl96b25lcykgeworKyAgICAgICAgenJkLT5ucl96b25lcyA9IE1J Tih6cmQtPnpvbmVzX3Blcl9iYXRjaCwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgenJk LT50b3RhbF9ucl96b25lcyAtIHpyZC0+bnJfem9uZXNfZG9uZSk7CisrICAgICAgICBibGtfYWlv X3pvbmVfcmVwb3J0KHJlcS0+ZGV2LT5ibGssIHpyZC0+b2Zmc2V0LCAmenJkLT5ucl96b25lcywK KysgICAgICAgICAgICAgICAgICAgICAgICAgICAgenJkLT56b25lcywgdmlydGlvX2Jsa196b25l X3JlcG9ydF9jb21wbGV0ZSwgZGF0YSk7CisrICAgICAgICByZXR1cm47CisrICAgIH0KKysKKysg ICAgLyogRmlsbCBpbiBoZWFkZXIgbm93IHRoYXQgYWxsIHpvbmVzIGhhdmUgYmVlbiByZXBvcnRl ZCAqLworKyAgICB6cnBfaGRyLm5yX3pvbmVzID0gY3B1X3RvX2xlNjQoenJkLT5ucl96b25lc19k b25lKTsKKysgICAgbiA9IGlvdl9mcm9tX2J1Zihpbl9pb3YsIGluX251bSwgMCwgJnpycF9oZHIs IHNpemVvZih6cnBfaGRyKSk7CisrICAgIGlmIChuICE9IHNpemVvZih6cnBfaGRyKSkgeworKyAg ICAgICAgdmlydGlvX2Vycm9yKHZkZXYsICJEcml2ZXIgcHJvdmlkZWQgaW5wdXQgYnVmZmVyIHRo YXQgaXMgdG9vIHNtYWxsISIpOworKyAgICAgICAgZXJyX3N0YXR1cyA9IFZJUlRJT19CTEtfU19a T05FX0lOVkFMSURfQ01EOworKyAgICAgICAgZ290byBvdXQ7CisgICAgIH0KKyAKKyBvdXQ6Cisg ICAgIHZpcnRpb19ibGtfcmVxX2NvbXBsZXRlKHJlcSwgZXJyX3N0YXR1cyk7CisgICAgIGdfZnJl ZShyZXEpOworLSAgICBnX2ZyZWUoZGF0YS0+em9uZV9yZXBvcnRfZGF0YS56b25lcyk7CisrICAg IGdfZnJlZSh6cmQtPnpvbmVzKTsKKyAgICAgZ19mcmVlKGRhdGEpOworIH0KKyAKK0BAIC02Mjcs NyArNjU1LDggQEAgc3RhdGljIHZvaWQgdmlydGlvX2Jsa19oYW5kbGVfem9uZV9yZXBvcnQoVmly dElPQmxvY2tSZXEgKnJlcSwKKyAgICAgVmlydElPRGV2aWNlICp2ZGV2ID0gVklSVElPX0RFVklD RShzKTsKKyAgICAgdW5zaWduZWQgaW50IG5yX3pvbmVzOworICAgICBab25lQ21kRGF0YSAqZGF0 YTsKKy0gICAgaW50NjRfdCB6b25lX3NpemUsIG9mZnNldDsKKysgICAgWm9uZVJlcG9ydERhdGEg KnpyZDsKKysgICAgaW50NjRfdCBvZmZzZXQ7CisgICAgIHVpbnQ4X3QgZXJyX3N0YXR1czsKKyAK KyAgICAgaWYgKHJlcS0+aW5fbGVuIDwgc2l6ZW9mKHN0cnVjdCB2aXJ0aW9fYmxrX2luaGRyKSAr CitAQCAtNjQ5LDE2ICs2NzgsMjEgQEAgc3RhdGljIHZvaWQgdmlydGlvX2Jsa19oYW5kbGVfem9u ZV9yZXBvcnQoVmlydElPQmxvY2tSZXEgKnJlcSwKKyAgICAgdHJhY2VfdmlydGlvX2Jsa19oYW5k bGVfem9uZV9yZXBvcnQodmRldiwgcmVxLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBvZmZzZXQgPj4gQkRSVl9TRUNUT1JfQklUUywgbnJfem9uZXMpOworIAorLSAg ICB6b25lX3NpemUgPSBzaXplb2YoQmxvY2tab25lRGVzY3JpcHRvcikgKiBucl96b25lczsKKyAg ICAgZGF0YSA9IGdfbWFsbG9jKHNpemVvZihab25lQ21kRGF0YSkpOworICAgICBkYXRhLT5yZXEg PSByZXE7CisgICAgIGRhdGEtPmluX2lvdiA9IGluX2lvdjsKKyAgICAgZGF0YS0+aW5fbnVtID0g aW5fbnVtOworLSAgICBkYXRhLT56b25lX3JlcG9ydF9kYXRhLm5yX3pvbmVzID0gbnJfem9uZXM7 CistICAgIGRhdGEtPnpvbmVfcmVwb3J0X2RhdGEuem9uZXMgPSBnX21hbGxvYyh6b25lX3NpemUp LAorIAorLSAgICBibGtfYWlvX3pvbmVfcmVwb3J0KHMtPmJsaywgb2Zmc2V0LCAmZGF0YS0+em9u ZV9yZXBvcnRfZGF0YS5ucl96b25lcywKKy0gICAgICAgICAgICAgICAgICAgICAgICBkYXRhLT56 b25lX3JlcG9ydF9kYXRhLnpvbmVzLAorKyAgICB6cmQgPSAmZGF0YS0+em9uZV9yZXBvcnRfZGF0 YTsKKysgICAgenJkLT50b3RhbF9ucl96b25lcyA9IG5yX3pvbmVzOworKyAgICB6cmQtPm5yX3pv bmVzX2RvbmUgPSAwOworKyAgICB6cmQtPmlvdl9vZmZzZXQgPSBzaXplb2Yoc3RydWN0IHZpcnRp b19ibGtfem9uZV9yZXBvcnQpOworKyAgICB6cmQtPm9mZnNldCA9IG9mZnNldDsKKysgICAgenJk LT56b25lc19wZXJfYmF0Y2ggPSBNSU4obnJfem9uZXMsIFZJUlRJT19CTEtfTUFYX1pPTkVTX1BF Ul9CQVRDSCk7CisrICAgIHpyZC0+em9uZXMgPSBnX21hbGxvYyh6cmQtPnpvbmVzX3Blcl9iYXRj aCAqIHNpemVvZihCbG9ja1pvbmVEZXNjcmlwdG9yKSk7CisrCisrICAgIHpyZC0+bnJfem9uZXMg PSB6cmQtPnpvbmVzX3Blcl9iYXRjaDsKKysgICAgYmxrX2Fpb196b25lX3JlcG9ydChzLT5ibGss IG9mZnNldCwgJnpyZC0+bnJfem9uZXMsIHpyZC0+em9uZXMsCisgICAgICAgICAgICAgICAgICAg ICAgICAgdmlydGlvX2Jsa196b25lX3JlcG9ydF9jb21wbGV0ZSwgZGF0YSk7CisgICAgIHJldHVy bjsKKyBvdXQ6CistLSAKKzIuNTIuMAorCgpkaWZmIC0tZ2l0IGEva3ZtLXZpcnRpby1zY3NpLXBh c3MtdGhlLXNhbWUtY2RiX3NpemUtdG8tdmlydGlvX3Njc2lfcG8ucGF0Y2ggYi9rdm0tdmlydGlv LXNjc2ktcGFzcy10aGUtc2FtZS1jZGJfc2l6ZS10by12aXJ0aW9fc2NzaV9wby5wYXRjaApuZXcg ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mYWQyOTA4Ci0tLSAvZGV2L251bGwKKysr IGIva3ZtLXZpcnRpby1zY3NpLXBhc3MtdGhlLXNhbWUtY2RiX3NpemUtdG8tdmlydGlvX3Njc2lf cG8ucGF0Y2gKQEAgLTAsMCArMSwxMzEgQEAKK0Zyb20gYzFhNTczYzkyMmEyYzk5MDYwZGZiNjM0 MTNjZDQ3ZGIyYzc4NGNhNiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IFBhb2xvIEJv bnppbmkgPHBib256aW5pQHJlZGhhdC5jb20+CitEYXRlOiBGcmksIDI3IE1hciAyMDI2IDIyOjAw OjA5ICswMTAwCitTdWJqZWN0OiBbUEFUQ0ggMzgvNTJdIHZpcnRpby1zY3NpOiBwYXNzIHRoZSBz YW1lIGNkYl9zaXplIHRvCisgdmlydGlvX3Njc2lfcG9wX3JlcSBhbmQgdmlydGlvX3Njc2lfaGFu ZGxlX2NtZF9yZXFfcHJlcGFyZQorCitSSC1BdXRob3I6IEtldmluIFdvbGYgPGt3b2xmQHJlZGhh dC5jb20+CitSSC1NZXJnZVJlcXVlc3Q6IDUwNDogdmlydC1zdG9yYWdlOiBCYWNrcG9ydCBzdGFi bGUgYnJhbmNoIGZpeGVzCitSSC1KaXJhOiBSSEVMLTE4NjM4NAorUkgtQWNrZWQtYnk6IFN0ZWZh biBIYWpub2N6aSA8c3RlZmFuaGFAcmVkaGF0LmNvbT4KK1JILUFja2VkLWJ5OiBNaXJvc2xhdiBS ZXphbmluYSA8bXJlemFuaW5AcmVkaGF0LmNvbT4KK1JILUNvbW1pdDogWzMxLzQ1XSA2ZmU4OWQw MDRjMWEzMmYyMjBiNzEwNGY1ZjdiMmQ5ZWUxMTZkNWYxIChrbXdvbGYvY2VudG9zLXFlbXUta3Zt KQorCitFbnN1cmUgdGhhdCB0aGVyZSBpcyBubyBhbGxvY2F0aW9uL3VzYWdlIG1pc21hdGNoIHdo ZW4gcmVxdWVzdHMKK2FyZSBwcm9jZXNzZWQgaW4gdmlydGlvX3Njc2lfaGFuZGxlX2NtZF92cS4g IFRvIGRvIHRoaXMsCityZXRyaWV2ZSB0aGUgdmFsdWUgb25jZSBhbmQgcGFzcyBpdCB0byBib3Ro IGZ1bmN0aW9ucy4KKworRm9yIG90aGVyIGNhbGxzIHRvIHZpcnRpb19zY3NpX3BvcF9yZXEgdGhl IGV4dHJhIHNpemUKK2NhbiBiZSAwLCBiZWNhdXNlIGNvbnRyb2wgYW5kIGV2ZW50IHJlcXVlc3Rz IGZpdAorZW50aXJlbHkgaW4gVmlydElPU0NTSVJlcS4KKworUmVwb3J0ZWQtYnk6IEppaGUgV2Fu ZyA8d2FuZ2ppaGUubWFpbEBnbWFpbC5jb20+CitUZXN0ZWQtYnk6IEppaGUgV2FuZyA8d2FuZ2pp aGUubWFpbEBnbWFpbC5jb20+CitSZXZpZXdlZC1ieTogU3RlZmFuIEhham5vY3ppIDxzdGVmYW5o YUByZWRoYXQuY29tPgorRml4ZXM6IENWRS0yMDI2LTU3NjMKK1NpZ25lZC1vZmYtYnk6IFBhb2xv IEJvbnppbmkgPHBib256aW5pQHJlZGhhdC5jb20+CisoY2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1p dCA3OTk3MTMwMjkzNTQ3MjIzMmE2ODA3M2ZhZGRiMDg1MTc3ZTNjYTU0KQorU2lnbmVkLW9mZi1i eTogTWljaGFlbCBUb2thcmV2IDxtanRAdGxzLm1zay5ydT4KK1NpZ25lZC1vZmYtYnk6IEtldmlu IFdvbGYgPGt3b2xmQHJlZGhhdC5jb20+CistLS0KKyBody9zY3NpL3ZpcnRpby1zY3NpLmMgfCAy NiArKysrKysrKysrKysrKystLS0tLS0tLS0tLQorIDEgZmlsZSBjaGFuZ2VkLCAxNSBpbnNlcnRp b25zKCspLCAxMSBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2h3L3Njc2kvdmlydGlvLXNj c2kuYyBiL2h3L3Njc2kvdmlydGlvLXNjc2kuYworaW5kZXggMzRhZTE0ZjdiZi4uMGNlNDcxODQw NyAxMDA2NDQKKy0tLSBhL2h3L3Njc2kvdmlydGlvLXNjc2kuYworKysrIGIvaHcvc2NzaS92aXJ0 aW8tc2NzaS5jCitAQCAtMjMxLDE2ICsyMzEsMTYgQEAgc3RhdGljIGludCB2aXJ0aW9fc2NzaV9w YXJzZV9yZXEoVmlydElPU0NTSVJlcSAqcmVxLAorICAgICByZXR1cm4gMDsKKyB9CisgCistc3Rh dGljIFZpcnRJT1NDU0lSZXEgKnZpcnRpb19zY3NpX3BvcF9yZXEoVmlydElPU0NTSSAqcywgVmly dFF1ZXVlICp2cSwgUWVtdU11dGV4ICp2cV9sb2NrKQorK3N0YXRpYyBWaXJ0SU9TQ1NJUmVxICp2 aXJ0aW9fc2NzaV9wb3BfcmVxKFZpcnRJT1NDU0kgKnMsIFZpcnRRdWV1ZSAqdnEsIHNpemVfdCBl eHRyYV9yZXFfc2l6ZSwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBRZW11TXV0ZXggKnZxX2xvY2spCisgeworLSAgICBWaXJ0SU9TQ1NJQ29tbW9uICp2cyA9IChW aXJ0SU9TQ1NJQ29tbW9uICopczsKKyAgICAgVmlydElPU0NTSVJlcSAqcmVxOworIAorICAgICBp ZiAodnFfbG9jaykgeworICAgICAgICAgcWVtdV9tdXRleF9sb2NrKHZxX2xvY2spOworICAgICB9 CisgCistICAgIHJlcSA9IHZpcnRxdWV1ZV9wb3AodnEsIHNpemVvZihWaXJ0SU9TQ1NJUmVxKSAr IHZzLT5jZGJfc2l6ZSk7CisrICAgIHJlcSA9IHZpcnRxdWV1ZV9wb3AodnEsIHNpemVvZihWaXJ0 SU9TQ1NJUmVxKSArIGV4dHJhX3JlcV9zaXplKTsKKyAKKyAgICAgaWYgKHZxX2xvY2spIHsKKyAg ICAgICAgIHFlbXVfbXV0ZXhfdW5sb2NrKHZxX2xvY2spOworQEAgLTY3NCw3ICs2NzQsNyBAQCBz dGF0aWMgdm9pZCB2aXJ0aW9fc2NzaV9oYW5kbGVfY3RybF92cShWaXJ0SU9TQ1NJICpzLCBWaXJ0 UXVldWUgKnZxKQorIHsKKyAgICAgVmlydElPU0NTSVJlcSAqcmVxOworIAorLSAgICB3aGlsZSAo KHJlcSA9IHZpcnRpb19zY3NpX3BvcF9yZXEocywgdnEsICZzLT5jdHJsX2xvY2spKSkgeworKyAg ICB3aGlsZSAoKHJlcSA9IHZpcnRpb19zY3NpX3BvcF9yZXEocywgdnEsIDAsICZzLT5jdHJsX2xv Y2spKSkgeworICAgICAgICAgdmlydGlvX3Njc2lfaGFuZGxlX2N0cmxfcmVxKHMsIHJlcSk7Cisg ICAgIH0KKyB9CitAQCAtODQyLDEzICs4NDIsMTQgQEAgc3RhdGljIHZvaWQgdmlydGlvX3Njc2lf ZmFpbF9jbWRfcmVxKFZpcnRJT1NDU0lSZXEgKnJlcSkKKyAgICAgdmlydGlvX3Njc2lfY29tcGxl dGVfY21kX3JlcShyZXEpOworIH0KKyAKKy1zdGF0aWMgaW50IHZpcnRpb19zY3NpX2hhbmRsZV9j bWRfcmVxX3ByZXBhcmUoVmlydElPU0NTSSAqcywgVmlydElPU0NTSVJlcSAqcmVxKQorK3N0YXRp YyBpbnQgdmlydGlvX3Njc2lfaGFuZGxlX2NtZF9yZXFfcHJlcGFyZShWaXJ0SU9TQ1NJICpzLCBW aXJ0SU9TQ1NJUmVxICpyZXEsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHNpemVfdCBjZGJfc2l6ZSkKKyB7CisgICAgIFZpcnRJT1NDU0lDb21tb24gKnZz ID0gVklSVElPX1NDU0lfQ09NTU9OKHMpOworICAgICBTQ1NJRGV2aWNlICpkOworICAgICBpbnQg cmM7CisgCistICAgIHJjID0gdmlydGlvX3Njc2lfcGFyc2VfcmVxKHJlcSwgc2l6ZW9mKFZpcnRJ T1NDU0lDbWRSZXEpICsgdnMtPmNkYl9zaXplLAorKyAgICByYyA9IHZpcnRpb19zY3NpX3BhcnNl X3JlcShyZXEsIHNpemVvZihWaXJ0SU9TQ1NJQ21kUmVxKSArIGNkYl9zaXplLAorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBzaXplb2YoVmlydElPU0NTSUNtZFJlc3ApICsgdnMtPnNl bnNlX3NpemUpOworICAgICBpZiAocmMgPCAwKSB7CisgICAgICAgICBpZiAocmMgPT0gLUVOT1RT VVApIHsKK0BAIC04NzAsNyArODcxLDcgQEAgc3RhdGljIGludCB2aXJ0aW9fc2NzaV9oYW5kbGVf Y21kX3JlcV9wcmVwYXJlKFZpcnRJT1NDU0kgKnMsIFZpcnRJT1NDU0lSZXEgKnJlcSkKKyAgICAg fQorICAgICByZXEtPnNyZXEgPSBzY3NpX3JlcV9uZXcoZCwgcmVxLT5yZXEuY21kLnRhZywKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpcnRpb19zY3NpX2dldF9sdW4ocmVxLT5yZXEu Y21kLmx1biksCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXEtPnJlcS5jbWQuY2Ri LCB2cy0+Y2RiX3NpemUsIHJlcSk7CisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXEt PnJlcS5jbWQuY2RiLCBjZGJfc2l6ZSwgcmVxKTsKKyAKKyAgICAgaWYgKHJlcS0+c3JlcS0+Y21k Lm1vZGUgIT0gU0NTSV9YRkVSX05PTkUKKyAgICAgICAgICYmIChyZXEtPnNyZXEtPmNtZC5tb2Rl ICE9IHJlcS0+bW9kZSB8fAorQEAgLTkwNSwxMiArOTA2LDE1IEBAIHN0YXRpYyB2b2lkIHZpcnRp b19zY3NpX2hhbmRsZV9jbWRfdnEoVmlydElPU0NTSSAqcywgVmlydFF1ZXVlICp2cSkKKyAgICAg UVRBSUxRX0hFQUQoLCBWaXJ0SU9TQ1NJUmVxKSByZXFzID0gUVRBSUxRX0hFQURfSU5JVElBTEla RVIocmVxcyk7CisgCisgICAgIGRvIHsKKysgICAgICAgIFZpcnRJT1NDU0lDb21tb24gKnZzID0g KFZpcnRJT1NDU0lDb21tb24gKilzOworKyAgICAgICAgc2l6ZV90IGNkYl9zaXplID0gcWF0b21p Y19yZWFkKCZ2cy0+Y2RiX3NpemUpOworKworICAgICAgICAgaWYgKHN1cHByZXNzX25vdGlmaWNh dGlvbnMpIHsKKyAgICAgICAgICAgICB2aXJ0aW9fcXVldWVfc2V0X25vdGlmaWNhdGlvbih2cSwg MCk7CisgICAgICAgICB9CisgCistICAgICAgICB3aGlsZSAoKHJlcSA9IHZpcnRpb19zY3NpX3Bv cF9yZXEocywgdnEsIE5VTEwpKSkgeworLSAgICAgICAgICAgIHJldCA9IHZpcnRpb19zY3NpX2hh bmRsZV9jbWRfcmVxX3ByZXBhcmUocywgcmVxKTsKKysgICAgICAgIHdoaWxlICgocmVxID0gdmly dGlvX3Njc2lfcG9wX3JlcShzLCB2cSwgY2RiX3NpemUsIE5VTEwpKSkgeworKyAgICAgICAgICAg IHJldCA9IHZpcnRpb19zY3NpX2hhbmRsZV9jbWRfcmVxX3ByZXBhcmUocywgcmVxLCBjZGJfc2l6 ZSk7CisgICAgICAgICAgICAgaWYgKCFyZXQpIHsKKyAgICAgICAgICAgICAgICAgUVRBSUxRX0lO U0VSVF9UQUlMKCZyZXFzLCByZXEsIG5leHQpOworICAgICAgICAgICAgIH0gZWxzZSBpZiAocmV0 ID09IC1FSU5WQUwpIHsKK0BAIC05ODEsNyArOTg1LDcgQEAgc3RhdGljIHZvaWQgdmlydGlvX3Nj c2lfc2V0X2NvbmZpZyhWaXJ0SU9EZXZpY2UgKnZkZXYsCisgICAgIH0KKyAKKyAgICAgdnMtPnNl bnNlX3NpemUgPSB2aXJ0aW9fbGRsX3AodmRldiwgJnNjc2ljb25mLT5zZW5zZV9zaXplKTsKKy0g ICAgdnMtPmNkYl9zaXplID0gdmlydGlvX2xkbF9wKHZkZXYsICZzY3NpY29uZi0+Y2RiX3NpemUp OworKyAgICBxYXRvbWljX3NldCgmdnMtPmNkYl9zaXplLCB2aXJ0aW9fbGRsX3AodmRldiwgJnNj c2ljb25mLT5jZGJfc2l6ZSkpOworIH0KKyAKKyBzdGF0aWMgdWludDY0X3QgdmlydGlvX3Njc2lf Z2V0X2ZlYXR1cmVzKFZpcnRJT0RldmljZSAqdmRldiwKK0BAIC0xMDQyLDcgKzEwNDYsNyBAQCBz dGF0aWMgdm9pZCB2aXJ0aW9fc2NzaV9wdXNoX2V2ZW50KFZpcnRJT1NDU0kgKnMsCisgICAgICAg ICByZXR1cm47CisgICAgIH0KKyAKKy0gICAgcmVxID0gdmlydGlvX3Njc2lfcG9wX3JlcShzLCB2 cy0+ZXZlbnRfdnEsICZzLT5ldmVudF9sb2NrKTsKKysgICAgcmVxID0gdmlydGlvX3Njc2lfcG9w X3JlcShzLCB2cy0+ZXZlbnRfdnEsIDAsICZzLT5ldmVudF9sb2NrKTsKKyAgICAgV0lUSF9RRU1V X0xPQ0tfR1VBUkQoJnMtPmV2ZW50X2xvY2spIHsKKyAgICAgICAgIGlmICghcmVxKSB7CisgICAg ICAgICAgICAgcy0+ZXZlbnRzX2Ryb3BwZWQgPSB0cnVlOworLS0gCisyLjUyLjAKKwoKZGlmZiAt LWdpdCBhL3FlbXUuc3BlYyBiL3FlbXUuc3BlYwppbmRleCBiYjRmYmJmLi5kNWM1OGE0IDEwMDY0 NAotLS0gYS9xZW11LnNwZWMKKysrIGIvcWVtdS5zcGVjCkBAIC0xNDMsNyArMTQzLDcgQEAgT2Jz b2xldGVzOiAle25hbWV9LWJsb2NrLXNzaCA8PSAle2Vwb2NofTole3ZlcnNpb259ICAgICAgICAg ICAgICAgICAgICBcCiBTdW1tYXJ5OiBRRU1VIGlzIGEgbWFjaGluZSBlbXVsYXRvciBhbmQgdmly dHVhbGl6ZXIKIE5hbWU6IHFlbXUta3ZtCiBWZXJzaW9uOiAxMC4xLjAKLVJlbGVhc2U6IDIxJXs/ cmNyZWx9JXs/ZGlzdH0lez9jY19zdWZmaXh9CitSZWxlYXNlOiAyMiV7P3JjcmVsfSV7P2Rpc3R9 JXs/Y2Nfc3VmZml4fQogIyBFcG9jaCBiZWNhdXNlIHdlIHB1c2hlZCBhIHFlbXUtMS4wIHBhY2th Z2UuIEFJVUkgdGhpcyBjYW4ndCBldmVyIGJlIGRyb3BwZWQKICMgRXBvY2ggMTUgdXNlZCBmb3Ig UkhFTCA4CiAjIEVwb2NoIDE3IHVzZWQgZm9yIFJIRUwgOSAoZHVlIHRvIHJlbGVhc2UgdmVyc2lv bmluZyBvZmZzZXQgaW4gUkhFTCA4LjUpCkBAIC03MDUsNiArNzA1LDExMCBAQCBQYXRjaDI3Mjog a3ZtLXZmaW8tQWRkLUVycm9yLXBhcmFtZXRlci10by12ZmlvX3JlZ2lvbl9zZXR1cC5wYXRjaAog UGF0Y2gyNzM6IGt2bS1ody12ZmlvLWFsaWduLW1tYXAtdG8tcG93ZXItb2YtMi1vZi1yZWdpb24t c2l6ZS1mb3ItLnBhdGNoCiAjIEZvciBSSEVMLTE4NDUzMCAtIENWRS0yMDI2LTQ4OTE0IHFlbXUt a3ZtOiBIZWFwIGJ1ZmZlciBvdmVyZmxvdyBpbiB2aXJ0aW8tYmxrIFNDU0kgcmVxdWVzdCBoYW5k bGluZyBbcmhlbC0xMC4zXQogUGF0Y2gyNzQ6IGt2bS12aXJ0aW8tYmxrLWFkZC1taXNzaW5nLVZJ UlRJT19CTEtfVF9TQ1NJX0NNRC1zaXplLWNoLnBhdGNoCisjIEZvciBSSEVMLTEyMTY4NiAtIHFl bXUta3ZtIGh1bmcgZHVyaW5nIGRyYWluIGFmdGVyIGRvdWJsZSBwYXVzZQorUGF0Y2gyNzU6IGt2 bS1ibGtkZWJ1Zy1BZGQtZGVsYXktbnMtb3B0aW9uLnBhdGNoCisjIEZvciBSSEVMLTEyMTY4NiAt IHFlbXUta3ZtIGh1bmcgZHVyaW5nIGRyYWluIGFmdGVyIGRvdWJsZSBwYXVzZQorUGF0Y2gyNzY6 IGt2bS1ibG9jay1BZGQtYmxrX2NvX3N0YXJ0LWVuZF9yZXF1ZXN0LWFuZC1CRFJWX1JFUV9OT19R LnBhdGNoCisjIEZvciBSSEVMLTEyMTY4NiAtIHFlbXUta3ZtIGh1bmcgZHVyaW5nIGRyYWluIGFm dGVyIGRvdWJsZSBwYXVzZQorUGF0Y2gyNzc6IGt2bS1ibG9jay1BZGQtZmxhZ3MtcGFyYW1ldGVy LXRvLWJsa18tX3BkaXNjYXJkLnBhdGNoCisjIEZvciBSSEVMLTEyMTY4NiAtIHFlbXUta3ZtIGh1 bmcgZHVyaW5nIGRyYWluIGFmdGVyIGRvdWJsZSBwYXVzZQorUGF0Y2gyNzg6IGt2bS1pZGUtTWlu aW1hbC1maXgtZm9yLWRlYWRsb2NrLWJldHdlZW4tVFJJTS1hbmQtZHJhaW4ucGF0Y2gKKyMgRm9y IFJIRUwtMTIxNjg2IC0gcWVtdS1rdm0gaHVuZyBkdXJpbmcgZHJhaW4gYWZ0ZXIgZG91YmxlIHBh dXNlCitQYXRjaDI3OToga3ZtLWlkZS1DbGVhbi11cC1pZGVfdHJpbV9jb19lbnRyeS10by1iZS1p ZGlvbWF0aWMtY29yb3UucGF0Y2gKKyMgRm9yIFJIRUwtMTIxNjg2IC0gcWVtdS1rdm0gaHVuZyBk dXJpbmcgZHJhaW4gYWZ0ZXIgZG91YmxlIHBhdXNlCitQYXRjaDI4MDoga3ZtLWlkZS10ZXN0LUZh Y3Rvci1vdXQtd2FpdF9kbWFfY29tcGxldGlvbi5wYXRjaAorIyBGb3IgUkhFTC0xMjE2ODYgLSBx ZW11LWt2bSBodW5nIGR1cmluZyBkcmFpbiBhZnRlciBkb3VibGUgcGF1c2UKK1BhdGNoMjgxOiBr dm0taWRlLXRlc3QtVGVzdC1yZXNldC1kdXJpbmctVFJJTS5wYXRjaAorIyBGb3IgUkhFTC0xODYz ODQgLSB2aXJ0LXN0b3JhZ2U6IEJhY2twb3J0IHN0YWJsZSBicmFuY2ggZml4ZXMKK1BhdGNoMjgy OiBrdm0tYmxvY2stZ3JhcGgtbG9jay1maXgtbWlzc2VkLXdha2V1cC1pbi1iZHJ2X2dyYXBoX2Nv Xy5wYXRjaAorIyBGb3IgUkhFTC0xODYzODQgLSB2aXJ0LXN0b3JhZ2U6IEJhY2twb3J0IHN0YWJs ZSBicmFuY2ggZml4ZXMKK1BhdGNoMjgzOiBrdm0tYmxvY2stY3VybC1maXgtY3VybC1pbnRlcm5h bC1oYW5kbGVzLWhhbmRsaW5nLnBhdGNoCisjIEZvciBSSEVMLTE4NjM4NCAtIHZpcnQtc3RvcmFn ZTogQmFja3BvcnQgc3RhYmxlIGJyYW5jaCBmaXhlcworUGF0Y2gyODQ6IGt2bS1ibG9jay1jdXJs LmMtVXNlLWV4cGxpY2l0LWxvbmctY29uc3RhbnRzLWluLWN1cmxfZWFzLnBhdGNoCisjIEZvciBS SEVMLTE4NjM4NCAtIHZpcnQtc3RvcmFnZTogQmFja3BvcnQgc3RhYmxlIGJyYW5jaCBmaXhlcwor UGF0Y2gyODU6IGt2bS1ibG9jay1jdXJsLmMtRml4LUNVUkxPUFRfVkVSQk9TRS1wYXJhbWV0ZXIt dHlwZS5wYXRjaAorIyBGb3IgUkhFTC0xODYzODQgLSB2aXJ0LXN0b3JhZ2U6IEJhY2twb3J0IHN0 YWJsZSBicmFuY2ggZml4ZXMKK1BhdGNoMjg2OiBrdm0tYmxvY2stY3VybC1maXgtY29uY3VycmVu dC1jb21wbGV0aW9uLWhhbmRsaW5nLnBhdGNoCisjIEZvciBSSEVMLTE4NjM4NCAtIHZpcnQtc3Rv cmFnZTogQmFja3BvcnQgc3RhYmxlIGJyYW5jaCBmaXhlcworUGF0Y2gyODc6IGt2bS1ibG9jay1j dXJsLWZyZWUtcy1wYXNzd29yZC1pbi1jbGVhbnVwLXBhdGhzLnBhdGNoCisjIEZvciBSSEVMLTE4 NjM4NCAtIHZpcnQtc3RvcmFnZTogQmFja3BvcnQgc3RhYmxlIGJyYW5jaCBmaXhlcworUGF0Y2gy ODg6IGt2bS1udm1lLUtpY2stYW5kLWNoZWNrLWNvbXBsZXRpb25zLWluLUJEUy1jb250ZXh0LnBh dGNoCisjIEZvciBSSEVMLTE4NjM4NCAtIHZpcnQtc3RvcmFnZTogQmFja3BvcnQgc3RhYmxlIGJy YW5jaCBmaXhlcworUGF0Y2gyODk6IGt2bS1udm1lLU5vdGUtaW4td2hpY2gtQWlvQ29udGV4dC1z b21lLWZ1bmN0aW9ucy1ydW4ucGF0Y2gKKyMgRm9yIFJIRUwtMTg2Mzg0IC0gdmlydC1zdG9yYWdl OiBCYWNrcG9ydCBzdGFibGUgYnJhbmNoIGZpeGVzCitQYXRjaDI5MDoga3ZtLWJsb2NrLXJlbW92 ZS1kZXRhY2hlZC1oZWFkZXItb3B0aW9uLWZyb20tb3B0cy1hZnRlci0ucGF0Y2gKKyMgRm9yIFJI RUwtMTg2Mzg0IC0gdmlydC1zdG9yYWdlOiBCYWNrcG9ydCBzdGFibGUgYnJhbmNoIGZpeGVzCitQ YXRjaDI5MToga3ZtLWJsb2NrLWZpeC1sdWtzLWFtZW5kLXdoZW4tcnVuLWluLWNvcm91dGluZS5w YXRjaAorIyBGb3IgUkhFTC0xODYzODQgLSB2aXJ0LXN0b3JhZ2U6IEJhY2twb3J0IHN0YWJsZSBi cmFuY2ggZml4ZXMKK1BhdGNoMjkyOiBrdm0tcWVkLURvbi10LXRyeS10by1mbHVzaC1kdXJpbmct aW5jb21pbmctbWlncmF0aW9uLnBhdGNoCisjIEZvciBSSEVMLTE4NjM4NCAtIHZpcnQtc3RvcmFn ZTogQmFja3BvcnQgc3RhYmxlIGJyYW5jaCBmaXhlcworUGF0Y2gyOTM6IGt2bS1ibG9jay12bWRr LWZpeC1PT0ItcmVhZC1pbi12bWRrX3JlYWRfZXh0ZW50LnBhdGNoCisjIEZvciBSSEVMLTE4NjM4 NCAtIHZpcnQtc3RvcmFnZTogQmFja3BvcnQgc3RhYmxlIGJyYW5jaCBmaXhlcworUGF0Y2gyOTQ6 IGt2bS1ibG9jay10aHJvdHRsZS1ncm91cHMtZml4LWRlYWRsb2NrLXdpdGgtaW9saW1pdHMtYW5k LnBhdGNoCisjIEZvciBSSEVMLTE4NjM4NCAtIHZpcnQtc3RvcmFnZTogQmFja3BvcnQgc3RhYmxl IGJyYW5jaCBmaXhlcworUGF0Y2gyOTU6IGt2bS10aHJvdHRsZS1ncm91cC1GaXgtcmFjZS1jb25k aXRpb24taW4tdGhyb3R0bGVfZ3JvdXBfLnBhdGNoCisjIEZvciBSSEVMLTE4NjM4NCAtIHZpcnQt c3RvcmFnZTogQmFja3BvcnQgc3RhYmxlIGJyYW5jaCBmaXhlcworUGF0Y2gyOTY6IGt2bS1xZW11 LWltZy1GaXgtYW1lbmQtb3B0aW9uLXBhcnNlLWVycm9yLWhhbmRsaW5nLnBhdGNoCisjIEZvciBS SEVMLTE4NjM4NCAtIHZpcnQtc3RvcmFnZTogQmFja3BvcnQgc3RhYmxlIGJyYW5jaCBmaXhlcwor UGF0Y2gyOTc6IGt2bS1xZW11LWltZy1yZWJhc2UtZG9uLXQtZXhjZWVkLUlPX0JVRl9TSVpFLWlu LW9uZS1vcGVyLnBhdGNoCisjIEZvciBSSEVMLTE4NjM4NCAtIHZpcnQtc3RvcmFnZTogQmFja3Bv cnQgc3RhYmxlIGJyYW5jaCBmaXhlcworUGF0Y2gyOTg6IGt2bS1weXRob24tYmFja3BvcnQtZHJv cC1QeXRob24zLjYtd29ya2Fyb3VuZHMucGF0Y2gKKyMgRm9yIFJIRUwtMTg2Mzg0IC0gdmlydC1z dG9yYWdlOiBCYWNrcG9ydCBzdGFibGUgYnJhbmNoIGZpeGVzCitQYXRjaDI5OToga3ZtLXB5dGhv bi1iYWNrcG9ydC1SZW1vdmUtZGVwcmVjYXRlZC1nZXRfZXZlbnRfbG9vcC1jYWwucGF0Y2gKKyMg Rm9yIFJIRUwtMTg2Mzg0IC0gdmlydC1zdG9yYWdlOiBCYWNrcG9ydCBzdGFibGUgYnJhbmNoIGZp eGVzCitQYXRjaDMwMDoga3ZtLXB5dGhvbi1iYWNrcG9ydC1hdm9pZC1jcmVhdGluZy1hZGRpdGlv bmFsLWV2ZW50LWxvb3AucGF0Y2gKKyMgRm9yIFJIRUwtMTg2Mzg0IC0gdmlydC1zdG9yYWdlOiBC YWNrcG9ydCBzdGFibGUgYnJhbmNoIGZpeGVzCitQYXRjaDMwMToga3ZtLWlvdGVzdHMtMTQ3LWVu c3VyZS10ZW1wb3Jhcnktc29ja2V0cy1hcmUtY2xvc2VkLWJlZm8ucGF0Y2gKKyMgRm9yIFJIRUwt MTg2Mzg0IC0gdmlydC1zdG9yYWdlOiBCYWNrcG9ydCBzdGFibGUgYnJhbmNoIGZpeGVzCitQYXRj aDMwMjoga3ZtLWlvdGVzdHMtMTUxLWVuc3VyZS1zdWJwcm9jZXNzZXMtYXJlLWNsZWFuZWQtdXAu cGF0Y2gKKyMgRm9yIFJIRUwtMTg2Mzg0IC0gdmlydC1zdG9yYWdlOiBCYWNrcG9ydCBzdGFibGUg YnJhbmNoIGZpeGVzCitQYXRjaDMwMzoga3ZtLXRlc3RzLXFlbXUtaW90ZXN0LWZpeC1pb3Rlc3Qt MDI0LXdpdGgtcWVkLWltYWdlcy5wYXRjaAorIyBGb3IgUkhFTC0xODYzODQgLSB2aXJ0LXN0b3Jh Z2U6IEJhY2twb3J0IHN0YWJsZSBicmFuY2ggZml4ZXMKK1BhdGNoMzA0OiBrdm0tdGVzdHMtcWVt dS1pb3Rlc3RzLUZpeC1jaGVjay1mb3ItZXhpc3RpbmctZmlsZS1pbi1fci5wYXRjaAorIyBGb3Ig UkhFTC0xODYzODQgLSB2aXJ0LXN0b3JhZ2U6IEJhY2twb3J0IHN0YWJsZSBicmFuY2ggZml4ZXMK K1BhdGNoMzA1OiBrdm0tYXN5bmMtYWNjZXNzLWJvdHRvbS1oYWxmLWZsYWdzLXdpdGgtcWF0b21p Y19yZWFkLnBhdGNoCisjIEZvciBSSEVMLTE4NjM4NCAtIHZpcnQtc3RvcmFnZTogQmFja3BvcnQg c3RhYmxlIGJyYW5jaCBmaXhlcworUGF0Y2gzMDY6IGt2bS1ibG9jay1saW51eC1haW8tYm91bmQt aW9xX3N1Ym1pdC1yZWN1cnNpb24tZGVwdGgucGF0Y2gKKyMgRm9yIFJIRUwtMTg2Mzg0IC0gdmly dC1zdG9yYWdlOiBCYWNrcG9ydCBzdGFibGUgYnJhbmNoIGZpeGVzCitQYXRjaDMwNzoga3ZtLWJs b2NrLWlvLWZhbGxiYWNrLXRvLWJvdW5jZS1idWZmZXItaWYtQkxLWkVST09VVC1pcy0ucGF0Y2gK KyMgRm9yIFJIRUwtMTg2Mzg0IC0gdmlydC1zdG9yYWdlOiBCYWNrcG9ydCBzdGFibGUgYnJhbmNo IGZpeGVzCitQYXRjaDMwODoga3ZtLWZpbGUtcG9zaXgtcG9wdWxhdGUtcHdyaXRlX3plcm9lc19h bGlnbm1lbnQucGF0Y2gKKyMgRm9yIFJIRUwtMTg2Mzg0IC0gdmlydC1zdG9yYWdlOiBCYWNrcG9y dCBzdGFibGUgYnJhbmNoIGZpeGVzCitQYXRjaDMwOToga3ZtLWJsb2NrLXVzZS1wd3JpdGVfemVy b2VzX2FsaWdubWVudC13aGVuLXdyaXRpbmctZmlyc3QucGF0Y2gKKyMgRm9yIFJIRUwtMTg2Mzg0 IC0gdmlydC1zdG9yYWdlOiBCYWNrcG9ydCBzdGFibGUgYnJhbmNoIGZpeGVzCitQYXRjaDMxMDog a3ZtLWlvdGVzdHMtYWRkLUxpbnV4LWxvb3AtZGV2aWNlLWltYWdlLWNyZWF0aW9uLXRlc3QucGF0 Y2gKKyMgRm9yIFJIRUwtMTg2Mzg0IC0gdmlydC1zdG9yYWdlOiBCYWNrcG9ydCBzdGFibGUgYnJh bmNoIGZpeGVzCitQYXRjaDMxMToga3ZtLXZpcnRpby1GaXgtY3Jhc2gtd2hlbi1zcmlvdi1wZi1p cy1zZXQtZm9yLW5vbi1QQ0ktRXgucGF0Y2gKKyMgRm9yIFJIRUwtMTg2Mzg0IC0gdmlydC1zdG9y YWdlOiBCYWNrcG9ydCBzdGFibGUgYnJhbmNoIGZpeGVzCitQYXRjaDMxMjoga3ZtLXZpcnRpby1z Y3NpLXBhc3MtdGhlLXNhbWUtY2RiX3NpemUtdG8tdmlydGlvX3Njc2lfcG8ucGF0Y2gKKyMgRm9y IFJIRUwtMTg2Mzg0IC0gdmlydC1zdG9yYWdlOiBCYWNrcG9ydCBzdGFibGUgYnJhbmNoIGZpeGVz CitQYXRjaDMxMzoga3ZtLWh3LXNjc2ktYXZvaWQtZGVhZGxvY2stdXBvbi1UTUYtcmVxdWVzdC1j YW5jZWxsaW5nLXcucGF0Y2gKKyMgRm9yIFJIRUwtMTg2Mzg0IC0gdmlydC1zdG9yYWdlOiBCYWNr cG9ydCBzdGFibGUgYnJhbmNoIGZpeGVzCitQYXRjaDMxNDoga3ZtLXZpcnRpby1ibGstZml4LXpv bmUtcmVwb3J0LWJ1ZmZlci1vdXQtb2YtbWVtb3J5LUNWRS0ucGF0Y2gKKyMgRm9yIFJIRUwtMTg2 Mzg0IC0gdmlydC1zdG9yYWdlOiBCYWNrcG9ydCBzdGFibGUgYnJhbmNoIGZpeGVzCitQYXRjaDMx NToga3ZtLWlkZS1GaXgtcG90ZW50aWFsLWFzc2VydGlvbi1mYWlsdXJlLW9uLVZNLXN0b3AtZm9y LVAucGF0Y2gKKyMgRm9yIFJIRUwtMTg2Mzg0IC0gdmlydC1zdG9yYWdlOiBCYWNrcG9ydCBzdGFi bGUgYnJhbmNoIGZpeGVzCitQYXRjaDMxNjoga3ZtLWJsb2NrLUNyZWF0ZS1ERUZBVUxUX0JMT0NL X0NPTkYtbWFjcm8ucGF0Y2gKKyMgRm9yIFJIRUwtMTg2Mzg0IC0gdmlydC1zdG9yYWdlOiBCYWNr cG9ydCBzdGFibGUgYnJhbmNoIGZpeGVzCitQYXRjaDMxNzoga3ZtLWJsb2NrLUFkZC1tb3JlLWRl ZmF1bHRzLXRvLURFRkFVTFRfQkxPQ0tfQ09ORi5wYXRjaAorIyBGb3IgUkhFTC0xODYzODQgLSB2 aXJ0LXN0b3JhZ2U6IEJhY2twb3J0IHN0YWJsZSBicmFuY2ggZml4ZXMKK1BhdGNoMzE4OiBrdm0t YmxvY2stbWlycm9yLWNoZWNrLXJhbmdlLXdoZW4tc2V0dGluZy16ZXJvLWJpdG1hcC1mby5wYXRj aAorIyBGb3IgUkhFTC0xODYzODQgLSB2aXJ0LXN0b3JhZ2U6IEJhY2twb3J0IHN0YWJsZSBicmFu Y2ggZml4ZXMKK1BhdGNoMzE5OiBrdm0taW90ZXN0cy10ZXN0LWFjdGl2ZS1taXJyb3Itd2l0aC11 bmFsaWduZWQtc21hbGwtd3JpdC5wYXRjaAorIyBGb3IgUkhFTC0xODYzODQgLSB2aXJ0LXN0b3Jh Z2U6IEJhY2twb3J0IHN0YWJsZSBicmFuY2ggZml4ZXMKK1BhdGNoMzIwOiBrdm0tYmxvY2stbWly cm9yLWZpeC1hc3NlcnRpb24tZmFpbHVyZS11cG9uLWR1cGxpY2F0ZS1jby5wYXRjaAorIyBGb3Ig UkhFTC0xODYzODQgLSB2aXJ0LXN0b3JhZ2U6IEJhY2twb3J0IHN0YWJsZSBicmFuY2ggZml4ZXMK K1BhdGNoMzIxOiBrdm0tY29tbWl0LURyYWluLW5vZGVzLWFjcm9zcy1hbGwtb2YtYmRydl9jb21t aXQucGF0Y2gKKyMgRm9yIFJIRUwtMTg2Mzg0IC0gdmlydC1zdG9yYWdlOiBCYWNrcG9ydCBzdGFi bGUgYnJhbmNoIGZpeGVzCitQYXRjaDMyMjoga3ZtLXFlbXUtaW8tQWRkLWFpb19kaXNjYXJkLWNv bW1hbmQucGF0Y2gKKyMgRm9yIFJIRUwtMTg2Mzg0IC0gdmlydC1zdG9yYWdlOiBCYWNrcG9ydCBz dGFibGUgYnJhbmNoIGZpeGVzCitQYXRjaDMyMzoga3ZtLXFjb3cyLUZpeC1jb3JydXB0aW9uLW9u LWRpc2NhcmQtZHVyaW5nLXdyaXRlLXdpdGgtQ08ucGF0Y2gKKyMgRm9yIFJIRUwtMTg2Mzg0IC0g dmlydC1zdG9yYWdlOiBCYWNrcG9ydCBzdGFibGUgYnJhbmNoIGZpeGVzCitQYXRjaDMyNDoga3Zt LWlvdGVzdHMtMDQ2LVRlc3QtdGhhdC1kaXNjYXJkLXdyaXRlX3plcm9lcy13YWl0LWZvci0ucGF0 Y2gKKyMgRm9yIFJIRUwtMTg2Mzg0IC0gdmlydC1zdG9yYWdlOiBCYWNrcG9ydCBzdGFibGUgYnJh bmNoIGZpeGVzCitQYXRjaDMyNToga3ZtLXFjb3cyLUZpeC1kYXRhLWxvc3Mtb24temVyby13cml0 ZS13aXRoLWRldGVjdC16ZXJvZXMucGF0Y2gKKyMgRm9yIFJIRUwtMTg2Mzg0IC0gdmlydC1zdG9y YWdlOiBCYWNrcG9ydCBzdGFibGUgYnJhbmNoIGZpeGVzCitQYXRjaDMyNjoga3ZtLWJsb2NrLUZp eC1jcmFzaC1hZnRlci1zZXR0aW5nLWxhdGVuY3ktaGlzdG9yeWdyYW0td2kucGF0Y2gKIAogJWlm ICV7aGF2ZV9jbGFuZ30KIEJ1aWxkUmVxdWlyZXM6IGNsYW5nCkBAIC0xNzg0LDYgKzE4ODgsNjQg QEAgdXNlcmFkZCAtciAtdSAxMDcgLWcgcWVtdSAtRyBrdm0gLWQgLyAtcyAvc2Jpbi9ub2xvZ2lu IFwKICVlbmRpZgogCiAlY2hhbmdlbG9nCisqIFR1ZSBKdW4gMjMgMjAyNiBNaXJvc2xhdiBSZXph bmluYSA8bXJlemFuaW5AcmVkaGF0LmNvbT4gLSAxMC4xLjAtMjIKKy0ga3ZtLWJsa2RlYnVnLUFk ZC1kZWxheS1ucy1vcHRpb24ucGF0Y2ggW1JIRUwtMTIxNjg2XQorLSBrdm0tYmxvY2stQWRkLWJs a19jb19zdGFydC1lbmRfcmVxdWVzdC1hbmQtQkRSVl9SRVFfTk9fUS5wYXRjaCBbUkhFTC0xMjE2 ODZdCistIGt2bS1ibG9jay1BZGQtZmxhZ3MtcGFyYW1ldGVyLXRvLWJsa18tX3BkaXNjYXJkLnBh dGNoIFtSSEVMLTEyMTY4Nl0KKy0ga3ZtLWlkZS1NaW5pbWFsLWZpeC1mb3ItZGVhZGxvY2stYmV0 d2Vlbi1UUklNLWFuZC1kcmFpbi5wYXRjaCBbUkhFTC0xMjE2ODZdCistIGt2bS1pZGUtQ2xlYW4t dXAtaWRlX3RyaW1fY29fZW50cnktdG8tYmUtaWRpb21hdGljLWNvcm91LnBhdGNoIFtSSEVMLTEy MTY4Nl0KKy0ga3ZtLWlkZS10ZXN0LUZhY3Rvci1vdXQtd2FpdF9kbWFfY29tcGxldGlvbi5wYXRj aCBbUkhFTC0xMjE2ODZdCistIGt2bS1pZGUtdGVzdC1UZXN0LXJlc2V0LWR1cmluZy1UUklNLnBh dGNoIFtSSEVMLTEyMTY4Nl0KKy0ga3ZtLWJsb2NrLWdyYXBoLWxvY2stZml4LW1pc3NlZC13YWtl dXAtaW4tYmRydl9ncmFwaF9jb18ucGF0Y2ggW1JIRUwtMTg2Mzg0XQorLSBrdm0tYmxvY2stY3Vy bC1maXgtY3VybC1pbnRlcm5hbC1oYW5kbGVzLWhhbmRsaW5nLnBhdGNoIFtSSEVMLTE4NjM4NF0K Ky0ga3ZtLWJsb2NrLWN1cmwuYy1Vc2UtZXhwbGljaXQtbG9uZy1jb25zdGFudHMtaW4tY3VybF9l YXMucGF0Y2ggW1JIRUwtMTg2Mzg0XQorLSBrdm0tYmxvY2stY3VybC5jLUZpeC1DVVJMT1BUX1ZF UkJPU0UtcGFyYW1ldGVyLXR5cGUucGF0Y2ggW1JIRUwtMTg2Mzg0XQorLSBrdm0tYmxvY2stY3Vy bC1maXgtY29uY3VycmVudC1jb21wbGV0aW9uLWhhbmRsaW5nLnBhdGNoIFtSSEVMLTE4NjM4NF0K Ky0ga3ZtLWJsb2NrLWN1cmwtZnJlZS1zLXBhc3N3b3JkLWluLWNsZWFudXAtcGF0aHMucGF0Y2gg W1JIRUwtMTg2Mzg0XQorLSBrdm0tbnZtZS1LaWNrLWFuZC1jaGVjay1jb21wbGV0aW9ucy1pbi1C RFMtY29udGV4dC5wYXRjaCBbUkhFTC0xODYzODRdCistIGt2bS1udm1lLU5vdGUtaW4td2hpY2gt QWlvQ29udGV4dC1zb21lLWZ1bmN0aW9ucy1ydW4ucGF0Y2ggW1JIRUwtMTg2Mzg0XQorLSBrdm0t YmxvY2stcmVtb3ZlLWRldGFjaGVkLWhlYWRlci1vcHRpb24tZnJvbS1vcHRzLWFmdGVyLS5wYXRj aCBbUkhFTC0xODYzODRdCistIGt2bS1ibG9jay1maXgtbHVrcy1hbWVuZC13aGVuLXJ1bi1pbi1j b3JvdXRpbmUucGF0Y2ggW1JIRUwtMTg2Mzg0XQorLSBrdm0tcWVkLURvbi10LXRyeS10by1mbHVz aC1kdXJpbmctaW5jb21pbmctbWlncmF0aW9uLnBhdGNoIFtSSEVMLTE4NjM4NF0KKy0ga3ZtLWJs b2NrLXZtZGstZml4LU9PQi1yZWFkLWluLXZtZGtfcmVhZF9leHRlbnQucGF0Y2ggW1JIRUwtMTg2 Mzg0XQorLSBrdm0tYmxvY2stdGhyb3R0bGUtZ3JvdXBzLWZpeC1kZWFkbG9jay13aXRoLWlvbGlt aXRzLWFuZC5wYXRjaCBbUkhFTC0xODYzODRdCistIGt2bS10aHJvdHRsZS1ncm91cC1GaXgtcmFj ZS1jb25kaXRpb24taW4tdGhyb3R0bGVfZ3JvdXBfLnBhdGNoIFtSSEVMLTE4NjM4NF0KKy0ga3Zt LXFlbXUtaW1nLUZpeC1hbWVuZC1vcHRpb24tcGFyc2UtZXJyb3ItaGFuZGxpbmcucGF0Y2ggW1JI RUwtMTg2Mzg0XQorLSBrdm0tcWVtdS1pbWctcmViYXNlLWRvbi10LWV4Y2VlZC1JT19CVUZfU0la RS1pbi1vbmUtb3Blci5wYXRjaCBbUkhFTC0xODYzODRdCistIGt2bS1weXRob24tYmFja3BvcnQt ZHJvcC1QeXRob24zLjYtd29ya2Fyb3VuZHMucGF0Y2ggW1JIRUwtMTg2Mzg0XQorLSBrdm0tcHl0 aG9uLWJhY2twb3J0LVJlbW92ZS1kZXByZWNhdGVkLWdldF9ldmVudF9sb29wLWNhbC5wYXRjaCBb UkhFTC0xODYzODRdCistIGt2bS1weXRob24tYmFja3BvcnQtYXZvaWQtY3JlYXRpbmctYWRkaXRp b25hbC1ldmVudC1sb29wLnBhdGNoIFtSSEVMLTE4NjM4NF0KKy0ga3ZtLWlvdGVzdHMtMTQ3LWVu c3VyZS10ZW1wb3Jhcnktc29ja2V0cy1hcmUtY2xvc2VkLWJlZm8ucGF0Y2ggW1JIRUwtMTg2Mzg0 XQorLSBrdm0taW90ZXN0cy0xNTEtZW5zdXJlLXN1YnByb2Nlc3Nlcy1hcmUtY2xlYW5lZC11cC5w YXRjaCBbUkhFTC0xODYzODRdCistIGt2bS10ZXN0cy1xZW11LWlvdGVzdC1maXgtaW90ZXN0LTAy NC13aXRoLXFlZC1pbWFnZXMucGF0Y2ggW1JIRUwtMTg2Mzg0XQorLSBrdm0tdGVzdHMtcWVtdS1p b3Rlc3RzLUZpeC1jaGVjay1mb3ItZXhpc3RpbmctZmlsZS1pbi1fci5wYXRjaCBbUkhFTC0xODYz ODRdCistIGt2bS1hc3luYy1hY2Nlc3MtYm90dG9tLWhhbGYtZmxhZ3Mtd2l0aC1xYXRvbWljX3Jl YWQucGF0Y2ggW1JIRUwtMTg2Mzg0XQorLSBrdm0tYmxvY2stbGludXgtYWlvLWJvdW5kLWlvcV9z dWJtaXQtcmVjdXJzaW9uLWRlcHRoLnBhdGNoIFtSSEVMLTE4NjM4NF0KKy0ga3ZtLWJsb2NrLWlv LWZhbGxiYWNrLXRvLWJvdW5jZS1idWZmZXItaWYtQkxLWkVST09VVC1pcy0ucGF0Y2ggW1JIRUwt MTg2Mzg0XQorLSBrdm0tZmlsZS1wb3NpeC1wb3B1bGF0ZS1wd3JpdGVfemVyb2VzX2FsaWdubWVu dC5wYXRjaCBbUkhFTC0xODYzODRdCistIGt2bS1ibG9jay11c2UtcHdyaXRlX3plcm9lc19hbGln bm1lbnQtd2hlbi13cml0aW5nLWZpcnN0LnBhdGNoIFtSSEVMLTE4NjM4NF0KKy0ga3ZtLWlvdGVz dHMtYWRkLUxpbnV4LWxvb3AtZGV2aWNlLWltYWdlLWNyZWF0aW9uLXRlc3QucGF0Y2ggW1JIRUwt MTg2Mzg0XQorLSBrdm0tdmlydGlvLUZpeC1jcmFzaC13aGVuLXNyaW92LXBmLWlzLXNldC1mb3It bm9uLVBDSS1FeC5wYXRjaCBbUkhFTC0xODYzODRdCistIGt2bS12aXJ0aW8tc2NzaS1wYXNzLXRo ZS1zYW1lLWNkYl9zaXplLXRvLXZpcnRpb19zY3NpX3BvLnBhdGNoIFtSSEVMLTE4NjM4NF0KKy0g a3ZtLWh3LXNjc2ktYXZvaWQtZGVhZGxvY2stdXBvbi1UTUYtcmVxdWVzdC1jYW5jZWxsaW5nLXcu cGF0Y2ggW1JIRUwtMTg2Mzg0XQorLSBrdm0tdmlydGlvLWJsay1maXgtem9uZS1yZXBvcnQtYnVm ZmVyLW91dC1vZi1tZW1vcnktQ1ZFLS5wYXRjaCBbUkhFTC0xODYzODRdCistIGt2bS1pZGUtRml4 LXBvdGVudGlhbC1hc3NlcnRpb24tZmFpbHVyZS1vbi1WTS1zdG9wLWZvci1QLnBhdGNoIFtSSEVM LTE4NjM4NF0KKy0ga3ZtLWJsb2NrLUNyZWF0ZS1ERUZBVUxUX0JMT0NLX0NPTkYtbWFjcm8ucGF0 Y2ggW1JIRUwtMTg2Mzg0XQorLSBrdm0tYmxvY2stQWRkLW1vcmUtZGVmYXVsdHMtdG8tREVGQVVM VF9CTE9DS19DT05GLnBhdGNoIFtSSEVMLTE4NjM4NF0KKy0ga3ZtLWJsb2NrLW1pcnJvci1jaGVj ay1yYW5nZS13aGVuLXNldHRpbmctemVyby1iaXRtYXAtZm8ucGF0Y2ggW1JIRUwtMTg2Mzg0XQor LSBrdm0taW90ZXN0cy10ZXN0LWFjdGl2ZS1taXJyb3Itd2l0aC11bmFsaWduZWQtc21hbGwtd3Jp dC5wYXRjaCBbUkhFTC0xODYzODRdCistIGt2bS1ibG9jay1taXJyb3ItZml4LWFzc2VydGlvbi1m YWlsdXJlLXVwb24tZHVwbGljYXRlLWNvLnBhdGNoIFtSSEVMLTE4NjM4NF0KKy0ga3ZtLWNvbW1p dC1EcmFpbi1ub2Rlcy1hY3Jvc3MtYWxsLW9mLWJkcnZfY29tbWl0LnBhdGNoIFtSSEVMLTE4NjM4 NF0KKy0ga3ZtLXFlbXUtaW8tQWRkLWFpb19kaXNjYXJkLWNvbW1hbmQucGF0Y2ggW1JIRUwtMTg2 Mzg0XQorLSBrdm0tcWNvdzItRml4LWNvcnJ1cHRpb24tb24tZGlzY2FyZC1kdXJpbmctd3JpdGUt d2l0aC1DTy5wYXRjaCBbUkhFTC0xODYzODRdCistIGt2bS1pb3Rlc3RzLTA0Ni1UZXN0LXRoYXQt ZGlzY2FyZC13cml0ZV96ZXJvZXMtd2FpdC1mb3ItLnBhdGNoIFtSSEVMLTE4NjM4NF0KKy0ga3Zt LXFjb3cyLUZpeC1kYXRhLWxvc3Mtb24temVyby13cml0ZS13aXRoLWRldGVjdC16ZXJvZXMucGF0 Y2ggW1JIRUwtMTg2Mzg0XQorLSBrdm0tYmxvY2stRml4LWNyYXNoLWFmdGVyLXNldHRpbmctbGF0 ZW5jeS1oaXN0b3J5Z3JhbS13aS5wYXRjaCBbUkhFTC0xODYzODRdCistIFJlc29sdmVzOiBSSEVM LTEyMTY4NgorICAocWVtdS1rdm0gaHVuZyBkdXJpbmcgZHJhaW4gYWZ0ZXIgZG91YmxlIHBhdXNl KQorLSBSZXNvbHZlczogUkhFTC0xODYzODQKKyAgKHZpcnQtc3RvcmFnZTogQmFja3BvcnQgc3Rh YmxlIGJyYW5jaCBmaXhlcykKKwogKiBGcmkgSnVuIDE5IDIwMjYgTWlyb3NsYXYgUmV6YW5pbmEg PG1yZXphbmluQHJlZGhhdC5jb20+IC0gMTAuMS4wLTIxCiAtIGt2bS1ody12ZmlvLXNvcnQtYW5k LXZhbGlkYXRlLXNwYXJzZS1tbWFwLXJlZ2lvbnMtYnktb2ZmLnBhdGNoIFtSSEVMLTE1MDkwMF0K IC0ga3ZtLXZmaW8tQWRkLUVycm9yLXBhcmFtZXRlci10by12ZmlvX3JlZ2lvbl9zZXR1cC5wYXRj aCBbUkhFTC0xNTA5MDBdCg==