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: Julien Rische To: git-commits@fedoraproject.org Subject: [rpms/krb5] f43: GSSAPI: allow using cached S4U2Self ticket to itself Date: Tue, 01 Sep 2026 14:47:42 GMT Message-ID: <178827406202.1.7365129289418618779.rpms-krb5-6e6da69e310d@fedoraproject.org> List-ID: X-Git-Repo: rpms/krb5 X-Git-Branch: f43 X-Git-Rev: 6e6da69e310dee7f3291545ec71dc505cb5a39a2 ICAgICAgICAgICAgQSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KCiAgICAgICAgICAgIFJl cG8gICA6IHJwbXMva3JiNQogICAgICAgICAgICBCcmFuY2ggOiBmNDMKICAgICAgICAgICAgQ29t bWl0IDogNmU2ZGE2OWUzMTBkZWU3ZjMyOTE1NDVlYzcxZGM1MDVjYjVhMzlhMgogICAgICAgICAg ICBBdXRob3IgOiBKdWxpZW4gUmlzY2hlIDxqcmlzY2hlQHJlZGhhdC5jb20+CiAgICAgICAgICAg IERhdGUgICA6IDIwMjYtMDktMDFUMTA6NTE6MDMrMDI6MDAKICAgICAgICAgICAgU3RhdHMgIDog Kzc3Mi8tNTAgaW4gMSBmaWxlKHMpCiAgICAgICAgICAgIFVSTCAgICA6IGh0dHBzOi8vc3JjLmZl ZG9yYXByb2plY3Qub3JnL3JwbXMva3JiNS9jLzZlNmRhNjllMzEwZGVlN2YzMjkxNTQ1ZWM3MWRj NTA1Y2I1YTM5YTI/YnJhbmNoPWY0MwoKICAgICAgICAgICAgTG9nOgogICAgICAgICAgICBHU1NB UEk6IGFsbG93IHVzaW5nIGNhY2hlZCBTNFUyU2VsZiB0aWNrZXQgdG8gaXRzZWxmCgotIEFkZCBh dXRvX2Zhc3RfYXJtb3IgcmVhbG0gdmFyaWFibGUgZm9yIEZBU1QKCi0tLQpkaWZmIC0tZ2l0IGEv a3JiNS0xLjIyLXJlZGhhdC5wYXRjaCBiL2tyYjUtMS4yMi1yZWRoYXQucGF0Y2gKaW5kZXggNmZm OTdiOC4uYTc0ZTkzYSAxMDA2NDQKLS0tIGEva3JiNS0xLjIyLXJlZGhhdC5wYXRjaAorKysgYi9r cmI1LTEuMjItcmVkaGF0LnBhdGNoCkBAIC0xLDcgKzEsNyBAQAogRnJvbSBkN2Q3MTZmMzI3MDIz NTUyOTk5NWUwZDI4YjhkNmM4OWY0MTcxMDQ1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJv bTogUm9iYmllIEhhcndvb2QgPHJoYXJ3b29kQHJlZGhhdC5jb20+CiBEYXRlOiBGcmksIDkgTm92 IDIwMTggMTU6MTI6MjEgLTA1MDAKLVN1YmplY3Q6IFtQQVRDSCAwMS8yNV0gRklQUzogQWRkIHN1 cHBvcnQgZm9yIFBSTkcsIFJBRElVUyAoa3JhZCksIGFuZCBjcnlwdG8KK1N1YmplY3Q6IFtQQVRD SCAwMS8yOF0gRklQUzogQWRkIHN1cHBvcnQgZm9yIFBSTkcsIFJBRElVUyAoa3JhZCksIGFuZCBj cnlwdG8KICBwcm92aWRlcnMKIAogSW4gRklQUyBtb2RlOgpAQCAtNjU2LDEzICs2NTYsMTMgQEAg aW5kZXggMWE3NzJkNDUwZi4uMzJiYWFlY2JiOCAxMDA2NDQKICAgICAgdnQtPm5hbWUgPSAic3Bh a2UiOwogICAgICB2dC0+cGFfdHlwZV9saXN0ID0gcGFfdHlwZXM7CiAtLSAKLTIuNTMuMAorMi41 NS4wCiAKIAogRnJvbSAxYTRkNmE3MzkzODg3YmY1MzcyNjc0OTQyZWVhNTMwMzBkZTBmZWQ5IE1v biBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogSnVsaWVuIFJpc2NoZSA8anJpc2NoZUByZWRo YXQuY29tPgogRGF0ZTogVGh1LCA1IE1heSAyMDIyIDE3OjE1OjEyICswMjAwCi1TdWJqZWN0OiBb UEFUQ0ggMDIvMjVdIEZJUFM6IEFsbG93IGtyYWQgVURQL1RDUCBsb2NhbGhvc3QgY29ubmVjdGlv bgorU3ViamVjdDogW1BBVENIIDAyLzI4XSBGSVBTOiBBbGxvdyBrcmFkIFVEUC9UQ1AgbG9jYWxo b3N0IGNvbm5lY3Rpb24KIAogbGlia3JhZCBhbGxvd3MgdG8gZXN0YWJsaXNoIGNvbm5lY3Rpb25z IG9ubHkgdG8gVU5JWCBzb2NrZXQgaW4gRklQUwogbW9kZSwgYmVjYXVzZSBNRDUgZGlnZXN0IGlz IG5vdCBjb25zaWRlcmVkIHNhZmUgZW5vdWdoIHRvIGJlIHVzZWQgZm9yCkBAIC03NDAsMTMgKzc0 MCwxMyBAQCBpbmRleCA4OTE0MDRkNWI3Li43NjU0YmFiMjFiIDEwMDY0NAogICAgICAgICAgcmV0 dmFsID0gRVNPQ0tUTk9TVVBQT1JUOwogICAgICAgICAgZ290byBlcnJvcjsKIC0tIAotMi41My4w CisyLjU1LjAKIAogCiBGcm9tIDliNWFhMWVjYjliNDlkNjg0NTM0YmZmYmFkMzlmMDgzNThmNzk3 ZTMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBKdWxpZW4gUmlzY2hlIDxqcmlzY2hl QHJlZGhhdC5jb20+CiBEYXRlOiBUdWUsIDIzIE1heSAyMDIzIDEyOjE5OjU0ICswMjAwCi1TdWJq ZWN0OiBbUEFUQ0ggMDMvMjVdIEZJUFM6IE1ha2UgUEtJTklUIENNUyBTSEEtMSBzaWduYXR1cmUg dmVyaWZpY2F0aW9uCitTdWJqZWN0OiBbUEFUQ0ggMDMvMjhdIEZJUFM6IE1ha2UgUEtJTklUIENN UyBTSEEtMSBzaWduYXR1cmUgdmVyaWZpY2F0aW9uCiAgYXZhaWxhYmxlCiAKIFdlIHJlY29tbWVu ZCB1c2luZyB0aGUgU0hBMSBjcnlwdG8tbW9kdWxlIGluIG9yZGVyIHRvIGFsbG93IHRoZQpAQCAt Nzg2LDEzICs3ODYsMTMgQEAgaW5kZXggZjIyMmRiZGY5Mi4uMWQ5OTU1OTQ4NSAxMDA2NDQKICAg ICAgICAgIGdvdG8gY2xlYW51cDsKICAgICAgfQogLS0gCi0yLjUzLjAKKzIuNTUuMAogCiAKIEZy b20gYzA4MmM4MzU2NzJkNDFiOWE2OGQxZDMxOTVmZTBjNDRjYjY4OWZkNyBNb24gU2VwIDE3IDAw OjAwOjAwIDIwMDEKIEZyb206IEp1bGllbiBSaXNjaGUgPGpyaXNjaGVAcmVkaGF0LmNvbT4KIERh dGU6IFRodSwgMTkgSmFuIDIwMjMgMTk6MjI6MjcgKzAxMDAKLVN1YmplY3Q6IFtQQVRDSCAwNC8y NV0gRklQUzogQWxsb3cgS1JCNUtERiwgTUQ1LCBNRDQgYW5kIEhNQUMtTUQ0LzUKK1N1YmplY3Q6 IFtQQVRDSCAwNC8yOF0gRklQUzogQWxsb3cgS1JCNUtERiwgTUQ1LCBNRDQgYW5kIEhNQUMtTUQ0 LzUKIAogT3BlblNTTCdzIHJlc3RyaWN0aW9ucyB0byB1c2UgS1JCNUtERiwgTUQ1LCBhbmQgTUQ0 IGluIEZJUFMgbW9kZSBhcmUKIGJ5cGFzc2VkIGluIGNhc2UgQUVTIFNIQS0xIEhNQUMgb3IgUkM0 IGVuY3J5cHRpb24gdHlwZXMgYXJlIGFsbG93ZWQgYnkKQEAgLTEyMTgsMTMgKzEyMTgsMTMgQEAg aW5kZXggNzY1NGJhYjIxYi4uOTZkYTNjNDUxZCAxMDA2NDQKICBzdGF0aWMgYm9vbCBpc19pbmV0 X2xvY2FsaG9zdChzdHJ1Y3QgYWRkcmluZm8gKmluZm8pCiAgewogLS0gCi0yLjUzLjAKKzIuNTUu MAogCiAKIEZyb20gYzY0ZmYzNDMxNDk2ZDk2ZjMwYWMxMzAzYmUzYTVhZWRmNTE4Y2FiMSBNb24g U2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IFJvYmJpZSBIYXJ3b29kIDxyaGFyd29vZEByZWRo YXQuY29tPgogRGF0ZTogVHVlLCAyNiBNYXIgMjAxOSAxODo1MToxMCAtMDQwMAotU3ViamVjdDog W1BBVENIIDA1LzI1XSAzREVTOiBSZW1vdmUgc3VwcG9ydAorU3ViamVjdDogW1BBVENIIDA1LzI4 XSAzREVTOiBSZW1vdmUgc3VwcG9ydAogCiBDb21wbGV0ZWx5IHJlbW92ZSBzdXBwb3J0IGZvciBh bGwgREVTMyBlbmN0eXBlcyAoZGVzMy1jYmMtcmF3LAogZGVzMy1obWFjLXNoYTEsIGRlczMtY2Jj LXNoYTEta2QpLiAgVXBkYXRlIGFsbCB0ZXN0cyBhbmQgZG9jdW1lbnRhdGlvbgpAQCAtNzQ5OCwx MyArNzQ5OCwxMyBAQCBpbmRleCAxYWViZGQwYjRhLi5jMzhlZWZkMmJkIDEwMDY0NAogICAgICAg PHRkPlRoZSBBRVMgQWR2YW5jZWQgRW5jcnlwdGlvbiBTdGFuZGFyZAogIGZhbWlseSwgbGlrZSAz REVTLCBpcyBhIHN5bW1ldHJpYyBibG9jayBjaXBoZXIgYW5kIHdhcyBkZXNpZ25lZAogLS0gCi0y LjUzLjAKKzIuNTUuMAogCiAKIEZyb20gZjZiNDI1ZTg2Y2VjN2ZlYjkxZDYyYTlkMzEyZjI2NjBm MDZhYzJhYyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IFJvYmJpZSBIYXJ3b29kIDxy aGFyd29vZEByZWRoYXQuY29tPgogRGF0ZTogVHVlLCAyMyBBdWcgMjAxNiAxNjoyOTo1OCAtMDQw MAotU3ViamVjdDogW1BBVENIIDA2LzI1XSBQQU06IEFkZCBpbnRlZ3JhdGlvbiB0byBrc3UKK1N1 YmplY3Q6IFtQQVRDSCAwNi8yOF0gUEFNOiBBZGQgaW50ZWdyYXRpb24gdG8ga3N1CiAKIE1vZGlm eSBrc3Ugc28gdGhhdCBpdCBwZXJmb3JtcyBhY2NvdW50IGFuZCBzZXNzaW9uIG1hbmFnZW1lbnQg b24gYmVoYWxmIG9mCiB0aGUgdGFyZ2V0IHVzZXIgYWNjb3VudCwgbWltaWNraW5nIHRoZSBhY3Rp b24gb2YgcmVndWxhciBzdS4gIFRoZSBkZWZhdWx0CkBAIC04Mjc4LDEzICs4Mjc4LDEzIEBAIGlu ZGV4IDlmYzU2OWYxOTUuLjk5MjY4ZGZkNzggMTAwNjQ0CiAgaWYgdGVzdCAiJHtsb2NhbGVkaXIr c2V0fSIgIT0gc2V0OyB0aGVuCiAgICAgIGxvY2FsZWRpcj0nJChkYXRhZGlyKS9sb2NhbGUnCiAt LSAKLTIuNTMuMAorMi41NS4wCiAKIAogRnJvbSBkYWMyZTk3NWQ1NzI5ZDUzZjIyZGM3ZDc3NDI4 ZmViNTUyNjNiOTgyIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogUm9iYmllIEhhcndv b2QgPHJoYXJ3b29kQHJlZGhhdC5jb20+CiBEYXRlOiBUdWUsIDIzIEF1ZyAyMDE2IDE2OjMwOjUz IC0wNDAwCi1TdWJqZWN0OiBbUEFUQ0ggMDcvMjVdIFNFTElOVVg6IEFkZCBpbnRlZ3JhdGlvbgor U3ViamVjdDogW1BBVENIIDA3LzI4XSBTRUxJTlVYOiBBZGQgaW50ZWdyYXRpb24KIAogU0VMaW51 eCBiYXNlcyBhY2Nlc3MgdG8gZmlsZXMgb24gdGhlIGRvbWFpbiBvZiB0aGUgcmVxdWVzdGluZyBw cm9jZXNzLAogdGhlIG9wZXJhdGlvbiBiZWluZyBwZXJmb3JtZWQsIGFuZCB0aGUgY29udGV4dCBh cHBsaWVkIHRvIHRoZSBmaWxlLgpAQCAtOTMyMCwxMyArOTMyMCwxMyBAQCBpbmRleCAwMDAwMDAw MDAwLi5iMTBmOTI3YjJlCiArCiArI2VuZGlmIC8qIFVTRV9TRUxJTlVYICovCiAtLSAKLTIuNTMu MAorMi41NS4wCiAKIAogRnJvbSA4NTIzYzM2MmM3YTBiYzJhNzAyZWRlMWVjODJiMjQ1NTVmZjEy YmE1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogSnVsaWVuIFJpc2NoZSA8anJpc2No ZUByZWRoYXQuY29tPgogRGF0ZTogTW9uLCA5IEphbiAyMDIzIDIyOjM5OjUyICswMTAwCi1TdWJq ZWN0OiBbUEFUQ0ggMDgvMjVdIElOU1RBTEw6IERvIG5vdCBzZXQgcm9vdCBhcyBrc3UgZmlsZSBv d25lcgorU3ViamVjdDogW1BBVENIIDA4LzI4XSBJTlNUQUxMOiBEbyBub3Qgc2V0IHJvb3QgYXMg a3N1IGZpbGUgb3duZXIKIAogVXBzdHJlYW0gTWFrZWZpbGUgdXNlcyB0aGUgaW5zdGFsbCBjb21t YW5kIHRvIHNldCByb290IGFzIG93bmVyIG9mIHRoZQoga3N1IGV4ZWN1dGFibGUgZmlsZS4gSG93 ZXZlciwgdGhpcyBpcyBubyBsb25nZXIgc3VwcG9ydGVkIG9uIGxhdGVzdApAQCAtOTM1MiwxMyAr OTM1MiwxMyBAQCBpbmRleCA5ZjY0ZmQxOTBmLi4zNzI0ZDI2YWU2IDEwMDY0NAogICMjICR7cHJl Zml4fS4KICBwcmVmaXg9QHByZWZpeEAKIC0tIAotMi41My4wCisyLjU1LjAKIAogCiBGcm9tIDMw N2QwYjE2MTU5ZGU1OTA5MmIwMGExMDlkNDRmNjhkZTMyM2Y1ZjEgTW9uIFNlcCAxNyAwMDowMDow MCAyMDAxCiBGcm9tOiBKdWxpZW4gUmlzY2hlIDxqcmlzY2hlQHJlZGhhdC5jb20+CiBEYXRlOiBX ZWQsIDcgRGVjIDIwMjIgMTM6MjI6NDIgKzAxMDAKLVN1YmplY3Q6IFtQQVRDSCAwOS8yNV0gU1NT RDogTWFrZSB0ZXN0cyBjb21wYXRpYmxlIHdpdGgKK1N1YmplY3Q6IFtQQVRDSCAwOS8yOF0gU1NT RDogTWFrZSB0ZXN0cyBjb21wYXRpYmxlIHdpdGgKICBzc3NkX2tyYjVfbG9jYXRvcl9wbHVnaW4u c28KIAogVGhlIHNzc2Rfa3JiNV9sb2NhdG9yX3BsdWdpbi5zbyBwbHVnaW4gcHJvdmlkZWQgYnkg c3NzZC1jbGllbnQgY29uZmxpY3RzCkBAIC05Mzk0LDEzICs5Mzk0LDEzIEBAIGluZGV4IDg3YmFj MTc5MjkuLjI2YmM5NWE4ZGMgMTAwNjQ0CiAgICAgICAgICBmYWlsKCdVUkkgYW5zd2VycyBkbyBu b3QgbWF0Y2gnKQogICAgICBqICs9IDEKIC0tIAotMi41My4wCisyLjU1LjAKIAogCiBGcm9tIDgy ZWM0ZDI1N2JhNGYwZWE1ZTU3YzU2YjY4MGJjODg4YjY5YWUzZGYgTW9uIFNlcCAxNyAwMDowMDow MCAyMDAxCiBGcm9tOiBKdWxpZW4gUmlzY2hlIDxqcmlzY2hlQHJlZGhhdC5jb20+CiBEYXRlOiBX ZWQsIDE1IE1hciAyMDIzIDE1OjU2OjM0ICswMTAwCi1TdWJqZWN0OiBbUEFUQ0ggMTAvMjVdIFBB QzogQWxsb3cgdG8gc2V0IHRpY2tldCBzaWduYXR1cmUgYXMgb3B0aW9uYWwKK1N1YmplY3Q6IFtQ QVRDSCAxMC8yOF0gUEFDOiBBbGxvdyB0byBzZXQgdGlja2V0IHNpZ25hdHVyZSBhcyBvcHRpb25h bAogCiBNUy1QQUMgc3RhdGVzIHRoYXQgIlRoZSB0aWNrZXQgc2lnbmF0dXJlIFNIT1VMRCBiZSBp bmNsdWRlZCBpbiB0aWNrZXRzCiB0aGF0IGFyZSBub3QgZW5jcnlwdGVkIHRvIHRoZSBrcmJ0Z3Qg YWNjb3VudCIuIEhvd2V2ZXIsIHRoZQpAQCAtOTY3NCwxMyArOTY3NCwxMyBAQCBpbmRleCAxNWRk YzE3ZGM1Li45NmNkZDUyOTgyIDEwMDY0NAogIC5zcAogIFRoaXMgY29tbWFuZCByZXF1aXJlcyB0 aGUgXGZCbW9kaWZ5XGZQIHByaXZpbGVnZS4KIC0tIAotMi41My4wCisyLjU1LjAKIAogCiBGcm9t IGYxNjA0MzBhODRjZGJjMmYyNGU0ZTlkYzMyZmFmYWMwNGRkY2I4ODcgTW9uIFNlcCAxNyAwMDow MDowMCAyMDAxCiBGcm9tOiBSb2JiaWUgSGFyd29vZCA8cmhhcndvb2RAcmVkaGF0LmNvbT4KIERh dGU6IFR1ZSwgMjMgQXVnIDIwMTYgMTY6NDk6MjUgLTA0MDAKLVN1YmplY3Q6IFtQQVRDSCAxMS8y NV0gQlVJTEQ6IGZpeCBkZWJ1Z2luZm8gd2l0aCB5LnRhYi5jCitTdWJqZWN0OiBbUEFUQ0ggMTEv MjhdIEJVSUxEOiBmaXggZGVidWdpbmZvIHdpdGggeS50YWIuYwogCiBXZSB3YW50IHRvIGtlZXAg dGhlc2UgeS50YWIuYyBmaWxlcyBhcm91bmQgYmVjYXVzZSB0aGUgZGVidWdpbmZvIHBvaW50cyB0 bwogdGhlbS4gIEl0IHdvdWxkIGJlIG1vcmUgZWxlZ2FudCBhdCB0aGUgZW5kIHRvIHVzZSBzeW1i b2xpYyBsaW5rcywgYnV0IHRoYXQKQEAgLTk3MzEsMTMgKzk3MzEsMTMgQEAgaW5kZXggODY2OWMy NDM2Yy4uZjI0MzAxN2NlOSAxMDA2NDQKIC0JJChSTSkgJChQUk9HKSAkKE9CSlMpIGdldGRhdGUu YwogKwkkKFJNKSAkKFBST0cpICQoT0JKUykgZ2V0ZGF0ZS5jIHkudGFiLmMKIC0tIAotMi41My4w CisyLjU1LjAKIAogCiBGcm9tIDYyMWRhYzNmN2QyOTg5YWRmZDc0NmQ0MGJhNzQ0NjhmYTAyNzVh YjUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBBbGV4YW5kZXIgQm9rb3ZveSA8YWJv a292b3lAcmVkaGF0LmNvbT4KIERhdGU6IFN1biwgMjEgU2VwIDIwMjUgMTE6MTQ6NTEgKzAzMDAK LVN1YmplY3Q6IFtQQVRDSCAxMi8yNV0gUEtJTklUOiBJZiBjb25maWd1cmVkLCBhdHRlbXB0IEFu b255bW91cyBQS0lOSVQgZm9yCitTdWJqZWN0OiBbUEFUQ0ggMTIvMjhdIFBLSU5JVDogSWYgY29u ZmlndXJlZCwgYXR0ZW1wdCBBbm9ueW1vdXMgUEtJTklUIGZvcgogIEZBU1QKIAogSWYgYXV0b19m YXN0X2FybW9yIGlzIGNvbmZpZ3VyZWQgZm9yIHRoZSByZWFsbSBvciBnbG9iYWxseSwgb3B0aW1p c3RpY2FsbHkKQEAgLTk5NTksMTMgKzk5NTksMTMgQEAgaW5kZXggNmY3ODkwYWJjZC4uMTJjMmVh MWU1ZCAxMDA2NDQKICBTcGVjaWZpZXMgdGhlIG5hbWUgb2YgdGhlIGhvc3RcKGFxcyBzaXRlIGZv ciB0aGUgcHVycG9zZSBvZiBETlNcLWJhc2VkCiAgS0RDIGRpc2NvdmVyeSBmb3IgdGhpcyByZWFs bS4gIE5ldyBpbiByZWxlYXNlIDEuMjIuCiAtLSAKLTIuNTMuMAorMi41NS4wCiAKIAogRnJvbSAz NDdmODExMDNlOTU1MzZiNTY1NWJlZTMxYmI5Y2VkMDVkMDZiMDk4IE1vbiBTZXAgMTcgMDA6MDA6 MDAgMjAwMQogRnJvbTogQWxleGFuZGVyIEJva292b3kgPGFib2tvdm95QHJlZGhhdC5jb20+CiBE YXRlOiBTdW4sIDE5IE9jdCAyMDI1IDE4OjE0OjI5ICswMzAwCi1TdWJqZWN0OiBbUEFUQ0ggMTMv MjVdIEZpeCBPVFAgcHJlYXV0aCBjcmFzaCB3aXRoIG51bGwgcHJvbXB0ZXIKK1N1YmplY3Q6IFtQ QVRDSCAxMy8yOF0gRml4IE9UUCBwcmVhdXRoIGNyYXNoIHdpdGggbnVsbCBwcm9tcHRlcgogCiBJ biBkb3Byb21wdCgpLCBjaGVjayBpZiB0aGUgY2FsbGVyIHByb3ZpZGVkIGEgcHJvbXB0ZXIgYmVm b3JlCiBkZXJlZmVyZW5jaW5nIGl0LiAgU2ltaWxhciBjb2RlIHJldHVybnMgZWl0aGVyIEVJTyBv cgpAQCAtOTk5NSwxMyArOTk5NSwxMyBAQCBpbmRleCAwN2ZmYzE1YzIyLi40ODAwM2RhNjJmIDEw MDY0NAogICAgICAgICAgcmV0dXJuIEVJTlZBTDsKICAKIC0tIAotMi41My4wCisyLjU1LjAKIAog CiBGcm9tIDIwNzNiZTFhY2Q1MWY5MDZhYzY4YzFhNzNjNGYxYWU4MzgwZWVlMzUgTW9uIFNlcCAx NyAwMDowMDowMCAyMDAxCiBGcm9tOiBBbGV4YW5kZXIgQm9rb3ZveSA8YWJva292b3lAcmVkaGF0 LmNvbT4KIERhdGU6IFdlZCwgMTAgRGVjIDIwMjUgMTA6NDI6MDIgKzAyMDAKLVN1YmplY3Q6IFtQ QVRDSCAxNC8yNV0gRml4IHN0cmNocigpIGNvbmZvcm1hbmNlIHRvIEMyMworU3ViamVjdDogW1BB VENIIDE0LzI4XSBGaXggc3RyY2hyKCkgY29uZm9ybWFuY2UgdG8gQzIzCiAKIEMyMyA3LjI4LjUu MSBzcGVjaWZpZXMgc2VhcmNoIGZ1bmN0aW9ucyBzdWNoIGFzIHN0cmNocigpIGFzIGdlbmVyaWMs CiByZXR1cm5pbmcgY29uc3QgY2hhciAqIGlmIHRoZSBmaXJzdCBhcmd1bWVudCBpcyBvZiB0eXBl IGNvbnN0IGNoYXIgKi4KQEAgLTEwMTg1LDEzICsxMDE4NSwxMyBAQCBpbmRleCA4MmY4NzBlYTVk Li40MjIxYTIwMjgzIDEwMDY0NAogICAgICAgICAgICAgICAgICBrZXkgPSBzdHJkdXAoZGF0YS0+ b3RwX2Fuc3dlcik7CiAgICAgICAgICAgICAgICAgIGlmIChrZXkgPT0gTlVMTCkKIC0tIAotMi41 My4wCisyLjU1LjAKIAogCiBGcm9tIGRmOTA1ZWExNDZhNGZlYjM5Mjc1ZjY1NzkxODM3M2UzNDNj ZGEyOGYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBHcmVnIEh1ZHNvbiA8Z2h1ZHNv bkBtaXQuZWR1PgogRGF0ZTogU3VuLCAyOCBTZXAgMjAyNSAxNTozOToxMCAtMDQwMAotU3ViamVj dDogW1BBVENIIDE1LzI1XSBBZGQgcGFDaGVja3N1bTIgdG8gUEtJTklUIEFTTi4xIHRlc3RzCitT dWJqZWN0OiBbUEFUQ0ggMTUvMjhdIEFkZCBwYUNoZWNrc3VtMiB0byBQS0lOSVQgQVNOLjEgdGVz dHMKIAogQ29tbWl0IDMxMDc5M2JhNjM3ODJhZjVmZmEzYTk1ZDIwZTQxZjhmMDNjYTdlMDAgYWRk ZWQgdGhlIHBhQ2hlY2tzdW0yCiBmaWVsZCB0byBrcmI1X3BrX2F1dGhlbnRpY2F0b3IuICBrdGVz dF9tYWtlX3NhbXBsZV9wa19hdXRoZW50aWNhdG9yKCkKQEAgLTEwMzYwLDEzICsxMDM2MCwxMyBA QCBpbmRleCBjNDdiZDcxZjY3Li40MThiZTYzNTQ2IDEwMDY0NAogIC4gIFsyXSBbU2VxdWVuY2Uv U2VxdWVuY2UgT2ZdCiAgLiAgLiAgW1NlcXVlbmNlL1NlcXVlbmNlIE9mXQogLS0gCi0yLjUzLjAK KzIuNTUuMAogCiAKIEZyb20gYzg1MTQwNTA1MWNhMGFmNzc3OWE2ZDZmNDBkZjRmMjgyMjEyMzBm MyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IERheCBLZWxzb24gPGRha2Vsc29uQHJl ZGhhdC5jb20+CiBEYXRlOiBUdWUsIDEzIE1heSAyMDI1IDExOjU0OjQxIC0wNjAwCi1TdWJqZWN0 OiBbUEFUQ0ggMTYvMjVdIEFkZCB4cmVhbG1hdXRoeiBLREMgcG9saWN5IG1vZHVsZSBhbmQgdGVz dHMKK1N1YmplY3Q6IFtQQVRDSCAxNi8yOF0gQWRkIHhyZWFsbWF1dGh6IEtEQyBwb2xpY3kgbW9k dWxlIGFuZCB0ZXN0cwogCiBUaGlzIG1vZHVsZSBwcm92aWRlcyBmaW5lLWdyYWluZWQgYWNjZXNz IGNvbnRyb2wgZm9yIGNyb3NzLXJlYWxtCiBhdXRoZW50aWNhdGlvbnMgYnkgY2hlY2tpbmcgc3Ry aW5nIGF0dHJpYnV0ZXMgb24gdGhlIGluY29taW5nCkBAIC0xMTEyMSwxMyArMTExMjEsMTMgQEAg aW5kZXggMDAwMDAwMDAwMC4uM2IzOTIxZjAzNgogKwogK3N1Y2Nlc3MoJ0Nyb3NzLXJlYWxtIGF1 dGhvcml6YXRpb24gdGVzdHMgY29tcGxldGVkIHN1Y2Nlc3NmdWxseScpCiAtLSAKLTIuNTMuMAor Mi41NS4wCiAKIAogRnJvbSA0NjM0Y2ExZjgyNDJjMjQ2MzJlMDA2ZDdiNjUxMDY0YTc1NTZjYzky IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogSnVsaWVuIFJpc2NoZSA8anJpc2NoZUBy ZWRoYXQuY29tPgogRGF0ZTogVGh1LCAyOSBKYW4gMjAyNiAxOTowNTowMSArMDEwMAotU3ViamVj dDogW1BBVENIIDE3LzI1XSBJbnN0YWxsIHhyZWFsbWF1dGh6IGxpa2Ugb3RoZXIgcGx1Z2lucwor U3ViamVjdDogW1BBVENIIDE3LzI4XSBJbnN0YWxsIHhyZWFsbWF1dGh6IGxpa2Ugb3RoZXIgcGx1 Z2lucwogCiBUaGUgeHJlYWxtYXV0aHoga2RjcG9saWN5IHBsdWdpbiB3YXMgbWVyZ2VkIHVwc3Ry ZWFtLCBidXQgaXQgaXMgbm90CiBpbnN0YWxsZWQgbXkgdGhlIE1ha2VmaWxlLiBUaGUgY29tbWl0 IGFkZHMgYWRkaXRpb25hbCBjb25maWd1cmF0aW9uIHRvCkBAIC0xMTE4NSwxMyArMTExODUsMTMg QEAgaW5kZXggNzgzNDZkNjU3Mi4uYjY3NDAyMTBhNyAxMDA2NDQKICBAbGlibm92ZXJfZnJhZ0AK ICBAbGlib2JqX2ZyYWdACiAtLSAKLTIuNTMuMAorMi41NS4wCiAKIAogRnJvbSA2ZDA2Njc4N2Qy M2M5MTM3ODlkY2ZjMjIwYjM0Y2QzYTc4YWRhNGM3IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQog RnJvbTogSnVsaWVuIFJpc2NoZSA8anJpc2NoZUByZWRoYXQuY29tPgogRGF0ZTogTW9uLCAxNiBG ZWIgMjAyNiAxNjozMDoxNCArMDEwMAotU3ViamVjdDogW1BBVENIIDE4LzI1XSBGb3JjZSAiZm9y ayIgbWV0aG9kIGZvciBSQURJVVMgZGFlbW9uIGluIE9UUCB0ZXN0CitTdWJqZWN0OiBbUEFUQ0gg MTgvMjhdIEZvcmNlICJmb3JrIiBtZXRob2QgZm9yIFJBRElVUyBkYWVtb24gaW4gT1RQIHRlc3QK IAogVGhlIFJBRElVUyBkYWVtb24gdXNlZCBpbiB0aGUgT1RQIHRlc3QgcmVsaWVzIG9uCiBtdWx0 aXByb2Nlc3NpbmcuUHJvY2Vzcy4gU2luY2UgUHl0aG9uIDMuMTQsIG11bHRpcHJvY2Vzc2luZyBj aGFuZ2VkIGl0cwpAQCAtMTEyNTUsMTMgKzExMjU1LDEzIEBAIGluZGV4IGRkNWNkYzVjMjYuLmMx NzNiNTVjNDEgMTAwNzU1CiAgZGFlbW9uMiA9IFVuaXhSYWRpdXNEYWVtb24oYXJncz0oc29ja2V0 X2ZpbGUsIE5vbmUsICdhY2NlcHQyJywgcXVldWUyKSkKICBkYWVtb24xLnN0YXJ0KCkKIC0tIAot Mi41My4wCisyLjU1LjAKIAogCiBGcm9tIDRkOGU3NzhiZGJmNjQ3NmU4YWEzOTdlZjA0NjEyNmFl NTMyZjAzZDYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBBbGV4YW5kZXIgQm9rb3Zv eSA8YWJva292b3lAcmVkaGF0LmNvbT4KIERhdGU6IFN1biwgOCBNYXIgMjAyNiAyMTo1MDo1MiAr MDIwMAotU3ViamVjdDogW1BBVENIIDE5LzI1XSBGaXggUzRVMlNlbGYgaWdub3JpbmcgdGltZV9y ZXEgd2hlbiBhY3F1aXJpbmcKK1N1YmplY3Q6IFtQQVRDSCAxOS8yOF0gRml4IFM0VTJTZWxmIGln bm9yaW5nIHRpbWVfcmVxIHdoZW4gYWNxdWlyaW5nCiAgaW1wZXJzb25hdGVkIGNyZWRlbnRpYWxz CiBNSU1FLVZlcnNpb246IDEuMAogQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVU Ri04CkBAIC0xMTMyNiwxMyArMTEzMjYsMTMgQEAgaW5kZXggZmE3Zjk4MGFmNy4uOWYyY2JlYmVj NyAxMDA2NDQKICAgICAgICAgIHN1YmplY3RfY2VydCA9IHVzZXItPnByaW5jLT5kYXRhOwogICAg ICBlbHNlCiAtLSAKLTIuNTMuMAorMi41NS4wCiAKIAogRnJvbSA1YjE4NTg5MzQzOGY3NzU1Mzhh OGQ2MzQwZTlmNGYzOWY2MzgzY2M3IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogQWxl eGFuZGVyIEJva292b3kgPGFib2tvdm95QHJlZGhhdC5jb20+CiBEYXRlOiBNb24sIDkgTWFyIDIw MjYgMDk6MTY6NTYgKzAyMDAKLVN1YmplY3Q6IFtQQVRDSCAyMC8yNV0gRml4IFM0VTJTZWxmIGln bm9yaW5nIHRpbWVfcmVxIHdoZW4gY29weWluZworU3ViamVjdDogW1BBVENIIDIwLzI4XSBGaXgg UzRVMlNlbGYgaWdub3JpbmcgdGltZV9yZXEgd2hlbiBjb3B5aW5nCiAgaW1wZXJzb25hdG9yIFRH VAogCiBnc3NfYWNxdWlyZV9jcmVkX2ltcGVyc29uYXRlX25hbWUoKSB3aXRoIGEgdGltZV9yZXEg Ym91bmRlZCB0aGUKQEAgLTExNDA2LDEzICsxMTQwNiwxMyBAQCBpbmRleCA5ZjJjYmViZWM3Li4x MDI4OGViZTk0IDEwMDY0NAogICAgICAgICAgZ290byBjbGVhbnVwOwogIAogLS0gCi0yLjUzLjAK KzIuNTUuMAogCiAKIEZyb20gOGRmMWM0MTkxMWU3MTc5ZDJlNmNkYjcyYjNiYjU2OGMxZGIwOGJk MyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IEFsZXhhbmRlciBCb2tvdm95IDxhYm9r b3ZveUByZWRoYXQuY29tPgogRGF0ZTogTW9uLCA5IE1hciAyMDI2IDA5OjE3OjA4ICswMjAwCi1T dWJqZWN0OiBbUEFUQ0ggMjEvMjVdIEFkZCB0X3M0dSB0ZXN0IGZvciB0aW1lX3JlcSBib3VuZGlu ZyBhbGwgZGVsZWdhdGVkLWNyZWQKK1N1YmplY3Q6IFtQQVRDSCAyMS8yOF0gQWRkIHRfczR1IHRl c3QgZm9yIHRpbWVfcmVxIGJvdW5kaW5nIGFsbCBkZWxlZ2F0ZWQtY3JlZAogIHRpY2tldHMKIAog QWRkIC0tdGltZS1yZXEgTiBvcHRpb24gdG8gdF9zNHUgYW5kIGEgY2hlY2tfY3JlZF9lbmR0aW1l cygpIGZ1bmN0aW9uCkBAIC0xMTU2OCwxMyArMTE1NjgsMTMgQEAgaW5kZXggNGExY2RiMjM1NS4u ODEzZTI3ZmMxNSAxMDA3NTUKICAjIHRyeSBrcmI1IC0+IFM0VTJQcm94eS4KICByZWFsbS5raW5p dChyZWFsbS51c2VyX3ByaW5jLCBOb25lLCBbJy1mJywgJy1rJywgJy1jJywgdXNlcmNhY2hlLAog LS0gCi0yLjUzLjAKKzIuNTUuMAogCiAKIEZyb20gZTc5Y2MzOTk2MWEwZTM0N2UyZWZjMDQ1NWQ2 MmVhNjRmZGZmOTllYSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IFNhbXVlbCBDYWJy ZXJvIDxzY2FicmVyb0BzdXNlLmNvbT4KIERhdGU6IFR1ZSwgMTcgRmViIDIwMjYgMTY6NTc6NDAg KzAxMDAKLVN1YmplY3Q6IFtQQVRDSCAyMi8yNV0gTWFrZSBjb25maWd1cmUuYWMgd29yayB3aXRo IGF1dG9jb25mIDIuNzMKK1N1YmplY3Q6IFtQQVRDSCAyMi8yOF0gTWFrZSBjb25maWd1cmUuYWMg d29yayB3aXRoIGF1dG9jb25mIDIuNzMKIAogYXV0b3JlY29uZiByZXF1aXJlcyAiQUNfSU5JVCIg dG8gYXBwZWFyIGluIGNvbmZpZ3VyZS5hYy4gIFByaW9yIHRvCiBhdXRvY29uZiAyLjczLCBvdXIg aW5kaXJlY3QgaW52b2NhdGlvbiB2aWEgSzVfQUNfSU5JVCgpIHdhcwpAQCAtMTE2NjIsMTMgKzEx NjYyLDEzIEBAIGluZGV4IDAwMDAwMDAwMDAuLjRiMDhlZGRlNTIKICttNF9kZWZpbmUoW0s1X1ZF UlNJT05dLFBMX0tSQjVfTUFKT1JfUkVMRUFTRS5QTF9LUkI1X01JTk9SX1JFTEVBU0VbXWlmZWxz ZShQTF9LUkI1X1BBVENITEVWRUwsMCwsLlBMX0tSQjVfUEFUQ0hMRVZFTClpZmVsc2UoUExfS1JC NV9SRUxUQUlMLCwsLVBMX0tSQjVfUkVMVEFJTCkpCiArbTRfZGVmaW5lKFtLNV9CVUdBRERSXSxr cmI1LWJ1Z3NAbWl0LmVkdSkKIC0tIAotMi41My4wCisyLjU1LjAKIAogCiBGcm9tIGE3OTYyMGM0 ZjAwODBmNDM2ZWNhZTM1MDRjMmUwZWUzZmVkYjUzNjAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAx CiBGcm9tOiBHcmVnIEh1ZHNvbiA8Z2h1ZHNvbkBtaXQuZWR1PgogRGF0ZTogV2VkLCAyNSBGZWIg MjAyNiAxOTowNTo0MCAtMDUwMAotU3ViamVjdDogW1BBVENIIDIzLzI1XSBVc2UgWDUwOV9jaGVj a19ob3N0KCkgdG8gdmVyaWZ5IEtLRENQIHNlcnZlciBjZXJ0CitTdWJqZWN0OiBbUEFUQ0ggMjMv MjhdIFVzZSBYNTA5X2NoZWNrX2hvc3QoKSB0byB2ZXJpZnkgS0tEQ1Agc2VydmVyIGNlcnQKIAog SW4gdGhlIGs1dGxzIG1vZHVsZSwgcmVseSBvbiBYNTA5X2NoZWNrX2hvc3QoKSBhbmQKIFg1MDlf Y2hlY2tfaXBfYXNjKCksIHdoaWNoIHdlcmUgYWRkZWQgaW4gT3BlblNTTCAxLjAuMiwgaW5zdGVh ZCBvZgpAQCAtMTE5MTUsMTMgKzExOTE1LDEzIEBAIGluZGV4IGFhYjY3YzAxY2IuLjQyZDcyZGM5 ZWMgMTAwNjQ0CiAgCiAgc3RhdGljIGludAogLS0gCi0yLjUzLjAKKzIuNTUuMAogCiAKIEZyb20g Yzc1YWZkMzQ3ODM4ZGUwOTc1MjIwOTUwMTY2OTBlODUxZjA1NWZhMSBNb24gU2VwIDE3IDAwOjAw OjAwIDIwMDEKIEZyb206IEJvYiBCZWNrIDxiZWNrQG9wZW5zc2wub3JnPgogRGF0ZTogTW9uLCAx NiBGZWIgMjAyNiAxNToxNTo1NSAtMDcwMAotU3ViamVjdDogW1BBVENIIDI0LzI1XSBJbXByb3Zl IGZ1dHVyZSBPcGVuU1NMIGNvbXBhdGliaWxpdHkKK1N1YmplY3Q6IFtQQVRDSCAyNC8yOF0gSW1w cm92ZSBmdXR1cmUgT3BlblNTTCBjb21wYXRpYmlsaXR5CiAKIEF2b2lkIGNhbGxpbmcgZGVwcmVj YXRlZCBPcGVuU1NMIGZ1bmN0aW9ucyB3aGVuIGNvbXBpbGluZyBhZ2FpbnN0CiB2ZXJzaW9ucyBv ZiBPcGVuU1NMIHdoZXJlIHRoZXkgYXJlIGRlcHJlY2F0ZWQuICBBZGQKQEAgLTEyMjAwLDEzICsx MjIwMCwxMyBAQCBpbmRleCA0MmQ3MmRjOWVjLi43NzYzMzI3YjdhIDEwMDY0NAogICAgICAgICAg Z290byBlcnJvcjsKICAKIC0tIAotMi41My4wCisyLjU1LjAKIAogCiBGcm9tIDNjZjM5NjE4OTg3 NmFjNjYxMDYzZGMyNDgzZWE3MjFkOGE4Yzc0NDEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBG cm9tOiBHcmVnIEh1ZHNvbiA8Z2h1ZHNvbkBtaXQuZWR1PgogRGF0ZTogV2VkLCA4IEFwciAyMDI2 IDE3OjU3OjU5IC0wNDAwCi1TdWJqZWN0OiBbUEFUQ0ggMjUvMjVdIEZpeCB0d28gTmVnb0V4IHBh cnNpbmcgdnVsbmVyYWJpbGl0aWVzCitTdWJqZWN0OiBbUEFUQ0ggMjUvMjhdIEZpeCB0d28gTmVn b0V4IHBhcnNpbmcgdnVsbmVyYWJpbGl0aWVzCiAKIEluIHBhcnNlX25lZ29fbWVzc2FnZSgpLCBj aGVjayB0aGUgcmVzdWx0IG9mIHRoZSBzZWNvbmQgY2FsbCB0bwogdmVjdG9yX2Jhc2UoKSBiZWZv cmUgZGVyZWZlcmVuY2luZyBpdC4gIEluIHBhcnNlX21lc3NhZ2UoKSwgY2hlY2sgZm9yCkBAIC0x MjI2Niw1ICsxMjI2Niw3MjcgQEAgaW5kZXggZWRjNTQ2MmU4NC4uYTY1MjM4ZTU3MyAxMDA2NDQK ICAgICAgICAgIHJldHVybiBHU1NfU19ERUZFQ1RJVkVfVE9LRU47CiAgICAgIH0KIC0tIAotMi41 My4wCisyLjU1LjAKKworCitGcm9tIDVmZWE3YzUyZDVmYWQyYzQxNDE4YzNkM2Y0NmI4OTBmMDEw NTEzNzcgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBKdWxpZW4gUmlzY2hlIDxqcmlz Y2hlQHJlZGhhdC5jb20+CitEYXRlOiBUdWUsIDEgU2VwIDIwMjYgMTA6MzU6NTUgKzAyMDAKK1N1 YmplY3Q6IFtQQVRDSCAyNi8yOF0gUmV2ZXJ0ICJQS0lOSVQ6IElmIGNvbmZpZ3VyZWQsIGF0dGVt cHQgQW5vbnltb3VzIFBLSU5JVAorIGZvciBGQVNUIgorCitUaGlzIHJldmVydHMgY29tbWl0IDYy MWRhYzNmN2QyOTg5YWRmZDc0NmQ0MGJhNzQ0NjhmYTAyNzVhYjUuCistLS0KKyBzcmMvbGliL2ty YjUva3JiL2Zhc3QuYyB8IDExOCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tCisgc3JjL2xpYi9rcmI1L2tyYi9mYXN0LmggfCAgIDIgLQorIHNyYy9tYW4va3JiNS5jb25m Lm1hbiAgIHwgIDEzIC0tLS0tCisgMyBmaWxlcyBjaGFuZ2VkLCAxMzMgZGVsZXRpb25zKC0pCisK K2RpZmYgLS1naXQgYS9zcmMvbGliL2tyYjUva3JiL2Zhc3QuYyBiL3NyYy9saWIva3JiNS9rcmIv ZmFzdC5jCitpbmRleCBlZTJlMDgxODkyLi42MmM5ZjA4NDFmIDEwMDY0NAorLS0tIGEvc3JjL2xp Yi9rcmI1L2tyYi9mYXN0LmMKKysrKyBiL3NyYy9saWIva3JiNS9rcmIvZmFzdC5jCitAQCAtMTY4 LDEwOSArMTY4LDYgQEAga3JiNWludF9mYXN0X3ByZXBfcmVxX2JvZHkoa3JiNV9jb250ZXh0IGNv bnRleHQsCisgICAgIHJldHVybiByZXR2YWw7CisgfQorIAorLXN0YXRpYyBrcmI1X2Jvb2xlYW4K Ky1mYXN0X2lzX3BraW5pdF9hbGxvd2VkKGtyYjVfY29udGV4dCBjb250ZXh0LCBrcmI1X2RhdGEg KnJlYWxtKQorLXsKKy0gICAgaW50IHZhbHVlOworLSAgICBrcmI1X2Vycm9yX2NvZGUgcmV0dmFs ID0gRUlOVkFMOworLSAgICBjaGFyIHJlYWxtc3RyWzEwMjRdOworLSAgICBjb25zdCBjaGFyICpv cHRpb24gPSAiYXV0b19mYXN0X2FybW9yIjsKKy0gICAgY29uc3QgaW50IGRlZl92YWx1ZSA9IEZB TFNFOworLQorLSAgICBpZiAocmVhbG0gIT0gTlVMTCAmJiByZWFsbS0+bGVuZ3RoID4gc2l6ZW9m KHJlYWxtc3RyKS0xKQorLSAgICAgICAgcmV0dXJuIEZBTFNFOworLQorLSAgICBpZiAocmVhbG0g IT0gTlVMTCkgeworLSAgICAgICAgc3RybmNweShyZWFsbXN0ciwgcmVhbG0tPmRhdGEsIHJlYWxt LT5sZW5ndGgpOworLSAgICAgICAgcmVhbG1zdHJbcmVhbG0tPmxlbmd0aF0gPSAnXDAnOworLQor LSAgICAgICAgcmV0dmFsID0gcHJvZmlsZV9nZXRfYm9vbGVhbihjb250ZXh0LT5wcm9maWxlLAor LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBLUkI1X0NPTkZfUkVBTE1TLCBy ZWFsbXN0ciwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uLCBk ZWZfdmFsdWUsICZ2YWx1ZSk7CistICAgIH0KKy0KKy0gICAgcmV0dXJuIHJldHZhbCA/IEZBTFNF IDogdmFsdWU7CistCistfQorLQorLXN0YXRpYyBrcmI1X2Vycm9yX2NvZGUKKy1mYXN0X2FjcXVp cmVfcGtpbml0X2FybW9yKGtyYjVfY29udGV4dCBjb250ZXh0LAorLSAgICAgICAgICAgICAgICAg ICAgICAgICAgIHN0cnVjdCBrcmI1aW50X2Zhc3RfcmVxdWVzdF9zdGF0ZSAqc3RhdGUsCistICAg ICAgICAgICAgICAgICAgICAgICAgICAga3JiNV9nZXRfaW5pdF9jcmVkc19vcHQgKm9wdCwga3Ji NV9rZGNfcmVxICpyZXF1ZXN0KQorLXsKKy0gICAga3JiNV9jb250ZXh0IGN0eDsKKy0gICAga3Ji NV9nZXRfaW5pdF9jcmVkc19vcHQgKm9wdGlvbnMgPSBOVUxMOworLSAgICBrcmI1X2Vycm9yX2Nv ZGUgcmV0dmFsID0gMDsKKy0gICAga3JiNV9kYXRhICp0YXJnZXRfcmVhbG0gPSAmcmVxdWVzdC0+ c2VydmVyLT5yZWFsbTsKKy0gICAga3JiNV9jcmVkcyBjcmVkczsKKy0gICAga3JiNV9wcmluY2lw YWwgYW5vbl9wcmluYyA9IE5VTEw7CistICAgIGtyYjVfY2NhY2hlIG91dF9jYzsKKy0KKy0gICAg Lyogc2hvcnQgY2lyY3VpdCwgd2UgYXJlIGFza2VkIHRvIHBlcmZvcm0gQW5vbnltb3VzIFBLSU5J VCBhbHJlYWR5ICovCistICAgIGlmIChvcHQtPmZsYWdzICYgS1JCNV9HRVRfSU5JVF9DUkVEU19P UFRfQU5PTllNT1VTKSB7CistICAgICAgICByZXR1cm4gRUlOVkFMOworLSAgICB9CistCistICAg IC8qIHNraXAgcmVhbG1zIHdoaWNoIGRvIG5vdCBhbGxvdyB1c2Ugb2YgYXV0b21hdGVkIEZBU1Qg YXJtb3IgKi8KKy0gICAgaWYgKCFmYXN0X2lzX3BraW5pdF9hbGxvd2VkKGNvbnRleHQsIHRhcmdl dF9yZWFsbSkpIHsKKy0gICAgICAgIHJldHVybiBFSU5WQUw7CistICAgIH0KKy0KKy0gICAgcmV0 dmFsID0ga3JiNV9pbml0X2NvbnRleHQoJmN0eCk7CistICAgIGlmIChyZXR2YWwgIT0gMCkgewor LSAgICAgICAgcmV0dXJuIHJldHZhbDsKKy0gICAgfQorLSAgICByZXR2YWwgPSBrcmI1X2dldF9p bml0X2NyZWRzX29wdF9hbGxvYyhjdHgsICZvcHRpb25zKTsKKy0gICAgaWYgKHJldHZhbCAhPSAw KSB7CistICAgICAgICBnb3RvIGNsZWFudXA7CistICAgIH0KKy0gICAga3JiNV9nZXRfaW5pdF9j cmVkc19vcHRfc2V0X2Fub255bW91cyhvcHRpb25zLCAxKTsKKy0gICAgcmV0dmFsID0ga3JiNV9j Y19uZXdfdW5pcXVlKGN0eCwgIk1FTU9SWSIsIE5VTEwsICZvdXRfY2MpOworLSAgICBpZiAocmV0 dmFsICE9IDApIHsKKy0gICAgICAgIGdvdG8gY2xlYW51cDsKKy0gICAgfQorLQorLSAgICByZXR2 YWwgPSBrcmI1X2dldF9pbml0X2NyZWRzX29wdF9zZXRfb3V0X2NjYWNoZShjdHgsIG9wdGlvbnMs IG91dF9jYyk7CistICAgIGlmIChyZXR2YWwgIT0gMCkgeworLSAgICAgICAgZ290byBjbGVhbnVw OworLSAgICB9CistCistICAgIHJldHZhbCA9IGtyYjVfYnVpbGRfcHJpbmNpcGFsX2V4dChjdHgs ICZhbm9uX3ByaW5jLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFy Z2V0X3JlYWxtLT5sZW5ndGgsIHRhcmdldF9yZWFsbS0+ZGF0YSwKKy0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHN0cmxlbihLUkI1X1dFTExLTk9XTl9OQU1FU1RSKSwKKy0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEtSQjVfV0VMTEtOT1dOX05BTUVT VFIsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJsZW4oS1JCNV9B Tk9OWU1PVVNfUFJJTkNTVFIpLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgS1JCNV9BTk9OWU1PVVNfUFJJTkNTVFIsIDApOworLSAgICBpZiAocmV0dmFsICE9IDApIHsK Ky0gICAgICAgIGdvdG8gY2xlYW51cDsKKy0gICAgfQorLQorLSAgICByZXR2YWwgPSBrcmI1X2dl dF9pbml0X2NyZWRzX3Bhc3N3b3JkKGN0eCwgJmNyZWRzLCBhbm9uX3ByaW5jLCAwLAorLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwgLyogbm8gcHJvbXB0ZXIg Ki8sIE5VTEwsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMCwg TlVMTCAvKiBzZXJ2aWNlIG5hbWUgKi8sCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgb3B0aW9ucyk7CistICAgIGlmIChyZXR2YWwgPT0gMCkgeworLSAgICAgICAg c3RhdGUtPmZhc3Rfc3RhdGVfZmxhZ3MgfD0gS1JCNUlOVF9GQVNUX09XTl9BUk1PUjsKKy0gICAg ICAgIHN0YXRlLT5hcm1vcl9jY2FjaGUgPSBvdXRfY2M7CistICAgIH0KKy1jbGVhbnVwOgorLSAg ICBpZiAocmV0dmFsICE9IDAgJiYgb3V0X2NjICE9IE5VTEwpIHsKKy0gICAgICAgICh2b2lkKSBr cmI1X2NjX2Rlc3Ryb3koY3R4LCBvdXRfY2MpOworLSAgICB9CistICAgIGlmIChyZXR2YWwgPT0g MCkgeworLSAgICAgICAga3JiNV9mcmVlX2NyZWRfY29udGVudHMoY3R4LCAmY3JlZHMpOworLSAg ICB9CistICAgIGlmIChvcHRpb25zICE9IE5VTEwpIHsKKy0gICAgICAgIGtyYjVfZ2V0X2luaXRf Y3JlZHNfb3B0X2ZyZWUoY3R4LCBvcHRpb25zKTsKKy0gICAgfQorLSAgICBpZiAoYW5vbl9wcmlu YyAhPSBOVUxMKSB7CistICAgICAgICBrcmI1X2ZyZWVfcHJpbmNpcGFsKGN0eCwgYW5vbl9wcmlu Yyk7CistICAgIH0KKy0gICAga3JiNV9mcmVlX2NvbnRleHQoY3R4KTsKKy0KKy0gICAgcmV0dXJu IHJldHZhbDsKKy19CistCisga3JiNV9lcnJvcl9jb2RlCisga3JiNWludF9mYXN0X2FzX2FybW9y KGtyYjVfY29udGV4dCBjb250ZXh0LAorICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3Qga3Ji NWludF9mYXN0X3JlcXVlc3Rfc3RhdGUgKnN0YXRlLAorQEAgLTI4MSwyMCArMTc4LDEwIEBAIGty YjVpbnRfZmFzdF9hc19hcm1vcihrcmI1X2NvbnRleHQgY29udGV4dCwKKyAgICAga3JiNV9wcmlu Y2lwYWwgdGFyZ2V0X3ByaW5jaXBhbCA9IE5VTEw7CisgICAgIGtyYjVfZGF0YSAqdGFyZ2V0X3Jl YWxtOworICAgICBjb25zdCBjaGFyICpjY25hbWUgPSBrNV9naWNfb3B0X2dldF9mYXN0X2NjYWNo ZV9uYW1lKG9wdCk7CistICAgIGNoYXIgKmZhc3RfY2NuYW1lID0gTlVMTDsKKyAgICAga3JiNV9m bGFncyBmYXN0X2ZsYWdzOworIAorICAgICBrcmI1X2NsZWFyX2Vycm9yX21lc3NhZ2UoY29udGV4 dCk7CisgICAgIHRhcmdldF9yZWFsbSA9ICZyZXF1ZXN0LT5zZXJ2ZXItPnJlYWxtOworLSAgICBp ZiAoY2NuYW1lID09IE5VTEwpIHsKKy0gICAgICAgIHJldHZhbCA9IGZhc3RfYWNxdWlyZV9wa2lu aXRfYXJtb3IoY29udGV4dCwgc3RhdGUsIG9wdCwgcmVxdWVzdCk7CistICAgICAgICBpZiAocmV0 dmFsID09IDApIHsKKy0gICAgICAgICAgICByZXR2YWwgPSBrcmI1X2NjX2dldF9mdWxsX25hbWUo Y29udGV4dCwgc3RhdGUtPmFybW9yX2NjYWNoZSwgJmZhc3RfY2NuYW1lKTsKKy0gICAgICAgICAg ICBpZiAocmV0dmFsID09IDAgJiYgZmFzdF9jY25hbWUgIT0gTlVMTCkKKy0gICAgICAgICAgICAg ICAgY2NuYW1lID0gZmFzdF9jY25hbWU7CistICAgICAgICB9CistICAgICAgICByZXR2YWwgPSAw OworLSAgICB9CisgICAgIGlmIChjY25hbWUgIT0gTlVMTCkgeworICAgICAgICAgVFJBQ0VfRkFT VF9BUk1PUl9DQ0FDSEUoY29udGV4dCwgY2NuYW1lKTsKKyAgICAgICAgIHN0YXRlLT5mYXN0X3N0 YXRlX2ZsYWdzIHw9IEtSQjVJTlRfRkFTVF9BUk1PUl9BVkFJTDsKK0BAIC0zMzMsOCArMjIwLDYg QEAga3JiNWludF9mYXN0X2FzX2FybW9yKGtyYjVfY29udGV4dCBjb250ZXh0LAorICAgICAgICAg a3JiNV9jY19jbG9zZShjb250ZXh0LCBjY2FjaGUpOworICAgICBpZiAodGFyZ2V0X3ByaW5jaXBh bCkKKyAgICAgICAgIGtyYjVfZnJlZV9wcmluY2lwYWwoY29udGV4dCwgdGFyZ2V0X3ByaW5jaXBh bCk7CistICAgIGlmIChmYXN0X2NjbmFtZSkKKy0gICAgICAgIGZyZWUoZmFzdF9jY25hbWUpOwor ICAgICByZXR1cm4gcmV0dmFsOworIH0KKyAKK0BAIC03MzAsOSArNjE1LDYgQEAga3JiNWludF9m YXN0X2ZyZWVfc3RhdGUoa3JiNV9jb250ZXh0IGNvbnRleHQsCisgICAgIC8qV2UgYXJlIHJlc3Bv bnNpYmxlIGZvciBub25lIG9mIHRoZSBzdG9yZSBpbiB0aGUgZmFzdF9vdXRlcl9yZXEqLworICAg ICBrcmI1X2ZyZWVfa2V5YmxvY2soY29udGV4dCwgc3RhdGUtPmFybW9yX2tleSk7CisgICAgIGty YjVfZnJlZV9mYXN0X2FybW9yKGNvbnRleHQsIHN0YXRlLT5hcm1vcik7CistICAgIGlmIChzdGF0 ZS0+ZmFzdF9zdGF0ZV9mbGFncyAmIEtSQjVJTlRfRkFTVF9PV05fQVJNT1IpIHsKKy0gICAgICAg IGtyYjVfY2NfZGVzdHJveShjb250ZXh0LCBzdGF0ZS0+YXJtb3JfY2NhY2hlKTsKKy0gICAgfQor ICAgICBmcmVlKHN0YXRlKTsKKyB9CisgCitkaWZmIC0tZ2l0IGEvc3JjL2xpYi9rcmI1L2tyYi9m YXN0LmggYi9zcmMvbGliL2tyYjUva3JiL2Zhc3QuaAoraW5kZXggZTVmZThiZDU0NC4uNzE1NmVh MjAzZiAxMDA2NDQKKy0tLSBhL3NyYy9saWIva3JiNS9rcmIvZmFzdC5oCisrKysgYi9zcmMvbGli L2tyYjUva3JiL2Zhc3QuaAorQEAgLTM0LDcgKzM0LDYgQEAgc3RydWN0IGtyYjVpbnRfZmFzdF9y ZXF1ZXN0X3N0YXRlIHsKKyAgICAga3JiNV9rZGNfcmVxIGZhc3Rfb3V0ZXJfcmVxdWVzdDsKKyAg ICAga3JiNV9rZXlibG9jayAqYXJtb3Jfa2V5OyAvKm5vbi1udWxsIG1lYW5zIGZhc3QgaXMgaW4g dXNlKi8KKyAgICAga3JiNV9mYXN0X2FybW9yICphcm1vcjsKKy0gICAga3JiNV9jY2FjaGUgYXJt b3JfY2NhY2hlOworICAgICBrcmI1X3VpXzQgZmFzdF9zdGF0ZV9mbGFnczsKKyAgICAga3JiNV91 aV80IGZhc3Rfb3B0aW9uczsKKyAgICAga3JiNV9pbnQzMiBub25jZTsKK0BAIC00Miw3ICs0MSw2 IEBAIHN0cnVjdCBrcmI1aW50X2Zhc3RfcmVxdWVzdF9zdGF0ZSB7CisgCisgI2RlZmluZSBLUkI1 SU5UX0ZBU1RfRE9fRkFTVCAgICAgKDFsPDwwKSAgLyogUGVyZm9ybSBGQVNUICovCisgI2RlZmlu ZSBLUkI1SU5UX0ZBU1RfQVJNT1JfQVZBSUwgKDFsPDwxKQorLSNkZWZpbmUgS1JCNUlOVF9GQVNU X09XTl9BUk1PUiAgICgxbDw8MikKKyAKKyBrcmI1X2Vycm9yX2NvZGUKKyBrcmI1aW50X2Zhc3Rf cHJlcF9yZXFfYm9keShrcmI1X2NvbnRleHQgY29udGV4dCwKK2RpZmYgLS1naXQgYS9zcmMvbWFu L2tyYjUuY29uZi5tYW4gYi9zcmMvbWFuL2tyYjUuY29uZi5tYW4KK2luZGV4IDEyYzJlYTFlNWQu LjZmNzg5MGFiY2QgMTAwNjQ0CistLS0gYS9zcmMvbWFuL2tyYjUuY29uZi5tYW4KKysrKyBiL3Ny Yy9tYW4va3JiNS5jb25mLm1hbgorQEAgLTY1NSwxOSArNjU1LDYgQEAgcHJpbWFyeSBLREMsIGlu IGNhc2UgdGhlIHVzZXJcKGFxcyBwYXNzd29yZCBoYXMganVzdCBiZWVuIGNoYW5nZWQsIGFuZAor IHRoZSB1cGRhdGVkIGRhdGFiYXNlIGhhcyBub3QgYmVlbiBwcm9wYWdhdGVkIHRvIHRoZSByZXBs aWNhCisgc2VydmVycyB5ZXQuICBOZXcgaW4gcmVsZWFzZSAxLjE5LgorIC5UUAorLVxmQmF1dG9f ZmFzdF9hcm1vclxmUAorLUlmIHRoaXMgZmxhZyBpcyB0cnVlLCB0aGVuIGluaXRpYWwgdGlja2V0 IHJlcXVlc3Qgd2lsbCB1c2UgQW5vbnltb3VzCistUEtJTklUIHRvIHByb3RlY3QgdGhlIGNvbW11 bmljYXRpb24gYXMgYSBGQVNUIGNoYW5uZWwgaW4gY2FzZSBhbiBhcHBsaWNhdGlvbgorLWRpZCBu b3QgcHJvdmlkZSBpdHMgb3duIEZBU1QgY2hhbm5lbC4gVGhpcyBpcyB1c2VmdWwgZm9yIGRlcGxv eW1lbnRzIHdoZXJlCistcHJlLWF1dGhlbnRpY2F0aW9uIG1ldGhvZHMgcmVxdWlyZSB1c2Ugb2Yg dGhlIEZBU1QgY2hhbm5lbCwgc3VjaCBhcworLXBhc3N3b3JkbGVzcyBtZXRob2RzIHByb3ZpZGVk IGJ5IEZyZWVJUEEuIE1pY3Jvc29mdCBBY3RpdmUgRGlyZWN0b3J5CistaW1wbGVtZW50YXRpb24g b2YgUEtJTklUIGRvZXMgbm90IHN1cHBvcnQgQW5vbnltb3VzIFBLSU5JVCBmZWF0dXJlLgorLUFz IGEgcmVzdWx0LCBcZklhdXRvX2Zhc3RfYXJtb3JcZlAgZGVmYXVsdHMgdG8gZmFsc2UuCistLnNw CistVXNlIG9mIFxmSWF1dG9fZmFzdF9hcm1vciA9IHRydWVcZlAgcmVxdWlyZXMgcHJvcGVybHkg Y29uZmlndXJlZCBQS0lOSVQgYW5kCistV0VMTEtOT1dOL0FOT05ZTU9VUyBwcmluY2lwYWwgZGVm aW5lZCBvbiB0aGUgS0RDIHNpZGUuIENvbnN1bHQgS0RDIGRvY3VtZW50YXRpb24KKy1mb3IgZGV0 YWlscy4KKy0uVFAKKyBcZkJzaXRlbmFtZVxmUAorIFNwZWNpZmllcyB0aGUgbmFtZSBvZiB0aGUg aG9zdFwoYXFzIHNpdGUgZm9yIHRoZSBwdXJwb3NlIG9mIEROU1wtYmFzZWQKKyBLREMgZGlzY292 ZXJ5IGZvciB0aGlzIHJlYWxtLiAgTmV3IGluIHJlbGVhc2UgMS4yMi4KKy0tIAorMi41NS4wCisK KworRnJvbSBlMmEyMGQ0YjU2N2YxYmM2OTNiZGYyNTQ0ZmIwNjg1OWYxZDY4MzQyIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQorRnJvbTogamFzb24zNDEwNTUzMyA8YTIwMDQwMTA4amFzb25AZ21h aWwuY29tPgorRGF0ZTogVGh1LCAyMyBKdWwgMjAyNiAxNjo0NDoxNSArMDgwMAorU3ViamVjdDog W1BBVENIIDI3LzI4XSBBZGQgYXV0b19mYXN0X2FybW9yIHJlYWxtIHZhcmlhYmxlCisKK1doZW4g YXV0b19mYXN0X2FybW9yIGlzIHRydWUgYW5kIG5vIEZBU1QgY2NhY2hlIG5hbWUgaXMgcHJvdmlk ZWQgaW4KK3RoZSBHSUMgb3B0aW9ucywgdXNlIGFub255bW91cyBQS0lOSVQgdG8gYWNxdWlyZSBh biBhcm1vciB0aWNrZXQgaW50bworYSB0ZW1wb3JhcnkgbWVtb3J5IGNjYWNoZS4gIFJlZmFjdG9y IGtyYjVpbnRfZmFzdF9hc19hcm1vcigpIGFuZCBhZGQKK2FuIGFybW9yX2NjYWNoZSBwYXJhbWV0 ZXIgc28gdGhhdCB3ZSBjYW4gcGFzcyBpbiB0aGUgbWVtb3J5IGNjYWNoZQord2l0aG91dCBtb2Rp ZnlpbmcgdGhlIGNhbGxlcidzIEdJQyBvcHRpb25zLgorCitbZ2h1ZHNvbkBtaXQuZWR1OiBlZGl0 ZWQgY29tbWl0IG1lc3NhZ2VzLCBkb2N1bWVudGF0aW9uLCBhbmQgY29tbWVudHM7CityZWZhY3Rv cmVkIHNvbWUgY29kZSBjaGFuZ2VzIGZvciBzaW1wbGljaXR5XQorCit0aWNrZXQ6IDkyMjYgKG5l dykKKyhjaGVycnkgcGlja2VkIGZyb20gY29tbWl0IGVhZmYzYmNmMWE0MzU0MTIwOGIxZmE2M2Ez ZGY1MGMyMDgwNDU4YjcpCistLS0KKyBkb2MvYWRtaW4vY29uZl9maWxlcy9rcmI1X2NvbmYucnN0 IHwgIDExICsrKworIHNyYy9pbmNsdWRlL2s1LWludC5oICAgICAgICAgICAgICAgfCAgIDEgKwor IHNyYy9pbmNsdWRlL2s1LXRyYWNlLmggICAgICAgICAgICAgfCAgIDYgKy0KKyBzcmMvbGliL2ty YjUva3JiL2Zhc3QuYyAgICAgICAgICAgIHwgIDc5ICsrKysrKysrKystLS0tLS0tLS0tCisgc3Jj L2xpYi9rcmI1L2tyYi9mYXN0LmggICAgICAgICAgICB8ICAgMyArLQorIHNyYy9saWIva3JiNS9r cmIvZ2V0X2luX3RrdC5jICAgICAgfCAxMTEgKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0K KyBzcmMvbGliL2tyYjUva3JiL2luaXRfY3JlZHNfY3R4LmggIHwgICA0ICsrCisgc3JjL3Rlc3Rz L2dzc2FwaS90X2dzc2FwaS5weSAgICAgICB8ICAxOCArKysrKworIHNyYy90ZXN0cy90X3BraW5p dC5weSAgICAgICAgICAgICAgfCAgMjcgKysrKystLQorIDkgZmlsZXMgY2hhbmdlZCwgMjE1IGlu c2VydGlvbnMoKyksIDQ1IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvZG9jL2FkbWluL2Nv bmZfZmlsZXMva3JiNV9jb25mLnJzdCBiL2RvYy9hZG1pbi9jb25mX2ZpbGVzL2tyYjVfY29uZi5y c3QKK2luZGV4IDE2MGE4ZjFmZDQuLjRhNmI1ZDY4NTcgMTAwNjQ0CistLS0gYS9kb2MvYWRtaW4v Y29uZl9maWxlcy9rcmI1X2NvbmYucnN0CisrKysgYi9kb2MvYWRtaW4vY29uZl9maWxlcy9rcmI1 X2NvbmYucnN0CitAQCAtNDg3LDYgKzQ4NywxNyBAQCBmb2xsb3dpbmcgdGFncyBtYXkgYmUgc3Bl Y2lmaWVkIGluIHRoZSByZWFsbSdzIHN1YnNlY3Rpb246CisgICAgIG5hbWVzIHRvIGxvY2FsIHVz ZXIgbmFtZXMuICBUaGUgdGFnIGlzIHRoZSBtYXBwaW5nIG5hbWUsIGFuZCB0aGUKKyAgICAgdmFs dWUgaXMgdGhlIGNvcnJlc3BvbmRpbmcgbG9jYWwgdXNlciBuYW1lLgorIAorKyoqYXV0b19mYXN0 X2FybW9yKioKKysgICAgSWYgdGhpcyBmbGFnIGlzIHRydWUsIGluaXRpYWwgY3JlZGVudGlhbCBh Y3F1aXNpdGlvbiB3aWxsIGFjcXVpcmUKKysgICAgYW4gYW5vbnltb3VzIFBLSU5JVCB0aWNrZXQg dG8gdXNlIGFzIEZBU1QgYXJtb3IgYmVmb3JlIG1ha2luZyB0aGUKKysgICAgcmVhbCB0aWNrZXQg cmVxdWVzdCwgdW5sZXNzIGFuIGFybW9yIGNjYWNoZSBpcyBhbHJlYWR5IGNvbmZpZ3VyZWQKKysg ICAgKGFzIHdpdGgga2luaXQncyAqKi1UKiogb3B0aW9uKS4gIFRoaXMgZmxhZyBhbGxvd3MKKysg ICAgcHJlYXV0aGVudGljYXRpb24gbWVjaGFuaXNtcyB0aGF0IHJlcXVpcmUgRkFTVCwgc3VjaCBh cyBPVFAsIHRvCisrICAgIHdvcmsgd2l0aG91dCBhIHByZS1leGlzdGluZyB0aWNrZXQuICBUaGlz IGZsYWcgc2hvdWxkIG9ubHkgYmUgc2V0CisrICAgIGZvciByZWFsbXMga25vd24gdG8gc3VwcG9y dCBhbm9ueW1vdXMgUEtJTklULiAgVGhpcyBmbGFnIGhhcyBubworKyAgICBlZmZlY3QgaWYgdGhl IGNsaWVudCBwcmluY2lwYWwgaXMgaXRzZWxmIHRoZSBhbm9ueW1vdXMgcHJpbmNpcGFsLgorKyAg ICBUaGUgZGVmYXVsdCB2YWx1ZSBpcyBmYWxzZS4gIE5ldyBpbiByZWxlYXNlIDEuMjMuCisrCisg KipkZWZhdWx0X2RvbWFpbioqCisgICAgIFRoaXMgdGFnIHNwZWNpZmllcyB0aGUgZG9tYWluIHVz ZWQgdG8gZXhwYW5kIGhvc3RuYW1lcyB3aGVuCisgICAgIHRyYW5zbGF0aW5nIEtlcmJlcm9zIDQg c2VydmljZSBwcmluY2lwYWxzIHRvIEtlcmJlcm9zIDUgcHJpbmNpcGFscworZGlmZiAtLWdpdCBh L3NyYy9pbmNsdWRlL2s1LWludC5oIGIvc3JjL2luY2x1ZGUvazUtaW50LmgKK2luZGV4IDI1MmM4 ZDliMDAuLjU4ZTc4NTExMWQgMTAwNjQ0CistLS0gYS9zcmMvaW5jbHVkZS9rNS1pbnQuaAorKysr IGIvc3JjL2luY2x1ZGUvazUtaW50LmgKK0BAIC0xODUsNiArMTg1LDcgQEAgdHlwZWRlZiB1bnNp Z25lZCBjaGFyICAgdV9jaGFyOworICNkZWZpbmUgS1JCNV9DT05GX0FMTE9XX1dFQUtfQ1JZUFRP ICAgICAgICAgICAgImFsbG93X3dlYWtfY3J5cHRvIgorICNkZWZpbmUgS1JCNV9DT05GX0FVVEhf VE9fTE9DQUwgICAgICAgICAgICAgICAgImF1dGhfdG9fbG9jYWwiCisgI2RlZmluZSBLUkI1X0NP TkZfQVVUSF9UT19MT0NBTF9OQU1FUyAgICAgICAgICAiYXV0aF90b19sb2NhbF9uYW1lcyIKKysj ZGVmaW5lIEtSQjVfQ09ORl9BVVRPX0ZBU1RfQVJNT1IgICAgICAgICAgICAgICJhdXRvX2Zhc3Rf YXJtb3IiCisgI2RlZmluZSBLUkI1X0NPTkZfQ0FOT05JQ0FMSVpFICAgICAgICAgICAgICAgICAi Y2Fub25pY2FsaXplIgorICNkZWZpbmUgS1JCNV9DT05GX0NDQUNIRV9UWVBFICAgICAgICAgICAg ICAgICAgImNjYWNoZV90eXBlIgorICNkZWZpbmUgS1JCNV9DT05GX0NMT0NLU0tFVyAgICAgICAg ICAgICAgICAgICAgImNsb2Nrc2tldyIKK2RpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9rNS10cmFj ZS5oIGIvc3JjL2luY2x1ZGUvazUtdHJhY2UuaAoraW5kZXggNWQwYmU2M2JmMC4uNWFlZmQwOThh NiAxMDA2NDQKKy0tLSBhL3NyYy9pbmNsdWRlL2s1LXRyYWNlLmgKKysrKyBiL3NyYy9pbmNsdWRl L2s1LXRyYWNlLmgKK0BAIC0xNzMsOCArMTczLDggQEAgdm9pZCBrcmI1aW50X3RyYWNlKGtyYjVf Y29udGV4dCBjb250ZXh0LCBjb25zdCBjaGFyICpmbXQsIC4uLik7CisgI2RlZmluZSBUUkFDRV9E TlNfVVJJX1NFTkQoYywgZG9tYWluKSAgICAgICAgICAgICAgICAgICBcCisgICAgIFRSQUNFKGMs ICJTZW5kaW5nIEROUyBVUkkgcXVlcnkgZm9yIHtzdHJ9IiwgZG9tYWluKQorIAorLSNkZWZpbmUg VFJBQ0VfRkFTVF9BUk1PUl9DQ0FDSEUoYywgY2NhY2hlX25hbWUpICAgICAgICAgXAorLSAgICBU UkFDRShjLCAiRkFTVCBhcm1vciBjY2FjaGU6IHtzdHJ9IiwgY2NhY2hlX25hbWUpCisrI2RlZmlu ZSBUUkFDRV9GQVNUX0FSTU9SX0NDQUNIRShjLCBjY2FjaGUpICAgICAgICAgICAgICBcCisrICAg IFRSQUNFKGMsICJGQVNUIGFybW9yIGNjYWNoZToge2NjYWNoZX0iLCBjY2FjaGUpCisgI2RlZmlu ZSBUUkFDRV9GQVNUX0FSTU9SX0NDQUNIRV9LRVkoYywga2V5YmxvY2spICAgICAgICAgICAgICAg IFwKKyAgICAgVFJBQ0UoYywgIkFybW9yIGNjYWNoZSBzZXNzaW9uIGtleToge2tleWJsb2NrfSIs IGtleWJsb2NrKQorICNkZWZpbmUgVFJBQ0VfRkFTVF9BUk1PUl9LRVkoYywga2V5YmxvY2spICAg ICAgICAgICAgICAgXAorQEAgLTIxNyw2ICsyMTcsOCBAQCB2b2lkIGtyYjVpbnRfdHJhY2Uoa3Ji NV9jb250ZXh0IGNvbnRleHQsIGNvbnN0IGNoYXIgKmZtdCwgLi4uKTsKKyAKKyAjZGVmaW5lIFRS QUNFX0lOSVRfQ1JFRFMoYywgcHJpbmMpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAor ICAgICBUUkFDRShjLCAiR2V0dGluZyBpbml0aWFsIGNyZWRlbnRpYWxzIGZvciB7cHJpbmN9Iiwg cHJpbmMpCisrI2RlZmluZSBUUkFDRV9JTklUX0NSRURTX0FVVE9fRkFTVF9BUk1PUihjKSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgXAorKyAgICBUUkFDRShjLCAiQWNxdWlyaW5nIGFub255 bW91cyBQS0lOSVQgYXJtb3IgdGlja2V0IGZvciBGQVNUIikKKyAjZGVmaW5lIFRSQUNFX0lOSVRf Q1JFRFNfQVNfS0VZX0dBSyhjLCBrZXlibG9jaykgICAgICAgICAgICAgICAgICAgICAgICBcCisg ICAgIFRSQUNFKGMsICJBUyBrZXkgb2J0YWluZWQgZnJvbSBnYWtfZmN0OiB7a2V5YmxvY2t9Iiwg a2V5YmxvY2spCisgI2RlZmluZSBUUkFDRV9JTklUX0NSRURTX0FTX0tFWV9QUkVBVVRIKGMsIGtl eWJsb2NrKSAgICAgICAgICAgICAgICAgICAgXAorZGlmZiAtLWdpdCBhL3NyYy9saWIva3JiNS9r cmIvZmFzdC5jIGIvc3JjL2xpYi9rcmI1L2tyYi9mYXN0LmMKK2luZGV4IDYyYzlmMDg0MWYuLmY5 YmVmN2Y2YjAgMTAwNjQ0CistLS0gYS9zcmMvbGliL2tyYjUva3JiL2Zhc3QuYworKysrIGIvc3Jj L2xpYi9rcmI1L2tyYi9mYXN0LmMKK0BAIC0xNzEsNTUgKzE3MSw2MiBAQCBrcmI1aW50X2Zhc3Rf cHJlcF9yZXFfYm9keShrcmI1X2NvbnRleHQgY29udGV4dCwKKyBrcmI1X2Vycm9yX2NvZGUKKyBr cmI1aW50X2Zhc3RfYXNfYXJtb3Ioa3JiNV9jb250ZXh0IGNvbnRleHQsCisgICAgICAgICAgICAg ICAgICAgICAgIHN0cnVjdCBrcmI1aW50X2Zhc3RfcmVxdWVzdF9zdGF0ZSAqc3RhdGUsCistICAg ICAgICAgICAgICAgICAgICAgIGtyYjVfZ2V0X2luaXRfY3JlZHNfb3B0ICpvcHQsIGtyYjVfa2Rj X3JlcSAqcmVxdWVzdCkKKysgICAgICAgICAgICAgICAgICAgICAga3JiNV9nZXRfaW5pdF9jcmVk c19vcHQgKm9wdCwKKysgICAgICAgICAgICAgICAgICAgICAga3JiNV9jY2FjaGUgYXJtb3JfY2Nh Y2hlLCBrcmI1X2tkY19yZXEgKnJlcXVlc3QpCisgeworICAgICBrcmI1X2Vycm9yX2NvZGUgcmV0 dmFsID0gMDsKKyAgICAga3JiNV9jY2FjaGUgY2NhY2hlID0gTlVMTDsKKyAgICAga3JiNV9wcmlu Y2lwYWwgdGFyZ2V0X3ByaW5jaXBhbCA9IE5VTEw7CistICAgIGtyYjVfZGF0YSAqdGFyZ2V0X3Jl YWxtOworKyAgICBrcmI1X2RhdGEgKnRhcmdldF9yZWFsbSwgY29uZmlnX2RhdGEgPSBlbXB0eV9k YXRhKCk7CisgICAgIGNvbnN0IGNoYXIgKmNjbmFtZSA9IGs1X2dpY19vcHRfZ2V0X2Zhc3RfY2Nh Y2hlX25hbWUob3B0KTsKKyAgICAga3JiNV9mbGFncyBmYXN0X2ZsYWdzOworIAorICAgICBrcmI1 X2NsZWFyX2Vycm9yX21lc3NhZ2UoY29udGV4dCk7CisgICAgIHRhcmdldF9yZWFsbSA9ICZyZXF1 ZXN0LT5zZXJ2ZXItPnJlYWxtOworLSAgICBpZiAoY2NuYW1lICE9IE5VTEwpIHsKKy0gICAgICAg IFRSQUNFX0ZBU1RfQVJNT1JfQ0NBQ0hFKGNvbnRleHQsIGNjbmFtZSk7CistICAgICAgICBzdGF0 ZS0+ZmFzdF9zdGF0ZV9mbGFncyB8PSBLUkI1SU5UX0ZBU1RfQVJNT1JfQVZBSUw7CisrCisrICAg IGlmIChhcm1vcl9jY2FjaGUgPT0gTlVMTCkgeworKyAgICAgICAgLyogU3RvcCBpZiBubyBhcm1v ciBjY2FjaGUgd2FzIHByb3ZpZGVkIGJ5IHRoZSBkaXJlY3QgY2FsbGVyIG9yIHRoZSBHSUMKKysg ICAgICAgICAqIG9wdGlvbnMuICovCisrICAgICAgICBpZiAoY2NuYW1lID09IE5VTEwpCisrICAg ICAgICAgICAgcmV0dXJuIDA7CisrICAgICAgICAvKiBSZXNvbHZlIHRoZSBhcm1vciBjY2FjaGUg bmFtZSBwcm92aWRlZCBpbiB0aGUgR0lDIG9wdGlvbnMuICovCisgICAgICAgICByZXR2YWwgPSBr cmI1X2NjX3Jlc29sdmUoY29udGV4dCwgY2NuYW1lLCAmY2NhY2hlKTsKKy0gICAgICAgIGlmIChy ZXR2YWwgPT0gMCkgeworLSAgICAgICAgICAgIHJldHZhbCA9IGtyYjVpbnRfdGd0bmFtZShjb250 ZXh0LCB0YXJnZXRfcmVhbG0sIHRhcmdldF9yZWFsbSwKKy0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgJnRhcmdldF9wcmluY2lwYWwpOworLSAgICAgICAgfQorLSAgICAgICAg aWYgKHJldHZhbCA9PSAwKSB7CistICAgICAgICAgICAga3JiNV9kYXRhIGNvbmZpZ19kYXRhOwor LSAgICAgICAgICAgIGNvbmZpZ19kYXRhLmRhdGEgPSBOVUxMOworLSAgICAgICAgICAgIHJldHZh bCA9IGtyYjVfY2NfZ2V0X2NvbmZpZyhjb250ZXh0LCBjY2FjaGUsIHRhcmdldF9wcmluY2lwYWws CistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEtSQjVfQ0NfQ09ORl9G QVNUX0FWQUlMLCAmY29uZmlnX2RhdGEpOworLSAgICAgICAgICAgIGlmICgocmV0dmFsID09IDAp ICYmIGNvbmZpZ19kYXRhLmRhdGEpIHsKKy0gICAgICAgICAgICAgICAgVFJBQ0VfRkFTVF9DQ0FD SEVfQ09ORklHKGNvbnRleHQpOworLSAgICAgICAgICAgICAgICBzdGF0ZS0+ZmFzdF9zdGF0ZV9m bGFncyB8PSBLUkI1SU5UX0ZBU1RfRE9fRkFTVDsKKy0gICAgICAgICAgICB9CistICAgICAgICAg ICAga3JiNV9mcmVlX2RhdGFfY29udGVudHMoY29udGV4dCwgJmNvbmZpZ19kYXRhKTsKKy0gICAg ICAgICAgICByZXR2YWwgPSAwOworLSAgICAgICAgfQorLSAgICAgICAgZmFzdF9mbGFncyA9IGs1 X2dpY19vcHRfZ2V0X2Zhc3RfZmxhZ3Mob3B0KTsKKy0gICAgICAgIGlmIChmYXN0X2ZsYWdzICYg S1JCNV9GQVNUX1JFUVVJUkVEKSB7CistICAgICAgICAgICAgVFJBQ0VfRkFTVF9SRVFVSVJFRChj b250ZXh0KTsKKy0gICAgICAgICAgICBzdGF0ZS0+ZmFzdF9zdGF0ZV9mbGFncyB8PSBLUkI1SU5U X0ZBU1RfRE9fRkFTVDsKKy0gICAgICAgIH0KKy0gICAgICAgIGlmIChyZXR2YWwgPT0gMCAmJiAo c3RhdGUtPmZhc3Rfc3RhdGVfZmxhZ3MgJiBLUkI1SU5UX0ZBU1RfRE9fRkFTVCkpIHsKKy0gICAg ICAgICAgICByZXR2YWwgPSBmYXN0X2FybW9yX2FwX3JlcXVlc3QoY29udGV4dCwgc3RhdGUsIGNj YWNoZSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFyZ2V0 X3ByaW5jaXBhbCk7CistICAgICAgICB9CistICAgICAgICBpZiAocmV0dmFsICE9IDApIHsKKy0g ICAgICAgICAgICBrNV9wcmVwZW5kbXNnKGNvbnRleHQsIHJldHZhbCwKKy0gICAgICAgICAgICAg ICAgICAgICAgICAgIF8oIkVycm9yIGNvbnN0cnVjdGluZyBBUC1SRVEgYXJtb3IiKSk7CistICAg ICAgICB9CisrICAgICAgICBpZiAocmV0dmFsKQorKyAgICAgICAgICAgIGdvdG8gY2xlYW51cDsK KysgICAgICAgIGFybW9yX2NjYWNoZSA9IGNjYWNoZTsKKysgICAgfQorKworKyAgICBUUkFDRV9G QVNUX0FSTU9SX0NDQUNIRShjb250ZXh0LCBhcm1vcl9jY2FjaGUpOworKworKyAgICBzdGF0ZS0+ ZmFzdF9zdGF0ZV9mbGFncyB8PSBLUkI1SU5UX0ZBU1RfQVJNT1JfQVZBSUw7CisrICAgIHJldHZh bCA9IGtyYjVpbnRfdGd0bmFtZShjb250ZXh0LCB0YXJnZXRfcmVhbG0sIHRhcmdldF9yZWFsbSwK KysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZ0YXJnZXRfcHJpbmNpcGFsKTsKKysgICAg aWYgKHJldHZhbCkKKysgICAgICAgIGdvdG8gY2xlYW51cDsKKysKKysgICAgcmV0dmFsID0ga3Ji NV9jY19nZXRfY29uZmlnKGNvbnRleHQsIGFybW9yX2NjYWNoZSwgdGFyZ2V0X3ByaW5jaXBhbCwK KysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEtSQjVfQ0NfQ09ORl9GQVNUX0FWQUlM LCAmY29uZmlnX2RhdGEpOworKyAgICBpZiAoIXJldHZhbCAmJiBjb25maWdfZGF0YS5kYXRhICE9 IE5VTEwpIHsKKysgICAgICAgIFRSQUNFX0ZBU1RfQ0NBQ0hFX0NPTkZJRyhjb250ZXh0KTsKKysg ICAgICAgIHN0YXRlLT5mYXN0X3N0YXRlX2ZsYWdzIHw9IEtSQjVJTlRfRkFTVF9ET19GQVNUOwor ICAgICB9CisrCisrICAgIGZhc3RfZmxhZ3MgPSBrNV9naWNfb3B0X2dldF9mYXN0X2ZsYWdzKG9w dCk7CisrICAgIGlmIChmYXN0X2ZsYWdzICYgS1JCNV9GQVNUX1JFUVVJUkVEKSB7CisrICAgICAg ICBUUkFDRV9GQVNUX1JFUVVJUkVEKGNvbnRleHQpOworKyAgICAgICAgc3RhdGUtPmZhc3Rfc3Rh dGVfZmxhZ3MgfD0gS1JCNUlOVF9GQVNUX0RPX0ZBU1Q7CisrICAgIH0KKysKKysgICAgcmV0dmFs ID0gZmFzdF9hcm1vcl9hcF9yZXF1ZXN0KGNvbnRleHQsIHN0YXRlLCBhcm1vcl9jY2FjaGUsCisr ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YXJnZXRfcHJpbmNpcGFsKTsKKysg ICAgaWYgKHJldHZhbCkKKysgICAgICAgIGs1X3ByZXBlbmRtc2coY29udGV4dCwgcmV0dmFsLCBf KCJFcnJvciBjb25zdHJ1Y3RpbmcgQVAtUkVRIGFybW9yIikpOworKworK2NsZWFudXA6CisgICAg IGlmIChjY2FjaGUpCisgICAgICAgICBrcmI1X2NjX2Nsb3NlKGNvbnRleHQsIGNjYWNoZSk7Cist ICAgIGlmICh0YXJnZXRfcHJpbmNpcGFsKQorLSAgICAgICAga3JiNV9mcmVlX3ByaW5jaXBhbChj b250ZXh0LCB0YXJnZXRfcHJpbmNpcGFsKTsKKysgICAga3JiNV9mcmVlX3ByaW5jaXBhbChjb250 ZXh0LCB0YXJnZXRfcHJpbmNpcGFsKTsKKysgICAga3JiNV9mcmVlX2RhdGFfY29udGVudHMoY29u dGV4dCwgJmNvbmZpZ19kYXRhKTsKKyAgICAgcmV0dXJuIHJldHZhbDsKKyB9CisgCitkaWZmIC0t Z2l0IGEvc3JjL2xpYi9rcmI1L2tyYi9mYXN0LmggYi9zcmMvbGliL2tyYjUva3JiL2Zhc3QuaAor aW5kZXggNzE1NmVhMjAzZi4uMWRiY2UyZjNmMCAxMDA2NDQKKy0tLSBhL3NyYy9saWIva3JiNS9r cmIvZmFzdC5oCisrKysgYi9zcmMvbGliL2tyYjUva3JiL2Zhc3QuaAorQEAgLTgzLDcgKzgzLDgg QEAga3JiNWludF9mYXN0X2ZyZWVfc3RhdGUoa3JiNV9jb250ZXh0IGNvbnRleHQsCisga3JiNV9l cnJvcl9jb2RlCisga3JiNWludF9mYXN0X2FzX2FybW9yKGtyYjVfY29udGV4dCBjb250ZXh0LAor ICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3Qga3JiNWludF9mYXN0X3JlcXVlc3Rfc3RhdGUg KnN0YXRlLAorLSAgICAgICAgICAgICAgICAgICAgICBrcmI1X2dldF9pbml0X2NyZWRzX29wdCAq b3B0LCBrcmI1X2tkY19yZXEgKnJlcXVlc3QpOworKyAgICAgICAgICAgICAgICAgICAgICBrcmI1 X2dldF9pbml0X2NyZWRzX29wdCAqb3B0LAorKyAgICAgICAgICAgICAgICAgICAgICBrcmI1X2Nj YWNoZSBhdXRvX2FybW9yX2NjYWNoZSwga3JiNV9rZGNfcmVxICpyZXF1ZXN0KTsKKyAKKyBrcmI1 X2Vycm9yX2NvZGUKKyBrcmI1aW50X2Zhc3RfcmVwbHlfa2V5KGtyYjVfY29udGV4dCBjb250ZXh0 LAorZGlmZiAtLWdpdCBhL3NyYy9saWIva3JiNS9rcmIvZ2V0X2luX3RrdC5jIGIvc3JjL2xpYi9r cmI1L2tyYi9nZXRfaW5fdGt0LmMKK2luZGV4IDRiMmJlNDFlNzUuLmEwODY3ZDEyODQgMTAwNjQ0 CistLS0gYS9zcmMvbGliL2tyYjUva3JiL2dldF9pbl90a3QuYworKysrIGIvc3JjL2xpYi9rcmI1 L2tyYi9nZXRfaW5fdGt0LmMKK0BAIC01MzcsNiArNTM3LDEwIEBAIGtyYjVfaW5pdF9jcmVkc19m cmVlKGtyYjVfY29udGV4dCBjb250ZXh0LAorICAgICBrcmI1X2ZyZWVfZGF0YV9jb250ZW50cyhj b250ZXh0LCAmY3R4LT5zYWx0KTsKKyAgICAga3JiNV9mcmVlX2RhdGFfY29udGVudHMoY29udGV4 dCwgJmN0eC0+czJrcGFyYW1zKTsKKyAgICAga3JiNV9mcmVlX2tleWJsb2NrX2NvbnRlbnRzKGNv bnRleHQsICZjdHgtPmFzX2tleSk7CisrICAgIGtyYjVfaW5pdF9jcmVkc19mcmVlKGNvbnRleHQs IGN0eC0+YXV0b19hcm1vcl9jdHgpOworKyAgICBrcmI1X2dldF9pbml0X2NyZWRzX29wdF9mcmVl KGNvbnRleHQsIGN0eC0+YXV0b19hcm1vcl9vcHQpOworKyAgICBpZiAoY3R4LT5hdXRvX2FybW9y X2NjYWNoZSAhPSBOVUxMKQorKyAgICAgICAga3JiNV9jY19kZXN0cm95KGNvbnRleHQsIGN0eC0+ YXV0b19hcm1vcl9jY2FjaGUpOworICAgICBrNV9qc29uX3JlbGVhc2UoY3R4LT5jY19jb25maWdf aW4pOworICAgICBrNV9qc29uX3JlbGVhc2UoY3R4LT5jY19jb25maWdfb3V0KTsKKyAgICAgZnJl ZShjdHgpOworQEAgLTc3MSw2ICs3NzUsODcgQEAgZW5jdHNfZGlzYWJsZWQocHJvZmlsZV90IHBy b2ZpbGUsIGNvbnN0IGtyYjVfZGF0YSAqcmVhbG0pCisgICAgIHJldHVybiAocmV0ID09IDApID8g YnZhbCA6IEZBTFNFOworIH0KKyAKKysvKiBSZXR1cm4gdHJ1ZSBpZiBhdXRvX2Zhc3RfYXJtb3Ig aXMgZW5hYmxlZCBmb3IgcmVhbG0uICovCisrc3RhdGljIGtyYjVfYm9vbGVhbgorK2F1dG9fZmFz dF9hcm1vcl9lbmFibGVkKHByb2ZpbGVfdCBwcm9maWxlLCBjb25zdCBrcmI1X2RhdGEgKnJlYWxt KQorK3sKKysgICAga3JiNV9lcnJvcl9jb2RlIHJldDsKKysgICAgY2hhciAqcmVhbG1zdHI7Cisr ICAgIGludCBidmFsOworKworKyAgICByZWFsbXN0ciA9IGs1bWVtZHVwMChyZWFsbS0+ZGF0YSwg cmVhbG0tPmxlbmd0aCwgJnJldCk7CisrICAgIGlmIChyZWFsbXN0ciA9PSBOVUxMKQorKyAgICAg ICAgcmV0dXJuIEZBTFNFOworKyAgICByZXQgPSBwcm9maWxlX2dldF9ib29sZWFuKHByb2ZpbGUs IEtSQjVfQ09ORl9SRUFMTVMsIHJlYWxtc3RyLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIEtSQjVfQ09ORl9BVVRPX0ZBU1RfQVJNT1IsIEZBTFNFLCAmYnZhbCk7CisrICAgIGZyZWUo cmVhbG1zdHIpOworKyAgICByZXR1cm4gKHJldCA9PSAwKSA/IGJ2YWwgOiBGQUxTRTsKKyt9Cisr CisrLyoKKysgKiBSZXR1cm4gdHJ1ZSBpZiBjdHggc2hvdWxkIGZpcnN0IGFjcXVpcmUgRkFTVCBh cm1vciB1c2luZyBhbm9ueW1vdXMgUEtJTklULgorKyAqIFRoaXMgZGVjaXNpb24gaXMgcHJpbWFy aWx5IGRlcGVuZGVudCBvbiB0aGUgYXV0b19mYXN0X2FybW9yIGNvbmZpZyBvcHRpb24sCisrICog YnV0IHdlIGRvbid0IGFjcXVpcmUgYXJtb3IgaWYgdGhlIGNhbGxlciBwYXNzZWQgaW4gYW4gYXJt b3IgY2NhY2hlIG9yIGlmIHRoZQorKyAqIHN0YXRlIG1hY2hpbmUgaXMgYWxyZWFkeSBwZXJmb3Jt aW5nIGFuIGFub255bW91cyBQS0lOSVQgcmVxdWVzdC4KKysgKi8KKytzdGF0aWMga3JiNV9ib29s ZWFuCisrd2FudF9hdXRvX2FybW9yKGtyYjVfY29udGV4dCBjb250ZXh0LCBrcmI1X2luaXRfY3Jl ZHNfY29udGV4dCBjdHgpCisreworKyAgICBpZiAoazVfZ2ljX29wdF9nZXRfZmFzdF9jY2FjaGVf bmFtZShjdHgtPm9wdCkgIT0gTlVMTCkKKysgICAgICAgIHJldHVybiBGQUxTRTsKKysgICAgaWYg KGtyYjVfcHJpbmNpcGFsX2NvbXBhcmVfYW55X3JlYWxtKGNvbnRleHQsIGN0eC0+cmVxdWVzdC0+ Y2xpZW50LAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga3JiNV9h bm9ueW1vdXNfcHJpbmNpcGFsKCkpKQorKyAgICAgICAgcmV0dXJuIEZBTFNFOworKyAgICByZXR1 cm4gYXV0b19mYXN0X2FybW9yX2VuYWJsZWQoY29udGV4dC0+cHJvZmlsZSwKKysgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICZjdHgtPnJlcXVlc3QtPmNsaWVudC0+cmVhbG0pOwor K30KKysKKysvKiBDcmVhdGUgYSBtZW1vcnkgY2NhY2hlIGFuZCBuZXN0ZWQgaW5pdF9jcmVkcyBj b250ZXh0IGZvciBhY3F1aXJpbmcgRkFTVCBhbW9yCisrICogdmlhIGFub255bW91cyBQS0lOSVQu ICovCisrc3RhdGljIGtyYjVfZXJyb3JfY29kZQorK2JlZ2luX2F1dG9fYXJtb3Ioa3JiNV9jb250 ZXh0IGNvbnRleHQsIGtyYjVfaW5pdF9jcmVkc19jb250ZXh0IGN0eCkKKyt7CisrICAgIGtyYjVf ZXJyb3JfY29kZSByZXQ7CisrICAgIGtyYjVfcHJpbmNpcGFsIGFub25fcHJpbmMgPSBOVUxMOwor KyAgICBjb25zdCBrcmI1X2RhdGEgKnJlYWxtID0gJmN0eC0+cmVxdWVzdC0+Y2xpZW50LT5yZWFs bTsKKysKKysgICAgVFJBQ0VfSU5JVF9DUkVEU19BVVRPX0ZBU1RfQVJNT1IoY29udGV4dCk7Cisr CisrICAgIHJldCA9IGtyYjVfY2NfbmV3X3VuaXF1ZShjb250ZXh0LCAiTUVNT1JZIiwgTlVMTCwg JmN0eC0+YXV0b19hcm1vcl9jY2FjaGUpOworKyAgICBpZiAocmV0KQorKyAgICAgICAgZ290byBj bGVhbnVwOworKworKyAgICByZXQgPSBrcmI1X2J1aWxkX3ByaW5jaXBhbF9leHQoY29udGV4dCwg JmFub25fcHJpbmMsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWFsbS0+ bGVuZ3RoLCByZWFsbS0+ZGF0YSwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHN0cmxlbihLUkI1X1dFTExLTk9XTl9OQU1FU1RSKSwKKysgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIEtSQjVfV0VMTEtOT1dOX05BTUVTVFIsCisrICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBzdHJsZW4oS1JCNV9BTk9OWU1PVVNfUFJJTkNTVFIpLAorKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgS1JCNV9BTk9OWU1PVVNfUFJJTkNTVFIsIDAp OworKyAgICBpZiAocmV0KQorKyAgICAgICAgZ290byBjbGVhbnVwOworKyAgICBhbm9uX3ByaW5j LT50eXBlID0gS1JCNV9OVF9XRUxMS05PV047CisrCisrICAgIHJldCA9IGtyYjVfZ2V0X2luaXRf Y3JlZHNfb3B0X2FsbG9jKGNvbnRleHQsICZjdHgtPmF1dG9fYXJtb3Jfb3B0KTsKKysgICAgaWYg KHJldCkKKysgICAgICAgIGdvdG8gY2xlYW51cDsKKysgICAga3JiNV9nZXRfaW5pdF9jcmVkc19v cHRfc2V0X2Fub255bW91cyhjdHgtPmF1dG9fYXJtb3Jfb3B0LCAxKTsKKysgICAga3JiNV9nZXRf aW5pdF9jcmVkc19vcHRfc2V0X3RrdF9saWZlKGN0eC0+YXV0b19hcm1vcl9vcHQsIDYwICogNjAp OworKyAgICByZXQgPSBrcmI1X2dldF9pbml0X2NyZWRzX29wdF9zZXRfb3V0X2NjYWNoZShjb250 ZXh0LCBjdHgtPmF1dG9fYXJtb3Jfb3B0LAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBjdHgtPmF1dG9fYXJtb3JfY2NhY2hlKTsKKysgICAgaWYgKHJl dCkKKysgICAgICAgIGdvdG8gY2xlYW51cDsKKysKKysgICAgcmV0ID0ga3JiNV9pbml0X2NyZWRz X2luaXQoY29udGV4dCwgYW5vbl9wcmluYywgTlVMTCwgTlVMTCwKKysgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgY3R4LT5zdGFydF90aW1lLCBjdHgtPmF1dG9fYXJtb3Jfb3B0LAorKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmY3R4LT5hdXRvX2FybW9yX2N0eCk7CisrICAg IGlmIChyZXQpCisrICAgICAgICBnb3RvIGNsZWFudXA7CisrCisrY2xlYW51cDoKKysgICAga3Ji NV9mcmVlX3ByaW5jaXBhbChjb250ZXh0LCBhbm9uX3ByaW5jKTsKKysgICAgcmV0dXJuIHJldDsK Kyt9CisrCisgLyoqCisgICogVGhyb3cgYXdheSBhbnkgcHJlLWF1dGhlbnRpY2F0aW9uIHJlYWxt IHN0YXRlIGFuZCBiZWdpbiB3aXRoIGEKKyAgKiB1bmF1dGhlbnRpY2F0ZWQgb3Igb3B0aW1pc3Rp Y2FsbHkgYXV0aGVudGljYXRlZCByZXF1ZXN0LiAgSWYgZmFzdF91cGdyYWRlIGlzCitAQCAtODI3 LDcgKzkxMiw3IEBAIHJlc3RhcnRfaW5pdF9jcmVkc19sb29wKGtyYjVfY29udGV4dCBjb250ZXh0 LCBrcmI1X2luaXRfY3JlZHNfY29udGV4dCBjdHgsCisgICAgICAgICBnb3RvIGNsZWFudXA7Cisg CisgICAgIGNvZGUgPSBrcmI1aW50X2Zhc3RfYXNfYXJtb3IoY29udGV4dCwgY3R4LT5mYXN0X3N0 YXRlLCBjdHgtPm9wdCwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdHgtPnJl cXVlc3QpOworKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN0eC0+YXV0b19hcm1v cl9jY2FjaGUsIGN0eC0+cmVxdWVzdCk7CisgICAgIGlmIChjb2RlICE9IDApCisgICAgICAgICBn b3RvIGNsZWFudXA7CisgICAgIC8qIGdpdmUgdGhlIHByZWF1dGggcGx1Z2lucyBhIGNoYW5jZSB0 byBwcmVwIHRoZSByZXF1ZXN0IGJvZHkgKi8KK0BAIC0xMDQzLDYgKzExMjgsMTIgQEAga3JiNV9p bml0X2NyZWRzX2luaXQoa3JiNV9jb250ZXh0IGNvbnRleHQsCisgICAgICAgICBjdHgtPnJlcXVl c3QtPmNsaWVudC0+dHlwZSA9IEtSQjVfTlRfV0VMTEtOT1dOOworICAgICB9CisgCisrICAgIGlm ICh3YW50X2F1dG9fYXJtb3IoY29udGV4dCwgY3R4KSkgeworKyAgICAgICAgY29kZSA9IGJlZ2lu X2F1dG9fYXJtb3IoY29udGV4dCwgY3R4KTsKKysgICAgICAgIGlmIChjb2RlKQorKyAgICAgICAg ICAgIGdvdG8gY2xlYW51cDsKKysgICAgfQorKworICAgICAqcGN0eCA9IGN0eDsKKyAgICAgY3R4 ID0gTlVMTDsKKyAKK0BAIC0xODk0LDcgKzE5ODUsMjMgQEAga3JiNV9pbml0X2NyZWRzX3N0ZXAo a3JiNV9jb250ZXh0IGNvbnRleHQsCisgICAgIGlmIChjb2RlKQorICAgICAgICAgcmV0dXJuIGNv ZGU7CisgCistICAgIGlmIChpbi0+bGVuZ3RoICE9IDApIHsKKysgICAgaWYgKGN0eC0+YXV0b19h cm1vcl9jdHggIT0gTlVMTCkgeworKyAgICAgICAgLyogRHJpdmUgdGhlIG5lc3RlZCBjb250ZXh0 IHRvIGFjcXVpcmUgYW4gYW5vbnltb3VzIFRHVC4gKi8KKysgICAgICAgIGNvZGUgPSBrcmI1X2lu aXRfY3JlZHNfc3RlcChjb250ZXh0LCBjdHgtPmF1dG9fYXJtb3JfY3R4LCBpbiwgb3V0LAorKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlYWxtLCBmbGFncyk7CisrICAgICAg ICBpZiAoY29kZSB8fCAoKmZsYWdzICYgS1JCNV9JTklUX0NSRURTX1NURVBfRkxBR19DT05USU5V RSkpCisrICAgICAgICAgICAgcmV0dXJuIGNvZGU7CisrCisrICAgICAgICAvKiBUaGUgbmVzdGVk IGNvbnRleHQgaXMgY29tcGxldGUuICBEaXNjYXJkIGl0IHRvIHNpZ25hbCB0aGF0IHRoZSBvdXRl cgorKyAgICAgICAgICogc3RhdGUgbWFjaGluZSBzaG91bGQgcHJvY2VlZCB1c2luZyBhdXRvX2Fy bW9yX2NjYWNoZS4gKi8KKysgICAgICAgIGtyYjVfaW5pdF9jcmVkc19mcmVlKGNvbnRleHQsIGN0 eC0+YXV0b19hcm1vcl9jdHgpOworKyAgICAgICAgY3R4LT5hdXRvX2FybW9yX2N0eCA9IE5VTEw7 CisrCisrICAgICAgICAvKiBCZWdpbiB0aGUgYWN0dWFsIEFTIHJlcXVlc3QsIGFzc2VydGluZyB0 aGF0IEZBU1QgaXMgYXZhaWxhYmxlLiAqLworKyAgICAgICAgY29kZSA9IHJlc3RhcnRfaW5pdF9j cmVkc19sb29wKGNvbnRleHQsIGN0eCwgVFJVRSk7CisrICAgICAgICBpZiAoY29kZSkKKysgICAg ICAgICAgICByZXR1cm4gY29kZTsKKysgICAgfSBlbHNlIGlmIChpbi0+bGVuZ3RoICE9IDApIHsK KyAgICAgICAgIGNvZGUgPSBpbml0X2NyZWRzX3N0ZXBfcmVwbHkoY29udGV4dCwgY3R4LCBpbik7 CisgICAgICAgICBpZiAoY29kZSA9PSBLUkI1S1JCX0VSUl9SRVNQT05TRV9UT09fQklHKSB7Cisg ICAgICAgICAgICAgY29kZTIgPSBrcmI1aW50X2NvcHlfZGF0YV9jb250ZW50cyhjb250ZXh0LAor ZGlmZiAtLWdpdCBhL3NyYy9saWIva3JiNS9rcmIvaW5pdF9jcmVkc19jdHguaCBiL3NyYy9saWIv a3JiNS9rcmIvaW5pdF9jcmVkc19jdHguaAoraW5kZXggMTdkNTVkZDdjNC4uNTBiZTcwNzNhNSAx MDA2NDQKKy0tLSBhL3NyYy9saWIva3JiNS9rcmIvaW5pdF9jcmVkc19jdHguaAorKysrIGIvc3Jj L2xpYi9rcmI1L2tyYi9pbml0X2NyZWRzX2N0eC5oCitAQCAtNjUsNiArNjUsMTAgQEAgc3RydWN0 IF9rcmI1X2luaXRfY3JlZHNfY29udGV4dCB7CisgICAgIGtyYjVfYm9vbGVhbiByZXN0YXJ0ZWQ7 CisgICAgIGtyYjVfYm9vbGVhbiBmYWxsYmFja19kaXNhYmxlZDsKKyAgICAga3JiNV9ib29sZWFu IGVuY3RzX2Rpc2FibGVkOworKyAgICAvKiBBdXRvbWF0aWMgRkFTVCBhcm1vciBzdGF0ZSBtYWNo aW5lIGFuZCBtZW1vcnkgY2FjaGUgKi8KKysgICAga3JiNV9pbml0X2NyZWRzX2NvbnRleHQgYXV0 b19hcm1vcl9jdHg7CisrICAgIGtyYjVfZ2V0X2luaXRfY3JlZHNfb3B0ICphdXRvX2FybW9yX29w dDsKKysgICAga3JiNV9jY2FjaGUgYXV0b19hcm1vcl9jY2FjaGU7CisgICAgIHN0cnVjdCBrcmI1 X3Jlc3BvbmRlcl9jb250ZXh0X3N0IHJjdHg7CisgICAgIGtyYjVfcHJlYXV0aHR5cGUgc2VsZWN0 ZWRfcHJlYXV0aF90eXBlOworICAgICBrcmI1X3ByZWF1dGh0eXBlIGFsbG93ZWRfcHJlYXV0aF90 eXBlOworZGlmZiAtLWdpdCBhL3NyYy90ZXN0cy9nc3NhcGkvdF9nc3NhcGkucHkgYi9zcmMvdGVz dHMvZ3NzYXBpL3RfZ3NzYXBpLnB5CitpbmRleCAxNDlmNDZkNWM5Li4xOGExMmQ1NmJiIDEwMDc1 NQorLS0tIGEvc3JjL3Rlc3RzL2dzc2FwaS90X2dzc2FwaS5weQorKysrIGIvc3JjL3Rlc3RzL2dz c2FwaS90X2dzc2FwaS5weQorQEAgLTI1NSw0ICsyNTUsMjIgQEAgY2hlY2tfbGlmZXRpbWUoJ2Fj dHggZ3NzX2FjY2VwdF9zZWNfY29udGV4dCcsIGxuWzddLCA4MDAwICogODY0MDAgKyAzMDApCisg Y2hlY2tfbGlmZXRpbWUoJ2FjdHggZ3NzX2lucXVpcmVfY29udGV4dCcsIGxuWzhdLCA4MDAwICog ODY0MDAgKyAzMDApCisgY2hlY2tfbGlmZXRpbWUoJ2FjdHggZ3NzX2NvbnRleHRfdGltZScsIGxu WzldLCA4MDAwICogODY0MDAgKyAzMDApCisgCisrcmVhbG0uc3RvcCgpCisrCisrIyBUZXN0IGF1 dG9fZmFzdF9hcm1vciB3aXRoIElBS0VSQiBkcml2aW5nIHRoZSBzdGF0ZSBtYWNoaW5lLgorK2lm IHBraW5pdF9lbmFibGVkOgorKyAgICBtYXJrKCdJQUtFUkIgd2l0aCBhdXRvX2Zhc3RfYXJtb3In KQorKyAgICBhZmFfY29uZiA9IHsncmVhbG1zJzogeyckcmVhbG0nOiB7J2F1dG9fZmFzdF9hcm1v cic6ICd0cnVlJ319fQorKyAgICByZWFsbSA9IEs1UmVhbG0oa3JiNV9jb25mPWFmYV9jb25mLCBn ZXRfY3JlZHM9RmFsc2UsIHBraW5pdD1UcnVlKQorKyAgICByZWFsbS5ydW4oW2thZG1pbmwsICdt b2RwcmluYycsICcrcHJlYXV0aCcsIHJlYWxtLnVzZXJfcHJpbmNdKQorKyAgICByZWFsbS5hZGRw cmluYygnV0VMTEtOT1dOL0FOT05ZTU9VUycpCisrICAgIG1zZ3MgPSAoJ0FjcXVpcmluZyBhbm9u eW1vdXMgUEtJTklUIGFybW9yIHRpY2tldCBmb3IgRkFTVCcsCisrICAgICAgICAgICAgJ0dldHRp bmcgaW5pdGlhbCBjcmVkZW50aWFscyBmb3IgV0VMTEtOT1dOL0FOT05ZTU9VUycsCisrICAgICAg ICAgICAgJ1VzaW5nIEZBU1QgZHVlIHRvIGFybW9yIGNjYWNoZSBuZWdvdGlhdGlvbiByZXN1bHQn LAorKyAgICAgICAgICAgICdQcmVhdXRoIG1vZHVsZSBlbmNyeXB0ZWRfY2hhbGxlbmdlICgxMzgp IChyZWFsKSByZXR1cm5lZDogMCcpCisrICAgIHJlYWxtLnJ1bihbJy4vdF9pYWtlcmInLCAncDon ICsgcmVhbG0udXNlcl9wcmluYywgcGFzc3dvcmQoJ3VzZXInKSwKKysgICAgICAgICAgICAgICAn aDpob3N0QCcgKyBob3N0bmFtZSwgJ2g6aG9zdCddLCBleHBlY3RlZF90cmFjZT1tc2dzKQorK2Vs c2U6CisrICAgIHByaW50KCdTa2lwcGluZyBJQUtFUkIgYXV0b19mYXN0X2FybW9yIHRlc3Q6IFBL SU5JVCBub3QgYnVpbHQnKQorKworIHN1Y2Nlc3MoJ0dTU0FQSSB0ZXN0cycpCitkaWZmIC0tZ2l0 IGEvc3JjL3Rlc3RzL3RfcGtpbml0LnB5IGIvc3JjL3Rlc3RzL3RfcGtpbml0LnB5CitpbmRleCA5 MWQ0NjMwYTBhLi4wYjZjMDM4MmNhIDEwMDc1NQorLS0tIGEvc3JjL3Rlc3RzL3RfcGtpbml0LnB5 CisrKysgYi9zcmMvdGVzdHMvdF9wa2luaXQucHkKK0BAIC0xMDUsMTAgKzEwNSw2IEBAIHJlYWxt Lmtpbml0KHJlYWxtLnVzZXJfcHJpbmMsIHBhc3N3b3JkPXBhc3N3b3JkKCd1c2VyJykpCisgcmVh bG0ua2xpc3QocmVhbG0udXNlcl9wcmluYykKKyByZWFsbS5ydW4oW2t2bm8sIHJlYWxtLmhvc3Rf cHJpbmNdKQorIAorLSMgSGF2aW5nIHRlc3RlZCBwYXNzd29yZCBwcmVhdXRoLCByZW1vdmUgdGhl IGtleXMgZm9yIGJldHRlciBlcnJvcgorLSMgcmVwb3J0aW5nLgorLXJlYWxtLnJ1bihba2FkbWlu bCwgJ3B1cmdla2V5cycsICctYWxsJywgcmVhbG0udXNlcl9wcmluY10pCistCisgIyBUZXN0IGFu b255bW91cyBQS0lOSVQuCisgbWFyaygnYW5vbnltb3VzJykKKyByZWFsbS5raW5pdCgnQCVzJyAl IHJlYWxtLnJlYWxtLCBmbGFncz1bJy1uJ10sIGV4cGVjdGVkX2NvZGU9MSwKK0BAIC0xMjQsNiAr MTIwLDI5IEBAIGlmICc5NzonIGluIG91dDoKKyByZWFsbS5ydW4oW2tsaXN0LCAnLUMnXSwgZXhw ZWN0ZWRfbXNnPSdzdGFydF9yZWFsbSA9IEtSQlRFU1QuQ09NJykKKyByZWFsbS5ydW4oW2t2bm8s ICctUycsICdob3N0JywgaG9zdG5hbWVdKQorIAorKyMgVGVzdCBhdXRvX2Zhc3RfYXJtb3IuCisr bWFyaygnYXV0b19mYXN0X2FybW9yJykKKythZmFfY29uZiA9IHsncmVhbG1zJzogeyckcmVhbG0n OiB7J2F1dG9fZmFzdF9hcm1vcic6ICd0cnVlJ319fQorK2FmYV9lbnYgPSByZWFsbS5zcGVjaWFs X2VudignYXV0b19mYXN0JywgRmFsc2UsIGtyYjVfY29uZj1hZmFfY29uZikKKyttc2dzID0gKCdB Y3F1aXJpbmcgYW5vbnltb3VzIFBLSU5JVCBhcm1vciB0aWNrZXQgZm9yIEZBU1QnLAorKyAgICAg ICAgJ0dldHRpbmcgaW5pdGlhbCBjcmVkZW50aWFscyBmb3IgV0VMTEtOT1dOL0FOT05ZTU9VU0Al cycgJSByZWFsbS5yZWFsbSwKKysgICAgICAgICdVc2luZyBGQVNUIGR1ZSB0byBhcm1vciBjY2Fj aGUgbmVnb3RpYXRpb24gcmVzdWx0JywKKysgICAgICAgICdQcmVhdXRoIG1vZHVsZSBlbmNyeXB0 ZWRfY2hhbGxlbmdlICgxMzgpIChyZWFsKSByZXR1cm5lZDogMC9TdWNjZXNzJykKKytyZWFsbS5r aW5pdChyZWFsbS51c2VyX3ByaW5jLCBwYXNzd29yZD1wYXNzd29yZCgndXNlcicpLCBlbnY9YWZh X2VudiwKKysgICAgICAgICAgICBleHBlY3RlZF90cmFjZT1tc2dzKQorK3JlYWxtLmtsaXN0KHJl YWxtLnVzZXJfcHJpbmMpCisrCisrIyBhdXRvX2Zhc3RfYXJtb3Igc2hvdWxkbid0IHRyaWdnZXIg Zm9yIGRpcmVjdCB1c2Ugb2YgYW5vbnltb3VzIFBLSU5JVC4KKyttYXJrKCdhbm9ueW1vdXMgKGF1 dG9fZmFzdF9hcm1vcj10cnVlKScpCisrb3V0LCB0cmFjZSA9IHJlYWxtLmtpbml0KCdAJXMnICUg cmVhbG0ucmVhbG0sIGZsYWdzPVsnLW4nXSwgZW52PWFmYV9lbnYsCisrICAgICAgICAgICAgICAg ICAgICAgICAgIHJldHVybl90cmFjZT1UcnVlKQorK2lmICdBY3F1aXJpbmcgYW5vbnltb3VzIFBL SU5JVCBhcm1vciB0aWNrZXQgZm9yIEZBU1QnIGluIHRyYWNlOgorKyAgICBmYWlsKCdhdXRvX2Zh c3RfYXJtb3IgaW1wcm9wZXJseSB0cmlnZ2VyZWQgZm9yIGFub255bW91cyBraW5pdCcpCisrCisr IyBGb3IgdGhlIHJlbWFpbmluZyB0ZXN0cyBpbiB0aGlzIHJlYWxtLCByZW1vdmUgdGhlIGtleXMg b24gdXNlciBmb3IKKysjIGJldHRlciBlcnJvciByZXBvcnRpbmcgKGJ5IHByZXZlbnRpbmcgZW5j cnlwdGVkIHRpbWVzdGFtcCBmYWxsYmFjaykuCisrcmVhbG0ucnVuKFtrYWRtaW5sLCAncHVyZ2Vr ZXlzJywgJy1hbGwnLCByZWFsbS51c2VyX3ByaW5jXSkKKysKKyAjIFRlc3QgYW5vbnltb3VzIGth ZG1pbi4KKyBtYXJrKCdhbm9ueW1vdXMga2FkbWluJykKKyBmID0gb3Blbihvcy5wYXRoLmpvaW4o cmVhbG0udGVzdGRpciwgJ2FjbCcpLCAnYScpCistLSAKKzIuNTUuMAorCisKK0Zyb20gOGZhZGMw OGYwNzE5ZTQ1ZjU3ZmY2MzkxODAyYjM4YmMxNjFjMzA2MyBNb24gU2VwIDE3IDAwOjAwOjAwIDIw MDEKK0Zyb206IEFsZXhhbmRlciBCb2tvdm95IDxhYm9rb3ZveUByZWRoYXQuY29tPgorRGF0ZTog RnJpLCAyNyBNYXIgMjAyNiAxMzo0ODo1OSArMDIwMAorU3ViamVjdDogW1BBVENIIDI4LzI4XSBS ZWxheCBnc3NfaW5pdF9zZWNfY29udGV4dCgpIHByb3h5IHNlbGYgY2hlY2sKKworSWYgdGhlIGty YjUgZ3NzX2luaXRfc2VjX2NvbnRleHQoKSBkZXRlY3RzIGEgcHJveHkgY2NhY2hlLCB3ZSBjaGVj ayBpbgorZ2V0X2NyZWRlbnRpYWxzKCkgd2hldGhlciB0aGUgcmVxdWVzdGVkIHNlcnZlciBwcmlu Y2lwYWwgbWF0Y2hlcyB0aGUKK2NhY2hlJ3MgaW1wZXJzb25hdG9yIHByaW5jaXBhbC4gIEZvciBh IGhvc3QtYmFzZWQgc2VydmVyIG5hbWUsIHRoaXMKK21hdGNoIHdpbGwgZmFpbCBpZiBrcmI1X3Nu YW1lX3RvX3ByaW5jaXBhbCgpIHlpZWxkZWQgYW4gZW1wdHkgcmVhbG0sCithcyBpdCBkb2VzIGlu IG1vc3QgY29uZmlndXJhdGlvbnMuCisKK0FzIGhvc3QtYmFzZWQgcHJpbmNpcGFscyBnZW5lcmFs bHkgb25seSBleGlzdCBpbiBvbmUgcmVhbG0gZm9yIGEgZ2l2ZW4KK0ZRRE4sIHdlIGNhbiBpZ25v cmUgdGhlIHJlYWxtIGZvciB0aGlzIGNvbXBhcmlzb24gd2hlbiB0aGUgc2VydmVyIG5hbWUKK2lz IGhvc3QtYmFzZWQuCisKK1tnaHVkc29uQG1pdC5lZHU6IHJld3JvdGUgY29tbWVudCBhbmQgY29t bWl0IG1lc3NhZ2U7IGFkanVzdGVkIGNvZGUgdG8KK3VzZSBrcmI1X3ByaW5jaXBhbF9jb21wYXJl X2ZsYWdzKCldCisKK3RpY2tldDogOTIyNSAobmV3KQorKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21t aXQgNDczYjUxYjY0MGJlZjJlOTdjNDkwZDZmMjk4NTY1OGJlZmE4OWMxNikKKy0tLQorIHNyYy9s aWIvZ3NzYXBpL2tyYjUvaW5pdF9zZWNfY29udGV4dC5jIHwgMTcgKysrKysrKysrKysrLS0tLS0K KyAxIGZpbGUgY2hhbmdlZCwgMTIgaW5zZXJ0aW9ucygrKSwgNSBkZWxldGlvbnMoLSkKKworZGlm ZiAtLWdpdCBhL3NyYy9saWIvZ3NzYXBpL2tyYjUvaW5pdF9zZWNfY29udGV4dC5jIGIvc3JjL2xp Yi9nc3NhcGkva3JiNS9pbml0X3NlY19jb250ZXh0LmMKK2luZGV4IDI3MDExZDBjOTkuLjIwOGQ0 ZWVmZDIgMTAwNjQ0CistLS0gYS9zcmMvbGliL2dzc2FwaS9rcmI1L2luaXRfc2VjX2NvbnRleHQu YworKysrIGIvc3JjL2xpYi9nc3NhcGkva3JiNS9pbml0X3NlY19jb250ZXh0LmMKK0BAIC0xMjQs NyArMTI0LDcgQEAgZ2V0X2NyZWRlbnRpYWxzKGtyYjVfY29udGV4dCBjb250ZXh0LCBrcmI1X2dz c19jcmVkX2lkX3QgY3JlZCwKKyB7CisgICAgIGtyYjVfZXJyb3JfY29kZSAgICAgY29kZTsKKyAg ICAga3JiNV9jcmVkcyAgICAgICAgICBpbl9jcmVkcywgZXZpZGVuY2VfY3JlZHMsIG1jcmVkcywg KnJlc3VsdF9jcmVkcyA9IE5VTEw7CistICAgIGtyYjVfZmxhZ3MgICAgICAgICAgZmxhZ3MgPSAw OworKyAgICBrcmI1X2ZsYWdzICAgICAgICAgIGZsYWdzID0gMCwgY21wZmxhZyA9IDA7CisgICAg IGtyYjVfcHJpbmNpcGFsX2RhdGEgc2VydmVyX2RhdGE7CisgCisgICAgICpvdXRfY3JlZHMgPSBO VUxMOworQEAgLTE2MywxMCArMTYzLDE3IEBAIGdldF9jcmVkZW50aWFscyhrcmI1X2NvbnRleHQg Y29udGV4dCwga3JiNV9nc3NfY3JlZF9pZF90IGNyZWQsCisgCisgICAgIC8qIFRyeSBjb25zdHJh aW5lZCBkZWxlZ2F0aW9uIGlmIHdlIGhhdmUgcHJveHkgY3JlZGVudGlhbHMuICovCisgICAgIGlm IChjcmVkLT5pbXBlcnNvbmF0b3IgIT0gTlVMTCkgeworLSAgICAgICAgLyogSWYgd2UgYXJlIHRy eWluZyB0byBnZXQgYSB0aWNrZXQgdG8gb3Vyc2VsdmVzLCB3ZSBzaG91bGQgdXNlIHRoZQorLSAg ICAgICAgICogdGhlIGV2aWRlbmNlIHRpY2tldCBkaXJlY3RseSBmcm9tIGNhY2hlLiAqLworLSAg ICAgICAgaWYgKGtyYjVfcHJpbmNpcGFsX2NvbXBhcmUoY29udGV4dCwgY3JlZC0+aW1wZXJzb25h dG9yLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VydmVyLT5wcmluYykp IHsKKysgICAgICAgIC8qCisrICAgICAgICAgKiBJZiB3ZSBhcmUgdHJ5aW5nIHRvIGdldCBhIHRp Y2tldCB0byB0aGUgaW1wZXJzb25hdG9yLCB3ZSBzaG91bGQgdXNlCisrICAgICAgICAgKiB0aGUg dGhlIGV2aWRlbmNlIHRpY2tldCBkaXJlY3RseSBmcm9tIHRoZSBjYWNoZS4gIElmIHRoZSBzZXJ2 ZXIgbmFtZQorKyAgICAgICAgICogaXMgaG9zdC1iYXNlZCwgaWdub3JlIHRoZSByZWFsbSBmb3Ig dGhpcyBjb21wYXJpc29uOworKyAgICAgICAgICoga3JiNV9zbmFtZV90b19wcmluY2lwYWwoKSBw cm9iYWJseSB5aWVsZGVkIGFuIGVtcHR5IHJlYWxtLCBhbmQKKysgICAgICAgICAqIGhvc3QtYmFz ZWQgcHJpbmNpcGFscyBnZW5lcmFsbHkgb25seSBleGlzdCBpbiBvbmUgcmVhbG0uCisrICAgICAg ICAgKi8KKysgICAgICAgIGlmIChzZXJ2ZXItPnByaW5jLT50eXBlID09IEtSQjVfTlRfU1JWX0hT VCkKKysgICAgICAgICAgICBjbXBmbGFnID0gS1JCNV9QUklOQ0lQQUxfQ09NUEFSRV9JR05PUkVf UkVBTE07CisrICAgICAgICBpZiAoa3JiNV9wcmluY2lwYWxfY29tcGFyZV9mbGFncyhjb250ZXh0 LCBjcmVkLT5pbXBlcnNvbmF0b3IsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBzZXJ2ZXItPnByaW5jLCBjbXBmbGFnKSkgeworICAgICAgICAgICAgIGZsYWdzIHw9 IEtSQjVfR0NfQ0FDSEVEOworICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICBtZW1zZXQo Jm1jcmVkcywgMCwgc2l6ZW9mKG1jcmVkcykpOworLS0gCisyLjU1LjAKIAo=