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: Jakub Jelinek To: git-commits@fedoraproject.org Subject: [rpms/gcc] rhel-f41-base: 4.4.0-0.22 Date: Mon, 29 Jun 2026 12:24:10 GMT Message-ID: <178273585088.1.14991214954638344962.rpms-gcc-00052d5c3a61@fedoraproject.org> List-ID: X-Git-Repo: rpms/gcc X-Git-Branch: rhel-f41-base X-Git-Rev: 00052d5c3a61448b8b1a63510f42ad70d5e917cd QSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KClJlcG8gICA6IHJwbXMvZ2NjCkJyYW5jaCA6 IHJoZWwtZjQxLWJhc2UKQ29tbWl0IDogMDAwNTJkNWMzYTYxNDQ4YjhiMWE2MzUxMGY0MmFkNzBk NWU5MTdjZApBdXRob3IgOiBKYWt1YiBKZWxpbmVrIDxqYWt1YkBmZWRvcmFwcm9qZWN0Lm9yZz4K RGF0ZSAgIDogMjAwOS0wMy0wNFQxMzo1NTowOCswMDowMApTdGF0cyAgOiArMzA4MS8tMTY2IGlu IDcgZmlsZShzKQpVUkwgICAgOiBodHRwczovL3NyYy5mZWRvcmFwcm9qZWN0Lm9yZy9ycG1zL2dj Yy9jLzAwMDUyZDVjM2E2MTQ0OGI4YjFhNjM1MTBmNDJhZDcwZDVlOTE3Y2Q/YnJhbmNoPXJoZWwt ZjQxLWJhc2UKCkxvZzoKNC40LjAtMC4yMgoKLS0tCmRpZmYgLS1naXQgYS8uY3ZzaWdub3JlIGIv LmN2c2lnbm9yZQppbmRleCA3MmE4OTAwLi43NjU5MTk1IDEwMDY0NAotLS0gYS8uY3ZzaWdub3Jl CisrKyBiLy5jdnNpZ25vcmUKQEAgLTEsMyArMSwzIEBACiBmYXN0amFyLTAuOTcudGFyLmd6Ci1n Y2MtNC40LjAtMjAwOTAyMTkudGFyLmJ6MgorZ2NjLTQuNC4wLTIwMDkwMzA0LnRhci5iejIKIGNs b29nLXBwbC0wLjE1LnRhci5negoKZGlmZiAtLWdpdCBhL2djYy5zcGVjIGIvZ2NjLnNwZWMKaW5k ZXggMTM4NDZlNi4uZjIzZjY1OCAxMDA2NDQKLS0tIGEvZ2NjLnNwZWMKKysrIGIvZ2NjLnNwZWMK QEAgLTEsOSArMSw5IEBACi0lZGVmaW5lIERBVEUgMjAwOTAyMTkKLSVkZWZpbmUgU1ZOUkVWIDE0 NDMwMAorJWRlZmluZSBEQVRFIDIwMDkwMzA0CislZGVmaW5lIFNWTlJFViAxNDQ2MDEKICVkZWZp bmUgZ2NjX3ZlcnNpb24gNC40LjAKICMgTm90ZSwgZ2NjX3JlbGVhc2UgbXVzdCBiZSBpbnRlZ2Vy LCBpZiB5b3Ugd2FudCB0byBhZGQgc3VmZml4ZXMgdG8KICMgJXtyZWxlYXNlfSwgYXBwZW5kIHRo ZW0gYWZ0ZXIgJXtnY2NfcmVsZWFzZX0gb24gUmVsZWFzZTogbGluZS4KLSVkZWZpbmUgZ2NjX3Jl bGVhc2UgMC4yMQorJWRlZmluZSBnY2NfcmVsZWFzZSAwLjIyCiAlZGVmaW5lIF91bnBhY2thZ2Vk X2ZpbGVzX3Rlcm1pbmF0ZV9idWlsZCAwCiAlZGVmaW5lIG11bHRpbGliXzY0X2FyY2hzIHNwYXJj NjQgcHBjNjQgczM5MHggeDg2XzY0CiAlZGVmaW5lIGluY2x1ZGVfZ2FwcGxldHZpZXdlciAxCkBA IC0zNSw3ICszNSw3IEBACiBTdW1tYXJ5OiBWYXJpb3VzIGNvbXBpbGVycyAoQywgQysrLCBPYmpl Y3RpdmUtQywgSmF2YSwgLi4uKQogTmFtZTogZ2NjCiBWZXJzaW9uOiAle2djY192ZXJzaW9ufQot UmVsZWFzZTogJXtnY2NfcmVsZWFzZX0uMQorUmVsZWFzZTogJXtnY2NfcmVsZWFzZX0KICMgbGli Z2NjLCBsaWJnZm9ydHJhbiwgbGlibXVkZmxhcCBhbmQgY3J0c3R1ZmYgaGF2ZSBhbiBleGNlcHRp b24gd2hpY2ggYWxsb3dzCiAjIGxpbmtpbmcgaXQgaW50byBhbnkga2luZCBvZiBwcm9ncmFtcyBv ciBzaGFyZWQgbGlicmFyaWVzIHdpdGhvdXQKICMgcmVzdHJpY3Rpb25zLgpAQCAtMTQ0LDcgKzE0 NCw5IEBAIFBhdGNoMjA6IGdjYzQ0LWxpYnRvb2wtbm8tcnBhdGgucGF0Y2gKIFBhdGNoMjE6IGdj YzQ0LWNsb29nLWRsLnBhdGNoCiBQYXRjaDIyOiBnY2M0NC1yYXctc3RyaW5nLnBhdGNoCiBQYXRj aDIzOiBnY2M0NC1wcjM5MTc1LnBhdGNoCi1QYXRjaDI0OiBnY2M0NC1wcjM5MjQwLnBhdGNoCitQ YXRjaDI0OiBnY2M0NC1hdG9tLnBhdGNoCitQYXRjaDI1OiBnY2M0NC1wcjM5MjI2LnBhdGNoCitQ YXRjaDI2OiBnY2M0NC1wcjM5MzU4LnBhdGNoCiAKIFBhdGNoMTAwMDogZmFzdGphci0wLjk3LXNl Z2ZhdWx0LnBhdGNoCiAKQEAgLTQzMiw3ICs0MzQsOSBAQCB3aGljaCBhcmUgcmVxdWlyZWQgdG8g Y29tcGlsZSB3aXRoIHRoZSBHTkFULgogJWVuZGlmCiAlcGF0Y2gyMiAtcDAgLWIgLnJhdy1zdHJp bmd+CiAlcGF0Y2gyMyAtcDAgLWIgLnByMzkxNzV+Ci0lcGF0Y2gyNCAtcDAgLWIgLnByMzkyNDB+ CislcGF0Y2gyNCAtcDAgLWIgLmF0b21+CislcGF0Y2gyNSAtcDAgLWIgLnByMzkyMjZ+CislcGF0 Y2gyNiAtcDAgLWIgLnByMzkzNTh+CiAKICMgVGhpcyB0ZXN0Y2FzZSBkb2Vzbid0IGNvbXBpbGUu CiBybSBsaWJqYXZhL3Rlc3RzdWl0ZS9saWJqYXZhLmxhbmcvUFIzNTAyMCoKQEAgLTE3NjcsOCAr MTc3MSwyNyBAQCBmaQogJWRvYyBycG0uZG9jL2NoYW5nZWxvZ3MvbGlibXVkZmxhcC9DaGFuZ2VM b2cqCiAKICVjaGFuZ2Vsb2cKLSogVHVlIEZlYiAyNCAyMDA5IEZlZG9yYSBSZWxlYXNlIEVuZ2lu ZWVyaW5nIDxyZWwtZW5nQGxpc3RzLmZlZG9yYXByb2plY3Qub3JnPiAtIDQuNC4wLTAuMjEuMQot LSBSZWJ1aWx0IGZvciBodHRwczovL2ZlZG9yYXByb2plY3Qub3JnL3dpa2kvRmVkb3JhXzExX01h c3NfUmVidWlsZAorKiBXZWQgTWFyICA0IDIwMDkgSmFrdWIgSmVsaW5layA8amFrdWJAcmVkaGF0 LmNvbT4gNC40LjAtMC4yMgorLSB1cGRhdGUgZnJvbSB0cnVuaworICAtIFBScyBhZGEvMzkxNzIs IGFkYS8zOTI2NCwgYm9vdHN0cmFwLzM5MjU3LCBjKysvMzY0MTEsIGMrKy8zNzc4OSwKKwljKysv Mzg4ODAsIGMrKy8zOTIyNSwgYysrLzM5MjQyLCBjLzEyMjQ1LCBjbGFzc3BhdGgvMzg0MTcsCisJ Y2xhc3NwYXRoLzM4OTEyLCBkZWJ1Zy8zOTI2NywgZGVidWcvMzkyODUsIGZvcnRyYW4vMzg5MTQs CisJZm9ydHJhbi8zOTI5MiwgZm9ydHJhbi8zOTI5NSwgZm9ydHJhbi8zOTMwOSwgZm9ydHJhbi8z OTM1NCwKKwlsaWJnY2ovMzg4NjEsIG1pZGRsZS1lbmQvMTAxMDksIG1pZGRsZS1lbmQvMzQ0NDMs CisJbWlkZGxlLWVuZC8zOTE1NywgbWlkZGxlLWVuZC8zOTI3MiwgbWlkZGxlLWVuZC8zOTMwOCwK KwltaWRkbGUtZW5kLzM5MzM1LCBtaWRkbGUtZW5kLzM5MzQ1LCBydGwtb3B0aW1pemF0aW9uLzM5 MjQxLAorCXRhcmdldC8zMzc4NSwgdGFyZ2V0LzM1OTY1LCB0YXJnZXQvMzkyNTYsIHRhcmdldC8z OTI2MSwKKwl0YXJnZXQvMzkzMjcsIHRlc3RzdWl0ZS8zODE2NCwgdHJlZS1vcHRpbWl6YXRpb24v Mzc3MDksCisJdHJlZS1vcHRpbWl6YXRpb24vMzkyNDgsIHRyZWUtb3B0aW1pemF0aW9uLzM5MjU5 LAorCXRyZWUtb3B0aW1pemF0aW9uLzM5MjYwLCB0cmVlLW9wdGltaXphdGlvbi8zOTMxOCwKKwl0 cmVlLW9wdGltaXphdGlvbi8zOTMzMSwgdHJlZS1vcHRpbWl6YXRpb25zLzM5MjU5LAorCXRyZWUt b3B0aW1pemF0aW9uLzM5MzU4CisgIC0gZml4IGl2b3B0cyAoIzQ4NjA4OCwgUFIgdHJlZS1vcHRp bWl6YXRpb24vMzkyMzMpCisgIC0gZml4IFNSQSAoIzQ4Nzc5NSwgUFIgdHJlZS1vcHRpbWl6YXRp b24vMzkzMzkpCisgIC0gZml4IF9fYnVpbHRpbl9vYmplY3Rfc2l6ZSB3aXRoIHVuaW9ucyAoIzQ4 NzcwMiwKKyAgICBQUiB0cmVlLW9wdGltaXphdGlvbi8zOTM0MykKKy0gZml4IHBwYyAtbTY0IC1P MiAtbXR1bmU9Y2VsbCBhbmQgcGF0dGVybnMgKCM0ODUwNjcsIFBSIHRhcmdldC8zOTIyNikKKy0g LW1hcmNoPWF0b20vLW10dW5lPWF0b20gc3VwcG9ydCBmcm9tIGl4ODYvYXRvbSBicmFuY2gKIAog KiBUaHUgRmViIDE5IDIwMDkgSmFrdWIgSmVsaW5layA8amFrdWJAcmVkaGF0LmNvbT4gNC40LjAt MC4yMQogLSB1cGRhdGUgZnJvbSB0cnVuawoKZGlmZiAtLWdpdCBhL2djYzQ0LWF0b20ucGF0Y2gg Yi9nY2M0NC1hdG9tLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmUx MjJlNDYKLS0tIC9kZXYvbnVsbAorKysgYi9nY2M0NC1hdG9tLnBhdGNoCkBAIC0wLDAgKzEsMjgz MiBAQAorMjAwOS0wMi0wNSAgSm9leSBZZSAgPGpvZXkueWVAaW50ZWwuY29tPgorCSAgICBYdWVw ZW5nIEd1byA8eHVlcGVuZy5ndW9AaW50ZWwuY29tPgorCSAgICBILkouIEx1ICA8aG9uZ2ppdS5s dUBpbnRlbC5jb20+CisKKwlBdG9tIHBpcGVsaW5lIG1vZGVsLCB0dW5pbmcgYW5kIGluc24gc2Vs ZWN0aW9uLgorCSogcnRsYW5hbC5jIChyZWdfbWVudGlvbmVkX2J5X21lbV9wXzEpOiBOZXcgZnVu Y3Rpb24uCisJKHJlZ19tZW50aW9uZWRfYnlfbWVtX3ApOiBOZXcgZnVuY3Rpb24uCisJKHJlZ19k ZXBfYnlfYWRkcl9wKTogTmV3IGZ1bmN0aW9uLgorCisJKiBydGwuaCAocmVnX21lbnRpb25lZF9i eV9tZW1fcCk6IERlY2xhcmUgbmV3IGZ1bmN0aW9uLgorCShyZWdfZGVwX2J5X2FkZHJfcCk6IExp a2V3aXNlLgorCisJKiBjb25maWcuZ2NjIChhdG9tKTogQWRkIGF0b20gY29uZmlnIG9wdGlvbnMg YW5kIHRhcmdldC4KKworCSogY29uZmlnL2kzODYvaTM4Ni5oIChUQVJHRVRfQVRPTSk6IE5ldyB0 YXJnZXQgbWFjcm8uCisJKFg4Nl9UVU5FX09QVF9BR1UpOiBOZXcgdHVuaW5nIGZsYWcuCisJKFRB UkdFVF9PUFRfQUdVKTogTmV3IHRhcmdldCBvcHRpb24uCisJKFRBUkdFVF9DUFVfREVGQVVMVF9h dG9tKTogTmV3IENQVSBkZWZhdWx0LgorCShQUk9DRVNTT1JfQVRPTSk6IE5ldyBwcm9jZXNzb3Iu CisKKwkqIGNvbmZpZy9pMzg2L2kzODYtYy5jIChpeDg2X3RhcmdldF9tYWNyb3NfaW50ZXJuYWwp OiBOZXcgY2FzZQorCVBST0NFU1NPUl9BVE9NLgorCShpeDg2X3RhcmdldF9tYWNyb3NfaW50ZXJu YWwpOiBMaWtld2lzZS4KKworCSogY29uZmlnL2kzODYvaTM4Ni1wcm90b3MuaCAoaXg4Nl9sZWFf Zm9yX2FkZF9vayk6IERlY2xhcmUgbmV3CisJZnVuY3Rpb24uCisJKGl4ODZfZGVwX2J5X3NoaWZ0 X2NvdW50KTogTGlrZXdpc2UuCisJKGl4ODZfYWdpX2RlcGVuZGVudCk6IExpa2V3aXNlLgorCisJ KiBjb25maWcvaTM4Ni9pMzg2LmMgKGF0b21fY29zdCk6IE5ldyBjb3N0LgorCShtX0FUT00pOiBO ZXcgbWFjcm8gZmxhZy4KKwkoaW5pdGlhbF9peDg2X3R1bmVfZmUpOiBTZXQgbV9BVE9NLgorCSh4 ODZfYWNjdW11bGF0ZV9vdXRnb2luZ19hcmdzKTogTGlrZXdpc2UuCisJKHg4Nl9hcmNoX2Fsd2F5 c19mYW5jeV9tYXRoXzM4Nyk6IExpa2V3aXNlLgorCShwcm9jZXNzb3JfdGFyZ2V0KTogQWRkIEF0 b20gY29zdC4KKwkoY3B1X25hbWVzKTogQWRkIEF0b20gY3B1IG5hbWUuCisJKG92ZXJyaWRlX29w dGlvbnMpOiBTZXQgQXRvbSBJU0EuCisJKExFQV9TRUFSQ0hfVEhSRVNIT0xEKTogTmV3IG1hY3Jv LgorCShkaXN0YW5jZV9ub25fYWd1X2RlZmluZSk6IE5ldyBmdW5jdGlvbi4KKwkoZGlzdGFuY2Vf YWd1X3VzZSk6IExpa2V3aXNlLgorCShpeDg2X2xlYV9mb3JfYWRkX29rKTogTGlrZXdpc2UuCisJ KGl4ODZfZGVwX2J5X3NoaWZ0X2NvdW50KTogTGlrZXdpc2UuCisJKGl4ODZfYWdpX2RlcGVuZGVu dCk6IE1ha2UgaXQgZ2xvYmFsLgorCShpeDg2X2lzc3VlX3JhdGUpOiBOZXcgY2FzZSBQUk9DRVNT T1JfQVRPTS4KKwkoaXg4Nl9hZGp1c3RfY29zdCk6IExpa2V3aXNlLgorCisJKiBjb25maWcvaTM4 Ni9pMzg2Lm1kIChjcHUpOiBBZGQgbmV3IHZhbHVlICJhdG9tIi4KKwkoYXRvbS5tZCk6IEluY2x1 ZGUgYXRvbS5tZC4KKwkodXNlX2NhcnJ5LCBtb3Z1KTogTmV3IGF0dHIuCisJKGFkZGRpM19jYXJy eV9yZXg2NCk6IFNldCBhdHRyICJ1c2VfY2FycnkiLgorCShhZGRxaTNfY2FycnkpOiBMaWtld2lz ZS4KKwkoYWRkaGkzX2NhcnJ5KTogTGlrZXdpc2UuCisJKGFkZHNpM19jYXJyeSk6IExpa2V3aXNl LgorCSgqYWRkc2kzX2NhcnJ5X3pleHQpOiBMaWtld2lzZS4KKwkoc3ViZGkzX2NhcnJ5X3JleDY0 KTogTGlrZXdpc2UuCisJKHN1YnFpM19jYXJyeSk6IExpa2V3aXNlLgorCShzdWJoaTNfY2Fycnkp OiBMaWtld2lzZS4KKwkoc3Vic2kzX2NhcnJ5KTogTGlrZXdpc2UuCisJKHg4Nl9tb3ZkaWNjXzBf bTFfcmV4NjQpOiBMaWtld2lzZS4KKwkoKng4Nl9tb3ZkaWNjXzBfbTFfc2UpOiBMaWtld2lzZS4K KwkoeDg2X21vdnNpY2NfMF9tMSk6IExpa2V3aXNlLgorCSgqeDg2X21vdnNpY2NfMF9tMV9zZSk6 IExpa2V3aXNlLgorCSgqYWRkZGlfMV9yZXg2NCk6IEVtaXQgYWRkIGluc24gYXMgbXVjaCBhcyBw b3NzaWJsZS4KKwkoKmFkZHNpXzEpOiBMaWtld2lzZS4KKwkocmV0dXJuX2ludGVybmFsKTogU2V0 IGF0b21fdW5pdC4KKwkocmV0dXJuX2ludGVybmFsX2xvbmcpOiBMaWtld2lzZS4KKwkocmV0dXJu X3BvcF9pbnRlcm5hbCk6IExpa2V3aXNlLgorCSgqcmNwc2YyX3NzZSk6IFNldCBhdG9tX3NzZV9h dHRyIGF0dHIuCisJKCpxcnQ8bW9kZT4yX3NzZSk6IExpa2V3aXNlLgorCSgqcHJlZmV0Y2hfc3Nl KTogTGlrZXdpc2UuCisKKwkqIGNvbmZpZy9pMzg2L3NzZS5tZCAoY3B1KTogU2V0IGF0dHIgImF0 b21fc3NlX2F0dHIiLgorCSgqcHJlZmV0Y2hfc3NlX3JleCk6IExpa2V3aXNlLgorCShzc2VfcmNw djRzZjIpOiBMaWtld2lzZS4KKwkoc3NlX3ZtcmNwdjRzZjIpOiBMaWtld2lzZS4KKwkoc3NlX3Nx cnR2NHNmMik6IExpa2V3aXNlLgorCSg8c3NlPl92bXNxcnQ8bW9kZT4yKTogTGlrZXdpc2UuCisJ KHNzZV9sZG14Y3NyKTogTGlrZXdpc2UuCisJKHNzZV9zdG14Y3NyKTogTGlrZXdpc2UuCisJKCpz c2Vfc2ZlbmNlKTogTGlrZXdpc2UuCisJKHNzZTJfY2xmbHVzaCk6IExpa2V3aXNlLgorCSgqc3Nl Ml9tZmVuY2UpOiBMaWtld2lzZS4KKwkoKnNzZTJfbGZlbmNlKTogTGlrZXdpc2UuCisJKGF2eF9t b3Z1cDxhdnhtb2Rlc3VmZml4ZjJjPjxhdnhtb2Rlc3VmZml4Pik6IFNldCBhdHRyICJtb3Z1Ii4K KwkoPHNzZT5fbW92dXA8c3NlbW9kZXN1ZmZpeGYyYz4pOiBMaWtld2lzZS4KKwkoYXZ4X21vdmRx dTxhdnhtb2Rlc3VmZml4Pik6IExpa2V3aXNlLgorCShhdnhfbGRkcXU8YXZ4bW9kZXN1ZmZpeD4p OiBMaWtld2lzZS4KKwkoc3NlMl9tb3ZudHYyZGkpOiBDaGFuZ2UgYXR0ciAidHlwZSIgdG8gInNz ZW1vdiIuCisJKHNzZTJfbW92bnRzaSk6IExpa2V3aXNlLgorCShyc3FydHY4c2YyKTogQ2hhbmdl IGF0dHIgInR5cGUiIHRvICJzc2VhZGQiLgorCShzc2UzX2FkZHN1YnYyZGYzKTogU2V0IGF0dHIg ImF0b21fdW5pdCIuCisJKHNzZTNfaDxwbHVzbWludXNfaW5zbj52NHNmMyk6IExpa2V3aXNlLgor CSgqc3NlMl9wbWFkZHdkKTogTGlrZXdpc2UuCisJKCp2ZWNfZXh0cmFjdHYyZGlfMV9yZXg2NCk6 IExpa2V3aXNlLgorCSgqdmVjX2V4dHJhY3R2MmRpXzFfYXZ4KTogTGlrZXdpc2UuCisJKHNzZTJf cHNhZGJ3KTogTGlrZXdpc2UuCisJKHNzc2UzX3BoYWRkd3Y4aGkzKTogTGlrZXdpc2UuCisJKHNz c2UzX3BoYWRkd3Y0aGkzKTogTGlrZXdpc2UuCisJKHNzc2UzX3BoYWRkZHY0c2kzKTogTGlrZXdp c2UuCisJKHNzc2UzX3BoYWRkZHYyc2kzKTogTGlrZXdpc2UuCisJKHNzc2UzX3BoYWRkc3d2OGhp Myk6IExpa2V3aXNlLgorCShzc3NlM19waGFkZHN3djRoaTMpOiBMaWtld2lzZS4KKwkoc3NzZTNf cGhzdWJ3djhoaTMpOiBMaWtld2lzZS4KKwkoc3NzZTNfcGhzdWJ3djRoaTMpOiBMaWtld2lzZS4K Kwkoc3NzZTNfcGhzdWJkdjRzaTMpOiBMaWtld2lzZS4KKwkoc3NzZTNfcGhzdWJkdjJzaTMpOiBM aWtld2lzZS4KKwkoc3NzZTNfcGhzdWJzd3Y4aGkzKTogTGlrZXdpc2UuCisJKHNzc2UzX3Boc3Vi c3d2NGhpMyk6IExpa2V3aXNlLgorCShzc3NlM19wbWFkZHVic3cxMjgpOiBMaWtld2lzZS4KKwko c3NlM19wbWFkZHVic3c6IExpa2V3aXNlLgorCShzc3NlM19wYWxpZ25ydGkpOiBMaWtld2lzZS4K Kwkoc3NzZTNfcGFsaWducmRpKTogTGlrZXdpc2UuCisKKwkqIGNvbmZpZy9pMzg2L2F0b20ubWQ6 IE5ldy4KKworMjAwOS0wMi0wNSAgSC5KLiBMdSAgPGhvbmdqaXUubHVAaW50ZWwuY29tPgorCisJ KiBjb25maWcvaTM4Ni9pMzg2LmMgKGl4ODZfYWdpX2RlcGVuZGVudCk6IFJlbW92ZSB0aGUgdGhp cmQKKwlhcmd1bWVudC4gIFN3YXAgdGhlIGZpcnN0IDIgYXJndW1lbnRzLgorCShpeDg2X2FkanVz dF9jb3N0KTogVXBkYXRlZC4KKworMjAwOS0wMS0zMCAgVmxhZGltaXIgTWFrYXJvdiAgPHZtYWth cm92QHJlZGhhdC5jb20+CisKKwkqIGdlbmF1dG9tYXRhLmM6IEFkZCBhIG5ldyB5ZWFyIHRvIHRo ZSBjb3B5cmlnaHQuICBBZGQgYSBuZXcKKwlyZWZlcmVuY2UuCisJKHN0cnVjdCBpbnNuX3Jlc2Vy dl9kZWNsKTogQWRkIGNvbW1lbnRzIGZvciBtZW1iZXIgYnlwYXNzX2xpc3QuCisJKGZpbmRfYnlw YXNzKTogUmVtb3ZlLgorCShpbnNlcnRfYnlwYXNzKTogTmV3LgorCShwcm9jZXNzX2RlY2xzKTog VXNlIGluc2VydF9ieXBhc3MuCisJKG91dHB1dF9pbnRlcm5hbF9pbnNuX2xhdGVuY3lfZnVuYyk6 IE91dHB1dCBhbGwgYnlwYXNzZXMgd2l0aCB0aGUKKwlzYW1lIGlucHV0IGluc24gaW4gb25lIHN3 aXRjaCBjYXNlLgorCisJKiBydGwuZGVmIChkZWZpbmVfYnlwYXNzKTogRGVzY3JpYmUgYnlwYXNz IGNob2ljZS4KKwkqIGRvYy9tZC50ZXhpIChkZWZpbmVfYnlwYXNzKTogRGl0dG8uCisKKy0tLSBn Y2MvZG9jL21kLnRleGkJKC4uLi90cnVuaykJKHJldmlzaW9uIDE0NDQ2MCkKKysrKyBnY2MvZG9j L21kLnRleGkJKC4uLi9icmFuY2hlcy9peDg2L2F0b20pCShyZXZpc2lvbiAxNDQ2MDEpCitAQCAt NzUwNiw2ICs3NTA2LDExIEBAIGJlIGlnbm9yZWQgZm9yIHRoaXMgY2FzZS4gIFRoZSBhZGRpdGlv bmEKKyByZWNvZ25pemUgY29tcGxpY2F0ZWQgYnlwYXNzZXMsIGUuZy5AOiB3aGVuIHRoZSBjb25z dW1lciBpcyBvbmx5IGFuIGFkZHJlc3MKKyBvZiBpbnNuIEBzYW1we3N0b3JlfSAobm90IGEgc3Rv cmVkIHZhbHVlKS4KKyAKKytJZiB0aGVyZSBhcmUgbW9yZSBvbmUgYnlwYXNzIHdpdGggdGhlIHNh bWUgb3V0cHV0IGFuZCBpbnB1dCBpbnNucywgdGhlCisrY2hvc2VuIGJ5cGFzcyBpcyB0aGUgZmly c3QgYnlwYXNzIHdpdGggYSBndWFyZCBpbiBkZXNjcmlwdGlvbiB3aG9zZQorK2d1YXJkIGZ1bmN0 aW9uIHJldHVybnMgbm9uemVyby4gIElmIHRoZXJlIGlzIG5vIHN1Y2ggYnlwYXNzLCB0aGVuCisr YnlwYXNzIHdpdGhvdXQgdGhlIGd1YXJkIGZ1bmN0aW9uIGlzIGNob3Nlbi4KKysKKyBAZmluZGV4 IGV4Y2x1c2lvbl9zZXQKKyBAZmluZGV4IHByZXNlbmNlX3NldAorIEBmaW5kZXggZmluYWxfcHJl c2VuY2Vfc2V0CistLS0gZ2NjL3J0bGFuYWwuYwkoLi4uL3RydW5rKQkocmV2aXNpb24gMTQ0NDYw KQorKysrIGdjYy9ydGxhbmFsLmMJKC4uLi9icmFuY2hlcy9peDg2L2F0b20pCShyZXZpc2lvbiAx NDQ2MDEpCitAQCAtNzI4LDYgKzcyOCwxMjkgQEAgcmVnX21lbnRpb25lZF9wIChjb25zdF9ydHgg cmVnLCBjb25zdF9ydAorICAgICB9CisgICByZXR1cm4gMDsKKyB9CisrCisrc3RhdGljIGludAor K3JlZ19tZW50aW9uZWRfYnlfbWVtX3BfMSAoY29uc3RfcnR4IHJlZywgY29uc3RfcnR4IGluLAor KwkJCSAgYm9vbCAqbWVtX3ApCisreworKyAgY29uc3QgY2hhciAqZm10OworKyAgaW50IGk7Cisr ICBlbnVtIHJ0eF9jb2RlIGNvZGU7CisrCisrICBpZiAoaW4gPT0gMCkKKysgICAgcmV0dXJuIDA7 CisrCisrICBpZiAocmVnID09IGluKQorKyAgICByZXR1cm4gMTsKKysKKysgIGlmIChHRVRfQ09E RSAoaW4pID09IExBQkVMX1JFRikKKysgICAgcmV0dXJuIHJlZyA9PSBYRVhQIChpbiwgMCk7Cisr CisrICBjb2RlID0gR0VUX0NPREUgKGluKTsKKysKKysgIHN3aXRjaCAoY29kZSkKKysgICAgewor KyAgICAgIC8qIENvbXBhcmUgcmVnaXN0ZXJzIGJ5IG51bWJlci4gICovCisrICAgIGNhc2UgUkVH OgorKyAgICAgIHJldHVybiBSRUdfUCAocmVnKSAmJiBSRUdOTyAoaW4pID09IFJFR05PIChyZWcp OworKworKyAgICAgIC8qIFRoZXNlIGNvZGVzIGhhdmUgbm8gY29uc3RpdHVlbnQgZXhwcmVzc2lv bnMKKysJIGFuZCBhcmUgdW5pcXVlLiAgKi8KKysgICAgY2FzZSBTQ1JBVENIOgorKyAgICBjYXNl IENDMDoKKysgICAgY2FzZSBQQzoKKysgICAgICByZXR1cm4gMDsKKysKKysgICAgY2FzZSBDT05T VF9JTlQ6CisrICAgIGNhc2UgQ09OU1RfVkVDVE9SOgorKyAgICBjYXNlIENPTlNUX0RPVUJMRToK KysgICAgY2FzZSBDT05TVF9GSVhFRDoKKysgICAgICAvKiBUaGVzZSBhcmUga2VwdCB1bmlxdWUg Zm9yIGEgZ2l2ZW4gdmFsdWUuICAqLworKyAgICAgIHJldHVybiAwOworKworKyAgICBkZWZhdWx0 OgorKyAgICAgIGJyZWFrOworKyAgICB9CisrCisrICBpZiAoR0VUX0NPREUgKHJlZykgPT0gY29k ZSAmJiBydHhfZXF1YWxfcCAocmVnLCBpbikpCisrICAgIHJldHVybiAxOworKworKyAgZm10ID0g R0VUX1JUWF9GT1JNQVQgKGNvZGUpOworKworKyAgZm9yIChpID0gR0VUX1JUWF9MRU5HVEggKGNv ZGUpIC0gMTsgaSA+PSAwOyBpLS0pCisrICAgIHsKKysgICAgICBpZiAoZm10W2ldID09ICdFJykK KysJeworKwkgIGludCBqOworKwkgIGZvciAoaiA9IFhWRUNMRU4gKGluLCBpKSAtIDE7IGogPj0g MDsgai0tKQorKwkgICAgaWYgKHJlZ19tZW50aW9uZWRfYnlfbWVtX3BfMSAocmVnLCBYVkVDRVhQ IChpbiwgaSwgaiksIG1lbV9wKSkKKysgICAgICAgICAgICAgIHsKKysgICAgICAgICAgICAgICAg aWYgKGNvZGUgPT0gTUVNKQorKyAgICAgICAgICAgICAgICAgICptZW1fcCA9IHRydWU7CisrCisr CSAgICAgICAgcmV0dXJuIDE7CisrICAgICAgICAgICAgICB9CisrCX0KKysgICAgICBlbHNlIGlm IChmbXRbaV0gPT0gJ2UnCisrCSAgICAgICAmJiByZWdfbWVudGlvbmVkX2J5X21lbV9wXzEgKHJl ZywgWEVYUCAoaW4sIGkpLCBtZW1fcCkpCisrCXsKKysJICBpZiAoY29kZSA9PSBNRU0pCisrCSAg ICAqbWVtX3AgPSB0cnVlOworKworKwkgIHJldHVybiAxOworKwl9CisrICAgIH0KKysgIHJldHVy biAwOworK30KKysKKysvKiBTaW1pbGFyIHRvIHRoZSBmdW5jdGlvbiByZWdfbWVudGlvbmVkX3As IHJldHVybiB0cnVlIG9ubHkgd2hlbgorKyAgIHJlZ2lzdGVyIFJFRyBhcHBlYXJzIGluIGEgTUVN IGNvbnRhaW5lciBvZiBSVFggSU4uICAqLworKworK2Jvb2wKKytyZWdfbWVudGlvbmVkX2J5X21l bV9wIChjb25zdF9ydHggcmVnLCBjb25zdF9ydHggaW4pCisreworKyAgYm9vbCBtZW0gPSBmYWxz ZTsKKysKKysgIHJlZ19tZW50aW9uZWRfYnlfbWVtX3BfMSAocmVnLCBpbiwgJm1lbSk7CisrICBy ZXR1cm4gbWVtOworK30KKysKKysvKiBSZXR1cm4gdHJ1ZSBpZiBkZXN0IHJlZ3NpdGVyIGluIHNl dF9pbnNuIGlzIHVzZWQgaW4gdXNlX2luc24gYXMgCisrICAgYWRkcmVzcyBjYWxjdWxhdGlvbi4K KysgICBGb3IgZXhhbXBsZSwgcmV0dXJucyB0cnVlIGlmIAorKyAgICAgc2V0X2luc246IHJlZ19h ID0gcmVnX2IKKysgICAgIHVzZV9pbnNuOiByZWdfYyA9IChyZWdfYSkgIyByZWdfYSB1c2VkIGlu IGFkZHIgY2FsY3VsYXRpb24KKysgICBGYWxzZSBpZgorKyAgICAgc2V0X2luc246IHJlZ19hID0g cmVnX2IKKysgICAgIHVzZV9pbnNuOiAocmVnX2MpID0gcmVnX2EgIyByZWdfYSBpcyB1c2VkLCBi eSBub3QgYXMgYWRkci4gICovCisrCisrYm9vbAorK3JlZ19kZXBfYnlfYWRkcl9wIChjb25zdF9y dHggc2V0X2luc24sIGNvbnN0X3J0eCB1c2VfaW5zbikKKyt7CisrICBydHggcGF0dGVybiA9IFBB VFRFUk4gKHNldF9pbnNuKTsKKysgIHJ0eCBzZXRfZGVzdCA9IE5VTEw7CisrCisrICBzd2l0Y2gg KEdFVF9DT0RFIChwYXR0ZXJuKSkKKysgICAgeworKyAgICAgIGNhc2UgU0VUOgorKyAgICAgICAg c2V0X2Rlc3QgPSBTRVRfREVTVCAocGF0dGVybik7CisrICAgICAgICBicmVhazsKKysgICAgICBj YXNlIFBBUkFMTEVMOgorKyAgICAgICAgeworKyAgICAgICAgICBydHggcGF0dGVybjIgPSBYVkVD RVhQIChQQVRURVJOIChzZXRfaW5zbiksIDAsMCk7CisrICAJICBpZiAoR0VUX0NPREUgKHBhdHRl cm4yKSA9PSBTRVQpCisrICAJICAgIHNldF9kZXN0ID0gU0VUX0RFU1QgKHBhdHRlcm4yKTsKKysg ICAgICAgICAgYnJlYWs7CisrICAgICAgICB9CisrICAgICAgZGVmYXVsdDoKKysgICAgICAgIHNl dF9kZXN0ID0gTlVMTDsKKysgICAgfQorKworKyAgLyogVHJ1ZSBpZiBkZXN0aW5hdGlvbiBvZiBz ZXQgaXMgcmVnIGFuZCB1c2VkIGFzIGFkZHJlc3MuICAqLworKyAgcmV0dXJuIHNldF9kZXN0ICYm IFJFR19QIChzZXRfZGVzdCkgCisrICAgICAgICAgJiYgcmVnX21lbnRpb25lZF9ieV9tZW1fcCAo c2V0X2Rlc3QsIHVzZV9pbnNuKTsKKyt9CisrCisgDAorIC8qIFJldHVybiAxIGlmIGluIGJldHdl ZW4gQkVHIGFuZCBFTkQsIGV4Y2x1c2l2ZSBvZiBCRUcgYW5kIEVORCwgdGhlcmUgaXMKKyAgICBu byBDT0RFX0xBQkVMIGluc24uICAqLworLS0tIGdjYy9nZW5hdXRvbWF0YS5jCSguLi4vdHJ1bmsp CShyZXZpc2lvbiAxNDQ0NjApCisrKysgZ2NjL2dlbmF1dG9tYXRhLmMJKC4uLi9icmFuY2hlcy9p eDg2L2F0b20pCShyZXZpc2lvbiAxNDQ2MDEpCitAQCAtMjIsMjEgKzIyLDI1IEBAIGFsb25nIHdp dGggR0NDOyBzZWUgdGhlIGZpbGUgQ09QWUlORzMuICAKKyAKKyAvKiBSZWZlcmVuY2VzOgorIAor LSAgIDEuIERldGVjdGluZyBwaXBlbGluZSBzdHJ1Y3R1cmFsIGhhemFyZHMgcXVpY2tseS4gVC4g UHJvZWJzdGluZywKKysgICAxLiBUaGUgZmluaXRlIHN0YXRlIGF1dG9tYXRvbiBiYXNlZCBwaXBl bGluZSBoYXphcmQgcmVjb2duaXplciBhbmQKKysgICAgICBpbnN0cnVjdGlvbiBzY2hlZHVsZXIg aW4gR0NDLiAgVi4gTWFrYXJvdi4gIFByb2NlZWRpbmdzIG9mIEdDQworKyAgICAgIHN1bW1pdCwg MjAwMy4KKysKKysgICAyLiBEZXRlY3RpbmcgcGlwZWxpbmUgc3RydWN0dXJhbCBoYXphcmRzIHF1 aWNrbHkuIFQuIFByb2Vic3RpbmcsCisgICAgICAgQy4gRnJhc2VyLiBQcm9jZWVkaW5ncyBvZiBB Q00gU0lHUExBTi1TSUdBQ1QgU3ltcG9zaXVtIG9uCisgICAgICAgUHJpbmNpcGxlcyBvZiBQcm9n cmFtbWluZyBMYW5ndWFnZXMsIHBhZ2VzIDI4MC0tMjg2LCAxOTk0LgorIAorICAgICAgIFRoaXMg YXJ0aWNsZSBpcyBhIGdvb2Qgc3RhcnQgcG9pbnQgdG8gdW5kZXJzdGFuZCB1c2FnZSBvZiBmaW5p dGUKKyAgICAgICBzdGF0ZSBhdXRvbWF0YSBmb3IgcGlwZWxpbmUgaGF6YXJkIHJlY29nbml6ZXJz LiAgQnV0IEknZAorLSAgICAgIHJlY29tbWVuZCB0aGUgMm5kIGFydGljbGUgZm9yIG1vcmUgZGVl cCB1bmRlcnN0YW5kaW5nLgorKyAgICAgIHJlY29tbWVuZCB0aGUgMXN0IGFuZCAzcmQgYXJ0aWNs ZSBmb3IgbW9yZSBkZWVwIHVuZGVyc3RhbmRpbmcuCisgCistICAgMi4gRWZmaWNpZW50IEluc3Ry dWN0aW9uIFNjaGVkdWxpbmcgVXNpbmcgRmluaXRlIFN0YXRlIEF1dG9tYXRhOgorKyAgIDMuIEVm ZmljaWVudCBJbnN0cnVjdGlvbiBTY2hlZHVsaW5nIFVzaW5nIEZpbml0ZSBTdGF0ZSBBdXRvbWF0 YToKKyAgICAgICBWLiBCYWxhIGFuZCBOLiBSdWJpbiwgUHJvY2VlZGluZ3Mgb2YgTUlDUk8tMjgu ICBUaGlzIGlzIHRoZSBiZXN0CisgICAgICAgYXJ0aWNsZSBhYm91dCB1c2FnZSBvZiBmaW5pdGUg c3RhdGUgYXV0b21hdGEgZm9yIHBpcGVsaW5lIGhhemFyZAorICAgICAgIHJlY29nbml6ZXJzLgor IAorLSAgIFRoZSBjdXJyZW50IGltcGxlbWVudGF0aW9uIGlzIGRpZmZlcmVudCBmcm9tIHRoZSAy bmQgYXJ0aWNsZSBpbiB0aGUKKy0gICBmb2xsb3dpbmc6CisrICAgVGhlIGN1cnJlbnQgaW1wbGVt ZW50YXRpb24gaXMgZGVzY3JpYmVkIGluIHRoZSAxc3QgYXJ0aWNsZSBhbmQgaXQKKysgICBpcyBk aWZmZXJlbnQgZnJvbSB0aGUgM3JkIGFydGljbGUgaW4gdGhlIGZvbGxvd2luZzoKKyAKKyAgICAx LiBOZXcgb3BlcmF0b3IgYHwnIChhbHRlcm5hdGl2ZSkgaXMgcGVybWl0dGVkIGluIGZ1bmN0aW9u YWwgdW5pdAorICAgICAgIHJlc2VydmF0aW9uIHdoaWNoIGNhbiBiZSB0cmVhdGVkIGRldGVybWlu aXN0aWNhbGx5IGFuZAorQEAgLTQ2Myw3ICs0NjcsMTAgQEAgc3RydWN0IGluc25fcmVzZXJ2X2Rl Y2wKKyAgICAgIGluc24uICAqLworICAgaW50IGluc25fbnVtOworICAgLyogVGhlIGZvbGxvd2lu ZyBmaWVsZCB2YWx1ZSBpcyBsaXN0IG9mIGJ5cGFzc2VzIGluIHdoaWNoIGdpdmVuIGluc24KKy0g ICAgIGlzIG91dHB1dCBpbnNuLiAgKi8KKysgICAgIGlzIG91dHB1dCBpbnNuLiAgQnlwYXNzZXMg d2l0aCB0aGUgc2FtZSBpbnB1dCBpbnNuIHN0YXkgb25lIGFmdGVyCisrICAgICBhbm90aGVyIGlu IHRoZSBsaXN0IGluIHRoZSBzYW1lIG9yZGVyIGFzIHRoZWlyIG9jY3VycmVuY2VzIGluIHRoZQor KyAgICAgZGVzY3JpcHRpb24gYnV0IHRoZSBieXBhc3Mgd2l0aG91dCBhIGd1YXJkIHN0YXlzIGFs d2F5cyB0aGUgbGFzdAorKyAgICAgaW4gYSByb3cgb2YgYnlwYXNzZXMgd2l0aCB0aGUgc2FtZSBp bnB1dCBpbnNuLiAgKi8KKyAgIHN0cnVjdCBieXBhc3NfZGVjbCAqYnlwYXNzX2xpc3Q7CisgCisg ICAvKiBUaGUgZm9sbG93aW5nIGZpZWxkcyBhcmUgZGVmaW5lZCBieSBhdXRvbWF0b24gZ2VuZXJh dG9yLiAgKi8KK0BAIC0yMzY3LDE4ICsyMzc0LDY3IEBAIGFkZF9wcmVzZW5jZV9hYnNlbmNlICh1 bml0X3NldF9lbF90IGRlc3QKKyB9CisgCisgCistLyogVGhlIGZ1bmN0aW9uIHNlYXJjaGVzIGZv ciBieXBhc3Mgd2l0aCBnaXZlbiBJTl9JTlNOX1JFU0VSViBpbiBnaXZlbgorLSAgIEJZUEFTU19M SVNULiAgKi8KKy1zdGF0aWMgc3RydWN0IGJ5cGFzc19kZWNsICoKKy1maW5kX2J5cGFzcyAoc3Ry dWN0IGJ5cGFzc19kZWNsICpieXBhc3NfbGlzdCwKKy0JICAgICBzdHJ1Y3QgaW5zbl9yZXNlcnZf ZGVjbCAqaW5faW5zbl9yZXNlcnYpCisteworLSAgc3RydWN0IGJ5cGFzc19kZWNsICpieXBhc3M7 CistCistICBmb3IgKGJ5cGFzcyA9IGJ5cGFzc19saXN0OyBieXBhc3MgIT0gTlVMTDsgYnlwYXNz ID0gYnlwYXNzLT5uZXh0KQorLSAgICBpZiAoYnlwYXNzLT5pbl9pbnNuX3Jlc2VydiA9PSBpbl9p bnNuX3Jlc2VydikKKy0gICAgICBicmVhazsKKy0gIHJldHVybiBieXBhc3M7CisrLyogVGhlIGZ1 bmN0aW9uIGluc2VydHMgQllQQVNTIGluIHRoZSBsaXN0IG9mIGJ5cGFzc2VzIG9mIHRoZQorKyAg IGNvcnJlc3BvbmRpbmcgb3V0cHV0IGluc24uICBUaGUgb3JkZXIgb2YgYnlwYXNzZXMgaW4gdGhl IGxpc3QgaXMKKysgICBkZWNyaWJlZCBpbiBhIGNvbW1lbnQgZm9yIG1lbWJlciBgYnlwYXNzX2xp c3QnIChzZWUgYWJvdmUpLiAgSWYKKysgICB0aGVyZSBpcyBhbHJlYWR5IHRoZSBzYW1lIGJ5cGFz cyBpbiB0aGUgbGlzdCB0aGUgZnVuY3Rpb24gcmVwb3J0cworKyAgIHRoaXMgYW5kIGRvZXMgbm90 aGluZy4gICovCisrc3RhdGljIHZvaWQKKytpbnNlcnRfYnlwYXNzIChzdHJ1Y3QgYnlwYXNzX2Rl Y2wgKmJ5cGFzcykKKyt7CisrICBzdHJ1Y3QgYnlwYXNzX2RlY2wgKmN1cnIsICpsYXN0OworKyAg c3RydWN0IGluc25fcmVzZXJ2X2RlY2wgKm91dF9pbnNuX3Jlc2VydiA9IGJ5cGFzcy0+b3V0X2lu c25fcmVzZXJ2OworKyAgc3RydWN0IGluc25fcmVzZXJ2X2RlY2wgKmluX2luc25fcmVzZXJ2ID0g YnlwYXNzLT5pbl9pbnNuX3Jlc2VydjsKKysgIAorKyAgZm9yIChjdXJyID0gb3V0X2luc25fcmVz ZXJ2LT5ieXBhc3NfbGlzdCwgbGFzdCA9IE5VTEw7CisrICAgICAgIGN1cnIgIT0gTlVMTDsKKysg ICAgICAgbGFzdCA9IGN1cnIsIGN1cnIgPSBjdXJyLT5uZXh0KQorKyAgICBpZiAoY3Vyci0+aW5f aW5zbl9yZXNlcnYgPT0gaW5faW5zbl9yZXNlcnYpCisrICAgICAgeworKwlpZiAoKGJ5cGFzcy0+ YnlwYXNzX2d1YXJkX25hbWUgIT0gTlVMTAorKwkgICAgICYmIGN1cnItPmJ5cGFzc19ndWFyZF9u YW1lICE9IE5VTEwKKysJICAgICAmJiAhIHN0cmNtcCAoYnlwYXNzLT5ieXBhc3NfZ3VhcmRfbmFt ZSwgY3Vyci0+YnlwYXNzX2d1YXJkX25hbWUpKQorKwkgICAgfHwgYnlwYXNzLT5ieXBhc3NfZ3Vh cmRfbmFtZSA9PSBjdXJyLT5ieXBhc3NfZ3VhcmRfbmFtZSkKKysJICB7CisrCSAgICBpZiAoYnlw YXNzLT5ieXBhc3NfZ3VhcmRfbmFtZSA9PSBOVUxMKQorKwkgICAgICB7CisrCQlpZiAoIXdfZmxh ZykKKysJCSAgZXJyb3IgKCJ0aGUgc2FtZSBieXBhc3MgYCVzIC0gJXMnIGlzIGFscmVhZHkgZGVm aW5lZCIsCisrCQkJIGJ5cGFzcy0+b3V0X2luc25fbmFtZSwgYnlwYXNzLT5pbl9pbnNuX25hbWUp OworKwkJZWxzZQorKwkJICB3YXJuaW5nICgwLCAidGhlIHNhbWUgYnlwYXNzIGAlcyAtICVzJyBp cyBhbHJlYWR5IGRlZmluZWQiLAorKwkJCSAgIGJ5cGFzcy0+b3V0X2luc25fbmFtZSwgYnlwYXNz LT5pbl9pbnNuX25hbWUpOworKwkgICAgICB9CisrCSAgICBlbHNlIGlmICghd19mbGFnKQorKwkg ICAgICBlcnJvciAoInRoZSBzYW1lIGJ5cGFzcyBgJXMgLSAlcycgKGd1YXJkICVzKSBpcyBhbHJl YWR5IGRlZmluZWQiLAorKwkJICAgICBieXBhc3MtPm91dF9pbnNuX25hbWUsIGJ5cGFzcy0+aW5f aW5zbl9uYW1lLAorKwkJICAgICBieXBhc3MtPmJ5cGFzc19ndWFyZF9uYW1lKTsKKysJICAgIGVs c2UKKysJICAgICAgd2FybmluZworKwkJKDAsICJ0aGUgc2FtZSBieXBhc3MgYCVzIC0gJXMnIChn dWFyZCAlcykgaXMgYWxyZWFkeSBkZWZpbmVkIiwKKysJCSBieXBhc3MtPm91dF9pbnNuX25hbWUs IGJ5cGFzcy0+aW5faW5zbl9uYW1lLAorKwkJIGJ5cGFzcy0+YnlwYXNzX2d1YXJkX25hbWUpOwor KwkgICAgcmV0dXJuOworKwkgIH0KKysJaWYgKGN1cnItPmJ5cGFzc19ndWFyZF9uYW1lID09IE5V TEwpCisrCSAgYnJlYWs7CisrCWlmIChjdXJyLT5uZXh0ID09IE5VTEwgfHwgY3Vyci0+bmV4dC0+ aW5faW5zbl9yZXNlcnYgIT0gaW5faW5zbl9yZXNlcnYpCisrCSAgeworKwkgICAgbGFzdCA9IGN1 cnI7CisrCSAgICBicmVhazsKKysJICB9CisrCSAgCisrICAgICAgfQorKyAgaWYgKGxhc3QgPT0g TlVMTCkKKysgICAgeworKyAgICAgIGJ5cGFzcy0+bmV4dCA9IG91dF9pbnNuX3Jlc2Vydi0+Ynlw YXNzX2xpc3Q7CisrICAgICAgb3V0X2luc25fcmVzZXJ2LT5ieXBhc3NfbGlzdCA9IGJ5cGFzczsK KysgICAgfQorKyAgZWxzZQorKyAgICB7CisrICAgICAgYnlwYXNzLT5uZXh0ID0gbGFzdC0+bmV4 dDsKKysgICAgICBsYXN0LT5uZXh0ID0gYnlwYXNzOworKyAgICB9CisgfQorIAorIC8qIFRoZSBm dW5jdGlvbiBwcm9jZXNzZXMgcGlwZWxpbmUgZGVzY3JpcHRpb24gZGVjbGFyYXRpb25zLCBjaGVj a3MKK0BAIC0yMzkxLDcgKzI0NDcsNiBAQCBwcm9jZXNzX2RlY2xzICh2b2lkKQorICAgZGVjbF90 IGRlY2xfaW5fdGFibGU7CisgICBkZWNsX3Qgb3V0X2luc25fcmVzZXJ2OworICAgZGVjbF90IGlu X2luc25fcmVzZXJ2OworLSAgc3RydWN0IGJ5cGFzc19kZWNsICpieXBhc3M7CisgICBpbnQgYXV0 b21hdG9uX3ByZXNlbmNlOworICAgaW50IGk7CisgCitAQCAtMjUxNCwzNiArMjU2OSw3IEBAIHBy b2Nlc3NfZGVjbHMgKHZvaWQpCisgCQk9IERFQ0xfSU5TTl9SRVNFUlYgKG91dF9pbnNuX3Jlc2Vy dik7CisgCSAgICAgIERFQ0xfQllQQVNTIChkZWNsKS0+aW5faW5zbl9yZXNlcnYKKyAJCT0gREVD TF9JTlNOX1JFU0VSViAoaW5faW5zbl9yZXNlcnYpOworLQkgICAgICBieXBhc3MKKy0JCT0gZmlu ZF9ieXBhc3MgKERFQ0xfSU5TTl9SRVNFUlYgKG91dF9pbnNuX3Jlc2VydiktPmJ5cGFzc19saXN0 LAorLQkJCSAgICAgICBERUNMX0JZUEFTUyAoZGVjbCktPmluX2luc25fcmVzZXJ2KTsKKy0JICAg ICAgaWYgKGJ5cGFzcyAhPSBOVUxMKQorLQkJeworLQkJICBpZiAoREVDTF9CWVBBU1MgKGRlY2wp LT5sYXRlbmN5ID09IGJ5cGFzcy0+bGF0ZW5jeSkKKy0JCSAgICB7CistCQkgICAgICBpZiAoIXdf ZmxhZykKKy0JCQllcnJvcgorLQkJCSAgKCJ0aGUgc2FtZSBieXBhc3MgYCVzIC0gJXMnIGlzIGFs cmVhZHkgZGVmaW5lZCIsCistCQkJICAgREVDTF9CWVBBU1MgKGRlY2wpLT5vdXRfaW5zbl9uYW1l LAorLQkJCSAgIERFQ0xfQllQQVNTIChkZWNsKS0+aW5faW5zbl9uYW1lKTsKKy0JCSAgICAgIGVs c2UKKy0JCQl3YXJuaW5nCistCQkJICAoMCwgInRoZSBzYW1lIGJ5cGFzcyBgJXMgLSAlcycgaXMg YWxyZWFkeSBkZWZpbmVkIiwKKy0JCQkgICBERUNMX0JZUEFTUyAoZGVjbCktPm91dF9pbnNuX25h bWUsCistCQkJICAgREVDTF9CWVBBU1MgKGRlY2wpLT5pbl9pbnNuX25hbWUpOworLQkJICAgIH0K Ky0JCSAgZWxzZQorLQkJICAgIGVycm9yICgiYnlwYXNzIGAlcyAtICVzJyBpcyBhbHJlYWR5IGRl ZmluZWQiLAorLQkJCSAgIERFQ0xfQllQQVNTIChkZWNsKS0+b3V0X2luc25fbmFtZSwKKy0JCQkg ICBERUNMX0JZUEFTUyAoZGVjbCktPmluX2luc25fbmFtZSk7CistCQl9CistCSAgICAgIGVsc2UK Ky0JCXsKKy0JCSAgREVDTF9CWVBBU1MgKGRlY2wpLT5uZXh0CistCQkgICAgPSBERUNMX0lOU05f UkVTRVJWIChvdXRfaW5zbl9yZXNlcnYpLT5ieXBhc3NfbGlzdDsKKy0JCSAgREVDTF9JTlNOX1JF U0VSViAob3V0X2luc25fcmVzZXJ2KS0+YnlwYXNzX2xpc3QKKy0JCSAgICA9IERFQ0xfQllQQVNT IChkZWNsKTsKKy0JCX0KKysJICAgICAgaW5zZXJ0X2J5cGFzcyAoREVDTF9CWVBBU1MgKGRlY2wp KTsKKyAJICAgIH0KKyAJfQorICAgICB9CitAQCAtODE1OSwxOSArODE4NSwzMiBAQCBvdXRwdXRf aW50ZXJuYWxfaW5zbl9sYXRlbmN5X2Z1bmMgKHZvaWQpCisgCQkJICAgIChhZHZhbmNlX2N5Y2xl X2luc25fZGVjbCktPmluc25fbnVtKSk7CisgCSAgICBmcHJpbnRmIChvdXRwdXRfZmlsZSwgIiAg ICAgICAgY2FzZSAlZDpcbiIsCisgCQkgICAgIGJ5cGFzcy0+aW5faW5zbl9yZXNlcnYtPmluc25f bnVtKTsKKy0JICAgIGlmIChieXBhc3MtPmJ5cGFzc19ndWFyZF9uYW1lID09IE5VTEwpCistCSAg ICAgIGZwcmludGYgKG91dHB1dF9maWxlLCAiICAgICAgICAgIHJldHVybiAlZDtcbiIsCistCQkg ICAgICAgYnlwYXNzLT5sYXRlbmN5KTsKKy0JICAgIGVsc2UKKysJICAgIGZvciAoOzspCisgCSAg ICAgIHsKKy0JCWZwcmludGYgKG91dHB1dF9maWxlLAorLQkJCSAiICAgICAgICAgIGlmICglcyAo JXMsICVzKSlcbiIsCistCQkJIGJ5cGFzcy0+YnlwYXNzX2d1YXJkX25hbWUsIElOU05fUEFSQU1F VEVSX05BTUUsCistCQkJIElOU04yX1BBUkFNRVRFUl9OQU1FKTsKKy0JCWZwcmludGYgKG91dHB1 dF9maWxlLAorLQkJCSAiICAgICAgICAgICAgcmV0dXJuICVkO1xuICAgICAgICAgIGJyZWFrO1xu IiwKKy0JCQkgYnlwYXNzLT5sYXRlbmN5KTsKKysJCWlmIChieXBhc3MtPmJ5cGFzc19ndWFyZF9u YW1lID09IE5VTEwpCisrCQkgIHsKKysJCSAgICBnY2NfYXNzZXJ0IChieXBhc3MtPm5leHQgPT0g TlVMTAorKwkJCQl8fCAoYnlwYXNzLT5pbl9pbnNuX3Jlc2VydgorKwkJCQkgICAgIT0gYnlwYXNz LT5uZXh0LT5pbl9pbnNuX3Jlc2VydikpOworKwkJICAgIGZwcmludGYgKG91dHB1dF9maWxlLCAi ICAgICAgICAgIHJldHVybiAlZDtcbiIsCisrCQkJICAgICBieXBhc3MtPmxhdGVuY3kpOworKwkJ ICB9CisrCQllbHNlCisrCQkgIHsKKysJCSAgICBmcHJpbnRmIChvdXRwdXRfZmlsZSwKKysJCQkg ICAgICIgICAgICAgICAgaWYgKCVzICglcywgJXMpKVxuIiwKKysJCQkgICAgIGJ5cGFzcy0+Ynlw YXNzX2d1YXJkX25hbWUsIElOU05fUEFSQU1FVEVSX05BTUUsCisrCQkJICAgICBJTlNOMl9QQVJB TUVURVJfTkFNRSk7CisrCQkgICAgZnByaW50ZiAob3V0cHV0X2ZpbGUsICIgICAgICAgICAgICBy ZXR1cm4gJWQ7XG4iLAorKwkJCSAgICAgYnlwYXNzLT5sYXRlbmN5KTsKKysJCSAgfQorKwkJaWYg KGJ5cGFzcy0+bmV4dCA9PSBOVUxMCisrCQkgICAgfHwgYnlwYXNzLT5pbl9pbnNuX3Jlc2VydiAh PSBieXBhc3MtPm5leHQtPmluX2luc25fcmVzZXJ2KQorKwkJICBicmVhazsKKysJCWJ5cGFzcyA9 IGJ5cGFzcy0+bmV4dDsKKyAJICAgICAgfQorKwkgICAgaWYgKGJ5cGFzcy0+YnlwYXNzX2d1YXJk X25hbWUgIT0gTlVMTCkKKysJICAgICAgZnByaW50ZiAob3V0cHV0X2ZpbGUsICIgICAgICAgICAg YnJlYWs7XG4iKTsKKyAJICB9CisgCWZwdXRzICgiICAgICAgICB9XG4gICAgICBicmVhaztcbiIs IG91dHB1dF9maWxlKTsKKyAgICAgICB9CistLS0gZ2NjL3J0bC5kZWYJKC4uLi90cnVuaykJKHJl dmlzaW9uIDE0NDQ2MCkKKysrKyBnY2MvcnRsLmRlZgkoLi4uL2JyYW5jaGVzL2l4ODYvYXRvbSkJ KHJldmlzaW9uIDE0NDYwMSkKK0BAIC0xMDg4LDcgKzEwODgsMTEgQEAgREVGX1JUTF9FWFBSKEZJ TkFMX0FCU0VOQ0VfU0VULCAiZmluYWxfYQorICAgIGd1YXJkIGZvciB0aGUgYnlwYXNzLiAgVGhl IGZ1bmN0aW9uIHdpbGwgZ2V0IHRoZSB0d28gaW5zbnMgYXMKKyAgICBwYXJhbWV0ZXJzLiAgSWYg dGhlIGZ1bmN0aW9uIHJldHVybnMgemVybyB0aGUgYnlwYXNzIHdpbGwgYmUKKyAgICBpZ25vcmVk IGZvciB0aGlzIGNhc2UuICBBZGRpdGlvbmFsIGd1YXJkIGlzIG5lY2Vzc2FyeSB0byByZWNvZ25p emUKKy0gICBjb21wbGljYXRlZCBieXBhc3NlcywgZS5nLiB3aGVuIGNvbnN1bWVyIGlzIGxvYWQg YWRkcmVzcy4gICovCisrICAgY29tcGxpY2F0ZWQgYnlwYXNzZXMsIGUuZy4gd2hlbiBjb25zdW1l ciBpcyBsb2FkIGFkZHJlc3MuICBJZiB0aGVyZQorKyAgIGFyZSBtb3JlIG9uZSBieXBhc3Mgd2l0 aCB0aGUgc2FtZSBvdXRwdXQgYW5kIGlucHV0IGluc25zLCB0aGUKKysgICBjaG9zZW4gYnlwYXNz IGlzIHRoZSBmaXJzdCBieXBhc3Mgd2l0aCBhIGd1YXJkIGluIGRlc2NyaXB0aW9uIHdob3NlCisr ICAgZ3VhcmQgZnVuY3Rpb24gcmV0dXJucyBub256ZXJvLiAgSWYgdGhlcmUgaXMgbm8gc3VjaCBi eXBhc3MsIHRoZW4KKysgICBieXBhc3Mgd2l0aG91dCB0aGUgZ3VhcmQgZnVuY3Rpb24gaXMgY2hv c2VuLiAgKi8KKyBERUZfUlRMX0VYUFIoREVGSU5FX0JZUEFTUywgImRlZmluZV9ieXBhc3MiLCAi aXNzUyIsIFJUWF9FWFRSQSkKKyAKKyAvKiAoZGVmaW5lX2F1dG9tYXRvbiBzdHJpbmcpIGRlc2Ny aWJlcyBuYW1lcyBvZiBhdXRvbWF0YSBnZW5lcmF0ZWQgYW5kCistLS0gZ2NjL3J0bC5oCSguLi4v dHJ1bmspCShyZXZpc2lvbiAxNDQ0NjApCisrKysgZ2NjL3J0bC5oCSguLi4vYnJhbmNoZXMvaXg4 Ni9hdG9tKQkocmV2aXNpb24gMTQ0NjAxKQorQEAgLTE3MzEsNiArMTczMSw4IEBAIGV4dGVybiBy dHggZ2V0X3JlbGF0ZWRfdmFsdWUgKGNvbnN0X3J0eCkKKyBleHRlcm4gYm9vbCBvZmZzZXRfd2l0 aGluX2Jsb2NrX3AgKGNvbnN0X3J0eCwgSE9TVF9XSURFX0lOVCk7CisgZXh0ZXJuIHZvaWQgc3Bs aXRfY29uc3QgKHJ0eCwgcnR4ICosIHJ0eCAqKTsKKyBleHRlcm4gaW50IHJlZ19tZW50aW9uZWRf cCAoY29uc3RfcnR4LCBjb25zdF9ydHgpOworK2V4dGVybiBib29sIHJlZ19tZW50aW9uZWRfYnlf bWVtX3AgKGNvbnN0X3J0eCwgY29uc3RfcnR4KTsKKytleHRlcm4gYm9vbCByZWdfZGVwX2J5X2Fk ZHJfcCAoY29uc3RfcnR4LCBjb25zdF9ydHgpOworIGV4dGVybiBpbnQgY291bnRfb2NjdXJyZW5j ZXMgKGNvbnN0X3J0eCwgY29uc3RfcnR4LCBpbnQpOworIGV4dGVybiBpbnQgcmVnX3JlZmVyZW5j ZWRfcCAoY29uc3RfcnR4LCBjb25zdF9ydHgpOworIGV4dGVybiBpbnQgcmVnX3VzZWRfYmV0d2Vl bl9wIChjb25zdF9ydHgsIGNvbnN0X3J0eCwgY29uc3RfcnR4KTsKKy0tLSBnY2MvY29uZmlnLmdj YwkoLi4uL3RydW5rKQkocmV2aXNpb24gMTQ0NDYwKQorKysrIGdjYy9jb25maWcuZ2NjCSguLi4v YnJhbmNoZXMvaXg4Ni9hdG9tKQkocmV2aXNpb24gMTQ0NjAxKQorQEAgLTEwODcsNyArMTA4Nyw3 IEBAIGlbMzQ1NjddODYtKi1saW51eCogfCBpWzM0NTY3XTg2LSota2ZyZWUKKyAJCQl0bWFrZV9m aWxlPSIke3RtYWtlX2ZpbGV9IGkzODYvdC1saW51eDY0IgorIAkJCW5lZWRfNjRiaXRfaHdpbnQ9 eWVzCisgCQkJY2FzZSBYIiR7d2l0aF9jcHV9IiBpbgorLQkJCVhnZW5lcmljfFhjb3JlMnxYbm9j b25hfFh4ODYtNjR8WGFtZGZhbTEwfFhiYXJjZWxvbmF8WGs4fFhvcHRlcm9ufFhhdGhsb242NHxY YXRobG9uLWZ4KQorKwkJCVhnZW5lcmljfFhhdG9tfFhjb3JlMnxYbm9jb25hfFh4ODYtNjR8WGFt ZGZhbTEwfFhiYXJjZWxvbmF8WGs4fFhvcHRlcm9ufFhhdGhsb242NHxYYXRobG9uLWZ4KQorIAkJ CQk7OworIAkJCVgpCisgCQkJCWlmIHRlc3QgeCR3aXRoX2NwdV82NCA9IHg7IHRoZW4KK0BAIC0x MDk2LDcgKzEwOTYsNyBAQCBpWzM0NTY3XTg2LSotbGludXgqIHwgaVszNDU2N104Ni0qLWtmcmVl CisgCQkJCTs7CisgCQkJKikKKyAJCQkJZWNobyAiVW5zdXBwb3J0ZWQgQ1BVIHVzZWQgaW4gLS13 aXRoLWNwdT0kd2l0aF9jcHUsIHN1cHBvcnRlZCB2YWx1ZXM6IiAxPiYyCistCQkJCWVjaG8gImdl bmVyaWMgY29yZTIgbm9jb25hIHg4Ni02NCBhbWRmYW0xMCBiYXJjZWxvbmEgazggb3B0ZXJvbiBh dGhsb242NCBhdGhsb24tZngiIDE+JjIKKysJCQkJZWNobyAiZ2VuZXJpYyBhdG9tIGNvcmUyIG5v Y29uYSB4ODYtNjQgYW1kZmFtMTAgYmFyY2Vsb25hIGs4IG9wdGVyb24gYXRobG9uNjQgYXRobG9u LWZ4IiAxPiYyCisgCQkJCWV4aXQgMQorIAkJCQk7OworIAkJCWVzYWMKK0BAIC0xMjAxLDcgKzEy MDEsNyBAQCBpWzM0NTY3XTg2LSotc29sYXJpczIqKQorIAkJIyBsaWJnY2MvY29uZmlndXJlLmFj IGluc3RlYWQuCisgCQluZWVkXzY0Yml0X2h3aW50PXllcworIAkJY2FzZSBYIiR7d2l0aF9jcHV9 IiBpbgorLQkJWGdlbmVyaWN8WGNvcmUyfFhub2NvbmF8WHg4Ni02NHxYYW1kZmFtMTB8WGJhcmNl bG9uYXxYazh8WG9wdGVyb258WGF0aGxvbjY0fFhhdGhsb24tZngpCisrCQlYZ2VuZXJpY3xYYXRv bXxYY29yZTJ8WG5vY29uYXxYeDg2LTY0fFhhbWRmYW0xMHxYYmFyY2Vsb25hfFhrOHxYb3B0ZXJv bnxYYXRobG9uNjR8WGF0aGxvbi1meCkKKyAJCQk7OworIAkJWCkKKyAJCQlpZiB0ZXN0IHgkd2l0 aF9jcHVfNjQgPSB4OyB0aGVuCitAQCAtMTIxMCw3ICsxMjEwLDcgQEAgaVszNDU2N104Ni0qLXNv bGFyaXMyKikKKyAJCQk7OworIAkJKikKKyAJCQllY2hvICJVbnN1cHBvcnRlZCBDUFUgdXNlZCBp biAtLXdpdGgtY3B1PSR3aXRoX2NwdSwgc3VwcG9ydGVkIHZhbHVlczoiIDE+JjIKKy0JCQllY2hv ICJnZW5lcmljIGNvcmUyIG5vY29uYSB4ODYtNjQgYW1kZmFtMTAgYmFyY2Vsb25hIGs4IG9wdGVy b24gYXRobG9uNjQgYXRobG9uLWZ4IiAxPiYyCisrCQkJZWNobyAiZ2VuZXJpYyBhdG9tIGNvcmUy IG5vY29uYSB4ODYtNjQgYW1kZmFtMTAgYmFyY2Vsb25hIGs4IG9wdGVyb24gYXRobG9uNjQgYXRo bG9uLWZ4IiAxPiYyCisgCQkJZXhpdCAxCisgCQkJOzsKKyAJCWVzYWMKK0BAIC0yODAzLDcgKzI4 MDMsNyBAQCBjYXNlICIke3RhcmdldH0iIGluCisgCQkJCWVzYWMKKyAJCQkJIyBPSworIAkJCQk7 OworLQkJCSIiIHwgYW1kZmFtMTAgfCBiYXJjZWxvbmEgfCBrOCB8IG9wdGVyb24gfCBhdGhsb242 NCB8IGF0aGxvbi1meCB8IG5vY29uYSB8IGNvcmUyIHwgZ2VuZXJpYykKKysJCQkiIiB8IGFtZGZh bTEwIHwgYmFyY2Vsb25hIHwgazggfCBvcHRlcm9uIHwgYXRobG9uNjQgfCBhdGhsb24tZnggfCBu b2NvbmEgfCBjb3JlMiB8IGF0b20gfCBnZW5lcmljKQorIAkJCQkjIE9LCisgCQkJCTs7CisgCQkJ KikKKy0tLSBnY2MvY29uZmlnL2kzODYvaTM4Ni5oCSguLi4vdHJ1bmspCShyZXZpc2lvbiAxNDQ0 NjApCisrKysgZ2NjL2NvbmZpZy9pMzg2L2kzODYuaAkoLi4uL2JyYW5jaGVzL2l4ODYvYXRvbSkJ KHJldmlzaW9uIDE0NDYwMSkKK0BAIC0yMzEsNiArMjMxLDcgQEAgZXh0ZXJuIGNvbnN0IHN0cnVj dCBwcm9jZXNzb3JfY29zdHMgaXg4NgorICNkZWZpbmUgVEFSR0VUX0dFTkVSSUM2NCAoaXg4Nl90 dW5lID09IFBST0NFU1NPUl9HRU5FUklDNjQpCisgI2RlZmluZSBUQVJHRVRfR0VORVJJQyAoVEFS R0VUX0dFTkVSSUMzMiB8fCBUQVJHRVRfR0VORVJJQzY0KQorICNkZWZpbmUgVEFSR0VUX0FNREZB TTEwIChpeDg2X3R1bmUgPT0gUFJPQ0VTU09SX0FNREZBTTEwKQorKyNkZWZpbmUgVEFSR0VUX0FU T00gKGl4ODZfdHVuZSA9PSBQUk9DRVNTT1JfQVRPTSkKKyAKKyAvKiBGZWF0dXJlIHRlc3RzIGFn YWluc3QgdGhlIHZhcmlvdXMgdHVuaW5ncy4gICovCisgZW51bSBpeDg2X3R1bmVfaW5kaWNlcyB7 CitAQCAtMjk1LDYgKzI5Niw3IEBAIGVudW0gaXg4Nl90dW5lX2luZGljZXMgeworICAgWDg2X1RV TkVfVVNFX1ZFQ1RPUl9GUF9DT05WRVJUUywKKyAgIFg4Nl9UVU5FX1VTRV9WRUNUT1JfQ09OVkVS VFMsCisgICBYODZfVFVORV9GVVNFX0NNUF9BTkRfQlJBTkNILAorKyAgWDg2X1RVTkVfT1BUX0FH VSwKKyAKKyAgIFg4Nl9UVU5FX0xBU1QKKyB9OworQEAgLTM4Miw2ICszODQsNyBAQCBleHRlcm4g dW5zaWduZWQgY2hhciBpeDg2X3R1bmVfZmVhdHVyZXNbCisgCWl4ODZfdHVuZV9mZWF0dXJlc1tY ODZfVFVORV9VU0VfVkVDVE9SX0NPTlZFUlRTXQorICNkZWZpbmUgVEFSR0VUX0ZVU0VfQ01QX0FO RF9CUkFOQ0ggXAorIAlpeDg2X3R1bmVfZmVhdHVyZXNbWDg2X1RVTkVfRlVTRV9DTVBfQU5EX0JS QU5DSF0KKysjZGVmaW5lIFRBUkdFVF9PUFRfQUdVIGl4ODZfdHVuZV9mZWF0dXJlc1tYODZfVFVO RV9PUFRfQUdVXQorIAorIC8qIEZlYXR1cmUgdGVzdHMgYWdhaW5zdCB0aGUgdmFyaW91cyBhcmNo aXRlY3R1cmUgdmFyaWF0aW9ucy4gICovCisgZW51bSBpeDg2X2FyY2hfaW5kaWNlcyB7CitAQCAt NTY0LDYgKzU2Nyw3IEBAIGVudW0gdGFyZ2V0X2NwdV9kZWZhdWx0CisgICBUQVJHRVRfQ1BVX0RF RkFVTFRfcHJlc2NvdHQsCisgICBUQVJHRVRfQ1BVX0RFRkFVTFRfbm9jb25hLAorICAgVEFSR0VU X0NQVV9ERUZBVUxUX2NvcmUyLAorKyAgVEFSR0VUX0NQVV9ERUZBVUxUX2F0b20sCisgCisgICBU QVJHRVRfQ1BVX0RFRkFVTFRfZ2VvZGUsCisgICBUQVJHRVRfQ1BVX0RFRkFVTFRfazYsCitAQCAt MjI1Niw2ICsyMjYwLDcgQEAgZW51bSBwcm9jZXNzb3JfdHlwZQorICAgUFJPQ0VTU09SX0dFTkVS SUMzMiwKKyAgIFBST0NFU1NPUl9HRU5FUklDNjQsCisgICBQUk9DRVNTT1JfQU1ERkFNMTAsCisr ICBQUk9DRVNTT1JfQVRPTSwKKyAgIFBST0NFU1NPUl9tYXgKKyB9OworIAorLS0tIGdjYy9jb25m aWcvaTM4Ni9pMzg2Lm1kCSguLi4vdHJ1bmspCShyZXZpc2lvbiAxNDQ0NjApCisrKysgZ2NjL2Nv bmZpZy9pMzg2L2kzODYubWQJKC4uLi9icmFuY2hlcy9peDg2L2F0b20pCShyZXZpc2lvbiAxNDQ2 MDEpCitAQCAtMjk4LDcgKzI5OCw3IEBAIChkZWZpbmVfY29uc3RhbnRzCisgCisgDAorIDs7IFBy b2Nlc3NvciB0eXBlLgorLShkZWZpbmVfYXR0ciAiY3B1IiAibm9uZSxwZW50aXVtLHBlbnRpdW1w cm8sZ2VvZGUsazYsYXRobG9uLGs4LGNvcmUyLAorKyhkZWZpbmVfYXR0ciAiY3B1IiAibm9uZSxw ZW50aXVtLHBlbnRpdW1wcm8sZ2VvZGUsazYsYXRobG9uLGs4LGNvcmUyLGF0b20sCisgCQkgICAg Z2VuZXJpYzY0LGFtZGZhbTEwIgorICAgKGNvbnN0IChzeW1ib2xfcmVmICJpeDg2X3NjaGVkdWxl IikpKQorIAorQEAgLTU5NCw2ICs1OTQsMTIgQEAgKGRlZmluZV9hdHRyICJmcF9pbnRfc3JjIiAi ZmFsc2UsdHJ1ZSIKKyAoZGVmaW5lX2F0dHIgImkzODdfY3ciICJ0cnVuYyxmbG9vcixjZWlsLG1h c2tfcG0sdW5pbml0aWFsaXplZCxhbnkiCisgICAoY29uc3Rfc3RyaW5nICJhbnkiKSkKKyAKKys7 OyBEZWZpbmUgYXR0cmlidXRlIHRvIGNsYXNzaWZ5IGFkZC9zdWIgaW5zbnMgdGhhdCBjb25zdW1l cyBjYXJyeSBmbGFnIChDRikKKysoZGVmaW5lX2F0dHIgInVzZV9jYXJyeSIgIjAsMSIgKGNvbnN0 X3N0cmluZyAiMCIpKQorKworKzs7IERlZmluZSBhdHRyaWJ1dGUgdG8gaW5kaWNhdGUgdW5hbGln bmVkIHNzZW1vdiBpbnNucworKyhkZWZpbmVfYXR0ciAibW92dSIgIjAsMSIgKGNvbnN0X3N0cmlu ZyAiMCIpKQorKworIDs7IERlc2NyaWJlIGEgdXNlcidzIGFzbSBzdGF0ZW1lbnQuCisgKGRlZmlu ZV9hc21fYXR0cmlidXRlcworICAgWyhzZXRfYXR0ciAibGVuZ3RoIiAiMTI4IikKK0BAIC03MDks NiArNzE1LDcgQEAgKGRlZmluZV9tb2RlX2l0ZXJhdG9yIFAgWyhTSSAiUG1vZGUgPT0gUworIChp bmNsdWRlICJrNi5tZCIpCisgKGluY2x1ZGUgImF0aGxvbi5tZCIpCisgKGluY2x1ZGUgImdlb2Rl Lm1kIikKKysoaW5jbHVkZSAiYXRvbS5tZCIpCisgCisgDAorIDs7IE9wZXJhbmQgYW5kIG9wZXJh dG9yIHByZWRpY2F0ZXMgYW5kIGNvbnN0cmFpbnRzCitAQCAtNTc3Niw2ICs1NzgzLDcgQEAgKGRl ZmluZV9pbnNuICJhZGRkaTNfY2FycnlfcmV4NjQiCisgICAiVEFSR0VUXzY0QklUICYmIGl4ODZf YmluYXJ5X29wZXJhdG9yX29rIChQTFVTLCBESW1vZGUsIG9wZXJhbmRzKSIKKyAgICJhZGN7cX1c dHslMiwgJTB8JTAsICUyfSIKKyAgIFsoc2V0X2F0dHIgInR5cGUiICJhbHUiKQorKyAgIChzZXRf YXR0ciAidXNlX2NhcnJ5IiAiMSIpCisgICAgKHNldF9hdHRyICJwZW50X3BhaXIiICJwdSIpCisg ICAgKHNldF9hdHRyICJtb2RlIiAiREkiKV0pCisgCitAQCAtNTg1MCw2ICs1ODU4LDcgQEAgKGRl ZmluZV9pbnNuICJhZGRxaTNfY2FycnkiCisgICAiaXg4Nl9iaW5hcnlfb3BlcmF0b3Jfb2sgKFBM VVMsIFFJbW9kZSwgb3BlcmFuZHMpIgorICAgImFkY3tifVx0eyUyLCAlMHwlMCwgJTJ9IgorICAg WyhzZXRfYXR0ciAidHlwZSIgImFsdSIpCisrICAgKHNldF9hdHRyICJ1c2VfY2FycnkiICIxIikK KyAgICAoc2V0X2F0dHIgInBlbnRfcGFpciIgInB1IikKKyAgICAoc2V0X2F0dHIgIm1vZGUiICJR SSIpXSkKKyAKK0BAIC01ODYyLDYgKzU4NzEsNyBAQCAoZGVmaW5lX2luc24gImFkZGhpM19jYXJy eSIKKyAgICJpeDg2X2JpbmFyeV9vcGVyYXRvcl9vayAoUExVUywgSEltb2RlLCBvcGVyYW5kcyki CisgICAiYWRje3d9XHR7JTIsICUwfCUwLCAlMn0iCisgICBbKHNldF9hdHRyICJ0eXBlIiAiYWx1 IikKKysgICAoc2V0X2F0dHIgInVzZV9jYXJyeSIgIjEiKQorICAgIChzZXRfYXR0ciAicGVudF9w YWlyIiAicHUiKQorICAgIChzZXRfYXR0ciAibW9kZSIgIkhJIildKQorIAorQEAgLTU4NzQsNiAr NTg4NCw3IEBAIChkZWZpbmVfaW5zbiAiYWRkc2kzX2NhcnJ5IgorICAgIml4ODZfYmluYXJ5X29w ZXJhdG9yX29rIChQTFVTLCBTSW1vZGUsIG9wZXJhbmRzKSIKKyAgICJhZGN7bH1cdHslMiwgJTB8 JTAsICUyfSIKKyAgIFsoc2V0X2F0dHIgInR5cGUiICJhbHUiKQorKyAgIChzZXRfYXR0ciAidXNl X2NhcnJ5IiAiMSIpCisgICAgKHNldF9hdHRyICJwZW50X3BhaXIiICJwdSIpCisgICAgKHNldF9h dHRyICJtb2RlIiAiU0kiKV0pCisgCitAQCAtNTg4Nyw2ICs1ODk4LDcgQEAgKGRlZmluZV9pbnNu ICIqYWRkc2kzX2NhcnJ5X3pleHQiCisgICAiVEFSR0VUXzY0QklUICYmIGl4ODZfYmluYXJ5X29w ZXJhdG9yX29rIChQTFVTLCBTSW1vZGUsIG9wZXJhbmRzKSIKKyAgICJhZGN7bH1cdHslMiwgJWsw fCVrMCwgJTJ9IgorICAgWyhzZXRfYXR0ciAidHlwZSIgImFsdSIpCisrICAgKHNldF9hdHRyICJ1 c2VfY2FycnkiICIxIikKKyAgICAoc2V0X2F0dHIgInBlbnRfcGFpciIgInB1IikKKyAgICAoc2V0 X2F0dHIgIm1vZGUiICJTSSIpXSkKKyAKK0BAIC02MTE2LDkgKzYxMjgsOSBAQCAoZGVmaW5lX2lu c25fYW5kX3NwbGl0ICIqbGVhX2dlbmVyYWxfM196CisgICAgKHNldF9hdHRyICJtb2RlIiAiU0ki KV0pCisgCisgKGRlZmluZV9pbnNuICIqYWRkZGlfMV9yZXg2NCIKKy0gIFsoc2V0IChtYXRjaF9v cGVyYW5kOkRJIDAgIm5vbmltbWVkaWF0ZV9vcGVyYW5kIiAiPXIscm0sciIpCistCShwbHVzOkRJ IChtYXRjaF9vcGVyYW5kOkRJIDEgIm5vbmltbWVkaWF0ZV9vcGVyYW5kIiAiJTAsMCxyIikKKy0J CSAobWF0Y2hfb3BlcmFuZDpESSAyICJ4ODZfNjRfZ2VuZXJhbF9vcGVyYW5kIiAicm1lLHJlLGxl IikpKQorKyAgWyhzZXQgKG1hdGNoX29wZXJhbmQ6REkgMCAibm9uaW1tZWRpYXRlX29wZXJhbmQi ICI9cixybSxyLHIiKQorKwkocGx1czpESSAobWF0Y2hfb3BlcmFuZDpESSAxICJub25pbW1lZGlh dGVfb3BlcmFuZCIgIiUwLDAscixyIikKKysJCSAobWF0Y2hfb3BlcmFuZDpESSAyICJ4ODZfNjRf Z2VuZXJhbF9vcGVyYW5kIiAicm1lLHJlLDAsbGUiKSkpCisgICAgKGNsb2JiZXIgKHJlZzpDQyBG TEFHU19SRUcpKV0KKyAgICJUQVJHRVRfNjRCSVQgJiYgaXg4Nl9iaW5hcnlfb3BlcmF0b3Jfb2sg KFBMVVMsIERJbW9kZSwgb3BlcmFuZHMpIgorIHsKK0BAIC02MTM5LDYgKzYxNTEsMTAgQEAgKGRl ZmluZV9pbnNuICIqYWRkZGlfMV9yZXg2NCIKKyAJfQorIAorICAgICBkZWZhdWx0OgorKyAgICAg IC8qIFVzZSBhZGQgYXMgbXVjaCBhcyBwb3NzaWJsZSB0byByZXBsYWNlIGxlYSBmb3IgQUdVIG9w dGltaXphdGlvbi4gKi8KKysgICAgICBpZiAod2hpY2hfYWx0ZXJuYXRpdmUgPT0gMiAmJiBUQVJH RVRfT1BUX0FHVSkKKysgICAgICAgIHJldHVybiAiYWRke3F9XHR7JTEsICUwfCUwLCAlMX0iOwor KyAgICAgICAgCisgICAgICAgZ2NjX2Fzc2VydCAocnR4X2VxdWFsX3AgKG9wZXJhbmRzWzBdLCBv cGVyYW5kc1sxXSkpOworIAorICAgICAgIC8qIE1ha2UgdGhpbmdzIHByZXR0eSBhbmQgYHN1Ymwg JDQsJWVheCcgcmF0aGVyIHRoYW4gYGFkZGwgJC00LCAlZWF4Jy4KK0BAIC02MTU3LDggKzYxNzMs MTEgQEAgKGRlZmluZV9pbnNuICIqYWRkZGlfMV9yZXg2NCIKKyAgICAgfQorIH0KKyAgIFsoc2V0 IChhdHRyICJ0eXBlIikKKy0gICAgIChjb25kIFsoZXFfYXR0ciAiYWx0ZXJuYXRpdmUiICIyIikK KysgICAgIChjb25kIFsoYW5kIChlcV9hdHRyICJhbHRlcm5hdGl2ZSIgIjIiKSAKKysgICAgICAg ICAgICAgICAgIChlcSAoc3ltYm9sX3JlZiAiVEFSR0VUX09QVF9BR1UiKSAoY29uc3RfaW50IDAp KSkKKyAJICAgICAgKGNvbnN0X3N0cmluZyAibGVhIikKKysgICAgICAgICAgICAoZXFfYXR0ciAi YWx0ZXJuYXRpdmUiICIzIikKKysgICAgICAgICAgICAgIChjb25zdF9zdHJpbmcgImxlYSIpCisg CSAgICA7IEN1cnJlbnQgYXNzZW1ibGVycyBhcmUgYnJva2VuIGFuZCBkbyBub3QgYWxsb3cgQEdP VE9GRiBpbgorIAkgICAgOyBvdWdodCBidXQgYSBtZW1vcnkgY29udGV4dC4KKyAJICAgIChtYXRj aF9vcGVyYW5kOkRJIDIgInBpY19zeW1ib2xpY19vcGVyYW5kIiAiIikKK0BAIC02MTc1LDggKzYx OTQsOCBAQCAoZGVmaW5lX3NwbGl0CisgCShwbHVzOkRJIChtYXRjaF9vcGVyYW5kOkRJIDEgInJl Z2lzdGVyX29wZXJhbmQiICIiKQorIAkJIChtYXRjaF9vcGVyYW5kOkRJIDIgIng4Nl82NF9ub25t ZW1vcnlfb3BlcmFuZCIgIiIpKSkKKyAgICAoY2xvYmJlciAocmVnOkNDIEZMQUdTX1JFRykpXQor LSAgIlRBUkdFVF82NEJJVCAmJiByZWxvYWRfY29tcGxldGVkCistICAgJiYgdHJ1ZV9yZWdudW0g KG9wZXJhbmRzWzBdKSAhPSB0cnVlX3JlZ251bSAob3BlcmFuZHNbMV0pIgorKyAgIlRBUkdFVF82 NEJJVCAmJiByZWxvYWRfY29tcGxldGVkIAorKyAgICYmIGl4ODZfbGVhX2Zvcl9hZGRfb2sgKFBM VVMsIGluc24sIG9wZXJhbmRzKSIKKyAgIFsoc2V0IChtYXRjaF9kdXAgMCkKKyAJKHBsdXM6REkg KG1hdGNoX2R1cCAxKQorIAkJIChtYXRjaF9kdXAgMikpKV0KK0BAIC02MzgwLDkgKzYzOTksOSBA QCAoZGVmaW5lX2luc24gIiphZGRkaV81X3JleDY0IgorIAorIAorIChkZWZpbmVfaW5zbiAiKmFk ZHNpXzEiCistICBbKHNldCAobWF0Y2hfb3BlcmFuZDpTSSAwICJub25pbW1lZGlhdGVfb3BlcmFu ZCIgIj1yLHJtLHIiKQorLQkocGx1czpTSSAobWF0Y2hfb3BlcmFuZDpTSSAxICJub25pbW1lZGlh dGVfb3BlcmFuZCIgIiUwLDAsciIpCistCQkgKG1hdGNoX29wZXJhbmQ6U0kgMiAiZ2VuZXJhbF9v cGVyYW5kIiAiZyxyaSxsaSIpKSkKKysgIFsoc2V0IChtYXRjaF9vcGVyYW5kOlNJIDAgIm5vbmlt bWVkaWF0ZV9vcGVyYW5kIiAiPXIscm0scixyIikKKysJKHBsdXM6U0kgKG1hdGNoX29wZXJhbmQ6 U0kgMSAibm9uaW1tZWRpYXRlX29wZXJhbmQiICIlMCwwLHIsciIpCisrCQkgKG1hdGNoX29wZXJh bmQ6U0kgMiAiZ2VuZXJhbF9vcGVyYW5kIiAiZyxyaSwwLGxpIikpKQorICAgIChjbG9iYmVyIChy ZWc6Q0MgRkxBR1NfUkVHKSldCisgICAiaXg4Nl9iaW5hcnlfb3BlcmF0b3Jfb2sgKFBMVVMsIFNJ bW9kZSwgb3BlcmFuZHMpIgorIHsKK0BAIC02NDAzLDYgKzY0MjIsMTAgQEAgKGRlZmluZV9pbnNu ICIqYWRkc2lfMSIKKyAJfQorIAorICAgICBkZWZhdWx0OgorKyAgICAgIC8qIFVzZSBhZGQgYXMg bXVjaCBhcyBwb3NzaWJsZSB0byByZXBsYWNlIGxlYSBmb3IgQUdVIG9wdGltaXphdGlvbi4gKi8K KysgICAgICBpZiAod2hpY2hfYWx0ZXJuYXRpdmUgPT0gMiAmJiBUQVJHRVRfT1BUX0FHVSkKKysg ICAgICAgIHJldHVybiAiYWRke2x9XHR7JTEsICUwfCUwLCAlMX0iOworKworICAgICAgIGdjY19h c3NlcnQgKHJ0eF9lcXVhbF9wIChvcGVyYW5kc1swXSwgb3BlcmFuZHNbMV0pKTsKKyAKKyAgICAg ICAvKiBNYWtlIHRoaW5ncyBwcmV0dHkgYW5kIGBzdWJsICQ0LCVlYXgnIHJhdGhlciB0aGFuIGBh ZGRsICQtNCwgJWVheCcuCitAQCAtNjQxOSw3ICs2NDQyLDEwIEBAIChkZWZpbmVfaW5zbiAiKmFk ZHNpXzEiCisgICAgIH0KKyB9CisgICBbKHNldCAoYXR0ciAidHlwZSIpCistICAgICAoY29uZCBb KGVxX2F0dHIgImFsdGVybmF0aXZlIiAiMiIpCisrICAgICAoY29uZCBbKGFuZCAoZXFfYXR0ciAi YWx0ZXJuYXRpdmUiICIyIikgCisrICAgICAgICAgICAgICAgICAoZXEgKHN5bWJvbF9yZWYgIlRB UkdFVF9PUFRfQUdVIikgKGNvbnN0X2ludCAwKSkpCisrICAgICAgICAgICAgICAgKGNvbnN0X3N0 cmluZyAibGVhIikKKysgICAgICAgICAgICAoZXFfYXR0ciAiYWx0ZXJuYXRpdmUiICIzIikKKyAJ ICAgICAgKGNvbnN0X3N0cmluZyAibGVhIikKKyAJICAgIDsgQ3VycmVudCBhc3NlbWJsZXJzIGFy ZSBicm9rZW4gYW5kIGRvIG5vdCBhbGxvdyBAR09UT0ZGIGluCisgCSAgICA7IG91Z2h0IGJ1dCBh IG1lbW9yeSBjb250ZXh0LgorQEAgLTY0MzcsOCArNjQ2Myw3IEBAIChkZWZpbmVfc3BsaXQKKyAJ KHBsdXMgKG1hdGNoX29wZXJhbmQgMSAicmVnaXN0ZXJfb3BlcmFuZCIgIiIpCisgICAgICAgICAg ICAgICAobWF0Y2hfb3BlcmFuZCAyICJub25tZW1vcnlfb3BlcmFuZCIgIiIpKSkKKyAgICAoY2xv YmJlciAocmVnOkNDIEZMQUdTX1JFRykpXQorLSAgInJlbG9hZF9jb21wbGV0ZWQKKy0gICAmJiB0 cnVlX3JlZ251bSAob3BlcmFuZHNbMF0pICE9IHRydWVfcmVnbnVtIChvcGVyYW5kc1sxXSkiCisr ICAicmVsb2FkX2NvbXBsZXRlZCAmJiBpeDg2X2xlYV9mb3JfYWRkX29rIChQTFVTLCBpbnNuLCBv cGVyYW5kcykiIAorICAgWyhjb25zdF9pbnQgMCldCisgeworICAgcnR4IHBhdDsKK0BAIC03NTM5 LDYgKzc1NjQsNyBAQCAoZGVmaW5lX2luc24gInN1YmRpM19jYXJyeV9yZXg2NCIKKyAgICJUQVJH RVRfNjRCSVQgJiYgaXg4Nl9iaW5hcnlfb3BlcmF0b3Jfb2sgKE1JTlVTLCBESW1vZGUsIG9wZXJh bmRzKSIKKyAgICJzYmJ7cX1cdHslMiwgJTB8JTAsICUyfSIKKyAgIFsoc2V0X2F0dHIgInR5cGUi ICJhbHUiKQorKyAgIChzZXRfYXR0ciAidXNlX2NhcnJ5IiAiMSIpCisgICAgKHNldF9hdHRyICJw ZW50X3BhaXIiICJwdSIpCisgICAgKHNldF9hdHRyICJtb2RlIiAiREkiKV0pCisgCitAQCAtNzU4 Nyw2ICs3NjEzLDcgQEAgKGRlZmluZV9pbnNuICJzdWJxaTNfY2FycnkiCisgICAiaXg4Nl9iaW5h cnlfb3BlcmF0b3Jfb2sgKE1JTlVTLCBRSW1vZGUsIG9wZXJhbmRzKSIKKyAgICJzYmJ7Yn1cdHsl MiwgJTB8JTAsICUyfSIKKyAgIFsoc2V0X2F0dHIgInR5cGUiICJhbHUiKQorKyAgIChzZXRfYXR0 ciAidXNlX2NhcnJ5IiAiMSIpCisgICAgKHNldF9hdHRyICJwZW50X3BhaXIiICJwdSIpCisgICAg KHNldF9hdHRyICJtb2RlIiAiUUkiKV0pCisgCitAQCAtNzU5OSw2ICs3NjI2LDcgQEAgKGRlZmlu ZV9pbnNuICJzdWJoaTNfY2FycnkiCisgICAiaXg4Nl9iaW5hcnlfb3BlcmF0b3Jfb2sgKE1JTlVT LCBISW1vZGUsIG9wZXJhbmRzKSIKKyAgICJzYmJ7d31cdHslMiwgJTB8JTAsICUyfSIKKyAgIFso c2V0X2F0dHIgInR5cGUiICJhbHUiKQorKyAgIChzZXRfYXR0ciAidXNlX2NhcnJ5IiAiMSIpCisg ICAgKHNldF9hdHRyICJwZW50X3BhaXIiICJwdSIpCisgICAgKHNldF9hdHRyICJtb2RlIiAiSEki KV0pCisgCitAQCAtNzYxMSw2ICs3NjM5LDcgQEAgKGRlZmluZV9pbnNuICJzdWJzaTNfY2Fycnki CisgICAiaXg4Nl9iaW5hcnlfb3BlcmF0b3Jfb2sgKE1JTlVTLCBTSW1vZGUsIG9wZXJhbmRzKSIK KyAgICJzYmJ7bH1cdHslMiwgJTB8JTAsICUyfSIKKyAgIFsoc2V0X2F0dHIgInR5cGUiICJhbHUi KQorKyAgIChzZXRfYXR0ciAidXNlX2NhcnJ5IiAiMSIpCisgICAgKHNldF9hdHRyICJwZW50X3Bh aXIiICJwdSIpCisgICAgKHNldF9hdHRyICJtb2RlIiAiU0kiKV0pCisgCitAQCAtMTUyMjQsNiAr MTUyNTMsNyBAQCAoZGVmaW5lX2luc24gInJldHVybl9pbnRlcm5hbCIKKyAgICJyZWxvYWRfY29t cGxldGVkIgorICAgInJldCIKKyAgIFsoc2V0X2F0dHIgImxlbmd0aCIgIjEiKQorKyAgIChzZXRf YXR0ciAiYXRvbV91bml0IiAiamV1IikKKyAgICAoc2V0X2F0dHIgImxlbmd0aF9pbW1lZGlhdGUi ICIwIikKKyAgICAoc2V0X2F0dHIgIm1vZHJtIiAiMCIpXSkKKyAKK0BAIC0xNTIzNiw2ICsxNTI2 Niw3IEBAIChkZWZpbmVfaW5zbiAicmV0dXJuX2ludGVybmFsX2xvbmciCisgICAicmVsb2FkX2Nv bXBsZXRlZCIKKyAgICJyZXBcO3JldCIKKyAgIFsoc2V0X2F0dHIgImxlbmd0aCIgIjEiKQorKyAg IChzZXRfYXR0ciAiYXRvbV91bml0IiAiamV1IikKKyAgICAoc2V0X2F0dHIgImxlbmd0aF9pbW1l ZGlhdGUiICIwIikKKyAgICAoc2V0X2F0dHIgInByZWZpeF9yZXAiICIxIikKKyAgICAoc2V0X2F0 dHIgIm1vZHJtIiAiMCIpXSkKK0BAIC0xNTI0Niw2ICsxNTI3Nyw3IEBAIChkZWZpbmVfaW5zbiAi cmV0dXJuX3BvcF9pbnRlcm5hbCIKKyAgICJyZWxvYWRfY29tcGxldGVkIgorICAgInJldFx0JTAi CisgICBbKHNldF9hdHRyICJsZW5ndGgiICIzIikKKysgICAoc2V0X2F0dHIgImF0b21fdW5pdCIg ImpldSIpCisgICAgKHNldF9hdHRyICJsZW5ndGhfaW1tZWRpYXRlIiAiMiIpCisgICAgKHNldF9h dHRyICJtb2RybSIgIjAiKV0pCisgCitAQCAtMTYzNjcsNiArMTYzOTksNyBAQCAoZGVmaW5lX2lu c24gIipyY3BzZjJfc3NlIgorICAgIlRBUkdFVF9TU0VfTUFUSCIKKyAgICIldnJjcHNzXHR7JTEs ICVkMHwlZDAsICUxfSIKKyAgIFsoc2V0X2F0dHIgInR5cGUiICJzc2UiKQorKyAgIChzZXRfYXR0 ciAiYXRvbV9zc2VfYXR0ciIgInJjcCIpCisgICAgKHNldF9hdHRyICJwcmVmaXgiICJtYXliZV92 ZXgiKQorICAgIChzZXRfYXR0ciAibW9kZSIgIlNGIildKQorIAorQEAgLTE2NzE4LDYgKzE2NzUx LDcgQEAgKGRlZmluZV9pbnNuICIqcnNxcnRzZjJfc3NlIgorICAgIlRBUkdFVF9TU0VfTUFUSCIK KyAgICIldnJzcXJ0c3NcdHslMSwgJWQwfCVkMCwgJTF9IgorICAgWyhzZXRfYXR0ciAidHlwZSIg InNzZSIpCisrICAgKHNldF9hdHRyICJhdG9tX3NzZV9hdHRyIiAicmNwIikKKyAgICAoc2V0X2F0 dHIgInByZWZpeCIgIm1heWJlX3ZleCIpCisgICAgKHNldF9hdHRyICJtb2RlIiAiU0YiKV0pCisg CitAQCAtMTY3MzgsNiArMTY3NzIsNyBAQCAoZGVmaW5lX2luc24gIipzcXJ0PG1vZGU+Ml9zc2Ui CisgICAiU1NFX0ZMT0FUX01PREVfUCAoPE1PREU+bW9kZSkgJiYgVEFSR0VUX1NTRV9NQVRIIgor ICAgIiV2c3FydHM8c3NlbW9kZWZzdWZmaXg+XHR7JTEsICVkMHwlZDAsICUxfSIKKyAgIFsoc2V0 X2F0dHIgInR5cGUiICJzc2UiKQorKyAgIChzZXRfYXR0ciAiYXRvbV9zc2VfYXR0ciIgInNxcnQi KQorICAgIChzZXRfYXR0ciAicHJlZml4IiAibWF5YmVfdmV4IikKKyAgICAoc2V0X2F0dHIgIm1v ZGUiICI8TU9ERT4iKQorICAgIChzZXRfYXR0ciAiYXRobG9uX2RlY29kZSIgIioiKQorQEAgLTE5 NzkxLDYgKzE5ODI2LDcgQEAgKGRlZmluZV9pbnNuICJ4ODZfbW92ZGljY18wX20xX3JleDY0Igor ICAgOyBTaW5jZSB3ZSBkb24ndCBoYXZlIHRoZSBwcm9wZXIgbnVtYmVyIG9mIG9wZXJhbmRzIGZv ciBhbiBhbHUgaW5zbiwKKyAgIDsgZmlsbCBpbiBhbGwgdGhlIGJsYW5rcy4KKyAgIFsoc2V0X2F0 dHIgInR5cGUiICJhbHUiKQorKyAgIChzZXRfYXR0ciAidXNlX2NhcnJ5IiAiMSIpCisgICAgKHNl dF9hdHRyICJwZW50X3BhaXIiICJwdSIpCisgICAgKHNldF9hdHRyICJtZW1vcnkiICJub25lIikK KyAgICAoc2V0X2F0dHIgImltbV9kaXNwIiAiZmFsc2UiKQorQEAgLTE5ODA2LDYgKzE5ODQyLDcg QEAgKGRlZmluZV9pbnNuICIqeDg2X21vdmRpY2NfMF9tMV9zZSIKKyAgICIiCisgICAic2Jie3F9 XHQlMCwgJTAiCisgICBbKHNldF9hdHRyICJ0eXBlIiAiYWx1IikKKysgICAoc2V0X2F0dHIgInVz ZV9jYXJyeSIgIjEiKQorICAgIChzZXRfYXR0ciAicGVudF9wYWlyIiAicHUiKQorICAgIChzZXRf YXR0ciAibWVtb3J5IiAibm9uZSIpCisgICAgKHNldF9hdHRyICJpbW1fZGlzcCIgImZhbHNlIikK K0BAIC0xOTg0OSw2ICsxOTg4Niw3IEBAIChkZWZpbmVfaW5zbiAieDg2X21vdnNpY2NfMF9tMSIK KyAgIDsgU2luY2Ugd2UgZG9uJ3QgaGF2ZSB0aGUgcHJvcGVyIG51bWJlciBvZiBvcGVyYW5kcyBm b3IgYW4gYWx1IGluc24sCisgICA7IGZpbGwgaW4gYWxsIHRoZSBibGFua3MuCisgICBbKHNldF9h dHRyICJ0eXBlIiAiYWx1IikKKysgICAoc2V0X2F0dHIgInVzZV9jYXJyeSIgIjEiKQorICAgIChz ZXRfYXR0ciAicGVudF9wYWlyIiAicHUiKQorICAgIChzZXRfYXR0ciAibWVtb3J5IiAibm9uZSIp CisgICAgKHNldF9hdHRyICJpbW1fZGlzcCIgImZhbHNlIikKK0BAIC0xOTg2NCw2ICsxOTkwMiw3 IEBAIChkZWZpbmVfaW5zbiAiKng4Nl9tb3ZzaWNjXzBfbTFfc2UiCisgICAiIgorICAgInNiYnts fVx0JTAsICUwIgorICAgWyhzZXRfYXR0ciAidHlwZSIgImFsdSIpCisrICAgKHNldF9hdHRyICJ1 c2VfY2FycnkiICIxIikKKyAgICAoc2V0X2F0dHIgInBlbnRfcGFpciIgInB1IikKKyAgICAoc2V0 X2F0dHIgIm1lbW9yeSIgIm5vbmUiKQorICAgIChzZXRfYXR0ciAiaW1tX2Rpc3AiICJmYWxzZSIp CitAQCAtMjAxOTYsNyArMjAyMzUsOCBAQCAoZGVmaW5lX2luc24gInByb19lcGlsb2d1ZV9hZGp1 c3Rfc3RhY2tfCisgICAgIH0KKyB9CisgICBbKHNldCAoYXR0ciAidHlwZSIpCistCShjb25kIFso ZXFfYXR0ciAiYWx0ZXJuYXRpdmUiICIwIikKKysJKGNvbmQgWyhhbmQgKGVxX2F0dHIgImFsdGVy bmF0aXZlIiAiMCIpIAorKwkgICAgICAgICAgICAoZXEgKHN5bWJvbF9yZWYgIlRBUkdFVF9PUFRf QUdVIikgKGNvbnN0X2ludCAwKSkpCisgCQkgKGNvbnN0X3N0cmluZyAiYWx1IikKKyAJICAgICAg IChtYXRjaF9vcGVyYW5kOlNJIDIgImNvbnN0MF9vcGVyYW5kIiAiIikKKyAJCSAoY29uc3Rfc3Ry aW5nICJpbW92IikKK0BAIC0yMDIzOSw3ICsyMDI3OSw4IEBAIChkZWZpbmVfaW5zbiAicHJvX2Vw aWxvZ3VlX2FkanVzdF9zdGFja18KKyAgICAgfQorIH0KKyAgIFsoc2V0IChhdHRyICJ0eXBlIikK Ky0JKGNvbmQgWyhlcV9hdHRyICJhbHRlcm5hdGl2ZSIgIjAiKQorKwkoY29uZCBbKGFuZCAoZXFf YXR0ciAiYWx0ZXJuYXRpdmUiICIwIikKKysJICAgICAgICAgICAgKGVxIChzeW1ib2xfcmVmICJU QVJHRVRfT1BUX0FHVSIpIChjb25zdF9pbnQgMCkpKQorIAkJIChjb25zdF9zdHJpbmcgImFsdSIp CisgCSAgICAgICAobWF0Y2hfb3BlcmFuZDpESSAyICJjb25zdDBfb3BlcmFuZCIgIiIpCisgCQkg KGNvbnN0X3N0cmluZyAiaW1vdiIpCitAQCAtMjE3MzEsNiArMjE3NzIsNyBAQCAoZGVmaW5lX2lu c24gIipwcmVmZXRjaF9zc2UiCisgICByZXR1cm4gcGF0dGVybnNbbG9jYWxpdHldOworIH0KKyAg IFsoc2V0X2F0dHIgInR5cGUiICJzc2UiKQorKyAgIChzZXRfYXR0ciAiYXRvbV9zc2VfYXR0ciIg InByZWZldGNoIikKKyAgICAoc2V0X2F0dHIgIm1lbW9yeSIgIm5vbmUiKV0pCisgCisgKGRlZmlu ZV9pbnNuICIqcHJlZmV0Y2hfc3NlX3JleCIKK0BAIC0yMTc0OSw2ICsyMTc5MSw3IEBAIChkZWZp bmVfaW5zbiAiKnByZWZldGNoX3NzZV9yZXgiCisgICByZXR1cm4gcGF0dGVybnNbbG9jYWxpdHld OworIH0KKyAgIFsoc2V0X2F0dHIgInR5cGUiICJzc2UiKQorKyAgIChzZXRfYXR0ciAiYXRvbV9z c2VfYXR0ciIgInByZWZldGNoIikKKyAgICAoc2V0X2F0dHIgIm1lbW9yeSIgIm5vbmUiKV0pCisg CisgKGRlZmluZV9pbnNuICIqcHJlZmV0Y2hfM2Rub3ciCistLS0gZ2NjL2NvbmZpZy9pMzg2L2F0 b20ubWQJKC4uLi90cnVuaykJKHJldmlzaW9uIDApCisrKysgZ2NjL2NvbmZpZy9pMzg2L2F0b20u bWQJKC4uLi9icmFuY2hlcy9peDg2L2F0b20pCShyZXZpc2lvbiAxNDQ2MDEpCitAQCAtMCwwICsx LDc5NiBAQAorKzs7IEF0b20gU2NoZWR1bGluZworKzs7IENvcHlyaWdodCAoQykgMjAwOSBGcmVl IFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKys7OworKzs7IFRoaXMgZmlsZSBpcyBwYXJ0IG9m IEdDQy4KKys7OworKzs7IEdDQyBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0 ZSBpdCBhbmQvb3IgbW9kaWZ5CisrOzsgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2Vu ZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKys7OyB0aGUgRnJlZSBTb2Z0d2Fy ZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyLCBvciAoYXQgeW91ciBvcHRpb24pCisrOzsg YW55IGxhdGVyIHZlcnNpb24uCisrOzsKKys7OyBHQ0MgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhv cGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKys7OyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7 IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorKzs7IE1FUkNIQU5UQUJJTElU WSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKys7OyBHTlUg R2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorKzs7CisrOzsgWW91IHNo b3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vu c2UKKys7OyBhbG9uZyB3aXRoIEdDQzsgc2VlIHRoZSBmaWxlIENPUFlJTkcuICBJZiBub3QsIHdy aXRlIHRvCisrOzsgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgNTEgRnJhbmtsaW4gU3Ry ZWV0LCBGaWZ0aCBGbG9vciwKKys7OyBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4gICovCisr OzsKKys7OyBBdG9tIGlzIGFuIGluLW9yZGVyIGNvcmUgd2l0aCB0d28gaW50ZWdlciBwaXBlbGlu ZXMuCisrCisrCisrKGRlZmluZV9hdHRyICJhdG9tX3VuaXQiICJzaXNodWYsc2ltdWwsamV1LGNv bXBsZXgsb3RoZXIiIAorKyAgKGNvbnN0X3N0cmluZyAib3RoZXIiKSkKKysKKysoZGVmaW5lX2F0 dHIgImF0b21fc3NlX2F0dHIiICJyY3AsbW92ZHVwLGxmZW5jZSxmZW5jZSxwcmVmZXRjaCxzcXJ0 LG14Y3NyLG90aGVyIgorKyAgKGNvbnN0X3N0cmluZyAib3RoZXIiKSkKKysKKysoZGVmaW5lX2F1 dG9tYXRvbiAiYXRvbSIpCisrCisrOzsgIEF0b20gaGFzIHR3byBwb3J0czogcG9ydCAwIGFuZCBw b3J0IDEgY29ubmVjdGluZyB0byBhbGwgZXhlY3V0aW9uIHVuaXRzCisrKGRlZmluZV9jcHVfdW5p dCAiYXRvbS1wb3J0LTAsYXRvbS1wb3J0LTEiICJhdG9tIikKKysKKys7OyAgRVU6IEV4ZWN1dGlv biBVbml0CisrOzsgIEF0b20gRVVzIGFyZSBjb25uZWN0ZWQgYnkgcG9ydCAwIG9yIHBvcnQgMS4g CisrCisrKGRlZmluZV9jcHVfdW5pdCAiYXRvbS1ldS0wLCBhdG9tLWV1LTEsCisrICAgICAgICAg ICAgICAgICAgYXRvbS1pbXVsLTEsIGF0b20taW11bC0yLCBhdG9tLWltdWwtMywgYXRvbS1pbXVs LTQiCisrICAgICAgICAgICAgICAgICAgImF0b20iKQorKworKzs7IFNvbWUgRVVzIGhhdmUgZHVw bGljYXRlZCBjb3BpZWQgYW5kIGNhbiBiZSBhY2Nlc3NlZCB2aWEgZWl0aGVyCisrOzsgcG9ydCAw IG9yIHBvcnQgMQorKzs7IChkZWZpbmVfcmVzZXJ2YXRpb24gImF0b20tcG9ydC1laXRoZXIiICIo YXRvbS1wb3J0LTAgfCBhdG9tLXBvcnQtMSkiKQorKworKzs7OyBTb21lIGluc3RydWN0aW9ucyBp cyBkdWFsLXBpcGUgZXhlY3V0aW9uLCBuZWVkIGJvdGggcG9ydHMKKys7OzsgQ29tcGxleCBtdWx0 aS1vcCBtYWNyby1pbnN0cnVjdG9pbnMgbmVlZCBib3RoIHBvcnRzIGFuZCBhbGwgRVVzCisrKGRl ZmluZV9yZXNlcnZhdGlvbiAiYXRvbS1wb3J0LWR1YWwiICIoYXRvbS1wb3J0LTAgKyBhdG9tLXBv cnQtMSkiKQorKyhkZWZpbmVfcmVzZXJ2YXRpb24gImF0b20tYWxsLWV1IiAiKGF0b20tZXUtMCAr IGF0b20tZXUtMSArIAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF0b20t aW11bC0xICsgYXRvbS1pbXVsLTIgKyBhdG9tLWltdWwtMyArCisrICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgYXRvbS1pbXVsLTQpIikKKysKKys7OzsgTW9zdCBvZiBzaW1wbGUg aW5zdHJ1Y3Rpb25zIGhhdmUgMSBjeWNsZSBsYXRlbmN5LiBTb21lIG9mIHRoZW0KKys7OzsgaXNz dWUgaW4gcG9ydCAwLCBzb21lIGluIHBvcnQgMCBhbmQgc29tZSBpbiBlaXRoZXIgcG9ydC4KKyso ZGVmaW5lX3Jlc2VydmF0aW9uICJhdG9tLXNpbXBsZS0wIiAiKGF0b20tcG9ydC0wICsgYXRvbS1l dS0wKSIpCisrKGRlZmluZV9yZXNlcnZhdGlvbiAiYXRvbS1zaW1wbGUtMSIgIihhdG9tLXBvcnQt MSArIGF0b20tZXUtMSkiKQorKyhkZWZpbmVfcmVzZXJ2YXRpb24gImF0b20tc2ltcGxlLWVpdGhl ciIgIihhdG9tLXNpbXBsZS0wIHwgYXRvbS1zaW1wbGUtMSkiKQorKworKzs7OyBTb21lIGluc24g aXNzdWVzIGluIHBvcnQgMCB3aXRoIDMgY3ljbGUgbGF0ZW5jeSBhbmQgMSBjeWNsZSB0cHV0Cisr KGRlZmluZV9yZXNlcnZhdGlvbiAiYXRvbS1ldS0wLTMtMSIgIihhdG9tLXBvcnQtMCArIGF0b20t ZXUtMCwgbm90aGluZyoyKSIpCisrCisrOzs7IGZtdWwgaW5zbiBjYW4gaGF2ZSA0IG9yIDUgY3lj bGVzIGxhdGVuY3kKKysoZGVmaW5lX3Jlc2VydmF0aW9uICJhdG9tLWZtdWwtNWMiICIoYXRvbS1w b3J0LTAgKyBhdG9tLWV1LTApLCBub3RoaW5nKjQiKQorKyhkZWZpbmVfcmVzZXJ2YXRpb24gImF0 b20tZm11bC00YyIgIihhdG9tLXBvcnQtMCArIGF0b20tZXUtMCksIG5vdGhpbmcqMyIpCisrCisr Ozs7IGZhZGQgY2FuIGhhcyA1IGN5Y2xlcyBsYXRlbmN5IGRlcGVuZHMgb24gaW5zdHJ1Y3Rpb24g Zm9ybXMKKysoZGVmaW5lX3Jlc2VydmF0aW9uICJhdG9tLWZhZGQtNWMiICIoYXRvbS1wb3J0LTEg KyBhdG9tLWV1LTEpLCBub3RoaW5nKjUiKQorKworKzs7OyBpbXVsIGluc24gaGFzIDUgY3ljbGVz IGxhdGVuY3kKKysoZGVmaW5lX3Jlc2VydmF0aW9uICJhdG9tLWltdWwtMzIiIAorKyAgICAgICAg ICAgICAgICAgICAgImF0b20taW11bC0xLCBhdG9tLWltdWwtMiwgYXRvbS1pbXVsLTMsIGF0b20t aW11bC00LCAKKysgICAgICAgICAgICAgICAgICAgICBhdG9tLXBvcnQtMCIpCisrOzs7IGltdWwg aW5zdHJ1Y3Rpb24gZXhjbHVkZXMgb3RoZXIgbm9uLUZQIGluc3RydWN0aW9ucy4KKysoZXhjbHVz aW9uX3NldCAiYXRvbS1ldS0wLCBhdG9tLWV1LTEiIAorKyAgICAgICAgICAgICAgICJhdG9tLWlt dWwtMSwgYXRvbS1pbXVsLTIsIGF0b20taW11bC0zLCBhdG9tLWltdWwtNCIpCisrCisrOzs7IGR1 YWwtZXhlY3V0aW9uIGluc3RydWN0aW9ucyBjYW4gaGF2ZSAxLDIsNCw1IGN5Y2xlcyBsYXRlbmN5 IGRlcGVuZHMgb24gCisrOzs7IGluc3RydWN0aW9uIGZvcm1zCisrKGRlZmluZV9yZXNlcnZhdGlv biAiYXRvbS1kdWFsLTFjIiAiKGF0b20tcG9ydC1kdWFsICsgYXRvbS1ldS0wICsgYXRvbS1ldS0x KSIpCisrKGRlZmluZV9yZXNlcnZhdGlvbiAiYXRvbS1kdWFsLTJjIgorKyAgICAgICAgICAgICAg ICAgICAgIihhdG9tLXBvcnQtZHVhbCArIGF0b20tZXUtMCArIGF0b20tZXUtMSwgbm90aGluZyki KQorKyhkZWZpbmVfcmVzZXJ2YXRpb24gImF0b20tZHVhbC01YyIKKysgICAgICAgICAgICAgICAg ICAgICIoYXRvbS1wb3J0LWR1YWwgKyBhdG9tLWV1LTAgKyBhdG9tLWV1LTEsIG5vdGhpbmcqNCki KQorKworKzs7OyBDb21wbGV4IG1hY3JvLWluc3RydWN0aW9uIGhhcyB2YXJpYW50cyBvZiBsYXRl bmN5LCBhbmQgdXNlcyBib3RoIHBvcnRzLgorKyhkZWZpbmVfcmVzZXJ2YXRpb24gImF0b20tY29t cGxleCIgIihhdG9tLXBvcnQtZHVhbCArIGF0b20tYWxsLWV1KSIpCisrCisrKGRlZmluZV9pbnNu X3Jlc2VydmF0aW9uICAiYXRvbV9vdGhlciIgOQorKyAgKGFuZCAoZXFfYXR0ciAiY3B1IiAiYXRv bSIpCisrICAgICAgIChhbmQgKGVxX2F0dHIgInR5cGUiICJvdGhlciIpCisrICAgICAgICAgICAg KGVxX2F0dHIgImF0b21fdW5pdCIgIiFqZXUiKSkpCisrICAiYXRvbS1jb21wbGV4LCBhdG9tLWFs bC1ldSo4IikKKysKKys7OyByZXR1cm4gaGFzIHR5cGUgIm90aGVyIiB3aXRoIGF0b21fdW5pdCAi amV1IgorKyhkZWZpbmVfaW5zbl9yZXNlcnZhdGlvbiAgImF0b21fb3RoZXJfMiIgMQorKyAgKGFu ZCAoZXFfYXR0ciAiY3B1IiAiYXRvbSIpCisrICAgICAgIChhbmQgKGVxX2F0dHIgInR5cGUiICJv dGhlciIpCisrICAgICAgICAgICAgKGVxX2F0dHIgImF0b21fdW5pdCIgImpldSIpKSkKKysgICJh dG9tLWR1YWwtMWMiKQorKworKyhkZWZpbmVfaW5zbl9yZXNlcnZhdGlvbiAgImF0b21fbXVsdGki IDkKKysgIChhbmQgKGVxX2F0dHIgImNwdSIgImF0b20iKQorKyAgICAgICAoZXFfYXR0ciAidHlw ZSIgIm11bHRpIikpCisrICAiYXRvbS1jb21wbGV4LCBhdG9tLWFsbC1ldSo4IikKKysKKys7OyBO b3JtYWwgYWx1IGluc25zIHdpdGhvdXQgY2FycnkKKysoZGVmaW5lX2luc25fcmVzZXJ2YXRpb24g ICJhdG9tX2FsdSIgMQorKyAgKGFuZCAoZXFfYXR0ciAiY3B1IiAiYXRvbSIpCisrICAgICAgIChh bmQgKGVxX2F0dHIgInR5cGUiICJhbHUiKQorKyAgICAgICAgICAgIChhbmQgKGVxX2F0dHIgIm1l bW9yeSIgIm5vbmUiKQorKyAgICAgICAgICAgICAgICAgKGVxX2F0dHIgInVzZV9jYXJyeSIgIjAi KSkpKQorKyAgImF0b20tc2ltcGxlLWVpdGhlciIpCisrCisrOzsgTm9ybWFsIGFsdSBpbnNucyB3 aXRob3V0IGNhcnJ5CisrKGRlZmluZV9pbnNuX3Jlc2VydmF0aW9uICAiYXRvbV9hbHVfbWVtIiAx CisrICAoYW5kIChlcV9hdHRyICJjcHUiICJhdG9tIikKKysgICAgICAgKGFuZCAoZXFfYXR0ciAi dHlwZSIgImFsdSIpCisrICAgICAgICAgICAgKGFuZCAoZXFfYXR0ciAibWVtb3J5IiAiIW5vbmUi KQorKyAgICAgICAgICAgICAgICAgKGVxX2F0dHIgInVzZV9jYXJyeSIgIjAiKSkpKQorKyAgImF0 b20tc2ltcGxlLWVpdGhlciIpCisrCisrOzsgQWx1IGluc24gY29uc3VtaW5nIENGLCBzdWNoIGFz IGFkZC9zYmIKKysoZGVmaW5lX2luc25fcmVzZXJ2YXRpb24gICJhdG9tX2FsdV9jYXJyeSIgMQor KyAgKGFuZCAoZXFfYXR0ciAiY3B1IiAiYXRvbSIpCisrICAgICAgIChhbmQgKGVxX2F0dHIgInR5 cGUiICJhbHUiKQorKyAgICAgICAgICAgIChhbmQgKGVxX2F0dHIgIm1lbW9yeSIgIm5vbmUiKQor KyAgICAgICAgICAgICAgICAgKGVxX2F0dHIgInVzZV9jYXJyeSIgIjEiKSkpKQorKyAgImF0b20t c2ltcGxlLWVpdGhlciIpCisrCisrOzsgQWx1IGluc24gY29uc3VtaW5nIENGLCBzdWNoIGFzIGFk ZC9zYmIKKysoZGVmaW5lX2luc25fcmVzZXJ2YXRpb24gICJhdG9tX2FsdV9jYXJyeV9tZW0iIDEK KysgIChhbmQgKGVxX2F0dHIgImNwdSIgImF0b20iKQorKyAgICAgICAoYW5kIChlcV9hdHRyICJ0 eXBlIiAiYWx1IikKKysgICAgICAgICAgICAoYW5kIChlcV9hdHRyICJtZW1vcnkiICIhbm9uZSIp CisrICAgICAgICAgICAgICAgIChlcV9hdHRyICJ1c2VfY2FycnkiICIxIikpKSkKKysgICJhdG9t LXNpbXBsZS1laXRoZXIiKQorKworKyhkZWZpbmVfaW5zbl9yZXNlcnZhdGlvbiAgImF0b21fYWx1 MSIgMQorKyAgKGFuZCAoZXFfYXR0ciAiY3B1IiAiYXRvbSIpCisrICAgICAgIChhbmQgKGVxX2F0 dHIgInR5cGUiICJhbHUxIikKKysgICAgICAgICAgICAoZXFfYXR0ciAibWVtb3J5IiAibm9uZSIp KSkKKysgICJhdG9tLXNpbXBsZS1laXRoZXIiKQorKworKyhkZWZpbmVfaW5zbl9yZXNlcnZhdGlv biAgImF0b21fYWx1MV9tZW0iIDEKKysgIChhbmQgKGVxX2F0dHIgImNwdSIgImF0b20iKQorKyAg ICAgICAoYW5kIChlcV9hdHRyICJ0eXBlIiAiYWx1MSIpCisrICAgICAgICAgICAgKGVxX2F0dHIg Im1lbW9yeSIgIiFub25lIikpKQorKyAgImF0b20tc2ltcGxlLWVpdGhlciIpCisrCisrKGRlZmlu ZV9pbnNuX3Jlc2VydmF0aW9uICAiYXRvbV9uZWdub3QiIDEKKysgIChhbmQgKGVxX2F0dHIgImNw dSIgImF0b20iKQorKyAgICAgICAoYW5kIChlcV9hdHRyICJ0eXBlIiAibmVnbm90IikKKysgICAg ICAgICAgICAoZXFfYXR0ciAibWVtb3J5IiAibm9uZSIpKSkKKysgICJhdG9tLXNpbXBsZS1laXRo ZXIiKQorKworKyhkZWZpbmVfaW5zbl9yZXNlcnZhdGlvbiAgImF0b21fbmVnbm90X21lbSIgMQor KyAgKGFuZCAoZXFfYXR0ciAiY3B1IiAiYXRvbSIpCisrICAgICAgIChhbmQgKGVxX2F0dHIgInR5 cGUiICJuZWdub3QiKQorKyAgICAgICAgICAgIChlcV9hdHRyICJtZW1vcnkiICIhbm9uZSIpKSkK KysgICJhdG9tLXNpbXBsZS1laXRoZXIiKQorKworKyhkZWZpbmVfaW5zbl9yZXNlcnZhdGlvbiAg ImF0b21faW1vdiIgMQorKyAgKGFuZCAoZXFfYXR0ciAiY3B1IiAiYXRvbSIpCisrICAgICAgIChh bmQgKGVxX2F0dHIgInR5cGUiICJpbW92IikKKysgICAgICAgICAgICAoZXFfYXR0ciAibWVtb3J5 IiAibm9uZSIpKSkKKysgICJhdG9tLXNpbXBsZS1laXRoZXIiKQorKworKyhkZWZpbmVfaW5zbl9y ZXNlcnZhdGlvbiAgImF0b21faW1vdl9tZW0iIDEKKysgIChhbmQgKGVxX2F0dHIgImNwdSIgImF0 b20iKQorKyAgICAgICAoYW5kIChlcV9hdHRyICJ0eXBlIiAiaW1vdiIpCisrICAgICAgICAgICAg KGVxX2F0dHIgIm1lbW9yeSIgIiFub25lIikpKQorKyAgImF0b20tc2ltcGxlLWVpdGhlciIpCisr CisrOzsgMTY8LTE2LCAzMjwtMzIKKysoZGVmaW5lX2luc25fcmVzZXJ2YXRpb24gICJhdG9tX2lt b3Z4IiAxCisrICAoYW5kIChlcV9hdHRyICJjcHUiICJhdG9tIikKKysgICAgICAgKGFuZCAoZXFf YXR0ciAidHlwZSIgImltb3Z4IikKKysgICAgICAgICAgICAoYW5kIChlcV9hdHRyICJtZW1vcnki ICJub25lIikKKysgICAgICAgICAgICAgICAgIChpb3IgKGFuZCAobWF0Y2hfb3BlcmFuZDpISSAw ICJyZWdpc3Rlcl9vcGVyYW5kIikKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAobWF0Y2hf b3BlcmFuZDpISSAxICJnZW5lcmFsX29wZXJhbmQiKSkKKysgICAgICAgICAgICAgICAgICAgICAg KGFuZCAobWF0Y2hfb3BlcmFuZDpTSSAwICJyZWdpc3Rlcl9vcGVyYW5kIikKKysgICAgICAgICAg ICAgICAgICAgICAgICAgICAobWF0Y2hfb3BlcmFuZDpTSSAxICJnZW5lcmFsX29wZXJhbmQiKSkp KSkpCisrICAiYXRvbS1zaW1wbGUtZWl0aGVyIikKKysKKys7OyAxNjwtMTYsIDMyPC0zMiwgbWVt CisrKGRlZmluZV9pbnNuX3Jlc2VydmF0aW9uICAiYXRvbV9pbW92eF9tZW0iIDEKKysgIChhbmQg KGVxX2F0dHIgImNwdSIgImF0b20iKQorKyAgICAgICAoYW5kIChlcV9hdHRyICJ0eXBlIiAiaW1v dngiKQorKyAgICAgICAgICAgIChhbmQgKGVxX2F0dHIgIm1lbW9yeSIgIiFub25lIikKKysgICAg ICAgICAgICAgICAgIChpb3IgKGFuZCAobWF0Y2hfb3BlcmFuZDpISSAwICJyZWdpc3Rlcl9vcGVy YW5kIikKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAobWF0Y2hfb3BlcmFuZDpISSAxICJn ZW5lcmFsX29wZXJhbmQiKSkKKysgICAgICAgICAgICAgICAgICAgICAgKGFuZCAobWF0Y2hfb3Bl cmFuZDpTSSAwICJyZWdpc3Rlcl9vcGVyYW5kIikKKysgICAgICAgICAgICAgICAgICAgICAgICAg ICAobWF0Y2hfb3BlcmFuZDpTSSAxICJnZW5lcmFsX29wZXJhbmQiKSkpKSkpCisrICAiYXRvbS1z aW1wbGUtZWl0aGVyIikKKysKKys7OyAzMjwtMTYsIDMyPC04LCA2NDwtMTYsIDY0PC04LCA2NDwt MzIsIDg8LTgKKysoZGVmaW5lX2luc25fcmVzZXJ2YXRpb24gICJhdG9tX2ltb3Z4XzIiIDEKKysg IChhbmQgKGVxX2F0dHIgImNwdSIgImF0b20iKQorKyAgICAgICAoYW5kIChlcV9hdHRyICJ0eXBl IiAiaW1vdngiKQorKyAgICAgICAgICAgIChhbmQgKGVxX2F0dHIgIm1lbW9yeSIgIm5vbmUiKQor KyAgICAgICAgICAgICAgICAgKGlvciAobWF0Y2hfb3BlcmFuZDpRSSAwICJyZWdpc3Rlcl9vcGVy YW5kIikKKysgICAgICAgICAgICAgICAgICAgICAgKGlvciAoYW5kIChtYXRjaF9vcGVyYW5kOlNJ IDAgInJlZ2lzdGVyX29wZXJhbmQiKQorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg KG5vdCAobWF0Y2hfb3BlcmFuZDpTSSAxICJnZW5lcmFsX29wZXJhbmQiKSkpCisrICAgICAgICAg ICAgICAgICAgICAgICAgICAgKG1hdGNoX29wZXJhbmQ6REkgMCAicmVnaXN0ZXJfb3BlcmFuZCIp KSkpKSkKKysgICJhdG9tLXNpbXBsZS0wIikKKysKKys7OyAzMjwtMTYsIDMyPC04LCA2NDwtMTYs IDY0PC04LCA2NDwtMzIsIDg8LTgsIG1lbQorKyhkZWZpbmVfaW5zbl9yZXNlcnZhdGlvbiAgImF0 b21faW1vdnhfMl9tZW0iIDEKKysgIChhbmQgKGVxX2F0dHIgImNwdSIgImF0b20iKQorKyAgICAg ICAoYW5kIChlcV9hdHRyICJ0eXBlIiAiaW1vdngiKQorKyAgICAgICAgICAgIChhbmQgKGVxX2F0 dHIgIm1lbW9yeSIgIiFub25lIikKKysgICAgICAgICAgICAgICAgIChpb3IgKG1hdGNoX29wZXJh bmQ6UUkgMCAicmVnaXN0ZXJfb3BlcmFuZCIpCisrICAgICAgICAgICAgICAgICAgICAgIChpb3Ig KGFuZCAobWF0Y2hfb3BlcmFuZDpTSSAwICJyZWdpc3Rlcl9vcGVyYW5kIikKKysgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIChub3QgKG1hdGNoX29wZXJhbmQ6U0kgMSAiZ2VuZXJhbF9v cGVyYW5kIikpKQorKyAgICAgICAgICAgICAgICAgICAgICAgICAgIChtYXRjaF9vcGVyYW5kOkRJ IDAgInJlZ2lzdGVyX29wZXJhbmQiKSkpKSkpCisrICAiYXRvbS1zaW1wbGUtMCIpCisrCisrOzsg MTY8LTgKKysoZGVmaW5lX2luc25fcmVzZXJ2YXRpb24gICJhdG9tX2ltb3Z4XzMiIDMKKysgIChh bmQgKGVxX2F0dHIgImNwdSIgImF0b20iKQorKyAgICAgICAoYW5kIChlcV9hdHRyICJ0eXBlIiAi aW1vdngiKQorKyAgICAgICAgICAgIChhbmQgKG1hdGNoX29wZXJhbmQ6SEkgMCAicmVnaXN0ZXJf b3BlcmFuZCIpCisrICAgICAgICAgICAgICAgICAobWF0Y2hfb3BlcmFuZDpRSSAxICJnZW5lcmFs X29wZXJhbmQiKSkpKQorKyAgImF0b20tY29tcGxleCwgYXRvbS1hbGwtZXUqMiIpCisrCisrKGRl ZmluZV9pbnNuX3Jlc2VydmF0aW9uICAiYXRvbV9sZWEiIDEKKysgIChhbmQgKGVxX2F0dHIgImNw dSIgImF0b20iKQorKyAgICAgICAoYW5kIChlcV9hdHRyICJ0eXBlIiAibGVhIikKKysgICAgICAg ICAgICAoZXFfYXR0ciAibW9kZSIgIiFISSIpKSkKKysgICJhdG9tLXNpbXBsZS1laXRoZXIiKQor KworKzs7IGxlYSAxNmJpdCBhZGRyZXNzIGlzIGNvbXBsZXggaW5zbgorKyhkZWZpbmVfaW5zbl9y ZXNlcnZhdGlvbiAgImF0b21fbGVhXzIiIDIKKysgIChhbmQgKGVxX2F0dHIgImNwdSIgImF0b20i KQorKyAgICAgICAoYW5kIChlcV9hdHRyICJ0eXBlIiAibGVhIikKKysgICAgICAgICAgICAoZXFf YXR0ciAibW9kZSIgIkhJIikpKQorKyAgImF0b20tY29tcGxleCwgYXRvbS1hbGwtZXUiKQorKwor KyhkZWZpbmVfaW5zbl9yZXNlcnZhdGlvbiAgImF0b21faW5jZGVjIiAxCisrICAoYW5kIChlcV9h dHRyICJjcHUiICJhdG9tIikKKysgICAgICAgKGFuZCAoZXFfYXR0ciAidHlwZSIgImluY2RlYyIp CisrICAgICAgICAgICAgKGVxX2F0dHIgIm1lbW9yeSIgIm5vbmUiKSkpCisrICAiYXRvbS1zaW1w bGUtZWl0aGVyIikKKysKKysoZGVmaW5lX2luc25fcmVzZXJ2YXRpb24gICJhdG9tX2luY2RlY19t ZW0iIDEKKysgIChhbmQgKGVxX2F0dHIgImNwdSIgImF0b20iKQorKyAgICAgICAoYW5kIChlcV9h dHRyICJ0eXBlIiAiaW5jZGVjIikKKysgICAgICAgICAgICAoZXFfYXR0ciAibWVtb3J5IiAiIW5v bmUiKSkpCisrICAiYXRvbS1zaW1wbGUtZWl0aGVyIikKKysKKys7OyBzaW1wbGUgc2hpZnQgaW5z dHJ1Y3Rpb24gdXNlIFNISUZUIGV1LCBub25lIG1lbW9yeQorKyhkZWZpbmVfaW5zbl9yZXNlcnZh dGlvbiAgImF0b21faXNoaWZ0IiAxCisrICAoYW5kIChlcV9hdHRyICJjcHUiICJhdG9tIikKKysg ICAgICAgKGFuZCAoZXFfYXR0ciAidHlwZSIgImlzaGlmdCIpCisrICAgICAgICAgICAgKGFuZCAo ZXFfYXR0ciAibWVtb3J5IiAibm9uZSIpIChlcV9hdHRyICJwcmVmaXhfMGYiICIwIikpKSkKKysg ICJhdG9tLXNpbXBsZS0wIikKKysKKys7OyBzaW1wbGUgc2hpZnQgaW5zdHJ1Y3Rpb24gdXNlIFNI SUZUIGV1LCBtZW1vcnkKKysoZGVmaW5lX2luc25fcmVzZXJ2YXRpb24gICJhdG9tX2lzaGlmdF9t ZW0iIDEKKysgIChhbmQgKGVxX2F0dHIgImNwdSIgImF0b20iKQorKyAgICAgICAoYW5kIChlcV9h dHRyICJ0eXBlIiAiaXNoaWZ0IikKKysgICAgICAgICAgICAoYW5kIChlcV9hdHRyICJtZW1vcnki ICIhbm9uZSIpIChlcV9hdHRyICJwcmVmaXhfMGYiICIwIikpKSkKKysgICJhdG9tLXNpbXBsZS0w IikKKysKKys7OyBERiBzaGlmdCAocHJlZml4ZWQgd2l0aCAwZikgaXMgY29tcGxleCBpbnNuIHdp dGggbGF0ZW5jeSBvZiA3IGN5Y2xlcworKyhkZWZpbmVfaW5zbl9yZXNlcnZhdGlvbiAgImF0b21f aXNoaWZ0XzMiIDcKKysgIChhbmQgKGVxX2F0dHIgImNwdSIgImF0b20iKQorKyAgICAgICAoYW5k IChlcV9hdHRyICJ0eXBlIiAiaXNoaWZ0IikKKysgICAgICAgICAgICAoZXFfYXR0ciAicHJlZml4 XzBmIiAiMSIpKSkKKysgICJhdG9tLWNvbXBsZXgsIGF0b20tYWxsLWV1KjYiKQorKworKyhkZWZp bmVfaW5zbl9yZXNlcnZhdGlvbiAgImF0b21faXNoaWZ0MSIgMQorKyAgKGFuZCAoZXFfYXR0ciAi Y3B1IiAiYXRvbSIpCisrICAgICAgIChhbmQgKGVxX2F0dHIgInR5cGUiICJpc2hpZnQxIikKKysg ICAgICAgICAgICAoZXFfYXR0ciAibWVtb3J5IiAibm9uZSIpKSkKKysgICJhdG9tLXNpbXBsZS0w IikKKysKKysoZGVmaW5lX2luc25fcmVzZXJ2YXRpb24gICJhdG9tX2lzaGlmdDFfbWVtIiAxCisr ICAoYW5kIChlcV9hdHRyICJjcHUiICJhdG9tIikKKysgICAgICAgKGFuZCAoZXFfYXR0ciAidHlw ZSIgImlzaGlmdDEiKQorKyAgICAgICAgICAgIChlcV9hdHRyICJtZW1vcnkiICIhbm9uZSIpKSkK KysgICJhdG9tLXNpbXBsZS0wIikKKysKKysoZGVmaW5lX2luc25fcmVzZXJ2YXRpb24gICJhdG9t X3JvdGF0ZSIgMQorKyAgKGFuZCAoZXFfYXR0ciAiY3B1IiAiYXRvbSIpCisrICAgICAgIChhbmQg KGVxX2F0dHIgInR5cGUiICJyb3RhdGUiKQorKyAgICAgICAgICAgIChlcV9hdHRyICJtZW1vcnki ICJub25lIikpKQorKyAgImF0b20tc2ltcGxlLTAiKQorKworKyhkZWZpbmVfaW5zbl9yZXNlcnZh dGlvbiAgImF0b21fcm90YXRlX21lbSIgMQorKyAgKGFuZCAoZXFfYXR0ciAiY3B1IiAiYXRvbSIp CisrICAgICAgIChhbmQgKGVxX2F0dHIgInR5cGUiICJyb3RhdGUiKQorKyAgICAgICAgICAgIChl cV9hdHRyICJtZW1vcnkiICIhbm9uZSIpKSkKKysgICJhdG9tLXNpbXBsZS0wIikKKysKKysoZGVm aW5lX2luc25fcmVzZXJ2YXRpb24gICJhdG9tX3JvdGF0ZTEiIDEKKysgIChhbmQgKGVxX2F0dHIg ImNwdSIgImF0b20iKQorKyAgICAgICAoYW5kIChlcV9hdHRyICJ0eXBlIiAicm90YXRlMSIpCisr ICAgICAgICAgICAgKGVxX2F0dHIgIm1lbW9yeSIgIm5vbmUiKSkpCisrICAiYXRvbS1zaW1wbGUt MCIpCisrCisrKGRlZmluZV9pbnNuX3Jlc2VydmF0aW9uICAiYXRvbV9yb3RhdGUxX21lbSIgMQor KyAgKGFuZCAoZXFfYXR0ciAiY3B1IiAiYXRvbSIpCisrICAgICAgIChhbmQgKGVxX2F0dHIgInR5 cGUiICJyb3RhdGUxIikKKysgICAgICAgICAgICAoZXFfYXR0ciAibWVtb3J5IiAiIW5vbmUiKSkp CisrICAiYXRvbS1zaW1wbGUtMCIpCisrCisrKGRlZmluZV9pbnNuX3Jlc2VydmF0aW9uICAiYXRv bV9pbXVsIiA1CisrICAoYW5kIChlcV9hdHRyICJjcHUiICJhdG9tIikKKysgICAgICAgKGFuZCAo ZXFfYXR0ciAidHlwZSIgImltdWwiKQorKyAgICAgICAgICAgIChhbmQgKGVxX2F0dHIgIm1lbW9y eSIgIm5vbmUiKSAoZXFfYXR0ciAibW9kZSIgIlNJIikpKSkKKysgICJhdG9tLWltdWwtMzIiKQor KworKyhkZWZpbmVfaW5zbl9yZXNlcnZhdGlvbiAgImF0b21faW11bF9tZW0iIDUKKysgIChhbmQg KGVxX2F0dHIgImNwdSIgImF0b20iKQorKyAgICAgICAoYW5kIChlcV9hdHRyICJ0eXBlIiAiaW11 bCIpCisrICAgICAgICAgICAgKGFuZCAoZXFfYXR0ciAibWVtb3J5IiAiIW5vbmUiKSAoZXFfYXR0 ciAibW9kZSIgIlNJIikpKSkKKysgICJhdG9tLWltdWwtMzIiKQorKworKzs7IGxhdGVuY3kgc2V0 IHRvIDEwIGFzIGNvbW1vbiA2NHg2NCBpbXVsCisrKGRlZmluZV9pbnNuX3Jlc2VydmF0aW9uICAi YXRvbV9pbXVsXzMiIDEwCisrICAoYW5kIChlcV9hdHRyICJjcHUiICJhdG9tIikKKysgICAgICAg KGFuZCAoZXFfYXR0ciAidHlwZSIgImltdWwiKQorKyAgICAgICAgICAgIChlcV9hdHRyICJtb2Rl IiAiIVNJIikpKQorKyAgImF0b20tY29tcGxleCwgYXRvbS1hbGwtZXUqOSIpCisrCisrKGRlZmlu ZV9pbnNuX3Jlc2VydmF0aW9uICAiYXRvbV9pZGl2IiA2NQorKyAgKGFuZCAoZXFfYXR0ciAiY3B1 IiAiYXRvbSIpCisrICAgICAgIChlcV9hdHRyICJ0eXBlIiAiaWRpdiIpKQorKyAgImF0b20tY29t cGxleCwgYXRvbS1hbGwtZXUqMzIsIG5vdGhpbmcqMzIiKQorKworKyhkZWZpbmVfaW5zbl9yZXNl cnZhdGlvbiAgImF0b21faWNtcCIgMQorKyAgKGFuZCAoZXFfYXR0ciAiY3B1IiAiYXRvbSIpCisr ICAgICAgIChhbmQgKGVxX2F0dHIgInR5cGUiICJpY21wIikKKysgICAgICAgICAgICAoZXFfYXR0 ciAibWVtb3J5IiAibm9uZSIpKSkKKysgICJhdG9tLXNpbXBsZS1laXRoZXIiKQorKworKyhkZWZp bmVfaW5zbl9yZXNlcnZhdGlvbiAgImF0b21faWNtcF9tZW0iIDEKKysgIChhbmQgKGVxX2F0dHIg ImNwdSIgImF0b20iKQorKyAgICAgICAoYW5kIChlcV9hdHRyICJ0eXBlIiAiaWNtcCIpCisrICAg ICAgICAgICAgKGVxX2F0dHIgIm1lbW9yeSIgIiFub25lIikpKQorKyAgImF0b20tc2ltcGxlLWVp dGhlciIpCisrCisrKGRlZmluZV9pbnNuX3Jlc2VydmF0aW9uICAiYXRvbV90ZXN0IiAxCisrICAo YW5kIChlcV9hdHRyICJjcHUiICJhdG9tIikKKysgICAgICAgKGFuZCAoZXFfYXR0ciAidHlwZSIg InRlc3QiKQorKyAgICAgICAgICAgIChlcV9hdHRyICJtZW1vcnkiICJub25lIikpKQorKyAgImF0 b20tc2ltcGxlLWVpdGhlciIpCisrCisrKGRlZmluZV9pbnNuX3Jlc2VydmF0aW9uICAiYXRvbV90 ZXN0X21lbSIgMQorKyAgKGFuZCAoZXFfYXR0ciAiY3B1IiAiYXRvbSIpCisrICAgICAgIChhbmQg KGVxX2F0dHIgInR5cGUiICJ0ZXN0IikKKysgICAgICAgICAgICAoZXFfYXR0ciAibWVtb3J5IiAi IW5vbmUiKSkpCisrICAiYXRvbS1zaW1wbGUtZWl0aGVyIikKKysKKysoZGVmaW5lX2luc25fcmVz ZXJ2YXRpb24gICJhdG9tX2liciIgMQorKyAgKGFuZCAoZXFfYXR0ciAiY3B1IiAiYXRvbSIpCisr ICAgICAgIChhbmQgKGVxX2F0dHIgInR5cGUiICJpYnIiKQorKyAgICAgICAgICAgIChlcV9hdHRy ICJtZW1vcnkiICIhbG9hZCIpKSkKKysgICJhdG9tLXNpbXBsZS0xIikKKysKKys7OyBjb21wbGV4 IGlmIGp1bXAgdGFyZ2V0IGlzIGZyb20gYWRkcmVzcworKyhkZWZpbmVfaW5zbl9yZXNlcnZhdGlv biAgImF0b21faWJyXzIiIDIKKysgIChhbmQgKGVxX2F0dHIgImNwdSIgImF0b20iKQorKyAgICAg ICAoYW5kIChlcV9hdHRyICJ0eXBlIiAiaWJyIikKKysgICAgICAgICAgICAoZXFfYXR0ciAibWVt b3J5IiAibG9hZCIpKSkKKysgICJhdG9tLWNvbXBsZXgsIGF0b20tYWxsLWV1IikKKysKKysoZGVm aW5lX2luc25fcmVzZXJ2YXRpb24gICJhdG9tX3NldGNjIiAxCisrICAoYW5kIChlcV9hdHRyICJj cHUiICJhdG9tIikKKysgICAgICAgKGFuZCAoZXFfYXR0ciAidHlwZSIgInNldGNjIikKKysgICAg ICAgICAgICAoZXFfYXR0ciAibWVtb3J5IiAiIXN0b3JlIikpKQorKyAgImF0b20tc2ltcGxlLWVp dGhlciIpCisrCisrOzsgMiBjeWNsZXMgY29tcGxleCBpZiB0YXJnZXQgaXMgaW4gbWVtb3J5Cisr KGRlZmluZV9pbnNuX3Jlc2VydmF0aW9uICAiYXRvbV9zZXRjY18yIiAyCisrICAoYW5kIChlcV9h dHRyICJjcHUiICJhdG9tIikKKysgICAgICAgKGFuZCAoZXFfYXR0ciAidHlwZSIgInNldGNjIikK KysgICAgICAgICAgICAoZXFfYXR0ciAibWVtb3J5IiAic3RvcmUiKSkpCisrICAiYXRvbS1jb21w bGV4LCBhdG9tLWFsbC1ldSIpCisrCisrKGRlZmluZV9pbnNuX3Jlc2VydmF0aW9uICAiYXRvbV9p Y21vdiIgMQorKyAgKGFuZCAoZXFfYXR0ciAiY3B1IiAiYXRvbSIpCisrICAgICAgIChhbmQgKGVx X2F0dHIgInR5cGUiICJpY21vdiIpCisrICAgICAgICAgICAgKGVxX2F0dHIgIm1lbW9yeSIgIm5v bmUiKSkpCisrICAiYXRvbS1zaW1wbGUtZWl0aGVyIikKKysKKysoZGVmaW5lX2luc25fcmVzZXJ2 YXRpb24gICJhdG9tX2ljbW92X21lbSIgMQorKyAgKGFuZCAoZXFfYXR0ciAiY3B1IiAiYXRvbSIp CisrICAgICAgIChhbmQgKGVxX2F0dHIgInR5cGUiICJpY21vdiIpCisrICAgICAgICAgICAgKGVx X2F0dHIgIm1lbW9yeSIgIiFub25lIikpKQorKyAgImF0b20tc2ltcGxlLWVpdGhlciIpCisrCisr OzsgVUNPREUgaWYgc2VncmVnLCBpZ25vcmVkCisrKGRlZmluZV9pbnNuX3Jlc2VydmF0aW9uICAi YXRvbV9wdXNoIiAyCisrICAoYW5kIChlcV9hdHRyICJjcHUiICJhdG9tIikKKysgICAgICAgKGVx X2F0dHIgInR5cGUiICJwdXNoIikpCisrICAiYXRvbS1kdWFsLTJjIikKKysKKys7OyBwb3AgcjY0 IGlzIDEgY3ljbGUuIFVDT0RFIGlmIHNlZ3JlZywgaWdub3JlZAorKyhkZWZpbmVfaW5zbl9yZXNl cnZhdGlvbiAgImF0b21fcG9wIiAxCisrICAoYW5kIChlcV9hdHRyICJjcHUiICJhdG9tIikKKysg ICAgICAgKGFuZCAoZXFfYXR0ciAidHlwZSIgInBvcCIpCisrICAgICAgICAgICAgKGVxX2F0dHIg Im1vZGUiICJESSIpKSkKKysgICJhdG9tLWR1YWwtMWMiKQorKworKzs7IHBvcCBub24tcjY0IGlz IDIgY3ljbGVzLiBVQ09ERSBpZiBzZWdyZWcsIGlnbm9yZWQKKysoZGVmaW5lX2luc25fcmVzZXJ2 YXRpb24gICJhdG9tX3BvcF8yIiAyCisrICAoYW5kIChlcV9hdHRyICJjcHUiICJhdG9tIikKKysg ICAgICAgKGFuZCAoZXFfYXR0ciAidHlwZSIgInBvcCIpCisrICAgICAgICAgICAgKGVxX2F0dHIg Im1vZGUiICIhREkiKSkpCisrICAiYXRvbS1kdWFsLTJjIikKKysKKys7OyBVQ09ERSBpZiBzZWdy ZWcsIGlnbm9yZWQKKysoZGVmaW5lX2luc25fcmVzZXJ2YXRpb24gICJhdG9tX2NhbGwiIDEKKysg IChhbmQgKGVxX2F0dHIgImNwdSIgImF0b20iKQorKyAgICAgICAoZXFfYXR0ciAidHlwZSIgImNh bGwiKSkKKysgICJhdG9tLWR1YWwtMWMiKQorKworKyhkZWZpbmVfaW5zbl9yZXNlcnZhdGlvbiAg ImF0b21fY2FsbHYiIDEKKysgIChhbmQgKGVxX2F0dHIgImNwdSIgImF0b20iKQorKyAgICAgICAo ZXFfYXR0ciAidHlwZSIgImNhbGx2IikpCisrICAiYXRvbS1kdWFsLTFjIikKKysKKysoZGVmaW5l X2luc25fcmVzZXJ2YXRpb24gICJhdG9tX2xlYXZlIiAzCisrICAoYW5kIChlcV9hdHRyICJjcHUi ICJhdG9tIikKKysgICAgICAgKGVxX2F0dHIgInR5cGUiICJsZWF2ZSIpKQorKyAgImF0b20tY29t cGxleCwgYXRvbS1hbGwtZXUqMiIpCisrCisrKGRlZmluZV9pbnNuX3Jlc2VydmF0aW9uICAiYXRv bV9zdHIiIDMKKysgIChhbmQgKGVxX2F0dHIgImNwdSIgImF0b20iKQorKyAgICAgICAoZXFfYXR0 ciAidHlwZSIgInN0ciIpKQorKyAgImF0b20tY29tcGxleCwgYXRvbS1hbGwtZXUqMiIpCisrCisr KGRlZmluZV9pbnNuX3Jlc2VydmF0aW9uICAiYXRvbV9zc2Vsb2ciIDEKKysgIChhbmQgKGVxX2F0 dHIgImNwdSIgImF0b20iKQorKyAgICAgICAoYW5kIChlcV9hdHRyICJ0eXBlIiAic3NlbG9nIikK KysgICAgICAgICAgICAoZXFfYXR0ciAibWVtb3J5IiAibm9uZSIpKSkKKysgICJhdG9tLXNpbXBs ZS1laXRoZXIiKQorKworKyhkZWZpbmVfaW5zbl9yZXNlcnZhdGlvbiAgImF0b21fc3NlbG9nX21l bSIgMQorKyAgKGFuZCAoZXFfYXR0ciAiY3B1IiAiYXRvbSIpCisrICAgICAgIChhbmQgKGVxX2F0 dHIgInR5cGUiICJzc2Vsb2ciKQorKyAgICAgICAgICAgIChlcV9hdHRyICJtZW1vcnkiICIhbm9u ZSIpKSkKKysgICJhdG9tLXNpbXBsZS1laXRoZXIiKQorKworKyhkZWZpbmVfaW5zbl9yZXNlcnZh dGlvbiAgImF0b21fc3NlbG9nMSIgMQorKyAgKGFuZCAoZXFfYXR0ciAiY3B1IiAiYXRvbSIpCisr ICAgICAgIChhbmQgKGVxX2F0dHIgInR5cGUiICJzc2Vsb2cxIikKKysgICAgICAgICAgICAoZXFf YXR0ciAibWVtb3J5IiAibm9uZSIpKSkKKysgICJhdG9tLXNpbXBsZS0wIikKKysKKysoZGVmaW5l X2luc25fcmVzZXJ2YXRpb24gICJhdG9tX3NzZWxvZzFfbWVtIiAxCisrICAoYW5kIChlcV9hdHRy ICJjcHUiICJhdG9tIikKKysgICAgICAgKGFuZCAoZXFfYXR0ciAidHlwZSIgInNzZWxvZzEiKQor KyAgICAgICAgICAgIChlcV9hdHRyICJtZW1vcnkiICIhbm9uZSIpKSkKKysgICJhdG9tLXNpbXBs ZS0wIikKKysKKys7OyBub3QgcG1hZCwgbm90IHBzYWQKKysoZGVmaW5lX2luc25fcmVzZXJ2YXRp b24gICJhdG9tX3NzZWlhZGQiIDEKKysgIChhbmQgKGVxX2F0dHIgImNwdSIgImF0b20iKQorKyAg ICAgICAoYW5kIChlcV9hdHRyICJ0eXBlIiAic3NlaWFkZCIpCisrICAgICAgICAgICAgKGFuZCAo bm90IChtYXRjaF9vcGVyYW5kOlYyREkgMCAicmVnaXN0ZXJfb3BlcmFuZCIpKQorKyAgICAgICAg ICAgICAgICAgKGFuZCAoZXFfYXR0ciAiYXRvbV91bml0IiAiIXNpbXVsIikKKysgICAgICAgICAg ICAgICAgICAgICAgKGVxX2F0dHIgImF0b21fdW5pdCIgIiFjb21wbGV4IikpKSkpCisrICAiYXRv bS1zaW1wbGUtZWl0aGVyIikKKysKKys7OyBwbWFkLCBwc2FkIGFuZCA2NAorKyhkZWZpbmVfaW5z bl9yZXNlcnZhdGlvbiAgImF0b21fc3NlaWFkZF8yIiA0CisrICAoYW5kIChlcV9hdHRyICJjcHUi ICJhdG9tIikKKysgICAgICAgKGFuZCAoZXFfYXR0ciAidHlwZSIgInNzZWlhZGQiKQorKyAgICAg ICAgICAgIChhbmQgKG5vdCAobWF0Y2hfb3BlcmFuZDpWMkRJIDAgInJlZ2lzdGVyX29wZXJhbmQi KSkKKysgICAgICAgICAgICAgICAgIChhbmQgKGVxX2F0dHIgImF0b21fdW5pdCIgInNpbXVsIiAp CisrICAgICAgICAgICAgICAgICAgICAgIChlcV9hdHRyICJtb2RlIiAiREkiKSkpKSkKKysgICJh dG9tLWZtdWwtNGMiKQorKworKzs7IHBtYWQsIHBzYWQgYW5kIDEyOAorKyhkZWZpbmVfaW5zbl9y ZXNlcnZhdGlvbiAgImF0b21fc3NlaWFkZF8zIiA1CisrICAoYW5kIChlcV9hdHRyICJjcHUiICJh dG9tIikKKysgICAgICAgKGFuZCAoZXFfYXR0ciAidHlwZSIgInNzZWlhZGQiKQorKyAgICAgICAg ICAgIChhbmQgKG5vdCAobWF0Y2hfb3BlcmFuZDpWMkRJIDAgInJlZ2lzdGVyX29wZXJhbmQiKSkK KysgICAgICAgICAgICAgICAgIChhbmQgKGVxX2F0dHIgImF0b21fdW5pdCIgInNpbXVsIiApCisr ICAgICAgICAgICAgICAgICAgICAgIChlcV9hdHRyICJtb2RlIiAiVEkiKSkpKSkKKysgICJhdG9t LWZtdWwtNWMiKQorKworKzs7IGlmIHBhZGRxKDY0IGJpdCBvcCksIHBoYWRkL3Boc3ViCisrKGRl ZmluZV9pbnNuX3Jlc2VydmF0aW9uICAiYXRvbV9zc2VpYWRkXzQiIDYKKysgIChhbmQgKGVxX2F0 dHIgImNwdSIgImF0b20iKQorKyAgICAgICAoYW5kIChlcV9hdHRyICJ0eXBlIiAic3NlaWFkZCIp CisrICAgICAgICAgICAgKGlvciAobWF0Y2hfb3BlcmFuZDpWMkRJIDAgInJlZ2lzdGVyX29wZXJh bmQiKQorKyAgICAgICAgICAgICAgICAgKGVxX2F0dHIgImF0b21fdW5pdCIgImNvbXBsZXgiKSkp KQorKyAgImF0b20tY29tcGxleCwgYXRvbS1hbGwtZXUqNSIpCisrCisrOzsgaWYgaW1tZWRpYXRl IG9wLiAKKysoZGVmaW5lX2luc25fcmVzZXJ2YXRpb24gICJhdG9tX3NzZWlzaGZ0IiAxCisrICAo YW5kIChlcV9hdHRyICJjcHUiICJhdG9tIikKKysgICAgICAgKGFuZCAoZXFfYXR0ciAidHlwZSIg InNzZWlzaGZ0IikKKysgICAgICAgICAgICAoYW5kIChlcV9hdHRyICJhdG9tX3VuaXQiICIhc2lz aHVmIikKKysgICAgICAgICAgICAgICAgIChtYXRjaF9vcGVyYW5kIDIgImltbWVkaWF0ZV9vcGVy YW5kIikpKSkKKysgICJhdG9tLXNpbXBsZS1laXRoZXIiKQorKworKzs7IGlmIHBhbGlnbnIgb3Ig cHNybGRxCisrKGRlZmluZV9pbnNuX3Jlc2VydmF0aW9uICAiYXRvbV9zc2Vpc2hmdF8yIiAxCisr ICAoYW5kIChlcV9hdHRyICJjcHUiICJhdG9tIikKKysgICAgICAgKGFuZCAoZXFfYXR0ciAidHlw ZSIgInNzZWlzaGZ0IikKKysgICAgICAgICAgICAoYW5kIChlcV9hdHRyICJhdG9tX3VuaXQiICJz aXNodWYiKQorKyAgICAgICAgICAgICAgICAgKG1hdGNoX29wZXJhbmQgMiAiaW1tZWRpYXRlX29w ZXJhbmQiKSkpKQorKyAgImF0b20tc2ltcGxlLTAiKQorKworKzs7IGlmIHJlZy9tZW0gb3AKKyso ZGVmaW5lX2luc25fcmVzZXJ2YXRpb24gICJhdG9tX3NzZWlzaGZ0XzMiIDIKKysgIChhbmQgKGVx X2F0dHIgImNwdSIgImF0b20iKQorKyAgICAgICAoYW5kIChlcV9hdHRyICJ0eXBlIiAic3NlaXNo ZnQiKQorKyAgICAgICAgICAgIChub3QgKG1hdGNoX29wZXJhbmQgMiAiaW1tZWRpYXRlX29wZXJh bmQiKSkpKQorKyAgImF0b20tY29tcGxleCwgYXRvbS1hbGwtZXUiKQorKworKyhkZWZpbmVfaW5z bl9yZXNlcnZhdGlvbiAgImF0b21fc3NlaW11bCIgMQorKyAgKGFuZCAoZXFfYXR0ciAiY3B1IiAi YXRvbSIpCisrICAgICAgIChlcV9hdHRyICJ0eXBlIiAic3NlaW11bCIpKQorKyAgImF0b20tc2lt cGxlLTAiKQorKworKzs7IHJjcHNzIG9yIHJzcXJ0c3MKKysoZGVmaW5lX2luc25fcmVzZXJ2YXRp b24gICJhdG9tX3NzZSIgNAorKyAgKGFuZCAoZXFfYXR0ciAiY3B1IiAiYXRvbSIpCisrICAgICAg IChhbmQgKGVxX2F0dHIgInR5cGUiICJzc2UiKQorKyAgICAgICAgICAgIChhbmQgKGVxX2F0dHIg ImF0b21fc3NlX2F0dHIiICJyY3AiKSAoZXFfYXR0ciAibW9kZSIgIlNGIikpKSkKKysgICJhdG9t LWZtdWwtNGMiKQorKworKzs7IG1vdnNoZHVwLCBtb3ZzbGR1cC4gU3VnZ2VzdCB0byB0eXBlIHNz ZWlzaGZ0CisrKGRlZmluZV9pbnNuX3Jlc2VydmF0aW9uICAiYXRvbV9zc2VfMiIgMQorKyAgKGFu ZCAoZXFfYXR0ciAiY3B1IiAiYXRvbSIpCisrICAgICAgIChhbmQgKGVxX2F0dHIgInR5cGUiICJz c2UiKQorKyAgICAgICAgICAgIChlcV9hdHRyICJhdG9tX3NzZV9hdHRyIiAibW92ZHVwIikpKQor KyAgImF0b20tc2ltcGxlLTAiKQorKworKzs7IGxmZW5jZQorKyhkZWZpbmVfaW5zbl9yZXNlcnZh dGlvbiAgImF0b21fc3NlXzMiIDEKKysgIChhbmQgKGVxX2F0dHIgImNwdSIgImF0b20iKQorKyAg ICAgICAoYW5kIChlcV9hdHRyICJ0eXBlIiAic3NlIikKKysgICAgICAgICAgICAoZXFfYXR0ciAi YXRvbV9zc2VfYXR0ciIgImxmZW5jZSIpKSkKKysgICJhdG9tLXNpbXBsZS1laXRoZXIiKQorKwor Kzs7IHNmZW5jZSxjbGZsdXNoLG1mZW5jZSwgcHJlZmV0Y2gKKysoZGVmaW5lX2luc25fcmVzZXJ2 YXRpb24gICJhdG9tX3NzZV80IiAxCisrICAoYW5kIChlcV9hdHRyICJjcHUiICJhdG9tIikKKysg ICAgICAgKGFuZCAoZXFfYXR0ciAidHlwZSIgInNzZSIpCisrICAgICAgICAgICAgKGlvciAoZXFf YXR0ciAiYXRvbV9zc2VfYXR0ciIgImZlbmNlIikKKysgICAgICAgICAgICAgICAgIChlcV9hdHRy ICJhdG9tX3NzZV9hdHRyIiAicHJlZmV0Y2giKSkpKQorKyAgImF0b20tc2ltcGxlLTAiKQorKwor Kzs7IHJjcHBzLCByc3FydHNzLCBzcXJ0LCBsZG14Y3NyCisrKGRlZmluZV9pbnNuX3Jlc2VydmF0 aW9uICAiYXRvbV9zc2VfNSIgNworKyAgKGFuZCAoZXFfYXR0ciAiY3B1IiAiYXRvbSIpCisrICAg ICAgIChhbmQgKGVxX2F0dHIgInR5cGUiICJzc2UiKQorKyAgICAgICAgICAgIChpb3IgKGlvciAo ZXFfYXR0ciAiYXRvbV9zc2VfYXR0ciIgInNxcnQiKQorKyAgICAgICAgICAgICAgICAgICAgICAo ZXFfYXR0ciAiYXRvbV9zc2VfYXR0ciIgIm14Y3NyIikpCisrICAgICAgICAgICAgICAgICAoYW5k IChlcV9hdHRyICJhdG9tX3NzZV9hdHRyIiAicmNwIikKKysgICAgICAgICAgICAgICAgICAgICAg KGVxX2F0dHIgIm1vZGUiICJWNFNGIikpKSkpCisrICAiYXRvbS1jb21wbGV4LCBhdG9tLWFsbC1l dSo2IikKKysKKys7OyB4bW0tPnhtbQorKyhkZWZpbmVfaW5zbl9yZXNlcnZhdGlvbiAgImF0b21f c3NlbW92IiAxCisrICAoYW5kIChlcV9hdHRyICJjcHUiICJhdG9tIikKKysgICAgICAgKGFuZCAo ZXFfYXR0ciAidHlwZSIgInNzZW1vdiIpCisrICAgICAgICAgICAgKGFuZCAobWF0Y2hfb3BlcmFu ZCAwICJyZWdpc3Rlcl9vcGVyYW5kIiAieHkiKSAobWF0Y2hfb3BlcmFuZCAxICJyZWdpc3Rlcl9v cGVyYW5kIiAieHkiKSkpKQorKyAgImF0b20tc2ltcGxlLWVpdGhlciIpCisrCisrOzsgcmVnLT54 bW0KKysoZGVmaW5lX2luc25fcmVzZXJ2YXRpb24gICJhdG9tX3NzZW1vdl8yIiAxCisrICAoYW5k IChlcV9hdHRyICJjcHUiICJhdG9tIikKKysgICAgICAgKGFuZCAoZXFfYXR0ciAidHlwZSIgInNz ZW1vdiIpCisrICAgICAgICAgICAgKGFuZCAobWF0Y2hfb3BlcmFuZCAwICJyZWdpc3Rlcl9vcGVy YW5kIiAieHkiKSAobWF0Y2hfb3BlcmFuZCAxICJyZWdpc3Rlcl9vcGVyYW5kIiAiciIpKSkpCisr ICAiYXRvbS1zaW1wbGUtMCIpCisrCisrOzsgeG1tLT5yZWcKKysoZGVmaW5lX2luc25fcmVzZXJ2 YXRpb24gICJhdG9tX3NzZW1vdl8zIiAzCisrICAoYW5kIChlcV9hdHRyICJjcHUiICJhdG9tIikK KysgICAgICAgKGFuZCAoZXFfYXR0ciAidHlwZSIgInNzZW1vdiIpCisrICAgICAgICAgICAgKGFu ZCAobWF0Y2hfb3BlcmFuZCAwICJyZWdpc3Rlcl9vcGVyYW5kIiAiciIpIChtYXRjaF9vcGVyYW5k IDEgInJlZ2lzdGVyX29wZXJhbmQiICJ4eSIpKSkpCisrICAiYXRvbS1ldS0wLTMtMSIpCisrCisr OzsgbW92IG1lbQorKyhkZWZpbmVfaW5zbl9yZXNlcnZhdGlvbiAgImF0b21fc3NlbW92XzQiIDEK KysgIChhbmQgKGVxX2F0dHIgImNwdSIgImF0b20iKQorKyAgICAgICAoYW5kIChlcV9hdHRyICJ0 eXBlIiAic3NlbW92IikKKysgICAgICAgICAgICAoYW5kIChlcV9hdHRyICJtb3Z1IiAiMCIpIChl cV9hdHRyICJtZW1vcnkiICIhbm9uZSIpKSkpCisrICAiYXRvbS1zaW1wbGUtMCIpCisrCisrOzsg bW92dSBtZW0KKysoZGVmaW5lX2luc25fcmVzZXJ2YXRpb24gICJhdG9tX3NzZW1vdl81IiAyCisr ICAoYW5kIChlcV9hdHRyICJjcHUiICJhdG9tIikKKysgICAgICAgKGFuZCAoZXFfYXR0ciAidHlw ZSIgInNzZW1vdiIpCisrICAgICAgICAgICAgKGlvciAoZXFfYXR0ciAibW92dSIgIjEiKSAoZXFf YXR0ciAibWVtb3J5IiAiIW5vbmUiKSkpKQorKyAgImF0b20tY29tcGxleCwgYXRvbS1hbGwtZXUi KQorKworKzs7IG5vIG1lbW9yeSBzaW1wbGUKKysoZGVmaW5lX2luc25fcmVzZXJ2YXRpb24gICJh dG9tX3NzZWFkZCIgNQorKyAgKGFuZCAoZXFfYXR0ciAiY3B1IiAiYXRvbSIpCisrICAgICAgIChh bmQgKGVxX2F0dHIgInR5cGUiICJzc2VhZGQiKQorKyAgICAgICAgICAgIChhbmQgKGVxX2F0dHIg Im1lbW9yeSIgIm5vbmUiKQorKyAgICAgICAgICAgICAgICAgKGFuZCAoZXFfYXR0ciAibW9kZSIg IiFWMkRGIikKKysgICAgICAgICAgICAgICAgICAgICAgKGVxX2F0dHIgImF0b21fdW5pdCIgIiFj b21wbGV4IikpKSkpCisrICAiYXRvbS1mYWRkLTVjIikKKysKKys7OyBtZW1vcnkgc2ltcGxlCisr KGRlZmluZV9pbnNuX3Jlc2VydmF0aW9uICAiYXRvbV9zc2VhZGRfbWVtIiA1CisrICAoYW5kIChl cV9hdHRyICJjcHUiICJhdG9tIikKKysgICAgICAgKGFuZCAoZXFfYXR0ciAidHlwZSIgInNzZWFk ZCIpCisrICAgICAgICAgICAgKGFuZCAoZXFfYXR0ciAibWVtb3J5IiAiIW5vbmUiKQorKyAgICAg ICAgICAgICAgICAgKGFuZCAoZXFfYXR0ciAibW9kZSIgIiFWMkRGIikKKysgICAgICAgICAgICAg ICAgICAgICAgKGVxX2F0dHIgImF0b21fdW5pdCIgIiFjb21wbGV4IikpKSkpCisrICAiYXRvbS1k dWFsLTVjIikKKysKKys7OyBtYXhwcywgbWlucHMsICpwZCwgaGFkZCwgaHN1YgorKyhkZWZpbmVf aW5zbl9yZXNlcnZhdGlvbiAgImF0b21fc3NlYWRkXzMiIDgKKysgIChhbmQgKGVxX2F0dHIgImNw dSIgImF0b20iKQorKyAgICAgICAoYW5kIChlcV9hdHRyICJ0eXBlIiAic3NlYWRkIikKKysgICAg ICAgICAgICAoaW9yIChlcV9hdHRyICJtb2RlIiAiVjJERiIpIChlcV9hdHRyICJhdG9tX3VuaXQi ICJjb21wbGV4IikpKSkKKysgICJhdG9tLWNvbXBsZXgsIGF0b20tYWxsLWV1KjciKQorKworKzs7 IEV4Y2VwdCBkcHBkL2RwcHMKKysoZGVmaW5lX2luc25fcmVzZXJ2YXRpb24gICJhdG9tX3NzZW11 bCIgNQorKyAgKGFuZCAoZXFfYXR0ciAiY3B1IiAiYXRvbSIpCisrICAgICAgIChhbmQgKGVxX2F0 dHIgInR5cGUiICJzc2VtdWwiKQorKyAgICAgICAgICAgIChlcV9hdHRyICJtb2RlIiAiIVNGIikp KQorKyAgImF0b20tZm11bC01YyIpCisrCisrOzsgRXhjZXB0IGRwcGQvZHBwcywgNCBjeWNsZSBp ZiBtdWxzcworKyhkZWZpbmVfaW5zbl9yZXNlcnZhdGlvbiAgImF0b21fc3NlbXVsXzIiIDQKKysg IChhbmQgKGVxX2F0dHIgImNwdSIgImF0b20iKQorKyAgICAgICAoYW5kIChlcV9hdHRyICJ0eXBl IiAic3NlbXVsIikKKysgICAgICAgICAgICAoZXFfYXR0ciAibW9kZSIgIlNGIikpKQorKyAgImF0 b20tZm11bC00YyIpCisrCisrKGRlZmluZV9pbnNuX3Jlc2VydmF0aW9uICAiYXRvbV9zc2VjbXAi IDEKKysgIChhbmQgKGVxX2F0dHIgImNwdSIgImF0b20iKQorKyAgICAgICAoZXFfYXR0ciAidHlw ZSIgInNzZWNtcCIpKQorKyAgImF0b20tc2ltcGxlLWVpdGhlciIpCisrCisrKGRlZmluZV9pbnNu X3Jlc2VydmF0aW9uICAiYXRvbV9zc2Vjb21pIiAxMAorKyAgKGFuZCAoZXFfYXR0ciAiY3B1IiAi YXRvbSIpCisrICAgICAgIChlcV9hdHRyICJ0eXBlIiAic3NlY29taSIpKQorKyAgImF0b20tY29t cGxleCwgYXRvbS1hbGwtZXUqOSIpCisrCisrOzsgbm8gbWVtb3J5IGFuZCBjdnRwaTJwcywgY3Z0 cHMycGksIGN2dHRwczJwaQorKyhkZWZpbmVfaW5zbl9yZXNlcnZhdGlvbiAgImF0b21fc3NlY3Z0 IiA1CisrICAoYW5kIChlcV9hdHRyICJjcHUiICJhdG9tIikKKysgICAgICAgKGFuZCAoZXFfYXR0 ciAidHlwZSIgInNzZWN2dCIpCisrICAgICAgICAgICAgKGlvciAoYW5kIChtYXRjaF9vcGVyYW5k OlYyU0kgMCAicmVnaXN0ZXJfb3BlcmFuZCIpCisrICAgICAgICAgICAgICAgICAgICAgIChtYXRj aF9vcGVyYW5kOlY0U0YgMSAicmVnaXN0ZXJfb3BlcmFuZCIpKQorKyAgICAgICAgICAgICAgICAg KGFuZCAobWF0Y2hfb3BlcmFuZDpWNFNGIDAgInJlZ2lzdGVyX29wZXJhbmQiKQorKyAgICAgICAg ICAgICAgICAgICAgICAobWF0Y2hfb3BlcmFuZDpWMlNJIDEgInJlZ2lzdGVyX29wZXJhbmQiKSkp KSkKKysgICJhdG9tLWZhZGQtNWMiKQorKworKzs7IG1lbW9yeSBhbmQgY3Z0cGkycHMsIGN2dHBz MnBpLCBjdnR0cHMycGkKKysoZGVmaW5lX2luc25fcmVzZXJ2YXRpb24gICJhdG9tX3NzZWN2dF8y IiA1CisrICAoYW5kIChlcV9hdHRyICJjcHUiICJhdG9tIikKKysgICAgICAgKGFuZCAoZXFfYXR0 ciAidHlwZSIgInNzZWN2dCIpCisrICAgICAgICAgICAgKGlvciAoYW5kIChtYXRjaF9vcGVyYW5k OlYyU0kgMCAicmVnaXN0ZXJfb3BlcmFuZCIpCisrICAgICAgICAgICAgICAgICAgICAgIChtYXRj aF9vcGVyYW5kOlY0U0YgMSAibWVtb3J5X29wZXJhbmQiKSkKKysgICAgICAgICAgICAgICAgIChh bmQgKG1hdGNoX29wZXJhbmQ6VjRTRiAwICJyZWdpc3Rlcl9vcGVyYW5kIikKKysgICAgICAgICAg ICAgICAgICAgICAgKG1hdGNoX29wZXJhbmQ6VjJTSSAxICJtZW1vcnlfb3BlcmFuZCIpKSkpKQor KyAgImF0b20tZHVhbC01YyIpCisrCisrOzsgb3RoZXJ3aXNlLiA3IGN5Y2xlcyBhdmVyYWdlIGZv ciBjdnRzczJzZAorKyhkZWZpbmVfaW5zbl9yZXNlcnZhdGlvbiAgImF0b21fc3NlY3Z0XzMiIDcK KysgIChhbmQgKGVxX2F0dHIgImNwdSIgImF0b20iKQorKyAgICAgICAoYW5kIChlcV9hdHRyICJ0 eXBlIiAic3NlY3Z0IikKKysgICAgICAgICAgICAobm90IChpb3IgKGFuZCAobWF0Y2hfb3BlcmFu ZDpWMlNJIDAgInJlZ2lzdGVyX29wZXJhbmQiKQorKyAgICAgICAgICAgICAgICAgICAgICAgICAg IChtYXRjaF9vcGVyYW5kOlY0U0YgMSAibm9uaW1tZWRpYXRlX29wZXJhbmQiKSkKKysgICAgICAg ICAgICAgICAgICAgICAgKGFuZCAobWF0Y2hfb3BlcmFuZDpWNFNGIDAgInJlZ2lzdGVyX29wZXJh bmQiKQorKyAgICAgICAgICAgICAgICAgICAgICAgICAgIChtYXRjaF9vcGVyYW5kOlYyU0kgMSAi bm9uaW1tZWRpYXRlX29wZXJhbmQiKSkpKSkpCisrICAiYXRvbS1jb21wbGV4LCBhdG9tLWFsbC1l dSo2IikKKysKKys7OyBtZW1vcnkgYW5kIGN2dHNpMnNkCisrKGRlZmluZV9pbnNuX3Jlc2VydmF0 aW9uICAiYXRvbV9zc2VpY3Z0IiA1CisrICAoYW5kIChlcV9hdHRyICJjcHUiICJhdG9tIikKKysg ICAgICAgKGFuZCAoZXFfYXR0ciAidHlwZSIgInNzZWljdnQiKQorKyAgICAgICAgICAgIChhbmQg KG1hdGNoX29wZXJhbmQ6VjJERiAwICJyZWdpc3Rlcl9vcGVyYW5kIikKKysgICAgICAgICAgICAg ICAgIChtYXRjaF9vcGVyYW5kOlNJIDEgIm1lbW9yeV9vcGVyYW5kIikpKSkKKysgICJhdG9tLWR1 YWwtNWMiKQorKworKzs7IG90aGVyd2lzZS4gOCBjeWNsZXMgYXZlcmFnZSBmb3IgY3Z0c2Qyc2kK KysoZGVmaW5lX2luc25fcmVzZXJ2YXRpb24gICJhdG9tX3NzZWljdnRfMiIgOAorKyAgKGFuZCAo ZXFfYXR0ciAiY3B1IiAiYXRvbSIpCisrICAgICAgIChhbmQgKGVxX2F0dHIgInR5cGUiICJzc2Vp Y3Z0IikKKysgICAgICAgICAgICAobm90IChhbmQgKG1hdGNoX29wZXJhbmQ6VjJERiAwICJyZWdp c3Rlcl9vcGVyYW5kIikKKysgICAgICAgICAgICAgICAgICAgICAgKG1hdGNoX29wZXJhbmQ6U0kg MSAibWVtb3J5X29wZXJhbmQiKSkpKSkKKysgICJhdG9tLWNvbXBsZXgsIGF0b20tYWxsLWV1Kjci KQorKworKyhkZWZpbmVfaW5zbl9yZXNlcnZhdGlvbiAgImF0b21fc3NlZGl2IiA2MgorKyAgKGFu ZCAoZXFfYXR0ciAiY3B1IiAiYXRvbSIpCisrICAgICAgIChlcV9hdHRyICJ0eXBlIiAic3NlZGl2 IikpCisrICAiYXRvbS1jb21wbGV4LCBhdG9tLWFsbC1ldSoxMiwgbm90aGluZyo0OSIpCisrCisr Ozsgc2ltcGxlIGZvciBmbW92CisrKGRlZmluZV9pbnNuX3Jlc2VydmF0aW9uICAiYXRvbV9mbW92 IiAxCisrICAoYW5kIChlcV9hdHRyICJjcHUiICJhdG9tIikKKysgICAgICAgKGFuZCAoZXFfYXR0 ciAidHlwZSIgImZtb3YiKQorKyAgICAgICAgICAgIChlcV9hdHRyICJtZW1vcnkiICJub25lIikp KQorKyAgImF0b20tc2ltcGxlLWVpdGhlciIpCisrCisrOzsgc2ltcGxlIGZvciBmbW92CisrKGRl ZmluZV9pbnNuX3Jlc2VydmF0aW9uICAiYXRvbV9mbW92X21lbSIgMQorKyAgKGFuZCAoZXFfYXR0 ciAiY3B1IiAiYXRvbSIpCisrICAgICAgIChhbmQgKGVxX2F0dHIgInR5cGUiICJmbW92IikKKysg ICAgICAgICAgICAoZXFfYXR0ciAibWVtb3J5IiAiIW5vbmUiKSkpCisrICAiYXRvbS1zaW1wbGUt ZWl0aGVyIikKKysKKys7OyBEZWZpbmUgYnlwYXNzIGhlcmUKKysKKys7OyBUaGVyZSB3aWxsIGJl IG5vIHN0YWxsIGZyb20gbGVhIHRvIG5vbi1tZW0gRVggaW5zbnMKKysoZGVmaW5lX2J5cGFzcyAw ICJhdG9tX2xlYSIKKysgICAgICAgICAgICAgICAgICJhdG9tX2FsdV9jYXJyeSwKKysgICAgICAg ICAgICAgICAgICBhdG9tX2FsdSxhdG9tX2FsdTEsYXRvbV9uZWdub3QsYXRvbV9pbW92LGF0b21f aW1vdngsCisrICAgICAgICAgICAgICAgICAgYXRvbV9pbmNkZWMsIGF0b21fc2V0Y2MsIGF0b21f aWNtb3YsIGF0b21fcG9wIikKKysKKysoZGVmaW5lX2J5cGFzcyAwICJhdG9tX2xlYSIKKysgICAg ICAgICAgICAgICAgICJhdG9tX2FsdV9tZW0sIGF0b21fYWx1X2NhcnJ5X21lbSwgYXRvbV9hbHUx X21lbSwKKysgICAgICAgICAgICAgICAgICBhdG9tX2ltb3Z4X21lbSwgYXRvbV9pbW92eF8yX21l bSwKKysgICAgICAgICAgICAgICAgICBhdG9tX2ltb3ZfbWVtLCBhdG9tX2ljbW92X21lbSwgYXRv bV9mbW92X21lbSIKKysgICAgICAgICAgICAgICAgICIhaXg4Nl9hZ2lfZGVwZW5kZW50IikKKysK Kys7OyBUaGVyZSB3aWxsIGJlIDMgY3ljbGVzIHN0YWxsIGZyb20gRVggaW5zbnMgdG8gQUdBTiBp bnNucyBMRUEKKysoZGVmaW5lX2J5cGFzcyA0ICJhdG9tX2FsdV9jYXJyeSwKKysgICAgICAgICAg ICAgICAgICBhdG9tX2FsdSxhdG9tX2FsdTEsYXRvbV9uZWdub3QsYXRvbV9pbW92LGF0b21faW1v dngsCisrICAgICAgICAgICAgICAgICAgYXRvbV9pbmNkZWMsYXRvbV9pc2hpZnQsYXRvbV9pc2hp ZnQxLGF0b21fcm90YXRlLAorKyAgICAgICAgICAgICAgICAgIGF0b21fcm90YXRlMSwgYXRvbV9z ZXRjYywgYXRvbV9pY21vdiwgYXRvbV9wb3AsCisrICAgICAgICAgICAgICAgICAgYXRvbV9hbHVf bWVtLCBhdG9tX2FsdV9jYXJyeV9tZW0sIGF0b21fYWx1MV9tZW0sCisrICAgICAgICAgICAgICAg ICAgYXRvbV9pbW92eF9tZW0sIGF0b21faW1vdnhfMl9tZW0sCisrICAgICAgICAgICAgICAgICAg YXRvbV9pbW92X21lbSwgYXRvbV9pY21vdl9tZW0sIGF0b21fZm1vdl9tZW0iCisrICAgICAgICAg ICAgICAgICAiYXRvbV9sZWEiKQorKworKzs7IFRoZXJlIHdpbGwgYmUgMyBjeWNsZXMgc3RhbGwg ZnJvbSBFWCBpbnNucyB0byBpbnNucyBuZWVkIGFkZHIgY2FsY3VsYXRpb24KKysoZGVmaW5lX2J5 cGFzcyA0ICJhdG9tX2FsdV9jYXJyeSwKKysgICAgICAgICAgICAgICAgICBhdG9tX2FsdSxhdG9t X2FsdTEsYXRvbV9uZWdub3QsYXRvbV9pbW92LGF0b21faW1vdngsCisrICAgICAgICAgICAgICAg ICAgYXRvbV9pbmNkZWMsYXRvbV9pc2hpZnQsYXRvbV9pc2hpZnQxLGF0b21fcm90YXRlLAorKyAg ICAgICAgICAgICAgICAgIGF0b21fcm90YXRlMSwgYXRvbV9zZXRjYywgYXRvbV9pY21vdiwgYXRv bV9wb3AsCisrICAgICAgICAgICAgICAgICAgYXRvbV9pbW92eF9tZW0sIGF0b21faW1vdnhfMl9t ZW0sCisrICAgICAgICAgICAgICAgICAgYXRvbV9hbHVfbWVtLCBhdG9tX2FsdV9jYXJyeV9tZW0s IGF0b21fYWx1MV9tZW0sCisrICAgICAgICAgICAgICAgICAgYXRvbV9pbW92X21lbSwgYXRvbV9p Y21vdl9tZW0sIGF0b21fZm1vdl9tZW0iCisrICAgICAgICAgICAgICAgICAiYXRvbV9hbHVfbWVt LCBhdG9tX2FsdV9jYXJyeV9tZW0sIGF0b21fYWx1MV9tZW0sCisrICAgICAgICAgICAgICAgICAg YXRvbV9uZWdub3RfbWVtLCBhdG9tX2ltb3ZfbWVtLCBhdG9tX2luY2RlY19tZW0sCisrICAgICAg ICAgICAgICAgICAgYXRvbV9pbW92eF9tZW0sIGF0b21faW1vdnhfMl9tZW0sCisrICAgICAgICAg ICAgICAgICAgYXRvbV9pbXVsX21lbSwgYXRvbV9pY21wX21lbSwKKysgICAgICAgICAgICAgICAg ICBhdG9tX3Rlc3RfbWVtLCBhdG9tX2ljbW92X21lbSwgYXRvbV9zc2Vsb2dfbWVtLAorKyAgICAg ICAgICAgICAgICAgIGF0b21fc3NlbG9nMV9tZW0sIGF0b21fZm1vdl9tZW0sIGF0b21fc3NlYWRk X21lbSwKKysgICAgICAgICAgICAgICAgICBhdG9tX2lzaGlmdF9tZW0sIGF0b21faXNoaWZ0MV9t ZW0sIAorKyAgICAgICAgICAgICAgICAgIGF0b21fcm90YXRlX21lbSwgYXRvbV9yb3RhdGUxX21l bSIKKysgICAgICAgICAgICAgICAgICAiaXg4Nl9hZ2lfZGVwZW5kZW50IikKKysKKys7OyBTdGFs bCBmcm9tIGltdWwgdG8gbGVhIGlzIDggY3ljbGVzLgorKyhkZWZpbmVfYnlwYXNzIDkgImF0b21f aW11bCwgYXRvbV9pbXVsX21lbSIgImF0b21fbGVhIikKKysKKys7OyBTdGFsbCBmcm9tIGltdWwg dG8gbWVtb3J5IGFkZHJlc3MgaXMgOCBjeWNsZXMuCisrKGRlZmluZV9ieXBhc3MgOSAiYXRvbV9p bXVsLCBhdG9tX2ltdWxfbWVtIiAKKysgICAgICAgICAgICAgICAgICJhdG9tX2FsdV9tZW0sIGF0 b21fYWx1X2NhcnJ5X21lbSwgYXRvbV9hbHUxX21lbSwKKysgICAgICAgICAgICAgICAgICBhdG9t X25lZ25vdF9tZW0sIGF0b21faW1vdl9tZW0sIGF0b21faW5jZGVjX21lbSwKKysgICAgICAgICAg ICAgICAgICBhdG9tX2lzaGlmdF9tZW0sIGF0b21faXNoaWZ0MV9tZW0sIGF0b21fcm90YXRlX21l bSwKKysgICAgICAgICAgICAgICAgICBhdG9tX3JvdGF0ZTFfbWVtLCBhdG9tX2ltdWxfbWVtLCBh dG9tX2ljbXBfbWVtLAorKyAgICAgICAgICAgICAgICAgIGF0b21fdGVzdF9tZW0sIGF0b21faWNt b3ZfbWVtLCBhdG9tX3NzZWxvZ19tZW0sCisrICAgICAgICAgICAgICAgICAgYXRvbV9zc2Vsb2cx X21lbSwgYXRvbV9mbW92X21lbSwgYXRvbV9zc2VhZGRfbWVtIgorKyAgICAgICAgICAgICAgICAg ICJpeDg2X2FnaV9kZXBlbmRlbnQiKQorKworKzs7IFRoZXJlIHdpbGwgYmUgMCBjeWNsZSBzdGFs bCBmcm9tIGNtcC90ZXN0IHRvIGpjYworKworKzs7IFRoZXJlIHdpbGwgYmUgMSBjeWNsZSBzdGFs bCBmcm9tIGZsYWcgcHJvZHVjZXIgdG8gY21vdiBhbmQgYWRjL3NiYgorKyhkZWZpbmVfYnlwYXNz IDIgImF0b21faWNtcCwgYXRvbV90ZXN0LCBhdG9tX2FsdSwgYXRvbV9hbHVfY2FycnksCisrICAg ICAgICAgICAgICAgICAgYXRvbV9hbHUxLCBhdG9tX25lZ25vdCwgYXRvbV9pbmNkZWMsIGF0b21f aXNoaWZ0LAorKyAgICAgICAgICAgICAgICAgIGF0b21faXNoaWZ0MSwgYXRvbV9yb3RhdGUsIGF0 b21fcm90YXRlMSIKKysgICAgICAgICAgICAgICAgICJhdG9tX2ljbW92LCBhdG9tX2FsdV9jYXJy eSIpCisrCisrOzsgbGVhIHRvIHNoaWZ0IGNvdW50IHN0YWxsIGlzIDIgY3ljbGVzCisrKGRlZmlu ZV9ieXBhc3MgMyAiYXRvbV9sZWEiCisrICAgICAgICAgICAgICAgICAiYXRvbV9pc2hpZnQsIGF0 b21faXNoaWZ0MSwgYXRvbV9yb3RhdGUsIGF0b21fcm90YXRlMSwKKysgICAgICAgICAgICAgICAg ICBhdG9tX2lzaGlmdF9tZW0sIGF0b21faXNoaWZ0MV9tZW0sIAorKyAgICAgICAgICAgICAgICAg IGF0b21fcm90YXRlX21lbSwgYXRvbV9yb3RhdGUxX21lbSIKKysgICAgICAgICAgICAgICAgICJp eDg2X2RlcF9ieV9zaGlmdF9jb3VudCIpCisrCisrOzsgbGVhIHRvIHNoaWZ0IHNvdXJjZSBzdGFs bCBpcyAxIGN5Y2xlCisrKGRlZmluZV9ieXBhc3MgMiAiYXRvbV9sZWEiCisrICAgICAgICAgICAg ICAgICAiYXRvbV9pc2hpZnQsIGF0b21faXNoaWZ0MSwgYXRvbV9yb3RhdGUsIGF0b21fcm90YXRl MSIKKysgICAgICAgICAgICAgICAgICIhaXg4Nl9kZXBfYnlfc2hpZnRfY291bnQiKQorKworKzs7 IG5vbi1sZWEgdG8gc2hpZnQgY291bnQgc3RhbGwgaXMgMSBjeWNsZQorKyhkZWZpbmVfYnlwYXNz IDIgImF0b21fYWx1X2NhcnJ5LAorKyAgICAgICAgICAgICAgICAgIGF0b21fYWx1LGF0b21fYWx1 MSxhdG9tX25lZ25vdCxhdG9tX2ltb3YsYXRvbV9pbW92eCwKKysgICAgICAgICAgICAgICAgICBh dG9tX2luY2RlYyxhdG9tX2lzaGlmdCxhdG9tX2lzaGlmdDEsYXRvbV9yb3RhdGUsCisrICAgICAg ICAgICAgICAgICAgYXRvbV9yb3RhdGUxLCBhdG9tX3NldGNjLCBhdG9tX2ljbW92LCBhdG9tX3Bv cCwKKysgICAgICAgICAgICAgICAgICBhdG9tX2FsdV9tZW0sIGF0b21fYWx1X2NhcnJ5X21lbSwg YXRvbV9hbHUxX21lbSwKKysgICAgICAgICAgICAgICAgICBhdG9tX2ltb3Z4X21lbSwgYXRvbV9p bW92eF8yX21lbSwKKysgICAgICAgICAgICAgICAgICBhdG9tX2ltb3ZfbWVtLCBhdG9tX2ljbW92 X21lbSwgYXRvbV9mbW92X21lbSIKKysgICAgICAgICAgICAgICAgICJhdG9tX2lzaGlmdCwgYXRv bV9pc2hpZnQxLCBhdG9tX3JvdGF0ZSwgYXRvbV9yb3RhdGUxLAorKyAgICAgICAgICAgICAgICAg IGF0b21faXNoaWZ0X21lbSwgYXRvbV9pc2hpZnQxX21lbSwgCisrICAgICAgICAgICAgICAgICAg YXRvbV9yb3RhdGVfbWVtLCBhdG9tX3JvdGF0ZTFfbWVtIgorKyAgICAgICAgICAgICAgICAgIml4 ODZfZGVwX2J5X3NoaWZ0X2NvdW50IikKKy0tLSBnY2MvY29uZmlnL2kzODYvc3NlLm1kCSguLi4v dHJ1bmspCShyZXZpc2lvbiAxNDQ0NjApCisrKysgZ2NjL2NvbmZpZy9pMzg2L3NzZS5tZAkoLi4u L2JyYW5jaGVzL2l4ODYvYXRvbSkJKHJldmlzaW9uIDE0NDYwMSkKK0BAIC0zMzgsNiArMzM4LDcg QEAgKGRlZmluZV9pbnNuICJhdnhfbW92dXA8YXZ4bW9kZXN1ZmZpeGYyYworICAgICYmICEoTUVN X1AgKG9wZXJhbmRzWzBdKSAmJiBNRU1fUCAob3BlcmFuZHNbMV0pKSIKKyAgICJ2bW92dXA8YXZ4 bW9kZXN1ZmZpeGYyYz5cdHslMSwgJTB8JTAsICUxfSIKKyAgIFsoc2V0X2F0dHIgInR5cGUiICJz c2Vtb3YiKQorKyAgIChzZXRfYXR0ciAibW92dSIgIjEiKQorICAgIChzZXRfYXR0ciAicHJlZml4 IiAidmV4IikKKyAgICAoc2V0X2F0dHIgIm1vZGUiICI8TU9ERT4iKV0pCisgCitAQCAtMzYzLDYg KzM2NCw3IEBAIChkZWZpbmVfaW5zbiAiPHNzZT5fbW92dXA8c3NlbW9kZXN1ZmZpeGYKKyAgICAm JiAhKE1FTV9QIChvcGVyYW5kc1swXSkgJiYgTUVNX1AgKG9wZXJhbmRzWzFdKSkiCisgICAibW92 dXA8c3NlbW9kZXN1ZmZpeGYyYz5cdHslMSwgJTB8JTAsICUxfSIKKyAgIFsoc2V0X2F0dHIgInR5 cGUiICJzc2Vtb3YiKQorKyAgIChzZXRfYXR0ciAibW92dSIgIjEiKQorICAgIChzZXRfYXR0ciAi bW9kZSIgIjxNT0RFPiIpXSkKKyAKKyAoZGVmaW5lX2luc24gImF2eF9tb3ZkcXU8YXZ4bW9kZXN1 ZmZpeD4iCitAQCAtMzczLDYgKzM3NSw3IEBAIChkZWZpbmVfaW5zbiAiYXZ4X21vdmRxdTxhdnht b2Rlc3VmZml4PiIKKyAgICJUQVJHRVRfQVZYICYmICEoTUVNX1AgKG9wZXJhbmRzWzBdKSAmJiBN RU1fUCAob3BlcmFuZHNbMV0pKSIKKyAgICJ2bW92ZHF1XHR7JTEsICUwfCUwLCAlMX0iCisgICBb KHNldF9hdHRyICJ0eXBlIiAic3NlbW92IikKKysgICAoc2V0X2F0dHIgIm1vdnUiICIxIikKKyAg ICAoc2V0X2F0dHIgInByZWZpeCIgInZleCIpCisgICAgKHNldF9hdHRyICJtb2RlIiAiPGF2eHZl Y21vZGU+IildKQorIAorQEAgLTM4Myw2ICszODYsNyBAQCAoZGVmaW5lX2luc24gInNzZTJfbW92 ZHF1IgorICAgIlRBUkdFVF9TU0UyICYmICEoTUVNX1AgKG9wZXJhbmRzWzBdKSAmJiBNRU1fUCAo b3BlcmFuZHNbMV0pKSIKKyAgICJtb3ZkcXVcdHslMSwgJTB8JTAsICUxfSIKKyAgIFsoc2V0X2F0 dHIgInR5cGUiICJzc2Vtb3YiKQorKyAgIChzZXRfYXR0ciAibW92dSIgIjEiKQorICAgIChzZXRf YXR0ciAicHJlZml4X2RhdGExNiIgIjEiKQorICAgIChzZXRfYXR0ciAibW9kZSIgIlRJIildKQor IAorQEAgLTQyNCw3ICs0MjgsNyBAQCAoZGVmaW5lX2luc24gInNzZTJfbW92bnR2MmRpIgorIAkJ ICAgICBVTlNQRUNfTU9WTlQpKV0KKyAgICJUQVJHRVRfU1NFMiIKKyAgICJtb3ZudGRxXHR7JTEs ICUwfCUwLCAlMX0iCistICBbKHNldF9hdHRyICJ0eXBlIiAic3NlY3Z0IikKKysgIFsoc2V0X2F0 dHIgInR5cGUiICJzc2Vtb3YiKQorICAgIChzZXRfYXR0ciAicHJlZml4X2RhdGExNiIgIjEiKQor ICAgIChzZXRfYXR0ciAibW9kZSIgIlRJIildKQorIAorQEAgLTQzNCw3ICs0MzgsNyBAQCAoZGVm aW5lX2luc24gInNzZTJfbW92bnRzaSIKKyAJCSAgIFVOU1BFQ19NT1ZOVCkpXQorICAgIlRBUkdF VF9TU0UyIgorICAgIm1vdm50aVx0eyUxLCAlMHwlMCwgJTF9IgorLSAgWyhzZXRfYXR0ciAidHlw ZSIgInNzZWN2dCIpCisrICBbKHNldF9hdHRyICJ0eXBlIiAic3NlbW92IikKKyAgICAoc2V0X2F0 dHIgIm1vZGUiICJWMkRGIildKQorIAorIChkZWZpbmVfaW5zbiAiYXZ4X2xkZHF1PGF2eG1vZGVz dWZmaXg+IgorQEAgLTQ0NSw2ICs0NDksNyBAQCAoZGVmaW5lX2luc24gImF2eF9sZGRxdTxhdnht b2Rlc3VmZml4PiIKKyAgICJUQVJHRVRfQVZYIgorICAgInZsZGRxdVx0eyUxLCAlMHwlMCwgJTF9 IgorICAgWyhzZXRfYXR0ciAidHlwZSIgInNzZWN2dCIpCisrICAgKHNldF9hdHRyICJtb3Z1IiAi MSIpCisgICAgKHNldF9hdHRyICJwcmVmaXgiICJ2ZXgiKQorICAgIChzZXRfYXR0ciAibW9kZSIg Ijxhdnh2ZWNtb2RlPiIpXSkKKyAKK0BAIC00NTQsNyArNDU5LDggQEAgKGRlZmluZV9pbnNuICJz c2UzX2xkZHF1IgorIAkJICAgICAgVU5TUEVDX0xERFFVKSldCisgICAiVEFSR0VUX1NTRTMiCisg ICAibGRkcXVcdHslMSwgJTB8JTAsICUxfSIKKy0gIFsoc2V0X2F0dHIgInR5cGUiICJzc2VjdnQi KQorKyAgWyhzZXRfYXR0ciAidHlwZSIgInNzZW1vdiIpCisrICAgKHNldF9hdHRyICJtb3Z1IiAi MSIpCisgICAgKHNldF9hdHRyICJwcmVmaXhfcmVwIiAiMSIpCisgICAgKHNldF9hdHRyICJtb2Rl IiAiVEkiKV0pCisgCitAQCAtNzYxLDYgKzc2Nyw3IEBAIChkZWZpbmVfaW5zbiAic3NlX3JjcHY0 c2YyIgorICAgIlRBUkdFVF9TU0UiCisgICAiJXZyY3Bwc1x0eyUxLCAlMHwlMCwgJTF9IgorICAg WyhzZXRfYXR0ciAidHlwZSIgInNzZSIpCisrICAgKHNldF9hdHRyICJhdG9tX3NzZV9hdHRyIiAi cmNwIikKKyAgICAoc2V0X2F0dHIgInByZWZpeCIgIm1heWJlX3ZleCIpCisgICAgKHNldF9hdHRy ICJtb2RlIiAiVjRTRiIpXSkKKyAKK0BAIC03ODcsNiArNzk0LDcgQEAgKGRlZmluZV9pbnNuICJz c2Vfdm1yY3B2NHNmMiIKKyAgICJUQVJHRVRfU1NFIgorICAgInJjcHNzXHR7JTEsICUwfCUwLCAl MX0iCisgICBbKHNldF9hdHRyICJ0eXBlIiAic3NlIikKKysgICAoc2V0X2F0dHIgImF0b21fc3Nl X2F0dHIiICJyY3AiKQorICAgIChzZXRfYXR0ciAibW9kZSIgIlNGIildKQorIAorIChkZWZpbmVf ZXhwYW5kICJzcXJ0djhzZjIiCitAQCAtODMyLDYgKzg0MCw3IEBAIChkZWZpbmVfaW5zbiAic3Nl X3NxcnR2NHNmMiIKKyAgICJUQVJHRVRfU1NFIgorICAgIiV2c3FydHBzXHR7JTEsICUwfCUwLCAl MX0iCisgICBbKHNldF9hdHRyICJ0eXBlIiAic3NlIikKKysgICAoc2V0X2F0dHIgImF0b21fc3Nl X2F0dHIiICJzcXJ0IikKKyAgICAoc2V0X2F0dHIgInByZWZpeCIgIm1heWJlX3ZleCIpCisgICAg KHNldF9hdHRyICJtb2RlIiAiVjRTRiIpXSkKKyAKK0BAIC04NzYsNiArODg1LDcgQEAgKGRlZmlu ZV9pbnNuICI8c3NlPl92bXNxcnQ8bW9kZT4yIgorICAgIlNTRV9WRUNfRkxPQVRfTU9ERV9QICg8 TU9ERT5tb2RlKSIKKyAgICJzcXJ0czxzc2Vtb2Rlc3VmZml4ZjJjPlx0eyUxLCAlMHwlMCwgJTF9 IgorICAgWyhzZXRfYXR0ciAidHlwZSIgInNzZSIpCisrICAgKHNldF9hdHRyICJhdG9tX3NzZV9h dHRyIiAic3FydCIpCisgICAgKHNldF9hdHRyICJtb2RlIiAiPHNzZXNjYWxhcm1vZGU+IildKQor IAorIChkZWZpbmVfZXhwYW5kICJyc3FydHY4c2YyIgorQEAgLTEwMzksNyArMTA0OSw3IEBAIChk ZWZpbmVfaW5zbiAiPHNzZT5fdm08Y29kZT48bW9kZT4zIgorIAkgKGNvbnN0X2ludCAxKSkpXQor ICAgIlNTRV9WRUNfRkxPQVRfTU9ERV9QICg8TU9ERT5tb2RlKSIKKyAgICI8bWF4bWluZnByZWZp eD5zPHNzZW1vZGVzdWZmaXhmMmM+XHR7JTIsICUwfCUwLCAlMn0iCistICBbKHNldF9hdHRyICJ0 eXBlIiAic3NlIikKKysgIFsoc2V0X2F0dHIgInR5cGUiICJzc2VhZGQiKQorICAgIChzZXRfYXR0 ciAibW9kZSIgIjxzc2VzY2FsYXJtb2RlPiIpXSkKKyAKKyA7OyBUaGVzZSB2ZXJzaW9ucyBvZiB0 aGUgbWluL21heCBwYXR0ZXJucyBpbXBsZW1lbnQgZXhhY3RseSB0aGUgb3BlcmF0aW9ucworQEAg LTExNzUsNiArMTE4NSw3IEBAIChkZWZpbmVfaW5zbiAic3NlM19hZGRzdWJ2MmRmMyIKKyAgICJU QVJHRVRfU1NFMyIKKyAgICJhZGRzdWJwZFx0eyUyLCAlMHwlMCwgJTJ9IgorICAgWyhzZXRfYXR0 ciAidHlwZSIgInNzZWFkZCIpCisrICAgKHNldF9hdHRyICJhdG9tX3VuaXQiICJjb21wbGV4IikK KyAgICAoc2V0X2F0dHIgIm1vZGUiICJWMkRGIildKQorIAorIChkZWZpbmVfaW5zbiAiYXZ4X2g8 cGx1c21pbnVzX2luc24+djRkZjMiCitAQCAtMTI5OCw2ICsxMzA5LDcgQEAgKGRlZmluZV9pbnNu ICJzc2UzX2g8cGx1c21pbnVzX2luc24+djRzZgorICAgIlRBUkdFVF9TU0UzIgorICAgImg8cGx1 c21pbnVzX21uZW1vbmljPnBzXHR7JTIsICUwfCUwLCAlMn0iCisgICBbKHNldF9hdHRyICJ0eXBl IiAic3NlYWRkIikKKysgICAoc2V0X2F0dHIgImF0b21fdW5pdCIgImNvbXBsZXgiKQorICAgIChz ZXRfYXR0ciAicHJlZml4X3JlcCIgIjEiKQorICAgIChzZXRfYXR0ciAibW9kZSIgIlY0U0YiKV0p CisgCitAQCAtNTA2Niw2ICs1MDc4LDcgQEAgKGRlZmluZV9pbnNuICIqc3NlMl9wbWFkZHdkIgor ICAgIlRBUkdFVF9TU0UyICYmIGl4ODZfYmluYXJ5X29wZXJhdG9yX29rIChNVUxULCBWOEhJbW9k ZSwgb3BlcmFuZHMpIgorICAgInBtYWRkd2RcdHslMiwgJTB8JTAsICUyfSIKKyAgIFsoc2V0X2F0 dHIgInR5cGUiICJzc2VpYWRkIikKKysgICAoc2V0X2F0dHIgImF0b21fdW5pdCIgInNpbXVsIikK KyAgICAoc2V0X2F0dHIgInByZWZpeF9kYXRhMTYiICIxIikKKyAgICAoc2V0X2F0dHIgIm1vZGUi ICJUSSIpXSkKKyAKK0BAIC03MDI1LDYgKzcwMzgsNyBAQCAoZGVmaW5lX2luc24gIip2ZWNfZXh0 cmFjdHYyZGlfMV9yZXg2NCIKKyAgICBtb3ZxXHR7JUgxLCAlMHwlMCwgJUgxfQorICAgIG1vdntx fVx0eyVIMSwgJTB8JTAsICVIMX0iCisgICBbKHNldF9hdHRyICJ0eXBlIiAic3NlbW92LHNzZWlz aGZ0LHNzZW1vdixpbW92IikKKysgICAoc2V0X2F0dHIgImF0b21fdW5pdCIgIiosc2lzaHVmLCos KiIpCisgICAgKHNldF9hdHRyICJtZW1vcnkiICIqLG5vbmUsKiwqIikKKyAgICAoc2V0X2F0dHIg Im1vZGUiICJWMlNGLFRJLFRJLERJIildKQorIAorQEAgLTcwNTcsNiArNzA3MSw3IEBAIChkZWZp bmVfaW5zbiAiKnZlY19leHRyYWN0djJkaV8xX3NzZTIiCisgICAgcHNybGRxXHR7JDgsICUwfCUw LCA4fQorICAgIG1vdnFcdHslSDEsICUwfCUwLCAlSDF9IgorICAgWyhzZXRfYXR0ciAidHlwZSIg InNzZW1vdixzc2Vpc2hmdCxzc2Vtb3YiKQorKyAgIChzZXRfYXR0ciAiYXRvbV91bml0IiAiKixz aXNodWYsKiIpCisgICAgKHNldF9hdHRyICJtZW1vcnkiICIqLG5vbmUsKiIpCisgICAgKHNldF9h dHRyICJtb2RlIiAiVjJTRixUSSxUSSIpXSkKKyAKK0BAIC03NjE0LDYgKzc2MjksNyBAQCAoZGVm aW5lX2luc24gInNzZTJfcHNhZGJ3IgorICAgIlRBUkdFVF9TU0UyIgorICAgInBzYWRid1x0eyUy LCAlMHwlMCwgJTJ9IgorICAgWyhzZXRfYXR0ciAidHlwZSIgInNzZWlhZGQiKQorKyAgIChzZXRf YXR0ciAiYXRvbV91bml0IiAic2ltdWwiKQorICAgIChzZXRfYXR0ciAicHJlZml4X2RhdGExNiIg IjEiKQorICAgIChzZXRfYXR0ciAibW9kZSIgIlRJIildKQorIAorQEAgLTc2MzUsNyArNzY1MSw3 IEBAIChkZWZpbmVfaW5zbiAiPHNzZT5fbW92bXNrcDxzc2Vtb2Rlc3VmZmkKKyAJICBVTlNQRUNf TU9WTVNLKSldCisgICAiU1NFX1ZFQ19GTE9BVF9NT0RFX1AgKDxNT0RFPm1vZGUpIgorICAgIiV2 bW92bXNrcDxzc2Vtb2Rlc3VmZml4ZjJjPlx0eyUxLCAlMHwlMCwgJTF9IgorLSAgWyhzZXRfYXR0 ciAidHlwZSIgInNzZWN2dCIpCisrICBbKHNldF9hdHRyICJ0eXBlIiAic3NlbW92IikKKyAgICAo c2V0X2F0dHIgInByZWZpeCIgIm1heWJlX3ZleCIpCisgICAgKHNldF9hdHRyICJtb2RlIiAiPE1P REU+IildKQorIAorQEAgLTc2NDUsNyArNzY2MSw3IEBAIChkZWZpbmVfaW5zbiAic3NlMl9wbW92 bXNrYiIKKyAJCSAgIFVOU1BFQ19NT1ZNU0spKV0KKyAgICJUQVJHRVRfU1NFMiIKKyAgICIldnBt b3Ztc2tiXHR7JTEsICUwfCUwLCAlMX0iCistICBbKHNldF9hdHRyICJ0eXBlIiAic3NlY3Z0IikK KysgIFsoc2V0X2F0dHIgInR5cGUiICJzc2Vtb3YiKQorICAgIChzZXRfYXR0ciAicHJlZml4X2Rh dGExNiIgIjEiKQorICAgIChzZXRfYXR0ciAicHJlZml4IiAibWF5YmVfdmV4IikKKyAgICAoc2V0 X2F0dHIgIm1vZGUiICJTSSIpXSkKK0BAIC03NjY4LDcgKzc2ODQsNyBAQCAoZGVmaW5lX2luc24g Iipzc2UyX21hc2ttb3ZkcXUiCisgICAiVEFSR0VUX1NTRTIgJiYgIVRBUkdFVF82NEJJVCIKKyAg IDs7IEBAQCBjaGVjayBvcmRlcmluZyBvZiBvcGVyYW5kcyBpbiBpbnRlbC9ub25pbnRlbCBzeW50 YXgKKyAgICIldm1hc2ttb3ZkcXVcdHslMiwgJTF8JTEsICUyfSIKKy0gIFsoc2V0X2F0dHIgInR5 cGUiICJzc2VjdnQiKQorKyAgWyhzZXRfYXR0ciAidHlwZSIgInNzZW1vdiIpCisgICAgKHNldF9h dHRyICJwcmVmaXhfZGF0YTE2IiAiMSIpCisgICAgKHNldF9hdHRyICJwcmVmaXgiICJtYXliZV92 ZXgiKQorICAgIChzZXRfYXR0ciAibW9kZSIgIlRJIildKQorQEAgLTc2ODIsNyArNzY5OCw3IEBA IChkZWZpbmVfaW5zbiAiKnNzZTJfbWFza21vdmRxdV9yZXg2NCIKKyAgICJUQVJHRVRfU1NFMiAm JiBUQVJHRVRfNjRCSVQiCisgICA7OyBAQEAgY2hlY2sgb3JkZXJpbmcgb2Ygb3BlcmFuZHMgaW4g aW50ZWwvbm9uaW50ZWwgc3ludGF4CisgICAiJXZtYXNrbW92ZHF1XHR7JTIsICUxfCUxLCAlMn0i CistICBbKHNldF9hdHRyICJ0eXBlIiAic3NlY3Z0IikKKysgIFsoc2V0X2F0dHIgInR5cGUiICJz c2Vtb3YiKQorICAgIChzZXRfYXR0ciAicHJlZml4X2RhdGExNiIgIjEiKQorICAgIChzZXRfYXR0 ciAicHJlZml4IiAibWF5YmVfdmV4IikKKyAgICAoc2V0X2F0dHIgIm1vZGUiICJUSSIpXSkKK0BA IC03NjkzLDYgKzc3MDksNyBAQCAoZGVmaW5lX2luc24gInNzZV9sZG14Y3NyIgorICAgIlRBUkdF VF9TU0UiCisgICAiJXZsZG14Y3NyXHQlMCIKKyAgIFsoc2V0X2F0dHIgInR5cGUiICJzc2UiKQor KyAgIChzZXRfYXR0ciAiYXRvbV9zc2VfYXR0ciIgIm14Y3NyIikKKyAgICAoc2V0X2F0dHIgInBy ZWZpeCIgIm1heWJlX3ZleCIpCisgICAgKHNldF9hdHRyICJtZW1vcnkiICJsb2FkIildKQorIAor QEAgLTc3MDIsNiArNzcxOSw3IEBAIChkZWZpbmVfaW5zbiAic3NlX3N0bXhjc3IiCisgICAiVEFS R0VUX1NTRSIKKyAgICIldnN0bXhjc3JcdCUwIgorICAgWyhzZXRfYXR0ciAidHlwZSIgInNzZSIp CisrICAgKHNldF9hdHRyICJhdG9tX3NzZV9hdHRyIiAibXhjc3IiKQorICAgIChzZXRfYXR0ciAi cHJlZml4IiAibWF5YmVfdmV4IikKKyAgICAoc2V0X2F0dHIgIm1lbW9yeSIgInN0b3JlIildKQor IAorQEAgLTc3MjAsNiArNzczOCw3IEBAIChkZWZpbmVfaW5zbiAiKnNzZV9zZmVuY2UiCisgICAi VEFSR0VUX1NTRSB8fCBUQVJHRVRfM0ROT1dfQSIKKyAgICJzZmVuY2UiCisgICBbKHNldF9hdHRy ICJ0eXBlIiAic3NlIikKKysgICAoc2V0X2F0dHIgImF0b21fc3NlX2F0dHIiICJmZW5jZSIpCisg ICAgKHNldF9hdHRyICJtZW1vcnkiICJ1bmtub3duIildKQorIAorIChkZWZpbmVfaW5zbiAic3Nl Ml9jbGZsdXNoIgorQEAgLTc3MjgsNiArNzc0Nyw3IEBAIChkZWZpbmVfaW5zbiAic3NlMl9jbGZs dXNoIgorICAgIlRBUkdFVF9TU0UyIgorICAgImNsZmx1c2hcdCVhMCIKKyAgIFsoc2V0X2F0dHIg InR5cGUiICJzc2UiKQorKyAgIChzZXRfYXR0ciAiYXRvbV9zc2VfYXR0ciIgImZlbmNlIikKKyAg ICAoc2V0X2F0dHIgIm1lbW9yeSIgInVua25vd24iKV0pCisgCisgKGRlZmluZV9leHBhbmQgInNz ZTJfbWZlbmNlIgorQEAgLTc3NDUsNiArNzc2NSw3IEBAIChkZWZpbmVfaW5zbiAiKnNzZTJfbWZl bmNlIgorICAgIlRBUkdFVF82NEJJVCB8fCBUQVJHRVRfU1NFMiIKKyAgICJtZmVuY2UiCisgICBb KHNldF9hdHRyICJ0eXBlIiAic3NlIikKKysgICAoc2V0X2F0dHIgImF0b21fc3NlX2F0dHIiICJm ZW5jZSIpCisgICAgKHNldF9hdHRyICJtZW1vcnkiICJ1bmtub3duIildKQorIAorIChkZWZpbmVf ZXhwYW5kICJzc2UyX2xmZW5jZSIKK0BAIC03NzYyLDYgKzc3ODMsNyBAQCAoZGVmaW5lX2luc24g Iipzc2UyX2xmZW5jZSIKKyAgICJUQVJHRVRfU1NFMiIKKyAgICJsZmVuY2UiCisgICBbKHNldF9h dHRyICJ0eXBlIiAic3NlIikKKysgICAoc2V0X2F0dHIgImF0b21fc3NlX2F0dHIiICJsZmVuY2Ui KQorICAgIChzZXRfYXR0ciAibWVtb3J5IiAidW5rbm93biIpXSkKKyAKKyAoZGVmaW5lX2luc24g InNzZTNfbXdhaXQiCitAQCAtNzg4NSw2ICs3OTA3LDcgQEAgKGRlZmluZV9pbnNuICJzc3NlM19w aGFkZHd2OGhpMyIKKyAgICJUQVJHRVRfU1NTRTMiCisgICAicGhhZGR3XHR7JTIsICUwfCUwLCAl Mn0iCisgICBbKHNldF9hdHRyICJ0eXBlIiAic3NlaWFkZCIpCisrICAgKHNldF9hdHRyICJhdG9t X3VuaXQiICJjb21wbGV4IikKKyAgICAoc2V0X2F0dHIgInByZWZpeF9kYXRhMTYiICIxIikKKyAg ICAoc2V0X2F0dHIgInByZWZpeF9leHRyYSIgIjEiKQorICAgIChzZXRfYXR0ciAibW9kZSIgIlRJ IildKQorQEAgLTc5MTMsNiArNzkzNiw3IEBAIChkZWZpbmVfaW5zbiAic3NzZTNfcGhhZGR3djRo aTMiCisgICAiVEFSR0VUX1NTU0UzIgorICAgInBoYWRkd1x0eyUyLCAlMHwlMCwgJTJ9IgorICAg WyhzZXRfYXR0ciAidHlwZSIgInNzZWlhZGQiKQorKyAgIChzZXRfYXR0ciAiYXRvbV91bml0IiAi Y29tcGxleCIpCisgICAgKHNldF9hdHRyICJwcmVmaXhfZXh0cmEiICIxIikKKyAgICAoc2V0X2F0 dHIgIm1vZGUiICJESSIpXSkKKyAKK0BAIC03OTY3LDYgKzc5OTEsNyBAQCAoZGVmaW5lX2luc24g InNzc2UzX3BoYWRkZHY0c2kzIgorICAgIlRBUkdFVF9TU1NFMyIKKyAgICJwaGFkZGRcdHslMiwg JTB8JTAsICUyfSIKKyAgIFsoc2V0X2F0dHIgInR5cGUiICJzc2VpYWRkIikKKysgICAoc2V0X2F0 dHIgImF0b21fdW5pdCIgImNvbXBsZXgiKQorICAgIChzZXRfYXR0ciAicHJlZml4X2RhdGExNiIg IjEiKQorICAgIChzZXRfYXR0ciAicHJlZml4X2V4dHJhIiAiMSIpCisgICAgKHNldF9hdHRyICJt b2RlIiAiVEkiKV0pCitAQCAtNzk4Nyw2ICs4MDEyLDcgQEAgKGRlZmluZV9pbnNuICJzc3NlM19w aGFkZGR2MnNpMyIKKyAgICJUQVJHRVRfU1NTRTMiCisgICAicGhhZGRkXHR7JTIsICUwfCUwLCAl Mn0iCisgICBbKHNldF9hdHRyICJ0eXBlIiAic3NlaWFkZCIpCisrICAgKHNldF9hdHRyICJhdG9t X3VuaXQiICJjb21wbGV4IikKKyAgICAoc2V0X2F0dHIgInByZWZpeF9leHRyYSIgIjEiKQorICAg IChzZXRfYXR0ciAibW9kZSIgIkRJIildKQorIAorQEAgLTgwNzMsNiArODA5OSw3IEBAIChkZWZp bmVfaW5zbiAic3NzZTNfcGhhZGRzd3Y4aGkzIgorICAgIlRBUkdFVF9TU1NFMyIKKyAgICJwaGFk ZHN3XHR7JTIsICUwfCUwLCAlMn0iCisgICBbKHNldF9hdHRyICJ0eXBlIiAic3NlaWFkZCIpCisr ICAgKHNldF9hdHRyICJhdG9tX3VuaXQiICJjb21wbGV4IikKKyAgICAoc2V0X2F0dHIgInByZWZp eF9kYXRhMTYiICIxIikKKyAgICAoc2V0X2F0dHIgInByZWZpeF9leHRyYSIgIjEiKQorICAgIChz ZXRfYXR0ciAibW9kZSIgIlRJIildKQorQEAgLTgxMDEsNiArODEyOCw3IEBAIChkZWZpbmVfaW5z biAic3NzZTNfcGhhZGRzd3Y0aGkzIgorICAgIlRBUkdFVF9TU1NFMyIKKyAgICJwaGFkZHN3XHR7 JTIsICUwfCUwLCAlMn0iCisgICBbKHNldF9hdHRyICJ0eXBlIiAic3NlaWFkZCIpCisrICAgKHNl dF9hdHRyICJhdG9tX3VuaXQiICJjb21wbGV4IikKKyAgICAoc2V0X2F0dHIgInByZWZpeF9leHRy YSIgIjEiKQorICAgIChzZXRfYXR0ciAibW9kZSIgIkRJIildKQorIAorQEAgLTgxODcsNiArODIx NSw3IEBAIChkZWZpbmVfaW5zbiAic3NzZTNfcGhzdWJ3djhoaTMiCisgICAiVEFSR0VUX1NTU0Uz IgorICAgInBoc3Vid1x0eyUyLCAlMHwlMCwgJTJ9IgorICAgWyhzZXRfYXR0ciAidHlwZSIgInNz ZWlhZGQiKQorKyAgIChzZXRfYXR0ciAiYXRvbV91bml0IiAiY29tcGxleCIpCisgICAgKHNldF9h dHRyICJwcmVmaXhfZGF0YTE2IiAiMSIpCisgICAgKHNldF9hdHRyICJwcmVmaXhfZXh0cmEiICIx IikKKyAgICAoc2V0X2F0dHIgIm1vZGUiICJUSSIpXSkKK0BAIC04MjE1LDYgKzgyNDQsNyBAQCAo ZGVmaW5lX2luc24gInNzc2UzX3Boc3Vid3Y0aGkzIgorICAgIlRBUkdFVF9TU1NFMyIKKyAgICJw aHN1YndcdHslMiwgJTB8JTAsICUyfSIKKyAgIFsoc2V0X2F0dHIgInR5cGUiICJzc2VpYWRkIikK KysgICAoc2V0X2F0dHIgImF0b21fdW5pdCIgImNvbXBsZXgiKQorICAgIChzZXRfYXR0ciAicHJl Zml4X2V4dHJhIiAiMSIpCisgICAgKHNldF9hdHRyICJtb2RlIiAiREkiKV0pCisgCitAQCAtODI2 OSw2ICs4Mjk5LDcgQEAgKGRlZmluZV9pbnNuICJzc3NlM19waHN1YmR2NHNpMyIKKyAgICJUQVJH RVRfU1NTRTMiCisgICAicGhzdWJkXHR7JTIsICUwfCUwLCAlMn0iCisgICBbKHNldF9hdHRyICJ0 eXBlIiAic3NlaWFkZCIpCisrICAgKHNldF9hdHRyICJhdG9tX3VuaXQiICJjb21wbGV4IikKKyAg ICAoc2V0X2F0dHIgInByZWZpeF9kYXRhMTYiICIxIikKKyAgICAoc2V0X2F0dHIgInByZWZpeF9l eHRyYSIgIjEiKQorICAgIChzZXRfYXR0ciAibW9kZSIgIlRJIildKQorQEAgLTgyODksNiArODMy MCw3IEBAIChkZWZpbmVfaW5zbiAic3NzZTNfcGhzdWJkdjJzaTMiCisgICAiVEFSR0VUX1NTU0Uz IgorICAgInBoc3ViZFx0eyUyLCAlMHwlMCwgJTJ9IgorICAgWyhzZXRfYXR0ciAidHlwZSIgInNz ZWlhZGQiKQorKyAgIChzZXRfYXR0ciAiYXRvbV91bml0IiAiY29tcGxleCIpCisgICAgKHNldF9h dHRyICJwcmVmaXhfZXh0cmEiICIxIikKKyAgICAoc2V0X2F0dHIgIm1vZGUiICJESSIpXSkKKyAK K0BAIC04Mzc1LDYgKzg0MDcsNyBAQCAoZGVmaW5lX2luc24gInNzc2UzX3Boc3Vic3d2OGhpMyIK KyAgICJUQVJHRVRfU1NTRTMiCisgICAicGhzdWJzd1x0eyUyLCAlMHwlMCwgJTJ9IgorICAgWyhz ZXRfYXR0ciAidHlwZSIgInNzZWlhZGQiKQorKyAgIChzZXRfYXR0ciAiYXRvbV91bml0IiAiY29t cGxleCIpCisgICAgKHNldF9hdHRyICJwcmVmaXhfZGF0YTE2IiAiMSIpCisgICAgKHNldF9hdHRy ICJwcmVmaXhfZXh0cmEiICIxIikKKyAgICAoc2V0X2F0dHIgIm1vZGUiICJUSSIpXSkKK0BAIC04 NDAzLDYgKzg0MzYsNyBAQCAoZGVmaW5lX2luc24gInNzc2UzX3Boc3Vic3d2NGhpMyIKKyAgICJU QVJHRVRfU1NTRTMiCisgICAicGhzdWJzd1x0eyUyLCAlMHwlMCwgJTJ9IgorICAgWyhzZXRfYXR0 ciAidHlwZSIgInNzZWlhZGQiKQorKyAgIChzZXRfYXR0ciAiYXRvbV91bml0IiAiY29tcGxleCIp CisgICAgKHNldF9hdHRyICJwcmVmaXhfZXh0cmEiICIxIikKKyAgICAoc2V0X2F0dHIgIm1vZGUi ICJESSIpXSkKKyAKK0BAIC04NTA5LDYgKzg1NDMsNyBAQCAoZGVmaW5lX2luc24gInNzc2UzX3Bt YWRkdWJzdzEyOCIKKyAgICJUQVJHRVRfU1NTRTMiCisgICAicG1hZGR1YnN3XHR7JTIsICUwfCUw LCAlMn0iCisgICBbKHNldF9hdHRyICJ0eXBlIiAic3NlaWFkZCIpCisrICAgKHNldF9hdHRyICJh dG9tX3VuaXQiICJzaW11bCIpCisgICAgKHNldF9hdHRyICJwcmVmaXhfZGF0YTE2IiAiMSIpCisg ICAgKHNldF9hdHRyICJwcmVmaXhfZXh0cmEiICIxIikKKyAgICAoc2V0X2F0dHIgIm1vZGUiICJU SSIpXSkKK0BAIC04NTQ3LDYgKzg1ODIsNyBAQCAoZGVmaW5lX2luc24gInNzc2UzX3BtYWRkdWJz dyIKKyAgICJUQVJHRVRfU1NTRTMiCisgICAicG1hZGR1YnN3XHR7JTIsICUwfCUwLCAlMn0iCisg ICBbKHNldF9hdHRyICJ0eXBlIiAic3NlaWFkZCIpCisrICAgKHNldF9hdHRyICJhdG9tX3VuaXQi ICJzaW11bCIpCisgICAgKHNldF9hdHRyICJwcmVmaXhfZXh0cmEiICIxIikKKyAgICAoc2V0X2F0 dHIgIm1vZGUiICJESSIpXSkKKyAKK0BAIC04NzU0LDYgKzg3OTAsNyBAQCAoZGVmaW5lX2luc24g InNzc2UzX3BhbGlnbnJ0aSIKKyAgIHJldHVybiAicGFsaWduclx0eyUzLCAlMiwgJTB8JTAsICUy LCAlM30iOworIH0KKyAgIFsoc2V0X2F0dHIgInR5cGUiICJzc2Vpc2hmdCIpCisrICAgKHNldF9h dHRyICJhdG9tX3VuaXQiICJzaXNodWYiKQorICAgIChzZXRfYXR0ciAicHJlZml4X2RhdGExNiIg IjEiKQorICAgIChzZXRfYXR0ciAicHJlZml4X2V4dHJhIiAiMSIpCisgICAgKHNldF9hdHRyICJt b2RlIiAiVEkiKV0pCitAQCAtODc3MCw2ICs4ODA3LDcgQEAgKGRlZmluZV9pbnNuICJzc3NlM19w YWxpZ25yZGkiCisgICByZXR1cm4gInBhbGlnbnJcdHslMywgJTIsICUwfCUwLCAlMiwgJTN9IjsK KyB9CisgICBbKHNldF9hdHRyICJ0eXBlIiAic3NlaXNoZnQiKQorKyAgIChzZXRfYXR0ciAiYXRv bV91bml0IiAic2lzaHVmIikKKyAgICAoc2V0X2F0dHIgInByZWZpeF9leHRyYSIgIjEiKQorICAg IChzZXRfYXR0ciAibW9kZSIgIkRJIildKQorIAorQEAgLTg5NTYsNyArODk5NCw3IEBAIChkZWZp bmVfaW5zbiAic3NlNF8xX21vdm50ZHFhIgorIAkJICAgICBVTlNQRUNfTU9WTlREUUEpKV0KKyAg ICJUQVJHRVRfU1NFNF8xIgorICAgIiV2bW92bnRkcWFcdHslMSwgJTB8JTAsICUxfSIKKy0gIFso c2V0X2F0dHIgInR5cGUiICJzc2VjdnQiKQorKyAgWyhzZXRfYXR0ciAidHlwZSIgInNzZW1vdiIp CisgICAgKHNldF9hdHRyICJwcmVmaXhfZXh0cmEiICIxIikKKyAgICAoc2V0X2F0dHIgInByZWZp eCIgIm1heWJlX3ZleCIpCisgICAgKHNldF9hdHRyICJtb2RlIiAiVEkiKV0pCistLS0gZ2NjL2Nv bmZpZy9pMzg2L2kzODYtYy5jCSguLi4vdHJ1bmspCShyZXZpc2lvbiAxNDQ0NjApCisrKysgZ2Nj L2NvbmZpZy9pMzg2L2kzODYtYy5jCSguLi4vYnJhbmNoZXMvaXg4Ni9hdG9tKQkocmV2aXNpb24g MTQ0NjAxKQorQEAgLTExOSw2ICsxMTksMTAgQEAgaXg4Nl90YXJnZXRfbWFjcm9zX2ludGVybmFs IChpbnQgaXNhX2ZsYQorICAgICAgIGRlZl9vcl91bmRlZiAocGFyc2VfaW4sICJfX2NvcmUyIik7 CisgICAgICAgZGVmX29yX3VuZGVmIChwYXJzZV9pbiwgIl9fY29yZTJfXyIpOworICAgICAgIGJy ZWFrOworKyAgICBjYXNlIFBST0NFU1NPUl9BVE9NOgorKyAgICAgIGRlZl9vcl91bmRlZiAocGFy c2VfaW4sICJfX2F0b20iKTsKKysgICAgICBkZWZfb3JfdW5kZWYgKHBhcnNlX2luLCAiX19hdG9t X18iKTsKKysgICAgICBicmVhazsKKyAgICAgLyogdXNlIFBST0NFU1NPUl9tYXggdG8gbm90IHNl dC91bnNldCB0aGUgYXJjaCBtYWNyby4gICovCisgICAgIGNhc2UgUFJPQ0VTU09SX21heDoKKyAg ICAgICBicmVhazsKK0BAIC0xODcsNiArMTkxLDkgQEAgaXg4Nl90YXJnZXRfbWFjcm9zX2ludGVy bmFsIChpbnQgaXNhX2ZsYQorICAgICBjYXNlIFBST0NFU1NPUl9DT1JFMjoKKyAgICAgICBkZWZf b3JfdW5kZWYgKHBhcnNlX2luLCAiX190dW5lX2NvcmUyX18iKTsKKyAgICAgICBicmVhazsKKysg ICAgY2FzZSBQUk9DRVNTT1JfQVRPTToKKysgICAgICBkZWZfb3JfdW5kZWYgKHBhcnNlX2luLCAi X190dW5lX2F0b21fXyIpOworKyAgICAgIGJyZWFrOworICAgICBjYXNlIFBST0NFU1NPUl9HRU5F UklDMzI6CisgICAgIGNhc2UgUFJPQ0VTU09SX0dFTkVSSUM2NDoKKyAgICAgICBicmVhazsKKy0t LSBnY2MvY29uZmlnL2kzODYvaTM4Ni1wcm90b3MuaAkoLi4uL3RydW5rKQkocmV2aXNpb24gMTQ0 NDYwKQorKysrIGdjYy9jb25maWcvaTM4Ni9pMzg2LXByb3Rvcy5oCSguLi4vYnJhbmNoZXMvaXg4 Ni9hdG9tKQkocmV2aXNpb24gMTQ0NjAxKQorQEAgLTg1LDYgKzg1LDkgQEAgZXh0ZXJuIHZvaWQg aXg4Nl9maXh1cF9iaW5hcnlfb3BlcmFuZHNfbgorIGV4dGVybiB2b2lkIGl4ODZfZXhwYW5kX2Jp bmFyeV9vcGVyYXRvciAoZW51bSBydHhfY29kZSwKKyAJCQkJCSBlbnVtIG1hY2hpbmVfbW9kZSwg cnR4W10pOworIGV4dGVybiBpbnQgaXg4Nl9iaW5hcnlfb3BlcmF0b3Jfb2sgKGVudW0gcnR4X2Nv ZGUsIGVudW0gbWFjaGluZV9tb2RlLCBydHhbXSk7CisrZXh0ZXJuIGJvb2wgaXg4Nl9sZWFfZm9y X2FkZF9vayAoZW51bSBydHhfY29kZSwgcnR4LCBydHhbXSk7CisrZXh0ZXJuIGJvb2wgaXg4Nl9k ZXBfYnlfc2hpZnRfY291bnQgKGNvbnN0X3J0eCBzZXRfaW5zbiwgY29uc3RfcnR4IHVzZV9pbnNu KTsKKytleHRlcm4gYm9vbCBpeDg2X2FnaV9kZXBlbmRlbnQgKHJ0eCBzZXRfaW5zbiwgcnR4IHVz ZV9pbnNuKTsKKyBleHRlcm4gdm9pZCBpeDg2X2V4cGFuZF91bmFyeV9vcGVyYXRvciAoZW51bSBy dHhfY29kZSwgZW51bSBtYWNoaW5lX21vZGUsCisgCQkJCQlydHhbXSk7CisgZXh0ZXJuIHJ0eCBp eDg2X2J1aWxkX2NvbnN0X3ZlY3RvciAoZW51bSBtYWNoaW5lX21vZGUsIGJvb2wsIHJ0eCk7Cist LS0gZ2NjL2NvbmZpZy9pMzg2L2kzODYuYwkoLi4uL3RydW5rKQkocmV2aXNpb24gMTQ0NDYwKQor KysrIGdjYy9jb25maWcvaTM4Ni9pMzg2LmMJKC4uLi9icmFuY2hlcy9peDg2L2F0b20pCShyZXZp c2lvbiAxNDQ2MDEpCitAQCAtMTAzNiw2ICsxMDM2LDc5IEBAIHN0cnVjdCBwcm9jZXNzb3JfY29z dHMgY29yZTJfY29zdCA9IHsKKyAgIDEsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgLyogY29uZF9ub3RfdGFrZW5fYnJhbmNoX2Nvc3QuICAqLworIH07CisgCisrc3RhdGljIGNv bnN0Cisrc3RydWN0IHByb2Nlc3Nvcl9jb3N0cyBhdG9tX2Nvc3QgPSB7CisrICBDT1NUU19OX0lO U05TICgxKSwJCQkvKiBjb3N0IG9mIGFuIGFkZCBpbnN0cnVjdGlvbiAqLworKyAgQ09TVFNfTl9J TlNOUyAoMSkgKyAxLAkJLyogY29zdCBvZiBhIGxlYSBpbnN0cnVjdGlvbiAqLworKyAgQ09TVFNf Tl9JTlNOUyAoMSksCQkJLyogdmFyaWFibGUgc2hpZnQgY29zdHMgKi8KKysgIENPU1RTX05fSU5T TlMgKDEpLAkJCS8qIGNvbnN0YW50IHNoaWZ0IGNvc3RzICovCisrICB7Q09TVFNfTl9JTlNOUyAo MyksCQkJLyogY29zdCBvZiBzdGFydGluZyBtdWx0aXBseSBmb3IgUUkgKi8KKysgICBDT1NUU19O X0lOU05TICg0KSwJCQkvKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBISSAqLworKyAg IENPU1RTX05fSU5TTlMgKDMpLAkJCS8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNJ ICovCisrICAgQ09TVFNfTl9JTlNOUyAoNCksCQkJLyogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgREkgKi8KKysgICBDT1NUU19OX0lOU05TICgyKX0sCQkJLyogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgb3RoZXIgKi8KKysgIDAsCQkJCQkvKiBjb3N0IG9mIG11bHRpcGx5IHBl ciBlYWNoIGJpdCBzZXQgKi8KKysgIHtDT1NUU19OX0lOU05TICgxOCksCQkJLyogY29zdCBvZiBh IGRpdmlkZS9tb2QgZm9yIFFJICovCisrICAgQ09TVFNfTl9JTlNOUyAoMjYpLAkJCS8qICAgICAg ICAgICAgICAgICAgICAgICAgICBISSAqLworKyAgIENPU1RTX05fSU5TTlMgKDQyKSwJCQkvKiAg ICAgICAgICAgICAgICAgICAgICAgICAgU0kgKi8KKysgICBDT1NUU19OX0lOU05TICg3NCksCQkJ LyogICAgICAgICAgICAgICAgICAgICAgICAgIERJICovCisrICAgQ09TVFNfTl9JTlNOUyAoNzQp fSwJCQkvKiAgICAgICAgICAgICAgICAgICAgICAgICAgb3RoZXIgKi8KKysgIENPU1RTX05fSU5T TlMgKDEpLAkJCS8qIGNvc3Qgb2YgbW92c3ggKi8KKysgIENPU1RTX05fSU5TTlMgKDEpLAkJCS8q IGNvc3Qgb2YgbW92enggKi8KKysgIDgsCQkJCQkvKiAibGFyZ2UiIGluc24gKi8KKysgIDE3LAkJ CQkJLyogTU9WRV9SQVRJTyAqLworKyAgMiwJCQkJCS8qIGNvc3QgZm9yIGxvYWRpbmcgUUltb2Rl IHVzaW5nIG1vdnpibCAqLworKyAgezQsIDQsIDR9LAkJCQkvKiBjb3N0IG9mIGxvYWRpbmcgaW50 ZWdlciByZWdpc3RlcnMKKysJCQkJCSAgIGluIFFJbW9kZSwgSEltb2RlIGFuZCBTSW1vZGUuCisr CQkJCQkgICBSZWxhdGl2ZSB0byByZWctcmVnIG1vdmUgKDIpLiAgKi8KKysgIHs0LCA0LCA0fSwJ CQkJLyogY29zdCBvZiBzdG9yaW5nIGludGVnZXIgcmVnaXN0ZXJzICovCisrICA0LAkJCQkJLyog Y29zdCBvZiByZWcscmVnIGZsZC9mc3QgKi8KKysgIHsxMiwgMTIsIDEyfSwJCQkJLyogY29zdCBv ZiBsb2FkaW5nIGZwIHJlZ2lzdGVycworKwkJCQkJICAgaW4gU0Ztb2RlLCBERm1vZGUgYW5kIFhG bW9kZSAqLworKyAgezYsIDYsIDh9LAkJCQkvKiBjb3N0IG9mIHN0b3JpbmcgZnAgcmVnaXN0ZXJz CisrCQkJCQkgICBpbiBTRm1vZGUsIERGbW9kZSBhbmQgWEZtb2RlICovCisrICAyLAkJCQkJLyog Y29zdCBvZiBtb3ZpbmcgTU1YIHJlZ2lzdGVyICovCisrICB7OCwgOH0sCQkJCS8qIGNvc3Qgb2Yg bG9hZGluZyBNTVggcmVnaXN0ZXJzCisrCQkJCQkgICBpbiBTSW1vZGUgYW5kIERJbW9kZSAqLwor KyAgezgsIDh9LAkJCQkvKiBjb3N0IG9mIHN0b3JpbmcgTU1YIHJlZ2lzdGVycworKwkJCQkJICAg aW4gU0ltb2RlIGFuZCBESW1vZGUgKi8KKysgIDIsCQkJCQkvKiBjb3N0IG9mIG1vdmluZyBTU0Ug cmVnaXN0ZXIgKi8KKysgIHs4LCA4LCA4fSwJCQkJLyogY29zdCBvZiBsb2FkaW5nIFNTRSByZWdp c3RlcnMKKysJCQkJCSAgIGluIFNJbW9kZSwgREltb2RlIGFuZCBUSW1vZGUgKi8KKysgIHs4LCA4 LCA4fSwJCQkJLyogY29zdCBvZiBzdG9yaW5nIFNTRSByZWdpc3RlcnMKKysJCQkJCSAgIGluIFNJ bW9kZSwgREltb2RlIGFuZCBUSW1vZGUgKi8KKysgIDUsCQkJCQkvKiBNTVggb3IgU1NFIHJlZ2lz dGVyIHRvIGludGVnZXIgKi8KKysgIDMyLAkJCQkJLyogc2l6ZSBvZiBsMSBjYWNoZS4gICovCisr ICAyNTYsCQkJCQkvKiBzaXplIG9mIGwyIGNhY2hlLiAgKi8KKysgIDY0LAkJCQkJLyogc2l6ZSBv ZiBwcmVmZXRjaCBibG9jayAqLworKyAgNiwJCQkJCS8qIG51bWJlciBvZiBwYXJhbGxlbCBwcmVm ZXRjaGVzICovCisrICAzLAkJCQkJLyogQnJhbmNoIGNvc3QgKi8KKysgIENPU1RTX05fSU5TTlMg KDgpLAkJCS8qIGNvc3Qgb2YgRkFERCBhbmQgRlNVQiBpbnNucy4gICovCisrICBDT1NUU19OX0lO U05TICg4KSwJCQkvKiBjb3N0IG9mIEZNVUwgaW5zdHJ1Y3Rpb24uICAqLworKyAgQ09TVFNfTl9J TlNOUyAoMjApLAkJCS8qIGNvc3Qgb2YgRkRJViBpbnN0cnVjdGlvbi4gICovCisrICBDT1NUU19O X0lOU05TICg4KSwJCQkvKiBjb3N0IG9mIEZBQlMgaW5zdHJ1Y3Rpb24uICAqLworKyAgQ09TVFNf Tl9JTlNOUyAoOCksCQkJLyogY29zdCBvZiBGQ0hTIGluc3RydWN0aW9uLiAgKi8KKysgIENPU1RT X05fSU5TTlMgKDQwKSwJCQkvKiBjb3N0IG9mIEZTUVJUIGluc3RydWN0aW9uLiAgKi8KKysgIHt7 bGliY2FsbCwge3sxMSwgbG9vcH0sIHstMSwgcmVwX3ByZWZpeF80X2J5dGV9fX0sCisrICAge2xp YmNhbGwsIHt7MzIsIGxvb3B9LCB7NjQsIHJlcF9wcmVmaXhfNF9ieXRlfSwKKysgICAgICAgICAg ezgxOTIsIHJlcF9wcmVmaXhfOF9ieXRlfSwgey0xLCBsaWJjYWxsfX19fSwKKysgIHt7bGliY2Fs bCwge3s4LCBsb29wfSwgezE1LCB1bnJvbGxlZF9sb29wfSwKKysgICAgICAgICAgezIwNDgsIHJl cF9wcmVmaXhfNF9ieXRlfSwgey0xLCBsaWJjYWxsfX19LAorKyAgIHtsaWJjYWxsLCB7ezI0LCBs b29wfSwgezMyLCB1bnJvbGxlZF9sb29wfSwKKysgICAgICAgICAgezgxOTIsIHJlcF9wcmVmaXhf OF9ieXRlfSwgey0xLCBsaWJjYWxsfX19fSwKKysgIDEsICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgLyogc2NhbGFyX3N0bXRfY29zdC4gICovCisrICAxLCAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIC8qIHNjYWxhciBsb2FkX2Nvc3QuICAqLworKyAgMSwgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBzY2FsYXJfc3RvcmVfY29zdC4gICov CisrICAxLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHZlY19zdG10X2Nv c3QuICAqLworKyAgMSwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB2ZWNf dG9fc2NhbGFyX2Nvc3QuICAqLworKyAgMSwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAvKiBzY2FsYXJfdG9fdmVjX2Nvc3QuICAqLworKyAgMSwgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAvKiB2ZWNfYWxpZ25fbG9hZF9jb3N0LiAgKi8KKysgIDIsICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdmVjX3VuYWxpZ25fbG9hZF9jb3N0LiAg Ki8KKysgIDEsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdmVjX3N0b3Jl X2Nvc3QuICAqLworKyAgMywgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBj b25kX3Rha2VuX2JyYW5jaF9jb3N0LiAgKi8KKysgIDEsICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgLyogY29uZF9ub3RfdGFrZW5fYnJhbmNoX2Nvc3QuICAqLworK307CisrCisg LyogR2VuZXJpYzY0IHNob3VsZCBwcm9kdWNlIGNvZGUgdHVuZWQgZm9yIE5vY29uYSBhbmQgSzgu ICAqLworIHN0YXRpYyBjb25zdAorIHN0cnVjdCBwcm9jZXNzb3JfY29zdHMgZ2VuZXJpYzY0X2Nv c3QgPSB7CitAQCAtMTE5NCw2ICsxMjY3LDcgQEAgY29uc3Qgc3RydWN0IHByb2Nlc3Nvcl9jb3N0 cyAqaXg4Nl9jb3N0IAorICNkZWZpbmUgbV9QRU5UNCAgKDE8PFBST0NFU1NPUl9QRU5USVVNNCkK KyAjZGVmaW5lIG1fTk9DT05BICAoMTw8UFJPQ0VTU09SX05PQ09OQSkKKyAjZGVmaW5lIG1fQ09S RTIgICgxPDxQUk9DRVNTT1JfQ09SRTIpCisrI2RlZmluZSBtX0FUT00gICgxPDxQUk9DRVNTT1Jf QVRPTSkKKyAKKyAjZGVmaW5lIG1fR0VPREUgICgxPDxQUk9DRVNTT1JfR0VPREUpCisgI2RlZmlu ZSBtX0s2ICAoMTw8UFJPQ0VTU09SX0s2KQorQEAgLTEyMzEsMTAgKzEzMDUsMTEgQEAgc3RhdGlj IHVuc2lnbmVkIGludCBpbml0aWFsX2l4ODZfdHVuZV9mZQorICAgbV80ODYgfCBtX1BFTlQsCisg CisgICAvKiBYODZfVFVORV9VTlJPTExfU1RSTEVOICovCistICBtXzQ4NiB8IG1fUEVOVCB8IG1f UFBSTyB8IG1fQU1EX01VTFRJUExFIHwgbV9LNiB8IG1fQ09SRTIgfCBtX0dFTkVSSUMsCisrICBt XzQ4NiB8IG1fUEVOVCB8IG1fQVRPTSB8IG1fUFBSTyB8IG1fQU1EX01VTFRJUExFIHwgbV9LNgor KyAgfCBtX0NPUkUyIHwgbV9HRU5FUklDLAorIAorICAgLyogWDg2X1RVTkVfREVFUF9CUkFOQ0hf UFJFRElDVElPTiAqLworLSAgbV9QUFJPIHwgbV9LNl9HRU9ERSB8IG1fQU1EX01VTFRJUExFIHwg bV9QRU5UNCB8IG1fR0VORVJJQywKKysgIG1fQVRPTSB8IG1fUFBSTyB8IG1fSzZfR0VPREUgfCBt X0FNRF9NVUxUSVBMRSB8IG1fUEVOVDQgfCBtX0dFTkVSSUMsCisgCisgICAvKiBYODZfVFVORV9C UkFOQ0hfUFJFRElDVElPTl9ISU5UUzogQnJhbmNoIGhpbnRzIHdlcmUgcHV0IGluIFA0IGJhc2Vk CisgICAgICBvbiBzaW11bGF0aW9uIHJlc3VsdC4gQnV0IGFmdGVyIFA0IHdhcyBtYWRlLCBubyBw ZXJmb3JtYW5jZSBiZW5lZml0CitAQCAtMTI0NiwxMiArMTMyMSwxMiBAQCBzdGF0aWMgdW5zaWdu ZWQgaW50IGluaXRpYWxfaXg4Nl90dW5lX2ZlCisgICB+bV8zODYsCisgCisgICAvKiBYODZfVFVO RV9VU0VfU0FIRiAqLworLSAgbV9QUFJPIHwgbV9LNl9HRU9ERSB8IG1fSzggfCBtX0FNREZBTTEw IHwgbV9QRU5UNAorKyAgbV9BVE9NIHwgbV9QUFJPIHwgbV9LNl9HRU9ERSB8IG1fSzggfCBtX0FN REZBTTEwIHwgbV9QRU5UNAorICAgfCBtX05PQ09OQSB8IG1fQ09SRTIgfCBtX0dFTkVSSUMsCisg CisgICAvKiBYODZfVFVORV9NT1ZYOiBFbmFibGUgdG8gemVybyBleHRlbmQgaW50ZWdlciByZWdp c3RlcnMgdG8gYXZvaWQKKyAgICAgIHBhcnRpYWwgZGVwZW5kZW5jaWVzLiAgKi8KKy0gIG1fQU1E X01VTFRJUExFIHwgbV9QUFJPIHwgbV9QRU5UNCB8IG1fTk9DT05BCisrICBtX0FNRF9NVUxUSVBM RSB8IG1fQVRPTSB8IG1fUFBSTyB8IG1fUEVOVDQgfCBtX05PQ09OQQorICAgfCBtX0NPUkUyIHwg bV9HRU5FUklDIHwgbV9HRU9ERSAvKiBtXzM4NiB8IG1fSzYgKi8sCisgCisgICAvKiBYODZfVFVO RV9QQVJUSUFMX1JFR19TVEFMTDogV2UgcHJvYmFibHkgb3VnaHQgdG8gd2F0Y2ggZm9yIHBhcnRp YWwKK0BAIC0xMjcxLDEzICsxMzQ2LDEzIEBAIHN0YXRpYyB1bnNpZ25lZCBpbnQgaW5pdGlhbF9p eDg2X3R1bmVfZmUKKyAgIG1fMzg2IHwgbV80ODYgfCBtX0s2X0dFT0RFLAorIAorICAgLyogWDg2 X1RVTkVfVVNFX1NJTU9ERV9GSU9QICovCistICB+KG1fUFBSTyB8IG1fQU1EX01VTFRJUExFIHwg bV9QRU5UIHwgbV9DT1JFMiB8IG1fR0VORVJJQyksCisrICB+KG1fUFBSTyB8IG1fQU1EX01VTFRJ UExFIHwgbV9QRU5UIHwgbV9BVE9NIHwgbV9DT1JFMiB8IG1fR0VORVJJQyksCisgCisgICAvKiBY ODZfVFVORV9VU0VfTU9WMCAqLworICAgbV9LNiwKKyAKKyAgIC8qIFg4Nl9UVU5FX1VTRV9DTFRE ICovCistICB+KG1fUEVOVCB8IG1fSzYgfCBtX0NPUkUyIHwgbV9HRU5FUklDKSwKKysgIH4obV9Q RU5UIHwgbV9BVE9NIHwgbV9LNiB8IG1fQ09SRTIgfCBtX0dFTkVSSUMpLAorIAorICAgLyogWDg2 X1RVTkVfVVNFX1hDSEdCOiBVc2UgeGNoZ2IgJXJoLCVybCBpbnN0ZWFkIG9mIHJvbHcvcm9ydyAk OCxyeC4gICovCisgICBtX1BFTlQ0LAorQEAgLTEyOTIsOCArMTM2Nyw4IEBAIHN0YXRpYyB1bnNp Z25lZCBpbnQgaW5pdGlhbF9peDg2X3R1bmVfZmUKKyAgIH4obV9QRU5UIHwgbV9QUFJPKSwKKyAK KyAgIC8qIFg4Nl9UVU5FX1BST01PVEVfUUlNT0RFICovCistICBtX0s2X0dFT0RFIHwgbV9QRU5U IHwgbV8zODYgfCBtXzQ4NiB8IG1fQU1EX01VTFRJUExFIHwgbV9DT1JFMgorLSAgfCBtX0dFTkVS SUMgLyogfCBtX1BFTlQ0ID8gKi8sCisrICBtX0s2X0dFT0RFIHwgbV9QRU5UIHwgbV9BVE9NIHwg bV8zODYgfCBtXzQ4NiB8IG1fQU1EX01VTFRJUExFCisrICB8IG1fQ09SRTIgfCBtX0dFTkVSSUMg LyogfCBtX1BFTlQ0ID8gKi8sCisgCisgICAvKiBYODZfVFVORV9GQVNUX1BSRUZJWCAqLworICAg fihtX1BFTlQgfCBtXzQ4NiB8IG1fMzg2KSwKK0BAIC0xMzE3LDI2ICsxMzkyLDI4IEBAIHN0YXRp YyB1bnNpZ25lZCBpbnQgaW5pdGlhbF9peDg2X3R1bmVfZmUKKyAgIG1fUFBSTywKKyAKKyAgIC8q IFg4Nl9UVU5FX0FERF9FU1BfNDogRW5hYmxlIGlmIGFkZC9zdWIgaXMgcHJlZmVycmVkIG92ZXIg MS8yIHB1c2gvcG9wLiAgKi8KKy0gIG1fQU1EX01VTFRJUExFIHwgbV9LNl9HRU9ERSB8IG1fUEVO VDQgfCBtX05PQ09OQSB8IG1fQ09SRTIgfCBtX0dFTkVSSUMsCisrICBtX0FUT00gfCBtX0FNRF9N VUxUSVBMRSB8IG1fSzZfR0VPREUgfCBtX1BFTlQ0IHwgbV9OT0NPTkEKKysgIHwgbV9DT1JFMiB8 IG1fR0VORVJJQywKKyAKKyAgIC8qIFg4Nl9UVU5FX0FERF9FU1BfOCAqLworLSAgbV9BTURfTVVM VElQTEUgfCBtX1BQUk8gfCBtX0s2X0dFT0RFIHwgbV8zODYKKysgIG1fQU1EX01VTFRJUExFIHwg bV9BVE9NIHwgbV9QUFJPIHwgbV9LNl9HRU9ERSB8IG1fMzg2CisgICB8IG1fNDg2IHwgbV9QRU5U NCB8IG1fTk9DT05BIHwgbV9DT1JFMiB8IG1fR0VORVJJQywKKyAKKyAgIC8qIFg4Nl9UVU5FX1NV Ql9FU1BfNCAqLworLSAgbV9BTURfTVVMVElQTEUgfCBtX1BQUk8gfCBtX1BFTlQ0IHwgbV9OT0NP TkEgfCBtX0NPUkUyIHwgbV9HRU5FUklDLAorKyAgbV9BTURfTVVMVElQTEUgfCBtX0FUT00gfCBt X1BQUk8gfCBtX1BFTlQ0IHwgbV9OT0NPTkEgfCBtX0NPUkUyCisrICB8IG1fR0VORVJJQywKKyAK KyAgIC8qIFg4Nl9UVU5FX1NVQl9FU1BfOCAqLworLSAgbV9BTURfTVVMVElQTEUgfCBtX1BQUk8g fCBtXzM4NiB8IG1fNDg2CisrICBtX0FNRF9NVUxUSVBMRSB8IG1fQVRPTSB8IG1fUFBSTyB8IG1f Mzg2IHwgbV80ODYKKyAgIHwgbV9QRU5UNCB8IG1fTk9DT05BIHwgbV9DT1JFMiB8IG1fR0VORVJJ QywKKyAKKyAgIC8qIFg4Nl9UVU5FX0lOVEVHRVJfREZNT0RFX01PVkVTOiBFbmFibGUgaWYgaW50 ZWdlciBtb3ZlcyBhcmUgcHJlZmVycmVkCisgICAgICBmb3IgREZtb2RlIGNvcGllcyAqLworLSAg fihtX0FNRF9NVUxUSVBMRSB8IG1fUEVOVDQgfCBtX05PQ09OQSB8IG1fUFBSTyB8IG1fQ09SRTIK KysgIH4obV9BTURfTVVMVElQTEUgfCBtX0FUT00gfCBtX1BFTlQ0IHwgbV9OT0NPTkEgfCBtX1BQ Uk8gfCBtX0NPUkUyCisgICAgIHwgbV9HRU5FUklDIHwgbV9HRU9ERSksCisgCisgICAvKiBYODZf VFVORV9QQVJUSUFMX1JFR19ERVBFTkRFTkNZICovCistICBtX0FNRF9NVUxUSVBMRSB8IG1fUEVO VDQgfCBtX05PQ09OQSB8IG1fQ09SRTIgfCBtX0dFTkVSSUMsCisrICBtX0FNRF9NVUxUSVBMRSB8 IG1fQVRPTSB8IG1fUEVOVDQgfCBtX05PQ09OQSB8IG1fQ09SRTIgfCBtX0dFTkVSSUMsCisgCisg ICAvKiBYODZfVFVORV9TU0VfUEFSVElBTF9SRUdfREVQRU5ERU5DWTogSW4gdGhlIEdlbmVyaWMg bW9kZWwgd2UgaGF2ZSBhCisgICAgICBjb25mbGljdCBoZXJlIGluIGJldHdlZW4gUFByby9QZW50 aXVtNCBiYXNlZCBjaGlwcyB0aGF0IHRocmVhZCAxMjhiaXQKK0BAIC0xMzQ3LDcgKzE0MjQsOCBA QCBzdGF0aWMgdW5zaWduZWQgaW50IGluaXRpYWxfaXg4Nl90dW5lX2ZlCisgICAgICBzaG93cyB0 aGF0IGRpc2FibGluZyB0aGlzIG9wdGlvbiBvbiBQNCBicmluZ3Mgb3ZlciAyMCUgU1BFQ2ZwIHJl Z3Jlc3Npb24sCisgICAgICB3aGlsZSBlbmFibGluZyBpdCBvbiBLOCBicmluZ3Mgcm91Z2hseSAy LjQlIHJlZ3Jlc3Npb24gdGhhdCBjYW4gYmUgcGFydGx5CisgICAgICBtYXNrZWQgYnkgY2FyZWZ1 bCBzY2hlZHVsaW5nIG9mIG1vdmVzLiAgKi8KKy0gIG1fUEVOVDQgfCBtX05PQ09OQSB8IG1fUFBS TyB8IG1fQ09SRTIgfCBtX0dFTkVSSUMgfCBtX0FNREZBTTEwLAorKyAgbV9BVE9NIHwgbV9QRU5U NCB8IG1fTk9DT05BIHwgbV9QUFJPIHwgbV9DT1JFMiB8IG1fR0VORVJJQworKyAgfCBtX0FNREZB TTEwLAorIAorICAgLyogWDg2X1RVTkVfU1NFX1VOQUxJR05FRF9NT1ZFX09QVElNQUwgKi8KKyAg IG1fQU1ERkFNMTAsCitAQCAtMTM2NSwxMyArMTQ0MywxMyBAQCBzdGF0aWMgdW5zaWduZWQgaW50 IGluaXRpYWxfaXg4Nl90dW5lX2ZlCisgICBtX1BQUk8gfCBtX1BFTlQ0IHwgbV9OT0NPTkEsCisg CisgICAvKiBYODZfVFVORV9NRU1PUllfTUlTTUFUQ0hfU1RBTEwgKi8KKy0gIG1fQU1EX01VTFRJ UExFIHwgbV9QRU5UNCB8IG1fTk9DT05BIHwgbV9DT1JFMiB8IG1fR0VORVJJQywKKysgIG1fQU1E X01VTFRJUExFIHwgbV9BVE9NIHwgbV9QRU5UNCB8IG1fTk9DT05BIHwgbV9DT1JFMiB8IG1fR0VO RVJJQywKKyAKKyAgIC8qIFg4Nl9UVU5FX1BST0xPR1VFX1VTSU5HX01PVkUgKi8KKy0gIG1fQVRI TE9OX0s4IHwgbV9QUFJPIHwgbV9DT1JFMiB8IG1fR0VORVJJQywKKysgIG1fQVRITE9OX0s4IHwg bV9BVE9NIHwgbV9QUFJPIHwgbV9DT1JFMiB8IG1fR0VORVJJQywKKyAKKyAgIC8qIFg4Nl9UVU5F X0VQSUxPR1VFX1VTSU5HX01PVkUgKi8KKy0gIG1fQVRITE9OX0s4IHwgbV9QUFJPIHwgbV9DT1JF MiB8IG1fR0VORVJJQywKKysgIG1fQVRITE9OX0s4IHwgbV9BVE9NIHwgbV9QUFJPIHwgbV9DT1JF MiB8IG1fR0VORVJJQywKKyAKKyAgIC8qIFg4Nl9UVU5FX1NISUZUMSAqLworICAgfm1fNDg2LAor QEAgLTEzODAsMjkgKzE0NTgsMzIgQEAgc3RhdGljIHVuc2lnbmVkIGludCBpbml0aWFsX2l4ODZf dHVuZV9mZQorICAgbV9BTURfTVVMVElQTEUsCisgCisgICAvKiBYODZfVFVORV9JTlRFUl9VTklU X01PVkVTICovCistICB+KG1fQU1EX01VTFRJUExFIHwgbV9HRU5FUklDKSwKKysgIH4obV9BTURf TVVMVElQTEUgfCBtX0FUT00gfCBtX0dFTkVSSUMpLAorIAorICAgLyogWDg2X1RVTkVfSU5URVJf VU5JVF9DT05WRVJTSU9OUyAqLworICAgfihtX0FNREZBTTEwKSwKKyAKKyAgIC8qIFg4Nl9UVU5F X0ZPVVJfSlVNUF9MSU1JVDogU29tZSBDUFUgY29yZXMgYXJlIG5vdCBhYmxlIHRvIHByZWRpY3Qg bW9yZQorICAgICAgdGhhbiA0IGJyYW5jaCBpbnN0cnVjdGlvbnMgaW4gdGhlIDE2IGJ5dGUgd2lu ZG93LiAgKi8KKy0gIG1fUFBSTyB8IG1fQU1EX01VTFRJUExFIHwgbV9QRU5UNCB8IG1fTk9DT05B IHwgbV9DT1JFMiB8IG1fR0VORVJJQywKKysgIG1fQVRPTSB8IG1fUFBSTyB8IG1fQU1EX01VTFRJ UExFIHwgbV9QRU5UNCB8IG1fTk9DT05BIHwgbV9DT1JFMgorKyAgfCBtX0dFTkVSSUMsCisgCisg ICAvKiBYODZfVFVORV9TQ0hFRFVMRSAqLworLSAgbV9QUFJPIHwgbV9BTURfTVVMVElQTEUgfCBt X0s2X0dFT0RFIHwgbV9QRU5UIHwgbV9DT1JFMiB8IG1fR0VORVJJQywKKysgIG1fUFBSTyB8IG1f QU1EX01VTFRJUExFIHwgbV9LNl9HRU9ERSB8IG1fUEVOVCB8IG1fQVRPTSB8IG1fQ09SRTIKKysg IHwgbV9HRU5FUklDLAorIAorICAgLyogWDg2X1RVTkVfVVNFX0JUICovCistICBtX0FNRF9NVUxU SVBMRSB8IG1fQ09SRTIgfCBtX0dFTkVSSUMsCisrICBtX0FNRF9NVUxUSVBMRSB8IG1fQVRPTSB8 IG1fQ09SRTIgfCBtX0dFTkVSSUMsCisgCisgICAvKiBYODZfVFVORV9VU0VfSU5DREVDICovCist ICB+KG1fUEVOVDQgfCBtX05PQ09OQSB8IG1fR0VORVJJQyksCisrICB+KG1fUEVOVDQgfCBtX05P Q09OQSB8IG1fR0VORVJJQyB8IG1fQVRPTSksCisgCisgICAvKiBYODZfVFVORV9QQURfUkVUVVJO UyAqLworICAgbV9BTURfTVVMVElQTEUgfCBtX0NPUkUyIHwgbV9HRU5FUklDLAorIAorICAgLyog WDg2X1RVTkVfRVhUXzgwMzg3X0NPTlNUQU5UUyAqLworLSAgbV9LNl9HRU9ERSB8IG1fQVRITE9O X0s4IHwgbV9QRU5UNCB8IG1fTk9DT05BIHwgbV9QUFJPIHwgbV9DT1JFMiB8IG1fR0VORVJJQywK KysgIG1fSzZfR0VPREUgfCBtX0FUSExPTl9LOCB8IG1fQVRPTSB8IG1fUEVOVDQgfCBtX05PQ09O QSB8IG1fUFBSTworKyAgfCBtX0NPUkUyIHwgbV9HRU5FUklDLAorIAorICAgLyogWDg2X1RVTkVf U0hPUlRFTl9YODdfU1NFICovCisgICB+bV9LOCwKK0BAIC0xNDQ3LDYgKzE1MjgsMTAgQEAgc3Rh dGljIHVuc2lnbmVkIGludCBpbml0aWFsX2l4ODZfdHVuZV9mZQorICAgICAgd2l0aCBhIHN1YnNl cXVlbnQgY29uZGl0aW9uYWwganVtcCBpbnN0cnVjdGlvbiBpbnRvIGEgc2luZ2xlCisgICAgICBj b21wYXJlLWFuZC1icmFuY2ggdW9wLiAgKi8KKyAgIG1fQ09SRTIsCisrCisrICAvKiBYODZfVFVO RV9PUFRfQUdVOiBPcHRpbWl6ZSBmb3IgQWRkcmVzcyBHZW5lcmF0aW9uIFVuaXQuIFRoaXMgZmxh ZworKyAgICAgd2lsbCBpbXBhY3QgTEVBIGluc3RydWN0aW9uIHNlbGVjdGlvbi4gKi8KKysgIG1f QVRPTSwKKyB9OworIAorIC8qIEZlYXR1cmUgdGVzdHMgYWdhaW5zdCB0aGUgdmFyaW91cyBhcmNo aXRlY3R1cmUgdmFyaWF0aW9ucy4gICovCitAQCAtMTQ3MiwxMCArMTU1NywxMSBAQCBzdGF0aWMg dW5zaWduZWQgaW50IGluaXRpYWxfaXg4Nl9hcmNoX2ZlCisgfTsKKyAKKyBzdGF0aWMgY29uc3Qg dW5zaWduZWQgaW50IHg4Nl9hY2N1bXVsYXRlX291dGdvaW5nX2FyZ3MKKy0gID0gbV9BTURfTVVM VElQTEUgfCBtX1BFTlQ0IHwgbV9OT0NPTkEgfCBtX1BQUk8gfCBtX0NPUkUyIHwgbV9HRU5FUklD OworKyAgPSBtX0FNRF9NVUxUSVBMRSB8IG1fQVRPTSB8IG1fUEVOVDQgfCBtX05PQ09OQSB8IG1f UFBSTyB8IG1fQ09SRTIKKysgICAgfCBtX0dFTkVSSUM7CisgCisgc3RhdGljIGNvbnN0IHVuc2ln bmVkIGludCB4ODZfYXJjaF9hbHdheXNfZmFuY3lfbWF0aF8zODcKKy0gID0gbV9QRU5UIHwgbV9Q UFJPIHwgbV9BTURfTVVMVElQTEUgfCBtX1BFTlQ0CisrICA9IG1fUEVOVCB8IG1fQVRPTSB8IG1f UFBSTyB8IG1fQU1EX01VTFRJUExFIHwgbV9QRU5UNAorICAgICB8IG1fTk9DT05BIHwgbV9DT1JF MiB8IG1fR0VORVJJQzsKKyAKKyBzdGF0aWMgZW51bSBzdHJpbmdvcF9hbGcgc3RyaW5nb3BfYWxn ID0gbm9fc3RyaW5nb3A7CitAQCAtMTk1Miw3ICsyMDM4LDggQEAgc3RhdGljIGNvbnN0IHN0cnVj dCBwdHQgcHJvY2Vzc29yX3RhcmdldAorICAgeyZjb3JlMl9jb3N0LCAxNiwgMTAsIDE2LCAxMCwg MTZ9LAorICAgeyZnZW5lcmljMzJfY29zdCwgMTYsIDcsIDE2LCA3LCAxNn0sCisgICB7JmdlbmVy aWM2NF9jb3N0LCAxNiwgMTAsIDE2LCAxMCwgMTZ9LAorLSAgeyZhbWRmYW0xMF9jb3N0LCAzMiwg MjQsIDMyLCA3LCAzMn0KKysgIHsmYW1kZmFtMTBfY29zdCwgMzIsIDI0LCAzMiwgNywgMzJ9LAor KyAgeyZhdG9tX2Nvc3QsIDE2LCA3LCAxNiwgNywgMTZ9CisgfTsKKyAKKyBzdGF0aWMgY29uc3Qg Y2hhciAqY29uc3QgY3B1X25hbWVzW1RBUkdFVF9DUFVfREVGQVVMVF9tYXhdID0KK0BAIC0xOTcw LDYgKzIwNTcsNyBAQCBzdGF0aWMgY29uc3QgY2hhciAqY29uc3QgY3B1X25hbWVzW1RBUkdFCisg ICAicHJlc2NvdHQiLAorICAgIm5vY29uYSIsCisgICAiY29yZTIiLAorKyAgImF0b20iLAorICAg Imdlb2RlIiwKKyAgICJrNiIsCisgICAiazYtMiIsCitAQCAtMjUyOCw2ICsyNjE2LDkgQEAgb3Zl cnJpZGVfb3B0aW9ucyAoYm9vbCBtYWluX2FyZ3NfcCkKKyAgICAgICB7ImNvcmUyIiwgUFJPQ0VT U09SX0NPUkUyLCBDUFVfQ09SRTIsCisgCVBUQV82NEJJVCB8IFBUQV9NTVggfCBQVEFfU1NFIHwg UFRBX1NTRTIgfCBQVEFfU1NFMworIAl8IFBUQV9TU1NFMyB8IFBUQV9DWDE2fSwKKysgICAgICB7 ImF0b20iLCBQUk9DRVNTT1JfQVRPTSwgQ1BVX0FUT00sCisrCVBUQV82NEJJVCB8IFBUQV9NTVgg fCBQVEFfU1NFIHwgUFRBX1NTRTIgfCBQVEFfU1NFMworKwl8IFBUQV9TU1NFMyB8IFBUQV9DWDE2 fSwKKyAgICAgICB7Imdlb2RlIiwgUFJPQ0VTU09SX0dFT0RFLCBDUFVfR0VPREUsCisgCVBUQV9N TVggfCBQVEFfM0ROT1cgfCBQVEFfM0ROT1dfQSB8UFRBX1BSRUZFVENIX1NTRX0sCisgICAgICAg eyJrNiIsIFBST0NFU1NPUl9LNiwgQ1BVX0s2LCBQVEFfTU1YfSwKK0BAIC0xMjg2Niw2ICsxMjk1 NywyNjMgQEAgaXg4Nl9leHBhbmRfdW5hcnlfb3BlcmF0b3IgKGVudW0gcnR4X2NvZAorICAgICBl bWl0X21vdmVfaW5zbiAob3BlcmFuZHNbMF0sIGRzdCk7CisgfQorIAorKyNkZWZpbmUgTEVBX1NF QVJDSF9USFJFU0hPTEQgMTIKKysKKysvKiBSZWFjaCBub24tYWd1IGRlZmluaXRpb24gb2Ygb3Ax IGFuZCBvcDIgaW4gaW5zbidzIGJhc2ljIGJsb2NrLiAKKysgICBTZWFyY2ggYmFja3dhcmQgdW50 aWwgMS4gcGFzc2VkIExFQV9TRUFSQ0hfVEhSRVNIT0xEIGluc3RydWN0aW9ucywgCisrICAgb3Ig Mi4gcmVhY2ggQkIgYm91bmRhcnksIG9yIHJlYWNoIGFndSBkZWZpbml0aW9uLiAKKysgICBSZXR1 cm5zIHRoZSBkaXN0YW5jZSBiZXR3ZWVuIHRoZSBub24tYWd1IGRlZmluaXRpb24gcG9pbnQgYW5k IGluc24uCisrICAgSWYgbm8gZGVmaW5pdGlvbiBwb2ludCwgcmV0dXJucyAtMSAKKysgICBUT0RP OiBDdXJyZW50bHkgd2UgaGF2ZSBubyB3YXkgdG8gZGlzdGluZ3Vpc2ggaWYgZGVmaW5pdGlvbiBp bnNuIGlzIGEgTEVBLiAKKysgICBXZSBqdXN0IGFzc3VtZSBhbGwgZGVmaW5pdGlvbnMgYXJlIG5v bi1sZWEuICovCisrc3RhdGljIGludAorK2Rpc3RhbmNlX25vbl9hZ3VfZGVmaW5lIChydHggb3Ax LCBydHggb3AyLCBydHggaW5zbikKKyt7CisrICBydHggcmVnX29wMSA9IFJFR19QIChvcDEpID8g b3AxIDogTlVMTDsKKysgIHJ0eCByZWdfb3AyID0gUkVHX1AgKG9wMikgPyBvcDIgOiBOVUxMOwor KyAgYmFzaWNfYmxvY2sgYmIgPSBCTE9DS19GT1JfSU5TTiAoaW5zbik7CisrICBpbnQgZGlzdGFu Y2UgPSAwOworKworKyAgaWYgKGluc24gIT0gQkJfSEVBRCAoYmIpKQorKyAgICB7CisrCisrICAg ICAgcnR4IHByZXYgPSBQUkVWX0lOU04gKGluc24pOworKyAgICAgIHdoaWxlIChwcmV2ICYmIGRp c3RhbmNlIDwgTEVBX1NFQVJDSF9USFJFU0hPTEQpCisrCXsKKysJICBpZiAoSU5TTl9QIChwcmV2 KSkKKysJICAgIHsKKysJICAgICAgZGlzdGFuY2UrKzsKKysJICAgICAgaWYgKChyZWdfb3AxICYm IHJlZ19zZXRfcCAocmVnX29wMSwgcHJldikpCisrCQkgIHx8IChyZWdfb3AyICYmIHJlZ19zZXRf cCAocmVnX29wMiwgcHJldikpKQorKwkJcmV0dXJuIGRpc3RhbmNlIDsKKysJICAgIH0KKysJICBp ZiAocHJldiA9PSBCQl9IRUFEIChiYikpCisrCSAgICBicmVhazsKKysJICBwcmV2ID0gUFJFVl9J TlNOIChwcmV2KTsKKysJfQorKyAgICB9CisrICAKKysgIGlmIChkaXN0YW5jZSA8IExFQV9TRUFS Q0hfVEhSRVNIT0xEKQorKyAgICB7CisrICAgICAgZWRnZSBlOworKyAgICAgIGVkZ2VfaXRlcmF0 b3IgZWk7CisrICAgICAgYm9vbCBzaW1wbGVfbG9vcCA9IGZhbHNlOworKyAgCisrICAgICAgRk9S X0VBQ0hfRURHRSAoZSwgZWksIGJiLT5wcmVkcykKKysJaWYgKGUtPnNyYyA9PSBiYikKKysJICB7 CisrCSAgICBzaW1wbGVfbG9vcCA9IHRydWU7CisrCSAgICBicmVhazsKKysJICB9CisrICAKKysg ICAgICBpZiAoc2ltcGxlX2xvb3ApCisrCXsKKysJICBydHggcHJldiA9IEJCX0VORCAoYmIpOwor KwkgIHdoaWxlIChwcmV2CisrCQkgJiYgcHJldiAhPSBpbnNuCisrCQkgJiYgZGlzdGFuY2UgPCBM RUFfU0VBUkNIX1RIUkVTSE9MRCkKKysJICAgIHsKKysJICAgICAgaWYgKElOU05fUCAocHJldikp CisrCQl7CisrCQkgIGRpc3RhbmNlKys7CisrCQkgIGlmICgocmVnX29wMSAmJiByZWdfc2V0X3Ag KHJlZ19vcDEsIHByZXYpKQorKwkJICAgICAgfHwgKHJlZ19vcDIgJiYgcmVnX3NldF9wIChyZWdf b3AyLCBwcmV2KSkpCisrCQkgICAgcmV0dXJuIGRpc3RhbmNlOworKwkJfQorKwkgICAgICBwcmV2 ID0gUFJFVl9JTlNOIChwcmV2KTsKKysJICAgIH0KKysJfQorKyAgICB9CisrCisrICByZXR1cm4g LTE7CisrfQorKworKy8qIFJldHVybiB0aGUgZGlzdGFuY2UgYmV0d2VlbiB0aGlzIGluc24gYW5k IHRoZSBuZXh0IGluc24gdGhhdCB1c2VzIAorKyAgIHJlc3VsdCBvZiB0aGlzIGluc24gYXMgbWVt b3J5IGFkZHJlc3MuIAorKyAgIFJldHVybiAtMSBpZiBub3QgZm91bmQgc3VjaCBhIHVzZSB3aXRo aW4gTEVBX1NFQVJDSF9USFJFU0hPTEQuICovCisrc3RhdGljIGludAorK2Rpc3RhbmNlX2FndV91 c2UgKHJ0eCBvcDAsIHJ0eCBpbnNuKQorK3sKKysgIGJhc2ljX2Jsb2NrIGJiID0gQkxPQ0tfRk9S X0lOU04gKGluc24pOworKyAgaW50IGRpc3RhbmNlID0gMDsKKysKKysgIGlmIChpbnNuICE9IEJC X0VORChiYikpCisrICAgIHsKKysgICAgICBydHggbmV4dCA9IE5FWFRfSU5TTiAoaW5zbik7Cisr CisrICAgICAgd2hpbGUgKG5leHQgJiYgZGlzdGFuY2UgPCBMRUFfU0VBUkNIX1RIUkVTSE9MRCkK KysJeworKwkgIGlmIChJTlNOX1AgKG5leHQpKQorKwkgICAgeworKwkgICAgICBkaXN0YW5jZSsr OworKwkgICAgICBpZiAocmVnX21lbnRpb25lZF9ieV9tZW1fcCAob3AwLCBuZXh0KSkKKysJCXJl dHVybiBkaXN0YW5jZTsKKysJICAgICAgaWYgKHJlZ19zZXRfcCAob3AwLCBuZXh0KSkKKysJCXJl dHVybiAtMTsKKysJICAgIH0KKysJICBpZiAobmV4dCA9PSBCQl9FTkQgKGJiKSkKKysJICAgIGJy ZWFrOworKwkgIG5leHQgPSBORVhUX0lOU04gKG5leHQpOworKwl9CisrICAgIH0KKysKKysgIGlm IChkaXN0YW5jZSA8IExFQV9TRUFSQ0hfVEhSRVNIT0xEKQorKyAgICB7CisrICAgICAgZWRnZSBl OworKyAgICAgIGVkZ2VfaXRlcmF0b3IgZWk7CisrICAgICAgYm9vbCBzaW1wbGVfbG9vcCA9IGZh bHNlOworKyAgCisrICAgICAgRk9SX0VBQ0hfRURHRSAoZSwgZWksIGJiLT5zdWNjcykKKysgICAg ICAgIGlmIChlLT5kZXN0ID09IGJiKQorKwkgIHsKKysJICAgIHNpbXBsZV9sb29wID0gdHJ1ZTsK KysJICAgIGJyZWFrOworKwkgIH0KKysgIAorKyAgICAgIGlmIChzaW1wbGVfbG9vcCkKKysJewor KwkgIHJ0eCBuZXh0ID0gQkJfSEVBRCAoYmIpOworKwkgIHdoaWxlIChuZXh0ICYmIGRpc3RhbmNl IDwgTEVBX1NFQVJDSF9USFJFU0hPTEQpCisrCSAgICB7CisrCSAgICAgIGlmIChuZXh0ID09IGlu c24pCisrCQlicmVhazsKKysJICAgICAgaWYgKElOU05fUCAobmV4dCkpCisrCQl7CisrCQkgIGRp c3RhbmNlKys7CisrCQkgIGlmIChyZWdfbWVudGlvbmVkX2J5X21lbV9wIChvcDAsIG5leHQpKQor KwkJICAgIHJldHVybiBkaXN0YW5jZTsKKysJCSAgaWYgKHJlZ19zZXRfcCAob3AwLCBuZXh0KSkK KysJCSAgICByZXR1cm4gLTE7CisrCQl9CisrCSAgICAgIG5leHQgPSBORVhUX0lOU04gKG5leHQp OworKwkgICAgfQorKwl9CisrICAgIH0gIAorKworKyAgcmV0dXJuIC0xOworK30KKysKKysvKiBE ZWZpbmUgdGhpcyBtYWNybyB0byB0dW5lIExFQSBwcmlvcml0eSB2cyBBREQsIGl0IHRha2UgZWZm ZWN0IHdoZW4KKysgICB0aGVyZSBpcyBhIGRpbGVtbWEgb2YgY2hvaWNpbmcgTEVBIG9yIEFERAor KyAgIE5lZ2F0aXZlIHZhbHVlOiBBREQgaXMgbW9yZSBwcmVmZXJyZWQgdGhhbiBMRUEKKysgICBa ZXJvOiBOZXRydWFsCisrICAgUG9zaXRpdmUgdmFsdWU6IExFQSBpcyBtb3JlIHByZWZlcnJlZCB0 aGFuIEFERCovCisrI2RlZmluZSBJWDg2X0xFQV9QUklPUklUWSAyCisrCisrLyogUmV0dXJuIHRy dWUgaWYgaXQgaXMgb2sgdG8gb3B0aW1pemUgYW4gQUREIG9wZXJhdGlvbiB0byBMRUEKKysgICBv cGVyYXRpb24gdG8gYXZvaWQgZmxhZyByZWdpc3RlciBjb25zdW1hdGlvbi4gIEZvciB0aGUgcHJv Y2Vzc29ycworKyAgIGxpa2UgQVRPTSwgaWYgdGhlIGRlc3RpbmF0aW9uIHJlZ2lzdGVyIG9mIExF QSBob2xkcyBhbiBhY3R1YWwKKysgICBhZGRyZXNzIHdoaWNoIHdpbGwgYmUgdXNlZCBzb29uLCBM RUEgaXMgYmV0dGVyIGFuZCBvdGhlcndpc2UgQURECisrICAgaXMgYmV0dGVyLiAgKi8KKysKKyti b29sCisraXg4Nl9sZWFfZm9yX2FkZF9vayAoZW51bSBydHhfY29kZSBjb2RlIEFUVFJJQlVURV9V TlVTRUQsCisrICAgICAgICAgICAgICAgICAgICAgcnR4IGluc24sCisrICAgICAgICAgICAgICAg ICAgICAgcnR4IG9wZXJhbmRzW10pCisreworKyAgZ2NjX2Fzc2VydCAoUkVHX1AgKG9wZXJhbmRz WzBdKSk7CisrICBnY2NfYXNzZXJ0IChvcGVyYW5kc1sxXSAmJiBvcGVyYW5kc1syXSk7CisrCisr ICBpZiAoIVRBUkdFVF9PUFRfQUdVIHx8IG9wdGltaXplX2Z1bmN0aW9uX2Zvcl9zaXplX3AgKGNm dW4pKQorKyAgICB7CisrICAgICAgaWYgKHRydWVfcmVnbnVtIChvcGVyYW5kc1swXSkgIT0gdHJ1 ZV9yZWdudW0gKG9wZXJhbmRzWzFdKSkKKysgICAgICAgIHJldHVybiB0cnVlOworKyAgICAgIGVs c2UKKysgICAgICAgIHJldHVybiBmYWxzZTsKKysgICAgfQorKworKyAgLyogSWYgYSA9IGIgKyBj LCAoYSE9YiAmJiBhIT1jKSwgbXVzdCB1c2UgbGVhIGZvcm0uICovCisrICBpZiAodHJ1ZV9yZWdu dW0gKG9wZXJhbmRzWzBdKSAhPSB0cnVlX3JlZ251bSAob3BlcmFuZHNbMV0pCisrICAgICAgJiYg dHJ1ZV9yZWdudW0gKG9wZXJhbmRzWzBdKSAhPSB0cnVlX3JlZ251bSAob3BlcmFuZHNbMl0pKQor KyAgICByZXR1cm4gdHJ1ZTsKKysgIGVsc2UgICAgCisrICAgIHsKKysgICAgICBpbnQgZGlzdF9k ZWZpbmUsIGRpc3RfdXNlOworKyAgICAgIGRpc3RfZGVmaW5lID0gZGlzdGFuY2Vfbm9uX2FndV9k ZWZpbmUgKG9wZXJhbmRzWzFdLAorKwkJCQkJICAgICBvcGVyYW5kc1syXSwgaW5zbik7CisrICAg ICAgaWYgKGRpc3RfZGVmaW5lIDw9IDApCisrICAgICAgICByZXR1cm4gdHJ1ZTsKKysKKysgICAg ICAvKiBJZiB0aGlzIGluc24gaGFzIGJvdGggYmFja3dhcmQgbm9uLWFndSBkZXBlbmRlbmNlIGFu ZCBmb3J3YXJkCisrICAgICAgICAgYWd1IGRlcGVuZGVuY2UsIHRoZSBvbmUgd2l0aCBzaG9ydCBk aXN0YW5jZSB0YWtlIGVmZmVjdC4gKi8KKysgICAgICBkaXN0X3VzZSA9IGRpc3RhbmNlX2FndV91 c2UgKG9wZXJhbmRzWzBdLCBpbnNuKTsKKysgICAgICBpZiAoZGlzdF91c2UgPD0gMAorKwkgIHx8 IChkaXN0X2RlZmluZSArIElYODZfTEVBX1BSSU9SSVRZKSA8IGRpc3RfdXNlKQorKyAgICAgICAg cmV0dXJuIGZhbHNlOworKworKyAgICAgIHJldHVybiB0cnVlOworKyAgICB9CisrfQorKworKy8q IFJldHVybiB0cnVlIGlmIGRlc3RpbmF0aW9uIHJlZyBvZiBTRVRfSU5TTiBpcyBzaGlmdCBjb3Vu dCBvZgorKyAgIFVTRV9JTlNOLiAgKi8KKysKKytib29sCisraXg4Nl9kZXBfYnlfc2hpZnRfY291 bnQgKGNvbnN0X3J0eCBzZXRfaW5zbiwgY29uc3RfcnR4IHVzZV9pbnNuKQorK3sKKysgIHJ0eCBz ZXRfcGF0dGVybiA9IFBBVFRFUk4gKHNldF9pbnNuKTsKKysgIHJ0eCBzZXRfZGVzdDsKKysgIHJ0 eCBzaGlmdF9ydHg7CisrICBydHggdXNlX3BhdHRlcm47CisrCisrICAvKiBSZXRyaWV2ZSBkZXN0 aW5hdGlvbiBvZiBzZXRfaW5zbiAqLworKyAgc3dpdGNoIChHRVRfQ09ERSAoc2V0X3BhdHRlcm4p KQorKyAgICB7CisrICAgIGNhc2UgU0VUOgorKyAgICAgIHNldF9kZXN0ID0gU0VUX0RFU1QgKHNl dF9wYXR0ZXJuKTsKKysgICAgICBicmVhazsKKysgICAgY2FzZSBQQVJBTExFTDoKKysgICAgICBz ZXRfcGF0dGVybiA9IFhWRUNFWFAgKHNldF9wYXR0ZXJuLCAwLCAwKTsKKysgICAgICBpZiAoR0VU X0NPREUgKHNldF9wYXR0ZXJuICkgPT0gU0VUKQorKwl7CisrCSAgc2V0X2Rlc3QgPSBTRVRfREVT VCAoc2V0X3BhdHRlcm4pOworKwkgIGJyZWFrOworKwl9CisrICAgIGRlZmF1bHQ6CisrICAgICAg c2V0X2Rlc3QgPSBOVUxMOworKyAgICAgIGJyZWFrOworKyAgICB9CisrICBpZiAoIXNldF9kZXN0 IHx8ICFSRUdfUCAoc2V0X2Rlc3QpKQorKyAgICByZXR1cm4gZmFsc2U7CisrCisrICAvKiBSZXRy aWV2ZSBzaGlmdCBjb3VudCBvZiB1c2VfaW5zbiAqLworKyAgdXNlX3BhdHRlcm4gPSBQQVRURVJO ICh1c2VfaW5zbik7CisrICBzd2l0Y2ggKEdFVF9DT0RFICh1c2VfcGF0dGVybikpCisrICAgIHsK KysgICAgY2FzZSBTRVQ6CisrICAgICAgc2hpZnRfcnR4ID0gWEVYUCAodXNlX3BhdHRlcm4sIDEp OworKyAgICAgIGJyZWFrOworKyAgICBjYXNlIFBBUkFMTEVMOgorKyAgICAgIHNldF9wYXR0ZXJu ID0gWFZFQ0VYUCAodXNlX3BhdHRlcm4sIDAsIDApOworKyAgICAgIGlmIChHRVRfQ09ERSAoc2V0 X3BhdHRlcm4pID09IFNFVCkKKysJeworKwkgIHNoaWZ0X3J0eCA9IFhFWFAgKHNldF9wYXR0ZXJu LCAxKTsKKysJICBicmVhazsKKysJfQorKyAgICBkZWZhdWx0OgorKyAgICAgIHNoaWZ0X3J0eCA9 IE5VTEw7CisrICAgICAgYnJlYWs7CisrICAgIH0KKysKKysgIGlmIChzaGlmdF9ydHggCisrICAg ICAgJiYgKEdFVF9DT0RFIChzaGlmdF9ydHgpID09IEFTSElGVAorKwkgIHx8IEdFVF9DT0RFIChz aGlmdF9ydHgpID09IExTSElGVFJUCisrCSAgfHwgR0VUX0NPREUgKHNoaWZ0X3J0eCkgPT0gQVNI SUZUUlQKKysJICB8fCBHRVRfQ09ERSAoc2hpZnRfcnR4KSA9PSBST1RBVEUKKysJICB8fCBHRVRf Q09ERSAoc2hpZnRfcnR4KSA9PSBST1RBVEVSVCkpCisrICAgIHsKKysgICAgICBydHggc2hpZnRf Y291bnQgPSBYRVhQIChzaGlmdF9ydHgsIDEpOworKyAgICAgIGdjY19hc3NlcnQgKHNoaWZ0X2Nv dW50KTsKKysKKysgICAgICAvKiBSZXR1cm4gdHJ1ZSBpZiBzaGlmdCBjb3VudCBpcyBkZXN0IG9m IHNldF9pbnNuICovCisrICAgICAgaWYgKFJFR19QIChzaGlmdF9jb3VudCkKKysJICAmJiB0cnVl X3JlZ251bSAoc2V0X2Rlc3QpID09IHRydWVfcmVnbnVtIChzaGlmdF9jb3VudCkpCisrCXJldHVy biB0cnVlOworKyAgICB9CisrCisrICByZXR1cm4gZmFsc2U7CisrfQorKworIC8qIFJldHVybiBU UlVFIG9yIEZBTFNFIGRlcGVuZGluZyBvbiB3aGV0aGVyIHRoZSB1bmFyeSBvcGVyYXRvciBtZWV0 cyB0aGUKKyAgICBhcHByb3ByaWF0ZSBjb25zdHJhaW50cy4gICovCisgCitAQCAtMTg5ODUsNiAr MTkzMzMsNyBAQCBpeDg2X2lzc3VlX3JhdGUgKHZvaWQpCisgICBzd2l0Y2ggKGl4ODZfdHVuZSkK KyAgICAgeworICAgICBjYXNlIFBST0NFU1NPUl9QRU5USVVNOgorKyAgICBjYXNlIFBST0NFU1NP Ul9BVE9NOgorICAgICBjYXNlIFBST0NFU1NPUl9LNjoKKyAgICAgICByZXR1cm4gMjsKKyAKK0BA IC0xOTA1MSw0MSArMTk0MDAsMjEgQEAgaXg4Nl9mbGFnc19kZXBlbmRlbnQgKHJ0eCBpbnNuLCBy dHggZGVwXworICAgcmV0dXJuIDE7CisgfQorIAorLS8qIEEgc3Vicm91dGluZSBvZiBpeDg2X2Fk anVzdF9jb3N0IC0tIHJldHVybiB0cnVlIGlmZiBJTlNOIGhhcyBhIG1lbW9yeQorLSAgIGFkZHJl c3Mgd2l0aCBvcGVyYW5kcyBzZXQgYnkgREVQX0lOU04uICAqLworKy8qIFJldHVybiB0cnVlIGlm ZiBVU0VfSU5TTiBoYXMgYSBtZW1vcnkgYWRkcmVzcyB3aXRoIG9wZXJhbmRzIHNldCBieQorKyAg IFNFVF9JTlNOLiAgKi8KKyAKKy1zdGF0aWMgaW50CistaXg4Nl9hZ2lfZGVwZW5kZW50IChydHgg aW5zbiwgcnR4IGRlcF9pbnNuLCBlbnVtIGF0dHJfdHlwZSBpbnNuX3R5cGUpCisrYm9vbAorK2l4 ODZfYWdpX2RlcGVuZGVudCAocnR4IHNldF9pbnNuLCBydHggdXNlX2luc24pCisgeworLSAgcnR4 IGFkZHI7CistCistICBpZiAoaW5zbl90eXBlID09IFRZUEVfTEVBCistICAgICAgJiYgVEFSR0VU X1BFTlRJVU0pCistICAgIHsKKy0gICAgICBhZGRyID0gUEFUVEVSTiAoaW5zbik7CistCistICAg ICAgaWYgKEdFVF9DT0RFIChhZGRyKSA9PSBQQVJBTExFTCkKKy0JYWRkciA9IFhWRUNFWFAgKGFk ZHIsIDAsIDApOworLQorLSAgICAgIGdjY19hc3NlcnQgKEdFVF9DT0RFIChhZGRyKSA9PSBTRVQp OworLQorLSAgICAgIGFkZHIgPSBTRVRfU1JDIChhZGRyKTsKKy0gICAgfQorLSAgZWxzZQorLSAg ICB7CistICAgICAgaW50IGk7CistICAgICAgZXh0cmFjdF9pbnNuX2NhY2hlZCAoaW5zbik7Cist ICAgICAgZm9yIChpID0gcmVjb2dfZGF0YS5uX29wZXJhbmRzIC0gMTsgaSA+PSAwOyAtLWkpCist CWlmIChNRU1fUCAocmVjb2dfZGF0YS5vcGVyYW5kW2ldKSkKKy0JICB7CistCSAgICBhZGRyID0g WEVYUCAocmVjb2dfZGF0YS5vcGVyYW5kW2ldLCAwKTsKKy0JICAgIGdvdG8gZm91bmQ7CistCSAg fQorLSAgICAgIHJldHVybiAwOworLSAgICBmb3VuZDo7CistICAgIH0KKy0KKy0gIHJldHVybiBt b2RpZmllZF9pbl9wIChhZGRyLCBkZXBfaW5zbik7CisrICBpbnQgaTsKKysgIGV4dHJhY3RfaW5z bl9jYWNoZWQgKHVzZV9pbnNuKTsKKysgIGZvciAoaSA9IHJlY29nX2RhdGEubl9vcGVyYW5kcyAt IDE7IGkgPj0gMDsgLS1pKQorKyAgICBpZiAoTUVNX1AgKHJlY29nX2RhdGEub3BlcmFuZFtpXSkp CisrICAgICAgeworKwlydHggYWRkciA9IFhFWFAgKHJlY29nX2RhdGEub3BlcmFuZFtpXSwgMCk7 CisrCXJldHVybiBtb2RpZmllZF9pbl9wIChhZGRyLCBzZXRfaW5zbikgIT0gMDsKKysgICAgICB9 CisrICByZXR1cm4gZmFsc2U7CisgfQorIAorIHN0YXRpYyBpbnQKK0BAIC0xOTExMyw4ICsxOTQ0 MiwxOSBAQCBpeDg2X2FkanVzdF9jb3N0IChydHggaW5zbiwgcnR4IGxpbmssIHJ0CisgICAgIHsK KyAgICAgY2FzZSBQUk9DRVNTT1JfUEVOVElVTToKKyAgICAgICAvKiBBZGRyZXNzIEdlbmVyYXRp b24gSW50ZXJsb2NrIGFkZHMgYSBjeWNsZSBvZiBsYXRlbmN5LiAgKi8KKy0gICAgICBpZiAoaXg4 Nl9hZ2lfZGVwZW5kZW50IChpbnNuLCBkZXBfaW5zbiwgaW5zbl90eXBlKSkKKy0JY29zdCArPSAx OworKyAgICAgIGlmIChpbnNuX3R5cGUgPT0gVFlQRV9MRUEpCisrCXsKKysJICBydHggYWRkciA9 IFBBVFRFUk4gKGluc24pOworKworKwkgIGlmIChHRVRfQ09ERSAoYWRkcikgPT0gUEFSQUxMRUwp CisrCSAgICBhZGRyID0gWFZFQ0VYUCAoYWRkciwgMCwgMCk7CisrCisrCSAgZ2NjX2Fzc2VydCAo R0VUX0NPREUgKGFkZHIpID09IFNFVCk7CisrCisrCSAgYWRkciA9IFNFVF9TUkMgKGFkZHIpOwor KwkgIGlmIChtb2RpZmllZF9pbl9wIChhZGRyLCBkZXBfaW5zbikpCisrCSAgICBjb3N0ICs9IDE7 CisrCX0KKyAKKyAgICAgICAvKiA/Pz8gQ29tcGFyZXMgcGFpciB3aXRoIGp1bXAvc2V0Y2MuICAq LworICAgICAgIGlmIChpeDg2X2ZsYWdzX2RlcGVuZGVudCAoaW5zbiwgZGVwX2luc24sIGluc25f dHlwZSkpCitAQCAtMTkxMjMsNyArMTk0NjMsNyBAQCBpeDg2X2FkanVzdF9jb3N0IChydHggaW5z biwgcnR4IGxpbmssIHJ0CisgICAgICAgLyogRmxvYXRpbmcgcG9pbnQgc3RvcmVzIHJlcXVpcmUg dmFsdWUgdG8gYmUgcmVhZHkgb25lIGN5Y2xlIGVhcmxpZXIuICAqLworICAgICAgIGlmIChpbnNu X3R5cGUgPT0gVFlQRV9GTU9WCisgCSAgJiYgZ2V0X2F0dHJfbWVtb3J5IChpbnNuKSA9PSBNRU1P UllfU1RPUkUKKy0JICAmJiAhaXg4Nl9hZ2lfZGVwZW5kZW50IChpbnNuLCBkZXBfaW5zbiwgaW5z bl90eXBlKSkKKysJICAmJiAhaXg4Nl9hZ2lfZGVwZW5kZW50IChkZXBfaW5zbiwgaW5zbikpCisg CWNvc3QgKz0gMTsKKyAgICAgICBicmVhazsKKyAKK0BAIC0xOTE0Niw3ICsxOTQ4Niw3IEBAIGl4 ODZfYWRqdXN0X2Nvc3QgKHJ0eCBpbnNuLCBydHggbGluaywgcnQKKyAJIGluIHBhcmFsbGVsIHdp dGggcHJldmlvdXMgaW5zdHJ1Y3Rpb24gaW4gY2FzZQorIAkgcHJldmlvdXMgaW5zdHJ1Y3Rpb24g aXMgbm90IG5lZWRlZCB0byBjb21wdXRlIHRoZSBhZGRyZXNzLiAgKi8KKyAgICAgICBpZiAoKG1l bW9yeSA9PSBNRU1PUllfTE9BRCB8fCBtZW1vcnkgPT0gTUVNT1JZX0JPVEgpCistCSAgJiYgIWl4 ODZfYWdpX2RlcGVuZGVudCAoaW5zbiwgZGVwX2luc24sIGluc25fdHlwZSkpCisrCSAgJiYgIWl4 ODZfYWdpX2RlcGVuZGVudCAoZGVwX2luc24sIGluc24pKQorIAl7CisgCSAgLyogQ2xhaW0gbW92 ZXMgdG8gdGFrZSBvbmUgY3ljbGUsIGFzIGNvcmUgY2FuIGlzc3VlIG9uZSBsb2FkCisgCSAgICAg YXQgdGltZSBhbmQgdGhlIG5leHQgbG9hZCBjYW4gc3RhcnQgY3ljbGUgbGF0ZXIuICAqLworQEAg LTE5MTc1LDcgKzE5NTE1LDcgQEAgaXg4Nl9hZGp1c3RfY29zdCAocnR4IGluc24sIHJ0eCBsaW5r LCBydAorIAkgaW4gcGFyYWxsZWwgd2l0aCBwcmV2aW91cyBpbnN0cnVjdGlvbiBpbiBjYXNlCisg CSBwcmV2aW91cyBpbnN0cnVjdGlvbiBpcyBub3QgbmVlZGVkIHRvIGNvbXB1dGUgdGhlIGFkZHJl c3MuICAqLworICAgICAgIGlmICgobWVtb3J5ID09IE1FTU9SWV9MT0FEIHx8IG1lbW9yeSA9PSBN RU1PUllfQk9USCkKKy0JICAmJiAhaXg4Nl9hZ2lfZGVwZW5kZW50IChpbnNuLCBkZXBfaW5zbiwg aW5zbl90eXBlKSkKKysJICAmJiAhaXg4Nl9hZ2lfZGVwZW5kZW50IChkZXBfaW5zbiwgaW5zbikp CisgCXsKKyAJICAvKiBDbGFpbSBtb3ZlcyB0byB0YWtlIG9uZSBjeWNsZSwgYXMgY29yZSBjYW4g aXNzdWUgb25lIGxvYWQKKyAJICAgICBhdCB0aW1lIGFuZCB0aGUgbmV4dCBsb2FkIGNhbiBzdGFy dCBjeWNsZSBsYXRlci4gICovCitAQCAtMTkxOTIsNiArMTk1MzIsNyBAQCBpeDg2X2FkanVzdF9j b3N0IChydHggaW5zbiwgcnR4IGxpbmssIHJ0CisgICAgIGNhc2UgUFJPQ0VTU09SX0FUSExPTjoK KyAgICAgY2FzZSBQUk9DRVNTT1JfSzg6CisgICAgIGNhc2UgUFJPQ0VTU09SX0FNREZBTTEwOgor KyAgICBjYXNlIFBST0NFU1NPUl9BVE9NOgorICAgICBjYXNlIFBST0NFU1NPUl9HRU5FUklDMzI6 CisgICAgIGNhc2UgUFJPQ0VTU09SX0dFTkVSSUM2NDoKKyAgICAgICBtZW1vcnkgPSBnZXRfYXR0 cl9tZW1vcnkgKGluc24pOworQEAgLTE5MjAwLDcgKzE5NTQxLDcgQEAgaXg4Nl9hZGp1c3RfY29z dCAocnR4IGluc24sIHJ0eCBsaW5rLCBydAorIAkgaW4gcGFyYWxsZWwgd2l0aCBwcmV2aW91cyBp bnN0cnVjdGlvbiBpbiBjYXNlCisgCSBwcmV2aW91cyBpbnN0cnVjdGlvbiBpcyBub3QgbmVlZGVk IHRvIGNvbXB1dGUgdGhlIGFkZHJlc3MuICAqLworICAgICAgIGlmICgobWVtb3J5ID09IE1FTU9S WV9MT0FEIHx8IG1lbW9yeSA9PSBNRU1PUllfQk9USCkKKy0JICAmJiAhaXg4Nl9hZ2lfZGVwZW5k ZW50IChpbnNuLCBkZXBfaW5zbiwgaW5zbl90eXBlKSkKKysJICAmJiAhaXg4Nl9hZ2lfZGVwZW5k ZW50IChkZXBfaW5zbiwgaW5zbikpCisgCXsKKyAJICBlbnVtIGF0dHJfdW5pdCB1bml0ID0gZ2V0 X2F0dHJfdW5pdCAoaW5zbik7CisgCSAgaW50IGxvYWRjb3N0ID0gMzsKCmRpZmYgLS1naXQgYS9n Y2M0NC1wcjM5MjI2LnBhdGNoIGIvZ2NjNDQtcHIzOTIyNi5wYXRjaApuZXcgZmlsZSBtb2RlIDEw MDY0NAppbmRleCAwMDAwMDAwLi45Yjk5ZTZlCi0tLSAvZGV2L251bGwKKysrIGIvZ2NjNDQtcHIz OTIyNi5wYXRjaApAQCAtMCwwICsxLDEwOCBAQAorMjAwOS0wMy0wMyAgSmFrdWIgSmVsaW5layAg PGpha3ViQHJlZGhhdC5jb20+CisKKwlQUiB0YXJnZXQvMzkyMjYKKwkqIGNvbmZpZy9yczYwMDAv cnM2MDAwLm1kIChhbmRzaTNfaW50ZXJuYWw1X25vbWMsCisJYW5kZGkzX2ludGVybmFsMl9ub21j LCBhbmRkaTNfaW50ZXJuYWwzX25vbWMpOiBSZW1vdmVkLgorCShib29sZGkzX2ludGVybmFsMyk6 IFVzZSBib29sZWFuX29yX29wZXJhdG9yIGluc3RlYWQgb2YKKwlib29sZWFuX29wZXJhdG9yLgor CisJKiBnY2MuZGcvcHIzOTIyNi5jOiBOZXcgdGVzdC4KKworLS0tIGdjYy9jb25maWcvcnM2MDAw L3JzNjAwMC5tZC5qagkyMDA5LTAzLTAyIDE4OjA5OjAyLjAwMDAwMDAwMCArMDEwMAorKysrIGdj Yy9jb25maWcvcnM2MDAwL3JzNjAwMC5tZAkyMDA5LTAzLTAzIDEwOjAyOjM3Ljc3MTQ2MTA4NiAr MDEwMAorQEAgLTI5OTksMjAgKzI5OTksNiBAQAorICAgWyhzZXRfYXR0ciAidHlwZSIgImNvbXBh cmUsY29tcGFyZSxjb21wYXJlLGRlbGF5ZWRfY29tcGFyZSxjb21wYXJlLGNvbXBhcmUsY29tcGFy ZSxjb21wYXJlIikKKyAgICAoc2V0X2F0dHIgImxlbmd0aCIgIjgsNCw0LDQsOCw4LDgsOCIpXSkK KyAKKy0oZGVmaW5lX2luc24gIiphbmRzaTNfaW50ZXJuYWw1X25vbWMiCistICBbKHNldCAobWF0 Y2hfb3BlcmFuZDpDQyAzICJjY19yZWdfb3BlcmFuZCIgIj14LD95LD8/eSw/P3ksP3kiKQorLSAg ICAgICAgKGNvbXBhcmU6Q0MgKGFuZDpTSSAobWF0Y2hfb3BlcmFuZDpTSSAxICJncGNfcmVnX29w ZXJhbmQiICIlcixyLHIscixyIikKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgKG1hdGNo X29wZXJhbmQ6U0kgMiAiYW5kX29wZXJhbmQiICJyLHIsSyxMLFQiKSkKKy0gICAgICAgICAgICAg ICAgICAgIChjb25zdF9pbnQgMCkpKQorLSAgIChzZXQgKG1hdGNoX29wZXJhbmQ6U0kgMCAiZ3Bj X3JlZ19vcGVyYW5kIiAiPXIscixyLHIsciIpCistICAgICAgICAoYW5kOlNJIChtYXRjaF9kdXAg MSkKKy0gICAgICAgICAgICAgICAgKG1hdGNoX2R1cCAyKSkpCistICAgKGNsb2JiZXIgKG1hdGNo X3NjcmF0Y2g6Q0MgNCAiPVgsWCx4LHgsWCIpKV0KKy0gICJUQVJHRVRfNjRCSVQgJiYgIXJzNjAw MF9nZW5fY2VsbF9taWNyb2NvZGUiCistICAiIyIKKy0gIFsoc2V0X2F0dHIgInR5cGUiICJjb21w YXJlIikKKy0gICAoc2V0X2F0dHIgImxlbmd0aCIgIjgsOCw4LDgsOCIpXSkKKy0KKyAoZGVmaW5l X3NwbGl0CisgICBbKHNldCAobWF0Y2hfb3BlcmFuZDpDQyAzICJjY19yZWdfbm90X21pY3JvX2Ny MF9vcGVyYW5kIiAiIikKKyAJKGNvbXBhcmU6Q0MgKGFuZDpTSSAobWF0Y2hfb3BlcmFuZDpTSSAx ICJncGNfcmVnX29wZXJhbmQiICIiKQorQEAgLTc2ODQsMTggKzc2NzAsNiBAQAorICAgWyhzZXRf YXR0ciAidHlwZSIgImNvbXBhcmUsY29tcGFyZSxkZWxheWVkX2NvbXBhcmUsY29tcGFyZSxjb21w YXJlLGNvbXBhcmUsY29tcGFyZSxjb21wYXJlLGNvbXBhcmUsY29tcGFyZSxjb21wYXJlLGNvbXBh cmUiKQorICAgIChzZXRfYXR0ciAibGVuZ3RoIiAiNCw0LDQsNCw0LDgsOCw4LDgsOCw4LDEyIild KQorIAorLShkZWZpbmVfaW5zbiAiKmFuZGRpM19pbnRlcm5hbDJfbm9tYyIKKy0gIFsoc2V0ICht YXRjaF9vcGVyYW5kOkNDIDAgImNjX3JlZ19vcGVyYW5kIiAiPXgsP3ksP3ksPz95LD8/eSw/eSIp CistCShjb21wYXJlOkNDIChhbmQ6REkgKG1hdGNoX29wZXJhbmQ6REkgMSAiZ3BjX3JlZ19vcGVy YW5kIiAiJXIscixyLHIscixyIikKKy0JCQkgICAgKG1hdGNoX29wZXJhbmQ6REkgMiAiYW5kNjRf Ml9vcGVyYW5kIiAidCxyLFMsSyxKLHQiKSkKKy0JCSAgICAoY29uc3RfaW50IDApKSkKKy0gICAo Y2xvYmJlciAobWF0Y2hfc2NyYXRjaDpESSAzICI9cixyLHIscixyLHIiKSkKKy0gICAoY2xvYmJl ciAobWF0Y2hfc2NyYXRjaDpDQyA0ICI9WCxYLFgseCx4LFgiKSldCistICAiVEFSR0VUXzY0QklU ICYmICFyczYwMDBfZ2VuX2NlbGxfbWljcm9jb2RlIgorLSAgIiMiCistICBbKHNldF9hdHRyICJ0 eXBlIiAiZGVsYXllZF9jb21wYXJlLGNvbXBhcmUsY29tcGFyZSxjb21wYXJlLGNvbXBhcmUsY29t cGFyZSIpCistICAgKHNldF9hdHRyICJsZW5ndGgiICI4LDgsOCw4LDgsMTIiKV0pCistCisgKGRl ZmluZV9zcGxpdAorICAgWyhzZXQgKG1hdGNoX29wZXJhbmQ6Q0MgMCAiY2NfcmVnX29wZXJhbmQi ICIiKQorICAgICAgICAgKGNvbXBhcmU6Q0MgKGFuZDpESSAobWF0Y2hfb3BlcmFuZDpESSAxICJn cGNfcmVnX29wZXJhbmQiICIiKQorQEAgLTc3NDcsMTggKzc3MjEsNiBAQAorICAgWyhzZXRfYXR0 ciAidHlwZSIgImNvbXBhcmUsY29tcGFyZSxkZWxheWVkX2NvbXBhcmUsY29tcGFyZSxjb21wYXJl LGNvbXBhcmUsY29tcGFyZSxjb21wYXJlLGNvbXBhcmUsY29tcGFyZSxjb21wYXJlLGNvbXBhcmUi KQorICAgIChzZXRfYXR0ciAibGVuZ3RoIiAiNCw0LDQsNCw0LDgsOCw4LDgsOCw4LDEyIildKQor IAorLShkZWZpbmVfaW5zbiAiKmFuZGRpM19pbnRlcm5hbDNfbm9tYyIKKy0gIFsoc2V0IChtYXRj aF9vcGVyYW5kOkNDIDMgImNjX3JlZ19vcGVyYW5kIiAiPXgsP3ksP3ksPz95LD8/eSw/eSIpCist CShjb21wYXJlOkNDIChhbmQ6REkgKG1hdGNoX29wZXJhbmQ6REkgMSAiZ3BjX3JlZ19vcGVyYW5k IiAiJXIscixyLHIscixyIikKKy0JCQkgICAgKG1hdGNoX29wZXJhbmQ6REkgMiAiYW5kNjRfMl9v cGVyYW5kIiAidCxyLFMsSyxKLHQiKSkKKy0JCSAgICAoY29uc3RfaW50IDApKSkKKy0gICAoc2V0 IChtYXRjaF9vcGVyYW5kOkRJIDAgImdwY19yZWdfb3BlcmFuZCIgIj1yLHIscixyLHIsciIpCist CShhbmQ6REkgKG1hdGNoX2R1cCAxKSAobWF0Y2hfZHVwIDIpKSkKKy0gICAoY2xvYmJlciAobWF0 Y2hfc2NyYXRjaDpDQyA0ICI9WCxYLFgseCx4LFgiKSldCistICAiVEFSR0VUXzY0QklUICAmJiAh cnM2MDAwX2dlbl9jZWxsX21pY3JvY29kZSIKKy0gICIjIgorLSAgWyhzZXRfYXR0ciAidHlwZSIg ImRlbGF5ZWRfY29tcGFyZSxjb21wYXJlLGNvbXBhcmUsY29tcGFyZSxjb21wYXJlLGNvbXBhcmUi KQorLSAgIChzZXRfYXR0ciAibGVuZ3RoIiAiOCw4LDgsOCw4LDEyIildKQorIChkZWZpbmVfc3Bs aXQKKyAgIFsoc2V0IChtYXRjaF9vcGVyYW5kOkNDIDMgImNjX3JlZ19ub3RfbWljcm9fY3IwX29w ZXJhbmQiICIiKQorIAkoY29tcGFyZTpDQyAoYW5kOkRJIChtYXRjaF9vcGVyYW5kOkRJIDEgImdw Y19yZWdfb3BlcmFuZCIgIiIpCitAQCAtNzkxNSw3ICs3ODc3LDcgQEAKKyAKKyAoZGVmaW5lX2lu c24gIipib29sZGkzX2ludGVybmFsMyIKKyAgIFsoc2V0IChtYXRjaF9vcGVyYW5kOkNDIDMgImNj X3JlZ19vcGVyYW5kIiAiPXgsP3kiKQorLQkoY29tcGFyZTpDQyAobWF0Y2hfb3BlcmF0b3I6REkg NCAiYm9vbGVhbl9vcGVyYXRvciIKKysJKGNvbXBhcmU6Q0MgKG1hdGNoX29wZXJhdG9yOkRJIDQg ImJvb2xlYW5fb3Jfb3BlcmF0b3IiCisgCSBbKG1hdGNoX29wZXJhbmQ6REkgMSAiZ3BjX3JlZ19v cGVyYW5kIiAiJXIsciIpCisgCSAgKG1hdGNoX29wZXJhbmQ6REkgMiAiZ3BjX3JlZ19vcGVyYW5k IiAicixyIildKQorIAkgKGNvbnN0X2ludCAwKSkpCistLS0gZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcv cHIzOTIyNi5jLmpqCTIwMDktMDMtMDIgMjM6Mjc6MDMuMzk4NDU5ODA4ICswMTAwCisrKysgZ2Nj L3Rlc3RzdWl0ZS9nY2MuZGcvcHIzOTIyNi5jCTIwMDktMDMtMDIgMjM6MjY6MTkuNjk2NDYyMjA5 ICswMTAwCitAQCAtMCwwICsxLDI1IEBACisrLyogUFIgdGFyZ2V0LzM5MjI2ICovCisrLyogeyBk Zy1kbyBjb21waWxlIH0gKi8KKysvKiB7IGRnLW9wdGlvbnMgIi1PMiIgfSAqLworKy8qIHsgZGct b3B0aW9ucyAiLU8yIC1tdHVuZT1jZWxsIC1tbWluaW1hbC10b2MiIHsgdGFyZ2V0IHsgcG93ZXJw YyotKi0qICYmIGxwNjQgfSB9IH0gKi8KKysKKytzdHJ1Y3QgQQorK3sKKysgIGNoYXIgKmE7Cisr ICB1bnNpZ25lZCBpbnQgYiA6IDE7CisrICB1bnNpZ25lZCBpbnQgYyA6IDMxOworK307CisrCisr c3RydWN0IEIKKyt7CisrICBzdHJ1Y3QgQSAqZDsKKyt9OworKworK3ZvaWQKKytmb28gKHN0cnVj dCBCICp4LCB1bnNpZ25lZCBsb25nIHkpCisreworKyAgaWYgKHgtPmRbeV0uYykKKysgICAgcmV0 dXJuOworKyAgaWYgKHgtPmRbeV0uYikKKysgICAgeC0+ZFt5XS5hID0gMDsKKyt9CgpkaWZmIC0t Z2l0IGEvZ2NjNDQtcHIzOTI0MC5wYXRjaCBiL2djYzQ0LXByMzkyNDAucGF0Y2gKZGVsZXRlZCBm aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQ1ZDA4MjcuLjAwMDAwMDAKLS0tIGEvZ2NjNDQtcHIzOTI0 MC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDE1NiArMCwwIEBACi0yMDA5LTAyLTE5ICBKYWt1 YiBKZWxpbmVrICA8amFrdWJAcmVkaGF0LmNvbT4KLQotCVBSIHRhcmdldC8zOTI0MAotCSogY2Fs bHMuYyAoZXhwYW5kX2NhbGwpOiBDbGVhciB0cnlfdGFpbF9jYWxsIGlmIGNhbGxlciBhbmQgY2Fs bGVlCi0JZGlzYWdyZWUgaW4gcHJvbW90aW9uIG9mIGZ1bmN0aW9uIHJldHVybiB2YWx1ZS4KLQot CSogZ2NjLmMtdG9ydHVyZS9leGVjdXRlL3ByMzkyNDAuYzogTmV3IHRlc3QuCi0KLS0tLSBnY2Mv Y2FsbHMuYy5qagkyMDA5LTAyLTA2IDExOjE3OjE2LjAwMDAwMDAwMCArMDEwMAotKysrIGdjYy9j YWxscy5jCTIwMDktMDItMTkgMTM6MzY6NDEuMDAwMDAwMDAwICswMTAwCi1AQCAtMjMzMyw2ICsy MzMzLDM3IEBAIGV4cGFuZF9jYWxsICh0cmVlIGV4cCwgcnR4IHRhcmdldCwgaW50IGkKLSAgICAg ICB8fCAhbGFuZ19ob29rcy5kZWNscy5va19mb3Jfc2liY2FsbCAoZm5kZWNsKSkKLSAgICAgdHJ5 X3RhaWxfY2FsbCA9IDA7Ci0gCi0rICAvKiBDaGVjayBpZiBjYWxsZXIgYW5kIGNhbGxlZSBkaXNh Z3JlZSBpbiBwcm9tb3Rpb24gb2YgZnVuY3Rpb24KLSsgICAgIHJldHVybiB2YWx1ZS4gICovCi0r ICBpZiAodHJ5X3RhaWxfY2FsbCkKLSsgICAgewotKyAgICAgIGVudW0gbWFjaGluZV9tb2RlIGNh bGxlcl9tb2RlLCBjYWxsZXJfcHJvbW90ZWRfbW9kZTsKLSsgICAgICBlbnVtIG1hY2hpbmVfbW9k ZSBjYWxsZWVfbW9kZSwgY2FsbGVlX3Byb21vdGVkX21vZGU7Ci0rICAgICAgaW50IGNhbGxlcl91 bnNpZ25lZHAsIGNhbGxlZV91bnNpZ25lZHA7Ci0rICAgICAgdHJlZSBjYWxsZXJfcmVzID0gREVD TF9SRVNVTFQgKGN1cnJlbnRfZnVuY3Rpb25fZGVjbCk7Ci0rCi0rICAgICAgY2FsbGVyX3Vuc2ln bmVkcCA9IFRZUEVfVU5TSUdORUQgKFRSRUVfVFlQRSAoY2FsbGVyX3JlcykpOwotKyAgICAgIGNh bGxlcl9tb2RlID0gY2FsbGVyX3Byb21vdGVkX21vZGUgPSBERUNMX01PREUgKGNhbGxlcl9yZXMp OwotKyAgICAgIGNhbGxlZV91bnNpZ25lZHAgPSBUWVBFX1VOU0lHTkVEIChUUkVFX1RZUEUgKGZ1 bnR5cGUpKTsKLSsgICAgICBjYWxsZWVfbW9kZSA9IGNhbGxlZV9wcm9tb3RlZF9tb2RlID0gVFlQ RV9NT0RFIChUUkVFX1RZUEUgKGZ1bnR5cGUpKTsKLSsgICAgICBpZiAodGFyZ2V0bS5jYWxscy5w cm9tb3RlX2Z1bmN0aW9uX3JldHVybiAoVFJFRV9UWVBFIChjdXJyZW50X2Z1bmN0aW9uX2RlY2wp KSkKLSsJY2FsbGVyX3Byb21vdGVkX21vZGUKLSsJICA9IHByb21vdGVfbW9kZSAoVFJFRV9UWVBF IChjYWxsZXJfcmVzKSwgY2FsbGVyX21vZGUsCi0rCQkJICAmY2FsbGVyX3Vuc2lnbmVkcCwgMSk7 Ci0rICAgICAgaWYgKHRhcmdldG0uY2FsbHMucHJvbW90ZV9mdW5jdGlvbl9yZXR1cm4gKGZ1bnR5 cGUpKQotKwljYWxsZWVfcHJvbW90ZWRfbW9kZQotKwkgID0gcHJvbW90ZV9tb2RlIChUUkVFX1RZ UEUgKGZ1bnR5cGUpLCBjYWxsZWVfbW9kZSwKLSsJCQkgICZjYWxsZWVfdW5zaWduZWRwLCAxKTsK LSsgICAgICBpZiAoY2FsbGVyX21vZGUgIT0gVk9JRG1vZGUKLSsJICAmJiAoY2FsbGVyX3Byb21v dGVkX21vZGUgIT0gY2FsbGVlX3Byb21vdGVkX21vZGUKLSsJICAgICAgfHwgKChjYWxsZXJfbW9k ZSAhPSBjYWxsZXJfcHJvbW90ZWRfbW9kZQotKwkJICAgfHwgY2FsbGVlX21vZGUgIT0gY2FsbGVl X3Byb21vdGVkX21vZGUpCi0rCQkgICYmIChjYWxsZXJfdW5zaWduZWRwICE9IGNhbGxlZV91bnNp Z25lZHAKLSsJCSAgICAgIHx8IEdFVF9NT0RFX0JJVFNJWkUgKGNhbGxlcl9tb2RlKQotKwkJCSA8 IEdFVF9NT0RFX0JJVFNJWkUgKGNhbGxlZV9tb2RlKSkpKSkKLSsJdHJ5X3RhaWxfY2FsbCA9IDA7 Ci0rICAgIH0KLSsKLSAgIC8qIEVuc3VyZSBjdXJyZW50IGZ1bmN0aW9uJ3MgcHJlZmVycmVkIHN0 YWNrIGJvdW5kYXJ5IGlzIGF0IGxlYXN0Ci0gICAgICB3aGF0IHdlIG5lZWQuICBTdGFjayBhbGln bm1lbnQgbWF5IGFsc28gaW5jcmVhc2UgcHJlZmVycmVkIHN0YWNrCi0gICAgICBib3VuZGFyeS4g ICovCi0tLS0gZ2NjL3Rlc3RzdWl0ZS9nY2MuYy10b3J0dXJlL2V4ZWN1dGUvcHIzOTI0MC5jLmpq CTIwMDktMDItMTkgMTM6Mzg6MjMuMDAwMDAwMDAwICswMTAwCi0rKysgZ2NjL3Rlc3RzdWl0ZS9n Y2MuYy10b3J0dXJlL2V4ZWN1dGUvcHIzOTI0MC5jCTIwMDktMDItMTkgMTM6Mzk6MTQuMDAwMDAw MDAwICswMTAwCi1AQCAtMCwwICsxLDEwNSBAQAotKy8qIFBSIHRhcmdldC8zOTI0MCAqLwotKwot K2V4dGVybiB2b2lkIGFib3J0ICh2b2lkKTsKLSsKLStfX2F0dHJpYnV0ZV9fICgobm9pbmxpbmUp KQotK3N0YXRpYyBpbnQgZm9vMSAoaW50IHgpCi0rewotKyAgcmV0dXJuIHg7Ci0rfQotKwotK19f YXR0cmlidXRlX18gKChub2lubGluZSkpCi0rdW5zaWduZWQgaW50IGJhcjEgKGludCB4KQotK3sK LSsgIHJldHVybiBmb28xICh4ICsgNik7Ci0rfQotKwotK3ZvbGF0aWxlIHVuc2lnbmVkIGxvbmcg bDEgPSAodW5zaWduZWQgaW50KSAtNDsKLSsKLStfX2F0dHJpYnV0ZV9fICgobm9pbmxpbmUpKQot K3N0YXRpYyBzaG9ydCBpbnQgZm9vMiAoaW50IHgpCi0rewotKyAgcmV0dXJuIHg7Ci0rfQotKwot K19fYXR0cmlidXRlX18gKChub2lubGluZSkpCi0rdW5zaWduZWQgc2hvcnQgaW50IGJhcjIgKGlu dCB4KQotK3sKLSsgIHJldHVybiBmb28yICh4ICsgNik7Ci0rfQotKwotK3ZvbGF0aWxlIHVuc2ln bmVkIGxvbmcgbDIgPSAodW5zaWduZWQgc2hvcnQgaW50KSAtNDsKLSsKLStfX2F0dHJpYnV0ZV9f ICgobm9pbmxpbmUpKQotK3N0YXRpYyBzaWduZWQgY2hhciBmb28zIChpbnQgeCkKLSt7Ci0rICBy ZXR1cm4geDsKLSt9Ci0rCi0rX19hdHRyaWJ1dGVfXyAoKG5vaW5saW5lKSkKLSt1bnNpZ25lZCBj aGFyIGJhcjMgKGludCB4KQotK3sKLSsgIHJldHVybiBmb28zICh4ICsgNik7Ci0rfQotKwotK3Zv bGF0aWxlIHVuc2lnbmVkIGxvbmcgbDMgPSAodW5zaWduZWQgY2hhcikgLTQ7Ci0rCi0rX19hdHRy aWJ1dGVfXyAoKG5vaW5saW5lKSkKLStzdGF0aWMgdW5zaWduZWQgaW50IGZvbzQgKGludCB4KQot K3sKLSsgIHJldHVybiB4OwotK30KLSsKLStfX2F0dHJpYnV0ZV9fICgobm9pbmxpbmUpKQotK2lu dCBiYXI0IChpbnQgeCkKLSt7Ci0rICByZXR1cm4gZm9vNCAoeCArIDYpOwotK30KLSsKLSt2b2xh dGlsZSB1bnNpZ25lZCBsb25nIGw0ID0gKGludCkgLTQ7Ci0rCi0rX19hdHRyaWJ1dGVfXyAoKG5v aW5saW5lKSkKLStzdGF0aWMgdW5zaWduZWQgc2hvcnQgaW50IGZvbzUgKGludCB4KQotK3sKLSsg IHJldHVybiB4OwotK30KLSsKLStfX2F0dHJpYnV0ZV9fICgobm9pbmxpbmUpKQotK3Nob3J0IGlu dCBiYXI1IChpbnQgeCkKLSt7Ci0rICByZXR1cm4gZm9vNSAoeCArIDYpOwotK30KLSsKLSt2b2xh dGlsZSB1bnNpZ25lZCBsb25nIGw1ID0gKHNob3J0IGludCkgLTQ7Ci0rCi0rX19hdHRyaWJ1dGVf XyAoKG5vaW5saW5lKSkKLStzdGF0aWMgdW5zaWduZWQgY2hhciBmb282IChpbnQgeCkKLSt7Ci0r ICByZXR1cm4geDsKLSt9Ci0rCi0rX19hdHRyaWJ1dGVfXyAoKG5vaW5saW5lKSkKLStzaWduZWQg Y2hhciBiYXI2IChpbnQgeCkKLSt7Ci0rICByZXR1cm4gZm9vNiAoeCArIDYpOwotK30KLSsKLSt2 b2xhdGlsZSB1bnNpZ25lZCBsb25nIGw2ID0gKHNpZ25lZCBjaGFyKSAtNDsKLSsKLStpbnQKLStt YWluICh2b2lkKQotK3sKLSsgIGlmIChiYXIxICgtMTApICE9IGwxKQotKyAgICBhYm9ydCAoKTsK LSsgIGlmIChiYXIyICgtMTApICE9IGwyKQotKyAgICBhYm9ydCAoKTsKLSsgIGlmIChiYXIzICgt MTApICE9IGwzKQotKyAgICBhYm9ydCAoKTsKLSsgIGlmIChiYXI0ICgtMTApICE9IGw0KQotKyAg ICBhYm9ydCAoKTsKLSsgIGlmIChiYXI1ICgtMTApICE9IGw1KQotKyAgICBhYm9ydCAoKTsKLSsg IGlmIChiYXI2ICgtMTApICE9IGw2KQotKyAgICBhYm9ydCAoKTsKLSsgIHJldHVybiAwOwotK30K CmRpZmYgLS1naXQgYS9nY2M0NC1wcjM5MzU4LnBhdGNoIGIvZ2NjNDQtcHIzOTM1OC5wYXRjaApu ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jMGJjMmNmCi0tLSAvZGV2L251bGwK KysrIGIvZ2NjNDQtcHIzOTM1OC5wYXRjaApAQCAtMCwwICsxLDEwOCBAQAorMjAwOS0wMy0wNCAg UmljaGFyZCBHdWVudGhlciAgPHJndWVudGhlckBzdXNlLmRlPgorCisJUFIgdHJlZS1vcHRpbWl6 YXRpb24vMzkzNTgKKwkqIHRyZWUtc3NhLXN0cnVjdGFsaWFzLmMgKGRvX3NkX2NvbnN0cmFpbnQp OiBGaXggY2hlY2sgZm9yCisJZXNjYXBlZF9pZCBhbmQgY2FsbHVzZWRfaWQuCisJKHNvbHZlX2dy YXBoKTogTGlrZXdpc2UuCisKKwkqIGcrKy5kZy93YXJuL1dzdHJpY3QtYWxpYXNpbmctYm9ndXMt ZXNjYXBlLTIuQzogTmV3IHRlc3RjYXNlLgorCSogZysrLmRnL3dhcm4vV3N0cmljdC1hbGlhc2lu Zy1ib2d1cy1lc2NhcGUtMy5DOiBMaWtld2lzZS4KKworLS0tIGdjYy90cmVlLXNzYS1zdHJ1Y3Rh bGlhcy5jCShyZXZpc2lvbiAxNDQ2MDEpCisrKysgZ2NjL3RyZWUtc3NhLXN0cnVjdGFsaWFzLmMJ KHJldmlzaW9uIDE0NDYwMikKK0BAIC0xNTI0LDggKzE1MjQsOCBAQCBkb19zZF9jb25zdHJhaW50 IChjb25zdHJhaW50X2dyYXBoX3QgZ3JhCisgICAgICBvZiBhIHZhcmlhYmxlIGNhbiBhbHNvIHJl YWNoIGFsbCBvdGhlciBmaWVsZHMgb2YgdGhlIHZhcmlhYmxlCisgICAgICB3ZSBzaW1wbHkgaGF2 ZSB0byBleHBhbmQgdGhlIHNvbHV0aW9uIHRvIGNvbnRhaW4gYWxsIHN1Yi1maWVsZHMKKyAgICAg IGlmIG9uZSBzdWItZmllbGQgaXMgY29udGFpbmVkLiAgKi8KKy0gIGlmIChjLT5yaHMudmFyID09 IGVzY2FwZWRfaWQKKy0gICAgICB8fCBjLT5yaHMudmFyID09IGNhbGx1c2VkX2lkKQorKyAgaWYg KGMtPnJocy52YXIgPT0gZmluZCAoZXNjYXBlZF9pZCkKKysgICAgICB8fCBjLT5yaHMudmFyID09 IGZpbmQgKGNhbGx1c2VkX2lkKSkKKyAgICAgeworICAgICAgIGJpdG1hcCB2YXJzID0gTlVMTDsK KyAgICAgICAvKiBJbiBhIGZpcnN0IHBhc3MgcmVjb3JkIGFsbCB2YXJpYWJsZXMgd2UgbmVlZCB0 byBhZGQgYWxsCitAQCAtMTU5NCw5ICsxNTk0LDEwIEBAIGRvX3NkX2NvbnN0cmFpbnQgKGNvbnN0 cmFpbnRfZ3JhcGhfdCBncmEKKyAJICAvKiBNZXJnaW5nIHRoZSBzb2x1dGlvbiBmcm9tIEVTQ0FQ RUQgbmVlZGxlc3NseSBpbmNyZWFzZXMKKyAJICAgICB0aGUgc2V0LiAgVXNlIEVTQ0FQRUQgYXMg cmVwcmVzZW50YXRpdmUgaW5zdGVhZC4KKyAJICAgICBTYW1lIGZvciBDQUxMVVNFRC4gICovCist CSAgZWxzZSBpZiAoZ2V0X3ZhcmluZm8gKHQpLT5pZCA9PSBlc2NhcGVkX2lkCistCQkgICB8fCBn ZXRfdmFyaW5mbyAodCktPmlkID09IGNhbGx1c2VkX2lkKQorLQkgICAgZmxhZyB8PSBiaXRtYXBf c2V0X2JpdCAoc29sLCBnZXRfdmFyaW5mbyAodCktPmlkKTsKKysJICBlbHNlIGlmIChnZXRfdmFy aW5mbyAodCktPmlkID09IGZpbmQgKGVzY2FwZWRfaWQpKQorKwkgICAgZmxhZyB8PSBiaXRtYXBf c2V0X2JpdCAoc29sLCBlc2NhcGVkX2lkKTsKKysJICBlbHNlIGlmIChnZXRfdmFyaW5mbyAodCkt PmlkID09IGZpbmQgKGNhbGx1c2VkX2lkKSkKKysJICAgIGZsYWcgfD0gYml0bWFwX3NldF9iaXQg KHNvbCwgY2FsbHVzZWRfaWQpOworIAkgIGVsc2UgaWYgKGFkZF9ncmFwaF9lZGdlIChncmFwaCwg bGhzLCB0KSkKKyAJICAgIGZsYWcgfD0gYml0bWFwX2lvcl9pbnRvIChzb2wsIGdldF92YXJpbmZv ICh0KS0+c29sdXRpb24pOworIAl9CitAQCAtMjUxNiw4ICsyNTE3LDggQEAgc29sdmVfZ3JhcGgg KGNvbnN0cmFpbnRfZ3JhcGhfdCBncmFwaCkKKyAKKyAJICAgICAgaWYgKCFzb2x1dGlvbl9lbXB0 eQorIAkJICAvKiBEbyBub3QgcHJvcGFnYXRlIHRoZSBFU0NBUEVEL0NBTExVU0VEIHNvbHV0aW9u cy4gICovCistCQkgICYmIGkgIT0gZXNjYXBlZF9pZAorLQkJICAmJiBpICE9IGNhbGx1c2VkX2lk KQorKwkJICAmJiBpICE9IGZpbmQgKGVzY2FwZWRfaWQpCisrCQkgICYmIGkgIT0gZmluZCAoY2Fs bHVzZWRfaWQpKQorIAkJeworIAkJICBiaXRtYXBfaXRlcmF0b3IgYmk7CisgCistLS0gZ2NjL3Rl c3RzdWl0ZS9nKysuZGcvd2Fybi9Xc3RyaWN0LWFsaWFzaW5nLWJvZ3VzLWVzY2FwZS0yLkMJKHJl dmlzaW9uIDApCisrKysgZ2NjL3Rlc3RzdWl0ZS9nKysuZGcvd2Fybi9Xc3RyaWN0LWFsaWFzaW5n LWJvZ3VzLWVzY2FwZS0yLkMJKHJldmlzaW9uIDE0NDYwMikKK0BAIC0wLDAgKzEsMTkgQEAKKysv KiB7IGRnLWRvIGNvbXBpbGUgfSAqLworKy8qIHsgZGctb3B0aW9ucyAiLU8yIC1Xc3RyaWN0LWFs aWFzaW5nIiB9ICovCisrCisrI2luY2x1ZGU8bGlzdD4KKysKKytzdHJ1Y3QgQQorK3sKKysgIHZp cnR1YWwgfkEoKTsKKyt9OworKworK0EqIGZvbygpOworKworK3ZvaWQgYmFyKHN0ZDo6bGlzdDxp bnQ+IHgpCisreworKyAgc3RkOjpsaXN0PGludD4geSA9IHg7CisrICBpZiAoKnkucmJlZ2luKCkp CisrICAgIGRlbGV0ZSBmb28oKTsKKyt9CisrCistLS0gZ2NjL3Rlc3RzdWl0ZS9nKysuZGcvd2Fy bi9Xc3RyaWN0LWFsaWFzaW5nLWJvZ3VzLWVzY2FwZS0zLkMJKHJldmlzaW9uIDApCisrKysgZ2Nj L3Rlc3RzdWl0ZS9nKysuZGcvd2Fybi9Xc3RyaWN0LWFsaWFzaW5nLWJvZ3VzLWVzY2FwZS0zLkMJ KHJldmlzaW9uIDE0NDYwMikKK0BAIC0wLDAgKzEsMzUgQEAKKysvKiB7IGRnLWRvIGNvbXBpbGUg fSAqLworKy8qIHsgZGctb3B0aW9ucyAiLU8yIC1Xc3RyaWN0LWFsaWFzaW5nIiB9ICovCisrCisr c3RydWN0IE5vZGVfYmFzZSB7fTsKKysKKytzdHJ1Y3QgTm9kZSA6IE5vZGVfYmFzZQorK3sKKysg IGludCBkYXRhOworK307CisrCisrc3RydWN0IExpc3QKKyt7CisrICBOb2RlX2Jhc2Ugbm9kZSwg KnByZXY7CisrCisrICBMaXN0KCkgOiBwcmV2KCZub2RlKSB7IHh5eigpOyB9CisrCisrICB2b2lk IHh5eigpOworKworKyAgaW50IGJhY2soKSB7IHJldHVybiBzdGF0aWNfY2FzdDxOb2RlKj4ocHJl diktPmRhdGE7IH0KKyt9OworKworK3N0cnVjdCBBCisreworKyAgdmlydHVhbCB+QSgpOworK307 CisrCisrQSogZm9vKCk7CisrCisrdm9pZCBiYXIoKQorK3sKKysgIExpc3QgeTsKKysgIGlmICh5 LmJhY2soKSkKKysgICAgZGVsZXRlIGZvbygpOworK30KKysKCmRpZmYgLS1naXQgYS9zb3VyY2Vz IGIvc291cmNlcwppbmRleCAzMzlkNGVkLi4yNjc0ZjQyIDEwMDY0NAotLS0gYS9zb3VyY2VzCisr KyBiL3NvdXJjZXMKQEAgLTEsMyArMSwzIEBACiAyNjU5ZjA5YzJlNDNlZjhiN2Q0NDA2MzIxNzUz ZjFiMiAgZmFzdGphci0wLjk3LnRhci5negotNjdiN2Y1OTQxNGQ0NjhkZjJkNjhhOGI2ZGFkZDAx NTMgIGdjYy00LjQuMC0yMDA5MDIxOS50YXIuYnoyCis3NWYyZTRhYjk3MTczNDJmMTMxNDYyNDVk NThmYTE2MCAgZ2NjLTQuNC4wLTIwMDkwMzA0LnRhci5iejIKIDcxNmI3YTA4MjNmOTZjOWQwMmMx NzAzYTljNDdkMzg3ICBjbG9vZy1wcGwtMC4xNS50YXIuZ3oK