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: Takao Fujiwara To: git-commits@fedoraproject.org Subject: [rpms/ibus] autotool: Resolve #2252227 Fix display buffer overflow Date: Sun, 31 May 2026 02:08:30 GMT Message-ID: <178019331088.1.4611982744360169985.rpms-ibus-35469f4d4dc1@fedoraproject.org> List-ID: X-Git-Repo: rpms/ibus X-Git-Branch: autotool X-Git-Rev: 35469f4d4dc10b8f664469d7effd0480e094a9b3 ICAgICAgICAgICAgQSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KCiAgICAgICAgICAgIFJl cG8gICA6IHJwbXMvaWJ1cwogICAgICAgICAgICBCcmFuY2ggOiBhdXRvdG9vbAogICAgICAgICAg ICBDb21taXQgOiAzNTQ2OWY0ZDRkYzEwYjhmNjY0NDY5ZDdlZmZkMDQ4MGUwOTRhOWIzCiAgICAg ICAgICAgIEF1dGhvciA6IFRha2FvIEZ1aml3YXJhIDx0ZnVqaXdhckByZWRoYXQuY29tPgogICAg ICAgICAgICBEYXRlICAgOiAyMDI0LTA1LTI1VDE5OjMzOjI3KzA5OjAwCiAgICAgICAgICAgIFN0 YXRzICA6ICs5ODgvLTIzNiBpbiA0IGZpbGUocykKICAgICAgICAgICAgVVJMICAgIDogaHR0cHM6 Ly9zcmMuZmVkb3JhcHJvamVjdC5vcmcvcnBtcy9pYnVzL2MvMzU0NjlmNGQ0ZGMxMGI4ZjY2NDQ2 OWQ3ZWZmZDA0ODBlMDk0YTliMz9icmFuY2g9YXV0b3Rvb2wKCiAgICAgICAgICAgIExvZzoKICAg ICAgICAgICAgUmVzb2x2ZSAjMjI1MjIyNyBGaXggZGlzcGxheSBidWZmZXIgb3ZlcmZsb3cKCkNo YW5nZSBJQnVzIHVuaXF1ZSBuYW1lIHRvIDoxLjAgZnJvbSBJQlVTX1NFUlZJQ0VfSUJVUwoKLS0t CmRpZmYgLS1naXQgYS9pYnVzLTIyNjc2MTUtd2F5bGFuZC1pbml0LWtleW1hcC5wYXRjaCBiL2li dXMtMjI2NzYxNS13YXlsYW5kLWluaXQta2V5bWFwLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEw MDY0NAppbmRleCA0NzI5ZWRlLi4wMDAwMDAwCi0tLSBhL2lidXMtMjI2NzYxNS13YXlsYW5kLWlu aXQta2V5bWFwLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMjI1ICswLDAgQEAKLUZyb20gYjYz NzZkM2E2ODBmN2Y0MzU4M2RlNzczMTYyOTY2NmI4ZGQ4NWYwMSBNb24gU2VwIDE3IDAwOjAwOjAw IDIwMDEKLUZyb206IGZ1aml3YXJhdCA8dGFrYW8uZnVqaXdhcmExQGdtYWlsLmNvbT4KLURhdGU6 IEZyaSwgMjIgTWFyIDIwMjQgMDk6NDc6MjggKzA5MDAKLVN1YmplY3Q6IFtQQVRDSF0gdWkvZ3Rr MzogQ29uZmlndXJlIGluaXRpYWwga2V5bWFwcyB3aXRoIGxvY2FsZWN0bCBpbiBXYXlsYW5kCi0K LWBzZXR4a2JtYXAgLXF1ZXJ5YCByZXR1cm5zIFVTIGxheW91dCB3aXRoIFh3YXlsYW5kIGFuZCBp dCBkb2VzIG5vdAotY29ycmVzcG9uZCB0byB0aGUgc2Vzc2lvbiBrZXltYXBzIHNvIGlidXMtcGFu ZWwgbm93IHVzZXMKLWBsb2NhbGVjdGwgc3RhdHVzYCBpbiBXYXlsYW5kIGJ1dCBpdCBkb2VzIG5v dCBwcm92aWRlIHRoZSBzZXNzaW9uCi1YS0Igb3B0aW9ucyBhZ2FpbnN0IGBzZXR4a2JtYXBgIGNv bW1hbmQgaW4gWG9yZy4KLU5lZWQgdG8gdGhpbmsgaG93IHRvIGxvYWQgb3Igc2V0IHRoZSBYS0Ig b3B0aW9ucyBpbiBXYXlsYW5kIGxhdGVyLgotCi1CVUc9cmhieiMyMjY3NjE1Ci0tLS0KLSB1aS9n dGszL3BhbmVsLnZhbGEgICAgIHwgICAyICstCi0gdWkvZ3RrMy94a2JsYXlvdXQudmFsYSB8IDEy MyArKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLQotIDIgZmlsZXMgY2hh bmdlZCwgOTEgaW5zZXJ0aW9ucygrKSwgMzQgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS91 aS9ndGszL3BhbmVsLnZhbGEgYi91aS9ndGszL3BhbmVsLnZhbGEKLWluZGV4IGM3MTc2NjE5Li4z NTc2OTcyZCAxMDA2NDQKLS0tLSBhL3VpL2d0azMvcGFuZWwudmFsYQotKysrIGIvdWkvZ3RrMy9w YW5lbC52YWxhCi1AQCAtNTA5LDcgKzUwOSw3IEBAIGNsYXNzIFBhbmVsIDogSUJ1cy5QYW5lbFNl cnZpY2UgewotICAgICAgICAgc3RyaW5nIGxheW91dHM7Ci0gICAgICAgICBzdHJpbmcgdmFyaWFu dHM7Ci0gICAgICAgICBzdHJpbmcgb3B0aW9uOwotLSAgICAgICAgWEtCTGF5b3V0LmdldF9sYXlv dXQob3V0IGxheW91dHMsIG91dCB2YXJpYW50cywgb3V0IG9wdGlvbik7Ci0rICAgICAgICBtX3hr YmxheW91dC5nZXRfbGF5b3V0KG91dCBsYXlvdXRzLCBvdXQgdmFyaWFudHMsIG91dCBvcHRpb24p OwotIAotICAgICAgICAgR0xpYi5MaXN0PElCdXMuRW5naW5lRGVzYz4geGtiX2VuZ2luZXMgPQot ICAgICAgICAgICAgICAgICBuZXcgR0xpYi5MaXN0PElCdXMuRW5naW5lRGVzYz4oKTsKLWRpZmYg LS1naXQgYS91aS9ndGszL3hrYmxheW91dC52YWxhIGIvdWkvZ3RrMy94a2JsYXlvdXQudmFsYQot aW5kZXggNzI5YjQ4Y2UuLjc4MTJjNGJiIDEwMDY0NAotLS0tIGEvdWkvZ3RrMy94a2JsYXlvdXQu dmFsYQotKysrIGIvdWkvZ3RrMy94a2JsYXlvdXQudmFsYQotQEAgLTQsNyArNCw3IEBACi0gICoK LSAgKiBDb3B5cmlnaHQoYykgMjAxNCBSZWQgSGF0LCBJbmMuCi0gICogQ29weXJpZ2h0KGMpIDIw MTQgUGVuZyBIdWFuZyA8c2hhd24ucC5odWFuZ0BnbWFpbC5jb20+Ci0tICogQ29weXJpZ2h0KGMp IDIwMTQgVGFrYW8gRnVqaXdhcmEgPHRmdWppd2FyQHJlZGhhdC5jb20+Ci0rICogQ29weXJpZ2h0 KGMpIDIwMTQtMjAyNCBUYWthbyBGdWppd2FyYSA8dGZ1aml3YXJAcmVkaGF0LmNvbT4KLSAgKgot ICAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBp dCBhbmQvb3IKLSAgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2Vy IEdlbmVyYWwgUHVibGljCi1AQCAtMjUsMTEgKzI1LDExIEBACi0gY2xhc3MgWEtCTGF5b3V0Ci0g ewotICAgICBwcml2YXRlIGNvbnN0IHN0cmluZyBYS0JfQ09NTUFORCA9ICJzZXR4a2JtYXAiOwot LSAgICBwcml2YXRlIGNvbnN0IHN0cmluZyBYS0JfUVVFUllfQVJHID0gIi1xdWVyeSI7Ci0gICAg IHByaXZhdGUgY29uc3Qgc3RyaW5nIFhLQl9MQVlPVVRfQVJHID0gIi1sYXlvdXQiOwotICAgICBw cml2YXRlIGNvbnN0IHN0cmluZyBYTU9ETUFQX0NPTU1BTkQgPSAieG1vZG1hcCI7Ci0gICAgIHBy aXZhdGUgY29uc3Qgc3RyaW5nW10gWE1PRE1BUF9LTk9XTl9GSUxFUyA9IHsiLnhtb2RtYXAiLCAi Lnhtb2RtYXByYyIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAiLlhtb2RtYXAiLCAiLlhtb2RtYXByYyJ9OwotKyAgICBwcml2YXRlIHN0cmluZ1td IG1fZ2V0X2xheW91dF9hcmdzID0ge307Ci0gICAgIHByaXZhdGUgc3RyaW5nW10gbV94a2JfbGF0 aW5fbGF5b3V0cyA9IHt9OwotICAgICBwcml2YXRlIHN0cmluZyBtX2RlZmF1bHRfbGF5b3V0ID0g IiI7Ci0gICAgIHByaXZhdGUgc3RyaW5nIG1fZGVmYXVsdF92YXJpYW50ID0gIiI7Ci1AQCAtMzks MTYgKzM5LDIzIEBAIGNsYXNzIFhLQkxheW91dAotICAgICBwdWJsaWMgWEtCTGF5b3V0KCkgewot ICAgICB9Ci0gCi0rCi0gICAgIHB1YmxpYyB2b2lkIHNldF9sYXRpbl9sYXlvdXRzKHN0cmluZ1td IHhrYl9sYXRpbl9sYXlvdXRzKSB7Ci0gICAgICAgICBtX3hrYl9sYXRpbl9sYXlvdXRzID0geGti X2xhdGluX2xheW91dHM7Ci0gICAgIH0KLSAKLS0gICAgcHVibGljIHN0YXRpYyB2b2lkIGdldF9s YXlvdXQob3V0IHN0cmluZyBsYXlvdXQsCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIG91dCBzdHJpbmcgdmFyaWFudCwKLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgb3V0IHN0cmluZyBvcHRpb24pIHsKLSsKLSsgICAgcHVibGljIHZvaWQgZ2V0X2xheW91dChv dXQgc3RyaW5nIGxheW91dCwKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICBvdXQgc3RyaW5n IHZhcmlhbnQsCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgb3V0IHN0cmluZyBvcHRpb24p IHsKLSsgICAgICAgIHNlYXJjaF9nZXRfbGF5b3V0X3Byb2dyYW0oKTsKLSsgICAgICAgIGlmICht X2dldF9sYXlvdXRfYXJnc1swXSA9PSBudWxsKSB7Ci0rICAgICAgICAgICAgd2FybmluZygiTm90 IGZvdW5kIGxvY2FsZWN0bCBvciBzZXR4a2JtYXAgY29tbWFuZCBpbiBQQVRIIik7Ci0rICAgICAg ICAgICAgcmV0dXJuOwotKyAgICAgICAgfQotICAgICAgICAgc3RyaW5nW10gZXhlY19jb21tYW5k ID0ge307Ci0tICAgICAgICBleGVjX2NvbW1hbmQgKz0gWEtCX0NPTU1BTkQ7Ci0tICAgICAgICBl eGVjX2NvbW1hbmQgKz0gWEtCX1FVRVJZX0FSRzsKLSsgICAgICAgIGZvcmVhY2ggKHVub3duZWQg c3RyaW5nIGFyZyBpbiBtX2dldF9sYXlvdXRfYXJncykKLSsgICAgICAgICAgICBleGVjX2NvbW1h bmQgKz0gYXJnOwotICAgICAgICAgc3RyaW5nIHN0YW5kYXJkX291dHB1dCA9IG51bGw7Ci0gICAg ICAgICBzdHJpbmcgc3RhbmRhcmRfZXJyb3IgPSBudWxsOwotICAgICAgICAgaW50IGV4aXRfc3Rh dHVzID0gMDsKLUBAIC02OSw0NiArNzYsOTQgQEAgY2xhc3MgWEtCTGF5b3V0Ci0gICAgICAgICB9 IGNhdGNoIChHTGliLlNwYXduRXJyb3IgZXJyKSB7Ci0gICAgICAgICAgICAgc3RkZXJyLnByaW50 ZigiSUJVU19FUlJPUjogJXNcbiIsIGVyci5tZXNzYWdlKTsKLSAgICAgICAgIH0KLS0gICAgICAg IGlmIChleGl0X3N0YXR1cyAhPSAwKSB7Ci0rICAgICAgICBpZiAoZXhpdF9zdGF0dXMgIT0gMCkK LSAgICAgICAgICAgICBzdGRlcnIucHJpbnRmKCJJQlVTX0VSUk9SOiAlc1xuIiwgc3RhbmRhcmRf ZXJyb3IgPz8gIiIpOwotLSAgICAgICAgfQotLSAgICAgICAgaWYgKHN0YW5kYXJkX291dHB1dCA9 PSBudWxsKSB7Ci0rICAgICAgICBpZiAoc3RhbmRhcmRfb3V0cHV0ID09IG51bGwpCi0gICAgICAg ICAgICAgcmV0dXJuOwotKwotKyAgICAgICAgaWYgKGV4ZWNfY29tbWFuZFswXSA9PSAibG9jYWxl Y3RsIikgewotKyAgICAgICAgICAgIHBhcnNlX2xvY2FsZWN0bF9zdGF0dXNfc3RyKHN0YW5kYXJk X291dHB1dCwKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvdXQgbGF5 b3V0LAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG91dCB2YXJpYW50 LAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG91dCBvcHRpb24pOwot KyAgICAgICAgfSBlbHNlIGlmIChleGVjX2NvbW1hbmRbMF0gPT0gWEtCX0NPTU1BTkQpIHsKLSsg ICAgICAgICAgICBwYXJzZV94a2JtYXBfcXVlcnlfc3RyKHN0YW5kYXJkX291dHB1dCwKLSsgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG91dCBsYXlvdXQsCi0rICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBvdXQgdmFyaWFudCwKLSsgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIG91dCBvcHRpb24pOwotICAgICAgICAgfQotKyAgICB9Ci0rCi0gCi0r ICAgIHByaXZhdGUgdm9pZCBzZWFyY2hfZ2V0X2xheW91dF9wcm9ncmFtKCkgewotKyAgICAgICAg aWYgKG1fZ2V0X2xheW91dF9hcmdzWzBdICE9IG51bGwpCi0rICAgICAgICAgICAgcmV0dXJuOwot KyAgICAgICAgc3RyaW5nIGdldF9sYXlvdXRfY29tbWFuZCA9IG51bGw7Ci0rICAgICAgICAvLyBz ZXR4a2JtYXAgY2FuIGdldCB0aGUgc2Vzc2lvbiBYS0Igb3B0aW9ucyBpbiBYb3JnLgotKyAgICAg ICAgaWYgKEJpbmRpbmdDb21tb24uZGVmYXVsdF9pc194ZGlzcGxheSgpKQotKyAgICAgICAgICAg IGdldF9sYXlvdXRfY29tbWFuZCA9ICJzZXR4a2JtYXAgLXF1ZXJ5IjsKLSsgICAgICAgIGVsc2Ug aWYgKEdMaWIuRW52aXJvbm1lbnQuZmluZF9wcm9ncmFtX2luX3BhdGgoImxvY2FsZWN0bCIpICE9 IG51bGwpCi0rICAgICAgICAgICAgZ2V0X2xheW91dF9jb21tYW5kID0gImxvY2FsZWN0bCBzdGF0 dXMiOwotKyAgICAgICAgZWxzZSBpZiAoR0xpYi5FbnZpcm9ubWVudC5maW5kX3Byb2dyYW1faW5f cGF0aCgic2V0eGtibWFwIikgIT0gbnVsbCkKLSsgICAgICAgICAgICBnZXRfbGF5b3V0X2NvbW1h bmQgPSAic2V0eGtibWFwIC1xdWVyeSI7Ci0rICAgICAgICBpZiAoZ2V0X2xheW91dF9jb21tYW5k ICE9IG51bGwpCi0rICAgICAgICAgICAgbV9nZXRfbGF5b3V0X2FyZ3MgPSBnZXRfbGF5b3V0X2Nv bW1hbmQuc3BsaXQoIiAiKTsKLSsgICAgfQotKwotKwotKyAgICBwcml2YXRlIHZvaWQgcGFyc2Vf bG9jYWxlY3RsX3N0YXR1c19zdHIoc3RyaW5nIHN0YW5kYXJkX291dHB1dCwKLSsgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG91dCBzdHJpbmcgbGF5b3V0LAotKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3V0IHN0cmluZyB2YXJp YW50LAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3V0IHN0 cmluZyBvcHRpb24pIHsKLSsgICAgICAgIGxheW91dCA9ICIiOwotKyAgICAgICAgdmFyaWFudCA9 ICIiOwotKyAgICAgICAgb3B0aW9uID0gIiI7Ci0gICAgICAgICBmb3JlYWNoIChzdHJpbmcgbGlu ZSBpbiBzdGFuZGFyZF9vdXRwdXQuc3BsaXQoIlxuIikpIHsKLS0gICAgICAgICAgICBzdHJpbmcg ZWxlbWVudCA9ICJsYXlvdXQ6IjsKLS0gICAgICAgICAgICBzdHJpbmcgcmV0dmFsID0gIiI7Ci0t ICAgICAgICAgICAgaWYgKGxpbmUuaGFzX3ByZWZpeChlbGVtZW50KSkgewotLSAgICAgICAgICAg ICAgICByZXR2YWwgPSBsaW5lW2VsZW1lbnQubGVuZ3RoOmxpbmUubGVuZ3RoXTsKLS0gICAgICAg ICAgICAgICAgaWYgKHJldHZhbCAhPSBudWxsKSB7Ci0tICAgICAgICAgICAgICAgICAgICByZXR2 YWwgPSByZXR2YWwuc3RyaXAoKTsKLSsgICAgICAgICAgICBjb25zdCBzdHJpbmdbXSBlbGVtZW50 cyA9IHsgIlgxMSBMYXlvdXQ6IiwgIlgxMSBWYXJpYW50OiIgfTsKLSsgICAgICAgICAgICBmb3Jl YWNoICh1bm93bmVkIHN0cmluZyBlbGVtZW50IGluIGVsZW1lbnRzKSB7Ci0rICAgICAgICAgICAg ICAgIHN0cmluZyByZXR2YWwgPSAiIjsKLSsgICAgICAgICAgICAgICAgaW50IGluZGV4ID0gbGlu ZS5pbmRleF9vZihlbGVtZW50KTsKLSsgICAgICAgICAgICAgICAgaWYgKGluZGV4ID49IDApIHsK LSsgICAgICAgICAgICAgICAgICAgIHJldHZhbCA9IGxpbmVbaW5kZXggKyBlbGVtZW50Lmxlbmd0 aDpsaW5lLmxlbmd0aF07Ci0rICAgICAgICAgICAgICAgICAgICBpZiAocmV0dmFsICE9IG51bGwp Ci0rICAgICAgICAgICAgICAgICAgICAgICAgcmV0dmFsID0gcmV0dmFsLnN0cmlwKCk7Ci0rICAg ICAgICAgICAgICAgICAgICBpZiAoZWxlbWVudCA9PSBlbGVtZW50c1swXSkKLSsgICAgICAgICAg ICAgICAgICAgICAgICBsYXlvdXQgPSByZXR2YWw7Ci0rICAgICAgICAgICAgICAgICAgICBlbHNl IGlmIChlbGVtZW50ID09IGVsZW1lbnRzWzFdKQotKyAgICAgICAgICAgICAgICAgICAgICAgIHZh cmlhbnQgPSByZXR2YWw7Ci0gICAgICAgICAgICAgICAgIH0KLS0gICAgICAgICAgICAgICAgbGF5 b3V0ID0gcmV0dmFsOwotICAgICAgICAgICAgIH0KLSsgICAgICAgIH0KLSsgICAgfQotIAotLSAg ICAgICAgICAgIGVsZW1lbnQgPSAidmFyaWFudDoiOwotLSAgICAgICAgICAgIHJldHZhbCA9ICIi OwotLSAgICAgICAgICAgIGlmIChsaW5lLmhhc19wcmVmaXgoZWxlbWVudCkpIHsKLS0gICAgICAg ICAgICAgICAgcmV0dmFsID0gbGluZVtlbGVtZW50Lmxlbmd0aDpsaW5lLmxlbmd0aF07Ci0tICAg ICAgICAgICAgICAgIGlmIChyZXR2YWwgIT0gbnVsbCkgewotLSAgICAgICAgICAgICAgICAgICAg cmV0dmFsID0gcmV0dmFsLnN0cmlwKCk7Ci0tICAgICAgICAgICAgICAgIH0KLS0gICAgICAgICAg ICAgICAgdmFyaWFudCA9IHJldHZhbDsKLS0gICAgICAgICAgICB9Ci0gCi0tICAgICAgICAgICAg ZWxlbWVudCA9ICJvcHRpb25zOiI7Ci0tICAgICAgICAgICAgcmV0dmFsID0gIiI7Ci0tICAgICAg ICAgICAgaWYgKGxpbmUuaGFzX3ByZWZpeChlbGVtZW50KSkgewotLSAgICAgICAgICAgICAgICBy ZXR2YWwgPSBsaW5lW2VsZW1lbnQubGVuZ3RoOmxpbmUubGVuZ3RoXTsKLS0gICAgICAgICAgICAg ICAgaWYgKHJldHZhbCAhPSBudWxsKSB7Ci0tICAgICAgICAgICAgICAgICAgICByZXR2YWwgPSBy ZXR2YWwuc3RyaXAoKTsKLSsgICAgcHJpdmF0ZSB2b2lkIHBhcnNlX3hrYm1hcF9xdWVyeV9zdHIo c3RyaW5nIHN0YW5kYXJkX291dHB1dCwKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgb3V0IHN0cmluZyBsYXlvdXQsCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIG91dCBzdHJpbmcgdmFyaWFudCwKLSsgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgb3V0IHN0cmluZyBvcHRpb24pIHsKLSsgICAgICAgIGxheW91dCA9 ICIiOwotKyAgICAgICAgdmFyaWFudCA9ICIiOwotKyAgICAgICAgb3B0aW9uID0gIiI7Ci0rICAg ICAgICBmb3JlYWNoIChzdHJpbmcgbGluZSBpbiBzdGFuZGFyZF9vdXRwdXQuc3BsaXQoIlxuIikp IHsKLSsgICAgICAgICAgICBjb25zdCBzdHJpbmdbXSBlbGVtZW50cyA9IHsgImxheW91dDoiLCAi dmFyaWFudDoiLCAib3B0aW9uczoiIH07Ci0rICAgICAgICAgICAgZm9yZWFjaCAodW5vd25lZCBz dHJpbmcgZWxlbWVudCBpbiBlbGVtZW50cykgewotKyAgICAgICAgICAgICAgICBzdHJpbmcgcmV0 dmFsID0gIiI7Ci0rICAgICAgICAgICAgICAgIGlmIChsaW5lLmhhc19wcmVmaXgoZWxlbWVudCkp IHsKLSsgICAgICAgICAgICAgICAgICAgIHJldHZhbCA9IGxpbmVbZWxlbWVudC5sZW5ndGg6bGlu ZS5sZW5ndGhdOwotKyAgICAgICAgICAgICAgICAgICAgaWYgKHJldHZhbCAhPSBudWxsKQotKyAg ICAgICAgICAgICAgICAgICAgICAgIHJldHZhbCA9IHJldHZhbC5zdHJpcCgpOwotKyAgICAgICAg ICAgICAgICAgICAgaWYgKGVsZW1lbnQgPT0gZWxlbWVudHNbMF0pCi0rICAgICAgICAgICAgICAg ICAgICAgICAgbGF5b3V0ID0gcmV0dmFsOwotKyAgICAgICAgICAgICAgICAgICAgZWxzZSBpZiAo ZWxlbWVudCA9PSBlbGVtZW50c1sxXSkKLSsgICAgICAgICAgICAgICAgICAgICAgICB2YXJpYW50 ID0gcmV0dmFsOwotKyAgICAgICAgICAgICAgICAgICAgZWxzZSBpZiAoZWxlbWVudCA9PSBlbGVt ZW50c1syXSkKLSsgICAgICAgICAgICAgICAgICAgICAgICBvcHRpb24gPSByZXR2YWw7Ci0gICAg ICAgICAgICAgICAgIH0KLS0gICAgICAgICAgICAgICAgb3B0aW9uID0gcmV0dmFsOwotICAgICAg ICAgICAgIH0KLSAgICAgICAgIH0KLSAgICAgfQotIAotKwotICAgICBwdWJsaWMgdm9pZCBzZXRf bGF5b3V0KElCdXMuRW5naW5lRGVzYyBlbmdpbmUpIHsKLSAgICAgICAgIHN0cmluZyBsYXlvdXQg PSBlbmdpbmUuZ2V0X2xheW91dCgpOwotICAgICAgICAgc3RyaW5nIHZhcmlhbnQgPSBlbmdpbmUu Z2V0X2xheW91dF92YXJpYW50KCk7Ci1AQCAtMjA2LDYgKzI2MSw3IEBAIGNsYXNzIFhLQkxheW91 dAotICAgICAgICAgcnVuX3htb2RtYXAoKTsKLSAgICAgfQotIAotKwotICAgICBwdWJsaWMgdm9p ZCBydW5feG1vZG1hcCgpIHsKLSAgICAgICAgIGlmICghbV91c2VfeG1vZG1hcCkgewotICAgICAg ICAgICAgIHJldHVybjsKLUBAIC0yNDYsNiArMzAyLDcgQEAgY2xhc3MgWEtCTGF5b3V0Ci0gICAg ICAgICB9Ci0gICAgIH0KLSAKLSsKLSAgICAgcHVibGljIHZvaWQgc2V0X3VzZV94bW9kbWFwKGJv b2wgdXNlX3htb2RtYXApIHsKLSAgICAgICAgIG1fdXNlX3htb2RtYXAgPSB1c2VfeG1vZG1hcDsK LSAgICAgfQotLS0gCi0yLjQzLjAKLQoKZGlmZiAtLWdpdCBhL2lidXMtSEVBRC5wYXRjaCBiL2li dXMtSEVBRC5wYXRjaAppbmRleCBkM2NjYzczLi44MzU2YjY3IDEwMDY0NAotLS0gYS9pYnVzLUhF QUQucGF0Y2gKKysrIGIvaWJ1cy1IRUFELnBhdGNoCkBAIC0xLDE1ICsxLDYyIEBACi1Gcm9tIGNm MzBkYjZkMTlmZDBkM2M0NmE1NDY4YjM0YzUzYTJiN2JhNWQzYjYgTW9uIFNlcCAxNyAwMDowMDow MCAyMDAxCitGcm9tIDQwNTliOWY0M2Y0NTA1Yzg1NTY3N2FiZGUxYjU5ZmMxMzI0MWNhNTggTW9u IFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBmdWppd2FyYXQgPHRha2FvLmZ1aml3YXJhMUBn bWFpbC5jb20+Ci1EYXRlOiBXZWQsIDE1IE1heSAyMDI0IDIzOjMwOjU5ICswOTAwCi1TdWJqZWN0 OiBbUEFUQ0hdIHNyYy90ZXN0czogRml4IGlidXMtZGFlbW9uIGluIGlidXMtZGVza3RvcC10ZXN0 aW5nLXJ1bm5lcgorRGF0ZTogVHVlLCAyIEFwciAyMDI0IDIzOjM0OjA3ICswOTAwCitTdWJqZWN0 OiBbUEFUQ0ggMS82XSBNYWtlZmlsZTogQWRkIGNoZWNrIHN1bSBmaWxlCisKKy0tLQorIE1ha2Vm aWxlLmFtIHwgOCArKysrKysrKworIDEgZmlsZSBjaGFuZ2VkLCA4IGluc2VydGlvbnMoKykKKwor ZGlmZiAtLWdpdCBhL01ha2VmaWxlLmFtIGIvTWFrZWZpbGUuYW0KK2luZGV4IDE2NTQ4ZDI1Li44 OGZkYmQ0OCAxMDA2NDQKKy0tLSBhL01ha2VmaWxlLmFtCisrKysgYi9NYWtlZmlsZS5hbQorQEAg LTEzOCw2ICsxMzgsMTQgQEAgc3JwbTogZGlzdCBAUEFDS0FHRV9OQU1FQC5zcGVjCisgCQkJLS1k ZWZpbmUgIl9zcGVjZGlyIGBwd2RgL3JwbSIgXAorIAkJCUBQQUNLQUdFX05BTUVALnNwZWMKKyAK KytAUEFDS0FHRV9OQU1FQC1AUEFDS0FHRV9WRVJTSU9OQC4lLnN1bTogQFBBQ0tBR0VfTkFNRUAt QFBBQ0tBR0VfVkVSU0lPTkAuJQorKwlmPWBiYXNlbmFtZSAkQCAuc3VtYDsgXAorKwlwcmludGYg ImNrc3VtICVzICVzICVzXG4iICAgICAgYGNrc3VtICQkZmAgICAgID4gICRAOyBcCisrCXByaW50 ZiAic2hhMXN1bSAlcyAlc1xuIiAgICAgICBgc2hhMXN1bSAkJGZgICAgPj4gJEA7IFwKKysJcHJp bnRmICJzaGEyNTZzdW0gJXMgJXNcbiIgICAgIGBzaGEyNTZzdW0gJCRmYCA+PiAkQDsgXAorKwlw cmludGYgInNoYTUxMnN1bSAlcyAlc1xuIiAgICAgYHNoYTUxMnN1bSAkJGZgID4+ICRAOyBcCisr CSQoTlVMTCkKKysKKyBjbGVhbi1ycG06CisgCS0kKFJNKSAtciAiYHVuYW1lIC1pYCIKKyAKKy0t IAorMi40NS4wCisKK0Zyb20gZTM5MzQ1YWYyMGMxZGQ5YjE4Y2RiNmNjYjUwMzliMDNlNDEzNWY3 MyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IGZ1aml3YXJhdCA8dGFrYW8uZnVqaXdh cmExQGdtYWlsLmNvbT4KK0RhdGU6IEZyaSwgMjQgTWF5IDIwMjQgMTM6MTg6NDIgKzA5MDAKK1N1 YmplY3Q6IFtQQVRDSCAyLzZdIHNyYy90ZXN0czogRml4IGlidXMtZGFlbW9uIGluIGlidXMtZGVz a3RvcC10ZXN0aW5nLXJ1bm5lcgogCiBTb21lIGRpc3RyaWJ1dGlvbnMgZG8gbm90IG5lZWQgdGhl IElCdXMgcGFuZWwgYW5kIGdub21lLXNoZWxsIGFsc28KIGRvZXMgbm90IG5lZWQgaXQuCiBBZGQg LS12ZXJib3NlIG9wdGlvbiB0byBnZXQgaWJ1cy1kYWVtb24gZXJyb3IgbWVzc2FnZXMuCisKK0Fk ZCB2YWxhIGNoZWNrIGluIGF1dG9nZW4uc2ggc2luY2UgdmFsYWMgY2hhbmdlcyB0aGUgc291cmNl IGNvZGVzLgogLS0tCi0gc3JjL3Rlc3RzL2lidXMtZGVza3RvcC10ZXN0aW5nLXJ1bm5lci5pbiB8 IDE1ICsrKysrKysrKysrKy0tLQotIDEgZmlsZSBjaGFuZ2VkLCAxMiBpbnNlcnRpb25zKCspLCAz IGRlbGV0aW9ucygtKQorIGF1dG9nZW4uc2ggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg fCAgMiArLQorIHNyYy90ZXN0cy9pYnVzLWRlc2t0b3AtdGVzdGluZy1ydW5uZXIuaW4gfCAxNyAr KysrKysrKysrKysrKy0tLQorIDIgZmlsZXMgY2hhbmdlZCwgMTUgaW5zZXJ0aW9ucygrKSwgNCBk ZWxldGlvbnMoLSkKIAorZGlmZiAtLWdpdCBhL2F1dG9nZW4uc2ggYi9hdXRvZ2VuLnNoCitpbmRl eCBkNmY4Zjk4My4uOTBlMTI2ZWMgMTAwNzU1CistLS0gYS9hdXRvZ2VuLnNoCisrKysgYi9hdXRv Z2VuLnNoCitAQCAtMTQsNyArMTQsNyBAQCBHQ0NfVkVSU0lPTj0kKGdjYyAtLXZlcnNpb24gfCBo ZWFkIC0xIHwgYXdrICd7cHJpbnQgJDN9JykKKyBHQ0NfTUFKT1JfVkVSU0lPTj0kKGVjaG8gIiRH Q0NfVkVSU0lPTiIgfCBhd2sgLUYuICd7cHJpbnQgJDF9JykKKyBGRURPUkFfUEtHMT0nYXV0b2Nv bmYgYXV0b21ha2UgbGlidG9vbCBnZXR0ZXh0LWRldmVsJworIEZFRE9SQV9QS0cyPSdnbGliMi1k ZXZlbCBndGsyLWRldmVsIGd0azMtZGV2ZWwKKy0gd2F5bGFuZC1kZXZlbCcKKysgd2F5bGFuZC1k ZXZlbCB2YWxhJworIEZFRE9SQV9QS0czPSdjbGRyLWVtb2ppLWFubm90YXRpb24gaXNvLWNvZGVz LWRldmVsIHVuaWNvZGUtZW1vamkgdW5pY29kZS11Y2QKKyAgeGtleWJvYXJkLWNvbmZpZy1kZXZl bCcKKyAKIGRpZmYgLS1naXQgYS9zcmMvdGVzdHMvaWJ1cy1kZXNrdG9wLXRlc3RpbmctcnVubmVy LmluIGIvc3JjL3Rlc3RzL2lidXMtZGVza3RvcC10ZXN0aW5nLXJ1bm5lci5pbgogaW5kZXggNmIy MDgzNDUuLjFhYzJkZmM4IDEwMDc1NQogLS0tIGEvc3JjL3Rlc3RzL2lidXMtZGVza3RvcC10ZXN0 aW5nLXJ1bm5lci5pbgpAQCAtNzcsMyArMTI0LDkzMiBAQCBpbmRleCA2YjIwODM0NS4uMWFjMmRm YzggMTAwNzU1CiAtLSAKIDIuNDUuMAogCitGcm9tIGYxOTBkYTE5YjUzYzI2N2NhMWM5NzMwZTE4 ZjFiNTNjMDg5YzAyNDcgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBmdWppd2FyYXQg PHRha2FvLmZ1aml3YXJhMUBnbWFpbC5jb20+CitEYXRlOiBGcmksIDI0IE1heSAyMDI0IDE1OjM3 OjAwICswOTAwCitTdWJqZWN0OiBbUEFUQ0ggMy82XSB1aS9ndGszOiBDb25maWd1cmUgaW5pdGlh bCBrZXltYXBzIHdpdGggbG9jYWxlY3RsIGluCisgV2F5bGFuZAorCitgc2V0eGtibWFwIC1xdWVy eWAgcmV0dXJucyBVUyBsYXlvdXQgd2l0aCBYd2F5bGFuZCBhbmQgaXQgZG9lcyBub3QKK2NvcnJl c3BvbmQgdG8gdGhlIHNlc3Npb24ga2V5bWFwcyBzbyBpYnVzLXBhbmVsIG5vdyB1c2VzCitgbG9j YWxlY3RsIHN0YXR1c2AgaW4gV2F5bGFuZCBidXQgaXQgZG9lcyBub3QgcHJvdmlkZSB0aGUgc2Vz c2lvbgorWEtCIG9wdGlvbnMgYWdhaW5zdCBgc2V0eGtibWFwYCBjb21tYW5kIGluIFhvcmcuCitO ZWVkIHRvIHRoaW5rIGhvdyB0byBsb2FkIG9yIHNldCB0aGUgWEtCIG9wdGlvbnMgaW4gV2F5bGFu ZCBsYXRlci4KKworQlVHPXJoYnojMjI2NzYxNQorQlVHPWh0dHBzOi8vZ2l0aHViLmNvbS9pYnVz L2lidXMvcHVsbC8yNjI0CistLS0KKyBzcmMvdGVzdHMvaWJ1cy1rZXlwcmVzcy5jIHwgIDQwICsr KysrKysrKy0tLS0KKyB1aS9ndGszL3BhbmVsLnZhbGEgICAgICAgIHwgICAyICstCisgdWkvZ3Rr My94a2JsYXlvdXQudmFsYSAgICB8IDEyMyArKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0t LS0tLS0tLQorIDMgZmlsZXMgY2hhbmdlZCwgMTE5IGluc2VydGlvbnMoKyksIDQ2IGRlbGV0aW9u cygtKQorCitkaWZmIC0tZ2l0IGEvc3JjL3Rlc3RzL2lidXMta2V5cHJlc3MuYyBiL3NyYy90ZXN0 cy9pYnVzLWtleXByZXNzLmMKK2luZGV4IGJhYjA1Mzk4Li5kNDRmMzliMiAxMDA2NDQKKy0tLSBh L3NyYy90ZXN0cy9pYnVzLWtleXByZXNzLmMKKysrKyBiL3NyYy90ZXN0cy9pYnVzLWtleXByZXNz LmMKK0BAIC01LDYgKzUsMTQgQEAKKyAjaW5jbHVkZSA8WDExL1hsaWIuaD4KKyAjaW5jbHVkZSA8 WDExL2V4dGVuc2lvbnMvWFRlc3QuaD4KKyAKKysjaWZkZWYgR0RLX1dJTkRPV0lOR19XQVlMQU5E CisrI2lmIEdUS19DSEVDS19WRVJTSU9OICgzLCA5OCwgNCkKKysjaW5jbHVkZSA8Z2RrL3dheWxh bmQvZ2Rrd2F5bGFuZC5oPgorKyNlbHNlCisrI2luY2x1ZGUgPGdkay9nZGt3YXlsYW5kLmg+Cisr I2VuZGlmCisrI2VuZGlmCisrCisgI2RlZmluZSBHUkVFTiAiXDAzM1swOzMybSIKKyAjZGVmaW5l IFJFRCAgICJcMDMzWzA7MzFtIgorICNkZWZpbmUgTkMgICAgIlwwMzNbMG0iCitAQCAtMTg2LDE1 ICsxOTQsOCBAQCBzZXRfZW5naW5lX2NiIChHT2JqZWN0ICAgICAgKm9iamVjdCwKKyAgICAgfQor IAorICAgICBkaXNwbGF5ID0gZ3RrX3dpZGdldF9nZXRfZGlzcGxheSAoZW50cnkpOworLSAgICBp ZiAoR0RLX0lTX1gxMV9ESVNQTEFZIChkaXNwbGF5KSkgeworLSAgICAgICAgeGRpc3BsYXkgPSBn ZGtfeDExX2Rpc3BsYXlfZ2V0X3hkaXNwbGF5IChkaXNwbGF5KTsKKy0gICAgfSBlbHNlIHsKKy0j aWYgMAorLSAgICAgICAgeGRpc3BsYXkgPSBYT3BlbkRpc3BsYXkgKE5VTEwpOworLSNlbHNlCist ICAgICAgICBnX2NyaXRpY2FsICgiTm8gaWRlYSB0byBzaW11bGF0ZSBrZXkgZXZlbnRzIGluIFdh eWxhbmRcbiIpOworLSNlbmRpZgorLSAgICB9CisrICAgIGdfYXNzZXJ0IChHREtfSVNfWDExX0RJ U1BMQVkgKGRpc3BsYXkpKTsKKysgICAgeGRpc3BsYXkgPSBnZGtfeDExX2Rpc3BsYXlfZ2V0X3hk aXNwbGF5IChkaXNwbGF5KTsKKyAgICAgZ19yZXR1cm5faWZfZmFpbCAoeGRpc3BsYXkpOworIAor ICAgICBmb3IgKGkgPSAwOyB0ZXN0X2Nhc2VzW2ldWzBdLmtleXZhbDsgaSsrKSB7CitAQCAtMjcy LDEyICsyNzMsMTggQEAgY3JlYXRlX3dpbmRvdyAoKQorIHN0YXRpYyB2b2lkCisgdGVzdF9rZXlw cmVzcyAodm9pZCkKKyB7CisrICAgIGdjaGFyICpwYXRoOworICAgICBpbnQgc3RhdHVzID0gMDsK KyAgICAgR0Vycm9yICplcnJvciA9IE5VTEw7CisgCistICAgIGdfc3Bhd25fY29tbWFuZF9saW5l X3N5bmMgKCJzZXR4a2JtYXAgLWxheW91dCB1cyIsCistICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIE5VTEwsIE5VTEwsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZzdGF0 dXMsICZlcnJvcik7CisrICAgIC8qIGxvY2FsZWN0bCBkb2VzIG5vdCBjaGFuZ2UgdGhlIHNlc3Np b24ga2V5bWFwLiAqLworKyAgICBwYXRoID0gZ19maW5kX3Byb2dyYW1faW5fcGF0aCAoInNldHhr Ym1hcCIpOworKyAgICBpZiAocGF0aCkgeworKyAgICAgICAgZ19zcGF3bl9jb21tYW5kX2xpbmVf c3luYyAoInNldHhrYm1hcCAtbGF5b3V0IHVzIiwKKysgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIE5VTEwsIE5VTEwsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAmc3RhdHVzLCAmZXJyb3IpOworKyAgICB9CisrICAgIGdfZnJlZSAocGF0aCk7CisgICAgIGdf YXNzZXJ0IChyZWdpc3Rlcl9pYnVzX2VuZ2luZSAoKSk7CisgCisgICAgIGNyZWF0ZV93aW5kb3cg KCk7CitAQCAtMjk1LDYgKzMwMiwxNSBAQCBtYWluIChpbnQgYXJnYywgY2hhciAqYXJndltdKQor ICAgICAgICAgZ19tZXNzYWdlICgiRmFpbGVkIHNldGVudiBOT19BVF9CUklER0VcbiIpOworICAg ICBnX3Rlc3RfaW5pdCAoJmFyZ2MsICZhcmd2LCBOVUxMKTsKKyAgICAgZ3RrX2luaXQgKCZhcmdj LCAmYXJndik7CisrI2lmZGVmIEdES19XSU5ET1dJTkdfV0FZTEFORAorKyAgICB7CisrICAgICAg ICBHZGtEaXNwbGF5ICpkaXNwbGF5ID0gZ2RrX2Rpc3BsYXlfZ2V0X2RlZmF1bHQgKCk7CisrICAg ICAgICBpZiAoR0RLX0lTX1dBWUxBTkRfRElTUExBWSAoZGlzcGxheSkpIHsKKysgICAgICAgICAg ICBnX3ByaW50ICgic2V0eGtibWFwIGFuZCBYVEVTVCBkbyBub3Qgd29yayBpbiBXYXlsYW5kLlxu Iik7CisrICAgICAgICAgICAgcmV0dXJuIDA7CisrICAgICAgICB9CisrICAgIH0KKysjZW5kaWYK KyAKKyAgICAgZ190ZXN0X2FkZF9mdW5jICgiL2lidXMva2V5cmVwc3MiLCB0ZXN0X2tleXByZXNz KTsKKyAKK2RpZmYgLS1naXQgYS91aS9ndGszL3BhbmVsLnZhbGEgYi91aS9ndGszL3BhbmVsLnZh bGEKK2luZGV4IDY3OGI1MWYwLi5kOTA3NDU4ZSAxMDA2NDQKKy0tLSBhL3VpL2d0azMvcGFuZWwu dmFsYQorKysrIGIvdWkvZ3RrMy9wYW5lbC52YWxhCitAQCAtNTEwLDcgKzUxMCw3IEBAIGNsYXNz IFBhbmVsIDogSUJ1cy5QYW5lbFNlcnZpY2UgeworICAgICAgICAgc3RyaW5nIGxheW91dHM7Cisg ICAgICAgICBzdHJpbmcgdmFyaWFudHM7CisgICAgICAgICBzdHJpbmcgb3B0aW9uOworLSAgICAg ICAgWEtCTGF5b3V0LmdldF9sYXlvdXQob3V0IGxheW91dHMsIG91dCB2YXJpYW50cywgb3V0IG9w dGlvbik7CisrICAgICAgICBtX3hrYmxheW91dC5nZXRfbGF5b3V0KG91dCBsYXlvdXRzLCBvdXQg dmFyaWFudHMsIG91dCBvcHRpb24pOworIAorICAgICAgICAgR0xpYi5MaXN0PElCdXMuRW5naW5l RGVzYz4geGtiX2VuZ2luZXMgPQorICAgICAgICAgICAgICAgICBuZXcgR0xpYi5MaXN0PElCdXMu RW5naW5lRGVzYz4oKTsKK2RpZmYgLS1naXQgYS91aS9ndGszL3hrYmxheW91dC52YWxhIGIvdWkv Z3RrMy94a2JsYXlvdXQudmFsYQoraW5kZXggNzI5YjQ4Y2UuLjc4MTJjNGJiIDEwMDY0NAorLS0t IGEvdWkvZ3RrMy94a2JsYXlvdXQudmFsYQorKysrIGIvdWkvZ3RrMy94a2JsYXlvdXQudmFsYQor QEAgLTQsNyArNCw3IEBACisgICoKKyAgKiBDb3B5cmlnaHQoYykgMjAxNCBSZWQgSGF0LCBJbmMu CisgICogQ29weXJpZ2h0KGMpIDIwMTQgUGVuZyBIdWFuZyA8c2hhd24ucC5odWFuZ0BnbWFpbC5j b20+CistICogQ29weXJpZ2h0KGMpIDIwMTQgVGFrYW8gRnVqaXdhcmEgPHRmdWppd2FyQHJlZGhh dC5jb20+CisrICogQ29weXJpZ2h0KGMpIDIwMTQtMjAyNCBUYWthbyBGdWppd2FyYSA8dGZ1aml3 YXJAcmVkaGF0LmNvbT4KKyAgKgorICAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5 b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRl cm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCitAQCAtMjUsMTEgKzI1LDExIEBA CisgY2xhc3MgWEtCTGF5b3V0CisgeworICAgICBwcml2YXRlIGNvbnN0IHN0cmluZyBYS0JfQ09N TUFORCA9ICJzZXR4a2JtYXAiOworLSAgICBwcml2YXRlIGNvbnN0IHN0cmluZyBYS0JfUVVFUllf QVJHID0gIi1xdWVyeSI7CisgICAgIHByaXZhdGUgY29uc3Qgc3RyaW5nIFhLQl9MQVlPVVRfQVJH ID0gIi1sYXlvdXQiOworICAgICBwcml2YXRlIGNvbnN0IHN0cmluZyBYTU9ETUFQX0NPTU1BTkQg PSAieG1vZG1hcCI7CisgICAgIHByaXZhdGUgY29uc3Qgc3RyaW5nW10gWE1PRE1BUF9LTk9XTl9G SUxFUyA9IHsiLnhtb2RtYXAiLCAiLnhtb2RtYXByYyIsCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiLlhtb2RtYXAiLCAiLlhtb2RtYXByYyJ9Owor KyAgICBwcml2YXRlIHN0cmluZ1tdIG1fZ2V0X2xheW91dF9hcmdzID0ge307CisgICAgIHByaXZh dGUgc3RyaW5nW10gbV94a2JfbGF0aW5fbGF5b3V0cyA9IHt9OworICAgICBwcml2YXRlIHN0cmlu ZyBtX2RlZmF1bHRfbGF5b3V0ID0gIiI7CisgICAgIHByaXZhdGUgc3RyaW5nIG1fZGVmYXVsdF92 YXJpYW50ID0gIiI7CitAQCAtMzksMTYgKzM5LDIzIEBAIGNsYXNzIFhLQkxheW91dAorICAgICBw dWJsaWMgWEtCTGF5b3V0KCkgeworICAgICB9CisgCisrCisgICAgIHB1YmxpYyB2b2lkIHNldF9s YXRpbl9sYXlvdXRzKHN0cmluZ1tdIHhrYl9sYXRpbl9sYXlvdXRzKSB7CisgICAgICAgICBtX3hr Yl9sYXRpbl9sYXlvdXRzID0geGtiX2xhdGluX2xheW91dHM7CisgICAgIH0KKyAKKy0gICAgcHVi bGljIHN0YXRpYyB2b2lkIGdldF9sYXlvdXQob3V0IHN0cmluZyBsYXlvdXQsCistICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIG91dCBzdHJpbmcgdmFyaWFudCwKKy0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgb3V0IHN0cmluZyBvcHRpb24pIHsKKysKKysgICAgcHVi bGljIHZvaWQgZ2V0X2xheW91dChvdXQgc3RyaW5nIGxheW91dCwKKysgICAgICAgICAgICAgICAg ICAgICAgICAgICBvdXQgc3RyaW5nIHZhcmlhbnQsCisrICAgICAgICAgICAgICAgICAgICAgICAg ICAgb3V0IHN0cmluZyBvcHRpb24pIHsKKysgICAgICAgIHNlYXJjaF9nZXRfbGF5b3V0X3Byb2dy YW0oKTsKKysgICAgICAgIGlmIChtX2dldF9sYXlvdXRfYXJnc1swXSA9PSBudWxsKSB7CisrICAg ICAgICAgICAgd2FybmluZygiTm90IGZvdW5kIGxvY2FsZWN0bCBvciBzZXR4a2JtYXAgY29tbWFu ZCBpbiBQQVRIIik7CisrICAgICAgICAgICAgcmV0dXJuOworKyAgICAgICAgfQorICAgICAgICAg c3RyaW5nW10gZXhlY19jb21tYW5kID0ge307CistICAgICAgICBleGVjX2NvbW1hbmQgKz0gWEtC X0NPTU1BTkQ7CistICAgICAgICBleGVjX2NvbW1hbmQgKz0gWEtCX1FVRVJZX0FSRzsKKysgICAg ICAgIGZvcmVhY2ggKHVub3duZWQgc3RyaW5nIGFyZyBpbiBtX2dldF9sYXlvdXRfYXJncykKKysg ICAgICAgICAgICBleGVjX2NvbW1hbmQgKz0gYXJnOworICAgICAgICAgc3RyaW5nIHN0YW5kYXJk X291dHB1dCA9IG51bGw7CisgICAgICAgICBzdHJpbmcgc3RhbmRhcmRfZXJyb3IgPSBudWxsOwor ICAgICAgICAgaW50IGV4aXRfc3RhdHVzID0gMDsKK0BAIC02OSw0NiArNzYsOTQgQEAgY2xhc3Mg WEtCTGF5b3V0CisgICAgICAgICB9IGNhdGNoIChHTGliLlNwYXduRXJyb3IgZXJyKSB7CisgICAg ICAgICAgICAgc3RkZXJyLnByaW50ZigiSUJVU19FUlJPUjogJXNcbiIsIGVyci5tZXNzYWdlKTsK KyAgICAgICAgIH0KKy0gICAgICAgIGlmIChleGl0X3N0YXR1cyAhPSAwKSB7CisrICAgICAgICBp ZiAoZXhpdF9zdGF0dXMgIT0gMCkKKyAgICAgICAgICAgICBzdGRlcnIucHJpbnRmKCJJQlVTX0VS Uk9SOiAlc1xuIiwgc3RhbmRhcmRfZXJyb3IgPz8gIiIpOworLSAgICAgICAgfQorLSAgICAgICAg aWYgKHN0YW5kYXJkX291dHB1dCA9PSBudWxsKSB7CisrICAgICAgICBpZiAoc3RhbmRhcmRfb3V0 cHV0ID09IG51bGwpCisgICAgICAgICAgICAgcmV0dXJuOworKworKyAgICAgICAgaWYgKGV4ZWNf Y29tbWFuZFswXSA9PSAibG9jYWxlY3RsIikgeworKyAgICAgICAgICAgIHBhcnNlX2xvY2FsZWN0 bF9zdGF0dXNfc3RyKHN0YW5kYXJkX291dHB1dCwKKysgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBvdXQgbGF5b3V0LAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIG91dCB2YXJpYW50LAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIG91dCBvcHRpb24pOworKyAgICAgICAgfSBlbHNlIGlmIChleGVjX2NvbW1hbmRbMF0g PT0gWEtCX0NPTU1BTkQpIHsKKysgICAgICAgICAgICBwYXJzZV94a2JtYXBfcXVlcnlfc3RyKHN0 YW5kYXJkX291dHB1dCwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG91dCBs YXlvdXQsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvdXQgdmFyaWFudCwK KysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG91dCBvcHRpb24pOworICAgICAg ICAgfQorKyAgICB9CisrCisgCisrICAgIHByaXZhdGUgdm9pZCBzZWFyY2hfZ2V0X2xheW91dF9w cm9ncmFtKCkgeworKyAgICAgICAgaWYgKG1fZ2V0X2xheW91dF9hcmdzWzBdICE9IG51bGwpCisr ICAgICAgICAgICAgcmV0dXJuOworKyAgICAgICAgc3RyaW5nIGdldF9sYXlvdXRfY29tbWFuZCA9 IG51bGw7CisrICAgICAgICAvLyBzZXR4a2JtYXAgY2FuIGdldCB0aGUgc2Vzc2lvbiBYS0Igb3B0 aW9ucyBpbiBYb3JnLgorKyAgICAgICAgaWYgKEJpbmRpbmdDb21tb24uZGVmYXVsdF9pc194ZGlz cGxheSgpKQorKyAgICAgICAgICAgIGdldF9sYXlvdXRfY29tbWFuZCA9ICJzZXR4a2JtYXAgLXF1 ZXJ5IjsKKysgICAgICAgIGVsc2UgaWYgKEdMaWIuRW52aXJvbm1lbnQuZmluZF9wcm9ncmFtX2lu X3BhdGgoImxvY2FsZWN0bCIpICE9IG51bGwpCisrICAgICAgICAgICAgZ2V0X2xheW91dF9jb21t YW5kID0gImxvY2FsZWN0bCBzdGF0dXMiOworKyAgICAgICAgZWxzZSBpZiAoR0xpYi5FbnZpcm9u bWVudC5maW5kX3Byb2dyYW1faW5fcGF0aCgic2V0eGtibWFwIikgIT0gbnVsbCkKKysgICAgICAg ICAgICBnZXRfbGF5b3V0X2NvbW1hbmQgPSAic2V0eGtibWFwIC1xdWVyeSI7CisrICAgICAgICBp ZiAoZ2V0X2xheW91dF9jb21tYW5kICE9IG51bGwpCisrICAgICAgICAgICAgbV9nZXRfbGF5b3V0 X2FyZ3MgPSBnZXRfbGF5b3V0X2NvbW1hbmQuc3BsaXQoIiAiKTsKKysgICAgfQorKworKworKyAg ICBwcml2YXRlIHZvaWQgcGFyc2VfbG9jYWxlY3RsX3N0YXR1c19zdHIoc3RyaW5nIHN0YW5kYXJk X291dHB1dCwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG91 dCBzdHJpbmcgbGF5b3V0LAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgb3V0IHN0cmluZyB2YXJpYW50LAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgb3V0IHN0cmluZyBvcHRpb24pIHsKKysgICAgICAgIGxheW91dCA9ICIi OworKyAgICAgICAgdmFyaWFudCA9ICIiOworKyAgICAgICAgb3B0aW9uID0gIiI7CisgICAgICAg ICBmb3JlYWNoIChzdHJpbmcgbGluZSBpbiBzdGFuZGFyZF9vdXRwdXQuc3BsaXQoIlxuIikpIHsK Ky0gICAgICAgICAgICBzdHJpbmcgZWxlbWVudCA9ICJsYXlvdXQ6IjsKKy0gICAgICAgICAgICBz dHJpbmcgcmV0dmFsID0gIiI7CistICAgICAgICAgICAgaWYgKGxpbmUuaGFzX3ByZWZpeChlbGVt ZW50KSkgeworLSAgICAgICAgICAgICAgICByZXR2YWwgPSBsaW5lW2VsZW1lbnQubGVuZ3RoOmxp bmUubGVuZ3RoXTsKKy0gICAgICAgICAgICAgICAgaWYgKHJldHZhbCAhPSBudWxsKSB7CistICAg ICAgICAgICAgICAgICAgICByZXR2YWwgPSByZXR2YWwuc3RyaXAoKTsKKysgICAgICAgICAgICBj b25zdCBzdHJpbmdbXSBlbGVtZW50cyA9IHsgIlgxMSBMYXlvdXQ6IiwgIlgxMSBWYXJpYW50OiIg fTsKKysgICAgICAgICAgICBmb3JlYWNoICh1bm93bmVkIHN0cmluZyBlbGVtZW50IGluIGVsZW1l bnRzKSB7CisrICAgICAgICAgICAgICAgIHN0cmluZyByZXR2YWwgPSAiIjsKKysgICAgICAgICAg ICAgICAgaW50IGluZGV4ID0gbGluZS5pbmRleF9vZihlbGVtZW50KTsKKysgICAgICAgICAgICAg ICAgaWYgKGluZGV4ID49IDApIHsKKysgICAgICAgICAgICAgICAgICAgIHJldHZhbCA9IGxpbmVb aW5kZXggKyBlbGVtZW50Lmxlbmd0aDpsaW5lLmxlbmd0aF07CisrICAgICAgICAgICAgICAgICAg ICBpZiAocmV0dmFsICE9IG51bGwpCisrICAgICAgICAgICAgICAgICAgICAgICAgcmV0dmFsID0g cmV0dmFsLnN0cmlwKCk7CisrICAgICAgICAgICAgICAgICAgICBpZiAoZWxlbWVudCA9PSBlbGVt ZW50c1swXSkKKysgICAgICAgICAgICAgICAgICAgICAgICBsYXlvdXQgPSByZXR2YWw7CisrICAg ICAgICAgICAgICAgICAgICBlbHNlIGlmIChlbGVtZW50ID09IGVsZW1lbnRzWzFdKQorKyAgICAg ICAgICAgICAgICAgICAgICAgIHZhcmlhbnQgPSByZXR2YWw7CisgICAgICAgICAgICAgICAgIH0K Ky0gICAgICAgICAgICAgICAgbGF5b3V0ID0gcmV0dmFsOworICAgICAgICAgICAgIH0KKysgICAg ICAgIH0KKysgICAgfQorIAorLSAgICAgICAgICAgIGVsZW1lbnQgPSAidmFyaWFudDoiOworLSAg ICAgICAgICAgIHJldHZhbCA9ICIiOworLSAgICAgICAgICAgIGlmIChsaW5lLmhhc19wcmVmaXgo ZWxlbWVudCkpIHsKKy0gICAgICAgICAgICAgICAgcmV0dmFsID0gbGluZVtlbGVtZW50Lmxlbmd0 aDpsaW5lLmxlbmd0aF07CistICAgICAgICAgICAgICAgIGlmIChyZXR2YWwgIT0gbnVsbCkgewor LSAgICAgICAgICAgICAgICAgICAgcmV0dmFsID0gcmV0dmFsLnN0cmlwKCk7CistICAgICAgICAg ICAgICAgIH0KKy0gICAgICAgICAgICAgICAgdmFyaWFudCA9IHJldHZhbDsKKy0gICAgICAgICAg ICB9CisgCistICAgICAgICAgICAgZWxlbWVudCA9ICJvcHRpb25zOiI7CistICAgICAgICAgICAg cmV0dmFsID0gIiI7CistICAgICAgICAgICAgaWYgKGxpbmUuaGFzX3ByZWZpeChlbGVtZW50KSkg eworLSAgICAgICAgICAgICAgICByZXR2YWwgPSBsaW5lW2VsZW1lbnQubGVuZ3RoOmxpbmUubGVu Z3RoXTsKKy0gICAgICAgICAgICAgICAgaWYgKHJldHZhbCAhPSBudWxsKSB7CistICAgICAgICAg ICAgICAgICAgICByZXR2YWwgPSByZXR2YWwuc3RyaXAoKTsKKysgICAgcHJpdmF0ZSB2b2lkIHBh cnNlX3hrYm1hcF9xdWVyeV9zdHIoc3RyaW5nIHN0YW5kYXJkX291dHB1dCwKKysgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3V0IHN0cmluZyBsYXlvdXQsCisrICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG91dCBzdHJpbmcgdmFyaWFudCwKKysg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3V0IHN0cmluZyBvcHRpb24p IHsKKysgICAgICAgIGxheW91dCA9ICIiOworKyAgICAgICAgdmFyaWFudCA9ICIiOworKyAgICAg ICAgb3B0aW9uID0gIiI7CisrICAgICAgICBmb3JlYWNoIChzdHJpbmcgbGluZSBpbiBzdGFuZGFy ZF9vdXRwdXQuc3BsaXQoIlxuIikpIHsKKysgICAgICAgICAgICBjb25zdCBzdHJpbmdbXSBlbGVt ZW50cyA9IHsgImxheW91dDoiLCAidmFyaWFudDoiLCAib3B0aW9uczoiIH07CisrICAgICAgICAg ICAgZm9yZWFjaCAodW5vd25lZCBzdHJpbmcgZWxlbWVudCBpbiBlbGVtZW50cykgeworKyAgICAg ICAgICAgICAgICBzdHJpbmcgcmV0dmFsID0gIiI7CisrICAgICAgICAgICAgICAgIGlmIChsaW5l Lmhhc19wcmVmaXgoZWxlbWVudCkpIHsKKysgICAgICAgICAgICAgICAgICAgIHJldHZhbCA9IGxp bmVbZWxlbWVudC5sZW5ndGg6bGluZS5sZW5ndGhdOworKyAgICAgICAgICAgICAgICAgICAgaWYg KHJldHZhbCAhPSBudWxsKQorKyAgICAgICAgICAgICAgICAgICAgICAgIHJldHZhbCA9IHJldHZh bC5zdHJpcCgpOworKyAgICAgICAgICAgICAgICAgICAgaWYgKGVsZW1lbnQgPT0gZWxlbWVudHNb MF0pCisrICAgICAgICAgICAgICAgICAgICAgICAgbGF5b3V0ID0gcmV0dmFsOworKyAgICAgICAg ICAgICAgICAgICAgZWxzZSBpZiAoZWxlbWVudCA9PSBlbGVtZW50c1sxXSkKKysgICAgICAgICAg ICAgICAgICAgICAgICB2YXJpYW50ID0gcmV0dmFsOworKyAgICAgICAgICAgICAgICAgICAgZWxz ZSBpZiAoZWxlbWVudCA9PSBlbGVtZW50c1syXSkKKysgICAgICAgICAgICAgICAgICAgICAgICBv cHRpb24gPSByZXR2YWw7CisgICAgICAgICAgICAgICAgIH0KKy0gICAgICAgICAgICAgICAgb3B0 aW9uID0gcmV0dmFsOworICAgICAgICAgICAgIH0KKyAgICAgICAgIH0KKyAgICAgfQorIAorKwor ICAgICBwdWJsaWMgdm9pZCBzZXRfbGF5b3V0KElCdXMuRW5naW5lRGVzYyBlbmdpbmUpIHsKKyAg ICAgICAgIHN0cmluZyBsYXlvdXQgPSBlbmdpbmUuZ2V0X2xheW91dCgpOworICAgICAgICAgc3Ry aW5nIHZhcmlhbnQgPSBlbmdpbmUuZ2V0X2xheW91dF92YXJpYW50KCk7CitAQCAtMjA2LDYgKzI2 MSw3IEBAIGNsYXNzIFhLQkxheW91dAorICAgICAgICAgcnVuX3htb2RtYXAoKTsKKyAgICAgfQor IAorKworICAgICBwdWJsaWMgdm9pZCBydW5feG1vZG1hcCgpIHsKKyAgICAgICAgIGlmICghbV91 c2VfeG1vZG1hcCkgeworICAgICAgICAgICAgIHJldHVybjsKK0BAIC0yNDYsNiArMzAyLDcgQEAg Y2xhc3MgWEtCTGF5b3V0CisgICAgICAgICB9CisgICAgIH0KKyAKKysKKyAgICAgcHVibGljIHZv aWQgc2V0X3VzZV94bW9kbWFwKGJvb2wgdXNlX3htb2RtYXApIHsKKyAgICAgICAgIG1fdXNlX3ht b2RtYXAgPSB1c2VfeG1vZG1hcDsKKyAgICAgfQorLS0gCisyLjQ1LjAKKworRnJvbSA0OGM0YTlj OTAwNDIxYjllNzdiZTM5OWE0NzkyOTc0ZjI1YTgwYmU2IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAw MQorRnJvbTogZnVqaXdhcmF0IDx0YWthby5mdWppd2FyYTFAZ21haWwuY29tPgorRGF0ZTogRnJp LCAyNCBNYXkgMjAyNCAxNjoxNzo1OCArMDkwMAorU3ViamVjdDogW1BBVENIIDQvNl0gc3JjL2li dXNlbmdpbmVzaW1wbGU6IElnbm9yZSBTdXBlciBtb2RpZmllciBmb3IgY29tcG9zZQorIGtleXMK KworTm93IElCdXMgcmVjZWl2ZXMga2V5IGV2ZW50cyBwcmlvciB0byB0aGUgd2luZG93IG1hbmFn ZXIgYW5kIG5lZWRzCit0byBpZ25vcmUgU3VwZXIgbW9kaWZpZXIgc2luY2UgU3VwZXIga2V5IGhh cyBiZWVuIGFscmVhZHkgaWdub3JlZAorZm9yIGNvbXBvc2Uga2V5cy4KKworQlVHPWh0dHBzOi8v Z2l0bGFiLmdub21lLm9yZy9HTk9NRS9tdXR0ZXIvLS9pc3N1ZXMvMzEyOAorLS0tCisgc3JjL2li dXNlbmdpbmVzaW1wbGUuYyB8IDYgKysrKy0tCisgMSBmaWxlIGNoYW5nZWQsIDQgaW5zZXJ0aW9u cygrKSwgMiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL3NyYy9pYnVzZW5naW5lc2ltcGxl LmMgYi9zcmMvaWJ1c2VuZ2luZXNpbXBsZS5jCitpbmRleCA0YmVlOGNiMy4uNzZkZDllYjUgMTAw NjQ0CistLS0gYS9zcmMvaWJ1c2VuZ2luZXNpbXBsZS5jCisrKysgYi9zcmMvaWJ1c2VuZ2luZXNp bXBsZS5jCitAQCAtMiw3ICsyLDcgQEAKKyAvKiB2aW06c2V0IGV0IHN0cz00OiAqLworIC8qIGli dXMgLSBUaGUgSW5wdXQgQnVzCisgICogQ29weXJpZ2h0IChDKSAyMDE0IFBlbmcgSHVhbmcgPHNo YXduLnAuaHVhbmdAZ21haWwuY29tPgorLSAqIENvcHlyaWdodCAoQykgMjAxNS0yMDIzIFRha2Fv IEZ1aml3YXJhIDx0YWthby5mdWppd2FyYTFAZ21haWwuY29tPgorKyAqIENvcHlyaWdodCAoQykg MjAxNS0yMDI0IFRha2FvIEZ1aml3YXJhIDx0YWthby5mdWppd2FyYTFAZ21haWwuY29tPgorICAq IENvcHlyaWdodCAoQykgMjAxNC0yMDE3IFJlZCBIYXQsIEluYy4KKyAgKgorICAqIFRoaXMgbGli cmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKK0BA IC0xMDE3LDcgKzEwMTcsOSBAQCBpYnVzX2VuZ2luZV9zaW1wbGVfcHJvY2Vzc19rZXlfZXZlbnQg KElCdXNFbmdpbmUgKmVuZ2luZSwKKyAgICAgICAgICAhaXNfaGV4X3N0YXJ0ICYmICFpc19oZXhf ZW5kICYmICFpc19lc2NhcGUgJiYgIWlzX2JhY2tzcGFjZSkgfHwKKyAgICAgICAgIChwcml2LT5p bl9lbW9qaV9zZXF1ZW5jZSAmJiAhcHJpbnRhYmxlX2tleXZhbCAmJgorICAgICAgICAgICFpc19l bW9qaV9zdGFydCAmJiAhaXNfaGV4X2VuZCAmJiAhaXNfZXNjYXBlICYmICFpc19iYWNrc3BhY2Up KSB7CistICAgICAgICBpZiAobW9kaWZpZXJzICYgKElCVVNfTU9EMV9NQVNLIHwgSUJVU19DT05U Uk9MX01BU0spIHx8CisrICAgICAgICBndWludCBub190ZXh0X2lucHV0X21hc2sgPSBJQlVTX01P RDFfTUFTSyB8IElCVVNfTU9ENF9NQVNLIFwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHwgSUJVU19DT05UUk9MX01BU0sgfCBJQlVTX1NVUEVSX01BU0s7CisrICAgICAgICBp ZiAobW9kaWZpZXJzICYgbm9fdGV4dF9pbnB1dF9tYXNrIHx8CisgICAgICAgICAgICAgKChwcml2 LT5pbl9oZXhfc2VxdWVuY2UgfHwgcHJpdi0+aW5fZW1vamlfc2VxdWVuY2UpICYmCisgICAgICAg ICAgICAgIHByaXYtPm1vZGlmaWVyc19kcm9wcGVkICYmCisgICAgICAgICAgICAgIChrZXl2YWwg PT0gSUJVU19LRVlfUmV0dXJuIHx8CistLSAKKzIuNDUuMAorCitGcm9tIGEzYTVhMjBhMzBmMmE4 ZWNlZTRkYzJhYWE0ZmQ0OGM2MmM5MWQ3NjggTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9t OiBmdWppd2FyYXQgPHRha2FvLmZ1aml3YXJhMUBnbWFpbC5jb20+CitEYXRlOiBGcmksIDI0IE1h eSAyMDI0IDE2OjE4OjAzICswOTAwCitTdWJqZWN0OiBbUEFUQ0ggNS82XSBzcmMvaWJ1c2VuZ2lu ZXNpbXBsZTogRG8gbm90IHVwZGF0ZSB6ZXJvIGxlbmd0aCBwcmVlZGl0CisgdGV4dAorCitTZXZl cmFsIGVuZ2luZXMgY2FuIGluaGVyaXQgSUJ1c0VuZ2llU2ltcGxlIGZvciB0aGUgY29tcG9zZSBr ZXkgc3VwcG9ydAorbGlrZXMgQW50aHksIEhhbmd1bCwgTTE3biBhbmQgaXQgY291bGQgaGF2ZSB0 aGUgZHVwbGljYXRlZCBwcmVlZGl0IHRleHQKK2JldHdlZW4gdGhlIGVuZ2luZSBhbmQgdGhlIHBh cmVudCBJQnVzRW5naW5lU2ltcGxlIGFuZCBpdCBjb3VsZCB1cGRhdGUKK3RoZSBwcmVlZGl0IHRl eHQgbXV0dWFsbHkgYnkgbWlzdGFrZS4KKworVGhlbiB0aGUgcHJlZWRpdCB0ZXh0IHNob3VsZCBu b3QgYmUgaGlkZGVuIGZvciB6ZXJvIGxlbmd0aCBhdCBsZWFzdC4KK1RoaXMgdXBkYXRlIG1pZ2h0 IG5vdCBiZSBlbm91Z2ggYnV0IGhvcGUgdG8gZml4IHRoZSBjdXJzb3IgcG9zaXRpb24KK3Jlc2V0 IHdpdGggaGlkaW5nIHRoZSBwcmVlZGl0IHRleHQgYWdhaW5zdCB0aGUgcmVwb3J0ZWQgaXNzdWUg d2l0aAorYG0xN246c2E6aXRyYW5zYCBlbmdpbmUuCisKK0JVRz1odHRwczovL2dpdGh1Yi5jb20v aWJ1cy9pYnVzL2lzc3Vlcy8yNTM2CistLS0KKyBzcmMvaWJ1c2VuZ2luZXNpbXBsZS5jIHwgNDEg KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0KKyAxIGZpbGUgY2hhbmdl ZCwgMzUgaW5zZXJ0aW9ucygrKSwgNiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL3NyYy9p YnVzZW5naW5lc2ltcGxlLmMgYi9zcmMvaWJ1c2VuZ2luZXNpbXBsZS5jCitpbmRleCA3NmRkOWVi NS4uYWM0Nzg4NTUgMTAwNjQ0CistLS0gYS9zcmMvaWJ1c2VuZ2luZXNpbXBsZS5jCisrKysgYi9z cmMvaWJ1c2VuZ2luZXNpbXBsZS5jCitAQCAtODMsMTEgKzgzLDEzIEBAIHN0cnVjdCBfSUJ1c0Vu Z2luZVNpbXBsZVByaXZhdGUgeworICAgICBJQnVzRW5naW5lRGljdCAgICAgKmVtb2ppX2RpY3Q7 CisgICAgIElCdXNMb29rdXBUYWJsZSAgICAqbG9va3VwX3RhYmxlOworICAgICBnYm9vbGVhbiAg ICAgICAgICAgIGxvb2t1cF90YWJsZV92aXNpYmxlOworKyAgICBJQnVzVGV4dCAgICAgICAgICAg KnVwZGF0ZWRfcHJlZWRpdDsKKyB9OworIAorIGd1aW50IENPTVBPU0VfQlVGRkVSX1NJWkUgPSAy MDsKKyBHX0xPQ0tfREVGSU5FX1NUQVRJQyAoZ2xvYmFsX3RhYmxlcyk7Cisgc3RhdGljIEdTTGlz dCAqZ2xvYmFsX3RhYmxlczsKKytzdGF0aWMgSUJ1c1RleHQgKnVwZGF0ZWRfcHJlZWRpdF9lbXB0 eTsKKyAKKyAvKiBmdW5jdGlvbnMgcHJvdG90eXBlICovCisgc3RhdGljIHZvaWQgICAgIGlidXNf ZW5naW5lX3NpbXBsZV9kZXN0cm95ICAgICAgKElCdXNFbmdpbmVTaW1wbGUgICAqc2ltcGxlKTsK K0BAIC0xMzUsMjQgKzEzNywyOSBAQCBpYnVzX2VuZ2luZV9zaW1wbGVfY2xhc3NfaW5pdCAoSUJ1 c0VuZ2luZVNpbXBsZUNsYXNzICpjbGFzcykKKyAgICAgZW5naW5lX2NsYXNzLT5wYWdlX3VwICAg PSBpYnVzX2VuZ2luZV9zaW1wbGVfcGFnZV91cDsKKyAgICAgZW5naW5lX2NsYXNzLT5jYW5kaWRh dGVfY2xpY2tlZAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IGlidXNfZW5naW5lX3Np bXBsZV9jYW5kaWRhdGVfY2xpY2tlZDsKKysgICAgdXBkYXRlZF9wcmVlZGl0X2VtcHR5ID0gaWJ1 c190ZXh0X25ld19mcm9tX3N0cmluZyAoIiIpOworKyAgICBnX29iamVjdF9yZWZfc2luayAodXBk YXRlZF9wcmVlZGl0X2VtcHR5KTsKKyB9CisgCisgc3RhdGljIHZvaWQKKyBpYnVzX2VuZ2luZV9z aW1wbGVfaW5pdCAoSUJ1c0VuZ2luZVNpbXBsZSAqc2ltcGxlKQorIHsKKysgICAgSUJ1c0VuZ2lu ZVNpbXBsZVByaXZhdGUgKnByaXY7CisgICAgIEdCeXRlcyAqZGF0YTsKKyAgICAgR0Vycm9yICpl cnJvciA9IE5VTEw7CisgICAgIGNvbnN0IGNoYXIgKmNvbnRlbnRzOworICAgICBnc2l6ZSBsZW5n dGggPSAwOworICAgICBJQnVzQ29tcG9zZVRhYmxlRXggKmVuX2NvbXBvc2VfdGFibGU7CisgCist ICAgIHNpbXBsZS0+cHJpdiA9IElCVVNfRU5HSU5FX1NJTVBMRV9HRVRfUFJJVkFURSAoc2ltcGxl KTsKKy0gICAgc2ltcGxlLT5wcml2LT5jb21wb3NlX2J1ZmZlciA9IGdfbmV3MCAoZ3VpbnQsIENP TVBPU0VfQlVGRkVSX1NJWkUgKyAxKTsKKy0gICAgc2ltcGxlLT5wcml2LT5oZXhfbW9kZV9lbmFi bGVkID0KKysgICAgcHJpdiA9IHNpbXBsZS0+cHJpdiA9IElCVVNfRU5HSU5FX1NJTVBMRV9HRVRf UFJJVkFURSAoc2ltcGxlKTsKKysgICAgcHJpdi0+Y29tcG9zZV9idWZmZXIgPSBnX25ldzAgKGd1 aW50LCBDT01QT1NFX0JVRkZFUl9TSVpFICsgMSk7CisrICAgIHByaXYtPmhleF9tb2RlX2VuYWJs ZWQgPQorICAgICAgICAgZ19nZXRlbnYoIklCVVNfRU5BQkxFX0NUUkxfU0hJRlRfVSIpICE9IE5V TEwgfHwKKyAgICAgICAgIGdfZ2V0ZW52KCJJQlVTX0VOQUJMRV9DT05UUk9MX1NISUZUX1UiKSAh PSBOVUxMOworLSAgICBzaW1wbGUtPnByaXYtPnRlbnRhdGl2ZV9tYXRjaCA9IGdfc3RyaW5nX25l dyAoIiIpOworLSAgICBzaW1wbGUtPnByaXYtPnRlbnRhdGl2ZV9tYXRjaF9sZW4gPSAwOworKyAg ICBwcml2LT50ZW50YXRpdmVfbWF0Y2ggPSBnX3N0cmluZ19uZXcgKCIiKTsKKysgICAgcHJpdi0+ dGVudGF0aXZlX21hdGNoX2xlbiA9IDA7CisrICAgIHByaXYtPnVwZGF0ZWRfcHJlZWRpdCA9Cisr ICAgICAgICAgICAgKElCdXNUZXh0ICopZ19vYmplY3RfcmVmX3NpbmsgKHVwZGF0ZWRfcHJlZWRp dF9lbXB0eSk7CisgICAgIGRhdGEgPSBnX3Jlc291cmNlc19sb29rdXBfZGF0YSAoIi9vcmcvZnJl ZWRlc2t0b3AvaWJ1cy9jb21wb3NlL3NlcXVlbmNlcyIsCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgR19SRVNPVVJDRV9MT09LVVBfRkxBR1NfTk9ORSwKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAmZXJyb3IpOworQEAgLTE5MCw2ICsxOTcsNyBAQCBp YnVzX2VuZ2luZV9zaW1wbGVfZGVzdHJveSAoSUJ1c0VuZ2luZVNpbXBsZSAqc2ltcGxlKQorICAg ICBnX3N0cmluZ19mcmVlIChwcml2LT50ZW50YXRpdmVfbWF0Y2gsIFRSVUUpOworICAgICBwcml2 LT50ZW50YXRpdmVfbWF0Y2ggPSBOVUxMOworICAgICBwcml2LT50ZW50YXRpdmVfbWF0Y2hfbGVu ID0gMDsKKysgICAgZ19jbGVhcl9vYmplY3QgKCZwcml2LT51cGRhdGVkX3ByZWVkaXQpOworIAor ICAgICBJQlVTX09CSkVDVF9DTEFTUyhpYnVzX2VuZ2luZV9zaW1wbGVfcGFyZW50X2NsYXNzKS0+ ZGVzdHJveSAoCisgICAgICAgICBJQlVTX09CSkVDVCAoc2ltcGxlKSk7CitAQCAtMjI4LDYgKzIz Niw5IEBAIGlidXNfZW5naW5lX3NpbXBsZV9yZXNldCAoSUJ1c0VuZ2luZSAqZW5naW5lKQorICAg ICAgICAgcHJpdi0+dGVudGF0aXZlX21hdGNoX2xlbiA9IDA7CisgICAgIH0KKyAgICAgaWJ1c19l bmdpbmVfaGlkZV9wcmVlZGl0X3RleHQgKChJQnVzRW5naW5lICopc2ltcGxlKTsKKysgICAgZ19v YmplY3RfdW5yZWYgKHByaXYtPnVwZGF0ZWRfcHJlZWRpdCk7CisrICAgIHByaXYtPnVwZGF0ZWRf cHJlZWRpdCA9CisrICAgICAgICAgICAgKElCdXNUZXh0ICopZ19vYmplY3RfcmVmX3NpbmsgKHVw ZGF0ZWRfcHJlZWRpdF9lbXB0eSk7CisgfQorIAorIHN0YXRpYyB2b2lkCitAQCAtMzE4LDcgKzMy OSwxMCBAQCBpYnVzX2VuZ2luZV9zaW1wbGVfdXBkYXRlX3ByZWVkaXRfdGV4dCAoSUJ1c0VuZ2lu ZVNpbXBsZSAqc2ltcGxlKQorICAgICAgICAgaW50IGxlbiA9IHN0cmxlbiAocHJpdi0+dGVudGF0 aXZlX2Vtb2ppKTsKKyAgICAgICAgIGlidXNfdGV4dF9hcHBlbmRfYXR0cmlidXRlICh0ZXh0LAor ICAgICAgICAgICAgICAgICBJQlVTX0FUVFJfVFlQRV9VTkRFUkxJTkUsIElCVVNfQVRUUl9VTkRF UkxJTkVfU0lOR0xFLCAwLCBsZW4pOworKyAgICAgICAgZ19vYmplY3RfcmVmX3NpbmsgKHRleHQp OworICAgICAgICAgaWJ1c19lbmdpbmVfdXBkYXRlX3ByZWVkaXRfdGV4dCAoKElCdXNFbmdpbmUg KilzaW1wbGUsIHRleHQsIGxlbiwgVFJVRSk7CisrICAgICAgICBnX29iamVjdF91bnJlZiAocHJp di0+dXBkYXRlZF9wcmVlZGl0KTsKKysgICAgICAgIHByaXYtPnVwZGF0ZWRfcHJlZWRpdCA9IHRl eHQ7CisgICAgICAgICBnX3N0cmluZ19mcmVlIChzLCBUUlVFKTsKKyAgICAgICAgIHJldHVybjsK KyAgICAgfSBlbHNlIGlmIChwcml2LT5pbl9jb21wb3NlX3NlcXVlbmNlKSB7CitAQCAtMzcwLDcg KzM4NCwxOSBAQCBpYnVzX2VuZ2luZV9zaW1wbGVfdXBkYXRlX3ByZWVkaXRfdGV4dCAoSUJ1c0Vu Z2luZVNpbXBsZSAqc2ltcGxlKQorICAgICB9CisgCisgICAgIGlmIChzLT5sZW4gPT0gMCkgewor LSAgICAgICAgaWJ1c19lbmdpbmVfaGlkZV9wcmVlZGl0X3RleHQgKChJQnVzRW5naW5lICopc2lt cGxlKTsKKysgICAgICAgIC8qICMyNTM2IElCdXNFbmdpbmUgY2FuIGluaGVyaXQgSUJ1c0VuZ2lu ZVNpbXBsZSBmb3IgY29tb3BzZSBrZXlzLgorKyAgICAgICAgICogSWYgdGhlIHByZXZpb3VzIHBy ZWVkaXQgaXMgemVybywgdGhlIGN1cnJlbnQgcHJlZWRpdCBkb2VzIG5vdCAKKysgICAgICAgICAq IG5lZWQgdG8gYmUgaGlkZGVuIGhlcmUgYXQgbGVhc3QgYmVjYXVzZSBpYnVzLWRhZW1vbiBjb3Vs ZCBoYXZlCisrICAgICAgICAgKiBhbm90aGVyIHByZWVkaXQgZm9yIHRoZSBjaGlsZCBJQnVzRW5p Z25lIGxpa2VzIG0xN24gYW5kIGNhY2xsaW5nCisrICAgICAgICAgKiBpYnVzX2VuZ2luZV9oaWRl X3ByZWVkaXRfdGV4dCgpIGhlcmUgY291bGQgY2F1c2UgYSByZXNldCBvZgorKyAgICAgICAgICog dGhlIGN1cnNvciBwb3NpdGlvbiBpbiBpYnVzLWRhZW1vbi4KKysgICAgICAgICAqLworKyAgICAg ICAgaWYgKHN0cmxlbiAocHJpdi0+dXBkYXRlZF9wcmVlZGl0LT50ZXh0KSkgeworKyAgICAgICAg ICAgIGlidXNfZW5naW5lX2hpZGVfcHJlZWRpdF90ZXh0ICgoSUJ1c0VuZ2luZSAqKXNpbXBsZSk7 CisrICAgICAgICAgICAgZ19vYmplY3RfdW5yZWYgKHByaXYtPnVwZGF0ZWRfcHJlZWRpdCk7Cisr ICAgICAgICAgICAgcHJpdi0+dXBkYXRlZF9wcmVlZGl0ID0KKysgICAgICAgICAgICAgICAgICAg IChJQnVzVGV4dCAqKWdfb2JqZWN0X3JlZl9zaW5rICh1cGRhdGVkX3ByZWVkaXRfZW1wdHkpOwor KyAgICAgICAgfQorICAgICB9IGVsc2UgaWYgKHMtPmxlbiA+PSBHX01BWElOVCkgeworICAgICAg ICAgZ193YXJuaW5nICgiJXMgaXMgdG9vIGxvbmcgY29tcG9zZSBsZW5ndGg6ICVsdSIsIHMtPnN0 ciwgcy0+bGVuKTsKKyAgICAgfSBlbHNlIHsKK0BAIC0zNzgsNyArNDA0LDEwIEBAIGlidXNfZW5n aW5lX3NpbXBsZV91cGRhdGVfcHJlZWRpdF90ZXh0IChJQnVzRW5naW5lU2ltcGxlICpzaW1wbGUp CisgICAgICAgICBJQnVzVGV4dCAqdGV4dCA9IGlidXNfdGV4dF9uZXdfZnJvbV9zdHJpbmcgKHMt PnN0cik7CisgICAgICAgICBpYnVzX3RleHRfYXBwZW5kX2F0dHJpYnV0ZSAodGV4dCwKKyAgICAg ICAgICAgICAgICAgSUJVU19BVFRSX1RZUEVfVU5ERVJMSU5FLCBJQlVTX0FUVFJfVU5ERVJMSU5F X1NJTkdMRSwgMCwgbGVuKTsKKysgICAgICAgIGdfb2JqZWN0X3JlZl9zaW5rICh0ZXh0KTsKKyAg ICAgICAgIGlidXNfZW5naW5lX3VwZGF0ZV9wcmVlZGl0X3RleHQgKChJQnVzRW5naW5lICopc2lt cGxlLCB0ZXh0LCBsZW4sIFRSVUUpOworKyAgICAgICAgZ19vYmplY3RfdW5yZWYgKHByaXYtPnVw ZGF0ZWRfcHJlZWRpdCk7CisrICAgICAgICBwcml2LT51cGRhdGVkX3ByZWVkaXQgPSB0ZXh0Owor ICAgICB9CisgICAgIGdfc3RyaW5nX2ZyZWUgKHMsIFRSVUUpOworIH0KKy0tIAorMi40NS4wCisK K0Zyb20gNjI3ZTdjYzM3ZDNiZWE0YzI4OGM5MzI3NzNmNjlmY2VlOWFjNzczZSBNb24gU2VwIDE3 IDAwOjAwOjAwIDIwMDEKK0Zyb206IGZ1aml3YXJhdCA8dGFrYW8uZnVqaXdhcmExQGdtYWlsLmNv bT4KK0RhdGU6IEZyaSwgMjQgTWF5IDIwMjQgMTY6Mjg6NDAgKzA5MDAKK1N1YmplY3Q6IFtQQVRD SCA2LzZdIHVpL2d0azM6IEZpeCB0byB1bnJlZiBHZGtEaXNwbGF5IGluIFdheWxhbmQKKworUGFu ZWwgZG9lcyBub3QgbmVlZCB0byBhbGxvY2F0ZSB0aGUgWDExIGRpc3BsYXkgaW4gV2F5bGFuZCBi dXQgdGhlIGNoZWNrCitvbmx5LiBWYWxhIGNvZGVzIG5lZWQgdG8gc2V0IHRoZSB1bm93bmVkIHBh cmFtZXRlci4KK0Fsc28gZml4ZWQgYSBtZW1vcnkgbGVhayBpbiB0aGUgdXBkYXRlIHByZWVkaXQg aW4gZGFlbW9uLgorCitCVUc9cmhieiMyMjUyMjI3CitCVUc9aHR0cHM6Ly9naXRodWIuY29tL2li dXMvaWJ1cy9pc3N1ZXMvMjY0MgorQlVHPWh0dHBzOi8vZ2l0aHViLmNvbS9pYnVzL2lidXMvaXNz dWVzLzI2NDQKKy0tLQorIGJ1cy9pbnB1dGNvbnRleHQuYyAgICAgICAgIHwgICAxICsKKyB1aS9n dGszL2FwcGxpY2F0aW9uLnZhbGEgICB8ICAgMiArCisgdWkvZ3RrMy9iaW5kaW5nY29tbW9uLnZh bGEgfCAgIDYgKy0KKyB1aS9ndGszL2hhbmRsZS52YWxhICAgICAgICB8ICAgMiArCisgdWkvZ3Rr My9wYW5lbC52YWxhICAgICAgICAgfCAgMTggKysrKy0KKyA2IGZpbGVzIGNoYW5nZWQsIDk2IGlu c2VydGlvbnMoKyksIDc4IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvYnVzL2lucHV0Y29u dGV4dC5jIGIvYnVzL2lucHV0Y29udGV4dC5jCitpbmRleCBjOTE0ZmJkMi4uNzY2NmYwNTcgMTAw NjQ0CistLS0gYS9idXMvaW5wdXRjb250ZXh0LmMKKysrKyBiL2J1cy9pbnB1dGNvbnRleHQuYwor QEAgLTMzMDYsNiArMzMwNiw3IEBAIGJ1c19pbnB1dF9jb250ZXh0X3VwZGF0ZV9wcmVlZGl0X3Rl eHQgKEJ1c0lucHV0Q29udGV4dCAqY29udGV4dCwKKyAgICAgICAgICAgICBwcmVfZGF0YS5rZXkg PSAnbSc7CisgICAgICAgICBpZiAoYnVzX2lucHV0X2NvbnRleHRfbWFrZV9wb3N0X3Byb2Nlc3Nf a2V5X2V2ZW50IChjb250ZXh0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgJnByZV9kYXRhKSkgeworKyAgICAgICAgICAgIGdfdmFy aWFudF91bnJlZiAodmFyaWFudCk7CisgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgfSBl bHNlIGlmIChjb250ZXh0LT5jbGllbnRfY29tbWl0X3ByZWVkaXQpIHsKKyAgICAgICAgICAgICBi dXNfaW5wdXRfY29udGV4dF9lbWl0X3NpZ25hbCAoCitkaWZmIC0tZ2l0IGEvdWkvZ3RrMy9hcHBs aWNhdGlvbi52YWxhIGIvdWkvZ3RrMy9hcHBsaWNhdGlvbi52YWxhCitpbmRleCBhZTY3NjI0Zi4u MzE1MTdjNzkgMTAwNjQ0CistLS0gYS91aS9ndGszL2FwcGxpY2F0aW9uLnZhbGEKKysrKyBiL3Vp L2d0azMvYXBwbGljYXRpb24udmFsYQorQEAgLTIyOCw2ICsyMjgsOCBAQCBjbGFzcyBBcHBsaWNh dGlvbiB7CisgICAgIH0KKyAKKyAgICAgcHJpdmF0ZSBzdGF0aWMgdm9pZCBtYWtlX3dheWxhbmRf aW0oKSB7CisrICAgICAgICBpZiAoQmluZGluZ0NvbW1vbi5kZWZhdWx0X2lzX3hkaXNwbGF5KCkp CisrICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgYXNzZXJ0IChvcGVuX2xvZygpKTsKKyAg ICAgICAgIHZvaWQgKndsX2Rpc3BsYXkgPSBudWxsOworICAgICAgICAgdWxvbmcgaSA9IDA7Citk aWZmIC0tZ2l0IGEvdWkvZ3RrMy9iaW5kaW5nY29tbW9uLnZhbGEgYi91aS9ndGszL2JpbmRpbmdj b21tb24udmFsYQoraW5kZXggZTMyZGIxNzguLjdlNjQ0M2M1IDEwMDY0NAorLS0tIGEvdWkvZ3Rr My9iaW5kaW5nY29tbW9uLnZhbGEKKysrKyBiL3VpL2d0azMvYmluZGluZ2NvbW1vbi52YWxhCitA QCAtMjU5LDExICsyNTksMTEgQEAgY2xhc3MgQmluZGluZ0NvbW1vbiB7CisgCisgICAgIHB1Ymxp YyBzdGF0aWMgYm9vbCBkZWZhdWx0X2lzX3hkaXNwbGF5KCkgeworICAgICAgICAgaWYgKG1feGRp c3BsYXkgPT0gbnVsbCkKKy0gICAgICAgICAgICBnZXRfeGRpc3BsYXkoKTsKKysgICAgICAgICAg ICBnZXRfeGRpc3BsYXkodHJ1ZSk7CisgICAgICAgICByZXR1cm4gbV9kZWZhdWx0X2lzX3hkaXNw bGF5OworICAgICB9CisgCistICAgIHB1YmxpYyBzdGF0aWMgR2RrLlgxMS5EaXNwbGF5PyBnZXRf eGRpc3BsYXkoKSB7CisrICAgIHB1YmxpYyBzdGF0aWMgR2RrLlgxMS5EaXNwbGF5PyBnZXRfeGRp c3BsYXkoYm9vbCBjaGVja19vbmx5PWZhbHNlKSB7CisgICAgICAgICBpZiAobV94ZGlzcGxheSAh PSBudWxsKQorICAgICAgICAgICAgIHJldHVybiBtX3hkaXNwbGF5OworICAgICAgICAgdmFyIGRp c3BsYXkgPSBHZGsuRGlzcGxheS5nZXRfZGVmYXVsdCgpOworQEAgLTI3Nyw2ICsyNzcsOCBAQCBj bGFzcyBCaW5kaW5nQ29tbW9uIHsKKyAgICAgICAgICAgICBtX3hkaXNwbGF5ID0gKEdkay5YMTEu RGlzcGxheSlkaXNwbGF5OworICAgICAgICAgICAgIHJldHVybiBtX3hkaXNwbGF5OworICAgICAg ICAgfQorKyAgICAgICAgaWYgKGNoZWNrX29ubHkpCisrICAgICAgICAgICAgcmV0dXJuIG51bGw7 CisgICAgICAgICBHZGsuc2V0X2FsbG93ZWRfYmFja2VuZHMoIngxMSIpOworICAgICAgICAgLy8g Q2FsbCBfZ2RrX2Rpc3BsYXlfbWFuYWdlcl9hZGRfZGlzcGxheSgpIGludGVybmFsbHkuCisgICAg ICAgICBtX3hkaXNwbGF5ID0KK2RpZmYgLS1naXQgYS91aS9ndGszL2hhbmRsZS52YWxhIGIvdWkv Z3RrMy9oYW5kbGUudmFsYQoraW5kZXggNjU2MzU0MzkuLjFkMGVlZmU5IDEwMDY0NAorLS0tIGEv dWkvZ3RrMy9oYW5kbGUudmFsYQorKysrIGIvdWkvZ3RrMy9oYW5kbGUudmFsYQorQEAgLTYyLDYg KzYyLDggQEAgY2xhc3MgSGFuZGxlIDogR3RrLkV2ZW50Qm94IHsKKyAgICAgfQorIAorICAgICBw dWJsaWMgb3ZlcnJpZGUgYm9vbCBidXR0b25fcHJlc3NfZXZlbnQoR2RrLkV2ZW50QnV0dG9uIGV2 ZW50KSB7CisrICAgICAgICBpZiAoIUJpbmRpbmdDb21tb24uZGVmYXVsdF9pc194ZGlzcGxheSgp KQorKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgIGlmIChldmVudC5idXR0b24g IT0gMSkKKyAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgICBtX3dvcmthcmVhID0g R2RrLlJlY3RhbmdsZSgpeworZGlmZiAtLWdpdCBhL3VpL2d0azMvcGFuZWwudmFsYSBiL3VpL2d0 azMvcGFuZWwudmFsYQoraW5kZXggZDkwNzQ1OGUuLjUzNGE5ZDM3IDEwMDY0NAorLS0tIGEvdWkv Z3RrMy9wYW5lbC52YWxhCisrKysgYi91aS9ndGszL3BhbmVsLnZhbGEKK0BAIC0xNjYsNiArMTY2 LDkgQEAgY2xhc3MgUGFuZWwgOiBJQnVzLlBhbmVsU2VydmljZSB7CisgICAgICAgICAgICAgcHJv cGVydHlfYWN0aXZhdGUoaywgcyk7CisgICAgICAgICB9KTsKKyAKKysgICAgICAgIHNldF92ZXJz aW9uKCk7CisrICAgICAgICBjaGVja193YXlsYW5kKCk7CisrCisgICAgICAgICBzdGF0ZV9jaGFu Z2VkKCk7CisgICAgIH0KKyAKK0BAIC00NDMsNiArNDQ2LDggQEAgY2xhc3MgUGFuZWwgOiBJQnVz LlBhbmVsU2VydmljZSB7CisgICAgIH0KKyAKKyAgICAgcHJpdmF0ZSB2b2lkIGJpbmRfc3dpdGNo X3Nob3J0Y3V0KCkgeworKyAgICAgICAgaWYgKG1faXNfd2F5bGFuZF9pbSkKKysgICAgICAgICAg ICByZXR1cm47CisgICAgICAgICBzdHJpbmdbXSBhY2NlbGVyYXRvcnMgPSBtX3NldHRpbmdzX2hv dGtleS5nZXRfc3RydigidHJpZ2dlcnMiKTsKKyAKKyAgICAgICAgIHZhciBrZXliaW5kaW5nX21h bmFnZXIgPSBLZXliaW5kaW5nTWFuYWdlci5nZXRfaW5zdGFuY2UoKTsKK0BAIC04NzQsNiArODc5 LDE2IEBAIGNsYXNzIFBhbmVsIDogSUJ1cy5QYW5lbFNlcnZpY2UgeworICAgICAgICAgICAgICAg ICBtZXNzYWdlID0gZm9ybWF0LnByaW50ZihFbnZpcm9ubWVudC5nZXRfcHJnbmFtZSgpKTsKKyAg ICAgICAgICAgICB9CisgICAgICAgICB9CisrICAgICAgICBpZiAoIW1faXNfd2F5bGFuZCAmJiBt X2lzX3dheWxhbmRfaW0pIHsKKysgICAgICAgICAgICB2YXIgZm9ybWF0ID0KKysgICAgICAgICAg ICAgICAgICAgIF8oIlNlZW1zIHlvdSBydW4gJXMgd2l0aCAnLS1lbmFibGUtd2F5bGFuZC1pbScg IiArCisrICAgICAgICAgICAgICAgICAgICAgICJvcHRpb24gYnV0IHlvdXIgZGlzcGxheSBzZXJ2 ZXIgaXMgWG9yZyBzbyB0aGUgV2F5bGFuZCAiICsKKysgICAgICAgICAgICAgICAgICAgICAgImZl YXR1cmUgaXMgZGlzYWJsZWQuIFlvdSB3b3VsZCBiZSBiZXR0ZXIgb2ZmIHJ1bm5pbmcgIiArCisr ICAgICAgICAgICAgICAgICAgICAgICJpYnVzLWRhZW1vbiBkaXJlY3RseSBpbnN0ZWFkIG9yICVz IHdpdGhvdXQgdGhhdCAiICsKKysgICAgICAgICAgICAgICAgICAgICAgIm9wdGlvbi4iKTsKKysg ICAgICAgICAgICB1bm93bmVkIHN0cmluZyBwcmduYW1lID0gRW52aXJvbm1lbnQuZ2V0X3ByZ25h bWUoKTsKKysgICAgICAgICAgICBtZXNzYWdlID0gZm9ybWF0LnByaW50ZihwcmduYW1lLCBwcmdu YW1lKTsKKysgICAgICAgIH0KKyAgICAgICAgIGlmIChtZXNzYWdlID09IG51bGwpCisgICAgICAg ICAgICAgcmV0dXJuOworICNpZiBFTkFCTEVfTElCTk9USUZZCitAQCAtOTA4LDkgKzkyMyw2IEBA IGNsYXNzIFBhbmVsIDogSUJ1cy5QYW5lbFNlcnZpY2UgeworIAorIAorICAgICBwdWJsaWMgdm9p ZCBsb2FkX3NldHRpbmdzKCkgeworLSAgICAgICAgc2V0X3ZlcnNpb24oKTsKKy0gICAgICAgIGNo ZWNrX3dheWxhbmQoKTsKKy0KKyAgICAgICAgIGluaXRfZW5naW5lc19vcmRlcigpOworIAorICAg ICAgICAgLy8gVXBkYXRlIG1fdXNlX3N5c3RlbV9rZXlib2FyZF9sYXlvdXQgYmVmb3JlIHVwZGF0 ZV9lbmdpbmVzKCkKKy0tIAorMi40NS4wCisKK0Zyb20gYmU5NGI4ZGRiNGMzN2ZlODM2NDY4NjBh MDhjNjAwYjk4ZTY3ZmU4NCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IGZ1aml3YXJh dCA8dGFrYW8uZnVqaXdhcmExQGdtYWlsLmNvbT4KK0RhdGU6IFNhdCwgMjUgTWF5IDIwMjQgMTg6 MTA6MzYgKzA5MDAKK1N1YmplY3Q6IFtQQVRDSF0gc3JjL2lidXNlbmdpbmU6IEhpZGUgcHJlZWRp dCB0ZXh0IHdpdGggUGFuZWxFeHRlbnNpb25SZWNlaXZlZAorIHNpZ25hbAorCitJQnVzRW5naW5l U2ltcGxlIG5vIGxvbmdlciBjYWxscyB0byBoaWRlIHRoZSBwcmVlZGl0IHdpdGggdGhlIHplcm8K K2xlbmd0aCB0byBmaXggdGhlIHNsdXJyaW5nIGN1cnNvciBwb3NpdGlvbiBidXQgdGhlIGVtb2pp IHByZWVkaXQKK2JlY29tZXMgbm90IHRvIGJlIGhpZGRlbiB3aXRoIHRoZSBwcmVlZGl0IGNvbW1p dCBvciBlc2NhcGUgZXZlbnRzCithcyBhIHNpZGUgZWZmZWN0LgorVG8gZml4IHRoZSBpc3N1ZSwg SUJ1c0VuZ2luZSBuZWVkcyB0byBkZWNpZGUgdG8gY2xlYXIgb3Iga2VlcAordGhlIHByZWVkaXQg d2hlbiB0aGUgZW1vamkgbW9kZSBpcyBmaW5pc2hlZC4KKworQlVHPWh0dHBzOi8vZ2l0aHViLmNv bS9pYnVzL2lidXMvaXNzdWVzLzI1MzYKK0ZpeGVzOiBodHRwczovL2dpdGh1Yi5jb20vaWJ1cy9p YnVzL2NvbW1pdC9hM2E1YTIwYQorLS0tCisgc3JjL2lidXNlbmdpbmUuYyAgICAgICB8IDExICsr KysrKysrKysrCisgc3JjL2lidXNlbmdpbmVzaW1wbGUuYyB8ICAyICstCisgMiBmaWxlcyBjaGFu Z2VkLCAxMiBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9zcmMv aWJ1c2VuZ2luZS5jIGIvc3JjL2lidXNlbmdpbmUuYworaW5kZXggZWZmNDk5MmMuLjAzNTJmZDQ5 IDEwMDY0NAorLS0tIGEvc3JjL2lidXNlbmdpbmUuYworKysrIGIvc3JjL2lidXNlbmdpbmUuYwor QEAgLTEzMjYsNiArMTMyNiwxNyBAQCBpYnVzX2VuZ2luZV9zZXJ2aWNlX21ldGhvZF9jYWxsIChJ QnVzU2VydmljZSAgICAgICAgICAgKnNlcnZpY2UsCisgICAgICAgICAgICAgcmV0dXJuOworICAg ICAgICAgfQorICAgICAgICAgcHJpdi0+ZW5hYmxlX2V4dGVuc2lvbiA9IGlidXNfZXh0ZW5zaW9u X2V2ZW50X2lzX2VuYWJsZWQgKGV2ZW50KTsKKysgICAgICAgIC8qIElCdXNFbmdpbmVTaW1wbGUg bm8gbG9uZ2VyIGNhbGxzIHRvIGhpZGUgdGhlIHByZWVkaXQgd2l0aCB0aGUgemVybworKyAgICAg ICAgICogbGVuZ2h0IGFuZCB0aGlzIHNlbmRzIHRoZSBudWxsIHByZWVkaXQgaGVyZSB3aGVuIHRo ZSBlbW9qaWVyCisrICAgICAgICAgKiBjb21taXRzIG9yIGVzY2FwZXMgdGhlIGVtb2ppIHByZWVk aXQgdGV4dC4KKysgICAgICAgICAqIFRPRE86IERvIHdlIG5lZWQgYSBzaWduYWwgZm9yIHRoZSBw YXJlbnQgZW5naW5lcyB0byBpbmZvcm0gdGhpcworKyAgICAgICAgICogaW5mb3JtYXRpb24gYmVj YXVzZSBzb21lIGVuZ2luZXMgZG9uJ3Qgd2lzaCB0byBoaWRlIHRoZWlyIHByZWVkaXQKKysgICAg ICAgICAqIHdpdGggaGlkaW5nIHRoZSBlbW9qaSBwcmVlZGl0PworKyAgICAgICAgICovCisrICAg ICAgICBpZiAoIXByaXYtPmVuYWJsZV9leHRlbnNpb24pIHsKKysgICAgICAgICAgICBJQnVzVGV4 dCAqdGV4dCA9IGlidXNfdGV4dF9uZXdfZnJvbV9zdGF0aWNfc3RyaW5nICgiIik7CisrICAgICAg ICAgICAgaWJ1c19lbmdpbmVfdXBkYXRlX3ByZWVkaXRfdGV4dCAoZW5naW5lLCB0ZXh0LCAwLCBG QUxTRSk7CisrICAgICAgICB9CisgICAgICAgICBnX2RidXNfbWV0aG9kX2ludm9jYXRpb25fcmV0 dXJuX3ZhbHVlIChpbnZvY2F0aW9uLCBOVUxMKTsKKyAgICAgICAgIHJldHVybjsKKyAgICAgfQor ZGlmZiAtLWdpdCBhL3NyYy9pYnVzZW5naW5lc2ltcGxlLmMgYi9zcmMvaWJ1c2VuZ2luZXNpbXBs ZS5jCitpbmRleCBhYzQ3ODg1NS4uZTJmOTZhMzcgMTAwNjQ0CistLS0gYS9zcmMvaWJ1c2VuZ2lu ZXNpbXBsZS5jCisrKysgYi9zcmMvaWJ1c2VuZ2luZXNpbXBsZS5jCitAQCAtMzg1LDcgKzM4NSw3 IEBAIGlidXNfZW5naW5lX3NpbXBsZV91cGRhdGVfcHJlZWRpdF90ZXh0IChJQnVzRW5naW5lU2lt cGxlICpzaW1wbGUpCisgCisgICAgIGlmIChzLT5sZW4gPT0gMCkgeworICAgICAgICAgLyogIzI1 MzYgSUJ1c0VuZ2luZSBjYW4gaW5oZXJpdCBJQnVzRW5naW5lU2ltcGxlIGZvciBjb21vcHNlIGtl eXMuCistICAgICAgICAgKiBJZiB0aGUgcHJldmlvdXMgcHJlZWRpdCBpcyB6ZXJvLCB0aGUgY3Vy cmVudCBwcmVlZGl0IGRvZXMgbm90IAorKyAgICAgICAgICogSWYgdGhlIHByZXZpb3VzIHByZWVk aXQgaXMgemVybywgdGhlIGN1cnJlbnQgcHJlZWRpdCBkb2VzIG5vdAorICAgICAgICAgICogbmVl ZCB0byBiZSBoaWRkZW4gaGVyZSBhdCBsZWFzdCBiZWNhdXNlIGlidXMtZGFlbW9uIGNvdWxkIGhh dmUKKyAgICAgICAgICAqIGFub3RoZXIgcHJlZWRpdCBmb3IgdGhlIGNoaWxkIElCdXNFbmlnbmUg bGlrZXMgbTE3biBhbmQgY2FjbGxpbmcKKyAgICAgICAgICAqIGlidXNfZW5naW5lX2hpZGVfcHJl ZWRpdF90ZXh0KCkgaGVyZSBjb3VsZCBjYXVzZSBhIHJlc2V0IG9mCistLSAKKzIuNDUuMAorCitG cm9tIDc1OTEwNWRmMWQ4M2FlMjVkOWVlYTgwMWE3YzkxZTY3ZGNhNDNjYjggTW9uIFNlcCAxNyAw MDowMDowMCAyMDAxCitGcm9tOiBmdWppd2FyYXQgPHRha2FvLmZ1aml3YXJhMUBnbWFpbC5jb20+ CitEYXRlOiBTYXQsIDI1IE1heSAyMDI0IDE5OjIzOjIzICswOTAwCitTdWJqZWN0OiBbUEFUQ0hd IGJ1czogQ2hhbmdlIElCdXMgdW5pcXVlIG5hbWUgdG8gOjEuMCBmcm9tIElCVVNfU0VSVklDRV9J QlVTCitNSU1FLVZlcnNpb246IDEuMAorQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0 PVVURi04CitDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0CisKK0FjY29yZGluZyB0byB0 aGUgRC1CdXMgc3BlY2lmaWNhdGlvbiwKK2BvcmcuZnJlZWRlc2t0b3AuREJ1cy5HZXROYW1lT3du ZXIoKWAgbXVzdCByZXR1cm4gYSB1bmlxdWUgbmFtZSAoaS5lLgorb25lIG9mIHRoZSBmb3JtIGA6 MS4yM2ApLiBUaGUgb25seSB1bmlxdWUgbmFtZSB3aGljaCBpcyBhbGxvd2VkIHRvIG5vdAorYmUg aW4gdGhpcyBmb3JtIGlzIGBvcmcuZnJlZWRlc2t0b3AuREJ1c2AuCisKK1RoZSBjaGFuZ2UgaW4g R0xpYiAyLjgwLjEgd2FzIHRvIHZhbGlkYXRlIHRoYXQgdGhlIHNlbmRlciBvZiBldmVyeQorbWVz c2FnZSBpcyBlaXRoZXIgYSB1bmlxdWUgbmFtZSAoYWNjb3JkaW5nIHRvIGBnX2RidXNfaXNfdW5p cXVlX25hbWUoKWApLAorb3IgdGhlIHNwZWNpYWwgbmFtZSBgb3JnLmZyZWVkZXNrdG9wLkRCdXNg IHRvIG1lZXQgdGhlIHNwZWNpZmljYXRpb24uCisKK0luIHRoZSBsb25nIHRlcm0sIGl0IG1pZ2h0 IGJlIG1vcmUgcm9idXN0IHRvIHJld29yayB0aGUgY29kZSBzbyB0aGF0IHRoZQorbWFwcGluZyBm cm9tIGBvcmcuZnJlZWRlc2t0b3AuSUJ1c2Ag4oaSIGEgdW5pcXVlIG5hbWUgaXMgc3RvcmVkIGlu CitgZGJ1cy0+bmFtZXNgIChpbiBgZGJ1c2ltcGwuY2ApIGxpa2UgYWxsIHRoZSBvdGhlciByZXF1 ZXN0ZWQgbmFtZXMuCitIb3dldmVyLCBoYW5kbGluZyBmb3IgdGhlIGBvcmcuZnJlZWRlc2t0b3Au SUJ1c2Agd2VsbC1rbm93biBuYW1lIGlzCitoYXJkY29kZWQgdGhyb3VnaG91dCBgZGJ1c2ltcGwu Y2AsIHNvIHBvcnRpbmcgdGhpcyBzaW5nbGUgYml0IG9mIGl0IHRvCitjcmVhdGUgYSBgQnVzTmFt ZVNlcnZpY2VgIHdvdWxkIHByb2JhYmx5IGNhdXNlIG1vcmUgcHJvYmxlbXMuCisKK0JVRz1odHRw czovL2dpdGh1Yi5jb20vaWJ1cy9pYnVzL2lzc3Vlcy8yNjM5CitCVUc9aHR0cHM6Ly9naXRsYWIu Z25vbWUub3JnL0dOT01FL2dsaWIvLS9pc3N1ZXMvMzI2OAorQlVHPWh0dHBzOi8vZ2l0aHViLmNv bS9hZHZpc29yaWVzL0dIU0EtZjYzMi1jM3JoLXIydjIKKy0tLQorIGJ1cy9jb25uZWN0aW9uLmgg ICB8ICAzICsrKworIGJ1cy9kYnVzaW1wbC5jICAgICB8IDI5ICsrKysrKysrKysrKysrKy0tLS0t LS0tLS0tLS0tCisgYnVzL2lidXNpbXBsLmMgICAgIHwgMTMgKysrKysrKy0tLS0tLQorIGJ1cy9p bnB1dGNvbnRleHQuYyB8ICAyICstCisgYnVzL21hdGNocnVsZS5jICAgIHwgMTAgKysrKysrKysr LQorIGJ1cy9tYXRjaHJ1bGUuaCAgICB8ICA0ICsrKy0KKyA2IGZpbGVzIGNoYW5nZWQsIDM4IGlu c2VydGlvbnMoKyksIDIzIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvYnVzL2Nvbm5lY3Rp b24uaCBiL2J1cy9jb25uZWN0aW9uLmgKK2luZGV4IDQ0MGZhZjFlLi44MjY0OTgwZSAxMDA2NDQK Ky0tLSBhL2J1cy9jb25uZWN0aW9uLmgKKysrKyBiL2J1cy9jb25uZWN0aW9uLmgKK0BAIC00Miw2 ICs0Miw5IEBACisgI2RlZmluZSBCVVNfQ09OTkVDVElPTl9HRVRfQ0xBU1Mob2JqKSAgIFwKKyAg ICAgKEdfVFlQRV9JTlNUQU5DRV9HRVRfQ0xBU1MgKChvYmopLCBCVVNfVFlQRV9DT05ORUNUSU9O LCBCdXNDb25uZWN0aW9uQ2xhc3MpKQorIAorKy8qIGJ1c19kYnVzX2ltcGxfaGVsbG8oKSBzZXRz IHRoZSBjbGllbnQgdW5pcXVlIG5hbWVzICI6MS4xIiBvciBsYXRlci4gKi8KKysjZGVmaW5lIElC VVNfTkFNRV9PV05FUl9OQU1FICI6MS4wIgorKworIEdfQkVHSU5fREVDTFMKKyAKKyB0eXBlZGVm IHN0cnVjdCBfQnVzQ29ubmVjdGlvbiBCdXNDb25uZWN0aW9uOworZGlmZiAtLWdpdCBhL2J1cy9k YnVzaW1wbC5jIGIvYnVzL2RidXNpbXBsLmMKK2luZGV4IDU5Nzg3YTgwLi41MjA5MmU1OCAxMDA2 NDQKKy0tLSBhL2J1cy9kYnVzaW1wbC5jCisrKysgYi9idXMvZGJ1c2ltcGwuYworQEAgLTcxMCw3 ICs3MTAsOCBAQCBidXNfZGJ1c19pbXBsX2xpc3RfbmFtZXMgKEJ1c0RCdXNJbXBsICAgICAgICAg ICAqZGJ1cywKKyAKKyAgICAgLyogRklYTUUgc2hvdWxkIGFkZCB0aGVtPyAqLworICAgICBnX3Zh cmlhbnRfYnVpbGRlcl9hZGQgKCZidWlsZGVyLCAicyIsICJvcmcuZnJlZWRlc2t0b3AuREJ1cyIp OworLSAgICBnX3ZhcmlhbnRfYnVpbGRlcl9hZGQgKCZidWlsZGVyLCAicyIsICJvcmcuZnJlZWRl c2t0b3AuSUJ1cyIpOworKyAgICBnX3ZhcmlhbnRfYnVpbGRlcl9hZGQgKCZidWlsZGVyLCAicyIs IElCVVNfU0VSVklDRV9JQlVTKTsKKysgICAgZ192YXJpYW50X2J1aWxkZXJfYWRkICgmYnVpbGRl ciwgInMiLCBJQlVTX05BTUVfT1dORVJfTkFNRSk7CisgCisgICAgIC8qIGFwcGVuZCB3ZWxsLWtu b3duIG5hbWVzICovCisgICAgIEdMaXN0ICpuYW1lcywgKm5hbWU7CitAQCAtNzg1LDExICs3ODYs MTEgQEAgYnVzX2RidXNfaW1wbF9nZXRfbmFtZV9vd25lciAoQnVzREJ1c0ltcGwgICAgICAgICAg ICpkYnVzLAorICAgICBjb25zdCBnY2hhciAqbmFtZSA9IE5VTEw7CisgICAgIGdfdmFyaWFudF9n ZXQgKHBhcmFtZXRlcnMsICIoJnMpIiwgJm5hbWUpOworIAorLSAgICBpZiAoZ19zdHJjbXAwIChu YW1lLCAib3JnLmZyZWVkZXNrdG9wLkRCdXMiKSA9PSAwIHx8CistICAgICAgICBnX3N0cmNtcDAg KG5hbWUsICJvcmcuZnJlZWRlc2t0b3AuSUJ1cyIpID09IDApIHsKKysgICAgaWYgKCFnX3N0cmNt cDAgKG5hbWUsICJvcmcuZnJlZWRlc2t0b3AuREJ1cyIpKSB7CisgICAgICAgICBuYW1lX293bmVy ID0gbmFtZTsKKy0gICAgfQorLSAgICBlbHNlIHsKKysgICAgfSBlbHNlIGlmICghZ19zdHJjbXAw IChuYW1lLCBJQlVTX1NFUlZJQ0VfSUJVUykpIHsKKysgICAgICAgIG5hbWVfb3duZXIgPSBJQlVT X05BTUVfT1dORVJfTkFNRTsKKysgICAgfSBlbHNlIHsKKyAgICAgICAgIEJ1c0Nvbm5lY3Rpb24g Km93bmVyID0gYnVzX2RidXNfaW1wbF9nZXRfY29ubmVjdGlvbl9ieV9uYW1lIChkYnVzLCBuYW1l KTsKKyAgICAgICAgIGlmIChvd25lciAhPSBOVUxMKSB7CisgICAgICAgICAgICAgbmFtZV9vd25l ciA9IGJ1c19jb25uZWN0aW9uX2dldF91bmlxdWVfbmFtZSAob3duZXIpOworQEAgLTgwMCw4ICs4 MDEsNyBAQCBidXNfZGJ1c19pbXBsX2dldF9uYW1lX293bmVyIChCdXNEQnVzSW1wbCAgICAgICAg ICAgKmRidXMsCisgICAgICAgICBnX2RidXNfbWV0aG9kX2ludm9jYXRpb25fcmV0dXJuX2Vycm9y IChpbnZvY2F0aW9uLAorICAgICAgICAgICAgICAgICAgICAgICAgIEdfREJVU19FUlJPUiwgR19E QlVTX0VSUk9SX05BTUVfSEFTX05PX09XTkVSLAorICAgICAgICAgICAgICAgICAgICAgICAgICJD YW4gbm90IGdldCBuYW1lIG93bmVyIG9mICclcyc6IG5vIHN1Y2ggbmFtZSIsIG5hbWUpOworLSAg ICB9CistICAgIGVsc2UgeworKyAgICB9IGVsc2UgeworICAgICAgICAgZ19kYnVzX21ldGhvZF9p bnZvY2F0aW9uX3JldHVybl92YWx1ZSAoaW52b2NhdGlvbiwKKyAgICAgICAgICAgICAgICAgICAg ICAgICBnX3ZhcmlhbnRfbmV3ICgiKHMpIiwgbmFtZV9vd25lcikpOworICAgICB9CitAQCAtOTMy LDYgKzkzMiw5IEBAIGJ1c19kYnVzX2ltcGxfYWRkX21hdGNoIChCdXNEQnVzSW1wbCAgICAgICAg ICAgKmRidXMsCisgICAgICAgICAgICAgICAgICAgICAgICAgIlBhcnNlIG1hdGNoIHJ1bGUgWyVz XSBmYWlsZWQiLCBydWxlX3RleHQpOworICAgICAgICAgcmV0dXJuOworICAgICB9CisrICAgIC8q IGlidXNfYnVzX3dhdGNoX2lidXNfc2lnbmFsKCkgc3VwcG9ydHMgSUJVU19TRVJWSUNFX0lCVVMg c2VuZGVyLiAqLworKyAgICBpZiAoIWdfc3RyY21wMCAoYnVzX21hdGNoX3J1bGVfZ2V0X3NlbmRl ciAocnVsZSksIElCVVNfU0VSVklDRV9JQlVTKSkKKysgICAgICAgIGJ1c19tYXRjaF9ydWxlX3Nl dF9zZW5kZXIgKHJ1bGUsIElCVVNfTkFNRV9PV05FUl9OQU1FKTsKKyAKKyAgICAgZ19kYnVzX21l dGhvZF9pbnZvY2F0aW9uX3JldHVybl92YWx1ZSAoaW52b2NhdGlvbiwgTlVMTCk7CisgICAgIEdM aXN0ICpwOworQEAgLTE1MTAsNyArMTUxMyw4IEBAIGJ1c19kYnVzX2ltcGxfY29ubmVjdGlvbl9m aWx0ZXJfY2IgKEdEQnVzQ29ubmVjdGlvbiAqZGJ1c19jb25uZWN0aW9uLAorICAgICAgICAgLyog Y29ubmVjdGlvbiB1bmlxdWUgbmFtZSBhcyBzZW5kZXIgb2YgdGhlIG1lc3NhZ2UqLworICAgICAg ICAgZ19kYnVzX21lc3NhZ2Vfc2V0X3NlbmRlciAobWVzc2FnZSwgYnVzX2Nvbm5lY3Rpb25fZ2V0 X3VuaXF1ZV9uYW1lIChjb25uZWN0aW9uKSk7CisgCistICAgICAgICBpZiAoZ19zdHJjbXAwIChk ZXN0aW5hdGlvbiwgIm9yZy5mcmVlZGVza3RvcC5JQnVzIikgPT0gMCkgeworKyAgICAgICAgaWYg KCFnX3N0cmNtcDAgKGRlc3RpbmF0aW9uLCBJQlVTX1NFUlZJQ0VfSUJVUykgfHwKKysgICAgICAg ICAgICAhZ19zdHJjbXAwIChkZXN0aW5hdGlvbiwgSUJVU19OQU1FX09XTkVSX05BTUUpKSB7Cisg ICAgICAgICAgICAgLyogdGhlIG1lc3NhZ2UgaXMgc2VudCB0byBJQnVzIHNlcnZpY2UuIG1lc3Nh Z2VzIGZyb20gaWJ1c2J1cyBhbmQgaWJ1c2NvbnRleHQgbWF5IGZhbGwgaW50byB0aGlzIGNhdGVn b3J5LiAqLworICAgICAgICAgICAgIHN3aXRjaCAobWVzc2FnZV90eXBlKSB7CisgICAgICAgICAg ICAgY2FzZSBHX0RCVVNfTUVTU0FHRV9UWVBFX01FVEhPRF9DQUxMOgorQEAgLTE1MjgsOCArMTUz Miw3IEBAIGJ1c19kYnVzX2ltcGxfY29ubmVjdGlvbl9maWx0ZXJfY2IgKEdEQnVzQ29ubmVjdGlv biAqZGJ1c19jb25uZWN0aW9uLAorICAgICAgICAgICAgICAgICBnX29iamVjdF91bnJlZiAobWVz c2FnZSk7CisgICAgICAgICAgICAgICAgIGdfcmV0dXJuX3ZhbF9pZl9yZWFjaGVkIChOVUxMKTsg IC8qIHJldHVybiBOVUxMIHNpbmNlIHRoZSBzZXJ2aWNlIGRvZXMgbm90IGhhbmRsZSBzaWduYWxz LiAqLworICAgICAgICAgICAgIH0KKy0gICAgICAgIH0KKy0gICAgICAgIGVsc2UgaWYgKGdfc3Ry Y21wMCAoZGVzdGluYXRpb24sICJvcmcuZnJlZWRlc2t0b3AuREJ1cyIpID09IDApIHsKKysgICAg ICAgIH0gZWxzZSBpZiAoIWdfc3RyY21wMCAoZGVzdGluYXRpb24sICJvcmcuZnJlZWRlc2t0b3Au REJ1cyIpKSB7CisgICAgICAgICAgICAgLyogdGhlIG1lc3NhZ2UgaXMgc2VudCB0byBEQnVzIHNl cnZpY2UuIG1lc3NhZ2VzIGZyb20gaWJ1c2J1cyBtYXkgZmFsbCBpbnRvIHRoaXMgY2F0ZWdvcnku ICovCisgICAgICAgICAgICAgc3dpdGNoIChtZXNzYWdlX3R5cGUpIHsKKyAgICAgICAgICAgICBj YXNlIEdfREJVU19NRVNTQUdFX1RZUEVfTUVUSE9EX0NBTEw6CitAQCAtMTU0Nyw4ICsxNTUwLDcg QEAgYnVzX2RidXNfaW1wbF9jb25uZWN0aW9uX2ZpbHRlcl9jYiAoR0RCdXNDb25uZWN0aW9uICpk YnVzX2Nvbm5lY3Rpb24sCisgICAgICAgICAgICAgICAgIGdfb2JqZWN0X3VucmVmIChtZXNzYWdl KTsKKyAgICAgICAgICAgICAgICAgZ19yZXR1cm5fdmFsX2lmX3JlYWNoZWQgKE5VTEwpOyAgLyog cmV0dXJuIE5VTEwgc2luY2UgdGhlIHNlcnZpY2UgZG9lcyBub3QgaGFuZGxlIHNpZ25hbHMuICov CisgICAgICAgICAgICAgfQorLSAgICAgICAgfQorLSAgICAgICAgZWxzZSBpZiAoZGVzdGluYXRp b24gPT0gTlVMTCkgeworKyAgICAgICAgfSBlbHNlIGlmIChkZXN0aW5hdGlvbiA9PSBOVUxMKSB7 CisgICAgICAgICAgICAgLyogdGhlIG1lc3NhZ2UgaXMgc2VudCB0byB0aGUgY3VycmVudCBjb25u ZWN0aW9uLiBjb21tdW5pY2F0aW9ucyBiZXR3ZWVuIGlidXMtZGFlbW9uIGFuZCBwYW5lbC9lbmdp bmVzIG1heSBmYWxsIGludG8gdGhpcworICAgICAgICAgICAgICAqIGNhdGVnb3J5IHNpbmNlIHRo ZSBwYW5lbC9lbmdpbmUgcHJveGllcyBjcmVhdGVkIGJ5IGlidXMtZGFlbW9uIGRvZXMgbm90IHNl dCBidXMgbmFtZS4gKi8KKyAgICAgICAgICAgICBzd2l0Y2ggKG1lc3NhZ2VfdHlwZSkgeworQEAg LTE1NzAsOCArMTU3Miw3IEBAIGJ1c19kYnVzX2ltcGxfY29ubmVjdGlvbl9maWx0ZXJfY2IgKEdE QnVzQ29ubmVjdGlvbiAqZGJ1c19jb25uZWN0aW9uLAorICAgICAgICAgICAgICAgICBnX29iamVj dF91bnJlZiAobWVzc2FnZSk7CisgICAgICAgICAgICAgICAgIGdfcmV0dXJuX3ZhbF9pZl9yZWFj aGVkIChOVUxMKTsgIC8qIHJldHVybiBOVUxMIHNpbmNlIHRoZSBzZXJ2aWNlIGRvZXMgbm90IGhh bmRsZSBtZXNzYWdlcy4gKi8KKyAgICAgICAgICAgICB9CistICAgICAgICB9CistICAgICAgICBl bHNlIHsKKysgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgLyogVGhlIG1lc3NhZ2UgaXMg c2VudCB0byBhbiBvdGhlciBzZXJ2aWNlLiBGb3J3YXJkIGl0LgorICAgICAgICAgICAgICAqIEZv ciBleGFtcGxlLCB0aGUgY29uZmlnIHByb3h5IGNsYXNzIGluIHNyYy9pYnVzY29uZmlnLmMgc2V0 cyBpdHMgImctbmFtZSIgcHJvcGVydHkgKGkuZS4gZGVzdGluYXRpb24pIHRvIElCVVNfU0VSVklD RV9DT05GSUcuICovCisgICAgICAgICAgICAgYnVzX2RidXNfaW1wbF9mb3J3YXJkX21lc3NhZ2Ug KGRidXMsIGNvbm5lY3Rpb24sIG1lc3NhZ2UpOworZGlmZiAtLWdpdCBhL2J1cy9pYnVzaW1wbC5j IGIvYnVzL2lidXNpbXBsLmMKK2luZGV4IDg3NWNkNTUwLi44NjgxYzc4YiAxMDA2NDQKKy0tLSBh L2J1cy9pYnVzaW1wbC5jCisrKysgYi9idXMvaWJ1c2ltcGwuYworQEAgLTIzODgsMTkgKzIzODgs MjAgQEAgYnVzX2lidXNfaW1wbF9wcm9wZXJ0eV9jaGFuZ2VkIChCdXNJQnVzSW1wbCAqc2Vydmlj ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdWYXJpYW50ICAgICp2YWx1ZSkK KyB7CisgICAgIEdEQnVzTWVzc2FnZSAqbWVzc2FnZSA9CistICAgICAgICBnX2RidXNfbWVzc2Fn ZV9uZXdfc2lnbmFsICgiL29yZy9mcmVlZGVza3RvcC9JQnVzIiwKKysgICAgICAgIGdfZGJ1c19t ZXNzYWdlX25ld19zaWduYWwgKElCVVNfUEFUSF9JQlVTLAorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIm9yZy5mcmVlZGVza3RvcC5EQnVzLlByb3BlcnRpZXMiLAorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlByb3BlcnRpZXNDaGFuZ2VkIik7CisgCisg ICAgIC8qIHNldCBhIG5vbi16ZXJvIHNlcmlhbCB0byBtYWtlIGxpYmRidXMgaGFwcHkgKi8KKyAg ICAgZ19kYnVzX21lc3NhZ2Vfc2V0X3NlcmlhbCAobWVzc2FnZSwgMSk7CistICAgIGdfZGJ1c19t ZXNzYWdlX3NldF9zZW5kZXIgKG1lc3NhZ2UsICJvcmcuZnJlZWRlc2t0b3AuSUJ1cyIpOworKyAg ICBnX2RidXNfbWVzc2FnZV9zZXRfc2VuZGVyIChtZXNzYWdlLCBJQlVTX05BTUVfT1dORVJfTkFN RSk7CisrCisgCisgICAgIEdWYXJpYW50QnVpbGRlciAqYnVpbGRlciA9IGdfdmFyaWFudF9idWls ZGVyX25ldyAoR19WQVJJQU5UX1RZUEVfQVJSQVkpOworICAgICBnX3ZhcmlhbnRfYnVpbGRlcl9h ZGQgKGJ1aWxkZXIsICJ7c3Z9IiwgcHJvcGVydHlfbmFtZSwgdmFsdWUpOworICAgICBnX2RidXNf bWVzc2FnZV9zZXRfYm9keSAobWVzc2FnZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGdfdmFyaWFudF9uZXcgKCIoc2F7c3Z9YXMpIiwKKy0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICJvcmcuZnJlZWRlc2t0b3AuSUJ1cyIsCisrICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJQlVTX1NFUlZJQ0VfSUJVUywKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ1aWxkZXIsCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOVUxMKSk7CisgICAgIGdfdmFy aWFudF9idWlsZGVyX3VucmVmIChidWlsZGVyKTsKK0BAIC0yNDE5LDEyICsyNDIwLDEyIEBAIGJ1 c19pYnVzX2ltcGxfZW1pdF9zaWduYWwgKEJ1c0lCdXNJbXBsICppYnVzLAorICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGNvbnN0IGdjaGFyICpzaWduYWxfbmFtZSwKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICBHVmFyaWFudCAgICAqcGFyYW1ldGVycykKKyB7CistICAgIEdEQnVzTWVz c2FnZSAqbWVzc2FnZSA9IGdfZGJ1c19tZXNzYWdlX25ld19zaWduYWwgKCIvb3JnL2ZyZWVkZXNr dG9wL0lCdXMiLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAib3JnLmZyZWVkZXNrdG9wLklCdXMiLAorKyAgICBHREJ1c01lc3NhZ2UgKm1l c3NhZ2UgPSBnX2RidXNfbWVzc2FnZV9uZXdfc2lnbmFsIChJQlVTX1BBVEhfSUJVUywKKysgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSUJVU19J TlRFUkZBQ0VfSUJVUywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgc2lnbmFsX25hbWUpOworICAgICAvKiBzZXQgYSBub24temVybyBzZXJp YWwgdG8gbWFrZSBsaWJkYnVzIGhhcHB5ICovCisgICAgIGdfZGJ1c19tZXNzYWdlX3NldF9zZXJp YWwgKG1lc3NhZ2UsIDEpOworLSAgICBnX2RidXNfbWVzc2FnZV9zZXRfc2VuZGVyIChtZXNzYWdl LCAib3JnLmZyZWVkZXNrdG9wLklCdXMiKTsKKysgICAgZ19kYnVzX21lc3NhZ2Vfc2V0X3NlbmRl ciAobWVzc2FnZSwgSUJVU19OQU1FX09XTkVSX05BTUUpOworICAgICBpZiAocGFyYW1ldGVycykK KyAgICAgICAgIGdfZGJ1c19tZXNzYWdlX3NldF9ib2R5IChtZXNzYWdlLCBwYXJhbWV0ZXJzKTsK KyAgICAgYnVzX2RidXNfaW1wbF9kaXNwYXRjaF9tZXNzYWdlX2J5X3J1bGUgKEJVU19ERUZBVUxU X0RCVVMsIG1lc3NhZ2UsIE5VTEwpOworZGlmZiAtLWdpdCBhL2J1cy9pbnB1dGNvbnRleHQuYyBi L2J1cy9pbnB1dGNvbnRleHQuYworaW5kZXggNzY2NmYwNTcuLmUwYWQwNzQyIDEwMDY0NAorLS0t IGEvYnVzL2lucHV0Y29udGV4dC5jCisrKysgYi9idXMvaW5wdXRjb250ZXh0LmMKK0BAIC03NTUs NyArNzU1LDcgQEAgYnVzX2lucHV0X2NvbnRleHRfc2VuZF9zaWduYWwgKEJ1c0lucHV0Q29udGV4 dCAqY29udGV4dCwKKyAgICAgICAgICAgICBpYnVzX3NlcnZpY2VfZ2V0X29iamVjdF9wYXRoICgo SUJ1c1NlcnZpY2UgKiljb250ZXh0KSwKKyAgICAgICAgICAgICBpbnRlcmZhY2VfbmFtZSwKKyAg ICAgICAgICAgICBzaWduYWxfbmFtZSk7CistICAgIGdfZGJ1c19tZXNzYWdlX3NldF9zZW5kZXIg KG1lc3NhZ2UsICJvcmcuZnJlZWRlc2t0b3AuSUJ1cyIpOworKyAgICBnX2RidXNfbWVzc2FnZV9z ZXRfc2VuZGVyIChtZXNzYWdlLCBJQlVTX05BTUVfT1dORVJfTkFNRSk7CisgICAgIGdfZGJ1c19t ZXNzYWdlX3NldF9kZXN0aW5hdGlvbiAoCisgICAgICAgICAgICAgbWVzc2FnZSwKKyAgICAgICAg ICAgICBidXNfY29ubmVjdGlvbl9nZXRfdW5pcXVlX25hbWUgKGNvbnRleHQtPmNvbm5lY3Rpb24p KTsKK2RpZmYgLS1naXQgYS9idXMvbWF0Y2hydWxlLmMgYi9idXMvbWF0Y2hydWxlLmMKK2luZGV4 IDRmYjFkOTAyLi4yMzgxY2E5ZSAxMDA2NDQKKy0tLSBhL2J1cy9tYXRjaHJ1bGUuYworKysrIGIv YnVzL21hdGNocnVsZS5jCitAQCAtMiw3ICsyLDggQEAKKyAvKiB2aW06c2V0IGV0IHN0cz00OiAq LworIC8qIElCdXMgLSBUaGUgSW5wdXQgQnVzCisgICogQ29weXJpZ2h0IChDKSAyMDA4LTIwMTAg UGVuZyBIdWFuZyA8c2hhd24ucC5odWFuZ0BnbWFpbC5jb20+CistICogQ29weXJpZ2h0IChDKSAy MDA4LTIwMTAgUmVkIEhhdCwgSW5jLgorKyAqIENvcHlyaWdodCAoQykgMjAyNCBUYWthbyBGdWpp d2FyYSA8dGFrYW8uZnVqaXdhcmExQGdtYWlsLmNvbT4KKysgKiBDb3B5cmlnaHQgKEMpIDIwMDgt MjAyNCBSZWQgSGF0LCBJbmMuCisgICoKKyAgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2Fy ZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgICogbW9kaWZ5IGl0IHVuZGVyIHRo ZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYworQEAgLTQwNyw2ICs0MDgs MTMgQEAgYnVzX21hdGNoX3J1bGVfc2V0X21lc3NhZ2VfdHlwZSAoQnVzTWF0Y2hSdWxlICAgKnJ1 bGUsCisgICAgIHJldHVybiBUUlVFOworIH0KKyAKKytjb25zdCBnY2hhciAqCisrYnVzX21hdGNo X3J1bGVfZ2V0X3NlbmRlciAgKEJ1c01hdGNoUnVsZSAgICAqcnVsZSkKKyt7CisrICAgIGdfcmV0 dXJuX3ZhbF9pZl9mYWlsIChydWxlICE9IE5VTEwsIE5VTEwpOworKyAgICByZXR1cm4gcnVsZS0+ c2VuZGVyOworK30KKysKKyBnYm9vbGVhbgorIGJ1c19tYXRjaF9ydWxlX3NldF9zZW5kZXIgIChC dXNNYXRjaFJ1bGUgICAgKnJ1bGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0 IGdjaGFyICAgICAqc2VuZGVyKQorZGlmZiAtLWdpdCBhL2J1cy9tYXRjaHJ1bGUuaCBiL2J1cy9t YXRjaHJ1bGUuaAoraW5kZXggMWRkMzA0Y2QuLjM3YjYzNDdiIDEwMDY0NAorLS0tIGEvYnVzL21h dGNocnVsZS5oCisrKysgYi9idXMvbWF0Y2hydWxlLmgKK0BAIC0yLDcgKzIsOCBAQAorIC8qIHZp bTpzZXQgZXQgc3RzPTQ6ICovCisgLyogSUJ1cyAtIFRoZSBJbnB1dCBCdXMKKyAgKiBDb3B5cmln aHQgKEMpIDIwMDgtMjAxMCBQZW5nIEh1YW5nIDxzaGF3bi5wLmh1YW5nQGdtYWlsLmNvbT4KKy0g KiBDb3B5cmlnaHQgKEMpIDIwMDgtMjAxMCBSZWQgSGF0LCBJbmMuCisrICogQ29weXJpZ2h0IChD KSAyMDI0IFRha2FvIEZ1aml3YXJhIDx0YWthby5mdWppd2FyYTFAZ21haWwuY29tPgorKyAqIENv cHlyaWdodCAoQykgMjAwOC0yMDI0IFJlZCBIYXQsIEluYy4KKyAgKgorICAqIFRoaXMgbGlicmFy eSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAgKiBt b2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGlj CitAQCAtNTcsNiArNTgsNyBAQCB2b2lkICAgICAgICAgICAgIGJ1c19tYXRjaF9ydWxlX2ZyZWUg ICAgICAgIChCdXNNYXRjaFJ1bGUgICAgICAgKnJ1bGUpOworIGdib29sZWFuICAgICAgICAgYnVz X21hdGNoX3J1bGVfc2V0X21lc3NhZ2VfdHlwZQorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgKEJ1c01hdGNoUnVsZSAgICAgICAqcnVsZSwKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnaW50ICAgICAgICAgICAgICAgIHR5 cGUpOworK2NvbnN0IGdjaGFyICogICAgYnVzX21hdGNoX3J1bGVfZ2V0X3NlbmRlciAgKEJ1c01h dGNoUnVsZSAgICAgICAqcnVsZSk7CisgZ2Jvb2xlYW4gICAgICAgICBidXNfbWF0Y2hfcnVsZV9z ZXRfc2VuZGVyICAoQnVzTWF0Y2hSdWxlICAgICAgICpydWxlLAorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGdjaGFyICAgICAgICAqc2VuZGVyKTsK KyBnYm9vbGVhbiAgICAgICAgIGJ1c19tYXRjaF9ydWxlX3NldF9pbnRlcmZhY2UKKy0tIAorMi40 NS4wCisKCmRpZmYgLS1naXQgYS9pYnVzLnNwZWMgYi9pYnVzLnNwZWMKaW5kZXggNDRhMWNkMC4u MTEwNTdjZSAxMDA2NDQKLS0tIGEvaWJ1cy5zcGVjCisrKyBiL2lidXMuc3BlYwpAQCAtNjEsNyAr NjEsNyBAQAogTmFtZTogICAgICAgICAgIGlidXMKIFZlcnNpb246ICAgICAgICAxLjUuMzAKICMg aHR0cHM6Ly9naXRodWIuY29tL2ZlZG9yYS1pbmZyYS9ycG1hdXRvc3BlYy9pc3N1ZXMvMTAxCi1S ZWxlYXNlOiAgICAgICAgMSV7P2Rpc3R9CitSZWxlYXNlOiAgICAgICAgMiV7P2Rpc3R9CiBTdW1t YXJ5OiAgICAgICAgSW50ZWxsaWdlbnQgSW5wdXQgQnVzIGZvciBMaW51eCBPUwogTGljZW5zZTog ICAgICAgIExHUEwtMi4xLW9yLWxhdGVyCiBVUkw6ICAgICAgICAgICAgaHR0cHM6Ly9naXRodWIu Y29tL2lidXMvJW5hbWUvd2lraQpAQCAtNzEsMTAgKzcxLDggQEAgU291cmNlMjogICAgICAgICV7 bmFtZX0teGlucHV0CiBTb3VyY2UzOiAgICAgICAgJXtuYW1lfS5jb25mLjUKICMgUGF0Y2gwOiAg ICAgICAgICUle25hbWV9LUhFQUQucGF0Y2gKIFBhdGNoMDogICAgICAgICAle25hbWV9LUhFQUQu cGF0Y2gKLSMgIzIyNjc2MTUKLVBhdGNoMTogICAgICAgICAle25hbWV9LTIyNjc2MTUtd2F5bGFu ZC1pbml0LWtleW1hcC5wYXRjaAogIyBVbmRlciB0ZXN0aW5nICMxMzQ5MTQ4ICMxMzg1MzQ5ICMx MzUwMjkxICMxNDA2Njk5ICMxNDMyMjUyICMxNjAxNTc3Ci1QYXRjaDI6ICAgICAgICAgJXtuYW1l fS0xMzg1MzQ5LXNlZ3YtYnVzLXByb3h5LnBhdGNoCitQYXRjaDE6ICAgICAgICAgJXtuYW1lfS0x Mzg1MzQ5LXNlZ3YtYnVzLXByb3h5LnBhdGNoCiAlaWYgJXt3aXRob3V0IHhpbml0fQogIyBVc2Ug bXV0dGVyIHdpbmRvdyBtYW5hZ2VyIGluIFJIRUwgQ0kKIFBhdGNoMTAwOiAgICAgICAle25hbWV9 LXh4LWRlc2t0b3AtdGVzdGluZy1tdXR0ZXIucGF0Y2gKQEAgLTYyNyw2ICs2MjUsMTAgQEAgZGNv bmYgdXBkYXRlIHx8IDoKICV7X2RhdGFkaXJ9L2luc3RhbGxlZC10ZXN0cy9pYnVzCiAKICVjaGFu Z2Vsb2cKKyogRnJpIE1heSAyNCAyMDI0IFRha2FvIEZ1aml3YXJhIDx0ZnVqaXdhckByZWRoYXQu Y29tPiAtIDEuNS4zMC0yCistIFJlc29sdmUgIzIyNTIyMjcgRml4IGRpc3BsYXkgYnVmZmVyIG92 ZXJmbG93CistIENoYW5nZSBJQnVzIHVuaXF1ZSBuYW1lIHRvIDoxLjAgZnJvbSBJQlVTX1NFUlZJ Q0VfSUJVUworCiAqIFRodSBNYXkgMDIgMjAyNCBUYWthbyBGdWppd2FyYSA8dGZ1aml3YXJAcmVk aGF0LmNvbT4gLSAxLjUuMzAtMQogLSBCdW1wIHRvIDEuNS4zMAogCgpkaWZmIC0tZ2l0IGEvdGVz dHMvcm9sZXMvaWJ1cy1kZXNrdG9wLXRlc3Rpbmctcm9sZS9maWxlcy9jaGVjay1yZXN1bHRzLnNo IGIvdGVzdHMvcm9sZXMvaWJ1cy1kZXNrdG9wLXRlc3Rpbmctcm9sZS9maWxlcy9jaGVjay1yZXN1 bHRzLnNoCmluZGV4IDhhNDYxMTguLjMyYjZmMTYgMTAwNzU1Ci0tLSBhL3Rlc3RzL3JvbGVzL2li dXMtZGVza3RvcC10ZXN0aW5nLXJvbGUvZmlsZXMvY2hlY2stcmVzdWx0cy5zaAorKysgYi90ZXN0 cy9yb2xlcy9pYnVzLWRlc2t0b3AtdGVzdGluZy1yb2xlL2ZpbGVzL2NoZWNrLXJlc3VsdHMuc2gK QEAgLTM3LDggKzM3LDcgQEAgX0VPRgogfQogCiBpZiBbICRURVNUX1JVTl9JTl9SQVdISURFIC1l cSAwIF0gOyB0aGVuCi0gICAgSVNfUkFXSElERT0iJChncmVwIC1pIHJhd2hpZGUgL2V0Yy9mZWRv cmEtcmVsZWFzZSkiCi0gICAgaWYgWyB4IiRJU19SQVdISURFIiAhPSB4IF0gOyB0aGVuCisgICAg aWYgZ3JlcCAtcSAtaSByYXdoaWRlIC9ldGMvZmVkb3JhLXJlbGVhc2UgJj4gL2Rldi9udWxsIDsg dGhlbgogICAgICAgICBnZW5fcmVzdWx0cyAiMCIgInBhc3MiCiAgICAgICAgIGVjaG8gLW4gUEFT UwogICAgICAgICBleGl0IDAK