From: Marc Alff Date: March 18 2011 10:51pm Subject: bzr commit into mysql-trunk branch (marc.alff:3609) List-Archive: http://lists.mysql.com/commits/133362 Message-Id: <201103182251.p2IMphBr004620@acsmt358.oracle.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 I0F0IGZpbGU6Ly8vVXNlcnMvbWFsZmYvQlpSX1RSRUUvbXlzcWwtdHJ1bmstc3RhZ2UvIGJhc2Vk IG9uIHJldmlkOm1hcmMuYWxmZkBvcmFjbGUuY29tLTIwMTEwMzE4MTMyMDM3LWMyeGMxZDdyaGcw NDF4YmEKCiAzNjA5IE1hcmMgQWxmZgkyMDExLTAzLTE4IFttZXJnZV0KICAgICAgTWVyZ2UgbXlz cWwtdHJ1bmsgLS0+IG15c3FsLXRydW5rLXN0YWdlCgogICAgbW9kaWZpZWQ6CiAgICAgIGluY2x1 ZGUvZGVjaW1hbC5oCiAgICAgIG15c3FsLXRlc3Qvci9mdW5jX21hdGgucmVzdWx0CiAgICAgIG15 c3FsLXRlc3Qvci9ncmFudC5yZXN1bHQKICAgICAgbXlzcWwtdGVzdC9yL2dyYW50Mi5yZXN1bHQK ICAgICAgbXlzcWwtdGVzdC9yL3BsdWdpbl9hdXRoLnJlc3VsdAogICAgICBteXNxbC10ZXN0L3Iv cGx1Z2luX2F1dGhfcWEucmVzdWx0CiAgICAgIG15c3FsLXRlc3Qvci9wbHVnaW5fYXV0aF9xYV8x LnJlc3VsdAogICAgICBteXNxbC10ZXN0L3IvcGx1Z2luX2F1dGhfcWFfMi5yZXN1bHQKICAgICAg bXlzcWwtdGVzdC9yL3NwX25vdGVtYmVkZGVkLnJlc3VsdAogICAgICBteXNxbC10ZXN0L3Ivc3lz dGVtX215c3FsX2RiLnJlc3VsdAogICAgICBteXNxbC10ZXN0L3N1aXRlL2Z1bmNzXzEvci9pc19j b2x1bW5zX215c3FsLnJlc3VsdAogICAgICBteXNxbC10ZXN0L3N1aXRlL2Z1bmNzXzEvci9pc191 c2VyX3ByaXZpbGVnZXMucmVzdWx0CiAgICAgIG15c3FsLXRlc3Qvc3VpdGUvcnBsL3IvcnBsX2No ZWNrc3VtX2NhY2hlLnJlc3VsdAogICAgICBteXNxbC10ZXN0L3N1aXRlL3JwbC9yL3JwbF9pZ25v cmVfdGFibGUucmVzdWx0CiAgICAgIG15c3FsLXRlc3Qvc3VpdGUvcnBsL3IvcnBsX3N0bV8wMDAw MDEucmVzdWx0CiAgICAgIG15c3FsLXRlc3Qvc3VpdGUvcnBsL3QvcnBsX2NoZWNrc3VtX2NhY2hl LnRlc3QKICAgICAgbXlzcWwtdGVzdC90L2Z1bmNfbWF0aC50ZXN0CiAgICAgIG15c3FsLXRlc3Qv dC9wbHVnaW5fYXV0aC50ZXN0CiAgICAgIHNjcmlwdHMvbXlzcWxfc3lzdGVtX3RhYmxlcy5zcWwK ICAgICAgc2NyaXB0cy9teXNxbF9zeXN0ZW1fdGFibGVzX2ZpeC5zcWwKICAgICAgc3FsL215X2Rl Y2ltYWwuaAogICAgICBzcWwvbXlzcWxkLmNjCiAgICAgIHNxbC9teXNxbGQuaAogICAgICBzcWwv c3FsX2FjbC5jYwogICAgICBzdHJpbmdzL2RlY2ltYWwuYwogICAgICB1bml0dGVzdC9ndW5pdC9p dGVtLXQuY2MKPT09IG1vZGlmaWVkIGZpbGUgJ2luY2x1ZGUvZGVjaW1hbC5oJwotLS0gYS9pbmNs dWRlL2RlY2ltYWwuaAkyMDA3LTA1LTI0IDEwOjI0OjM2ICswMDAwCisrKyBiL2luY2x1ZGUvZGVj aW1hbC5oCTIwMTEtMDMtMDMgMTQ6MjU6NDEgKzAwMDAKQEAgLTI5LDE0ICsyOSwxNCBAQCB0eXBl ZGVmIHN0cnVjdCBzdF9kZWNpbWFsX3QgewogCiBpbnQgaW50ZXJuYWxfc3RyMmRlYyhjb25zdCBj aGFyICpmcm9tLCBkZWNpbWFsX3QgKnRvLCBjaGFyICoqZW5kLAogICAgICAgICAgICAgICAgICAg ICAgbXlfYm9vbCBmaXhlZCk7Ci1pbnQgZGVjaW1hbDJzdHJpbmcoZGVjaW1hbF90ICpmcm9tLCBj aGFyICp0bywgaW50ICp0b19sZW4sCitpbnQgZGVjaW1hbDJzdHJpbmcoY29uc3QgZGVjaW1hbF90 ICpmcm9tLCBjaGFyICp0bywgaW50ICp0b19sZW4sCiAgICAgICAgICAgICAgICAgICAgaW50IGZp eGVkX3ByZWNpc2lvbiwgaW50IGZpeGVkX2RlY2ltYWxzLAogICAgICAgICAgICAgICAgICAgIGNo YXIgZmlsbGVyKTsKIGludCBkZWNpbWFsMnVsb25nbG9uZyhkZWNpbWFsX3QgKmZyb20sIHVsb25n bG9uZyAqdG8pOwogaW50IHVsb25nbG9uZzJkZWNpbWFsKHVsb25nbG9uZyBmcm9tLCBkZWNpbWFs X3QgKnRvKTsKIGludCBkZWNpbWFsMmxvbmdsb25nKGRlY2ltYWxfdCAqZnJvbSwgbG9uZ2xvbmcg KnRvKTsKIGludCBsb25nbG9uZzJkZWNpbWFsKGxvbmdsb25nIGZyb20sIGRlY2ltYWxfdCAqdG8p OwotaW50IGRlY2ltYWwyZG91YmxlKGRlY2ltYWxfdCAqZnJvbSwgZG91YmxlICp0byk7CitpbnQg ZGVjaW1hbDJkb3VibGUoY29uc3QgZGVjaW1hbF90ICpmcm9tLCBkb3VibGUgKnRvKTsKIGludCBk b3VibGUyZGVjaW1hbChkb3VibGUgZnJvbSwgZGVjaW1hbF90ICp0byk7CiBpbnQgZGVjaW1hbF9h Y3R1YWxfZnJhY3Rpb24oZGVjaW1hbF90ICpmcm9tKTsKIGludCBkZWNpbWFsMmJpbihkZWNpbWFs X3QgKmZyb20sIHVjaGFyICp0bywgaW50IHByZWNpc2lvbiwgaW50IHNjYWxlKTsKQEAgLTQ3LDE3 ICs0NywxNyBAQCBpbnQgZGVjaW1hbF9iaW5fc2l6ZShpbnQgcHJlY2lzaW9uLCBpbnQgCiBpbnQg ZGVjaW1hbF9yZXN1bHRfc2l6ZShkZWNpbWFsX3QgKmZyb20xLCBkZWNpbWFsX3QgKmZyb20yLCBj aGFyIG9wLAogICAgICAgICAgICAgICAgICAgICAgICAgaW50IHBhcmFtKTsKIAotaW50IGRlY2lt YWxfaW50ZyhkZWNpbWFsX3QgKmZyb20pOwotaW50IGRlY2ltYWxfYWRkKGRlY2ltYWxfdCAqZnJv bTEsIGRlY2ltYWxfdCAqZnJvbTIsIGRlY2ltYWxfdCAqdG8pOwotaW50IGRlY2ltYWxfc3ViKGRl Y2ltYWxfdCAqZnJvbTEsIGRlY2ltYWxfdCAqZnJvbTIsIGRlY2ltYWxfdCAqdG8pOwotaW50IGRl Y2ltYWxfY21wKGRlY2ltYWxfdCAqZnJvbTEsIGRlY2ltYWxfdCAqZnJvbTIpOwotaW50IGRlY2lt YWxfbXVsKGRlY2ltYWxfdCAqZnJvbTEsIGRlY2ltYWxfdCAqZnJvbTIsIGRlY2ltYWxfdCAqdG8p OwotaW50IGRlY2ltYWxfZGl2KGRlY2ltYWxfdCAqZnJvbTEsIGRlY2ltYWxfdCAqZnJvbTIsIGRl Y2ltYWxfdCAqdG8sCitpbnQgZGVjaW1hbF9pbnRnKGNvbnN0IGRlY2ltYWxfdCAqZnJvbSk7Citp bnQgZGVjaW1hbF9hZGQoY29uc3QgZGVjaW1hbF90ICpmcm9tMSwgY29uc3QgZGVjaW1hbF90ICpm cm9tMiwgZGVjaW1hbF90ICp0byk7CitpbnQgZGVjaW1hbF9zdWIoY29uc3QgZGVjaW1hbF90ICpm cm9tMSwgY29uc3QgZGVjaW1hbF90ICpmcm9tMiwgZGVjaW1hbF90ICp0byk7CitpbnQgZGVjaW1h bF9jbXAoY29uc3QgZGVjaW1hbF90ICpmcm9tMSwgY29uc3QgZGVjaW1hbF90ICpmcm9tMik7Citp bnQgZGVjaW1hbF9tdWwoY29uc3QgZGVjaW1hbF90ICpmcm9tMSwgY29uc3QgZGVjaW1hbF90ICpm cm9tMiwgZGVjaW1hbF90ICp0byk7CitpbnQgZGVjaW1hbF9kaXYoY29uc3QgZGVjaW1hbF90ICpm cm9tMSwgY29uc3QgZGVjaW1hbF90ICpmcm9tMiwgZGVjaW1hbF90ICp0bywKICAgICAgICAgICAg ICAgICBpbnQgc2NhbGVfaW5jcik7Ci1pbnQgZGVjaW1hbF9tb2QoZGVjaW1hbF90ICpmcm9tMSwg ZGVjaW1hbF90ICpmcm9tMiwgZGVjaW1hbF90ICp0byk7Ci1pbnQgZGVjaW1hbF9yb3VuZChkZWNp bWFsX3QgKmZyb20sIGRlY2ltYWxfdCAqdG8sIGludCBuZXdfc2NhbGUsCitpbnQgZGVjaW1hbF9t b2QoY29uc3QgZGVjaW1hbF90ICpmcm9tMSwgY29uc3QgZGVjaW1hbF90ICpmcm9tMiwgZGVjaW1h bF90ICp0byk7CitpbnQgZGVjaW1hbF9yb3VuZChjb25zdCBkZWNpbWFsX3QgKmZyb20sIGRlY2lt YWxfdCAqdG8sIGludCBuZXdfc2NhbGUsCiAgICAgICAgICAgICAgICAgICBkZWNpbWFsX3JvdW5k X21vZGUgbW9kZSk7Ci1pbnQgZGVjaW1hbF9pc196ZXJvKGRlY2ltYWxfdCAqZnJvbSk7CitpbnQg ZGVjaW1hbF9pc196ZXJvKGNvbnN0IGRlY2ltYWxfdCAqZnJvbSk7CiB2b2lkIG1heF9kZWNpbWFs KGludCBwcmVjaXNpb24sIGludCBmcmFjLCBkZWNpbWFsX3QgKnRvKTsKIAogI2RlZmluZSBzdHJp bmcyZGVjaW1hbChBLEIsQykgaW50ZXJuYWxfc3RyMmRlYygoQSksIChCKSwgKEMpLCAwKQoKPT09 IG1vZGlmaWVkIGZpbGUgJ215c3FsLXRlc3Qvci9mdW5jX21hdGgucmVzdWx0JwotLS0gYS9teXNx bC10ZXN0L3IvZnVuY19tYXRoLnJlc3VsdAkyMDExLTAxLTE0IDE1OjM2OjE5ICswMDAwCisrKyBi L215c3FsLXRlc3Qvci9mdW5jX21hdGgucmVzdWx0CTIwMTEtMDMtMTggMTI6MjU6NTYgKzAwMDAK QEAgLTY1NiwzICs2NTYsMTEgQEAgV2FybmluZwkxMzY2CUluY29ycmVjdCBkZWNpbWFsIHZhbHVl OiAnJwogU0VMRUNUIDEgZGl2IG51bGw7CiAxIGRpdiBudWxsCiBOVUxMCisjCisjIEJ1ZyAjMTE3 OTIyMDAgLSBESVZJRElORyBMQVJHRSBOVU1CRVJTIENBVVNFUyBTVEFDSyBDT1JSVVBUSU9OUwor Iworc2VsZWN0ICgxLjE3NTQ5NDM1MUUtMzcgZGl2IDEuNzk3NjkzMTM0ODYyMzE1N0UrMzA4KTsK KygxLjE3NTQ5NDM1MUUtMzcgZGl2IDEuNzk3NjkzMTM0ODYyMzE1N0UrMzA4KQorMAorV2Fybmlu Z3M6CitXYXJuaW5nCTEyOTIJVHJ1bmNhdGVkIGluY29ycmVjdCBERUNJTUFMIHZhbHVlOiAnJwoK PT09IG1vZGlmaWVkIGZpbGUgJ215c3FsLXRlc3Qvci9ncmFudC5yZXN1bHQnCi0tLSBhL215c3Fs LXRlc3Qvci9ncmFudC5yZXN1bHQJMjAxMS0wMy0xNyAxMTozMzoxNyArMDAwMAorKysgYi9teXNx bC10ZXN0L3IvZ3JhbnQucmVzdWx0CTIwMTEtMDMtMTggMTQ6NTg6MjcgKzAwMDAKQEAgLTU0LDcg KzU0LDcgQEAgbWF4X3VwZGF0ZXMJMAogbWF4X2Nvbm5lY3Rpb25zCTAKIG1heF91c2VyX2Nvbm5l Y3Rpb25zCTAKIHBsdWdpbgkKLWF1dGhlbnRpY2F0aW9uX3N0cmluZwkKK2F1dGhlbnRpY2F0aW9u X3N0cmluZwlOVUxMCiBzaG93IGdyYW50cyBmb3IgbXlzcWx0ZXN0XzFAbG9jYWxob3N0OwogR3Jh bnRzIGZvciBteXNxbHRlc3RfMUBsb2NhbGhvc3QKIEdSQU5UIFVTQUdFIE9OICouKiBUTyAnbXlz cWx0ZXN0XzEnQCdsb2NhbGhvc3QnIFJFUVVJUkUgQ0lQSEVSICdFREgtUlNBLURFUy1DQkMzLVNI QScKQEAgLTEyNSw3ICsxMjUsNyBAQCBtYXhfdXBkYXRlcwkwCiBtYXhfY29ubmVjdGlvbnMJMAog bWF4X3VzZXJfY29ubmVjdGlvbnMJMAogcGx1Z2luCQotYXV0aGVudGljYXRpb25fc3RyaW5nCQor YXV0aGVudGljYXRpb25fc3RyaW5nCU5VTEwKIHNob3cgZ3JhbnRzIGZvciBteXNxbHRlc3RfMUBs b2NhbGhvc3Q7CiBHcmFudHMgZm9yIG15c3FsdGVzdF8xQGxvY2FsaG9zdAogR1JBTlQgVVNBR0Ug T04gKi4qIFRPICdteXNxbHRlc3RfMSdAJ2xvY2FsaG9zdCcgV0lUSCBNQVhfUVVFUklFU19QRVJf SE9VUiAxMApAQCAtMTcyLDcgKzE3Miw3IEBAIG1heF91cGRhdGVzCTIwCiBtYXhfY29ubmVjdGlv bnMJMzAKIG1heF91c2VyX2Nvbm5lY3Rpb25zCTAKIHBsdWdpbgkKLWF1dGhlbnRpY2F0aW9uX3N0 cmluZwkKK2F1dGhlbnRpY2F0aW9uX3N0cmluZwlOVUxMCiBzaG93IGdyYW50cyBmb3IgbXlzcWx0 ZXN0XzFAbG9jYWxob3N0OwogR3JhbnRzIGZvciBteXNxbHRlc3RfMUBsb2NhbGhvc3QKIEdSQU5U IFVTQUdFIE9OICouKiBUTyAnbXlzcWx0ZXN0XzEnQCdsb2NhbGhvc3QnIFdJVEggTUFYX1FVRVJJ RVNfUEVSX0hPVVIgMTAgTUFYX1VQREFURVNfUEVSX0hPVVIgMjAgTUFYX0NPTk5FQ1RJT05TX1BF Ul9IT1VSIDMwCkBAIC0yODQsNyArMjg0LDYgQEAgV2FybmluZ3M6CiBXYXJuaW5nCTEzNjQJRmll bGQgJ3NzbF9jaXBoZXInIGRvZXNuJ3QgaGF2ZSBhIGRlZmF1bHQgdmFsdWUKIFdhcm5pbmcJMTM2 NAlGaWVsZCAneDUwOV9pc3N1ZXInIGRvZXNuJ3QgaGF2ZSBhIGRlZmF1bHQgdmFsdWUKIFdhcm5p bmcJMTM2NAlGaWVsZCAneDUwOV9zdWJqZWN0JyBkb2Vzbid0IGhhdmUgYSBkZWZhdWx0IHZhbHVl Ci1XYXJuaW5nCTEzNjQJRmllbGQgJ2F1dGhlbnRpY2F0aW9uX3N0cmluZycgZG9lc24ndCBoYXZl IGEgZGVmYXVsdCB2YWx1ZQogaW5zZXJ0IGludG8gbXlzcWwuZGIgKGhvc3QsIGRiLCB1c2VyLCBz ZWxlY3RfcHJpdikgdmFsdWVzCiAoJ2xvY2FsaG9zdCcsICdhJScsICd0ZXN0MTEnLCAnWScpLCAo J2xvY2FsaG9zdCcsICdhYiUnLCAndGVzdDExJywgJ1knKTsKIGFsdGVyIHRhYmxlIG15c3FsLmRi IG9yZGVyIGJ5IGRiIGFzYzsKCj09PSBtb2RpZmllZCBmaWxlICdteXNxbC10ZXN0L3IvZ3JhbnQy LnJlc3VsdCcKLS0tIGEvbXlzcWwtdGVzdC9yL2dyYW50Mi5yZXN1bHQJMjAxMC0wOC0wOSAwODoz Mjo1MCArMDAwMAorKysgYi9teXNxbC10ZXN0L3IvZ3JhbnQyLnJlc3VsdAkyMDExLTAzLTE4IDE0 OjE2OjE3ICswMDAwCkBAIC0yODcsNyArMjg3LDYgQEAgV2FybmluZ3M6CiBXYXJuaW5nCTEzNjQJ RmllbGQgJ3NzbF9jaXBoZXInIGRvZXNuJ3QgaGF2ZSBhIGRlZmF1bHQgdmFsdWUKIFdhcm5pbmcJ MTM2NAlGaWVsZCAneDUwOV9pc3N1ZXInIGRvZXNuJ3QgaGF2ZSBhIGRlZmF1bHQgdmFsdWUKIFdh cm5pbmcJMTM2NAlGaWVsZCAneDUwOV9zdWJqZWN0JyBkb2Vzbid0IGhhdmUgYSBkZWZhdWx0IHZh bHVlCi1XYXJuaW5nCTEzNjQJRmllbGQgJ2F1dGhlbnRpY2F0aW9uX3N0cmluZycgZG9lc24ndCBo YXZlIGEgZGVmYXVsdCB2YWx1ZQogY3JlYXRlIHVzZXIgbXlzcWx0ZXN0X0FAJyUnOwogcmVuYW1l IHVzZXIgbXlzcWx0ZXN0X0JAJyUnIHRvIG15c3FsdGVzdF9DQCclJzsKIGRyb3AgdXNlciBteXNx bHRlc3RfQ0AnJSc7CkBAIC0zNTUsNyArMzU0LDYgQEAgV2FybmluZ3M6CiBXYXJuaW5nCTEzNjQJ RmllbGQgJ3NzbF9jaXBoZXInIGRvZXNuJ3QgaGF2ZSBhIGRlZmF1bHQgdmFsdWUKIFdhcm5pbmcJ MTM2NAlGaWVsZCAneDUwOV9pc3N1ZXInIGRvZXNuJ3QgaGF2ZSBhIGRlZmF1bHQgdmFsdWUKIFdh cm5pbmcJMTM2NAlGaWVsZCAneDUwOV9zdWJqZWN0JyBkb2Vzbid0IGhhdmUgYSBkZWZhdWx0IHZh bHVlCi1XYXJuaW5nCTEzNjQJRmllbGQgJ2F1dGhlbnRpY2F0aW9uX3N0cmluZycgZG9lc24ndCBo YXZlIGEgZGVmYXVsdCB2YWx1ZQogSU5TRVJUIElOVE8gbXlzcWwuZGIgKGhvc3QsIGRiLCB1c2Vy LCBzZWxlY3RfcHJpdikgVkFMVUVTCiAoJyUnLCdURVNUREInLCdteXNxbHRlc3RfMScsJ1knKTsK IEZMVVNIIFBSSVZJTEVHRVM7Cgo9PT0gbW9kaWZpZWQgZmlsZSAnbXlzcWwtdGVzdC9yL3BsdWdp bl9hdXRoLnJlc3VsdCcKLS0tIGEvbXlzcWwtdGVzdC9yL3BsdWdpbl9hdXRoLnJlc3VsdAkyMDEx LTAyLTA5IDA5OjUwOjU1ICswMDAwCisrKyBiL215c3FsLXRlc3Qvci9wbHVnaW5fYXV0aC5yZXN1 bHQJMjAxMS0wMy0xOCAxNDo1ODoyNyArMDAwMApAQCAtMzQ1LDQgKzM0NSw2MiBAQCBzZWxlY3Qg VVNFUigpLENVUlJFTlRfVVNFUigpOwogVVNFUigpCUNVUlJFTlRfVVNFUigpCiB1cGxhaW5AbG9j YWxob3N0CXVwbGFpbkBsb2NhbGhvc3QKIERST1AgVVNFUiB1cGxhaW5AbG9jYWxob3N0OworIwor IyBCdWcgIzU5MDM4IDogbXlzcWwudXNlci5hdXRoZW50aWNhdGlvbl9zdHJpbmcgY29sdW1uIAor IyAgIGNhdXNlcyBjb25maWd1cmF0aW9uIHdpemFyZCB0byBmYWlsCitJTlNFUlQgSU5UTyBteXNx bC51c2VyKAorSG9zdCwgCitVc2VyLCAKK1Bhc3N3b3JkLCAgCitTZWxlY3RfcHJpdiwgCitJbnNl cnRfcHJpdiwKK1VwZGF0ZV9wcml2LCAKK0RlbGV0ZV9wcml2LCAKK0NyZWF0ZV9wcml2LCAKK0Ry b3BfcHJpdiwgIAorUmVsb2FkX3ByaXYsIAorU2h1dGRvd25fcHJpdiwKK1Byb2Nlc3NfcHJpdiwg CitGaWxlX3ByaXYsIAorR3JhbnRfcHJpdiwgCitSZWZlcmVuY2VzX3ByaXYsICAKK0luZGV4X3By aXYsIAorQWx0ZXJfcHJpdiwKK1Nob3dfZGJfcHJpdiwgCitTdXBlcl9wcml2LCAKK0NyZWF0ZV90 bXBfdGFibGVfcHJpdiwgCitMb2NrX3RhYmxlc19wcml2LCAgCitFeGVjdXRlX3ByaXYsCitSZXBs X3NsYXZlX3ByaXYsIAorUmVwbF9jbGllbnRfcHJpdiwgCisvKiE1MDAwMSAKK0NyZWF0ZV92aWV3 X3ByaXYsIAorU2hvd192aWV3X3ByaXYsIAorQ3JlYXRlX3JvdXRpbmVfcHJpdiwgCitBbHRlcl9y b3V0aW5lX3ByaXYsIAorQ3JlYXRlX3VzZXJfcHJpdiwgCisqLyAKK3NzbF90eXBlLCAKK3NzbF9j aXBoZXIsCit4NTA5X2lzc3VlciwgCit4NTA5X3N1YmplY3QsIAorbWF4X3F1ZXN0aW9ucywgCitt YXhfdXBkYXRlcywgCittYXhfY29ubmVjdGlvbnMpCitWQUxVRVMgKAorJ2xvY2FsaG9zdCcsIAor J2luc2VydHRlc3QnLCAnJywgCisnWScsICdZJywgJ1knLCAnWScsICdZJywgJ1knLCAnWScsICdZ JywgJ1knLCAnWScsICdZJywgJ1knLAorJ1knLCAnWScsICAnWScsICdZJywgJ1knLCAnWScsICdZ JywgJ1knLCAnWScsIAorLyohNTAwMDEgJ1knLCAnWScsICdZJywgJ1knLCAnWScsICovJycsICcn LCAnJywgJycsICcwJywgJzAnLCAnMCcpOworRkxVU0ggUFJJVklMRUdFUzsKK0RST1AgVVNFUiBp bnNlcnR0ZXN0QGxvY2FsaG9zdDsKK1NFTEVDVCBJU19OVUxMQUJMRSwgQ09MVU1OX05BTUUgRlJP TSBJTkZPUk1BVElPTl9TQ0hFTUEuQ09MVU1OUyBXSEVSRSAKK0NPTFVNTl9OQU1FIElOICgnYXV0 aGVudGljYXRpb25fc3RyaW5nJywgJ3BsdWdpbicpIEFORCAKK1RBQkxFX05BTUU9J3VzZXInIEFO RAorVEFCTEVfU0NIRU1BPSdteXNxbCcKK09SREVSIEJZIENPTFVNTl9OQU1FOworSVNfTlVMTEFC TEUJQ09MVU1OX05BTUUKK1lFUwlhdXRoZW50aWNhdGlvbl9zdHJpbmcKK1lFUwlwbHVnaW4KIEVu ZCBvZiA1LjUgdGVzdHMKCj09PSBtb2RpZmllZCBmaWxlICdteXNxbC10ZXN0L3IvcGx1Z2luX2F1 dGhfcWEucmVzdWx0JwotLS0gYS9teXNxbC10ZXN0L3IvcGx1Z2luX2F1dGhfcWEucmVzdWx0CTIw MTAtMTAtMjAgMTQ6NTY6MDkgKzAwMDAKKysrIGIvbXlzcWwtdGVzdC9yL3BsdWdpbl9hdXRoX3Fh LnJlc3VsdAkyMDExLTAzLTE4IDE0OjE2OjE3ICswMDAwCkBAIC0xMDUsNyArMTA1LDcgQEAgQ1JF QVRFIFVTRVIgcGx1Z19kZXN0IElERU5USUZJRUQgQlkgJ3BsdQogU0VMRUNUIHVzZXIscGx1Z2lu LGF1dGhlbnRpY2F0aW9uX3N0cmluZyBGUk9NIG15c3FsLnVzZXIgV0hFUkUgdXNlciAhPSAncm9v dCc7CiB1c2VyCXBsdWdpbglhdXRoZW50aWNhdGlvbl9zdHJpbmcKIHBsdWcJdGVzdF9wbHVnaW5f c2VydmVyCXBsdWdfZGVzdAotcGx1Z19kZXN0CQkKK3BsdWdfZGVzdAkJTlVMTAogRFJPUCBVU0VS IHBsdWcsIHBsdWdfZGVzdDsKIENSRUFURSBVU0VSIHBsdWcgSURFTlRJRklFRCBXSVRIICd0ZXN0 X3BsdWdpbl9zZXJ2ZXInIEFTICdwbHVnX2Rlc3QnOwogU0VMRUNUIHVzZXIscGx1Z2luLGF1dGhl bnRpY2F0aW9uX3N0cmluZyBGUk9NIG15c3FsLnVzZXIgV0hFUkUgdXNlciAhPSAncm9vdCc7CkBA IC0xMTUsNyArMTE1LDcgQEAgRFJPUCBVU0VSIHBsdWc7CiBDUkVBVEUgVVNFUiBwbHVnX2Rlc3Qg SURFTlRJRklFRCBCWSAncGx1Z19kZXN0X3Bhc3N3ZCc7CiBTRUxFQ1QgdXNlcixwbHVnaW4sYXV0 aGVudGljYXRpb25fc3RyaW5nIEZST00gbXlzcWwudXNlciBXSEVSRSB1c2VyICE9ICdyb290JzsK IHVzZXIJcGx1Z2luCWF1dGhlbnRpY2F0aW9uX3N0cmluZwotcGx1Z19kZXN0CQkKK3BsdWdfZGVz dAkJTlVMTAogRFJPUCBVU0VSIHBsdWdfZGVzdDsKIEdSQU5UIEFMTCBQUklWSUxFR0VTIE9OIHRl c3RfdXNlcl9kYi4qIFRPIHBsdWcgSURFTlRJRklFRCBXSVRIICd0ZXN0X3BsdWdpbl9zZXJ2ZXIn IEFTICdwbHVnX2Rlc3QnOwogU0VMRUNUIHVzZXIscGx1Z2luLGF1dGhlbnRpY2F0aW9uX3N0cmlu ZyBGUk9NIG15c3FsLnVzZXIgV0hFUkUgdXNlciAhPSAncm9vdCc7CkBAIC0xMjUsNyArMTI1LDcg QEAgQ1JFQVRFIFVTRVIgcGx1Z19kZXN0IElERU5USUZJRUQgQlkgJ3BsdQogU0VMRUNUIHVzZXIs cGx1Z2luLGF1dGhlbnRpY2F0aW9uX3N0cmluZyBGUk9NIG15c3FsLnVzZXIgV0hFUkUgdXNlciAh PSAncm9vdCc7CiB1c2VyCXBsdWdpbglhdXRoZW50aWNhdGlvbl9zdHJpbmcKIHBsdWcJdGVzdF9w bHVnaW5fc2VydmVyCXBsdWdfZGVzdAotcGx1Z19kZXN0CQkKK3BsdWdfZGVzdAkJTlVMTAogRFJP UCBVU0VSIHBsdWcsIHBsdWdfZGVzdDsKIEdSQU5UIEFMTCBQUklWSUxFR0VTIE9OIHRlc3RfdXNl cl9kYi4qIFRPIHBsdWcgSURFTlRJRklFRCBXSVRIIHRlc3RfcGx1Z2luX3NlcnZlciBBUyAncGx1 Z19kZXN0JzsKIFNFTEVDVCB1c2VyLHBsdWdpbixhdXRoZW50aWNhdGlvbl9zdHJpbmcgRlJPTSBt eXNxbC51c2VyIFdIRVJFIHVzZXIgIT0gJ3Jvb3QnOwpAQCAtMTM1LDcgKzEzNSw3IEBAIERST1Ag VVNFUiBwbHVnOwogQ1JFQVRFIFVTRVIgcGx1Z19kZXN0IElERU5USUZJRUQgQlkgJ3BsdWdfZGVz dF9wYXNzd2QnOwogU0VMRUNUIHVzZXIscGx1Z2luLGF1dGhlbnRpY2F0aW9uX3N0cmluZyBGUk9N IG15c3FsLnVzZXIgV0hFUkUgdXNlciAhPSAncm9vdCc7CiB1c2VyCXBsdWdpbglhdXRoZW50aWNh dGlvbl9zdHJpbmcKLXBsdWdfZGVzdAkJCitwbHVnX2Rlc3QJCU5VTEwKIERST1AgVVNFUiBwbHVn X2Rlc3Q7CiBDUkVBVEUgVVNFUiBwbHVnIElERU5USUZJRUQgV0lUSCAndGVzdF9wbHVnaW5fc2Vy dmVyJyBBUyAncGx1Z19kZXN0JzsKIFNFTEVDVCB1c2VyLHBsdWdpbixhdXRoZW50aWNhdGlvbl9z dHJpbmcgRlJPTSBteXNxbC51c2VyIFdIRVJFIHVzZXIgIT0gJ3Jvb3QnOwpAQCAtMTQ1LDcgKzE0 NSw3IEBAIEdSQU5UIEFMTCBQUklWSUxFR0VTIE9OIHRlc3RfdXNlcl9kYi4qIFQKIFNFTEVDVCB1 c2VyLHBsdWdpbixhdXRoZW50aWNhdGlvbl9zdHJpbmcgRlJPTSBteXNxbC51c2VyIFdIRVJFIHVz ZXIgIT0gJ3Jvb3QnOwogdXNlcglwbHVnaW4JYXV0aGVudGljYXRpb25fc3RyaW5nCiBwbHVnCXRl c3RfcGx1Z2luX3NlcnZlcglwbHVnX2Rlc3QKLXBsdWdfZGVzdAkJCitwbHVnX2Rlc3QJCU5VTEwK IERST1AgVVNFUiBwbHVnLCBwbHVnX2Rlc3Q7CiBDUkVBVEUgVVNFUiBwbHVnIElERU5USUZJRUQg V0lUSCAndGVzdF9wbHVnaW5fc2VydmVyJyBBUyAncGx1Z19kZXN0JzsKIFNFTEVDVCB1c2VyLHBs dWdpbixhdXRoZW50aWNhdGlvbl9zdHJpbmcgRlJPTSBteXNxbC51c2VyIFdIRVJFIHVzZXIgIT0g J3Jvb3QnOwpAQCAtMTU1LDcgKzE1NSw3IEBAIERST1AgVVNFUiBwbHVnOwogR1JBTlQgQUxMIFBS SVZJTEVHRVMgT04gdGVzdF91c2VyX2RiLiogVE8gcGx1Z19kZXN0IElERU5USUZJRUQgQlkgJ3Bs dWdfZGVzdF9wYXNzd2QnOwogU0VMRUNUIHVzZXIscGx1Z2luLGF1dGhlbnRpY2F0aW9uX3N0cmlu ZyBGUk9NIG15c3FsLnVzZXIgV0hFUkUgdXNlciAhPSAncm9vdCc7CiB1c2VyCXBsdWdpbglhdXRo ZW50aWNhdGlvbl9zdHJpbmcKLXBsdWdfZGVzdAkJCitwbHVnX2Rlc3QJCU5VTEwKIERST1AgVVNF UiBwbHVnX2Rlc3Q7CiBDUkVBVEUgVVNFUiBwbHVnIElERU5USUZJRUQgV0lUSCAndGVzdF9wbHVn aW5fc2VydmVyJyBBUyAncGx1Z19kZXN0JzsKIEdSQU5UIEFMTCBQUklWSUxFR0VTIE9OIHRlc3Rf dXNlcl9kYi4qIFRPIHBsdWcgSURFTlRJRklFRCBXSVRIICd0ZXN0X3BsdWdpbl9zZXJ2ZXInIEFT ICdwbHVnX2Rlc3QnOwpAQCAtMjEwLDcgKzIxMCw3IEBAIERST1AgVVNFUiBwbMO8ZzsKIENSRUFU RSBVU0VSIHBsw7xnX2Rlc3QgSURFTlRJRklFRCBCWSAncGx1Z19kZXN0X3Bhc3N3ZCc7CiBTRUxF Q1QgdXNlcixwbHVnaW4sYXV0aGVudGljYXRpb25fc3RyaW5nIEZST00gbXlzcWwudXNlciBXSEVS RSB1c2VyICE9ICdyb290JzsKIHVzZXIJcGx1Z2luCWF1dGhlbnRpY2F0aW9uX3N0cmluZwotcGzD vGdfZGVzdAkJCitwbMO8Z19kZXN0CQlOVUxMCiBEUk9QIFVTRVIgcGzDvGdfZGVzdDsKIFNFVCBO QU1FUyBhc2NpaTsKIENSRUFURSBVU0VSICdwbMO8ZycgSURFTlRJRklFRCBXSVRIICd0ZXN0X3Bs dWdpbl9zZXJ2ZXInIEFTICdwbMO8Z19kZXN0JzsKQEAgLTIyMSw3ICsyMjEsNyBAQCBEUk9QIFVT RVIgJ3Bsw7xnJzsKIENSRUFURSBVU0VSICdwbMO8Z19kZXN0JyBJREVOVElGSUVEIEJZICdwbHVn X2Rlc3RfcGFzc3dkJzsKIFNFTEVDVCB1c2VyLHBsdWdpbixhdXRoZW50aWNhdGlvbl9zdHJpbmcg RlJPTSBteXNxbC51c2VyIFdIRVJFIHVzZXIgIT0gJ3Jvb3QnOwogdXNlcglwbHVnaW4JYXV0aGVu dGljYXRpb25fc3RyaW5nCi1wbD8/Z19kZXN0CQkKK3BsPz9nX2Rlc3QJCU5VTEwKIERST1AgVVNF UiAncGzDvGdfZGVzdCc7CiBTRVQgTkFNRVMgbGF0aW4xOwogPT09PT09PT09PSB0ZXN0IDEuMS4x LjUgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CkBAIC0yMzUsNyArMjM1LDcg QEAgRFJPUCBVU0VSICdwbHVnJzsKIENSRUFURSBVU0VSICdwbMO8Z19kZXN0JyBJREVOVElGSUVE IEJZICdwbHVnX2Rlc3RfcGFzc3dkJzsKIFNFTEVDVCB1c2VyLHBsdWdpbixhdXRoZW50aWNhdGlv bl9zdHJpbmcgRlJPTSBteXNxbC51c2VyIFdIRVJFIHVzZXIgIT0gJ3Jvb3QnOwogdXNlcglwbHVn aW4JYXV0aGVudGljYXRpb25fc3RyaW5nCi1wbMO8Z19kZXN0CQkKK3Bsw7xnX2Rlc3QJCU5VTEwK IERST1AgVVNFUiAncGzDvGdfZGVzdCc7CiBTRVQgTkFNRVMgdXRmODsKIENSRUFURSBVU0VSIHBs w7xnIElERU5USUZJRUQgV0lUSCAndGVzdF9wbMO8Z2luX3NlcnZlcicgQVMgJ3Bsw7xnX2Rlc3Qn OwpAQCAtMjQ4LDcgKzI0OCw3IEBAIERST1AgVVNFUiAncGzDvGcnOwogQ1JFQVRFIFVTRVIgJ3Bs w7xnX2Rlc3QnIElERU5USUZJRUQgQlkgJ3BsdWdfZGVzdF9wYXNzd2QnOwogU0VMRUNUIHVzZXIs cGx1Z2luLGF1dGhlbnRpY2F0aW9uX3N0cmluZyBGUk9NIG15c3FsLnVzZXIgV0hFUkUgdXNlciAh PSAncm9vdCc7CiB1c2VyCXBsdWdpbglhdXRoZW50aWNhdGlvbl9zdHJpbmcKLXBsw7xnX2Rlc3QJ CQorcGzDvGdfZGVzdAkJTlVMTAogRFJPUCBVU0VSICdwbMO8Z19kZXN0JzsKIENSRUFURSBVU0VS IHBsw7xnIElERU5USUZJRUQgV0lUSCB0ZXN0X3BsdWdpbl9zZXJ2ZXIgQVMgJ3Bsw7xnX2Rlc3Qn OwogU0VMRUNUIHVzZXIscGx1Z2luLGF1dGhlbnRpY2F0aW9uX3N0cmluZyBGUk9NIG15c3FsLnVz ZXIgV0hFUkUgdXNlciAhPSAncm9vdCc7CkBAIC0yNTgsNyArMjU4LDcgQEAgRFJPUCBVU0VSIHBs w7xnOwogQ1JFQVRFIFVTRVIgcGzDvGdfZGVzdCBJREVOVElGSUVEIEJZICdwbHVnX2Rlc3RfcGFz c3dkJzsKIFNFTEVDVCB1c2VyLHBsdWdpbixhdXRoZW50aWNhdGlvbl9zdHJpbmcgRlJPTSBteXNx bC51c2VyIFdIRVJFIHVzZXIgIT0gJ3Jvb3QnOwogdXNlcglwbHVnaW4JYXV0aGVudGljYXRpb25f c3RyaW5nCi1wbMO8Z19kZXN0CQkKK3Bsw7xnX2Rlc3QJCU5VTEwKIERST1AgVVNFUiBwbMO8Z19k ZXN0OwogPT09PT09PT09PSB0ZXN0IDEuMS4xLjIvMS4xLjIuMj09PT09PT09PT09PT09PT09PT09 PT09PT09PT09CiBTRVQgQGF1dGhfbmFtZT0gJ3Rlc3RfcGx1Z2luX3NlcnZlcic7CkBAIC0yNzgs NyArMjc4LDcgQEAgRFJPUCBVU0VSIHBsdWc7CiBDUkVBVEUgVVNFUiAnaGgnJ3NfcGx1Z19kZXN0 JyBJREVOVElGSUVEIEJZICdwbHVnX2Rlc3RfcGFzc3dkJzsKIFNFTEVDVCB1c2VyLHBsdWdpbixh dXRoZW50aWNhdGlvbl9zdHJpbmcgRlJPTSBteXNxbC51c2VyIFdIRVJFIHVzZXIgIT0gJ3Jvb3Qn OwogdXNlcglwbHVnaW4JYXV0aGVudGljYXRpb25fc3RyaW5nCi1oaCdzX3BsdWdfZGVzdAkJCito aCdzX3BsdWdfZGVzdAkJTlVMTAogRFJPUCBVU0VSICdoaCcnc19wbHVnX2Rlc3QnOwogPT09PT09 PT09PSB0ZXN0IDEuMS4xLjQgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiBD UkVBVEUgVVNFUiBwbHVnIElERU5USUZJRUQgV0lUSCBoaCcnc190ZXN0X3BsdWdpbl9zZXJ2ZXIg QVMgJ3BsdWdfZGVzdCc7CkBAIC0yOTQsNyArMjk0LDcgQEAgR1JBTlQgQUxMIFBSSVZJTEVHRVMg T04gdGVzdF91c2VyX2RiLiogVAogU0VMRUNUIHVzZXIscGx1Z2luLGF1dGhlbnRpY2F0aW9uX3N0 cmluZyBGUk9NIG15c3FsLnVzZXIgV0hFUkUgdXNlciAhPSAncm9vdCc7CiB1c2VyCXBsdWdpbglh dXRoZW50aWNhdGlvbl9zdHJpbmcKIGdyYW50X3VzZXIJdGVzdF9wbHVnaW5fc2VydmVyCXBsdWdf ZGVzdAotcGx1Z19kZXN0CQkKK3BsdWdfZGVzdAkJTlVMTAogRFJPUCBVU0VSIGdyYW50X3VzZXIs cGx1Z19kZXN0Owogc2V0IEBzYXZlX3NxbF9tb2RlPSBAQHNxbF9tb2RlOwogU0VUIEBAc3FsX21v ZGU9bm9fYXV0b19jcmVhdGVfdXNlcjsKQEAgLTMxNSwxMyArMzE1LDEzIEBAIENSRUFURSBVU0VS IHBsdWdfZGVzdCBJREVOVElGSUVEIEJZICdwbHUKIFNFTEVDVCB1c2VyLHBsdWdpbixhdXRoZW50 aWNhdGlvbl9zdHJpbmcscGFzc3dvcmQgRlJPTSBteXNxbC51c2VyIFdIRVJFIHVzZXIgIT0gJ3Jv b3QnOwogdXNlcglwbHVnaW4JYXV0aGVudGljYXRpb25fc3RyaW5nCXBhc3N3b3JkCiBncmFudF91 c2VyCXRlc3RfcGx1Z2luX3NlcnZlcglwbHVnX2Rlc3QJCi1wbHVnX2Rlc3QJCQkqOTM5QUVFNjg5 ODk3OTRDMEY0MDgyNzc0MTFDMjYwNTVDREY0MTExOQorcGx1Z19kZXN0CQlOVUxMCSo5MzlBRUU2 ODk4OTc5NEMwRjQwODI3NzQxMUMyNjA1NUNERjQxMTE5CiBEUk9QIFVTRVIgcGx1Z19kZXN0Owog R1JBTlQgQUxMIFBSSVZJTEVHRVMgT04gdGVzdF91c2VyX2RiLiogVE8gcGx1Z19kZXN0IElERU5U SUZJRUQgQlkgJ3BsdWdfdXNlcl9wYXNzd2QnOwogU0VMRUNUIHVzZXIscGx1Z2luLGF1dGhlbnRp Y2F0aW9uX3N0cmluZyxwYXNzd29yZCBGUk9NIG15c3FsLnVzZXIgV0hFUkUgdXNlciAhPSAncm9v dCc7CiB1c2VyCXBsdWdpbglhdXRoZW50aWNhdGlvbl9zdHJpbmcJcGFzc3dvcmQKIGdyYW50X3Vz ZXIJdGVzdF9wbHVnaW5fc2VydmVyCXBsdWdfZGVzdAkKLXBsdWdfZGVzdAkJCSo1NjA4ODFFQjY1 MTQxNkNFRjc3MzE0RDA3RDU1RURDRDVGQzFCRDZECitwbHVnX2Rlc3QJCU5VTEwJKjU2MDg4MUVC NjUxNDE2Q0VGNzczMTREMDdENTVFRENENUZDMUJENkQKIERST1AgVVNFUiBncmFudF91c2VyLHBs dWdfZGVzdDsKIHNldCBAQHNxbF9tb2RlPSBAc2F2ZV9zcWxfbW9kZTsKIERST1AgREFUQUJBU0Ug dGVzdF91c2VyX2RiOwoKPT09IG1vZGlmaWVkIGZpbGUgJ215c3FsLXRlc3Qvci9wbHVnaW5fYXV0 aF9xYV8xLnJlc3VsdCcKLS0tIGEvbXlzcWwtdGVzdC9yL3BsdWdpbl9hdXRoX3FhXzEucmVzdWx0 CTIwMTEtMDItMDggMTc6NDg6MjAgKzAwMDAKKysrIGIvbXlzcWwtdGVzdC9yL3BsdWdpbl9hdXRo X3FhXzEucmVzdWx0CTIwMTEtMDMtMTggMTQ6NTg6MjcgKzAwMDAKQEAgLTIxLDcgKzIxLDcgQEAg R1JBTlQgQUxMIFBSSVZJTEVHRVMgT04gdGVzdF91c2VyX2RiLiogVAogR1JBTlQgUFJPWFkgT04g cGx1Z19kZXN0IFRPIHBsdWdfdXNlcjsKIFNFTEVDVCB1c2VyLHBsdWdpbixhdXRoZW50aWNhdGlv bl9zdHJpbmcgRlJPTSBteXNxbC51c2VyIFdIRVJFIHVzZXIgIT0gJ3Jvb3QnOwogdXNlcglwbHVn aW4JYXV0aGVudGljYXRpb25fc3RyaW5nCi1wbHVnX2Rlc3QJCQorcGx1Z19kZXN0CQlOVUxMCiBw bHVnX3VzZXIJdGVzdF9wbHVnaW5fc2VydmVyCXBsdWdfZGVzdAogMSkKIGN1cnJlbnRfdXNlcigp CkBAIC03NCw3ICs3NCw3IEBAIEdSQU5UIFBST1hZIE9OIG5ld19kZXN0IFRPIHBsdWdfdXNlcjsK IEVSUk9SIDEwNDUgKDI4MDAwKTogQWNjZXNzIGRlbmllZCBmb3IgdXNlciAncGx1Z191c2VyJ0An bG9jYWxob3N0JyAodXNpbmcgcGFzc3dvcmQ6IFlFUykKIFNFTEVDVCB1c2VyLHBsdWdpbixhdXRo ZW50aWNhdGlvbl9zdHJpbmcgRlJPTSBteXNxbC51c2VyIFdIRVJFIHVzZXIgIT0gJ3Jvb3QnOwog dXNlcglwbHVnaW4JYXV0aGVudGljYXRpb25fc3RyaW5nCi1uZXdfZGVzdAkJCituZXdfZGVzdAkJ TlVMTAogcGx1Z191c2VyCXRlc3RfcGx1Z2luX3NlcnZlcglwbHVnX2Rlc3QKIERST1AgVVNFUiBw bHVnX3VzZXIsbmV3X2Rlc3Q7CiBDUkVBVEUgVVNFUiBwbHVnX3VzZXIKQEAgLTkyLDcgKzkyLDcg QEAgR1JBTlQgUFJPWFkgT04gbmV3X2Rlc3QgVE8gcGx1Z191c2VyOwogRVJST1IgMTA0NSAoMjgw MDApOiBBY2Nlc3MgZGVuaWVkIGZvciB1c2VyICdwbHVnX3VzZXInQCdsb2NhbGhvc3QnICh1c2lu ZyBwYXNzd29yZDogWUVTKQogU0VMRUNUIHVzZXIscGx1Z2luLGF1dGhlbnRpY2F0aW9uX3N0cmlu ZyBGUk9NIG15c3FsLnVzZXIgV0hFUkUgdXNlciAhPSAncm9vdCc7CiB1c2VyCXBsdWdpbglhdXRo ZW50aWNhdGlvbl9zdHJpbmcKLW5ld19kZXN0CQkKK25ld19kZXN0CQlOVUxMCiBwbHVnX3VzZXIJ dGVzdF9wbHVnaW5fc2VydmVyCXBsdWdfZGVzdAogRFJPUCBVU0VSIHBsdWdfdXNlcixuZXdfZGVz dDsKIENSRUFURSBVU0VSIHBsdWdfdXNlcgpAQCAtMTE0LDEzICsxMTQsMTMgQEAgY29ubmVjdGlv biBkZWZhdWx0OwogU0VMRUNUIHVzZXIscGx1Z2luLGF1dGhlbnRpY2F0aW9uX3N0cmluZyBGUk9N IG15c3FsLnVzZXIgV0hFUkUgdXNlciAhPSAncm9vdCc7CiB1c2VyCXBsdWdpbglhdXRoZW50aWNh dGlvbl9zdHJpbmcKIG5ld191c2VyCXRlc3RfcGx1Z2luX3NlcnZlcglwbHVnX2Rlc3QKLXBsdWdf ZGVzdAkJCitwbHVnX2Rlc3QJCU5VTEwKIGRpc2Nvbm5lY3QgcGx1Z191c2VyOwogVVBEQVRFIG15 c3FsLnVzZXIgU0VUIHVzZXI9J3BsdWdfdXNlcicgV0hFUkUgdXNlcj0nbmV3X3VzZXInOwogRkxV U0ggUFJJVklMRUdFUzsKIFNFTEVDVCB1c2VyLHBsdWdpbixhdXRoZW50aWNhdGlvbl9zdHJpbmcg RlJPTSBteXNxbC51c2VyIFdIRVJFIHVzZXIgIT0gJ3Jvb3QnOwogdXNlcglwbHVnaW4JYXV0aGVu dGljYXRpb25fc3RyaW5nCi1wbHVnX2Rlc3QJCQorcGx1Z19kZXN0CQlOVUxMCiBwbHVnX3VzZXIJ dGVzdF9wbHVnaW5fc2VydmVyCXBsdWdfZGVzdAogRFJPUCBVU0VSIHBsdWdfZGVzdCxwbHVnX3Vz ZXI7CiA9PT09PT09PT09IHRlc3QgMS4zID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT0KQEAgLTEzNiwyNiArMTM2LDI2IEBAIGNvbm5lY3Rpb24gZGVmYXVsdDsKIGRpc2Nv bm5lY3QgcGx1Z191c2VyOwogU0VMRUNUIHVzZXIscGx1Z2luLGF1dGhlbnRpY2F0aW9uX3N0cmlu ZyBGUk9NIG15c3FsLnVzZXIgV0hFUkUgdXNlciAhPSAncm9vdCc7CiB1c2VyCXBsdWdpbglhdXRo ZW50aWNhdGlvbl9zdHJpbmcKLXBsdWdfZGVzdAkJCitwbHVnX2Rlc3QJCU5VTEwKIHBsdWdfdXNl cgl0ZXN0X3BsdWdpbl9zZXJ2ZXIJcGx1Z19kZXN0CiBVUERBVEUgbXlzcWwudXNlciBTRVQgdXNl cj0nbmV3X3VzZXInIFdIRVJFIHVzZXI9J3BsdWdfdXNlcic7CiBGTFVTSCBQUklWSUxFR0VTOwog U0VMRUNUIHVzZXIscGx1Z2luLGF1dGhlbnRpY2F0aW9uX3N0cmluZyBGUk9NIG15c3FsLnVzZXIg V0hFUkUgdXNlciAhPSAncm9vdCc7CiB1c2VyCXBsdWdpbglhdXRoZW50aWNhdGlvbl9zdHJpbmcK IG5ld191c2VyCXRlc3RfcGx1Z2luX3NlcnZlcglwbHVnX2Rlc3QKLXBsdWdfZGVzdAkJCitwbHVn X2Rlc3QJCU5VTEwKIFVQREFURSBteXNxbC51c2VyIFNFVCBhdXRoZW50aWNhdGlvbl9zdHJpbmc9 J25ld19kZXN0JyBXSEVSRSB1c2VyPSduZXdfdXNlcic7CiBGTFVTSCBQUklWSUxFR0VTOwogU0VM RUNUIHVzZXIscGx1Z2luLGF1dGhlbnRpY2F0aW9uX3N0cmluZyBGUk9NIG15c3FsLnVzZXIgV0hF UkUgdXNlciAhPSAncm9vdCc7CiB1c2VyCXBsdWdpbglhdXRoZW50aWNhdGlvbl9zdHJpbmcKIG5l d191c2VyCXRlc3RfcGx1Z2luX3NlcnZlcgluZXdfZGVzdAotcGx1Z19kZXN0CQkKK3BsdWdfZGVz dAkJTlVMTAogVVBEQVRFIG15c3FsLnVzZXIgU0VUIHBsdWdpbj0nbmV3X3BsdWdpbl9zZXJ2ZXIn IFdIRVJFIHVzZXI9J25ld191c2VyJzsKIEZMVVNIIFBSSVZJTEVHRVM7CiBTRUxFQ1QgdXNlcixw bHVnaW4sYXV0aGVudGljYXRpb25fc3RyaW5nIEZST00gbXlzcWwudXNlciBXSEVSRSB1c2VyICE9 ICdyb290JzsKIHVzZXIJcGx1Z2luCWF1dGhlbnRpY2F0aW9uX3N0cmluZwogbmV3X3VzZXIJbmV3 X3BsdWdpbl9zZXJ2ZXIJbmV3X2Rlc3QKLXBsdWdfZGVzdAkJCitwbHVnX2Rlc3QJCU5VTEwKIGNv bm5lY3QocGx1Z191c2VyLGxvY2FsaG9zdCxuZXdfdXNlcixuZXdfZGVzdCk7CiBFUlJPUiBIWTAw MDogUGx1Z2luICduZXdfcGx1Z2luX3NlcnZlcicgaXMgbm90IGxvYWRlZAogVVBEQVRFIG15c3Fs LnVzZXIgU0VUIHBsdWdpbj0ndGVzdF9wbHVnaW5fc2VydmVyJyBXSEVSRSB1c2VyPSduZXdfdXNl cic7CkBAIC0xNjQsNyArMTY0LDcgQEAgRkxVU0ggUFJJVklMRUdFUzsKIEdSQU5UIFBST1hZIE9O IG5ld19kZXN0IFRPIG5ld191c2VyOwogU0VMRUNUIHVzZXIscGx1Z2luLGF1dGhlbnRpY2F0aW9u X3N0cmluZyBGUk9NIG15c3FsLnVzZXIgV0hFUkUgdXNlciAhPSAncm9vdCc7CiB1c2VyCXBsdWdp bglhdXRoZW50aWNhdGlvbl9zdHJpbmcKLW5ld19kZXN0CQkKK25ld19kZXN0CQlOVUxMCiBuZXdf dXNlcgl0ZXN0X3BsdWdpbl9zZXJ2ZXIJbmV3X2Rlc3QKIGNvbm5lY3QocGx1Z191c2VyLGxvY2Fs aG9zdCxuZXdfdXNlcixuZXdfZGVzdCk7CiBzZWxlY3QgVVNFUigpLENVUlJFTlRfVVNFUigpOwpA QCAtMTc3LDkgKzE3Nyw5IEBAIEZMVVNIIFBSSVZJTEVHRVM7CiBDUkVBVEUgVVNFUiBuZXdfZGVz dCBJREVOVElGSUVEIEJZICduZXdfZGVzdF9wYXNzd2QnOwogU0VMRUNUIHVzZXIscGx1Z2luLGF1 dGhlbnRpY2F0aW9uX3N0cmluZyBGUk9NIG15c3FsLnVzZXIgV0hFUkUgdXNlciAhPSAncm9vdCc7 CiB1c2VyCXBsdWdpbglhdXRoZW50aWNhdGlvbl9zdHJpbmcKLW5ld19kZXN0CQkKK25ld19kZXN0 CQlOVUxMCiBuZXdfdXNlcgl0ZXN0X3BsdWdpbl9zZXJ2ZXIJbmV3X2Rlc3QKLXBsdWdfZGVzdAkJ CitwbHVnX2Rlc3QJCU5VTEwKIEdSQU5UIEFMTCBQUklWSUxFR0VTIE9OIHRlc3QuKiBUTyBuZXdf dXNlcjsKIGNvbm5lY3QocGx1Z191c2VyLGxvY2FsaG9zdCxuZXdfZGVzdCxuZXdfZGVzdF9wYXNz d2QpOwogc2VsZWN0IFVTRVIoKSxDVVJSRU5UX1VTRVIoKTsKQEAgLTE5NCw3ICsxOTQsNyBAQCBD UkVBVEUgVVNFUiBwcm94aWVkX3VzZXIgSURFTlRJRklFRCBCWSAnCiBTRUxFQ1QgdXNlcixwbHVn aW4sYXV0aGVudGljYXRpb25fc3RyaW5nIEZST00gbXlzcWwudXNlciBXSEVSRSB1c2VyICE9ICdy b290JzsKIHVzZXIJcGx1Z2luCWF1dGhlbnRpY2F0aW9uX3N0cmluZwogCXRlc3RfcGx1Z2luX3Nl cnZlcglwcm94aWVkX3VzZXIKLXByb3hpZWRfdXNlcgkJCitwcm94aWVkX3VzZXIJCU5VTEwKIGNv bm5lY3QocHJveHlfY29uLGxvY2FsaG9zdCxwcm94aWVkX3VzZXIscHJveGllZF91c2VyX3Bhc3N3 ZCk7CiBTRUxFQ1QgVVNFUigpLENVUlJFTlRfVVNFUigpOwogVVNFUigpCUNVUlJFTlRfVVNFUigp CkBAIC0yMzEsNyArMjMxLDcgQEAgQ1JFQVRFIFVTRVIgcHJveGllZF91c2VyIElERU5USUZJRUQg QlkgJwogU0VMRUNUIHVzZXIscGx1Z2luLGF1dGhlbnRpY2F0aW9uX3N0cmluZyBGUk9NIG15c3Fs LnVzZXIgV0hFUkUgdXNlciAhPSAncm9vdCc7CiB1c2VyCXBsdWdpbglhdXRoZW50aWNhdGlvbl9z dHJpbmcKIAl0ZXN0X3BsdWdpbl9zZXJ2ZXIJcHJveGllZF91c2VyCi1wcm94aWVkX3VzZXIJCQor cHJveGllZF91c2VyCQlOVUxMCiBjb25uZWN0KHByb3h5X2Nvbixsb2NhbGhvc3QscHJveGllZF91 c2VyLHByb3hpZWRfdXNlcl9wYXNzd2QpOwogU0VMRUNUIFVTRVIoKSxDVVJSRU5UX1VTRVIoKTsK IFVTRVIoKQlDVVJSRU5UX1VTRVIoKQpAQCAtMjc0LDExICsyNzQsMTEgQEAgR1JBTlQgUFJPWFkg T04gcHJveGllZF91c2VyXzUgVE8gJydAJyc7CiBTRUxFQ1QgdXNlcixwbHVnaW4sYXV0aGVudGlj YXRpb25fc3RyaW5nIEZST00gbXlzcWwudXNlciBXSEVSRSB1c2VyICE9ICdyb290JzsKIHVzZXIJ cGx1Z2luCWF1dGhlbnRpY2F0aW9uX3N0cmluZwogCXRlc3RfcGx1Z2luX3NlcnZlcglwcm94aWVk X3VzZXIKLXByb3hpZWRfdXNlcl8xCQkKLXByb3hpZWRfdXNlcl8yCQkKLXByb3hpZWRfdXNlcl8z CQkKLXByb3hpZWRfdXNlcl80CQkKLXByb3hpZWRfdXNlcl81CQkKK3Byb3hpZWRfdXNlcl8xCQlO VUxMCitwcm94aWVkX3VzZXJfMgkJTlVMTAorcHJveGllZF91c2VyXzMJCU5VTEwKK3Byb3hpZWRf dXNlcl80CQlOVUxMCitwcm94aWVkX3VzZXJfNQkJTlVMTAogY29ubmVjdChwcm94eV9jb25fMSxs b2NhbGhvc3QscHJveGllZF91c2VyXzEsJ3Byb3hpZWRfdXNlcl8xX3B3ZCcpOwogY29ubmVjdChw cm94eV9jb25fMixsb2NhbGhvc3QscHJveGllZF91c2VyXzIscHJveGllZF91c2VyXzJfcHdkKTsK IGNvbm5lY3QocHJveHlfY29uXzMsbG9jYWxob3N0LHByb3hpZWRfdXNlcl8zLHByb3hpZWRfdXNl cl8zX3B3ZCk7Cgo9PT0gbW9kaWZpZWQgZmlsZSAnbXlzcWwtdGVzdC9yL3BsdWdpbl9hdXRoX3Fh XzIucmVzdWx0JwotLS0gYS9teXNxbC10ZXN0L3IvcGx1Z2luX2F1dGhfcWFfMi5yZXN1bHQJMjAx MC0xMC0yNSAxMDoyNDoyNiArMDAwMAorKysgYi9teXNxbC10ZXN0L3IvcGx1Z2luX2F1dGhfcWFf Mi5yZXN1bHQJMjAxMS0wMy0xOCAxNDoxNjoxNyArMDAwMApAQCAtNyw3ICs3LDcgQEAgR1JBTlQg QUxMIFBSSVZJTEVHRVMgT04gdGVzdF91c2VyX2RiLiogVAogR1JBTlQgUFJPWFkgT04gcWFfdGVz dF8xX2Rlc3QgVE8gcWFfdGVzdF8xX3VzZXI7CiBTRUxFQ1QgdXNlcixwbHVnaW4sYXV0aGVudGlj YXRpb25fc3RyaW5nIEZST00gbXlzcWwudXNlciBXSEVSRSB1c2VyICE9ICdyb290JzsKIHVzZXIJ cGx1Z2luCWF1dGhlbnRpY2F0aW9uX3N0cmluZwotcWFfdGVzdF8xX2Rlc3QJCQorcWFfdGVzdF8x X2Rlc3QJCU5VTEwKIHFhX3Rlc3RfMV91c2VyCXFhX2F1dGhfaW50ZXJmYWNlCXFhX3Rlc3RfMV9k ZXN0CiBTRUxFQ1QgQEBwcm94eV91c2VyOwogQEBwcm94eV91c2VyCkBAIC0yMCw3ICsyMCw3IEBA IGN1cnJlbnRfdXNlcigpCXVzZXIoKQlAQGxvY2FsLnByb3h5X3VzZXIKIHFhX3Rlc3RfMV91c2Vy QCUJcWFfdGVzdF8xX3VzZXJAbG9jYWxob3N0CU5VTEwJTlVMTAogU0VMRUNUIHVzZXIscGx1Z2lu LGF1dGhlbnRpY2F0aW9uX3N0cmluZyBGUk9NIG15c3FsLnVzZXIgV0hFUkUgdXNlciAhPSAncm9v dCc7CiB1c2VyCXBsdWdpbglhdXRoZW50aWNhdGlvbl9zdHJpbmcKLXFhX3Rlc3RfMV9kZXN0CQkK K3FhX3Rlc3RfMV9kZXN0CQlOVUxMCiBxYV90ZXN0XzFfdXNlcglxYV9hdXRoX2ludGVyZmFjZQlx YV90ZXN0XzFfZGVzdAogRFJPUCBVU0VSIHFhX3Rlc3RfMV91c2VyOwogRFJPUCBVU0VSIHFhX3Rl c3RfMV9kZXN0OwpAQCAtMzMsOCArMzMsOCBAQCBHUkFOVCBQUk9YWSBPTiBxYV90ZXN0XzJfZGVz dCBUTyBxYV90ZXN0CiBHUkFOVCBQUk9YWSBPTiBhdXRoZW50aWNhdGVkX2FzIFRPIHFhX3Rlc3Rf Ml91c2VyOwogU0VMRUNUIHVzZXIscGx1Z2luLGF1dGhlbnRpY2F0aW9uX3N0cmluZyBGUk9NIG15 c3FsLnVzZXIgV0hFUkUgdXNlciAhPSAncm9vdCc7CiB1c2VyCXBsdWdpbglhdXRoZW50aWNhdGlv bl9zdHJpbmcKLWF1dGhlbnRpY2F0ZWRfYXMJCQotcWFfdGVzdF8yX2Rlc3QJCQorYXV0aGVudGlj YXRlZF9hcwkJTlVMTAorcWFfdGVzdF8yX2Rlc3QJCU5VTEwKIHFhX3Rlc3RfMl91c2VyCXFhX2F1 dGhfaW50ZXJmYWNlCXFhX3Rlc3RfMl9kZXN0CiBTRUxFQ1QgQEBwcm94eV91c2VyOwogQEBwcm94 eV91c2VyCkBAIC00Nyw4ICs0Nyw4IEBAIGN1cnJlbnRfdXNlcigpCXVzZXIoKQlAQGxvY2FsLnBy b3h5X3VzZXIKIGF1dGhlbnRpY2F0ZWRfYXNAJQl1c2VyX25hbWVAbG9jYWxob3N0CSdxYV90ZXN0 XzJfdXNlcidAJyUnCSdxYV90ZXN0XzJfdXNlcidAJyUnCiBTRUxFQ1QgdXNlcixwbHVnaW4sYXV0 aGVudGljYXRpb25fc3RyaW5nIEZST00gbXlzcWwudXNlciBXSEVSRSB1c2VyICE9ICdyb290JzsK IHVzZXIJcGx1Z2luCWF1dGhlbnRpY2F0aW9uX3N0cmluZwotYXV0aGVudGljYXRlZF9hcwkJCi1x YV90ZXN0XzJfZGVzdAkJCithdXRoZW50aWNhdGVkX2FzCQlOVUxMCitxYV90ZXN0XzJfZGVzdAkJ TlVMTAogcWFfdGVzdF8yX3VzZXIJcWFfYXV0aF9pbnRlcmZhY2UJcWFfdGVzdF8yX2Rlc3QKIERS T1AgVVNFUiBxYV90ZXN0XzJfdXNlcjsKIERST1AgVVNFUiBxYV90ZXN0XzJfZGVzdDsKQEAgLTgz LDggKzgzLDggQEAgR1JBTlQgUFJPWFkgT04gcWFfdGVzdF81X2Rlc3QgVE8gcWFfdGVzdAogR1JB TlQgUFJPWFkgT04gcWFfdGVzdF81X2Rlc3QgVE8gJydAJ2xvY2FsaG9zdCc7CiBTRUxFQ1QgdXNl cixwbHVnaW4sYXV0aGVudGljYXRpb25fc3RyaW5nLHBhc3N3b3JkIEZST00gbXlzcWwudXNlciBX SEVSRSB1c2VyICE9ICdyb290JzsKIHVzZXIJcGx1Z2luCWF1dGhlbnRpY2F0aW9uX3N0cmluZwlw YXNzd29yZAotCQkJKkRGQ0FDRTc2OTE0QUQ3QkQ4MDFGQzFBMUVDRjY1NjIyNzI2MjFBMjIKLXFh X3Rlc3RfNV9kZXN0CQkJKkRGQ0FDRTc2OTE0QUQ3QkQ4MDFGQzFBMUVDRjY1NjIyNzI2MjFBMjIK KwkJTlVMTAkqREZDQUNFNzY5MTRBRDdCRDgwMUZDMUExRUNGNjU2MjI3MjYyMUEyMgorcWFfdGVz dF81X2Rlc3QJCU5VTEwJKkRGQ0FDRTc2OTE0QUQ3QkQ4MDFGQzFBMUVDRjY1NjIyNzI2MjFBMjIK IHFhX3Rlc3RfNV91c2VyCXFhX2F1dGhfaW50ZXJmYWNlCXFhX3Rlc3RfNV9kZXN0CQogZXhlYyBN WVNRTCBQTFVHSU5fQVVUSF9PUFQgLWggbG9jYWxob3N0IC1QIE1BU1RFUl9NWVBPUlQgLS11c2Vy PXFhX3Rlc3RfNV91c2VyICAtLXBhc3N3b3JkPXFhX3Rlc3RfNV9kZXN0IHRlc3RfdXNlcl9kYiAt ZSAiU0VMRUNUIGN1cnJlbnRfdXNlcigpLHVzZXIoKSxAQGxvY2FsLnByb3h5X3VzZXIsQEBsb2Nh bC5leHRlcm5hbF91c2VyOyIgMj4mMQogRVJST1IgMTA0NSAoMjgwMDApOiBBY2Nlc3MgZGVuaWVk IGZvciB1c2VyICdxYV90ZXN0XzVfdXNlcidAJ2xvY2FsaG9zdCcgKHVzaW5nIHBhc3N3b3JkOiBZ RVMpCkBAIC05OCw3ICs5OCw3IEBAIEdSQU5UIEFMTCBQUklWSUxFR0VTIE9OIHRlc3RfdXNlcl9k Yi4qIFQKIEdSQU5UIFBST1hZIE9OIHFhX3Rlc3RfNl9kZXN0IFRPIHFhX3Rlc3RfNl91c2VyOwog U0VMRUNUIHVzZXIscGx1Z2luLGF1dGhlbnRpY2F0aW9uX3N0cmluZyxwYXNzd29yZCBGUk9NIG15 c3FsLnVzZXI7CiB1c2VyCXBsdWdpbglhdXRoZW50aWNhdGlvbl9zdHJpbmcJcGFzc3dvcmQKLXFh X3Rlc3RfNl9kZXN0CQkJKkRGQ0FDRTc2OTE0QUQ3QkQ4MDFGQzFBMUVDRjY1NjIyNzI2MjFBMjIK K3FhX3Rlc3RfNl9kZXN0CQlOVUxMCSpERkNBQ0U3NjkxNEFEN0JEODAxRkMxQTFFQ0Y2NTYyMjcy NjIxQTIyCiBxYV90ZXN0XzZfdXNlcglxYV9hdXRoX2ludGVyZmFjZQlxYV90ZXN0XzZfZGVzdAkK IHJvb3QJCQkKIHJvb3QJCQkKQEAgLTEwOSw3ICsxMDksNyBAQCBFUlJPUiAxMDQ1ICgyODAwMCk6 IEFjY2VzcyBkZW5pZWQgZm9yIHVzCiBHUkFOVCBQUk9YWSBPTiBxYV90ZXN0XzZfZGVzdCBUTyBy b290IElERU5USUZJRUQgV0lUSCBxYV9hdXRoX2ludGVyZmFjZSBBUyAncWFfdGVzdF82X2Rlc3Qn OwogU0VMRUNUIHVzZXIscGx1Z2luLGF1dGhlbnRpY2F0aW9uX3N0cmluZyxwYXNzd29yZCBGUk9N IG15c3FsLnVzZXI7CiB1c2VyCXBsdWdpbglhdXRoZW50aWNhdGlvbl9zdHJpbmcJcGFzc3dvcmQK LXFhX3Rlc3RfNl9kZXN0CQkJKkRGQ0FDRTc2OTE0QUQ3QkQ4MDFGQzFBMUVDRjY1NjIyNzI2MjFB MjIKK3FhX3Rlc3RfNl9kZXN0CQlOVUxMCSpERkNBQ0U3NjkxNEFEN0JEODAxRkMxQTFFQ0Y2NTYy MjcyNjIxQTIyCiBxYV90ZXN0XzZfdXNlcglxYV9hdXRoX2ludGVyZmFjZQlxYV90ZXN0XzZfZGVz dAkKIHJvb3QJCQkKIHJvb3QJCQkKQEAgLTEyMSw3ICsxMjEsNyBAQCBFUlJPUiAxMDQ1ICgyODAw MCk6IEFjY2VzcyBkZW5pZWQgZm9yIHVzCiBSRVZPS0UgUFJPWFkgT04gcWFfdGVzdF82X2Rlc3Qg RlJPTSByb290OwogU0VMRUNUIHVzZXIscGx1Z2luLGF1dGhlbnRpY2F0aW9uX3N0cmluZyBGUk9N IG15c3FsLnVzZXI7CiB1c2VyCXBsdWdpbglhdXRoZW50aWNhdGlvbl9zdHJpbmcKLXFhX3Rlc3Rf Nl9kZXN0CQkKK3FhX3Rlc3RfNl9kZXN0CQlOVUxMCiBxYV90ZXN0XzZfdXNlcglxYV9hdXRoX2lu dGVyZmFjZQlxYV90ZXN0XzZfZGVzdAogcm9vdAkJCiByb290CQkKCj09PSBtb2RpZmllZCBmaWxl ICdteXNxbC10ZXN0L3Ivc3Bfbm90ZW1iZWRkZWQucmVzdWx0JwotLS0gYS9teXNxbC10ZXN0L3Iv c3Bfbm90ZW1iZWRkZWQucmVzdWx0CTIwMTAtMDgtMDkgMDg6MzI6NTAgKzAwMDAKKysrIGIvbXlz cWwtdGVzdC9yL3NwX25vdGVtYmVkZGVkLnJlc3VsdAkyMDExLTAzLTE4IDE0OjE2OjE3ICswMDAw CkBAIC0yNDksOCArMjQ5LDYgQEAgbWF4X3VwZGF0ZXMsIG1heF9jb25uZWN0aW9ucywgbWF4X3Vz ZXJfYwogVkFMVUVTKCclJywgJ215c3FsdGVzdF8xJywgcGFzc3dvcmQoJycpLCAnWScsICdZJywg J1knLCAnWScsICdZJywgJ1knLCAnTicsICdOJywgJ04nLAogJ04nLCAnTicsICdOJywgJ1knLCAn WScsICdOJywgJ04nLCAnWScsICdZJywgJ04nLCAnTicsICdOJywgJ04nLCAnTicsICdZJywgJ1kn LCAnTicsICcnLAogJycsICcnLCAnJywgJzAnLCAnMCcsICcwJywgJzAnKTsKLVdhcm5pbmdzOgot V2FybmluZwkxMzY0CUZpZWxkICdhdXRoZW50aWNhdGlvbl9zdHJpbmcnIGRvZXNuJ3QgaGF2ZSBh IGRlZmF1bHQgdmFsdWUKIEZMVVNIIFBSSVZJTEVHRVM7CiBDUkVBVEUgUFJPQ0VEVVJFIHAxKGkg SU5UKSBCRUdJTiBFTkQ7CiBEUk9QIFBST0NFRFVSRSBwMTsKCj09PSBtb2RpZmllZCBmaWxlICdt eXNxbC10ZXN0L3Ivc3lzdGVtX215c3FsX2RiLnJlc3VsdCcKLS0tIGEvbXlzcWwtdGVzdC9yL3N5 c3RlbV9teXNxbF9kYi5yZXN1bHQJMjAxMS0wMy0xNCAxODo0MzoxOSArMDAwMAorKysgYi9teXNx bC10ZXN0L3Ivc3lzdGVtX215c3FsX2RiLnJlc3VsdAkyMDExLTAzLTE4IDE0OjU4OjI3ICswMDAw CkBAIC0xMjIsOCArMTIyLDggQEAgdXNlcglDUkVBVEUgVEFCTEUgYHVzZXJgICgKICAgYG1heF91 cGRhdGVzYCBpbnQoMTEpIHVuc2lnbmVkIE5PVCBOVUxMIERFRkFVTFQgJzAnLAogICBgbWF4X2Nv bm5lY3Rpb25zYCBpbnQoMTEpIHVuc2lnbmVkIE5PVCBOVUxMIERFRkFVTFQgJzAnLAogICBgbWF4 X3VzZXJfY29ubmVjdGlvbnNgIGludCgxMSkgdW5zaWduZWQgTk9UIE5VTEwgREVGQVVMVCAnMCcs Ci0gIGBwbHVnaW5gIGNoYXIoNjQpIENPTExBVEUgdXRmOF9iaW4gTk9UIE5VTEwgREVGQVVMVCAn JywKLSAgYGF1dGhlbnRpY2F0aW9uX3N0cmluZ2AgdGV4dCBDT0xMQVRFIHV0ZjhfYmluIE5PVCBO VUxMLAorICBgcGx1Z2luYCBjaGFyKDY0KSBDT0xMQVRFIHV0ZjhfYmluIERFRkFVTFQgJycsCisg IGBhdXRoZW50aWNhdGlvbl9zdHJpbmdgIHRleHQgQ09MTEFURSB1dGY4X2JpbiwKICAgUFJJTUFS WSBLRVkgKGBIb3N0YCxgVXNlcmApCiApIEVOR0lORT1NeUlTQU0gREVGQVVMVCBDSEFSU0VUPXV0 ZjggQ09MTEFURT11dGY4X2JpbiBDT01NRU5UPSdVc2VycyBhbmQgZ2xvYmFsIHByaXZpbGVnZXMn CiBzaG93IGNyZWF0ZSB0YWJsZSBmdW5jOwoKPT09IG1vZGlmaWVkIGZpbGUgJ215c3FsLXRlc3Qv c3VpdGUvZnVuY3NfMS9yL2lzX2NvbHVtbnNfbXlzcWwucmVzdWx0JwotLS0gYS9teXNxbC10ZXN0 L3N1aXRlL2Z1bmNzXzEvci9pc19jb2x1bW5zX215c3FsLnJlc3VsdAkyMDExLTAzLTE0IDE4OjQz OjE5ICswMDAwCisrKyBiL215c3FsLXRlc3Qvc3VpdGUvZnVuY3NfMS9yL2lzX2NvbHVtbnNfbXlz cWwucmVzdWx0CTIwMTEtMDMtMTggMTQ6NTg6MjcgKzAwMDAKQEAgLTIxNCw3ICsyMTQsNyBAQCBk ZWYJbXlzcWwJdGltZV96b25lX3RyYW5zaXRpb25fdHlwZQlUaW1lCiBkZWYJbXlzcWwJdGltZV96 b25lX3RyYW5zaXRpb25fdHlwZQlUcmFuc2l0aW9uX3R5cGVfaWQJMglOVUxMCU5PCWludAlOVUxM CU5VTEwJMTAJMAlOVUxMCU5VTEwJaW50KDEwKSB1bnNpZ25lZAlQUkkJCXNlbGVjdCxpbnNlcnQs dXBkYXRlLHJlZmVyZW5jZXMJCiBkZWYJbXlzcWwJdXNlcglBbHRlcl9wcml2CTE3CU4JTk8JZW51 bQkxCTMJTlVMTAlOVUxMCXV0ZjgJdXRmOF9nZW5lcmFsX2NpCWVudW0oJ04nLCdZJykJCQlzZWxl Y3QsaW5zZXJ0LHVwZGF0ZSxyZWZlcmVuY2VzCQogZGVmCW15c3FsCXVzZXIJQWx0ZXJfcm91dGlu ZV9wcml2CTI4CU4JTk8JZW51bQkxCTMJTlVMTAlOVUxMCXV0ZjgJdXRmOF9nZW5lcmFsX2NpCWVu dW0oJ04nLCdZJykJCQlzZWxlY3QsaW5zZXJ0LHVwZGF0ZSxyZWZlcmVuY2VzCQotZGVmCW15c3Fs CXVzZXIJYXV0aGVudGljYXRpb25fc3RyaW5nCTQyCU5VTEwJTk8JdGV4dAk2NTUzNQk2NTUzNQlO VUxMCU5VTEwJdXRmOAl1dGY4X2Jpbgl0ZXh0CQkJc2VsZWN0LGluc2VydCx1cGRhdGUscmVmZXJl bmNlcwkKK2RlZglteXNxbAl1c2VyCWF1dGhlbnRpY2F0aW9uX3N0cmluZwk0MglOVUxMCVlFUwl0 ZXh0CTY1NTM1CTY1NTM1CU5VTEwJTlVMTAl1dGY4CXV0ZjhfYmluCXRleHQJCQlzZWxlY3QsaW5z ZXJ0LHVwZGF0ZSxyZWZlcmVuY2VzCQogZGVmCW15c3FsCXVzZXIJQ3JlYXRlX3ByaXYJOAlOCU5P CWVudW0JMQkzCU5VTEwJTlVMTAl1dGY4CXV0ZjhfZ2VuZXJhbF9jaQllbnVtKCdOJywnWScpCQkJ c2VsZWN0LGluc2VydCx1cGRhdGUscmVmZXJlbmNlcwkKIGRlZglteXNxbAl1c2VyCUNyZWF0ZV9y b3V0aW5lX3ByaXYJMjcJTglOTwllbnVtCTEJMwlOVUxMCU5VTEwJdXRmOAl1dGY4X2dlbmVyYWxf Y2kJZW51bSgnTicsJ1knKQkJCXNlbGVjdCxpbnNlcnQsdXBkYXRlLHJlZmVyZW5jZXMJCiBkZWYJ bXlzcWwJdXNlcglDcmVhdGVfdGFibGVzcGFjZV9wcml2CTMyCU4JTk8JZW51bQkxCTMJTlVMTAlO VUxMCXV0ZjgJdXRmOF9nZW5lcmFsX2NpCWVudW0oJ04nLCdZJykJCQlzZWxlY3QsaW5zZXJ0LHVw ZGF0ZSxyZWZlcmVuY2VzCQpAQCAtMjM2LDcgKzIzNiw3IEBAIGRlZglteXNxbAl1c2VyCW1heF9x dWVzdGlvbnMJMzcJMAlOTwlpbnQKIGRlZglteXNxbAl1c2VyCW1heF91cGRhdGVzCTM4CTAJTk8J aW50CU5VTEwJTlVMTAkxMAkwCU5VTEwJTlVMTAlpbnQoMTEpIHVuc2lnbmVkCQkJc2VsZWN0LGlu c2VydCx1cGRhdGUscmVmZXJlbmNlcwkKIGRlZglteXNxbAl1c2VyCW1heF91c2VyX2Nvbm5lY3Rp b25zCTQwCTAJTk8JaW50CU5VTEwJTlVMTAkxMAkwCU5VTEwJTlVMTAlpbnQoMTEpIHVuc2lnbmVk CQkJc2VsZWN0LGluc2VydCx1cGRhdGUscmVmZXJlbmNlcwkKIGRlZglteXNxbAl1c2VyCVBhc3N3 b3JkCTMJCU5PCWNoYXIJNDEJNDEJTlVMTAlOVUxMCWxhdGluMQlsYXRpbjFfYmluCWNoYXIoNDEp CQkJc2VsZWN0LGluc2VydCx1cGRhdGUscmVmZXJlbmNlcwkKLWRlZglteXNxbAl1c2VyCXBsdWdp bgk0MQkJTk8JY2hhcgk2NAkxOTIJTlVMTAlOVUxMCXV0ZjgJdXRmOF9iaW4JY2hhcig2NCkJCQlz ZWxlY3QsaW5zZXJ0LHVwZGF0ZSxyZWZlcmVuY2VzCQorZGVmCW15c3FsCXVzZXIJcGx1Z2luCTQx CQlZRVMJY2hhcgk2NAkxOTIJTlVMTAlOVUxMCXV0ZjgJdXRmOF9iaW4JY2hhcig2NCkJCQlzZWxl Y3QsaW5zZXJ0LHVwZGF0ZSxyZWZlcmVuY2VzCQogZGVmCW15c3FsCXVzZXIJUHJvY2Vzc19wcml2 CTEyCU4JTk8JZW51bQkxCTMJTlVMTAlOVUxMCXV0ZjgJdXRmOF9nZW5lcmFsX2NpCWVudW0oJ04n LCdZJykJCQlzZWxlY3QsaW5zZXJ0LHVwZGF0ZSxyZWZlcmVuY2VzCQogZGVmCW15c3FsCXVzZXIJ UmVmZXJlbmNlc19wcml2CTE1CU4JTk8JZW51bQkxCTMJTlVMTAlOVUxMCXV0ZjgJdXRmOF9nZW5l cmFsX2NpCWVudW0oJ04nLCdZJykJCQlzZWxlY3QsaW5zZXJ0LHVwZGF0ZSxyZWZlcmVuY2VzCQog ZGVmCW15c3FsCXVzZXIJUmVsb2FkX3ByaXYJMTAJTglOTwllbnVtCTEJMwlOVUxMCU5VTEwJdXRm OAl1dGY4X2dlbmVyYWxfY2kJZW51bSgnTicsJ1knKQkJCXNlbGVjdCxpbnNlcnQsdXBkYXRlLHJl ZmVyZW5jZXMJCgo9PT0gbW9kaWZpZWQgZmlsZSAnbXlzcWwtdGVzdC9zdWl0ZS9mdW5jc18xL3Iv aXNfdXNlcl9wcml2aWxlZ2VzLnJlc3VsdCcKLS0tIGEvbXlzcWwtdGVzdC9zdWl0ZS9mdW5jc18x L3IvaXNfdXNlcl9wcml2aWxlZ2VzLnJlc3VsdAkyMDEwLTA4LTA5IDA4OjMyOjUwICswMDAwCisr KyBiL215c3FsLXRlc3Qvc3VpdGUvZnVuY3NfMS9yL2lzX3VzZXJfcHJpdmlsZWdlcy5yZXN1bHQJ MjAxMS0wMy0xOCAxNDoxNjoxNyArMDAwMApAQCAtMTI4LDcgKzEyOCw3IEBAIG1heF91cGRhdGVz CTAKIG1heF9jb25uZWN0aW9ucwkwCiBtYXhfdXNlcl9jb25uZWN0aW9ucwkwCiBwbHVnaW4JCi1h dXRoZW50aWNhdGlvbl9zdHJpbmcJCithdXRoZW50aWNhdGlvbl9zdHJpbmcJTlVMTAogSG9zdAls b2NhbGhvc3QKIFVzZXIJdGVzdHVzZXIyCiBQYXNzd29yZAkKQEAgLTE3MCw3ICsxNzAsNyBAQCBt YXhfdXBkYXRlcwkwCiBtYXhfY29ubmVjdGlvbnMJMAogbWF4X3VzZXJfY29ubmVjdGlvbnMJMAog cGx1Z2luCQotYXV0aGVudGljYXRpb25fc3RyaW5nCQorYXV0aGVudGljYXRpb25fc3RyaW5nCU5V TEwKIEhvc3QJbG9jYWxob3N0CiBVc2VyCXRlc3R1c2VyMwogUGFzc3dvcmQJCkBAIC0yMTIsNyAr MjEyLDcgQEAgbWF4X3VwZGF0ZXMJMAogbWF4X2Nvbm5lY3Rpb25zCTAKIG1heF91c2VyX2Nvbm5l Y3Rpb25zCTAKIHBsdWdpbgkKLWF1dGhlbnRpY2F0aW9uX3N0cmluZwkKK2F1dGhlbnRpY2F0aW9u X3N0cmluZwlOVUxMCiAjCiAjIEFkZCBHUkFOVCBPUFRJT04gZGJfZGF0YWRpY3QuKiB0byB0ZXN0 dXNlcjE7CiBHUkFOVCBVUERBVEUgT04gZGJfZGF0YWRpY3QuKiBUTyAndGVzdHVzZXIxJ0AnbG9j YWxob3N0JyBXSVRIIEdSQU5UIE9QVElPTjsKQEAgLTI3OCw3ICsyNzgsNyBAQCBtYXhfdXBkYXRl cwkwCiBtYXhfY29ubmVjdGlvbnMJMAogbWF4X3VzZXJfY29ubmVjdGlvbnMJMAogcGx1Z2luCQot YXV0aGVudGljYXRpb25fc3RyaW5nCQorYXV0aGVudGljYXRpb25fc3RyaW5nCU5VTEwKIEhvc3QJ bG9jYWxob3N0CiBVc2VyCXRlc3R1c2VyMgogUGFzc3dvcmQJCkBAIC0zMjAsNyArMzIwLDcgQEAg bWF4X3VwZGF0ZXMJMAogbWF4X2Nvbm5lY3Rpb25zCTAKIG1heF91c2VyX2Nvbm5lY3Rpb25zCTAK IHBsdWdpbgkKLWF1dGhlbnRpY2F0aW9uX3N0cmluZwkKK2F1dGhlbnRpY2F0aW9uX3N0cmluZwlO VUxMCiBIb3N0CWxvY2FsaG9zdAogVXNlcgl0ZXN0dXNlcjMKIFBhc3N3b3JkCQpAQCAtMzYyLDcg KzM2Miw3IEBAIG1heF91cGRhdGVzCTAKIG1heF9jb25uZWN0aW9ucwkwCiBtYXhfdXNlcl9jb25u ZWN0aW9ucwkwCiBwbHVnaW4JCi1hdXRoZW50aWNhdGlvbl9zdHJpbmcJCithdXRoZW50aWNhdGlv bl9zdHJpbmcJTlVMTAogIyBFc3RhYmxpc2ggY29ubmVjdGlvbiB0ZXN0dXNlcjEgKHVzZXI9dGVz dHVzZXIxKQogU0VMRUNUICogRlJPTSBpbmZvcm1hdGlvbl9zY2hlbWEudXNlcl9wcml2aWxlZ2Vz CiBXSEVSRSBncmFudGVlIExJS0UgJycndGVzdHVzZXIlJycnCkBAIC00MTQsNyArNDE0LDcgQEAg bWF4X3VwZGF0ZXMJMAogbWF4X2Nvbm5lY3Rpb25zCTAKIG1heF91c2VyX2Nvbm5lY3Rpb25zCTAK IHBsdWdpbgkKLWF1dGhlbnRpY2F0aW9uX3N0cmluZwkKK2F1dGhlbnRpY2F0aW9uX3N0cmluZwlO VUxMCiBIb3N0CWxvY2FsaG9zdAogVXNlcgl0ZXN0dXNlcjIKIFBhc3N3b3JkCQpAQCAtNDU2LDcg KzQ1Niw3IEBAIG1heF91cGRhdGVzCTAKIG1heF9jb25uZWN0aW9ucwkwCiBtYXhfdXNlcl9jb25u ZWN0aW9ucwkwCiBwbHVnaW4JCi1hdXRoZW50aWNhdGlvbl9zdHJpbmcJCithdXRoZW50aWNhdGlv bl9zdHJpbmcJTlVMTAogSG9zdAlsb2NhbGhvc3QKIFVzZXIJdGVzdHVzZXIzCiBQYXNzd29yZAkK QEAgLTQ5OCw3ICs0OTgsNyBAQCBtYXhfdXBkYXRlcwkwCiBtYXhfY29ubmVjdGlvbnMJMAogbWF4 X3VzZXJfY29ubmVjdGlvbnMJMAogcGx1Z2luCQotYXV0aGVudGljYXRpb25fc3RyaW5nCQorYXV0 aGVudGljYXRpb25fc3RyaW5nCU5VTEwKIFNIT1cgR1JBTlRTOwogR3JhbnRzIGZvciB0ZXN0dXNl cjFAbG9jYWxob3N0CiBHUkFOVCBVU0FHRSBPTiAqLiogVE8gJ3Rlc3R1c2VyMSdAJ2xvY2FsaG9z dCcKQEAgLTU3Miw3ICs1NzIsNyBAQCBtYXhfdXBkYXRlcwkwCiBtYXhfY29ubmVjdGlvbnMJMAog bWF4X3VzZXJfY29ubmVjdGlvbnMJMAogcGx1Z2luCQotYXV0aGVudGljYXRpb25fc3RyaW5nCQor YXV0aGVudGljYXRpb25fc3RyaW5nCU5VTEwKIEhvc3QJbG9jYWxob3N0CiBVc2VyCXRlc3R1c2Vy MgogUGFzc3dvcmQJCkBAIC02MTQsNyArNjE0LDcgQEAgbWF4X3VwZGF0ZXMJMAogbWF4X2Nvbm5l Y3Rpb25zCTAKIG1heF91c2VyX2Nvbm5lY3Rpb25zCTAKIHBsdWdpbgkKLWF1dGhlbnRpY2F0aW9u X3N0cmluZwkKK2F1dGhlbnRpY2F0aW9uX3N0cmluZwlOVUxMCiBIb3N0CWxvY2FsaG9zdAogVXNl cgl0ZXN0dXNlcjMKIFBhc3N3b3JkCQpAQCAtNjU2LDcgKzY1Niw3IEBAIG1heF91cGRhdGVzCTAK IG1heF9jb25uZWN0aW9ucwkwCiBtYXhfdXNlcl9jb25uZWN0aW9ucwkwCiBwbHVnaW4JCi1hdXRo ZW50aWNhdGlvbl9zdHJpbmcJCithdXRoZW50aWNhdGlvbl9zdHJpbmcJTlVMTAogR1JBTlQgU0VM RUNUIE9OICouKiBUTyAndGVzdHVzZXIxJ0AnbG9jYWxob3N0JyBXSVRIIEdSQU5UIE9QVElPTjsK ICMKICMgSGVyZSA8U0VMRUNUIFlFUz4gaXMgc2hvd24gY29ycmVjdGx5IGZvciB0ZXN0dXNlcjE7 CkBAIC03MjIsNyArNzIyLDcgQEAgbWF4X3VwZGF0ZXMJMAogbWF4X2Nvbm5lY3Rpb25zCTAKIG1h eF91c2VyX2Nvbm5lY3Rpb25zCTAKIHBsdWdpbgkKLWF1dGhlbnRpY2F0aW9uX3N0cmluZwkKK2F1 dGhlbnRpY2F0aW9uX3N0cmluZwlOVUxMCiBIb3N0CWxvY2FsaG9zdAogVXNlcgl0ZXN0dXNlcjIK IFBhc3N3b3JkCQpAQCAtNzY0LDcgKzc2NCw3IEBAIG1heF91cGRhdGVzCTAKIG1heF9jb25uZWN0 aW9ucwkwCiBtYXhfdXNlcl9jb25uZWN0aW9ucwkwCiBwbHVnaW4JCi1hdXRoZW50aWNhdGlvbl9z dHJpbmcJCithdXRoZW50aWNhdGlvbl9zdHJpbmcJTlVMTAogSG9zdAlsb2NhbGhvc3QKIFVzZXIJ dGVzdHVzZXIzCiBQYXNzd29yZAkKQEAgLTgwNiw3ICs4MDYsNyBAQCBtYXhfdXBkYXRlcwkwCiBt YXhfY29ubmVjdGlvbnMJMAogbWF4X3VzZXJfY29ubmVjdGlvbnMJMAogcGx1Z2luCQotYXV0aGVu dGljYXRpb25fc3RyaW5nCQorYXV0aGVudGljYXRpb25fc3RyaW5nCU5VTEwKICMgU3dpdGNoIHRv IGNvbm5lY3Rpb24gdGVzdHVzZXIxCiBTRUxFQ1QgKiBGUk9NIGluZm9ybWF0aW9uX3NjaGVtYS51 c2VyX3ByaXZpbGVnZXMKIFdIRVJFIGdyYW50ZWUgTElLRSAnJyd0ZXN0dXNlciUnJycKQEAgLTg1 OCw3ICs4NTgsNyBAQCBtYXhfdXBkYXRlcwkwCiBtYXhfY29ubmVjdGlvbnMJMAogbWF4X3VzZXJf Y29ubmVjdGlvbnMJMAogcGx1Z2luCQotYXV0aGVudGljYXRpb25fc3RyaW5nCQorYXV0aGVudGlj YXRpb25fc3RyaW5nCU5VTEwKIEhvc3QJbG9jYWxob3N0CiBVc2VyCXRlc3R1c2VyMgogUGFzc3dv cmQJCkBAIC05MDAsNyArOTAwLDcgQEAgbWF4X3VwZGF0ZXMJMAogbWF4X2Nvbm5lY3Rpb25zCTAK IG1heF91c2VyX2Nvbm5lY3Rpb25zCTAKIHBsdWdpbgkKLWF1dGhlbnRpY2F0aW9uX3N0cmluZwkK K2F1dGhlbnRpY2F0aW9uX3N0cmluZwlOVUxMCiBIb3N0CWxvY2FsaG9zdAogVXNlcgl0ZXN0dXNl cjMKIFBhc3N3b3JkCQpAQCAtOTQyLDcgKzk0Miw3IEBAIG1heF91cGRhdGVzCTAKIG1heF9jb25u ZWN0aW9ucwkwCiBtYXhfdXNlcl9jb25uZWN0aW9ucwkwCiBwbHVnaW4JCi1hdXRoZW50aWNhdGlv bl9zdHJpbmcJCithdXRoZW50aWNhdGlvbl9zdHJpbmcJTlVMTAogU0hPVyBHUkFOVFM7CiBHcmFu dHMgZm9yIHRlc3R1c2VyMUBsb2NhbGhvc3QKIEdSQU5UIFNFTEVDVCBPTiAqLiogVE8gJ3Rlc3R1 c2VyMSdAJ2xvY2FsaG9zdCcgV0lUSCBHUkFOVCBPUFRJT04KQEAgLTEwNDYsNyArMTA0Niw3IEBA IG1heF91cGRhdGVzCTAKIG1heF9jb25uZWN0aW9ucwkwCiBtYXhfdXNlcl9jb25uZWN0aW9ucwkw CiBwbHVnaW4JCi1hdXRoZW50aWNhdGlvbl9zdHJpbmcJCithdXRoZW50aWNhdGlvbl9zdHJpbmcJ TlVMTAogSG9zdAlsb2NhbGhvc3QKIFVzZXIJdGVzdHVzZXIyCiBQYXNzd29yZAkKQEAgLTEwODgs NyArMTA4OCw3IEBAIG1heF91cGRhdGVzCTAKIG1heF9jb25uZWN0aW9ucwkwCiBtYXhfdXNlcl9j b25uZWN0aW9ucwkwCiBwbHVnaW4JCi1hdXRoZW50aWNhdGlvbl9zdHJpbmcJCithdXRoZW50aWNh dGlvbl9zdHJpbmcJTlVMTAogSG9zdAlsb2NhbGhvc3QKIFVzZXIJdGVzdHVzZXIzCiBQYXNzd29y ZAkKQEAgLTExMzAsNyArMTEzMCw3IEBAIG1heF91cGRhdGVzCTAKIG1heF9jb25uZWN0aW9ucwkw CiBtYXhfdXNlcl9jb25uZWN0aW9ucwkwCiBwbHVnaW4JCi1hdXRoZW50aWNhdGlvbl9zdHJpbmcJ CithdXRoZW50aWNhdGlvbl9zdHJpbmcJTlVMTAogIyBTd2l0Y2ggdG8gY29ubmVjdGlvbiB0ZXN0 dXNlcjEKIFNFTEVDVCAqIEZST00gaW5mb3JtYXRpb25fc2NoZW1hLnVzZXJfcHJpdmlsZWdlcwog V0hFUkUgZ3JhbnRlZSBMSUtFICcnJ3Rlc3R1c2VyJScnJwpAQCAtMTIyOSw3ICsxMjI5LDcgQEAg bWF4X3VwZGF0ZXMJMAogbWF4X2Nvbm5lY3Rpb25zCTAKIG1heF91c2VyX2Nvbm5lY3Rpb25zCTAK IHBsdWdpbgkKLWF1dGhlbnRpY2F0aW9uX3N0cmluZwkKK2F1dGhlbnRpY2F0aW9uX3N0cmluZwlO VUxMCiBIb3N0CWxvY2FsaG9zdAogVXNlcgl0ZXN0dXNlcjIKIFBhc3N3b3JkCQpAQCAtMTI3MSw3 ICsxMjcxLDcgQEAgbWF4X3VwZGF0ZXMJMAogbWF4X2Nvbm5lY3Rpb25zCTAKIG1heF91c2VyX2Nv bm5lY3Rpb25zCTAKIHBsdWdpbgkKLWF1dGhlbnRpY2F0aW9uX3N0cmluZwkKK2F1dGhlbnRpY2F0 aW9uX3N0cmluZwlOVUxMCiBIb3N0CWxvY2FsaG9zdAogVXNlcgl0ZXN0dXNlcjMKIFBhc3N3b3Jk CQpAQCAtMTMxMyw3ICsxMzEzLDcgQEAgbWF4X3VwZGF0ZXMJMAogbWF4X2Nvbm5lY3Rpb25zCTAK IG1heF91c2VyX2Nvbm5lY3Rpb25zCTAKIHBsdWdpbgkKLWF1dGhlbnRpY2F0aW9uX3N0cmluZwkK K2F1dGhlbnRpY2F0aW9uX3N0cmluZwlOVUxMCiAjIFN3aXRjaCB0byBjb25uZWN0aW9uIHRlc3R1 c2VyMQogU0VMRUNUICogRlJPTSBpbmZvcm1hdGlvbl9zY2hlbWEudXNlcl9wcml2aWxlZ2VzCiBX SEVSRSBncmFudGVlIExJS0UgJycndGVzdHVzZXIlJycnCkBAIC0xMzY1LDcgKzEzNjUsNyBAQCBt YXhfdXBkYXRlcwkwCiBtYXhfY29ubmVjdGlvbnMJMAogbWF4X3VzZXJfY29ubmVjdGlvbnMJMAog cGx1Z2luCQotYXV0aGVudGljYXRpb25fc3RyaW5nCQorYXV0aGVudGljYXRpb25fc3RyaW5nCU5V TEwKIEhvc3QJbG9jYWxob3N0CiBVc2VyCXRlc3R1c2VyMgogUGFzc3dvcmQJCkBAIC0xNDA3LDcg KzE0MDcsNyBAQCBtYXhfdXBkYXRlcwkwCiBtYXhfY29ubmVjdGlvbnMJMAogbWF4X3VzZXJfY29u bmVjdGlvbnMJMAogcGx1Z2luCQotYXV0aGVudGljYXRpb25fc3RyaW5nCQorYXV0aGVudGljYXRp b25fc3RyaW5nCU5VTEwKIEhvc3QJbG9jYWxob3N0CiBVc2VyCXRlc3R1c2VyMwogUGFzc3dvcmQJ CkBAIC0xNDQ5LDcgKzE0NDksNyBAQCBtYXhfdXBkYXRlcwkwCiBtYXhfY29ubmVjdGlvbnMJMAog bWF4X3VzZXJfY29ubmVjdGlvbnMJMAogcGx1Z2luCQotYXV0aGVudGljYXRpb25fc3RyaW5nCQor YXV0aGVudGljYXRpb25fc3RyaW5nCU5VTEwKIFNIT1cgR1JBTlRTOwogR3JhbnRzIGZvciB0ZXN0 dXNlcjFAbG9jYWxob3N0CiBHUkFOVCBVU0FHRSBPTiAqLiogVE8gJ3Rlc3R1c2VyMSdAJ2xvY2Fs aG9zdCcKQEAgLTE1MDgsNyArMTUwOCw3IEBAIG1heF91cGRhdGVzCTAKIG1heF9jb25uZWN0aW9u cwkwCiBtYXhfdXNlcl9jb25uZWN0aW9ucwkwCiBwbHVnaW4JCi1hdXRoZW50aWNhdGlvbl9zdHJp bmcJCithdXRoZW50aWNhdGlvbl9zdHJpbmcJTlVMTAogSG9zdAlsb2NhbGhvc3QKIFVzZXIJdGVz dHVzZXIyCiBQYXNzd29yZAkKQEAgLTE1NTAsNyArMTU1MCw3IEBAIG1heF91cGRhdGVzCTAKIG1h eF9jb25uZWN0aW9ucwkwCiBtYXhfdXNlcl9jb25uZWN0aW9ucwkwCiBwbHVnaW4JCi1hdXRoZW50 aWNhdGlvbl9zdHJpbmcJCithdXRoZW50aWNhdGlvbl9zdHJpbmcJTlVMTAogSG9zdAlsb2NhbGhv c3QKIFVzZXIJdGVzdHVzZXIzCiBQYXNzd29yZAkKQEAgLTE1OTIsNyArMTU5Miw3IEBAIG1heF91 cGRhdGVzCTAKIG1heF9jb25uZWN0aW9ucwkwCiBtYXhfdXNlcl9jb25uZWN0aW9ucwkwCiBwbHVn aW4JCi1hdXRoZW50aWNhdGlvbl9zdHJpbmcJCithdXRoZW50aWNhdGlvbl9zdHJpbmcJTlVMTAog U0hPVyBHUkFOVFM7CiBHcmFudHMgZm9yIHRlc3R1c2VyMUBsb2NhbGhvc3QKIEdSQU5UIFVTQUdF IE9OICouKiBUTyAndGVzdHVzZXIxJ0AnbG9jYWxob3N0JwpAQCAtMTY2Niw3ICsxNjY2LDcgQEAg bWF4X3VwZGF0ZXMJMAogbWF4X2Nvbm5lY3Rpb25zCTAKIG1heF91c2VyX2Nvbm5lY3Rpb25zCTAK IHBsdWdpbgkKLWF1dGhlbnRpY2F0aW9uX3N0cmluZwkKK2F1dGhlbnRpY2F0aW9uX3N0cmluZwlO VUxMCiBIb3N0CWxvY2FsaG9zdAogVXNlcgl0ZXN0dXNlcjIKIFBhc3N3b3JkCQpAQCAtMTcwOCw3 ICsxNzA4LDcgQEAgbWF4X3VwZGF0ZXMJMAogbWF4X2Nvbm5lY3Rpb25zCTAKIG1heF91c2VyX2Nv bm5lY3Rpb25zCTAKIHBsdWdpbgkKLWF1dGhlbnRpY2F0aW9uX3N0cmluZwkKK2F1dGhlbnRpY2F0 aW9uX3N0cmluZwlOVUxMCiBIb3N0CWxvY2FsaG9zdAogVXNlcgl0ZXN0dXNlcjMKIFBhc3N3b3Jk CQpAQCAtMTc1MCw3ICsxNzUwLDcgQEAgbWF4X3VwZGF0ZXMJMAogbWF4X2Nvbm5lY3Rpb25zCTAK IG1heF91c2VyX2Nvbm5lY3Rpb25zCTAKIHBsdWdpbgkKLWF1dGhlbnRpY2F0aW9uX3N0cmluZwkK K2F1dGhlbnRpY2F0aW9uX3N0cmluZwlOVUxMCiAjIFN3aXRjaCB0byBjb25uZWN0aW9uIHRlc3R1 c2VyMQogU0VMRUNUICogRlJPTSBpbmZvcm1hdGlvbl9zY2hlbWEudXNlcl9wcml2aWxlZ2VzCiBX SEVSRSBncmFudGVlIExJS0UgJycndGVzdHVzZXIlJycnCgo9PT0gbW9kaWZpZWQgZmlsZSAnbXlz cWwtdGVzdC9zdWl0ZS9ycGwvci9ycGxfY2hlY2tzdW1fY2FjaGUucmVzdWx0JwotLS0gYS9teXNx bC10ZXN0L3N1aXRlL3JwbC9yL3JwbF9jaGVja3N1bV9jYWNoZS5yZXN1bHQJMjAxMS0wMi0yMyAy MDowMToyNyArMDAwMAorKysgYi9teXNxbC10ZXN0L3N1aXRlL3JwbC9yL3JwbF9jaGVja3N1bV9j YWNoZS5yZXN1bHQJMjAxMS0wMy0xOCAxMzoxMTo0NyArMDAwMApAQCAtMiw3ICsyLDcgQEAgaW5j bHVkZS9tYXN0ZXItc2xhdmUuaW5jCiBbY29ubmVjdGlvbiBtYXN0ZXJdCiBjYWxsIG10ci5hZGRf c3VwcHJlc3Npb24oIlVuc2FmZSBzdGF0ZW1lbnQgd3JpdHRlbiB0byB0aGUgYmluYXJ5IGxvZyB1 c2luZyBzdGF0ZW1lbnQgZm9ybWF0IHNpbmNlIEJJTkxPR19GT1JNQVQgPSBTVEFURU1FTlQuIFN0 YXRlbWVudCBpcyB1bnNhZmUgYmVjYXVzZSBpdCB1c2VzIGEgc3lzdGVtIGZ1bmN0aW9uIHRoYXQg bWF5IHJldHVybiBhIGRpZmZlcmVudCB2YWx1ZSBvbiB0aGUgc2xhdmUuIFN0YXRlbWVudDogaW5z ZXJ0IGludG8gdDIgc2V0IGRhdGE9cmVwZWF0LionYScsIEBhY3Rfc2l6ZS4qIik7CiBjYWxsIG10 ci5hZGRfc3VwcHJlc3Npb24oIlVuc2FmZSBzdGF0ZW1lbnQgd3JpdHRlbiB0byB0aGUgYmluYXJ5 IGxvZyB1c2luZyBzdGF0ZW1lbnQgZm9ybWF0IHNpbmNlIEJJTkxPR19GT1JNQVQgPSBTVEFURU1F TlQuIFN0YXRlbWVudCBpcyB1bnNhZmUgYmVjYXVzZSBpdCB1c2VzIGEgc3lzdGVtIGZ1bmN0aW9u IHRoYXQgbWF5IHJldHVybiBhIGRpZmZlcmVudCB2YWx1ZSBvbiB0aGUgc2xhdmUuIFN0YXRlbWVu dDogaW5zZXJ0IGludG8gdDEgdmFsdWVzLiogTkFNRV9DT05TVC4qJ24nLC4qLCBAZGF0YSAuKiIp OwotY2FsbCBtdHIuYWRkX3N1cHByZXNzaW9uKCJTbGF2ZSBTUUw6IHNsYXZlIFNRTCB0aHJlYWQg aXMgYmVpbmcgc3RvcHBlZCBpbiB0aGUgbWlkZGxlIG9mIGFwcGx5aW5nIG9mIGEgZ3JvdXAgaGF2 aW5nIHVwZGF0ZWQgYSBub24tdHJhbnNhY3Rpb24gdGFibGU7IHdhaXRpbmcgZm9yIHRoZSBncm91 cCBjb21wbGV0aW9uIik7CitjYWxsIG10ci5hZGRfc3VwcHJlc3Npb24oIlNsYXZlIFNRTC4qUmVx dWVzdCB0byBzdG9wIHNsYXZlIFNRTCBUaHJlYWQgcmVjZWl2ZWQgd2hpbGUgYXBwbHlpbmcgYSBn cm91cCB0aGF0IGhhcyBub24tdHJhbnNhY3Rpb25hbCBjaGFuZ2VzOyB3YWl0aW5nIGZvciBjb21w bGV0aW9uIG9mIHRoZSBncm91cCIpOwogc2V0IEBzYXZlX2JpbmxvZ19jYWNoZV9zaXplID0gQEBn bG9iYWwuYmlubG9nX2NhY2hlX3NpemU7CiBzZXQgQHNhdmVfYmlubG9nX2NoZWNrc3VtID0gQEBn bG9iYWwuYmlubG9nX2NoZWNrc3VtOwogc2V0IEBzYXZlX21hc3Rlcl92ZXJpZnlfY2hlY2tzdW0g PSBAQGdsb2JhbC5tYXN0ZXJfdmVyaWZ5X2NoZWNrc3VtOwoKPT09IG1vZGlmaWVkIGZpbGUgJ215 c3FsLXRlc3Qvc3VpdGUvcnBsL3IvcnBsX2lnbm9yZV90YWJsZS5yZXN1bHQnCi0tLSBhL215c3Fs LXRlc3Qvc3VpdGUvcnBsL3IvcnBsX2lnbm9yZV90YWJsZS5yZXN1bHQJMjAxMS0wMi0yMyAyMDow MToyNyArMDAwMAorKysgYi9teXNxbC10ZXN0L3N1aXRlL3JwbC9yL3JwbF9pZ25vcmVfdGFibGUu cmVzdWx0CTIwMTEtMDMtMTggMTQ6NTg6MjcgKzAwMDAKQEAgLTMwLDcgKzMwLDYgQEAgV2Fybmlu Z3M6CiBXYXJuaW5nCTEzNjQJRmllbGQgJ3NzbF9jaXBoZXInIGRvZXNuJ3QgaGF2ZSBhIGRlZmF1 bHQgdmFsdWUKIFdhcm5pbmcJMTM2NAlGaWVsZCAneDUwOV9pc3N1ZXInIGRvZXNuJ3QgaGF2ZSBh IGRlZmF1bHQgdmFsdWUKIFdhcm5pbmcJMTM2NAlGaWVsZCAneDUwOV9zdWJqZWN0JyBkb2Vzbid0 IGhhdmUgYSBkZWZhdWx0IHZhbHVlCi1XYXJuaW5nCTEzNjQJRmllbGQgJ2F1dGhlbnRpY2F0aW9u X3N0cmluZycgZG9lc24ndCBoYXZlIGEgZGVmYXVsdCB2YWx1ZQogR1JBTlQgU0VMRUNUIE9OICou KiBUTyBteXNxbHRlc3Q2QGxvY2FsaG9zdDsKIEdSQU5UIElOU0VSVCBPTiAqLiogVE8gbXlzcWx0 ZXN0NkBsb2NhbGhvc3Q7CiBHUkFOVCBJTlNFUlQgT04gdGVzdC4qIFRPIG15c3FsdGVzdDZAbG9j YWxob3N0OwoKPT09IG1vZGlmaWVkIGZpbGUgJ215c3FsLXRlc3Qvc3VpdGUvcnBsL3IvcnBsX3N0 bV8wMDAwMDEucmVzdWx0JwotLS0gYS9teXNxbC10ZXN0L3N1aXRlL3JwbC9yL3JwbF9zdG1fMDAw MDAxLnJlc3VsdAkyMDExLTAyLTIyIDA3OjUyOjQ1ICswMDAwCisrKyBiL215c3FsLXRlc3Qvc3Vp dGUvcnBsL3IvcnBsX3N0bV8wMDAwMDEucmVzdWx0CTIwMTEtMDMtMTggMTQ6NTg6MjcgKzAwMDAK QEAgLTYzLDcgKzYzLDYgQEAgV2FybmluZ3M6CiBXYXJuaW5nCTEzNjQJRmllbGQgJ3NzbF9jaXBo ZXInIGRvZXNuJ3QgaGF2ZSBhIGRlZmF1bHQgdmFsdWUKIFdhcm5pbmcJMTM2NAlGaWVsZCAneDUw OV9pc3N1ZXInIGRvZXNuJ3QgaGF2ZSBhIGRlZmF1bHQgdmFsdWUKIFdhcm5pbmcJMTM2NAlGaWVs ZCAneDUwOV9zdWJqZWN0JyBkb2Vzbid0IGhhdmUgYSBkZWZhdWx0IHZhbHVlCi1XYXJuaW5nCTEz NjQJRmllbGQgJ2F1dGhlbnRpY2F0aW9uX3N0cmluZycgZG9lc24ndCBoYXZlIGEgZGVmYXVsdCB2 YWx1ZQogc2VsZWN0IHNlbGVjdF9wcml2LHVzZXIgZnJvbSBteXNxbC51c2VyIHdoZXJlIHVzZXIg PSBfYmluYXJ5J2JsYWZhc2VsMic7CiBzZWxlY3RfcHJpdgl1c2VyCiBOCWJsYWZhc2VsMgoKPT09 IG1vZGlmaWVkIGZpbGUgJ215c3FsLXRlc3Qvc3VpdGUvcnBsL3QvcnBsX2NoZWNrc3VtX2NhY2hl LnRlc3QnCi0tLSBhL215c3FsLXRlc3Qvc3VpdGUvcnBsL3QvcnBsX2NoZWNrc3VtX2NhY2hlLnRl c3QJMjAxMS0wMi0yMyAyMDowMToyNyArMDAwMAorKysgYi9teXNxbC10ZXN0L3N1aXRlL3JwbC90 L3JwbF9jaGVja3N1bV9jYWNoZS50ZXN0CTIwMTEtMDMtMTggMTM6MTE6NDcgKzAwMDAKQEAgLTQs NyArNCw3IEBACiAtLWRpc2FibGVfd2FybmluZ3MKIGNhbGwgbXRyLmFkZF9zdXBwcmVzc2lvbigi VW5zYWZlIHN0YXRlbWVudCB3cml0dGVuIHRvIHRoZSBiaW5hcnkgbG9nIHVzaW5nIHN0YXRlbWVu dCBmb3JtYXQgc2luY2UgQklOTE9HX0ZPUk1BVCA9IFNUQVRFTUVOVC4gU3RhdGVtZW50IGlzIHVu c2FmZSBiZWNhdXNlIGl0IHVzZXMgYSBzeXN0ZW0gZnVuY3Rpb24gdGhhdCBtYXkgcmV0dXJuIGEg ZGlmZmVyZW50IHZhbHVlIG9uIHRoZSBzbGF2ZS4gU3RhdGVtZW50OiBpbnNlcnQgaW50byB0MiBz ZXQgZGF0YT1yZXBlYXQuKidhJywgQGFjdF9zaXplLioiKTsKIGNhbGwgbXRyLmFkZF9zdXBwcmVz c2lvbigiVW5zYWZlIHN0YXRlbWVudCB3cml0dGVuIHRvIHRoZSBiaW5hcnkgbG9nIHVzaW5nIHN0 YXRlbWVudCBmb3JtYXQgc2luY2UgQklOTE9HX0ZPUk1BVCA9IFNUQVRFTUVOVC4gU3RhdGVtZW50 IGlzIHVuc2FmZSBiZWNhdXNlIGl0IHVzZXMgYSBzeXN0ZW0gZnVuY3Rpb24gdGhhdCBtYXkgcmV0 dXJuIGEgZGlmZmVyZW50IHZhbHVlIG9uIHRoZSBzbGF2ZS4gU3RhdGVtZW50OiBpbnNlcnQgaW50 byB0MSB2YWx1ZXMuKiBOQU1FX0NPTlNULionbicsLiosIEBkYXRhIC4qIik7Ci1jYWxsIG10ci5h ZGRfc3VwcHJlc3Npb24oIlNsYXZlIFNRTDogc2xhdmUgU1FMIHRocmVhZCBpcyBiZWluZyBzdG9w cGVkIGluIHRoZSBtaWRkbGUgb2YgYXBwbHlpbmcgb2YgYSBncm91cCBoYXZpbmcgdXBkYXRlZCBh IG5vbi10cmFuc2FjdGlvbiB0YWJsZTsgd2FpdGluZyBmb3IgdGhlIGdyb3VwIGNvbXBsZXRpb24i KTsKK2NhbGwgbXRyLmFkZF9zdXBwcmVzc2lvbigiU2xhdmUgU1FMLipSZXF1ZXN0IHRvIHN0b3Ag c2xhdmUgU1FMIFRocmVhZCByZWNlaXZlZCB3aGlsZSBhcHBseWluZyBhIGdyb3VwIHRoYXQgaGFz IG5vbi10cmFuc2FjdGlvbmFsIGNoYW5nZXM7IHdhaXRpbmcgZm9yIGNvbXBsZXRpb24gb2YgdGhl IGdyb3VwIik7CiAtLWVuYWJsZV93YXJuaW5ncwogCiBjb25uZWN0aW9uIG1hc3RlcjsKCj09PSBt b2RpZmllZCBmaWxlICdteXNxbC10ZXN0L3QvZnVuY19tYXRoLnRlc3QnCi0tLSBhL215c3FsLXRl c3QvdC9mdW5jX21hdGgudGVzdAkyMDExLTAxLTE0IDE1OjM2OjE5ICswMDAwCisrKyBiL215c3Fs LXRlc3QvdC9mdW5jX21hdGgudGVzdAkyMDExLTAzLTE4IDEyOjI1OjU2ICswMDAwCkBAIC01MDAs MyArNTAwLDggQEAgU0VMRUNUICgoQGE6PUBiOj0xLjApIGRpdiAoQGI6PUBhOj1nZXRfZgogLS1l Y2hvICMgQnVnICM1OTQ5OCBkaXYgZnVuY3Rpb24gYnJva2VuIGluIG15c3FsLXRydW5rCiAtLWVj aG8gIwogU0VMRUNUIDEgZGl2IG51bGw7CisKKy0tZWNobyAjCistLWVjaG8gIyBCdWcgIzExNzky MjAwIC0gRElWSURJTkcgTEFSR0UgTlVNQkVSUyBDQVVTRVMgU1RBQ0sgQ09SUlVQVElPTlMKKy0t ZWNobyAjCitzZWxlY3QgKDEuMTc1NDk0MzUxRS0zNyBkaXYgMS43OTc2OTMxMzQ4NjIzMTU3RSsz MDgpOwoKPT09IG1vZGlmaWVkIGZpbGUgJ215c3FsLXRlc3QvdC9wbHVnaW5fYXV0aC50ZXN0Jwot LS0gYS9teXNxbC10ZXN0L3QvcGx1Z2luX2F1dGgudGVzdAkyMDExLTAyLTA4IDE3OjQ4OjIwICsw MDAwCisrKyBiL215c3FsLXRlc3QvdC9wbHVnaW5fYXV0aC50ZXN0CTIwMTEtMDMtMTggMTQ6NTg6 MjcgKzAwMDAKQEAgLTQzNCw0ICs0MzQsNjEgQEAgY29ubmVjdGlvbiBkZWZhdWx0OwogZGlzY29u bmVjdCBjbGVhcnRleHRfY29uOwogRFJPUCBVU0VSIHVwbGFpbkBsb2NhbGhvc3Q7CiAKKy0tZWNo byAjCistLWVjaG8gIyBCdWcgIzU5MDM4IDogbXlzcWwudXNlci5hdXRoZW50aWNhdGlvbl9zdHJp bmcgY29sdW1uIAorLS1lY2hvICMgICBjYXVzZXMgY29uZmlndXJhdGlvbiB3aXphcmQgdG8gZmFp bAorCitJTlNFUlQgSU5UTyBteXNxbC51c2VyKAorICBIb3N0LCAKKyAgVXNlciwgCisgIFBhc3N3 b3JkLCAgCisgIFNlbGVjdF9wcml2LCAKKyAgSW5zZXJ0X3ByaXYsCisgIFVwZGF0ZV9wcml2LCAK KyAgRGVsZXRlX3ByaXYsIAorICBDcmVhdGVfcHJpdiwgCisgIERyb3BfcHJpdiwgIAorICBSZWxv YWRfcHJpdiwgCisgIFNodXRkb3duX3ByaXYsCisgIFByb2Nlc3NfcHJpdiwgCisgIEZpbGVfcHJp diwgCisgIEdyYW50X3ByaXYsIAorICBSZWZlcmVuY2VzX3ByaXYsICAKKyAgSW5kZXhfcHJpdiwg CisgIEFsdGVyX3ByaXYsCisgIFNob3dfZGJfcHJpdiwgCisgIFN1cGVyX3ByaXYsIAorICBDcmVh dGVfdG1wX3RhYmxlX3ByaXYsIAorICBMb2NrX3RhYmxlc19wcml2LCAgCisgIEV4ZWN1dGVfcHJp diwKKyAgUmVwbF9zbGF2ZV9wcml2LCAKKyAgUmVwbF9jbGllbnRfcHJpdiwgCisgIC8qITUwMDAx IAorICBDcmVhdGVfdmlld19wcml2LCAKKyAgU2hvd192aWV3X3ByaXYsIAorICBDcmVhdGVfcm91 dGluZV9wcml2LCAKKyAgQWx0ZXJfcm91dGluZV9wcml2LCAKKyAgQ3JlYXRlX3VzZXJfcHJpdiwg CisgICovIAorICBzc2xfdHlwZSwgCisgIHNzbF9jaXBoZXIsCisgIHg1MDlfaXNzdWVyLCAKKyAg eDUwOV9zdWJqZWN0LCAKKyAgbWF4X3F1ZXN0aW9ucywgCisgIG1heF91cGRhdGVzLCAKKyAgbWF4 X2Nvbm5lY3Rpb25zKQorVkFMVUVTICgKKyAgJ2xvY2FsaG9zdCcsIAorICAnaW5zZXJ0dGVzdCcs ICcnLCAKKyAgJ1knLCAnWScsICdZJywgJ1knLCAnWScsICdZJywgJ1knLCAnWScsICdZJywgJ1kn LCAnWScsICdZJywKKyAgJ1knLCAnWScsICAnWScsICdZJywgJ1knLCAnWScsICdZJywgJ1knLCAn WScsIAorICAvKiE1MDAwMSAnWScsICdZJywgJ1knLCAnWScsICdZJywgKi8nJywgJycsICcnLCAn JywgJzAnLCAnMCcsICcwJyk7CitGTFVTSCBQUklWSUxFR0VTOworRFJPUCBVU0VSIGluc2VydHRl c3RAbG9jYWxob3N0OworU0VMRUNUIElTX05VTExBQkxFLCBDT0xVTU5fTkFNRSBGUk9NIElORk9S TUFUSU9OX1NDSEVNQS5DT0xVTU5TIFdIRVJFIAorICBDT0xVTU5fTkFNRSBJTiAoJ2F1dGhlbnRp Y2F0aW9uX3N0cmluZycsICdwbHVnaW4nKSBBTkQgCisgIFRBQkxFX05BTUU9J3VzZXInIEFORAor ICBUQUJMRV9TQ0hFTUE9J215c3FsJworT1JERVIgQlkgQ09MVU1OX05BTUU7CisKIC0tZWNobyBF bmQgb2YgNS41IHRlc3RzCgo9PT0gbW9kaWZpZWQgZmlsZSAnc2NyaXB0cy9teXNxbF9zeXN0ZW1f dGFibGVzLnNxbCcKLS0tIGEvc2NyaXB0cy9teXNxbF9zeXN0ZW1fdGFibGVzLnNxbAkyMDExLTAz LTE3IDE3OjM5OjMxICswMDAwCisrKyBiL3NjcmlwdHMvbXlzcWxfc3lzdGVtX3RhYmxlcy5zcWwJ MjAxMS0wMy0xOCAyMjo1MToxNyArMDAwMApAQCAtMjgsNyArMjgsNyBAQCBzZXQgQGhhZF9kYl90 YWJsZT0gQEB3YXJuaW5nX2NvdW50ICE9IDA7CiBDUkVBVEUgVEFCTEUgSUYgTk9UIEVYSVNUUyBo b3N0ICggIEhvc3QgY2hhcig2MCkgYmluYXJ5IERFRkFVTFQgJycgTk9UIE5VTEwsIERiIGNoYXIo NjQpIGJpbmFyeSBERUZBVUxUICcnIE5PVCBOVUxMLCBTZWxlY3RfcHJpdiBlbnVtKCdOJywnWScp IENPTExBVEUgdXRmOF9nZW5lcmFsX2NpIERFRkFVTFQgJ04nIE5PVCBOVUxMLCBJbnNlcnRfcHJp diBlbnVtKCdOJywnWScpIENPTExBVEUgdXRmOF9nZW5lcmFsX2NpIERFRkFVTFQgJ04nIE5PVCBO VUxMLCBVcGRhdGVfcHJpdiBlbnVtKCdOJywnWScpIENPTExBVEUgdXRmOF9nZW5lcmFsX2NpIERF RkFVTFQgJ04nIE5PVCBOVUxMLCBEZWxldGVfcHJpdiBlbnVtKCdOJywnWScpIENPTExBVEUgdXRm OF9nZW5lcmFsX2NpIERFRkFVTFQgJ04nIE5PVCBOVUxMLCBDcmVhdGVfcHJpdiBlbnVtKCdOJywn WScpIENPTExBVEUgdXRmOF9nZW5lcmFsX2NpIERFRkFVTFQgJ04nIE5PVCBOVUxMLCBEcm9wX3By aXYgZW51bSgnTicsJ1knKSBDT0xMQVRFIHV0ZjhfZ2VuZXJhbF9jaSBERUZBVUxUICdOJyBOT1Qg TlVMTCwgR3JhbnRfcHJpdiBlbnVtKCdOJywnWScpIENPTExBVEUgdXRmOF9nZW5lcmFsX2NpIERF RkFVTFQgJ04nIE5PVCBOVUxMLCBSZWZlcmVuY2VzX3ByaXYgZW51bSgnTicsJ1knKSBDT0xMQVRF IHV0ZjhfZ2VuZXJhbF9jaSBERUZBVUxUICdOJyBOT1QgTlVMTCwgSW5kZXhfcHJpdiBlbnVtKCdO JywnWScpIENPTExBVEUgdXRmOF9nZW5lcmFsX2NpIERFRkFVTFQgJ04nIE5PVCBOVUxMLCBBbHRl cl9wcml2IGVudW0oJ04nLCdZJykgQ09MTEFURSB1dGY4X2dlbmVyYWxfY2kgREVGQVVMVCAnTicg Tk9UIE5VTEwsIENyZWF0ZV90bXBfdGFibGVfcHJpdiBlbnVtKCdOJywnWScpIENPTExBVEUgdXRm OF9nZW5lcmFsX2NpIERFRkFVTFQgJ04nIE5PVCBOVUxMLCBMb2NrX3RhYmxlc19wcml2IGVudW0o J04nLCdZJykgQ09MTEFURSB1dGY4X2dlbmVyYWxfY2kgREVGQVVMVCAnTicgTk9UIE5VTEwsIENy ZWF0ZV92aWV3X3ByaXYgZW51bSgnTicsJ1knKSBDT0xMQVRFIHV0ZjhfZ2VuZXJhbF9jaSBERUZB VUxUICdOJyBOT1QgTlVMTCwgU2hvd192aWV3X3ByaXYgZW51bSgnTicsJ1knKSBDT0xMQVRFIHV0 ZjhfZ2VuZXJhbF9jaSBERUZBVUxUICdOJyBOT1QgTlVMTCwgQ3JlYXRlX3JvdXRpbmVfcHJpdiBl bnVtKCdOJywnWScpIENPTExBVEUgdXRmOF9nZW5lcmFsX2NpIERFRkFVTFQgJ04nIE5PVCBOVUxM LCBBbHRlcl9yb3V0aW5lX3ByaXYgZW51bSgnTicsJ1knKSBDT0xMQVRFIHV0ZjhfZ2VuZXJhbF9j aSBERUZBVUxUICdOJyBOT1QgTlVMTCwgRXhlY3V0ZV9wcml2IGVudW0oJ04nLCdZJykgQ09MTEFU RSB1dGY4X2dlbmVyYWxfY2kgREVGQVVMVCAnTicgTk9UIE5VTEwsIFRyaWdnZXJfcHJpdiBlbnVt KCdOJywnWScpIENPTExBVEUgdXRmOF9nZW5lcmFsX2NpIERFRkFVTFQgJ04nIE5PVCBOVUxMLCBQ UklNQVJZIEtFWSBIb3N0IChIb3N0LERiKSApIGVuZ2luZT1NeUlTQU0gQ0hBUkFDVEVSIFNFVCB1 dGY4IENPTExBVEUgdXRmOF9iaW4gY29tbWVudD0nSG9zdCBwcml2aWxlZ2VzOyAgTWVyZ2VkIHdp dGggZGF0YWJhc2UgcHJpdmlsZWdlcyc7CiAKIAotQ1JFQVRFIFRBQkxFIElGIE5PVCBFWElTVFMg dXNlciAoICAgSG9zdCBjaGFyKDYwKSBiaW5hcnkgREVGQVVMVCAnJyBOT1QgTlVMTCwgVXNlciBj aGFyKDE2KSBiaW5hcnkgREVGQVVMVCAnJyBOT1QgTlVMTCwgUGFzc3dvcmQgY2hhcig0MSkgY2hh cmFjdGVyIHNldCBsYXRpbjEgY29sbGF0ZSBsYXRpbjFfYmluIERFRkFVTFQgJycgTk9UIE5VTEws IFNlbGVjdF9wcml2IGVudW0oJ04nLCdZJykgQ09MTEFURSB1dGY4X2dlbmVyYWxfY2kgREVGQVVM VCAnTicgTk9UIE5VTEwsIEluc2VydF9wcml2IGVudW0oJ04nLCdZJykgQ09MTEFURSB1dGY4X2dl bmVyYWxfY2kgREVGQVVMVCAnTicgTk9UIE5VTEwsIFVwZGF0ZV9wcml2IGVudW0oJ04nLCdZJykg Q09MTEFURSB1dGY4X2dlbmVyYWxfY2kgREVGQVVMVCAnTicgTk9UIE5VTEwsIERlbGV0ZV9wcml2 IGVudW0oJ04nLCdZJykgQ09MTEFURSB1dGY4X2dlbmVyYWxfY2kgREVGQVVMVCAnTicgTk9UIE5V TEwsIENyZWF0ZV9wcml2IGVudW0oJ04nLCdZJykgQ09MTEFURSB1dGY4X2dlbmVyYWxfY2kgREVG QVVMVCAnTicgTk9UIE5VTEwsIERyb3BfcHJpdiBlbnVtKCdOJywnWScpIENPTExBVEUgdXRmOF9n ZW5lcmFsX2NpIERFRkFVTFQgJ04nIE5PVCBOVUxMLCBSZWxvYWRfcHJpdiBlbnVtKCdOJywnWScp IENPTExBVEUgdXRmOF9nZW5lcmFsX2NpIERFRkFVTFQgJ04nIE5PVCBOVUxMLCBTaHV0ZG93bl9w cml2IGVudW0oJ04nLCdZJykgQ09MTEFURSB1dGY4X2dlbmVyYWxfY2kgREVGQVVMVCAnTicgTk9U IE5VTEwsIFByb2Nlc3NfcHJpdiBlbnVtKCdOJywnWScpIENPTExBVEUgdXRmOF9nZW5lcmFsX2Np IERFRkFVTFQgJ04nIE5PVCBOVUxMLCBGaWxlX3ByaXYgZW51bSgnTicsJ1knKSBDT0xMQVRFIHV0 ZjhfZ2VuZXJhbF9jaSBERUZBVUxUICdOJyBOT1QgTlVMTCwgR3JhbnRfcHJpdiBlbnVtKCdOJywn WScpIENPTExBVEUgdXRmOF9nZW5lcmFsX2NpIERFRkFVTFQgJ04nIE5PVCBOVUxMLCBSZWZlcmVu Y2VzX3ByaXYgZW51bSgnTicsJ1knKSBDT0xMQVRFIHV0ZjhfZ2VuZXJhbF9jaSBERUZBVUxUICdO JyBOT1QgTlVMTCwgSW5kZXhfcHJpdiBlbnVtKCdOJywnWScpIENPTExBVEUgdXRmOF9nZW5lcmFs X2NpIERFRkFVTFQgJ04nIE5PVCBOVUxMLCBBbHRlcl9wcml2IGVudW0oJ04nLCdZJykgQ09MTEFU RSB1dGY4X2dlbmVyYWxfY2kgREVGQVVMVCAnTicgTk9UIE5VTEwsIFNob3dfZGJfcHJpdiBlbnVt KCdOJywnWScpIENPTExBVEUgdXRmOF9nZW5lcmFsX2NpIERFRkFVTFQgJ04nIE5PVCBOVUxMLCBT dXBlcl9wcml2IGVudW0oJ04nLCdZJykgQ09MTEFURSB1dGY4X2dlbmVyYWxfY2kgREVGQVVMVCAn TicgTk9UIE5VTEwsIENyZWF0ZV90bXBfdGFibGVfcHJpdiBlbnVtKCdOJywnWScpIENPTExBVEUg dXRmOF9nZW5lcmFsX2NpIERFRkFVTFQgJ04nIE5PVCBOVUxMLCBMb2NrX3RhYmxlc19wcml2IGVu dW0oJ04nLCdZJykgQ09MTEFURSB1dGY4X2dlbmVyYWxfY2kgREVGQVVMVCAnTicgTk9UIE5VTEws IEV4ZWN1dGVfcHJpdiBlbnVtKCdOJywnWScpIENPTExBVEUgdXRmOF9nZW5lcmFsX2NpIERFRkFV TFQgJ04nIE5PVCBOVUxMLCBSZXBsX3NsYXZlX3ByaXYgZW51bSgnTicsJ1knKSBDT0xMQVRFIHV0 ZjhfZ2VuZXJhbF9jaSBERUZBVUxUICdOJyBOT1QgTlVMTCwgUmVwbF9jbGllbnRfcHJpdiBlbnVt KCdOJywnWScpIENPTExBVEUgdXRmOF9nZW5lcmFsX2NpIERFRkFVTFQgJ04nIE5PVCBOVUxMLCBD cmVhdGVfdmlld19wcml2IGVudW0oJ04nLCdZJykgQ09MTEFURSB1dGY4X2dlbmVyYWxfY2kgREVG QVVMVCAnTicgTk9UIE5VTEwsIFNob3dfdmlld19wcml2IGVudW0oJ04nLCdZJykgQ09MTEFURSB1 dGY4X2dlbmVyYWxfY2kgREVGQVVMVCAnTicgTk9UIE5VTEwsIENyZWF0ZV9yb3V0aW5lX3ByaXYg ZW51bSgnTicsJ1knKSBDT0xMQVRFIHV0ZjhfZ2VuZXJhbF9jaSBERUZBVUxUICdOJyBOT1QgTlVM TCwgQWx0ZXJfcm91dGluZV9wcml2IGVudW0oJ04nLCdZJykgQ09MTEFURSB1dGY4X2dlbmVyYWxf Y2kgREVGQVVMVCAnTicgTk9UIE5VTEwsIENyZWF0ZV91c2VyX3ByaXYgZW51bSgnTicsJ1knKSBD T0xMQVRFIHV0ZjhfZ2VuZXJhbF9jaSBERUZBVUxUICdOJyBOT1QgTlVMTCwgRXZlbnRfcHJpdiBl bnVtKCdOJywnWScpIENPTExBVEUgdXRmOF9nZW5lcmFsX2NpIERFRkFVTFQgJ04nIE5PVCBOVUxM LCBUcmlnZ2VyX3ByaXYgZW51bSgnTicsJ1knKSBDT0xMQVRFIHV0ZjhfZ2VuZXJhbF9jaSBERUZB VUxUICdOJyBOT1QgTlVMTCwgQ3JlYXRlX3RhYmxlc3BhY2VfcHJpdiBlbnVtKCdOJywnWScpIENP TExBVEUgdXRmOF9nZW5lcmFsX2NpIERFRkFVTFQgJ04nIE5PVCBOVUxMLCBzc2xfdHlwZSBlbnVt KCcnLCdBTlknLCdYNTA5JywgJ1NQRUNJRklFRCcpIENPTExBVEUgdXRmOF9nZW5lcmFsX2NpIERF RkFVTFQgJycgTk9UIE5VTEwsIHNzbF9jaXBoZXIgQkxPQiBOT1QgTlVMTCwgeDUwOV9pc3N1ZXIg QkxPQiBOT1QgTlVMTCwgeDUwOV9zdWJqZWN0IEJMT0IgTk9UIE5VTEwsIG1heF9xdWVzdGlvbnMg aW50KDExKSB1bnNpZ25lZCBERUZBVUxUIDAgIE5PVCBOVUxMLCBtYXhfdXBkYXRlcyBpbnQoMTEp IHVuc2lnbmVkIERFRkFVTFQgMCAgTk9UIE5VTEwsIG1heF9jb25uZWN0aW9ucyBpbnQoMTEpIHVu c2lnbmVkIERFRkFVTFQgMCAgTk9UIE5VTEwsIG1heF91c2VyX2Nvbm5lY3Rpb25zIGludCgxMSkg dW5zaWduZWQgREVGQVVMVCAwICBOT1QgTlVMTCwgcGx1Z2luIGNoYXIoNjQpIERFRkFVTFQgJycg Tk9UIE5VTEwsIGF1dGhlbnRpY2F0aW9uX3N0cmluZyBURVhUIE5PVCBOVUxMLCBQUklNQVJZIEtF WSBIb3N0IChIb3N0LFVzZXIpICkgZW5naW5lPU15SVNBTSBDSEFSQUNURVIgU0VUIHV0ZjggQ09M TEFURSB1dGY4X2JpbiBjb21tZW50PSdVc2VycyBhbmQgZ2xvYmFsIHByaXZpbGVnZXMnOworQ1JF QVRFIFRBQkxFIElGIE5PVCBFWElTVFMgdXNlciAoICAgSG9zdCBjaGFyKDYwKSBiaW5hcnkgREVG QVVMVCAnJyBOT1QgTlVMTCwgVXNlciBjaGFyKDE2KSBiaW5hcnkgREVGQVVMVCAnJyBOT1QgTlVM TCwgUGFzc3dvcmQgY2hhcig0MSkgY2hhcmFjdGVyIHNldCBsYXRpbjEgY29sbGF0ZSBsYXRpbjFf YmluIERFRkFVTFQgJycgTk9UIE5VTEwsIFNlbGVjdF9wcml2IGVudW0oJ04nLCdZJykgQ09MTEFU RSB1dGY4X2dlbmVyYWxfY2kgREVGQVVMVCAnTicgTk9UIE5VTEwsIEluc2VydF9wcml2IGVudW0o J04nLCdZJykgQ09MTEFURSB1dGY4X2dlbmVyYWxfY2kgREVGQVVMVCAnTicgTk9UIE5VTEwsIFVw ZGF0ZV9wcml2IGVudW0oJ04nLCdZJykgQ09MTEFURSB1dGY4X2dlbmVyYWxfY2kgREVGQVVMVCAn TicgTk9UIE5VTEwsIERlbGV0ZV9wcml2IGVudW0oJ04nLCdZJykgQ09MTEFURSB1dGY4X2dlbmVy YWxfY2kgREVGQVVMVCAnTicgTk9UIE5VTEwsIENyZWF0ZV9wcml2IGVudW0oJ04nLCdZJykgQ09M TEFURSB1dGY4X2dlbmVyYWxfY2kgREVGQVVMVCAnTicgTk9UIE5VTEwsIERyb3BfcHJpdiBlbnVt KCdOJywnWScpIENPTExBVEUgdXRmOF9nZW5lcmFsX2NpIERFRkFVTFQgJ04nIE5PVCBOVUxMLCBS ZWxvYWRfcHJpdiBlbnVtKCdOJywnWScpIENPTExBVEUgdXRmOF9nZW5lcmFsX2NpIERFRkFVTFQg J04nIE5PVCBOVUxMLCBTaHV0ZG93bl9wcml2IGVudW0oJ04nLCdZJykgQ09MTEFURSB1dGY4X2dl bmVyYWxfY2kgREVGQVVMVCAnTicgTk9UIE5VTEwsIFByb2Nlc3NfcHJpdiBlbnVtKCdOJywnWScp IENPTExBVEUgdXRmOF9nZW5lcmFsX2NpIERFRkFVTFQgJ04nIE5PVCBOVUxMLCBGaWxlX3ByaXYg ZW51bSgnTicsJ1knKSBDT0xMQVRFIHV0ZjhfZ2VuZXJhbF9jaSBERUZBVUxUICdOJyBOT1QgTlVM TCwgR3JhbnRfcHJpdiBlbnVtKCdOJywnWScpIENPTExBVEUgdXRmOF9nZW5lcmFsX2NpIERFRkFV TFQgJ04nIE5PVCBOVUxMLCBSZWZlcmVuY2VzX3ByaXYgZW51bSgnTicsJ1knKSBDT0xMQVRFIHV0 ZjhfZ2VuZXJhbF9jaSBERUZBVUxUICdOJyBOT1QgTlVMTCwgSW5kZXhfcHJpdiBlbnVtKCdOJywn WScpIENPTExBVEUgdXRmOF9nZW5lcmFsX2NpIERFRkFVTFQgJ04nIE5PVCBOVUxMLCBBbHRlcl9w cml2IGVudW0oJ04nLCdZJykgQ09MTEFURSB1dGY4X2dlbmVyYWxfY2kgREVGQVVMVCAnTicgTk9U IE5VTEwsIFNob3dfZGJfcHJpdiBlbnVtKCdOJywnWScpIENPTExBVEUgdXRmOF9nZW5lcmFsX2Np IERFRkFVTFQgJ04nIE5PVCBOVUxMLCBTdXBlcl9wcml2IGVudW0oJ04nLCdZJykgQ09MTEFURSB1 dGY4X2dlbmVyYWxfY2kgREVGQVVMVCAnTicgTk9UIE5VTEwsIENyZWF0ZV90bXBfdGFibGVfcHJp diBlbnVtKCdOJywnWScpIENPTExBVEUgdXRmOF9nZW5lcmFsX2NpIERFRkFVTFQgJ04nIE5PVCBO VUxMLCBMb2NrX3RhYmxlc19wcml2IGVudW0oJ04nLCdZJykgQ09MTEFURSB1dGY4X2dlbmVyYWxf Y2kgREVGQVVMVCAnTicgTk9UIE5VTEwsIEV4ZWN1dGVfcHJpdiBlbnVtKCdOJywnWScpIENPTExB VEUgdXRmOF9nZW5lcmFsX2NpIERFRkFVTFQgJ04nIE5PVCBOVUxMLCBSZXBsX3NsYXZlX3ByaXYg ZW51bSgnTicsJ1knKSBDT0xMQVRFIHV0ZjhfZ2VuZXJhbF9jaSBERUZBVUxUICdOJyBOT1QgTlVM TCwgUmVwbF9jbGllbnRfcHJpdiBlbnVtKCdOJywnWScpIENPTExBVEUgdXRmOF9nZW5lcmFsX2Np IERFRkFVTFQgJ04nIE5PVCBOVUxMLCBDcmVhdGVfdmlld19wcml2IGVudW0oJ04nLCdZJykgQ09M TEFURSB1dGY4X2dlbmVyYWxfY2kgREVGQVVMVCAnTicgTk9UIE5VTEwsIFNob3dfdmlld19wcml2 IGVudW0oJ04nLCdZJykgQ09MTEFURSB1dGY4X2dlbmVyYWxfY2kgREVGQVVMVCAnTicgTk9UIE5V TEwsIENyZWF0ZV9yb3V0aW5lX3ByaXYgZW51bSgnTicsJ1knKSBDT0xMQVRFIHV0ZjhfZ2VuZXJh bF9jaSBERUZBVUxUICdOJyBOT1QgTlVMTCwgQWx0ZXJfcm91dGluZV9wcml2IGVudW0oJ04nLCdZ JykgQ09MTEFURSB1dGY4X2dlbmVyYWxfY2kgREVGQVVMVCAnTicgTk9UIE5VTEwsIENyZWF0ZV91 c2VyX3ByaXYgZW51bSgnTicsJ1knKSBDT0xMQVRFIHV0ZjhfZ2VuZXJhbF9jaSBERUZBVUxUICdO JyBOT1QgTlVMTCwgRXZlbnRfcHJpdiBlbnVtKCdOJywnWScpIENPTExBVEUgdXRmOF9nZW5lcmFs X2NpIERFRkFVTFQgJ04nIE5PVCBOVUxMLCBUcmlnZ2VyX3ByaXYgZW51bSgnTicsJ1knKSBDT0xM QVRFIHV0ZjhfZ2VuZXJhbF9jaSBERUZBVUxUICdOJyBOT1QgTlVMTCwgQ3JlYXRlX3RhYmxlc3Bh Y2VfcHJpdiBlbnVtKCdOJywnWScpIENPTExBVEUgdXRmOF9nZW5lcmFsX2NpIERFRkFVTFQgJ04n IE5PVCBOVUxMLCBzc2xfdHlwZSBlbnVtKCcnLCdBTlknLCdYNTA5JywgJ1NQRUNJRklFRCcpIENP TExBVEUgdXRmOF9nZW5lcmFsX2NpIERFRkFVTFQgJycgTk9UIE5VTEwsIHNzbF9jaXBoZXIgQkxP QiBOT1QgTlVMTCwgeDUwOV9pc3N1ZXIgQkxPQiBOT1QgTlVMTCwgeDUwOV9zdWJqZWN0IEJMT0Ig Tk9UIE5VTEwsIG1heF9xdWVzdGlvbnMgaW50KDExKSB1bnNpZ25lZCBERUZBVUxUIDAgIE5PVCBO VUxMLCBtYXhfdXBkYXRlcyBpbnQoMTEpIHVuc2lnbmVkIERFRkFVTFQgMCAgTk9UIE5VTEwsIG1h eF9jb25uZWN0aW9ucyBpbnQoMTEpIHVuc2lnbmVkIERFRkFVTFQgMCAgTk9UIE5VTEwsIG1heF91 c2VyX2Nvbm5lY3Rpb25zIGludCgxMSkgdW5zaWduZWQgREVGQVVMVCAwICBOT1QgTlVMTCwgcGx1 Z2luIGNoYXIoNjQpIERFRkFVTFQgJycsIGF1dGhlbnRpY2F0aW9uX3N0cmluZyBURVhULCBQUklN QVJZIEtFWSBIb3N0IChIb3N0LFVzZXIpICkgZW5naW5lPU15SVNBTSBDSEFSQUNURVIgU0VUIHV0 ZjggQ09MTEFURSB1dGY4X2JpbiBjb21tZW50PSdVc2VycyBhbmQgZ2xvYmFsIHByaXZpbGVnZXMn OwogCiAtLSBSZW1lbWJlciBmb3IgbGF0ZXIgaWYgdXNlciB0YWJsZSBhbHJlYWR5IGV4aXN0ZWQK IHNldCBAaGFkX3VzZXJfdGFibGU9IEBAd2FybmluZ19jb3VudCAhPSAwOwoKPT09IG1vZGlmaWVk IGZpbGUgJ3NjcmlwdHMvbXlzcWxfc3lzdGVtX3RhYmxlc19maXguc3FsJwotLS0gYS9zY3JpcHRz L215c3FsX3N5c3RlbV90YWJsZXNfZml4LnNxbAkyMDExLTAzLTE0IDE4OjQzOjE5ICswMDAwCisr KyBiL3NjcmlwdHMvbXlzcWxfc3lzdGVtX3RhYmxlc19maXguc3FsCTIwMTEtMDMtMTggMTQ6NTg6 MjcgKzAwMDAKQEAgLTY0Miw4ICs2NDIsOCBAQCBEUk9QIFBSRVBBUkUgc3RtdDsKIAogZHJvcCBw cm9jZWR1cmUgbXlzcWwuZGllOwogCi1BTFRFUiBUQUJMRSB1c2VyIEFERCBwbHVnaW4gY2hhcig2 NCkgREVGQVVMVCAnJyBOT1QgTlVMTCwgIEFERCBhdXRoZW50aWNhdGlvbl9zdHJpbmcgVEVYVCBO T1QgTlVMTDsKLUFMVEVSIFRBQkxFIHVzZXIgTU9ESUZZIHBsdWdpbiBjaGFyKDY0KSBERUZBVUxU ICcnIE5PVCBOVUxMOworQUxURVIgVEFCTEUgdXNlciBBREQgcGx1Z2luIGNoYXIoNjQpIERFRkFV TFQgJycsICBBREQgYXV0aGVudGljYXRpb25fc3RyaW5nIFRFWFQ7CitBTFRFUiBUQUJMRSB1c2Vy IE1PRElGWSBwbHVnaW4gY2hhcig2NCkgREVGQVVMVCAnJzsKIAogLS0gTmVlZCB0byBwcmUtZmls bCBteXNxbC5wcm94aWVzX3ByaXYgd2l0aCBhY2Nlc3MgZm9yIHJvb3QgZXZlbiB3aGVuIHVwZ3Jh ZGluZyBmcm9tCiAtLSBvbGRlciB2ZXJzaW9ucwoKPT09IG1vZGlmaWVkIGZpbGUgJ3NxbC9teV9k ZWNpbWFsLmgnCi0tLSBhL3NxbC9teV9kZWNpbWFsLmgJMjAxMS0wMy0wOSAyMDo1NDo1NSArMDAw MAorKysgYi9zcWwvbXlfZGVjaW1hbC5oCTIwMTEtMDMtMTggMTI6MjU6NTYgKzAwMDAKQEAgLTE3 OCw3ICsxNzgsNyBAQCB2b2lkIG1heF9teV9kZWNpbWFsKG15X2RlY2ltYWwgKnRvLCBpbnQgCiB7 CiAgIERCVUdfQVNTRVJUKChwcmVjaXNpb24gPD0gREVDSU1BTF9NQVhfUFJFQ0lTSU9OKSYmCiAg ICAgICAgICAgICAgIChmcmFjIDw9IERFQ0lNQUxfTUFYX1NDQUxFKSk7Ci0gIG1heF9kZWNpbWFs KHByZWNpc2lvbiwgZnJhYywgKGRlY2ltYWxfdCopIHRvKTsKKyAgbWF4X2RlY2ltYWwocHJlY2lz aW9uLCBmcmFjLCB0byk7CiB9CiAKIGlubGluZSB2b2lkIG1heF9pbnRlcm5hbF9kZWNpbWFsKG15 X2RlY2ltYWwgKnRvKQpAQCAtMjc3LDE0ICsyNzcsMTkgQEAgaW5saW5lCiBpbnQgYmluYXJ5Mm15 X2RlY2ltYWwodWludCBtYXNrLCBjb25zdCB1Y2hhciAqYmluLCBteV9kZWNpbWFsICpkLCBpbnQg cHJlYywKIAkJICAgICAgaW50IHNjYWxlKQogewotICByZXR1cm4gY2hlY2tfcmVzdWx0KG1hc2ss IGJpbjJkZWNpbWFsKGJpbiwgKGRlY2ltYWxfdCopIGQsIHByZWMsIHNjYWxlKSk7CisgIHJldHVy biBjaGVja19yZXN1bHQobWFzaywgYmluMmRlY2ltYWwoYmluLCBkLCBwcmVjLCBzY2FsZSkpOwog fQogCiAKIGlubGluZQogaW50IG15X2RlY2ltYWxfc2V0X3plcm8obXlfZGVjaW1hbCAqZCkKIHsK LSAgZGVjaW1hbF9tYWtlX3plcm8oKChkZWNpbWFsX3QqKSBkKSk7CisgIC8qCisgICAgV2UgbmVl ZCB0aGUgdXAtY2FzdCBoZXJlLCBzaW5jZSBteV9kZWNpbWFsIGhhcyBzaWduKCkgbWVtYmVyIGZ1 bmN0aW9ucywKKyAgICB3aGljaCBjb25mbGljdHMgd2l0aCBkZWNpbWFsX3Q6OnNpemUKKyAgICAo YW5kIGRlY2ltYWxfbWFrZV96ZXJvIGlzIGEgbWFjcm8sIHJhdGhlciB0aGFuIGEgZnVuY2lvbiku CisgICovCisgIGRlY2ltYWxfbWFrZV96ZXJvKHN0YXRpY19jYXN0PGRlY2ltYWxfdCo+KGQpKTsK ICAgcmV0dXJuIDA7CiB9CiAKQEAgLTI5Miw3ICsyOTcsNyBAQCBpbnQgbXlfZGVjaW1hbF9zZXRf emVybyhteV9kZWNpbWFsICpkKQogaW5saW5lCiBib29sIG15X2RlY2ltYWxfaXNfemVybyhjb25z dCBteV9kZWNpbWFsICpkZWNpbWFsX3ZhbHVlKQogewotICByZXR1cm4gZGVjaW1hbF9pc196ZXJv KChkZWNpbWFsX3QqKSBkZWNpbWFsX3ZhbHVlKTsKKyAgcmV0dXJuIGRlY2ltYWxfaXNfemVybyhk ZWNpbWFsX3ZhbHVlKTsKIH0KIAogCkBAIC0zMDAsNyArMzA1LDcgQEAgaW5saW5lCiBpbnQgbXlf ZGVjaW1hbF9yb3VuZCh1aW50IG1hc2ssIGNvbnN0IG15X2RlY2ltYWwgKmZyb20sIGludCBzY2Fs ZSwKICAgICAgICAgICAgICAgICAgICAgIGJvb2wgdHJ1bmNhdGUsIG15X2RlY2ltYWwgKnRvKQog ewotICByZXR1cm4gY2hlY2tfcmVzdWx0KG1hc2ssIGRlY2ltYWxfcm91bmQoKGRlY2ltYWxfdCop IGZyb20sIHRvLCBzY2FsZSwKKyAgcmV0dXJuIGNoZWNrX3Jlc3VsdChtYXNrLCBkZWNpbWFsX3Jv dW5kKGZyb20sIHRvLCBzY2FsZSwKIAkJCQkJICAodHJ1bmNhdGUgPyBUUlVOQ0FURSA6IEhBTEZf VVApKSk7CiB9CiAKQEAgLTMwOCwxNCArMzEzLDE0IEBAIGludCBteV9kZWNpbWFsX3JvdW5kKHVp bnQgbWFzaywgY29uc3QgbXkKIGlubGluZQogaW50IG15X2RlY2ltYWxfZmxvb3IodWludCBtYXNr LCBjb25zdCBteV9kZWNpbWFsICpmcm9tLCBteV9kZWNpbWFsICp0bykKIHsKLSAgcmV0dXJuIGNo ZWNrX3Jlc3VsdChtYXNrLCBkZWNpbWFsX3JvdW5kKChkZWNpbWFsX3QqKSBmcm9tLCB0bywgMCwg RkxPT1IpKTsKKyAgcmV0dXJuIGNoZWNrX3Jlc3VsdChtYXNrLCBkZWNpbWFsX3JvdW5kKGZyb20s IHRvLCAwLCBGTE9PUikpOwogfQogCiAKIGlubGluZQogaW50IG15X2RlY2ltYWxfY2VpbGluZyh1 aW50IG1hc2ssIGNvbnN0IG15X2RlY2ltYWwgKmZyb20sIG15X2RlY2ltYWwgKnRvKQogewotICBy ZXR1cm4gY2hlY2tfcmVzdWx0KG1hc2ssIGRlY2ltYWxfcm91bmQoKGRlY2ltYWxfdCopIGZyb20s IHRvLCAwLCBDRUlMSU5HKSk7CisgIHJldHVybiBjaGVja19yZXN1bHQobWFzaywgZGVjaW1hbF9y b3VuZChmcm9tLCB0bywgMCwgQ0VJTElORykpOwogfQogCiAKQEAgLTMzNyw3ICszNDIsNyBAQCBp bnQgbXlfZGVjaW1hbDJpbnQodWludCBtYXNrLCBjb25zdCBteV9kCiB7CiAgIG15X2RlY2ltYWwg cm91bmRlZDsKICAgLyogZGVjaW1hbF9yb3VuZCBjYW4gcmV0dXJuIG9ubHkgRV9ERUNfVFJVTkNB VEVEICovCi0gIGRlY2ltYWxfcm91bmQoKGRlY2ltYWxfdCopZCwgJnJvdW5kZWQsIDAsIEhBTEZf VVApOworICBkZWNpbWFsX3JvdW5kKGQsICZyb3VuZGVkLCAwLCBIQUxGX1VQKTsKICAgcmV0dXJu IGNoZWNrX3Jlc3VsdChtYXNrLCAodW5zaWduZWRfZmxhZyA/CiAJCQkgICAgIGRlY2ltYWwydWxv bmdsb25nKCZyb3VuZGVkLCAodWxvbmdsb25nICopbCkgOgogCQkJICAgICBkZWNpbWFsMmxvbmds b25nKCZyb3VuZGVkLCBsKSkpOwpAQCAtMzQ4LDE1ICszNTMsMTQgQEAgaW5saW5lCiBpbnQgbXlf ZGVjaW1hbDJkb3VibGUodWludCwgY29uc3QgbXlfZGVjaW1hbCAqZCwgZG91YmxlICpyZXN1bHQp CiB7CiAgIC8qIE5vIG5lZWQgdG8gY2FsbCBjaGVja19yZXN1bHQgYXMgdGhpcyB3aWxsIGFsd2F5 cyBzdWNjZWVkICovCi0gIHJldHVybiBkZWNpbWFsMmRvdWJsZSgoZGVjaW1hbF90KikgZCwgcmVz dWx0KTsKKyAgcmV0dXJuIGRlY2ltYWwyZG91YmxlKGQsIHJlc3VsdCk7CiB9CiAKIAogaW5saW5l CiBpbnQgc3RyMm15X2RlY2ltYWwodWludCBtYXNrLCBjb25zdCBjaGFyICpzdHIsIG15X2RlY2lt YWwgKmQsIGNoYXIgKiplbmQpCiB7Ci0gIHJldHVybiBjaGVja19yZXN1bHRfYW5kX292ZXJmbG93 KG1hc2ssIHN0cmluZzJkZWNpbWFsKHN0ciwoZGVjaW1hbF90KilkLGVuZCksCi0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGQpOworICByZXR1cm4gY2hlY2tfcmVzdWx0X2FuZF9v dmVyZmxvdyhtYXNrLCBzdHJpbmcyZGVjaW1hbChzdHIsIGQsIGVuZCksIGQpOwogfQogCiAKQEAg LTM3OSw3ICszODMsNyBAQCBteV9kZWNpbWFsICpkYXRlMm15X2RlY2ltYWwoTVlTUUxfVElNRSAq CiBpbmxpbmUKIGludCBkb3VibGUybXlfZGVjaW1hbCh1aW50IG1hc2ssIGRvdWJsZSB2YWwsIG15 X2RlY2ltYWwgKmQpCiB7Ci0gIHJldHVybiBjaGVja19yZXN1bHRfYW5kX292ZXJmbG93KG1hc2ss IGRvdWJsZTJkZWNpbWFsKHZhbCwgKGRlY2ltYWxfdCopZCksIGQpOworICByZXR1cm4gY2hlY2tf cmVzdWx0X2FuZF9vdmVyZmxvdyhtYXNrLCBkb3VibGUyZGVjaW1hbCh2YWwsIGQpLCBkKTsKIH0K IAogCkBAIC00MDksNyArNDEzLDcgQEAgaW50IG15X2RlY2ltYWxfYWRkKHVpbnQgbWFzaywgbXlf ZGVjaW1hbAogCQkgICBjb25zdCBteV9kZWNpbWFsICpiKQogewogICByZXR1cm4gY2hlY2tfcmVz dWx0X2FuZF9vdmVyZmxvdyhtYXNrLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBkZWNpbWFsX2FkZCgoZGVjaW1hbF90KilhLChkZWNpbWFsX3QqKWIscmVzKSwKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVjaW1hbF9hZGQoYSwgYiwgcmVzKSwKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzKTsKIH0KIApAQCAtNDE5LDcgKzQyMyw3 IEBAIGludCBteV9kZWNpbWFsX3N1Yih1aW50IG1hc2ssIG15X2RlY2ltYWwKIAkJICAgY29uc3Qg bXlfZGVjaW1hbCAqYikKIHsKICAgcmV0dXJuIGNoZWNrX3Jlc3VsdF9hbmRfb3ZlcmZsb3cobWFz aywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVjaW1hbF9zdWIoKGRlY2lt YWxfdCopYSwoZGVjaW1hbF90KiliLHJlcyksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGRlY2ltYWxfc3ViKGEsIGIsIHJlcyksCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHJlcyk7CiB9CiAKQEAgLTQyOSw3ICs0MzMsNyBAQCBpbnQgbXlfZGVjaW1hbF9t dWwodWludCBtYXNrLCBteV9kZWNpbWFsCiAJCSAgIGNvbnN0IG15X2RlY2ltYWwgKmIpCiB7CiAg IHJldHVybiBjaGVja19yZXN1bHRfYW5kX292ZXJmbG93KG1hc2ssCi0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGRlY2ltYWxfbXVsKChkZWNpbWFsX3QqKWEsKGRlY2ltYWxfdCop YixyZXMpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWNpbWFsX211bChh LCBiLCByZXMpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXMpOwogfQog CkBAIC00MzksOCArNDQzLDcgQEAgaW50IG15X2RlY2ltYWxfZGl2KHVpbnQgbWFzaywgbXlfZGVj aW1hbAogCQkgICBjb25zdCBteV9kZWNpbWFsICpiLCBpbnQgZGl2X3NjYWxlX2luYykKIHsKICAg cmV0dXJuIGNoZWNrX3Jlc3VsdF9hbmRfb3ZlcmZsb3cobWFzaywKLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgZGVjaW1hbF9kaXYoKGRlY2ltYWxfdCopYSwoZGVjaW1hbF90Kili LHJlcywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGl2 X3NjYWxlX2luYyksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlY2ltYWxf ZGl2KGEsIGIsIHJlcywgZGl2X3NjYWxlX2luYyksCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHJlcyk7CiB9CiAKQEAgLTQ1MCw3ICs0NTMsNyBAQCBpbnQgbXlfZGVjaW1hbF9t b2QodWludCBtYXNrLCBteV9kZWNpbWFsCiAJCSAgIGNvbnN0IG15X2RlY2ltYWwgKmIpCiB7CiAg IHJldHVybiBjaGVja19yZXN1bHRfYW5kX292ZXJmbG93KG1hc2ssCi0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGRlY2ltYWxfbW9kKChkZWNpbWFsX3QqKWEsKGRlY2ltYWxfdCop YixyZXMpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWNpbWFsX21vZChh LCBiLCByZXMpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXMpOwogfQog CkBAIC00NjIsMTQgKzQ2NSwxNCBAQCBpbnQgbXlfZGVjaW1hbF9tb2QodWludCBtYXNrLCBteV9k ZWNpbWFsCiBpbmxpbmUKIGludCBteV9kZWNpbWFsX2NtcChjb25zdCBteV9kZWNpbWFsICphLCBj b25zdCBteV9kZWNpbWFsICpiKQogewotICByZXR1cm4gZGVjaW1hbF9jbXAoKGRlY2ltYWxfdCop IGEsIChkZWNpbWFsX3QqKSBiKTsKKyAgcmV0dXJuIGRlY2ltYWxfY21wKGEsIGIpOwogfQogCiAK IGlubGluZQogaW50IG15X2RlY2ltYWxfaW50Zyhjb25zdCBteV9kZWNpbWFsICphKQogewotICBy ZXR1cm4gZGVjaW1hbF9pbnRnKChkZWNpbWFsX3QqKSBhKTsKKyAgcmV0dXJuIGRlY2ltYWxfaW50 ZyhhKTsKIH0KIAogCgo9PT0gbW9kaWZpZWQgZmlsZSAnc3FsL215c3FsZC5jYycKLS0tIGEvc3Fs L215c3FsZC5jYwkyMDExLTAzLTE3IDE3OjM5OjMxICswMDAwCisrKyBiL3NxbC9teXNxbGQuY2MJ MjAxMS0wMy0xOCAyMjo1MToxNyArMDAwMApAQCAtMjMyOSw3ICsyMzI5LDcgQEAgTE9ORyBXSU5B UEkgbXlfdW5oYW5kbGVyX2V4Y2VwdGlvbl9maWx0ZQogfQogCiAKLXN0YXRpYyB2b2lkIGluaXRf c2lnbmFscyh2b2lkKQordm9pZCBteV9pbml0X3NpZ25hbHModm9pZCkKIHsKICAgaWYob3B0X2Nv bnNvbGUpCiAgICAgU2V0Q29uc29sZUN0cmxIYW5kbGVyKGNvbnNvbGVfZXZlbnRfaGFuZGxlcixU UlVFKTsKQEAgLTI1NTAsMTEgKzI1NTAsMTEgQEAgYnVncy5cbiIpOwogCiAjaWZuZGVmIEVNQkVE REVEX0xJQlJBUlkKIAotc3RhdGljIHZvaWQgaW5pdF9zaWduYWxzKHZvaWQpCit2b2lkIG15X2lu aXRfc2lnbmFscyh2b2lkKQogewogICBzaWdzZXRfdCBzZXQ7CiAgIHN0cnVjdCBzaWdhY3Rpb24g c2E7Ci0gIERCVUdfRU5URVIoImluaXRfc2lnbmFscyIpOworICBEQlVHX0VOVEVSKCJteV9pbml0 X3NpZ25hbHMiKTsKIAogICBteV9zaWdzZXQoVEhSX1NFUlZFUl9BTEFSTSxwcmludF9zaWduYWxf d2FybmluZyk7IC8vIFNob3VsZCBuZXZlciBiZSBjYWxsZWQhCiAKQEAgLTQ3MTEsNyArNDcxMSw3 IEBAIGludCBteXNxbGRfbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpCiAgIGlmIChpbml0X2Nv bW1vbl92YXJpYWJsZXMoKSkKICAgICB1bmlyZWdfYWJvcnQoMSk7CQkJCS8vIFdpbGwgZG8gZXhp dAogCi0gIGluaXRfc2lnbmFscygpOworICBteV9pbml0X3NpZ25hbHMoKTsKICNpZiBkZWZpbmVk KF9faWE2NF9fKSB8fCBkZWZpbmVkKF9faWE2NCkKICAgLyoKICAgICBQZWN1bGlhciB0aGluZ3Mg d2l0aCBpYTY0IHBsYXRmb3JtcyAtIGl0IHNlZW1zIHdlIG9ubHkgaGF2ZSBoYWxmIHRoZQoKPT09 IG1vZGlmaWVkIGZpbGUgJ3NxbC9teXNxbGQuaCcKLS0tIGEvc3FsL215c3FsZC5oCTIwMTEtMDMt MTcgMTc6Mzk6MzEgKzAwMDAKKysrIGIvc3FsL215c3FsZC5oCTIwMTEtMDMtMTggMjI6NTE6MTcg KzAwMDAKQEAgLTc3LDYgKzc3LDcgQEAgYm9vbCBpc19zZWN1cmVfZmlsZV9wYXRoKGNoYXIgKnBh dGgpOwogLy8gVGhlc2UgYXJlIG5lZWRlZCBmb3IgdW5pdCB0ZXN0aW5nLgogdm9pZCBzZXRfcmVt YWluaW5nX2FyZ3MoaW50IGFyZ2MsIGNoYXIgKiphcmd2KTsKIGludCBpbml0X2NvbW1vbl92YXJp YWJsZXMoKTsKK3ZvaWQgbXlfaW5pdF9zaWduYWxzKCk7CiAKIGV4dGVybiBNWVNRTF9QTFVHSU5f SU1QT1JUIENIQVJTRVRfSU5GTyAqc3lzdGVtX2NoYXJzZXRfaW5mbzsKIGV4dGVybiBNWVNRTF9Q TFVHSU5fSU1QT1JUIENIQVJTRVRfSU5GTyAqZmlsZXNfY2hhcnNldF9pbmZvIDsKCj09PSBtb2Rp ZmllZCBmaWxlICdzcWwvc3FsX2FjbC5jYycKLS0tIGEvc3FsL3NxbF9hY2wuY2MJMjAxMS0wMy0x NyAxMTozMzoxNyArMDAwMAorKysgYi9zcWwvc3FsX2FjbC5jYwkyMDExLTAzLTE4IDE0OjU4OjI3 ICswMDAwCkBAIC0yNDAyLDggKzI0MDIsMTAgQEAgc3RhdGljIGludCByZXBsYWNlX3VzZXJfdGFi bGUoVEhEICp0aGQsIAogICAgICAgewogICAgICAgICB0YWJsZS0+ZmllbGRbbmV4dF9maWVsZF0t PnN0b3JlKGNvbWJvLnBsdWdpbi5zdHIsIGNvbWJvLnBsdWdpbi5sZW5ndGgsCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3lzdGVtX2NoYXJzZXRfaW5mbyk7CisgICAg ICAgIHRhYmxlLT5maWVsZFtuZXh0X2ZpZWxkXS0+c2V0X25vdG51bGwoKTsKICAgICAgICAgdGFi bGUtPmZpZWxkW25leHRfZmllbGQgKyAxXS0+c3RvcmUoY29tYm8uYXV0aC5zdHIsIGNvbWJvLmF1 dGgubGVuZ3RoLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBz eXN0ZW1fY2hhcnNldF9pbmZvKTsKKyAgICAgICAgdGFibGUtPmZpZWxkW25leHRfZmllbGQgKyAx XS0+c2V0X25vdG51bGwoKTsKICAgICAgIH0KICAgICAgIGVsc2UKICAgICAgIHsKCj09PSBtb2Rp ZmllZCBmaWxlICdzdHJpbmdzL2RlY2ltYWwuYycKLS0tIGEvc3RyaW5ncy9kZWNpbWFsLmMJMjAx MS0wMS0xOSAxMzozMToxNyArMDAwMAorKysgYi9zdHJpbmdzL2RlY2ltYWwuYwkyMDExLTAzLTAz IDE0OjI1OjQxICswMDAwCkBAIC0yNDgsNyArMjQ4LDcgQEAgdm9pZCBtYXhfZGVjaW1hbChpbnQg cHJlY2lzaW9uLCBpbnQgZnJhYwogfQogCiAKLXN0YXRpYyBkZWMxICpyZW1vdmVfbGVhZGluZ196 ZXJvZXMoZGVjaW1hbF90ICpmcm9tLCBpbnQgKmludGdfcmVzdWx0KQorc3RhdGljIGRlYzEgKnJl bW92ZV9sZWFkaW5nX3plcm9lcyhjb25zdCBkZWNpbWFsX3QgKmZyb20sIGludCAqaW50Z19yZXN1 bHQpCiB7CiAgIGludCBpbnRnPSBmcm9tLT5pbnRnLCBpOwogICBkZWMxICpidWYwPSBmcm9tLT5i dWY7CkBAIC0zMjYsNyArMzI2LDcgQEAgaW50IGRlY2ltYWxfYWN0dWFsX2ZyYWN0aW9uKGRlY2lt YWxfdCAqZgogICAgIEVfREVDX09LL0VfREVDX1RSVU5DQVRFRC9FX0RFQ19PVkVSRkxPVwogKi8K IAotaW50IGRlY2ltYWwyc3RyaW5nKGRlY2ltYWxfdCAqZnJvbSwgY2hhciAqdG8sIGludCAqdG9f bGVuLAoraW50IGRlY2ltYWwyc3RyaW5nKGNvbnN0IGRlY2ltYWxfdCAqZnJvbSwgY2hhciAqdG8s IGludCAqdG9fbGVuLAogICAgICAgICAgICAgICAgICAgIGludCBmaXhlZF9wcmVjaXNpb24sIGlu dCBmaXhlZF9kZWNpbWFscywKICAgICAgICAgICAgICAgICAgICBjaGFyIGZpbGxlcikKIHsKQEAg LTk0Miw3ICs5NDIsNyBAQCBmYXRhbF9lcnJvcjoKICAgICBFX0RFQ19PSy9FX0RFQ19PVkVSRkxP Vy9FX0RFQ19UUlVOQ0FURUQKICovCiAKLWludCBkZWNpbWFsMmRvdWJsZShkZWNpbWFsX3QgKmZy b20sIGRvdWJsZSAqdG8pCitpbnQgZGVjaW1hbDJkb3VibGUoY29uc3QgZGVjaW1hbF90ICpmcm9t LCBkb3VibGUgKnRvKQogewogICBjaGFyIHN0cmJ1ZltGTE9BVElOR19QT0lOVF9CVUZGRVJdLCAq ZW5kOwogICBpbnQgbGVuPSBzaXplb2Yoc3RyYnVmKTsKQEAgLTE0NjEsNyArMTQ2MSw3IEBAIGlu dCBkZWNpbWFsX2Jpbl9zaXplKGludCBwcmVjaXNpb24sIGludCAKICovCiAKIGludAotZGVjaW1h bF9yb3VuZChkZWNpbWFsX3QgKmZyb20sIGRlY2ltYWxfdCAqdG8sIGludCBzY2FsZSwKK2RlY2lt YWxfcm91bmQoY29uc3QgZGVjaW1hbF90ICpmcm9tLCBkZWNpbWFsX3QgKnRvLCBpbnQgc2NhbGUs CiAgICAgICAgICAgICAgIGRlY2ltYWxfcm91bmRfbW9kZSBtb2RlKQogewogICBpbnQgZnJhYzA9 c2NhbGU+MCA/IFJPVU5EX1VQKHNjYWxlKSA6IHNjYWxlL0RJR19QRVJfREVDMSwKQEAgLTE2OTUs NyArMTY5NSw3IEBAIGludCBkZWNpbWFsX3Jlc3VsdF9zaXplKGRlY2ltYWxfdCAqZnJvbTEKICAg cmV0dXJuIC0xOyAvKiBzaHV0IHVwIHRoZSB3YXJuaW5nICovCiB9CiAKLXN0YXRpYyBpbnQgZG9f YWRkKGRlY2ltYWxfdCAqZnJvbTEsIGRlY2ltYWxfdCAqZnJvbTIsIGRlY2ltYWxfdCAqdG8pCitz dGF0aWMgaW50IGRvX2FkZChjb25zdCBkZWNpbWFsX3QgKmZyb20xLCBjb25zdCBkZWNpbWFsX3Qg KmZyb20yLCBkZWNpbWFsX3QgKnRvKQogewogICBpbnQgaW50ZzE9Uk9VTkRfVVAoZnJvbTEtPmlu dGcpLCBpbnRnMj1ST1VORF9VUChmcm9tMi0+aW50ZyksCiAgICAgICBmcmFjMT1ST1VORF9VUChm cm9tMS0+ZnJhYyksIGZyYWMyPVJPVU5EX1VQKGZyb20yLT5mcmFjKSwKQEAgLTE3NzcsNyArMTc3 Nyw3IEBAIHN0YXRpYyBpbnQgZG9fYWRkKGRlY2ltYWxfdCAqZnJvbTEsIGRlY2kKIAogLyogdG89 ZnJvbTEtZnJvbTIuCiAgICBpZiB0bz09MCwgcmV0dXJuIC0xLzAvKzEgLSB0aGUgcmVzdWx0IG9m IHRoZSBjb21wYXJpc29uICovCi1zdGF0aWMgaW50IGRvX3N1YihkZWNpbWFsX3QgKmZyb20xLCBk ZWNpbWFsX3QgKmZyb20yLCBkZWNpbWFsX3QgKnRvKQorc3RhdGljIGludCBkb19zdWIoY29uc3Qg ZGVjaW1hbF90ICpmcm9tMSwgY29uc3QgZGVjaW1hbF90ICpmcm9tMiwgZGVjaW1hbF90ICp0bykK IHsKICAgaW50IGludGcxPVJPVU5EX1VQKGZyb20xLT5pbnRnKSwgaW50ZzI9Uk9VTkRfVVAoZnJv bTItPmludGcpLAogICAgICAgZnJhYzE9Uk9VTkRfVVAoZnJvbTEtPmZyYWMpLCBmcmFjMj1ST1VO RF9VUChmcm9tMi0+ZnJhYyk7CkBAIC0xODQ2LDcgKzE4NDYsNyBAQCBzdGF0aWMgaW50IGRvX3N1 YihkZWNpbWFsX3QgKmZyb20xLCBkZWNpCiAgIC8qIGVuc3VyZSB0aGF0IGFsd2F5cyBmcm9tMSA+ IGZyb20yIChhbmQgaW50ZzEgPj0gaW50ZzIpICovCiAgIGlmIChjYXJyeSkKICAgewotICAgIHN3 YXBfdmFyaWFibGVzKGRlY2ltYWxfdCAqLGZyb20xLGZyb20xKTsKKyAgICBzd2FwX3ZhcmlhYmxl cyhjb25zdCBkZWNpbWFsX3QgKiwgZnJvbTEsIGZyb20yKTsKICAgICBzd2FwX3ZhcmlhYmxlcyhk ZWMxICosc3RhcnQxLCBzdGFydDIpOwogICAgIHN3YXBfdmFyaWFibGVzKGludCxpbnRnMSxpbnRn Mik7CiAgICAgc3dhcF92YXJpYWJsZXMoaW50LGZyYWMxLGZyYWMyKTsKQEAgLTE5MTIsMzUgKzE5 MTIsMzUgQEAgc3RhdGljIGludCBkb19zdWIoZGVjaW1hbF90ICpmcm9tMSwgZGVjaQogICByZXR1 cm4gZXJyb3I7CiB9CiAKLWludCBkZWNpbWFsX2ludGcoZGVjaW1hbF90ICpmcm9tKQoraW50IGRl Y2ltYWxfaW50Zyhjb25zdCBkZWNpbWFsX3QgKmZyb20pCiB7CiAgIGludCByZXM7CiAgIHJlbW92 ZV9sZWFkaW5nX3plcm9lcyhmcm9tLCAmcmVzKTsKICAgcmV0dXJuIHJlczsKIH0KIAotaW50IGRl Y2ltYWxfYWRkKGRlY2ltYWxfdCAqZnJvbTEsIGRlY2ltYWxfdCAqZnJvbTIsIGRlY2ltYWxfdCAq dG8pCitpbnQgZGVjaW1hbF9hZGQoY29uc3QgZGVjaW1hbF90ICpmcm9tMSwgY29uc3QgZGVjaW1h bF90ICpmcm9tMiwgZGVjaW1hbF90ICp0bykKIHsKICAgaWYgKGxpa2VseShmcm9tMS0+c2lnbiA9 PSBmcm9tMi0+c2lnbikpCiAgICAgcmV0dXJuIGRvX2FkZChmcm9tMSwgZnJvbTIsIHRvKTsKICAg cmV0dXJuIGRvX3N1Yihmcm9tMSwgZnJvbTIsIHRvKTsKIH0KIAotaW50IGRlY2ltYWxfc3ViKGRl Y2ltYWxfdCAqZnJvbTEsIGRlY2ltYWxfdCAqZnJvbTIsIGRlY2ltYWxfdCAqdG8pCitpbnQgZGVj aW1hbF9zdWIoY29uc3QgZGVjaW1hbF90ICpmcm9tMSwgY29uc3QgZGVjaW1hbF90ICpmcm9tMiwg ZGVjaW1hbF90ICp0bykKIHsKICAgaWYgKGxpa2VseShmcm9tMS0+c2lnbiA9PSBmcm9tMi0+c2ln bikpCiAgICAgcmV0dXJuIGRvX3N1Yihmcm9tMSwgZnJvbTIsIHRvKTsKICAgcmV0dXJuIGRvX2Fk ZChmcm9tMSwgZnJvbTIsIHRvKTsKIH0KIAotaW50IGRlY2ltYWxfY21wKGRlY2ltYWxfdCAqZnJv bTEsIGRlY2ltYWxfdCAqZnJvbTIpCitpbnQgZGVjaW1hbF9jbXAoY29uc3QgZGVjaW1hbF90ICpm cm9tMSwgY29uc3QgZGVjaW1hbF90ICpmcm9tMikKIHsKICAgaWYgKGxpa2VseShmcm9tMS0+c2ln biA9PSBmcm9tMi0+c2lnbikpCiAgICAgcmV0dXJuIGRvX3N1Yihmcm9tMSwgZnJvbTIsIDApOwog ICByZXR1cm4gZnJvbTEtPnNpZ24gPiBmcm9tMi0+c2lnbiA/IC0xIDogMTsKIH0KIAotaW50IGRl Y2ltYWxfaXNfemVybyhkZWNpbWFsX3QgKmZyb20pCitpbnQgZGVjaW1hbF9pc196ZXJvKGNvbnN0 IGRlY2ltYWxfdCAqZnJvbSkKIHsKICAgZGVjMSAqYnVmMT1mcm9tLT5idWYsCiAgICAgICAgKmVu ZD1idWYxK1JPVU5EX1VQKGZyb20tPmludGcpK1JPVU5EX1VQKGZyb20tPmZyYWMpOwpAQCAtMTk3 MSw3ICsxOTcxLDcgQEAgaW50IGRlY2ltYWxfaXNfemVybyhkZWNpbWFsX3QgKmZyb20pCiAgICAg WFhYIGlmIHRoaXMgbGlicmFyeSBpcyB0byBiZSB1c2VkIHdpdGggaHVnZSBudW1iZXJzIG9mIHRo b3VzYW5kcyBvZgogICAgIGRpZ2l0cywgZmFzdCBtdWx0aXBsaWNhdGlvbiBtdXN0IGJlIGltcGxl bWVudGVkLgogKi8KLWludCBkZWNpbWFsX211bChkZWNpbWFsX3QgKmZyb20xLCBkZWNpbWFsX3Qg KmZyb20yLCBkZWNpbWFsX3QgKnRvKQoraW50IGRlY2ltYWxfbXVsKGNvbnN0IGRlY2ltYWxfdCAq ZnJvbTEsIGNvbnN0IGRlY2ltYWxfdCAqZnJvbTIsIGRlY2ltYWxfdCAqdG8pCiB7CiAgIGludCBp bnRnMT1ST1VORF9VUChmcm9tMS0+aW50ZyksIGludGcyPVJPVU5EX1VQKGZyb20yLT5pbnRnKSwK ICAgICAgIGZyYWMxPVJPVU5EX1VQKGZyb20xLT5mcmFjKSwgZnJhYzI9Uk9VTkRfVVAoZnJvbTIt PmZyYWMpLApAQCAtMjA5NSw4ICsyMDk1LDggQEAgaW50IGRlY2ltYWxfbXVsKGRlY2ltYWxfdCAq ZnJvbTEsIGRlY2ltYQogICBjaGFuZ2VkIHRvIG1hbGxvYyAob3IgYXQgbGVhc3QgZmFsbGJhY2sg dG8gbWFsbG9jIGlmIGFsbG9jYSgpIGZhaWxzKQogICBidXQgdGhlbiwgZGVjaW1hbF9tdWwoKSBz aG91bGQgYmUgcmV3cml0dGVuIHRvbyA6KAogKi8KLXN0YXRpYyBpbnQgZG9fZGl2X21vZChkZWNp bWFsX3QgKmZyb20xLCBkZWNpbWFsX3QgKmZyb20yLAotICAgICAgICAgICAgICAgICAgICAgICBk ZWNpbWFsX3QgKnRvLCBkZWNpbWFsX3QgKm1vZCwgaW50IHNjYWxlX2luY3IpCitzdGF0aWMgaW50 IGRvX2Rpdl9tb2QoY29uc3QgZGVjaW1hbF90ICpmcm9tMSwgY29uc3QgZGVjaW1hbF90ICpmcm9t MiwKKyAgICAgICAgICAgICAgICAgICAgICBkZWNpbWFsX3QgKnRvLCBkZWNpbWFsX3QgKm1vZCwg aW50IHNjYWxlX2luY3IpCiB7CiAgIGludCBmcmFjMT1ST1VORF9VUChmcm9tMS0+ZnJhYykqRElH X1BFUl9ERUMxLCBwcmVjMT1mcm9tMS0+aW50ZytmcmFjMSwKICAgICAgIGZyYWMyPVJPVU5EX1VQ KGZyb20yLT5mcmFjKSpESUdfUEVSX0RFQzEsIHByZWMyPWZyb20yLT5pbnRnK2ZyYWMyLApAQCAt MjE4MSw5ICsyMTgxLDEyIEBAIHN0YXRpYyBpbnQgZG9fZGl2X21vZChkZWNpbWFsX3QgKmZyb20x LCAKICAgfQogICBidWYwPXRvLT5idWY7CiAgIHN0b3AwPWJ1ZjAraW50ZzArZnJhYzA7CisgIERC VUdfQVNTRVJUKHN0b3AwIDw9ICZ0by0+YnVmW3RvLT5sZW5dKTsKICAgaWYgKGxpa2VseShkaXZf bW9kKSkKLSAgICB3aGlsZSAoZGludGcrKyA8IDApCisgICAgd2hpbGUgKGRpbnRnKysgPCAwICYm IGJ1ZjAgPCAmdG8tPmJ1Zlt0by0+bGVuXSkKKyAgICB7CiAgICAgICAqYnVmMCsrPTA7CisgICAg fQogCiAgIGxlbjE9KGk9Uk9VTkRfVVAocHJlYzEpKStST1VORF9VUCgyKmZyYWMyK3NjYWxlX2lu Y3IrMSkgKyAxOwogICBzZXRfaWZfYmlnZ2VyKGxlbjEsIDMpOwpAQCAtMjM1NSw3ICsyMzU4LDgg QEAgZG9uZToKICovCiAKIGludAotZGVjaW1hbF9kaXYoZGVjaW1hbF90ICpmcm9tMSwgZGVjaW1h bF90ICpmcm9tMiwgZGVjaW1hbF90ICp0bywgaW50IHNjYWxlX2luY3IpCitkZWNpbWFsX2Rpdihj b25zdCBkZWNpbWFsX3QgKmZyb20xLCBjb25zdCBkZWNpbWFsX3QgKmZyb20yLCBkZWNpbWFsX3Qg KnRvLAorICAgICAgICAgICAgaW50IHNjYWxlX2luY3IpCiB7CiAgIHJldHVybiBkb19kaXZfbW9k KGZyb20xLCBmcm9tMiwgdG8sIDAsIHNjYWxlX2luY3IpOwogfQpAQCAtMjM4Nyw3ICsyMzkxLDcg QEAgZGVjaW1hbF9kaXYoZGVjaW1hbF90ICpmcm9tMSwgZGVjaW1hbF90IAogICAgdGh1cywgdGhl cmUncyBubyByZXF1aXJlbWVudCBmb3IgTSBvciBOIHRvIGJlIGludGVnZXJzCiAqLwogCi1pbnQg ZGVjaW1hbF9tb2QoZGVjaW1hbF90ICpmcm9tMSwgZGVjaW1hbF90ICpmcm9tMiwgZGVjaW1hbF90 ICp0bykKK2ludCBkZWNpbWFsX21vZChjb25zdCBkZWNpbWFsX3QgKmZyb20xLCBjb25zdCBkZWNp bWFsX3QgKmZyb20yLCBkZWNpbWFsX3QgKnRvKQogewogICByZXR1cm4gZG9fZGl2X21vZChmcm9t MSwgZnJvbTIsIDAsIHRvLCAwKTsKIH0KCj09PSBtb2RpZmllZCBmaWxlICd1bml0dGVzdC9ndW5p dC9pdGVtLXQuY2MnCi0tLSBhL3VuaXR0ZXN0L2d1bml0L2l0ZW0tdC5jYwkyMDExLTAyLTIxIDEw OjM2OjMxICswMDAwCisrKyBiL3VuaXR0ZXN0L2d1bml0L2l0ZW0tdC5jYwkyMDExLTAzLTE4IDEy OjI1OjU2ICswMDAwCkBAIC0yNCw2ICsyNCw1OSBAQAogCiBuYW1lc3BhY2UgewogCisvKgorICBB IG1vY2sgZXJyb3IgaGFuZGxlciBmb3IgZXJyb3JfaGFuZGxlcl9ob29rLgorKi8KK3VpbnQgZXhw ZWN0ZWRfZXJyb3I9IDA7CitleHRlcm4gIkMiIHZvaWQgdGVzdF9lcnJvcl9oYW5kbGVyX2hvb2so dWludCBlcnIsIGNvbnN0IGNoYXIgKnN0ciwgbXlmIE15RmxhZ3MpCit7CisgIEVYUEVDVF9FUShl eHBlY3RlZF9lcnJvciwgZXJyKSA8PCBzdHI7Cit9CisKKworLyoqCisgICBBIG1vY2sgZXJyb3Ig aGFuZGxlciB3aGljaCByZWdpc3RlcnMgaXRzZWxmIHdpdGggdGhlIFRIRCBpbiB0aGUgQ1RPUiwK KyAgIGFuZCB1bnJlZ2lzdGVycyBpbiB0aGUgRFRPUi4gVGhlIGZ1bmN0aW9uIGhhbmRsZV9jb25k aXRpb24oKSB3aWxsCisgICB2ZXJpZnkgdGhhdCBpdCBpcyBjYWxsZWQgd2l0aCB0aGUgZXhwZWN0 ZWQgZXJyb3IgbnVtYmVyLgorICAgVGhlIERUT1Igd2lsbCB2ZXJpZnkgdGhhdCBoYW5kbGVfY29u ZGl0aW9uKCkgaGFzIGFjdHVhbGx5IGJlZW4gY2FsbGVkLgorKi8KK2NsYXNzIE1vY2tfZXJyb3Jf aGFuZGxlciA6IHB1YmxpYyBJbnRlcm5hbF9lcnJvcl9oYW5kbGVyCit7CitwdWJsaWM6CisgIE1v Y2tfZXJyb3JfaGFuZGxlcihUSEQgKnRoZCwgdWludCBleHBlY3RlZF9lcnJvcikKKyAgICA6IG1f dGhkKHRoZCksCisgICAgICBtX2V4cGVjdGVkX2Vycm9yKGV4cGVjdGVkX2Vycm9yKSwKKyAgICAg IG1faGFuZGxlX2NhbGxlZCgwKQorICB7CisgICAgdGhkLT5wdXNoX2ludGVybmFsX2hhbmRsZXIo dGhpcyk7CisgIH0KKworICB2aXJ0dWFsIH5Nb2NrX2Vycm9yX2hhbmRsZXIoKQorICB7CisgICAg Ly8gU3RyYW5nZSBWaXN1YWwgU3R1ZGlvIGJ1ZzogaGF2ZSB0byBzdG9yZSAndGhpcycgaW4gbG9j YWwgdmFyaWFibGUuCisgICAgSW50ZXJuYWxfZXJyb3JfaGFuZGxlciAqbWU9IHRoaXM7CisgICAg RVhQRUNUX0VRKG1lLCBtX3RoZC0+cG9wX2ludGVybmFsX2hhbmRsZXIoKSk7CisgICAgRVhQRUNU X0dFKG1faGFuZGxlX2NhbGxlZCwgMCk7CisgIH0KKworICB2aXJ0dWFsIGJvb2wgaGFuZGxlX2Nv bmRpdGlvbihUSEQgKnRoZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludCBz cWxfZXJybm8sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIqIHNx bHN0YXRlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNWVNRTF9FUlJPUjo6ZW51 bV93YXJuaW5nX2xldmVsIGxldmVsLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj b25zdCBjaGFyKiBtc2csCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1ZU1FMX0VS Uk9SICoqIGNvbmRfaGRsKQorICB7CisgICAgRVhQRUNUX0VRKHNxbF9lcnJubywgbV9leHBlY3Rl ZF9lcnJvcik7CisgICAgKyttX2hhbmRsZV9jYWxsZWQ7CisgICAgcmV0dXJuIHRydWU7CisgIH0K K3ByaXZhdGU6CisgIFRIRCAqbV90aGQ7CisgIHVpbnQgbV9leHBlY3RlZF9lcnJvcjsKKyAgaW50 ICBtX2hhbmRsZV9jYWxsZWQ7Cit9OworCisKIGNsYXNzIEl0ZW1UZXN0IDogcHVibGljIDo6dGVz dGluZzo6VGVzdAogewogcHJvdGVjdGVkOgpAQCAtMzksOSArOTIsMTEgQEAgcHJvdGVjdGVkOgog ICAgIGNoYXIgKmFyZ3ZbXSA9IHsgbXlfbmFtZSwgMCB9OwogICAgIHNldF9yZW1haW5pbmdfYXJn cygxLCBhcmd2KTsKICAgICBpbml0X2NvbW1vbl92YXJpYWJsZXMoKTsKKyAgICBteV9pbml0X3Np Z25hbHMoKTsKICAgICByYW5kb21pbml0KCZzcWxfcmFuZCwgMCwgMCk7CiAgICAgeGlkX2NhY2hl X2luaXQoKTsKICAgICBkZWxlZ2F0ZXNfaW5pdCgpOworICAgIGVycm9yX2hhbmRsZXJfaG9vaz0g dGVzdF9lcnJvcl9oYW5kbGVyX2hvb2s7CiAgIH0KIAogICBzdGF0aWMgdm9pZCBUZWFyRG93blRl c3RDYXNlKCkKQEAgLTU0LDEwICsxMDksMTIgQEAgcHJvdGVjdGVkOgogCiAgIHZpcnR1YWwgdm9p ZCBTZXRVcCgpCiAgIHsKKyAgICBleHBlY3RlZF9lcnJvcj0gMDsKICAgICBtX3RoZD0gbmV3IFRI RChmYWxzZSk7CiAgICAgVEhEICpzdGFja190aGQ9IG1fdGhkOwogICAgIG1fdGhkLT50aHJlYWRf c3RhY2s9IChjaGFyKikgJnN0YWNrX3RoZDsKICAgICBtX3RoZC0+c3RvcmVfZ2xvYmFscygpOwor ICAgIGxleF9zdGFydChtX3RoZCk7CiAgIH0KIAogICB2aXJ0dWFsIHZvaWQgVGVhckRvd24oKQpA QCAtNjYsNyArMTIzLDcgQEAgcHJvdGVjdGVkOgogICAgIGRlbGV0ZSBtX3RoZDsKICAgfQogCi0g IFRIRCAgICAgICptX3RoZDsKKyAgVEhEICptX3RoZDsKIH07CiAKIApAQCAtMTg5LDYgKzI0Niwz OCBAQCBURVNUX0YoSXRlbVRlc3QsIEl0ZW1GdW5jRGVzRGVjcnlwdCkKIH0KIAogCitURVNUX0Yo SXRlbVRlc3QsIEl0ZW1GdW5jSW50RGl2T3ZlcmZsb3cpCit7CisgIGNvbnN0IGNoYXIgZGl2aWRl bmRfc3RyW109CisgICAgIjk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5 IgorICAgICI5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OSI7CisgIGNv bnN0IGNoYXIgZGl2aXNvcl9zdHJbXT0gIjAuNSI7CisgIEl0ZW1fZmxvYXQgKmRpdmlkZW5kPSBu ZXcgSXRlbV9mbG9hdChkaXZpZGVuZF9zdHIsIHNpemVvZihkaXZpZGVuZF9zdHIpKTsKKyAgSXRl bV9mbG9hdCAqZGl2aXNvcj0gbmV3IEl0ZW1fZmxvYXQoZGl2aXNvcl9zdHIsIHNpemVvZihkaXZp c29yX3N0cikpOworICBJdGVtX2Z1bmNfaW50X2RpdiogcXVvdGllbnQ9IG5ldyBJdGVtX2Z1bmNf aW50X2RpdihkaXZpZGVuZCwgZGl2aXNvcik7CisKKyAgTW9ja19lcnJvcl9oYW5kbGVyIGVycm9y X2hhbmRsZXIobV90aGQsIEVSX1RSVU5DQVRFRF9XUk9OR19WQUxVRSk7CisgIEVYUEVDVF9GQUxT RShxdW90aWVudC0+Zml4X2ZpZWxkcyhtX3RoZCwgTlVMTCkpOworICBleHBlY3RlZF9lcnJvcj0g RVJfREFUQV9PVVRfT0ZfUkFOR0U7CisgIHF1b3RpZW50LT52YWxfaW50KCk7Cit9CisKKworVEVT VF9GKEl0ZW1UZXN0LCBJdGVtRnVuY0ludERpdlVuZGVyZmxvdykKK3sKKyAgLy8gQnVnICMxMTc5 MjIwMCAtIERJVklESU5HIExBUkdFIE5VTUJFUlMgQ0FVU0VTIFNUQUNLIENPUlJVUFRJT05TCisg IGNvbnN0IGNoYXIgZGl2aWRlbmRfc3RyW109ICIxLjE3NTQ5NDM1MUUtMzciOworICBjb25zdCBj aGFyIGRpdmlzb3Jfc3RyW109ICIxLjc5NzY5MzEzNDg2MjMxNTdFKzMwOCI7CisgIEl0ZW1fZmxv YXQgKmRpdmlkZW5kPSBuZXcgSXRlbV9mbG9hdChkaXZpZGVuZF9zdHIsIHNpemVvZihkaXZpZGVu ZF9zdHIpKTsKKyAgSXRlbV9mbG9hdCAqZGl2aXNvcj0gbmV3IEl0ZW1fZmxvYXQoZGl2aXNvcl9z dHIsIHNpemVvZihkaXZpc29yX3N0cikpOworICBJdGVtX2Z1bmNfaW50X2RpdiogcXVvdGllbnQ9 IG5ldyBJdGVtX2Z1bmNfaW50X2RpdihkaXZpZGVuZCwgZGl2aXNvcik7CisKKyAgTW9ja19lcnJv cl9oYW5kbGVyIGVycm9yX2hhbmRsZXIobV90aGQsIEVSX1RSVU5DQVRFRF9XUk9OR19WQUxVRSk7 CisgIEVYUEVDVF9GQUxTRShxdW90aWVudC0+Zml4X2ZpZWxkcyhtX3RoZCwgTlVMTCkpOworICBF WFBFQ1RfRVEoMCwgcXVvdGllbnQtPnZhbF9pbnQoKSk7Cit9CisKKwogLyoKICAgVGhpcyBpcyBu b3QgYW4gZXhoYXVzdGl2ZSB0ZXN0LiBJdCBzaW1wbHkgZGVtb25zdHJhdGVzIHRoYXQgbW9yZSBv ZiB0aGUKICAgaW5pdGlhbGl6YXRpb25zIGluIG15c3FsZC5jYyBhcmUgbmVlZGVkIGZvciB0ZXN0 aW5nIEl0ZW1feHh4IGNsYXNzZXMuCgpObyBidW5kbGUgKHJlYXNvbjogcmV2aXNpb24gaXMgYSBt ZXJnZSku