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: Rex Dieter To: git-commits@fedoraproject.org Subject: [rpms/amarok] epel10: pul in more upstream fixes Date: Mon, 06 Jul 2026 18:05:34 GMT Message-ID: <178336113404.1.16534222718531776016.rpms-amarok-631dbbb88c7f@fedoraproject.org> List-ID: X-Git-Repo: rpms/amarok X-Git-Branch: epel10 X-Git-Rev: 631dbbb88c7fd76f069c9183ee7dcd6c06b84692 QSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KClJlcG8gICA6IHJwbXMvYW1hcm9rCkJyYW5j aCA6IGVwZWwxMApDb21taXQgOiA2MzFkYmJiODhjN2ZkNzZmMDY5YzkxODNlZTdkY2Q2YzA2Yjg0 NjkyCkF1dGhvciA6IFJleCBEaWV0ZXIgPHJkaWV0ZXJAbWF0aC51bmwuZWR1PgpEYXRlICAgOiAy MDE3LTA0LTAzVDExOjQ4OjEyLTA1OjAwClN0YXRzICA6ICsxMDg1Ly0yMyBpbiAxMiBmaWxlKHMp ClVSTCAgICA6IGh0dHBzOi8vc3JjLmZlZG9yYXByb2plY3Qub3JnL3JwbXMvYW1hcm9rL2MvNjMx ZGJiYjg4YzdmZDc2ZjA2OWM5MTgzZWU3ZGNkNmMwNmI4NDY5Mj9icmFuY2g9ZXBlbDEwCgpMb2c6 CnB1bCBpbiBtb3JlIHVwc3RyZWFtIGZpeGVzCgotLS0KZGlmZiAtLWdpdCBhLzAwMjctT3JnYW5p emUtdHJhY2tzLUd1ZXNzLXRhZ3MtcHJlc2V0cy1wZXJzaXN0ZWQtcHJvcGVybC5wYXRjaCBiLzAw MjctT3JnYW5pemUtdHJhY2tzLUd1ZXNzLXRhZ3MtcHJlc2V0cy1wZXJzaXN0ZWQtcHJvcGVybC5w YXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jODRlZjUxCi0tLSAvZGV2 L251bGwKKysrIGIvMDAyNy1Pcmdhbml6ZS10cmFja3MtR3Vlc3MtdGFncy1wcmVzZXRzLXBlcnNp c3RlZC1wcm9wZXJsLnBhdGNoCkBAIC0wLDAgKzEsMzgzIEBACitGcm9tIDBlNzYwZTVmOGQwNmQw MGUwODRjMTRiNjQ4NzVmNThiYjQyYmQ4ZjEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9t OiBTdGVmYW5vIFBldHRpbmkgPHN0ZWZhbm8ucGV0dGluaUBnbWFpbC5jb20+CitEYXRlOiBTdW4s IDMxIEp1bCAyMDE2IDIyOjMyOjExICswMjAwCitTdWJqZWN0OiBbUEFUQ0ggMjcvNDddIE9yZ2Fu aXplIHRyYWNrcyAvIEd1ZXNzIHRhZ3MgcHJlc2V0cyBwZXJzaXN0ZWQKKyBwcm9wZXJseS4KKwor RmlsZW5hbWVMYXlvdXRXaWRnZXQgaXMgcmV3b3JrZWQgdG8gZml4IGFuIG9sZCBidWcgcmVnYXJk aW5nIHRoZSBwcmVzZXRzCitub3QgYmVpbmcgc2F2ZWQgcHJvcGVybHksIHRoYXQgSSB3YXMgYWxz byBhYmxlIHRvIHJlcHJvZHVjZS4KKworTG9naWMgaXMgbm90IGEgYml0IG1vcmUgImxpbmVhciIu IFByZXNldHMgYXJlIHNoYXJlZCBiZXR3ZWVuICJPcmdhbml6ZSB0cmFja3MiCithbmQgIkd1ZXNz IHRhZ3MiIGRpYWxvZy4gSWYgdGhpcyBpcyBub3Qgd2hhdCBpcyB3YW50ZWQsIGl0IGNhbiBiZSBl YXNpbHkgY2hhbmdlZCwKK2p1c3QgbGV0IG1lIGtub3cuIFByZXNldHMgYXJlIHNhdmVkIGFzIHNv b24gYXMgdGhleSBhcmUgYWRkZWQsIHVwZGF0ZWQgb3IgZGVsZXRlZC4KK0l0IGlzIG5vdCBhbnlt b3JlIG5lY2Vzc2FyeSB0byBhY2NlcHQgdGhlIGRpYWxvZyB0byBzYXZlIGV2ZW50dWFsIGNoYW5n ZXMuCisKK1RoZSBwcmVzZXQgdXNlZCBpcyBub3Qgc2F2ZWQgd2l0aCB0aGUgbWFya2VyICIjREVM SU0jc2VsZWN0ZWQiIGFueW1vcmUuCitQcmVzZXRzIGFyZSBqdXN0IHByZXNldHMuIFRoZSBvbmUg dXNlZCBpcyBtYXRjaGVkIG9uIHRoZSBmbHkgdXNpbmcgdGhlIGN1c3RvbQorcHJlc2V0IGZpZWxk LiBJZiBhIHByZXNldCBtYXRjaGVzIHRoZSBjdXN0b20gcHJlc2V0IGZpZWxkLCBpdCdzIGNvbnNp ZGVyZWQKK3NlbGVjdGVkLiBVc2VycyBjYW4gb2YgY291cnNlIGNyZWF0ZSBjdXN0b20gcHJlc2V0 cyBhcyBiZWZvcmUuCitXaGlsZSBwcmVzZXRzIGFyZSBzaGFyZWQgYmV0d2VlbiB0aGUgdHdvIGRp YWxvZ3MsIGN1c3RvbSBwcmVzZXRzIGFyZSBub3QuCisKK0FkZC9VcGRhdGUvUmVtb3ZlIHdvcmsg cHJvcGVybHkuIENsaWNraW5nIG9uIGEgcHJlc2V0IG5hbWUgaW4gdGhlIGNvbWJvYm94CityZXNl dHMgdGhlIGN1c3RvbSBwYXR0ZXJuIHRvIHRoZSBwcmVzZXQgdmFsdWUsIHRoaXMgaXMgYSBuZXcg ZmVhdHVyZSwKK2JlZm9yZSBpdCB3YXMgbm90IHBvc3NpYmxlLgorCitJdCdzIGEgYml0IGRpZmZp Y3VsdCB0byBleHBsYWluLCBidXQgVVggaXMgbW9yZSBuYXR1cmFsLCBqdXN0IGdpdmUgaXQgYSB0 cnkuCisKK0EgbG90IG9mIHRlc3Rpbmcgd2FzIGRvbmUgKGJ5IFN0ZWZhbm8pLCBsaWtlOgorLSBh ZGRpbmcvdXBkYXRpbmcvcmVtb3ZpbmcgcHJlc2V0cy4KKy0gaWYgc2V0dGluZ3MgYXJlIHBlcnNp c3RlZCBhbmQgc2hhcmVkIHdoZW4gZGlhbG9ncyBhcmUgY2FuY2VsbGVkIG9yIGFjY2VwdGVkLgor LSBpZiBjdXN0b20gcGF0dGVybnMgYXJlIHBlcnNpc3RlZCBhbmQgbm90IHNoYXJlZC4KKy0gcmVz ZXR0aW5nIGEgbW9kaWZpZWQgcGF0dGVybiB0byBpdHMgZGVmdWFsdC4KKy0gY2FuY2VsbGluZyBk aWFsb2dzLCBtb2RpZmllZCBwcmVzZXRzIGFyZSBrZXB0IGJ1dCBjdXN0b20gcGF0dGVybnMgYXJl IG5vdC4KKworUkVWSUVXOiAxMjg1NjUKK0JVRzogMjI2MTQ0CistLS0KKyBDaGFuZ2VMb2cgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICA0ICstCisgc3JjL2FtYXJva2NvbmZpZy5r Y2ZnICAgICAgICAgICAgICAgICAgICB8ICAgMiArLQorIHNyYy9kaWFsb2dzL09yZ2FuaXplQ29s bGVjdGlvbkRpYWxvZy5jcHAgfCAgIDUgLS0KKyBzcmMvZGlhbG9ncy9Pcmdhbml6ZUNvbGxlY3Rp b25EaWFsb2cuaCAgIHwgICAyIC0KKyBzcmMvd2lkZ2V0cy9GaWxlbmFtZUxheW91dFdpZGdldC5j cHAgICAgIHwgMTAyICsrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0KKyBzcmMvd2lkZ2V0 cy9GaWxlbmFtZUxheW91dFdpZGdldC5oICAgICAgIHwgIDEwICsrLQorIDYgZmlsZXMgY2hhbmdl ZCwgNjEgaW5zZXJ0aW9ucygrKSwgNjQgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9zcmMv YW1hcm9rY29uZmlnLmtjZmcgYi9zcmMvYW1hcm9rY29uZmlnLmtjZmcKK2luZGV4IGMzNTE0MGMu LmI0MWNhNWIgMTAwNjQ0CistLS0gYS9zcmMvYW1hcm9rY29uZmlnLmtjZmcKKysrKyBiL3NyYy9h bWFyb2tjb25maWcua2NmZworQEAgLTE4Myw3ICsxODMsNyBAQAorICAgICA8ZW50cnkga2V5PSJG b3JtYXQgUHJlc2V0cyIgdHlwZT0iU3RyaW5nTGlzdCI+CisgICAgICAgICA8bGFiZWw+Rm9ybWF0 IFByZXNldHM8L2xhYmVsPgorICAgICAgICAgPHdoYXRzdGhpcz5BIGxpc3Qgb2YgcHJlc2V0IGZv cm1hdHMgKHRva2VuIHNjaGVtYXMpLjwvd2hhdHN0aGlzPgorLSAgICAgICAgPGRlZmF1bHQ+RGVm YXVsdCNERUxJTSMlYXJ0aXN0JS8lYWxidW0lLyV0cmFjayVfLV8ldGl0bGUlI0RFTElNI3NlbGVj dGVkPC9kZWZhdWx0PgorKyAgICAgICAgPGRlZmF1bHQ+RGVmYXVsdCNERUxJTSMlYXJ0aXN0JS8l YWxidW0lLyV0cmFjayVfLV8ldGl0bGUlPC9kZWZhdWx0PgorICAgICA8L2VudHJ5PgorIDwvZ3Jv dXA+CisgCitkaWZmIC0tZ2l0IGEvc3JjL2RpYWxvZ3MvT3JnYW5pemVDb2xsZWN0aW9uRGlhbG9n LmNwcCBiL3NyYy9kaWFsb2dzL09yZ2FuaXplQ29sbGVjdGlvbkRpYWxvZy5jcHAKK2luZGV4IDk3 M2U5Y2IuLmZmZWFiYzkgMTAwNjQ0CistLS0gYS9zcmMvZGlhbG9ncy9Pcmdhbml6ZUNvbGxlY3Rp b25EaWFsb2cuY3BwCisrKysgYi9zcmMvZGlhbG9ncy9Pcmdhbml6ZUNvbGxlY3Rpb25EaWFsb2cu Y3BwCitAQCAtMTM5LDggKzEzOSw2IEBAIE9yZ2FuaXplQ29sbGVjdGlvbkRpYWxvZzo6T3JnYW5p emVDb2xsZWN0aW9uRGlhbG9nKCBjb25zdCBNZXRhOjpUcmFja0xpc3QgJnRyYWNrCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFFGbGFnczxLRGlh bG9nOjpCdXR0b25Db2RlPiBidXR0b25NYXNrICkKKyAgICAgOiBLRGlhbG9nKCBwYXJlbnQgKQor ICAgICAsIHVpKCBuZXcgVWk6Ok9yZ2FuaXplQ29sbGVjdGlvbkRpYWxvZ0Jhc2UgKQorLSAgICAs IG1fZGV0YWlsZWQoIHRydWUgKQorLSAgICAsIG1fc2NoZW1lTW9kaWZpZWQoIGZhbHNlICkKKyAg ICAgLCBtX2NvbmZsaWN0KCBmYWxzZSApCisgeworICAgICBRX1VOVVNFRCggbmFtZSApCitAQCAt MTk2LDcgKzE5NCw2IEBAIE9yZ2FuaXplQ29sbGVjdGlvbkRpYWxvZzo6T3JnYW5pemVDb2xsZWN0 aW9uRGlhbG9nKCBjb25zdCBNZXRhOjpUcmFja0xpc3QgJnRyYWNrCisgICAgIC8vIHRvIHNob3cg dGhlIGNvbmZsaWN0IGVycm9yCisgICAgIGNvbm5lY3QoIHVpLT5vdmVyd3JpdGVDaGVjaywgU0lH TkFMKHN0YXRlQ2hhbmdlZChpbnQpKSwgU0xPVChzbG90T3ZlcndyaXRlTW9kZUNoYW5nZWQoKSkg KTsKKyAKKy0gICAgY29ubmVjdCggdGhpcywgU0lHTkFMKGZpbmlzaGVkKGludCkpLCB1aS0+b3Jn YW5pemVDb2xsZWN0aW9uV2lkZ2V0LCBTTE9UKHNsb3RTYXZlRm9ybWF0TGlzdCgpKSApOworICAg ICBjb25uZWN0KCB0aGlzLCBTSUdOQUwoYWNjZXB0ZWQoKSksIHVpLT5vcmdhbml6ZUNvbGxlY3Rp b25XaWRnZXQsIFNMT1Qob25BY2NlcHQoKSkgKTsKKyAgICAgY29ubmVjdCggdGhpcywgU0lHTkFM KGFjY2VwdGVkKCkpLCBTTE9UKHNsb3REaWFsb2dBY2NlcHRlZCgpKSApOworICAgICBjb25uZWN0 KCB1aS0+Zm9sZGVyQ29tYm8sIFNJR05BTChjdXJyZW50SW5kZXhDaGFuZ2VkKFFTdHJpbmcpKSwK K0BAIC0zOTcsOCArMzk0LDYgQEAgT3JnYW5pemVDb2xsZWN0aW9uRGlhbG9nOjpzbG90RGlhbG9n QWNjZXB0ZWQoKQorICAgICBBbWFyb2tDb25maWc6OnNldEFzY2lpT25seSggdWktPm9wdGlvbnNX aWRnZXQtPmFzY2lpT25seSgpICk7CisgICAgIEFtYXJva0NvbmZpZzo6c2V0UmVwbGFjZW1lbnRS ZWdleHAoIHVpLT5vcHRpb25zV2lkZ2V0LT5yZWdleHBUZXh0KCkgKTsKKyAgICAgQW1hcm9rQ29u ZmlnOjpzZXRSZXBsYWNlbWVudFN0cmluZyggdWktPm9wdGlvbnNXaWRnZXQtPnJlcGxhY2VUZXh0 KCkgKTsKKy0KKy0gICAgdWktPm9yZ2FuaXplQ29sbGVjdGlvbldpZGdldC0+b25BY2NlcHQoKTsK KyB9CisgCisgLy9UaGUgT2sgYnV0dG9uIHNob3VsZCBiZSBkaXNhYmxlZCB3aGVuIHRoZXJlJ3Mg bm8gY29sbGVjdGlvbiByb290IHNlbGVjdGVkLCBhbmQgd2hlbiB0aGVyZSBpcyBubyAuJWZpbGV0 eXBlIGluIGZvcm1hdCBzdHJpbmcKK2RpZmYgLS1naXQgYS9zcmMvZGlhbG9ncy9Pcmdhbml6ZUNv bGxlY3Rpb25EaWFsb2cuaCBiL3NyYy9kaWFsb2dzL09yZ2FuaXplQ29sbGVjdGlvbkRpYWxvZy5o CitpbmRleCA4OGZhMDhkLi44ZDU3ZjRhIDEwMDY0NAorLS0tIGEvc3JjL2RpYWxvZ3MvT3JnYW5p emVDb2xsZWN0aW9uRGlhbG9nLmgKKysrKyBiL3NyYy9kaWFsb2dzL09yZ2FuaXplQ29sbGVjdGlv bkRpYWxvZy5oCitAQCAtMTE2LDEwICsxMTYsOCBAQCBjbGFzcyBBTUFST0tfRVhQT1JUIE9yZ2Fu aXplQ29sbGVjdGlvbkRpYWxvZyA6IHB1YmxpYyBLRGlhbG9nCisgICAgICAgICBVaTo6T3JnYW5p emVDb2xsZWN0aW9uRGlhbG9nQmFzZSAqdWk7CisgCisgICAgICAgICBUcmFja09yZ2FuaXplciAq bV90cmFja09yZ2FuaXplcjsKKy0gICAgICAgIGJvb2wgbV9kZXRhaWxlZDsKKyAgICAgICAgIE1l dGE6OlRyYWNrTGlzdCBtX2FsbFRyYWNrczsKKyAgICAgICAgIFFTdHJpbmcgbV90YXJnZXRGaWxl RXh0ZW5zaW9uOworLSAgICAgICAgYm9vbCBtX3NjaGVtZU1vZGlmaWVkOworIAorICAgICAgICAg UVN0cmluZ0xpc3QgbV9vcmlnaW5hbHM7CisgICAgICAgICBRU3RyaW5nTGlzdCBtX3ByZXZpZXdz OworZGlmZiAtLWdpdCBhL3NyYy93aWRnZXRzL0ZpbGVuYW1lTGF5b3V0V2lkZ2V0LmNwcCBiL3Ny Yy93aWRnZXRzL0ZpbGVuYW1lTGF5b3V0V2lkZ2V0LmNwcAoraW5kZXggOGQxODljZi4uNmQwMTc0 MyAxMDA2NDQKKy0tLSBhL3NyYy93aWRnZXRzL0ZpbGVuYW1lTGF5b3V0V2lkZ2V0LmNwcAorKysr IGIvc3JjL3dpZGdldHMvRmlsZW5hbWVMYXlvdXRXaWRnZXQuY3BwCitAQCAtOTAsMTQgKzkwLDE1 IEBAIEZpbGVuYW1lTGF5b3V0V2lkZ2V0OjpGaWxlbmFtZUxheW91dFdpZGdldCggUVdpZGdldCAq cGFyZW50ICkKKyAKKyAgICAgLy8gLSB0aGUgcHJlc2V0IGJ1dHRvbnMKKyAgICAgbV9hZGRQcmVz ZXRCdXR0b24gPSBuZXcgUVB1c2hCdXR0b24oIGkxOG4oIkFkZCBwcmVzZXQiKSwgdGhpcyApOwor LSAgICBtX2FkZFByZXNldEJ1dHRvbi0+c2V0VG9vbFRpcCggaTE4bigiU2F2ZXMgdGhlIGN1cnJl bnQgc2NoZW1lL2Zvcm1hdCBhYm92ZSBhcyBhIHByZXNldC4iKSApOworKyAgICBtX2FkZFByZXNl dEJ1dHRvbi0+c2V0VG9vbFRpcCggaTE4bigiU2F2ZXMgdGhlIGN1cnJlbnQgc2NoZW1lL2Zvcm1h dCBhcyBuZXcgcHJlc2V0LiIpICk7CisgICAgIHByZXNldExheW91dDEtPmFkZFdpZGdldCggbV9h ZGRQcmVzZXRCdXR0b24sIDAgKTsKKyAKKyAgICAgbV91cGRhdGVQcmVzZXRCdXR0b24gPSBuZXcg UVB1c2hCdXR0b24oIGkxOG4oIlVwZGF0ZSBwcmVzZXQiKSwgdGhpcyApOworKyAgICBtX3VwZGF0 ZVByZXNldEJ1dHRvbi0+c2V0VG9vbFRpcCggaTE4bigiVXBkYXRlcyB0aGUgcHJlc2V0IHdpdGgg dGhlIGN1cnJlbnQgc2NoZW1lL2Zvcm1hdC4iKSApOworICAgICBwcmVzZXRMYXlvdXQxLT5hZGRX aWRnZXQoIG1fdXBkYXRlUHJlc2V0QnV0dG9uLCAwICk7CisgCisgICAgIG1fcmVtb3ZlUHJlc2V0 QnV0dG9uID0gbmV3IFFQdXNoQnV0dG9uKCBpMThuKCJSZW1vdmUgcHJlc2V0IiksIHRoaXMgKTsK Ky0gICAgbV9yZW1vdmVQcmVzZXRCdXR0b24tPnNldFRvb2xUaXAoIGkxOG4oIlJlbW92ZXMgdGhl IGN1cnJlbnRseSBzZWxlY3RlZCBmb3JtYXQgcHJlc2V0IikgKTsKKysgICAgbV9yZW1vdmVQcmVz ZXRCdXR0b24tPnNldFRvb2xUaXAoIGkxOG4oIlJlbW92ZXMgdGhlIGN1cnJlbnRseSBzZWxlY3Rl ZCBwcmVzZXQuIikgKTsKKyAgICAgcHJlc2V0TGF5b3V0MS0+YWRkV2lkZ2V0KCBtX3JlbW92ZVBy ZXNldEJ1dHRvbiwgMCApOworIAorICAgICBzY2hlbWVHcm91cExheW91dC0+YWRkTGF5b3V0KCBw cmVzZXRMYXlvdXQxICk7CitAQCAtMTY3LDcgKzE2OCw4IEBAIEZpbGVuYW1lTGF5b3V0V2lkZ2V0 OjpGaWxlbmFtZUxheW91dFdpZGdldCggUVdpZGdldCAqcGFyZW50ICkKKyAKKyAgICAgY29ubmVj dCggbV9maWxlbmFtZUxheW91dEVkaXQsIFNJR05BTCh0ZXh0Q2hhbmdlZChRU3RyaW5nKSksCisg ICAgICAgICAgICAgIHRoaXMsIFNJR05BTChzY2hlbWVDaGFuZ2VkKCkpICk7CistZGVidWcoKSA8 PCAic3QzLjEiOworKyAgICBjb25uZWN0KCBtX2ZpbGVuYW1lTGF5b3V0RWRpdCwgU0lHTkFMKHRl eHRDaGFuZ2VkKFFTdHJpbmcpKSwKKysgICAgICAgICAgICAgdGhpcywgU0xPVChzbG90VXBkYXRl UHJlc2V0QnV0dG9uKCkpICk7CisgfQorIAorIFRva2VuKgorQEAgLTIzMywxNiArMjM1LDE3IEBA IEZpbGVuYW1lTGF5b3V0V2lkZ2V0OjpjcmVhdGVTdGF0aWNUb2tlbihxaW50NjQgdmFsdWUpIGNv bnN0Cisgdm9pZAorIEZpbGVuYW1lTGF5b3V0V2lkZ2V0OjpvbkFjY2VwdCgpICAgIC8vU0xPVAor IHsKKy0gICAgc2xvdFNhdmVGb3JtYXRMaXN0KCk7CisrICAgIFFTdHJpbmcgY3VzdG9tID0gZ2V0 UGFyc2FibGVTY2hlbWUoKTsKKysKKysgICAgLy8gQ3VzdG9tIHNjaGVtZSBpcyBzdG9yZWQgcGVy IGRpYWxvZworKyAgICBkZWJ1ZygpIDw8ICItLS0gc2F2aW5nIGN1c3RvbSBzY2hlbWUgZm9yIiA8 PCBtX2NvbmZpZ0NhdGVnb3J5IDw8IGN1c3RvbTsKKysgICAgQW1hcm9rOjpjb25maWcoIG1fY29u ZmlnQ2F0ZWdvcnkgKS53cml0ZUVudHJ5KCAiQ3VzdG9tIFNjaGVtZSIsIGN1c3RvbSApOworIH0K KyAKKyBRU3RyaW5nCisgRmlsZW5hbWVMYXlvdXRXaWRnZXQ6OmdldFBhcnNhYmxlU2NoZW1lKCkg Y29uc3QKKyB7CistICAgIFFTdHJpbmcgc2NoZW1lID0gbV9hZHZhbmNlZE1vZGUgPyBtX2ZpbGVu YW1lTGF5b3V0RWRpdC0+dGV4dCgpIDogZHJvcFRhcmdldFNjaGVtZSgpOworLQorLSAgICBBbWFy b2s6OmNvbmZpZyggbV9jb25maWdDYXRlZ29yeSApLndyaXRlRW50cnkoICJDdXN0b20gU2NoZW1l Iiwgc2NoZW1lICk7CistICAgIHJldHVybiBzY2hlbWU7CisrICAgIHJldHVybiBtX2FkdmFuY2Vk TW9kZSA/IG1fZmlsZW5hbWVMYXlvdXRFZGl0LT50ZXh0KCkgOiBkcm9wVGFyZ2V0U2NoZW1lKCk7 CisgfQorIAorIC8vIGF0dGVtcHRzIHRvIHNldCB0aGUgc2NoZW1lCitAQCAtMjU1LDggKzI1OCw2 IEBAIHZvaWQgRmlsZW5hbWVMYXlvdXRXaWRnZXQ6OnNldFNjaGVtZShjb25zdCBRU3RyaW5nJiBz Y2hlbWUpCisgICAgIGVtaXQgc2NoZW1lQ2hhbmdlZCgpOworIH0KKyAKKy0KKy0KKyAvL0hhbmRs ZXMgdGhlIG1vZGlmaWNhdGlvbnMgdG8gdGhlIGRpYWxvZyB0byB0b2dnbGUgYmV0d2VlbiBhZHZh bmNlZCBhbmQgYmFzaWMgZWRpdGluZyBtb2RlLgorIHZvaWQKKyBGaWxlbmFtZUxheW91dFdpZGdl dDo6dG9nZ2xlQWR2YW5jZWRNb2RlKCkKK0BAIC0yODcsNyArMjg4LDYgQEAgRmlsZW5hbWVMYXlv dXRXaWRnZXQ6OnNldEFkdmFuY2VkTW9kZSggYm9vbCBpc0FkdmFuY2VkICkKKyAgICAgQW1hcm9r Ojpjb25maWcoIG1fY29uZmlnQ2F0ZWdvcnkgKS53cml0ZUVudHJ5KCAiTW9kZSIsIGVudHJ5VmFs dWUgKTsKKyB9CisgCistCisgUVN0cmluZworIEZpbGVuYW1lTGF5b3V0V2lkZ2V0Ojpkcm9wVGFy Z2V0U2NoZW1lKCkgY29uc3QKKyB7CitAQCAtMzQyLDI4ICszNDIsMzQgQEAgRmlsZW5hbWVMYXlv dXRXaWRnZXQ6OnBvcHVsYXRlQ29uZmlndXJhdGlvbigpCisgICAgIFFTdHJpbmcgbW9kZSA9IEFt YXJvazo6Y29uZmlnKCBtX2NvbmZpZ0NhdGVnb3J5ICkucmVhZEVudHJ5KCAiTW9kZSIgKTsKKyAg ICAgc2V0QWR2YW5jZWRNb2RlKCBtb2RlID09IFFMYXRpbjFTdHJpbmcoICJBZHZhbmNlZCIgKSAp OworIAorLSAgICBzZXRTY2hlbWUoIEFtYXJvazo6Y29uZmlnKCBtX2NvbmZpZ0NhdGVnb3J5ICku cmVhZEVudHJ5VW50cmFuc2xhdGVkKCAiQ3VzdG9tIFNjaGVtZSIgKSApOworKyAgICAvLyBDdXN0 b20gc2NoZW1lIGlzIHN0b3JlZCBwZXIgZGlhbG9nCisrICAgIFFTdHJpbmcgY3VzdG9tID0gQW1h cm9rOjpjb25maWcoIG1fY29uZmlnQ2F0ZWdvcnkgKS5yZWFkRW50cnlVbnRyYW5zbGF0ZWQoICJD dXN0b20gU2NoZW1lIiApOworKyAgICBkZWJ1ZygpIDw8ICItLS0gZ290IGN1c3RvbSBzY2hlbWUg Zm9yIiA8PCBtX2NvbmZpZ0NhdGVnb3J5IDw8IGN1c3RvbTsKKyAKKy0gICAgcG9wdWxhdGVGb3Jt YXRMaXN0KCk7CistfQorKyAgICBwb3B1bGF0ZUZvcm1hdExpc3QoIGN1c3RvbSApOworIAorKyAg ICBzZXRTY2hlbWUoIGN1c3RvbSApOworK30KKyAKKyB2b2lkCistRmlsZW5hbWVMYXlvdXRXaWRn ZXQ6OnBvcHVsYXRlRm9ybWF0TGlzdCgpCisrRmlsZW5hbWVMYXlvdXRXaWRnZXQ6OnBvcHVsYXRl Rm9ybWF0TGlzdCggY29uc3QgUVN0cmluZyYgY3VzdG9tICkKKyB7CisgICAgIERFQlVHX0JMT0NL CisgCisrICAgIC8vIENvbmZpZ3VyYXRpb24gaXMgbm90IHN5bW1ldHJpYzogZGlhbG9nLXNwZWNp ZmljIHNldHRpbmdzIGFyZSBzYXZlZAorKyAgICAvLyB1c2luZyBtX2NvbmZpZ0NhdGVnb3J5LCB0 aGF0IGlzIGRpZmZlcmVudCBwZXIgZGlhbG9nLiBUaGUgcHJlc2V0cyBhcmUgc2F2ZWQKKysgICAg Ly8gb25seSBpbiBvbmUgc2luZ2xlIHBsYWNlLCBzbyB0aGVzZSBjYW4gYmUgc2hhcmVkLiBUaGlz IHBsYWNlIGlzIHRoZSAiZGVmYXVsdCIgb25lLAorKyAgICAvLyB0aGF0IGlzIHRoZSBjb25maWd1 cmF0aW9uIGZvciBPcmdhbml6ZUNvbGxlY3Rpb25EaWFsb2cuCisrCisgICAgIC8vIGl0ZW1zIGFy ZSBzdG9yZWQgaW4gdGhlIGNvbmZpZyBsaXN0IGluIHRoZSBmb2xsb3dpbmcgZm9ybWF0OgorLSAg ICAvLyBMYWJlbCNERUxJTSNmb3JtYXQgc3RyaW5nI0RFTElNI3NlbGVjdGVkCistICAgIC8vIHRo ZSBsYXN0IGl0ZW0gdG8gaGF2ZSB0aGUgdGhpcmQgcGFyYW1ldGVyIGlzIHRoZSBkZWZhdWx0IHNl bGVjdGVkIHByZXNldAorLSAgICAvLyB0aGUgdGhpcmQgcGFyYW0gaXNuaXMgb3B0aW9uYWwKKysg ICAgLy8gTGFiZWwjREVMSU0jZm9ybWF0IHN0cmluZworICAgICBRU3RyaW5nTGlzdCBwcmVzZXRz X3JhdzsKKyAgICAgaW50IHNlbGVjdGVkX2luZGV4ID0gLTE7CisgICAgIG1fcHJlc2V0Q29tYm8t PmNsZWFyKCk7CistICAgIHByZXNldHNfcmF3ID0gQW1hcm9rQ29uZmlnOjpmb3JtYXRQcmVzZXRz KCk7CisrICAgIHByZXNldHNfcmF3ID0gQW1hcm9rQ29uZmlnOjpmb3JtYXRQcmVzZXRzKCk7IC8v IEFsd2F5cyB1c2UgdGhlIG9uZSBpbiBPcmdhbml6ZUNvbGxlY3Rpb25EaWFsb2cKKyAgICAgLy8g cHJlc2V0c19yYXcgPSBBbWFyb2s6OmNvbmZpZyggbV9jb25maWdDYXRlZ29yeSApLnJlYWRFbnRy eSggUVN0cmluZzo6ZnJvbUxhdGluMSggIkZvcm1hdCBQcmVzZXRzIiApLCBRU3RyaW5nTGlzdCgp ICk7CisgCistICAgIGRlYnVnKCkgPDwgIi0tLSBnb3QgcHJlc2V0IGZvciIgPDwgbV9jb25maWdD YXRlZ29yeSA8PCBwcmVzZXRzX3JhdzsKKysgICAgZGVidWcoKSA8PCAiLS0tIGdvdCBwcmVzZXRz IiA8PCBwcmVzZXRzX3JhdzsKKyAKKyAgICAgZm9yZWFjaCggY29uc3QgUVN0cmluZyAmc3RyLCBw cmVzZXRzX3JhdyApCisgICAgIHsKK0BAIC0zNzIsNDkgKzM3OCw0NCBAQCBGaWxlbmFtZUxheW91 dFdpZGdldDo6cG9wdWxhdGVGb3JtYXRMaXN0KCkKKyAgICAgICAgIGlmKCBpdGVtcy5zaXplKCkg PCAyICkKKyAgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgIG1fcHJlc2V0Q29tYm8tPmFk ZEl0ZW0oIGl0ZW1zLmF0KCAwICksIGl0ZW1zLmF0KCAxICkgKTsgLy8gTGFiZWwsIGZvcm1hdCBz dHJpbmcKKy0gICAgICAgIGlmKCBpdGVtcy5zaXplKCkgPT0gMyApCisrICAgICAgICBpZiggaXRl bXMuYXQoIDEgKSA9PSBjdXN0b20gKQorICAgICAgICAgICAgIHNlbGVjdGVkX2luZGV4ID0gbV9w cmVzZXRDb21iby0+ZmluZERhdGEoIGl0ZW1zLmF0KCAxICkgKTsKKyAgICAgfQorIAorLSAgICBp Ziggc2VsZWN0ZWRfaW5kZXggPiAwICkKKysgICAgaWYoIHNlbGVjdGVkX2luZGV4ID49IDAgKQor ICAgICAgICAgbV9wcmVzZXRDb21iby0+c2V0Q3VycmVudEluZGV4KCBzZWxlY3RlZF9pbmRleCAp OworIAorLSAgICBzbG90Rm9ybWF0UHJlc2V0U2VsZWN0ZWQoIHNlbGVjdGVkX2luZGV4ICk7Cisr ICAgIGNvbm5lY3QoIG1fcHJlc2V0Q29tYm8sIFNJR05BTChhY3RpdmF0ZWQoaW50KSksIHRoaXMs IFNMT1Qoc2xvdEZvcm1hdFByZXNldFNlbGVjdGVkKGludCkpICk7CisgICAgIGNvbm5lY3QoIG1f cHJlc2V0Q29tYm8sIFNJR05BTChjdXJyZW50SW5kZXhDaGFuZ2VkKGludCkpLCB0aGlzLCBTTE9U KHNsb3RGb3JtYXRQcmVzZXRTZWxlY3RlZChpbnQpKSApOworIH0KKyAKKyB2b2lkCistRmlsZW5h bWVMYXlvdXRXaWRnZXQ6OnNsb3RVcGRhdGVQcmVzZXRCdXR0b24oKQorLXsKKy0gICAgUVN0cmlu ZyBjb21ib1NjaGVtZSA9IG1fcHJlc2V0Q29tYm8tPml0ZW1EYXRhKCBtX3ByZXNldENvbWJvLT5j dXJyZW50SW5kZXgoKSApLiAgdG9TdHJpbmcoKTsKKy0gICAgbV91cGRhdGVQcmVzZXRCdXR0b24t PnNldEVuYWJsZWQoIGNvbWJvU2NoZW1lICE9IGdldFBhcnNhYmxlU2NoZW1lKCkgKTsKKy19Cist Cistdm9pZAorLUZpbGVuYW1lTGF5b3V0V2lkZ2V0OjpzbG90U2F2ZUZvcm1hdExpc3QoKQorK0Zp bGVuYW1lTGF5b3V0V2lkZ2V0OjpzYXZlRm9ybWF0TGlzdCgpIGNvbnN0CisgeworLSAgICBpZigg IW1fZm9ybWF0TGlzdE1vZGlmaWVkICkKKy0gICAgICAgIHJldHVybjsKKysgICAgREVCVUdfQkxP Q0sKKyAKKy0gICAgUVN0cmluZ0xpc3QgcHJlc2V0czsKKysgICAgUVN0cmluZ0xpc3QgcHJlc2V0 c19yYXc7CisgICAgIGludCBuID0gbV9wcmVzZXRDb21iby0+Y291bnQoKTsKKy0gICAgaW50IGN1 cnJlbnRfaWR4ID0gbV9wcmVzZXRDb21iby0+Y3VycmVudEluZGV4KCk7CisgCisgICAgIGZvcigg aW50IGkgPSAwOyBpIDwgbjsgKytpICkKKyAgICAgeworLSAgICAgICAgUVN0cmluZyBpdGVtOwor LSAgICAgICAgaWYoIGkgPT0gY3VycmVudF9pZHggKQorLSAgICAgICAgICAgIGl0ZW0gPSAiJTEj REVMSU0jJTIjREVMSU0jc2VsZWN0ZWQiOworLSAgICAgICAgZWxzZQorLSAgICAgICAgICAgIGl0 ZW0gPSAiJTEjREVMSU0jJTIiOworLQorKyAgICAgICAgUVN0cmluZyBpdGVtID0gIiUxI0RFTElN IyUyIjsKKyAgICAgICAgIFFTdHJpbmcgc2NoZW1lID0gbV9wcmVzZXRDb21iby0+aXRlbURhdGEo IGkgKS50b1N0cmluZygpOworICAgICAgICAgUVN0cmluZyBsYWJlbCA9IG1fcHJlc2V0Q29tYm8t Pml0ZW1UZXh0KCBpICk7CisgICAgICAgICBpdGVtID0gaXRlbS5hcmcoIGxhYmVsLCBzY2hlbWUg KTsKKy0gICAgICAgIHByZXNldHMuYXBwZW5kKCBpdGVtICk7CisrICAgICAgICBwcmVzZXRzX3Jh dy5hcHBlbmQoIGl0ZW0gKTsKKyAgICAgfQorIAorLSAgIEFtYXJvazo6Y29uZmlnKCBtX2NvbmZp Z0NhdGVnb3J5ICkud3JpdGVFbnRyeSggUVN0cmluZzo6ZnJvbUxhdGluMSggIkZvcm1hdCBQcmVz ZXRzIiApLCBwcmVzZXRzICk7CisrICAgZGVidWcoKSA8PCAiLS0tIHNhdmluZyBwcmVzZXRzIiA8 PCBwcmVzZXRzX3JhdzsKKysgICBBbWFyb2tDb25maWc6OnNldEZvcm1hdFByZXNldHMoIHByZXNl dHNfcmF3ICk7IC8vIEFsd2F5cyB1c2UgdGhlIG9uZSBpbiBPcmdhbml6ZUNvbGxlY3Rpb25EaWFs b2cKKysgICAvLyBBbWFyb2s6OmNvbmZpZyggbV9jb25maWdDYXRlZ29yeSApLndyaXRlRW50cnko IFFTdHJpbmc6OmZyb21MYXRpbjEoICJGb3JtYXQgUHJlc2V0cyIgKSwgcHJlc2V0c19yYXcgKTsK Kyt9CisrCisrdm9pZAorK0ZpbGVuYW1lTGF5b3V0V2lkZ2V0OjpzbG90VXBkYXRlUHJlc2V0QnV0 dG9uKCkKKyt7CisrICAgIFFTdHJpbmcgY29tYm9TY2hlbWUgPSBtX3ByZXNldENvbWJvLT5pdGVt RGF0YSggbV9wcmVzZXRDb21iby0+Y3VycmVudEluZGV4KCkgKS50b1N0cmluZygpOworKyAgICBt X3VwZGF0ZVByZXNldEJ1dHRvbi0+c2V0RW5hYmxlZCggY29tYm9TY2hlbWUgIT0gZ2V0UGFyc2Fi bGVTY2hlbWUoKSApOworIH0KKyAKKyB2b2lkCitAQCAtNDI4LDE0ICs0MjksMTUgQEAgdm9pZAor IEZpbGVuYW1lTGF5b3V0V2lkZ2V0OjpzbG90QWRkRm9ybWF0KCkKKyB7CisgICAgIGJvb2wgb2sg PSBmYWxzZTsKKy0gICAgUVN0cmluZyBuYW1lID0gS0lucHV0RGlhbG9nOjpnZXRUZXh0KCBpMThu KCAiTmV3IEZvcm1hdCBQcmVzZXQiICksIGkxOG4oICJQcmVzZXQgTmFtZSIgKSwgaTE4biggIk5l dyBQcmVzZXQiICksICAmb2ssIHRoaXMgKTsKKysgICAgUVN0cmluZyBuYW1lID0gS0lucHV0RGlh bG9nOjpnZXRUZXh0KCBpMThuKCAiTmV3IFByZXNldCIgKSwgaTE4biggIlByZXNldCBOYW1lIiAp LCBpMThuKCAiTmV3IFByZXNldCIgKSwgJm9rLCB0aGlzICk7CisgICAgIGlmKCAhb2sgKQorICAg ICAgICAgcmV0dXJuOyAvLyB1c2VyIGNhbmNlbGVkLgorIAorICAgICBRU3RyaW5nIGZvcm1hdCA9 IGdldFBhcnNhYmxlU2NoZW1lKCk7CistICAgIG1fcHJlc2V0Q29tYm8tPmluc2VydEl0ZW0oMCwg bmFtZSwgZm9ybWF0KTsKKy0gICAgbV9wcmVzZXRDb21iby0+c2V0Q3VycmVudEluZGV4KCAwICk7 CistICAgIG1fZm9ybWF0TGlzdE1vZGlmaWVkID0gdHJ1ZTsKKysgICAgbV9wcmVzZXRDb21iby0+ YWRkSXRlbSggbmFtZSwgZm9ybWF0ICk7CisrICAgIG1fcHJlc2V0Q29tYm8tPnNldEN1cnJlbnRJ bmRleCggbV9wcmVzZXRDb21iby0+Y291bnQoKSAtIDEgKTsKKysKKysgICAgc2F2ZUZvcm1hdExp c3QoKTsKKyB9CisgCisgdm9pZAorQEAgLTQ0Myw3ICs0NDUsOCBAQCBGaWxlbmFtZUxheW91dFdp ZGdldDo6c2xvdFJlbW92ZUZvcm1hdCgpCisgeworICAgICBpbnQgaWR4ID0gbV9wcmVzZXRDb21i by0+Y3VycmVudEluZGV4KCk7CisgICAgIG1fcHJlc2V0Q29tYm8tPnJlbW92ZUl0ZW0oIGlkeCAp OworLSAgICBtX2Zvcm1hdExpc3RNb2RpZmllZCA9IHRydWU7CisrCisrICAgIHNhdmVGb3JtYXRM aXN0KCk7CisgfQorIAorIHZvaWQKK0BAIC00NTMsNSArNDU2LDYgQEAgRmlsZW5hbWVMYXlvdXRX aWRnZXQ6OnNsb3RVcGRhdGVGb3JtYXQoKQorICAgICBRU3RyaW5nIGZvcm1hdFN0cmluZyA9IGdl dFBhcnNhYmxlU2NoZW1lKCk7CisgICAgIG1fcHJlc2V0Q29tYm8tPnNldEl0ZW1EYXRhKCBpZHgs IGZvcm1hdFN0cmluZyApOworICAgICBtX3VwZGF0ZVByZXNldEJ1dHRvbi0+c2V0RW5hYmxlZCgg ZmFsc2UgKTsKKy0gICAgbV9mb3JtYXRMaXN0TW9kaWZpZWQgPSB0cnVlOworKworKyAgICBzYXZl Rm9ybWF0TGlzdCgpOworIH0KK2RpZmYgLS1naXQgYS9zcmMvd2lkZ2V0cy9GaWxlbmFtZUxheW91 dFdpZGdldC5oIGIvc3JjL3dpZGdldHMvRmlsZW5hbWVMYXlvdXRXaWRnZXQuaAoraW5kZXggOWZi MjY3OC4uOGY2ZTM1YSAxMDA2NDQKKy0tLSBhL3NyYy93aWRnZXRzL0ZpbGVuYW1lTGF5b3V0V2lk Z2V0LmgKKysrKyBiL3NyYy93aWRnZXRzL0ZpbGVuYW1lTGF5b3V0V2lkZ2V0LmgKK0BAIC03MCw3 ICs3MCw2IEBAIGNsYXNzIEFNQVJPS19FWFBPUlQgRmlsZW5hbWVMYXlvdXRXaWRnZXQgOiBwdWJs aWMgUVdpZGdldAorICAgICAgICAgICAgICwgQ29sbGVjdGlvblJvb3QKKyAgICAgICAgIH07Cisg CistCisgICAgICAgICBleHBsaWNpdCBGaWxlbmFtZUxheW91dFdpZGdldCggUVdpZGdldCAqcGFy ZW50ID0gMCApOworICAgICAgICAgdmlydHVhbCB+RmlsZW5hbWVMYXlvdXRXaWRnZXQoKSB7fQor IAorQEAgLTc4LDcgKzc3LDYgQEAgY2xhc3MgQU1BUk9LX0VYUE9SVCBGaWxlbmFtZUxheW91dFdp ZGdldCA6IHB1YmxpYyBRV2lkZ2V0CisgCisgICAgICAgICB2b2lkIHNldFNjaGVtZSggY29uc3Qg UVN0cmluZyAmc2NoZW1lICk7CisgCistCisgICAgIHB1YmxpYyBzbG90czoKKyAgICAgICAgIHZp cnR1YWwgdm9pZCBvbkFjY2VwdCgpOworIAorQEAgLTkxLDcgKzg5LDYgQEAgY2xhc3MgQU1BUk9L X0VYUE9SVCBGaWxlbmFtZUxheW91dFdpZGdldCA6IHB1YmxpYyBRV2lkZ2V0CisgCisgICAgICAg ICAvKiBVcGRhdGVzIHRoZSB1cGRhdGUgcHJlc2V0IGJ1dHRvbiAqLworICAgICAgICAgdm9pZCBz bG90VXBkYXRlUHJlc2V0QnV0dG9uKCk7CistICAgICAgICB2b2lkIHNsb3RTYXZlRm9ybWF0TGlz dCgpOworICAgICAgICAgdm9pZCBzbG90Rm9ybWF0UHJlc2V0U2VsZWN0ZWQoIGludCApOworICAg ICAgICAgdm9pZCBzbG90QWRkRm9ybWF0KCk7CisgICAgICAgICB2b2lkIHNsb3RSZW1vdmVGb3Jt YXQoKTsKK0BAIC0xMDksNyArMTA2LDYgQEAgY2xhc3MgQU1BUk9LX0VYUE9SVCBGaWxlbmFtZUxh eW91dFdpZGdldCA6IHB1YmxpYyBRV2lkZ2V0CisgICAgICAgICAvKiogRmlsbHMgdGhlIG1fZHJv cFRhcmdldCBhY2NvcmRpbmcgdG8gdGhlIGdpdmVuIHN0cmluZyBzY2hlbWUuICovCisgICAgICAg ICB2b2lkIGluZmVyU2NoZW1lKCBjb25zdCBRU3RyaW5nICZzY2hlbWUgKTsKKyAKKy0gICAgICAg IGJvb2wgbV9mb3JtYXRMaXN0TW9kaWZpZWQ7CisgICAgICAgICBib29sIG1fYWR2YW5jZWRNb2Rl OworIAorICAgICBwcm90ZWN0ZWQ6CitAQCAtMTE5LDcgKzExNSwxMCBAQCBjbGFzcyBBTUFST0tf RVhQT1JUIEZpbGVuYW1lTGF5b3V0V2lkZ2V0IDogcHVibGljIFFXaWRnZXQKKyAgICAgICAgIHZv aWQgcG9wdWxhdGVDb25maWd1cmF0aW9uKCk7CisgCisgICAgICAgICAvKiogUG9wdWxhdGVzIHRo ZSBwcmVzZXQgY29tYm8gYm94ICovCistICAgICAgICB2b2lkIHBvcHVsYXRlRm9ybWF0TGlzdCgp OworKyAgICAgICAgdm9pZCBwb3B1bGF0ZUZvcm1hdExpc3QoIGNvbnN0IFFTdHJpbmcgJmN1c3Rv bSApOworKworKyAgICAgICAgLyoqIFNhdmVzIHRoZSBwcmVzZXQgY29tYm8gYm94ICovCisrICAg ICAgICB2b2lkIHNhdmVGb3JtYXRMaXN0KCkgY29uc3Q7CisgCisgICAgICAgICB2aXJ0dWFsIFRv a2VuKiBjcmVhdGVUb2tlbihxaW50NjQgdmFsdWUpIGNvbnN0OworIAorQEAgLTE0NSw3ICsxNDQs NiBAQCBjbGFzcyBBTUFST0tfRVhQT1JUIEZpbGVuYW1lTGF5b3V0V2lkZ2V0IDogcHVibGljIFFX aWRnZXQKKyAgICAgICAgIFFGcmFtZSAqbV9maWxlbmFtZUxheW91dDsKKyAgICAgICAgIEtMaW5l RWRpdCAqbV9maWxlbmFtZUxheW91dEVkaXQ7CisgCistCisgICAgICAgICAvKiogVGhlIG5hbWUg b2YgdGhlIGNhdGVnb3J5IHVzZWQgZm9yIHN0b3JpbmcgdGhlIGNvbmZpZ3VyYXRpb24gKi8KKyAg ICAgICAgIFFTdHJpbmcgbV9jb25maWdDYXRlZ29yeTsKKyB9OworLS0gCisyLjkuMworCgpkaWZm IC0tZ2l0IGEvMDAyOC1GaXgtZm9yLUMtd2FybmluZ3MtYWJvdXQtdW51c2VkLXZhcmlhYmxlcy1h bmQtZGVwcmVjLnBhdGNoIGIvMDAyOC1GaXgtZm9yLUMtd2FybmluZ3MtYWJvdXQtdW51c2VkLXZh cmlhYmxlcy1hbmQtZGVwcmVjLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw MDAuLjQxMWY1YTEKLS0tIC9kZXYvbnVsbAorKysgYi8wMDI4LUZpeC1mb3ItQy13YXJuaW5ncy1h Ym91dC11bnVzZWQtdmFyaWFibGVzLWFuZC1kZXByZWMucGF0Y2gKQEAgLTAsMCArMSwxMjYgQEAK K0Zyb20gOTcwZTk4NWQ2MTAwMDcwYWExMDVkZDYwMmRhOGMyOTQ2ODczODVhYyBNb24gU2VwIDE3 IDAwOjAwOjAwIDIwMDEKK0Zyb206IFN0ZWZhbm8gUGV0dGluaSA8c3RlZmFuby5wZXR0aW5pQGdt YWlsLmNvbT4KK0RhdGU6IEZyaSwgMTcgSnVuIDIwMTYgMjM6NDQ6MTYgKzAyMDAKK1N1YmplY3Q6 IFtQQVRDSCAyOC80N10gRml4IGZvciBDKysgd2FybmluZ3MgYWJvdXQgdW51c2VkIHZhcmlhYmxl cyBhbmQKKyBkZXByZWNhdGVkIGZ1bmN0aW9ucworCitUaGFuayB5b3UsIFN0ZWZhbm8hCisKK1JF VklFVzogMTI3NDU4CistLS0KKyBzcmMvY29uZmlnZGlhbG9nL2RpYWxvZ3MvRGF0YWJhc2VDb25m aWcuY3BwICAgICAgICAgICAgICAgICAgICAgICAgfCAyIC0tCisgc3JjL2NvcmUtaW1wbC9jb2xs ZWN0aW9ucy9kYi9zcWwvU3FsU2NhblJlc3VsdFByb2Nlc3Nvci5jcHAgICAgICAgIHwgMiArLQor IC4uLi9zdG9yYWdlL3NxbC9teXNxbHNlcnZlcnN0b3JhZ2UvTXlTcWxTZXJ2ZXJTdG9yYWdlRmFj dG9yeS5jcHAgICB8IDEgKworIHNyYy9zZXJ2aWNlcy9tcDN0dW5lcy9oYXJtb255ZGFlbW9uL01w M3R1bmVzSGFybW9ueURhZW1vbi5jcHAgICAgICB8IDcgKysrKystLQorIHNyYy9zZXJ2aWNlcy9t cDN0dW5lcy9saWJtcDN0dW5lcy9oYXJtb255LmMgICAgICAgICAgICAgICAgICAgICAgICB8IDQg KystLQorIHNyYy9zdGF0ZW1hbmFnZW1lbnQvRGVmYXVsdEFwcGxpY2F0aW9uQ29udHJvbGxlci5j cHAgICAgICAgICAgICAgICB8IDIgKysKKyA2IGZpbGVzIGNoYW5nZWQsIDExIGluc2VydGlvbnMo KyksIDcgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9zcmMvY29uZmlnZGlhbG9nL2RpYWxv Z3MvRGF0YWJhc2VDb25maWcuY3BwIGIvc3JjL2NvbmZpZ2RpYWxvZy9kaWFsb2dzL0RhdGFiYXNl Q29uZmlnLmNwcAoraW5kZXggMWNiMmQ5Ny4uZmY0ZjZjNSAxMDA2NDQKKy0tLSBhL3NyYy9jb25m aWdkaWFsb2cvZGlhbG9ncy9EYXRhYmFzZUNvbmZpZy5jcHAKKysrKyBiL3NyYy9jb25maWdkaWFs b2cvZGlhbG9ncy9EYXRhYmFzZUNvbmZpZy5jcHAKK0BAIC04Miw3ICs4Miw2IEBAIERhdGFiYXNl Q29uZmlnOjp0ZXN0RGF0YWJhc2VDb25uZWN0aW9uKCkgLy9TTE9UCisgICAgIGZhY3RvcmllcyA9 IFBsdWdpbnM6OlBsdWdpbk1hbmFnZXI6Omluc3RhbmNlKCktPmZhY3RvcmllcyggUGx1Z2luczo6 UGx1Z2luTWFuYWdlcjo6U3RvcmFnZSApOworIAorICAgICAvLyB0cnkgaWYgdGhleSBoYXZlIGEg dGVzdFNldHRpbmdzIHNsb3QgdGhhdCB3ZSBjYW4gY2FsbAorLSAgICBib29sIHRlc3RlZCA9IGZh bHNlOworICAgICBmb3JlYWNoKCBQbHVnaW5zOjpQbHVnaW5GYWN0b3J5KiBmYWN0b3J5LCBmYWN0 b3JpZXMgKQorICAgICB7CisgICAgICAgICBib29sIGNhbGxTdWNjZWVkZWQgPSBmYWxzZTsKK0BA IC0xMDAsNyArOTksNiBAQCBEYXRhYmFzZUNvbmZpZzo6dGVzdERhdGFiYXNlQ29ubmVjdGlvbigp IC8vU0xPVAorIAorICAgICAgICAgaWYoIGNhbGxTdWNjZWVkZWQgKQorICAgICAgICAgeworLSAg ICAgICAgICAgIHRlc3RlZCA9IHRydWU7CisgICAgICAgICAgICAgaWYoIGNvbm5lY3Rpb25FcnJv cnMuaXNFbXB0eSgpICkKKyAgICAgICAgICAgICAgICAgS01lc3NhZ2VCb3g6Om1lc3NhZ2VCb3go IHRoaXMsIEtNZXNzYWdlQm94OjpJbmZvcm1hdGlvbiwKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGkxOG4oICJBbWFyb2sgd2FzIGFibGUgdG8gZXN0YWJsaXNoIGEg c3VjY2Vzc2Z1bCBjb25uZWN0aW9uIHRvIHRoZSBkYXRhYmFzZS4iICksCitkaWZmIC0tZ2l0IGEv c3JjL2NvcmUtaW1wbC9jb2xsZWN0aW9ucy9kYi9zcWwvU3FsU2NhblJlc3VsdFByb2Nlc3Nvci5j cHAgYi9zcmMvY29yZS1pbXBsL2NvbGxlY3Rpb25zL2RiL3NxbC9TcWxTY2FuUmVzdWx0UHJvY2Vz c29yLmNwcAoraW5kZXggNzE1ODlhMC4uMzY3YzAyYSAxMDA2NDQKKy0tLSBhL3NyYy9jb3JlLWlt cGwvY29sbGVjdGlvbnMvZGIvc3FsL1NxbFNjYW5SZXN1bHRQcm9jZXNzb3IuY3BwCisrKysgYi9z cmMvY29yZS1pbXBsL2NvbGxlY3Rpb25zL2RiL3NxbC9TcWxTY2FuUmVzdWx0UHJvY2Vzc29yLmNw cAorQEAgLTMwMSw3ICszMDEsNyBAQCBTcWxTY2FuUmVzdWx0UHJvY2Vzc29yOjpjb21taXRUcmFj ayggQ29sbGVjdGlvblNjYW5uZXI6OlRyYWNrICp0cmFjaywKKyAgICAgbWV0YVRyYWNrLT5zZXRU eXBlKCB0cmFjay0+ZmlsZXR5cGUoKSApOworIAorICAgICBpZiggbV90eXBlID09IEdlbmVyaWNT Y2FuTWFuYWdlcjo6RnVsbFNjYW4gfHwKKy0gICAgICAgICF0cmFjay0+YnBtKCkgPj0gMCApCisr ICAgICAgICB0cmFjay0+YnBtKCkgPj0gMCApCisgICAgICAgICBtZXRhVHJhY2stPnNldEJwbSgg dHJhY2stPmJwbSgpICk7CisgCisgICAgIGlmKCBtX3R5cGUgPT0gR2VuZXJpY1NjYW5NYW5hZ2Vy OjpGdWxsU2NhbiB8fAorZGlmZiAtLWdpdCBhL3NyYy9jb3JlLWltcGwvc3RvcmFnZS9zcWwvbXlz cWxzZXJ2ZXJzdG9yYWdlL015U3FsU2VydmVyU3RvcmFnZUZhY3RvcnkuY3BwIGIvc3JjL2NvcmUt aW1wbC9zdG9yYWdlL3NxbC9teXNxbHNlcnZlcnN0b3JhZ2UvTXlTcWxTZXJ2ZXJTdG9yYWdlRmFj dG9yeS5jcHAKK2luZGV4IDVjZGI2OTMuLjZmOWVlNTkgMTAwNjQ0CistLS0gYS9zcmMvY29yZS1p bXBsL3N0b3JhZ2Uvc3FsL215c3Fsc2VydmVyc3RvcmFnZS9NeVNxbFNlcnZlclN0b3JhZ2VGYWN0 b3J5LmNwcAorKysrIGIvc3JjL2NvcmUtaW1wbC9zdG9yYWdlL3NxbC9teXNxbHNlcnZlcnN0b3Jh Z2UvTXlTcWxTZXJ2ZXJTdG9yYWdlRmFjdG9yeS5jcHAKK0BAIC02OSw2ICs2OSw3IEBAIE15U3Fs U2VydmVyU3RvcmFnZUZhY3Rvcnk6OnRlc3RTZXR0aW5ncyggY29uc3QgUVN0cmluZyAmaG9zdCwg Y29uc3QgUVN0cmluZyAmdXNlCisgCisgICAgIE15U3FsU2VydmVyU3RvcmFnZSogc3RvcmFnZSA9 IG5ldyBNeVNxbFNlcnZlclN0b3JhZ2UoKTsKKyAgICAgYm9vbCBpbml0UmVzdWx0ID0gc3RvcmFn ZS0+aW5pdCggaG9zdCwgdXNlciwgcGFzc3dvcmQsIHBvcnQsIGRhdGFiYXNlTmFtZSApOworKyAg ICBRX1VOVVNFRCggaW5pdFJlc3VsdCApOworIAorICAgICAvLyB3ZSBhcmUganVzdCBpbnRlcmVz dGVkIGluIHRoZSBlcnJvcnMuCisgICAgIGVycm9ycyA9IHN0b3JhZ2UtPmdldExhc3RFcnJvcnMo KTsKK2RpZmYgLS1naXQgYS9zcmMvc2VydmljZXMvbXAzdHVuZXMvaGFybW9ueWRhZW1vbi9NcDN0 dW5lc0hhcm1vbnlEYWVtb24uY3BwIGIvc3JjL3NlcnZpY2VzL21wM3R1bmVzL2hhcm1vbnlkYWVt b24vTXAzdHVuZXNIYXJtb255RGFlbW9uLmNwcAoraW5kZXggNWIwOWYwNy4uZDhhZTI5NSAxMDA2 NDQKKy0tLSBhL3NyYy9zZXJ2aWNlcy9tcDN0dW5lcy9oYXJtb255ZGFlbW9uL01wM3R1bmVzSGFy bW9ueURhZW1vbi5jcHAKKysrKyBiL3NyYy9zZXJ2aWNlcy9tcDN0dW5lcy9oYXJtb255ZGFlbW9u L01wM3R1bmVzSGFybW9ueURhZW1vbi5jcHAKK0BAIC0xNTUsOCArMTU1LDExIEBAIE1wM3R1bmVz SGFybW9ueURhZW1vbjo6aW5pdCgpCisgeworIAorICAgICBxRGVidWcoKSAgPDwgIkJlZ2luIGlu aXRpbmciOworLSAgICAgICAgLyogZ190eXBlX2luaXQgcmVxdWlyZWQgZm9yIHVzaW5nIHRoZSBH T2JqZWN0cyBmb3IgSGFybW9ueS4gKi8KKy0gICAgZ190eXBlX2luaXQoKTsKKysKKysjaWYgIUdM SUJfQ0hFQ0tfVkVSU0lPTigyLDM2LDApCisrICAgIC8qIGdfdHlwZV9pbml0IHJlcXVpcmVkIGZv ciB1c2luZyB0aGUgR09iamVjdHMgaW4gdmVyc2lvbnMgb2YgZ2xpYiBvbGRlciB0aGFuIDIuMzYu ICovCisrICAgIGdfdHlwZV9pbml0ICgpOworKyNlbmRpZgorIAorICAgICBtX2hhcm1vbnkgPSBt cDN0dW5lc19oYXJtb255X25ldygpOworIAorZGlmZiAtLWdpdCBhL3NyYy9zZXJ2aWNlcy9tcDN0 dW5lcy9saWJtcDN0dW5lcy9oYXJtb255LmMgYi9zcmMvc2VydmljZXMvbXAzdHVuZXMvbGlibXAz dHVuZXMvaGFybW9ueS5jCitpbmRleCBlYWQwMzQ1Li5kZjAwYmUyIDEwMDY0NAorLS0tIGEvc3Jj L3NlcnZpY2VzL21wM3R1bmVzL2xpYm1wM3R1bmVzL2hhcm1vbnkuYworKysrIGIvc3JjL3NlcnZp Y2VzL21wM3R1bmVzL2xpYm1wM3R1bmVzL2hhcm1vbnkuYworQEAgLTY0Myw3ICs2NDMsNyBAQCBn Ym9vbGVhbiBtcDN0dW5lc19oYXJtb255X2Rpc2Nvbm5lY3QoTVAzdHVuZXNIYXJtb255ICpoYXJt b255LCBHRXJyb3IqKiBlcnIpIHsKKyAgICAgZ2Jvb2xlYW4gc3VjY2VzcyA9IGNsb3NlX2Nvbm5l Y3Rpb24oaGFybW9ueSk7CisgICAgIGhhcm1vbnktPmNvbm5lY3RlZCA9IEZBTFNFOworICAgICBp ZiAoc3VjY2VzcyA9PSBGQUxTRSkgeworLSAgICAgICAgZXJyID0gJmhhcm1vbnktPmVycm9yOwor KyAgICAgICAgKmVyciA9IGhhcm1vbnktPmVycm9yOworICAgICAgICAgcmV0dXJuIHN1Y2Nlc3M7 CisgICAgIH0KKyAgICAgcmV0dXJuIHN1Y2Nlc3M7CitAQCAtNjU4LDcgKzY1OCw3IEBAIGdib29s ZWFuIG1wM3R1bmVzX2hhcm1vbnlfY29ubmVjdChNUDN0dW5lc0hhcm1vbnkqIGhhcm1vbnksIEdF cnJvcioqIGVycikgeworICAgICBzdWNjZXNzID0gb3Blbl9jb25uZWN0aW9uKGhhcm1vbnkpOwor IAorICAgICBpZiAoc3VjY2VzcyA9PSBGQUxTRSkgeworLSAgICAgICAgZXJyID0gJmhhcm1vbnkt PmVycm9yOworKyAgICAgICAgKmVyciA9IGhhcm1vbnktPmVycm9yOworICAgICAgICAgbXAzdHVu ZXNfaGFybW9ueV9kaXNjb25uZWN0KGhhcm1vbnksIGVycik7CisgICAgICAgICByZXR1cm4gc3Vj Y2VzczsKKyAgICAgfQorZGlmZiAtLWdpdCBhL3NyYy9zdGF0ZW1hbmFnZW1lbnQvRGVmYXVsdEFw cGxpY2F0aW9uQ29udHJvbGxlci5jcHAgYi9zcmMvc3RhdGVtYW5hZ2VtZW50L0RlZmF1bHRBcHBs aWNhdGlvbkNvbnRyb2xsZXIuY3BwCitpbmRleCA1ODg2Nzg5Li5hY2M0MjEzIDEwMDY0NAorLS0t IGEvc3JjL3N0YXRlbWFuYWdlbWVudC9EZWZhdWx0QXBwbGljYXRpb25Db250cm9sbGVyLmNwcAor KysrIGIvc3JjL3N0YXRlbWFuYWdlbWVudC9EZWZhdWx0QXBwbGljYXRpb25Db250cm9sbGVyLmNw cAorQEAgLTMyLDYgKzMyLDcgQEAgRGVmYXVsdEFwcGxpY2F0aW9uQ29udHJvbGxlcjo6RGVmYXVs dEFwcGxpY2F0aW9uQ29udHJvbGxlciggUU9iamVjdCAqcGFyZW50ICkKKyAgICAgLy90aGVyZSBj YW4gYmUgb25seSBvbmUgYXBwbGljYXRpb25jb250cm9sbGVyCisgICAgIEFwcGxpY2F0aW9uQ29u dHJvbGxlciAqb2xkQ29udHJvbGxlciA9IENvbXBvbmVudHM6OnNldEFwcGxpY2F0aW9uQ29udHJv bGxlciggdGhpcyApOworICAgICBRX0FTU0VSVCggIW9sZENvbnRyb2xsZXIgKTsKKysgICAgUV9V TlVTRUQoIG9sZENvbnRyb2xsZXIgKTsKKyB9CisgCisgRGVmYXVsdEFwcGxpY2F0aW9uQ29udHJv bGxlcjo6fkRlZmF1bHRBcHBsaWNhdGlvbkNvbnRyb2xsZXIoKQorQEAgLTg4LDYgKzg5LDcgQEAg RGVmYXVsdEFwcGxpY2F0aW9uQ29udHJvbGxlcjo6aW5pdEVuZ2luZUNvbnRyb2xsZXIoKQorICAg ICBDb21wb25lbnRzOjpzZXRFbmdpbmVDb250cm9sbGVyKCBjb250cm9sbGVyICk7CisgICAgIGJv b2wgaW52b2tlZCA9IFFNZXRhT2JqZWN0OjppbnZva2VNZXRob2QoIGNvbnRyb2xsZXIsICJpbml0 aWFsaXplUGhvbm9uIiwgUXQ6OkRpcmVjdENvbm5lY3Rpb24gKTsKKyAgICAgUV9BU1NFUlQoIGlu dm9rZWQgKTsKKysgICAgUV9VTlVTRUQoIGludm9rZWQgKTsKKyB9CisgCisgdm9pZAorLS0gCisy LjkuMworCgpkaWZmIC0tZ2l0IGEvMDAyOS1GaXgtTVBSSVMyLURlc2t0b3BFbnRyeS12YWx1ZS5w YXRjaCBiLzAwMjktRml4LU1QUklTMi1EZXNrdG9wRW50cnktdmFsdWUucGF0Y2gKbmV3IGZpbGUg bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTExYjlmZAotLS0gL2Rldi9udWxsCisrKyBiLzAw MjktRml4LU1QUklTMi1EZXNrdG9wRW50cnktdmFsdWUucGF0Y2gKQEAgLTAsMCArMSw0NSBAQAor RnJvbSA5NDQ5ZWM1NmQxZmQ3N2EwYmZhMWY3MTM0YTJiZjRmOTFmZmQxNGQzIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQorRnJvbTogQW50b25pbyBSb2phcyA8YXJvamFzQGFyY2hsaW51eC5vcmc+ CitEYXRlOiBTYXQsIDIwIEF1ZyAyMDE2IDEzOjA5OjAyICswMjAwCitTdWJqZWN0OiBbUEFUQ0gg MjkvNDddIEZpeCBNUFJJUzIgRGVza3RvcEVudHJ5IHZhbHVlCisKK0FjY29yZGluZyB0byB0aGUg TVBSSVMyIHNwZWMsIHRoZSBEZXNrdG9wRW50cnkgdmFsdWUgc2hvdWxkIGJlCisidGhlIGJhc2Vu YW1lIG9mIHRoZSAuZGVza3RvcCBmaWxlIiBbMV0sIG5vdCB0aGUgZGVza3RvcC1maWxlLWlkLiBT bworZm9yIGFtYXJvayBpdCBzaG91bGQgYmUgImFtYXJvayIgYW5kIG5vdCAia2RlNC1hbWFyb2si LCByZWdhcmRsZXNzIG9mCit3aGVyZSB0aGUgZGVza3RvcCBmaWxlIGlzIGluc3RhbGxlZC4gVGhp cyBmaXhlcyBkaXNwbGF5aW5nIE1QUklTCitjb250cm9scyBpbiB0aGUgQW1hcm9rIHRhc2tiYXIg dG9vbHRpcCBpbiBQbGFzbWEgNS43CisKK1sxXSBodHRwczovL3NwZWNpZmljYXRpb25zLmZyZWVk ZXNrdG9wLm9yZy9tcHJpcy1zcGVjL2xhdGVzdC9NZWRpYV9QbGF5ZXIuaHRtbCNQcm9wZXJ0eTpE ZXNrdG9wRW50cnkKKworVGVzdGluZyBkb25lIGJ5IEFudG9uaW86CisKK1BsYXllciBjb250cm9s cyBhcmUgZGlzcGxheWVkIGFnYWluIGluIHRoZSBBbWFyb2sgdGFza2JhciB0b29sdGlwIGluIFBs YXNtYSA1LjcuCisKK1JFVklFVzogMTI4NDE4CitCVUc6IDM2NTI3NQorRklYRUQtSU46IDIuOQor LS0tCisgQ2hhbmdlTG9nICAgICAgICAgICAgICAgICAgICAgICAgfCAyICsrCisgc3JjL2RidXMv bXByaXMyL01lZGlhUGxheWVyMi5jcHAgfCA2ICstLS0tLQorIDIgZmlsZXMgY2hhbmdlZCwgMyBp bnNlcnRpb25zKCspLCA1IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvc3JjL2RidXMvbXBy aXMyL01lZGlhUGxheWVyMi5jcHAgYi9zcmMvZGJ1cy9tcHJpczIvTWVkaWFQbGF5ZXIyLmNwcAor aW5kZXggY2JlMWEyYS4uYTFkMWJkYSAxMDA2NDQKKy0tLSBhL3NyYy9kYnVzL21wcmlzMi9NZWRp YVBsYXllcjIuY3BwCisrKysgYi9zcmMvZGJ1cy9tcHJpczIvTWVkaWFQbGF5ZXIyLmNwcAorQEAg LTk0LDExICs5NCw3IEBAIFFTdHJpbmcgTWVkaWFQbGF5ZXIyOjpJZGVudGl0eSgpIGNvbnN0Cisg CisgUVN0cmluZyBNZWRpYVBsYXllcjI6OkRlc2t0b3BFbnRyeSgpIGNvbnN0CisgeworLSAgICAv LyBBbWFyb2sgZGVza3RvcCBmaWxlIGlzIGluc3RhbGxlZCBpbiAkcHJlZml4L3NoYXJlL2FwcGxp Y2F0aW9ucy9rZGU0LworLSAgICAvLyByYXRoZXIgdGhhbiBpbiAkcHJlZml4L3NoYXJlL2FwcGxp Y2F0aW9ucy4gVGhlIHN0YW5kYXJkIHdheSB0bworLSAgICAvLyByZXByZXNlbnQgdGhpcyBkaXIg aXMgd2l0aCBhICJrZGU0LSIgcHJlZml4LiBTZWU6CistICAgIC8vIGh0dHA6Ly9zdGFuZGFyZHMu ZnJlZWRlc2t0b3Aub3JnL21lbnUtc3BlYy8xLjAvZ28wMS5odG1sI3Rlcm0tZGVza3RvcC1maWxl LWlkCistICAgIHJldHVybiBRTGF0aW4xU3RyaW5nKCJrZGU0LWFtYXJvayIpOworKyAgICByZXR1 cm4gUUxhdGluMVN0cmluZygiYW1hcm9rIik7CisgfQorIAorIFFTdHJpbmdMaXN0IE1lZGlhUGxh eWVyMjo6U3VwcG9ydGVkVXJpU2NoZW1lcygpIGNvbnN0CistLSAKKzIuOS4zCisKCmRpZmYgLS1n aXQgYS8wMDMwLUZpeC1Db2xsZWN0aW9uLUJyb3dzZXItYXV0by1leHBhbmQtYWZ0ZXItc2VhcmNo LWV4cGEucGF0Y2ggYi8wMDMwLUZpeC1Db2xsZWN0aW9uLUJyb3dzZXItYXV0by1leHBhbmQtYWZ0 ZXItc2VhcmNoLWV4cGEucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4u YWU1NjhiZAotLS0gL2Rldi9udWxsCisrKyBiLzAwMzAtRml4LUNvbGxlY3Rpb24tQnJvd3Nlci1h dXRvLWV4cGFuZC1hZnRlci1zZWFyY2gtZXhwYS5wYXRjaApAQCAtMCwwICsxLDEzMCBAQAorRnJv bSA5ZmIwMGU1YTk3NTc0YWYzZjBjYjIyZDc0MGRhN2UwY2QwNzYxZDc4IE1vbiBTZXAgMTcgMDA6 MDA6MDAgMjAwMQorRnJvbTogPT9VVEYtOD9xP01hdD1DND05Qmo9MjBMYWl0bD89IDxtYXRlakBs YWl0bC5jej4KK0RhdGU6IE1vbiwgMTcgT2N0IDIwMTYgMDA6MDM6MTMgKzAyMDAKK1N1YmplY3Q6 IFtQQVRDSCAzMC80N10gRml4IENvbGxlY3Rpb24gQnJvd3NlciBhdXRvLWV4cGFuZCBhZnRlciBz ZWFyY2gKKyBleHBhbmRpbmcgdG9vIGxpdHRsZQorCitVbmRlcmx5aW5nIG1vZGVsIGlzIGFzeW5j aHJvbm91cywgd2UgbmVlZCB0byBjb3BlIHdpdGggdGhhdC4gRG8gaXQKK3VzaW5nIGEgUkFJSSBz ZWxmLWRlc3RydWN0aW5nIG9iamVjdCBBdXRvRXhwYW5kZXIuCisKK0FzIGEgc2lkZS1lZmZlY3Qs IEFtYXJvayBubyBsb25nZXIgZXhwYW5kcyBjb2xsZWN0aW9uIGFmdGVyIHN0YXJ0IGluCitzcGxp dCBjb2xsZWN0aW9uIG1vZGUuIElmIHRoaXMgaXMgZGVzaXJlZCwgd2UgbWF5IGV4cGFuZCB0aGVt CitleHBsaWNpdGx5IHVwb24gc3RhcnQuCisKK0JVRzogMzM1MjE3CitGSVhFRC1JTjogMi45CitD Q0JVRzogMzAwNTU3CistLS0KKyBDaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAgICAgICB8 ICAxICsKKyBzcmMvYnJvd3NlcnMvQ29sbGVjdGlvblRyZWVWaWV3LmNwcCB8IDg4ICsrKysrKysr KysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0KKyAyIGZpbGVzIGNoYW5nZWQsIDY5IGluc2Vy dGlvbnMoKyksIDIwIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvc3JjL2Jyb3dzZXJzL0Nv bGxlY3Rpb25UcmVlVmlldy5jcHAgYi9zcmMvYnJvd3NlcnMvQ29sbGVjdGlvblRyZWVWaWV3LmNw cAoraW5kZXggODE2ZDJlMS4uNGI5NjU0MyAxMDA2NDQKKy0tLSBhL3NyYy9icm93c2Vycy9Db2xs ZWN0aW9uVHJlZVZpZXcuY3BwCisrKysgYi9zcmMvYnJvd3NlcnMvQ29sbGVjdGlvblRyZWVWaWV3 LmNwcAorQEAgLTExMCw2ICsxMTAsNzIgQEAgY2xhc3MgRGVsYXllZFNjcm9sbGVyIDogcHVibGlj IFFPYmplY3QKKyAgICAgICAgIGludCBtX3RvcE9mZnNldDsKKyB9OworIAorKy8qKgorKyAqIFJB SUkgY2xhc3MgdG8gYXV0by1leHBhbmQgY29sbGVjdGlvbiB0cmVlIGVudHJpZXMgYWZ0ZXIgZmls dGVyaW5nLgorKyAqIEF1dG9FeHBhbmRlciBhdXRvLWRlbGV0ZXMgaXRzZWxmIG9uY2UgaXRzIGpv YiBpcyBvdmVyIChvciBpZiBpdCBmaW5kcworKyAqIGl0IGlzIHVzZWxlc3MpLgorKyAqLworK2Ns YXNzIEF1dG9FeHBhbmRlciA6IHB1YmxpYyBRT2JqZWN0CisreworKyAgICBRX09CSkVDVAorKwor KyAgICBwdWJsaWM6CisrICAgICAgICBBdXRvRXhwYW5kZXIoIENvbGxlY3Rpb25UcmVlVmlldyAq dHJlZVZpZXcsCisrICAgICAgICAgICAgICAgICAgICAgIENvbGxlY3Rpb25UcmVlSXRlbU1vZGVs QmFzZSAqdHJlZU1vZGVsLAorKyAgICAgICAgICAgICAgICAgICAgICBRQWJzdHJhY3RJdGVtTW9k ZWwgKmZpbHRlck1vZGVsKQorKyAgICAgICAgICAgIDogUU9iamVjdCggdHJlZVZpZXcgKQorKyAg ICAgICAgICAgICwgbV90cmVlVmlldyggdHJlZVZpZXcgKQorKyAgICAgICAgICAgICwgbV9maWx0 ZXJNb2RlbCggZmlsdGVyTW9kZWwgKQorKyAgICAgICAgeworKyAgICAgICAgICAgIGNvbm5lY3Qo IGZpbHRlck1vZGVsLCBTSUdOQUwoZGVzdHJveWVkKFFPYmplY3QqKSksIFNMT1QoZGVsZXRlTGF0 ZXIoKSkgKTsKKysgICAgICAgICAgICBjb25uZWN0KCB0cmVlTW9kZWwsIFNJR05BTChhbGxRdWVy aWVzRmluaXNoZWQoYm9vbCkpLCBTTE9UKHNsb3RFeHBhbmRNb3JlKCkpICk7CisrCisrICAgICAg ICAgICAgLy8gc3RhcnQgd2l0aCB0aGUgcm9vdCBpbmRleAorKyAgICAgICAgICAgIG1faW5kaWNl c1RvQ2hlY2suZW5xdWV1ZSggUU1vZGVsSW5kZXgoKSApOworKyAgICAgICAgICAgIHNsb3RFeHBh bmRNb3JlKCk7CisrICAgICAgICB9CisrCisrICAgIHByaXZhdGUgc2xvdHM6CisrICAgICAgICB2 b2lkIHNsb3RFeHBhbmRNb3JlKCkKKysgICAgICAgIHsKKysgICAgICAgICAgICBjb25zdCBpbnQg bWF4Q2hpbGRyZW5Ub0V4cGFuZCA9IDM7CisrCisrICAgICAgICAgICAgUVF1ZXVlPFFNb2RlbElu ZGV4PiBwZW5kaW5nSW5kaWNlczsKKysgICAgICAgICAgICB3aGlsZSggIW1faW5kaWNlc1RvQ2hl Y2suaXNFbXB0eSgpICkKKysgICAgICAgICAgICB7CisrICAgICAgICAgICAgICAgIFFNb2RlbElu ZGV4IGN1cnJlbnQgPSBtX2luZGljZXNUb0NoZWNrLmRlcXVldWUoKTsKKysKKysgICAgICAgICAg ICAgICAgaWYoIG1fZmlsdGVyTW9kZWwtPmNhbkZldGNoTW9yZSggY3VycmVudCApICkKKysgICAg ICAgICAgICAgICAgeworKyAgICAgICAgICAgICAgICAgICAgbV9maWx0ZXJNb2RlbC0+ZmV0Y2hN b3JlKCBjdXJyZW50ICk7CisrICAgICAgICAgICAgICAgICAgICBwZW5kaW5nSW5kaWNlcy5lbnF1 ZXVlKCBjdXJyZW50ICk7CisrICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKKysgICAgICAg ICAgICAgICAgfQorKworKyAgICAgICAgICAgICAgICBpZiggbV9maWx0ZXJNb2RlbC0+cm93Q291 bnQoIGN1cnJlbnQgKSA8PSBtYXhDaGlsZHJlblRvRXhwYW5kICkKKysgICAgICAgICAgICAgICAg eworKyAgICAgICAgICAgICAgICAgICAgbV90cmVlVmlldy0+ZXhwYW5kKCBjdXJyZW50ICk7Cisr ICAgICAgICAgICAgICAgICAgICBmb3IoIGludCBpID0gMDsgaSA8IG1fZmlsdGVyTW9kZWwtPnJv d0NvdW50KCBjdXJyZW50ICk7IGkrKyApCisrICAgICAgICAgICAgICAgICAgICAgICAgbV9pbmRp Y2VzVG9DaGVjay5lbnF1ZXVlKCBtX2ZpbHRlck1vZGVsLT5pbmRleCggaSwgMCwgY3VycmVudCAp ICk7CisrICAgICAgICAgICAgICAgIH0KKysgICAgICAgICAgICB9CisrCisrICAgICAgICAgICAg aWYoIHBlbmRpbmdJbmRpY2VzLmlzRW1wdHkoKSApCisrICAgICAgICAgICAgICAgIC8vIG5vdGhp bmcgbGVmdCB0byBkbworKyAgICAgICAgICAgICAgICBkZWxldGVMYXRlcigpOworKyAgICAgICAg ICAgIGVsc2UKKysgICAgICAgICAgICAgICAgLy8gcHJvY2VzcyBwZW5kaW5nIGluZGljZXMgd2hl biBxdWVyaWVzIGZpbmlzaAorKyAgICAgICAgICAgICAgICBtX2luZGljZXNUb0NoZWNrLnN3YXAo IHBlbmRpbmdJbmRpY2VzICk7CisrICAgICAgICB9CisrCisrICAgIHByaXZhdGU6CisrICAgICAg ICBRX0RJU0FCTEVfQ09QWShBdXRvRXhwYW5kZXIpCisrCisrICAgICAgICBDb2xsZWN0aW9uVHJl ZVZpZXcgKm1fdHJlZVZpZXc7CisrICAgICAgICBRQWJzdHJhY3RJdGVtTW9kZWwgKm1fZmlsdGVy TW9kZWw7CisrICAgICAgICBRUXVldWU8UU1vZGVsSW5kZXg+IG1faW5kaWNlc1RvQ2hlY2s7Cisr fTsKKysKKyBDb2xsZWN0aW9uVHJlZVZpZXc6OkNvbGxlY3Rpb25UcmVlVmlldyggUVdpZGdldCAq cGFyZW50KQorICAgICA6IEFtYXJvazo6UHJldHR5VHJlZVZpZXcoIHBhcmVudCApCisgICAgICwg bV9maWx0ZXJNb2RlbCggMCApCitAQCAtNzA4LDI2ICs3NzQsOCBAQCBDb2xsZWN0aW9uVHJlZVZp ZXc6OnNsb3RDaGVja0F1dG9FeHBhbmQoIGJvb2wgcmVhbGx5RXhwYW5kICkKKyAgICAgaWYoICFt X2ZpbHRlck1vZGVsIHx8ICFyZWFsbHlFeHBhbmQgKQorICAgICAgICAgcmV0dXJuOworIAorLSAg ICAvLyBDYXNlcyB3aGVyZSByb290IGlzIG5vdCBjb2xsZWN0aW9ucyBidXQKKy0gICAgLy8gZm9y IGV4YW1wbGUgbWFnbmF0dW5lcydzIHBsZXRob3JhIG9mIGdlbnJlcywgZG9uJ3QgZXhwYW5kIGJ5 IGRlZmF1bHQKKy0gICAgaWYoIG1fZmlsdGVyTW9kZWwtPnJvd0NvdW50KCkgPiA2ICkKKy0gICAg ICAgIHJldHVybjsKKy0KKy0gICAgUU1vZGVsSW5kZXhMaXN0IGluZGljZXNUb0NoZWNrOworLSAg ICBmb3IoIGludCBpID0gMDsgaSA8IG1fZmlsdGVyTW9kZWwtPnJvd0NvdW50KCk7IGkrKyApIC8v bmVlZCBzb21ldGhpbmcgdG8gc3RhcnQgZm9yJ2luZyB3aXRoCistICAgICAgICBpbmRpY2VzVG9D aGVjayArPSBtX2ZpbHRlck1vZGVsLT5pbmRleCggaSwgMCApOyAvL2xvd2VzdCBsZXZlbCBpcyBm aW5lIGZvciB0aGF0CistCistICAgIFFNb2RlbEluZGV4IGN1cnJlbnQ7CistICAgIGZvciggaW50 IGogPSAwOyBqIDwgaW5kaWNlc1RvQ2hlY2suc2l6ZSgpOyBqKyspCistICAgIHsKKy0gICAgICAg IGN1cnJlbnQgPSBpbmRpY2VzVG9DaGVjay5hdCggaiApOworLSAgICAgICAgaWYoIG1fZmlsdGVy TW9kZWwtPnJvd0NvdW50KCBjdXJyZW50ICkgPCA0ICkKKy0gICAgICAgIHsgLy9kb24ndCBleHBh bmQgaWYgbWFueSByZXN1bHRzCistICAgICAgICAgICAgZXhwYW5kKCBjdXJyZW50ICk7CistICAg ICAgICAgICAgZm9yKCBpbnQgaSA9IDA7IGkgPCBtX2ZpbHRlck1vZGVsLT5yb3dDb3VudCggY3Vy cmVudCApOyBpKysgKQorLSAgICAgICAgICAgICAgICBpbmRpY2VzVG9DaGVjayArPSBtX2ZpbHRl ck1vZGVsLT5pbmRleCggaSwgMCwgY3VycmVudCApOworLSAgICAgICAgfQorLSAgICB9CisrICAg IC8vIGF1dG8tZGVsZXRlcyBpdHNlbGY6CisrICAgIG5ldyBBdXRvRXhwYW5kZXIoIHRoaXMsIG1f dHJlZU1vZGVsLCBtX2ZpbHRlck1vZGVsICk7CisgfQorIAorIHZvaWQKKy0tIAorMi45LjMKKwoK ZGlmZiAtLWdpdCBhLzAwMzYtRml4LUJ1Zy0zMDIyOTktQXV0b3Njcm9sbGluZy1MeXJpY3MtYXJl LXNjcm9sbGluZy1kby5wYXRjaCBiLzAwMzYtRml4LUJ1Zy0zMDIyOTktQXV0b3Njcm9sbGluZy1M eXJpY3MtYXJlLXNjcm9sbGluZy1kby5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw MDAwMDAwLi45MDQ5ZTVkCi0tLSAvZGV2L251bGwKKysrIGIvMDAzNi1GaXgtQnVnLTMwMjI5OS1B dXRvc2Nyb2xsaW5nLUx5cmljcy1hcmUtc2Nyb2xsaW5nLWRvLnBhdGNoCkBAIC0wLDAgKzEsMTAy IEBACitGcm9tIDJhOGNiMzc4NWU1MGNjYjBkNTUxNDQyZTMxMzNhYzFjYzZjMmU4ZjcgTW9uIFNl cCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBZYXNoIExhZGlhIDx5YXNobGFkaWExQGdtYWlsLmNv bT4KK0RhdGU6IFNhdCwgNCBGZWIgMjAxNyAxMTozMzo0OCArMDEwMAorU3ViamVjdDogW1BBVENI IDM2LzQ3XSBGaXggQnVnIDMwMjI5OSAtIEF1dG9zY3JvbGxpbmcgTHlyaWNzIGFyZSBzY3JvbGxp bmcKKyBkb3duIGlmIGEgc29uZyBpcyByYXRlZCB2aWEgQ29udGV4dCBCcm93c2VyJ3MgQ3VycmVu dCBUcmFjaworCitUaGUgYnVnIHdhcyBvY2N1cmluZyBzaW5jZSAndXNlckF1dG9TY3JvbGxPZmZz ZXQnIGFuZCAnb2xkU2xpZGVyUG9zaXRpb24nIHdlcmUgYmVpbmcgcmVzZXQgd2hlbiB0cmFjayBt ZXRhZGF0YSB3YXMgY2hhbmdlZC4gVGhpcyBzaG91bGQgbm90IGhhcHBlbi4KKworSSBzcGxpdCB0 aGUgZnVuY3Rpb246ICd2b2lkIF90cmFja0RhdGFDaGFuZ2VkKCBNZXRhOjpUcmFja1B0ciApJyBp bnRvICd2b2lkIF90cmFja0NoYW5nZWQoIE1ldGE6OlRyYWNrUHRyICknIGFuZCAndm9pZCBfdHJh Y2tNZXRhZGF0YUNoYW5nZWQoIE1ldGE6OlRyYWNrUHRyICknCisKK1JFVklFVzogMTE2NjQxCitC VUdTOiAzMDIyOTkKKy0tLQorIHNyYy9jb250ZXh0L2FwcGxldHMvbHlyaWNzL0x5cmljc0FwcGxl dC5jcHAgfCAxOCArKysrKysrKysrKysrLS0tLS0KKyBzcmMvY29udGV4dC9hcHBsZXRzL2x5cmlj cy9MeXJpY3NBcHBsZXQuaCAgIHwgIDQgKysrLQorIDIgZmlsZXMgY2hhbmdlZCwgMTYgaW5zZXJ0 aW9ucygrKSwgNiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL3NyYy9jb250ZXh0L2FwcGxl dHMvbHlyaWNzL0x5cmljc0FwcGxldC5jcHAgYi9zcmMvY29udGV4dC9hcHBsZXRzL2x5cmljcy9M eXJpY3NBcHBsZXQuY3BwCitpbmRleCA4MjlhMTY2Li44OTZhMDQyIDEwMDY0NAorLS0tIGEvc3Jj L2NvbnRleHQvYXBwbGV0cy9seXJpY3MvTHlyaWNzQXBwbGV0LmNwcAorKysrIGIvc3JjL2NvbnRl eHQvYXBwbGV0cy9seXJpY3MvTHlyaWNzQXBwbGV0LmNwcAorQEAgLTEsNiArMSw3IEBACisgLyoq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAgKiBDb3B5cmlnaHQgKGMpIDIwMDcgTGVv IEZyYW5jaGkgPGxmcmFuY2hpQGdtYWlsLmNvbT4gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgKgorICAqIENvcHlyaWdodCAoYykgMjAwOSBzaW1vbi5lc25lYXVsdCA8c2ltb24uZXNu ZWF1bHRAZ21haWwuY29tPiAgICAgICAgICAgICAgICAgICAgICAgICAqCisrICogQ29weXJpZ2h0 IChjKSAyMDE0IFlhc2ggTGFkaWEgPHlhc2hsYWRpYTFAZ21haWwuY29tPiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICoKKyAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKgor ICAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBp dCBhbmQvb3IgbW9kaWZ5IGl0IHVuZGVyICAgICAgICAqCisgICogdGhlIHRlcm1zIG9mIHRoZSBH TlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdh cmUgICAgICAgICoKK0BAIC04MCw3ICs4MSw4IEBAIHB1YmxpYzoKKyAgICAgdm9pZCBfdG9nZ2xl QXV0b1Njcm9sbCgpOworICAgICB2b2lkIF9zdWdnZXN0aW9uQ2hvc2VuKCBjb25zdCBMeXJpY3NT dWdnZXN0aW9uICZzdWdnZXN0aW9uICk7CisgICAgIHZvaWQgX3Vuc2V0Q3Vyc29yKCk7CistICAg IHZvaWQgX3RyYWNrRGF0YUNoYW5nZWQoIE1ldGE6OlRyYWNrUHRyICk7CisrICAgIHZvaWQgX3Ry YWNrQ2hhbmdlZCggTWV0YTo6VHJhY2tQdHIgKTsKKysgICAgdm9pZCBfdHJhY2tNZXRhZGF0YUNo YW5nZWQoIE1ldGE6OlRyYWNrUHRyICk7CisgICAgIHZvaWQgX3RyYWNrUG9zaXRpb25DaGFuZ2Vk KCBxaW50NjQgcG9zaXRpb24sIGJvb2wgdXNlclNlZWsgKTsKKyAKKyAgICAgdm9pZCBfbHlyaWNz Q2hhbmdlZE1lc3NhZ2VCdXR0b25QcmVzc2VkKCBjb25zdCBQbGFzbWE6Ok1lc3NhZ2VCdXR0b24g YnV0dG9uICk7CitAQCAtMzY5LDExICszNzEsMTcgQEAgTHlyaWNzQXBwbGV0UHJpdmF0ZTo6X3Vu c2V0Q3Vyc29yKCkKKyB9CisgCisgdm9pZAorLUx5cmljc0FwcGxldFByaXZhdGU6Ol90cmFja0Rh dGFDaGFuZ2VkKCBNZXRhOjpUcmFja1B0ciB0cmFjayApCisrTHlyaWNzQXBwbGV0UHJpdmF0ZTo6 X3RyYWNrQ2hhbmdlZCggTWV0YTo6VHJhY2tQdHIgdHJhY2sgKQorIHsKKyAgICAgdXNlckF1dG9T Y3JvbGxPZmZzZXQgPSAwOworICAgICBvbGRTbGlkZXJQb3NpdGlvbiA9IDA7CisrICAgIC8vIG1l dGEgZGF0YSBhbHNvIGNoYW5nZWQsIHNvIHRvIGF2b2lkIGNvZGUgZHVwbGljYXRpb24KKysgICAg X3RyYWNrTWV0YWRhdGFDaGFuZ2VkKCB0cmFjayApOworK30KKyAKKyt2b2lkCisrTHlyaWNzQXBw bGV0UHJpdmF0ZTo6X3RyYWNrTWV0YWRhdGFDaGFuZ2VkKCBNZXRhOjpUcmFja1B0ciB0cmFjayAp CisreworICAgICAvLyBDaGVjayBpZiB3ZSBwcmV2aW91c2x5IGhhZCBhIHRyYWNrLgorICAgICAv LyBJZiB0aGUgbHlyaWNzIGN1cnJlbnRseSBzaG93biBpbiB0aGUgYnJvd3NlciAod2hpY2gKKyAg ICAgLy8gYWRkaXRpb25hbGx5IGlzIGluIGVkaXQgbW9kZSkgYXJlIGRpZmZlcmVudCBmcm9tIHRo ZQorQEAgLTUxMiwxNSArNTIwLDE1IEBAIEx5cmljc0FwcGxldDo6aW5pdCgpCisgCisgICAgIEVu Z2luZUNvbnRyb2xsZXIqIGVuZ2luZSA9IFRoZTo6ZW5naW5lQ29udHJvbGxlcigpOworIAorLSAg ICBjb25uZWN0KCBlbmdpbmUsIFNJR05BTCh0cmFja0NoYW5nZWQoTWV0YTo6VHJhY2tQdHIpKSwg dGhpcywgU0xPVChfdHJhY2tEYXRhQ2hhbmdlZChNZXRhOjpUcmFja1B0cikpICk7CistICAgIGNv bm5lY3QoIGVuZ2luZSwgU0lHTkFMKHRyYWNrTWV0YWRhdGFDaGFuZ2VkKE1ldGE6OlRyYWNrUHRy KSksIHRoaXMsIFNMT1QoX3RyYWNrRGF0YUNoYW5nZWQoTWV0YTo6VHJhY2tQdHIpKSApOworKyAg ICBjb25uZWN0KCBlbmdpbmUsIFNJR05BTCh0cmFja0NoYW5nZWQoTWV0YTo6VHJhY2tQdHIpKSwg dGhpcywgU0xPVChfdHJhY2tDaGFuZ2VkKE1ldGE6OlRyYWNrUHRyKSkgKTsKKysgICAgY29ubmVj dCggZW5naW5lLCBTSUdOQUwodHJhY2tNZXRhZGF0YUNoYW5nZWQoTWV0YTo6VHJhY2tQdHIpKSwg dGhpcywgU0xPVChfdHJhY2tNZXRhZGF0YUNoYW5nZWQoTWV0YTo6VHJhY2tQdHIpKSApOworICAg ICBjb25uZWN0KCBlbmdpbmUsIFNJR05BTCh0cmFja1Bvc2l0aW9uQ2hhbmdlZChxaW50NjQsYm9v bCkpLCB0aGlzLCBTTE9UKF90cmFja1Bvc2l0aW9uQ2hhbmdlZChxaW50NjQsYm9vbCkpICk7Cisg ICAgIGNvbm5lY3QoIGQtPnN1Z2dlc3RWaWV3LCBTSUdOQUwoc2VsZWN0ZWQoTHlyaWNzU3VnZ2Vz dGlvbikpLCBTTE9UKF9zdWdnZXN0aW9uQ2hvc2VuKEx5cmljc1N1Z2dlc3Rpb24pKSApOworICAg ICBjb25uZWN0KCBkYXRhRW5naW5lKCJhbWFyb2stbHlyaWNzIiksIFNJR05BTChzb3VyY2VBZGRl ZChRU3RyaW5nKSksIHRoaXMsIFNMT1QoY29ubmVjdFNvdXJjZShRU3RyaW5nKSkgKTsKKyAKKyAg ICAgLy8gVGhpcyBpcyBuZWVkZWQgYXMgYSB0cmFjayBtaWdodCBiZSBwbGF5aW5nIHdoZW4gdGhl IGx5cmljcyBhcHBsZXQKKyAgICAgLy8gaXMgYWRkZWQgdG8gdGhlIENvbnRleHRWaWV3LgorLSAg ICBkLT5fdHJhY2tEYXRhQ2hhbmdlZCggZW5naW5lLT5jdXJyZW50VHJhY2soKSApOworKyAgICBk LT5fdHJhY2tDaGFuZ2VkKCBlbmdpbmUtPmN1cnJlbnRUcmFjaygpICk7CisgICAgIGQtPl90cmFj a1Bvc2l0aW9uQ2hhbmdlZCggZW5naW5lLT50cmFja1Bvc2l0aW9uTXMoKSwgZmFsc2UgKTsKKyAK KyAgICAgZC0+ZGV0ZXJtaW5lQWN0aW9uSWNvbnNTdGF0ZSgpOworZGlmZiAtLWdpdCBhL3NyYy9j b250ZXh0L2FwcGxldHMvbHlyaWNzL0x5cmljc0FwcGxldC5oIGIvc3JjL2NvbnRleHQvYXBwbGV0 cy9seXJpY3MvTHlyaWNzQXBwbGV0LmgKK2luZGV4IDIwYzcxZDguLjUyOGEzMjMgMTAwNjQ0Cist LS0gYS9zcmMvY29udGV4dC9hcHBsZXRzL2x5cmljcy9MeXJpY3NBcHBsZXQuaAorKysrIGIvc3Jj L2NvbnRleHQvYXBwbGV0cy9seXJpY3MvTHlyaWNzQXBwbGV0LmgKK0BAIC0xLDYgKzEsNyBAQAor IC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgICogQ29weXJpZ2h0IChjKSAyMDA3 IExlbyBGcmFuY2hpIDxsZnJhbmNoaUBnbWFpbC5jb20+ICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICoKKyAgKiBDb3B5cmlnaHQgKGMpIDIwMDkgc2ltb24uZXNuZWF1bHQgPHNpbW9u LmVzbmVhdWx0QGdtYWlsLmNvbT4gICAgICAgICAgICAgICAgICAgICAgICAgKgorKyAqIENvcHly aWdodCAoYykgMjAxNCBZYXNoIExhZGlhIDx5YXNobGFkaWExQGdtYWlsLmNvbT4gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAqCisgICogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICoKKyAgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1 dGUgaXQgYW5kL29yIG1vZGlmeSBpdCB1bmRlciAgICAgICAgKgorICAqIHRoZSB0ZXJtcyBvZiB0 aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNv ZnR3YXJlICAgICAgICAqCitAQCAtNTcsNyArNTgsOCBAQCBwcml2YXRlOgorICAgICBRX1BSSVZB VEVfU0xPVCggZF9wdHIsIHZvaWQgX3RvZ2dsZUF1dG9TY3JvbGwoKSApCisgICAgIFFfUFJJVkFU RV9TTE9UKCBkX3B0ciwgdm9pZCBfc3VnZ2VzdGlvbkNob3NlbihMeXJpY3NTdWdnZXN0aW9uKSAp CisgICAgIFFfUFJJVkFURV9TTE9UKCBkX3B0ciwgdm9pZCBfdW5zZXRDdXJzb3IoKSApCistICAg IFFfUFJJVkFURV9TTE9UKCBkX3B0ciwgdm9pZCBfdHJhY2tEYXRhQ2hhbmdlZCggTWV0YTo6VHJh Y2tQdHIgKSApCisrICAgIFFfUFJJVkFURV9TTE9UKCBkX3B0ciwgdm9pZCBfdHJhY2tDaGFuZ2Vk KCBNZXRhOjpUcmFja1B0ciApICkKKysgICAgUV9QUklWQVRFX1NMT1QoIGRfcHRyLCB2b2lkIF90 cmFja01ldGFkYXRhQ2hhbmdlZCggTWV0YTo6VHJhY2tQdHIgKSApCisgICAgIFFfUFJJVkFURV9T TE9UKCBkX3B0ciwgdm9pZCBfdHJhY2tQb3NpdGlvbkNoYW5nZWQoIHFpbnQ2NCBwb3NpdGlvbiwg Ym9vbCB1c2VyU2VlayApICkKKyAgICAgUV9QUklWQVRFX1NMT1QoIGRfcHRyLCB2b2lkIF9seXJp Y3NDaGFuZ2VkTWVzc2FnZUJ1dHRvblByZXNzZWQoY29uc3QgUGxhc21hOjpNZXNzYWdlQnV0dG9u KSApCisgICAgIFFfUFJJVkFURV9TTE9UKCBkX3B0ciwgdm9pZCBfcmVmZXRjaE1lc3NhZ2VCdXR0 b25QcmVzc2VkKGNvbnN0IFBsYXNtYTo6TWVzc2FnZUJ1dHRvbikgKQorLS0gCisyLjkuMworCgpk aWZmIC0tZ2l0IGEvMDAzNy1GaXgtbWlub3ItdHlwby5wYXRjaCBiLzAwMzctRml4LW1pbm9yLXR5 cG8ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWI2MzJkYwotLS0g L2Rldi9udWxsCisrKyBiLzAwMzctRml4LW1pbm9yLXR5cG8ucGF0Y2gKQEAgLTAsMCArMSw0MiBA QAorRnJvbSAwZmViNjI1MTkyNWZlMDQ5YzQ2Y2NmNTE1M2RiNGI0NjdmMzU0NGZiIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQorRnJvbTogUm9iZXJ0IE1hcnNoYWxsIDxyb2JlcnRAY2FwdWNoaW4u Y28udWs+CitEYXRlOiBTYXQsIDQgRmViIDIwMTcgMTg6NDk6NDEgKzAxMDAKK1N1YmplY3Q6IFtQ QVRDSCAzNy80N10gRml4IG1pbm9yIHR5cG8KKworYWRkIHRoZSB3b3JkICdzcGVjaWZ5JyB0byB0 ZXh0CisKK1JFVklFVzogMTIzNjM1CistLS0KKyBzcmMvcGxheWxpc3RnZW5lcmF0b3IvY29uc3Ry YWludHMvUGxheWxpc3RGaWxlU2l6ZUVkaXRXaWRnZXQudWkgfCAyICstCisgc3JjL3BsYXlsaXN0 Z2VuZXJhdG9yL2NvbnN0cmFpbnRzL1BsYXlsaXN0TGVuZ3RoRWRpdFdpZGdldC51aSAgIHwgMiAr LQorIDIgZmlsZXMgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQorCitk aWZmIC0tZ2l0IGEvc3JjL3BsYXlsaXN0Z2VuZXJhdG9yL2NvbnN0cmFpbnRzL1BsYXlsaXN0Rmls ZVNpemVFZGl0V2lkZ2V0LnVpIGIvc3JjL3BsYXlsaXN0Z2VuZXJhdG9yL2NvbnN0cmFpbnRzL1Bs YXlsaXN0RmlsZVNpemVFZGl0V2lkZ2V0LnVpCitpbmRleCBmY2U1YzU0Li40MGE5YWIyIDEwMDY0 NAorLS0tIGEvc3JjL3BsYXlsaXN0Z2VuZXJhdG9yL2NvbnN0cmFpbnRzL1BsYXlsaXN0RmlsZVNp emVFZGl0V2lkZ2V0LnVpCisrKysgYi9zcmMvcGxheWxpc3RnZW5lcmF0b3IvY29uc3RyYWludHMv UGxheWxpc3RGaWxlU2l6ZUVkaXRXaWRnZXQudWkKK0BAIC0xMiw3ICsxMiw3IEBACisgICAgPC9y ZWN0PgorICAgPC9wcm9wZXJ0eT4KKyAgIDxwcm9wZXJ0eSBuYW1lPSJ3aGF0c1RoaXMiPgorLSAg IDxzdHJpbmc+QW4gZWRpdG9yIGZvciBhIFBsYXlsaXN0IExlbmd0aCBjb25zdHJhaW50LiAgVGhl IHVzZXIgY2FuIHRoZSB0YXJnZXQgbnVtYmVyIG9mIHRyYWNrcyBhbmQgd2hldGhlciB0aGUgcGxh eWxpc3QgY29udGFpbiBmZXdlciB0aGFuLCBlcXVhbCB0bywgb3IgbW9yZSB0aGFuIHRoYXQgbnVt YmVyIG9mIHRyYWNrczsgYW5kIHRoZSBzdHJpY3RuZXNzIHdpdGggd2hpY2ggdGhlIEFQRyBzaG91 bGQgbWF0Y2ggdGhlIHRhcmdldCBudW1iZXIgb2YgdHJhY2tzLjwvc3RyaW5nPgorKyAgIDxzdHJp bmc+QW4gZWRpdG9yIGZvciBhIFBsYXlsaXN0IExlbmd0aCBjb25zdHJhaW50LiAgVGhlIHVzZXIg Y2FuIHNwZWNpZnkgdGhlIHRhcmdldCBudW1iZXIgb2YgdHJhY2tzIGFuZCB3aGV0aGVyIHRoZSBw bGF5bGlzdCBjb250YWluIGZld2VyIHRoYW4sIGVxdWFsIHRvLCBvciBtb3JlIHRoYW4gdGhhdCBu dW1iZXIgb2YgdHJhY2tzOyBhbmQgdGhlIHN0cmljdG5lc3Mgd2l0aCB3aGljaCB0aGUgQVBHIHNo b3VsZCBtYXRjaCB0aGUgdGFyZ2V0IG51bWJlciBvZiB0cmFja3MuPC9zdHJpbmc+CisgICA8L3By b3BlcnR5PgorICAgPGxheW91dCBjbGFzcz0iUVZCb3hMYXlvdXQiIG5hbWU9InZlcnRpY2FsTGF5 b3V0Ij4KKyAgICA8aXRlbT4KK2RpZmYgLS1naXQgYS9zcmMvcGxheWxpc3RnZW5lcmF0b3IvY29u c3RyYWludHMvUGxheWxpc3RMZW5ndGhFZGl0V2lkZ2V0LnVpIGIvc3JjL3BsYXlsaXN0Z2VuZXJh dG9yL2NvbnN0cmFpbnRzL1BsYXlsaXN0TGVuZ3RoRWRpdFdpZGdldC51aQoraW5kZXggZjk3Njk3 YS4uMjA2YzkxZiAxMDA2NDQKKy0tLSBhL3NyYy9wbGF5bGlzdGdlbmVyYXRvci9jb25zdHJhaW50 cy9QbGF5bGlzdExlbmd0aEVkaXRXaWRnZXQudWkKKysrKyBiL3NyYy9wbGF5bGlzdGdlbmVyYXRv ci9jb25zdHJhaW50cy9QbGF5bGlzdExlbmd0aEVkaXRXaWRnZXQudWkKK0BAIC0xMiw3ICsxMiw3 IEBACisgICAgPC9yZWN0PgorICAgPC9wcm9wZXJ0eT4KKyAgIDxwcm9wZXJ0eSBuYW1lPSJ3aGF0 c1RoaXMiPgorLSAgIDxzdHJpbmc+QW4gZWRpdG9yIGZvciBhIFBsYXlsaXN0IExlbmd0aCBjb25z dHJhaW50LiAgVGhlIHVzZXIgY2FuIHRoZSB0YXJnZXQgbnVtYmVyIG9mIHRyYWNrcyBhbmQgd2hl dGhlciB0aGUgcGxheWxpc3QgY29udGFpbiBmZXdlciB0aGFuLCBlcXVhbCB0bywgb3IgbW9yZSB0 aGFuIHRoYXQgbnVtYmVyIG9mIHRyYWNrczsgYW5kIHRoZSBzdHJpY3RuZXNzIHdpdGggd2hpY2gg dGhlIEFQRyBzaG91bGQgbWF0Y2ggdGhlIHRhcmdldCBudW1iZXIgb2YgdHJhY2tzLjwvc3RyaW5n PgorKyAgIDxzdHJpbmc+QW4gZWRpdG9yIGZvciBhIFBsYXlsaXN0IExlbmd0aCBjb25zdHJhaW50 LiAgVGhlIHVzZXIgY2FuIHNwZWNpZnkgdGhlIHRhcmdldCBudW1iZXIgb2YgdHJhY2tzIGFuZCB3 aGV0aGVyIHRoZSBwbGF5bGlzdCBjb250YWluIGZld2VyIHRoYW4sIGVxdWFsIHRvLCBvciBtb3Jl IHRoYW4gdGhhdCBudW1iZXIgb2YgdHJhY2tzOyBhbmQgdGhlIHN0cmljdG5lc3Mgd2l0aCB3aGlj aCB0aGUgQVBHIHNob3VsZCBtYXRjaCB0aGUgdGFyZ2V0IG51bWJlciBvZiB0cmFja3MuPC9zdHJp bmc+CisgICA8L3Byb3BlcnR5PgorICAgPGxheW91dCBjbGFzcz0iUVZCb3hMYXlvdXQiIG5hbWU9 InZlcnRpY2FsTGF5b3V0Ij4KKyAgICA8aXRlbT4KKy0tIAorMi45LjMKKwoKZGlmZiAtLWdpdCBh LzAwMzgtRml4LWFtYXJvay1idWlsZC13aXRoLUxpYk9GQS11c2luZy1mZm1wZWctMy5wYXRjaCBi LzAwMzgtRml4LWFtYXJvay1idWlsZC13aXRoLUxpYk9GQS11c2luZy1mZm1wZWctMy5wYXRjaApu ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40OWE3NGM4Ci0tLSAvZGV2L251bGwK KysrIGIvMDAzOC1GaXgtYW1hcm9rLWJ1aWxkLXdpdGgtTGliT0ZBLXVzaW5nLWZmbXBlZy0zLnBh dGNoCkBAIC0wLDAgKzEsNzQgQEAKK0Zyb20gNTUzNWJlODYzNWQzZjc0Y2NjNzc0ZWUyOGUwODA0 ZDdhYWVlZWM0MSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEFsZXhpcyBCQUxMSUVS IDxhYmFsbGllckBnZW50b28ub3JnPgorRGF0ZTogU3VuLCAxMiBGZWIgMjAxNyAxNzo0Mjo1MCAr MDEwMAorU3ViamVjdDogW1BBVENIIDM4LzQ3XSBGaXggYW1hcm9rIGJ1aWxkIHdpdGggTGliT0ZB IHVzaW5nIGZmbXBlZyAzKworCitUZXN0aW5nIERvbmU6CitodHRwczovL2J1Z3MuZ2VudG9vLm9y Zy9zaG93X2J1Zy5jZ2k/aWQ9NjAxODAwCisKK1JFVklFVzogMTI5NjI2CistLS0KKyBzcmMvbXVz aWNicmFpbnovTXVzaWNETlNBdWRpb0RlY29kZXIuY3BwIHwgMTIgKysrKysrLS0tLS0tCisgMSBm aWxlIGNoYW5nZWQsIDYgaW5zZXJ0aW9ucygrKSwgNiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdp dCBhL3NyYy9tdXNpY2JyYWluei9NdXNpY0ROU0F1ZGlvRGVjb2Rlci5jcHAgYi9zcmMvbXVzaWNi cmFpbnovTXVzaWNETlNBdWRpb0RlY29kZXIuY3BwCitpbmRleCBlYTM5YTFiLi40Mzc2N2Q1IDEw MDY0NAorLS0tIGEvc3JjL211c2ljYnJhaW56L011c2ljRE5TQXVkaW9EZWNvZGVyLmNwcAorKysr IGIvc3JjL211c2ljYnJhaW56L011c2ljRE5TQXVkaW9EZWNvZGVyLmNwcAorQEAgLTIyMyw3ICsy MjMsNyBAQCBNdXNpY0ROU0F1ZGlvRGVjb2Rlcjo6ZGVjb2RlKCBjb25zdCBRU3RyaW5nICZmaWxl TmFtZSwgRGVjb2RlZEF1ZGlvRGF0YSAqZGF0YSwgYworICAgICAgICAgICAgIHsKKyAgICAgICAg ICAgICAgICAgaWYoICFkZWNvZGVkRnJhbWUgKQorICAgICAgICAgICAgICAgICB7CistICAgICAg ICAgICAgICAgICAgICBkZWNvZGVkRnJhbWUgPSBhdmNvZGVjX2FsbG9jX2ZyYW1lKCk7CisrICAg ICAgICAgICAgICAgICAgICBkZWNvZGVkRnJhbWUgPSBhdl9mcmFtZV9hbGxvYygpOworICAgICAg ICAgICAgICAgICAgICAgaWYoICFkZWNvZGVkRnJhbWUgKQorICAgICAgICAgICAgICAgICAgICAg eworICAgICAgICAgICAgICAgICAgICAgICAgIHdhcm5pbmcoKSA8PCAiVW5hYmxlIHRvIGFsbG9j YXRlIGVub3VnaCBtZW1vcnkgdG8gZGVjb2RlIGZpbGUuIjsKK0BAIC0yMzEsNyArMjMxLDcgQEAg TXVzaWNETlNBdWRpb0RlY29kZXI6OmRlY29kZSggY29uc3QgUVN0cmluZyAmZmlsZU5hbWUsIERl Y29kZWRBdWRpb0RhdGEgKmRhdGEsIGMKKyAgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsK KyAgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgIGVsc2UKKy0gICAg ICAgICAgICAgICAgICAgICAgICBhdmNvZGVjX2dldF9mcmFtZV9kZWZhdWx0cyggZGVjb2RlZEZy YW1lICk7CisrCQkgICAgICAgICBhdl9mcmFtZV91bnJlZiggZGVjb2RlZEZyYW1lICk7CisgICAg ICAgICAgICAgICAgIH0KKyAKKyAgICAgICAgICAgICAgICAgZGVjb2RlclJldCA9IGF2Y29kZWNf ZGVjb2RlX2F1ZGlvNCggcENvZGVjQ3R4LCBkZWNvZGVkRnJhbWUsICZnb3RGcmFtZSwgJmF2cGt0 ICk7CitAQCAtMzQxLDcgKzM0MSw3IEBAIE11c2ljRE5TQXVkaW9EZWNvZGVyOjpkZWNvZGUoIGNv bnN0IFFTdHJpbmcgJmZpbGVOYW1lLCBEZWNvZGVkQXVkaW9EYXRhICpkYXRhLCBjCisgICAgICAg ICAgICAgeworICAgICAgICAgICAgICAgICBpZiggIWRlY29kZWRGcmFtZSApCisgICAgICAgICAg ICAgICAgIHsKKy0gICAgICAgICAgICAgICAgICAgIGRlY29kZWRGcmFtZSA9IGF2Y29kZWNfYWxs b2NfZnJhbWUoKTsKKysgICAgICAgICAgICAgICAgICAgIGRlY29kZWRGcmFtZSA9IGF2X2ZyYW1l X2FsbG9jKCk7CisgICAgICAgICAgICAgICAgICAgICBpZiggIWRlY29kZWRGcmFtZSApCisgICAg ICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICAgICAgd2FybmluZygpIDw8 ICJVbmFibGUgdG8gYWxsb2NhdGUgZW5vdWdoIG1lbW9yeSB0byBkZWNvZGUgZmlsZS4iOworQEAg LTM0OSw3ICszNDksNyBAQCBNdXNpY0ROU0F1ZGlvRGVjb2Rlcjo6ZGVjb2RlKCBjb25zdCBRU3Ry aW5nICZmaWxlTmFtZSwgRGVjb2RlZEF1ZGlvRGF0YSAqZGF0YSwgYworICAgICAgICAgICAgICAg ICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAg ICAgICAgZWxzZQorLSAgICAgICAgICAgICAgICAgICAgICAgIGF2Y29kZWNfZ2V0X2ZyYW1lX2Rl ZmF1bHRzKCBkZWNvZGVkRnJhbWUgKTsKKysJCSAgICAgICAgIGF2X2ZyYW1lX3VucmVmKCBkZWNv ZGVkRnJhbWUgKTsKKyAgICAgICAgICAgICAgICAgfQorIAorICAgICAgICAgICAgICAgICBkZWNv ZGVyUmV0ID0gYXZjb2RlY19kZWNvZGVfYXVkaW80KCBwQ29kZWNDdHgsIGRlY29kZWRGcmFtZSwg JmdvdEZyYW1lLCAmYXZwa3QgKTsKK0BAIC00NTksNyArNDU5LDcgQEAgTXVzaWNETlNBdWRpb0Rl Y29kZXI6OmRlY29kZSggY29uc3QgUVN0cmluZyAmZmlsZU5hbWUsIERlY29kZWRBdWRpb0RhdGEg KmRhdGEsIGMKKyAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgIGlmKCAhZGVjb2RlZEZy YW1lICkKKyAgICAgICAgICAgICAgICAgeworLSAgICAgICAgICAgICAgICAgICAgZGVjb2RlZEZy YW1lID0gYXZjb2RlY19hbGxvY19mcmFtZSgpOworKyAgICAgICAgICAgICAgICAgICAgZGVjb2Rl ZEZyYW1lID0gYXZfZnJhbWVfYWxsb2MoKTsKKyAgICAgICAgICAgICAgICAgICAgIGlmKCAhZGVj b2RlZEZyYW1lICkKKyAgICAgICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAg ICAgICB3YXJuaW5nKCkgPDwgIlVuYWJsZSB0byBhbGxvY2F0ZSBlbm91Z2ggbWVtb3J5IHRvIGRl Y29kZSBmaWxlLiI7CitAQCAtNDY3LDcgKzQ2Nyw3IEBAIE11c2ljRE5TQXVkaW9EZWNvZGVyOjpk ZWNvZGUoIGNvbnN0IFFTdHJpbmcgJmZpbGVOYW1lLCBEZWNvZGVkQXVkaW9EYXRhICpkYXRhLCBj CisgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgICAgICB9 CisgICAgICAgICAgICAgICAgICAgICBlbHNlCistICAgICAgICAgICAgICAgICAgICAgICAgYXZj b2RlY19nZXRfZnJhbWVfZGVmYXVsdHMoIGRlY29kZWRGcmFtZSApOworKwkJICAgICAgICAgYXZf ZnJhbWVfdW5yZWYoIGRlY29kZWRGcmFtZSApOworICAgICAgICAgICAgICAgICB9CisgCisgICAg ICAgICAgICAgICAgIGRlY29kZXJSZXQgPSBhdmNvZGVjX2RlY29kZV9hdWRpbzQoIHBDb2RlY0N0 eCwgZGVjb2RlZEZyYW1lLCAmZ290RnJhbWUsICZhdnBrdCApOworLS0gCisyLjkuMworCgpkaWZm IC0tZ2l0IGEvMDAzOS1GaXgtR3BvZGRlci1jcmVkZW50aWFsLXNlcnZpY2Utd2l0aG91dC1rd2Fs bGV0LnBhdGNoIGIvMDAzOS1GaXgtR3BvZGRlci1jcmVkZW50aWFsLXNlcnZpY2Utd2l0aG91dC1r d2FsbGV0LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBmMjBkYWEK LS0tIC9kZXYvbnVsbAorKysgYi8wMDM5LUZpeC1HcG9kZGVyLWNyZWRlbnRpYWwtc2VydmljZS13 aXRob3V0LWt3YWxsZXQucGF0Y2gKQEAgLTAsMCArMSw2MCBAQAorRnJvbSAzMmRlNjU3NzAwOTAy NTUxZjYwMGRlODM2MDIxMzYxZWY5NjViYjM2IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJv bTogR2l1c2VwcGUgU2lsbGV0dGkgPHNpbGxldHRpZ0BnbWFpbC5jb20+CitEYXRlOiBGcmksIDE3 IEZlYiAyMDE3IDExOjE0OjM5ICswMTAwCitTdWJqZWN0OiBbUEFUQ0ggMzkvNDddIEZpeCBHcG9k ZGVyIGNyZWRlbnRpYWwgc2VydmljZSB3aXRob3V0IGt3YWxsZXQKKworQmVmb3JlIHRvIGZpeCB0 aGlzIGJ1ZywgdGhlIGdwb2RkZXIgcGx1Z2luIGhhZCBwcm9ibGVtcyB3aXRoIHNhdmluZyB1c2Vy bmFtZSBhbmQgcGFzc3dvcmQgaW4gcGxhaW4gdGV4dC4KKworVGhlcmUgd2VyZSB0d28gcHJvYmxl bXM6CisKKzEpIEEgdXNlbGVzcyBzcGFjZSBmb3IgdGhlIHZhcmlhYmxlIG1faWdub3JlV2FsbGV0 IHdhcyBzYXZlZCBpbiB0aGUgY29uZmlnIGZpbGUKKzIpIFRoZSBzYXZpbmcgb2YgdGhlIGNyZWRl bnRpYWwgaW4gcGxhaW4gdGV4dCB3aGVyZSBtYWRlIGluIHRoZSB3cm9uZyB3YXkuCitOb3cgaXQg aXMgY2FsbGVkIHRoZSBmdW5jdGlvbiBhc2tBYm91dE1pc3NpbmdLV2FsbGV0KCksIHRoYXQgbWFr ZSB0aGUgdXNlIHNlZSBhIGRpYWxvZyB3aW5kb3dzIHdoZXJlIGlzIGFza2VkIHRvIHNhdmUgdGhl IGNyZWRlbnRpYWwgaW4gcGxhaW4gdGV4dC4KK0NyZWRlbnRpYWwgYXJlIG5vdyBzYXZlZCBpbiB0 aGUgdGV4dERpYWxvZ1llcyBzbG90LgorCitSRVZJRVc6IDEyMjc5NworLS0tCisgc3JjL3NlcnZp Y2VzL2dwb2RkZXIvR3BvZGRlclNlcnZpY2VDb25maWcuY3BwIHwgMTMgKysrKysrLS0tLS0tLQor IDEgZmlsZSBjaGFuZ2VkLCA2IGluc2VydGlvbnMoKyksIDcgZGVsZXRpb25zKC0pCisKK2RpZmYg LS1naXQgYS9zcmMvc2VydmljZXMvZ3BvZGRlci9HcG9kZGVyU2VydmljZUNvbmZpZy5jcHAgYi9z cmMvc2VydmljZXMvZ3BvZGRlci9HcG9kZGVyU2VydmljZUNvbmZpZy5jcHAKK2luZGV4IDkwOThk NTkuLjQ3ZWJkMzkgMTAwNjQ0CistLS0gYS9zcmMvc2VydmljZXMvZ3BvZGRlci9HcG9kZGVyU2Vy dmljZUNvbmZpZy5jcHAKKysrKyBiL3NyYy9zZXJ2aWNlcy9ncG9kZGVyL0dwb2RkZXJTZXJ2aWNl Q29uZmlnLmNwcAorQEAgLTEzMSwxMSArMTMxLDYgQEAgR3BvZGRlclNlcnZpY2VDb25maWc6OnNh dmUoKQorICAgICAgICAgaWYoIG1fd2FsbGV0LT53cml0ZVBhc3N3b3JkKCAiZ3BvZGRlcl9wYXNz d29yZCIsIG1fcGFzc3dvcmQgKSAhPSAwICkKKyAgICAgICAgICAgICBkZWJ1ZygpIDw8ICJGYWls ZWQgdG8gc2F2ZSBncG9kZGVyLm5ldCBwdyB0byBrd2FsbGV0ISI7CisgICAgIH0KKy0gICAgZWxz ZSBpZiggbV9pZ25vcmVXYWxsZXQgKQorLSAgICB7CistICAgICAgICBjb25maWcud3JpdGVFbnRy eSggInVzZXJuYW1lIiwgbV91c2VybmFtZSApOworLSAgICAgICAgY29uZmlnLndyaXRlRW50cnko ICJwYXNzd29yZCIsIG1fcGFzc3dvcmQgKTsKKy0gICAgfQorICAgICBlbHNlCisgICAgIHsKKyAg ICAgICAgIGlmKCBtX2VuYWJsZVByb3ZpZGVyICkKK0BAIC0yMTIsNyArMjA3LDkgQEAgR3BvZGRl clNlcnZpY2VDb25maWc6OnRleHREaWFsb2dZZXMoKSAvL1NMT1QKKyAgICAgICAgIEtDb25maWdH cm91cCBjb25maWcgPSBLR2xvYmFsOjpjb25maWcoKS0+Z3JvdXAoIGNvbmZpZ1NlY3Rpb25OYW1l KCkgKTsKKyAKKyAgICAgICAgIG1faWdub3JlV2FsbGV0ID0gdHJ1ZTsKKy0gICAgICAgIGNvbmZp Zy53cml0ZUVudHJ5KCAiaWdub3JlV2FsbGV0ICIsIG1faWdub3JlV2FsbGV0ICk7CisrICAgICAg ICBjb25maWcud3JpdGVFbnRyeSggImlnbm9yZVdhbGxldCIsIG1faWdub3JlV2FsbGV0ICk7Cisr ICAgICAgICBjb25maWcud3JpdGVFbnRyeSggInVzZXJuYW1lIiwgbV91c2VybmFtZSApOworKyAg ICAgICAgY29uZmlnLndyaXRlRW50cnkoICJwYXNzd29yZCIsIG1fcGFzc3dvcmQgKTsKKyAKKyAg ICAgICAgIGNvbmZpZy5zeW5jKCk7CisgICAgIH0KK0BAIC0yMjgsNyArMjI1LDkgQEAgR3BvZGRl clNlcnZpY2VDb25maWc6OnRleHREaWFsb2dObygpIC8vU0xPVAorICAgICAgICAgS0NvbmZpZ0dy b3VwIGNvbmZpZyA9IEtHbG9iYWw6OmNvbmZpZygpLT5ncm91cCggY29uZmlnU2VjdGlvbk5hbWUo KSApOworIAorICAgICAgICAgbV9pZ25vcmVXYWxsZXQgPSBmYWxzZTsKKy0gICAgICAgIGNvbmZp Zy53cml0ZUVudHJ5KCAiaWdub3JlV2FsbGV0ICIsIG1faWdub3JlV2FsbGV0ICk7CisrICAgICAg ICBjb25maWcud3JpdGVFbnRyeSggImlnbm9yZVdhbGxldCIsIG1faWdub3JlV2FsbGV0ICk7Cisr ICAgICAgICBjb25maWcud3JpdGVFbnRyeSggInVzZXJuYW1lIiwgUVN0cmluZygpICk7CisrICAg ICAgICBjb25maWcud3JpdGVFbnRyeSggInBhc3N3b3JkIiwgUVN0cmluZygpICk7CisgCisgICAg ICAgICBjb25maWcuc3luYygpOworICAgICB9CistLSAKKzIuOS4zCisKCmRpZmYgLS1naXQgYS8w MDQxLUFkZC1uYW1lc3BhY2UtdG8tZGVza3RvcC1hbmQtYXBwZGF0YS1maWxlcy5wYXRjaCBiLzAw NDEtQWRkLW5hbWVzcGFjZS10by1kZXNrdG9wLWFuZC1hcHBkYXRhLWZpbGVzLnBhdGNoCm5ldyBm aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmMxOTViODIKLS0tIC9kZXYvbnVsbAorKysg Yi8wMDQxLUFkZC1uYW1lc3BhY2UtdG8tZGVza3RvcC1hbmQtYXBwZGF0YS1maWxlcy5wYXRjaApA QCAtMCwwICsxLDc3IEBACitGcm9tIDIyZTBhYzJiYWYwOTc1YTFkYWJiZmE3ODkyZjhjNTJjMzg5 OTAyMzUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBMdWlnaSBUb3NjYW5vIDxsdWln aS50b3NjYW5vQHRpc2NhbGkuaXQ+CitEYXRlOiBTdW4sIDE2IE9jdCAyMDE2IDE2OjExOjI3ICsw MjAwCitTdWJqZWN0OiBbUEFUQ0ggNDEvNDddIEFkZCBuYW1lc3BhY2UgdG8gZGVza3RvcCBhbmQg YXBwZGF0YSBmaWxlcworCistIGFkZCB0aGUgb3JnYW5pemF0aW9uIG5hbWVzcGFjZSB0byB0aGUg ZGVza3RvcCBhbmQgdGhlbiBhcHBkYXRhIGZpbGVzLAorICBhY2NvcmRpbmcgdGhlIHNwZWNpZmlj YXRpb247CistIHVzZSB0aGUgbmV3IGRpcmVjdG9yeSBmb3IgbWV0YWRhdGEgKG1ldGFpbmZvKSBm aWxlcy4KKworUkVWSUVXOiAxMjkxOTIKKy0tLQorIHNyYy9DTWFrZUxpc3RzLnR4dCAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCA2ICsrKy0tLQorIHNy Yy9kYnVzL21wcmlzMi9NZWRpYVBsYXllcjIuY3BwICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgfCAyICstCisgc3JjL3thbWFyb2suYXBwZGF0YS54bWwgPT4gb3JnLmtkZS5hbWFy b2suYXBwZGF0YS54bWx9ICAgICAgICAgICAgICB8IDIgKy0KKyBzcmMve2FtYXJvay5kZXNrdG9w ID0+IG9yZy5rZGUuYW1hcm9rLmRlc2t0b3B9ICAgICAgICAgICAgICAgICAgICAgIHwgMAorIC4u LnthbWFyb2tfY29udGFpbmVycy5kZXNrdG9wID0+IG9yZy5rZGUuYW1hcm9rX2NvbnRhaW5lcnMu ZGVza3RvcH0gfCAwCisgNSBmaWxlcyBjaGFuZ2VkLCA1IGluc2VydGlvbnMoKyksIDUgZGVsZXRp b25zKC0pCisgcmVuYW1lIHNyYy97YW1hcm9rLmFwcGRhdGEueG1sID0+IG9yZy5rZGUuYW1hcm9r LmFwcGRhdGEueG1sfSAoOTklKQorIHJlbmFtZSBzcmMve2FtYXJvay5kZXNrdG9wID0+IG9yZy5r ZGUuYW1hcm9rLmRlc2t0b3B9ICgxMDAlKQorIHJlbmFtZSBzcmMve2FtYXJva19jb250YWluZXJz LmRlc2t0b3AgPT4gb3JnLmtkZS5hbWFyb2tfY29udGFpbmVycy5kZXNrdG9wfSAoMTAwJSkKKwor ZGlmZiAtLWdpdCBhL3NyYy9DTWFrZUxpc3RzLnR4dCBiL3NyYy9DTWFrZUxpc3RzLnR4dAoraW5k ZXggMzI3ZWMxMC4uODI3ZGIzNiAxMDA2NDQKKy0tLSBhL3NyYy9DTWFrZUxpc3RzLnR4dAorKysr IGIvc3JjL0NNYWtlTGlzdHMudHh0CitAQCAtOTQ4LDkgKzk0OCw5IEBAIGluc3RhbGwoVEFSR0VU UyBhbWFyb2sgJHtJTlNUQUxMX1RBUkdFVFNfREVGQVVMVF9BUkdTfSkKKyAKKyAjIyMjIyMjIyMj IyBpbnN0YWxsIGZpbGVzICMjIyMjIyMjIyMjIyMjIworIAorLWluc3RhbGwoUFJPR1JBTVMgYW1h cm9rLmRlc2t0b3AgREVTVElOQVRJT04gJHtYREdfQVBQU19JTlNUQUxMX0RJUn0gKQorLWluc3Rh bGwoUFJPR1JBTVMgYW1hcm9rX2NvbnRhaW5lcnMuZGVza3RvcCBERVNUSU5BVElPTiAke1hER19B UFBTX0lOU1RBTExfRElSfSApCistaW5zdGFsbChGSUxFUyBhbWFyb2suYXBwZGF0YS54bWwgREVT VElOQVRJT04gJHtTSEFSRV9JTlNUQUxMX1BSRUZJWH0vYXBwZGF0YSkKKytpbnN0YWxsKFBST0dS QU1TIG9yZy5rZGUuYW1hcm9rLmRlc2t0b3AgREVTVElOQVRJT04gJHtYREdfQVBQU19JTlNUQUxM X0RJUn0gKQorK2luc3RhbGwoUFJPR1JBTVMgb3JnLmtkZS5hbWFyb2tfY29udGFpbmVycy5kZXNr dG9wIERFU1RJTkFUSU9OICR7WERHX0FQUFNfSU5TVEFMTF9ESVJ9ICkKKytpbnN0YWxsKEZJTEVT IG9yZy5rZGUuYW1hcm9rLmFwcGRhdGEueG1sIERFU1RJTkFUSU9OICR7U0hBUkVfSU5TVEFMTF9Q UkVGSVh9L21ldGFpbmZvKQorIAorIGluc3RhbGwoRklMRVMgYW1hcm9rX3BsdWdpbi5kZXNrdG9w IERFU1RJTkFUSU9OICR7U0VSVklDRVRZUEVTX0lOU1RBTExfRElSfSkKKyBpbnN0YWxsKEZJTEVT IGFtYXJva19jb2RlY2luc3RhbGwuZGVza3RvcCBERVNUSU5BVElPTiAke1NFUlZJQ0VUWVBFU19J TlNUQUxMX0RJUn0pCitkaWZmIC0tZ2l0IGEvc3JjL2RidXMvbXByaXMyL01lZGlhUGxheWVyMi5j cHAgYi9zcmMvZGJ1cy9tcHJpczIvTWVkaWFQbGF5ZXIyLmNwcAoraW5kZXggYTFkMWJkYS4uMWYw MDgyNyAxMDA2NDQKKy0tLSBhL3NyYy9kYnVzL21wcmlzMi9NZWRpYVBsYXllcjIuY3BwCisrKysg Yi9zcmMvZGJ1cy9tcHJpczIvTWVkaWFQbGF5ZXIyLmNwcAorQEAgLTk0LDcgKzk0LDcgQEAgUVN0 cmluZyBNZWRpYVBsYXllcjI6OklkZW50aXR5KCkgY29uc3QKKyAKKyBRU3RyaW5nIE1lZGlhUGxh eWVyMjo6RGVza3RvcEVudHJ5KCkgY29uc3QKKyB7CistICAgIHJldHVybiBRTGF0aW4xU3RyaW5n KCJhbWFyb2siKTsKKysgICAgcmV0dXJuIFFMYXRpbjFTdHJpbmcoIm9yZy5rZGUuYW1hcm9rIik7 CisgfQorIAorIFFTdHJpbmdMaXN0IE1lZGlhUGxheWVyMjo6U3VwcG9ydGVkVXJpU2NoZW1lcygp IGNvbnN0CitkaWZmIC0tZ2l0IGEvc3JjL2FtYXJvay5hcHBkYXRhLnhtbCBiL3NyYy9vcmcua2Rl LmFtYXJvay5hcHBkYXRhLnhtbAorc2ltaWxhcml0eSBpbmRleCA5OSUKK3JlbmFtZSBmcm9tIHNy Yy9hbWFyb2suYXBwZGF0YS54bWwKK3JlbmFtZSB0byBzcmMvb3JnLmtkZS5hbWFyb2suYXBwZGF0 YS54bWwKK2luZGV4IDgwOWU0MmMuLmZmMDZmYzcgMTAwNjQ0CistLS0gYS9zcmMvYW1hcm9rLmFw cGRhdGEueG1sCisrKysgYi9zcmMvb3JnLmtkZS5hbWFyb2suYXBwZGF0YS54bWwKK0BAIC0xLDYg KzEsNiBAQAorIDw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InV0Zi04Ij8+CisgPGNvbXBv bmVudCB0eXBlPSJkZXNrdG9wIj4KKy0gIDxpZD5hbWFyb2suZGVza3RvcDwvaWQ+CisrICA8aWQ+ b3JnLmtkZS5hbWFyb2suZGVza3RvcDwvaWQ+CisgICA8bWV0YWRhdGFfbGljZW5zZT5DQzAtMS4w PC9tZXRhZGF0YV9saWNlbnNlPgorICAgPG5hbWU+QW1hcm9rPC9uYW1lPgorICAgPG5hbWUgeG1s Omxhbmc9ImFyIj7Yo9mF2KfYsdmI2YM8L25hbWU+CitkaWZmIC0tZ2l0IGEvc3JjL2FtYXJvay5k ZXNrdG9wIGIvc3JjL29yZy5rZGUuYW1hcm9rLmRlc2t0b3AKK3NpbWlsYXJpdHkgaW5kZXggMTAw JQorcmVuYW1lIGZyb20gc3JjL2FtYXJvay5kZXNrdG9wCityZW5hbWUgdG8gc3JjL29yZy5rZGUu YW1hcm9rLmRlc2t0b3AKK2RpZmYgLS1naXQgYS9zcmMvYW1hcm9rX2NvbnRhaW5lcnMuZGVza3Rv cCBiL3NyYy9vcmcua2RlLmFtYXJva19jb250YWluZXJzLmRlc2t0b3AKK3NpbWlsYXJpdHkgaW5k ZXggMTAwJQorcmVuYW1lIGZyb20gc3JjL2FtYXJva19jb250YWluZXJzLmRlc2t0b3AKK3JlbmFt ZSB0byBzcmMvb3JnLmtkZS5hbWFyb2tfY29udGFpbmVycy5kZXNrdG9wCistLSAKKzIuOS4zCisK CmRpZmYgLS1naXQgYS8wMDQzLUZpeC1hcHBkYXRhLWFkZC10aGUtcmVxdWlyZWQtc3VtbWFyeS10 YWcucGF0Y2ggYi8wMDQzLUZpeC1hcHBkYXRhLWFkZC10aGUtcmVxdWlyZWQtc3VtbWFyeS10YWcu cGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTc5OGY1NgotLS0gL2Rl di9udWxsCisrKyBiLzAwNDMtRml4LWFwcGRhdGEtYWRkLXRoZS1yZXF1aXJlZC1zdW1tYXJ5LXRh Zy5wYXRjaApAQCAtMCwwICsxLDIxIEBACitGcm9tIDY3OWQ4NDU0YTcyZjQ4YzI2N2ZlMDIyNzQ5 Y2E1ZjAxZTIyNzMyNGYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBMdWlnaSBUb3Nj YW5vIDxsdWlnaS50b3NjYW5vQHRpc2NhbGkuaXQ+CitEYXRlOiBUaHUsIDE2IE1hciAyMDE3IDIz OjAzOjU1ICswMTAwCitTdWJqZWN0OiBbUEFUQ0ggNDMvNDddIEZpeCBhcHBkYXRhOiBhZGQgdGhl IHJlcXVpcmVkIDxzdW1tYXJ5Lz4gdGFnCisKKzxzdW1tYXJ5Lz4gaXMgcmVxdWlyZWQgdG8gcGFz cyB0aGUgdmFsaWRhdGlvbiBldmVuIGluIHJlbGF4ZWQgbW9kZS4KKy0tLQorIHNyYy9vcmcua2Rl LmFtYXJvay5hcHBkYXRhLnhtbCB8IDEgKworIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigr KQorCitkaWZmIC11cCBhbWFyb2stMi44LjkwL3NyYy9vcmcua2RlLmFtYXJvay5hcHBkYXRhLnht bC4wMDQzIGFtYXJvay0yLjguOTAvc3JjL29yZy5rZGUuYW1hcm9rLmFwcGRhdGEueG1sCistLS0g YW1hcm9rLTIuOC45MC9zcmMvb3JnLmtkZS5hbWFyb2suYXBwZGF0YS54bWwuMDA0MwkyMDE3LTA0 LTAzIDExOjQ0OjQ5LjM2OTUwNTg1MSAtMDUwMAorKysrIGFtYXJvay0yLjguOTAvc3JjL29yZy5r ZGUuYW1hcm9rLmFwcGRhdGEueG1sCTIwMTctMDQtMDMgMTE6NDU6MzIuOTE1ODg1MDc5IC0wNTAw CitAQCAtMzMsNiArMzMsNyBAQAorICAgPG5hbWUgeG1sOmxhbmc9InN2Ij5BbWFyb2s8L25hbWU+ CisgICA8bmFtZSB4bWw6bGFuZz0idWsiPkFtYXJvazwvbmFtZT4KKyAgIDxuYW1lIHhtbDpsYW5n PSJ4LXRlc3QiPnh4QW1hcm9reHg8L25hbWU+CisrICA8c3VtbWFyeT5BdWRpbyBQbGF5ZXI8L3N1 bW1hcnk+CisgICA8ZGVzY3JpcHRpb24+CisgICAgIDxwPkFtYXJvayBpcyBhIGZyZWUsIHZlcnNh dGlsZSBhbmQgcG93ZXJmdWwgbXVzaWMgcGxheWVyLjwvcD4KKyAgICAgPHAgeG1sOmxhbmc9ImFy Ij7Yo9mF2KfYsdmI2YMg2YXYtNi62ZHZhCDZhdmI2LPZitmC2Ykg2YXYrNmR2KfZhtmK2ZHYjCDZ iNmC2YjZitmRINmF2KrYudiv2ZHYryDYp9mE2KfYs9iq2LnZhdin2YTYp9iqLjwvcD4KCmRpZmYg LS1naXQgYS9hbWFyb2sta2RlYnVnMzY1Mjc1LnBhdGNoIGIvYW1hcm9rLWtkZWJ1ZzM2NTI3NS5w YXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDUzNzdjZC4uMDAwMDAwMAotLS0g YS9hbWFyb2sta2RlYnVnMzY1Mjc1LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTcgKzAsMCBA QAotZGlmZiAtLWdpdCBhL3NyYy9kYnVzL21wcmlzMi9NZWRpYVBsYXllcjIuY3BwIGIvc3JjL2Ri dXMvbXByaXMyL01lZGlhUGxheWVyMi5jcHAKLWluZGV4IGNiZTFhMmEuLmExZDFiZGEgMTAwNjQ0 Ci0tLS0gYS9zcmMvZGJ1cy9tcHJpczIvTWVkaWFQbGF5ZXIyLmNwcAotKysrIGIvc3JjL2RidXMv bXByaXMyL01lZGlhUGxheWVyMi5jcHAKLUBAIC05NCwxMSArOTQsNyBAQCBRU3RyaW5nIE1lZGlh UGxheWVyMjo6SWRlbnRpdHkoKSBjb25zdAotIAotIFFTdHJpbmcgTWVkaWFQbGF5ZXIyOjpEZXNr dG9wRW50cnkoKSBjb25zdAotIHsKLS0gICAgLy8gQW1hcm9rIGRlc2t0b3AgZmlsZSBpcyBpbnN0 YWxsZWQgaW4gJHByZWZpeC9zaGFyZS9hcHBsaWNhdGlvbnMva2RlNC8KLS0gICAgLy8gcmF0aGVy IHRoYW4gaW4gJHByZWZpeC9zaGFyZS9hcHBsaWNhdGlvbnMuIFRoZSBzdGFuZGFyZCB3YXkgdG8K LS0gICAgLy8gcmVwcmVzZW50IHRoaXMgZGlyIGlzIHdpdGggYSAia2RlNC0iIHByZWZpeC4gU2Vl OgotLSAgICAvLyBodHRwOi8vc3RhbmRhcmRzLmZyZWVkZXNrdG9wLm9yZy9tZW51LXNwZWMvMS4w L2dvMDEuaHRtbCN0ZXJtLWRlc2t0b3AtZmlsZS1pZAotLSAgICByZXR1cm4gUUxhdGluMVN0cmlu Zygia2RlNC1hbWFyb2siKTsKLSsgICAgcmV0dXJuIFFMYXRpbjFTdHJpbmcoImFtYXJvayIpOwot IH0KLSAKLSBRU3RyaW5nTGlzdCBNZWRpYVBsYXllcjI6OlN1cHBvcnRlZFVyaVNjaGVtZXMoKSBj b25zdAoKZGlmZiAtLWdpdCBhL2FtYXJvay5zcGVjIGIvYW1hcm9rLnNwZWMKaW5kZXggNTU5ZWRl MC4uOTJlMmZkMCAxMDA2NDQKLS0tIGEvYW1hcm9rLnNwZWMKKysrIGIvYW1hcm9rLnNwZWMKQEAg LTgsNyArOCw3IEBACiBOYW1lOiAgICBhbWFyb2sKIFN1bW1hcnk6IE1lZGlhIHBsYXllcgogVmVy c2lvbjogMi44LjkwCi1SZWxlYXNlOiAxMCV7P2Rpc3R9CitSZWxlYXNlOiAxMSV7P2Rpc3R9CiAK ICMgS0RFIGUuVi4gbWF5IGRldGVybWluZSB0aGF0IGZ1dHVyZSBHUEwgdmVyc2lvbnMgYXJlIGFj Y2VwdGVkCiBMaWNlbnNlOiBHUEx2MiBvciBHUEx2MwpAQCAtMzEsOSArMzEsNiBAQCBQYXRjaDE6 IGFtYXJvay0yLjguMC1ub19rZGV3ZWJraXQucGF0Y2gKICMjIHVwc3RyZWFtYWJsZSBwYXRjaGVz CiAjIG1ha2UgbXlzcWxfZm91bmQgbm9uLWZhdGFsCiBQYXRjaDEwMDogYW1hcm9rLTIuOC45MC1t eXNxbF9mb3VuZC5wYXRjaAotIyBmaXggbXByaXMgc3VwcG9ydCwgaHR0cHM6Ly9naXQucmV2aWV3 Ym9hcmQua2RlLm9yZy9yLzEyODQxOC8KLSMgaHR0cHM6Ly9idWdzLmtkZS5vcmcvc2hvd19idWcu Y2dpP2lkPTM2NTI3NQotUGF0Y2gxMDI6IGFtYXJvay1rZGVidWczNjUyNzUucGF0Y2gKIAogIyMg dXBzdHJlYW0gcGF0Y2hlcwogUGF0Y2gzOiAwMDAzLUZpeC1UYWdMaWItdmVyc2lvbi1jaGVjay5w YXRjaApAQCAtNTAsNiArNDcsMTcgQEAgUGF0Y2gyMDogMDAyMC1XaWtpcGVkaWEtYXBwbGV0LVJl bW92ZS1sYXN0LXRyYWNlLW9mLW5vLVNTTC1wb3NzaWJpLnBhdGNoCiBQYXRjaDI0OiAwMDI0LVN1 YnN0aXR1dGUtZGVwcmVjYXRlZC1NeVNRTC1vcHRpb24tbXlpc2FtLXJlY292ZXIucGF0Y2gKIFBh dGNoMjU6IDAwMjUtSGFuZGxlLW51bWVyaWMtZmllbGRzLXByb3Blcmx5LWluLWZpbHRlci1jcmVh dGlvbi1kaS5wYXRjaAogUGF0Y2gyNjogMDAyNi1Vc2UtdHJhbnNwYXJlbnQtYmFja2dyb3VuZC1m b3ItbHlyaWNzLWJyb3dzZXIucGF0Y2gKK1BhdGNoMjc6IDAwMjctT3JnYW5pemUtdHJhY2tzLUd1 ZXNzLXRhZ3MtcHJlc2V0cy1wZXJzaXN0ZWQtcHJvcGVybC5wYXRjaAorUGF0Y2gyODogMDAyOC1G aXgtZm9yLUMtd2FybmluZ3MtYWJvdXQtdW51c2VkLXZhcmlhYmxlcy1hbmQtZGVwcmVjLnBhdGNo CitQYXRjaDI5OiAwMDI5LUZpeC1NUFJJUzItRGVza3RvcEVudHJ5LXZhbHVlLnBhdGNoCitQYXRj aDMwOiAwMDMwLUZpeC1Db2xsZWN0aW9uLUJyb3dzZXItYXV0by1leHBhbmQtYWZ0ZXItc2VhcmNo LWV4cGEucGF0Y2gKK1BhdGNoMzY6IDAwMzYtRml4LUJ1Zy0zMDIyOTktQXV0b3Njcm9sbGluZy1M eXJpY3MtYXJlLXNjcm9sbGluZy1kby5wYXRjaAorUGF0Y2gzNzogMDAzNy1GaXgtbWlub3ItdHlw by5wYXRjaAorUGF0Y2gzODogMDAzOC1GaXgtYW1hcm9rLWJ1aWxkLXdpdGgtTGliT0ZBLXVzaW5n LWZmbXBlZy0zLnBhdGNoCitQYXRjaDM5OiAwMDM5LUZpeC1HcG9kZGVyLWNyZWRlbnRpYWwtc2Vy dmljZS13aXRob3V0LWt3YWxsZXQucGF0Y2gKK1BhdGNoNDE6IDAwNDEtQWRkLW5hbWVzcGFjZS10 by1kZXNrdG9wLWFuZC1hcHBkYXRhLWZpbGVzLnBhdGNoCitQYXRjaDQzOiAwMDQzLUZpeC1hcHBk YXRhLWFkZC10aGUtcmVxdWlyZWQtc3VtbWFyeS10YWcucGF0Y2gKKwogCiBCdWlsZFJlcXVpcmVz OiBjdXJsLWRldmVsCiBCdWlsZFJlcXVpcmVzOiBkZXNrdG9wLWZpbGUtdXRpbHMKQEAgLTE3Nywx MCArMTg1LDE4IEBAIFJlcXVpcmVzOiAle25hbWV9ID0gJXt2ZXJzaW9ufS0le3JlbGVhc2V9CiAl cGF0Y2gyNCAtcDEgLWIgLjAwMjQKICVwYXRjaDI1IC1wMSAtYiAuMDAyNQogJXBhdGNoMjYgLXAx IC1iIC4wMDI2Ci0KKyVwYXRjaDI3IC1wMSAtYiAuMDAyNworJXBhdGNoMjggLXAxIC1iIC4wMDI4 CislcGF0Y2gyOSAtcDEgLWIgLjAwMjkKKyVwYXRjaDMwIC1wMSAtYiAuMDAzMAorJXBhdGNoMzYg LXAxIC1iIC4wMDM2CislcGF0Y2gzNyAtcDEgLWIgLjAwMzcKKyVwYXRjaDM4IC1wMSAtYiAuMDAz OAorJXBhdGNoMzkgLXAxIC1iIC4wMDM5CislcGF0Y2g0MSAtcDEgLWIgLjAwNDEKKyVwYXRjaDQz IC1wMSAtYiAuMDA0MwogCiAjIyB1cHN0cmVhbWFibGUKLSVwYXRjaDEwMiAtcDEgLWIgLmtkZWJ1 ZzM2NTI3NQogCiAKICVidWlsZApAQCAtMzQ4LDYgKzM2NCw5IEBAIGZpCiAKIAogJWNoYW5nZWxv ZworKiBNb24gQXByIDAzIDIwMTcgUmV4IERpZXRlciA8cmRpZXRlckBmZWRvcmFwcm9qZWN0Lm9y Zz4gLSAyLjguOTAtMTEKKy0gcHVsIGluIG1vcmUgdXBzdHJlYW0gZml4ZXMKKwogKiBUaHUgRmVi IDIzIDIwMTcgUmV4IERpZXRlciA8cmRpZXRlckBmZWRvcmFwcm9qZWN0Lm9yZz4gLSAyLjguOTAt MTAKIC0gUmVjb21tZW5kczogYXVkaW9jZC1raW8ga2lvX210cCBraW8tdXBucC1tcwogCg==