From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-1.0 required=5.0 tests=ALL_TRUSTED autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 1401 invoked from network); 15 Feb 2023 16:22:57 -0000 Received: from localhost (HELO inbox.vuxu.org) (::1) by localhost with ESMTPUTF8; 15 Feb 2023 16:22:57 -0000 Content-Type: multipart/mixed; boundary="===============7282095220397637896==" MIME-Version: 1.0 Subject: =?utf8?q?Re=3A_=5BPR_PATCH=5D_=5BUpdated=5D_openldap=3A_update_to_2=2E6=2E4?= To: ml@inbox.vuxu.org From: klarasm Reply-to: ml@inbox.vuxu.org In-Reply-To: References: Date: Wed, 15 Feb 2023 17:22:56 +0100 List-Id: Message-ID: <20230215162256.Doua0dla7nI8e-DNuX4Dw82MZBGOa0ebII82ucilB_I@z> GitHub notification mails are now in MIME to allow UTF8. --===============7282095220397637896== Content-Type: text/plain; charset="utf8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGhlcmUgaXMgYW4gdXBkYXRlZCBwdWxsIHJlcXVlc3QgYnkga2xhcmFzbSBhZ2FpbnN0IG1hc3Rl ciBvbiB0aGUgdm9pZC1wYWNrYWdlcyByZXBvc2l0b3J5CgpodHRwczovL2dpdGh1Yi5jb20va2xh cmFzbS92b2lkLXBhY2thZ2VzIG9wZW5sZGFwLTIuNgpodHRwczovL2dpdGh1Yi5jb20vdm9pZC1s aW51eC92b2lkLXBhY2thZ2VzL3B1bGwvNDE5NDgKCm9wZW5sZGFwOiB1cGRhdGUgdG8gMi42LjQK VGhlIDIuNCBicmFuY2ggaXMgbm90IG1haW50YWluZWQgYW55bW9yZSBhbmQgSSBkb24ndCBrbm93 IGlmIHRoZXJlJ3MgbXVjaCBhZHZhbnRhZ2UgdG8gZ29pbmcgdG8gMi41IGluc3RlYWQgb2YgMi42 DQoNClNvbWUgc2hhcmVkIGxpYnJhcmllcyBoYXZlIGNoYW5nZWQgbmFtZSBzbyB0aGlzIHVwZGF0 ZXMgY29tbW9uL3NobGlicy4NCg0KQXMgdGhpcyBpcyBhIG1ham9yIHVwZGF0ZSB0aGUgbGRhcCBk YXRhYmFzZSBzaG91bGQgYmUgYmFja2VkIHVwIGFuZCByZWNyZWF0ZWQgYXMgcGVyIGh0dHBzOi8v d3d3Lm9wZW5sZGFwLm9yZy9kb2MvYWRtaW4yNi9tYWludGVuYW5jZS5odG1sDQoNCiMjIyMgVGVz dGluZyB0aGUgY2hhbmdlcw0KLSBJIHRlc3RlZCB0aGUgY2hhbmdlcyBpbiB0aGlzIFBSOiAqKllF UyoqIChtYWlubHkgb3BlbmxkYXAsIG1pdC1rcmI1IGFuZCBjeXJ1cy1zYXNsKQ0KLSBJIGhhdmVu J3QgdGVzdGVkIHRoZSByZXZidW1wZWQgcGFja2FnZXMgdGhhdCBtdWNoLCBvdGhlciB0aGFuIGJ1 aWxkaW5nIHdpdGggdGhlaXIgdGVzdCBzdWl0ZQ0KDQpJIGhhdmUgdXBncmFkZWQgbXkgbGRhcCBz ZXR1cCB0byB0aGlzIHZlcnNpb24uIEl0J3Mgbm90IHZlcnkgY29tcGxpY2F0ZWQgc28gbWF5IG5v dCBiZSBncmVhdCBmb3IgY292ZXJhZ2UuDQpCYXNpY2FsbHk6DQotIHR3byBub2Rlcywgd2l0aCBu b3JtYWwgc3luY3JlcGwgYW5kIGdzc2FwaS9rZXJiZXJvcyBmb3IgYXV0aGVudGljYXRpb24NCi0g dGhlIGxkYXAgZGlyZWN0b3J5IGlzIHVzZWQgYXMgZGF0YWJhc2UgYmFja2VuZCBmb3IgbXkga2Vy YmVyb3Mgc2V0dXANCi0gSSBoYXZlIGEgZmV3IG1hY2hpbmVzIHNldHVwIHdpdGgga2VyYmVyb3Mg Zm9yIGF1dGhlbnRpY2F0aW9uIGFuZCBsZGFwIGFzIGlkIHByb3ZpZGVyIChzb21lIHdpdGggc3Nz ZCBhbmQgc29tZSB3aXRoIG5zbGNkKQ0KDQpTbyBmYXIgaXQgc2VlbXMgcHJvbWlzaW5nIGJ1dCB3 aWxsIHRlc3QgbW9yZS4gSSB3b3VsZCBhcHByZWNpYXRlIGlmIGFueW9uZSBlbHNlIGNvdWxkIHRl c3QgYXMgd2VsbC4NCg0KSSBoYXZlIHByb2JhYmx5IG1pc3NlZCBwYWNrYWdlcyB0aGF0IG5lZWQg dG8gYmUgcmV2YnVtcGVkIHNvIHBsZWFzZSBwb2ludCB0aGVtIG91dCBpbiB0aGF0IGNhc2UuDQoN ClBhY2thZ2VzIHRoYXQgZGVwZW5kIG9uIGxpYmxkYXA6DQotIFt4XSBGcmVlUkFESVVTLTMuMC4y Nl8xIChvdXQgb2YgZGF0ZSwgbmV3ZXN0IHZlcnNpb24gaXMgMy4yLjEpDQotIFt4XSBhbHBpbmUt Mi4yNl8xDQotIFt4XSBhbmp1dGEtMy4zNC4wXzQgKGZpeCBmYXVsdHkgZGV0ZWN0aW9uIG9mIHdl YmtpdDJndGspDQotIFt4XSBhcGFjaGUtMi40LjU0XzIgKG91dCBvZiBkYXRlLCBuZXdlc3QgdmVy c2lvbiBpcyAyLjQuNTUpDQotIFt4XSBhcHItdXRpbC1sZGFwLTEuNi4xXzEzICh1cGRhdGUgdG8g MS42LjIpDQotIFt4XSBhdWRpdC0zLjAuM180IChvdXQgb2YgZGF0ZSwgbmV3ZXN0IHZlcnNpb24g aXMgMy4wLjkpDQotIFt4XSBhdXRvZnMtNS4xLjhfMiAob3V0IG9mIGRhdGUsIG5ld2VzdCB2ZXJz aW9uIGlzIDUuMS45KQ0KLSBbeF0gY2xhd3MtbWFpbC00LjEuMV8xDQotIFt4XSBjeXJ1cy1zYXNs LTIuMS4yN185IChvdXQgb2YgZGF0ZSwgbmV3ZXN0IHZlcnNpb24gaXMgMi4xLjI4KQ0KLSBbeF0g ZG92ZWNvdC1wbHVnaW4tbGRhcC0yLjMuMjBfMQ0KLSBbeF0gZG92ZWNvdC1wbHVnaW4tcGlnZW9u aG9sZS1sZGFwLTAuNS4yMF8xDQotIFt4XSBldm9sdXRpb24tMy40Ni4yXzENCi0gW3hdIGV2b2x1 dGlvbi1kYXRhLXNlcnZlci0zLjQ2LjJfMQ0KLSBbeF0gZ251cGctMi4zLjhfMQ0KLSBbeF0gZ251 cGcxLTEuNC4yM18xDQotIFt4XSBrbGRhcC0yMi4wOC4yXzENCi0gW3hdIGxkYXB2aS0xLjdfMTEN Ci0gW3hdIGxpYm5mc2lkbWFwLTIuNS40XzINCi0gW3hdIGxpYnJlb2ZmaWNlLWNvbW1vbi03LjQu My4yXzENCi0gW3hdIGxpZ2h0dHBkLTEuNC42OF8xDQotIFt4XSBsb2c0Y3h4LTAuMTAuMF80ICh1 cGRhdGUgdG8gMS4wLjApDQotIFt4XSBsdWE1NC1sdWFsZGFwLTEuMi41XzMgKG91dCBvZiBkYXRl LCBuZXdlc3QgdmVyc2lvbiBpcyAxLjMuMCkNCi0gW3hdIG1pdC1rcmI1LWxpYnMtMS4xOC4zXzIg KHVwZGF0ZSB0byAxLjIwLjEpDQotIFt4XSBtb25pdG9yaW5nLXBsdWdpbnMtMi4zLjJfMSAob3V0 IG9mIGRhdGUsIG5ld2VzdCB2ZXJzaW9uIGlzIDIuMy4zKQ0KLSBbeF0gbnNzLXBhbS1sZGFwZC0w LjkuMTJfMQ0KLSBbeF0gcGhwLWxkYXAtNy40LjMzXzENCi0gW3hdIHBocDguMC1sZGFwLTguMC4y NV8xIChvdXQgb2YgZGF0ZSwgbmV3ZXN0IHZlcnNpb24gaXMgOC4wLjI3KQ0KLSBbeF0gcGhwOC4x LWxkYXAtOC4xLjEyXzEgKG91dCBvZiBkYXRlLCBuZXdlc3QgdmVyc2lvbiBpbiBicmFuY2ggaXMg OC4xLjE0LiA4LjIuMSBpcyBhbHNvIGF2YWlsYWJsZSkNCi0gW3hdIHBvc3RmaXgtMy43LjNfMQ0K LSBbeF0gcHl0aG9uMy1sZGFwLTMuMi4wXzUgKHVwZGF0ZSB0byAzLjQuMykNCi0gW3hdIHF1b3Rh LTQuMDlfMQ0KLSBbeF0gc2FtYmEtNC4xNC4xMl8yIChvdXQgb2YgZGF0ZSwgbmV3ZXN0IHZlcnNp b24gaXMgNC4xNy41KQ0KLSBbeF0gc2VhaG9yc2UtNDMuMF8xDQotIFt4XSBzcXVpZC01LjdfMQ0K LSBbeF0gc3NzZC0yLjQuMF81IChvdXQgb2YgZGF0ZSwgbGF0ZXN0IHZlcnNpb24gaXMgMi44LjIp DQotIFt4XSBzeWxwaGVlZC0zLjcuMF84DQotIFt4XSB2aXJ0dW9zby1iYXNlLTcuMi41LjFfMyAo dXBkYXRlIHRvIDcuMi44KQ0KLSBbeF0geDJnb2NsaWVudC00LjEuMi4yXzINCg0KW2NpIHNraXBd IGFnYWluLiBUaGlzIHdpbGwgcHJvYmFibHkgdGFrZSBhIGxvbmcgdGltZSB0byBidWlsZC4NCg0K IyMjIyBMb2NhbCBidWlsZCB0ZXN0aW5nDQotIEkgYnVpbHQgdGhpcyBQUiBsb2NhbGx5IGZvciBt eSBuYXRpdmUgYXJjaGl0ZWN0dXJlLCAoeDg2XzY0LWdsaWJjKQ0KLSBJIGJ1aWx0IHRoaXMgUFIg bG9jYWxseSBmb3IgbXkgbmF0aXZlIGFyY2hpdGVjdHVyZSwgKHg4Nl82NC1tdXNsKS4gQnVpbGQg aXNzdWVzOg0KICAtIFt4XSBhdWRpdC0zLjAuM180IChvdXQgb2YgZGF0ZSwgbmV3ZXN0IHZlcnNp b24gaXMgMy4wLjkpIGFscmVhZHkgZmFpbGluZyBvbiBtYXN0ZXIgYnJhbmNoDQogIC0gW3hdIGRv dmVjb3QtcGx1Z2luLWxkYXAtMi4zLjIwXzEgYWxyZWFkeSBmYWlsaW5nIG9uIG1hc3RlciBicmFu Y2gNCiAgLSBbeF0gZG92ZWNvdC1wbHVnaW4tcGlnZW9uaG9sZS1sZGFwLTAuNS4yMF8xIHRlc3Qg c3VpdGUgcGFzc2VzIGlmIGRvdmVjb3QgaXMgYnVpbHQgd2l0aG91dCBjaGVja3MgZmlyc3QNCiAg LSBbeF0gZXZvbHV0aW9uLTMuNDYuMl8xIHRlc3RzIGFyZSBub3QgZm91bmQgb24gbWFzdGVyIGJy YW5jaCBhbmQgdGh1cyBwYXNzZXMgd2l0aG91dCBydW5uaW5nIHRoZW0NCiAgLSBbeF0gZXZvbHV0 aW9uLWRhdGEtc2VydmVyLTMuNDYuMl8xIGFscmVhZHkgZmFpbGluZyBvbiBtYXN0ZXIgYnJhbmNo DQoNCi0gSSBidWlsdCB0aGlzIFBSIGxvY2FsbHkgZm9yIHRoZXNlIGFyY2hpdGVjdHVyZXMgKGlm IHN1cHBvcnRlZC4gbWFyayBjcm9zc2J1aWxkcyk6DQogIC0gYWFyY2g2NC1tdXNsICh4MmdvLWNs aWVudCwgdmlydHVvc28sIHNzc2QsIHNxdWlkLCBsaWJyZW9mZmljZSBhbmQgRnJlZVJBRElVUyBm YWlsIGR1ZSB0byBjcm9zcy1jb21waWxhdGlvbiwgYWxsIG90aGVyIGNvbXBsZXRlKQ0KICAtIGFy bXY2bC1tdXNsICh4MmdvLWNsaWVudCwgdmlydHVvc28sIHNzc2QsIHNxdWlkLCBsaWJyZW9mZmlj ZSBhbmQgRnJlZVJBRElVUyBmYWlsIGR1ZSB0byBjcm9zcy1jb21waWxhdGlvbiwgYWxsIG90aGVy IGNvbXBsZXRlKQ0KICAtIGFybXY3bCAoeDJnby1jbGllbnQsIHZpcnR1b3NvLCBzc3NkLCBzcXVp ZCwgbGlicmVvZmZpY2UgYW5kIEZyZWVSQURJVVMgZmFpbCBkdWUgdG8gY3Jvc3MtY29tcGlsYXRp b24sIGFsbCBvdGhlciBjb21wbGV0ZSkNCiAgLSBpNjg2IChhcHItdXRpbCBzZWVtcyB0byByZXF1 aXJlIHg4Nl82NCBhbmQgY29tcGxhaW5zIHRoYXQgc2VsZWN0ZWQgY3B1IGRvZXMgbm90IHN1cHBv cnQgdGhhdC4gVGhpcyBtYWtlcyBvdGhlciBwYWNrYWdlIHRoYXQgZGVwZW5kIG9uIGFwci11dGls IGZhaWwgYXMgd2VsbDogYW5qdXRhLCBhcGFjaGUsIHBocCwgcGhwOC4wIGFuZCBsb2c0Y3h4LiB2 aXJ0dW9zbywgc3NzZCwgbGlicmVvZmZpY2UsIEZyZWVSQURJVVMsIHNxdWlkIGFuZCBnbnVwZzEg cHJvYmFibHkgZmFpbHMgZHVlIHRvIGNyb3NzLWNvbXBpbGF0aW9uKQ0KDQpQYXRjaGVkIGlzc3Vl IHdpdGggdGVzdDA3OToNCkl0IGJ1aWxkcyBhbmQgdGhlIHRlc3Qgc3VpdGUgaXMgb2sgb24geDg2 XzY0LWdsaWJjIGJ1dCBmYWlscyBvbiB4ODZfNjQtbXVzbCAoaWYgSSByZW1lbWJlciBjb3JyZWN0 bHkgZnJvbSBlYXJsaWVyIHRlc3RpbmcgdGhlIDIuNSBicmFuY2ggaGFkIHRoZSBzYW1lIHRlc3Qg c3VpdGUgZXJyb3IpLg0KW29wZW5sZGFwLTIuNi4zLXRlc3QwNzkubG9nXShodHRwczovL2dpdGh1 Yi5jb20vdm9pZC1saW51eC92b2lkLXBhY2thZ2VzL2ZpbGVzLzEwNTMwODQzL29wZW5sZGFwLTIu Ni4zLXRlc3QwNzkubG9nKQ0KW29wZW5sZGFwLTIuNi4zLW5vLXRlc3RzLmxvZ10oaHR0cHM6Ly9n aXRodWIuY29tL3ZvaWQtbGludXgvdm9pZC1wYWNrYWdlcy9maWxlcy8xMDUzMDkwMy9vcGVubGRh cC0yLjYuMy1uby10ZXN0cy5sb2cpDQpbb3BlbmxkYXAtMi42LjMtYWxsLXRlc3RzLmxvZ10oaHR0 cHM6Ly9naXRodWIuY29tL3ZvaWQtbGludXgvdm9pZC1wYWNrYWdlcy9maWxlcy8xMDUzMDkyOS9v cGVubGRhcC0yLjYuMy1hbGwtdGVzdHMubG9nKQ0KDQpJdCBzZWVtcyB0aGF0IHRlc3QgNzkgYWxz byBmYWlscyBvbiBhbHBpbmU6IGh0dHBzOi8vZ2l0LmFscGluZWxpbnV4Lm9yZy9hcG9ydHMvdHJl ZS9tYWluL29wZW5sZGFwL0FQS0JVSUxEI24yMjcNCkknbGwgaGF2ZSB0byBsb29rIGNsb3NlciBp bnRvIHRoZSBzcGVjaWZpYyB0ZXN0IGFuZCB3aHkgaXQgZmFpbHMsIGJ1dCBpZiBpdCdzIG5vdCBj cml0aWNhbCBpdCBtYXkgYmUgb2sgdG8gaWdub3JlIGl0Lg0KDQpUaGUgcmVzdCBvZiB0aGUgdGVz dCBzdWl0ZSBkb2VzIG5vdCBzZWVtIHRvIGJlIGEgcHJvYmxlbS4KCkEgcGF0Y2ggZmlsZSBmcm9t IGh0dHBzOi8vZ2l0aHViLmNvbS92b2lkLWxpbnV4L3ZvaWQtcGFja2FnZXMvcHVsbC80MTk0OC5w YXRjaCBpcyBhdHRhY2hlZA== --===============7282095220397637896== Content-Type: text/x-diff MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="github-pr-openldap-2.6-41948.patch" RnJvbSAyMTczZDNjNGUwNWNkNmU5NTNmM2QwZWU0NDZjZWQxZDI5OGMyNGJkIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBLbGFyYSBNb2RpbiA8a2xhcmFzbW9kaW5AZ21haWwuY29tPgpE YXRlOiBXZWQsIDIgTm92IDIwMjIgMjE6MDQ6NDYgKzAxMDAKU3ViamVjdDogW1BBVENIIDAxLzM5 XSBvcGVubGRhcDogdXBkYXRlIHRvIDIuNi40CgotIHVwZGF0ZSBjb21tb24vc2hsaWJzCi0gYWRk IHNsYXBkLmxkaWYgdG8gY29uZl9maWxlcwotIGFkZCBtb3JlIG9wdGlvbnMgdG8gcnVuaXQgc2Vy dmljZQotIHJlbW92ZSB1bnJlZ29nbml6ZWQgY29uZmlndXJlIG9wdHMKLS0tCiBjb21tb24vc2hs aWJzICAgICAgICAgICAgICAgICAgICB8ICA1ICsrLS0tCiBzcmNwa2dzL29wZW5sZGFwL2ZpbGVz L3NsYXBkL3J1biB8ICAyICstCiBzcmNwa2dzL29wZW5sZGFwL3RlbXBsYXRlICAgICAgICB8IDEy ICsrKysrKy0tLS0tLQogMyBmaWxlcyBjaGFuZ2VkLCA5IGluc2VydGlvbnMoKyksIDEwIGRlbGV0 aW9ucygtKQoKZGlmZiAtLWdpdCBhL2NvbW1vbi9zaGxpYnMgYi9jb21tb24vc2hsaWJzCmluZGV4 IGY5YTBkNzc5NGI3OS4uZGY1NWUzZjJhZDBmIDEwMDY0NAotLS0gYS9jb21tb24vc2hsaWJzCisr KyBiL2NvbW1vbi9zaGxpYnMKQEAgLTY5OSw5ICs2OTksOCBAQCBsaWJnbm9tZS1ibHVldG9vdGgu c28uMTMgZ25vbWUtYmx1ZXRvb3RoMS0zLjEyLjBfMQogbGliZ25vbWUtYmx1ZXRvb3RoLTMuMC5z by4xMyBnbm9tZS1ibHVldG9vdGgtNDIuMV8xCiBsaWJnbm9tZS1ibHVldG9vdGgtdWktMy4wLnNv LjEzIGdub21lLWJsdWV0b290aC00Mi4xXzEKIGxpYnNhc2wyLnNvLjMgbGlic2FzbC0yLjEuMjZf MQotbGlibGJlci0yLjQuc28uMiBsaWJsZGFwLTIuNC4yMV8xCi1saWJsZGFwLTIuNC5zby4yIGxp YmxkYXAtMi40LjIxXzEKLWxpYmxkYXBfci0yLjQuc28uMiBsaWJsZGFwLTIuNC4yMV8xCitsaWJs YmVyLnNvLjIgbGlibGRhcC0yLjYuM18xCitsaWJsZGFwLnNvLjIgbGlibGRhcC0yLjYuM18xCiBs aWJldmVudC0yLjEuc28uNyBsaWJldmVudC0yLjEuMTFfMQogbGliZXZlbnRfY29yZS0yLjEuc28u NyBsaWJldmVudC0yLjEuMTFfMQogbGliZXZlbnRfZXh0cmEtMi4xLnNvLjcgbGliZXZlbnQtMi4x LjExXzEKZGlmZiAtLWdpdCBhL3NyY3BrZ3Mvb3BlbmxkYXAvZmlsZXMvc2xhcGQvcnVuIGIvc3Jj cGtncy9vcGVubGRhcC9maWxlcy9zbGFwZC9ydW4KaW5kZXggZjdhZGRmY2JlZWEzLi40ZmEyMjUz YjE4MjUgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3Mvb3BlbmxkYXAvZmlsZXMvc2xhcGQvcnVuCisrKyBi L3NyY3BrZ3Mvb3BlbmxkYXAvZmlsZXMvc2xhcGQvcnVuCkBAIC03LDQgKzcsNCBAQCBpZiBbICEg LWQgL3J1bi9vcGVubGRhcCBdOyB0aGVuCiAJY2hvd24gJExEQVBVU0VSOiRMREFQR1JPVVAgL3J1 bi9vcGVubGRhcAogZmkKIGV4ZWMgMj4mMQotZXhlYyBzbGFwZCAtdSAkTERBUFVTRVIgLWcgJExE QVBHUk9VUCAtZCAwCitleGVjIHNsYXBkIC11ICRMREFQVVNFUiAtZyAkTERBUEdST1VQIC1kIDAg JHtMREFQVVJMUzorLWggIiRMREFQVVJMUyJ9ICRMREFQT1BUUwpkaWZmIC0tZ2l0IGEvc3JjcGtn cy9vcGVubGRhcC90ZW1wbGF0ZSBiL3NyY3BrZ3Mvb3BlbmxkYXAvdGVtcGxhdGUKaW5kZXggODVm ZTc5ZDc3ZDFlLi41NmI1ODljNmQ4MTMgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3Mvb3BlbmxkYXAvdGVt cGxhdGUKKysrIGIvc3JjcGtncy9vcGVubGRhcC90ZW1wbGF0ZQpAQCAtMSw2ICsxLDYgQEAKICMg VGVtcGxhdGUgZmlsZSBmb3IgJ29wZW5sZGFwJwogcGtnbmFtZT1vcGVubGRhcAotdmVyc2lvbj0y LjQuNTgKK3ZlcnNpb249Mi42LjQKIHJldmlzaW9uPTEKIGJ1aWxkX3N0eWxlPWdudS1jb25maWd1 cmUKIGNvbmZpZ3VyZV9hcmdzPSItLXByZWZpeD0vdXNyCkBAIC04LDIxICs4LDIxIEBAIGNvbmZp Z3VyZV9hcmdzPSItLXByZWZpeD0vdXNyCiAgLS1zeXNjb25mZGlyPS9ldGMKICAtLWxvY2Fsc3Rh dGVkaXI9L3Zhci9saWIvb3BlbmxkYXAKICAtLXNiaW5kaXI9L3Vzci9iaW4KLSAtLWVuYWJsZS1k eW5hbWljIC0tZW5hYmxlLXByb2N0aXRsZSAtLXdpdGgtdGxzIC0tZW5hYmxlLWxkYXAKKyAtLWVu YWJsZS1keW5hbWljIC0td2l0aC10bHMgLS1lbmFibGUtbGRhcAogIC0tZW5hYmxlLWlwdjYgLS1l bmFibGUtbG9jYWwgLS13aXRoLWN5cnVzLXNhc2wgLS13aXRoLXRocmVhZHMKICAtLWVuYWJsZS1z eXNsb2cgLS1lbmFibGUtc2xhcGQgLS1lbmFibGUtY3J5cHQgLS1lbmFibGUtc3Bhc3N3ZAotIC0t ZW5hYmxlLWJkYiAtLWVuYWJsZS1oZGIgLS1lbmFibGUtb3ZlcmxheXM9bW9kIC0tZW5hYmxlLW1l dGE9bW9kCisgLS1lbmFibGUtb3ZlcmxheXM9bW9kIC0tZW5hYmxlLW1ldGE9bW9kCiAgLS1kaXNh YmxlLXN0YXRpYyAtLXdpdGgteWllbGRpbmdfc2VsZWN0PXllcyAtLWVuYWJsZS1tb2R1bGVzIgog aG9zdG1ha2VkZXBlbmRzPSJwa2ctY29uZmlnIGdyb2ZmIgogbWFrZWRlcGVuZHM9Im9wZW5zc2wt ZGV2ZWwgbGlic2FzbC1kZXZlbCBkYi1kZXZlbCBsaWJsdGRsLWRldmVsIgogZGVwZW5kcz0ib3Bl bmxkYXAtdG9vbHM+PSR7dmVyc2lvbn1fJHtyZXZpc2lvbn0iCi1jb25mX2ZpbGVzPSIvZXRjL29w ZW5sZGFwL2xkYXAuY29uZiAvZXRjL29wZW5sZGFwL3NsYXBkLmNvbmYiCitjb25mX2ZpbGVzPSIv ZXRjL29wZW5sZGFwL2xkYXAuY29uZiAvZXRjL29wZW5sZGFwL3NsYXBkLmNvbmYgL2V0Yy9vcGVu bGRhcC9zbGFwZC5sZGlmIgogc2hvcnRfZGVzYz0iT3BlbkxEQVAgKExpZ2h0d2VpZ2h0IERpcmVj dG9yeSBBY2Nlc3MgUHJvdG9jb2wpIgogbWFpbnRhaW5lcj0iT3JwaGFuZWQgPG9ycGhhbkB2b2lk bGludXgub3JnPiIKIGxpY2Vuc2U9Ik9MREFQLTIuMCIKIGhvbWVwYWdlPSJodHRwOi8vd3d3Lm9w ZW5sZGFwLm9yZyIKIGRpc3RmaWxlcz0iaHR0cHM6Ly93d3cub3BlbmxkYXAub3JnL3NvZnR3YXJl L2Rvd25sb2FkL09wZW5MREFQL29wZW5sZGFwLXJlbGVhc2Uvb3BlbmxkYXAtJHt2ZXJzaW9ufS50 Z3oiCi1jaGVja3N1bT01N2I1OTI1NGJlMTVkMGJmNmE5YWIzZDUxNGMxYzA1Nzc3YjAyMTIzMjkx NTMzMTM0YTg3Yzk0NDY4ZjhmNDdiCitjaGVja3N1bT1kNTE3MDRlNTAxNzg0MzBjMDZjZjNkOGFh MTc0ZGE2NmJhZGY1NTk3NDdhNDdkOTIwYmI1NGIyZDRhYTQwOTkxCiAKIHN5c3RlbV9hY2NvdW50 cz0ibGRhcCIKIGxkYXBfaG9tZWRpcj0iL3Zhci9saWIvb3BlbmxkYXAiCkBAIC0zOCw3ICszOCw3 IEBAIHBvc3RfaW5zdGFsbCgpIHsKIAl2bGljZW5zZSBMSUNFTlNFCiAJY2htb2QgNzU1ICR7REVT VERJUn0vdXNyL2xpYi8qLnNvLioKIAl2bWtkaXIgdXNyL3NoYXJlL2V4YW1wbGVzL29wZW5sZGFw Ci0JbXYgJHtERVNURElSfS9ldGMvb3BlbmxkYXAvKi57ZXhhbXBsZSxkZWZhdWx0fSAke0RFU1RE SVJ9L3Vzci9zaGFyZS9leGFtcGxlcy9vcGVubGRhcAorCW12ICR7REVTVERJUn0vZXRjL29wZW5s ZGFwLyouZGVmYXVsdCAke0RFU1RESVJ9L3Vzci9zaGFyZS9leGFtcGxlcy9vcGVubGRhcAogCWNo bW9kIDA2NDQgJHtERVNURElSfS91c3Ivc2hhcmUvZXhhbXBsZXMvb3BlbmxkYXAvKgogfQogCgpG cm9tIDY1MDU2Njg5MGExYzY3ZGRlZmE0ZTQ0NDJlZjFhNzdmZWJlNjNhODkgTW9uIFNlcCAxNyAw MDowMDowMCAyMDAxCkZyb206IEtsYXJhIE1vZGluIDxrbGFyYXNtb2RpbkBnbWFpbC5jb20+CkRh dGU6IFdlZCwgMSBGZWIgMjAyMyAwMDoyNTozNiArMDEwMApTdWJqZWN0OiBbUEFUQ0ggMDIvMzld IGN5cnVzLXNhc2w6IHJldmJ1bXAgZHVlIHRvIG9wZW5sZGFwIHVwZGF0ZQoKLS0tCiBzcmNwa2dz L2N5cnVzLXNhc2wvdGVtcGxhdGUgfCAyICstCiAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24o KyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9zcmNwa2dzL2N5cnVzLXNhc2wvdGVtcGxh dGUgYi9zcmNwa2dzL2N5cnVzLXNhc2wvdGVtcGxhdGUKaW5kZXggYjI1OTE1MjEzOWZkLi5kOTY0 NmVkOGE2NDIgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvY3lydXMtc2FzbC90ZW1wbGF0ZQorKysgYi9z cmNwa2dzL2N5cnVzLXNhc2wvdGVtcGxhdGUKQEAgLTEsNyArMSw3IEBACiAjIFRlbXBsYXRlIGZp bGUgZm9yICdjeXJ1cy1zYXNsJwogcGtnbmFtZT1jeXJ1cy1zYXNsCiB2ZXJzaW9uPTIuMS4yNwot cmV2aXNpb249OQorcmV2aXNpb249MTAKIGJ1aWxkX3N0eWxlPWdudS1jb25maWd1cmUKIGNvbmZp Z3VyZV9hcmdzPSItLWRpc2FibGUtc3RhdGljIC0tZW5hYmxlLXNoYXJlZCAtLWVuYWJsZS1jaGVj a2Fwb3AKICAtLWVuYWJsZS1jcmFtIC0tZW5hYmxlLWRpZ2VzdCAtLWRpc2FibGUtb3RwIC0tZGlz YWJsZS1zcnAKCkZyb20gYTZlYWVmZjQzMjA5MTNkMGYxZTZhZjFkN2JhZjZhMTkzMWIyZmUyYSBN b24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogS2xhcmEgTW9kaW4gPGtsYXJhc21vZGluQGdt YWlsLmNvbT4KRGF0ZTogV2VkLCAxIEZlYiAyMDIzIDAwOjI2OjA4ICswMTAwClN1YmplY3Q6IFtQ QVRDSCAwMy8zOV0gbWl0LWtyYjU6IHVwZGF0ZSB0byAxLjIwLjEKCkEgcmVidWlsZCB0cmlnZ2Vy ZCBieSB1cGRhdGUgdG8gb3BlbmxkYXAtMi42LjMgaGFkIHNvbWUgZXJyb3JzIGluIHRoZQp0ZXN0 IHN1aXRlLgpSZW1vdmUgcGF0Y2ggZm9yIGxpYnJlc3NsLgpGb2xsb3cgZGlzdGZpbGVzIGNvbnZl bnRpb24uCi0tLQogc3JjcGtncy9taXQta3JiNS9wYXRjaGVzL2xpYnJlc3NsLnBhdGNoIHwgMzgg LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogc3JjcGtncy9taXQta3JiNS90ZW1wbGF0ZSAgICAg ICAgICAgICAgIHwgIDggKysrLS0tCiAyIGZpbGVzIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwg NDIgZGVsZXRpb25zKC0pCiBkZWxldGUgbW9kZSAxMDA2NDQgc3JjcGtncy9taXQta3JiNS9wYXRj aGVzL2xpYnJlc3NsLnBhdGNoCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9taXQta3JiNS9wYXRjaGVz L2xpYnJlc3NsLnBhdGNoIGIvc3JjcGtncy9taXQta3JiNS9wYXRjaGVzL2xpYnJlc3NsLnBhdGNo CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2ZWIwZGJmY2FmM2QuLjAwMDAwMDAwMDAw MAotLS0gYS9zcmNwa2dzL21pdC1rcmI1L3BhdGNoZXMvbGlicmVzc2wucGF0Y2gKKysrIC9kZXYv bnVsbApAQCAtMSwzOCArMCwwIEBACi0tLS0gYS9zcmMvcGx1Z2lucy9wcmVhdXRoL3BraW5pdC9w a2luaXRfY3J5cHRvX29wZW5zc2wuYwkyMDE5LTAxLTA4IDE3OjAyOjM3LjAwMDAwMDAwMCArMDEw MAotKysrIGIvc3JjL3BsdWdpbnMvcHJlYXV0aC9wa2luaXQvcGtpbml0X2NyeXB0b19vcGVuc3Ns LmMJMjAxOS0wNS0xMSAxNjoyOTozNy4wMDE0NTgwODQgKzAyMDAKLUBAIC0xODksNyArMTg5LDcg QEAKLSAgICAgKCpfeDUwOV9wcCkgPSBQS0NTN19jZXJ0X2Zyb21fc2lnbmVyX2luZm8oX3A3LF9z aSkKLSAjZW5kaWYKLSAKLS0jaWYgT1BFTlNTTF9WRVJTSU9OX05VTUJFUiA8IDB4MTAxMDAwMDBM Ci0rI2lmIE9QRU5TU0xfVkVSU0lPTl9OVU1CRVIgPCAweDEwMTAwMDAwTCB8fCBkZWZpbmVkKExJ QlJFU1NMX1ZFUlNJT05fTlVNQkVSKQotIAotIC8qIDEuMSBzdGFuZGFyZGl6ZXMgY29uc3RydWN0 b3IgYW5kIGRlc3RydWN0b3IgbmFtZXMsIHJlbmFtaW5nCi0gICogRVZQX01EX0NUWF97Y3JlYXRl LGRlc3Ryb3l9IGFuZCBkZXByZWNhdGluZyBBU04xX1NUUklOR19kYXRhLiAqLwotQEAgLTMwNTMs NyArMzA1Myw3IEBACi0gICAgIHJldHVybiByZXR2YWw7Ci0gfQotIAotLSNpZiBPUEVOU1NMX1ZF UlNJT05fTlVNQkVSID49IDB4MTAxMDAwMDBMCi0rI2lmIE9QRU5TU0xfVkVSU0lPTl9OVU1CRVIg Pj0gMHgxMDEwMDAwMEwgfHwgZGVmaW5lZChMSUJSRVNTTF9WRVJTSU9OX05VTUJFUikKLSAKLSAv KgotICAqIFdlIG5lZWQgdG8gZGVjb2RlIERvbWFpblBhcmFtZXRlcnMgZnJvbSBSRkMgMzI3OSBz ZWN0aW9uIDIuMy4zLiAgV2Ugd291bGQKLUBAIC0zMDc5LDcgKzMwNzksNyBAQAotIEFTTjFfU0VR VUVOQ0UoREh2cGFyYW1zKSA9IHsKLSAgICAgQVNOMV9TSU1QTEUoaW50X2RodnBhcmFtcywgc2Vl ZCwgQVNOMV9CSVRfU1RSSU5HKSwKLSAgICAgQVNOMV9TSU1QTEUoaW50X2RodnBhcmFtcywgY291 bnRlciwgQklHTlVNKQotLX0gc3RhdGljX0FTTjFfU0VRVUVOQ0VfRU5EX25hbWUoaW50X2RodnBh cmFtcywgREh2cGFyYW1zKQotK30gQVNOMV9TRVFVRU5DRV9FTkRfbmFtZShpbnRfZGh2cGFyYW1z LCBESHZwYXJhbXMpCi0gCi0gQVNOMV9TRVFVRU5DRShESHhwYXJhbXMpID0gewotICAgICBBU04x X1NJTVBMRShpbnRfZGh4OTQyX2RoLCBwLCBCSUdOVU0pLAotQEAgLTMwODcsNyArMzA4Nyw3IEBA Ci0gICAgIEFTTjFfT1BUKGludF9kaHg5NDJfZGgsIHEsIEJJR05VTSksCi0gICAgIEFTTjFfT1BU KGludF9kaHg5NDJfZGgsIGosIEJJR05VTSksCi0gICAgIEFTTjFfT1BUKGludF9kaHg5NDJfZGgs IHZwYXJhbXMsIERIdnBhcmFtcyksCi0tfSBzdGF0aWNfQVNOMV9TRVFVRU5DRV9FTkRfbmFtZShp bnRfZGh4OTQyX2RoLCBESHhwYXJhbXMpCi0rfSBBU04xX1NFUVVFTkNFX0VORF9uYW1lKGludF9k aHg5NDJfZGgsIERIeHBhcmFtcykKLSAKLSBzdGF0aWMgREggKgotIGRlY29kZV9kaF9wYXJhbXMo Y29uc3QgdWludDhfdCAqcCwgdW5zaWduZWQgaW50IGxlbikKZGlmZiAtLWdpdCBhL3NyY3BrZ3Mv bWl0LWtyYjUvdGVtcGxhdGUgYi9zcmNwa2dzL21pdC1rcmI1L3RlbXBsYXRlCmluZGV4IGE2N2Jh ZTE5NzY0YS4uMzZhN2RlNDZlMDk5IDEwMDY0NAotLS0gYS9zcmNwa2dzL21pdC1rcmI1L3RlbXBs YXRlCisrKyBiL3NyY3BrZ3MvbWl0LWtyYjUvdGVtcGxhdGUKQEAgLTIsOCArMiw4IEBACiAjIGlm IHRoZXJlIGlzIGEgYnVtcCBpbiAuc28gdmVyc2lvbiwKICMgYWxzbyB1cGRhdGUgc3JjcGtncy9s aWJnc3NnbHVlL2ZpbGVzL2dzc2FwaV9tZWNoLmNvbmYKIHBrZ25hbWU9bWl0LWtyYjUKLXZlcnNp b249MS4xOC4zCi1yZXZpc2lvbj0yCit2ZXJzaW9uPTEuMjAuMQorcmV2aXNpb249MQogYnVpbGRf c3R5bGU9Z251LWNvbmZpZ3VyZQogaG9zdG1ha2VkZXBlbmRzPSJlMmZzcHJvZ3MtZGV2ZWwgZmxl eCBwZXJsIHBrZy1jb25maWciCiBtYWtlZGVwZW5kcz0iZTJmc3Byb2dzLWRldmVsIGxpYmxkYXAt ZGV2ZWwiCkBAIC0xMSw4ICsxMSw4IEBAIHNob3J0X2Rlc2M9Ik1JVCBLZXJiZXJvcyA1IGltcGxl bWVudGF0aW9uIgogbWFpbnRhaW5lcj0iT3JwaGFuZWQgPG9ycGhhbkB2b2lkbGludXgub3JnPiIK IGxpY2Vuc2U9Ik1JVCIKIGhvbWVwYWdlPSJodHRwOi8vd2ViLm1pdC5lZHUva2VyYmVyb3MiCi1k aXN0ZmlsZXM9IiR7aG9tZXBhZ2V9L2Rpc3Qva3JiNS8ke3ZlcnNpb24lLip9L2tyYjUtJHt2ZXJz aW9ufS50YXIuZ3oiCi1jaGVja3N1bT1lNjE3ODNjMjkyYjVlZmQ5YWZiNDVjNTU1YTgwZGQyNjdh YzY3ZWViYWJjYTQyMTg1MzYyYmVlNmM0ZmJkNzE5CitkaXN0ZmlsZXM9Imh0dHA6Ly93ZWIubWl0 LmVkdS9rZXJiZXJvcy9kaXN0L2tyYjUvJHt2ZXJzaW9uJS4qfS9rcmI1LSR7dmVyc2lvbn0udGFy Lmd6IgorY2hlY2tzdW09NzA0YWVkNDliMTllYjVhNzE3OGIzNGIyODczNjIwZWMyOTlkYjA4NzUy ZDZhODU3NGY5NWQ0MTg3OWFiODg1MQogCiBwb3N0X3BhdGNoKCkgewogCXZzZWQgLWUgIi9MREZM QUdTPS9kIiAtaSBzcmMvYnVpbGQtdG9vbHMva3JiNS1jb25maWcuaW4KCkZyb20gZjMxMzljMjU4 MDU0ZjUzOTQ3MzI3ODRmNjgyZGFlZGYzNjI1ZmMxYiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEK RnJvbTogS2xhcmEgTW9kaW4gPGtsYXJhc21vZGluQGdtYWlsLmNvbT4KRGF0ZTogV2VkLCAxIEZl YiAyMDIzIDAyOjE5OjMzICswMTAwClN1YmplY3Q6IFtQQVRDSCAwNC8zOV0gZXZvbHV0aW9uLWRh dGEtc2VydmVyOiByZXZidW1wIGR1ZSB0byBvcGVubGRhcCB1cGRhdGUKCi0tLQogc3JjcGtncy9l dm9sdXRpb24tZGF0YS1zZXJ2ZXIvdGVtcGxhdGUgfCAyICstCiAxIGZpbGUgY2hhbmdlZCwgMSBp bnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9zcmNwa2dzL2V2b2x1dGlv bi1kYXRhLXNlcnZlci90ZW1wbGF0ZSBiL3NyY3BrZ3MvZXZvbHV0aW9uLWRhdGEtc2VydmVyL3Rl bXBsYXRlCmluZGV4IGJmMWRiMjg4Y2QxMi4uMzVmNGYwYjAwOWM3IDEwMDY0NAotLS0gYS9zcmNw a2dzL2V2b2x1dGlvbi1kYXRhLXNlcnZlci90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL2V2b2x1dGlv bi1kYXRhLXNlcnZlci90ZW1wbGF0ZQpAQCAtMSw3ICsxLDcgQEAKICMgVGVtcGxhdGUgZmlsZSBm b3IgJ2V2b2x1dGlvbi1kYXRhLXNlcnZlcicKIHBrZ25hbWU9ZXZvbHV0aW9uLWRhdGEtc2VydmVy CiB2ZXJzaW9uPTMuNDYuMwotcmV2aXNpb249MQorcmV2aXNpb249MgogYnVpbGRfc3R5bGU9Y21h a2UKIGJ1aWxkX2hlbHBlcj0iZ2lyIHFlbXUiCiBjb25maWd1cmVfYXJncz0iIC1EU1lTQ09ORl9J TlNUQUxMX0RJUj0vZXRjCgpGcm9tIGRkNjg0MTljYWM5Nzk4YzM1MGFhYTg3MDVmYTI3YTk5MDMx ZDZkYWMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IEtsYXJhIE1vZGluIDxrbGFyYXNt b2RpbkBnbWFpbC5jb20+CkRhdGU6IFdlZCwgMSBGZWIgMjAyMyAwMjoyMDoxOSArMDEwMApTdWJq ZWN0OiBbUEFUQ0ggMDUvMzldIGdudXBnOiByZXZidW1wIGR1ZSB0byBvcGVubGRhcCB1cGRhdGUK Ci0tLQogc3JjcGtncy9nbnVwZy90ZW1wbGF0ZSB8IDIgKy0KIDEgZmlsZSBjaGFuZ2VkLCAxIGlu c2VydGlvbigrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvZ251cGcvdGVt cGxhdGUgYi9zcmNwa2dzL2dudXBnL3RlbXBsYXRlCmluZGV4IGM3Y2JlNjg5ZjIzYS4uNDZiNTk2 ZjBjYWM4IDEwMDY0NAotLS0gYS9zcmNwa2dzL2dudXBnL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3Mv Z251cGcvdGVtcGxhdGUKQEAgLTEsNyArMSw3IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdnbnVw ZycKIHBrZ25hbWU9Z251cGcKIHZlcnNpb249Mi40LjAKLXJldmlzaW9uPTEKK3JldmlzaW9uPTIK ICMgV2UncmUgYnVpbGRpbmcgb3V0c2lkZSBvZiB0aGUgc291cmNlIHRyZWUsIGJlY2F1c2UgdXBz dHJlYW0gdG9sZCB1cyB0bzoKICMgaHR0cHM6Ly9kZXYuZ251cGcub3JnL1Q2MzEzIzE2NjMzOQog YnVpbGRfd3Jrc3JjPWJ1aWxkCgpGcm9tIGE4OGYyMDA4OWZiMWJmYmQzNDIwZDJiMjBkNWEyM2Q5 NTYwYzI3NDUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IEtsYXJhIE1vZGluIDxrbGFy YXNtb2RpbkBnbWFpbC5jb20+CkRhdGU6IFdlZCwgMSBGZWIgMjAyMyAxNToxMzoyNSArMDEwMApT dWJqZWN0OiBbUEFUQ0ggMDYvMzldIEZyZWVSQURJVVM6IHJldmJ1bXAgZHVlIHRvIG9wZW5sZGFw IHVwZGF0ZQoKLS0tCiBzcmNwa2dzL0ZyZWVSQURJVVMvdGVtcGxhdGUgfCAyICstCiAxIGZpbGUg Y2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9zcmNw a2dzL0ZyZWVSQURJVVMvdGVtcGxhdGUgYi9zcmNwa2dzL0ZyZWVSQURJVVMvdGVtcGxhdGUKaW5k ZXggZWUyMDU5YTM3M2I0Li41YjJkNmZjYjc0ZjMgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvRnJlZVJB RElVUy90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL0ZyZWVSQURJVVMvdGVtcGxhdGUKQEAgLTEsNyAr MSw3IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdGcmVlUkFESVVTJwogcGtnbmFtZT1GcmVlUkFE SVVTCiB2ZXJzaW9uPTMuMC4yNgotcmV2aXNpb249MQorcmV2aXNpb249MgogYnVpbGRfc3R5bGU9 Z251LWNvbmZpZ3VyZQogbWFrZWRlcGVuZHM9InRhbGxvYy1kZXZlbCBvcGVuc3NsLWRldmVsIG1p dC1rcmI1LWRldmVsIHBhbS1kZXZlbCBcCiAgbGlibWFyaWFkYmNsaWVudC1kZXZlbCBwb3N0Z3Jl c3FsLWxpYnMtZGV2ZWwganNvbi1jLWRldmVsIgoKRnJvbSBiZTdmYzFmMjRjODY2MTcxZGU5MTc1 OTcxMjg3ZGU1MGI3NWQxOTg0IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBLbGFyYSBN b2RpbiA8a2xhcmFzbW9kaW5AZ21haWwuY29tPgpEYXRlOiBXZWQsIDEgRmViIDIwMjMgMTU6MTQ6 MzEgKzAxMDAKU3ViamVjdDogW1BBVENIIDA3LzM5XSBhbHBpbmU6IHJldmJ1bXAgZHVlIHRvIG9w ZW5sZGFwIHVkcGF0ZQoKYWxzbyBhZGQgQlNELTQtQ2xhdXNlIHRvIGxpY2Vuc2VzCi0tLQogc3Jj cGtncy9hbHBpbmUvdGVtcGxhdGUgfCA0ICsrLS0KIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlv bnMoKyksIDIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9hbHBpbmUvdGVtcGxh dGUgYi9zcmNwa2dzL2FscGluZS90ZW1wbGF0ZQppbmRleCAwMmM0Zjk0NDUxNWMuLjk3ODllMzAz ZmM4YSAxMDA2NDQKLS0tIGEvc3JjcGtncy9hbHBpbmUvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9h bHBpbmUvdGVtcGxhdGUKQEAgLTEsNyArMSw3IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdhbHBp bmUnCiBwa2duYW1lPWFscGluZQogdmVyc2lvbj0yLjI2Ci1yZXZpc2lvbj0xCityZXZpc2lvbj0y CiBfZ2l0aGFzaD05NzI2YzA5OGE3MzllZGZkY2E2MjE4YmM1ZGVlMTA0YzMxMDk1N2U5CiBfZ2l0 c2hvcnQ9IiR7X2dpdGhhc2g6MDo3fSIKIGJ1aWxkX3N0eWxlPWdudS1jb25maWd1cmUKQEAgLTEz LDcgKzEzLDcgQEAgaG9zdG1ha2VkZXBlbmRzPSJodW5zcGVsbCIKIG1ha2VkZXBlbmRzPSJnZXR0 ZXh0LWRldmVsIGxpYmxkYXAtZGV2ZWwgbWl0LWtyYjUtZGV2ZWwgbmN1cnNlcy1kZXZlbCIKIHNo b3J0X2Rlc2M9IkFwYWNoZS1saWNlbnNlZCBQSU5FIG1haWwgdXNlciBhZ2VudCAod2l0aCBDaGFw cGEgcGF0Y2hlcykiCiBtYWludGFpbmVyPSJMZWFoIE5ldWtpcmNoZW4gPGxlYWhAdnV4dS5vcmc+ IgotbGljZW5zZT0iQXBhY2hlLTIuMCIKK2xpY2Vuc2U9IkFwYWNoZS0yLjAsIEJTRC00LUNsYXVz ZSIKIGhvbWVwYWdlPSJodHRwczovL3JlcG8ub3IuY3ovYWxwaW5lLmdpdCIKIGRpc3RmaWxlcz0i aHR0cHM6Ly9yZXBvLm9yLmN6L2FscGluZS5naXQvc25hcHNob3QvJHtfZ2l0aGFzaH0udGFyLmd6 IgogY2hlY2tzdW09YzhjMzc3ZWFiMGY2NWI1MTI4M2UwYWQzMTQ0YmUxNDMwNjVkY2E0NDYzZDEy Y2NmNTA5MmFlODQxNTE1YTQzMQoKRnJvbSA0MGVhZjJmNDBmNDRlZjgyNmU5ZTVlNTFlNzE5OTg5 ZGIxMDc5NGU4IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBLbGFyYSBNb2RpbiA8a2xh cmFzbW9kaW5AZ21haWwuY29tPgpEYXRlOiBXZWQsIDEgRmViIDIwMjMgMTU6MTg6MjcgKzAxMDAK U3ViamVjdDogW1BBVENIIDA4LzM5XSBhbmp1dGE6IHJldmJ1bXAgZHVlIHRvIG9wZW5sZGFwIHVw ZGF0ZQoKYWxzbyBmaXggZGV0ZWN0aW9uIG9mIHdlYmtpdDJndGsKLS0tCiBzcmNwa2dzL2FuanV0 YS9wYXRjaGVzL2ZpeC13ZWJraXQyZ3RrLWRldGVjdGlvbi5wYXRjaCB8IDExICsrKysrKysrKysr CiBzcmNwa2dzL2FuanV0YS90ZW1wbGF0ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8 ICA0ICsrLS0KIDIgZmlsZXMgY2hhbmdlZCwgMTMgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMo LSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL2FuanV0YS9wYXRjaGVzL2ZpeC13ZWJraXQy Z3RrLWRldGVjdGlvbi5wYXRjaAoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvYW5qdXRhL3BhdGNoZXMv Zml4LXdlYmtpdDJndGstZGV0ZWN0aW9uLnBhdGNoIGIvc3JjcGtncy9hbmp1dGEvcGF0Y2hlcy9m aXgtd2Via2l0Mmd0ay1kZXRlY3Rpb24ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg MDAwMDAwMDAwMDAwLi4xN2MwZGI5MTFjYmEKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL2Fu anV0YS9wYXRjaGVzL2ZpeC13ZWJraXQyZ3RrLWRldGVjdGlvbi5wYXRjaApAQCAtMCwwICsxLDEx IEBACistLS0gYS9jb25maWd1cmUuYWMJMjAxOS0wOS0wOCAxOTozMzo1Ny4wMDAwMDAwMDAgKzAy MDAKKysrKyBiL2NvbmZpZ3VyZS5hYwkyMDIzLTAyLTAxIDIyOjQxOjU0LjYzOTk0Mzg5NyArMDEw MAorQEAgLTI0Niw3ICsyNDYsNyBAQAorIAkJKndlYmtpdDJndGstMy4wKikKKyAJCQlBQ19ERUZJ TkUoW0hBVkVfV0VCS0lUMl0sIFsxXSwgW0RlZmluZWQgaWYgZGV2aGVscCBpcyBidWlsdCBhZ2Fp bnN0IHdlYmtpdGd0azJdKQorIAkJCTs7CistCQkqd2Via2l0Mmd0ay00LjAqKQorKwkJKndlYmtp dDJndGstNC4qKQorIAkJCUFDX0RFRklORShbSEFWRV9XRUJLSVQyXSwgWzFdLCBbRGVmaW5lZCBp ZiBkZXZoZWxwIGlzIGJ1aWx0IGFnYWluc3Qgd2Via2l0Z3RrMl0pCisgCQkJOzsKKyAJCWVzYWMK ZGlmZiAtLWdpdCBhL3NyY3BrZ3MvYW5qdXRhL3RlbXBsYXRlIGIvc3JjcGtncy9hbmp1dGEvdGVt cGxhdGUKaW5kZXggYjQ2ZDU4YWVhZmUzLi4wNzc3ZTFiOTJlNTcgMTAwNjQ0Ci0tLSBhL3NyY3Br Z3MvYW5qdXRhL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvYW5qdXRhL3RlbXBsYXRlCkBAIC0xLDcg KzEsNyBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAnYW5qdXRhJwogcGtnbmFtZT1hbmp1dGEKIHZl cnNpb249My4zNC4wCi1yZXZpc2lvbj00CityZXZpc2lvbj01CiBidWlsZF9zdHlsZT1nbnUtY29u ZmlndXJlCiBidWlsZF9oZWxwZXI9ImdpciBxZW11IgogY29uZmlndXJlX2FyZ3M9Ii0tZGlzYWJs ZS1jb21waWxlLXdhcm5pbmdzIC0tZGlzYWJsZS1zY2hlbWFzLWNvbXBpbGUKQEAgLTE0LDcgKzE0 LDcgQEAgaG9zdG1ha2VkZXBlbmRzPSJwa2ctY29uZmlnIGludGx0b29sIGZsZXggaXRzdG9vbCBw eXRob24zIGF1dG9nZW4gZ2xpYi1kZXZlbAogbWFrZWRlcGVuZHM9Imd0a3NvdXJjZXZpZXctZGV2 ZWwgbGlieG1sMi1kZXZlbCB2dGUzLWRldmVsIGdqcy1kZXZlbAogIGxpYnhzbHQtZGV2ZWwgZ2xh ZGUzLWRldmVsIGdyYXBodml6LWRldmVsIHZhbGEtZGV2ZWwKICBsaWJnZGEtZGV2ZWwgZGV2aGVs cC1kZXZlbCBzcWxpdGUtZGV2ZWwgYXByLXV0aWwtZGV2ZWwKLSBuZW9uLWRldmVsIHN1YnZlcnNp b24tZGV2ZWwgcHl0aG9uMy1kZXZlbCBnZGwtZGV2ZWwiCisgbmVvbi1kZXZlbCBzdWJ2ZXJzaW9u LWRldmVsIHB5dGhvbjMtZGV2ZWwgZ2RsLWRldmVsIHdlYmtpdDJndGstZGV2ZWwiCiBkZXBlbmRz PSJhdXRvZ2VuIgogc2hvcnRfZGVzYz0iR05PTUUgSW50ZWdyYXRlZCBEZXZlbG9wbWVudCBFbnZp cm9ubWVudCIKIG1haW50YWluZXI9IkVubm8gQm9sYW5kIDxnb3R0b3hAdm9pZGxpbnV4Lm9yZz4i CgpGcm9tIGYwZDc0ZGFlYTRlMjQ4YmU1MzNiZGQxNzhiMDUxMTY3YWUyNTJmN2UgTW9uIFNlcCAx NyAwMDowMDowMCAyMDAxCkZyb206IEtsYXJhIE1vZGluIDxrbGFyYXNtb2RpbkBnbWFpbC5jb20+ CkRhdGU6IFdlZCwgMSBGZWIgMjAyMyAxNToxOTo0NSArMDEwMApTdWJqZWN0OiBbUEFUQ0ggMDkv MzldIGFwYWNoZTogcmV2YnVtcCBkdWUgdG8gb3BlbmxkYXAgdXBkYXRlCgotLS0KIHNyY3BrZ3Mv YXBhY2hlL3RlbXBsYXRlIHwgMiArLQogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAx IGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9hcGFjaGUvdGVtcGxhdGUgYi9zcmNw a2dzL2FwYWNoZS90ZW1wbGF0ZQppbmRleCA2MjlhZDE4YjM0YTUuLmE2NjFiZjcxZDVjMSAxMDA2 NDQKLS0tIGEvc3JjcGtncy9hcGFjaGUvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9hcGFjaGUvdGVt cGxhdGUKQEAgLTEsNyArMSw3IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdhcGFjaGUnCiBwa2du YW1lPWFwYWNoZQogdmVyc2lvbj0yLjQuNTQKLXJldmlzaW9uPTIKK3JldmlzaW9uPTMKIGJ1aWxk X3N0eWxlPWdudS1jb25maWd1cmUKIGNvbmZpZ3VyZV9hcmdzPSItLXByZWZpeD0gLS1zYmluZGly PS91c3IvYmluIC0tZW5hYmxlLXBpZSAtLWVuYWJsZS1tb2R1bGVzPWFsbAogIC0tZW5hYmxlLW1v ZHMtc2hhcmVkPWFsbCAtLWVuYWJsZS1hdXRobi1kYm0gLS1lbmFibGUtYXV0aG4tYW5vbgoKRnJv bSBmNzZhNzg1NDJjMTBkMDM1YTNjZTdiMjBmMWE2YzZlM2FjMDUwNGQxIE1vbiBTZXAgMTcgMDA6 MDA6MDAgMjAwMQpGcm9tOiBLbGFyYSBNb2RpbiA8a2xhcmFzbW9kaW5AZ21haWwuY29tPgpEYXRl OiBXZWQsIDEgRmViIDIwMjMgMTU6MjU6MzMgKzAxMDAKU3ViamVjdDogW1BBVENIIDEwLzM5XSBh cHItdXRpbDogdXBkYXRlIHRvIDEuNi4yCgpmYWlsZWQgdG8gZG93bmxvYWQgZGlzdGZpbGVzIHdo ZW4gcmV2YnVtcGluZwoKLSB1cGRhdGUgbWlycm9yCi0gcmVtb3ZlIHVwc3RyZWFtZWQgcGF0Y2gK LS0tCiBzcmNwa2dzL2Fwci11dGlsL3BhdGNoZXMvbXlzcWwucGF0Y2ggfCAxNSAtLS0tLS0tLS0t LS0tLS0KIHNyY3BrZ3MvYXByLXV0aWwvdGVtcGxhdGUgICAgICAgICAgICB8ICA4ICsrKystLS0t CiAyIGZpbGVzIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwgMTkgZGVsZXRpb25zKC0pCiBkZWxl dGUgbW9kZSAxMDA2NDQgc3JjcGtncy9hcHItdXRpbC9wYXRjaGVzL215c3FsLnBhdGNoCgpkaWZm IC0tZ2l0IGEvc3JjcGtncy9hcHItdXRpbC9wYXRjaGVzL215c3FsLnBhdGNoIGIvc3JjcGtncy9h cHItdXRpbC9wYXRjaGVzL215c3FsLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl eCBiZjE3OTJlZDZlYmIuLjAwMDAwMDAwMDAwMAotLS0gYS9zcmNwa2dzL2Fwci11dGlsL3BhdGNo ZXMvbXlzcWwucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwxNSArMCwwIEBACi1maXhlczogaHR0 cHM6Ly9naXRodWIuY29tL3ZvaWQtbGludXgvdm9pZC1wYWNrYWdlcy9pc3N1ZXMvMzk1MTAKLXRh a2VuIGZyb20gdXBzdHJlYW06IGh0dHBzOi8vc3ZuLmFwYWNoZS5vcmcvdmlld3ZjL2Fwci9hcHIv dHJ1bmsvZGJkL2Fwcl9kYmRfbXlzcWwuYz9yMT0xODcyMDU5JnIyPTE4NzIwNjAmZGlmZl9mb3Jt YXQ9aAotCi0tLS0gYS9kYmQvYXByX2RiZF9teXNxbC5jCi0rKysgYi9kYmQvYXByX2RiZF9teXNx bC5jCi1AQCAtMTI2Miw3ICsxMjYyLDkgQEAKLSAKLSBzdGF0aWMgdm9pZCBkYmRfbXlzcWxfaW5p dChhcHJfcG9vbF90ICpwb29sKQotIHsKLSsjaWYgTVlTUUxfVkVSU0lPTl9JRCA8IDEwMDAwMAot ICAgICBteV9pbml0KCk7Ci0rI2VuZGlmCi0gICAgIG15c3FsX3RocmVhZF9pbml0KCk7Ci0gCi0g ICAgIC8qIEZJWE1FOiB0aGlzIGlzIGEgZ3Vlc3M7IGZpbmQgb3V0IHdoYXQgaXQgcmVhbGx5IGRv ZXMgKi8KZGlmZiAtLWdpdCBhL3NyY3BrZ3MvYXByLXV0aWwvdGVtcGxhdGUgYi9zcmNwa2dzL2Fw ci11dGlsL3RlbXBsYXRlCmluZGV4IGYxY2Q0MzYzMzY1YS4uNWU5MDA5ODUxYmE0IDEwMDY0NAot LS0gYS9zcmNwa2dzL2Fwci11dGlsL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvYXByLXV0aWwvdGVt cGxhdGUKQEAgLTEsNyArMSw3IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdhcHItdXRpbCcKIHBr Z25hbWU9YXByLXV0aWwKLXZlcnNpb249MS42LjEKLXJldmlzaW9uPTEzCit2ZXJzaW9uPTEuNi4y CityZXZpc2lvbj0xCiBidWlsZF9zdHlsZT1nbnUtY29uZmlndXJlCiBjb25maWd1cmVfYXJncz0i CiAgLS13aXRoLXBnc3FsIC0td2l0aC1sZGFwCkBAIC0xNyw4ICsxNyw4IEBAIHNob3J0X2Rlc2M9 IkFwYWNoZSBQb3J0YWJsZSBSdW50aW1lIFV0aWxpdHkgTGlicmFyeSIKIG1haW50YWluZXI9Ik9y cGhhbmVkIDxvcnBoYW5Adm9pZGxpbnV4Lm9yZz4iCiBsaWNlbnNlPSJBcGFjaGUtMi4wIgogaG9t ZXBhZ2U9Imh0dHBzOi8vYXByLmFwYWNoZS5vcmcvIgotZGlzdGZpbGVzPSJodHRwczovL3d3dy5h cGFjaGUub3JnL2Rpc3QvYXByLyR7cGtnbmFtZX0tJHt2ZXJzaW9ufS50YXIuYnoyIgotY2hlY2tz dW09ZDNlMTJmN2I2YWQxMjY4NzU3MmEzYTM5NDc1NTQ1YTA3MjYwOGY0YmEwM2E2Y2U4YTM3Nzhm NjA3ZGQwMDM1YgorZGlzdGZpbGVzPSJodHRwczovL2Rvd25sb2Fkcy5hcGFjaGUub3JnL2Fwci8k e3BrZ25hbWV9LSR7dmVyc2lvbn0udGFyLmJ6MiIKK2NoZWNrc3VtPTRmZTU3NDQzYTc5MDUwMjdl MTM3MDdjODc1YzVkZTZmOWZjNmUyZTVhMjcyNWQ2OTViMjVhOGExMGMyZDI3ZTAKICMgZmFpbHMg dG8gYnVpbGQgdGVzdHMKIG1ha2VfY2hlY2s9bm8KIAoKRnJvbSA0MDM4NTVlZDQ3YTU5MzQ1ZWM3 OWFmYWIwYmJjNWM3MTAzY2I5YzZiIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBLbGFy YSBNb2RpbiA8a2xhcmFzbW9kaW5AZ21haWwuY29tPgpEYXRlOiBXZWQsIDEgRmViIDIwMjMgMTU6 MjY6NTQgKzAxMDAKU3ViamVjdDogW1BBVENIIDExLzM5XSBhdWRpdDogcmV2YnVtcCBkdWUgdG8g b3BlbmxkYXAgdXBkYXRlCgotLS0KIHNyY3BrZ3MvYXVkaXQvdGVtcGxhdGUgfCAyICstCiAxIGZp bGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9z cmNwa2dzL2F1ZGl0L3RlbXBsYXRlIGIvc3JjcGtncy9hdWRpdC90ZW1wbGF0ZQppbmRleCA3ZTFl NGRhYjJmNDUuLjMzNGQ1NjdmMzc4MSAxMDA2NDQKLS0tIGEvc3JjcGtncy9hdWRpdC90ZW1wbGF0 ZQorKysgYi9zcmNwa2dzL2F1ZGl0L3RlbXBsYXRlCkBAIC0xLDcgKzEsNyBAQAogIyBUZW1wbGF0 ZSBmaWxlIGZvciAnYXVkaXQnCiBwa2duYW1lPWF1ZGl0CiB2ZXJzaW9uPTMuMC4zCi1yZXZpc2lv bj00CityZXZpc2lvbj01CiBidWlsZF9zdHlsZT1nbnUtY29uZmlndXJlCiBjb25maWd1cmVfYXJn cz0iLS1saWJkaXI9L3Vzci9saWIgLS1lbmFibGUtc2hhcmVkPWF1ZGl0IC0tZW5hYmxlLWdzc2Fw aS1rcmI1CiAgLS13aXRoLWFwcGFybW9yIC0td2l0aC1saWJjYXAtbmcgLS13aXRoLXB5dGhvbjMi CgpGcm9tIGQwNTZiMjQzNDZlM2M2ZDljMzJiZTc4ZmI4MmNkZGQ0MzAwZWNiM2QgTW9uIFNlcCAx NyAwMDowMDowMCAyMDAxCkZyb206IEtsYXJhIE1vZGluIDxrbGFyYXNtb2RpbkBnbWFpbC5jb20+ CkRhdGU6IFdlZCwgMSBGZWIgMjAyMyAxNToyODoxNSArMDEwMApTdWJqZWN0OiBbUEFUQ0ggMTIv MzldIGF1dG9mczogcmV2YnVtcCBkdWUgdG8gb3BlbmxkYXAgdXBkYXRlCgotLS0KIHNyY3BrZ3Mv YXV0b2ZzL3RlbXBsYXRlIHwgMiArLQogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAx IGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9hdXRvZnMvdGVtcGxhdGUgYi9zcmNw a2dzL2F1dG9mcy90ZW1wbGF0ZQppbmRleCBhOWFiYzYwZTY0ZTguLjVmNjNkMGFkOTJjYSAxMDA2 NDQKLS0tIGEvc3JjcGtncy9hdXRvZnMvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9hdXRvZnMvdGVt cGxhdGUKQEAgLTEsNyArMSw3IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdhdXRvZnMnCiBwa2du YW1lPWF1dG9mcwogdmVyc2lvbj01LjEuOAotcmV2aXNpb249MgorcmV2aXNpb249MwogYnVpbGRf c3R5bGU9Z251LWNvbmZpZ3VyZQogbWFrZV9idWlsZF9hcmdzPSJET05UU1RSSVA9MSIKIGNvbmZp Z3VyZV9hcmdzPSItLXdpdGgtbGlidGlycGMgLS13aXRoLW1hcGRpcj0vZXRjL2F1dG9mcyAtLXNi aW5kaXI9L3Vzci9iaW4iCgpGcm9tIGI4ZDRkNzZjZDUwNDNlYmNiNjg4MmVhODJjYjRmYzdiZjBl MzUwMGIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IEtsYXJhIE1vZGluIDxrbGFyYXNt b2RpbkBnbWFpbC5jb20+CkRhdGU6IFdlZCwgMSBGZWIgMjAyMyAxNToyOTowNCArMDEwMApTdWJq ZWN0OiBbUEFUQ0ggMTMvMzldIGNsYXdzLW1haWw6IHJldmJ1bXAgZHVlIHRvIG9wZW5sZGFwIHVw ZGF0ZQoKLS0tCiBzcmNwa2dzL2NsYXdzLW1haWwvdGVtcGxhdGUgfCAyICstCiAxIGZpbGUgY2hh bmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9zcmNwa2dz L2NsYXdzLW1haWwvdGVtcGxhdGUgYi9zcmNwa2dzL2NsYXdzLW1haWwvdGVtcGxhdGUKaW5kZXgg MGZkODdkZjc4MDNlLi5iOTg5ZWJmMWQ4ZTQgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvY2xhd3MtbWFp bC90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL2NsYXdzLW1haWwvdGVtcGxhdGUKQEAgLTEsNyArMSw3 IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdjbGF3cy1tYWlsJwogcGtnbmFtZT1jbGF3cy1tYWls CiB2ZXJzaW9uPTQuMS4xCi1yZXZpc2lvbj0xCityZXZpc2lvbj0yCiBidWlsZF9zdHlsZT1nbnUt Y29uZmlndXJlCiBjb25maWd1cmVfYXJncz0iLS1kaXNhYmxlLXN0YXRpYyAtLWRpc2FibGUtcHl0 aG9uLXBsdWdpbiAtLWRpc2FibGUtcGVybC1wbHVnaW4KICAtLWVuYWJsZS1lbmNoYW50IC0tZW5h YmxlLWdudXRscyIKCkZyb20gNjRlNTc2Yzc5NTA2MzJlYTZlM2Q1YTMwOWIzMzA0MGMwNzhiNzY4 NSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogS2xhcmEgTW9kaW4gPGtsYXJhc21vZGlu QGdtYWlsLmNvbT4KRGF0ZTogV2VkLCAxIEZlYiAyMDIzIDE1OjMxOjE2ICswMTAwClN1YmplY3Q6 IFtQQVRDSCAxNC8zOV0gZG92ZWNvdDogcmV2YnVtcCBkdWUgdG8gb3BlbmxkYXAgdXBkYXRlCgot LS0KIHNyY3BrZ3MvZG92ZWNvdC90ZW1wbGF0ZSB8IDIgKy0KIDEgZmlsZSBjaGFuZ2VkLCAxIGlu c2VydGlvbigrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvZG92ZWNvdC90 ZW1wbGF0ZSBiL3NyY3BrZ3MvZG92ZWNvdC90ZW1wbGF0ZQppbmRleCA3ODdiMjliNmVhYjguLjY5 Nzc4OGU1YzI2NiAxMDA2NDQKLS0tIGEvc3JjcGtncy9kb3ZlY290L3RlbXBsYXRlCisrKyBiL3Ny Y3BrZ3MvZG92ZWNvdC90ZW1wbGF0ZQpAQCAtMiw3ICsyLDcgQEAKICMgcmV2YnVtcCBkb3ZlY290 LXBsdWdpbi1waWdlb25ob2xlIHdoZW4gdXBkYXRpbmcgZG92ZWNvdCEKIHBrZ25hbWU9ZG92ZWNv dAogdmVyc2lvbj0yLjMuMjAKLXJldmlzaW9uPTIKK3JldmlzaW9uPTMKIGJ1aWxkX3N0eWxlPWdu dS1jb25maWd1cmUKIGNvbmZpZ3VyZV9hcmdzPSItLXdpdGgtbW9kdWxlZGlyPS91c3IvbGliL2Rv dmVjb3QvbW9kdWxlcyAtLXdpdGgtc3FsPXBsdWdpbgogIC0tZGlzYWJsZS1zdGF0aWMgLS13aXRo LXBhbSAtLXdpdGgtbXlzcWwgLS13aXRoLXBnc3FsIC0td2l0aC1sdWNlbmUKCkZyb20gYzY0M2Ji NTJiOTNhMGI3MmFmZWMyNTJkZjMxYTA0MzBiMzM2MjIwNSBNb24gU2VwIDE3IDAwOjAwOjAwIDIw MDEKRnJvbTogS2xhcmEgTW9kaW4gPGtsYXJhc21vZGluQGdtYWlsLmNvbT4KRGF0ZTogV2VkLCAx IEZlYiAyMDIzIDE1OjMyOjMyICswMTAwClN1YmplY3Q6IFtQQVRDSCAxNS8zOV0gZG92ZWNvdC1w bHVnaW4tcGlnZW9uaG9sZTogcmV2YnVtcCBkdWUgdG8gb3BlbmxkYXAKIHVwZGF0ZQoKLS0tCiBz cmNwa2dzL2RvdmVjb3QtcGx1Z2luLXBpZ2VvbmhvbGUvdGVtcGxhdGUgfCAyICstCiAxIGZpbGUg Y2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9zcmNw a2dzL2RvdmVjb3QtcGx1Z2luLXBpZ2VvbmhvbGUvdGVtcGxhdGUgYi9zcmNwa2dzL2RvdmVjb3Qt cGx1Z2luLXBpZ2VvbmhvbGUvdGVtcGxhdGUKaW5kZXggZTRkMTY4Y2M0Zjc4Li44YWQzN2NjZjhm ZGEgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvZG92ZWNvdC1wbHVnaW4tcGlnZW9uaG9sZS90ZW1wbGF0 ZQorKysgYi9zcmNwa2dzL2RvdmVjb3QtcGx1Z2luLXBpZ2VvbmhvbGUvdGVtcGxhdGUKQEAgLTEs NyArMSw3IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdkb3ZlY290LXBsdWdpbi1waWdlb25ob2xl JwogcGtnbmFtZT1kb3ZlY290LXBsdWdpbi1waWdlb25ob2xlCiB2ZXJzaW9uPTAuNS4yMAotcmV2 aXNpb249MgorcmV2aXNpb249MwogYnVpbGRfc3R5bGU9Z251LWNvbmZpZ3VyZQogY29uZmlndXJl X2FyZ3M9Ii0tcHJlZml4PS91c3IKICAtLXdpdGgtZG92ZWNvdD0ke1hCUFNfQ1JPU1NfQkFTRX0v dXNyL2xpYi9kb3ZlY290CgpGcm9tIDEzOGNmZDc2ZWFjMGU0N2I4YzNiNmVhODMxYzJlN2I5NTMw OGEwZTkgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IEtsYXJhIE1vZGluIDxrbGFyYXNt b2RpbkBnbWFpbC5jb20+CkRhdGU6IFdlZCwgMSBGZWIgMjAyMyAxNTozMzo0NSArMDEwMApTdWJq ZWN0OiBbUEFUQ0ggMTYvMzldIGV2b2x1dGlvbjogcmV2YnVtcCBkdWUgdG8gb3BlbmxkYXAgdXBk YXRlCgotLS0KIHNyY3BrZ3MvZXZvbHV0aW9uL3RlbXBsYXRlIHwgMiArLQogMSBmaWxlIGNoYW5n ZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9l dm9sdXRpb24vdGVtcGxhdGUgYi9zcmNwa2dzL2V2b2x1dGlvbi90ZW1wbGF0ZQppbmRleCBiOWE2 M2FmMDk5NTUuLjViZDI5MTczYWMyNiAxMDA2NDQKLS0tIGEvc3JjcGtncy9ldm9sdXRpb24vdGVt cGxhdGUKKysrIGIvc3JjcGtncy9ldm9sdXRpb24vdGVtcGxhdGUKQEAgLTEsNyArMSw3IEBACiAj IFRlbXBsYXRlIGZpbGUgZm9yICdldm9sdXRpb24nCiBwa2duYW1lPWV2b2x1dGlvbgogdmVyc2lv bj0zLjQ2LjMKLXJldmlzaW9uPTEKK3JldmlzaW9uPTIKIGJ1aWxkX3N0eWxlPWNtYWtlCiBidWls ZF9oZWxwZXI9InFlbXUiCiBjb25maWd1cmVfYXJncz0iLURTWVNDT05GX0lOU1RBTExfRElSPS9l dGMKCkZyb20gNzlhNTllYTcxMDA0YThlNDgwNTk5NDM2NmIxNjFkNWZjNTQ4OTg2ZSBNb24gU2Vw IDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogS2xhcmEgTW9kaW4gPGtsYXJhc21vZGluQGdtYWlsLmNv bT4KRGF0ZTogV2VkLCAxIEZlYiAyMDIzIDE1OjM1OjI3ICswMTAwClN1YmplY3Q6IFtQQVRDSCAx Ny8zOV0gZ251cGcxOiByZXZidW1wIGR1ZSB0byBvcGVubGRhcCB1cGRhdGUKCi0tLQogc3JjcGtn cy9nbnVwZzEvdGVtcGxhdGUgfCAyICstCiAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyks IDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9zcmNwa2dzL2dudXBnMS90ZW1wbGF0ZSBiL3Ny Y3BrZ3MvZ251cGcxL3RlbXBsYXRlCmluZGV4IGMwYzgzNzQ3NzkzOS4uZTg2MTQ3MDA2YWExIDEw MDY0NAotLS0gYS9zcmNwa2dzL2dudXBnMS90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL2dudXBnMS90 ZW1wbGF0ZQpAQCAtMSw3ICsxLDcgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ2dudXBnMScKIHBr Z25hbWU9Z251cGcxCiB2ZXJzaW9uPTEuNC4yMwotcmV2aXNpb249MQorcmV2aXNpb249MgogYnVp bGRfc3R5bGU9Z251LWNvbmZpZ3VyZQogY29uZmlndXJlX2FyZ3M9Ii0tZW5hYmxlLXRocmVhZHM9 cG9zaXggLS1lbmFibGUtbm9leGVjc3RhY2sKICBnbnVwZ19jdl9yZWdleF9icm9rZW49bm8iCgpG cm9tIDQ3MWZmMDYyMWRkZDUyYmIwMmE0MTFkODViNjI4OTNlM2JjN2Y0YzQgTW9uIFNlcCAxNyAw MDowMDowMCAyMDAxCkZyb206IEtsYXJhIE1vZGluIDxrbGFyYXNtb2RpbkBnbWFpbC5jb20+CkRh dGU6IFdlZCwgMSBGZWIgMjAyMyAxNTozNjo1MCArMDEwMApTdWJqZWN0OiBbUEFUQ0ggMTgvMzld IGtsZGFwOiByZXZidW1wIGR1ZSB0byBvcGVubGRhcCB1cGRhdGUKCi0tLQogc3JjcGtncy9rbGRh cC90ZW1wbGF0ZSB8IDIgKy0KIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxl dGlvbigtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3Mva2xkYXAvdGVtcGxhdGUgYi9zcmNwa2dzL2ts ZGFwL3RlbXBsYXRlCmluZGV4IGM0ZjZhY2RiODdkYi4uMDQ0MzliZmQyMmMxIDEwMDY0NAotLS0g YS9zcmNwa2dzL2tsZGFwL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3Mva2xkYXAvdGVtcGxhdGUKQEAg LTEsNyArMSw3IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdrbGRhcCcKIHBrZ25hbWU9a2xkYXAK IHZlcnNpb249MjIuMTIuMQotcmV2aXNpb249MQorcmV2aXNpb249MgogYnVpbGRfc3R5bGU9Y21h a2UKIGhvc3RtYWtlZGVwZW5kcz0iZXh0cmEtY21ha2UtbW9kdWxlcyBxdDUtcW1ha2UgcXQ1LWhv c3QtdG9vbHMgcHl0aG9uMwogIGdldHRleHQga2NvcmVhZGRvbnMga2RvY3Rvb2xzIgoKRnJvbSA2 ZTM2ZTg1NmJkM2Q0MzkwOTFhODJiZDRkYzA4MDlhYjBlMjRiZDBlIE1vbiBTZXAgMTcgMDA6MDA6 MDAgMjAwMQpGcm9tOiBLbGFyYSBNb2RpbiA8a2xhcmFzbW9kaW5AZ21haWwuY29tPgpEYXRlOiBX ZWQsIDEgRmViIDIwMjMgMTU6Mzc6MjcgKzAxMDAKU3ViamVjdDogW1BBVENIIDE5LzM5XSBsZGFw dmk6IHJldmJ1bXAgZHVlIHRvIG9wZW5sZGFwIHVwZGF0ZQoKYWxzbyBmaXggc29tZSBsaW50aW5n IHByb2JsZW1zCi0tLQogc3JjcGtncy9sZGFwdmkvdGVtcGxhdGUgfCA4ICsrKystLS0tCiAxIGZp bGUgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBh L3NyY3BrZ3MvbGRhcHZpL3RlbXBsYXRlIGIvc3JjcGtncy9sZGFwdmkvdGVtcGxhdGUKaW5kZXgg MWRkYTNjMmFlNmU4Li44ODQwMWI3MjIxOTcgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvbGRhcHZpL3Rl bXBsYXRlCisrKyBiL3NyY3BrZ3MvbGRhcHZpL3RlbXBsYXRlCkBAIC0xLDE1ICsxLDE1IEBACiAj IFRlbXBsYXRlIGZpbGUgZm9yICdsZGFwdmknCiBwa2duYW1lPWxkYXB2aQogdmVyc2lvbj0xLjcK LXJldmlzaW9uPTExCityZXZpc2lvbj0xMgogYnVpbGRfc3R5bGU9Z251LWNvbmZpZ3VyZQogY29u ZmlndXJlX2FyZ3M9Ii0td2l0aC1zaGEiCi1tYWludGFpbmVyPSJMZWFoIE5ldWtpcmNoZW4gPGxl YWhAdnV4dS5vcmc+IgogaG9zdG1ha2VkZXBlbmRzPSJwa2ctY29uZmlnIgogbWFrZWRlcGVuZHM9 Im5jdXJzZXMtZGV2ZWwgcmVhZGxpbmUtZGV2ZWwgbGlic2FzbC1kZXZlbCBwb3B0LWRldmVsIGxp YmxkYXAtZGV2ZWwgZ2xpYi1kZXZlbCIKLWxpY2Vuc2U9IkdQTC0yIgorc2hvcnRfZGVzYz0iSW50 ZXJhY3RpdmUgTERBUCBjbGllbnQgZm9yIFVuaXggdGVybWluYWxzIgorbWFpbnRhaW5lcj0iTGVh aCBOZXVraXJjaGVuIDxsZWFoQHZ1eHUub3JnPiIKK2xpY2Vuc2U9IkdQTC0yLjAtb3ItbGF0ZXIi CiBob21lcGFnZT0iaHR0cDovL3d3dy5saWNodGVibGF1LmNvbS9sZGFwdmkvIgotc2hvcnRfZGVz Yz0iQW4gaW50ZXJhY3RpdmUgTERBUCBjbGllbnQgZm9yIFVuaXggdGVybWluYWxzIgogZGlzdGZp bGVzPSJodHRwOi8vd3d3LmxpY2h0ZWJsYXUuY29tL2Rvd25sb2FkL2xkYXB2aS0ke3ZlcnNpb259 LnRhci5neiIKIGNoZWNrc3VtPTZmNjJlOTJkMjBmZjJhYzBkMDYxMjUwMjRhOTE0Yjg2MjJlNWI4 YTBhMGMyZDM5MGJmM2U3OTkwY2JkMmUxNTMKIAoKRnJvbSBiZjY0ZjVkMWQyYTYzMmRkMjA2NjY5 ODc1Mzc5NTA0MzgzOGUxN2FmIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBLbGFyYSBN b2RpbiA8a2xhcmFzbW9kaW5AZ21haWwuY29tPgpEYXRlOiBXZWQsIDEgRmViIDIwMjMgMTU6NDA6 MzQgKzAxMDAKU3ViamVjdDogW1BBVENIIDIwLzM5XSBuZnMtdXRpbHM6IHJldmJ1bXAgZHVlIHRv IG9wZW5sZGFwIHVwZGF0ZQoKLS0tCiBzcmNwa2dzL25mcy11dGlscy90ZW1wbGF0ZSB8IDIgKy0K IDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdp dCBhL3NyY3BrZ3MvbmZzLXV0aWxzL3RlbXBsYXRlIGIvc3JjcGtncy9uZnMtdXRpbHMvdGVtcGxh dGUKaW5kZXggMjUyYTczNTViNjgzLi4xZWEyMzc4MWNhZmYgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3Mv bmZzLXV0aWxzL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvbmZzLXV0aWxzL3RlbXBsYXRlCkBAIC0x LDcgKzEsNyBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAnbmZzLXV0aWxzJwogcGtnbmFtZT1uZnMt dXRpbHMKIHZlcnNpb249Mi42LjIKLXJldmlzaW9uPTEKK3JldmlzaW9uPTIKIGJ1aWxkX3N0eWxl PWdudS1jb25maWd1cmUKIGNvbmZpZ3VyZV9hcmdzPSItLXdpdGgtc3RhdGR1c2VyPW5vYm9keSAt LWVuYWJsZS1nc3MgLS1lbmFibGUtbmZzdjQKICAtLXdpdGgtc3RhdGVkaXI9L3Zhci9saWIvbmZz IC0tZW5hYmxlLWxpYm1vdW50LW1vdW50IC0tZW5hYmxlLXN2Y2dzcwoKRnJvbSA2YWY3OGFjYjNi ZmVhMzEzYjJlMDA4ZGIwNTc3NGNmNWYwNWQwMjYwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpG cm9tOiBLbGFyYSBNb2RpbiA8a2xhcmFzbW9kaW5AZ21haWwuY29tPgpEYXRlOiBXZWQsIDEgRmVi IDIwMjMgMTU6NDE6MzEgKzAxMDAKU3ViamVjdDogW1BBVENIIDIxLzM5XSBsaWJyZW9mZmljZTog cmV2YnVtcCBkdWUgdG8gb3BlbmxkYXAgdXBkYXRlCgotLS0KIHNyY3BrZ3MvbGlicmVvZmZpY2Uv dGVtcGxhdGUgfCAyICstCiAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRp b24oLSkKCmRpZmYgLS1naXQgYS9zcmNwa2dzL2xpYnJlb2ZmaWNlL3RlbXBsYXRlIGIvc3JjcGtn cy9saWJyZW9mZmljZS90ZW1wbGF0ZQppbmRleCAxMWUwMjM4NDdmMWUuLmViYzc2MjcyZDZkOCAx MDA2NDQKLS0tIGEvc3JjcGtncy9saWJyZW9mZmljZS90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL2xp YnJlb2ZmaWNlL3RlbXBsYXRlCkBAIC0xLDcgKzEsNyBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAn bGlicmVvZmZpY2UnCiBwa2duYW1lPWxpYnJlb2ZmaWNlCiB2ZXJzaW9uPTcuNC4zLjIKLXJldmlz aW9uPTEKK3JldmlzaW9uPTIKIGJ1aWxkX3N0eWxlPW1ldGEKIG1ha2VfYnVpbGRfdGFyZ2V0PSJi dWlsZCIKIG5vY3Jvc3M9IlNldmVyYWwgZGVwZW5kZW5jaWVzIGFyZSBub2Nyb3NzPXllcyIKCkZy b20gMjEzOGIxMjFkNTFkMDU1ZWI4NjFhYjNjNmM4ZjFhMzM2MDRhNTUwYyBNb24gU2VwIDE3IDAw OjAwOjAwIDIwMDEKRnJvbTogS2xhcmEgTW9kaW4gPGtsYXJhc21vZGluQGdtYWlsLmNvbT4KRGF0 ZTogV2VkLCAxIEZlYiAyMDIzIDE1OjQ1OjUxICswMTAwClN1YmplY3Q6IFtQQVRDSCAyMi8zOV0g c2FtYmE6IHJldmJ1bXAgZHVlIHRvIG9wZW5sZGFwIHVwZGF0ZQoKLS0tCiBzcmNwa2dzL3NhbWJh L3RlbXBsYXRlIHwgMiArLQogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0 aW9uKC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9zYW1iYS90ZW1wbGF0ZSBiL3NyY3BrZ3Mvc2Ft YmEvdGVtcGxhdGUKaW5kZXggM2JhOTMyNjg5NzNkLi4zZTExOTliNzBjNWUgMTAwNjQ0Ci0tLSBh L3NyY3BrZ3Mvc2FtYmEvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9zYW1iYS90ZW1wbGF0ZQpAQCAt MSw3ICsxLDcgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ3NhbWJhJwogcGtnbmFtZT1zYW1iYQog dmVyc2lvbj00LjE0LjEyCi1yZXZpc2lvbj0yCityZXZpc2lvbj0zCiBidWlsZF9zdHlsZT13YWYz CiBidWlsZF9oZWxwZXI9InFlbXUiCiBjb25maWd1cmVfc2NyaXB0PSJidWlsZHRvb2xzL2Jpbi93 YWYiCgpGcm9tIDUzNzkwOTc1YWNjMWE1MDdiM2Q0ZmIxMmYxMDk3ZTUyZDQxNTdlN2EgTW9uIFNl cCAxNyAwMDowMDowMCAyMDAxCkZyb206IEtsYXJhIE1vZGluIDxrbGFyYXNtb2RpbkBnbWFpbC5j b20+CkRhdGU6IFdlZCwgMSBGZWIgMjAyMyAxNTo1MToyNCArMDEwMApTdWJqZWN0OiBbUEFUQ0gg MjMvMzldIGxpZ2h0dHA6IHJldmJ1bXAgZHVlIHRvIG9wZW5sZGFwIHVwZGF0ZQoKLS0tCiBzcmNw a2dzL2xpZ2h0dHBkL3RlbXBsYXRlIHwgMiArLQogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9u KCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9saWdodHRwZC90ZW1wbGF0 ZSBiL3NyY3BrZ3MvbGlnaHR0cGQvdGVtcGxhdGUKaW5kZXggZjk5MDM3NTE0YWUyLi4wMTUzYjRh ODIyMGYgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvbGlnaHR0cGQvdGVtcGxhdGUKKysrIGIvc3JjcGtn cy9saWdodHRwZC90ZW1wbGF0ZQpAQCAtMSw3ICsxLDcgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3Ig J2xpZ2h0dHBkJwogcGtnbmFtZT1saWdodHRwZAogdmVyc2lvbj0xLjQuNjkKLXJldmlzaW9uPTEK K3JldmlzaW9uPTIKIGJ1aWxkX3N0eWxlPW1lc29uCiBjb25maWd1cmVfYXJncz0iLUR3aXRoX2Jy b3RsaT1kaXNhYmxlZCAtRHdpdGhfYnppcD1kaXNhYmxlZAogIC1Ed2l0aF9rcmI1PWVuYWJsZWQg LUR3aXRoX2xkYXA9ZW5hYmxlZAoKRnJvbSBjNGZlMjcwNWFhZTFhYmVkYzAzMjYwYWI4OTFmMzc2 ZDc4OTU0MDQ2IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBLbGFyYSBNb2RpbiA8a2xh cmFzbW9kaW5AZ21haWwuY29tPgpEYXRlOiBXZWQsIDEgRmViIDIwMjMgMTU6NTM6NTMgKzAxMDAK U3ViamVjdDogW1BBVENIIDI0LzM5XSBsb2c0Y3h4OiB1cGRhdGUgdG8gMS4wLjAKCi0gZml4IGEg bGludGluZyBpc3N1ZQotIGZpeCBzdWJwYWNha2dlCi0tLQogLi4uL3BhdGNoZXMvMTAwLWJ1Z2Zp eC1MT0dDWFgtMjg0LnBhdGNoICAgICAgIHwgMTcgLS0tLQogLi4uL3BhdGNoZXMvMTUwLWJ1Z2Zp eC1MT0dDWFgtMzY1LnBhdGNoICAgICAgIHwgMTkgLS0tLS0KIHNyY3BrZ3MvbG9nNGN4eC9wYXRj aGVzLzE3MC1nY2M2LWZpeC5wYXRjaCAgICB8IDgwIC0tLS0tLS0tLS0tLS0tLS0tLS0KIC4uLi9w YXRjaGVzLzE4MC1nY2MtZml4LXRlc3RzdWl0ZS5wYXRjaCAgICAgICB8IDI1IC0tLS0tLQogLi4u L2xvZzRjeHgvcGF0Y2hlcy9taXNzaW5nLWluY2x1ZGVzLnBhdGNoICAgIHwgMzggLS0tLS0tLS0t CiBzcmNwa2dzL2xvZzRjeHgvdGVtcGxhdGUgICAgICAgICAgICAgICAgICAgICAgfCAxNCArKy0t CiA2IGZpbGVzIGNoYW5nZWQsIDcgaW5zZXJ0aW9ucygrKSwgMTg2IGRlbGV0aW9ucygtKQogZGVs ZXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvbG9nNGN4eC9wYXRjaGVzLzEwMC1idWdmaXgtTE9HQ1hY LTI4NC5wYXRjaAogZGVsZXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvbG9nNGN4eC9wYXRjaGVzLzE1 MC1idWdmaXgtTE9HQ1hYLTM2NS5wYXRjaAogZGVsZXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvbG9n NGN4eC9wYXRjaGVzLzE3MC1nY2M2LWZpeC5wYXRjaAogZGVsZXRlIG1vZGUgMTAwNjQ0IHNyY3Br Z3MvbG9nNGN4eC9wYXRjaGVzLzE4MC1nY2MtZml4LXRlc3RzdWl0ZS5wYXRjaAogZGVsZXRlIG1v ZGUgMTAwNjQ0IHNyY3BrZ3MvbG9nNGN4eC9wYXRjaGVzL21pc3NpbmctaW5jbHVkZXMucGF0Y2gK CmRpZmYgLS1naXQgYS9zcmNwa2dzL2xvZzRjeHgvcGF0Y2hlcy8xMDAtYnVnZml4LUxPR0NYWC0y ODQucGF0Y2ggYi9zcmNwa2dzL2xvZzRjeHgvcGF0Y2hlcy8xMDAtYnVnZml4LUxPR0NYWC0yODQu cGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGZjZmYzMzBmMzZkNy4uMDAwMDAw MDAwMDAwCi0tLSBhL3NyY3BrZ3MvbG9nNGN4eC9wYXRjaGVzLzEwMC1idWdmaXgtTE9HQ1hYLTI4 NC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDE3ICswLDAgQEAKLSMhIC9iaW4vc2ggL3Vzci9z aGFyZS9kcGF0Y2gvZHBhdGNoLXJ1bgotIyMgMTAwLWJ1Z2ZpeC1MT0dDWFgtMjg0LmRwYXRjaCBi eSAgPG1hdHRoZXdAbG9jYWxob3N0PgotIyMKLSMjIEFsbCBsaW5lcyBiZWdpbm5pbmcgd2l0aCBg IyMgRFA6JyBhcmUgYSBkZXNjcmlwdGlvbiBvZiB0aGUgcGF0Y2guCi0jIyBEUDogRml4ZXMgYnVp bGQgZXJyb3Igb24gQUlYIHdpdGggeGxjX3IKLQotLS0tIGEvc3JjL3Rlc3QvY3BwL2hlbHBlcnMv ZGF0ZXRpbWVkYXRlZm9ybWF0dGVzdGNhc2UuY3BwCTIwMDgtMDMtMzEgMTU6MzM6MDkuMDAwMDAw MDAwIC0wNzAwCi0rKysgYi9zcmMvdGVzdC9jcHAvaGVscGVycy9kYXRldGltZWRhdGVmb3JtYXR0 ZXN0Y2FzZS5jcHAJMjAwOC0wNy0xNyAwNjo0OTo0My4wMDAwMDAwMDAgLTA3MDAKLUBAIC0xODEs NyArMTgxLDcgQEAKLSAgICAgICAgIC8vICBvdXRwdXQgdGhlIHVzaW5nIFNUTAotICAgICAgICAg Ly8KLSAgICAgICAgIHN0ZDo6YmFzaWNfb3N0cmluZ3N0cmVhbTxsb2djaGFyPiBidWZmZXI7Ci0t I2lmIGRlZmluZWQoX1VTRUZBQykKLSsjaWYgZGVmaW5lZChfTVNDX1ZFUikgJiYgX01TQ19WRVIg PCAxMzAwCi0gICAgICAgICAgX1VTRUZBQyhsb2NhbGUsIHN0ZDo6dGltZV9wdXQ8bG9nY2hhcj4p Ci0gICAgICAgICAgICAgIC5wdXQoYnVmZmVyLCBidWZmZXIsICZkYXRlLCBmbXQuY19zdHIoKSwg Zm10LmNfc3RyKCkgKyBmbXQubGVuZ3RoKCkpOwotICNlbHNlCmRpZmYgLS1naXQgYS9zcmNwa2dz L2xvZzRjeHgvcGF0Y2hlcy8xNTAtYnVnZml4LUxPR0NYWC0zNjUucGF0Y2ggYi9zcmNwa2dzL2xv ZzRjeHgvcGF0Y2hlcy8xNTAtYnVnZml4LUxPR0NYWC0zNjUucGF0Y2gKZGVsZXRlZCBmaWxlIG1v ZGUgMTAwNjQ0CmluZGV4IDBjZjk2YjY3YWU0YS4uMDAwMDAwMDAwMDAwCi0tLSBhL3NyY3BrZ3Mv bG9nNGN4eC9wYXRjaGVzLzE1MC1idWdmaXgtTE9HQ1hYLTM2NS5wYXRjaAorKysgL2Rldi9udWxs CkBAIC0xLDE5ICswLDAgQEAKLURlc2NyaXB0aW9uOiBmaXhlcyB0ZXN0IHN1aXRlIHRvIG5vdCBl eHBlY3QgdGhlIHllYXIgdG8gYmUgYmV0d2VlbiAyMDAwIGFuZCAyMDA5LgotT3JpZ2luOiB1cHN0 cmVhbSwgaHR0cDovL3N2bi5hcGFjaGUub3JnL3ZpZXd2Yz92aWV3PXJldiZyZXY9OTU0MzM1Ci1C dWc6IGh0dHBzOi8vaXNzdWVzLmFwYWNoZS5vcmcvamlyYS9icm93c2UvTE9HQ1hYLTM2NQotRm9y d2FyZGVkOiBub3QtbmVlZGVkCi1BcHBsaWVkLVVwc3RyZWFtOiBjb21taXQgOTU0MzM1Ci1MYXN0 LVVwZGF0ZTogMjAxNC0wMy0xNAotLS0tCi1UaGlzIHBhdGNoIGhlYWRlciBmb2xsb3dzIERFUC0z OiBodHRwOi8vZGVwLmRlYmlhbi5uZXQvZGVwcy9kZXAzLwotLS0tIGEvc3JjL3Rlc3QvY3BwL3V0 aWwvZmlsdGVyLmgJMjAxMC8wNi8xNCAwMDoyNDo0Mgk5NTQzMzQKLSsrKyBiL3NyYy90ZXN0L2Nw cC91dGlsL2ZpbHRlci5oCTIwMTAvMDYvMTQgMDA6MzA6NDMJOTU0MzM1Ci1AQCAtMzEsNyArMzEs NyBAQAotICNkZWZpbmUgQkFTSUNfUEFUICJcXFsweFswLTlBLUZdKl0gKEZBVEFMfEVSUk9SfFdB Uk58SU5GT3xERUJVRykiCi0gI2RlZmluZSBJU084NjAxX1BBVCAiWzAtOV1cXHs0XFx9LVswLTld XFx7MlxcfS1bMC05XVxcezJcXH0gWzAtOV1cXHsyXFx9OlswLTldXFx7MlxcfTpbMC05XVxcezJc XH0sWzAtOV1cXHszXFx9IgotICNkZWZpbmUgQUJTT0xVVEVfREFURV9BTkRfVElNRV9QQVQgXAot LSAgICAgICAgIlswLTldXFx7MSwyXFx9IC4qIDIwMFswLTldIFswLTldXFx7MlxcfTpbMC05XVxc ezJcXH06WzAtOV1cXHsyXFx9LFswLTldXFx7M1xcfSIKLSsgICAgICAgICJbMC05XVxcezEsMlxc fSAuKiAyWzAtOV1bMC05XVswLTldIFswLTldXFx7MlxcfTpbMC05XVxcezJcXH06WzAtOV1cXHsy XFx9LFswLTldXFx7M1xcfSIKLSAjZGVmaW5lIEFCU09MVVRFX1RJTUVfUEFUICJbMC0yXVswLTld OlswLTldWzAtOV06WzAtOV1bMC05XSxbMC05XVswLTldWzAtOV0iCi0gI2RlZmluZSBSRUxBVElW RV9USU1FX1BBVCAiXlswLTldKyIKLSAKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvbG9nNGN4eC9wYXRj aGVzLzE3MC1nY2M2LWZpeC5wYXRjaCBiL3NyY3BrZ3MvbG9nNGN4eC9wYXRjaGVzLzE3MC1nY2M2 LWZpeC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggY2ZhMGMyZjUzMTljLi4w MDAwMDAwMDAwMDAKLS0tIGEvc3JjcGtncy9sb2c0Y3h4L3BhdGNoZXMvMTcwLWdjYzYtZml4LnBh dGNoCisrKyAvZGV2L251bGwKQEAgLTEsODAgKzAsMCBAQAotRGVzY3JpcHRpb246IEZpeCBGVEJG UyB3aXRoIEdDQzYKLSBHQ0M2IGlzIG1vcmUgcGlja2llciBvbiB0cnVuY2F0aW5nLCBzbyB0aGlz IHBhdGNoIGZpeGVzIHRoZSBuYXJyb3dpbmcgY29udmVyc2lvbiBlcnJvcnMuCi1BdXRob3I6IFRv YmlhcyBGcm9zdCA8dG9iaUBkZWJpYW4ub3JnPgotQnVnLURlYmlhbjogaHR0cHM6Ly9idWdzLmRl Ymlhbi5vcmcvY2dpLWJpbi9idWdyZXBvcnQuY2dpP2J1Zz04MTE3NjgKLUZvcndhcmRlZDogaHR0 cHM6Ly9pc3N1ZXMuYXBhY2hlLm9yZy9qaXJhL2Jyb3dzZS9MT0dDWFgtNDgyCi1BcHBsaWVkLVVw c3RyZWFtOiB5ZXMsIHRhcmdldGVkIHZlcnNpb24gMC4xMS4wCi1MYXN0LVVwZGF0ZTogMjAxNi0w Ny0wMSAoRGViQ2FtcDE2KQotLS0tCi1UaGlzIHBhdGNoIGhlYWRlciBmb2xsb3dzIERFUC0zOiBo dHRwOi8vZGVwLmRlYmlhbi5uZXQvZGVwcy9kZXAzLwotLS0tIGEvc3JjL21haW4vY3BwL2xvY2F0 aW9uaW5mby5jcHAKLSsrKyBiL3NyYy9tYWluL2NwcC9sb2NhdGlvbmluZm8uY3BwCi1AQCAtMTQ4 LDcgKzE0OCw3IEBACi0gICAgIGlmIChsaW5lTnVtYmVyID09IC0xICYmIGZpbGVOYW1lID09IE5B ICYmIG1ldGhvZE5hbWUgPT0gTkFfTUVUSE9EKSB7Ci0gICAgICAgICAgb3Mud3JpdGVOdWxsKHAp OwotICAgICB9IGVsc2UgewotLSAgICAgICAgY2hhciBwcm9sb2dbXSA9IHsKLSsgICAgICAgIHVu c2lnbmVkIGNoYXIgcHJvbG9nW10gPSB7Ci0gICAgICAgICAgMHg3MiwgMHgwMCwgMHgyMSwgMHg2 RiwgMHg3MiwgMHg2NywgMHgyRSwgCi0gICAgICAgICAgMHg2MSwgMHg3MCwgMHg2MSwgMHg2Mywg MHg2OCwgMHg2NSwgMHgyRSwgMHg2QywgCi0gICAgICAgICAgMHg2RiwgMHg2NywgMHgzNCwgMHg2 QSwgMHgyRSwgMHg3MywgMHg3MCwgMHg2OSwgCi1AQCAtMTYxLDcgKzE2MSw3IEBACi0gICAgICAg ICAgICAgICAgIDB4NjEsIDB4NzYsIDB4NjEsIDB4MkYsIDB4NkMsIDB4NjEsIDB4NkUsIDB4Njcs IAotICAgICAgICAgICAgICAgICAweDJGLCAweDUzLCAweDc0LCAweDcyLCAweDY5LCAweDZFLCAw eDY3LCAweDNCLAotICAgICAgICAgIDB4NzgsIDB4NzAgfTsKLS0gICAgICBvcy53cml0ZVByb2xv Zygib3JnLmFwYWNoZS5sb2c0ai5zcGkuTG9jYXRpb25JbmZvIiwgMiwgcHJvbG9nLCBzaXplb2Yo cHJvbG9nKSwgcCk7Ci0rICAgICAgb3Mud3JpdGVQcm9sb2coIm9yZy5hcGFjaGUubG9nNGouc3Bp LkxvY2F0aW9uSW5mbyIsIDIsIChjaGFyICopcHJvbG9nLCBzaXplb2YocHJvbG9nKSwgcCk7Ci0g ICAgICAgICBjaGFyKiBsaW5lID0gcC5pdG9hKGxpbmVOdW1iZXIpOwotICAgICAgICAgLy8KLSAg ICAgICAgIC8vICAgY29uc3RydWN0IEphdmEtbGlrZSBmdWxsSW5mbyAocmVwbGFjZSAiOjoiIHdp dGggIi4iKQotLS0tIGEvc3JjL21haW4vY3BwL2xvZ2dpbmdldmVudC5jcHAKLSsrKyBiL3NyYy9t YWluL2NwcC9sb2dnaW5nZXZlbnQuY3BwCi1AQCAtMjM2LDcgKzIzNiw3IEBACi0gCi0gCi0gdm9p ZCBMb2dnaW5nRXZlbnQ6OndyaXRlUHJvbG9nKE9iamVjdE91dHB1dFN0cmVhbSYgb3MsIFBvb2wm IHApICB7Ci0tICAgICBjaGFyIGNsYXNzRGVzY1tdID0gewotKyAgICAgdW5zaWduZWQgY2hhciBj bGFzc0Rlc2NbXSA9IHsKLSAgICAgICAgIDB4NzIsIDB4MDAsIDB4MjEsIAotICAgICAgICAgMHg2 RiwgMHg3MiwgMHg2NywgMHgyRSwgMHg2MSwgMHg3MCwgMHg2MSwgMHg2MywgCi0gICAgICAgICAw eDY4LCAweDY1LCAweDJFLCAweDZDLCAweDZGLCAweDY3LCAweDM0LCAweDZBLCAKLUBAIC0yOTIs NyArMjkyLDcgQEAKLSAgICAgICAgIDB4M0IsIDB4NzgsIDB4NzAgfTsgCi0gCi0gICAgICBvcy53 cml0ZVByb2xvZygib3JnLmFwYWNoZS5sb2c0ai5zcGkuTG9nZ2luZ0V2ZW50IiwgCi0tICAgICAg ICA4LCBjbGFzc0Rlc2MsIHNpemVvZihjbGFzc0Rlc2MpLCBwKTsKLSsgICAgICAgIDgsIChjaGFy ICopIGNsYXNzRGVzYywgc2l6ZW9mKGNsYXNzRGVzYyksIHApOwotIH0KLSAKLSB2b2lkIExvZ2dp bmdFdmVudDo6d3JpdGUoaGVscGVyczo6T2JqZWN0T3V0cHV0U3RyZWFtJiBvcywgUG9vbCYgcCkg Y29uc3QgewotLS0tIGEvc3JjL21haW4vY3BwL29iamVjdG91dHB1dHN0cmVhbS5jcHAKLSsrKyBi L3NyYy9tYWluL2NwcC9vYmplY3RvdXRwdXRzdHJlYW0uY3BwCi1AQCAtMzYsOCArMzYsOCBAQAot ICAgICAgICBvYmplY3RIYW5kbGUoMHg3RTAwMDApLAotICAgICAgICBjbGFzc0Rlc2NyaXB0aW9u cyhuZXcgQ2xhc3NEZXNjcmlwdGlvbk1hcCgpKQotIHsKLS0gICBjaGFyIHN0YXJ0W10gPSB7IDB4 QUMsIDB4RUQsIDB4MDAsIDB4MDUgfTsKLS0gICBCeXRlQnVmZmVyIGJ1ZihzdGFydCwgc2l6ZW9m KHN0YXJ0KSk7Ci0rICAgdW5zaWduZWQgY2hhciBzdGFydFtdID0geyAweEFDLCAweEVELCAweDAw LCAweDA1IH07Ci0rICAgQnl0ZUJ1ZmZlciBidWYoKGNoYXIqKXN0YXJ0LCBzaXplb2Yoc3RhcnQp KTsKLSAgICBvcy0+d3JpdGUoYnVmLCBwKTsKLSB9Ci0gCi1AQCAtODEsNyArODEsNyBAQAotICAg ICAvLwotICAgICAvLyAgVENfT0JKRUNUIGFuZCB0aGUgY2xhc3NEZXNjIGZvciBqYXZhLnV0aWwu SGFzaHRhYmxlCi0gICAgIC8vCi0tICAgIGNoYXIgcHJvbG9nW10gPSB7Ci0rICAgIHVuc2lnbmVk IGNoYXIgcHJvbG9nW10gPSB7Ci0gICAgICAgICAweDcyLCAweDAwLCAweDEzLCAweDZBLCAweDYx LCAweDc2LCAweDYxLCAKLSAgICAgICAgIDB4MkUsIDB4NzUsIDB4NzQsIDB4NjksIDB4NkMsIDB4 MkUsIDB4NDgsIDB4NjEsIAotICAgICAgICAgMHg3MywgMHg2OCwgMHg3NCwgMHg2MSwgMHg2Miwg MHg2QywgMHg2NSwgMHgxMywgCi1AQCAtOTAsNyArOTAsNyBAQAotICAgICAgICAgMHg2NCwgMHg0 NiwgMHg2MSwgMHg2MywgMHg3NCwgMHg2RiwgMHg3MiwgMHg0OSwgCi0gICAgICAgICAweDAwLCAw eDA5LCAweDc0LCAweDY4LCAweDcyLCAweDY1LCAweDczLCAweDY4LCAKLSAgICAgICAgIDB4NkYs IDB4NkMsIDB4NjQsIDB4NzgsIDB4NzAgIH07Ci0tICAgIHdyaXRlUHJvbG9nKCJqYXZhLnV0aWwu SGFzaHRhYmxlIiwgMSwgcHJvbG9nLCBzaXplb2YocHJvbG9nKSwgcCk7Ci0rICAgIHdyaXRlUHJv bG9nKCJqYXZhLnV0aWwuSGFzaHRhYmxlIiwgMSwgKGNoYXIgKikgcHJvbG9nLCBzaXplb2YocHJv bG9nKSwgcCk7Ci0gICAgIC8vCi0gICAgIC8vICAgbG9hZEZhY3RvciA9IDAuNzUsIHRocmVzaG9s ZCA9IDUsIGJsb2NrZGF0YSBzdGFydCwgYnVja2V0cy5zaXplID0gNwotICAgICBjaGFyIGRhdGFb XSA9IHsgMHgzRiwgMHg0MCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwNSwgCmRp ZmYgLS1naXQgYS9zcmNwa2dzL2xvZzRjeHgvcGF0Y2hlcy8xODAtZ2NjLWZpeC10ZXN0c3VpdGUu cGF0Y2ggYi9zcmNwa2dzL2xvZzRjeHgvcGF0Y2hlcy8xODAtZ2NjLWZpeC10ZXN0c3VpdGUucGF0 Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDcxYjcxNDY3YTEzMS4uMDAwMDAwMDAw MDAwCi0tLSBhL3NyY3BrZ3MvbG9nNGN4eC9wYXRjaGVzLzE4MC1nY2MtZml4LXRlc3RzdWl0ZS5w YXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDI1ICswLDAgQEAKLURlc2NyaXB0aW9uOiBGaXggbmFy cm93aW5nIGVycm9ycyBhbHNvIGZvciB0aGUgdGVzdHN1aXRlCi1BdXRob3I6IFRvYmlhcyBGcm9z dCA8dG9iaUBkZWJpYW4ub3JnPgotTGFzdC1VcGRhdGU6IDIwMTYtMTAtMjMKLS0tLQotVGhpcyBw YXRjaCBoZWFkZXIgZm9sbG93cyBERVAtMzogaHR0cDovL2RlcC5kZWJpYW4ubmV0L2RlcHMvZGVw My8KLS0tLSBhL3NyYy90ZXN0L2NwcC94bWwvZG9tdGVzdGNhc2UuY3BwCi0rKysgYi9zcmMvdGVz dC9jcHAveG1sL2RvbXRlc3RjYXNlLmNwcAotQEAgLTE5MCw3ICsxOTAsNyBAQAotICAgICAgICAg ICAgICAgICBET01Db25maWd1cmF0b3I6OmNvbmZpZ3VyZShMT0c0Q1hYX1RFU1RfU1RSKCJpbnB1 dC94bWwvRE9NVGVzdENhc2UzLnhtbCIpKTsKLSAgICAgICAgICAgICAgICAgTE9HNENYWF9JTkZP KGxvZ2dlciwgIkZpbGUgbmFtZSBpcyBleHBlY3RlZCB0byBlbmQgd2l0aCBhIHN1cGVyc2NyaXB0 IDMiKTsKLSAjaWYgTE9HNENYWF9MT0dDSEFSX0lTX1VURjgKLS0gICAgICAgICAgICAgICAgY29u c3QgbG9nY2hhciBmbmFtZVtdID0geyAweDZGLCAweDc1LCAweDc0LCAweDcwLCAweDc1LCAweDc0 LCAweDJGLCAweDY0LCAweDZGLCAweDZELCAweEMyLCAweEIzLCAwIH07Ci0rICAgICAgICAgICAg ICAgIGNvbnN0IGxvZ2NoYXIgZm5hbWVbXSA9IHsgMHg2RiwgMHg3NSwgMHg3NCwgMHg3MCwgMHg3 NSwgMHg3NCwgMHgyRiwgMHg2NCwgMHg2RiwgMHg2RCwgKGxvZ2NoYXIpMHhDMiwgKGxvZ2NoYXIp MHhCMywgMCB9OwotICNlbHNlCi0gICAgICAgICAgICAgICAgIGNvbnN0IGxvZ2NoYXIgZm5hbWVb XSA9IHsgMHg2RiwgMHg3NSwgMHg3NCwgMHg3MCwgMHg3NSwgMHg3NCwgMHgyRiwgMHg2NCwgMHg2 RiwgMHg2RCwgMHhCMywgMCB9OwotICNlbmRpZgotQEAgLTIwOSw3ICsyMDksNyBAQAotICAgICAg ICAgICAgICAgICBET01Db25maWd1cmF0b3I6OmNvbmZpZ3VyZShMT0c0Q1hYX1RFU1RfU1RSKCJp bnB1dC94bWwvRE9NVGVzdENhc2U0LnhtbCIpKTsKLSAgICAgICAgICAgICAgICAgTE9HNENYWF9J TkZPKGxvZ2dlciwgIkZpbGUgbmFtZSBpcyBleHBlY3RlZCB0byBlbmQgd2l0aCBhbiBpZGVvZ3Jh cGhpYyA0Iik7Ci0gI2lmIExPRzRDWFhfTE9HQ0hBUl9JU19VVEY4Ci0tICAgICAgICAgICAgICAg IGNvbnN0IGxvZ2NoYXIgZm5hbWVbXSA9IHsgMHg2RiwgMHg3NSwgMHg3NCwgMHg3MCwgMHg3NSwg MHg3NCwgMHgyRiwgMHg2NCwgMHg2RiwgMHg2RCwgMHhFMywgMHg4NiwgMHg5NSwgMCB9OwotKyAg ICAgICAgICAgICAgICBjb25zdCBsb2djaGFyIGZuYW1lW10gPSB7IDB4NkYsIChsb2djaGFyKTB4 NzUsIDB4NzQsIDB4NzAsIDB4NzUsIDB4NzQsIDB4MkYsIDB4NjQsIDB4NkYsIDB4NkQsIChsb2dj aGFyKTB4RTMsIChsb2djaGFyKTB4ODYsIChsb2djaGFyKTB4OTUsIDAgfTsKLSAjZWxzZQotICAg ICAgICAgICAgICAgICBjb25zdCBsb2djaGFyIGZuYW1lW10gPSB7IDB4NkYsIDB4NzUsIDB4NzQs IDB4NzAsIDB4NzUsIDB4NzQsIDB4MkYsIDB4NjQsIDB4NkYsIDB4NkQsIDB4MzE5NSwgMCB9Owot ICNlbmRpZgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9sb2c0Y3h4L3BhdGNoZXMvbWlzc2luZy1pbmNs dWRlcy5wYXRjaCBiL3NyY3BrZ3MvbG9nNGN4eC9wYXRjaGVzL21pc3NpbmctaW5jbHVkZXMucGF0 Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGE2M2JmZmQ5NWM1Ny4uMDAwMDAwMDAw MDAwCi0tLSBhL3NyY3BrZ3MvbG9nNGN4eC9wYXRjaGVzL21pc3NpbmctaW5jbHVkZXMucGF0Y2gK KysrIC9kZXYvbnVsbApAQCAtMSwzOCArMCwwIEBACi1kaWZmIC1OYXVyIGFwYWNoZS1sb2c0Y3h4 LTAuMTAuMC5vcmlnL3NyYy9leGFtcGxlcy9jcHAvY29uc29sZS5jcHAgYXBhY2hlLWxvZzRjeHgt MC4xMC4wL3NyYy9leGFtcGxlcy9jcHAvY29uc29sZS5jcHAKLS0tLSBhL3NyYy9leGFtcGxlcy9j cHAvY29uc29sZS5jcHAJMjAwOC0wNC0wMSAwMDozNDo1Mi4wMDAwMDAwMDAgKzAyMDAKLSsrKyBi L3NyYy9leGFtcGxlcy9jcHAvY29uc29sZS5jcHAJMjAwOC0wNS0wNiAwNTo0MDo1Mi4wMDAwMDAw MDAgKzAyMDAKLUBAIC0xNSw3ICsxNSwxMCBAQAotICAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBM aWNlbnNlLgotICAqLwotIAotLSNpbmNsdWRlIDxzdGRsaWIuaD4KLSsjaW5jbHVkZSA8Y3N0ZGlv PgotKyNpbmNsdWRlIDxjc3RkbGliPgotKyNpbmNsdWRlIDxjc3RyaW5nPgotKyNpbmNsdWRlIDxz dGRpbnQuaD4KLSAjaW5jbHVkZSA8bG9nNGN4eC9sb2dnZXIuaD4KLSAjaW5jbHVkZSA8bG9nNGN4 eC9jb25zb2xlYXBwZW5kZXIuaD4KLSAjaW5jbHVkZSA8bG9nNGN4eC9zaW1wbGVsYXlvdXQuaD4K LWRpZmYgLU5hdXIgYXBhY2hlLWxvZzRjeHgtMC4xMC4wLm9yaWcvc3JjL21haW4vY3BwL2lucHV0 c3RyZWFtcmVhZGVyLmNwcCBhcGFjaGUtbG9nNGN4eC0wLjEwLjAvc3JjL21haW4vY3BwL2lucHV0 c3RyZWFtcmVhZGVyLmNwcAotLS0tIGEvc3JjL21haW4vY3BwL2lucHV0c3RyZWFtcmVhZGVyLmNw cAkyMDA4LTA0LTAxIDAwOjM0OjA5LjAwMDAwMDAwMCArMDIwMAotKysrIGIvc3JjL21haW4vY3Bw L2lucHV0c3RyZWFtcmVhZGVyLmNwcAkyMDA4LTA1LTA2IDA1OjMyOjMxLjAwMDAwMDAwMCArMDIw MAotQEAgLTIxLDYgKzIxLDggQEAKLSAjaW5jbHVkZSA8bG9nNGN4eC9oZWxwZXJzL3Bvb2wuaD4K LSAjaW5jbHVkZSA8bG9nNGN4eC9oZWxwZXJzL2J5dGVidWZmZXIuaD4KLSAKLSsjaW5jbHVkZSA8 Y3N0cmluZz4KLSsKLSB1c2luZyBuYW1lc3BhY2UgbG9nNGN4eDsKLSB1c2luZyBuYW1lc3BhY2Ug bG9nNGN4eDo6aGVscGVyczsKLSAKLWRpZmYgLU5hdXIgc3JjL21haW4vY3BwL3NvY2tldG91dHB1 dHN0cmVhbS5jcHAgYXBhY2hlLWxvZzRjeHgtMC4xMC4wL3NyYy9tYWluL2NwcC9zb2NrZXRvdXRw dXRzdHJlYW0uY3BwCi0tLS0gYS9zcmMvbWFpbi9jcHAvc29ja2V0b3V0cHV0c3RyZWFtLmNwcAky MDA4LTA0LTAxIDAwOjM0OjA5LjAwMDAwMDAwMCArMDIwMAotKysrIGIvc3JjL21haW4vY3BwL3Nv Y2tldG91dHB1dHN0cmVhbS5jcHAJMjAwOC0wNS0wNiAwNTozNTo1NS4wMDAwMDAwMDAgKzAyMDAK LUBAIC0yMCw2ICsyMCw4IEBACi0gI2luY2x1ZGUgPGxvZzRjeHgvaGVscGVycy9zb2NrZXQuaD4K LSAjaW5jbHVkZSA8bG9nNGN4eC9oZWxwZXJzL2J5dGVidWZmZXIuaD4KLSAKLSsjaW5jbHVkZSA8 Y3N0cmluZz4KLSsKLSB1c2luZyBuYW1lc3BhY2UgbG9nNGN4eDsKLSB1c2luZyBuYW1lc3BhY2Ug bG9nNGN4eDo6aGVscGVyczsKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvbG9nNGN4eC90ZW1wbGF0ZSBi L3NyY3BrZ3MvbG9nNGN4eC90ZW1wbGF0ZQppbmRleCAyZjQ5MDVhMTYwOTIuLjk2Mzc0M2Y2MzY3 YSAxMDA2NDQKLS0tIGEvc3JjcGtncy9sb2c0Y3h4L3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvbG9n NGN4eC90ZW1wbGF0ZQpAQCAtMSwyMiArMSwyMiBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAnbG9n NGN4eCcKIHBrZ25hbWU9bG9nNGN4eAotdmVyc2lvbj0wLjEwLjAKLXJldmlzaW9uPTQKLWJ1aWxk X3N0eWxlPWdudS1jb25maWd1cmUKLW1ha2VkZXBlbmRzPSJsaWJ4bWwyLWRldmVsIGFwci1kZXZl bCBhcHItdXRpbC1kZXZlbCBnZGJtLWRldmVsIgotc2hvcnRfZGVzYz0iQSBDKysgTG9nZ2luZyBM aWJyYXJ5IGJhc2VkIG9uIExvZzRKIgordmVyc2lvbj0xLjAuMAorcmV2aXNpb249MQorYnVpbGRf c3R5bGU9Y21ha2UKK2hvc3RtYWtlZGVwZW5kcz0icGtnLWNvbmZpZyB6aXAiCittYWtlZGVwZW5k cz0ibGlieG1sMi1kZXZlbCBhcHItZGV2ZWwgYXByLXV0aWwtZGV2ZWwgZ2RibS1kZXZlbCBib29z dC1kZXZlbCIKK3Nob3J0X2Rlc2M9IkMrKyBMb2dnaW5nIExpYnJhcnkgYmFzZWQgb24gTG9nNEoi CiBtYWludGFpbmVyPSJPcnBoYW5lZCA8b3JwaGFuQHZvaWRsaW51eC5vcmc+IgogbGljZW5zZT0i QXBhY2hlLTIuMCIKIGhvbWVwYWdlPSJodHRwczovL2xvZ2dpbmcuYXBhY2hlLm9yZy9sb2c0Y3h4 LyIKIGRpc3RmaWxlcz0iaHR0cHM6Ly9hcmNoaXZlLmFwYWNoZS5vcmcvZGlzdC9sb2dnaW5nL2xv ZzRjeHgvJHt2ZXJzaW9ufS9hcGFjaGUtbG9nNGN4eC0ke3ZlcnNpb259LnRhci5neiIKLWNoZWNr c3VtPTBkZTAzOTYyMjBhOTU2NmE1ODAxNjZlNjZiMzk2NzRjYjQwZWZkMjE3NmY1MmFkMmM2NTQ4 NmM5OWM5MjBjOGMKK2NoZWNrc3VtPTZkZjlmMWY2ODI2NTBkZTYwNDUzMDk0NzNkNWIyZmUxZjc5 OGEwM2NlYjM2YTc0YTViMjFmNTUyMDk2MmQzMmYKIAogbG9nNGN4eC1kZXZlbF9wYWNrYWdlKCkg ewogCXNob3J0X2Rlc2MrPSIgLSBkZXZlbG9wbWVudCBmaWxlcyIKIAlkZXBlbmRzPSIke3NvdXJj ZXBrZ30+PSR7dmVyc2lvbn1fJHtyZXZpc2lvbn0iCiAJcGtnX2luc3RhbGwoKSB7CiAJCXZtb3Zl IHVzci9pbmNsdWRlCi0JCXZtb3ZlIHVzci9saWIvKi5hCiAJCXZtb3ZlIHVzci9saWIvKi5zbwog CQl2bW92ZSB1c3IvbGliL3BrZ2NvbmZpZwogCX0KCkZyb20gOGE5ODc4YjdjODgzNzMwZTQyNWY3 NDNiNWZmMDQ1OGIyZjA4ZDlkNSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogS2xhcmEg TW9kaW4gPGtsYXJhc21vZGluQGdtYWlsLmNvbT4KRGF0ZTogV2VkLCAxIEZlYiAyMDIzIDE1OjU1 OjI1ICswMTAwClN1YmplY3Q6IFtQQVRDSCAyNS8zOV0gbHVhNTQtbHVhbGRhcDogcmV2YnVtcCBk dWUgdG8gb3BlbmxkYXAgdXBkYXRlCgotLS0KIHNyY3BrZ3MvbHVhNTQtbHVhbGRhcC90ZW1wbGF0 ZSB8IDIgKy0KIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQoK ZGlmZiAtLWdpdCBhL3NyY3BrZ3MvbHVhNTQtbHVhbGRhcC90ZW1wbGF0ZSBiL3NyY3BrZ3MvbHVh NTQtbHVhbGRhcC90ZW1wbGF0ZQppbmRleCA0NDkyZGJlYWI2NTAuLjhjMDNlZWY3ZWY0ZCAxMDA2 NDQKLS0tIGEvc3JjcGtncy9sdWE1NC1sdWFsZGFwL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvbHVh NTQtbHVhbGRhcC90ZW1wbGF0ZQpAQCAtMSw3ICsxLDcgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3Ig J2x1YTU0LWx1YWxkYXAnCiBwa2duYW1lPWx1YTU0LWx1YWxkYXAKIHZlcnNpb249MS4yLjUKLXJl dmlzaW9uPTMKK3JldmlzaW9uPTQKIGNyZWF0ZV93cmtzcmM9eWVzCiBidWlsZF9zdHlsZT1nbnUt bWFrZWZpbGUKIGhvc3RtYWtlZGVwZW5kcz0icGtnLWNvbmZpZyIKCkZyb20gMzRmMmY2MmVhNjc5 Yzk2ODMxOTA3MmUzYmJkM2Q0MmEwMDIyYjllNiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJv bTogS2xhcmEgTW9kaW4gPGtsYXJhc21vZGluQGdtYWlsLmNvbT4KRGF0ZTogV2VkLCAxIEZlYiAy MDIzIDE1OjU2OjIyICswMTAwClN1YmplY3Q6IFtQQVRDSCAyNi8zOV0gbW9uaXRvcmluZy1wbHVn aW5zOiByZXZidW1wIGR1ZSB0byBvcGVubGRhcCB1cGRhdGUKCi0tLQogc3JjcGtncy9tb25pdG9y aW5nLXBsdWdpbnMvdGVtcGxhdGUgfCAyICstCiAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24o KyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9zcmNwa2dzL21vbml0b3JpbmctcGx1Z2lu cy90ZW1wbGF0ZSBiL3NyY3BrZ3MvbW9uaXRvcmluZy1wbHVnaW5zL3RlbXBsYXRlCmluZGV4IDlm ZWM1NTYyYTljYy4uMjBmYmQxM2E1MDIwIDEwMDY0NAotLS0gYS9zcmNwa2dzL21vbml0b3Jpbmct cGx1Z2lucy90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL21vbml0b3JpbmctcGx1Z2lucy90ZW1wbGF0 ZQpAQCAtMSw3ICsxLDcgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ21vbml0b3JpbmctcGx1Z2lu cycKIHBrZ25hbWU9bW9uaXRvcmluZy1wbHVnaW5zCiB2ZXJzaW9uPTIuMy4yCi1yZXZpc2lvbj0x CityZXZpc2lvbj0yCiBidWlsZF9zdHlsZT1nbnUtY29uZmlndXJlCiBjb25maWd1cmVfYXJncz0i LS1saWJleGVjZGlyPS91c3IvbGliL21vbml0b3JpbmctcGx1Z2lucyIKIGhvc3RtYWtlZGVwZW5k cz0iZnBpbmcgb3BlbnNzaCBwb3N0Zml4IHByb2Nwcy1uZyBzbWJjbGllbnQgbmV0LXNubXAgYmlu ZC11dGlscyBzdWRvIgoKRnJvbSA1NWEyMTYzMzU3OWUzMWM4ZjMwYjZhYmYzNjY2MmJhNmZjZGIx Mzc4IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBLbGFyYSBNb2RpbiA8a2xhcmFzbW9k aW5AZ21haWwuY29tPgpEYXRlOiBXZWQsIDEgRmViIDIwMjMgMTU6NTc6MTIgKzAxMDAKU3ViamVj dDogW1BBVENIIDI3LzM5XSBuc3MtcGFtLWxkYXBkOiByZXZidW1wIGR1ZSB0byBvcGVubGRhcCB1 cGRhdGUKCi0tLQogc3JjcGtncy9uc3MtcGFtLWxkYXBkL3RlbXBsYXRlIHwgMiArLQogMSBmaWxl IGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvc3Jj cGtncy9uc3MtcGFtLWxkYXBkL3RlbXBsYXRlIGIvc3JjcGtncy9uc3MtcGFtLWxkYXBkL3RlbXBs YXRlCmluZGV4IDkyY2JkNzU0MTdiNC4uMmIzYTM1YWU4NWEzIDEwMDY0NAotLS0gYS9zcmNwa2dz L25zcy1wYW0tbGRhcGQvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9uc3MtcGFtLWxkYXBkL3RlbXBs YXRlCkBAIC0xLDcgKzEsNyBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAnbnNzLXBhbS1sZGFwZCcK IHBrZ25hbWU9bnNzLXBhbS1sZGFwZAogdmVyc2lvbj0wLjkuMTIKLXJldmlzaW9uPTEKK3Jldmlz aW9uPTIKIGJ1aWxkX3N0eWxlPWdudS1jb25maWd1cmUKIGNvbmZpZ3VyZV9hcmdzPSItLWVuYWJs ZS1zYXNsIC0tZW5hYmxlLWtlcmJlcm9zIC0td2l0aC1wYW0tc2VjbGliLWRpcj0vdXNyL2xpYi9z ZWN1cml0eS8iCiBjb25mX2ZpbGVzPSIvZXRjL25zbGNkLmNvbmYiCgpGcm9tIDg2MTY1NzBlMmYy MmQxMjUwNzYyYjRiMjZlODFlZjM5M2FmZGQxMjEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZy b206IEtsYXJhIE1vZGluIDxrbGFyYXNtb2RpbkBnbWFpbC5jb20+CkRhdGU6IFdlZCwgMSBGZWIg MjAyMyAxNjoxNjoxMCArMDEwMApTdWJqZWN0OiBbUEFUQ0ggMjgvMzldIHBocDogcmV2YnVtcCBk dWUgdG8gb3BlbmxkYXAgdXBkYXRlCgotLS0KIHNyY3BrZ3MvcGhwL3RlbXBsYXRlIHwgMiArLQog MSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0 IGEvc3JjcGtncy9waHAvdGVtcGxhdGUgYi9zcmNwa2dzL3BocC90ZW1wbGF0ZQppbmRleCAzOWU0 ZDE2MWI2NDguLmU5YzZmNjAyNDYzMSAxMDA2NDQKLS0tIGEvc3JjcGtncy9waHAvdGVtcGxhdGUK KysrIGIvc3JjcGtncy9waHAvdGVtcGxhdGUKQEAgLTEsNyArMSw3IEBACiAjIFRlbXBsYXRlIGZp bGUgZm9yICdwaHAnCiBwa2duYW1lPXBocAogdmVyc2lvbj03LjQuMzMKLXJldmlzaW9uPTEKK3Jl dmlzaW9uPTIKIGhvc3RtYWtlZGVwZW5kcz0iYmlzb24gcGtnLWNvbmZpZyBhcGFjaGUtZGV2ZWwi CiBtYWtlZGVwZW5kcz0iYXBhY2hlLWRldmVsIGVuY2hhbnQyLWRldmVsIGZyZWV0ZHMtZGV2ZWwg ZnJlZXR5cGUtZGV2ZWwgZ2RibS1kZXZlbAogIGdtcC1kZXZlbCBsaWJjdXJsLWRldmVsIGxpYmpw ZWctdHVyYm8tZGV2ZWwgbGlibWFyaWFkYmNsaWVudC1kZXZlbAoKRnJvbSBjZGRhODY3ODRkNThi YTEzN2FhMjg2ZTZhMzM5ZWNlM2UxMTIwMzUwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9t OiBLbGFyYSBNb2RpbiA8a2xhcmFzbW9kaW5AZ21haWwuY29tPgpEYXRlOiBXZWQsIDEgRmViIDIw MjMgMTY6MTc6MDkgKzAxMDAKU3ViamVjdDogW1BBVENIIDI5LzM5XSBwaHA4LjA6IHJldmJ1bXAg ZHVlIHRvIG9wZW5sZGFwIHVwZGF0ZQoKLS0tCiBzcmNwa2dzL3BocDguMC90ZW1wbGF0ZSB8IDIg Ky0KIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAt LWdpdCBhL3NyY3BrZ3MvcGhwOC4wL3RlbXBsYXRlIGIvc3JjcGtncy9waHA4LjAvdGVtcGxhdGUK aW5kZXggNzRjNTBkYTBlNDZmLi4xYzIxNWQxZjg0MWEgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvcGhw OC4wL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvcGhwOC4wL3RlbXBsYXRlCkBAIC0xLDcgKzEsNyBA QAogIyBUZW1wbGF0ZSBmaWxlIGZvciAncGhwOC4wJwogcGtnbmFtZT1waHA4LjAKIHZlcnNpb249 OC4wLjI1Ci1yZXZpc2lvbj0xCityZXZpc2lvbj0yCiBfcGhwX3ZlcnNpb249OC4wCiBob3N0bWFr ZWRlcGVuZHM9ImJpc29uIHBrZy1jb25maWcgYXBhY2hlLWRldmVsIgogbWFrZWRlcGVuZHM9ImFw YWNoZS1kZXZlbCBlbmNoYW50Mi1kZXZlbCBmcmVldGRzLWRldmVsIGZyZWV0eXBlLWRldmVsIGdk Ym0tZGV2ZWwKCkZyb20gMTQ4NzFkMTFhYTUyMzgyZDk4MzgxOTZhOTFhYThlYmQ0NjNlNWMzNSBN b24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogS2xhcmEgTW9kaW4gPGtsYXJhc21vZGluQGdt YWlsLmNvbT4KRGF0ZTogV2VkLCAxIEZlYiAyMDIzIDE2OjE5OjE2ICswMTAwClN1YmplY3Q6IFtQ QVRDSCAzMC8zOV0gcGhwOC4xOiByZXZidW1wIGR1ZSB0byBvcGVubGRhcCB1cGRhdGUKCi0tLQog c3JjcGtncy9waHA4LjEvdGVtcGxhdGUgfCAyICstCiAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRp b24oKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9zcmNwa2dzL3BocDguMS90ZW1wbGF0 ZSBiL3NyY3BrZ3MvcGhwOC4xL3RlbXBsYXRlCmluZGV4IGYxOTY4OGI1MmY2Yy4uZjE0NDE0Njk3 ZTc5IDEwMDY0NAotLS0gYS9zcmNwa2dzL3BocDguMS90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL3Bo cDguMS90ZW1wbGF0ZQpAQCAtMSw3ICsxLDcgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ3BocDgu MScKIHBrZ25hbWU9cGhwOC4xCiB2ZXJzaW9uPTguMS4xMgotcmV2aXNpb249MQorcmV2aXNpb249 MgogX3BocF92ZXJzaW9uPTguMQogaG9zdG1ha2VkZXBlbmRzPSJiaXNvbiBwa2ctY29uZmlnIGFw YWNoZS1kZXZlbCIKIG1ha2VkZXBlbmRzPSJhcGFjaGUtZGV2ZWwgZW5jaGFudDItZGV2ZWwgZnJl ZXRkcy1kZXZlbCBmcmVldHlwZS1kZXZlbCBnZGJtLWRldmVsCgpGcm9tIDRhYTU5NTBjNjIxNzI2 ZDgzNjMyYzRmOWE3YzdiODA4ZTdkZGU1ZGUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206 IEtsYXJhIE1vZGluIDxrbGFyYXNtb2RpbkBnbWFpbC5jb20+CkRhdGU6IFdlZCwgMSBGZWIgMjAy MyAxNjoyMDowOSArMDEwMApTdWJqZWN0OiBbUEFUQ0ggMzEvMzldIHBvc3RmaXg6IHJldmJ1bXAg ZHVlIHRvIG9wZW5sZGFwIHVwZGF0ZQoKLS0tCiBzcmNwa2dzL3Bvc3RmaXgvdGVtcGxhdGUgfCAy ICstCiAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKCmRpZmYg LS1naXQgYS9zcmNwa2dzL3Bvc3RmaXgvdGVtcGxhdGUgYi9zcmNwa2dzL3Bvc3RmaXgvdGVtcGxh dGUKaW5kZXggYjFjMmNkNGU4MDkwLi45OTdhMjQyYjkxOTEgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3Mv cG9zdGZpeC90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL3Bvc3RmaXgvdGVtcGxhdGUKQEAgLTEsNyAr MSw3IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdwb3N0Zml4JwogcGtnbmFtZT1wb3N0Zml4CiB2 ZXJzaW9uPTMuNy40Ci1yZXZpc2lvbj0xCityZXZpc2lvbj0yCiBob3N0bWFrZWRlcGVuZHM9InBl cmwgbTQiCiBtYWtlZGVwZW5kcz0iaWN1LWRldmVsIGxpYmxkYXAtZGV2ZWwgbGlibWFyaWFkYmNs aWVudC1kZXZlbCBwY3JlMi1kZXZlbAogIHBvc3RncmVzcWwtbGlicy1kZXZlbCBzcWxpdGUtZGV2 ZWwiCgpGcm9tIDBiYWE2MWQ0MDlkMjUzYzVkYzRkY2RiNDAyN2NjMjYyNzJiNTllZWIgTW9uIFNl cCAxNyAwMDowMDowMCAyMDAxCkZyb206IEtsYXJhIE1vZGluIDxrbGFyYXNtb2RpbkBnbWFpbC5j b20+CkRhdGU6IFdlZCwgMSBGZWIgMjAyMyAxNjoyMTozNiArMDEwMApTdWJqZWN0OiBbUEFUQ0gg MzIvMzldIHB5dGhvbjMtbGRhcDogdXBkYXRlIHRvIDMuNC4zCgpidWlsZCB3YXMgZmFpbGluZyBh ZnRlciByZXZidW1wCnJlbW92ZSB1bm5lY2Vzc2FyeSBzZWQgZXhwcmVzc2lvbgotLS0KIHNyY3Br Z3MvcHl0aG9uMy1sZGFwL3RlbXBsYXRlIHwgMTIgKysrKy0tLS0tLS0tCiAxIGZpbGUgY2hhbmdl ZCwgNCBpbnNlcnRpb25zKCspLCA4IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3Mv cHl0aG9uMy1sZGFwL3RlbXBsYXRlIGIvc3JjcGtncy9weXRob24zLWxkYXAvdGVtcGxhdGUKaW5k ZXggY2ZmN2RmMDU1ZTc4Li40MWU0ZWRiMWYzNTQgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvcHl0aG9u My1sZGFwL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvcHl0aG9uMy1sZGFwL3RlbXBsYXRlCkBAIC0x LDEwICsxLDEwIEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdweXRob24zLWxkYXAnCiBwa2duYW1l PXB5dGhvbjMtbGRhcAogX3BrZ25hbWU9cHl0aG9uLWxkYXAKLXZlcnNpb249My4yLjAKLXJldmlz aW9uPTUKK3ZlcnNpb249My40LjMKK3JldmlzaW9uPTEKIGJ1aWxkX3N0eWxlPXB5dGhvbjMtbW9k dWxlCi1ob3N0bWFrZWRlcGVuZHM9InB5dGhvbjMtc2V0dXB0b29scyIKK2hvc3RtYWtlZGVwZW5k cz0icHl0aG9uMy1zZXR1cHRvb2xzIHB5dGhvbjMtd2hlZWwgcHl0aG9uMy1weWFzbjEtbW9kdWxl cyIKIG1ha2VkZXBlbmRzPSJweXRob24zLWRldmVsIGxpYmxkYXAtZGV2ZWwiCiBkZXBlbmRzPSJw eXRob24zLXB5YXNuMS1tb2R1bGVzIgogY2hlY2tkZXBlbmRzPSJvcGVubGRhcCBvcGVubGRhcC10 b29scyIKQEAgLTEzLDggKzEzLDQgQEAgbWFpbnRhaW5lcj0iTWljaGFlbCBBbGRyaWRnZSA8bWFs ZHJpZGdlQHZvaWRsaW51eC5vcmc+IgogbGljZW5zZT0iUHl0aG9uLTIuMCIKIGhvbWVwYWdlPSJo dHRwczovL3d3dy5weXRob24tbGRhcC5vcmciCiBkaXN0ZmlsZXM9IiR7UFlQSV9TSVRFfS9wLyR7 X3BrZ25hbWV9LyR7X3BrZ25hbWV9LSR7dmVyc2lvbn0udGFyLmd6IgotY2hlY2tzdW09N2QxYzRi MTUzNzVhNTMzNTY0YWFkM2QzZGVhZGU3ODkyMjFlNDUwMDUyYjIxZWJiOTcyMGZiODIyZWNjZGI4 ZQotCi1wcmVfYnVpbGQoKSB7Ci0Jc2VkIC1pICJzOl5saWJzID0gLio6bGlicyA9IGxkYXBfciBs YmVyIHNhc2wyIHNzbCBjcnlwdG86IiBzZXR1cC5jZmcKLX0KK2NoZWNrc3VtPWFiMjZjNTE5YTBl ZjJhNDQzYTJhMTAzOTFmYTNjNWNiNTJkNzg3MTMyMzM5OWRiOTQ5ZWJmYWE5ZjI1ZWUyYTAKCkZy b20gZDI3NzA4NTE1NDJmZTE2NjA5ZmY4ZDMyNmVmYTZmZDUwMGVmMjY0MCBNb24gU2VwIDE3IDAw OjAwOjAwIDIwMDEKRnJvbTogS2xhcmEgTW9kaW4gPGtsYXJhc21vZGluQGdtYWlsLmNvbT4KRGF0 ZTogV2VkLCAxIEZlYiAyMDIzIDE2OjIzOjM5ICswMTAwClN1YmplY3Q6IFtQQVRDSCAzMy8zOV0g cXVvdGE6IHJldmJ1bXAgZHVlIHRvIG9wZW5sZGFwIHVwZGF0ZQoKLS0tCiBzcmNwa2dzL3F1b3Rh L3RlbXBsYXRlIHwgMiArLQogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0 aW9uKC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9xdW90YS90ZW1wbGF0ZSBiL3NyY3BrZ3MvcXVv dGEvdGVtcGxhdGUKaW5kZXggYTVkYzdiYmRiNWY0Li41NTllZmFlZTI5OTQgMTAwNjQ0Ci0tLSBh L3NyY3BrZ3MvcXVvdGEvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9xdW90YS90ZW1wbGF0ZQpAQCAt MSw3ICsxLDcgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ3F1b3RhJwogcGtnbmFtZT1xdW90YQog dmVyc2lvbj00LjA5Ci1yZXZpc2lvbj0xCityZXZpc2lvbj0yCiBidWlsZF9zdHlsZT1nbnUtY29u ZmlndXJlCiBtYWtlX2J1aWxkX2FyZ3M9IlY9MSIKIGNvbmZfZmlsZXM9Ii9ldGMvcXVvdGFncnBh ZG1pbnMgL2V0Yy9xdW90YXRhYiAvZXRjL3dhcm5xdW90YS5jb25mIgoKRnJvbSBlNTNlODRiNWY2 NDc0OGRjNzcwNDM3ODRmN2E2M2MxNmQ1ZGZlZjE4IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpG cm9tOiBLbGFyYSBNb2RpbiA8a2xhcmFzbW9kaW5AZ21haWwuY29tPgpEYXRlOiBXZWQsIDEgRmVi IDIwMjMgMTY6MzY6MjIgKzAxMDAKU3ViamVjdDogW1BBVENIIDM0LzM5XSBzZWFob3JzZTogcmV2 YnVtcCBkdWUgdG8gb3BlbmxkYXAgdXBkYXRlCgotLS0KIHNyY3BrZ3Mvc2VhaG9yc2UvdGVtcGxh dGUgfCAyICstCiAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkK CmRpZmYgLS1naXQgYS9zcmNwa2dzL3NlYWhvcnNlL3RlbXBsYXRlIGIvc3JjcGtncy9zZWFob3Jz ZS90ZW1wbGF0ZQppbmRleCBiZThiYTQ1NGI0YTguLmRhOTIyMzRkODIxNiAxMDA2NDQKLS0tIGEv c3JjcGtncy9zZWFob3JzZS90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL3NlYWhvcnNlL3RlbXBsYXRl CkBAIC0xLDcgKzEsNyBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAnc2VhaG9yc2UnCiBwa2duYW1l PXNlYWhvcnNlCiB2ZXJzaW9uPTQzLjAKLXJldmlzaW9uPTEKK3JldmlzaW9uPTIKIGJ1aWxkX3N0 eWxlPW1lc29uCiBidWlsZF9oZWxwZXI9Z2lyCiBob3N0bWFrZWRlcGVuZHM9Imdjci1kZXZlbCBn ZXR0ZXh0IGdsaWItZGV2ZWwgZ251cGcgaXRzdG9vbCBsaWJzZWNyZXQtZGV2ZWwKCkZyb20gNDE5 MjFlMWY2N2NmN2Q0ODg1YWEyZDI5ZjcxZmRlM2YxZTZiZjI5ZCBNb24gU2VwIDE3IDAwOjAwOjAw IDIwMDEKRnJvbTogS2xhcmEgTW9kaW4gPGtsYXJhc21vZGluQGdtYWlsLmNvbT4KRGF0ZTogV2Vk LCAxIEZlYiAyMDIzIDE2OjM4OjM1ICswMTAwClN1YmplY3Q6IFtQQVRDSCAzNS8zOV0gc3F1aWQ6 IHJldmJ1bXAgZHVlIHRvIG9wZW5sZGFwIHVwZGF0ZQoKLS0tCiBzcmNwa2dzL3NxdWlkL3RlbXBs YXRlIHwgMiArLQogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0p CgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9zcXVpZC90ZW1wbGF0ZSBiL3NyY3BrZ3Mvc3F1aWQvdGVt cGxhdGUKaW5kZXggNDliOWViOWQ3YjkxLi4yMjM4ZDFjN2RmNTIgMTAwNjQ0Ci0tLSBhL3NyY3Br Z3Mvc3F1aWQvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9zcXVpZC90ZW1wbGF0ZQpAQCAtMSw3ICsx LDcgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ3NxdWlkJwogcGtnbmFtZT1zcXVpZAogdmVyc2lv bj01LjcKLXJldmlzaW9uPTEKK3JldmlzaW9uPTIKIGJ1aWxkX3N0eWxlPWdudS1jb25maWd1cmUK IGNvbmZpZ3VyZV9hcmdzPSIKICAtLXN5c2NvbmZkaXI9L2V0Yy9zcXVpZAoKRnJvbSBmMDYxZjcw MDFkY2IyMDBhZGIwYzU2OTNhZjU1NWFjODhkYTlkOTY4IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAw MQpGcm9tOiBLbGFyYSBNb2RpbiA8a2xhcmFzbW9kaW5AZ21haWwuY29tPgpEYXRlOiBXZWQsIDEg RmViIDIwMjMgMTY6Mzk6MzAgKzAxMDAKU3ViamVjdDogW1BBVENIIDM2LzM5XSBzc3NkOiByZXZi dW1wIGR1ZSB0byBvcGVubGRhcCB1cGRhdGUKCi0tLQogc3JjcGtncy9zc3NkL3RlbXBsYXRlIHwg MiArLQogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZm IC0tZ2l0IGEvc3JjcGtncy9zc3NkL3RlbXBsYXRlIGIvc3JjcGtncy9zc3NkL3RlbXBsYXRlCmlu ZGV4IDNiZmViMzJlZjEwZC4uNDRlNmYzYjlhNjlkIDEwMDY0NAotLS0gYS9zcmNwa2dzL3Nzc2Qv dGVtcGxhdGUKKysrIGIvc3JjcGtncy9zc3NkL3RlbXBsYXRlCkBAIC0xLDcgKzEsNyBAQAogIyBU ZW1wbGF0ZSBmaWxlIGZvciAnc3NzZCcKIHBrZ25hbWU9c3NzZAogdmVyc2lvbj0yLjQuMAotcmV2 aXNpb249NQorcmV2aXNpb249NgogYnVpbGRfc3R5bGU9Z251LWNvbmZpZ3VyZQogIyBjb25maWd1 cmUgY2hlY2tzIHN5cy52ZXJzaW9uWzozXSBmb3IgUHl0aG9uIHZlcnNpb25pbmcsIHNvIDMuMTAg YmVjb21lcyAzLjE7CiAjIHVudGlsIHRoaXMgaXMgZml4ZWQgdXBzdHJlYW0sIG1hbnVhbGx5IGRl ZmluZSBhbV9jdl9weXRob25fdmVyc2lvbiB0byBjaXJjdW12ZW50CgpGcm9tIGE2NDNlMjJkYTMw NDRmZDY5ZDVjNDQzMGJjYTE0NWQ4ZmJjN2MwMjcgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZy b206IEtsYXJhIE1vZGluIDxrbGFyYXNtb2RpbkBnbWFpbC5jb20+CkRhdGU6IFdlZCwgMSBGZWIg MjAyMyAxNjo0MTozMCArMDEwMApTdWJqZWN0OiBbUEFUQ0ggMzcvMzldIHN5bHBoZWVkOiByZXZi dW1wIGR1ZSB0byBvcGVubGRhcCB1cGRhdGUKCi0tLQogc3JjcGtncy9zeWxwaGVlZC90ZW1wbGF0 ZSB8IDIgKy0KIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQoK ZGlmZiAtLWdpdCBhL3NyY3BrZ3Mvc3lscGhlZWQvdGVtcGxhdGUgYi9zcmNwa2dzL3N5bHBoZWVk L3RlbXBsYXRlCmluZGV4IDdmYmYyNTI3NmZiYy4uMjVhYTc1M2U2ZDRkIDEwMDY0NAotLS0gYS9z cmNwa2dzL3N5bHBoZWVkL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3Mvc3lscGhlZWQvdGVtcGxhdGUK QEAgLTEsNyArMSw3IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdzeWxwaGVlZCcKIHBrZ25hbWU9 c3lscGhlZWQKIHZlcnNpb249My43LjAKLXJldmlzaW9uPTgKK3JldmlzaW9uPTkKIGJ1aWxkX3N0 eWxlPWdudS1jb25maWd1cmUKIGNvbmZpZ3VyZV9hcmdzPSItLWRpc2FibGUtY29tcGZhY2UgLS1k aXNhYmxlLWd0a3NwZWxsIC0tZW5hYmxlLWxkYXAgLS13aXRoLWdwZ21lLXByZWZpeD0ke1hCUFNf Q1JPU1NfQkFTRX0vdXNyIgogaG9zdG1ha2VkZXBlbmRzPSJhdXRvbWFrZSBsaWJ0b29sIHBrZy1j b25maWcgZmxleCBnZXR0ZXh0LWRldmVsIGd0aystZGV2ZWwgZ3BnbWUtZGV2ZWwgZ2xpYi1kZXZl bCIKCkZyb20gOGU4ZjgzMDg0ZDQxNmJiOGYzMWM2MmU1N2NkMTZlZTU1M2ZkYzliZiBNb24gU2Vw IDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogS2xhcmEgTW9kaW4gPGtsYXJhc21vZGluQGdtYWlsLmNv bT4KRGF0ZTogV2VkLCAxIEZlYiAyMDIzIDE2OjQyOjQ3ICswMTAwClN1YmplY3Q6IFtQQVRDSCAz OC8zOV0gdmlydHVvc286IHVwZGF0ZSB0byA3LjIuOAoKdGVzdCBzdWl0ZSB3YXMgZmFpbGluZyBv biByZXZidW1wCgotIHJlbW92ZSBwYXRjaGVzIHRoYXQgbm8gbG9uZ2VyIGFwcGx5Ci0gYWRkIHBh dGNoIHRoYXQgcmVtb3ZlcyBnaXQgcmV2aXNpb24gZnJvbSBncmFwaHFsCi0gZGlzYWJsZSBzdGF0 aWMgbGlicmFyaWVzIGFzIHdlJ3JlIHJlbW92aW5nIHRoZW0gYWZ0ZXIgaW5zdGFsbCBhbnl3YXkK LSBhZGQgd2hpY2ggdG8gaG9zdG1ha2VkZXBlbmRzCi0gYWRkIG1pc3NpbmcgY2hlY2tkZXBlbmRz Ci0tLQogLi4uL3ZpcnR1b3NvL3BhdGNoZXMvYWx3YXlzLWllZWUtZmxvYXRzLnBhdGNoIHwgICA0 NiAtCiBzcmNwa2dzL3ZpcnR1b3NvL3BhdGNoZXMvZml4LWdyYXBocWwucGF0Y2ggICAgfCAgIDEx ICsKIC4uLi92aXJ0dW9zby9wYXRjaGVzL2ZpeC11dGY4LWJpdHRlc3QucGF0Y2ggICB8ICAgMTUg LQogc3JjcGtncy92aXJ0dW9zby9wYXRjaGVzL211c2wtcGFnZV9zaXplLnBhdGNoIHwgICAzNCAt CiAuLi4vcmVtb3ZlLW9wZW5zc2wtdmVyc2lvbi1jaGVjay5wYXRjaCAgICAgICAgfCAgIDQ4IC0K IC4uLi92aXJ0dW9zby9wYXRjaGVzL3NzbC1jb25uZWN0LXN0YXRlLnBhdGNoICB8ICAgMTUgLQog c3JjcGtncy92aXJ0dW9zby9wYXRjaGVzL3NzbDEuMS5wYXRjaCAgICAgICAgIHwgMTQwMCAtLS0t LS0tLS0tLS0tLS0tLQogc3JjcGtncy92aXJ0dW9zby9wYXRjaGVzL3NzbDEuMV9tb3JlLnBhdGNo ICAgIHwgICAyMCAtCiBzcmNwa2dzL3ZpcnR1b3NvL3BhdGNoZXMvdXNlLW1rc3RlbXAucGF0Y2gg ICAgfCAgIDE4IC0KIHNyY3BrZ3MvdmlydHVvc28vdGVtcGxhdGUgICAgICAgICAgICAgICAgICAg ICB8ICAgMTYgKy0KIDEwIGZpbGVzIGNoYW5nZWQsIDE4IGluc2VydGlvbnMoKyksIDE2MDUgZGVs ZXRpb25zKC0pCiBkZWxldGUgbW9kZSAxMDA2NDQgc3JjcGtncy92aXJ0dW9zby9wYXRjaGVzL2Fs d2F5cy1pZWVlLWZsb2F0cy5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvdmlydHVv c28vcGF0Y2hlcy9maXgtZ3JhcGhxbC5wYXRjaAogZGVsZXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3Mv dmlydHVvc28vcGF0Y2hlcy9maXgtdXRmOC1iaXR0ZXN0LnBhdGNoCiBkZWxldGUgbW9kZSAxMDA2 NDQgc3JjcGtncy92aXJ0dW9zby9wYXRjaGVzL211c2wtcGFnZV9zaXplLnBhdGNoCiBkZWxldGUg bW9kZSAxMDA2NDQgc3JjcGtncy92aXJ0dW9zby9wYXRjaGVzL3JlbW92ZS1vcGVuc3NsLXZlcnNp b24tY2hlY2sucGF0Y2gKIGRlbGV0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3ZpcnR1b3NvL3BhdGNo ZXMvc3NsLWNvbm5lY3Qtc3RhdGUucGF0Y2gKIGRlbGV0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3Zp cnR1b3NvL3BhdGNoZXMvc3NsMS4xLnBhdGNoCiBkZWxldGUgbW9kZSAxMDA2NDQgc3JjcGtncy92 aXJ0dW9zby9wYXRjaGVzL3NzbDEuMV9tb3JlLnBhdGNoCiBkZWxldGUgbW9kZSAxMDA2NDQgc3Jj cGtncy92aXJ0dW9zby9wYXRjaGVzL3VzZS1ta3N0ZW1wLnBhdGNoCgpkaWZmIC0tZ2l0IGEvc3Jj cGtncy92aXJ0dW9zby9wYXRjaGVzL2Fsd2F5cy1pZWVlLWZsb2F0cy5wYXRjaCBiL3NyY3BrZ3Mv dmlydHVvc28vcGF0Y2hlcy9hbHdheXMtaWVlZS1mbG9hdHMucGF0Y2gKZGVsZXRlZCBmaWxlIG1v ZGUgMTAwNjQ0CmluZGV4IDY5YjUwMzQyMTRmNy4uMDAwMDAwMDAwMDAwCi0tLSBhL3NyY3BrZ3Mv dmlydHVvc28vcGF0Y2hlcy9hbHdheXMtaWVlZS1mbG9hdHMucGF0Y2gKKysrIC9kZXYvbnVsbApA QCAtMSw0NiArMCwwIEBACi1Gcm9tIGJjOGU5ODkwZGU4Yzk4NjZlNmUxZjQ5YzgzNTVlYmVlOTE1 NTc5ZTQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBxNjYgPGRhbmllbEBvY3RhZm9y Z2Uub3JnPgotRGF0ZTogV2VkLCAyOSBKYW4gMjAyMCAxMjo1MDo0NiArMDEwMAotU3ViamVjdDog W1BBVENIIDEvMl0gYWx3YXlzIHVzZSBJRUVFIGZsb2F0cwotCi1XZSBkb24ndCBidWlsZCBvbiBh bnkgcGxhdGZvcm1zIHdoZXJlIHRoaXMgaXMgbm90IHRoZSBjYXNlLgotCi1GaXhlcyBwbGF0Zm9y bXMgZm9yIHdoaWNoIHRoaXMgaXMgbm90IGNoZWNrZWQuCi0tLS0KLSBsaWJzcmMvRGsvRGttYXJz aGFsLmMgfCAyMCArLS0tLS0tLS0tLS0tLS0tLS0tLQotIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2Vy dGlvbigrKSwgMTkgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgbGlic3JjL0RrL0RrbWFyc2hh bC5jIGxpYnNyYy9Eay9Ea21hcnNoYWwuYwotaW5kZXggZGExNWEyMS4uYjJiNmM3MSAxMDA2NDQK LS0tLSBhL2xpYnNyYy9Eay9Ea21hcnNoYWwuYwotKysrIGIvbGlic3JjL0RrL0RrbWFyc2hhbC5j Ci1AQCAtMzEsMjUgKzMxLDcgQEAKLSAjIGluY2x1ZGUgPG5ldGluZXQvaW4uaD4JCQkgLyogZm9y IG50b2hsLCBodG9ubCAqLwotICNlbmRpZgotIAotLSNpZiBkZWZpbmVkIChpMzg2KSB8fCBcCi0t ICAgIGRlZmluZWQgKF9XSU42NCkgfHwgXAotLSAgICBkZWZpbmVkIChfTV9JWDg2KSB8fCBcCi0t ICAgIGRlZmluZWQgKF9NX0FMUEhBKSB8fCBcCi0tICAgIGRlZmluZWQgKG1jNjgwMDApIHx8IFwK LS0gICAgZGVmaW5lZCAoc3BhcmMpIHx8IFwKLS0gICAgZGVmaW5lZCAoX194ODZfNjQpIHx8IFwK LS0gICAgZGVmaW5lZCAoX19hbHBoYSkgfHwgXAotLSAgICBkZWZpbmVkIChfX3Bvd2VycGMpIHx8 IFwKLS0gICAgZGVmaW5lZCAobWlwcykgfHwgXAotLSAgICBkZWZpbmVkIChfX09TMl9fKSB8fCBc Ci0tICAgIGRlZmluZWQgKF9JQk1SMikKLS0jIGRlZmluZSBfSUVFRV9GTE9BVFMKLS0jZWxpZiBk ZWZpbmVkIChPUExfU09VUkNFKQotLSMgaW5jbHVkZSA8bGlicnBjLmg+Ci0tI2Vsc2UKLS0jIGlu Y2x1ZGUgPHJwYy90eXBlcy5oPgotLSMgaW5jbHVkZSA8cnBjL3hkci5oPgotLSNlbmRpZgotKyNk ZWZpbmUgX0lFRUVfRkxPQVRTCi0gCi0gbWFjcm9fY2hhcl9mdW5jIHJlYWR0YWJsZVsyNTZdOwot IHNlc193cml0ZV9mdW5jIHdyaXRldGFibGVbMjU2XTsKLS0tIAotMi4yNC4wCi0KZGlmZiAtLWdp dCBhL3NyY3BrZ3MvdmlydHVvc28vcGF0Y2hlcy9maXgtZ3JhcGhxbC5wYXRjaCBiL3NyY3BrZ3Mv dmlydHVvc28vcGF0Y2hlcy9maXgtZ3JhcGhxbC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NApp bmRleCAwMDAwMDAwMDAwMDAuLmYwNGIzZTQ1YzQ3YQotLS0gL2Rldi9udWxsCisrKyBiL3NyY3Br Z3MvdmlydHVvc28vcGF0Y2hlcy9maXgtZ3JhcGhxbC5wYXRjaApAQCAtMCwwICsxLDExIEBACist LS0gYS9iaW5zcmMvZ3JhcGhxbC9ncmFwaHFsX3BsdWdpbi5jCTIwMjMtMDItMDEgMjE6MTQ6MTgu MTQ4NDc4NTAwICswMTAwCisrKysgYi9iaW5zcmMvZ3JhcGhxbC9ncmFwaHFsX3BsdWdpbi5jCTIw MjItMTAtMTkgMTQ6NDQ6MTQuMDAwMDAwMDAwICswMjAwCitAQCAtMTczLDcgKzE3Myw3IEBACisg Cisgc3RhdGljIHVuaXRfdmVyc2lvbl90IHBsdWdpbl9ncmFwaHFsX3ZlcnNpb24gPSB7CisgICAi R3JhcGhRTC9TUEFSUUwgQnJpZGdlIiwJLyohPCBUaXRsZSBvZiB1bml0LCBmaWxsZWQgYnkgdW5p dCAqLworLSAgR1FMX0JSSURHRV9WRVIgIiAoIiBHSVRfSEVBRF9TVFIgIikiLAkvKiE8IFZlcnNp b24gbnVtYmVyLCBmaWxsZWQgYnkgdW5pdCAqLworKyAgR1FMX0JSSURHRV9WRVIsCQkvKiE8IFZl cnNpb24gbnVtYmVyLCBmaWxsZWQgYnkgdW5pdCAqLworICAgIk9wZW5MaW5rIFNvZnR3YXJlIiwJ CS8qITwgUGx1Z2luJ3MgZGV2ZWxvcGVyLCBmaWxsZWQgYnkgdW5pdCAqLworICAgIlN1cHBvcnQg ZnVuY3Rpb25zIGZvciBHcmFwaFFML1NQQVJRTCBCcmlkZ2UiLAkvKiE8IEFueSBhZGRpdGlvbmFs IGluZm8sIGZpbGxlZCBieSB1bml0ICovCisgICAwLAkJCQkvKiE8IEVycm9yIG1lc3NhZ2UsIGZp bGxlZCBieSB1bml0IGxvYWRlciAqLwpkaWZmIC0tZ2l0IGEvc3JjcGtncy92aXJ0dW9zby9wYXRj aGVzL2ZpeC11dGY4LWJpdHRlc3QucGF0Y2ggYi9zcmNwa2dzL3ZpcnR1b3NvL3BhdGNoZXMvZml4 LXV0ZjgtYml0dGVzdC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODVlODRh NjdlZjNjLi4wMDAwMDAwMDAwMDAKLS0tIGEvc3JjcGtncy92aXJ0dW9zby9wYXRjaGVzL2ZpeC11 dGY4LWJpdHRlc3QucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwxNSArMCwwIEBACi1Tb3VyY2U6 IEBwdWxsbW9sbAotVXBzdHJlYW06IG5vCi1SZWFzb246IGV4cHJlc3Npb24gcmVxdWlyZXMgYmlu YXJ5IEFORCwgbm90IGxvZ2ljYWwKLQotLS0tIGEvbGlic3JjL3V0aWwvcGNyZWxpYi9wY3JlX3N0 dWR5LmMJMjAxOC0wOC0xNiAwMTowNjoyMS4wMDAwMDAwMDAgKzAyMDAKLSsrKyBiL2xpYnNyYy91 dGlsL3BjcmVsaWIvcGNyZV9zdHVkeS5jCTIwMjAtMDEtMjcgMTU6NDQ6NTcuNzE1ODIxMzU1ICsw MTAwCi1AQCAtNDMyLDcgKzQzMiw3IEBACi0gICAgICAgICAgIGZvciAoYyA9IDA7IGMgPCAxNjsg YysrKSBzdGFydF9iaXRzW2NdIHw9IHRjb2RlW2NdOwotICAgICAgICAgICBmb3IgKGMgPSAxMjg7 IGMgPCAyNTY7IGMrKykKLSAgICAgICAgICAgICB7Ci0tICAgICAgICAgICAgaWYgKCh0Y29kZVtj LzhdICYmICgxIDw8IChjJjcpKSkgIT0gMCkKLSsgICAgICAgICAgICBpZiAoKHRjb2RlW2MvOF0g JiAoMSA8PCAoYyY3KSkpICE9IDApCi0gICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICBp bnQgZCA9IChjID4+IDYpIHwgMHhjMDsgICAgICAgICAgICAvKiBTZXQgYml0IGZvciB0aGlzIHN0 YXJ0ZXIgKi8KLSAgICAgICAgICAgICAgIHN0YXJ0X2JpdHNbZC84XSB8PSAoMSA8PCAoZCY3KSk7 ICAgIC8qIGFuZCB0aGVuIHNraXAgb24gdG8gdGhlICovCmRpZmYgLS1naXQgYS9zcmNwa2dzL3Zp cnR1b3NvL3BhdGNoZXMvbXVzbC1wYWdlX3NpemUucGF0Y2ggYi9zcmNwa2dzL3ZpcnR1b3NvL3Bh dGNoZXMvbXVzbC1wYWdlX3NpemUucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4 IDczYTlhYmRkMGYzOS4uMDAwMDAwMDAwMDAwCi0tLSBhL3NyY3BrZ3MvdmlydHVvc28vcGF0Y2hl cy9tdXNsLXBhZ2Vfc2l6ZS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDM0ICswLDAgQEAKLUZy b20gMTI1NjY5ODIxZDk1ZmY5ODliZjk0MTYxYjhlMjQ5N2JmY2E5ZDBhYiBNb24gU2VwIDE3IDAw OjAwOjAwIDIwMDEKLUZyb206IHE2NiA8ZGFuaWVsQG9jdGFmb3JnZS5vcmc+Ci1EYXRlOiBXZWQs IDI5IEphbiAyMDIwIDEyOjU0OjE0ICswMTAwCi1TdWJqZWN0OiBbUEFUQ0ggMi8yXSBVc2UgbW9y ZSBwb3J0YWJsZSBwYWdlIHNpemUgY2hlY2sKLQotVGhpcyBmaXhlcyBtdXNsIGJ1aWxkcy4KLS0t LQotIGxpYnNyYy9Eay90bHNmLmggfCAzICsrLQotIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlv bnMoKyksIDEgZGVsZXRpb24oLSkKLQotZGlmZiAtLWdpdCBsaWJzcmMvRGsvdGxzZi5oIGxpYnNy Yy9Eay90bHNmLmgKLWluZGV4IGRkY2U0NzguLmE5Njg3ZjQgMTAwNjQ0Ci0tLS0gYS9saWJzcmMv RGsvdGxzZi5oCi0rKysgYi9saWJzcmMvRGsvdGxzZi5oCi1AQCAtMjAsNiArMjAsNyBAQAotICNk ZWZpbmUgX1RMU0ZfSF8KLSAKLSAjaW5jbHVkZSA8c3lzL3R5cGVzLmg+Ci0rI2luY2x1ZGUgPHVu aXN0ZC5oPgotIAotIGV4dGVybiBzaXplX3QgaW5pdF9tZW1vcnlfcG9vbChzaXplX3QsIHZvaWQg Kik7Ci0gZXh0ZXJuIHNpemVfdCBnZXRfdXNlZF9zaXplKHZvaWQgKik7Ci1AQCAtMTU5LDcgKzE2 MCw3IEBAIGV4dGVybiB2b2lkIHRsc2ZfYmFzZV9mcmVlICh2b2lkICogYywgc2l6ZV90IHN6KTsK LSAKLSAjZGVmaW5lIERFRkFVTFRfQVJFQV9TSVpFICgxMDI0KjEwKQotIAotLSNkZWZpbmUgUEFH RV9TSVpFIChnZXRwYWdlc2l6ZSgpKQotKyNkZWZpbmUgUEFHRV9TSVpFICgoaW50KXN5c2NvbmYo X1NDX1BBR0VTSVpFKSkKLSAKLSAjaWZuZGVmIFdJTjMyCi0gI2lmZGVmIFVTRV9QUklOVEYKLS0t IAotMi4yNC4wCi0KZGlmZiAtLWdpdCBhL3NyY3BrZ3MvdmlydHVvc28vcGF0Y2hlcy9yZW1vdmUt b3BlbnNzbC12ZXJzaW9uLWNoZWNrLnBhdGNoIGIvc3JjcGtncy92aXJ0dW9zby9wYXRjaGVzL3Jl bW92ZS1vcGVuc3NsLXZlcnNpb24tY2hlY2sucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0 CmluZGV4IDMwOTRmYmI2YWI2NC4uMDAwMDAwMDAwMDAwCi0tLSBhL3NyY3BrZ3MvdmlydHVvc28v cGF0Y2hlcy9yZW1vdmUtb3BlbnNzbC12ZXJzaW9uLWNoZWNrLnBhdGNoCisrKyAvZGV2L251bGwK QEAgLTEsNDggKzAsMCBAQAotU291cmNlOiBAcHVsbG1vbGwKLVVwc3RyZWFtOiBubwotUmVhc29u OiBFbmFibGUgc3ViZGlyLW9iamVjdHMgYW5kIHN0cmlwIG9wZW5zc2wgdmVyc2lvbiBjaGVjayB3 aGljaCBmYWlscyBmb3IgbGlicmVzc2wKLQotLS0tIGEvY29uZmlndXJlLmFjCTIwMTgtMDgtMTYg MDE6MDY6MjEuMDAwMDAwMDAwICswMjAwCi0rKysgYi9jb25maWd1cmUuYWMJMjAyMC0wMS0yNyAx NTowMjozNi45NDY5MjI2NjMgKzAxMDAKLUBAIC01OCw3ICs1OCw3IEBACi0gZG5sCUFNX0lOSVRf QVVUT01BS0UoWzEuOF0pCi0gZG5sCUFNX0lOSVRfQVVUT01BS0UoWzEuOSB0YXItdXN0YXJdKQot IGRubAotLUFNX0lOSVRfQVVUT01BS0UoWzEuOSB0YXItdXN0YXJdKQotK0FNX0lOSVRfQVVUT01B S0UoWzEuOSB0YXItdXN0YXIgc3ViZGlyLW9iamVjdHNdKQotIAotIEFNX01BSU5UQUlORVJfTU9E RQotIAotQEAgLTg2NywzMiArODY3LDYgQEAKLSAJOzsKLSBlc2FjCi0gCi0tQUNfTVNHX0NIRUNL SU5HKFtPcGVuU1NMIHZlcnNpb25dKQotLUFDX1RSWV9DT01QSUxFKFsKLS0jaW5jbHVkZSA8b3Bl bnNzbC9vcGVuc3Nsdi5oPgotLV0sIFsKLS0jaWYgT1BFTlNTTF9WRVJTSU9OX05VTUJFUiA8IDB4 MDA5MDgwMWZMCi0tI2Vycm9yIE9wZW5TU0wgdmVyc2lvbiB0b28gb2xkIAotLSNlbmRpZgotLSAg ICBdLFsKLS0gICAgICBBQ19NU0dfUkVTVUxUKFs+PSAwLjkuOGVdKQotLSAgICBdLFsKLS0gICAg ICBBQ19NU0dfRVJST1IoW09wZW5TU0wgdmVyc2lvbiAwLjkuOGUgb3IgZ3JlYXRlciBpcyByZXF1 aXJlZC5dKQotLSAgICBdKQotLQotLUFDX01TR19DSEVDS0lORyhbT3BlblNTTCB2ZXJzaW9uXSkK LS1BQ19UUllfQ09NUElMRShbCi0tI2luY2x1ZGUgPG9wZW5zc2wvb3BlbnNzbHYuaD4KLS1dLFsK LS0jaWYgT1BFTlNTTF9WRVJTSU9OX05VTUJFUiA+PSAweDEwMTAwMDBmTAotLSNlcnJvciBPcGVu U1NMIHZlcnNpb24gdG9vIG5ldwotLSNlbmRpZgotLSAgICBdLFsKLS0gICAgICBBQ19NU0dfUkVT VUxUKFs8IDEuMS4wXSkKLS0gICAgXSxbCi0tICAgICAgQUNfTVNHX0VSUk9SKFtPcGVuU1NMIHZl cnNpb24gMS4xLjAgb3IgZ3JlYXRlciBpcyBjdXJyZW50bHkgbm90IHN1cHBvcnRlZC5dKQotLSAg ICBdKQotLQotIEFDX01TR19DSEVDS0lORyhbdXNhYmlsaXR5IG9mIHRoZSBPcGVuU1NMIGhlYWRl ciBmaWxlcyBhbmQgbGlicmFyeSBpbiAke29wZW5zc2xfZGlyfV0pCi0gQUNfVFJZX1JVTihbCi0g I2luY2x1ZGUgPG9wZW5zc2wvcnNhLmg+CmRpZmYgLS1naXQgYS9zcmNwa2dzL3ZpcnR1b3NvL3Bh dGNoZXMvc3NsLWNvbm5lY3Qtc3RhdGUucGF0Y2ggYi9zcmNwa2dzL3ZpcnR1b3NvL3BhdGNoZXMv c3NsLWNvbm5lY3Qtc3RhdGUucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDM5 NTY2ZTNiNmRmZC4uMDAwMDAwMDAwMDAwCi0tLSBhL3NyY3BrZ3MvdmlydHVvc28vcGF0Y2hlcy9z c2wtY29ubmVjdC1zdGF0ZS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDE1ICswLDAgQEAKLVNv dXJjZTogQHB1bGxtb2xsCi1VcHN0cmVhbTogbm8KLVJlYXNvbjogVXNlIHRoZSBwcm9wZXIgaW50 ZXJmYWNlIG9mIGxpYnJlc3NsIHdoaWNoIGRvZXMgbm90IGV4cG9zZSB0aGUgaW50ZXJuYWwgc3Ry dWN0dXJlIG9mIFNTTAotCi0tLS0gYS9saWJzcmMvV2kvaHR0cC5jCTIwMTgtMDgtMTYgMDE6MDY6 MjEuMDAwMDAwMDAwICswMjAwCi0rKysgYi9saWJzcmMvV2kvaHR0cC5jCTIwMjAtMDEtMjcgMTU6 MDk6NTMuMjg0OTA1MjY1ICswMTAwCi1AQCAtOTk0OSw3ICs5OTQ5LDcgQEAKLSAJICBjbGlfc3Ns X2dldF9lcnJvcl9zdHJpbmcgKGVycl9idWYsIHNpemVvZiAoZXJyX2J1ZikpOwotIAkgIHNxbHJf bmV3X2Vycm9yICgiNDIwMDAiLCAiLi4wMDIiLCAiU1NMX2RvX2hhbmRzaGFrZSBmYWlsZWQgJXMi LCBlcnJfYnVmKTsKLSAJfQotLSAgICAgIHNzbC0+c3RhdGUgPSBTU0xfU1RfQUNDRVBUOwotKyAg ICAgIFNTTF9zZXRfYWNjZXB0X3N0YXRlIChzc2wpOwotICAgICAgIHdoaWxlIChTU0xfcmVuZWdv dGlhdGVfcGVuZGluZyAoc3NsKSAmJiBjdHIgPCAxMDAwKQotIAl7Ci0gCSAgdGltZW91dF90IHRv ID0geyAwLCAxMDAwIH07CmRpZmYgLS1naXQgYS9zcmNwa2dzL3ZpcnR1b3NvL3BhdGNoZXMvc3Ns MS4xLnBhdGNoIGIvc3JjcGtncy92aXJ0dW9zby9wYXRjaGVzL3NzbDEuMS5wYXRjaApkZWxldGVk IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOTg4NzQ5OTQ2NDgwLi4wMDAwMDAwMDAwMDAKLS0tIGEv c3JjcGtncy92aXJ0dW9zby9wYXRjaGVzL3NzbDEuMS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0x LDE0MDAgKzAsMCBAQAotRGVzY3JpcHRpb246IEZpeCBGVEJGUyB3aXRoIG9wZW5zc2wgMS4xCi1B dXRob3I6IFNlYmFzdGlhbiBBbmRyemVqIFNpZXdpb3IgPHNlYmFzdGlhbkBicmVha3BvaW50LmNj PgotQnVnLURlYmlhbjogaHR0cHM6Ly9idWdzLmRlYmlhbi5vcmcvODI4NTk0Ci1Gb3J3YXJkZWQ6 IGh0dHBzOi8vZ2l0aHViLmNvbS9vcGVubGluay92aXJ0dW9zby1vcGVuc291cmNlL3B1bGwvNTgz Ci1MYXN0LVVwZGF0ZTogTW8gMTEuIEZlYiAxMzo1MDoxNyBDRVQgMjAxOSAoYnkgQW5kcmVhcyBU aWxsZSA8dGlsbGVAZGViaWFuLm9yZz4pCi0KLS0tLQotCi1Gcm9tIDgyMzA5MmNjY2JkOGUyYWI5 YmZhZDZjM2QzZGY3OTFhN2ZmYTc2ZmMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBT ZWJhc3RpYW4gQW5kcnplaiBTaWV3aW9yIDxzZWJhc3RpYW5AYnJlYWtwb2ludC5jYz4KLURhdGU6 IE1vbiwgNSBTZXAgMjAxNiAxMDo0OTo1NCArMDAwMAotU3ViamVjdDogW1BBVENIXSB2aXJ0dW9z by1vcGVuc291cmNlOiBidWlsZCBhZ2FpbnN0IG9wZW5zc2wgMS4xLjAKLQotU2lnbmVkLW9mZi1i eTogU2ViYXN0aWFuIEFuZHJ6ZWogU2lld2lvciA8c2ViYXN0aWFuQGJyZWFrcG9pbnQuY2M+Ci0t LS0KLSBsaWJzcmMvRGsvRGtlcm5lbC5jICAgICAgfCAgIDYgKy0KLSBsaWJzcmMvV2kvYmlmX2Ny eXB0by5jICAgfCAxMjAgKysrKysrKysrKy0tLS0tLS0tCi0gbGlic3JjL1dpL2h0dHAuYyAgICAg ICAgIHwgICAyICstCi0gbGlic3JjL1dpL3htbGVuYy5jICAgICAgIHwgMzE5ICsrKysrKysrKysr KysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tCi0gbGlic3JjL1dpL3htbGVuYy5o ICAgICAgIHwgMTkzICsrKysrKysrKysrKysrKysrKysrKysrKysrLS0KLSBsaWJzcmMvV2kveG1s ZW5jX2FsZ29zLmMgfCAxMzIgKysrKysrKysrKystLS0tLS0tLS0KLSBsaWJzcmMvdXRpbC9zc2xl bmdpbmUuYyAgfCAgIDYgKy0KLSA3IGZpbGVzIGNoYW5nZWQsIDUyNCBpbnNlcnRpb25zKCspLCAy NTQgZGVsZXRpb25zKC0pCi0KLS0tLSBhL2xpYnNyYy9XaS9iaWZfY3J5cHRvLmMKLSsrKyBiL2xp YnNyYy9XaS9iaWZfY3J5cHRvLmMKLUBAIC0xODEsMjEgKzE4MSwyNiBAQCBib3hfaG1hYyAoY2Fk ZHJfdCBib3gsIGNhZGRyX3Qga2V5LCBpbnQKLSAgIHVuc2lnbmVkIGNoYXIgdGVtcFtFVlBfTUFY X01EX1NJWkVdOwotICAgdW5zaWduZWQgaW50IHNpemUgPSAwOwotICAgY2FkZHJfdCByZXMgPSBO VUxMOwotLSAgSE1BQ19DVFggY3R4OwotKyAgSE1BQ19DVFggKmN0eDsKLSAgIGNvbnN0IEVWUF9N RCAqbWQgPSBFVlBfc2hhMSAoKTsKLSAKLSAgIGlmIChhbGcgPT0gMSkKLSAgICAgbWQgPSBFVlBf cmlwZW1kMTYwICgpOwotIAotLSAgSE1BQ19Jbml0ICgmY3R4LCBrZXksIGJveF9sZW5ndGggKGtl eSkgLSBEVl9TVFJJTkdQIChrZXkpID8gMSA6IDAsIG1kKTsKLS0gIGJveF9obWFjXzEgKGJveCwg JmN0eCk7Ci0tICBITUFDX0ZpbmFsICgmY3R4LCB0ZW1wLCAmc2l6ZSk7Ci0rICBjdHggPSBITUFD X0NUWF9uZXcoKTsKLSsgIGlmICghY3R4KQotKwkgIHJldHVybiByZXM7Ci0rCi0rICBITUFDX0lu aXRfZXggKGN0eCwga2V5LCBib3hfbGVuZ3RoIChrZXkpIC0gRFZfU1RSSU5HUCAoa2V5KSA/IDEg OiAwLCBtZCwgTlVMTCk7Ci0rICBib3hfaG1hY18xIChib3gsIGN0eCk7Ci0rICBITUFDX0ZpbmFs IChjdHgsIHRlbXAsICZzaXplKTsKLSAgIGlmIChzaXplKQotICAgICB7Ci0gICAgICAgcmVzID0g ZGtfYWxsb2NfYm94IChzaXplICsgMSwgRFZfU0hPUlRfU1RSSU5HKTsKLSAgICAgICBtZW1jcHkg KHJlcywgdGVtcCwgc2l6ZSk7Ci0gICAgICAgcmVzW3NpemVdID0gMDsKLSAgICAgfQotKyAgSE1B Q19DVFhfZnJlZShjdHgpOwotICAgcmV0dXJuIHJlczsKLSB9Ci0gCi1AQCAtMzQ3LDE0ICszNTIs MTIgQEAgYXNuMV9wYXJzZV90b194bWwgKEJJTyAqIGJwLCB1bnNpZ25lZCBjaAotIAkgICAgewot IAkgICAgICBpbnQgaWk7Ci0gCi0tCSAgICAgIG9wcCA9IG9wOwotLQkgICAgICBpaSA9IGQyaV9B U04xX0JPT0xFQU4gKE5VTEwsIChjb25zdCB1bnNpZ25lZCBjaGFyICoqKSZvcHAsIGxlbiArIGhs KTsKLS0JICAgICAgaWYgKGlpIDwgMCkKLSsJICAgICAgaWYgKGxlbiArIGhsIDwgMSkKLSAJCXsK LSAJCSAgaWYgKEJJT193cml0ZSAoYnAsICJCYWQgYm9vbGVhblxuIiwgMTIpKQotIAkJICAgIGdv dG8gZW5kOwotIAkJfQotLQkgICAgICBCSU9fcHJpbnRmIChicCwgIiVkIiwgaWkpOwotKwkgICAg ICBCSU9fcHJpbnRmIChicCwgIiVkIiwgcFswXSk7Ci0gCSAgICB9Ci0gCSAgZWxzZSBpZiAodGFn ID09IFZfQVNOMV9CTVBTVFJJTkcpCi0gCSAgICB7Ci1AQCAtNDE1LDcgKzQxOCw3IEBAIGFzbjFf cGFyc2VfdG9feG1sIChCSU8gKiBicCwgdW5zaWduZWQgY2gKLSAJCX0KLSAJICAgICAgaWYgKG9z ICE9IE5VTEwpCi0gCQl7Ci0tCQkgIE1fQVNOMV9PQ1RFVF9TVFJJTkdfZnJlZSAob3MpOwotKwkJ ICBBU04xX1NUUklOR19mcmVlIChvcyk7Ci0gCQkgIG9zID0gTlVMTDsKLSAJCX0KLSAJICAgIH0K LUBAIC00NDgsNyArNDUxLDcgQEAgYXNuMV9wYXJzZV90b194bWwgKEJJTyAqIGJwLCB1bnNpZ25l ZCBjaAotIAkJICBpZiAoQklPX3dyaXRlIChicCwgIkJBRCBJTlRFR0VSIiwgMTEpIDw9IDApCi0g CQkgICAgZ290byBlbmQ7Ci0gCQl9Ci0tCSAgICAgIE1fQVNOMV9JTlRFR0VSX2ZyZWUgKGJzKTsK LSsJICAgICAgQVNOMV9TVFJJTkdfZnJlZSAoYnMpOwotIAkgICAgfQotIAkgIGVsc2UgaWYgKHRh ZyA9PSBWX0FTTjFfRU5VTUVSQVRFRCkKLSAJICAgIHsKLUBAIC00NzksNyArNDgyLDcgQEAgYXNu MV9wYXJzZV90b194bWwgKEJJTyAqIGJwLCB1bnNpZ25lZCBjaAotIAkJICBpZiAoQklPX3dyaXRl IChicCwgIkJBRCBFTlVNRVJBVEVEIiwgMTEpIDw9IDApCi0gCQkgICAgZ290byBlbmQ7Ci0gCQl9 Ci0tCSAgICAgIE1fQVNOMV9FTlVNRVJBVEVEX2ZyZWUgKGJzKTsKLSsJICAgICAgQVNOMV9TVFJJ TkdfZnJlZSAoYnMpOwotIAkgICAgfQotIAkgIGVsc2UgaWYgKGxlbiA+IDAgJiYgZHVtcCkKLSAJ ICAgIHsKLUBAIC01MTUsNyArNTE4LDcgQEAgZW5kOgotICAgaWYgKG8gIT0gTlVMTCkKLSAgICAg QVNOMV9PQkpFQ1RfZnJlZSAobyk7Ci0gICBpZiAob3MgIT0gTlVMTCkKLS0gICAgTV9BU04xX09D VEVUX1NUUklOR19mcmVlIChvcyk7Ci0rICAgIEFTTjFfU1RSSU5HX2ZyZWUgKG9zKTsKLSAgICpw cCA9IHA7Ci0gICByZXR1cm4gKHJldCk7Ci0gfQotQEAgLTcyMyw3ICs3MjYsNyBAQCBiaW9fdG9f c3Ryc2VzIChCSU8gKiBvdXRfYmlvKQotICAgaW50IGxlbiA9IEJJT19nZXRfbWVtX2RhdGEgKG91 dF9iaW8sICZwdHIpOwotICAgaW50IHRvX3JlYWQgPSBsZW4sIHJlYWRlZCA9IDA7Ci0gCi0tICB0 b19mcmVlID0gKChCVUZfTUVNICopIG91dF9iaW8tPnB0ciktPmRhdGE7Ci0rICB0b19mcmVlID0g KChCVUZfTUVNICopIEJJT19nZXRfZGF0YShvdXRfYmlvKSktPmRhdGE7Ci0gICBCSU9fc2V0X2Zs YWdzIChvdXRfYmlvLCBCSU9fRkxBR1NfTUVNX1JET05MWSk7Ci0gICBDQVRDSF9XUklURV9GQUlM IChzZXMpCi0gICAgIHsKLUBAIC03MzUsNyArNzM4LDcgQEAgYmlvX3RvX3N0cnNlcyAoQklPICog b3V0X2JpbykKLSAgICAgICB9IHdoaWxlICh0b19yZWFkID4gMCk7Ci0gICAgIH0KLSAgIEVORF9X UklURV9GQUlMIChzZXMpOwotLSAgKChCVUZfTUVNICopIG91dF9iaW8tPnB0ciktPmRhdGEgPSB0 b19mcmVlOwotKyAgKChCVUZfTUVNICopIEJJT19nZXRfZGF0YShvdXRfYmlvKSktPmRhdGEgPSB0 b19mcmVlOwotICAgQklPX2NsZWFyX2ZsYWdzIChvdXRfYmlvLCBCSU9fRkxBR1NfTUVNX1JET05M WSk7Ci0gICByZXR1cm4gc2VzOwotIH0KLUBAIC03NzAsNyArNzczLDcgQEAgYmlmX3NtaW1lX3Zl cmlmeSAoY2FkZHJfdCAqIHFzdCwgY2FkZHJfdAotICAgaWYgKERWX1RZUEVfT0YgKG1zZykgPT0g RFZfU1RSSU5HX1NFU1NJT04pCi0gICAgIHsKLSAgICAgICBpbl9iaW8gPSBzdHJzZXNfdG9fYmlv ICgoZGtfc2Vzc2lvbl90ICopIG1zZyk7Ci0tICAgICAgdG9fZnJlZSA9ICgoQlVGX01FTSAqKSBp bl9iaW8tPnB0ciktPmRhdGE7Ci0rICAgICAgdG9fZnJlZSA9ICgoQlVGX01FTSAqKSBCSU9fZ2V0 X2RhdGEoaW5fYmlvKSktPmRhdGE7Ci0gICAgICAgQklPX3NldF9mbGFncyAoaW5fYmlvLCBCSU9f RkxBR1NfTUVNX1JET05MWSk7Ci0gICAgIH0KLSAgIGVsc2UKLUBAIC03ODAsNyArNzgzLDcgQEAg YmlmX3NtaW1lX3ZlcmlmeSAoY2FkZHJfdCAqIHFzdCwgY2FkZHJfdAotICAgICAgIHA3ID0gU01J TUVfcmVhZF9QS0NTNyAoaW5fYmlvLCAmZGF0YV9iaW8pOwotICAgICAgIGlmICh0b19mcmVlKQot IAl7Ci0tCSAgKChCVUZfTUVNICopIGluX2Jpby0+cHRyKS0+ZGF0YSA9IHRvX2ZyZWU7Ci0rCSAg KChCVUZfTUVNICopIEJJT19nZXRfZGF0YShpbl9iaW8pKS0+ZGF0YSA9IHRvX2ZyZWU7Ci0gCSAg QklPX2NsZWFyX2ZsYWdzIChpbl9iaW8sIEJJT19GTEFHU19NRU1fUkRPTkxZKTsKLSAJfQotICAg ICAgIEJJT19mcmVlIChpbl9iaW8pOwotQEAgLTkyNCwxNiArOTI3LDIwIEBAIGJpZl9zbWltZV9z aWduIChjYWRkcl90ICogcXN0LCBjYWRkcl90ICoKLSAgICAgfQotIAotICAgY2VydHMgPSBza19Y NTA5X25ld19udWxsICgpOwotLSAgaWYgKHN0b3JlICYmIHN0b3JlLT5vYmpzKQotKwotKyAgaWYg KHN0b3JlICYmIFg1MDlfU1RPUkVfZ2V0MF9vYmplY3RzKHN0b3JlKSkKLSAgICAgewotLSAgICAg IGZvciAoaW54ID0gMDsgaW54IDwgc2tfWDUwOV9PQkpFQ1RfbnVtIChzdG9yZS0+b2Jqcyk7IGlu eCsrKQotKyAgICAgIFNUQUNLX09GKFg1MDlfT0JKRUNUKSAqc3RvcmVfb2JqcyA9IFg1MDlfU1RP UkVfZ2V0MF9vYmplY3RzKHN0b3JlKTsKLSsKLSsgICAgICBmb3IgKGlueCA9IDA7IGlueCA8IHNr X1g1MDlfT0JKRUNUX251bSAoc3RvcmVfb2Jqcyk7IGlueCsrKQotIAl7Ci0tCSAgWDUwOV9PQkpF Q1QgKm9iaiA9IHNrX1g1MDlfT0JKRUNUX3ZhbHVlIChzdG9yZS0+b2JqcywgaW54KTsKLS0JICBp ZiAob2JqLT50eXBlID09IFg1MDlfTFVfWDUwOSkKLS0JICAgIHNrX1g1MDlfcHVzaCAoY2VydHMs IFg1MDlfZHVwIChvYmotPmRhdGEueDUwOSkpOwotKwkgIFg1MDlfT0JKRUNUICpvYmogPSBza19Y NTA5X09CSkVDVF92YWx1ZSAoc3RvcmVfb2JqcywgaW54KTsKLSsJICBpZiAoWDUwOV9PQkpFQ1Rf Z2V0X3R5cGUob2JqKSA9PSBYNTA5X0xVX1g1MDkpCi0rCSAgICBza19YNTA5X3B1c2ggKGNlcnRz LCBYNTA5X2R1cCAoWDUwOV9PQkpFQ1RfZ2V0MF9YNTA5KG9iaikpKTsKLSAJfQotIAotICAgICB9 Ci0rCi0gICBpZiAoc3RvcmUpCi0gICAgIFg1MDlfU1RPUkVfZnJlZSAoc3RvcmUpOwotICAgaW5f YmlvID0gQklPX25ld19tZW1fYnVmIChtc2csIGJveF9sZW5ndGggKG1zZykgLSAxKTsKLUBAIC0x MDA1LDE1ICsxMDEyLDE5IEBAIGJpZl9zbWltZV9lbmNyeXB0IChjYWRkcl90ICogcXN0LCBjYWRk cl8KLSAgICAgc3Fscl9uZXdfZXJyb3IgKCI0MjAwMCIsICJDUjAwNiIsICJObyByZWNpcGllbnQg Y2VydGlmaWNhdGVzIik7Ci0gCi0gICBjZXJ0cyA9IHNrX1g1MDlfbmV3X251bGwgKCk7Ci0tICBp ZiAoc3RvcmUgJiYgc3RvcmUtPm9ianMpCi0rCi0rICBpZiAoc3RvcmUgJiYgWDUwOV9TVE9SRV9n ZXQwX29iamVjdHMoc3RvcmUpKQotICAgICB7Ci0tICAgICAgZm9yIChpbnggPSAwOyBpbnggPCBz a19YNTA5X09CSkVDVF9udW0gKHN0b3JlLT5vYmpzKTsgaW54KyspCi0rICAgICAgU1RBQ0tfT0Yo WDUwOV9PQkpFQ1QpICpzdG9yZV9vYmpzID0gWDUwOV9TVE9SRV9nZXQwX29iamVjdHMoc3RvcmUp OwotKwotKyAgICAgIGZvciAoaW54ID0gMDsgaW54IDwgc2tfWDUwOV9PQkpFQ1RfbnVtIChzdG9y ZV9vYmpzKTsgaW54KyspCi0gCXsKLS0JICBYNTA5X09CSkVDVCAqb2JqID0gc2tfWDUwOV9PQkpF Q1RfdmFsdWUgKHN0b3JlLT5vYmpzLCBpbngpOwotLQkgIGlmIChvYmotPnR5cGUgPT0gWDUwOV9M VV9YNTA5KQotLQkgICAgc2tfWDUwOV9wdXNoIChjZXJ0cywgWDUwOV9kdXAgKG9iai0+ZGF0YS54 NTA5KSk7Ci0rCSAgWDUwOV9PQkpFQ1QgKm9iaiA9IHNrX1g1MDlfT0JKRUNUX3ZhbHVlIChzdG9y ZV9vYmpzLCBpbngpOwotKwkgIGlmIChYNTA5X09CSkVDVF9nZXRfdHlwZShvYmopID09IFg1MDlf TFVfWDUwOSkKLSsJICAgIHNrX1g1MDlfcHVzaCAoY2VydHMsIFg1MDlfZHVwIChYNTA5X09CSkVD VF9nZXQwX1g1MDkob2JqKSkpOwotIAl9Ci0gICAgIH0KLSsKLSAgIGlmIChzdG9yZSkKLSAgICAg WDUwOV9TVE9SRV9mcmVlIChzdG9yZSk7Ci0gICBpbl9iaW8gPSBCSU9fbmV3X21lbV9idWYgKG1z ZywgYm94X2xlbmd0aCAobXNnKSAtIDEpOwotQEAgLTExODEsNyArMTE5Miw3IEBAIHg1MDlfY2Vy dGlmaWNhdGVfdmVyaWZ5X2NiIChpbnQgb2ssIFg1MDkKLSAgIGNoYXIgKm9wdHMgPSAoY2hhciAq KSBYNTA5X1NUT1JFX0NUWF9nZXRfYXBwX2RhdGEgKGN0eCk7Ci0gICBpZiAoIW9rICYmIG9wdHMp Ci0gICAgIHsKLS0gICAgICBzd2l0Y2ggKGN0eC0+ZXJyb3IpCi0rICAgICAgc3dpdGNoIChYNTA5 X1NUT1JFX0NUWF9nZXRfZXJyb3IoY3R4KSkKLSAJewotIAljYXNlIFg1MDlfVl9FUlJfQ0VSVF9I QVNfRVhQSVJFRDoKLSAJICBpZiAoc3Ryc3RyIChvcHRzLCAiZXhwaXJlZCIpKQotQEAgLTEyODcs NyArMTI5OCw3IEBAIGJpZl94NTA5X2NlcnRpZmljYXRlX3ZlcmlmeSAoY2FkZHJfdCAqIHEKLSAg IGlmICghaSkKLSAgICAgewotICAgICAgIGNvbnN0IGNoYXIgKmVycl9zdHI7Ci0tICAgICAgZXJy X3N0ciA9IFg1MDlfdmVyaWZ5X2NlcnRfZXJyb3Jfc3RyaW5nIChjc2MtPmVycm9yKTsKLSsgICAg ICBlcnJfc3RyID0gWDUwOV92ZXJpZnlfY2VydF9lcnJvcl9zdHJpbmcgKFg1MDlfU1RPUkVfQ1RY X2dldF9lcnJvcihjc2MpKTsKLSAgICAgICAqZXJyX3JldCA9IHNydl9tYWtlX25ld19lcnJvciAo IjIyMDIzIiwgIkNSMDE1IiwgIlg1MDkgZXJyb3I6ICVzIiwgZXJyX3N0cik7Ci0gICAgIH0KLSAK LUBAIC0xMzA4LDIwICsxMzE5LDE2IEBAIGVycl9yZXQ6Ci0gI2RlZmluZSBWSVJUX0NFUlRfRVhU ICIyLjE2Ljg0MC4xLjExMTMuMSIKLSAKLSBzdGF0aWMgY2FkZHJfdAotLUJOX2JveCAoQklHTlVN ICogeCkKLStCTl9ib3ggKGNvbnN0IEJJR05VTSAqeCkKLSB7Ci0gICBzaXplX3QgYnVmX2xlbiwg bjsKLSAgIGNhZGRyX3QgYnVmOwotICAgYnVmX2xlbiA9IChzaXplX3QpIEJOX251bV9ieXRlcyAo eCk7Ci0tICBpZiAoYnVmX2xlbiA8PSBCTl9CWVRFUykKLS0gICAgYnVmID0gYm94X251bSAoKHVu c2lnbmVkIGxvbmcpIHgtPmRbMF0pOwotLSAgZWxzZQotLSAgICB7Ci0tICAgICAgYnVmID0gZGtf YWxsb2NfYm94IChidWZfbGVuLCBEVl9CSU4pOwotLSAgICAgIG4gPSBCTl9ibjJiaW4gKHgsICh1 bnNpZ25lZCBjaGFyICopIGJ1Zik7Ci0tICAgICAgaWYgKG4gIT0gYnVmX2xlbikKLS0JR1BGX1Q7 Ci0tICAgIH0KLSsgIC8qIGRpZCBub3QgZmlndXJlIG91dCB3aGVyZSBidWYgaXMgZnJlZSgpZWQg Ki8KLSsgIGJ1ZiA9IGRrX2FsbG9jX2JveCAoYnVmX2xlbiwgRFZfQklOKTsKLSsgIG4gPSBCTl9i bjJiaW4gKHgsICh1bnNpZ25lZCBjaGFyICopIGJ1Zik7Ci0rICBpZiAobiAhPSBidWZfbGVuKQot KwkgIEdQRl9UOwotICAgcmV0dXJuIGJ1ZjsKLSB9Ci0gCi1AQCAtMTQ5OCw3ICsxNTA1LDcgQEAg YmlmX2dldF9jZXJ0aWZpY2F0ZV9pbmZvIChjYWRkcl90ICogcXN0LAotIAlpbnQgaTsKLSAJY2hh ciB0bXBbMTAyNF07Ci0gCWNoYXIgKmV4dF9vaWQgPSAoY2hhciAqKSAoQk9YX0VMRU1FTlRTIChh cmdzKSA+IDQgPyBiaWZfc3RyaW5nX2FyZyAocXN0LCBhcmdzLCA0LCAiZ2V0X2NlcnRpZmljYXRl X2luZm8iKSA6IFZJUlRfQ0VSVF9FWFQpOwotLQlTVEFDS19PRiAoWDUwOV9FWFRFTlNJT04pICog ZXh0cyA9IGNlcnQtPmNlcnRfaW5mby0+ZXh0ZW5zaW9uczsKLSsJY29uc3QgU1RBQ0tfT0YgKFg1 MDlfRVhURU5TSU9OKSAqIGV4dHMgPSBYNTA5X2dldDBfZXh0ZW5zaW9ucyhjZXJ0KTsKLSAJZm9y IChpID0gMDsgaSA8IHNrX1g1MDlfRVhURU5TSU9OX251bSAoZXh0cyk7IGkrKykKLSAJICB7Ci0g CSAgICBYNTA5X0VYVEVOU0lPTiAqZXggPSBza19YNTA5X0VYVEVOU0lPTl92YWx1ZSAoZXh0cywg aSk7Ci1AQCAtMTUxMCw3ICsxNTE3LDcgQEAgYmlmX2dldF9jZXJ0aWZpY2F0ZV9pbmZvIChjYWRk cl90ICogcXN0LAotIAkJY2hhciAqZGF0YV9wdHI7Ci0gCQlCSU8gKm1lbSA9IEJJT19uZXcgKEJJ T19zX21lbSAoKSk7Ci0gCQlpZiAoIVg1MDlWM19FWFRfcHJpbnQgKG1lbSwgZXgsIDAsIDApKQot LQkJICBNX0FTTjFfT0NURVRfU1RSSU5HX3ByaW50IChtZW0sIGV4LT52YWx1ZSk7Ci0rCQkgIEFT TjFfU1RSSU5HX3ByaW50IChtZW0sIFg1MDlfRVhURU5TSU9OX2dldF9kYXRhKGV4KSk7Ci0gCQls ZW4gPSBCSU9fZ2V0X21lbV9kYXRhIChtZW0sICZkYXRhX3B0cik7Ci0gCQlpZiAobGVuID4gMCAm JiBkYXRhX3B0cikKLSAJCSAgewotQEAgLTE1MzcsMTggKzE1NDQsMjMgQEAgYmlmX2dldF9jZXJ0 aWZpY2F0ZV9pbmZvIChjYWRkcl90ICogcXN0LAotIAlpZiAoaykKLSAJICB7Ci0gI2lmZGVmIEVW UF9QS0VZX1JTQQotLQkgICAgaWYgKGstPnR5cGUgPT0gRVZQX1BLRVlfUlNBKQotKwkgICAgaWYg KEVWUF9QS0VZX2lkKGspID09IEVWUF9QS0VZX1JTQSkKLSAJICAgICAgewotLQkJUlNBICp4ID0g ay0+cGtleS5yc2E7Ci0tCQlyZXQgPSBsaXN0ICgzLCBib3hfZHZfc2hvcnRfc3RyaW5nICgiUlNB UHVibGljS2V5IiksIEJOX2JveCAoeC0+ZSksIEJOX2JveCAoeC0+bikpOwotKwkJY29uc3QgQklH TlVNICpuLCAqZTsKLSsKLSsJCVJTQV9nZXQwX2tleShFVlBfUEtFWV9nZXQwX1JTQShrKSwgJm4s ICZlLCBOVUxMKTsKLSsKLSsJCXJldCA9IGxpc3QgKDMsIGJveF9kdl9zaG9ydF9zdHJpbmcgKCJS U0FQdWJsaWNLZXkiKSwgQk5fYm94IChlKSwgQk5fYm94IChuKSk7Ci0gCSAgICAgIH0KLSAJICAg IGVsc2UKLSAjZW5kaWYKLSAjaWZkZWYgRVZQX1BLRVlfRFNBCi0tCSAgICBpZiAoay0+dHlwZSA9 PSBFVlBfUEtFWV9EU0EpCi0rCSAgICBpZiAoRVZQX1BLRVlfaWQoaykgPT0gRVZQX1BLRVlfRFNB KQotIAkgICAgICB7Ci0tCQlEU0EgKnggPSBrLT5wa2V5LmRzYTsKLS0JCXJldCA9IGxpc3QgKDIs IGJveF9kdl9zaG9ydF9zdHJpbmcgKCJEU0FQdWJsaWNLZXkiKSwgQk5fYm94ICh4LT5wdWJfa2V5 KSk7Ci0rCQljb25zdCBCSUdOVU0gKnB1Yl9rZXk7Ci0rCi0rCQlEU0FfZ2V0MF9rZXkoRVZQX1BL RVlfZ2V0MF9EU0EoayksICZwdWJfa2V5LCBOVUxMKTsKLSsJCXJldCA9IGxpc3QgKDIsIGJveF9k dl9zaG9ydF9zdHJpbmcgKCJEU0FQdWJsaWNLZXkiKSwgQk5fYm94IChwdWJfa2V5KSk7Ci0gCSAg ICAgIH0KLSAJICAgIGVsc2UKLSAjZW5kaWYKLUBAIC0xNTY3LDEzICsxNTc5LDEzIEBAIGJpZl9n ZXRfY2VydGlmaWNhdGVfaW5mbyAoY2FkZHJfdCAqIHFzdCwKLSAJaW50IG4sIGksIGxlbjsKLSAJ Y2hhciAqcywgKmRhdGFfcHRyOwotIAlCSU8gKm1lbSA9IEJJT19uZXcgKEJJT19zX21lbSAoKSk7 Ci0tCWZvciAoaSA9IDA7IE5VTEwgIT0gc3ViaiAmJiBpIDwgc2tfWDUwOV9OQU1FX0VOVFJZX251 bShzdWJqLT5lbnRyaWVzKTsgaSsrKQotKwlmb3IgKGkgPSAwOyBOVUxMICE9IHN1YmogJiYgaSA8 IFg1MDlfTkFNRV9lbnRyeV9jb3VudChzdWJqKTsgaSsrKQotIAkgIHsKLS0JICAgIG5lID0gc2tf WDUwOV9OQU1FX0VOVFJZX3ZhbHVlKHN1YmotPmVudHJpZXMsaSk7Ci0tCSAgICBuID0gT0JKX29i ajJuaWQgKG5lLT5vYmplY3QpOwotKwkgICAgbmUgPSBYNTA5X05BTUVfZ2V0X2VudHJ5KHN1Ymos IGkpOwotKwkgICAgbiA9IE9CSl9vYmoybmlkIChYNTA5X05BTUVfRU5UUllfZ2V0X29iamVjdChu ZSkpOwotIAkgICAgaWYgKChuID09IE5JRF91bmRlZikgfHwgKChzID0gKGNoYXIgKikgT0JKX25p ZDJzbiAobikpID09IE5VTEwpKQotIAkgICAgICB7Ci0tCQlpMnRfQVNOMV9PQkpFQ1QgKGJ1ZmZl ciwgc2l6ZW9mIChidWZmZXIpLCBuZS0+b2JqZWN0KTsKLSsJCWkydF9BU04xX09CSkVDVCAoYnVm ZmVyLCBzaXplb2YgKGJ1ZmZlciksIFg1MDlfTkFNRV9FTlRSWV9nZXRfb2JqZWN0KG5lKSk7Ci0g CQlzID0gYnVmZmVyOwotIAkgICAgICB9Ci0gCSAgICBpZiAoIXN0cmNtcCAocywgYXR0cikpCi1A QCAtMTU4Miw5ICsxNTk0LDEwIEBAIGJpZl9nZXRfY2VydGlmaWNhdGVfaW5mbyAoY2FkZHJfdCAq IHFzdCwKLSAJCWJyZWFrOwotIAkgICAgICB9Ci0gCSAgfQotKwotIAlpZiAobmVfcmV0KQotIAkg IHsKLS0JICAgIEFTTjFfU1RSSU5HX3ByaW50IChtZW0sIG5lX3JldC0+dmFsdWUpOwotKwkgICAg QVNOMV9TVFJJTkdfcHJpbnQgKG1lbSwgWDUwOV9OQU1FX0VOVFJZX2dldF9kYXRhKG5lX3JldCkp OwotIAkgICAgbGVuID0gQklPX2dldF9tZW1fZGF0YSAobWVtLCAmZGF0YV9wdHIpOwotIAkgICAg aWYgKGxlbiA+IDAgJiYgZGF0YV9wdHIpCi0gCSAgICAgIHsKLUBAIC0xNjA1LDE3ICsxNjE4LDE3 IEBAIGJpZl9nZXRfY2VydGlmaWNhdGVfaW5mbyAoY2FkZHJfdCAqIHFzdCwKLSAJZGtfc2V0X3Qg c2V0ID0gTlVMTDsKLSAJY2FkZHJfdCB2YWw7Ci0gCUJJTyAqbWVtID0gQklPX25ldyAoQklPX3Nf bWVtICgpKTsKLS0JZm9yIChpID0gMDsgTlVMTCAhPSBzdWJqICYmIGkgPCBza19YNTA5X05BTUVf RU5UUllfbnVtKHN1YmotPmVudHJpZXMpOyBpKyspCi0rCWZvciAoaSA9IDA7IE5VTEwgIT0gc3Vi aiAmJiBpIDwgWDUwOV9OQU1FX2VudHJ5X2NvdW50KHN1YmopOyBpKyspCi0gCSAgewotIAkgICAg dmFsID0gTlVMTDsKLS0JICAgIG5lID0gc2tfWDUwOV9OQU1FX0VOVFJZX3ZhbHVlKHN1YmotPmVu dHJpZXMsaSk7Ci0tCSAgICBuID0gT0JKX29iajJuaWQgKG5lLT5vYmplY3QpOwotKwkgICAgbmUg PSBYNTA5X05BTUVfZ2V0X2VudHJ5KHN1YmosIGkpOwotKwkgICAgbiA9IE9CSl9vYmoybmlkIChY NTA5X05BTUVfRU5UUllfZ2V0X29iamVjdChuZSkpOwotIAkgICAgaWYgKChuID09IE5JRF91bmRl ZikgfHwgKChzID0gKGNoYXIgKikgT0JKX25pZDJzbiAobikpID09IE5VTEwpKQotIAkgICAgICB7 Ci0tCQlpMnRfQVNOMV9PQkpFQ1QgKGJ1ZmZlciwgc2l6ZW9mIChidWZmZXIpLCBuZS0+b2JqZWN0 KTsKLSsJCWkydF9BU04xX09CSkVDVCAoYnVmZmVyLCBzaXplb2YgKGJ1ZmZlciksIFg1MDlfTkFN RV9FTlRSWV9nZXRfb2JqZWN0KG5lKSk7Ci0gCQlzID0gYnVmZmVyOwotIAkgICAgICB9Ci0tCSAg ICBBU04xX1NUUklOR19wcmludCAobWVtLCBuZS0+dmFsdWUpOwotKwkgICAgQVNOMV9TVFJJTkdf cHJpbnQgKG1lbSwgWDUwOV9OQU1FX0VOVFJZX2dldF9kYXRhKG5lKSk7Ci0gCSAgICBsZW4gPSBC SU9fZ2V0X21lbV9kYXRhIChtZW0sICZkYXRhX3B0cik7Ci0gCSAgICBpZiAobGVuID4gMCAmJiBk YXRhX3B0cikKLSAJICAgICAgewotQEAgLTE2MjksMTggKzE2NDIsMjIgQEAgYmlmX2dldF9jZXJ0 aWZpY2F0ZV9pbmZvIChjYWRkcl90ICogcXN0LAotIAkgIH0KLSAJQklPX2ZyZWUgKG1lbSk7Ci0g CXJldCA9IGxpc3RfdG9fYXJyYXkgKGRrX3NldF9ucmV2ZXJzZSAoc2V0KSk7Ci0rCi0gCWJyZWFr OwotICAgICAgIH0KLSAgICAgY2FzZSAxMjoKLSAgICAgICB7Ci0gCWNvbnN0IHVuc2lnbmVkIGNo YXIgKnM7Ci0gCWludCBpLCBuOwotLQljb25zdCBBU04xX1NUUklORyAqc2lnID0gY2VydC0+c2ln bmF0dXJlOwotLQlYNTA5X0FMR09SICpzaWdhbGcgPSBjZXJ0LT5zaWdfYWxnOwotKwljb25zdCBB U04xX1NUUklORyAqc2lnOwotKwljb25zdCBYNTA5X0FMR09SICpzaWdhbGc7Ci0rCWNvbnN0IEFT TjFfT0JKRUNUICpzaWdfYWxnX2FsZ29yaXRobTsKLSAJY2hhciBidWZbODBdOwotIAljYWRkcl90 IHZhbDsKLSAKLS0gICAgICAgIGkydF9BU04xX09CSkVDVChidWYsc2l6ZW9mIChidWYpLCBzaWdh bGctPmFsZ29yaXRobSk7Ci0rCVg1MDlfZ2V0MF9zaWduYXR1cmUoJnNpZywgJnNpZ2FsZywgY2Vy dCk7Ci0rCVg1MDlfQUxHT1JfZ2V0MCgmc2lnX2FsZ19hbGdvcml0aG0sIE5VTEwsIE5VTEwsIHNp Z2FsZyk7Ci0rCWkydF9BU04xX09CSkVDVChidWYsc2l6ZW9mIChidWYpLCBzaWdfYWxnX2FsZ29y aXRobSk7Ci0gCi0gCW4gPSBzaWctPmxlbmd0aDsKLSAJcyA9IHNpZy0+ZGF0YTsKLUBAIC0xNjYw LDExICsxNjc3LDExIEBAIGJpZl9nZXRfY2VydGlmaWNhdGVfaW5mbyAoY2FkZHJfdCAqIHFzdCwK LSAJaWYgKGspCi0gCSAgewotICNpZmRlZiBFVlBfUEtFWV9SU0EKLS0JICAgIGlmIChrLT50eXBl ID09IEVWUF9QS0VZX1JTQSkKLSsJICAgIGlmIChFVlBfUEtFWV9pZChrKSA9PSBFVlBfUEtFWV9S U0EpCi0gCSAgICAgIHsKLSAJCWNoYXIgKmRhdGFfcHRyOwotIAkJaW50IGxlbjsKLS0JCVJTQSAq eCA9IGstPnBrZXkucnNhOwotKwkJUlNBICp4ID0gRVZQX1BLRVlfZ2V0MF9SU0Eoayk7Ci0gCQli ID0gQklPX25ldyAoQklPX3NfbWVtKCkpOwotIAkJaTJkX1JTQV9QVUJLRVlfYmlvIChiLCB4KTsK LSAJCWxlbiA9IEJJT19nZXRfbWVtX2RhdGEgKGIsICZkYXRhX3B0cik7Ci0tLS0gYS9saWJzcmMv V2kveG1sZW5jLmMKLSsrKyBiL2xpYnNyYy9XaS94bWxlbmMuYwotQEAgLTEyMTUsMzYgKzEyMTUs NDUgQEAgdm9pZCB4ZW5jX2tleV9yZW1vdmUgKHhlbmNfa2V5X3QgKiBrZXksCi0gfQotIAotIAot LXN0YXRpYyB2b2lkCi0tZ2VucnNhX2NiKGludCBwLCBpbnQgbiwgdm9pZCAqYXJnKQotLXsKLS0j aWZkZWYgTElOVAotLSAgcD1uOwotLSNlbmRpZgotLX0KLS0KLSBpbnQKLSBfX3hlbmNfa2V5X3Jz YV9pbml0IChjaGFyICpuYW1lKQotIHsKLSAgIFJTQSAqcnNhID0gTlVMTDsKLS0gIGludCBudW09 MTAyNDsKLS0gIHVuc2lnbmVkIGxvbmcgZjQ9UlNBX0Y0OwotKyAgQklHTlVNICpibiA9IE5VTEw7 Ci0gICBpbnQgcjsKLSsKLSAgIHhlbmNfa2V5X3QgKiBwa2V5ID0geGVuY19nZXRfa2V5X2J5X25h bWUgKG5hbWUsIDEpOwotICAgaWYgKE5VTEwgPT0gcGtleSkKLSAgICAgU1FMUl9ORVdfS0VZX0VS Uk9SIChuYW1lKTsKLSAKLS0gIHJzYT1SU0FfZ2VuZXJhdGVfa2V5KG51bSxmNCxnZW5yc2FfY2Is TlVMTCk7Ci0rICByc2EgPSBSU0FfbmV3KCk7Ci0rICBpZiAoIXJzYSkKLSsJICBnb3RvIG91dDsK LSsgIGJuID0gQk5fbmV3KCk7Ci0rICBpZiAoIWJuKQotKwkgIGdvdG8gb3V0OwotKyAgaWYgKCFC Tl9zZXRfd29yZChibiwgUlNBX0Y0KSkKLSsJICBnb3RvIG91dDsKLSsKLSsgIGlmICghUlNBX2dl bmVyYXRlX2tleV9leChyc2EsIDEwMjQsIGJuLCBOVUxMKSkKLSsJICBnb3RvIG91dDsKLSsKLSAg IHIgPSBSU0FfY2hlY2tfa2V5KHJzYSk7Ci0rICBpZiAociAhPSAxKQotKwkgIGdvdG8gb3V0Owot ICAgcGtleS0+a2kucnNhLnBhZCA9IFJTQV9QS0NTMV9QQURESU5HOwotLSAgaWYgKHJzYSA9PSBO VUxMKQotLSAgICB7Ci0tICAgICAgc3Fscl9uZXdfZXJyb3IgKCI0MjAwMCIsICJYRU5DMDYiLAot LQkJICAgICJSU0EgcGFyYW1ldGVycyBnZW5lcmF0aW9uIGVycm9yIik7Ci0tICAgIH0KLSAgIHBr ZXktPnhla19yc2EgPSByc2E7Ci0gICBwa2V5LT54ZWtfcHJpdmF0ZV9yc2EgPSByc2E7Ci0rICBC Tl9mcmVlKGJuKTsKLSAgIHJldHVybiAwOwotK291dDoKLSsgIGlmIChibikKLSsJICBCTl9mcmVl KGJuKTsKLSsgIGlmIChyc2EpCi0rCSAgUlNBX2ZyZWUocnNhKTsKLSsgIHNxbHJfbmV3X2Vycm9y ICgiNDIwMDAiLCAiWEVOQzA2IiwKLSsJCSAgIlJTQSBwYXJhbWV0ZXJzIGdlbmVyYXRpb24gZXJy b3IiKTsKLSsgIHJldHVybiAtMTsKLSB9Ci0gCi0gCi1AQCAtMTQ1NSwxOSArMTQ2NCwxOSBAQCB4 ZW5jX2tleV90ICogeGVuY19rZXlfY3JlYXRlX2Zyb21feDUwOV9jCi0gCi0gICBpZiAocGtleSkK LSAgICAgewotLSAgICAgIHN3aXRjaCAoRVZQX1BLRVlfdHlwZSAocGtleS0+dHlwZSkpCi0rICAg ICAgc3dpdGNoIChFVlBfUEtFWV90eXBlIChFVlBfUEtFWV9pZChwa2V5KSkpCi0gCXsKLSAJY2Fz ZSBFVlBfUEtFWV9EU0E6Ci0gCSAgc2lnbl9hbGdvbmFtZSA9IERTSUdfRFNBX1NIQTFfQUxHTzsK LSAJICBlbmNfYWxnb25hbWUgPSBYRU5DX0RTQV9BTEdPOwotLQkgIGRzYSA9IHBrZXktPnBrZXku ZHNhOwotLQkgIHByaXZhdGVfZHNhID0gcHJpdmF0ZV9rZXkgPyBwcml2YXRlX2tleS0+cGtleS5k c2EgOiAwOwotKwkgIGRzYSA9IEVWUF9QS0VZX2dldDBfRFNBKHBrZXkpOwotKwkgIHByaXZhdGVf ZHNhID0gcHJpdmF0ZV9rZXkgPyBFVlBfUEtFWV9nZXQwX0RTQShwcml2YXRlX2tleSkgOiAwOwot IAkgIGJyZWFrOwotIAljYXNlIEVWUF9QS0VZX1JTQToKLSAJICBzaWduX2FsZ29uYW1lID0gRFNJ R19SU0FfU0hBMV9BTEdPOwotIAkgIGVuY19hbGdvbmFtZSA9IFhFTkNfUlNBX0FMR087Ci0tCSAg cnNhID0gcGtleS0+cGtleS5yc2E7Ci0tCSAgcHJpdmF0ZV9yc2EgPSBwcml2YXRlX2tleSA/IHBy aXZhdGVfa2V5LT5wa2V5LnJzYSA6IDA7Ci0rCSAgcnNhID0gRVZQX1BLRVlfZ2V0MF9SU0EocGtl eSk7Ci0rCSAgcHJpdmF0ZV9yc2EgPSBwcml2YXRlX2tleSA/IEVWUF9QS0VZX2dldDBfUlNBKHBy aXZhdGVfa2V5KSA6IDA7Ci0gCSAgYnJlYWs7Ci0gCWRlZmF1bHQ6Ci0gCSAgZ290byBmaW5pc2g7 Ci1AQCAtMTUxNiwxMyArMTUyNSw2IEBAIHhlbmNfa2V5X3QgKiB4ZW5jX2tleV9jcmVhdGVfZnJv bV94NTA5X2MKLSAgIHJldHVybiBrOwotIH0KLSAKLS1zdGF0aWMgdm9pZCBkaF9jYihpbnQgcCwg aW50IG4sIHZvaWQgKmFyZykKLS17Ci0tI2lmZGVmIExJTlQKLS0gIHA9bjsKLS0jZW5kaWYKLS19 Ci0tCi0gc3RhdGljIC8qeGVuY19rZXlfRFNBX2NyZWF0ZSAqLwotIGNhZGRyX3QgYmlmX3hlbmNf a2V5X2RzYV9jcmVhdGUgKGNhZGRyX3QgKiBxc3QsIGNhZGRyX3QgKiBlcnJfciwgc3RhdGVfc2xv dF90ICoqIGFyZ3MpCi0gewotQEAgLTE1ODgsMTUgKzE1OTAsMjEgQEAgY2FkZHJfdCBiaWZfeGVu Y19rZXlfREhfY3JlYXRlIChjYWRkcl90Ci0gICAgICAgZGggPSBESF9uZXcgKCk7Ci0gICAgICAg Ym5fcCA9IEJOX2JpbjJibiAoKHVuc2lnbmVkIGNoYXIgKiltb2QsIHBfbGVuLCBOVUxMKTsKLSAg ICAgICBibl9nID0gQk5fYmluMmJuIChnX2JpbiwgMSwgTlVMTCk7Ci0tICAgICAgZGgtPnAgPSBi bl9wOwotLSAgICAgIGRoLT5nID0gYm5fZzsKLSsgICAgICBpZiAoZGgpCi0rCSAgICAgIERIX3Nl dDBfcHFnKGRoLCBibl9wLCBOVUxMLCBibl9nKTsKLSAKLSAgICAgICBka19mcmVlX2JveCAobW9k X2I2NCk7Ci0gICAgICAgZGtfZnJlZV9ib3ggKG1vZCk7Ci0gICAgIH0KLSAgIGVsc2UKLSAgICAg ewotLSAgICAgIGRoID0gREhfZ2VuZXJhdGVfcGFyYW1ldGVycyAobnVtLCBnLCBkaF9jYiwgTlVM TCk7Ci0rICAgICAgZGggPSBESF9uZXcoKTsKLSsgICAgICBpZiAoZGgpIHsKLSsJICAgICAgaWYg KCFESF9nZW5lcmF0ZV9wYXJhbWV0ZXJzX2V4KGRoLCBudW0sIGcsIE5VTEwpKSB7Ci0rCQkgICAg ICBESF9mcmVlKGRoKTsKLSsJCSAgICAgIGRoID0gTlVMTDsKLSsJICAgICAgfQotKyAgICAgIH0K LSAgICAgfQotICAgaWYgKCFkaCkKLSAgICAgewotQEAgLTE2MjYsNyArMTYzNCw3IEBAIGNhZGRy X3QgYmlmX3hlbmNfREhfZ2V0X3BhcmFtcyAoY2FkZHJfdAotICAgaW50IG4sIGxlbjsKLSAgIGNh ZGRyX3QgYnVmID0gTlVMTCwgcmV0LCBiNjQ7Ci0gICBESCAqZGg7Ci0tICBCSUdOVU0gKm51bTsK LSsgIGNvbnN0IEJJR05VTSAqbnVtOwotIAotICAgbXV0ZXhfZW50ZXIgKHhlbmNfa2V5c19tdHgp OwotICAga2V5ID0geGVuY19nZXRfa2V5X2J5X25hbWUgKG5hbWUsIDApOwotQEAgLTE2NDEsMTkg KzE2NDksMTkgQEAgY2FkZHJfdCBiaWZfeGVuY19ESF9nZXRfcGFyYW1zIChjYWRkcl90Ci0gICBz d2l0Y2ggKHBhcmFtKQotICAgICB7Ci0gICAJY2FzZSAxOgotLQkgbnVtID0gZGgtPnA7Ci0rCSBE SF9nZXQwX3BxZyhkaCwgJm51bSwgTlVMTCwgTlVMTCk7Ci0gCSBicmVhazsKLSAJY2FzZSAyOgot LQkgbnVtID0gZGgtPmc7Ci0rCSBESF9nZXQwX3BxZyhkaCwgTlVMTCwgTlVMTCwgJm51bSk7Ci0g CSBicmVhazsKLSAJY2FzZSAzOgotLQkgbnVtID0gZGgtPnB1Yl9rZXk7Ci0rCSBESF9nZXQwX2tl eShkaCwgJm51bSwgTlVMTCk7Ci0gCSBicmVhazsKLSAJY2FzZSA0OgotLQkgbnVtID0gZGgtPnBy aXZfa2V5OwotKwkgREhfZ2V0MF9rZXkoZGgsIE5VTEwsICZudW0pOwotIAkgYnJlYWs7Ci0gCWRl ZmF1bHQ6Ci0tCSBudW0gPSBkaC0+cHViX2tleTsKLSsJIERIX2dldDBfa2V5KGRoLCAmbnVtLCBO VUxMKTsKLSAgICAgfQotIAotICAgYnVmX2xlbiA9IChzaXplX3QpQk5fbnVtX2J5dGVzKG51bSk7 Ci1AQCAtMTgxMSw3ICsxODE5LDE1IEBAIGNhZGRyX3QgYmlmX3hlbmNfa2V5X3JzYV9jcmVhdGUg KGNhZGRyX3QKLSAgIHhlbmNfa2V5X3QgKiBrOwotICAgY2FkZHJfdCBuYW1lID0gYmlmX3N0cmlu Z19hcmcgKHFzdCwgYXJncywgMCwgInhlbmNfa2V5X1JTQV9jcmVhdGUiKTsKLSAgIGludCBudW0g PSAoaW50KSBiaWZfbG9uZ19hcmcgKHFzdCwgYXJncywgMSwgInhlbmNfa2V5X1JTQV9jcmVhdGUi KTsKLS0gIFJTQSAqcnNhID0gTlVMTDsKLSsgIFJTQSAqcnNhOwotKyAgQklHTlVNICpibjsKLSsK LSsgIHJzYSA9IFJTQV9uZXcoKTsKLSsgIGJuID0gQk5fbmV3KCk7Ci0rICBpZiAoIXJzYSB8fCAh Ym4pCi0rCWdvdG8gb3V0OwotKyAgaWYgKCFCTl9zZXRfd29yZChibiwgUlNBX0Y0KSkKLSsJZ290 byBvdXQ7Ci0gCi0gICBtdXRleF9lbnRlciAoeGVuY19rZXlzX210eCk7Ci0gICBpZiAoTlVMTCA9 PSAoayA9IHhlbmNfa2V5X2NyZWF0ZSAobmFtZSwgWEVOQ19SU0FfQUxHTyAsIERTSUdfUlNBX1NI QTFfQUxHTywgMCkpKQotQEAgLTE4MjAsMTIgKzE4MzYsMTEgQEAgY2FkZHJfdCBiaWZfeGVuY19r ZXlfcnNhX2NyZWF0ZSAoY2FkZHJfdAotICAgICAgIFNRTFJfTkVXX0tFWV9FWElTVF9FUlJPUiAo bmFtZSk7Ci0gICAgIH0KLSAKLS0gIHJzYSA9IFJTQV9nZW5lcmF0ZV9rZXkgKG51bSwgUlNBX0Y0 LCBOVUxMLCBOVUxMKTsKLS0KLS0gIGlmIChyc2EgPT0gTlVMTCkKLS0gICAgewotLSAgICAgIHNx bHJfbmV3X2Vycm9yICgiNDIwMDAiLCAiWEVOQzA2IiwgIlJTQSBnZW5lcmF0aW9uIGVycm9yIik7 Ci0tICAgIH0KLSsgIGlmICghUlNBX2dlbmVyYXRlX2tleV9leCAocnNhLCBudW0sIGJuLCBOVUxM KSkgewotKwkgIG11dGV4X2xlYXZlICh4ZW5jX2tleXNfbXR4KTsKLSsJICBnb3RvIG91dDsKLSsg IH0KLSsgIEJOX2ZyZWUoYm4pOwotIAotICAgay0+eGVrX3JzYSA9IFJTQVB1YmxpY0tleV9kdXAg KHJzYSk7Ci0gICBrLT54ZWtfcHJpdmF0ZV9yc2EgPSByc2E7Ci1AQCAtMTgzOSw2ICsxODU0LDEz IEBAIGNhZGRyX3QgYmlmX3hlbmNfa2V5X3JzYV9jcmVhdGUgKGNhZGRyX3QKLSAKLSAgIG11dGV4 X2xlYXZlICh4ZW5jX2tleXNfbXR4KTsKLSAgIHJldHVybiBOVUxMOwotK291dDoKLSsgIGlmIChi bikKLSsJICBCTl9mcmVlKGJuKTsKLSsgIGlmIChyc2EpCi0rCSAgUlNBX2ZyZWUocnNhKTsKLSsg IHNxbHJfbmV3X2Vycm9yICgiNDIwMDAiLCAiWEVOQzA2IiwgIlJTQSBnZW5lcmF0aW9uIGVycm9y Iik7Ci0rICByZXR1cm4gTlVMTDsKLSB9Ci0gCi0geGVuY19rZXlfdCAqCi1AQCAtMjAzNCw3ICsy MDU2LDEzIEBAIGludCBfX3hlbmNfa2V5X2RzYV9pbml0IChjaGFyICpuYW1lLCBpbnQKLSAgICAg U1FMUl9ORVdfS0VZX0VSUk9SIChuYW1lKTsKLSAKLSAgIFJBTkRfcG9sbCAoKTsKLS0gIGRzYSA9 IERTQV9nZW5lcmF0ZV9wYXJhbWV0ZXJzKG51bSwgTlVMTCwgMCwgTlVMTCwgTlVMTCwgZGhfY2Is IE5VTEwpOwotKyAgZHNhID0gRFNBX25ldygpOwotKyAgaWYgKGRzYSkgewotKwkgIGlmICghRFNB X2dlbmVyYXRlX3BhcmFtZXRlcnNfZXgoZHNhLCBudW0sIE5VTEwsIDAsIE5VTEwsIE5VTEwsIE5V TEwpKSB7Ci0rCQkgIERTQV9mcmVlKGRzYSk7Ci0rCQkgIGRzYSA9IE5VTEw7Ci0rCSAgfQotKyAg fQotICAgaWYgKGRzYSA9PSBOVUxMKQotICAgICB7Ci0gICAgICAgc3Fscl9uZXdfZXJyb3IgKCI0 MjAwMCIsICJYRU5DMTEiLAotQEAgLTIwNTgsNyArMjA4NiwxMyBAQCBpbnQgX194ZW5jX2tleV9k aF9pbml0IChjaGFyICpuYW1lLCBpbnQKLSAgIGlmIChOVUxMID09IHBrZXkpCi0gICAgIFNRTFJf TkVXX0tFWV9FUlJPUiAobmFtZSk7Ci0gCi0tICBkaCA9IERIX2dlbmVyYXRlX3BhcmFtZXRlcnMg KG51bSwgZywgZGhfY2IsIE5VTEwpOwotKyAgZGggPSBESF9uZXcoKTsKLSsgIGlmIChkaCkgewot KwkgIGlmICghREhfZ2VuZXJhdGVfcGFyYW1ldGVyc19leChkaCwgbnVtLCBnLCBOVUxMKSkgewot KwkJICBESF9mcmVlKGRoKTsKLSsJCSAgZGggPSBOVUxMOwotKwkgIH0KLSsgIH0KLSAgIGlmICgh ZGgpCi0gICAgIHsKLSAgICAgICBzcWxyX25ld19lcnJvciAoIjQyMDAwIiwgIlhFTkMxMSIsCi1A QCAtMjI4MCwxMiArMjMxNCwxMiBAQCBiaWZfeGVuY19rZXlfcnNhX3JlYWQgKGNhZGRyX3QgKiBx c3QsIGNhCi0gICAgIHsKLSAgICAgICBpbiA9IEJJT19uZXdfbWVtX2J1ZiAoa2V5X2Jhc2U2NCwg bGVuKTsKLSAgICAgICBwa2V5ID0gZDJpX1BVQktFWV9iaW8gKGluLCBOVUxMKTsKLS0gICAgICBp ZiAocGtleSAmJiBwa2V5LT50eXBlID09IEVWUF9QS0VZX1JTQSkKLS0JcCA9IHBrZXktPnBrZXku cnNhOwotKyAgICAgIGlmIChwa2V5ICYmIEVWUF9QS0VZX2lkKHBrZXkpID09IEVWUF9QS0VZX1JT QSkKLSsJcCA9IEVWUF9QS0VZX2dldDBfUlNBKHBrZXkpOwotICAgICAgIEJJT19yZXNldCAoaW4p OwotICAgICAgIHBra2V5ID0gZDJpX1ByaXZhdGVLZXlfYmlvIChpbiwgTlVMTCk7Ci0tICAgICAg aWYgKHBra2V5ICYmIHBra2V5LT50eXBlID09IEVWUF9QS0VZX1JTQSkKLS0JciA9IHBra2V5LT5w a2V5LnJzYTsKLSsgICAgICBpZiAocGtrZXkgJiYgRVZQX1BLRVlfaWQocGtrZXkpID09IEVWUF9Q S0VZX1JTQSkKLSsJciA9IEVWUF9QS0VZX2dldDBfUlNBKHBra2V5KTsKLSAgICAgICBCSU9fZnJl ZSAoaW4pOwotICAgICB9Ci0gICBlbHNlCi1AQCAtMjMwNCw5ICsyMzM4LDExIEBAIGJpZl94ZW5j X2tleV9yc2FfcmVhZCAoY2FkZHJfdCAqIHFzdCwgY2EKLSAKLSAgIGlmICghcCkKLSAgICAgewot KyAgICAgIGNvbnN0IEJJR05VTSAqbiwgKmU7Ci0rCi0rICAgICAgUlNBX2dldDBfa2V5KHIsICZu LCAmZSwgTlVMTCk7Ci0gICAgICAgcCA9IFJTQV9uZXcgKCk7Ci0tICAgICAgcC0+biA9IEJOX2R1 cCAoci0+bik7Ci0tICAgICAgcC0+ZSA9IEJOX2R1cCAoci0+ZSk7Ci0rICAgICAgUlNBX3NldDBf a2V5KHAsIEJOX2R1cChuKSwgQk5fZHVwKGUpLCBOVUxMKTsKLSAgICAgfQotIAotICAgbXV0ZXhf ZW50ZXIgKHhlbmNfa2V5c19tdHgpOwotQEAgLTIzNTUsMTQgKzIzOTEsMTMgQEAgYmlmX3hlbmNf a2V5X3JzYV9jb25zdHJ1Y3QgKGNhZGRyX3QgKiBxcwotICAgcCA9IFJTQV9uZXcgKCk7Ci0gICBu ID0gQk5fYmluMmJuICgodW5zaWduZWQgY2hhciAqKSBtb2QsIGJveF9sZW5ndGggKG1vZCkgLSAx LCBOVUxMKTsKLSAgIGUgPSBCTl9iaW4yYm4gKCh1bnNpZ25lZCBjaGFyICopIGV4cCwgYm94X2xl bmd0aCAoZXhwKSAtIDEsIE5VTEwpOwotLSAgcC0+biA9IG47Ci0tICBwLT5lID0gZTsKLSsgIFJT QV9zZXQwX2tleShwLCBuLCBlLCBOVUxMKTsKLSAgIGlmIChwZXhwKQotICAgICB7Ci0gICAgICAg cGsgPSBSU0FfbmV3ICgpOwotLSAgICAgIHBrLT5kID0gQk5fYmluMmJuICgodW5zaWduZWQgY2hh ciAqKSBwZXhwLCBib3hfbGVuZ3RoIChwZXhwKSAtIDEsIE5VTEwpOwotLSAgICAgIHBrLT5uID0g Qk5fZHVwIChuKTsKLS0gICAgICBway0+ZSA9IEJOX2R1cCAoZSk7Ci0rICAgICAgUlNBX3NldDBf a2V5KHAsIEJOX2R1cChuKSwKLSsJCSAgICAgIEJOX2R1cChlKSwKLSsJCSAgICAgIEJOX2JpbjJi biAoKHVuc2lnbmVkIGNoYXIgKikgcGV4cCwgYm94X2xlbmd0aCAocGV4cCkgLSAxLCBOVUxMKSk7 Ci0gICAgIH0KLSAgIG11dGV4X2VudGVyICh4ZW5jX2tleXNfbXR4KTsKLSAgIGsgPSB4ZW5jX2tl eV9jcmVhdGUgKG5hbWUsIFhFTkNfUlNBX0FMR08sIERTSUdfUlNBX1NIQTFfQUxHTywgMCk7Ci1A QCAtNDA4Niw3ICs0MTIxLDcgQEAgdm9pZCB4ZW5jX3RhZ19mcmVlICh4ZW5jX3RhZ190ICogdCkK LSAjZW5kaWYKLSB9Ci0gCi0teGVuY190YWdfdCAqIHhlbmNfdGFnX2FkZF9jaGlsZF9CTiAoeGVu Y190YWdfdCAqIHRhZywgQklHTlVNICogYm4pCi0rc3RhdGljIHhlbmNfdGFnX3QgKiB4ZW5jX3Rh Z19hZGRfY2hpbGRfQk4gKHhlbmNfdGFnX3QgKiB0YWcsIGNvbnN0IEJJR05VTSAqIGJuKQotIHsK LSAgY2hhciAqIGJ1ZmZlciA9IGRrX2FsbG9jX2JveCAoQk5fbnVtX2J5dGVzIChibiksIERWX0JJ Tik7Ci0gIGNoYXIgKiBidWZmZXJfYmFzZTY0ID0gZGtfYWxsb2NfYm94IChib3hfbGVuZ3RoIChi dWZmZXIpICogMiwgRFZfU1RSSU5HKTsKLUBAIC00MTExLDEyICs0MTQ2LDE1IEBAIGNhZGRyX3Qg KiogeGVuY19nZW5lcmF0ZV9leHRfaW5mbyAoeGVuY18KLSAgIGNhZGRyX3QgKiogYXJyYXk7Ci0g ICBpZiAoa2V5LT54ZWtfdHlwZSA9PSBEU0lHX0tFWV9SU0EpCi0gICAgIHsKLSsgICAgICBjb25z dCBCSUdOVU0gKnJzYV9uLCAqcnNhX2U7Ci0rCi0rICAgICAgUlNBX2dldDBfa2V5KGtleS0+a2ku cnNhLnJzYV9zdCwgJnJzYV9uLCAmcnNhX2UsIE5VTEwpOwotICAgICAgIHhlbmNfdGFnX3QgKiBy c2FrZXl2YWwgPSB4ZW5jX3RhZ19jcmVhdGUgKERTSUdfVVJJLCAiOlJTQUtleVZhbHVlIik7Ci0g ICAgICAgeGVuY190YWdfdCAqIHJzYW1vZHVsdXMgPSB4ZW5jX3RhZ19jcmVhdGUgKERTSUdfVVJJ LCAiOk1vZHVsdXMiKTsKLSAgICAgICB4ZW5jX3RhZ190ICogcnNhZXhwb25lbnQgPSB4ZW5jX3Rh Z19jcmVhdGUgKERTSUdfVVJJLCAiOkV4cG9uZW50Iik7Ci0gCi0tICAgICAgeGVuY190YWdfYWRk X2NoaWxkX0JOIChyc2Ftb2R1bHVzLCBrZXktPmtpLnJzYS5yc2Ffc3QtPm4pOwotLSAgICAgIHhl bmNfdGFnX2FkZF9jaGlsZF9CTiAocnNhZXhwb25lbnQsIGtleS0+a2kucnNhLnJzYV9zdC0+ZSk7 Ci0rICAgICAgeGVuY190YWdfYWRkX2NoaWxkX0JOIChyc2Ftb2R1bHVzLCByc2Ffbik7Ci0rICAg ICAgeGVuY190YWdfYWRkX2NoaWxkX0JOIChyc2FleHBvbmVudCwgcnNhX2UpOwotIAotICAgICAg IHhlbmNfdGFnX2FkZF9jaGlsZCAocnNha2V5dmFsLCB4ZW5jX3RhZ19maW5hbGl6ZSAocnNhbW9k dWx1cykpOwotICAgICAgIHhlbmNfdGFnX2FkZF9jaGlsZCAocnNha2V5dmFsLCB4ZW5jX3RhZ19m aW5hbGl6ZSAocnNhZXhwb25lbnQpKTsKLUBAIC00MTM1LDEyICs0MTczLDE1IEBAIGNhZGRyX3Qg KiogeGVuY19nZW5lcmF0ZV9leHRfaW5mbyAoeGVuY18KLSAgICAgICB4ZW5jX3RhZ190ICogZyA9 IHhlbmNfdGFnX2NyZWF0ZSAoRFNJR19VUkksICI6RyIpOwotICAgICAgIHhlbmNfdGFnX3QgKiB5 ID0geGVuY190YWdfY3JlYXRlIChEU0lHX1VSSSwgIjpZIik7Ci0gICAgICAgRFNBICogZHNhID0g a2V5LT5raS5kc2EuZHNhX3N0OwotKyAgICAgIGNvbnN0IEJJR05VTSAqZHNhX3AsICpkc2FfcSwg KmRzYV9nLCAqZHNhX3B1Yl9rZXk7Ci0gCi0rICAgICAgRFNBX2dldDBfcHFnKGRzYSwgJmRzYV9w LCAmZHNhX3EsICZkc2FfZyk7Ci0rICAgICAgRFNBX2dldDBfa2V5KGRzYSwgJmRzYV9wdWJfa2V5 LCBOVUxMKTsKLSAKLS0gICAgICB4ZW5jX3RhZ19hZGRfY2hpbGRfQk4gKHAsIGRzYS0+cCk7Ci0t ICAgICAgeGVuY190YWdfYWRkX2NoaWxkX0JOIChwLCBkc2EtPnEpOwotLSAgICAgIHhlbmNfdGFn X2FkZF9jaGlsZF9CTiAocCwgZHNhLT5nKTsKLS0gICAgICB4ZW5jX3RhZ19hZGRfY2hpbGRfQk4g KHAsIGRzYS0+cHViX2tleSk7Ci0rICAgICAgeGVuY190YWdfYWRkX2NoaWxkX0JOIChwLCBkc2Ff cCk7Ci0rICAgICAgeGVuY190YWdfYWRkX2NoaWxkX0JOIChwLCBkc2FfcSk7Ci0rICAgICAgeGVu Y190YWdfYWRkX2NoaWxkX0JOIChwLCBkc2FfZyk7Ci0rICAgICAgeGVuY190YWdfYWRkX2NoaWxk X0JOIChwLCBkc2FfcHViX2tleSk7Ci0gCi0gICAgICAgeGVuY190YWdfYWRkX2NoaWxkIChkc2Fr ZXl2YWwsIHhlbmNfdGFnX2ZpbmFsaXplIChwKSk7Ci0gICAgICAgeGVuY190YWdfYWRkX2NoaWxk IChkc2FrZXl2YWwsIHhlbmNfdGFnX2ZpbmFsaXplIChxKSk7Ci1AQCAtNjE4Nyw3ICs2MjI4LDcg QEAgY2FkZHJfdCB4ZW5jX3g1MDlfZ2V0X2tleV9pZGVudGlmaWVyIChYNQotIAotICAgcmV0ID0g ZGtfYWxsb2NfYm94IChpa2V5aWQtPmxlbmd0aCwgRFZfQklOKTsKLSAgIG1lbWNweSAocmV0LCBp a2V5aWQtPmRhdGEsIGlrZXlpZC0+bGVuZ3RoKTsKLS0gIE1fQVNOMV9PQ1RFVF9TVFJJTkdfZnJl ZShpa2V5aWQpOwotKyAgQVNOMV9TVFJJTkdfZnJlZShpa2V5aWQpOwotICAgcmV0dXJuIHJldDsK LSB9Ci0gCi1AQCAtNjI0Nyw3ICs2Mjg4LDcgQEAgYmlmX3g1MDlfZ2V0X3N1YmplY3QgKGNhZGRy X3QgKiBxc3QsIGNhZAotIAotICAgcmV0ID0gZGtfYWxsb2NfYm94IChpa2V5aWQtPmxlbmd0aCwg RFZfQklOKTsKLSAgIG1lbWNweSAocmV0LCBpa2V5aWQtPmRhdGEsIGlrZXlpZC0+bGVuZ3RoKTsK LS0gIE1fQVNOMV9PQ1RFVF9TVFJJTkdfZnJlZShpa2V5aWQpOwotKyAgQVNOMV9TVFJJTkdfZnJl ZShpa2V5aWQpOwotICAgcmV0dXJuIHJldDsKLSB9Ci0gCi1AQCAtNjgwNiw3ICs2ODQ3LDcgQEAg YmlmX3hlbmNfeDUwOV9jc3JfZ2VuZXJhdGUgKGNhZGRyX3QgKiBxcwotIAlza19YNTA5X0VYVEVO U0lPTl9wdXNoKHN0X2V4dHMsIGV4KTsKLSAgICAgfQotICAgWDUwOV9SRVFfYWRkX2V4dGVuc2lv bnMoeCwgc3RfZXh0cyk7Ci0tICBpZiAoIVg1MDlfUkVRX3NpZ24gKHgsIHBrLCAocGstPnR5cGUg PT0gRVZQX1BLRVlfUlNBID8gRVZQX21kNSgpIDogRVZQX2RzczEoKSkpKQotKyAgaWYgKCFYNTA5 X1JFUV9zaWduICh4LCBwaywgKEVWUF9QS0VZX2lkKHBrKSA9PSBFVlBfUEtFWV9SU0EgPyBFVlBf bWQ1KCkgOiBFVlBfc2hhMSgpKSkpCi0gICAgIHsKLSAgICAgICBwayA9IE5VTEw7IC8qIGtlZXAg b25lIGluIHRoZSB4ZW5jX2tleSAqLwotICAgICAgICplcnJfcmV0ID0gc3J2X21ha2VfbmV3X2Vy cm9yICgiNDIwMDAiLCAiWEVDWFgiLCAiQ2FuIG5vdCBzaWduIGNlcnRpZmljYXRlIDogJXMiLCBn ZXRfc3NsX2Vycm9yX3RleHQgKGJ1Ziwgc2l6ZW9mIChidWYpKSk7Ci1AQCAtNjk0NSwxNyArNjk4 NiwxNyBAQCBiaWZfeGVuY194NTA5X2Zyb21fY3NyIChjYWRkcl90ICogcXN0LCBjCi0gICAgICAg KmVycl9yZXQgPSBzcnZfbWFrZV9uZXdfZXJyb3IgKCI0MjAwMCIsICJYRUNYWCIsICJDYW4gbm90 IHNpZ24gY2VydGlmaWNhdGUiKTsKLSAgICAgICBnb3RvIGVycjsKLSAgICAgfQotLSAgc3dpdGNo IChFVlBfUEtFWV90eXBlIChjbGlfcGstPnR5cGUpKQotKyAgc3dpdGNoIChFVlBfUEtFWV90eXBl IChFVlBfUEtFWV9pZChjbGlfcGspKSkKLSAgICAgewotICAgICAgIGNhc2UgRVZQX1BLRVlfRFNB OgotIAkgIHNpZ25fYWxnb25hbWUgPSBEU0lHX0RTQV9TSEExX0FMR087Ci0gCSAgZW5jX2FsZ29u YW1lID0gWEVOQ19EU0FfQUxHTzsKLS0JICBkc2EgPSBjbGlfcGstPnBrZXkuZHNhOwotKwkgIGRz YSA9IEVWUF9QS0VZX2dldDBfRFNBKGNsaV9wayk7Ci0gCSAgYnJlYWs7Ci0gICAgICAgY2FzZSBF VlBfUEtFWV9SU0E6Ci0gCSAgc2lnbl9hbGdvbmFtZSA9IERTSUdfUlNBX1NIQTFfQUxHTzsKLSAJ ICBlbmNfYWxnb25hbWUgPSBYRU5DX1JTQV9BTEdPOwotLQkgIHJzYSA9IGNsaV9way0+cGtleS5y c2E7Ci0rCSAgcnNhID0gRVZQX1BLRVlfZ2V0MF9SU0EoY2xpX3BrKTsKLSAJICBicmVhazsKLSAg ICAgICBkZWZhdWx0OgotIAkgICplcnJfcmV0ID0gc3J2X21ha2VfbmV3X2Vycm9yICgiNDIwMDAi LCAiWEVDWFgiLCAiVGhlIHR5cGUgb2YgcHVibGljIGtleSBpcyBub3Qgc3VwcG9ydGVkIG11cyB0 YmUgUlNBIG9yIERTQSIpOwotQEAgLTcwMzIsMTkgKzcwNzMsMTkgQEAgYmlmX3hlbmNfcGtjczEy X2V4cG9ydCAoY2FkZHJfdCAqIHFzdCwgYwotICAgaWYgKGV4cG9ydF9jaGFpbikKLSAgICAgewot ICAgICAgIGludCBpOwotLSAgICAgIFg1MDlfU1RPUkVfQ1RYIHN0b3JlX2N0eDsKLS0gICAgICBY NTA5X1NUT1JFX0NUWF9pbml0ICgmc3RvcmVfY3R4LCBDQV9jZXJ0cywgeCwgTlVMTCk7Ci0tICAg ICAgaWYgKFg1MDlfdmVyaWZ5X2NlcnQgKCZzdG9yZV9jdHgpID4gMCkKLS0JY2hhaW4gPSBYNTA5 X1NUT1JFX0NUWF9nZXQxX2NoYWluICgmc3RvcmVfY3R4KTsKLSsgICAgICBYNTA5X1NUT1JFX0NU WCAqY3R4OwotKyAgICAgIFg1MDlfU1RPUkVfQ1RYX2luaXQgKGN0eCwgQ0FfY2VydHMsIHgsIE5V TEwpOwotKyAgICAgIGlmIChYNTA5X3ZlcmlmeV9jZXJ0IChjdHgpID4gMCkKLSsJY2hhaW4gPSBY NTA5X1NUT1JFX0NUWF9nZXQxX2NoYWluIChjdHgpOwotICAgICAgIGVsc2UKLSAJewotIAkgIGNv bnN0IGNoYXIgKmVycl9zdHI7Ci0tCSAgZXJyX3N0ciA9IFg1MDlfdmVyaWZ5X2NlcnRfZXJyb3Jf c3RyaW5nIChzdG9yZV9jdHguZXJyb3IpOwotKwkgIGVycl9zdHIgPSBYNTA5X3ZlcmlmeV9jZXJ0 X2Vycm9yX3N0cmluZyAoWDUwOV9TVE9SRV9DVFhfZ2V0X2Vycm9yKGN0eCkpOwotIAkgICplcnJf cmV0ID0gc3J2X21ha2VfbmV3X2Vycm9yICgiMjIwMjMiLCAiWEVOQ1giLCAiWDUwOSBlcnJvcjog JXMiLCBlcnJfc3RyKTsKLS0JICBYNTA5X1NUT1JFX0NUWF9jbGVhbnVwICgmc3RvcmVfY3R4KTsK LSsJICBYNTA5X1NUT1JFX0NUWF9jbGVhbnVwIChjdHgpOwotIAkgIGdvdG8gZXJyOwotIAl9Ci0t ICAgICAgWDUwOV9TVE9SRV9DVFhfY2xlYW51cCAoJnN0b3JlX2N0eCk7Ci0rICAgICAgWDUwOV9T VE9SRV9DVFhfY2xlYW51cCAoY3R4KTsKLSAgICAgICBpZiAoY2hhaW4pCi0gCXsKLSAJICBjZXJ0 cyA9IHNrX1g1MDlfbmV3X251bGwgKCk7Ci1AQCAtNzE1MiwxNiArNzE5MywxNiBAQCBiaWZfeGVu Y19wdWJrZXlfcGVtX2V4cG9ydCAoY2FkZHJfdCAqIHFzCi0gICAgIHsKLSAgICAgICBrID0gWDUw OV9nZXRfcHVia2V5IChrZXktPnhla194NTA5KTsKLSAjaWZkZWYgRVZQX1BLRVlfUlNBCi0tICAg ICAgaWYgKGstPnR5cGUgPT0gRVZQX1BLRVlfUlNBKQotKyAgICAgIGlmIChFVlBfUEtFWV9pZChr KSA9PSBFVlBfUEtFWV9SU0EpCi0gCXsKLS0JICBSU0EgKiB4ID0gay0+cGtleS5yc2E7Ci0rCSAg UlNBICp4ID0gRVZQX1BLRVlfZ2V0MF9SU0Eoayk7Ci0gCSAgUEVNX3dyaXRlX2Jpb19SU0FfUFVC S0VZIChiLCB4KTsKLSAJfQotICNlbmRpZgotICNpZmRlZiBFVlBfUEtFWV9EU0EKLS0gICAgICBp ZiAoay0+dHlwZSA9PSBFVlBfUEtFWV9EU0EpCi0rICAgICAgaWYgKEVWUF9QS0VZX2lkKGspID09 IEVWUF9QS0VZX0RTQSkKLSAJewotLQkgIERTQSAqIHggPSBrLT5wa2V5LmRzYTsKLSsJICBEU0Eg KiB4ID0gRVZQX1BLRVlfZ2V0MF9EU0Eoayk7Ci0gCSAgUEVNX3dyaXRlX2Jpb19EU0FfUFVCS0VZ IChiLCB4KTsKLSAJfQotICNlbmRpZgotQEAgLTcyMDgsMTYgKzcyNDksMTYgQEAgYmlmX3hlbmNf cHVia2V5X2Rlcl9leHBvcnQgKGNhZGRyX3QgKiBxcwotICAgICB7Ci0gICAgICAgayA9IFg1MDlf Z2V0X3B1YmtleSAoa2V5LT54ZWtfeDUwOSk7Ci0gI2lmZGVmIEVWUF9QS0VZX1JTQQotLSAgICAg IGlmIChrLT50eXBlID09IEVWUF9QS0VZX1JTQSkKLSsgICAgICBpZiAoRVZQX1BLRVlfaWQoaykg PT0gRVZQX1BLRVlfUlNBKQotIAl7Ci0tCSAgUlNBICogeCA9IGstPnBrZXkucnNhOwotKwkgIFJT QSAqIHggPSBFVlBfUEtFWV9nZXQwX1JTQShrKTsKLSAJICBpMmRfUlNBX1BVQktFWV9iaW8gKGIs IHgpOwotIAl9Ci0gI2VuZGlmCi0gI2lmZGVmIEVWUF9QS0VZX0RTQQotLSAgICAgIGlmIChrLT50 eXBlID09IEVWUF9QS0VZX0RTQSkKLSsgICAgICBpZiAoRVZQX1BLRVlfaWQoaykgPT0gRVZQX1BL RVlfRFNBKQotIAl7Ci0tCSAgRFNBICogeCA9IGstPnBrZXkuZHNhOwotKwkgIERTQSAqIHggPSBF VlBfUEtFWV9nZXQwX0RTQShrKTsKLSAJICBpMmRfRFNBX1BVQktFWV9iaW8gKGIsIHgpOwotIAl9 Ci0gI2VuZGlmCi1AQCAtNzI0NSw3ICs3Mjg2LDcgQEAgZXJyOgotIH0KLSAKLSBzdGF0aWMgY2Fk ZHJfdAotLUJOMmJpbmJveCAoQklHTlVNICogeCkKLStCTjJiaW5ib3ggKGNvbnN0IEJJR05VTSAq IHgpCi0gewotICAgc2l6ZV90IGJ1Zl9sZW4sIG47Ci0gICBjYWRkcl90IGJ1ZjsKLUBAIC03Mjgw LDggKzczMjEsMTQgQEAgc3RhdGljIGNhZGRyX3QKLSB4ZW5jX3JzYV9wdWJfbWFnaWMgKFJTQSAq IHgpCi0gewotICAgY2FkZHJfdCByZXQ7Ci0tICBjYWRkcl90IG4gPSBCTjJiaW5ib3ggKHgtPm4p OyAvKiBtb2R1bHVzICovCi0tICBjYWRkcl90IGUgPSBCTjJiaW5ib3ggKHgtPmUpOyAvKiBwdWJs aWMgZXhwb25lbnQgKi8KLSsgIGNhZGRyX3QgbjsKLSsgIGNhZGRyX3QgZTsKLSsgIGNvbnN0IEJJ R05VTSAqcnNhX24sICpyc2FfZTsKLSsKLSsgIFJTQV9nZXQwX2tleSh4LCAmcnNhX24sICZyc2Ff ZSwgTlVMTCk7Ci0rICBuID0gQk4yYmluYm94IChyc2Ffbik7IC8qIG1vZHVsdXMgKi8KLSsgIGUg PSBCTjJiaW5ib3ggKHJzYV9lKTsgLyogcHVibGljIGV4cG9uZW50ICovCi0rCi0gICBuID0geGVu Y19lbmNvZGVfYmFzZTY0X2JpbmJveCAobiwgMSk7Ci0gICBlID0geGVuY19lbmNvZGVfYmFzZTY0 X2JpbmJveCAoZSwgMSk7Ci0gICByZXQgPSBka19hbGxvY19ib3ggKGJveF9sZW5ndGggKG4pICsg Ym94X2xlbmd0aCAoZSkgKyA0IC8qIHR3byBkb3RzIC0gb25lIHRyYWlsaW5nIHplcm8gKyBSU0Eg cHJlZml4ICovLCBEVl9TVFJJTkcpOwotQEAgLTczMDYsOSArNzM1Myw5IEBAIGJpZl94ZW5jX3B1 YmtleV9tYWdpY19leHBvcnQgKGNhZGRyX3QgKgotICAgICB7Ci0gICAgICAgayA9IFg1MDlfZ2V0 X3B1YmtleSAoa2V5LT54ZWtfeDUwOSk7Ci0gI2lmZGVmIEVWUF9QS0VZX1JTQQotLSAgICAgIGlm IChrLT50eXBlID09IEVWUF9QS0VZX1JTQSkKLSsgICAgICBpZiAoRVZQX1BLRVlfaWQoaykgPT0g RVZQX1BLRVlfUlNBKQotIAl7Ci0tCSAgUlNBICogeCA9IGstPnBrZXkucnNhOwotKwkgIFJTQSAq IHggPSBFVlBfUEtFWV9nZXQwX1JTQShrKTsKLSAJICByZXQgPSB4ZW5jX3JzYV9wdWJfbWFnaWMg KHgpOwotIAl9Ci0gI2VuZGlmCi1AQCAtNzM0OSwxMCArNzM5NiwxNiBAQCBzdGF0aWMgY2FkZHJf dAotIHhlbmNfcnNhX3B1Yl9zc2hfZXhwb3J0IChSU0EgKiB4KQotIHsKLSAgIHN0YXRpYyBjaGFy ICogc3NoX2hlYWRlciA9ICJceDAwXHgwMFx4MDBceDA3c3NoLXJzYSI7Ci0rICBjb25zdCBCSUdO VU0gKnJzYV9uLCAqcnNhX2U7Ci0gICBjYWRkcl90IHJldDsKLSAgIGludCBsZW4sIHBvczsKLS0g IGNhZGRyX3QgbiA9IEJOMmJpbmJveCAoeC0+bik7IC8qIG1vZHVsdXMgKi8KLS0gIGNhZGRyX3Qg ZSA9IEJOMmJpbmJveCAoeC0+ZSk7IC8qIHB1YmxpYyBleHBvbmVudCAqLwotKyAgY2FkZHJfdCBu OwotKyAgY2FkZHJfdCBlOwotKwotKyAgUlNBX2dldDBfa2V5KHgsICZyc2FfbiwgJnJzYV9lLCBO VUxMKTsKLSsgIG4gPSBCTjJiaW5ib3ggKHJzYV9uKTsgLyogbW9kdWx1cyAqLwotKyAgZSA9IEJO MmJpbmJveCAocnNhX2UpOyAvKiBwdWJsaWMgZXhwb25lbnQgKi8KLSsKLSAgIGxlbiA9IDExICsg OCArIGJveF9sZW5ndGggKG4pICsgYm94X2xlbmd0aCAoZSk7Ci0gICBpZiAoblswXSAmIDB4ODAp Ci0gICAgIGxlbiArKzsKLUBAIC03MzgzLDkgKzc0MzYsOSBAQCBiaWZfeGVuY19wdWJrZXlfc3No X2V4cG9ydCAoY2FkZHJfdCAqIHFzCi0gICAgIHsKLSAgICAgICBrID0gWDUwOV9nZXRfcHVia2V5 IChrZXktPnhla194NTA5KTsKLSAjaWZkZWYgRVZQX1BLRVlfUlNBCi0tICAgICAgaWYgKGstPnR5 cGUgPT0gRVZQX1BLRVlfUlNBKQotKyAgICAgIGlmIChFVlBfUEtFWV9pZChrKSA9PSBFVlBfUEtF WV9SU0EpCi0gCXsKLS0JICBSU0EgKiB4ID0gay0+cGtleS5yc2E7Ci0rCSAgUlNBICogeCA9IEVW UF9QS0VZX2dldDBfUlNBKGspOwotIAkgIHJldCA9IHhlbmNfcnNhX3B1Yl9zc2hfZXhwb3J0ICh4 KTsKLSAJfQotICNlbmRpZgotQEAgLTc0MTgsNyArNzQ3MSw3IEBAIGJpZl94ZW5jX1NQS0lfcmVh ZCAoY2FkZHJfdCAqIHFzdCwgY2FkZHIKLSAgICAgICByZXR1cm4gTlVMTDsKLSAgICAgfQotICAg cGsgPSBORVRTQ0FQRV9TUEtJX2dldF9wdWJrZXkgKHNwa2kpOwotLSAgaWYgKCFwayB8fCBway0+ dHlwZSAhPSBFVlBfUEtFWV9SU0EpCi0rICBpZiAoIXBrIHx8IEVWUF9QS0VZX2lkKHBrKSAhPSBF VlBfUEtFWV9SU0EpCi0gICAgIHsKLSAgICAgICBORVRTQ0FQRV9TUEtJX2ZyZWUgKHNwa2kpOwot ICAgICAgICplcnJfcmV0ID0gc3J2X21ha2VfbmV3X2Vycm9yICgiNDIwMDAiLCAiWEVDWFgiLCAi Q2FuIG5vdCByZXRyaWV2ZSBSU0Ega2V5Iik7Ci1AQCAtNzU5NSwxNCArNzY0OCwxNCBAQCBiaWZf eGVuY194NTA5X2NhX2NlcnRzX2xpc3QgKGNhZGRyX3QgKiBxCi0gICBzZWNfY2hlY2tfZGJhICgo UUkqKXFzdCwgbWUpOwotICAgaW4gPSBCSU9fbmV3IChCSU9fc19tZW0gKCkpOwotICAgbXV0ZXhf ZW50ZXIgKHhlbmNfa2V5c19tdHgpOwotLSAgY2VydHMgPSBDQV9jZXJ0cy0+b2JqczsKLSsgIGNl cnRzID0gWDUwOV9TVE9SRV9nZXQwX29iamVjdHMoQ0FfY2VydHMpOwotICAgbGVuID0gc2tfWDUw OV9PQkpFQ1RfbnVtIChjZXJ0cyk7Ci0gICBmb3IgKGkgPSAwOyBpIDwgbGVuOyBpKyspCi0gICAg IHsKLSAgICAgICBYNTA5X09CSkVDVCAqIG9iaiA9IHNrX1g1MDlfT0JKRUNUX3ZhbHVlIChjZXJ0 cywgaSk7Ci0tICAgICAgaWYgKG9iai0+dHlwZSA9PSBYNTA5X0xVX1g1MDkpCi0rICAgICAgaWYg KFg1MDlfT0JKRUNUX2dldF90eXBlKG9iaikgPT0gWDUwOV9MVV9YNTA5KQotIAl7Ci0tCSAgWDUw OSAqeCA9IG9iai0+ZGF0YS54NTA5OwotKwkgIFg1MDkgKnggPSBYNTA5X09CSkVDVF9nZXQwX1g1 MDkob2JqKTsKLSAJICBjYWRkcl90IGl0bTsKLSAJICBpbnQgYmxlbjsKLSAJICBCSU9fcmVzZXQg KGluKTsKLS0tLSBhL2xpYnNyYy9XaS94bWxlbmMuaAotKysrIGIvbGlic3JjL1dpL3htbGVuYy5o Ci1AQCAtMzgsNiArMzgsNyBAQAotICNpbmNsdWRlIDxvcGVuc3NsL2RzYS5oPgotICNpbmNsdWRl IDxvcGVuc3NsL3JzYS5oPgotICNpbmNsdWRlIDxvcGVuc3NsL2Rlcy5oPgotKyNpbmNsdWRlIDxv cGVuc3NsL2htYWMuaD4KLSAKLSAjaWZkZWYgQUVTX0VOQ19FTkFCTEUKLSAjaW5jbHVkZSA8b3Bl bnNzbC9hZXMuaD4KLUBAIC02MzEsNSArNjMyLDE4MyBAQCBjYWRkcl90ICogeG1sX2ZpbmRfYW55 X2NoaWxkIChjYWRkcl90ICoKLSAKLSBleHRlcm4gZGtfbXV0ZXhfdCAqIHhlbmNfa2V5c19tdHg7 Ci0gCi0rI2lmIE9QRU5TU0xfVkVSU0lPTl9OVU1CRVIgPCAweDEwMTAwMDAwCi0rCi0rc3RhdGlj IGlubGluZSBITUFDX0NUWCAqSE1BQ19DVFhfbmV3KHZvaWQpCi0rewotKwlITUFDX0NUWCAqcDsK LSsKLSsJcCA9IGNhbGxvYygxLCBzaXplb2YoSE1BQ19DVFgpKTsKLSsJaWYgKCFwKQotKwkJcmV0 dXJuIHA7Ci0rCUhNQUNfQ1RYX2luaXQocCk7Ci0rCXJldHVybiBwOwotK30KLSsKLStzdGF0aWMg aW5saW5lIHZvaWQgSE1BQ19DVFhfZnJlZShITUFDX0NUWCAqY3R4KQotK3sKLSsJSE1BQ19DVFhf Y2xlYW51cChjdHgpOwotKwlmcmVlKGN0eCk7Ci0rfQotKwotK3N0YXRpYyBpbmxpbmUgdm9pZCBS U0FfZ2V0MF9rZXkoY29uc3QgUlNBICpyLCBjb25zdCBCSUdOVU0gKipuLAotKwkJCQljb25zdCBC SUdOVU0gKiplLCBjb25zdCBCSUdOVU0gKipkKQotK3sKLSsJaWYgKG4gIT0gTlVMTCkKLSsJCSpu ID0gci0+bjsKLSsJaWYgKGUgIT0gTlVMTCkKLSsJCSplID0gci0+ZTsKLSsJaWYgKGQgIT0gTlVM TCkKLSsJCSpkID0gci0+ZDsKLSt9Ci0rCi0rc3RhdGljIGlubGluZSB2b2lkIFJTQV9nZXQwX2Zh Y3RvcnMoY29uc3QgUlNBICpyLCBjb25zdCBCSUdOVU0gKipwLAotKwkJCQkgICAgY29uc3QgQklH TlVNICoqcSkKLSt7Ci0rCWlmIChwICE9IE5VTEwpCi0rCQkqcCA9IHItPnA7Ci0rCWlmIChxICE9 IE5VTEwpCi0rCQkqcSA9IHItPnE7Ci0rfQotKwotK3N0YXRpYyBpbmxpbmUgUlNBICpFVlBfUEtF WV9nZXQwX1JTQShFVlBfUEtFWSAqcGtleSkKLSt7Ci0rCWlmIChwa2V5LT50eXBlICE9IEVWUF9Q S0VZX1JTQSkKLSsJCXJldHVybiBOVUxMOwotKwlyZXR1cm4gcGtleS0+cGtleS5yc2E7Ci0rfQot KwotK3N0YXRpYyBpbmxpbmUgdm9pZCBESF9nZXQwX2tleShjb25zdCBESCAqZGgsIGNvbnN0IEJJ R05VTSAqKnB1Yl9rZXksCi0rCQkJICAgICAgIGNvbnN0IEJJR05VTSAqKnByaXZfa2V5KQotK3sK LSsJaWYgKHB1Yl9rZXkgIT0gTlVMTCkKLSsJCSpwdWJfa2V5ID0gZGgtPnB1Yl9rZXk7Ci0rCWlm IChwcml2X2tleSAhPSBOVUxMKQotKwkJKnByaXZfa2V5ID0gZGgtPnByaXZfa2V5OwotK30KLSsK LSsKLStzdGF0aWMgaW5saW5lIHZvaWQgREhfZ2V0MF9wcWcoY29uc3QgREggKmRoLCBjb25zdCBC SUdOVU0gKipwLCBjb25zdCBCSUdOVU0gKipxLAotKwkJCSAgICAgICBjb25zdCBCSUdOVU0gKipn KQotK3sKLSsJaWYgKHAgIT0gTlVMTCkKLSsJCSpwID0gZGgtPnA7Ci0rCWlmIChxICE9IE5VTEwp Ci0rCQkqcSA9IGRoLT5xOwotKwlpZiAoZyAhPSBOVUxMKQotKwkJKmcgPSBkaC0+ZzsKLSt9Ci0r Ci0rc3RhdGljIGlubGluZSBEU0EgKkVWUF9QS0VZX2dldDBfRFNBKEVWUF9QS0VZICpwa2V5KQot K3sKLSsJaWYgKHBrZXktPnR5cGUgIT0gRVZQX1BLRVlfRFNBKQotKwkJcmV0dXJuIE5VTEw7Ci0r CXJldHVybiBwa2V5LT5wa2V5LmRzYTsKLSt9Ci0rCi0rc3RhdGljIGlubGluZSBpbnQgREhfc2V0 MF9wcWcoREggKmRoLCBCSUdOVU0gKnAsIEJJR05VTSAqcSwgQklHTlVNICpnKQotK3sKLSsJLyog SWYgdGhlIGZpZWxkcyBwIGFuZCBnIGluIGQgYXJlIE5VTEwsIHRoZSBjb3JyZXNwb25kaW5nIGlu cHV0Ci0rCSAqIHBhcmFtZXRlcnMgTVVTVCBiZSBub24tTlVMTC4gIHEgbWF5IHJlbWFpbiBOVUxM LgotKwkgKi8KLSsJaWYgKChkaC0+cCA9PSBOVUxMICYmIHAgPT0gTlVMTCkKLSsJICAgIHx8IChk aC0+ZyA9PSBOVUxMICYmIGcgPT0gTlVMTCkpCi0rCQlyZXR1cm4gMDsKLSsKLSsJaWYgKHAgIT0g TlVMTCkgewotKwkJQk5fZnJlZShkaC0+cCk7Ci0rCQlkaC0+cCA9IHA7Ci0rCX0KLSsJaWYgKHEg IT0gTlVMTCkgewotKwkJQk5fZnJlZShkaC0+cSk7Ci0rCQlkaC0+cSA9IHE7Ci0rCX0KLSsJaWYg KGcgIT0gTlVMTCkgewotKwkJQk5fZnJlZShkaC0+Zyk7Ci0rCQlkaC0+ZyA9IGc7Ci0rCX0KLSsK LSsJaWYgKHEgIT0gTlVMTCkgewotKwkJZGgtPmxlbmd0aCA9IEJOX251bV9iaXRzKHEpOwotKwl9 Ci0rCi0rCXJldHVybiAxOwotK30KLSsKLStzdGF0aWMgaW5saW5lIGludCBSU0Ffc2V0MF9rZXko UlNBICpyLCBCSUdOVU0gKm4sIEJJR05VTSAqZSwgQklHTlVNICpkKQotK3sKLSsJLyogSWYgdGhl IGZpZWxkcyBuIGFuZCBlIGluIHIgYXJlIE5VTEwsIHRoZSBjb3JyZXNwb25kaW5nIGlucHV0Ci0r CSAqIHBhcmFtZXRlcnMgTVVTVCBiZSBub24tTlVMTCBmb3IgbiBhbmQgZS4gIGQgbWF5IGJlCi0r CSAqIGxlZnQgTlVMTCAoaW4gY2FzZSBvbmx5IHRoZSBwdWJsaWMga2V5IGlzIHVzZWQpLgotKwkg Ki8KLSsJaWYgKChyLT5uID09IE5VTEwgJiYgbiA9PSBOVUxMKQotKwkgICAgfHwgKHItPmUgPT0g TlVMTCAmJiBlID09IE5VTEwpKQotKwkJcmV0dXJuIDA7Ci0rCi0rCWlmIChuICE9IE5VTEwpIHsK LSsJCUJOX2ZyZWUoci0+bik7Ci0rCQlyLT5uID0gbjsKLSsJfQotKwlpZiAoZSAhPSBOVUxMKSB7 Ci0rCQlCTl9mcmVlKHItPmUpOwotKwkJci0+ZSA9IGU7Ci0rCX0KLSsJaWYgKGQgIT0gTlVMTCkg ewotKwkJQk5fZnJlZShyLT5kKTsKLSsJCXItPmQgPSBkOwotKwl9Ci0rCi0rCXJldHVybiAxOwot K30KLSsKLStzdGF0aWMgaW5saW5lIHZvaWQgRFNBX2dldDBfcHFnKGNvbnN0IERTQSAqZCwgY29u c3QgQklHTlVNICoqcCwKLSsJCQkJY29uc3QgQklHTlVNICoqcSwgY29uc3QgQklHTlVNICoqZykK LSt7Ci0rCWlmIChwICE9IE5VTEwpCi0rCQkqcCA9IGQtPnA7Ci0rCWlmIChxICE9IE5VTEwpCi0r CQkqcSA9IGQtPnE7Ci0rCWlmIChnICE9IE5VTEwpCi0rCQkqZyA9IGQtPmc7Ci0rfQotKwotK3N0 YXRpYyBpbmxpbmUgdm9pZCBEU0FfZ2V0MF9rZXkoY29uc3QgRFNBICpkLCBjb25zdCBCSUdOVU0g KipwdWJfa2V5LAotKwkJCQljb25zdCBCSUdOVU0gKipwcml2X2tleSkKLSt7Ci0rCWlmIChwdWJf a2V5ICE9IE5VTEwpCi0rCQkqcHViX2tleSA9IGQtPnB1Yl9rZXk7Ci0rCWlmIChwcml2X2tleSAh PSBOVUxMKQotKwkJKnByaXZfa2V5ID0gZC0+cHJpdl9rZXk7Ci0rfQotKwotK3N0YXRpYyBpbmxp bmUgY29uc3QgU1RBQ0tfT0YoWDUwOV9FWFRFTlNJT04pICpYNTA5X2dldDBfZXh0ZW5zaW9ucyhj b25zdCBYNTA5ICp4KQotK3sKLSsJcmV0dXJuIHgtPmNlcnRfaW5mby0+ZXh0ZW5zaW9uczsKLSt9 Ci0rCi0rc3RhdGljIGlubGluZSBpbnQgWDUwOV91cF9yZWYoWDUwOSAqeCkKLSt7Ci0rCXJldHVy biBDUllQVE9fYWRkKCZ4LT5yZWZlcmVuY2VzLCAxLCBDUllQVE9fTE9DS19YNTA5KTsKLSt9Ci0r Ci0rc3RhdGljIGlubGluZSBTVEFDS19PRihYNTA5X09CSkVDVCkgKlg1MDlfU1RPUkVfZ2V0MF9v YmplY3RzKFg1MDlfU1RPUkUgKnYpCi0rewotKwlyZXR1cm4gdi0+b2JqczsKLSt9Ci0rCi0rc3Rh dGljIGlubGluZSBpbnQgWDUwOV9PQkpFQ1RfZ2V0X3R5cGUoY29uc3QgWDUwOV9PQkpFQ1QgKmEp Ci0rewotKwlyZXR1cm4gYS0+dHlwZTsKLSt9Ci0rCi0rc3RhdGljIGlubGluZSBYNTA5ICpYNTA5 X09CSkVDVF9nZXQwX1g1MDkoY29uc3QgWDUwOV9PQkpFQ1QgKmEpCi0rewotKwlpZiAoYSA9PSBO VUxMIHx8IGEtPnR5cGUgIT0gWDUwOV9MVV9YNTA5KQotKwkJcmV0dXJuIE5VTEw7Ci0rCXJldHVy biBhLT5kYXRhLng1MDk7Ci0rfQotKwotKyNlbmRpZgotKwotICNlbmRpZgotIAotLS0tIGEvbGli c3JjL1dpL3htbGVuY19hbGdvcy5jCi0rKysgYi9saWJzcmMvV2kveG1sZW5jX2FsZ29zLmMKLUBA IC0xMTQ5LDcgKzExNDksNyBAQCBpbnQKLSBkc2lnX2htYWNfc2hhMjU2X2RpZ2VzdCAoZGtfc2Vz c2lvbl90ICogc2VzX2luLCBsb25nIGxlbiwgeGVuY19rZXlfdCAqIGtleSwgY2FkZHJfdCAqIHNp Z25fb3V0KQotIHsKLSAgIHVuc2lnbmVkIGNoYXIgKiBkYXRhOwotLSAgSE1BQ19DVFggY3R4Owot KyAgSE1BQ19DVFggKmN0eDsKLSAgIHVuc2lnbmVkIGNoYXIga2V5X2RhdGFbMzIgKiA4XTsKLSAg IHVuc2lnbmVkIGNoYXIgbWQgW1NIQTI1Nl9ESUdFU1RfTEVOR1RIICsgMV07Ci0gICB1bnNpZ25l ZCBjaGFyIG1kNjQgW1NIQTI1Nl9ESUdFU1RfTEVOR1RIICogMiArIDFdOwotQEAgLTExODIsNyAr MTE4Miw5IEBAIGRzaWdfaG1hY19zaGEyNTZfZGlnZXN0IChka19zZXNzaW9uX3QgKgotICAgICAg IGRlZmF1bHQ6Ci0gCSAgcmV0dXJuIDA7Ci0gICAgIH0KLS0KLSsgIGN0eCA9IEhNQUNfQ1RYX25l dygpOwotKyAgaWYgKCFjdHgpCi0rCSAgcmV0dXJuIDA7Ci0gCi0gICBkYXRhID0gKHVuc2lnbmVk IGNoYXIgKikgZGtfYWxsb2NfYm94IChsZW4sIERWX0NfU1RSSU5HKTsKLSAgIENBVENIX1JFQURf RkFJTCAoc2VzX2luKQotQEAgLTExOTIsMTQgKzExOTQsMTUgQEAgZHNpZ19obWFjX3NoYTI1Nl9k aWdlc3QgKGRrX3Nlc3Npb25fdCAqCi0gICBGQUlMRUQKLSAgICAgewotICAgICAgIGRrX2ZyZWVf Ym94ICgoYm94X3QpIGRhdGEpOwotKyAgICAgIEhNQUNfQ1RYX2ZyZWUoY3R4KTsKLSAgICAgICBy ZXR1cm4gMDsKLSAgICAgfQotICAgRU5EX1JFQURfRkFJTCAoc2VzX2luKTsKLSAKLS0gIEhNQUNf SW5pdCgmY3R4LCAodm9pZCopIGtleV9kYXRhICwga2V5X2xlbiwgRVZQX3NoYTI1NiAoKSk7Ci0t ICBITUFDX1VwZGF0ZSgmY3R4LCBkYXRhLCBsZW4pOwotLSAgSE1BQ19GaW5hbCgmY3R4LCBtZCwg JmhtYWNfbGVuKTsKLS0gIEhNQUNfY2xlYW51cCgmY3R4KTsKLSsgIEhNQUNfSW5pdF9leChjdHgs ICh2b2lkKikga2V5X2RhdGEgLCBrZXlfbGVuLCBFVlBfc2hhMjU2ICgpLCBOVUxMKTsKLSsgIEhN QUNfVXBkYXRlKGN0eCwgZGF0YSwgbGVuKTsKLSsgIEhNQUNfRmluYWwoY3R4LCBtZCwgJmhtYWNf bGVuKTsKLSsgIEhNQUNfQ1RYX2ZyZWUoY3R4KTsKLSAKLSAgIGlmIChobWFjX2xlbiAhPSBTSEEy NTZfRElHRVNUX0xFTkdUSCkKLSAgICAgR1BGX1Q7Ci1AQCAtMTIyMCw3ICsxMjIzLDcgQEAgZHNp Z19obWFjX3NoYTI1Nl9kaWdlc3QgKGRrX3Nlc3Npb25fdCAqCi0gaW50Ci0gZHNpZ19obWFjX3No YTI1Nl92ZXJpZnkgKGRrX3Nlc3Npb25fdCAqIHNlc19pbiwgbG9uZyBsZW4sIHhlbmNfa2V5X3Qg KiBrZXksIGNhZGRyX3QgZGlnZXN0KQotIHsKLS0gIEhNQUNfQ1RYIGN0eDsKLSsgIEhNQUNfQ1RY ICpjdHg7Ci0gICB1bnNpZ25lZCBjaGFyICogZGF0YTsKLSAgIHVuc2lnbmVkIGNoYXIga2V5X2Rh dGFbMyAqIDhdOwotICAgdW5zaWduZWQgY2hhciBtZCBbU0hBMjU2X0RJR0VTVF9MRU5HVEggKyAx XTsKLUBAIC0xMjQ5LDYgKzEyNTIsOSBAQCBkc2lnX2htYWNfc2hhMjU2X3ZlcmlmeSAoZGtfc2Vz c2lvbl90ICoKLSAJICByZXR1cm4gMDsKLSAgICAgfQotIAotKyAgY3R4ID0gSE1BQ19DVFhfbmV3 KCk7Ci0rICBpZiAoIWN0eCkKLSsJICByZXR1cm4gMDsKLSAKLSAgIGRhdGEgPSAodW5zaWduZWQg Y2hhciAqKSBka19hbGxvY19ib3ggKGxlbiwgRFZfQ19TVFJJTkcpOwotICAgQ0FUQ0hfUkVBRF9G QUlMIChzZXNfaW4pCi1AQCAtMTI1OCwxNCArMTI2NCwxNSBAQCBkc2lnX2htYWNfc2hhMjU2X3Zl cmlmeSAoZGtfc2Vzc2lvbl90ICoKLSAgIEZBSUxFRAotICAgICB7Ci0gICAgICAgZGtfZnJlZV9i b3ggKChib3hfdCkgZGF0YSk7Ci0rICAgICAgSE1BQ19DVFhfZnJlZShjdHgpOwotICAgICAgIHJl dHVybiAwOwotICAgICB9Ci0gICBFTkRfUkVBRF9GQUlMIChzZXNfaW4pOwotIAotLSAgSE1BQ19J bml0KCZjdHgsICh2b2lkKikga2V5X2RhdGEgLCBrZXlfbGVuLCBFVlBfc2hhMjU2ICgpKTsKLS0g IEhNQUNfVXBkYXRlKCZjdHgsIGRhdGEsIGxlbik7Ci0tICBITUFDX0ZpbmFsKCZjdHgsIG1kLCAm aG1hY19sZW4pOwotLSAgSE1BQ19jbGVhbnVwKCZjdHgpOwotKyAgSE1BQ19Jbml0X2V4KGN0eCwg KHZvaWQqKSBrZXlfZGF0YSAsIGtleV9sZW4sIEVWUF9zaGEyNTYgKCksIE5VTEwpOwotKyAgSE1B Q19VcGRhdGUoY3R4LCBkYXRhLCBsZW4pOwotKyAgSE1BQ19GaW5hbChjdHgsIG1kLCAmaG1hY19s ZW4pOwotKyAgSE1BQ19DVFhfZnJlZShjdHgpOwotICAgZGtfZnJlZV9ib3ggKChib3hfdCkgZGF0 YSk7Ci0gCi0gICBsZW4xID0geGVuY19lbmNvZGVfYmFzZTY0ICgoY2hhciAqKW1kLCBtZDY0LCBo bWFjX2xlbik7Ci1AQCAtMTU4Niw3ICsxNTkzLDcgQEAgaW50Ci0gZHNpZ19obWFjX3NoYTFfZGln ZXN0IChka19zZXNzaW9uX3QgKiBzZXNfaW4sIGxvbmcgbGVuLCB4ZW5jX2tleV90ICoga2V5LCBj YWRkcl90ICogc2lnbl9vdXQpCi0gewotICAgdW5zaWduZWQgY2hhciAqIGRhdGE7Ci0tICBITUFD X0NUWCBjdHg7Ci0rICBITUFDX0NUWCAqY3R4OwotICAgdW5zaWduZWQgY2hhciBrZXlfZGF0YVsz MiAqIDhdOwotICAgdW5zaWduZWQgY2hhciBtZCBbU0hBX0RJR0VTVF9MRU5HVEggKyAxXTsKLSAg IHVuc2lnbmVkIGNoYXIgbWQ2NCBbU0hBX0RJR0VTVF9MRU5HVEggKiAyICsgMV07Ci1AQCAtMTYy MCw2ICsxNjI3LDkgQEAgZHNpZ19obWFjX3NoYTFfZGlnZXN0IChka19zZXNzaW9uX3QgKiBzZQot IAkgIHJldHVybiAwOwotICAgICB9Ci0gCi0rICBjdHggPSBITUFDX0NUWF9uZXcoKTsKLSsgIGlm ICghY3R4KQotKwkgIHJldHVybiAwOwotIAotICAgZGF0YSA9ICh1bnNpZ25lZCBjaGFyICopIGRr X2FsbG9jX2JveCAobGVuLCBEVl9DX1NUUklORyk7Ci0gICBDQVRDSF9SRUFEX0ZBSUwgKHNlc19p bikKLUBAIC0xNjI5LDE0ICsxNjM5LDE1IEBAIGRzaWdfaG1hY19zaGExX2RpZ2VzdCAoZGtfc2Vz c2lvbl90ICogc2UKLSAgIEZBSUxFRAotICAgICB7Ci0gICAgICAgZGtfZnJlZV9ib3ggKChib3hf dCkgZGF0YSk7Ci0rICAgICAgSE1BQ19DVFhfZnJlZShjdHgpOwotICAgICAgIHJldHVybiAwOwot ICAgICB9Ci0gICBFTkRfUkVBRF9GQUlMIChzZXNfaW4pOwotIAotLSAgSE1BQ19Jbml0KCZjdHgs ICh2b2lkKikga2V5X2RhdGEgLCBrZXlfbGVuLCBFVlBfc2hhMSAoKSk7Ci0tICBITUFDX1VwZGF0 ZSgmY3R4LCBkYXRhLCBsZW4pOwotLSAgSE1BQ19GaW5hbCgmY3R4LCBtZCwgJmhtYWNfbGVuKTsK LS0gIEhNQUNfY2xlYW51cCgmY3R4KTsKLSsgIEhNQUNfSW5pdF9leChjdHgsICh2b2lkKikga2V5 X2RhdGEgLCBrZXlfbGVuLCBFVlBfc2hhMSAoKSwgTlVMTCk7Ci0rICBITUFDX1VwZGF0ZShjdHgs IGRhdGEsIGxlbik7Ci0rICBITUFDX0ZpbmFsKGN0eCwgbWQsICZobWFjX2xlbik7Ci0rICBITUFD X0NUWF9mcmVlKGN0eCk7Ci0gCi0gICBpZiAoaG1hY19sZW4gIT0gU0hBX0RJR0VTVF9MRU5HVEgp Ci0gICAgIEdQRl9UOwotQEAgLTE2NTcsNyArMTY2OCw3IEBAIGRzaWdfaG1hY19zaGExX2RpZ2Vz dCAoZGtfc2Vzc2lvbl90ICogc2UKLSBpbnQKLSBkc2lnX2htYWNfc2hhMV92ZXJpZnkgKGRrX3Nl c3Npb25fdCAqIHNlc19pbiwgbG9uZyBsZW4sIHhlbmNfa2V5X3QgKiBrZXksIGNhZGRyX3QgZGln ZXN0KQotIHsKLS0gIEhNQUNfQ1RYIGN0eDsKLSsgIEhNQUNfQ1RYICpjdHg7Ci0gICB1bnNpZ25l ZCBjaGFyICogZGF0YTsKLSAgIHVuc2lnbmVkIGNoYXIga2V5X2RhdGFbMyAqIDhdOwotICAgdW5z aWduZWQgY2hhciBtZCBbU0hBX0RJR0VTVF9MRU5HVEggKyAxXTsKLUBAIC0xNjg2LDYgKzE2OTcs OSBAQCBkc2lnX2htYWNfc2hhMV92ZXJpZnkgKGRrX3Nlc3Npb25fdCAqIHNlCi0gCSAgcmV0dXJu IDA7Ci0gICAgIH0KLSAKLSsgIGN0eCA9IEhNQUNfQ1RYX25ldygpOwotKyAgaWYgKCFjdHgpCi0r CSAgcmV0dXJuIDA7Ci0gCi0gICBkYXRhID0gKHVuc2lnbmVkIGNoYXIgKikgZGtfYWxsb2NfYm94 IChsZW4sIERWX0NfU1RSSU5HKTsKLSAgIENBVENIX1JFQURfRkFJTCAoc2VzX2luKQotQEAgLTE2 OTUsMTQgKzE3MDksMTUgQEAgZHNpZ19obWFjX3NoYTFfdmVyaWZ5IChka19zZXNzaW9uX3QgKiBz ZQotICAgRkFJTEVECi0gICAgIHsKLSAgICAgICBka19mcmVlX2JveCAoKGJveF90KSBkYXRhKTsK LSsgICAgICBITUFDX0NUWF9mcmVlKGN0eCk7Ci0gICAgICAgcmV0dXJuIDA7Ci0gICAgIH0KLSAg IEVORF9SRUFEX0ZBSUwgKHNlc19pbik7Ci0gCi0tICBITUFDX0luaXQoJmN0eCwgKHZvaWQqKSBr ZXlfZGF0YSAsIGtleV9sZW4sIEVWUF9zaGExICgpKTsKLS0gIEhNQUNfVXBkYXRlKCZjdHgsIGRh dGEsIGxlbik7Ci0tICBITUFDX0ZpbmFsKCZjdHgsIG1kLCAmaG1hY19sZW4pOwotLSAgSE1BQ19j bGVhbnVwKCZjdHgpOwotKyAgSE1BQ19Jbml0X2V4KGN0eCwgKHZvaWQqKSBrZXlfZGF0YSAsIGtl eV9sZW4sIEVWUF9zaGExICgpLCBOVUxMKTsKLSsgIEhNQUNfVXBkYXRlKGN0eCwgZGF0YSwgbGVu KTsKLSsgIEhNQUNfRmluYWwoY3R4LCBtZCwgJmhtYWNfbGVuKTsKLSsgIEhNQUNfQ1RYX2ZyZWUo Y3R4KTsKLSAgIGRrX2ZyZWVfYm94ICgoYm94X3QpIGRhdGEpOwotIAotICAgbGVuMSA9IHhlbmNf ZW5jb2RlX2Jhc2U2NCAoKGNoYXIgKiltZCwgbWQ2NCwgaG1hY19sZW4pOwotQEAgLTE3NjMsNyAr MTc3OCw3IEBAIGludCB4ZW5jX2Flc19lbmNyeXB0b3IgKGRrX3Nlc3Npb25fdCAqIHMKLSAgIGNh ZGRyX3Qgb3V0YnVmX2JlZzsKLSAgIGludCBsZW47Ci0gICBjYWRkcl90IGVuY29kZWRfb3V0Owot LSAgRVZQX0NJUEhFUl9DVFggY3R4OwotKyAgRVZQX0NJUEhFUl9DVFggKmN0eDsKLSAgIHVuc2ln bmVkIGNoYXIgKiBpdmVjID0gJmtleS0+a2kuYWVzLml2WzBdOwotIAotICAgQ0FUQ0hfUkVBRF9G QUlMIChzZXNfaW4pCi1AQCAtMTc3OCw3ICsxNzkzLDcgQEAgaW50IHhlbmNfYWVzX2VuY3J5cHRv ciAoZGtfc2Vzc2lvbl90ICogcwotICAgRU5EX1JFQURfRkFJTCAoc2VzX2luKTsKLSAKLSAjaWYg MQotLSAgRVZQX0NJUEhFUl9DVFhfaW5pdCgmY3R4KTsKLSsgIGN0eCA9IEVWUF9DSVBIRVJfQ1RY X25ldygpOwotICAgb3V0YnVmX2JlZyA9IGRrX2FsbG9jX2JveCAoYm94X2xlbmd0aCAodGV4dCkg KyAxNiwgRFZfQklOKTsKLSAgIG1lbWNweSAob3V0YnVmX2JlZywgaXZlYywgMTYpOwotICAgb3V0 YnVmID0gb3V0YnVmX2JlZyArIDE2OwotQEAgLTE3ODYsMjAgKzE4MDEsMTkgQEAgaW50IHhlbmNf YWVzX2VuY3J5cHRvciAoZGtfc2Vzc2lvbl90ICogcwotICAgc3dpdGNoIChrZXktPmtpLmFlcy5i aXRzKQotICAgICB7Ci0gICAgIGNhc2UgMTI4OgotLSAgICAgIEVWUF9FbmNyeXB0SW5pdF9leCgm Y3R4LCBFVlBfYWVzXzEyOF9jYmMoKSwgTlVMTCwga2V5LT5raS5hZXMuaywgaXZlYyk7Ci0rICAg ICAgRVZQX0VuY3J5cHRJbml0X2V4KGN0eCwgRVZQX2Flc18xMjhfY2JjKCksIE5VTEwsIGtleS0+ a2kuYWVzLmssIGl2ZWMpOwotICAgICAgIGJyZWFrOwotICAgICBjYXNlIDE5MjoKLS0gICAgICBF VlBfRW5jcnlwdEluaXRfZXgoJmN0eCwgRVZQX2Flc18xOTJfY2JjKCksIE5VTEwsIGtleS0+a2ku YWVzLmssIGl2ZWMpOwotKyAgICAgIEVWUF9FbmNyeXB0SW5pdF9leChjdHgsIEVWUF9hZXNfMTky X2NiYygpLCBOVUxMLCBrZXktPmtpLmFlcy5rLCBpdmVjKTsKLSAgICAgICBicmVhazsKLSAgICAg Y2FzZSAyNTY6Ci0tICAgICAgRVZQX0VuY3J5cHRJbml0X2V4KCZjdHgsIEVWUF9hZXNfMjU2X2Ni YygpLCBOVUxMLCBrZXktPmtpLmFlcy5rLCBpdmVjKTsKLSsgICAgICBFVlBfRW5jcnlwdEluaXRf ZXgoY3R4LCBFVlBfYWVzXzI1Nl9jYmMoKSwgTlVMTCwga2V5LT5raS5hZXMuaywgaXZlYyk7Ci0g ICAgICAgYnJlYWs7Ci0gICAgIGRlZmF1bHQ6Ci0gICAgICAgR1BGX1QxICgiVW5zdXBwb3J0ZWQg a2V5IHNpemUiKTsKLSAgICAgfQotLSAgaWYoIUVWUF9FbmNyeXB0VXBkYXRlKCZjdHgsICh1bnNp Z25lZCBjaGFyICopb3V0YnVmLCAmb3V0bGVuLCAodW5zaWduZWQgY2hhciAqKXRleHQsIGJveF9s ZW5ndGggKHRleHQpKSkKLSsgIGlmKCFFVlBfRW5jcnlwdFVwZGF0ZShjdHgsICh1bnNpZ25lZCBj aGFyICopb3V0YnVmLCAmb3V0bGVuLCAodW5zaWduZWQgY2hhciAqKXRleHQsIGJveF9sZW5ndGgg KHRleHQpKSkKLSAgICAgewotLSAgICAgIEVWUF9DSVBIRVJfQ1RYX2NsZWFudXAoJmN0eCk7Ci0g ICAgICAgZGtfZnJlZV9ib3ggKHRleHQpOwotICAgICAgIGRrX2ZyZWVfYm94IChvdXRidWZfYmVn KTsKLSAgICAgICB4ZW5jX3JlcG9ydF9lcnJvciAodCwgNTAwLCBYRU5DX0VOQ19FUlIsICJBRVMg ZW5jcnlwdGlvbiBpbnRlcm5hbCBlcnJvciAjMiIpOwotQEAgLTE4MTIsNyArMTgyNiw3IEBAIGlu dCB4ZW5jX2Flc19lbmNyeXB0b3IgKGRrX3Nlc3Npb25fdCAqIHMKLSAgICAgICB4ZW5jX3JlcG9y dF9lcnJvciAodCwgNTAwLCBYRU5DX0VOQ19FUlIsICJBRVMgZW5jcnlwdGlvbiBpbnRlcm5hbCBl cnJvciAjMyIpOwotICAgICAgIH0gKi8KLSAgIC8qIG91dGxlbiArPSB0bXBsZW47ICovCi0tICBF VlBfQ0lQSEVSX0NUWF9jbGVhbnVwKCZjdHgpOwotKyAgRVZQX0NJUEhFUl9DVFhfZnJlZShjdHgp OwotIAotICNlbHNlCi0gICBvdXRidWZfYmVnID0gZGtfYWxsb2NfYm94IChib3hfbGVuZ3RoICh0 ZXh0KSArIDE2IC8qIGl2ICovLCBEVl9CSU4pOwotQEAgLTIwNTAsNiArMjA2NCw3IEBAIHhlbmNf cnNhX2RlY3J5cHRvciAoZGtfc2Vzc2lvbl90ICogc2VzX2kKLSAgIGludCBsZW4gPSAwOwotICAg aW50IGtleXNpemU7Ci0gICBSU0EgKiByc2EgPSBrZXktPnhla19wcml2YXRlX3JzYTsKLSsgIGNv bnN0IEJJR05VTSAqcCwgKnE7Ci0gCi0gICBpZiAoIXNlc2xlbikKLSAgICAgewotQEAgLTIwNjIs OSArMjA3Nyw5IEBAIHhlbmNfcnNhX2RlY3J5cHRvciAoZGtfc2Vzc2lvbl90ICogc2VzX2kKLSAg ICAgICB4ZW5jX3JlcG9ydF9lcnJvciAodCwgNTAwICsgc3RybGVuIChrZXktPnhla19uYW1lKSwg WEVOQ19FTkNfRVJSLCAiY291bGQgbm90IG1ha2UgUlNBIGRlY3J5cHRpb24gW2tleSAlcyBpcyBu b3QgUlNBXSIsIGtleS0+eGVrX25hbWUpOwotICAgICAgIHJldHVybiAwOwotICAgICB9Ci0rICBS U0FfZ2V0MF9mYWN0b3JzKHJzYSwgJnAsICZxKTsKLSAgIGlmICghcnNhIHx8Ci0tICAgICAgIXJz YS0+cCB8fAotLSAgICAgICFyc2EtPnEpCi0rICAgICAgIXAgfHwgIXEpCi0gICAgIHsKLSAgICAg ICBpZiAoa2V5LT54ZWtfeDUwOV9LSSkKLSAJa2V5ID0geGVuY19nZXRfa2V5X2J5X2tleWlkZW50 aWZpZXIgKGtleS0+eGVrX3g1MDlfS0ksIDEpOwotLS0tIGEvbGlic3JjL3V0aWwvc3NsZW5naW5l LmMKLSsrKyBiL2xpYnNyYy91dGlsL3NzbGVuZ2luZS5jCi1AQCAtMjksNyArMjksMTEgQEAKLSBp bnQKLSBzc2xfZW5naW5lX3N0YXJ0dXAgKHZvaWQpCi0gewotLSAgQ1JZUFRPX21hbGxvY19pbml0 ICgpOwotKyNpZiBPUEVOU1NMX1ZFUlNJT05fTlVNQkVSIDwgMHgxMDEwMDAwMCB8fCBkZWZpbmVk IExJQlJFU1NMX1ZFUlNJT05fTlVNQkVSCi0rCUNSWVBUT19tYWxsb2NfaW5pdCAoKTsKLSsjZWxz ZQotKwlPUEVOU1NMX21hbGxvY19pbml0KCk7Ci0rI2VuZGlmCi0gICBFUlJfbG9hZF9jcnlwdG9f c3RyaW5ncygpOwotICAgT3BlblNTTF9hZGRfYWxsX2FsZ29yaXRobXMoKTsKLSAKLS0tLSBhL2xp YnNyYy9XaS9odHRwLmMKLSsrKyBiL2xpYnNyYy9XaS9odHRwLmMKLUBAIC04ODg2LDcgKzg4ODYs NyBAQCBzc2xfc2VydmVyX3NldF9jZXJ0aWZpY2F0ZSAoU1NMX0NUWCogc3NsCi0gCQkgIGxvZ19l cnJvciAoIlNTTDogVGhlIHN0b3JlZCBjZXJ0aWZpY2F0ZSAnJXMnIGNhbiBub3QgYmUgdXNlZCBh cyBleHRyYSBjaGFpbiBjZXJ0aWZpY2F0ZSIsIHRvayk7Ci0gCQkgIGJyZWFrOwotIAkJfQotLQkg ICAgICBDUllQVE9fYWRkKCZrLT54ZWtfeDUwOS0+cmVmZXJlbmNlcywgMSwgQ1JZUFRPX0xPQ0tf WDUwOSk7Ci0rCSAgICAgIFg1MDlfdXBfcmVmKGstPnhla194NTA5KTsKLSAgICAgICAgICAgICAg IHRvayA9IHN0cnRva19yIChOVUxMLCAiLCIsICZ0b2tfcyk7Ci0gCSAgICB9Ci0gCSAgZGtfZnJl ZV9ib3ggKHN0cik7Ci0tLS0gYS9saWJzcmMvRGsvRGtlcm5lbC5jCi0rKysgYi9saWJzcmMvRGsv RGtlcm5lbC5jCi1AQCAtNTI4MCw3ICs1MjgwLDExIEBAIHNzbF9zZXJ2ZXJfaW5pdCAoKQotICAg fQotICNlbmRpZgotIAotLSAgU1NMZWF5X2FkZF9hbGxfYWxnb3JpdGhtcyAoKTsKLSsjaWYgT1BF TlNTTF9WRVJTSU9OX05VTUJFUiA8IDB4MTAxMDAwMDAKLSsgIFNTTGVheV9hZGRfYWxsX2FsZ29y aXRobXMoKTsKLSsjZWxzZQotKyAgT3BlblNTTF9hZGRfYWxsX2FsZ29yaXRobXMoKTsKLSsjZW5k aWYKLSAgIFBLQ1MxMl9QQkVfYWRkICgpOwkJLyogc3R1YiAqLwotIAotICNpZmRlZiBOT19USFJF QUQKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvdmlydHVvc28vcGF0Y2hlcy9zc2wxLjFfbW9yZS5wYXRj aCBiL3NyY3BrZ3MvdmlydHVvc28vcGF0Y2hlcy9zc2wxLjFfbW9yZS5wYXRjaApkZWxldGVkIGZp bGUgbW9kZSAxMDA2NDQKaW5kZXggNjZlNTBlYzEyN2JhLi4wMDAwMDAwMDAwMDAKLS0tIGEvc3Jj cGtncy92aXJ0dW9zby9wYXRjaGVzL3NzbDEuMV9tb3JlLnBhdGNoCisrKyAvZGV2L251bGwKQEAg LTEsMjAgKzAsMCBAQAotRGVzY3JpcHRpb246IENvbW1lbnQgdW5rbm93biBkZWZpbml0aW9uIGlu IHNzbDEuMSAtIHBsZWFzZSByZXZpZXchCi1BdXRob3I6IEFuZHJlYXMgVGlsbGUgPHRpbGxlQGRl Ymlhbi5vcmc+Ci1CdWctRGViaWFuOiBodHRwczovL2J1Z3MuZGViaWFuLm9yZy84Mjg1OTQKLUxh c3QtVXBkYXRlOiBNbyAxMS4gRmViIDEzOjUwOjE3IENFVCAyMDE5Ci0KLS0tLSBhL2xpYnNyYy9E ay9Ea2VybmVsLmMKLSsrKyBiL2xpYnNyYy9Eay9Ea2VybmVsLmMKLUBAIC01MTYxLDEwICs1MTYx LDEyIEBAIHNzbF9jdHhfc2V0X3Byb3RvY29sX29wdGlvbnMoU1NMX0NUWCAqY3QKLSAgICAgICBl bHNlIGlmICghc3RyY2FzZWNtcCAobmFtZSwgIlRMU3YxXzIiKSB8fCAhc3RyY2FzZWNtcCAobmFt ZSwgIlRMU3YxLjIiKSkKLSAJb3B0ID0gU1NMX1BST1RPQ09MX1RMU1YxXzI7Ci0gI2VuZGlmCi0r LyoKLSAjaWYgZGVmaW5lZCAoU1NMX09QX05PX1RMU3YxXzMpCi0gICAgICAgZWxzZSBpZiAoIXN0 cmNhc2VjbXAgKG5hbWUsICJUTFN2MV8zIikgfHwgIXN0cmNhc2VjbXAgKG5hbWUsICJUTFN2MS4z IikpCi0gCW9wdCA9IFNTTF9QUk9UT0NPTF9UTFNWMV8zOwotICNlbmRpZgotKyovCi0gICAgICAg ZWxzZSBpZiAoIXN0cmNhc2VjbXAgKG5hbWUsICJBTEwiKSkKLSAJb3B0ID0gU1NMX1BST1RPQ09M X0FMTDsKLSAgICAgICBlbHNlCmRpZmYgLS1naXQgYS9zcmNwa2dzL3ZpcnR1b3NvL3BhdGNoZXMv dXNlLW1rc3RlbXAucGF0Y2ggYi9zcmNwa2dzL3ZpcnR1b3NvL3BhdGNoZXMvdXNlLW1rc3RlbXAu cGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQ3MWI3ZTQxN2JkOS4uMDAwMDAw MDAwMDAwCi0tLSBhL3NyY3BrZ3MvdmlydHVvc28vcGF0Y2hlcy91c2UtbWtzdGVtcC5wYXRjaAor KysgL2Rldi9udWxsCkBAIC0xLDE4ICswLDAgQEAKLVNvdXJjZTogQHB1bGxtb2xsCi1VcHN0cmVh bTogbm8KLVJlYXNvbjogQXZvaWQgbWt0ZW1wKDMpIGJlY2F1c2UgIk5ldmVyIHVzZSB0aGlzIGZ1 bmN0aW9uOyBzZWUgQlVHUy4iCi0KLS0tLSBhL2xpYnNyYy9Eay9Ea3Nlc3N0ci5jCTIwMTgtMDgt MTYgMDE6MDY6MjEuMDAwMDAwMDAwICswMjAwCi0rKysgYi9saWJzcmMvRGsvRGtzZXNzdHIuYwky MDIwLTAxLTI3IDE1OjIyOjAwLjk1Mzg3NjI1MSArMDEwMAotQEAgLTI5OCw4ICsyOTgsMTAgQEAK LSAgICAgICBpZiAoIXNlczItPnNlc19maWxlLT5zZXNfbWF4X2Jsb2Nrc19pbl9tZW0pCi0gCXsK LSAJICBjaGFyIGZuYW1lW1BBVEhfTUFYICsgMV07Ci0rICAgICAgICAgIGludCBmZDsKLSAJICBz bnByaW50ZiAoZm5hbWUsIHNpemVvZiAoZm5hbWUpLCAiJXMvc2VzWFhYWFhYIiwgc2VzX3RtcF9k aXIpOwotLQkgIG1rdGVtcCAoZm5hbWUpOwotKwkgIGZkID0gbWtzdGVtcCAoZm5hbWUpOwotKyAg ICAgICAgICBjbG9zZSAoZmQpOwotIAotICNpZiBkZWZpbmVkIChXSU4zMikKLSAjIGRlZmluZSBP UEVOX0ZMQUdTICAJICBPX0NSRUFUIHwgT19SRFdSIHwgT19CSU5BUlkgfCBPX0VYQ0wgfCBPX1RF TVBPUkFSWQpkaWZmIC0tZ2l0IGEvc3JjcGtncy92aXJ0dW9zby90ZW1wbGF0ZSBiL3NyY3BrZ3Mv dmlydHVvc28vdGVtcGxhdGUKaW5kZXggNzNlNTkwMjNkMzVlLi43ODM5MDlmMGRlMTQgMTAwNjQ0 Ci0tLSBhL3NyY3BrZ3MvdmlydHVvc28vdGVtcGxhdGUKKysrIGIvc3JjcGtncy92aXJ0dW9zby90 ZW1wbGF0ZQpAQCAtMSwxOCArMSwxOCBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAndmlydHVvc28n CiBwa2duYW1lPXZpcnR1b3NvCi12ZXJzaW9uPTcuMi41LjEKLXJldmlzaW9uPTMKK3ZlcnNpb249 Ny4yLjgKK3JldmlzaW9uPTEKIGFyY2hzPSJ4ODZfNjQqIGFhcmNoNjQqIHBwYzY0bGUqIgogYnVp bGRfc3R5bGU9Z251LWNvbmZpZ3VyZQotY29uZmlndXJlX2FyZ3M9Ii0tZW5hYmxlLXN0YXRpYyIK LWhvc3RtYWtlZGVwZW5kcz0iYXV0b21ha2UgbGlidG9vbCBmbGV4IGdwZXJmIG5ldC10b29scyIK K2hvc3RtYWtlZGVwZW5kcz0iYXV0b21ha2UgbGlidG9vbCBmbGV4IGdwZXJmIG5ldC10b29scyB3 aGljaCIKIG1ha2VkZXBlbmRzPSJvcGVuc3NsLWRldmVsIGxpYmxkYXAtZGV2ZWwgcmVhZGxpbmUt ZGV2ZWwgbGlieG1sMi1kZXZlbCBtaXQta3JiNS1kZXZlbCIKK2NoZWNrZGVwZW5kcz0icHJvY3Bz LW5nIHVuemlwIGN1cmwiCiBzaG9ydF9kZXNjPSJTY2FsYWJsZSBjcm9zcy1wbGF0Zm9ybSBzZXJ2 ZXIgb2YgdmlydHVvc28iCiBtYWludGFpbmVyPSJPcnBoYW5lZCA8b3JwaGFuQHZvaWRsaW51eC5v cmc+IgotbGljZW5zZT0iR1BMLTIiCitsaWNlbnNlPSJHUEwtMi4wLW9ubHkiCiBob21lcGFnZT0i aHR0cDovL3ZpcnR1b3NvLm9wZW5saW5rc3cuY29tL3dpa2kvbWFpbi9NYWluLyIKIGRpc3RmaWxl cz0iaHR0cHM6Ly9naXRodWIuY29tL29wZW5saW5rL3ZpcnR1b3NvLW9wZW5zb3VyY2UvYXJjaGl2 ZS92JHt2ZXJzaW9ufS50YXIuZ3oiCi1jaGVja3N1bT0zZTQ4MDdlOTQwOThiODI2NWY4Y2YwMDg2 N2QxMjE1YmIxZTlkMGQyNzQ4NzhlNTlhNDIwNzQyZDJkZTQ3MWMyCitjaGVja3N1bT1iN2E4Yjc5 OTQzYWVmN2RlMWQ3ZjdhOTg0MDI3NzQ3Nzc2YWIwYjQ0Y2Y2ZTE2MGNiZDY2MDg1ZTViZDkxZWQ1 CiAjIGNhbm5vdCBleGVjdXRlIGJpbmFyeSBmaWxlOiBFeGVjIGZvcm1hdCBlcnJvcgogbm9jcm9z cz0iaHR0cHM6Ly9idWlsZC52b2lkbGludXgub3JnL2J1aWxkZXJzL2FybXY2bF9idWlsZGVyL2J1 aWxkcy8yOTE4Ny9zdGVwcy9zaGVsbF8zL2xvZ3Mvc3RkaW8iCiAKQEAgLTQ1LDggKzQ1LDYgQEAg cG9zdF9pbnN0YWxsKCkgewogCXJtICR7REVTVERJUn0vdXNyL2xpYi92aXJ0b2RiY19yLnthLHNv fQogCXJtICR7REVTVERJUn0vdXNyL2xpYi92aXJ0b2RiY3Uue2Esc299CiAJcm0gJHtERVNURElS fS91c3IvbGliL3ZpcnRvZGJjdV9yLnthLHNvfQotCSMgcmVtb3ZlIHN0YXRpYyBsaWJzLgotCXJt ICR7REVTVERJUn0vdXNyL2xpYi92aXJ0dW9zby1vcGVuc291cmNlLSR7dmVyc2lvbiUlLip9L2hv c3RpbmcvKi5hCiB9CiAKIHZpcnR1b3NvLWJhc2VfcGFja2FnZSgpIHsKQEAgLTYyLDYgKzYwLDYg QEAgdmlydHVvc28tYmFzZV9wYWNrYWdlKCkgewogCQkJCSR7UEtHREVTVERJUn0vdXNyL2Jpbi8k e2Jpbn0tdnQKIAkJZG9uZQogCQkjIFJlbW92ZSBzdGF0aWMgbGlicyBhbmQgbGlidG9vbCBhcmNo aXZlcy4KLQkJcm0gLWYgJHtQS0dERVNURElSfS91c3IvbGliLyoue2EsbGF9CisJCXJtIC1mICR7 UEtHREVTVERJUn0vdXNyL2xpYi8qLmxhCiAJfQogfQoKRnJvbSAzZmY0NjQzZGIwMGYyZWRkOGY5 Zjk2YTk5OTY5ZjBlYjJiMDkzM2ZhIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBLbGFy YSBNb2RpbiA8a2xhcmFzbW9kaW5AZ21haWwuY29tPgpEYXRlOiBXZWQsIDEgRmViIDIwMjMgMTY6 NDM6NTggKzAxMDAKU3ViamVjdDogW1BBVENIIDM5LzM5XSB4MmdvY2xpZW50OiByZXZidW1wIGR1 ZSB0byBvcGVubGRhcCB1cGRhdGUKCi0tLQogc3JjcGtncy94MmdvY2xpZW50L3RlbXBsYXRlIHwg MiArLQogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZm IC0tZ2l0IGEvc3JjcGtncy94MmdvY2xpZW50L3RlbXBsYXRlIGIvc3JjcGtncy94MmdvY2xpZW50 L3RlbXBsYXRlCmluZGV4IGJhMmQ1Nzc4MWM0ZC4uNzBjOWZhZWM0ZDRlIDEwMDY0NAotLS0gYS9z cmNwa2dzL3gyZ29jbGllbnQvdGVtcGxhdGUKKysrIGIvc3JjcGtncy94MmdvY2xpZW50L3RlbXBs YXRlCkBAIC0xLDcgKzEsNyBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAneDJnb2NsaWVudCcKIHBr Z25hbWU9eDJnb2NsaWVudAogdmVyc2lvbj00LjEuMi4yCi1yZXZpc2lvbj0yCityZXZpc2lvbj0z CiBidWlsZF9zdHlsZT1nbnUtbWFrZWZpbGUKIGJ1aWxkX2hlbHBlcj1xbWFrZQogbWFrZV9idWls ZF9hcmdzPSJRTUFLRV9CSU5BUlk9cW1ha2UtcXQ1IExSRUxFQVNFX0JJTkFSWT1scmVsZWFzZS1x dDUiCg== --===============7282095220397637896==--