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: Stephen Gallagher To: git-commits@fedoraproject.org Subject: [rpms/open-vm-tools] rawhide: Merge remote-tracking branch 'origin/eln' into rawhide Date: Thu, 03 Sep 2026 15:05:42 GMT Message-ID: <178844794208.1.15039781341158482242.rpms-open-vm-tools-fbbad012e210@fedoraproject.org> List-ID: X-Git-Repo: rpms/open-vm-tools X-Git-Branch: rawhide X-Git-Rev: fbbad012e2105f4f4be42ff3bcad549b5a4ea781 QSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KClJlcG8gICA6IHJwbXMvb3Blbi12bS10b29s cwpCcmFuY2ggOiByYXdoaWRlCkNvbW1pdCA6IGZiYmFkMDEyZTIxMDVmNGY0YmU0MmZmM2JjYWQ1 NDliNWE0ZWE3ODEKQXV0aG9yIDogU3RlcGhlbiBHYWxsYWdoZXIgPHNnYWxsYWdoQHJlZGhhdC5j b20+CkRhdGUgICA6IDIwMjYtMDktMDNUMTA6NDM6MzAtMDQ6MDAKU3RhdHMgIDogKzcyNi8tMTM4 MSBpbiAxMSBmaWxlKHMpClVSTCAgICA6IGh0dHBzOi8vc3JjLmZlZG9yYXByb2plY3Qub3JnL3Jw bXMvb3Blbi12bS10b29scy9jL2ZiYmFkMDEyZTIxMDVmNGY0YmU0MmZmM2JjYWQ1NDliNWE0ZWE3 ODE/YnJhbmNoPXJhd2hpZGUKCkxvZzoKTWVyZ2UgcmVtb3RlLXRyYWNraW5nIGJyYW5jaCAnb3Jp Z2luL2VsbicgaW50byByYXdoaWRlCgotLS0KZGlmZiAtLWdpdCBhLy5naXRpZ25vcmUgYi8uZ2l0 aWdub3JlCmluZGV4IDg0ODgxZmIuLjMzNWVjOTUgMTAwNjQ0Ci0tLSBhLy5naXRpZ25vcmUKKysr IGIvLmdpdGlnbm9yZQpAQCAtMSw0NCArMSBAQAotL29wZW4tdm0tdG9vbHMtOS4yLjItODkzNjgz LnRhci5negotL29wZW4tdm0tdG9vbHMtOS4yLjMtMTAzMTM2MC50YXIuZ3oKLS9vcGVuLXZtLXRv b2xzLTkuNC4wLTEyODA1NDQudGFyLmd6Ci0vb3Blbi12bS10b29scy05LjQuNi0xNzcwMTY1LnRh ci5negotL29wZW4tdm0tdG9vbHMtOS4xMC4wLTI0NzY3NDMudGFyLmd6Ci0vb3Blbi12bS10b29s cy05LjEwLjItMjgyMjYzOS50YXIuZ3oKLS9vcGVuLXZtLXRvb2xzLTEwLjAuMC0zMDAwNzQzLnRh ci5negotL29wZW4tdm0tdG9vbHMtMTAuMC41LTMyMjc4NzIudGFyLmd6Ci0vb3Blbi12bS10b29s cy0xMC4xLjAtNDQ0OTE1MC50YXIuZ3oKLS9vcGVuLXZtLXRvb2xzLTEwLjEuNS01MDU1NjgzLnRh ci5negotL29wZW4tdm0tdG9vbHMtMTAuMS4xMC02MDgyNTMzLnRhci5negotL29wZW4tdm0tdG9v bHMtMTAuMi4wLTcyNTMzMjMudGFyLmd6Ci0vb3Blbi12bS10b29scy0xMC4yLjUtODA2ODQwNi50 YXIuZ3oKLS9vcGVuLXZtLXRvb2xzLTEwLjMuMC04OTMxMzk1LnRhci5negotL29wZW4tdm0tdG9v bHMtMTAuMy41LTEwNDMwMTQ3LnRhci5negotL29wZW4tdm0tdG9vbHMtMTAuMy4xMC0xMjQwNjk2 Mi50YXIuZ3oKLS9vcGVuLXZtLXRvb2xzLTExLjAuMC0xNDU0OTQzNC50YXIuZ3oKLS9vcGVuLXZt LXRvb2xzLTExLjAuNS0xNTM4OTU5Mi50YXIuZ3oKLS9vcGVuLXZtLXRvb2xzLTExLjEuMC0xNjAz NjU0Ni50YXIuZ3oKLS9vcGVuLXZtLXRvb2xzLTExLjEuNS0xNjcyNDQ2NC50YXIuZ3oKLS9vcGVu LXZtLXRvb2xzLTExLjIuMC0xNjkzODExMy50YXIuZ3oKLS9vcGVuLXZtLXRvb2xzLTExLjIuNS0x NzMzNzY3NC50YXIuZ3oKLS9vcGVuLXZtLXRvb2xzLTExLjMuMC0xODA5MDU1OC50YXIuZ3oKLS9v cGVuLXZtLXRvb2xzLTExLjMuNS0xODU1Nzc5NC50YXIuZ3oKLS9vcGVuLXZtLXRvb2xzLTEyLjAu MC0xOTM0NTY1NS50YXIuZ3oKLS9vcGVuLXZtLXRvb2xzLTEyLjAuNS0xOTcxNjYxNy50YXIuZ3oK LS9vcGVuLXZtLXRvb2xzLTEyLjEuMC0yMDIxOTY2NS50YXIuZ3oKLS9vcGVuLXZtLXRvb2xzLTEy LjEuNS0yMDczNTExOS50YXIuZ3oKLS9vcGVuLXZtLXRvb2xzLTEyLjIuMC0yMTIyMzA3NC50YXIu Z3oKLS9vcGVuLXZtLXRvb2xzLTEyLjIuNS0yMTg1NTYwMC50YXIuZ3oKLS9vcGVuLXZtLXRvb2xz LTEyLjMuMC0yMjIzNDg3Mi50YXIuZ3oKLS9vcGVuLXZtLXRvb2xzLTEyLjMuNS0yMjU0NDA5OS50 YXIuZ3oKLS9vcGVuLXZtLXRvb2xzLTEyLjQuMC0yMzI1OTM0MS50YXIuZ3oKLS9hdGttbS0yLjI4 LjQtMi5lbDEwLnNyYy5ycG0KLS9jYWlyb21tLTEuMTQuNS01LmVsMTAuc3JjLnJwbQotL2dsaWJt bTIuNC0yLjY2LjYtNS5lbDEwLnNyYy5ycG0KLS9ndGttbTMuMC0zLjI0LjgtNi5lbDEwLnNyYy5y cG0KLS9saWJzaWdjKysyMC0yLjEyLjEtNC5lbDkuc3JjLnJwbQotL3BhbmdvbW0tMi40Ni40LTIu ZWwxMC5zcmMucnBtCi0vb3Blbi12bS10b29scy0xMi40LjUtMjM3ODc2MzUudGFyLmd6Ci0vb3Bl bi12bS10b29scy0xMi41LjAtMjQyNzY4NDYudGFyLmd6Ci0vb3Blbi12bS10b29scy0xMy4wLjAt MjQ2OTY0MDkudGFyLmd6Ci0vb3Blbi12bS10b29scy0xMy4wLjUtMjQ5MTU2OTUudGFyLmd6Ci0v b3Blbi12bS10b29scy0xMy4wLjEwLTI1MDU2MTUxLnRhci5negorKi50YXIuZ3oKCmRpZmYgLS1n aXQgYS8wMDAxLUZpeC1kaXNjYXJkZWQtcXVhbGlmaWVycy13YXJuaW5nLWVycm9yLnBhdGNoIGIv MDAwMS1GaXgtZGlzY2FyZGVkLXF1YWxpZmllcnMtd2FybmluZy1lcnJvci5wYXRjaApkZWxldGVk IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMmE5Yzc0Zi4uMDAwMDAwMAotLS0gYS8wMDAxLUZpeC1k aXNjYXJkZWQtcXVhbGlmaWVycy13YXJuaW5nLWVycm9yLnBhdGNoCisrKyAvZGV2L251bGwKQEAg LTEsNzc2ICswLDAgQEAKLUZyb20gMGU4MGNiODZiYjQ3NWY2NjdkYWY3ZWI2M2E0MjE2MmJiODRh YjA3YSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IE1pcm9zbGF2IFJlemFuaW5hIDxt cmV6YW5pbkByZWRoYXQuY29tPgotRGF0ZTogVHVlLCA5IERlYyAyMDI1IDEyOjIyOjAyICswMTAw Ci1TdWJqZWN0OiBbUEFUQ0hdIEZpeCBkaXNjYXJkZWQtcXVhbGlmaWVycyB3YXJuaW5nIGVycm9y Ci0KLU5ldyBnY2MgcmVwb3J0cyB3YXJuaW5nIHdoZW4gcG9pbnRlciBsb29zZXMgY29uc3QgcXVh bGlmaWVyLgotCi1JbiBhZGRpdGlvbiwgaGFuZGxlIG5ldyBnX2ZyZWUgZGVmaW5pdGlvbi4KLQot U2lnbmVkLW9mZi1ieTogTWlyb3NsYXYgUmV6YW5pbmEgPG1yZXphbmluQHJlZGhhdC5jb20+Ci0t LS0KLSBvcGVuLXZtLXRvb2xzLTEzLjAuNS0yNDkxNTY5NS9jb25maWcvbHRtYWluLnNoICAgICB8 ICA0ICsrLS0KLSAuLi4vbGliL2ZpbGUvZmlsZUxvY2tQb3NpeC5jICAgICAgICAgICAgICAgICAg ICAgICB8ICA0ICsrLS0KLSAuLi4vbGliL2ZpbGUvZmlsZUxvY2tQcmltaXRpdmUuYyAgICAgICAg ICAgICAgICAgICB8ICAyICstCi0gb3Blbi12bS10b29scy0xMy4wLjUtMjQ5MTU2OTUvbGliL2Zp bGUvZmlsZVBvc2l4LmMgfCAgNCArKy0tCi0gLi4uL2xpYi9maWxlL2ZpbGVTdGFuZEFsb25lLmMg ICAgICAgICAgICAgICAgICAgICAgfCAgOCArKysrLS0tLQotIC4uLi9saWIvZ2xpYlV0aWxzL2Zp bGVMb2dnZXIuYyAgICAgICAgICAgICAgICAgICAgIHwgIDggKysrKy0tLS0KLSAuLi4vbGliL2hn ZnMvaGdmc0VzY2FwZS5jICAgICAgICAgICAgICAgICAgICAgICAgICB8IDE0ICsrKysrKystLS0t LS0tCi0gLi4uL2xpYi9oZ2ZzU2VydmVyL2hnZnNTZXJ2ZXJMaW51eC5jICAgICAgICAgICAgICAg fCAgNCArKy0tCi0gb3Blbi12bS10b29scy0xMy4wLjUtMjQ5MTU2OTUvbGliL21pc2MvY29kZXNl dC5jICAgfCAgMiArLQotIC4uLi9saWIvbWlzYy9jb2Rlc2V0T2xkLmMgICAgICAgICAgICAgICAg ICAgICAgICAgIHwgIDIgKy0KLSAuLi4vbGliL21pc2MvaG9zdGluZm9Qb3NpeC5jICAgICAgICAg ICAgICAgICAgICAgICB8IDE0ICsrKysrKystLS0tLS0tCi0gb3Blbi12bS10b29scy0xMy4wLjUt MjQ5MTU2OTUvbGliL21pc2MvbWFjaGluZUlELmMgfCAgMiArLQotIG9wZW4tdm0tdG9vbHMtMTMu MC41LTI0OTE1Njk1L2xpYi9taXNjL3N0cnV0aWwuYyAgIHwgIDggKysrKy0tLS0KLSAuLi4vbGli L25pY0luZm8vbmljSW5mb1Bvc2l4LmMgICAgICAgICAgICAgICAgICAgICB8ICAyICstCi0gLi4u L2xpYi9wcm9jTWdyL3Byb2NNZ3JQb3NpeC5jICAgICAgICAgICAgICAgICAgICAgfCAgOCArKysr LS0tLQotIC4uLi9saWIvcHJvY01nci9wcm9jTWdyU29sYXJpcy5jICAgICAgICAgICAgICAgICAg IHwgIDIgKy0KLSAuLi4vbGliL3JwY0NoYW5uZWwvZ2xpYl9zdHVicy5jICAgICAgICAgICAgICAg ICAgICB8ICAzICsrKwotIG9wZW4tdm0tdG9vbHMtMTMuMC41LTI0OTE1Njk1L2xpYi91c2VyL3V0 aWwuYyAgICAgIHwgIDIgKy0KLSAuLi4vbGliZ3Vlc3RTdG9yZUNsaWVudC9ndWVzdFN0b3JlQ2xp ZW50TGliLmMgICAgICB8ICA0ICsrLS0KLSBvcGVuLXZtLXRvb2xzLTEzLjAuNS0yNDkxNTY5NS9s aWJ2bXRvb2xzL2kxOG4uYyAgICB8ICA0ICsrLS0KLSAuLi4vbW9kdWxlcy9zb2xhcmlzL3ZtaGdm cy92bm9kZS5jICAgICAgICAgICAgICAgICB8ICAyICstCi0gLi4uL2NvbXBvbmVudE1nci9jb21w b25lbnRNZ3JJbnN0YWxsQWN0aW9uLmMgICAgICAgfCAgNCArKy0tCi0gLi4uL3NlcnZpY2VzL3Bs dWdpbnMvZG5kY3AvY29weVBhc3RlVUlYMTEuY3BwICAgICAgfCAgMiArLQotIC4uLi9zZXJ2aWNl cy9wbHVnaW5zL2RuZGNwL2RuZC9kbmRYZGcuYyAgICAgICAgICAgIHwgIDIgKy0KLSAuLi4vcGx1 Z2lucy9kbmRjcC9kbmRHdWVzdC9ndWVzdENvcHlQYXN0ZVNyYy5jYyAgICB8ICAyICstCi0gLi4u L3BsdWdpbnMvZG5kY3AvZG5kR3Vlc3Qvdm1HdWVzdERuRFNyYy5jYyAgICAgICAgfCAgMiArLQot IC4uLi9zZXJ2aWNlcy9wbHVnaW5zL2RuZGNwL2RuZFVJWDExLmNwcCAgICAgICAgICAgIHwgIDIg Ky0KLSAuLi4vc2VydmljZXMvcGx1Z2lucy9ndWVzdEluZm8vcGVyZk1vbkxpbnV4LmMgICAgICB8 ICAyICstCi0gLi4uL3NlcnZpY2VzL3BsdWdpbnMvdml4L3ZpeFRvb2xzLmMgICAgICAgICAgICAg ICAgfCAgOCArKysrLS0tLQotIC4uLi90ZXN0cy92bXJwY2RiZy9kZWJ1Z0NoYW5uZWwuYyAgICAg ICAgICAgICAgICAgIHwgIDIgKy0KLSBvcGVuLXZtLXRvb2xzLTEzLjAuNS0yNDkxNTY5NS92Z2F1 dGgvY29tbW9uL2kxOG4uYyB8ICAyICstCi0gLi4uL3ZtYmxvY2ttb3VudGVyL3ZtYmxvY2ttb3Vu dGVyLmMgICAgICAgICAgICAgICAgfCAgMiArLQotIG9wZW4tdm0tdG9vbHMtMTMuMC41LTI0OTE1 Njk1L3ZtaGdmcy1mdXNlL2NvbmZpZy5jIHwgIDIgKy0KLSBvcGVuLXZtLXRvb2xzLTEzLjAuNS0y NDkxNTY5NS94ZmVybG9ncy94ZmVybG9ncy5jICB8ICA4ICsrKystLS0tCi0gMzQgZmlsZXMgY2hh bmdlZCwgNzMgaW5zZXJ0aW9ucygrKSwgNzAgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9v cGVuLXZtLXRvb2xzLTEzLjAuNS0yNDkxNTY5NS9jb25maWcvbHRtYWluLnNoIGIvb3Blbi12bS10 b29scy0xMy4wLjUtMjQ5MTU2OTUvY29uZmlnL2x0bWFpbi5zaAotaW5kZXggMmMxNTMwOS4uMDk4 OTlmMSAxMDA3NTUKLS0tLSBhL29wZW4tdm0tdG9vbHMtMTMuMC41LTI0OTE1Njk1L2NvbmZpZy9s dG1haW4uc2gKLSsrKyBiL29wZW4tdm0tdG9vbHMtMTMuMC41LTI0OTE1Njk1L2NvbmZpZy9sdG1h aW4uc2gKLUBAIC00NDc2LDExICs0NDc2LDExIEBAIEVPRgotIAkgICAgY2F0IDw8IkVPRiIKLSAg IHsKLSAgICAgY2hhciogcDsKLS0gICAgd2hpbGUgKChwID0gc3RyY2hyIChuZXdhcmd6WzBdLCAn XFwnKSkgIT0gTlVMTCkKLSsgICAgd2hpbGUgKChwID0gKGNoYXIgKikgc3RyY2hyIChuZXdhcmd6 WzBdLCAnXFwnKSkgIT0gTlVMTCkKLSAgICAgICB7Ci0gCSpwID0gJy8nOwotICAgICAgIH0KLS0g ICAgd2hpbGUgKChwID0gc3RyY2hyIChsdF9hcmd2X3plcm8sICdcXCcpKSAhPSBOVUxMKQotKyAg ICB3aGlsZSAoKHAgPSAoY2hhciAqKSBzdHJjaHIgKGx0X2FyZ3ZfemVybywgJ1xcJykpICE9IE5V TEwpCi0gICAgICAgewotIAkqcCA9ICcvJzsKLSAgICAgICB9Ci1kaWZmIC0tZ2l0IGEvb3Blbi12 bS10b29scy0xMy4wLjUtMjQ5MTU2OTUvbGliL2ZpbGUvZmlsZUxvY2tQb3NpeC5jIGIvb3Blbi12 bS10b29scy0xMy4wLjUtMjQ5MTU2OTUvbGliL2ZpbGUvZmlsZUxvY2tQb3NpeC5jCi1pbmRleCBh NzM3M2I0Li4wZWVjYzQyIDEwMDY0NAotLS0tIGEvb3Blbi12bS10b29scy0xMy4wLjUtMjQ5MTU2 OTUvbGliL2ZpbGUvZmlsZUxvY2tQb3NpeC5jCi0rKysgYi9vcGVuLXZtLXRvb2xzLTEzLjAuNS0y NDkxNTY5NS9saWIvZmlsZS9maWxlTG9ja1Bvc2l4LmMKLUBAIC0xNzIsNyArMTcyLDcgQEAgRmls ZVJlYWRTbGFzaFByb2MoY29uc3QgY2hhciAqcHJvY1BhdGgsICAvLyBJTjoKLSAKLSAgICBidWZm ZXJbbGVuXSA9ICdcMCc7Ci0gCi0tICAgcCA9IHN0cmNocihidWZmZXIsICdcbicpOwotKyAgIHAg PSAoY2hhciAqKSBzdHJjaHIoYnVmZmVyLCAnXG4nKTsKLSAKLSAgICBpZiAocCAhPSBOVUxMKSB7 Ci0gICAgICAgKnAgPSAnXDAnOwotQEAgLTI0OCw3ICsyNDgsNyBAQCBGaWxlTG9ja1Byb2Nlc3NE ZXNjcmlwdG9yKHBpZF90IHBpZCkgIC8vIElOOgotIAotICAgICAgICoocCAtIDEpID0gJ1wwJzsK LSAKLS0gICAgICBxID0gc3RycmNocihwICsgMSwgJyknKTsKLSsgICAgICBxID0gKGNoYXIgKikg c3RycmNocihwICsgMSwgJyknKTsKLSAgICAgICBpZiAocSA9PSBOVUxMKSB7Ci0gICAgICAgICAg Z290byBiYWlsOwotICAgICAgIH0KLWRpZmYgLS1naXQgYS9vcGVuLXZtLXRvb2xzLTEzLjAuNS0y NDkxNTY5NS9saWIvZmlsZS9maWxlTG9ja1ByaW1pdGl2ZS5jIGIvb3Blbi12bS10b29scy0xMy4w LjUtMjQ5MTU2OTUvbGliL2ZpbGUvZmlsZUxvY2tQcmltaXRpdmUuYwotaW5kZXggMTkzZmMzNi4u NzU3MWNlZCAxMDA2NDQKLS0tLSBhL29wZW4tdm0tdG9vbHMtMTMuMC41LTI0OTE1Njk1L2xpYi9m aWxlL2ZpbGVMb2NrUHJpbWl0aXZlLmMKLSsrKyBiL29wZW4tdm0tdG9vbHMtMTMuMC41LTI0OTE1 Njk1L2xpYi9maWxlL2ZpbGVMb2NrUHJpbWl0aXZlLmMKLUBAIC0yMzgsNyArMjM4LDcgQEAgRmls ZUxvY2tQYXJzZUFyZ3MoY2hhciAqYXJndltdLCAgICAgICAvLyBJTjoKLSAKLSAgICB3aGlsZSAo YXJnQ291bnQpIHsKLSAgICAgICB1aW50MzIgaTsKLS0gICAgICBjaGFyICpwID0gc3RyY2hyKGFy Z3ZbYXJnUG9zXSwgJz0nKTsKLSsgICAgICBjaGFyICpwID0gKGNoYXIgKikgc3RyY2hyKGFyZ3Zb YXJnUG9zXSwgJz0nKTsKLSAKLSAgICAgICAvKiBWYWxpZGF0ZSB0aGUgIm5hbWU9dmFsdWUiIGZv cm0gKi8KLSAgICAgICBpZiAoKHAgPT0gTlVMTCkgfHwgKHAgPT0gYXJndlthcmdQb3NdKSB8fCAo cFsxXSA9PSAnXDAnKSkgewotZGlmZiAtLWdpdCBhL29wZW4tdm0tdG9vbHMtMTMuMC41LTI0OTE1 Njk1L2xpYi9maWxlL2ZpbGVQb3NpeC5jIGIvb3Blbi12bS10b29scy0xMy4wLjUtMjQ5MTU2OTUv bGliL2ZpbGUvZmlsZVBvc2l4LmMKLWluZGV4IDNiNTAwZWIuLjVkMGY3NzIgMTAwNjQ0Ci0tLS0g YS9vcGVuLXZtLXRvb2xzLTEzLjAuNS0yNDkxNTY5NS9saWIvZmlsZS9maWxlUG9zaXguYwotKysr IGIvb3Blbi12bS10b29scy0xMy4wLjUtMjQ5MTU2OTUvbGliL2ZpbGUvZmlsZVBvc2l4LmMKLUBA IC0xNTEwLDcgKzE1MTAsNyBAQCBGaWxlX0dldFZNRlNNb3VudEluZm8oY29uc3QgY2hhciAqcGF0 aE5hbWUsICAgIC8vIElOOgotICAgICAgICAqIFRoaXMgd2lsbCBjb3ZlciBib3RoIE5GU3YzIGFu ZCBORlN2NC4xLgotICAgICAgICAqLwotICAgICAgIGlmIChzdHJuY21wKGZzQXR0cnMtPmZzVHlw ZSwgRlNfTkZTX09OX0VTWCwgRlNfTkZTX1BSRUZJWF9MRU4pID09IDApIHsKLS0gICAgICAgICBj aGFyICpzZXAgPSBzdHJjaHIoZnNBdHRycy0+bG9naWNhbERldmljZSwgJyAnKTsKLSsgICAgICAg ICBjaGFyICpzZXAgPSAoY2hhciAqKSBzdHJjaHIoZnNBdHRycy0+bG9naWNhbERldmljZSwgJyAn KTsKLSAKLSAgICAgICAgICBpZiAoc2VwKSB7Ci0gICAgICAgICAgICAgKnNlcCsrID0gMDsKLUBA IC0yMzM5LDcgKzIzMzksNyBAQCBGaWxlUG9zaXhOZWFyZXN0RXhpc3RpbmdBbmNlc3RvcihjaGFy IGNvbnN0ICpwYXRoKSAgLy8gSU46IEZpbGUgcGF0aAotICAgICAgICAgIGJyZWFrOwotICAgICAg IH0KLSAKLS0gICAgICBwdHIgPSBzdHJyY2hyKHJlc3VsdCwgRElSU0VQQyk7Ci0rICAgICAgcHRy ID0gKGNoYXIgKikgc3RycmNocihyZXN1bHQsIERJUlNFUEMpOwotICAgICAgIGlmIChwdHIgPT0g TlVMTCkgewotICAgICAgICAgIHB0ciA9IHJlc3VsdDsKLSAgICAgICB9Ci1kaWZmIC0tZ2l0IGEv b3Blbi12bS10b29scy0xMy4wLjUtMjQ5MTU2OTUvbGliL2ZpbGUvZmlsZVN0YW5kQWxvbmUuYyBi L29wZW4tdm0tdG9vbHMtMTMuMC41LTI0OTE1Njk1L2xpYi9maWxlL2ZpbGVTdGFuZEFsb25lLmMK LWluZGV4IDZkM2NiYTIuLjFmYTRhYjYgMTAwNjQ0Ci0tLS0gYS9vcGVuLXZtLXRvb2xzLTEzLjAu NS0yNDkxNTY5NS9saWIvZmlsZS9maWxlU3RhbmRBbG9uZS5jCi0rKysgYi9vcGVuLXZtLXRvb2xz LTEzLjAuNS0yNDkxNTY5NS9saWIvZmlsZS9maWxlU3RhbmRBbG9uZS5jCi1AQCAtNzE1LDkgKzcx NSw5IEBAIEZpbGVfUmVwbGFjZUV4dGVuc2lvbihjb25zdCBjaGFyICpwYXRoTmFtZSwgICAgICAv LyBJTjoKLSAKLSAgICBwID0gRmlsZUZpbmRMYXN0RGlyc2VwKHJlc3VsdCwgcGF0aE5hbWVMZW4p OwotICAgIGlmIChwID09IE5VTEwpIHsKLS0gICAgICAgcCA9IHN0cnJjaHIocmVzdWx0LCAnLicp OwotKyAgICAgICBwID0gKGNoYXIgKikgc3RycmNocihyZXN1bHQsICcuJyk7Ci0gICAgfSBlbHNl IHsKLS0gICAgICAgcCA9IHN0cnJjaHIocCwgJy4nKTsKLSsgICAgICAgcCA9IChjaGFyICopIHN0 cnJjaHIocCwgJy4nKTsKLSAgICB9Ci0gCi0gICAgaWYgKHAgPT0gTlVMTCkgewotQEAgLTc5MCw5 ICs3OTAsOSBAQCBGaWxlX1JlbW92ZUV4dGVuc2lvbihjb25zdCBjaGFyICpwYXRoTmFtZSkgIC8v IElOOgotIAotICAgIHAgPSBGaWxlRmluZExhc3REaXJzZXAocmVzdWx0LCBzdHJsZW4ocGF0aE5h bWUpKTsKLSAgICBpZiAocCA9PSBOVUxMKSB7Ci0tICAgICAgIHAgPSBzdHJyY2hyKHJlc3VsdCwg Jy4nKTsKLSsgICAgICAgcCA9IChjaGFyICopIHN0cnJjaHIocmVzdWx0LCAnLicpOwotICAgIH0g ZWxzZSB7Ci0tICAgICAgIHAgPSBzdHJyY2hyKHAsICcuJyk7Ci0rICAgICAgIHAgPSAoY2hhciAq KSBzdHJyY2hyKHAsICcuJyk7Ci0gICAgfQotIAotICAgIEFTU0VSVChwICE9IE5VTEwpOwotZGlm ZiAtLWdpdCBhL29wZW4tdm0tdG9vbHMtMTMuMC41LTI0OTE1Njk1L2xpYi9nbGliVXRpbHMvZmls ZUxvZ2dlci5jIGIvb3Blbi12bS10b29scy0xMy4wLjUtMjQ5MTU2OTUvbGliL2dsaWJVdGlscy9m aWxlTG9nZ2VyLmMKLWluZGV4IGYxYjBkYzcuLjU5NjA1YmIgMTAwNjQ0Ci0tLS0gYS9vcGVuLXZt LXRvb2xzLTEzLjAuNS0yNDkxNTY5NS9saWIvZ2xpYlV0aWxzL2ZpbGVMb2dnZXIuYwotKysrIGIv b3Blbi12bS10b29scy0xMy4wLjUtMjQ5MTU2OTUvbGliL2dsaWJVdGlscy9maWxlTG9nZ2VyLmMK LUBAIC0xNjcsNyArMTY3LDcgQEAgRmlsZUxvZ2dlckdldFBhdGgoRmlsZUxvZ2dlciAqZGF0YSwK LSAgICBmb3IgKGkgPSAwOyBpIDwgR19OX0VMRU1FTlRTKHZhcnMpOyBpICs9IDIpIHsKLSAgICAg ICBjaGFyICpsYXN0ID0gbG9ncGF0aDsKLSAgICAgICBjaGFyICpzdGFydDsKLS0gICAgICB3aGls ZSAoKHN0YXJ0ID0gc3Ryc3RyKGxhc3QsIHZhcnNbaV0pKSAhPSBOVUxMKSB7Ci0rICAgICAgd2hp bGUgKChzdGFydCA9IChjaGFyICopIHN0cnN0cihsYXN0LCB2YXJzW2ldKSkgIT0gTlVMTCkgewot ICAgICAgICAgIGdjaGFyICp0bXA7Ci0gICAgICAgICAgY2hhciAqZW5kID0gc3RhcnQgKyBzdHJs ZW4odmFyc1tpXSk7Ci0gICAgICAgICAgc2l6ZV90IG9mZnNldCA9IChzdGFydCAtIGxhc3QpICsg c3RybGVuKHZhcnNbaSsxXSk7Ci1AQCAtMTkyLDExICsxOTIsMTEgQEAgRmlsZUxvZ2dlckdldFBh dGgoRmlsZUxvZ2dlciAqZGF0YSwKLSAgICAgKiBiYWNraW5nIHVwIG9sZCBsb2cgZmlsZXMuCi0g ICAgICovCi0gICAgaWYgKGluZGV4ICE9IDAgJiYgIWhhc0luZGV4KSB7Ci0tICAgICAgY2hhciAq c2VwID0gc3RycmNocihsb2dwYXRoLCAnLicpOwotLSAgICAgIGNoYXIgKnBhdGhzZXAgPSBzdHJy Y2hyKGxvZ3BhdGgsICcvJyk7Ci0rICAgICAgY2hhciAqc2VwID0gKGNoYXIgKikgc3RycmNocihs b2dwYXRoLCAnLicpOwotKyAgICAgIGNoYXIgKnBhdGhzZXAgPSAoY2hhciAqKSBzdHJyY2hyKGxv Z3BhdGgsICcvJyk7Ci0gCi0gICAgICAgaWYgKHBhdGhzZXAgPT0gTlVMTCkgewotLSAgICAgICAg IHBhdGhzZXAgPSBzdHJyY2hyKGxvZ3BhdGgsICdcXCcpOwotKyAgICAgICAgIHBhdGhzZXAgPSAo Y2hhciAqKSBzdHJyY2hyKGxvZ3BhdGgsICdcXCcpOwotICAgICAgIH0KLSAKLSAgICAgICBpZiAo c2VwICE9IE5VTEwgJiYgc2VwID4gcGF0aHNlcCkgewotZGlmZiAtLWdpdCBhL29wZW4tdm0tdG9v bHMtMTMuMC41LTI0OTE1Njk1L2xpYi9oZ2ZzL2hnZnNFc2NhcGUuYyBiL29wZW4tdm0tdG9vbHMt MTMuMC41LTI0OTE1Njk1L2xpYi9oZ2ZzL2hnZnNFc2NhcGUuYwotaW5kZXggYzRkMzliMS4uY2U0 NzVkOSAxMDA2NDQKLS0tLSBhL29wZW4tdm0tdG9vbHMtMTMuMC41LTI0OTE1Njk1L2xpYi9oZ2Zz L2hnZnNFc2NhcGUuYwotKysrIGIvb3Blbi12bS10b29scy0xMy4wLjUtMjQ5MTU2OTUvbGliL2hn ZnMvaGdmc0VzY2FwZS5jCi1AQCAtMTk4LDcgKzE5OCw3IEBAIEhnZnNBZGRFc2NhcGVDaGFyYWN0 ZXIoY2hhciBjb25zdCAqIGJ1ZkluLCAgICAgIC8vIElOOiBpbnB1dCBuYW1lCi0gICAgICAgaWYg KG91dHB1dFNwYWNlIDwgMikgewotICAgICAgICAgIHJldHVybiBGQUxTRTsKLSAgICAgICB9Ci0t ICAgICAgaWxsZWdhbCA9IHN0cmNocihIR0ZTX0lMTEVHQUxfQ0hBUlMsIGJ1ZkluW2VzY2FwZUNv bnRleHQtPnByb2Nlc3NlZE9mZnNldF0pOwotKyAgICAgIGlsbGVnYWwgPSAoY2hhciAqKSBzdHJj aHIoSEdGU19JTExFR0FMX0NIQVJTLCBidWZJbltlc2NhcGVDb250ZXh0LT5wcm9jZXNzZWRPZmZz ZXRdKTsKLSAgICAgICBlc2NhcGVDb250ZXh0LT5wcm9jZXNzZWRPZmZzZXQrKzsgIC8vIFNraXAg aWxsZWdhbCBpbnB1dCBjaGFyYWN0ZXIKLSAgICAgICBBU1NFUlQoaWxsZWdhbCAhPSBOVUxMKTsK LSAgICAgICBlc2NhcGVDb250ZXh0LT5vdXRwdXRCdWZmZXJbZXNjYXBlQ29udGV4dC0+b3V0cHV0 T2Zmc2V0XSA9Ci1AQCAtNTgzLDEyICs1ODMsMTIgQEAgSGdmc0lzRXNjYXBlU2VxdWVuY2UoY2hh ciBjb25zdCAqYnVmSW4sICAgLy8gSU46IGlucHV0IG5hbWUKLSAgICAgICAgICBpZiAoYnVmSW5b b2Zmc2V0IC0gMl0gPT0gSEdGU19FU0NBUEVfU1VCU1RJVFVFX0NIQVIpIHsKLSAgICAgICAgICAg ICByZXR1cm4gVFJVRTsKLSAgICAgICAgICB9Ci0tICAgICAgICAgc3Vic3RpdHV0ZSA9IHN0cmNo cihIR0ZTX1NVQlNUSVRVVEVfQ0hBUlMsIGJ1ZkluW29mZnNldCAtIDJdKTsKLSsgICAgICAgICBz dWJzdGl0dXRlID0gKGNoYXIgKikgc3RyY2hyKEhHRlNfU1VCU1RJVFVURV9DSEFSUywgYnVmSW5b b2Zmc2V0IC0gMl0pOwotICAgICAgICAgIGlmIChzdWJzdGl0dXRlICE9IE5VTEwpIHsKLSAgICAg ICAgICAgICByZXR1cm4gVFJVRTsKLSAgICAgICAgICB9Ci0gICAgICAgfQotLSAgICAgIHN1YnN0 aXR1dGUgPSBzdHJjaHIoSEdGU19TVUJTVElUVVRFX0NIQVJTLCBidWZJbltvZmZzZXQgLSAxXSk7 Ci0rICAgICAgc3Vic3RpdHV0ZSA9IChjaGFyICopIHN0cmNocihIR0ZTX1NVQlNUSVRVVEVfQ0hB UlMsIGJ1ZkluW29mZnNldCAtIDFdKTsKLSAgICAgICBpZiAoc3Vic3RpdHV0ZSAhPSBOVUxMKSB7 Ci0gICAgICAgICAgcmV0dXJuIFRSVUU7Ci0gICAgICAgfQotQEAgLTg4MiwxMiArODgyLDEyIEBA IEhnZnNFc2NhcGVVbmRvQ29tcG9uZW50KGNoYXIgICAqYnVmSW4sICAgICAgICAgICAgIC8vIElO OiBDaGFyYWN0ZXJzIHRvIGJlIHVuZXNjCi0gCi0gICAgY3VyT3V0QnVmZmVyID0gYnVmSW47Ci0g ICAgc2l6ZUluID0gc3RybGVuKGN1ck91dEJ1ZmZlcik7Ci0tICAgZXNjYXBlUG9pbnRlciA9IHN0 cmNocihjdXJPdXRCdWZmZXIsIEhHRlNfRVNDQVBFX0NIQVIpOwotKyAgIGVzY2FwZVBvaW50ZXIg PSAoY2hhciAqKSBzdHJjaHIoY3VyT3V0QnVmZmVyLCBIR0ZTX0VTQ0FQRV9DSEFSKTsKLSAgICB3 aGlsZSAoZXNjYXBlUG9pbnRlciAhPSBOVUxMKSB7Ci0gICAgICAgc2l6ZV90IG9mZnNldCA9IGVz Y2FwZVBvaW50ZXIgLSBidWZJbjsKLSAKLSAgICAgICBpZiAoSGdmc0lzRXNjYXBlU2VxdWVuY2Uo YnVmSW4sIG9mZnNldCwgc2l6ZUluKSkgewotLSAgICAgICAgIGNoYXIqIHN1YnN0aXR1dGUgPSBz dHJjaHIoSEdGU19TVUJTVElUVVRFX0NIQVJTLCBidWZJbltvZmZzZXQgLSAxXSk7Ci0rICAgICAg ICAgY2hhciogc3Vic3RpdHV0ZSA9IChjaGFyICopIHN0cmNocihIR0ZTX1NVQlNUSVRVVEVfQ0hB UlMsIGJ1ZkluW29mZnNldCAtIDFdKTsKLSAgICAgICAgICBpZiAoc3Vic3RpdHV0ZSAhPSBOVUxM KSB7Ci0gICAgICAgICAgICAgYnVmSW5bb2Zmc2V0IC0gMV0gPSBIR0ZTX0lMTEVHQUxfQ0hBUlNb c3Vic3RpdHV0ZSAtIEhHRlNfU1VCU1RJVFVURV9DSEFSU107Ci0gICAgICAgICAgfSBlbHNlIGlm IChidWZJbltvZmZzZXQgLSAxXSA9PSBIR0ZTX0VTQ0FQRV9TVUJTVElUVUVfQ0hBUikgewotQEAg LTg5NywxMiArODk3LDEyIEBAIEhnZnNFc2NhcGVVbmRvQ29tcG9uZW50KGNoYXIgICAqYnVmSW4s ICAgICAgICAgICAgIC8vIElOOiBDaGFyYWN0ZXJzIHRvIGJlIHVuZXNjCi0gICAgICAgICAgKCp1 bnByb2Nlc3NlZExlbmd0aCktLTsKLSAgICAgICAgICBzaXplSW4tLTsKLSAgICAgICAgICBpZiAo c2l6ZUluID4gMCkgewotLSAgICAgICAgICAgIGVzY2FwZVBvaW50ZXIgPSBzdHJjaHIoZXNjYXBl UG9pbnRlciwgSEdGU19FU0NBUEVfQ0hBUik7Ci0rICAgICAgICAgICAgZXNjYXBlUG9pbnRlciA9 IChjaGFyICopIHN0cmNocihlc2NhcGVQb2ludGVyLCBIR0ZTX0VTQ0FQRV9DSEFSKTsKLSAgICAg ICAgICB9IGVsc2UgewotICAgICAgICAgICAgIGVzY2FwZVBvaW50ZXIgPSBOVUxMOwotICAgICAg ICAgIH0KLSAgICAgICB9IGVsc2UgewotLSAgICAgICAgIGVzY2FwZVBvaW50ZXIgPSBzdHJjaHIo ZXNjYXBlUG9pbnRlciArIDEsIEhHRlNfRVNDQVBFX0NIQVIpOwotKyAgICAgICAgIGVzY2FwZVBv aW50ZXIgPSAoY2hhciAqKSBzdHJjaHIoZXNjYXBlUG9pbnRlciArIDEsIEhHRlNfRVNDQVBFX0NI QVIpOwotICAgICAgIH0KLSAgICB9Ci0gICAgQVNTRVJUKCgqdW5wcm9jZXNzZWRMZW5ndGgpID4g c2l6ZUluKTsKLWRpZmYgLS1naXQgYS9vcGVuLXZtLXRvb2xzLTEzLjAuNS0yNDkxNTY5NS9saWIv aGdmc1NlcnZlci9oZ2ZzU2VydmVyTGludXguYyBiL29wZW4tdm0tdG9vbHMtMTMuMC41LTI0OTE1 Njk1L2xpYi9oZ2ZzU2VydmVyL2hnZnNTZXJ2ZXJMaW51eC5jCi1pbmRleCA0YTBiYzkzLi5hYzYy YzFiIDEwMDY0NAotLS0tIGEvb3Blbi12bS10b29scy0xMy4wLjUtMjQ5MTU2OTUvbGliL2hnZnNT ZXJ2ZXIvaGdmc1NlcnZlckxpbnV4LmMKLSsrKyBiL29wZW4tdm0tdG9vbHMtMTMuMC41LTI0OTE1 Njk1L2xpYi9oZ2ZzU2VydmVyL2hnZnNTZXJ2ZXJMaW51eC5jCi1AQCAtMTM2OSw3ICsxMzY5LDcg QEAgSGdmc0dldEhpZGRlbkF0dHIoY2hhciBjb25zdCAqZmlsZU5hbWUsICAgICAgICAgLy8gSU46 ICBJbnB1dCBmaWxlbmFtZQotICAgIEFTU0VSVChmaWxlTmFtZSk7Ci0gICAgQVNTRVJUKGF0dHIp OwotIAotLSAgIGJhc2VOYW1lID0gc3RycmNocihmaWxlTmFtZSwgRElSU0VQQyk7Ci0rICAgYmFz ZU5hbWUgPSAoY2hhciAqKSBzdHJyY2hyKGZpbGVOYW1lLCBESVJTRVBDKTsKLSAKLSAgICBpZiAo KGJhc2VOYW1lICE9IE5VTEwpICYmCi0gICAgICAgIChiYXNlTmFtZVsxXSA9PSAnLicpICYmCi1A QCAtMTY0Nyw3ICsxNjQ3LDcgQEAgSGdmc0Nhc2VJbnNlbnNpdGl2ZUxvb2t1cChjb25zdCBjaGFy ICpzaGFyZVBhdGgsICAgICAgICAgICAvLyBJTgotIAotICAgIHdoaWxlIChUUlVFKSB7Ci0gICAg ICAgLyogR2V0IHRoZSBuZXh0IGNvbXBvbmVudC4gKi8KLS0gICAgICBuZXh0Q29tcG9uZW50ID0g c3RyY2hyKGN1cnJlbnRDb21wb25lbnQsIERJUlNFUEMpOwotKyAgICAgIG5leHRDb21wb25lbnQg PSAoY2hhciAqKSBzdHJjaHIoY3VycmVudENvbXBvbmVudCwgRElSU0VQQyk7Ci0gICAgICAgaWYg KG5leHRDb21wb25lbnQgIT0gTlVMTCkgewotICAgICAgICAgICpuZXh0Q29tcG9uZW50ID0gJ1ww JzsKLSAgICAgICB9Ci1kaWZmIC0tZ2l0IGEvb3Blbi12bS10b29scy0xMy4wLjUtMjQ5MTU2OTUv bGliL21pc2MvY29kZXNldC5jIGIvb3Blbi12bS10b29scy0xMy4wLjUtMjQ5MTU2OTUvbGliL21p c2MvY29kZXNldC5jCi1pbmRleCAyNTIyMWY2Li5hZmM2MTViIDEwMDY0NAotLS0tIGEvb3Blbi12 bS10b29scy0xMy4wLjUtMjQ5MTU2OTUvbGliL21pc2MvY29kZXNldC5jCi0rKysgYi9vcGVuLXZt LXRvb2xzLTEzLjAuNS0yNDkxNTY5NS9saWIvbWlzYy9jb2Rlc2V0LmMKLUBAIC01ODksNyArNTg5 LDcgQEAgQ29kZVNldF9Jbml0KGNvbnN0IGNoYXIgKmljdURhdGFEaXIpIC8vIElOOiBJQ1UgZGF0 YSBmaWxlIGxvY2F0aW9uIGluIEN1cnJlbnQgY28KLSAgICAgICAgKi8KLSAgICAgICBtb2RQYXRo ID0gQ29kZVNldEdldE1vZHVsZVBhdGgoSEdNUF9QUklWSUxFR0UpOwotICAgICAgIGlmIChtb2RQ YXRoKSB7Ci0tICAgICAgICAgbGFzdFNsYXNoID0gc3RycmNocihtb2RQYXRoLCBESVJTRVBDKTsK LSsgICAgICAgICBsYXN0U2xhc2ggPSAoY2hhciAqKSBzdHJyY2hyKG1vZFBhdGgsIERJUlNFUEMp OwotICAgICAgICAgIGlmIChsYXN0U2xhc2gpIHsKLSAgICAgICAgICAgICAqbGFzdFNsYXNoID0g J1wwJzsKLSAKLWRpZmYgLS1naXQgYS9vcGVuLXZtLXRvb2xzLTEzLjAuNS0yNDkxNTY5NS9saWIv bWlzYy9jb2Rlc2V0T2xkLmMgYi9vcGVuLXZtLXRvb2xzLTEzLjAuNS0yNDkxNTY5NS9saWIvbWlz Yy9jb2Rlc2V0T2xkLmMKLWluZGV4IGZiNGYxOTQuLmVkODZkMDMgMTAwNjQ0Ci0tLS0gYS9vcGVu LXZtLXRvb2xzLTEzLjAuNS0yNDkxNTY5NS9saWIvbWlzYy9jb2Rlc2V0T2xkLmMKLSsrKyBiL29w ZW4tdm0tdG9vbHMtMTMuMC41LTI0OTE1Njk1L2xpYi9taXNjL2NvZGVzZXRPbGQuYwotQEAgLTc1 NSw3ICs3NTUsNyBAQCBDb2RlU2V0T2xkX0dldEN1cnJlbnRDb2RlU2V0KHZvaWQpCi0gICAgICAg ICAgY2hhciAqcDsKLSAKLSAgICAgICAgICBnRmlsZW5hbWVFbmNvZGluZyA9IFV0aWxfU2FmZVN0 cmR1cChnRmlsZW5hbWVFbmNvZGluZyk7Ci0tICAgICAgICAgcCA9IHN0cmNocihnRmlsZW5hbWVF bmNvZGluZywgJywnKTsKLSsgICAgICAgICBwID0gKGNoYXIgKikgc3RyY2hyKGdGaWxlbmFtZUVu Y29kaW5nLCAnLCcpOwotIAotICAgICAgICAgIGlmIChwICE9IE5VTEwpIHsKLSAgICAgICAgICAg ICAqcCA9ICdcMCc7Ci1kaWZmIC0tZ2l0IGEvb3Blbi12bS10b29scy0xMy4wLjUtMjQ5MTU2OTUv bGliL21pc2MvaG9zdGluZm9Qb3NpeC5jIGIvb3Blbi12bS10b29scy0xMy4wLjUtMjQ5MTU2OTUv bGliL21pc2MvaG9zdGluZm9Qb3NpeC5jCi1pbmRleCBkYzk5ZDgzLi4yMmRiYjQ4IDEwMDY0NAot LS0tIGEvb3Blbi12bS10b29scy0xMy4wLjUtMjQ5MTU2OTUvbGliL21pc2MvaG9zdGluZm9Qb3Np eC5jCi0rKysgYi9vcGVuLXZtLXRvb2xzLTEzLjAuNS0yNDkxNTY5NS9saWIvbWlzYy9ob3N0aW5m b1Bvc2l4LmMKLUBAIC0xNjIwLDcgKzE2MjAsNyBAQCBIb3N0aW5mb1JlYWREaXN0cm9GaWxlKEJv b2wgb3NSZWxlYXNlUnVsZXMsICAgLy8gSU46IG9zUmVsZWFzZSBydWxlcwotIAotICAgICAgICAg ICAgICBpZiAobGluZUJ1ZltsZW5dID09ICciJykgewotICAgICAgICAgICAgICAgICBkYXRhID0g JmxpbmVCdWZbbGVuICsgMV07Ci0tICAgICAgICAgICAgICAgIHAgPSBzdHJyY2hyKGRhdGEsICci Jyk7Ci0rICAgICAgICAgICAgICAgIHAgPSAoY2hhciAqKSBzdHJyY2hyKGRhdGEsICciJyk7Ci0g Ci0gICAgICAgICAgICAgICAgIGlmIChwID09IE5VTEwpIHsKLSAgICAgICAgICAgICAgICAgICAg V2FybmluZygiJXM6IEludmFsaWQgb3MtcmVsZWFzZSBmaWxlLiIsIF9fRlVOQ1RJT05fXyk7Ci1A QCAtMTYyOSw3ICsxNjI5LDcgQEAgSG9zdGluZm9SZWFkRGlzdHJvRmlsZShCb29sIG9zUmVsZWFz ZVJ1bGVzLCAgIC8vIElOOiBvc1JlbGVhc2UgcnVsZXMKLSAgICAgICAgICAgICAgfSBlbHNlIHsK LSAgICAgICAgICAgICAgICAgZGF0YSA9ICZsaW5lQnVmW2xlbl07Ci0gCi0tICAgICAgICAgICAg ICAgIHAgPSBzdHJjaHIoZGF0YSwgJ1xuJyk7Ci0rICAgICAgICAgICAgICAgIHAgPSAoY2hhciAq KSBzdHJjaHIoZGF0YSwgJ1xuJyk7Ci0gCi0gICAgICAgICAgICAgICAgIGlmIChwID09IE5VTEwp IHsKLSAgICAgICAgICAgICAgICAgICAgV2FybmluZygiJXM6IG9zLXJlbGVhc2UgZmlsZSBsaW5l IHRvbyBsb25nLiIsCi1AQCAtMTg5NCw3ICsxODk0LDcgQEAgSG9zdGluZm9Mc2JSZW1vdmVRdW90 ZXMoY2hhciAqbHNiT3V0cHV0KSAgLy8gSU4vT1VUOgotICAgIEFTU0VSVChsc2JTdGFydCAhPSBO VUxMKTsKLSAKLSAgICBpZiAobHNiU3RhcnRbMF0gPT0gJyInKSB7Ci0tICAgICAgY2hhciAqcXVv dGVFbmQgPSBzdHJjaHIoKytsc2JTdGFydCwgJyInKTsKLSsgICAgICBjaGFyICpxdW90ZUVuZCA9 IChjaGFyICopIHN0cmNocigrK2xzYlN0YXJ0LCAnIicpOwotIAotICAgICAgIGlmIChxdW90ZUVu ZCAhPSBOVUxMKSB7Ci0gICAgICAgICAgKnF1b3RlRW5kID0gJ1wwJzsKLUBAIC0zNDcyLDggKzM0 NzIsOCBAQCBIb3N0aW5mb0dldENwdUluZm8oaW50IG5DcHUsICAgICAgICAgLy8gSU46Ci0gICAg ICAgICAgIFN0ZElPX1JlYWROZXh0TGluZShmLCAmbGluZSwgMCwgTlVMTCkgPT0gU3RkSU9fU3Vj Y2VzcykgewotICAgICAgIGNoYXIgKnM7Ci0gCi0tICAgICAgaWYgKChzID0gc3Ryc3RyKGxpbmUs IG5hbWUpKSAmJgotLSAgICAgICAgICAocyA9IHN0cmNocihzLCAnOicpKSkgewotKyAgICAgIGlm ICgocyA9IChjaGFyICopIHN0cnN0cihsaW5lLCBuYW1lKSkgJiYKLSsgICAgICAgICAgKHMgPSAo Y2hhciAqKSBzdHJjaHIocywgJzonKSkpIHsKLSAgICAgICAgICBjaGFyICplOwotIAotICAgICAg ICAgIHMrKzsKLUBAIC00MDM5LDcgKzQwMzksNyBAQCBIb3N0aW5mb0ZpbmRFbnRyeShjaGFyICpi dWZmZXIsICAgICAgICAgLy8gSU46IEJ1ZmZlcgotICAgICAgICAgICAgICAgICAgIGNvbnN0IGNo YXIgKnN0cmluZywgICAvLyBJTjogU3RyaW5nIHNvdWdodAotICAgICAgICAgICAgICAgICAgIHVu c2lnbmVkIGludCAqdmFsdWUpICAvLyBPVVQ6IFZhbHVlCi0gewotLSAgIGNoYXIgKnAgPSBzdHJz dHIoYnVmZmVyLCBzdHJpbmcpOwotKyAgIGNoYXIgKnAgPSAoY2hhciAqKSBzdHJzdHIoYnVmZmVy LCBzdHJpbmcpOwotICAgIHVuc2lnbmVkIGludCB2YWw7Ci0gCi0gICAgaWYgKHAgPT0gTlVMTCkg ewotQEAgLTQ1NzAsNyArNDU3MCw3IEBAIEhvc3RpbmZvX0dldExpYnJhcnlQYXRoKHZvaWQgKmFk ZHIpICAvLyBJTgotICAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICAgIH0KLSAKLS0gICAg ICAgICBzZXAgPSBzdHJjaHIoZW50cnktPmRfbmFtZSwgJy0nKTsKLSsgICAgICAgICBzZXAgPSAo Y2hhciAqKSBzdHJjaHIoZW50cnktPmRfbmFtZSwgJy0nKTsKLSAgICAgICAgICBpZiAoc2VwID09 IE5VTEwpIHsKLSAgICAgICAgICAgICBjb250aW51ZTsgLy8gVGhlIGZpbGUgbmFtZSBkb2VzIE5P VCBpbiBgMTIzNGFiY2QtYWJjZDEyMzRgIGZvcm1hdAotICAgICAgICAgIH0KLWRpZmYgLS1naXQg YS9vcGVuLXZtLXRvb2xzLTEzLjAuNS0yNDkxNTY5NS9saWIvbWlzYy9tYWNoaW5lSUQuYyBiL29w ZW4tdm0tdG9vbHMtMTMuMC41LTI0OTE1Njk1L2xpYi9taXNjL21hY2hpbmVJRC5jCi1pbmRleCA3 YzI5YTFjLi4xZTA0YTljIDEwMDY0NAotLS0tIGEvb3Blbi12bS10b29scy0xMy4wLjUtMjQ5MTU2 OTUvbGliL21pc2MvbWFjaGluZUlELmMKLSsrKyBiL29wZW4tdm0tdG9vbHMtMTMuMC41LTI0OTE1 Njk1L2xpYi9taXNjL21hY2hpbmVJRC5jCi1AQCAtODgsNyArODgsNyBAQCBGaW5kV2luZG93c0Fk YXB0ZXIoSVBfQURBUFRFUl9JTkZPICpoZWFkLCAgLy8gSU46Ci0gICAgICAgICAgICAgICgqYWRh cHRlckluZm8tPkRlc2NyaXB0aW9uID09ICdcMCcpKSB7Ci0gICAgICAgICAgICAgdGFrZUl0ID0g VFJVRTsKLSAgICAgICAgICB9IGVsc2UgewotLSAgICAgICAgICAgIGNoYXIgKnAgPSBzdHJzdHIo YWRhcHRlckluZm8tPkRlc2NyaXB0aW9uLCBwYXR0ZXJuKTsKLSsgICAgICAgICAgICBjaGFyICpw ID0gKGNoYXIgKikgc3Ryc3RyKGFkYXB0ZXJJbmZvLT5EZXNjcmlwdGlvbiwgcGF0dGVybik7Ci0g Ci0gICAgICAgICAgICAgaWYgKCgocCAhPSBOVUxMKSAmJiBmaW5kUGF0dGVybikgfHwKLSAgICAg ICAgICAgICAgICAgKChwID09IE5VTEwpICYmICFmaW5kUGF0dGVybikpIHsKLWRpZmYgLS1naXQg YS9vcGVuLXZtLXRvb2xzLTEzLjAuNS0yNDkxNTY5NS9saWIvbWlzYy9zdHJ1dGlsLmMgYi9vcGVu LXZtLXRvb2xzLTEzLjAuNS0yNDkxNTY5NS9saWIvbWlzYy9zdHJ1dGlsLmMKLWluZGV4IDRmYzY1 MDIuLjhkNjRkMjcgMTAwNjQ0Ci0tLS0gYS9vcGVuLXZtLXRvb2xzLTEzLjAuNS0yNDkxNTY5NS9s aWIvbWlzYy9zdHJ1dGlsLmMKLSsrKyBiL29wZW4tdm0tdG9vbHMtMTMuMC41LTI0OTE1Njk1L2xp Yi9taXNjL3N0cnV0aWwuYwotQEAgLTE0NjcsNyArMTQ2Nyw3IEBAIFN0clV0aWxfUmVwbGFjZUFs bChjb25zdCBjaGFyICpvcmlnLCAvLyBJTgotICAgICBsZW5XaXRoID0gc3RybGVuKHdpdGgpOwot IAotICAgICBjdXJyZW50ID0gb3JpZzsKLS0gICAgd2hpbGUgKCh0bXAgPSBzdHJzdHIoY3VycmVu dCwgd2hhdCkpICE9IE5VTEwpIHsKLSsgICAgd2hpbGUgKCh0bXAgPSAoY2hhciAqKSBzdHJzdHIo Y3VycmVudCwgd2hhdCkpICE9IE5VTEwpIHsKLSAgICAgICAgY3VycmVudCA9IHRtcCArIGxlbldo YXQ7Ci0gICAgICAgICsrb2NjdXJyZW5jZXM7Ci0gICAgIH0KLUBAIC0xNjIwLDcgKzE2MjAsNyBA QCBTdHJVdGlsX0dldE5leHRJdGVtKGNoYXIgKipsaXN0LCAvLyBJTi9PVVQ6Ci0gICAgICAgcmV0 dXJuIE5VTEw7Ci0gICAgfQotIAotLSAgIGZvdW5kRGVsaW0gPSBzdHJjaHIoKmxpc3QsIGRlbGlt KTsKLSsgICBmb3VuZERlbGltID0gKGNoYXIgKikgc3RyY2hyKCpsaXN0LCBkZWxpbSk7Ci0gICAg aWYgKGZvdW5kRGVsaW0gIT0gTlVMTCkgewotICAgICAgIGZvdW5kRGVsaW1bMF0gPSAnXDAnOwot ICAgICAgICpsaXN0ID0gZm91bmREZWxpbSArIDE7Ci1AQCAtMTY2MCw3ICsxNjYwLDcgQEAgU3Ry VXRpbF9HZXRMYXN0SXRlbShjaGFyICoqbGlzdCwgLy8gSU4vT1VUOgotICAgICAgIHJldHVybiBO VUxMOwotICAgIH0KLSAKLS0gICBmb3VuZERlbGltID0gc3RycmNocigqbGlzdCwgZGVsaW0pOwot KyAgIGZvdW5kRGVsaW0gPSAoY2hhciAqKSBzdHJyY2hyKCpsaXN0LCBkZWxpbSk7Ci0gICAgaWYg KGZvdW5kRGVsaW0gIT0gTlVMTCkgewotICAgICAgIGZvdW5kRGVsaW1bMF0gPSAnXDAnOwotICAg ICAgIHRva2VuID0gZm91bmREZWxpbSArIDE7Ci1AQCAtMTcwNSw3ICsxNzA1LDcgQEAgU3RyVXRp bEhhc0xpc3RJdGVtKGNoYXIgY29uc3QgKmxpc3QsICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIC8vIElOOgotICAgIGRvIHsKLSAgICAgICBpbnQgdG9rZW5MZW47Ci0gCi0tICAgICAgZm91 bmREZWxpbSA9IHN0cmNocihsaXN0LCBkZWxpbSk7Ci0rICAgICAgZm91bmREZWxpbSA9IChjaGFy ICopIHN0cmNocihsaXN0LCBkZWxpbSk7Ci0gICAgICAgaWYgKGZvdW5kRGVsaW0gPT0gTlVMTCkg eyAvLyBlaXRoZXIgc2luZ2xlIG9yIGxhc3QgZWxlbWVudAotICAgICAgICAgIHRva2VuTGVuID0g c3RybGVuKGxpc3QpOwotICAgICAgIH0gZWxzZSB7IC8vICEgbGFzdCBlbGVtZW50Ci1kaWZmIC0t Z2l0IGEvb3Blbi12bS10b29scy0xMy4wLjUtMjQ5MTU2OTUvbGliL25pY0luZm8vbmljSW5mb1Bv c2l4LmMgYi9vcGVuLXZtLXRvb2xzLTEzLjAuNS0yNDkxNTY5NS9saWIvbmljSW5mby9uaWNJbmZv UG9zaXguYwotaW5kZXggMDEzNWU2YS4uYWFhZjc1YSAxMDA2NDQKLS0tLSBhL29wZW4tdm0tdG9v bHMtMTMuMC41LTI0OTE1Njk1L2xpYi9uaWNJbmZvL25pY0luZm9Qb3NpeC5jCi0rKysgYi9vcGVu LXZtLXRvb2xzLTEzLjAuNS0yNDkxNTY5NS9saWIvbmljSW5mby9uaWNJbmZvUG9zaXguYwotQEAg LTI2Niw3ICsyNjYsNyBAQCBJcEVudHJ5TWF0Y2hlc0RldmljZShjb25zdCBjaGFyICpkZXZOYW1l LAotICAgIGNoYXIgKnA7Ci0gICAgc2l6ZV90IG47Ci0gCi0tICAgaWYgKChwID0gc3RyY2hyKGxh YmVsLCAnOicpKSAhPSBOVUxMKSB7Ci0rICAgaWYgKChwID0gKGNoYXIgKikgc3RyY2hyKGxhYmVs LCAnOicpKSAhPSBOVUxMKSB7Ci0gICAgICAgbiA9IHAgLSBsYWJlbDsKLSAgICB9IGVsc2Ugewot ICAgICAgIG4gPSBzdHJsZW4obGFiZWwpOwotZGlmZiAtLWdpdCBhL29wZW4tdm0tdG9vbHMtMTMu MC41LTI0OTE1Njk1L2xpYi9wcm9jTWdyL3Byb2NNZ3JQb3NpeC5jIGIvb3Blbi12bS10b29scy0x My4wLjUtMjQ5MTU2OTUvbGliL3Byb2NNZ3IvcHJvY01nclBvc2l4LmMKLWluZGV4IDk0OTZlMjEu LmYxNzRjNjQgMTAwNjQ0Ci0tLS0gYS9vcGVuLXZtLXRvb2xzLTEzLjAuNS0yNDkxNTY5NS9saWIv cHJvY01nci9wcm9jTWdyUG9zaXguYwotKysrIGIvb3Blbi12bS10b29scy0xMy4wLjUtMjQ5MTU2 OTUvbGliL3Byb2NNZ3IvcHJvY01nclBvc2l4LmMKLUBAIC02MjYsNyArNjI2LDcgQEAgUHJvY01n cl9MaXN0UHJvY2Vzc2VzKHZvaWQpCi0gICAgICAgICAgICAgICAgICAgICogICBnZG0tc2Vzc2lv bi13b3JrZXIgW3BhbS9nZG0tYXV0b2xvZ2luXQotICAgICAgICAgICAgICAgICAgICAqCi0gICAg ICAgICAgICAgICAgICAgICovCi0tICAgICAgICAgICAgICAgICAgY2hhciAqY21kTmFtZUJlZ2lu ID0gc3RycmNocihjbWRMaW5lVGVtcCwgJy8nKTsKLSsgICAgICAgICAgICAgICAgICBjaGFyICpj bWROYW1lQmVnaW4gPSAoY2hhciAqKSBzdHJyY2hyKGNtZExpbmVUZW1wLCAnLycpOwotICAgICAg ICAgICAgICAgICAgIGlmIChOVUxMICE9IGNtZE5hbWVCZWdpbiAmJiBjbWRMaW5lVGVtcFswXSA9 PSAnLycpIHsKLSAgICAgICAgICAgICAgICAgICAgICAvKgotICAgICAgICAgICAgICAgICAgICAg ICAqIFNraXAgb3ZlciB0aGUgbGFzdCBzZXBhcmF0b3IuCi1AQCAtNzY0LDcgKzc2NCw3IEBAIFBy b2NNZ3JfTGlzdFByb2Nlc3Nlcyh2b2lkKQotICAgICAgIC8qCi0gICAgICAgICogU2tpcCBvdmVy IGluaXRpYWwgcHJvY2VzcyBpZCBhbmQgcHJvY2VzcyBuYW1lLiAgIjEyMyAoYmFzaCkgWy4uLl0i LgotICAgICAgICAqLwotLSAgICAgIHN0cmluZ0JlZ2luID0gc3RyY2hyKGNtZFN0YXRUZW1wLCAn KScpICsgMjsKLSsgICAgICBzdHJpbmdCZWdpbiA9IChjaGFyICopIHN0cmNocihjbWRTdGF0VGVt cCwgJyknKSArIDI7Ci0gCi0gICAgICAgbnVtYmVyRm91bmQgPSBzc2NhbmYoc3RyaW5nQmVnaW4s ICIlYyAlZCAlZCAlZCAlZCAlZCAiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIiVsdSAl bHUgJWx1ICVsdSAlbHUgJUx1ICVMdSAlTHUgJUx1ICVsZCAlbGQgIgotQEAgLTk5MCw3ICs5OTAs NyBAQCBQcm9jTWdyX0xpc3RQcm9jZXNzZXModm9pZCkKLSAgICAgICAgICAgICAgICAgKiBGaW5k IHRoZSBsYXN0IHBhdGggc2VwYXJhdG9yLCB0byBnZXQgdGhlIGNtZCBuYW1lLgotICAgICAgICAg ICAgICAgICAqIElmIG5vIHNlcGFyYXRvciBpcyBmb3VuZCwgdGhlbiB1c2UgdGhlIHdob2xlIG5h bWUuCi0gICAgICAgICAgICAgICAgICovCi0tICAgICAgICAgICAgICAgY21kTmFtZUJlZ2luID0g c3RycmNocigqY21kTGluZVRlbXAsICcvJyk7Ci0rICAgICAgICAgICAgICAgY21kTmFtZUJlZ2lu ID0gKGNoYXIgKikgc3RycmNocigqY21kTGluZVRlbXAsICcvJyk7Ci0gICAgICAgICAgICAgICAg aWYgKE5VTEwgPT0gY21kTmFtZUJlZ2luKSB7Ci0gICAgICAgICAgICAgICAgICAgY21kTmFtZUJl Z2luID0gKmNtZExpbmVUZW1wOwotICAgICAgICAgICAgICAgIH0gZWxzZSB7Ci1AQCAtMTIxOSw3 ICsxMjE5LDcgQEAgUHJvY01nckdldENvbW1hbmRMaW5lQXJncyhsb25nIHBpZCwgICAgICAgICAg ICAgICAvLyBJTjogIHByb2Nlc3MgaWQKLSAgICAgICAgICAgICAgKiBGaW5kIHRoZSBsYXN0IHBh dGggc2VwYXJhdG9yLCB0byBnZXQgdGhlIGNtZCBuYW1lLgotICAgICAgICAgICAgICAqIElmIG5v IHNlcGFyYXRvciBpcyBmb3VuZCwgdGhlbiB1c2UgdGhlIHdob2xlIG5hbWUuCi0gICAgICAgICAg ICAgICovCi0tICAgICAgICAgICAgY21kTmFtZUJlZ2luID0gc3RycmNocihjbWRMaW5lVGVtcCwg Jy8nKTsKLSsgICAgICAgICAgICBjbWROYW1lQmVnaW4gPSAoY2hhciAqKSBzdHJyY2hyKGNtZExp bmVUZW1wLCAnLycpOwotICAgICAgICAgICAgIGlmIChOVUxMID09IGNtZE5hbWVCZWdpbikgewot ICAgICAgICAgICAgICAgIGNtZE5hbWVCZWdpbiA9IGNtZExpbmVUZW1wOwotICAgICAgICAgICAg IH0gZWxzZSB7Ci1kaWZmIC0tZ2l0IGEvb3Blbi12bS10b29scy0xMy4wLjUtMjQ5MTU2OTUvbGli L3Byb2NNZ3IvcHJvY01nclNvbGFyaXMuYyBiL29wZW4tdm0tdG9vbHMtMTMuMC41LTI0OTE1Njk1 L2xpYi9wcm9jTWdyL3Byb2NNZ3JTb2xhcmlzLmMKLWluZGV4IGVkZTUyZDYuLjhlMDE2MDYgMTAw NjQ0Ci0tLS0gYS9vcGVuLXZtLXRvb2xzLTEzLjAuNS0yNDkxNTY5NS9saWIvcHJvY01nci9wcm9j TWdyU29sYXJpcy5jCi0rKysgYi9vcGVuLXZtLXRvb2xzLTEzLjAuNS0yNDkxNTY5NS9saWIvcHJv Y01nci9wcm9jTWdyU29sYXJpcy5jCi1AQCAtMzU3LDcgKzM1Nyw3IEBAIEV4dHJhY3RDb21tYW5k TGluZUZyb21BZGRyZXNzU3BhY2VGaWxlKHBzaW5mb190ICpwcm9jSW5mbywgLy9JTjogcHNpbmZv IHN0cnVjdAotICAgICAgICAgICAgICAqIEZpbmQgdGhlIGxhc3QgcGF0aCBzZXBhcmF0b3IsIHRv IGdldCB0aGUgY21kIG5hbWUuCi0gICAgICAgICAgICAgICogSWYgbm8gc2VwYXJhdG9yIGlzIGZv dW5kLCB0aGVuIHVzZSB0aGUgd2hvbGUgbmFtZS4KLSAgICAgICAgICAgICAgKi8KLS0gICAgICAg ICAgICBjbWROYW1lQmVnaW4gPSBzdHJyY2hyKGJ1ZiwgJy8nKTsKLSsgICAgICAgICAgICBjbWRO YW1lQmVnaW4gPSAoY2hhciAqKSBzdHJyY2hyKGJ1ZiwgJy8nKTsKLSAgICAgICAgICAgICBpZiAo TlVMTCA9PSBjbWROYW1lQmVnaW4pIHsKLSAgICAgICAgICAgICAgICBjbWROYW1lQmVnaW4gPSBi dWY7Ci0gICAgICAgICAgICAgfSBlbHNlIHsKLWRpZmYgLS1naXQgYS9vcGVuLXZtLXRvb2xzLTEz LjAuNS0yNDkxNTY5NS9saWIvcnBjQ2hhbm5lbC9nbGliX3N0dWJzLmMgYi9vcGVuLXZtLXRvb2xz LTEzLjAuNS0yNDkxNTY5NS9saWIvcnBjQ2hhbm5lbC9nbGliX3N0dWJzLmMKLWluZGV4IGMzMmRl YjAuLmVkYjNmYzQgMTAwNjQ0Ci0tLS0gYS9vcGVuLXZtLXRvb2xzLTEzLjAuNS0yNDkxNTY5NS9s aWIvcnBjQ2hhbm5lbC9nbGliX3N0dWJzLmMKLSsrKyBiL29wZW4tdm0tdG9vbHMtMTMuMC41LTI0 OTE1Njk1L2xpYi9ycGNDaGFubmVsL2dsaWJfc3R1YnMuYwotQEAgLTMyLDYgKzMyLDkgQEAKLSAj aWYgIWRlZmluZWQoVVNFX1JQQ0lfT05MWSkKLSAjZXJyb3IgIlRoaXMgZmlsZSBzaG91bGQgYmUg Y29tcGlsZWQgZm9yIFJQQ0ktb25seSBjaGFubmVsISIKLSAjZW5kaWYKLSsjaWYgZGVmaW5lZChn X2ZyZWUpCi0rI3VuZGVmIGdfZnJlZQotKyNlbmRpZgotIAotIHZvaWQgKmdfbWFsbG9jMChzaXpl X3QgcykgeyByZXR1cm4gVXRpbF9TYWZlQ2FsbG9jKDEsIHMpOyB9Ci0gdm9pZCAqZ19tYWxsb2Mw X24oc2l6ZV90IG4sIHNpemVfdCBzKSB7IHJldHVybiBVdGlsX1NhZmVDYWxsb2Mobiwgcyk7IH0K LWRpZmYgLS1naXQgYS9vcGVuLXZtLXRvb2xzLTEzLjAuNS0yNDkxNTY5NS9saWIvdXNlci91dGls LmMgYi9vcGVuLXZtLXRvb2xzLTEzLjAuNS0yNDkxNTY5NS9saWIvdXNlci91dGlsLmMKLWluZGV4 IGJiZDI5YzUuLmRkMTAzYmEgMTAwNjQ0Ci0tLS0gYS9vcGVuLXZtLXRvb2xzLTEzLjAuNS0yNDkx NTY5NS9saWIvdXNlci91dGlsLmMKLSsrKyBiL29wZW4tdm0tdG9vbHMtMTMuMC41LTI0OTE1Njk1 L2xpYi91c2VyL3V0aWwuYwotQEAgLTg1Nyw3ICs4NTcsNyBAQCBVdGlsX0Rlcml2ZUZpbGVOYW1l KGNvbnN0IGNoYXIgKnNvdXJjZSwgLy8gSU46IHBhdGggdG8gZGljdCBmaWxlIChpbmNsIGZpbGVu YW1lKQotIAotICAgIC8qIHN0cmlwIG9mZiB0aGUgZXhpc3RpbmcgZmlsZSBleHRlbnNpb24sIGlm IHByZXNlbnQgKi8KLSAgICB7Ci0tICAgICAgY2hhciAqcCA9IFN0cl9TdHJyY2hyKGJhc2UsICcu Jyk7Ci0rICAgICAgY2hhciAqcCA9IChjaGFyICopIFN0cl9TdHJyY2hyKGJhc2UsICcuJyk7Ci0g ICAgICAgaWYgKHAgIT0gTlVMTCkgewotIAkgKnAgPSAnXDAnOwotICAgICAgIH0KLWRpZmYgLS1n aXQgYS9vcGVuLXZtLXRvb2xzLTEzLjAuNS0yNDkxNTY5NS9saWJndWVzdFN0b3JlQ2xpZW50L2d1 ZXN0U3RvcmVDbGllbnRMaWIuYyBiL29wZW4tdm0tdG9vbHMtMTMuMC41LTI0OTE1Njk1L2xpYmd1 ZXN0U3RvcmVDbGllbnQvZ3Vlc3RTdG9yZUNsaWVudExpYi5jCi1pbmRleCA5Zjc0ZTg0Li5kYzI0 OGM4IDEwMDY0NAotLS0tIGEvb3Blbi12bS10b29scy0xMy4wLjUtMjQ5MTU2OTUvbGliZ3Vlc3RT dG9yZUNsaWVudC9ndWVzdFN0b3JlQ2xpZW50TGliLmMKLSsrKyBiL29wZW4tdm0tdG9vbHMtMTMu MC41LTI0OTE1Njk1L2xpYmd1ZXN0U3RvcmVDbGllbnQvZ3Vlc3RTdG9yZUNsaWVudExpYi5jCi1A QCAtNzM1LDcgKzczNSw3IEBAIEd1ZXN0U3RvcmVSZWN2SFRUUFJlc3BvbnNlSGVhZGVyKENhbGxD dHggKmN0eCkgIC8vIElOCi0gCi0gICAgICAgdG90YWxCeXRlc1JlY2VpdmVkICs9IGJ5dGVzUmVj ZWl2ZWQ7Ci0gICAgICAgY3R4LT5idWZbdG90YWxCeXRlc1JlY2VpdmVkXSA9ICdcMCc7Ci0tICAg ICAgaHR0cEhlYWRlckVuZCA9IHN0cnN0cihjdHgtPmJ1ZiwgSFRUUF9IRUFERVJfRU5EKTsKLSsg ICAgICBodHRwSGVhZGVyRW5kID0gKGNoYXIgKikgc3Ryc3RyKGN0eC0+YnVmLCBIVFRQX0hFQURF Ul9FTkQpOwotICAgICAgIGlmIChodHRwSGVhZGVyRW5kICE9IE5VTEwpIHsKLSAgICAgICAgICAq aHR0cEhlYWRlckVuZCA9ICdcMCc7Ci0gICAgICAgICAgYnJlYWs7Ci1AQCAtNzc2LDcgKzc3Niw3 IEBAIEd1ZXN0U3RvcmVSZWN2SFRUUFJlc3BvbnNlSGVhZGVyKENhbGxDdHggKmN0eCkgIC8vIElO Ci0gICAgICAgcmV0dXJuIEdTTElCRVJSX1NFUlZFUjsKLSAgICB9Ci0gCi0tICAgY29udGVudExl bmd0aEhlYWRlciA9IHN0cnN0cihodHRwU3RhdHVzICsgc3RybGVuKGh0dHBTdGF0dXMpICsgMSwK LSsgICBjb250ZW50TGVuZ3RoSGVhZGVyID0gKGNoYXIgKikgc3Ryc3RyKGh0dHBTdGF0dXMgKyBz dHJsZW4oaHR0cFN0YXR1cykgKyAxLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg Q09OVEVOVF9MRU5HVEhfSEVBREVSKTsKLSAgICBpZiAoTlVMTCA9PSBjb250ZW50TGVuZ3RoSGVh ZGVyKSB7Ci0gICAgICAgTE9HX0VSUihjdHgsICJQcm90b2NvbCBjb250ZW50IGxlbmd0aCBub3Qg Zm91bmQuIik7Ci1kaWZmIC0tZ2l0IGEvb3Blbi12bS10b29scy0xMy4wLjUtMjQ5MTU2OTUvbGli dm10b29scy9pMThuLmMgYi9vcGVuLXZtLXRvb2xzLTEzLjAuNS0yNDkxNTY5NS9saWJ2bXRvb2xz L2kxOG4uYwotaW5kZXggMzA4NWY3Mi4uZDZjOGVhZSAxMDA2NDQKLS0tLSBhL29wZW4tdm0tdG9v bHMtMTMuMC41LTI0OTE1Njk1L2xpYnZtdG9vbHMvaTE4bi5jCi0rKysgYi9vcGVuLXZtLXRvb2xz LTEzLjAuNS0yNDkxNTY5NS9saWJ2bXRvb2xzL2kxOG4uYwotQEAgLTI0MCw3ICsyNDAsNyBAQCBN c2dHZXRVc2VyTGFuZ3VhZ2Uodm9pZCkKLSAgICAgICBjaGFyICpkb3Q7Ci0gCi0gICAgICAgbGFu ZyA9IGdfc3RyZHVwKHRtcCk7Ci0tICAgICAgZG90ID0gc3RyY2hyKGxhbmcsICcuJyk7Ci0rICAg ICAgZG90ID0gKGNoYXIgKikgc3RyY2hyKGxhbmcsICcuJyk7Ci0gICAgICAgaWYgKGRvdCAhPSBO VUxMKSB7Ci0gICAgICAgICAgKmRvdCA9ICdcMCc7Ci0gICAgICAgfQotQEAgLTY5OCw3ICs2OTgs NyBAQCBWTVRvb2xzX0JpbmRUZXh0RG9tYWluKGNvbnN0IGNoYXIgKmRvbWFpbiwKLSAgICAgICAg KiBJZiB3ZSBjb3VsZG4ndCBmaW5kIHRoZSBjYXRhbG9nIGZpbGUgZm9yIHRoZSB1c2VyJ3MgbGFu Z3VhZ2UsIHNlZSBpZgotICAgICAgICAqIHdlIGNhbiBmaW5kIGEgbW9yZSBnZW5lcmljIGxhbmd1 YWdlIChlLmcuLCBmb3IgImVuX1VTIiwgYWxzbyB0cnkgImVuIikuCi0gICAgICAgICovCi0tICAg ICAgY2hhciAqc2VwID0gU3RyX1N0cnJjaHIobGFuZywgJ18nKTsKLSsgICAgICBjaGFyICpzZXAg PSAoY2hhciAqKSBTdHJfU3RycmNocihsYW5nLCAnXycpOwotICAgICAgIGlmIChzZXAgIT0gTlVM TCkgewotICAgICAgICAgIGlmICh1c3JsYW5nID09IE5VTEwpIHsKLSAgICAgICAgICAgICB1c3Js YW5nID0gVXRpbF9TYWZlU3RyZHVwKGxhbmcpOwotZGlmZiAtLWdpdCBhL29wZW4tdm0tdG9vbHMt MTMuMC41LTI0OTE1Njk1L21vZHVsZXMvc29sYXJpcy92bWhnZnMvdm5vZGUuYyBiL29wZW4tdm0t dG9vbHMtMTMuMC41LTI0OTE1Njk1L21vZHVsZXMvc29sYXJpcy92bWhnZnMvdm5vZGUuYwotaW5k ZXggNTNkZDU0OS4uZGYyZTFmMiAxMDA2NDQKLS0tLSBhL29wZW4tdm0tdG9vbHMtMTMuMC41LTI0 OTE1Njk1L21vZHVsZXMvc29sYXJpcy92bWhnZnMvdm5vZGUuYwotKysrIGIvb3Blbi12bS10b29s cy0xMy4wLjUtMjQ5MTU2OTUvbW9kdWxlcy9zb2xhcmlzL3ZtaGdmcy92bm9kZS5jCi1AQCAtNTQy MSw3ICs1NDIxLDcgQEAgSGdmc01ha2VGdWxsTmFtZShjb25zdCBjaGFyICpwYXRoLCAgICAgIC8v IElOOiAgUGF0aCBvZiBkaXJlY3RvcnkgY29udGFpbmluZyBmaWwKLSAgICAgICAgKiBSZXBsYWNl IHRoZSBsYXN0IHBhdGggc2VwYXJhdG9yIHdpdGggYSBOVUwgdGVybWluYXRvciwgdGhlbiByZXR1 cm4gdGhlCi0gICAgICAgICogc2l6ZSBvZiB0aGUgYnVmZmVyLgotICAgICAgICAqLwotLSAgICAg IGNoYXIgKm5ld0VuZCA9IHN0cnJjaHIob3V0QnVmLCAnLycpOwotKyAgICAgIGNoYXIgKm5ld0Vu ZCA9IChjaGFyICopIHN0cnJjaHIob3V0QnVmLCAnLycpOwotICAgICAgIGlmICghbmV3RW5kKSB7 Ci0gICAgICAgICAgLyoKLSAgICAgICAgICAgKiBXZSBzaG91bGQgbmV2ZXIgZ2V0IGhlcmUgc2lu Y2Ugd2UgbmFtZSB0aGUgcm9vdCB2bm9kZSAiLyIgaW4KLWRpZmYgLS1naXQgYS9vcGVuLXZtLXRv b2xzLTEzLjAuNS0yNDkxNTY5NS9zZXJ2aWNlcy9wbHVnaW5zL2NvbXBvbmVudE1nci9jb21wb25l bnRNZ3JJbnN0YWxsQWN0aW9uLmMgYi9vcGVuLXZtLXRvb2xzLTEzLjAuNS0yNDkxNTY5NS9zZXJ2 aWNlcy9wbHVnaW5zL2NvbXBvbmVudE1nci9jb21wb25lbnRNZ3JJbnN0YWxsQWN0aW9uLmMKLWlu ZGV4IGUwNTFmNDEuLjlkZGIyMzkgMTAwNjQ0Ci0tLS0gYS9vcGVuLXZtLXRvb2xzLTEzLjAuNS0y NDkxNTY5NS9zZXJ2aWNlcy9wbHVnaW5zL2NvbXBvbmVudE1nci9jb21wb25lbnRNZ3JJbnN0YWxs QWN0aW9uLmMKLSsrKyBiL29wZW4tdm0tdG9vbHMtMTMuMC41LTI0OTE1Njk1L3NlcnZpY2VzL3Bs dWdpbnMvY29tcG9uZW50TWdyL2NvbXBvbmVudE1nckluc3RhbGxBY3Rpb24uYwotQEAgLTQ3Niw3 ICs0NzYsNyBAQCBDb21wb25lbnRNZ3JDb25zdHJ1Y3RDb21tYW5kbGluZShnY2hhciAqc2NyaXB0 UGF0aCwgICAgICAgICAgICAvLyBJTgotICAgIH0KLSAKLSAgICBpZiAoY3VzdG9tQXJndW1lbnRz ICE9IE5VTEwpIHsKLS0gICAgICBtYW5kYXRvcnlQYXJhbXNFeGlzdHMgPSBzdHJzdHIoY3VzdG9t QXJndW1lbnRzLCBtYW5kYXRvcnlQYXJhbXMpOwotKyAgICAgIG1hbmRhdG9yeVBhcmFtc0V4aXN0 cyA9IChjaGFyICopIHN0cnN0cihjdXN0b21Bcmd1bWVudHMsIG1hbmRhdG9yeVBhcmFtcyk7Ci0g ICAgICAgaWYgKG1hbmRhdG9yeVBhcmFtc0V4aXN0cyA9PSBOVUxMKSB7Ci0gICAgICAgICAgY29t bWFuZGxpbmUgPSBTdHJfU2FmZUFzcHJpbnRmKE5VTEwsICJcIiVzJXNcIiAlcyBcIiVzXCIgJXMg JXMgJXMiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzeXNEaXIs IHBvd2Vyc2hlbGxFeGVjdXRhYmxlLAotQEAgLTUwNCw3ICs1MDQsNyBAQCBDb21wb25lbnRNZ3JD b25zdHJ1Y3RDb21tYW5kbGluZShnY2hhciAqc2NyaXB0UGF0aCwgICAgICAgICAgICAvLyBJTgot ICAgIGZyZWUoc3lzRGlyKTsKLSAjZWxzZQotICAgIGlmIChjdXN0b21Bcmd1bWVudHMgIT0gTlVM TCkgewotLSAgICAgIG1hbmRhdG9yeVBhcmFtc0V4aXN0cyA9IHN0cnN0cihjdXN0b21Bcmd1bWVu dHMsIG1hbmRhdG9yeVBhcmFtcyk7Ci0rICAgICAgbWFuZGF0b3J5UGFyYW1zRXhpc3RzID0gKGNo YXIgKikgc3Ryc3RyKGN1c3RvbUFyZ3VtZW50cywgbWFuZGF0b3J5UGFyYW1zKTsKLSAgICAgICBp ZiAobWFuZGF0b3J5UGFyYW1zRXhpc3RzID09IE5VTEwpIHsKLSAgICAgICAgICBjb21tYW5kbGlu ZSA9IFN0cl9TYWZlQXNwcmludGYoTlVMTCwgIiVzICVzICVzICVzIiwgc2NyaXB0UGF0aCwKLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdEFyZ3VtZW50cywg Y3VzdG9tQXJndW1lbnRzLAotZGlmZiAtLWdpdCBhL29wZW4tdm0tdG9vbHMtMTMuMC41LTI0OTE1 Njk1L3NlcnZpY2VzL3BsdWdpbnMvZG5kY3AvY29weVBhc3RlVUlYMTEuY3BwIGIvb3Blbi12bS10 b29scy0xMy4wLjUtMjQ5MTU2OTUvc2VydmljZXMvcGx1Z2lucy9kbmRjcC9jb3B5UGFzdGVVSVgx MS5jcHAKLWluZGV4IGE0YTAyYzUuLmVmNDdiNzYgMTAwNjQ0Ci0tLS0gYS9vcGVuLXZtLXRvb2xz LTEzLjAuNS0yNDkxNTY5NS9zZXJ2aWNlcy9wbHVnaW5zL2RuZGNwL2NvcHlQYXN0ZVVJWDExLmNw cAotKysrIGIvb3Blbi12bS10b29scy0xMy4wLjUtMjQ5MTU2OTUvc2VydmljZXMvcGx1Z2lucy9k bmRjcC9jb3B5UGFzdGVVSVgxMS5jcHAKLUBAIC0xMDQwLDcgKzEwNDAsNyBAQCBDb3B5UGFzdGVV SVgxMTo6TG9jYWxHZXRTZWxlY3Rpb25GaWxlTGlzdChjb25zdCBHdGs6OlNlbGVjdGlvbkRhdGEm IHNkKSAgICAgIC8vCi0gICAgICAgLyoKLSAgICAgICAgKiBQYXJzZSByZWxhdGl2ZSBwYXRoLgot ICAgICAgICAqLwotLSAgICAgIG5ld1JlbFBhdGggPSBTdHJfU3RycmNocihuZXdQYXRoLCBESVJT RVBDKSArIDE7IC8vIFBvaW50IHRvIGNoYXIgYWZ0ZXIgJy8nCi0rICAgICAgbmV3UmVsUGF0aCA9 IChjaGFyICopIFN0cl9TdHJyY2hyKG5ld1BhdGgsIERJUlNFUEMpICsgMTsgLy8gUG9pbnQgdG8g Y2hhciBhZnRlciAnLycKLSAKLSAgICAgICAvKiBLZWVwIHRyYWNrIG9mIGhvdyBiaWcgdGhlIGZj cCBmaWxlcyBhcmUuICovCi0gICAgICAgaWYgKChzaXplID0gRmlsZV9HZXRTaXplRXgobmV3UGF0 aCkpID49IDApIHsKLWRpZmYgLS1naXQgYS9vcGVuLXZtLXRvb2xzLTEzLjAuNS0yNDkxNTY5NS9z ZXJ2aWNlcy9wbHVnaW5zL2RuZGNwL2RuZC9kbmRYZGcuYyBiL29wZW4tdm0tdG9vbHMtMTMuMC41 LTI0OTE1Njk1L3NlcnZpY2VzL3BsdWdpbnMvZG5kY3AvZG5kL2RuZFhkZy5jCi1pbmRleCBkYTU0 ZWU1Li44ZjQ5MGY2IDEwMDY0NAotLS0tIGEvb3Blbi12bS10b29scy0xMy4wLjUtMjQ5MTU2OTUv c2VydmljZXMvcGx1Z2lucy9kbmRjcC9kbmQvZG5kWGRnLmMKLSsrKyBiL29wZW4tdm0tdG9vbHMt MTMuMC41LTI0OTE1Njk1L3NlcnZpY2VzL3BsdWdpbnMvZG5kY3AvZG5kL2RuZFhkZy5jCi1AQCAt NDI4LDcgKzQyOCw3IEBAIENyZWF0ZVN0YWdpbmdEaXJlY3RvcnkoCi0gICAgICAgY2hhciAqcmVh bFN0YWdpbmdEaXIgPSBTdHJfU2FmZUFzcHJpbnRmKE5VTEwsICIlc1hYWFhYWCIsIHJlYWxSb290 KTsKLSAKLSAgICAgICBpZiAobWtkdGVtcChyZWFsU3RhZ2luZ0RpcikgIT0gTlVMTCkgewotLSAg ICAgICAgIGNoYXIgKnJhbmRvbVBhcnQgPSBzdHJyY2hyKHJlYWxTdGFnaW5nRGlyLCAnLycpICsg MTsKLSsgICAgICAgICBjaGFyICpyYW5kb21QYXJ0ID0gKGNoYXIgKikgc3RycmNocihyZWFsU3Rh Z2luZ0RpciwgJy8nKSArIDE7Ci0gICAgICAgICAgVkVSSUZZKCpyYW5kb21QYXJ0ICE9ICdcMCcp OwotIAotICAgICAgICAgIGFwcGFyZW50U3RhZ2luZ0RpciA9IFVuaWNvZGVfQXBwZW5kKGFwcGFy ZW50Um9vdCwgcmFuZG9tUGFydCk7Ci1kaWZmIC0tZ2l0IGEvb3Blbi12bS10b29scy0xMy4wLjUt MjQ5MTU2OTUvc2VydmljZXMvcGx1Z2lucy9kbmRjcC9kbmRHdWVzdC9ndWVzdENvcHlQYXN0ZVNy Yy5jYyBiL29wZW4tdm0tdG9vbHMtMTMuMC41LTI0OTE1Njk1L3NlcnZpY2VzL3BsdWdpbnMvZG5k Y3AvZG5kR3Vlc3QvZ3Vlc3RDb3B5UGFzdGVTcmMuY2MKLWluZGV4IDQyYjE0YTcuLjAzMDM2MjUg MTAwNjQ0Ci0tLS0gYS9vcGVuLXZtLXRvb2xzLTEzLjAuNS0yNDkxNTY5NS9zZXJ2aWNlcy9wbHVn aW5zL2RuZGNwL2RuZEd1ZXN0L2d1ZXN0Q29weVBhc3RlU3JjLmNjCi0rKysgYi9vcGVuLXZtLXRv b2xzLTEzLjAuNS0yNDkxNTY5NS9zZXJ2aWNlcy9wbHVnaW5zL2RuZGNwL2RuZEd1ZXN0L2d1ZXN0 Q29weVBhc3RlU3JjLmNjCi1AQCAtMTk4LDcgKzE5OCw3IEBAIEd1ZXN0Q29weVBhc3RlU3JjOjpT ZXR1cERlc3REaXIoY29uc3Qgc3RkOjpzdHJpbmcgJmRlc3REaXIpCi0gICAgICAgaWYgKG5ld0Rp ciAhPSBOVUxMKSB7Ci0gICAgICAgICAgbVN0YWdpbmdEaXIgPSBuZXdEaXI7Ci0gCi0tICAgICAg ICAgY2hhciAqbGFzdFNlcCA9IFN0cl9TdHJyY2hyKG5ld0RpciwgRElSU0VQQyk7Ci0rICAgICAg ICAgY2hhciAqbGFzdFNlcCA9IChjaGFyICopIFN0cl9TdHJyY2hyKG5ld0RpciwgRElSU0VQQyk7 Ci0gICAgICAgICAgaWYgKGxhc3RTZXAgJiYgbGFzdFNlcFsxXSAhPSAnXDAnKSB7Ci0gICAgICAg ICAgICAgbVN0YWdpbmdEaXIgKz0gRElSU0VQUzsKLSAgICAgICAgICB9Ci1kaWZmIC0tZ2l0IGEv b3Blbi12bS10b29scy0xMy4wLjUtMjQ5MTU2OTUvc2VydmljZXMvcGx1Z2lucy9kbmRjcC9kbmRH dWVzdC92bUd1ZXN0RG5EU3JjLmNjIGIvb3Blbi12bS10b29scy0xMy4wLjUtMjQ5MTU2OTUvc2Vy dmljZXMvcGx1Z2lucy9kbmRjcC9kbmRHdWVzdC92bUd1ZXN0RG5EU3JjLmNjCi1pbmRleCAxMWM5 ZmQ1Li4yZjM2NmM3IDEwMDY0NAotLS0tIGEvb3Blbi12bS10b29scy0xMy4wLjUtMjQ5MTU2OTUv c2VydmljZXMvcGx1Z2lucy9kbmRjcC9kbmRHdWVzdC92bUd1ZXN0RG5EU3JjLmNjCi0rKysgYi9v cGVuLXZtLXRvb2xzLTEzLjAuNS0yNDkxNTY5NS9zZXJ2aWNlcy9wbHVnaW5zL2RuZGNwL2RuZEd1 ZXN0L3ZtR3Vlc3REbkRTcmMuY2MKLUBAIC03MCw3ICs3MCw3IEBAIFZNR3Vlc3REbkRTcmM6OlNl dHVwRGVzdERpcihjb25zdCBzdGQ6OnN0cmluZyAmZGVzdERpcikKLSAgICAgICBpZiAobmV3RGly ICE9IE5VTEwpIHsKLSAgICAgICAgICBtU3RhZ2luZ0RpciA9IG5ld0RpcjsKLSAKLS0gICAgICAg ICBjaGFyICpsYXN0U2VwID0gU3RyX1N0cnJjaHIobmV3RGlyLCBESVJTRVBDKTsKLSsgICAgICAg ICBjaGFyICpsYXN0U2VwID0gKGNoYXIgKikgU3RyX1N0cnJjaHIobmV3RGlyLCBESVJTRVBDKTsK LSAgICAgICAgICBpZiAobGFzdFNlcCAmJiBsYXN0U2VwWzFdICE9ICdcMCcpIHsKLSAgICAgICAg ICAgICBtU3RhZ2luZ0RpciArPSBESVJTRVBTOwotICAgICAgICAgIH0KLWRpZmYgLS1naXQgYS9v cGVuLXZtLXRvb2xzLTEzLjAuNS0yNDkxNTY5NS9zZXJ2aWNlcy9wbHVnaW5zL2RuZGNwL2RuZFVJ WDExLmNwcCBiL29wZW4tdm0tdG9vbHMtMTMuMC41LTI0OTE1Njk1L3NlcnZpY2VzL3BsdWdpbnMv ZG5kY3AvZG5kVUlYMTEuY3BwCi1pbmRleCBlMDg0ZGM0Li44M2MyYzYwIDEwMDY0NAotLS0tIGEv b3Blbi12bS10b29scy0xMy4wLjUtMjQ5MTU2OTUvc2VydmljZXMvcGx1Z2lucy9kbmRjcC9kbmRV SVgxMS5jcHAKLSsrKyBiL29wZW4tdm0tdG9vbHMtMTMuMC41LTI0OTE1Njk1L3NlcnZpY2VzL3Bs dWdpbnMvZG5kY3AvZG5kVUlYMTEuY3BwCi1AQCAtMTQ5MSw3ICsxNDkxLDcgQEAgRG5EVUlYMTE6 OlNldENQQ2xpcGJvYXJkRnJvbUd0ayhjb25zdCBHdGs6OlNlbGVjdGlvbkRhdGEmIHNkKSAvLyBJ TgotICAgICAgICAgIC8qCi0gICAgICAgICAgICogUGFyc2UgcmVsYXRpdmUgcGF0aC4KLSAgICAg ICAgICAgKi8KLS0gICAgICAgICBuZXdSZWxQYXRoID0gU3RyX1N0cnJjaHIobmV3UGF0aCwgRElS U0VQQykgKyAxOyAvLyBQb2ludCB0byBjaGFyIGFmdGVyICcvJwotKyAgICAgICAgIG5ld1JlbFBh dGggPSAoY2hhciAqKSBTdHJfU3RycmNocihuZXdQYXRoLCBESVJTRVBDKSArIDE7IC8vIFBvaW50 IHRvIGNoYXIgYWZ0ZXIgJy8nCi0gCi0gICAgICAgICAgLyogS2VlcCB0cmFjayBvZiBob3cgYmln IHRoZSBkbmQgZmlsZXMgYXJlLiAqLwotICAgICAgICAgIGlmICgoc2l6ZSA9IEZpbGVfR2V0U2l6 ZUV4KG5ld1BhdGgpKSA+PSAwKSB7Ci1kaWZmIC0tZ2l0IGEvb3Blbi12bS10b29scy0xMy4wLjUt MjQ5MTU2OTUvc2VydmljZXMvcGx1Z2lucy9ndWVzdEluZm8vcGVyZk1vbkxpbnV4LmMgYi9vcGVu LXZtLXRvb2xzLTEzLjAuNS0yNDkxNTY5NS9zZXJ2aWNlcy9wbHVnaW5zL2d1ZXN0SW5mby9wZXJm TW9uTGludXguYwotaW5kZXggM2M1MWZhZS4uNzI0OGI2ZiAxMDA2NDQKLS0tLSBhL29wZW4tdm0t dG9vbHMtMTMuMC41LTI0OTE1Njk1L3NlcnZpY2VzL3BsdWdpbnMvZ3Vlc3RJbmZvL3BlcmZNb25M aW51eC5jCi0rKysgYi9vcGVuLXZtLXRvb2xzLTEzLjAuNS0yNDkxNTY5NS9zZXJ2aWNlcy9wbHVn aW5zL2d1ZXN0SW5mby9wZXJmTW9uTGludXguYwotQEAgLTQ3Nyw3ICs0NzcsNyBAQCBHdWVzdElu Zm9Qcm9jRGF0YShjb25zdCBjaGFyICpwYXRoTmFtZSwgICAgICAgICAgIC8vIElOOiBwYXRoIG5h bWUKLSAgICAgICB9Ci0gCi0gICAgICAgaWYgKGZpZWxkU2VwYXJhdG9yICE9ICdcMCcpIHsKLS0g ICAgICAgICBjaGFyICpwID0gc3RycmNocihmaWVsZE5hbWUsIGZpZWxkU2VwYXJhdG9yKTsKLSsg ICAgICAgICBjaGFyICpwID0gKGNoYXIgKikgc3RycmNocihmaWVsZE5hbWUsIGZpZWxkU2VwYXJh dG9yKTsKLSAgICAgICAgICBpZiAocCA9PSBOVUxMKSB7Ci0gICAgICAgICAgICAgLyoKLSAgICAg ICAgICAgICAgKiBXaGVuIGZpZWxkU2VwYXJhdG9yIGlzIHNwZWNpZmllZCwgZmllbGROYW1lIGlz IGV4cGVjdGVkCi1kaWZmIC0tZ2l0IGEvb3Blbi12bS10b29scy0xMy4wLjUtMjQ5MTU2OTUvc2Vy dmljZXMvcGx1Z2lucy92aXgvdml4VG9vbHMuYyBiL29wZW4tdm0tdG9vbHMtMTMuMC41LTI0OTE1 Njk1L3NlcnZpY2VzL3BsdWdpbnMvdml4L3ZpeFRvb2xzLmMKLWluZGV4IDY1NDUxMmMuLjZiOTcy MzMgMTAwNjQ0Ci0tLS0gYS9vcGVuLXZtLXRvb2xzLTEzLjAuNS0yNDkxNTY5NS9zZXJ2aWNlcy9w bHVnaW5zL3ZpeC92aXhUb29scy5jCi0rKysgYi9vcGVuLXZtLXRvb2xzLTEzLjAuNS0yNDkxNTY5 NS9zZXJ2aWNlcy9wbHVnaW5zL3ZpeC92aXhUb29scy5jCi1AQCAtOTMzLDcgKzkzMyw3IEBAIFZp eFRvb2xzQnVpbGRVc2VyRW52aXJvbm1lbnRUYWJsZShjb25zdCBjaGFyICogY29uc3QgKmVudnAp ICAgLy8gSU46IG9wdGlvbmFsCi0gICAgICAgY2hhciAqd2hlcmVUb1NwbGl0OwotICAgICAgIHNp emVfdCBuYW1lTGVuOwotIAotLSAgICAgIHdoZXJlVG9TcGxpdCA9IHN0cmNocigqZW52cCwgJz0n KTsKLSsgICAgICB3aGVyZVRvU3BsaXQgPSAoY2hhciAqKSBzdHJjaHIoKmVudnAsICc9Jyk7Ci0g ICAgICAgaWYgKE5VTEwgPT0gd2hlcmVUb1NwbGl0KSB7Ci0gICAgICAgICAgLyogT3VyIGNvZGUg Z2VuZXJhdGVkIHRoaXMgbGlzdCwgc28gdGhpcyBzaG91bGRuJ3QgaGFwcGVuLiAqLwotICAgICAg ICAgIEFTU0VSVCgwKTsKLUBAIC0xNDk4LDcgKzE0OTgsNyBAQCBWaXhUb29sc1J1blByb2dyYW1J bXBsKGNoYXIgKnJlcXVlc3ROYW1lLCAgICAgIC8vIElOCi0gICAgfQotICAgIGlmICgnXCInID09 ICpzdGFydFByb2dyYW1GaWxlTmFtZSkgewotICAgICAgIHN0YXJ0UHJvZ3JhbUZpbGVOYW1lKys7 Ci0tICAgICAgc3RvcFByb2dyYW1GaWxlTmFtZSA9IHN0cnN0cihzdGFydFByb2dyYW1GaWxlTmFt ZSwgIlwiIik7Ci0rICAgICAgc3RvcFByb2dyYW1GaWxlTmFtZSA9IChjaGFyICopIHN0cnN0cihz dGFydFByb2dyYW1GaWxlTmFtZSwgIlwiIik7Ci0gICAgfSBlbHNlIHsKLSAgICAgICBzdG9wUHJv Z3JhbUZpbGVOYW1lID0gTlVMTDsKLSAgICB9Ci1AQCAtMTcxNiw3ICsxNzE2LDcgQEAgVml4VG9v bHNTdGFydFByb2dyYW1JbXBsKGNvbnN0IGNoYXIgKnJlcXVlc3ROYW1lLCAgICAgICAgICAgIC8v IElOCi0gICAgfQotICAgIGlmICgnXCInID09ICpzdGFydFByb2dyYW1GaWxlTmFtZSkgewotICAg ICAgIHN0YXJ0UHJvZ3JhbUZpbGVOYW1lKys7Ci0tICAgICAgc3RvcFByb2dyYW1GaWxlTmFtZSA9 IHN0cnN0cihzdGFydFByb2dyYW1GaWxlTmFtZSwgIlwiIik7Ci0rICAgICAgc3RvcFByb2dyYW1G aWxlTmFtZSA9IChjaGFyICopIHN0cnN0cihzdGFydFByb2dyYW1GaWxlTmFtZSwgIlwiIik7Ci0g ICAgfSBlbHNlIHsKLSAgICAgICBzdG9wUHJvZ3JhbUZpbGVOYW1lID0gTlVMTDsKLSAgICB9Ci1A QCAtNDU4Miw3ICs0NTgyLDcgQEAgVml4VG9vbHNHZXRBbGxFbnZWYXJzRm9yVXNlcih2b2lkICp1 c2VyVG9rZW4sICAgICAvLyBJTgotICAgICAgICAgIGNoYXIgKndoZXJlVG9TcGxpdDsKLSAgICAg ICAgICBzaXplX3QgbmFtZUxlbjsKLSAKLS0gICAgICAgICB3aGVyZVRvU3BsaXQgPSBzdHJjaHIo ZW52VmFyLCAnPScpOwotKyAgICAgICAgIHdoZXJlVG9TcGxpdCA9IChjaGFyICopIHN0cmNocihl bnZWYXIsICc9Jyk7Ci0gICAgICAgICAgaWYgKE5VTEwgPT0gd2hlcmVUb1NwbGl0KSB7Ci0gICAg ICAgICAgICAgLyogT3VyIGNvZGUgZ2VuZXJhdGVkIHRoaXMgbGlzdCwgc28gdGhpcyBzaG91bGRu J3QgaGFwcGVuLiAqLwotICAgICAgICAgICAgIEFTU0VSVCgwKTsKLWRpZmYgLS1naXQgYS9vcGVu LXZtLXRvb2xzLTEzLjAuNS0yNDkxNTY5NS90ZXN0cy92bXJwY2RiZy9kZWJ1Z0NoYW5uZWwuYyBi L29wZW4tdm0tdG9vbHMtMTMuMC41LTI0OTE1Njk1L3Rlc3RzL3ZtcnBjZGJnL2RlYnVnQ2hhbm5l bC5jCi1pbmRleCAzOTlkZWRkLi5lYjU1Y2YyIDEwMDY0NAotLS0tIGEvb3Blbi12bS10b29scy0x My4wLjUtMjQ5MTU2OTUvdGVzdHMvdm1ycGNkYmcvZGVidWdDaGFubmVsLmMKLSsrKyBiL29wZW4t dm0tdG9vbHMtMTMuMC41LTI0OTE1Njk1L3Rlc3RzL3ZtcnBjZGJnL2RlYnVnQ2hhbm5lbC5jCi1A QCAtMjIyLDcgKzIyMiw3IEBAIFJwY0RlYnVnU2VuZChScGNDaGFubmVsICpjaGFuLAotICAgICAg ICAgIEFTU0VSVChtYXBwaW5nLT54ZHJTaXplID4gMCk7Ci0gCi0gICAgICAgICAgLyogRmluZCBv dXQgd2hlcmUgdGhlIFhEUiBkYXRhIHN0YXJ0cy4gKi8KLS0gICAgICAgICBzdGFydCA9IHN0cmNo cihjb3B5LCAnICcpOwotKyAgICAgICAgIHN0YXJ0ID0gKGNoYXIgKikgc3RyY2hyKGNvcHksICcg Jyk7Ci0gICAgICAgICAgaWYgKHN0YXJ0ID09IE5VTEwpIHsKLSAgICAgICAgICAgICBScGNEZWJ1 Z19TZXRSZXN1bHQoIkNhbid0IGZpbmQgY29tbWFuZCBkZWxpbWl0ZXIuIiwgcmVzdWx0LCByZXN1 bHRMZW4pOwotICAgICAgICAgICAgIHJldCA9IEZBTFNFOwotZGlmZiAtLWdpdCBhL29wZW4tdm0t dG9vbHMtMTMuMC41LTI0OTE1Njk1L3ZnYXV0aC9jb21tb24vaTE4bi5jIGIvb3Blbi12bS10b29s cy0xMy4wLjUtMjQ5MTU2OTUvdmdhdXRoL2NvbW1vbi9pMThuLmMKLWluZGV4IDZkMTI5MmQuLmJh MmNhMjggMTAwNjQ0Ci0tLS0gYS9vcGVuLXZtLXRvb2xzLTEzLjAuNS0yNDkxNTY5NS92Z2F1dGgv Y29tbW9uL2kxOG4uYwotKysrIGIvb3Blbi12bS10b29scy0xMy4wLjUtMjQ5MTU2OTUvdmdhdXRo L2NvbW1vbi9pMThuLmMKLUBAIC00ODQsNyArNDg0LDcgQEAgTXNnR2V0VXNlckxhbmd1YWdlKHZv aWQpCi0gICAgICAgY2hhciAqZG90OwotIAotICAgICAgIGxhbmcgPSBnX3N0cmR1cCh0bXApOwot LSAgICAgIGRvdCA9IHN0cmNocihsYW5nLCAnLicpOwotKyAgICAgIGRvdCA9IChjaGFyICopIHN0 cmNocihsYW5nLCAnLicpOwotICAgICAgIGlmIChkb3QgIT0gTlVMTCkgewotICAgICAgICAgICpk b3QgPSAnXDAnOwotICAgICAgIH0KLWRpZmYgLS1naXQgYS9vcGVuLXZtLXRvb2xzLTEzLjAuNS0y NDkxNTY5NS92bWJsb2NrbW91bnRlci92bWJsb2NrbW91bnRlci5jIGIvb3Blbi12bS10b29scy0x My4wLjUtMjQ5MTU2OTUvdm1ibG9ja21vdW50ZXIvdm1ibG9ja21vdW50ZXIuYwotaW5kZXggNDI5 YjEyNC4uNjNiNWJlZiAxMDA2NDQKLS0tLSBhL29wZW4tdm0tdG9vbHMtMTMuMC41LTI0OTE1Njk1 L3ZtYmxvY2ttb3VudGVyL3ZtYmxvY2ttb3VudGVyLmMKLSsrKyBiL29wZW4tdm0tdG9vbHMtMTMu MC41LTI0OTE1Njk1L3ZtYmxvY2ttb3VudGVyL3ZtYmxvY2ttb3VudGVyLmMKLUBAIC0xNDAsNyAr MTQwLDcgQEAgbWFpbihpbnQgYXJnYywgICAgICAgICAgLy8gSU4KLSAgICB0aGlzUHJvZ3JhbSA9 IGFyZ3ZbMF07Ci0gCi0gICAgLyogQ29tcHV0ZSB0aGUgYmFzZSBuYW1lIG9mIHRoZSBwcm9ncmFt LCB0b28uICovCi0tICAgdGhpc1Byb2dyYW1CYXNlID0gc3RycmNocih0aGlzUHJvZ3JhbSwgJy8n KTsKLSsgICB0aGlzUHJvZ3JhbUJhc2UgPSAoY2hhciAqKSBzdHJyY2hyKHRoaXNQcm9ncmFtLCAn LycpOwotICAgIGlmICh0aGlzUHJvZ3JhbUJhc2UgIT0gTlVMTCkgewotICAgICAgIHRoaXNQcm9n cmFtQmFzZSsrOwotICAgIH0gZWxzZSB7Ci1kaWZmIC0tZ2l0IGEvb3Blbi12bS10b29scy0xMy4w LjUtMjQ5MTU2OTUvdm1oZ2ZzLWZ1c2UvY29uZmlnLmMgYi9vcGVuLXZtLXRvb2xzLTEzLjAuNS0y NDkxNTY5NS92bWhnZnMtZnVzZS9jb25maWcuYwotaW5kZXggMTk1MzVmZC4uM2Y2OGZmNiAxMDA2 NDQKLS0tLSBhL29wZW4tdm0tdG9vbHMtMTMuMC41LTI0OTE1Njk1L3ZtaGdmcy1mdXNlL2NvbmZp Zy5jCi0rKysgYi9vcGVuLXZtLXRvb2xzLTEzLjAuNS0yNDkxNTY5NS92bWhnZnMtZnVzZS9jb25m aWcuYwotQEAgLTI0OCw3ICsyNDgsNyBAQCBTeXNDb21wYXRJc0luc3RhbGxlZEZ1c2UoY2hhciAq dXRzUmVsZWFzZSkgIC8vIElOOiBrZXJuZWwgcmVsZWFzZQotICAgIH0KLSAKLSAgICBtb2R1bGVz RGVwRGF0YVttb2R1bGVzRGVwRGF0YVNpemVdID0gJ1wwJzsKLS0gICBmdXNlRmlsZXN5c3RlbSA9 IHN0cnN0cihtb2R1bGVzRGVwRGF0YSwKLSsgICBmdXNlRmlsZXN5c3RlbSA9IChjaGFyICopIHN0 cnN0cihtb2R1bGVzRGVwRGF0YSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBGVVNFUl9L RVJORUxfRlMpOwotIAotICAgIGluc3RhbGxlZEZ1c2UgPSAoZnVzZUZpbGVzeXN0ZW0gIT0gTlVM TCk7Ci1kaWZmIC0tZ2l0IGEvb3Blbi12bS10b29scy0xMy4wLjUtMjQ5MTU2OTUveGZlcmxvZ3Mv eGZlcmxvZ3MuYyBiL29wZW4tdm0tdG9vbHMtMTMuMC41LTI0OTE1Njk1L3hmZXJsb2dzL3hmZXJs b2dzLmMKLWluZGV4IGEyOWEyNWEuLjdmYzg2NzEgMTAwNjQ0Ci0tLS0gYS9vcGVuLXZtLXRvb2xz LTEzLjAuNS0yNDkxNTY5NS94ZmVybG9ncy94ZmVybG9ncy5jCi0rKysgYi9vcGVuLXZtLXRvb2xz LTEzLjAuNS0yNDkxNTY5NS94ZmVybG9ncy94ZmVybG9ncy5jCi1AQCAtMjA4LDkgKzIwOCw5IEBA IGV4dHJhY3RGaWxlKGNoYXIgKmZpbGVuYW1lKSAvL0lOOiB2bXggbG9nIGZpbGVuYW1lIGUuZy4g dm13YXJlLmxvZwotICAgICAgICAgICAgICAqIHJlYWQgdGhlIGlucHV0IGZpbGVuYW1lLCB3aGlj aCB3YXMgdGhlIGZpbGVuYW1lIHdyaXR0ZW4gYnkgdGhlCi0gICAgICAgICAgICAgICogZ3Vlc3Qu Ci0gICAgICAgICAgICAgICovCi0tICAgICAgICAgICAgbG9nSW5wRmlsZW5hbWUgPSBzdHJzdHIo YnVmLCBMT0dfU1RBUlRfTUFSSyk7Ci0rICAgICAgICAgICAgbG9nSW5wRmlsZW5hbWUgPSAoY2hh ciAqKSBzdHJzdHIoYnVmLCBMT0dfU1RBUlRfTUFSSyk7Ci0gICAgICAgICAgICAgbG9nSW5wRmls ZW5hbWUgKz0gc2l6ZW9mIExPR19TVEFSVF9NQVJLOwotLSAgICAgICAgICAgIHB0clN0ciA9IHN0 cnN0cihsb2dJbnBGaWxlbmFtZSwgIjogdmVyICIpOwotKyAgICAgICAgICAgIHB0clN0ciA9IChj aGFyICopIHN0cnN0cihsb2dJbnBGaWxlbmFtZSwgIjogdmVyICIpOwotICAgICAgICAgICAgIGlm IChwdHJTdHIgPT0gTlVMTCkgewotICAgICAgICAgICAgICAgIGZwcmludGYoc3RkZXJyLCAiSW52 YWxpZCBzdGFydCBsb2cgbWFyay4iKTsKLSAgICAgICAgICAgICAgICBicmVhazsKLUBAIC0yNDMs NyArMjQzLDcgQEAgZXh0cmFjdEZpbGUoY2hhciAqZmlsZW5hbWUpIC8vSU46IHZteCBsb2cgZmls ZW5hbWUgZS5nLiB2bXdhcmUubG9nCi0gICAgICAgICAgICAgICogZG9udCB3cml0ZSBhbnl0aGlu Zy4KLSAgICAgICAgICAgICAgKi8KLSAgICAgICAgICAgICBwdHJTdHIrKzsKLS0gICAgICAgICAg ICB2ZXIgPSBzdHJzdHIocHRyU3RyLCAidmVyIC0gIik7Ci0rICAgICAgICAgICAgdmVyID0gKGNo YXIgKikgc3Ryc3RyKHB0clN0ciwgInZlciAtICIpOwotICAgICAgICAgICAgIGlmICghdmVyKSB7 Ci0gICAgICAgICAgICAgICAgV2FybmluZygiTm8gdmVyc2lvbiBpbmZvcm1hdGlvbiBkZXRlY3Rl ZFxuIik7Ci0gICAgICAgICAgICAgfSBlbHNlIHsKLUBAIC0yNzYsNyArMjc2LDcgQEAgZXh0cmFj dEZpbGUoY2hhciAqZmlsZW5hbWUpIC8vSU46IHZteCBsb2cgZmlsZW5hbWUgZS5nLiB2bXdhcmUu bG9nCi0gICAgICAgICAgfSBlbHNlIHsgLy8gd3JpdGUgdG8gdGhlIG91dHB1dCBmaWxlCi0gICAg ICAgICAgICAgaWYgKG91dGZwKSB7Ci0gICAgICAgICAgICAgICAgQVNTRVJUKHN0YXRlID09IElO X0dVRVNUX0xPR0dJTkcpOwotLSAgICAgICAgICAgICAgIHB0clN0ciA9IHN0cnN0cihidWYsIExP R19HVUVTVF9NQVJLKTsKLSsgICAgICAgICAgICAgICBwdHJTdHIgPSAoY2hhciAqKSBzdHJzdHIo YnVmLCBMT0dfR1VFU1RfTUFSSyk7Ci0gICAgICAgICAgICAgICAgcHRyU3RyICs9IHNpemVvZiBM T0dfR1VFU1RfTUFSSyAtIDE7Ci0gICAgICAgICAgICAgICAgaWYgKEJhc2U2NF9EZWNvZGUocHRy U3RyLCBiYXNlNjRPdXQsIEJVRl9PVVRfU0laRSwgJmxlbk91dCkpIHsKLSAgICAgICAgICAgICAg ICAgICBpZiAoZndyaXRlKGJhc2U2NE91dCwgMSwgbGVuT3V0LCBvdXRmcCkgIT0gbGVuT3V0KSB7 Ci0tLSAKLTIuNTEuMQotCgpkaWZmIC0tZ2l0IGEvY2hhbmdlbG9nIGIvY2hhbmdlbG9nCm5ldyBm aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjAzM2FlMDEKLS0tIC9kZXYvbnVsbAorKysg Yi9jaGFuZ2Vsb2cKQEAgLTAsMCArMSwyMDQgQEAKKyogVGh1IE1hciAyMCAyMDI1IFJpY2hhcmQg Vy5NLiBKb25lcyA8cmpvbmVzQHJlZGhhdC5jb20+IC0gMTIuNC4wLTQKKy0gQnVtcCBhbmQgcmVi dWlsZAorCisqIEZyaSBKYW4gMTcgMjAyNSBGZWRvcmEgUmVsZWFzZSBFbmdpbmVlcmluZyA8cmVs ZW5nQGZlZG9yYXByb2plY3Qub3JnPiAtIDEyLjQuMC0zCistIFJlYnVpbHQgZm9yIGh0dHBzOi8v ZmVkb3JhcHJvamVjdC5vcmcvd2lraS9GZWRvcmFfNDJfTWFzc19SZWJ1aWxkCisKKyogVGh1IEp1 bCAxOCAyMDI0IEZlZG9yYSBSZWxlYXNlIEVuZ2luZWVyaW5nIDxyZWxlbmdAZmVkb3JhcHJvamVj dC5vcmc+IC0gMTIuNC4wLTIKKy0gUmVidWlsdCBmb3IgaHR0cHM6Ly9mZWRvcmFwcm9qZWN0Lm9y Zy93aWtpL0ZlZG9yYV80MV9NYXNzX1JlYnVpbGQKKworKiBXZWQgSnVuIDA1IDIwMjQgSm9obiBX b2xmZSA8am9obi53b2xmZUBicm9hZGNvbS5jb20+IC0gMTIuNC4wLTEKKy0gUGFja2FnZSBhIG5l dyB1cHN0cmVhbSB2ZXJzaW9uIG9mIG9wZW4tdm0tdG9vbHMtMTIuNC4wLTIzMjU5MzQxLgorICAt IEEgbnVtYmVyIG9mIENvdmVyaXR5IHJlcG9ydGVkIGlzc3VlcyBoYXZlIGJlZW4gYWRkcmVzc2Vk LgorCisqIFRodSBKYW4gMjUgMjAyNCBGZWRvcmEgUmVsZWFzZSBFbmdpbmVlcmluZyA8cmVsZW5n QGZlZG9yYXByb2plY3Qub3JnPiAtIDEyLjMuNS0zCistIFJlYnVpbHQgZm9yIGh0dHBzOi8vZmVk b3JhcHJvamVjdC5vcmcvd2lraS9GZWRvcmFfNDBfTWFzc19SZWJ1aWxkCisKKyogU3VuIEphbiAy MSAyMDI0IEZlZG9yYSBSZWxlYXNlIEVuZ2luZWVyaW5nIDxyZWxlbmdAZmVkb3JhcHJvamVjdC5v cmc+IC0gMTIuMy41LTIKKy0gUmVidWlsdCBmb3IgaHR0cHM6Ly9mZWRvcmFwcm9qZWN0Lm9yZy93 aWtpL0ZlZG9yYV80MF9NYXNzX1JlYnVpbGQKKworKiBXZWQgTm92IDggMjAyMyBKb2huIFdvbGZl IDxqd29sZmVAdm13YXJlLmNvbT4gLSAxMi4zLjUtMQorLSBQYWNrYWdlIG5ldyB1cHN0cmVhbSB2 ZXJzaW9uIG9mIG9wZW4tdm0tdG9vbHMtMTIuMy41LTIyNTQ0MDk5LgorICAuIGZpeCBmb3IgQ1ZF LTIwMjMtMzQwNTggLSBhbm90aGVyIFNBTUwgdG9rZW4gc2lnbmF0dXJlIGJ5cGFzcyB2dWxuZXJh YmlsaXR5LgorICAuIGZpeCBmb3IgQ1ZFLTIwMjMtMzQwNTkgLSBhIGZpbGUgZGVzY3JpcHRvciBo aWphY2sgdnVsbmVyYWJpbGl0eSBpbiB0aGUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg dm13YXJlLXVzZXItc3VpZC13cmFwcGVyLgorICAuIGFkZHJlc3MgaHR0cHM6Ly9naXRodWIuY29t L3Ztd2FyZS9vcGVuLXZtLXRvb2xzL2lzc3Vlcy8zMTAKKy0gUmVtb3ZlIENWRS0yMDIzLTM0MDU4 LnBhdGNoIGFuZCBDVkUtMjAyMy0zNDA1OS5wYXRjaCBhcyBubyBsb25nZXIgbmVlZGVkLgorCisq IE1vbiBPY3QgMzAgMjAyMyBKb2huIFdvbGZlIDxqd29sZmVAdm13YXJlLmNvbT4gLSAxMi4zLjAt MworLSBBZGRyZXNzIENWRS0yMDIzLTM0MDU4IC0gQlogMjI0Njk2MyAtIFNBTUwgdG9rZW4gc2ln bmF0dXJlIHRva2VuIGJ5cGFzcy4KKy0gQWRkcmVzcyBDVkUtMjAyMy0zNDA1OSAtIEJaIDIyNDY5 NjIgLSB2bXdhcmUtdXNlci1zdWlkLXdyYXBwZXIKKyAgZmlsZSBkZXNjcmlwdG9yIGhpamFjayB2 dWxuZXJhYmlsaXR5CisqIFRodSBPY3QgMDUgMjAyMyBQZXRlciBSb2JpbnNvbiA8cGJyb2JpbnNv bkBmZWRvcmFwcm9qZWN0Lm9yZz4gLSAxMi4zLjAtMgorLSBVc2UgZnVzZTMgb24gbmV3IFJIRUwK KworKiBTYXQgU2VwIDkgMjAyMyBKb2huIFdvbGZlIDxqd29sZmVAdm13YXJlLmNvbT4gLSAxMi4z LjAtMQorLSBQYWNrYWdlIG5ldyB1cHN0cmVhbSB2ZXJzaW9uIG9mIG9wZW4tdm0tdG9vbHMtMTIu My4wLTIyMjM0ODcyLgorICAtIEZpeCBmb3IgQ1ZFLTIwMjMtMjA5MDAgLSBhIFNBTUwgdG9rZW4g c2lnbmF0dXJlIGJ5cGFzcyB2dWxuZXJhYmlsaXR5LgorICAtIEZpeCBmb3IgQ1ZFLTIwMjMtMjA4 NjcgLSBhbiBBdXRoZW50aWNhdGlvbiBCeXBhc3MgdnVsbmVyYWJpbGl0eS4KKyAgLSBMaW51eCBx dWllc2NlZCBzbmFwc2hvdHMgaGF2ZSBiZWVuIHVwZGF0ZWQgdG8gYXZvaWQgaW50ZXJtaXR0ZW50 IGhhbmdzCisgICAgb2YgdGhlIHZtdG9vbHNkIHByb2Nlc3MuCisgICAgLSBGaWxlIHN5c3RlbXMg cHJlZnJvemVuIGJ5IGN1c3RvbSBxdWllc2Npbmcgc2NyaXB0cyBtdXN0IGJlIGxpc3RlZCBvbiB0 aGUKKyAgICAgICJleGNsdWRlZEZpbGVTeXN0ZW1zIiBzZXR0aW5nIGluIHRoZSAidm1iYWNrdXAi IHNlY3Rpb24gb2YgdGhlIHRvb2xzLmNvbmYKKyAgICAgIGZpbGUuCisgICAgLSBBIHRvb2xzLmNv bmYgY29uZmlndXJhdGlvbiBzZXR0aW5nIGlzIGF2YWlsYWJsZSB0byB0ZW1wb3JhaWx5IGRpcmVj dAorICAgICAgTGludXggcXVpZXNjZWQgc25hcGhvdHMgdG8gcmVzdG9yZSBwcmUgb3Blbi12bS10 b29scyAxMi4yLjAgYmVoYXZpb3IKKyAgICAgIG9mIGlnbm9yaW5nIGZpbGUgc3lzdGVtcyBhbHJl YWR5IGZyb3plbi4KKyAgLSBBIG51bWJlciBvZiBDb3Zlcml0eSByZXBvcnRlZCBpc3N1ZXMgaGF2 ZSBiZWVuIGFkZHJlc3NlZC4KKyAgLSBBIG51bWJlciBvZiBHaXRIdWIgaXNzdWVzIGFuZCBwdWxs IHJlcXVlc3RzIGhhdmUgYmVlbiBoYW5kbGVkLgorCisqIFRodSBKdWwgMjAgMjAyMyBGZWRvcmEg UmVsZWFzZSBFbmdpbmVlcmluZyA8cmVsZW5nQGZlZG9yYXByb2plY3Qub3JnPiAtIDEyLjEuNS00 CistIFJlYnVpbHQgZm9yIGh0dHBzOi8vZmVkb3JhcHJvamVjdC5vcmcvd2lraS9GZWRvcmFfMzlf TWFzc19SZWJ1aWxkCisKKyogVGh1IEphbiAxOSAyMDIzIEZlZG9yYSBSZWxlYXNlIEVuZ2luZWVy aW5nIDxyZWxlbmdAZmVkb3JhcHJvamVjdC5vcmc+IC0gMTIuMS41LTMKKy0gUmVidWlsdCBmb3Ig aHR0cHM6Ly9mZWRvcmFwcm9qZWN0Lm9yZy93aWtpL0ZlZG9yYV8zOF9NYXNzX1JlYnVpbGQKKwor KiBTdW4gSmFuIDEgMjAyMyBKb2huIFdvbGZlIDxqd29sZmVAdm13YXJlLmNvbT4gLSAxMi4xLjUt MgorLSBVcGRhdGUgdGhlIGNvcHlyaWdodCBkYXRlIGluIHRoZSBvcGVuLXZtLXRvb2xzLnNwZWMg ZmlsZS4KKworKiBTdW4gSmFuIDEgMjAyMyBKb2huIFdvbGZlIDxqd29sZmVAdm13YXJlLmNvbT4g LSAxMi4xLjUtMQorLSBQYWNrYWdlIG5ldyB1cHN0cmVhbSB2ZXJzaW9uIG9mIG9wZW4tdm0tdG9v bHMtMTIuMS41LTIwNzM1MTE5LgorICAtIFRoZSBkZXBsb3lQa2cgcGx1Z2luIG1heSBwcmVtYXR1 cmVseSByZWJvb3QgdGhlIGd1ZXN0IFZNIGJlZm9yZSBjbG91ZC1pbml0CisgICAgaGFzIGNvbXBs ZXRlZCB1c2VyIGRhdGEgc2V0dXAKKyAgLSBBIFNJR1NFR1YgbWF5IGJlIGVuY291bnRlcmVkIHdo ZW4gYSBub24tcXVpZXNjaW5nIHNuYXBzaG90IHRpbWVzIG91dC4KKyAgLSBBIG51bWJlciBvZiBD b3Zlcml0eSByZXBvcnRlZCBpc3N1ZXMgaGF2ZSBiZWVuIGFkZHJlc3NlZC4KKworKiBUaHUgU2Vw IDggMjAyMiBKb2huIFdvbGZlIDxqd29sZmVAVk1XQVJFLkNPTT4gLSAxMi4xLjAtMQorLSBQYWNr YWdlIG5ldyB1cHN0cmVhbSB2ZXJzaW9uIG9wZW4tdm0tdG9vbHMtMTIuMS4wLTIwMjE5NjY1Lgor ICAuIGZpeCBmb3IgQ1ZFLTIwMjItMzE2NzYgLSBhIGxvY2FsIHByaXZpbGVnZSBlc2NhbGF0aW9u IHZ1bG5lcmFiaWxpdHkuCisgIC4gYWRkcmVzcyBhIG51bWJlciBvZiBDb3Zlcml0eSByZXBvcnRl ZCBpc3N1ZXMuCistIFJlbW92ZSBwYXRjaCAxMjA1LVByb3Blcmx5LWNoZWNrLWF1dGhvcml6YXRp b24tb24taW5jb21pbmctZ3Vlc3RPcHMtcmUucGF0Y2gKKyAgYXMgbm8gbG9uZ2VyIG5lZWRlZC4K KworKiBTdW4gU2VwIDQgMjAyMiBKb2huIFdvbGZlIDxqd29sZmVAdm13YXJlLmNvbT4gLSAxMi4w LjUtMworLSBBZGQgcGF0Y2ggMTIwNS1Qcm9wZXJseS1jaGVjay1hdXRob3JpemF0aW9uLW9uLWlu Y29taW5nLWd1ZXN0T3BzLXJlLnBhdGNoCisgIHRvIGZpeCBDVkUtMjAyMi0zMTY3NiBpbiBvcGVu LXZtLXRvb2xzIDEyLjAuNSB0cmFja2VkIGluIFBSIDEyMDk3Ni4KKy0gQ29ycmVjdCBidWlsZCBy ZXF1aXJlbWVudHMgLSByZXBsYWNlIHN5c3RlbWQtcnBtLW1hY3JvcyB3aXRoIHN5c3RlbWRfdWRl di4KKworKiBGcmkgSnVsIDIyIDIwMjIgRmVkb3JhIFJlbGVhc2UgRW5naW5lZXJpbmcgPHJlbGVu Z0BmZWRvcmFwcm9qZWN0Lm9yZz4gLSAxMi4wLjUtMgorLSBSZWJ1aWx0IGZvciBodHRwczovL2Zl ZG9yYXByb2plY3Qub3JnL3dpa2kvRmVkb3JhXzM3X01hc3NfUmVidWlsZAorCisqIE1vbiBNYXkg MzAgMjAyMiBKb2huIFdvbGZlIDxqd29sZmVAdm13YXJlLmNvbT4gLSAxMi4wLjUtMQorLSBQYWNr YWdlIG5ldyB1cHN0cmVhbSB2ZXJzaW9uIG9wZW4tdm0tdG9vbHMtMTIuMC41LTE5NzE2NjE3Lgor IC0gTWFpbnRlbmFuY2UgcmVsZWFzZSBhZGRyZXNzaW5nIHNvbWUgcG90ZW50aWFsIEZUQkZTIGlz c3Vlcy4KKy0gUmVtb3ZlIGFzeW5jc29ja2V0LnBhdGNoIGFzIG5vIGxvbmdlciBuZWVkZWQuCisK KyogTW9uIE1heSA5IDIwMjIgSm9obiBXb2xmZSA8andvbGZlQHZtd2FyZS5jb20+IC0gMTIuMC4w LTEKKy0gUGFja2FnZSBuZXcgdXBzdHJlYW0gdmVyc2lvbiBvcGVuLXZtLXRvb2xzLTEyLjAuMC0x OTM0NTY1NS4KKy0gRW5hYmxlIGJ1aWxkIG9mIHRoZSBuZXcgc2FsdC1taW5pb24gcGx1Z2luIHBh Y2thZ2UuCistIERlZmVycmluZyBlbmFibGVtZW50IG9mIG5ldyBjb250YWluZXJJbmZvIHBsdWdp biB1bnRpbCBhIGxhdGVyIHJldmlzaW9uLgorLSBCdWlsZCB3aXRoIGZ1c2UzIG9uIEZlZG9yYS4K KworKiBUaHUgRmViIDI0IDIwMjIgSm9obiBXb2xmZSA8andvbGZlQHZtd2FyZS5jb20+IC0gMTEu My41LTEKKy0gUGFja2FnZSBuZXcgdXBzdHJlYW0gdmVyc2lvbiBvcGVuLXZtLXRvb2xzLTExLjMu NS0xODU1Nzc5NC4KKworKiBXZWQgRmViIDkgMjAyMiBKb2huIFdvbGZlIDxqd29sZmVAdm13YXJl LmNvbT4gLSAxMS4zLjAtNgorLSBSZWZhY3RvcmVkIGFzeW5jc29ja2V0LmMgcGF0Y2ggdG8gdXNl IHNpemVfdCBzaXplIGFuZCBpbmRleCB2YXJpYWJsZXMuCisKKyogVHVlIEZlYiAxIDIwMjIgSm9o biBXb2xmZSA8andvbGZlQHZtd2FyZS5jb20+IC0gMTEuMy4wLTUKKy0gQWRkcmVzcyAoZml4KSBz dHJpbmdzIG9yIGFycmF5IGJvdW5kcyB3YXJuaW5ncyBmcm9tIEdDQyAxMi4wLnguCisKKyogVGh1 IEphbiAyMCAyMDIyIEZlZG9yYSBSZWxlYXNlIEVuZ2luZWVyaW5nIDxyZWxlbmdAZmVkb3JhcHJv amVjdC5vcmc+IC0gMTEuMy4wLTQKKy0gUmVidWlsdCBmb3IgaHR0cHM6Ly9mZWRvcmFwcm9qZWN0 Lm9yZy93aWtpL0ZlZG9yYV8zNl9NYXNzX1JlYnVpbGQKKworKiBUdWUgU2VwIDE0IDIwMjEgU2Fo YW5hIFByYXNhZCA8c2FoYW5hQHJlZGhhdC5jb20+IC0gMTEuMy4wLTMKKy0gUmVidWlsdCB3aXRo IE9wZW5TU0wgMy4wLjAKKworKiBUaHUgSnVsIDIyIDIwMjEgRmVkb3JhIFJlbGVhc2UgRW5naW5l ZXJpbmcgPHJlbGVuZ0BmZWRvcmFwcm9qZWN0Lm9yZz4gLSAxMS4zLjAtMgorLSBSZWJ1aWx0IGZv ciBodHRwczovL2ZlZG9yYXByb2plY3Qub3JnL3dpa2kvRmVkb3JhXzM1X01hc3NfUmVidWlsZAor CisqIFRodSBKdWwgMTUgMjAyMSBSYXZpbmRyYSBLdW1hciA8cmF2aW5kcmFrdW1hckB2bXdhcmUu Y29tPiAtIDExLjMuMC0xCistIFBhY2thZ2UgbmV3IHVwc3RyZWFtIHZlcnNpb24gb3Blbi12bS10 b29scy0xMS4zLjAtMTgwOTA1NTguCistIEFkZCB2bXdhcmUtYWxpYXMtaW1wb3J0LCB2bXdnZnhj dHJsLCBsaWJnZHAuc28sIGxpYmd1ZXN0U3RvcmUuc28KKyAgYW5kIGxpYmd1ZXN0U3RvcmVDbGll bnQuc28uKi4KKy0gUmVtb3ZlIG9wZW4tdm0tdG9vbHMtZml4LWttcy1hdXRvZGV0ZWN0aW9uLnBh dGNoLAorICBvcGVuLXZtLXRvb2xzLWdjYzExLnBhdGNoIGFuZCBvcGVuLXZtLXRvb2xzLWdkay1n bGliLnBhdGNoCisgIGFzIG5vIGxvbmdlciBuZWVkZWQuCisKKyogVHVlIEp1biAwMSAyMDIxIFNp bW9uZSBDYXJvbm5pIDxuZWdhdGl2bzE3QGdtYWlsLmNvbT4gLSAxMS4yLjUtOQorLSBCYWNrcG9y dCBwYXRjaCBmb3IgS01TIGF1dG9kZXRlY3Rpb24uCisKKyogVHVlIEp1biAwMSAyMDIxIFNpbW9u ZSBDYXJvbm5pIDxuZWdhdGl2bzE3QGdtYWlsLmNvbT4gLSAxMS4yLjUtOAorLSBUcmltIGNoYW5n ZWxvZy4KKy0gRml4IGxpYmRybS91ZGV2IGJ1aWxkIHJlcXVpcmVtZW50LgorCisqIFR1ZSBKdW4g MDEgMjAyMSBTaW1vbmUgQ2Fyb25uaSA8bmVnYXRpdm8xN0BnbWFpbC5jb20+IC0gMTEuMi41LTcK Ky0gRml4IGJ1aWxkIG9uIENlbnRPUy9SSEVMIDcuCistIEFsbG93IGJ1aWxkaW5nIG9uIGFhcmNo NjQgZm9yIENlbnRPUy9SSEVMIDgrIGFuZCBGZWRvcmEuCistIENsZWFuIHVwIFNQRUMgZmlsZSAo Y29uZGl0aW9uYWxzLCBidWlsZCByZXF1aXJlbWVudHMsIHNjcmlwdGxldHMsIGZvcm1hdHRpbmcp LgorCisqIE1vbiBBcHIgMDUgMjAyMSBSYXZpbmRyYSBLdW1hciA8cmF2aW5kcmFrdW1hckB2bXdh cmUuY29tPiAtIDExLjIuNS02CistIEFkZGVkIG1pc3NpbmcgZXNjYXBlIGNoYXIgaW4gcnVuLXZt YmxvY2tcXHgyZGZ1c2UubW91bnQgc2VydmljZSBuYW1lLgorLSBFbmFibGVkIHJ1bi12bWJsb2Nr XFx4MmRmdXNlLm1vdW50IHNlcnZpY2UgZHVyaW5nIHBvc3QtaW5zdGFsbC4KKy0gTW92ZWQgcnVu LXZtYmxvY2tceDJkZnVzZS5tb3VudCBzZXJ2aWNlIHVuaXQgdG8gZGVza3RvcCBwYWNrYWdlLgor CisqIEZyaSBNYXIgMTkgMjAyMSBSYXZpbmRyYSBLdW1hciA8cmF2aW5kcmFrdW1hckB2bXdhcmUu Y29tPiAtIDExLjIuNS01CistIEFkZGVkIG9wZW4tdm0tdG9vbHMtZ2RrLWdsaWIucGF0Y2ggdG8g Zml4IFJIQlojMTkzOTcxOC4KKworKiBUdWUgTWFyIDE2IDIwMjEgTmVhbCBHb21wYSA8bmdvbXBh MTNAZ21haWwuY29tPiAtIDExLjIuNS00CistIEFkZCBtaXNzaW5nIEJScworLSBDbGVhbiB1cCBj b25kaXRpb25hbHMgdG8gYnVpbGQgY29ycmVjdGx5IHdpdGggRUw4KworLSBTaW1wbGlmeSBzeXN0 ZW1kIHNjcmlwdGxldHMKKworKiBUdWUgTWFyIDAyIDIwMjEgWmJpZ25pZXcgSsSZZHJ6ZWpld3Nr aS1Tem1layA8emJ5c3pla0Bpbi53YXcucGw+IC0gMTEuMi41LTMKKy0gUmVidWlsdCBmb3IgdXBk YXRlZCBzeXN0ZW1kLXJwbS1tYWNyb3MKKyAgU2VlIGh0dHBzOi8vcGFndXJlLmlvL2Zlc2NvL2lz c3VlLzI1ODMuCisKKyogVHVlIEphbiAyNiAyMDIxIEZlZG9yYSBSZWxlYXNlIEVuZ2luZWVyaW5n IDxyZWxlbmdAZmVkb3JhcHJvamVjdC5vcmc+IC0gMTEuMi41LTIKKy0gUmVidWlsdCBmb3IgaHR0 cHM6Ly9mZWRvcmFwcm9qZWN0Lm9yZy93aWtpL0ZlZG9yYV8zNF9NYXNzX1JlYnVpbGQKKworKiBG cmkgSmFuIDE1IDIwMjEgUmF2aW5kcmEgS3VtYXIgPHJhdmluZHJha3VtYXJAdm13YXJlLmNvbT4g LSAxMS4yLjUtMQorLSBQYWNrYWdlIG5ldyB1cHN0cmVhbSB2ZXJzaW9uIG9wZW4tdm0tdG9vbHMt MTEuMi41LTE3MzM3Njc0LgorLSBsaWJkbmV0IGRlcGVuZGVuY3kgd2FzIHJlbW92ZWQgaW4gb3Bl bi12bS10b29scyAxMS4wLjAuIFNvLAorICByZW1vdmVkIHRoZSBzdGFsZSBCdWlsZFJlcXVpcmVz IGZvciBsaWJkbmV0LgorCisqIFRodSBKYW4gMTQgMjAyMSBSaWNoYXJkIFcuTS4gSm9uZXMgPHJq b25lc0ByZWRoYXQuY29tPiAtIDExLjIuMC0yCistIEJ1bXAgYW5kIHJlYnVpbGQgYWdhaW5zdCBs aWJkbmV0IDEuMTQgKFJIQlojMTkxNTgzOCkuCisKKyogRnJpIE5vdiAwNiAyMDIwIFJhdmluZHJh IEt1bWFyIDxyYXZpbmRyYWt1bWFyQHZtd2FyZS5jb20+IC0gMTEuMi4wLTEKKy0gUGFja2FnZSBu ZXcgdXBzdHJlYW0gdmVyc2lvbiBvcGVuLXZtLXRvb2xzLTExLjIuMC0xNjkzODExMy4KKworKiBG cmkgT2N0IDMwIDIwMjAgSmVmZiBMYXcgPGxhd0ByZWRoYXQuY29tPiAtIDExLjEuNS0yCistIEZp eCBpbmNvcnJlY3Qgdm9sYXRpbGUgZXhwb3NlZCBieSBnY2MtMTEKKworKiBUdWUgU2VwIDA4IDIw MjAgUmF2aW5kcmEgS3VtYXIgPHJhdmluZHJha3VtYXJAdm13YXJlLmNvbT4gLSAxMS4xLjUtMQor LSBQYWNrYWdlIG5ldyB1cHN0cmVhbSB2ZXJzaW9uIG9wZW4tdm0tdG9vbHMtMTEuMS41LTE2NzI0 NDY0LgorLSBSZW1vdmVkIGdjYzEwLXdhcm5pbmcucGF0Y2ggYW5kIHNkbXAtZml4ZXMucGF0Y2gg KG5vIGxvbmdlciBuZWVkZWQpLgorCisqIFR1ZSBKdWwgMjggMjAyMCBGZWRvcmEgUmVsZWFzZSBF bmdpbmVlcmluZyA8cmVsZW5nQGZlZG9yYXByb2plY3Qub3JnPiAtIDExLjEuMC00CistIFJlYnVp bHQgZm9yIGh0dHBzOi8vZmVkb3JhcHJvamVjdC5vcmcvd2lraS9GZWRvcmFfMzNfTWFzc19SZWJ1 aWxkCisKKyogVGh1IEp1bCAwOSAyMDIwIE1lcmxpbiBNYXRoZXNpdXMgPG1tYXRoZXNpQHJlZGhh dC5jb20+IC0gMTEuMS4wLTMKKy0gQ29uZGl0aW9uYWwgZml4ZXMgdG8gYnVpbGQgZm9yIEVMTgor CisqIFN1biBKdW4gMjEgMjAyMCBSYXZpbmRyYSBLdW1hciA8cmF2aW5kcmFrdW1hckB2bXdhcmUu Y29tPiAtIDExLjEuMC0yCistIEFkZGVkIHNkbXAtZml4ZXMucGF0Y2ggZnJvbSB1cHN0cmVhbSB0 byByZW1vdmUgbmV0LXRvb2xzIGRlcGVuZGVuY3kKKyAgYW5kIGNvdXBsZSBvZiBpbXBvcnRhbnQg Zml4ZXMKKworKiBNb24gTWF5IDI1IDIwMjAgUmF2aW5kcmEgS3VtYXIgPHJhdmluZHJha3VtYXJA dm13YXJlLmNvbT4gLSAxMS4xLjAtMQorLSBQYWNrYWdlIG5ldyB1cHN0cmVhbSB2ZXJzaW9uIG9w ZW4tdm0tdG9vbHMtMTEuMS4wLTE2MDM2NTQ2LgorLSBBZGRlZCBuZXcgb3Blbi12bS10b29scy1z ZG1wIHBhY2thZ2UuCistIFdvcmthcm91bmQgZm9yIHZtLXN1cHBvcnQgc2NyaXB0IHBhdGggaXMg bm8gbG9uZ2VyIG5lZWRlZC4KKy0gQWRkZWQgbWlzc2luZyBkZXBlbmRlbmNpZXMgZm9yIHZtLXN1 cHBvcnQgc2NyaXB0LgorLSBVcGRhdGVkIGdjYzEwLXdhcm5pbmcucGF0Y2guCistIFJlbW92ZWQg Z2NjOS1zdGF0aWMtaW5saW5lLnBhdGNoIGFuZCBkaXNraW5mby1sb2ctc3Bldy5wYXRjaCB0aGF0 CisgIGFyZSBubyBsb25nZXIgbmVlZGVkLgorCisqIFN1biBNYXkgMTcgMjAyMCBSYXZpbmRyYSBL dW1hciA8cmF2aW5kcmFrdW1hckB2bXdhcmUuY29tPiAtIDExLjAuNS00CistIFVwZGF0ZWQgUEFN IGNvbmZpZ3VyYXRpb24gZmlsZSB0byBmb2xsb3cgY29uZmlndXJlZCBhdXRobiBzY2hlbWUuCisK KyogVHVlIE1hciAyNCAyMDIwIFJhdmluZHJhIEt1bWFyIDxyYXZpbmRyYWt1bWFyQHZtd2FyZS5j b20+IC0gMTEuMC41LTMKKy0gVXNlIC9zYmluL2xkY29uZmlnIG9uIG9sZGVyIHRoYW4gRmVkb3Jh IDI4IGFuZCBSSEVMIDggcGxhdGZvcm1zLgorCisqIEZyaSBGZWIgMDcgMjAyMCBSYXZpbmRyYSBL dW1hciA8cmF2aW5kcmFrdW1hckB2bXdhcmUuY29tPiAtIDExLjAuNS0yCistIEFkZGVkIHBhdGNo IGRpc2tpbmZvLWxvZy1zcGV3LnBhdGNoLgorCisqIFR1ZSBGZWIgMDQgMjAyMCBSYXZpbmRyYSBL dW1hciA8cmF2aW5kcmFrdW1hckB2bXdhcmUuY29tPiAtIDExLjAuNS0xCistIFBhY2thZ2UgbmV3 IHVwc3RyZWFtIHZlcnNpb24gb3Blbi12bS10b29scy0xMS4wLjUtMTUzODk1OTIuCistIFJlbW92 ZWQgdml4LW1lbWxlYWsucGF0Y2ggd2hpY2ggaXMgbm8gbG9uZ2VyIG5lZWRlZC4KKworKiBUdWUg RmViIDA0IDIwMjAgUmF2aW5kcmEgS3VtYXIgPHJhdmluZHJha3VtYXJAdm13YXJlLmNvbT4gLSAx MS4wLjAtNgorLSBBZGRlZCBnY2MxMC13YXJuaW5nLnBhdGNoIGZvciBmaXhpbmcgY29tcGlsYXRp b24gaXNzdWVzLgorCisqIFdlZCBKYW4gMjkgMjAyMCBGZWRvcmEgUmVsZWFzZSBFbmdpbmVlcmlu ZyA8cmVsZW5nQGZlZG9yYXByb2plY3Qub3JnPiAtIDExLjAuMC01CistIFJlYnVpbHQgZm9yIGh0 dHBzOi8vZmVkb3JhcHJvamVjdC5vcmcvd2lraS9GZWRvcmFfMzJfTWFzc19SZWJ1aWxkCgpkaWZm IC0tZ2l0IGEvZ2F0aW5nLnlhbWwgYi9nYXRpbmcueWFtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2 NDQKaW5kZXggOWI5Mzg4Yy4uMDAwMDAwMAotLS0gYS9nYXRpbmcueWFtbAorKysgL2Rldi9udWxs CkBAIC0xLDYgKzAsMCBAQAotLS0tICFQb2xpY3kKLXByb2R1Y3RfdmVyc2lvbnM6Ci0gIC0gcmhl bC0xMAotZGVjaXNpb25fY29udGV4dDogb3NjaV9jb21wb3NlX2dhdGUKLXJ1bGVzOgotICAtICFQ YXNzaW5nVGVzdENhc2VSdWxlIHt0ZXN0X2Nhc2VfbmFtZTogM3JkLWVzeGkteDg2XzY0LmJyZXct YnVpbGQudGllcjEuZnVuY3Rpb25hbH0KCmRpZmYgLS1naXQgYS9vcGVuLXZtLXRvb2xzLWdjYzE2 LnBhdGNoIGIvb3Blbi12bS10b29scy1nY2MxNi5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NApp bmRleCAwMDAwMDAwLi5jOTdkMWJlCi0tLSAvZGV2L251bGwKKysrIGIvb3Blbi12bS10b29scy1n Y2MxNi5wYXRjaApAQCAtMCwwICsxLDExOSBAQAorZGlmZiAtTmF1ciBvcGVuLXZtLXRvb2xzLTEz LjEuMC0yNTIxODg4NS5vbGQvbGliL2hnZnMvaGdmc0VzY2FwZS5jIG9wZW4tdm0tdG9vbHMtMTMu MS4wLTI1MjE4ODg1L2xpYi9oZ2ZzL2hnZnNFc2NhcGUuYworLS0tIG9wZW4tdm0tdG9vbHMtMTMu MS4wLTI1MjE4ODg1Lm9sZC9saWIvaGdmcy9oZ2ZzRXNjYXBlLmMJMjAyNi0wNS0yMCAwOToyOToy Mi43ODU5MjI1OTAgKzAyMDAKKysrKyBvcGVuLXZtLXRvb2xzLTEzLjEuMC0yNTIxODg4NS9saWIv aGdmcy9oZ2ZzRXNjYXBlLmMJMjAyNi0wNS0yMCAwOToyOToyOS44ODI5MzEwNzAgKzAyMDAKK0BA IC0xOTgsNyArMTk4LDcgQEAKKyAgICAgICBpZiAob3V0cHV0U3BhY2UgPCAyKSB7CisgICAgICAg ICAgcmV0dXJuIEZBTFNFOworICAgICAgIH0KKy0gICAgICBpbGxlZ2FsID0gc3RyY2hyKEhHRlNf SUxMRUdBTF9DSEFSUywgYnVmSW5bZXNjYXBlQ29udGV4dC0+cHJvY2Vzc2VkT2Zmc2V0XSk7Cisr ICAgICAgaWxsZWdhbCA9IChjaGFyICopc3RyY2hyKEhHRlNfSUxMRUdBTF9DSEFSUywgYnVmSW5b ZXNjYXBlQ29udGV4dC0+cHJvY2Vzc2VkT2Zmc2V0XSk7CisgICAgICAgZXNjYXBlQ29udGV4dC0+ cHJvY2Vzc2VkT2Zmc2V0Kys7ICAvLyBTa2lwIGlsbGVnYWwgaW5wdXQgY2hhcmFjdGVyCisgICAg ICAgQVNTRVJUKGlsbGVnYWwgIT0gTlVMTCk7CisgICAgICAgZXNjYXBlQ29udGV4dC0+b3V0cHV0 QnVmZmVyW2VzY2FwZUNvbnRleHQtPm91dHB1dE9mZnNldF0gPQorQEAgLTU4MywxMiArNTgzLDEy IEBACisgICAgICAgICAgaWYgKGJ1ZkluW29mZnNldCAtIDJdID09IEhHRlNfRVNDQVBFX1NVQlNU SVRVRV9DSEFSKSB7CisgICAgICAgICAgICAgcmV0dXJuIFRSVUU7CisgICAgICAgICAgfQorLSAg ICAgICAgIHN1YnN0aXR1dGUgPSBzdHJjaHIoSEdGU19TVUJTVElUVVRFX0NIQVJTLCBidWZJbltv ZmZzZXQgLSAyXSk7CisrICAgICAgICAgc3Vic3RpdHV0ZSA9IChjaGFyICopc3RyY2hyKEhHRlNf U1VCU1RJVFVURV9DSEFSUywgYnVmSW5bb2Zmc2V0IC0gMl0pOworICAgICAgICAgIGlmIChzdWJz dGl0dXRlICE9IE5VTEwpIHsKKyAgICAgICAgICAgICByZXR1cm4gVFJVRTsKKyAgICAgICAgICB9 CisgICAgICAgfQorLSAgICAgIHN1YnN0aXR1dGUgPSBzdHJjaHIoSEdGU19TVUJTVElUVVRFX0NI QVJTLCBidWZJbltvZmZzZXQgLSAxXSk7CisrICAgICAgc3Vic3RpdHV0ZSA9IChjaGFyICopc3Ry Y2hyKEhHRlNfU1VCU1RJVFVURV9DSEFSUywgYnVmSW5bb2Zmc2V0IC0gMV0pOworICAgICAgIGlm IChzdWJzdGl0dXRlICE9IE5VTEwpIHsKKyAgICAgICAgICByZXR1cm4gVFJVRTsKKyAgICAgICB9 CitAQCAtODg3LDcgKzg4Nyw3IEBACisgICAgICAgc2l6ZV90IG9mZnNldCA9IGVzY2FwZVBvaW50 ZXIgLSBidWZJbjsKKyAKKyAgICAgICBpZiAoSGdmc0lzRXNjYXBlU2VxdWVuY2UoYnVmSW4sIG9m ZnNldCwgc2l6ZUluKSkgeworLSAgICAgICAgIGNoYXIqIHN1YnN0aXR1dGUgPSBzdHJjaHIoSEdG U19TVUJTVElUVVRFX0NIQVJTLCBidWZJbltvZmZzZXQgLSAxXSk7CisrICAgICAgICAgY2hhciog c3Vic3RpdHV0ZSA9IChjaGFyICopc3RyY2hyKEhHRlNfU1VCU1RJVFVURV9DSEFSUywgYnVmSW5b b2Zmc2V0IC0gMV0pOworICAgICAgICAgIGlmIChzdWJzdGl0dXRlICE9IE5VTEwpIHsKKyAgICAg ICAgICAgICBidWZJbltvZmZzZXQgLSAxXSA9IEhHRlNfSUxMRUdBTF9DSEFSU1tzdWJzdGl0dXRl IC0gSEdGU19TVUJTVElUVVRFX0NIQVJTXTsKKyAgICAgICAgICB9IGVsc2UgaWYgKGJ1ZkluW29m ZnNldCAtIDFdID09IEhHRlNfRVNDQVBFX1NVQlNUSVRVRV9DSEFSKSB7CitkaWZmIC1OYXVyIG9w ZW4tdm0tdG9vbHMtMTMuMS4wLTI1MjE4ODg1Lm9sZC9saWIvaGdmc1NlcnZlci9oZ2ZzU2VydmVy TGludXguYyBvcGVuLXZtLXRvb2xzLTEzLjEuMC0yNTIxODg4NS9saWIvaGdmc1NlcnZlci9oZ2Zz U2VydmVyTGludXguYworLS0tIG9wZW4tdm0tdG9vbHMtMTMuMS4wLTI1MjE4ODg1Lm9sZC9saWIv aGdmc1NlcnZlci9oZ2ZzU2VydmVyTGludXguYwkyMDI2LTA1LTIwIDA5OjI5OjIyLjc4NjIxMzkz OCArMDIwMAorKysrIG9wZW4tdm0tdG9vbHMtMTMuMS4wLTI1MjE4ODg1L2xpYi9oZ2ZzU2VydmVy L2hnZnNTZXJ2ZXJMaW51eC5jCTIwMjYtMDUtMjAgMDk6Mjk6MjkuODgzNTYwMzI2ICswMjAwCitA QCAtMTM2OSw3ICsxMzY5LDcgQEAKKyAgICBBU1NFUlQoZmlsZU5hbWUpOworICAgIEFTU0VSVChh dHRyKTsKKyAKKy0gICBiYXNlTmFtZSA9IHN0cnJjaHIoZmlsZU5hbWUsIERJUlNFUEMpOworKyAg IGJhc2VOYW1lID0gKGNoYXIgKilzdHJyY2hyKGZpbGVOYW1lLCBESVJTRVBDKTsKKyAKKyAgICBp ZiAoKGJhc2VOYW1lICE9IE5VTEwpICYmCisgICAgICAgIChiYXNlTmFtZVsxXSA9PSAnLicpICYm CitkaWZmIC1OYXVyIG9wZW4tdm0tdG9vbHMtMTMuMS4wLTI1MjE4ODg1Lm9sZC9saWIvbWlzYy9z dHJ1dGlsLmMgb3Blbi12bS10b29scy0xMy4xLjAtMjUyMTg4ODUvbGliL21pc2Mvc3RydXRpbC5j CistLS0gb3Blbi12bS10b29scy0xMy4xLjAtMjUyMTg4ODUub2xkL2xpYi9taXNjL3N0cnV0aWwu YwkyMDI2LTA1LTIwIDA5OjI5OjIyLjc4NzE5ODIxMyArMDIwMAorKysrIG9wZW4tdm0tdG9vbHMt MTMuMS4wLTI1MjE4ODg1L2xpYi9taXNjL3N0cnV0aWwuYwkyMDI2LTA1LTIwIDA5OjI5OjI5Ljg4 NDQ3NTIzMCArMDIwMAorQEAgLTE0NjcsNyArMTQ2Nyw3IEBACisgICAgIGxlbldpdGggPSBzdHJs ZW4od2l0aCk7CisgCisgICAgIGN1cnJlbnQgPSBvcmlnOworLSAgICB3aGlsZSAoKHRtcCA9IHN0 cnN0cihjdXJyZW50LCB3aGF0KSkgIT0gTlVMTCkgeworKyAgICB3aGlsZSAoKHRtcCA9IChjaGFy ICopc3Ryc3RyKGN1cnJlbnQsIHdoYXQpKSAhPSBOVUxMKSB7CisgICAgICAgIGN1cnJlbnQgPSB0 bXAgKyBsZW5XaGF0OworICAgICAgICArK29jY3VycmVuY2VzOworICAgICB9CitAQCAtMTcwNSw3 ICsxNzA1LDcgQEAKKyAgICBkbyB7CisgICAgICAgaW50IHRva2VuTGVuOworIAorLSAgICAgIGZv dW5kRGVsaW0gPSBzdHJjaHIobGlzdCwgZGVsaW0pOworKyAgICAgIGZvdW5kRGVsaW0gPSAoY2hh ciAqKXN0cmNocihsaXN0LCBkZWxpbSk7CisgICAgICAgaWYgKGZvdW5kRGVsaW0gPT0gTlVMTCkg eyAvLyBlaXRoZXIgc2luZ2xlIG9yIGxhc3QgZWxlbWVudAorICAgICAgICAgIHRva2VuTGVuID0g c3RybGVuKGxpc3QpOworICAgICAgIH0gZWxzZSB7IC8vICEgbGFzdCBlbGVtZW50CitkaWZmIC1O YXVyIG9wZW4tdm0tdG9vbHMtMTMuMS4wLTI1MjE4ODg1Lm9sZC9saWIvbmljSW5mby9uaWNJbmZv UG9zaXguYyBvcGVuLXZtLXRvb2xzLTEzLjEuMC0yNTIxODg4NS9saWIvbmljSW5mby9uaWNJbmZv UG9zaXguYworLS0tIG9wZW4tdm0tdG9vbHMtMTMuMS4wLTI1MjE4ODg1Lm9sZC9saWIvbmljSW5m by9uaWNJbmZvUG9zaXguYwkyMDI2LTA1LTIwIDA5OjI5OjIyLjc4OTYyNjEzOCArMDIwMAorKysr IG9wZW4tdm0tdG9vbHMtMTMuMS4wLTI1MjE4ODg1L2xpYi9uaWNJbmZvL25pY0luZm9Qb3NpeC5j CTIwMjYtMDUtMjAgMDk6Mjk6MjkuODg0ODgzMjc4ICswMjAwCitAQCAtMjY2LDcgKzI2Niw3IEBA CisgICAgY2hhciAqcDsKKyAgICBzaXplX3QgbjsKKyAKKy0gICBpZiAoKHAgPSBzdHJjaHIobGFi ZWwsICc6JykpICE9IE5VTEwpIHsKKysgICBpZiAoKHAgPSAoY2hhciAqKXN0cmNocihsYWJlbCwg JzonKSkgIT0gTlVMTCkgeworICAgICAgIG4gPSBwIC0gbGFiZWw7CisgICAgfSBlbHNlIHsKKyAg ICAgICBuID0gc3RybGVuKGxhYmVsKTsKK2RpZmYgLU5hdXIgb3Blbi12bS10b29scy0xMy4xLjAt MjUyMTg4ODUub2xkL2xpYi9ycGNDaGFubmVsL2dsaWJfc3R1YnMuYyBvcGVuLXZtLXRvb2xzLTEz LjEuMC0yNTIxODg4NS9saWIvcnBjQ2hhbm5lbC9nbGliX3N0dWJzLmMKKy0tLSBvcGVuLXZtLXRv b2xzLTEzLjEuMC0yNTIxODg4NS5vbGQvbGliL3JwY0NoYW5uZWwvZ2xpYl9zdHVicy5jCTIwMjYt MDUtMjAgMDk6Mjk6MjIuNzgyOTc1NjE3ICswMjAwCisrKysgb3Blbi12bS10b29scy0xMy4xLjAt MjUyMTg4ODUvbGliL3JwY0NoYW5uZWwvZ2xpYl9zdHVicy5jCTIwMjYtMDUtMjAgMDk6Mjk6Mjku ODg1MzAxMjI2ICswMjAwCitAQCAtMzMsNiArMzMsMTAgQEAKKyAjZXJyb3IgIlRoaXMgZmlsZSBz aG91bGQgYmUgY29tcGlsZWQgZm9yIFJQQ0ktb25seSBjaGFubmVsISIKKyAjZW5kaWYKKyAKKysj dW5kZWYgZ19tYWxsb2MwCisrI3VuZGVmIGdfbWFsbG9jMF9uCisrI3VuZGVmIGdfZnJlZQorKwor IHZvaWQgKmdfbWFsbG9jMChzaXplX3QgcykgeyByZXR1cm4gVXRpbF9TYWZlQ2FsbG9jKDEsIHMp OyB9Cisgdm9pZCAqZ19tYWxsb2MwX24oc2l6ZV90IG4sIHNpemVfdCBzKSB7IHJldHVybiBVdGls X1NhZmVDYWxsb2Mobiwgcyk7IH0KKyB2b2lkIGdfZnJlZSh2b2lkICpwKSB7IGZyZWUocCk7IH0K K2RpZmYgLU5hdXIgb3Blbi12bS10b29scy0xMy4xLjAtMjUyMTg4ODUub2xkL2xpYnZtdG9vbHMv aTE4bi5jIG9wZW4tdm0tdG9vbHMtMTMuMS4wLTI1MjE4ODg1L2xpYnZtdG9vbHMvaTE4bi5jCist LS0gb3Blbi12bS10b29scy0xMy4xLjAtMjUyMTg4ODUub2xkL2xpYnZtdG9vbHMvaTE4bi5jCTIw MjYtMDUtMjAgMDk6Mjk6MjIuODA1MTY0MDE2ICswMjAwCisrKysgb3Blbi12bS10b29scy0xMy4x LjAtMjUyMTg4ODUvbGlidm10b29scy9pMThuLmMJMjAyNi0wNS0yMCAwOToyOToyOS44ODU0MzAy MTkgKzAyMDAKK0BAIC03MTEsNyArNzExLDcgQEAKKyAgICAgICAgKiBJZiB3ZSBjb3VsZG4ndCBm aW5kIHRoZSBjYXRhbG9nIGZpbGUgZm9yIHRoZSB1c2VyJ3MgbGFuZ3VhZ2UsIHNlZSBpZgorICAg ICAgICAqIHdlIGNhbiBmaW5kIGEgbW9yZSBnZW5lcmljIGxhbmd1YWdlIChlLmcuLCBmb3IgImVu X1VTIiwgYWxzbyB0cnkgImVuIikuCisgICAgICAgICovCistICAgICAgY2hhciAqc2VwID0gU3Ry X1N0cnJjaHIobGFuZywgJ18nKTsKKysgICAgICBjaGFyICpzZXAgPSAoY2hhciAqKVN0cl9TdHJy Y2hyKGxhbmcsICdfJyk7CisgICAgICAgaWYgKHNlcCAhPSBOVUxMKSB7CisgICAgICAgICAgaWYg KHVzcmxhbmcgPT0gTlVMTCkgeworICAgICAgICAgICAgIHVzcmxhbmcgPSBVdGlsX1NhZmVTdHJk dXAobGFuZyk7CitkaWZmIC1OYXVyIG9wZW4tdm0tdG9vbHMtMTMuMS4wLTI1MjE4ODg1Lm9sZC9z ZXJ2aWNlcy9wbHVnaW5zL3ZpeC92aXhUb29scy5jIG9wZW4tdm0tdG9vbHMtMTMuMS4wLTI1MjE4 ODg1L3NlcnZpY2VzL3BsdWdpbnMvdml4L3ZpeFRvb2xzLmMKKy0tLSBvcGVuLXZtLXRvb2xzLTEz LjEuMC0yNTIxODg4NS5vbGQvc2VydmljZXMvcGx1Z2lucy92aXgvdml4VG9vbHMuYwkyMDI2LTA1 LTIwIDA5OjI5OjIyLjgwMjk1Mjg1OSArMDIwMAorKysrIG9wZW4tdm0tdG9vbHMtMTMuMS4wLTI1 MjE4ODg1L3NlcnZpY2VzL3BsdWdpbnMvdml4L3ZpeFRvb2xzLmMJMjAyNi0wNS0yMCAwOToyOToy OS44ODU5MDM2NTEgKzAyMDAKK0BAIC05MjgsNyArOTI4LDcgQEAKKyAgICAgICBjaGFyICp3aGVy ZVRvU3BsaXQ7CisgICAgICAgc2l6ZV90IG5hbWVMZW47CisgCistICAgICAgd2hlcmVUb1NwbGl0 ID0gc3RyY2hyKCplbnZwLCAnPScpOworKyAgICAgIHdoZXJlVG9TcGxpdCA9IChjaGFyICopc3Ry Y2hyKCplbnZwLCAnPScpOworICAgICAgIGlmIChOVUxMID09IHdoZXJlVG9TcGxpdCkgeworICAg ICAgICAgIC8qIE91ciBjb2RlIGdlbmVyYXRlZCB0aGlzIGxpc3QsIHNvIHRoaXMgc2hvdWxkbid0 IGhhcHBlbi4gKi8KKyAgICAgICAgICBBU1NFUlQoMCk7CgpkaWZmIC0tZ2l0IGEvb3Blbi12bS10 b29scy1vcGVuc3NsNC5wYXRjaCBiL29wZW4tdm0tdG9vbHMtb3BlbnNzbDQucGF0Y2gKbmV3IGZp bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDU3NGZlYQotLS0gL2Rldi9udWxsCisrKyBi L29wZW4tdm0tdG9vbHMtb3BlbnNzbDQucGF0Y2gKQEAgLTAsMCArMSwzOSBAQAorZGlmZiAtLWdp dCBhL3ZnYXV0aC9jb21tb24vY2VydHZlcmlmeS5jIGIvdmdhdXRoL2NvbW1vbi9jZXJ0dmVyaWZ5 LmMKK2luZGV4IDg0NWY1OWIuLmVjNWZhZjcgMTAwNjQ0CistLS0gYS92Z2F1dGgvY29tbW9uL2Nl cnR2ZXJpZnkuYworKysrIGIvdmdhdXRoL2NvbW1vbi9jZXJ0dmVyaWZ5LmMKK0BAIC03OTMsNyAr NzkzLDcgQEAgQ2VydFZlcmlmeV9DaGVja1NpZ25hdHVyZVVzaW5nQ2VydChWR0F1dGhIYXNoQWxn IGhhc2gsCisgeworICAgIFZHQXV0aEVycm9yIGVycjsKKyAgICBYNTA5ICpjZXJ0OworLSAgIFg1 MDlfUFVCS0VZICp4NTA5UHViS2V5OworKyAgIGNvbnN0IFg1MDlfUFVCS0VZICp4NTA5UHViS2V5 OworICAgIEVWUF9QS0VZICpwdWJsaWNLZXk7CisgCisgICAgY2VydCA9IENlcnRTdHJpbmdUb1g1 MDkocGVtQ2VydCk7CitAQCAtOTI0LDEyICs5MjQsMTIgQEAgZG9uZToKKyAKKyBzdGF0aWMgWDUw OSAqCisgRmluZENlcnQoR0xpc3QgKmNMaXN0LAorLSAgICAgICAgIFg1MDlfTkFNRSAqdmFsLAor KyAgICAgICAgIGNvbnN0IFg1MDlfTkFNRSAqdmFsLAorICAgICAgICAgIGludCBjaGVja1N1Ymop CisgeworICAgIEdMaXN0ICpsOworICAgIFg1MDkgKmM7CistICAgWDUwOV9OQU1FICp2OworKyAg IGNvbnN0IFg1MDlfTkFNRSAqdjsKKyAKKyAgICBsID0gY0xpc3Q7CisgICAgd2hpbGUgKGwgIT0g TlVMTCkgeworQEAgLTk3NCw4ICs5NzQsOCBAQCBDZXJ0VmVyaWZ5X0NoZWNrRm9yVW5yZWxhdGVk Q2VydHMoaW50IG51bUNlcnRzLAorICAgIEdMaXN0ICpyYXdMaXN0ID0gTlVMTDsKKyAgICBYNTA5 ICpiYXNlQ2VydDsKKyAgICBYNTA5ICpjdXJDZXJ0OworLSAgIFg1MDlfTkFNRSAqc3ViamVjdDsK Ky0gICBYNTA5X05BTUUgKmlzc3VlcjsKKysgICBjb25zdCBYNTA5X05BTUUgKnN1YmplY3Q7Cisr ICAgY29uc3QgWDUwOV9OQU1FICppc3N1ZXI7CisgCisgICAgLyogY29tbW9uIHNpbmdsZSBjZXJ0 IGNhc2U7IG5vdGhpbmcgdG8gZG8gKi8KKyAgICBpZiAobnVtQ2VydHMgPT0gMSkgewoKZGlmZiAt LWdpdCBhL29wZW4tdm0tdG9vbHMtc2lnYysrMy5wYXRjaCBiL29wZW4tdm0tdG9vbHMtc2lnYysr My5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41NWNhOGNmCi0tLSAv ZGV2L251bGwKKysrIGIvb3Blbi12bS10b29scy1zaWdjKyszLnBhdGNoCkBAIC0wLDAgKzEsMzI5 IEBACitkaWZmIC1OYXVyIG9wZW4tdm0tdG9vbHMtMTMuMS4wLTI1MjE4ODg1Lm9sZC9saWIvaW5j bHVkZS9zaWdjKysydG8zLmggb3Blbi12bS10b29scy0xMy4xLjAtMjUyMTg4ODUvbGliL2luY2x1 ZGUvc2lnYysrMnRvMy5oCistLS0gb3Blbi12bS10b29scy0xMy4xLjAtMjUyMTg4ODUub2xkL2xp Yi9pbmNsdWRlL3NpZ2MrKzJ0bzMuaAkyMDI2LTA1LTIwIDA5OjI5OjIyLjc3NjM4NTY0NiArMDIw MAorKysrIG9wZW4tdm0tdG9vbHMtMTMuMS4wLTI1MjE4ODg1L2xpYi9pbmNsdWRlL3NpZ2MrKzJ0 bzMuaAkyMDI2LTA1LTIwIDA5OjQzOjI5Ljc1MDM2OTg4NyArMDIwMAorQEAgLTM2LDg1ICszNiw2 IEBACisgbmFtZXNwYWNlIHNpZ2MgeworIAorIAorLS8vIEJyaWRnZSBzbG90IHN5bnRheCBjaGFu Z2UKKy10ZW1wbGF0ZSA8dHlwZW5hbWUgVF9yZXQsIHR5cGVuYW1lLi4uIFRfYXJncz4KKy1jbGFz cyBzbG90IDogcHVibGljIHNsb3Q8VF9yZXQoVF9hcmdzLi4uKT4geworLXByaXZhdGU6CistICAg dXNpbmcgX3RydWVfc2xvdCA9IHNsb3Q8VF9yZXQoVF9hcmdzLi4uKT47CistcHVibGljOgorLSAg IGlubGluZSBzbG90KCkgPSBkZWZhdWx0OworLSAgIGlubGluZSBzbG90KGNvbnN0IF90cnVlX3Ns b3QmIHNyYykgOiBfdHJ1ZV9zbG90KHNyYykge30KKy0gICB0ZW1wbGF0ZTx0eXBlbmFtZSBUX2Z1 bmN0b3I+CistICAgaW5saW5lIHNsb3QoY29uc3QgVF9mdW5jdG9yJiBmdW5jKSA6IF90cnVlX3Ns b3QoZnVuYykge30KKy19OworLQorLXRlbXBsYXRlIDx0eXBlbmFtZSBUX3JldD4KKy11c2luZyBz bG90MCA9IHNsb3Q8VF9yZXQoKT47CistdGVtcGxhdGUgPHR5cGVuYW1lIFRfcmV0LCB0eXBlbmFt ZSBUX2FyZzE+CistdXNpbmcgc2xvdDEgPSBzbG90PFRfcmV0KFRfYXJnMSk+OworLXRlbXBsYXRl IDx0eXBlbmFtZSBUX3JldCwgdHlwZW5hbWUgVF9hcmcxLCB0eXBlbmFtZSBUX2FyZzI+CistdXNp bmcgc2xvdDIgPSBzbG90PFRfcmV0KFRfYXJnMSwgVF9hcmcyKT47CistdGVtcGxhdGUgPHR5cGVu YW1lIFRfcmV0LCB0eXBlbmFtZSBUX2FyZzEsIHR5cGVuYW1lIFRfYXJnMiwgdHlwZW5hbWUgVF9h cmczPgorLXVzaW5nIHNsb3QzID0gc2xvdDxUX3JldChUX2FyZzEsIFRfYXJnMiwgVF9hcmczKT47 CistdGVtcGxhdGUgPHR5cGVuYW1lIFRfcmV0LCB0eXBlbmFtZSBUX2FyZzEsIHR5cGVuYW1lIFRf YXJnMiwgdHlwZW5hbWUgVF9hcmczLCB0eXBlbmFtZSBUX2FyZzQ+CistdXNpbmcgc2xvdDQgPSBz bG90PFRfcmV0KFRfYXJnMSwgVF9hcmcyLCBUX2FyZzMsIFRfYXJnNCk+OworLXRlbXBsYXRlIDx0 eXBlbmFtZSBUX3JldCwgdHlwZW5hbWUgVF9hcmcxLCB0eXBlbmFtZSBUX2FyZzIsIHR5cGVuYW1l IFRfYXJnMywgdHlwZW5hbWUgVF9hcmc0LCB0eXBlbmFtZSBUX2FyZzU+CistdXNpbmcgc2xvdDUg PSBzbG90PFRfcmV0KFRfYXJnMSwgVF9hcmcyLCBUX2FyZzMsIFRfYXJnNCwgVF9hcmc1KT47Cist dGVtcGxhdGUgPHR5cGVuYW1lIFRfcmV0LCB0eXBlbmFtZSBUX2FyZzEsIHR5cGVuYW1lIFRfYXJn MiwgdHlwZW5hbWUgVF9hcmczLCB0eXBlbmFtZSBUX2FyZzQsIHR5cGVuYW1lIFRfYXJnNSwgdHlw ZW5hbWUgVF9hcmc2PgorLXVzaW5nIHNsb3Q2ID0gc2xvdDxUX3JldChUX2FyZzEsIFRfYXJnMiwg VF9hcmczLCBUX2FyZzQsIFRfYXJnNSwgVF9hcmc2KT47CistdGVtcGxhdGUgPHR5cGVuYW1lIFRf cmV0LCB0eXBlbmFtZSBUX2FyZzEsIHR5cGVuYW1lIFRfYXJnMiwgdHlwZW5hbWUgVF9hcmczLCB0 eXBlbmFtZSBUX2FyZzQsIHR5cGVuYW1lIFRfYXJnNSwgdHlwZW5hbWUgVF9hcmc2LCB0eXBlbmFt ZSBUX2FyZzc+CistdXNpbmcgc2xvdDcgPSBzbG90PFRfcmV0KFRfYXJnMSwgVF9hcmcyLCBUX2Fy ZzMsIFRfYXJnNCwgVF9hcmc1LCBUX2FyZzYsIFRfYXJnNyk+OworLQorLQorLS8vIEJyaWRnZSBz aWduYWwgc3ludGF4IGNoYW5nZQorLXRlbXBsYXRlIDx0eXBlbmFtZSBUX3JldCwgdHlwZW5hbWUu Li4gVF9hcmdzPgorLWNsYXNzIHNpZ25hbCA6IHB1YmxpYyBzaWduYWw8VF9yZXQoVF9hcmdzLi4u KT4sIHB1YmxpYyB0cmFja2FibGUgeworLXB1YmxpYzoKKy0gICBzaWduYWwoKSA9IGRlZmF1bHQ7 CistCistICAgZGVjbHR5cGUoYXV0bykgbWFrZV9zbG90KCkgY29uc3QgeworLSAgICAgIHJldHVy biBtZW1fZnVuKCp0aGlzLCAmc2lnbmFsOjplbWl0KTsKKy0gICB9CistfTsKKy0KKy10ZW1wbGF0 ZSA8dHlwZW5hbWUgVF9yZXQ+CistdXNpbmcgc2lnbmFsMCA9IHNpZ25hbDxUX3JldCgpPjsKKy10 ZW1wbGF0ZSA8dHlwZW5hbWUgVF9yZXQsIHR5cGVuYW1lIFRfYXJnMT4KKy11c2luZyBzaWduYWwx ID0gc2lnbmFsPFRfcmV0KFRfYXJnMSk+OworLXRlbXBsYXRlIDx0eXBlbmFtZSBUX3JldCwgdHlw ZW5hbWUgVF9hcmcxLCB0eXBlbmFtZSBUX2FyZzI+CistdXNpbmcgc2lnbmFsMiA9IHNpZ25hbDxU X3JldChUX2FyZzEsIFRfYXJnMik+OworLXRlbXBsYXRlIDx0eXBlbmFtZSBUX3JldCwgdHlwZW5h bWUgVF9hcmcxLCB0eXBlbmFtZSBUX2FyZzIsIHR5cGVuYW1lIFRfYXJnMz4KKy11c2luZyBzaWdu YWwzID0gc2lnbmFsPFRfcmV0KFRfYXJnMSwgVF9hcmcyLCBUX2FyZzMpPjsKKy10ZW1wbGF0ZSA8 dHlwZW5hbWUgVF9yZXQsIHR5cGVuYW1lIFRfYXJnMSwgdHlwZW5hbWUgVF9hcmcyLCB0eXBlbmFt ZSBUX2FyZzMsIHR5cGVuYW1lIFRfYXJnND4KKy11c2luZyBzaWduYWw0ID0gc2lnbmFsPFRfcmV0 KFRfYXJnMSwgVF9hcmcyLCBUX2FyZzMsIFRfYXJnNCk+OworLXRlbXBsYXRlIDx0eXBlbmFtZSBU X3JldCwgdHlwZW5hbWUgVF9hcmcxLCB0eXBlbmFtZSBUX2FyZzIsIHR5cGVuYW1lIFRfYXJnMywg dHlwZW5hbWUgVF9hcmc0LCB0eXBlbmFtZSBUX2FyZzU+CistdXNpbmcgc2lnbmFsNSA9IHNpZ25h bDxUX3JldChUX2FyZzEsIFRfYXJnMiwgVF9hcmczLCBUX2FyZzQsIFRfYXJnNSk+OworLXRlbXBs YXRlIDx0eXBlbmFtZSBUX3JldCwgdHlwZW5hbWUgVF9hcmcxLCB0eXBlbmFtZSBUX2FyZzIsIHR5 cGVuYW1lIFRfYXJnMywgdHlwZW5hbWUgVF9hcmc0LCB0eXBlbmFtZSBUX2FyZzUsIHR5cGVuYW1l IFRfYXJnNj4KKy11c2luZyBzaWduYWw2ID0gc2lnbmFsPFRfcmV0KFRfYXJnMSwgVF9hcmcyLCBU X2FyZzMsIFRfYXJnNCwgVF9hcmc1LCBUX2FyZzYpPjsKKy10ZW1wbGF0ZSA8dHlwZW5hbWUgVF9y ZXQsIHR5cGVuYW1lIFRfYXJnMSwgdHlwZW5hbWUgVF9hcmcyLCB0eXBlbmFtZSBUX2FyZzMsIHR5 cGVuYW1lIFRfYXJnNCwgdHlwZW5hbWUgVF9hcmc1LCB0eXBlbmFtZSBUX2FyZzYsIHR5cGVuYW1l IFRfYXJnNz4KKy11c2luZyBzaWduYWw3ID0gc2lnbmFsPFRfcmV0KFRfYXJnMSwgVF9hcmcyLCBU X2FyZzMsIFRfYXJnNCwgVF9hcmc1LCBUX2FyZzYsIFRfYXJnNyk+OworLQorLQorLS8vQnJpZGdl IGJvdW5kX21lbV9mdW5jdG9yCistdGVtcGxhdGUgPHR5cGVuYW1lIFRfcmV0LCB0eXBlbmFtZSBU X29iaj4KKy11c2luZyBib3VuZF9tZW1fZnVuY3RvcjAgPSBib3VuZF9tZW1fZnVuY3RvcjxUX3Jl dCAoVF9vYmo6OiopKCk+OworLXRlbXBsYXRlIDx0eXBlbmFtZSBUX3JldCwgdHlwZW5hbWUgVF9v YmosIHR5cGVuYW1lIFRfYXJnMT4KKy11c2luZyBib3VuZF9tZW1fZnVuY3RvcjEgPSBib3VuZF9t ZW1fZnVuY3RvcjxUX3JldCAoVF9vYmo6OiopKFRfYXJnMSksIFRfYXJnMT47CistdGVtcGxhdGUg PHR5cGVuYW1lIFRfcmV0LCB0eXBlbmFtZSBUX29iaiwgdHlwZW5hbWUgVF9hcmcxLCB0eXBlbmFt ZSBUX2FyZzI+CistdXNpbmcgYm91bmRfbWVtX2Z1bmN0b3IyID0gYm91bmRfbWVtX2Z1bmN0b3I8 VF9yZXQgKFRfb2JqOjoqKShUX2FyZzEsIFRfYXJnMiksIFRfYXJnMSwgVF9hcmcyPjsKKy10ZW1w bGF0ZSA8dHlwZW5hbWUgVF9yZXQsIHR5cGVuYW1lIFRfb2JqLCB0eXBlbmFtZSBUX2FyZzEsIHR5 cGVuYW1lIFRfYXJnMiwgdHlwZW5hbWUgVF9hcmczPgorLXVzaW5nIGJvdW5kX21lbV9mdW5jdG9y MyA9IGJvdW5kX21lbV9mdW5jdG9yPFRfcmV0IChUX29iajo6KikoVF9hcmcxLCBUX2FyZzIsIFRf YXJnMyksIFRfYXJnMSwgVF9hcmcyLCBUX2FyZzM+OworLXRlbXBsYXRlIDx0eXBlbmFtZSBUX3Jl dCwgdHlwZW5hbWUgVF9vYmosIHR5cGVuYW1lIFRfYXJnMSwgdHlwZW5hbWUgVF9hcmcyLCB0eXBl bmFtZSBUX2FyZzMsIHR5cGVuYW1lIFRfYXJnND4KKy11c2luZyBib3VuZF9tZW1fZnVuY3RvcjQg PSBib3VuZF9tZW1fZnVuY3RvcjxUX3JldCAoVF9vYmo6OiopKFRfYXJnMSwgVF9hcmcyLCBUX2Fy ZzMsIFRfYXJnNCksIFRfYXJnMSwgVF9hcmcyLCBUX2FyZzMsIFRfYXJnND47CistdGVtcGxhdGUg PHR5cGVuYW1lIFRfcmV0LCB0eXBlbmFtZSBUX29iaiwgdHlwZW5hbWUgVF9hcmcxLCB0eXBlbmFt ZSBUX2FyZzIsIHR5cGVuYW1lIFRfYXJnMywgdHlwZW5hbWUgVF9hcmc0LCB0eXBlbmFtZSBUX2Fy ZzU+CistdXNpbmcgYm91bmRfbWVtX2Z1bmN0b3I1ID0gYm91bmRfbWVtX2Z1bmN0b3I8VF9yZXQg KFRfb2JqOjoqKShUX2FyZzEsIFRfYXJnMiwgVF9hcmczLCBUX2FyZzQsIFRfYXJnNSksIFRfYXJn MSwgVF9hcmcyLCBUX2FyZzMsIFRfYXJnNCwgVF9hcmc1PjsKKy10ZW1wbGF0ZSA8dHlwZW5hbWUg VF9yZXQsIHR5cGVuYW1lIFRfb2JqLCB0eXBlbmFtZSBUX2FyZzEsIHR5cGVuYW1lIFRfYXJnMiwg dHlwZW5hbWUgVF9hcmczLCB0eXBlbmFtZSBUX2FyZzQsIHR5cGVuYW1lIFRfYXJnNSwgdHlwZW5h bWUgVF9hcmc2PgorLXVzaW5nIGJvdW5kX21lbV9mdW5jdG9yNiA9IGJvdW5kX21lbV9mdW5jdG9y PFRfcmV0IChUX29iajo6KikoVF9hcmcxLCBUX2FyZzIsIFRfYXJnMywgVF9hcmc0LCBUX2FyZzUs IFRfYXJnNiksIFRfYXJnMSwgVF9hcmcyLCBUX2FyZzMsIFRfYXJnNCwgVF9hcmc1LCBUX2FyZzY+ OworLXRlbXBsYXRlIDx0eXBlbmFtZSBUX3JldCwgdHlwZW5hbWUgVF9vYmosIHR5cGVuYW1lIFRf YXJnMSwgdHlwZW5hbWUgVF9hcmcyLCB0eXBlbmFtZSBUX2FyZzMsIHR5cGVuYW1lIFRfYXJnNCwg dHlwZW5hbWUgVF9hcmc1LCB0eXBlbmFtZSBUX2FyZzYsIHR5cGVuYW1lIFRfYXJnNz4KKy11c2lu ZyBib3VuZF9tZW1fZnVuY3RvcjcgPSBib3VuZF9tZW1fZnVuY3RvcjxUX3JldCAoVF9vYmo6Oiop KFRfYXJnMSwgVF9hcmcyLCBUX2FyZzMsIFRfYXJnNCwgVF9hcmc1LCBUX2FyZzYsIFRfYXJnNyks IFRfYXJnMSwgVF9hcmcyLCBUX2FyZzMsIFRfYXJnNCwgVF9hcmc1LCBUX2FyZzYsIFRfYXJnNz47 CistCistCistCisgLy8gQWRkIG9sZCBtZW1fZnVuIEFQSSBmb3IgcG9pbnRlcgorIHRlbXBsYXRl PHR5cGVuYW1lIFRfcmV0dXJuLCB0eXBlbmFtZSBUX29iaiwgdHlwZW5hbWUuLi4gVF9hcmc+Cisg aW5saW5lIGRlY2x0eXBlKGF1dG8pCitAQCAtMTMxLDEzICs1Miw2IEBACisgfQorIAorIAorLS8v IFN0dWIgc2lnYzo6cmVmIGltcGwKKy10ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KKy1pbmxpbmUgZGVj bHR5cGUoYXV0bykgcmVmKFQmIHQpIHsgcmV0dXJuIHN0ZDo6cmVmKHQpOyB9CistdGVtcGxhdGUg PHR5cGVuYW1lIFQ+CistaW5saW5lIGRlY2x0eXBlKGF1dG8pIHJlZihjb25zdCBUJiB0KSB7IHJl dHVybiBzdGQ6OmNyZWYodCk7IH0KKy0KKy0KKyB9IC8vbmFtZXNwYWNlIHNpZ2MKKyAKKyAjZW5k aWYgLy8gU0lHQ1hYX01BSk9SX1ZFUlNJT04gPj0gMworZGlmZiAtTmF1ciBvcGVuLXZtLXRvb2xz LTEzLjEuMC0yNTIxODg4NS5vbGQvc2VydmljZXMvcGx1Z2lucy9kbmRjcC9kbmQvY29weVBhc3Rl UnBjLmhoIG9wZW4tdm0tdG9vbHMtMTMuMS4wLTI1MjE4ODg1L3NlcnZpY2VzL3BsdWdpbnMvZG5k Y3AvZG5kL2NvcHlQYXN0ZVJwYy5oaAorLS0tIG9wZW4tdm0tdG9vbHMtMTMuMS4wLTI1MjE4ODg1 Lm9sZC9zZXJ2aWNlcy9wbHVnaW5zL2RuZGNwL2RuZC9jb3B5UGFzdGVScGMuaGgJMjAyNi0wNS0y MCAwOToyOToyMi43OTg4NTE3NDIgKzAyMDAKKysrKyBvcGVuLXZtLXRvb2xzLTEzLjEuMC0yNTIx ODg4NS9zZXJ2aWNlcy9wbHVnaW5zL2RuZGNwL2RuZC9jb3B5UGFzdGVScGMuaGgJMjAyNi0wNS0y MCAwOTo0Mzo0NS4wNzYyODgxOTIgKzAyMDAKK0BAIC0zOSwxOCArMzksMTggQEAKKyAgICB2aXJ0 dWFsIH5Db3B5UGFzdGVScGModm9pZCkge307CisgCisgICAgLyogc2lnYyBzaWduYWxzIGZvciBD b3B5UGFzdGUgc291cmNlIGNhbGxiYWNrLiAqLworLSAgIHNpZ2M6OnNpZ25hbDx2b2lkLCB1aW50 MzIsIGJvb2wsIGNvbnN0IENQQ2xpcGJvYXJkKj4gc3JjUmVjdkNsaXBDaGFuZ2VkOworLSAgIHNp Z2M6OnNpZ25hbDx2b2lkLCB1aW50MzIsIGNvbnN0IHVpbnQ4ICosIHVpbnQzMj4gcmVxdWVzdEZp bGVzQ2hhbmdlZDsKKy0gICBzaWdjOjpzaWduYWw8dm9pZCwgdWludDMyLCBib29sLCBjb25zdCB1 aW50OCAqLCB1aW50MzI+IGdldEZpbGVzRG9uZUNoYW5nZWQ7CisrICAgc2lnYzo6c2lnbmFsPHZv aWQodWludDMyLCBib29sLCBjb25zdCBDUENsaXBib2FyZCopPiBzcmNSZWN2Q2xpcENoYW5nZWQ7 CisrICAgc2lnYzo6c2lnbmFsPHZvaWQodWludDMyLCBjb25zdCB1aW50OCAqLCB1aW50MzIpPiBy ZXF1ZXN0RmlsZXNDaGFuZ2VkOworKyAgIHNpZ2M6OnNpZ25hbDx2b2lkKHVpbnQzMiwgYm9vbCwg Y29uc3QgdWludDggKiwgdWludDMyKT4gZ2V0RmlsZXNEb25lQ2hhbmdlZDsKKyAKKyAgICAvKiBz aWdjIHNpZ25hbCBmb3IgQ29weVBhc3RlIGRlc3RpbmF0aW9uIGNhbGxiYWNrLiAqLworLSAgIHNp Z2M6OnNpZ25hbDx2b2lkLCB1aW50MzIsIGJvb2w+IGRlc3RSZXF1ZXN0Q2xpcENoYW5nZWQ7Cisr ICAgc2lnYzo6c2lnbmFsPHZvaWQodWludDMyLCBib29sKT4gZGVzdFJlcXVlc3RDbGlwQ2hhbmdl ZDsKKyAKKyAgICAvKiBzaWdjIHNpZ25hbCBmb3IgcGluZyByZXBseSBjYWxsYmFjay4gKi8KKy0g ICBzaWdjOjpzaWduYWw8dm9pZCwgdWludDMyPiBwaW5nUmVwbHlDaGFuZ2VkOworKyAgIHNpZ2M6 OnNpZ25hbDx2b2lkKHVpbnQzMik+IHBpbmdSZXBseUNoYW5nZWQ7CisgCisgICAgLyogc2lnYyBz aWduYWwgZm9yIHJwYyBjb21tYW5kIHJlcGx5IHJlY2VpdmVkLiAqLworLSAgIHNpZ2M6OnNpZ25h bDx2b2lkLCB1aW50MzIsIHVpbnQzMj4gY21kUmVwbHlDaGFuZ2VkOworKyAgIHNpZ2M6OnNpZ25h bDx2b2lkKHVpbnQzMiwgdWludDMyKT4gY21kUmVwbHlDaGFuZ2VkOworIAorICAgIHZpcnR1YWwg dm9pZCBJbml0KHZvaWQpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgU2VuZFBpbmcodWludDMyIGNh cHMpID0gMDsKK2RpZmYgLU5hdXIgb3Blbi12bS10b29scy0xMy4xLjAtMjUyMTg4ODUub2xkL3Nl cnZpY2VzL3BsdWdpbnMvZG5kY3AvZG5kL2RuZFJwYy5oaCBvcGVuLXZtLXRvb2xzLTEzLjEuMC0y NTIxODg4NS9zZXJ2aWNlcy9wbHVnaW5zL2RuZGNwL2RuZC9kbmRScGMuaGgKKy0tLSBvcGVuLXZt LXRvb2xzLTEzLjEuMC0yNTIxODg4NS5vbGQvc2VydmljZXMvcGx1Z2lucy9kbmRjcC9kbmQvZG5k UnBjLmhoCTIwMjYtMDUtMjAgMDk6Mjk6MjIuNzk4ODUxNzQyICswMjAwCisrKysgb3Blbi12bS10 b29scy0xMy4xLjAtMjUyMTg4ODUvc2VydmljZXMvcGx1Z2lucy9kbmRjcC9kbmQvZG5kUnBjLmho CTIwMjYtMDUtMjAgMDk6NDM6NDUuMDc2NjMzOTE0ICswMjAwCitAQCAtNDAsMzAgKzQwLDMwIEBA CisgICAgdmlydHVhbCB+RG5EUnBjKHZvaWQpIHt9OworIAorICAgIC8qIHNpZ2Mgc2lnbmFscyBm b3IgRG5EIHNvdXJjZSBjYWxsYmFjay4gKi8KKy0gICBzaWdjOjpzaWduYWw8dm9pZCwgdWludDMy LCBjb25zdCBDUENsaXBib2FyZCAqPiBzcmNEcmFnQmVnaW5DaGFuZ2VkOworLSAgIHNpZ2M6OnNp Z25hbDx2b2lkLCB1aW50MzI+IHNyY0NhbmNlbENoYW5nZWQ7CistICAgc2lnYzo6c2lnbmFsPHZv aWQsIHVpbnQzMiwgdWludDMyLCB1aW50MzI+IHNyY0Ryb3BDaGFuZ2VkOworKyAgIHNpZ2M6OnNp Z25hbDx2b2lkKHVpbnQzMiwgY29uc3QgQ1BDbGlwYm9hcmQgKik+IHNyY0RyYWdCZWdpbkNoYW5n ZWQ7CisrICAgc2lnYzo6c2lnbmFsPHZvaWQodWludDMyKT4gc3JjQ2FuY2VsQ2hhbmdlZDsKKysg ICBzaWdjOjpzaWduYWw8dm9pZCh1aW50MzIsIHVpbnQzMiwgdWludDMyKT4gc3JjRHJvcENoYW5n ZWQ7CisgCisgICAgLyogc2lnYyBzaWduYWxzIGZvciBEbkQgZGVzdGluYXRpb24gY2FsbGJhY2su ICovCistICAgc2lnYzo6c2lnbmFsPHZvaWQsIHVpbnQzMiwgaW50MzI+IGRlc3REcmFnRW50ZXJS ZXBseUNoYW5nZWQ7CistICAgc2lnYzo6c2lnbmFsPHZvaWQsIHVpbnQzMj4gZGVzdFByaXZEcmFn RW50ZXJDaGFuZ2VkOworLSAgIHNpZ2M6OnNpZ25hbDx2b2lkLCB1aW50MzIsIGludDMyLCBpbnQz Mj4gZGVzdFByaXZEcmFnTGVhdmVDaGFuZ2VkOworLSAgIHNpZ2M6OnNpZ25hbDx2b2lkLCB1aW50 MzIsIGludDMyLCBpbnQzMj4gZGVzdFByaXZEcm9wQ2hhbmdlZDsKKy0gICBzaWdjOjpzaWduYWw8 dm9pZCwgdWludDMyLCBpbnQzMiwgaW50MzI+IGRlc3REcm9wQ2hhbmdlZDsKKy0gICBzaWdjOjpz aWduYWw8dm9pZCwgdWludDMyPiBkZXN0Q2FuY2VsQ2hhbmdlZDsKKy0KKy0gICBzaWdjOjpzaWdu YWw8dm9pZCwgdWludDMyLCBpbnQzMiwgaW50MzI+IG1vdmVNb3VzZUNoYW5nZWQ7CistICAgc2ln Yzo6c2lnbmFsPHZvaWQsIHVpbnQzMiwgdWludDMyPiB1cGRhdGVGZWVkYmFja0NoYW5nZWQ7Cist ICAgc2lnYzo6c2lnbmFsPHZvaWQsIHVpbnQzMiwgaW50MzIsIGludDMyPiBxdWVyeUV4aXRpbmdD aGFuZ2VkOworLSAgIHNpZ2M6OnNpZ25hbDx2b2lkLCB1aW50MzI+IGRyYWdOb3RQZW5kaW5nQ2hh bmdlZDsKKy0gICBzaWdjOjpzaWduYWw8dm9pZCwgdWludDMyLCBjb25zdCB1aW50OCAqLCB1aW50 MzI+IHJlcXVlc3RGaWxlQ2hhbmdlZDsKKy0gICBzaWdjOjpzaWduYWw8dm9pZCwgdWludDMyLCBi b29sLCBjb25zdCB1aW50OCAqLCB1aW50MzI+IGdldEZpbGVzRG9uZUNoYW5nZWQ7CisrICAgc2ln Yzo6c2lnbmFsPHZvaWQodWludDMyLCBpbnQzMik+IGRlc3REcmFnRW50ZXJSZXBseUNoYW5nZWQ7 CisrICAgc2lnYzo6c2lnbmFsPHZvaWQodWludDMyKT4gZGVzdFByaXZEcmFnRW50ZXJDaGFuZ2Vk OworKyAgIHNpZ2M6OnNpZ25hbDx2b2lkKHVpbnQzMiwgaW50MzIsIGludDMyKT4gZGVzdFByaXZE cmFnTGVhdmVDaGFuZ2VkOworKyAgIHNpZ2M6OnNpZ25hbDx2b2lkKHVpbnQzMiwgaW50MzIsIGlu dDMyKT4gZGVzdFByaXZEcm9wQ2hhbmdlZDsKKysgICBzaWdjOjpzaWduYWw8dm9pZCh1aW50MzIs IGludDMyLCBpbnQzMik+IGRlc3REcm9wQ2hhbmdlZDsKKysgICBzaWdjOjpzaWduYWw8dm9pZCh1 aW50MzIpPiBkZXN0Q2FuY2VsQ2hhbmdlZDsKKysKKysgICBzaWdjOjpzaWduYWw8dm9pZCh1aW50 MzIsIGludDMyLCBpbnQzMik+IG1vdmVNb3VzZUNoYW5nZWQ7CisrICAgc2lnYzo6c2lnbmFsPHZv aWQodWludDMyLCB1aW50MzIpPiB1cGRhdGVGZWVkYmFja0NoYW5nZWQ7CisrICAgc2lnYzo6c2ln bmFsPHZvaWQodWludDMyLCBpbnQzMiwgaW50MzIpPiBxdWVyeUV4aXRpbmdDaGFuZ2VkOworKyAg IHNpZ2M6OnNpZ25hbDx2b2lkKHVpbnQzMik+IGRyYWdOb3RQZW5kaW5nQ2hhbmdlZDsKKysgICBz aWdjOjpzaWduYWw8dm9pZCh1aW50MzIsIGNvbnN0IHVpbnQ4ICosIHVpbnQzMik+IHJlcXVlc3RG aWxlQ2hhbmdlZDsKKysgICBzaWdjOjpzaWduYWw8dm9pZCh1aW50MzIsIGJvb2wsIGNvbnN0IHVp bnQ4ICosIHVpbnQzMik+IGdldEZpbGVzRG9uZUNoYW5nZWQ7CisgCisgICAgLyogc2lnYyBzaWdu YWwgZm9yIHJlc3BvbmRpbmcgdG8gcGluZyByZXBseSAqLworLSAgIHNpZ2M6OnNpZ25hbDx2b2lk LCB1aW50MzI+IHBpbmdSZXBseUNoYW5nZWQ7CisrICAgc2lnYzo6c2lnbmFsPHZvaWQodWludDMy KT4gcGluZ1JlcGx5Q2hhbmdlZDsKKyAKKyAgICAvKiBzaWdjIHNpZ25hbCBmb3IgcnBjIGNtZCBy ZXBseSByZWNlaXZlZC4gKi8KKy0gICBzaWdjOjpzaWduYWw8dm9pZCwgdWludDMyLCB1aW50MzI+ IGNtZFJlcGx5Q2hhbmdlZDsKKysgICBzaWdjOjpzaWduYWw8dm9pZCh1aW50MzIsIHVpbnQzMik+ IGNtZFJlcGx5Q2hhbmdlZDsKKyAKKyAgICAvKiBEbkQgc291cmNlLiAqLworICAgIHZpcnR1YWwg Ym9vbCBTcmNEcmFnQmVnaW5Eb25lKHVpbnQzMiBzZXNzaW9uSWQpID0gMDsKK2RpZmYgLU5hdXIg b3Blbi12bS10b29scy0xMy4xLjAtMjUyMTg4ODUub2xkL3NlcnZpY2VzL3BsdWdpbnMvZG5kY3Av ZG5kL2ZpbGVUcmFuc2ZlclJwYy5oaCBvcGVuLXZtLXRvb2xzLTEzLjEuMC0yNTIxODg4NS9zZXJ2 aWNlcy9wbHVnaW5zL2RuZGNwL2RuZC9maWxlVHJhbnNmZXJScGMuaGgKKy0tLSBvcGVuLXZtLXRv b2xzLTEzLjEuMC0yNTIxODg4NS5vbGQvc2VydmljZXMvcGx1Z2lucy9kbmRjcC9kbmQvZmlsZVRy YW5zZmVyUnBjLmhoCTIwMjYtMDUtMjAgMDk6Mjk6MjIuNzk4ODUxNzQyICswMjAwCisrKysgb3Bl bi12bS10b29scy0xMy4xLjAtMjUyMTg4ODUvc2VydmljZXMvcGx1Z2lucy9kbmRjcC9kbmQvZmls ZVRyYW5zZmVyUnBjLmhoCTIwMjYtMDUtMjAgMDk6NDM6NDUuMDc2NDA1MjMzICswMjAwCitAQCAt MzgsOCArMzgsOCBAQAorIHB1YmxpYzoKKyAgICB2aXJ0dWFsIH5GaWxlVHJhbnNmZXJScGModm9p ZCkge307CisgCistICAgc2lnYzo6c2lnbmFsPHZvaWQsIHVpbnQzMiwgY29uc3QgdWludDggKiwg c2l6ZV90PiBIZ2ZzUGFja2V0UmVjZWl2ZWQ7CistICAgc2lnYzo6c2lnbmFsPHZvaWQsIHVpbnQz MiwgY29uc3QgdWludDggKiwgc2l6ZV90PiBIZ2ZzUmVwbHlSZWNlaXZlZDsKKysgICBzaWdjOjpz aWduYWw8dm9pZCh1aW50MzIsIGNvbnN0IHVpbnQ4ICosIHNpemVfdCk+IEhnZnNQYWNrZXRSZWNl aXZlZDsKKysgICBzaWdjOjpzaWduYWw8dm9pZCh1aW50MzIsIGNvbnN0IHVpbnQ4ICosIHNpemVf dCk+IEhnZnNSZXBseVJlY2VpdmVkOworIAorICAgIHZpcnR1YWwgdm9pZCBJbml0KHZvaWQpID0g MDsKKyAgICB2aXJ0dWFsIGJvb2wgU2VuZEhnZnNQYWNrZXQodWludDMyIHNlc3Npb25JZCwKK2Rp ZmYgLU5hdXIgb3Blbi12bS10b29scy0xMy4xLjAtMjUyMTg4ODUub2xkL3NlcnZpY2VzL3BsdWdp bnMvZG5kY3AvZG5kR3Vlc3RCYXNlL2d1ZXN0Q29weVBhc3RlLmhoIG9wZW4tdm0tdG9vbHMtMTMu MS4wLTI1MjE4ODg1L3NlcnZpY2VzL3BsdWdpbnMvZG5kY3AvZG5kR3Vlc3RCYXNlL2d1ZXN0Q29w eVBhc3RlLmhoCistLS0gb3Blbi12bS10b29scy0xMy4xLjAtMjUyMTg4ODUub2xkL3NlcnZpY2Vz L3BsdWdpbnMvZG5kY3AvZG5kR3Vlc3RCYXNlL2d1ZXN0Q29weVBhc3RlLmhoCTIwMjYtMDUtMjAg MDk6Mjk6MjIuNzk5NDU0NTA3ICswMjAwCisrKysgb3Blbi12bS10b29scy0xMy4xLjAtMjUyMTg4 ODUvc2VydmljZXMvcGx1Z2lucy9kbmRjcC9kbmRHdWVzdEJhc2UvZ3Vlc3RDb3B5UGFzdGUuaGgJ MjAyNi0wNS0yMCAwOTo0Mzo0NS4wNzYzNDk5NDkgKzAyMDAKK0BAIC00OCw5ICs0OCw5IEBACisg ICAgR3Vlc3RDb3B5UGFzdGVNZ3IoRG5EQ1BUcmFuc3BvcnQgKnRyYW5zcG9ydCk7CisgICAgfkd1 ZXN0Q29weVBhc3RlTWdyKHZvaWQpOworIAorLSAgIHNpZ2M6OnNpZ25hbDx2b2lkLCBjb25zdCBD UENsaXBib2FyZCo+IHNyY1JlY3ZDbGlwQ2hhbmdlZDsKKy0gICBzaWdjOjpzaWduYWw8dm9pZD4g ZGVzdFJlcXVlc3RDbGlwQ2hhbmdlZDsKKy0gICBzaWdjOjpzaWduYWw8dm9pZCwgYm9vbD4gZ2V0 RmlsZXNEb25lQ2hhbmdlZDsKKysgICBzaWdjOjpzaWduYWw8dm9pZChjb25zdCBDUENsaXBib2Fy ZCopPiBzcmNSZWN2Q2xpcENoYW5nZWQ7CisrICAgc2lnYzo6c2lnbmFsPHZvaWQoKT4gZGVzdFJl cXVlc3RDbGlwQ2hhbmdlZDsKKysgICBzaWdjOjpzaWduYWw8dm9pZChib29sKT4gZ2V0RmlsZXNE b25lQ2hhbmdlZDsKKyAKKyAgICBHVUVTVF9DUF9TVEFURSBHZXRTdGF0ZSh2b2lkKSB7IHJldHVy biBtQ1BTdGF0ZTsgfQorICAgIHZvaWQgU2V0U3RhdGUoR1VFU1RfQ1BfU1RBVEUgc3RhdGUpOwor ZGlmZiAtTmF1ciBvcGVuLXZtLXRvb2xzLTEzLjEuMC0yNTIxODg4NS5vbGQvc2VydmljZXMvcGx1 Z2lucy9kbmRjcC9kbmRHdWVzdEJhc2UvZ3Vlc3REbkQuaGggb3Blbi12bS10b29scy0xMy4xLjAt MjUyMTg4ODUvc2VydmljZXMvcGx1Z2lucy9kbmRjcC9kbmRHdWVzdEJhc2UvZ3Vlc3REbkQuaGgK Ky0tLSBvcGVuLXZtLXRvb2xzLTEzLjEuMC0yNTIxODg4NS5vbGQvc2VydmljZXMvcGx1Z2lucy9k bmRjcC9kbmRHdWVzdEJhc2UvZ3Vlc3REbkQuaGgJMjAyNi0wNS0yMCAwOToyOToyMi43OTk0NTQ1 MDcgKzAyMDAKKysrKyBvcGVuLXZtLXRvb2xzLTEzLjEuMC0yNTIxODg4NS9zZXJ2aWNlcy9wbHVn aW5zL2RuZGNwL2RuZEd1ZXN0QmFzZS9ndWVzdERuRC5oaAkyMDI2LTA1LTIwIDA5OjQzOjQ1LjA3 NjEwOTc4NiArMDIwMAorQEAgLTczLDE4ICs3MywxOCBAQAorICAgICAgICAgICAgICAgIFRvb2xz QXBwQ3R4ICpjdHgpOworICAgIHZpcnR1YWwgfkd1ZXN0RG5ETWdyKHZvaWQpOworIAorLSAgIHNp Z2M6OnNpZ25hbDx2b2lkLCBpbnQsIGludD4gbW92ZU1vdXNlQ2hhbmdlZDsKKy0gICBzaWdjOjpz aWduYWw8dm9pZCwgYm9vbCwgaW50LCBpbnQ+IHVwZGF0ZURldFduZENoYW5nZWQ7CistICAgc2ln Yzo6c2lnbmFsPHZvaWQsIEdVRVNUX0RORF9TVEFURT4gc3RhdGVDaGFuZ2VkOworKyAgIHNpZ2M6 OnNpZ25hbDx2b2lkKGludCwgaW50KT4gbW92ZU1vdXNlQ2hhbmdlZDsKKysgICBzaWdjOjpzaWdu YWw8dm9pZChib29sLCBpbnQsIGludCk+IHVwZGF0ZURldFduZENoYW5nZWQ7CisrICAgc2lnYzo6 c2lnbmFsPHZvaWQoR1VFU1RfRE5EX1NUQVRFKT4gc3RhdGVDaGFuZ2VkOworIAorLSAgIHNpZ2M6 OnNpZ25hbDx2b2lkLCBjb25zdCBDUENsaXBib2FyZCosIHN0ZDo6c3RyaW5nPiBzcmNEcmFnQmVn aW5DaGFuZ2VkOworLSAgIHNpZ2M6OnNpZ25hbDx2b2lkPiBzcmNEcm9wQ2hhbmdlZDsKKy0gICBz aWdjOjpzaWduYWw8dm9pZD4gc3JjQ2FuY2VsQ2hhbmdlZDsKKy0gICBzaWdjOjpzaWduYWw8dm9p ZCwgYm9vbD4gZ2V0RmlsZXNEb25lQ2hhbmdlZDsKKysgICBzaWdjOjpzaWduYWw8dm9pZChjb25z dCBDUENsaXBib2FyZCosIHN0ZDo6c3RyaW5nKT4gc3JjRHJhZ0JlZ2luQ2hhbmdlZDsKKysgICBz aWdjOjpzaWduYWw8dm9pZCgpPiBzcmNEcm9wQ2hhbmdlZDsKKysgICBzaWdjOjpzaWduYWw8dm9p ZCgpPiBzcmNDYW5jZWxDaGFuZ2VkOworKyAgIHNpZ2M6OnNpZ25hbDx2b2lkKGJvb2wpPiBnZXRG aWxlc0RvbmVDaGFuZ2VkOworIAorLSAgIHNpZ2M6OnNpZ25hbDx2b2lkPiBkZXN0Q2FuY2VsQ2hh bmdlZDsKKy0gICBzaWdjOjpzaWduYWw8dm9pZCwgaW50MzIsIGludDMyPiBwcml2RHJvcENoYW5n ZWQ7CistICAgc2lnYzo6c2lnbmFsPHZvaWQ+IGRlc3RNb3ZlRGV0V25kVG9Nb3VzZVBvc0NoYW5n ZWQ7CisrICAgc2lnYzo6c2lnbmFsPHZvaWQoKT4gZGVzdENhbmNlbENoYW5nZWQ7CisrICAgc2ln Yzo6c2lnbmFsPHZvaWQoaW50MzIsIGludDMyKT4gcHJpdkRyb3BDaGFuZ2VkOworKyAgIHNpZ2M6 OnNpZ25hbDx2b2lkKCk+IGRlc3RNb3ZlRGV0V25kVG9Nb3VzZVBvc0NoYW5nZWQ7CisgCisgICAg R3Vlc3REbkRTcmMgKkdldERuRFNyYyh2b2lkKSB7IHJldHVybiBtU3JjOyB9CisgICAgR3Vlc3RE bkREZXN0ICpHZXREbkREZXN0KHZvaWQpIHsgcmV0dXJuIG1EZXN0OyB9CitkaWZmIC1OYXVyIG9w ZW4tdm0tdG9vbHMtMTMuMS4wLTI1MjE4ODg1Lm9sZC9zZXJ2aWNlcy9wbHVnaW5zL2RuZGNwL3h1 dGlscy94dXRpbHMuY2Mgb3Blbi12bS10b29scy0xMy4xLjAtMjUyMTg4ODUvc2VydmljZXMvcGx1 Z2lucy9kbmRjcC94dXRpbHMveHV0aWxzLmNjCistLS0gb3Blbi12bS10b29scy0xMy4xLjAtMjUy MTg4ODUub2xkL3NlcnZpY2VzL3BsdWdpbnMvZG5kY3AveHV0aWxzL3h1dGlscy5jYwkyMDI2LTA1 LTIwIDA5OjI5OjIyLjgwMDcyNTI5MiArMDIwMAorKysrIG9wZW4tdm0tdG9vbHMtMTMuMS4wLTI1 MjE4ODg1L3NlcnZpY2VzL3BsdWdpbnMvZG5kY3AveHV0aWxzL3h1dGlscy5jYwkyMDI2LTA1LTIw IDA5OjQzOjQ1LjA3NjgzNTU2NCArMDIwMAorQEAgLTQyLDE0ICs0MiwxNCBAQAorIAorIAorIC8q IEFjdHVhbCBkZWZpbml0aW9ucyBvZiB0aGUgc2lnbmFscyBpbiB0aGlzIGNsYXNzLiAqLworLXNp Z2M6OnNpZ25hbDx2b2lkLCBHbGliOjpSZWZQdHI8R2RrOjpTY3JlZW4+ID4gY3VycmVudERlc2t0 b3BDaGFuZ2VkOworLXNpZ2M6OnNpZ25hbDx2b2lkLCBHbGliOjpSZWZQdHI8R2RrOjpTY3JlZW4+ ID4gZGVza3RvcExheW91dENoYW5nZWQ7Cistc2lnYzo6c2lnbmFsPHZvaWQsIEdsaWI6OlJlZlB0 cjxHZGs6OlNjcmVlbj4gPiBkZXNrdG9wR2VvbWV0cnlDaGFuZ2VkOworLXNpZ2M6OnNpZ25hbDx2 b2lkLCBHbGliOjpSZWZQdHI8R2RrOjpTY3JlZW4+ID4gZGVza3RvcFZpZXdwb3J0Q2hhbmdlZDsK Ky1zaWdjOjpzaWduYWw8dm9pZCwgR2xpYjo6UmVmUHRyPEdkazo6U2NyZWVuPiA+IHdpbmRvd1N0 YWNrQ2hhbmdlZDsKKy1zaWdjOjpzaWduYWw8dm9pZCwgR2xpYjo6UmVmUHRyPEdkazo6U2NyZWVu PiA+IHdpbmRvd01hbmFnZXJDaGFuZ2VkOworLXNpZ2M6OnNpZ25hbDx2b2lkLCBHbGliOjpSZWZQ dHI8R2RrOjpTY3JlZW4+ID4gYWN0aXZlV2luZG93Q2hhbmdlZDsKKy1zaWdjOjpzaWduYWw8dm9p ZCwgR2xpYjo6UmVmUHRyPEdkazo6U2NyZWVuPiA+IHdvcmtBcmVhQ2hhbmdlZDsKKytzaWdjOjpz aWduYWw8dm9pZChHbGliOjpSZWZQdHI8R2RrOjpTY3JlZW4+KT4gY3VycmVudERlc2t0b3BDaGFu Z2VkOworK3NpZ2M6OnNpZ25hbDx2b2lkKEdsaWI6OlJlZlB0cjxHZGs6OlNjcmVlbj4pPiBkZXNr dG9wTGF5b3V0Q2hhbmdlZDsKKytzaWdjOjpzaWduYWw8dm9pZChHbGliOjpSZWZQdHI8R2RrOjpT Y3JlZW4+KT4gZGVza3RvcEdlb21ldHJ5Q2hhbmdlZDsKKytzaWdjOjpzaWduYWw8dm9pZChHbGli OjpSZWZQdHI8R2RrOjpTY3JlZW4+KT4gZGVza3RvcFZpZXdwb3J0Q2hhbmdlZDsKKytzaWdjOjpz aWduYWw8dm9pZChHbGliOjpSZWZQdHI8R2RrOjpTY3JlZW4+KT4gd2luZG93U3RhY2tDaGFuZ2Vk OworK3NpZ2M6OnNpZ25hbDx2b2lkKEdsaWI6OlJlZlB0cjxHZGs6OlNjcmVlbj4pPiB3aW5kb3dN YW5hZ2VyQ2hhbmdlZDsKKytzaWdjOjpzaWduYWw8dm9pZChHbGliOjpSZWZQdHI8R2RrOjpTY3Jl ZW4+KT4gYWN0aXZlV2luZG93Q2hhbmdlZDsKKytzaWdjOjpzaWduYWw8dm9pZChHbGliOjpSZWZQ dHI8R2RrOjpTY3JlZW4+KT4gd29ya0FyZWFDaGFuZ2VkOworIAorIC8qIE5lY2Vzc2FyeSBmb3Ig Y2FsY3VsYXRpbmcgcGVyLW1vbml0b3IgX05FVF9XT1JLQVJFQSBpbiBHZXRNb25pdG9yV29ya0Fy ZWEoKSAqLworIHN0cnVjdCBORVRXTVN0cnV0UGFydGlhbCB7CitkaWZmIC1OYXVyIG9wZW4tdm0t dG9vbHMtMTMuMS4wLTI1MjE4ODg1Lm9sZC9zZXJ2aWNlcy9wbHVnaW5zL2RuZGNwL3h1dGlscy94 dXRpbHMuaGggb3Blbi12bS10b29scy0xMy4xLjAtMjUyMTg4ODUvc2VydmljZXMvcGx1Z2lucy9k bmRjcC94dXRpbHMveHV0aWxzLmhoCistLS0gb3Blbi12bS10b29scy0xMy4xLjAtMjUyMTg4ODUu b2xkL3NlcnZpY2VzL3BsdWdpbnMvZG5kY3AveHV0aWxzL3h1dGlscy5oaAkyMDI2LTA1LTIwIDA5 OjI5OjIyLjgwMDcyNTI5MiArMDIwMAorKysrIG9wZW4tdm0tdG9vbHMtMTMuMS4wLTI1MjE4ODg1 L3NlcnZpY2VzL3BsdWdpbnMvZG5kY3AveHV0aWxzL3h1dGlscy5oaAkyMDI2LTA1LTIwIDA5OjQz OjQ1LjA3NjQ5MjkzOCArMDIwMAorQEAgLTY1LDIyICs2NSwyMiBAQAorIAorIHVpbnQzMiBHZXRO dW1EZXNrdG9wcyhHbGliOjpSZWZQdHI8R2RrOjpTY3JlZW4+IHNjcmVlbik7CisgdWludDMyIEdl dEN1cnJlbnREZXNrdG9wKEdsaWI6OlJlZlB0cjxHZGs6OlNjcmVlbj4gc2NyZWVuKTsKKy1leHRl cm4gc2lnYzo6c2lnbmFsPHZvaWQsIEdsaWI6OlJlZlB0cjxHZGs6OlNjcmVlbj4gPiBjdXJyZW50 RGVza3RvcENoYW5nZWQ7CisrZXh0ZXJuIHNpZ2M6OnNpZ25hbDx2b2lkKEdsaWI6OlJlZlB0cjxH ZGs6OlNjcmVlbj4pPiBjdXJyZW50RGVza3RvcENoYW5nZWQ7CisgCisgYm9vbCBHZXREZXNrdG9w TGF5b3V0KEdsaWI6OlJlZlB0cjxHZGs6OlNjcmVlbj4gc2NyZWVuLAorICAgICAgICAgICAgICAg ICAgICAgICB1aW50MzImIHJvd3MsIHVpbnQzMiYgY29sdW1ucywgR3RrOjpDb3JuZXJUeXBlJiBj b3JuZXIsCisgICAgICAgICAgICAgICAgICAgICAgIEd0azo6T3JpZW50YXRpb24mIG9yaWVudGF0 aW9uKTsKKy1leHRlcm4gc2lnYzo6c2lnbmFsPHZvaWQsIEdsaWI6OlJlZlB0cjxHZGs6OlNjcmVl bj4gPiBkZXNrdG9wTGF5b3V0Q2hhbmdlZDsKKytleHRlcm4gc2lnYzo6c2lnbmFsPHZvaWQoR2xp Yjo6UmVmUHRyPEdkazo6U2NyZWVuPik+IGRlc2t0b3BMYXlvdXRDaGFuZ2VkOworIAorIGJvb2wg R2V0RGVza3RvcEdlb21ldHJ5KEdsaWI6OlJlZlB0cjxHZGs6OlNjcmVlbj4gc2NyZWVuLAorICAg ICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMiYgd2lkdGgsIHVpbnQzMiYgaGVpZ2h0KTsKKy1l eHRlcm4gc2lnYzo6c2lnbmFsPHZvaWQsIEdsaWI6OlJlZlB0cjxHZGs6OlNjcmVlbj4gPiBkZXNr dG9wR2VvbWV0cnlDaGFuZ2VkOworK2V4dGVybiBzaWdjOjpzaWduYWw8dm9pZChHbGliOjpSZWZQ dHI8R2RrOjpTY3JlZW4+KT4gZGVza3RvcEdlb21ldHJ5Q2hhbmdlZDsKKyAKKyBib29sIEdldERl c2t0b3BWaWV3cG9ydChHbGliOjpSZWZQdHI8R2RrOjpTY3JlZW4+IHNjcmVlbiwKKyAgICAgICAg ICAgICAgICAgICAgICAgICB1aW50MzIgZGVza3RvcEluZGV4LCBWTVBvaW50JiB2aWV3cG9ydCk7 CistZXh0ZXJuIHNpZ2M6OnNpZ25hbDx2b2lkLCBHbGliOjpSZWZQdHI8R2RrOjpTY3JlZW4+ID4g ZGVza3RvcFZpZXdwb3J0Q2hhbmdlZDsKKytleHRlcm4gc2lnYzo6c2lnbmFsPHZvaWQoR2xpYjo6 UmVmUHRyPEdkazo6U2NyZWVuPik+IGRlc2t0b3BWaWV3cG9ydENoYW5nZWQ7CisgCistZXh0ZXJu IHNpZ2M6OnNpZ25hbDx2b2lkLCBHbGliOjpSZWZQdHI8R2RrOjpTY3JlZW4+ID4gYWN0aXZlV2lu ZG93Q2hhbmdlZDsKKytleHRlcm4gc2lnYzo6c2lnbmFsPHZvaWQoR2xpYjo6UmVmUHRyPEdkazo6 U2NyZWVuPik+IGFjdGl2ZVdpbmRvd0NoYW5nZWQ7CisgCisgLyogV2luZG93IHN0YWNraW5nICov Cisgdm9pZCBSYWlzZVdpbmRvdyhHbGliOjpSZWZQdHI8R2RrOjpXaW5kb3c+IHdpbmRvdywKK0BA IC04OCw3ICs4OCw3IEBACisgICAgICAgICAgICAgICAgICAgICBHbGliOjpSZWZQdHI8R2RrOjpX aW5kb3c+KCksCisgICAgICAgICAgICAgICAgICBndWludDMyIHRpbWVzdGFtcCA9IDApOworIEhv c3RXaW5kb3dMaXN0IEdldEhvc3RXaW5kb3dTdGFjaygpOworLWV4dGVybiBzaWdjOjpzaWduYWw8 dm9pZCwgR2xpYjo6UmVmUHRyPEdkazo6U2NyZWVuPiA+IHdpbmRvd1N0YWNrQ2hhbmdlZDsKKytl eHRlcm4gc2lnYzo6c2lnbmFsPHZvaWQoR2xpYjo6UmVmUHRyPEdkazo6U2NyZWVuPik+IHdpbmRv d1N0YWNrQ2hhbmdlZDsKKyAKKyAKKyAvKiBNdWx0aS1oZWFkICovCitAQCAtOTYsNyArOTYsNyBA QAorICAgICAgICAgICAgICAgICAgICAgICAgIGludCBtb25pdG9yLCBHZGs6OlJlY3RhbmdsZSYg cmVjdCk7CisgCisgdXRmOjpzdHJpbmcgR2V0V2luZG93TWFuYWdlck5hbWUoR2xpYjo6UmVmUHRy PEdkazo6U2NyZWVuPiBzY3JlZW4pOworLWV4dGVybiBzaWdjOjpzaWduYWw8dm9pZCwgR2xpYjo6 UmVmUHRyPEdkazo6U2NyZWVuPiA+IHdpbmRvd01hbmFnZXJDaGFuZ2VkOworK2V4dGVybiBzaWdj OjpzaWduYWw8dm9pZChHbGliOjpSZWZQdHI8R2RrOjpTY3JlZW4+KT4gd2luZG93TWFuYWdlckNo YW5nZWQ7CisgCisgdm9pZCBTZXRGdWxsc2NyZWVuTW9uaXRvcnNIaW50KEdsaWI6OlJlZlB0cjxH ZGs6OldpbmRvdz4gd2luZG93LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGQ6 OnZlY3Rvcjxsb25nPiB0b3BvbG9neSk7CitAQCAtMTA5LDcgKzEwOSw3IEBACisgICAgICAgICAg ICAgICAgICAgICAgICAgaW50JiB4LCBpbnQmIHksIEdkazo6TW9kaWZpZXJUeXBlJiBtYXNrKTsK KyAKKyAKKy1leHRlcm4gc2lnYzo6c2lnbmFsPHZvaWQsIEdsaWI6OlJlZlB0cjxHZGs6OlNjcmVl bj4gPiB3b3JrQXJlYUNoYW5nZWQ7CisrZXh0ZXJuIHNpZ2M6OnNpZ25hbDx2b2lkKEdsaWI6OlJl ZlB0cjxHZGs6OlNjcmVlbj4pPiB3b3JrQXJlYUNoYW5nZWQ7CisgCisgYm9vbCBHZXRYV2luZG93 U2l6ZShjb25zdCBHbGliOjpSZWZQdHI8R2RrOjpXaW5kb3c+JiB3aW5kb3csIGludCYgd2lkdGgs CisgICAgICAgICAgICAgICAgICAgICBpbnQmIGhlaWdodCk7CgpkaWZmIC0tZ2l0IGEvb3Blbi12 bS10b29scy5zcGVjIGIvb3Blbi12bS10b29scy5zcGVjCmluZGV4IGZhYjQ0MjYuLjgxOGYxMGYg MTAwNjQ0Ci0tLSBhL29wZW4tdm0tdG9vbHMuc3BlYworKysgYi9vcGVuLXZtLXRvb2xzLnNwZWMK QEAgLTEsNDkgKzEsMTIgQEAKLSMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCi0jIyMgQ29weXJpZ2h0 IDIwMTMtMjAyMyBWTXdhcmUsIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0jIyMKLSMjIyBS UE0gU1BFQyBmaWxlIGZvciBidWlsZGluZyBvcGVuLXZtLXRvb2xzIHBhY2thZ2VzLgotIyMjCi0j IyMKLSMjIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1 dGUgaXQgYW5kL29yIG1vZGlmeQotIyMjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB2ZXJzaW9uIDIg b2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzCi0jIyMgcHVibGlzaGVkIGJ5IHRo ZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCi0jIyMKLSMjIyBUaGlzIHByb2dyYW0gaXMgZGlz dHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSMjIyBidXQgV0lU SE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgot IyMjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4g IFNlZSB0aGUKLSMjIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxz LgotIyMjCi0jIyMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdl bmVyYWwgUHVibGljIExpY2Vuc2UKLSMjIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90 LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQotIyMjIEZvdW5kYXRpb24sIEluYy4sIDUxIEZy YW5rbGluIFN0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAgMDIxMTAtMTMwMSAgVVNBCi0jIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIwotCi0lZ2xvYmFsIG1ham9ydmVyc2lvbiAgICAxMy4wCi0lZ2xv YmFsIG1pbm9ydmVyc2lvbiAgICAxMAotJWdsb2JhbCB0b29sc2J1aWxkICAgICAgMjUwNTYxNTEK LSVnbG9iYWwgdG9vbHN2ZXJzaW9uICAgICV7bWFqb3J2ZXJzaW9ufS4le21pbm9ydmVyc2lvbn0K KyVnbG9iYWwgdG9vbHNidWlsZCAgICAgIDI1MjE4ODg1CiAlZ2xvYmFsIHRvb2xzZGFlbW9uICAg ICB2bXRvb2xzZAogJWdsb2JhbCB2Z2F1dGhkYWVtb24gICAgdmdhdXRoZAogCi0jIGd0a21tMyBp cyByZW1vdmVkIGZyb20gUkhFTCAxMCwgYnVuZGxlIGl0IHVudGlsIHRoZSBwcm9qZWN0IGlzIHBv cnRlZAotIyBHVEsgNCwgc2VlIFJIRUwtMzU1MzcKLSVnbG9iYWwgYnVuZGxlX2d0a21tMyAgIDEK LQogTmFtZTogICAgICAgICAgICAgb3Blbi12bS10b29scwotVmVyc2lvbjogICAgICAgICAgJXt0 b29sc3ZlcnNpb259Ci1SZWxlYXNlOiAgICAgICAgICAxJXs/ZGlzdH0KK1ZlcnNpb246ICAgICAg ICAgIDEzLjEuMAorUmVsZWFzZTogICAgICAgICAgJWF1dG9yZWxlYXNlCiBTdW1tYXJ5OiAgICAg ICAgICBPcGVuIFZpcnR1YWwgTWFjaGluZSBUb29scyBmb3IgdmlydHVhbCBtYWNoaW5lcyBob3N0 ZWQgb24gVk13YXJlCi0laWYgMCV7P2J1bmRsZV9ndGttbTN9Ci0jIGF0a21tOiBMR1BMLTIuMS1v ci1sYXRlcgotIyBjYWlyb21tOiBMR1BMLTIuMC1vci1sYXRlcgotIyBnbGlibW0yLjQ6IExHUEwt Mi4xLW9yLWxhdGVyIEFORCBHUEwtMi4wLW9yLWxhdGVyCi0jIGd0a21tMy4wOiBMR1BMLTIuMS1v ci1sYXRlciBBTkQgR1BMLTIuMC1vci1sYXRlcgotIyBsaWJzaWdjKysyMDogTEdQTC0yLjEtb3It bGF0ZXIKLSMgcGFuZ29tbTogTEdQTC0yLjEtb3ItbGF0ZXIgQU5EIEdQTC0yLjAtb25seQotTGlj ZW5zZTogICAgICAgICAgR1BMLTIuMC1vbmx5IEFORCBXM0MgQU5EIExHUEwtMi4xLW9ubHkgQU5E IElDVSBBTkQgSVNDIEFORCBNSVQgQU5EIExHUEwtMi4xLW9yLWxhdGVyIEFORCBMR1BMLTIuMC1v ci1sYXRlciBBTkQgR1BMLTIuMC1vci1sYXRlcgotJWVsc2UKIExpY2Vuc2U6ICAgICAgICAgIEdQ TC0yLjAtb25seSBBTkQgVzNDIEFORCBMR1BMLTIuMS1vbmx5IEFORCBJQ1UgQU5EIElTQyBBTkQg TUlUCi0lZW5kaWYKIFVSTDogICAgICAgICAgICAgIGh0dHBzOi8vZ2l0aHViLmNvbS92bXdhcmUv JXtuYW1lfQogCiBTb3VyY2UwOiAgICAgICAgICBodHRwczovL2dpdGh1Yi5jb20vdm13YXJlLyV7 bmFtZX0vcmVsZWFzZXMvZG93bmxvYWQvc3RhYmxlLSV7dmVyc2lvbn0vJXtuYW1lfS0le3ZlcnNp b259LSV7dG9vbHNidWlsZH0udGFyLmd6CkBAIC01MywzMiArMTYsMTEgQEAgU291cmNlMzogICAg ICAgICAgcnVuLXZtYmxvY2tceDJkZnVzZS5tb3VudAogU291cmNlNDogICAgICAgICAgb3Blbi12 bS10b29scy5jb25mCiBTb3VyY2U1OiAgICAgICAgICB2bXRvb2xzZC5wYW0KIAotJWlmIDAlez9i dW5kbGVfZ3RrbW0zfQotJWdsb2JhbCBidW5kbGVkX2luc3RhbGxfcGF0aCAle19saWJkaXJ9LyV7 bmFtZX0KLQotJWdsb2JhbCBfX3Byb3ZpZGVzX2V4Y2x1ZGVfZnJvbSBeJXtidW5kbGVkX2luc3Rh bGxfcGF0aH0KLSVnbG9iYWwgX19yZXF1aXJlc19leGNsdWRlIF4obGliYXRrbW18bGliY2Fpcm9t bXxsaWJnZGttbXxsaWJnaW9tbXxsaWJnbGlibW18bGliZ3RrbW18bGlicGFuZ29tbXxsaWJzaWdj KS4qJAotCi0jIEdlbmVyYWxseSB1c2UgdGhlIGNvbnRlbnQgdGhhdCB3YXMgYWxyZWFkeSBwYXJ0 IG9mIFJIRUwgMTAgYXBhcnQgZnJvbSBsaWJzaWdjKysyMAotIyBhcyBpdCB3YXMgbW9kaWZpZWQg dG8gbm90IGJ1aWxkIGRvY3VtZW50YXRpb24gYmVjYXVzZSBvZiBkb2Nib29rNSwgc2VlIGkuZS4g UkhFTC00NTU2NQotIyBJbiBvcmRlciBvZiB1c2U6Ci1Tb3VyY2UxMDE6ICAgICAgICBsaWJzaWdj KysyMC0yLjEyLjEtNC5lbDkuc3JjLnJwbQotU291cmNlMTAyOiAgICAgICAgaHR0cHM6Ly9rb2pp aHViLnN0cmVhbS5jZW50b3Mub3JnL2tvamlmaWxlcy92b2wva29qaTAyL3BhY2thZ2VzL2dsaWJt bTIuNC8yLjY2LjYvNS5lbDEwL3NyYy9nbGlibW0yLjQtMi42Ni42LTUuZWwxMC5zcmMucnBtCi1T b3VyY2UxMDM6ICAgICAgICBodHRwczovL2tvamlodWIuc3RyZWFtLmNlbnRvcy5vcmcva29qaWZp bGVzL3ZvbC9rb2ppMDIvcGFja2FnZXMvYXRrbW0vMi4yOC40LzIuZWwxMC9zcmMvYXRrbW0tMi4y OC40LTIuZWwxMC5zcmMucnBtCi1Tb3VyY2UxMDQ6ICAgICAgICBodHRwczovL2tvamlodWIuc3Ry ZWFtLnJkdTIucmVkaGF0LmNvbS9rb2ppZmlsZXMvdm9sL2tvamkwMi9wYWNrYWdlcy9jYWlyb21t LzEuMTQuNS81LmVsMTAvc3JjL2NhaXJvbW0tMS4xNC41LTUuZWwxMC5zcmMucnBtCi1Tb3VyY2Ux MDU6ICAgICAgICBodHRwczovL2tvamlodWIuc3RyZWFtLnJkdTIucmVkaGF0LmNvbS9rb2ppZmls ZXMvdm9sL2tvamkwMi9wYWNrYWdlcy9wYW5nb21tLzIuNDYuNC8yLmVsMTAvc3JjL3BhbmdvbW0t Mi40Ni40LTIuZWwxMC5zcmMucnBtCi1Tb3VyY2UxMDY6ICAgICAgICBodHRwczovL2tvamlodWIu c3RyZWFtLnJkdTIucmVkaGF0LmNvbS9rb2ppZmlsZXMvdm9sL2tvamkwMi9wYWNrYWdlcy9ndGtt bTMuMC8zLjI0LjgvNi5lbDEwL3NyYy9ndGttbTMuMC0zLjI0LjgtNi5lbDEwLnNyYy5ycG0KLSVl bmRpZgorUGF0Y2gwOiAgICAgICAgICAgb3Blbi12bS10b29scy1nY2MxNi5wYXRjaAorUGF0Y2gx OiAgICAgICAgICAgb3Blbi12bS10b29scy1zaWdjKyszLnBhdGNoCitQYXRjaDI6ICAgICAgICAg ICBvcGVuLXZtLXRvb2xzLW9wZW5zc2w0LnBhdGNoCiAKLSVpZiAwJXs/cmhlbH0gPj0gNwotRXhj bHVzaXZlQXJjaDogICAgeDg2XzY0IGFhcmNoNjQKLSVlbHNlCiBFeGNsdXNpdmVBcmNoOiAgICAl e2l4ODZ9IHg4Nl82NCBhYXJjaDY0Ci0lZW5kaWYKLQotIyBQYXRjaGVzCi0jUGF0Y2gwOiAgICAg ICAgICAgPHBhdGNoLW5hbWUwPi5wYXRjaAotUGF0Y2gyOiAwMDAxLUZpeC1kaXNjYXJkZWQtcXVh bGlmaWVycy13YXJuaW5nLWVycm9yLnBhdGNoCiAKIEJ1aWxkUmVxdWlyZXM6ICAgIGF1dG9jb25m CiBCdWlsZFJlcXVpcmVzOiAgICBhdXRvbWFrZQpAQCAtODYsMTggKzI4LDcgQEAgQnVpbGRSZXF1 aXJlczogICAgbGlidG9vbAogQnVpbGRSZXF1aXJlczogICAgbWFrZQogQnVpbGRSZXF1aXJlczog ICAgZ2NjLWMrKwogQnVpbGRSZXF1aXJlczogICAgZG94eWdlbgotIyBGdXNlIGlzIG9wdGlvbmFs IGFuZCBlbmFibGVzIHZtYmxvY2stZnVzZQotIyBTd2l0Y2hpbmcgRmVkb3JhIHRvIHVzZSBmdXNl My4gICBSZWQgSGF0IHRvIHN3aXRjaCBvbiB0aGVpciBvd24gc2NoZWR1bGUuCi0laWYgMCV7P2Zl ZG9yYX0gfHwgMCV7P3JoZWx9ID4gOAotQnVpbGRSZXF1aXJlczogICAgZnVzZTMtZGV2ZWwKLSVl bHNlCi1CdWlsZFJlcXVpcmVzOiAgICBmdXNlLWRldmVsCi0lZW5kaWYKLUJ1aWxkUmVxdWlyZXM6 ICAgIGdsaWIyLWRldmVsID49IDIuMTQuMAotQnVpbGRSZXF1aXJlczogICAgbGliaWN1LWRldmVs Ci1CdWlsZFJlcXVpcmVzOiAgICBsaWJtc3BhY2stZGV2ZWwKLSMgVW5mb3J0dW5hdGVseSwgeG1s c2VjMS1vcGVuc3NsIGRvZXMgbm90IGFkZCBsaWJ0b29sLWx0ZGwgZGVwZW5kZW5jeSwgc28gd2UK LSMgbmVlZCB0byBhZGQgaXQgb3Vyc2VsdmVzLgorQnVpbGRSZXF1aXJlczogICAgZnVzZTMtZGV2 ZWwgPj0gMy4xMC4wCiBCdWlsZFJlcXVpcmVzOiAgICBsaWJ0b29sLWx0ZGwtZGV2ZWwKIEJ1aWxk UmVxdWlyZXM6ICAgIGxpYlgxMS1kZXZlbAogQnVpbGRSZXF1aXJlczogICAgbGliWGV4dC1kZXZl bApAQCAtMTA2LDU2ICszNywzNyBAQCBCdWlsZFJlcXVpcmVzOiAgICBsaWJYaW5lcmFtYS1kZXZl bAogQnVpbGRSZXF1aXJlczogICAgbGliWHJhbmRyLWRldmVsCiBCdWlsZFJlcXVpcmVzOiAgICBs aWJYcmVuZGVyLWRldmVsCiBCdWlsZFJlcXVpcmVzOiAgICBsaWJYdHN0LWRldmVsCi1CdWlsZFJl cXVpcmVzOiAgICBvcGVuc3NsLWRldmVsCiBCdWlsZFJlcXVpcmVzOiAgICBwYW0tZGV2ZWwKK0J1 aWxkUmVxdWlyZXM6ICAgIHBrZ2NvbmZpZyhnbGliLTIuMCkgPj0gMi4zNC4wCitCdWlsZFJlcXVp cmVzOiAgICBwa2djb25maWcoZ21vZHVsZS0yLjApID49IDIuMzQuMAorQnVpbGRSZXF1aXJlczog ICAgcGtnY29uZmlnKGdvYmplY3QtMi4wKSA+PSAyLjM0LjAKK0J1aWxkUmVxdWlyZXM6ICAgIHBr Z2NvbmZpZyhndGhyZWFkLTIuMCkgPj0gMi4zNC4wCitCdWlsZFJlcXVpcmVzOiAgICBwa2djb25m aWcoZ3RrNCkgPj0gNC4wLjAKK0J1aWxkUmVxdWlyZXM6ICAgIHBrZ2NvbmZpZyhndGttbS00LjAp ID49IDQuMC4wCitCdWlsZFJlcXVpcmVzOiAgICBwa2djb25maWcoaWN1LWkxOG4pCiBCdWlsZFJl cXVpcmVzOiAgICBwa2djb25maWcobGliZHJtKQorQnVpbGRSZXF1aXJlczogICAgcGtnY29uZmln KGxpYm1zcGFjaykgPj0gMC4wLjIwMDQwMzA4YWxwaGEKIEJ1aWxkUmVxdWlyZXM6ICAgIHBrZ2Nv bmZpZyhsaWJ1ZGV2KQorQnVpbGRSZXF1aXJlczogICAgcGtnY29uZmlnKGxpYnRpcnBjKQorQnVp bGRSZXF1aXJlczogICAgcGtnY29uZmlnKG9wZW5zc2wpCitCdWlsZFJlcXVpcmVzOiAgICBwa2dj b25maWcocHJvdG9idWYpID49IDMuMC4wCiBCdWlsZFJlcXVpcmVzOiAgICBwcm9jcHMtZGV2ZWwK LUJ1aWxkUmVxdWlyZXM6ICAgIHhtbHNlYzEtb3BlbnNzbC1kZXZlbAotCi0laWYgMCV7P2ZlZG9y YX0gfHwgMCV7P3JoZWx9ID49IDgKLUJ1aWxkUmVxdWlyZXM6ICAgIGd0azMtZGV2ZWwgPj0gMy4x MC4wCi0laWYgMCV7P2J1bmRsZV9ndGttbTN9Ci1CdWlsZFJlcXVpcmVzOiAgICBhdGstZGV2ZWwK LSMgRm9yIGNhaXJvbW0gdGVzdHMsIGNvdWxkIGJlIGRyb3BwZWQKLUJ1aWxkUmVxdWlyZXM6ICAg IGJvb3N0LWRldmVsCi1CdWlsZFJlcXVpcmVzOiAgICBsaWJ4c2x0Ci1CdWlsZFJlcXVpcmVzOiAg ICBtNAotQnVpbGRSZXF1aXJlczogICAgbWVzb24KLUJ1aWxkUmVxdWlyZXM6ICAgIG1tLWNvbW1v bgotQnVpbGRSZXF1aXJlczogICAgcGVybC1nZW5lcmF0b3JzCi1CdWlsZFJlcXVpcmVzOiAgICBw ZXJsLWludGVycHJldGVyCi1CdWlsZFJlcXVpcmVzOiAgICBwZXJsKEdldG9wdDo6TG9uZykKLSVl bHNlCi1CdWlsZFJlcXVpcmVzOiAgICBndGttbTMwLWRldmVsID49IDMuMTAuMAotJWVuZGlmCi1C dWlsZFJlcXVpcmVzOiAgICBsaWJ0aXJwYy1kZXZlbAogQnVpbGRSZXF1aXJlczogICAgcnBjZ2Vu CisjIFJlcXVpcmVkIG90aGVyd2lzZSB1ZGV2IHJ1bGVzIGFyZSBub3QgYnVpbHQ6CiBCdWlsZFJl cXVpcmVzOiAgICBzeXN0ZW1kLXVkZXYKLSVlbHNlCi1CdWlsZFJlcXVpcmVzOiAgICBndGsyLWRl dmVsID49IDIuNC4wCi1CdWlsZFJlcXVpcmVzOiAgICBndGttbTI0LWRldmVsCi1CdWlsZFJlcXVp cmVzOiAgICBzeXN0ZW1kCi0lZW5kaWYKK0J1aWxkUmVxdWlyZXM6ICAgIHhtbHNlYzEtb3BlbnNz bC1kZXZlbAogCiBSZXF1aXJlczogICAgICAgICBjb3JldXRpbHMKLSVpZiAwJXs/ZmVkb3JhfSB8 fCAwJXs/cmhlbH0gPiA4CiBSZXF1aXJlczogICAgICAgICBmdXNlMwotJWVsc2UKLVJlcXVpcmVz OiAgICAgICAgIGZ1c2UKLSVlbmRpZgotUmVxdWlyZXM6ICAgICAgICAgaXByb3V0ZQogUmVxdWly ZXM6ICAgICAgICAgZ3JlcAorUmVxdWlyZXM6ICAgICAgICAgaXByb3V0ZQogUmVxdWlyZXM6ICAg ICAgICAgcGNpdXRpbHMKIFJlcXVpcmVzOiAgICAgICAgIHNlZAotUmVxdWlyZXM6ICAgICAgICAg c3lzdGVtZAogUmVxdWlyZXM6ICAgICAgICAgdGFyCiBSZXF1aXJlczogICAgICAgICB1dGlsLWxp bnV4CiBSZXF1aXJlczogICAgICAgICB3aGljaAogIyB4bWxzZWMxLW9wZW5zc2wgbmVlZHMgdG8g YmUgYWRkZWQgZXhwbGljaXRseQogUmVxdWlyZXM6ICAgICAgICAgeG1sc2VjMS1vcGVuc3NsCi0j IERlcGxveVBrZyBwbHVnZ2luIHJlcXVpcmUgZGJ1cy11dWlkZ2VuCi1SZXF1aXJlczogICAgICAg ICBkYnVzLXRvb2xzCiAKICMgb3Blbi12bS10b29scyA+PSAxMC4wLjAgZG8gbm90IHJlcXVpcmUg b3Blbi12bS10b29scy1kZXBsb3lwa2cgcHJvdmlkZWQgYnkKICMgVk13YXJlLiBUaGF0IGZ1bmN0 aW9uYWxpdHkgaXMgbm93IGF2YWlsYWJsZSBhcyBwYXJ0IG9mIG9wZW4tdm0tdG9vbHMgcGFja2Fn ZQpAQCAtMTk1LDcgKzEwNyw2IEBAIHZpcnR1YWwgbWFjaGluZXMgYnkgdlJlYWxpemUgT3BlcmF0 aW9ucyBTZXJ2aWNlIERpc2NvdmVyeSBNYW5hZ2VtZW50IFBhY2suCiAKICVwYWNrYWdlICAgICAg ICAgIHNhbHQtbWluaW9uCiBTdW1tYXJ5OiAgICAgICAgICBTY3JpcHQgZmlsZSB0byBpbnN0YWxs L3VuaW5zdGFsbCBzYWx0LW1pbmlvbgotR3JvdXA6ICAgICAgICAgICAgU3lzdGVtIEVudmlyb25t ZW50L0xpYnJhcmllcwogUmVxdWlyZXM6ICAgICAgICAgJXtuYW1lfSV7P19pc2F9ID0gJXt2ZXJz aW9ufS0le3JlbGVhc2V9LCBzeXN0ZW1kLCBjdXJsLCBjb3JldXRpbHMsIGdhd2ssIGdyZXAKIEV4 Y2x1c2l2ZUFyY2g6ICAgIHg4Nl82NAogCkBAIC0yMjEsMTg4ICsxMzIsMjkgQEAgdXNlZnVsIGZv ciB2ZXJpZnlpbmcgdGhlIGZ1bmN0aW9uaW5nIG9mICV7bmFtZX0gaW4gVk13YXJlIHZpcnR1YWwK IG1hY2hpbmVzLgogCiAlcHJlcAotJWF1dG9zZXR1cCAtcDIgLW4gJXtuYW1lfS0le3ZlcnNpb259 LSV7dG9vbHNidWlsZH0KKyVhdXRvc2V0dXAgLXAxIC1uICV7bmFtZX0tJXt2ZXJzaW9ufS0le3Rv b2xzYnVpbGR9CiAKICVidWlsZAotJWlmIDAlez9idW5kbGVfZ3RrbW0zfQotZXhwb3J0IFBBVEg9 IiV7X2J1aWxkcm9vdGRpcn0vYmluOiRQQVRIIgotCi1mdW5jdGlvbiBpbnN0YWxsX3JwbXNfdG9f Y3VycmVudF9kaXIoKSB7Ci0gICAgUEFDS0FHRV9SUE09JChldmFsIGVjaG8gJDEpCi0gICAgUEFD S0FHRV9ESVI9JXtfcnBtZGlyfQotCi0gICAgZWNobyAiaW5zdGFsbF9ycG1zX3RvX2N1cnJlbnRf ZGlyKCkgZm9yICRQQUNLQUdFX0RJUi8kUEFDS0FHRV9SUE0iCi0gICAgaWYgWyAhIC1mICRQQUNL QUdFX0RJUi8kUEFDS0FHRV9SUE0gXTsgdGhlbgotICAgICAgICAjIEhhY2sgZm9yIHRwcyB0ZXN0 cwotICAgICAgICBBUkNIX1NUUj0le19hcmNofQotICAgICAgICAlaWZhcmNoICV7aXg4Nn0KLSAg ICAgICAgICAgIEFSQ0hfU1RSPSJpPzg2IgotICAgICAgICAlZW5kaWYKLSAgICAgICAgUEFDS0FH RV9ESVI9IiRQQUNLQUdFX0RJUi8kQVJDSF9TVFIiCi0gICAgIGZpCi0KLSAgICAgZm9yIHBhY2th Z2UgaW4gJChscyAkUEFDS0FHRV9ESVIvJFBBQ0tBR0VfUlBNKQotICAgICBkbwotICAgICAgICAg ZWNobyAiJHBhY2thZ2UiCi0gICAgICAgICBycG0yY3BpbyAiJHBhY2thZ2UiIHwgY3BpbyAtaXZk dQotICAgICBkb25lCi19Ci0KLXJwbWJ1aWxkX2J1bmRsZWQoKSB7Ci0gICAgcnBtYnVpbGQgLS1u b2RlcHMgXAotICAgICAgICAgICAgIC0tZGVmaW5lICdfcHJlZml4ICV7YnVuZGxlZF9pbnN0YWxs X3BhdGh9JyBcCi0gICAgICAgICAgICAgLS1kZWZpbmUgJ19fcGVybCAvdXNyL2Jpbi9wZXJsJyBc Ci0gICAgICAgICAgICAgJEAKLX0KLQotZXhwb3J0IExERkxBR1M9Ii1MJXtfYnVpbGRyb290ZGly fSV7YnVuZGxlZF9pbnN0YWxsX3BhdGh9LyV7X2xpYn0gJExERkxBR1MiCi1leHBvcnQgTERGTEFH Uz0iLVdsLC1ycGF0aCwle2J1bmRsZWRfaW5zdGFsbF9wYXRofS8le19saWJ9ICRMREZMQUdTIgot ZXhwb3J0IExERkxBR1M9Ii1XbCwtcnBhdGgtbGluaywle19idWlsZHJvb3RkaXJ9JXtidW5kbGVk X2luc3RhbGxfcGF0aH0vJXtfbGlifSAkTERGTEFHUyIKLWV4cG9ydCBQS0dfQ09ORklHX1BBVEg9 JXtfYnVpbGRyb290ZGlyfSV7YnVuZGxlZF9pbnN0YWxsX3BhdGh9LyV7X2xpYn0vcGtnY29uZmln Ci1leHBvcnQgUEFUSD0iJXtfYnVpbGRyb290ZGlyfSV7YnVuZGxlZF9pbnN0YWxsX3BhdGh9L2Jp bjokUEFUSCIKLQotIyBsaWJzaWdjKysyMAotcnBtIC1pdmggJXtTT1VSQ0UxMDF9Ci1ycG1idWls ZF9idW5kbGVkIC1iYSAle19zcGVjZGlyfS9saWJzaWdjKysyMC5zcGVjCi1wdXNoZCAle19idWls ZHJvb3RkaXJ9Ci1pbnN0YWxsX3JwbXNfdG9fY3VycmVudF9kaXIgbGlic2lnYysrMjAqLnJwbQot cG9wZAotCi1zZWQgLWkgJ3NAcHJlZml4PSV7YnVuZGxlZF9pbnN0YWxsX3BhdGh9QHByZWZpeD0l e19idWlsZHJvb3RkaXJ9JXtidW5kbGVkX2luc3RhbGxfcGF0aH1AZycgXAotICAle19idWlsZHJv b3RkaXJ9JXtidW5kbGVkX2luc3RhbGxfcGF0aH0vJXtfbGlifS9wa2djb25maWcvKi5wYwotCi0j IGdsaWJtbTIuNAotcnBtIC1pdmggJXtTT1VSQ0UxMDJ9Ci1ycG1idWlsZF9idW5kbGVkIC1iYSAl e19zcGVjZGlyfS9nbGlibW0yLjQuc3BlYwotcHVzaGQgJXtfYnVpbGRyb290ZGlyfQotaW5zdGFs bF9ycG1zX3RvX2N1cnJlbnRfZGlyIGdsaWJtbTIuNCoucnBtCi1wb3BkCi0KLXNlZCAtaSAnc0Bw cmVmaXg9JXtidW5kbGVkX2luc3RhbGxfcGF0aH1AcHJlZml4PSV7X2J1aWxkcm9vdGRpcn0le2J1 bmRsZWRfaW5zdGFsbF9wYXRofUBnJyBcCi0gICV7X2J1aWxkcm9vdGRpcn0le2J1bmRsZWRfaW5z dGFsbF9wYXRofS8le19saWJ9L3BrZ2NvbmZpZy8qLnBjCi0KLSMgYXRrbW0KLXJwbSAtaXZoICV7 U09VUkNFMTAzfQotcnBtYnVpbGRfYnVuZGxlZCAtYmEgJXtfc3BlY2Rpcn0vYXRrbW0uc3BlYwot cHVzaGQgJXtfYnVpbGRyb290ZGlyfQotaW5zdGFsbF9ycG1zX3RvX2N1cnJlbnRfZGlyIGF0a21t Ki5ycG0KLXBvcGQKLQotc2VkIC1pICdzQHByZWZpeD0le2J1bmRsZWRfaW5zdGFsbF9wYXRofUBw cmVmaXg9JXtfYnVpbGRyb290ZGlyfSV7YnVuZGxlZF9pbnN0YWxsX3BhdGh9QGcnIFwKLSAgJXtf YnVpbGRyb290ZGlyfSV7YnVuZGxlZF9pbnN0YWxsX3BhdGh9LyV7X2xpYn0vcGtnY29uZmlnLyou cGMKLQotIyBjYWlyb21tCi1ycG0gLWl2aCAle1NPVVJDRTEwNH0KLXJwbWJ1aWxkX2J1bmRsZWQg LS13aXRob3V0PWRvY19wZGYgLWJhICV7X3NwZWNkaXJ9L2NhaXJvbW0uc3BlYwotcHVzaGQgJXtf YnVpbGRyb290ZGlyfQotaW5zdGFsbF9ycG1zX3RvX2N1cnJlbnRfZGlyIGNhaXJvbW0qLnJwbQot cG9wZAotCi1zZWQgLWkgJ3NAcHJlZml4PSV7YnVuZGxlZF9pbnN0YWxsX3BhdGh9QHByZWZpeD0l e19idWlsZHJvb3RkaXJ9JXtidW5kbGVkX2luc3RhbGxfcGF0aH1AZycgXAotICAle19idWlsZHJv b3RkaXJ9JXtidW5kbGVkX2luc3RhbGxfcGF0aH0vJXtfbGlifS9wa2djb25maWcvKi5wYwotCi0j IHBhbmdvbW0KLXJwbSAtaXZoICV7U09VUkNFMTA1fQotcnBtYnVpbGRfYnVuZGxlZCAtYmEgJXtf c3BlY2Rpcn0vcGFuZ29tbS5zcGVjCi1wdXNoZCAle19idWlsZHJvb3RkaXJ9Ci1pbnN0YWxsX3Jw bXNfdG9fY3VycmVudF9kaXIgcGFuZ29tbSoucnBtCi1wb3BkCi0KLXNlZCAtaSAnc0BwcmVmaXg9 JXtidW5kbGVkX2luc3RhbGxfcGF0aH1AcHJlZml4PSV7X2J1aWxkcm9vdGRpcn0le2J1bmRsZWRf aW5zdGFsbF9wYXRofUBnJyBcCi0gICV7X2J1aWxkcm9vdGRpcn0le2J1bmRsZWRfaW5zdGFsbF9w YXRofS8le19saWJ9L3BrZ2NvbmZpZy8qLnBjCi0KLSMgZ3RrbW0zLjAKLXJwbSAtaXZoICV7U09V UkNFMTA2fQotcnBtYnVpbGRfYnVuZGxlZCAtYmEgJXtfc3BlY2Rpcn0vZ3RrbW0zLjAuc3BlYwot cHVzaGQgJXtfYnVpbGRyb290ZGlyfQotaW5zdGFsbF9ycG1zX3RvX2N1cnJlbnRfZGlyIGd0a21t Ki5ycG0KLXBvcGQKLQotc2VkIC1pICdzQHByZWZpeD0le2J1bmRsZWRfaW5zdGFsbF9wYXRofUBw cmVmaXg9JXtfYnVpbGRyb290ZGlyfSV7YnVuZGxlZF9pbnN0YWxsX3BhdGh9QGcnIFwKLSAgJXtf YnVpbGRyb290ZGlyfSV7YnVuZGxlZF9pbnN0YWxsX3BhdGh9LyV7X2xpYn0vcGtnY29uZmlnLyou cGMKLQotIyBSZW1vdmUgdGhlIGRvYyBzdWJwYWNrYWdlcyBhcyB3ZSBkb24ndCBuZWVkIHRoZW0K LWZpbmQgJXtfcnBtZGlyfSAtbmFtZSAiKmRvYyoucnBtIiAtZGVsZXRlCi0lZW5kaWYKLQogYXV0 b3JlY29uZiAtdmlmCiAKICVjb25maWd1cmUgXAotICAgIC0td2l0aG91dC1rZXJuZWwtbW9kdWxl cyBcCi0gICAgLS1lbmFibGUteG1sc2VjMSBcCisgICAgLS1kaXNhYmxlLXN0YXRpYyBcCiAgICAg LS1lbmFibGUtcmVzb2x1dGlvbmttcyBcCi0gICAgLS1lbmFibGUtc2VydmljZWRpc2NvdmVyeSBc CiAlaWZhcmNoIHg4Nl82NAogICAgIC0tZW5hYmxlLXNhbHQtbWluaW9uIFwKICVlbmRpZgotJWlm IDAlez9mZWRvcmF9IHx8IDAlez9yaGVsfSA+PSA4CisgICAgLS1lbmFibGUtc2VydmljZWRpc2Nv dmVyeSBcCisgICAgLS1lbmFibGUtdm13Z2Z4Y3RybCBcCisgICAgLS13aXRoLWZ1c2UgXAorICAg IC0td2l0aC1ndGs0IFwKICAgICAtLXdpdGgtdGlycGMgXAotICAgIC0td2l0aG91dC1ndGsyIFwK LSAgICAtLXdpdGhvdXQtZ3RrbW0gXAotJWlmIDAlez9idW5kbGVfZ3RrM21tfQotICAgIC0td2l0 aG91dC1ndGttbTMgXAotJWVuZGlmCi0lZWxzZQotICAgIC0td2l0aG91dC10aXJwYyBcCi0gICAg LS13aXRob3V0LWd0azMgXAotICAgIC0td2l0aG91dC1ndGttbTMgXAotJWVuZGlmCi0gICAgLS1k aXNhYmxlLXN0YXRpYworICAgIC0td2l0aC14bWxzZWMxIFwKKyAgICAtLXdpdGhvdXQta2VybmVs LW1vZHVsZXMKIAogc2VkIC1pIC1lICdzISAtc2hhcmVkICEgLVdsLC0tYXMtbmVlZGVkXDAhZycg bGlidG9vbAogJW1ha2VfYnVpbGQKIAogJWluc3RhbGwKLWV4cG9ydCBET05UX1NUUklQPTEKLQot JWlmIDAlez9idW5kbGVfZ3RrbW0zfQotc2V0IC1lCi1mdW5jdGlvbiBpbnN0YWxsX3JwbXNfdG9f Y3VycmVudF9kaXIoKSB7Ci0gICAgUEFDS0FHRV9SUE09JChldmFsIGVjaG8gJDEpCi0gICAgUEFD S0FHRV9ESVI9JXtfcnBtZGlyfQotCi0gICAgZWNobyAiaW5zdGFsbF9ycG1zX3RvX2N1cnJlbnRf ZGlyKCkgZm9yICRQQUNLQUdFX0RJUi8kUEFDS0FHRV9SUE0iCi0gICAgaWYgWyAhIC1mICRQQUNL QUdFX0RJUi8kUEFDS0FHRV9SUE0gXTsgdGhlbgotICAgICAgICAjIEhhY2sgZm9yIHRwcyB0ZXN0 cwotICAgICAgICBBUkNIX1NUUj0le19hcmNofQotICAgICAgICAlaWZhcmNoICV7aXg4Nn0KLSAg ICAgICAgICAgIEFSQ0hfU1RSPSJpPzg2IgotICAgICAgICAlZW5kaWYKLSAgICAgICAgUEFDS0FH RV9ESVI9IiRQQUNLQUdFX0RJUi8kQVJDSF9TVFIiCi0gICAgIGZpCi0KLSAgICAgZm9yIHBhY2th Z2UgaW4gJChscyAkUEFDS0FHRV9ESVIvJFBBQ0tBR0VfUlBNKQotICAgICBkbwotICAgICAgICAg ZWNobyAiJHBhY2thZ2UiCi0gICAgICAgICBycG0yY3BpbyAiJHBhY2thZ2UiIHwgY3BpbyAtaXZk dQotICAgICBkb25lCi19Ci0KLXB1c2hkICV7YnVpbGRyb290fQotIyBJbnN0YWxsIG9ubHkgd2hh dCB3ZSBuZWVkIGluIHJ1bnRpbWUKLWluc3RhbGxfcnBtc190b19jdXJyZW50X2RpciBhdGttbS0y LjI4LjQtKi5ycG0KLWluc3RhbGxfcnBtc190b19jdXJyZW50X2RpciBjYWlyb21tLTEuMTQuNS0q LnJwbQotaW5zdGFsbF9ycG1zX3RvX2N1cnJlbnRfZGlyIGdsaWJtbTIuNC0yLjY2Ki5ycG0KLWlu c3RhbGxfcnBtc190b19jdXJyZW50X2RpciBndGttbTMuMC0zLjI0LjgqLnJwbQotaW5zdGFsbF9y cG1zX3RvX2N1cnJlbnRfZGlyIGxpYnNpZ2MrKzIwLTIuMTIuMSoucnBtCi1pbnN0YWxsX3JwbXNf dG9fY3VycmVudF9kaXIgcGFuZ29tbS0yLjQ2LjQqLnJwbQotcG9wZAotCi0jIGNsZWFuIHRoZSBj cmVhdGVkIGJ1bmRsZWQgcnBtcyBpZiB0aGVyZSBhcmUgYW55Ci1ybSAtcmYgJXtfc3JjcnBtZGly fS9saWJzaWdjKysyMCouc3JjLnJwbQotZmluZCAle19ycG1kaXJ9IC1uYW1lICJsaWJzaWdjKysy MCoucnBtIiAtZGVsZXRlCi1ybSAtcmYgJXtfc3JjcnBtZGlyfS9nbGlibW0yLjQqLnNyYy5ycG0K LWZpbmQgJXtfcnBtZGlyfSAtbmFtZSAiZ2xpYm1tMi40Ki5ycG0iIC1kZWxldGUKLXJtIC1yZiAl e19zcmNycG1kaXJ9L2F0a21tKi5zcmMucnBtCi1maW5kICV7X3JwbWRpcn0gLW5hbWUgImF0a21t Ki5ycG0iIC1kZWxldGUKLXJtIC1yZiAle19zcmNycG1kaXJ9L2NhaXJvbW0qLnNyYy5ycG0KLWZp bmQgJXtfcnBtZGlyfSAtbmFtZSAiY2Fpcm9tbSoucnBtIiAtZGVsZXRlCi1ybSAtcmYgJXtfc3Jj cnBtZGlyfS9wYW5nb21tKi5zcmMucnBtCi1maW5kICV7X3JwbWRpcn0gLW5hbWUgInBhbmdvbW0q LnJwbSIgLWRlbGV0ZQotcm0gLXJmICV7X3NyY3JwbWRpcn0vZ3RrbW0qLnNyYy5ycG0KLWZpbmQg JXtfcnBtZGlyfSAtbmFtZSAiZ3RrbW0qLnJwbSIgLWRlbGV0ZQotJWVuZGlmCi0KICVtYWtlX2lu c3RhbGwKIAogIyBSZW1vdmUgZXhlYyBiaXQgZnJvbSBjb25maWcgZmlsZXMKQEAgLTQzNSw3ICsx ODcsNiBAQCBpbnN0YWxsIC1wIC1tIDY0NCAtRCAle1NPVVJDRTV9ICV7YnVpbGRyb290fSV7X3N5 c2NvbmZkaXJ9L3BhbS5kL3ZtdG9vbHNkCiAjIGZpbGUuIFdlIGNhbiBhZGQgJSVjaGVjayBzZWNp b24gb25jZSAnbWFrZSBjaGVjaycgaXMgZml4ZWQgdXBzdHJlYW0uCiAKICVwb3N0Ci0lP2xkY29u ZmlnCiAjIFNldHVwIG1vdW50IHBvaW50IGZvciBTaGFyZWQgRm9sZGVycwogIyBOT1RFOiBVc2Ug c3lzdGVtZC1kZXRlY3QtdmlydCB0byBkZXRlY3QgVk13YXJlIHBsYXRmb3JtIGJlY2F1c2UKICMg ICAgICAgdm13YXJlLWNoZWNrdm0gbWlnaHQgbWlzYmVoYXZlIG9uIG5vbi1WTXdhcmUgcGxhdGZv cm1zLgpAQCAtNDgxLDcgKzIzMiw2IEBAIGlmICV7X2JpbmRpcn0vc3lzdGVtY3RsIGlzLWFjdGl2 ZSAle3Rvb2xzZGFlbW9ufS5zZXJ2aWNlICY+IC9kZXYvbnVsbDsgdGhlbgogZmkKIAogJXByZXVu Ci0lP2xkY29uZmlnCiAlc3lzdGVtZF9wcmV1biAle3Rvb2xzZGFlbW9ufS5zZXJ2aWNlICV7dmdh dXRoZGFlbW9ufS5zZXJ2aWNlCiAKIGlmIFsgIiQxIiA9ICIwIiAtYSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIFwKQEAgLTUwNiw3ICsyNTYsNiBAQCBmaQogJXN5c3RlbWRf cHJldW4gcnVuLXZtYmxvY2tcXHgyZGZ1c2UubW91bnQKIAogJXBvc3R1bgotJT9sZGNvbmZpZwog JXN5c3RlbWRfcG9zdHVuX3dpdGhfcmVzdGFydCAle3Rvb2xzZGFlbW9ufS5zZXJ2aWNlICV7dmdh dXRoZGFlbW9ufS5zZXJ2aWNlCiAKICVwb3N0dW4gZGVza3RvcApAQCAtNTgzLDE5ICszMzIsNiBA QCBmaQogJXtfbGliZGlyfS8le25hbWV9L3BsdWdpbnMvdm11c3IvCiAle191bml0ZGlyfS9ydW4t dm1ibG9ja1x4MmRmdXNlLm1vdW50CiAKLSVpZiAwJXs/YnVuZGxlX2d0a21tM30KLSV7YnVuZGxl ZF9pbnN0YWxsX3BhdGh9L3NoYXJlL2RvYy8KLSV7YnVuZGxlZF9pbnN0YWxsX3BhdGh9L3NoYXJl L2xpY2Vuc2VzLwotJXtidW5kbGVkX2luc3RhbGxfcGF0aH0vJXtfbGlifS9saWJhdGttbSoKLSV7 YnVuZGxlZF9pbnN0YWxsX3BhdGh9LyV7X2xpYn0vbGliY2Fpcm9tbSoKLSV7YnVuZGxlZF9pbnN0 YWxsX3BhdGh9LyV7X2xpYn0vbGliZ2RrbW0qCi0le2J1bmRsZWRfaW5zdGFsbF9wYXRofS8le19s aWJ9L2xpYmdpb21tKgotJXtidW5kbGVkX2luc3RhbGxfcGF0aH0vJXtfbGlifS9saWJnbGlibW0q Ci0le2J1bmRsZWRfaW5zdGFsbF9wYXRofS8le19saWJ9L2xpYmd0a21tKgotJXtidW5kbGVkX2lu c3RhbGxfcGF0aH0vJXtfbGlifS9saWJwYW5nb21tKgotJXtidW5kbGVkX2luc3RhbGxfcGF0aH0v JXtfbGlifS9saWJzaWdjKgotJWVuZGlmCi0KICVmaWxlcyBzZG1wCiAle19saWJkaXJ9LyV7bmFt ZX0vcGx1Z2lucy92bXN2Yy9saWJzZXJ2aWNlRGlzY292ZXJ5LnNvCiAle19saWJkaXJ9LyV7bmFt ZX0vc2VydmljZURpc2NvdmVyeQpAQCAtNjIzLDI1MyArMzU5LDQgQEAgZmkKICV7X2JpbmRpcn0v dm13YXJlLXZnYXV0aC1zbW9rZXRlc3QKIAogJWNoYW5nZWxvZwotKiBNb24gRmViIDE2IDIwMjYg Qm8gWWFuZyA8Ym95YW5nQHJlZGhhdC5jb20+IC0gMTMuMC4xMC0xCi0tIFJlYmFzZSB0byAxMy4w LjEwIFtSSEVMLTE0NDU3N10KLS0gUmVzb2x2ZXM6IFJIRUwtMTQ0NTc3Ci0gIChbRVNYaV1bUkhF TDEwXSBvcGVuLXZtLXRvb2xzIHZlcnNpb24gMTMuMC4xMCBoYXMgYmVlbiByZWxlYXNlZCAtIHBs ZWFzZSByZWJhc2UpCi0KLSogTW9uIE5vdiAwMyAyMDI1IEJvIFlhbmcgPGJveWFuZ0ByZWRoYXQu Y29tPiAtIDEzLjAuNS0xCi0tIFJlYmFzZSB0byAxMy4wLjUgW1JIRUwtMTE4NTA0XQotLSBSZXNv bHZlczogUkhFTC0xMTg1MDQKLSAgKFtFU1hpXVtSSEVMMTBdIG9wZW4tdm0tdG9vbHMgdmVyc2lv biAxMy4wLjUgaGFzIGJlZW4gcmVsZWFzZWQgLSBwbGVhc2UgcmViYXNlKQotCi0qIE1vbiBPY3Qg MDYgMjAyNSBNaXJvc2xhdiBSZXphbmluYSA8bXJlemFuaW5AcmVkaGF0LmNvbT4gLSAxMy4wLjAt MgotLSBvdnQtSGFuZGxlLW5ldy1jbG91ZC1pbml0LWVycm9yLWNvZGUtYW5kLXN0YXR1cy5wYXRj aCBbUkhFTC05OTc4MV0KLS0gb3Z0LUFkZHJlc3MtQ1ZFLTIwMjUtNDEyNDQucGF0Y2ggW1JIRUwt MTE3MzgyXQotLSBSZXNvbHZlczogUkhFTC05OTc4MQotICAoQ2xvdWQtaW5pdCByZWNlaXZlcyBU RVJNIHNpZ25hbCBmcm9tIFBJRCAxIGluIHRoZSBtaWRkbGUgb2YgcnVubmluZyB1c2VyIGRhdGEg W3JoZWwtMTBdKQotLSBSZXNvbHZlczogUkhFTC0xMTczODIKLSAgKFtDSVNBIE1ham9yIEluY2lk ZW50XSBDVkUtMjAyNS00MTI0NCBvcGVuLXZtLXRvb2xzOiBMb2NhbCBwcml2aWxlZ2UgZXNjYWxh dGlvbiBpbiBvcGVuLXZtLXRvb2xzIFtyaGVsLTEwLjJdKQotCi0qIFRodSBKdWwgMjQgMjAyNSBC byBZYW5nIDxib3lhbmdAcmVkaGF0LmNvbT4gLSAxMy4wLjAtMQotLSBSZWJhc2UgdG8gMTMuMC4w IFtSSEVMLTk5MTU2XQotLSBSZXNvbHZlczogUkhFTC05OTE1NgotICAoW0VTWGldW1JIRUwxMF0g b3Blbi12bS10b29scyB2ZXJzaW9uIDEzLjAuMCBoYXMgYmVlbiByZWxlYXNlZCAtIHBsZWFzZSBy ZWJhc2UpCi0KLSogVHVlIERlYyAwMyAyMDI0IE1pcm9zbGF2IFJlemFuaW5hIDxtcmV6YW5pbkBy ZWRoYXQuY29tPiAtIDEyLjUuMC0xCi0tIFJlYmFzZSB0byAxMi41LjAgW1JIRUwtNjMwOTJdCi0t IFJlc29sdmVzOiBSSEVMLTYzMDkyCi0gIChbRVNYaV1bUkhFTDEwXSBvcGVuLXZtLXRvb2xzIHZl cnNpb24gMTIuNS4wIGhhcyBiZWVuIHJlbGVhc2VkIC0gcGxlYXNlIHJlYmFzZSkKLQotKiBUdWUg T2N0IDI5IDIwMjQgVHJveSBEYXdzb24gPHRkYXdzb25AcmVkaGF0LmNvbT4gLSAxMi40LjUtMgot LSBCdW1wIHJlbGVhc2UgZm9yIE9jdG9iZXIgMjAyNCBtYXNzIHJlYnVpbGQ6Ci0gIFJlc29sdmVz OiBSSEVMLTY0MDE4Ci0KLSogVGh1IFNlcCAxMiAyMDI0IE1pcm9zbGF2IFJlemFuaW5hIDxtcmV6 YW5pbkByZWRoYXQuY29tPiAtIDEyLjQuNS0xCi0tIFJlYmFzZSB0byAxMi40LjEgW1JIRUwtNDU1 NDldCi0tIFJlc29sdmVzOiBSSEVMLTQ1NTQ5Ci0gIChbRVNYaV1bUkhFTDEwXSBvcGVuLXZtLXRv b2xzIHZlcnNpb24gMTIuNC41IGhhcyBiZWVuIHJlbGVhc2VkIC0gcGxlYXNlIHJlYmFzZSkKLQot KiBUaHUgQXVnIDIyIDIwMjQgVG9tYXMgUG9wZWxhIDx0cG9wZWxhQHJlZGhhdC5jb20+IC0gMTIu NC4wLTUKLS0gQnVuZGxlIGd0a21tMy4wIHN0YWNrIG9uIFJIRUwgMTAgdG8gYWxsb3cgaXRzIHJl bW92YWwKLS0gVXBkYXRlIGxpY2Vuc2Ugc3RyaW5nIHRvIFNQRFggZm9ybWF0Ci0KLSogTW9uIEp1 biAyNCAyMDI0IFRyb3kgRGF3c29uIDx0ZGF3c29uQHJlZGhhdC5jb20+IC0gMTIuNC4wLTQKLS0g QnVtcCByZWxlYXNlIGZvciBKdW5lIDIwMjQgbWFzcyByZWJ1aWxkCi0KLSogV2VkIEp1biAxMiAy MDI0IE1pcm9zbGF2IFJlemFuaW5hIDxtcmV6YW5pbkByZWRoYXQuY29tPiAtIDEyLjQuMC0zCi0t IG92dC1Ecm9wLW5vdy11bm5lZWRlZC1nZGstcGl4YnVmLXhsaWItZGVwZW5kZW5jeS5wYXRjaCBb UkhFTC00MDczMl0KLS0gUmVzb2x2ZXM6IFJIRUwtNDA3MzIKLSAgKERyb3AgdW5uZWVkZWQgZ2Rr LXBpeGJ1Zi14bGliIGRlcGVuZGVuY3kpCi0KLSogTW9uIE1heSAyMCAyMDI0IE1pcm9zbGF2IFJl emFuaW5hIDxtcmV6YW5pbkByZWRoYXQuY29tPiAtIDEyLjQuMC0yCi0tIG92dC1SZXF1aXJlLWRi dXMtdG9vbHMucGF0Y2ggW1JIRUwtMzYyOTJdCi0tIFJlc29sdmVzOiBSSEVMLTM2MjkyCi0gIChb RVNYaV1bb3Blbi12bS10b29sc11UaGUgb3Blbi12bS10b29scyBzaG91bGQgZGVwZW5kIG9uIGRi dXMtdG9vbHMgW3JoZWwtMTBdKQotCi0qIEZyaSBBcHIgMTkgMjAyNCBNaXJvc2xhdiBSZXphbmlu YSA8bXJlemFuaW5AcmVkaGF0LmNvbT4gLSAxMi40LjAtMQotLSBSZWJhc2UgdG8gMTIuNC4wIFtS SEVMLTMwMzQ1XQotLSBSZXNvbHZlczogW1JIRUwtMzAzNDVdCi0gIChbRVNYaV1bUkhFTDEwXW9w ZW4tdm0tdG9vbHMgdmVyc2lvbiAxMi40LjAgaGFzIGJlZW4gcmVsZWFzZWQgLSBwbGVhc2UgcmVi YXNlKQotCi0qIFRodSBKYW4gMjUgMjAyNCBGZWRvcmEgUmVsZWFzZSBFbmdpbmVlcmluZyA8cmVs ZW5nQGZlZG9yYXByb2plY3Qub3JnPiAtIDEyLjMuNS0zCi0tIFJlYnVpbHQgZm9yIGh0dHBzOi8v ZmVkb3JhcHJvamVjdC5vcmcvd2lraS9GZWRvcmFfNDBfTWFzc19SZWJ1aWxkCi0KLSogU3VuIEph biAyMSAyMDI0IEZlZG9yYSBSZWxlYXNlIEVuZ2luZWVyaW5nIDxyZWxlbmdAZmVkb3JhcHJvamVj dC5vcmc+IC0gMTIuMy41LTIKLS0gUmVidWlsdCBmb3IgaHR0cHM6Ly9mZWRvcmFwcm9qZWN0Lm9y Zy93aWtpL0ZlZG9yYV80MF9NYXNzX1JlYnVpbGQKLQotKiBXZWQgTm92IDggMjAyMyBKb2huIFdv bGZlIDxqd29sZmVAdm13YXJlLmNvbT4gLSAxMi4zLjUtMQotLSBQYWNrYWdlIG5ldyB1cHN0cmVh bSB2ZXJzaW9uIG9mIG9wZW4tdm0tdG9vbHMtMTIuMy41LTIyNTQ0MDk5LgotICAuIGZpeCBmb3Ig Q1ZFLTIwMjMtMzQwNTggLSBhbm90aGVyIFNBTUwgdG9rZW4gc2lnbmF0dXJlIGJ5cGFzcyB2dWxu ZXJhYmlsaXR5LgotICAuIGZpeCBmb3IgQ1ZFLTIwMjMtMzQwNTkgLSBhIGZpbGUgZGVzY3JpcHRv ciBoaWphY2sgdnVsbmVyYWJpbGl0eSBpbiB0aGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgdm13YXJlLXVzZXItc3VpZC13cmFwcGVyLgotICAuIGFkZHJlc3MgaHR0cHM6Ly9naXRodWIu Y29tL3Ztd2FyZS9vcGVuLXZtLXRvb2xzL2lzc3Vlcy8zMTAKLS0gUmVtb3ZlIENWRS0yMDIzLTM0 MDU4LnBhdGNoIGFuZCBDVkUtMjAyMy0zNDA1OS5wYXRjaCBhcyBubyBsb25nZXIgbmVlZGVkLgot Ci0qIE1vbiBPY3QgMzAgMjAyMyBKb2huIFdvbGZlIDxqd29sZmVAdm13YXJlLmNvbT4gLSAxMi4z LjAtMwotLSBBZGRyZXNzIENWRS0yMDIzLTM0MDU4IC0gQlogMjI0Njk2MyAtIFNBTUwgdG9rZW4g c2lnbmF0dXJlIHRva2VuIGJ5cGFzcy4KLS0gQWRkcmVzcyBDVkUtMjAyMy0zNDA1OSAtIEJaIDIy NDY5NjIgLSB2bXdhcmUtdXNlci1zdWlkLXdyYXBwZXIKLSAgZmlsZSBkZXNjcmlwdG9yIGhpamFj ayB2dWxuZXJhYmlsaXR5Ci0qIFRodSBPY3QgMDUgMjAyMyBQZXRlciBSb2JpbnNvbiA8cGJyb2Jp bnNvbkBmZWRvcmFwcm9qZWN0Lm9yZz4gLSAxMi4zLjAtMgotLSBVc2UgZnVzZTMgb24gbmV3IFJI RUwKLQotKiBTYXQgU2VwIDkgMjAyMyBKb2huIFdvbGZlIDxqd29sZmVAdm13YXJlLmNvbT4gLSAx Mi4zLjAtMQotLSBQYWNrYWdlIG5ldyB1cHN0cmVhbSB2ZXJzaW9uIG9mIG9wZW4tdm0tdG9vbHMt MTIuMy4wLTIyMjM0ODcyLgotICAtIEZpeCBmb3IgQ1ZFLTIwMjMtMjA5MDAgLSBhIFNBTUwgdG9r ZW4gc2lnbmF0dXJlIGJ5cGFzcyB2dWxuZXJhYmlsaXR5LgotICAtIEZpeCBmb3IgQ1ZFLTIwMjMt MjA4NjcgLSBhbiBBdXRoZW50aWNhdGlvbiBCeXBhc3MgdnVsbmVyYWJpbGl0eS4KLSAgLSBMaW51 eCBxdWllc2NlZCBzbmFwc2hvdHMgaGF2ZSBiZWVuIHVwZGF0ZWQgdG8gYXZvaWQgaW50ZXJtaXR0 ZW50IGhhbmdzCi0gICAgb2YgdGhlIHZtdG9vbHNkIHByb2Nlc3MuCi0gICAgLSBGaWxlIHN5c3Rl bXMgcHJlZnJvemVuIGJ5IGN1c3RvbSBxdWllc2Npbmcgc2NyaXB0cyBtdXN0IGJlIGxpc3RlZCBv biB0aGUKLSAgICAgICJleGNsdWRlZEZpbGVTeXN0ZW1zIiBzZXR0aW5nIGluIHRoZSAidm1iYWNr dXAiIHNlY3Rpb24gb2YgdGhlIHRvb2xzLmNvbmYKLSAgICAgIGZpbGUuCi0gICAgLSBBIHRvb2xz LmNvbmYgY29uZmlndXJhdGlvbiBzZXR0aW5nIGlzIGF2YWlsYWJsZSB0byB0ZW1wb3JhaWx5IGRp cmVjdAotICAgICAgTGludXggcXVpZXNjZWQgc25hcGhvdHMgdG8gcmVzdG9yZSBwcmUgb3Blbi12 bS10b29scyAxMi4yLjAgYmVoYXZpb3IKLSAgICAgIG9mIGlnbm9yaW5nIGZpbGUgc3lzdGVtcyBh bHJlYWR5IGZyb3plbi4KLSAgLSBBIG51bWJlciBvZiBDb3Zlcml0eSByZXBvcnRlZCBpc3N1ZXMg aGF2ZSBiZWVuIGFkZHJlc3NlZC4KLSAgLSBBIG51bWJlciBvZiBHaXRIdWIgaXNzdWVzIGFuZCBw dWxsIHJlcXVlc3RzIGhhdmUgYmVlbiBoYW5kbGVkLgotCi0qIFRodSBKdWwgMjAgMjAyMyBGZWRv cmEgUmVsZWFzZSBFbmdpbmVlcmluZyA8cmVsZW5nQGZlZG9yYXByb2plY3Qub3JnPiAtIDEyLjEu NS00Ci0tIFJlYnVpbHQgZm9yIGh0dHBzOi8vZmVkb3JhcHJvamVjdC5vcmcvd2lraS9GZWRvcmFf MzlfTWFzc19SZWJ1aWxkCi0KLSogVGh1IEphbiAxOSAyMDIzIEZlZG9yYSBSZWxlYXNlIEVuZ2lu ZWVyaW5nIDxyZWxlbmdAZmVkb3JhcHJvamVjdC5vcmc+IC0gMTIuMS41LTMKLS0gUmVidWlsdCBm b3IgaHR0cHM6Ly9mZWRvcmFwcm9qZWN0Lm9yZy93aWtpL0ZlZG9yYV8zOF9NYXNzX1JlYnVpbGQK LQotKiBTdW4gSmFuIDEgMjAyMyBKb2huIFdvbGZlIDxqd29sZmVAdm13YXJlLmNvbT4gLSAxMi4x LjUtMgotLSBVcGRhdGUgdGhlIGNvcHlyaWdodCBkYXRlIGluIHRoZSBvcGVuLXZtLXRvb2xzLnNw ZWMgZmlsZS4KLQotKiBTdW4gSmFuIDEgMjAyMyBKb2huIFdvbGZlIDxqd29sZmVAdm13YXJlLmNv bT4gLSAxMi4xLjUtMQotLSBQYWNrYWdlIG5ldyB1cHN0cmVhbSB2ZXJzaW9uIG9mIG9wZW4tdm0t dG9vbHMtMTIuMS41LTIwNzM1MTE5LgotICAtIFRoZSBkZXBsb3lQa2cgcGx1Z2luIG1heSBwcmVt YXR1cmVseSByZWJvb3QgdGhlIGd1ZXN0IFZNIGJlZm9yZSBjbG91ZC1pbml0Ci0gICAgaGFzIGNv bXBsZXRlZCB1c2VyIGRhdGEgc2V0dXAKLSAgLSBBIFNJR1NFR1YgbWF5IGJlIGVuY291bnRlcmVk IHdoZW4gYSBub24tcXVpZXNjaW5nIHNuYXBzaG90IHRpbWVzIG91dC4KLSAgLSBBIG51bWJlciBv ZiBDb3Zlcml0eSByZXBvcnRlZCBpc3N1ZXMgaGF2ZSBiZWVuIGFkZHJlc3NlZC4KLQotKiBUaHUg U2VwIDggMjAyMiBKb2huIFdvbGZlIDxqd29sZmVAVk1XQVJFLkNPTT4gLSAxMi4xLjAtMQotLSBQ YWNrYWdlIG5ldyB1cHN0cmVhbSB2ZXJzaW9uIG9wZW4tdm0tdG9vbHMtMTIuMS4wLTIwMjE5NjY1 LgotICAuIGZpeCBmb3IgQ1ZFLTIwMjItMzE2NzYgLSBhIGxvY2FsIHByaXZpbGVnZSBlc2NhbGF0 aW9uIHZ1bG5lcmFiaWxpdHkuCi0gIC4gYWRkcmVzcyBhIG51bWJlciBvZiBDb3Zlcml0eSByZXBv cnRlZCBpc3N1ZXMuCi0tIFJlbW92ZSBwYXRjaCAxMjA1LVByb3Blcmx5LWNoZWNrLWF1dGhvcml6 YXRpb24tb24taW5jb21pbmctZ3Vlc3RPcHMtcmUucGF0Y2gKLSAgYXMgbm8gbG9uZ2VyIG5lZWRl ZC4KLQotKiBTdW4gU2VwIDQgMjAyMiBKb2huIFdvbGZlIDxqd29sZmVAdm13YXJlLmNvbT4gLSAx Mi4wLjUtMwotLSBBZGQgcGF0Y2ggMTIwNS1Qcm9wZXJseS1jaGVjay1hdXRob3JpemF0aW9uLW9u LWluY29taW5nLWd1ZXN0T3BzLXJlLnBhdGNoCi0gIHRvIGZpeCBDVkUtMjAyMi0zMTY3NiBpbiBv cGVuLXZtLXRvb2xzIDEyLjAuNSB0cmFja2VkIGluIFBSIDEyMDk3Ni4KLS0gQ29ycmVjdCBidWls ZCByZXF1aXJlbWVudHMgLSByZXBsYWNlIHN5c3RlbWQtcnBtLW1hY3JvcyB3aXRoIHN5c3RlbWRf dWRldi4KLQotKiBGcmkgSnVsIDIyIDIwMjIgRmVkb3JhIFJlbGVhc2UgRW5naW5lZXJpbmcgPHJl bGVuZ0BmZWRvcmFwcm9qZWN0Lm9yZz4gLSAxMi4wLjUtMgotLSBSZWJ1aWx0IGZvciBodHRwczov L2ZlZG9yYXByb2plY3Qub3JnL3dpa2kvRmVkb3JhXzM3X01hc3NfUmVidWlsZAotCi0qIE1vbiBN YXkgMzAgMjAyMiBKb2huIFdvbGZlIDxqd29sZmVAdm13YXJlLmNvbT4gLSAxMi4wLjUtMQotLSBQ YWNrYWdlIG5ldyB1cHN0cmVhbSB2ZXJzaW9uIG9wZW4tdm0tdG9vbHMtMTIuMC41LTE5NzE2NjE3 LgotIC0gTWFpbnRlbmFuY2UgcmVsZWFzZSBhZGRyZXNzaW5nIHNvbWUgcG90ZW50aWFsIEZUQkZT IGlzc3Vlcy4KLS0gUmVtb3ZlIGFzeW5jc29ja2V0LnBhdGNoIGFzIG5vIGxvbmdlciBuZWVkZWQu Ci0KLSogTW9uIE1heSA5IDIwMjIgSm9obiBXb2xmZSA8andvbGZlQHZtd2FyZS5jb20+IC0gMTIu MC4wLTEKLS0gUGFja2FnZSBuZXcgdXBzdHJlYW0gdmVyc2lvbiBvcGVuLXZtLXRvb2xzLTEyLjAu MC0xOTM0NTY1NS4KLS0gRW5hYmxlIGJ1aWxkIG9mIHRoZSBuZXcgc2FsdC1taW5pb24gcGx1Z2lu IHBhY2thZ2UuCi0tIERlZmVycmluZyBlbmFibGVtZW50IG9mIG5ldyBjb250YWluZXJJbmZvIHBs dWdpbiB1bnRpbCBhIGxhdGVyIHJldmlzaW9uLgotLSBCdWlsZCB3aXRoIGZ1c2UzIG9uIEZlZG9y YS4KLQotKiBUaHUgRmViIDI0IDIwMjIgSm9obiBXb2xmZSA8andvbGZlQHZtd2FyZS5jb20+IC0g MTEuMy41LTEKLS0gUGFja2FnZSBuZXcgdXBzdHJlYW0gdmVyc2lvbiBvcGVuLXZtLXRvb2xzLTEx LjMuNS0xODU1Nzc5NC4KLQotKiBXZWQgRmViIDkgMjAyMiBKb2huIFdvbGZlIDxqd29sZmVAdm13 YXJlLmNvbT4gLSAxMS4zLjAtNgotLSBSZWZhY3RvcmVkIGFzeW5jc29ja2V0LmMgcGF0Y2ggdG8g dXNlIHNpemVfdCBzaXplIGFuZCBpbmRleCB2YXJpYWJsZXMuCi0KLSogVHVlIEZlYiAxIDIwMjIg Sm9obiBXb2xmZSA8andvbGZlQHZtd2FyZS5jb20+IC0gMTEuMy4wLTUKLS0gQWRkcmVzcyAoZml4 KSBzdHJpbmdzIG9yIGFycmF5IGJvdW5kcyB3YXJuaW5ncyBmcm9tIEdDQyAxMi4wLnguCi0KLSog VGh1IEphbiAyMCAyMDIyIEZlZG9yYSBSZWxlYXNlIEVuZ2luZWVyaW5nIDxyZWxlbmdAZmVkb3Jh cHJvamVjdC5vcmc+IC0gMTEuMy4wLTQKLS0gUmVidWlsdCBmb3IgaHR0cHM6Ly9mZWRvcmFwcm9q ZWN0Lm9yZy93aWtpL0ZlZG9yYV8zNl9NYXNzX1JlYnVpbGQKLQotKiBUdWUgU2VwIDE0IDIwMjEg U2FoYW5hIFByYXNhZCA8c2FoYW5hQHJlZGhhdC5jb20+IC0gMTEuMy4wLTMKLS0gUmVidWlsdCB3 aXRoIE9wZW5TU0wgMy4wLjAKLQotKiBUaHUgSnVsIDIyIDIwMjEgRmVkb3JhIFJlbGVhc2UgRW5n aW5lZXJpbmcgPHJlbGVuZ0BmZWRvcmFwcm9qZWN0Lm9yZz4gLSAxMS4zLjAtMgotLSBSZWJ1aWx0 IGZvciBodHRwczovL2ZlZG9yYXByb2plY3Qub3JnL3dpa2kvRmVkb3JhXzM1X01hc3NfUmVidWls ZAotCi0qIFRodSBKdWwgMTUgMjAyMSBSYXZpbmRyYSBLdW1hciA8cmF2aW5kcmFrdW1hckB2bXdh cmUuY29tPiAtIDExLjMuMC0xCi0tIFBhY2thZ2UgbmV3IHVwc3RyZWFtIHZlcnNpb24gb3Blbi12 bS10b29scy0xMS4zLjAtMTgwOTA1NTguCi0tIEFkZCB2bXdhcmUtYWxpYXMtaW1wb3J0LCB2bXdn ZnhjdHJsLCBsaWJnZHAuc28sIGxpYmd1ZXN0U3RvcmUuc28KLSAgYW5kIGxpYmd1ZXN0U3RvcmVD bGllbnQuc28uKi4KLS0gUmVtb3ZlIG9wZW4tdm0tdG9vbHMtZml4LWttcy1hdXRvZGV0ZWN0aW9u LnBhdGNoLAotICBvcGVuLXZtLXRvb2xzLWdjYzExLnBhdGNoIGFuZCBvcGVuLXZtLXRvb2xzLWdk ay1nbGliLnBhdGNoCi0gIGFzIG5vIGxvbmdlciBuZWVkZWQuCi0KLSogVHVlIEp1biAwMSAyMDIx IFNpbW9uZSBDYXJvbm5pIDxuZWdhdGl2bzE3QGdtYWlsLmNvbT4gLSAxMS4yLjUtOQotLSBCYWNr cG9ydCBwYXRjaCBmb3IgS01TIGF1dG9kZXRlY3Rpb24uCi0KLSogVHVlIEp1biAwMSAyMDIxIFNp bW9uZSBDYXJvbm5pIDxuZWdhdGl2bzE3QGdtYWlsLmNvbT4gLSAxMS4yLjUtOAotLSBUcmltIGNo YW5nZWxvZy4KLS0gRml4IGxpYmRybS91ZGV2IGJ1aWxkIHJlcXVpcmVtZW50LgotCi0qIFR1ZSBK dW4gMDEgMjAyMSBTaW1vbmUgQ2Fyb25uaSA8bmVnYXRpdm8xN0BnbWFpbC5jb20+IC0gMTEuMi41 LTcKLS0gRml4IGJ1aWxkIG9uIENlbnRPUy9SSEVMIDcuCi0tIEFsbG93IGJ1aWxkaW5nIG9uIGFh cmNoNjQgZm9yIENlbnRPUy9SSEVMIDgrIGFuZCBGZWRvcmEuCi0tIENsZWFuIHVwIFNQRUMgZmls ZSAoY29uZGl0aW9uYWxzLCBidWlsZCByZXF1aXJlbWVudHMsIHNjcmlwdGxldHMsIGZvcm1hdHRp bmcpLgotCi0qIE1vbiBBcHIgMDUgMjAyMSBSYXZpbmRyYSBLdW1hciA8cmF2aW5kcmFrdW1hckB2 bXdhcmUuY29tPiAtIDExLjIuNS02Ci0tIEFkZGVkIG1pc3NpbmcgZXNjYXBlIGNoYXIgaW4gcnVu LXZtYmxvY2tcXHgyZGZ1c2UubW91bnQgc2VydmljZSBuYW1lLgotLSBFbmFibGVkIHJ1bi12bWJs b2NrXFx4MmRmdXNlLm1vdW50IHNlcnZpY2UgZHVyaW5nIHBvc3QtaW5zdGFsbC4KLS0gTW92ZWQg cnVuLXZtYmxvY2tceDJkZnVzZS5tb3VudCBzZXJ2aWNlIHVuaXQgdG8gZGVza3RvcCBwYWNrYWdl LgotCi0qIEZyaSBNYXIgMTkgMjAyMSBSYXZpbmRyYSBLdW1hciA8cmF2aW5kcmFrdW1hckB2bXdh cmUuY29tPiAtIDExLjIuNS01Ci0tIEFkZGVkIG9wZW4tdm0tdG9vbHMtZ2RrLWdsaWIucGF0Y2gg dG8gZml4IFJIQlojMTkzOTcxOC4KLQotKiBUdWUgTWFyIDE2IDIwMjEgTmVhbCBHb21wYSA8bmdv bXBhMTNAZ21haWwuY29tPiAtIDExLjIuNS00Ci0tIEFkZCBtaXNzaW5nIEJScwotLSBDbGVhbiB1 cCBjb25kaXRpb25hbHMgdG8gYnVpbGQgY29ycmVjdGx5IHdpdGggRUw4KwotLSBTaW1wbGlmeSBz eXN0ZW1kIHNjcmlwdGxldHMKLQotKiBUdWUgTWFyIDAyIDIwMjEgWmJpZ25pZXcgSsSZZHJ6ZWpl d3NraS1Tem1layA8emJ5c3pla0Bpbi53YXcucGw+IC0gMTEuMi41LTMKLS0gUmVidWlsdCBmb3Ig dXBkYXRlZCBzeXN0ZW1kLXJwbS1tYWNyb3MKLSAgU2VlIGh0dHBzOi8vcGFndXJlLmlvL2Zlc2Nv L2lzc3VlLzI1ODMuCi0KLSogVHVlIEphbiAyNiAyMDIxIEZlZG9yYSBSZWxlYXNlIEVuZ2luZWVy aW5nIDxyZWxlbmdAZmVkb3JhcHJvamVjdC5vcmc+IC0gMTEuMi41LTIKLS0gUmVidWlsdCBmb3Ig aHR0cHM6Ly9mZWRvcmFwcm9qZWN0Lm9yZy93aWtpL0ZlZG9yYV8zNF9NYXNzX1JlYnVpbGQKLQot KiBGcmkgSmFuIDE1IDIwMjEgUmF2aW5kcmEgS3VtYXIgPHJhdmluZHJha3VtYXJAdm13YXJlLmNv bT4gLSAxMS4yLjUtMQotLSBQYWNrYWdlIG5ldyB1cHN0cmVhbSB2ZXJzaW9uIG9wZW4tdm0tdG9v bHMtMTEuMi41LTE3MzM3Njc0LgotLSBsaWJkbmV0IGRlcGVuZGVuY3kgd2FzIHJlbW92ZWQgaW4g b3Blbi12bS10b29scyAxMS4wLjAuIFNvLAotICByZW1vdmVkIHRoZSBzdGFsZSBCdWlsZFJlcXVp cmVzIGZvciBsaWJkbmV0LgotCi0qIFRodSBKYW4gMTQgMjAyMSBSaWNoYXJkIFcuTS4gSm9uZXMg PHJqb25lc0ByZWRoYXQuY29tPiAtIDExLjIuMC0yCi0tIEJ1bXAgYW5kIHJlYnVpbGQgYWdhaW5z dCBsaWJkbmV0IDEuMTQgKFJIQlojMTkxNTgzOCkuCi0KLSogRnJpIE5vdiAwNiAyMDIwIFJhdmlu ZHJhIEt1bWFyIDxyYXZpbmRyYWt1bWFyQHZtd2FyZS5jb20+IC0gMTEuMi4wLTEKLS0gUGFja2Fn ZSBuZXcgdXBzdHJlYW0gdmVyc2lvbiBvcGVuLXZtLXRvb2xzLTExLjIuMC0xNjkzODExMy4KLQot KiBGcmkgT2N0IDMwIDIwMjAgSmVmZiBMYXcgPGxhd0ByZWRoYXQuY29tPiAtIDExLjEuNS0yCi0t IEZpeCBpbmNvcnJlY3Qgdm9sYXRpbGUgZXhwb3NlZCBieSBnY2MtMTEKLQotKiBUdWUgU2VwIDA4 IDIwMjAgUmF2aW5kcmEgS3VtYXIgPHJhdmluZHJha3VtYXJAdm13YXJlLmNvbT4gLSAxMS4xLjUt MQotLSBQYWNrYWdlIG5ldyB1cHN0cmVhbSB2ZXJzaW9uIG9wZW4tdm0tdG9vbHMtMTEuMS41LTE2 NzI0NDY0LgotLSBSZW1vdmVkIGdjYzEwLXdhcm5pbmcucGF0Y2ggYW5kIHNkbXAtZml4ZXMucGF0 Y2ggKG5vIGxvbmdlciBuZWVkZWQpLgotCi0qIFR1ZSBKdWwgMjggMjAyMCBGZWRvcmEgUmVsZWFz ZSBFbmdpbmVlcmluZyA8cmVsZW5nQGZlZG9yYXByb2plY3Qub3JnPiAtIDExLjEuMC00Ci0tIFJl YnVpbHQgZm9yIGh0dHBzOi8vZmVkb3JhcHJvamVjdC5vcmcvd2lraS9GZWRvcmFfMzNfTWFzc19S ZWJ1aWxkCi0KLSogVGh1IEp1bCAwOSAyMDIwIE1lcmxpbiBNYXRoZXNpdXMgPG1tYXRoZXNpQHJl ZGhhdC5jb20+IC0gMTEuMS4wLTMKLS0gQ29uZGl0aW9uYWwgZml4ZXMgdG8gYnVpbGQgZm9yIEVM TgotCi0qIFN1biBKdW4gMjEgMjAyMCBSYXZpbmRyYSBLdW1hciA8cmF2aW5kcmFrdW1hckB2bXdh cmUuY29tPiAtIDExLjEuMC0yCi0tIEFkZGVkIHNkbXAtZml4ZXMucGF0Y2ggZnJvbSB1cHN0cmVh bSB0byByZW1vdmUgbmV0LXRvb2xzIGRlcGVuZGVuY3kKLSAgYW5kIGNvdXBsZSBvZiBpbXBvcnRh bnQgZml4ZXMKLQotKiBNb24gTWF5IDI1IDIwMjAgUmF2aW5kcmEgS3VtYXIgPHJhdmluZHJha3Vt YXJAdm13YXJlLmNvbT4gLSAxMS4xLjAtMQotLSBQYWNrYWdlIG5ldyB1cHN0cmVhbSB2ZXJzaW9u IG9wZW4tdm0tdG9vbHMtMTEuMS4wLTE2MDM2NTQ2LgotLSBBZGRlZCBuZXcgb3Blbi12bS10b29s cy1zZG1wIHBhY2thZ2UuCi0tIFdvcmthcm91bmQgZm9yIHZtLXN1cHBvcnQgc2NyaXB0IHBhdGgg aXMgbm8gbG9uZ2VyIG5lZWRlZC4KLS0gQWRkZWQgbWlzc2luZyBkZXBlbmRlbmNpZXMgZm9yIHZt LXN1cHBvcnQgc2NyaXB0LgotLSBVcGRhdGVkIGdjYzEwLXdhcm5pbmcucGF0Y2guCi0tIFJlbW92 ZWQgZ2NjOS1zdGF0aWMtaW5saW5lLnBhdGNoIGFuZCBkaXNraW5mby1sb2ctc3Bldy5wYXRjaCB0 aGF0Ci0gIGFyZSBubyBsb25nZXIgbmVlZGVkLgotCi0qIFN1biBNYXkgMTcgMjAyMCBSYXZpbmRy YSBLdW1hciA8cmF2aW5kcmFrdW1hckB2bXdhcmUuY29tPiAtIDExLjAuNS00Ci0tIFVwZGF0ZWQg UEFNIGNvbmZpZ3VyYXRpb24gZmlsZSB0byBmb2xsb3cgY29uZmlndXJlZCBhdXRobiBzY2hlbWUu Ci0KLSogVHVlIE1hciAyNCAyMDIwIFJhdmluZHJhIEt1bWFyIDxyYXZpbmRyYWt1bWFyQHZtd2Fy ZS5jb20+IC0gMTEuMC41LTMKLS0gVXNlIC9zYmluL2xkY29uZmlnIG9uIG9sZGVyIHRoYW4gRmVk b3JhIDI4IGFuZCBSSEVMIDggcGxhdGZvcm1zLgotCi0qIEZyaSBGZWIgMDcgMjAyMCBSYXZpbmRy YSBLdW1hciA8cmF2aW5kcmFrdW1hckB2bXdhcmUuY29tPiAtIDExLjAuNS0yCi0tIEFkZGVkIHBh dGNoIGRpc2tpbmZvLWxvZy1zcGV3LnBhdGNoLgotCi0qIFR1ZSBGZWIgMDQgMjAyMCBSYXZpbmRy YSBLdW1hciA8cmF2aW5kcmFrdW1hckB2bXdhcmUuY29tPiAtIDExLjAuNS0xCi0tIFBhY2thZ2Ug bmV3IHVwc3RyZWFtIHZlcnNpb24gb3Blbi12bS10b29scy0xMS4wLjUtMTUzODk1OTIuCi0tIFJl bW92ZWQgdml4LW1lbWxlYWsucGF0Y2ggd2hpY2ggaXMgbm8gbG9uZ2VyIG5lZWRlZC4KLQotKiBU dWUgRmViIDA0IDIwMjAgUmF2aW5kcmEgS3VtYXIgPHJhdmluZHJha3VtYXJAdm13YXJlLmNvbT4g LSAxMS4wLjAtNgotLSBBZGRlZCBnY2MxMC13YXJuaW5nLnBhdGNoIGZvciBmaXhpbmcgY29tcGls YXRpb24gaXNzdWVzLgotCi0qIFdlZCBKYW4gMjkgMjAyMCBGZWRvcmEgUmVsZWFzZSBFbmdpbmVl cmluZyA8cmVsZW5nQGZlZG9yYXByb2plY3Qub3JnPiAtIDExLjAuMC01Ci0tIFJlYnVpbHQgZm9y IGh0dHBzOi8vZmVkb3JhcHJvamVjdC5vcmcvd2lraS9GZWRvcmFfMzJfTWFzc19SZWJ1aWxkCisl YXV0b2NoYW5nZWxvZwoKZGlmZiAtLWdpdCBhL3NvdXJjZXMgYi9zb3VyY2VzCmluZGV4IGVmNzI1 Y2YuLjAzODVjNmYgMTAwNjQ0Ci0tLSBhL3NvdXJjZXMKKysrIGIvc291cmNlcwpAQCAtMSw3ICsx IEBACi1TSEE1MTIgKG9wZW4tdm0tdG9vbHMtMTMuMC4xMC0yNTA1NjE1MS50YXIuZ3opID0gYzMz MmZkMmVmYjNiYzE2ZjJmYmI3N2I3YjBkMGY0YTViYjI1MWI1YjQ4MjgyNjBiYjZjYmQ5NjkwM2Ez OGQ0OTJmOTA3MjdkYWQ1NGVmOTVlNDQyY2YzZGNjMDQzMDMyZTU1ODFlNjRlM2FlZTRhZmI1NWI5 ZGI1NjhhMjkyNTkKLVNIQTUxMiAoYXRrbW0tMi4yOC40LTIuZWwxMC5zcmMucnBtKSA9IDU1OTUz YzMyMjFjMjI4NDMzZTcyMGIyODUxN2MxZDIzZmFiYTEwOTFlYjVkODFiZTY1MjJjMDk2YjdjZjQy ODI4ZWFlZmUxYzMzMGFhMmNhMGIwNTgxODhjZjRkZGQ4NTQ5NDYzZDU4MTc5NDlhNWEzMWVmZWFk NzIwOTdkMDRlCi1TSEE1MTIgKGNhaXJvbW0tMS4xNC41LTUuZWwxMC5zcmMucnBtKSA9IDJkMDM2 ZTgzYzYzZGQyOWExOTMzNTQyZGUyMjc0ZDc0YjRlNjMxMDBkOTBkZmQ1NTllYWJkZDAwMzMzYWM0 ZGQxY2EyNWQ4MTBmNTE4MGMxYzFhZmQ3MWNkOTg1Mzc2ZTc3MDBiZWFmZjRmMzg1MTMyMjAwYzc1 NjMzYmZjOTgwCi1TSEE1MTIgKGdsaWJtbTIuNC0yLjY2LjYtNS5lbDEwLnNyYy5ycG0pID0gNzhj ZDVkNTRmMWVmOWZhZjJiZTc1ZjIyNTUwYjVlYzYwYjU1ZjZjNDM0NWRmOTFkYjk1ODg5NzYyZjYw NmEwNjQ5OTA1MDc3OTM0NTI3Yjk4YmEzMjUyMTJiYjQ2MGExOWRlYWRlZjllZWExNWJiMGM1MDkx NWU1NjA2MjFkNGMKLVNIQTUxMiAoZ3RrbW0zLjAtMy4yNC44LTYuZWwxMC5zcmMucnBtKSA9IGUw ZTRjM2M1N2NmMzg0OTI4YzM5YjIyYWU4MTI3NmZmOWYyZjM0ZTdhYTY5MTRmN2Q5YTNjZTY1YjVl MTcwZDdkMmVkYWE2MTY3OGI4ZjJhYzJlNWIxNjA3MmQ3OTZhZjc0Y2E1MWFkNTYwYjZmYzUzOWM3 Nzk2ZjMxOGZhNmViCi1TSEE1MTIgKGxpYnNpZ2MrKzIwLTIuMTIuMS00LmVsOS5zcmMucnBtKSA9 IGNkYjE4MDBiMjQxMzc5NGU4MzYyMzg3MWIyY2EyY2FkZTBiNDQ0ZTBhOTBmNjk0OGUxZjNmNDQ5 Y2Q5MmUxMGJlYjNkZDc2NDcxMDIzZjk1ZTRmNzk1NjkzYjNkZWQwOWJjODNmNTUxYTU0ZGFiMDY1 ZmRlZTVkYmY2N2U5YTQwCi1TSEE1MTIgKHBhbmdvbW0tMi40Ni40LTIuZWwxMC5zcmMucnBtKSA9 IGFiOWE3MjNiNGE5MDUwNDEwMWQ1NDQzMzUzMzNkOWEyZWMzYzc1NTgxMDFjNzAwNWNjNjlhYTA1 YzExNWY0NjM5ZDdlNDExMGZiNWE4NTZmNDhlMzVlYTA2MmE1NDUwYWRkZGNhMDVmNjg2NjI2M2Zh OGYyMGI4Y2VjZDEyZTZlCitTSEE1MTIgKG9wZW4tdm0tdG9vbHMtMTMuMS4wLTI1MjE4ODg1LnRh ci5neikgPSAwNzA4NmUyNDAzYmM0YWI5NzI3ODIyY2NmYjcxNTJlNDc5ZjMyNmExZDMzYzUzM2Jk Y2ZiMzhiNWFkZThhYTJlZDNiYzI0NDEzMGFiNzk0YWQ1Yjk5ZDlhMGIzYzNjYWVjZjBmMzdlMmUx Njk1YmQ5NzIxM2YyMjM2NDkwYmJiNAoKZGlmZiAtLWdpdCBhL3ZnYXV0aGQuc2VydmljZSBiL3Zn YXV0aGQuc2VydmljZQppbmRleCA2Y2EzNTA4Li5kNWZlZjJjIDEwMDY0NAotLS0gYS92Z2F1dGhk LnNlcnZpY2UKKysrIGIvdmdhdXRoZC5zZXJ2aWNlCkBAIC0xLDYgKzEsNiBAQAogW1VuaXRdCiBE ZXNjcmlwdGlvbj1WR0F1dGggU2VydmljZSBmb3Igb3Blbi12bS10b29scwotRG9jdW1lbnRhdGlv bj1odHRwczovL2dpdGh1Yi5jb20vdm13YXJlL29wZW4tdm0tdG9vbHMKK0RvY3VtZW50YXRpb249 aHR0cDovL2dpdGh1Yi5jb20vdm13YXJlL29wZW4tdm0tdG9vbHMKIENvbmRpdGlvblZpcnR1YWxp emF0aW9uPXZtd2FyZQogUGFydE9mPXZtdG9vbHNkLnNlcnZpY2UKIAoKZGlmZiAtLWdpdCBhL3Zt dG9vbHNkLnNlcnZpY2UgYi92bXRvb2xzZC5zZXJ2aWNlCmluZGV4IDc0NTRmOTAuLjY3ODhmOTkg MTAwNjQ0Ci0tLSBhL3ZtdG9vbHNkLnNlcnZpY2UKKysrIGIvdm10b29sc2Quc2VydmljZQpAQCAt MSwxNiArMSwxNCBAQAogW1VuaXRdCiBEZXNjcmlwdGlvbj1TZXJ2aWNlIGZvciB2aXJ0dWFsIG1h Y2hpbmVzIGhvc3RlZCBvbiBWTXdhcmUKLURvY3VtZW50YXRpb249aHR0cHM6Ly9naXRodWIuY29t L3Ztd2FyZS9vcGVuLXZtLXRvb2xzCitEb2N1bWVudGF0aW9uPWh0dHA6Ly9naXRodWIuY29tL3Zt d2FyZS9vcGVuLXZtLXRvb2xzCiBDb25kaXRpb25WaXJ0dWFsaXphdGlvbj12bXdhcmUKIFJlcXVp cmVzPXZnYXV0aGQuc2VydmljZQogQWZ0ZXI9dmdhdXRoZC5zZXJ2aWNlCi1TdGFydExpbWl0SW50 ZXJ2YWxTZWM9MzAKLVN0YXJ0TGltaXRCdXJzdD0zCitCZWZvcmU9ZGlzcGxheS1tYW5hZ2VyLnNl cnZpY2UKIAogW1NlcnZpY2VdCiBFeGVjU3RhcnQ9L3Vzci9iaW4vdm10b29sc2QKIFRpbWVvdXRT dG9wU2VjPTUKLVJlc3RhcnQ9b24tZmFpbHVyZQogCiBbSW5zdGFsbF0KIFdhbnRlZEJ5PW11bHRp LXVzZXIudGFyZ2V0Cg==