From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 From: Dumitru Ceara To: git-commits@fedoraproject.org Subject: [rpms/ovn] rawhide: Pick up all current bug fixes from upstream branch-26.03. Date: Thu, 04 Jun 2026 09:55:30 GMT Message-ID: <178056693002.1.5135486638768136305.rpms-ovn-31b8305a3365@fedoraproject.org> List-ID: X-Git-Repo: rpms/ovn X-Git-Branch: rawhide X-Git-Rev: 31b8305a33654b8a413653d3e8307bd10cbe13bd ICAgICAgICAgICAgQSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KCiAgICAgICAgICAgIFJl cG8gICA6IHJwbXMvb3ZuCiAgICAgICAgICAgIEJyYW5jaCA6IHJhd2hpZGUKICAgICAgICAgICAg Q29tbWl0IDogMzFiODMwNWEzMzY1NGI4YTQxMzY1M2QzZTgzMDdiZDEwY2JlMTNiZAogICAgICAg ICAgICBBdXRob3IgOiBEdW1pdHJ1IENlYXJhIDxkY2VhcmFAcmVkaGF0LmNvbT4KICAgICAgICAg ICAgRGF0ZSAgIDogMjAyNi0wNi0wNFQxMToyMjo0OCswMjowMAogICAgICAgICAgICBTdGF0cyAg OiArNTQ3Mi8tMyBpbiAyIGZpbGUocykKICAgICAgICAgICAgVVJMICAgIDogaHR0cHM6Ly9zcmMu ZmVkb3JhcHJvamVjdC5vcmcvcnBtcy9vdm4vYy8zMWI4MzA1YTMzNjU0YjhhNDEzNjUzZDNlODMw N2JkMTBjYmUxM2JkP2JyYW5jaD1yYXdoaWRlCgogICAgICAgICAgICBMb2c6CiAgICAgICAgICAg IFBpY2sgdXAgYWxsIGN1cnJlbnQgYnVnIGZpeGVzIGZyb20gdXBzdHJlYW0gYnJhbmNoLTI2LjAz LgoKVXAgdG8gYW5kIGluY2x1ZGluZzoKICA5ZjA0YjhjNTA4NmEgKCJ0ZXN0czogRml4IGZsYWt5 ICJMb2FkYmFsYW5jZXIgYWRkLXJvdXRlIG9wdGlvbiIgc3lzdGVtIHRlc3QuIikuCgpOb3RhYmxl IGZpeGVzOgogIGY0OTI1MWI3MTUzMSAoIm5vcnRoZDogcmVjb21wdXRlIG9uIGRhdGFwYXRoIGlu ZGV4IHJldXNlIikKICA0MjMwMjk0MTI0ZTAgKCJtYWMtY2FjaGU6IE1ha2Ugc3VyZSB3ZSByZS1h cnAgZm9yIHByb3BlciBJUCBmb3IgTFJQIHdpdGggbXVsdGlwbGUgSVBzLiIpCiAgOTY4NjBjYzJj NzhjICgib3ZuLWNvbnRyb2xsZXI6IFNraXAgdHlwZS11cGRhdGUgY2hlY2sgZm9yIG5ldyBwb3J0 IGJpbmRpbmdzLiIpCgpTaWduZWQtb2ZmLWJ5OiBEdW1pdHJ1IENlYXJhIDxkY2VhcmFAcmVkaGF0 LmNvbT4KCi0tLQpkaWZmIC0tZ2l0IGEvb3ZuLnBhdGNoIGIvb3ZuLnBhdGNoCmluZGV4IDBmNzM4 MDYuLmMwMTBlMmQgMTAwNjQ0Ci0tLSBhL292bi5wYXRjaAorKysgYi9vdm4ucGF0Y2gKQEAgLTEs OCArMSwxNTIwIEBACitkaWZmIC0tZ2l0IGEvY29udHJvbGxlci9iZmQuYyBiL2NvbnRyb2xsZXIv YmZkLmMKK2luZGV4IDU2YmZhNDkzNjEuLjNiMGMzZjZkYWUgMTAwNjQ0CistLS0gYS9jb250cm9s bGVyL2JmZC5jCisrKysgYi9jb250cm9sbGVyL2JmZC5jCitAQCAtMTE3LDE0ICsxMTcsMTMgQEAg YmZkX2NhbGN1bGF0ZV9hY3RpdmVfdHVubmVscyhjb25zdCBzdHJ1Y3Qgb3ZzcmVjX2JyaWRnZSAq YnJfaW50LAorICAqCisgICogSWYgJ291cl9jaGFzc2lzJyBpcyBDNSB0aGVuIHRoaXMgZnVuY3Rp b24gcmV0dXJucyBlbXB0eSBiZmQgc2V0LgorICAqLworLWJvb2wKKyt2b2lkCisgYmZkX2NhbGN1 bGF0ZV9jaGFzc2lzKAorICAgICBjb25zdCBzdHJ1Y3Qgc2JyZWNfY2hhc3NpcyAqb3VyX2NoYXNz aXMsCisgICAgIGNvbnN0IHN0cnVjdCBzYnJlY19oYV9jaGFzc2lzX2dyb3VwX3RhYmxlICpoYV9j aGFzc2lzX2dycF90YWJsZSwKKyAgICAgc3RydWN0IHNzZXQgKmJmZF9jaGFzc2lzKQorIHsKKyAg ICAgY29uc3Qgc3RydWN0IHNicmVjX2hhX2NoYXNzaXNfZ3JvdXAgKmhhX2NoYXNzaXNfZ3JwOwor LSAgICBib29sIGNoYXNzaXNfaXNfaGFfZ3cgPSBmYWxzZTsKKyAgICAgU0JSRUNfSEFfQ0hBU1NJ U19HUk9VUF9UQUJMRV9GT1JfRUFDSCAoaGFfY2hhc3Npc19ncnAsCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhX2NoYXNzaXNfZ3JwX3RhYmxlKSB7CisgICAg ICAgICBib29sIGlzX2hhX2NoYXNzaXMgPSBmYWxzZTsKK0BAIC0xNDQsNyArMTQzLDYgQEAgYmZk X2NhbGN1bGF0ZV9jaGFzc2lzKAorICAgICAgICAgICAgIHNzZXRfYWRkKCZncnBfY2hhc3Npcywg aGFfY2gtPmNoYXNzaXMtPm5hbWUpOworICAgICAgICAgICAgIGlmIChvdXJfY2hhc3NpcyA9PSBo YV9jaC0+Y2hhc3NpcykgeworICAgICAgICAgICAgICAgICBpc19oYV9jaGFzc2lzID0gdHJ1ZTsK Ky0gICAgICAgICAgICAgICAgY2hhc3Npc19pc19oYV9ndyA9IHRydWU7CisgICAgICAgICAgICAg ICAgIGJmZF9zZXR1cF9yZXF1aXJlZCA9IHRydWU7CisgICAgICAgICAgICAgfQorICAgICAgICAg fQorQEAgLTE4MCw3ICsxNzgsNiBAQCBiZmRfY2FsY3VsYXRlX2NoYXNzaXMoCisgICAgICAgICB9 CisgICAgICAgICBzc2V0X2Rlc3Ryb3koJmdycF9jaGFzc2lzKTsKKyAgICAgfQorLSAgICByZXR1 cm4gY2hhc3Npc19pc19oYV9ndzsKKyB9CisgCisgdm9pZAorZGlmZiAtLWdpdCBhL2NvbnRyb2xs ZXIvYmZkLmggYi9jb250cm9sbGVyL2JmZC5oCitpbmRleCAzZTMzODQ4OTEyLi5mOGZlY2U1YTU4 IDEwMDY0NAorLS0tIGEvY29udHJvbGxlci9iZmQuaAorKysrIGIvY29udHJvbGxlci9iZmQuaAor QEAgLTE2LDggKzE2LDYgQEAKKyAjaWZuZGVmIE9WTl9CRkRfSAorICNkZWZpbmUgT1ZOX0JGRF9I IDEKKyAKKy0jaW5jbHVkZSA8c3RkYm9vbC5oPgorLQorIHN0cnVjdCBobWFwOworIHN0cnVjdCBv dnNkYl9pZGw7Cisgc3RydWN0IG92c2RiX2lkbF9pbmRleDsKK0BAIC0zOCw3ICszNiw3IEBAIHZv aWQgYmZkX3J1bihjb25zdCBzdHJ1Y3Qgb3ZzcmVjX2ludGVyZmFjZV90YWJsZSAqLAorICAgICAg ICAgICAgICBjb25zdCBzdHJ1Y3Qgc2JyZWNfc2JfZ2xvYmFsX3RhYmxlICosCisgICAgICAgICAg ICAgIGNvbnN0IHN0cnVjdCBvdnNyZWNfb3Blbl92c3dpdGNoX3RhYmxlICopOworIAorLWJvb2wg YmZkX2NhbGN1bGF0ZV9jaGFzc2lzKAorK3ZvaWQgYmZkX2NhbGN1bGF0ZV9jaGFzc2lzKAorICAg ICBjb25zdCBzdHJ1Y3Qgc2JyZWNfY2hhc3NpcyAqLAorICAgICBjb25zdCBzdHJ1Y3Qgc2JyZWNf aGFfY2hhc3Npc19ncm91cF90YWJsZSAqLAorICAgICBzdHJ1Y3Qgc3NldCAqKTsKK2RpZmYgLS1n aXQgYS9jb250cm9sbGVyL2VuY2Fwcy5jIGIvY29udHJvbGxlci9lbmNhcHMuYworaW5kZXggNjFm NDFiZjNhYy4uMDgxZmJlNjcxNiAxMDA2NDQKKy0tLSBhL2NvbnRyb2xsZXIvZW5jYXBzLmMKKysr KyBiL2NvbnRyb2xsZXIvZW5jYXBzLmMKK0BAIC0yNSw3ICsyNSw2IEBACisgI2luY2x1ZGUgImxp Yi9vdm4tc2ItaWRsLmgiCisgI2luY2x1ZGUgImxpYi9vdnNkYi1pZGwuaCIKKyAjaW5jbHVkZSAi b3ZuLWNvbnRyb2xsZXIuaCIKKy0jaW5jbHVkZSAic21hcC5oIgorIAorIFZMT0dfREVGSU5FX1RI SVNfTU9EVUxFKGVuY2Fwcyk7CisgCitAQCAtNDQsNiArNDMsNyBAQCBlbmNhcHNfcmVnaXN0ZXJf b3ZzX2lkbChzdHJ1Y3Qgb3ZzZGJfaWRsICpvdnNfaWRsKQorICAgICBvdnNkYl9pZGxfdHJhY2tf YWRkX2NvbHVtbihvdnNfaWRsLCAmb3ZzcmVjX2ludGVyZmFjZV9jb2xfbmFtZSk7CisgICAgIG92 c2RiX2lkbF90cmFja19hZGRfY29sdW1uKG92c19pZGwsICZvdnNyZWNfaW50ZXJmYWNlX2NvbF90 eXBlKTsKKyAgICAgb3ZzZGJfaWRsX3RyYWNrX2FkZF9jb2x1bW4ob3ZzX2lkbCwgJm92c3JlY19p bnRlcmZhY2VfY29sX29wdGlvbnMpOworKyAgICBvdnNkYl9pZGxfdHJhY2tfYWRkX2NvbHVtbihv dnNfaWRsLCAmb3ZzcmVjX2ludGVyZmFjZV9jb2xfb3RoZXJfY29uZmlnKTsKKyB9CisgCisgLyog RW5vdWdoIGNvbnRleHQgdG8gY3JlYXRlIGEgbmV3IHR1bm5lbCwgdXNpbmcgdHVubmVsX2FkZCgp LiAqLworQEAgLTIwMSwxMiArMjAxLDE0IEBAIG91dDoKKyB9CisgCisgc3RhdGljIHZvaWQKKy10 dW5uZWxfYWRkKHN0cnVjdCB0dW5uZWxfY3R4ICp0YywgY29uc3Qgc3RydWN0IHNicmVjX3NiX2ds b2JhbCAqc2JnLAorLSAgICAgICAgICAgY29uc3QgY2hhciAqbmV3X2NoYXNzaXNfaWQsIGNvbnN0 IHN0cnVjdCBzYnJlY19lbmNhcCAqZW5jYXAsCistICAgICAgICAgICBjb25zdCBjaGFyICpsb2Nh bF9pcCwKKyt0dW5uZWxfYWRkKHN0cnVjdCB0dW5uZWxfY3R4ICp0YywKKysgICAgICAgICAgIGNv bnN0IHN0cnVjdCBzYnJlY19zYl9nbG9iYWwgKnNiZywKKysgICAgICAgICAgIGNvbnN0IHN0cnVj dCBzYnJlY19jaGFzc2lzICpjaGFzc2lzX3JlYywKKysgICAgICAgICAgIGNvbnN0IHN0cnVjdCBz YnJlY19lbmNhcCAqZW5jYXAsIGNvbnN0IGNoYXIgKmxvY2FsX2lwLAorICAgICAgICAgICAgY29u c3Qgc3RydWN0IG92c3JlY19vcGVuX3Zzd2l0Y2hfdGFibGUgKm92c190YWJsZSkKKyB7CisgICAg IHN0cnVjdCBzbWFwIG9wdGlvbnMgPSBTTUFQX0lOSVRJQUxJWkVSKCZvcHRpb25zKTsKKysgICAg c3RydWN0IHNtYXAgb3RoZXJfY29uZmlnID0gU01BUF9JTklUSUFMSVpFUigmb3RoZXJfY29uZmln KTsKKyAgICAgc21hcF9hZGQoJm9wdGlvbnMsICJyZW1vdGVfaXAiLCBlbmNhcC0+aXApOworICAg ICBzbWFwX2FkZCgmb3B0aW9ucywgImxvY2FsX2lwIiwgbG9jYWxfaXApOworICAgICBzbWFwX2Fk ZCgmb3B0aW9ucywgImtleSIsICJmbG93Iik7CitAQCAtMjIxLDkgKzIyMyw5IEBAIHR1bm5lbF9h ZGQoc3RydWN0IHR1bm5lbF9jdHggKnRjLCBjb25zdCBzdHJ1Y3Qgc2JyZWNfc2JfZ2xvYmFsICpz YmcsCisgICAgICAqIGNvbWJpbmF0aW9uIG9mIHRoZSBjaGFzc2lzX25hbWUgYW5kIHRoZSByZW1v dGUgYW5kIGxvY2FsIGVuY2FwLWlwcyB0bworICAgICAgKiBpZGVudGlmeSBhIHNwZWNpZmljIHR1 bm5lbCB0byB0aGUgcmVtb3RlIGNoYXNzaXMuCisgICAgICAqLworLSAgICB0dW5uZWxfZW50cnlf aWQgPSBlbmNhcHNfdHVubmVsX2lkX2NyZWF0ZShuZXdfY2hhc3Npc19pZCwgZW5jYXAtPmlwLAor KyAgICB0dW5uZWxfZW50cnlfaWQgPSBlbmNhcHNfdHVubmVsX2lkX2NyZWF0ZShjaGFzc2lzX3Jl Yy0+bmFtZSwgZW5jYXAtPmlwLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBsb2NhbF9pcCk7CistICAgIHR1bm5lbF9lbnRyeV9pZF9vbGQgPSBlbmNhcHNf dHVubmVsX2lkX2NyZWF0ZV9sZWdhY3kobmV3X2NoYXNzaXNfaWQsCisrICAgIHR1bm5lbF9lbnRy eV9pZF9vbGQgPSBlbmNhcHNfdHVubmVsX2lkX2NyZWF0ZV9sZWdhY3koY2hhc3Npc19yZWMtPm5h bWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgZW5jYXAtPmlwKTsKKyAgICAgaWYgKGNzdW0gJiYgKCFzdHJjbXAoY3N1bSwgInRydWUi KSB8fCAhc3RyY21wKGNzdW0sICJmYWxzZSIpKSkgeworICAgICAgICAgc21hcF9hZGQoJm9wdGlv bnMsICJjc3VtIiwgY3N1bSk7CitAQCAtMjU4LDcgKzI2MCw3IEBAIHR1bm5lbF9hZGQoc3RydWN0 IHR1bm5lbF9jdHggKnRjLCBjb25zdCBzdHJ1Y3Qgc2JyZWNfc2JfZ2xvYmFsICpzYmcsCisgCisg ICAgIC8qIEFkZCBhdXRoIGluZm8gaWYgaXBzZWMgaXMgZW5hYmxlZC4gKi8KKyAgICAgaWYgKHNi Zy0+aXBzZWMpIHsKKy0gICAgICAgIHNtYXBfYWRkKCZvcHRpb25zLCAicmVtb3RlX25hbWUiLCBu ZXdfY2hhc3Npc19pZCk7CisrICAgICAgICBzbWFwX2FkZCgmb3B0aW9ucywgInJlbW90ZV9uYW1l IiwgY2hhc3Npc19yZWMtPm5hbWUpOworIAorICAgICAgICAgLyogRm9yY2UgTkFULVQgdHJhdmVy c2FsIHZpYSBjb25maWd1cmF0aW9uICovCisgICAgICAgICAvKiBUd28gaXBzZWMgYmFja2VuZHMg YXJlIHN1cHBvcnRlZDogbGlicmVzd2FuIGFuZCBzdHJvbmdzd2FuICovCitAQCAtMjc2LDYgKzI3 OCwxMSBAQCB0dW5uZWxfYWRkKHN0cnVjdCB0dW5uZWxfY3R4ICp0YywgY29uc3Qgc3RydWN0IHNi cmVjX3NiX2dsb2JhbCAqc2JnLAorICAgICAgICAgfQorICAgICB9CisgCisrICAgIGlmIChpc19y YW1wX3R1bm5lbCgmY2hhc3Npc19yZWMtPm90aGVyX2NvbmZpZykpIHsKKysgICAgICAgIC8qIFBy b3BhZ2F0ZSByYW1wIHN3aXRjaCBmbGFnIGZyb20gY2hhc3NpcyB0byBpbnRlcmZhY2UuICovCisr ICAgICAgICBzbWFwX2FkZCgmb3RoZXJfY29uZmlnLCAiaXMtdnRlcCIsICJ0cnVlIik7CisrICAg IH0KKysKKyAgICAgLyogSWYgdGhlcmUncyBhbiBleGlzdGluZyB0dW5uZWwgcmVjb3JkIHRoYXQg ZG9lcyBub3QgbmVlZCBhbnkgY2hhbmdlLAorICAgICAgKiBrZWVwIGl0LiAgT3RoZXJ3aXNlLCBj cmVhdGUgYSBuZXcgcmVjb3JkIChpZiB0aGVyZSB3YXMgYW4gZXhpc3RpbmcKKyAgICAgICogcmVj b3JkLCB0aGUgbmV3IHJlY29yZCB3aWxsIHN1cHBsYW50IGl0IGFuZCBlbmNhcHNfcnVuKCkgd2ls bCBkZWxldGUKK0BAIC0zMTIsMTAgKzMxOSwxMCBAQCB0dW5uZWxfYWRkKHN0cnVjdCB0dW5uZWxf Y3R4ICp0YywgY29uc3Qgc3RydWN0IHNicmVjX3NiX2dsb2JhbCAqc2JnLAorICAgICAgKiBpdHMg bmFtZSwgb3RoZXJ3aXNlIGdlbmVyYXRlIGEgbmV3LCB1bmlxdWUgbmFtZS4gKi8KKyAgICAgY2hh ciAqcG9ydF9uYW1lID0gKHR1bm5lbAorICAgICAgICAgICAgICAgICAgICAgICAgPyB4c3RyZHVw KHR1bm5lbC0+cG9ydC0+bmFtZSkKKy0gICAgICAgICAgICAgICAgICAgICAgIDogdHVubmVsX2Ny ZWF0ZV9uYW1lKHRjLCBuZXdfY2hhc3Npc19pZCkpOworKyAgICAgICAgICAgICAgICAgICAgICAg OiB0dW5uZWxfY3JlYXRlX25hbWUodGMsIGNoYXNzaXNfcmVjLT5uYW1lKSk7CisgICAgIGlmICgh cG9ydF9uYW1lKSB7CisgICAgICAgICBWTE9HX1dBUk4oIlVuYWJsZSB0byBhbGxvY2F0ZSB1bmlx dWUgbmFtZSBmb3IgJyVzJyB0dW5uZWwiLAorLSAgICAgICAgICAgICAgICAgIG5ld19jaGFzc2lz X2lkKTsKKysgICAgICAgICAgICAgICAgICBjaGFzc2lzX3JlYy0+bmFtZSk7CisgICAgICAgICBn b3RvIGV4aXQ7CisgICAgIH0KKyAKK0BAIC0zMjMsNiArMzMwLDcgQEAgdHVubmVsX2FkZChzdHJ1 Y3QgdHVubmVsX2N0eCAqdGMsIGNvbnN0IHN0cnVjdCBzYnJlY19zYl9nbG9iYWwgKnNiZywKKyAg ICAgb3ZzcmVjX2ludGVyZmFjZV9zZXRfbmFtZShpZmFjZSwgcG9ydF9uYW1lKTsKKyAgICAgb3Zz cmVjX2ludGVyZmFjZV9zZXRfdHlwZShpZmFjZSwgZW5jYXAtPnR5cGUpOworICAgICBvdnNyZWNf aW50ZXJmYWNlX3NldF9vcHRpb25zKGlmYWNlLCAmb3B0aW9ucyk7CisrICAgIG92c3JlY19pbnRl cmZhY2Vfc2V0X290aGVyX2NvbmZpZyhpZmFjZSwgJm90aGVyX2NvbmZpZyk7CisgCisgICAgIHN0 cnVjdCBvdnNyZWNfcG9ydCAqcG9ydCA9IG92c3JlY19wb3J0X2luc2VydCh0Yy0+b3ZzX3R4bik7 CisgICAgIG92c3JlY19wb3J0X3NldF9uYW1lKHBvcnQsIHBvcnRfbmFtZSk7CitAQCAtMzM4LDYg KzM0Niw3IEBAIGV4aXQ6CisgICAgIGZyZWUodHVubmVsX2VudHJ5X2lkKTsKKyAgICAgZnJlZSh0 dW5uZWxfZW50cnlfaWRfb2xkKTsKKyAgICAgc21hcF9kZXN0cm95KCZvcHRpb25zKTsKKysgICAg c21hcF9kZXN0cm95KCZvdGhlcl9jb25maWcpOworIH0KKyAKKyBzdGF0aWMgYm9vbAorQEAgLTQw Myw3ICs0MTIsNyBAQCBjaGFzc2lzX3R1bm5lbF9hZGQoY29uc3Qgc3RydWN0IHNicmVjX2NoYXNz aXMgKmNoYXNzaXNfcmVjLAorICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICBWTE9HX0RCRygi dHVubmVsX2FkZDogJyVzJywgbG9jYWwgaXA6ICVzIiwgY2hhc3Npc19yZWMtPm5hbWUsCisgICAg ICAgICAgICAgICAgICAgICAgdGhpc19jaGFzc2lzLT5lbmNhcHNbal0tPmlwKTsKKy0gICAgICAg ICAgICB0dW5uZWxfYWRkKHRjLCBzYmcsIGNoYXNzaXNfcmVjLT5uYW1lLCBjaGFzc2lzX3JlYy0+ ZW5jYXBzW2ldLAorKyAgICAgICAgICAgIHR1bm5lbF9hZGQodGMsIHNiZywgY2hhc3Npc19yZWMs IGNoYXNzaXNfcmVjLT5lbmNhcHNbaV0sCisgICAgICAgICAgICAgICAgICAgICAgICB0aGlzX2No YXNzaXMtPmVuY2Fwc1tqXS0+aXAsIG92c190YWJsZSk7CisgICAgICAgICAgICAgdHVuY250Kys7 CisgICAgICAgICB9CitkaWZmIC0tZ2l0IGEvY29udHJvbGxlci9lbmNhcHMuaCBiL2NvbnRyb2xs ZXIvZW5jYXBzLmgKK2luZGV4IGZhNWRjMTdlNWYuLjAyNTdkMDhjMTMgMTAwNjQ0CistLS0gYS9j b250cm9sbGVyL2VuY2Fwcy5oCisrKysgYi9jb250cm9sbGVyL2VuY2Fwcy5oCitAQCAtMTcsNiAr MTcsNyBAQAorICNkZWZpbmUgT1ZOX0VOQ0FQU19IIDEKKyAKKyAjaW5jbHVkZSA8c3RkYm9vbC5o PgorKyNpbmNsdWRlICJzbWFwLmgiCisgCisgLyoKKyAgKiBHaXZlbiB0aGVyZSBjb3VsZCBiZSBt dWx0aXBsZSB0dW5uZWxzIHdpdGggZGlmZmVyZW50IElQcyB0byB0aGUgc2FtZQorQEAgLTY4LDQg KzY5LDEwIEBAIGJvb2wgIGVuY2Fwc190dW5uZWxfaWRfbWF0Y2goY29uc3QgY2hhciAqdHVubmVs X2lkLCBjb25zdCBjaGFyICpjaGFzc2lzX2lkLAorIAorIHZvaWQgZW5jYXBzX2Rlc3Ryb3kodm9p ZCk7CisgCisrc3RhdGljIGlubGluZSBib29sCisraXNfcmFtcF90dW5uZWwoY29uc3Qgc3RydWN0 IHNtYXAgKm90aGVyX2NvbmZpZykKKyt7CisrICAgIHJldHVybiBzbWFwX2dldF9ib29sKG90aGVy X2NvbmZpZywgImlzLXZ0ZXAiLCBmYWxzZSk7CisrfQorKworICNlbmRpZiAvKiBjb250cm9sbGVy L2VuY2Fwcy5oICovCitkaWZmIC0tZ2l0IGEvY29udHJvbGxlci9ldnBuLWJpbmRpbmcuYyBiL2Nv bnRyb2xsZXIvZXZwbi1iaW5kaW5nLmMKK2luZGV4IGIxNzY3MDZjM2YuLjRkYTgwMjBlMTUgMTAw NjQ0CistLS0gYS9jb250cm9sbGVyL2V2cG4tYmluZGluZy5jCisrKysgYi9jb250cm9sbGVyL2V2 cG4tYmluZGluZy5jCitAQCAtMzIsNiArMzIsNyBAQCBzdGF0aWMgc3RydWN0IHZsb2dfcmF0ZV9s aW1pdCBybCA9IFZMT0dfUkFURV9MSU1JVF9JTklUKDUsIDEpOworIAorIHN0YXRpYyB2b2lkIGNv bGxlY3RfZXZwbl9kYXRhcGF0aHMoY29uc3Qgc3RydWN0IGhtYXAgKmxvY2FsX2RhdGFwYXRocywK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBobWFwICpldnBuX2Rh dGFwYXRocyk7Cisrc3RhdGljIHZvaWQgZXZwbl9kYXRhcGF0aHNfY2xlYXIoc3RydWN0IGhtYXAg KmV2cG5fZGF0YXBhdGhzKTsKKyAKKyBzdHJ1Y3QgZXZwbl90dW5uZWwgeworICAgICB1aW50MTZf dCBkc3RfcG9ydDsKK0BAIC02Miw2ICs2Myw3IEBAIGV2cG5fYmluZGluZ19ydW4oY29uc3Qgc3Ry dWN0IGV2cG5fYmluZGluZ19jdHhfaW4gKmJfY3R4X2luLAorICAgICBzdHJ1Y3QgaG1hcHggc3Rh bGVfbWNfZ3JvdXBzID0gSE1BUFhfSU5JVElBTElaRVIoJnN0YWxlX21jX2dyb3Vwcyk7CisgICAg IHVpbnQzMl90IGhpbnQgPSBPVk5fTUlOX0VWUE5fS0VZOworIAorKyAgICBldnBuX2RhdGFwYXRo c19jbGVhcihiX2N0eF9vdXQtPmRhdGFwYXRocyk7CisgICAgIGNvbGxlY3RfZXZwbl9kYXRhcGF0 aHMoYl9jdHhfaW4tPmxvY2FsX2RhdGFwYXRocywgYl9jdHhfb3V0LT5kYXRhcGF0aHMpOworIAor ICAgICBzdHJ1Y3QgZXZwbl9iaW5kaW5nICpiaW5kaW5nOworQEAgLTIzMyw3ICsyMzUsNyBAQCBl dnBuX2RhdGFwYXRoX2ZpbmQoY29uc3Qgc3RydWN0IGhtYXAgKmV2cG5fZGF0YXBhdGhzLCB1aW50 MzJfdCB2bmkpCisgICAgIHJldHVybiBOVUxMOworIH0KKyAKKy12b2lkCisrc3RhdGljIHZvaWQK KyBldnBuX2RhdGFwYXRoc19jbGVhcihzdHJ1Y3QgaG1hcCAqZXZwbl9kYXRhcGF0aHMpCisgewor ICAgICBzdHJ1Y3QgZXZwbl9kYXRhcGF0aCAqZWRwOworZGlmZiAtLWdpdCBhL2NvbnRyb2xsZXIv ZXZwbi1iaW5kaW5nLmggYi9jb250cm9sbGVyL2V2cG4tYmluZGluZy5oCitpbmRleCAyOWI4NWZj MTYyLi41MjFkYjlkNmUzIDEwMDY0NAorLS0tIGEvY29udHJvbGxlci9ldnBuLWJpbmRpbmcuaAor KysrIGIvY29udHJvbGxlci9ldnBuLWJpbmRpbmcuaAorQEAgLTkzLDcgKzkzLDYgQEAgdm9pZCBl dnBuX3Z0ZXBfYmluZGluZ19saXN0KHN0cnVjdCB1bml4Y3RsX2Nvbm4gKmNvbm4sIGludCBhcmdj LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqYXJndltdLCB2b2lk ICpkYXRhXyk7CisgY29uc3Qgc3RydWN0IGV2cG5fZGF0YXBhdGggKmV2cG5fZGF0YXBhdGhfZmlu ZCgKKyAgICAgICAgIGNvbnN0IHN0cnVjdCBobWFwICpldnBuX2RhdGFwYXRocywgdWludDMyX3Qg dm5pKTsKKy12b2lkIGV2cG5fZGF0YXBhdGhzX2NsZWFyKHN0cnVjdCBobWFwICpldnBuX2RhdGFw YXRocyk7Cisgdm9pZCBldnBuX2RhdGFwYXRoc19kZXN0cm95KHN0cnVjdCBobWFwICpldnBuX2Rh dGFwYXRocyk7Cisgdm9pZCBldnBuX211bHRpY2FzdF9ncm91cHNfZGVzdHJveShzdHJ1Y3QgaG1h cCAqbXVsdGljYXN0X2dyb3Vwcyk7Cisgdm9pZCBldnBuX211bHRpY2FzdF9ncm91cF9saXN0KHN0 cnVjdCB1bml4Y3RsX2Nvbm4gKmNvbm4sIGludCBhcmdjLAorZGlmZiAtLWdpdCBhL2NvbnRyb2xs ZXIvZ2FycF9yYXJwLmMgYi9jb250cm9sbGVyL2dhcnBfcmFycC5jCitpbmRleCA5ZDBjMmMyZTRi Li4xY2Y0MTVhOWZhIDEwMDY0NAorLS0tIGEvY29udHJvbGxlci9nYXJwX3JhcnAuYworKysrIGIv Y29udHJvbGxlci9nYXJwX3JhcnAuYworQEAgLTI5OCw2ICsyOTgsNyBAQCByZXNldF90aW1lcnNf Zm9yX2NsYWltZWRfY3Ioc3RydWN0IGlmX3N0YXR1c19tZ3IgKm1ncikKKyAgICAgU1NFVF9GT1Jf RUFDSF9TQUZFIChjcl9sb2dpY2FsX3BvcnQsIGNsYWltZWRfY3IpIHsKKyAgICAgICAgIGdhcnBf cmFycF9ub2RlX3Jlc2V0X3RpbWVycyhjcl9sb2dpY2FsX3BvcnQpOworICAgICAgICAgc3NldF9k ZWxldGUoY2xhaW1lZF9jciwgU1NFVF9OT0RFX0ZST01fTkFNRShjcl9sb2dpY2FsX3BvcnQpKTsK KysgICAgICAgIGdhcnBfcmFycF9kYXRhX2hhc19jaGFuZ2VkID0gdHJ1ZTsKKyAgICAgfQorIAor IH0KK0BAIC01NjUsNyArNTY2LDcgQEAgZ2FycF9yYXJwX2dldF9kYXRhKHZvaWQpCisgYm9vbAor IGdhcnBfcmFycF9kYXRhX2NoYW5nZWQodm9pZCkgeworICAgICBib29sIHJldCA9IGdhcnBfcmFy cF9kYXRhX2hhc19jaGFuZ2VkOworLSAgICBnYXJwX3JhcnBfZGF0YV9oYXNfY2hhbmdlZCA9IHRy dWU7CisrICAgIGdhcnBfcmFycF9kYXRhX2hhc19jaGFuZ2VkID0gZmFsc2U7CisgICAgIHJldHVy biByZXQ7CisgfQorIAorZGlmZiAtLWdpdCBhL2NvbnRyb2xsZXIvbGZsb3cuYyBiL2NvbnRyb2xs ZXIvbGZsb3cuYworaW5kZXggMzVlZDZkMzBiNy4uMzgyYzJhZWNiOSAxMDA2NDQKKy0tLSBhL2Nv bnRyb2xsZXIvbGZsb3cuYworKysrIGIvY29udHJvbGxlci9sZmxvdy5jCitAQCAtMjI5LDYgKzIy OSwyNyBAQCBpc19jaGFzc2lzX3Jlc2lkZW50X2NiKGNvbnN0IHZvaWQgKmNfYXV4XywgY29uc3Qg Y2hhciAqcG9ydF9uYW1lKQorICAgICB9CisgfQorIAorK3N0YXRpYyBib29sCisrbHBvcnRfaWRf aXNfbG9jYWwoY29uc3Qgc3RydWN0IGxmbG93X2N0eF9pbiAqbF9jdHhfaW4sCisrICAgICAgICAg ICAgICAgICAgY29uc3Qgc3RydWN0IHV1aWQgKmxmbG93X3V1aWQsCisrICAgICAgICAgICAgICAg ICAgaW50NjRfdCBkcF9pZCwgaW50NjRfdCBwb3J0X2lkKQorK3sKKysgICAgLyogVG8vZnJvbSBF VlBOIFZURVAgbG9naWNhbCBwb3J0IGtleXMgYXJlIGFsd2F5cyBsb2NhbC4gKi8KKysgICAgaWYg KE9WTl9JU19FVlBOX0tFWShwb3J0X2lkKSkgeworKyAgICAgICAgcmV0dXJuIHRydWU7CisrICAg IH0KKysKKysgICAgY2hhciBidWZbMTZdOworKyAgICBnZXRfdW5pcXVlX2xwb3J0X2tleShkcF9p ZCwgcG9ydF9pZCwgYnVmLCBzaXplb2YoYnVmKSk7CisrCisrICAgIGlmICghc3NldF9jb250YWlu cyhsX2N0eF9pbi0+cmVsYXRlZF9scG9ydF9pZHMsIGJ1ZikpIHsKKysgICAgICAgIFZMT0dfREJH KCJsZmxvdyAiVVVJRF9GTVQiIHBvcnQgJXMgaW4gbWF0Y2ggaXMgbm90IGxvY2FsLCBza2lwIiwK KysgICAgICAgICAgICAgICAgIFVVSURfQVJHUyhsZmxvd191dWlkKSwgYnVmKTsKKysgICAgICAg IHJldHVybiBmYWxzZTsKKysgICAgfQorKyAgICByZXR1cm4gdHJ1ZTsKKyt9CisrCisgLyogQWRk cyB0aGUgbG9naWNhbCBmbG93cyBmcm9tIHRoZSBMb2dpY2FsX0Zsb3cgdGFibGUgdG8gZmxvdyB0 YWJsZXMuICovCisgc3RhdGljIHZvaWQKKyBhZGRfbG9naWNhbF9mbG93cyhzdHJ1Y3QgbGZsb3df Y3R4X2luICpsX2N0eF9pbiwKK0BAIC05MzYsMjIgKzk1NywxNSBAQCBhZGRfbWF0Y2hlc190b19m bG93X3RhYmxlKGNvbnN0IHN0cnVjdCBzYnJlY19sb2dpY2FsX2Zsb3cgKmxmbG93LAorIAorICAg ICBzdHJ1Y3QgZXhwcl9tYXRjaCAqbTsKKyAgICAgSE1BUF9GT1JfRUFDSCAobSwgaG1hcF9ub2Rl LCBtYXRjaGVzKSB7CistICAgICAgICBtYXRjaF9zZXRfbWV0YWRhdGEoJm0tPm1hdGNoLCBodG9u bGwobGRwLT5kYXRhcGF0aC0+dHVubmVsX2tleSkpOworKyAgICAgICAgaW50NjRfdCBkcF9pZCA9 IGxkcC0+ZGF0YXBhdGgtPnR1bm5lbF9rZXk7CisrICAgICAgICBtYXRjaF9zZXRfbWV0YWRhdGEo Jm0tPm1hdGNoLCBodG9ubGwoZHBfaWQpKTsKKyAgICAgICAgIGlmIChsZHAtPmlzX3N3aXRjaCkg eworICAgICAgICAgICAgIHVuc2lnbmVkIGludCByZWdfaW5kZXgKKyAgICAgICAgICAgICAgICAg PSAoaW5ncmVzcyA/IE1GRl9MT0dfSU5QT1JUIDogTUZGX0xPR19PVVRQT1JUKSAtIE1GRl9SRUcw OworICAgICAgICAgICAgIGludDY0X3QgcG9ydF9pZCA9IG0tPm1hdGNoLmZsb3cucmVnc1tyZWdf aW5kZXhdOworLSAgICAgICAgICAgIGlmIChwb3J0X2lkKSB7CistICAgICAgICAgICAgICAgIGlu dDY0X3QgZHBfaWQgPSBsZHAtPmRhdGFwYXRoLT50dW5uZWxfa2V5OworLSAgICAgICAgICAgICAg ICBjaGFyIGJ1ZlsxNl07CistICAgICAgICAgICAgICAgIGdldF91bmlxdWVfbHBvcnRfa2V5KGRw X2lkLCBwb3J0X2lkLCBidWYsIHNpemVvZihidWYpKTsKKy0gICAgICAgICAgICAgICAgaWYgKCFz c2V0X2NvbnRhaW5zKGxfY3R4X2luLT5yZWxhdGVkX2xwb3J0X2lkcywgYnVmKSkgeworLSAgICAg ICAgICAgICAgICAgICAgVkxPR19EQkcoImxmbG93ICJVVUlEX0ZNVAorLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIiBwb3J0ICVzIGluIG1hdGNoIGlzIG5vdCBsb2NhbCwgc2tpcCIsCist ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVVUlEX0FSR1MoJmxmbG93LT5oZWFkZXJfLnV1 aWQpLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnVmKTsKKy0gICAgICAgICAgICAg ICAgICAgIGNvbnRpbnVlOworLSAgICAgICAgICAgICAgICB9CisrICAgICAgICAgICAgaWYgKHBv cnRfaWQgJiYgIWxwb3J0X2lkX2lzX2xvY2FsKGxfY3R4X2luLCAmbGZsb3ctPmhlYWRlcl8udXVp ZCwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZHBfaWQs IHBvcnRfaWQpKSB7CisrICAgICAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICAgICAgIH0K KyAgICAgICAgIH0KKyAKK0BAIC0xMDkwLDExICsxMTA0LDggQEAgY29uc2lkZXJfbG9naWNhbF9m bG93X18oY29uc3Qgc3RydWN0IHNicmVjX2xvZ2ljYWxfZmxvdyAqbGZsb3csCisgICAgICAgICAg ICAgICAgICAgICAgImZvdW5kLCBza2lwIiwgVVVJRF9BUkdTKCZsZmxvdy0+aGVhZGVyXy51dWlk KSwgaW9fcG9ydCk7CisgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgfQorLSAgICAgICAg Y2hhciBidWZbMTZdOworLSAgICAgICAgZ2V0X3VuaXF1ZV9scG9ydF9rZXkoZHAtPnR1bm5lbF9r ZXksIHBiLT50dW5uZWxfa2V5LCBidWYsIHNpemVvZiBidWYpOworLSAgICAgICAgaWYgKCFzc2V0 X2NvbnRhaW5zKGxfY3R4X2luLT5yZWxhdGVkX2xwb3J0X2lkcywgYnVmKSkgeworLSAgICAgICAg ICAgIFZMT0dfREJHKCJsZmxvdyAiVVVJRF9GTVQiIG1hdGNoZXMgaW5wb3J0L291dHBvcnQgJXMg dGhhdCdzIG5vdCAiCistICAgICAgICAgICAgICAgICAgICAgImxvY2FsLCBza2lwIiwgVVVJRF9B UkdTKCZsZmxvdy0+aGVhZGVyXy51dWlkKSwgaW9fcG9ydCk7CisrICAgICAgICBpZiAoIWxwb3J0 X2lkX2lzX2xvY2FsKGxfY3R4X2luLCAmbGZsb3ctPmhlYWRlcl8udXVpZCwKKysgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgZHAtPnR1bm5lbF9rZXksIHBiLT50dW5uZWxfa2V5KSkgewor ICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgIH0KKyAgICAgfQorZGlmZiAtLWdpdCBhL2Nv bnRyb2xsZXIvbG9jYWxfZGF0YS5jIGIvY29udHJvbGxlci9sb2NhbF9kYXRhLmMKK2luZGV4IGRk YTc0NmQ3M2UuLmFmNmM3NWI0MDAgMTAwNjQ0CistLS0gYS9jb250cm9sbGVyL2xvY2FsX2RhdGEu YworKysrIGIvY29udHJvbGxlci9sb2NhbF9kYXRhLmMKK0BAIC01MzIsNiArNTMyLDcgQEAgbG9j YWxfbm9udmlmX2RhdGFfcnVuKGNvbnN0IHN0cnVjdCBvdnNyZWNfYnJpZGdlICpicl9pbnQsCisg ICAgICAgICAgICAgICAgIHR1bi0+b2Zwb3J0ID0gdTE2X3RvX29mcChvZnBvcnQpOworICAgICAg ICAgICAgICAgICB0dW4tPnR5cGUgPSB0dW5uZWxfdHlwZTsKKyAgICAgICAgICAgICAgICAgdHVu LT5pc19pcHY2ID0gaXAgPyBhZGRyX2lzX2lwdjYoaXApIDogZmFsc2U7CisrICAgICAgICAgICAg ICAgIHR1bi0+aXNfcmFtcF90dW5uZWwgPSBpc19yYW1wX3R1bm5lbCgmaWZhY2VfcmVjLT5vdGhl cl9jb25maWcpOworIAorICAgICAgICAgICAgICAgICBmcmVlKGhhc2hfaWQpOworICAgICAgICAg ICAgICAgICBmcmVlKGlwKTsKK2RpZmYgLS1naXQgYS9jb250cm9sbGVyL2xvY2FsX2RhdGEuaCBi L2NvbnRyb2xsZXIvbG9jYWxfZGF0YS5oCitpbmRleCA5NDhjMWE5MzVlLi5jYmI4ODk5ZWI2IDEw MDY0NAorLS0tIGEvY29udHJvbGxlci9sb2NhbF9kYXRhLmgKKysrKyBiL2NvbnRyb2xsZXIvbG9j YWxfZGF0YS5oCitAQCAtMTQ2LDYgKzE0Niw3IEBAIHN0cnVjdCBjaGFzc2lzX3R1bm5lbCB7Cisg ICAgIG9mcF9wb3J0X3Qgb2Zwb3J0OworICAgICBlbnVtIGNoYXNzaXNfdHVubmVsX3R5cGUgdHlw ZTsKKyAgICAgYm9vbCBpc19pcHY2OworKyAgICBib29sIGlzX3JhbXBfdHVubmVsOworIH07Cisg CisgLyogRmxvdy1iYXNlZCB0dW5uZWwgdGhhdCBjb25zb2xpZGF0ZXMgbXVsdGlwbGUgZW5kcG9p bnRzIGludG8gYSBzaW5nbGUKK2RpZmYgLS1naXQgYS9jb250cm9sbGVyL21hYy1jYWNoZS5jIGIv Y29udHJvbGxlci9tYWMtY2FjaGUuYworaW5kZXggYmRmMzVlZWI3NS4uYzk5NmZkNmI5YSAxMDA2 NDQKKy0tLSBhL2NvbnRyb2xsZXIvbWFjLWNhY2hlLmMKKysrKyBiL2NvbnRyb2xsZXIvbWFjLWNh Y2hlLmMKK0BAIC01OSwxMiArNTksMTEgQEAgc3RhdGljIHZvaWQKKyBtYWNfY2FjaGVfdXBkYXRl X3JlcV9kZWxheShzdHJ1Y3QgaG1hcCAqdGhyZXNob2xkcywgdWludDY0X3QgKnJlcV9kZWxheSk7 CisgCisgc3RhdGljIHN0cnVjdCBidWZmZXJlZF9wYWNrZXRzICoKKy1idWZmZXJlZF9wYWNrZXRz X2ZpbmQoc3RydWN0IGJ1ZmZlcmVkX3BhY2tldHNfY3R4ICpjdHgsCisrYnVmZmVyZWRfcGFja2V0 c19maW5kKHN0cnVjdCBjbWFwICpicF9tYXAsCisgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0 IHN0cnVjdCBtYWNfYmluZGluZ19kYXRhICptYl9kYXRhKTsKKyAKKyBzdGF0aWMgdm9pZAorLWJ1 ZmZlcmVkX3BhY2tldHNfcmVtb3ZlKHN0cnVjdCBidWZmZXJlZF9wYWNrZXRzX2N0eCAqY3R4LAor LSAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBidWZmZXJlZF9wYWNrZXRzICpicCk7Cisr YnVmZmVyZWRfcGFja2V0c19mcmVlKHN0cnVjdCBidWZmZXJlZF9wYWNrZXRzICpicCk7CisgCisg c3RhdGljIHZvaWQKKyBidWZmZXJlZF9wYWNrZXRzX2RiX2xvb2t1cChzdHJ1Y3QgYnVmZmVyZWRf cGFja2V0cyAqYnAsCitAQCAtNTUwLDI0ICs1NDksMjQgQEAgYnBfcGFja2V0X2RhdGFfZGVzdHJv eShzdHJ1Y3QgYnBfcGFja2V0X2RhdGEgKnBkKSB7CisgfQorIAorIHN0cnVjdCBidWZmZXJlZF9w YWNrZXRzICoKKy1idWZmZXJlZF9wYWNrZXRzX2FkZChzdHJ1Y3QgYnVmZmVyZWRfcGFja2V0c19j dHggKmN0eCwKKy0gICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgbWFjX2JpbmRpbmdfZGF0YSBt Yl9kYXRhKSB7CisrYnVmZmVyZWRfcGFja2V0c19hZGQoc3RydWN0IGNtYXAgKmJwX21hcCwgc3Ry dWN0IG1hY19iaW5kaW5nX2RhdGEgbWJfZGF0YSkgeworICAgICB1aW50MzJfdCBoYXNoID0gbWFj X2JpbmRpbmdfZGF0YV9oYXNoKCZtYl9kYXRhKTsKKyAKKy0gICAgc3RydWN0IGJ1ZmZlcmVkX3Bh Y2tldHMgKmJwID0gYnVmZmVyZWRfcGFja2V0c19maW5kKGN0eCwgJm1iX2RhdGEpOworKyAgICBz dHJ1Y3QgYnVmZmVyZWRfcGFja2V0cyAqYnAgPSBidWZmZXJlZF9wYWNrZXRzX2ZpbmQoYnBfbWFw LCAmbWJfZGF0YSk7CisgICAgIGlmICghYnApIHsKKy0gICAgICAgIGlmIChobWFwX2NvdW50KCZj dHgtPmJ1ZmZlcmVkX3BhY2tldHMpID49IE1BWF9CVUZGRVJFRF9QQUNLRVRTKSB7CisrICAgICAg ICBpZiAoY21hcF9jb3VudChicF9tYXApID49IE1BWF9CVUZGRVJFRF9QQUNLRVRTKSB7CisgICAg ICAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgICAgICB9CisgCisgICAgICAgICBicCA9IHhtYWxs b2Moc2l6ZW9mICpicCk7CistICAgICAgICBobWFwX2luc2VydCgmY3R4LT5idWZmZXJlZF9wYWNr ZXRzLCAmYnAtPmhtYXBfbm9kZSwgaGFzaCk7CisgICAgICAgICBicC0+bWJfZGF0YSA9IG1iX2Rh dGE7CisrICAgICAgICBhdG9taWNfaW5pdCgmYnAtPnJlc29sdmVkX21hYywgMCk7CisgICAgICAg ICAvKiBTY2hlZHVsZSB0aGUgZnJlc2hseSBhZGRlZCBidWZmZXJlZCBwYWNrZXQgdG8gZG8gbG9v a3VwCisgICAgICAgICAgKiBpbW1lZGlhdGVseS4gKi8KKyAgICAgICAgIGJwLT5sb29rdXBfYXRf bXMgPSAwOworICAgICAgICAgYnAtPnF1ZXVlID0gVkVDVE9SX0NBUEFDSVRZX0lOSVRJQUxJWkVS KHN0cnVjdCBicF9wYWNrZXRfZGF0YSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBCVUZGRVJfUVVFVUVfREVQVEgpOworKyAgICAgICAgY21hcF9pbnNl cnQoYnBfbWFwLCAmYnAtPmNtYXBfbm9kZSwgaGFzaCk7CisgICAgIH0KKyAKKyAgICAgYnAtPmV4 cGlyZV9hdF9tcyA9IHRpbWVfbXNlYygpICsgQlVGRkVSRURfUEFDS0VUU19USU1FT1VUX01TOwor QEAgLTYwNSwyNSArNjA0LDI4IEBAIGJ1ZmZlcmVkX3BhY2tldHNfcGFja2V0X2RhdGFfZW5xdWV1 ZShzdHJ1Y3QgYnVmZmVyZWRfcGFja2V0cyAqYnAsCisgICAgIHZlY3Rvcl9wdXNoKCZicC0+cXVl dWUsICZwZCk7CisgfQorIAorLXZvaWQKKy1idWZmZXJlZF9wYWNrZXRzX2N0eF9ydW4oc3RydWN0 IGJ1ZmZlcmVkX3BhY2tldHNfY3R4ICpjdHgsCistICAgICAgICAgICAgICAgICAgICAgICAgIGNv bnN0IHN0cnVjdCBobWFwICpyZWNlbnRfbWJzLAorLSAgICAgICAgICAgICAgICAgICAgICAgICBz dHJ1Y3Qgb3ZzZGJfaWRsX2luZGV4ICpzYnJlY19wYl9ieV9rZXksCistICAgICAgICAgICAgICAg ICAgICAgICAgIHN0cnVjdCBvdnNkYl9pZGxfaW5kZXggKnNicmVjX2RwX2J5X2tleSwKKy0gICAg ICAgICAgICAgICAgICAgICAgICAgc3RydWN0IG92c2RiX2lkbF9pbmRleCAqc2JyZWNfcGJfYnlf bmFtZSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IG92c2RiX2lkbF9pbmRleCAq c2JyZWNfbWJfYnlfbHBvcnRfaXApIHsKKytib29sCisrYnVmZmVyZWRfcGFja2V0c19sb29rdXBf cnVuKHN0cnVjdCBjbWFwICpicF9tYXAsIGNvbnN0IHN0cnVjdCBobWFwICpyZWNlbnRfbWJzLAor KyAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3Qgb3ZzZGJfaWRsX2luZGV4ICpzYnJl Y19wYl9ieV9rZXksCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBvdnNkYl9p ZGxfaW5kZXggKnNicmVjX2RwX2J5X2tleSwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAg c3RydWN0IG92c2RiX2lkbF9pbmRleCAqc2JyZWNfcGJfYnlfbmFtZSwKKysgICAgICAgICAgICAg ICAgICAgICAgICAgICAgc3RydWN0IG92c2RiX2lkbF9pbmRleCAqc2JyZWNfbWJfYnlfbHBvcnRf aXApIHsKKyAgICAgc3RydWN0IGRzIGlwID0gRFNfRU1QVFlfSU5JVElBTElaRVI7CisgICAgIGxv bmcgbG9uZyBub3cgPSB0aW1lX21zZWMoKTsKKysgICAgYm9vbCB1cGRhdGVkID0gZmFsc2U7Cisg CisgICAgIHN0cnVjdCBidWZmZXJlZF9wYWNrZXRzICpicDsKKy0gICAgSE1BUF9GT1JfRUFDSF9T QUZFIChicCwgaG1hcF9ub2RlLCAmY3R4LT5idWZmZXJlZF9wYWNrZXRzKSB7CistICAgICAgICBz dHJ1Y3QgZXRoX2FkZHIgbWFjID0gZXRoX2FkZHJfemVybzsKKy0gICAgICAgIC8qIFJlbW92ZSBl eHBpcmVkIGJ1ZmZlcmVkIHBhY2tldHMuICovCistICAgICAgICBpZiAobm93ID4gYnAtPmV4cGly ZV9hdF9tcykgeworLSAgICAgICAgICAgIGJ1ZmZlcmVkX3BhY2tldHNfcmVtb3ZlKGN0eCwgYnAp OworKyAgICBDTUFQX0ZPUl9FQUNIIChicCwgY21hcF9ub2RlLCBicF9tYXApIHsKKysgICAgICAg IHVpbnQ2NF90IG1hYzY0OworKyAgICAgICAgYXRvbWljX3JlYWQoJmJwLT5yZXNvbHZlZF9tYWMs ICZtYWM2NCk7CisrICAgICAgICAvKiBNQUMgZm9yIGdpdmVuIGVudHJ5IHdhcyBhbHJlYWR5IHJl c29sdmVkLAorKyAgICAgICAgICogbm8gbmVlZCB0byByZXNvbHZlIGl0IGFnYWluLiAqLworKyAg ICAgICAgaWYgKG1hYzY0KSB7CisgICAgICAgICAgICAgY29udGludWU7CisgICAgICAgICB9Cisg CisrICAgICAgICBzdHJ1Y3QgZXRoX2FkZHIgbWFjID0gZXRoX2FkZHJfemVybzsKKysKKyAgICAg ICAgIHN0cnVjdCBtYWNfYmluZGluZyAqbWIgPSBtYWNfYmluZGluZ19maW5kKHJlY2VudF9tYnMs ICZicC0+bWJfZGF0YSk7CisgICAgICAgICBpZiAobWIpIHsKKyAgICAgICAgICAgICBtYWMgPSBt Yi0+ZGF0YS5tYWM7CitAQCAtNjM0LDEzICs2MzYsNDYgQEAgYnVmZmVyZWRfcGFja2V0c19jdHhf cnVuKHN0cnVjdCBidWZmZXJlZF9wYWNrZXRzX2N0eCAqY3R4LAorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHNicmVjX21iX2J5X2xwb3J0X2lwKTsKKyAgICAgICAgICAg ICAvKiBTY2hlZHVsZSBuZXh0IGxvb2t1cCBldmVuIGlmIHdlIGZvdW5kIHRoZSBNQUMgYWRkcmVz cywKKyAgICAgICAgICAgICAgKiBpZiB0aGUgYWRkcmVzcyB3YXMgZm91bmQgdGhpcyBzdHJ1Y3Qg d2lsbCBiZSBkZWxldGVkIGFueXdheS4gKi8KKysKKyAgICAgICAgICAgICBicC0+bG9va3VwX2F0 X21zID0gbm93ICsgQlVGRkVSRURfUEFDS0VUU19MT09LVVBfTVM7CisgICAgICAgICB9CisgCist ICAgICAgICBpZiAoZXRoX2FkZHJfaXNfemVybyhtYWMpKSB7CisrICAgICAgICBpZiAoIWV0aF9h ZGRyX2lzX3plcm8obWFjKSkgeworKyAgICAgICAgICAgIGF0b21pY19zdG9yZSgmYnAtPnJlc29s dmVkX21hYywgZXRoX2FkZHJfdG9fdWludDY0KG1hYykpOworKyAgICAgICAgICAgIHVwZGF0ZWQg PSB0cnVlOworKyAgICAgICAgfQorKyAgICB9CisrCisrICAgIGRzX2Rlc3Ryb3koJmlwKTsKKysK KysgICAgcmV0dXJuIHVwZGF0ZWQ7CisrfQorKworK3ZvaWQKKytidWZmZXJlZF9wYWNrZXRzX3J1 bihzdHJ1Y3QgY21hcCAqYnBfbWFwLCBzdHJ1Y3QgdmVjdG9yICpycGQpCisreworKyAgICBsb25n IGxvbmcgbm93ID0gdGltZV9tc2VjKCk7CisrCisrICAgIHN0cnVjdCBidWZmZXJlZF9wYWNrZXRz ICpicDsKKysgICAgQ01BUF9GT1JfRUFDSCAoYnAsIGNtYXBfbm9kZSwgYnBfbWFwKSB7CisrICAg ICAgICB1aW50MzJfdCBoYXNoID0gbWFjX2JpbmRpbmdfZGF0YV9oYXNoKCZicC0+bWJfZGF0YSk7 CisrCisrICAgICAgICAvKiBSZW1vdmUgZXhwaXJlZCBidWZmZXJlZCBwYWNrZXRzLiAqLworKyAg ICAgICAgaWYgKG5vdyA+IGJwLT5leHBpcmVfYXRfbXMpIHsKKysgICAgICAgICAgICBjbWFwX3Jl bW92ZShicF9tYXAsICZicC0+Y21hcF9ub2RlLCBoYXNoKTsKKysgICAgICAgICAgICBvdnNyY3Vf cG9zdHBvbmUoYnVmZmVyZWRfcGFja2V0c19mcmVlLCBicCk7CisrICAgICAgICAgICAgY29udGlu dWU7CisrICAgICAgICB9CisrCisrICAgICAgICB1aW50NjRfdCBtYWM2NDsKKysgICAgICAgIGF0 b21pY19yZWFkKCZicC0+cmVzb2x2ZWRfbWFjLCAmbWFjNjQpOworKyAgICAgICAgaWYgKCFtYWM2 NCkgeworICAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICAgfQorIAorKyAgICAgICAgc3Ry dWN0IGV0aF9hZGRyIG1hYzsKKysgICAgICAgIGV0aF9hZGRyX2Zyb21fdWludDY0KG1hYzY0LCAm bWFjKTsKKysKKyAgICAgICAgIHN0cnVjdCBicF9wYWNrZXRfZGF0YSAqcGQ7CisgICAgICAgICBW RUNUT1JfRk9SX0VBQ0hfUFRSICgmYnAtPnF1ZXVlLCBwZCkgeworICAgICAgICAgICAgIHN0cnVj dCBkcF9wYWNrZXQgcGFja2V0OworQEAgLTY1MCw0NSArNjg1LDI1IEBAIGJ1ZmZlcmVkX3BhY2tl dHNfY3R4X3J1bihzdHJ1Y3QgYnVmZmVyZWRfcGFja2V0c19jdHggKmN0eCwKKyAgICAgICAgICAg ICBldGgtPmV0aF9kc3QgPSBtYWM7CisgICAgICAgICB9CisgCistICAgICAgICB2ZWN0b3JfcHVz aF9hcnJheSgmY3R4LT5yZWFkeV9wYWNrZXRzX2RhdGEsCistICAgICAgICAgICAgICAgICAgICAg ICAgICB2ZWN0b3JfZ2V0X2FycmF5KCZicC0+cXVldWUpLAorKyAgICAgICAgdmVjdG9yX3B1c2hf YXJyYXkocnBkLCB2ZWN0b3JfZ2V0X2FycmF5KCZicC0+cXVldWUpLAorICAgICAgICAgICAgICAg ICAgICAgICAgICAgdmVjdG9yX2xlbigmYnAtPnF1ZXVlKSk7CisgICAgICAgICB2ZWN0b3JfY2xl YXIoJmJwLT5xdWV1ZSk7CistICAgICAgICBidWZmZXJlZF9wYWNrZXRzX3JlbW92ZShjdHgsIGJw KTsKKy0gICAgfQorLQorLSAgICBkc19kZXN0cm95KCZpcCk7CistfQorLQorLWJvb2wKKy1idWZm ZXJlZF9wYWNrZXRzX2N0eF9pc19yZWFkeV90b19zZW5kKHN0cnVjdCBidWZmZXJlZF9wYWNrZXRz X2N0eCAqY3R4KSB7CistICAgIHJldHVybiAhdmVjdG9yX2lzX2VtcHR5KCZjdHgtPnJlYWR5X3Bh Y2tldHNfZGF0YSk7CistfQorLQorLWJvb2wKKy1idWZmZXJlZF9wYWNrZXRzX2N0eF9oYXNfcGFj a2V0cyhzdHJ1Y3QgYnVmZmVyZWRfcGFja2V0c19jdHggKmN0eCkgeworLSAgICByZXR1cm4gIWht YXBfaXNfZW1wdHkoJmN0eC0+YnVmZmVyZWRfcGFja2V0cyk7CistfQorIAorLXZvaWQKKy1idWZm ZXJlZF9wYWNrZXRzX2N0eF9pbml0KHN0cnVjdCBidWZmZXJlZF9wYWNrZXRzX2N0eCAqY3R4KSB7 CistICAgIGN0eC0+cmVhZHlfcGFja2V0c19kYXRhID0gVkVDVE9SX0VNUFRZX0lOSVRJQUxJWkVS KHN0cnVjdCBicF9wYWNrZXRfZGF0YSk7CistICAgIGhtYXBfaW5pdCgmY3R4LT5idWZmZXJlZF9w YWNrZXRzKTsKKysgICAgICAgIGNtYXBfcmVtb3ZlKGJwX21hcCwgJmJwLT5jbWFwX25vZGUsIGhh c2gpOworKyAgICAgICAgb3ZzcmN1X3Bvc3Rwb25lKGJ1ZmZlcmVkX3BhY2tldHNfZnJlZSwgYnAp OworKyAgICB9CisgfQorIAorIHZvaWQKKy1idWZmZXJlZF9wYWNrZXRzX2N0eF9kZXN0cm95KHN0 cnVjdCBidWZmZXJlZF9wYWNrZXRzX2N0eCAqY3R4KSB7CistICAgIHN0cnVjdCBicF9wYWNrZXRf ZGF0YSAqcGQ7CistICAgIFZFQ1RPUl9GT1JfRUFDSF9QVFIgKCZjdHgtPnJlYWR5X3BhY2tldHNf ZGF0YSwgcGQpIHsKKy0gICAgICAgIGJwX3BhY2tldF9kYXRhX2Rlc3Ryb3kocGQpOworLSAgICB9 CistICAgIHZlY3Rvcl9kZXN0cm95KCZjdHgtPnJlYWR5X3BhY2tldHNfZGF0YSk7CistCisrYnVm ZmVyZWRfcGFja2V0c19tYXBfZGVzdHJveShzdHJ1Y3QgY21hcCAqYnBfbWFwKSB7CisgICAgIHN0 cnVjdCBidWZmZXJlZF9wYWNrZXRzICpicDsKKy0gICAgSE1BUF9GT1JfRUFDSF9TQUZFIChicCwg aG1hcF9ub2RlLCAmY3R4LT5idWZmZXJlZF9wYWNrZXRzKSB7CistICAgICAgICBidWZmZXJlZF9w YWNrZXRzX3JlbW92ZShjdHgsIGJwKTsKKysgICAgQ01BUF9GT1JfRUFDSCAoYnAsIGNtYXBfbm9k ZSwgYnBfbWFwKSB7CisrICAgICAgICBjbWFwX3JlbW92ZShicF9tYXAsICZicC0+Y21hcF9ub2Rl LAorKyAgICAgICAgICAgICAgICAgICAgbWFjX2JpbmRpbmdfZGF0YV9oYXNoKCZicC0+bWJfZGF0 YSkpOworKyAgICAgICAgb3ZzcmN1X3Bvc3Rwb25lKGJ1ZmZlcmVkX3BhY2tldHNfZnJlZSwgYnAp OworICAgICB9CistICAgIGhtYXBfZGVzdHJveSgmY3R4LT5idWZmZXJlZF9wYWNrZXRzKTsKKysK KysgICAgY21hcF9kZXN0cm95KGJwX21hcCk7CisgfQorIAorIHN0YXRpYyB1aW50MzJfdAorQEAg LTc3MSwxMiArNzg2LDEyIEBAIG1hY19jYWNoZV91cGRhdGVfcmVxX2RlbGF5KHN0cnVjdCBobWFw ICp0aHJlc2hvbGRzLCB1aW50NjRfdCAqcmVxX2RlbGF5KQorIH0KKyAKKyBzdGF0aWMgc3RydWN0 IGJ1ZmZlcmVkX3BhY2tldHMgKgorLWJ1ZmZlcmVkX3BhY2tldHNfZmluZChzdHJ1Y3QgYnVmZmVy ZWRfcGFja2V0c19jdHggKmN0eCwKKytidWZmZXJlZF9wYWNrZXRzX2ZpbmQoc3RydWN0IGNtYXAg KmJwX21hcCwKKyAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IG1hY19iaW5kaW5n X2RhdGEgKm1iX2RhdGEpIHsKKyAgICAgdWludDMyX3QgaGFzaCA9IG1hY19iaW5kaW5nX2RhdGFf aGFzaChtYl9kYXRhKTsKKyAKKyAgICAgc3RydWN0IGJ1ZmZlcmVkX3BhY2tldHMgKmJwOworLSAg ICBITUFQX0ZPUl9FQUNIX1dJVEhfSEFTSCAoYnAsIGhtYXBfbm9kZSwgaGFzaCwgJmN0eC0+YnVm ZmVyZWRfcGFja2V0cykgeworKyAgICBDTUFQX0ZPUl9FQUNIX1dJVEhfSEFTSCAoYnAsIGNtYXBf bm9kZSwgaGFzaCwgYnBfbWFwKSB7CisgICAgICAgICBpZiAobWFjX2JpbmRpbmdfZGF0YV9lcXVh bHMoJmJwLT5tYl9kYXRhLCBtYl9kYXRhKSkgeworICAgICAgICAgICAgIHJldHVybiBicDsKKyAg ICAgICAgIH0KK0BAIC03ODYsMTQgKzgwMSwxMiBAQCBidWZmZXJlZF9wYWNrZXRzX2ZpbmQoc3Ry dWN0IGJ1ZmZlcmVkX3BhY2tldHNfY3R4ICpjdHgsCisgfQorIAorIHN0YXRpYyB2b2lkCistYnVm ZmVyZWRfcGFja2V0c19yZW1vdmUoc3RydWN0IGJ1ZmZlcmVkX3BhY2tldHNfY3R4ICpjdHgsCist ICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IGJ1ZmZlcmVkX3BhY2tldHMgKmJwKSB7Cisr YnVmZmVyZWRfcGFja2V0c19mcmVlKHN0cnVjdCBidWZmZXJlZF9wYWNrZXRzICpicCkgeworICAg ICBzdHJ1Y3QgYnBfcGFja2V0X2RhdGEgKnBkOworICAgICBWRUNUT1JfRk9SX0VBQ0hfUFRSICgm YnAtPnF1ZXVlLCBwZCkgeworICAgICAgICAgYnBfcGFja2V0X2RhdGFfZGVzdHJveShwZCk7Cisg ICAgIH0KKyAKKy0gICAgaG1hcF9yZW1vdmUoJmN0eC0+YnVmZmVyZWRfcGFja2V0cywgJmJwLT5o bWFwX25vZGUpOworICAgICB2ZWN0b3JfZGVzdHJveSgmYnAtPnF1ZXVlKTsKKyAgICAgZnJlZShi cCk7CisgfQorQEAgLTkyMCwxMyArOTMzLDI5IEBAIG1hY19iaW5kaW5nX3Byb2JlX3N0YXRzX3J1 bihzdHJ1Y3QgdmVjdG9yICpzdGF0c192ZWMsIHVpbnQ2NF90ICpyZXFfZGVsYXksCisgICAgICAg ICAgICAgY29udGludWU7CisgICAgICAgICB9CisgCistICAgICAgICBib29sIGlzX21iX3Y0ID0g SU42X0lTX0FERFJfVjRNQVBQRUQoJm1iLT5kYXRhLmlwKTsKKy0gICAgICAgIGlmICgoaXNfbWJf djQgJiYgbGFkZHIubl9pcHY0X2FkZHJzKQorLSAgICAgICAgICAgICAgICB8fCAoIWlzX21iX3Y0 ICYmIGxhZGRyLm5faXB2Nl9hZGRycykpIHsKKy0gICAgICAgICAgICBzdHJ1Y3QgaW42X2FkZHIg bG9jYWwgPQorLSAgICAgICAgICAgICAgICBpc19tYl92NCA/IGluNl9hZGRyX21hcHBlZF9pcHY0 KGxhZGRyLmlwdjRfYWRkcnNbMF0uYWRkcikKKy0gICAgICAgICAgICAgICAgICAgICAgICAgOiBs YWRkci5pcHY2X2FkZHJzWzBdLmFkZHI7CisrICAgICAgICBzdHJ1Y3QgaW42X2FkZHIgbG9jYWwg PSBpbjZhZGRyX2FueTsKKysgICAgICAgIGlmIChJTjZfSVNfQUREUl9WNE1BUFBFRCgmbWItPmRh dGEuaXApKSB7CisrICAgICAgICAgICAgb3ZzX2JlMzIgaXA0ID0gaW42X2FkZHJfZ2V0X21hcHBl ZF9pcHY0KCZtYi0+ZGF0YS5pcCk7CisrICAgICAgICAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkg PCBsYWRkci5uX2lwdjRfYWRkcnM7IGkrKykgeworKyAgICAgICAgICAgICAgICBzdHJ1Y3QgaXB2 NF9uZXRhZGRyIGFkZHJlc3MgPSBsYWRkci5pcHY0X2FkZHJzW2ldOworKyAgICAgICAgICAgICAg ICBpZiAoYWRkcmVzcy5uZXR3b3JrID09IChpcDQgJiBhZGRyZXNzLm1hc2spKSB7CisrICAgICAg ICAgICAgICAgICAgICBsb2NhbCA9IGluNl9hZGRyX21hcHBlZF9pcHY0KGFkZHJlc3MuYWRkcik7 CisrICAgICAgICAgICAgICAgICAgICBicmVhazsKKysgICAgICAgICAgICAgICAgfQorKyAgICAg ICAgICAgIH0KKysgICAgICAgIH0gZWxzZSB7CisrICAgICAgICAgICAgZm9yIChzaXplX3QgaSA9 IDA7IGkgPCBsYWRkci5uX2lwdjZfYWRkcnM7IGkrKykgeworKyAgICAgICAgICAgICAgICBzdHJ1 Y3QgaXB2Nl9uZXRhZGRyIGFkZHJlc3MgPSBsYWRkci5pcHY2X2FkZHJzW2ldOworKyAgICAgICAg ICAgICAgICBzdHJ1Y3QgaW42X2FkZHIgbmVpZ2hfcHJlZml4ID0KKysgICAgICAgICAgICAgICAg ICAgIGlwdjZfYWRkcl9iaXRhbmQoJm1iLT5kYXRhLmlwLCAmYWRkcmVzcy5tYXNrKTsKKysgICAg ICAgICAgICAgICAgaWYgKGlwdjZfYWRkcl9lcXVhbHMoJmFkZHJlc3MubmV0d29yaywgJm5laWdo X3ByZWZpeCkpIHsKKysgICAgICAgICAgICAgICAgICAgIGxvY2FsID0gYWRkcmVzcy5hZGRyOwor KyAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisrICAgICAgICAgICAgICAgIH0KKysgICAgICAg ICAgICB9CisrICAgICAgICB9CisgCisrICAgICAgICBpZiAoIWlwdjZfYWRkcl9lcXVhbHMoJmxv Y2FsLCAmaW42YWRkcl9hbnkpKSB7CisgICAgICAgICAgICAgbWFjX2JpbmRpbmdfdXBkYXRlX2xv ZygiU2VuZGluZyBBUlAvTkQgcmVxdWVzdCBmb3IgYWN0aXZlIiwKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICZtYi0+ZGF0YSwgdHJ1ZSwgdGhyZXNob2xkLAorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhdHMtPmlkbGVfYWdlX21zLCBzaW5jZV91cGRh dGVkX21zKTsKK2RpZmYgLS1naXQgYS9jb250cm9sbGVyL21hYy1jYWNoZS5oIGIvY29udHJvbGxl ci9tYWMtY2FjaGUuaAoraW5kZXggN2VkYjEyOWQ3NS4uMzY1MjE5ZDMzNCAxMDA2NDQKKy0tLSBh L2NvbnRyb2xsZXIvbWFjLWNhY2hlLmgKKysrKyBiL2NvbnRyb2xsZXIvbWFjLWNhY2hlLmgKK0BA IC0xOCw5ICsxOCw5IEBACisgCisgI2luY2x1ZGUgPHN0ZGludC5oPgorIAorKyNpbmNsdWRlICJj bWFwLmgiCisgI2luY2x1ZGUgImRwLXBhY2tldC5oIgorICNpbmNsdWRlICJvcGVudnN3aXRjaC9o bWFwLmgiCistI2luY2x1ZGUgIm9wZW52c3dpdGNoL2htYXAuaCIKKyAjaW5jbHVkZSAib3BlbnZz d2l0Y2gvbGlzdC5oIgorICNpbmNsdWRlICJvcGVudnN3aXRjaC9vZnBidWYuaCIKKyAjaW5jbHVk ZSAib3BlbnZzd2l0Y2gvb2ZwLWZsb3cuaCIKK0BAIC0xMTUsMjUgKzExNSwyNSBAQCBzdHJ1Y3Qg YnBfcGFja2V0X2RhdGEgeworIH07CisgCisgc3RydWN0IGJ1ZmZlcmVkX3BhY2tldHMgeworLSAg ICBzdHJ1Y3QgaG1hcF9ub2RlIGhtYXBfbm9kZTsKKysgICAgc3RydWN0IGNtYXBfbm9kZSBjbWFw X25vZGU7CisgCistICAgIHN0cnVjdCBtYWNfYmluZGluZ19kYXRhIG1iX2RhdGE7CisrICAgIHN0 cnVjdCBtYWNfYmluZGluZ19kYXRhIG1iX2RhdGE7ICAvKiBJbW11dGFibGUgYWZ0ZXIgaW5zZXJ0 LiAqLworIAorLSAgICAvKiBRdWV1ZSBvZiBwYWNrZXRfZGF0YSBhc3NvY2lhdGVkIHdpdGggdGhp cyBzdHJ1Y3QuICovCisrICAgIC8qIFF1ZXVlIG9mIHBhY2tldF9kYXRhIGFzc29jaWF0ZWQgd2l0 aCB0aGlzIHN0cnVjdC4KKysgICAgICogSGFuZGxlciB0aHJlYWQgb25seS4gKi8KKyAgICAgc3Ry dWN0IHZlY3RvciBxdWV1ZTsKKyAKKy0gICAgLyogVGltZXN0YW1wIGluIG1zIHdoZW4gdGhlIGJ1 ZmZlcmVkIHBhY2tldCBzaG91bGQgZXhwaXJlLiAqLworKyAgICAvKiBUaW1lc3RhbXAgaW4gbXMg d2hlbiB0aGUgYnVmZmVyZWQgcGFja2V0IHNob3VsZCBleHBpcmUuCisrICAgICAqIEhhbmRsZXIg dGhyZWFkIG9ubHkuICovCisgICAgIGxvbmcgbG9uZyBpbnQgZXhwaXJlX2F0X21zOworIAorLSAg ICAvKiBUaW1lc3RhbXAgaW4gbXMgd2hlbiB0aGUgYnVmZmVyZWQgcGFja2V0IHNob3VsZCBkbyBm dWxsIFNCIGxvb2t1cC4qLworLSAgICBsb25nIGxvbmcgaW50IGxvb2t1cF9hdF9tczsKKy19Owor KyAgICAvKiBSZXNvbHZlZCBNQUMgYWRkcmVzcyBwYWNrZWQgYXMgdWludDY0LiAwIG1lYW5zIHVu cmVzb2x2ZWQuCisrICAgICAqIFdyaXR0ZW4gYnkgbWFpbiB0aHJlYWQsIHJlYWQgYnkgaGFuZGxl ciB0aHJlYWQuICovCisrICAgIGF0b21pY191aW50NjRfdCByZXNvbHZlZF9tYWM7CisgCistc3Ry dWN0IGJ1ZmZlcmVkX3BhY2tldHNfY3R4IHsKKy0gICAgLyogTWFwIG9mIGFsbCBidWZmZXJlZCBw YWNrZXRzIHdhaXRpbmcgZm9yIHRoZSBNQUMgYWRkcmVzcy4gKi8KKy0gICAgc3RydWN0IGhtYXAg YnVmZmVyZWRfcGFja2V0czsKKy0gICAgLyogTGlzdCBvZiBwYWNrZXQgZGF0YSB0aGF0IGFyZSBy ZWFkeSB0byBiZSBzZW50LiAqLworLSAgICBzdHJ1Y3QgdmVjdG9yIHJlYWR5X3BhY2tldHNfZGF0 YTsKKysgICAgLyogVGltZXN0YW1wIGluIG1zIHdoZW4gdGhlIGJ1ZmZlcmVkIHBhY2tldCBzaG91 bGQgZG8gZnVsbCBTQiBsb29rdXAuCisrICAgICAqIE1haW4gdGhyZWFkIG9ubHkuICovCisrICAg IGxvbmcgbG9uZyBpbnQgbG9va3VwX2F0X21zOworIH07CisgCisgLyogVGhyZXNob2xkcy4gKi8K K0BAIC0yMTEsMjcgKzIxMSwyMyBAQCB2b2lkIGZkYl9zdGF0c19ydW4oc3RydWN0IHZlY3RvciAq c3RhdHNfdmVjLCB1aW50NjRfdCAqcmVxX2RlbGF5LCB2b2lkICpkYXRhKTsKKyB2b2lkIGJwX3Bh Y2tldF9kYXRhX2Rlc3Ryb3koc3RydWN0IGJwX3BhY2tldF9kYXRhICpwZCk7CisgCisgc3RydWN0 IGJ1ZmZlcmVkX3BhY2tldHMgKgorLWJ1ZmZlcmVkX3BhY2tldHNfYWRkKHN0cnVjdCBidWZmZXJl ZF9wYWNrZXRzX2N0eCAqY3R4LAorK2J1ZmZlcmVkX3BhY2tldHNfYWRkKHN0cnVjdCBjbWFwICpi cF9tYXAsCisgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IG1hY19iaW5kaW5nX2RhdGEgbWJf ZGF0YSk7CisgCisgdm9pZCBidWZmZXJlZF9wYWNrZXRzX3BhY2tldF9kYXRhX2VucXVldWUoc3Ry dWN0IGJ1ZmZlcmVkX3BhY2tldHMgKmJwLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBvZnB1dGlsX3BhY2tldF9pbiAqcGluLAorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBvZnBidWYg KmNvbnRpbnVhdGlvbik7CisgCistdm9pZCBidWZmZXJlZF9wYWNrZXRzX2N0eF9ydW4oc3RydWN0 IGJ1ZmZlcmVkX3BhY2tldHNfY3R4ICpjdHgsCistICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgY29uc3Qgc3RydWN0IGhtYXAgKnJlY2VudF9tYnMsCistICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgc3RydWN0IG92c2RiX2lkbF9pbmRleCAqc2JyZWNfcGJfYnlfa2V5LAorLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBvdnNkYl9pZGxfaW5kZXggKnNicmVjX2Rw X2J5X2tleSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3Qgb3ZzZGJfaWRs X2luZGV4ICpzYnJlY19wYl9ieV9uYW1lLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHN0cnVjdCBvdnNkYl9pZGxfaW5kZXggKnNicmVjX21iX2J5X2xwb3J0X2lwKTsKKy0KKy12b2lk IGJ1ZmZlcmVkX3BhY2tldHNfY3R4X2luaXQoc3RydWN0IGJ1ZmZlcmVkX3BhY2tldHNfY3R4ICpj dHgpOworLQorLXZvaWQgYnVmZmVyZWRfcGFja2V0c19jdHhfZGVzdHJveShzdHJ1Y3QgYnVmZmVy ZWRfcGFja2V0c19jdHggKmN0eCk7CisrYm9vbCBidWZmZXJlZF9wYWNrZXRzX2xvb2t1cF9ydW4o c3RydWN0IGNtYXAgKmJwX21hcCwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj b25zdCBzdHJ1Y3QgaG1hcCAqcmVjZW50X21icywKKysgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBzdHJ1Y3Qgb3ZzZGJfaWRsX2luZGV4ICpzYnJlY19wYl9ieV9rZXksCisrICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IG92c2RiX2lkbF9pbmRleCAqc2JyZWNf ZHBfYnlfa2V5LAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBvdnNk Yl9pZGxfaW5kZXggKnNicmVjX3BiX2J5X25hbWUsCisrICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgc3RydWN0IG92c2RiX2lkbF9pbmRleCAqc2JyZWNfbWJfYnlfbHBvcnRfaXApOwor IAorLWJvb2wgYnVmZmVyZWRfcGFja2V0c19jdHhfaXNfcmVhZHlfdG9fc2VuZChzdHJ1Y3QgYnVm ZmVyZWRfcGFja2V0c19jdHggKmN0eCk7Cisrdm9pZCBidWZmZXJlZF9wYWNrZXRzX3J1bihzdHJ1 Y3QgY21hcCAqYnBfbWFwLCBzdHJ1Y3QgdmVjdG9yICpycGQpOworIAorLWJvb2wgYnVmZmVyZWRf cGFja2V0c19jdHhfaGFzX3BhY2tldHMoc3RydWN0IGJ1ZmZlcmVkX3BhY2tldHNfY3R4ICpjdHgp OworK3ZvaWQgYnVmZmVyZWRfcGFja2V0c19tYXBfZGVzdHJveShzdHJ1Y3QgY21hcCAqYnBfbWFw KTsKKyAKKyB2b2lkIG1hY19iaW5kaW5nX3Byb2JlX3N0YXRzX3Byb2Nlc3NfZmxvd19zdGF0cygK KyAgICAgICAgIHN0cnVjdCB2ZWN0b3IgKnN0YXRzX3ZlYywKK2RpZmYgLS1naXQgYS9jb250cm9s bGVyL292bi1jb250cm9sbGVyLjgueG1sIGIvY29udHJvbGxlci9vdm4tY29udHJvbGxlci44Lnht bAoraW5kZXggMzMyODFhNGQ2Ni4uNTdlN2NmNWRkMiAxMDA2NDQKKy0tLSBhL2NvbnRyb2xsZXIv b3ZuLWNvbnRyb2xsZXIuOC54bWwKKysrKyBiL2NvbnRyb2xsZXIvb3ZuLWNvbnRyb2xsZXIuOC54 bWwKK0BAIC01MzEsMTcgKzUzMSw2IEBACisgICAgICAgICA2NTUzNS4KKyAgICAgICA8L2RkPgor IAorLSAgICAgIDxkdD4KKy0gICAgICAgIDxjb2RlPmV4dGVybmFsX2lkczpvdm4tbWFuYWdlZC1m bG93LXJlc3RvcmUtd2FpdDwvY29kZT4gaW4gdGhlCistICAgICAgICA8Y29kZT5PcGVuX3ZTd2l0 Y2g8L2NvZGU+IHRhYmxlCistICAgICAgPC9kdD4KKy0gICAgICA8ZGQ+CistICAgICAgICBXaGVu IHNldCB0byB0cnVlLCB0aGlzIGtleSBpbmRpY2F0ZXMgdGhhdCA8Y29kZT5vdm4tY29udHJvbGxl cjwvY29kZT4KKy0gICAgICAgIGhhcyBzZXQgdGhlIDxjb2RlPm90aGVyX2NvbmZpZzpmbG93LXJl c3RvcmUtd2FpdDwvY29kZT4gb3B0aW9uLgorLSAgICAgICAgVGhlIGtleSBpcyBzZXQgd2hlbiA8 Y29kZT5vdm4tY29udHJvbGxlcjwvY29kZT4gZW5hYmxlcworLSAgICAgICAgZmxvdy1yZXN0b3Jl LXdhaXQgYW5kIHJlbW92ZWQgd2hlbiBpdCBjbGVhcnMgaXQuCistICAgICAgPC9kZD4KKy0KKyAg ICAgICA8ZHQ+CisgICAgICAgICA8Y29kZT5leHRlcm5hbF9pZHM6Y3Qtem9uZS0qPC9jb2RlPiBp biB0aGUgPGNvZGU+QnJpZGdlPC9jb2RlPiB0YWJsZQorICAgICAgIDwvZHQ+CitkaWZmIC0tZ2l0 IGEvY29udHJvbGxlci9vdm4tY29udHJvbGxlci5jIGIvY29udHJvbGxlci9vdm4tY29udHJvbGxl ci5jCitpbmRleCBkY2Y2N2Q3ODljLi5jZGRlMTU3NzYxIDEwMDY0NAorLS0tIGEvY29udHJvbGxl ci9vdm4tY29udHJvbGxlci5jCisrKysgYi9jb250cm9sbGVyL292bi1jb250cm9sbGVyLmMKK0BA IC0yMTEsMTUyICsyMTEsNiBAQCBzdGF0aWMgY2hhciAqZ2V0X2ZpbGVfc3lzdGVtX2lkKHZvaWQp CisgICAgIGZyZWUoZmlsZW5hbWUpOworICAgICByZXR1cm4gcmV0OworIH0KKy0KKy0vKiBTZXQv dW5zZXQgZmxvdy1yZXN0b3JlLXdhaXQsIGFuZCBpbmMgb3ZzIG5leHRfY2ZnIGlmIGZhbHNlCist ICogV2hlbiBzZXQgdG8gdHJ1ZSwgYWxzbyBzZXRzIG92bi1tYW5hZ2VkLWZsb3ctcmVzdG9yZS13 YWl0IHRvIHRydWUgdG8KKy0gKiBpbmRpY2F0ZSBvd25lcnNoaXAgKi8KKy1zdGF0aWMgdm9pZAor LXNldF9mbG93X3Jlc3RvcmVfd2FpdChzdHJ1Y3Qgb3ZzZGJfaWRsX3R4biAqb3ZzX2lkbF90eG4s CistICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBvdnNyZWNfb3Blbl92c3dpdGNo ICpjZmcsCistICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBzbWFwICpvdGhlcl9j b25maWcsCistICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGJvb2wgdmFsLCBib29sIG92bl9t YW5hZ2VkKQorLXsKKy0gICAgc3RydWN0IHNtYXAgbmV3X2NvbmZpZzsKKy0gICAgc21hcF9jbG9u ZSgmbmV3X2NvbmZpZywgb3RoZXJfY29uZmlnKTsKKy0gICAgc21hcF9yZXBsYWNlKCZuZXdfY29u ZmlnLCAiZmxvdy1yZXN0b3JlLXdhaXQiLCB2YWwgPyAidHJ1ZSI6ICJmYWxzZSIpOworLSAgICBv dnNyZWNfb3Blbl92c3dpdGNoX3NldF9vdGhlcl9jb25maWcoY2ZnLCAmbmV3X2NvbmZpZyk7Cist ICAgIGlmICh2YWwpIHsKKy0gICAgICAgIG92c3JlY19vcGVuX3Zzd2l0Y2hfdXBkYXRlX2V4dGVy bmFsX2lkc19zZXRrZXkoCistICAgICAgICAgICAgY2ZnLCAib3ZuLW1hbmFnZWQtZmxvdy1yZXN0 b3JlLXdhaXQiLCAidHJ1ZSIpOworLSAgICB9IGVsc2UgaWYgKG92bl9tYW5hZ2VkKSB7CistICAg ICAgICBvdnNyZWNfb3Blbl92c3dpdGNoX3VwZGF0ZV9leHRlcm5hbF9pZHNfZGVsa2V5KAorLSAg ICAgICAgICAgIGNmZywgIm92bi1tYW5hZ2VkLWZsb3ctcmVzdG9yZS13YWl0Iik7CistICAgIH0K Ky0gICAgb3ZzZGJfaWRsX3R4bl9pbmNyZW1lbnQob3ZzX2lkbF90eG4sICZjZmctPmhlYWRlcl8s CistICAgICAgICAgICAgICAgICAgICAgICAgICAgICZvdnNyZWNfb3Blbl92c3dpdGNoX2NvbF9u ZXh0X2NmZywgdHJ1ZSk7CistICAgIHNtYXBfZGVzdHJveSgmbmV3X2NvbmZpZyk7CistfQorLQor LXN0YXRpYyB2b2lkCistbWFuYWdlX2Zsb3dfcmVzdG9yZV93YWl0KHN0cnVjdCBvdnNkYl9pZGxf dHhuICpvdnNfaWRsX3R4biwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0 IG92c3JlY19vcGVuX3Zzd2l0Y2ggKmNmZywKKy0gICAgICAgICAgICAgICAgICAgICAgICAgdWlu dDY0X3Qgb2ZjdHJsX2N1cl9jZmcsIHVpbnQ2NF90IG92c19uZXh0X2NmZywKKy0gICAgICAgICAg ICAgICAgICAgICAgICAgaW50IG92c190eG5fc3RhdHVzLCBib29sIGlzX2hhX2d3KQorLXsKKy0g ICAgZW51bSBmbG93X3Jlc3RvcmVfd2FpdF9zdGF0ZSB7CistICAgICAgICBGUldfSU5JVCwgICAg ICAgICAgICAgIC8qIEluaXRpYWwgc3RhdGUgKi8KKy0gICAgICAgIEZSV19XQUlUX1RYTl9DT01Q TEVURSwgLyogU2VudCBmYWxzZSwgd2FpdGluZyB0eG4gdG8gY29tcGxldGUgKi8KKy0gICAgICAg IEZSV19UWE5fU1VDQ0VTUywgICAgICAgLyogVHhuIGNvbXBsZXRlZC4gV2FpdGluZyBmb3IgT1ZT IEFjay4gKi8KKy0gICAgICAgIEZSV19ET05FICAgICAgICAgICAgICAgLyogRXZlcnl0aGluZyBj b21wbGV0ZWQgKi8KKy0gICAgfTsKKy0KKy0gICAgc3RhdGljIGludDY0X3QgZnJ3X25leHRfY2Zn OworLSAgICBzdGF0aWMgZW51bSBmbG93X3Jlc3RvcmVfd2FpdF9zdGF0ZSBmcndfc3RhdGU7Cist ICAgIHN0YXRpYyBib29sIG9mY3RybF93YXNfY29ubmVjdGVkID0gZmFsc2U7CistCistICAgIGJv b2wgb2ZjdHJsX2Nvbm5lY3RlZCA9IG9mY3RybF9pc19jb25uZWN0ZWQoKTsKKy0KKy0gICAgaWYg KCFvdnNfaWRsX3R4biB8fCAhY2ZnKSB7CistICAgICAgICByZXR1cm47CistICAgIH0KKy0KKy0g ICAgLyogSWYgT1ZTIGlzIHN0b3BwZWQvc3RhcnRlZCwgbWFrZSBzdXJlIGZsb3ctcmVzdG9yZS13 YWl0IGlzIHRvZ2dsZWQuICovCistICAgIGlmIChvZmN0cmxfY29ubmVjdGVkICYmICFvZmN0cmxf d2FzX2Nvbm5lY3RlZCkgeworLSAgICAgICAgZnJ3X3N0YXRlID0gRlJXX0lOSVQ7CistICAgIH0K Ky0gICAgb2ZjdHJsX3dhc19jb25uZWN0ZWQgPSBvZmN0cmxfY29ubmVjdGVkOworLQorLSAgICBp ZiAoIW9mY3RybF9jb25uZWN0ZWQpIHsKKy0gICAgICAgIHJldHVybjsKKy0gICAgfQorLQorLSAg ICBib29sIGZydyA9IHNtYXBfZ2V0X2Jvb2woJmNmZy0+b3RoZXJfY29uZmlnLCAiZmxvdy1yZXN0 b3JlLXdhaXQiLCBmYWxzZSk7CistICAgIGJvb2wgb3ZuX21hbmFnZWRfb25jZSA9IHNtYXBfZ2V0 X2Jvb2woJmNmZy0+ZXh0ZXJuYWxfaWRzLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICJvdm4tbWFuYWdlZC1mbG93LXJlc3RvcmUtd2FpdCIsCistICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmFsc2UpOworLQorLSAgICBpZiAoZnJ3 ICYmICFvdm5fbWFuYWdlZF9vbmNlKSB7CistICAgICAgICAvKiBmcncgaGFzIGJlZW4gc2V0IGJ5 IG92cy1jdGwuIERvIG5vdCB0b3VjaC4gKi8KKy0gICAgICAgIHJldHVybjsKKy0gICAgfQorLQor LSAgICBpZiAoIWlzX2hhX2d3KSB7CistICAgICAgICBpZiAoZnJ3KSB7CistICAgICAgICAgICAg LyogZnJ3IGhhcyBvbmNlIGJlZW4gc2V0IGJ5IE9WTi4gV2UgYXJlIG5vdyBub3QgYW4gSEEgY2hh c3NpcworLSAgICAgICAgICAgICAqIGFueW1vcmUsIHVuc2V0IGl0LiAqLworLSAgICAgICAgICAg IHNldF9mbG93X3Jlc3RvcmVfd2FpdChvdnNfaWRsX3R4biwgY2ZnLCAmY2ZnLT5vdGhlcl9jb25m aWcsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZhbHNlLCBvdm5fbWFuYWdl ZF9vbmNlKTsKKy0gICAgICAgIH0KKy0gICAgICAgIC8qIGVsc2Ugd2UgYXJlIG5vdCBhbiBIQSBj aGFzc2lzIGFuZCBmcncgaXMgZmFsc2UuIElnbm9yZSBpdC4gKi8KKy0gICAgICAgIHJldHVybjsK Ky0gICAgfQorLQorLSAgICBzd2l0Y2ggKGZyd19zdGF0ZSkgeworLSAgICBjYXNlIEZSV19JTklU OgorLSAgICAgICAgaWYgKG9mY3RybF9jdXJfY2ZnID4gMCkgeworLSAgICAgICAgICAgIHNldF9m bG93X3Jlc3RvcmVfd2FpdChvdnNfaWRsX3R4biwgY2ZnLCAmY2ZnLT5vdGhlcl9jb25maWcsCist ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZhbHNlLCBvdm5fbWFuYWdlZF9vbmNl KTsKKy0gICAgICAgICAgICBmcndfc3RhdGUgPSBGUldfV0FJVF9UWE5fQ09NUExFVEU7CistICAg ICAgICAgICAgVkxPR19JTkZPKCJTZXR0aW5nIGZsb3ctcmVzdG9yZS13YWl0PWZhbHNlICIKKy0g ICAgICAgICAgICAgICAgICAgICAgIihjdXJfY2ZnPSUiUFJJdTY0IikiLCBvZmN0cmxfY3VyX2Nm Zyk7CistICAgICAgICB9CistICAgICAgICBicmVhazsKKy0KKy0gICAgY2FzZSBGUldfV0FJVF9U WE5fQ09NUExFVEU6CistICAgICAgICAvKiBpZiAob3ZzX2lkbF90eG4gIT0gTlVMTCksIHRoZSB0 cmFuc2FjdGlvbiBjb21wbGV0ZWQuCistICAgICAgICAgKiBXaGVuIHRoZSB0cmFuc2FjdGlvbiBj b21wbGV0ZWQsIGl0IGVpdGhlciBmYWlsZWQKKy0gICAgICAgICAqIChvdnNfdHhuX3N0YXR1cyA9 PSAwKSBvciBzdWNjZWVkZWQgKG92c190eG5fc3RhdHVzICE9IDApLiAqLworLSAgICAgICAgaWYg KG92c190eG5fc3RhdHVzID09IDApIHsKKy0gICAgICAgICAgICAvKiBQcmV2aW91cyB0cmFuc2Fj dGlvbiBmYWlsZWQuICovCistICAgICAgICAgICAgc2V0X2Zsb3dfcmVzdG9yZV93YWl0KG92c19p ZGxfdHhuLCBjZmcsICZjZmctPm90aGVyX2NvbmZpZywKKy0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgZmFsc2UsIG92bl9tYW5hZ2VkX29uY2UpOworLSAgICAgICAgICAgIGJyZWFr OworLSAgICAgICAgfQorLSAgICAgICAgLyogdHhuIHN1Y2NlZWRlZCwgZ2V0IG5leHRfY2ZnICov CistICAgICAgICBmcndfbmV4dF9jZmcgPSBvdnNfbmV4dF9jZmc7CistICAgICAgICBmcndfc3Rh dGUgPSBGUldfVFhOX1NVQ0NFU1M7CistICAgICAgICAvKiBmYWxsIHRocm91Z2ggKi8KKy0KKy0g ICAgY2FzZSBGUldfVFhOX1NVQ0NFU1M6CistICAgICAgICBpZiAob3ZzX25leHRfY2ZnIDwgZnJ3 X25leHRfY2ZnKSB7CistICAgICAgICAgICAgLyogREIgd2FzIHJlc2V0LCBuZXh0X2NmZyB3ZW50 IGJhY2t3YXJkcy4gKi8KKy0gICAgICAgICAgICBWTE9HX0lORk8oIk9WUyBEQiByZXNldCAobmV4 dF9jZmcgJSJQUklkNjQiIC0+ICUiUFJJdTY0IiksICIKKy0gICAgICAgICAgICAgICAgICAgICAg InJlc2V0dGluZyBzdGF0ZSIsCistICAgICAgICAgICAgICAgICAgICAgIGZyd19uZXh0X2NmZywg b3ZzX25leHRfY2ZnKTsKKy0gICAgICAgICAgICBzZXRfZmxvd19yZXN0b3JlX3dhaXQob3ZzX2lk bF90eG4sIGNmZywgJmNmZy0+b3RoZXJfY29uZmlnLAorLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBmYWxzZSwgb3ZuX21hbmFnZWRfb25jZSk7CistICAgICAgICAgICAgZnJ3X3N0 YXRlID0gRlJXX1dBSVRfVFhOX0NPTVBMRVRFOworLSAgICAgICAgICAgIGJyZWFrOworLSAgICAg ICAgfQorLQorLSAgICAgICAgaWYgKCFmcncpIHsKKy0gICAgICAgICAgICBpZiAoY2ZnLT5jdXJf Y2ZnID49IGZyd19uZXh0X2NmZykgeworLSAgICAgICAgICAgICAgICBzZXRfZmxvd19yZXN0b3Jl X3dhaXQob3ZzX2lkbF90eG4sIGNmZywgJmNmZy0+b3RoZXJfY29uZmlnLAorLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJ1ZSwgb3ZuX21hbmFnZWRfb25jZSk7CistICAg ICAgICAgICAgICAgIGZyd19zdGF0ZSA9IEZSV19ET05FOworLSAgICAgICAgICAgICAgICBWTE9H X0lORk8oIlNldHRpbmcgZmxvdy1yZXN0b3JlLXdhaXQ9dHJ1ZSIpOworLSAgICAgICAgICAgIH0K Ky0gICAgICAgIH0gZWxzZSB7CistICAgICAgICAgICAgLyogVGhlIHRyYW5zYWN0aW9uIHRvIGZh bHNlIHN1Y2NlZWRlZCBidXQgZnJ3IGlzIHRydWUuCistICAgICAgICAgICAgICogU28sIGFub3Ro ZXIgdGFzayBhbHJlYWR5IHNldCBpdCB0byB0cnVlLiAqLworLSAgICAgICAgICAgIGZyd19zdGF0 ZSA9IEZSV19ET05FOworLSAgICAgICAgICAgIFZMT0dfSU5GTygiZmxvdy1yZXN0b3JlLXdhaXQg d2FzIGFscmVhZHkgdHJ1ZSIpOworLSAgICAgICAgfQorLSAgICAgICAgYnJlYWs7CistICAgIGNh c2UgRlJXX0RPTkU6CistICAgICAgICBpZiAoIWZydykgeworLSAgICAgICAgICAgIC8qIGZydyBo YXMgYmVlbiByZW1vdmVkIChlLmcuIGJ5IG92cy1jdGwgcmVzdGFydCkgb3IgaXMgZmFsc2UKKy0g ICAgICAgICAgICAgKiAoZS5nLiB0eG4gZmFpbGVkLikgKi8KKy0gICAgICAgICAgICBzZXRfZmxv d19yZXN0b3JlX3dhaXQob3ZzX2lkbF90eG4sIGNmZywgJmNmZy0+b3RoZXJfY29uZmlnLAorLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmYWxzZSwgb3ZuX21hbmFnZWRfb25jZSk7 CistICAgICAgICAgICAgZnJ3X3N0YXRlID0gRlJXX1dBSVRfVFhOX0NPTVBMRVRFOworLSAgICAg ICAgICAgIFZMT0dfSU5GTygiT1ZTIGZydyBjbGVhcmVkLCByZXN0YXJ0aW5nIGZsb3ctcmVzdG9y ZS13YWl0IHNlcXVlbmNlICIKKy0gICAgICAgICAgICAgICAgICAgICAgIihjdXJfY2ZnPSUiUFJJ dTY0IikiLCBvZmN0cmxfY3VyX2NmZyk7CistICAgICAgICB9CistICAgICAgICBicmVhazsKKy0g ICAgfQorLX0KKy0KKyAvKiBPbmx5IHNldCBtb25pdG9yIGNvbmRpdGlvbnMgb24gdGFibGVzIHRo YXQgYXJlIGF2YWlsYWJsZSBpbiB0aGUKKyAgKiBzZXJ2ZXIgc2NoZW1hLgorICAqLworQEAgLTM1 MjcsNyArMzM4MSw2IEBAIGVuX21hY19jYWNoZV9jbGVhbnVwKHZvaWQgKmRhdGEpCisgCisgc3Ry dWN0IGVkX3R5cGVfYmZkX2NoYXNzaXMgeworICAgICBzdHJ1Y3Qgc3NldCBiZmRfY2hhc3NpczsK Ky0gICAgYm9vbCBpc19oYV9ndzsKKyB9OworIAorIHN0YXRpYyB2b2lkICoKK0BAIC0zNTU2LDkg KzM0MDksOCBAQCBlbl9iZmRfY2hhc3Npc19ydW4oc3RydWN0IGVuZ2luZV9ub2RlICpub2RlLCB2 b2lkICpkYXRhIE9WU19VTlVTRUQpCisgICAgICAgICA9IGNoYXNzaXNfbG9va3VwX2J5X25hbWUo c2JyZWNfY2hhc3Npc19ieV9uYW1lLCBjaGFzc2lzX2lkKTsKKyAKKyAgICAgc3NldF9jbGVhcigm YmZkX2NoYXNzaXMtPmJmZF9jaGFzc2lzKTsKKy0gICAgYmZkX2NoYXNzaXMtPmlzX2hhX2d3ID0g YmZkX2NhbGN1bGF0ZV9jaGFzc2lzKGNoYXNzaXMsCistICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBoYV9jaGFzc2lzX2dycF90YWJsZSwKKy0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZiZmRfY2hhc3Npcy0+ YmZkX2NoYXNzaXMpOworKyAgICBiZmRfY2FsY3VsYXRlX2NoYXNzaXMoY2hhc3NpcywgaGFfY2hh c3Npc19ncnBfdGFibGUsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAmYmZkX2NoYXNzaXMt PmJmZF9jaGFzc2lzKTsKKyAgICAgcmV0dXJuIEVOX1VQREFURUQ7CisgfQorIAorQEAgLTQ5MzMs MTIgKzQ3ODUsMTQgQEAgcGZsb3dfb3V0cHV0X3NiX3BvcnRfYmluZGluZ19oYW5kbGVyKHN0cnVj dCBlbmdpbmVfbm9kZSAqbm9kZSwKKyAgICAgICovCisgICAgIGNvbnN0IHN0cnVjdCBzYnJlY19w b3J0X2JpbmRpbmcgKnBiOworICAgICBTQlJFQ19QT1JUX0JJTkRJTkdfVEFCTEVfRk9SX0VBQ0hf VFJBQ0tFRCAocGIsIHBfY3R4LnBvcnRfYmluZGluZ190YWJsZSkgeworKyAgICAgICAgYm9vbCBy ZW1vdmVkID0gc2JyZWNfcG9ydF9iaW5kaW5nX2lzX2RlbGV0ZWQocGIpOworKworICAgICAgICAg LyogVHJpZ2dlciBhIGZ1bGwgcmVjb21wdXRlIGlmIHR5cGUgY29sdW1uIGlzIHVwZGF0ZWQuICov CistICAgICAgICBpZiAoc2JyZWNfcG9ydF9iaW5kaW5nX2lzX3VwZGF0ZWQocGIsIFNCUkVDX1BP UlRfQklORElOR19DT0xfVFlQRSkpIHsKKysgICAgICAgIGlmICghcmVtb3ZlZCAmJiAhc2JyZWNf cG9ydF9iaW5kaW5nX2lzX25ldyhwYikgJiYKKysgICAgICAgICAgICBzYnJlY19wb3J0X2JpbmRp bmdfaXNfdXBkYXRlZChwYiwgU0JSRUNfUE9SVF9CSU5ESU5HX0NPTF9UWVBFKSkgeworICAgICAg ICAgICAgIGRlc3Ryb3lfcGh5c2ljYWxfY3R4KCZwX2N0eCk7CisgICAgICAgICAgICAgcmV0dXJu IEVOX1VOSEFORExFRDsKKyAgICAgICAgIH0KKy0gICAgICAgIGJvb2wgcmVtb3ZlZCA9IHNicmVj X3BvcnRfYmluZGluZ19pc19kZWxldGVkKHBiKTsKKyAgICAgICAgIGlmICghcGh5c2ljYWxfaGFu ZGxlX2Zsb3dzX2Zvcl9scG9ydChwYiwgcmVtb3ZlZCwgJnBfY3R4LAorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZwZm8tPmZsb3dfdGFibGUpKSB7CisgICAg ICAgICAgICAgZGVzdHJveV9waHlzaWNhbF9jdHgoJnBfY3R4KTsKK0BAIC02MzkyLDcgKzYyNDYs NiBAQCBlbl9ldnBuX3Z0ZXBfYmluZGluZ19jbGVhcl90cmFja2VkX2RhdGEodm9pZCAqZGF0YV8p CisgICAgIHN0cnVjdCBlZF90eXBlX2V2cG5fdnRlcF9iaW5kaW5nICpkYXRhID0gZGF0YV87Cisg ICAgIGhtYXB4X2NsZWFyKCZkYXRhLT51cGRhdGVkX2JpbmRpbmdzKTsKKyAgICAgdXVpZHNldF9j bGVhcigmZGF0YS0+cmVtb3ZlZF9iaW5kaW5ncyk7CistICAgIGV2cG5fZGF0YXBhdGhzX2NsZWFy KCZkYXRhLT5kYXRhcGF0aHMpOworICAgICBobWFweF9jbGVhcigmZGF0YS0+dXBkYXRlZF9tdWx0 aWNhc3RfZ3JvdXBzKTsKKyAgICAgdXVpZHNldF9jbGVhcigmZGF0YS0+cmVtb3ZlZF9tdWx0aWNh c3RfZ3JvdXBzKTsKKyB9CitAQCAtNzI2NSw3ICs3MTE4LDYgQEAgbWFpbihpbnQgYXJnYywgY2hh ciAqYXJndltdKQorICAgICBzdHJ1Y3QgdW5peGN0bF9zZXJ2ZXIgKnVuaXhjdGw7CisgICAgIHN0 cnVjdCBvdm5fZXhpdF9hcmdzIGV4aXRfYXJncyA9IHswfTsKKyAgICAgc3RydWN0IGJyX2ludF9y ZW1vdGUgYnJfaW50X3JlbW90ZSA9IHswfTsKKy0gICAgc3RhdGljIHVpbnQ2NF90IG5leHRfY2Zn ID0gMDsKKyAgICAgaW50IHJldHZhbDsKKyAKKyAgICAgLyogUmVhZCBmcm9tIHN5c3RlbS1pZC1v dmVycmlkZSBmaWxlIG9uY2Ugb24gc3RhcnR1cC4gKi8KK0BAIC03NTkzLDcgKzc0NDUsNiBAQCBt YWluKGludCBhcmdjLCBjaGFyICphcmd2W10pCisgCisgICAgIC8qIE1haW4gbG9vcC4gKi8KKyAg ICAgaW50IG92bnNiX3R4bl9zdGF0dXMgPSAxOworLSAgICBpbnQgb3ZzX3R4bl9zdGF0dXMgPSAx OworICAgICBib29sIHNiX21vbml0b3JfYWxsID0gZmFsc2U7CisgICAgIHN0cnVjdCB0cmFja2Vk X2FjbF9pZHMgKnRyYWNrZWRfYWNsX2lkcyA9IE5VTEw7CisgICAgIHdoaWxlICghZXhpdF9hcmdz LmV4aXRpbmcpIHsKK0BAIC03Njk1LDExICs3NTQ2LDYgQEAgbWFpbihpbnQgYXJnYywgY2hhciAq YXJndltdKQorICAgICAgICAgcGluY3RybF91cGRhdGVfc3djb25uKGJyX2ludF9yZW1vdGUudGFy Z2V0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyX2ludF9yZW1vdGUucHJvYmVf aW50ZXJ2YWwpOworIAorLSAgICAgICAgaWYgKGNmZyAmJiBvdnNfaWRsX3R4biAmJiBvdnNfdHhu X3N0YXR1cyA9PSAtMSkgeworLSAgICAgICAgICAgIC8qIHR4biB3YXMgaW4gcHJvZ3Jlc3MgYW5k IGlzIG5vdyBjb21wbGV0ZWQgKi8KKy0gICAgICAgICAgICBuZXh0X2NmZyA9IGNmZy0+bmV4dF9j Zmc7CistICAgICAgICB9CistCisgICAgICAgICAvKiBFbmFibGUgQUNMIG1hdGNoaW5nIGZvciBk b3VibGUgdGFnZ2VkIHRyYWZmaWMuICovCisgICAgICAgICBpZiAob3ZzX2lkbF90eG4gJiYgY2Zn KSB7CisgICAgICAgICAgICAgaW50IHZsYW5fbGltaXQgPSBzbWFwX2dldF9pbnQoCitAQCAtNzcw OCw2ICs3NTU0LDI0IEBAIG1haW4oaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKKyAgICAgICAgICAg ICAgICAgb3ZzcmVjX29wZW5fdnN3aXRjaF91cGRhdGVfb3RoZXJfY29uZmlnX3NldGtleSgKKyAg ICAgICAgICAgICAgICAgICAgIGNmZywgInZsYW4tbGltaXQiLCAiMCIpOworICAgICAgICAgICAg IH0KKysgICAgICAgICAgICAvKiBDbGVhciBmbG93LXJlc3RvcmUtd2FpdC4gT1ZOIGF0IG9uZSBw b2ludCB3b3VsZCBzZXQKKysgICAgICAgICAgICAgKiBmbG93LXJlc3RvcmUtd2FpdCBpbiBvcmRl ciB0byB0cnkgdG8gc3luY2hyb25pemUgd2l0aAorKyAgICAgICAgICAgICAqIE9WUy4gSG93ZXZl ciwgdGhhdCByZXN1bHRlZCBpbiBhIGJ1Zywgc28gdGhhdCBiZWhhdmlvcgorKyAgICAgICAgICAg ICAqIHdhcyByZXZlcnRlZC4gSWYgdXBncmFkaW5nIGZyb20gYSB2ZXJzaW9uIHdoZXJlIE9WTgor KyAgICAgICAgICAgICAqIG1hbmlwdWx0ZWQgZmxvdy1yZXN0b3JlLXdhaXQsIHRoZW4gZmxvdy1y ZXN0b3JlLXdhaXQKKysgICAgICAgICAgICAgKiBuZWVkcyB0byBiZSBjbGVhcmVkIGluIG9yZGVy IGZvciBPVlMgdG8gZnVuY3Rpb24KKysgICAgICAgICAgICAgKiBwcm9wZXJseS4gVGhpcyBpcyAo aG9wZWZ1bGx5KSBhIHRlbXBvcmFyeSBtZWFzdXJlIHVudGlsCisrICAgICAgICAgICAgICogYSBt b3JlIHJlbGlhYmxlIG1ldGhvZCBvZiBzeW5jaHJvbml6aW5nIHdpdGggT1ZTIGlzCisrICAgICAg ICAgICAgICogZGV2aXNlZC4KKysgICAgICAgICAgICAgKi8KKysgICAgICAgICAgICBpZiAoc21h cF9nZXRfYm9vbCgmY2ZnLT5leHRlcm5hbF9pZHMsCisrICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIm92bi1tYW5hZ2VkLWZsb3ctcmVzdG9yZS13YWl0IiwgZmFsc2UpICYmCisrICAgICAg ICAgICAgICAgIHNtYXBfZ2V0KCZjZmctPm90aGVyX2NvbmZpZywgImZsb3ctcmVzdG9yZS13YWl0 IikpIHsKKysgICAgICAgICAgICAgICAgb3ZzcmVjX29wZW5fdnN3aXRjaF91cGRhdGVfb3RoZXJf Y29uZmlnX2RlbGtleSgKKysgICAgICAgICAgICAgICAgICAgIGNmZywgImZsb3ctcmVzdG9yZS13 YWl0Iik7CisrICAgICAgICAgICAgICAgIG92c3JlY19vcGVuX3Zzd2l0Y2hfdXBkYXRlX2V4dGVy bmFsX2lkc19kZWxrZXkoCisrICAgICAgICAgICAgICAgICAgIGNmZywgIm92bi1tYW5hZ2VkLWZs b3ctcmVzdG9yZS13YWl0Iik7CisrICAgICAgICAgICAgfQorICAgICAgICAgfQorIAorICAgICAg ICAgc3RhdGljIGJvb2wgY2hhc3Npc19pZHhfc3RvcmVkID0gZmFsc2U7CitAQCAtODA0OSwxMyAr NzkxMyw2IEBAIG1haW4oaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKKyAgICAgICAgICAgICAgICAg ICAgIHN0b3B3YXRjaF9zdGFydChPRkNUUkxfU0VRTk9fUlVOX1NUT1BXQVRDSF9OQU1FLAorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpbWVfbXNlYygpKTsKKyAgICAgICAg ICAgICAgICAgICAgIG9mY3RybF9zZXFub19ydW4ob2ZjdHJsX2dldF9jdXJfY2ZnKCkpOworLSAg ICAgICAgICAgICAgICAgICAgaWYgKG92c19pZGxfdHhuICYmIGJmZF9jaGFzc2lzX2RhdGEpIHsK Ky0gICAgICAgICAgICAgICAgICAgICAgICBtYW5hZ2VfZmxvd19yZXN0b3JlX3dhaXQob3ZzX2lk bF90eG4sIGNmZywKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgb2ZjdHJsX2dldF9jdXJfY2ZnKCksCistICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIG5leHRfY2ZnLCBvdnNfdHhuX3N0YXR1cywKKy0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmZkX2NoYXNzaXNfZGF0 YS0+aXNfaGFfZ3cpOworLSAgICAgICAgICAgICAgICAgICAgfQorLQorICAgICAgICAgICAgICAg ICAgICAgc3RvcHdhdGNoX3N0b3AoT0ZDVFJMX1NFUU5PX1JVTl9TVE9QV0FUQ0hfTkFNRSwKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpbWVfbXNlYygpKTsKKyAgICAgICAg ICAgICAgICAgICAgIHN0b3B3YXRjaF9zdGFydChJRl9TVEFUVVNfTUdSX1JVTl9TVE9QV0FUQ0hf TkFNRSwKK0BAIC04MTU1LDcgKzgwMTIsNyBAQCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10p CisgICAgICAgICAgICAgT1ZTX05PVF9SRUFDSEVEKCk7CisgICAgICAgICB9CisgCistICAgICAg ICBvdnNfdHhuX3N0YXR1cyA9IG92c2RiX2lkbF9sb29wX2NvbW1pdF9hbmRfd2FpdCgmb3ZzX2lk bF9sb29wKTsKKysgICAgICAgIGludCBvdnNfdHhuX3N0YXR1cyA9IG92c2RiX2lkbF9sb29wX2Nv bW1pdF9hbmRfd2FpdCgmb3ZzX2lkbF9sb29wKTsKKyAgICAgICAgIGlmICghb3ZzX3R4bl9zdGF0 dXMpIHsKKyAgICAgICAgICAgICAvKiBUaGUgdHJhbnNhY3Rpb24gZmFpbGVkLiAqLworICAgICAg ICAgICAgIHZpZl9wbHVnX2NsZWFyX2RlbGV0ZWQoCitAQCAtODE3NCw5ICs4MDMxLDYgQEAgbWFp bihpbnQgYXJnYywgY2hhciAqYXJndltdKQorICAgICAgICAgICAgICAgICAgICAgJnZpZl9wbHVn X2RlbGV0ZWRfaWZhY2VfaWRzKTsKKyAgICAgICAgICAgICB2aWZfcGx1Z19maW5pc2hfY2hhbmdl ZCgKKyAgICAgICAgICAgICAgICAgICAgICZ2aWZfcGx1Z19jaGFuZ2VkX2lmYWNlX2lkcyk7Cist ICAgICAgICAgICAgaWYgKGNmZykgeworLSAgICAgICAgICAgICAgICBuZXh0X2NmZyA9IGNmZy0+ bmV4dF9jZmc7CistICAgICAgICAgICAgfQorICAgICAgICAgfSBlbHNlIGlmIChvdnNfdHhuX3N0 YXR1cyA9PSAtMSkgeworICAgICAgICAgICAgIC8qIFRoZSBjb21taXQgaXMgc3RpbGwgaW4gcHJv Z3Jlc3MgKi8KKyAgICAgICAgIH0gZWxzZSB7CitAQCAtODI1MCw3ICs4MTA0LDcgQEAgbG9vcF9k b25lOgorICAgICAgICAgICAgIH0KKyAKKyAgICAgICAgICAgICBvdnNkYl9pZGxfbG9vcF9jb21t aXRfYW5kX3dhaXQoJm92bnNiX2lkbF9sb29wKTsKKy0gICAgICAgICAgICBvdnNfdHhuX3N0YXR1 cyA9IG92c2RiX2lkbF9sb29wX2NvbW1pdF9hbmRfd2FpdCgmb3ZzX2lkbF9sb29wKTsKKysgICAg ICAgICAgICBpbnQgb3ZzX3R4bl9zdGF0dXMgPSBvdnNkYl9pZGxfbG9vcF9jb21taXRfYW5kX3dh aXQoJm92c19pZGxfbG9vcCk7CisgICAgICAgICAgICAgaWYgKCFvdnNfdHhuX3N0YXR1cykgewor ICAgICAgICAgICAgICAgICAvKiBUaGUgdHJhbnNhY3Rpb24gZmFpbGVkLiAqLworICAgICAgICAg ICAgICAgICB2aWZfcGx1Z19jbGVhcl9kZWxldGVkKAorZGlmZiAtLWdpdCBhL2NvbnRyb2xsZXIv cGh5c2ljYWwuYyBiL2NvbnRyb2xsZXIvcGh5c2ljYWwuYworaW5kZXggMjI4ZjNkMTcxYS4uZmQ4 YTRiZTdmNiAxMDA2NDQKKy0tLSBhL2NvbnRyb2xsZXIvcGh5c2ljYWwuYworKysrIGIvY29udHJv bGxlci9waHlzaWNhbC5jCitAQCAtMzUxLDMwICszNTEsMzUgQEAgcHV0X2Zsb3dfYmFzZWRfcmVt b3RlX3BvcnRfcmVkaXJlY3Rfb3ZlcmxheSgKKyAgICAgfQorIH0KKyAKKysvKiBBZGQgaGFuZGxp bmcgZm9yIEUvVyBJQ01QdjQvdjYgcGFja2V0cyB3aGVuIHR1bm5lbGVkIHBhY2tldHMgZXhjZWVk CisrICogcGF0aCBNVFUuCisrICogSWYgcGFja2V0IG5lZWRzIHRvIGJlIHR1bm5lbGVkIHRvIGFu b3RoZXIgbm9kZSBhbmQgdGhlIHBoeXNpY2FsCisrICogaW50ZXJmYWNlIHVzZWQgZm9yIHR1bm5l bGluZyBoYXMgYSBsb3dlciBNVFUgdGhhbiB0aGUgcGFja2V0IHNpemUsCisrICogb3IgaWYgdGhl cmUgaXMgYSByb3V0ZSBleGNlcHRpb24gd2l0aCBhIHNtYWxsZXIgTVRVLCBrZXJuZWwKKysgKiBn ZW5lcmF0ZXMgYW4gSUNNUCAiRnJhZ21lbnRhdGlvbiBOZWVkZWQiIG1lc3NhZ2UsIGJ1dCBwYWNr ZXQKKysgKiBtZXRhZGF0YSBkaWRuJ3QgY2hhbmdlLiBTdWNoIHBhY2tldHMgbWlnaHQgaGF2ZSBi ZWVuIGRyb3BwZWQgZHVlCisrICogdG8gcmVxdWlyZWQgbWV0YWRhdGEgbW9kaWZpY2F0aW9ucyBm b3IgcmV0dXJuZWQgcGFja2V0LgorKyAqCisrICogTWFyayB0aGVzZSBwYWNrZXRzIHdpdGggTUxG X1JYX0ZST01fVFVOTkVMX0JJVCBmb3IgZnVydGhlcgorKyAqIHByb2Nlc3NpbmcuIFBhY2tldHMg cmVjZWl2ZWQgZnJvbSBhIFJBTVAgdHVubmVsIHNob3VsZCBiZSBwYXNzZWQKKysgKiB0aHJvdWdo LCBhbmQgZXJyb3JzIGhhbmRsZWQgdmlhIG5vcm1hbCBwcm9jZXNzaW5nIHBhdGgsIHNpbmNlCisr ICogcG9ydCBtZXRhZGF0YSBpcyBub3QgY2FycmllZCBpbiBSQU1QIHBhY2tldHMgaW4gVk5JLgor KyAqLworIHN0YXRpYyB2b2lkCistYWRkX3R1bm5lbF9pbmdyZXNzX2Zsb3dzKGNvbnN0IHN0cnVj dCBjaGFzc2lzX3R1bm5lbCAqdHVuLAorLSAgICAgICAgICAgICAgICAgICAgICAgICBlbnVtIG1m X2ZpZWxkX2lkIG1mZl9vdm5fZ2VuZXZlLAorLSAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1 Y3Qgb3ZuX2Rlc2lyZWRfZmxvd190YWJsZSAqZmxvd190YWJsZSwKKy0gICAgICAgICAgICAgICAg ICAgICAgICAgc3RydWN0IG9mcGJ1ZiAqb2ZwYWN0cykKKythZGRfdHVubmVsX2luZ3Jlc3NfcG10 dWRfZmxvd3MoY29uc3Qgc3RydWN0IGNoYXNzaXNfdHVubmVsICp0dW4sCisrICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHN0cnVjdCBvZnBidWYgKm9mcGFjdHMsCisrICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHN0cnVjdCBvdm5fZGVzaXJlZF9mbG93X3RhYmxlICpmbG93X3Rh YmxlKQorIHsKKy0gICAgLyogTWFpbiBpbmdyZXNzIGZsb3cgKHByaW9yaXR5IDEwMCkgKi8KKy0g ICAgc3RydWN0IG1hdGNoIG1hdGNoID0gTUFUQ0hfQ0FUQ0hBTExfSU5JVElBTElaRVI7CistICAg IG1hdGNoX3NldF9pbl9wb3J0KCZtYXRjaCwgdHVuLT5vZnBvcnQpOworLQorLSAgICBvZnBidWZf Y2xlYXIob2ZwYWN0cyk7CistICAgIHB1dF9kZWNhcHN1bGF0aW9uKG1mZl9vdm5fZ2VuZXZlLCB0 dW4sIG9mcGFjdHMpOworLSAgICBwdXRfcmVzdWJtaXQoT0ZUQUJMRV9MT0NBTF9PVVRQVVQsIG9m cGFjdHMpOworKyAgICBpZiAodHVuLT5pc19yYW1wX3R1bm5lbCkgeworKyAgICAgICAgcmV0dXJu OworKyAgICB9CisgCistICAgIG9mY3RybF9hZGRfZmxvdyhmbG93X3RhYmxlLCBPRlRBQkxFX1BI WV9UT19MT0csIDEwMCwgMCwgJm1hdGNoLAorLSAgICAgICAgICAgICAgICAgICAgb2ZwYWN0cywg aGNfdXVpZCk7CisrICAgIHN0cnVjdCBtYXRjaCBtYXRjaCA9IE1BVENIX0NBVENIQUxMX0lOSVRJ QUxJWkVSOworIAorICAgICAvKiBTZXQgYWxsb3cgcnggZnJvbSB0dW5uZWwgYml0ICovCisgICAg IHB1dF9sb2FkKDEsIE1GRl9MT0dfRkxBR1MsIE1MRl9SWF9GUk9NX1RVTk5FTF9CSVQsIDEsIG9m cGFjdHMpOworICAgICBwdXRfcmVzdWJtaXQoT0ZUQUJMRV9DVF9aT05FX0xPT0tVUCwgb2ZwYWN0 cyk7CisgCistICAgIC8qIEFkZCBzcGVjaWZpYyBmbG93cyBmb3IgRS9XIElDTVB2ezQsNn0gcGFj a2V0cyBpZiB0dW5uZWxsZWQgcGFja2V0cworLSAgICAgKiBkbyBub3QgZml0IHBhdGggTVRVLiAq LworLQorICAgICAvKiBJUHY0IElDTVAgZmxvdyAocHJpb3JpdHkgMTIwKSAqLworICAgICBtYXRj aF9pbml0X2NhdGNoYWxsKCZtYXRjaCk7CisgICAgIG1hdGNoX3NldF9pbl9wb3J0KCZtYXRjaCwg dHVuLT5vZnBvcnQpOworQEAgLTM5OCw2ICs0MDMsMjYgQEAgYWRkX3R1bm5lbF9pbmdyZXNzX2Zs b3dzKGNvbnN0IHN0cnVjdCBjaGFzc2lzX3R1bm5lbCAqdHVuLAorICAgICAgICAgICAgICAgICAg ICAgb2ZwYWN0cywgaGNfdXVpZCk7CisgfQorIAorK3N0YXRpYyB2b2lkCisrYWRkX3R1bm5lbF9p bmdyZXNzX2Zsb3dzKGNvbnN0IHN0cnVjdCBjaGFzc2lzX3R1bm5lbCAqdHVuLAorKyAgICAgICAg ICAgICAgICAgICAgICAgICBlbnVtIG1mX2ZpZWxkX2lkIG1mZl9vdm5fZ2VuZXZlLAorKyAgICAg ICAgICAgICAgICAgICAgICAgICBzdHJ1Y3Qgb3ZuX2Rlc2lyZWRfZmxvd190YWJsZSAqZmxvd190 YWJsZSwKKysgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IG9mcGJ1ZiAqb2ZwYWN0cykK Kyt7CisrICAgIC8qIE1haW4gaW5ncmVzcyBmbG93IChwcmlvcml0eSAxMDApICovCisrICAgIHN0 cnVjdCBtYXRjaCBtYXRjaCA9IE1BVENIX0NBVENIQUxMX0lOSVRJQUxJWkVSOworKyAgICBtYXRj aF9zZXRfaW5fcG9ydCgmbWF0Y2gsIHR1bi0+b2Zwb3J0KTsKKysKKysgICAgb2ZwYnVmX2NsZWFy KG9mcGFjdHMpOworKyAgICBwdXRfZGVjYXBzdWxhdGlvbihtZmZfb3ZuX2dlbmV2ZSwgdHVuLCBv ZnBhY3RzKTsKKysgICAgcHV0X3Jlc3VibWl0KE9GVEFCTEVfTE9DQUxfT1VUUFVULCBvZnBhY3Rz KTsKKysKKysgICAgb2ZjdHJsX2FkZF9mbG93KGZsb3dfdGFibGUsIE9GVEFCTEVfUEhZX1RPX0xP RywgMTAwLCAwLCAmbWF0Y2gsCisrICAgICAgICAgICAgICAgICAgICBvZnBhY3RzLCBoY191dWlk KTsKKysKKysgICAgYWRkX3R1bm5lbF9pbmdyZXNzX3BtdHVkX2Zsb3dzKHR1biwgb2ZwYWN0cywg Zmxvd190YWJsZSk7CisrfQorKworIHN0YXRpYyB2b2lkCisgcHV0X3N0YWNrKGVudW0gbWZfZmll bGRfaWQgZmllbGQsIHN0cnVjdCBvZnBhY3Rfc3RhY2sgKnN0YWNrKQorIHsKK0BAIC0yODI3LDEy ICsyODUyLDYgQEAgZmFub3V0X3RvX2NoYXNzaXNfcG9ydF9iYXNlZChlbnVtIG1mX2ZpZWxkX2lk IG1mZl9vdm5fZ2VuZXZlLAorICAgICB9CisgfQorIAorLXN0YXRpYyBib29sCistY2hhc3Npc19p c192dGVwKGNvbnN0IHN0cnVjdCBzYnJlY19jaGFzc2lzICpjaGFzc2lzKQorLXsKKy0gICAgcmV0 dXJuIHNtYXBfZ2V0X2Jvb2woJmNoYXNzaXMtPm90aGVyX2NvbmZpZywgImlzLXZ0ZXAiLCBmYWxz ZSk7CistfQorLQorIHN0YXRpYyB2b2lkCisgbG9jYWxfb3V0cHV0X3BiKGludDY0X3QgdHVubmVs X2tleSwgc3RydWN0IG9mcGJ1ZiAqb2ZwYWN0cykKKyB7CitAQCAtMzAxMSwxOSArMzAzMCwxOSBA QCBjb25zaWRlcl9tY19ncm91cChjb25zdCBzdHJ1Y3QgcGh5c2ljYWxfY3R4ICpjdHgsCisgICAg ICAgICAgICAgICogb3RoZXJ3aXNlIG11bHRpY2FzdCB3aWxsIHJlYWNoIHJlbW90ZSBwb3J0cyB0 aHJvdWdoIGxvY2FsbmV0CisgICAgICAgICAgICAgICogcG9ydC4gKi8KKyAgICAgICAgICAgICBp ZiAocG9ydC0+Y2hhc3NpcykgeworLSAgICAgICAgICAgICAgICBpZiAoY2hhc3Npc19pc192dGVw KHBvcnQtPmNoYXNzaXMpKSB7CisrICAgICAgICAgICAgICAgIGlmIChpc19yYW1wX3R1bm5lbCgm cG9ydC0+Y2hhc3Npcy0+b3RoZXJfY29uZmlnKSkgeworICAgICAgICAgICAgICAgICAgICAgc3Nl dF9hZGQoJnZ0ZXBfY2hhc3NpcywgcG9ydC0+Y2hhc3Npcy0+bmFtZSk7CisgICAgICAgICAgICAg ICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgICAgICBzc2V0X2FkZCgmcmVtb3RlX2NoYXNz aXMsIHBvcnQtPmNoYXNzaXMtPm5hbWUpOworICAgICAgICAgICAgICAgICB9CisgICAgICAgICAg ICAgfQorICAgICAgICAgICAgIGZvciAoc2l6ZV90IGogPSAwOyBqIDwgcG9ydC0+bl9hZGRpdGlv bmFsX2NoYXNzaXM7IGorKykgeworLSAgICAgICAgICAgICAgICBpZiAoY2hhc3Npc19pc192dGVw KHBvcnQtPmFkZGl0aW9uYWxfY2hhc3Npc1tqXSkpIHsKKy0gICAgICAgICAgICAgICAgICAgIHNz ZXRfYWRkKCZ2dGVwX2NoYXNzaXMsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3J0 LT5hZGRpdGlvbmFsX2NoYXNzaXNbal0tPm5hbWUpOworKyAgICAgICAgICAgICAgICBzdHJ1Y3Qg c2JyZWNfY2hhc3NpcyAqYWRkaXRpb25hbF9jaGFzc2lzID0KKysgICAgICAgICAgICAgICAgICAg IHBvcnQtPmFkZGl0aW9uYWxfY2hhc3Npc1tqXTsKKysgICAgICAgICAgICAgICAgaWYgKGlzX3Jh bXBfdHVubmVsKCZhZGRpdGlvbmFsX2NoYXNzaXMtPm90aGVyX2NvbmZpZykpIHsKKysgICAgICAg ICAgICAgICAgICAgIHNzZXRfYWRkKCZ2dGVwX2NoYXNzaXMsIGFkZGl0aW9uYWxfY2hhc3Npcy0+ bmFtZSk7CisgICAgICAgICAgICAgICAgIH0gZWxzZSB7CistICAgICAgICAgICAgICAgICAgICBz c2V0X2FkZCgmcmVtb3RlX2NoYXNzaXMsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICBw b3J0LT5hZGRpdGlvbmFsX2NoYXNzaXNbal0tPm5hbWUpOworKyAgICAgICAgICAgICAgICAgICAg c3NldF9hZGQoJnJlbW90ZV9jaGFzc2lzLCBhZGRpdGlvbmFsX2NoYXNzaXMtPm5hbWUpOworICAg ICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgfQorICAgICAgICAgfQorQEAgLTM3MzAsNiAr Mzc0OSwyNCBAQCBwaHlzaWNhbF9oYW5kbGVfZmxvd3NfZm9yX2xwb3J0KGNvbnN0IHN0cnVjdCBz YnJlY19wb3J0X2JpbmRpbmcgKnBiLAorICAgICAgICAgfQorICAgICB9CisgCisrICAgIC8qIENo YXNzaXNyZWRpcmVjdCBwb3J0cyBvbiBwZWVyIHJvdXRlciBkYXRhcGF0aHMgbWF5IGhhdmUgYnJp ZGdlZAorKyAgICAgKiByZWRpcmVjdCBmbG93cyB0aGF0IGRlcGVuZCBvbiB0aGlzIGxvY2FsbmV0 IHBvcnQKKysgICAgICogKHB1dF9yZW1vdGVfcG9ydF9yZWRpcmVjdF9icmlkZ2VkKCkgY2FsbHMg Z2V0X2xvY2FsbmV0X3BvcnQoKSkuCisrICAgICAqIFJlLWV2YWx1YXRlIHRob3NlIENSIHBvcnRz LiAqLworKyAgICBpZiAodHlwZSA9PSBMUF9MT0NBTE5FVCAmJiAhcmVtb3ZlZCAmJiBsZHApIHsK KysgICAgICAgIGNvbnN0IHN0cnVjdCBwZWVyX3BvcnRzICpwcDsKKysgICAgICAgIFZFQ1RPUl9G T1JfRUFDSF9QVFIgKCZsZHAtPnBlZXJfcG9ydHMsIHBwKSB7CisrICAgICAgICAgICAgY29uc3Qg c3RydWN0IHNicmVjX3BvcnRfYmluZGluZyAqY3JfcGIgPQorKyAgICAgICAgICAgICAgICBscG9y dF9nZXRfY3JfcG9ydChwX2N0eC0+c2JyZWNfcG9ydF9iaW5kaW5nX2J5X25hbWUsCisrICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBwLT5yZW1vdGUsIE5VTEwpOworKyAgICAgICAg ICAgIGlmIChjcl9wYikgeworKyAgICAgICAgICAgICAgICBvZmN0cmxfcmVtb3ZlX2Zsb3dzKGZs b3dfdGFibGUsICZjcl9wYi0+aGVhZGVyXy51dWlkKTsKKysgICAgICAgICAgICAgICAgcGh5c2lj YWxfZXZhbF9wb3J0X2JpbmRpbmcocF9jdHgsIGNyX3BiLCBMUF9DSEFTU0lTUkVESVJFQ1QsCisr ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsb3dfdGFibGUpOwor KyAgICAgICAgICAgIH0KKysgICAgICAgIH0KKysgICAgfQorKworICAgICBpZiAoc2JyZWNfcG9y dF9iaW5kaW5nX2lzX3VwZGF0ZWQoCisgICAgICAgICAgICAgcGIsIFNCUkVDX1BPUlRfQklORElO R19DT0xfQURESVRJT05BTF9DSEFTU0lTKSB8fCByZW1vdmVkKSB7CisgICAgICAgICBwaHlzaWNh bF9tdWx0aWNoYXNzaXNfcmVwcm9jZXNzKHBiLCBwX2N0eCwgZmxvd190YWJsZSk7CitAQCAtMzk0 Myw3ICszOTgwLDcgQEAgcGh5c2ljYWxfcnVuKHN0cnVjdCBwaHlzaWNhbF9jdHggKnBfY3R4LAor ICAgICBzdHJ1Y3QgY2hhc3Npc190dW5uZWwgKnR1bjsKKyAgICAgSE1BUF9GT1JfRUFDSCAodHVu LCBobWFwX25vZGUsIHBfY3R4LT5jaGFzc2lzX3R1bm5lbHMpIHsKKyAgICAgICAgIGFkZF90dW5u ZWxfaW5ncmVzc19mbG93cyh0dW4sIHBfY3R4LT5tZmZfb3ZuX2dlbmV2ZSwgZmxvd190YWJsZSwK Ky0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZvZnBhY3RzKTsKKysgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAmb2ZwYWN0cyk7CisgICAgIH0KKyAKKyAgICAgLyogUHJv Y2VzcyBwYWNrZXRzIHRoYXQgYXJyaXZlIGZyb20gZmxvdy1iYXNlZCB0dW5uZWxzLiAqLworQEAg LTM5NjcsNyArNDAwNCw3IEBAIHBoeXNpY2FsX3J1bihzdHJ1Y3QgcGh5c2ljYWxfY3R4ICpwX2N0 eCwKKyAgICAgICAgICAgICAgICAgICAgICBpID09IEdFTkVWRSA/ICJnZW5ldmUiIDogInZ4bGFu Iik7CisgCisgICAgICAgICAgICAgYWRkX3R1bm5lbF9pbmdyZXNzX2Zsb3dzKCZ0ZW1wX3R1bm5l bCwgcF9jdHgtPm1mZl9vdm5fZ2VuZXZlLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGZsb3dfdGFibGUsICZvZnBhY3RzKTsKKysgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgZmxvd190YWJsZSwgJm9mcGFjdHMpOworICAgICAgICAgfQorICAgICB9Cisg CitkaWZmIC0tZ2l0IGEvY29udHJvbGxlci9waW5jdHJsLmMgYi9jb250cm9sbGVyL3BpbmN0cmwu YworaW5kZXggMWE1NDA3MTgzYy4uYmI4ZDIwZTdmNCAxMDA2NDQKKy0tLSBhL2NvbnRyb2xsZXIv cGluY3RybC5jCisrKysgYi9jb250cm9sbGVyL3BpbmN0cmwuYworQEAgLTE4NSwxNiArMTg1LDE1 IEBAIHN0cnVjdCBwaW5jdHJsIHsKKyBzdGF0aWMgc3RydWN0IHBpbmN0cmwgcGluY3RybDsKKyAK KyBzdGF0aWMgYm9vbCBwaW5jdHJsX2lzX3NiX2NvbW1pdGVkKGludDY0X3QgY29tbWl0X2NmZywg aW50NjRfdCBjdXJfY2ZnKTsKKy1zdGF0aWMgdm9pZCBpbml0X2J1ZmZlcmVkX3BhY2tldHNfY3R4 KHZvaWQpOworLXN0YXRpYyB2b2lkIGRlc3Ryb3lfYnVmZmVyZWRfcGFja2V0c19jdHgodm9pZCk7 Cisrc3RhdGljIHZvaWQgaW5pdF9idWZmZXJlZF9wYWNrZXRzX21hcCh2b2lkKTsKKytzdGF0aWMg dm9pZCBkZXN0cm95X2J1ZmZlcmVkX3BhY2tldHNfbWFwKHZvaWQpOworIHN0YXRpYyB2b2lkCisg cnVuX2J1ZmZlcmVkX2JpbmRpbmcoY29uc3Qgc3RydWN0IHNicmVjX21hY19iaW5kaW5nX3RhYmxl ICptYWNfYmluZGluZ190YWJsZSwKKyAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3Qg aG1hcCAqbG9jYWxfZGF0YXBhdGhzLAorICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBvdnNk Yl9pZGxfaW5kZXggKnNicmVjX3BvcnRfYmluZGluZ19ieV9rZXksCisgICAgICAgICAgICAgICAg ICAgICAgc3RydWN0IG92c2RiX2lkbF9pbmRleCAqc2JyZWNfZGF0YXBhdGhfYmluZGluZ19ieV9r ZXksCisgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IG92c2RiX2lkbF9pbmRleCAqc2JyZWNf cG9ydF9iaW5kaW5nX2J5X25hbWUsCistICAgICAgICAgICAgICAgICAgICAgc3RydWN0IG92c2Ri X2lkbF9pbmRleCAqc2JyZWNfbWFjX2JpbmRpbmdfYnlfbHBvcnRfaXApCistICAgIE9WU19SRVFV SVJFUyhwaW5jdHJsX211dGV4KTsKKysgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3Qgb3ZzZGJf aWRsX2luZGV4ICpzYnJlY19tYWNfYmluZGluZ19ieV9scG9ydF9pcCk7CisgCisgc3RhdGljIHZv aWQgcGluY3RybF9oYW5kbGVfcHV0X21hY19iaW5kaW5nKGNvbnN0IHN0cnVjdCBmbG93ICptZCwK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0 IGZsb3cgKmhlYWRlcnMsCitAQCAtMjA5LDggKzIwOCw3IEBAIHN0YXRpYyB2b2lkIHJ1bl9wdXRf bWFjX2JpbmRpbmdzKAorICAgICBzdHJ1Y3Qgb3ZzZGJfaWRsX2luZGV4ICpzYnJlY19tYWNfYmlu ZGluZ19ieV9scG9ydF9pcCkKKyAgICAgT1ZTX1JFUVVJUkVTKHBpbmN0cmxfbXV0ZXgpOworIHN0 YXRpYyB2b2lkIHdhaXRfcHV0X21hY19iaW5kaW5ncyh2b2lkKTsKKy1zdGF0aWMgdm9pZCBzZW5k X21hY19iaW5kaW5nX2J1ZmZlcmVkX3BrdHMoc3RydWN0IHJjb25uICpzd2Nvbm4pCistICAgIE9W U19SRVFVSVJFUyhwaW5jdHJsX211dGV4KTsKKytzdGF0aWMgdm9pZCBzZW5kX21hY19iaW5kaW5n X2J1ZmZlcmVkX3BrdHMoc3RydWN0IHJjb25uICpzd2Nvbm4pOworIAorIHN0YXRpYyB2b2lkIHBp bmN0cmxfYWN0aXZhdGlvbl9zdHJhdGVneV9oYW5kbGVyKGNvbnN0IHN0cnVjdCBtYXRjaCAqbWQp OworIAorQEAgLTM4OSw2ICszODcsNyBAQCBDT1ZFUkFHRV9ERUZJTkUocGluY3RybF9kcm9wX2J1 ZmZlcmVkX3BhY2tldHNfbWFwKTsKKyBDT1ZFUkFHRV9ERUZJTkUocGluY3RybF9kcm9wX2NvbnRy b2xsZXJfZXZlbnQpOworIENPVkVSQUdFX0RFRklORShwaW5jdHJsX2Ryb3BfcHV0X3Zwb3J0X2Jp bmRpbmcpOworIENPVkVSQUdFX0RFRklORShwaW5jdHJsX25vdGlmeV9tYWluX3RocmVhZCk7Cisr Q09WRVJBR0VfREVGSU5FKHBpbmN0cmxfbm90aWZ5X2hhbmRsZXJfdGhyZWFkKTsKKyBDT1ZFUkFH RV9ERUZJTkUocGluY3RybF90b3RhbF9waW5fcGt0cyk7CisgCisgLyogRE5TIHF1ZXJ5IHN0YXRp c3RpY3MgLSB0aHJlYWQtc2FmZSBjb3ZlcmFnZSBjb3VudGVycyAqLworQEAgLTU2MSw3ICs1NjAs NyBAQCBwaW5jdHJsX2luaXQodm9pZCkKKyAgICAgaW5pdF9zZW5kX2FycHNfbmRzKCk7CisgICAg IGluaXRfaXB2Nl9yYXMoKTsKKyAgICAgaW5pdF9pcHY2X3ByZWZpeGQoKTsKKy0gICAgaW5pdF9i dWZmZXJlZF9wYWNrZXRzX2N0eCgpOworKyAgICBpbml0X2J1ZmZlcmVkX3BhY2tldHNfbWFwKCk7 CisgICAgIGluaXRfYWN0aXZhdGVkX3BvcnRzKCk7CisgICAgIGluaXRfZXZlbnRfdGFibGUoKTsK KyAgICAgaXBfbWNhc3Rfc25vb3BfaW5pdCgpOworQEAgLTE1NzYsMTggKzE1NzUsMTggQEAgcHJl cGFyZV9pcHY2X3ByZWZpeGQoc3RydWN0IG92c2RiX2lkbF90eG4gKm92bnNiX2lkbF90eG4sCisg ICAgIH0KKyB9CisgCistc3RhdGljIHN0cnVjdCBidWZmZXJlZF9wYWNrZXRzX2N0eCBidWZmZXJl ZF9wYWNrZXRzX2N0eDsKKytzdGF0aWMgc3RydWN0IGNtYXAgYnVmZmVyZWRfcGFja2V0c19tYXA7 CisgCisgc3RhdGljIHZvaWQKKy1pbml0X2J1ZmZlcmVkX3BhY2tldHNfY3R4KHZvaWQpCisraW5p dF9idWZmZXJlZF9wYWNrZXRzX21hcCh2b2lkKQorIHsKKy0gICAgYnVmZmVyZWRfcGFja2V0c19j dHhfaW5pdCgmYnVmZmVyZWRfcGFja2V0c19jdHgpOworKyAgICBjbWFwX2luaXQoJmJ1ZmZlcmVk X3BhY2tldHNfbWFwKTsKKyB9CisgCisgc3RhdGljIHZvaWQKKy1kZXN0cm95X2J1ZmZlcmVkX3Bh Y2tldHNfY3R4KHZvaWQpCisrZGVzdHJveV9idWZmZXJlZF9wYWNrZXRzX21hcCh2b2lkKQorIHsK Ky0gICAgYnVmZmVyZWRfcGFja2V0c19jdHhfZGVzdHJveSgmYnVmZmVyZWRfcGFja2V0c19jdHgp OworKyAgICBidWZmZXJlZF9wYWNrZXRzX21hcF9kZXN0cm95KCZidWZmZXJlZF9wYWNrZXRzX21h cCk7CisgfQorIAorIC8qIENhbGxlZCB3aXRoIGluIHRoZSBwaW5jdHJsX2hhbmRsZXIgdGhyZWFk IGNvbnRleHQuICovCitAQCAtMTU5NSw3ICsxNTk0LDYgQEAgc3RhdGljIHZvaWQKKyBwaW5jdHJs X2hhbmRsZV9idWZmZXJlZF9wYWNrZXRzKGNvbnN0IHN0cnVjdCBvZnB1dGlsX3BhY2tldF9pbiAq cGluLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IG9mcGJ1 ZiAqY29udGludWF0aW9uLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9vbCBp c19hcnApCistT1ZTX1JFUVVJUkVTKHBpbmN0cmxfbXV0ZXgpCisgeworICAgICBjb25zdCBzdHJ1 Y3QgbWF0Y2ggKm1kID0gJnBpbi0+Zmxvd19tZXRhZGF0YTsKKyAgICAgc3RydWN0IG1hY19iaW5k aW5nX2RhdGEgbWJfZGF0YTsKK0BAIC0xNjEyLDcgKzE2MTAsNyBAQCBPVlNfUkVRVUlSRVMocGlu Y3RybF9tdXRleCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIG1kLT5mbG93LnJlZ3NbTUZG X0xPR19PVVRQT1JUIC0gTUZGX1JFRzBdLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgaXAs IGV0aF9hZGRyX3plcm8pOworIAorLSAgICBzdHJ1Y3QgYnVmZmVyZWRfcGFja2V0cyAqYnAgPSBi dWZmZXJlZF9wYWNrZXRzX2FkZCgmYnVmZmVyZWRfcGFja2V0c19jdHgsCisrICAgIHN0cnVjdCBi dWZmZXJlZF9wYWNrZXRzICpicCA9IGJ1ZmZlcmVkX3BhY2tldHNfYWRkKCZidWZmZXJlZF9wYWNr ZXRzX21hcCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgbWJfZGF0YSk7CisgICAgIGlmICghYnApIHsKKyAgICAgICAgIENPVkVSQUdFX0lO QyhwaW5jdHJsX2Ryb3BfYnVmZmVyZWRfcGFja2V0c19tYXApOworQEAgLTE2NDIsOSArMTY0MCw3 IEBAIHBpbmN0cmxfaGFuZGxlX2FycChzdHJ1Y3QgcmNvbm4gKnN3Y29ubiwgY29uc3Qgc3RydWN0 IGZsb3cgKmlwX2Zsb3csCisgICAgICAgICByZXR1cm47CisgICAgIH0KKyAKKy0gICAgb3ZzX211 dGV4X2xvY2soJnBpbmN0cmxfbXV0ZXgpOworICAgICBwaW5jdHJsX2hhbmRsZV9idWZmZXJlZF9w YWNrZXRzKHBpbiwgY29udGludWF0aW9uLCB0cnVlKTsKKy0gICAgb3ZzX211dGV4X3VubG9jaygm cGluY3RybF9tdXRleCk7CisgCisgICAgIC8qIENvbXBvc2UgYW4gQVJQIHBhY2tldC4gKi8KKyAg ICAgdWludDY0X3QgcGFja2V0X3N0dWJbMTI4IC8gOF07CitAQCAtNDAwNSw2ICs0MDAxLDcgQEAg cGluY3RybF9yZWN2KHN0cnVjdCByY29ubiAqc3djb25uLCBjb25zdCBzdHJ1Y3Qgb2ZwX2hlYWRl ciAqb2gsCisgc3RhdGljIHZvaWQKKyBub3RpZnlfcGluY3RybF9oYW5kbGVyKHZvaWQpCisgewor KyAgICBDT1ZFUkFHRV9JTkMocGluY3RybF9ub3RpZnlfaGFuZGxlcl90aHJlYWQpOworICAgICBz ZXFfY2hhbmdlKHBpbmN0cmxfaGFuZGxlcl9zZXEpOworIH0KKyAKK0BAIC00MDc5LDEyICs0MDc2 LDEyIEBAIHBpbmN0cmxfaGFuZGxlcih2b2lkICphcmdfKQorICAgICAgICAgICAgICAgICAgICAg c2VuZF9hcnBfbmRfcnVuKHN3Y29ubiwgJnNlbmRfYXJwX25kX3RpbWUpOworICAgICAgICAgICAg ICAgICAgICAgc2VuZF9pcHY2X3Jhcyhzd2Nvbm4sICZzZW5kX2lwdjZfcmFfdGltZSk7CisgICAg ICAgICAgICAgICAgICAgICBzZW5kX2lwdjZfcHJlZml4ZChzd2Nvbm4sICZzZW5kX3ByZWZpeGRf dGltZSk7CistICAgICAgICAgICAgICAgICAgICBzZW5kX21hY19iaW5kaW5nX2J1ZmZlcmVkX3Br dHMoc3djb25uKTsKKyAgICAgICAgICAgICAgICAgICAgIGJmZF9tb25pdG9yX3NlbmRfbXNnKHN3 Y29ubiwgJmJmZF90aW1lKTsKKyAgICAgICAgICAgICAgICAgICAgIG92c19tdXRleF91bmxvY2so JnBpbmN0cmxfbXV0ZXgpOworICAgICAgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAg ICAgICAgICAgbG9ja19mYWlsZWQgPSB0cnVlOworICAgICAgICAgICAgICAgICB9CisrICAgICAg ICAgICAgICAgIHNlbmRfbWFjX2JpbmRpbmdfYnVmZmVyZWRfcGt0cyhzd2Nvbm4pOworICAgICAg ICAgICAgICAgICBzZW5kX2dhcnBfcmFycF9ydW4oc3djb25uLCAmc2VuZF9nYXJwX3JhcnBfdGlt ZSk7CisgICAgICAgICAgICAgICAgIGlwX21jYXN0X3F1ZXJpZXJfcnVuKHN3Y29ubiwgJnNlbmRf bWNhc3RfcXVlcnlfdGltZSk7CisgICAgICAgICAgICAgfQorQEAgLTQxMTgsNiArNDExNSw4IEBA IHBpbmN0cmxfaGFuZGxlcih2b2lkICphcmdfKQorICAgICAgICAgbGF0Y2hfd2FpdCgmcGN0cmwt PnBpbmN0cmxfdGhyZWFkX2V4aXQpOworIAorICAgICAgICAgb3ZzcmN1X3F1aWVzY2Vfc3RhcnQo KTsKKysgICAgICAgIC8qIFdha2UtdXAgcGVyaW9kaWNhbHkgZm9yIGNvdmVyYWdlIGNvdW50ZXJz IHN5bmMuKi8KKysgICAgICAgIHBvbGxfdGltZXJfd2FpdCgxMDAwKTsKKyAgICAgICAgIHBvbGxf YmxvY2soKTsKKyAgICAgfQorIAorQEAgLTQyMjIsMTEgKzQyMjEsNiBAQCBwaW5jdHJsX3J1bihz dHJ1Y3Qgb3ZzZGJfaWRsX3R4biAqb3Zuc2JfaWRsX3R4biwKKyAgICAgICAgICAgICAgICAgICBz YnJlY19wb3J0X2JpbmRpbmdfYnlfa2V5LAorICAgICAgICAgICAgICAgICAgIHNicmVjX2lnbXBf Z3JvdXBzLAorICAgICAgICAgICAgICAgICAgIHNicmVjX2lwX211bHRpY2FzdF9vcHRzKTsKKy0g ICAgcnVuX2J1ZmZlcmVkX2JpbmRpbmcobWFjX2JpbmRpbmdfdGFibGUsIGxvY2FsX2RhdGFwYXRo cywKKy0gICAgICAgICAgICAgICAgICAgICAgICAgc2JyZWNfcG9ydF9iaW5kaW5nX2J5X2tleSwK Ky0gICAgICAgICAgICAgICAgICAgICAgICAgc2JyZWNfZGF0YXBhdGhfYmluZGluZ19ieV9rZXks CistICAgICAgICAgICAgICAgICAgICAgICAgIHNicmVjX3BvcnRfYmluZGluZ19ieV9uYW1lLAor LSAgICAgICAgICAgICAgICAgICAgICAgICBzYnJlY19tYWNfYmluZGluZ19ieV9scG9ydF9pcCk7 CisgICAgIHN5bmNfc3ZjX21vbml0b3JzKG92bnNiX2lkbF90eG4sIHN2Y19tb25fdGFibGUsIHNi cmVjX3BvcnRfYmluZGluZ19ieV9uYW1lLAorICAgICAgICAgICAgICAgICAgICAgICBjaGFzc2lz KTsKKyAgICAgYmZkX21vbml0b3JfcnVuKG92bnNiX2lkbF90eG4sIGJmZF90YWJsZSwgc2JyZWNf cG9ydF9iaW5kaW5nX2J5X25hbWUsCitAQCAtNDIzNyw2ICs0MjMxLDEyIEBAIHBpbmN0cmxfcnVu KHN0cnVjdCBvdnNkYl9pZGxfdHhuICpvdm5zYl9pZGxfdHhuLAorICAgICBydW5fYWN0aXZhdGVk X3BvcnRzKG92bnNiX2lkbF90eG4sIHNicmVjX2RhdGFwYXRoX2JpbmRpbmdfYnlfa2V5LAorICAg ICAgICAgICAgICAgICAgICAgICAgIHNicmVjX3BvcnRfYmluZGluZ19ieV9rZXksIGNoYXNzaXMp OworICAgICBvdnNfbXV0ZXhfdW5sb2NrKCZwaW5jdHJsX211dGV4KTsKKysKKysgICAgcnVuX2J1 ZmZlcmVkX2JpbmRpbmcobWFjX2JpbmRpbmdfdGFibGUsIGxvY2FsX2RhdGFwYXRocywKKysgICAg ICAgICAgICAgICAgICAgICAgICAgc2JyZWNfcG9ydF9iaW5kaW5nX2J5X2tleSwKKysgICAgICAg ICAgICAgICAgICAgICAgICAgc2JyZWNfZGF0YXBhdGhfYmluZGluZ19ieV9rZXksCisrICAgICAg ICAgICAgICAgICAgICAgICAgIHNicmVjX3BvcnRfYmluZGluZ19ieV9uYW1lLAorKyAgICAgICAg ICAgICAgICAgICAgICAgICBzYnJlY19tYWNfYmluZGluZ19ieV9scG9ydF9pcCk7CisgfQorIAor IC8qIFRhYmxlIG9mIGlwdjZfcmFfc3RhdGUgc3RydWN0dXJlcywga2V5ZWQgb24gbG9naWNhbCBw b3J0IG5hbWUuCitAQCAtNDc1NCw3ICs0NzU0LDcgQEAgcGluY3RybF9kZXN0cm95KHZvaWQpCisg ICAgIGRlc3Ryb3lfc2VuZF9hcnBzX25kcygpOworICAgICBkZXN0cm95X2lwdjZfcmFzKCk7Cisg ICAgIGRlc3Ryb3lfaXB2Nl9wcmVmaXhkKCk7CistICAgIGRlc3Ryb3lfYnVmZmVyZWRfcGFja2V0 c19jdHgoKTsKKysgICAgZGVzdHJveV9idWZmZXJlZF9wYWNrZXRzX21hcCgpOworICAgICBkZXN0 cm95X2FjdGl2YXRlZF9wb3J0cygpOworICAgICBldmVudF90YWJsZV9kZXN0cm95KCk7CisgICAg IGRlc3Ryb3lfcHV0X21hY19iaW5kaW5ncygpOworQEAgLTQ4MzksMzAgKzQ4MzksMjQgQEAgcGlu Y3RybF9oYW5kbGVfcHV0X21hY19iaW5kaW5nKGNvbnN0IHN0cnVjdCBmbG93ICptZCwKKyAgICAg bm90aWZ5X3BpbmN0cmxfbWFpbigpOworIH0KKyAKKy0jZGVmaW5lIFJFQURZX1BBQ0tFVFNfVkVD X0NBUEFDSVRZX1RIUkVTSE9MRCAxMDI0CistCisgLyogQ2FsbGVkIHdpdGggaW4gdGhlIHBpbmN0 cmxfaGFuZGxlciB0aHJlYWQgY29udGV4dC4gKi8KKyBzdGF0aWMgdm9pZAorIHNlbmRfbWFjX2Jp bmRpbmdfYnVmZmVyZWRfcGt0cyhzdHJ1Y3QgcmNvbm4gKnN3Y29ubikKKy0gICAgT1ZTX1JFUVVJ UkVTKHBpbmN0cmxfbXV0ZXgpCisgeworICAgICBlbnVtIG9mcF92ZXJzaW9uIHZlcnNpb24gPSBy Y29ubl9nZXRfdmVyc2lvbihzd2Nvbm4pOworICAgICBlbnVtIG9mcHV0aWxfcHJvdG9jb2wgcHJv dG8gPSBvZnB1dGlsX3Byb3RvY29sX2Zyb21fb2ZwX3ZlcnNpb24odmVyc2lvbik7CistICAgIHN0 cnVjdCB2ZWN0b3IgKnJwZCA9ICZidWZmZXJlZF9wYWNrZXRzX2N0eC5yZWFkeV9wYWNrZXRzX2Rh dGE7CisrICAgIHN0cnVjdCB2ZWN0b3IgcnBkID0gVkVDVE9SX0VNUFRZX0lOSVRJQUxJWkVSKHN0 cnVjdCBicF9wYWNrZXRfZGF0YSk7CisrCisrICAgIGJ1ZmZlcmVkX3BhY2tldHNfcnVuKCZidWZm ZXJlZF9wYWNrZXRzX21hcCwgJnJwZCk7CisgCisgICAgIHN0cnVjdCBicF9wYWNrZXRfZGF0YSAq cGQ7CistICAgIFZFQ1RPUl9GT1JfRUFDSF9QVFIgKHJwZCwgcGQpIHsKKysgICAgVkVDVE9SX0ZP Ul9FQUNIX1BUUiAoJnJwZCwgcGQpIHsKKyAgICAgICAgIHF1ZXVlX21zZyhzd2Nvbm4sIG9mcHV0 aWxfZW5jb2RlX3Jlc3VtZSgmcGQtPnBpbiwgcGQtPmNvbnRpbnVhdGlvbiwKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm90bykpOworICAgICAgICAg YnBfcGFja2V0X2RhdGFfZGVzdHJveShwZCk7CisgICAgIH0KKyAKKy0gICAgdmVjdG9yX2NsZWFy KHJwZCk7CistICAgIGlmICh2ZWN0b3JfY2FwYWNpdHkocnBkKSA+PSBSRUFEWV9QQUNLRVRTX1ZF Q19DQVBBQ0lUWV9USFJFU0hPTEQpIHsKKy0gICAgICAgIFZMT0dfREJHKCJUaGUgcmVhZHlfcGFj a2V0c19kYXRhIHZlY3RvciBjYXBhY2l0eSAoJSJQUkl1U0laRSIpICIKKy0gICAgICAgICAgICAg ICAgICJpcyBvdmVyIHRocmVzaG9sZC4iLCB2ZWN0b3JfY2FwYWNpdHkocnBkKSk7CistICAgICAg ICB2ZWN0b3Jfc2hyaW5rX3RvX2ZpdChycGQpOworLSAgICB9CisrICAgIHZlY3Rvcl9kZXN0cm95 KCZycGQpOworIH0KKyAKKyBzdGF0aWMgdm9pZAorQEAgLTQ5MzEsOSArNDkyNSw4IEBAIHJ1bl9i dWZmZXJlZF9iaW5kaW5nKGNvbnN0IHN0cnVjdCBzYnJlY19tYWNfYmluZGluZ190YWJsZSAqbWFj X2JpbmRpbmdfdGFibGUsCisgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IG92c2RiX2lkbF9p bmRleCAqc2JyZWNfZGF0YXBhdGhfYmluZGluZ19ieV9rZXksCisgICAgICAgICAgICAgICAgICAg ICAgc3RydWN0IG92c2RiX2lkbF9pbmRleCAqc2JyZWNfcG9ydF9iaW5kaW5nX2J5X25hbWUsCisg ICAgICAgICAgICAgICAgICAgICAgc3RydWN0IG92c2RiX2lkbF9pbmRleCAqc2JyZWNfbWFjX2Jp bmRpbmdfYnlfbHBvcnRfaXApCistICAgIE9WU19SRVFVSVJFUyhwaW5jdHJsX211dGV4KQorIHsK Ky0gICAgaWYgKCFidWZmZXJlZF9wYWNrZXRzX2N0eF9oYXNfcGFja2V0cygmYnVmZmVyZWRfcGFj a2V0c19jdHgpKSB7CisrICAgIGlmIChjbWFwX2lzX2VtcHR5KCZidWZmZXJlZF9wYWNrZXRzX21h cCkpIHsKKyAgICAgICAgIHJldHVybjsKKyAgICAgfQorIAorQEAgLTQ5NzksMTggKzQ5NzIsMTYg QEAgcnVuX2J1ZmZlcmVkX2JpbmRpbmcoY29uc3Qgc3RydWN0IHNicmVjX21hY19iaW5kaW5nX3Rh YmxlICptYWNfYmluZGluZ190YWJsZSwKKyAgICAgICAgIG1hY19iaW5kaW5nX2FkZCgmcmVjZW50 X21icywgbWJfZGF0YSwgc21iLCAwKTsKKyAgICAgfQorIAorLSAgICBidWZmZXJlZF9wYWNrZXRz X2N0eF9ydW4oJmJ1ZmZlcmVkX3BhY2tldHNfY3R4LCAmcmVjZW50X21icywKKy0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBzYnJlY19wb3J0X2JpbmRpbmdfYnlfa2V5LAorLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNicmVjX2RhdGFwYXRoX2JpbmRpbmdfYnlfa2V5 LAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNicmVjX3BvcnRfYmluZGluZ19i eV9uYW1lLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNicmVjX21hY19iaW5k aW5nX2J5X2xwb3J0X2lwKTsKKysgICAgaWYgKGJ1ZmZlcmVkX3BhY2tldHNfbG9va3VwX3J1bigm YnVmZmVyZWRfcGFja2V0c19tYXAsICZyZWNlbnRfbWJzLAorKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHNicmVjX3BvcnRfYmluZGluZ19ieV9rZXksCisrICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgc2JyZWNfZGF0YXBhdGhfYmluZGluZ19ieV9rZXksCisr ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2JyZWNfcG9ydF9iaW5kaW5nX2J5 X25hbWUsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2JyZWNfbWFjX2Jp bmRpbmdfYnlfbHBvcnRfaXApKSB7CisrICAgICAgICBub3RpZnlfcGluY3RybF9oYW5kbGVyKCk7 CisrICAgIH0KKyAKKyAgICAgbWFjX2JpbmRpbmdzX2NsZWFyKCZyZWNlbnRfbWJzKTsKKyAgICAg aG1hcF9kZXN0cm95KCZyZWNlbnRfbWJzKTsKKy0KKy0gICAgaWYgKGJ1ZmZlcmVkX3BhY2tldHNf Y3R4X2lzX3JlYWR5X3RvX3NlbmQoJmJ1ZmZlcmVkX3BhY2tldHNfY3R4KSkgeworLSAgICAgICAg bm90aWZ5X3BpbmN0cmxfaGFuZGxlcigpOworLSAgICB9CisgfQorIAorIHN0YXRpYyB2b2lkCitA QCAtNTgxOSw2ICs1ODEwLDkgQEAgaXBfbWNhc3Rfc3luYyhzdHJ1Y3Qgb3ZzZGJfaWRsX3R4biAq b3Zuc2JfaWRsX3R4biwKKyAgICAgICAgIHN0cnVjdCBpcF9tY2FzdF9zbm9vcF9jZmcgY2ZnOwor ICAgICAgICAgYm9vbCBmbHVzaF9ncm91cHMgPSBmYWxzZTsKKyAKKysgICAgICAgIGlmICghZ2V0 X2xvY2FsX2RhdGFwYXRoKGxvY2FsX2RhdGFwYXRocywgZHBfa2V5KSkgeworKyAgICAgICAgICAg IGNvbnRpbnVlOworKyAgICAgICAgfQorICAgICAgICAgaXBfbWNhc3Rfc25vb3BfY2ZnX2xvYWQo JmNmZywgaXBfbWNhc3QpOworICAgICAgICAgaWYgKGlwX21jYXN0X3Nub29wX3N0YXRlX3VwZGF0 ZShkcF9rZXksICZjZmcsICZmbHVzaF9ncm91cHMpKSB7CisgICAgICAgICAgICAgbm90aWZ5ID0g dHJ1ZTsKK0BAIC02NDMxLDcgKzY0MjUsNyBAQCBtYXlfaW5qZWN0X3BrdHModm9pZCkKKyAgICAg ICAgICAgICAhY21hcF9pc19lbXB0eSgmZ2FycF9yYXJwX2dldF9kYXRhKCktPmRhdGEpIHx8Cisg ICAgICAgICAgICAgaXB2Nl9wcmVmaXhkX3Nob3VsZF9pbmplY3QoKSB8fAorICAgICAgICAgICAg ICFvdnNfbGlzdF9pc19lbXB0eSgmbWNhc3RfcXVlcnlfbGlzdCkgfHwKKy0gICAgICAgICAgICBi dWZmZXJlZF9wYWNrZXRzX2N0eF9pc19yZWFkeV90b19zZW5kKCZidWZmZXJlZF9wYWNrZXRzX2N0 eCkgfHwKKysgICAgICAgICAgICAhY21hcF9pc19lbXB0eSgmYnVmZmVyZWRfcGFja2V0c19tYXAp IHx8CisgICAgICAgICAgICAgYmZkX21vbml0b3Jfc2hvdWxkX2luamVjdCgpKTsKKyB9CisgCitA QCAtNjUyMSw5ICs2NTE1LDcgQEAgcGluY3RybF9oYW5kbGVfbmRfbnMoc3RydWN0IHJjb25uICpz d2Nvbm4sIGNvbnN0IHN0cnVjdCBmbG93ICppcF9mbG93LAorICAgICAgICAgcmV0dXJuOworICAg ICB9CisgCistICAgIG92c19tdXRleF9sb2NrKCZwaW5jdHJsX211dGV4KTsKKyAgICAgcGluY3Ry bF9oYW5kbGVfYnVmZmVyZWRfcGFja2V0cyhwaW4sIGNvbnRpbnVhdGlvbiwgZmFsc2UpOworLSAg ICBvdnNfbXV0ZXhfdW5sb2NrKCZwaW5jdHJsX211dGV4KTsKKyAKKyAgICAgdWludDY0X3QgcGFj a2V0X3N0dWJbMTI4IC8gOF07CisgICAgIHN0cnVjdCBkcF9wYWNrZXQgcGFja2V0OworQEAgLTY1 MzQsMTcgKzY1MjYsMjcgQEAgcGluY3RybF9oYW5kbGVfbmRfbnMoc3RydWN0IHJjb25uICpzd2Nv bm4sIGNvbnN0IHN0cnVjdCBmbG93ICppcF9mbG93LAorIAorICAgICAvKiBXZSBtaWdodCBiZSBo ZXJlIHdpdGhvdXQgYWN0dWFsbHkgY3VycmVudGx5IGhhbmRsaW5nIGFuIElQdjYgcGFja2V0Lgor ICAgICAgKiBUaGlzIGNhbiBoYXBwZW4gaW4gdGhlIGNhc2Ugd2hlcmUgd2Ugcm91dGUgSVB2NCBw YWNrZXRzIG92ZXIgYW4gSVB2NgorLSAgICAgKiBsaW5rLgorLSAgICAgKiBJbiB0aGVzZSBjYXNl cyB3ZSBoYXZlIG5vIGRlc3RpbmF0aW9uIElQdjYgYWRkcmVzcyBmcm9tIHRoZSBwYWNrZXQgdGhh dAorLSAgICAgKiB3ZSBjYW4gcmV1c2UuIEJ1dCB3ZSByZWNlaXZlIHRoZSBhY3R1YWwgZGVzdGlu YXRpb24gSVB2NiBhZGRyZXNzIHZpYQorLSAgICAgKiB1c2VyZGF0YSBhbnl3YXksIHNvIHdoYXQg d2UgcGFzcyB0byBjb21wb3NlX25kX25zIGlzIGlycmVsZXZhbnQuCistICAgICAqIFRoaXMgaXMg anVzdCBhIGhvcGUgc2luY2Ugd2UgZG8gbm90IHBhcnNlIHRoZSB1c2VyZGF0YS4gSWYgd2UgbGFu ZCBoZXJlCistICAgICAqIGZvciB3aGF0ZXZlciByZWFzb24gd2l0aG91dCBiZWluZyBhbiBJUHY2 IHBhY2tldCBhbmQgd2l0aG91dCB1c2VyZGF0YSB3ZQorLSAgICAgKiB3aWxsIHNlbmQgb3V0IGEg d3JvbmcgcGFja2V0LgorLSAgICAgKi8KKysgICAgICogbGluayAoZS5nLiBSRkMgNTU0OSAvIEJH UCB1bm51bWJlcmVkLCB3aGVyZSBhbiBJUHY0IGRlc3RpbmF0aW9uIGlzCisrICAgICAqIHJlc29s dmVkIHZpYSBhbiBJUHY2IGxpbmstbG9jYWwgbmV4dGhvcCkuCisrICAgICAqCisrICAgICAqIElu IHRoYXQgY2FzZSB3ZSBoYXZlIG5vIGRlc3RpbmF0aW9uIElQdjYgYWRkcmVzcyBpbiB0aGUgdHJp Z2dlciBwYWNrZXQKKysgICAgICogdG8gcmV1c2UuIGNvbXBvc2VfbmRfbnMoKSBuZWVkcyBhIHZh bGlkIGRlc3RpbmF0aW9uIHNvIGl0IGNhbiBkZXJpdmUKKysgICAgICogdGhlIGNvcnJlY3Qgc29s aWNpdGVkLW5vZGUgbXVsdGljYXN0IChmZjAyOjoxOmZme2FkZHJbMTM6MTZdfSkgZm9yCisrICAg ICAqIGV0aC5kc3QgYW5kIGlwNi5kc3QgLS0gdXNlcmRhdGEgb25seSBzZXRzIG5kLnRhcmdldCBv biB0aGUgbmV3IHBhY2tldAorKyAgICAgKiBhbmQgZG9lcyBub3QgcmV3cml0ZSBpcDYuZHN0LCBz byBhIHdyb25nIGlwdjZfZHN0IGhlcmUgZWdyZXNzZXMgb24gdGhlCisrICAgICAqIHdpcmUgYXMt aXMuCisrICAgICAqCisrICAgICAqIFRoZSBmYWxsYmFjayBuZF9ucyBsb2dpY2FsIGZsb3cgaW4g U19ST1VURVJfSU5fQVJQX1JFUVVFU1Qgc3RvcmVzIHRoZQorKyAgICAgKiBhY3R1YWwgSVB2NiBu ZXh0aG9wIGluIHh4cmVnMCAoUkVHX05FWFRfSE9QX0lQVjYpIGJlZm9yZSBpbnZva2luZyB0aGUK KysgICAgICogbmRfbnMgYWN0aW9uLCBzbyBmb3IgdGhlIElQdjQtb3Zlci1JUHY2IGNhc2UgcmVh ZCB4eHJlZzAgZnJvbSB0aGUKKysgICAgICogdHJpZ2dlciBwYWNrZXQncyBmbG93IG1ldGFkYXRh LiAqLworICAgICBzdHJ1Y3QgaW42X2FkZHIgaXB2Nl9kc3QgPSBJTjZBRERSX0VYQUNUX0lOSVQ7 CisgICAgIGlmIChnZXRfZGxfdHlwZShpcF9mbG93KSA9PSBodG9ucyhFVEhfVFlQRV9JUFY2KSkg eworICAgICAgICAgaXB2Nl9kc3QgPSBpcF9mbG93LT5pcHY2X2RzdDsKKysgICAgfSBlbHNlIHsK KysgICAgICAgIG92c19iZTEyOCBuZXh0aG9wX2JlID0KKysgICAgICAgICAgICBodG9uMTI4KGZs b3dfZ2V0X3h4cmVnKCZwaW4tPmZsb3dfbWV0YWRhdGEuZmxvdywgMCkpOworKyAgICAgICAgbWVt Y3B5KCZpcHY2X2RzdCwgJm5leHRob3BfYmUsIHNpemVvZiBpcHY2X2RzdCk7CisgICAgIH0KKyAg ICAgY29tcG9zZV9uZF9ucygmcGFja2V0LCBpcF9mbG93LT5kbF9zcmMsICZpcHY2X3NyYywKKyAg ICAgICAgICAgICAgICAgICAmaXB2Nl9kc3QpOworZGlmZiAtLWdpdCBhL2xpYi9leHByLmMgYi9s aWIvZXhwci5jCitpbmRleCAyODhlMjQ1YzY1Li4zYzUwNmM0MmMwIDEwMDY0NAorLS0tIGEvbGli L2V4cHIuYworKysrIGIvbGliL2V4cHIuYworQEAgLTIzNjYsNyArMjM2Niw3IEBAIGNvbXBhcmVf ZXhwcl9zb3J0KGNvbnN0IHZvaWQgKmFfLCBjb25zdCB2b2lkICpiXykKKyAgICAgICAgIH0KKyAK KyAgICAgICAgIGVudW0gZXhwcl90eXBlIGFfdHlwZSA9IGEtPmV4cHItPnR5cGU7CistICAgICAg ICBlbnVtIGV4cHJfdHlwZSBiX3R5cGUgPSBhLT5leHByLT50eXBlOworKyAgICAgICAgZW51bSBl eHByX3R5cGUgYl90eXBlID0gYi0+ZXhwci0+dHlwZTsKKyAgICAgICAgIHJldHVybiBhX3R5cGUg PCBiX3R5cGUgPyAtMSA6IGFfdHlwZSA+IGJfdHlwZTsKKyAgICAgfSBlbHNlIGlmIChhLT50eXBl ID09IEVYUFJfVF9BTkQgfHwgYS0+dHlwZSA9PSBFWFBSX1RfT1IpIHsKKyAgICAgICAgIHNpemVf dCBhX2xlbiA9IG92c19saXN0X3NpemUoJmEtPmV4cHItPmFuZG9yKTsKIGRpZmYgLS1naXQgYS9s aWIvb3ZuLXV0aWwuaCBiL2xpYi9vdm4tdXRpbC5oCi1pbmRleCA0ZWE1ZGIxZTIyLi41ZmU5MDJk YTBhIDEwMDY0NAoraW5kZXggNGVhNWRiMWUyMi4uNGVmOTNjNDcwYiAxMDA2NDQKIC0tLSBhL2xp Yi9vdm4tdXRpbC5oCiArKysgYi9saWIvb3ZuLXV0aWwuaAotQEAgLTU0OCw4ICs1NDgsOCBAQCBk eW5hbWljX2JpdG1hcF9sYXN0X3NldChjb25zdCBzdHJ1Y3QgZHluYW1pY19iaXRtYXAgKmRiKQor QEAgLTE4NSw2ICsxODUsNyBAQCBzdHJ1Y3Qgb3ZzZGJfaWRsX3R4biAqcnVuX2lkbF9sb29wKHN0 cnVjdCBvdnNkYl9pZGxfbG9vcCAqaWRsX2xvb3AsCisgI2RlZmluZSBPVk5fRVZQTl9LRVlfRkxB RyAzMQorICNkZWZpbmUgT1ZOX01JTl9FVlBOX0tFWSAoMXUgPDwgT1ZOX0VWUE5fS0VZX0ZMQUcp CisgI2RlZmluZSBPVk5fTUFYX0VWUE5fS0VZIChPVk5fTUFYX0RQX0dMT0JBTF9OVU0gfCBPVk5f TUlOX0VWUE5fS0VZKQorKyNkZWZpbmUgT1ZOX0lTX0VWUE5fS0VZKGtleSkgKCgoa2V5KSAmIE9W Tl9NSU5fRVZQTl9LRVkpID09IE9WTl9NSU5fRVZQTl9LRVkpCisgCisgc3RydWN0IGhtYXA7Cisg dm9pZCBvdm5fZGVzdHJveV90bmxpZHMoc3RydWN0IGhtYXAgKnRubGlkcyk7CitAQCAtNTQ4LDgg KzU0OSw4IEBAIGR5bmFtaWNfYml0bWFwX2xhc3Rfc2V0KGNvbnN0IHN0cnVjdCBkeW5hbWljX2Jp dG1hcCAqZGIpCiAgICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgICB9CiAgCkBAIC0xMyw2 ICsxNTI1LDEzOTIgQEAgaW5kZXggNGVhNWRiMWUyMi4uNWZlOTAyZGEwYSAxMDA2NDQKICAgICAg fQogIAogICAgICByZXR1cm4gLTE7CitkaWZmIC0tZ2l0IGEvbm9ydGhkL2F1dG9tYWtlLm1rIGIv bm9ydGhkL2F1dG9tYWtlLm1rCitpbmRleCA4Y2Q0ZmIzYTEzLi40NWNhMDMzN2Y5IDEwMDY0NAor LS0tIGEvbm9ydGhkL2F1dG9tYWtlLm1rCisrKysgYi9ub3J0aGQvYXV0b21ha2UubWsKK0BAIC00 NCw4ICs0NCw2IEBAIG5vcnRoZF9vdm5fbm9ydGhkX1NPVVJDRVMgPSBcCisgCW5vcnRoZC9lbi1s ci1zdGF0ZWZ1bC5oIFwKKyAJbm9ydGhkL2VuLWxzLXN0YXRlZnVsLmMgXAorIAlub3J0aGQvZW4t bHMtc3RhdGVmdWwuaCBcCistCW5vcnRoZC9lbi1scy1hcnAuYyBcCistCW5vcnRoZC9lbi1scy1h cnAuaCBcCisgCW5vcnRoZC9lbi1zYW1wbGluZy1hcHAuYyBcCisgCW5vcnRoZC9lbi1zYW1wbGlu Zy1hcHAuaCBcCisgCW5vcnRoZC9lbi1hY2wtaWRzLmMgXAorZGlmZiAtLWdpdCBhL25vcnRoZC9l bi1sZmxvdy5jIGIvbm9ydGhkL2VuLWxmbG93LmMKK2luZGV4IDcwNGZhZTcwOTUuLjc1MjAwN2Uw M2EgMTAwNjQ0CistLS0gYS9ub3J0aGQvZW4tbGZsb3cuYworKysrIGIvbm9ydGhkL2VuLWxmbG93 LmMKK0BAIC0yMyw3ICsyMyw2IEBACisgI2luY2x1ZGUgImVuLWxyLW5hdC5oIgorICNpbmNsdWRl ICJlbi1sci1zdGF0ZWZ1bC5oIgorICNpbmNsdWRlICJlbi1scy1zdGF0ZWZ1bC5oIgorLSNpbmNs dWRlICJlbi1scy1hcnAuaCIKKyAjaW5jbHVkZSAiZW4tbXVsdGljYXN0LmgiCisgI2luY2x1ZGUg ImVuLW5vcnRoZC5oIgorICNpbmNsdWRlICJlbi1tZXRlcnMuaCIKK0BAIC02Miw4ICs2MSw2IEBA IGxmbG93X2dldF9pbnB1dF9kYXRhKHN0cnVjdCBlbmdpbmVfbm9kZSAqbm9kZSwKKyAgICAgICAg IGVuZ2luZV9nZXRfaW5wdXRfZGF0YSgibHJfc3RhdGVmdWwiLCBub2RlKTsKKyAgICAgc3RydWN0 IGVkX3R5cGVfbHNfc3RhdGVmdWwgKmxzX3N0YXRlZnVsX2RhdGEgPQorICAgICAgICAgZW5naW5l X2dldF9pbnB1dF9kYXRhKCJsc19zdGF0ZWZ1bCIsIG5vZGUpOworLSAgICBzdHJ1Y3QgZWRfdHlw ZV9sc19hcnAgKmxzX2FycF9kYXRhID0KKy0gICAgICAgIGVuZ2luZV9nZXRfaW5wdXRfZGF0YSgi bHNfYXJwIiwgbm9kZSk7CisgICAgIHN0cnVjdCBtdWx0aWNhc3RfaWdtcF9kYXRhICptdWx0aWNh dF9pZ21wX2RhdGEgPQorICAgICAgICAgZW5naW5lX2dldF9pbnB1dF9kYXRhKCJtdWx0aWNhc3Rf aWdtcCIsIG5vZGUpOworICAgICBzdHJ1Y3QgaWNfbGVhcm5lZF9zdmNfbW9uaXRvcnNfZGF0YSAq aWNfbGVhcm5lZF9zdmNfbW9uaXRvcnNfZGF0YSA9CitAQCAtOTAsNyArODcsNiBAQCBsZmxvd19n ZXRfaW5wdXRfZGF0YShzdHJ1Y3QgZW5naW5lX25vZGUgKm5vZGUsCisgICAgIGxmbG93X2lucHV0 LT5sc19wb3J0X2dyb3VwcyA9ICZwZ19kYXRhLT5sc19wb3J0X2dyb3VwczsKKyAgICAgbGZsb3df aW5wdXQtPmxyX3N0YXRlZnVsX3RhYmxlID0gJmxyX3N0YXRlZnVsX2RhdGEtPnRhYmxlOworICAg ICBsZmxvd19pbnB1dC0+bHNfc3RhdGVmdWxfdGFibGUgPSAmbHNfc3RhdGVmdWxfZGF0YS0+dGFi bGU7CistICAgIGxmbG93X2lucHV0LT5sc19hcnBfdGFibGUgPSAmbHNfYXJwX2RhdGEtPnRhYmxl OworICAgICBsZmxvd19pbnB1dC0+bWV0ZXJfZ3JvdXBzID0gJnN5bmNfbWV0ZXJzX2RhdGEtPm1l dGVyX2dyb3VwczsKKyAgICAgbGZsb3dfaW5wdXQtPmxiX2RhdGFwYXRoc19tYXAgPSAmbm9ydGhk X2RhdGEtPmxiX2RhdGFwYXRoc19tYXA7CisgICAgIGxmbG93X2lucHV0LT5sb2NhbF9zdmNfbW9u aXRvcnNfbWFwID0KK0BAIC0yMzAsMzEgKzIyNiw2IEBAIGxmbG93X2xzX3N0YXRlZnVsX2hhbmRs ZXIoc3RydWN0IGVuZ2luZV9ub2RlICpub2RlLCB2b2lkICpkYXRhKQorICAgICByZXR1cm4gRU5f SEFORExFRF9VUERBVEVEOworIH0KKyAKKy1lbnVtIGVuZ2luZV9pbnB1dF9oYW5kbGVyX3Jlc3Vs dAorLWxmbG93X2xzX2FycF9oYW5kbGVyKHN0cnVjdCBlbmdpbmVfbm9kZSAqbm9kZSwgdm9pZCAq ZGF0YSkKKy17CistICAgIHN0cnVjdCBlZF90eXBlX2xzX2FycCAqbHNfYXJwX2RhdGEgPQorLSAg ICAgICAgZW5naW5lX2dldF9pbnB1dF9kYXRhKCJsc19hcnAiLCBub2RlKTsKKy0KKy0gICAgaWYg KCFsc19hcnBfaGFzX3RyYWNrZWRfZGF0YSgmbHNfYXJwX2RhdGEtPnRya19kYXRhKSkgeworLSAg ICAgICAgcmV0dXJuIEVOX1VOSEFORExFRDsKKy0gICAgfQorLQorLSAgICBjb25zdCBzdHJ1Y3Qg ZW5naW5lX2NvbnRleHQgKmVuZ19jdHggPSBlbmdpbmVfZ2V0X2NvbnRleHQoKTsKKy0gICAgc3Ry dWN0IGxmbG93X2RhdGEgKmxmbG93X2RhdGEgPSBkYXRhOworLSAgICBzdHJ1Y3QgbGZsb3dfaW5w dXQgbGZsb3dfaW5wdXQ7CistCistICAgIGxmbG93X2dldF9pbnB1dF9kYXRhKG5vZGUsICZsZmxv d19pbnB1dCk7CistICAgIGlmICghbGZsb3dfaGFuZGxlX2xzX2FycF9jaGFuZ2VzKGVuZ19jdHgt Pm92bnNiX2lkbF90eG4sCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZs c19hcnBfZGF0YS0+dHJrX2RhdGEsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICZsZmxvd19pbnB1dCwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg bGZsb3dfZGF0YS0+bGZsb3dfdGFibGUpKSB7CistICAgICAgICByZXR1cm4gRU5fVU5IQU5ETEVE OworLSAgICB9CistCistICAgIHJldHVybiBFTl9IQU5ETEVEX1VQREFURUQ7CistfQorLQorIGVu dW0gZW5naW5lX2lucHV0X2hhbmRsZXJfcmVzdWx0CisgbGZsb3dfbXVsdGljYXN0X2lnbXBfaGFu ZGxlcihzdHJ1Y3QgZW5naW5lX25vZGUgKm5vZGUsIHZvaWQgKmRhdGEpCisgeworZGlmZiAtLWdp dCBhL25vcnRoZC9lbi1sZmxvdy5oIGIvbm9ydGhkL2VuLWxmbG93LmgKK2luZGV4IGQyYTkyZTQ5 ZjcuLjk5YmNmZGExNTEgMTAwNjQ0CistLS0gYS9ub3J0aGQvZW4tbGZsb3cuaAorKysrIGIvbm9y dGhkL2VuLWxmbG93LmgKK0BAIC0yNSw4ICsyNSw2IEBAIGxmbG93X2xyX3N0YXRlZnVsX2hhbmRs ZXIoc3RydWN0IGVuZ2luZV9ub2RlICosIHZvaWQgKmRhdGEpOworIGVudW0gZW5naW5lX2lucHV0 X2hhbmRsZXJfcmVzdWx0CisgbGZsb3dfbHNfc3RhdGVmdWxfaGFuZGxlcihzdHJ1Y3QgZW5naW5l X25vZGUgKm5vZGUsIHZvaWQgKmRhdGEpOworIGVudW0gZW5naW5lX2lucHV0X2hhbmRsZXJfcmVz dWx0CistbGZsb3dfbHNfYXJwX2hhbmRsZXIoc3RydWN0IGVuZ2luZV9ub2RlICosIHZvaWQgKik7 CistZW51bSBlbmdpbmVfaW5wdXRfaGFuZGxlcl9yZXN1bHQKKyBsZmxvd19tdWx0aWNhc3RfaWdt cF9oYW5kbGVyKHN0cnVjdCBlbmdpbmVfbm9kZSAqbm9kZSwgdm9pZCAqZGF0YSk7CisgZW51bSBl bmdpbmVfaW5wdXRfaGFuZGxlcl9yZXN1bHQKKyBsZmxvd19ncm91cF9lY21wX3JvdXRlX2NoYW5n ZV9oYW5kbGVyKHN0cnVjdCBlbmdpbmVfbm9kZSAqbm9kZSwgdm9pZCAqZGF0YSk7CitkaWZmIC0t Z2l0IGEvbm9ydGhkL2VuLWxzLWFycC5jIGIvbm9ydGhkL2VuLWxzLWFycC5jCitkZWxldGVkIGZp bGUgbW9kZSAxMDA2NDQKK2luZGV4IDAyMWY1MDU0ZmUuLjAwMDAwMDAwMDAKKy0tLSBhL25vcnRo ZC9lbi1scy1hcnAuYworKysrIC9kZXYvbnVsbAorQEAgLTEsMzU0ICswLDAgQEAKKy0vKgorLSAq IExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGlj ZW5zZSIpOworLSAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFu Y2Ugd2l0aCB0aGUgTGljZW5zZS4KKy0gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExp Y2Vuc2UgYXQ6CistICoKKy0gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJ Q0VOU0UtMi4wCistICoKKy0gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3Ig YWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlCistICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhl IExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gIkFTIElTIiBCQVNJUywKKy0gKiBXSVRIT1VU IFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3Ig aW1wbGllZC4KKy0gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBn b3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kCistICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vu c2UuCistICovCistCistI2luY2x1ZGUgPGNvbmZpZy5oPgorLQorLS8qIE9WUyBpbmNsdWRlcyAq LworLSNpbmNsdWRlICJpbmNsdWRlL29wZW52c3dpdGNoL2htYXAuaCIKKy0jaW5jbHVkZSAib3Bl bnZzd2l0Y2gvdXRpbC5oIgorLSNpbmNsdWRlICJvcGVudnN3aXRjaC92bG9nLmgiCistCistLyog T1ZOIGluY2x1ZGVzICovCistI2luY2x1ZGUgImVuLWxyLW5hdC5oIgorLSNpbmNsdWRlICJlbi1s cy1hcnAuaCIKKy0jaW5jbHVkZSAibGliL2luYy1wcm9jLWVuZy5oIgorLSNpbmNsdWRlICJsaWIv b3ZuLW5iLWlkbC5oIgorLSNpbmNsdWRlICJsaWIvb3ZuLXNiLWlkbC5oIgorLSNpbmNsdWRlICJs aWIvb3ZuLXV0aWwuaCIKKy0jaW5jbHVkZSAibGZsb3ctbWdyLmgiCistI2luY2x1ZGUgIm5vcnRo ZC5oIgorLQorLVZMT0dfREVGSU5FX1RISVNfTU9EVUxFKGVuX2xzX2FycCk7CistCistLyogU3Rh dGljIGZ1bmN0aW9ucy4gKi8KKy1zdHJ1Y3QgbHNfYXJwX2lucHV0IHsKKy0gICAgY29uc3Qgc3Ry dWN0IG92bl9kYXRhcGF0aHMgKmxzX2RhdGFwYXRoczsKKy0gICAgY29uc3Qgc3RydWN0IGxyX25h dF90YWJsZSAqbHJfbmF0czsKKy19OworLQorLXN0YXRpYyBzdHJ1Y3QgbHNfYXJwX2lucHV0Cist bHNfYXJwX2dldF9pbnB1dF9kYXRhKHN0cnVjdCBlbmdpbmVfbm9kZSAqbm9kZSkKKy17CistICAg IGNvbnN0IHN0cnVjdCBub3J0aGRfZGF0YSAqbm9ydGhkX2RhdGEgPQorLSAgICAgICAgZW5naW5l X2dldF9pbnB1dF9kYXRhKCJub3J0aGQiLCBub2RlKTsKKy0gICAgc3RydWN0IGVkX3R5cGVfbHJf bmF0X2RhdGEgKmxyX25hdF9kYXRhID0KKy0gICAgICAgIGVuZ2luZV9nZXRfaW5wdXRfZGF0YSgi bHJfbmF0Iiwgbm9kZSk7CistCistICAgIHJldHVybiAoc3RydWN0IGxzX2FycF9pbnB1dCkgewor LSAgICAgICAgLmxzX2RhdGFwYXRocyA9ICZub3J0aGRfZGF0YS0+bHNfZGF0YXBhdGhzLAorLSAg ICAgICAgLmxyX25hdHMgPSAmbHJfbmF0X2RhdGEtPmxyX25hdHMsCistICAgIH07CistfQorLQor LXN0YXRpYyB2b2lkCistbHNfYXJwX3JlY29yZF9jbGVhcihzdHJ1Y3QgbHNfYXJwX3JlY29yZCAq bHNfYXJwX3JlY29yZCkKKy17CistICAgIGxmbG93X3JlZl9kZXN0cm95KGxzX2FycF9yZWNvcmQt PmxmbG93X3JlZik7CistICAgIGhtYXB4X2Rlc3Ryb3koJmxzX2FycF9yZWNvcmQtPm5hdF9yZWNv cmRzKTsKKy0gICAgZnJlZShsc19hcnBfcmVjb3JkKTsKKy19CistCistc3RhdGljIHZvaWQKKy1s c19hcnBfdGFibGVfY2xlYXIoc3RydWN0IGxzX2FycF90YWJsZSAqdGFibGUpCisteworLSAgICBz dHJ1Y3QgbHNfYXJwX3JlY29yZCAqbHNfYXJwX3JlY29yZDsKKy0gICAgSE1BUF9GT1JfRUFDSF9Q T1AgKGxzX2FycF9yZWNvcmQsIGtleV9ub2RlLCAmdGFibGUtPmVudHJpZXMpIHsKKy0gICAgICAg IGxzX2FycF9yZWNvcmRfY2xlYXIobHNfYXJwX3JlY29yZCk7CistICAgIH0KKy19CistCistc3Rh dGljIGlubGluZSBib29sCistaXNfbmF0X2RncF9jb25uZWN0ZWQoY29uc3Qgc3RydWN0IG92bl9u YXQgKm5hdF9lbnRyeSkKKy17CistICAgIHJldHVybiBuYXRfZW50cnktPmlzX3ZhbGlkCistICAg ICAgICAgICAmJiBuYXRfZW50cnktPmwzZGd3X3BvcnQKKy0gICAgICAgICAgICYmIG5hdF9lbnRy eS0+bDNkZ3dfcG9ydC0+cGVlcgorLSAgICAgICAgICAgJiYgbmF0X2VudHJ5LT5sM2Rnd19wb3J0 LT5wZWVyLT5vZDsKKy19CistCistc3RhdGljIHZvaWQKKy1uYXRfcmVjb3JkX2RhdGFfY3JlYXRl KHN0cnVjdCBsc19hcnBfcmVjb3JkICpsc19hcnBfcmVjb3JkLAorLSAgICAgICAgICAgICAgICAg ICAgICAgY29uc3Qgc3RydWN0IG92bl9kYXRhcGF0aCAqb2QsCistICAgICAgICAgICAgICAgICAg ICAgICBjb25zdCBzdHJ1Y3QgbHJfbmF0X3RhYmxlICpscl9uYXRzKQorLXsKKy0gICAgc3RydWN0 IG92bl9wb3J0ICpvcDsKKy0gICAgVkVDVE9SX0ZPUl9FQUNIICgmb2QtPnJvdXRlcl9wb3J0cywg b3ApIHsKKy0gICAgICAgIGNvbnN0IHN0cnVjdCBvdm5fZGF0YXBhdGggKmxyX29kID0gb3AtPnBl ZXItPm9kOworLSAgICAgICAgY29uc3Qgc3RydWN0IGxyX25hdF9yZWNvcmQgKmxybmF0X3JlYyA9 CistICAgICAgICAgICAgbHJfbmF0X3RhYmxlX2ZpbmRfYnlfdXVpZChscl9uYXRzLCBscl9vZC0+ a2V5KTsKKy0KKy0gICAgICAgIGlmICghbHJuYXRfcmVjKSB7CistICAgICAgICAgICAgY29udGlu dWU7CistICAgICAgICB9CistCistICAgICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IGxybmF0 X3JlYy0+bl9uYXRfZW50cmllczsgaSsrKSB7CistICAgICAgICAgICAgY29uc3Qgc3RydWN0IG92 bl9uYXQgKm5hdF9lbnRyeSA9ICZscm5hdF9yZWMtPm5hdF9lbnRyaWVzW2ldOworLQorLSAgICAg ICAgICAgIGlmIChpc19uYXRfZGdwX2Nvbm5lY3RlZChuYXRfZW50cnkpKSB7CistICAgICAgICAg ICAgICAgIGhtYXB4X2FkZCgmbHNfYXJwX3JlY29yZC0+bmF0X3JlY29yZHMsCistICAgICAgICAg ICAgICAgICAgICAgICAgICAoc3RydWN0IGxybmF0X3JlYyAqKSBscm5hdF9yZWMpOworLSAgICAg ICAgICAgICAgICBjb250aW51ZTsKKy0gICAgICAgICAgICB9CistICAgICAgICB9CistICAgIH0K Ky19CistCistc3RhdGljIHN0cnVjdCBsc19hcnBfcmVjb3JkICoKKy1sc19hcnBfcmVjb3JkX2xv b2t1cF9ieV9vZF8oY29uc3Qgc3RydWN0IGxzX2FycF90YWJsZSAqdGFibGUsCistICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBvdm5fZGF0YXBhdGggKm9kKQorLXsKKy0g ICAgc3RydWN0IGxzX2FycF9yZWNvcmQgKmxzX2FycF9yZWNvcmQ7CistICAgIEhNQVBfRk9SX0VB Q0hfV0lUSF9IQVNIIChsc19hcnBfcmVjb3JkLCBrZXlfbm9kZSwKKy0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHV1aWRfaGFzaCgmb2QtPm5icy0+aGVhZGVyXy51dWlkKSwKKy0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICZ0YWJsZS0+ZW50cmllcykgeworLSAgICAgICAgaWYgKHV1 aWRfZXF1YWxzKCZsc19hcnBfcmVjb3JkLT5uYnNfdXVpZCwKKy0gICAgICAgICAgICAgICAgICAg ICAgICAmb2QtPm5icy0+aGVhZGVyXy51dWlkKSkgeworLSAgICAgICAgICAgIHJldHVybiBsc19h cnBfcmVjb3JkOworLSAgICAgICAgfQorLSAgICB9CistCistICAgIHJldHVybiBOVUxMOworLX0K Ky0KKy1zdGF0aWMgc3RydWN0IGxzX2FycF9yZWNvcmQgKgorLWxzX2FycF9yZWNvcmRfY3JlYXRl KHN0cnVjdCBsc19hcnBfdGFibGUgKnRhYmxlLAorLSAgICAgICAgICAgICAgICAgICAgIGNvbnN0 IHN0cnVjdCBvdm5fZGF0YXBhdGggKm9kLAorLSAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0 cnVjdCBscl9uYXRfdGFibGUgKmxyX25hdHMpCisteworLSAgICBzdHJ1Y3QgbHNfYXJwX3JlY29y ZCAqbHNfYXJwX3JlY29yZCA9IHh6YWxsb2Moc2l6ZW9mICpsc19hcnBfcmVjb3JkKTsKKy0KKy0g ICAgbHNfYXJwX3JlY29yZC0+bHNfaW5kZXggPSBvZC0+c2RwLT5pbmRleDsKKy0gICAgbHNfYXJw X3JlY29yZC0+bmJzX3V1aWQgPSBvZC0+bmJzLT5oZWFkZXJfLnV1aWQ7CistCistICAgIGhtYXB4 X2luaXQoJmxzX2FycF9yZWNvcmQtPm5hdF9yZWNvcmRzKTsKKy0gICAgbmF0X3JlY29yZF9kYXRh X2NyZWF0ZShsc19hcnBfcmVjb3JkLCBvZCwgbHJfbmF0cyk7CistCistICAgIGxzX2FycF9yZWNv cmQtPmxmbG93X3JlZiA9IGxmbG93X3JlZl9jcmVhdGUoKTsKKy0KKy0gICAgaG1hcF9pbnNlcnQo JnRhYmxlLT5lbnRyaWVzLCAmbHNfYXJwX3JlY29yZC0+a2V5X25vZGUsCistICAgICAgICAgICAg ICAgIHV1aWRfaGFzaCgmb2QtPm5icy0+aGVhZGVyXy51dWlkKSk7CistCistICAgIHJldHVybiBs c19hcnBfcmVjb3JkOworLX0KKy0KKy0vKiBQdWJsaWMgZnVuY3Rpb25zLiAqLworLXZvaWQqCist ZW5fbHNfYXJwX2luaXQoc3RydWN0IGVuZ2luZV9ub2RlICpub2RlIE9WU19VTlVTRUQsCistICAg ICAgICAgICAgICAgc3RydWN0IGVuZ2luZV9hcmcgKmFyZyBPVlNfVU5VU0VEKQorLXsKKy0gICAg c3RydWN0IGVkX3R5cGVfbHNfYXJwICpkYXRhID0geHphbGxvYyhzaXplb2YgKmRhdGEpOworLQor LSAgICBobWFwX2luaXQoJmRhdGEtPnRhYmxlLmVudHJpZXMpOworLSAgICBobWFweF9pbml0KCZk YXRhLT50cmtfZGF0YS5jcnVwZGF0ZWQpOworLSAgICBobWFweF9pbml0KCZkYXRhLT50cmtfZGF0 YS5kZWxldGVkKTsKKy0KKy0gICAgcmV0dXJuIGRhdGE7CistfQorLQorLXZvaWQKKy1lbl9sc19h cnBfY2xlYXJfdHJhY2tlZF9kYXRhKHZvaWQgKmRhdGFfKQorLXsKKy0gICAgc3RydWN0IGVkX3R5 cGVfbHNfYXJwICpkYXRhID0gZGF0YV87CistICAgIGhtYXB4X2NsZWFyKCZkYXRhLT50cmtfZGF0 YS5jcnVwZGF0ZWQpOworLQorLSAgICBzdHJ1Y3QgaG1hcHhfbm9kZSAqbjsKKy0gICAgSE1BUFhf Rk9SX0VBQ0hfU0FGRSAobiwgJmRhdGEtPnRya19kYXRhLmRlbGV0ZWQpIHsKKy0gICAgICAgIGxz X2FycF9yZWNvcmRfY2xlYXIobi0+ZGF0YSk7CistICAgICAgICBobWFweF9kZWxldGUoJmRhdGEt PnRya19kYXRhLmRlbGV0ZWQsIG4pOworLSAgICB9CistICAgIGhtYXB4X2NsZWFyKCZkYXRhLT50 cmtfZGF0YS5kZWxldGVkKTsKKy19CistCistdm9pZAorLWVuX2xzX2FycF9jbGVhbnVwKHZvaWQg KmRhdGFfKQorLXsKKy0gICAgc3RydWN0IGVkX3R5cGVfbHNfYXJwICpkYXRhID0gZGF0YV87Cist CistICAgIGxzX2FycF90YWJsZV9jbGVhcigmZGF0YS0+dGFibGUpOworLSAgICBobWFwX2Rlc3Ry b3koJmRhdGEtPnRhYmxlLmVudHJpZXMpOworLSAgICBobWFweF9kZXN0cm95KCZkYXRhLT50cmtf ZGF0YS5jcnVwZGF0ZWQpOworLQorLSAgICBzdHJ1Y3QgaG1hcHhfbm9kZSAqbjsKKy0gICAgSE1B UFhfRk9SX0VBQ0hfU0FGRSAobiwgJmRhdGEtPnRya19kYXRhLmRlbGV0ZWQpIHsKKy0gICAgICAg IGxzX2FycF9yZWNvcmRfY2xlYXIobi0+ZGF0YSk7CistICAgICAgICBobWFweF9kZWxldGUoJmRh dGEtPnRya19kYXRhLmRlbGV0ZWQsIG4pOworLSAgICB9CistICAgIGhtYXB4X2Rlc3Ryb3koJmRh dGEtPnRya19kYXRhLmRlbGV0ZWQpOworLX0KKy0KKy1lbnVtIGVuZ2luZV9ub2RlX3N0YXRlCist ZW5fbHNfYXJwX3J1bihzdHJ1Y3QgZW5naW5lX25vZGUgKm5vZGUsIHZvaWQgKmRhdGFfKQorLXsK Ky0gICAgc3RydWN0IGxzX2FycF9pbnB1dCBpbnB1dF9kYXRhID0gbHNfYXJwX2dldF9pbnB1dF9k YXRhKG5vZGUpOworLSAgICBzdHJ1Y3QgZWRfdHlwZV9sc19hcnAgKmRhdGEgPSBkYXRhXzsKKy0K Ky0gICAgbHNfYXJwX3RhYmxlX2NsZWFyKCZkYXRhLT50YWJsZSk7CistCistICAgIGNvbnN0IHN0 cnVjdCBvdm5fZGF0YXBhdGggKm9kOworLSAgICBITUFQX0ZPUl9FQUNIIChvZCwga2V5X25vZGUs ICZpbnB1dF9kYXRhLmxzX2RhdGFwYXRocy0+ZGF0YXBhdGhzKSB7CistICAgICAgICAvKiBGaWx0 ZXJpbmcgQVJQIGVudHJpZXMgYXQgbG9naWNhbCBzd2l0Y2ggd29ya3MKKy0gICAgICAgICAqIHdo ZW4gdGhlcmUgYXJlIHBoeXNpY2FsIHBvcnRzIG9uIHRoZSBzd2l0Y2guICovCistICAgICAgICBp ZiAoaG1hcHhfaXNfZW1wdHkoJm9kLT5waHlzX3BvcnRzKSkgeworLSAgICAgICAgICAgIGNvbnRp bnVlOworLSAgICAgICAgfQorLQorLSAgICAgICAgbHNfYXJwX3JlY29yZF9jcmVhdGUoJmRhdGEt PnRhYmxlLCBvZCwgaW5wdXRfZGF0YS5scl9uYXRzKTsKKy0gICAgfQorLQorLSAgICByZXR1cm4g RU5fVVBEQVRFRDsKKy19CistCistLyogSGFuZGxlciBmdW5jdGlvbnMuICovCistZW51bSBlbmdp bmVfaW5wdXRfaGFuZGxlcl9yZXN1bHQKKy1sc19hcnBfbm9ydGhkX2hhbmRsZXIoc3RydWN0IGVu Z2luZV9ub2RlICpub2RlLCB2b2lkICpkYXRhXykKKy17CistICAgIHN0cnVjdCBub3J0aGRfZGF0 YSAqbm9ydGhkX2RhdGEgPSBlbmdpbmVfZ2V0X2lucHV0X2RhdGEoIm5vcnRoZCIsIG5vZGUpOwor LSAgICBpZiAoIW5vcnRoZF9oYXNfdHJhY2tlZF9kYXRhKCZub3J0aGRfZGF0YS0+dHJrX2RhdGEp KSB7CistICAgICAgICByZXR1cm4gRU5fVU5IQU5ETEVEOworLSAgICB9CistCistICAgIGlmICgh bm9ydGhkX2hhc19sc3dpdGNoZXNfaW5fdHJhY2tlZF9kYXRhKCZub3J0aGRfZGF0YS0+dHJrX2Rh dGEpKSB7CistICAgICAgICByZXR1cm4gRU5fSEFORExFRF9VTkNIQU5HRUQ7CistICAgIH0KKy0K Ky0gICAgc3RydWN0IG5vcnRoZF90cmFja2VkX2RhdGEgKm5kX2NoYW5nZXMgPSAmbm9ydGhkX2Rh dGEtPnRya19kYXRhOworLSAgICBzdHJ1Y3QgbHNfYXJwX2lucHV0IGlucHV0X2RhdGEgPSBsc19h cnBfZ2V0X2lucHV0X2RhdGEobm9kZSk7CistICAgIHN0cnVjdCBlZF90eXBlX2xzX2FycCAqZGF0 YSA9IGRhdGFfOworLSAgICBzdHJ1Y3QgaG1hcHhfbm9kZSAqaG1hcHhfbm9kZTsKKy0gICAgc3Ry dWN0IGxzX2FycF9yZWNvcmQgKmxzX2FycF9yZWNvcmQ7CistCistICAgIEhNQVBYX0ZPUl9FQUNI IChobWFweF9ub2RlLCAmbmRfY2hhbmdlcy0+dHJrX3N3aXRjaGVzLmNydXBkYXRlZCkgeworLSAg ICAgICAgY29uc3Qgc3RydWN0IG92bl9kYXRhcGF0aCAqb2QgPSBobWFweF9ub2RlLT5kYXRhOwor LQorLSAgICAgICAgbHNfYXJwX3JlY29yZCA9IGxzX2FycF9yZWNvcmRfbG9va3VwX2J5X29kXygm ZGF0YS0+dGFibGUsIG9kKTsKKy0KKy0gICAgICAgIGlmICghbHNfYXJwX3JlY29yZCkgeworLSAg ICAgICAgICAgIC8qIEZpbHRlcmluZyBBUlAgZW50cmllcyBhdCBsb2dpY2FsIHN3aXRjaCB3b3Jr cworLSAgICAgICAgICAgICAqIHdoZW4gdGhlcmUgYXJlIHBoeXNpY2FsIHBvcnRzIG9uIHRoZSBz d2l0Y2guICovCistICAgICAgICAgICAgaWYgKGhtYXB4X2lzX2VtcHR5KCZvZC0+cGh5c19wb3J0 cykpIHsKKy0gICAgICAgICAgICAgICAgLyogTk9URTogSWYgdGhlIHN3aXRjaCB1c2VkIHRvIGhh dmUgcGh5c2ljYWwgcG9ydHMgYnV0IHRob3NlCistICAgICAgICAgICAgICAgICAqIHdlcmUgcmVt b3ZlZCB0aGUgbHJfbmF0IG5vZGUgaGFzIHJlY29tcHV0ZWQgYW5kIHRyaWdnZXJzCistICAgICAg ICAgICAgICAgICAqIHRoZSBsc19hcnBfbHJfbmF0X2hhbmRsZXIoKSB3aGljaCBjYW5ub3QgaW5j cmVtZW50YWxseQorLSAgICAgICAgICAgICAgICAgKiBwcm9jZXNzIGNoYW5nZXMuICBUaGlzIGlt cGxpY2l0bHkgdHJpZ2dlcnMgY29ycmVjdAorLSAgICAgICAgICAgICAgICAgKiBoYW5kbGluZyBv ZiB0aGUgcmVtb3ZhbC4qLworLSAgICAgICAgICAgICAgICBjb250aW51ZTsKKy0gICAgICAgICAg ICB9CistICAgICAgICAgICAgbHNfYXJwX3JlY29yZCA9IGxzX2FycF9yZWNvcmRfY3JlYXRlKCZk YXRhLT50YWJsZSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgb2QsIGlucHV0X2RhdGEubHJfbmF0cyk7CistICAgICAgICB9IGVsc2UgeworLSAgICAg ICAgICAgIG5hdF9yZWNvcmRfZGF0YV9jcmVhdGUobHNfYXJwX3JlY29yZCwgb2QsIGlucHV0X2Rh dGEubHJfbmF0cyk7CistICAgICAgICB9CistCistICAgICAgICBobWFweF9hZGQoJmRhdGEtPnRy a19kYXRhLmNydXBkYXRlZCwgbHNfYXJwX3JlY29yZCk7CistICAgIH0KKy0KKy0gICAgSE1BUFhf Rk9SX0VBQ0ggKGhtYXB4X25vZGUsICZuZF9jaGFuZ2VzLT50cmtfc3dpdGNoZXMuZGVsZXRlZCkg eworLSAgICAgICAgY29uc3Qgc3RydWN0IG92bl9kYXRhcGF0aCAqb2QgPSBobWFweF9ub2RlLT5k YXRhOworLQorLSAgICAgICAgbHNfYXJwX3JlY29yZCA9IGxzX2FycF9yZWNvcmRfbG9va3VwX2J5 X29kXygmZGF0YS0+dGFibGUsIG9kKTsKKy0gICAgICAgIGlmIChsc19hcnBfcmVjb3JkKSB7Cist ICAgICAgICAgICAgaG1hcF9yZW1vdmUoJmRhdGEtPnRhYmxlLmVudHJpZXMsICZsc19hcnBfcmVj b3JkLT5rZXlfbm9kZSk7CistICAgICAgICAgICAgaG1hcHhfYWRkKCZkYXRhLT50cmtfZGF0YS5k ZWxldGVkLCBsc19hcnBfcmVjb3JkKTsKKy0gICAgICAgIH0KKy0gICAgfQorLQorLSAgICBpZiAo bHNfYXJwX2hhc190cmFja2VkX2RhdGEoJmRhdGEtPnRya19kYXRhKSkgeworLSAgICAgICAgcmV0 dXJuIEVOX0hBTkRMRURfVVBEQVRFRDsKKy0gICAgfQorLQorLSAgICByZXR1cm4gRU5fSEFORExF RF9VTkNIQU5HRUQ7CistfQorLQorLXN0YXRpYyB2b2lkCistbmF0X29kbWFwX2NyZWF0ZShzdHJ1 Y3QgbHJfbmF0X3JlY29yZCAqbHJuYXRfcmVjLAorLSAgICAgICAgICAgICAgICAgc3RydWN0IGht YXB4ICpvZG1hcCkKKy17CistICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgbHJuYXRfcmVjLT5u X25hdF9lbnRyaWVzOyBpKyspIHsKKy0gICAgICAgIGNvbnN0IHN0cnVjdCBvdm5fbmF0ICpuYXRf ZW50cnkgPSAmbHJuYXRfcmVjLT5uYXRfZW50cmllc1tpXTsKKy0KKy0gICAgICAgIGlmIChpc19u YXRfZGdwX2Nvbm5lY3RlZChuYXRfZW50cnkpKSB7CistICAgICAgICAgICAgaG1hcHhfYWRkKG9k bWFwLCBuYXRfZW50cnktPmwzZGd3X3BvcnQtPnBlZXItPm9kKTsKKy0gICAgICAgIH0KKy0gICAg fQorLX0KKy0KKy1lbnVtIGVuZ2luZV9pbnB1dF9oYW5kbGVyX3Jlc3VsdAorLWxzX2FycF9scl9u YXRfaGFuZGxlcihzdHJ1Y3QgZW5naW5lX25vZGUgKm5vZGUsIHZvaWQgKmRhdGFfKQorLXsKKy0g ICAgc3RydWN0IGVkX3R5cGVfbHJfbmF0X2RhdGEgKmxyX25hdF9kYXRhID0KKy0gICAgICAgIGVu Z2luZV9nZXRfaW5wdXRfZGF0YSgibHJfbmF0Iiwgbm9kZSk7CistICAgIHN0cnVjdCBsc19hcnBf aW5wdXQgaW5wdXRfZGF0YSA9IGxzX2FycF9nZXRfaW5wdXRfZGF0YShub2RlKTsKKy0KKy0gICAg aWYgKCFscl9uYXRfaGFzX3RyYWNrZWRfZGF0YSgmbHJfbmF0X2RhdGEtPnRya19kYXRhKSkgewor LSAgICAgICAgcmV0dXJuIEVOX1VOSEFORExFRDsKKy0gICAgfQorLQorLSAgICBzdHJ1Y3QgZWRf dHlwZV9sc19hcnAgKmRhdGEgPSBkYXRhXzsKKy0KKy0gICAgc3RydWN0IGhtYXB4X25vZGUgKmht YXB4X25vZGU7CistICAgIHN0cnVjdCBsc19hcnBfcmVjb3JkICpsc19hcnBfcmVjb3JkOworLSAg ICBITUFQWF9GT1JfRUFDSCAoaG1hcHhfbm9kZSwgJmxyX25hdF9kYXRhLT50cmtfZGF0YS5jcnVw ZGF0ZWQpIHsKKy0gICAgICAgIHN0cnVjdCBscl9uYXRfcmVjb3JkICpuYXRfcmVjb3JkX3AgPSBo bWFweF9ub2RlLT5kYXRhOworLQorLSAgICAgICAgc3RydWN0IGhtYXB4IGxzX2xpbmtzX21hcCA9 IEhNQVBYX0lOSVRJQUxJWkVSKCZsc19saW5rc19tYXApOworLSAgICAgICAgbmF0X29kbWFwX2Ny ZWF0ZShuYXRfcmVjb3JkX3AsICZsc19saW5rc19tYXApOworLQorLSAgICAgICAgTFNfQVJQX1RB QkxFX0ZPUl9FQUNIIChsc19hcnBfcmVjb3JkLCAmZGF0YS0+dGFibGUpIHsKKy0gICAgICAgICAg ICBzdHJ1Y3QgaG1hcHhfbm9kZSAqbnJfbm9kZSA9CistICAgICAgICAgICAgICAgIGhtYXB4X2Zp bmQoJmxzX2FycF9yZWNvcmQtPm5hdF9yZWNvcmRzLCBuYXRfcmVjb3JkX3ApOworLQorLSAgICAg ICAgICAgIGlmIChucl9ub2RlKSB7CistICAgICAgICAgICAgICAgIGhtYXB4X2FkZCgmZGF0YS0+ dHJrX2RhdGEuY3J1cGRhdGVkLCBsc19hcnBfcmVjb3JkKTsKKy0gICAgICAgICAgICAgICAgaG1h cHhfZGVsZXRlKCZsc19hcnBfcmVjb3JkLT5uYXRfcmVjb3JkcywgbnJfbm9kZSk7CistICAgICAg ICAgICAgfQorLSAgICAgICAgfQorLQorLSAgICAgICAgc3RydWN0IGhtYXB4X25vZGUgKmNydXBk YXRlZF9sc19obWFweDsKKy0gICAgICAgIEhNQVBYX0ZPUl9FQUNIIChjcnVwZGF0ZWRfbHNfaG1h cHgsICZsc19saW5rc19tYXApIHsKKy0gICAgICAgICAgICBzdHJ1Y3Qgb3ZuX2RhdGFwYXRoICpj cnVwZGF0ZWRfbHMgPSBjcnVwZGF0ZWRfbHNfaG1hcHgtPmRhdGE7CistICAgICAgICAgICAgbHNf YXJwX3JlY29yZCA9CistICAgICAgICAgICAgICAgIGxzX2FycF9yZWNvcmRfbG9va3VwX2J5X29k XygmZGF0YS0+dGFibGUsIGNydXBkYXRlZF9scyk7CistCistICAgICAgICAgICAgaWYgKCFsc19h cnBfcmVjb3JkKSB7CistICAgICAgICAgICAgICAgIGxzX2FycF9yZWNvcmQgPSBsc19hcnBfcmVj b3JkX2NyZWF0ZSgmZGF0YS0+dGFibGUsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBjcnVwZGF0ZWRfbHMsCistICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnB1dF9kYXRhLmxyX25hdHMpOwor LSAgICAgICAgICAgIH0KKy0KKy0gICAgICAgICAgICBobWFweF9hZGQoJmRhdGEtPnRya19kYXRh LmNydXBkYXRlZCwgbHNfYXJwX3JlY29yZCk7CistICAgICAgICAgICAgaG1hcHhfYWRkKCZsc19h cnBfcmVjb3JkLT5uYXRfcmVjb3JkcywgbmF0X3JlY29yZF9wKTsKKy0gICAgICAgIH0KKy0gICAg ICAgIGhtYXB4X2Rlc3Ryb3koJmxzX2xpbmtzX21hcCk7CistICAgIH0KKy0KKy0gICAgSE1BUFhf Rk9SX0VBQ0ggKGhtYXB4X25vZGUsICZscl9uYXRfZGF0YS0+dHJrX2RhdGEuZGVsZXRlZCkgewor LSAgICAgICAgc3RydWN0IGxyX25hdF9yZWNvcmQgKm5yX2N1ciA9IGhtYXB4X25vZGUtPmRhdGE7 CistCistICAgICAgICBzdHJ1Y3QgbHNfYXJwX3JlY29yZCAqYXI7CistICAgICAgICBMU19BUlBf VEFCTEVfRk9SX0VBQ0ggKGFyLCAmZGF0YS0+dGFibGUpIHsKKy0gICAgICAgICAgICBzdHJ1Y3Qg aG1hcHhfbm9kZSAqbnJfbm9kZSA9IGhtYXB4X2ZpbmQoJmFyLT5uYXRfcmVjb3JkcywgbnJfY3Vy KTsKKy0KKy0gICAgICAgICAgICBpZiAobnJfbm9kZSkgeworLSAgICAgICAgICAgICAgICBobWFw eF9hZGQoJmRhdGEtPnRya19kYXRhLmNydXBkYXRlZCwgYXIpOworLSAgICAgICAgICAgICAgICBo bWFweF9kZWxldGUoJmFyLT5uYXRfcmVjb3JkcywgbnJfbm9kZSk7CistICAgICAgICAgICAgfQor LSAgICAgICAgfQorLSAgICB9CistCistICAgIGlmIChsc19hcnBfaGFzX3RyYWNrZWRfZGF0YSgm ZGF0YS0+dHJrX2RhdGEpKSB7CistICAgICAgICByZXR1cm4gRU5fSEFORExFRF9VUERBVEVEOwor LSAgICB9CistCistICAgIHJldHVybiBFTl9IQU5ETEVEX1VOQ0hBTkdFRDsKKy19CitkaWZmIC0t Z2l0IGEvbm9ydGhkL2VuLWxzLWFycC5oIGIvbm9ydGhkL2VuLWxzLWFycC5oCitkZWxldGVkIGZp bGUgbW9kZSAxMDA2NDQKK2luZGV4IDVlYWY5MTNiYjYuLjAwMDAwMDAwMDAKKy0tLSBhL25vcnRo ZC9lbi1scy1hcnAuaAorKysrIC9kZXYvbnVsbAorQEAgLTEsODYgKzAsMCBAQAorLS8qCistICog TGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNl bnNlIik7CistICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5j ZSB3aXRoIHRoZSBMaWNlbnNlLgorLSAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGlj ZW5zZSBhdDoKKy0gKgorLSAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElD RU5TRS0yLjAKKy0gKgorLSAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBh Z3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKKy0gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUg TGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAorLSAqIFdJVEhPVVQg V0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBp bXBsaWVkLgorLSAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdv dmVybmluZyBwZXJtaXNzaW9ucyBhbmQKKy0gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5z ZS4KKy0gKi8KKy0KKy0jaWZuZGVmIEVOX0xTX0FSUF9ICistI2RlZmluZSBFTl9MU19BUlBfSCAx CistCistLyogT1ZTIGluY2x1ZGVzLiAqLworLSNpbmNsdWRlICJsaWIvaG1hcHguaCIKKy0jaW5j bHVkZSAib3BlbnZzd2l0Y2gvaG1hcC5oIgorLQorLS8qIE9WTiBpbmNsdWRlcy4gKi8KKy0jaW5j bHVkZSAibGliL2luYy1wcm9jLWVuZy5oIgorLSNpbmNsdWRlICJsaWIvb3ZuLW5iLWlkbC5oIgor LSNpbmNsdWRlICJsaWIvb3ZuLXNiLWlkbC5oIgorLSNpbmNsdWRlICJsaWIvb3ZuLXV0aWwuaCIK Ky0jaW5jbHVkZSAibGliL3N0b3B3YXRjaC1uYW1lcy5oIgorLQorLXN0cnVjdCBsZmxvd19yZWY7 CistCistc3RydWN0IGxzX2FycF9yZWNvcmQgeworLSAgICBzdHJ1Y3QgaG1hcF9ub2RlIGtleV9u b2RlOworLQorLSAgICAvKiBVVUlEIG9mIHRoZSBOQiBMb2dpY2FsIHN3aXRjaC4gKi8KKy0gICAg c3RydWN0IHV1aWQgbmJzX3V1aWQ7CistCistICAgIC8qIEluZGV4IG9mIGxvZ2ljYWwgc3dpdGNo IGl0ZW0gaW4gbm9ydGhkLiAqLworLSAgICBzaXplX3QgbHNfaW5kZXg7CistCistICAgIC8qICds Zmxvd19yZWYnIGlzIHVzZWQgdG8gcmVmZXJlbmNlIGxvZ2ljYWwgZmxvd3MgZ2VuZXJhdGVkIGZv cgorLSAgICAgKiB0aGlzIGxzX2FycCByZWNvcmQuICovCistICAgIHN0cnVjdCBsZmxvd19yZWYg KmxmbG93X3JlZjsKKy0KKy0gICAgLyogbHJfbmF0X3JlY29yZCBwdHJzIHRoYXQgdHJpZ2dlciB0 aGlzIG9kIHRvIHJlYnVpbGQgbGZsb3cuICovCistICAgIHN0cnVjdCBobWFweCBuYXRfcmVjb3Jk czsKKy19OworLQorLXN0cnVjdCBsc19hcnBfdGFibGUgeworLSAgICBzdHJ1Y3QgaG1hcCBlbnRy aWVzOworLX07CistCistI2RlZmluZSBMU19BUlBfVEFCTEVfRk9SX0VBQ0goTFNfQVJQX1JFQywg VEFCTEUpIFwKKy0gICAgSE1BUF9GT1JfRUFDSCAoTFNfQVJQX1JFQywga2V5X25vZGUsIFwKKy0g ICAgICAgICAgICAgICAgICAgJihUQUJMRSktPmVudHJpZXMpCistCistI2RlZmluZSBMU19BUlBf VEFCTEVfRk9SX0VBQ0hfSU5fUChMU19BUlBfUkVDLCBKT0JJRCwgVEFCTEUpIFwKKy0gICAgSE1B UF9GT1JfRUFDSF9JTl9QQVJBTExFTCAoTFNfQVJQX1JFQywga2V5X25vZGUsIEpPQklELCBcCist ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICYoVEFCTEUpLT5lbnRyaWVzKQorLQorLXN0 cnVjdCBsc19hcnBfdHJhY2tlZF9kYXRhIHsKKy0gICAgc3RydWN0IGhtYXB4IGNydXBkYXRlZDsK Ky0gICAgc3RydWN0IGhtYXB4IGRlbGV0ZWQ7CistfTsKKy0KKy1zdHJ1Y3QgZWRfdHlwZV9sc19h cnAgeworLSAgICBzdHJ1Y3QgbHNfYXJwX3RhYmxlIHRhYmxlOworLSAgICBzdHJ1Y3QgbHNfYXJw X3RyYWNrZWRfZGF0YSB0cmtfZGF0YTsKKy19OworLQorLXZvaWQgKmVuX2xzX2FycF9pbml0KHN0 cnVjdCBlbmdpbmVfbm9kZSAqLCBzdHJ1Y3QgZW5naW5lX2FyZyAqKTsKKy12b2lkIGVuX2xzX2Fy cF9jbGVhbnVwKHZvaWQgKik7Cistdm9pZCBlbl9sc19hcnBfY2xlYXJfdHJhY2tlZF9kYXRhKHZv aWQgKik7CistZW51bSBlbmdpbmVfbm9kZV9zdGF0ZSBlbl9sc19hcnBfcnVuKHN0cnVjdCBlbmdp bmVfbm9kZSAqLCB2b2lkICopOworLQorLWVudW0gZW5naW5lX2lucHV0X2hhbmRsZXJfcmVzdWx0 CistbHNfYXJwX2xyX25hdF9oYW5kbGVyKHN0cnVjdCBlbmdpbmVfbm9kZSAqLCB2b2lkICopOwor LWVudW0gZW5naW5lX2lucHV0X2hhbmRsZXJfcmVzdWx0CistbHNfYXJwX25vcnRoZF9oYW5kbGVy KHN0cnVjdCBlbmdpbmVfbm9kZSAqLCB2b2lkICopOworLQorLXN0YXRpYyBpbmxpbmUgYm9vbAor LWxzX2FycF9oYXNfdHJhY2tlZF9kYXRhKHN0cnVjdCBsc19hcnBfdHJhY2tlZF9kYXRhICp0cmtf ZGF0YSkgeworLSAgICByZXR1cm4gIWhtYXB4X2lzX2VtcHR5KCZ0cmtfZGF0YS0+Y3J1cGRhdGVk KSB8fAorLSAgICAgICAgICAgIWhtYXB4X2lzX2VtcHR5KCZ0cmtfZGF0YS0+ZGVsZXRlZCk7Cist fQorLQorLSNlbmRpZiAvKiBFTl9MU19BUlBfSCAqLworZGlmZiAtLWdpdCBhL25vcnRoZC9lbi1t dWx0aWNhc3QuYyBiL25vcnRoZC9lbi1tdWx0aWNhc3QuYworaW5kZXggYTdkZmQ3MWM0Ny4uYjI3 NzU1MTZhOSAxMDA2NDQKKy0tLSBhL25vcnRoZC9lbi1tdWx0aWNhc3QuYworKysrIGIvbm9ydGhk L2VuLW11bHRpY2FzdC5jCitAQCAtNzEwLDcgKzcxMCw3IEBAIG92bl9pZ21wX2dyb3VwX2FnZ3Jl Z2F0ZV9wb3J0cyhzdHJ1Y3Qgb3ZuX2lnbXBfZ3JvdXAgKmlnbXBfZ3JvdXAsCisgICAgICAgICBm cmVlKGVudHJ5KTsKKyAgICAgfQorIAorLSAgICBpZiAoIXZlY3Rvcl9pc19lbXB0eSgmaWdtcF9n cm91cC0+ZGF0YXBhdGgtPmxvY2FsbmV0X3BvcnRzKSkgeworKyAgICBpZiAobHNfaGFzX2xvY2Fs bmV0X3BvcnQoaWdtcF9ncm91cC0+ZGF0YXBhdGgpKSB7CisgICAgICAgICBvdm5fbXVsdGljYXN0 X2FkZF9wb3J0cyhtY2FzdF9ncm91cHMsIGlnbXBfZ3JvdXAtPmRhdGFwYXRoLAorICAgICAgICAg ICAgICZpZ21wX2dyb3VwLT5tY2dyb3VwLAorICAgICAgICAgICAgIHZlY3Rvcl9nZXRfYXJyYXko JmlnbXBfZ3JvdXAtPmRhdGFwYXRoLT5sb2NhbG5ldF9wb3J0cyksCitkaWZmIC0tZ2l0IGEvbm9y dGhkL2luYy1wcm9jLW5vcnRoZC5jIGIvbm9ydGhkL2luYy1wcm9jLW5vcnRoZC5jCitpbmRleCAx ODg0Zjk4YTA3Li5kZmZhYzczMDkwIDEwMDY0NAorLS0tIGEvbm9ydGhkL2luYy1wcm9jLW5vcnRo ZC5jCisrKysgYi9ub3J0aGQvaW5jLXByb2Mtbm9ydGhkLmMKK0BAIC0zNCw3ICszNCw2IEBACisg I2luY2x1ZGUgImVuLWxyLXN0YXRlZnVsLmgiCisgI2luY2x1ZGUgImVuLWxyLW5hdC5oIgorICNp bmNsdWRlICJlbi1scy1zdGF0ZWZ1bC5oIgorLSNpbmNsdWRlICJlbi1scy1hcnAuaCIKKyAjaW5j bHVkZSAiZW4tbXVsdGljYXN0LmgiCisgI2luY2x1ZGUgImVuLW5vcnRoZC5oIgorICNpbmNsdWRl ICJlbi1sZmxvdy5oIgorQEAgLTE3Niw3ICsxNzUsNiBAQCBzdGF0aWMgRU5HSU5FX05PREUobGJf ZGF0YSwgQ0xFQVJfVFJBQ0tFRF9EQVRBKTsKKyBzdGF0aWMgRU5HSU5FX05PREUobHJfbmF0LCBD TEVBUl9UUkFDS0VEX0RBVEEpOworIHN0YXRpYyBFTkdJTkVfTk9ERShscl9zdGF0ZWZ1bCwgQ0xF QVJfVFJBQ0tFRF9EQVRBKTsKKyBzdGF0aWMgRU5HSU5FX05PREUobHNfc3RhdGVmdWwsIENMRUFS X1RSQUNLRURfREFUQSk7Cistc3RhdGljIEVOR0lORV9OT0RFKGxzX2FycCwgQ0xFQVJfVFJBQ0tF RF9EQVRBKTsKKyBzdGF0aWMgRU5HSU5FX05PREUocm91dGVfcG9saWNpZXMpOworIHN0YXRpYyBF TkdJTkVfTk9ERShyb3V0ZXMpOworIHN0YXRpYyBFTkdJTkVfTk9ERShiZmQpOworQEAgLTMxMCw5 ICszMDgsNiBAQCB2b2lkIGluY19wcm9jX25vcnRoZF9pbml0KHN0cnVjdCBvdnNkYl9pZGxfbG9v cCAqbmIsCisgICAgICAgICAgICAgICAgICAgICAgbHNfc3RhdGVmdWxfcG9ydF9ncm91cF9oYW5k bGVyKTsKKyAgICAgZW5naW5lX2FkZF9pbnB1dCgmZW5fbHNfc3RhdGVmdWwsICZlbl9uYl9hY2ws IGxzX3N0YXRlZnVsX2FjbF9oYW5kbGVyKTsKKyAKKy0gICAgZW5naW5lX2FkZF9pbnB1dCgmZW5f bHNfYXJwLCAmZW5fbHJfbmF0LCBsc19hcnBfbHJfbmF0X2hhbmRsZXIpOworLSAgICBlbmdpbmVf YWRkX2lucHV0KCZlbl9sc19hcnAsICZlbl9ub3J0aGQsIGxzX2FycF9ub3J0aGRfaGFuZGxlcik7 CistCisgICAgIGVuZ2luZV9hZGRfaW5wdXQoJmVuX21hY19iaW5kaW5nX2FnaW5nLCAmZW5fc2Jf bWFjX2JpbmRpbmcsIE5VTEwpOworICAgICBlbmdpbmVfYWRkX2lucHV0KCZlbl9tYWNfYmluZGlu Z19hZ2luZywgJmVuX25vcnRoZCwgTlVMTCk7CisgICAgIGVuZ2luZV9hZGRfaW5wdXQoJmVuX21h Y19iaW5kaW5nX2FnaW5nLCAmZW5fbWFjX2JpbmRpbmdfYWdpbmdfd2FrZXIsIE5VTEwpOworQEAg LTQyMiw3ICs0MTcsNiBAQCB2b2lkIGluY19wcm9jX25vcnRoZF9pbml0KHN0cnVjdCBvdnNkYl9p ZGxfbG9vcCAqbmIsCisgICAgIGVuZ2luZV9hZGRfaW5wdXQoJmVuX2xmbG93LCAmZW5fcG9ydF9n cm91cCwgZW5naW5lX25vb3BfaGFuZGxlcik7CisgICAgIGVuZ2luZV9hZGRfaW5wdXQoJmVuX2xm bG93LCAmZW5fbHJfc3RhdGVmdWwsIGxmbG93X2xyX3N0YXRlZnVsX2hhbmRsZXIpOworICAgICBl bmdpbmVfYWRkX2lucHV0KCZlbl9sZmxvdywgJmVuX2xzX3N0YXRlZnVsLCBsZmxvd19sc19zdGF0 ZWZ1bF9oYW5kbGVyKTsKKy0gICAgZW5naW5lX2FkZF9pbnB1dCgmZW5fbGZsb3csICZlbl9sc19h cnAsIGxmbG93X2xzX2FycF9oYW5kbGVyKTsKKyAgICAgZW5naW5lX2FkZF9pbnB1dCgmZW5fbGZs b3csICZlbl9tdWx0aWNhc3RfaWdtcCwKKyAgICAgICAgICAgICAgICAgICAgICBsZmxvd19tdWx0 aWNhc3RfaWdtcF9oYW5kbGVyKTsKKyAgICAgZW5naW5lX2FkZF9pbnB1dCgmZW5fbGZsb3csICZl bl9zYl9hY2xfaWQsIE5VTEwpOworZGlmZiAtLWdpdCBhL25vcnRoZC9ub3J0aGQuYyBiL25vcnRo ZC9ub3J0aGQuYworaW5kZXggYTRiMzJlZTUwNS4uYjk0OGRiNjg4NCAxMDA2NDQKKy0tLSBhL25v cnRoZC9ub3J0aGQuYworKysrIGIvbm9ydGhkL25vcnRoZC5jCitAQCAtNTAsNyArNTAsNiBAQAor ICNpbmNsdWRlICJlbi1sci1uYXQuaCIKKyAjaW5jbHVkZSAiZW4tbHItc3RhdGVmdWwuaCIKKyAj aW5jbHVkZSAiZW4tbHMtc3RhdGVmdWwuaCIKKy0jaW5jbHVkZSAiZW4tbHMtYXJwLmgiCisgI2lu Y2x1ZGUgImVuLW11bHRpY2FzdC5oIgorICNpbmNsdWRlICJlbi1zYW1wbGluZy1hcHAuaCIKKyAj aW5jbHVkZSAiZW4tZGF0YXBhdGgtbG9naWNhbC1zd2l0Y2guaCIKK0BAIC0xNDMsNyArMTQyLDYg QEAgc3RhdGljIGJvb2wgdnhsYW5fbW9kZTsKKyAjZGVmaW5lIFJFR0JJVF9JUF9GUkFHICAgICAg ICAgICAgInJlZzBbMTldIgorICNkZWZpbmUgUkVHQklUX0FDTF9QRVJTSVNUX0lEICAgICAicmVn MFsyMF0iCisgI2RlZmluZSBSRUdCSVRfQUNMX0hJTlRfQUxMT1dfUEVSU0lTVEVEICJyZWcwWzIx XSIKKy0jZGVmaW5lIFJFR0JJVF9FWFRfQVJQICAgICAgICAgICAgInJlZzBbMjJdIgorIAorIC8q IFJlZ2lzdGVyIGRlZmluaXRpb25zIGZvciBzd2l0Y2hlcyBhbmQgcm91dGVycy4gKi8KKyAKK0BA IC01NzEsNyArNTY5LDYgQEAgb3ZuX2RhdGFwYXRoX2NyZWF0ZShzdHJ1Y3QgaG1hcCAqZGF0YXBh dGhzLCBjb25zdCBzdHJ1Y3QgdXVpZCAqa2V5LAorICAgICBobWFwX2luc2VydChkYXRhcGF0aHMs ICZvZC0+a2V5X25vZGUsIHV1aWRfaGFzaCgmb2QtPmtleSkpOworICAgICBvZC0+bHJfZ3JvdXAg PSBOVUxMOworICAgICBobWFwX2luaXQoJm9kLT5wb3J0cyk7CistICAgIGhtYXB4X2luaXQoJm9k LT5waHlzX3BvcnRzKTsKKyAgICAgc3NldF9pbml0KCZvZC0+cm91dGVyX2lwcyk7CisgICAgIG9k LT5sc19wZWVycyA9IFZFQ1RPUl9FTVBUWV9JTklUSUFMSVpFUihzdHJ1Y3Qgb3ZuX2RhdGFwYXRo ICopOworICAgICBvZC0+cm91dGVyX3BvcnRzID0gVkVDVE9SX0VNUFRZX0lOSVRJQUxJWkVSKHN0 cnVjdCBvdm5fcG9ydCAqKTsKK0BAIC02MTEsNyArNjA4LDYgQEAgb3ZuX2RhdGFwYXRoX2Rlc3Ry b3koc3RydWN0IG92bl9kYXRhcGF0aCAqb2QpCisgICAgICAgICB2ZWN0b3JfZGVzdHJveSgmb2Qt PmwzZGd3X3BvcnRzKTsKKyAgICAgICAgIGRlc3Ryb3lfbWNhc3RfaW5mb19mb3JfZGF0YXBhdGgo b2QpOworICAgICAgICAgZGVzdHJveV9wb3J0c19mb3JfZGF0YXBhdGgob2QpOworLSAgICAgICAg aG1hcHhfZGVzdHJveSgmb2QtPnBoeXNfcG9ydHMpOworICAgICAgICAgc3NldF9kZXN0cm95KCZv ZC0+cm91dGVyX2lwcyk7CisgICAgICAgICBmcmVlKG9kKTsKKyAgICAgfQorQEAgLTEyNDQsMTIg KzEyNDAsNiBAQCBsc3BfaXNfdnRlcChjb25zdCBzdHJ1Y3QgbmJyZWNfbG9naWNhbF9zd2l0Y2hf cG9ydCAqbmJzcCkKKyAgICAgcmV0dXJuICFzdHJjbXAobmJzcC0+dHlwZSwgInZ0ZXAiKTsKKyB9 CisgCistc3RhdGljIGJvb2wKKy1sc3BfaXNfbDJndyhjb25zdCBzdHJ1Y3QgbmJyZWNfbG9naWNh bF9zd2l0Y2hfcG9ydCAqbmJzcCkKKy17CistICAgIHJldHVybiAhc3RyY21wKG5ic3AtPnR5cGUs ICJsMmdhdGV3YXkiKTsKKy19CistCisgc3RhdGljIGJvb2wKKyBsb2NhbG5ldF9jYW5fbGVhcm5f bWFjKGNvbnN0IHN0cnVjdCBuYnJlY19sb2dpY2FsX3N3aXRjaF9wb3J0ICpuYnNwKQorIHsKK0BA IC0xNjM1LDEwICsxNjI1LDYgQEAgam9pbl9sb2dpY2FsX3BvcnRzX2xzcChzdHJ1Y3QgaG1hcCAq cG9ydHMsCisgICAgICAgICBvZC0+aGFzX3Z0ZXBfbHBvcnRzID0gdHJ1ZTsKKyAgICAgfQorIAor LSAgICBpZiAobHNwX2lzX2xvY2FsbmV0KG5ic3ApIHx8IGxzcF9pc19sMmd3KG5ic3ApKSB7Cist ICAgICAgICBobWFweF9hZGQoJm9kLT5waHlzX3BvcnRzLCBvcCk7CistICAgIH0KKy0KKyAgICAg cGFyc2VfbHNwX2FkZHJzKG9wKTsKKyAKKyAgICAgb3AtPm9kID0gb2Q7CitAQCAtMTc4Miw3ICsx NzY4LDcgQEAgcGVlcl9uZWVkc19jcl9wb3J0X2NyZWF0aW9uKHN0cnVjdCBvdm5fcG9ydCAqb3Ap CisgeworICAgICBpZiAoKG9wLT5uYnJwLT5uX2dhdGV3YXlfY2hhc3NpcyB8fCBvcC0+bmJycC0+ aGFfY2hhc3Npc19ncm91cCkKKyAgICAgICAgICYmIHZlY3Rvcl9sZW4oJm9wLT5vZC0+bDNkZ3df cG9ydHMpID09IDEgJiYgb3AtPnBlZXIgJiYgb3AtPnBlZXItPm5ic3AKKy0gICAgICAgICYmIHZl Y3Rvcl9pc19lbXB0eSgmb3AtPnBlZXItPm9kLT5sb2NhbG5ldF9wb3J0cykpIHsKKysgICAgICAg ICYmICFsc19oYXNfbG9jYWxuZXRfcG9ydChvcC0+cGVlci0+b2QpKSB7CisgICAgICAgICByZXR1 cm4gdHJ1ZTsKKyAgICAgfQorIAorQEAgLTI3NDIsNyArMjcyOCw3IEBAIG92bl9wb3J0X3VwZGF0 ZV9zYnJlYyhzdHJ1Y3Qgb3ZzZGJfaWRsX3R4biAqb3Zuc2JfdHhuLAorICAgICAgICAgICAgIHNt YXBfY2xvbmUoJm9wdGlvbnMsICZvcC0+bmJzcC0+b3B0aW9ucyk7CisgCisgICAgICAgICAgICAg aWYgKHF1ZXVlX2lkKSB7CistICAgICAgICAgICAgICAgIGlmICghdmVjdG9yX2lzX2VtcHR5KCZv cC0+b2QtPmxvY2FsbmV0X3BvcnRzKSkgeworKyAgICAgICAgICAgICAgICBpZiAobHNfaGFzX2xv Y2FsbmV0X3BvcnQob3AtPm9kKSkgeworICAgICAgICAgICAgICAgICAgICAgc3RydWN0IG92bl9w b3J0ICpwb3J0ID0gdmVjdG9yX2dldCgmb3AtPm9kLT5sb2NhbG5ldF9wb3J0cywKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMCwgc3RydWN0 IG92bl9wb3J0ICopOworICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqcGh5c2ljYWxf bmV0d29yayA9IHNtYXBfZ2V0KAorQEAgLTM4NTYsNyArMzg0Miw3IEBAIHNob3VsZF9hZGRfcm91 dGVyX3BvcnRfZ2FycChjb25zdCBzdHJ1Y3Qgb3ZuX3BvcnQgKm9wLCBjb25zdCBjaGFyICpjaGFz c2lzKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVjdG9yX2xlbigmb3AtPnBl ZXItPm9kLT5sM2Rnd19wb3J0cykpOworICAgICAgICAgICAgIH0KKyAgICAgICAgIH0KKy0gICAg fSBlbHNlIGlmIChjaGFzc2lzICYmICF2ZWN0b3JfaXNfZW1wdHkoJm9wLT5vZC0+bG9jYWxuZXRf cG9ydHMpKSB7CisrICAgIH0gZWxzZSBpZiAoY2hhc3NpcyAmJiBsc19oYXNfbG9jYWxuZXRfcG9y dChvcC0+b2QpKSB7CisgICAgICAgICBhZGRfcm91dGVyX3BvcnRfZ2FycCA9IHRydWU7CisgICAg IH0KKyAKK0BAIC01MDIyLDYgKzUwMDgsOSBAQCBub3J0aGRfaGFuZGxlX2xzX2NoYW5nZXMoc3Ry dWN0IG92c2RiX2lkbF90eG4gKm92bnNiX2lkbF90eG4sCisgICAgICAgICAgICAgZ290byBmYWls OworICAgICAgICAgfQorIAorKyAgICAgICAgaWYgKHNwYXJzZV9hcnJheV9nZXQoJm5kLT5sc19k YXRhcGF0aHMuZHBzLCBzeW5jZWQtPnNkcC0+aW5kZXgpKSB7CisrICAgICAgICAgICAgZ290byBm YWlsOworKyAgICAgICAgfQorICAgICAgICAgc3RydWN0IG92bl9kYXRhcGF0aCAqb2QgPSBvdm5f ZGF0YXBhdGhfY3JlYXRlKAorICAgICAgICAgICAgICZuZC0+bHNfZGF0YXBhdGhzLmRhdGFwYXRo cywgJm5ld19scy0+aGVhZGVyXy51dWlkLCBuZXdfbHMsCisgICAgICAgICAgICAgTlVMTCwgc3lu Y2VkLT5zZHApOworQEAgLTUzNTQsNiArNTM0Myw5IEBAIG5vcnRoZF9oYW5kbGVfbHJfY2hhbmdl cyhjb25zdCBzdHJ1Y3Qgbm9ydGhkX2lucHV0ICpuaSwKKyAgICAgICAgIGlmIChuZXdfbHItPmNv cHAgfHwgKG5ld19sci0+bl9wb3J0cyA+IDApKSB7CisgICAgICAgICAgICAgZ290byBmYWlsOwor ICAgICAgICAgfQorKyAgICAgICAgaWYgKHNwYXJzZV9hcnJheV9nZXQoJm5kLT5scl9kYXRhcGF0 aHMuZHBzLCBzeW5jZWQtPnNkcC0+aW5kZXgpKSB7CisrICAgICAgICAgICAgZ290byBmYWlsOwor KyAgICAgICAgfQorICAgICAgICAgc3RydWN0IG92bl9kYXRhcGF0aCAqb2QgPSBvdm5fZGF0YXBh dGhfY3JlYXRlKAorICAgICAgICAgICAgICZuZC0+bHJfZGF0YXBhdGhzLmRhdGFwYXRocywgJm5l d19sci0+aGVhZGVyXy51dWlkLAorICAgICAgICAgICAgIE5VTEwsIG5ld19sciwgc3luY2VkLT5z ZHApOworQEAgLTYxNTQsNyArNjE0Niw3IEBAIGJ1aWxkX2xzd2l0Y2hfcG9ydF9zZWNfb3Aoc3Ry dWN0IG92bl9wb3J0ICpvcCwgc3RydWN0IGxmbG93X3RhYmxlICpsZmxvd3MsCisgICAgICAgICAg ICAgICAgICAgICAgIFdJVEhfSU9fUE9SVChvcC0+a2V5KSwgV0lUSF9ISU5UKCZvcC0+bmJzcC0+ aGVhZGVyXykpOworIAorICAgICAgICAgaWYgKCFsc3BfaXNfbG9jYWxuZXQob3AtPm5ic3ApICYm CistICAgICAgICAgICAgdmVjdG9yX2lzX2VtcHR5KCZvcC0+b2QtPmxvY2FsbmV0X3BvcnRzKSkg eworKyAgICAgICAgICAgICFsc19oYXNfbG9jYWxuZXRfcG9ydChvcC0+b2QpKSB7CisgICAgICAg ICAgICAgcmV0dXJuOworICAgICAgICAgfQorIAorQEAgLTYxNjgsNyArNjE2MCw3IEBAIGJ1aWxk X2xzd2l0Y2hfcG9ydF9zZWNfb3Aoc3RydWN0IG92bl9wb3J0ICpvcCwgc3RydWN0IGxmbG93X3Rh YmxlICpsZmxvd3MsCisgICAgICAgICAgICAgICAgICAgICAgICAgICBkc19jc3RyKG1hdGNoKSwg ZHNfY3N0cihhY3Rpb25zKSwgb3AtPmxmbG93X3JlZiwKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgIFdJVEhfSU9fUE9SVChvcC0+a2V5KSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIFdJ VEhfSElOVCgmb3AtPm5ic3AtPmhlYWRlcl8pKTsKKy0gICAgICAgIH0gZWxzZSBpZiAoIXZlY3Rv cl9pc19lbXB0eSgmb3AtPm9kLT5sb2NhbG5ldF9wb3J0cykpIHsKKysgICAgICAgIH0gZWxzZSBp ZiAobHNfaGFzX2xvY2FsbmV0X3BvcnQob3AtPm9kKSkgeworICAgICAgICAgICAgIGNvbnN0IHN0 cnVjdCBvdm5fcG9ydCAqbHAgPSB2ZWN0b3JfZ2V0KCZvcC0+b2QtPmxvY2FsbmV0X3BvcnRzLCAw LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0 cnVjdCBvdm5fcG9ydCAqKTsKKyAgICAgICAgICAgICBkc19wdXRfZm9ybWF0KG1hdGNoLCAib3V0 cG9ydCA9PSAlcyAmJiBpbnBvcnQgPT0gJXMiLAorQEAgLTEwMDUwLDg4ICsxMDA0Miw2IEBAIGJ1 aWxkX2Ryb3BfYXJwX25kX2Zsb3dzX2Zvcl91bmJvdW5kX3JvdXRlcl9wb3J0cyhzdHJ1Y3Qgb3Zu X3BvcnQgKm9wLAorICAgICBkc19kZXN0cm95KCZtYXRjaCk7CisgfQorIAorLS8qCistICogQ3Jl YXRlIEFSUCBmaWx0ZXJpbmcgZmxvdyBmb3Igb2QsIGFzc3VtZWQgbG9naWNhbCBzd2l0Y2gsCist ICogZm9yIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uOgorLSAqIEdpdmVuIGxzd2l0Y2ggaGFzIGVp dGhlciBsb2NhbG5ldCBvciBsMmdhdGV3YXkgcG9ydHMgYW5kCistICogcm91dGVyIGNvbm5lY3Rp b24gcG9ydHMgdGhhdCByZXF1aXJlcyBjaGFzc2lzIHJlc2lkZW5jZS4KKy0gKiBBUlAgcmVxdWVz dHMgY29taW5nIGZyb20gbG9jYWxuZXQvbDJnYXRld2F5IHBvcnRzCistICogYWxsb3dlZCBmb3Ig cHJvY2Vzc2luZyBvbiByZXNpZGVudCBjaGFzc2lzIG9ubHkuCistICovCistc3RhdGljIHZvaWQK Ky1idWlsZF9sc3dpdGNoX2FycF9jaGFzc2lzX3Jlc2lkZW50KGNvbnN0IHN0cnVjdCBvdm5fZGF0 YXBhdGggKm9kLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IGxm bG93X3RhYmxlICpsZmxvd3MsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj b25zdCBzdHJ1Y3QgbHNfYXJwX3JlY29yZCAqYXIpCisteworLSAgICBzdHJ1Y3QgaG1hcHggcmVz aWRlbnRfcG9ydHMgPSBITUFQWF9JTklUSUFMSVpFUigmcmVzaWRlbnRfcG9ydHMpOworLSAgICBz dHJ1Y3QgZHMgbWF0Y2ggPSBEU19FTVBUWV9JTklUSUFMSVpFUjsKKy0KKy0gICAgc3RydWN0IG92 bl9wb3J0ICpvcDsKKy0gICAgVkVDVE9SX0ZPUl9FQUNIICgmb2QtPnJvdXRlcl9wb3J0cywgb3Ap IHsKKy0gICAgICAgIHN0cnVjdCBvdm5fcG9ydCAqb3BfciA9IG9wLT5wZWVyOworLQorLSAgICAg ICAgaWYgKGxycF9pc19sM2RndyhvcF9yKSkgeworLSAgICAgICAgICAgIGhtYXB4X2FkZCgmcmVz aWRlbnRfcG9ydHMsIG9wX3ItPmNyX3BvcnQpOworLSAgICAgICAgfSBlbHNlIGlmIChvcF9yLT5v ZC0+aXNfZ3dfcm91dGVyKSB7CistICAgICAgICAgICAgaG1hcHhfYWRkKCZyZXNpZGVudF9wb3J0 cywgb3Bfcik7CistICAgICAgICB9CistICAgIH0KKy0KKy0gICAgaWYgKCFobWFweF9pc19lbXB0 eSgmb2QtPnBoeXNfcG9ydHMpICYmICFobWFweF9pc19lbXB0eSgmcmVzaWRlbnRfcG9ydHMpKSB7 CistICAgICAgICBzdHJ1Y3QgaG1hcHhfbm9kZSAqbm9kZTsKKy0KKy0gICAgICAgIEhNQVBYX0ZP Ul9FQUNIIChub2RlLCAmb2QtPnBoeXNfcG9ydHMpIHsKKy0gICAgICAgICAgICBvcCA9IG5vZGUt PmRhdGE7CistCistICAgICAgICAgICAgZHNfY2xlYXIoJm1hdGNoKTsKKy0gICAgICAgICAgICBk c19wdXRfZm9ybWF0KCZtYXRjaCwgImFycC5vcCA9PSAxICYmIGlucG9ydCA9PSAlcyIsCistICAg ICAgICAgICAgICAgICAgICAgICAgICBvcC0+anNvbl9rZXkpOworLSAgICAgICAgICAgIG92bl9s Zmxvd19hZGQobGZsb3dzLCBvZCwgU19TV0lUQ0hfSU5fQ0hFQ0tfUE9SVF9TRUMsIDc1LAorLSAg ICAgICAgICAgICAgICAgICAgICAgICAgZHNfY3N0cigmbWF0Y2gpLCBSRUdCSVRfRVhUX0FSUCAi ID0gMTsgbmV4dDsiLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgYXItPmxmbG93X3JlZik7 CistICAgICAgICB9CistCistICAgICAgICBITUFQWF9GT1JfRUFDSCAobm9kZSwgJnJlc2lkZW50 X3BvcnRzKSB7CistICAgICAgICAgICAgb3AgPSBub2RlLT5kYXRhOworLQorLSAgICAgICAgICAg IGRzX2NsZWFyKCZtYXRjaCk7CistICAgICAgICAgICAgZHNfcHV0X2Zvcm1hdCgmbWF0Y2gsIFJF R0JJVF9FWFRfQVJQIiA9PSAxIik7CistICAgICAgICAgICAgaWYgKG9kX2lzX2NlbnRyYWxpemVk KG9wLT5vZCkpIHsKKy0gICAgICAgICAgICAgICAgZHNfcHV0X2Zvcm1hdCgmbWF0Y2gsICIgJiYg aXNfY2hhc3Npc19yZXNpZGVudCglcykiLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IG9wLT5qc29uX2tleSk7CistICAgICAgICAgICAgfQorLSAgICAgICAgICAgIG92bl9sZmxvd19h ZGQobGZsb3dzLCBvZCwgU19TV0lUQ0hfSU5fQVBQTFlfUE9SVF9TRUMsIDc1LAorLSAgICAgICAg ICAgICAgICAgICAgICAgICAgZHNfY3N0cigmbWF0Y2gpLCAibmV4dDsiLCBhci0+bGZsb3dfcmVm KTsKKy0gICAgICAgIH0KKy0KKy0gICAgICAgIHN0cnVjdCBobWFweF9ub2RlICpobWFweF9ub2Rl OworLSAgICAgICAgSE1BUFhfRk9SX0VBQ0ggKGhtYXB4X25vZGUsICZhci0+bmF0X3JlY29yZHMp IHsKKy0gICAgICAgICAgICBzdHJ1Y3QgbHJfbmF0X3JlY29yZCAqbnIgPSBobWFweF9ub2RlLT5k YXRhOworLSAgICAgICAgICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgbnItPm5fbmF0X2VudHJp ZXM7IGkrKykgeworLSAgICAgICAgICAgICAgICBzdHJ1Y3Qgb3ZuX25hdCAqZW50ID0gJm5yLT5u YXRfZW50cmllc1tpXTsKKy0gICAgICAgICAgICAgICAgaWYgKCFlbnQtPmlzX3ZhbGlkIHx8ICFl bnQtPmlzX2Rpc3RyaWJ1dGVkIHx8CistICAgICAgICAgICAgICAgICAgICBuYXRfZW50cnlfaXNf djYoZW50KSkgeworLSAgICAgICAgICAgICAgICAgICAgY29udGludWU7CistICAgICAgICAgICAg ICAgIH0KKy0KKy0gICAgICAgICAgICAgICAgZHNfY2xlYXIoJm1hdGNoKTsKKy0gICAgICAgICAg ICAgICAgZHNfcHV0X2Zvcm1hdCgmbWF0Y2gsIFJFR0JJVF9FWFRfQVJQICIgPT0gMSAmJiBhcnAu dHBhID09ICVzICIKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiJiYgaXNfY2hhc3Np c19yZXNpZGVudChcIiVzXCIpIiwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbnQt PmV4dF9hZGRycy5pcHY0X2FkZHJzWzBdLmFkZHJfcywKKy0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBlbnQtPm5iLT5sb2dpY2FsX3BvcnQpOworLSAgICAgICAgICAgICAgICBvdm5fbGZs b3dfYWRkKGxmbG93cywgb2QsIFNfU1dJVENIX0lOX0FQUExZX1BPUlRfU0VDLCA4NSwKKy0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBkc19jc3RyKCZtYXRjaCksICJuZXh0OyIsIGFyLT5s Zmxvd19yZWYpOworLSAgICAgICAgICAgIH0KKy0gICAgICAgIH0KKy0KKy0gICAgICAgIG92bl9s Zmxvd19hZGQobGZsb3dzLCBvZCwgU19TV0lUQ0hfSU5fQVBQTFlfUE9SVF9TRUMsIDcwLAorLSAg ICAgICAgICAgICAgICAgICAgICBSRUdCSVRfRVhUX0FSUCIgPT0gMSIsICJkcm9wOyIsIGFyLT5s Zmxvd19yZWYpOworLSAgICB9CistCistICAgIGhtYXB4X2Rlc3Ryb3koJnJlc2lkZW50X3BvcnRz KTsKKy0gICAgZHNfZGVzdHJveSgmbWF0Y2gpOworLX0KKy0KKyBzdGF0aWMgYm9vbAorIGlzX3Zs YW5fdHJhbnNwYXJlbnQoY29uc3Qgc3RydWN0IG92bl9kYXRhcGF0aCAqb2QpCisgeworQEAgLTEw MjkzLDI1ICsxMDIwMyw0MyBAQCBidWlsZF9hcnBfbmRfc2VydmljZV9tb25pdG9yX2xmbG93KGNv bnN0IGNoYXIgKnN2Y19tb25pdG9yX21hYywKKyAgICAgfQorIH0KKyAKKy0vKiBJbmdyZXNzIHRh YmxlIDI0OiBBUlAvTkQgcmVzcG9uZGVyLCBza2lwIHJlcXVlc3RzIGNvbWluZyBmcm9tIGxvY2Fs bmV0CistICogcG9ydHMuIChwcmlvcml0eSAxMDApOyBzZWUgb3ZuLW5vcnRoZC44LnhtbCBmb3Ig dGhlIHJhdGlvbmFsZS4gKi8KKy0KKysvKiBJbmdyZXNzIHRhYmxlOiBMb29rdXAgRkRCLiAgU2V0 IGZsYWdzLmxvY2FsbmV0IGZvciBwYWNrZXRzIGFycml2aW5nIGZyb20KKysgKiBsb2NhbG5ldCBw b3J0cyBzbyB0aGF0IGRvd25zdHJlYW0gc3RhZ2VzIChlLmcuLCBBUlAvTkQgcmVzcG9uZGVyKSBj YW4KKysgKiBjb25kaXRpb24gdGhlaXIgYmVoYXZpb3Igb24gd2hldGhlciB0aGUgcGFja2V0IGNh bWUgZnJvbSBsb2NhbG5ldC4gKi8KKyBzdGF0aWMgdm9pZAorLWJ1aWxkX2xzd2l0Y2hfYXJwX25k X3Jlc3BvbmRlcl9za2lwX2xvY2FsKHN0cnVjdCBvdm5fcG9ydCAqb3AsCistICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IGxmbG93X3RhYmxlICpsZmxvd3Ms CistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IGRzICpt YXRjaCkKKytidWlsZF9sc3dpdGNoX2Zyb21fbG9jYWxuZXRfb3Aoc3RydWN0IG92bl9wb3J0ICpv cCwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IGxmbG93X3RhYmxlICps Zmxvd3MsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBkcyAqbWF0Y2gp CisgeworICAgICBvdnNfYXNzZXJ0KG9wLT5uYnNwKTsKKy0gICAgaWYgKCFsc3BfaXNfbG9jYWxu ZXQob3AtPm5ic3ApIHx8IG9wLT5vZC0+aGFzX2FycF9wcm94eV9wb3J0KSB7CisrICAgIGlmICgh bHNwX2lzX2xvY2FsbmV0KG9wLT5uYnNwKSkgeworICAgICAgICAgcmV0dXJuOworICAgICB9Cisg ICAgIGRzX2NsZWFyKG1hdGNoKTsKKyAgICAgZHNfcHV0X2Zvcm1hdChtYXRjaCwgImlucG9ydCA9 PSAlcyIsIG9wLT5qc29uX2tleSk7CistICAgIG92bl9sZmxvd19hZGQobGZsb3dzLCBvcC0+b2Qs IFNfU1dJVENIX0lOX0FSUF9ORF9SU1AsIDEwMCwgZHNfY3N0cihtYXRjaCksCistICAgICAgICAg ICAgICAgICAgIm5leHQ7Iiwgb3AtPmxmbG93X3JlZiwgV0lUSF9JT19QT1JUKG9wLT5rZXkpLAor KyAgICBvdm5fbGZsb3dfYWRkKGxmbG93cywgb3AtPm9kLCBTX1NXSVRDSF9JTl9MT09LVVBfRkRC LCA1MCwKKysgICAgICAgICAgICAgICAgICBkc19jc3RyKG1hdGNoKSwgImZsYWdzLmxvY2FsbmV0 ID0gMTsgbmV4dDsiLAorKyAgICAgICAgICAgICAgICAgIG9wLT5sZmxvd19yZWYsIFdJVEhfSU9f UE9SVChvcC0+a2V5KSwKKyAgICAgICAgICAgICAgICAgICBXSVRIX0hJTlQoJm9wLT5uYnNwLT5o ZWFkZXJfKSk7CisgfQorIAorKy8qIE9uIHN3aXRjaGVzIHdpdGggbG9jYWxuZXQgcG9ydHMsIHJl c3RyaWN0IEFSUC9ORCByZXBsaWVzIGZvcgorKyAqIGxvY2FsbmV0LXNvdXJjZWQgcmVxdWVzdHMg dG8gdGhlIGNoYXNzaXMgaG9zdGluZyB0aGUgdGFyZ2V0IFZJRgorKyAqIChwcmV2ZW50aW5nIGR1 cGxpY2F0ZSByZXBsaWVzIGZyb20gZXZlcnkgaHlwZXJ2aXNvcikuICBOb24tbG9jYWxuZXQKKysg KiByZXF1ZXN0cyAoVklGLXRvLVZJRikgYXJlIGFuc3dlcmVkIHVuY29uZGl0aW9uYWxseSBhcyBi ZWZvcmUuICovCisrc3RhdGljIHZvaWQKKytidWlsZF9sc3dpdGNoX2FycF9uZF9sb2NhbF9yZXNw X21hdGNoKHN0cnVjdCBkcyAqbWF0Y2gsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBjb25zdCBzdHJ1Y3Qgb3ZuX3BvcnQgKm9wKQorK3sKKysgICAgaWYgKCFsc19oYXNf bG9jYWxuZXRfcG9ydChvcC0+b2QpKSB7CisrICAgICAgICByZXR1cm47CisrICAgIH0KKysKKysg ICAgZHNfcHV0X2Zvcm1hdChtYXRjaCwKKysgICAgICAgICIgJiYgKChmbGFncy5sb2NhbG5ldCA9 PSAxICYmIGlzX2NoYXNzaXNfcmVzaWRlbnQoJXMpKSIKKysgICAgICAgICAgICAiIHx8IGZsYWdz LmxvY2FsbmV0ID09IDApIiwgb3AtPmpzb25fa2V5KTsKKyt9CisrCisgLyogSW5ncmVzcyB0YWJs ZSAyNDogQVJQL05EIHJlc3BvbmRlciwgcmVwbHkgZm9yIGtub3duIElQcy4KKyAgKiAocHJpb3Jp dHkgNTApLiAqLworIHN0YXRpYyB2b2lkCitAQCAtMTA0NTMsNiArMTAzODEsOCBAQCBidWlsZF9s c3dpdGNoX2FycF9uZF9yZXNwb25kZXJfa25vd25faXBzKHN0cnVjdCBvdm5fcG9ydCAqb3AsCisg ICAgICAgICAgICAgICAgICAgICBkc190cnVuY2F0ZShtYXRjaCwgbWF0Y2hfbGVuKTsKKyAgICAg ICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICBkc19wdXRfY3N0cihtYXRjaCwgIiAmJiBl dGguZHN0ID09IGZmOmZmOmZmOmZmOmZmOmZmIik7CisrICAgICAgICAgICAgICAgIHNpemVfdCBt YXRjaF9hcnBfbGVuID0gbWF0Y2gtPmxlbmd0aDsKKysgICAgICAgICAgICAgICAgYnVpbGRfbHN3 aXRjaF9hcnBfbmRfbG9jYWxfcmVzcF9tYXRjaChtYXRjaCwgb3ApOworIAorICAgICAgICAgICAg ICAgICBkc19jbGVhcihhY3Rpb25zKTsKKyAgICAgICAgICAgICAgICAgZHNfcHV0X2Zvcm1hdChh Y3Rpb25zLAorQEAgLTEwNDg0LDYgKzEwNDE0LDcgQEAgYnVpbGRfbHN3aXRjaF9hcnBfbmRfcmVz cG9uZGVyX2tub3duX2lwcyhzdHJ1Y3Qgb3ZuX3BvcnQgKm9wLAorICAgICAgICAgICAgICAgICAg KiBhZGRyZXNzIGlzIGludGVuZGVkIHRvIGRldGVjdCBzaXR1YXRpb25zIHdoZXJlIHRoZQorICAg ICAgICAgICAgICAgICAgKiBuZXR3b3JrIGlzIG5vdCB3b3JraW5nIGFzIGNvbmZpZ3VyZWQsIHNv IGRyb3BwaW5nIHRoZQorICAgICAgICAgICAgICAgICAgKiByZXF1ZXN0IHdvdWxkIGZydXN0cmF0 ZSB0aGF0IGludGVudC4pICovCisrICAgICAgICAgICAgICAgIGRzX3RydW5jYXRlKG1hdGNoLCBt YXRjaF9hcnBfbGVuKTsKKyAgICAgICAgICAgICAgICAgZHNfcHV0X2Zvcm1hdChtYXRjaCwgIiAm JiBpbnBvcnQgPT0gJXMiLCBvcC0+anNvbl9rZXkpOworICAgICAgICAgICAgICAgICBvdm5fbGZs b3dfYWRkKGxmbG93cywgb3AtPm9kLCBTX1NXSVRDSF9JTl9BUlBfTkRfUlNQLCAxMDAsCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgZHNfY3N0cihtYXRjaCksICJuZXh0OyIsIG9wLT5s Zmxvd19yZWYsCitAQCAtMTA1MjMsNiArMTA0NTQsOCBAQCBidWlsZF9sc3dpdGNoX2FycF9uZF9y ZXNwb25kZXJfa25vd25faXBzKHN0cnVjdCBvdm5fcG9ydCAqb3AsCisgICAgICAgICAgICAgICAg ICAgICAibmRfbnNfbWNhc3QgJiYgaXA2LmRzdCA9PSAlcyAmJiBuZC50YXJnZXQgPT0gJXMiLAor ICAgICAgICAgICAgICAgICAgICAgb3AtPmxzcF9hZGRyc1tpXS5pcHY2X2FkZHJzW2pdLnNuX2Fk ZHJfcywKKyAgICAgICAgICAgICAgICAgICAgIG9wLT5sc3BfYWRkcnNbaV0uaXB2Nl9hZGRyc1tq XS5hZGRyX3MpOworKyAgICAgICAgICAgICAgICBzaXplX3QgbWF0Y2hfbmRfbGVuID0gbWF0Y2gt Pmxlbmd0aDsKKysgICAgICAgICAgICAgICAgYnVpbGRfbHN3aXRjaF9hcnBfbmRfbG9jYWxfcmVz cF9tYXRjaChtYXRjaCwgb3ApOworIAorICAgICAgICAgICAgICAgICBkc19jbGVhcihhY3Rpb25z KTsKKyAgICAgICAgICAgICAgICAgZHNfcHV0X2Zvcm1hdChhY3Rpb25zLAorQEAgLTEwNTQ5LDYg KzEwNDgyLDcgQEAgYnVpbGRfbHN3aXRjaF9hcnBfbmRfcmVzcG9uZGVyX2tub3duX2lwcyhzdHJ1 Y3Qgb3ZuX3BvcnQgKm9wLAorIAorICAgICAgICAgICAgICAgICAvKiBEbyBub3QgcmVwbHkgdG8g YSBzb2xpY2l0YXRpb24gZnJvbSB0aGUgcG9ydCB0aGF0IG93bnMKKyAgICAgICAgICAgICAgICAg ICogdGhlIGFkZHJlc3MgKG90aGVyd2lzZSBEQUQgZGV0ZWN0aW9uIHdpbGwgZmFpbCkuICovCisr ICAgICAgICAgICAgICAgIGRzX3RydW5jYXRlKG1hdGNoLCBtYXRjaF9uZF9sZW4pOworICAgICAg ICAgICAgICAgICBkc19wdXRfZm9ybWF0KG1hdGNoLCAiICYmIGlucG9ydCA9PSAlcyIsIG9wLT5q c29uX2tleSk7CisgICAgICAgICAgICAgICAgIG92bl9sZmxvd19hZGQobGZsb3dzLCBvcC0+b2Qs IFNfU1dJVENIX0lOX0FSUF9ORF9SU1AsIDEwMCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBkc19jc3RyKG1hdGNoKSwgIm5leHQ7Iiwgb3AtPmxmbG93X3JlZiwKK0BAIC0xMDc4OCw3 ICsxMDcyMiw3IEBAIGJ1aWxkX2xzd2l0Y2hfZGhjcF9vcHRpb25zX2FuZF9yZXNwb25zZShzdHJ1 Y3Qgb3ZuX3BvcnQgKm9wLAorICAgICB9CisgCisgICAgIGJvb2wgaXNfZXh0ZXJuYWwgPSBsc3Bf aXNfZXh0ZXJuYWwob3AtPm5ic3ApOworLSAgICBpZiAoaXNfZXh0ZXJuYWwgJiYgKHZlY3Rvcl9p c19lbXB0eSgmb3AtPm9kLT5sb2NhbG5ldF9wb3J0cykgfHwKKysgICAgaWYgKGlzX2V4dGVybmFs ICYmICghbHNfaGFzX2xvY2FsbmV0X3BvcnQob3AtPm9kKSB8fAorICAgICAgICAgICAgICAgICAg ICAgICAgICFvcC0+bmJzcC0+aGFfY2hhc3Npc19ncm91cCkpIHsKKyAgICAgICAgIC8qIElmIGl0 J3MgYW4gZXh0ZXJuYWwgcG9ydCBhbmQgdGhlcmUgYXJlIG5vIGxvY2FsbmV0IHBvcnRzCisgICAg ICAgICAgKiBhbmQgaWYgaXQgZG9lc24ndCBiZWxvbmcgdG8gYW4gSEEgY2hhc3NpcyBncm91cCBp Z25vcmUgaXQuICovCitAQCAtMTEyMTMsNyArMTExNDcsNyBAQCBidWlsZF9sc3dpdGNoX2lwX3Vu aWNhc3RfbG9va3VwKHN0cnVjdCBvdm5fcG9ydCAqb3AsCisgCisgICAgICAgICBpZiAocGVlcl9s cnBfaXNfY2VudHJhbGl6ZWQgJiYKKyAgICAgICAgICAgICAhdmVjdG9yX2lzX2VtcHR5KCZvcC0+ cGVlci0+b2QtPmwzZGd3X3BvcnRzKSAmJgorLSAgICAgICAgICAgICF2ZWN0b3JfaXNfZW1wdHko Jm9wLT5vZC0+bG9jYWxuZXRfcG9ydHMpKSB7CisrICAgICAgICAgICAgbHNfaGFzX2xvY2FsbmV0 X3BvcnQob3AtPm9kKSkgeworICAgICAgICAgICAgIGFkZF9scnBfY2hhc3Npc19yZXNpZGVudF9j aGVjayhvcC0+cGVlciwgbWF0Y2gpOworICAgICAgICAgfSBlbHNlIGlmIChvcC0+Y3JfcG9ydCkg eworICAgICAgICAgICAgIC8qIElmIHRoZSBvcCBoYXMgYSBjaGFzc2lzIHJlc2lkZW50IHBvcnQs IGl0IG1lYW5zCitAQCAtMTI1OTcsMTAgKzEyNTMxLDE1IEBAIGFkZF9lY21wX3N5bW1ldHJpY19y ZXBseV9mbG93cyhzdHJ1Y3QgbGZsb3dfdGFibGUgKmxmbG93cywKKyAgICAgICAgICAgICAgICAg ICBkc19jc3RyKHJvdXRlX21hdGNoKSk7CisgICAgIGRzX2NsZWFyKCZhY3Rpb25zKTsKKyAgICAg ZHNfcHV0X2Zvcm1hdCgmYWN0aW9ucywgImlwLnR0bC0tOyBmbGFncy5sb29wYmFjayA9IDE7ICIK Ky0gICAgICAgICAgICAgICAgICAiZXRoLnNyYyA9ICVzOyAlcyA9ICVzOyBvdXRwb3J0ID0gJXM7 IG5leHQ7IiwKKy0gICAgICAgICAgICAgICAgICBvdXRfcG9ydC0+bHJwX25ldHdvcmtzLmVhX3Ms CistICAgICAgICAgICAgICAgICAgaXNfaXB2NF9uZXh0aG9wID8gUkVHX1NSQ19JUFY0IDogUkVH X1NSQ19JUFY2LAorLSAgICAgICAgICAgICAgICAgIHBvcnRfaXAsIG91dF9wb3J0LT5qc29uX2tl eSk7CisrICAgICAgICAgICAgICAgICAgImV0aC5zcmMgPSAlczsgIiwKKysgICAgICAgICAgICAg ICAgICBvdXRfcG9ydC0+bHJwX25ldHdvcmtzLmVhX3MpOworKyAgICBpZiAocG9ydF9pcCkgewor KyAgICAgICAgZHNfcHV0X2Zvcm1hdCgmYWN0aW9ucywgIiVzID0gJXM7ICIsCisrICAgICAgICAg ICAgICAgICAgICAgIGlzX2lwdjRfbmV4dGhvcCA/IFJFR19TUkNfSVBWNCA6IFJFR19TUkNfSVBW NiwKKysgICAgICAgICAgICAgICAgICAgICAgcG9ydF9pcCk7CisrICAgIH0KKysgICAgZHNfcHV0 X2Zvcm1hdCgmYWN0aW9ucywgIm91dHBvcnQgPSAlczsgbmV4dDsiLAorKyAgICAgICAgICAgICAg ICAgIG91dF9wb3J0LT5qc29uX2tleSk7CisgICAgIG92bl9sZmxvd19hZGQobGZsb3dzLCBvZCwg U19ST1VURVJfSU5fSVBfUk9VVElORywgMTAzMDAsIGRzX2NzdHIoJm1hdGNoKSwKKyAgICAgICAg ICAgICAgICAgICBkc19jc3RyKCZhY3Rpb25zKSwgbGZsb3dfcmVmLCBXSVRIX0hJTlQocm91dGUt PnNvdXJjZV9oaW50KSk7CisgCitAQCAtMTI3NDAsMTMgKzEyNjc5LDE1IEBAIGJ1aWxkX2VjbXBf cm91dGVfZmxvdyhzdHJ1Y3QgbGZsb3dfdGFibGUgKmxmbG93cywKKyAgICAgICAgIGRzX3B1dF9m b3JtYXQoJmFjdGlvbnMsICIlcyA9ICIsCisgICAgICAgICAgICAgICAgICAgICAgIGlzX2lwdjRf bmV4dGhvcCA/IFJFR19ORVhUX0hPUF9JUFY0IDogUkVHX05FWFRfSE9QX0lQVjYpOworICAgICAg ICAgaXB2Nl9mb3JtYXRfbWFwcGVkKHJvdXRlLT5uZXh0aG9wLCAmYWN0aW9ucyk7CistICAgICAg ICBkc19wdXRfZm9ybWF0KCZhY3Rpb25zLCAiOyAiCistICAgICAgICAgICAgICAgICAgICAgICIl cyA9ICVzOyAiCistICAgICAgICAgICAgICAgICAgICAgICJldGguc3JjID0gJXM7ICIKKysgICAg ICAgIGlmIChyb3V0ZS0+bHJwX2FkZHJfcykgeworKyAgICAgICAgICAgIGRzX3B1dF9mb3JtYXQo JmFjdGlvbnMsICI7ICVzID0gJXMiLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgaXNfaXB2 NF9uZXh0aG9wID8gUkVHX1NSQ19JUFY0IDogUkVHX1NSQ19JUFY2LAorKyAgICAgICAgICAgICAg ICAgICAgICAgICAgcm91dGUtPmxycF9hZGRyX3MpOworKyAgICAgICAgfQorKyAgICAgICAgZHNf cHV0X2Zvcm1hdCgmYWN0aW9ucywKKysgICAgICAgICAgICAgICAgICAgICAgIjsgZXRoLnNyYyA9 ICVzOyAiCisgICAgICAgICAgICAgICAgICAgICAgICJvdXRwb3J0ID0gJXM7ICIKKyAgICAgICAg ICAgICAgICAgICAgICAgUkVHQklUX05FWFRIT1BfSVNfSVBWNCIgPSAlZDsgIiwKKy0gICAgICAg ICAgICAgICAgICAgICAgaXNfaXB2NF9uZXh0aG9wID8gUkVHX1NSQ19JUFY0IDogUkVHX1NSQ19J UFY2LAorLSAgICAgICAgICAgICAgICAgICAgICByb3V0ZS0+bHJwX2FkZHJfcywKKyAgICAgICAg ICAgICAgICAgICAgICAgcm91dGUtPm91dF9wb3J0LT5scnBfbmV0d29ya3MuZWFfcywKKyAgICAg ICAgICAgICAgICAgICAgICAgcm91dGUtPm91dF9wb3J0LT5qc29uX2tleSwKKyAgICAgICAgICAg ICAgICAgICAgICAgaXNfaXB2NF9uZXh0aG9wKTsKK0BAIC0xMjgwNiwxNSArMTI3NDcsMTcgQEAg YWRkX3JvdXRlKHN0cnVjdCBsZmxvd190YWJsZSAqbGZsb3dzLCBjb25zdCBzdHJ1Y3Qgb3ZuX2Rh dGFwYXRoICpvZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg UkVHX05FWFRfSE9QX0lQVjYsCisgICAgICAgICAgICAgICAgICAgICAgICAgICBpc19pcHY0X3By ZWZpeCA/ICI0IiA6ICI2Iik7CisgICAgICAgICB9CistICAgICAgICBkc19wdXRfZm9ybWF0KCZj b21tb25fYWN0aW9ucywgIjsgIgorLSAgICAgICAgICAgICAgICAgICAgICAiJXMgPSAlczsgIgor LSAgICAgICAgICAgICAgICAgICAgICAiZXRoLnNyYyA9ICVzOyAiCisrICAgICAgICBpZiAobHJw X2FkZHJfcykgeworKyAgICAgICAgICAgIGRzX3B1dF9mb3JtYXQoJmNvbW1vbl9hY3Rpb25zLCAi OyAlcyA9ICVzIiwKKysgICAgICAgICAgICAgICAgICAgICAgICAgIGlzX2lwdjRfbmV4dGhvcCA/ IFJFR19TUkNfSVBWNCA6IFJFR19TUkNfSVBWNiwKKysgICAgICAgICAgICAgICAgICAgICAgICAg IGxycF9hZGRyX3MpOworKyAgICAgICAgfQorKyAgICAgICAgZHNfcHV0X2Zvcm1hdCgmY29tbW9u X2FjdGlvbnMsCisrICAgICAgICAgICAgICAgICAgICAgICI7IGV0aC5zcmMgPSAlczsgIgorICAg ICAgICAgICAgICAgICAgICAgICAib3V0cG9ydCA9ICVzOyAiCisgICAgICAgICAgICAgICAgICAg ICAgICJmbGFncy5sb29wYmFjayA9IDE7ICIKKyAgICAgICAgICAgICAgICAgICAgICAgUkVHQklU X05FWFRIT1BfSVNfSVBWNCIgPSAlZDsgIgorICAgICAgICAgICAgICAgICAgICAgICAibmV4dDsi LAorLSAgICAgICAgICAgICAgICAgICAgICBpc19pcHY0X25leHRob3AgPyBSRUdfU1JDX0lQVjQg OiBSRUdfU1JDX0lQVjYsCistICAgICAgICAgICAgICAgICAgICAgIGxycF9hZGRyX3MsCisgICAg ICAgICAgICAgICAgICAgICAgIG9wLT5scnBfbmV0d29ya3MuZWFfcywKKyAgICAgICAgICAgICAg ICAgICAgICAgb3AtPmpzb25fa2V5LAorICAgICAgICAgICAgICAgICAgICAgICBpc19pcHY0X25l eHRob3ApOworQEAgLTE0NzI3LDYgKzE0NjcwLDEwIEBAIGJ1aWxkX25laWdoX2xlYXJuaW5nX2Zs b3dzX2Zvcl9scm91dGVyX3BvcnQoCisgICAgICAgICAgICAgICAgICAgICAgICAgICBvcC0+bHJw X25ldHdvcmtzLmlwdjRfYWRkcnNbaV0ubmV0d29ya19zLAorICAgICAgICAgICAgICAgICAgICAg ICAgICAgb3AtPmxycF9uZXR3b3Jrcy5pcHY0X2FkZHJzW2ldLnBsZW4sCisgICAgICAgICAgICAg ICAgICAgICAgICAgICBvcC0+bHJwX25ldHdvcmtzLmlwdjRfYWRkcnNbaV0uYWRkcl9zKTsKKysg ICAgICAgICAgICBpZiAobHJwX2lzX2wzZGd3KG9wKSkgeworKyAgICAgICAgICAgICAgICBkc19w dXRfZm9ybWF0KG1hdGNoLCAiICYmIGlzX2NoYXNzaXNfcmVzaWRlbnQoJXMpIiwKKysgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBvcC0+Y3JfcG9ydC0+anNvbl9rZXkpOworKyAgICAgICAg ICAgIH0KKyAgICAgICAgICAgICBjb25zdCBjaGFyICphY3Rpb25zX3MgPSBSRUdCSVRfTE9PS1VQ X05FSUdIQk9SX1JFU1VMVAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIgPSBsb29r dXBfYXJwKGlucG9ydCwgYXJwLnNwYSwgYXJwLnNoYSk7ICIKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBSRUdCSVRfTE9PS1VQX05FSUdIQk9SX0lQX1JFU1VMVCIgPSAxOyIKK0BAIC0x NDc0MSw2ICsxNDY4OCwxMCBAQCBidWlsZF9uZWlnaF9sZWFybmluZ19mbG93c19mb3JfbHJvdXRl cl9wb3J0KAorICAgICAgICAgICAgICAgICAgICAgICBvcC0+anNvbl9rZXksCisgICAgICAgICAg ICAgICAgICAgICAgIG9wLT5scnBfbmV0d29ya3MuaXB2NF9hZGRyc1tpXS5uZXR3b3JrX3MsCisg ICAgICAgICAgICAgICAgICAgICAgIG9wLT5scnBfbmV0d29ya3MuaXB2NF9hZGRyc1tpXS5wbGVu KTsKKysgICAgICAgIGlmIChscnBfaXNfbDNkZ3cob3ApKSB7CisrICAgICAgICAgICAgZHNfcHV0 X2Zvcm1hdChtYXRjaCwgIiAmJiBpc19jaGFzc2lzX3Jlc2lkZW50KCVzKSIsCisrICAgICAgICAg ICAgICAgICAgICAgICAgICBvcC0+Y3JfcG9ydC0+anNvbl9rZXkpOworKyAgICAgICAgfQorICAg ICAgICAgZHNfY2xlYXIoYWN0aW9ucyk7CisgICAgICAgICBkc19wdXRfZm9ybWF0KGFjdGlvbnMs IFJFR0JJVF9MT09LVVBfTkVJR0hCT1JfUkVTVUxUCisgICAgICAgICAgICAgICAgICAgICAgICIg PSBsb29rdXBfYXJwKGlucG9ydCwgYXJwLnNwYSwgYXJwLnNoYSk7ICVzbmV4dDsiLAorQEAgLTE3 MTEyLDcgKzE3MDYzLDcgQEAgYnVpbGRfbHJvdXRlcl9pcHY0X2lwX2lucHV0KHN0cnVjdCBvdm5f cG9ydCAqb3AsCisgCisgICAgICAgICBpZiAob2RfaXNfY2VudHJhbGl6ZWQob3AtPm9kKSAmJgor ICAgICAgICAgICAgICF2ZWN0b3JfaXNfZW1wdHkoJm9wLT5vZC0+bDNkZ3dfcG9ydHMpICYmIG9w LT5wZWVyCistICAgICAgICAgICAgJiYgIXZlY3Rvcl9pc19lbXB0eSgmb3AtPnBlZXItPm9kLT5s b2NhbG5ldF9wb3J0cykpIHsKKysgICAgICAgICAgICAmJiBsc19oYXNfbG9jYWxuZXRfcG9ydChv cC0+cGVlci0+b2QpKSB7CisgICAgICAgICAgICAgYWRkX2xycF9jaGFzc2lzX3Jlc2lkZW50X2No ZWNrKG9wLCBtYXRjaCk7CisgICAgICAgICB9CisgCitAQCAtMTkzMDQsNyArMTkyNTUsNiBAQCBz dHJ1Y3QgbHN3aXRjaF9mbG93X2J1aWxkX2luZm8geworICAgICBjb25zdCBzdHJ1Y3QgbHNfcG9y dF9ncm91cF90YWJsZSAqbHNfcG9ydF9ncm91cHM7CisgICAgIGNvbnN0IHN0cnVjdCBscl9zdGF0 ZWZ1bF90YWJsZSAqbHJfc3RhdGVmdWxfdGFibGU7CisgICAgIGNvbnN0IHN0cnVjdCBsc19zdGF0 ZWZ1bF90YWJsZSAqbHNfc3RhdGVmdWxfdGFibGU7CistICAgIGNvbnN0IHN0cnVjdCBsc19hcnBf dGFibGUgKmxzX2FycF90YWJsZTsKKyAgICAgc3RydWN0IGxmbG93X3RhYmxlICpsZmxvd3M7Cisg ICAgIGNvbnN0IHN0cnVjdCBzaGFzaCAqbWV0ZXJfZ3JvdXBzOworICAgICBjb25zdCBzdHJ1Y3Qg aG1hcCAqbGJfZHBzX21hcDsKK0BAIC0xOTQ0MCw3ICsxOTM5MCw3IEBAIGJ1aWxkX2xzd2l0Y2hf YW5kX2xyb3V0ZXJfaXRlcmF0ZV9ieV9sc3Aoc3RydWN0IG92bl9wb3J0ICpvcCwKKyAgICAgYnVp bGRfbWlycm9yX2xmbG93cyhvcCwgbHNfcG9ydHMsIGxmbG93cyk7CisgICAgIGJ1aWxkX2xzd2l0 Y2hfcG9ydF9zZWNfb3Aob3AsIGxmbG93cywgYWN0aW9ucywgbWF0Y2gpOworICAgICBidWlsZF9s c3dpdGNoX2xlYXJuX2ZkYl9vcChvcCwgbGZsb3dzLCBhY3Rpb25zLCBtYXRjaCk7CistICAgIGJ1 aWxkX2xzd2l0Y2hfYXJwX25kX3Jlc3BvbmRlcl9za2lwX2xvY2FsKG9wLCBsZmxvd3MsIG1hdGNo KTsKKysgICAgYnVpbGRfbHN3aXRjaF9mcm9tX2xvY2FsbmV0X29wKG9wLCBsZmxvd3MsIG1hdGNo KTsKKyAgICAgYnVpbGRfbHN3aXRjaF9hcnBfbmRfcmVzcG9uZGVyX2tub3duX2lwcyhvcCwgbGZs b3dzLCBsc19wb3J0cywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBtZXRlcl9ncm91cHMsIGFjdGlvbnMsIG1hdGNoKTsKKyAgICAgYnVpbGRfbHN3aXRjaF9k aGNwX29wdGlvbnNfYW5kX3Jlc3BvbnNlKG9wLCBsZmxvd3MsIG1ldGVyX2dyb3Vwcyk7CitAQCAt MTk1MDYsNyArMTk0NTYsNiBAQCBidWlsZF9sZmxvd3NfdGhyZWFkKHZvaWQgKmFyZykKKyAgICAg c3RydWN0IHdvcmtlcl9jb250cm9sICpjb250cm9sID0gKHN0cnVjdCB3b3JrZXJfY29udHJvbCAq KSBhcmc7CisgICAgIGNvbnN0IHN0cnVjdCBscl9zdGF0ZWZ1bF9yZWNvcmQgKmxyX3N0YXRlZnVs X3JlYzsKKyAgICAgY29uc3Qgc3RydWN0IGxzX3N0YXRlZnVsX3JlY29yZCAqbHNfc3RhdGVmdWxf cmVjOworLSAgICBjb25zdCBzdHJ1Y3QgbHNfYXJwX3JlY29yZCAqbHNfYXJwX3JlYzsKKyAgICAg c3RydWN0IGxzd2l0Y2hfZmxvd19idWlsZF9pbmZvICpsc2k7CisgICAgIHN0cnVjdCBvdm5fbGJf ZGF0YXBhdGhzICpsYl9kcHM7CisgICAgIHN0cnVjdCBvdm5fZGF0YXBhdGggKm9kOworQEAgLTE5 NjYwLDIwICsxOTYwOSw2IEBAIGJ1aWxkX2xmbG93c190aHJlYWQodm9pZCAqYXJnKQorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbHNpLT5zYnJlY19hY2xfaWRf dGFibGUpOworICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgfQorLQorLSAgICAgICAg ICAgIGZvciAoYm51bSA9IGNvbnRyb2wtPmlkOworLSAgICAgICAgICAgICAgICAgICAgYm51bSA8 PSBsc2ktPmxzX2FycF90YWJsZS0+ZW50cmllcy5tYXNrOworLSAgICAgICAgICAgICAgICAgICAg Ym51bSArPSBjb250cm9sLT5wb29sLT5zaXplKQorLSAgICAgICAgICAgIHsKKy0gICAgICAgICAg ICAgICAgTFNfQVJQX1RBQkxFX0ZPUl9FQUNIX0lOX1AgKGxzX2FycF9yZWMsIGJudW0sCistICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsc2ktPmxzX2FycF90YWJs ZSkgeworLSAgICAgICAgICAgICAgICAgICAgb2QgPSBvdm5fZGF0YXBhdGhzX2ZpbmRfYnlfaW5k ZXgoCistICAgICAgICAgICAgICAgICAgICAgICAgbHNpLT5sc19kYXRhcGF0aHMsIGxzX2FycF9y ZWMtPmxzX2luZGV4KTsKKy0gICAgICAgICAgICAgICAgICAgIGJ1aWxkX2xzd2l0Y2hfYXJwX2No YXNzaXNfcmVzaWRlbnQob2QsIGxzaS0+bGZsb3dzLAorLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsc19hcnBfcmVjKTsKKy0gICAgICAgICAg ICAgICAgfQorLSAgICAgICAgICAgIH0KKy0KKyAgICAgICAgICAgICBsc2ktPnRocmVhZF9sZmxv d19jb3VudGVyID0gdGhyZWFkX2xmbG93X2NvdW50ZXI7CisgICAgICAgICB9CisgICAgICAgICBw b3N0X2NvbXBsZXRlZF93b3JrKGNvbnRyb2wpOworQEAgLTE5NzIyLDcgKzE5NjU3LDYgQEAgYnVp bGRfbHN3aXRjaF9hbmRfbHJvdXRlcl9mbG93cygKKyAgICAgY29uc3Qgc3RydWN0IGxzX3BvcnRf Z3JvdXBfdGFibGUgKmxzX3BncywKKyAgICAgY29uc3Qgc3RydWN0IGxyX3N0YXRlZnVsX3RhYmxl ICpscl9zdGF0ZWZ1bF90YWJsZSwKKyAgICAgY29uc3Qgc3RydWN0IGxzX3N0YXRlZnVsX3RhYmxl ICpsc19zdGF0ZWZ1bF90YWJsZSwKKy0gICAgY29uc3Qgc3RydWN0IGxzX2FycF90YWJsZSAqbHNf YXJwX3RhYmxlLAorICAgICBzdHJ1Y3QgbGZsb3dfdGFibGUgKmxmbG93cywKKyAgICAgY29uc3Qg c3RydWN0IHNoYXNoICptZXRlcl9ncm91cHMsCisgICAgIGNvbnN0IHN0cnVjdCBobWFwICpsYl9k cHNfbWFwLAorQEAgLTE5NzU5LDcgKzE5NjkzLDYgQEAgYnVpbGRfbHN3aXRjaF9hbmRfbHJvdXRl cl9mbG93cygKKyAgICAgICAgICAgICBsc2l2W2luZGV4XS5sc19wb3J0X2dyb3VwcyA9IGxzX3Bn czsKKyAgICAgICAgICAgICBsc2l2W2luZGV4XS5scl9zdGF0ZWZ1bF90YWJsZSA9IGxyX3N0YXRl ZnVsX3RhYmxlOworICAgICAgICAgICAgIGxzaXZbaW5kZXhdLmxzX3N0YXRlZnVsX3RhYmxlID0g bHNfc3RhdGVmdWxfdGFibGU7CistICAgICAgICAgICAgbHNpdltpbmRleF0ubHNfYXJwX3RhYmxl ID0gbHNfYXJwX3RhYmxlOworICAgICAgICAgICAgIGxzaXZbaW5kZXhdLm1ldGVyX2dyb3VwcyA9 IG1ldGVyX2dyb3VwczsKKyAgICAgICAgICAgICBsc2l2W2luZGV4XS5sYl9kcHNfbWFwID0gbGJf ZHBzX21hcDsKKyAgICAgICAgICAgICBsc2l2W2luZGV4XS5sb2NhbF9zdmNfbW9uaXRvcl9tYXAg PQorQEAgLTE5Nzk2LDcgKzE5NzI5LDYgQEAgYnVpbGRfbHN3aXRjaF9hbmRfbHJvdXRlcl9mbG93 cygKKyAgICAgfSBlbHNlIHsKKyAgICAgICAgIGNvbnN0IHN0cnVjdCBscl9zdGF0ZWZ1bF9yZWNv cmQgKmxyX3N0YXRlZnVsX3JlYzsKKyAgICAgICAgIGNvbnN0IHN0cnVjdCBsc19zdGF0ZWZ1bF9y ZWNvcmQgKmxzX3N0YXRlZnVsX3JlYzsKKy0gICAgICAgIGNvbnN0IHN0cnVjdCBsc19hcnBfcmVj b3JkICpsc19hcnBfcmVjOworICAgICAgICAgc3RydWN0IG92bl9sYl9kYXRhcGF0aHMgKmxiX2Rw czsKKyAgICAgICAgIHN0cnVjdCBvdm5fZGF0YXBhdGggKm9kOworICAgICAgICAgc3RydWN0IG92 bl9wb3J0ICpvcDsKK0BAIC0xOTgwOSw3ICsxOTc0MSw2IEBAIGJ1aWxkX2xzd2l0Y2hfYW5kX2xy b3V0ZXJfZmxvd3MoCisgICAgICAgICAgICAgLmxzX3BvcnRfZ3JvdXBzID0gbHNfcGdzLAorICAg ICAgICAgICAgIC5scl9zdGF0ZWZ1bF90YWJsZSA9IGxyX3N0YXRlZnVsX3RhYmxlLAorICAgICAg ICAgICAgIC5sc19zdGF0ZWZ1bF90YWJsZSA9IGxzX3N0YXRlZnVsX3RhYmxlLAorLSAgICAgICAg ICAgIC5sc19hcnBfdGFibGUgPSBsc19hcnBfdGFibGUsCisgICAgICAgICAgICAgLmxmbG93cyA9 IGxmbG93cywKKyAgICAgICAgICAgICAubWV0ZXJfZ3JvdXBzID0gbWV0ZXJfZ3JvdXBzLAorICAg ICAgICAgICAgIC5sYl9kcHNfbWFwID0gbGJfZHBzX21hcCwKK0BAIC0xOTkwNiwxMiArMTk4Mzcs NiBAQCBidWlsZF9sc3dpdGNoX2FuZF9scm91dGVyX2Zsb3dzKAorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGxzaS5zYnJlY19hY2xfaWRfdGFibGUpOworICAgICAgICAgfQor IAorLSAgICAgICAgTFNfQVJQX1RBQkxFX0ZPUl9FQUNIIChsc19hcnBfcmVjLCBsc19hcnBfdGFi bGUpIHsKKy0gICAgICAgICAgICBvZCA9IG92bl9kYXRhcGF0aHNfZmluZF9ieV9pbmRleChsc2ku bHNfZGF0YXBhdGhzLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGxzX2FycF9yZWMtPmxzX2luZGV4KTsKKy0gICAgICAgICAgICBidWlsZF9sc3dpdGNoX2Fy cF9jaGFzc2lzX3Jlc2lkZW50KG9kLCBsc2kubGZsb3dzLCBsc19hcnBfcmVjKTsKKy0gICAgICAg IH0KKy0KKyAgICAgICAgIGRzX2Rlc3Ryb3koJmxzaS5tYXRjaCk7CisgICAgICAgICBkc19kZXN0 cm95KCZsc2kuYWN0aW9ucyk7CisgICAgIH0KK0BAIC0xOTk5NSw3ICsxOTkyMCw2IEBAIHZvaWQg YnVpbGRfbGZsb3dzKHN0cnVjdCBvdnNkYl9pZGxfdHhuICpvdm5zYl90eG4sCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5wdXRfZGF0YS0+bHNfcG9ydF9ncm91cHMsCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5wdXRfZGF0YS0+bHJfc3RhdGVm dWxfdGFibGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5wdXRfZGF0 YS0+bHNfc3RhdGVmdWxfdGFibGUsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgaW5wdXRfZGF0YS0+bHNfYXJwX3RhYmxlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGxmbG93cywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp bnB1dF9kYXRhLT5tZXRlcl9ncm91cHMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgaW5wdXRfZGF0YS0+bGJfZGF0YXBhdGhzX21hcCwKK0BAIC0yMDQ0MSw0MiArMjAzNjUs NiBAQCBsZmxvd19oYW5kbGVfbHNfc3RhdGVmdWxfY2hhbmdlcyhzdHJ1Y3Qgb3ZzZGJfaWRsX3R4 biAqb3Zuc2JfdHhuLAorICAgICByZXR1cm4gdHJ1ZTsKKyB9CisgCistYm9vbAorLWxmbG93X2hh bmRsZV9sc19hcnBfY2hhbmdlcyhzdHJ1Y3Qgb3ZzZGJfaWRsX3R4biAqb3Zuc2JfdHhuLAorLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgbHNfYXJwX3RyYWNrZWRfZGF0YSAqdHJr X2RhdGEsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBsZmxvd19pbnB1dCAq bGZsb3dfaW5wdXQsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBsZmxvd190 YWJsZSAqbGZsb3dzKQorLXsKKy0gICAgc3RydWN0IGhtYXB4X25vZGUgKmhtYXB4X25vZGU7Cist CistICAgIEhNQVBYX0ZPUl9FQUNIIChobWFweF9ub2RlLCAmdHJrX2RhdGEtPmNydXBkYXRlZCkg eworLSAgICAgICAgY29uc3Qgc3RydWN0IGxzX2FycF9yZWNvcmQgKmxzX2FycF9yZWNvcmQgPSBo bWFweF9ub2RlLT5kYXRhOworLSAgICAgICAgY29uc3Qgc3RydWN0IG92bl9kYXRhcGF0aCAqb2Qg PQorLSAgICAgICAgICAgIG92bl9kYXRhcGF0aHNfZmluZF9ieV9pbmRleChsZmxvd19pbnB1dC0+ bHNfZGF0YXBhdGhzLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBs c19hcnBfcmVjb3JkLT5sc19pbmRleCk7CistICAgICAgICBsZmxvd19yZWZfdW5saW5rX2xmbG93 cyhsc19hcnBfcmVjb3JkLT5sZmxvd19yZWYpOworLQorLSAgICAgICAgYnVpbGRfbHN3aXRjaF9h cnBfY2hhc3Npc19yZXNpZGVudChvZCwgbGZsb3dzLCBsc19hcnBfcmVjb3JkKTsKKy0KKy0gICAg ICAgIGJvb2wgaGFuZGxlZCA9IGxmbG93X3JlZl9zeW5jX2xmbG93cygKKy0gICAgICAgICAgICBs c19hcnBfcmVjb3JkLT5sZmxvd19yZWYsIGxmbG93cywgb3Zuc2JfdHhuLAorLSAgICAgICAgICAg IGxmbG93X2lucHV0LT5kcHMsCistICAgICAgICAgICAgbGZsb3dfaW5wdXQtPm92bl9pbnRlcm5h bF92ZXJzaW9uX2NoYW5nZWQsCistICAgICAgICAgICAgbGZsb3dfaW5wdXQtPnNicmVjX2xvZ2lj YWxfZmxvd190YWJsZSwKKy0gICAgICAgICAgICBsZmxvd19pbnB1dC0+c2JyZWNfbG9naWNhbF9k cF9ncm91cF90YWJsZSk7CistICAgICAgICBpZiAoIWhhbmRsZWQpIHsKKy0gICAgICAgICAgICBy ZXR1cm4gZmFsc2U7CistICAgICAgICB9CistICAgIH0KKy0KKy0gICAgSE1BUFhfRk9SX0VBQ0gg KGhtYXB4X25vZGUsICZ0cmtfZGF0YS0+ZGVsZXRlZCkgeworLSAgICAgICAgc3RydWN0IGxzX2Fy cF9yZWNvcmQgKmxzX2FycF9yZWNvcmQgPSBobWFweF9ub2RlLT5kYXRhOworLSAgICAgICAgbGZs b3dfcmVmX3VubGlua19sZmxvd3MobHNfYXJwX3JlY29yZC0+bGZsb3dfcmVmKTsKKy0gICAgfQor LQorLSAgICByZXR1cm4gdHJ1ZTsKKy19CistCisgc3RhdGljIGJvb2wKKyBtaXJyb3JfbmVlZHNf dXBkYXRlKGNvbnN0IHN0cnVjdCBuYnJlY19taXJyb3IgKm5iX21pcnJvciwKKyAgICAgICAgICAg ICAgICAgICAgIGNvbnN0IHN0cnVjdCBzYnJlY19taXJyb3IgKnNiX21pcnJvcikKK2RpZmYgLS1n aXQgYS9ub3J0aGQvbm9ydGhkLmggYi9ub3J0aGQvbm9ydGhkLmgKK2luZGV4IDdmMmI0YzkwMDQu Ljk4ZWE0YzhhMTcgMTAwNjQ0CistLS0gYS9ub3J0aGQvbm9ydGhkLmgKKysrKyBiL25vcnRoZC9u b3J0aGQuaAorQEAgLTI5LDcgKzI5LDYgQEAKKyAjaW5jbHVkZSAic2ltYXAuaCIKKyAjaW5jbHVk ZSAib3ZzLXRocmVhZC5oIgorICNpbmNsdWRlICJlbi1sci1zdGF0ZWZ1bC5oIgorLSNpbmNsdWRl ICJlbi1scy1hcnAuaCIKKyAjaW5jbHVkZSAidmVjLmgiCisgI2luY2x1ZGUgImRhdGFwYXRoLXN5 bmMuaCIKKyAjaW5jbHVkZSAic3BhcnNlLWFycmF5LmgiCitAQCAtMjcxLDcgKzI3MCw2IEBAIHN0 cnVjdCBsZmxvd19pbnB1dCB7CisgICAgIGNvbnN0IHN0cnVjdCBsc19wb3J0X2dyb3VwX3RhYmxl ICpsc19wb3J0X2dyb3VwczsKKyAgICAgY29uc3Qgc3RydWN0IGxyX3N0YXRlZnVsX3RhYmxlICps cl9zdGF0ZWZ1bF90YWJsZTsKKyAgICAgY29uc3Qgc3RydWN0IGxzX3N0YXRlZnVsX3RhYmxlICps c19zdGF0ZWZ1bF90YWJsZTsKKy0gICAgY29uc3Qgc3RydWN0IGxzX2FycF90YWJsZSAqbHNfYXJw X3RhYmxlOworICAgICBjb25zdCBzdHJ1Y3Qgc2hhc2ggKm1ldGVyX2dyb3VwczsKKyAgICAgY29u c3Qgc3RydWN0IGhtYXAgKmxiX2RhdGFwYXRoc19tYXA7CisgICAgIGNvbnN0IHN0cnVjdCBzc2V0 ICpiZmRfcG9ydHM7CitAQCAtNDc2LDkgKzQ3NCw2IEBAIHN0cnVjdCBvdm5fZGF0YXBhdGggewor ICAgICAgKiBWYWxpZCBvbmx5IGlmIGl0IGlzIGxvZ2ljYWwgcm91dGVyIGRhdGFwYXRoLiBOVUxM IG90aGVyd2lzZS4gKi8KKyAgICAgc3RydWN0IGxyb3V0ZXJfZ3JvdXAgKmxyX2dyb3VwOworIAor LSAgICAvKiBTZXQgb2YgbG9jYWxuZXQgb3IgbDJndyBwb3J0cy4gKi8KKy0gICAgc3RydWN0IGht YXB4IHBoeXNfcG9ydHM7CistCisgICAgIC8qIE1hcCBvZiBvdm5fcG9ydCBvYmplY3RzIGJlbG9u Z2luZyB0byB0aGlzIGRhdGFwYXRoLgorICAgICAgKiBUaGlzIG1hcCBkb2Vzbid0IGluY2x1ZGUg ZGVyaXZlZCBwb3J0cy4gKi8KKyAgICAgc3RydWN0IGhtYXAgcG9ydHM7CitAQCAtNTEzLDYgKzUw OCwxMiBAQCBvdm5fZGF0YXBhdGhfaXNfc3RhbGUoY29uc3Qgc3RydWN0IG92bl9kYXRhcGF0aCAq b2QpCisgICAgIHJldHVybiAhb2QtPm5iciAmJiAhb2QtPm5iczsKKyB9OworIAorK3N0YXRpYyBp bmxpbmUgYm9vbAorK2xzX2hhc19sb2NhbG5ldF9wb3J0KGNvbnN0IHN0cnVjdCBvdm5fZGF0YXBh dGggKm9kKQorK3sKKysgICAgcmV0dXJuICF2ZWN0b3JfaXNfZW1wdHkoJm9kLT5sb2NhbG5ldF9w b3J0cyk7CisrfQorKworIC8qIFBpcGVsaW5lIHN0YWdlcy4gKi8KKyAjZGVmaW5lIFBJUEVMSU5F X1NUQUdFUyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IFwKKyAgICAgLyogTG9naWNhbCBzd2l0Y2ggaW5ncmVzcyBzdGFnZXMuICovICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIFwKK0BAIC05NzQsMTAgKzk3NSw2IEBAIGJvb2wgbGZsb3df aGFuZGxlX2xzX3N0YXRlZnVsX2NoYW5nZXMoc3RydWN0IG92c2RiX2lkbF90eG4gKiwKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBsc19zdGF0ZWZ1bF90cmFj a2VkX2RhdGEgKiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVj dCBsZmxvd19pbnB1dCAqLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg c3RydWN0IGxmbG93X3RhYmxlICpsZmxvd3MpOworLWJvb2wgbGZsb3dfaGFuZGxlX2xzX2FycF9j aGFuZ2VzKHN0cnVjdCBvdnNkYl9pZGxfdHhuICosCistICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgc3RydWN0IGxzX2FycF90cmFja2VkX2RhdGEgKiwKKy0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBzdHJ1Y3QgbGZsb3dfaW5wdXQgKiwKKy0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBzdHJ1Y3QgbGZsb3dfdGFibGUgKmxmbG93cyk7CisgYm9vbCBub3J0 aGRfaGFuZGxlX3NiX3BvcnRfYmluZGluZ19jaGFuZ2VzKAorICAgICBjb25zdCBzdHJ1Y3Qgc2Jy ZWNfcG9ydF9iaW5kaW5nX3RhYmxlICosIHN0cnVjdCBobWFwICpsc19wb3J0cywKKyAgICAgc3Ry dWN0IGhtYXAgKmxyX3BvcnRzKTsKK2RpZmYgLS1naXQgYS9ub3J0aGQvb3ZuLW5vcnRoZC44Lnht bCBiL25vcnRoZC9vdm4tbm9ydGhkLjgueG1sCitpbmRleCA0ZDYzNzBkYTZiLi43MTA4ZWM3OTg0 IDEwMDY0NAorLS0tIGEvbm9ydGhkL292bi1ub3J0aGQuOC54bWwKKysrKyBiL25vcnRoZC9vdm4t bm9ydGhkLjgueG1sCitAQCAtMzEwLDE1ICszMTAsNiBAQAorICAgICAgICAgPC9wPgorICAgICAg IDwvbGk+CisgCistICAgICAgPGxpPgorLSAgICAgICAgRm9yIGVhY2ggbG9naWNhbCBzd2l0Y2gg dGhhdCBoYXMgY29ubmVjdGVkIHBoeXNpY2FsIHBvcnRzCistICAgICAgICAobG9jYWxuZXQgb3Ig bDJnYXRld2F5KSBhbmQgaXMgYWxzbyBjb25uZWN0ZWQgdG8gYSBkaXN0cmlidXRlZCByb3V0ZXIs CistICAgICAgICBmaWx0ZXJpbmcgcnVsZXMgYXJlIGFkZGVkIGZvciBBUlAgcmVxdWVzdHMgY29t aW5nIGZyb20gbG9jYWxuZXQgb3IKKy0gICAgICAgIGwyZ2F0ZXdheSBwb3J0cywgYWxsb3dlZCBm b3IgcHJvY2Vzc2luZyBvbiBnYXRld2F5IGNoYXNzaXMuCistICAgICAgICBUaGUgPGNvZGU+UkVH QklUX0VYVF9BUlA8L2NvZGU+IHJlZ2lzdGVyIGlzIHNldCBmb3IgYWxsIEFSUCByZXF1ZXN0cwor LSAgICAgICAgb3JpZ2luYXRpbmcgZnJvbSBwaHlzaWNhbCBwb3J0cyB3aXRoIHByaW9yaXR5IDc1 IGZsb3cuCistICAgICAgPC9saT4KKy0KKyAgICAgICA8bGk+CisgICAgICAgICBGb3IgZWFjaCAo ZW5hYmxlZCkgdnRlcCBsb2dpY2FsIHBvcnQsIGEgcHJpb3JpdHkgNzAgZmxvdyBpcyBhZGRlZCB3 aGljaAorICAgICAgICAgbWF0Y2hlcyBvbiBhbGwgcGFja2V0cyBhbmQgYXBwbGllcyB0aGUgYWN0 aW9uCitAQCAtNDA1LDEzICszOTYsNiBAQAorICAgICAgICAgT25lIHByaW9yaXR5LTAgZmFsbGJh Y2sgZmxvdyB0aGF0IG1hdGNoZXMgYWxsIHBhY2tldHMgYW5kIGFkdmFuY2VzIHRvCisgICAgICAg ICB0aGUgbmV4dCB0YWJsZS4KKyAgICAgICA8L2xpPgorLQorLSAgICAgIDxsaT4KKy0gICAgICAg IFByaW9yaXR5IDc1OiBBbGxvd3MgPGNvZGU+UkVHQklUX0VYVF9BUlA8L2NvZGU+IHBhY2tldHMg b25seSBvbiBnYXRld2F5CistICAgICAgICBjaGFzc2lzIGFuZCBjaGFzc2lzIHdpdGggZGlzdHJp YnV0ZWQgTkFUIGVudHJpZXMuCistICAgICAgICBQcmlvcml0eSA3MDogRHJvcHMgPGNvZGU+UkVH QklUX0VYVF9BUlA8L2NvZGU+IHBhY2tldHMgb24gbm9uLWdhdGV3YXkKKy0gICAgICAgIGNoYXNz aXMgKGNvbXBsZW1lbnRzIHRoZSBwcmlvcml0eSA3NSBmbG93KS4KKy0gICAgICA8L2xpPgorICAg ICA8L3VsPgorIAorICAgICA8aDM+SW5ncmVzcyBUYWJsZSAyOiBNaXJyb3IgPC9oMz4KK0BAIC00 ODgsNiArNDcyLDIxIEBACisgICAgICAgICA8L3VsPgorICAgICAgIDwvbGk+CisgCisrICAgICAg PGxpPgorKyAgICAgICAgPHA+CisrICAgICAgICAgIEZvciBlYWNoIGxvY2FsbmV0IGxvZ2ljYWwg cG9ydCA8dmFyPnA8L3Zhcj4sIGEgcHJpb3JpdHktNTAKKysgICAgICAgICAgZmFsbGJhY2sgZmxv dyBpcyBhZGRlZCB3aXRoIHRoZSBtYXRjaAorKyAgICAgICAgICA8Y29kZT5pbnBvcnQgPT0gPHZh cj5wPC92YXI+PC9jb2RlPiBhbmQgYWN0aW9uCisrICAgICAgICAgIDxjb2RlPmZsYWdzLmxvY2Fs bmV0ID0gMTsgbmV4dDs8L2NvZGU+LiAgVGhpcyBtYXJrcyB0cmFmZmljCisrICAgICAgICAgIGFy cml2aW5nIGZyb20gbG9jYWxuZXQgcG9ydHMgc28gdGhhdCBkb3duc3RyZWFtIHN0YWdlcyAoZS5n LiwKKysgICAgICAgICAgQVJQL05EIHJlc3BvbmRlcikgY2FuIGNvbmRpdGlvbiB0aGVpciBiZWhh dmlvci4gIFdoZW4gRkRCCisrICAgICAgICAgIGxlYXJuaW5nIGlzIGVuYWJsZWQgb24gdGhlIGxv Y2FsbmV0IHBvcnQsIHRoZSBwcmlvcml0eS0xMDAKKysgICAgICAgICAgZmxvdyBkZXNjcmliZWQg YWJvdmUgYWxyZWFkeSBzZXRzIDxjb2RlPmZsYWdzLmxvY2FsbmV0PC9jb2RlPiwKKysgICAgICAg ICAgc28gdGhpcyBwcmlvcml0eS01MCBmbG93IG9ubHkgdGFrZXMgZWZmZWN0IHdoZW4gRkRCIGxl YXJuaW5nCisrICAgICAgICAgIGlzIG5vdCBjb25maWd1cmVkLgorKyAgICAgICAgPC9wPgorKyAg ICAgIDwvbGk+CisrCisgICAgICAgPGxpPgorICAgICAgICAgT25lIHByaW9yaXR5LTAgZmFsbGJh Y2sgZmxvdyB0aGF0IG1hdGNoZXMgYWxsIHBhY2tldHMgYW5kIGFkdmFuY2VzIHRvCisgICAgICAg ICB0aGUgbmV4dCB0YWJsZS4KK0BAIC0xNzM0LDEyICsxNzMzLDE2IEBACisgICAgIDwvcD4KKyAK KyAgICAgPHA+CistICAgICAgTm90ZSB0aGF0IEFSUCByZXF1ZXN0cyByZWNlaXZlZCBmcm9tIDxj b2RlPmxvY2FsbmV0PC9jb2RlPiBsb2dpY2FsCistICAgICAgaW5wb3J0cyBjYW4gZWl0aGVyIGdv IGRpcmVjdGx5IHRvIFZNcywgaW4gd2hpY2ggY2FzZSB0aGUgVk0gcmVzcG9uZHMgb3IKKy0gICAg ICBjYW4gaGl0IGFuIEFSUCByZXNwb25kZXIgZm9yIGEgbG9naWNhbCByb3V0ZXIgcG9ydCBpZiB0 aGUgcGFja2V0IGlzIHVzZWQKKy0gICAgICB0byByZXNvbHZlIGEgbG9naWNhbCByb3V0ZXIgcG9y dCBuZXh0IGhvcCBhZGRyZXNzLiAgSW4gZWl0aGVyIGNhc2UsCistICAgICAgbG9naWNhbCBzd2l0 Y2ggQVJQIHJlc3BvbmRlciBydWxlcyB3aWxsIG5vdCBiZSBoaXQuICBJdCBjb250YWlucyB0aGVz ZQorLSAgICAgIGxvZ2ljYWwgZmxvd3M6CisrICAgICAgQVJQL05EIHJlcXVlc3RzIHJlY2VpdmVk IGZyb20gPGNvZGU+bG9jYWxuZXQ8L2NvZGU+IGxvZ2ljYWwgaW5wb3J0cworKyAgICAgIGRvIGhp dCB0aGUgQVJQL05EIHJlc3BvbmRlciwgYnV0IHRoZSByZXNwb25zZSBpcyBsaW1pdGVkIHRvIHRo ZQorKyAgICAgIGNoYXNzaXMgdGhhdCBob3N0cyB0aGUgdGFyZ2V0IFZJRi4gIFRoaXMgaXMgYWNo aWV2ZWQgYnkgYWRkaW5nCisrICAgICAgYSA8Y29kZT5mbGFncy5sb2NhbG5ldDwvY29kZT4gY2hl Y2sgdG8gdGhlIHByaW9yaXR5LTUwIHJlcGx5IGZsb3dzCisrICAgICAgKHNlZSBiZWxvdyk6IHdo ZW4gdGhlIHJlcXVlc3QgYXJyaXZlcyBmcm9tIGEgbG9jYWxuZXQgcG9ydAorKyAgICAgICg8Y29k ZT5mbGFncy5sb2NhbG5ldCA9PSAxPC9jb2RlPiksIG9ubHkgdGhlIGNoYXNzaXMgb24gd2hpY2gg dGhlCisrICAgICAgdGFyZ2V0IHBvcnQgaXMgcmVzaWRlbnQgd2lsbCByZXBseS4gIFdoZW4gdGhl IHJlcXVlc3QgYXJyaXZlcyBmcm9tCisrICAgICAgYSBub24tbG9jYWxuZXQgcG9ydCAoPGNvZGU+ ZmxhZ3MubG9jYWxuZXQgPT0gMDwvY29kZT4pLCB0aGUKKysgICAgICByZXNwb25zZSBpcyB1bmNv bmRpdGlvbmFsLCBwcmVzZXJ2aW5nIFZJRi10by1WSUYgcHJveHkgQVJQL05ECisrICAgICAgYmVo YXZpb3IuICBJdCBjb250YWlucyB0aGVzZSBsb2dpY2FsIGZsb3dzOgorICAgICAgPC9wPgorIAor ICAgICA8dWw+CitAQCAtMTc1MCwxOCArMTc1MywxMCBAQAorICAgICAgICAgcm91dGVyIGluZ3Jl c3MgcGlwZWxpbmUuCisgICAgICAgPC9saT4KKyAgICAgICA8bGk+CistICAgICAgICBJZiB0aGUg bG9naWNhbCBzd2l0Y2ggaGFzIG5vIHJvdXRlciBwb3J0cyB3aXRoIG9wdGlvbnM6YXJwX3Byb3h5 CistICAgICAgICBjb25maWd1cmVkIGFkZCBhIHByaW9yaXR5LTEwMCBmbG93cyB0byBza2lwIHRo ZSBBUlAgcmVzcG9uZGVyIGlmIGlucG9ydAorLSAgICAgICAgaXMgb2YgdHlwZSA8Y29kZT5sb2Nh bG5ldDwvY29kZT4gYWR2YW5jZXMgZGlyZWN0bHkgdG8gdGhlIG5leHQgdGFibGUuCistICAgICAg ICBBUlAgcmVxdWVzdHMgc2VudCB0byA8Y29kZT5sb2NhbG5ldDwvY29kZT4gcG9ydHMgY2FuIGJl IHJlY2VpdmVkIGJ5CistICAgICAgICBtdWx0aXBsZSBoeXBlcnZpc29ycy4gIE5vdywgYmVjYXVz ZSB0aGUgc2FtZSBtYWMgYmluZGluZyBydWxlcyBhcmUKKy0gICAgICAgIGRvd25sb2FkZWQgdG8g YWxsIGh5cGVydmlzb3JzLCBlYWNoIG9mIHRoZSBtdWx0aXBsZSBoeXBlcnZpc29ycyB3aWxsCist ICAgICAgICByZXNwb25kLiAgVGhpcyB3aWxsIGNvbmZ1c2UgTDIgbGVhcm5pbmcgb24gdGhlIHNv dXJjZSBvZiB0aGUgQVJQCistICAgICAgICByZXF1ZXN0cy4gIEFSUCByZXF1ZXN0cyByZWNlaXZl ZCBvbiBhbiBpbnBvcnQgb2YgdHlwZQorLSAgICAgICAgPGNvZGU+cm91dGVyPC9jb2RlPiBhcmUg bm90IGV4cGVjdGVkIHRvIGhpdCBhbnkgbG9naWNhbCBzd2l0Y2ggQVJQCistICAgICAgICByZXNw b25kZXIgZmxvd3MuICBIb3dldmVyLCBubyBza2lwIGZsb3dzIGFyZSBpbnN0YWxsZWQgZm9yIHRo ZXNlCistICAgICAgICBwYWNrZXRzLCBhcyB0aGVyZSB3b3VsZCBiZSBzb21lIGFkZGl0aW9uYWwg ZmxvdyBjb3N0IGZvciB0aGlzIGFuZCB0aGUKKy0gICAgICAgIHZhbHVlIGFwcGVhcnMgbGltaXRl ZC4KKysgICAgICAgIEFSUC9ORCByZXF1ZXN0cyByZWNlaXZlZCBvbiBhbiBpbnBvcnQgb2YgdHlw ZSA8Y29kZT5yb3V0ZXI8L2NvZGU+IGFyZQorKyAgICAgICAgbm90IGV4cGVjdGVkIHRvIGhpdCBh bnkgbG9naWNhbCBzd2l0Y2ggQVJQIHJlc3BvbmRlciBmbG93cy4gIEhvd2V2ZXIsCisrICAgICAg ICBubyBza2lwIGZsb3dzIGFyZSBpbnN0YWxsZWQgZm9yIHRoZXNlIHBhY2tldHMsIGFzIHRoZXJl IHdvdWxkIGJlIHNvbWUKKysgICAgICAgIGFkZGl0aW9uYWwgZmxvdyBjb3N0IGZvciB0aGlzIGFu ZCB0aGUgdmFsdWUgYXBwZWFycyBsaW1pdGVkLgorICAgICAgIDwvbGk+CisgCisgICAgICAgPGxp PgorQEAgLTE4MTYsNiArMTgxMSwxOCBAQCBmbGFncy5sb29wYmFjayA9IDE7Cisgb3V0cHV0Owor ICAgICAgICAgPC9wcmU+CisgCisrICAgICAgICA8cD4KKysgICAgICAgICAgT24gbG9naWNhbCBz d2l0Y2hlcyB0aGF0IGhhdmUgYSBsb2NhbG5ldCBwb3J0LCB0aGUgbWF0Y2ggZm9yCisrICAgICAg ICAgIHRoZXNlIGZsb3dzIGluY2x1ZGVzIGFuIGFkZGl0aW9uYWwgY29uZGl0aW9uOgorKyAgICAg ICAgICA8Y29kZT4oKGZsYWdzLmxvY2FsbmV0ID09IDEgJmFtcDsmYW1wOworKyAgICAgICAgICBp c19jaGFzc2lzX3Jlc2lkZW50KDx2YXI+cG9ydDwvdmFyPikpIHx8CisrICAgICAgICAgIGZsYWdz LmxvY2FsbmV0ID09IDApPC9jb2RlPi4KKysgICAgICAgICAgVGhpcyBlbnN1cmVzIHRoYXQgd2hl biBhbiBBUlAgcmVxdWVzdCBhcnJpdmVzIGZyb20gYSBsb2NhbG5ldAorKyAgICAgICAgICBwb3J0 LCBvbmx5IHRoZSBjaGFzc2lzIGhvc3RpbmcgdGhlIHRhcmdldCBWSUYgcmVzcG9uZHMuICBXaGVu CisrICAgICAgICAgIHRoZSByZXF1ZXN0IGFycml2ZXMgZnJvbSBhIG5vbi1sb2NhbG5ldCBwb3J0 LCB0aGUgcmVzcG9uc2UgaXMKKysgICAgICAgICAgdW5jb25kaXRpb25hbCwgcHJlc2VydmluZyBW SUYtdG8tVklGIHByb3h5IEFSUCBiZWhhdmlvci4KKysgICAgICAgIDwvcD4KKysKKyAgICAgICAg IDxwPgorICAgICAgICAgICBUaGVzZSBmbG93cyBhcmUgb21pdHRlZCBmb3IgbG9naWNhbCBwb3J0 cyAob3RoZXIgdGhhbiByb3V0ZXIgcG9ydHMgb3IKKyAgICAgICAgICAgPGNvZGU+bG9jYWxwb3J0 PC9jb2RlPiBwb3J0cykgdGhhdCBhcmUgZG93biAodW5sZXNzIDxjb2RlPgorQEAgLTE4NzcsNiAr MTg4NCwxOSBAQCBuZF9uYV9yb3V0ZXIgeworIH07CisgICAgICAgICA8L3ByZT4KKyAKKysgICAg ICAgIDxwPgorKyAgICAgICAgICBPbiBsb2dpY2FsIHN3aXRjaGVzIHRoYXQgaGF2ZSBhIGxvY2Fs bmV0IHBvcnQsIHRoZSBtYXRjaCBmb3IKKysgICAgICAgICAgdGhlc2UgZmxvd3MgaW5jbHVkZXMg YW4gYWRkaXRpb25hbCBjb25kaXRpb246CisrICAgICAgICAgIDxjb2RlPigoZmxhZ3MubG9jYWxu ZXQgPT0gMSAmYW1wOyZhbXA7CisrICAgICAgICAgIGlzX2NoYXNzaXNfcmVzaWRlbnQoPHZhcj5w b3J0PC92YXI+KSkgfHwKKysgICAgICAgICAgZmxhZ3MubG9jYWxuZXQgPT0gMCk8L2NvZGU+Lgor KyAgICAgICAgICBUaGlzIGVuc3VyZXMgdGhhdCB3aGVuIGFuIE5EIHNvbGljaXRhdGlvbiBhcnJp dmVzIGZyb20gYQorKyAgICAgICAgICBsb2NhbG5ldCBwb3J0LCBvbmx5IHRoZSBjaGFzc2lzIGhv c3RpbmcgdGhlIHRhcmdldCBWSUYKKysgICAgICAgICAgcmVzcG9uZHMuICBXaGVuIHRoZSBzb2xp Y2l0YXRpb24gYXJyaXZlcyBmcm9tIGEgbm9uLWxvY2FsbmV0CisrICAgICAgICAgIHBvcnQsIHRo ZSByZXNwb25zZSBpcyB1bmNvbmRpdGlvbmFsLCBwcmVzZXJ2aW5nIFZJRi10by1WSUYKKysgICAg ICAgICAgcHJveHkgTkQgYmVoYXZpb3IuCisrICAgICAgICA8L3A+CisrCisgICAgICAgICA8cD4K KyAgICAgICAgICAgVGhlc2UgZmxvd3MgYXJlIG9taXR0ZWQgZm9yIGxvZ2ljYWwgcG9ydHMgKG90 aGVyIHRoYW4gcm91dGVyIHBvcnRzIG9yCisgICAgICAgICAgIDxjb2RlPmxvY2FscG9ydDwvY29k ZT4gcG9ydHMpIHRoYXQgYXJlIGRvd24gKHVubGVzcyA8Y29kZT4KK0BAIC0xODk2LDggKzE5MTYs OCBAQCBuZF9uYV9yb3V0ZXIgeworIAorICAgICAgIDxsaT4KKyAgICAgICAgIDxwPgorLSAgICAg ICAgICBQcmlvcml0eS0xMDAgZmxvd3Mgd2l0aCBtYXRjaCBjcml0ZXJpYSBsaWtlIHRoZSBBUlAg YW5kIE5EIGZsb3dzCistICAgICAgICAgIGFib3ZlLCBleGNlcHQgdGhhdCB0aGV5IG9ubHkgbWF0 Y2ggcGFja2V0cyBmcm9tIHRoZQorKyAgICAgICAgICBQcmlvcml0eS0xMDAgZmxvd3Mgd2l0aCBt YXRjaCBjcml0ZXJpYSBzaW1pbGFyIHRvIHRoZSBBUlAgYW5kIE5ECisrICAgICAgICAgIGZsb3dz IGFib3ZlLCBleGNlcHQgdGhhdCB0aGV5IG9ubHkgbWF0Y2ggcGFja2V0cyBmcm9tIHRoZQorICAg ICAgICAgICA8Y29kZT5pbnBvcnQ8L2NvZGU+IHRoYXQgb3ducyB0aGUgSVAgYWRkcmVzc2VzIGlu IHF1ZXN0aW9uLCB3aXRoCisgICAgICAgICAgIGFjdGlvbiA8Y29kZT5uZXh0OzwvY29kZT4uICBU aGVzZSBmbG93cyBwcmV2ZW50IE9WTiBmcm9tIHJlcGx5aW5nIHRvLAorICAgICAgICAgICBmb3Ig ZXhhbXBsZSwgYW4gQVJQIHJlcXVlc3QgZW1pdHRlZCBieSBhIFZNIGZvciBpdHMgb3duIElQIGFk ZHJlc3MuCitkaWZmIC0tZ2l0IGEvbm9ydGhkL292bi1ub3J0aGQuYyBiL25vcnRoZC9vdm4tbm9y dGhkLmMKK2luZGV4IDBlZDJlYjE3YWQuLjI5MzMzYzNlYzEgMTAwNjQ0CistLS0gYS9ub3J0aGQv b3ZuLW5vcnRoZC5jCisrKysgYi9ub3J0aGQvb3ZuLW5vcnRoZC5jCitAQCAtMTExMSwxMCArMTEx MSwxOCBAQCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pCisgCisgICAgICAgICAgICAgICAg IC8qIE1ha2Ugc3VyZSB3ZSBkb24ndCBidW1wIHRoZSBuZXh0X2NmZyB3aGVuIHdlIHNob3VsZG4n dC4KKyAgICAgICAgICAgICAgICAgICogVGhpcyBzaG91bGQgcHJldmVudCBvdm4tbmJjdGwgc3lu YyBjYWxscyB0byByZXR1cm4gYmVmb3JlCistICAgICAgICAgICAgICAgICAqIHRoZSBTQiB1cGRh dGVzIGFyZSBhY3R1YWxseSBkb25lLiAqLworKyAgICAgICAgICAgICAgICAgKiB0aGUgU0IgdXBk YXRlcyBhcmUgYWN0dWFsbHkgZG9uZS4KKysgICAgICAgICAgICAgICAgICoKKysgICAgICAgICAg ICAgICAgICogVHJhY2sgdGhhdCB0aGUgYWJvcnQgd2FzIGludGVudGlvbmFsIHNvIHdlIGNhbiBk aXN0aW5ndWlzaAorKyAgICAgICAgICAgICAgICAgKiBpdCBmcm9tIGEgcmVhbCBjb21taXQgZmFp bHVyZSBiZWxvdzsgb3RoZXJ3aXNlIHRoZSBhYm9ydAorKyAgICAgICAgICAgICAgICAgKiB3b3Vs ZCBmZWVkIGJhY2sgaW50byB0aGUgZm9yY2UtcmVjb21wdXRlIHBhdGgsIGNyZWF0aW5nIGEKKysg ICAgICAgICAgICAgICAgICogYnVzeSBsb29wIHdoZW5ldmVyIE5CLm5iX2NmZyBrZWVwcyBhZHZh bmNpbmcgYnV0IHRoZQorKyAgICAgICAgICAgICAgICAgKiBlbmdpbmUgcHJvZHVjZXMgbm8gU0Ig YWN0aXZpdHkuICovCisrICAgICAgICAgICAgICAgIGJvb2wgb3Zuc2JfdHhuX2Fib3J0ZWRfaW50 ZW50aW9uYWxseSA9IGZhbHNlOworICAgICAgICAgICAgICAgICBpZiAoIWFjdGl2aXR5ICYmIG92 bnNiX3R4biAmJgorICAgICAgICAgICAgICAgICAgICAgb3Zuc2JfaWRsX2xvb3AuY3VyX2NmZyAh PSBvdm5zYl9pZGxfbG9vcC5uZXh0X2NmZykgeworICAgICAgICAgICAgICAgICAgICAgb3ZzZGJf aWRsX3R4bl9hYm9ydChvdm5zYl90eG4pOworKyAgICAgICAgICAgICAgICAgICAgb3Zuc2JfdHhu X2Fib3J0ZWRfaW50ZW50aW9uYWxseSA9IHRydWU7CisgICAgICAgICAgICAgICAgIH0KKyAKKyAg ICAgICAgICAgICAgICAgLyogSWYgdGhlcmUgYXJlIGFueSBlcnJvcnMsIHdlIGZvcmNlIGEgZnVs bCByZWNvbXB1dGUgaW4gb3JkZXIKK0BAIC0xMTI1LDcgKzExMzMsOCBAQCBtYWluKGludCBhcmdj LCBjaGFyICphcmd2W10pCisgICAgICAgICAgICAgICAgICAgICBpbmNfcHJvY19ub3J0aGRfZm9y Y2VfcmVjb21wdXRlX2ltbWVkaWF0ZSgpOworICAgICAgICAgICAgICAgICB9CisgCistICAgICAg ICAgICAgICAgIGlmICghb3ZzZGJfaWRsX2xvb3BfY29tbWl0X2FuZF93YWl0KCZvdm5zYl9pZGxf bG9vcCkpIHsKKysgICAgICAgICAgICAgICAgaWYgKCFvdnNkYl9pZGxfbG9vcF9jb21taXRfYW5k X3dhaXQoJm92bnNiX2lkbF9sb29wKSAmJgorKyAgICAgICAgICAgICAgICAgICAgIW92bnNiX3R4 bl9hYm9ydGVkX2ludGVudGlvbmFsbHkpIHsKKyAgICAgICAgICAgICAgICAgICAgIFZMT0dfSU5G TygiT1ZOU0IgY29tbWl0IGZhaWxlZCwgIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICJmb3JjZSByZWNvbXB1dGUgbmV4dCB0aW1lLiIpOworICAgICAgICAgICAgICAgICAgICAgaW5j X3Byb2Nfbm9ydGhkX2ZvcmNlX3JlY29tcHV0ZV9pbW1lZGlhdGUoKTsKIGRpZmYgLS1naXQgYS9v dm4tbmIueG1sIGIvb3ZuLW5iLnhtbAogaW5kZXggOTU0ZWQxMTY2MS4uNjRmZGYyNWU0ZSAxMDA2 NDQKIC0tLSBhL292bi1uYi54bWwKQEAgLTI2LDMgKzI5MjQsMjU3MCBAQCBpbmRleCA5NTRlZDEx NjYxLi42NGZkZjI1ZTRlIDEwMDY0NAogICAgICAgICAgZWFzdC13ZXN0IHRyYWZmaWMgYmV0d2Vl biBub2Rlcy4KICAgICAgICAgIFJlcXVpcmVkIGNvbmZpZ3VyYXRpb246IDxyZWYgY29sdW1uPSJp cF9wb3J0X21hcHBpbmdzIi8+LgogICAgICAgICAgTk9URTogVGhlIGFkZHJlc3Npbmcgb2YgdGhl IHVuZGVybGF5IG5ldHdvcmsgbXVzdCBub3Qgb3ZlcmxhcCB3aXRoIHRoZQorZGlmZiAtLWdpdCBh L3Rlc3RzL211bHRpbm9kZS1tYWNyb3MuYXQgYi90ZXN0cy9tdWx0aW5vZGUtbWFjcm9zLmF0Citp bmRleCA1OTZkZTRjM2FmLi40YTc0ZDUxMjc3IDEwMDY0NAorLS0tIGEvdGVzdHMvbXVsdGlub2Rl LW1hY3Jvcy5hdAorKysrIGIvdGVzdHMvbXVsdGlub2RlLW1hY3Jvcy5hdAorQEAgLTQxLDI4ICs0 MSw2IEBAIG00X2RlZmluZShbTV9TVEFSVF9UQ1BEVU1QXSwKKyAgICAgXQorICkKKyAKKy1tNF9k ZWZpbmUoW01fU1RBUlRfVENQRFVNUFNfUkVDVVJTSVZFX10sIFsKKy0gICAgIG00X2lmKG00X2V2 YWwoJCMgPiAzKSwgWzFdLCBbZG5sCistICAgICAgICBuYW1lcz0iJG5hbWVzICQzIgorLSAgICAg ICAgZWNobyAiUnVubmluZyBwb2RtYW4gZXhlYyAkMSB0Y3BkdW1wIC1sICQyID4kMy50Y3BkdW1w IDI+JDMuc3RkZXJyIgorLSAgICAgICAgcG9kbWFuIGV4ZWMgJDEgdGNwZHVtcCAtbCAkMiA+JDMu dGNwZHVtcCAyPiQzLnN0ZGVyciAmCistICAgICAgICBlY2hvICJwb2RtYW4gZXhlYyAkMSBwcyAt ZWYgfCBncmVwIC12IGdyZXAgfCBncmVwIHRjcGR1bXAgJiYgcG9kbWFuIGV4ZWMgJDEga2lsbGFs bCB0Y3BkdW1wIiA+PiBjbGVhbnVwCistICAgICAgICBNX1NUQVJUX1RDUERVTVBTX1JFQ1VSU0lW RV8obTRfc2hpZnQobTRfc2hpZnQobTRfc2hpZnQoJEApKSkpCistICAgICAgICBdKQorLSAgICBd CistKQorLQorLSMgU3RhcnQgTXVsdGlwbGUgdGNwZHVtcC4gVXNlZnVsIHRvIHNwZWVkIHVwIHdo ZW4gbWFueSB0Y3BkdW1wCistIyBtdXN0IGJlIHN0YXJ0ZWQgYXMgd2FpdGluZyBmb3IgImxpc3Rl bmluZyIgdGFrZXMgdXN1YWxseSAxIHNlY29uZC4KKy1tNF9kZWZpbmUoW01fU1RBUlRfVENQRFVN UFNdLAorLSAgICBbCistICAgICBuYW1lcz0iIgorLSAgICAgTV9TVEFSVF9UQ1BEVU1QU19SRUNV UlNJVkVfKCRAKQorLSAgICAgZm9yIG5hbWUgaW4gJG5hbWVzOyBkbworLSAgICAgICAgIE9WU19X QUlUX1VOVElMKFtncmVwIC1xICJsaXN0ZW5pbmciICR7bmFtZX0uc3RkZXJyXSkKKy0gICAgIGRv bmUKKy0gICAgXQorLSkKKyAKKyAjIE1fRk9STUFUX0NUKFtpcC1hZGRyXSkKKyAjCitAQCAtNTAy LDMwICs0ODAsNiBAQCBtX2lzX2ZlZG9yYSgpIHsKKyAgICAgbV9jZW50cmFsX2FzIGdyZXAgLXFp IGZlZG9yYSAvZXRjL29zLXJlbGVhc2UKKyB9CisgCistIyBSdW4gb3ZzLXZzY3RsIHVzaW5nIEhv c3Qgc29ja2V0CistaG9zdF9vdnNfdnNjdGwoKSB7CistICAgICMgRGlzY292ZXIgaG9zdCBPVlMg c29ja2V0IG9uIGZpcnN0IGNhbGwKKy0gICAgaWYgW1sgLXogIiRIT1NUX09WU19TT0NLIiBdXTsg dGhlbgorLSAgICAgICAgZm9yIHNvY2sgaW4gL3J1bi9vcGVudnN3aXRjaC9kYi5zb2NrIC92YXIv cnVuL29wZW52c3dpdGNoL2RiLnNvY2sgL3Vzci9sb2NhbC92YXIvcnVuL29wZW52c3dpdGNoL2Ri LnNvY2s7IGRvCistICAgICAgICAgICAgaWYgW1sgLVMgIiRzb2NrIiBdXTsgdGhlbgorLSAgICAg ICAgICAgICAgICBIT1NUX09WU19TT0NLPSRzb2NrCistICAgICAgICAgICAgICAgIGJyZWFrCist ICAgICAgICAgICAgZmkKKy0gICAgICAgIGRvbmUKKy0gICAgICAgICMgRmFsbGJhY2sgb24gdW51 c3VhbCBwcmVmaXg6IGRpc2NvdmVyIGZyb20gcnVubmluZyBwcm9jZXNzCistICAgICAgICBpZiBb WyAteiAiJEhPU1RfT1ZTX1NPQ0siIF1dOyB0aGVuCistICAgICAgICAgICAgSE9TVF9PVlNfU09D Sz0kKHBzIGF1eCB8IGdyZXAgJ1tvXXZzZGItc2VydmVyJyB8IGdyZXAgLW9QICdwdW5peDpcS1te LCBdKycgfCB3aGlsZSByZWFkIHM7IGRvCistICAgICAgICAgICAgICAgIFtbIC1TICIkcyIgXV0g JiYgW1sgIiRzIiAhPSAqIiRPVlNfUlVORElSIiogXV0gJiYgZWNobyAiJHMiICYmIGJyZWFrCist ICAgICAgICAgICAgZG9uZSkKKy0gICAgICAgIGZpCistICAgICAgICBpZiBbWyAteiAiJEhPU1Rf T1ZTX1NPQ0siIF1dOyB0aGVuCistICAgICAgICAgICAgZWNobyAiRVJST1I6IENvdWxkIG5vdCBm aW5kIGhvc3QgT1ZTIHNvY2tldCIgPiYyCistICAgICAgICAgICAgQVRfRkFJTF9JRihbOl0pCist ICAgICAgICBmaQorLSAgICBmaQorLSAgICBvdnMtdnNjdGwgLS1kYj11bml4OiRIT1NUX09WU19T T0NLICIkQCIKKy19CistCisgIyBNX1NUQVJUX0w0X1NFUlZFUihbZmFrZV9ub2RlXSwgW25hbWVz cGFjZV0sIFtpcF9hZGRyXSwgW3BvcnRdLCBbcmVwbHlfc3RyaW5nXSwgW3BpZGZpbGVdKQorICMK KyAjIEhlbHBlciB0byBwcm9wZXJseSBzdGFydCBsNCBzZXJ2ZXIgaW4gaW5zaWRlICdmYWtlX25v ZGUnJ3MgbmFtZXNwYWNlJy4KK2RpZmYgLS1naXQgYS90ZXN0cy9tdWx0aW5vZGUuYXQgYi90ZXN0 cy9tdWx0aW5vZGUuYXQKK2luZGV4IGQwNzY2MDc5N2MuLjA2OWYyYTY3N2QgMTAwNjQ0CistLS0g YS90ZXN0cy9tdWx0aW5vZGUuYXQKKysrKyBiL3Rlc3RzL211bHRpbm9kZS5hdAorQEAgLTI5ODYs NDIgKzI5ODYsNDIgQEAgQVRfQ0xFQU5VUAorIAorIEFUX1NFVFVQKFtIQTogQ2hlY2sgZm9yIG1p c3NpbmcgZ2FycCBvbiBsZWFkZXIgd2hlbiBCRkQgZ29lcyBiYWNrIHVwXSkKKyAjIE5ldHdvcmsg dG9wb2xvZ3kKKy0jICAgIOKUjOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKU gOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKU gOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKU gOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKU gOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKU gOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKU gOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKU gOKUgOKUkAorLSMgICAg4pSCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDilIIKKy0jICAgIOKUgiAgIOKUjOKUgOKU gOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUkCAg ICDilIzilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDi lIDilIDilJAgICAg4pSM4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA 4pSA4pSA4pSA4pSA4pSA4pSQICAgIOKUjOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKU gOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUkCAgICDilIzilIDilIDilIDilIDilIDilIDilIDi lIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilJAgICAg4pSCCistIyAgICDilIIg ICDilIIgICBvdm4tY2hhc3Npcy0xICAg4pSCICAgIOKUgiAgIG92bi1jaGFzc2lzLTIgICDilIIg ICAg4pSCICBvdm4tZ3ctMSAgICAgICAgIOKUgiAgICDilIIgIG92bi1ndy0yICAgICAgICAg4pSC ICAgIOKUgiAgb3ZuLWNoYXNzaXMtMyAgICDilIIgICAg4pSCCistIyAgICDilIIgICDilJTilIDi lIDilIDilIDilIDilIDilIDilIDilIDilKzilIDilIDilIDilIDilIDilIDilIDilIDilIDilJgg ICAg4pSU4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSs4pSA4pSA4pSA4pSA4pSA4pSA4pSA 4pSA4pSA4pSYICAgIOKUlOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKU gOKUgOKUgOKUgOKUgOKUgOKUmCAgICDilJTilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDi lIDilIDilIDilIDilIDilIDilIDilIDilIDilJggICAg4pSU4pSA4pSA4pSA4pSA4pSA4pSA4pSA 4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSYICAgIOKUggorLSMgICAg4pSC ICAg4pSM4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pS04pSA4pSA4pSA4pSA4pSA4pSA4pSA 4pSA4pSA4pSQICAgIOKUjOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUtOKUgOKUgOKUgOKU gOKUgOKUgOKUgOKUgOKUgOKUkCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDilIIKKy0jICAgIOKUgiAg IOKUgiAgICAgICBpbnNpZGUxICAgICDilIIgICAg4pSCICAgICAgIGluc2lkZTIgICAgIOKUgiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICDilIIKKy0jICAgIOKUgiAgIOKUgiAgIDE5Mi4xNjguMS4xLzI0 ICDilIIgICAg4pSCICAgMTkyLjE2OC4xLjIvMjQgIOKUgiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDi lIIKKy0jICAgIOKUgiAgIOKUlOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUrOKUgOKUgOKU gOKUgOKUgOKUgOKUgOKUgOKUgOKUmCAgICDilJTilIDilIDilIDilIDilIDilIDilIDilIDilIDi lKzilIDilIDilIDilIDilIDilIDilIDilIDilIDilJggICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg4pSC CistIyAgICDilIIgICAgICAgICAgIOKUjOKUgOKUtOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKU gOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUtOKUgOKUkCAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIOKUggorLSMgICAg4pSCICAgICAgICAgICDilIIg ICAgICAgICAgIGluc2lkZSAgICAgICAgICAg4pSCICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAg4pSCCistIyAgICDilIIgICAgICAgICAgIOKUlOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKU gOKUgOKUgOKUgOKUgOKUgOKUrOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKU gOKUmCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIOKUggorLSMgICAg4pSCICAgICAgICAg ICAgICAgIOKUjOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUtOKUgOKUgOKUgOKUgOKUgOKU gOKUgOKUgOKUgOKUkCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDilIIKKy0jICAg IOKUgiAgICAgICAgICAgICAgICDilIIgICAgMTkyLjE2OC4xLjI1NCAg4pSCICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIOKUggorLSMgICAg4pSCICAgICAgICAgICAgICAgIOKUgiAg ICAgICAgIFIxICAgICAgICDilIIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg4pSC CistIyAgICDilIIgICAgICAgICAgICAgICAg4pSCICAgIDE5Mi4xNjguMC4yNTQgIOKUgiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICDilIIKKy0jICAgIOKUgiAgICAgICAgICAgICAg ICDilJTilIDilIDilIDilIDilIDilIDilIDilIDilIDilKzilIDilIDilIDilIDilIDilIDilIDi lIDilIDilJggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg4pSCCistIyAgICDilIIg ICAgICAgICAgICAgICAgICAgICAgICAgIOKUlC0tLS0tLWV0aDEtLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS3ilKwtLS0tLS0tLWV0aDEtLS0tLS0tLS0tLeKUkCAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIOKUggorLSMgICAg4pSCICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICDilIzilIDilIDilIDilIDilIDilIDilIDilIDi lIDilIDilLTilIDilIDilIDilIDilIDilIDilIDilIDilJAgICAg4pSM4pSA4pSA4pSA4pSA4pSA 4pSA4pSA4pSA4pSA4pS04pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSQICAgICAgICAgICAg ICAgICAgICAgICAgICAgICDilIIKKy0jICAgIOKUgiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAg4pSCICAgIDE5Mi4xNjguMS4yNTQgIOKUgiAgICDi lIIgICAxOTIuMTY4LjEuMjU0ICAg4pSCICAgICAgICAgICAgICAgICAgICAgICAgICAgICDilIIK Ky0jICAgIOKUgiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAg4pSCICAgICAgICAgUjEgICAgICAgIOKUgiAgICDilIIgICAgICAgICBSMSAgICAgICAg 4pSCICAgICAgICAgICAgICAgICAgICAgICAgICAgICDilIIKKy0jICAgIOKUgiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg4pSCICAgIDE5Mi4xNjgu MC4yNTQgIOKUgiAgICDilIIgICAxOTIuMTY4LjAuMjU0ICAg4pSCICAgICAgICAgICAgICAgICAg ICAgICAgICAgICDilIIKKy0jICAgIOKUgiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAg4pSU4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSs4pSA 4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSYICAgIOKUlOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKU gOKUgOKUrOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUmCAgICAgICAgICAgICAgICAgICAg ICAgICAgICAg4pSCCistIyAgICDilIIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICDilIIgICAgICAgICAgICAgICAgICAgICAgICDi lIIgICAgICAgICAgICAgIOKUjOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKU gOKUgOKUgOKUgOKUgOKUgOKUgOKUkCAgICDilIIKKy0jICAgIOKUgiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg4pSM4pSA4pSA4pSA4pSA4pSA4pSA 4pSA4pSA4pSA4pS04pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSQICAgIOKUjOKUgOKUgOKU gOKUgOKUgOKUgOKUgOKUgOKUgOKUtOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUkCAgICDi lIIgICAgMTkyLjE2OC4wLjEgICAg4pSCICAgIOKUggorLSMgICAg4pSCICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDilIIgICAgICAgb3V0c2lkZSAg ICAg4pSCICAgIOKUgiAgICAgICBvdXRzaWRlICAgICDilIIgICAg4pSCICAgICAgICBleHQxICAg ICAgIOKUgiAgICDilIIKKy0jICAgIOKUgiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAg4pSU4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSs4pSA 4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSYICAgIOKUlOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKU gOKUgOKUrOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUmCAgICDilJTilIDilIDilIDilIDi lIDilIDilIDilIDilIDilKzilIDilIDilIDilIDilIDilIDilIDilIDilIDilJggICAg4pSCCist IyAgICDilIIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIOKUjOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUtOKUgOKUgOKUgOKUgOKUgOKUgOKU gOKUgOKUgOKUkCAgICDilIzilIDilIDilIDilIDilIDilIDilIDilIDilIDilLTilIDilIDilIDi lIDilIDilIDilIDilIDilIDilJAgICAg4pSM4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pS0 4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSQICAgIOKUggorLSMgICAg4pSCICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDilIIgICAgbG4tb3V0 c2lkZSAgICAg4pSCICAgIOKUgiAgICBsbi1vdXRzaWRlICAgICDilIIgICAg4pSCICAgICAgIGxu LWV4dDEgICAgIOKUgiAgICDilIIKKy0jICAgIOKUgiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAg4pSU4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA 4pSs4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSYICAgIOKUlOKUgOKUgOKUgOKUgOKUgOKU gOKUgOKUgOKUgOKUrOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUmCAgICDilJTilIDilIDi lIDilIDilIDilIDilIDilIDilIDilKzilIDilIDilIDilIDilIDilIDilIDilIDilIDilJggICAg 4pSCCistIyAgICDilIIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIOKUjOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUtOKUgOKUgOKUgOKUgOKU gOKUgOKUgOKUgOKUgOKUkCAgICDilIzilIDilIDilIDilIDilIDilIDilIDilIDilIDilLTilIDi lIDilIDilIDilIDilIDilIDilIDilIDilJAgICAg4pSM4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA 4pSA4pS04pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSQICAgIOKUggorLSMgICAg4pSCICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDilIIgICAg ICAgYnItZXggICAgICAg4pSCICAgIOKUgiAgICAgICBici1leCAgICAgICDilIIgICAg4pSCICAg ICAgIGJyLWV4ICAgICAgIOKUgiAgICDilIIKKy0jICAgIOKUgiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg4pSU4pSA4pSA4pSA4pSA4pSA4pSA4pSA 4pSA4pSA4pSs4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSYICAgIOKUlOKUgOKUgOKUgOKU gOKUgOKUgOKUgOKUgOKUgOKUrOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUmCAgICDilJTi lIDilIDilIDilIDilIDilIDilIDilIDilIDilKzilIDilIDilIDilIDilIDilIDilIDilIDilIDi lJggICAg4pSCCistIyAgICDilIIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICDilJQtLS0tLS0tLS1ldGgyLS0tLS0tLS0tLS3ilLQt LS0tLS0tZXRoMi0tLS0tLS0tLS0tLS3ilJggICAgICAgICAgICAgIOKUggorLSMgICAg4pSCICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICDilIIKKy0jICAgIOKUlOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKU gOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKU gOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKU gOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKU gOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKU gOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKU gOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKU gOKUgOKUgOKUgOKUmAorKyMgICAg4pSM4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA 4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA 4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA 4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA 4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA 4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSQCisr IyAgICDilIIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIOKU ggorKyMgICAg4pSCICAgIOKUjOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKU gOKUgOKUgOKUgOKUgOKUgOKUgOKUkCAgICDilIzilIDilIDilIDilIDilIDilIDilIDilIDilIDi lIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilJAgICAg4pSM4pSA4pSA4pSA4pSA4pSA4pSA 4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSQICAgIOKUjOKUgOKUgOKU gOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUkCAgICDi lIIKKysjICAgIOKUgiAgICDilIIgICBvdm4tY2hhc3Npcy0xICAg4pSCICAgIOKUgiAgb3ZuLWd3 LTEgICAgICAgICDilIIgICAg4pSCICBvdm4tZ3ctMiAgICAgICAgIOKUgiAgICDilIIgIG92bi1j aGFzc2lzLTIgICAg4pSCICAgIOKUggorKyMgICAg4pSCICAgIOKUlOKUgOKUgOKUgOKUgOKUgOKU gOKUgOKUgOKUgOKUrOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUmCAgICDilJTilIDilIDi lIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilJggICAg 4pSU4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA 4pSA4pSYICAgIOKUlOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKU gOKUgOKUgOKUgOKUgOKUmCAgICDilIIKKysjICAgIOKUgiAgICDilIzilIDilIDilIDilIDilIDi lIDilIDilIDilIDilLTilIDilIDilIDilIDilIDilIDilIDilIDilIDilJAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAg4pSCCisrIyAgICDilIIgICAg4pSCICAgICAgIGluc2lkZTEgICAgIOKUgiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICDilIIKKysjICAgIOKUgiAgICDilIIgICAxOTIuMTY4LjEuMS8yNCAg 4pSCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIOKUggorKyMgICAg4pSCICAgIOKUlOKUgOKUgOKUgOKU gOKUgOKUgOKUgOKUgOKUgOKUrOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUmCAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICDilIIKKysjICAgIOKUgiAgICDilIzilIDilIDilIDilIDilIDilIDilIDi lIDilIDilLTilIDilIDilIDilIDilIDilIDilIDilIDilIDilJAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAg4pSCCisrIyAgICDilIIgICAg4pSCICAgICAgIGluc2lkZSAgICAgIOKUgiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICDilIIKKysjICAgIOKUgiAgICDilJTilIDilIDilIDilIDilIDilIDilIDilIDi lIDilKzilIDilIDilIDilIDilIDilIDilIDilIDilIDilJggICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg 4pSCCisrIyAgICDilIIgICAg4pSM4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pS04pSA4pSA 4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSQICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIOKUggorKyMgICAg 4pSCICAgIOKUgiAgICAxOTIuMTY4LjEuMjU0ICDilIIgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg4pSC CisrIyAgICDilIIgICAg4pSCICAgICAgICAgUjEgICAgICAgIOKUgiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICDilIIKKysjICAgIOKUgiAgICDilIIgICAgMTkyLjE2OC4wLjI1NCAg4pSCICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIOKUggorKyMgICAg4pSCICAgIOKUlOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKU gOKUgOKUrOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUmCAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICDilIIKKysjICAgIOKUgiAgICAgICAgICAgICAg4pSULS0tLS0tZXRoMS0tLS0tLS0tLS0tLS0t LeKUrC0tLS0tLS0tZXRoMS0tLS0tLS0tLS0t4pSQICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAg4pSCCisrIyAgICDilIIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIOKU jOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUtOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKU gOKUkCAgICDilIzilIDilIDilIDilIDilIDilIDilIDilIDilIDilLTilIDilIDilIDilIDilIDi lIDilIDilIDilIDilJAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIOKUggorKyMgICAg4pSC ICAgICAgICAgICAgICAgICAgICAgICAgICAgICDilIIgICAgMTkyLjE2OC4xLjI1NCAg4pSCICAg IOKUgiAgIDE5Mi4xNjguMS4yNTQgICDilIIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIOKU ggorKyMgICAg4pSCICAgICAgICAgICAgICAgICAgICAgICAgICAgICDilIIgICAgICAgICBSMSAg ICAgICAg4pSCICAgIOKUgiAgICAgICAgIFIxICAgICAgICDilIIgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIOKUggorKyMgICAg4pSCICAgICAgICAgICAgICAgICAgICAgICAgICAgICDilIIg ICAgMTkyLjE2OC4wLjI1NCAg4pSCICAgIOKUgiAgIDE5Mi4xNjguMC4yNTQgICDilIIgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIOKUggorKyMgICAg4pSCICAgICAgICAgICAgICAgICAgICAg ICAgICAgICDilJTilIDilIDilIDilIDilIDilIDilIDilIDilIDilKzilIDilIDilIDilIDilIDi lIDilIDilIDilIDilJggICAg4pSU4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSs4pSA4pSA 4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSYICAgICAgICAgICAgICAgICAgICAgICAgICAgICDilIIK KysjICAgIOKUgiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIOKUgiAgICAg ICAgICAgICAgICAgICAgICAgIOKUgiAgICAgICAgICAgICAg4pSM4pSA4pSA4pSA4pSA4pSA4pSA 4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSQICAgIOKUggorKyMgICAg 4pSCICAgICAgICAgICAgICAgICAgICAgICAgICAgICDilIzilIDilIDilIDilIDilIDilIDilIDi lIDilIDilLTilIDilIDilIDilIDilIDilIDilIDilIDilIDilJAgICAg4pSM4pSA4pSA4pSA4pSA 4pSA4pSA4pSA4pSA4pSA4pS04pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSQICAgIOKUgiAg ICAxOTIuMTY4LjAuMSAgICDilIIgICAg4pSCCisrIyAgICDilIIgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIOKUgiAgICAgICBvdXRzaWRlICAgICDilIIgICAg4pSCICAgICAgIG91dHNpZGUg ICAgIOKUgiAgICDilIIgICAgICAgIGV4dDEgICAgICAg4pSCICAgIOKUggorKyMgICAg4pSCICAg ICAgICAgICAgICAgICAgICAgICAgICAgICDilJTilIDilIDilIDilIDilIDilIDilIDilIDilIDi lKzilIDilIDilIDilIDilIDilIDilIDilIDilIDilJggICAg4pSU4pSA4pSA4pSA4pSA4pSA4pSA 4pSA4pSA4pSA4pSs4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSYICAgIOKUlOKUgOKUgOKU gOKUgOKUgOKUgOKUgOKUgOKUgOKUrOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUmCAgICDi lIIKKysjICAgIOKUgiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg4pSM4pSA4pSA4pSA4pSA 4pSA4pSA4pSA4pSA4pSA4pS04pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSQICAgIOKUjOKU gOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUtOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKU kCAgICDilIzilIDilIDilIDilIDilIDilIDilIDilIDilIDilLTilIDilIDilIDilIDilIDilIDi lIDilIDilIDilJAgICAg4pSCCisrIyAgICDilIIgICAgICAgICAgICAgICAgICAgICAgICAgICAg IOKUgiAgICBsbi1vdXRzaWRlICAgICDilIIgICAg4pSCICAgIGxuLW91dHNpZGUgICAgIOKUgiAg ICDilIIgICAgICAgbG4tZXh0MSAgICAg4pSCICAgIOKUggorKyMgICAg4pSCICAgICAgICAgICAg ICAgICAgICAgICAgICAgICDilJTilIDilIDilIDilIDilIDilIDilIDilIDilIDilKzilIDilIDi lIDilIDilIDilIDilIDilIDilIDilJggICAg4pSU4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA 4pSs4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSYICAgIOKUlOKUgOKUgOKUgOKUgOKUgOKU gOKUgOKUgOKUgOKUrOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUmCAgICDilIIKKysjICAg IOKUgiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg4pSM4pSA4pSA4pSA4pSA4pSA4pSA4pSA 4pSA4pSA4pS04pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSQICAgIOKUjOKUgOKUgOKUgOKU gOKUgOKUgOKUgOKUgOKUgOKUtOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUkCAgICDilIzi lIDilIDilIDilIDilIDilIDilIDilIDilIDilLTilIDilIDilIDilIDilIDilIDilIDilIDilIDi lJAgICAg4pSCCisrIyAgICDilIIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIOKUgiAgICAg ICBici1leCAgICAgICDilIIgICAg4pSCICAgICAgIGJyLWV4ICAgICAgIOKUgiAgICDilIIgICAg ICAgYnItZXggICAgICAg4pSCICAgIOKUggorKyMgICAg4pSCICAgICAgICAgICAgICAgICAgICAg ICAgICAgICDilJTilIDilIDilIDilIDilIDilIDilIDilIDilIDilKzilIDilIDilIDilIDilIDi lIDilIDilIDilIDilJggICAg4pSU4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSs4pSA4pSA 4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSYICAgIOKUlOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKU gOKUrOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUmCAgICDilIIKKysjICAgIOKUgiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIOKUlC0tLS0tLS0tLWV0aDItLS0tLS0t LS0tLeKUtC0tLS0tLS1ldGgyLS0tLS0tLS0tLS0tLeKUmCAgICAgICAgICAgICAg4pSCCisrIyAg ICDilIIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIOKUggor KyMgICAg4pSU4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA 4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA 4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA 4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA 4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA 4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSYCisgCisgIyBUaGUgZ29hbCBv ZiB0aGlzIHRlc3QgaXMgdGhlIGNoZWNrIHRoYXQgR0FSUCBhcmUgcHJvcGVybHkgZ2VuZXJhdGVk IGJ5IGhpZ2VzdCBwcmlvcml0eSB0cmFmZmljIHdoZW4KKyAjIEJGRCBnb2VzIGRvd24sIGFuZCBi YWNrIHVwLCBhbmQgdGhpcyB3aGV0aGVyIHRoZSBCRkQgZXZlbnQgaXMgZHVlIGVpdGhlciB0byBz b21lIGJmZCBwYWNrZXQgbG9zdAorQEAgLTMwMzAsMTIgKzMwMzAsNiBAQCBBVF9TRVRVUChbSEE6 IENoZWNrIGZvciBtaXNzaW5nIGdhcnAgb24gbGVhZGVyIHdoZW4gQkZEIGdvZXMgYmFjayB1cF0p CisgIyBTbyBndzMgc2hvdWxkIGluIHRoaXMgdGVzdCBuZWl0aGVyIHNlbmQgZ2FycCBvciByZWNl aXZlIHBhY2tldHMuCisgIworICMgRW5hYmxlIHZjb25uIHNvIHdlIGNhbiBjaGVjayB0aGUgR0FS UCBmcm9tIGEgbG9nIHBlcnNwZWN0aXZlLgorLW9uX2V4aXQgInBvZG1hbiBleGVjIG92bi1ndy0x IG92bi1hcHBjdGwgdmxvZy9zZXQgaW5mbyIKKy1vbl9leGl0ICJwb2RtYW4gZXhlYyBvdm4tZ3ct MSBvdm4tYXBwY3RsIHZsb2cvZW5hYmxlLXJhdGUtbGltaXQiCistb25fZXhpdCAicG9kbWFuIGV4 ZWMgb3ZuLWd3LTIgb3ZuLWFwcGN0bCB2bG9nL3NldCBpbmZvIgorLW9uX2V4aXQgInBvZG1hbiBl eGVjIG92bi1ndy0yIG92bi1hcHBjdGwgdmxvZy9lbmFibGUtcmF0ZS1saW1pdCIKKy1vbl9leGl0 ICJwb2RtYW4gZXhlYyBvdm4tZ3ctMyBvdm4tYXBwY3RsIHZsb2cvc2V0IGluZm8iCistb25fZXhp dCAicG9kbWFuIGV4ZWMgb3ZuLWd3LTMgb3ZuLWFwcGN0bCB2bG9nL2VuYWJsZS1yYXRlLWxpbWl0 IgorIG1fYXMgb3ZuLWd3LTEgb3ZuLWFwcGN0bCB2bG9nL3NldCB2Y29ubjpkYmcKKyBtX2FzIG92 bi1ndy0yIG92bi1hcHBjdGwgdmxvZy9zZXQgdmNvbm46ZGJnCisgbV9hcyBvdm4tZ3ctMyBvdm4t YXBwY3RsIHZsb2cvc2V0IHZjb25uOmRiZworQEAgLTMwNDMsMTcgKzMwMzcsMTIgQEAgbV9hcyBv dm4tZ3ctMSBvdm4tYXBwY3RsIHZsb2cvZGlzYWJsZS1yYXRlLWxpbWl0CisgbV9hcyBvdm4tZ3ct MiBvdm4tYXBwY3RsIHZsb2cvZGlzYWJsZS1yYXRlLWxpbWl0CisgbV9hcyBvdm4tZ3ctMyBvdm4t YXBwY3RsIHZsb2cvZGlzYWJsZS1yYXRlLWxpbWl0CisgCistIyBEZWNyZWFzZSByZXZhbGlkYXRp b24gdGltZSBvbiBvdnMgc3dpdGNoIHNpbXVsYXRpbmcgVG9SLgorLWNoZWNrIGhvc3Rfb3ZzX3Zz Y3RsIHNldCBPcGVuX3ZTd2l0Y2ggLiBvdGhlcl9jb25maWc6bWF4LXJldmFsaWRhdG9yPTEwMAor LW9uX2V4aXQgImNoZWNrIGhvc3Rfb3ZzX3ZzY3RsIHJlbW92ZSBPcGVuX3ZTd2l0Y2ggLiBvdGhl cl9jb25maWcgbWF4LXJldmFsaWRhdG9yIgorLQorIGNoZWNrX2Zha2VfbXVsdGlub2RlX3NldHVw CisgCisgIyBEZWxldGUgdGhlIG11bHRpbm9kZSBOQiBhbmQgT1ZTIHJlc291cmNlcyBiZWZvcmUg c3RhcnRpbmcgdGhlIHRlc3QuCisgY2xlYW51cF9tdWx0aW5vZGVfcmVzb3VyY2VzCisgCisgaXBf Y2gxPSQobV9hcyBvdm4tY2hhc3Npcy0xIGlwIGEgc2hvdyBkZXYgZXRoMSB8IGdyZXAgImluZXQg IiB8IGF3ayAne3ByaW50ICQyfSd8IGN1dCAtZCAnLycgLWYxKQorLWlwX2NoMj0kKG1fYXMgb3Zu LWNoYXNzaXMtMiBpcCBhIHNob3cgZGV2IGV0aDEgfCBncmVwICJpbmV0ICIgfCBhd2sgJ3twcmlu dCAkMn0nfCBjdXQgLWQgJy8nIC1mMSkKKyBpcF9ndzE9JChtX2FzIG92bi1ndy0xIGlwIGEgc2hv dyBkZXYgZXRoMSB8IGdyZXAgImluZXQgIiB8IGF3ayAne3ByaW50ICQyfSd8IGN1dCAtZCAnLycg LWYxKQorIGlwX2d3Mj0kKG1fYXMgb3ZuLWd3LTIgaXAgYSBzaG93IGRldiBldGgxIHwgZ3JlcCAi aW5ldCAiIHwgYXdrICd7cHJpbnQgJDJ9J3wgY3V0IC1kICcvJyAtZjEpCisgaXBfZ3czPSQobV9h cyBvdm4tZ3ctMyBpcCBhIHNob3cgZGV2IGV0aDEgfCBncmVwICJpbmV0ICIgfCBhd2sgJ3twcmlu dCAkMn0nfCBjdXQgLWQgJy8nIC1mMSkKK0BAIC0zMDYxLDM1ICszMDUwLDI1IEBAIGlwX2d3Mz0k KG1fYXMgb3ZuLWd3LTMgaXAgYSBzaG93IGRldiBldGgxIHwgZ3JlcCAiaW5ldCAiIHwgYXdrICd7 cHJpbnQgJDJ9J3wgY3V0CisgZnJvbV9ndzFfdG9fZ3cyPSQobV9hcyBvdm4tZ3ctMSBvdnMtdnNj dGwgLS1iYXJlIC0tY29sdW1ucz1uYW1lIGZpbmQgaW50ZXJmYWNlIG9wdGlvbnM6cmVtb3RlX2lw PSRpcF9ndzIpCisgZnJvbV9ndzFfdG9fZ3czPSQobV9hcyBvdm4tZ3ctMSBvdnMtdnNjdGwgLS1i YXJlIC0tY29sdW1ucz1uYW1lIGZpbmQgaW50ZXJmYWNlIG9wdGlvbnM6cmVtb3RlX2lwPSRpcF9n dzMpCisgZnJvbV9ndzFfdG9fY2gxPSQobV9hcyBvdm4tZ3ctMSBvdnMtdnNjdGwgLS1iYXJlIC0t Y29sdW1ucz1uYW1lIGZpbmQgaW50ZXJmYWNlIG9wdGlvbnM6cmVtb3RlX2lwPSRpcF9jaDEpCist ZnJvbV9ndzFfdG9fY2gyPSQobV9hcyBvdm4tZ3ctMSBvdnMtdnNjdGwgLS1iYXJlIC0tY29sdW1u cz1uYW1lIGZpbmQgaW50ZXJmYWNlIG9wdGlvbnM6cmVtb3RlX2lwPSRpcF9jaDIpCisgZnJvbV9n dzJfdG9fZ3cxPSQobV9hcyBvdm4tZ3ctMiBvdnMtdnNjdGwgLS1iYXJlIC0tY29sdW1ucz1uYW1l IGZpbmQgaW50ZXJmYWNlIG9wdGlvbnM6cmVtb3RlX2lwPSRpcF9ndzEpCisgZnJvbV9ndzJfdG9f Z3czPSQobV9hcyBvdm4tZ3ctMiBvdnMtdnNjdGwgLS1iYXJlIC0tY29sdW1ucz1uYW1lIGZpbmQg aW50ZXJmYWNlIG9wdGlvbnM6cmVtb3RlX2lwPSRpcF9ndzMpCisgZnJvbV9ndzJfdG9fY2gxPSQo bV9hcyBvdm4tZ3ctMiBvdnMtdnNjdGwgLS1iYXJlIC0tY29sdW1ucz1uYW1lIGZpbmQgaW50ZXJm YWNlIG9wdGlvbnM6cmVtb3RlX2lwPSRpcF9jaDEpCistZnJvbV9ndzJfdG9fY2gyPSQobV9hcyBv dm4tZ3ctMiBvdnMtdnNjdGwgLS1iYXJlIC0tY29sdW1ucz1uYW1lIGZpbmQgaW50ZXJmYWNlIG9w dGlvbnM6cmVtb3RlX2lwPSRpcF9jaDIpCisgZnJvbV9jaDFfdG9fZ3cxPSQobV9hcyBvdm4tY2hh c3Npcy0xIG92cy12c2N0bCAtLWJhcmUgLS1jb2x1bW5zPW5hbWUgZmluZCBpbnRlcmZhY2Ugb3B0 aW9uczpyZW1vdGVfaXA9JGlwX2d3MSkKKyBmcm9tX2NoMV90b19ndzI9JChtX2FzIG92bi1jaGFz c2lzLTEgb3ZzLXZzY3RsIC0tYmFyZSAtLWNvbHVtbnM9bmFtZSBmaW5kIGludGVyZmFjZSBvcHRp b25zOnJlbW90ZV9pcD0kaXBfZ3cyKQorLWZyb21fY2gyX3RvX2d3MT0kKG1fYXMgb3ZuLWNoYXNz aXMtMiBvdnMtdnNjdGwgLS1iYXJlIC0tY29sdW1ucz1uYW1lIGZpbmQgaW50ZXJmYWNlIG9wdGlv bnM6cmVtb3RlX2lwPSRpcF9ndzEpCistZnJvbV9jaDJfdG9fZ3cyPSQobV9hcyBvdm4tY2hhc3Np cy0yIG92cy12c2N0bCAtLWJhcmUgLS1jb2x1bW5zPW5hbWUgZmluZCBpbnRlcmZhY2Ugb3B0aW9u czpyZW1vdGVfaXA9JGlwX2d3MikKKyAKKyBtX2FzIG92bi1jaGFzc2lzLTEgaXAgbGluayBkZWwg aHYxLXZpZjEtcAorLW1fYXMgb3ZuLWNoYXNzaXMtMiBpcCBsaW5rIGRlbCBodjItdmlmMS1wCist bV9hcyBvdm4tY2hhc3Npcy0zIGlwIGxpbmsgZGVsIGV4dDEtcAorK21fYXMgb3ZuLWNoYXNzaXMt MiBpcCBsaW5rIGRlbCBleHQxLXAKKyAKKyBPVlNfV0FJVF9VTlRJTChbbV9hcyBvdm4tY2hhc3Np cy0xIGlwIGxpbmsgc2hvdyB8IGdyZXAgLXEgZ2VuZXZfc3lzXSkKKyBPVlNfV0FJVF9VTlRJTChb bV9hcyBvdm4tY2hhc3Npcy0yIGlwIGxpbmsgc2hvdyB8IGdyZXAgLXEgZ2VuZXZfc3lzXSkKKy1P VlNfV0FJVF9VTlRJTChbbV9hcyBvdm4tY2hhc3Npcy0zIGlwIGxpbmsgc2hvdyB8IGdyZXAgLXEg Z2VuZXZfc3lzXSkKKyBPVlNfV0FJVF9VTlRJTChbbV9hcyBvdm4tZ3ctMSBpcCBsaW5rIHNob3cg fCBncmVwIC1xIGdlbmV2X3N5c10pCisgT1ZTX1dBSVRfVU5USUwoW21fYXMgb3ZuLWd3LTIgaXAg bGluayBzaG93IHwgZ3JlcCAtcSBnZW5ldl9zeXNdKQorIE9WU19XQUlUX1VOVElMKFttX2FzIG92 bi1ndy0zIGlwIGxpbmsgc2hvdyB8IGdyZXAgLXEgZ2VuZXZfc3lzXSkKKyAKKy0jIFVzZSAiYWdn cmVzc2l2ZSIgYmZkIHBhcmFtZXRlcnMKKy1jaGVjayBtdWx0aW5vZGVfbmJjdGwgc2V0IE5CX0ds b2JhbCAuIG9wdGlvbnM6ImJmZC1taW4tcngiPTUwMAorLWNoZWNrIG11bHRpbm9kZV9uYmN0bCBz ZXQgTkJfR2xvYmFsIC4gb3B0aW9uczoiYmZkLW1pbi10eCI9MTAwCisgY2hlY2sgbXVsdGlub2Rl X25iY3RsIGxzLWFkZCBpbnNpZGUKKyBjaGVjayBtdWx0aW5vZGVfbmJjdGwgbHMtYWRkIG91dHNp ZGUKKyBjaGVjayBtdWx0aW5vZGVfbmJjdGwgbHMtYWRkIGV4dAorIGNoZWNrIG11bHRpbm9kZV9u YmN0bCBsc3AtYWRkIGluc2lkZSBpbnNpZGUxIC0tIGxzcC1zZXQtYWRkcmVzc2VzIGluc2lkZTEg ImYwOjAwOmMwOmE4OjAxOjAxIDE5Mi4xNjguMS4xIgorLWNoZWNrIG11bHRpbm9kZV9uYmN0bCBs c3AtYWRkIGluc2lkZSBpbnNpZGUyIC0tIGxzcC1zZXQtYWRkcmVzc2VzIGluc2lkZTIgImYwOjAw OmMwOmE4OjAxOjAyIDE5Mi4xNjguMS4yIgorIGNoZWNrIG11bHRpbm9kZV9uYmN0bCBsc3AtYWRk IGV4dCBleHQxIC0tIGxzcC1zZXQtYWRkcmVzc2VzIGV4dDEgIjAwOjAwOmMwOmE4OjAwOjAxIDE5 Mi4xNjguMC4xIgorIAorIG11bHRpbm9kZV9uYmN0bCBjcmVhdGUgTG9naWNhbF9Sb3V0ZXIgbmFt ZT1SMQorQEAgLTMxMjEsMTQgKzMxMDAsMTIgQEAgbV9hcyBvdm4tZ3ctMyBvdnMtdnNjdGwgcmVt b3ZlIG9wZW4gLiBleHRlcm5hbF9pZHMgZ2FycC1tYXgtdGltZW91dC1zZWMKKyAKKyBtX2FzIG92 bi1jaGFzc2lzLTEgb3ZzLXZzY3RsIHNldCBvcGVuIC4gZXh0ZXJuYWwtaWRzOm92bi1icmlkZ2Ut bWFwcGluZ3M9cHVibGljOmJyLWV4CisgbV9hcyBvdm4tY2hhc3Npcy0yIG92cy12c2N0bCBzZXQg b3BlbiAuIGV4dGVybmFsLWlkczpvdm4tYnJpZGdlLW1hcHBpbmdzPXB1YmxpYzpici1leAorLW1f YXMgb3ZuLWNoYXNzaXMtMyBvdnMtdnNjdGwgc2V0IG9wZW4gLiBleHRlcm5hbC1pZHM6b3ZuLWJy aWRnZS1tYXBwaW5ncz1wdWJsaWM6YnItZXgKKyBtX2FzIG92bi1ndy0xIG92cy12c2N0bCBzZXQg b3BlbiAuIGV4dGVybmFsLWlkczpvdm4tYnJpZGdlLW1hcHBpbmdzPXB1YmxpYzpici1leAorIG1f YXMgb3ZuLWd3LTIgb3ZzLXZzY3RsIHNldCBvcGVuIC4gZXh0ZXJuYWwtaWRzOm92bi1icmlkZ2Ut bWFwcGluZ3M9cHVibGljOmJyLWV4CisgbV9hcyBvdm4tZ3ctMyBvdnMtdnNjdGwgc2V0IG9wZW4g LiBleHRlcm5hbC1pZHM6b3ZuLWJyaWRnZS1tYXBwaW5ncz1wdWJsaWM6YnItZXgKKyAKKyBtX2Fz IG92bi1jaGFzc2lzLTEgL2RhdGEvY3JlYXRlX2Zha2Vfdm0uc2ggaW5zaWRlMSBodjEtdmlmMSBm MDowMDpjMDphODowMTowMSAxNTAwIDE5Mi4xNjguMS4xIDI0IDE5Mi4xNjguMS4yNTQgMjAwMDo6 MS82NCAyMDAwOjphCistbV9hcyBvdm4tY2hhc3Npcy0yIC9kYXRhL2NyZWF0ZV9mYWtlX3ZtLnNo IGluc2lkZTIgaHYyLXZpZjEgZjA6MDA6YzA6YTg6MDE6MDIgMTUwMCAxOTIuMTY4LjEuMiAyNCAx OTIuMTY4LjEuMjU0IDIwMDA6OjIvNjQgMjAwMDo6YQorLW1fYXMgb3ZuLWNoYXNzaXMtMyAvZGF0 YS9jcmVhdGVfZmFrZV92bS5zaCBleHQxIGV4dDEgMDA6MDA6YzA6YTg6MDA6MDEgMTUwMCAxOTIu MTY4LjAuMSAyNCAxOTIuMTY4LjAuMjU0IDEwMDA6OjMvNjQgMTAwMDo6YQorK21fYXMgb3ZuLWNo YXNzaXMtMiAvZGF0YS9jcmVhdGVfZmFrZV92bS5zaCBleHQxIGV4dDEgMDA6MDA6YzA6YTg6MDA6 MDEgMTUwMCAxOTIuMTY4LjAuMSAyNCAxOTIuMTY4LjAuMjU0IDEwMDA6OjMvNjQgMTAwMDo6YQor IAorICMgVGhlcmUgc2hvdWxkIGJlIG9uZSBoYV9jaGFzc2lzX2dyb3VwIHdpdGggdGhlIG5hbWUg IlIxX291dHNpZGUiCisgbV9jaGVja19yb3dfY291bnQgSEFfQ2hhc3Npc19Hcm91cCAxIG5hbWU9 UjFfb3V0c2lkZQorQEAgLTMxODMsNjcgKzMxNjAsNTMgQEAgZm9yIGNoYXNzaXMgaW4gJGZyb21f Y2gxX3RvX2d3MSAkZnJvbV9jaDFfdG9fZ3cyOyBkbworICAgICB3YWl0X2JmZF9lbmFibGVkIG92 bi1jaGFzc2lzLTEgJGNoYXNzaXMKKyBkb25lCisgCistIyBjaGVjayBCRkQgZW5hYmxlbWVudCBv biB0dW5uZWwgcG9ydHMgZnJvbSBvdm4tY2hhc3Npcy0yICMjIyMjIyMjIyMjCistZm9yIGNoYXNz aXMgaW4gJGZyb21fY2gyX3RvX2d3MSAkZnJvbV9jaDJfdG9fZ3cyOyBkbworLSAgICBlY2hvICJj aGVja2luZyBvdm4tY2hhc3Npcy0yIC0+ICRjaGFzc2lzIgorLSAgICB3YWl0X2JmZF9lbmFibGVk IG92bi1jaGFzc2lzLTIgJGNoYXNzaXMKKy1kb25lCistCisgIyBNYWtlIHN1cmUgdGhlcmUgaXMg bm8gbmZ0IHRhYmxlIGxlZnQuIERvIG5vdCB1c2UgbmZ0IGRpcmVjdGx5IGFzIG1pZ2h0IG5vdCBi ZSBpbnN0YWxsZWQgaW4gY29udGFpbmVyLgorIGd3MV9waWQ9JChwb2RtYW4gaW5zcGVjdCAtZiAn e3suU3RhdGUuUGlkfX0nIG92bi1ndy0xKQorIG5zZW50ZXIgLS1uZXQ9L3Byb2MvJGd3MV9waWQv bnMvbmV0IG5mdCBsaXN0IHRhYmxlcyB8IGdyZXAgb3ZuLXRlc3QgJiYgbnNlbnRlciAtLW5ldD0v cHJvYy8kZ3cxX3BpZC9ucy9uZXQgbmZ0IGRlbGV0ZSB0YWJsZSBpcCBvdm4tdGVzdAorLW9uX2V4 aXQgImlmIFtbIC1kICIvcHJvYy8kZ3cxX3BpZCIgXV07IHRoZW4gbnNlbnRlciAtLW5ldD0vcHJv Yy8kZ3cxX3BpZC9ucy9uZXQgbmZ0IGxpc3QgdGFibGVzIHwgZ3JlcCBvdm4tdGVzdCAmJiBuc2Vu dGVyIC0tbmV0PS9wcm9jLyRndzFfcGlkL25zL25ldCBuZnQgZGVsZXRlIHRhYmxlIGlwIG92bi10 ZXN0OyBmaSIKKytvbl9leGl0ICJuc2VudGVyIC0tbmV0PS9wcm9jLyRndzFfcGlkL25zL25ldCBu ZnQgbGlzdCB0YWJsZXMgfCBncmVwIG92bi10ZXN0ICYmIG5zZW50ZXIgLS1uZXQ9L3Byb2MvJGd3 MV9waWQvbnMvbmV0IG5mdCBkZWxldGUgdGFibGUgaXAgb3ZuLXRlc3QiCisgCistZm9yIGNoYXNz aXMgaW4gJGZyb21fZ3cxX3RvX2d3MiAkZnJvbV9ndzFfdG9fZ3czICRmcm9tX2d3MV90b19jaDEg JGZyb21fZ3cxX3RvX2NoMjsgZG8KKytmb3IgY2hhc3NpcyBpbiAkZnJvbV9ndzFfdG9fZ3cyICRm cm9tX2d3MV90b19ndzMgJGZyb21fZ3cxX3RvX2NoMTsgZG8KKyAgICAgd2FpdF9iZmRfdXAgb3Zu LWd3LTEgJGNoYXNzaXMKKyBkb25lCistZm9yIGNoYXNzaXMgaW4gJGZyb21fZ3cyX3RvX2d3MSAk ZnJvbV9ndzJfdG9fZ3czICRmcm9tX2d3Ml90b19jaDEgJGZyb21fZ3cyX3RvX2NoMjsgZG8KKytm b3IgY2hhc3NpcyBpbiAkZnJvbV9ndzJfdG9fZ3cxICRmcm9tX2d3Ml90b19ndzMgJGZyb21fZ3cy X3RvX2NoMTsgZG8KKyAgICAgd2FpdF9iZmRfdXAgb3ZuLWd3LTIgJGNoYXNzaXMKKyBkb25lCisg Zm9yIGNoYXNzaXMgaW4gJGZyb21fY2gxX3RvX2d3MSAkZnJvbV9jaDFfdG9fZ3cyOyBkbworICAg ICB3YWl0X2JmZF91cCBvdm4tY2hhc3Npcy0xICRjaGFzc2lzCisgZG9uZQorLWZvciBjaGFzc2lz IGluICRmcm9tX2NoMl90b19ndzEgJGZyb21fY2gyX3RvX2d3MjsgZG8KKy0gICAgd2FpdF9iZmRf dXAgb3ZuLWNoYXNzaXMtMiAkY2hhc3NpcworLWRvbmUKKyAKKyBtX3dhaXRfcm93X2NvdW50IFBv cnRfQmluZGluZyAxIGxvZ2ljYWxfcG9ydD1jci1SMV9vdXRzaWRlIGNoYXNzaXM9JGd3MV9jaGFz c2lzCisgY2hlY2sgbXVsdGlub2RlX25iY3RsIC0td2FpdD1odiBzeW5jCisgCisgc3RhcnRfdGNw ZHVtcCgpIHsKKyAgICAgZWNobyAiJChkYXRlICslSDolTTolUy4lMDNOKSBTdGFydGluZyB0Y3Bk dW1wIgorLSAgICBNX1NUQVJUX1RDUERVTVBTKFtvdm4tY2hhc3Npcy0xXSwgWy1uZWVpIGh2MS12 aWYxLXBdLCBbY2gxXSwKKy0gICAgICAgICAgICAgICAgICAgIFtvdm4tY2hhc3Npcy0yXSwgWy1u ZWVpIGh2Mi12aWYxLXBdLCBbY2gyXSwKKy0gICAgICAgICAgICAgICAgICAgIFtvdm4tY2hhc3Np cy0zXSwgWy1uZWVpIGV0aDJdLCBbY2gzXSwKKy0gICAgICAgICAgICAgICAgICAgIFtvdm4tZ3ct MV0sIFstbmVlaSBldGgyXSwgW2d3MV0sCistICAgICAgICAgICAgICAgICAgICBbb3ZuLWd3LTFd LCBbLW5lZWkgZXRoMiAtUSBvdXRdLCBbZ3cxX291dF0sCistICAgICAgICAgICAgICAgICAgICBb b3ZuLWd3LTJdLCBbLW5lZWkgZXRoMl0sIFtndzJdLAorLSAgICAgICAgICAgICAgICAgICAgW292 bi1ndy0yXSwgWy1uZWVpIGV0aDIgLVEgb3V0XSwgW2d3Ml9vdXRdLAorLSAgICAgICAgICAgICAg ICAgICAgW292bi1ndy0zXSwgWy1uZWVpIGV0aDJdLCBbZ3czXSwKKy0gICAgICAgICAgICAgICAg ICAgIFtvdm4tZ3ctM10sIFstbmVlaSBldGgyIC1RIG91dF0sIFtndzNfb3V0XSwKKy0gICAgICAg ICAgICAgICAgICAgIFtvdm4tZ3ctMV0sIFstbmVlaSBldGgxXSwgW2d3MV9ldGgxXSwKKy0gICAg ICAgICAgICAgICAgICAgIFtvdm4tZ3ctMl0sIFstbmVlaSBldGgxXSwgW2d3Ml9ldGgxXSwKKy0g ICAgICAgICAgICAgICAgICAgIFtvdm4tY2hhc3Npcy0xXSwgWy1uZWVpIGV0aDFdLCBbY2gxX2V0 aDFdLAorLSAgICAgICAgICAgICAgICAgICAgW292bi1jaGFzc2lzLTJdLCBbLW5lZWkgZXRoMV0s IFtjaDJfZXRoMV0pCisrICAgIE1fU1RBUlRfVENQRFVNUChbb3ZuLWNoYXNzaXMtMV0sIFstbmVl aSBodjEtdmlmMS1wXSwgW2NoMV0pCisrICAgIE1fU1RBUlRfVENQRFVNUChbb3ZuLWNoYXNzaXMt Ml0sIFstbmVlaSBldGgyXSwgW2NoMl0pCisrICAgIE1fU1RBUlRfVENQRFVNUChbb3ZuLWd3LTFd LCBbLW5lZWkgZXRoMl0sIFtndzFdKQorKyAgICBNX1NUQVJUX1RDUERVTVAoW292bi1ndy0xXSwg Wy1uZWVpIGV0aDIgLVEgb3V0XSwgW2d3MV9vdXRdKQorKyAgICBNX1NUQVJUX1RDUERVTVAoW292 bi1ndy0yXSwgWy1uZWVpIGV0aDJdLCBbZ3cyXSkKKysgICAgTV9TVEFSVF9UQ1BEVU1QKFtvdm4t Z3ctMl0sIFstbmVlaSBldGgyIC1RIG91dF0sIFtndzJfb3V0XSkKKysgICAgTV9TVEFSVF9UQ1BE VU1QKFtvdm4tZ3ctM10sIFstbmVlaSBldGgyXSwgW2d3M10pCisrICAgIE1fU1RBUlRfVENQRFVN UChbb3ZuLWd3LTNdLCBbLW5lZWkgZXRoMiAtUSBvdXRdLCBbZ3czX291dF0pCisgfQorIAorIHN0 b3BfdGNwZHVtcCgpIHsKKyAgICAgZWNobyAiJChkYXRlICslSDolTTolUy4lMDNOKSBTdG9wcGlu ZyB0Y3BkdW1wIgorLSAgICBtX2tpbGwgJ292bi1ndy0xIG92bi1ndy0yIG92bi1ndy0zIG92bi1j aGFzc2lzLTEgb3ZuLWNoYXNzaXMtMiBvdm4tY2hhc3Npcy0zJyB0Y3BkdW1wCisrICAgIG1fa2ls bCAnb3ZuLWd3LTEgb3ZuLWd3LTIgb3ZuLWd3LTMgb3ZuLWNoYXNzaXMtMSBvdm4tY2hhc3Npcy0y JyB0Y3BkdW1wCisgfQorIAorLSMgU2VuZCBwYWNrZXRzIGZyb20gb3ZuLWNoYXNzaXMtMyAoZXh0 MSkgdG8gb3ZuLWNoYXNzaXMtMQorKyMgU2VuZCBwYWNrZXRzIGZyb20gY2hhc3NpczIgKGV4dDEp IHRvIGNoYXNzaXMxCisgc2VuZF9iYWNrZ3JvdW5kX3BhY2tldHMoKSB7CisgICAgIGVjaG8gIiQo ZGF0ZSArJUg6JU06JVMuJTAzTikgU2VuZGluZyBwYWNrZXRzIGluIEJhY2tncm91bmQiCisgICAg IHN0YXJ0X3RjcGR1bXAKKy0gICAgTV9OU19EQUVNT05JWkUoW292bi1jaGFzc2lzLTNdLCBbZXh0 MV0sIFtwaW5nIC1mIC1pIDAuMSAxOTIuMTY4LjEuMV0sIFtwaW5nLnBpZF0pCisrICAgIE1fTlNf REFFTU9OSVpFKFtvdm4tY2hhc3Npcy0yXSwgW2V4dDFdLCBbcGluZyAtZiAtaSAwLjEgMTkyLjE2 OC4xLjFdLCBbcGluZy5waWRdKQorIH0KKyAKKyBzdG9wX3NlbmRpbmdfYmFja2dyb3VuZF9wYWNr ZXRzKCkgeworICAgICBlY2hvICIkKGRhdGUgKyVIOiVNOiVTLiUwM04pIFN0b3BwaW5nIEJhY2tn cm91bmQgcHJvY2VzcyIKKyAgICAgbV9hcyBvdm4tY2hhc3Npcy0xIHBzIC1lZiB8IGdyZXAgLXYg Z3JlcCB8IGdyZXAgLXEgcGluZyAmJiBcCisgICAgICAgICBtX2FzIG92bi1jaGFzc2lzLTEgZWNo byAiU3RvcHBpbmcgcGluZyBvbiBvdm4tY2hhc3Npcy0xIiAmJiBraWxsYWxsIHBpbmcKKy0gICAg bV9hcyBvdm4tY2hhc3Npcy0zIHBzIC1lZiB8IGdyZXAgLXYgZ3JlcCB8IGdyZXAgLXEgcGluZyAm JiBcCisrICAgIG1fYXMgb3ZuLWNoYXNzaXMtMiBwcyAtZWYgfCBncmVwIC12IGdyZXAgfCBncmVw IC1xIHBpbmcgJiYgXAorICAgICAgICAgbV9hcyBvdm4tY2hhc3Npcy0yIGVjaG8gIlN0b3BwaW5n IHBpbmcgb24gb3ZuLWNoYXNzaXMtMiIgJiYga2lsbGFsbCBwaW5nCisgICAgIHN0b3BfdGNwZHVt cAorIH0KK0BAIC0zMjUzLDggKzMyMTYsOCBAQCBjaGVja19mb3JfbmV3X2dhcnBzKCkgeworICAg ICBleHBlY3RpbmdfZ2FycD0kMgorICAgICBuX25ld19nYXJwcz0kKGNhdCAke2h2fV9vdXQudGNw ZHVtcCB8IGdyZXAgLWMgImYwOjAwOmMwOmE4OjAwOmZlID4gQnJvYWRjYXN0LCBldGhlcnR5cGUg QVJQICgweDA4MDYpLCBsZW5ndGggNDI6IFJlcXVlc3Qgd2hvLWhhcyAxOTIuMTY4LjAuMjU0IHRl bGwgMTkyLjE2OC4wLjI1NCwgbGVuZ3RoIDI4IikKKyAKKy0gICAgaWYgW1sgIiRleHBlY3Rpbmdf Z2FycCIgPT0gInRydWUiIF1dOyB0aGVuCistICAgICAgICBlY2hvICIkKGRhdGUgKyVIOiVNOiVT LiUwM04pIFdhaXRpbmcvY2hlY2tpbmcgZm9yIGdhcnAgZnJvbSAkaHYgLSBTdGFydGluZyB3aXRo ICRuX25ld19nYXJwcyIKKysgICAgaWYgWyAiJGV4cGVjdGluZ19nYXJwIiA9PSAidHJ1ZSIgXTsg dGhlbgorKyAgICAgICAgQVNfQk9YKFskKGRhdGUgKyVIOiVNOiVTLiUwM04pIFdhaXRpbmcvY2hl Y2tpbmcgZm9yIGdhcnAgZnJvbSAkaHYgLSBTdGFydGluZyB3aXRoICRuX25ld19nYXJwc10pCisg ICAgICAgICBPVlNfV0FJVF9VTlRJTChbCisgICAgICAgICAgICAgbl9nYXJwcz0kbl9uZXdfZ2Fy cHMKKyAgICAgICAgICAgICBuX25ld19nYXJwcz0kKGNhdCAke2h2fV9vdXQudGNwZHVtcCB8IGdy ZXAgLWMgImYwOjAwOmMwOmE4OjAwOmZlID4gQnJvYWRjYXN0LCBldGhlcnR5cGUgQVJQICgweDA4 MDYpLCBsZW5ndGggNDI6IFJlcXVlc3Qgd2hvLWhhcyAxOTIuMTY4LjAuMjU0IHRlbGwgMTkyLjE2 OC4wLjI1NCwgbGVuZ3RoIDI4IikKK0BAIC0zMjYyLDcgKzMyMjUsNyBAQCBjaGVja19mb3JfbmV3 X2dhcnBzKCkgeworICAgICAgICAgICAgIHRlc3QgIiRuX2dhcnBzIiAtbmUgIiRuX25ld19nYXJw cyIKKyAgICAgICAgIF0pCisgICAgIGVsc2UKKy0gICAgICAgIGVjaG8gIiQoZGF0ZSArJUg6JU06 JVMuJTAzTikgQ2hlY2tpbmcgbm8gZ2FycCBmcm9tICR7aHZ9IgorKyAgICAgICAgQVNfQk9YKFsk KGRhdGUgKyVIOiVNOiVTLiUwM04pIENoZWNraW5nIG5vIGdhcnAgZnJvbSAke2h2fV0pCisgICAg ICAgICAjIFdhaXRpbmcgYSBmZXcgc2Vjb25kcyB0byBnZXQgYSBjaGFuY2UgdG8gc2VlIHVuZXhw ZWN0ZWQgZ2FycHMuCisgICAgICAgICBzbGVlcCAzCisgICAgICAgICBuX2dhcnBzPSQoY2F0ICR7 aHZ9X291dC50Y3BkdW1wIHwgZ3JlcCAtYyAiZjA6MDA6YzA6YTg6MDA6ZmUgPiBCcm9hZGNhc3Qs IGV0aGVydHlwZSBBUlAgKDB4MDgwNiksIGxlbmd0aCA0MjogUmVxdWVzdCB3aG8taGFzIDE5Mi4x NjguMC4yNTQgdGVsbCAxOTIuMTY4LjAuMjU0LCBsZW5ndGggMjgiKQorQEAgLTMyNzgsOCArMzI0 MSw4IEBAIGNoZWNrX2Zvcl9uZXdfZWNob19wa3RzKCkgeworICAgICBuX25ld19lY2hvX3JlcT0k KGNhdCAke2h2fS50Y3BkdW1wIHwgZ3JlcCAtYyAiJG1hY19zcmMgPiAkbWFjX2RzdCwgZXRoZXJ0 eXBlIElQdjQgKDB4MDgwMCksIGxlbmd0aCA5ODogMTkyLjE2OC4wLjEgPiAxOTIuMTY4LjEuMTog SUNNUCBlY2hvIHJlcXVlc3QiKQorICAgICBuX25ld19lY2hvX3JlcD0kKGNhdCAke2h2fS50Y3Bk dW1wIHwgZ3JlcCAtYyAiJG1hY19kc3QgPiAkbWFjX3NyYywgZXRoZXJ0eXBlIElQdjQgKDB4MDgw MCksIGxlbmd0aCA5ODogMTkyLjE2OC4xLjEgPiAxOTIuMTY4LjAuMTogSUNNUCBlY2hvIHJlcGx5 IikKKyAKKy0gICAgaWYgW1sgIiRleHBlY3RpbmdfcGt0cyIgPT0gInRydWUiIF1dOyB0aGVuCist ICAgICAgICBlY2hvICIkKGRhdGUgKyVIOiVNOiVTLiUwM04pIFdhaXRpbmcvY2hlY2tpbmcgZm9y IGVjaG8gcGt0cyB0aHJvdWdoICR7aHZ9IgorKyAgICBpZiBbICIkZXhwZWN0aW5nX3BrdHMiID09 ICJ0cnVlIiBdOyB0aGVuCisrICAgICAgICBBU19CT1goWyQoZGF0ZSArJUg6JU06JVMuJTAzTikg V2FpdGluZy9jaGVja2luZyBmb3IgZWNobyBwa3RzIHRocm91Z2ggJHtodn1dKQorICAgICAgICAg ZWNobyAiU3RhcnRpbmcgd2l0aCAkbl9uZXdfZWNob19yZXEgcmVxdWVzdHMgYW5kICRuX25ld19l Y2hvX3JlcCByZXBsaWVzIHNvIGZhciBvbiAke2h2fS4iCisgICAgICAgICBPVlNfV0FJVF9VTlRJ TChbCisgICAgICAgICAgICAgbl9lY2hvX3JlcT0kbl9uZXdfZWNob19yZXEKK0BAIC0zMjkwLDcg KzMyNTMsNyBAQCBjaGVja19mb3JfbmV3X2VjaG9fcGt0cygpIHsKKyAgICAgICAgICAgICB0ZXN0 ICIkbl9lY2hvX3JlcSIgLW5lICIkbl9uZXdfZWNob19yZXEiICYmIHRlc3QgIiRuX2VjaG9fcmVw IiAtbmUgIiRuX25ld19lY2hvX3JlcCIKKyAgICAgICAgIF0pCisgICAgIGVsc2UKKy0gICAgICAg IGVjaG8gIiQoZGF0ZSArJUg6JU06JVMuJTAzTikgQ2hlY2tpbmcgbm8gcGt0cyBmcm9tICR7aHZ9 IgorKyAgICAgICAgQVNfQk9YKFskKGRhdGUgKyVIOiVNOiVTLiUwM04pIENoZWNraW5nIG5vIHBr dHMgZnJvbSAke2h2fV0pCisgICAgICAgICAjIFdhaXRpbmcgYSBmZXcgc2Vjb25kcyB0byBnZXQg YSBjaGFuY2UgdG8gc2VlIHVuZXhwZWN0ZWQgcGt0cy4KKyAgICAgICAgIHNsZWVwIDMKKyAgICAg ICAgIG5fZWNob19yZXE9JChjYXQgJHtodn0udGNwZHVtcCB8IGdyZXAgLWMgIiRtYWNfc3JjID4g JG1hY19kc3QsIGV0aGVydHlwZSBJUHY0ICgweDA4MDApLCBsZW5ndGggOTg6IDE5Mi4xNjguMC4x ID4gMTkyLjE2OC4xLjE6IElDTVAgZWNobyByZXF1ZXN0IikKK0BAIC0zMzA4LDQ0ICszMjcxLDIy IEBAIGR1bXBfc3RhdGlzdGljcygpIHsKKyAgICAgY2gxX3JlcD0kKGdyZXAgLWMgIklDTVAgZWNo byByZXBseSIgY2gxLnRjcGR1bXApCisgICAgIGNoMl9yZXE9JChncmVwIC1jICJJQ01QIGVjaG8g cmVxdWVzdCIgY2gyLnRjcGR1bXApCisgICAgIGNoMl9yZXA9JChncmVwIC1jICJJQ01QIGVjaG8g cmVwbHkiIGNoMi50Y3BkdW1wKQorLSAgICBjaDNfcmVxPSQoZ3JlcCAtYyAiSUNNUCBlY2hvIHJl cXVlc3QiIGNoMy50Y3BkdW1wKQorLSAgICBjaDNfcmVwPSQoZ3JlcCAtYyAiSUNNUCBlY2hvIHJl cGx5IiBjaDMudGNwZHVtcCkKKyAgICAgZ3cxX3JlcT0kKGdyZXAgLWMgIklDTVAgZWNobyByZXF1 ZXN0IiBndzEudGNwZHVtcCkKKyAgICAgZ3cxX3JlcD0kKGdyZXAgLWMgIklDTVAgZWNobyByZXBs eSIgZ3cxLnRjcGR1bXApCisgICAgIGd3Ml9yZXE9JChncmVwIC1jICJJQ01QIGVjaG8gcmVxdWVz dCIgZ3cyLnRjcGR1bXApCisgICAgIGd3Ml9yZXA9JChncmVwIC1jICJJQ01QIGVjaG8gcmVwbHki IGd3Mi50Y3BkdW1wKQorICAgICBndzNfcmVxPSQoZ3JlcCAtYyAiSUNNUCBlY2hvIHJlcXVlc3Qi IGd3My50Y3BkdW1wKQorICAgICBndzNfcmVwPSQoZ3JlcCAtYyAiSUNNUCBlY2hvIHJlcGx5IiBn dzMudGNwZHVtcCkKKy0gICAgZWNobyAiJG4xIGNsYWltcyBpbiBndzEsICRuMiBpbiBndzIgYW5k ICRuMyBvbiBndzMiID4mMgorLSAgICBlY2hvICJjaDNfcmVxPSRjaDNfcmVxIGd3X3JlcT0oJGd3 MV9yZXEgKyAkZ3cyX3JlcSArJGd3M19yZXEpIGNoMV9yZXE9JGNoMV9yZXEgY2gxX3JlcD0kY2gx X3JlcCBnd19yZXA9KCRndzFfcmVwICsgJGd3Ml9yZXAgKyAkZ3czX3JlcCkgY2gzX3JlcD0kY2gz X3JlcCBjaDI9KCRjaDJfcmVxKyRjaDJfcmVwKSIgPiYyCistICAgIGVjaG8gIiQoKGNoM19yZXEg LSBjaDNfcmVwKSkiCistfQorLQorLWFkZF9wb3J0KCkgeworLSAgICBicmlkZ2U9JDEKKy0gICAg aW50ZXJmYWNlPSQyCistICAgIGFkZHJlc3M9JDMKKy0gICAgZWNobyAiQWRkaW5nICRicmlkZ2Ug JGludGVyZmFjZSAkYWRkcmVzcyIKKy0KKy0gICAgcGlkPSQocG9kbWFuIGluc3BlY3QgLWYgJ3t7 LlN0YXRlLlBpZH19JyBvdm4tZ3ctMSkKKy0gICAgbG4gLXNmIC9wcm9jLyRwaWQvbnMvbmV0IC92 YXIvcnVuL25ldG5zLyRwaWQKKy0gICAgcG9ydD0kKGhvc3Rfb3ZzX3ZzY3RsIC0tZGF0YT1iYXJl IC0tbm8taGVhZGluZyAtLWNvbHVtbnM9bmFtZSBmaW5kIGludGVyZmFjZSBcCistICAgICAgICAg ICBleHRlcm5hbF9pZHM6Y29udGFpbmVyX2lkPW92bi1ndy0xIGV4dGVybmFsX2lkczpjb250YWlu ZXJfaWZhY2U9IiRpbnRlcmZhY2UiKQorLSAgICBwb3J0PSIke3BvcnQ6MDoxM30iCistICAgIGlw IGxpbmsgYWRkICIke3BvcnR9X2wiIHR5cGUgdmV0aCBwZWVyIG5hbWUgIiR7cG9ydH1fYyIKKy0g ICAgaXAgbGluayBzZXQgIiR7cG9ydH1fbCIgdXAKKy0gICAgaXAgbGluayBzZXQgIiR7cG9ydH1f YyIgbmV0bnMgJHBpZAorLSAgICBpcCBuZXRucyBleGVjICRwaWQgaXAgbGluayBzZXQgZGV2ICIk e3BvcnR9X2MiIG5hbWUgIiRpbnRlcmZhY2UiCistICAgIGlwIG5ldG5zIGV4ZWMgJHBpZCBpcCBs aW5rIHNldCAiJGludGVyZmFjZSIgdXAKKy0gICAgaWYgW1sgLW4gIiRhZGRyZXNzIiBdXTsgdGhl bgorLSAgICAgICAgaXAgbmV0bnMgZXhlYyAkcGlkIGlwIGFkZHIgYWRkICIkYWRkcmVzcyIgZGV2 ICIkaW50ZXJmYWNlIgorLSAgICBmaQorKyAgICBlY2hvICIkbjEgY2xhaW1zIGluIGd3MSwgJG4y IGluIGd3MiBhbmQgJG4zIG9uIGd3MyIKKysgICAgZWNobyAiY2gyX3JlcXVlc3Q9JGNoMl9yZXEg Z3cxX3JlcXVlc3Q9JGd3MV9yZXEgZ3cyX3JlcXVlc3Q9JGd3Ml9yZXEgZ3czX3JlcXVlc3Q9JGd3 M19yZXEgY2gxX3JlcXVlc3Q9JGNoMV9yZXEgY2gxX3JlcGx5PSRjaDFfcmVwIGd3MV9yZXBseT0k Z3cxX3JlcCBndzJfcmVwbHk9JGd3Ml9yZXAgZ3czX3JlcGx5PSRndzNfcmVwIGNoMl9yZXBseT0k Y2gyX3JlcCIKKyB9CisgCistcHJlcGFyZSgpIHsKKytjaGVja19taWdyYXRpb25fYmV0d2Vlbl9n dzFfYW5kX2d3MigpIHsKKysgICAgYWN0aW9uPSQxCisgICAgIHNlbmRfYmFja2dyb3VuZF9wYWNr ZXRzCisrCisgICAgICMgV2UgbWFrZSBzdXJlIGd3MSBpcyBsZWFkZXIgc2luY2UgZW5vdWdoIHRp bWUgdGhhdCBpdCBnZW5lcmF0ZWQgYWxsIGl0cyBnYXJwcy4KKy0gICAgZWNobyAkKGRhdGUgKyVI OiVNOiVTLiUwM04pIFdhaXRpbmcgYWxsIGdhcnBzIHNlbnQgYnkgZ3cxCisrICAgIEFTX0JPWChb JChkYXRlICslSDolTTolUy4lMDNOKSBXYWl0aW5nIGFsbCBnYXJwcyBzZW50IGJ5IGd3MV0pCisg ICAgIG5fbmV3X2dhcnBzPSQoY2F0IGd3MV9vdXQudGNwZHVtcCB8IGdyZXAgLWMgImYwOjAwOmMw OmE4OjAwOmZlID4gQnJvYWRjYXN0LCBldGhlcnR5cGUgQVJQICgweDA4MDYpLCBsZW5ndGggNDI6 IFJlcXVlc3Qgd2hvLWhhcyAxOTIuMTY4LjAuMjU0IHRlbGwgMTkyLjE2OC4wLjI1NCwgbGVuZ3Ro IDI4IikKKyAgICAgT1ZTX1dBSVRfVU5USUwoWworICAgICAgICAgbl9nYXJwcz0kbl9uZXdfZ2Fy cHMKK0BAIC0zMzYxLDI2OSArMzMwMiwxMzAgQEAgcHJlcGFyZSgpIHsKKyAgICAgY2hlY2tfZm9y X25ld19lY2hvX3BrdHMgZ3cyICIwMDowMDpjMDphODowMDowMSIgImYwOjAwOmMwOmE4OjAwOmZl IiAiZmFsc2UiCisgICAgIGNoZWNrX2Zvcl9uZXdfZWNob19wa3RzIGd3MyAiMDA6MDA6YzA6YTg6 MDA6MDEiICJmMDowMDpjMDphODowMDpmZSIgImZhbHNlIgorIAorLSAgICAjIEFsbCBwYWNrZXRz IHNob3VsZCBnbyB0aHJvdWdoIGd3MSwgYW5kIG5vbmUgdGhyb3VnaCBndzIgb3IgZ3czLgorLSAg ICBjaGVja19wYWNrZXRzICJ0cnVlIiAiZmFsc2UiICJmYWxzZSIgInRydWUiCisgICAgIGZsYXBf Y291bnRfZ3dfMT0kKG1fYXMgb3ZuLWd3LTEgb3ZzLXZzY3RsIGdldCBpbnRlcmZhY2UgJGZyb21f Z3cxX3RvX2d3MiBiZmRfc3RhdHVzIHwgc2VkICdzLy4qZmxhcF9jb3VudD1cIlwoW1swLTldXSpc KS4qL1wxL2cnKQorICAgICBmbGFwX2NvdW50X2d3XzI9JChtX2FzIG92bi1ndy0yIG92cy12c2N0 bCBnZXQgaW50ZXJmYWNlICRmcm9tX2d3Ml90b19ndzEgYmZkX3N0YXR1cyB8IHNlZCAncy8uKmZs YXBfY291bnQ9XCJcKFtbMC05XV0qXCkuKi9cMS9nJykKKy19CisgCistY2hlY2tfbG9zc19hZnRl cl9mbGFwKCkKKy17CistICAgIGRlYWQ9JDEKKy0gICAgbWF4X2V4cGVjdGVkX2xvc3M9JDIKKysg ICAgaWYgWyB0ZXN0ICIkYWN0aW9uIiA9PSAic3RvcF9iZmQiIF07IHRoZW4KKysgICAgICAgIEFT X0JPWChbJChkYXRlICslSDolTTolUy4lMDNOKSBCbG9ja2luZyBiZmQgb24gZ3cxIChmcm9tICRp cF9ndzEgdG8gJGlwX2d3MildKQorKyAgICAgICAgbnNlbnRlciAtLW5ldD0vcHJvYy8kZ3cxX3Bp ZC9ucy9uZXQgbmZ0IGFkZCB0YWJsZSBpcCBvdm4tdGVzdAorKyAgICAgICAgbnNlbnRlciAtLW5l dD0vcHJvYy8kZ3cxX3BpZC9ucy9uZXQgbmZ0ICdhZGQgY2hhaW4gaXAgb3ZuLXRlc3QgSU5QVVQg eyB0eXBlIGZpbHRlciBob29rIGlucHV0IHByaW9yaXR5IDA7IHBvbGljeSBhY2NlcHQ7IH0nCisr ICAgICAgICAjIERyb3AgQkZEIGZyb20gZ3ctMSB0byBndy0yOiBnZW5ldmUgcG9ydCAoNjA4MSks IGlubmVyIHBvcnQgMzc4NCAoMHhlYzgpLCBTZXNzaW9uIHN0YXRlIFVwLCBJbml0LCBEb3duLgor KyAgICAgICAgbnNlbnRlciAtLW5ldD0vcHJvYy8kZ3cxX3BpZC9ucy9uZXQgbmZ0IGFkZCBydWxl IGlwIG92bi10ZXN0IElOUFVUIGlwIGRhZGRyICRpcF9ndzEgaXAgc2FkZHIgJGlwX2d3MiB1ZHAg ZHBvcnQgNjA4MSAnQHRoLDQxNiwxNiA9PSAweDBlYzggQHRoLDQ3Miw4ID09IDB4YzAgIGNvdW50 ZXIgZHJvcCcKKysgICAgICAgIG5zZW50ZXIgLS1uZXQ9L3Byb2MvJGd3MV9waWQvbnMvbmV0IG5m dCBhZGQgcnVsZSBpcCBvdm4tdGVzdCBJTlBVVCBpcCBkYWRkciAkaXBfZ3cxIGlwIHNhZGRyICRp cF9ndzIgdWRwIGRwb3J0IDYwODEgJ0B0aCw0MTYsMTYgPT0gMHgwZWM4IEB0aCw0NzIsOCA9PSAw eDgwICBjb3VudGVyIGRyb3AnCisrICAgICAgICBuc2VudGVyIC0tbmV0PS9wcm9jLyRndzFfcGlk L25zL25ldCBuZnQgYWRkIHJ1bGUgaXAgb3ZuLXRlc3QgSU5QVVQgaXAgZGFkZHIgJGlwX2d3MSBp cCBzYWRkciAkaXBfZ3cyIHVkcCBkcG9ydCA2MDgxICdAdGgsNDE2LDE2ID09IDB4MGVjOCBAdGgs NDcyLDggPT0gMHg0MCAgY291bnRlciBkcm9wJworKworKyAgICAgICAgIyBXZSBkbyBub3QgY2hl Y2sgdGhhdCBwYWNrZXRzIGdvIHRocm91Z2ggZ3cyIGFzIEJGRCBiZXR3ZWVuIGNoYXNzaXMtMiBh bmQgZ3cxIGlzIHN0aWxsIHVwCisrICAgIGZpCisrCisrICAgIGlmIFsgdGVzdCAiJGFjdGlvbiIg PT0gImtpbGxfZ3cyIiBdOyB0aGVuCisrICAgICAgICBBU19CT1goWyQoZGF0ZSArJUg6JU06JVMu JTAzTikgS2lsbGluZyBndzIgb3ZuLWNvbnRyb2xsZXJdKQorKyAgICAgICAgb25fZXhpdCAnbV9h cyBvdm4tZ3ctMiAvdXNyL3NoYXJlL29wZW52c3dpdGNoL3NjcmlwdHMvb3ZzLWN0bCBzdGF0dXMg fHwKKysgICAgICAgICAgICAgICAgIG1fYXMgb3ZuLWd3LTIgL3Vzci9zaGFyZS9vcGVudnN3aXRj aC9zY3JpcHRzL292cy1jdGwgc3RhcnQgLS1zeXN0ZW0taWQ9b3ZuLWd3LTInCisrICAgICAgICBv bl9leGl0ICdtX2FzIG92bi1ndy0yIC91c3Ivc2hhcmUvb3ZuL3NjcmlwdHMvb3ZuLWN0bCBzdGF0 dXNfY29udHJvbGxlciB8fAorKyAgICAgICAgICAgICAgICAgbV9hcyBvdm4tZ3ctMiAvdXNyL3No YXJlL292bi9zY3JpcHRzL292bi1jdGwgc3RhcnRfY29udHJvbGxlciAke0NPTlRST0xMRVJfU1NM X0FSR1N9JworKworKyAgICAgICAgbV9hcyBvdm4tZ3ctMiBraWxsIC05ICQobV9hcyBvdm4tZ3ct MiBjYXQgL3J1bi9vdm4vb3ZuLWNvbnRyb2xsZXIucGlkKQorKyAgICAgICAgbV9hcyBvdm4tZ3ct MiBraWxsIC05ICQobV9hcyBvdm4tZ3ctMiBjYXQgL3J1bi9vcGVudnN3aXRjaC9vdnMtdnN3aXRj aGQucGlkKQorKyAgICAgICAgbV9hcyBvdm4tZ3ctMiBraWxsIC05ICQobV9hcyBvdm4tZ3ctMiBj YXQgL3J1bi9vcGVudnN3aXRjaC9vdnNkYi1zZXJ2ZXIucGlkKQorKyAgICAgICAgIyBBbHNvIGRl bGV0ZSBkYXRhcGF0aCAoZmxvd3MpCisrICAgICAgICBtX2FzIG92bi1ndy0yIG92cy1kcGN0bCBk ZWwtZHAgc3lzdGVtQG92cy1zeXN0ZW0KKysgICAgZmkKKysKKysgICAgaWYgWyB0ZXN0ICIkYWN0 aW9uIiA9PSAia2lsbF9ndzEiIF07IHRoZW4KKysgICAgICAgIEFTX0JPWChbJChkYXRlICslSDol TTolUy4lMDNOKSBLaWxsaW5nIGd3MSBvdm4tY29udHJvbGxlcl0pCisrICAgICAgICBvbl9leGl0 ICdtX2FzIG92bi1ndy0xIC91c3Ivc2hhcmUvb3BlbnZzd2l0Y2gvc2NyaXB0cy9vdnMtY3RsIHN0 YXR1cyB8fAorKyAgICAgICAgICAgICAgICAgbV9hcyBvdm4tZ3ctMSAvdXNyL3NoYXJlL29wZW52 c3dpdGNoL3NjcmlwdHMvb3ZzLWN0bCBzdGFydCAtLXN5c3RlbS1pZD1vdm4tZ3ctMScKKysgICAg ICAgIG9uX2V4aXQgJ21fYXMgb3ZuLWd3LTEgL3Vzci9zaGFyZS9vdm4vc2NyaXB0cy9vdm4tY3Rs IHN0YXR1c19jb250cm9sbGVyIHx8CisrICAgICAgICAgICAgICAgICBtX2FzIG92bi1ndy0xIC91 c3Ivc2hhcmUvb3ZuL3NjcmlwdHMvb3ZuLWN0bCBzdGFydF9jb250cm9sbGVyICR7Q09OVFJPTExF Ul9TU0xfQVJHU30nCisrCisrICAgICAgICBtX2FzIG92bi1ndy0xIGtpbGwgLTkgJChtX2FzIG92 bi1ndy0xIGNhdCAvcnVuL292bi9vdm4tY29udHJvbGxlci5waWQpCisrICAgICAgICBtX2FzIG92 bi1ndy0xIGtpbGwgLTkgJChtX2FzIG92bi1ndy0xIGNhdCAvcnVuL29wZW52c3dpdGNoL292cy12 c3dpdGNoZC5waWQpCisrICAgICAgICBtX2FzIG92bi1ndy0xIGtpbGwgLTkgJChtX2FzIG92bi1n dy0xIGNhdCAvcnVuL29wZW52c3dpdGNoL292c2RiLXNlcnZlci5waWQpCisrICAgICAgICAjIEFs c28gZGVsZXRlIGRhdGFwYXRoIChmbG93cykKKysgICAgICAgIG1fYXMgb3ZuLWd3LTEgb3ZzLWRw Y3RsIGRlbC1kcCBzeXN0ZW1Ab3ZzLXN5c3RlbQorKyAgICBmaQorIAorLSAgICBpZiBbWyAiJGRl YWQiID09ICJndzIiIF1dOyB0aGVuCistICAgICAgICBlY2hvICIkKGRhdGUgKyVIOiVNOiVTLiUw M04pIFdhaXRpbmcgZm9yIGZsYXAgY291bnQgYmV0d2VlbiBndzEgYW5kIGd3MiB0byBpbmNyZWFz ZSIKKysgICAgaWYgWyB0ZXN0ICIkYWN0aW9uIiA9PSAia2lsbF9ndzIiIF07IHRoZW4KKysgICAg ICAgIEFTX0JPWChbJChkYXRlICslSDolTTolUy4lMDNOKSBXYWl0aW5nIGZvciBmbGFwIGNvdW50 IGJldHdlZW4gZ3cxIGFuZCBndzIgdG8gaW5jcmVhc2VdKQorICAgICAgICAgT1ZTX1dBSVRfVU5U SUwoWworICAgICAgICAgICAgIG5ld19mbGFwX2NvdW50PSQobV9hcyBvdm4tZ3ctMSBvdnMtdnNj dGwgZ2V0IGludGVyZmFjICRmcm9tX2d3MV90b19ndzIgYmZkX3N0YXR1cyB8IHNlZCAncy8uKmZs YXBfY291bnQ9XCJcKFtbMC05XV0qXCkuKi9cMS9nJykKKyAgICAgICAgICAgICBlY2hvICJDb21w YXJpbmcgJG5ld19mbGFwX2NvdW50IHZlcnN1cyAkZmxhcF9jb3VudF9nd18xIgorICAgICAgICAg ICAgIHRlc3QgIiRuZXdfZmxhcF9jb3VudCIgLWd0ICIkKChmbGFwX2NvdW50X2d3XzEpKSIKKyAg ICAgICAgIF0pCisgICAgIGVsc2UKKy0gICAgICAgIGVjaG8gIiQoZGF0ZSArJUg6JU06JVMuJTAz TikgV2FpdGluZyBmb3IgZmxhcCBjb3VudCBiZXR3ZWVuIGd3MiBhbmQgZ3cxIHRvIGluY3JlYXNl XSkiCisrICAgICAgICBBU19CT1goWyQoZGF0ZSArJUg6JU06JVMuJTAzTikgV2FpdGluZyBmb3Ig ZmxhcCBjb3VudCBiZXR3ZWVuIGd3MiBhbmQgZ3cxIHRvIGluY3JlYXNlXSkKKyAgICAgICAgIE9W U19XQUlUX1VOVElMKFsKKyAgICAgICAgICAgICBuZXdfZmxhcF9jb3VudD0kKG1fYXMgb3ZuLWd3 LTIgb3ZzLXZzY3RsIGdldCBpbnRlcmZhYyAkZnJvbV9ndzJfdG9fZ3cxIGJmZF9zdGF0dXMgfCBz ZWQgJ3MvLipmbGFwX2NvdW50PVwiXChbWzAtOV1dKlwpLiovXDEvZycpCisgICAgICAgICAgICAg ZWNobyAiQ29tcGFyaW5nICRuZXdfZmxhcF9jb3VudCB2ZXJzdXMgJGZsYXBfY291bnRfZ3dfMiIK KyAgICAgICAgICAgICB0ZXN0ICIkbmV3X2ZsYXBfY291bnQiIC1ndCAiJCgoZmxhcF9jb3VudF9n d18yKSkiCisgICAgICAgICBdKQorKworICAgICBmaQorKyAgICBBU19CT1goWyQoZGF0ZSArJUg6 JU06JVMuJTAzTikgRmxhcHBlZCFdKQorIAorLSAgICBlY2hvICIkKGRhdGUgKyVIOiVNOiVTLiUw M04pIEZsYXBwZWQhIgorICAgICAjIFdhaXQgYSBmZXcgbW9yZSBzZWNvbmQgZm9yIHRoZSBmaWdo dC4KKy0gICAgc2xlZXAgNAorLQorLSAgICBlY2hvICIkKGRhdGUgKyVIOiVNOiVTLiUwM04pIFN0 YXRpc3RpY3MgYWZ0ZXIgZmxhcHBpbmciCistICAgIGxvc3Q9JChkdW1wX3N0YXRpc3RpY3MpCist ICAgIGVjaG8gIj09PT4gJGxvc3QgcGFja2V0IGxvc3Qgd2hpbGUgaGFuZGxpbmcgbWlncmF0aW9u IgorLSAgICBBVF9DSEVDSyhbdGVzdCAiJGxvc3QiIC1sZSAiJG1heF9leHBlY3RlZF9sb3NzIl0p CistfQorLQorLWZpbmFsX2NoZWNrKCkKKy17CistICAgIGFjdGlvbj0kMQorLSAgICBsb3N0PSQy CistICAgIG1heF9leHBlY3RlZF9sb3NzX2FmdGVyX3Jlc3RvcmF0aW9uPSQzCistCistICAgICMg V2FpdCBhIGxpdHRsZSBtb3JlIHRvIGdldCBwYWNrZXRzIHdoaWxlIG5ldHdvcmsgaXMgcmVzdG9y ZWQKKyAgICAgc2xlZXAgMgorLSAgICBlY2hvICIkKGRhdGUgKyVIOiVNOiVTLiUwM04pIFN0YXRp c3RpY3MgYWZ0ZXIgbmV0d29yayByZXN0b3JlZCAoYWZ0ZXIgJGFjdGlvbikiCistICAgIG5ld19s b3N0PSQoZHVtcF9zdGF0aXN0aWNzKQorLSAgICBlY2hvICI9PT0+ICQoKG5ld19sb3N0IC0gbG9z dCkpIHBhY2tldHMgbG9zdCBkdXJpbmcgbmV0d29yayByZXN0b3JhdGlvbiIKKy0gICAgQVRfQ0hF Q0soW3Rlc3QgIiQoKG5ld19sb3N0IC0gbG9zdCkpIiAtbGUgIiRtYXhfZXhwZWN0ZWRfbG9zc19h ZnRlcl9yZXN0b3JhdGlvbiJdKQorLSAgICBzdG9wX3NlbmRpbmdfYmFja2dyb3VuZF9wYWNrZXRz CistfQorLQorLWNoZWNrX2dhcnBzKCkKKy17CistICAgIGNoZWNrX2Zvcl9uZXdfZ2FycHMgZ3cx ICIkMSIKKy0gICAgY2hlY2tfZm9yX25ld19nYXJwcyBndzIgIiQyIgorLSAgICBjaGVja19mb3Jf bmV3X2dhcnBzIGd3MyAiJDMiCistfQorLQorLWNoZWNrX3BhY2tldHMoKQorLXsKKy0gICAgY2hl Y2tfZm9yX25ld19lY2hvX3BrdHMgZ3cxIDAwOjAwOmMwOmE4OjAwOjAxIGYwOjAwOmMwOmE4OjAw OmZlICIkMSIKKy0gICAgY2hlY2tfZm9yX25ld19lY2hvX3BrdHMgZ3cyIDAwOjAwOmMwOmE4OjAw OjAxIGYwOjAwOmMwOmE4OjAwOmZlICIkMiIKKy0gICAgY2hlY2tfZm9yX25ld19lY2hvX3BrdHMg Z3czIDAwOjAwOmMwOmE4OjAwOjAxIGYwOjAwOmMwOmE4OjAwOmZlICIkMyIKKy0gICAgY2hlY2tf Zm9yX25ld19lY2hvX3BrdHMgY2gxIGYwOjAwOmMwOmE4OjAxOmZlIGYwOjAwOmMwOmE4OjAxOjAx ICIkNCIKKy19CistCistY2hlY2tfbWlncmF0aW9uX2JldHdlZW5fZ3cxX2FuZF9ndzJfYmZkX3N0 b3AoKQorLXsKKy0gICAgQVNfQk9YKFskKGRhdGUgKyVIOiVNOiVTLiUwM04pIFRlc3RpbmcgbWln cmF0aW9uIGFmdGVyIGJmZF9zdG9wXSkKKy0gICAgbWF4X2V4cGVjdGVkX21heF9leHBlY3RlZF9s b3NzMT0kMQorLSAgICBtYXhfZXhwZWN0ZWRfbWF4X2V4cGVjdGVkX2xvc3MyPSQyCistICAgIHBy ZXBhcmUKKy0KKy0gICAgZWNobyAiJChkYXRlICslSDolTTolUy4lMDNOKSBCbG9ja2luZyBiZmQg b24gZ3cxIChmcm9tICRpcF9ndzEgdG8gJGlwX2d3MikiCistICAgIG5zZW50ZXIgLS1uZXQ9L3By b2MvJGd3MV9waWQvbnMvbmV0IG5mdCBhZGQgdGFibGUgaXAgb3ZuLXRlc3QKKy0gICAgbnNlbnRl ciAtLW5ldD0vcHJvYy8kZ3cxX3BpZC9ucy9uZXQgbmZ0ICdhZGQgY2hhaW4gaXAgb3ZuLXRlc3Qg SU5QVVQgeyB0eXBlIGZpbHRlciBob29rIGlucHV0IHByaW9yaXR5IDA7IHBvbGljeSBhY2NlcHQ7 IH0nCistICAgICMgRHJvcCBCRkQgZnJvbSBndy0xIHRvIGd3LTI6IGdlbmV2ZSBwb3J0ICg2MDgx KSwgaW5uZXIgcG9ydCAzNzg0ICgweGVjOCksIFNlc3Npb24gc3RhdGUgVXAsIEluaXQsIERvd24u CistICAgIG5zZW50ZXIgLS1uZXQ9L3Byb2MvJGd3MV9waWQvbnMvbmV0IG5mdCBhZGQgcnVsZSBp cCBvdm4tdGVzdCBJTlBVVCBpcCBkYWRkciAkaXBfZ3cxIGlwIHNhZGRyICRpcF9ndzIgdWRwIGRw b3J0IDYwODEgJ0B0aCw0MTYsMTYgPT0gMHgwZWM4IEB0aCw0NzIsOCA9PSAweGMwICBjb3VudGVy IGRyb3AnCistICAgIG5zZW50ZXIgLS1uZXQ9L3Byb2MvJGd3MV9waWQvbnMvbmV0IG5mdCBhZGQg cnVsZSBpcCBvdm4tdGVzdCBJTlBVVCBpcCBkYWRkciAkaXBfZ3cxIGlwIHNhZGRyICRpcF9ndzIg dWRwIGRwb3J0IDYwODEgJ0B0aCw0MTYsMTYgPT0gMHgwZWM4IEB0aCw0NzIsOCA9PSAweDgwICBj b3VudGVyIGRyb3AnCistICAgIG5zZW50ZXIgLS1uZXQ9L3Byb2MvJGd3MV9waWQvbnMvbmV0IG5m dCBhZGQgcnVsZSBpcCBvdm4tdGVzdCBJTlBVVCBpcCBkYWRkciAkaXBfZ3cxIGlwIHNhZGRyICRp cF9ndzIgdWRwIGRwb3J0IDYwODEgJ0B0aCw0MTYsMTYgPT0gMHgwZWM4IEB0aCw0NzIsOCA9PSAw eDQwICBjb3VudGVyIGRyb3AnCistCistICAgIGNoZWNrX2xvc3NfYWZ0ZXJfZmxhcCAiZ3cxIiAk bWF4X2V4cGVjdGVkX21heF9leHBlY3RlZF9sb3NzMQorLQorLSAgICAjIGd3MSBzdGlsbCBhbGl2 ZSBhbmQgZ3cyIHRyaWVkIHRvIGNsYWltID0+IGd3MSBzaG91bGQgcmVzdGFydCBnZW5lcmF0aW5n IGdhcnBzLgorLSAgICBjaGVja19nYXJwcyAidHJ1ZSIgImZhbHNlIiAiZmFsc2UiCistICAgIGNo ZWNrX3BhY2tldHMgInRydWUiICJmYWxzZSIgImZhbHNlIiAidHJ1ZSIKKy0KKy0gICAgZWNobyAi JChkYXRlICslSDolTTolUy4lMDNOKSBVbmJsb2NraW5nIGJmZCBvbiBndzEiCistICAgIG5zZW50 ZXIgLS1uZXQ9L3Byb2MvJGd3MV9waWQvbnMvbmV0IG5mdCAtYSBsaXN0IHJ1bGVzZXQKKy0gICAg bnNlbnRlciAtLW5ldD0vcHJvYy8kZ3cxX3BpZC9ucy9uZXQgbmZ0IGRlbGV0ZSB0YWJsZSBpcCBv dm4tdGVzdAorLQorLSAgICAjIFRoZSBuZXR3b3JrIGlzIG5vdyByZXN0b3JlZCA9PiBwYWNrZXRz IHNob3VsZCBnbyB0aHJvdWdoIGd3MSBhbmQgcmVhY2ggY2hhc3Npcy0xLgorLSAgICBjaGVja19w YWNrZXRzICJ0cnVlIiAiZmFsc2UiICJmYWxzZSIgInRydWUiCistICAgIGZpbmFsX2NoZWNrICJi ZmRfc3RvcCIgJGxvc3QgJG1heF9leHBlY3RlZF9tYXhfZXhwZWN0ZWRfbG9zczIKKy19CistCist Y2hlY2tfbWlncmF0aW9uX2JldHdlZW5fZ3cxX2FuZF9ndzJfa2lsbF9ndzIoKSB7CistICAgIEFT X0JPWChbJChkYXRlICslSDolTTolUy4lMDNOKSBDaGVjayBtaWdyYXRpb24gYWZ0ZXIga2lsbGlu ZyBndzIgb3ZuLWNvbnRyb2xsZXIgJiB2c3dpdGNoZF0pCistICAgIG1heF9leHBlY3RlZF9sb3Nz MT0kMQorLSAgICBtYXhfZXhwZWN0ZWRfbG9zczI9JDIKKy0gICAgcHJlcGFyZQorLQorLSAgICBv bl9leGl0ICdtX2FzIG92bi1ndy0yIC91c3Ivc2hhcmUvb3BlbnZzd2l0Y2gvc2NyaXB0cy9vdnMt Y3RsIHN0YXR1cyB8fAorLSAgICAgICAgICAgICBtX2FzIG92bi1ndy0yIC91c3Ivc2hhcmUvb3Bl bnZzd2l0Y2gvc2NyaXB0cy9vdnMtY3RsIHN0YXJ0IC0tc3lzdGVtLWlkPW92bi1ndy0yJworLSAg ICBvbl9leGl0ICdtX2FzIG92bi1ndy0yIC91c3Ivc2hhcmUvb3ZuL3NjcmlwdHMvb3ZuLWN0bCBz dGF0dXNfY29udHJvbGxlciB8fAorLSAgICAgICAgICAgICBtX2FzIG92bi1ndy0yIC91c3Ivc2hh cmUvb3ZuL3NjcmlwdHMvb3ZuLWN0bCBzdGFydF9jb250cm9sbGVyICR7Q09OVFJPTExFUl9TU0xf QVJHU30nCistCistICAgIG1fYXMgb3ZuLWd3LTIga2lsbCAtOSAkKG1fYXMgb3ZuLWd3LTIgY2F0 IC9ydW4vb3ZuL292bi1jb250cm9sbGVyLnBpZCkKKy0gICAgbV9hcyBvdm4tZ3ctMiBraWxsIC05 ICQobV9hcyBvdm4tZ3ctMiBjYXQgL3J1bi9vcGVudnN3aXRjaC9vdnMtdnN3aXRjaGQucGlkKQor LSAgICBtX2FzIG92bi1ndy0yIGtpbGwgLTkgJChtX2FzIG92bi1ndy0yIGNhdCAvcnVuL29wZW52 c3dpdGNoL292c2RiLXNlcnZlci5waWQpCistICAgIG1fYXMgb3ZuLWd3LTIgb3ZzLWRwY3RsIGRl bC1kcCBzeXN0ZW1Ab3ZzLXN5c3RlbQorLQorLSAgICBjaGVja19sb3NzX2FmdGVyX2ZsYXAgImd3 MiIgJG1heF9leHBlY3RlZF9sb3NzMQorLQorLSAgICAjIGd3MSBzdGlsbCBhbGl2ZSwgYnV0IGd3 MiBkaWQgbm90IHRyeSB0byBjbGFpbSA9PiBndzEgc2hvdWxkIG5vdCBnZW5lcmF0ZSBuZXcgZ2Fy cHMuCistICAgIGNoZWNrX2dhcnBzICJmYWxzZSIgImZhbHNlIiAiZmFsc2UiCistICAgIGNoZWNr X3BhY2tldHMgInRydWUiICJmYWxzIiAiZmFsc2UiICJ0cnVlIgorLQorLSAgICBlY2hvICIkKGRh dGUgKyVIOiVNOiVTLiUwM04pIFJlc3RhcnRpbmcgZ3cyIG92bi12c3dpdGNoZF0iCistICAgIG1f YXMgb3ZuLWd3LTIgL3Vzci9zaGFyZS9vcGVudnN3aXRjaC9zY3JpcHRzL292cy1jdGwgc3RhcnQg LS1zeXN0ZW0taWQ9b3ZuLWd3LTIKKy0KKy0gICAgZWNobyAiJChkYXRlICslSDolTTolUy4lMDNO KSBSZXN0YXJ0aW5nIGd3MiBvdm4tY29udHJvbGxlciIKKy0gICAgbV9hcyBvdm4tZ3ctMiAvdXNy L3NoYXJlL292bi9zY3JpcHRzL292bi1jdGwgc3RhcnRfY29udHJvbGxlciAke0NPTlRST0xMRVJf U1NMX0FSR1N9CistCistICAgICMgVGhlIG5ldHdvcmsgaXMgbm93IHJlc3RvcmVkID0+IHBhY2tl dHMgc2hvdWxkIGdvIHRocm91Z2ggZ3cxIGFuZCByZWFjaCBjaGFzc2lzLTEuCistICAgIGNoZWNr X3BhY2tldHMgInRydWUiICJmYWxzZSIgImZhbHNlIiAidHJ1ZSIKKy0gICAgZmluYWxfY2hlY2sg ImtpbGxfZ3cyIiAkbG9zdCAkbWF4X2V4cGVjdGVkX2xvc3MyCistfQorLQorLWNoZWNrX21pZ3Jh dGlvbl9iZXR3ZWVuX2d3MV9hbmRfZ3cyX3VwZGF0ZV9vdnMoKSB7CistICAgIEFTX0JPWChbJChk YXRlICslSDolTTolUy4lMDNOKSBDaGVjayBtaWdyYXRpb24gYWZ0ZXIgcmVzdGFydGluZyBndzEg b3ZzLXZzd2l0Y2hkICgidXBkYXRlIildKQorLSAgICBtYXhfZXhwZWN0ZWRfbG9zczE9JDEKKy0g ICAgbWF4X2V4cGVjdGVkX2xvc3MyPSQyCistICAgIHByZXBhcmUKKy0KKy0gICAgbV9hcyBvdm4t Z3ctMSAvdXNyL3NoYXJlL29wZW52c3dpdGNoL3NjcmlwdHMvb3ZzLWN0bCByZXN0YXJ0IC0tc3lz dGVtLWlkPW92bi1ndy0xCistCistICAgIGNoZWNrX2xvc3NfYWZ0ZXJfZmxhcCAiZ3cxIiAkbWF4 X2V4cGVjdGVkX2xvc3MxCistCistICAgICMgVGhlIG5ldHdvcmsgaXMgbm93IHJlc3RvcmVkID0+ IHBhY2tldHMgc2hvdWxkIGdvIHRocm91Z2ggZ3cxIGFuZCByZWFjaCBjaGFzc2lzLTEuCistICAg IGNoZWNrX3BhY2tldHMgInRydWUiICJmYWxzZSIgImZhbHNlIiAidHJ1ZSIKKy0gICAgZmluYWxf Y2hlY2sgIm92c191cGRhdGUiICRsb3N0ICRtYXhfZXhwZWN0ZWRfbG9zczIKKy19CistCistY2hl Y2tfbWlncmF0aW9uX2JldHdlZW5fZ3cxX2FuZF9ndzJfa2lsbF9ndzEoKSB7CistICAgIEFTX0JP WChbJChkYXRlICslSDolTTolUy4lMDNOKSBLaWxsaW5nIGd3MSBvdm4tY29udHJvbGxlciBhbmQg b3ZzLXZzd2l0Y2hkXSkKKy0gICAgbWF4X2V4cGVjdGVkX2xvc3MxPSQxCistICAgIG1heF9leHBl Y3RlZF9sb3NzMj0kMgorLSAgICBwcmVwYXJlCistCistICAgIG9uX2V4aXQgJ21fYXMgb3ZuLWd3 LTEgL3Vzci9zaGFyZS9vcGVudnN3aXRjaC9zY3JpcHRzL292cy1jdGwgc3RhdHVzIHx8CistICAg ICAgICAgICAgIG1fYXMgb3ZuLWd3LTEgL3Vzci9zaGFyZS9vcGVudnN3aXRjaC9zY3JpcHRzL292 cy1jdGwgc3RhcnQgLS1zeXN0ZW0taWQ9b3ZuLWd3LTEnCistICAgIG9uX2V4aXQgJ21fYXMgb3Zu LWd3LTEgL3Vzci9zaGFyZS9vdm4vc2NyaXB0cy9vdm4tY3RsIHN0YXR1c19jb250cm9sbGVyIHx8 CistICAgICAgICAgICAgIG1fYXMgb3ZuLWd3LTEgL3Vzci9zaGFyZS9vdm4vc2NyaXB0cy9vdm4t Y3RsIHN0YXJ0X2NvbnRyb2xsZXIgJHtDT05UUk9MTEVSX1NTTF9BUkdTfScKKy0KKy0gICAgbV9h cyBvdm4tZ3ctMSBraWxsIC05ICQobV9hcyBvdm4tZ3ctMSBjYXQgL3J1bi9vdm4vb3ZuLWNvbnRy b2xsZXIucGlkKQorLSAgICBtX2FzIG92bi1ndy0xIGtpbGwgLTkgJChtX2FzIG92bi1ndy0xIGNh dCAvcnVuL29wZW52c3dpdGNoL292cy12c3dpdGNoZC5waWQpCistICAgIG1fYXMgb3ZuLWd3LTEg a2lsbCAtOSAkKG1fYXMgb3ZuLWd3LTEgY2F0IC9ydW4vb3BlbnZzd2l0Y2gvb3ZzZGItc2VydmVy LnBpZCkKKy0gICAgIyBBbHNvIGRlbGV0ZSBkYXRhcGF0aCAoZmxvd3MpCistICAgIG1fYXMgb3Zu LWd3LTEgb3ZzLWRwY3RsIGRlbC1kcCBzeXN0ZW1Ab3ZzLXN5c3RlbQorLQorLSAgICBjaGVja19s b3NzX2FmdGVyX2ZsYXAgImd3MSIgJG1heF9leHBlY3RlZF9sb3NzMQorLQorLSAgICAjIGd3MSBk aWVkID0+IGd3MiBzaG91bGQgZ2VuZXJhdGUgZ2FycHMuCistICAgIGNoZWNrX2dhcnBzICJmYWxz ZSIgInRydWUiICJmYWxzZSIKKy0gICAgY2hlY2tfcGFja2V0cyAiZmFsc2UiICJ0cnVlIiAiZmFs c2UiICJ0cnVlIgorLSAgICBlY2hvICIkKGRhdGUgKyVIOiVNOiVTLiUwM04pIFJlc3RhcnRpbmcg Z3cxIG92bi12c3dpdGNoZCBhZnRlciBraWxsaW5nIGd3MSIKKy0gICAgbV9hcyBvdm4tZ3ctMSAv dXNyL3NoYXJlL29wZW52c3dpdGNoL3NjcmlwdHMvb3ZzLWN0bCBzdGFydCAtLXN5c3RlbS1pZD1v dm4tZ3ctMQorLQorLSAgICAjIFdhaXQgc29tZSBsb25nIHRpbWUgYmVmb3JlIHJlc3RhcnRpbmcg b3ZuLWNvbnRyb2xsZXIKKy0gICAgc2xlZXAgMTAKKy0KKy0gICAgIyBndzIgc2hvdWxkIHN0aWxs IGJlIGhhbmRsaW5nIHBhY2tldHMgYXMgT1ZOIG5vdCByZXN0YXJ0ZWQgb24gZ3cxCistICAgIGNo ZWNrX3BhY2tldHMgImZhbHNlIiAidHJ1ZSIgImZhbHNlIiAidHJ1ZSIKKy0KKy0gICAgZWNobyAi JChkYXRlICslSDolTTolUy4lMDNOKSBSZXN0YXJ0aW5nIGd3MSBvdm4tY29udHJvbGxlciBhZnRl ciBraWxsaW5nIGd3MSIKKy0gICAgbV9hcyBvdm4tZ3ctMSAvdXNyL3NoYXJlL292bi9zY3JpcHRz L292bi1jdGwgc3RhcnRfY29udHJvbGxlciAke0NPTlRST0xMRVJfU1NMX0FSR1N9CistCistICAg ICMgVGhlIG5ldHdvcmsgaXMgbm93IHJlc3RvcmVkID0+IHBhY2tldHMgc2hvdWxkIGdvIHRocm91 Z2ggZ3cxIGFuZCByZWFjaCBjaGFzc2lzLTEuCistICAgIGNoZWNrX3BhY2tldHMgInRydWUiICJm YWxzZSIgImZhbHNlIiAidHJ1ZSIKKy0gICAgZmluYWxfY2hlY2sgImtpbGxfZ3cxIiAkbG9zdCAk bWF4X2V4cGVjdGVkX2xvc3MyCistfQorLQorLWNoZWNrX21pZ3JhdGlvbl9iZXR3ZWVuX2d3MV9h bmRfZ3cyX3JlYm9vdF9ndzEoKSB7CistICAgIGlwX2d3MV9ldGgxPSQocG9kbWFuIGV4ZWMgb3Zu LWd3LTEgaXAgLWJyaWVmIGFkZHJlc3Mgc2hvdyBldGgxIHwgYXdrICd7cHJpbnQgJDN9JyB8IGN1 dCAtZC8gLWYxKQorLSAgICBjaWRyPSQocG9kbWFuIGV4ZWMgb3ZuLWd3LTEgaXAgLWJyaWVmIGFk ZHJlc3Mgc2hvdyBldGgxIHwgYXdrICd7cHJpbnQgJDN9JyB8IGN1dCAtZC8gLWYyKQorLSAgICBB U19CT1goWyQoZGF0ZSArJUg6JU06JVMuJTAzTikgUmVib290aW5nIG92bi1ndy0xIHdpdGggJGlw X2d3MV9ldGgxLyRjaWRyXSkKKy0gICAgbWF4X2V4cGVjdGVkX2xvc3MxPSQxCistICAgIG1heF9l eHBlY3RlZF9sb3NzMj0kMgorLSAgICBwcmVwYXJlCistCistICAgIHBvZG1hbiBzdG9wIC10IDAg b3ZuLWd3LTEKKy0gICAgKGV4ZWMgMz4mLSA0PiYtIDU+Ji0gNj4mLTsgcG9kbWFuIHN0YXJ0IG92 bi1ndy0xKQorLQorLSAgICAjIEFzIG92bi1ndy0xIGdvdCBzdG9wcGVkIGFuZCByZXN0YXJ0ZWQs IGl0cyBwb3J0cyAoYWRkZWQgYnkgZmFrZQorLSAgICAjIG11bHRpbm9kZSkgZ290IGRlbGV0ZWQu IEFkZCB0aGVtIGJhY2suCistICAgIGFkZF9wb3J0IGJyLW92biBldGgxICRpcF9ndzFfZXRoMS8k Y2lkcgorLSAgICBhZGRfcG9ydCBici1vdm4tZXh0IGV0aDIKKy0gICAgTV9TVEFSVF9UQ1BEVU1Q Uyhbb3ZuLWd3LTFdLCBbLW5lZWkgZXRoMl0sIFtndzFdLCBbb3ZuLWd3LTFdLCBbLW5lZWkgZXRo MV0sIFtndzFfZXRoMV0sIFtvdm4tZ3ctMV0sIFstbmVlaSBldGgyIC1RIG91dF0sIFtndzFfb3V0 XSkKKy0gICAgY2hlY2tfbG9zc19hZnRlcl9mbGFwICJndzEiICRtYXhfZXhwZWN0ZWRfbG9zczEK Ky0KKy0gICAgIyBndzEgZGllZCA9PiBndzIgc2hvdWxkIGdlbmVyYXRlIGdhcnBzLgorLSAgICBj aGVja19nYXJwcyAiZmFsc2UiICJ0cnVlIiAiZmFsc2UiCistICAgIGNoZWNrX3BhY2tldHMgImZh bHNlIiAidHJ1ZSIgImZhbHNlIiAidHJ1ZSIKKy0KKy0gICAgZWNobyAiJChkYXRlICslSDolTTol Uy4lMDNOKSBSZXN0YXJ0aW5nIGd3MSBvdm4tdnN3aXRjaGQgYWZ0ZXIgcmVib290aW5nIGd3MSIK Ky0gICAgbV9hcyBvdm4tZ3ctMSAvdXNyL3NoYXJlL29wZW52c3dpdGNoL3NjcmlwdHMvb3ZzLWN0 bCBzdGFydCAtLXN5c3RlbS1pZD1vdm4tZ3ctMQorLQorLSAgICAjIFdhaXQgc29tZSBsb25nIHRp bWUgYmVmb3JlIHJlc3RhcnRpbmcgb3ZuLWNvbnRyb2xsZXIKKy0gICAgc2xlZXAgMTAKKysgICAg QVNfQk9YKFskKGRhdGUgKyVIOiVNOiVTLiUwM04pIFN0YXRpc3RpY3MgYWZ0ZXIgZmxhcHBpbmdd KQorKyAgICBkdW1wX3N0YXRpc3RpY3MKKysKKysgICAgaWYgWyB0ZXN0ICIkYWN0aW9uIiA9PSAi c3RvcF9iZmQiIF07IHRoZW4KKysgICAgICAgICMgZ3cxIHN0aWxsIGFsaXZlIGFuZCBndzIgdHJp ZWQgdG8gY2xhaW0gPT4gZ3cxIHNob3VsZCByZXN0YXJ0IGdlbmVyYXRpbmcgZ2FycHMuCisrICAg ICAgICBjaGVja19mb3JfbmV3X2dhcnBzIGd3MSAidHJ1ZSIKKysgICAgICAgIGNoZWNrX2Zvcl9u ZXdfZ2FycHMgZ3cyICJmYWxzZSIKKysgICAgICAgIGNoZWNrX2Zvcl9uZXdfZ2FycHMgZ3czICJm YWxzZSIKKysgICAgICAgIGNoZWNrX2Zvcl9uZXdfZWNob19wa3RzIGd3MSAwMDowMDpjMDphODow MDowMSBmMDowMDpjMDphODowMDpmZSAidHJ1ZSIKKysgICAgICAgIGNoZWNrX2Zvcl9uZXdfZWNo b19wa3RzIGd3MiAwMDowMDpjMDphODowMDowMSBmMDowMDpjMDphODowMDpmZSAiZmFsc2UiCisr ICAgICAgICBjaGVja19mb3JfbmV3X2VjaG9fcGt0cyBndzMgMDA6MDA6YzA6YTg6MDA6MDEgZjA6 MDA6YzA6YTg6MDA6ZmUgImZhbHNlIgorKyAgICAgICAgY2hlY2tfZm9yX25ld19lY2hvX3BrdHMg Y2gxIGYwOjAwOmMwOmE4OjAxOmZlIGYwOjAwOmMwOmE4OjAxOjAxICJ0cnVlIgorKyAgICAgICAg QVNfQk9YKFskKGRhdGUgKyVIOiVNOiVTLiUwM04pIFVuYmxvY2tpbmcgYmZkIG9uIGd3MV0pCisr ICAgICAgICBuc2VudGVyIC0tbmV0PS9wcm9jLyRndzFfcGlkL25zL25ldCBuZnQgLWEgbGlzdCBy dWxlc2V0CisrICAgICAgICBuc2VudGVyIC0tbmV0PS9wcm9jLyRndzFfcGlkL25zL25ldCBuZnQg ZGVsZXRlIHRhYmxlIGlwIG92bi10ZXN0CisrICAgIGZpCisgCistICAgICMgZ3cyIHNob3VsZCBz dGlsbCBiZSBoYW5kbGluZyBwYWNrZXRzIGFzIE9WTiBub3QgcmVzdGFydGVkIG9uIGd3MQorLSAg ICBjaGVja19wYWNrZXRzICJmYWxzZSIgInRydWUiICJmYWxzZSIgInRydWUiCisrICAgIGlmIFsg dGVzdCAiJGFjdGlvbiIgPT0gImtpbGxfZ3cyIiBdOyB0aGVuCisrICAgICAgICAjIGd3MSBzdGls bCBhbGl2ZSwgYnV0IGd3MiBkaWQgbm90IHRyeSB0byBjbGFpbSA9PiBndzEgc2hvdWxkIG5vdCBn ZW5lcmF0ZSBuZXcgZ2FycHMuCisrICAgICAgICBjaGVja19mb3JfbmV3X2dhcnBzIGd3MSAiZmFs c2UiCisrICAgICAgICBjaGVja19mb3JfbmV3X2dhcnBzIGd3MiAiZmFsc2UiCisrICAgICAgICBj aGVja19mb3JfbmV3X2dhcnBzIGd3MyAiZmFsc2UiCisrICAgICAgICBjaGVja19mb3JfbmV3X2Vj aG9fcGt0cyBndzEgMDA6MDA6YzA6YTg6MDA6MDEgZjA6MDA6YzA6YTg6MDA6ZmUgInRydWUiCisr ICAgICAgICBjaGVja19mb3JfbmV3X2VjaG9fcGt0cyBndzIgMDA6MDA6YzA6YTg6MDA6MDEgZjA6 MDA6YzA6YTg6MDA6ZmUgImZhbHNlIgorKyAgICAgICAgY2hlY2tfZm9yX25ld19lY2hvX3BrdHMg Z3czIDAwOjAwOmMwOmE4OjAwOjAxIGYwOjAwOmMwOmE4OjAwOmZlICJmYWxzZSIKKysgICAgICAg IGNoZWNrX2Zvcl9uZXdfZWNob19wa3RzIGNoMSBmMDowMDpjMDphODowMTpmZSBmMDowMDpjMDph ODowMTowMSAidHJ1ZSIKKysgICAgICAgIEFTX0JPWChbJChkYXRlICslSDolTTolUy4lMDNOKSBS ZXN0YXJ0aW5nIGd3MiBvdm4tdnN3aXRjaGRdKQorKyAgICAgICAgbV9hcyBvdm4tZ3ctMiAvdXNy L3NoYXJlL29wZW52c3dpdGNoL3NjcmlwdHMvb3ZzLWN0bCBzdGFydCAtLXN5c3RlbS1pZD1vdm4t Z3ctMgorKworKyAgICAgICAgQVNfQk9YKFskKGRhdGUgKyVIOiVNOiVTLiUwM04pIFJlc3RhcnRp bmcgZ3cyIG92bi1jb250cm9sbGVyXSkKKysgICAgICAgIG1fYXMgb3ZuLWd3LTIgL3Vzci9zaGFy ZS9vdm4vc2NyaXB0cy9vdm4tY3RsIHN0YXJ0X2NvbnRyb2xsZXIgJHtDT05UUk9MTEVSX1NTTF9B UkdTfQorKyAgICBmaQorIAorLSAgICBlY2hvICIkKGRhdGUgKyVIOiVNOiVTLiUwM04pIFJlc3Rh cnRpbmcgZ3cxIG92bi1jb250cm9sbGVyIGFmdGVyIHJlYm9vdGluZyBndzEiCistICAgIG1fYXMg b3ZuLWd3LTEgL3Vzci9zaGFyZS9vdm4vc2NyaXB0cy9vdm4tY3RsIHN0YXJ0X2NvbnRyb2xsZXIg JHtDT05UUk9MTEVSX1NTTF9BUkdTfQorKyAgICBpZiBbIHRlc3QgIiRhY3Rpb24iID09ICJraWxs X2d3MSIgXTsgdGhlbgorKyAgICAgICAgIyBndzEgZGllZCA9PiBndzIgc2hvdWxkIGdlbmVyYXRl IGdhcnBzLgorKyAgICAgICAgY2hlY2tfZm9yX25ld19nYXJwcyBndzEgImZhbHNlIgorKyAgICAg ICAgY2hlY2tfZm9yX25ld19nYXJwcyBndzIgInRydWUiCisrICAgICAgICBjaGVja19mb3JfbmV3 X2dhcnBzIGd3MyAiZmFsc2UiCisrICAgICAgICBjaGVja19mb3JfbmV3X2VjaG9fcGt0cyBndzEg MDA6MDA6YzA6YTg6MDA6MDEgZjA6MDA6YzA6YTg6MDA6ZmUgImZhbHNlIgorKyAgICAgICAgY2hl Y2tfZm9yX25ld19lY2hvX3BrdHMgZ3cyIDAwOjAwOmMwOmE4OjAwOjAxIGYwOjAwOmMwOmE4OjAw OmZlICJ0cnVlIgorKyAgICAgICAgY2hlY2tfZm9yX25ld19lY2hvX3BrdHMgZ3czIDAwOjAwOmMw OmE4OjAwOjAxIGYwOjAwOmMwOmE4OjAwOmZlICJmYWxzZSIKKysgICAgICAgIGNoZWNrX2Zvcl9u ZXdfZWNob19wa3RzIGNoMSBmMDowMDpjMDphODowMTpmZSBmMDowMDpjMDphODowMTowMSAidHJ1 ZSIKKysgICAgICAgIEFTX0JPWChbJChkYXRlICslSDolTTolUy4lMDNOKSBSZXN0YXJ0aW5nIGd3 MSBvdm4tdnN3aXRjaGRdKQorKyAgICAgICAgbV9hcyBvdm4tZ3ctMSAvdXNyL3NoYXJlL29wZW52 c3dpdGNoL3NjcmlwdHMvb3ZzLWN0bCBzdGFydCAtLXN5c3RlbS1pZD1vdm4tZ3ctMQorKworKyAg ICAgICAgQVNfQk9YKFskKGRhdGUgKyVIOiVNOiVTLiUwM04pIFJlc3RhcnRpbmcgZ3cxIG92bi1j b250cm9sbGVyXSkKKysgICAgICAgIG1fYXMgb3ZuLWd3LTEgL3Vzci9zaGFyZS9vdm4vc2NyaXB0 cy9vdm4tY3RsIHN0YXJ0X2NvbnRyb2xsZXIgJHtDT05UUk9MTEVSX1NTTF9BUkdTfQorKyAgICBm aQorIAorICAgICAjIFRoZSBuZXR3b3JrIGlzIG5vdyByZXN0b3JlZCA9PiBwYWNrZXRzIHNob3Vs ZCBnbyB0aHJvdWdoIGd3MSBhbmQgcmVhY2ggY2hhc3Npcy0xLgorLSAgICBjaGVja19wYWNrZXRz ICJ0cnVlIiAiZmFsc2UiICJmYWxzZSIgInRydWUiCistICAgIGZpbmFsX2NoZWNrICJraWxsX2d3 MSIgJGxvc3QgJG1heF9leHBlY3RlZF9sb3NzMgorLX0KKy0KKy1jaGVja19jb21wdXRlX3Jlc3Rh cnQoKSB7CistICAgIEFTX0JPWChbJChkYXRlICslSDolTTolUy4lMDNOKSBLaWxsaW5nIG92bi1j aGFzc2lzLTEgb3ZuLWNvbnRyb2xsZXIgYW5kIG92cy12c3dpdGNoZF0pCistICAgIG1heF9leHBl Y3RlZF9sb3NzPSQxCistICAgIHByZXBhcmUKKy0KKy0gICAgIyBLaWxsIG92bi1jaGFzc2lzLTEK Ky0gICAgZWNobyAiJChkYXRlICslSDolTTolUy4lMDNOKSBLaWxsaW5nIGNoYXNzaXMtMSIKKy0g ICAgb25fZXhpdCAnbV9hcyBvdm4tY2hhc3Npcy0xIC91c3Ivc2hhcmUvb3BlbnZzd2l0Y2gvc2Ny aXB0cy9vdnMtY3RsIHN0YXR1cyB8fAorLSAgICAgICAgICAgICBtX2FzIG92bi1jaGFzc2lzLTEg L3Vzci9zaGFyZS9vcGVudnN3aXRjaC9zY3JpcHRzL292cy1jdGwgc3RhcnQgLS1zeXN0ZW0taWQ9 b3ZuLWNoYXNzaXMtMScKKy0gICAgb25fZXhpdCAnbV9hcyBvdm4tY2hhc3Npcy0xIC91c3Ivc2hh cmUvb3ZuL3NjcmlwdHMvb3ZuLWN0bCBzdGF0dXNfY29udHJvbGxlciB8fAorLSAgICAgICAgICAg ICBtX2FzIG92bi1jaGFzc2lzLTEgL3Vzci9zaGFyZS9vdm4vc2NyaXB0cy9vdm4tY3RsIHN0YXJ0 X2NvbnRyb2xsZXIgJHtDT05UUk9MTEVSX1NTTF9BUkdTfScKKy0KKy0gICAgbV9hcyBvdm4tY2hh c3Npcy0xIGtpbGwgLTkgJChtX2FzIG92bi1jaGFzc2lzLTEgY2F0IC9ydW4vb3ZuL292bi1jb250 cm9sbGVyLnBpZCkKKy0gICAgbV9hcyBvdm4tY2hhc3Npcy0xIGtpbGwgLTkgJChtX2FzIG92bi1j aGFzc2lzLTEgY2F0IC9ydW4vb3BlbnZzd2l0Y2gvb3ZzLXZzd2l0Y2hkLnBpZCkKKy0gICAgbV9h cyBvdm4tY2hhc3Npcy0xIGtpbGwgLTkgJChtX2FzIG92bi1jaGFzc2lzLTEgY2F0IC9ydW4vb3Bl bnZzd2l0Y2gvb3ZzZGItc2VydmVyLnBpZCkKKy0KKy0gICAgIyBOb3cgcmVzdGFydCBjaGFzc2lz LTEKKy0gICAgZmxhcF9jb3VudD0kKG1fYXMgb3ZuLWd3LTIgb3ZzLXZzY3RsIGdldCBpbnRlcmZh YyAkZnJvbV9ndzJfdG9fY2gxIGJmZF9zdGF0dXMgfCBzZWQgJ3MvLipmbGFwX2NvdW50PVwiXChb WzAtOV1dKlwpLiovXDEvZycpCistICAgIGVjaG8gIiQoZGF0ZSArJUg6JU06JVMuJTAzTikgUmVz dGFydGluZyBvdm4tY2hhc3Npcy0xIG92bi12c3dpdGNoZC4iCistICAgIG1fYXMgb3ZuLWNoYXNz aXMtMSAvdXNyL3NoYXJlL29wZW52c3dpdGNoL3NjcmlwdHMvb3ZzLWN0bCBzdGFydCAtLXN5c3Rl bS1pZD1vdm4tY2hhc3Npcy0xCistCistICAgIGVjaG8gIiQoZGF0ZSArJUg6JU06JVMuJTAzTikg V2FpdGluZyBmb3IgZmxhcCBjb3VudCBiZXR3ZWVuIGd3LTEgYW5kIGNoYXNzaXMtMSB0byBpbmNy ZWFzZSIKKy0gICAgT1ZTX1dBSVRfVU5USUwoWworLSAgICAgICAgbmV3X2ZsYXBfY291bnQ9JCht X2FzIG92bi1ndy0xIG92cy12c2N0bCBnZXQgaW50ZXJmYWMgJGZyb21fZ3cxX3RvX2NoMSBiZmRf c3RhdHVzIHwgc2VkICdzLy4qZmxhcF9jb3VudD1cIlwoW1swLTldXSpcKS4qL1wxL2cnKQorLSAg ICAgICAgZWNobyAiQ29tcGFyaW5nICRuZXdfZmxhcF9jb3VudCB2ZXJzdXMgJGZsYXBfY291bnQi CistICAgICAgICB0ZXN0ICIkbmV3X2ZsYXBfY291bnQiIC1ndCAiJCgoZmxhcF9jb3VudCkpIgor LSAgICBdKQorLQorLSAgICB3YWl0X2JmZF91cCBvdm4tY2hhc3Npcy0xICRmcm9tX2NoMV90b19n dzEKKy0KKy0gICAgZWNobyAiJChkYXRlICslSDolTTolUy4lMDNOKSBSZXN0YXJ0aW5nIG92bi1j aGFzc2lzLTEgb3ZuLWNvbnRyb2xsZXIuIgorLSAgICBtX2FzIG92bi1jaGFzc2lzLTEgL3Vzci9z aGFyZS9vdm4vc2NyaXB0cy9vdm4tY3RsIHN0YXJ0X2NvbnRyb2xsZXIgJHtDT05UUk9MTEVSX1NT TF9BUkdTfQorLQorLSAgICAjIFdhaXQgYSBsb25nIHRpbWUgdG8gY2F0Y2ggbG9zc2VzCistICAg IHNsZWVwIDUKKy0gICAgZmluYWxfY2hlY2sgImNvbXB1dGUiIDAgJG1heF9leHBlY3RlZF9sb3Nz CisrICAgIGNoZWNrX2Zvcl9uZXdfZWNob19wa3RzIGd3MSAwMDowMDpjMDphODowMDowMSBmMDow MDpjMDphODowMDpmZSAidHJ1ZSIKKysgICAgY2hlY2tfZm9yX25ld19lY2hvX3BrdHMgZ3cyIDAw OjAwOmMwOmE4OjAwOjAxIGYwOjAwOmMwOmE4OjAwOmZlICJmYWxzZSIKKysgICAgY2hlY2tfZm9y X25ld19lY2hvX3BrdHMgZ3czIDAwOjAwOmMwOmE4OjAwOjAxIGYwOjAwOmMwOmE4OjAwOmZlICJm YWxzZSIKKysgICAgY2hlY2tfZm9yX25ld19lY2hvX3BrdHMgY2gxIGYwOjAwOmMwOmE4OjAxOmZl IGYwOjAwOmMwOmE4OjAxOjAxICJ0cnVlIgorKyAgICBBU19CT1goWyQoZGF0ZSArJUg6JU06JVMu JTAzTikgU3RhdGlzdGljcyBhZnRlciBuZXR3b3JrIHJlc3RvcmVkXSkKKysgICAgZHVtcF9zdGF0 aXN0aWNzCisrICAgIHN0b3Bfc2VuZGluZ19iYWNrZ3JvdW5kX3BhY2tldHMKKyB9CisgCisgc3Rh cnRfdGNwZHVtcAorLWVjaG8gIiQoZGF0ZSArJUg6JU06JVMuJTAzTikgU2VuZGluZyBwYWNrZXQg ZnJvbSBodjEtdmlmMShpbnNpZGUxKSB0byBleHQxIgorK0FTX0JPWChbJChkYXRlICslSDolTTol Uy4lMDNOKSBTZW5kaW5nIHBhY2tldCBmcm9tIGh2MS12aWYxKGluc2lkZTEpIHRvIGV4dDFdKQor IE1fTlNfQ0hFQ0tfRVhFQyhbb3ZuLWNoYXNzaXMtMV0sIFtodjEtdmlmMV0sIFtwaW5nIC1jMyAt cSAtaSAwLjEgMTkyLjE2OC4wLjEgfCBGT1JNQVRfUElOR10sCisgWzBdLCBbZG5sCisgMyBwYWNr ZXRzIHRyYW5zbWl0dGVkLCAzIHJlY2VpdmVkLCAwJSBwYWNrZXQgbG9zcywgdGltZSAwbXMKK0BA IC0zNjMxLDcgKzM0MzMsNyBAQCBNX05TX0NIRUNLX0VYRUMoW292bi1jaGFzc2lzLTFdLCBbaHYx LXZpZjFdLCBbcGluZyAtYzMgLXEgLWkgMC4xIDE5Mi4xNjguMC4xIHwgRgorIHN0b3BfdGNwZHVt cAorIAorICMgSXQgc2hvdWxkIGhhdmUgZ29uZSB0aHJvdWdoIGd3MSBhbmQgbm90IGd3MgorLWVj aG8gIiQoZGF0ZSArJUg6JU06JVMuJTAzTikgQ2hlY2tpbmcgaXQgd2VudCB0aHJvdWdoIGd3MSBh bmQgbm90IGd3MiIKKytBU19CT1goWyQoZGF0ZSArJUg6JU06JVMuJTAzTikgQ2hlY2tpbmcgaXQg d2VudCB0aHJvdWdoIGd3MSBhbmQgbm90IGd3Ml0pCisgQVRfQ0hFQ0soW2NhdCBndzIudGNwZHVt cCB8IGdyZXAgIklDTVAgZWNobyJdLCBbMV0sIFtkbmwKKyBdKQorIAorQEAgLTM2NDQsMjkgKzM0 NDYsMTcgQEAgZjA6MDA6YzA6YTg6MDA6ZmUgPiAwMDowMDpjMDphODowMDowMSwgZXRoZXJ0eXBl IElQdjQgKDB4MDgwMCksIGxlbmd0aCA5ODogMTkyLjEKKyAwMDowMDpjMDphODowMDowMSA+IGYw OjAwOmMwOmE4OjAwOmZlLCBldGhlcnR5cGUgSVB2NCAoMHgwODAwKSwgbGVuZ3RoIDk4OiAxOTIu MTY4LjAuMSA+IDE5Mi4xNjguMS4xOiBJQ01QIGVjaG8gcmVwbHksCisgXSkKKyAKKy0jIFdlIHN0 b3AgYmZkIGJldHdlZW4gZ3cxICYgZ3cyLCBidXQga2VlcCBndzEgJiBndzIgcnVubmluZy4gV2Ug c2hvdWxkIG5vdCBsb3NlIHBhY2tldHMuCistY2hlY2tfbWlncmF0aW9uX2JldHdlZW5fZ3cxX2Fu ZF9ndzJfYmZkX3N0b3AgMSAxCisrIyBXZSBzdG9wIGJmZCBiZXR3ZWVuIGd3MSAmIGd3MiwgYnV0 IGtlZXAgZ3cxICYgZ3cyIHJ1bm5pbmcuCisrY2hlY2tfbWlncmF0aW9uX2JldHdlZW5fZ3cxX2Fu ZF9ndzIgInN0b3BfYmZkIgorIAorICMgV2Ugc2ltdWxhdGUgZGVhdGggb2YgZ3cyLiBJdCBzaG91 bGQgbm90IGhhdmUgYW55IGVmZmVjdC4KKy1jaGVja19taWdyYXRpb25fYmV0d2Vlbl9ndzFfYW5k X2d3Ml9raWxsX2d3MiAxIDEKKy0KKy0jIFdlIHNpbXVsYXRlIG92cyB1cGRhdGUgb24gZ3cxLiBX aGVuIG92cyBpcyBzdG9wcGVkLCBmbG93cyBzaG91bGQgc3RpbGwgYmUgaGFuZGxlZCBieSBLZXJu ZWwgZGF0YXBhdGguCistIyBXaGVuIE9WUyBpcyByZXN0YXJ0ZWQsIEJGRCBzaG91bGQgZ28gZG93 biBpbW1lZGlhdGVseSwgYW5kIGd3MiB3aWxsIHN0YXJ0IGhhbmRsaW5nIHBhY2tldHMuCistIyBU aGVyZSB3aWxsIGJlIHBhY2tldCBsb3NzZXMgYXMgZ3cyIHdpbGwgdXN1YWxseSBzZWUgQkZEIGZy b20gZ3cxIHVwIChhbmQgaGVuY2UgcmVsYXNlIHBvcnQpIGJlZm9yZSBndzEgc2VlcworLSMgQkZE IHVwIChhbmQgY2xhaW0gcG9ydCkuCistY2hlY2tfbWlncmF0aW9uX2JldHdlZW5fZ3cxX2FuZF9n dzJfdXBkYXRlX292cyAyMCAxCistCistIyBXZSBzaW11bGF0ZSByZXN0YXJ0IG9mIGJvdGggT1ZT ICYgT1ZOIGd3MS4gZ3cyIHNob3VsZCB0YWtlIG92ZXIuCistY2hlY2tfbWlncmF0aW9uX2JldHdl ZW5fZ3cxX2FuZF9ndzJfa2lsbF9ndzEgNDAgMjAKKytjaGVja19taWdyYXRpb25fYmV0d2Vlbl9n dzFfYW5kX2d3MiAia2lsbF9ndzIiCisgCisgIyBXZSBzaW11bGF0ZSBkZWF0aCBvZiBndzEuIGd3 MiBzaG91bGQgdGFrZSBvdmVyLgorLWNoZWNrX21pZ3JhdGlvbl9iZXR3ZWVuX2d3MV9hbmRfZ3cy X3JlYm9vdF9ndzEgNDAgMjAKKy0KKy0jIFdlIHNpbXVsYXRlIHJlc3RhcnQgb2Ygb3ZuLWNoYXNz aXMtMS4gV2UgZXhwZWN0IGZvciB+NCBzZWMgbG9zc2VzIGFzIHdlIHdhaXQgZm9yIGJmZCB1cCBi ZWZvcmUgc3RhcnRpbmcKKy0jIG92bi1jb250cm9sbGVyICgxIHNlYyB0byByZXN0YXJ0IG92cywg MiBzZWMgZm9yIGJmZCB0byBnbyB1cCwgMSBzZWMgdG8gZGV0ZWN0IGl0KS4KKy1jaGVja19jb21w dXRlX3Jlc3RhcnQgNDAKKytjaGVja19taWdyYXRpb25fYmV0d2Vlbl9ndzFfYW5kX2d3MiAia2ls bF9ndzEiCisgCisgQVRfQ0xFQU5VUAorK10pCisgCisgQVRfU0VUVVAoW292biBtdWx0aW5vZGUg YmdwIEwyIEVWUE5dKQorIGNoZWNrX2Zha2VfbXVsdGlub2RlX3NldHVwCitAQCAtMzgzNywxMiAr MzYyNywxNyBAQCBjaGVjayBtdWx0aW5vZGVfbmJjdGwgLS13YWl0PWh2IFwKKyAgICAgLS0gYWNs LWFkZCBscyBmcm9tLWxwb3J0IDEwMCAiaXAiIGFsbG93LXJlbGF0ZWQgXAorICAgICAtLSBhY2wt YWRkIGxzIHRvLWxwb3J0IDEwMCAiaXAiIGFsbG93LXJlbGF0ZWQKKyAKKy1kbmwgVmVyaWZ5IGZh YnJpYy10by13b3JrbG9hZCBwaW5ncyBzdGlsbCB3b3JrIHdpdGggc3RhdGVmdWwgQUNMLgorK2Ru bCBWZXJpZnkgZmFicmljLXRvLXdvcmtsb2FkIHBpbmdzIHN0aWxsIHdvcmsgd2l0aCBzdGF0ZWZ1 bCBBQ0wgKGJvdGggZGlyZWN0aW9ucykuCisgT1ZTX1dBSVRfVU5USUwoW21fYXMgb3ZuLWd3LTEg aXAgbmV0bnMgZXhlYyBmYWJyaWNfd29ya2xvYWQgcGluZyAgICAtVyAxIC1jIDEgMTAuMC4wLjEx XSkKKyBPVlNfV0FJVF9VTlRJTChbbV9hcyBvdm4tZ3ctMSBpcCBuZXRucyBleGVjIGZhYnJpY193 b3JrbG9hZCBwaW5nIC02IC1XIDEgLWMgMSAxMDo6MTFdKQorIE9WU19XQUlUX1VOVElMKFttX2Fz IG92bi1ndy0yIGlwIG5ldG5zIGV4ZWMgZmFicmljX3dvcmtsb2FkIHBpbmcgICAgLVcgMSAtYyAx IDEwLjAuMC4xMl0pCisgT1ZTX1dBSVRfVU5USUwoW21fYXMgb3ZuLWd3LTIgaXAgbmV0bnMgZXhl YyBmYWJyaWNfd29ya2xvYWQgcGluZyAtNiAtVyAxIC1jIDEgMTA6OjEyXSkKKyAKKytPVlNfV0FJ VF9VTlRJTChbbV9hcyBvdm4tZ3ctMSBpcCBuZXRucyBleGVjIHcxIHBpbmcgICAgLVcgMSAtYyAx IDEwLjAuMC40MV0pCisrT1ZTX1dBSVRfVU5USUwoW21fYXMgb3ZuLWd3LTEgaXAgbmV0bnMgZXhl YyB3MSBwaW5nIC02IC1XIDEgLWMgMSAxMDo6NDFdKQorK09WU19XQUlUX1VOVElMKFttX2FzIG92 bi1ndy0yIGlwIG5ldG5zIGV4ZWMgdzIgcGluZyAgICAtVyAxIC1jIDEgMTAuMC4wLjQyXSkKKytP VlNfV0FJVF9VTlRJTChbbV9hcyBvdm4tZ3ctMiBpcCBuZXRucyBleGVjIHcyIHBpbmcgLTYgLVcg MSAtYyAxIDEwOjo0Ml0pCisrCisgZG5sIEFsc28gYWRkIGEgbG9hZCBiYWxhbmNlciBhbmQgdmVy aWZ5IHBpbmdzIHN0aWxsIHdvcmsuCisgY2hlY2sgbXVsdGlub2RlX25iY3RsIC0td2FpdD1odiBc CisgICAgIC0tIGxiLWFkZCBsYjEgMTAuMC4wLjEwMDo4MCAxMC4wLjAuMTE6ODAgXAorQEAgLTM4 NTMsNiArMzY0OCwxMSBAQCBPVlNfV0FJVF9VTlRJTChbbV9hcyBvdm4tZ3ctMSBpcCBuZXRucyBl eGVjIGZhYnJpY193b3JrbG9hZCBwaW5nIC02IC1XIDEgLWMgMSAxMAorIE9WU19XQUlUX1VOVElM KFttX2FzIG92bi1ndy0yIGlwIG5ldG5zIGV4ZWMgZmFicmljX3dvcmtsb2FkIHBpbmcgICAgLVcg MSAtYyAxIDEwLjAuMC4xMl0pCisgT1ZTX1dBSVRfVU5USUwoW21fYXMgb3ZuLWd3LTIgaXAgbmV0 bnMgZXhlYyBmYWJyaWNfd29ya2xvYWQgcGluZyAtNiAtVyAxIC1jIDEgMTA6OjEyXSkKKyAKKytP VlNfV0FJVF9VTlRJTChbbV9hcyBvdm4tZ3ctMSBpcCBuZXRucyBleGVjIHcxIHBpbmcgICAgLVcg MSAtYyAxIDEwLjAuMC40MV0pCisrT1ZTX1dBSVRfVU5USUwoW21fYXMgb3ZuLWd3LTEgaXAgbmV0 bnMgZXhlYyB3MSBwaW5nIC02IC1XIDEgLWMgMSAxMDo6NDFdKQorK09WU19XQUlUX1VOVElMKFtt X2FzIG92bi1ndy0yIGlwIG5ldG5zIGV4ZWMgdzIgcGluZyAgICAtVyAxIC1jIDEgMTAuMC4wLjQy XSkKKytPVlNfV0FJVF9VTlRJTChbbV9hcyBvdm4tZ3ctMiBpcCBuZXRucyBleGVjIHcyIHBpbmcg LTYgLVcgMSAtYyAxIDEwOjo0Ml0pCisrCisgZG5sIENsZWFudXAgQUNMIGFuZCBMQi4KKyBjaGVj ayBtdWx0aW5vZGVfbmJjdGwgLS13YWl0PWh2IFwKKyAgICAgLS0gYWNsLWRlbCBscyBcCitkaWZm IC0tZ2l0IGEvdGVzdHMvb3ZuLWNvbnRyb2xsZXItdnRlcC5hdCBiL3Rlc3RzL292bi1jb250cm9s bGVyLXZ0ZXAuYXQKK2luZGV4IDM1NDAyYjAwYWEuLmZmZDM5NGE5OTIgMTAwNjQ0CistLS0gYS90 ZXN0cy9vdm4tY29udHJvbGxlci12dGVwLmF0CisrKysgYi90ZXN0cy9vdm4tY29udHJvbGxlci12 dGVwLmF0CitAQCAtNjM1LDYgKzYzNSwxMCBAQCBBVF9DSEVDSyhbb3ZzLW9mY3RsIGR1bXAtZmxv d3MgYnItaW50IHRhYmxlPU9GVEFCTEVfUEhZX1RPX0xPRyB8IGdyZXAgJ3ByaW9yaXR5PQorIHBy aW9yaXR5PTExMCx0dW5faWQ9MHg8Pixpbl9wb3J0PTw+IGFjdGlvbnM9bW92ZTpOWE1fTlhfVFVO X0lEW1swLi4yM11dLT5PWE1fT0ZfTUVUQURBVEFbWzAuLjIzXV0sbG9hZDoweDw+LT5OWE1fTlhf UkVHMTRbWzAuLjE0XV0sbG9hZDoweDw+LT5OWE1fTlhfUkVHMTBbWzFdXSxyZXN1Ym1pdCgsT0ZU QUJMRV9MT0dfSU5HUkVTU19QSVBFTElORSkKKyBdKQorIAorKyMgU2tpcCBwcm9jZXNzaW5nIElD TVAgInBhY2tldCB0b28gYmlnIiBlcnJvcnMgaW4gdGhpcyB0YWJsZSBpZiB0aGUgcGFja2V0IGNh bWUgZnJvbSBhIFZURVAgdHVubmVsLgorK0FUX0NIRUNLKFtvdnMtb2ZjdGwgZHVtcC1mbG93cyBi ci1pbnQgdGFibGU9T0ZUQUJMRV9QSFlfVE9fTE9HIHwgXAorKyAgICAgICAgICBncmVwIC1FICdp Y21wX3R5cGU9MyxpY21wX2NvZGU9NHxpY21wX3R5cGU9MixpY21wX2NvZGU9MCddLCBbMV0sIFtd KQorKworIE9WTl9DT05UUk9MTEVSX1ZURVBfU1RPUChbXSwgdnRlcDEpCisgT1ZOX0NMRUFOVVAo W2h2MV0pCisgQVRfQ0xFQU5VUAorZGlmZiAtLWdpdCBhL3Rlc3RzL292bi1jb250cm9sbGVyLmF0 IGIvdGVzdHMvb3ZuLWNvbnRyb2xsZXIuYXQKK2luZGV4IGM5OGRlOWJjNDYuLjJmY2UxOWU3YmEg MTAwNjQ0CistLS0gYS90ZXN0cy9vdm4tY29udHJvbGxlci5hdAorKysrIGIvdGVzdHMvb3ZuLWNv bnRyb2xsZXIuYXQKK0BAIC05NjIsNyArOTYyLDcgQEAgQVRfQ0xFQU5VUAorIF0pCisgCisgT1ZO X0ZPUl9FQUNIX05PUlRIRChbCistQVRfU0VUVVAoW292bi1jb250cm9sbGVyIC0gb3ZuIElQIGNo ZWNrIHBhdGggcG9ydHNdKQorK0FUX1NFVFVQKFtvdm4tY29udHJvbGxlciAtIG92biBJUCBjaGVj ayBwYXRjaCBwb3J0c10pCisgQVRfS0VZV09SRFMoW292bi1pcC1wYXRjaC1wb3J0c10pCisgCisg b3ZuX3N0YXJ0CitAQCAtMTAwMywxMCArMTAwMywxMTAgQEAgY2hlY2sgYXMgaHYxIG92bi1hcHBj dGwgLXQgb3ZuLWNvbnRyb2xsZXIgaW5jLWVuZ2luZS9jbGVhci1zdGF0cworIGNoZWNrIG92bi1u YmN0bCAtLXdhaXQ9aHYgbHNwLXNldC10eXBlIGxzMC1ycCBsb2NhbG5ldAorIGNoZWNrX2NvbnRy b2xsZXJfZW5naW5lX3N0YXRzIGh2MSBwZmxvd19vdXRwdXQgcmVjb21wdXRlIG5vY29tcHV0ZQor IAorKyMgQ2hlY2sgdGhhdCBhZGRpbmcgYSBuZXcgcG9ydCB3aXRoIGEgbm9uLWRlZmF1bHQgdHlw ZSBkb2VzIG5vdCB0cmlnZ2VyCisrIyBhIHBmbG93X291dHB1dCByZWNvbXB1dGUuCisrY2hlY2sg YXMgaHYxIG92bi1hcHBjdGwgLXQgb3ZuLWNvbnRyb2xsZXIgaW5jLWVuZ2luZS9jbGVhci1zdGF0 cworK2NoZWNrIG92bi1uYmN0bCAtLXdhaXQ9aHYgbHNwLWFkZCBsczAgbHNwLXJlbW90ZSAtLSBs c3Atc2V0LXR5cGUgbHNwLXJlbW90ZSByZW1vdGUKKytjaGVja19jb250cm9sbGVyX2VuZ2luZV9z dGF0cyBodjEgcGZsb3dfb3V0cHV0IG5vcmVjb21wdXRlIGNvbXB1dGUKKysKKysjIENoZWNrIHRo YXQgZGVsZXRpbmcgYSBwb3J0IHdpdGggYSBub24tZGVmYXVsdCB0eXBlIGRvZXMgbm90IHRyaWdn ZXIKKysjIGEgcGZsb3dfb3V0cHV0IHJlY29tcHV0ZS4KKytjaGVjayBhcyBodjEgb3ZuLWFwcGN0 bCAtdCBvdm4tY29udHJvbGxlciBpbmMtZW5naW5lL2NsZWFyLXN0YXRzCisrY2hlY2sgb3ZuLW5i Y3RsIC0td2FpdD1odiBsc3AtZGVsIGxzcC1yZW1vdGUKKytjaGVja19jb250cm9sbGVyX2VuZ2lu ZV9zdGF0cyBodjEgcGZsb3dfb3V0cHV0IG5vcmVjb21wdXRlIGNvbXB1dGUKKysKKyBPVk5fQ0xF QU5VUChbaHYxXSkKKyBBVF9DTEVBTlVQCisgXSkKKyAKKytPVk5fRk9SX0VBQ0hfTk9SVEhEKFsK KytBVF9TRVRVUChbb3ZuLWNvbnRyb2xsZXIgLSBsb2NhbG5ldCBwb3J0IGNoYW5nZSBhbmQgY2hh c3Npc3JlZGlyZWN0IGJyaWRnZWQgcmVkaXJlY3RdKQorK0FUX0tFWVdPUkRTKFtvdm4tbG9jYWxu ZXQtY3ItYnJpZGdlZF0pCisrCisrb3ZuX3N0YXJ0CisrCisrbmV0X2FkZCBuMQorKworK3NpbV9h ZGQgaHYxCisrYXMgaHYxCisrY2hlY2sgb3ZzLXZzY3RsIGFkZC1iciBici1waHlzCisrY2hlY2sg b3ZzLXZzY3RsIHNldCBvcGVuIC4gZXh0ZXJuYWwtaWRzOm92bi1icmlkZ2UtbWFwcGluZ3M9cGh5 czpici1waHlzCisrb3ZuX2F0dGFjaCBuMSBici1waHlzIDE5Mi4xNjguMC4xCisrCisrc2ltX2Fk ZCBodjIKKythcyBodjIKKytjaGVjayBvdnMtdnNjdGwgYWRkLWJyIGJyLXBoeXMKKytjaGVjayBv dnMtdnNjdGwgc2V0IG9wZW4gLiBleHRlcm5hbC1pZHM6b3ZuLWJyaWRnZS1tYXBwaW5ncz1waHlz OmJyLXBoeXMKKytvdm5fYXR0YWNoIG4xIGJyLXBoeXMgMTkyLjE2OC4wLjIKKysKKytkbmwgQ3Jl YXRlIHRoZSBmdWxsIHRvcG9sb2d5IHdpdGggbG9jYWxuZXQgcG9ydHMsIHJvdXRlciwKKytkbmwg Z2F0ZXdheSBjaGFzc2lzLCBhbmQgYnJpZGdlZCByZWRpcmVjdC4gIEJpbmQgVklGcyBzbyB0aGUK KytkbmwgZGF0YXBhdGhzIGFyZSBsb2NhbC4KKytjaGVjayBvdm4tbmJjdGwgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorKyAg ICAtLSBscy1hZGQgbHMxICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBcCisrICAgICAgLS0gbHNwLWFkZC1sb2NhbG5ldC1wb3J0IGxz MSBsbjEgcGh5cyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKysgICAgICAg IC0tIHNldCBsb2dpY2FsX3N3aXRjaF9wb3J0IGxuMSB0YWdfcmVxdWVzdD0xMDEgICAgICAgICAg ICAgICAgICAgICAgICAgXAorKyAgICAgIC0tIGxzcC1hZGQgbHMxIGxwMSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisrICAgICAgICAtLSBs c3Atc2V0LWFkZHJlc3NlcyBscDEgIjAwOjAwOjAwOjAwOjAwOjAxIDE5Mi4xNjguMS4xMCIgICAg ICAgICAgICAgIFwKKysgICAgICAtLSBsc3AtYWRkIGxzMSBscDIgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorKyAgICAgICAgLS0gbHNwLXNl dC1hZGRyZXNzZXMgbHAyICIwMDowMDowMDowMDowMDowMiAxOTIuMTY4LjEuMTEiICAgICAgICAg ICAgICBcCisrICAgICAgLS0gbHNwLWFkZC1yb3V0ZXItcG9ydCBsczEgbHMxLXRvLXJvdXRlciBy b3V0ZXItdG8tbHMxICAgICAgICAgICAgICAgICAgIFwKKysgICAgLS0gbHMtYWRkIGxzLXVuZGVy bGF5ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg XAorKyAgICAgIC0tIGxzcC1hZGQtbG9jYWxuZXQtcG9ydCBscy11bmRlcmxheSBsbi11bmRlcmxh eSBwaHlzICAgICAgICAgICAgICAgICAgICBcCisrICAgICAgICAtLSBzZXQgbG9naWNhbF9zd2l0 Y2hfcG9ydCBsbi11bmRlcmxheSB0YWdfcmVxdWVzdD0xMDAwICAgICAgICAgICAgICAgIFwKKysg ICAgICAtLSBsc3AtYWRkLXJvdXRlci1wb3J0IGxzLXVuZGVybGF5IHVuZGVybGF5LXRvLXJvdXRl ciByb3V0ZXItdG8tdW5kZXJsYXkgXAorKyAgICAtLSBsci1hZGQgbHIxICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisrICAgICAg LS0gbHJwLWFkZCBscjEgcm91dGVyLXRvLWxzMSAwMDowMDowMTowMTowMjowMyAxOTIuMTY4LjEu MS8yNCAgICAgICAgICAgIFwKKysgICAgICAtLSBscnAtYWRkIGxyMSByb3V0ZXItdG8tdW5kZXJs YXkgMDA6MDA6MDE6MDE6MDI6MDcgMTcyLjMxLjAuMS8yNCAgICAgICAgXAorKyAgICAgICAgLS0g bHJwLXNldC1nYXRld2F5LWNoYXNzaXMgcm91dGVyLXRvLXVuZGVybGF5IGh2MSAgICAgICAgICAg ICAgICAgICAgICBcCisrICAgICAgICAtLSBscnAtc2V0LXJlZGlyZWN0LXR5cGUgcm91dGVyLXRv LXVuZGVybGF5IGJyaWRnZWQKKysKKytjaGVjayBhcyBodjEgb3ZzLXZzY3RsIGFkZC1wb3J0IGJy LWludCB2aWYwIFwKKysgICAgLS0gc2V0IEludGVyZmFjZSB2aWYwIGV4dGVybmFsX2lkczppZmFj ZS1pZD1scDEKKytjaGVjayBhcyBodjIgb3ZzLXZzY3RsIGFkZC1wb3J0IGJyLWludCB2aWYxIFwK KysgICAgLS0gc2V0IEludGVyZmFjZSB2aWYxIGV4dGVybmFsX2lkczppZmFjZS1pZD1scDIKKysK Kyt3YWl0X2Zvcl9wb3J0c191cAorK2NoZWNrIG92bi1uYmN0bCAtLXdhaXQ9aHYgc3luYworKwor K2RubCBWZXJpZnkgaW5pdGlhbCBzdGF0ZTogaHYyIGhhcyB0aGUgQ1IgYnJpZGdlZCByZWRpcmVj dCBmbG93LgorK3JvdXRlcl9kcF9rZXk9JChwcmludGYgIiV4IiAkKGZldGNoX2NvbHVtbiBkYXRh cGF0aCB0dW5uZWxfa2V5IGV4dGVybmFsX2lkczpuYW1lPWxyMSkpCisrY3Jfa2V5PSQocHJpbnRm ICIleCIgJChmZXRjaF9jb2x1bW4gcG9ydF9iaW5kaW5nIHR1bm5lbF9rZXkgbG9naWNhbF9wb3J0 PWNyLXJvdXRlci10by11bmRlcmxheSkpCisrQVRfQ0hFQ0soW2FzIGh2MiBvdnMtb2ZjdGwgZHVt cC1mbG93cyBici1pbnQgdGFibGU9T0ZUQUJMRV9MT0NBTF9PVVRQVVQgfCBncmVwIC1xICJyZWcx NT0weCR7Y3Jfa2V5fSxtZXRhZGF0YT0weCR7cm91dGVyX2RwX2tleX0iXSkKKysKKytkbmwgRGVs ZXRlIHRoZSBsb2NhbG5ldCBwb3J0IG9uIGxzLXVuZGVybGF5LgorK2NoZWNrIG92bi1uYmN0bCAt LXdhaXQ9aHYgbHNwLWRlbCBsbi11bmRlcmxheQorK0FUX0NIRUNLKFthcyBodjIgb3ZzLW9mY3Rs IGR1bXAtZmxvd3MgYnItaW50IHRhYmxlPU9GVEFCTEVfTE9DQUxfT1VUUFVUIHwgZ3JlcCAicmVn MTU9MHgke2NyX2tleX0sbWV0YWRhdGE9MHgke3JvdXRlcl9kcF9rZXl9Il0sIFsxXSkKKysKKytk bmwgUHJlLWNyZWF0ZSB0aGUgcGF0Y2ggcG9ydCB0aGF0IHRoZSBuZXcgbG9jYWxuZXQgcG9ydAor K2RubCB3b3VsZCBuZWVkLiAgVGhpcyB3YXksIHdoZW4gdGhlIGxvY2FsbmV0IHBvcnQgYmluZGlu ZyBhcnJpdmVzLAorK2RubCBwYXRjaF9ydW4oKSBzZWVzIHRoZSBwYXRjaCBwb3J0IGFscmVhZHkg ZXhpc3RzIGFuZCBub25fdmlmX2RhdGEKKytkbmwgZG9lcyBOT1QgY2hhbmdlLCBmb3JjaW5nIHBm bG93X291dHB1dCB0byBoYW5kbGUgdGhlCisrZG5sIGNoYW5nZSBpbmNyZW1lbnRhbGx5IGluc3Rl YWQgb2YgcmVjb21wdXRpbmcuCisrY2hlY2sgYXMgaHYyIG92cy12c2N0bCAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBcCisrICAgIC0tIGFkZC1wb3J0IGJyLWludCBwYXRjaC1i ci1pbnQtdG8tbG4tdW5kZXJsYXkgICAgICAgICBcCisrICAgIC0tIHNldCBJbnRlcmZhY2UgcGF0 Y2gtYnItaW50LXRvLWxuLXVuZGVybGF5ICAgICAgICAgICBcCisrICAgICAgIHR5cGU9cGF0Y2gg b3B0aW9uczpwZWVyPXBhdGNoLWxuLXVuZGVybGF5LXRvLWJyLWludAorK2NoZWNrIGFzIGh2MiBv dnMtdnNjdGwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorKyAgICAtLSBh ZGQtcG9ydCBici1waHlzIHBhdGNoLWxuLXVuZGVybGF5LXRvLWJyLWludCAgICAgICAgXAorKyAg ICAtLSBzZXQgSW50ZXJmYWNlIHBhdGNoLWxuLXVuZGVybGF5LXRvLWJyLWludCAgICAgICAgICAg XAorKyAgICAgICB0eXBlPXBhdGNoIG9wdGlvbnM6cGVlcj1wYXRjaC1ici1pbnQtdG8tbG4tdW5k ZXJsYXkKKytjaGVjayBvdm4tbmJjdGwgLS13YWl0PWh2IHN5bmMKKysKKytkbmwgUmUtYWRkIHRo ZSBsb2NhbG5ldCBwb3J0LiAgVGhlIHBhdGNoIHBvcnQgYWxyZWFkeSBleGlzdHMsCisrZG5sIHNv IG5vbl92aWZfZGF0YSBzaG91bGQgbm90IGNoYW5nZSwgYW5kIHBmbG93X291dHB1dCBzaG91bGQK KytkbmwgYmUgaGFuZGxlZCBpbmNyZW1lbnRhbGx5LgorK2NoZWNrIG92bi1uYmN0bCAtLXdhaXQ9 aHYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKysgICAgLS0gbHNwLWFkZC1s b2NhbG5ldC1wb3J0IGxzLXVuZGVybGF5IGxuLXVuZGVybGF5IHBoeXMgICBcCisrICAgIC0tIHNl dCBsb2dpY2FsX3N3aXRjaF9wb3J0IGxuLXVuZGVybGF5IHRhZ19yZXF1ZXN0PTEwMDAKKysKKytk bmwgVmVyaWZ5IHRoZSBDUiBicmlkZ2VkIHJlZGlyZWN0IGZsb3cgaXMgYmFjay4KKytPVlNfV0FJ VF9VTlRJTChbYXMgaHYyIG92cy1vZmN0bCBkdW1wLWZsb3dzIGJyLWludCB0YWJsZT1PRlRBQkxF X0xPQ0FMX09VVFBVVCB8IGdyZXAgLXEgInJlZzE1PTB4JHtjcl9rZXl9LG1ldGFkYXRhPTB4JHty b3V0ZXJfZHBfa2V5fSJdKQorKworK09WTl9DTEVBTlVQKFtodjFdLCBbaHYyXSkKKytBVF9DTEVB TlVQCisrXSkKKysKKyBBVF9TRVRVUChbb3ZuLWNvbnRyb2xsZXIgLSBJLVAgZm9yIGFkZHJlc3Mg c2V0IHVwZGF0ZTogbm8gY29uanVuY3Rpb25dKQorIEFUX0tFWVdPUkRTKFthcy1pLXBdKQorIAor ZGlmZiAtLWdpdCBhL3Rlc3RzL292bi1pbmMtcHJvYy1ncmFwaC1kdW1wLmF0IGIvdGVzdHMvb3Zu LWluYy1wcm9jLWdyYXBoLWR1bXAuYXQKK2luZGV4IDI1ZmYyMDBhNDAuLmVmOTEwMTRhNjQgMTAw NjQ0CistLS0gYS90ZXN0cy9vdm4taW5jLXByb2MtZ3JhcGgtZHVtcC5hdAorKysrIGIvdGVzdHMv b3ZuLWluYy1wcm9jLWdyYXBoLWR1bXAuYXQKK0BAIC0xNzIsOSArMTcyLDYgQEAgZGlncmFwaCAi SW5jcmVtZW50YWwtUHJvY2Vzc2luZy1FbmdpbmUiIHsKKyAJbm9ydGhkIC0+IGxzX3N0YXRlZnVs IFtbbGFiZWw9ImxzX3N0YXRlZnVsX25vcnRoZF9oYW5kbGVyIl1dOworIAlwb3J0X2dyb3VwIC0+ IGxzX3N0YXRlZnVsIFtbbGFiZWw9ImxzX3N0YXRlZnVsX3BvcnRfZ3JvdXBfaGFuZGxlciJdXTsK KyAJTkJfYWNsIC0+IGxzX3N0YXRlZnVsIFtbbGFiZWw9ImxzX3N0YXRlZnVsX2FjbF9oYW5kbGVy Il1dOworLQlsc19hcnAgW1tzdHlsZT1maWxsZWQsIHNoYXBlPWJveCwgZmlsbGNvbG9yPXdoaXRl LCBsYWJlbD0ibHNfYXJwIl1dOworLQlscl9uYXQgLT4gbHNfYXJwIFtbbGFiZWw9ImxzX2FycF9s cl9uYXRfaGFuZGxlciJdXTsKKy0Jbm9ydGhkIC0+IGxzX2FycCBbW2xhYmVsPSJsc19hcnBfbm9y dGhkX2hhbmRsZXIiXV07CisgCVNCX2lnbXBfZ3JvdXAgW1tzdHlsZT1maWxsZWQsIHNoYXBlPWJv eCwgZmlsbGNvbG9yPXdoaXRlLCBsYWJlbD0iU0JfaWdtcF9ncm91cCJdXTsKKyAJbXVsdGljYXN0 X2lnbXAgW1tzdHlsZT1maWxsZWQsIHNoYXBlPWJveCwgZmlsbGNvbG9yPXdoaXRlLCBsYWJlbD0i bXVsdGljYXN0X2lnbXAiXV07CisgCW5vcnRoZCAtPiBtdWx0aWNhc3RfaWdtcCBbW2xhYmVsPSJt dWx0aWNhc3RfaWdtcF9ub3J0aGRfaGFuZGxlciJdXTsKK0BAIC0xOTYsNyArMTkzLDYgQEAgZGln cmFwaCAiSW5jcmVtZW50YWwtUHJvY2Vzc2luZy1FbmdpbmUiIHsKKyAJcG9ydF9ncm91cCAtPiBs ZmxvdyBbW2xhYmVsPSJlbmdpbmVfbm9vcF9oYW5kbGVyIl1dOworIAlscl9zdGF0ZWZ1bCAtPiBs ZmxvdyBbW2xhYmVsPSJsZmxvd19scl9zdGF0ZWZ1bF9oYW5kbGVyIl1dOworIAlsc19zdGF0ZWZ1 bCAtPiBsZmxvdyBbW2xhYmVsPSJsZmxvd19sc19zdGF0ZWZ1bF9oYW5kbGVyIl1dOworLQlsc19h cnAgLT4gbGZsb3cgW1tsYWJlbD0ibGZsb3dfbHNfYXJwX2hhbmRsZXIiXV07CisgCW11bHRpY2Fz dF9pZ21wIC0+IGxmbG93IFtbbGFiZWw9ImxmbG93X211bHRpY2FzdF9pZ21wX2hhbmRsZXIiXV07 CisgCVNCX2FjbF9pZCAtPiBsZmxvdyBbW2xhYmVsPSIiXV07CisgCWljX2xlYXJuZWRfc3ZjX21v bml0b3JzIC0+IGxmbG93IFtbbGFiZWw9ImxmbG93X2ljX2xlYXJuZWRfc3ZjX21vbnNfaGFuZGxl ciJdXTsKK2RpZmYgLS1naXQgYS90ZXN0cy9vdm4tbWFjcm9zLmF0IGIvdGVzdHMvb3ZuLW1hY3Jv cy5hdAoraW5kZXggMzlmMDNiYTYyYi4uY2M0MWJiZDc3YiAxMDA2NDQKKy0tLSBhL3Rlc3RzL292 bi1tYWNyb3MuYXQKKysrKyBiL3Rlc3RzL292bi1tYWNyb3MuYXQKK0BAIC0xMzE0LDYgKzEzMTQs MzggQEAgc2VuZF9uYSgpIHsKKyAgICAgY2hlY2sgYXMgJGh2IG92cy1hcHBjdGwgbmV0ZGV2LWR1 bW15L3JlY2VpdmUgJGRldiAkcGFja2V0ID4mMgorIH0KKyAKKytzZW5kX3VkcCgpIHsKKysgICAg bG9jYWwgaHY9JDEgZGV2PSQyIGhkc3Q9JDMgaHNyYz0kNCBpZHN0PSQ1IGlzcmM9JDYKKysgICAg bG9jYWwgcGFja2V0PSQoZm10X3BrdCAiRXRoZXIoZHN0PScke2hkc3R9Jywgc3JjPScke2hzcmN9 JykvIFwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgSVAoZHN0PScke2lkc3R9Jywgc3Jj PScke2lzcmN9JykvVURQKCkiKQorKyAgICBjaGVjayBhcyAkaHYgb3ZzLWFwcGN0bCBuZXRkZXYt ZHVtbXkvcmVjZWl2ZSAkZGV2ICRwYWNrZXQKKyt9CisrCisrc2VuZF91ZHA2KCkgeworKyAgICBs b2NhbCBodj0kMSBkZXY9JDIgaGRzdD0kMyBoc3JjPSQ0IGlkc3Q9JDUgaXNyYz0kNgorKyAgICBs b2NhbCBwYWNrZXQ9JChmbXRfcGt0ICJFdGhlcihkc3Q9JyR7aGRzdH0nLCBzcmM9JyR7aHNyY30n KS8gXAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBJUHY2KGRzdD0nJHtpZHN0fScsIHNy Yz0nJHtpc3JjfScpL1VEUCgpIikKKysgICAgY2hlY2sgYXMgJGh2IG92cy1hcHBjdGwgbmV0ZGV2 LWR1bW15L3JlY2VpdmUgJGRldiAkcGFja2V0CisrfQorKworK2R1bXBfYXJwKCkgeworKyAgICBs b2NhbCBvcD0kMSBldGhfc3JjPSQyIGV0aF9kc3Q9JDMgc3BhPSQ0IHRwYT0kNSBod2RzdD0kNgor KworKyAgICBsb2NhbCBwYWNrZXQ9JChmbXRfcGt0ICJFdGhlcihkc3Q9JyR7ZXRoX2RzdH0nLCBz cmM9JyR7ZXRoX3NyY30nKS8gXAorKyAgICAgICAgICAgICAgICAgICAgICBBUlAob3A9JG9wLCBo d3NyYz0nJHtldGhfc3JjfScsIGh3ZHN0PScke2h3ZHN0fScsIFwKKysgICAgICAgICAgICAgICAg ICAgICAgcHNyYz0nJHtzcGF9JywgcGRzdD0nJHt0cGF9JykiKQorKyAgICBlY2hvICRwYWNrZXQK Kyt9CisrCisrZHVtcF9ucygpIHsKKysgICAgbG9jYWwgaGRzdD0kMSBoc3JjPSQyIGlkc3Q9JDMg aXNyYz0kNCB0Z3Q9JDUKKysgICAgbG9jYWwgcGFja2V0PSQoZm10X3BrdCAiRXRoZXIoZHN0PSck e2hkc3R9Jywgc3JjPScke2hzcmN9JykvIFwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAg SVB2Nihkc3Q9JyR7aWRzdH0nLCBzcmM9JyR7aXNyY30nKS8gXAorKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICBJQ01QdjZORF9OUyh0Z3Q9JyR7dGd0fScpLyBcCisrICAgICAgICAgICAgICAg ICAgICAgICAgICAgIElDTVB2Nk5ET3B0U3JjTExBZGRyKGxsYWRkcj0nJHtoc3JjfScpIikKKysg ICAgZWNobyAkcGFja2V0CisrfQorKworICMgV3JhcHBlciBvbiB0b3Agb2Ygb3ZuLXRyYWNlLCBz dHJpcHBpbmcgc29tZSB0aGluZ3MgYW5kIHN0b3JpbmcgdGhlIHRyYWNlCisgIyBvdXRwdXQgdG8g YSBmaWxlIGNhbGxlZCAndHJhY2UnLiAgRm9yIG5vdyBpdCBzdHJpcHMgdGhlIHJvd3Mgc3RhcnRp bmcKKyAjIHdpdGggYSAnIycuICBUaGlzIHNob3VsZCBjb3JyZXNwb25kIHRvIHRoZSBmbG93IGtl eSBhbmQgbWlnaHQgYmUgZGlzcGxheWVkCitkaWZmIC0tZ2l0IGEvdGVzdHMvb3ZuLW5vcnRoZC5h dCBiL3Rlc3RzL292bi1ub3J0aGQuYXQKK2luZGV4IGYxMzQ5ZjIxMzMuLjgwZWRiYjI4NGUgMTAw NjQ0CistLS0gYS90ZXN0cy9vdm4tbm9ydGhkLmF0CisrKysgYi90ZXN0cy9vdm4tbm9ydGhkLmF0 CitAQCAtNzQ0OCw2ICs3NDQ4LDkgQEAgQVRfQ0hFQ0soW2dyZXAgbHJfaW5fYWRtaXNzaW9uIGxy Zmxvd3MgfCBncmVwIGNyLURSIHwgb3ZuX3N0cmlwX2xmbG93c10sIFswXSwgW2QKKyBdKQorICMg Q2hlY2sgdGhlIGZsb3dzIGluIGxyX2luX2xvb2t1cF9uZWlnaGJvciBzdGFnZQorIEFUX0NIRUNL KFtncmVwIGxyX2luX2xvb2t1cF9uZWlnaGJvciBscmZsb3dzIHwgZ3JlcCBjci1EUiB8IG92bl9z dHJpcF9sZmxvd3NdLCBbMF0sIFtkbmwKKysgIHRhYmxlPT8/KGxyX2luX2xvb2t1cF9uZWlnaGJv ciksIHByaW9yaXR5PTEwMCAgLCBtYXRjaD0oaW5wb3J0ID09ICJEUi1TMSIgJiYgYXJwLnNwYSA9 PSAxNzIuMTYuMS4wLzI0ICYmIGFycC5vcCA9PSAxICYmIGlzX2NoYXNzaXNfcmVzaWRlbnQoImNy LURSLVMxIikpLCBhY3Rpb249KHJlZzlbWzJdXSA9IGxvb2t1cF9hcnAoaW5wb3J0LCBhcnAuc3Bh LCBhcnAuc2hhKTsgbmV4dDspCisrICB0YWJsZT0/Pyhscl9pbl9sb29rdXBfbmVpZ2hib3IpLCBw cmlvcml0eT0xMDAgICwgbWF0Y2g9KGlucG9ydCA9PSAiRFItUzIiICYmIGFycC5zcGEgPT0gMTcy LjE2LjIuMC8yNCAmJiBhcnAub3AgPT0gMSAmJiBpc19jaGFzc2lzX3Jlc2lkZW50KCJjci1EUi1T MiIpKSwgYWN0aW9uPShyZWc5W1syXV0gPSBsb29rdXBfYXJwKGlucG9ydCwgYXJwLnNwYSwgYXJw LnNoYSk7IG5leHQ7KQorKyAgdGFibGU9Pz8obHJfaW5fbG9va3VwX25laWdoYm9yKSwgcHJpb3Jp dHk9MTAwICAsIG1hdGNoPShpbnBvcnQgPT0gIkRSLVMzIiAmJiBhcnAuc3BhID09IDE3Mi4xNi4z LjAvMjQgJiYgYXJwLm9wID09IDEgJiYgaXNfY2hhc3Npc19yZXNpZGVudCgiY3ItRFItUzMiKSks IGFjdGlvbj0ocmVnOVtbMl1dID0gbG9va3VwX2FycChpbnBvcnQsIGFycC5zcGEsIGFycC5zaGEp OyBuZXh0OykKKyAgIHRhYmxlPT8/KGxyX2luX2xvb2t1cF9uZWlnaGJvciksIHByaW9yaXR5PTEy MCAgLCBtYXRjaD0oaW5wb3J0ID09ICJEUi1TMSIgJiYgKG5kX25hIHx8IG5kX25zKSAmJiBldGgu bWNhc3QgJiYgIWlzX2NoYXNzaXNfcmVzaWRlbnQoImNyLURSLVMxIikpLCBhY3Rpb249KHJlZzlb WzJdXSA9IDE7IG5leHQ7KQorICAgdGFibGU9Pz8obHJfaW5fbG9va3VwX25laWdoYm9yKSwgcHJp b3JpdHk9MTIwICAsIG1hdGNoPShpbnBvcnQgPT0gIkRSLVMyIiAmJiAobmRfbmEgfHwgbmRfbnMp ICYmIGV0aC5tY2FzdCAmJiAhaXNfY2hhc3Npc19yZXNpZGVudCgiY3ItRFItUzIiKSksIGFjdGlv bj0ocmVnOVtbMl1dID0gMTsgbmV4dDspCisgICB0YWJsZT0/Pyhscl9pbl9sb29rdXBfbmVpZ2hi b3IpLCBwcmlvcml0eT0xMjAgICwgbWF0Y2g9KGlucG9ydCA9PSAiRFItUzMiICYmIChuZF9uYSB8 fCBuZF9ucykgJiYgZXRoLm1jYXN0ICYmICFpc19jaGFzc2lzX3Jlc2lkZW50KCJjci1EUi1TMyIp KSwgYWN0aW9uPShyZWc5W1syXV0gPSAxOyBuZXh0OykKK0BAIC03NjM2LDcgKzc2MzksOSBAQCBB VF9DSEVDSyhbZ3JlcCAtZSAibHNfaW5fLipfZmRiLipTMS12bTEiIFMxZmxvd3MgfCBvdm5fc3Ry aXBfbGZsb3dzXSwgWzBdLCBbZG5sCisgXSkKKyAKKyAjVmVyaWZ5IHRoZSBmbG93cyBmb3IgYSBu b24tZGVmYXVsdCBwb3J0IHR5cGUgKGxvY2FsbmV0IHBvcnQpCistQVRfQ0hFQ0soW2dyZXAgLWUg ImxzX2luXy4qX2ZkYi4qUzEtbG9jYWxuZXQiIFMxZmxvd3NdLCBbMV0sIFtdKQorK0FUX0NIRUNL KFtncmVwIC1lICJsc19pbl8uKl9mZGIuKlMxLWxvY2FsbmV0IiBTMWZsb3dzIHwgb3ZuX3N0cmlw X2xmbG93c10sIFswXSwgW2RubAorKyAgdGFibGU9Pz8obHNfaW5fbG9va3VwX2ZkYiAgICksIHBy aW9yaXR5PTUwICAgLCBtYXRjaD0oaW5wb3J0ID09ICJTMS1sb2NhbG5ldCIpLCBhY3Rpb249KGZs YWdzLmxvY2FsbmV0ID0gMTsgbmV4dDspCisrXSkKKyAKKyBPVk5fQ0xFQU5VUF9OT1JUSEQKKyBB VF9DTEVBTlVQCitAQCAtOTk0NSw2ICs5OTUwLDcgQEAgQVRfQ0hFQ0soW292bi1uYmN0bCAtLXdh aXQ9c2Igc3luY10pCisgIyBDaGVjayBNQUMgbGVhcm5pbmcgZmxvd3Mgd2l0aCAnbG9jYWxuZXRf bGVhcm5fZmRiJyBkZWZhdWx0IChmYWxzZSkKKyBBVF9DSEVDSyhbb3ZuLXNiY3RsIGR1bXAtZmxv d3MgbHMwIHwgZ3JlcCAtZSAnbHNfaW5fXChwdXRcfGxvb2t1cFwpX2ZkYicgfCBvdm5fc3RyaXBf bGZsb3dzXSwgWzBdLCBbZG5sCisgICB0YWJsZT0/Pyhsc19pbl9sb29rdXBfZmRiICAgKSwgcHJp b3JpdHk9MCAgICAsIG1hdGNoPSgxKSwgYWN0aW9uPShuZXh0OykKKysgIHRhYmxlPT8/KGxzX2lu X2xvb2t1cF9mZGIgICApLCBwcmlvcml0eT01MCAgICwgbWF0Y2g9KGlucG9ydCA9PSAibG5fcG9y dCIpLCBhY3Rpb249KGZsYWdzLmxvY2FsbmV0ID0gMTsgbmV4dDspCisgICB0YWJsZT0/Pyhsc19p bl9wdXRfZmRiICAgICAgKSwgcHJpb3JpdHk9MCAgICAsIG1hdGNoPSgxKSwgYWN0aW9uPShuZXh0 OykKKyBdKQorIAorQEAgLTk5NTMsNiArOTk1OSw3IEBAIEFUX0NIRUNLKFtvdm4tbmJjdGwgLS13 YWl0PXNiIGxzcC1zZXQtb3B0aW9ucyBsbl9wb3J0IGxvY2FsbmV0X2xlYXJuX2ZkYj10cnVlXSkK KyBBVF9DSEVDSyhbb3ZuLXNiY3RsIGR1bXAtZmxvd3MgbHMwIHwgZ3JlcCAtZSAnbHNfaW5fXChw dXRcfGxvb2t1cFwpX2ZkYicgfCBvdm5fc3RyaXBfbGZsb3dzXSwgWzBdLCBbZG5sCisgICB0YWJs ZT0/Pyhsc19pbl9sb29rdXBfZmRiICAgKSwgcHJpb3JpdHk9MCAgICAsIG1hdGNoPSgxKSwgYWN0 aW9uPShuZXh0OykKKyAgIHRhYmxlPT8/KGxzX2luX2xvb2t1cF9mZGIgICApLCBwcmlvcml0eT0x MDAgICwgbWF0Y2g9KGlucG9ydCA9PSAibG5fcG9ydCIpLCBhY3Rpb249KGZsYWdzLmxvY2FsbmV0 ID0gMTsgcmVnMFtbMTFdXSA9IGxvb2t1cF9mZGIoaW5wb3J0LCBldGguc3JjKTsgbmV4dDspCisr ICB0YWJsZT0/Pyhsc19pbl9sb29rdXBfZmRiICAgKSwgcHJpb3JpdHk9NTAgICAsIG1hdGNoPShp bnBvcnQgPT0gImxuX3BvcnQiKSwgYWN0aW9uPShmbGFncy5sb2NhbG5ldCA9IDE7IG5leHQ7KQor ICAgdGFibGU9Pz8obHNfaW5fcHV0X2ZkYiAgICAgICksIHByaW9yaXR5PTAgICAgLCBtYXRjaD0o MSksIGFjdGlvbj0obmV4dDspCisgICB0YWJsZT0/Pyhsc19pbl9wdXRfZmRiICAgICAgKSwgcHJp b3JpdHk9MTAwICAsIG1hdGNoPShpbnBvcnQgPT0gImxuX3BvcnQiICYmIHJlZzBbWzExXV0gPT0g MCksIGFjdGlvbj0ocHV0X2ZkYihpbnBvcnQsIGV0aC5zcmMpOyBuZXh0OykKKyBdKQorQEAgLTk5 NjEsNiArOTk2OCw3IEBAIEFUX0NIRUNLKFtvdm4tc2JjdGwgZHVtcC1mbG93cyBsczAgfCBncmVw IC1lICdsc19pbl9cKHB1dFx8bG9va3VwXClfZmRiJyB8IG92bl9zCisgQVRfQ0hFQ0soW292bi1u YmN0bCAtLXdhaXQ9c2IgbHNwLXNldC1vcHRpb25zIGxuX3BvcnQgbG9jYWxuZXRfbGVhcm5fZmRi PWZhbHNlXSkKKyBBVF9DSEVDSyhbb3ZuLXNiY3RsIGR1bXAtZmxvd3MgbHMwIHwgZ3JlcCAtZSAn bHNfaW5fXChwdXRcfGxvb2t1cFwpX2ZkYicgfCBvdm5fc3RyaXBfbGZsb3dzXSwgWzBdLCBbZG5s CisgICB0YWJsZT0/Pyhsc19pbl9sb29rdXBfZmRiICAgKSwgcHJpb3JpdHk9MCAgICAsIG1hdGNo PSgxKSwgYWN0aW9uPShuZXh0OykKKysgIHRhYmxlPT8/KGxzX2luX2xvb2t1cF9mZGIgICApLCBw cmlvcml0eT01MCAgICwgbWF0Y2g9KGlucG9ydCA9PSAibG5fcG9ydCIpLCBhY3Rpb249KGZsYWdz LmxvY2FsbmV0ID0gMTsgbmV4dDspCisgICB0YWJsZT0/Pyhsc19pbl9wdXRfZmRiICAgICAgKSwg cHJpb3JpdHk9MCAgICAsIG1hdGNoPSgxKSwgYWN0aW9uPShuZXh0OykKKyBdKQorIAorQEAgLTEw MzEwLDYgKzEwMzE4LDExMCBAQCBPVk5fQ0xFQU5VUF9OT1JUSEQKKyBBVF9DTEVBTlVQCisgXSkK KyAKKytPVk5fRk9SX0VBQ0hfTk9SVEhEX05PX0hWKFsKKytBVF9TRVRVUChbQVJQL05EIHJlc3Bv bmRlciBmb3IgbG9jYWxuZXQtc291cmNlZCByZXF1ZXN0c10pCisrb3ZuX3N0YXJ0CisrCisrZG5s IFN3aXRjaCB3aXRoIGxvY2FsbmV0IHBvcnQuCisrY2hlY2sgb3ZuLW5iY3RsIGxzLWFkZCBsczEK KytjaGVjayBvdm4tbmJjdGwgbHNwLWFkZC1sb2NhbG5ldC1wb3J0IGxzMSBsbjEgcGh5c25ldDEK KytjaGVjayBvdm4tbmJjdGwgbHNwLWFkZCBsczEgdm0xIFwKKysgICAgLS0gbHNwLXNldC1hZGRy ZXNzZXMgdm0xICIwMDowMDowMDowMDowMDowMSAxMC4wLjAuMSBmZDAxOjoxIgorK2NoZWNrIG92 bi1uYmN0bCBsc3AtYWRkIGxzMSB2bTIgXAorKyAgICAtLSBsc3Atc2V0LWFkZHJlc3NlcyB2bTIg IjAwOjAwOjAwOjAwOjAwOjAyIDEwLjAuMC4yIGZkMDE6OjIiCisrCisrZG5sIFN3aXRjaCB3aXRo b3V0IGxvY2FsbmV0IHBvcnQuCisrY2hlY2sgb3ZuLW5iY3RsIGxzLWFkZCBsczIKKytjaGVjayBv dm4tbmJjdGwgLS13YWl0PXNiIGxzcC1hZGQgbHMyIHZtMyBcCisrICAgIC0tIGxzcC1zZXQtYWRk cmVzc2VzIHZtMyAiMDA6MDA6MDA6MDA6MDA6MDMgMTAuMC4wLjMgZmQwMTo6MyIKKysKKytBU19C T1goW0ZEQiBsZWFybmluZyBkaXNhYmxlZF0pCisrCisrZG5sIGxzMTogbHNfaW5fbG9va3VwX2Zk YiBzaG91bGQgaGF2ZSBwcmlvcml0eSAwIGRlZmF1bHQgKworK2RubCBwcmlvcml0eSA1MCBmbGFn cy5sb2NhbG5ldC4KKytBVF9DSEVDSyhbb3ZuLXNiY3RsIGR1bXAtZmxvd3MgbHMxIHwgZ3JlcCAt ZSAnbHNfaW5fbG9va3VwX2ZkYicgfCBvdm5fc3RyaXBfbGZsb3dzXSwgWzBdLCBbZG5sCisrICB0 YWJsZT0/Pyhsc19pbl9sb29rdXBfZmRiICAgKSwgcHJpb3JpdHk9MCAgICAsIG1hdGNoPSgxKSwg YWN0aW9uPShuZXh0OykKKysgIHRhYmxlPT8/KGxzX2luX2xvb2t1cF9mZGIgICApLCBwcmlvcml0 eT01MCAgICwgbWF0Y2g9KGlucG9ydCA9PSAibG4xIiksIGFjdGlvbj0oZmxhZ3MubG9jYWxuZXQg PSAxOyBuZXh0OykKKytdKQorKworK2RubCBsczE6IGxzX2luX2FycF9yc3Agc2hvdWxkIGluY2x1 ZGUgZmxhZ3MubG9jYWxuZXQgY29uZGl0aW9uIGZvcgorK2RubCBwcmlvcml0eSA1MCBBUlAvTkQg cmVwbHkgZmxvd3MgYnV0IE5PVCBmb3IgcHJpb3JpdHkgMTAwIHNlbGYtcmVwbHkKKytkbmwgZmxv d3MgKHNpbmNlIHRob3NlIG1hdGNoIG9uIGlucG9ydCA9PSBWSUYsIGZsYWdzLmxvY2FsbmV0IGlz IGFsd2F5cyAwKS4KKytBVF9DSEVDSyhbb3ZuLXNiY3RsIGR1bXAtZmxvd3MgbHMxIHwgZ3JlcCAt ZSAnbHNfaW5fYXJwX3JzcCcgfCBvdm5fc3RyaXBfbGZsb3dzXSwgWzBdLCBbZG5sCisrICB0YWJs ZT0/Pyhsc19pbl9hcnBfcnNwICAgICAgKSwgcHJpb3JpdHk9MCAgICAsIG1hdGNoPSgxKSwgYWN0 aW9uPShuZXh0OykKKysgIHRhYmxlPT8/KGxzX2luX2FycF9yc3AgICAgICApLCBwcmlvcml0eT0x MDAgICwgbWF0Y2g9KGFycC50cGEgPT0gMTAuMC4wLjEgJiYgYXJwLm9wID09IDEgJiYgZXRoLmRz dCA9PSBmZjpmZjpmZjpmZjpmZjpmZiAmJiBpbnBvcnQgPT0gInZtMSIpLCBhY3Rpb249KG5leHQ7 KQorKyAgdGFibGU9Pz8obHNfaW5fYXJwX3JzcCAgICAgICksIHByaW9yaXR5PTEwMCAgLCBtYXRj aD0oYXJwLnRwYSA9PSAxMC4wLjAuMiAmJiBhcnAub3AgPT0gMSAmJiBldGguZHN0ID09IGZmOmZm OmZmOmZmOmZmOmZmICYmIGlucG9ydCA9PSAidm0yIiksIGFjdGlvbj0obmV4dDspCisrICB0YWJs ZT0/Pyhsc19pbl9hcnBfcnNwICAgICAgKSwgcHJpb3JpdHk9MTAwICAsIG1hdGNoPShuZF9uc19t Y2FzdCAmJiBpcDYuZHN0ID09IGZmMDI6OjE6ZmYwMDoxICYmIG5kLnRhcmdldCA9PSBmZDAxOjox ICYmIGlucG9ydCA9PSAidm0xIiksIGFjdGlvbj0obmV4dDspCisrICB0YWJsZT0/Pyhsc19pbl9h cnBfcnNwICAgICAgKSwgcHJpb3JpdHk9MTAwICAsIG1hdGNoPShuZF9uc19tY2FzdCAmJiBpcDYu ZHN0ID09IGZmMDI6OjE6ZmYwMDoyICYmIG5kLnRhcmdldCA9PSBmZDAxOjoyICYmIGlucG9ydCA9 PSAidm0yIiksIGFjdGlvbj0obmV4dDspCisrICB0YWJsZT0/Pyhsc19pbl9hcnBfcnNwICAgICAg KSwgcHJpb3JpdHk9NTAgICAsIG1hdGNoPShhcnAudHBhID09IDEwLjAuMC4xICYmIGFycC5vcCA9 PSAxICYmIGV0aC5kc3QgPT0gZmY6ZmY6ZmY6ZmY6ZmY6ZmYgJiYgKChmbGFncy5sb2NhbG5ldCA9 PSAxICYmIGlzX2NoYXNzaXNfcmVzaWRlbnQoInZtMSIpKSB8fCBmbGFncy5sb2NhbG5ldCA9PSAw KSksIGFjdGlvbj0oZXRoLmRzdCA9IGV0aC5zcmM7IGV0aC5zcmMgPSAwMDowMDowMDowMDowMDow MTsgYXJwLm9wID0gMjsgLyogQVJQIHJlcGx5ICovIGFycC50aGEgPSBhcnAuc2hhOyBhcnAuc2hh ID0gMDA6MDA6MDA6MDA6MDA6MDE7IGFycC50cGEgPSBhcnAuc3BhOyBhcnAuc3BhID0gMTAuMC4w LjE7IG91dHBvcnQgPSBpbnBvcnQ7IGZsYWdzLmxvb3BiYWNrID0gMTsgb3V0cHV0OykKKysgIHRh YmxlPT8/KGxzX2luX2FycF9yc3AgICAgICApLCBwcmlvcml0eT01MCAgICwgbWF0Y2g9KGFycC50 cGEgPT0gMTAuMC4wLjIgJiYgYXJwLm9wID09IDEgJiYgZXRoLmRzdCA9PSBmZjpmZjpmZjpmZjpm ZjpmZiAmJiAoKGZsYWdzLmxvY2FsbmV0ID09IDEgJiYgaXNfY2hhc3Npc19yZXNpZGVudCgidm0y IikpIHx8IGZsYWdzLmxvY2FsbmV0ID09IDApKSwgYWN0aW9uPShldGguZHN0ID0gZXRoLnNyYzsg ZXRoLnNyYyA9IDAwOjAwOjAwOjAwOjAwOjAyOyBhcnAub3AgPSAyOyAvKiBBUlAgcmVwbHkgKi8g YXJwLnRoYSA9IGFycC5zaGE7IGFycC5zaGEgPSAwMDowMDowMDowMDowMDowMjsgYXJwLnRwYSA9 IGFycC5zcGE7IGFycC5zcGEgPSAxMC4wLjAuMjsgb3V0cG9ydCA9IGlucG9ydDsgZmxhZ3MubG9v cGJhY2sgPSAxOyBvdXRwdXQ7KQorKyAgdGFibGU9Pz8obHNfaW5fYXJwX3JzcCAgICAgICksIHBy aW9yaXR5PTUwICAgLCBtYXRjaD0obmRfbnNfbWNhc3QgJiYgaXA2LmRzdCA9PSBmZjAyOjoxOmZm MDA6MSAmJiBuZC50YXJnZXQgPT0gZmQwMTo6MSAmJiAoKGZsYWdzLmxvY2FsbmV0ID09IDEgJiYg aXNfY2hhc3Npc19yZXNpZGVudCgidm0xIikpIHx8IGZsYWdzLmxvY2FsbmV0ID09IDApKSwgYWN0 aW9uPShuZF9uYSB7IGV0aC5zcmMgPSAwMDowMDowMDowMDowMDowMTsgaXA2LnNyYyA9IGZkMDE6 OjE7IG5kLnRhcmdldCA9IGZkMDE6OjE7IG5kLnRsbCA9IDAwOjAwOjAwOjAwOjAwOjAxOyBvdXRw b3J0ID0gaW5wb3J0OyBmbGFncy5sb29wYmFjayA9IDE7IG91dHB1dDsgfTspCisrICB0YWJsZT0/ Pyhsc19pbl9hcnBfcnNwICAgICAgKSwgcHJpb3JpdHk9NTAgICAsIG1hdGNoPShuZF9uc19tY2Fz dCAmJiBpcDYuZHN0ID09IGZmMDI6OjE6ZmYwMDoyICYmIG5kLnRhcmdldCA9PSBmZDAxOjoyICYm ICgoZmxhZ3MubG9jYWxuZXQgPT0gMSAmJiBpc19jaGFzc2lzX3Jlc2lkZW50KCJ2bTIiKSkgfHwg ZmxhZ3MubG9jYWxuZXQgPT0gMCkpLCBhY3Rpb249KG5kX25hIHsgZXRoLnNyYyA9IDAwOjAwOjAw OjAwOjAwOjAyOyBpcDYuc3JjID0gZmQwMTo6MjsgbmQudGFyZ2V0ID0gZmQwMTo6MjsgbmQudGxs ID0gMDA6MDA6MDA6MDA6MDA6MDI7IG91dHBvcnQgPSBpbnBvcnQ7IGZsYWdzLmxvb3BiYWNrID0g MTsgb3V0cHV0OyB9OykKKytdKQorKworK2RubCBsczI6IGxzX2luX2FycF9yc3Agc2hvdWxkIE5P VCBpbmNsdWRlIGZsYWdzLmxvY2FsbmV0IGNvbmRpdGlvbi4KKytBVF9DSEVDSyhbb3ZuLXNiY3Rs IGR1bXAtZmxvd3MgbHMyIHwgZ3JlcCAtZSAnbHNfaW5fYXJwX3JzcCcgfCBvdm5fc3RyaXBfbGZs b3dzXSwgWzBdLCBbZG5sCisrICB0YWJsZT0/Pyhsc19pbl9hcnBfcnNwICAgICAgKSwgcHJpb3Jp dHk9MCAgICAsIG1hdGNoPSgxKSwgYWN0aW9uPShuZXh0OykKKysgIHRhYmxlPT8/KGxzX2luX2Fy cF9yc3AgICAgICApLCBwcmlvcml0eT0xMDAgICwgbWF0Y2g9KGFycC50cGEgPT0gMTAuMC4wLjMg JiYgYXJwLm9wID09IDEgJiYgZXRoLmRzdCA9PSBmZjpmZjpmZjpmZjpmZjpmZiAmJiBpbnBvcnQg PT0gInZtMyIpLCBhY3Rpb249KG5leHQ7KQorKyAgdGFibGU9Pz8obHNfaW5fYXJwX3JzcCAgICAg ICksIHByaW9yaXR5PTEwMCAgLCBtYXRjaD0obmRfbnNfbWNhc3QgJiYgaXA2LmRzdCA9PSBmZjAy OjoxOmZmMDA6MyAmJiBuZC50YXJnZXQgPT0gZmQwMTo6MyAmJiBpbnBvcnQgPT0gInZtMyIpLCBh Y3Rpb249KG5leHQ7KQorKyAgdGFibGU9Pz8obHNfaW5fYXJwX3JzcCAgICAgICksIHByaW9yaXR5 PTUwICAgLCBtYXRjaD0oYXJwLnRwYSA9PSAxMC4wLjAuMyAmJiBhcnAub3AgPT0gMSAmJiBldGgu ZHN0ID09IGZmOmZmOmZmOmZmOmZmOmZmKSwgYWN0aW9uPShldGguZHN0ID0gZXRoLnNyYzsgZXRo LnNyYyA9IDAwOjAwOjAwOjAwOjAwOjAzOyBhcnAub3AgPSAyOyAvKiBBUlAgcmVwbHkgKi8gYXJw LnRoYSA9IGFycC5zaGE7IGFycC5zaGEgPSAwMDowMDowMDowMDowMDowMzsgYXJwLnRwYSA9IGFy cC5zcGE7IGFycC5zcGEgPSAxMC4wLjAuMzsgb3V0cG9ydCA9IGlucG9ydDsgZmxhZ3MubG9vcGJh Y2sgPSAxOyBvdXRwdXQ7KQorKyAgdGFibGU9Pz8obHNfaW5fYXJwX3JzcCAgICAgICksIHByaW9y aXR5PTUwICAgLCBtYXRjaD0obmRfbnNfbWNhc3QgJiYgaXA2LmRzdCA9PSBmZjAyOjoxOmZmMDA6 MyAmJiBuZC50YXJnZXQgPT0gZmQwMTo6MyksIGFjdGlvbj0obmRfbmEgeyBldGguc3JjID0gMDA6 MDA6MDA6MDA6MDA6MDM7IGlwNi5zcmMgPSBmZDAxOjozOyBuZC50YXJnZXQgPSBmZDAxOjozOyBu ZC50bGwgPSAwMDowMDowMDowMDowMDowMzsgb3V0cG9ydCA9IGlucG9ydDsgZmxhZ3MubG9vcGJh Y2sgPSAxOyBvdXRwdXQ7IH07KQorK10pCisrCisrZG5sIGxzMjogbHNfaW5fbG9va3VwX2ZkYiBz aG91bGQgb25seSBoYXZlIHByaW9yaXR5IDAgZGVmYXVsdCwKKytkbmwgbm8gcHJpb3JpdHkgNTAg ZmxhZ3MubG9jYWxuZXQuCisrQVRfQ0hFQ0soW292bi1zYmN0bCBkdW1wLWZsb3dzIGxzMiB8IGdy ZXAgLWUgJ2xzX2luX2xvb2t1cF9mZGInIHwgb3ZuX3N0cmlwX2xmbG93c10sIFswXSwgW2RubAor KyAgdGFibGU9Pz8obHNfaW5fbG9va3VwX2ZkYiAgICksIHByaW9yaXR5PTAgICAgLCBtYXRjaD0o MSksIGFjdGlvbj0obmV4dDspCisrXSkKKysKKytBU19CT1goW0VuYWJsZSBGREIgbGVhcm5pbmcg b24gbG4xXSkKKytjaGVjayBvdm4tbmJjdGwgLS13YWl0PXNiIGxzcC1zZXQtb3B0aW9ucyBsbjEg bG9jYWxuZXRfbGVhcm5fZmRiPXRydWUKKysKKytkbmwgbHMxOiBsc19pbl9sb29rdXBfZmRiIHNo b3VsZCBoYXZlIHByaW9yaXR5IDEwMCBGREIgKworK2RubCBwcmlvcml0eSA1MCBmYWxsYmFjay4K KytBVF9DSEVDSyhbb3ZuLXNiY3RsIGR1bXAtZmxvd3MgbHMxIHwgZ3JlcCAtZSAnbHNfaW5fbG9v a3VwX2ZkYicgfCBvdm5fc3RyaXBfbGZsb3dzXSwgWzBdLCBbZG5sCisrICB0YWJsZT0/Pyhsc19p bl9sb29rdXBfZmRiICAgKSwgcHJpb3JpdHk9MCAgICAsIG1hdGNoPSgxKSwgYWN0aW9uPShuZXh0 OykKKysgIHRhYmxlPT8/KGxzX2luX2xvb2t1cF9mZGIgICApLCBwcmlvcml0eT0xMDAgICwgbWF0 Y2g9KGlucG9ydCA9PSAibG4xIiksIGFjdGlvbj0oZmxhZ3MubG9jYWxuZXQgPSAxOyByZWcwW1sx MV1dID0gbG9va3VwX2ZkYihpbnBvcnQsIGV0aC5zcmMpOyBuZXh0OykKKysgIHRhYmxlPT8/KGxz X2luX2xvb2t1cF9mZGIgICApLCBwcmlvcml0eT01MCAgICwgbWF0Y2g9KGlucG9ydCA9PSAibG4x IiksIGFjdGlvbj0oZmxhZ3MubG9jYWxuZXQgPSAxOyBuZXh0OykKKytdKQorKworK2RubCBsczE6 IGxzX2luX2FycF9yc3Agc2hvdWxkIGJlIHVuY2hhbmdlZC4KKytBVF9DSEVDSyhbb3ZuLXNiY3Rs IGR1bXAtZmxvd3MgbHMxIHwgZ3JlcCAtZSAnbHNfaW5fYXJwX3JzcCcgfCBvdm5fc3RyaXBfbGZs b3dzXSwgWzBdLCBbZG5sCisrICB0YWJsZT0/Pyhsc19pbl9hcnBfcnNwICAgICAgKSwgcHJpb3Jp dHk9MCAgICAsIG1hdGNoPSgxKSwgYWN0aW9uPShuZXh0OykKKysgIHRhYmxlPT8/KGxzX2luX2Fy cF9yc3AgICAgICApLCBwcmlvcml0eT0xMDAgICwgbWF0Y2g9KGFycC50cGEgPT0gMTAuMC4wLjEg JiYgYXJwLm9wID09IDEgJiYgZXRoLmRzdCA9PSBmZjpmZjpmZjpmZjpmZjpmZiAmJiBpbnBvcnQg PT0gInZtMSIpLCBhY3Rpb249KG5leHQ7KQorKyAgdGFibGU9Pz8obHNfaW5fYXJwX3JzcCAgICAg ICksIHByaW9yaXR5PTEwMCAgLCBtYXRjaD0oYXJwLnRwYSA9PSAxMC4wLjAuMiAmJiBhcnAub3Ag PT0gMSAmJiBldGguZHN0ID09IGZmOmZmOmZmOmZmOmZmOmZmICYmIGlucG9ydCA9PSAidm0yIiks IGFjdGlvbj0obmV4dDspCisrICB0YWJsZT0/Pyhsc19pbl9hcnBfcnNwICAgICAgKSwgcHJpb3Jp dHk9MTAwICAsIG1hdGNoPShuZF9uc19tY2FzdCAmJiBpcDYuZHN0ID09IGZmMDI6OjE6ZmYwMDox ICYmIG5kLnRhcmdldCA9PSBmZDAxOjoxICYmIGlucG9ydCA9PSAidm0xIiksIGFjdGlvbj0obmV4 dDspCisrICB0YWJsZT0/Pyhsc19pbl9hcnBfcnNwICAgICAgKSwgcHJpb3JpdHk9MTAwICAsIG1h dGNoPShuZF9uc19tY2FzdCAmJiBpcDYuZHN0ID09IGZmMDI6OjE6ZmYwMDoyICYmIG5kLnRhcmdl dCA9PSBmZDAxOjoyICYmIGlucG9ydCA9PSAidm0yIiksIGFjdGlvbj0obmV4dDspCisrICB0YWJs ZT0/Pyhsc19pbl9hcnBfcnNwICAgICAgKSwgcHJpb3JpdHk9NTAgICAsIG1hdGNoPShhcnAudHBh ID09IDEwLjAuMC4xICYmIGFycC5vcCA9PSAxICYmIGV0aC5kc3QgPT0gZmY6ZmY6ZmY6ZmY6ZmY6 ZmYgJiYgKChmbGFncy5sb2NhbG5ldCA9PSAxICYmIGlzX2NoYXNzaXNfcmVzaWRlbnQoInZtMSIp KSB8fCBmbGFncy5sb2NhbG5ldCA9PSAwKSksIGFjdGlvbj0oZXRoLmRzdCA9IGV0aC5zcmM7IGV0 aC5zcmMgPSAwMDowMDowMDowMDowMDowMTsgYXJwLm9wID0gMjsgLyogQVJQIHJlcGx5ICovIGFy cC50aGEgPSBhcnAuc2hhOyBhcnAuc2hhID0gMDA6MDA6MDA6MDA6MDA6MDE7IGFycC50cGEgPSBh cnAuc3BhOyBhcnAuc3BhID0gMTAuMC4wLjE7IG91dHBvcnQgPSBpbnBvcnQ7IGZsYWdzLmxvb3Bi YWNrID0gMTsgb3V0cHV0OykKKysgIHRhYmxlPT8/KGxzX2luX2FycF9yc3AgICAgICApLCBwcmlv cml0eT01MCAgICwgbWF0Y2g9KGFycC50cGEgPT0gMTAuMC4wLjIgJiYgYXJwLm9wID09IDEgJiYg ZXRoLmRzdCA9PSBmZjpmZjpmZjpmZjpmZjpmZiAmJiAoKGZsYWdzLmxvY2FsbmV0ID09IDEgJiYg aXNfY2hhc3Npc19yZXNpZGVudCgidm0yIikpIHx8IGZsYWdzLmxvY2FsbmV0ID09IDApKSwgYWN0 aW9uPShldGguZHN0ID0gZXRoLnNyYzsgZXRoLnNyYyA9IDAwOjAwOjAwOjAwOjAwOjAyOyBhcnAu b3AgPSAyOyAvKiBBUlAgcmVwbHkgKi8gYXJwLnRoYSA9IGFycC5zaGE7IGFycC5zaGEgPSAwMDow MDowMDowMDowMDowMjsgYXJwLnRwYSA9IGFycC5zcGE7IGFycC5zcGEgPSAxMC4wLjAuMjsgb3V0 cG9ydCA9IGlucG9ydDsgZmxhZ3MubG9vcGJhY2sgPSAxOyBvdXRwdXQ7KQorKyAgdGFibGU9Pz8o bHNfaW5fYXJwX3JzcCAgICAgICksIHByaW9yaXR5PTUwICAgLCBtYXRjaD0obmRfbnNfbWNhc3Qg JiYgaXA2LmRzdCA9PSBmZjAyOjoxOmZmMDA6MSAmJiBuZC50YXJnZXQgPT0gZmQwMTo6MSAmJiAo KGZsYWdzLmxvY2FsbmV0ID09IDEgJiYgaXNfY2hhc3Npc19yZXNpZGVudCgidm0xIikpIHx8IGZs YWdzLmxvY2FsbmV0ID09IDApKSwgYWN0aW9uPShuZF9uYSB7IGV0aC5zcmMgPSAwMDowMDowMDow MDowMDowMTsgaXA2LnNyYyA9IGZkMDE6OjE7IG5kLnRhcmdldCA9IGZkMDE6OjE7IG5kLnRsbCA9 IDAwOjAwOjAwOjAwOjAwOjAxOyBvdXRwb3J0ID0gaW5wb3J0OyBmbGFncy5sb29wYmFjayA9IDE7 IG91dHB1dDsgfTspCisrICB0YWJsZT0/Pyhsc19pbl9hcnBfcnNwICAgICAgKSwgcHJpb3JpdHk9 NTAgICAsIG1hdGNoPShuZF9uc19tY2FzdCAmJiBpcDYuZHN0ID09IGZmMDI6OjE6ZmYwMDoyICYm IG5kLnRhcmdldCA9PSBmZDAxOjoyICYmICgoZmxhZ3MubG9jYWxuZXQgPT0gMSAmJiBpc19jaGFz c2lzX3Jlc2lkZW50KCJ2bTIiKSkgfHwgZmxhZ3MubG9jYWxuZXQgPT0gMCkpLCBhY3Rpb249KG5k X25hIHsgZXRoLnNyYyA9IDAwOjAwOjAwOjAwOjAwOjAyOyBpcDYuc3JjID0gZmQwMTo6MjsgbmQu dGFyZ2V0ID0gZmQwMTo6MjsgbmQudGxsID0gMDA6MDA6MDA6MDA6MDA6MDI7IG91dHBvcnQgPSBp bnBvcnQ7IGZsYWdzLmxvb3BiYWNrID0gMTsgb3V0cHV0OyB9OykKKytdKQorKworK0FTX0JPWChb RGlzYWJsZSBGREIgbGVhcm5pbmddKQorK2NoZWNrIG92bi1uYmN0bCAtLXdhaXQ9c2IgbHNwLXNl dC1vcHRpb25zIGxuMSBsb2NhbG5ldF9sZWFybl9mZGI9ZmFsc2UKKysKKytBVF9DSEVDSyhbb3Zu LXNiY3RsIGR1bXAtZmxvd3MgbHMxIHwgZ3JlcCAtZSAnbHNfaW5fbG9va3VwX2ZkYicgfCBvdm5f c3RyaXBfbGZsb3dzXSwgWzBdLCBbZG5sCisrICB0YWJsZT0/Pyhsc19pbl9sb29rdXBfZmRiICAg KSwgcHJpb3JpdHk9MCAgICAsIG1hdGNoPSgxKSwgYWN0aW9uPShuZXh0OykKKysgIHRhYmxlPT8/ KGxzX2luX2xvb2t1cF9mZGIgICApLCBwcmlvcml0eT01MCAgICwgbWF0Y2g9KGlucG9ydCA9PSAi bG4xIiksIGFjdGlvbj0oZmxhZ3MubG9jYWxuZXQgPSAxOyBuZXh0OykKKytdKQorKworK0FUX0NI RUNLKFtvdm4tc2JjdGwgZHVtcC1mbG93cyBsczEgfCBncmVwIC1lICdsc19pbl9hcnBfcnNwJyB8 IG92bl9zdHJpcF9sZmxvd3NdLCBbMF0sIFtkbmwKKysgIHRhYmxlPT8/KGxzX2luX2FycF9yc3Ag ICAgICApLCBwcmlvcml0eT0wICAgICwgbWF0Y2g9KDEpLCBhY3Rpb249KG5leHQ7KQorKyAgdGFi bGU9Pz8obHNfaW5fYXJwX3JzcCAgICAgICksIHByaW9yaXR5PTEwMCAgLCBtYXRjaD0oYXJwLnRw YSA9PSAxMC4wLjAuMSAmJiBhcnAub3AgPT0gMSAmJiBldGguZHN0ID09IGZmOmZmOmZmOmZmOmZm OmZmICYmIGlucG9ydCA9PSAidm0xIiksIGFjdGlvbj0obmV4dDspCisrICB0YWJsZT0/Pyhsc19p bl9hcnBfcnNwICAgICAgKSwgcHJpb3JpdHk9MTAwICAsIG1hdGNoPShhcnAudHBhID09IDEwLjAu MC4yICYmIGFycC5vcCA9PSAxICYmIGV0aC5kc3QgPT0gZmY6ZmY6ZmY6ZmY6ZmY6ZmYgJiYgaW5w b3J0ID09ICJ2bTIiKSwgYWN0aW9uPShuZXh0OykKKysgIHRhYmxlPT8/KGxzX2luX2FycF9yc3Ag ICAgICApLCBwcmlvcml0eT0xMDAgICwgbWF0Y2g9KG5kX25zX21jYXN0ICYmIGlwNi5kc3QgPT0g ZmYwMjo6MTpmZjAwOjEgJiYgbmQudGFyZ2V0ID09IGZkMDE6OjEgJiYgaW5wb3J0ID09ICJ2bTEi KSwgYWN0aW9uPShuZXh0OykKKysgIHRhYmxlPT8/KGxzX2luX2FycF9yc3AgICAgICApLCBwcmlv cml0eT0xMDAgICwgbWF0Y2g9KG5kX25zX21jYXN0ICYmIGlwNi5kc3QgPT0gZmYwMjo6MTpmZjAw OjIgJiYgbmQudGFyZ2V0ID09IGZkMDE6OjIgJiYgaW5wb3J0ID09ICJ2bTIiKSwgYWN0aW9uPShu ZXh0OykKKysgIHRhYmxlPT8/KGxzX2luX2FycF9yc3AgICAgICApLCBwcmlvcml0eT01MCAgICwg bWF0Y2g9KGFycC50cGEgPT0gMTAuMC4wLjEgJiYgYXJwLm9wID09IDEgJiYgZXRoLmRzdCA9PSBm ZjpmZjpmZjpmZjpmZjpmZiAmJiAoKGZsYWdzLmxvY2FsbmV0ID09IDEgJiYgaXNfY2hhc3Npc19y ZXNpZGVudCgidm0xIikpIHx8IGZsYWdzLmxvY2FsbmV0ID09IDApKSwgYWN0aW9uPShldGguZHN0 ID0gZXRoLnNyYzsgZXRoLnNyYyA9IDAwOjAwOjAwOjAwOjAwOjAxOyBhcnAub3AgPSAyOyAvKiBB UlAgcmVwbHkgKi8gYXJwLnRoYSA9IGFycC5zaGE7IGFycC5zaGEgPSAwMDowMDowMDowMDowMDow MTsgYXJwLnRwYSA9IGFycC5zcGE7IGFycC5zcGEgPSAxMC4wLjAuMTsgb3V0cG9ydCA9IGlucG9y dDsgZmxhZ3MubG9vcGJhY2sgPSAxOyBvdXRwdXQ7KQorKyAgdGFibGU9Pz8obHNfaW5fYXJwX3Jz cCAgICAgICksIHByaW9yaXR5PTUwICAgLCBtYXRjaD0oYXJwLnRwYSA9PSAxMC4wLjAuMiAmJiBh cnAub3AgPT0gMSAmJiBldGguZHN0ID09IGZmOmZmOmZmOmZmOmZmOmZmICYmICgoZmxhZ3MubG9j YWxuZXQgPT0gMSAmJiBpc19jaGFzc2lzX3Jlc2lkZW50KCJ2bTIiKSkgfHwgZmxhZ3MubG9jYWxu ZXQgPT0gMCkpLCBhY3Rpb249KGV0aC5kc3QgPSBldGguc3JjOyBldGguc3JjID0gMDA6MDA6MDA6 MDA6MDA6MDI7IGFycC5vcCA9IDI7IC8qIEFSUCByZXBseSAqLyBhcnAudGhhID0gYXJwLnNoYTsg YXJwLnNoYSA9IDAwOjAwOjAwOjAwOjAwOjAyOyBhcnAudHBhID0gYXJwLnNwYTsgYXJwLnNwYSA9 IDEwLjAuMC4yOyBvdXRwb3J0ID0gaW5wb3J0OyBmbGFncy5sb29wYmFjayA9IDE7IG91dHB1dDsp CisrICB0YWJsZT0/Pyhsc19pbl9hcnBfcnNwICAgICAgKSwgcHJpb3JpdHk9NTAgICAsIG1hdGNo PShuZF9uc19tY2FzdCAmJiBpcDYuZHN0ID09IGZmMDI6OjE6ZmYwMDoxICYmIG5kLnRhcmdldCA9 PSBmZDAxOjoxICYmICgoZmxhZ3MubG9jYWxuZXQgPT0gMSAmJiBpc19jaGFzc2lzX3Jlc2lkZW50 KCJ2bTEiKSkgfHwgZmxhZ3MubG9jYWxuZXQgPT0gMCkpLCBhY3Rpb249KG5kX25hIHsgZXRoLnNy YyA9IDAwOjAwOjAwOjAwOjAwOjAxOyBpcDYuc3JjID0gZmQwMTo6MTsgbmQudGFyZ2V0ID0gZmQw MTo6MTsgbmQudGxsID0gMDA6MDA6MDA6MDA6MDA6MDE7IG91dHBvcnQgPSBpbnBvcnQ7IGZsYWdz Lmxvb3BiYWNrID0gMTsgb3V0cHV0OyB9OykKKysgIHRhYmxlPT8/KGxzX2luX2FycF9yc3AgICAg ICApLCBwcmlvcml0eT01MCAgICwgbWF0Y2g9KG5kX25zX21jYXN0ICYmIGlwNi5kc3QgPT0gZmYw Mjo6MTpmZjAwOjIgJiYgbmQudGFyZ2V0ID09IGZkMDE6OjIgJiYgKChmbGFncy5sb2NhbG5ldCA9 PSAxICYmIGlzX2NoYXNzaXNfcmVzaWRlbnQoInZtMiIpKSB8fCBmbGFncy5sb2NhbG5ldCA9PSAw KSksIGFjdGlvbj0obmRfbmEgeyBldGguc3JjID0gMDA6MDA6MDA6MDA6MDA6MDI7IGlwNi5zcmMg PSBmZDAxOjoyOyBuZC50YXJnZXQgPSBmZDAxOjoyOyBuZC50bGwgPSAwMDowMDowMDowMDowMDow Mjsgb3V0cG9ydCA9IGlucG9ydDsgZmxhZ3MubG9vcGJhY2sgPSAxOyBvdXRwdXQ7IH07KQorK10p CisrCisrT1ZOX0NMRUFOVVBfTk9SVEhECisrQVRfQ0xFQU5VUAorK10pCisrCisgT1ZOX0ZPUl9F QUNIX05PUlRIRF9OT19IVihbCisgQVRfU0VUVVAoW0FkZHJlc3Mgc2V0IGluY3JlbWVudGFsIHBy b2Nlc3NpbmddKQorIG92bl9zdGFydAorQEAgLTE0Mjk0LDcgKzE0NDA2LDcgQEAgQVRfQ0hFQ0so W2dyZXAgLUZlICIxNzIuMTY4LjAuMTEwIiAtZSAiMTcyLjE2OC4wLjEyMCIgLWUgIjEwLjAuMC4z IiAtZSAiMjAuMC4wLjMKKyAgIHRhYmxlPT8/KGxyX291dF91bmRuYXQgICAgICApLCBwcmlvcml0 eT0xMDAgICwgbWF0Y2g9KGlwICYmIGlwNC5zcmMgPT0gMjAuMC4wLjMgJiYgb3V0cG9ydCA9PSAi bHIwLXB1YmxpYyIgJiYgaXNfY2hhc3Npc19yZXNpZGVudCgiY3ItbHIwLXB1YmxpYyIpKSwgYWN0 aW9uPShjdF9kbmF0OykKKyBdKQorIAorLUFUX0NIRUNLKFtncmVwIC1GZSAiMTcyLjE2OC4wLjEx MCIgLWUgIjE3Mi4xNjguMC4xMjAiIC1lICIxMC4wLjAuMyIgLWUgIjIwLjAuMC4zIiAtZSAiMzA6 NTQ6MDA6MDA6MDA6MDMiICAtZSAic3cwLXBvcnQxIiBwdWJsaWNmbG93cyB8IG92bl9zdHJpcF9s Zmxvd3MgfCBncmVwIC12ICJyZWcwLioyMiJdLCBbMF0sIFtkbmwKKytBVF9DSEVDSyhbZ3JlcCAt RmUgIjE3Mi4xNjguMC4xMTAiIC1lICIxNzIuMTY4LjAuMTIwIiAtZSAiMTAuMC4wLjMiIC1lICIy MC4wLjAuMyIgLWUgIjMwOjU0OjAwOjAwOjAwOjAzIiAgLWUgInN3MC1wb3J0MSIgcHVibGljZmxv d3MgfCBvdm5fc3RyaXBfbGZsb3dzXSwgWzBdLCBbZG5sCisgICB0YWJsZT0/Pyhsc19pbl9sMl9s a3VwICAgICAgKSwgcHJpb3JpdHk9NTAgICAsIG1hdGNoPShldGguZHN0ID09IDMwOjU0OjAwOjAw OjAwOjAzICYmIGlzX2NoYXNzaXNfcmVzaWRlbnQoInN3MC1wb3J0MSIpKSwgYWN0aW9uPShvdXRw b3J0ID0gInB1YmxpYy1scjAiOyBvdXRwdXQ7KQorICAgdGFibGU9Pz8obHNfaW5fbDJfbGt1cCAg ICAgICksIHByaW9yaXR5PTc1ICAgLCBtYXRjaD0oZXRoLnNyYyA9PSB7MDA6MDA6MDA6MDA6ZmY6 MDIsIDMwOjU0OjAwOjAwOjAwOjAzfSAmJiBldGguZHN0ID09IGZmOmZmOmZmOmZmOmZmOmZmICYm IChhcnAub3AgPT0gMSB8fCByYXJwLm9wID09IDMgfHwgbmRfbnMpKSwgYWN0aW9uPShvdXRwb3J0 ID0gIl9NQ19mbG9vZF9sMiI7IG91dHB1dDspCisgICB0YWJsZT0/Pyhsc19pbl9sMl9sa3VwICAg ICAgKSwgcHJpb3JpdHk9ODAgICAsIG1hdGNoPShmbGFnc1tbMV1dID09IDAgJiYgYXJwLm9wID09 IDEgJiYgYXJwLnRwYSA9PSAxNzIuMTY4LjAuMTEwKSwgYWN0aW9uPShjbG9uZSB7b3V0cG9ydCA9 ICJwdWJsaWMtbHIwIjsgb3V0cHV0OyB9OyBvdXRwb3J0ID0gIl9NQ19mbG9vZF9sMiI7IG91dHB1 dDspCitAQCAtMTYwNjQsNiArMTYxNzYsNTMgQEAgT1ZOX0NMRUFOVVBfTk9SVEhECisgQVRfQ0xF QU5VUAorIF0pCisgCisrT1ZOX0ZPUl9FQUNIX05PUlRIRF9OT19IVihbCisrQVRfU0VUVVAoW2R5 bmFtaWMtcm91dGluZyAtIGxlYXJuZWQgcm91dGVzIG9uIHVubnVtYmVyZWQgTFJQXSkKKytBVF9L RVlXT1JEUyhbZHluYW1pYy1yb3V0aW5nXSkKKytvdm5fc3RhcnQKKysKKytjaGVjayBvdm4tbmJj dGwgbHItYWRkIGxyMAorK2NoZWNrIG92bi1uYmN0bCBzZXQgTG9naWNhbF9Sb3V0ZXIgbHIwIG9w dGlvbjpkeW5hbWljLXJvdXRpbmc9dHJ1ZQorK2NoZWNrIG92bi1uYmN0bCBscnAtYWRkIGxyMCBs cnAxIDAwOjAwOjAwOjAwOmZmOjAxIDEwLjAuMC4xLzI0CisrY2hlY2sgb3ZuLW5iY3RsIGxycC1h ZGQgbHIwIGxycDIgMDA6MDA6MDA6MDA6ZmY6MDIKKytjaGVjayBvdm4tbmJjdGwgLS13YWl0PXNi IGxycC1hZGQgbHIwIGxycDMgMDA6MDA6MDA6MDA6ZmY6MDMKKytkYXRhcGF0aD0kKGZldGNoX2Nv bHVtbiBkYXRhcGF0aF9iaW5kaW5nIF91dWlkIGV4dGVybmFsX2lkczpuYW1lPWxyMCkKKytscnAy PSQoZmV0Y2hfY29sdW1uIHBvcnRfYmluZGluZyBfdXVpZCBsb2dpY2FsX3BvcnQ9bHJwMikKKyts cnAzPSQoZmV0Y2hfY29sdW1uIHBvcnRfYmluZGluZyBfdXVpZCBsb2dpY2FsX3BvcnQ9bHJwMykK KysKKytjaGVja191dWlkIG92bi1zYmN0bCBjcmVhdGUgTGVhcm5lZF9Sb3V0ZSBcCisrICAgIGRh dGFwYXRoPSRkYXRhcGF0aCAgICAgICAgICAgICAgICAgICAgXAorKyAgICBsb2dpY2FsX3BvcnQ9 JGxycDIgICAgICAgICAgICAgICAgICAgIFwKKysgICAgaXBfcHJlZml4PTQyLjQyLjQyLjQyLzMy ICAgICAgICAgICAgICBcCisrICAgIG5leHRob3A9MTkyLjE2OC4yLjQyCisrY2hlY2sgb3ZuLW5i Y3RsIC0td2FpdD1zYiBzeW5jCisrCisrb3ZuLXNiY3RsIGR1bXAtZmxvd3MgbHIwID4gbHIwZmxv d3MKKytBVF9DSEVDSyhbZ3JlcCAtRiAiNDIuNDIuNDIuNDIiIGxyMGZsb3dzIHwgb3ZuX3N0cmlw X2xmbG93c10sIFswXSwgW2RubAorKyAgdGFibGU9Pz8obHJfaW5faXBfcm91dGluZyAgICksIHBy aW9yaXR5PTI1OCAgLCBtYXRjaD0ocmVnNyA9PSAwICYmIGlwNC5kc3QgPT0gNDIuNDIuNDIuNDIv MzIpLCBhY3Rpb249KGlwLnR0bC0tOyByZWc4W1swLi4xNV1dID0gMDsgcmVnMCA9IDE5Mi4xNjgu Mi40MjsgZXRoLnNyYyA9IDAwOjAwOjAwOjAwOmZmOjAyOyBvdXRwb3J0ID0gImxycDIiOyBmbGFn cy5sb29wYmFjayA9IDE7IHJlZzlbWzldXSA9IDE7IG5leHQ7KQorK10pCisrCisrY2hlY2tfdXVp ZCBvdm4tc2JjdGwgY3JlYXRlIExlYXJuZWRfUm91dGUgXAorKyAgICBkYXRhcGF0aD0kZGF0YXBh dGggICAgICAgICAgICAgICAgICAgIFwKKysgICAgbG9naWNhbF9wb3J0PSRscnAzICAgICAgICAg ICAgICAgICAgICBcCisrICAgIGlwX3ByZWZpeD00Mi40Mi40Mi40Mi8zMiAgICAgICAgICAgICAg XAorKyAgICBuZXh0aG9wPTE5Mi4xNjguMy40MgorK2NoZWNrIG92bi1uYmN0bCAtLXdhaXQ9c2Ig c3luYworKworK292bi1zYmN0bCBkdW1wLWZsb3dzIGxyMCA+IGxyMGZsb3dzCisrQVRfQ0hFQ0so W2dyZXAgLXcgImxyX2luX2lwX3JvdXRpbmciIGxyMGZsb3dzIHwgZ3JlcCAtRiAiNDIuNDIuNDIu NDIiIHwgb3ZuX3N0cmlwX2xmbG93c10sIFswXSwgW2RubAorKyAgdGFibGU9Pz8obHJfaW5faXBf cm91dGluZyAgICksIHByaW9yaXR5PTI1OCAgLCBtYXRjaD0ocmVnNyA9PSAwICYmIGlwNC5kc3Qg PT0gNDIuNDIuNDIuNDIvMzIpLCBhY3Rpb249KGlwLnR0bC0tOyBmbGFncy5sb29wYmFjayA9IDE7 IHJlZzhbWzAuLjE1XV0gPSAxOyByZWc4W1sxNi4uMzFdXSA9IHNlbGVjdCgxLCAyKTspCisrXSkK KysKKytBVF9DSEVDSyhbZ3JlcCAibHJfaW5faXBfcm91dGluZ19lY21wIiBscjBmbG93cyB8IGdy ZXAgIjQyIiB8IHNlZCAtZSAncy9yZWc4XFtbMTYuLjMxXF1dID09IFtbMTJdXS9yZWc4XFtbMTYu LjMxXF1dID09ID8/L2cnIHwgb3ZuX3N0cmlwX2xmbG93c10sIFswXSwgW2RubAorKyAgdGFibGU9 Pz8obHJfaW5faXBfcm91dGluZ19lY21wKSwgcHJpb3JpdHk9MTAwICAsIG1hdGNoPShyZWc4W1sw Li4xNV1dID09IDEgJiYgcmVnOFtbMTYuLjMxXV0gPT0gPz8pLCBhY3Rpb249KHJlZzAgPSAxOTIu MTY4LjIuNDI7IGV0aC5zcmMgPSAwMDowMDowMDowMDpmZjowMjsgb3V0cG9ydCA9ICJscnAyIjsg cmVnOVtbOV1dID0gMTsgbmV4dDspCisrICB0YWJsZT0/Pyhscl9pbl9pcF9yb3V0aW5nX2VjbXAp LCBwcmlvcml0eT0xMDAgICwgbWF0Y2g9KHJlZzhbWzAuLjE1XV0gPT0gMSAmJiByZWc4W1sxNi4u MzFdXSA9PSA/PyksIGFjdGlvbj0ocmVnMCA9IDE5Mi4xNjguMy40MjsgZXRoLnNyYyA9IDAwOjAw OjAwOjAwOmZmOjAzOyBvdXRwb3J0ID0gImxycDMiOyByZWc5W1s5XV0gPSAxOyBuZXh0OykKKytd KQorKworK09WTl9DTEVBTlVQX05PUlRIRAorK0FUX0NMRUFOVVAKKytdKQorKworIE9WTl9GT1Jf RUFDSF9OT1JUSERfTk9fSFYoWworIEFUX1NFVFVQKFtkeW5hbWljLXJvdXRpbmcgLSByb3V0ZSBs ZWFybmluZyBjbGVhbnVwIC0gcm91dGVyIHJlY3JlYXRpb25dKQorIEFUX0tFWVdPUkRTKFtkeW5h bWljLXJvdXRpbmddKQorQEAgLTE4NDY3LDYgKzE4NjI2LDI2IEBAIE9WTl9DTEVBTlVQX05PUlRI RAorIEFUX0NMRUFOVVAKKyBdKQorIAorK09WTl9GT1JfRUFDSF9OT1JUSERfTk9fSFYoWworK0FU X1NFVFVQKFtEYXRhcGF0aCBpbmNyZW1lbnRhbCBwcm9jZXNzaW5nIGluZGV4IHJldXNlXSkKKytv dm5fc3RhcnQKKysKKytjaGVjayBvdm4tbmJjdGwgLS13YWl0PXNiIGxzLWFkZCBzdy1vbGQKKytj aGVjayBhcyBub3J0aGQgb3ZuLWFwcGN0bCAtdCBvdm4tbm9ydGhkIGluYy1lbmdpbmUvY2xlYXIt c3RhdHMKKytjaGVjayBvdm4tbmJjdGwgLS13YWl0PXNiIGxzLWRlbCBzdy1vbGQgLS0gbHMtYWRk IHN3LW5ldworK2NoZWNrX2VuZ2luZV9jb21wdXRlIG5vcnRoZCByZWNvbXB1dGUKKytDSEVDS19O T19DSEFOR0VfQUZURVJfUkVDT01QVVRFCisrCisrY2hlY2sgb3ZuLW5iY3RsIC0td2FpdD1zYiBs ci1hZGQgbHItb2xkCisrY2hlY2sgYXMgbm9ydGhkIG92bi1hcHBjdGwgLXQgb3ZuLW5vcnRoZCBp bmMtZW5naW5lL2NsZWFyLXN0YXRzCisrY2hlY2sgb3ZuLW5iY3RsIC0td2FpdD1zYiBsci1kZWwg bHItb2xkIC0tIGxyLWFkZCBsci1uZXcKKytjaGVja19lbmdpbmVfY29tcHV0ZSBub3J0aGQgcmVj b21wdXRlCisrQ0hFQ0tfTk9fQ0hBTkdFX0FGVEVSX1JFQ09NUFVURQorKworK09WTl9DTEVBTlVQ X05PUlRIRAorK0FUX0NMRUFOVVAKKytdKQorKworIE9WTl9GT1JfRUFDSF9OT1JUSERfTk9fSFYo WworIEFUX1NFVFVQKFtTeW5jZWQgbG9naWNhbCBzd2l0Y2ggYW5kIHJvdXRlciBpbmNyZW1lbnRh bCBwcm9jZXNlc2luZ10pCisgb3ZuX3N0YXJ0CitAQCAtMTkzNDUsNiArMTk1MjQsNyBAQCBjaGVj ayBvdm4tbmJjdGwgbHMtYWRkICRuZnN3CisgZm9yIGkgaW4gezEuLjR9OyBkbworICAgICBwb3J0 PSRuZnN3LXAkaQorICAgICBjaGVjayBvdm4tbmJjdGwgbHNwLWFkZCAkbmZzdyAkcG9ydAorKyAg ICBjaGVjayBvdm4tbmJjdGwgLS13YWl0PXNiIHN5bmMKKyAgICAgY2hlY2sgb3ZuLXNiY3RsIHNl dCBwb3J0X2JpbmRpbmcgJHBvcnQgdXA9dHJ1ZQorICAgICBjaGVjayBvdm4tbmJjdGwgbHNwLWFk ZCAkc3cgY2hpbGQtJGkgJHBvcnQgMTAwCisgZG9uZQorQEAgLTE5NjkzLDE3NyArMTk4NzMsNiBA QCBPVk5fQ0xFQU5VUF9OT1JUSEQKKyBBVF9DTEVBTlVQCisgXSkKKyAKKy1PVk5fRk9SX0VBQ0hf Tk9SVEhEX05PX0hWKFsKKy1BVF9TRVRVUChbTG9naWNhbCBTd2l0Y2ggQVJQIGZpbHRlcmluZ10p Cistb3ZuX3N0YXJ0CistCistY2hlY2sgb3ZuLW5iY3RsIGxyLWFkZCBscjEKKy1jaGVjayBvdm4t bmJjdGwgbHJwLWFkZCBscjEgZG93bl9saW5rIGYwOjAwOjAwOjAwOjAwOmYxIDE5Mi4xNjguMS4x LzI0CistCistY2hlY2sgb3ZuLW5iY3RsIGxzLWFkZCBsczEKKy1jaGVjayBvdm4tbmJjdGwgbHNw LWFkZCBsczEgdXBfbGluaworLWNoZWNrIG92bi1uYmN0bCBsc3AtYWRkIGxzMSBkb3duX3ZpZjEK Ky1jaGVjayBvdm4tbmJjdGwgbHNwLWFkZCBsczEgZG93bl92aWYyCistY2hlY2sgb3ZuLW5iY3Rs IGxzcC1hZGQgbHMxIGRvd25fZXh0CistCistY2hlY2sgb3ZuLW5iY3RsIHNldCBMb2dpY2FsX1N3 aXRjaF9Qb3J0IHVwX2xpbmsgXAorLSAgICB0eXBlPXJvdXRlciBcCistICAgIG9wdGlvbnM6cm91 dGVyLXBvcnQ9ZG93bl9saW5rIFwKKy0gICAgYWRkcmVzc2VzPXJvdXRlcgorLQorLWNoZWNrIG92 bi1uYmN0bCBsc3Atc2V0LWFkZHJlc3NlcyBkb3duX3ZpZjEgJ2YwOjAwOjAwOjAwOjAwOjAxIDE5 Mi4xNjguMS4xMDEnCistY2hlY2sgb3ZuLW5iY3RsIGxzcC1zZXQtYWRkcmVzc2VzIGRvd25fdmlm MiAnZjA6MDA6MDA6MDA6MDA6MDIgMTkyLjE2OC4xLjEwMicKKy1jaGVjayBvdm4tbmJjdGwgbHJw LXNldC1nYXRld2F5LWNoYXNzaXMgZG93bl9saW5rIGh2MQorLWNoZWNrIG92bi1uYmN0bCAtLXdh aXQ9c2Igc3luYworLUFUX0NIRUNLKFtvdm4tc2JjdGwgbGZsb3ctbGlzdCBsczEgfCBncmVwIGxz X2luX2FwcGx5X3BvcnRfc2VjIHwgb3ZuX3N0cmlwX2xmbG93c10sIFswXSwgW2RubAorLSAgdGFi bGU9Pz8obHNfaW5fYXBwbHlfcG9ydF9zZWMpLCBwcmlvcml0eT0wICAgICwgbWF0Y2g9KDEpLCBh Y3Rpb249KG5leHQ7KQorLSAgdGFibGU9Pz8obHNfaW5fYXBwbHlfcG9ydF9zZWMpLCBwcmlvcml0 eT01MCAgICwgbWF0Y2g9KHJlZzBbWzE1XV0gPT0gMSksIGFjdGlvbj0oZHJvcDspCistXSkKKy0K Ky0jIENoZWNrIGxvY2FsbmV0IHBvcnQgYWRkaW5ncyB0cmlnZ2VyIGxzLWFycCBmbG93CistY2hl Y2sgb3ZuLW5iY3RsIC0td2FpdD1zYiBsc3Atc2V0LXR5cGUgZG93bl9leHQgbG9jYWxuZXQKKy1B VF9DSEVDSyhbb3ZuLXNiY3RsIGxmbG93LWxpc3QgbHMxIHwgZ3JlcCBsc19pbl9hcHBseV9wb3J0 X3NlYyB8IG92bl9zdHJpcF9sZmxvd3NdLCBbMF0sIFtkbmwKKy0gIHRhYmxlPT8/KGxzX2luX2Fw cGx5X3BvcnRfc2VjKSwgcHJpb3JpdHk9MCAgICAsIG1hdGNoPSgxKSwgYWN0aW9uPShuZXh0OykK Ky0gIHRhYmxlPT8/KGxzX2luX2FwcGx5X3BvcnRfc2VjKSwgcHJpb3JpdHk9NTAgICAsIG1hdGNo PShyZWcwW1sxNV1dID09IDEpLCBhY3Rpb249KGRyb3A7KQorLSAgdGFibGU9Pz8obHNfaW5fYXBw bHlfcG9ydF9zZWMpLCBwcmlvcml0eT03MCAgICwgbWF0Y2g9KHJlZzBbWzIyXV0gPT0gMSksIGFj dGlvbj0oZHJvcDspCistICB0YWJsZT0/Pyhsc19pbl9hcHBseV9wb3J0X3NlYyksIHByaW9yaXR5 PTc1ICAgLCBtYXRjaD0ocmVnMFtbMjJdXSA9PSAxICYmIGlzX2NoYXNzaXNfcmVzaWRlbnQoImNy LWRvd25fbGluayIpKSwgYWN0aW9uPShuZXh0OykKKy1dKQorLQorLSMgQ2hlY2sgbmF0IGFkZGlu ZyB0byBkZ3IgYXR0YWNoZWQgdG8gbG9naWNhbCBzd2l0Y2ggdHJpZ2dlciBscy1hcnAgZmxvdy4K Ky1jaGVjayBvdm4tbmJjdGwgbHItbmF0LWFkZCBscjEgZG5hdF9hbmRfc25hdCAxOTIuMTY4LjAu NCAxMC4wLjAuNAorLWNoZWNrIG92bi1uYmN0bCBsci1uYXQtYWRkIGxyMSBkbmF0X2FuZF9zbmF0 IDE5Mi4xNjguMC4zIDEwLjAuMC4zIGRvd25fdmlmMSBmMDowMDowMDowMDowMDowMworLWNoZWNr IG92bi1uYmN0bCAtLXdhaXQ9c2Igc3luYworLUFUX0NIRUNLKFtvdm4tc2JjdGwgbGZsb3ctbGlz dCBsczEgfCBncmVwIGxzX2luX2FwcGx5X3BvcnRfc2VjIHwgb3ZuX3N0cmlwX2xmbG93c10sIFsw XSwgW2RubAorLSAgdGFibGU9Pz8obHNfaW5fYXBwbHlfcG9ydF9zZWMpLCBwcmlvcml0eT0wICAg ICwgbWF0Y2g9KDEpLCBhY3Rpb249KG5leHQ7KQorLSAgdGFibGU9Pz8obHNfaW5fYXBwbHlfcG9y dF9zZWMpLCBwcmlvcml0eT01MCAgICwgbWF0Y2g9KHJlZzBbWzE1XV0gPT0gMSksIGFjdGlvbj0o ZHJvcDspCistICB0YWJsZT0/Pyhsc19pbl9hcHBseV9wb3J0X3NlYyksIHByaW9yaXR5PTcwICAg LCBtYXRjaD0ocmVnMFtbMjJdXSA9PSAxKSwgYWN0aW9uPShkcm9wOykKKy0gIHRhYmxlPT8/KGxz X2luX2FwcGx5X3BvcnRfc2VjKSwgcHJpb3JpdHk9NzUgICAsIG1hdGNoPShyZWcwW1syMl1dID09 IDEgJiYgaXNfY2hhc3Npc19yZXNpZGVudCgiY3ItZG93bl9saW5rIikpLCBhY3Rpb249KG5leHQ7 KQorLSAgdGFibGU9Pz8obHNfaW5fYXBwbHlfcG9ydF9zZWMpLCBwcmlvcml0eT04NSAgICwgbWF0 Y2g9KHJlZzBbWzIyXV0gPT0gMSAmJiBhcnAudHBhID09IDE5Mi4xNjguMC4zICYmIGlzX2NoYXNz aXNfcmVzaWRlbnQoImRvd25fdmlmMSIpKSwgYWN0aW9uPShuZXh0OykKKy1dKQorLQorLWNoZWNr IG92bi1uYmN0bCAtLXdhaXQ9c2IgbHItbmF0LWRlbCBscjEgZG5hdF9hbmRfc25hdCAxOTIuMTY4 LjAuMworLUFUX0NIRUNLKFtvdm4tc2JjdGwgbGZsb3ctbGlzdCBsczEgfCBncmVwIGxzX2luX2Fw cGx5X3BvcnRfc2VjIHwgb3ZuX3N0cmlwX2xmbG93c10sIFswXSwgW2RubAorLSAgdGFibGU9Pz8o bHNfaW5fYXBwbHlfcG9ydF9zZWMpLCBwcmlvcml0eT0wICAgICwgbWF0Y2g9KDEpLCBhY3Rpb249 KG5leHQ7KQorLSAgdGFibGU9Pz8obHNfaW5fYXBwbHlfcG9ydF9zZWMpLCBwcmlvcml0eT01MCAg ICwgbWF0Y2g9KHJlZzBbWzE1XV0gPT0gMSksIGFjdGlvbj0oZHJvcDspCistICB0YWJsZT0/Pyhs c19pbl9hcHBseV9wb3J0X3NlYyksIHByaW9yaXR5PTcwICAgLCBtYXRjaD0ocmVnMFtbMjJdXSA9 PSAxKSwgYWN0aW9uPShkcm9wOykKKy0gIHRhYmxlPT8/KGxzX2luX2FwcGx5X3BvcnRfc2VjKSwg cHJpb3JpdHk9NzUgICAsIG1hdGNoPShyZWcwW1syMl1dID09IDEgJiYgaXNfY2hhc3Npc19yZXNp ZGVudCgiY3ItZG93bl9saW5rIikpLCBhY3Rpb249KG5leHQ7KQorLV0pCistCistIyBDaGVjayBj aGFuZ2luZyBsb2dpY2FsIHBvcnQgdHlwZSB0byBsMmdhdGV3YXkuCistY2hlY2sgb3ZuLW5iY3Rs IC0td2FpdD1zYiBsc3Atc2V0LXR5cGUgZG93bl9leHQgbDJnYXRld2F5CistQVRfQ0hFQ0soW292 bi1zYmN0bCBsZmxvdy1saXN0IGxzMSB8IGdyZXAgbHNfaW5fYXBwbHlfcG9ydF9zZWMgfCBvdm5f c3RyaXBfbGZsb3dzXSwgWzBdLCBbZG5sCistICB0YWJsZT0/Pyhsc19pbl9hcHBseV9wb3J0X3Nl YyksIHByaW9yaXR5PTAgICAgLCBtYXRjaD0oMSksIGFjdGlvbj0obmV4dDspCistICB0YWJsZT0/ Pyhsc19pbl9hcHBseV9wb3J0X3NlYyksIHByaW9yaXR5PTUwICAgLCBtYXRjaD0ocmVnMFtbMTVd XSA9PSAxKSwgYWN0aW9uPShkcm9wOykKKy0gIHRhYmxlPT8/KGxzX2luX2FwcGx5X3BvcnRfc2Vj KSwgcHJpb3JpdHk9NzAgICAsIG1hdGNoPShyZWcwW1syMl1dID09IDEpLCBhY3Rpb249KGRyb3A7 KQorLSAgdGFibGU9Pz8obHNfaW5fYXBwbHlfcG9ydF9zZWMpLCBwcmlvcml0eT03NSAgICwgbWF0 Y2g9KHJlZzBbWzIyXV0gPT0gMSAmJiBpc19jaGFzc2lzX3Jlc2lkZW50KCJjci1kb3duX2xpbmsi KSksIGFjdGlvbj0obmV4dDspCistXSkKKy0KKy0jIENoZWNrIGNoYW5naW5nIGxvZ2ljYWwgcG9y dCB0eXBlIHRvIHZpZi4KKy1jaGVjayBvdm4tbmJjdGwgLS13YWl0PXNiIGxzcC1zZXQtdHlwZSBk b3duX2V4dCAnJworLUFUX0NIRUNLKFtvdm4tc2JjdGwgbGZsb3ctbGlzdCBsczEgfCBncmVwIGxz X2luX2FwcGx5X3BvcnRfc2VjIHwgb3ZuX3N0cmlwX2xmbG93c10sIFswXSwgW2RubAorLSAgdGFi bGU9Pz8obHNfaW5fYXBwbHlfcG9ydF9zZWMpLCBwcmlvcml0eT0wICAgICwgbWF0Y2g9KDEpLCBh Y3Rpb249KG5leHQ7KQorLSAgdGFibGU9Pz8obHNfaW5fYXBwbHlfcG9ydF9zZWMpLCBwcmlvcml0 eT01MCAgICwgbWF0Y2g9KHJlZzBbWzE1XV0gPT0gMSksIGFjdGlvbj0oZHJvcDspCistXSkKKy0K Ky0jIENoZWNrIGNoYW5naW5nIGxvZ2ljYWwgcG9ydCB0eXBlIGJhY2sgdG8gbG9jYWxuZXQuCist Y2hlY2sgb3ZuLW5iY3RsIC0td2FpdD1zYiBsc3Atc2V0LXR5cGUgZG93bl9leHQgbG9jYWxuZXQK Ky1BVF9DSEVDSyhbb3ZuLXNiY3RsIGxmbG93LWxpc3QgbHMxIHwgZ3JlcCBsc19pbl9hcHBseV9w b3J0X3NlYyB8IG92bl9zdHJpcF9sZmxvd3NdLCBbMF0sIFtkbmwKKy0gIHRhYmxlPT8/KGxzX2lu X2FwcGx5X3BvcnRfc2VjKSwgcHJpb3JpdHk9MCAgICAsIG1hdGNoPSgxKSwgYWN0aW9uPShuZXh0 OykKKy0gIHRhYmxlPT8/KGxzX2luX2FwcGx5X3BvcnRfc2VjKSwgcHJpb3JpdHk9NTAgICAsIG1h dGNoPShyZWcwW1sxNV1dID09IDEpLCBhY3Rpb249KGRyb3A7KQorLSAgdGFibGU9Pz8obHNfaW5f YXBwbHlfcG9ydF9zZWMpLCBwcmlvcml0eT03MCAgICwgbWF0Y2g9KHJlZzBbWzIyXV0gPT0gMSks IGFjdGlvbj0oZHJvcDspCistICB0YWJsZT0/Pyhsc19pbl9hcHBseV9wb3J0X3NlYyksIHByaW9y aXR5PTc1ICAgLCBtYXRjaD0ocmVnMFtbMjJdXSA9PSAxICYmIGlzX2NoYXNzaXNfcmVzaWRlbnQo ImNyLWRvd25fbGluayIpKSwgYWN0aW9uPShuZXh0OykKKy1dKQorLQorLSMgQ2hlY2sgY2hhbmdp bmcgcmVtb3ZpbmcgbG9naWNhbCBwb3J0LgorLWNoZWNrIG92bi1uYmN0bCAtLXdhaXQ9c2IgbHNw LWRlbCBkb3duX2V4dAorLUFUX0NIRUNLKFtvdm4tc2JjdGwgbGZsb3ctbGlzdCBsczEgfCBncmVw IGxzX2luX2FwcGx5X3BvcnRfc2VjIHwgb3ZuX3N0cmlwX2xmbG93c10sIFswXSwgW2RubAorLSAg dGFibGU9Pz8obHNfaW5fYXBwbHlfcG9ydF9zZWMpLCBwcmlvcml0eT0wICAgICwgbWF0Y2g9KDEp LCBhY3Rpb249KG5leHQ7KQorLSAgdGFibGU9Pz8obHNfaW5fYXBwbHlfcG9ydF9zZWMpLCBwcmlv cml0eT01MCAgICwgbWF0Y2g9KHJlZzBbWzE1XV0gPT0gMSksIGFjdGlvbj0oZHJvcDspCistXSkK Ky0KKy1PVk5fQ0xFQU5VUF9OT1JUSEQKKy1BVF9DTEVBTlVQCistXSkKKy0KKy1PVk5fRk9SX0VB Q0hfTk9SVEhEX05PX0hWKFsKKy1BVF9TRVRVUChbTG9naWNhbCBTd2l0Y2ggQVJQIGZpbHRlcmlu ZyAtIG9ubHkgZGlzdHJpYnV0ZWQgTkFUc10pCistb3ZuX3N0YXJ0CistCistY2hlY2sgb3ZuLXNi Y3RsIGNoYXNzaXMtYWRkIGNoMSBnZW5ldmUgMTI3LjAuMC4xCistCistY2hlY2sgb3ZuLW5iY3Rs IGxzLWFkZCBzdzAKKy1jaGVjayBvdm4tbmJjdGwgbHNwLWFkZCBzdzAgc3cwLXBvcnQxCistY2hl Y2sgb3ZuLW5iY3RsIGxzcC1zZXQtYWRkcmVzc2VzIHN3MC1wb3J0MSAiNTA6NTQ6MDA6MDA6MDA6 MDMgMTAuMC4wLjMgMTAuMC4wLjUiCistY2hlY2sgb3ZuLW5iY3RsIGxzcC1hZGQgc3cwIHN3MC1w b3J0MgorLWNoZWNrIG92bi1uYmN0bCBsc3Atc2V0LWFkZHJlc3NlcyBzdzAtcG9ydDIgIjUwOjU0 OjAwOjAwOjAwOjA0IDEwLjAuMC40IDEwLjAuMC42IgorLQorLSMgQ3JlYXRlIGEgbG9naWNhbCBy b3V0ZXIgYW5kIGF0dGFjaCBib3RoIGxvZ2ljYWwgc3dpdGNoZXMKKy1jaGVjayBvdm4tbmJjdGwg bHItYWRkIGxyMAorLWNoZWNrIG92bi1uYmN0bCBscnAtYWRkIGxyMCBscjAtc3cwIDAwOjAwOjAw OjAwOmZmOjAxIDEwLjAuMC4xLzI0IDEwMDA6OmEvNjQKKy1jaGVjayBvdm4tbmJjdGwgbHNwLWFk ZC1yb3V0ZXItcG9ydCBzdzAgc3cwLWxyMCBscjAtc3cwCistCistCistY2hlY2sgb3ZuLW5iY3Rs IGxzLWFkZCBwdWJsaWMKKy1jaGVjayBvdm4tbmJjdGwgbHJwLWFkZCBscjAgbHIwLXB1YmxpYyAw MDowMDoyMDoyMDoxMjoxMyAxNzIuMTY4LjAuMTAwLzI0CistY2hlY2sgb3ZuLW5iY3RsIGxzcC1h ZGQgcHVibGljIHB1YmxpYy1scjAgLS0gc2V0IExvZ2ljYWxfU3dpdGNoX1BvcnQgcHVibGljLWxy MCBcCistICAgIHR5cGU9cm91dGVyIG9wdGlvbnM6cm91dGVyLXBvcnQ9bHIwLXB1YmxpYyBcCist ICAgIC0tIGxzcC1zZXQtYWRkcmVzc2VzIHB1YmxpYy1scjAgcm91dGVyCistCistY2hlY2sgb3Zu LW5iY3RsIGxycC1zZXQtZ2F0ZXdheS1jaGFzc2lzIGxyMC1wdWJsaWMgaHYxCistCistIyBsb2Nh bG5ldCBwb3J0CistY2hlY2sgb3ZuLW5iY3RsIGxzcC1hZGQtbG9jYWxuZXQtcG9ydCBwdWJsaWMg bG4tcHVibGljIHB1YmxpYworLQorLWNoZWNrIG92bi1uYmN0bCBsci1uYXQtYWRkIGxyMCBkbmF0 X2FuZF9zbmF0IDE3Mi4xNjguMC41MCAxMC4wLjAuMyBzdzAtcG9ydDEgZjA6MDA6MDA6MDA6MDA6 MDMKKy1jaGVjayBvdm4tbmJjdGwgbHItbmF0LWFkZCBscjAgZG5hdF9hbmRfc25hdCAxNzIuMTY4 LjAuNTUgMTAuMC4wLjUgc3cwLXBvcnQxIGYwOjAwOjAwOjAwOjAwOjAzCistY2hlY2sgb3ZuLW5i Y3RsIGxyLW5hdC1hZGQgbHIwIGRuYXRfYW5kX3NuYXQgMTcyLjE2OC4wLjYwIDEwLjAuMC40IHN3 MC1wb3J0MiBmMDowMDowMDowMDowMDowNAorLWNoZWNrIG92bi1uYmN0bCBsci1uYXQtYWRkIGxy MCBkbmF0X2FuZF9zbmF0IDE3Mi4xNjguMC42NiAxMC4wLjAuNiBzdzAtcG9ydDIgZjA6MDA6MDA6 MDA6MDA6MDQKKy0KKy1jaGVjayBvdm4tbmJjdGwgLS13YWl0PXNiIHN5bmMKKy0KKy1BVF9DSEVD Syhbb3ZuLXNiY3RsIGxmbG93LWxpc3QgcHVibGljIHwgZ3JlcCBsc19pbl9hcHBseV9wb3J0X3Nl YyB8IG92bl9zdHJpcF9sZmxvd3NdLCBbMF0sIFtkbmwKKy0gIHRhYmxlPT8/KGxzX2luX2FwcGx5 X3BvcnRfc2VjKSwgcHJpb3JpdHk9MCAgICAsIG1hdGNoPSgxKSwgYWN0aW9uPShuZXh0OykKKy0g IHRhYmxlPT8/KGxzX2luX2FwcGx5X3BvcnRfc2VjKSwgcHJpb3JpdHk9NTAgICAsIG1hdGNoPShy ZWcwW1sxNV1dID09IDEpLCBhY3Rpb249KGRyb3A7KQorLSAgdGFibGU9Pz8obHNfaW5fYXBwbHlf cG9ydF9zZWMpLCBwcmlvcml0eT03MCAgICwgbWF0Y2g9KHJlZzBbWzIyXV0gPT0gMSksIGFjdGlv bj0oZHJvcDspCistICB0YWJsZT0/Pyhsc19pbl9hcHBseV9wb3J0X3NlYyksIHByaW9yaXR5PTc1 ICAgLCBtYXRjaD0ocmVnMFtbMjJdXSA9PSAxICYmIGlzX2NoYXNzaXNfcmVzaWRlbnQoImNyLWxy MC1wdWJsaWMiKSksIGFjdGlvbj0obmV4dDspCistICB0YWJsZT0/Pyhsc19pbl9hcHBseV9wb3J0 X3NlYyksIHByaW9yaXR5PTg1ICAgLCBtYXRjaD0ocmVnMFtbMjJdXSA9PSAxICYmIGFycC50cGEg PT0gMTcyLjE2OC4wLjUwICYmIGlzX2NoYXNzaXNfcmVzaWRlbnQoInN3MC1wb3J0MSIpKSwgYWN0 aW9uPShuZXh0OykKKy0gIHRhYmxlPT8/KGxzX2luX2FwcGx5X3BvcnRfc2VjKSwgcHJpb3JpdHk9 ODUgICAsIG1hdGNoPShyZWcwW1syMl1dID09IDEgJiYgYXJwLnRwYSA9PSAxNzIuMTY4LjAuNTUg JiYgaXNfY2hhc3Npc19yZXNpZGVudCgic3cwLXBvcnQxIikpLCBhY3Rpb249KG5leHQ7KQorLSAg dGFibGU9Pz8obHNfaW5fYXBwbHlfcG9ydF9zZWMpLCBwcmlvcml0eT04NSAgICwgbWF0Y2g9KHJl ZzBbWzIyXV0gPT0gMSAmJiBhcnAudHBhID09IDE3Mi4xNjguMC42MCAmJiBpc19jaGFzc2lzX3Jl c2lkZW50KCJzdzAtcG9ydDIiKSksIGFjdGlvbj0obmV4dDspCistICB0YWJsZT0/Pyhsc19pbl9h cHBseV9wb3J0X3NlYyksIHByaW9yaXR5PTg1ICAgLCBtYXRjaD0ocmVnMFtbMjJdXSA9PSAxICYm IGFycC50cGEgPT0gMTcyLjE2OC4wLjY2ICYmIGlzX2NoYXNzaXNfcmVzaWRlbnQoInN3MC1wb3J0 MiIpKSwgYWN0aW9uPShuZXh0OykKKy1dKQorLQorLW92bi1uYmN0bCBzaG93Cistb3ZuLXNiY3Rs IHNob3cKKy0KKy1jaGVjayBvdm4tbmJjdGwgY2xlYXIgbG9naWNhbF9yb3V0ZXJfcG9ydCBscjAt cHVibGljIGdhdGV3YXlfY2hhc3NpcworLWNoZWNrIG92bi1uYmN0bCAtLXdhaXQ9c2Igc3luYwor LQorLUFUX0NIRUNLKFtvdm4tc2JjdGwgbGZsb3ctbGlzdCBwdWJsaWMgfCBncmVwIGxzX2luX2Fw cGx5X3BvcnRfc2VjIHwgb3ZuX3N0cmlwX2xmbG93c10sIFswXSwgW2RubAorLSAgdGFibGU9Pz8o bHNfaW5fYXBwbHlfcG9ydF9zZWMpLCBwcmlvcml0eT0wICAgICwgbWF0Y2g9KDEpLCBhY3Rpb249 KG5leHQ7KQorLSAgdGFibGU9Pz8obHNfaW5fYXBwbHlfcG9ydF9zZWMpLCBwcmlvcml0eT01MCAg ICwgbWF0Y2g9KHJlZzBbWzE1XV0gPT0gMSksIGFjdGlvbj0oZHJvcDspCistXSkKKy0KKy1jaGVj ayBvdm4tbmJjdGwgLS13YWl0PXNiIGhhLWNoYXNzaXMtZ3JvdXAtYWRkIGhhZ3JwMQorLWNoZWNr IG92bi1uYmN0bCAtLXdhaXQ9c2IgaGEtY2hhc3Npcy1ncm91cC1hZGQtY2hhc3NpcyBoYWdycDEg Y2gxIDMwCistaGFncnAxX3V1aWQ9JChmZXRjaF9jb2x1bW4gbmI6aGFfY2hhc3Npc19ncm91cCBf dXVpZCBuYW1lPWhhZ3JwMSkKKy1jaGVjayBvdm4tbmJjdGwgLS13YWl0PXNiIHNldCBsb2dpY2Fs X3JvdXRlcl9wb3J0IGxyMC1wdWJsaWMgaGFfY2hhc3Npc19ncm91cD0kaGFncnAxX3V1aWQKKy1j aGVjayBvdm4tbmJjdGwgLS13YWl0PXNiIHN5bmMKKy0KKy1BVF9DSEVDSyhbb3ZuLXNiY3RsIGxm bG93LWxpc3QgcHVibGljIHwgZ3JlcCBsc19pbl9hcHBseV9wb3J0X3NlYyB8IG92bl9zdHJpcF9s Zmxvd3NdLCBbMF0sIFtkbmwKKy0gIHRhYmxlPT8/KGxzX2luX2FwcGx5X3BvcnRfc2VjKSwgcHJp b3JpdHk9MCAgICAsIG1hdGNoPSgxKSwgYWN0aW9uPShuZXh0OykKKy0gIHRhYmxlPT8/KGxzX2lu X2FwcGx5X3BvcnRfc2VjKSwgcHJpb3JpdHk9NTAgICAsIG1hdGNoPShyZWcwW1sxNV1dID09IDEp LCBhY3Rpb249KGRyb3A7KQorLSAgdGFibGU9Pz8obHNfaW5fYXBwbHlfcG9ydF9zZWMpLCBwcmlv cml0eT03MCAgICwgbWF0Y2g9KHJlZzBbWzIyXV0gPT0gMSksIGFjdGlvbj0oZHJvcDspCistICB0 YWJsZT0/Pyhsc19pbl9hcHBseV9wb3J0X3NlYyksIHByaW9yaXR5PTc1ICAgLCBtYXRjaD0ocmVn MFtbMjJdXSA9PSAxICYmIGlzX2NoYXNzaXNfcmVzaWRlbnQoImNyLWxyMC1wdWJsaWMiKSksIGFj dGlvbj0obmV4dDspCistICB0YWJsZT0/Pyhsc19pbl9hcHBseV9wb3J0X3NlYyksIHByaW9yaXR5 PTg1ICAgLCBtYXRjaD0ocmVnMFtbMjJdXSA9PSAxICYmIGFycC50cGEgPT0gMTcyLjE2OC4wLjUw ICYmIGlzX2NoYXNzaXNfcmVzaWRlbnQoInN3MC1wb3J0MSIpKSwgYWN0aW9uPShuZXh0OykKKy0g IHRhYmxlPT8/KGxzX2luX2FwcGx5X3BvcnRfc2VjKSwgcHJpb3JpdHk9ODUgICAsIG1hdGNoPShy ZWcwW1syMl1dID09IDEgJiYgYXJwLnRwYSA9PSAxNzIuMTY4LjAuNTUgJiYgaXNfY2hhc3Npc19y ZXNpZGVudCgic3cwLXBvcnQxIikpLCBhY3Rpb249KG5leHQ7KQorLSAgdGFibGU9Pz8obHNfaW5f YXBwbHlfcG9ydF9zZWMpLCBwcmlvcml0eT04NSAgICwgbWF0Y2g9KHJlZzBbWzIyXV0gPT0gMSAm JiBhcnAudHBhID09IDE3Mi4xNjguMC42MCAmJiBpc19jaGFzc2lzX3Jlc2lkZW50KCJzdzAtcG9y dDIiKSksIGFjdGlvbj0obmV4dDspCistICB0YWJsZT0/Pyhsc19pbl9hcHBseV9wb3J0X3NlYyks IHByaW9yaXR5PTg1ICAgLCBtYXRjaD0ocmVnMFtbMjJdXSA9PSAxICYmIGFycC50cGEgPT0gMTcy LjE2OC4wLjY2ICYmIGlzX2NoYXNzaXNfcmVzaWRlbnQoInN3MC1wb3J0MiIpKSwgYWN0aW9uPShu ZXh0OykKKy1dKQorLQorLU9WTl9DTEVBTlVQX05PUlRIRAorLUFUX0NMRUFOVVAKKy1dKQorLQor IE9WTl9GT1JfRUFDSF9OT1JUSERfTk9fSFYoWworIEFUX1NFVFVQKFtJR01QIG5vcnRoZCBjcmFz aF0pCisgb3ZuX3N0YXJ0CitAQCAtMjAwODQsMTQgKzIwMDkzLDYgQEAgQVRfQ0hFQ0soW2NhdCBs cjFfbGZsb3dzX2JlZm9yZSB8IGdyZXAgbHJfaW5fZG5hdCB8IGdyZXAgcHJpb3JpdHk9MTIwIHwg b3ZuX3N0cmkKKyAgIHRhYmxlPT8/KGxyX2luX2RuYXQgICAgICAgICApLCBwcmlvcml0eT0xMjAg ICwgbWF0Y2g9KGN0Lm5ldyAmJiAhY3QucmVsICYmIGlwNiAmJiBpcDYuZHN0ID09IDIwMDA6OjEg JiYgcmVnMVtbMTYuLjIzXV0gPT0gNiAmJiByZWcxW1swLi4xNV1dID09IDgwICYmIGlzX2NoYXNz aXNfcmVzaWRlbnQoImNyLWxyMS11cCIpKSwgYWN0aW9uPShjdF9sYl9tYXJrKGJhY2tlbmRzPVtb MjAwMTpkYjg6YWJjZDoxOjoyXV06MTA4ODIpOykKKyBdKQorIAorLUFUX0NIRUNLKFtjYXQgb3V0 c2lkZV9sZmxvd3NfYmVmb3JlIHwgZ3JlcCBsc19pbl9jaGVja19wb3J0X3NlYyB8IGdyZXAgcHJp b3JpdHk9NzUgfCBvdm5fc3RyaXBfbGZsb3dzXSwgWzBdLCBbZG5sCistICB0YWJsZT0/Pyhsc19p bl9jaGVja19wb3J0X3NlYyksIHByaW9yaXR5PTc1ICAgLCBtYXRjaD0oYXJwLm9wID09IDEgJiYg aW5wb3J0ID09ICJvdXRzaWRlIiksIGFjdGlvbj0ocmVnMFtbMjJdXSA9IDE7IG5leHQ7KQorLV0p CistCistQVRfQ0hFQ0soW2NhdCBvdXRzaWRlX2xmbG93c19iZWZvcmUgfCBncmVwIGxzX2luX2Fw cGx5X3BvcnRfc2VjIHwgZ3JlcCBwcmlvcml0eT03NSB8IG92bl9zdHJpcF9sZmxvd3NdLCBbMF0s IFtkbmwKKy0gIHRhYmxlPT8/KGxzX2luX2FwcGx5X3BvcnRfc2VjKSwgcHJpb3JpdHk9NzUgICAs IG1hdGNoPShyZWcwW1syMl1dID09IDEgJiYgaXNfY2hhc3Npc19yZXNpZGVudCgiY3ItbHIxLXVw IikpLCBhY3Rpb249KG5leHQ7KQorLV0pCistCisgY2hlY2sgb3ZuLW5iY3RsIGNsZWFyIGxvZ2lj YWxfcm91dGVyX3BvcnQgJGxyMV91cF91dWlkIGhhX2NoYXNzaXNfZ3JvdXAKKyBjaGVjayBvdm4t bmJjdGwgaGEtY2hhc3Npcy1ncm91cC1kZWwgZ2F0ZXdheQorIGNoZWNrIG92bi1uYmN0bCBoYS1j aGFzc2lzLWdyb3VwLWFkZCBnYXRld2F5MgorQEAgLTIwMTQzLDE0ICsyMDE0NCw2IEBAIEFUX0NI RUNLKFtjYXQgbHIxX2xmbG93c19hZnRlciB8IGdyZXAgbHJfaW5fZG5hdCB8IGdyZXAgcHJpb3Jp dHk9MTIwIHwgb3ZuX3N0cmlwCisgICB0YWJsZT0/Pyhscl9pbl9kbmF0ICAgICAgICAgKSwgcHJp b3JpdHk9MTIwICAsIG1hdGNoPShjdC5uZXcgJiYgIWN0LnJlbCAmJiBpcDYgJiYgaXA2LmRzdCA9 PSAyMDAwOjoxICYmIHJlZzFbWzE2Li4yM11dID09IDYgJiYgcmVnMVtbMC4uMTVdXSA9PSA4MCAm JiBpc19jaGFzc2lzX3Jlc2lkZW50KCJjci1scjEtdXAiKSksIGFjdGlvbj0oY3RfbGJfbWFyayhi YWNrZW5kcz1bWzIwMDE6ZGI4OmFiY2Q6MTo6Ml1dOjEwODgyKTspCisgXSkKKyAKKy1BVF9DSEVD SyhbY2F0IG91dHNpZGVfbGZsb3dzX2FmdGVyIHwgZ3JlcCBsc19pbl9jaGVja19wb3J0X3NlYyB8 IGdyZXAgcHJpb3JpdHk9NzUgfCBvdm5fc3RyaXBfbGZsb3dzXSwgWzBdLCBbZG5sCistICB0YWJs ZT0/Pyhsc19pbl9jaGVja19wb3J0X3NlYyksIHByaW9yaXR5PTc1ICAgLCBtYXRjaD0oYXJwLm9w ID09IDEgJiYgaW5wb3J0ID09ICJvdXRzaWRlIiksIGFjdGlvbj0ocmVnMFtbMjJdXSA9IDE7IG5l eHQ7KQorLV0pCistCistQVRfQ0hFQ0soW2NhdCBvdXRzaWRlX2xmbG93c19hZnRlciB8IGdyZXAg bHNfaW5fYXBwbHlfcG9ydF9zZWMgfCBncmVwIHByaW9yaXR5PTc1IHwgb3ZuX3N0cmlwX2xmbG93 c10sIFswXSwgW2RubAorLSAgdGFibGU9Pz8obHNfaW5fYXBwbHlfcG9ydF9zZWMpLCBwcmlvcml0 eT03NSAgICwgbWF0Y2g9KHJlZzBbWzIyXV0gPT0gMSksIGFjdGlvbj0obmV4dDspCistXSkKKy0K KyBjaGVjayBvdm4tbmJjdGwgLS13YWl0PXNiIHNldCBsb2FkX2JhbGFuY2VyIGxiMV9pcHY2IG9w dGlvbnM6ZGlzdHJpYnV0ZWQ9dHJ1ZQorIAorIG92bi1zYmN0bCBsZmxvdy1saXN0IG91dHNpZGUg PiBvdXRzaWRlX2xmbG93c19hZnRlcgorZGlmZiAtLWdpdCBhL3Rlc3RzL292bi1wZXJmb3JtYW5j ZS5hdCBiL3Rlc3RzL292bi1wZXJmb3JtYW5jZS5hdAoraW5kZXggMmJjY2JiMDZkZC4uMTE0OTE3 ODMyYiAxMDA2NDQKKy0tLSBhL3Rlc3RzL292bi1wZXJmb3JtYW5jZS5hdAorKysrIGIvdGVzdHMv b3ZuLXBlcmZvcm1hbmNlLmF0CitAQCAtMzg2LDYgKzM4NiwxMyBAQCBmb3IgaSBpbiAxIDI7IGRv CisgICAgIGRvbmUKKyBkb25lCisgCisrIyBDaGVjayB0aGF0IGFkZGluZyBhIG5ldyBwb3J0IHdp dGggYSBub24tZGVmYXVsdCB0eXBlIGRvZXMgbm90IHRyaWdnZXIKKysjIGEgcGh5c2ljYWxfcnVu LgorK09WTl9DT05UUk9MTEVSX0VYUEVDVF9OT19ISVQoCisrICAgIFtodjEgaHYyXSwgW3BoeXNp Y2FsX3J1bl0sCisrICAgIFtvdm4tbmJjdGwgLS13YWl0PWh2IGxzcC1hZGQgbHMxIGxzcC1yZW1v dGUgLS0gbHNwLXNldC10eXBlIGxzcC1yZW1vdGUgcmVtb3RlXQorKykKKysKKyBmb3IgaSBpbiAx IDI7IGRvCisgICAgIGo9JCgoaSUyICsgMSkpCisgICAgIGFzPWFzJGkKK2RpZmYgLS1naXQgYS90 ZXN0cy9vdm4uYXQgYi90ZXN0cy9vdm4uYXQKK2luZGV4IGU2Y2I1OTk1YWYuLjVlMGVkMjYzNWUg MTAwNjQ0CistLS0gYS90ZXN0cy9vdm4uYXQKKysrKyBiL3Rlc3RzL292bi5hdAorQEAgLTEwMTg0 LDYgKzEwMTg0LDE5OSBAQCBPVk5fQ0xFQU5VUChbaHYxXSkKKyBBVF9DTEVBTlVQCisgXSkKKyAK KytPVk5fRk9SX0VBQ0hfTk9SVEhEKFsKKytBVF9TRVRVUChbQVJQL05EIGZyb20gbG9jYWxuZXQg LS0gcHJveHkgcmVwbHkgb24gcmVzaWRlbnQgY2hhc3NpcyBvbmx5XSkKKytBVF9TS0lQX0lGKFt0 ZXN0ICRIQVZFX1NDQVBZID0gbm9dKQorK292bl9zdGFydAorKworK2RubCBDcmVhdGUgbG9naWNh bCBzd2l0Y2ggd2l0aCBsb2NhbG5ldCBwb3J0LgorK2NoZWNrIG92bi1uYmN0bCBscy1hZGQgbHMx CisrY2hlY2sgb3ZuLW5iY3RsIGxzcC1hZGQtbG9jYWxuZXQtcG9ydCBsczEgbG4xIHBoeXNuZXQx CisrY2hlY2sgb3ZuLW5iY3RsIGxzcC1hZGQgbHMxIHZtMSBcCisrICAgIC0tIGxzcC1zZXQtYWRk cmVzc2VzIHZtMSAiZjA6MDA6MDA6MDA6MDA6MDEgMTAuMC4wLjEgZmQwMTo6MSIKKytjaGVjayBv dm4tbmJjdGwgbHNwLWFkZCBsczEgdm0yIFwKKysgICAgLS0gbHNwLXNldC1hZGRyZXNzZXMgdm0y ICJmMDowMDowMDowMDowMDowMiAxMC4wLjAuMiBmZDAxOjoyIgorKworK2RubCBUd28gaHlwZXJ2 aXNvcnMgd2l0aCBicmlkZ2UtbWFwcGluZ3MuCisrbmV0X2FkZCBuMQorKworK3NpbV9hZGQgaHYx CisrYXMgaHYxCisrb3ZzLXZzY3RsIFwKKysgICAgLS0gYWRkLWJyIGJyLXBoeXMgXAorKyAgICAt LSBhZGQtYnIgYnItZXRoMAorK292bl9hdHRhY2ggbjEgYnItcGh5cyAxOTIuMTY4LjAuMQorK2No ZWNrIG92cy12c2N0bCBzZXQgT3Blbl92U3dpdGNoIC4gZXh0ZXJuYWwtaWRzOm92bi1icmlkZ2Ut bWFwcGluZ3M9cGh5c25ldDE6YnItZXRoMAorK2NoZWNrIG92cy12c2N0bCBhZGQtcG9ydCBici1l dGgwIHNub29wdmlmMSBcCisrICAgIC0tIHNldCBJbnRlcmZhY2Ugc25vb3B2aWYxIG9wdGlvbnM6 dHhfcGNhcD1odjEvc25vb3B2aWYtdHgucGNhcCBcCisrICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBvcHRpb25zOnJ4cV9wY2FwPWh2MS9zbm9vcHZpZi1yeC5wY2FwCisrY2hlY2sgb3Zz LXZzY3RsIGFkZC1wb3J0IGJyLWludCB2bTEgXAorKyAgICAtLSBzZXQgSW50ZXJmYWNlIHZtMSBl eHRlcm5hbC1pZHM6aWZhY2UtaWQ9dm0xIFwKKysgICAgICAgICAgICAgICAgICAgICAgICAgb3B0 aW9uczp0eF9wY2FwPWh2MS92bTEtdHgucGNhcCBcCisrICAgICAgICAgICAgICAgICAgICAgICAg IG9wdGlvbnM6cnhxX3BjYXA9aHYxL3ZtMS1yeC5wY2FwCisrCisrc2ltX2FkZCBodjIKKythcyBo djIKKytvdnMtdnNjdGwgXAorKyAgICAtLSBhZGQtYnIgYnItcGh5cyBcCisrICAgIC0tIGFkZC1i ciBici1ldGgwCisrb3ZuX2F0dGFjaCBuMSBici1waHlzIDE5Mi4xNjguMC4yCisrY2hlY2sgb3Zz LXZzY3RsIHNldCBPcGVuX3ZTd2l0Y2ggLiBleHRlcm5hbC1pZHM6b3ZuLWJyaWRnZS1tYXBwaW5n cz1waHlzbmV0MTpici1ldGgwCisrY2hlY2sgb3ZzLXZzY3RsIGFkZC1wb3J0IGJyLWV0aDAgc25v b3B2aWYyIFwKKysgICAgLS0gc2V0IEludGVyZmFjZSBzbm9vcHZpZjIgb3B0aW9uczp0eF9wY2Fw PWh2Mi9zbm9vcHZpZi10eC5wY2FwIFwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IG9wdGlvbnM6cnhxX3BjYXA9aHYyL3Nub29wdmlmLXJ4LnBjYXAKKytjaGVjayBvdnMtdnNjdGwg YWRkLXBvcnQgYnItaW50IHZtMiBcCisrICAgIC0tIHNldCBJbnRlcmZhY2Ugdm0yIGV4dGVybmFs LWlkczppZmFjZS1pZD12bTIgXAorKyAgICAgICAgICAgICAgICAgICAgICAgICBvcHRpb25zOnR4 X3BjYXA9aHYyL3ZtMi10eC5wY2FwIFwKKysgICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9u czpyeHFfcGNhcD1odjIvdm0yLXJ4LnBjYXAKKysKKyt3YWl0X2Zvcl9wb3J0c191cCB2bTEgdm0y CisrT1ZOX1BPUFVMQVRFX0FSUAorK2NoZWNrIG92bi1uYmN0bCAtLXdhaXQ9aHYgc3luYworKwor K2RubCBIZWxwZXI6IGNvbnN0cnVjdCBBUlAgcmVxdWVzdC4KKytidWlsZF9hcnBfcmVxdWVzdCgp IHsKKysgICAgbG9jYWwgc2hhPSQxIHNwYT0kMiB0cGE9JDMKKysgICAgZm10X3BrdCAiRXRoZXIo ZHN0PSdmZjpmZjpmZjpmZjpmZjpmZicsIHNyYz0nJHtzaGF9JykvIFwKKysgICAgICAgICAgICAg QVJQKGh3c3JjPScke3NoYX0nLCBod2RzdD0nZmY6ZmY6ZmY6ZmY6ZmY6ZmYnLCBcCisrICAgICAg ICAgICAgICAgICBwc3JjPScke3NwYX0nLCBwZHN0PScke3RwYX0nKSIKKyt9CisrCisrZG5sIEhl bHBlcjogY29uc3RydWN0IGV4cGVjdGVkIEFSUCByZXBseS4KKytidWlsZF9hcnBfcmVwbHkoKSB7 CisrICAgIGxvY2FsIHJlcV9zaGE9JDEgcmVxX3NwYT0kMiByZXBseV9zaGE9JDMgcmVwbHlfc3Bh PSQ0CisrICAgIGZtdF9wa3QgIkV0aGVyKGRzdD0nJHtyZXFfc2hhfScsIHNyYz0nJHtyZXBseV9z aGF9JykvIFwKKysgICAgICAgICAgICAgQVJQKG9wPTIsIGh3c3JjPScke3JlcGx5X3NoYX0nLCBo d2RzdD0nJHtyZXFfc2hhfScsIFwKKysgICAgICAgICAgICAgICAgIHBzcmM9JyR7cmVwbHlfc3Bh fScsIHBkc3Q9JyR7cmVxX3NwYX0nKSIKKyt9CisrCisrZG5sIEhlbHBlcjogY29uc3RydWN0IE5E IHNvbGljaXRhdGlvbi4KKytidWlsZF9uZF9ucygpIHsKKysgICAgbG9jYWwgc2hhPSQxIHNwYT0k MiB0cGE9JDMgc29sX21jYXN0PSQ0CisrICAgIGZtdF9wa3QgIkV0aGVyKGRzdD0nMzM6MzM6ZmY6 MDA6MDA6MCR7dHBhIyMqOn0nLCBzcmM9JyR7c2hhfScpLyBcCisrICAgICAgICAgICAgIElQdjYo c3JjPScke3NwYX0nLCBkc3Q9JyR7c29sX21jYXN0fScpLyBcCisrICAgICAgICAgICAgIElDTVB2 Nk5EX05TKHRndD0nJHt0cGF9JykvIFwKKysgICAgICAgICAgICAgSUNNUHY2TkRPcHRTcmNMTEFk ZHIobGxhZGRyPScke3NoYX0nKSIKKyt9CisrCisrZG5sIEhlbHBlcjogY29uc3RydWN0IGV4cGVj dGVkIE5EIGFkdmVydGlzZW1lbnQuCisrYnVpbGRfbmRfbmEoKSB7CisrICAgIGxvY2FsIHJlcV9z aGE9JDEgcmVxX3NwYT0kMiByZXBseV9zaGE9JDMgcmVwbHlfdGd0PSQ0CisrICAgIGZtdF9wa3Qg IkV0aGVyKGRzdD0nJHtyZXFfc2hhfScsIHNyYz0nJHtyZXBseV9zaGF9JykvIFwKKysgICAgICAg ICAgICAgSVB2NihzcmM9JyR7cmVwbHlfdGd0fScsIGRzdD0nJHtyZXFfc3BhfScpLyBcCisrICAg ICAgICAgICAgIElDTVB2Nk5EX05BKHRndD0nJHtyZXBseV90Z3R9JywgUj0wLCBTPTEsIE89MSkv IFwKKysgICAgICAgICAgICAgSUNNUHY2TkRPcHREc3RMTEFkZHIobGxhZGRyPScke3JlcGx5X3No YX0nKSIKKyt9CisrCisrdGVzdF9hcnBfbmRfbG9jYWxuZXQoKSB7CisrICAgIEFTX0JPWChbQVJQ IGZyb20gbG9jYWxuZXQgb24gaHYxIGZvciB2bTEgLSBleHBlY3QgcmVwbHldKQorKyAgICBhcyBo djEgcmVzZXRfcGNhcF9maWxlIHNub29wdmlmMSBodjEvc25vb3B2aWYKKysgICAgYXMgaHYyIHJl c2V0X3BjYXBfZmlsZSBzbm9vcHZpZjIgaHYyL3Nub29wdmlmCisrICAgIGFzIGh2MSByZXNldF9w Y2FwX2ZpbGUgdm0xIGh2MS92bTEKKysgICAgYXMgaHYyIHJlc2V0X3BjYXBfZmlsZSB2bTIgaHYy L3ZtMgorKworKyAgICBkbmwgQVJQIHJlcXVlc3QgZnJvbSBici1ldGgwIG9uIGh2MSBmb3Igdm0x ICgxMC4wLjAuMSkuCisrICAgIGRubCB2bTEgaXMgcmVzaWRlbnQgb24gaHYxLCBzbyBodjEgc2hv dWxkIHJlcGx5LgorKyAgICBsb2NhbCBhcnBfcmVxPSQoYnVpbGRfYXJwX3JlcXVlc3QgImYwOjAw OjAwOjAwOjAwOjk5IiAiMTAuMC4wLjk5IiAiMTAuMC4wLjEiKQorKyAgICBhcyBodjEgb3ZzLWFw cGN0bCBuZXRkZXYtZHVtbXkvcmVjZWl2ZSBzbm9vcHZpZjEgJGFycF9yZXEKKysgICAgbG9jYWwg YXJwX3JlcD0kKGJ1aWxkX2FycF9yZXBseSAiZjA6MDA6MDA6MDA6MDA6OTkiICIxMC4wLjAuOTki IFwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZjA6MDA6MDA6MDA6MDA6 MDEiICIxMC4wLjAuMSIpCisrICAgIGVjaG8gJGFycF9yZXAgPiBleHBlY3RlZF9hcnBfcmVwbHkK KysgICAgT1ZOX0NIRUNLX1BBQ0tFVFNfQ09OVEFJTihbaHYxL3Nub29wdmlmLXR4LnBjYXBdLCBb ZXhwZWN0ZWRfYXJwX3JlcGx5XSkKKysKKysgICAgQVNfQk9YKFtBUlAgZnJvbSBsb2NhbG5ldCBv biBodjIgZm9yIHZtMSAtIGV4cGVjdCBubyByZXBseV0pCisrICAgIGFzIGh2MiByZXNldF9wY2Fw X2ZpbGUgc25vb3B2aWYyIGh2Mi9zbm9vcHZpZgorKworKyAgICBkbmwgQVJQIHJlcXVlc3QgZnJv bSBici1ldGgwIG9uIGh2MiBmb3Igdm0xICgxMC4wLjAuMSkuCisrICAgIGRubCB2bTEgaXMgTk9U IHJlc2lkZW50IG9uIGh2Miwgc28gaHYyIHNob3VsZCBOT1QgcmVwbHkuCisrICAgIGRubCBUbyBh dm9pZCByZWx5aW5nIG9uIHNsZWVwLCB3ZSBhbHNvIHNlbmQgYW4gQVJQIHJlcXVlc3QgZm9yIHZt MgorKyAgICBkbmwgKHdoaWNoIElTIHJlc2lkZW50IG9uIGh2MikgYW5kIHdhaXQgZm9yIHRoYXQg cmVwbHkuICBUaGlzIHByb3ZlcworKyAgICBkbmwgdGhlIHBpcGVsaW5lIGlzIHJ1bm5pbmcgYW5k IGFueSByZXBseSBmb3Igdm0xIHdvdWxkIGhhdmUgYXBwZWFyZWQuCisrICAgIGFzIGh2MiBvdnMt YXBwY3RsIG5ldGRldi1kdW1teS9yZWNlaXZlIHNub29wdmlmMiAkYXJwX3JlcQorKworKyAgICBs b2NhbCBhcnBfcmVxX3ZtMj0kKGJ1aWxkX2FycF9yZXF1ZXN0ICJmMDowMDowMDowMDowMDo5OSIg IjEwLjAuMC45OSIgIjEwLjAuMC4yIikKKysgICAgYXMgaHYyIG92cy1hcHBjdGwgbmV0ZGV2LWR1 bW15L3JlY2VpdmUgc25vb3B2aWYyICRhcnBfcmVxX3ZtMgorKyAgICBsb2NhbCBhcnBfcmVwX3Zt Mj0kKGJ1aWxkX2FycF9yZXBseSAiZjA6MDA6MDA6MDA6MDA6OTkiICIxMC4wLjAuOTkiIFwKKysg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImYwOjAwOjAwOjAwOjAwOjAy IiAiMTAuMC4wLjIiKQorKyAgICBlY2hvICRhcnBfcmVwX3ZtMiA+IGV4cGVjdGVkX2FycF92bTIK KysgICAgT1ZOX0NIRUNLX1BBQ0tFVFNfQ09OVEFJTihbaHYyL3Nub29wdmlmLXR4LnBjYXBdLCBb ZXhwZWN0ZWRfYXJwX3ZtMl0pCisrCisrICAgIGRubCBOb3cgdmVyaWZ5IHRoYXQgbm8gQVJQIHJl cGx5IGZvciB2bTEgd2FzIGdlbmVyYXRlZCBvbiBodjIuCisrICAgIEFUX0NIRUNLKFskUFlUSE9O ICIkb3ZzX3NyY2Rpci91dGlsaXRpZXMvb3ZzLXBjYXAuaW4iIGh2Mi9zbm9vcHZpZi10eC5wY2Fw IHwgXAorKyAgICAgICAgICAgICAgZ3JlcCAtYyAiJGFycF9yZXAiXSwgWzFdLCBbZG5sCisrMAor K10pCisrCisrICAgIEFTX0JPWChbQVJQIGZyb20gdm0yIFZJRiBmb3Igdm0xIC0gZXhwZWN0IHBy b3h5IHJlcGx5XSkKKysgICAgYXMgaHYyIHJlc2V0X3BjYXBfZmlsZSB2bTIgaHYyL3ZtMgorKyAg ICBsb2NhbCBhcnBfcmVxMj0kKGJ1aWxkX2FycF9yZXF1ZXN0ICJmMDowMDowMDowMDowMDowMiIg IjEwLjAuMC4yIiAiMTAuMC4wLjEiKQorKyAgICBhcyBodjIgb3ZzLWFwcGN0bCBuZXRkZXYtZHVt bXkvcmVjZWl2ZSB2bTIgJGFycF9yZXEyCisrICAgIGxvY2FsIGFycF9yZXAyPSQoYnVpbGRfYXJw X3JlcGx5ICJmMDowMDowMDowMDowMDowMiIgIjEwLjAuMC4yIiBcCisrICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICJmMDowMDowMDowMDowMDowMSIgIjEwLjAuMC4xIikKKysg ICAgZWNobyAkYXJwX3JlcDIgPiBleHBlY3RlZF9hcnBfcHJveHkKKysgICAgT1ZOX0NIRUNLX1BB Q0tFVFNfQ09OVEFJTihbaHYyL3ZtMi10eC5wY2FwXSwgW2V4cGVjdGVkX2FycF9wcm94eV0pCisr CisrICAgIEFTX0JPWChbTkQgZnJvbSBsb2NhbG5ldCBvbiBodjEgZm9yIHZtMSAtIGV4cGVjdCBy ZXBseV0pCisrICAgIGFzIGh2MSByZXNldF9wY2FwX2ZpbGUgc25vb3B2aWYxIGh2MS9zbm9vcHZp ZgorKyAgICBhcyBodjIgcmVzZXRfcGNhcF9maWxlIHNub29wdmlmMiBodjIvc25vb3B2aWYKKysK KysgICAgZG5sIE5EIHNvbGljaXRhdGlvbiBmcm9tIGJyLWV0aDAgb24gaHYxIGZvciB2bTEgSVB2 NiAoZmQwMTo6MSkuCisrICAgIGRubCB2bTEgaXMgcmVzaWRlbnQgb24gaHYxLCBzbyBodjEgc2hv dWxkIHJlcGx5LgorKyAgICBsb2NhbCBuZF9ucz0kKGJ1aWxkX25kX25zICJmMDowMDowMDowMDow MDo5OSIgImZkMDE6Ojk5IiAiZmQwMTo6MSIgImZmMDI6OjE6ZmYwMDoxIikKKysgICAgYXMgaHYx IG92cy1hcHBjdGwgbmV0ZGV2LWR1bW15L3JlY2VpdmUgc25vb3B2aWYxICRuZF9ucworKyAgICBs b2NhbCBuZF9uYT0kKGJ1aWxkX25kX25hICJmMDowMDowMDowMDowMDo5OSIgImZkMDE6Ojk5IiBc CisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJmMDowMDowMDowMDowMDowMSIgImZk MDE6OjEiKQorKyAgICBlY2hvICRuZF9uYSA+IGV4cGVjdGVkX25kX3JlcGx5CisrICAgIE9WTl9D SEVDS19QQUNLRVRTX0NPTlRBSU4oW2h2MS9zbm9vcHZpZi10eC5wY2FwXSwgW2V4cGVjdGVkX25k X3JlcGx5XSkKKysKKysgICAgQVNfQk9YKFtORCBmcm9tIGxvY2FsbmV0IG9uIGh2MiBmb3Igdm0x IC0gZXhwZWN0IG5vIHJlcGx5XSkKKysgICAgYXMgaHYyIHJlc2V0X3BjYXBfZmlsZSBzbm9vcHZp ZjIgaHYyL3Nub29wdmlmCisrCisrICAgIGRubCBORCBzb2xpY2l0YXRpb24gZnJvbSBici1ldGgw IG9uIGh2MiBmb3Igdm0xIElQdjYgKGZkMDE6OjEpLgorKyAgICBkbmwgdm0xIGlzIE5PVCByZXNp ZGVudCBvbiBodjIsIHNvIGh2MiBzaG91bGQgTk9UIHJlcGx5LgorKyAgICBkbmwgU2FtZSB0ZWNo bmlxdWU6IHNlbmQgTkQgZm9yIHZtMiAocmVzaWRlbnQpIGFuZCB3YWl0IGZvciB0aGF0IHJlcGx5 LgorKyAgICBhcyBodjIgb3ZzLWFwcGN0bCBuZXRkZXYtZHVtbXkvcmVjZWl2ZSBzbm9vcHZpZjIg JG5kX25zCisrCisrICAgIGxvY2FsIG5kX25zX3ZtMj0kKGJ1aWxkX25kX25zICJmMDowMDowMDow MDowMDo5OSIgImZkMDE6Ojk5IiAiZmQwMTo6MiIgImZmMDI6OjE6ZmYwMDoyIikKKysgICAgYXMg aHYyIG92cy1hcHBjdGwgbmV0ZGV2LWR1bW15L3JlY2VpdmUgc25vb3B2aWYyICRuZF9uc192bTIK KysgICAgbG9jYWwgbmRfbmFfdm0yPSQoYnVpbGRfbmRfbmEgImYwOjAwOjAwOjAwOjAwOjk5IiAi ZmQwMTo6OTkiIFwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJmMDowMDow MDowMDowMDowMiIgImZkMDE6OjIiKQorKyAgICBlY2hvICRuZF9uYV92bTIgPiBleHBlY3RlZF9u ZF92bTIKKysgICAgT1ZOX0NIRUNLX1BBQ0tFVFNfQ09OVEFJTihbaHYyL3Nub29wdmlmLXR4LnBj YXBdLCBbZXhwZWN0ZWRfbmRfdm0yXSkKKysKKysgICAgZG5sIE5vdyB2ZXJpZnkgdGhhdCBubyBO RCBhZHZlcnRpc2VtZW50IGZvciB2bTEgd2FzIGdlbmVyYXRlZCBvbiBodjIuCisrICAgIEFUX0NI RUNLKFskUFlUSE9OICIkb3ZzX3NyY2Rpci91dGlsaXRpZXMvb3ZzLXBjYXAuaW4iIGh2Mi9zbm9v cHZpZi10eC5wY2FwIHwgXAorKyAgICAgICAgICAgICAgZ3JlcCAtYyAiJG5kX25hIl0sIFsxXSwg W2RubAorKzAKKytdKQorKworKyAgICBBU19CT1goW05EIGZyb20gdm0yIFZJRiBmb3Igdm0xIC0g ZXhwZWN0IHByb3h5IHJlcGx5XSkKKysgICAgYXMgaHYyIHJlc2V0X3BjYXBfZmlsZSB2bTIgaHYy L3ZtMgorKyAgICBsb2NhbCBuZF9uczI9JChidWlsZF9uZF9ucyAiZjA6MDA6MDA6MDA6MDA6MDIi ICJmZDAxOjoyIiAiZmQwMTo6MSIgImZmMDI6OjE6ZmYwMDoxIikKKysgICAgYXMgaHYyIG92cy1h cHBjdGwgbmV0ZGV2LWR1bW15L3JlY2VpdmUgdm0yICRuZF9uczIKKysgICAgbG9jYWwgbmRfbmEy PSQoYnVpbGRfbmRfbmEgImYwOjAwOjAwOjAwOjAwOjAyIiAiZmQwMTo6MiIgXAorKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgImYwOjAwOjAwOjAwOjAwOjAxIiAiZmQwMTo6MSIpCisr ICAgIGVjaG8gJG5kX25hMiA+IGV4cGVjdGVkX25kX3Byb3h5CisrICAgIE9WTl9DSEVDS19QQUNL RVRTX0NPTlRBSU4oW2h2Mi92bTItdHgucGNhcF0sIFtleHBlY3RlZF9uZF9wcm94eV0pCisrfQor KworK0FTX0JPWChbRkRCIGxlYXJuaW5nIGRpc2FibGVkXSkKKyt0ZXN0X2FycF9uZF9sb2NhbG5l dAorKworK0FTX0JPWChbRkRCIGxlYXJuaW5nIGVuYWJsZWRdKQorK2RubCBVc2UgJ3NldCcgaW5z dGVhZCBvZiAnbHNwLXNldC1vcHRpb25zJyB0byBwcmVzZXJ2ZSBuZXR3b3JrX25hbWUuCisrY2hl Y2sgb3ZuLW5iY3RsIC0td2FpdD1odiBzZXQgTG9naWNhbF9Td2l0Y2hfUG9ydCBsbjEgXAorKyAg ICBvcHRpb25zOmxvY2FsbmV0X2xlYXJuX2ZkYj10cnVlCisrdGVzdF9hcnBfbmRfbG9jYWxuZXQK KysKKytPVk5fQ0xFQU5VUChbaHYxCisrL2xlZnQgYWxsb2NhdGVkL2QKKytdLCBbaHYyCisrL2xl ZnQgYWxsb2NhdGVkL2QKKytdKQorK0FUX0NMRUFOVVAKKytdKQorKworIE9WTl9GT1JfRUFDSF9O T1JUSEQoWworIEFUX1NFVFVQKFtzZW5kIHJldmVyc2UgYXJwIGZvciByb3V0ZXIgd2l0aG91dCBp cHY0IGFkZHJlc3NdKQorIG92bl9zdGFydAorQEAgLTE0MTcwLDggKzE0MzYzLDggQEAgQVRfQ0hF Q0soWworICAgICB0ZXN0IDAgLWVxICRwa3RzCisgXSkKKyAKKy1zcGE9JChpcF90b19oZXggMTAg MCAwIDEpCistdHBhPSQoaXBfdG9faGV4IDEwIDAgMCAxMDApCisrc3BhPTEwLjAuMC4xCisrdHBh PTEwLjAuMC4xMDAKKyBzZW5kX2dhcnAgaHYxIHZpZjEgMSAiMDA6MDA6MDA6MDA6MDA6MDEiICJm ZjpmZjpmZjpmZjpmZjpmZiIgJHNwYSAkdHBhCisgCisgZG5sIHRyYWZmaWMgZnJvbSBsb2NhbHBv cnQgc2hvdWxkIG5vdCBiZSBzZW50IHRvIGxvY2FsbmV0CitAQCAtMzEzNTAsNiArMzE1NDMsMTMg QEAgY2hlY2sgb3ZuLW5iY3RsIGxycC1zZXQtZ2F0ZXdheS1jaGFzc2lzIGxyMC1wdWJsaWMgaHYx IDIwCisgCisgIyBDcmVhdGUgTkFUIGVudHJpZXMgZm9yIHRoZSBwb3J0cworIAorKyMgc3cwLXBv cnQxCisrY2hlY2sgb3ZuLW5iY3RsIGxyLW5hdC1hZGQgbHIwIGRuYXRfYW5kX3NuYXQgMTcyLjE2 LjAuMTEwIDEwLjAuMC4zIHN3MC1wb3J0MSAzMDo1NDowMDowMDowMDowMworK2NoZWNrIG92bi1u YmN0bCBsci1uYXQtYWRkIGxyMCBkbmF0X2FuZF9zbmF0IDMwMDA6OmMgMTAwMDo6MyBzdzAtcG9y dDEgNDA6NTQ6MDA6MDA6MDA6MDMKKysjIHN3MS1wb3J0MQorK2NoZWNrIG92bi1uYmN0bCBsci1u YXQtYWRkIGxyMCBkbmF0X2FuZF9zbmF0IDE3Mi4xNi4wLjEyMCAyMC4wLjAuMyBzdzEtcG9ydDEg MzA6NTQ6MDA6MDA6MDA6MDQKKytjaGVjayBvdm4tbmJjdGwgbHItbmF0LWFkZCBscjAgZG5hdF9h bmRfc25hdCAzMDAwOjpkIDIwMDA6OjMgc3cxLXBvcnQxIDQwOjU0OjAwOjAwOjAwOjA0CisrCisg IyBBZGQgc25hdCBlbnRyaWVzcworIGNoZWNrIG92bi1uYmN0bCBsci1uYXQtYWRkIGxyMCBzbmF0 IDE3Mi4xNi4wLjEwMCAxMC4wLjAuMC8yNAorIGNoZWNrIG92bi1uYmN0bCBsci1uYXQtYWRkIGxy MCBzbmF0IDE3Mi4xNi4wLjEwMSAxMC4wLjAuMTAKK0BAIC0zMTQ1OCwxOSArMzE2NTgsNiBAQCB0 ZXN0X2FycF9yZXNwb25zZSAwMDAwMjAyMDEyMTMgJChpcF90b19oZXggMTcyIDE2IDAgMTAyKSBo djEgaHYyIGh2MworIHRlc3RfYXJwX3Jlc3BvbnNlIDAwMDAzMDMwMzIzMyAkKGlwX3RvX2hleCAx NzIgMTYgMCAyMDApIGh2MyBodjEgaHYyCisgdGVzdF9hcnBfcmVzcG9uc2UgMDAwMDMwMzAzMjMz ICQoaXBfdG9faGV4IDE3MiAxNiAwIDIwMSkgaHYzIGh2MSBodjIKKyAKKy0jIEFkZCBzb21lIGV4 dHJhIGRuYXRfYW5kX3NuYXQsIHRoYXQgc2hvdWxkIGdlbmVyYXRlIGV4dHJhIGZsb3dzIGZvciBl eHRlcm5hbCBBUlBzLgorLSMgc3cwLXBvcnQxCistY2hlY2sgb3ZuLW5iY3RsIGxyLW5hdC1hZGQg bHIwIGRuYXRfYW5kX3NuYXQgMTcyLjE2LjAuMTEwIDEwLjAuMC4zIHN3MC1wb3J0MSAzMDo1NDow MDowMDowMDowMworLWNoZWNrIG92bi1uYmN0bCBsci1uYXQtYWRkIGxyMCBkbmF0X2FuZF9zbmF0 IDMwMDA6OmMgMTAwMDo6MyBzdzAtcG9ydDEgNDA6NTQ6MDA6MDA6MDA6MDMKKy0jIHN3MS1wb3J0 MQorLWNoZWNrIG92bi1uYmN0bCBsci1uYXQtYWRkIGxyMCBkbmF0X2FuZF9zbmF0IDE3Mi4xNi4w LjEyMCAyMC4wLjAuMyBzdzEtcG9ydDEgMzA6NTQ6MDA6MDA6MDA6MDQKKy1jaGVjayBvdm4tbmJj dGwgbHItbmF0LWFkZCBscjAgZG5hdF9hbmRfc25hdCAzMDAwOjpkIDIwMDA6OjMgc3cxLXBvcnQx IDQwOjU0OjAwOjAwOjAwOjA0CistY2hlY2sgb3ZuLW5iY3RsIC0td2FpdD1odiBzeW5jCistCist IyBTZW5kIEFSUCByZXF1ZXN0IGZvciB0aGUgSVAgd2hpY2ggYmVsb25ncyB0byBnd19yb3V0ZXIK Ky10ZXN0X2FycF9yZXNwb25zZSAwMDAwMzAzMDMyMzMgJChpcF90b19oZXggMTcyIDE2IDAgMjAw KSBodjMgaHYxIGh2MgorLXRlc3RfYXJwX3Jlc3BvbnNlIDAwMDAzMDMwMzIzMyAkKGlwX3RvX2hl eCAxNzIgMTYgMCAyMDEpIGh2MyBodjEgaHYyCistCisgIyBNYWtlIGh2MyBjbGFpbSB0aGUgY3It bHIwLXB1YmxpYworIGNoZWNrIG92bi1uYmN0bCBscnAtc2V0LWdhdGV3YXktY2hhc3NpcyBscjAt cHVibGljIGh2MSAyMAorIGNoZWNrIG92bi1uYmN0bCBscnAtc2V0LWdhdGV3YXktY2hhc3NpcyBs cjAtcHVibGljIGh2MiAzMAorQEAgLTM2NTM1LDE1ICszNjcyMiw2IEBAIEFUX0NIRUNLKFtvdm4t bmJjdGwgLS13YWl0PWh2IHN5bmNdKQorIE9WU19XQUlUX1VOVElMKFtncmVwIHBpbmN0cmwgaHYx L292bi1jb250cm9sbGVyLmxvZyB8IGdyZXAgLWMgY29ubmVjdGVkXSkKKyBPVlNfV0FJVF9VTlRJ TChbZ3JlcCBwaW5jdHJsIGh2Mi9vdm4tY29udHJvbGxlci5sb2cgfCBncmVwIC1jIGNvbm5lY3Rl ZF0pCisgCistc2VuZF91ZHAoKSB7CistICAgIGh2PSQxCistICAgIGRldj0kMgorLSAgICBieXRl PSQzCistCistICAgIHBhY2tldD0kKGZtdF9wa3QgIkV0aGVyKGRzdD0nMDA6MDA6MDA6MDA6MTA6 MDAnLCBzcmM9JzAwOjAwOjAwOjAwOjEwOiR7Ynl0ZX0nKS8gXAorLSAgICAgICAgICAgICAgICAg ICAgICBJUChkc3Q9JzE5Mi4xNjguMjAuJHtieXRlfScsIHNyYz0nMTkyLjE2OC4xMC4ke2J5dGV9 JykvVURQKCkiKQorLSAgICBhcyAkaHYgb3ZzLWFwcGN0bCBuZXRkZXYtZHVtbXkvcmVjZWl2ZSAk ZGV2ICRwYWNrZXQKKy19CisgIyBDaGVjayBpZiB0aGUgb3B0aW9uIGlzIG5vdCBwcmVzZW50IGJ5 IGRlZmF1bHQKKyBBVF9DSEVDSyhbZmV0Y2hfY29sdW1uIG5iOmxvZ2ljYWxfcm91dGVyIG9wdGlv bnMgbmFtZT0iZ3ctMSIgfCBncmVwIC1xIG1hY19iaW5kaW5nX2FnZV90aHJlc2hvbGRdLCBbMV0p CisgQVRfQ0hFQ0soW2ZldGNoX2NvbHVtbiBuYjpsb2dpY2FsX3JvdXRlciBvcHRpb25zIG5hbWU9 Imd3LTIiIHwgZ3JlcCAtcSBtYWNfYmluZGluZ19hZ2VfdGhyZXNob2xkXSwgWzFdKQorQEAgLTM2 NTc3LDggKzM2NzU1LDggQEAgJHNvcnRlZF90YWJsZQorIHRpbWVzdGFtcD0kKGZldGNoX2NvbHVt biBtYWNfYmluZGluZyB0aW1lc3RhbXAgaXA9IjE5Mi4xNjguMTAuMjAiKQorIGJpbmRpbmdfdXVp ZD0kKGZldGNoX2NvbHVtbiBtYWNfYmluZGluZyBfdXVpZCBpcD0iMTkyLjE2OC4xMC4yMCIpCisg Cistc2VuZF91ZHAgaHYxIGV4dDEgMTAKKy1zZW5kX3VkcCBodjIgZXh0MiAyMAorK3NlbmRfdWRw IGh2MSBleHQxIDAwOjAwOjAwOjAwOjEwOjAwIDAwOjAwOjAwOjAwOjEwOjEwIDE5Mi4xNjguMjAu MTAgMTkyLjE2OC4xMC4xMAorK3NlbmRfdWRwIGh2MiBleHQyIDAwOjAwOjAwOjAwOjEwOjAwIDAw OjAwOjAwOjAwOjEwOjIwIDE5Mi4xNjguMjAuMjAgMTkyLjE2OC4xMC4yMAorIAorIE9WU19XQUlU X1VOVElMKFthcyBodjEgb3ZzLW9mY3RsIGR1bXAtZmxvd3MgYnItaW50IHRhYmxlPU9GVEFCTEVf TUFDX0NBQ0hFX1VTRSB8IGdyZXAgIjE5Mi4xNjguMTAuMTAiIHwgZ3JlcCAtcSAibl9wYWNrZXRz PTEiXSkKKyBPVlNfV0FJVF9VTlRJTChbYXMgaHYyIG92cy1vZmN0bCBkdW1wLWZsb3dzIGJyLWlu dCB0YWJsZT1PRlRBQkxFX01BQ19DQUNIRV9VU0UgfCBncmVwICIxOTIuMTY4LjEwLjIwIiB8IGdy ZXAgLXEgIm5fcGFja2V0cz0xIl0pCitAQCAtMzY1ODksOSArMzY3NjcsOSBAQCBBVF9DSEVDSyhb ZmV0Y2hfY29sdW1uIG5iOmxvZ2ljYWxfcm91dGVyIG9wdGlvbnMgfCBncmVwIC1xIG1hY19iaW5k aW5nX2FnZV90aHJlcworIEFUX0NIRUNLKFtvdm4tbmJjdGwgLS13YWl0PXNiIHN5bmNdKQorIAor ICMgV2FpdCBzZW5kIGZldyBwYWNrZXRzIGZvciAiMTkyLjE2OC4xMC4yMCIgdG8gaW5kaWNhdGUg dGhhdCBpdCBpcyBzdGlsbCBpbiB1c2UKKy1zZW5kX3VkcCBodjIgZXh0MiAyMAorK3NlbmRfdWRw IGh2MiBleHQyIDAwOjAwOjAwOjAwOjEwOjAwIDAwOjAwOjAwOjAwOjEwOjIwIDE5Mi4xNjguMjAu MjAgMTkyLjE2OC4xMC4yMAorIHNsZWVwIDEKKy1zZW5kX3VkcCBodjIgZXh0MiAyMAorK3NlbmRf dWRwIGh2MiBleHQyIDAwOjAwOjAwOjAwOjEwOjAwIDAwOjAwOjAwOjAwOjEwOjIwIDE5Mi4xNjgu MjAuMjAgMTkyLjE2OC4xMC4yMAorIAorICMgU2V0IHRoZSB0aW1lb3V0IGZvciBPVlNfV0FJVCog ZnVuY3Rpb25zIHRvIDEwIHNlY29uZHMKKyBPVlNfQ1RMX1RJTUVPVVQ9MTAKK0BAIC0zNjg2OSwx OCArMzcwNDcsMTAgQEAgc2xlZXAgMgorIHNlbmRfZ2FycCBodjEgdmlmMSAyIDAwOjAwOjAwOjAw OjEwOjEwIGZmOmZmOmZmOmZmOmZmOmZmIDE5Mi4xNjguMTAuMTAgMTkyLjE2OC4xMC4xMAorIHdh aXRfcm93X2NvdW50IG1hY19iaW5kaW5nIDEgaXA9IjE5Mi4xNjguMTAuMTAiIGxvZ2ljYWxfcG9y dD0ibHItbHMxIgorIAorLXNlbmRfdWRwKCkgeworLSAgICBsb2NhbCBodj0kMSBkZXY9JDIgYnl0 ZT0kMworLQorLSAgICBwYWNrZXQ9JChmbXRfcGt0ICJFdGhlcihkc3Q9JzAwOjAwOjAwOjAwOjEw OjAwJywgc3JjPScwMDowMDowMDowMDoxMDoke2J5dGV9JykvIFwKKy0gICAgICAgICAgICAgICAg ICAgICAgSVAoZHN0PScxOTIuMTY4LjIwLiR7Ynl0ZX0nLCBzcmM9JzE5Mi4xNjguMTAuJHtieXRl fScpL1VEUCgpIikKKy0gICAgY2hlY2sgYXMgJGh2IG92cy1hcHBjdGwgbmV0ZGV2LWR1bW15L3Jl Y2VpdmUgJGRldiAkcGFja2V0CistfQorLQorIHV1aWQ9JChmZXRjaF9jb2x1bW4gbWFjX2JpbmRp bmcgX3V1aWQgaXA9IjE5Mi4xNjguMTAuMTAiIGxvZ2ljYWxfcG9ydD0ibHItbHMxIikKKyBmb3Ig aSBpbiAkKHNlcSAxMik7IGRvCisgICAgICMgS2VlcCBvbmUgZW50cnkgYWxpdmUgYnkgc2VuZGlu ZyB0cmFmZmljIHRoYXQgdXNlcyBpdC4KKy0gICAgc2VuZF91ZHAgaHYxIHZpZjEgMTAKKysgICAg c2VuZF91ZHAgaHYxIHZpZjEgMDA6MDA6MDA6MDA6MTA6MDAgMDA6MDA6MDA6MDA6MTA6MTAgMTky LjE2OC4yMC4xMCAxOTIuMTY4LjEwLjEwCisgICAgIHNsZWVwIDEKKyAgICAgIyBUaGUgZW50cnkg bXVzdCBub3QgZXhwaXJlLgorICAgICBjaGVja19yb3dfY291bnQgbWFjX2JpbmRpbmcgMSBpcD0i MTkyLjE2OC4xMC4xMCIgbG9naWNhbF9wb3J0PSJsci1sczEiCitAQCAtMzY5NjMsMzggKzM3MTMz LDYgQEAgQVRfU0VUVVAoW01BQyBiaW5kaW5nIGFnaW5nIC0gcHJvYmluZ10pCisgQVRfU0tJUF9J RihbdGVzdCAkSEFWRV9TQ0FQWSA9IG5vXSkKKyBvdm5fc3RhcnQKKyAKKy1zZW5kX3VkcCgpIHsK Ky0gICAgbG9jYWwgaHY9JDEgZGV2PSQyIGhkc3Q9JDMgaHNyYz0kNCBpZHN0PSQ1IGlzcmM9JDYK Ky0gICAgbG9jYWwgcGFja2V0PSQoZm10X3BrdCAiRXRoZXIoZHN0PScke2hkc3R9Jywgc3JjPSck e2hzcmN9JykvIFwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgSVAoZHN0PScke2lkc3R9 Jywgc3JjPScke2lzcmN9JykvVURQKCkiKQorLSAgICBhcyAkaHYgb3ZzLWFwcGN0bCBuZXRkZXYt ZHVtbXkvcmVjZWl2ZSAkZGV2ICRwYWNrZXQKKy19CistCistc2VuZF91ZHA2KCkgeworLSAgICBs b2NhbCBodj0kMSBkZXY9JDIgaGRzdD0kMyBoc3JjPSQ0IGlkc3Q9JDUgaXNyYz0kNgorLSAgICBs b2NhbCBwYWNrZXQ9JChmbXRfcGt0ICJFdGhlcihkc3Q9JyR7aGRzdH0nLCBzcmM9JyR7aHNyY30n KS8gXAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBJUHY2KGRzdD0nJHtpZHN0fScsIHNy Yz0nJHtpc3JjfScpL1VEUCgpIikKKy0gICAgYXMgJGh2IG92cy1hcHBjdGwgbmV0ZGV2LWR1bW15 L3JlY2VpdmUgJGRldiAkcGFja2V0CistfQorLQorLWR1bXBfYXJwKCkgeworLSAgICBsb2NhbCBv cD0kMSBldGhfc3JjPSQyIGV0aF9kc3Q9JDMgc3BhPSQ0IHRwYT0kNSBod2RzdD0kNgorLQorLSAg ICBsb2NhbCBwYWNrZXQ9JChmbXRfcGt0ICJFdGhlcihkc3Q9JyR7ZXRoX2RzdH0nLCBzcmM9JyR7 ZXRoX3NyY30nKS8gXAorLSAgICAgICAgICAgICAgICAgICAgICBBUlAob3A9JG9wLCBod3NyYz0n JHtldGhfc3JjfScsIGh3ZHN0PScke2h3ZHN0fScsIFwKKy0gICAgICAgICAgICAgICAgICAgICAg cHNyYz0nJHtzcGF9JywgcGRzdD0nJHt0cGF9JykiKQorLSAgICBlY2hvICRwYWNrZXQKKy19Cist CistZHVtcF9ucygpIHsKKy0gICAgbG9jYWwgaGRzdD0kMSBoc3JjPSQyIGlkc3Q9JDMgaXNyYz0k NCB0Z3Q9JDUKKy0gICAgbG9jYWwgcGFja2V0PSQoZm10X3BrdCAiRXRoZXIoZHN0PScke2hkc3R9 Jywgc3JjPScke2hzcmN9JykvIFwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgSVB2Nihk c3Q9JyR7aWRzdH0nLCBzcmM9JyR7aXNyY30nKS8gXAorLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICBJQ01QdjZORF9OUyh0Z3Q9JyR7dGd0fScpLworLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICBJQ01QdjZORE9wdFNyY0xMQWRkcihsbGFkZHI9JyR7aHNyY30nKSIpCistICAgIGVjaG8g JHBhY2tldAorLX0KKy0KKyBhZ2luZ190aD0xMAorIG5ldF9hZGQgbjEKKyBzaW1fYWRkIGh2MQor QEAgLTM3MTEyLDYgKzM3MjUwLDEyMyBAQCBPVk5fQ0xFQU5VUChbaHYxXSkKKyBBVF9DTEVBTlVQ CisgXSkKKyAKKytPVk5fRk9SX0VBQ0hfTk9SVEhEKFsKKytBVF9TRVRVUChbTUFDIGJpbmRpbmcg YWdpbmcgLSBwcm9iaW5nIG11bHRpLXN1Ym5ldCBzb3VyY2UgSVBdKQorK0FUX1NLSVBfSUYoW3Rl c3QgJEhBVkVfU0NBUFkgPSBub10pCisrb3ZuX3N0YXJ0CisrCisrYWdpbmdfdGg9MTAKKytuZXRf YWRkIG4xCisrc2ltX2FkZCBodjEKKythcyBodjEKKytjaGVjayBvdnMtdnNjdGwgYWRkLWJyIGJy LXBoeXMKKytvdm5fYXR0YWNoIG4xIGJyLXBoeXMgMTkyLjE2OC4wLjEKKytvdm4tYXBwY3RsIC10 IG92bi1jb250cm9sbGVyIHZsb2cvc2V0IG1hY19jYWNoZTpmaWxlOmRiZyBwaW5jdHJsOmZpbGU6 ZGJnCisrCisrY2hlY2sgb3ZuLW5iY3RsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKysgICAgLS0gbHMtYWRkIGxzMSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorKyAg ICAtLSBsci1hZGQgbHIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBcCisrICAgIC0tIHNldCBsb2dpY2FsX3JvdXRlciBsciBvcHRpb25z Om1hY19iaW5kaW5nX2FnZV90aHJlc2hvbGQ9JGFnaW5nX3RoICAgIFwKKysgICAgLS0gbHJwLWFk ZCBsciBsci1sczEgMDA6MDA6MDA6MDA6MTA6MDAgMTAuMTAuMTAuMS8yNCA0Mi40Mi40Mi4xLzI0 ICAgICAgXAorKyAgICAgICBmZDExOjoxLzY0IGZkMTI6OjEvNjQgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisrICAgIC0tIGxzcC1hZGQtcm91dGVyLXBv cnQgbHMxIGxzMS1sciBsci1sczEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKysg ICAgLS0gbHNwLWFkZCBsczEgdmlmMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgXAorKyAgICAtLSBsc3Atc2V0LWFkZHJlc3NlcyB2aWYxICJ1bmtu b3duIgorKworK2NoZWNrIG92cy12c2N0bCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisrICAgIC0tIGFkZC1wb3J0IGJyLWludCB2 aWYxICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKysg ICAgLS0gc2V0IGludGVyZmFjZSB2aWYxIGV4dGVybmFsLWlkczppZmFjZS1pZD12aWYxICAgICAg ICAgICAgICAgICAgICAgICAgXAorKyAgICBvcHRpb25zOnR4X3BjYXA9aHYxL3ZpZjEtdHgucGNh cCBvcHRpb25zOnJ4cV9wY2FwPWh2MS92aWYxLXJ4LnBjYXAKKysKKytPVk5fUE9QVUxBVEVfQVJQ Cisrd2FpdF9mb3JfcG9ydHNfdXAKKytjaGVjayBvdm4tbmJjdGwgLS13YWl0PWh2IHN5bmMKKysK KysjIFdhaXQgZm9yIHBpbmN0cmwgdGhyZWFkIHRvIGJlIGNvbm5lY3RlZC4KKytPVlNfV0FJVF9V TlRJTChbZ3JlcCBwaW5jdHJsIGh2MS9vdm4tY29udHJvbGxlci5sb2cgfCBncmVwIC1xIGNvbm5l Y3RlZF0pCisrCisrIyBDcmVhdGUgTUFDIGJpbmRpbmdzIGluIGJvdGggSVB2NCBzdWJuZXRzLgor K3NlbmRfZ2FycCBodjEgdmlmMSAyIDAwOjAwOjAwOjAwOjEwOjFhIGZmOmZmOmZmOmZmOmZmOmZm IDEwLjEwLjEwLjEwMCAxMC4xMC4xMC4xMDAKKyt3YWl0X3Jvd19jb3VudCBtYWNfYmluZGluZyAx IGlwPSIxMC4xMC4xMC4xMDAiIGxvZ2ljYWxfcG9ydD0ibHItbHMxIgorKworK3NlbmRfZ2FycCBo djEgdmlmMSAyIDAwOjAwOjAwOjAwOjEwOjFiIGZmOmZmOmZmOmZmOmZmOmZmIDQyLjQyLjQyLjI1 MyA0Mi40Mi40Mi4yNTMKKyt3YWl0X3Jvd19jb3VudCBtYWNfYmluZGluZyAxIGlwPSI0Mi40Mi40 Mi4yNTMiIGxvZ2ljYWxfcG9ydD0ibHItbHMxIgorKworKyMgQ3JlYXRlIE1BQyBiaW5kaW5ncyBp biBib3RoIElQdjYgc3VibmV0cy4KKytzZW5kX25hIGh2MSB2aWYxIDAwOjAwOjAwOjAwOjEwOjFh IDAwOjAwOjAwOjAwOjEwOjAwIGZkMTE6OjY0IGZkMTE6OjEKKyt3YWl0X3Jvd19jb3VudCBtYWNf YmluZGluZyAxIGlwPVwiZmQxMTo6NjRcIiBsb2dpY2FsX3BvcnQ9XCJsci1sczFcIgorKworK3Nl bmRfbmEgaHYxIHZpZjEgMDA6MDA6MDA6MDA6MTA6MWIgMDA6MDA6MDA6MDA6MTA6MDAgZmQxMjo6 NjQgZmQxMjo6MQorK3dhaXRfcm93X2NvdW50IG1hY19iaW5kaW5nIDEgaXA9XCJmZDEyOjo2NFwi IGxvZ2ljYWxfcG9ydD1cImxyLWxzMVwiCisrCisrIyBSZWNvcmQgVVVJRHMgZm9yIGFsbCBNQUMg YmluZGluZ3MuCisrdXVpZF92NF8xPSQoZmV0Y2hfY29sdW1uIE1hY19CaW5kaW5nIF91dWlkIGlw PTEwLjEwLjEwLjEwMCkKKyt1dWlkX3Y0XzI9JChmZXRjaF9jb2x1bW4gTWFjX0JpbmRpbmcgX3V1 aWQgaXA9NDIuNDIuNDIuMjUzKQorK3V1aWRfdjZfMT0kKGZldGNoX2NvbHVtbiBNYWNfQmluZGlu ZyBfdXVpZCBpcD1cImZkMTE6OjY0XCIpCisrdXVpZF92Nl8yPSQoZmV0Y2hfY29sdW1uIE1hY19C aW5kaW5nIF91dWlkIGlwPVwiZmQxMjo6NjRcIikKKysKKysjIFNlbmQgSVB2NCBhbmQgSVB2NiBV RFAgdHJhZmZpYyB0byByZWZyZXNoIGVudHJpZXMgaW4gT0ZUQUJMRV9NQUNfQklORElORy4KKysj IFVzZSBkaWZmZXJlbnQgc3JjIE1BQ3MgdGhhbiB0aGUgb25lcyBmcm9tIEdBUlAvTkEgdG8gYXZv aWQgcmVzZXR0aW5nCisrIyBPRlRBQkxFX01BQ19DQUNIRV9VU0UgaWRsZV9hZ2UgKHdoaWNoIHdv dWxkIGtlZXAgdGhlIHRpbWVzdGFtcCBmcmVzaAorKyMgYW5kIHN1cHByZXNzIHByb2Jpbmcgdmlh IHRoZSBjb29sZG93biBtZWNoYW5pc20pLgorK3NlbmRfdWRwIGh2MSB2aWYxIDAwOjAwOjAwOjAw OjEwOjAwIDAwOjAwOjAwOjAwOjEwOjJhIDQyLjQyLjQyLjI1MyAxMC4xMC4xMC4xMDAKKytzZW5k X3VkcCBodjEgdmlmMSAwMDowMDowMDowMDoxMDowMCAwMDowMDowMDowMDoxMDoyYiAxMC4xMC4x MC4xMDAgNDIuNDIuNDIuMjUzCisrc2VuZF91ZHA2IGh2MSB2aWYxIDAwOjAwOjAwOjAwOjEwOjAw IDAwOjAwOjAwOjAwOjEwOjJhIGZkMTI6OjY0IGZkMTE6OjY0Cisrc2VuZF91ZHA2IGh2MSB2aWYx IDAwOjAwOjAwOjAwOjEwOjAwIDAwOjAwOjAwOjAwOjEwOjJiIGZkMTE6OjY0IGZkMTI6OjY0Cisr CisrT1ZTX1dBSVRfVU5USUwoW292cy1vZmN0bCBkdW1wLWZsb3dzIGJyLWludCB0YWJsZT1PRlRB QkxFX01BQ19CSU5ESU5HIHwgXAorKyAgICAgICAgICAgICAgICAgIHNlZCAncy9yZWcxNT0weC4s bWV0YWRhdGE9MHguL3JlZzE1PTxjbGVhcmVkPixtZXRhZGF0YT08Y2xlYXJlZD4vZycgfCBcCisr ICAgICAgICAgICAgICAgICAgZ3JlcCAtcSAicmVnMD0weGEwYTBhNjQscmVnMTU9PGNsZWFyZWQ+ LG1ldGFkYXRhPTxjbGVhcmVkPiBhY3Rpb25zPW1vZF9kbF9kc3Q6MDA6MDA6MDA6MDA6MTA6MWEi XSkKKytPVlNfV0FJVF9VTlRJTChbb3ZzLW9mY3RsIGR1bXAtZmxvd3MgYnItaW50IHRhYmxlPU9G VEFCTEVfTUFDX0JJTkRJTkcgfCBcCisrICAgICAgICAgICAgICAgICAgc2VkICdzL3JlZzE1PTB4 LixtZXRhZGF0YT0weC4vcmVnMTU9PGNsZWFyZWQ+LG1ldGFkYXRhPTxjbGVhcmVkPi9nJyB8IFwK KysgICAgICAgICAgICAgICAgICBncmVwIC1xICJyZWcwPTB4MmEyYTJhZmQscmVnMTU9PGNsZWFy ZWQ+LG1ldGFkYXRhPTxjbGVhcmVkPiBhY3Rpb25zPW1vZF9kbF9kc3Q6MDA6MDA6MDA6MDA6MTA6 MWIiXSkKKysKKysjIFdhaXQgdW50aWwgYWxsIGVudHJpZXMgaW4gT0ZUQUJMRV9NQUNfQ0FDSEVf VVNFIGFyZSBzdGFsZS4KKytPVlNfV0FJVF9VTlRJTChbdGVzdCAkKG92cy1vZmN0bCBkdW1wLWZs b3dzIGJyLWludCB0YWJsZT1PRlRBQkxFX01BQ19DQUNIRV9VU0UgfCBcCisrICAgICAgICAgICAg ICAgICAgICAgICBhd2sgJy9ud19zcmM9MTAuMTAuMTAuMTAwL3twcmludCBzdWJzdHIoJDYsMTAs MSl9JykgLWdlICQoKGFnaW5nX3RoLzIpKV0pCisrT1ZTX1dBSVRfVU5USUwoW3Rlc3QgJChvdnMt b2ZjdGwgZHVtcC1mbG93cyBici1pbnQgdGFibGU9T0ZUQUJMRV9NQUNfQ0FDSEVfVVNFIHwgXAor KyAgICAgICAgICAgICAgICAgICAgICAgYXdrICcvbndfc3JjPTQyLjQyLjQyLjI1My97cHJpbnQg c3Vic3RyKCQ2LDEwLDEpfScpIC1nZSAkKChhZ2luZ190aC8yKSldKQorK09WU19XQUlUX1VOVElM KFt0ZXN0ICQob3ZzLW9mY3RsIGR1bXAtZmxvd3MgYnItaW50IHRhYmxlPU9GVEFCTEVfTUFDX0NB Q0hFX1VTRSB8IFwKKysgICAgICAgICAgICAgICAgICAgICAgIGF3ayAnL2lwdjZfc3JjPWZkMTE6 OjY0L3twcmludCBzdWJzdHIoJDYsMTAsMSl9JykgLWdlICQoKGFnaW5nX3RoLzIpKV0pCisrT1ZT X1dBSVRfVU5USUwoW3Rlc3QgJChvdnMtb2ZjdGwgZHVtcC1mbG93cyBici1pbnQgdGFibGU9T0ZU QUJMRV9NQUNfQ0FDSEVfVVNFIHwgXAorKyAgICAgICAgICAgICAgICAgICAgICAgYXdrICcvaXB2 Nl9zcmM9ZmQxMjo6NjQve3ByaW50IHN1YnN0cigkNiwxMCwxKX0nKSAtZ2UgJCgoYWdpbmdfdGgv MikpXSkKKysKKysjIFNlbmQgdHJhZmZpYyB0byB0cmlnZ2VyIHByb2JpbmcgZm9yIGFsbCBlbnRy aWVzLgorKyMgQWdhaW4gdXNlIGRpZmZlcmVudCBzcmMgTUFDcyB0byBvbmx5IGhpdCBPRlRBQkxF X01BQ19CSU5ESU5HIChub3QgTUFDX0NBQ0hFX1VTRSkuCisrc2VuZF91ZHAgaHYxIHZpZjEgMDA6 MDA6MDA6MDA6MTA6MDAgMDA6MDA6MDA6MDA6MTA6MmEgNDIuNDIuNDIuMjUzIDEwLjEwLjEwLjEw MAorK3NlbmRfdWRwIGh2MSB2aWYxIDAwOjAwOjAwOjAwOjEwOjAwIDAwOjAwOjAwOjAwOjEwOjJi IDEwLjEwLjEwLjEwMCA0Mi40Mi40Mi4yNTMKKytzZW5kX3VkcDYgaHYxIHZpZjEgMDA6MDA6MDA6 MDA6MTA6MDAgMDA6MDA6MDA6MDA6MTA6MmEgZmQxMjo6NjQgZmQxMTo6NjQKKytzZW5kX3VkcDYg aHYxIHZpZjEgMDA6MDA6MDA6MDA6MTA6MDAgMDA6MDA6MDA6MDA6MTA6MmIgZmQxMTo6NjQgZmQx Mjo6NjQKKysKKysjIFZlcmlmeSBBUlAgcHJvYmVzIHVzZSB0aGUgY29ycmVjdCBzb3VyY2UgSVBz IGZyb20gbWF0Y2hpbmcgc3VibmV0cy4KKysjIEFSUCBmb3IgMTAuMTAuMTAuMTAwIG11c3QgdXNl IHNvdXJjZSBJUCAxMC4xMC4xMC4xIChmaXJzdCBzdWJuZXQpLgorK2R1bXBfYXJwIDEgMDA6MDA6 MDA6MDA6MTA6MDAgZmY6ZmY6ZmY6ZmY6ZmY6ZmYgMTAuMTAuMTAuMSAxMC4xMC4xMC4xMDAgMDA6 MDA6MDA6MDA6MDA6MDAgPiBleHBlY3RlZAorKyMgQVJQIGZvciA0Mi40Mi40Mi4yNTMgbXVzdCB1 c2Ugc291cmNlIElQIDQyLjQyLjQyLjEgKHNlY29uZCBzdWJuZXQpLgorK2R1bXBfYXJwIDEgMDA6 MDA6MDA6MDA6MTA6MDAgZmY6ZmY6ZmY6ZmY6ZmY6ZmYgNDIuNDIuNDIuMSA0Mi40Mi40Mi4yNTMg MDA6MDA6MDA6MDA6MDA6MDAgPj4gZXhwZWN0ZWQKKytPVk5fQ0hFQ0tfUEFDS0VUU19DT05UQUlO KFtodjEvdmlmMS10eC5wY2FwXSwgW2V4cGVjdGVkXSkKKysKKysjIFZlcmlmeSBOUyBwcm9iZXMg dXNlIHRoZSBjb3JyZWN0IHNvdXJjZSBJUHMgZnJvbSBtYXRjaGluZyBzdWJuZXRzLgorKyMgTlMg Zm9yIGZkMTE6OjY0IG11c3QgdXNlIHNvdXJjZSBJUCBmZDExOjoxIChmaXJzdCBJUHY2IHN1Ym5l dCkuCisrZHVtcF9ucyAzMzozMzpmZjowMDowMDo2NCAwMDowMDowMDowMDoxMDowMCBmZjAyOjox OmZmMDA6NjQgZmQxMTo6MSBmZDExOjo2NCA+IGV4cGVjdGVkX3Y2CisrIyBOUyBmb3IgZmQxMjo6 NjQgbXVzdCB1c2Ugc291cmNlIElQIGZkMTI6OjEgKHNlY29uZCBJUHY2IHN1Ym5ldCkuCisrZHVt cF9ucyAzMzozMzpmZjowMDowMDo2NCAwMDowMDowMDowMDoxMDowMCBmZjAyOjoxOmZmMDA6NjQg ZmQxMjo6MSBmZDEyOjo2NCA+PiBleHBlY3RlZF92NgorK09WTl9DSEVDS19QQUNLRVRTX0NPTlRB SU4oW2h2MS92aWYxLXR4LnBjYXBdLCBbZXhwZWN0ZWRfdjZdKQorKworKyMgU2VuZCBBUlAvTkEg cmVwbGllcyBhbmQgY2hlY2sgTUFDX0JpbmRpbmcgVVVJRHMgcmVtYWluIGNvbnNpc3RlbnQuCisr c2VuZF9nYXJwIGh2MSB2aWYxIDIgMDA6MDA6MDA6MDA6MTA6MWEgMDA6MDA6MDA6MDA6MTA6MDAg MTAuMTAuMTAuMTAwIDEwLjEwLjEwLjEKKytzZW5kX2dhcnAgaHYxIHZpZjEgMiAwMDowMDowMDow MDoxMDoxYiAwMDowMDowMDowMDoxMDowMCA0Mi40Mi40Mi4yNTMgNDIuNDIuNDIuMQorK3NlbmRf bmEgaHYxIHZpZjEgMDA6MDA6MDA6MDA6MTA6MWEgMDA6MDA6MDA6MDA6MTA6MDAgZmQxMTo6NjQg ZmQxMTo6MQorK3NlbmRfbmEgaHYxIHZpZjEgMDA6MDA6MDA6MDA6MTA6MWIgMDA6MDA6MDA6MDA6 MTA6MDAgZmQxMjo6NjQgZmQxMjo6MQorKworK2NoZWNrX2NvbHVtbiAiJHV1aWRfdjRfMSIgTWFj X0JpbmRpbmcgX3V1aWQgaXA9MTAuMTAuMTAuMTAwCisrY2hlY2tfY29sdW1uICIkdXVpZF92NF8y IiBNYWNfQmluZGluZyBfdXVpZCBpcD00Mi40Mi40Mi4yNTMKKytjaGVja19jb2x1bW4gIiR1dWlk X3Y2XzEiIE1hY19CaW5kaW5nIF91dWlkIGlwPVwiZmQxMTo6NjRcIgorK2NoZWNrX2NvbHVtbiAi JHV1aWRfdjZfMiIgTWFjX0JpbmRpbmcgX3V1aWQgaXA9XCJmZDEyOjo2NFwiCisrCisrT1ZOX0NM RUFOVVAoW2h2MV0pCisrQVRfQ0xFQU5VUAorK10pCisrCisgT1ZOX0ZPUl9FQUNIX05PUlRIRChb CisgQVRfU0VUVVAoW01BQyBiaW5kaW5nIGFnaW5nIC0gcHJvYmluZyBkaXN0cmlidXRlZCBHVyBy b3V0ZXJdKQorIEFUX1NLSVBfSUYoW3Rlc3QgJEhBVkVfU0NBUFkgPSBub10pCitAQCAtNDQ1OTks MTYwICs0NDg1NCw2IEBAIE9WTl9DTEVBTlVQKFtodjFdKQorIEFUX0NMRUFOVVAKKyBdKQorIAor LU9WTl9GT1JfRUFDSF9OT1JUSEQoWworLUFUX1NFVFVQKFtHQVJQIGRlbGl2ZXJ5OiBndyBhbmQg ZXh0ZXJuYWwgcG9ydHNdKQorLUFUX1NLSVBfSUYoW3Rlc3QgJEhBVkVfU0NBUFkgPSBub10pCist b3ZuX3N0YXJ0CistCistIyBDb25maWd1cmUgaW5pdGlhbCBlbnZpcm9ubWVudAorLSMgTFIxOiBk b3duX2xpbmsgPC0+IExTMTogdXBfbGluaworLSMgc2V0IGxyX2Rvd246IGdhdGV3YXkgcG9ydCAo Y2hhc3NpcyByZWRpcmVjdCkgYm91bmQgdG8gaHYxCistIyBMUzE6IGRvd25fdmlmMSAtIHZpZiBw b3J0IGJvdW5kIHRvIGh2MQorLSMgICAgICBkb3duX3ZpZjIgLSB2aWYgcG9ydCBib3VuZCB0byBo djIKKy0jICAgICAgZG93bl9leHQgLSBvdXRlciAocG9ydCB3aWxsIGJlIGl0ZXJhdGVkIGFzIGxv Y2FsbmV0LCBsMmdhdGV3YXkpCistIworLSMgVGVzdDogc2VuZCBHQVJQIHJlcXVlc3QgZnJvbSB2 aXJ0dWFsIHBvcnRzIChkb3duX3ZpZjEsIGRvd25fdmlmMikKKy0jICAgICAgIGVuc3VyZSBtYWNf YmluZGluZyBpcyBhbHdheXMgdXBkYXRlZC4KKy0jICAgICAgIChGaXhpbmcgdGhlIGlzc3VlOiBt YWNfYmluZGluZyBpcyBvbmx5IHVwZGF0ZWQgZm9yIHBhY2tldHMgY2FtZSBmcm9tCistIyAgICAg ICAgZG93bl9saW5rJ3MgcmVzaWRlbnQgY2hhc3NpcykKKy0jICAgICAgIHNlbmQgR0FSUCByZXF1 ZXN0IGZyb20gZnJvbSBsb2NhbG5ldC4KKy0jICAgICAgIGVuc3VyZSBtYWNfYmluZGluZyBpcyB1 cGRhdGVkIG9ubHkgaWYgbG9jYWxuZXQgYm91bmQgdG8gc2FtZSBodiBhcyBsM2RndworLQorLWNo ZWNrIG92bi1uYmN0bCBsci1hZGQgbHIxCistY2hlY2sgb3ZuLW5iY3RsIGxycC1hZGQgbHIxIGRv d25fbGluayBmMDowMDowMDowMDowMDpmMSAxOTIuMTY4LjEuMS8yNAorLQorLWNoZWNrIG92bi1u YmN0bCBscy1hZGQgbHMxCistY2hlY2sgb3ZuLW5iY3RsIGxzcC1hZGQgbHMxIHVwX2xpbmsKKy1j aGVjayBvdm4tbmJjdGwgbHNwLWFkZCBsczEgZG93bl92aWYxCistY2hlY2sgb3ZuLW5iY3RsIGxz cC1hZGQgbHMxIGRvd25fdmlmMgorLWNoZWNrIG92bi1uYmN0bCBsc3AtYWRkIGxzMSBkb3duX2V4 dAorLQorLWNoZWNrIG92bi1uYmN0bCBzZXQgTG9naWNhbF9Td2l0Y2hfUG9ydCB1cF9saW5rIFwK Ky0gICAgdHlwZT1yb3V0ZXIgXAorLSAgICBvcHRpb25zOnJvdXRlci1wb3J0PWRvd25fbGluayBc CistICAgIGFkZHJlc3Nlcz1yb3V0ZXIKKy0KKy1jaGVjayBvdm4tbmJjdGwgbHNwLXNldC1hZGRy ZXNzZXMgZG93bl92aWYxICdmMDowMDowMDowMDowMDowMSAxOTIuMTY4LjEuMTAxJworLWNoZWNr IG92bi1uYmN0bCBsc3Atc2V0LWFkZHJlc3NlcyBkb3duX3ZpZjIgJ2YwOjAwOjAwOjAwOjAwOjAy IDE5Mi4xNjguMS4xMDInCistCistY2hlY2sgb3ZuLW5iY3RsIGxzcC1zZXQtdHlwZSBkb3duX2V4 dCBsb2NhbG5ldAorLWNoZWNrIG92bi1uYmN0bCBsc3Atc2V0LW9wdGlvbnMgZG93bl9leHQgbmV0 d29ya19uYW1lPXBoeXNuZXQxCistY2hlY2sgb3ZuLW5iY3RsIGxycC1zZXQtZ2F0ZXdheS1jaGFz c2lzIGRvd25fbGluayBodjEKKy0KKy1uZXRfYWRkIG4xCistCistIyBDcmVhdGUgaHlwZXJ2aXNv ciBodjEgY29ubmVjdGVkIHRvIG4xCistc2ltX2FkZCBodjEKKy1hcyBodjEKKy1vdnMtdnNjdGwg YWRkLWJyIGJyLXBoeXMKKy1vdm5fYXR0YWNoIG4xIGJyLXBoeXMgMTkyLjE2OC4wLjEKKy1vdnMt dnNjdGwgYWRkLXBvcnQgYnItaW50IHZpZjEgLS0gXAorLSAgICBzZXQgSW50ZXJmYWNlIHZpZjEg ZXh0ZXJuYWwtaWRzOmlmYWNlLWlkPWRvd25fdmlmMSBcCistICAgIG9wdGlvbnM6dHhfcGNhcD1o djEvdmlmMS10eC5wY2FwIG9wdGlvbnM6cnhxX3BjYXA9aHYxL3ZpZjEtcngucGNhcAorLQorLSMg Q3JlYXRlIGh5cGVydmlzb3IgaHYyIGNvbm5lY3RlZCB0byBuMSwgYWRkIGxvY2FsbmV0IGhlcmUK Ky1zaW1fYWRkIGh2MgorLWFzIGh2MgorLW92cy12c2N0bCBhZGQtYnIgYnItcGh5cworLW92cy12 c2N0bCBhZGQtYnIgYnItZXRoMAorLW92bl9hdHRhY2ggbjEgYnItcGh5cyAxOTIuMTY4LjAuMgor LW92cy12c2N0bCBhZGQtcG9ydCBici1pbnQgdmlmMiAtLSBcCistICAgIHNldCBJbnRlcmZhY2Ug dmlmMiBleHRlcm5hbC1pZHM6aWZhY2UtaWQ9ZG93bl92aWYyIFwKKy0gICAgb3B0aW9uczp0eF9w Y2FwPWh2Mi92aWYyLXR4LnBjYXAgb3B0aW9uczpyeHFfcGNhcD1odjIvdmlmMi1yeC5wY2FwCist Cistb3ZzLXZzY3RsIHNldCBPcGVuX3ZTd2l0Y2ggLiBleHRlcm5hbF9pZHM6b3ZuLWJyaWRnZS1t YXBwaW5ncz0icGh5c25ldDE6YnItZXRoMCIKKy0KKy1vdnMtdnNjdGwgYWRkLXBvcnQgYnItZXRo MCB2aWZfZXh0IC0tIFwKKy0gICAgc2V0IEludGVyZmFjZSB2aWZfZXh0IG9wdGlvbnM6dHhfcGNh cD1odjIvdmlmX2V4dC10eC5wY2FwIFwKKy0gICAgb3B0aW9uczpyeHFfcGNhcD1odjIvdmlmX2V4 dC1yeC5wY2FwCistCistIyBQcmUtcG9wdWxhdGUgdGhlIGh5cGVydmlzb3JzJyBBUlAgdGFibGVz IHNvIHRoYXQgd2UgZG9uJ3QgbG9zZSBhbnkKKy0jIHBhY2tldHMgZm9yIEFSUCByZXNvbHV0aW9u IChuYXRpdmUgdHVubmVsaW5nIGRvZXNuJ3QgcXVldWUgcGFja2V0cworLSMgZm9yIEFSUCByZXNv bHV0aW9uKS4KKy1PVk5fUE9QVUxBVEVfQVJQCistCistd2FpdF9mb3JfcG9ydHNfdXAKKy1jaGVj ayBvdm4tbmJjdGwgLS13YWl0PWh2IHN5bmMKKy0KKy0jIEFubm9uY2UgMTkyLjE2OC4xLjIyMiBm cm9tIGxvY2FsbmV0IGluIGh2MgorLSMgcmVzdWx0OiBkcm9wLCBodjIgaXMgbm90IGdhdGV3YXkg Y2hhc3NpcyBmb3IgZG93bl9saW5rCistc2hhPTAyOjAwOjAwOjAwOjAwOmVlCistdGhhPTAwOjAw OjAwOjAwOjAwOjAwCistc3BhPTE5Mi4xNjguMS4yMjIKKy10cGE9JHNwYQorLWdhcnA9JChmbXRf cGt0ICJFdGhlcihkc3Q9J2ZmOmZmOmZmOmZmOmZmOmZmJywgc3JjPScke3NoYX0nKS8gXAorLSAg ICAgICAgICAgICAgICBBUlAoaHdzcmM9JyR7c2hhfScsIGh3ZHN0PScke3RoYX0nLCBwc3JjPSck e3NwYX0nLCBwZHN0PScke3RwYX0nKSIpCistYXMgaHYyIG92cy1hcHBjdGwgbmV0ZGV2LWR1bW15 L3JlY2VpdmUgdmlmX2V4dCAkZ2FycAorLQorLSMgTWFrZSBodjIgZ2F0ZXdheSBjaGFzc2lzCist IyBBbm5vbmNlIDE5Mi4xNjguMS4yMjMgZnJvbSBsb2NhbG5ldCBpbiBodjIKKy0jIHJlc3VsdDog b2ssIGh2MiBpcyBnYXRld2F5IGNoYXNzaXMgZm9yIGRvd25fbGluaworLSMKKy1jaGVjayBvdm4t bmJjdGwgbHJwLXNldC1nYXRld2F5LWNoYXNzaXMgZG93bl9saW5rIGh2MgorLQorLXdhaXRfcm93 X2NvdW50IFBvcnRfQmluZGluZyAxIGxvZ2ljYWxfcG9ydD1jci1kb3duX2xpbmsgJ2NoYXNzaXMh PVtbXV0nCistY2hlY2sgb3ZuLW5iY3RsIC0td2FpdD1odiBzeW5jCistCistc2hhPTAyOjAwOjAw OjAwOjAwOmVlCistdGhhPTAwOjAwOjAwOjAwOjAwOjAwCistc3BhPTE5Mi4xNjguMS4yMjMKKy10 cGE9JHNwYQorLWdhcnA9JChmbXRfcGt0ICJFdGhlcihkc3Q9J2ZmOmZmOmZmOmZmOmZmOmZmJywg c3JjPScke3NoYX0nKS8gXAorLSAgICAgICAgICAgICAgICBBUlAoaHdzcmM9JyR7c2hhfScsIGh3 ZHN0PScke3RoYX0nLCBwc3JjPScke3NwYX0nLCBwZHN0PScke3RwYX0nKSIpCistYXMgaHYyIG92 cy1hcHBjdGwgbmV0ZGV2LWR1bW15L3JlY2VpdmUgdmlmX2V4dCAkZ2FycAorLQorLSMgQW5ub25j ZSAxOTIuMTY4LjEuMTExLCAxMTIgZnJvbSB2aWYxLCB2aWYyIGluIGh2MSwgaHYyCistIyByZXN1 bHQ6IG9rLCB2aWYxLCB2aWYyIGFyZSB2aXJ0dWFsIHBvcnRzLCByZXN0cmljdGlvbnMgYXJlIG5v dCBhcHBsaWVkLgorLXNoYT1mMDowMDowMDowMDowMDowMQorLXRoYT0wMDowMDowMDowMDowMDow MAorLXNwYT0xOTIuMTY4LjEuMTExCistdHBhPTAuMC4wLjAKKy1nYXJwPSQoZm10X3BrdCAiRXRo ZXIoZHN0PSdmZjpmZjpmZjpmZjpmZjpmZicsIHNyYz0nJHtzaGF9JykvIFwKKy0gICAgICAgICAg ICAgICAgQVJQKGh3c3JjPScke3NoYX0nLCBod2RzdD0nJHt0aGF9JywgcHNyYz0nJHtzcGF9Jywg cGRzdD0nJHt0cGF9JykiKQorLWFzIGh2MSBvdnMtYXBwY3RsIG5ldGRldi1kdW1teS9yZWNlaXZl IHZpZjEgJGdhcnAKKy0KKy1zaGE9ZjA6MDA6MDA6MDA6MDA6MDIKKy10aGE9MDA6MDA6MDA6MDA6 MDA6MDAKKy1zcGE9MTkyLjE2OC4xLjExMgorLXRwYT0wLjAuMC4wCistZ2FycD0kKGZtdF9wa3Qg IkV0aGVyKGRzdD0nZmY6ZmY6ZmY6ZmY6ZmY6ZmYnLCBzcmM9JyR7c2hhfScpLyBcCistICAgICAg ICAgICAgICAgIEFSUChod3NyYz0nJHtzaGF9JywgaHdkc3Q9JyR7dGhhfScsIHBzcmM9JyR7c3Bh fScsIHBkc3Q9JyR7dHBhfScpIikKKy1hcyBodjIgb3ZzLWFwcGN0bCBuZXRkZXYtZHVtbXkvcmVj ZWl2ZSB2aWYyICRnYXJwCistCistIyBTZXQgZG93bl9leHQgdHlwZSB0byBsMmdhdGV3YXkKKy0j IEFubm9uY2UgMTkyLjE2OC4xLjExMywgMTE0IGZyb20gdmlmMSwgdmlmMiBpbiBodjEsIGh2Mgor LSMgcmVzdWx0OiBvaywgdmlmMSwgdmlmMiBhcmUgdmlydHVhbCBwb3J0cywgcmVzdHJpY3Rpb25z IGFyZSBub3QgYXBwbGllZC4KKy1jaGVjayBvdm4tbmJjdGwgLS13YWl0PWh2IGxzcC1zZXQtdHlw ZSBkb3duX2V4dCBsMmdhdGV3YXkKKy0KKy1zaGE9ZjA6MDA6MDA6MDA6MDA6MDEKKy10aGE9MDA6 MDA6MDA6MDA6MDA6MDAKKy1zcGE9MTkyLjE2OC4xLjExMworLXRwYT0wLjAuMC4wCistZ2FycD0k KGZtdF9wa3QgIkV0aGVyKGRzdD0nZmY6ZmY6ZmY6ZmY6ZmY6ZmYnLCBzcmM9JyR7c2hhfScpLyBc CistICAgICAgICAgICAgICAgIEFSUChod3NyYz0nJHtzaGF9JywgaHdkc3Q9JyR7dGhhfScsIHBz cmM9JyR7c3BhfScsIHBkc3Q9JyR7dHBhfScpIikKKy1hcyBodjEgb3ZzLWFwcGN0bCBuZXRkZXYt ZHVtbXkvcmVjZWl2ZSB2aWYxICRnYXJwCistCistc2hhPWYwOjAwOjAwOjAwOjAwOjAyCistdGhh PTAwOjAwOjAwOjAwOjAwOjAwCistc3BhPTE5Mi4xNjguMS4xMTQKKy10cGE9MC4wLjAuMAorLWdh cnA9JChmbXRfcGt0ICJFdGhlcihkc3Q9J2ZmOmZmOmZmOmZmOmZmOmZmJywgc3JjPScke3NoYX0n KS8gXAorLSAgICAgICAgICAgICAgICBBUlAoaHdzcmM9JyR7c2hhfScsIGh3ZHN0PScke3RoYX0n LCBwc3JjPScke3NwYX0nLCBwZHN0PScke3RwYX0nKSIpCistYXMgaHYyIG92cy1hcHBjdGwgbmV0 ZGV2LWR1bW15L3JlY2VpdmUgdmlmMiAkZ2FycAorLQorLXdhaXRfcm93X2NvdW50IE1BQ19CaW5k aW5nIDEgaXA9IjE5Mi4xNjguMS4xMTEiIG1hYz0nImYwOjAwOjAwOjAwOjAwOjAxIicgbG9naWNh bF9wb3J0PSciZG93bl9saW5rIicKKy13YWl0X3Jvd19jb3VudCBNQUNfQmluZGluZyAxIGlwPSIx OTIuMTY4LjEuMTEyIiBtYWM9JyJmMDowMDowMDowMDowMDowMiInIGxvZ2ljYWxfcG9ydD0nImRv d25fbGluayInCistd2FpdF9yb3dfY291bnQgTUFDX0JpbmRpbmcgMSBpcD0iMTkyLjE2OC4xLjEx MyIgbWFjPSciZjA6MDA6MDA6MDA6MDA6MDEiJyBsb2dpY2FsX3BvcnQ9JyJkb3duX2xpbmsiJwor LXdhaXRfcm93X2NvdW50IE1BQ19CaW5kaW5nIDEgaXA9IjE5Mi4xNjguMS4xMTQiIG1hYz0nImYw OjAwOjAwOjAwOjAwOjAyIicgbG9naWNhbF9wb3J0PSciZG93bl9saW5rIicKKy13YWl0X3Jvd19j b3VudCBNQUNfQmluZGluZyAxIGlwPSIxOTIuMTY4LjEuMjIzIiBtYWM9JyIwMjowMDowMDowMDow MDplZSInIGxvZ2ljYWxfcG9ydD0nImRvd25fbGluayInCistd2FpdF9yb3dfY291bnQgTUFDX0Jp bmRpbmcgMCBpcD0iMTkyLjE2OC4xLjIyMiIgbWFjPSciMDI6MDA6MDA6MDA6MDA6ZWUiJyBsb2dp Y2FsX3BvcnQ9JyJkb3duX2xpbmsiJworLQorLWNoZWNrIG92bi1uYmN0bCAtLXdhaXQ9aHYgbHNw LXNldC10eXBlIGRvd25fZXh0IGxvY2FsbmV0CistCistT1ZOX0NMRUFOVVAoW2h2MV0sW2h2Ml0p CistQVRfQ0xFQU5VUAorLV0pCistCisgT1ZOX0ZPUl9FQUNIX05PUlRIRChbCisgQVRfU0VUVVAo W1BvcnQgc2VjdXJpdHkgLSBWUlJQdjMgQVJQL05EXSkKKyBBVF9TS0lQX0lGKFt0ZXN0ICRIQVZF X1NDQVBZID0gbm9dKQorQEAgLTQ1OTY4LDMgKzQ2MDY5LDY2IEBAIEFUX0NIRUNLKFtncmVwIC1x ICJXQVJOLipkeW5hbWljLXJvdXRpbmciIGh2L292bi1jb250cm9sbGVyLmxvZ10sIFsxXSkKKyBP Vk5fQ0xFQU5VUChbaHZdKQorIEFUX0NMRUFOVVAKKyBdKQorKworK09WTl9GT1JfRUFDSF9OT1JU SEQoWworK0FUX1NFVFVQKFtJUHY0IG92ZXIgdjYgTmVpZ2ggc29saWNpdGF0aW9uIHRlc3RdKQor K292bl9zdGFydAorKworK25ldF9hZGQgbjEKKytzaW1fYWRkIGh2Cisrb3ZzLXZzY3RsIGFkZC1i ciBici1waHlzCisrb3ZuX2F0dGFjaCBuMSBici1waHlzIDE5Mi4xNjguMC4xCisrb3ZzLXZzY3Rs IHNldCBvcGVuIC4gZXh0ZXJuYWwtaWRzOm92bi1icmlkZ2UtbWFwcGluZ3M9cGh5czpici1waHlz CisrCisrY2hlY2sgb3ZuLW5iY3RsIGxzLWFkZCBzdzAKKytjaGVjayBvdm4tbmJjdGwgbHNwLWFk ZCBzdzAgc3cwLXBvcnQxCisrY2hlY2sgb3ZuLW5iY3RsIGxzcC1zZXQtYWRkcmVzc2VzIHN3MC1w b3J0MSAiNTA6NTQ6MDA6MDA6MDA6MDEgMTAuMC4wLjMiCisrCisrY2hlY2sgb3ZuLW5iY3RsIGxy LWFkZCBscjAKKytjaGVjayBvdm4tbmJjdGwgbHJwLWFkZCBscjAgbHIwLXN3MCAwMDowMDowMDow MDpmZjowMSAxMC4wLjAuMS8yNCAxMDAwOjoxLzY0CisrY2hlY2sgb3ZuLW5iY3RsIGxzcC1hZGQt cm91dGVyLXBvcnQgc3cwIHN3MC1scjAgbHIwLXN3MAorKworK2NoZWNrIG92bi1uYmN0bCBscy1h ZGQgcHVibGljCisrY2hlY2sgb3ZuLW5iY3RsIGxycC1hZGQgbHIwIGxyMC1wdWJsaWMgMDA6MDA6 MjA6MjA6MTI6MTMKKytjaGVjayBvdm4tbmJjdGwgbHNwLWFkZC1yb3V0ZXItcG9ydCBwdWJsaWMg cHVibGljLWxyMCBscjAtcHVibGljCisrCisrIyBsb2NhbG5ldCBwb3J0CisrY2hlY2sgb3ZuLW5i Y3RsIGxzcC1hZGQtbG9jYWxuZXQtcG9ydCBwdWJsaWMgbG4tcHVibGljIHBoeXMKKysKKytjaGVj ayBvdm4tbmJjdGwgbHJwLXNldC1nYXRld2F5LWNoYXNzaXMgbHIwLXB1YmxpYyBodiAyMAorK2No ZWNrIG92bi1uYmN0bCBsci1uYXQtYWRkIGxyMCBkbmF0X2FuZF9zbmF0IDE3Mi4xNjguMC4xMTAg MTAuMC4wLjMKKysKKytvdnMtdnNjdGwgLS0gYWRkLXBvcnQgYnItaW50IHZpZjEgLS0gXAorKyAg ICBzZXQgaW50ZXJmYWNlIHZpZjEgZXh0ZXJuYWwtaWRzOmlmYWNlLWlkPXN3MC1wb3J0MSBcCisr ICAgIG9wdGlvbnM6dHhfcGNhcD1odi92aWYxLXR4LnBjYXAgXAorKyAgICBvcHRpb25zOnJ4cV9w Y2FwPWh2L3ZpZjEtcngucGNhcCBcCisrICAgIG9mcG9ydC1yZXF1ZXN0PTEKKysKKyt3YWl0X2Zv cl9wb3J0c191cAorKworKyMgQWRkIGEgbGVhcm50IHJvdXRlIG1hbnVhbGx5CisrZHBfdXVpZD0k KGZldGNoX2NvbHVtbiBkYXRhcGF0aCBfdXVpZCBleHRlcm5hbF9pZHM6bmFtZT1scjApCisrbHJw X3V1aWQ9JChmZXRjaF9jb2x1bW4gcG9ydF9iaW5kaW5nIF91dWlkIGxvZ2ljYWxfcG9ydD1scjAt cHVibGljKQorKworK2NoZWNrX3V1aWQgb3ZuLXNiY3RsIGNyZWF0ZSBsZWFybmVkX3JvdXRlIGRh dGFwYXRoPSRkcF91dWlkIGxvZ2ljYWxfcG9ydD0kbHJwX3V1aWQgXAorK2lwX3ByZWZpeD0wLjAu MC4wLzAgbmV4dGhvcD0nImZlODA6OjQyOmZmOmZlMDA6MWZmIicKKysKKytjaGVjayBvdm4tbmJj dGwgLS13YWl0PWh2IHN5bmMKKysKKysjIFNlbmQgYW4gSVB2NCBwYWNrZXQgZnJvbSBzdzAtcG9y dDEgZGVzdGluZWQgdG8gb3V0c2lkZQorK3BhY2tldD0kKGZtdF9wa3QgIkV0aGVyKGRzdD0nMDA6 MDA6MDA6MDA6ZmY6MDEnLCBzcmM9JzUwOjU0OjAwOjAwOjAwOjAxJykvIFwKKysgICAgICAgICAg ICAgICAgICAgICAgSVAoZHN0PSc4LjguOC44Jywgc3JjPScxMC4wLjAuMycpL0lDTVAoKSIpCisr Y2hlY2sgYXMgaHYgb3ZzLWFwcGN0bCBuZXRkZXYtZHVtbXkvcmVjZWl2ZSB2aWYxICRwYWNrZXQK KysKKytuZF9ucz0kKGZtdF9wa3QgIkV0aGVyKGRzdD0nMzM6MzM6ZmY6MDA6MDE6ZmYnLCBzcmM9 JzAwOjAwOjIwOjIwOjEyOjEzJykvIFwKKysgICAgICAgICAgICAgICAgICAgICAgIElQdjYoc3Jj PSdmZTgwOjoyMDA6MjBmZjpmZTIwOjEyMTMnLCBcCisrICAgICAgICAgICAgICAgICAgICAgICBk c3Q9J2ZmMDI6OjE6ZmYwMDoxZmYnKS9JQ01QdjZORF9OUyh0Z3Q9J2ZlODA6OjQyOmZmOmZlMDA6 MWZmJykvXAorKyAgICAgICAgICAgICAgICAgICAgICAgSUNNUHY2TkRPcHRTcmNMTEFkZHIobGxh ZGRyPScwMDowMDoyMDoyMDoxMjoxMycpIikKKysKKytlY2hvICRuZF9ucyA+IGV4cGVjdGVkX25k X25zCisrT1ZOX0NIRUNLX1BBQ0tFVFNfQ09OVEFJTihbaHYvYnItcGh5c19uMS10eC5wY2FwXSwg W2V4cGVjdGVkX25kX25zXSkKKysKKytPVk5fQ0xFQU5VUChbaHZdKQorK0FUX0NMRUFOVVAKKytd KQorKworZGlmZiAtLWdpdCBhL3Rlc3RzL3N5c3RlbS1kcGRrLW1hY3Jvcy5hdCBiL3Rlc3RzL3N5 c3RlbS1kcGRrLW1hY3Jvcy5hdAoraW5kZXggMGQwYTE5MTMwNS4uNmViNjg4ODM4NiAxMDA2NDQK Ky0tLSBhL3Rlc3RzL3N5c3RlbS1kcGRrLW1hY3Jvcy5hdAorKysrIGIvdGVzdHMvc3lzdGVtLWRw ZGstbWFjcm9zLmF0CitAQCAtNDMsNyArNDMsNyBAQCBtNF9kZWZpbmUoW09WU19UUkFGRklDX1ZT V0lUQ0hEX1NUQVJUXSwKKyAgIFtPVlNfRFBES19QUkVfQ0hFQ0soKQorICAgIE9WU19XQUlUX1dI SUxFKFtpcCBsaW5rIHNob3cgb3ZzLW5ldGRldl0pCisgICAgX09WU19WU1dJVENIRF9TVEFSVChb LS1kaXNhYmxlLXN5c3RlbV0sCistICAgICAgICAgICAgICAgICAgICAgICBbLS0gc2V0IE9wZW5f dlN3aXRjaCAuIG90aGVyX2NvbmZpZzpkcGRrLWluaXQ9dHJ1ZSBvdGhlcl9jb25maWc6ZHBkay1l eHRyYT0iLS1sb2ctbGV2ZWw9cG1kLio6ZXJyb3IgLS1uby1wY2kiXSkKKysgICAgICAgICAgICAg ICAgICAgICAgIFstLSBzZXQgT3Blbl92U3dpdGNoIC4gb3RoZXJfY29uZmlnOmRwZGstaW5pdD10 cnVlIG90aGVyX2NvbmZpZzpwbWQtY3B1LW1hc2s9MHgxIG90aGVyX2NvbmZpZzpkcGRrLWV4dHJh PSItLWxvZy1sZXZlbD1wbWQuKjplcnJvciAtLW5vLXBjaSJdKQorICAgIGRubCBBZGQgYnJpZGdl cywgcG9ydHMsIGV0Yy4KKyAgICBPVlNfV0FJVF9XSElMRShbaXAgbGluayBzaG93IGJyMF0pCisg ICAgQVRfQ0hFQ0soW292cy12c2N0bCAtLSBfQUREX0JSKFticjBdKSAtLSAkMSBtNF9pZihbJDJd LCBbXSwgW10sIFt8IHV1aWRmaWx0XSldLCBbMF0sIFskMl0pCitkaWZmIC0tZ2l0IGEvdGVzdHMv c3lzdGVtLW92bi5hdCBiL3Rlc3RzL3N5c3RlbS1vdm4uYXQKK2luZGV4IDU4MmVkMTk0YjUuLjY3 NDc3ODJlY2UgMTAwNjQ0CistLS0gYS90ZXN0cy9zeXN0ZW0tb3ZuLmF0CisrKysgYi90ZXN0cy9z eXN0ZW0tb3ZuLmF0CitAQCAtNDYxNiw4ICs0NjE2LDcgQEAgT1ZOX0NMRUFOVVBfTk9SVEhECisg YXMKKyBPVlNfVFJBRkZJQ19WU1dJVENIRF9TVE9QKFsiL2ZhaWxlZCB0byBxdWVyeSBwb3J0IHBh dGNoLS4qL2QKKyAvY29ubmVjdGlvbiBkcm9wcGVkLiovZAorLS9TZXJ2aWNlIG1vbml0b3Igbm90 IGZvdW5kLiovZAorLS9oYW5kbGUgc2VydmljZSBjaGVjazogVW5zdXBwb3J0ZWQgcHJvdG9jb2wq L2QiXSkKKysvU2VydmljZSBtb25pdG9yIG5vdCBmb3VuZC4qL2QiXSkKKyAKKyBBVF9DTEVBTlVQ CisgXSkKK0BAIC00ODE2LDggKzQ4MTUsNyBAQCBPVk5fQ0xFQU5VUF9OT1JUSEQKKyBhcworIE9W U19UUkFGRklDX1ZTV0lUQ0hEX1NUT1AoWyIvZmFpbGVkIHRvIHF1ZXJ5IHBvcnQgcGF0Y2gtLiov ZAorIC9jb25uZWN0aW9uIGRyb3BwZWQuKi9kCistL1NlcnZpY2UgbW9uaXRvciBub3QgZm91bmQu Ki9kCistL2hhbmRsZSBzZXJ2aWNlIGNoZWNrOiBVbnN1cHBvcnRlZCBwcm90b2NvbCovZCJdKQor Ky9TZXJ2aWNlIG1vbml0b3Igbm90IGZvdW5kLiovZCJdKQorIAorIEFUX0NMRUFOVVAKKyBdKQor QEAgLTUwMjcsOSArNTAyNSwxMiBAQCBPVlNfV0FJVF9VTlRJTChbCisgICAgIHRlc3QgIiR7bl9y ZXNldH0iID0gIjEiCisgXSkKKyAKKytvdm4tYXBwY3RsIGNvdmVyYWdlL3Nob3cgPiBvdm5fY291 bnRlcnMKKytBVF9DSEVDSyhbdGVzdCA1MCAtZ3QgJChvdm4tYXBwY3RsIC10IG92bi1jb250cm9s bGVyIGNvdmVyYWdlL3JlYWQtY291bnRlciBwaW5jdHJsX25vdGlmeV9oYW5kbGVyX3RocmVhZCld LCBbMF0pCisrCisgIyBDaGVjayB0aGF0IHdlIGRvIG5vdCBnZXQgdG9vIG1hbnkgaW1tZWRpYXRl IHdha2UgdXAuCisgIyBUb2xlcmF0ZSBhIGZldyBmb3IgYW55IHJhY2UgY29uZGl0aW9ucy4KKy1B VF9DSEVDSyhbdGVzdCA1IC1ndCBgY2F0IG92bi1jb250cm9sbGVyLmxvZyB8IFwKKytBVF9DSEVD SyhbdGVzdCA1IC1ndCBgZ3JlcCBvdm5fcGluY3RybDAgb3ZuLWNvbnRyb2xsZXIubG9nIHwgXAor IGdyZXAgLWMgIndha2V1cCBkdWUgdG8gMC1tcyB0aW1lb3V0IGF0IGNvbnRyb2xsZXIvcGluY3Ry bC5jOiJgXSkKKyAKKyBPVk5fQ0xFQU5VUF9DT05UUk9MTEVSKFtodjFdKQorQEAgLTEzODQyLDk5 ICsxMzg0Myw2IEBAIE9WU19UUkFGRklDX1ZTV0lUQ0hEX1NUT1AoWyIvLiplcnJvciByZWNlaXZp bmcuKi9kCisgQVRfQ0xFQU5VUAorIF0pCisgCistT1ZOX0ZPUl9FQUNIX05PUlRIRChbCistQVRf U0VUVVAoW1NCIERpc2Nvbm5lY3QgLSBNQUNfQmluZGluZyBidWZmZXIgbGltaXRdKQorLW92bl9z dGFydAorLU9WU19UUkFGRklDX1ZTV0lUQ0hEX1NUQVJUKCkKKy0KKy1BRERfQlIoW2JyLWludF0p CistQUREX0JSKFtici1leHRdKQorLQorLVNCX1BBVEg9InVuaXg6JG92c19iYXNlL292bi1zYi9v dm4tc2Iuc29jayIKKy1vdnMtb2ZjdGwgYWRkLWZsb3cgYnItZXh0IGFjdGlvbj1ub3JtYWwKKy0j IFNldCBleHRlcm5hbC1pZHMgaW4gYnItaW50IG5lZWRlZCBmb3Igb3ZuLWNvbnRyb2xsZXIKKy1v dnMtdnNjdGwgXAorLSAgICAgICAgLS0gc2V0IE9wZW5fdlN3aXRjaCAuIGV4dGVybmFsLWlkczpz eXN0ZW0taWQ9aHYxIFwKKy0gICAgICAgIC0tIHNldCBPcGVuX3ZTd2l0Y2ggLiBleHRlcm5hbC1p ZHM6b3ZuLXJlbW90ZT0kU0JfUEFUSCBcCistICAgICAgICAtLSBzZXQgT3Blbl92U3dpdGNoIC4g ZXh0ZXJuYWwtaWRzOm92bi1lbmNhcC10eXBlPWdlbmV2ZSBcCistICAgICAgICAtLSBzZXQgT3Bl bl92U3dpdGNoIC4gZXh0ZXJuYWwtaWRzOm92bi1lbmNhcC1pcD0xNjkuMC4wLjEgXAorLSAgICAg ICAgLS0gc2V0IGJyaWRnZSBici1pbnQgZmFpbC1tb2RlPXNlY3VyZSBvdGhlci1jb25maWc6ZGlz YWJsZS1pbi1iYW5kPXRydWUKKy0KKy0jIFN0YXJ0IG92bi1jb250cm9sbGVyCistc3RhcnRfZGFl bW9uIG92bi1jb250cm9sbGVyCistCistQUREX05BTUVTUEFDRVMoc3cwMSkKKy1BRERfVkVUSChz dzAxLCBzdzAxLCBici1pbnQsICIxOTIuMTY4LjEuMTAvMjQiLCAiZjA6MDA6MDA6MDE6MDI6MDMi LCBcCistICAgICAgICAiMTkyLjE2OC4xLjEiKQorLUFERF9OQU1FU1BBQ0VTKHNlcnZlcikKKy1B RERfVkVUSChzMSwgc2VydmVyLCBici1leHQsICIxNzIuMTYuMS4xLzI0IiwgImYwOjAwOjAwOjAx OjAyOjA1IiwgXAorLSAgICAgICAgICIxNzIuMTYuMS4yNTQiKQorLQorLWNoZWNrIG92bi1uYmN0 bCBsci1hZGQgUjEKKy0KKy1jaGVjayBvdm4tbmJjdGwgbHMtYWRkIHN3MAorLWNoZWNrIG92bi1u YmN0bCBscy1hZGQgc3cxCistY2hlY2sgb3ZuLW5iY3RsIGxzLWFkZCBzdy1leHQKKy0KKy1jaGVj ayBvdm4tbmJjdGwgbHJwLWFkZCBSMSBycC1zdzAgMDA6MDA6MDE6MDE6MDI6MDMgMTkyLjE2OC4x LjEvMjQKKy1jaGVjayBvdm4tbmJjdGwgbHJwLWFkZCBSMSBycC1leHQgMDA6MDA6MDI6MDE6MDI6 MDMgMTcyLjE2LjEuMjU0LzE2CistCistY2hlY2sgb3ZuLW5iY3RsIGxycC1zZXQtZ2F0ZXdheS1j aGFzc2lzIHJwLWV4dCBodjEKKy0KKy1jaGVjayBvdm4tbmJjdGwgbHNwLWFkZCBzdzAgc3cwLXJw IC0tIHNldCBMb2dpY2FsX1N3aXRjaF9Qb3J0IHN3MC1ycCBcCistICAgIHR5cGU9cm91dGVyIG9w dGlvbnM6cm91dGVyLXBvcnQ9cnAtc3cwIFwKKy0gICAgLS0gbHNwLXNldC1hZGRyZXNzZXMgc3cw LXJwIHJvdXRlcgorLQorLWNoZWNrIG92bi1uYmN0bCBzZXQgTG9naWNhbF9Td2l0Y2ggc3cwIG90 aGVyX2NvbmZpZzpkaGNwX3JlbGF5X3BvcnQ9c3cwLXJwCistCistY2hlY2sgb3ZuLW5iY3RsIGxz cC1hZGQgc3ctZXh0IGV4dC1ycCAtLSBzZXQgTG9naWNhbF9Td2l0Y2hfUG9ydCBleHQtcnAgXAor LSAgICB0eXBlPXJvdXRlciBvcHRpb25zOnJvdXRlci1wb3J0PXJwLWV4dCBcCistICAgIC0tIGxz cC1zZXQtYWRkcmVzc2VzIGV4dC1ycCByb3V0ZXIKKy1jaGVjayBvdm4tbmJjdGwgbHNwLWFkZC1s b2NhbG5ldC1wb3J0IHN3LWV4dCBsbmV0IHBoeW5ldAorLQorLWNoZWNrIG92bi1uYmN0bCBsc3At YWRkIHN3MCBzdzAxIFwKKy0gICAgLS0gbHNwLXNldC1hZGRyZXNzZXMgc3cwMSAiZjA6MDA6MDA6 MDE6MDI6MDMgMTkyLjE2OC4xLjEwIgorLQorLUFUX0NIRUNLKFtvdnMtdnNjdGwgc2V0IE9wZW5f dlN3aXRjaCAuIGV4dGVybmFsLWlkczpvdm4tYnJpZGdlLW1hcHBpbmdzPXBoeW5ldDpici1leHRd KQorLQorLU9WTl9QT1BVTEFURV9BUlAKKy0KKy1jaGVjayBvdm4tbmJjdGwgLS13YWl0PWh2IHN5 bmMKKy0KKy1BU19CT1goW0Rpc2Nvbm5lY3QgU0IgYW5kIHNlbmQgcGluZyB0byBnZW5lcmF0ZSBt dWx0aXBsZSBBUlBzICg+MTAwMCldKQorLUFUX0NIRUNLKFtvdnMtdnNjdGwgc2V0IE9wZW5fdlN3 aXRjaCAuIGV4dGVybmFsLWlkczpvdm4tcmVtb3RlPXRjcDoxMjcuMC4wLjE6MTIzNF0pCistQVRf Q0hFQ0soW292cy12c2N0bCBzZXQgT3Blbl92U3dpdGNoIC4gZXh0ZXJuYWwtaWRzOm92bi1yZW1v dGUtcHJvYmUtaW50ZXJ2YWw9MTAwXSkKKy0KKy1zbGVlcCAxCistQVRfQ0hFQ0soW292bi1hcHBj dGwgY29ubmVjdGlvbi1zdGF0dXNdLCBbMF0sIFtkbmwKKy1ub3QgY29ubmVjdGVkCistXSkKKy0K Ky1mb3IgaSBpbiB7MS4uMjB9OyBkbworLSAgZm9yIGogaW4gezEuLjEwMH07IGRvCistICAgIE5T X0VYRUMoW3N3MDFdLCBbdGltZW91dCAwLjEgcGluZyAtcSAtYyAxIC1XIDAuMSAxNzIuMTYuJGku JGogPi9kZXYvbnVsbCAyPiYxICZdKQorLSAgZG9uZQorLSAgc2xlZXAgMC41CistZG9uZQorLQor LUFTX0JPWChbVmVyaWZ5IHBpbmN0cmxfZHJvcF9idWZmZXJlZF9wYWNrZXRzX21hcCBjb3VudGVy XSkKKy1vdm4tYXBwY3RsICBjb3ZlcmFnZS9zaG93ID5vdm5fY291bnRlcnMKKy1BVF9DQVBUVVJF X0ZJTEUoW292bl9jb3VudGVyc10pCistQVRfQ0hFQ0soW2dyZXAgLXEgInBpbmN0cmxfZHJvcF9i dWZmZXJlZF9wYWNrZXRzX21hcCIgb3ZuX2NvdW50ZXJzXSwgWzBdKQorLQorLUFUX0NIRUNLKFtv dnMtdnNjdGwgc2V0IE9wZW5fdlN3aXRjaCAuIGV4dGVybmFsLWlkczpvdm4tcmVtb3RlPSRTQl9Q QVRIXSkKKy0KKy1PVk5fQ0xFQU5VUF9DT05UUk9MTEVSKFtodjFdKQorLQorLU9WTl9DTEVBTlVQ X05PUlRIRAorLQorLWFzCistT1ZTX1RSQUZGSUNfVlNXSVRDSERfU1RPUChbIi8uKmVycm9yIHJl Y2VpdmluZy4qL2QKKy0vZmFpbGVkIHRvIHF1ZXJ5IHBvcnQgcGF0Y2gtLiovZAorLS8uKnRlcm1p bmF0aW5nIHdpdGggc2lnbmFsIDE1LiovZCJdKQorLUFUX0NMRUFOVVAKKy1dKQorLQorIE9WTl9G T1JfRUFDSF9OT1JUSEQoWworIEFUX1NFVFVQKFtSb3V0aW5nIHByb3RvY29sIHJlZGlyZWN0IC0g bDMgZ2F0ZXdheV0pCisgQVRfU0tJUF9JRihbdGVzdCAkSEFWRV9OQyA9IG5vXSkKK0BAIC0xNDk1 OCw2ICsxNDg2Niw4IEBAIE5TX0NIRUNLX0VYRUMoW3ZtMV0sIFtwaW5nIC1xIC1jIDMgLWkgMC4z IC13IDIgMTcyLjE4LjEuMTIgfCBGT1JNQVRfUElOR10sIFwKKyBdKQorIAorIGNoZWNrIG92bi1u YmN0bCAtLXdhaXQ9aHYgc2V0IGxvYWRfYmFsYW5jZXIgbGIwIG9wdGlvbnM6YWRkX3JvdXRlPWZh bHNlCisrIyBXYWl0IGZvciByZXZhbGlkYXRpb24gb2Ygc3RhbGUgbWVnYWZsb3dzIHdoaWNoIG1h eSBsYWcgYmVoaW5kLgorK2NoZWNrIG92cy1hcHBjdGwgcmV2YWxpZGF0b3Ivd2FpdAorIE5TX0NI RUNLX0VYRUMoW3ZtMV0sIFtwaW5nIC1xIC1jIDMgLWkgMC4zIC13IDIgMTcyLjE4LjEuMTIgfCBG T1JNQVRfUElOR10sIFwKKyBbMF0sIFtkbmwKKyA3IHBhY2tldHMgdHJhbnNtaXR0ZWQsIDAgcmVj ZWl2ZWQsIDEwMCUgcGFja2V0IGxvc3MsIHRpbWUgMG1zCitAQCAtMjE0OTcsOTMgKzIxNDA3LDYg QEAgT1ZTX1RSQUZGSUNfVlNXSVRDSERfU1RPUChbIi9mYWlsZWQgdG8gcXVlcnkgcG9ydCBwYXRj aC0uKi9kCisgQVRfQ0xFQU5VUAorIF0pCisgCistT1ZOX0ZPUl9FQUNIX05PUlRIRChbCistQVRf U0VUVVAoW1Vuc3VwcG9ydGVkIHByb3RvY29sIG1lc3NhZ2VdKQorLUFUX1NLSVBfSUYoW3Rlc3Qg JEhBVkVfTkMgPSBub10pCistCistb3ZuX3N0YXJ0CistT1ZTX1RSQUZGSUNfVlNXSVRDSERfU1RB UlQoKQorLUFERF9CUihbYnItaW50XSkKKy0KKy0jIFNldCBleHRlcm5hbC1pZHMgaW4gYnItaW50 IG5lZWRlZCBmb3Igb3ZuLWNvbnRyb2xsZXIuCistY2hlY2sgb3ZzLXZzY3RsIFwKKy0gICAgICAg IC0tIHNldCBPcGVuX3ZTd2l0Y2ggLiBleHRlcm5hbC1pZHM6c3lzdGVtLWlkPWh2MSBcCistICAg ICAgICAtLSBzZXQgT3Blbl92U3dpdGNoIC4gZXh0ZXJuYWwtaWRzOm92bi1yZW1vdGU9dW5peDok b3ZzX2Jhc2Uvb3ZuLXNiL292bi1zYi5zb2NrIFwKKy0gICAgICAgIC0tIHNldCBPcGVuX3ZTd2l0 Y2ggLiBleHRlcm5hbC1pZHM6b3ZuLWVuY2FwLXR5cGU9Z2VuZXZlIFwKKy0gICAgICAgIC0tIHNl dCBPcGVuX3ZTd2l0Y2ggLiBleHRlcm5hbC1pZHM6b3ZuLWVuY2FwLWlwPTE2OS4wLjAuMSBcCist ICAgICAgICAtLSBzZXQgYnJpZGdlIGJyLWludCBmYWlsLW1vZGU9c2VjdXJlIG90aGVyLWNvbmZp ZzpkaXNhYmxlLWluLWJhbmQ9dHJ1ZQorLQorLSMgU3RhcnQgb3ZuLWNvbnRyb2xsZXIuCistc3Rh cnRfZGFlbW9uIG92bi1jb250cm9sbGVyCistCistY2hlY2sgb3ZuLW5iY3RsIGxzLWFkZCBsczEK Ky1jaGVjayBvdm4tbmJjdGwgbHNwLWFkZCBsczEgbHMxcDEKKy1jaGVjayBvdm4tbmJjdGwgbHNw LXNldC1hZGRyZXNzZXMgbHMxcDEgIjAwOjAwOjAwOjAxOjAxOjAxIDE5Mi4xNjguMS4xIgorLWNo ZWNrIG92bi1uYmN0bCBsc3AtYWRkIGxzMSBsczFwMgorLWNoZWNrIG92bi1uYmN0bCBsc3Atc2V0 LWFkZHJlc3NlcyBsczFwMiAiMDA6MDA6MDA6MDE6MDE6MDIgMTkyLjE2OC4xLjIiCistCistY2hl Y2sgb3ZuLW5iY3RsIGxyLWFkZCBscjEKKy1jaGVjayBvdm4tbmJjdGwgbHJwLWFkZCBscjEgbHIx LWxzMSAwMDowMDowMDowMDowMDowMSAxOTIuMTY4LjEuMjU0LzI0CistY2hlY2sgb3ZuLW5iY3Rs IGxzcC1hZGQgbHMxIGxzMS1scjEKKy1jaGVjayBvdm4tbmJjdGwgbHNwLXNldC1hZGRyZXNzZXMg bHMxLWxyMSAiMDA6MDA6MDA6MDA6MDA6MDEgMTkyLjE2OC4xLjI1NCIKKy1jaGVjayBvdm4tbmJj dGwgbHNwLXNldC10eXBlIGxzMS1scjEgcm91dGVyCistY2hlY2sgb3ZuLW5iY3RsIGxzcC1zZXQt b3B0aW9ucyBsczEtbHIxIHJvdXRlci1wb3J0PWxyMS1sczEKKy0KKy1jaGVjayBvdm4tbmJjdGwg bHJwLWFkZCBscjEgbHIxLWxzMiAwMDowMDowMDowMDowMDowMiAxOTIuMTY4LjIuMjU0LzI0Cist CistY2hlY2sgb3ZuLW5iY3RsIGxzLWFkZCBsczIKKy1jaGVjayBvdm4tbmJjdGwgbHNwLWFkZCBs czIgbHMyLWxyMQorLWNoZWNrIG92bi1uYmN0bCBsc3Atc2V0LWFkZHJlc3NlcyBsczItbHIxICIw MDowMDowMDowMDowMDowMiAxOTIuMTY4LjIuMjU0IgorLWNoZWNrIG92bi1uYmN0bCBsc3Atc2V0 LXR5cGUgbHMyLWxyMSByb3V0ZXIKKy1jaGVjayBvdm4tbmJjdGwgbHNwLXNldC1vcHRpb25zIGxz Mi1scjEgcm91dGVyLXBvcnQ9bHIxLWxzMgorLQorLWNoZWNrIG92bi1uYmN0bCBsc3AtYWRkIGxz MiBsczJwMQorLWNoZWNrIG92bi1uYmN0bCBsc3Atc2V0LWFkZHJlc3NlcyBsczJwMSAiMDA6MDA6 MDA6MDE6MDI6MDEgMTkyLjE2OC4yLjEiCistCistQUREX05BTUVTUEFDRVMobHMxcDEpCistQURE X1ZFVEgobHMxcDEsIGxzMXAxLCBici1pbnQsICIxOTIuMTY4LjEuMS8yNCIsICIwMDowMDowMDow MTowMTowMSIsCistICAgICAgICAgIjE5Mi4xNjguMS4yNTQiKQorLQorLUFERF9OQU1FU1BBQ0VT KGxzMnAxKQorLUFERF9WRVRIKGxzMnAxLCBsczJwMSwgYnItaW50LCAiMTkyLjE2OC4yLjEvMjQi LCAiMDA6MDA6MDA6MDE6MDI6MDEiLAorLSAgICAgICAgICIxOTIuMTY4LjIuMjU0IikKKy0KKy1B RERfTkFNRVNQQUNFUyhsczFwMikKKy1BRERfVkVUSChsczFwMiwgbHMxcDIsIGJyLWludCwgIjE5 Mi4xNjguMS4yLzI0IiwgIjAwOjAwOjAwOjAxOjAxOjAyIiwKKy0gICAgICAgICAiMTkyLjE2OC4x LjI1NCIpCistCistY2hlY2sgb3ZuLW5iY3RsIGxiLWFkZCBsYjAgMTkyLjE2OC41LjE6MTIzNDUg MTkyLjE2OC4xLjE6MTIzNDUsMTkyLjE2OC4xLjI6MTIzNDUKKy1jaGVjayBvdm4tbmJjdGwgbHMt bGItYWRkIGxzMSBsYjAKKy1jaGVjayBvdm4tbmJjdGwgbHItbGItYWRkIGxyMSBsYjAKKy1sYl91 dWlkPSQoZmV0Y2hfY29sdW1uIG5iOkxvYWRfQmFsYW5jZXIgX3V1aWQgbmFtZT1sYjApCistY2hl Y2sgb3ZuLW5iY3RsIHNldCBMb2FkX0JhbGFuY2VyICRsYl91dWlkIHByb3RvY29sPXVkcAorLWNo ZWNrIG92bi1uYmN0bCAtLXdhaXQ9aHYgc2V0IExvZ2ljYWxfUm91dGVyIGxyMSBvcHRpb25zOmNo YXNzaXM9Imh2MSIKKy0KKy13YWl0X2Zvcl9wb3J0c191cCBsczFwMSBsczFwMiBsczJwMQorLQor LU5FVE5TX0RBRU1PTklaRShbbHMxcDFdLCBbbmMgLWwgMTIzNDUgLS11ZHAgLWsgLS1zaC1leGVj IGxzXSwgW25jMS5waWRdKQorLU5FVE5TX0RBRU1PTklaRShbbHMxcDJdLCBbbmMgLWwgMTIzNDUg LS11ZHAgLWsgLS1zaC1leGVjIGxzXSwgW25jMi5waWRdKQorLQorLWhjX3V1aWQ9JChvdm4tbmJj dGwgLS1pZD1AaGMgY3JlYXRlIExvYWRfQmFsYW5jZXJfSGVhbHRoX0NoZWNrIHZpcD0iMTkyLjE2 OC41LjFcOjEyMzQ1IiAtLSBcCistICAgICAgICAgIGFkZCBMb2FkX0JhbGFuY2VyICRsYl91dWlk IGhlYWx0aF9jaGVjayBAaGMpCistY2hlY2sgb3ZuLW5iY3RsIHNldCBMb2FkX0JhbGFuY2VyX0hl YWx0aF9DaGVjayAkaGNfdXVpZCBvcHRpb25zOnRpbWVvdXQ9MjAgb3B0aW9uczpzdWNjZXNzX2Nv dW50PTMgb3B0aW9uczpmYWlsdXJlX2NvdW50PTMKKy1jaGVjayBvdm4tbmJjdGwgLS13YWl0PXNi IHNldCBsb2FkX2JhbGFuY2VyICRsYl91dWlkIGlwX3BvcnRfbWFwcGluZ3M6MTkyLjE2OC4xLjE9 bHMxcDE6MTkyLjE2OC4xLjI1NAorLQorLU5TX0VYRUMoW2xzMnAxXSwgW25jIC0tdWRwIDE5Mi4x NjguNS4xIDEyMzQ1IDw8PCBoXSkKKy0KKy0jIEl0IG1heSBub3Qgc2VlbSBsaWtlIHdlJ3JlIGFj dHVhbGx5IHRlc3RpbmcgYW55dGhpbmcgaW4gdGhpcyB0ZXN0LgorLSMgSWYgdGhlcmUgaXMgYSB3 YXJuaW5nIG9yIGVycm9yIGluIHRoZSBvdm4tY29udHJvbGxlciBsb2cgYWJvdXQKKy0jIGFuIHVu c3VwcG9ydGVkIGhlYWx0aCBjaGVjayBwcm90b2NvbCwgaXQgd2lsbCBjYXVzZSBhIHRlc3QgZmFp bHVyZQorLSMgd2hlbiB3ZSBzdG9wIG92bi1jb250cm9sbGVyLgorLU9WTl9DTEVBTlVQX0NPTlRS T0xMRVIoW2h2MV0pCistT1ZOX0NMRUFOVVBfTk9SVEhECistCistYXMKKy1PVlNfVFJBRkZJQ19W U1dJVENIRF9TVE9QKFsiL2ZhaWxlZCB0byBxdWVyeSBwb3J0IHBhdGNoLS4qL2QKKy0vY29ubmVj dGlvbiBkcm9wcGVkLiovZCJdKQorLUFUX0NMRUFOVVAKKy1dKQorLQorIE9WTl9GT1JfRUFDSF9O T1JUSEQoWworIEFUX1NFVFVQKFtMb2FkIGJhbGFuY2VyIGhlYWx0aCBjaGVja3MgLSBzZXJ2aWNl IG1vbml0b3Igc291cmNlIE1BQyBtYXRjaGluZ10pCisgQVRfU0tJUF9JRihbdGVzdCAkSEFWRV9O QyA9IG5vXSkKK0BAIC0yMTgxNCwzICsyMTYzNyw3NyBAQCBPVlNfVFJBRkZJQ19WU1dJVENIRF9T VE9QKFsiL2ZhaWxlZCB0byBxdWVyeSBwb3J0IHBhdGNoLS4qL2QKKyAKKyBBVF9DTEVBTlVQCisg XSkKKysKKytPVk5fRk9SX0VBQ0hfTk9SVEhEKFsKKytBVF9TRVRVUChbVklGIHBvcnQgY29ubmVj dGVkIHRvIGxvY2FsbmV0IG5ldHdvcmtdKQorKyMKKysjIFRvcG9sb2d5OgorKyMgICAgKGZhYnJp YykgLS0gbG9jYWxuZXQtcG9ydCAtLSBMUyAtLS0gREdQKGNoYXNzaXMyKSAtLSBMUgorKyMgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CisrIyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHwKKysjICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZNIChjaGFzc2lz MSkKKysjCisrIyBJdCBpcyBleHBlY3RlZCB0aGF0IEFSUCByZXF1ZXN0cyB0byB0aGlzIHBvcnQg YXJlIGFsbG93ZWQgb24gdGhlIGNoYXNzaXMgdGhhdCBob3N0cyB0aGlzIHBvcnQuCisrCisrb3Zu X3N0YXJ0CisrT1ZTX1RSQUZGSUNfVlNXSVRDSERfU1RBUlQoKQorK0FERF9CUihbYnItaW50XSkK KytBRERfQlIoW2JyLWV4dF0pCisrCisrb3ZzLW9mY3RsIGFkZC1mbG93IGJyLWV4dCBhY3Rpb249 bm9ybWFsCisrIyBTZXQgZXh0ZXJuYWwtaWRzIGluIGJyLWludCBuZWVkZWQgZm9yIG92bi1jb250 cm9sbGVyCisrb3ZzLXZzY3RsIFwKKysgICAgICAgIC0tIHNldCBPcGVuX3ZTd2l0Y2ggLiBleHRl cm5hbC1pZHM6c3lzdGVtLWlkPWh2MSBcCisrICAgICAgICAtLSBzZXQgT3Blbl92U3dpdGNoIC4g ZXh0ZXJuYWwtaWRzOm92bi1yZW1vdGU9dW5peDokb3ZzX2Jhc2Uvb3ZuLXNiL292bi1zYi5zb2Nr IFwKKysgICAgICAgIC0tIHNldCBPcGVuX3ZTd2l0Y2ggLiBleHRlcm5hbC1pZHM6b3ZuLWVuY2Fw LXR5cGU9Z2VuZXZlIFwKKysgICAgICAgIC0tIHNldCBPcGVuX3ZTd2l0Y2ggLiBleHRlcm5hbC1p ZHM6b3ZuLWVuY2FwLWlwPTE2OS4wLjAuMSBcCisrICAgICAgICAtLSBzZXQgT3Blbl92U3dpdGNo IC4gZXh0ZXJuYWwtaWRzOm92bi1icmlkZ2UtbWFwcGluZ3M9cGh5bmV0OmJyLWV4dCBcCisrICAg ICAgICAtLSBzZXQgYnJpZGdlIGJyLWludCBmYWlsLW1vZGU9c2VjdXJlIG90aGVyLWNvbmZpZzpk aXNhYmxlLWluLWJhbmQ9dHJ1ZQorKworKyMgU3RhcnQgb3ZuLWNvbnRyb2xsZXIKKytzdGFydF9k YWVtb24gb3ZuLWNvbnRyb2xsZXIKKysKKytjaGVjayBvdm4tbmJjdGwgbHItYWRkIGxyMQorK2No ZWNrIG92bi1uYmN0bCBscy1hZGQgcHVibGljCisrCisrY2hlY2sgb3ZuLW5iY3RsIGxycC1hZGQg bHIxIHJwLXB1YmxpYyAwMDowMDowMjowMTowMjowMyAxNzIuMzEuMS4xLzI0CisrY2hlY2sgb3Zu LW5iY3RsIGxzcC1hZGQtcm91dGVyLXBvcnQgcHVibGljIHB1YmxpYy1ycCBycC1wdWJsaWMKKytj aGVjayBvdm4tbmJjdGwgbHNwLWFkZC1sb2NhbG5ldC1wb3J0IHB1YmxpYyBsb2NhbG5ldCBwaHlu ZXQKKytjaGVjayBvdm4tbmJjdGwgbHJwLXNldC1nYXRld2F5LWNoYXNzaXMgcnAtcHVibGljIGh2 MgorKworK0FERF9OQU1FU1BBQ0VTKGV4dCkKKytBRERfVkVUSChleHQsIGV4dCwgYnItZXh0LCAi MTcyLjMxLjEuMi8yNCIsICJmMDowMDowMDowMTowMjowMiIsIFwKKysgICAgICAgICAiMTcyLjMx LjEuMSIpCisrQUREX05BTUVTUEFDRVMobHNwMSkKKytBRERfVkVUSChsc3AxLCBsc3AxLCBici1p bnQsICIxNzIuMzEuMS4zLzI0IiwgImYwOjAwOjAwOjAxOjAyOjAzIiwgXAorKyAgICAgICAgICIx NzIuMzEuMS4xIikKKytBRERfTkFNRVNQQUNFUyhsc3AyKQorK0FERF9WRVRIKGxzcDIsIGxzcDIs IGJyLWludCwgIjE3Mi4zMS4xLjQvMjQiLCAiZjA6MDA6MDA6MDE6MDI6MDQiLCBcCisrICAgICAg ICAgIjE3Mi4zMS4xLjEiKQorKworK2NoZWNrIG92bi1uYmN0bCBsc3AtYWRkIHB1YmxpYyBsc3Ax CisrY2hlY2sgb3ZuLW5iY3RsIGxzcC1zZXQtYWRkcmVzc2VzIGxzcDEgImYwOjAwOjAwOjAxOjAy OjAzIDE3Mi4zMS4xLjMiCisrY2hlY2sgb3ZuLW5iY3RsIGxzcC1hZGQgcHVibGljIGxzcDIKKytj aGVjayBvdm4tbmJjdGwgbHNwLXNldC1hZGRyZXNzZXMgbHNwMiAiZjA6MDA6MDA6MDE6MDI6MDQg MTcyLjMxLjEuNCIKKysKKytjaGVjayBvdm4tbmJjdGwgLS13YWl0PWh2IHN5bmMKKysKKytOU19D SEVDS19FWEVDKFtleHRdLCBbcGluZyAtcSAtYyAzIC1pIDAuMyAtdyAyIDE3Mi4zMS4xLjMgfCBG T1JNQVRfUElOR10sIFwKKytbMF0sIFtkbmwKKyszIHBhY2tldHMgdHJhbnNtaXR0ZWQsIDMgcmVj ZWl2ZWQsIDAlIHBhY2tldCBsb3NzLCB0aW1lIDBtcworK10pCisrCisrTlNfQ0hFQ0tfRVhFQyhb bHNwMV0sIFtwaW5nIC1xIC1jIDMgLWkgMC4zIC13IDIgMTcyLjMxLjEuNCB8IEZPUk1BVF9QSU5H XSwgXAorK1swXSwgW2RubAorKzMgcGFja2V0cyB0cmFuc21pdHRlZCwgMyByZWNlaXZlZCwgMCUg cGFja2V0IGxvc3MsIHRpbWUgMG1zCisrXSkKKysKKytPVk5fQ0xFQU5VUF9DT05UUk9MTEVSKFto djFdKQorK09WTl9DTEVBTlVQX05PUlRIRAorKworK2FzCisrT1ZTX1RSQUZGSUNfVlNXSVRDSERf U1RPUChbIi9mYWlsZWQgdG8gcXVlcnkgcG9ydCBwYXRjaC0uKi9kCisrL2Nvbm5lY3Rpb24gZHJv cHBlZC4qL2QiXSkKKysKKytBVF9DTEVBTlVQCisrXSkKCmRpZmYgLS1naXQgYS9vdm4uc3BlYyBi L292bi5zcGVjCmluZGV4IGI1YmVhYjMuLjZjZDc0MzggMTAwNjQ0Ci0tLSBhL292bi5zcGVjCisr KyBiL292bi5zcGVjCkBAIC00Niw3ICs0Niw3IEBAIE5hbWU6IG92bgogU3VtbWFyeTogT3BlbiBW aXJ0dWFsIE5ldHdvcmsgc3VwcG9ydAogVVJMOiBodHRwOi8vd3d3Lm9wZW52c3dpdGNoLm9yZy8K IFZlcnNpb246IDI2LjAzLjEKLVJlbGVhc2U6IDEwJXs/Y29tbWl0MDouJXtkYXRlfWdpdCV7c2hv cnRjb21taXQwfX0lez9kaXN0fQorUmVsZWFzZTogNTAlez9jb21taXQwOi4le2RhdGV9Z2l0JXtz aG9ydGNvbW1pdDB9fSV7P2Rpc3R9CiBPYnNvbGV0ZXM6IG9wZW52c3dpdGNoLW92bi1jb21tb24g PCAlez9lcG9jaF9vdnM6JXtlcG9jaF9vdnN9On0yLjExLjAtOAogUHJvdmlkZXM6IG9wZW52c3dp dGNoLW92bi1jb21tb24gPSAlez9lcG9jaDole2Vwb2NofTp9JXt2ZXJzaW9ufS0le3JlbGVhc2V9 CiAKQEAgLTQ1NSw2ICs0NTUsMTAgQEAgZmkKICV7X3VuaXRkaXJ9L292bi1ici1kYi5zZXJ2aWNl CiAKICVjaGFuZ2Vsb2cKKyogVGh1IEp1biA0IDIwMjYgRHVtaXRydSBDZWFyYSA8ZGNlYXJhQHJl ZGhhdC5jb20+IC0gMjYuMDMuMS01MAorLSBVcGRhdGVkIHRoZSBPVk4gc291cmNlcyB0byBwaWNr IHVwIHRoZSBjb21taXRzIGZyb20gdjI2LjAzLjEgdGlsbAorICB0aGUgdGlwIG9mIGJyYW5jaC0y Ni4wMyAoOWYwNGI4YzUwODZhNzRkYjI5OWRhZWVhNDkwODUxOGJiYjI3ZDEzOSkuCisKICogV2Vk IEFwciAyMiAyMDI2IER1bWl0cnUgQ2VhcmEgPGRjZWFyYUByZWRoYXQuY29tPiAtIDI2LjAzLjMt MTAKIC0gVXBkYXRlZCB0aGUgT1ZOIHNvdXJjZXMgdG8gdXBzdHJlYW0gcmVsZWFzZSB2MjYuMDMu MSB3aXRoIHRoZQogICBjb21taXQgMGNjMWVhNWJiNzFkMjliOTEyNDRmNTM2OGVjYmJkYTg4Mzdi YzU0MiBhbmQgcGlja2VkIHVwCg==