From: Tatjana Azundris Nuernberg Date: August 17 2011 2:26pm Subject: bzr push into mysql-trunk branch (tatjana.nuernberg:3266 to 3267) Bug#25851 Bug#11746378 WL#5706 List-Archive: http://lists.mysql.com/commits/140749 X-Bug: 25851,11746378 Message-Id: <201108171427.p7HER4lH023742@acsmt358.oracle.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 IDMyNjcgVGF0amFuYSBBenVuZHJpcyBOdWVybmJlcmcJMjAxMS0wOC0xNwogICAgICBXTCM1NzA2 L0J1ZyMxMTc0NjM3OC9CdWcjMjU4NTE6IFBhc3N3b3JkcyBhcmUgdmlzaWJsZSBpbiBsb2dzCiAg ICAgIAogICAgICBEb24ndCBsb2cgcXVlcmllcyBhcyB0aGV5IGNvbWUgaW47IHBhcnNlIHRoZW0g Zmlyc3QgdG8gc2VlCiAgICAgIHdoYXQgdGhleSdyZSBhYm91dC4gSWYgdGhleSBjb250YWluIHBh c3N3b3Jkcywgb2JmdXNjYXRlCiAgICAgIHRoZW0uIFRoZW4gbG9nIChiZWZvcmUgcXVlcnkgZXhl Y3V0aW9uKSwgc28gdGhhdCBnZW5lcmFsLAogICAgICBiaW5hcnksIGFuZCBzbG93IHF1ZXJ5IGxv ZyB3aWxsIG5vdCBjb250YWluIGNsZWFyLXRleHQgcGFzc3dvcmRzLgogICAgICAtLWxvZy1yYXcg b3B0aW9uIGRpc2FibGVzIHRoaXMgZm9yIGdlbmVyYWwgbG9nICh1bi1yZXdyaXR0ZW4KICAgICAg cXVlcmllcyB3aWxsIGJlIGxvZ2dlZCwgYmVmb3JlIHBhcnNpbmcgcmF0aGVyIHRoYW4gYWZ0ZXIp LiBDYW4KICAgICAgYmUgZXh0ZW5kZWQgdG8gZG8gYW55IG90aGVyIHJld3JpdGluZy4KICAgICBA IG15c3FsLXRlc3Qvci9sb2dfc3RhdGUucmVzdWx0CiAgICAgICAgcmVzdWx0cyBjaGFuZ2VkIGR1 ZSB0byBsb2ctcmV3cml0aW5nCiAgICAgQCBteXNxbC10ZXN0L3IvbG9nX3RhYmxlcy5yZXN1bHQK ICAgICAgICByZXN1bHRzIGNoYW5nZWQgZHVlIHRvIGxvZy1yZXdyaXRpbmcKICAgICBAIG15c3Fs LXRlc3Qvci9teXNxbGQtLWhlbHAtbm90d2luLnJlc3VsdAogICAgICAgIGFkZCAtLWxvZy1yYXcK ICAgICBAIG15c3FsLXRlc3Qvci9teXNxbGQtLWhlbHAtd2luLnJlc3VsdAogICAgICAgIGFkZCAt LWxvZy1yYXcKICAgICBAIG15c3FsLXRlc3Qvci9wbHVnaW5fYXV0aC5yZXN1bHQKICAgICAgICBz aG93IGxvZyByZXdyaXRpbmcgZG9lcyBub3QgYnJlYWsgbG9nZ2luZyBmb3IgSURFTlRJRklFRCBX SVRICiAgICAgQCBteXNxbC10ZXN0L3IvcmV3cml0ZS5yZXN1bHQKICAgICAgICB0ZXN0IGxvZyBy ZXdyaXRpbmc7IHNob3cgd2UgcHJvZHVjZSB2YWxpZCBTUUwgYW5kIGRvbid0IGxvc2UgaW5mb3Jt YXRpb24KICAgICBAIG15c3FsLXRlc3Qvc3VpdGUvYmlubG9nL3IvYmlubG9nX3Jld3JpdGUucmVz dWx0CiAgICAgICAgdGVzdCBiaW5sb2cgcmV3cml0aW5nOyBzaG93IHdlIHByb2R1Y2UgdmFsaWQg U1FMIGFuZCBkb24ndCBsb3NlIGluZm9ybWF0aW9uCiAgICAgQCBteXNxbC10ZXN0L3N1aXRlL2Jp bmxvZy90L2JpbmxvZ19yZXdyaXRlLnRlc3QKICAgICAgICB0ZXN0IGJpbmxvZyByZXdyaXRpbmc7 IHNob3cgd2UgcHJvZHVjZSB2YWxpZCBTUUwgYW5kIGRvbid0IGxvc2UgaW5mb3JtYXRpb24KICAg ICBAIG15c3FsLXRlc3Qvc3VpdGUvcnBsL3IvcnBsX2RvX2dyYW50LnJlc3VsdAogICAgICAgIHJl c3VsdHMgY2hhbmdlZCBkdWUgdG8gbG9nLXJld3JpdGluZwogICAgIEAgbXlzcWwtdGVzdC9zdWl0 ZS9ycGwvci9ycGxfbWl4ZWRfaW1wbGljaXRfY29tbWl0X2JpbmxvZy5yZXN1bHQKICAgICAgICBy ZXN1bHRzIGNoYW5nZWQgZHVlIHRvIGxvZy1yZXdyaXRpbmcKICAgICBAIG15c3FsLXRlc3Qvc3Vp dGUvcnBsL3IvcnBsX3Jvd19pbXBsaWNpdF9jb21taXRfYmlubG9nLnJlc3VsdAogICAgICAgIHJl c3VsdHMgY2hhbmdlZCBkdWUgdG8gbG9nLXJld3JpdGluZwogICAgIEAgbXlzcWwtdGVzdC9zdWl0 ZS9ycGwvci9ycGxfc3AucmVzdWx0CiAgICAgICAgcmVzdWx0cyBjaGFuZ2VkIGR1ZSB0byBsb2ct cmV3cml0aW5ncmVzdWx0cyBjaGFuZ2VkIGR1ZSB0byBsb2ctcmV3cml0aW5nCiAgICAgQCBteXNx bC10ZXN0L3N1aXRlL3JwbC9yL3JwbF9zdG1faW1wbGljaXRfY29tbWl0X2JpbmxvZy5yZXN1bHQK ICAgICAgICByZXN1bHRzIGNoYW5nZWQgZHVlIHRvIGxvZy1yZXdyaXRpbmcKICAgICBAIG15c3Fs LXRlc3Qvc3VpdGUvcnBsL3IvcnBsX3VzZXIucmVzdWx0CiAgICAgICAgcmVzdWx0cyBjaGFuZ2Vk IGR1ZSB0byBsb2ctcmV3cml0aW5nCiAgICAgQCBteXNxbC10ZXN0L3N1aXRlL3JwbC90L3JwbF9n cmFudF9wbHVnaW4udGVzdAogICAgICAgIHJlc3VsdHMgY2hhbmdlZCBkdWUgdG8gbG9nLXJld3Jp dGluZwogICAgIEAgbXlzcWwtdGVzdC90L3BsdWdpbl9hdXRoLnRlc3QKICAgICAgICBzaG93IGxv ZyByZXdyaXRpbmcgZG9lcyBub3QgYnJlYWsgbG9nZ2luZyBmb3IgSURFTlRJRklFRCBXSVRICiAg ICAgQCBteXNxbC10ZXN0L3QvcmV3cml0ZS50ZXN0CiAgICAgICAgdGVzdCBsb2cgcmV3cml0aW5n OyBzaG93IHdlIHByb2R1Y2UgdmFsaWQgU1FMIGFuZCBkb24ndCBsb3NlIGluZm9ybWF0aW9uCiAg ICAgQCBzcWwvQ01ha2VMaXN0cy50eHQKICAgICAgICBhZGQgcmV3cml0ZSBtb2R1bGUKICAgICBA IHNxbC9teXNxbGQuY2MKICAgICAgICBhZGQgLS1sb2ctcmF3IGhhbmRsaW5nCiAgICAgQCBzcWwv bXlzcWxkLmgKICAgICAgICBhZGQgLS1sb2ctcmF3IGhhbmRsaW5nCiAgICAgQCBzcWwvc2V0X3Zh ci5jYwogICAgICAgIGFkZCBzZWxmLXByaW50aW5nIChhcyBpbiBpdGVtIGNsYXNzKSBmb3IgdmFy LW9iamVjdHMKICAgICBAIHNxbC9zZXRfdmFyLmgKICAgICAgICBhZGQgc2VsZi1wcmludGluZyAo YXMgaW4gaXRlbSBjbGFzcykgZm9yIHZhci1vYmplY3RzCiAgICAgQCBzcWwvc3FsX2FjbC5jYwog ICAgICAgIGxvZyByZXdyaXR0ZW4gcXVlcnkgcmF0aGVyIHRoYW4gY2xlYXItdGV4dCBwYXNzd29y ZHMuCiAgICAgICAgc2hhcmUgc29tZSBjb2RlIHdpdGggc3FsX3Jld3JpdGUuY2MKICAgICBAIHNx bC9zcWxfYWNsLmgKICAgICAgICBleHBvcnQgY2VydGFpbiBmdW5jdGlvbnMgYW5kIGFycmF5cyB0 byBzcWxfcmV3cml0ZS5jYwogICAgIEAgc3FsL3NxbF9jbGFzcy5oCiAgICAgICAgYWRkIHN0cmlu ZyB0byBob2xkIHJld3JpdHRlbiBsb2cgbWVzc2FnZXMgKHdpdGggcGFzc3dvcmRzIG9ic2N1cmVk IGV0Yy4pCiAgICAgQCBzcWwvc3FsX3BhcnNlLmNjCiAgICAgICAgcmV3cml0ZSBxdWVyeSBhZnRl ciBwYXJzaW5nLCBidXQgYmVmb3JlIGxvZ2dpbmcgKHRvIG9iZnVzY2F0ZQogICAgICAgIHBhc3N3 b3JkcyBldGMuKS4gdXNlIHRoaXMgcXVlcnkgZm9yIGJpbmxvZ2dpbmcsIHNsb3cgcXVlcnkgbG9n LAogICAgICAgIGFuZCBnZW5lcmFsIGxvZy4gIG9sZCBiZWhhdmlvdXIgKGxvZyB1bm1vZGlmaWVk IHF1ZXJ5LCBiZWZvcmUKICAgICAgICBwYXJzaW5nKSBjYW4gYmUgcmVzdG9yZWQgZm9yIGdlbmVy YWwgbG9nIHRocm91Z2ggdXNpbmcKICAgICAgICAtLWxvZy1yYXcgc3dpdGNoLgogICAgIEAgc3Fs L3NxbF9yZXdyaXRlLmNjCiAgICAgICAgcmV3cml0ZSBjZXJ0YWluIHF1ZXJ5IHR5cGVzIChmb3Ig bm93LCB0byBvYmZ1c2NhdGUgcGFzc3dvcmRzKS4KICAgICBAIHNxbC9zcWxfcmV3cml0ZS5oCiAg ICAgICAgZXhwb3J0IHF1ZXJ5LXJld3JpdGluZyBmdW5jdGlvbiB0byBzcWxfcGFyc2UuY2MKICAg ICBAIHNxbC9zcWxfeWFjYy55eQogICAgICAgIGZpeCBhIGJ1ZyBpbiBwYXNzd29yZCBoYW5kbGlu ZyB0aGF0IGJyb2tlIElERU5USUZJRUQgV0lUSCBtb2R1bGVzLgogICAgICAgIHNhdmUgc29tZSBp bmZvcm1hdGlvbiB3ZSdsbCBuZWVkIHRvIHByb3Blcmx5IHNlbGYtcHJpbnQgU0VUIENPTExBVElP Ti4KCiAgICBhZGRlZDoKICAgICAgbXlzcWwtdGVzdC9yL3Jld3JpdGUucmVzdWx0CiAgICAgIG15 c3FsLXRlc3Qvc3VpdGUvYmlubG9nL3IvYmlubG9nX3Jld3JpdGUucmVzdWx0CiAgICAgIG15c3Fs LXRlc3Qvc3VpdGUvYmlubG9nL3QvYmlubG9nX3Jld3JpdGUudGVzdAogICAgICBteXNxbC10ZXN0 L3QvcmV3cml0ZS50ZXN0CiAgICAgIHNxbC9zcWxfcmV3cml0ZS5jYwogICAgICBzcWwvc3FsX3Jl d3JpdGUuaAogICAgbW9kaWZpZWQ6CiAgICAgIG15c3FsLXRlc3Qvci9sb2dfc3RhdGUucmVzdWx0 CiAgICAgIG15c3FsLXRlc3Qvci9sb2dfdGFibGVzLnJlc3VsdAogICAgICBteXNxbC10ZXN0L3Iv bXlzcWxkLS1oZWxwLW5vdHdpbi5yZXN1bHQKICAgICAgbXlzcWwtdGVzdC9yL215c3FsZC0taGVs cC13aW4ucmVzdWx0CiAgICAgIG15c3FsLXRlc3Qvci9wbHVnaW5fYXV0aC5yZXN1bHQKICAgICAg bXlzcWwtdGVzdC9zdWl0ZS9ycGwvci9ycGxfZG9fZ3JhbnQucmVzdWx0CiAgICAgIG15c3FsLXRl c3Qvc3VpdGUvcnBsL3IvcnBsX21peGVkX2ltcGxpY2l0X2NvbW1pdF9iaW5sb2cucmVzdWx0CiAg ICAgIG15c3FsLXRlc3Qvc3VpdGUvcnBsL3IvcnBsX3Jvd19pbXBsaWNpdF9jb21taXRfYmlubG9n LnJlc3VsdAogICAgICBteXNxbC10ZXN0L3N1aXRlL3JwbC9yL3JwbF9zcC5yZXN1bHQKICAgICAg bXlzcWwtdGVzdC9zdWl0ZS9ycGwvci9ycGxfc3RtX2ltcGxpY2l0X2NvbW1pdF9iaW5sb2cucmVz dWx0CiAgICAgIG15c3FsLXRlc3Qvc3VpdGUvcnBsL3IvcnBsX3VzZXIucmVzdWx0CiAgICAgIG15 c3FsLXRlc3Qvc3VpdGUvcnBsL3QvcnBsX2dyYW50X3BsdWdpbi50ZXN0CiAgICAgIG15c3FsLXRl c3QvdC9wbHVnaW5fYXV0aC50ZXN0CiAgICAgIHNxbC9DTWFrZUxpc3RzLnR4dAogICAgICBzcWwv bXlzcWxkLmNjCiAgICAgIHNxbC9teXNxbGQuaAogICAgICBzcWwvc2V0X3Zhci5jYwogICAgICBz cWwvc2V0X3Zhci5oCiAgICAgIHNxbC9zcWxfYWNsLmNjCiAgICAgIHNxbC9zcWxfYWNsLmgKICAg ICAgc3FsL3NxbF9jbGFzcy5oCiAgICAgIHNxbC9zcWxfcGFyc2UuY2MKICAgICAgc3FsL3NxbF95 YWNjLnl5CiAzMjY2IE1hcmMgQWxmZgkyMDExLTA4LTEwCiAgICAgIEZpeGVkIHRyZWUgbmFtZQoK ICAgIG1vZGlmaWVkOgogICAgICAuYnpyLW15c3FsL2RlZmF1bHQuY29uZgo9PT0gbW9kaWZpZWQg ZmlsZSAnbXlzcWwtdGVzdC9yL2xvZ19zdGF0ZS5yZXN1bHQnCi0tLSBhL215c3FsLXRlc3Qvci9s b2dfc3RhdGUucmVzdWx0CTIwMTEtMDItMTAgMTE6MTM6NDEgKzAwMDAKKysrIGIvbXlzcWwtdGVz dC9yL2xvZ19zdGF0ZS5yZXN1bHQJMjAxMS0wOC0xNyAxNDowNzowNyArMDAwMApAQCAtMjQsNyAr MjQsNyBAQCBzZWxlY3QgKiBmcm9tIG15c3FsLmdlbmVyYWxfbG9nOwogZXZlbnRfdGltZQl1c2Vy X2hvc3QJdGhyZWFkX2lkCXNlcnZlcl9pZAljb21tYW5kX3R5cGUJYXJndW1lbnQKIFRJTUVTVEFN UAlVU0VSX0hPU1QJIwkxCVF1ZXJ5CWNyZWF0ZSB0YWJsZSB0MShmMSBpbnQpCiBUSU1FU1RBTVAJ VVNFUl9IT1NUCSMJMQlRdWVyeQlzZWxlY3QgKiBmcm9tIG15c3FsLmdlbmVyYWxfbG9nCi1USU1F U1RBTVAJVVNFUl9IT1NUCSMJMQlRdWVyeQlzZXQgZ2xvYmFsIGdlbmVyYWxfbG9nPSBPRkYKK1RJ TUVTVEFNUAlVU0VSX0hPU1QJIwkxCVF1ZXJ5CVNFVCBHTE9CQUwgZ2VuZXJhbF9sb2c9J09GRicK IHNldCBnbG9iYWwgZ2VuZXJhbF9sb2c9IE9OOwogZmx1c2ggbG9nczsKIHNob3cgZ2xvYmFsIHZh cmlhYmxlcwoKPT09IG1vZGlmaWVkIGZpbGUgJ215c3FsLXRlc3Qvci9sb2dfdGFibGVzLnJlc3Vs dCcKLS0tIGEvbXlzcWwtdGVzdC9yL2xvZ190YWJsZXMucmVzdWx0CTIwMTEtMDItMjIgMDU6Mzc6 NDQgKzAwMDAKKysrIGIvbXlzcWwtdGVzdC9yL2xvZ190YWJsZXMucmVzdWx0CTIwMTEtMDgtMTcg MTQ6MDc6MDcgKzAwMDAKQEAgLTEyNyw3ICsxMjcsNyBAQCB0ZXN0CiDDlMOFw5PDlAogc2VsZWN0 ICogZnJvbSBteXNxbC5nZW5lcmFsX2xvZzsKIGV2ZW50X3RpbWUJdXNlcl9ob3N0CXRocmVhZF9p ZAlzZXJ2ZXJfaWQJY29tbWFuZF90eXBlCWFyZ3VtZW50Ci1USU1FU1RBTVAJVVNFUl9IT1NUCVRI UkVBRF9JRAkxCVF1ZXJ5CXNldCBuYW1lcyBiaW5hcnkKK1RJTUVTVEFNUAlVU0VSX0hPU1QJVEhS RUFEX0lECTEJUXVlcnkJU0VUIE5BTUVTICdiaW5hcnknCiBUSU1FU1RBTVAJVVNFUl9IT1NUCVRI UkVBRF9JRAkxCVF1ZXJ5CXNlbGVjdCBfa29pOHInXHhENFx4QzVceEQzXHhENCcgYXMgdGVzdAog VElNRVNUQU1QCVVTRVJfSE9TVAlUSFJFQURfSUQJMQlRdWVyeQlzZWxlY3QgKiBmcm9tIG15c3Fs LmdlbmVyYWxfbG9nCiBzZXQgbmFtZXMgdXRmODsKQEAgLTEzNyw3ICsxMzcsNyBAQCBjcmVhdGUg dGFibGUgYnVnMTY5MDUgKHMgY2hhcigxNSkgY2hhcmFjCiBpbnNlcnQgaW50byBidWcxNjkwNSB2 YWx1ZXMgKCfDkMK9w5DCvsOQwrLDkMK+w5DCtScpOwogc2VsZWN0ICogZnJvbSBteXNxbC5nZW5l cmFsX2xvZzsKIGV2ZW50X3RpbWUJdXNlcl9ob3N0CXRocmVhZF9pZAlzZXJ2ZXJfaWQJY29tbWFu ZF90eXBlCWFyZ3VtZW50Ci1USU1FU1RBTVAJVVNFUl9IT1NUCVRIUkVBRF9JRAkxCVF1ZXJ5CXNl dCBuYW1lcyB1dGY4CitUSU1FU1RBTVAJVVNFUl9IT1NUCVRIUkVBRF9JRAkxCVF1ZXJ5CVNFVCBO QU1FUyAndXRmOCcKIFRJTUVTVEFNUAlVU0VSX0hPU1QJVEhSRUFEX0lECTEJUXVlcnkJY3JlYXRl IHRhYmxlIGJ1ZzE2OTA1IChzIGNoYXIoMTUpIGNoYXJhY3RlciBzZXQgdXRmOCBkZWZhdWx0ICfD kMK/w5HCg8ORwoHDkcKCw5DCvicpCiBUSU1FU1RBTVAJVVNFUl9IT1NUCVRIUkVBRF9JRAkxCVF1 ZXJ5CWluc2VydCBpbnRvIGJ1ZzE2OTA1IHZhbHVlcyAoJ8OQwr3DkMK+w5DCssOQwr7DkMK1JykK IFRJTUVTVEFNUAlVU0VSX0hPU1QJVEhSRUFEX0lECTEJUXVlcnkJc2VsZWN0ICogZnJvbSBteXNx bC5nZW5lcmFsX2xvZwpAQCAtMjIxLDIyICsyMjEsMjIgQEAgc2V0IGdsb2JhbCBnZW5lcmFsX2xv Zz0nT04nOwogc2V0IGdsb2JhbCBzbG93X3F1ZXJ5X2xvZz0nT04nOwogc2VsZWN0ICogZnJvbSBt eXNxbC5nZW5lcmFsX2xvZzsKIGV2ZW50X3RpbWUJdXNlcl9ob3N0CXRocmVhZF9pZAlzZXJ2ZXJf aWQJY29tbWFuZF90eXBlCWFyZ3VtZW50Ci1USU1FU1RBTVAJVVNFUl9IT1NUCVRIUkVBRF9JRAkx CVF1ZXJ5CXNldCBuYW1lcyB1dGY4CitUSU1FU1RBTVAJVVNFUl9IT1NUCVRIUkVBRF9JRAkxCVF1 ZXJ5CVNFVCBOQU1FUyAndXRmOCcKIFRJTUVTVEFNUAlVU0VSX0hPU1QJVEhSRUFEX0lECTEJUXVl cnkJY3JlYXRlIHRhYmxlIGJ1ZzE2OTA1IChzIGNoYXIoMTUpIGNoYXJhY3RlciBzZXQgdXRmOCBk ZWZhdWx0ICfDkMK/w5HCg8ORwoHDkcKCw5DCvicpCiBUSU1FU1RBTVAJVVNFUl9IT1NUCVRIUkVB RF9JRAkxCVF1ZXJ5CWluc2VydCBpbnRvIGJ1ZzE2OTA1IHZhbHVlcyAoJ8OQwr3DkMK+w5DCssOQ wr7DkMK1JykKIFRJTUVTVEFNUAlVU0VSX0hPU1QJVEhSRUFEX0lECTEJUXVlcnkJc2VsZWN0ICog ZnJvbSBteXNxbC5nZW5lcmFsX2xvZwogVElNRVNUQU1QCVVTRVJfSE9TVAlUSFJFQURfSUQJMQlR dWVyeQlkcm9wIHRhYmxlIGJ1ZzE2OTA1CiBUSU1FU1RBTVAJVVNFUl9IT1NUCVRIUkVBRF9JRAkx CVF1ZXJ5CXRydW5jYXRlIHRhYmxlIG15c3FsLnNsb3dfbG9nCi1USU1FU1RBTVAJVVNFUl9IT1NU CVRIUkVBRF9JRAkxCVF1ZXJ5CXNldCBzZXNzaW9uIGxvbmdfcXVlcnlfdGltZT0xCitUSU1FU1RB TVAJVVNFUl9IT1NUCVRIUkVBRF9JRAkxCVF1ZXJ5CVNFVCBTRVNTSU9OIGxvbmdfcXVlcnlfdGlt ZT0xCiBUSU1FU1RBTVAJVVNFUl9IT1NUCVRIUkVBRF9JRAkxCVF1ZXJ5CXNlbGVjdCBzbGVlcCgy KQogVElNRVNUQU1QCVVTRVJfSE9TVAlUSFJFQURfSUQJMQlRdWVyeQlzZWxlY3QgKiBmcm9tIG15 c3FsLnNsb3dfbG9nCi1USU1FU1RBTVAJVVNFUl9IT1NUCVRIUkVBRF9JRAkxCVF1ZXJ5CXNldCBA QHNlc3Npb24ubG9uZ19xdWVyeV90aW1lID0gQHNhdmVkX2xvbmdfcXVlcnlfdGltZQorVElNRVNU QU1QCVVTRVJfSE9TVAlUSFJFQURfSUQJMQlRdWVyeQlTRVQgU0VTU0lPTiBsb25nX3F1ZXJ5X3Rp bWU9KEBzYXZlZF9sb25nX3F1ZXJ5X3RpbWUpCiBUSU1FU1RBTVAJVVNFUl9IT1NUCVRIUkVBRF9J RAkxCVF1ZXJ5CWFsdGVyIHRhYmxlIG15c3FsLmdlbmVyYWxfbG9nIGVuZ2luZT1teWlzYW0KIFRJ TUVTVEFNUAlVU0VSX0hPU1QJVEhSRUFEX0lECTEJUXVlcnkJYWx0ZXIgdGFibGUgbXlzcWwuc2xv d19sb2cgZW5naW5lPW15aXNhbQogVElNRVNUQU1QCVVTRVJfSE9TVAlUSFJFQURfSUQJMQlRdWVy eQlkcm9wIHRhYmxlIG15c3FsLmdlbmVyYWxfbG9nCiBUSU1FU1RBTVAJVVNFUl9IT1NUCVRIUkVB RF9JRAkxCVF1ZXJ5CWRyb3AgdGFibGUgbXlzcWwuc2xvd19sb2cKLVRJTUVTVEFNUAlVU0VSX0hP U1QJVEhSRUFEX0lECTEJUXVlcnkJc2V0IGdsb2JhbCBnZW5lcmFsX2xvZz0nT0ZGJwotVElNRVNU QU1QCVVTRVJfSE9TVAlUSFJFQURfSUQJMQlRdWVyeQlzZXQgZ2xvYmFsIHNsb3dfcXVlcnlfbG9n PSdPTicKK1RJTUVTVEFNUAlVU0VSX0hPU1QJVEhSRUFEX0lECTEJUXVlcnkJU0VUIEdMT0JBTCBn ZW5lcmFsX2xvZz0nT0ZGJworVElNRVNUQU1QCVVTRVJfSE9TVAlUSFJFQURfSUQJMQlRdWVyeQlT RVQgR0xPQkFMIHNsb3dfcXVlcnlfbG9nPSdPTicKIFRJTUVTVEFNUAlVU0VSX0hPU1QJVEhSRUFE X0lECTEJUXVlcnkJc2VsZWN0ICogZnJvbSBteXNxbC5nZW5lcmFsX2xvZwogZmx1c2ggbG9nczsK IGxvY2sgdGFibGVzIG15c3FsLmdlbmVyYWxfbG9nIFdSSVRFOwpAQCAtNjc0LDExMiArNjc0LDEz IEBAIGV4ZWN1dGUgbG9uZ19xdWVyeSB1c2luZyBAbHBhcmFtOwogc2V0IGdsb2JhbCBnZW5lcmFs X2xvZyA9IG9mZjsKIHNlbGVjdCBjb21tYW5kX3R5cGUsIGFyZ3VtZW50IGZyb20gbXlzcWwuZ2Vu ZXJhbF9sb2cgd2hlcmUgdGhyZWFkX2lkID0gQHRocmVhZF9pZDsKIGNvbW1hbmRfdHlwZQlhcmd1 bWVudAotUXVlcnkJc2V0IGdsb2JhbCBnZW5lcmFsX2xvZyA9IG9uCi1RdWVyeQlzZXQgQGxwYXJh bSA9ICIwMDAgMDAxIDAwMiAwMDMgMDA0IDAwNSAwMDYgMDA3IDAwOCAwMDkiCi0gICAgICAgICAg ICAgICIwMTAgMDExIDAxMiAwMTMgMDE0IDAxNSAwMTYgMDE3IDAxOCAwMTkiCi0gICAgICAgICAg ICAgICIwMjAgMDIxIDAyMiAwMjMgMDI0IDAyNSAwMjYgMDI3IDAyOCAwMjkiCi0gICAgICAgICAg ICAgICIwMzAgMDMxIDAzMiAwMzMgMDM0IDAzNSAwMzYgMDM3IDAzOCAwMzkiCi0gICAgICAgICAg ICAgICIwNDAgMDQxIDA0MiAwNDMgMDQ0IDA0NSAwNDYgMDQ3IDA0OCAwNDkiCi0gICAgICAgICAg ICAgICIwNTAgMDUxIDA1MiAwNTMgMDU0IDA1NSAwNTYgMDU3IDA1OCAwNTkiCi0gICAgICAgICAg ICAgICIwNjAgMDYxIDA2MiAwNjMgMDY0IDA2NSAwNjYgMDY3IDA2OCAwNjkiCi0gICAgICAgICAg ICAgICIwNzAgMDcxIDA3MiAwNzMgMDc0IDA3NSAwNzYgMDc3IDA3OCAwNzkiCi0gICAgICAgICAg ICAgICIwODAgMDgxIDA4MiAwODMgMDg0IDA4NSAwODYgMDg3IDA4OCAwODkiCi0gICAgICAgICAg ICAgICIwOTAgMDkxIDA5MiAwOTMgMDk0IDA5NSAwOTYgMDk3IDA5OCAwOTkiCi0gICAgICAgICAg ICAgICIxMDAgMTAxIDEwMiAxMDMgMTA0IDEwNSAxMDYgMTA3IDEwOCAxMDkiCi0gICAgICAgICAg ICAgICIxMTAgMTExIDExMiAxMTMgMTE0IDExNSAxMTYgMTE3IDExOCAxMTkiCi0gICAgICAgICAg ICAgICIxMjAgMTIxIDEyMiAxMjMgMTI0IDEyNSAxMjYgMTI3IDEyOCAxMjkiCi0gICAgICAgICAg ICAgICIxMzAgMTMxIDEzMiAxMzMgMTM0IDEzNSAxMzYgMTM3IDEzOCAxMzkiCi0gICAgICAgICAg ICAgICIxNDAgMTQxIDE0MiAxNDMgMTQ0IDE0NSAxNDYgMTQ3IDE0OCAxNDkiCi0gICAgICAgICAg ICAgICIxNTAgMTUxIDE1MiAxNTMgMTU0IDE1NSAxNTYgMTU3IDE1OCAxNTkiCi0gICAgICAgICAg ICAgICIxNjAgMTYxIDE2MiAxNjMgMTY0IDE2NSAxNjYgMTY3IDE2OCAxNjkiCi0gICAgICAgICAg ICAgICIxNzAgMTcxIDE3MiAxNzMgMTc0IDE3NSAxNzYgMTc3IDE3OCAxNzkiCi0gICAgICAgICAg ICAgICIxODAgMTgxIDE4MiAxODMgMTg0IDE4NSAxODYgMTg3IDE4OCAxODkiCi0gICAgICAgICAg ICAgICIxOTAgMTkxIDE5MiAxOTMgMTk0IDE5NSAxOTYgMTk3IDE5OCAxOTkiCi0gICAgICAgICAg ICAgICIyMDAgMjAxIDIwMiAyMDMgMjA0IDIwNSAyMDYgMjA3IDIwOCAyMDkiCi0gICAgICAgICAg ICAgICIyMTAgMjExIDIxMiAyMTMgMjE0IDIxNSAyMTYgMjE3IDIxOCAyMTkiCi0gICAgICAgICAg ICAgICIyMjAgMjIxIDIyMiAyMjMgMjI0IDIyNSAyMjYgMjI3IDIyOCAyMjkiCi0gICAgICAgICAg ICAgICIyMzAgMjMxIDIzMiAyMzMgMjM0IDIzNSAyMzYgMjM3IDIzOCAyMzkiCi0gICAgICAgICAg ICAgICIyNDAgMjQxIDI0MiAyNDMgMjQ0IDI0NSAyNDYgMjQ3IDI0OCAyNDkiCi0gICAgICAgICAg ICAgICIyNTAgMjUxIDI1MiAyNTMgMjU0IDI1NSAyNTYgMjU3IDI1OCAyNTkiCi0gICAgICAgICAg ICAgICIyNjAgMjYxIDI2MiAyNjMgMjY0IDI2NSAyNjYgMjY3IDI2OCAyNjkiCi0gICAgICAgICAg ICAgICIyNzAgMjcxIDI3MiAyNzMgMjc0IDI3NSAyNzYgMjc3IDI3OCAyNzkiCi0gICAgICAgICAg ICAgICIyODAgMjgxIDI4MiAyODMgMjg0IDI4NSAyODYgMjg3IDI4OCAyODkiCi0gICAgICAgICAg ICAgICIyOTAgMjkxIDI5MiAyOTMgMjk0IDI5NSAyOTYgMjk3IDI5OCAyOTkiCi0gICAgICAgICAg ICAgICIzMDAgMzAxIDMwMiAzMDMgMzA0IDMwNSAzMDYgMzA3IDMwOCAzMDkiCi0gICAgICAgICAg ICAgICIzMTAgMzExIDMxMiAzMTMgMzE0IDMxNSAzMTYgMzE3IDMxOCAzMTkiCi0gICAgICAgICAg ICAgICIzMjAgMzIxIDMyMiAzMjMgMzI0IDMyNSAzMjYgMzI3IDMyOCAzMjkiCi0gICAgICAgICAg ICAgICIzMzAgMzMxIDMzMiAzMzMgMzM0IDMzNSAzMzYgMzM3IDMzOCAzMzkiCi0gICAgICAgICAg ICAgICIzNDAgMzQxIDM0MiAzNDMgMzQ0IDM0NSAzNDYgMzQ3IDM0OCAzNDkiCi0gICAgICAgICAg ICAgICIzNTAgMzUxIDM1MiAzNTMgMzU0IDM1NSAzNTYgMzU3IDM1OCAzNTkiCi0gICAgICAgICAg ICAgICIzNjAgMzYxIDM2MiAzNjMgMzY0IDM2NSAzNjYgMzY3IDM2OCAzNjkiCi0gICAgICAgICAg ICAgICIzNzAgMzcxIDM3MiAzNzMgMzc0IDM3NSAzNzYgMzc3IDM3OCAzNzkiCi0gICAgICAgICAg ICAgICIzODAgMzgxIDM4MiAzODMgMzg0IDM4NSAzODYgMzg3IDM4OCAzODkiCi0gICAgICAgICAg ICAgICIzOTAgMzkxIDM5MiAzOTMgMzk0IDM5NSAzOTYgMzk3IDM5OCAzOTkiCi0gICAgICAgICAg ICAgICI0MDAgNDAxIDQwMiA0MDMgNDA0IDQwNSA0MDYgNDA3IDQwOCA0MDkiCi0gICAgICAgICAg ICAgICI0MTAgNDExIDQxMiA0MTMgNDE0IDQxNSA0MTYgNDE3IDQxOCA0MTkiCi0gICAgICAgICAg ICAgICI0MjAgNDIxIDQyMiA0MjMgNDI0IDQyNSA0MjYgNDI3IDQyOCA0MjkiCi0gICAgICAgICAg ICAgICI0MzAgNDMxIDQzMiA0MzMgNDM0IDQzNSA0MzYgNDM3IDQzOCA0MzkiCi0gICAgICAgICAg ICAgICI0NDAgNDQxIDQ0MiA0NDMgNDQ0IDQ0NSA0NDYgNDQ3IDQ0OCA0NDkiCi0gICAgICAgICAg ICAgICI0NTAgNDUxIDQ1MiA0NTMgNDU0IDQ1NSA0NTYgNDU3IDQ1OCA0NTkiCi0gICAgICAgICAg ICAgICI0NjAgNDYxIDQ2MiA0NjMgNDY0IDQ2NSA0NjYgNDY3IDQ2OCA0NjkiCi0gICAgICAgICAg ICAgICI0NzAgNDcxIDQ3MiA0NzMgNDc0IDQ3NSA0NzYgNDc3IDQ3OCA0NzkiCi0gICAgICAgICAg ICAgICI0ODAgNDgxIDQ4MiA0ODMgNDg0IDQ4NSA0ODYgNDg3IDQ4OCA0ODkiCi0gICAgICAgICAg ICAgICI0OTAgNDkxIDQ5MiA0OTMgNDk0IDQ5NSA0OTYgNDk3IDQ5OCA0OTkiCi0gICAgICAgICAg ICAgICI1MDAgNTAxIDUwMiA1MDMgNTA0IDUwNSA1MDYgNTA3IDUwOCA1MDkiCi0gICAgICAgICAg ICAgICI1MTAgNTExIDUxMiA1MTMgNTE0IDUxNSA1MTYgNTE3IDUxOCA1MTkiCi0gICAgICAgICAg ICAgICI1MjAgNTIxIDUyMiA1MjMgNTI0IDUyNSA1MjYgNTI3IDUyOCA1MjkiCi0gICAgICAgICAg ICAgICI1MzAgNTMxIDUzMiA1MzMgNTM0IDUzNSA1MzYgNTM3IDUzOCA1MzkiCi0gICAgICAgICAg ICAgICI1NDAgNTQxIDU0MiA1NDMgNTQ0IDU0NSA1NDYgNTQ3IDU0OCA1NDkiCi0gICAgICAgICAg ICAgICI1NTAgNTUxIDU1MiA1NTMgNTU0IDU1NSA1NTYgNTU3IDU1OCA1NTkiCi0gICAgICAgICAg ICAgICI1NjAgNTYxIDU2MiA1NjMgNTY0IDU2NSA1NjYgNTY3IDU2OCA1NjkiCi0gICAgICAgICAg ICAgICI1NzAgNTcxIDU3MiA1NzMgNTc0IDU3NSA1NzYgNTc3IDU3OCA1NzkiCi0gICAgICAgICAg ICAgICI1ODAgNTgxIDU4MiA1ODMgNTg0IDU4NSA1ODYgNTg3IDU4OCA1ODkiCi0gICAgICAgICAg ICAgICI1OTAgNTkxIDU5MiA1OTMgNTk0IDU5NSA1OTYgNTk3IDU5OCA1OTkiCi0gICAgICAgICAg ICAgICI2MDAgNjAxIDYwMiA2MDMgNjA0IDYwNSA2MDYgNjA3IDYwOCA2MDkiCi0gICAgICAgICAg ICAgICI2MTAgNjExIDYxMiA2MTMgNjE0IDYxNSA2MTYgNjE3IDYxOCA2MTkiCi0gICAgICAgICAg ICAgICI2MjAgNjIxIDYyMiA2MjMgNjI0IDYyNSA2MjYgNjI3IDYyOCA2MjkiCi0gICAgICAgICAg ICAgICI2MzAgNjMxIDYzMiA2MzMgNjM0IDYzNSA2MzYgNjM3IDYzOCA2MzkiCi0gICAgICAgICAg ICAgICI2NDAgNjQxIDY0MiA2NDMgNjQ0IDY0NSA2NDYgNjQ3IDY0OCA2NDkiCi0gICAgICAgICAg ICAgICI2NTAgNjUxIDY1MiA2NTMgNjU0IDY1NSA2NTYgNjU3IDY1OCA2NTkiCi0gICAgICAgICAg ICAgICI2NjAgNjYxIDY2MiA2NjMgNjY0IDY2NSA2NjYgNjY3IDY2OCA2NjkiCi0gICAgICAgICAg ICAgICI2NzAgNjcxIDY3MiA2NzMgNjc0IDY3NSA2NzYgNjc3IDY3OCA2NzkiCi0gICAgICAgICAg ICAgICI2ODAgNjgxIDY4MiA2ODMgNjg0IDY4NSA2ODYgNjg3IDY4OCA2ODkiCi0gICAgICAgICAg ICAgICI2OTAgNjkxIDY5MiA2OTMgNjk0IDY5NSA2OTYgNjk3IDY5OCA2OTkiCi0gICAgICAgICAg ICAgICI3MDAgNzAxIDcwMiA3MDMgNzA0IDcwNSA3MDYgNzA3IDcwOCA3MDkiCi0gICAgICAgICAg ICAgICI3MTAgNzExIDcxMiA3MTMgNzE0IDcxNSA3MTYgNzE3IDcxOCA3MTkiCi0gICAgICAgICAg ICAgICI3MjAgNzIxIDcyMiA3MjMgNzI0IDcyNSA3MjYgNzI3IDcyOCA3MjkiCi0gICAgICAgICAg ICAgICI3MzAgNzMxIDczMiA3MzMgNzM0IDczNSA3MzYgNzM3IDczOCA3MzkiCi0gICAgICAgICAg ICAgICI3NDAgNzQxIDc0MiA3NDMgNzQ0IDc0NSA3NDYgNzQ3IDc0OCA3NDkiCi0gICAgICAgICAg ICAgICI3NTAgNzUxIDc1MiA3NTMgNzU0IDc1NSA3NTYgNzU3IDc1OCA3NTkiCi0gICAgICAgICAg ICAgICI3NjAgNzYxIDc2MiA3NjMgNzY0IDc2NSA3NjYgNzY3IDc2OCA3NjkiCi0gICAgICAgICAg ICAgICI3NzAgNzcxIDc3MiA3NzMgNzc0IDc3NSA3NzYgNzc3IDc3OCA3NzkiCi0gICAgICAgICAg ICAgICI3ODAgNzgxIDc4MiA3ODMgNzg0IDc4NSA3ODYgNzg3IDc4OCA3ODkiCi0gICAgICAgICAg ICAgICI3OTAgNzkxIDc5MiA3OTMgNzk0IDc5NSA3OTYgNzk3IDc5OCA3OTkiCi0gICAgICAgICAg ICAgICI4MDAgODAxIDgwMiA4MDMgODA0IDgwNSA4MDYgODA3IDgwOCA4MDkiCi0gICAgICAgICAg ICAgICI4MTAgODExIDgxMiA4MTMgODE0IDgxNSA4MTYgODE3IDgxOCA4MTkiCi0gICAgICAgICAg ICAgICI4MjAgODIxIDgyMiA4MjMgODI0IDgyNSA4MjYgODI3IDgyOCA4MjkiCi0gICAgICAgICAg ICAgICI4MzAgODMxIDgzMiA4MzMgODM0IDgzNSA4MzYgODM3IDgzOCA4MzkiCi0gICAgICAgICAg ICAgICI4NDAgODQxIDg0MiA4NDMgODQ0IDg0NSA4NDYgODQ3IDg0OCA4NDkiCi0gICAgICAgICAg ICAgICI4NTAgODUxIDg1MiA4NTMgODU0IDg1NSA4NTYgODU3IDg1OCA4NTkiCi0gICAgICAgICAg ICAgICI4NjAgODYxIDg2MiA4NjMgODY0IDg2NSA4NjYgODY3IDg2OCA4NjkiCi0gICAgICAgICAg ICAgICI4NzAgODcxIDg3MiA4NzMgODc0IDg3NSA4NzYgODc3IDg3OCA4NzkiCi0gICAgICAgICAg ICAgICI4ODAgODgxIDg4MiA4ODMgODg0IDg4NSA4ODYgODg3IDg4OCA4ODkiCi0gICAgICAgICAg ICAgICI4OTAgODkxIDg5MiA4OTMgODk0IDg5NSA4OTYgODk3IDg5OCA4OTkiCi0gICAgICAgICAg ICAgICI5MDAgOTAxIDkwMiA5MDMgOTA0IDkwNSA5MDYgOTA3IDkwOCA5MDkiCi0gICAgICAgICAg ICAgICI5MTAgOTExIDkxMiA5MTMgOTE0IDkxNSA5MTYgOTE3IDkxOCA5MTkiCi0gICAgICAgICAg ICAgICI5MjAgOTIxIDkyMiA5MjMgOTI0IDkyNSA5MjYgOTI3IDkyOCA5MjkiCi0gICAgICAgICAg ICAgICI5MzAgOTMxIDkzMiA5MzMgOTM0IDkzNSA5MzYgOTM3IDkzOCA5MzkiCi0gICAgICAgICAg ICAgICI5NDAgOTQxIDk0MiA5NDMgOTQ0IDk0NSA5NDYgOTQ3IDk0OCA5NDkiCi0gICAgICAgICAg ICAgICI5NTAgOTUxIDk1MiA5NTMgOTU0IDk1NSA5NTYgOTU3IDk1OCA5NTkiCi0gICAgICAgICAg ICAgICI5NjAgOTYxIDk2MiA5NjMgOTY0IDk2NSA5NjYgOTY3IDk2OCA5NjkiCi0gICAgICAgICAg ICAgICI5NzAgOTcxIDk3MiA5NzMgOTc0IDk3NSA5NzYgOTc3IDk3OCA5NzkiCi0gICAgICAgICAg ICAgICI5ODAgOTgxIDk4MiA5ODMgOTg0IDk4NSA5ODYgOTg3IDk4OCA5ODkiCi0gICAgICAgICAg ICAgICI5OTAgOTkxIDk5MiA5OTMgOTk0IDk5NSA5OTYgOTk3IDk5OCA5OTkiCitRdWVyeQlTRVQg R0xPQkFMIGdlbmVyYWxfbG9nPSdPTicKK1F1ZXJ5CVNFVCAoQGxwYXJhbTo9JzAwMCAwMDEgMDAy IDAwMyAwMDQgMDA1IDAwNiAwMDcgMDA4IDAwOTAxMCAwMTEgMDEyIDAxMyAwMTQgMDE1IDAxNiAw MTcgMDE4IDAxOTAyMCAwMjEgMDIyIDAyMyAwMjQgMDI1IDAyNiAwMjcgMDI4IDAyOTAzMCAwMzEg MDMyIDAzMyAwMzQgMDM1IDAzNiAwMzcgMDM4IDAzOTA0MCAwNDEgMDQyIDA0MyAwNDQgMDQ1IDA0 NiAwNDcgMDQ4IDA0OTA1MCAwNTEgMDUyIDA1MyAwNTQgMDU1IDA1NiAwNTcgMDU4IDA1OTA2MCAw NjEgMDYyIDA2MyAwNjQgMDY1IDA2NiAwNjcgMDY4IDA2OTA3MCAwNzEgMDcyIDA3MyAwNzQgMDc1 IDA3NiAwNzcgMDc4IDA3OTA4MCAwODEgMDgyIDA4MyAwODQgMDg1IDA4NiAwODcgMDg4IDA4OTA5 MCAwOTEgMDkyIDA5MyAwOTQgMDk1IDA5NiAwOTcgMDk4IDA5OTEwMCAxMDEgMTAyIDEwMyAxMDQg MTA1IDEwNiAxMDcgMTA4IDEwOTExMCAxMTEgMTEyIDExMyAxMTQgMTE1IDExNiAxMTcgMTE4IDEx OTEyMCAxMjEgMTIyIDEyMyAxMjQgMTI1IDEyNiAxMjcgMTI4IDEyOTEzMCAxMzEgMTMyIDEzMyAx MzQgMTM1IDEzNiAxMzcgMTM4IDEzOTE0MCAxNDEgMTQyIDE0MyAxNDQgMTQ1IDE0NiAxNDcgMTQ4 IDE0OTE1MCAxNTEgMTUyIDE1MyAxNTQgMTU1IDE1NiAxNTcgMTU4IDE1OTE2MCAxNjEgMTYyIDE2 MyAxNjQgMTY1IDE2NiAxNjcgMTY4IDE2OTE3MCAxNzEgMTcyIDE3MyAxNzQgMTc1IDE3NiAxNzcg MTc4IDE3OTE4MCAxODEgMTgyIDE4MyAxODQgMTg1IDE4NiAxODcgMTg4IDE4OTE5MCAxOTEgMTky IDE5MyAxOTQgMTk1IDE5NiAxOTcgMTk4IDE5OTIwMCAyMDEgMjAyIDIwMyAyMDQgMjA1IDIwNiAy MDcgMjA4IDIwOTIxMCAyMTEgMjEyIDIxMyAyMTQgMjE1IDIxNiAyMTcgMjE4IDIxOTIyMCAyMjEg MjIyIDIyMyAyMjQgMjI1IDIyNiAyMjcgMjI4IDIyOTIzMCAyMzEgMjMyIDIzMyAyMzQgMjM1IDIz NiAyMzcgMjM4IDIzOTI0MCAyNDEgMjQyIDI0MyAyNDQgMjQ1IDI0NiAyNDcgMjQ4IDI0OTI1MCAy NTEgMjUyIDI1MyAyNTQgMjU1IDI1NiAyNTcgMjU4IDI1OTI2MCAyNjEgMjYyIDI2MyAyNjQgMjY1 IDI2NiAyNjcgMjY4IDI2OTI3MCAyNzEgMjcyIDI3MyAyNzQgMjc1IDI3NiAyNzcgMjc4IDI3OTI4 MCAyODEgMjgyIDI4MyAyODQgMjg1IDI4NiAyODcgMjg4IDI4OTI5MCAyOTEgMjkyIDI5MyAyOTQg Mjk1IDI5NiAyOTcgMjk4IDI5OTMwMCAzMDEgMzAyIDMwMyAzMDQgMzA1IDMwNiAzMDcgMzA4IDMw OTMxMCAzMTEgMzEyIDMxMyAzMTQgMzE1IDMxNiAzMTcgMzE4IDMxOTMyMCAzMjEgMzIyIDMyMyAz MjQgMzI1IDMyNiAzMjcgMzI4IDMyOTMzMCAzMzEgMzMyIDMzMyAzMzQgMzM1IDMzNiAzMzcgMzM4 IDMzOTM0MCAzNDEgMzQyIDM0MyAzNDQgMzQ1IDM0NiAzNDcgMzQ4IDM0OTM1MCAzNTEgMzUyIDM1 MyAzNTQgMzU1IDM1NiAzNTcgMzU4IDM1OTM2MCAzNjEgMzYyIDM2MyAzNjQgMzY1IDM2NiAzNjcg MzY4IDM2OTM3MCAzNzEgMzcyIDM3MyAzNzQgMzc1IDM3NiAzNzcgMzc4IDM3OTM4MCAzODEgMzgy IDM4MyAzODQgMzg1IDM4NiAzODcgMzg4IDM4OTM5MCAzOTEgMzkyIDM5MyAzOTQgMzk1IDM5NiAz OTcgMzk4IDM5OTQwMCA0MDEgNDAyIDQwMyA0MDQgNDA1IDQwNiA0MDcgNDA4IDQwOTQxMCA0MTEg NDEyIDQxMyA0MTQgNDE1IDQxNiA0MTcgNDE4IDQxOTQyMCA0MjEgNDIyIDQyMyA0MjQgNDI1IDQy NiA0MjcgNDI4IDQyOTQzMCA0MzEgNDMyIDQzMyA0MzQgNDM1IDQzNiA0MzcgNDM4IDQzOTQ0MCA0 NDEgNDQyIDQ0MyA0NDQgNDQ1IDQ0NiA0NDcgNDQ4IDQ0OTQ1MCA0NTEgNDUyIDQ1MyA0NTQgNDU1 IDQ1NiA0NTcgNDU4IDQ1OTQ2MCA0NjEgNDYyIDQ2MyA0NjQgNDY1IDQ2NiA0NjcgNDY4IDQ2OTQ3 MCA0NzEgNDcyIDQ3MyA0NzQgNDc1IDQ3NiA0NzcgNDc4IDQ3OTQ4MCA0ODEgNDgyIDQ4MyA0ODQg NDg1IDQ4NiA0ODcgNDg4IDQ4OTQ5MCA0OTEgNDkyIDQ5MyA0OTQgNDk1IDQ5NiA0OTcgNDk4IDQ5 OTUwMCA1MDEgNTAyIDUwMyA1MDQgNTA1IDUwNiA1MDcgNTA4IDUwOTUxMCA1MTEgNTEyIDUxMyA1 MTQgNTE1IDUxNiA1MTcgNTE4IDUxOTUyMCA1MjEgNTIyIDUyMyA1MjQgNTI1IDUyNiA1MjcgNTI4 IDUyOTUzMCA1MzEgNTMyIDUzMyA1MzQgNTM1IDUzNiA1MzcgNTM4IDUzOTU0MCA1NDEgNTQyIDU0 MyA1NDQgNTQ1IDU0NiA1NDcgNTQ4IDU0OTU1MCA1NTEgNTUyIDU1MyA1NTQgNTU1IDU1NiA1NTcg NTU4IDU1OTU2MCA1NjEgNTYyIDU2MyA1NjQgNTY1IDU2NiA1NjcgNTY4IDU2OTU3MCA1NzEgNTcy IDU3MyA1NzQgNTc1IDU3NiA1NzcgNTc4IDU3OTU4MCA1ODEgNTgyIDU4MyA1ODQgNTg1IDU4NiA1 ODcgNTg4IDU4OTU5MCA1OTEgNTkyIDU5MyA1OTQgNTk1IDU5NiA1OTcgNTk4IDU5OTYwMCA2MDEg NjAyIDYwMyA2MDQgNjA1IDYwNiA2MDcgNjA4IDYwOTYxMCA2MTEgNjEyIDYxMyA2MTQgNjE1IDYx NiA2MTcgNjE4IDYxOTYyMCA2MjEgNjIyIDYyMyA2MjQgNjI1IDYyNiA2MjcgNjI4IDYyOTYzMCA2 MzEgNjMyIDYzMyA2MzQgNjM1IDYzNiA2MzcgNjM4IDYzOTY0MCA2NDEgNjQyIDY0MyA2NDQgNjQ1 IDY0NiA2NDcgNjQ4IDY0OTY1MCA2NTEgNjUyIDY1MyA2NTQgNjU1IDY1NiA2NTcgNjU4IDY1OTY2 MCA2NjEgNjYyIDY2MyA2NjQgNjY1IDY2NiA2NjcgNjY4IDY2OTY3MCA2NzEgNjcyIDY3MyA2NzQg Njc1IDY3NiA2NzcgNjc4IDY3OTY4MCA2ODEgNjgyIDY4MyA2ODQgNjg1IDY4NiA2ODcgNjg4IDY4 OTY5MCA2OTEgNjkyIDY5MyA2OTQgNjk1IDY5NiA2OTcgNjk4IDY5OTcwMCA3MDEgNzAyIDcwMyA3 MDQgNzA1IDcwNiA3MDcgNzA4IDcwOTcxMCA3MTEgNzEyIDcxMyA3MTQgNzE1IDcxNiA3MTcgNzE4 IDcxOTcyMCA3MjEgNzIyIDcyMyA3MjQgNzI1IDcyNiA3MjcgNzI4IDcyOTczMCA3MzEgNzMyIDcz MyA3MzQgNzM1IDczNiA3MzcgNzM4IDczOTc0MCA3NDEgNzQyIDc0MyA3NDQgNzQ1IDc0NiA3NDcg NzQ4IDc0OTc1MCA3NTEgNzUyIDc1MyA3NTQgNzU1IDc1NiA3NTcgNzU4IDc1OTc2MCA3NjEgNzYy IDc2MyA3NjQgNzY1IDc2NiA3NjcgNzY4IDc2OTc3MCA3NzEgNzcyIDc3MyA3NzQgNzc1IDc3NiA3 NzcgNzc4IDc3OTc4MCA3ODEgNzgyIDc4MyA3ODQgNzg1IDc4NiA3ODcgNzg4IDc4OTc5MCA3OTEg NzkyIDc5MyA3OTQgNzk1IDc5NiA3OTcgNzk4IDc5OTgwMCA4MDEgODAyIDgwMyA4MDQgODA1IDgw NiA4MDcgODA4IDgwOTgxMCA4MTEgODEyIDgxMyA4MTQgODE1IDgxNiA4MTcgODE4IDgxOTgyMCA4 MjEgODIyIDgyMyA4MjQgODI1IDgyNiA4MjcgODI4IDgyOTgzMCA4MzEgODMyIDgzMyA4MzQgODM1 IDgzNiA4MzcgODM4IDgzOTg0MCA4NDEgODQyIDg0MyA4NDQgODQ1IDg0NiA4NDcgODQ4IDg0OTg1 MCA4NTEgODUyIDg1MyA4NTQgODU1IDg1NiA4NTcgODU4IDg1OTg2MCA4NjEgODYyIDg2MyA4NjQg ODY1IDg2NiA4NjcgODY4IDg2OTg3MCA4NzEgODcyIDg3MyA4NzQgODc1IDg3NiA4NzcgODc4IDg3 OTg4MCA4ODEgODgyIDg4MyA4ODQgODg1IDg4NiA4ODcgODg4IDg4OTg5MCA4OTEgODkyIDg5MyA4 OTQgODk1IDg5NiA4OTcgODk4IDg5OTkwMCA5MDEgOTAyIDkwMyA5MDQgOTA1IDkwNiA5MDcgOTA4 IDkwOTkxMCA5MTEgOTEyIDkxMyA5MTQgOTE1IDkxNiA5MTcgOTE4IDkxOTkyMCA5MjEgOTIyIDky MyA5MjQgOTI1IDkyNiA5MjcgOTI4IDkyOTkzMCA5MzEgOTMyIDkzMyA5MzQgOTM1IDkzNiA5Mzcg OTM4IDkzOTk0MCA5NDEgOTQyIDk0MyA5NDQgOTQ1IDk0NiA5NDcgOTQ4IDk0OTk1MCA5NTEgOTUy IDk1MyA5NTQgOTU1IDk1NiA5NTcgOTU4IDk1OTk2MCA5NjEgOTYyIDk2MyA5NjQgOTY1IDk2NiA5 NjcgOTY4IDk2OTk3MCA5NzEgOTcyIDk3MyA5NzQgOTc1IDk3NiA5NzcgOTc4IDk3OTk4MCA5ODEg OTgyIDk4MyA5ODQgOTg1IDk4NiA5ODcgOTg4IDk4OTk5MCA5OTEgOTkyIDk5MyA5OTQgOTk1IDk5 NiA5OTcgOTk4IDk5OScpCiBRdWVyeQlwcmVwYXJlIGxvbmdfcXVlcnkgZnJvbSAic2VsZWN0ID8g YXMgbG9uZ19xdWVyeSIKIFByZXBhcmUJc2VsZWN0ID8gYXMgbG9uZ19xdWVyeQogUXVlcnkJZXhl Y3V0ZSBsb25nX3F1ZXJ5IHVzaW5nIEBscGFyYW0KIEV4ZWN1dGUJc2VsZWN0ICcwMDAgMDAxIDAw MiAwMDMgMDA0IDAwNSAwMDYgMDA3IDAwOCAwMDkwMTAgMDExIDAxMiAwMTMgMDE0IDAxNSAwMTYg MDE3IDAxOCAwMTkwMjAgMDIxIDAyMiAwMjMgMDI0IDAyNSAwMjYgMDI3IDAyOCAwMjkwMzAgMDMx IDAzMiAwMzMgMDM0IDAzNSAwMzYgMDM3IDAzOCAwMzkwNDAgMDQxIDA0MiAwNDMgMDQ0IDA0NSAw NDYgMDQ3IDA0OCAwNDkwNTAgMDUxIDA1MiAwNTMgMDU0IDA1NSAwNTYgMDU3IDA1OCAwNTkwNjAg MDYxIDA2MiAwNjMgMDY0IDA2NSAwNjYgMDY3IDA2OCAwNjkwNzAgMDcxIDA3MiAwNzMgMDc0IDA3 NSAwNzYgMDc3IDA3OCAwNzkwODAgMDgxIDA4MiAwODMgMDg0IDA4NSAwODYgMDg3IDA4OCAwODkw OTAgMDkxIDA5MiAwOTMgMDk0IDA5NSAwOTYgMDk3IDA5OCAwOTkxMDAgMTAxIDEwMiAxMDMgMTA0 IDEwNSAxMDYgMTA3IDEwOCAxMDkxMTAgMTExIDExMiAxMTMgMTE0IDExNSAxMTYgMTE3IDExOCAx MTkxMjAgMTIxIDEyMiAxMjMgMTI0IDEyNSAxMjYgMTI3IDEyOCAxMjkxMzAgMTMxIDEzMiAxMzMg MTM0IDEzNSAxMzYgMTM3IDEzOCAxMzkxNDAgMTQxIDE0MiAxNDMgMTQ0IDE0NSAxNDYgMTQ3IDE0 OCAxNDkxNTAgMTUxIDE1MiAxNTMgMTU0IDE1NSAxNTYgMTU3IDE1OCAxNTkxNjAgMTYxIDE2MiAx NjMgMTY0IDE2NSAxNjYgMTY3IDE2OCAxNjkxNzAgMTcxIDE3MiAxNzMgMTc0IDE3NSAxNzYgMTc3 IDE3OCAxNzkxODAgMTgxIDE4MiAxODMgMTg0IDE4NSAxODYgMTg3IDE4OCAxODkxOTAgMTkxIDE5 MiAxOTMgMTk0IDE5NSAxOTYgMTk3IDE5OCAxOTkyMDAgMjAxIDIwMiAyMDMgMjA0IDIwNSAyMDYg MjA3IDIwOCAyMDkyMTAgMjExIDIxMiAyMTMgMjE0IDIxNSAyMTYgMjE3IDIxOCAyMTkyMjAgMjIx IDIyMiAyMjMgMjI0IDIyNSAyMjYgMjI3IDIyOCAyMjkyMzAgMjMxIDIzMiAyMzMgMjM0IDIzNSAy MzYgMjM3IDIzOCAyMzkyNDAgMjQxIDI0MiAyNDMgMjQ0IDI0NSAyNDYgMjQ3IDI0OCAyNDkyNTAg MjUxIDI1MiAyNTMgMjU0IDI1NSAyNTYgMjU3IDI1OCAyNTkyNjAgMjYxIDI2MiAyNjMgMjY0IDI2 NSAyNjYgMjY3IDI2OCAyNjkyNzAgMjcxIDI3MiAyNzMgMjc0IDI3NSAyNzYgMjc3IDI3OCAyNzky ODAgMjgxIDI4MiAyODMgMjg0IDI4NSAyODYgMjg3IDI4OCAyODkyOTAgMjkxIDI5MiAyOTMgMjk0 IDI5NSAyOTYgMjk3IDI5OCAyOTkzMDAgMzAxIDMwMiAzMDMgMzA0IDMwNSAzMDYgMzA3IDMwOCAz MDkzMTAgMzExIDMxMiAzMTMgMzE0IDMxNSAzMTYgMzE3IDMxOCAzMTkzMjAgMzIxIDMyMiAzMjMg MzI0IDMyNSAzMjYgMzI3IDMyOCAzMjkzMzAgMzMxIDMzMiAzMzMgMzM0IDMzNSAzMzYgMzM3IDMz OCAzMzkzNDAgMzQxIDM0MiAzNDMgMzQ0IDM0NSAzNDYgMzQ3IDM0OCAzNDkzNTAgMzUxIDM1MiAz NTMgMzU0IDM1NSAzNTYgMzU3IDM1OCAzNTkzNjAgMzYxIDM2MiAzNjMgMzY0IDM2NSAzNjYgMzY3 IDM2OCAzNjkzNzAgMzcxIDM3MiAzNzMgMzc0IDM3NSAzNzYgMzc3IDM3OCAzNzkzODAgMzgxIDM4 MiAzODMgMzg0IDM4NSAzODYgMzg3IDM4OCAzODkzOTAgMzkxIDM5MiAzOTMgMzk0IDM5NSAzOTYg Mzk3IDM5OCAzOTk0MDAgNDAxIDQwMiA0MDMgNDA0IDQwNSA0MDYgNDA3IDQwOCA0MDk0MTAgNDEx IDQxMiA0MTMgNDE0IDQxNSA0MTYgNDE3IDQxOCA0MTk0MjAgNDIxIDQyMiA0MjMgNDI0IDQyNSA0 MjYgNDI3IDQyOCA0Mjk0MzAgNDMxIDQzMiA0MzMgNDM0IDQzNSA0MzYgNDM3IDQzOCA0Mzk0NDAg NDQxIDQ0MiA0NDMgNDQ0IDQ0NSA0NDYgNDQ3IDQ0OCA0NDk0NTAgNDUxIDQ1MiA0NTMgNDU0IDQ1 NSA0NTYgNDU3IDQ1OCA0NTk0NjAgNDYxIDQ2MiA0NjMgNDY0IDQ2NSA0NjYgNDY3IDQ2OCA0Njk0 NzAgNDcxIDQ3MiA0NzMgNDc0IDQ3NSA0NzYgNDc3IDQ3OCA0Nzk0ODAgNDgxIDQ4MiA0ODMgNDg0 IDQ4NSA0ODYgNDg3IDQ4OCA0ODk0OTAgNDkxIDQ5MiA0OTMgNDk0IDQ5NSA0OTYgNDk3IDQ5OCA0 OTk1MDAgNTAxIDUwMiA1MDMgNTA0IDUwNSA1MDYgNTA3IDUwOCA1MDk1MTAgNTExIDUxMiA1MTMg NTE0IDUxNSA1MTYgNTE3IDUxOCA1MTk1MjAgNTIxIDUyMiA1MjMgNTI0IDUyNSA1MjYgNTI3IDUy OCA1Mjk1MzAgNTMxIDUzMiA1MzMgNTM0IDUzNSA1MzYgNTM3IDUzOCA1Mzk1NDAgNTQxIDU0MiA1 NDMgNTQ0IDU0NSA1NDYgNTQ3IDU0OCA1NDk1NTAgNTUxIDU1MiA1NTMgNTU0IDU1NSA1NTYgNTU3 IDU1OCA1NTk1NjAgNTYxIDU2MiA1NjMgNTY0IDU2NSA1NjYgNTY3IDU2OCA1Njk1NzAgNTcxIDU3 MiA1NzMgNTc0IDU3NSA1NzYgNTc3IDU3OCA1Nzk1ODAgNTgxIDU4MiA1ODMgNTg0IDU4NSA1ODYg NTg3IDU4OCA1ODk1OTAgNTkxIDU5MiA1OTMgNTk0IDU5NSA1OTYgNTk3IDU5OCA1OTk2MDAgNjAx IDYwMiA2MDMgNjA0IDYwNSA2MDYgNjA3IDYwOCA2MDk2MTAgNjExIDYxMiA2MTMgNjE0IDYxNSA2 MTYgNjE3IDYxOCA2MTk2MjAgNjIxIDYyMiA2MjMgNjI0IDYyNSA2MjYgNjI3IDYyOCA2Mjk2MzAg NjMxIDYzMiA2MzMgNjM0IDYzNSA2MzYgNjM3IDYzOCA2Mzk2NDAgNjQxIDY0MiA2NDMgNjQ0IDY0 NSA2NDYgNjQ3IDY0OCA2NDk2NTAgNjUxIDY1MiA2NTMgNjU0IDY1NSA2NTYgNjU3IDY1OCA2NTk2 NjAgNjYxIDY2MiA2NjMgNjY0IDY2NSA2NjYgNjY3IDY2OCA2Njk2NzAgNjcxIDY3MiA2NzMgNjc0 IDY3NSA2NzYgNjc3IDY3OCA2Nzk2ODAgNjgxIDY4MiA2ODMgNjg0IDY4NSA2ODYgNjg3IDY4OCA2 ODk2OTAgNjkxIDY5MiA2OTMgNjk0IDY5NSA2OTYgNjk3IDY5OCA2OTk3MDAgNzAxIDcwMiA3MDMg NzA0IDcwNSA3MDYgNzA3IDcwOCA3MDk3MTAgNzExIDcxMiA3MTMgNzE0IDcxNSA3MTYgNzE3IDcx OCA3MTk3MjAgNzIxIDcyMiA3MjMgNzI0IDcyNSA3MjYgNzI3IDcyOCA3Mjk3MzAgNzMxIDczMiA3 MzMgNzM0IDczNSA3MzYgNzM3IDczOCA3Mzk3NDAgNzQxIDc0MiA3NDMgNzQ0IDc0NSA3NDYgNzQ3 IDc0OCA3NDk3NTAgNzUxIDc1MiA3NTMgNzU0IDc1NSA3NTYgNzU3IDc1OCA3NTk3NjAgNzYxIDc2 MiA3NjMgNzY0IDc2NSA3NjYgNzY3IDc2OCA3Njk3NzAgNzcxIDc3MiA3NzMgNzc0IDc3NSA3NzYg Nzc3IDc3OCA3Nzk3ODAgNzgxIDc4MiA3ODMgNzg0IDc4NSA3ODYgNzg3IDc4OCA3ODk3OTAgNzkx IDc5MiA3OTMgNzk0IDc5NSA3OTYgNzk3IDc5OCA3OTk4MDAgODAxIDgwMiA4MDMgODA0IDgwNSA4 MDYgODA3IDgwOCA4MDk4MTAgODExIDgxMiA4MTMgODE0IDgxNSA4MTYgODE3IDgxOCA4MTk4MjAg ODIxIDgyMiA4MjMgODI0IDgyNSA4MjYgODI3IDgyOCA4Mjk4MzAgODMxIDgzMiA4MzMgODM0IDgz NSA4MzYgODM3IDgzOCA4Mzk4NDAgODQxIDg0MiA4NDMgODQ0IDg0NSA4NDYgODQ3IDg0OCA4NDk4 NTAgODUxIDg1MiA4NTMgODU0IDg1NSA4NTYgODU3IDg1OCA4NTk4NjAgODYxIDg2MiA4NjMgODY0 IDg2NSA4NjYgODY3IDg2OCA4Njk4NzAgODcxIDg3MiA4NzMgODc0IDg3NSA4NzYgODc3IDg3OCA4 Nzk4ODAgODgxIDg4MiA4ODMgODg0IDg4NSA4ODYgODg3IDg4OCA4ODk4OTAgODkxIDg5MiA4OTMg ODk0IDg5NSA4OTYgODk3IDg5OCA4OTk5MDAgOTAxIDkwMiA5MDMgOTA0IDkwNSA5MDYgOTA3IDkw OCA5MDk5MTAgOTExIDkxMiA5MTMgOTE0IDkxNSA5MTYgOTE3IDkxOCA5MTk5MjAgOTIxIDkyMiA5 MjMgOTI0IDkyNSA5MjYgOTI3IDkyOCA5Mjk5MzAgOTMxIDkzMiA5MzMgOTM0IDkzNSA5MzYgOTM3 IDkzOCA5Mzk5NDAgOTQxIDk0MiA5NDMgOTQ0IDk0NSA5NDYgOTQ3IDk0OCA5NDk5NTAgOTUxIDk1 MiA5NTMgOTU0IDk1NSA5NTYgOTU3IDk1OCA5NTk5NjAgOTYxIDk2MiA5NjMgOTY0IDk2NSA5NjYg OTY3IDk2OCA5Njk5NzAgOTcxIDk3MiA5NzMgOTc0IDk3NSA5NzYgOTc3IDk3OCA5Nzk5ODAgOTgx IDk4MiA5ODMgOTg0IDk4NSA5ODYgOTg3IDk4OCA5ODk5OTAgOTkxIDk5MiA5OTMgOTk0IDk5NSA5 OTYgOTk3IDk5OCA5OTknIGFzIGxvbmdfcXVlcnkKLVF1ZXJ5CXNldCBnbG9iYWwgZ2VuZXJhbF9s b2cgPSBvZmYKK1F1ZXJ5CVNFVCBHTE9CQUwgZ2VuZXJhbF9sb2c9J29mZicKIGRlYWxsb2NhdGUg cHJlcGFyZSBsb25nX3F1ZXJ5Owogc2V0IGdsb2JhbCBnZW5lcmFsX2xvZyA9IEBvbGRfZ2VuZXJh bF9sb2c7CiBEUk9QIFRBQkxFIElGIEVYSVNUUyBsb2dfY291bnQ7Cgo9PT0gbW9kaWZpZWQgZmls ZSAnbXlzcWwtdGVzdC9yL215c3FsZC0taGVscC1ub3R3aW4ucmVzdWx0JwotLS0gYS9teXNxbC10 ZXN0L3IvbXlzcWxkLS1oZWxwLW5vdHdpbi5yZXN1bHQJMjAxMS0wOC0xMCAwNzowNjowMiArMDAw MAorKysgYi9teXNxbC10ZXN0L3IvbXlzcWxkLS1oZWxwLW5vdHdpbi5yZXN1bHQJMjAxMS0wOC0x NyAxNDowNzowNyArMDAwMApAQCAtMjU0LDYgKzI1NCw5IEBAIFRoZSBmb2xsb3dpbmcgb3B0aW9u cyBtYXkgYmUgZ2l2ZW4gYXMgdGgKICAtLWxvZy1xdWVyaWVzLW5vdC11c2luZy1pbmRleGVzIAog IExvZyBxdWVyaWVzIHRoYXQgYXJlIGV4ZWN1dGVkIHdpdGhvdXQgYmVuZWZpdCBvZiBhbnkKICBp bmRleCB0byB0aGUgc2xvdyBsb2cgaWYgaXQgaXMgb3BlbgorIC0tbG9nLXJhdyAgICAgICAgICAg TG9nIHRvIGdlbmVyYWwgbG9nIGJlZm9yZSBhbnkgcmV3cml0aW5nIG9mIHRoZSBxdWVyeS4gRm9y CisgdXNlIGluIGRlYnVnZ2luZywgbm90IHByb2R1Y3Rpb24gYXMgc2Vuc2l0aXZlIGluZm9ybWF0 aW9uCisgbWF5IGJlIGxvZ2dlZC4KICAtLWxvZy1zaG9ydC1mb3JtYXQgIERvbid0IGxvZyBleHRy YSBpbmZvcm1hdGlvbiB0byB1cGRhdGUgYW5kIHNsb3ctcXVlcnkKICBsb2dzLgogIC0tbG9nLXNs YXZlLXVwZGF0ZXMgVGVsbHMgdGhlIHNsYXZlIHRvIGxvZyB0aGUgdXBkYXRlcyBmcm9tIHRoZSBz bGF2ZSB0aHJlYWQKQEAgLTg2NCw2ICs4NjcsNyBAQCBsb2ctZXJyb3IgCiBsb2ctaXNhbSBteWlz YW0ubG9nCiBsb2ctb3V0cHV0IEZJTEUKIGxvZy1xdWVyaWVzLW5vdC11c2luZy1pbmRleGVzIEZB TFNFCitsb2ctcmF3IEZBTFNFCiBsb2ctc2hvcnQtZm9ybWF0IEZBTFNFCiBsb2ctc2xhdmUtdXBk YXRlcyBGQUxTRQogbG9nLXNsb3ctYWRtaW4tc3RhdGVtZW50cyBGQUxTRQoKPT09IG1vZGlmaWVk IGZpbGUgJ215c3FsLXRlc3Qvci9teXNxbGQtLWhlbHAtd2luLnJlc3VsdCcKLS0tIGEvbXlzcWwt dGVzdC9yL215c3FsZC0taGVscC13aW4ucmVzdWx0CTIwMTEtMDgtMTAgMDc6MDY6MDIgKzAwMDAK KysrIGIvbXlzcWwtdGVzdC9yL215c3FsZC0taGVscC13aW4ucmVzdWx0CTIwMTEtMDgtMTcgMTQ6 MDc6MDcgKzAwMDAKQEAgLTI1Myw2ICsyNTMsOSBAQCBUaGUgZm9sbG93aW5nIG9wdGlvbnMgbWF5 IGJlIGdpdmVuIGFzIHRoCiAgLS1sb2ctcXVlcmllcy1ub3QtdXNpbmctaW5kZXhlcyAKICBMb2cg cXVlcmllcyB0aGF0IGFyZSBleGVjdXRlZCB3aXRob3V0IGJlbmVmaXQgb2YgYW55CiAgaW5kZXgg dG8gdGhlIHNsb3cgbG9nIGlmIGl0IGlzIG9wZW4KKyAtLWxvZy1yYXcgICAgICAgICAgIExvZyB0 byBnZW5lcmFsIGxvZyBiZWZvcmUgYW55IHJld3JpdGluZyBvZiB0aGUgcXVlcnkuIEZvcgorIHVz ZSBpbiBkZWJ1Z2dpbmcsIG5vdCBwcm9kdWN0aW9uIGFzIHNlbnNpdGl2ZSBpbmZvcm1hdGlvbgor IG1heSBiZSBsb2dnZWQuCiAgLS1sb2ctc2hvcnQtZm9ybWF0ICBEb24ndCBsb2cgZXh0cmEgaW5m b3JtYXRpb24gdG8gdXBkYXRlIGFuZCBzbG93LXF1ZXJ5CiAgbG9ncy4KICAtLWxvZy1zbGF2ZS11 cGRhdGVzIFRlbGxzIHRoZSBzbGF2ZSB0byBsb2cgdGhlIHVwZGF0ZXMgZnJvbSB0aGUgc2xhdmUg dGhyZWFkCkBAIC04NjcsNiArODcwLDcgQEAgbG9nLWVycm9yIAogbG9nLWlzYW0gbXlpc2FtLmxv ZwogbG9nLW91dHB1dCBGSUxFCiBsb2ctcXVlcmllcy1ub3QtdXNpbmctaW5kZXhlcyBGQUxTRQor bG9nLXJhdyBGQUxTRQogbG9nLXNob3J0LWZvcm1hdCBGQUxTRQogbG9nLXNsYXZlLXVwZGF0ZXMg RkFMU0UKIGxvZy1zbG93LWFkbWluLXN0YXRlbWVudHMgRkFMU0UKCj09PSBtb2RpZmllZCBmaWxl ICdteXNxbC10ZXN0L3IvcGx1Z2luX2F1dGgucmVzdWx0JwotLS0gYS9teXNxbC10ZXN0L3IvcGx1 Z2luX2F1dGgucmVzdWx0CTIwMTEtMDctMDcgMDk6NDU6MTAgKzAwMDAKKysrIGIvbXlzcWwtdGVz dC9yL3BsdWdpbl9hdXRoLnJlc3VsdAkyMDExLTA4LTE3IDE0OjA3OjA3ICswMDAwCkBAIC00LDYg KzQsMTAgQEAgRlJPTSBJTkZPUk1BVElPTl9TQ0hFTUEuUExVR0lOUyBXSEVSRSBQTAogUExVR0lO X1NUQVRVUwlBQ1RJVkUKIFBMVUdJTl9UWVBFCUFVVEhFTlRJQ0FUSU9OCiBQTFVHSU5fREVTQ1JJ UFRJT04JcGx1Z2luIEFQSSB0ZXN0IHBsdWdpbgorU0VUIEBvbGRfbG9nX291dHB1dD0gICAgICAg ICAgQEBnbG9iYWwubG9nX291dHB1dDsKK1NFVCBAb2xkX2dlbmVyYWxfbG9nPSAgICAgICAgIEBA Z2xvYmFsLmdlbmVyYWxfbG9nOworU0VUIEdMT0JBTCBsb2dfb3V0cHV0ID0gICAgICAgJ1RBQkxF JzsKK1NFVCBHTE9CQUwgZ2VuZXJhbF9sb2c9ICAgICAgICdPTic7CiBDUkVBVEUgVVNFUiBwbHVn IElERU5USUZJRUQgV0lUSCAndGVzdF9wbHVnaW5fc2VydmVyJyBBUyAncGx1Z19kZXN0JzsKIENS RUFURSBVU0VSIHBsdWdfZGVzdCBJREVOVElGSUVEIEJZICdwbHVnX2Rlc3RfcGFzc3dkJzsKIFNF TEVDVCBwbHVnaW4sYXV0aGVudGljYXRpb25fc3RyaW5nIEZST00gbXlzcWwudXNlciBXSEVSRSBV c2VyPSdwbHVnJzsKQEAgLTIyNyw5ICsyMzEsMjMgQEAgU0VMRUNUIEBATE9DQUwuZXh0ZXJuYWxf dXNlcjsKIEBATE9DQUwuZXh0ZXJuYWxfdXNlcgogJ3BsdWcnQCclJwogIyBpbiBjb25uZWN0aW9u IGRlZmF1bHQKK1dMIzU3MDYgLS0gc2hvdyB0aGUgYWJvdmUgZ290IGxvZ2dlZC9yZXdyaXR0ZW4g Y29ycmVjdGx5CitTRUxFQ1QgYXJndW1lbnQgRlJPTSBteXNxbC5nZW5lcmFsX2xvZyBXSEVSRSBh cmd1bWVudCBMSUtFIENPTkNBVCgnJSBJREVOVElGSUVEICcsJ1dJVEglJyk7Cithcmd1bWVudAor Q1JFQVRFIFVTRVIgJ3BsdWcnQCclJyBJREVOVElGSUVEIFdJVEggJ3Rlc3RfcGx1Z2luX3NlcnZl cicgQVMgJ3BsdWdfZGVzdCcKK0dSQU5UIElOU0VSVCBPTiBgVEVTVGAuKiBUTyAnZ3JhbnRfdXNl cidAJyUnIElERU5USUZJRUQgV0lUSCAndGVzdF9wbHVnaW5fc2VydmVyJworQ1JFQVRFIFVTRVIg J8OFwrgnQCclJyBJREVOVElGSUVEIFdJVEggJ3Rlc3RfcGx1Z2luX3NlcnZlcicgQVMgJ3BsdWdf ZGVzdCcKK0dSQU5UIEFMTCBQUklWSUxFR0VTIE9OIGB0ZXN0X2dyYW50X2RiYC4qIFRPICduZXdf Z3JhbnRfdXNlcidAJyUnIElERU5USUZJRUQgV0lUSCAndGVzdF9wbHVnaW5fc2VydmVyJyBBUyAn cGx1Z19kZXN0JworR1JBTlQgQUxMIFBSSVZJTEVHRVMgT04gYHRlc3RfZ3JhbnRfZGJgLiogVE8g J3BsdWcnQCclJyBJREVOVElGSUVEIFdJVEggJ3Rlc3RfcGx1Z2luX3NlcnZlcicgQVMgJ3BsdWdf ZGVzdCcKK0dSQU5UIEFMTCBQUklWSUxFR0VTIE9OIGB0ZXN0X2dyYW50X2RiYC4qIFRPICdwbHVn X2Rlc3QnQCclJyBJREVOVElGSUVEIFdJVEggJ3Rlc3RfcGx1Z2luX3NlcnZlcicgQVMgJ3BsdWdf ZGVzdCcKK0NSRUFURSBVU0VSICdncmFudF9wbHVnJ0AnJScgSURFTlRJRklFRCBXSVRIICd0ZXN0 X3BsdWdpbl9zZXJ2ZXInIEFTICdncmFudF9wbHVnX2Rlc3QnCitDUkVBVEUgVVNFUiAncGx1ZydA JyUnIElERU5USUZJRUQgV0lUSCAndGVzdF9wbHVnaW5fc2VydmVyJyBBUyAncGx1Z19kZXN0Jwor Q1JFQVRFIFVTRVIgJ3BsdWcnQCclJyBJREVOVElGSUVEIFdJVEggJ3Rlc3RfcGx1Z2luX3NlcnZl cicgQVMgJ3BsdWdfZGVzdCcKICMjIGNsZWFudXAKIERST1AgVVNFUiBwbHVnOwogRFJPUCBVU0VS IHBsdWdfZGVzdDsKK1NFVCBHTE9CQUwgbG9nX291dHB1dD0gIEBvbGRfbG9nX291dHB1dDsKK1NF VCBHTE9CQUwgZ2VuZXJhbF9sb2c9IEBvbGRfZ2VuZXJhbF9sb2c7CiAjIyBFTkQgQEBleHRlcm5h bF91c2VyIHRlc3RzCiAjCiAjICBCdWcgIzU2Nzk4IDogV3JvbmcgY3JlZGVudGlhbHMgYXNzaWdu ZWQgd2hlbiB1c2luZyBhIHByb3h5IHVzZXIuCgo9PT0gYWRkZWQgZmlsZSAnbXlzcWwtdGVzdC9y L3Jld3JpdGUucmVzdWx0JwotLS0gYS9teXNxbC10ZXN0L3IvcmV3cml0ZS5yZXN1bHQJMTk3MC0w MS0wMSAwMDowMDowMCArMDAwMAorKysgYi9teXNxbC10ZXN0L3IvcmV3cml0ZS5yZXN1bHQJMjAx MS0wOC0xNyAxNDowNzowNyArMDAwMApAQCAtMCwwICsxLDEyNCBAQAorVFJVTkNBVEUgVEFCTEUg bXlzcWwuZ2VuZXJhbF9sb2c7CitUUlVOQ0FURSBUQUJMRSBteXNxbC5zbG93X2xvZzsKKy0tLS0t LS0tLS0tLS0tLSBnZW5lcmFsIGxvZyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0KK1NFVCBAb2xkX2xvZ19vdXRwdXQ9ICAgICAgICAgIEBAZ2xvYmFsLmxvZ19vdXRwdXQ7 CitTRVQgQG9sZF9nZW5lcmFsX2xvZz0gICAgICAgICBAQGdsb2JhbC5nZW5lcmFsX2xvZzsKK1NF VCBAb2xkX2dlbmVyYWxfbG9nX2ZpbGU9ICAgIEBAZ2xvYmFsLmdlbmVyYWxfbG9nX2ZpbGU7CitT RVQgR0xPQkFMIGdlbmVyYWxfbG9nX2ZpbGUgPSAnLi4uL2xvZy9yZXdyaXRlX2dlbmVyYWwubG9n JzsKK1NFVCBHTE9CQUwgbG9nX291dHB1dCA9ICAgICAgICdGSUxFLFRBQkxFJzsKK1NFVCBHTE9C QUwgZ2VuZXJhbF9sb2c9ICAgICAgICdPTic7CitzZXQgY2hhcmFjdGVyIHNldCAnaGVicmV3JzsK K3NldCBjaGFyc2V0IGRlZmF1bHQsQGR1bW15PSdBJzsKK3NldCBuYW1lcyAnbGF0aW4xJyxAZHVt bXk9J0InOworc2V0IG5hbWVzICdsYXRpbjEnIGNvbGxhdGUgJ2xhdGluMV9nZXJtYW4yX2NpJzsK K3NldCBuYW1lcyBkZWZhdWx0LEBkdW1teT0nYyc7CitHUkFOVCBBTEwgb24gKi4qIFRPIHRlc3Rf dXNlcjEgSURFTlRJRklFRCBCWSAnYXp1bmRyaXMxJzsKK0NSRUFURSBVU0VSIHRlc3RfdXNlcjIg SURFTlRJRklFRCBCWSAnYXp1bmRyaXMyJzsKK0NIQU5HRSBNQVNURVIgVE8gTUFTVEVSX1BBU1NX T1JEPSdhenVuZHJpczMnOworQ1JFQVRFIFVTRVIgJ3Rlc3RfdXNlcjQnQCdsb2NhbGhvc3QnOwor U0VUIFBBU1NXT1JEIEZPUiAndGVzdF91c2VyNCdAJ2xvY2FsaG9zdCcgPSBQQVNTV09SRCgnYXp1 bmRyaXM0Jyk7CitTRVQgR0xPQkFMIGdlbmVyYWxfbG9nPSAgICAgICAnT0ZGJzsKK0RST1AgVVNF UiAndGVzdF91c2VyNCdAJ2xvY2FsaG9zdCc7CitEUk9QIFVTRVIgdGVzdF91c2VyMjsKK0RST1Ag VVNFUiB0ZXN0X3VzZXIxOworQ1JFQVRFIFRBQkxFIHRlc3RfbG9nIChhcmd1bWVudCBURVhUKTsK K0xPQUQgREFUQSBMT0NBTCBJTkZJTEUgJy4uLi9sb2cvcmV3cml0ZV9nZW5lcmFsLmxvZycKKyAg ICAgSU5UTyBUQUJMRSB0ZXN0X2xvZyBGSUVMRFMgVEVSTUlOQVRFRCBCWSAnXG4nIExJTkVTIFRF Uk1JTkFURUQgQlkgJ1xuJzsKK1RoaXMgbGluZSBzaG91bGQgYmUgZm9sbG93ZWQgYnkgdHdvIFNF TEVDVHMgd2l0aCBlbXB0eSByZXN1bHQgc2V0cworU0VMRUNUIGFyZ3VtZW50IEZST00gdGVzdF9s b2cgV0hFUkUgYXJndW1lbnQgTElLRSBDT05DQVQoJyVhenVuJywnZHJpcyUnKTsKK2FyZ3VtZW50 CitTRUxFQ1QgYXJndW1lbnQgRlJPTSBteXNxbC5nZW5lcmFsX2xvZyBXSEVSRSBhcmd1bWVudCBM SUtFIENPTkNBVCgnJWF6dW4nLCdkcmlzJScpOworYXJndW1lbnQKK1Nob3cgdGhhdCB3ZSBsb2dn ZWQgc3R1ZmYgYXQgYWxsOgorLS0tLS0tIGZyb20gZmlsZSAtLS0tLS0KK1NFTEVDVCBUUklNKExF QURJTkcgJ1x0JyBGUk9NIE1JRChhcmd1bWVudCxMT0NBVEUoJ1F1ZXJ5Jyxhcmd1bWVudCkrNSkp IEZST00gdGVzdF9sb2cgV0hFUkUgYXJndW1lbnQgTElLRSAnJVBBU1NXT1JEICUnOworVFJJTShM RUFESU5HICdcdCcgRlJPTSBNSUQoYXJndW1lbnQsTE9DQVRFKCdRdWVyeScsYXJndW1lbnQpKzUp KQorR1JBTlQgQUxMIFBSSVZJTEVHRVMgT04gKi4qIFRPICd0ZXN0X3VzZXIxJ0AnJScgSURFTlRJ RklFRCBCWSBQQVNTV09SRCAnKjhEMTVFNzRCQzg1MEQxMTU3M0E1MkJFODRCNTA0REQwQkE0MEMx RTMnCitDUkVBVEUgVVNFUiAndGVzdF91c2VyMidAJyUnIElERU5USUZJRUQgQlkgUEFTU1dPUkQg JypBMTQyODQ0REJGMDI0RDI4MkQ4OEZFMTlDQjREM0ZBMTNCMUU5NkUwJworQ0hBTkdFIE1BU1RF UiBUTyBNQVNURVJfUEFTU1dPUkQgPSA8c2VjcmV0PgorU0VUIFBBU1NXT1JEIEZPUiBgdGVzdF91 c2VyNGBAYGxvY2FsaG9zdGA9PHNlY3JldD4KKy0tLS0tLSBmcm9tIHRhYmxlIC0tLS0tLQorU0VM RUNUIGFyZ3VtZW50IEZST00gbXlzcWwuZ2VuZXJhbF9sb2cgV0hFUkUgYXJndW1lbnQgTElLRSAn JVBBU1NXT1JEICUnOworYXJndW1lbnQKK0dSQU5UIEFMTCBQUklWSUxFR0VTIE9OICouKiBUTyAn dGVzdF91c2VyMSdAJyUnIElERU5USUZJRUQgQlkgUEFTU1dPUkQgJyo4RDE1RTc0QkM4NTBEMTE1 NzNBNTJCRTg0QjUwNEREMEJBNDBDMUUzJworQ1JFQVRFIFVTRVIgJ3Rlc3RfdXNlcjInQCclJyBJ REVOVElGSUVEIEJZIFBBU1NXT1JEICcqQTE0Mjg0NERCRjAyNEQyODJEODhGRTE5Q0I0RDNGQTEz QjFFOTZFMCcKK0NIQU5HRSBNQVNURVIgVE8gTUFTVEVSX1BBU1NXT1JEID0gPHNlY3JldD4KK1NF VCBQQVNTV09SRCBGT1IgYHRlc3RfdXNlcjRgQGBsb2NhbGhvc3RgPTxzZWNyZXQ+CistLS0tLS0g ZG9uZSAtLS0tLS0KKy0tLS0tLSByZXdyaXRlIC0tLS0tLQorU0VMRUNUIGFyZ3VtZW50IEZST00g bXlzcWwuZ2VuZXJhbF9sb2cgV0hFUkUgYXJndW1lbnQgTElLRSAnU0VUIENIQVJBQ1RFUiBTRVQg JSc7Cithcmd1bWVudAorU0VUIENIQVJBQ1RFUiBTRVQgJ2hlYnJldycKK1NFVCBDSEFSQUNURVIg U0VUIERFRkFVTFQsKEBkdW1teTo9J0EnKQorU0VMRUNUIGFyZ3VtZW50IEZST00gbXlzcWwuZ2Vu ZXJhbF9sb2cgV0hFUkUgYXJndW1lbnQgTElLRSAnU0VUIE5BTUVTICUnOworYXJndW1lbnQKK1NF VCBOQU1FUyAnbGF0aW4xJywoQGR1bW15Oj0nQicpCitTRVQgTkFNRVMgJ2xhdGluMScgQ09MTEFU RSAnbGF0aW4xX2dlcm1hbjJfY2knCitTRVQgTkFNRVMgREVGQVVMVCwoQGR1bW15Oj0nYycpCist LS0tLS0gZG9uZSAtLS0tLS0gc2VlIGxvZ190YWJsZXMudGVzdCBmb3IgbW9yZSBwcm9vZiEgOikK K0RST1AgVEFCTEUgdGVzdF9sb2c7CitTRVQgR0xPQkFMIGdlbmVyYWxfbG9nX2ZpbGU9ICBAb2xk X2dlbmVyYWxfbG9nX2ZpbGU7CitTRVQgR0xPQkFMIGdlbmVyYWxfbG9nPSAgICAgICBAb2xkX2dl bmVyYWxfbG9nOworU0VUIEdMT0JBTCBsb2dfb3V0cHV0PSAgICAgICAgQG9sZF9sb2dfb3V0cHV0 OworLS0tLS0tLS0tLS0tLS0tIHNsb3cgbG9nIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLQorU0VUIEBvbGRfbG9nX291dHB1dD0gICAgICAgICAgQEBnbG9iYWwubG9n X291dHB1dDsKK1NFVCBAb2xkX3Nsb3dfcXVlcnlfbG9nPSAgICAgIEBAZ2xvYmFsLnNsb3dfcXVl cnlfbG9nOworU0VUIEBvbGRfc2xvd19xdWVyeV9sb2dfZmlsZT0gQEBnbG9iYWwuc2xvd19xdWVy eV9sb2dfZmlsZTsKK1NFVCBAb2xkX2xvbmdfcXVlcnlfdGltZT0gICAgIEBAZ2xvYmFsLmxvbmdf cXVlcnlfdGltZTsKK1NFVCBHTE9CQUwgc2xvd19xdWVyeV9sb2dfZmlsZT0gJy4uLi9sb2cvcmV3 cml0ZV9zbG93LmxvZyc7CitTRVQgR0xPQkFMIGxvZ19vdXRwdXQgPSAgICAgICAnRklMRSxUQUJM RSc7CitTRVQgR0xPQkFMIHNsb3dfcXVlcnlfbG9nPSAgICAnT04nOworU0VUIFNFU1NJT04gbG9u Z19xdWVyeV90aW1lPSAgMDsKK0dSQU5UIEFMTCBvbiAqLiogVE8gdGVzdF91c2VyMSBJREVOVElG SUVEIEJZICdhenVuZHJpczEnOworQ1JFQVRFIFVTRVIgdGVzdF91c2VyMiBJREVOVElGSUVEIEJZ ICdhenVuZHJpczInOworQ0hBTkdFIE1BU1RFUiBUTyBNQVNURVJfUEFTU1dPUkQ9J2F6dW5kcmlz Myc7CitDSEFOR0UgTUFTVEVSIFRPIE1BU1RFUl9DT05ORUNUX1JFVFJZID0gMSwgTUFTVEVSX0hF QVJUQkVBVF9QRVJJT0QgPSAxLjAxLAorTUFTVEVSX0xPR19GSUxFID0gJ21hc3Rlcl9sb2dfbmFt ZScsIE1BU1RFUl9MT0dfUE9TID0gMCwKK01BU1RFUl9TU0wgPSAwLCBNQVNURVJfU1NMX0NBID0g J2NhX2ZpbGVfbmFtZScsCitNQVNURVJfU1NMX0NBUEFUSCA9ICdjYV9kaXJlY3RvcnlfbmFtZScs CitNQVNURVJfU1NMX0NFUlQgPSAnY2VydF9maWxlX25hbWUnLCBNQVNURVJfU1NMX0tFWSA9ICdr ZXlfZmlsZV9uYW1lJywKK01BU1RFUl9TU0xfQ0lQSEVSID0gJ2NpcGhlcl9saXN0JywgTUFTVEVS X1NTTF9WRVJJRllfU0VSVkVSX0NFUlQgPSAwLAorSUdOT1JFX1NFUlZFUl9JRFMgPSAoOTksMTAw KTsKK0NIQU5HRSBNQVNURVIgVE8gTUFTVEVSX0NPTk5FQ1RfUkVUUlkgPSAxLCBNQVNURVJfSEVB UlRCRUFUX1BFUklPRCA9IDEuMDEsCitNQVNURVJfTE9HX0ZJTEUgPSAnJywgTUFTVEVSX0xPR19Q T1MgPSAwLAorTUFTVEVSX1NTTCA9IDAsIE1BU1RFUl9TU0xfQ0EgPSAnJywKK01BU1RFUl9TU0xf Q0FQQVRIID0gJycsCitNQVNURVJfU1NMX0NFUlQgPSAnJywgTUFTVEVSX1NTTF9LRVkgPSAnJywK K01BU1RFUl9TU0xfQ0lQSEVSID0gJycsIE1BU1RFUl9TU0xfVkVSSUZZX1NFUlZFUl9DRVJUID0g MCwKK0lHTk9SRV9TRVJWRVJfSURTID0gKCApOworU0VUIEdMT0JBTCBSRUxBWV9MT0dfUFVSR0Ug PSAxOworQ1JFQVRFIFVTRVIgJ3Rlc3RfdXNlcjQnQCdsb2NhbGhvc3QnOworU0VUIFBBU1NXT1JE IEZPUiAndGVzdF91c2VyNCdAJ2xvY2FsaG9zdCcgPSBQQVNTV09SRCgnYXp1bmRyaXM0Jyk7CitT RVQgU0VTU0lPTiBsb25nX3F1ZXJ5X3RpbWU9ICBAb2xkX2xvbmdfcXVlcnlfdGltZTsKK1NFVCBH TE9CQUwgc2xvd19xdWVyeV9sb2c9J09GRic7CitEUk9QIFVTRVIgJ3Rlc3RfdXNlcjQnQCdsb2Nh bGhvc3QnOworRFJPUCBVU0VSIHRlc3RfdXNlcjI7CitEUk9QIFVTRVIgdGVzdF91c2VyMTsKK0NS RUFURSBUQUJMRSB0ZXN0X2xvZyAoc3FsX3RleHQgVEVYVCk7CitMT0FEIERBVEEgTE9DQUwgSU5G SUxFICcuLi4vbG9nL3Jld3JpdGVfc2xvdy5sb2cnCisgICAgIElOVE8gVEFCTEUgdGVzdF9sb2cg RklFTERTIFRFUk1JTkFURUQgQlkgJ1xuJyBMSU5FUyBURVJNSU5BVEVEIEJZICdcbic7CitUaGlz IGxpbmUgc2hvdWxkIGJlIGZvbGxvd2VkIGJ5IHR3byBTRUxFQ1RzIHdpdGggZW1wdHkgcmVzdWx0 IHNldHMKK1NFTEVDVCBzcWxfdGV4dCBGUk9NIHRlc3RfbG9nIFdIRVJFIHNxbF90ZXh0IExJS0Ug Q09OQ0FUKCclYXp1bicsJ2RyaXMlJyk7CitzcWxfdGV4dAorU0VMRUNUIHNxbF90ZXh0IEZST00g bXlzcWwuc2xvd19sb2cgV0hFUkUgc3FsX3RleHQgTElLRSBDT05DQVQoJyVhenVuJywnZHJpcyUn KTsKK3NxbF90ZXh0CistLS0tLS0gZnJvbSBmaWxlIC0tLS0tLQorU0VMRUNUIHNxbF90ZXh0IEZS T00gdGVzdF9sb2cgV0hFUkUgc3FsX3RleHQgbGlrZSAnJVBBU1NXT1JEICUnOworc3FsX3RleHQK K0dSQU5UIEFMTCBQUklWSUxFR0VTIE9OICouKiBUTyAndGVzdF91c2VyMSdAJyUnIElERU5USUZJ RUQgQlkgUEFTU1dPUkQgJyo4RDE1RTc0QkM4NTBEMTE1NzNBNTJCRTg0QjUwNEREMEJBNDBDMUUz JzsKK0NSRUFURSBVU0VSICd0ZXN0X3VzZXIyJ0AnJScgSURFTlRJRklFRCBCWSBQQVNTV09SRCAn KkExNDI4NDREQkYwMjREMjgyRDg4RkUxOUNCNEQzRkExM0IxRTk2RTAnOworQ0hBTkdFIE1BU1RF UiBUTyBNQVNURVJfUEFTU1dPUkQgPSA8c2VjcmV0PjsKK1NFVCBQQVNTV09SRCBGT1IgYHRlc3Rf dXNlcjRgQGBsb2NhbGhvc3RgPTxzZWNyZXQ+OworLS0tLS0tIGZyb20gdGFibGUgLS0tLS0tCitT RUxFQ1Qgc3FsX3RleHQgRlJPTSBteXNxbC5zbG93X2xvZyBXSEVSRSBzcWxfdGV4dCBsaWtlICcl UEFTU1dPUkQgJSc7CitzcWxfdGV4dAorR1JBTlQgQUxMIFBSSVZJTEVHRVMgT04gKi4qIFRPICd0 ZXN0X3VzZXIxJ0AnJScgSURFTlRJRklFRCBCWSBQQVNTV09SRCAnKjhEMTVFNzRCQzg1MEQxMTU3 M0E1MkJFODRCNTA0REQwQkE0MEMxRTMnCitDUkVBVEUgVVNFUiAndGVzdF91c2VyMidAJyUnIElE RU5USUZJRUQgQlkgUEFTU1dPUkQgJypBMTQyODQ0REJGMDI0RDI4MkQ4OEZFMTlDQjREM0ZBMTNC MUU5NkUwJworQ0hBTkdFIE1BU1RFUiBUTyBNQVNURVJfUEFTU1dPUkQgPSA8c2VjcmV0PgorU0VU IFBBU1NXT1JEIEZPUiBgdGVzdF91c2VyNGBAYGxvY2FsaG9zdGA9PHNlY3JldD4KKy0tLS0tLSBk b25lIC0tLS0tLQorRFJPUCBUQUJMRSB0ZXN0X2xvZzsKK1NFVCBHTE9CQUwgc2xvd19xdWVyeV9s b2dfZmlsZT0gQG9sZF9zbG93X3F1ZXJ5X2xvZ19maWxlOworU0VUIEdMT0JBTCBzbG93X3F1ZXJ5 X2xvZz0gICAgICBAb2xkX3Nsb3dfcXVlcnlfbG9nOworU0VUIEdMT0JBTCBsb2dfb3V0cHV0PSAg ICAgICAgICBAb2xkX2xvZ19vdXRwdXQ7CitFbmQgb2YgNS42IHRlc3RzIQoKPT09IGFkZGVkIGZp bGUgJ215c3FsLXRlc3Qvc3VpdGUvYmlubG9nL3IvYmlubG9nX3Jld3JpdGUucmVzdWx0JwotLS0g YS9teXNxbC10ZXN0L3N1aXRlL2JpbmxvZy9yL2JpbmxvZ19yZXdyaXRlLnJlc3VsdAkxOTcwLTAx LTAxIDAwOjAwOjAwICswMDAwCisrKyBiL215c3FsLXRlc3Qvc3VpdGUvYmlubG9nL3IvYmlubG9n X3Jld3JpdGUucmVzdWx0CTIwMTEtMDgtMTcgMTQ6MDc6MDcgKzAwMDAKQEAgLTAsMCArMSw2MyBA QAorUkVTRVQgTUFTVEVSOworQ1JFQVRFIFVTRVIgdXNlcjFAbG9jYWxob3N0IElERU5USUZJRUQg QlkgJ3NlY3JldCc7CitDUkVBVEUgVVNFUiB1c2VyMkBsb2NhbGhvc3QgSURFTlRJRklFRCBCWSAn c2VjcmV0JzsKK1NFVCBQQVNTV09SRCBGT1IgdXNlcjFAbG9jYWxob3N0ID0gUEFTU1dPUkQoJ3Nl Y3JldCcpOworIyBUZXN0IHRoZSBwYXNzd29yZCBpcyBlbmNyeXB0ZWQgaW4gYmluYXJ5IGxvZwor IyB3aGVuIGdyYW50aW5nIHByaXZpbGVnZXMgb24gdGFibGVzLgorR1JBTlQgVVBEQVRFIE9OICou KiBUTyB1c2VyMUBsb2NhbGhvc3QgSURFTlRJRklFRCBCWSAnc2VjcmV0JyBXSVRIIEdSQU5UIE9Q VElPTjsKK0dSQU5UIFVQREFURSBPTiAqLiogLypiZWZvcmUgdG8qL1RPLyphZnRlciB0byovIHVz ZXIxQGxvY2FsaG9zdCBJREVOVElGSUVEIEJZICdzZWNyZXQnLCB1c2VyMkBsb2NhbGhvc3QgSURF TlRJRklFRCBCWSAnc2VjcmV0MicgLypiZWZvcmUgd2l0aCovV0lUSC8qYWZ0ZXIgd2l0aCovTUFY X1FVRVJJRVNfUEVSX0hPVVIgOTA7CitHUkFOVCBVUERBVEUgT04gKi4qIC8qYmVmb3JlIHRvKi9U Ty8qYWZ0ZXIgdG8qLyB1c2VyMUBsb2NhbGhvc3QgSURFTlRJRklFRCBCWSAnc2VjcmV0JywgdXNl cjJAbG9jYWxob3N0IElERU5USUZJRUQgQlkgJ3NlY3JldDInIC8qYmVmb3JlIHJlcXVpcmUqL1JF UVVJUkUgU1NMLyphZnRlciByZXF1aXJlKi8gLypiZWZvcmUgd2l0aCovV0lUSC8qYWZ0ZXIgd2l0 aCovTUFYX1FVRVJJRVNfUEVSX0hPVVIgOTA7CitHUkFOVCBVUERBVEUgT04gKi4qIFRPIHVzZXIx QGxvY2FsaG9zdCBJREVOVElGSUVEIEJZICdzZWNyZXQnLCB1c2VyMkBsb2NhbGhvc3QgSURFTlRJ RklFRCBCWSAnc2VjcmV0Mic7CitSRVZPS0UgVVBEQVRFIE9OICouKiBGUk9NIHVzZXIxQGxvY2Fs aG9zdCwgdXNlcjJAbG9jYWxob3N0OworIyBUZXN0IHRoZSBwYXNzd29yZCBpcyBlbmNyeXB0ZWQg aW4gYmluYXJ5IGxvZworIyB3aGVuIGdyYW50aW5nIHByaXZpbGVnZXMgb24gcHJvY2VkdXJlLgor Q1JFQVRFIFBST0NFRFVSRSBwMSgpIFNRTCBTRUNVUklUWSBJTlZPS0VSIFNFTEVDVCAxOworR1JB TlQgRVhFQ1VURSBPTiBQUk9DRURVUkUgcDEgVE8gdXNlcjFAbG9jYWxob3N0IElERU5USUZJRUQg QlkgJ3NlY3JldCcsIHVzZXIyQGxvY2FsaG9zdCBJREVOVElGSUVEIEJZICdzZWNyZXQyJyAvKmJl Zm9yZSB3aXRoKi8gV0lUSCBNQVhfUVVFUklFU19QRVJfSE9VUiA5MDsKK0dSQU5UIEVYRUNVVEUg T04gUFJPQ0VEVVJFIHAxIC8qYmVmb3JlIHRvKi9UTy8qYWZ0ZXIgdG8qLyB1c2VyMUBsb2NhbGhv c3QgSURFTlRJRklFRCBCWSAnc2VjcmV0JywgdXNlcjJAbG9jYWxob3N0IElERU5USUZJRUQgQlkg J3NlY3JldDInIC8qYmVmb3JlIHJlcXVpcmUqL1JFUVVJUkUgU1NMLyphZnRlciByZXF1aXJlKi8g LypiZWZvcmUgd2l0aCovV0lUSC8qYWZ0ZXIgd2l0aCovTUFYX1FVRVJJRVNfUEVSX0hPVVIgOTA7 CitHUkFOVCBFWEVDVVRFIE9OIFBST0NFRFVSRSBwMSBUTyB1c2VyMUBsb2NhbGhvc3QgSURFTlRJ RklFRCBCWSAnc2VjcmV0JywgdXNlcjJAbG9jYWxob3N0IElERU5USUZJRUQgQlkgJ3NlY3JldDIn OworUkVWT0tFIEVYRUNVVEUgT04gUFJPQ0VEVVJFIHAxIEZST00gdXNlcjFAbG9jYWxob3N0LCB1 c2VyMkBsb2NhbGhvc3Q7CisjIFRlc3QgdGhlIHBhc3N3b3JkIGlzIGVuY3J5cHRlZCBpbiBiaW5h cnkgbG9nCisjIHdoZW4gZ3JhbnRpbmcgcHJpdmlsZWdlcyBvbiBmdW5jdGlvbi4KK0NSRUFURSBG VU5DVElPTiBmMSgpIFJFVFVSTlMgSU5UIFJFVFVSTiAxMjM7CitHUkFOVCBFWEVDVVRFIE9OIEZV TkNUSU9OIGYxIC8qYmVmb3JlIHRvKi9UTy8qYWZ0ZXIgdG8qLyB1c2VyMUBsb2NhbGhvc3QgSURF TlRJRklFRCBCWSAnc2VjcmV0JyAvKiExMDAwMCAsIHVzZXIyQGxvY2FsaG9zdCBJREVOVElGSUVE IEJZICdzZWNyZXQyJyAqLyAvKiE5OTk5OSBUSElTX1dPVUxEX0JSRUFLICovIC8qYmVmb3JlIHJl cXVpcmUqL1JFUVVJUkUgU1NMLyphZnRlciByZXF1aXJlKi8gLypiZWZvcmUgd2l0aCovV0lUSC8q YWZ0ZXIgd2l0aCovTUFYX1FVRVJJRVNfUEVSX0hPVVIgOTA7CitSRVZPS0UgRVhFQ1VURSBPTiBG VU5DVElPTiBmMSBGUk9NIHVzZXIxQGxvY2FsaG9zdCwgdXNlcjJAbG9jYWxob3N0OworRFJPUCBV U0VSIHVzZXIxQGxvY2FsaG9zdCwgdXNlcjJAbG9jYWxob3N0OworRFJPUCBGVU5DVElPTiBmMTsK K0RST1AgUFJPQ0VEVVJFIHAxOworR1JBTlQgQUxMIG9uICouKiBUTyB0ZXN0X3VzZXIxIElERU5U SUZJRUQgQlkgJ2F6dW5kcmlzMSc7CitDUkVBVEUgVVNFUiB0ZXN0X3VzZXIyIElERU5USUZJRUQg QlkgJ2F6dW5kcmlzMic7CitDSEFOR0UgTUFTVEVSIFRPIE1BU1RFUl9QQVNTV09SRD0nYXp1bmRy aXMzJzsKK0NSRUFURSBVU0VSICd0ZXN0X3VzZXI0J0AnbG9jYWxob3N0JzsKK1NFVCBQQVNTV09S RCBGT1IgJ3Rlc3RfdXNlcjQnQCdsb2NhbGhvc3QnID0gUEFTU1dPUkQoJ2F6dW5kcmlzNCcpOwor c2hvdyBiaW5sb2cgZXZlbnRzIGZyb20gPGJpbmxvZ19zdGFydD47CitMb2dfbmFtZQlQb3MJRXZl bnRfdHlwZQlTZXJ2ZXJfaWQJRW5kX2xvZ19wb3MJSW5mbworbWFzdGVyLWJpbi4wMDAwMDEJIwlR dWVyeQkjCSMJdXNlIGB0ZXN0YDsgQ1JFQVRFIFVTRVIgJ3VzZXIxJ0AnbG9jYWxob3N0JyBJREVO VElGSUVEIEJZIFBBU1NXT1JEICcqMTRFNjU1NjdBQkRCNTEzNUQwQ0ZEOUE3MEIzMDMyQzE3OUE0 OUVFNycKK21hc3Rlci1iaW4uMDAwMDAxCSMJUXVlcnkJIwkjCXVzZSBgdGVzdGA7IENSRUFURSBV U0VSICd1c2VyMidAJ2xvY2FsaG9zdCcgSURFTlRJRklFRCBCWSBQQVNTV09SRCAnKjE0RTY1NTY3 QUJEQjUxMzVEMENGRDlBNzBCMzAzMkMxNzlBNDlFRTcnCittYXN0ZXItYmluLjAwMDAwMQkjCVF1 ZXJ5CSMJIwl1c2UgYHRlc3RgOyBTRVQgUEFTU1dPUkQgRk9SICd1c2VyMSdAJ2xvY2FsaG9zdCc9 JyoxNEU2NTU2N0FCREI1MTM1RDBDRkQ5QTcwQjMwMzJDMTc5QTQ5RUU3JworbWFzdGVyLWJpbi4w MDAwMDEJIwlRdWVyeQkjCSMJdXNlIGB0ZXN0YDsgR1JBTlQgVVBEQVRFIE9OICouKiBUTyAndXNl cjEnQCdsb2NhbGhvc3QnIElERU5USUZJRUQgQlkgUEFTU1dPUkQgJyoxNEU2NTU2N0FCREI1MTM1 RDBDRkQ5QTcwQjMwMzJDMTc5QTQ5RUU3JyBXSVRIIEdSQU5UIE9QVElPTgorbWFzdGVyLWJpbi4w MDAwMDEJIwlRdWVyeQkjCSMJdXNlIGB0ZXN0YDsgR1JBTlQgVVBEQVRFIE9OICouKiBUTyAndXNl cjEnQCdsb2NhbGhvc3QnIElERU5USUZJRUQgQlkgUEFTU1dPUkQgJyoxNEU2NTU2N0FCREI1MTM1 RDBDRkQ5QTcwQjMwMzJDMTc5QTQ5RUU3JywndXNlcjInQCdsb2NhbGhvc3QnIElERU5USUZJRUQg QlkgUEFTU1dPUkQgJyozMDVEN0JDQTlENjVEOEQ1QzQ2NzdGMDVDRDJFQTJFQkUzNTAxNThGJyBX SVRIIE1BWF9RVUVSSUVTX1BFUl9IT1VSIDkwCittYXN0ZXItYmluLjAwMDAwMQkjCVF1ZXJ5CSMJ Iwl1c2UgYHRlc3RgOyBHUkFOVCBVUERBVEUgT04gKi4qIFRPICd1c2VyMSdAJ2xvY2FsaG9zdCcg SURFTlRJRklFRCBCWSBQQVNTV09SRCAnKjE0RTY1NTY3QUJEQjUxMzVEMENGRDlBNzBCMzAzMkMx NzlBNDlFRTcnLCd1c2VyMidAJ2xvY2FsaG9zdCcgSURFTlRJRklFRCBCWSBQQVNTV09SRCAnKjMw NUQ3QkNBOUQ2NUQ4RDVDNDY3N0YwNUNEMkVBMkVCRTM1MDE1OEYnIFJFUVVJUkUgU1NMIFdJVEgg TUFYX1FVRVJJRVNfUEVSX0hPVVIgOTAKK21hc3Rlci1iaW4uMDAwMDAxCSMJUXVlcnkJIwkjCXVz ZSBgdGVzdGA7IEdSQU5UIFVQREFURSBPTiAqLiogVE8gJ3VzZXIxJ0AnbG9jYWxob3N0JyBJREVO VElGSUVEIEJZIFBBU1NXT1JEICcqMTRFNjU1NjdBQkRCNTEzNUQwQ0ZEOUE3MEIzMDMyQzE3OUE0 OUVFNycsJ3VzZXIyJ0AnbG9jYWxob3N0JyBJREVOVElGSUVEIEJZIFBBU1NXT1JEICcqMzA1RDdC Q0E5RDY1RDhENUM0Njc3RjA1Q0QyRUEyRUJFMzUwMTU4RicKK21hc3Rlci1iaW4uMDAwMDAxCSMJ UXVlcnkJIwkjCXVzZSBgdGVzdGA7IFJFVk9LRSBVUERBVEUgT04gKi4qIEZST00gdXNlcjFAbG9j YWxob3N0LCB1c2VyMkBsb2NhbGhvc3QKK21hc3Rlci1iaW4uMDAwMDAxCSMJUXVlcnkJIwkjCXVz ZSBgdGVzdGA7IENSRUFURSBERUZJTkVSPWByb290YEBgbG9jYWxob3N0YCBQUk9DRURVUkUgYHAx YCgpCisgICAgU1FMIFNFQ1VSSVRZIElOVk9LRVIKK1NFTEVDVCAxCittYXN0ZXItYmluLjAwMDAw MQkjCVF1ZXJ5CSMJIwl1c2UgYHRlc3RgOyBHUkFOVCBFWEVDVVRFIE9OIFBST0NFRFVSRSBgdGVz dGAuYHAxYCBUTyAndXNlcjEnQCdsb2NhbGhvc3QnIElERU5USUZJRUQgQlkgUEFTU1dPUkQgJyox NEU2NTU2N0FCREI1MTM1RDBDRkQ5QTcwQjMwMzJDMTc5QTQ5RUU3JywndXNlcjInQCdsb2NhbGhv c3QnIElERU5USUZJRUQgQlkgUEFTU1dPUkQgJyozMDVEN0JDQTlENjVEOEQ1QzQ2NzdGMDVDRDJF QTJFQkUzNTAxNThGJyBXSVRIIE1BWF9RVUVSSUVTX1BFUl9IT1VSIDkwCittYXN0ZXItYmluLjAw MDAwMQkjCVF1ZXJ5CSMJIwl1c2UgYHRlc3RgOyBHUkFOVCBFWEVDVVRFIE9OIFBST0NFRFVSRSBg dGVzdGAuYHAxYCBUTyAndXNlcjEnQCdsb2NhbGhvc3QnIElERU5USUZJRUQgQlkgUEFTU1dPUkQg JyoxNEU2NTU2N0FCREI1MTM1RDBDRkQ5QTcwQjMwMzJDMTc5QTQ5RUU3JywndXNlcjInQCdsb2Nh bGhvc3QnIElERU5USUZJRUQgQlkgUEFTU1dPUkQgJyozMDVEN0JDQTlENjVEOEQ1QzQ2NzdGMDVD RDJFQTJFQkUzNTAxNThGJyBSRVFVSVJFIFNTTCBXSVRIIE1BWF9RVUVSSUVTX1BFUl9IT1VSIDkw CittYXN0ZXItYmluLjAwMDAwMQkjCVF1ZXJ5CSMJIwl1c2UgYHRlc3RgOyBHUkFOVCBFWEVDVVRF IE9OIFBST0NFRFVSRSBgdGVzdGAuYHAxYCBUTyAndXNlcjEnQCdsb2NhbGhvc3QnIElERU5USUZJ RUQgQlkgUEFTU1dPUkQgJyoxNEU2NTU2N0FCREI1MTM1RDBDRkQ5QTcwQjMwMzJDMTc5QTQ5RUU3 JywndXNlcjInQCdsb2NhbGhvc3QnIElERU5USUZJRUQgQlkgUEFTU1dPUkQgJyozMDVEN0JDQTlE NjVEOEQ1QzQ2NzdGMDVDRDJFQTJFQkUzNTAxNThGJworbWFzdGVyLWJpbi4wMDAwMDEJIwlRdWVy eQkjCSMJdXNlIGB0ZXN0YDsgUkVWT0tFIEVYRUNVVEUgT04gUFJPQ0VEVVJFIHAxIEZST00gdXNl cjFAbG9jYWxob3N0LCB1c2VyMkBsb2NhbGhvc3QKK21hc3Rlci1iaW4uMDAwMDAxCSMJUXVlcnkJ IwkjCXVzZSBgdGVzdGA7IENSRUFURSBERUZJTkVSPWByb290YEBgbG9jYWxob3N0YCBGVU5DVElP TiBgZjFgKCkgUkVUVVJOUyBpbnQoMTEpCitSRVRVUk4gMTIzCittYXN0ZXItYmluLjAwMDAwMQkj CVF1ZXJ5CSMJIwl1c2UgYHRlc3RgOyBHUkFOVCBFWEVDVVRFIE9OIEZVTkNUSU9OIGB0ZXN0YC5g ZjFgIFRPICd1c2VyMSdAJ2xvY2FsaG9zdCcgSURFTlRJRklFRCBCWSBQQVNTV09SRCAnKjE0RTY1 NTY3QUJEQjUxMzVEMENGRDlBNzBCMzAzMkMxNzlBNDlFRTcnLCd1c2VyMidAJ2xvY2FsaG9zdCcg SURFTlRJRklFRCBCWSBQQVNTV09SRCAnKjMwNUQ3QkNBOUQ2NUQ4RDVDNDY3N0YwNUNEMkVBMkVC RTM1MDE1OEYnIFJFUVVJUkUgU1NMIFdJVEggTUFYX1FVRVJJRVNfUEVSX0hPVVIgOTAKK21hc3Rl ci1iaW4uMDAwMDAxCSMJUXVlcnkJIwkjCXVzZSBgdGVzdGA7IFJFVk9LRSBFWEVDVVRFIE9OIEZV TkNUSU9OIGYxIEZST00gdXNlcjFAbG9jYWxob3N0LCB1c2VyMkBsb2NhbGhvc3QKK21hc3Rlci1i aW4uMDAwMDAxCSMJUXVlcnkJIwkjCXVzZSBgdGVzdGA7IERST1AgVVNFUiB1c2VyMUBsb2NhbGhv c3QsIHVzZXIyQGxvY2FsaG9zdAorbWFzdGVyLWJpbi4wMDAwMDEJIwlRdWVyeQkjCSMJdXNlIGB0 ZXN0YDsgRFJPUCBGVU5DVElPTiBmMQorbWFzdGVyLWJpbi4wMDAwMDEJIwlRdWVyeQkjCSMJdXNl IGB0ZXN0YDsgRFJPUCBQUk9DRURVUkUgcDEKK21hc3Rlci1iaW4uMDAwMDAxCSMJUXVlcnkJIwkj CXVzZSBgdGVzdGA7IEdSQU5UIEFMTCBQUklWSUxFR0VTIE9OICouKiBUTyAndGVzdF91c2VyMSdA JyUnIElERU5USUZJRUQgQlkgUEFTU1dPUkQgJyo4RDE1RTc0QkM4NTBEMTE1NzNBNTJCRTg0QjUw NEREMEJBNDBDMUUzJworbWFzdGVyLWJpbi4wMDAwMDEJIwlRdWVyeQkjCSMJdXNlIGB0ZXN0YDsg Q1JFQVRFIFVTRVIgJ3Rlc3RfdXNlcjInQCclJyBJREVOVElGSUVEIEJZIFBBU1NXT1JEICcqQTE0 Mjg0NERCRjAyNEQyODJEODhGRTE5Q0I0RDNGQTEzQjFFOTZFMCcKK21hc3Rlci1iaW4uMDAwMDAx CSMJUXVlcnkJIwkjCXVzZSBgdGVzdGA7IENSRUFURSBVU0VSICd0ZXN0X3VzZXI0J0AnbG9jYWxo b3N0JworbWFzdGVyLWJpbi4wMDAwMDEJIwlRdWVyeQkjCSMJdXNlIGB0ZXN0YDsgU0VUIFBBU1NX T1JEIEZPUiAndGVzdF91c2VyNCdAJ2xvY2FsaG9zdCc9JypGNjJCOTFDOEFEM0Q1RDBCQkYwMkE3 NjFBMTc5RUEzQTY2QjA2MEVDJworRFJPUCBVU0VSICd0ZXN0X3VzZXI0J0AnbG9jYWxob3N0JzsK K0RST1AgVVNFUiB0ZXN0X3VzZXIyOworRFJPUCBVU0VSIHRlc3RfdXNlcjE7CitFbmQgb2YgNS42 IHRlc3RzIQoKPT09IGFkZGVkIGZpbGUgJ215c3FsLXRlc3Qvc3VpdGUvYmlubG9nL3QvYmlubG9n X3Jld3JpdGUudGVzdCcKLS0tIGEvbXlzcWwtdGVzdC9zdWl0ZS9iaW5sb2cvdC9iaW5sb2dfcmV3 cml0ZS50ZXN0CTE5NzAtMDEtMDEgMDA6MDA6MDAgKzAwMDAKKysrIGIvbXlzcWwtdGVzdC9zdWl0 ZS9iaW5sb2cvdC9iaW5sb2dfcmV3cml0ZS50ZXN0CTIwMTEtMDgtMTcgMTQ6MDc6MDcgKzAwMDAK QEAgLTAsMCArMSw2NyBAQAorIworIyBXTCM1NzA2L0J1ZyM1ODcxMi9CdWcjMTE3NDYzNzgKKyMg RW5jcnlwdCBvciByZW1vdmUgcGFzc3dvcmRzIGZyb20gc2xvdywgcXVlcnksIGFuZCBiaW5hcnkg bG9ncworIyAoc2VlIHNxbC9zcWxfcmV3cml0ZS5jYyBmb3IgYnVsayBvZiBpbXBsZW1lbnRhdGlv bikKKyMKKworLS0gc291cmNlIGluY2x1ZGUvaGF2ZV9sb2dfYmluLmluYworCitSRVNFVCBNQVNU RVI7CisKKyMtLS0tLS0tLS0tLS0tLS0gYmluIGxvZyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tCisKKyMgbWlzYyByZXdyaXRlcy4KKworIyBTaG93IHRoYXQgd2hl biB3ZSBjb21wbGV0ZWx5IHJlLXN5bnRoZXNpemUgY29tbWFuZHMsCisjIHdlIGdldCBhbGwgdGhl IHBhcnRpY2xlcyByaWdodCEKKworQ1JFQVRFIFVTRVIgdXNlcjFAbG9jYWxob3N0IElERU5USUZJ RUQgQlkgJ3NlY3JldCc7CitDUkVBVEUgVVNFUiB1c2VyMkBsb2NhbGhvc3QgSURFTlRJRklFRCBC WSAnc2VjcmV0JzsKK1NFVCBQQVNTV09SRCBGT1IgdXNlcjFAbG9jYWxob3N0ID0gUEFTU1dPUkQo J3NlY3JldCcpOworCistLWVjaG8gIyBUZXN0IHRoZSBwYXNzd29yZCBpcyBlbmNyeXB0ZWQgaW4g YmluYXJ5IGxvZworLS1lY2hvICMgd2hlbiBncmFudGluZyBwcml2aWxlZ2VzIG9uIHRhYmxlcy4K K0dSQU5UIFVQREFURSBPTiAqLiogVE8gdXNlcjFAbG9jYWxob3N0IElERU5USUZJRUQgQlkgJ3Nl Y3JldCcgV0lUSCBHUkFOVCBPUFRJT047CitHUkFOVCBVUERBVEUgT04gKi4qIC8qYmVmb3JlIHRv Ki9UTy8qYWZ0ZXIgdG8qLyB1c2VyMUBsb2NhbGhvc3QgSURFTlRJRklFRCBCWSAnc2VjcmV0Jywg dXNlcjJAbG9jYWxob3N0IElERU5USUZJRUQgQlkgJ3NlY3JldDInIC8qYmVmb3JlIHdpdGgqL1dJ VEgvKmFmdGVyIHdpdGgqL01BWF9RVUVSSUVTX1BFUl9IT1VSIDkwOworR1JBTlQgVVBEQVRFIE9O ICouKiAvKmJlZm9yZSB0byovVE8vKmFmdGVyIHRvKi8gdXNlcjFAbG9jYWxob3N0IElERU5USUZJ RUQgQlkgJ3NlY3JldCcsIHVzZXIyQGxvY2FsaG9zdCBJREVOVElGSUVEIEJZICdzZWNyZXQyJyAv KmJlZm9yZSByZXF1aXJlKi9SRVFVSVJFIFNTTC8qYWZ0ZXIgcmVxdWlyZSovIC8qYmVmb3JlIHdp dGgqL1dJVEgvKmFmdGVyIHdpdGgqL01BWF9RVUVSSUVTX1BFUl9IT1VSIDkwOworR1JBTlQgVVBE QVRFIE9OICouKiBUTyB1c2VyMUBsb2NhbGhvc3QgSURFTlRJRklFRCBCWSAnc2VjcmV0JywgdXNl cjJAbG9jYWxob3N0IElERU5USUZJRUQgQlkgJ3NlY3JldDInOworUkVWT0tFIFVQREFURSBPTiAq LiogRlJPTSB1c2VyMUBsb2NhbGhvc3QsIHVzZXIyQGxvY2FsaG9zdDsKKworLS1lY2hvICMgVGVz dCB0aGUgcGFzc3dvcmQgaXMgZW5jcnlwdGVkIGluIGJpbmFyeSBsb2cKKy0tZWNobyAjIHdoZW4g Z3JhbnRpbmcgcHJpdmlsZWdlcyBvbiBwcm9jZWR1cmUuCitDUkVBVEUgUFJPQ0VEVVJFIHAxKCkg U1FMIFNFQ1VSSVRZIElOVk9LRVIgU0VMRUNUIDE7CitHUkFOVCBFWEVDVVRFIE9OIFBST0NFRFVS RSBwMSBUTyB1c2VyMUBsb2NhbGhvc3QgSURFTlRJRklFRCBCWSAnc2VjcmV0JywgdXNlcjJAbG9j YWxob3N0IElERU5USUZJRUQgQlkgJ3NlY3JldDInIC8qYmVmb3JlIHdpdGgqLyBXSVRIIE1BWF9R VUVSSUVTX1BFUl9IT1VSIDkwOworR1JBTlQgRVhFQ1VURSBPTiBQUk9DRURVUkUgcDEgLypiZWZv cmUgdG8qL1RPLyphZnRlciB0byovIHVzZXIxQGxvY2FsaG9zdCBJREVOVElGSUVEIEJZICdzZWNy ZXQnLCB1c2VyMkBsb2NhbGhvc3QgSURFTlRJRklFRCBCWSAnc2VjcmV0MicgLypiZWZvcmUgcmVx dWlyZSovUkVRVUlSRSBTU0wvKmFmdGVyIHJlcXVpcmUqLyAvKmJlZm9yZSB3aXRoKi9XSVRILyph ZnRlciB3aXRoKi9NQVhfUVVFUklFU19QRVJfSE9VUiA5MDsKK0dSQU5UIEVYRUNVVEUgT04gUFJP Q0VEVVJFIHAxIFRPIHVzZXIxQGxvY2FsaG9zdCBJREVOVElGSUVEIEJZICdzZWNyZXQnLCB1c2Vy MkBsb2NhbGhvc3QgSURFTlRJRklFRCBCWSAnc2VjcmV0Mic7CitSRVZPS0UgRVhFQ1VURSBPTiBQ Uk9DRURVUkUgcDEgRlJPTSB1c2VyMUBsb2NhbGhvc3QsIHVzZXIyQGxvY2FsaG9zdDsKKworLS1l Y2hvICMgVGVzdCB0aGUgcGFzc3dvcmQgaXMgZW5jcnlwdGVkIGluIGJpbmFyeSBsb2cKKy0tZWNo byAjIHdoZW4gZ3JhbnRpbmcgcHJpdmlsZWdlcyBvbiBmdW5jdGlvbi4KK0NSRUFURSBGVU5DVElP TiBmMSgpIFJFVFVSTlMgSU5UIFJFVFVSTiAxMjM7CitHUkFOVCBFWEVDVVRFIE9OIEZVTkNUSU9O IGYxIC8qYmVmb3JlIHRvKi9UTy8qYWZ0ZXIgdG8qLyB1c2VyMUBsb2NhbGhvc3QgSURFTlRJRklF RCBCWSAnc2VjcmV0JyAvKiExMDAwMCAsIHVzZXIyQGxvY2FsaG9zdCBJREVOVElGSUVEIEJZICdz ZWNyZXQyJyAqLyAvKiE5OTk5OSBUSElTX1dPVUxEX0JSRUFLICovIC8qYmVmb3JlIHJlcXVpcmUq L1JFUVVJUkUgU1NMLyphZnRlciByZXF1aXJlKi8gLypiZWZvcmUgd2l0aCovV0lUSC8qYWZ0ZXIg d2l0aCovTUFYX1FVRVJJRVNfUEVSX0hPVVIgOTA7CitSRVZPS0UgRVhFQ1VURSBPTiBGVU5DVElP TiBmMSBGUk9NIHVzZXIxQGxvY2FsaG9zdCwgdXNlcjJAbG9jYWxob3N0OworCitEUk9QIFVTRVIg dXNlcjFAbG9jYWxob3N0LCB1c2VyMkBsb2NhbGhvc3Q7CitEUk9QIEZVTkNUSU9OIGYxOworRFJP UCBQUk9DRURVUkUgcDE7CisKKyMgMS4xLjEuMQorR1JBTlQgQUxMIG9uICouKiBUTyB0ZXN0X3Vz ZXIxIElERU5USUZJRUQgQlkgJ2F6dW5kcmlzMSc7CisKKyMgMS4xLjEuMgorQ1JFQVRFIFVTRVIg dGVzdF91c2VyMiBJREVOVElGSUVEIEJZICdhenVuZHJpczInOworCisjIDEuMS4xLjMKK0NIQU5H RSBNQVNURVIgVE8gTUFTVEVSX1BBU1NXT1JEPSdhenVuZHJpczMnOworCisjIDEuMS4xLjQKK0NS RUFURSBVU0VSICd0ZXN0X3VzZXI0J0AnbG9jYWxob3N0JzsKK1NFVCBQQVNTV09SRCBGT1IgJ3Rl c3RfdXNlcjQnQCdsb2NhbGhvc3QnID0gUEFTU1dPUkQoJ2F6dW5kcmlzNCcpOworCistLXNvdXJj ZSBpbmNsdWRlL3Nob3dfYmlubG9nX2V2ZW50cy5pbmMKKworRFJPUCBVU0VSICd0ZXN0X3VzZXI0 J0AnbG9jYWxob3N0JzsKK0RST1AgVVNFUiB0ZXN0X3VzZXIyOworRFJPUCBVU0VSIHRlc3RfdXNl cjE7CisKKy0tZWNobyBFbmQgb2YgNS42IHRlc3RzIQoKPT09IG1vZGlmaWVkIGZpbGUgJ215c3Fs LXRlc3Qvc3VpdGUvcnBsL3IvcnBsX2RvX2dyYW50LnJlc3VsdCcKLS0tIGEvbXlzcWwtdGVzdC9z dWl0ZS9ycGwvci9ycGxfZG9fZ3JhbnQucmVzdWx0CTIwMTAtMTItMjEgMTI6MTk6NDggKzAwMDAK KysrIGIvbXlzcWwtdGVzdC9zdWl0ZS9ycGwvci9ycGxfZG9fZ3JhbnQucmVzdWx0CTIwMTEtMDgt MTcgMTQ6MDc6MDcgKzAwMDAKQEAgLTIzOSw3ICsyMzksNyBAQCByZXZva2UgYWxsIHByaXZpbGVn ZXMsIGdyYW50IG9wdGlvbiBmcm9tCiBFUlJPUiBIWTAwMDogQ2FuJ3QgcmV2b2tlIGFsbCBwcml2 aWxlZ2VzIGZvciBvbmUgb3IgbW9yZSBvZiB0aGUgcmVxdWVzdGVkIHVzZXJzCiBzaG93IGJpbmxv ZyBldmVudHMgZnJvbSA8YmlubG9nX3N0YXJ0PjsKIExvZ19uYW1lCVBvcwlFdmVudF90eXBlCVNl cnZlcl9pZAlFbmRfbG9nX3BvcwlJbmZvCi1tYXN0ZXItYmluLjAwMDAwMQkjCVF1ZXJ5CSMJIwl1 c2UgYHRlc3RgOyBncmFudCBhbGwgb24gKi4qIHRvIGZvb0AiMS4yLjMuNCIKK21hc3Rlci1iaW4u MDAwMDAxCSMJUXVlcnkJIwkjCXVzZSBgdGVzdGA7IEdSQU5UIEFMTCBQUklWSUxFR0VTIE9OICou KiBUTyAnZm9vJ0AnMS4yLjMuNCcKIGluY2x1ZGUvY2hlY2tfc2xhdmVfbm9fZXJyb3IuaW5jCiBE Uk9QIFVTRVIgZm9vQCIxLjIuMy40IjsKIAoKPT09IG1vZGlmaWVkIGZpbGUgJ215c3FsLXRlc3Qv c3VpdGUvcnBsL3IvcnBsX21peGVkX2ltcGxpY2l0X2NvbW1pdF9iaW5sb2cucmVzdWx0JwotLS0g YS9teXNxbC10ZXN0L3N1aXRlL3JwbC9yL3JwbF9taXhlZF9pbXBsaWNpdF9jb21taXRfYmlubG9n LnJlc3VsdAkyMDEwLTEyLTE5IDE3OjIyOjMwICswMDAwCisrKyBiL215c3FsLXRlc3Qvc3VpdGUv cnBsL3IvcnBsX21peGVkX2ltcGxpY2l0X2NvbW1pdF9iaW5sb2cucmVzdWx0CTIwMTEtMDgtMTcg MTQ6MDc6MDcgKzAwMDAKQEAgLTEzNyw3ICsxMzcsNyBAQCBMb2dfbmFtZQlQb3MJRXZlbnRfdHlw ZQlTZXJ2ZXJfaWQJRW5kX2xvCiBtYXN0ZXItYmluLjAwMDAwMQkjCVF1ZXJ5CSMJIwlCRUdJTgog bWFzdGVyLWJpbi4wMDAwMDEJIwlRdWVyeQkjCSMJdXNlIGB0ZXN0YDsgSU5TRVJUIElOVE8gdHRf MShkZGxfY2FzZSkgVkFMVUVTICgzMikKIG1hc3Rlci1iaW4uMDAwMDAxCSMJWGlkCSMJIwlDT01N SVQgLyogWElEICovCi1tYXN0ZXItYmluLjAwMDAwMQkjCVF1ZXJ5CSMJIwl1c2UgYHRlc3RgOyBH UkFOVCBBTEwgT04gKi4qIFRPICd1c2VyJ0AnbG9jYWxob3N0JworbWFzdGVyLWJpbi4wMDAwMDEJ IwlRdWVyeQkjCSMJdXNlIGB0ZXN0YDsgR1JBTlQgQUxMIFBSSVZJTEVHRVMgT04gKi4qIFRPICd1 c2VyJ0AnbG9jYWxob3N0JwogLWUtZS1lLWUtZS1lLWUtZS1lLWUtZS0gPj4gPDwgLWUtZS1lLWUt ZS1lLWUtZS1lLWUtZS0KIAogLWItYi1iLWItYi1iLWItYi1iLWItYi0gPj4gPDwgLWItYi1iLWIt Yi1iLWItYi1iLWItYi0KCj09PSBtb2RpZmllZCBmaWxlICdteXNxbC10ZXN0L3N1aXRlL3JwbC9y L3JwbF9yb3dfaW1wbGljaXRfY29tbWl0X2JpbmxvZy5yZXN1bHQnCi0tLSBhL215c3FsLXRlc3Qv c3VpdGUvcnBsL3IvcnBsX3Jvd19pbXBsaWNpdF9jb21taXRfYmlubG9nLnJlc3VsdAkyMDEwLTEy LTE5IDE3OjIyOjMwICswMDAwCisrKyBiL215c3FsLXRlc3Qvc3VpdGUvcnBsL3IvcnBsX3Jvd19p bXBsaWNpdF9jb21taXRfYmlubG9nLnJlc3VsdAkyMDExLTA4LTE3IDE0OjA3OjA3ICswMDAwCkBA IC0xNDcsNyArMTQ3LDcgQEAgbWFzdGVyLWJpbi4wMDAwMDEJIwlRdWVyeQkjCSMJQkVHSU4KIG1h c3Rlci1iaW4uMDAwMDAxCSMJVGFibGVfbWFwCSMJIwl0YWJsZV9pZDogIyAodGVzdC50dF8xKQog bWFzdGVyLWJpbi4wMDAwMDEJIwlXcml0ZV9yb3dzCSMJIwl0YWJsZV9pZDogIyBmbGFnczogU1RN VF9FTkRfRgogbWFzdGVyLWJpbi4wMDAwMDEJIwlYaWQJIwkjCUNPTU1JVCAvKiBYSUQgKi8KLW1h c3Rlci1iaW4uMDAwMDAxCSMJUXVlcnkJIwkjCXVzZSBgdGVzdGA7IEdSQU5UIEFMTCBPTiAqLiog VE8gJ3VzZXInQCdsb2NhbGhvc3QnCittYXN0ZXItYmluLjAwMDAwMQkjCVF1ZXJ5CSMJIwl1c2Ug YHRlc3RgOyBHUkFOVCBBTEwgUFJJVklMRUdFUyBPTiAqLiogVE8gJ3VzZXInQCdsb2NhbGhvc3Qn CiAtZS1lLWUtZS1lLWUtZS1lLWUtZS1lLSA+PiA8PCAtZS1lLWUtZS1lLWUtZS1lLWUtZS1lLQog CiAtYi1iLWItYi1iLWItYi1iLWItYi1iLSA+PiA8PCAtYi1iLWItYi1iLWItYi1iLWItYi1iLQoK PT09IG1vZGlmaWVkIGZpbGUgJ215c3FsLXRlc3Qvc3VpdGUvcnBsL3IvcnBsX3NwLnJlc3VsdCcK LS0tIGEvbXlzcWwtdGVzdC9zdWl0ZS9ycGwvci9ycGxfc3AucmVzdWx0CTIwMTAtMTItMTkgMTc6 MjI6MzAgKzAwMDAKKysrIGIvbXlzcWwtdGVzdC9zdWl0ZS9ycGwvci9ycGxfc3AucmVzdWx0CTIw MTEtMDgtMTcgMTQ6MDc6MDcgKzAwMDAKQEAgLTQzMiw3ICs0MzIsNyBAQCBtYXN0ZXItYmluLjAw MDAwMQkjCVF1ZXJ5CSMJIwl1c2UgYG15c3FsCiBtYXN0ZXItYmluLjAwMDAwMQkjCVF1ZXJ5CSMJ Iwl1c2UgYG15c3FsdGVzdDFgOyBDUkVBVEUgREVGSU5FUj1gcm9vdGBAYGxvY2FsaG9zdGAgUFJP Q0VEVVJFIGBmb28zYCgpCiAgICAgREVURVJNSU5JU1RJQwogaW5zZXJ0IGludG8gdDEgdmFsdWVz ICgxNSkKLW1hc3Rlci1iaW4uMDAwMDAxCSMJUXVlcnkJIwkjCXVzZSBgbXlzcWx0ZXN0MWA7IGdy YW50IENSRUFURSBST1VUSU5FLCBFWEVDVVRFIG9uIG15c3FsdGVzdDEuKiB0byAiemVkanpsY3Nq aGQiQDEyNy4wLjAuMQorbWFzdGVyLWJpbi4wMDAwMDEJIwlRdWVyeQkjCSMJdXNlIGBteXNxbHRl c3QxYDsgR1JBTlQgRVhFQ1VURSwgQ1JFQVRFIFJPVVRJTkUgT04gYG15c3FsdGVzdDFgLiogVE8g J3plZGp6bGNzamhkJ0AnMTI3LjAuMC4xJwogbWFzdGVyLWJpbi4wMDAwMDEJIwlRdWVyeQkjCSMJ dXNlIGBteXNxbHRlc3QxYDsgZ3JhbnQgU0VMRUNUIG9uIG15c3FsdGVzdDEudDEgdG8gInplZGp6 bGNzamhkIkAxMjcuMC4wLjEKIG1hc3Rlci1iaW4uMDAwMDAxCSMJUXVlcnkJIwkjCXVzZSBgbXlz cWx0ZXN0MWA7IGdyYW50IFNFTEVDVCwgSU5TRVJUIG9uIG15c3FsdGVzdDEudDIgdG8gInplZGp6 bGNzamhkIkAxMjcuMC4wLjEKIG1hc3Rlci1iaW4uMDAwMDAxCSMJUXVlcnkJIwkjCXVzZSBgbXlz cWx0ZXN0MWA7IENSRUFURSBERUZJTkVSPWB6ZWRqemxjc2poZGBAYDEyNy4wLjAuMWAgUFJPQ0VE VVJFIGBmb280YCgpCkBAIC03MzIsNyArNzMyLDcgQEAgQ1JFQVRFIERFRklORVI9YHJvb3RgQGBs b2NhbGhvc3RgIFBST0NFRAogaW5zZXJ0IGludG8gdDEgdmFsdWVzICgxNSkKIC8qISovOwogU0VU IFRJTUVTVEFNUD10LyohKi87Ci1ncmFudCBDUkVBVEUgUk9VVElORSwgRVhFQ1VURSBvbiBteXNx bHRlc3QxLiogdG8gInplZGp6bGNzamhkIkAxMjcuMC4wLjEKK0dSQU5UIEVYRUNVVEUsIENSRUFU RSBST1VUSU5FIE9OIGBteXNxbHRlc3QxYC4qIFRPICd6ZWRqemxjc2poZCdAJzEyNy4wLjAuMScK IC8qISovOwogU0VUIFRJTUVTVEFNUD10LyohKi87CiBncmFudCBTRUxFQ1Qgb24gbXlzcWx0ZXN0 MS50MSB0byAiemVkanpsY3NqaGQiQDEyNy4wLjAuMQoKPT09IG1vZGlmaWVkIGZpbGUgJ215c3Fs LXRlc3Qvc3VpdGUvcnBsL3IvcnBsX3N0bV9pbXBsaWNpdF9jb21taXRfYmlubG9nLnJlc3VsdCcK LS0tIGEvbXlzcWwtdGVzdC9zdWl0ZS9ycGwvci9ycGxfc3RtX2ltcGxpY2l0X2NvbW1pdF9iaW5s b2cucmVzdWx0CTIwMTAtMTItMTkgMTc6MjI6MzAgKzAwMDAKKysrIGIvbXlzcWwtdGVzdC9zdWl0 ZS9ycGwvci9ycGxfc3RtX2ltcGxpY2l0X2NvbW1pdF9iaW5sb2cucmVzdWx0CTIwMTEtMDgtMTcg MTQ6MDc6MDcgKzAwMDAKQEAgLTEzNyw3ICsxMzcsNyBAQCBMb2dfbmFtZQlQb3MJRXZlbnRfdHlw ZQlTZXJ2ZXJfaWQJRW5kX2xvCiBtYXN0ZXItYmluLjAwMDAwMQkjCVF1ZXJ5CSMJIwlCRUdJTgog bWFzdGVyLWJpbi4wMDAwMDEJIwlRdWVyeQkjCSMJdXNlIGB0ZXN0YDsgSU5TRVJUIElOVE8gdHRf MShkZGxfY2FzZSkgVkFMVUVTICgzMikKIG1hc3Rlci1iaW4uMDAwMDAxCSMJWGlkCSMJIwlDT01N SVQgLyogWElEICovCi1tYXN0ZXItYmluLjAwMDAwMQkjCVF1ZXJ5CSMJIwl1c2UgYHRlc3RgOyBH UkFOVCBBTEwgT04gKi4qIFRPICd1c2VyJ0AnbG9jYWxob3N0JworbWFzdGVyLWJpbi4wMDAwMDEJ IwlRdWVyeQkjCSMJdXNlIGB0ZXN0YDsgR1JBTlQgQUxMIFBSSVZJTEVHRVMgT04gKi4qIFRPICd1 c2VyJ0AnbG9jYWxob3N0JwogLWUtZS1lLWUtZS1lLWUtZS1lLWUtZS0gPj4gPDwgLWUtZS1lLWUt ZS1lLWUtZS1lLWUtZS0KIAogLWItYi1iLWItYi1iLWItYi1iLWItYi0gPj4gPDwgLWItYi1iLWIt Yi1iLWItYi1iLWItYi0KCj09PSBtb2RpZmllZCBmaWxlICdteXNxbC10ZXN0L3N1aXRlL3JwbC9y L3JwbF91c2VyLnJlc3VsdCcKLS0tIGEvbXlzcWwtdGVzdC9zdWl0ZS9ycGwvci9ycGxfdXNlci5y ZXN1bHQJMjAxMC0xMi0xOSAxNzoyMjozMCArMDAwMAorKysgYi9teXNxbC10ZXN0L3N1aXRlL3Jw bC9yL3JwbF91c2VyLnJlc3VsdAkyMDExLTA4LTE3IDE0OjA3OjA3ICswMDAwCkBAIC00NSw4ICs0 NSw4IEBAIEhvc3QJVXNlcgogc2hvdyBiaW5sb2cgZXZlbnRzIGZyb20gPGJpbmxvZ19zdGFydD47 CiBMb2dfbmFtZQlQb3MJRXZlbnRfdHlwZQlTZXJ2ZXJfaWQJRW5kX2xvZ19wb3MJSW5mbwogbWFz dGVyLWJpbi4wMDAwMDEJIwlRdWVyeQkjCSMJdXNlIGB0ZXN0YDsgQ1JFQVRFIFVTRVIgJ2ZvbydA J2Zha2Vob3N0JwotbWFzdGVyLWJpbi4wMDAwMDEJIwlRdWVyeQkjCSMJdXNlIGB0ZXN0YDsgQ1JF QVRFIFVTRVIgJ2ZvbydAJ2Zha2Vob3N0JywgJ2JhcidAJ2Zha2Vob3N0JwotbWFzdGVyLWJpbi4w MDAwMDEJIwlRdWVyeQkjCSMJdXNlIGB0ZXN0YDsgQ1JFQVRFIFVTRVIgJ2ZvbzEnQCdmYWtlaG9z dCcgSURFTlRJRklFRCBCWSBQQVNTV09SRCAnKjZFQUM1MjQ5RDUzMDUwQUU2NDlCREIwQ0M0Qjg1 RDFBRTkwQ0ExNkUnLCAnZm9vMidAJ2Zha2Vob3N0JyBJREVOVElGSUVEIEJZIFBBU1NXT1JEICcq MTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMScsICdmb28zJ0AnZmFrZWhv c3QnCittYXN0ZXItYmluLjAwMDAwMQkjCVF1ZXJ5CSMJIwl1c2UgYHRlc3RgOyBDUkVBVEUgVVNF UiAnZm9vJ0AnZmFrZWhvc3QnLCdiYXInQCdmYWtlaG9zdCcKK21hc3Rlci1iaW4uMDAwMDAxCSMJ UXVlcnkJIwkjCXVzZSBgdGVzdGA7IENSRUFURSBVU0VSICdmb28xJ0AnZmFrZWhvc3QnIElERU5U SUZJRUQgQlkgUEFTU1dPUkQgJyo2RUFDNTI0OUQ1MzA1MEFFNjQ5QkRCMENDNEI4NUQxQUU5MENB MTZFJywnZm9vMidAJ2Zha2Vob3N0JyBJREVOVElGSUVEIEJZIFBBU1NXT1JEICcqMTExMTExMTEx MTExMTExMTExMTExMTExMTExMTExMTExMTExMTExMScsJ2ZvbzMnQCdmYWtlaG9zdCcKIG1hc3Rl ci1iaW4uMDAwMDAxCSMJUXVlcnkJIwkjCXVzZSBgdGVzdGA7IHJlbmFtZSB1c2VyICdmb28nQCdm YWtlaG9zdCcgdG8gJ2Zvb2ZvbydAJ2Zha2Vob3N0JwogbWFzdGVyLWJpbi4wMDAwMDEJIwlRdWVy eQkjCSMJdXNlIGB0ZXN0YDsgcmVuYW1lIHVzZXIgJ25vdF9leGlzdF91c2VyMSdAJ2Zha2Vob3N0 JyB0byAnZm9vYmFyJ0AnZmFrZWhvc3QnLCAnYmFyJ0AnZmFrZWhvc3QnIHRvICdiYXJiYXInQCdm YWtlaG9zdCcKIG1hc3Rlci1iaW4uMDAwMDAxCSMJUXVlcnkJIwkjCXVzZSBgdGVzdGA7IGRyb3Ag dXNlciAnZm9vZm9vJ0AnZmFrZWhvc3QnCgo9PT0gbW9kaWZpZWQgZmlsZSAnbXlzcWwtdGVzdC9z dWl0ZS9ycGwvdC9ycGxfZ3JhbnRfcGx1Z2luLnRlc3QnCi0tLSBhL215c3FsLXRlc3Qvc3VpdGUv cnBsL3QvcnBsX2dyYW50X3BsdWdpbi50ZXN0CTIwMTEtMDItMTUgMTA6NTc6MDUgKzAwMDAKKysr IGIvbXlzcWwtdGVzdC9zdWl0ZS9ycGwvdC9ycGxfZ3JhbnRfcGx1Z2luLnRlc3QJMjAxMS0wOC0x NyAxNDowNzowNyArMDAwMApAQCAtMjksNyArMjksNyBAQAogLS0gc3luY19zbGF2ZV93aXRoX21h c3RlcgogLS0gY29ubmVjdGlvbiBtYXN0ZXIKIAotLS1sZXQgJHF1ZXJ5PSBHUkFOVCBBTEwgT04g dGVzdC4qIFRPICdiNTk3MDhfdXNlcjInQCclJyBJREVOVElGSUVEIFdJVEggJ3Rlc3RfcGx1Z2lu X3NlcnZlcicgQVMgJ0NOPWFuYWx5c3QsIE9VPWRpdmlzaW9uMSwgTz1vcmFjbGUsIEM9VVMnCist LWxldCAkcXVlcnk9IEdSQU5UIEFMTCBQUklWSUxFR0VTIE9OIGB0ZXN0YC4qIFRPICdiNTk3MDhf dXNlcjInQCclJyBJREVOVElGSUVEIFdJVEggJ3Rlc3RfcGx1Z2luX3NlcnZlcicgQVMgJ0NOPWFu YWx5c3QsIE9VPWRpdmlzaW9uMSwgTz1vcmFjbGUsIEM9VVMnCiAtLWxldCAkYmlubG9nX3Bvc2l0 aW9uPSBxdWVyeV9nZXRfdmFsdWUoIlNIT1cgTUFTVEVSIFNUQVRVUyIsIFBvc2l0aW9uLCAxKQog LS1ldmFsICRxdWVyeQogLS1sZXQgJGxvZ2dlZF9xdWVyeT0gcXVlcnlfZ2V0X3ZhbHVlKFNIT1cg QklOTE9HIEVWRU5UUyBJTiAiJGJpbmxvZ19maWxlIiBGUk9NICRiaW5sb2dfcG9zaXRpb24gLCBJ bmZvLCAxKQoKPT09IG1vZGlmaWVkIGZpbGUgJ215c3FsLXRlc3QvdC9wbHVnaW5fYXV0aC50ZXN0 JwotLS0gYS9teXNxbC10ZXN0L3QvcGx1Z2luX2F1dGgudGVzdAkyMDExLTA3LTA3IDA5OjQ1OjEw ICswMDAwCisrKyBiL215c3FsLXRlc3QvdC9wbHVnaW5fYXV0aC50ZXN0CTIwMTEtMDgtMTcgMTQ6 MDc6MDcgKzAwMDAKQEAgLTYsNiArNiwxMiBAQCBDQUxMIG10ci5hZGRfc3VwcHJlc3Npb24oIlBs dWdpbiB0ZXN0X3BsCiBxdWVyeV92ZXJ0aWNhbCBTRUxFQ1QgUExVR0lOX1NUQVRVUywgUExVR0lO X1RZUEUsIFBMVUdJTl9ERVNDUklQVElPTgogICBGUk9NIElORk9STUFUSU9OX1NDSEVNQS5QTFVH SU5TIFdIRVJFIFBMVUdJTl9OQU1FPSd0ZXN0X3BsdWdpbl9zZXJ2ZXInOwogCitTRVQgQG9sZF9s b2dfb3V0cHV0PSAgICAgICAgICBAQGdsb2JhbC5sb2dfb3V0cHV0OworU0VUIEBvbGRfZ2VuZXJh bF9sb2c9ICAgICAgICAgQEBnbG9iYWwuZ2VuZXJhbF9sb2c7CisKK1NFVCBHTE9CQUwgbG9nX291 dHB1dCA9ICAgICAgICdUQUJMRSc7CitTRVQgR0xPQkFMIGdlbmVyYWxfbG9nPSAgICAgICAnT04n OworCiBDUkVBVEUgVVNFUiBwbHVnIElERU5USUZJRUQgV0lUSCAndGVzdF9wbHVnaW5fc2VydmVy JyBBUyAncGx1Z19kZXN0JzsKIENSRUFURSBVU0VSIHBsdWdfZGVzdCBJREVOVElGSUVEIEJZICdw bHVnX2Rlc3RfcGFzc3dkJzsKIApAQCAtMjk5LDkgKzMwNSwxNSBAQCBjb25uZWN0aW9uIGRlZmF1 bHQ7CiAtLWVjaG8gIyBpbiBjb25uZWN0aW9uIGRlZmF1bHQKIGRpc2Nvbm5lY3QgcGx1Z19jb247 CiAKKy0tZWNobyBXTCM1NzA2IC0tIHNob3cgdGhlIGFib3ZlIGdvdCBsb2dnZWQvcmV3cml0dGVu IGNvcnJlY3RseQorU0VMRUNUIGFyZ3VtZW50IEZST00gbXlzcWwuZ2VuZXJhbF9sb2cgV0hFUkUg YXJndW1lbnQgTElLRSBDT05DQVQoJyUgSURFTlRJRklFRCAnLCdXSVRIJScpOworCiAtLWVjaG8g IyMgY2xlYW51cAogRFJPUCBVU0VSIHBsdWc7CiBEUk9QIFVTRVIgcGx1Z19kZXN0OworCitTRVQg R0xPQkFMIGxvZ19vdXRwdXQ9ICBAb2xkX2xvZ19vdXRwdXQ7CitTRVQgR0xPQkFMIGdlbmVyYWxf bG9nPSBAb2xkX2dlbmVyYWxfbG9nOwogLS1lY2hvICMjIEVORCBAQGV4dGVybmFsX3VzZXIgdGVz dHMKIAogLS1lY2hvICMKCj09PSBhZGRlZCBmaWxlICdteXNxbC10ZXN0L3QvcmV3cml0ZS50ZXN0 JwotLS0gYS9teXNxbC10ZXN0L3QvcmV3cml0ZS50ZXN0CTE5NzAtMDEtMDEgMDA6MDA6MDAgKzAw MDAKKysrIGIvbXlzcWwtdGVzdC90L3Jld3JpdGUudGVzdAkyMDExLTA4LTE3IDE0OjA3OjA3ICsw MDAwCkBAIC0wLDAgKzEsMTY5IEBACisjCisjIFdMIzU3MDYvQnVnIzU4NzEyL0J1ZyMxMTc0NjM3 OAorIyBFbmNyeXB0IG9yIHJlbW92ZSBwYXNzd29yZHMgZnJvbSBzbG93LCBxdWVyeSwgYW5kIGJp bmFyeSBsb2dzCisjIChzZWUgc3FsL3NxbF9yZXdyaXRlLmNjIGZvciBidWxrIG9mIGltcGxlbWVu dGF0aW9uKQorIworCisjIG1ha2Ugc3VyZSB3ZSBzdGFydCB3aXRoIGEgY2xlYW4gc2xhdGUuIGxv Z190YWJsZXMudGVzdCBzYXlzIHRoaXMgaXMgT0suCitUUlVOQ0FURSBUQUJMRSBteXNxbC5nZW5l cmFsX2xvZzsKK1RSVU5DQVRFIFRBQkxFIG15c3FsLnNsb3dfbG9nOworCistLWVjaG8gLS0tLS0t LS0tLS0tLS0tIGdlbmVyYWwgbG9nIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLQorCitTRVQgQG9sZF9sb2dfb3V0cHV0PSAgICAgICAgICBAQGdsb2JhbC5sb2dfb3V0cHV0 OworU0VUIEBvbGRfZ2VuZXJhbF9sb2c9ICAgICAgICAgQEBnbG9iYWwuZ2VuZXJhbF9sb2c7CitT RVQgQG9sZF9nZW5lcmFsX2xvZ19maWxlPSAgICBAQGdsb2JhbC5nZW5lcmFsX2xvZ19maWxlOwor CistLXJlcGxhY2VfcmVzdWx0ICRNWVNRTFRFU1RfVkFSRElSIC4uLgorZXZhbCBTRVQgR0xPQkFM IGdlbmVyYWxfbG9nX2ZpbGUgPSAnJE1ZU1FMVEVTVF9WQVJESVIvbG9nL3Jld3JpdGVfZ2VuZXJh bC5sb2cnOworU0VUIEdMT0JBTCBsb2dfb3V0cHV0ID0gICAgICAgJ0ZJTEUsVEFCTEUnOworU0VU IEdMT0JBTCBnZW5lcmFsX2xvZz0gICAgICAgJ09OJzsKKworIyBTRVQgTkFNRVMgLyBTRVQgQ0hB UlNFVAorIyBrZWVwIHRoZXNlIGluIGxvd2VyIGNhc2Ugd2UgY2FuIHRlbGwgdGhlbSBmcm9tIHRo ZSB1cHBlciBjYXNlIHJld3JpdGVzIQorc2V0IGNoYXJhY3RlciBzZXQgJ2hlYnJldyc7CitzZXQg Y2hhcnNldCBkZWZhdWx0LEBkdW1teT0nQSc7CitzZXQgbmFtZXMgJ2xhdGluMScsQGR1bW15PSdC JzsKK3NldCBuYW1lcyAnbGF0aW4xJyBjb2xsYXRlICdsYXRpbjFfZ2VybWFuMl9jaSc7CitzZXQg bmFtZXMgZGVmYXVsdCxAZHVtbXk9J2MnOworCisjIDEuMS4xLjEKK0dSQU5UIEFMTCBvbiAqLiog VE8gdGVzdF91c2VyMSBJREVOVElGSUVEIEJZICdhenVuZHJpczEnOworCisjIDEuMS4xLjIKK0NS RUFURSBVU0VSIHRlc3RfdXNlcjIgSURFTlRJRklFRCBCWSAnYXp1bmRyaXMyJzsKKworIyAxLjEu MS4zCitDSEFOR0UgTUFTVEVSIFRPIE1BU1RFUl9QQVNTV09SRD0nYXp1bmRyaXMzJzsKKworIyAx LjEuMS40CitDUkVBVEUgVVNFUiAndGVzdF91c2VyNCdAJ2xvY2FsaG9zdCc7CitTRVQgUEFTU1dP UkQgRk9SICd0ZXN0X3VzZXI0J0AnbG9jYWxob3N0JyA9IFBBU1NXT1JEKCdhenVuZHJpczQnKTsK KworIyBjbGVhbi11cAorU0VUIEdMT0JBTCBnZW5lcmFsX2xvZz0gICAgICAgJ09GRic7CisKK0RS T1AgVVNFUiAndGVzdF91c2VyNCdAJ2xvY2FsaG9zdCc7CitEUk9QIFVTRVIgdGVzdF91c2VyMjsK K0RST1AgVVNFUiB0ZXN0X3VzZXIxOworCisjIHNob3cgZ2VuZXJhbC1sb2dnaW5nIHRvIGZpbGUg aXMgY29ycmVjdAorQ1JFQVRFIFRBQkxFIHRlc3RfbG9nIChhcmd1bWVudCBURVhUKTsKKy0tcmVw bGFjZV9yZXN1bHQgJE1ZU1FMVEVTVF9WQVJESVIgLi4uCitldmFsIExPQUQgREFUQSBMT0NBTCBJ TkZJTEUgJyRNWVNRTFRFU1RfVkFSRElSL2xvZy9yZXdyaXRlX2dlbmVyYWwubG9nJworICAgICBJ TlRPIFRBQkxFIHRlc3RfbG9nIEZJRUxEUyBURVJNSU5BVEVEIEJZICdcbicgTElORVMgVEVSTUlO QVRFRCBCWSAnXG4nOworCisjIGFsbCBwYXNzd29yZHMgKCdhenVuZHJpcyUnKSBtdXN0IGhhdmUg YmVlbiBvYmZ1c2NhdGVkIC0+IGVtcHR5IHJlc3VsdCBzZXQKKy0tZWNobyBUaGlzIGxpbmUgc2hv dWxkIGJlIGZvbGxvd2VkIGJ5IHR3byBTRUxFQ1RzIHdpdGggZW1wdHkgcmVzdWx0IHNldHMKKy0t cmVwbGFjZV9yZWdleCAvLipRdWVyeQkqLy9pCitTRUxFQ1QgYXJndW1lbnQgRlJPTSB0ZXN0X2xv ZyBXSEVSRSBhcmd1bWVudCBMSUtFIENPTkNBVCgnJWF6dW4nLCdkcmlzJScpOworCisjIHNhbWUg Zm9yIGxvZ2dpbmcgdG8gdGFibGUKK1NFTEVDVCBhcmd1bWVudCBGUk9NIG15c3FsLmdlbmVyYWxf bG9nIFdIRVJFIGFyZ3VtZW50IExJS0UgQ09OQ0FUKCclYXp1bicsJ2RyaXMlJyk7CisKKy0tZWNo byBTaG93IHRoYXQgd2UgbG9nZ2VkIHN0dWZmIGF0IGFsbDoKKy0tZWNobyAtLS0tLS0gZnJvbSBm aWxlIC0tLS0tLQorU0VMRUNUIFRSSU0oTEVBRElORyAnXHQnIEZST00gTUlEKGFyZ3VtZW50LExP Q0FURSgnUXVlcnknLGFyZ3VtZW50KSs1KSkgRlJPTSB0ZXN0X2xvZyBXSEVSRSBhcmd1bWVudCBM SUtFICclUEFTU1dPUkQgJSc7CistLWVjaG8gLS0tLS0tIGZyb20gdGFibGUgLS0tLS0tCitTRUxF Q1QgYXJndW1lbnQgRlJPTSBteXNxbC5nZW5lcmFsX2xvZyBXSEVSRSBhcmd1bWVudCBMSUtFICcl UEFTU1dPUkQgJSc7CistLWVjaG8gLS0tLS0tIGRvbmUgLS0tLS0tCisKKy0tZWNobyAtLS0tLS0g cmV3cml0ZSAtLS0tLS0KK1NFTEVDVCBhcmd1bWVudCBGUk9NIG15c3FsLmdlbmVyYWxfbG9nIFdI RVJFIGFyZ3VtZW50IExJS0UgJ1NFVCBDSEFSQUNURVIgU0VUICUnOworU0VMRUNUIGFyZ3VtZW50 IEZST00gbXlzcWwuZ2VuZXJhbF9sb2cgV0hFUkUgYXJndW1lbnQgTElLRSAnU0VUIE5BTUVTICUn OworLS1lY2hvIC0tLS0tLSBkb25lIC0tLS0tLSBzZWUgbG9nX3RhYmxlcy50ZXN0IGZvciBtb3Jl IHByb29mISA6KQorCitEUk9QIFRBQkxFIHRlc3RfbG9nOworCistLXJlbW92ZV9maWxlICRNWVNR TFRFU1RfVkFSRElSL2xvZy9yZXdyaXRlX2dlbmVyYWwubG9nCisKK1NFVCBHTE9CQUwgZ2VuZXJh bF9sb2dfZmlsZT0gIEBvbGRfZ2VuZXJhbF9sb2dfZmlsZTsKK1NFVCBHTE9CQUwgZ2VuZXJhbF9s b2c9ICAgICAgIEBvbGRfZ2VuZXJhbF9sb2c7CitTRVQgR0xPQkFMIGxvZ19vdXRwdXQ9ICAgICAg ICBAb2xkX2xvZ19vdXRwdXQ7CisKKy0tZWNobyAtLS0tLS0tLS0tLS0tLS0gc2xvdyBsb2cgLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKK1NFVCBAb2xkX2xvZ19v dXRwdXQ9ICAgICAgICAgIEBAZ2xvYmFsLmxvZ19vdXRwdXQ7CitTRVQgQG9sZF9zbG93X3F1ZXJ5 X2xvZz0gICAgICBAQGdsb2JhbC5zbG93X3F1ZXJ5X2xvZzsKK1NFVCBAb2xkX3Nsb3dfcXVlcnlf bG9nX2ZpbGU9IEBAZ2xvYmFsLnNsb3dfcXVlcnlfbG9nX2ZpbGU7CisKK1NFVCBAb2xkX2xvbmdf cXVlcnlfdGltZT0gICAgIEBAZ2xvYmFsLmxvbmdfcXVlcnlfdGltZTsKKworLS1yZXBsYWNlX3Jl c3VsdCAkTVlTUUxURVNUX1ZBUkRJUiAuLi4KK2V2YWwgU0VUIEdMT0JBTCBzbG93X3F1ZXJ5X2xv Z19maWxlPSAnJE1ZU1FMVEVTVF9WQVJESVIvbG9nL3Jld3JpdGVfc2xvdy5sb2cnOworU0VUIEdM T0JBTCBsb2dfb3V0cHV0ID0gICAgICAgJ0ZJTEUsVEFCTEUnOworU0VUIEdMT0JBTCBzbG93X3F1 ZXJ5X2xvZz0gICAgJ09OJzsKKworIyBUaGUgYW5zd2VyIGlzIG9idmlvdXM6IGxvZyBldmVyeXRo aW5nIQorU0VUIFNFU1NJT04gbG9uZ19xdWVyeV90aW1lPSAgMDsKKworIyBTaG93IHRoYXQgb2Jm dXNjYXRpb24gYXBwbGllcyB0byB0aGUgc2xvdyBsb2cgYXQgYWxsLgorIyBJZiBvbmUgYXBwbGll cywgdGhleSBhbGwgZG8sIGFuZCB3ZSd2ZSBhbHJlYWR5IGRlbW9uc3RyYXRlZCB0aGUgaW5kaXZp ZHVhbAorIyBvYmZ1c2NhdGlvbnMgYWJvdmUgZm9yIHRoZSBnZW5lcmFsIGxvZy4KKworIyAxLjEu MS4xCitHUkFOVCBBTEwgb24gKi4qIFRPIHRlc3RfdXNlcjEgSURFTlRJRklFRCBCWSAnYXp1bmRy aXMxJzsKKworIyAxLjEuMS4yCitDUkVBVEUgVVNFUiB0ZXN0X3VzZXIyIElERU5USUZJRUQgQlkg J2F6dW5kcmlzMic7CisKKyMgMS4xLjEuMworQ0hBTkdFIE1BU1RFUiBUTyBNQVNURVJfUEFTU1dP UkQ9J2F6dW5kcmlzMyc7CitDSEFOR0UgTUFTVEVSIFRPIE1BU1RFUl9DT05ORUNUX1JFVFJZID0g MSwgTUFTVEVSX0hFQVJUQkVBVF9QRVJJT0QgPSAxLjAxLAorICBNQVNURVJfTE9HX0ZJTEUgPSAn bWFzdGVyX2xvZ19uYW1lJywgTUFTVEVSX0xPR19QT1MgPSAwLAorICBNQVNURVJfU1NMID0gMCwg TUFTVEVSX1NTTF9DQSA9ICdjYV9maWxlX25hbWUnLAorICBNQVNURVJfU1NMX0NBUEFUSCA9ICdj YV9kaXJlY3RvcnlfbmFtZScsCisgIE1BU1RFUl9TU0xfQ0VSVCA9ICdjZXJ0X2ZpbGVfbmFtZScs IE1BU1RFUl9TU0xfS0VZID0gJ2tleV9maWxlX25hbWUnLAorICBNQVNURVJfU1NMX0NJUEhFUiA9 ICdjaXBoZXJfbGlzdCcsIE1BU1RFUl9TU0xfVkVSSUZZX1NFUlZFUl9DRVJUID0gMCwKKyAgSUdO T1JFX1NFUlZFUl9JRFMgPSAoOTksMTAwKTsKKyMgY2xlYW51cAorQ0hBTkdFIE1BU1RFUiBUTyBN QVNURVJfQ09OTkVDVF9SRVRSWSA9IDEsIE1BU1RFUl9IRUFSVEJFQVRfUEVSSU9EID0gMS4wMSwK KyAgTUFTVEVSX0xPR19GSUxFID0gJycsIE1BU1RFUl9MT0dfUE9TID0gMCwKKyAgTUFTVEVSX1NT TCA9IDAsIE1BU1RFUl9TU0xfQ0EgPSAnJywKKyAgTUFTVEVSX1NTTF9DQVBBVEggPSAnJywKKyAg TUFTVEVSX1NTTF9DRVJUID0gJycsIE1BU1RFUl9TU0xfS0VZID0gJycsCisgIE1BU1RFUl9TU0xf Q0lQSEVSID0gJycsIE1BU1RFUl9TU0xfVkVSSUZZX1NFUlZFUl9DRVJUID0gMCwKKyAgSUdOT1JF X1NFUlZFUl9JRFMgPSAoICk7CitTRVQgR0xPQkFMIFJFTEFZX0xPR19QVVJHRSA9IDE7CisKKyMg MS4xLjEuNAorQ1JFQVRFIFVTRVIgJ3Rlc3RfdXNlcjQnQCdsb2NhbGhvc3QnOworU0VUIFBBU1NX T1JEIEZPUiAndGVzdF91c2VyNCdAJ2xvY2FsaG9zdCcgPSBQQVNTV09SRCgnYXp1bmRyaXM0Jyk7 CisKK1NFVCBTRVNTSU9OIGxvbmdfcXVlcnlfdGltZT0gIEBvbGRfbG9uZ19xdWVyeV90aW1lOwor CisjIGNsZWFuLXVwCitTRVQgR0xPQkFMIHNsb3dfcXVlcnlfbG9nPSdPRkYnOworCitEUk9QIFVT RVIgJ3Rlc3RfdXNlcjQnQCdsb2NhbGhvc3QnOworRFJPUCBVU0VSIHRlc3RfdXNlcjI7CitEUk9Q IFVTRVIgdGVzdF91c2VyMTsKKworIyBzaG93IHNsb3ctbG9nZ2luZyB0byBmaWxlIGlzIGNvcnJl Y3QKK0NSRUFURSBUQUJMRSB0ZXN0X2xvZyAoc3FsX3RleHQgVEVYVCk7CistLXJlcGxhY2VfcmVz dWx0ICRNWVNRTFRFU1RfVkFSRElSIC4uLgorZXZhbCBMT0FEIERBVEEgTE9DQUwgSU5GSUxFICck TVlTUUxURVNUX1ZBUkRJUi9sb2cvcmV3cml0ZV9zbG93LmxvZycKKyAgICAgSU5UTyBUQUJMRSB0 ZXN0X2xvZyBGSUVMRFMgVEVSTUlOQVRFRCBCWSAnXG4nIExJTkVTIFRFUk1JTkFURUQgQlkgJ1xu JzsKKworIyBhbGwgcGFzc3dvcmRzICgnYXp1bmRyaXMlJykgbXVzdCBoYXZlIGJlZW4gb2JmdXNj YXRlZCAtPiBlbXB0eSByZXN1bHQgc2V0CistLWVjaG8gVGhpcyBsaW5lIHNob3VsZCBiZSBmb2xs b3dlZCBieSB0d28gU0VMRUNUcyB3aXRoIGVtcHR5IHJlc3VsdCBzZXRzCitTRUxFQ1Qgc3FsX3Rl eHQgRlJPTSB0ZXN0X2xvZyBXSEVSRSBzcWxfdGV4dCBMSUtFIENPTkNBVCgnJWF6dW4nLCdkcmlz JScpOworCisjIHNhbWUgZm9yIGxvZ2dpbmcgdG8gdGFibGUKK1NFTEVDVCBzcWxfdGV4dCBGUk9N IG15c3FsLnNsb3dfbG9nIFdIRVJFIHNxbF90ZXh0IExJS0UgQ09OQ0FUKCclYXp1bicsJ2RyaXMl Jyk7CisKKy0tZWNobyAtLS0tLS0gZnJvbSBmaWxlIC0tLS0tLQorU0VMRUNUIHNxbF90ZXh0IEZS T00gdGVzdF9sb2cgV0hFUkUgc3FsX3RleHQgbGlrZSAnJVBBU1NXT1JEICUnOyAKKy0tZWNobyAt LS0tLS0gZnJvbSB0YWJsZSAtLS0tLS0KK1NFTEVDVCBzcWxfdGV4dCBGUk9NIG15c3FsLnNsb3df bG9nIFdIRVJFIHNxbF90ZXh0IGxpa2UgJyVQQVNTV09SRCAlJzsKKy0tZWNobyAtLS0tLS0gZG9u ZSAtLS0tLS0KKworRFJPUCBUQUJMRSB0ZXN0X2xvZzsKKworLS1yZW1vdmVfZmlsZSAkTVlTUUxU RVNUX1ZBUkRJUi9sb2cvcmV3cml0ZV9zbG93LmxvZworCitTRVQgR0xPQkFMIHNsb3dfcXVlcnlf bG9nX2ZpbGU9IEBvbGRfc2xvd19xdWVyeV9sb2dfZmlsZTsKK1NFVCBHTE9CQUwgc2xvd19xdWVy eV9sb2c9ICAgICAgQG9sZF9zbG93X3F1ZXJ5X2xvZzsKK1NFVCBHTE9CQUwgbG9nX291dHB1dD0g ICAgICAgICAgQG9sZF9sb2dfb3V0cHV0OworCistLWVjaG8gRW5kIG9mIDUuNiB0ZXN0cyEKCj09 PSBtb2RpZmllZCBmaWxlICdzcWwvQ01ha2VMaXN0cy50eHQnCi0tLSBhL3NxbC9DTWFrZUxpc3Rz LnR4dAkyMDExLTA3LTIyIDA3OjIxOjQwICswMDAwCisrKyBiL3NxbC9DTWFrZUxpc3RzLnR4dAky MDExLTA4LTE3IDE0OjA3OjA3ICswMDAwCkBAIC0xMjksNiArMTI5LDcgQEAgU0VUKFNRTF9TSEFS RURfU09VUkNFUwogICBzcWxfcHJvZmlsZS5jYwogICBzcWxfcmVsb2FkLmNjCiAgIHNxbF9yZW5h bWUuY2MgCisgIHNxbF9yZXdyaXRlLmNjCiAgIHNxbF9zZWxlY3QuY2MKICAgc3FsX3NlcnZlcnMu Y2MKICAgc3FsX3Nob3cuY2MKCj09PSBtb2RpZmllZCBmaWxlICdzcWwvbXlzcWxkLmNjJwotLS0g YS9zcWwvbXlzcWxkLmNjCTIwMTEtMDctMjggMTA6NTQ6NDQgKzAwMDAKKysrIGIvc3FsL215c3Fs ZC5jYwkyMDExLTA4LTE3IDE0OjA3OjA3ICswMDAwCkBAIC0zNTEsNyArMzUxLDcgQEAgc3RhdGlj IG15c3FsX2NvbmRfdCBDT05EX3RocmVhZF9jYWNoZSwgQwogLyogR2xvYmFsIHZhcmlhYmxlcyAq LwogCiBib29sIG9wdF9iaW5fbG9nLCBvcHRfaWdub3JlX2J1aWx0aW5faW5ub2RiPSAwOwotbXlf Ym9vbCBvcHRfbG9nLCBvcHRfc2xvd19sb2c7CitteV9ib29sIG9wdF9sb2csIG9wdF9zbG93X2xv Zywgb3B0X2xvZ19yYXc7CiB1bG9uZ2xvbmcgbG9nX291dHB1dF9vcHRpb25zOwogbXlfYm9vbCBv cHRfbG9nX3F1ZXJpZXNfbm90X3VzaW5nX2luZGV4ZXM9IDA7CiBib29sIG9wdF9lcnJvcl9sb2c9 IElGX1dJTigxLDApOwpAQCAtNjIzNiw2ICs2MjM2LDExIEBAIHN0cnVjdCBteV9vcHRpb24gbXlf bG9uZ19vcHRpb25zW109CiAgIHsibG9nLWlzYW0iLCBPUFRfSVNBTV9MT0csICJMb2cgYWxsIE15 SVNBTSBjaGFuZ2VzIHRvIGZpbGUuIiwKICAgICZteWlzYW1fbG9nX2ZpbGVuYW1lLCAmbXlpc2Ft X2xvZ19maWxlbmFtZSwgMCwgR0VUX1NUUiwKICAgIE9QVF9BUkcsIDAsIDAsIDAsIDAsIDAsIDB9 LAorICB7ImxvZy1yYXciLCAwLAorICAgIkxvZyB0byBnZW5lcmFsIGxvZyBiZWZvcmUgYW55IHJl d3JpdGluZyBvZiB0aGUgcXVlcnkuIEZvciB1c2UgaW4gZGVidWdnaW5nLCBub3QgcHJvZHVjdGlv biBhcyAiCisgICAic2Vuc2l0aXZlIGluZm9ybWF0aW9uIG1heSBiZSBsb2dnZWQuIiwKKyAgICZv cHRfbG9nX3JhdywgJm9wdF9sb2dfcmF3LAorICAgMCwgR0VUX0JPT0wsIE5PX0FSRywgMCwgMCwg MSwgMCwgMSwgMCB9LAogICB7ImxvZy1zaG9ydC1mb3JtYXQiLCAwLAogICAgIkRvbid0IGxvZyBl eHRyYSBpbmZvcm1hdGlvbiB0byB1cGRhdGUgYW5kIHNsb3ctcXVlcnkgbG9ncy4iLAogICAgJm9w dF9zaG9ydF9sb2dfZm9ybWF0LCAmb3B0X3Nob3J0X2xvZ19mb3JtYXQsCgo9PT0gbW9kaWZpZWQg ZmlsZSAnc3FsL215c3FsZC5oJwotLS0gYS9zcWwvbXlzcWxkLmgJMjAxMS0wNy0yNSAxNToxMzow NiArMDAwMAorKysgYi9zcWwvbXlzcWxkLmgJMjAxMS0wOC0xNyAxNDowNzowNyArMDAwMApAQCAt OTQsNyArOTQsNyBAQCBleHRlcm4gQ0hBUlNFVF9JTkZPICpjaGFyYWN0ZXJfc2V0X2ZpbGVzCiBl eHRlcm4gTVlfQklUTUFQIHRlbXBfcG9vbDsKIGV4dGVybiBib29sIG9wdF9sYXJnZV9maWxlcywg c2VydmVyX2lkX3N1cHBsaWVkOwogZXh0ZXJuIGJvb2wgb3B0X3VwZGF0ZV9sb2csIG9wdF9iaW5f bG9nLCBvcHRfZXJyb3JfbG9nOwotZXh0ZXJuIG15X2Jvb2wgb3B0X2xvZywgb3B0X3Nsb3dfbG9n OworZXh0ZXJuIG15X2Jvb2wgb3B0X2xvZywgb3B0X3Nsb3dfbG9nLCBvcHRfbG9nX3JhdzsKIGV4 dGVybiBteV9ib29sIG9wdF9iYWNrdXBfaGlzdG9yeV9sb2c7CiBleHRlcm4gbXlfYm9vbCBvcHRf YmFja3VwX3Byb2dyZXNzX2xvZzsKIGV4dGVybiB1bG9uZ2xvbmcgbG9nX291dHB1dF9vcHRpb25z OwoKPT09IG1vZGlmaWVkIGZpbGUgJ3NxbC9zZXRfdmFyLmNjJwotLS0gYS9zcWwvc2V0X3Zhci5j YwkyMDExLTA3LTI4IDEwOjU0OjQ0ICswMDAwCisrKyBiL3NxbC9zZXRfdmFyLmNjCTIwMTEtMDgt MTcgMTQ6MDc6MDcgKzAwMDAKQEAgLTM0LDcgKzM0LDcgQEAKICNpbmNsdWRlICJ0enRpbWUuaCIg ICAgIC8vIG15X3R6X2ZpbmQsIG15X3R6X1NZU1RFTSwgc3RydWN0IFRpbWVfem9uZQogI2luY2x1 ZGUgInNxbF9hY2wuaCIgICAgLy8gU1VQRVJfQUNMCiAjaW5jbHVkZSAic3FsX3NlbGVjdC5oIiAv LyBmcmVlX3VuZGVybGFpZF9qb2lucwotI2luY2x1ZGUgInNxbF9zaG93LmgiICAgLy8gbWFrZV9k ZWZhdWx0X2xvZ19uYW1lCisjaW5jbHVkZSAic3FsX3Nob3cuaCIgICAvLyBtYWtlX2RlZmF1bHRf bG9nX25hbWUsIGFwcGVuZF9pZGVudGlmaWVyCiAjaW5jbHVkZSAic3FsX3ZpZXcuaCIgICAvLyB1 cGRhdGFibGVfdmlld3Nfd2l0aF9saW1pdF90eXBlbGliCiAjaW5jbHVkZSAibG9jay5oIiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBsb2NrX2dsb2JhbF9yZWFkX2xvY2ssCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBtYWtlX2dsb2Jh bF9yZWFkX2xvY2tfYmxvY2tfY29tbWl0LApAQCAtNjY4LDYgKzY2OCwyNyBAQCBpbnQgc2V0X3Zh cjo6dXBkYXRlKFRIRCAqdGhkKQogICByZXR1cm4gdmFsdWUgPyB2YXItPnVwZGF0ZSh0aGQsIHRo aXMpIDogdmFyLT5zZXRfZGVmYXVsdCh0aGQsIHR5cGUpOwogfQogCisvKioKKyAgU2VsZi1wcmlu dCBhc3NpZ25tZW50CisKKyAgQHBhcmFtICAgc3RyICAgIHN0cmluZyBidWZmZXIgdG8gYXBwZW5k IHRoZSBwYXJ0aWFsIGFzc2lnbm1lbnQgdG8KKyovCit2b2lkIHNldF92YXI6OnByaW50KFRIRCAq dGhkLCBTdHJpbmcgKnN0cikKK3sKKyAgc3RyLT5hcHBlbmQodHlwZSA9PSBPUFRfR0xPQkFMID8g IkdMT0JBTCAiIDogIlNFU1NJT04gIik7CisgIGlmIChiYXNlLmxlbmd0aCkKKyAgeworICAgIHN0 ci0+YXBwZW5kKGJhc2Uuc3RyLCBiYXNlLmxlbmd0aCk7CisgICAgc3RyLT5hcHBlbmQoU1RSSU5H X1dJVEhfTEVOKCIuIikpOworICB9CisgIHN0ci0+YXBwZW5kKHZhci0+bmFtZS5zdHIsdmFyLT5u YW1lLmxlbmd0aCk7CisgIHN0ci0+YXBwZW5kKFNUUklOR19XSVRIX0xFTigiPSIpKTsKKyAgaWYg KHZhbHVlKQorICAgIHZhbHVlLT5wcmludChzdHIsIFFUX09SRElOQVJZKTsKKyAgZWxzZQorICAg IHN0ci0+YXBwZW5kKFNUUklOR19XSVRIX0xFTigiREVGQVVMVCIpKTsKK30KKwogCiAvKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioKICAgRnVuY3Rpb25zIHRvIGhhbmRsZSBTRVQgQHVzZXJfdmFyaWFibGU9 Y29uc3RfZXhwcgpAQCAtNzE4LDYgKzczOSwxMiBAQCBpbnQgc2V0X3Zhcl91c2VyOjp1cGRhdGUo VEhEICp0aGQpCiB9CiAKIAordm9pZCBzZXRfdmFyX3VzZXI6OnByaW50KFRIRCAqdGhkLCBTdHJp bmcgKnN0cikKK3sKKyAgdXNlcl92YXJfaXRlbS0+cHJpbnQoc3RyLCBRVF9PUkRJTkFSWSk7Cit9 CisKKwogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgIEZ1bmN0aW9ucyB0byBoYW5kbGUgU0VUIFBB U1NXT1JECiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KQEAgLTc2NCw2ICs3OTEsMjQgQEAgaW50IHNl dF92YXJfcGFzc3dvcmQ6OnVwZGF0ZShUSEQgKnRoZCkKICNlbmRpZgogfQogCit2b2lkIHNldF92 YXJfcGFzc3dvcmQ6OnByaW50KFRIRCAqdGhkLCBTdHJpbmcgKnN0cikKK3sKKyAgaWYgKHVzZXIt PnVzZXIuc3RyICE9IE5VTEwgJiYgdXNlci0+dXNlci5sZW5ndGggPiAwKQorICB7CisgICAgc3Ry LT5hcHBlbmQoU1RSSU5HX1dJVEhfTEVOKCJQQVNTV09SRCBGT1IgIikpOworICAgIGFwcGVuZF9p ZGVudGlmaWVyKHRoZCwgc3RyLCB1c2VyLT51c2VyLnN0ciwgdXNlci0+dXNlci5sZW5ndGgpOwor ICAgIGlmICh1c2VyLT5ob3N0LnN0ciAhPSBOVUxMICYmIHVzZXItPmhvc3QubGVuZ3RoID4gMCkK KyAgICB7CisgICAgICBzdHItPmFwcGVuZChTVFJJTkdfV0lUSF9MRU4oIkAiKSk7CisgICAgICBh cHBlbmRfaWRlbnRpZmllcih0aGQsIHN0ciwgdXNlci0+aG9zdC5zdHIsIHVzZXItPmhvc3QubGVu Z3RoKTsKKyAgICB9CisgICAgc3RyLT5hcHBlbmQoU1RSSU5HX1dJVEhfTEVOKCI9IikpOworICB9 CisgIGVsc2UKKyAgICBzdHItPmFwcGVuZChTVFJJTkdfV0lUSF9MRU4oIlBBU1NXT1JEIEZPUiBD VVJSRU5UX1VTRVIoKT0iKSk7CisgIHN0ci0+YXBwZW5kKFNUUklOR19XSVRIX0xFTigiPHNlY3Jl dD4iKSk7Cit9CisKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICBGdW5jdGlvbnMgdG8gaGFuZGxl IFNFVCBOQU1FUyBhbmQgU0VUIENIQVJBQ1RFUiBTRVQKICoqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwpA QCAtNzkxLDMgKzgzNiwyMSBAQCBpbnQgc2V0X3Zhcl9jb2xsYXRpb25fY2xpZW50Ojp1cGRhdGUo VEhECiAgIHJldHVybiAwOwogfQogCit2b2lkIHNldF92YXJfY29sbGF0aW9uX2NsaWVudDo6cHJp bnQoVEhEICp0aGQsIFN0cmluZyAqc3RyKQoreworICBzdHItPmFwcGVuZCgoc2V0X2NzX2ZsYWdz ICYgU0VUX0NTX05BTUVTKSA/ICJOQU1FUyAiIDogIkNIQVJBQ1RFUiBTRVQgIik7CisgIGlmIChz ZXRfY3NfZmxhZ3MgJiBTRVRfQ1NfREVGQVVMVCkKKyAgICBzdHItPmFwcGVuZCgiREVGQVVMVCIp OworICBlbHNlCisgIHsKKyAgICBzdHItPmFwcGVuZCgiJyIpOworICAgIHN0ci0+YXBwZW5kKGNo YXJhY3Rlcl9zZXRfY2xpZW50LT5jc25hbWUpOworICAgIHN0ci0+YXBwZW5kKCInIik7CisgICAg aWYgKHNldF9jc19mbGFncyAmIFNFVF9DU19DT0xMQVRFKQorICAgIHsKKyAgICAgIHN0ci0+YXBw ZW5kKCIgQ09MTEFURSAnIik7CisgICAgICBzdHItPmFwcGVuZChjb2xsYXRpb25fY29ubmVjdGlv bi0+bmFtZSk7CisgICAgICBzdHItPmFwcGVuZCgiJyIpOworICAgIH0KKyAgfQorfQoKPT09IG1v ZGlmaWVkIGZpbGUgJ3NxbC9zZXRfdmFyLmgnCi0tLSBhL3NxbC9zZXRfdmFyLmgJMjAxMS0wNy0x OSAxNToxMToxNSArMDAwMAorKysgYi9zcWwvc2V0X3Zhci5oCTIwMTEtMDgtMTcgMTQ6MDc6MDcg KzAwMDAKQEAgLTE4Nyw2ICsxODcsNyBAQCBwdWJsaWM6CiAgIHZpcnR1YWwgaW50IGNoZWNrKFRI RCAqdGhkKT0wOyAgICAgICAgICAgLyogVG8gY2hlY2sgcHJpdmlsZWdlcyBldGMuICovCiAgIHZp cnR1YWwgaW50IHVwZGF0ZShUSEQgKnRoZCk9MDsgICAgICAgICAgICAgICAgICAvKiBUbyBzZXQg dGhlIHZhbHVlICovCiAgIHZpcnR1YWwgaW50IGxpZ2h0X2NoZWNrKFRIRCAqdGhkKSB7IHJldHVy biBjaGVjayh0aGQpOyB9ICAgLyogZm9yIFBTICovCisgIHZpcnR1YWwgdm9pZCBwcmludChUSEQg KnRoZCwgU3RyaW5nICpzdHIpPTA7CS8qIFRvIHNlbGYtcHJpbnQgKi8KICAgLy8vIEByZXR1cm5z IHdoZXRoZXIgdGhpcyB2YXJpYWJsZSBpcyBAQEBAb3B0aW1pemVyX3RyYWNlLgogICB2aXJ0dWFs IGJvb2wgaXNfdmFyX29wdGltaXplcl90cmFjZSgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiB9 OwpAQCAtMjM0LDYgKzIzNSw3IEBAIHB1YmxpYzoKICAgaW50IGNoZWNrKFRIRCAqdGhkKTsKICAg aW50IHVwZGF0ZShUSEQgKnRoZCk7CiAgIGludCBsaWdodF9jaGVjayhUSEQgKnRoZCk7CisgIHZv aWQgcHJpbnQoVEhEICp0aGQsIFN0cmluZyAqc3RyKTsJLyogVG8gc2VsZi1wcmludCAqLwogI2lm ZGVmIE9QVElNSVpFUl9UUkFDRQogICB2aXJ0dWFsIGJvb2wgaXNfdmFyX29wdGltaXplcl90cmFj ZSgpIGNvbnN0CiAgIHsKQEAgLTI1NSw2ICsyNTcsNyBAQCBwdWJsaWM6CiAgIGludCBjaGVjayhU SEQgKnRoZCk7CiAgIGludCB1cGRhdGUoVEhEICp0aGQpOwogICBpbnQgbGlnaHRfY2hlY2soVEhE ICp0aGQpOworICB2b2lkIHByaW50KFRIRCAqdGhkLCBTdHJpbmcgKnN0cik7CS8qIFRvIHNlbGYt cHJpbnQgKi8KIH07CiAKIC8qIEZvciBTRVQgUEFTU1dPUkQgKi8KQEAgLTI2OSw2ICsyNzIsNyBA QCBwdWJsaWM6CiAgIHt9CiAgIGludCBjaGVjayhUSEQgKnRoZCk7CiAgIGludCB1cGRhdGUoVEhE ICp0aGQpOworICB2b2lkIHByaW50KFRIRCAqdGhkLCBTdHJpbmcgKnN0cik7CS8qIFRvIHNlbGYt cHJpbnQgKi8KIH07CiAKIApAQCAtMjc2LDE5ICsyODAsMjQgQEAgcHVibGljOgogCiBjbGFzcyBz ZXRfdmFyX2NvbGxhdGlvbl9jbGllbnQ6IHB1YmxpYyBzZXRfdmFyX2Jhc2UKIHsKKyAgaW50ICAg c2V0X2NzX2ZsYWdzOwogICBjb25zdCBDSEFSU0VUX0lORk8gKmNoYXJhY3Rlcl9zZXRfY2xpZW50 OwogICBjb25zdCBDSEFSU0VUX0lORk8gKmNoYXJhY3Rlcl9zZXRfcmVzdWx0czsKICAgY29uc3Qg Q0hBUlNFVF9JTkZPICpjb2xsYXRpb25fY29ubmVjdGlvbjsKIHB1YmxpYzoKLSAgc2V0X3Zhcl9j b2xsYXRpb25fY2xpZW50KGNvbnN0IENIQVJTRVRfSU5GTyAqY2xpZW50X2NvbGxfYXJnLAorICBl bnVtICBzZXRfY3NfZmxhZ3NfZW51bSB7IFNFVF9DU19OQU1FUz0xLCBTRVRfQ1NfREVGQVVMVD0y LCBTRVRfQ1NfQ09MTEFURT00IH07CisgIHNldF92YXJfY29sbGF0aW9uX2NsaWVudChpbnQgc2V0 X2NzX2ZsYWdzX2FyZywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IENIQVJTRVRf SU5GTyAqY2xpZW50X2NvbGxfYXJnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg Q0hBUlNFVF9JTkZPICpjb25uZWN0aW9uX2NvbGxfYXJnLAogICAgICAgICAgICAgICAgICAgICAg ICAgICAgY29uc3QgQ0hBUlNFVF9JTkZPICpyZXN1bHRfY29sbF9hcmcpCi0gICAgOmNoYXJhY3Rl cl9zZXRfY2xpZW50KGNsaWVudF9jb2xsX2FyZyksCisgICAgOnNldF9jc19mbGFncyhzZXRfY3Nf ZmxhZ3NfYXJnKSwKKyAgICAgY2hhcmFjdGVyX3NldF9jbGllbnQoY2xpZW50X2NvbGxfYXJnKSwK ICAgICAgY2hhcmFjdGVyX3NldF9yZXN1bHRzKHJlc3VsdF9jb2xsX2FyZyksCiAgICAgIGNvbGxh dGlvbl9jb25uZWN0aW9uKGNvbm5lY3Rpb25fY29sbF9hcmcpCiAgIHt9CiAgIGludCBjaGVjayhU SEQgKnRoZCk7CiAgIGludCB1cGRhdGUoVEhEICp0aGQpOworICB2b2lkIHByaW50KFRIRCAqdGhk LCBTdHJpbmcgKnN0cik7CS8qIFRvIHNlbGYtcHJpbnQgKi8KIH07CiAKIAoKPT09IG1vZGlmaWVk IGZpbGUgJ3NxbC9zcWxfYWNsLmNjJwotLS0gYS9zcWwvc3FsX2FjbC5jYwkyMDExLTA3LTI4IDEw OjU0OjQ0ICswMDAwCisrKyBiL3NxbC9zcWxfYWNsLmNjCTIwMTEtMDgtMTcgMTQ6MDc6MDcgKzAw MDAKQEAgLTM4OTcsNyArMzg5Nyw4IEBAIGJvb2wgbXlzcWxfcm91dGluZV9ncmFudChUSEQgKnRo ZCwgVEFCTEUKICAgICB7CiAgICAgICByZXN1bHQ9IFRSVUU7CiAgICAgICBjb250aW51ZTsKLSAg ICB9ICAKKyAgICB9CisKICAgICAvKiBDcmVhdGUgdXNlciBpZiBuZWVkZWQgKi8KICAgICBlcnJv cj1yZXBsYWNlX3VzZXJfdGFibGUodGhkLCB0YWJsZXNbMF0udGFibGUsICpTdHIsCiAJCQkgICAg IDAsIHJldm9rZV9ncmFudCwgY3JlYXRlX25ld191c2VycywKQEAgLTM5NTQsOCArMzk1NSwxOSBA QCBib29sIG15c3FsX3JvdXRpbmVfZ3JhbnQoVEhEICp0aGQsIFRBQkxFCiAKICAgaWYgKHdyaXRl X3RvX2JpbmxvZyAmJiBzaG91bGRfd3JpdGVfdG9fYmlubG9nKQogICB7Ci0gICAgaWYgKHdyaXRl X2Jpbl9sb2codGhkLCBGQUxTRSwgdGhkLT5xdWVyeSgpLCB0aGQtPnF1ZXJ5X2xlbmd0aCgpKSkK LSAgICAgIHJlc3VsdD0gVFJVRTsKKyAgICBpZiAocmV2b2tlX2dyYW50KQorICAgIHsKKyAgICAg IGlmICh3cml0ZV9iaW5fbG9nKHRoZCwgRkFMU0UsIHRoZC0+cXVlcnkoKSwgdGhkLT5xdWVyeV9s ZW5ndGgoKSkpCisgICAgICAgIHJlc3VsdD0gVFJVRTsKKyAgICB9CisgICAgZWxzZQorICAgIHsK KyAgICAgIERCVUdfQVNTRVJUKHRoZC0+cmV3cml0dGVuX3F1ZXJ5Lmxlbmd0aCgpKTsKKyAgICAg IGlmICh3cml0ZV9iaW5fbG9nKHRoZCwgRkFMU0UsCisgICAgICAgICAgICAgICAgICAgICAgICB0 aGQtPnJld3JpdHRlbl9xdWVyeS5jX3B0cl9zYWZlKCksCisgICAgICAgICAgICAgICAgICAgICAg ICB0aGQtPnJld3JpdHRlbl9xdWVyeS5sZW5ndGgoKSkpCisgICAgICAgIHJlc3VsdD0gVFJVRTsK KyAgICB9CiAgIH0KIAogICBteXNxbF9yd2xvY2tfdW5sb2NrKCZMT0NLX2dyYW50KTsKQEAgLTQw NzIsNiArNDA4NCw3IEBAIGJvb2wgbXlzcWxfZ3JhbnQoVEhEICp0aGQsIGNvbnN0IGNoYXIgKmQK ICAgICAgIHJlc3VsdD0gVFJVRTsKICAgICAgIGNvbnRpbnVlOwogICAgIH0KKwogICAgIC8qCiAg ICAgICBObyBVc2VyLCBidXQgYSBwYXNzd29yZD8KICAgICAgIFRoZXkgZGlkIEdSQU5UIC4uLiBU TyBDVVJSRU5UX1VTRVIoKSBJREVOVElGSUVEIEJZIC4uLiAhCkBAIC00MDc5LDYgKzQwOTIsNyBA QCBib29sIG15c3FsX2dyYW50KFRIRCAqdGhkLCBjb25zdCBjaGFyICpkCiAgICAgKi8KICAgICBp ZiAoIXRtcF9TdHItPnVzZXIuc3RyICYmIHRtcF9TdHItPnBhc3N3b3JkLnN0cikKICAgICAgIFN0 ci0+cGFzc3dvcmQ9IHRtcF9TdHItPnBhc3N3b3JkOworCiAgICAgaWYgKHJlcGxhY2VfdXNlcl90 YWJsZSh0aGQsIHRhYmxlc1swXS50YWJsZSwgKlN0ciwKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICghZGIgPyByaWdodHMgOiAwKSwgcmV2b2tlX2dyYW50LCBjcmVhdGVfbmV3X3VzZXJzLAog ICAgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdCh0aGQtPnZhcmlhYmxlcy5zcWxfbW9kZSAm CkBAIC00MTE1LDggKzQxMjksMTYgQEAgYm9vbCBteXNxbF9ncmFudChUSEQgKnRoZCwgY29uc3Qg Y2hhciAqZAogICBteXNxbF9tdXRleF91bmxvY2soJmFjbF9jYWNoZS0+bG9jayk7CiAKICAgaWYg KHNob3VsZF93cml0ZV90b19iaW5sb2cpCi0gICAgcmVzdWx0PSByZXN1bHQgfAotICAgICAgICAg ICAgd3JpdGVfYmluX2xvZyh0aGQsIEZBTFNFLCB0aGQtPnF1ZXJ5KCksIHRoZC0+cXVlcnlfbGVu Z3RoKCkpOworICB7CisgICAgaWYgKHRoZC0+cmV3cml0dGVuX3F1ZXJ5Lmxlbmd0aCgpKQorICAg ICAgcmVzdWx0PSByZXN1bHQgfAorICAgICAgICAgIHdyaXRlX2Jpbl9sb2codGhkLCBGQUxTRSwK KyAgICAgICAgICAgICAgICAgICAgICAgIHRoZC0+cmV3cml0dGVuX3F1ZXJ5LmNfcHRyX3NhZmUo KSwKKyAgICAgICAgICAgICAgICAgICAgICAgIHRoZC0+cmV3cml0dGVuX3F1ZXJ5Lmxlbmd0aCgp KTsKKyAgICBlbHNlCisgICAgICByZXN1bHQ9IHJlc3VsdCB8CisgICAgICAgICAgICAgIHdyaXRl X2Jpbl9sb2codGhkLCBGQUxTRSwgdGhkLT5xdWVyeSgpLCB0aGQtPnF1ZXJ5X2xlbmd0aCgpKTsK KyAgfQogCiAgIG15c3FsX3J3bG9ja191bmxvY2soJkxPQ0tfZ3JhbnQpOwogCkBAIC01MTc3LDcg KzUxOTksNyBAQCBzdGF0aWMgdm9pZCBhZGRfdXNlcl9vcHRpb24oU3RyaW5nICpncmFuCiAgIH0K IH0KIAotc3RhdGljIGNvbnN0IGNoYXIgKmNvbW1hbmRfYXJyYXlbXT0KK2NvbnN0IGNoYXIgKmNv bW1hbmRfYXJyYXlbXT0KIHsKICAgIlNFTEVDVCIsICJJTlNFUlQiLCAiVVBEQVRFIiwgIkRFTEVU RSIsICJDUkVBVEUiLCAiRFJPUCIsICJSRUxPQUQiLAogICAiU0hVVERPV04iLCAiUFJPQ0VTUyIs IkZJTEUiLCAiR1JBTlQiLCAiUkVGRVJFTkNFUyIsICJJTkRFWCIsCkBAIC01MTg3LDEzICs1MjA5 LDI2IEBAIHN0YXRpYyBjb25zdCBjaGFyICpjb21tYW5kX2FycmF5W109CiAgICJDUkVBVEUgVVNF UiIsICJFVkVOVCIsICJUUklHR0VSIiwgIkNSRUFURSBUQUJMRVNQQUNFIgogfTsKIAotc3RhdGlj IHVpbnQgY29tbWFuZF9sZW5ndGhzW109Cit1aW50IGNvbW1hbmRfbGVuZ3Roc1tdPQogewogICA2 LCA2LCA2LCA2LCA2LCA0LCA2LCA4LCA3LCA0LCA1LCAxMCwgNSwgNSwgMTQsIDUsIDIzLCAxMSwg NywgMTcsIDE4LCAxMSwgOSwKICAgMTQsIDEzLCAxMSwgNSwgNywgMTcKIH07CiAKIAordm9pZCBh cHBlbmRfaW50KFN0cmluZyAqc3RyLCBjb25zdCBjaGFyICp0eHQsIHNpemVfdCBsZW4sCisgICAg ICAgICAgICAgICAgbG9uZyB2YWwsIGludCBjb25kKQoreworICBpZiAoY29uZCkKKyAgeworICAg IFN0cmluZyBudW1idWYoNDIpOworICAgIHN0ci0+YXBwZW5kKHR4dCxsZW4pOworICAgIG51bWJ1 Zi5zZXQoKGxvbmdsb25nKXZhbCwmbXlfY2hhcnNldF9iaW4pOworICAgIHN0ci0+YXBwZW5kKG51 bWJ1Zik7CisgIH0KK30KKworCiBzdGF0aWMgaW50IHNob3dfcm91dGluZV9ncmFudHMoVEhEICp0 aGQsIExFWF9VU0VSICpsZXhfdXNlciwgSEFTSCAqaGFzaCwKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBjb25zdCBjaGFyICp0eXBlLCBpbnQgdHlwZWxlbiwKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBjaGFyICpidWZmLCBpbnQgYnVmZnNpemUpOwpAQCAtNjQxMyw4ICs2 NDQ4LDggQEAgc3RhdGljIGludCBoYW5kbGVfZ3JhbnRfZGF0YShUQUJMRV9MSVNUIAogICBAcGFy YW0gaWRlbnQgICBJZiBUUlVFLCBhcHBlbmQgJyBJREVOVElGSUVEIEJZL1dJVEguLi4nIGFmdGVy IHRoZSB1c2VyLAogICAgICAgICAgICAgICAgICBpZiB0aGUgZ2l2ZW4gdXNlciBoYXMgY3JlZGVu dGlhbHMgc2V0IHdpdGggJ0lERU5USUZJRUQgQlkvV0lUSCcKICAqLwotc3RhdGljIHZvaWQgYXBw ZW5kX3VzZXIoU3RyaW5nICpzdHIsIExFWF9VU0VSICp1c2VyLCBib29sIGNvbW1hPSBUUlVFLAot ICAgICAgICAgICAgICAgICAgICAgICAgYm9vbCBpZGVudD0gRkFMU0UpCit2b2lkIGFwcGVuZF91 c2VyKFN0cmluZyAqc3RyLCBMRVhfVVNFUiAqdXNlciwgYm9vbCBjb21tYT0gVFJVRSwKKyAgICAg ICAgICAgICAgICAgYm9vbCBpZGVudD0gRkFMU0UpCiB7CiAgIFN0cmluZyBmcm9tX3VzZXIodXNl ci0+dXNlci5zdHIsIHVzZXItPnVzZXIubGVuZ3RoLCBzeXN0ZW1fY2hhcnNldF9pbmZvKTsKICAg U3RyaW5nIGZyb21fcGx1Z2luKHVzZXItPnBsdWdpbi5zdHIsIHVzZXItPnBsdWdpbi5sZW5ndGgs IHN5c3RlbV9jaGFyc2V0X2luZm8pOwpAQCAtNjQ3Miw3ICs2NTA3LDYgQEAgYm9vbCBteXNxbF9j cmVhdGVfdXNlcihUSEQgKnRoZCwgTGlzdCA8TAogewogICBpbnQgcmVzdWx0OwogICBTdHJpbmcg d3JvbmdfdXNlcnM7Ci0gIFN0cmluZyBsb2dfcXVlcnk7CiAgIExFWF9VU0VSICp1c2VyX25hbWUs ICp0bXBfdXNlcl9uYW1lOwogICBMaXN0X2l0ZXJhdG9yIDxMRVhfVVNFUj4gdXNlcl9saXN0KGxp c3QpOwogICBUQUJMRV9MSVNUIHRhYmxlc1tHUkFOVF9UQUJMRVNdOwpAQCAtNjUwMSw3ICs2NTM1 LDYgQEAgYm9vbCBteXNxbF9jcmVhdGVfdXNlcihUSEQgKnRoZCwgTGlzdCA8TAogICBteXNxbF9y d2xvY2tfd3Jsb2NrKCZMT0NLX2dyYW50KTsKICAgbXlzcWxfbXV0ZXhfbG9jaygmYWNsX2NhY2hl LT5sb2NrKTsKIAotICBsb2dfcXVlcnkuYXBwZW5kKFNUUklOR19XSVRIX0xFTigiQ1JFQVRFIFVT RVIiKSk7CiAgIHdoaWxlICgodG1wX3VzZXJfbmFtZT0gdXNlcl9saXN0KyspKQogICB7CiAgICAg aWYgKCEodXNlcl9uYW1lPSBnZXRfY3VycmVudF91c2VyKHRoZCwgdG1wX3VzZXJfbmFtZSkpKQpA QCAtNjUxMCwyNCArNjU0MywyMCBAQCBib29sIG15c3FsX2NyZWF0ZV91c2VyKFRIRCAqdGhkLCBM aXN0IDxMCiAgICAgICBjb250aW51ZTsKICAgICB9CiAKLSAgICBsb2dfcXVlcnkuYXBwZW5kKCcg Jyk7Ci0gICAgYXBwZW5kX3VzZXIoJmxvZ19xdWVyeSwgdXNlcl9uYW1lLCBGQUxTRSwgVFJVRSk7 Ci0gICAgbG9nX3F1ZXJ5LmFwcGVuZCgnLCcpOwotCiAgICAgLyoKICAgICAgIFNlYXJjaCBhbGwg aW4tbWVtb3J5IHN0cnVjdHVyZXMgYW5kIGdyYW50IHRhYmxlcwogICAgICAgZm9yIGEgbWVudGlv biBvZiB0aGUgbmV3IHVzZXIgbmFtZS4KICAgICAqLwogICAgIGlmIChoYW5kbGVfZ3JhbnRfZGF0 YSh0YWJsZXMsIDAsIHVzZXJfbmFtZSwgTlVMTCkpCiAgICAgewotICAgICAgYXBwZW5kX3VzZXIo Jndyb25nX3VzZXJzLCB1c2VyX25hbWUsIHdyb25nX3VzZXJzLmxlbmd0aCgpID4gMCk7CisgICAg ICBhcHBlbmRfdXNlcigmd3JvbmdfdXNlcnMsIHVzZXJfbmFtZSwgd3JvbmdfdXNlcnMubGVuZ3Ro KCkgPiAwLCBGQUxTRSk7CiAgICAgICByZXN1bHQ9IFRSVUU7CiAgICAgICBjb250aW51ZTsKICAg ICB9CiAKICAgICBpZiAocmVwbGFjZV91c2VyX3RhYmxlKHRoZCwgdGFibGVzWzBdLnRhYmxlLCAq dXNlcl9uYW1lLCAwLCAwLCAxLCAwKSkKICAgICB7Ci0gICAgICBhcHBlbmRfdXNlcigmd3Jvbmdf dXNlcnMsIHVzZXJfbmFtZSwgd3JvbmdfdXNlcnMubGVuZ3RoKCkgPiAwKTsKKyAgICAgIGFwcGVu ZF91c2VyKCZ3cm9uZ191c2VycywgdXNlcl9uYW1lLCB3cm9uZ191c2Vycy5sZW5ndGgoKSA+IDAs IEZBTFNFKTsKICAgICAgIHJlc3VsdD0gVFJVRTsKICAgICAgIGNvbnRpbnVlOwogICAgIH0KQEAg LTY1NDIsOSArNjU3MSw5IEBAIGJvb2wgbXlzcWxfY3JlYXRlX3VzZXIoVEhEICp0aGQsIExpc3Qg PEwKIAogICBpZiAoc29tZV91c2Vyc19jcmVhdGVkKQogICB7Ci0gICAgLyogUmVtb3ZlIHRoZSBs YXN0ICcsJyAqLwotICAgIGxvZ19xdWVyeS5sZW5ndGgobG9nX3F1ZXJ5Lmxlbmd0aCgpLTEpOwot ICAgIHJlc3VsdHw9IHdyaXRlX2Jpbl9sb2codGhkLCBGQUxTRSwgbG9nX3F1ZXJ5LmNfcHRyX3Nh ZmUoKSwgbG9nX3F1ZXJ5Lmxlbmd0aCgpKTsKKyAgICByZXN1bHR8PSB3cml0ZV9iaW5fbG9nKHRo ZCwgRkFMU0UsCisgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGQtPnJld3JpdHRlbl9xdWVy eS5jX3B0cl9zYWZlKCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGQtPnJld3JpdHRl bl9xdWVyeS5sZW5ndGgoKSk7CiAgIH0KIAogICBteXNxbF9yd2xvY2tfdW5sb2NrKCZMT0NLX2dy YW50KTsKQEAgLTY2MTMsNyArNjY0Miw3IEBAIGJvb2wgbXlzcWxfZHJvcF91c2VyKFRIRCAqdGhk LCBMaXN0IDxMRVgKICAgICB9ICAKICAgICBpZiAoaGFuZGxlX2dyYW50X2RhdGEodGFibGVzLCAx LCB1c2VyX25hbWUsIE5VTEwpIDw9IDApCiAgICAgewotICAgICAgYXBwZW5kX3VzZXIoJndyb25n X3VzZXJzLCB1c2VyX25hbWUsIHdyb25nX3VzZXJzLmxlbmd0aCgpID4gMCk7CisgICAgICBhcHBl bmRfdXNlcigmd3JvbmdfdXNlcnMsIHVzZXJfbmFtZSwgd3JvbmdfdXNlcnMubGVuZ3RoKCkgPiAw LCBGQUxTRSk7CiAgICAgICByZXN1bHQ9IFRSVUU7CiAgICAgICBjb250aW51ZTsKICAgICB9CkBA IC02NzA5LDcgKzY3MzgsNyBAQCBib29sIG15c3FsX3JlbmFtZV91c2VyKFRIRCAqdGhkLCBMaXN0 IDxMCiAgICAgaWYgKGhhbmRsZV9ncmFudF9kYXRhKHRhYmxlcywgMCwgdXNlcl90bywgTlVMTCkg fHwKICAgICAgICAgaGFuZGxlX2dyYW50X2RhdGEodGFibGVzLCAwLCB1c2VyX2Zyb20sIHVzZXJf dG8pIDw9IDApCiAgICAgewotICAgICAgYXBwZW5kX3VzZXIoJndyb25nX3VzZXJzLCB1c2VyX2Zy b20sIHdyb25nX3VzZXJzLmxlbmd0aCgpID4gMCk7CisgICAgICBhcHBlbmRfdXNlcigmd3Jvbmdf dXNlcnMsIHVzZXJfZnJvbSwgd3JvbmdfdXNlcnMubGVuZ3RoKCkgPiAwLCBGQUxTRSk7CiAgICAg ICByZXN1bHQ9IFRSVUU7CiAgICAgICBjb250aW51ZTsKICAgICB9Cgo9PT0gbW9kaWZpZWQgZmls ZSAnc3FsL3NxbF9hY2wuaCcKLS0tIGEvc3FsL3NxbF9hY2wuaAkyMDExLTA2LTMwIDE1OjUwOjQ1 ICswMDAwCisrKyBiL3NxbC9zcWxfYWNsLmgJMjAxMS0wOC0xNyAxNDowNzowNyArMDAwMApAQCAt MTgwLDEwICsxODAsMTYgQEAgZW51bSBteXNxbF9kYl90YWJsZV9maWVsZAogCiBleHRlcm4gY29u c3QgVEFCTEVfRklFTERfREVGIG15c3FsX2RiX3RhYmxlX2RlZjsKIGV4dGVybiBib29sIG15c3Fs X3VzZXJfdGFibGVfaXNfaW5fc2hvcnRfcGFzc3dvcmRfZm9ybWF0OworZXh0ZXJuIGNvbnN0IGNo YXIgKmNvbW1hbmRfYXJyYXlbXTsKK2V4dGVybiB1aW50ICAgICAgICBjb21tYW5kX2xlbmd0aHNb XTsKKwogCiAvKiBwcm90b3R5cGVzICovCiAKIGJvb2wgaG9zdG5hbWVfcmVxdWlyZXNfcmVzb2x2 aW5nKGNvbnN0IGNoYXIgKmhvc3RuYW1lKTsKK3ZvaWQgYXBwZW5kX3VzZXIoU3RyaW5nICpzdHIs IExFWF9VU0VSICp1c2VyLCBib29sIGNvbW1hLCBib29sIHBhc3N3ZCk7Cit2b2lkIGFwcGVuZF9p bnQoU3RyaW5nICpzdHIsIGNvbnN0IGNoYXIgKnR4dCwgc2l6ZV90IGxlbiwKKyAgICAgICAgICAg ICAgICBsb25nIHZhbCwgaW50IGNvbmQpOwogbXlfYm9vbCAgYWNsX2luaXQoYm9vbCBkb250X3Jl YWRfYWNsX3RhYmxlcyk7CiBteV9ib29sIGFjbF9yZWxvYWQoVEhEICp0aGQpOwogdm9pZCBhY2xf ZnJlZShib29sIGVuZD0wKTsKCj09PSBtb2RpZmllZCBmaWxlICdzcWwvc3FsX2NsYXNzLmgnCi0t LSBhL3NxbC9zcWxfY2xhc3MuaAkyMDExLTA4LTAyIDA4OjE0OjI2ICswMDAwCisrKyBiL3NxbC9z cWxfY2xhc3MuaAkyMDExLTA4LTE3IDE0OjA3OjA3ICswMDAwCkBAIC04MjQsNiArODI0LDIzIEBA IHB1YmxpYzoKICAgKi8KICAgQ1NFVF9TVFJJTkcgcXVlcnlfc3RyaW5nOwogCisgIC8qCisgICAg SW4gc29tZSBjYXNlcywgd2UgbWF5IHdhbnQgdG8gbW9kaWZ5IHRoZSBxdWVyeSAoaS5lLiByZXBs YWNlCisgICAgcGFzc3dvcmRzIHdpdGggdGhlaXIgaGFzaGVzIGJlZm9yZSBsb2dnaW5nIHRoZSBz dGF0ZW1lbnQgZXRjLikuCisKKyAgICBJbiBjYXNlIHRoZSBxdWVyeSB3YXMgcmV3cml0dGVuLCB0 aGUgb3JpZ2luYWwgcXVlcnkgd2lsbCBsaXZlIGluCisgICAgcXVlcnlfc3RyaW5nLCB3aGlsZSB0 aGUgcmV3cml0dGVuIHF1ZXJ5IGxpdmVzIGluIHJld3JpdHRlbl9xdWVyeS4KKyAgICBJZiByZXdy aXR0ZW5fcXVlcnkgaXMgZW1wdHksIHF1ZXJ5X3N0cmluZyBzaG91bGQgYmUgbG9nZ2VkLgorICAg IElmIHJld3JpdHRlbl9xdWVyeSBpcyBub24tZW1wdHksIHRoZSByZXdyaXR0ZW4gcXVlcnkgaXQg Y29udGFpbnMKKyAgICBzaG91bGQgYmUgdXNlZCBpbiBsb2dzIChnZW5lcmFsIGxvZywgc2xvdyBx dWVyeSBsb2csIGJpbmFyeSBsb2cpLgorCisgICAgQ3VycmVudGx5LCBwYXNzd29yZCBvYmZ1c2Nh dGlvbiBpcyB0aGUgb25seSByZXdyaXRpbmcgd2UgZG87IG1vcmUKKyAgICBtYXkgZm9sbG93IGF0 IGEgbGF0ZXIgZGF0ZSwgYm90aCBwcmUtIGFuZCBwb3N0IHBhcnNpbmcgb2YgdGhlIHF1ZXJ5Lgor ICAgIFJld3JpdGluZyBvZiBiaW5sb2dnYWJsZSBzdGF0ZW1lbnRzIG11c3QgcHJlc2VydmUgYWxs IHBlcnRpbmVudAorICAgIGluZm9ybWF0aW9uLgorICAqLworICBTdHJpbmcgICAgICByZXdyaXR0 ZW5fcXVlcnk7CisKICAgaW5saW5lIGNoYXIgKnF1ZXJ5KCkgY29uc3QgeyByZXR1cm4gcXVlcnlf c3RyaW5nLnN0cigpOyB9CiAgIGlubGluZSB1aW50MzIgcXVlcnlfbGVuZ3RoKCkgY29uc3QgeyBy ZXR1cm4gcXVlcnlfc3RyaW5nLmxlbmd0aCgpOyB9CiAgIGNvbnN0IENIQVJTRVRfSU5GTyAqcXVl cnlfY2hhcnNldCgpIGNvbnN0IHsgcmV0dXJuIHF1ZXJ5X3N0cmluZy5jaGFyc2V0KCk7IH0KCj09 PSBtb2RpZmllZCBmaWxlICdzcWwvc3FsX3BhcnNlLmNjJwotLS0gYS9zcWwvc3FsX3BhcnNlLmNj CTIwMTEtMDgtMDUgMTA6MjY6MTMgKzAwMDAKKysrIGIvc3FsL3NxbF9wYXJzZS5jYwkyMDExLTA4 LTE3IDE0OjA3OjA3ICswMDAwCkBAIC05Niw2ICs5Niw3IEBACiAjaW5jbHVkZSAibXlzcWwvcHNp L215c3FsX3N0YXRlbWVudC5oIgogI2luY2x1ZGUgInNxbF9ib290c3RyYXAuaCIKICNpbmNsdWRl ICJvcHRfZXhwbGFpbi5oIgorI2luY2x1ZGUgInNxbF9yZXdyaXRlLmgiCiAKICNkZWZpbmUgRkxB R1NUUihWLEYpICgoVikmKEYpPyNGIiAiOiIiKQogCkBAIC0xMTY1LDcgKzExNjYsOSBAQCBib29s IGRpc3BhdGNoX2NvbW1hbmQoZW51bSBlbnVtX3NlcnZlcl9jCiAgICAgICAgICAgICAgICAgICAg ICAgKGNoYXIgKikgdGhkLT5zZWN1cml0eV9jdHgtPmhvc3Rfb3JfaXApOwogICAgIGNoYXIgKnBh Y2tldF9lbmQ9IHRoZC0+cXVlcnkoKSArIHRoZC0+cXVlcnlfbGVuZ3RoKCk7CiAKLSAgICBnZW5l cmFsX2xvZ193cml0ZSh0aGQsIGNvbW1hbmQsIHRoZC0+cXVlcnkoKSwgdGhkLT5xdWVyeV9sZW5n dGgoKSk7CisgICAgaWYgKG9wdF9sb2dfcmF3KQorICAgICAgZ2VuZXJhbF9sb2dfd3JpdGUodGhk LCBjb21tYW5kLCB0aGQtPnF1ZXJ5KCksIHRoZC0+cXVlcnlfbGVuZ3RoKCkpOworCiAgICAgREJV R19QUklOVCgicXVlcnkiLCgiJS0uNDA5NnMiLHRoZC0+cXVlcnkoKSkpOwogCiAjaWYgZGVmaW5l ZChFTkFCTEVEX1BST0ZJTElORykKQEAgLTE2MzQsOCArMTYzNywxNCBAQCB2b2lkIGxvZ19zbG93 X3N0YXRlbWVudChUSEQgKnRoZCkKICAgICB7CiAgICAgICBUSERfU1RBR0VfSU5GTyh0aGQsIHN0 YWdlX2xvZ2dpbmdfc2xvd19xdWVyeSk7CiAgICAgICB0aGQtPnN0YXR1c192YXIubG9uZ19xdWVy eV9jb3VudCsrOwotICAgICAgc2xvd19sb2dfcHJpbnQodGhkLCB0aGQtPnF1ZXJ5KCksIHRoZC0+ cXVlcnlfbGVuZ3RoKCksIAotICAgICAgICAgICAgICAgICAgICAgZW5kX3V0aW1lX29mX3F1ZXJ5 KTsKKyAgICAgIGlmICh0aGQtPnJld3JpdHRlbl9xdWVyeS5sZW5ndGgoKSkKKyAgICAgICAgc2xv d19sb2dfcHJpbnQodGhkLAorICAgICAgICAgICAgICAgICAgICAgICB0aGQtPnJld3JpdHRlbl9x dWVyeS5jX3B0cl9zYWZlKCksCisgICAgICAgICAgICAgICAgICAgICAgIHRoZC0+cmV3cml0dGVu X3F1ZXJ5Lmxlbmd0aCgpLCAKKyAgICAgICAgICAgICAgICAgICAgICAgZW5kX3V0aW1lX29mX3F1 ZXJ5KTsKKyAgICAgIGVsc2UKKyAgICAgICAgc2xvd19sb2dfcHJpbnQodGhkLCB0aGQtPnF1ZXJ5 KCksIHRoZC0+cXVlcnlfbGVuZ3RoKCksIAorICAgICAgICAgICAgICAgICAgICAgICBlbmRfdXRp bWVfb2ZfcXVlcnkpOwogICAgIH0KICAgfQogICBEQlVHX1ZPSURfUkVUVVJOOwpAQCAtNTY5Miw2 ICs1NzAxLDMzIEBAIHZvaWQgbXlzcWxfcGFyc2UoVEhEICp0aGQsIGNoYXIgKnJhd2J1ZiwKIAog ICAgIGJvb2wgZXJyPSBwYXJzZV9zcWwodGhkLCBwYXJzZXJfc3RhdGUsIE5VTEwpOwogCisgICAg Y29uc3QgY2hhciAqZm91bmRfc2VtaWNvbG9uPSBwYXJzZXJfc3RhdGUtPm1fbGlwLmZvdW5kX3Nl bWljb2xvbjsKKyAgICBzaXplX3QgICAgICBxbGVuPSBmb3VuZF9zZW1pY29sb24KKyAgICAgICAg ICAgICAgICAgICAgICA/IChmb3VuZF9zZW1pY29sb24gLSB0aGQtPnF1ZXJ5KCkpCisgICAgICAg ICAgICAgICAgICAgICAgOiB0aGQtPnF1ZXJ5X2xlbmd0aCgpOworCisKKyAgICAvKgorICAgICAg U2VlIHdoZXRoZXIgd2UgY2FuIGRvIGFueSBxdWVyeSByZXdyaXRpbmcuIG9wdF9sb2dfcmF3IG9u bHkgY29udHJvbHMKKyAgICAgIHdyaXRpbmcgdG8gdGhlIGdlbmVyYWwgbG9nLCBzbyByZXdyaXRp bmcgc3RpbGwgbmVlZHMgdG8gaGFwcGVuIGJlY2F1c2UKKyAgICAgIHRoZSBvdGhlciBsb2dzIChi aW5sb2csIHNsb3cgcXVlcnkgbG9nLCAuLi4pIGNhbiBub3QgYmUgc2V0IHRvIHJhdyBtb2RlCisg ICAgICBmb3Igc2VjdXJpdHkgcmVhc29ucy4KKyAgICAqLworICAgIG15c3FsX3Jld3JpdGVfcXVl cnkodGhkKTsKKworICAgIGlmICh0aGQtPnJld3JpdHRlbl9xdWVyeS5sZW5ndGgoKSkKKyAgICB7 CisgICAgICBsZXgtPnNhZmVfdG9fY2FjaGVfcXVlcnk9IEZBTFNFOyAvLyBzZWUgY29tbWVudHMg YmVsb3cKKyAgICAgIGlmICghb3B0X2xvZ19yYXcpCisgICAgICAgIGdlbmVyYWxfbG9nX3dyaXRl KHRoZCwgQ09NX1FVRVJZLCB0aGQtPnJld3JpdHRlbl9xdWVyeS5jX3B0cl9zYWZlKCksCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGQtPnJld3JpdHRlbl9xdWVy eS5sZW5ndGgoKSk7CisgICAgfQorICAgIGVsc2UKKyAgICB7CisgICAgICBpZiAoIW9wdF9sb2df cmF3KQorICAgICAgICBnZW5lcmFsX2xvZ193cml0ZSh0aGQsIENPTV9RVUVSWSwgdGhkLT5xdWVy eSgpLCBxbGVuKTsKKyAgICB9CisKICAgICBpZiAoIWVycikKICAgICB7CiAgICAgICB0aGQtPm1f c3RhdGVtZW50X3BzaT0gTVlTUUxfUkVGSU5FX1NUQVRFTUVOVCh0aGQtPm1fc3RhdGVtZW50X3Bz aSwKQEAgLTU3MDgsNyArNTc0NCw2IEBAIHZvaWQgbXlzcWxfcGFyc2UoVEhEICp0aGQsIGNoYXIg KnJhd2J1ZiwKICAgICAgIHsKIAlpZiAoISB0aGQtPmlzX2Vycm9yKCkpCiAJewotICAgICAgICAg IGNvbnN0IGNoYXIgKmZvdW5kX3NlbWljb2xvbj0gcGFyc2VyX3N0YXRlLT5tX2xpcC5mb3VuZF9z ZW1pY29sb247CiAgICAgICAgICAgLyoKICAgICAgICAgICAgIEJpbmxvZyBsb2dzIGEgc3RyaW5n IHN0YXJ0aW5nIGZyb20gdGhkLT5xdWVyeSBhbmQgaGF2aW5nIGxlbmd0aAogICAgICAgICAgICAg dGhkLT5xdWVyeV9sZW5ndGg7IHNvIHdlIHNldCB0aGQtPnF1ZXJ5X2xlbmd0aCBjb3JyZWN0bHkg KHRvIG5vdApAQCAtNTc2Miw5ICs1Nzk3LDIwIEBAIHZvaWQgbXlzcWxfcGFyc2UoVEhEICp0aGQs IGNoYXIgKnJhd2J1ZiwKICAgfQogICBlbHNlCiAgIHsKLSAgICAvKiBPbmx5IFNFTEVDVCBhcmUg Y2FjaGVkIGluIHRoZSBxdWVyeSBjYWNoZS4gKi8KKyAgICAvKgorICAgICAgUXVlcnkgY2FjaGUg aGl0LiBXZSBuZWVkIHRvIHdyaXRlIHRoZSBnZW5lcmFsIGxvZyBoZXJlLgorICAgICAgUmlnaHQg bm93LCB3ZSBvbmx5IGNhY2hlIFNFTEVDVCByZXN1bHRzOyBpZiB0aGUgY2FjaGUgZXZlcgorICAg ICAgYmVjb21lcyBtb3JlIGdlbmVyaWMsIHdlIHNob3VsZCBhbHNvIGNhY2hlIHRoZSByZXdyaXR0 ZW4KKyAgICAgIHF1ZXJ5LXN0cmluZyB0b2dldGhlciB3aXRoIHRoZSBvcmlnaW5hbCBxdWVyeS1z dHJpbmcgKHdoaWNoCisgICAgICB3ZSdkIHN0aWxsIHVzZSBmb3IgdGhlIG1hdGNoaW5nKSB3aGVu IHdlIGZpcnN0IGV4ZWN1dGUgdGhlCisgICAgICBxdWVyeSwgYW5kIHRoZW4gdXNlIHRoZSBvYmZ1 c2NhdGVkIHF1ZXJ5LXN0cmluZyBmb3IgbG9nZ2luZworICAgICAgaGVyZSB3aGVuIHRoZSBxdWVy eSBpcyBnaXZlbiBhZ2Fpbi4KKyAgICAqLwogICAgIHRoZC0+bV9zdGF0ZW1lbnRfcHNpPSBNWVNR TF9SRUZJTkVfU1RBVEVNRU5UKHRoZC0+bV9zdGF0ZW1lbnRfcHNpLAogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNxbF9zdGF0ZW1lbnRfaW5mb1tTUUxD T01fU0VMRUNUXS5tX2tleSk7CisgICAgaWYgKCFvcHRfbG9nX3JhdykKKyAgICAgIGdlbmVyYWxf bG9nX3dyaXRlKHRoZCwgQ09NX1FVRVJZLCB0aGQtPnF1ZXJ5KCksIHRoZC0+cXVlcnlfbGVuZ3Ro KCkpOworICAgIHBhcnNlcl9zdGF0ZS0+bV9saXAuZm91bmRfc2VtaWNvbG9uPSBOVUxMOwogICB9 CiAKICAgREJVR19WT0lEX1JFVFVSTjsKCj09PSBhZGRlZCBmaWxlICdzcWwvc3FsX3Jld3JpdGUu Y2MnCi0tLSBhL3NxbC9zcWxfcmV3cml0ZS5jYwkxOTcwLTAxLTAxIDAwOjAwOjAwICswMDAwCisr KyBiL3NxbC9zcWxfcmV3cml0ZS5jYwkyMDExLTA4LTE3IDE0OjA3OjA3ICswMDAwCkBAIC0wLDAg KzEsMzc5IEBACisvKiBDb3B5cmlnaHQgKGMpIDIwMTEsIE9yYWNsZSBhbmQvb3IgaXRzIGFmZmls aWF0ZXMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisKKyAgIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNv ZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAgIG1vZGlmeSBpdCB1bmRl ciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgICBhcyBwdWJs aXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgdmVyc2lvbiAyIG9mCisgICB0 aGUgTGljZW5zZS4KKworICAgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3Bl IHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdp dGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICAgTUVSQ0hBTlRBQklMSVRZIG9y IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiBTZWUgdGhlCisgICBHTlUgR2VuZXJh bCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorCisgICBZb3Ugc2hvdWxkIGhhdmUg cmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICAgYWxv bmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUK KyAgIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0LCBGaWZ0aCBGbG9vciwgQm9zdG9u LCBNQQorICAgMDIxMTAtMTMwMSAgVVNBICovCisKKworI2luY2x1ZGUgInNxbF9hY2wuaCIgICAg Ly8gYXBwZW5kX3VzZXIKKyNpbmNsdWRlICJzcWxfcGFyc2UuaCIgIC8vIGdldF9jdXJyZW50X3Vz ZXIKKyNpbmNsdWRlICJzcWxfc2hvdy5oIiAgIC8vIGFwcGVuZF9pZGVudGlmaWVyCisjaW5jbHVk ZSAic3BfaGVhZC5oIiAgICAvLyBUWVBFX0VOVU1fKEZVTkNUSU9OfFBST0NFRFVSRSkKKworCisj aWZuZGVmIE5PX0VNQkVEREVEX0FDQ0VTU19DSEVDS1MKKworc3RhdGljIHZvaWQgbXlzcWxfcmV3 cml0ZV9ncmFudChUSEQgKnRoZCwgU3RyaW5nICpybGIpCit7CisgIExFWCAgICAgICAgKmxleD0g dGhkLT5sZXg7CisgIFRBQkxFX0xJU1QgKmZpcnN0X3RhYmxlPSAoVEFCTEVfTElTVCopIGxleC0+ c2VsZWN0X2xleC50YWJsZV9saXN0LmZpcnN0OworICBib29sICAgICAgICBjb21tYT0gRkFMU0Us IGNvbW1hX2lubmVyOworICBTdHJpbmcgICAgICBjb2xzKDEwMjQpOworICBpbnQgICAgICAgICBj OworCisgIHJsYi0+YXBwZW5kKFNUUklOR19XSVRIX0xFTigiR1JBTlQgIikpOworCisgIGlmIChs ZXgtPmFsbF9wcml2aWxlZ2VzKQorICAgIHJsYi0+YXBwZW5kKFNUUklOR19XSVRIX0xFTigiQUxM IFBSSVZJTEVHRVMiKSk7CisgIGVsc2UKKyAgeworICAgIHVsb25nIHByaXY7CisKKyAgICBmb3Ig KGM9IDAsIHByaXYgPSBTRUxFQ1RfQUNMOyBwcml2IDw9IEdMT0JBTF9BQ0xTOyBjKyssIHByaXYg PDw9IDEpCisgICAgeworICAgICAgaWYgKHByaXYgPT0gR1JBTlRfQUNMKQorICAgICAgICBjb250 aW51ZTsKKworICAgICAgY29tbWFfaW5uZXI9IEZBTFNFOworCisgICAgICBpZiAobGV4LT5jb2x1 bW5zLmVsZW1lbnRzKSAgICAgICAgICAgICAgIC8vIHNob3cgY29sdW1ucywgaWYgYW55CisgICAg ICB7CisgICAgICAgIGNsYXNzIExFWF9DT0xVTU4gKmNvbHVtbjsKKyAgICAgICAgTGlzdF9pdGVy YXRvciA8TEVYX0NPTFVNTj4gY29sdW1uX2l0ZXIobGV4LT5jb2x1bW5zKTsKKworICAgICAgICBj b2xzLmxlbmd0aCgwKTsKKyAgICAgICAgY29scy5hcHBlbmQoU1RSSU5HX1dJVEhfTEVOKCIgKCIp KTsKKworICAgICAgICB3aGlsZSAoKGNvbHVtbiA9IGNvbHVtbl9pdGVyKyspKQorICAgICAgICB7 CisgICAgICAgICAgaWYgKGNvbHVtbi0+cmlnaHRzICYgcHJpdikKKyAgICAgICAgICB7CisgICAg ICAgICAgICBpZiAoY29tbWFfaW5uZXIpCisgICAgICAgICAgICAgIGNvbHMuYXBwZW5kKFNUUklO R19XSVRIX0xFTigiLCAiKSk7CisgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgIGNvbW1h X2lubmVyPSBUUlVFOworICAgICAgICAgICAgY29scy5hcHBlbmQoY29sdW1uLT5jb2x1bW4ucHRy KCksY29sdW1uLT5jb2x1bW4ubGVuZ3RoKCkpOworICAgICAgICAgIH0KKyAgICAgICAgfQorICAg ICAgICBjb2xzLmFwcGVuZChTVFJJTkdfV0lUSF9MRU4oIikiKSk7CisgICAgICB9CisKKyAgICAg IGlmIChjb21tYV9pbm5lciB8fCAobGV4LT5ncmFudCAmIHByaXYpKSAgLy8gc2hvdyBwcml2aWxl Z2UgbmFtZQorICAgICAgeworICAgICAgICBpZiAoY29tbWEpCisgICAgICAgICAgcmxiLT5hcHBl bmQoU1RSSU5HX1dJVEhfTEVOKCIsICIpKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgIGNvbW1h PSBUUlVFOworICAgICAgICBybGItPmFwcGVuZChjb21tYW5kX2FycmF5W2NdLGNvbW1hbmRfbGVu Z3Roc1tjXSk7CisgICAgICAgIGlmICghKGxleC0+Z3JhbnQgJiBwcml2KSkgICAgICAgICAgICAg IC8vIGdlbmVyYWwgb3V0cmFua3Mgc3BlY2lmaWMKKyAgICAgICAgICBybGItPmFwcGVuZChjb2xz KTsKKyAgICAgIH0KKyAgICB9CisgICAgaWYgKCFjb21tYSkgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIC8vIG5vIHByaXZzLCBkZWZhdWx0IHRvIFVTQUdFCisgICAgICBybGItPmFwcGVu ZChTVFJJTkdfV0lUSF9MRU4oIlVTQUdFIikpOworICB9CisKKyAgcmxiLT5hcHBlbmQoU1RSSU5H X1dJVEhfTEVOKCIgT04gIikpOworICBzd2l0Y2gobGV4LT50eXBlKQorICB7CisgIGNhc2UgVFlQ RV9FTlVNX1BST0NFRFVSRTogcmxiLT5hcHBlbmQoU1RSSU5HX1dJVEhfTEVOKCJQUk9DRURVUkUg IikpOyBicmVhazsKKyAgY2FzZSBUWVBFX0VOVU1fRlVOQ1RJT046ICBybGItPmFwcGVuZChTVFJJ TkdfV0lUSF9MRU4oIkZVTkNUSU9OICIpKTsgIGJyZWFrOworICBkZWZhdWx0OiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7 CisgIH0KKworICBpZiAoZmlyc3RfdGFibGUpCisgIHsKKyAgICBhcHBlbmRfaWRlbnRpZmllcih0 aGQsIHJsYiwgZmlyc3RfdGFibGUtPmRiLCBzdHJsZW4oZmlyc3RfdGFibGUtPmRiKSk7CisgICAg cmxiLT5hcHBlbmQoU1RSSU5HX1dJVEhfTEVOKCIuIikpOworICAgIGFwcGVuZF9pZGVudGlmaWVy KHRoZCwgcmxiLCBmaXJzdF90YWJsZS0+dGFibGVfbmFtZSwgc3RybGVuKGZpcnN0X3RhYmxlLT50 YWJsZV9uYW1lKSk7CisgIH0KKyAgZWxzZQorICB7CisgICAgaWYgKGxleC0+Y3VycmVudF9zZWxl Y3QtPmRiKQorICAgICAgYXBwZW5kX2lkZW50aWZpZXIodGhkLCBybGIsIGxleC0+Y3VycmVudF9z ZWxlY3QtPmRiLCBzdHJsZW4obGV4LT5jdXJyZW50X3NlbGVjdC0+ZGIpKTsKKyAgICBlbHNlCisg ICAgICBybGItPmFwcGVuZCgiKiIpOworICAgIHJsYi0+YXBwZW5kKFNUUklOR19XSVRIX0xFTigi LioiKSk7CisgIH0KKworICBybGItPmFwcGVuZChTVFJJTkdfV0lUSF9MRU4oIiBUTyAiKSk7Cisg IHsKKyAgICBMRVhfVVNFUiAqdXNlcl9uYW1lLCAqdG1wX3VzZXJfbmFtZTsKKyAgICBMaXN0X2l0 ZXJhdG9yIDxMRVhfVVNFUj4gdXNlcl9saXN0KGxleC0+dXNlcnNfbGlzdCk7CisgICAgYm9vbCBj b21tYT0gRkFMU0U7CisKKyAgICB3aGlsZSAoKHRtcF91c2VyX25hbWU9IHVzZXJfbGlzdCsrKSkK KyAgICB7CisgICAgICBpZiAoKHVzZXJfbmFtZT0gZ2V0X2N1cnJlbnRfdXNlcih0aGQsIHRtcF91 c2VyX25hbWUpKSkKKyAgICAgIHsKKyAgICAgICAgYXBwZW5kX3VzZXIocmxiLCB1c2VyX25hbWUs IGNvbW1hLCBUUlVFKTsKKyAgICAgICAgY29tbWE9IFRSVUU7CisgICAgICB9CisgICAgfQorICB9 CisKKyAgaWYgKGxleC0+c3NsX3R5cGUgIT0gU1NMX1RZUEVfTk9UX1NQRUNJRklFRCkKKyAgewor ICAgIHJsYi0+YXBwZW5kKFNUUklOR19XSVRIX0xFTigiIFJFUVVJUkUiKSk7CisgICAgc3dpdGNo IChsZXgtPnNzbF90eXBlKQorICAgIHsKKyAgICBjYXNlIFNTTF9UWVBFX1NQRUNJRklFRDoKKyAg ICAgIGlmIChsZXgtPng1MDlfc3ViamVjdCkKKyAgICAgIHsKKyAgICAgICAgcmxiLT5hcHBlbmQo U1RSSU5HX1dJVEhfTEVOKCIgU1VCSkVDVCAnIikpOworICAgICAgICBybGItPmFwcGVuZChsZXgt Png1MDlfc3ViamVjdCk7CisgICAgICAgIHJsYi0+YXBwZW5kKFNUUklOR19XSVRIX0xFTigiJyIp KTsKKyAgICAgIH0KKyAgICAgIGlmIChsZXgtPng1MDlfaXNzdWVyKQorICAgICAgeworICAgICAg ICBybGItPmFwcGVuZChTVFJJTkdfV0lUSF9MRU4oIiBJU1NVRVIgJyIpKTsKKyAgICAgICAgcmxi LT5hcHBlbmQobGV4LT54NTA5X3N1YmplY3QpOworICAgICAgICBybGItPmFwcGVuZChTVFJJTkdf V0lUSF9MRU4oIiciKSk7CisgICAgICB9CisgICAgICBpZiAobGV4LT5zc2xfY2lwaGVyKQorICAg ICAgeworICAgICAgICBybGItPmFwcGVuZChTVFJJTkdfV0lUSF9MRU4oIiBDSVBIRVIgJyIpKTsK KyAgICAgICAgcmxiLT5hcHBlbmQobGV4LT5zc2xfY2lwaGVyKTsKKyAgICAgICAgcmxiLT5hcHBl bmQoU1RSSU5HX1dJVEhfTEVOKCInIikpOworICAgICAgfQorICAgICAgYnJlYWs7CisgICAgY2Fz ZSBTU0xfVFlQRV9YNTA5OgorICAgICAgcmxiLT5hcHBlbmQoU1RSSU5HX1dJVEhfTEVOKCIgWDUw OSIpKTsKKyAgICAgIGJyZWFrOworICAgIGNhc2UgU1NMX1RZUEVfQU5ZOgorICAgICAgcmxiLT5h cHBlbmQoU1RSSU5HX1dJVEhfTEVOKCIgU1NMIikpOworICAgICAgYnJlYWs7CisgICAgY2FzZSBT U0xfVFlQRV9OT1RfU1BFQ0lGSUVEOgorICAgICAgLyogZmFsbC10aHJ1ICovCisgICAgY2FzZSBT U0xfVFlQRV9OT05FOgorICAgICAgcmxiLT5hcHBlbmQoU1RSSU5HX1dJVEhfTEVOKCIgTk9ORSIp KTsKKyAgICAgIGJyZWFrOworICAgIH0KKyAgfQorCisgIGlmIChsZXgtPm1xaC5zcGVjaWZpZWRf bGltaXRzIHx8IChsZXgtPmdyYW50ICYgR1JBTlRfQUNMKSkKKyAgeworICAgIHJsYi0+YXBwZW5k KFNUUklOR19XSVRIX0xFTigiIFdJVEgiKSk7CisgICAgaWYgKGxleC0+Z3JhbnQgJiBHUkFOVF9B Q0wpCisgICAgICBybGItPmFwcGVuZChTVFJJTkdfV0lUSF9MRU4oIiBHUkFOVCBPUFRJT04iKSk7 CisKKyAgICBhcHBlbmRfaW50KHJsYiwgU1RSSU5HX1dJVEhfTEVOKCIgTUFYX1FVRVJJRVNfUEVS X0hPVVIgIiksCisgICAgICAgICAgICAgICBsZXgtPm1xaC5xdWVzdGlvbnMsCisgICAgICAgICAg ICAgICBsZXgtPm1xaC5zcGVjaWZpZWRfbGltaXRzICYgVVNFUl9SRVNPVVJDRVM6OlFVRVJJRVNf UEVSX0hPVVIpOworCisgICAgYXBwZW5kX2ludChybGIsIFNUUklOR19XSVRIX0xFTigiIE1BWF9V UERBVEVTX1BFUl9IT1VSICIpLAorICAgICAgICAgICAgICAgbGV4LT5tcWgudXBkYXRlcywKKyAg ICAgICAgICAgICAgIGxleC0+bXFoLnNwZWNpZmllZF9saW1pdHMgJiBVU0VSX1JFU09VUkNFUzo6 VVBEQVRFU19QRVJfSE9VUik7CisKKyAgICBhcHBlbmRfaW50KHJsYiwgU1RSSU5HX1dJVEhfTEVO KCIgTUFYX0NPTk5FQ1RJT05TX1BFUl9IT1VSICIpLAorICAgICAgICAgICAgICAgbGV4LT5tcWgu Y29ubl9wZXJfaG91ciwKKyAgICAgICAgICAgICAgIGxleC0+bXFoLnNwZWNpZmllZF9saW1pdHMg JiBVU0VSX1JFU09VUkNFUzo6Q09OTkVDVElPTlNfUEVSX0hPVVIpOworCisgICAgYXBwZW5kX2lu dChybGIsIFNUUklOR19XSVRIX0xFTigiIE1BWF9VU0VSX0NPTk5FQ1RJT05TICIpLAorICAgICAg ICAgICAgICAgbGV4LT5tcWgudXNlcl9jb25uLAorICAgICAgICAgICAgICAgbGV4LT5tcWguc3Bl Y2lmaWVkX2xpbWl0cyAmIFVTRVJfUkVTT1VSQ0VTOjpVU0VSX0NPTk5FQ1RJT05TKTsKKyAgfQor fQorCisKKworc3RhdGljIHZvaWQgbXlzcWxfcmV3cml0ZV9zZXQoVEhEICp0aGQsIFN0cmluZyAq cmxiKQoreworICBMRVggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbGV4PSB0aGQtPmxl eDsKKyAgTGlzdF9pdGVyYXRvcl9mYXN0PHNldF92YXJfYmFzZT4gIGl0KGxleC0+dmFyX2xpc3Qp OworICBzZXRfdmFyX2Jhc2UgICAgICAgICAgICAgICAgICAgICAqdmFyOworICBib29sICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgY29tbWE9IEZBTFNFOworCisgIHJsYi0+YXBwZW5kKFNU UklOR19XSVRIX0xFTigiU0VUICIpKTsKKworICB3aGlsZSAoKHZhcj0gaXQrKykpCisgIHsKKyAg ICBpZiAoY29tbWEpCisgICAgICBybGItPmFwcGVuZChTVFJJTkdfV0lUSF9MRU4oIiwiKSk7Cisg ICAgZWxzZQorICAgICAgY29tbWE9IFRSVUU7CisKKyAgICB2YXItPnByaW50KHRoZCwgcmxiKTsK KyAgfQorfQorCisKK3N0YXRpYyB2b2lkIG15c3FsX3Jld3JpdGVfY3JlYXRlX3VzZXIoVEhEICp0 aGQsIFN0cmluZyAqcmxiKQoreworICBMRVggICAgICAgICAgICAgICAgICAgICAgKmxleD0gdGhk LT5sZXg7CisgIExFWF9VU0VSICAgICAgICAgICAgICAgICAqdXNlcl9uYW1lLCAqdG1wX3VzZXJf bmFtZTsKKyAgTGlzdF9pdGVyYXRvciA8TEVYX1VTRVI+ICB1c2VyX2xpc3QobGV4LT51c2Vyc19s aXN0KTsKKyAgYm9vbCAgICAgICAgICAgICAgICAgICAgICBjb21tYT0gRkFMU0U7CisKKyAgcmxi LT5hcHBlbmQoU1RSSU5HX1dJVEhfTEVOKCJDUkVBVEUgVVNFUiAiKSk7CisgIHdoaWxlICgodG1w X3VzZXJfbmFtZT0gdXNlcl9saXN0KyspKQorICB7CisgICAgaWYgKCh1c2VyX25hbWU9IGdldF9j dXJyZW50X3VzZXIodGhkLCB0bXBfdXNlcl9uYW1lKSkpCisgICAgeworICAgICAgYXBwZW5kX3Vz ZXIocmxiLCB1c2VyX25hbWUsIGNvbW1hLCBUUlVFKTsKKyAgICAgIGNvbW1hPSBUUlVFOworICAg IH0KKyAgfQorfQorCisKK3N0YXRpYyB2b2lkIG15c3FsX3Jld3JpdGVfY2hhbmdlX21hc3RlcihU SEQgKnRoZCwgU3RyaW5nICpybGIpCit7CisgIExFWCAqbGV4PSB0aGQtPmxleDsKKworICBybGIt PmFwcGVuZChTVFJJTkdfV0lUSF9MRU4oIkNIQU5HRSBNQVNURVIgVE8iKSk7CisKKyAgaWYgKGxl eC0+bWkuaG9zdCkKKyAgeworICAgIHJsYi0+YXBwZW5kKFNUUklOR19XSVRIX0xFTigiIE1BU1RF Ul9IT1NUID0gJyIpKTsKKyAgICBybGItPmFwcGVuZChsZXgtPm1pLmhvc3QpOworICAgIHJsYi0+ YXBwZW5kKFNUUklOR19XSVRIX0xFTigiJyIpKTsKKyAgfQorICBpZiAobGV4LT5taS51c2VyKQor ICB7CisgICAgcmxiLT5hcHBlbmQoU1RSSU5HX1dJVEhfTEVOKCIgTUFTVEVSX1VTRVIgPSAnIikp OworICAgIHJsYi0+YXBwZW5kKGxleC0+bWkudXNlcik7CisgICAgcmxiLT5hcHBlbmQoU1RSSU5H X1dJVEhfTEVOKCInIikpOworICB9CisgIGlmIChsZXgtPm1pLnBhc3N3b3JkKQorICB7CisgICAg cmxiLT5hcHBlbmQoU1RSSU5HX1dJVEhfTEVOKCIgTUFTVEVSX1BBU1NXT1JEID0gPHNlY3JldD4i KSk7CisgIH0KKyAgaWYgKGxleC0+bWkucG9ydCkKKyAgeworICAgIHJsYi0+YXBwZW5kKFNUUklO R19XSVRIX0xFTigiIE1BU1RFUl9QT1JUID0gIikpOworICAgIHJsYi0+YXBwZW5kX3Vsb25nbG9u ZyhsZXgtPm1pLnBvcnQpOworICB9CisgIGlmIChsZXgtPm1pLmNvbm5lY3RfcmV0cnkpCisgIHsK KyAgICBybGItPmFwcGVuZChTVFJJTkdfV0lUSF9MRU4oIiBNQVNURVJfQ09OTkVDVF9SRVRSWSA9 ICIpKTsKKyAgICBybGItPmFwcGVuZF91bG9uZ2xvbmcobGV4LT5taS5jb25uZWN0X3JldHJ5KTsK KyAgfQorICBpZiAobGV4LT5taS5zc2wpCisgIHsKKyAgICBybGItPmFwcGVuZChTVFJJTkdfV0lU SF9MRU4oIiBNQVNURVJfU1NMID0gIikpOworICAgIHJsYi0+YXBwZW5kKGxleC0+bWkuc3NsID09 IExFWF9NQVNURVJfSU5GTzo6TEVYX01JX0VOQUJMRSA/ICIxIiA6ICIwIik7CisgIH0KKyAgaWYg KGxleC0+bWkuc3NsX2NhKQorICB7CisgICAgcmxiLT5hcHBlbmQoU1RSSU5HX1dJVEhfTEVOKCIg TUFTVEVSX1NTTF9DQSA9ICciKSk7CisgICAgcmxiLT5hcHBlbmQobGV4LT5taS5zc2xfY2EpOwor ICAgIHJsYi0+YXBwZW5kKFNUUklOR19XSVRIX0xFTigiJyIpKTsKKyAgfQorICBpZiAobGV4LT5t aS5zc2xfY2FwYXRoKQorICB7CisgICAgcmxiLT5hcHBlbmQoU1RSSU5HX1dJVEhfTEVOKCIgTUFT VEVSX1NTTF9DQVBBVEggPSAnIikpOworICAgIHJsYi0+YXBwZW5kKGxleC0+bWkuc3NsX2NhcGF0 aCk7CisgICAgcmxiLT5hcHBlbmQoU1RSSU5HX1dJVEhfTEVOKCInIikpOworICB9CisgIGlmIChs ZXgtPm1pLnNzbF9jZXJ0KQorICB7CisgICAgcmxiLT5hcHBlbmQoU1RSSU5HX1dJVEhfTEVOKCIg TUFTVEVSX1NTTF9DRVJUID0gJyIpKTsKKyAgICBybGItPmFwcGVuZChsZXgtPm1pLnNzbF9jZXJ0 KTsKKyAgICBybGItPmFwcGVuZChTVFJJTkdfV0lUSF9MRU4oIiciKSk7CisgIH0KKyAgaWYgKGxl eC0+bWkuc3NsX2NpcGhlcikKKyAgeworICAgIHJsYi0+YXBwZW5kKFNUUklOR19XSVRIX0xFTigi IE1BU1RFUl9TU0xfQ0lQSEVSID0gJyIpKTsKKyAgICBybGItPmFwcGVuZChsZXgtPm1pLnNzbF9j aXBoZXIpOworICAgIHJsYi0+YXBwZW5kKFNUUklOR19XSVRIX0xFTigiJyIpKTsKKyAgfQorICBp ZiAobGV4LT5taS5zc2xfa2V5KQorICB7CisgICAgcmxiLT5hcHBlbmQoU1RSSU5HX1dJVEhfTEVO KCIgTUFTVEVSX1NTTF9LRVkgPSAnIikpOworICAgIHJsYi0+YXBwZW5kKGxleC0+bWkuc3NsX2tl eSk7CisgICAgcmxiLT5hcHBlbmQoU1RSSU5HX1dJVEhfTEVOKCInIikpOworICB9CisgIGlmIChs ZXgtPm1pLmxvZ19maWxlX25hbWUpCisgIHsKKyAgICBybGItPmFwcGVuZChTVFJJTkdfV0lUSF9M RU4oIiBNQVNURVJfTE9HX0ZJTEUgPSAnIikpOworICAgIHJsYi0+YXBwZW5kKGxleC0+bWkubG9n X2ZpbGVfbmFtZSk7CisgICAgcmxiLT5hcHBlbmQoU1RSSU5HX1dJVEhfTEVOKCInIikpOworICB9 CisgIGlmIChsZXgtPm1pLnBvcykKKyAgeworICAgIHJsYi0+YXBwZW5kKFNUUklOR19XSVRIX0xF TigiIE1BU1RFUl9MT0dfUE9TID0gIikpOworICAgIHJsYi0+YXBwZW5kX3Vsb25nbG9uZyhsZXgt Pm1pLnBvcyk7CisgIH0KKyAgaWYgKGxleC0+bWkucmVsYXlfbG9nX25hbWUpCisgIHsKKyAgICBy bGItPmFwcGVuZChTVFJJTkdfV0lUSF9MRU4oIiBSRUxBWV9MT0dfRklMRSA9ICciKSk7CisgICAg cmxiLT5hcHBlbmQobGV4LT5taS5yZWxheV9sb2dfbmFtZSk7CisgICAgcmxiLT5hcHBlbmQoU1RS SU5HX1dJVEhfTEVOKCInIikpOworICB9CisgIGlmIChsZXgtPm1pLnJlbGF5X2xvZ19wb3MpCisg IHsKKyAgICBybGItPmFwcGVuZChTVFJJTkdfV0lUSF9MRU4oIiBSRUxBWV9MT0dfUE9TID0gIikp OworICAgIHJsYi0+YXBwZW5kX3Vsb25nbG9uZyhsZXgtPm1pLnJlbGF5X2xvZ19wb3MpOworICB9 CisKKyAgaWYgKGxleC0+bWkuc3NsX3ZlcmlmeV9zZXJ2ZXJfY2VydCkKKyAgeworICAgIHJsYi0+ YXBwZW5kKFNUUklOR19XSVRIX0xFTigiIE1BU1RFUl9TU0xfVkVSSUZZX1NFUlZFUl9DRVJUID0g IikpOworICAgIHJsYi0+YXBwZW5kKGxleC0+bWkuc3NsX3ZlcmlmeV9zZXJ2ZXJfY2VydCA9PSBM RVhfTUFTVEVSX0lORk86OkxFWF9NSV9FTkFCTEUgPyAiMSIgOiAiMCIpOworICB9CisgIGlmIChs ZXgtPm1pLnJlcGxfaWdub3JlX3NlcnZlcl9pZHNfb3B0KQorICB7CisgICAgYm9vbCBmaXJzdD0g VFJVRTsKKyAgICBybGItPmFwcGVuZChTVFJJTkdfV0lUSF9MRU4oIiBJR05PUkVfU0VSVkVSX0lE UyA9ICggIikpOworICAgIGZvciAodWludCBpPSAwOyBpIDwgbGV4LT5taS5yZXBsX2lnbm9yZV9z ZXJ2ZXJfaWRzLmVsZW1lbnRzOyBpKyspCisgICAgeworICAgICAgdWxvbmcgc19pZDsKKyAgICAg IGdldF9keW5hbWljKCZsZXgtPm1pLnJlcGxfaWdub3JlX3NlcnZlcl9pZHMsICh1Y2hhciopICZz X2lkLCBpKTsKKyAgICAgIGlmIChmaXJzdCkKKyAgICAgICAgZmlyc3Q9IEZBTFNFOworICAgICAg ZWxzZQorICAgICAgICBybGItPmFwcGVuZChTVFJJTkdfV0lUSF9MRU4oIiwgIikpOworICAgICAg cmxiLT5hcHBlbmRfdWxvbmdsb25nKHNfaWQpOworICAgIH0KKyAgICBybGItPmFwcGVuZChTVFJJ TkdfV0lUSF9MRU4oIiApIikpOworICB9CisgIGlmIChsZXgtPm1pLmhlYXJ0YmVhdF9vcHQgIT0g TEVYX01BU1RFUl9JTkZPOjpMRVhfTUlfVU5DSEFOR0VEKQorICB7CisgICAgcmxiLT5hcHBlbmQo U1RSSU5HX1dJVEhfTEVOKCIgTUFTVEVSX0hFQVJUQkVBVF9QRVJJT0QgPSAiKSk7CisgICAgaWYg KGxleC0+bWkuaGVhcnRiZWF0X29wdCA9PSBMRVhfTUFTVEVSX0lORk86OkxFWF9NSV9ESVNBQkxF KQorICAgICAgcmxiLT5hcHBlbmQoU1RSSU5HX1dJVEhfTEVOKCIwIikpOworICAgIGVsc2UKKyAg ICB7CisgICAgICBjaGFyIGJ1Zls2NF07CisgICAgICBzbnByaW50ZihidWYsIDY0LCAiJWYiLCBs ZXgtPm1pLmhlYXJ0YmVhdF9wZXJpb2QpOworICAgICAgcmxiLT5hcHBlbmQoYnVmKTsKKyAgICB9 CisgIH0KK30KKyNlbmRpZgorCisKKy8qKgorUmV3cml0ZSBhIHF1ZXJ5ICh0byBvYmZ1c2NhdGUg cGFzc3dvcmRzIGV0Yy4pCitAcGFyYW0gdGhkIEN1cnJlbnQgdGhyZWFkCisqLworCit2b2lkIG15 c3FsX3Jld3JpdGVfcXVlcnkoVEhEICp0aGQpCit7CisgIFN0cmluZyAqcmxiPSAmdGhkLT5yZXdy aXR0ZW5fcXVlcnk7CisKKyAgcmxiLT5mcmVlKCk7CisKKyAgc3dpdGNoKHRoZC0+bGV4LT5zcWxf Y29tbWFuZCkKKyAgeworI2lmbmRlZiBOT19FTUJFRERFRF9BQ0NFU1NfQ0hFQ0tTCisgIGNhc2Ug U1FMQ09NX0dSQU5UOiAgICAgICAgIG15c3FsX3Jld3JpdGVfZ3JhbnQodGhkLCBybGIpOyAgICAg ICAgIGJyZWFrOworICBjYXNlIFNRTENPTV9TRVRfT1BUSU9OOiAgICBteXNxbF9yZXdyaXRlX3Nl dCh0aGQsIHJsYik7ICAgICAgICAgICBicmVhazsKKyAgY2FzZSBTUUxDT01fQ1JFQVRFX1VTRVI6 ICAgbXlzcWxfcmV3cml0ZV9jcmVhdGVfdXNlcih0aGQsIHJsYik7ICAgYnJlYWs7CisgIGNhc2Ug U1FMQ09NX0NIQU5HRV9NQVNURVI6IG15c3FsX3Jld3JpdGVfY2hhbmdlX21hc3Rlcih0aGQsIHJs Yik7IGJyZWFrOworI2VuZGlmCisgIGRlZmF1bHQ6ICAgICAgICAgICAgICAgICAgIC8qIHVuaGFu ZGxlZCBxdWVyeSB0eXBlcyBhcmUgbGVnYWwuICovIGJyZWFrOworICB9Cit9Cgo9PT0gYWRkZWQg ZmlsZSAnc3FsL3NxbF9yZXdyaXRlLmgnCi0tLSBhL3NxbC9zcWxfcmV3cml0ZS5oCTE5NzAtMDEt MDEgMDA6MDA6MDAgKzAwMDAKKysrIGIvc3FsL3NxbF9yZXdyaXRlLmgJMjAxMS0wOC0xNyAxNDow NzowNyArMDAwMApAQCAtMCwwICsxLDE4IEBACisvKiBDb3B5cmlnaHQgKGMpIDIwMTEsIE9yYWNs ZSBhbmQvb3IgaXRzIGFmZmlsaWF0ZXMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisKKyAgIFRoaXMg cHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IK KyAgIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBM aWNlbnNlCisgICBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsg dmVyc2lvbiAyIG9mCisgICB0aGUgTGljZW5zZS4KKworICAgVGhpcyBwcm9ncmFtIGlzIGRpc3Ry aWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgICBidXQgV0lUSE9V VCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICAg TUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiBTZWUg dGhlCisgICBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorCisg ICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJs aWMgTGljZW5zZQorICAgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8g dGhlIEZyZWUgU29mdHdhcmUKKyAgIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0LCBG aWZ0aCBGbG9vciwgQm9zdG9uLCBNQQorICAgMDIxMTAtMTMwMSAgVVNBICovCisKK3ZvaWQgbXlz cWxfcmV3cml0ZV9xdWVyeShUSEQgKnRoZCk7Cgo9PT0gbW9kaWZpZWQgZmlsZSAnc3FsL3NxbF95 YWNjLnl5JwotLS0gYS9zcWwvc3FsX3lhY2MueXkJMjAxMS0wOC0wNSAxMDoyNjoxMyArMDAwMAor KysgYi9zcWwvc3FsX3lhY2MueXkJMjAxMS0wOC0xNyAxNDowNzowNyArMDAwMApAQCAtMTMxNDMs MTAgKzEzMTQzLDEyIEBAIG9wdGlvbl92YWx1ZToKICAgICAgICAgICB7CiAgICAgICAgICAgICBU SEQgKnRoZD0gWVlUSEQ7CiAgICAgICAgICAgICBMRVggKmxleD0gdGhkLT5sZXg7CisgICAgICAg ICAgICBpbnQgZmxhZ3M9ICQyID8gMCA6IHNldF92YXJfY29sbGF0aW9uX2NsaWVudDo6U0VUX0NT X0RFRkFVTFQ7CiAgICAgICAgICAgICBjb25zdCBDSEFSU0VUX0lORk8gKmNzMjsKICAgICAgICAg ICAgIGNzMj0gJDIgPyAkMjogZ2xvYmFsX3N5c3RlbV92YXJpYWJsZXMuY2hhcmFjdGVyX3NldF9j bGllbnQ7CiAgICAgICAgICAgICBzZXRfdmFyX2NvbGxhdGlvbl9jbGllbnQgKnZhcjsKLSAgICAg ICAgICAgIHZhcj0gbmV3IHNldF92YXJfY29sbGF0aW9uX2NsaWVudChjczIsCisgICAgICAgICAg ICB2YXI9IG5ldyBzZXRfdmFyX2NvbGxhdGlvbl9jbGllbnQoZmxhZ3MsCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3MyLAogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZC0+dmFyaWFibGVzLmNvbGxhdGlvbl9kYXRh YmFzZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjczIp OwogICAgICAgICAgICAgaWYgKHZhciA9PSBOVUxMKQpAQCAtMTMxNzMsNiArMTMxNzUsOSBAQCBv cHRpb25fdmFsdWU6CiAgICAgICAgICAgICBMRVggKmxleD0gTGV4OwogICAgICAgICAgICAgY29u c3QgQ0hBUlNFVF9JTkZPICpjczI7CiAgICAgICAgICAgICBjb25zdCBDSEFSU0VUX0lORk8gKmNz MzsKKyAgICAgICAgICAgIGludCBmbGFncz0gc2V0X3Zhcl9jb2xsYXRpb25fY2xpZW50OjpTRVRf Q1NfTkFNRVMKKyAgICAgICAgICAgICAgICAgICAgICAgfCAoJDIgPyAwIDogc2V0X3Zhcl9jb2xs YXRpb25fY2xpZW50OjpTRVRfQ1NfREVGQVVMVCkKKyAgICAgICAgICAgICAgICAgICAgICAgfCAo JDMgPyBzZXRfdmFyX2NvbGxhdGlvbl9jbGllbnQ6OlNFVF9DU19DT0xMQVRFIDogMCk7CiAgICAg ICAgICAgICBjczI9ICQyID8gJDIgOiBnbG9iYWxfc3lzdGVtX3ZhcmlhYmxlcy5jaGFyYWN0ZXJf c2V0X2NsaWVudDsKICAgICAgICAgICAgIGNzMz0gJDMgPyAkMyA6IGNzMjsKICAgICAgICAgICAg IGlmICghbXlfY2hhcnNldF9zYW1lKGNzMiwgY3MzKSkKQEAgLTEzMTgyLDcgKzEzMTg3LDcgQEAg b3B0aW9uX3ZhbHVlOgogICAgICAgICAgICAgICBNWVNRTF9ZWUFCT1JUOwogICAgICAgICAgICAg fQogICAgICAgICAgICAgc2V0X3Zhcl9jb2xsYXRpb25fY2xpZW50ICp2YXI7Ci0gICAgICAgICAg ICB2YXI9IG5ldyBzZXRfdmFyX2NvbGxhdGlvbl9jbGllbnQoY3MzLCBjczMsIGNzMyk7CisgICAg ICAgICAgICB2YXI9IG5ldyBzZXRfdmFyX2NvbGxhdGlvbl9jbGllbnQoZmxhZ3MsIGNzMywgY3Mz LCBjczMpOwogICAgICAgICAgICAgaWYgKHZhciA9PSBOVUxMKQogICAgICAgICAgICAgICBNWVNR TF9ZWUFCT1JUOwogICAgICAgICAgICAgbGV4LT52YXJfbGlzdC5wdXNoX2JhY2sodmFyKTsKQEAg LTEzMjA2LDYgKzEzMjExLDcgQEAgb3B0aW9uX3ZhbHVlOgogICAgICAgICAgICAgICBNWVNRTF9Z WUFCT1JUOwogICAgICAgICAgICAgdXNlci0+aG9zdD1udWxsX2xleF9zdHI7CiAgICAgICAgICAg ICB1c2VyLT51c2VyLnN0cj10aGQtPnNlY3VyaXR5X2N0eC0+dXNlcjsKKyAgICAgICAgICAgIHVz ZXItPnVzZXIubGVuZ3RoPSBzdHJsZW4odGhkLT5zZWN1cml0eV9jdHgtPnVzZXIpOwogICAgICAg ICAgICAgc2V0X3Zhcl9wYXNzd29yZCAqdmFyPSBuZXcgc2V0X3Zhcl9wYXNzd29yZCh1c2VyLCAk Myk7CiAgICAgICAgICAgICBpZiAodmFyID09IE5VTEwpCiAgICAgICAgICAgICAgIE1ZU1FMX1lZ QUJPUlQ7CgpObyBidW5kbGUgKHJlYXNvbjogdXNlbGVzcyBmb3IgcHVzaCBlbWFpbHMpLg==