From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 From: Orphaned Packages Process To: git-commits@fedoraproject.org Subject: [rpms/rubygem-xmlparser] rawhide: Orphaned for 6+ weeks Date: Fri, 26 Jun 2026 02:08:43 GMT Message-ID: <178243972379.1.2428754312498380258.rpms-rubygem-xmlparser-45f2b4f9e1f4@fedoraproject.org> List-ID: X-Git-Repo: rpms/rubygem-xmlparser X-Git-Branch: rawhide X-Git-Rev: 45f2b4f9e1f4c9ac8fef209165453c5129cf74e2 QSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KClJlcG8gICA6IHJwbXMvcnVieWdlbS14bWxw YXJzZXIKQnJhbmNoIDogcmF3aGlkZQpDb21taXQgOiA0NWYyYjRmOWUxZjRjOWFjOGZlZjIwOTE2 NTQ1M2M1MTI5Y2Y3NGUyCkF1dGhvciA6IE9ycGhhbmVkIFBhY2thZ2VzIFByb2Nlc3MgPHBhY2th Z2luZy1yZXBvcnRzQGZlZG9yYXByb2plY3Qub3JnPgpEYXRlICAgOiAyMDI2LTA2LTI1VDIxOjA4 OjM5LTA1OjAwClN0YXRzICA6ICsxLy0xMDMyIGluIDcgZmlsZShzKQpVUkwgICAgOiBodHRwczov L3NyYy5mZWRvcmFwcm9qZWN0Lm9yZy9ycG1zL3J1YnlnZW0teG1scGFyc2VyL2MvNDVmMmI0Zjll MWY0YzlhYzhmZWYyMDkxNjU0NTNjNTEyOWNmNzRlMj9icmFuY2g9cmF3aGlkZQoKTG9nOgpPcnBo YW5lZCBmb3IgNisgd2Vla3MKCi0tLQpkaWZmIC0tZ2l0IGEvLmdpdGlnbm9yZSBiLy5naXRpZ25v cmUKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDI0MTA4YzguLjAwMDAwMDAKLS0tIGEv LmdpdGlnbm9yZQorKysgL2Rldi9udWxsCkBAIC0xLDMgKzAsMCBAQAotL3htbHBhcnNlci0wLjYu ODEuZ2VtCi0veG1scGFyc2VyLTAuNy4yLmdlbQotL3htbHBhcnNlci0wLjcuMi4xLmdlbQoKZGlm ZiAtLWdpdCBhL2RlYWQucGFja2FnZSBiL2RlYWQucGFja2FnZQpuZXcgZmlsZSBtb2RlIDEwMDY0 NAppbmRleCAwMDAwMDAwLi41MjA0YTg0Ci0tLSAvZGV2L251bGwKKysrIGIvZGVhZC5wYWNrYWdl CkBAIC0wLDAgKzEgQEAKK09ycGhhbmVkIGZvciA2KyB3ZWVrcwoKZGlmZiAtLWdpdCBhL3J1Ynln ZW0teG1scGFyc2VyLWM5OS5wYXRjaCBiL3J1YnlnZW0teG1scGFyc2VyLWM5OS5wYXRjaApkZWxl dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzA5NjcxNS4uMDAwMDAwMAotLS0gYS9ydWJ5Z2Vt LXhtbHBhcnNlci1jOTkucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw3OTAgKzAsMCBAQAotVGhp cyBmaXhlcyBhIGJ1bmNoIG9mIGludC1jb252ZXJzaW9uIGlzc3VlcywgYW5kIG9uZQotaW5jb21w YXRpYmxlLXBvaW50ZXItdHlwZXMgcHJvYmxlbS4gIEFsbCBsb29rIGhhcm1sZXNzLgotCi1kaWZm IC1VOCAtdXIgeG1scGFyc2VyLTAuNy4yLjEub3JpZy9leHQveG1scGFyc2VyLmMgeG1scGFyc2Vy LTAuNy4yLjEvZXh0L3htbHBhcnNlci5jCi0tLS0geG1scGFyc2VyLTAuNy4yLjEub3JpZy9leHQv eG1scGFyc2VyLmMJMjAyNC0wMS0wMyAxMzo1ODoyNi40NzgwMTEzMjYgKzAxMDAKLSsrKyB4bWxw YXJzZXItMC43LjIuMS9leHQveG1scGFyc2VyLmMJMjAyNC0wMS0wMyAxNDoxNjoxMi43NzIyOTA4 NjAgKzAxMDAKLUBAIC0yMjMsMTcgKzIyMywxNyBAQAotIC8qIEV2ZW50IGhhbmRsZXJzIGZvciBp dGVyYXRvciAqLwotIHN0YXRpYyB2b2lkCi0gaXRlclN0YXJ0RWxlbWVudEhhbmRsZXIodm9pZCAq cmVjdiwKLSAJCQljb25zdCBYTUxfQ2hhciAqbmFtZSwgY29uc3QgWE1MX0NoYXIgKiphdHRzKQot IHsKLSAgIFhNTFBhcnNlciogcGFyc2VyOwotICAgVkFMVUUgYXR0cmhhc2g7Ci0gCi0tICBHRVRf UEFSU0VSKHJlY3YsIHBhcnNlcik7Ci0rICBHRVRfUEFSU0VSKChWQUxVRSlyZWN2LCBwYXJzZXIp OwotICNpZmRlZiBORVdfRVhQQVQKLSAgIHBhcnNlci0+bGFzdEF0dHJzID0gYXR0czsKLSAjZW5k aWYKLSAgIGF0dHJoYXNoID0gcmJfaGFzaF9uZXcoKTsKLSAgIHdoaWxlICgqYXR0cykgewotICAg ICBjb25zdCBjaGFyKiBrZXkgPSAqYXR0cysrOwotICAgICBjb25zdCBjaGFyKiB2YWwgPSAqYXR0 cysrOwotICAgICByYl9oYXNoX2FzZXQoYXR0cmhhc2gsCi1AQCAtMjQ5LDYzICsyNDksNjMgQEAK LSAgIH0KLSB9Ci0gCi0gc3RhdGljIHZvaWQKLSBpdGVyRW5kRWxlbWVudEhhbmRsZXIodm9pZCAq cmVjdiwKLSAJCSAgICAgIGNvbnN0IFhNTF9DaGFyICpuYW1lKQotIHsKLSAgIFhNTFBhcnNlciog cGFyc2VyOwotLSAgR0VUX1BBUlNFUihyZWN2LCBwYXJzZXIpOwotKyAgR0VUX1BBUlNFUigoVkFM VUUpcmVjdiwgcGFyc2VyKTsKLSAgIHJiX3lpZWxkKHJiX2FyeV9uZXczKDQsIHN5bUVORF9FTEVN LAotIAkJICAgICAgIFRPXyhFTkNfKHJiX3N0cl9uZXcyKChjaGFyKiluYW1lKSkpLCBRbmlsLCBy ZWN2KSk7Ci0gICBpZiAocGFyc2VyLT5kZWZhdWx0Q3VycmVudCkgewotICAgICBwYXJzZXItPmRl ZmF1bHRDdXJyZW50ID0gMDsKLSAgICAgWE1MX0RlZmF1bHRDdXJyZW50KHBhcnNlci0+cGFyc2Vy KTsKLSAgIH0KLSB9Ci0gCi0gc3RhdGljIHZvaWQKLSBpdGVyQ2hhcmFjdGVyRGF0YUhhbmRsZXIo dm9pZCAqcmVjdiwKLSAJCQkgY29uc3QgWE1MX0NoYXIgKnMsCi0gCQkgICAgICAgaW50IGxlbikK LSB7Ci0gICBYTUxQYXJzZXIqIHBhcnNlcjsKLS0gIEdFVF9QQVJTRVIocmVjdiwgcGFyc2VyKTsK LSsgIEdFVF9QQVJTRVIoKFZBTFVFKXJlY3YsIHBhcnNlcik7Ci0gICByYl95aWVsZChyYl9hcnlf bmV3Myg0LCBzeW1DREFUQSwKLSAJCSAgICAgICBRbmlsLCBUT18oRU5DXyhyYl9zdHJfbmV3KChj aGFyKilzLCBsZW4pKSksIHJlY3YpKTsKLSAgIGlmIChwYXJzZXItPmRlZmF1bHRDdXJyZW50KSB7 Ci0gICAgIHBhcnNlci0+ZGVmYXVsdEN1cnJlbnQgPSAwOwotICAgICBYTUxfRGVmYXVsdEN1cnJl bnQocGFyc2VyLT5wYXJzZXIpOwotICAgfQotIH0KLSAKLSBzdGF0aWMgdm9pZAotIGl0ZXJQcm9j ZXNzaW5nSW5zdHJ1Y3Rpb25IYW5kbGVyKHZvaWQgKnJlY3YsCi0gCQkJCSBjb25zdCBYTUxfQ2hh ciAqdGFyZ2V0LAotIAkJCQkgY29uc3QgWE1MX0NoYXIgKmRhdGEpCi0gewotICAgWE1MUGFyc2Vy KiBwYXJzZXI7Ci0tICBHRVRfUEFSU0VSKHJlY3YsIHBhcnNlcik7Ci0rICBHRVRfUEFSU0VSKChW QUxVRSlyZWN2LCBwYXJzZXIpOwotICAgcmJfeWllbGQocmJfYXJ5X25ldzMoNCwgc3ltUEksCi0g CQkgICAgICAgVE9fKEVOQ18ocmJfc3RyX25ldzIoKGNoYXIqKXRhcmdldCkpKSwKLSAJCSAgICAg ICBUT18oRU5DXyhyYl9zdHJfbmV3MigoY2hhciopZGF0YSkpKSwgcmVjdikpOwotICAgaWYgKHBh cnNlci0+ZGVmYXVsdEN1cnJlbnQpIHsKLSAgICAgcGFyc2VyLT5kZWZhdWx0Q3VycmVudCA9IDA7 Ci0gICAgIFhNTF9EZWZhdWx0Q3VycmVudChwYXJzZXItPnBhcnNlcik7Ci0gICB9Ci0gfQotIAot IHN0YXRpYyB2b2lkCi0gaXRlckRlZmF1bHRIYW5kbGVyKHZvaWQgKnJlY3YsCi0gCQkgICBjb25z dCBYTUxfQ2hhciAqcywKLSAJCSAgIGludCBsZW4pCi0gewotICAgWE1MUGFyc2VyKiBwYXJzZXI7 Ci0tICBHRVRfUEFSU0VSKHJlY3YsIHBhcnNlcik7Ci0rICBHRVRfUEFSU0VSKChWQUxVRSlyZWN2 LCBwYXJzZXIpOwotICAgcmJfeWllbGQocmJfYXJ5X25ldzMoNCwgc3ltREVGQVVMVCwKLSAJCSAg ICAgICBRbmlsLCBUT18oRU5DXyhyYl9zdHJfbmV3KChjaGFyKilzLCBsZW4pKSksIHJlY3YpKTsK LSAgIGlmIChwYXJzZXItPmRlZmF1bHRDdXJyZW50KSB7Ci0gICAgIHBhcnNlci0+ZGVmYXVsdEN1 cnJlbnQgPSAwOwotICAgICAvKiBYTUxfRGVmYXVsdEN1cnJlbnQgc2hvb3VsZCBub3QgY2FsbCBp biBkZWZhdWx0SGFuZGxlciAqLwotICAgICAvKiBYTUxfRGVmYXVsdEN1cnJlbnQocGFyc2VyLT5w YXJzZXIpOyAqLwotICAgfQotIH0KLUBAIC0zMTYsMTcgKzMxNiwxNyBAQAotIAkJCSAgICAgIGNv bnN0IFhNTF9DaGFyICpiYXNlLAotIAkJCSAgICAgIGNvbnN0IFhNTF9DaGFyICpzeXN0ZW1JZCwK LSAJCQkgICAgICBjb25zdCBYTUxfQ2hhciAqcHVibGljSWQsCi0gCQkJICAgICAgY29uc3QgWE1M X0NoYXIgKm5vdGF0aW9uTmFtZSkKLSB7Ci0gICBYTUxQYXJzZXIqIHBhcnNlcjsKLSAgIFZBTFVF IHZhbGFyeTsKLSAKLS0gIEdFVF9QQVJTRVIocmVjdiwgcGFyc2VyKTsKLSsgIEdFVF9QQVJTRVIo KFZBTFVFKXJlY3YsIHBhcnNlcik7Ci0gICB2YWxhcnkgPSByYl9hcnlfbmV3Myg0LCAoYmFzZSA/ IFRPXyhFTkNfKHJiX3N0cl9uZXcyKChjaGFyKiliYXNlKSkpIDogUW5pbCksCi0gCQkgICAgICAg VE9fKEVOQ18ocmJfc3RyX25ldzIoKGNoYXIqKXN5c3RlbUlkKSkpLAotIAkJICAgICAgIChwdWJs aWNJZCA/IFRPXyhFTkNfKHJiX3N0cl9uZXcyKChjaGFyKilwdWJsaWNJZCkpKSA6IFFuaWwpLAot IAkJICAgICAgIFRPXyhFTkNfKHJiX3N0cl9uZXcyKChjaGFyKilub3RhdGlvbk5hbWUpKSkpOwot ICAgcmJfeWllbGQocmJfYXJ5X25ldzMoNCwgc3ltVU5QQVJTRURfRU5USVRZX0RFQ0wsCi0gCQkg ICAgICAgVE9fKEVOQ18ocmJfc3RyX25ldzIoKGNoYXIqKWVudGl0eU5hbWUpKSksCi0gCQkgICAg ICAgdmFsYXJ5LCByZWN2KSk7Ci0gICBpZiAocGFyc2VyLT5kZWZhdWx0Q3VycmVudCkgewotQEAg LTM0MCwxNyArMzQwLDE3IEBACi0gCQkJY29uc3QgWE1MX0NoYXIgKm5vdGF0aW9uTmFtZSwKLSAJ CQljb25zdCBYTUxfQ2hhciAqYmFzZSwKLSAJCQljb25zdCBYTUxfQ2hhciAqc3lzdGVtSWQsCi0g CQkJY29uc3QgWE1MX0NoYXIgKnB1YmxpY0lkKQotIHsKLSAgIFhNTFBhcnNlciogcGFyc2VyOwot ICAgVkFMVUUgdmFsYXJ5OwotIAotLSAgR0VUX1BBUlNFUihyZWN2LCBwYXJzZXIpOwotKyAgR0VU X1BBUlNFUigoVkFMVUUpcmVjdiwgcGFyc2VyKTsKLSAgIHZhbGFyeSA9IHJiX2FyeV9uZXczKDMs Ci0gCQkgICAgICAgKGJhc2UgPyBUT18oRU5DXyhyYl9zdHJfbmV3MigoY2hhciopYmFzZSkpKSA6 IFFuaWwpLAotIAkJICAgICAgIChzeXN0ZW1JZCA/IFRPXyhFTkNfKHJiX3N0cl9uZXcyKChjaGFy KilzeXN0ZW1JZCkpKSA6IFFuaWwpLAotIAkJICAgICAgIChwdWJsaWNJZCA/IFRPXyhFTkNfKHJi X3N0cl9uZXcyKChjaGFyKilwdWJsaWNJZCkpKSA6IFFuaWwpKTsKLSAgIHJiX3lpZWxkKHJiX2Fy eV9uZXczKDQsIHN5bU5PVEFUSU9OX0RFQ0wsCi0gCQkgICAgICAgVE9fKEVOQ18ocmJfc3RyX25l dzIoKGNoYXIqKW5vdGF0aW9uTmFtZSkpKSwKLSAJCSAgICAgICB2YWxhcnksIHJlY3YpKTsKLSAg IGlmIChwYXJzZXItPmRlZmF1bHRDdXJyZW50KSB7Ci1AQCAtMzkwLDcxICszOTAsNzEgQEAKLSB9 Ci0gCi0gI2lmZGVmIE5FV19FWFBBVAotIHN0YXRpYyB2b2lkCi0gaXRlckNvbW1lbnRIYW5kbGVy KHZvaWQgKnJlY3YsCi0gCQkgICBjb25zdCBYTUxfQ2hhciAqcykKLSB7Ci0gICBYTUxQYXJzZXIq IHBhcnNlcjsKLS0gIEdFVF9QQVJTRVIocmVjdiwgcGFyc2VyKTsKLSsgIEdFVF9QQVJTRVIoKFZB TFVFKXJlY3YsIHBhcnNlcik7Ci0gICByYl95aWVsZChyYl9hcnlfbmV3Myg0LCBzeW1DT01NRU5U LAotIAkJICAgICAgIFFuaWwsIFRPXyhFTkNfKHJiX3N0cl9uZXcyKChjaGFyKilzKSkpLCByZWN2 KSk7Ci0gICBpZiAocGFyc2VyLT5kZWZhdWx0Q3VycmVudCkgewotICAgICBwYXJzZXItPmRlZmF1 bHRDdXJyZW50ID0gMDsKLSAgICAgWE1MX0RlZmF1bHRDdXJyZW50KHBhcnNlci0+cGFyc2VyKTsK LSAgIH0KLSB9Ci0gCi0gc3RhdGljIHZvaWQKLSBpdGVyU3RhcnRDZGF0YVNlY3Rpb25IYW5kbGVy KHZvaWQgKnJlY3YpCi0gewotICAgWE1MUGFyc2VyKiBwYXJzZXI7Ci0tICBHRVRfUEFSU0VSKHJl Y3YsIHBhcnNlcik7Ci0rICBHRVRfUEFSU0VSKChWQUxVRSlyZWN2LCBwYXJzZXIpOwotICAgcmJf eWllbGQocmJfYXJ5X25ldzMoNCwgc3ltU1RBUlRfQ0RBVEEsIFFuaWwsIFFuaWwsIHJlY3YpKTsK LSAgIGlmIChwYXJzZXItPmRlZmF1bHRDdXJyZW50KSB7Ci0gICAgIHBhcnNlci0+ZGVmYXVsdEN1 cnJlbnQgPSAwOwotICAgICBYTUxfRGVmYXVsdEN1cnJlbnQocGFyc2VyLT5wYXJzZXIpOwotICAg fQotIH0KLSAKLSBzdGF0aWMgdm9pZAotIGl0ZXJFbmRDZGF0YVNlY3Rpb25IYW5kbGVyKHZvaWQg KnJlY3YpCi0gewotICAgWE1MUGFyc2VyKiBwYXJzZXI7Ci0tICBHRVRfUEFSU0VSKHJlY3YsIHBh cnNlcik7Ci0rICBHRVRfUEFSU0VSKChWQUxVRSlyZWN2LCBwYXJzZXIpOwotICAgcmJfeWllbGQo cmJfYXJ5X25ldzMoNCwgc3ltRU5EX0NEQVRBLCBRbmlsLCBRbmlsLCByZWN2KSk7Ci0gICBpZiAo cGFyc2VyLT5kZWZhdWx0Q3VycmVudCkgewotICAgICBwYXJzZXItPmRlZmF1bHRDdXJyZW50ID0g MDsKLSAgICAgWE1MX0RlZmF1bHRDdXJyZW50KHBhcnNlci0+cGFyc2VyKTsKLSAgIH0KLSB9Ci0g Ci0gc3RhdGljIHZvaWQKLSBpdGVyU3RhcnROYW1lc3BhY2VEZWNsSGFuZGxlcih2b2lkICpyZWN2 LAotIAkJCSAgICAgIGNvbnN0IFhNTF9DaGFyICpwcmVmaXgsCi0gCQkJICAgICAgY29uc3QgWE1M X0NoYXIgKnVyaSkKLSB7Ci0gICBYTUxQYXJzZXIqIHBhcnNlcjsKLS0gIEdFVF9QQVJTRVIocmVj diwgcGFyc2VyKTsKLSsgIEdFVF9QQVJTRVIoKFZBTFVFKXJlY3YsIHBhcnNlcik7Ci0gICByYl95 aWVsZChyYl9hcnlfbmV3Myg0LCBzeW1TVEFSVF9OQU1FU1BBQ0VfREVDTCwKLSAJCSAgICAgICAo cHJlZml4ID8gVE9fKEVOQ18ocmJfc3RyX25ldzIoKGNoYXIqKXByZWZpeCkpKSA6IFFuaWwpLAot IAkJICAgICAgICh1cmkgPyBUT18oRU5DXyhyYl9zdHJfbmV3MigoY2hhciopdXJpKSkpIDogUW5p bCksIHJlY3YpKTsKLSAgIGlmIChwYXJzZXItPmRlZmF1bHRDdXJyZW50KSB7Ci0gICAgIHBhcnNl ci0+ZGVmYXVsdEN1cnJlbnQgPSAwOwotICAgICBYTUxfRGVmYXVsdEN1cnJlbnQocGFyc2VyLT5w YXJzZXIpOwotICAgfQotIH0KLSAKLSBzdGF0aWMgdm9pZAotIGl0ZXJFbmROYW1lc3BhY2VEZWNs SGFuZGxlcih2b2lkICpyZWN2LAotIAkJCSAgICBjb25zdCBYTUxfQ2hhciAqcHJlZml4KQotIHsK LSAgIFhNTFBhcnNlciogcGFyc2VyOwotLSAgR0VUX1BBUlNFUihyZWN2LCBwYXJzZXIpOwotKyAg R0VUX1BBUlNFUigoVkFMVUUpcmVjdiwgcGFyc2VyKTsKLSAgIHJiX3lpZWxkKHJiX2FyeV9uZXcz KDQsIHN5bUVORF9OQU1FU1BBQ0VfREVDTCwKLSAJCSAgICAgICAocHJlZml4ID8gVE9fKEVOQ18o cmJfc3RyX25ldzIoKGNoYXIqKXByZWZpeCkpKSA6IFFuaWwpLAotIAkJICAgICAgIFFuaWwsIHJl Y3YpKTsKLSAgIGlmIChwYXJzZXItPmRlZmF1bHRDdXJyZW50KSB7Ci0gICAgIHBhcnNlci0+ZGVm YXVsdEN1cnJlbnQgPSAwOwotICAgICBYTUxfRGVmYXVsdEN1cnJlbnQocGFyc2VyLT5wYXJzZXIp OwotICAgfQotIH0KLUBAIC00NzEsMTcgKzQ3MSwxNyBAQAotICNlbHNlCi0gaXRlclN0YXJ0RG9j dHlwZURlY2xIYW5kbGVyKHZvaWQgKnJlY3YsCi0gCQkJICAgIGNvbnN0IFhNTF9DaGFyICpkb2N0 eXBlTmFtZSkKLSAjZW5kaWYKLSB7Ci0gICBYTUxQYXJzZXIqIHBhcnNlcjsKLSAgIFZBTFVFIHZh bGFyeSA9IFFuaWw7Ci0gCi0tICBHRVRfUEFSU0VSKHJlY3YsIHBhcnNlcik7Ci0rICBHRVRfUEFS U0VSKChWQUxVRSlyZWN2LCBwYXJzZXIpOwotICNpZmRlZiBIQVZFX0VYUEFUX0gKLSAgIHZhbGFy eSA9IHJiX2FyeV9uZXczKDMsCi0gCQkgICAgICAgKHN5c2lkID8gVE9fKEVOQ18ocmJfc3RyX25l dzIoKGNoYXIqKXN5c2lkKSkpIDogUW5pbCksCi0gCQkgICAgICAgKHB1YmlkID8gVE9fKEVOQ18o cmJfc3RyX25ldzIoKGNoYXIqKXB1YmlkKSkpIDogUW5pbCksCi0gCQkgICAgICAgKGhhc19pbnRl cm5hbF9zdWJzZXQgPyBRdHJ1ZSA6IFFmYWxzZSkpOwotICNlbmRpZgotICAgcmJfeWllbGQocmJf YXJ5X25ldzMoNCwgc3ltU1RBUlRfRE9DVFlQRV9ERUNMLAotIAkJICAgICAgIFRPXyhFTkNfKHJi X3N0cl9uZXcyKChjaGFyKilkb2N0eXBlTmFtZSkpKSwKLUBAIC00OTEsMTcgKzQ5MSwxNyBAQAot ICAgICBYTUxfRGVmYXVsdEN1cnJlbnQocGFyc2VyLT5wYXJzZXIpOwotICAgfQotIH0KLSAKLSBz dGF0aWMgdm9pZAotIGl0ZXJFbmREb2N0eXBlRGVjbEhhbmRsZXIodm9pZCAqcmVjdikKLSB7Ci0g ICBYTUxQYXJzZXIqIHBhcnNlcjsKLS0gIEdFVF9QQVJTRVIocmVjdiwgcGFyc2VyKTsKLSsgIEdF VF9QQVJTRVIoKFZBTFVFKXJlY3YsIHBhcnNlcik7Ci0gICByYl95aWVsZChyYl9hcnlfbmV3Myg0 LCBzeW1FTkRfRE9DVFlQRV9ERUNMLAotIAkJICAgICAgIFFuaWwsCi0gCQkgICAgICAgUW5pbCwg cmVjdikpOwotICAgaWYgKHBhcnNlci0+ZGVmYXVsdEN1cnJlbnQpIHsKLSAgICAgcGFyc2VyLT5k ZWZhdWx0Q3VycmVudCA9IDA7Ci0gICAgIFhNTF9EZWZhdWx0Q3VycmVudChwYXJzZXItPnBhcnNl cik7Ci0gICB9Ci0gfQotQEAgLTU0MywxNyArNTQzLDE3IEBACi0gCi0gc3RhdGljIHZvaWQKLSBp dGVyRWxlbWVudERlY2xIYW5kbGVyKHZvaWQgKnJlY3YsCi0gCQkgICAgICAgY29uc3QgWE1MX0No YXIgKm5hbWUsCi0gCQkgICAgICAgWE1MX0NvbnRlbnQgKm1vZGVsKQotIHsKLSAgIFhNTFBhcnNl ciogcGFyc2VyOwotICAgVkFMVUUgY29udGVudDsKLS0gIEdFVF9QQVJTRVIocmVjdiwgcGFyc2Vy KTsKLSsgIEdFVF9QQVJTRVIoKFZBTFVFKXJlY3YsIHBhcnNlcik7Ci0gICBjb250ZW50ID0gbWFr ZUNvbnRlbnRBcnJheShwYXJzZXIsIG1vZGVsKTsKLSAgIHJiX3lpZWxkKHJiX2FyeV9uZXczKDQs IHN5bUVMRU1FTlRfREVDTCwKLSAJCSAgICAgICBUT18oRU5DXyhyYl9zdHJfbmV3MihuYW1lKSkp LAotIAkJICAgICAgIGNvbnRlbnQsIHJlY3YpKTsKLSAgIGlmIChwYXJzZXItPmRlZmF1bHRDdXJy ZW50KSB7Ci0gICAgIHBhcnNlci0+ZGVmYXVsdEN1cnJlbnQgPSAwOwotICAgICBYTUxfRGVmYXVs dEN1cnJlbnQocGFyc2VyLT5wYXJzZXIpOwotICAgfQotQEAgLTU2NSwxNyArNTY1LDE3IEBACi0g CQkJY29uc3QgWE1MX0NoYXIgKmF0dG5hbWUsCi0gCQkJY29uc3QgWE1MX0NoYXIgKmF0dF90eXBl LAotIAkJCWNvbnN0IFhNTF9DaGFyICpkZmx0LAotIAkJCWludCBpc3JlcXVpcmVkKQotIHsKLSAg IFhNTFBhcnNlciogcGFyc2VyOwotICAgVkFMVUUgdmFsYXJ5OwotIAotLSAgR0VUX1BBUlNFUihy ZWN2LCBwYXJzZXIpOwotKyAgR0VUX1BBUlNFUigoVkFMVUUpcmVjdiwgcGFyc2VyKTsKLSAgIHZh bGFyeSA9IHJiX2FyeV9uZXczKDQsCi0gCQkgICAgICAgVE9fKEVOQ18ocmJfc3RyX25ldzIoKGNo YXIqKWF0dG5hbWUpKSksCi0gCQkgICAgICAgVE9fKEVOQ18ocmJfc3RyX25ldzIoKGNoYXIqKWF0 dF90eXBlKSkpLAotIAkJICAgICAgIChkZmx0ID8gVE9fKEVOQ18ocmJfc3RyX25ldzIoKGNoYXIq KWRmbHQpKSkgOiBRbmlsKSwKLSAJCSAgICAgICAoaXNyZXF1aXJlZCA/IFF0cnVlIDogUWZhbHNl KSk7Ci0gICByYl95aWVsZChyYl9hcnlfbmV3Myg0LCBzeW1BVFRMSVNUX0RFQ0wsCi0gCQkgICAg ICAgVE9fKEVOQ18ocmJfc3RyX25ldzIoZWxuYW1lKSkpLAotIAkJICAgICAgIHZhbGFyeSwgcmVj dikpOwotQEAgLTU4OSwxNyArNTg5LDE3IEBACi0gaXRlclhtbERlY2xIYW5kbGVyICh2b2lkICpy ZWN2LAotIAkJICAgIGNvbnN0IFhNTF9DaGFyICp2ZXJzaW9uLAotIAkJICAgIGNvbnN0IFhNTF9D aGFyICplbmNvZGluZywKLSAJCSAgICBpbnQgc3RhbmRhbG9uZSkKLSB7Ci0gICBYTUxQYXJzZXIq IHBhcnNlcjsKLSAgIFZBTFVFIHZhbGFyeTsKLSAKLS0gIEdFVF9QQVJTRVIocmVjdiwgcGFyc2Vy KTsKLSsgIEdFVF9QQVJTRVIoKFZBTFVFKXJlY3YsIHBhcnNlcik7Ci0gICB2YWxhcnkgPSByYl9h cnlfbmV3MygzLAotIAkJICAgICAgICh2ZXJzaW9uID8gVE9fKEVOQ18ocmJfc3RyX25ldzIodmVy c2lvbikpKSA6IFFuaWwpLAotIAkJICAgICAgIChlbmNvZGluZyA/IFRPXyhFTkNfKHJiX3N0cl9u ZXcyKChjaGFyKillbmNvZGluZykpKSA6IFFuaWwpLAotIAkJICAgICAgIElOVDJGSVgoc3RhbmRh bG9uZSkpOwotICAgcmJfeWllbGQocmJfYXJ5X25ldzMoNCwgc3ltWE1MX0RFQ0wsCi0gCQkgICAg ICAgUW5pbCwKLSAJCSAgICAgICB2YWxhcnksIHJlY3YpKTsKLSAgIGlmIChwYXJzZXItPmRlZmF1 bHRDdXJyZW50KSB7Ci1AQCAtNjE3LDE3ICs2MTcsMTcgQEAKLSAJCSAgICAgICBjb25zdCBYTUxf Q2hhciAqYmFzZSwKLSAJCSAgICAgICBjb25zdCBYTUxfQ2hhciAqc3lzdGVtSWQsCi0gCQkgICAg ICAgY29uc3QgWE1MX0NoYXIgKnB1YmxpY0lkLAotIAkJICAgICAgIGNvbnN0IFhNTF9DaGFyICpu b3RhdGlvbk5hbWUpCi0gewotICAgWE1MUGFyc2VyKiBwYXJzZXI7Ci0gICBWQUxVRSB2YWxhcnk7 Ci0gCi0tICBHRVRfUEFSU0VSKHJlY3YsIHBhcnNlcik7Ci0rICBHRVRfUEFSU0VSKChWQUxVRSly ZWN2LCBwYXJzZXIpOwotICAgdmFsYXJ5ID0gcmJfYXJ5X25ldzMoNiwKLSAJCSAgICAgICAoaXNf cGFyYW1ldGVyX2VudGl0eSA/IFF0cnVlIDogUWZhbHNlKSwKLSAJCSAgICAgICBUT18oRU5DXyhy Yl9zdHJfbmV3KChjaGFyKil2YWx1ZSwgdmFsdWVfbGVuZ3RoKSkpLAotIAkJICAgICAgIChiYXNl ID8gVE9fKEVOQ18ocmJfc3RyX25ldzIoKGNoYXIqKWJhc2UpKSkgOiBRbmlsKSwKLSAJCSAgICAg ICAoc3lzdGVtSWQgPyBUT18oRU5DXyhyYl9zdHJfbmV3MigoY2hhciopc3lzdGVtSWQpKSkgOiBR bmlsKSwKLSAJCSAgICAgICAocHVibGljSWQgPyBUT18oRU5DXyhyYl9zdHJfbmV3MigoY2hhciop cHVibGljSWQpKSkgOiBRbmlsKSwKLSAJCSAgICAgICAobm90YXRpb25OYW1lID8gVE9fKEVOQ18o cmJfc3RyX25ldzIoKGNoYXIqKW5vdGF0aW9uTmFtZSkpKQotIAkJCTogUW5pbCkpOwotQEAgLTY0 OCwxNyArNjQ4LDE3IEBACi0gCQkJCSAgICBjb25zdCBYTUxfQ2hhciAqZW50aXR5TmFtZSwKLSAJ CQkJICAgIGNvbnN0IFhNTF9DaGFyICpiYXNlLAotIAkJCQkgICAgY29uc3QgWE1MX0NoYXIgKnN5 c3RlbUlkLAotIAkJCQkgICAgY29uc3QgWE1MX0NoYXIgKnB1YmxpY0lkKQotIHsKLSAgIFhNTFBh cnNlciogcGFyc2VyOwotICAgVkFMVUUgdmFsYXJ5OwotIAotLSAgR0VUX1BBUlNFUihyZWN2LCBw YXJzZXIpOwotKyAgR0VUX1BBUlNFUigoVkFMVUUpcmVjdiwgcGFyc2VyKTsKLSAgIHZhbGFyeSA9 IHJiX2FyeV9uZXczKDMsIChiYXNlID8gVE9fKEVOQ18ocmJfc3RyX25ldzIoKGNoYXIqKWJhc2Up KSkgOiBRbmlsKSwKLSAJCSAgICAgICBUT18oRU5DXyhyYl9zdHJfbmV3MigoY2hhciopc3lzdGVt SWQpKSksCi0gCQkgICAgICAgKHB1YmxpY0lkID8gVE9fKEVOQ18ocmJfc3RyX25ldzIoKGNoYXIq KXB1YmxpY0lkKSkpIDogUW5pbCkpOwotICAgcmJfeWllbGQocmJfYXJ5X25ldzMoNCwgc3ltRVhU RVJOQUxfUEFSU0VEX0VOVElUWV9ERUNMLAotIAkJICAgICAgIFRPXyhFTkNfKHJiX3N0cl9uZXcy KChjaGFyKillbnRpdHlOYW1lKSkpLAotIAkJICAgICAgIHZhbGFyeSwgcmVjdikpOwotICAgaWYg KHBhcnNlci0+ZGVmYXVsdEN1cnJlbnQpIHsKLSAgICAgcGFyc2VyLT5kZWZhdWx0Q3VycmVudCA9 IDA7Ci1AQCAtNjY4LDE3ICs2NjgsMTcgQEAKLSAKLSBzdGF0aWMgdm9pZAotIGl0ZXJJbnRlcm5h bFBhcnNlZEVudGl0eURlY2xIYW5kbGVyKHZvaWQgKnJlY3YsCi0gCQkJCSAgICBjb25zdCBYTUxf Q2hhciAqZW50aXR5TmFtZSwKLSAJCQkJICAgIGNvbnN0IFhNTF9DaGFyICpyZXBsYWNlbWVudFRl eHQsCi0gCQkJCSAgICBpbnQgcmVwbGFjZW1lbnRUZXh0TGVuZ3RoKQotIHsKLSAgIFhNTFBhcnNl ciogcGFyc2VyOwotLSAgR0VUX1BBUlNFUihyZWN2LCBwYXJzZXIpOwotKyAgR0VUX1BBUlNFUigo VkFMVUUpcmVjdiwgcGFyc2VyKTsKLSAgIHJiX3lpZWxkKHJiX2FyeV9uZXczKDQsIHN5bUlOVEVS TkFMX1BBUlNFRF9FTlRJVFlfREVDTCwKLSAJCSAgICAgICBUT18oRU5DXyhyYl9zdHJfbmV3Migo Y2hhciopZW50aXR5TmFtZSkpKSwKLSAJCSAgICAgICBUT18oRU5DXyhyYl9zdHJfbmV3KChjaGFy KilyZXBsYWNlbWVudFRleHQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHJlcGxhY2VtZW50VGV4dExlbmd0aCkpKSwgcmVjdikpOwotICAgaWYgKHBhcnNlci0+ ZGVmYXVsdEN1cnJlbnQpIHsKLSAgICAgcGFyc2VyLT5kZWZhdWx0Q3VycmVudCA9IDA7Ci0gICAg IFhNTF9EZWZhdWx0Q3VycmVudChwYXJzZXItPnBhcnNlcik7Ci0gICB9Ci1AQCAtNjg3LDE3ICs2 ODcsMTcgQEAKLSAKLSAjaWZkZWYgSEFWRV9YTUxfU0VUU0tJUFBFREVOVElUWUhBTkRMRVIKLSBz dGF0aWMgdm9pZAotIGl0ZXJTa2lwcGVkRW50aXR5SGFuZGxlcih2b2lkICpyZWN2LAotIAkJCSBj b25zdCBYTUxfQ2hhciAqZW50aXR5TmFtZSwKLSAJCQkgaW50IGlzX3BhcmFtZXRlcl9lbnRpdHkp Ci0gewotICAgWE1MUGFyc2VyKiBwYXJzZXI7Ci0tICBHRVRfUEFSU0VSKHJlY3YsIHBhcnNlcik7 Ci0rICBHRVRfUEFSU0VSKChWQUxVRSlyZWN2LCBwYXJzZXIpOwotICAgcmJfeWllbGQocmJfYXJ5 X25ldzMoNCwgc3ltU0tJUFBFRF9FTlRJVFksCi0gCQkgICAgICAgVE9fKEVOQ18ocmJfc3RyX25l dzIoKGNoYXIqKWVudGl0eU5hbWUpKSksCi0gCQkgICAgICAgSU5UMkZJWChpc19wYXJhbWV0ZXJf ZW50aXR5KSwgcmVjdikpOwotICAgaWYgKHBhcnNlci0+ZGVmYXVsdEN1cnJlbnQpIHsKLSAgICAg cGFyc2VyLT5kZWZhdWx0Q3VycmVudCA9IDA7Ci0gICAgIFhNTF9EZWZhdWx0Q3VycmVudChwYXJz ZXItPnBhcnNlcik7Ci0gICB9Ci0gfQotQEAgLTcwOCwxNyArNzA4LDE3IEBACi0gLyogRXZlbnQg aGFuZGxlcnMgZm9yIGluc3RhbmNlIG1ldGhvZCAqLwotIHN0YXRpYyB2b2lkCi0gbXlTdGFydEVs ZW1lbnRIYW5kbGVyKHZvaWQgKnJlY3YsCi0gCQkgICAgICBjb25zdCBYTUxfQ2hhciAqbmFtZSwg Y29uc3QgWE1MX0NoYXIgKiphdHRzKQotIHsKLSAgIFhNTFBhcnNlciogcGFyc2VyOwotICAgVkFM VUUgYXR0cmhhc2g7Ci0gCi0tICBHRVRfUEFSU0VSKHJlY3YsIHBhcnNlcik7Ci0rICBHRVRfUEFS U0VSKChWQUxVRSlyZWN2LCBwYXJzZXIpOwotICNpZmRlZiBORVdfRVhQQVQKLSAgIHBhcnNlci0+ bGFzdEF0dHJzID0gYXR0czsKLSAjZW5kaWYKLSAgIGF0dHJoYXNoID0gcmJfaGFzaF9uZXcoKTsK LSAgIHdoaWxlICgqYXR0cykgewotICAgICBjb25zdCBjaGFyKiBrZXkgPSAqYXR0cysrOwotICAg ICBjb25zdCBjaGFyKiB2YWwgPSAqYXR0cysrOwotICAgICByYl9oYXNoX2FzZXQoYXR0cmhhc2gs Ci1AQCAtNzI5LDk1ICs3MjksOTUgQEAKLSAJICAgICBUT18oRU5DXyhyYl9zdHJfbmV3MigoY2hh ciopbmFtZSkpKSwgYXR0cmhhc2gpOwotIH0KLSAKLSBzdGF0aWMgdm9pZAotIG15RW5kRWxlbWVu dEhhbmRsZXIodm9pZCAqcmVjdiwKLSAJCSAgICBjb25zdCBYTUxfQ2hhciAqbmFtZSkKLSB7Ci0g ICBYTUxQYXJzZXIqIHBhcnNlcjsKLS0gIEdFVF9QQVJTRVIocmVjdiwgcGFyc2VyKTsKLSsgIEdF VF9QQVJTRVIoKFZBTFVFKXJlY3YsIHBhcnNlcik7Ci0gICByYl9mdW5jYWxsKChWQUxVRSlyZWN2 LCBpZF9lbmRFbGVtZW50SGFuZGxlciwgMSwKLSAJICAgICBUT18oRU5DXyhyYl9zdHJfbmV3Migo Y2hhciopbmFtZSkpKSk7Ci0gfQotIAotIHN0YXRpYyB2b2lkCi0gbXlDaGFyYWN0ZXJEYXRhSGFu ZGxlcih2b2lkICpyZWN2LAotIAkJICAgICAgIGNvbnN0IFhNTF9DaGFyICpzLAotIAkJICAgICAg IGludCBsZW4pCi0gewotICAgWE1MUGFyc2VyKiBwYXJzZXI7Ci0tICBHRVRfUEFSU0VSKHJlY3Ys IHBhcnNlcik7Ci0rICBHRVRfUEFSU0VSKChWQUxVRSlyZWN2LCBwYXJzZXIpOwotICAgcmJfZnVu Y2FsbCgoVkFMVUUpcmVjdiwgaWRfY2hhcmFjdGVyRGF0YUhhbmRsZXIsIDEsCi0gCSAgICAgVE9f KEVOQ18ocmJfc3RyX25ldygoY2hhciopcywgbGVuKSkpKTsKLSB9Ci0gCi0gc3RhdGljIHZvaWQK LSBteVByb2Nlc3NpbmdJbnN0cnVjdGlvbkhhbmRsZXIodm9pZCAqcmVjdiwKLSAJCQkgICAgICAg Y29uc3QgWE1MX0NoYXIgKnRhcmdldCwKLSAJCQkgICAgICAgY29uc3QgWE1MX0NoYXIgKmRhdGEp Ci0gewotICAgWE1MUGFyc2VyKiBwYXJzZXI7Ci0tICBHRVRfUEFSU0VSKHJlY3YsIHBhcnNlcik7 Ci0rICBHRVRfUEFSU0VSKChWQUxVRSlyZWN2LCBwYXJzZXIpOwotICAgcmJfZnVuY2FsbCgoVkFM VUUpcmVjdiwgaWRfcHJvY2Vzc2luZ0luc3RydWN0aW9uSGFuZGxlciwgMiwKLSAJICAgICBUT18o RU5DXyhyYl9zdHJfbmV3MigoY2hhciopdGFyZ2V0KSkpLAotIAkgICAgIFRPXyhFTkNfKHJiX3N0 cl9uZXcyKChjaGFyKilkYXRhKSkpKTsKLSB9Ci0gCi0gc3RhdGljIHZvaWQKLSBteURlZmF1bHRI YW5kbGVyKHZvaWQgKnJlY3YsCi0gCQkgY29uc3QgWE1MX0NoYXIgKnMsCi0gCQkgaW50IGxlbikK LSB7Ci0gICBYTUxQYXJzZXIqIHBhcnNlcjsKLS0gIEdFVF9QQVJTRVIocmVjdiwgcGFyc2VyKTsK LSsgIEdFVF9QQVJTRVIoKFZBTFVFKXJlY3YsIHBhcnNlcik7Ci0gICByYl9mdW5jYWxsKChWQUxV RSlyZWN2LCBpZF9kZWZhdWx0SGFuZGxlciwgMSwKLSAJICAgICBUT18oRU5DXyhyYl9zdHJfbmV3 KChjaGFyKilzLCBsZW4pKSkpOwotIH0KLSAKLSAjaWZkZWYgTkVXX0VYUEFUCi0gc3RhdGljIHZv aWQKLSBteURlZmF1bHRFeHBhbmRIYW5kbGVyKHZvaWQgKnJlY3YsCi0gCQkgY29uc3QgWE1MX0No YXIgKnMsCi0gCQkgaW50IGxlbikKLSB7Ci0gICBYTUxQYXJzZXIqIHBhcnNlcjsKLS0gIEdFVF9Q QVJTRVIocmVjdiwgcGFyc2VyKTsKLSsgIEdFVF9QQVJTRVIoKFZBTFVFKXJlY3YsIHBhcnNlcik7 Ci0gICByYl9mdW5jYWxsKChWQUxVRSlyZWN2LCBpZF9kZWZhdWx0RXhwYW5kSGFuZGxlciwgMSwK LSAJICAgICBUT18oRU5DXyhyYl9zdHJfbmV3KChjaGFyKilzLCBsZW4pKSkpOwotIH0KLSAjZW5k aWYKLSAKLSB2b2lkCi0gbXlVbnBhcnNlZEVudGl0eURlY2xIYW5kbGVyKHZvaWQgKnJlY3YsCi0g CQkJICAgIGNvbnN0IFhNTF9DaGFyICplbnRpdHlOYW1lLAotIAkJCSAgICBjb25zdCBYTUxfQ2hh ciAqYmFzZSwKLSAJCQkgICAgY29uc3QgWE1MX0NoYXIgKnN5c3RlbUlkLAotIAkJCSAgICBjb25z dCBYTUxfQ2hhciAqcHVibGljSWQsCi0gCQkJICAgIGNvbnN0IFhNTF9DaGFyICpub3RhdGlvbk5h bWUpCi0gewotICAgWE1MUGFyc2VyKiBwYXJzZXI7Ci0tICBHRVRfUEFSU0VSKHJlY3YsIHBhcnNl cik7Ci0rICBHRVRfUEFSU0VSKChWQUxVRSlyZWN2LCBwYXJzZXIpOwotICAgcmJfZnVuY2FsbCgo VkFMVUUpcmVjdiwgaWRfdW5wYXJzZWRFbnRpdHlEZWNsSGFuZGxlciwgNSwKLSAJICAgICBUT18o RU5DXyhyYl9zdHJfbmV3MigoY2hhciopZW50aXR5TmFtZSkpKSwKLSAJICAgICAoYmFzZSA/IFRP XyhFTkNfKHJiX3N0cl9uZXcyKChjaGFyKiliYXNlKSkpIDogUW5pbCksCi0gCSAgICAgVE9fKEVO Q18ocmJfc3RyX25ldzIoKGNoYXIqKXN5c3RlbUlkKSkpLAotIAkgICAgIChwdWJsaWNJZCA/IFRP XyhFTkNfKHJiX3N0cl9uZXcyKChjaGFyKilwdWJsaWNJZCkpKSA6IFFuaWwpLAotIAkgICAgIFRP XyhFTkNfKHJiX3N0cl9uZXcyKChjaGFyKilub3RhdGlvbk5hbWUpKSkpOwotIH0KLSAKLSB2b2lk Ci0gbXlOb3RhdGlvbkRlY2xIYW5kbGVyKHZvaWQgKnJlY3YsCi0gCQkgICAgICBjb25zdCBYTUxf Q2hhciAqbm90YXRpb25OYW1lLAotIAkJICAgICAgY29uc3QgWE1MX0NoYXIgKmJhc2UsCi0gCQkg ICAgICBjb25zdCBYTUxfQ2hhciAqc3lzdGVtSWQsCi0gCQkgICAgICBjb25zdCBYTUxfQ2hhciAq cHVibGljSWQpCi0gewotICAgWE1MUGFyc2VyKiBwYXJzZXI7Ci0tICBHRVRfUEFSU0VSKHJlY3Ys IHBhcnNlcik7Ci0rICBHRVRfUEFSU0VSKChWQUxVRSlyZWN2LCBwYXJzZXIpOwotICAgcmJfZnVu Y2FsbCgoVkFMVUUpcmVjdiwgaWRfbm90YXRpb25EZWNsSGFuZGxlciwgNCwKLSAJICAgICBUT18o RU5DXyhyYl9zdHJfbmV3MigoY2hhciopbm90YXRpb25OYW1lKSkpLAotIAkgICAgIChiYXNlID8g VE9fKEVOQ18ocmJfc3RyX25ldzIoKGNoYXIqKWJhc2UpKSkgOiBRbmlsKSwKLSAJICAgICAoc3lz dGVtSWQgPyBUT18oRU5DXyhyYl9zdHJfbmV3MigoY2hhciopc3lzdGVtSWQpKSkgOiBRbmlsKSwK LSAJICAgICAocHVibGljSWQgPyBUT18oRU5DXyhyYl9zdHJfbmV3MigoY2hhciopcHVibGljSWQp KSkgOiBRbmlsKSk7Ci0gfQotIAotIGludAotQEAgLTgyNyw4MyArODI3LDgzIEBACi0gCQkJICAg Y29uc3QgWE1MX0NoYXIgKnN5c3RlbUlkLAotIAkJCSAgIGNvbnN0IFhNTF9DaGFyICpwdWJsaWNJ ZCkKLSB7Ci0gICBYTUxQYXJzZXIqIHBhcnNlcjsKLSAgIFZBTFVFIHJlY3Y7Ci0gICBWQUxVRSBy ZXQ7Ci0gCi0gICByZWN2ID0gKFZBTFVFKVhNTF9HZXRVc2VyRGF0YSh4bWxwYXJzZXIpOwotLSAg R0VUX1BBUlNFUihyZWN2LCBwYXJzZXIpOwotKyAgR0VUX1BBUlNFUigoVkFMVUUpcmVjdiwgcGFy c2VyKTsKLSAgIHJldCA9IHJiX2Z1bmNhbGwocmVjdiwgaWRfZXh0ZXJuYWxFbnRpdHlSZWZIYW5k bGVyLCA0LAotIAkJICAgKGNvbnRleHQgPyBUT18oRU5DXyhyYl9zdHJfbmV3MigoY2hhciopY29u dGV4dCkpKTogUW5pbCksCi0gCQkgICAoYmFzZSA/IFRPXyhFTkNfKHJiX3N0cl9uZXcyKChjaGFy KiliYXNlKSkpIDogUW5pbCksCi0gCQkgICAoc3lzdGVtSWQgPyBUT18oRU5DXyhyYl9zdHJfbmV3 MigoY2hhciopc3lzdGVtSWQpKSkgOiBRbmlsKSwKLSAJCSAgIChwdWJsaWNJZCA/IFRPXyhFTkNf KHJiX3N0cl9uZXcyKChjaGFyKilwdWJsaWNJZCkpKSA6IFFuaWwpKTsKLSAgIC8qIFRoZSBlcnJv ciBzdGF0dXMgaW4gdGhpcyBoYW5kbGVyIHNob3VsZCBiZSByZXR1cm5lZAotICAgICAgYnkgdGhl IGV4Y2VwdGlvbi4gKi8KLSAgIHJldHVybiBRbmlsOwotIH0KLSAKLSAjaWZkZWYgTkVXX0VYUEFU Ci0gc3RhdGljIHZvaWQKLSBteUNvbW1lbnRIYW5kbGVyKHZvaWQgKnJlY3YsCi0gCQkgY29uc3Qg WE1MX0NoYXIgKnMpCi0gewotICAgWE1MUGFyc2VyKiBwYXJzZXI7Ci0tICBHRVRfUEFSU0VSKHJl Y3YsIHBhcnNlcik7Ci0rICBHRVRfUEFSU0VSKChWQUxVRSlyZWN2LCBwYXJzZXIpOwotICAgcmJf ZnVuY2FsbCgoVkFMVUUpcmVjdiwgaWRfY29tbWVudEhhbmRsZXIsIDEsCi0gCSAgICAgVE9fKEVO Q18ocmJfc3RyX25ldzIoKGNoYXIqKXMpKSkpOwotIH0KLSAKLSBzdGF0aWMgdm9pZAotIG15U3Rh cnRDZGF0YVNlY3Rpb25IYW5kbGVyKHZvaWQgKnJlY3YpCi0gewotICAgWE1MUGFyc2VyKiBwYXJz ZXI7Ci0tICBHRVRfUEFSU0VSKHJlY3YsIHBhcnNlcik7Ci0rICBHRVRfUEFSU0VSKChWQUxVRSly ZWN2LCBwYXJzZXIpOwotICAgcmJfZnVuY2FsbCgoVkFMVUUpcmVjdiwgaWRfc3RhcnRDZGF0YVNl Y3Rpb25IYW5kbGVyLCAwKTsKLSB9Ci0gCi0gc3RhdGljIHZvaWQKLSBteUVuZENkYXRhU2VjdGlv bkhhbmRsZXIodm9pZCAqcmVjdikKLSB7Ci0gICBYTUxQYXJzZXIqIHBhcnNlcjsKLS0gIEdFVF9Q QVJTRVIocmVjdiwgcGFyc2VyKTsKLSsgIEdFVF9QQVJTRVIoKFZBTFVFKXJlY3YsIHBhcnNlcik7 Ci0gICByYl9mdW5jYWxsKChWQUxVRSlyZWN2LCBpZF9lbmRDZGF0YVNlY3Rpb25IYW5kbGVyLCAw KTsKLSB9Ci0gCi0gc3RhdGljIHZvaWQKLSBteVN0YXJ0TmFtZXNwYWNlRGVjbEhhbmRsZXIodm9p ZCAqcmVjdiwKLSAJCQkgICAgY29uc3QgWE1MX0NoYXIgKnByZWZpeCwKLSAJCQkgICAgY29uc3Qg WE1MX0NoYXIgKnVyaSkKLSB7Ci0gICBYTUxQYXJzZXIqIHBhcnNlcjsKLS0gIEdFVF9QQVJTRVIo cmVjdiwgcGFyc2VyKTsKLSsgIEdFVF9QQVJTRVIoKFZBTFVFKXJlY3YsIHBhcnNlcik7Ci0gICBy Yl9mdW5jYWxsKChWQUxVRSlyZWN2LCBpZF9zdGFydE5hbWVzcGFjZURlY2xIYW5kbGVyLCAyLAot IAkgICAgIChwcmVmaXggPyBUT18oRU5DXyhyYl9zdHJfbmV3MigoY2hhciopcHJlZml4KSkpIDog UW5pbCksCi0gCSAgICAgKHVyaSA/IFRPXyhFTkNfKHJiX3N0cl9uZXcyKChjaGFyKil1cmkpKSkg OiBRbmlsKSk7Ci0gfQotIAotIHN0YXRpYyB2b2lkCi0gbXlFbmROYW1lc3BhY2VEZWNsSGFuZGxl cih2b2lkICpyZWN2LAotIAkJCSAgY29uc3QgWE1MX0NoYXIgKnByZWZpeCkKLSB7Ci0gICBYTUxQ YXJzZXIqIHBhcnNlcjsKLS0gIEdFVF9QQVJTRVIocmVjdiwgcGFyc2VyKTsKLSsgIEdFVF9QQVJT RVIoKFZBTFVFKXJlY3YsIHBhcnNlcik7Ci0gICByYl9mdW5jYWxsKChWQUxVRSlyZWN2LCBpZF9l bmROYW1lc3BhY2VEZWNsSGFuZGxlciwgMSwKLSAJICAgICAocHJlZml4ID8gVE9fKEVOQ18ocmJf c3RyX25ldzIoKGNoYXIqKXByZWZpeCkpKSA6IFFuaWwpKTsKLSB9Ci0gCi0gc3RhdGljIGludAot IG15Tm90U3RhbmRhbG9uZUhhbmRsZXIodm9pZCAqcmVjdikKLSB7Ci0gICBYTUxQYXJzZXIqIHBh cnNlcjsKLSAgIFZBTFVFIHY7Ci0gCi0tICBHRVRfUEFSU0VSKHJlY3YsIHBhcnNlcik7Ci0rICBH RVRfUEFSU0VSKChWQUxVRSlyZWN2LCBwYXJzZXIpOwotICAgdiA9IHJiX2Z1bmNhbGwoKFZBTFVF KXJlY3YsIGlkX25vdFN0YW5kYWxvbmVIYW5kbGVyLCAwKTsKLSAgIENoZWNrX1R5cGUodiwgVF9G SVhOVU0pOwotICAgcmV0dXJuIEZJWDJJTlQodik7Ci0gfQotICNlbmRpZgotIAotICNpZmRlZiBI QVZFX1hNTF9TRVRQQVJBTUVOVElUWVBBUlNJTkcKLSBzdGF0aWMgdm9pZAotQEAgLTkxNCwxNyAr OTE0LDE3IEBACi0gCQkJICBjb25zdCBYTUxfQ2hhciAqcHViaWQsCi0gCQkJICBpbnQgaGFzX2lu dGVybmFsX3N1YnNldCkKLSAjZWxzZQotIG15U3RhcnREb2N0eXBlRGVjbEhhbmRsZXIodm9pZCAq cmVjdiwKLSAJCQkgIGNvbnN0IFhNTF9DaGFyICpkb2N0eXBlTmFtZSkKLSAjZW5kaWYKLSB7Ci0g ICBYTUxQYXJzZXIqIHBhcnNlcjsKLS0gIEdFVF9QQVJTRVIocmVjdiwgcGFyc2VyKTsKLSsgIEdF VF9QQVJTRVIoKFZBTFVFKXJlY3YsIHBhcnNlcik7Ci0gI2lmZGVmIEhBVkVfRVhQQVRfSAotICAg cmJfZnVuY2FsbCgoVkFMVUUpcmVjdiwgaWRfc3RhcnREb2N0eXBlRGVjbEhhbmRsZXIsIDQsCi0g CSAgICAgVE9fKEVOQ18ocmJfc3RyX25ldzIoKGNoYXIqKWRvY3R5cGVOYW1lKSkpLAotIAkgICAg IChzeXNpZCA/IFRPXyhFTkNfKHJiX3N0cl9uZXcyKChjaGFyKilzeXNpZCkpKSA6IFFuaWwpLAot IAkgICAgIChwdWJpZCA/IFRPXyhFTkNfKHJiX3N0cl9uZXcyKChjaGFyKilwdWJpZCkpKSA6IFFu aWwpLAotIAkgICAgIChoYXNfaW50ZXJuYWxfc3Vic2V0ID8gUXRydWUgOiBRZmFsc2UpKTsKLSAj ZWxzZQotICAgcmJfZnVuY2FsbCgoVkFMVUUpcmVjdiwgaWRfc3RhcnREb2N0eXBlRGVjbEhhbmRs ZXIsIDQsCi1AQCAtOTMyLDYzICs5MzIsNjMgQEAKLSAJICAgICBRbmlsLCBRbmlsLCBRZmFsc2Up OwotICNlbmRpZgotIH0KLSAKLSBzdGF0aWMgdm9pZAotIG15RW5kRG9jdHlwZURlY2xIYW5kbGVy KHZvaWQgKnJlY3YpCi0gewotICAgWE1MUGFyc2VyKiBwYXJzZXI7Ci0tICBHRVRfUEFSU0VSKHJl Y3YsIHBhcnNlcik7Ci0rICBHRVRfUEFSU0VSKChWQUxVRSlyZWN2LCBwYXJzZXIpOwotICAgcmJf ZnVuY2FsbCgoVkFMVUUpcmVjdiwgaWRfZW5kRG9jdHlwZURlY2xIYW5kbGVyLCAwKTsKLSB9Ci0g I2VuZGlmCi0gCi0gCi0gI2lmZGVmIEhBVkVfRVhQQVRfSAotIAotIHN0YXRpYyB2b2lkCi0gbXlF bGVtZW50RGVjbEhhbmRsZXIodm9pZCAqcmVjdiwKLSAJCSAgICAgY29uc3QgWE1MX0NoYXIgKm5h bWUsCi0gCQkgICAgIFhNTF9Db250ZW50ICptb2RlbCkKLSB7Ci0gICBYTUxQYXJzZXIqIHBhcnNl cjsKLSAgIFZBTFVFIGNvbnRlbnQ7Ci0tICBHRVRfUEFSU0VSKHJlY3YsIHBhcnNlcik7Ci0rICBH RVRfUEFSU0VSKChWQUxVRSlyZWN2LCBwYXJzZXIpOwotICAgY29udGVudCA9IG1ha2VDb250ZW50 QXJyYXkocGFyc2VyLCBtb2RlbCk7Ci0gICByYl9mdW5jYWxsKChWQUxVRSlyZWN2LCBpZF9lbGVt ZW50RGVjbEhhbmRsZXIsIDIsCi0gCSAgICAgVE9fKEVOQ18ocmJfc3RyX25ldzIobmFtZSkpKSwg Y29udGVudCk7Ci0gfQotIAotIHN0YXRpYyB2b2lkCi0gbXlBdHRsaXN0RGVjbEhhbmRsZXIgKHZv aWQgKnJlY3YsCi0gCQkgICAgICBjb25zdCBYTUxfQ2hhciAqZWxuYW1lLAotIAkJICAgICAgY29u c3QgWE1MX0NoYXIgKmF0dG5hbWUsCi0gCQkgICAgICBjb25zdCBYTUxfQ2hhciAqYXR0X3R5cGUs Ci0gCQkgICAgICBjb25zdCBYTUxfQ2hhciAqZGZsdCwKLSAJCSAgICAgIGludCBpc3JlcXVpcmVk KQotIHsKLSAgIFhNTFBhcnNlciogcGFyc2VyOwotLSAgR0VUX1BBUlNFUihyZWN2LCBwYXJzZXIp OwotKyAgR0VUX1BBUlNFUigoVkFMVUUpcmVjdiwgcGFyc2VyKTsKLSAgIHJiX2Z1bmNhbGwoKFZB TFVFKXJlY3YsIGlkX2F0dGxpc3REZWNsSGFuZGxlciwgNSwKLSAJICAgICBUT18oRU5DXyhyYl9z dHJfbmV3MihlbG5hbWUpKSksCi0gCSAgICAgVE9fKEVOQ18ocmJfc3RyX25ldzIoKGNoYXIqKWF0 dG5hbWUpKSksCi0gCSAgICAgVE9fKEVOQ18ocmJfc3RyX25ldzIoKGNoYXIqKWF0dF90eXBlKSkp LAotIAkgICAgIChkZmx0ID8gVE9fKEVOQ18ocmJfc3RyX25ldzIoKGNoYXIqKWRmbHQpKSkgOiBR bmlsKSwKLSAJICAgICAoaXNyZXF1aXJlZCA/IFF0cnVlIDogUWZhbHNlKSk7Ci0gfQotIAotIHN0 YXRpYyB2b2lkCi0gbXlYbWxEZWNsSGFuZGxlciAodm9pZCAqcmVjdiwKLSAJCSAgY29uc3QgWE1M X0NoYXIgKnZlcnNpb24sCi0gCQkgIGNvbnN0IFhNTF9DaGFyICplbmNvZGluZywKLSAJCSAgaW50 IHN0YW5kYWxvbmUpCi0gewotICAgWE1MUGFyc2VyKiBwYXJzZXI7Ci0tICBHRVRfUEFSU0VSKHJl Y3YsIHBhcnNlcik7Ci0rICBHRVRfUEFSU0VSKChWQUxVRSlyZWN2LCBwYXJzZXIpOwotICAgcmJf ZnVuY2FsbCgoVkFMVUUpcmVjdiwgaWRfeG1sRGVjbEhhbmRsZXIsIDMsCi0gCSAgICAgKHZlcnNp b24gPyBUT18oRU5DXyhyYl9zdHJfbmV3Mih2ZXJzaW9uKSkpIDogUW5pbCksCi0gCSAgICAgKGVu Y29kaW5nID8gVE9fKEVOQ18ocmJfc3RyX25ldzIoKGNoYXIqKWVuY29kaW5nKSkpIDogUW5pbCks Ci0gCSAgICAgSU5UMkZJWChzdGFuZGFsb25lKSk7Ci0gfQotIAotIHN0YXRpYyB2b2lkCi0gbXlF bnRpdHlEZWNsSGFuZGxlciAodm9pZCAqcmVjdiwKLUBAIC05OTcsMTcgKzk5NywxNyBAQAotIAkJ ICAgICBjb25zdCBYTUxfQ2hhciAqdmFsdWUsCi0gCQkgICAgIGludCB2YWx1ZV9sZW5ndGgsCi0g CQkgICAgIGNvbnN0IFhNTF9DaGFyICpiYXNlLAotIAkJICAgICBjb25zdCBYTUxfQ2hhciAqc3lz dGVtSWQsCi0gCQkgICAgIGNvbnN0IFhNTF9DaGFyICpwdWJsaWNJZCwKLSAJCSAgICAgY29uc3Qg WE1MX0NoYXIgKm5vdGF0aW9uTmFtZSkKLSB7Ci0gICBYTUxQYXJzZXIqIHBhcnNlcjsKLS0gIEdF VF9QQVJTRVIocmVjdiwgcGFyc2VyKTsKLSsgIEdFVF9QQVJTRVIoKFZBTFVFKXJlY3YsIHBhcnNl cik7Ci0gICByYl9mdW5jYWxsKChWQUxVRSlyZWN2LCBpZF9lbnRpdHlEZWNsSGFuZGxlciwgNywK LSAJICAgICBUT18oRU5DXyhyYl9zdHJfbmV3MihlbnRpdHlOYW1lKSkpLAotIAkgICAgIChpc19w YXJhbWV0ZXJfZW50aXR5ID8gUXRydWUgOiBRZmFsc2UpLAotIAkgICAgIFRPXyhFTkNfKHJiX3N0 cl9uZXcoKGNoYXIqKXZhbHVlLCB2YWx1ZV9sZW5ndGgpKSksCi0gCSAgICAgKGJhc2UgPyBUT18o RU5DXyhyYl9zdHJfbmV3MigoY2hhciopYmFzZSkpKSA6IFFuaWwpLAotIAkgICAgIChzeXN0ZW1J ZCA/IFRPXyhFTkNfKHJiX3N0cl9uZXcyKChjaGFyKilzeXN0ZW1JZCkpKSA6IFFuaWwpLAotIAkg ICAgIChwdWJsaWNJZCA/IFRPXyhFTkNfKHJiX3N0cl9uZXcyKChjaGFyKilwdWJsaWNJZCkpKSA6 IFFuaWwpLAotIAkgICAgIChub3RhdGlvbk5hbWUgPyBUT18oRU5DXyhyYl9zdHJfbmV3MigoY2hh ciopbm90YXRpb25OYW1lKSkpCi1AQCAtMTAyMCwzMiArMTAyMCwzMiBAQAotIHN0YXRpYyB2b2lk Ci0gbXlFeHRlcm5hbFBhcnNlZEVudGl0eURlY2xIYW5kbGVyKHZvaWQgKnJlY3YsCi0gCQkJCSAg Y29uc3QgWE1MX0NoYXIgKmVudGl0eU5hbWUsCi0gCQkJCSAgY29uc3QgWE1MX0NoYXIgKmJhc2Us Ci0gCQkJCSAgY29uc3QgWE1MX0NoYXIgKnN5c3RlbUlkLAotIAkJCQkgIGNvbnN0IFhNTF9DaGFy ICpwdWJsaWNJZCkKLSB7Ci0gICBYTUxQYXJzZXIqIHBhcnNlcjsKLS0gIEdFVF9QQVJTRVIocmVj diwgcGFyc2VyKTsKLSsgIEdFVF9QQVJTRVIoKFZBTFVFKXJlY3YsIHBhcnNlcik7Ci0gICByYl9m dW5jYWxsKChWQUxVRSlyZWN2LCBpZF9leHRlcm5hbFBhcnNlZEVudGl0eURlY2xIYW5kbGVyLCA0 LAotIAkgICAgIFRPXyhFTkNfKHJiX3N0cl9uZXcyKChjaGFyKillbnRpdHlOYW1lKSkpLAotIAkg ICAgIChiYXNlID8gVE9fKEVOQ18ocmJfc3RyX25ldzIoKGNoYXIqKWJhc2UpKSkgOiBRbmlsKSwK LSAJICAgICBUT18oRU5DXyhyYl9zdHJfbmV3MigoY2hhciopc3lzdGVtSWQpKSksCi0gCSAgICAg KHB1YmxpY0lkID8gVE9fKEVOQ18ocmJfc3RyX25ldzIoKGNoYXIqKXB1YmxpY0lkKSkpIDogUW5p bCkpOwotIH0KLSAKLSBzdGF0aWMgdm9pZAotIG15SW50ZXJuYWxQYXJzZWRFbnRpdHlEZWNsSGFu ZGxlcih2b2lkICpyZWN2LAotIAkJCQkgIGNvbnN0IFhNTF9DaGFyICplbnRpdHlOYW1lLAotIAkJ CQkgIGNvbnN0IFhNTF9DaGFyICpyZXBsYWNlbWVudFRleHQsCi0gCQkJCSAgaW50IHJlcGxhY2Vt ZW50VGV4dExlbmd0aCkKLSB7Ci0gICBYTUxQYXJzZXIqIHBhcnNlcjsKLS0gIEdFVF9QQVJTRVIo cmVjdiwgcGFyc2VyKTsKLSsgIEdFVF9QQVJTRVIoKFZBTFVFKXJlY3YsIHBhcnNlcik7Ci0gICBy Yl9mdW5jYWxsKChWQUxVRSlyZWN2LCBpZF9pbnRlcm5hbFBhcnNlZEVudGl0eURlY2xIYW5kbGVy LCAyLAotIAkgICAgIFRPXyhFTkNfKHJiX3N0cl9uZXcyKChjaGFyKillbnRpdHlOYW1lKSkpLAot IAkgICAgIFRPXyhFTkNfKHJiX3N0cl9uZXcoKGNoYXIqKXJlcGxhY2VtZW50VGV4dCwKLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXBsYWNlbWVudFRleHRMZW5ndGgpKSkpOwot IH0KLSAjZW5kaWYKLSAKLSAKLUBAIC0xMjkxLDE3ICsxMjkxLDE3IEBACi0gc3RhdGljIGludAot IG15VW5rbm93bkVuY29kaW5nSGFuZGxlcih2b2lkICpyZWN2LAotIAkJCSBjb25zdCBYTUxfQ2hh ciAqbmFtZSwKLSAJCQkgWE1MX0VuY29kaW5nICppbmZvKQotIHsKLSAgIFhNTFBhcnNlciogcGFy c2VyOwotICAgVkFMVUUgcmV0OwotIAotLSAgR0VUX1BBUlNFUihyZWN2LCBwYXJzZXIpOwotKyAg R0VUX1BBUlNFUigoVkFMVUUpcmVjdiwgcGFyc2VyKTsKLSAgIHBhcnNlci0+ZGV0ZWN0ZWRFbmNv ZGluZyA9IG5hbWU7Ci0gCi0gICBpZiAoIXJiX21ldGhvZF9ib3VuZHAoQ0xBU1NfT0YoKFZBTFVF KXJlY3YpLCBpZF91bmtub3duRW5jb2RpbmcsIDApKQotICNpZm5kZWYgWE1MX0VOQ19QQVRICi0g ICAgIHJldHVybiAwOwotICNlbHNlCi0gICB7Ci0gICAgIEVuY2luZm8qIGVuYzsKLUBAIC0xMzQ3 LDE3ICsxMzQ3LDE3IEBACi0gCi0gI2lmZGVmIEhBVkVfWE1MX1NFVFNLSVBQRURFTlRJVFlIQU5E TEVSCi0gc3RhdGljIHZvaWQKLSBteVNraXBwZWRFbnRpdHlIYW5kbGVyKHZvaWQgKnJlY3YsCi0g CQkgICAgICAgY29uc3QgWE1MX0NoYXIgKmVudGl0eU5hbWUsCi0gCQkgICAgICAgaW50IGlzX3Bh cmFtZXRlcl9lbnRpdHkpCi0gewotICAgWE1MUGFyc2VyKiBwYXJzZXI7Ci0tICBHRVRfUEFSU0VS KHJlY3YsIHBhcnNlcik7Ci0rICBHRVRfUEFSU0VSKChWQUxVRSlyZWN2LCBwYXJzZXIpOwotICAg cmJfZnVuY2FsbCgoVkFMVUUpcmVjdiwgaWRfc2tpcHBlZEVudGl0eUhhbmRsZXIsIDIsCi0gCSAg ICAgVE9fKEVOQ18ocmJfc3RyX25ldzIoKGNoYXIqKWVudGl0eU5hbWUpKSksCi0gCSAgICAgSU5U MkZJWChpc19wYXJhbWV0ZXJfZW50aXR5KSk7Ci0gfQotICNlbmRpZgotIAotIAotIC8qIGNvbnN0 cnVjdG9yICovCi1AQCAtMTQ5MiwxNyArMTQ5MiwxNyBAQAotICAgcGFyc2VyLT5kZXRlY3RlZEVu Y29kaW5nID0gTlVMTDsKLSAKLSAgIHJiX29ial9jYWxsX2luaXQob2JqLCBhcmdjLCBhcmd2KTsK LSAKLSAgIHJldHVybiBvYmo7Ci0gfQotIAotIHN0YXRpYyBWQUxVRQotLVhNTFBhcnNlcl9pbml0 aWFsaXplKFZBTFVFIG9iaikKLStYTUxQYXJzZXJfaW5pdGlhbGl6ZShpbnQgYXJnYywgVkFMVUUq IGFyZ3YsIFZBTFVFIG9iaikKLSB7Ci0gICByZXR1cm4gUW5pbDsKLSB9Ci0gCi0gI2lmZGVmIEhB VkVfWE1MX1BBUlNFUlJFU0VUCi0gc3RhdGljIFZBTFVFCi0gWE1MUGFyc2VyX3Jlc2V0KGludCBh cmdjLCBWQUxVRSogYXJndiwgVkFMVUUgb2JqKQotIHsKCmRpZmYgLS1naXQgYS9ydWJ5Z2VtLXht bHBhcnNlci1lbmNfdG9fZW5jaW5kZXgtZml4LnBhdGNoIGIvcnVieWdlbS14bWxwYXJzZXItZW5j X3RvX2VuY2luZGV4LWZpeC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjE4 OWQ1Ny4uMDAwMDAwMAotLS0gYS9ydWJ5Z2VtLXhtbHBhcnNlci1lbmNfdG9fZW5jaW5kZXgtZml4 LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTIgKzAsMCBAQAotZGlmZiAtTmF1ciBvcmlnL2V4 dC94bWxwYXJzZXIuYyBuZXcvZXh0L3htbHBhcnNlci5jCi0tLS0gb3JpZy9leHQveG1scGFyc2Vy LmMJMTk3MC0wMS0wMSAwMTowMDowMC4wMDAwMDAwMDEgKzAxMDAKLSsrKyBuZXcvZXh0L3htbHBh cnNlci5jCTIwMjMtMTAtMDQgMTQ6NTM6MzQuMDAwMDAwMDAxICswMjAwCi1AQCAtMTgwMyw3ICsx ODAzLDcgQEAKLSAgICAgICB2b2xhdGlsZSBWQUxVRSBlbmNvYmo7Ci0gICAgICAgdm9sYXRpbGUg VkFMVUUgdXN0cjsKLSAgICAgICBlbmMgPSByYl9lbmNfZmluZChwYXJzZXItPmRldGVjdGVkRW5j b2RpbmcpOwotLSAgICAgIGlmICgoaW50KUVOQ19UT19FTkNJTkRFWChlbmMpICE9IHJiX2FzY2lp OGJpdF9lbmNpbmRleCgpKSB7Ci0rICAgICAgaWYgKChpbnQpcmJfZW5jX3RvX2luZGV4KGVuYykg IT0gcmJfYXNjaWk4Yml0X2VuY2luZGV4KCkpIHsKLSAgICAgICAgIHJiX2VuY19hc3NvY2lhdGUo c3RyLCBlbmMpOwotICAgICAgICAgZW5jb2JqID0gcmJfZW5jX2Zyb21fZW5jb2RpbmcoZW5jX3ht bCk7Ci0gICAgICAgICAvKiByYl9zdHJfZW5jb2RlIG1heSByYWlzZXMgYW4gZXhjZXB0aW9uICov CgpkaWZmIC0tZ2l0IGEvcnVieWdlbS14bWxwYXJzZXItZnRiZnMtZml4LnBhdGNoIGIvcnVieWdl bS14bWxwYXJzZXItZnRiZnMtZml4LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl eCBmZmY3NDdlLi4wMDAwMDAwCi0tLSBhL3J1YnlnZW0teG1scGFyc2VyLWZ0YmZzLWZpeC5wYXRj aAorKysgL2Rldi9udWxsCkBAIC0xLDIyICswLDAgQEAKLWRpZmYgLS1naXQgYS9leHQveG1scGFy c2VyLmMgYi9leHQveG1scGFyc2VyLmMKLWluZGV4IGFhMzJkMTEuLjY1YTY1NDAgMTAwNjQ0Ci0t LS0gYS9leHQveG1scGFyc2VyLmMKLSsrKyBiL2V4dC94bWxwYXJzZXIuYwotQEAgLTE3ODAsNyAr MTc4MCw3IEBAIFhNTFBhcnNlcl9wYXJzZShpbnQgYXJnYywgVkFMVUUqIGFyZ3YsIFZBTFVFIG9i aikKLSAgICAgICBpZiAoIXJldCkgewotIAlpbnQgZXJyID0gWE1MX0dldEVycm9yQ29kZShwYXJz ZXItPnBhcnNlcik7Ci0gCWNvbnN0IGNoYXIqIGVyclN0ciA9IFhNTF9FcnJvclN0cmluZyhlcnIp OwotLQlyYl9yYWlzZShlWE1MUGFyc2VyRXJyb3IsIChjaGFyKillcnJTdHIpOwotKwlyYl9yYWlz ZShlWE1MUGFyc2VyRXJyb3IsICIlcyIsIGVyclN0cik7Ci0gICAgICAgfQotICAgICB9IHdoaWxl ICghTklMX1AoYnVmKSk7Ci0gICAgIHJldHVybiBRbmlsOwotQEAgLTE4MjksNyArMTgyOSw3IEBA IFhNTFBhcnNlcl9wYXJzZShpbnQgYXJnYywgVkFMVUUqIGFyZ3YsIFZBTFVFIG9iaikKLSAgIGlm ICghcmV0KSB7Ci0gICAgIGludCBlcnIgPSBYTUxfR2V0RXJyb3JDb2RlKHBhcnNlci0+cGFyc2Vy KTsKLSAgICAgY29uc3QgY2hhciogZXJyU3RyID0gWE1MX0Vycm9yU3RyaW5nKGVycik7Ci0tICAg IHJiX3JhaXNlKGVYTUxQYXJzZXJFcnJvciwgKGNoYXIqKWVyclN0cik7Ci0rICAgIHJiX3JhaXNl KGVYTUxQYXJzZXJFcnJvciwgIiVzIiwgZXJyU3RyKTsKLSAgIH0KLSAKLSAgIHJldHVybiBRbmls OwoKZGlmZiAtLWdpdCBhL3J1YnlnZW0teG1scGFyc2VyLnNwZWMgYi9ydWJ5Z2VtLXhtbHBhcnNl ci5zcGVjCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiYjM3YmFhLi4wMDAwMDAwCi0t LSBhL3J1YnlnZW0teG1scGFyc2VyLnNwZWMKKysrIC9kZXYvbnVsbApAQCAtMSwyMDQgKzAsMCBA QAotJWdsb2JhbCBnZW1fbmFtZSB4bWxwYXJzZXIKLQotU3VtbWFyeTogUnVieSBiaW5kaW5ncyB0 byB0aGUgRXhwYXQgWE1MIHBhcnNpbmcgbGlicmFyeQotTmFtZTogcnVieWdlbS0le2dlbV9uYW1l fQotVmVyc2lvbjogMC43LjIuMQotUmVsZWFzZTogNDklez9kaXN0fQotR3JvdXA6IERldmVsb3Bt ZW50L0xhbmd1YWdlcwotIyBzcmMvbGliL3htbC94cGF0aC5yYiBpcyBHUEx2MisKLSMgc3JjL2V4 dC9lbmNvZGluZy5oIGFuZCB0aGUgZnVuY3Rpb25zIG9mIGVuY29kaW5nIG1hcCBhcmUgR1BMdjIr IG9yIEFydGlzdGljCi0jIEFsbCBvdGhlciBmaWxlcyBhcmUgUnVieSBvciBHUEx2Misgb3IgTUlU Ci0jIEZvciBhIGJyZWFrZG93biBvZiB0aGUgbGljZW5zaW5nLCBzZWUgYWxzbyBSRUFETUUKLUxp Y2Vuc2U6IEdQTC0yLjAtb3ItbGF0ZXIgYW5kICggIFJ1Ynkgb3IgR1BMLTIuMC1vci1sYXRlciBv ciBNSVQgKSBhbmQgKCAgR1BMLTEuMC1vci1sYXRlciBPUiBBcnRpc3RpYy0xLjAtUGVybCApCi1V Ukw6IGh0dHA6Ly9ydWJ5Z2Vtcy5vcmcvZ2Vtcy94bWxwYXJzZXIKLVNvdXJjZTA6IGh0dHA6Ly9n ZW1zLnJ1Ynlmb3JnZS5vcmcvZ2Vtcy8le2dlbV9uYW1lfS0le3ZlcnNpb259LmdlbQotIyBIYW5k bGUgJ2Zvcm1hdCBub3QgYSBzdHJpbmcgbGl0ZXJhbCBhbmQgbm8gZm9ybWF0IGFyZ3VtZW50cycg ZXJyb3IuCi0jIGh0dHBzOi8vYnVnemlsbGEucmVkaGF0LmNvbS9zaG93X2J1Zy5jZ2k/aWQ9MTAz NzMxMgotIyBUaGFua3MgdG8gR3JlZ29yIEhlcnJtYW5uIGZvciB0aGUgcGF0Y2guCi0jIGh0dHBz Oi8vd3d3Lm1haWwtYXJjaGl2ZS5jb20vZGViaWFuLWJ1Z3MtcmNAbGlzdHMuZGViaWFuLm9yZy9t c2cyOTcyMzMuaHRtbAotUGF0Y2gwOiBydWJ5Z2VtLXhtbHBhcnNlci1mdGJmcy1maXgucGF0Y2gK LVBhdGNoMTogcnVieWdlbS14bWxwYXJzZXItZW5jX3RvX2VuY2luZGV4LWZpeC5wYXRjaAotUGF0 Y2gyOiBydWJ5Z2VtLXhtbHBhcnNlci1jOTkucGF0Y2gKLUJ1aWxkUmVxdWlyZXM6IHBlcmwKLUJ1 aWxkUmVxdWlyZXM6IHJ1YnkKLUJ1aWxkUmVxdWlyZXM6IHJ1YnkocnVieWdlbXMpCi1CdWlsZFJl cXVpcmVzOiBydWJ5KHJlbGVhc2UpCi1CdWlsZFJlcXVpcmVzOiBydWJ5LWRldmVsCi1CdWlsZFJl cXVpcmVzOiBydWJ5Z2Vtcy1kZXZlbAotQnVpbGRSZXF1aXJlczogcnVieWdlbShyYWtlKQotQnVp bGRSZXF1aXJlczogcnVieWdlbShta3JmKQotQnVpbGRSZXF1aXJlczogZXhwYXQtZGV2ZWwKLQot JWRlc2NyaXB0aW9uCi1SdWJ5IGJpbmRpbmdzIHRvIHRoZSBFeHBhdCBYTUwgcGFyc2luZyBsaWJy YXJ5LiAKLQotJXByZXAKLWdlbSB1bnBhY2sgJXtTT1VSQ0UwfQotJXNldHVwIC1xIC1EIC1UIC1u ICAle2dlbV9uYW1lfS0le3ZlcnNpb259Ci0KLWdlbSBzcGVjICV7U09VUkNFMH0gLWwgLS1ydWJ5 ID4gJXtnZW1fbmFtZX0uZ2Vtc3BlYwotCi0lcGF0Y2ggLVAwIC1wMQotJXBhdGNoIC1QMSAtcDEK LSVwYXRjaCAtUDIgLXAxCi0KLSVidWlsZAotZ2VtIGJ1aWxkICV7Z2VtX25hbWV9LmdlbXNwZWMK LSVnZW1faW5zdGFsbAotCi0laW5zdGFsbAotcm0gLXJmICV7YnVpbGRyb290fQotbWtkaXIgLXAg JXtidWlsZHJvb3R9JXtnZW1fZGlyfQotY3AgLXJwIC4le2dlbV9kaXJ9LyogJXtidWlsZHJvb3R9 JXtnZW1fZGlyfS8KLQotIyByZW1vdmUgZGV2ZWxvcG1lbnQgc3R1ZmYKLXJtIC1yZiAle2J1aWxk cm9vdH0le2dlbV9pbnN0ZGlyfS9leHQKLQotIyBpbnN0YWxsIGV4dGVybmFscwotbWtkaXIgLXAg JXtidWlsZHJvb3R9JXtnZW1fZXh0ZGlyX21yaX0vCi1jcCAtYSAuLyV7Z2VtX2V4dGRpcl9tcml9 L3tnZW0uYnVpbGRfY29tcGxldGUsKi5zb30gJXtidWlsZHJvb3R9JXtnZW1fZXh0ZGlyX21yaX0v Ci0KLQotJWZpbGVzCi0le2dlbV9leHRkaXJfbXJpfQotJWRpciAle2dlbV9pbnN0ZGlyfS8KLSVk b2MgJXtnZW1faW5zdGRpcn0vW0EtWl0qCi0lZG9jICV7Z2VtX2RvY2Rpcn0KLSV7Z2VtX2luc3Rk aXJ9L1thLXpdKgotJWV4Y2x1ZGUgJXtnZW1fY2FjaGV9Ci0le2dlbV9zcGVjfQotCi0lY2hhbmdl bG9nCi0qIFNhdCBKYW4gMTcgMjAyNiBGZWRvcmEgUmVsZWFzZSBFbmdpbmVlcmluZyA8cmVsZW5n QGZlZG9yYXByb2plY3Qub3JnPiAtIDAuNy4yLjEtNDkKLS0gUmVidWlsdCBmb3IgaHR0cHM6Ly9m ZWRvcmFwcm9qZWN0Lm9yZy93aWtpL0ZlZG9yYV80NF9NYXNzX1JlYnVpbGQKLQotKiBUaHUgSmFu IDA4IDIwMjYgTWFtb3J1IFRBU0FLQSA8bXRhc2FrYUBmZWRvcmFwcm9qZWN0Lm9yZz4gLSAwLjcu Mi4xLTQ4Ci0tIFJlYnVpbGQgZm9yIGh0dHBzOi8vZmVkb3JhcHJvamVjdC5vcmcvd2lraS9DaGFu Z2VzL1J1YnlfNC4wCi0KLSogRnJpIEp1bCAyNSAyMDI1IEZlZG9yYSBSZWxlYXNlIEVuZ2luZWVy aW5nIDxyZWxlbmdAZmVkb3JhcHJvamVjdC5vcmc+IC0gMC43LjIuMS00NwotLSBSZWJ1aWx0IGZv ciBodHRwczovL2ZlZG9yYXByb2plY3Qub3JnL3dpa2kvRmVkb3JhXzQzX01hc3NfUmVidWlsZAot Ci0qIFN1biBKYW4gMTkgMjAyNSBGZWRvcmEgUmVsZWFzZSBFbmdpbmVlcmluZyA8cmVsZW5nQGZl ZG9yYXByb2plY3Qub3JnPiAtIDAuNy4yLjEtNDYKLS0gUmVidWlsdCBmb3IgaHR0cHM6Ly9mZWRv cmFwcm9qZWN0Lm9yZy93aWtpL0ZlZG9yYV80Ml9NYXNzX1JlYnVpbGQKLQotKiBXZWQgSmFuIDA4 IDIwMjUgTWFtb3J1IFRBU0FLQSA8bXRhc2FrYUBmZWRvcmFwcm9qZWN0Lm9yZz4gLSAwLjcuMi4x LTQ1Ci0tIFJlYnVpbGQgZm9yIGh0dHBzOi8vZmVkb3JhcHJvamVjdC5vcmcvd2lraS9DaGFuZ2Vz L1J1YnlfMy40Ci0KLSogRnJpIEp1bCAxOSAyMDI0IEZlZG9yYSBSZWxlYXNlIEVuZ2luZWVyaW5n IDxyZWxlbmdAZmVkb3JhcHJvamVjdC5vcmc+IC0gMC43LjIuMS00NAotLSBSZWJ1aWx0IGZvciBo dHRwczovL2ZlZG9yYXByb2plY3Qub3JnL3dpa2kvRmVkb3JhXzQxX01hc3NfUmVidWlsZAotCi0q IEZyaSBKYW4gMjYgMjAyNCBGZWRvcmEgUmVsZWFzZSBFbmdpbmVlcmluZyA8cmVsZW5nQGZlZG9y YXByb2plY3Qub3JnPiAtIDAuNy4yLjEtNDMKLS0gUmVidWlsdCBmb3IgaHR0cHM6Ly9mZWRvcmFw cm9qZWN0Lm9yZy93aWtpL0ZlZG9yYV80MF9NYXNzX1JlYnVpbGQKLQotKiBXZWQgSmFuIDAzIDIw MjQgRmxvcmlhbiBXZWltZXIgPGZ3ZWltZXJAcmVkaGF0LmNvbT4gLSAwLjcuMi4xLTQyCi0tIEZp eCBDIGNvbXBhdGliaWxpdHkgaXNzdWVzICgjMjI1NjYyNikKLQotKiBXZWQgSmFuIDAzIDIwMjQg TWFtb3J1IFRBU0FLQSA8bXRhc2FrYUBmZWRvcmFwcm9qZWN0Lm9yZz4gLSAwLjcuMi4xLTQxCi0t IFJlYnVpbGQgZm9yIGh0dHBzOi8vZmVkb3JhcHJvamVjdC5vcmcvd2lraS9DaGFuZ2VzL1J1Ynlf My4zCi0KLSogV2VkIEF1ZyAzMCAyMDIzIFVscmljaCBTY2h3aWNrZXJhdGggLSAwLjcuMi4xLTQw Ci0tIEFkZCBwYXRjaCBmb3IgdW5kZWZpbmVkIHN5bWJvbCBhcyBwcm9wb3NlZCBieSBBbnRvbmlv IFRlcmNlaXJvIGZvciBEZWJpYW4KLQotKiBTYXQgSnVsIDE0IDIwMTggRmVkb3JhIFJlbGVhc2Ug RW5naW5lZXJpbmcgPHJlbGVuZ0BmZWRvcmFwcm9qZWN0Lm9yZz4gLSAwLjcuMi4xLTIyCi0tIFJl YnVpbHQgZm9yIGh0dHBzOi8vZmVkb3JhcHJvamVjdC5vcmcvd2lraS9GZWRvcmFfMjlfTWFzc19S ZWJ1aWxkCi0KLSogRnJpIEZlYiAwOSAyMDE4IEZlZG9yYSBSZWxlYXNlIEVuZ2luZWVyaW5nIDxy ZWxlbmdAZmVkb3JhcHJvamVjdC5vcmc+IC0gMC43LjIuMS0yMQotLSBSZWJ1aWx0IGZvciBodHRw czovL2ZlZG9yYXByb2plY3Qub3JnL3dpa2kvRmVkb3JhXzI4X01hc3NfUmVidWlsZAotCi0qIFNh dCBKYW4gMjAgMjAxOCBCasO2cm4gRXNzZXIgPGJlc3NlcjgyQGZlZG9yYXByb2plY3Qub3JnPiAt IDAuNy4yLjEtMjAKLS0gUmVidWlsdCBmb3Igc3dpdGNoIHRvIGxpYnhjcnlwdAotCi0qIFRodSBK YW4gMDQgMjAxOCBNYW1vcnUgVEFTQUtBIDxtdGFzYWthQGZlZG9yYXByb2plY3Qub3JnPiAtIDAu Ny4yLjEtMTkKLS0gRi0yODogcmVidWlsZCBmb3IgcnVieTI1Ci0KLSogVGh1IEF1ZyAwMyAyMDE3 IEZlZG9yYSBSZWxlYXNlIEVuZ2luZWVyaW5nIDxyZWxlbmdAZmVkb3JhcHJvamVjdC5vcmc+IC0g MC43LjIuMS0xOAotLSBSZWJ1aWx0IGZvciBodHRwczovL2ZlZG9yYXByb2plY3Qub3JnL3dpa2kv RmVkb3JhXzI3X0JpbnV0aWxzX01hc3NfUmVidWlsZAotCi0qIFRodSBKdWwgMjcgMjAxNyBGZWRv cmEgUmVsZWFzZSBFbmdpbmVlcmluZyA8cmVsZW5nQGZlZG9yYXByb2plY3Qub3JnPiAtIDAuNy4y LjEtMTcKLS0gUmVidWlsdCBmb3IgaHR0cHM6Ly9mZWRvcmFwcm9qZWN0Lm9yZy93aWtpL0ZlZG9y YV8yN19NYXNzX1JlYnVpbGQKLQotKiBTYXQgRmViIDExIDIwMTcgRmVkb3JhIFJlbGVhc2UgRW5n aW5lZXJpbmcgPHJlbGVuZ0BmZWRvcmFwcm9qZWN0Lm9yZz4gLSAwLjcuMi4xLTE2Ci0tIFJlYnVp bHQgZm9yIGh0dHBzOi8vZmVkb3JhcHJvamVjdC5vcmcvd2lraS9GZWRvcmFfMjZfTWFzc19SZWJ1 aWxkCi0KLSogV2VkIEphbiAxMSAyMDE3IFbDrXQgT25kcnVjaCA8dm9uZHJ1Y2hAcmVkaGF0LmNv bT4gLSAwLjcuMi4xLTE1Ci0tIFJlYnVpbHQgZm9yIGh0dHBzOi8vZmVkb3JhcHJvamVjdC5vcmcv d2lraS9DaGFuZ2VzL1J1YnlfMi40Ci0KLSogVGh1IEZlYiAwNCAyMDE2IEZlZG9yYSBSZWxlYXNl IEVuZ2luZWVyaW5nIDxyZWxlbmdAZmVkb3JhcHJvamVjdC5vcmc+IC0gMC43LjIuMS0xNAotLSBS ZWJ1aWx0IGZvciBodHRwczovL2ZlZG9yYXByb2plY3Qub3JnL3dpa2kvRmVkb3JhXzI0X01hc3Nf UmVidWlsZAotCi0qIE1vbiBKYW4gMTEgMjAxNiBWw610IE9uZHJ1Y2ggPHZvbmRydWNoQHJlZGhh dC5jb20+IC0gMC43LjIuMS0xMwotLSBSZWJ1aWx0IGZvciBodHRwczovL2ZlZG9yYXByb2plY3Qu b3JnL3dpa2kvQ2hhbmdlcy9SdWJ5XzIuMwotCi0qIEZyaSBKdW4gMTkgMjAxNSBGZWRvcmEgUmVs ZWFzZSBFbmdpbmVlcmluZyA8cmVsLWVuZ0BsaXN0cy5mZWRvcmFwcm9qZWN0Lm9yZz4gLSAwLjcu Mi4xLTEyCi0tIFJlYnVpbHQgZm9yIGh0dHBzOi8vZmVkb3JhcHJvamVjdC5vcmcvd2lraS9GZWRv cmFfMjNfTWFzc19SZWJ1aWxkCi0KLSogRnJpIEphbiAxNiAyMDE1IFbDrXQgT25kcnVjaCA8dm9u ZHJ1Y2hAcmVkaGF0LmNvbT4gLSAwLjcuMi4xLTExCi0tIFJlYnVpbHQgZm9yIGh0dHBzOi8vZmVk b3JhcHJvamVjdC5vcmcvd2lraS9DaGFuZ2VzL1J1YnlfMi4yCi0KLSogTW9uIEF1ZyAxOCAyMDE0 IEZlZG9yYSBSZWxlYXNlIEVuZ2luZWVyaW5nIDxyZWwtZW5nQGxpc3RzLmZlZG9yYXByb2plY3Qu b3JnPiAtIDAuNy4yLjEtMTAKLS0gUmVidWlsdCBmb3IgaHR0cHM6Ly9mZWRvcmFwcm9qZWN0Lm9y Zy93aWtpL0ZlZG9yYV8yMV8yMl9NYXNzX1JlYnVpbGQKLQotKiBTdW4gSnVuIDA4IDIwMTQgRmVk b3JhIFJlbGVhc2UgRW5naW5lZXJpbmcgPHJlbC1lbmdAbGlzdHMuZmVkb3JhcHJvamVjdC5vcmc+ IC0gMC43LjIuMS05Ci0tIFJlYnVpbHQgZm9yIGh0dHBzOi8vZmVkb3JhcHJvamVjdC5vcmcvd2lr aS9GZWRvcmFfMjFfTWFzc19SZWJ1aWxkCi0KLSogVGh1IEFwciAxMCAyMDE0IEpvc2VmIFN0cmli bnkgPGpzdHJpYm55QHJlZGhhdC5jb20+IC0gMC43LjIuMS04Ci0tIFJlYnVpbHQgZm9yIGh0dHBz Oi8vZmVkb3JhcHJvamVjdC5vcmcvd2lraS9DaGFuZ2VzL1J1YnlfMi4xCi0tIEZpeCBGVEJGUyBp ZiAiLVdlcnJvcj1mb3JtYXQtc2VjdXJpdHkiIGZsYWcgaXMgdXNlZCAocmhieiMxMDM3MzEyKS4K LQotKiBTdW4gQXVnIDA0IDIwMTMgRmVkb3JhIFJlbGVhc2UgRW5naW5lZXJpbmcgPHJlbC1lbmdA bGlzdHMuZmVkb3JhcHJvamVjdC5vcmc+IC0gMC43LjIuMS03Ci0tIFJlYnVpbHQgZm9yIGh0dHBz Oi8vZmVkb3JhcHJvamVjdC5vcmcvd2lraS9GZWRvcmFfMjBfTWFzc19SZWJ1aWxkCi0KLSogTW9u IE1hciAxOCAyMDEzIEJvaHVzbGF2IEthYnJkYSA8YmthYnJkYUByZWRoYXQuY29tPiAtIDAuNy4y LjEtNgotLSBSZWJ1aWxkIGZvciBodHRwczovL2ZlZG9yYXByb2plY3Qub3JnL3dpa2kvRmVhdHVy ZXMvUnVieV8yLjAuMAotCi0qIFRodSBGZWIgMTQgMjAxMyBGZWRvcmEgUmVsZWFzZSBFbmdpbmVl cmluZyA8cmVsLWVuZ0BsaXN0cy5mZWRvcmFwcm9qZWN0Lm9yZz4gLSAwLjcuMi4xLTUKLS0gUmVi dWlsdCBmb3IgaHR0cHM6Ly9mZWRvcmFwcm9qZWN0Lm9yZy93aWtpL0ZlZG9yYV8xOV9NYXNzX1Jl YnVpbGQKLQotKiBTYXQgSnVsIDIxIDIwMTIgRmVkb3JhIFJlbGVhc2UgRW5naW5lZXJpbmcgPHJl bC1lbmdAbGlzdHMuZmVkb3JhcHJvamVjdC5vcmc+IC0gMC43LjIuMS00Ci0tIFJlYnVpbHQgZm9y IGh0dHBzOi8vZmVkb3JhcHJvamVjdC5vcmcvd2lraS9GZWRvcmFfMThfTWFzc19SZWJ1aWxkCi0K LSogVGh1IEFwciAyNiAyMDEyIFVscmljaCBTY2h3aWNrZXJhdGggPHVscmljaC5zY2h3aWNrZXJh dGhAd2ViLmRlPiAtIDAuNy4yLjEtMwotLSBzeW5jIHdpdGggdXBkYXRlZCBnZW0gdmVyc2lvbiBm cm9tIHJ1Ynlmb3JnZSBpbnN0ZWFkIG9mIHByaXZhdGUgY29weQotLSB1c2UgbWFjcm9zIGZvciBm aWxlcyBzZWN0aW9uCi0tIGNsZWFudXAgbWFjcm9zIGluIGNoYW5nZWxvZyBzZWN0aW9uIHRvIG1h a2UgcnBtbGludCBoYXBweQotCi0qIFdlZCBBcHIgMjUgMjAxMiBVbHJpY2ggU2Nod2lja2VyYXRo IDx1bHJpY2guc2Nod2lja2VyYXRoQHdlYi5kZT4gLSAwLjcuMi0yCi0tIHVzZSBtYWNyb3MgZm9s bG93aW5nIHRoZSBuZXcgZ2VtIHBhY2thZ2luZyBndWlkZWxpbmVzIGZvciBmZWQxNysKLQotKiBU dWUgTWFyIDIwIDIwMTIgVWxyaWNoIFNjaHdpY2tlcmF0aCA8dWxyaWNoLnNjaHdpY2tlcmF0aEB3 ZWIuZGU+IC0gMC43LjItMQotLSBzcGVjIGZpbGUgcGF0Y2ggdG8gc3VwcG9ydCBmZWRvcmEgMTcr Ci0tIHVwZGF0ZSB0byAwLjcuMiBmcm9tIFlvc2hpZGFtCi0KLSogVHVlIE1hciAwNiAyMDEyIFVs cmljaCBTY2h3aWNrZXJhdGggPHVscmljaC5zY2h3aWNrZXJhdGhAd2ViLmRlPiAtIDAuNi44MS05 Ci0tIHJlcGxhY2UgYnVpbGQgcmVxdWlyZW1lbnQgZm9yIHJ1YnktbGlicyBieSBydWJ5IAotCi0q IFdlZCBEZWMgMDcgMjAxMSBVbHJpY2ggU2Nod2lja2VyYXRoIDx1bHJpY2guc2Nod2lja2VyYXRo QHdlYi5kZT4gLSAwLjYuODEtOAotLSByZW1vdmUgdGhlIGxpbmsgdG8geG1scGFyc2VyLnNvIGFu ZCBtb3ZlIGl0IHRvIHJ1Ynlfc2l0ZWFyY2gKLQotKiBXZWQgRGVjIDA3IDIwMTEgVWxyaWNoIFNj aHdpY2tlcmF0aCA8dWxyaWNoLnNjaHdpY2tlcmF0aEB3ZWIuZGU+IC0gMC42LjgxLTcKLS0gZml4 IGZvciAvdXNyL2xpYi9ydWJ5L2dlbXMvMS44L2dlbXMveG1scGFyc2VyLTAuNi44MSBzaG91bGQg YmUgb3duZWQgYnkgdGhlIHBhY2thZ2UKLS0gZml4IGluc3RhbGxhdGlvbiBwYXRoIGZvciAuc28g ZmlsZXMKLS0gYWRkIGRlcGVuZGVuY3kgb24gcnVieS1saWJzIHdoaWNoIG93bnMgdGhlIHJ1Ynlf c2l0ZWFyY2ggZGlyZWN0b3J5Ci0KLSogV2VkIEp1bCAxMiAyMDExIFVscmljaCBTY2h3aWNrZXJh dGggPHVscmljaC5zY2h3aWNrZXJhdGhAd2ViLmRlPiAtIDAuNi44MS02Ci0tIGFkZCBtb3JlIGRl dGFpbHMgYWJvdXQgbGljZW5zaW5nCi0KLSogV2VkIEp1bCAxMiAyMDExIFVscmljaCBTY2h3aWNr ZXJhdGggPHVscmljaC5zY2h3aWNrZXJhdGhAd2ViLmRlPiAtIDAuNi44MS01Ci0tIHNwZWNpZnkK LS0gZml4IGZvcm1hdCBvZiBjaGFuZ2Vsb2cKLS0gcmVtb3ZlIHJ1Ynktc2l0ZWxpYgotCi0qIFR1 ZSBKdWwgMTEgMjAxMSBVbHJpY2ggU2Nod2lja2VyYXRoIDx1bHJpY2guc2Nod2lja2VyYXRoQHdl Yi5kZT4gLSAwLjYuODEtNAotLSBjbGVhbmVyIHdheSB0byB0cmVhdCBTT1VSQ0UKLS0gcmVtb3Zl IGV4cGxpY2l0IGRlcGVuZGVuY3kgb24gZXhwYXQKLS0gbWFrZSBnbG9iYWxzIGNvbmRpdGlvbmFs Ci0KLSogTW9uIEp1bCAxMCAyMDExIFVscmljaCBTY2h3aWNrZXJhdGggPHVscmljaC5zY2h3aWNr ZXJhdGhAd2ViLmRlPiAtIDAuNi44MS0zCi0tIGZpeCBidWlsZCBwcm9ibGVtcyAKLQotKiBTYXQg SnVsIDA4IDIwMTEgVWxyaWNoIFNjaHdpY2tlcmF0aCA8dWxyaWNoLnNjaHdpY2tlcmF0aEB3ZWIu ZGU+IC0gMC42LjgxLTIKLS0gYWRkIGRlcGVuZGVuY2llcwotCi0qIFdlZCBKdWwgMDYgMjAxMSBV bHJpY2ggU2Nod2lja2VyYXRoIDx1bHJpY2guc2Nod2lja2VyYXRoQHdlYi5kZT4gLSAwLjYuODEt MQotLSBJbml0aWFsIHBhY2thZ2UgZnJvbSBnZW0ycnBtCi0KCmRpZmYgLS1naXQgYS9zb3VyY2Vz IGIvc291cmNlcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOTRiODNhZi4uMDAwMDAw MAotLS0gYS9zb3VyY2VzCisrKyAvZGV2L251bGwKQEAgLTEgKzAsMCBAQAotYzU2MzRjYWNlNjZj YjI1NDI0NjNjZTY5OGNjMDQxZTUgIHhtbHBhcnNlci0wLjcuMi4xLmdlbQo=