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: Than Ngo To: git-commits@fedoraproject.org Subject: [rpms/chromium] rawhide: Fix FTBFS (patch from ungoogled chromium) Date: Wed, 23 Sep 2026 18:19:20 GMT Message-ID: <179018756071.1.9717062653579588023.rpms-chromium-096978acb1c3@fedoraproject.org> List-ID: X-Git-Repo: rpms/chromium X-Git-Branch: rawhide X-Git-Rev: 096978acb1c3d82d1049e00d4dbf9f4457e6c817 QSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KClJlcG8gICA6IHJwbXMvY2hyb21pdW0KQnJh bmNoIDogcmF3aGlkZQpDb21taXQgOiAwOTY5NzhhY2IxYzNkODJkMTA0OWUwMGQ0ZGJmOWY0NDU3 ZTZjODE3CkF1dGhvciA6IFRoYW4gTmdvIDx0aGFuQHJlZGhhdC5jb20+CkRhdGUgICA6IDIwMjYt MDktMjNUMjA6MTc6NDMrMDI6MDAKU3RhdHMgIDogKzk5NC8tMTUzIGluIDMgZmlsZShzKQpVUkwg ICAgOiBodHRwczovL3NyYy5mZWRvcmFwcm9qZWN0Lm9yZy9ycG1zL2Nocm9taXVtL2MvMDk2OTc4 YWNiMWMzZDgyZDEwNDllMDBkNGRiZjlmNDQ1N2U2YzgxNz9icmFuY2g9cmF3aGlkZQoKTG9nOgpG aXggRlRCRlMgKHBhdGNoIGZyb20gdW5nb29nbGVkIGNocm9taXVtKQoKLS0tCmRpZmYgLS1naXQg YS9jaHJvbWl1bS0xNTQtZnRiZnMtY3J1Yml0LnBhdGNoIGIvY2hyb21pdW0tMTU0LWZ0YmZzLWNy dWJpdC5wYXRjaAppbmRleCBiNDEzN2Y1Li5iY2RlZGYzIDEwMDY0NAotLS0gYS9jaHJvbWl1bS0x NTQtZnRiZnMtY3J1Yml0LnBhdGNoCisrKyBiL2Nocm9taXVtLTE1NC1mdGJmcy1jcnViaXQucGF0 Y2gKQEAgLTEsMTY5ICsxLDcxMSBAQAotY29tbWl0IDQ5M2U2YzM5MTFlMzNjYzM1Njg1NmJhZmJm ZmM2Y2Y5NTUyMTI2NmIKLUF1dGhvcjogRG9taW5payBSw7Z0dHNjaGVzIDxkcm90dEBjaHJvbWl1 bS5vcmc+Ci1EYXRlOiAgIFRodSBBdWcgMTMgMDg6NDI6MTUgMjAyNiAtMDcwMAordW5nb29nbGUg Y2hyb21pdW0gcGF0Y2ggZnJvbSBodHRwczovL2dpdGh1Yi5jb20vdW5nb29nbGVkLXNvZnR3YXJl L3VuZ29vZ2xlZC1jaHJvbWl1bS9wdWxsLzM5NjYKIAotICAgIE1pZ3JhdGUgT3BlblR5cGUgZm9y bWF0IGNoZWNrIGJpbmRpbmdzIHRvIENydWJpdAotICAgIAotICAgIFdlIGNhbiByZW1vdmUgdGhl IEJveDw+IHdyYXBwZWQgdHlwaW5nIG9mIEZvbnRGb3JtYXRJbmZvIGFsb25nIHRoZSB3YXkuCi0g ICAgCi0gICAgREVQUyBjaGVja3MgZm9yIHRoZSBnZW5lcmF0ZWQgb3V0cHV0IGhlYWRlciBmaWxl cyByZXF1aXJlcyB1cyB0byBtb3ZlCi0gICAgdGhlIGZvcm1hdF9jaGVjayB0YXJnZXQgaW50byB0 aGUgZm9udHMgc3ViZGlyZWN0b3J5LiBUaGlzIGlzIGEgZ29vZAotICAgIG9wcG9ydHVuaXR5IHRv IG1vdmUgbW9yZSBmb250IHNwZWNpZmljIGJ1aWxkIHJ1bGVzIHRvIHRoZSBmb250IHN1YmRpciBp bgotICAgIHRoZSBmdXR1cmUgYW5kIHJlZHVjZSB0aGUgd2VpZ2h0IG9mIHRoZSBwbGF0Zm9ybS9C VUlMRC5nbiBidWlsZCBkaXIuCi0gICAgCi0gICAgRXhlcmNpc2UgaW4gdXNpbmcgdGhlIENydWJp dCBiaW5kaW5ncyBtZWNoYW5pc20uCi0gICAgCi0gICAgTm8gZnVuY3Rpb25hbCBjaGFuZ2UuCi0g ICAgCi0gICAgQ2hhbmdlLUlkOiBJOTQ0MGM3Mjg1YmI3MDdiMzI1YjgwZWUwNzRkZTUxZTcxNGVl NDg4NAotICAgIFJldmlld2VkLW9uOiBodHRwczovL2Nocm9taXVtLXJldmlldy5nb29nbGVzb3Vy Y2UuY29tL2MvY2hyb21pdW0vc3JjLysvODI0NDI0OAotICAgIFJldmlld2VkLWJ5OiDFgXVrYXN6 IEFuZm9yb3dpY3ogPGx1a2FzemFAY2hyb21pdW0ub3JnPgotICAgIENvbW1pdC1RdWV1ZTogRG9t aW5payBSw7Z0dHNjaGVzIDxkcm90dEBjaHJvbWl1bS5vcmc+Ci0gICAgQ3ItQ29tbWl0LVBvc2l0 aW9uOiByZWZzL2hlYWRzL21haW5AeyMxNjc4ODU4fQotCi1kaWZmIC0tZ2l0IGEvdGhpcmRfcGFy dHkvYmxpbmsvcmVuZGVyZXIvcGxhdGZvcm0vQlVJTEQuZ24gYi90aGlyZF9wYXJ0eS9ibGluay9y ZW5kZXJlci9wbGF0Zm9ybS9CVUlMRC5nbgotaW5kZXggZDVlODFhM2YwN2EzYy4uNmE1ZDI3NTQ2 MDEyMiAxMDA2NDQKLS0tLSBhL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL3BsYXRmb3JtL0JV SUxELmduCi0rKysgYi90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9wbGF0Zm9ybS9CVUlMRC5n bgotQEAgLTE4NiwxOCArMTg2LDYgQEAgZ3JvdXAoIm1ha2VfcGxhdGZvcm1fZ2VuZXJhdGVkIikg eworLS0tIGEvY29tcG9uZW50cy9jYm9yL0JVSUxELmduCisrKysgYi9jb21wb25lbnRzL2Nib3Iv QlVJTEQuZ24KK0BAIC0xMiw3ICsxMiw3IEBAIGJ1aWxkZmxhZ19oZWFkZXIoImJ1aWxkZmxhZ3Mi KSB7CisgICAjIFRPRE8oY3JidWcuY29tLzUzNTY4MjMzNSk6IFJlbW92ZSBgVVNFX0NCT1JfUlVT VGAgYnVpbGRmbGFnIGVudGlyZWx5LAorICAgIyB1bmNvbmRpdGlvbmFsbHkgZW5hYmxlIFJ1c3Qg Q0JPUiBwYXJzZXIsIGFuZCBkcm9wIGBpc19jcm9uZXRfYnVpbGRgIGNoZWNrCisgICAjIG9uY2Ug Q3JvbmV0IHN1cHBvcnRzIENydWJpdCBkZXBlbmRlbmNpZXMuCistICBmbGFncyA9IFsgIlVTRV9D Qk9SX1JVU1Q9ISRpc19jcm9uZXRfYnVpbGQiIF0KKysgIGZsYWdzID0gWyAiVVNFX0NCT1JfUlVT VD0kZW5hYmxlX2NwcF9hcGlfZnJvbV9ydXN0IiBdCisgfQorIAorIGNvbXBvbmVudCgiY2JvciIp IHsKK0BAIC0zNSw3ICszNSw3IEBAIGNvbXBvbmVudCgiY2JvciIpIHsKKyAgICAgIi8vYmFzZSIs CisgICBdCisgCistICBpZiAoIWlzX2Nyb25ldF9idWlsZCkgeworKyAgaWYgKGVuYWJsZV9jcHBf YXBpX2Zyb21fcnVzdCkgeworICAgICBwdWJsaWNfZGVwcyA9IFsKKyAgICAgICAiLy9idWlsZC9y dXN0L2NydWJpdCIsCisgICAgICAgIi8vY29tcG9uZW50cy9jYm9yL3J1c3Q6Y2Jvcl9ydXN0X2Jp bmRpbmdzIiwKK0BAIC02Miw3ICs2Miw3IEBAIHNvdXJjZV9zZXQoInVuaXRfdGVzdHMiKSB7Cisg ICAgICIvL3Rlc3RpbmcvZ3Rlc3QiLAorICAgICAiLy90aGlyZF9wYXJ0eS9mdXp6dGVzdCIsCisg ICBdCistICBpZiAoIWlzX2Nyb25ldF9idWlsZCkgeworKyAgaWYgKGVuYWJsZV9jcHBfYXBpX2Zy b21fcnVzdCkgeworICAgICBkZXBzICs9IFsgIi8vY29tcG9uZW50cy9jYm9yL3J1c3Q6Y2Jvcl9y dXN0X3VuaXR0ZXN0cyIgXQorICAgfQorIAorLS0tIGEvY29tcG9uZW50cy93ZWJfcGFja2FnZS9C VUlMRC5nbgorKysrIGIvY29tcG9uZW50cy93ZWJfcGFja2FnZS9CVUlMRC5nbgorQEAgLTQwLDcg KzQwLDYgQEAgc3RhdGljX2xpYnJhcnkoIndlYl9wYWNrYWdlIikgeworICAgICAiLy9iYXNlIiwK KyAgICAgIi8vY29tcG9uZW50cy9iYXNlMzIiLAorICAgICAiLy9jb21wb25lbnRzL2Nib3IiLAor LSAgICAiLy9jb21wb25lbnRzL3dlYl9wYWNrYWdlL3NpZ25lZF93ZWJfYnVuZGxlcy9ydXN0OnNp Z25lZF93ZWJfYnVuZGxlc19ydXN0X2JpbmRpbmdzIiwKKyAgICAgIi8vbW9qby9wdWJsaWMvY3Bw L2JpbmRpbmdzIiwKKyAgICAgIi8vbmV0IiwKKyAgICAgIi8vc2VydmljZXMvbmV0d29yay9wdWJs aWMvbW9qb20iLAorQEAgLTcwLDcgKzY5LDYgQEAgc291cmNlX3NldCgibW9qb21fbWFwcGVkX3R5 cGVzIikgeworIAorICAgZGVwcyA9IFsKKyAgICAgIi8vYmFzZSIsCistICAgICIvL2NvbXBvbmVu dHMvd2ViX3BhY2thZ2Uvc2lnbmVkX3dlYl9idW5kbGVzL3J1c3Q6c2lnbmVkX3dlYl9idW5kbGVz X3J1c3RfYmluZGluZ3MiLAorICAgICAiLy9jcnlwdG8iLAorICAgICAiLy9tb2pvL3B1YmxpYy9j cHAvYmluZGluZ3MiLAogICAgXQorQEAgLTk4LDcgKzk2LDYgQEAgc291cmNlX3NldCgidW5pdF90 ZXN0cyIpIHsKKyAgICAgIjp3ZWJfcGFja2FnZSIsCisgICAgICIvL2Jhc2UvdGVzdDp0ZXN0X3N1 cHBvcnQiLAorICAgICAiLy9jb21wb25lbnRzL2Nib3IiLAorLSAgICAiLy9jb21wb25lbnRzL3dl Yl9wYWNrYWdlL3NpZ25lZF93ZWJfYnVuZGxlcy9ydXN0OnNpZ25lZF93ZWJfYnVuZGxlc19ydXN0 X3VuaXR0ZXN0cyIsCisgICAgICIvL2NvbXBvbmVudHMvd2ViX3BhY2thZ2UvdGVzdF9zdXBwb3J0 IiwKKyAgICAgIi8vbW9qby9wdWJsaWMvY3BwL2JpbmRpbmdzIiwKKyAgICAgIi8vbW9qby9wdWJs aWMvY3BwL3Rlc3Rfc3VwcG9ydDp0ZXN0X3V0aWxzIiwKKy0tLSBhL2NvbXBvbmVudHMvd2ViX3Bh Y2thZ2Uvc2lnbmVkX3dlYl9idW5kbGVzL2VjZHNhX3AyNTZfc2hhMjU2X3NpZ25hdHVyZS5jYwor KysrIGIvY29tcG9uZW50cy93ZWJfcGFja2FnZS9zaWduZWRfd2ViX2J1bmRsZXMvZWNkc2FfcDI1 Nl9zaGEyNTZfc2lnbmF0dXJlLmNjCitAQCAtOSw3ICs5LDggQEAKKyAjaW5jbHVkZSAiYmFzZS9z dHJpbmdzL3N0cmluZ3ByaW50Zi5oIgorICNpbmNsdWRlICJiYXNlL3R5cGVzL2V4cGVjdGVkLmgi CisgI2luY2x1ZGUgImNvbXBvbmVudHMvd2ViX3BhY2thZ2Uvc2lnbmVkX3dlYl9idW5kbGVzL2Vj ZHNhX3AyNTZfcHVibGljX2tleS5oIgorLSNpbmNsdWRlICJjb21wb25lbnRzL3dlYl9wYWNrYWdl L3NpZ25lZF93ZWJfYnVuZGxlcy9ydXN0L3NpZ25lZF93ZWJfYnVuZGxlc19ydXN0LmgiCisrI2lu Y2x1ZGUgImNyeXB0by9rZXlwYWlyLmgiCisrI2luY2x1ZGUgImNyeXB0by9zaWduLmgiCisgCisg bmFtZXNwYWNlIHdlYl9wYWNrYWdlIHsKKyAKK0BAIC01MCw4ICs1MSw5IEBAIEVjZHNhUDI1NlNI QTI1NlNpZ25hdHVyZTo6RWNkc2FQMjU2U0hBMjUKKyBbW25vZGlzY2FyZF1dIGJvb2wgRWNkc2FQ MjU2U0hBMjU2U2lnbmF0dXJlOjpWZXJpZnkoCisgICAgIGJhc2U6OnNwYW48Y29uc3QgdWludDhf dD4gbWVzc2FnZSwKKyAgICAgY29uc3QgRWNkc2FQMjU2UHVibGljS2V5JiBwdWJsaWNfa2V5KSBj b25zdCB7CistICByZXR1cm4gc2lnbmVkX3dlYl9idW5kbGVzOjpydXN0Ojp2ZXJpZnlfZWNkc2Ff cDI1Nl9zaWduYXR1cmUoCistICAgICAgcHVibGljX2tleS5ieXRlcygpLCBieXRlcygpLCBtZXNz YWdlKTsKKysgIGF1dG8ga2V5ID0gY3J5cHRvOjprZXlwYWlyOjpQdWJsaWNLZXk6OkZyb21FY1Ay NTZQb2ludChwdWJsaWNfa2V5LmJ5dGVzKCkpOworKyAgcmV0dXJuIGNyeXB0bzo6c2lnbjo6VmVy aWZ5KGNyeXB0bzo6c2lnbjo6RUNEU0FfU0hBMjU2LCAqa2V5LCBtZXNzYWdlLAorKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGJ5dGVzKCkpOwogIH0KICAKLS1ydXN0X3N0YXRpY19saWJy YXJ5KCJmb250X2Zvcm1hdF9jaGVjayIpIHsKLS0gIGFsbG93X3Vuc2FmZSA9IHRydWUgICMgTmVl ZGVkIGZvciBGRkkgdGhhdCB1bmRlcnBpbnMgdGhlIGBjeHhgIGNyYXRlLgotLSAgY3JhdGVfcm9v dCA9ICJmb250cy9vcGVudHlwZS9mb3JtYXRfY2hlY2sucnMiCi0tICBzb3VyY2VzID0gWyBjcmF0 ZV9yb290IF0KLS0gIGN4eF9iaW5kaW5ncyA9IFsgY3JhdGVfcm9vdCBdCi0tICBkZXBzID0gWwot LSAgICAiLy90aGlyZF9wYXJ0eS9ydXN0L2ZvbnRfdHlwZXMvdjBfMTI6bGliIiwKLS0gICAgIi8v dGhpcmRfcGFydHkvcnVzdC9yZWFkX2ZvbnRzL3YwXzQxOmxpYiIsCi0tICAgICIvL3RoaXJkX3Bh cnR5L3J1c3Qvc2tyaWZhL3YwXzQ0OmxpYiIsCi0tICBdCisgfSAgLy8gbmFtZXNwYWNlIHdlYl9w YWNrYWdlCistLS0gYS9jb21wb25lbnRzL3dlYl9wYWNrYWdlL3NpZ25lZF93ZWJfYnVuZGxlcy9l ZDI1NTE5X3NpZ25hdHVyZS5jYworKysrIGIvY29tcG9uZW50cy93ZWJfcGFja2FnZS9zaWduZWRf d2ViX2J1bmRsZXMvZWQyNTUxOV9zaWduYXR1cmUuY2MKK0BAIC03LDcgKzcsNiBAQAorICNpbmNs dWRlIDxhbGdvcml0aG0+CisgCisgI2luY2x1ZGUgImJhc2Uvc3RyaW5ncy9zdHJpbmdwcmludGYu aCIKKy0jaW5jbHVkZSAiY29tcG9uZW50cy93ZWJfcGFja2FnZS9zaWduZWRfd2ViX2J1bmRsZXMv cnVzdC9zaWduZWRfd2ViX2J1bmRsZXNfcnVzdC5oIgorICNpbmNsdWRlICJ0aGlyZF9wYXJ0eS9i b3Jpbmdzc2wvc3JjL2luY2x1ZGUvb3BlbnNzbC9jdXJ2ZTI1NTE5LmgiCisgCisgbmFtZXNwYWNl IHdlYl9wYWNrYWdlIHsKK0BAIC00Myw4ICs0MiwxMSBAQCBFZDI1NTE5U2lnbmF0dXJlOjpFZDI1 NTE5U2lnbmF0dXJlKHN0ZDo6CisgW1tub2Rpc2NhcmRdXSBib29sIEVkMjU1MTlTaWduYXR1cmU6 OlZlcmlmeSgKKyAgICAgYmFzZTo6c3Bhbjxjb25zdCB1aW50OF90PiBtZXNzYWdlLAorICAgICBj b25zdCBFZDI1NTE5UHVibGljS2V5JiBwdWJsaWNfa2V5KSBjb25zdCB7CistICByZXR1cm4gc2ln bmVkX3dlYl9idW5kbGVzOjpydXN0Ojp2ZXJpZnlfZWQyNTUxOV9zaWduYXR1cmUocHVibGljX2tl eS5ieXRlcygpLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGJ5dGVzKCksIG1lc3NhZ2UpOworKyAgY29uc3Qgc3RkOjphcnJheTx1 aW50OF90LCBFRDI1NTE5X1BVQkxJQ19LRVlfTEVOPiYgcHVibGljX2tleV9ieXRlcyA9CisrICAg ICAgcHVibGljX2tleS5ieXRlcygpOworKyAgY29uc3Qgc3RkOjphcnJheTx1aW50OF90LCBFRDI1 NTE5X1NJR05BVFVSRV9MRU4+JiBzaWduYXR1cmVfYnl0ZXMgPSBieXRlcygpOworKyAgcmV0dXJu IEVEMjU1MTlfdmVyaWZ5KG1lc3NhZ2UuZGF0YSgpLCBtZXNzYWdlLnNpemUoKSwgc2lnbmF0dXJl X2J5dGVzLmRhdGEoKSwKKysgICAgICAgICAgICAgICAgICAgICAgICBwdWJsaWNfa2V5X2J5dGVz LmRhdGEoKSk7CisgfQorIAorIH0gIC8vIG5hbWVzcGFjZSB3ZWJfcGFja2FnZQorLS0tIGEvY29t cG9uZW50cy93ZWJfcGFja2FnZS9zaWduZWRfd2ViX2J1bmRsZXMvaW50ZWdyaXR5X2Jsb2NrX3Bh cnNlci5jYworKysrIGIvY29tcG9uZW50cy93ZWJfcGFja2FnZS9zaWduZWRfd2ViX2J1bmRsZXMv aW50ZWdyaXR5X2Jsb2NrX3BhcnNlci5jYworQEAgLTQsMTcgKzQsMTkgQEAKKyAKKyAjaW5jbHVk ZSAiY29tcG9uZW50cy93ZWJfcGFja2FnZS9zaWduZWRfd2ViX2J1bmRsZXMvaW50ZWdyaXR5X2Js b2NrX3BhcnNlci5oIgorIAorKyNpbmNsdWRlIDxhbGdvcml0aG0+CisgI2luY2x1ZGUgPHN0cmlu Zz4KKy0jaW5jbHVkZSA8c3RyaW5nX3ZpZXc+CisgI2luY2x1ZGUgPHZlY3Rvcj4KKyAKKy0jaW5j bHVkZSAiYmFzZS9jaGVjay5oIgorLSNpbmNsdWRlICJiYXNlL2NvbnRhaW5lcnMvc3Bhbi5oIgor KyNpbmNsdWRlICJiYXNlL2NvbnRhaW5lcnMvbWFwX3V0aWwuaCIKKyAjaW5jbHVkZSAiYmFzZS9m dW5jdGlvbmFsL2JpbmQuaCIKKyAjaW5jbHVkZSAiYmFzZS9zdHJpbmdzL3N0cmluZ3ByaW50Zi5o IgorKyNpbmNsdWRlICJiYXNlL3N0cmluZ3MvdG9fc3RyaW5nLmgiCisgI2luY2x1ZGUgImJhc2Uv dHlwZXMvZXhwZWN0ZWQuaCIKKyAjaW5jbHVkZSAiYmFzZS90eXBlcy9leHBlY3RlZF9tYWNyb3Mu aCIKKyAjaW5jbHVkZSAiY29tcG9uZW50cy9jYm9yL3JlYWRlci5oIgorKyNpbmNsdWRlICJjb21w b25lbnRzL2Nib3Ivd3JpdGVyLmgiCisrI2luY2x1ZGUgImNvbXBvbmVudHMvd2ViX3BhY2thZ2Uv bW9qb20vd2ViX2J1bmRsZV9wYXJzZXIubW9qb20tZm9yd2FyZC5oIgorICNpbmNsdWRlICJjb21w b25lbnRzL3dlYl9wYWNrYWdlL21vam9tL3dlYl9idW5kbGVfcGFyc2VyLm1vam9tLmgiCisgI2lu Y2x1ZGUgImNvbXBvbmVudHMvd2ViX3BhY2thZ2Uvc2lnbmVkX3dlYl9idW5kbGVzL2NvbnN0YW50 cy5oIgorICNpbmNsdWRlICJjb21wb25lbnRzL3dlYl9wYWNrYWdlL3NpZ25lZF93ZWJfYnVuZGxl cy9lY2RzYV9wMjU2X3B1YmxpY19rZXkuaCIKK0BAIC0yMiw1NiArMjQsMTEgQEAKKyAjaW5jbHVk ZSAiY29tcG9uZW50cy93ZWJfcGFja2FnZS9zaWduZWRfd2ViX2J1bmRsZXMvZWQyNTUxOV9wdWJs aWNfa2V5LmgiCisgI2luY2x1ZGUgImNvbXBvbmVudHMvd2ViX3BhY2thZ2Uvc2lnbmVkX3dlYl9i dW5kbGVzL2VkMjU1MTlfc2lnbmF0dXJlLmgiCisgI2luY2x1ZGUgImNvbXBvbmVudHMvd2ViX3Bh Y2thZ2Uvc2lnbmVkX3dlYl9idW5kbGVzL2ludGVncml0eV9ibG9ja19hdHRyaWJ1dGVzLmgiCist I2luY2x1ZGUgImNvbXBvbmVudHMvd2ViX3BhY2thZ2Uvc2lnbmVkX3dlYl9idW5kbGVzL3J1c3Qv c2lnbmVkX3dlYl9idW5kbGVzX3J1c3QuaCIKKyAjaW5jbHVkZSAiY29tcG9uZW50cy93ZWJfcGFj a2FnZS9zaWduZWRfd2ViX2J1bmRsZXMvc2lnbmVkX3dlYl9idW5kbGVfaWQuaCIKKyAjaW5jbHVk ZSAiY29tcG9uZW50cy93ZWJfcGFja2FnZS9zaWduZWRfd2ViX2J1bmRsZXMvdHlwZXMuaCIKKyAK KyBuYW1lc3BhY2Ugd2ViX3BhY2thZ2UgeworIAorLW5hbWVzcGFjZSB7CistCistdXNpbmcgU2ln bmF0dXJlVHlwZSA9IHNpZ25lZF93ZWJfYnVuZGxlczo6cnVzdDo6U2lnbmF0dXJlVHlwZTo6VGFn OworLXVzaW5nIHNpZ25lZF93ZWJfYnVuZGxlczo6cnVzdDo6cGFyc2VfaW50ZWdyaXR5X2Jsb2Nr OworLQorLWJhc2U6OmV4cGVjdGVkPG1vam9tOjpCdW5kbGVJbnRlZ3JpdHlCbG9ja1NpZ25hdHVy ZVN0YWNrRW50cnlQdHIsIHN0ZDo6c3RyaW5nPgorLUNyZWF0ZVNpZ25hdHVyZVN0YWNrRW50cnko CistICAgIGNvbnN0IHNpZ25lZF93ZWJfYnVuZGxlczo6cnVzdDo6U2lnbmF0dXJlU3RhY2tFbnRy eSYgZW50cnkpIHsKKy0gIGF1dG8gcGFyc2VkX3NpZyA9IG1vam9tOjpCdW5kbGVJbnRlZ3JpdHlC bG9ja1NpZ25hdHVyZVN0YWNrRW50cnk6Ok5ldygpOworLQorLSAgc3dpdGNoIChlbnRyeS5zaWdu YXR1cmVfdHlwZS50YWcpIHsKKy0gICAgY2FzZSBTaWduYXR1cmVUeXBlOjpFZDI1NTE5OiB7Cist ICAgICAgQVNTSUdOX09SX1JFVFVSTihhdXRvIHB1YmxpY19rZXksCistICAgICAgICAgICAgICAg ICAgICAgICBFZDI1NTE5UHVibGljS2V5OjpDcmVhdGUoZW50cnkucHVibGljX2tleS50b19zcGFu KCkpKTsKKy0gICAgICBBU1NJR05fT1JfUkVUVVJOKGF1dG8gc2lnbmF0dXJlLAorLSAgICAgICAg ICAgICAgICAgICAgICAgRWQyNTUxOVNpZ25hdHVyZTo6Q3JlYXRlKGVudHJ5LnNpZ25hdHVyZS50 b19zcGFuKCkpKTsKKy0gICAgICBwYXJzZWRfc2lnLT5zaWduYXR1cmVfaW5mbyA9IG1vam9tOjpT aWduYXR1cmVJbmZvOjpOZXdFZDI1NTE5KAorLSAgICAgICAgICBtb2pvbTo6U2lnbmF0dXJlSW5m b0VkMjU1MTk6Ok5ldyhwdWJsaWNfa2V5LCBzaWduYXR1cmUpKTsKKy0gICAgICBicmVhazsKKy0g ICAgfQorLSAgICBjYXNlIFNpZ25hdHVyZVR5cGU6OkVjZHNhUDI1NlNIQTI1NjogeworLSAgICAg IEFTU0lHTl9PUl9SRVRVUk4oYXV0byBwdWJsaWNfa2V5LAorLSAgICAgICAgICAgICAgICAgICAg ICAgRWNkc2FQMjU2UHVibGljS2V5OjpDcmVhdGUoZW50cnkucHVibGljX2tleS50b19zcGFuKCkp KTsKKy0gICAgICBBU1NJR05fT1JfUkVUVVJOKGF1dG8gc2lnbmF0dXJlLCBFY2RzYVAyNTZTSEEy NTZTaWduYXR1cmU6OkNyZWF0ZSgKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgZW50cnkuc2lnbmF0dXJlLnRvX3NwYW4oKSkpOworLSAgICAgIHBhcnNlZF9zaWct PnNpZ25hdHVyZV9pbmZvID0gbW9qb206OlNpZ25hdHVyZUluZm86Ok5ld0VjZHNhUDI1NlNoYTI1 NigKKy0gICAgICAgICAgbW9qb206OlNpZ25hdHVyZUluZm9FY2RzYVAyNTZTSEEyNTY6Ok5ldyhw dWJsaWNfa2V5LCBzaWduYXR1cmUpKTsKKy0gICAgICBicmVhazsKKy0gICAgfQorLSAgICBjYXNl IFNpZ25hdHVyZVR5cGU6OlVua25vd246IHsKKy0gICAgICBwYXJzZWRfc2lnLT5zaWduYXR1cmVf aW5mbyA9CistICAgICAgICAgIG1vam9tOjpTaWduYXR1cmVJbmZvOjpOZXdVbmtub3duKG1vam9t OjpTaWduYXR1cmVJbmZvVW5rbm93bjo6TmV3KCkpOworLSAgICAgIGJyZWFrOworLSAgICB9Cist ICB9CistCistICBwYXJzZWRfc2lnLT5hdHRyaWJ1dGVzX2Nib3IgPQorLSAgICAgIEJpbmFyeURh dGEoZW50cnkuYXR0cmlidXRlc19jYm9yLmJlZ2luKCksIGVudHJ5LmF0dHJpYnV0ZXNfY2Jvci5l bmQoKSk7CistCistICByZXR1cm4gcGFyc2VkX3NpZzsKIC19CiAtCistfSAgLy8gbmFtZXNwYWNl CistCisgSW50ZWdyaXR5QmxvY2tQYXJzZXI6OkludGVncml0eUJsb2NrUGFyc2VyKAorICAgICBt b2pvbTo6QnVuZGxlRGF0YVNvdXJjZSYgZGF0YV9zb3VyY2UsCisgICAgIFdlYkJ1bmRsZVBhcnNl cjo6UGFyc2VJbnRlZ3JpdHlCbG9ja0NhbGxiYWNrIGNhbGxiYWNrKQorQEAgLTEwMywzNyArNjAs MTAzIEBAIHZvaWQgSW50ZWdyaXR5QmxvY2tQYXJzZXI6Ok9uSW50ZWdyaXR5QmwKKyAgICAgUnVu RXJyb3JDYWxsYmFjaygiRXJyb3IgcmVhZGluZyB0aGUgaW50ZWdyaXR5IGJsb2NrLiIpOworICAg ICByZXR1cm47CisgICB9CisrICAvLyBUaGlzIHN0cnVjdHVyZSBpcyBidWlsdCBkdXJpbmcgcGFy c2luZyBhbmQgcmV0dXJuZWQgYnkgdGhlIGZpbmFsIGNhbGxiYWNrCisrICBtb2pvbTo6QnVuZGxl SW50ZWdyaXR5QmxvY2tQdHIgaW50ZWdyaXR5X2Jsb2NrID0KKysgICAgICBtb2pvbTo6QnVuZGxl SW50ZWdyaXR5QmxvY2s6Ok5ldygpOworKworKyAgc2l6ZV90IGNvbnN1bWVkX2J5dGVzID0gMDsK KysgIGNib3I6OlJlYWRlcjo6RGVjb2RlckVycm9yIGVycm9yOworKyAgY2Jvcjo6UmVhZGVyOjpD b25maWcgY29uZmlnOworKyAgY29uZmlnLm51bV9ieXRlc19jb25zdW1lZCA9ICZjb25zdW1lZF9i eXRlczsKKysgIGNvbmZpZy5lcnJvcl9jb2RlX291dCA9ICZlcnJvcjsKKysKKysgIC8vIFdoZW4g Y29uZmlnIGBieXRlc19jb25zdW1lZGAgYXJlIGFzc2lnbmVkIHRoZSBDQk9SIHBhcnNlciByZWFk cyBvbmx5IHRvIHRoZQorKyAgLy8gZW5kIG9mIGEgc3RydWN0dXJlLiBJdCBwYXJzZXMgb25seSBJ bnRlZ3JpdHkgQmxvY2sgZXZlbiBpZiBXZWIgQnVuZGxlIHBhcnQKKysgIC8vIHN0YXJ0cyBqdXN0 IGFmdGVyLgorKyAgc3RkOjpvcHRpb25hbDxjYm9yOjpWYWx1ZT4gdmFsdWUgPSBjYm9yOjpSZWFk ZXI6OlJlYWQoKmRhdGEsIGNvbmZpZyk7CisrICBpZiAoIXZhbHVlKSB7CisrICAgIFJ1bkVycm9y Q2FsbGJhY2soIkVycm9yIHBhcnNpbmcgaW50ZWdyaXR5IGJsb2NrIGFzIENCT1I6ICIgKworKyAg ICAgICAgICAgICAgICAgICAgIHN0ZDo6c3RyaW5nKGNib3I6OlJlYWRlcjo6RXJyb3JDb2RlVG9T dHJpbmcoZXJyb3IpKSk7CisrICAgIHJldHVybjsKKysgIH0KKysgIGludGVncml0eV9ibG9jay0+ c2l6ZSA9IGNvbnN1bWVkX2J5dGVzOworKworKyAgaWYgKCF2YWx1ZS0+aXNfYXJyYXkoKSkgewor KyAgICBSdW5FcnJvckNhbGxiYWNrKCJJbnRlZ3JpdHkgYmxvY2sgaXMgbm90IGEgQ0JPUiBhcnJh eS4iKTsKKysgICAgcmV0dXJuOworKyAgfQorIAorLSAgY29uc3QgYXV0byBwYXJzZV9yZXMgPSBw YXJzZV9pbnRlZ3JpdHlfYmxvY2soKmRhdGEpOworLSAgaWYgKCFwYXJzZV9yZXMuaGFzX3ZhbHVl KCkpIHsKKy0gICAgY29uc3QgYXV0byYgZXJyb3IgPSBwYXJzZV9yZXMuZXJyb3IoKTsKKy0gICAg UnVuRXJyb3JDYWxsYmFjayhzdGQ6OnN0cmluZyhlcnJvci5tZXNzYWdlLmFzX3N0cigpKSwKKy0g ICAgICAgICAgICAgICAgICAgICBlcnJvci5pc192ZXJzaW9uX2Vycm9yCistICAgICAgICAgICAg ICAgICAgICAgICAgID8gbW9qb206OkJ1bmRsZVBhcnNlRXJyb3JUeXBlOjprVmVyc2lvbkVycm9y CistICAgICAgICAgICAgICAgICAgICAgICAgIDogbW9qb206OkJ1bmRsZVBhcnNlRXJyb3JUeXBl OjprRm9ybWF0RXJyb3IpOworKyAgY29uc3QgY2Jvcjo6VmFsdWU6OkFycmF5VmFsdWUmIHRvcF9h cnJheSA9IHZhbHVlLT5HZXRBcnJheSgpOworKyAgaWYgKHRvcF9hcnJheS5zaXplKCkgIT0ga0lu dGVncml0eUJsb2NrVjJUb3BMZXZlbEFycmF5TGVuZ3RoKSB7CisrICAgIFJ1bkVycm9yQ2FsbGJh Y2soYmFzZTo6U3RyaW5nUHJpbnRmKAorKyAgICAgICAgIkludmFsaWQgaW50ZWdyaXR5IGJsb2Nr IGFycmF5IGxlbmd0aDogZXhwZWN0ZWQgJXUsIGdvdCAlenUuIiwKKysgICAgICAgIGtJbnRlZ3Jp dHlCbG9ja1YyVG9wTGV2ZWxBcnJheUxlbmd0aCwgdG9wX2FycmF5LnNpemUoKSkpOworICAgICBy ZXR1cm47CisgICB9CisgCistICBjb25zdCBhdXRvJiBwYXJzZWRfaWIgPSAqcGFyc2VfcmVzOwor LSAgYXV0byBpbnRlZ3JpdHlfYmxvY2sgPSBtb2pvbTo6QnVuZGxlSW50ZWdyaXR5QmxvY2s6Ok5l dygpOworLSAgaW50ZWdyaXR5X2Jsb2NrLT5zaXplID0gcGFyc2VkX2liLnNpemU7CistCistICBj b25zdCBzdGQ6OnN0cmluZ192aWV3IHdlYl9idW5kbGVfaWRfc3RyID0KKy0gICAgICBwYXJzZWRf aWIud2ViX2J1bmRsZV9pZC50b19zdHJpbmdfdmlldygpOworLSAgUkVUVVJOX0lGX0VSUk9SKAor LSAgICAgIFNpZ25lZFdlYkJ1bmRsZUlkOjpDcmVhdGUod2ViX2J1bmRsZV9pZF9zdHIpLAorLSAg ICAgIFsmXShzdGQ6OnN0cmluZyBlcnJvcikgeyBSdW5FcnJvckNhbGxiYWNrKHN0ZDo6bW92ZShl cnJvcikpOyB9KTsKKy0KKy0gIGludGVncml0eV9ibG9jay0+YXR0cmlidXRlcyA9CistICAgICAg SW50ZWdyaXR5QmxvY2tBdHRyaWJ1dGVzKHN0ZDo6c3RyaW5nKHdlYl9idW5kbGVfaWRfc3RyKSwK Ky0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQmluYXJ5RGF0YShwYXJzZWRfaWIuYXR0 cmlidXRlc19jYm9yLmJlZ2luKCksCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgcGFyc2VkX2liLmF0dHJpYnV0ZXNfY2Jvci5lbmQoKSkpOworKyAgLy8gMS4gTWFn aWMgYnl0ZXMKKysgIGlmICghdG9wX2FycmF5WzBdLmlzX2J5dGVzdHJpbmcoKSB8fAorKyAgICAg ICFzdGQ6OnJhbmdlczo6ZXF1YWwodG9wX2FycmF5WzBdLkdldEJ5dGVzdHJpbmcoKSwKKysgICAg ICAgICAgICAgICAgICAgICAgICAgIGtJbnRlZ3JpdHlCbG9ja01hZ2ljQnl0ZXMpKSB7CisrICAg IFJ1bkVycm9yQ2FsbGJhY2soIlVuZXhwZWN0ZWQgbWFnaWMgYnl0ZXMuIik7CisrICAgIHJldHVy bjsKKysgIH0KKysKKysgIC8vIDIuIFZlcnNpb24KKysgIGlmICghdG9wX2FycmF5WzFdLmlzX2J5 dGVzdHJpbmcoKSB8fAorKyAgICAgICFzdGQ6OnJhbmdlczo6ZXF1YWwodG9wX2FycmF5WzFdLkdl dEJ5dGVzdHJpbmcoKSwKKysgICAgICAgICAgICAgICAgICAgICAgICAgIGtJbnRlZ3JpdHlCbG9j a1YyVmVyc2lvbkJ5dGVzKSkgeworKyAgICBSdW5FcnJvckNhbGxiYWNrKCJVbmV4cGVjdGVkIHZl cnNpb24gYnl0ZXMuIiwKKysgICAgICAgICAgICAgICAgICAgICBtb2pvbTo6QnVuZGxlUGFyc2VF cnJvclR5cGU6OmtWZXJzaW9uRXJyb3IpOworKyAgICByZXR1cm47CisrICB9CisgCistICBmb3Ig KGNvbnN0IGF1dG8mIGVudHJ5IDogcGFyc2VkX2liLnNpZ25hdHVyZV9zdGFjaykgeworKyAgLy8g My4gQXR0cmlidXRlcworKyAgaWYgKCF0b3BfYXJyYXlbMl0uaXNfbWFwKCkpIHsKKysgICAgUnVu RXJyb3JDYWxsYmFjaygiSW50ZWdyaXR5IGJsb2NrIGF0dHJpYnV0ZXMgbXVzdCBiZSBhIG1hcC4i KTsKKysgICAgcmV0dXJuOworKyAgfQorKyAgY29uc3QgY2Jvcjo6VmFsdWU6Ok1hcFZhbHVlJiBh dHRyaWJ1dGVzX21hcCA9IHRvcF9hcnJheVsyXS5HZXRNYXAoKTsKKysgIGNvbnN0IGNib3I6OlZh bHVlKiB3ZWJfYnVuZGxlX2lkID0KKysgICAgICBiYXNlOjpGaW5kT3JOdWxsKGF0dHJpYnV0ZXNf bWFwLCBjYm9yOjpWYWx1ZShrV2ViQnVuZGxlSWRBdHRyaWJ1dGVOYW1lKSk7CisrICBpZiAoIXdl Yl9idW5kbGVfaWQgfHwgIXdlYl9idW5kbGVfaWQtPmlzX3N0cmluZygpKSB7CisrICAgIFJ1bkVy cm9yQ2FsbGJhY2soCisrICAgICAgICAiYHdlYkJ1bmRsZUlkYCBpbnRlZ3JpdHkgYmxvY2sgYXR0 cmlidXRlIGlzIG1pc3Npbmcgb3IgbWFsZm9ybWVkLiIpOworKyAgICByZXR1cm47CisrICB9Cisr CisrICAvLyBDaGVjayBpZiB3ZWJfYnVuZGxlX2lkIGlzIGNvcnJlY3QKKysgIFJFVFVSTl9JRl9F UlJPUihTaWduZWRXZWJCdW5kbGVJZDo6Q3JlYXRlKHdlYl9idW5kbGVfaWQtPkdldFN0cmluZygp KSwKKysgICAgICAgICAgICAgICAgICBbJl0oY29uc3Qgc3RkOjpzdHJpbmcmIGVycm9yKSB7IFJ1 bkVycm9yQ2FsbGJhY2soZXJyb3IpOyB9KTsKKysKKysgIEJpbmFyeURhdGEgYXR0cmlidXRlc19j Ym9yID0gKmNib3I6OldyaXRlcjo6V3JpdGUodG9wX2FycmF5WzJdKTsKKysgIGludGVncml0eV9i bG9jay0+YXR0cmlidXRlcyA9IEludGVncml0eUJsb2NrQXR0cmlidXRlcygKKysgICAgICB3ZWJf YnVuZGxlX2lkLT5HZXRTdHJpbmcoKSwgc3RkOjptb3ZlKGF0dHJpYnV0ZXNfY2JvcikpOworKwor KyAgLy8gNC4gU2lnbmF0dXJlIFN0YWNrCisrICBpZiAoIXRvcF9hcnJheVszXS5pc19hcnJheSgp KSB7CisrICAgIFJ1bkVycm9yQ2FsbGJhY2soIlNpZ25hdHVyZSBzdGFjayBtdXN0IGJlIGFuIGFy cmF5LiIpOworKyAgICByZXR1cm47CisrICB9CisrICBjb25zdCBjYm9yOjpWYWx1ZTo6QXJyYXlW YWx1ZSYgc2lnbmF0dXJlcyA9IHRvcF9hcnJheVszXS5HZXRBcnJheSgpOworKyAgaWYgKHNpZ25h dHVyZXMuZW1wdHkoKSkgeworKyAgICBSdW5FcnJvckNhbGxiYWNrKAorKyAgICAgICAgIlRoZSBz aWduYXR1cmUgc3RhY2sgbXVzdCBjb250YWluIGF0IGxlYXN0IG9uZSBzaWduYXR1cmUuIik7Cisr ICAgIHJldHVybjsKKysgIH0KKysKKysgIGZvciAoY29uc3QgYXV0byYgc2lnbmF0dXJlX2luZm9f cmF3IDogc2lnbmF0dXJlcykgeworICAgICBBU1NJR05fT1JfUkVUVVJOKAorLSAgICAgICAgYXV0 byBwYXJzZWRfc2lnLCBDcmVhdGVTaWduYXR1cmVTdGFja0VudHJ5KGVudHJ5KSwKKy0gICAgICAg IFsmXShzdGQ6OnN0cmluZyBlcnJvcikgeyBSdW5FcnJvckNhbGxiYWNrKHN0ZDo6bW92ZShlcnJv cikpOyB9KTsKKy0gICAgaW50ZWdyaXR5X2Jsb2NrLT5zaWduYXR1cmVfc3RhY2sucHVzaF9iYWNr KHN0ZDo6bW92ZShwYXJzZWRfc2lnKSk7CisrICAgICAgICBhdXRvIHBhcnNlZF9zaWduYXR1cmVf aW5mbywgUGFyc2VTaWduYXR1cmVJbmZvKHNpZ25hdHVyZV9pbmZvX3JhdyksCisrICAgICAgICBb Jl0oY29uc3Qgc3RkOjpzdHJpbmcmIGVycm9yKSB7IHRoaXMtPlJ1bkVycm9yQ2FsbGJhY2soZXJy b3IpOyB9KTsKKysKKysgICAgaWYgKGludGVncml0eV9ibG9jay0+c2lnbmF0dXJlX3N0YWNrLmVt cHR5KCkgJiYKKysgICAgICAgIHBhcnNlZF9zaWduYXR1cmVfaW5mby0+c2lnbmF0dXJlX2luZm8t PmlzX3Vua25vd24oKSkgeworKyAgICAgIFJ1bkVycm9yQ2FsbGJhY2soIlVua25vd24gY2lwaGVy IHR5cGUgb2YgdGhlIGZpcnN0IHNpZ25hdHVyZS4iKTsKKysgICAgICByZXR1cm47CisrICAgIH0K KysgICAgaW50ZWdyaXR5X2Jsb2NrLT5zaWduYXR1cmVfc3RhY2sucHVzaF9iYWNrKAorKyAgICAg ICAgc3RkOjptb3ZlKHBhcnNlZF9zaWduYXR1cmVfaW5mbykpOworICAgfQorIAorICAgc3RkOjpt b3ZlKGNvbXBsZXRlX2NhbGxiYWNrXykKK0BAIC0xNDEsMTMgKzE2NCw3NCBAQCB2b2lkIEludGVn cml0eUJsb2NrUGFyc2VyOjpPbkludGVncml0eUJsCisgICAgICAgICAgICAgICAgICAgICAgICAg ICBzdGQ6Om1vdmUoaW50ZWdyaXR5X2Jsb2NrKSwgbnVsbHB0cikpOworIH0KKyAKKytiYXNlOjpl eHBlY3RlZDxtb2pvbTo6QnVuZGxlSW50ZWdyaXR5QmxvY2tTaWduYXR1cmVTdGFja0VudHJ5UHRy LCBzdGQ6OnN0cmluZz4KKytJbnRlZ3JpdHlCbG9ja1BhcnNlcjo6UGFyc2VTaWduYXR1cmVJbmZv KAorKyAgICBjb25zdCBjYm9yOjpWYWx1ZSYgc2lnbmF0dXJlX2luZm9fcmF3KSB7CisrICBpZiAo IXNpZ25hdHVyZV9pbmZvX3Jhdy5pc19hcnJheSgpIHx8CisrICAgICAgc2lnbmF0dXJlX2luZm9f cmF3LkdldEFycmF5KCkuc2l6ZSgpICE9IDIpIHsKKysgICAgcmV0dXJuIGJhc2U6OnVuZXhwZWN0 ZWQoCisrICAgICAgICAiRWFjaCBzaWduYXR1cmUgc3RhY2sgZW50cnkgbXVzdCBjb250YWluIGV4 YWN0bHkgdHdvIGVsZW1lbnRzLiIpOworKyAgfQorKworKyAgY29uc3QgY2Jvcjo6VmFsdWU6OkFy cmF5VmFsdWUmIHNpZ25hdHVyZV9pbmZvX2FycmF5ID0KKysgICAgICBzaWduYXR1cmVfaW5mb19y YXcuR2V0QXJyYXkoKTsKKysgIGlmICghc2lnbmF0dXJlX2luZm9fYXJyYXlbMF0uaXNfbWFwKCkg fHwKKysgICAgICAhc2lnbmF0dXJlX2luZm9fYXJyYXlbMV0uaXNfYnl0ZXN0cmluZygpKSB7Cisr ICAgIHJldHVybiBiYXNlOjp1bmV4cGVjdGVkKCJNYWxmb3JtZWQgc2lnbmF0dXJlIHN0YWNrIGVu dHJ5LiIpOworKyAgfQorKworKyAgbW9qb206OkJ1bmRsZUludGVncml0eUJsb2NrU2lnbmF0dXJl U3RhY2tFbnRyeVB0ciBwYXJzZWRfc2lnbmF0dXJlX2luZm8gPQorKyAgICAgIG1vam9tOjpCdW5k bGVJbnRlZ3JpdHlCbG9ja1NpZ25hdHVyZVN0YWNrRW50cnk6Ok5ldygpOworKyAgcGFyc2VkX3Np Z25hdHVyZV9pbmZvLT5hdHRyaWJ1dGVzX2Nib3IgPQorKyAgICAgICpjYm9yOjpXcml0ZXI6Oldy aXRlKHNpZ25hdHVyZV9pbmZvX2FycmF5WzBdKTsKKysKKysgIGNvbnN0IGNib3I6OlZhbHVlOjpN YXBWYWx1ZSYgc2lnbmF0dXJlX2F0dHJpYnV0ZXMgPQorKyAgICAgIHNpZ25hdHVyZV9pbmZvX2Fy cmF5WzBdLkdldE1hcCgpOworKyAgY29uc3QgQmluYXJ5RGF0YSYgc2lnbmF0dXJlX2J5dGVzID0g c2lnbmF0dXJlX2luZm9fYXJyYXlbMV0uR2V0Qnl0ZXN0cmluZygpOworKworKyAgY29uc3QgY2Jv cjo6VmFsdWUqIGVkMjU1MTlfa2V5ID0gYmFzZTo6RmluZE9yTnVsbCgKKysgICAgICBzaWduYXR1 cmVfYXR0cmlidXRlcywgY2Jvcjo6VmFsdWUoa0VkMjU1MTlQdWJsaWNLZXlBdHRyaWJ1dGVOYW1l KSk7CisrICBjb25zdCBjYm9yOjpWYWx1ZSogZWNkc2Ffa2V5ID0gYmFzZTo6RmluZE9yTnVsbCgK KysgICAgICBzaWduYXR1cmVfYXR0cmlidXRlcywgY2Jvcjo6VmFsdWUoa0VjZHNhUDI1NlB1Ymxp Y0tleUF0dHJpYnV0ZU5hbWUpKTsKKysKKysgIGlmIChlZDI1NTE5X2tleSAmJiBlY2RzYV9rZXkp IHsKKysgICAgcmV0dXJuIGJhc2U6OnVuZXhwZWN0ZWQoIk11bHRpcGxlIGtleSB0eXBlcyBmb3Ig b25lIHNpZ25hdHVyZS4iKTsKKysgIH0gZWxzZSBpZiAoZWQyNTUxOV9rZXkgJiYgIWVkMjU1MTlf a2V5LT5pc19ieXRlc3RyaW5nKCkpIHsKKysgICAgcmV0dXJuIGJhc2U6OnVuZXhwZWN0ZWQoIklu dmFsaWQgRUQyNTUxOSBrZXkuIik7CisrICB9IGVsc2UgaWYgKGVjZHNhX2tleSAmJiAhZWNkc2Ff a2V5LT5pc19ieXRlc3RyaW5nKCkpIHsKKysgICAgcmV0dXJuIGJhc2U6OnVuZXhwZWN0ZWQoIklu dmFsaWQgRUNEU0Ega2V5LiIpOworKworKyAgfSBlbHNlIGlmIChlZDI1NTE5X2tleSAmJiBlZDI1 NTE5X2tleS0+aXNfYnl0ZXN0cmluZygpKSB7CisrICAgIEFTU0lHTl9PUl9SRVRVUk4oYXV0byBw dWJsaWNfa2V5LAorKyAgICAgICAgICAgICAgICAgICAgIEVkMjU1MTlQdWJsaWNLZXk6OkNyZWF0 ZShlZDI1NTE5X2tleS0+R2V0Qnl0ZXN0cmluZygpKSk7CisrICAgIEFTU0lHTl9PUl9SRVRVUk4o YXV0byBzaWduYXR1cmUsIEVkMjU1MTlTaWduYXR1cmU6OkNyZWF0ZShzaWduYXR1cmVfYnl0ZXMp KTsKKysgICAgcGFyc2VkX3NpZ25hdHVyZV9pbmZvLT5zaWduYXR1cmVfaW5mbyA9IG1vam9tOjpT aWduYXR1cmVJbmZvOjpOZXdFZDI1NTE5KAorKyAgICAgICAgbW9qb206OlNpZ25hdHVyZUluZm9F ZDI1NTE5OjpOZXcocHVibGljX2tleSwgc2lnbmF0dXJlKSk7CisrCisrICB9IGVsc2UgaWYgKGVj ZHNhX2tleSAmJiBlY2RzYV9rZXktPmlzX2J5dGVzdHJpbmcoKSkgeworKyAgICBBU1NJR05fT1Jf UkVUVVJOKGF1dG8gcHVibGljX2tleSwKKysgICAgICAgICAgICAgICAgICAgICBFY2RzYVAyNTZQ dWJsaWNLZXk6OkNyZWF0ZShlY2RzYV9rZXktPkdldEJ5dGVzdHJpbmcoKSkpOworKyAgICBBU1NJ R05fT1JfUkVUVVJOKGF1dG8gc2lnbmF0dXJlLAorKyAgICAgICAgICAgICAgICAgICAgIEVjZHNh UDI1NlNIQTI1NlNpZ25hdHVyZTo6Q3JlYXRlKHNpZ25hdHVyZV9ieXRlcykpOworKyAgICBwYXJz ZWRfc2lnbmF0dXJlX2luZm8tPnNpZ25hdHVyZV9pbmZvID0KKysgICAgICAgIG1vam9tOjpTaWdu YXR1cmVJbmZvOjpOZXdFY2RzYVAyNTZTaGEyNTYoCisrICAgICAgICAgICAgbW9qb206OlNpZ25h dHVyZUluZm9FY2RzYVAyNTZTSEEyNTY6Ok5ldyhwdWJsaWNfa2V5LCBzaWduYXR1cmUpKTsKKysK KysgIH0gZWxzZSB7CisrICAgIHBhcnNlZF9zaWduYXR1cmVfaW5mby0+c2lnbmF0dXJlX2luZm8g PQorKyAgICAgICAgbW9qb206OlNpZ25hdHVyZUluZm86Ok5ld1Vua25vd24obW9qb206OlNpZ25h dHVyZUluZm9Vbmtub3duOjpOZXcoKSk7CisrICB9CisrCisrICByZXR1cm4gcGFyc2VkX3NpZ25h dHVyZV9pbmZvOworK30KKysKKyB2b2lkIEludGVncml0eUJsb2NrUGFyc2VyOjpSdW5FcnJvckNh bGxiYWNrKAorLSAgICBzdGQ6OnN0cmluZyBtZXNzYWdlLAorKyAgICBjb25zdCBzdGQ6OnN0cmlu ZyYgbWVzc2FnZSwKKyAgICAgbW9qb206OkJ1bmRsZVBhcnNlRXJyb3JUeXBlIGVycm9yX3R5cGUp IHsKKyAgIHN0ZDo6bW92ZShjb21wbGV0ZV9jYWxsYmFja18pCistICAgICAgLlJ1bihiYXNlOjpC aW5kT25jZShzdGQ6Om1vdmUocmVzdWx0X2NhbGxiYWNrXyksIG51bGxwdHIsCistICAgICAgICAg ICAgICAgICAgICAgICAgICBtb2pvbTo6QnVuZGxlSW50ZWdyaXR5QmxvY2tQYXJzZUVycm9yOjpO ZXcoCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3JfdHlwZSwgc3RkOjptb3Zl KG1lc3NhZ2UpKSkpOworKyAgICAgIC5SdW4oYmFzZTo6QmluZE9uY2UoCisrICAgICAgICAgIHN0 ZDo6bW92ZShyZXN1bHRfY2FsbGJhY2tfKSwgbnVsbHB0ciwKKysgICAgICAgICAgbW9qb206OkJ1 bmRsZUludGVncml0eUJsb2NrUGFyc2VFcnJvcjo6TmV3KGVycm9yX3R5cGUsIG1lc3NhZ2UpKSk7 CisgfQorIAorIH0gIC8vIG5hbWVzcGFjZSB3ZWJfcGFja2FnZQorLS0tIGEvY29tcG9uZW50cy93 ZWJfcGFja2FnZS9zaWduZWRfd2ViX2J1bmRsZXMvaW50ZWdyaXR5X2Jsb2NrX3BhcnNlci5oCisr KysgYi9jb21wb25lbnRzL3dlYl9wYWNrYWdlL3NpZ25lZF93ZWJfYnVuZGxlcy9pbnRlZ3JpdHlf YmxvY2tfcGFyc2VyLmgKK0BAIC01LDEzICs1LDggQEAKKyAjaWZuZGVmIENPTVBPTkVOVFNfV0VC X1BBQ0tBR0VfU0lHTkVEX1dFQl9CVU5ETEVTX0lOVEVHUklUWV9CTE9DS19QQVJTRVJfSF8KKyAj ZGVmaW5lIENPTVBPTkVOVFNfV0VCX1BBQ0tBR0VfU0lHTkVEX1dFQl9CVU5ETEVTX0lOVEVHUklU WV9CTE9DS19QQVJTRVJfSF8KKyAKKy0jaW5jbHVkZSA8b3B0aW9uYWw+CistI2luY2x1ZGUgPHN0 cmluZz4KKy0KKy0jaW5jbHVkZSAiYmFzZS9jb21waWxlcl9zcGVjaWZpYy5oIgorLSNpbmNsdWRl ICJiYXNlL21lbW9yeS9yYXdfcmVmLmgiCistI2luY2x1ZGUgImJhc2UvbWVtb3J5L3dlYWtfcHRy LmgiCisgI2luY2x1ZGUgImNvbXBvbmVudHMvd2ViX3BhY2thZ2UvbW9qb20vd2ViX2J1bmRsZV9w YXJzZXIubW9qb20tZm9yd2FyZC5oIgorKyNpbmNsdWRlICJjb21wb25lbnRzL3dlYl9wYWNrYWdl L3NpZ25lZF93ZWJfYnVuZGxlcy9pbnRlZ3JpdHlfYmxvY2tfYXR0cmlidXRlcy5oIgorICNpbmNs dWRlICJjb21wb25lbnRzL3dlYl9wYWNrYWdlL3NpZ25lZF93ZWJfYnVuZGxlcy90eXBlcy5oIgor ICNpbmNsdWRlICJjb21wb25lbnRzL3dlYl9wYWNrYWdlL3dlYl9idW5kbGVfcGFyc2VyLmgiCisg CitAQCAtMjAsNyArMTUsNyBAQCBuYW1lc3BhY2Ugd2ViX3BhY2thZ2UgeworIGNsYXNzIEludGVn cml0eUJsb2NrUGFyc2VyIDogcHVibGljIFdlYkJ1bmRsZVBhcnNlcjo6V2ViQnVuZGxlU2VjdGlv blBhcnNlciB7CisgIHB1YmxpYzoKKyAgIGV4cGxpY2l0IEludGVncml0eUJsb2NrUGFyc2VyKAor LSAgICAgIG1vam9tOjpCdW5kbGVEYXRhU291cmNlJiBkYXRhX3NvdXJjZSBMSUZFVElNRV9CT1VO RCwKKysgICAgICBtb2pvbTo6QnVuZGxlRGF0YVNvdXJjZSYgZGF0YV9zb3VyY2UsCisgICAgICAg V2ViQnVuZGxlUGFyc2VyOjpQYXJzZUludGVncml0eUJsb2NrQ2FsbGJhY2sgY2FsbGJhY2spOwor IAorICAgSW50ZWdyaXR5QmxvY2tQYXJzZXIoY29uc3QgSW50ZWdyaXR5QmxvY2tQYXJzZXImKSA9 IGRlbGV0ZTsKK0BAIC0zNSw3ICszMCwxMCBAQCBjbGFzcyBJbnRlZ3JpdHlCbG9ja1BhcnNlciA6 IHB1YmxpYyBXZWJCCisgIHByaXZhdGU6CisgICB2b2lkIE9uSW50ZWdyaXR5QmxvY2tSZWFkKGNv bnN0IHN0ZDo6b3B0aW9uYWw8QmluYXJ5RGF0YT4mIGRhdGEpOworIAorLSAgdm9pZCBSdW5FcnJv ckNhbGxiYWNrKHN0ZDo6c3RyaW5nIG1lc3NhZ2UsCisrICBiYXNlOjpleHBlY3RlZDxtb2pvbTo6 QnVuZGxlSW50ZWdyaXR5QmxvY2tTaWduYXR1cmVTdGFja0VudHJ5UHRyLCBzdGQ6OnN0cmluZz4K KysgIFBhcnNlU2lnbmF0dXJlSW5mbyhjb25zdCBjYm9yOjpWYWx1ZSYgYXR0cmlidXRlc19tYXAp OworKworKyAgdm9pZCBSdW5FcnJvckNhbGxiYWNrKGNvbnN0IHN0ZDo6c3RyaW5nJiBtZXNzYWdl LAorICAgICAgICAgICAgICAgICAgICAgICAgIG1vam9tOjpCdW5kbGVQYXJzZUVycm9yVHlwZSBl cnJvcl90eXBlID0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbW9qb206OkJ1bmRsZVBh cnNlRXJyb3JUeXBlOjprRm9ybWF0RXJyb3IpOworIAorLS0tIGEvY29tcG9uZW50cy93ZWJfcGFj a2FnZS9zaWduZWRfd2ViX2J1bmRsZXMvcnVzdC9CVUlMRC5nbgorKysrIGIvY29tcG9uZW50cy93 ZWJfcGFja2FnZS9zaWduZWRfd2ViX2J1bmRsZXMvcnVzdC9CVUlMRC5nbgorQEAgLTEwLDcgKzEw LDYgQEAgcnVzdF9zdGF0aWNfbGlicmFyeSgic2lnbmVkX3dlYl9idW5kbGVzXworICAgc291cmNl cyA9IFsKKyAgICAgImNvbnN0YW50cy5ycyIsCisgICAgICJpbnRlZ3JpdHlfYmxvY2sucnMiLAor LSAgICAic2lnbmF0dXJlX3ZlcmlmaWVyLnJzIiwKKyAgICAgInR5cGVzLnJzIiwKKyAgICAgY3Jh dGVfcm9vdCwKKyAgIF0KKy0tLSBhL2NvbXBvbmVudHMvd2ViX3BhY2thZ2Uvc2lnbmVkX3dlYl9i dW5kbGVzL3NpZ25lZF93ZWJfYnVuZGxlX3NpZ25hdHVyZV92ZXJpZmllci5jYworKysrIGIvY29t cG9uZW50cy93ZWJfcGFja2FnZS9zaWduZWRfd2ViX2J1bmRsZXMvc2lnbmVkX3dlYl9idW5kbGVf c2lnbmF0dXJlX3ZlcmlmaWVyLmNjCitAQCAtMjAsMTQgKzIwLDE3IEBACisgI2luY2x1ZGUgImJh c2UvdGFzay90aHJlYWRfcG9vbC5oIgorICNpbmNsdWRlICJiYXNlL3R5cGVzL2V4cGVjdGVkLmgi CisgI2luY2x1ZGUgImJhc2UvdHlwZXMvZXhwZWN0ZWRfbWFjcm9zLmgiCisrI2luY2x1ZGUgImNv bXBvbmVudHMvY2Jvci92YWx1ZXMuaCIKKysjaW5jbHVkZSAiY29tcG9uZW50cy9jYm9yL3dyaXRl ci5oIgorKyNpbmNsdWRlICJjb21wb25lbnRzL3dlYl9wYWNrYWdlL3NpZ25lZF93ZWJfYnVuZGxl cy9jb25zdGFudHMuaCIKKyAjaW5jbHVkZSAiY29tcG9uZW50cy93ZWJfcGFja2FnZS9zaWduZWRf d2ViX2J1bmRsZXMvaWRlbnRpdHlfdmFsaWRhdG9yLmgiCisgI2luY2x1ZGUgImNvbXBvbmVudHMv d2ViX3BhY2thZ2Uvc2lnbmVkX3dlYl9idW5kbGVzL2ludGVncml0eV9ibG9ja19wYXJzZXIuaCIK Ky0jaW5jbHVkZSAiY29tcG9uZW50cy93ZWJfcGFja2FnZS9zaWduZWRfd2ViX2J1bmRsZXMvcnVz dC9zaWduZWRfd2ViX2J1bmRsZXNfcnVzdC5oIgorICNpbmNsdWRlICJjb21wb25lbnRzL3dlYl9w YWNrYWdlL3NpZ25lZF93ZWJfYnVuZGxlcy9zaWduZWRfd2ViX2J1bmRsZV9pZC5oIgorICNpbmNs dWRlICJjb21wb25lbnRzL3dlYl9wYWNrYWdlL3NpZ25lZF93ZWJfYnVuZGxlcy9zaWduZWRfd2Vi X2J1bmRsZV9pbnRlZ3JpdHlfYmxvY2suaCIKKyAjaW5jbHVkZSAiY29tcG9uZW50cy93ZWJfcGFj a2FnZS9zaWduZWRfd2ViX2J1bmRsZXMvc2lnbmVkX3dlYl9idW5kbGVfc2lnbmF0dXJlX3N0YWNr LmgiCisgI2luY2x1ZGUgImNvbXBvbmVudHMvd2ViX3BhY2thZ2Uvc2lnbmVkX3dlYl9idW5kbGVz L3NpZ25lZF93ZWJfYnVuZGxlX3NpZ25hdHVyZV9zdGFja19lbnRyeS5oIgorICNpbmNsdWRlICJj b21wb25lbnRzL3dlYl9wYWNrYWdlL3NpZ25lZF93ZWJfYnVuZGxlcy9zaWduZWRfd2ViX2J1bmRs ZV91dGlscy5oIgorKyNpbmNsdWRlICJjcnlwdG8vaGFzaC5oIgorICNpbmNsdWRlICJ0aGlyZF9w YXJ0eS9hYnNlaWwtY3BwL2Fic2wvZnVuY3Rpb25hbC9vdmVybG9hZC5oIgorICNpbmNsdWRlICJ0 aGlyZF9wYXJ0eS9ib3Jpbmdzc2wvc3JjL2luY2x1ZGUvb3BlbnNzbC9zaGEuaCIKKyAKK0BAIC0z NywxMCArNDAsMzIgQEAgbmFtZXNwYWNlIHsKKyAKKyBzdGQ6OnZlY3Rvcjx1aW50OF90PiBDcmVh dGVJbnRlZ3JpdHlCbG9ja0Nib3IoCisgICAgIGNvbnN0IFNpZ25lZFdlYkJ1bmRsZUludGVncml0 eUJsb2NrJiBpbnRlZ3JpdHlfYmxvY2spIHsKKy0gIGF1dG8gaWJfY2Jvcl9ydXN0ID0KKy0gICAg ICBzaWduZWRfd2ViX2J1bmRsZXM6OnJ1c3Q6OmNyZWF0ZV9lbXB0eV9pbnRlZ3JpdHlfYmxvY2tf Y2JvcigKKy0gICAgICAgICAgaW50ZWdyaXR5X2Jsb2NrLmF0dHJpYnV0ZXNfY2JvcigpKTsKKy0g IHJldHVybiBzdGQ6OnZlY3Rvcjx1aW50OF90PihpYl9jYm9yX3J1c3QuYmVnaW4oKSwgaWJfY2Jv cl9ydXN0LmVuZCgpKTsKKysgIC8vIFRoaXMgZnVuY3Rpb24gbG9va3MgbGlrZSBpdCBzaG91bGQg dXNlIGEgY2Jvcjo6VmFsdWU6OkFycmF5VmFsdWUgdG8gYnVpbGQKKysgIC8vIHRoZSBvdXRlciBh cnJheSwgYnV0IGl0IGNhbid0OiBvbmUgb2YgdGhlIGVsZW1lbnRzIGlzIGEgcHJlLWVuY29kZWQg Q0JPUgorKyAgLy8gdmFsdWUgd2hpY2ggd2UgY2FuJ3Qgc2FmZWx5IGRlY29kZSBiZWNhdXNlIGl0 J3MgdW50cnVzdGVkIGlucHV0LiBUaGlzIGlzCisrICAvLyBvYnZpb3VzbHkgdW5kZXNpcmFibGUs IGJlY2F1c2UgdGhlcmUncyBubyBndWFyYW50ZWUgYXQgYWxsIHRoYXQgdGhlCisrICAvLyBwcmUt ZW5jb2RlZCB2YWx1ZSBpcyBhY3R1YWxseSB2YWxpZCBDQk9SLgorKyAgLy8KKysgIC8vIFRPRE8o aHR0cHM6Ly9jcmJ1Zy5jb20vNDU0NDg1OTAxKTogb25jZSB0aGVyZSdzIGEgbWVtb3J5LXNhZmUg Q0JPUiBwYXJzZXIsCisrICAvLyByZS1wYXJzZSB0aGUgcHJlLWVuY29kZWQgdmFsdWUsIHRoZW4g cmUtZW5jb2RlIGl0IGhlcmUgaW5zdGVhZCBvZgorKyAgLy8gY29uc3RydWN0aW5nIGEgQ0JPUiBh cnJheSBieSBoYW5kIHNvIHRoYXQgd2UncmUgZ3VhcmFudGVlZCB0aGF0IHRoZSByZXN1bHQKKysg IC8vIG9mIHRoaXMgZnVuY3Rpb24gaXMgdmFsaWQuCisrICBzdGQ6OnZlY3Rvcjx1aW50OF90PiBp Yl9jYm9yOworKworKyAgLy8gMHg4NCBpcyB0aGUgZW5jb2RpbmcgYnl0ZSBmb3IgYW4gYXJyYXkg b2YgbGVuZ3RoIDQuCisrICBpYl9jYm9yLnB1c2hfYmFjaygweDg0KTsKKysgIGJhc2U6OkV4dGVu ZChpYl9jYm9yLAorKyAgICAgICAgICAgICAgICpjYm9yOjpXcml0ZXI6OldyaXRlKGNib3I6OlZh bHVlKGtJbnRlZ3JpdHlCbG9ja01hZ2ljQnl0ZXMpKSk7CisrICBiYXNlOjpFeHRlbmQoaWJfY2Jv ciwgKmNib3I6OldyaXRlcjo6V3JpdGUoCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNi b3I6OlZhbHVlKGtJbnRlZ3JpdHlCbG9ja1YyVmVyc2lvbkJ5dGVzKSkpOworKyAgLy8gV2UgY2Fu bm90IHBhcnNlIGBhdHRyaWJ1dGVzKCkuY2JvcigpYCBiYWNrIHRvIGEgY2Jvcjo6VmFsdWUgYXMg dGhleQorKyAgLy8gdGVjaG5pY2FsbHkgcmVwcmVzZW50IHVudHJ1c3RlZCBpbnB1dC4KKysgIGJh c2U6OkV4dGVuZChpYl9jYm9yLCBpbnRlZ3JpdHlfYmxvY2suYXR0cmlidXRlc19jYm9yKCkpOwor KyAgLy8gRW5jb2RlIGFuIGVtcHR5IHNpZ25hdHVyZSBhcnJheS4KKysgIGJhc2U6OkV4dGVuZChp Yl9jYm9yLAorKyAgICAgICAgICAgICAgICpjYm9yOjpXcml0ZXI6OldyaXRlKGNib3I6OlZhbHVl KGNib3I6OlZhbHVlOjpBcnJheVZhbHVlKCkpKSk7CisrCisrICByZXR1cm4gaWJfY2JvcjsKKyB9 CisgCisgYmFzZTo6ZXhwZWN0ZWQ8dm9pZCwgU2lnbmVkV2ViQnVuZGxlU2lnbmF0dXJlVmVyaWZp ZXI6OkVycm9yPgorQEAgLTEwNCw3ICsxMjksNyBAQCBTaWduZWRXZWJCdW5kbGVTaWduYXR1cmVW ZXJpZmllcjo6Q2FsY3VsCisgICAgIHJldHVybiBiYXNlOjp1bmV4cGVjdGVkKGJhc2U6OkZpbGU6 OkVycm9yVG9TdHJpbmcoZmlsZS5HZXRMYXN0RmlsZUVycm9yKCkpKTsKKyAgIH0KKyAKKy0gIHNp Z25lZF93ZWJfYnVuZGxlczo6cnVzdDo6U2hhNTEySGFzaGVyIGhhc2hlcjsKKysgIGNyeXB0bzo6 aGFzaDo6SGFzaGVyIGhhc2goY3J5cHRvOjpoYXNoOjprU2hhNTEyKTsKKyAKKyAgIC8vIENhbGN1 bGF0ZSB0aGUgaGFzaCBvZiB0aGUgU2lnbmVkIFdlYiBCdW5kbGUgZXhjbHVkaW5nIGl0cyBpbnRl Z3JpdHkgYmxvY2suCisgICAvLyBUaGUgZmlsZSBtaWdodCBiZSB0b28gYmlnIHRvIHJlYWQgaXQg aW50byBtZW1vcnkgYWxsIGF0IG9uY2UsIHdoaWNoIGlzIHdoeQorQEAgLTEyMSwxNCArMTQ2LDE1 IEBAIFNpZ25lZFdlYkJ1bmRsZVNpZ25hdHVyZVZlcmlmaWVyOjpDYWxjdWwKKyAgICAgICAgICAg YmFzZTo6RmlsZTo6RXJyb3JUb1N0cmluZyhmaWxlLkdldExhc3RGaWxlRXJyb3IoKSkpOworICAg ICB9CisgICAgIGRhdGEucmVzaXplKCpieXRlc19yZWFkKTsKKy0gICAgaGFzaGVyLnVwZGF0ZShk YXRhKTsKKysgICAgaGFzaC5VcGRhdGUoZGF0YSk7CisgCisgICAgIGlmICghYmFzZTo6Q2hlY2tB ZGQob2Zmc2V0LCAqYnl0ZXNfcmVhZCkuQXNzaWduSWZWYWxpZCgmb2Zmc2V0KSkgeworICAgICAg IHJldHVybiBiYXNlOjp1bmV4cGVjdGVkKCJUaGUgU2lnbmVkIFdlYiBCdW5kbGUgaXMgdG9vIGxh cmdlLiIpOworICAgICB9CisgICB9CisgCistICBTSEE1MTJEaWdlc3QgZGlnZXN0ID0gc3RkOjpt b3ZlKGhhc2hlcikuZmluaXNoKCk7CisrICBTSEE1MTJEaWdlc3QgZGlnZXN0OworKyAgaGFzaC5G aW5pc2goZGlnZXN0KTsKKyAgIHJldHVybiBkaWdlc3Q7CisgfQorIAorLS0tIGEvY29tcG9uZW50 cy93ZWJfcGFja2FnZS9zaWduZWRfd2ViX2J1bmRsZXMvc2lnbmVkX3dlYl9idW5kbGVfdXRpbHMu Y2MKKysrKyBiL2NvbXBvbmVudHMvd2ViX3BhY2thZ2Uvc2lnbmVkX3dlYl9idW5kbGVzL3NpZ25l ZF93ZWJfYnVuZGxlX3V0aWxzLmNjCitAQCAtNSwxOCArNSwzNyBAQAorICNpbmNsdWRlICJjb21w b25lbnRzL3dlYl9wYWNrYWdlL3NpZ25lZF93ZWJfYnVuZGxlcy9zaWduZWRfd2ViX2J1bmRsZV91 dGlscy5oIgorIAorICNpbmNsdWRlIDxjc3RkaW50PgorLSNpbmNsdWRlIDx2ZWN0b3I+CisgCist I2luY2x1ZGUgImNvbXBvbmVudHMvd2ViX3BhY2thZ2Uvc2lnbmVkX3dlYl9idW5kbGVzL3J1c3Qv c2lnbmVkX3dlYl9idW5kbGVzX3J1c3QuaCIKKysjaW5jbHVkZSAiYmFzZS9jb250YWluZXJzL2V4 dGVuZC5oIgorKyNpbmNsdWRlICJiYXNlL2NvbnRhaW5lcnMvc3Bhbi5oIgorKyNpbmNsdWRlICJi YXNlL2NvbnRhaW5lcnMvc3Bhbl93cml0ZXIuaCIKKyAKKyBuYW1lc3BhY2Ugd2ViX3BhY2thZ2Ug eworIAorK25hbWVzcGFjZSB7CisrCisrdm9pZCBBZGRJdGVtVG9QYXlsb2FkKHN0ZDo6dmVjdG9y PHVpbnQ4X3Q+JiBwYXlsb2FkLAorKyAgICAgICAgICAgICAgICAgICAgICBiYXNlOjpzcGFuPGNv bnN0IHVpbnQ4X3Q+IGl0ZW0pIHsKKysgIC8vIEVhY2ggaXRlbSB0aGF0IGlzIHBhcnQgb2YgdGhl IHBheWxvYWQgaXMgcHJlZml4ZWQgd2l0aCBpdHMgbGVuZ3RoIGVuY29kZWQKKysgIC8vIGFzIGEg NjQgYml0IHVuc2lnbmVkIGludGVnZXIuCisrICBzdGQ6OmFycmF5PHVpbnQ4X3QsIHNpemVvZih1 aW50NjRfdCk+IGxlbmd0aDsKKysgIGF1dG8gd3JpdGVyID0gYmFzZTo6U3BhbldyaXRlcihiYXNl OjpzcGFuKGxlbmd0aCkpOworKyAgQ0hFQ0sod3JpdGVyLldyaXRlVTY0QmlnRW5kaWFuKGl0ZW0u c2l6ZSgpKSk7CisrCisrICBiYXNlOjpFeHRlbmQocGF5bG9hZCwgYmFzZTo6c3BhbihsZW5ndGgp KTsKKysgIGJhc2U6OkV4dGVuZChwYXlsb2FkLCBpdGVtKTsKKyt9CisrCisrfSAgLy8gbmFtZXNw YWNlCisrCisgc3RkOjp2ZWN0b3I8dWludDhfdD4gQ3JlYXRlU2lnbmF0dXJlUGF5bG9hZCgKKyAg ICAgY29uc3QgU2lnbmVkV2ViQnVuZGxlU2lnbmF0dXJlRGF0YSYgZGF0YSkgeworLSAgYXV0byBw YXlsb2FkX3J1c3QgPSBzaWduZWRfd2ViX2J1bmRsZXM6OnJ1c3Q6OmNyZWF0ZV9zaWduYXR1cmVf cGF5bG9hZCgKKy0gICAgICBkYXRhLnVuc2lnbmVkX3dlYl9idW5kbGVfaGFzaCwgZGF0YS5pbnRl Z3JpdHlfYmxvY2tfY2JvciwKKy0gICAgICBkYXRhLmF0dHJpYnV0ZXNfY2Jvcik7CistICByZXR1 cm4gc3RkOjp2ZWN0b3I8dWludDhfdD4ocGF5bG9hZF9ydXN0LmJlZ2luKCksIHBheWxvYWRfcnVz dC5lbmQoKSk7CisrICBzdGQ6OnZlY3Rvcjx1aW50OF90PiBwYXlsb2FkOworKyAgQWRkSXRlbVRv UGF5bG9hZChwYXlsb2FkLCBkYXRhLnVuc2lnbmVkX3dlYl9idW5kbGVfaGFzaCk7CisrICBBZGRJ dGVtVG9QYXlsb2FkKHBheWxvYWQsIGRhdGEuaW50ZWdyaXR5X2Jsb2NrX2Nib3IpOworKyAgQWRk SXRlbVRvUGF5bG9hZChwYXlsb2FkLCBkYXRhLmF0dHJpYnV0ZXNfY2Jvcik7CisrCisrICByZXR1 cm4gcGF5bG9hZDsKKyB9CisgCisgfSAgLy8gbmFtZXNwYWNlIHdlYl9wYWNrYWdlCistLS0gYS90 aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9wbGF0Zm9ybS9CVUlMRC5nbgorKysrIGIvdGhpcmRf cGFydHkvYmxpbmsvcmVuZGVyZXIvcGxhdGZvcm0vQlVJTEQuZ24KK0BAIC0xODYsNiArMTg2LDE4 IEBAIGdyb3VwKCJtYWtlX3BsYXRmb3JtX2dlbmVyYXRlZCIpIHsKKyAgIF0KKyB9CisgCisrcnVz dF9zdGF0aWNfbGlicmFyeSgiZm9udF9mb3JtYXRfY2hlY2siKSB7CisrICBhbGxvd191bnNhZmUg PSB0cnVlICAjIE5lZWRlZCBmb3IgRkZJIHRoYXQgdW5kZXJwaW5zIHRoZSBgY3h4YCBjcmF0ZS4K KysgIGNyYXRlX3Jvb3QgPSAiZm9udHMvb3BlbnR5cGUvZm9ybWF0X2NoZWNrLnJzIgorKyAgc291 cmNlcyA9IFsgY3JhdGVfcm9vdCBdCisrICBjeHhfYmluZGluZ3MgPSBbIGNyYXRlX3Jvb3QgXQor KyAgZGVwcyA9IFsKKysgICAgIi8vdGhpcmRfcGFydHkvcnVzdC9mb250X3R5cGVzL3YwXzEyOmxp YiIsCisrICAgICIvL3RoaXJkX3BhcnR5L3J1c3QvcmVhZF9mb250cy92MF80MzpsaWIiLAorKyAg ICAiLy90aGlyZF9wYXJ0eS9ydXN0L3NrcmlmYS92MF80NjpsaWIiLAorKyAgXQorK30KKysKICBy dXN0X3N0YXRpY19saWJyYXJ5KCJydXN0ZmZ0X2ZmaSIpIHsKICAgIGFsbG93X3Vuc2FmZSA9IHRy dWUgICMgTmVlZGVkIGZvciBGRkkgdGhhdCB1bmRlcnBpbnMgdGhlIGBjeHhgIGNyYXRlLgogICAg Y3JhdGVfcm9vdCA9ICJhdWRpby9ydXN0ZmZ0X2ZmaS5ycyIKLUBAIC0xODA2LDYgKzE3OTQsNyBA QCBjb21wb25lbnQoInBsYXRmb3JtIikgeworQEAgLTE3OTIsNyArMTgwNCw2IEBAIGNvbXBvbmVu dCgicGxhdGZvcm0iKSB7CiAgICAgICI6YWxsb3dfZGlzY291cmFnZWRfdHlwZSIsCiAgICAgICI6 YmxpbmtfcGxhdGZvcm1fcHVibGljX2RlcHMiLAogICAgICAiOnBsYXRmb3JtX2V4cG9ydCIsCi0r ICAgICIvL2J1aWxkL3J1c3QvY3J1Yml0IiwKKy0gICAgIi8vYnVpbGQvcnVzdC9jcnViaXQiLAog ICAgICAiLy9ncHUvY29tbWFuZF9idWZmZXIvY2xpZW50OnJhc3Rlcl9pbnRlcmZhY2UiLAogICAg ICAiLy9tZWRpYS9jYXB0dXJlOmNhcHR1cmVfbGliIiwKICAgICAgIi8vbW9qby9wdWJsaWMvY3Bw L2Jhc2UiLAotQEAgLTE4MzIsOCArMTgyMSw4IEBAIGNvbXBvbmVudCgicGxhdGZvcm0iKSB7CitA QCAtMTgxOSw4ICsxODMwLDggQEAgY29tcG9uZW50KCJwbGF0Zm9ybSIpIHsKICAgICAgIi8vdWkv bmF0aXZlX3RoZW1lL2ZlYXR1cmVzIiwKICAgIF0KICAgIGRlcHMgPSBbCi0tICAgICI6Zm9udF9m b3JtYXRfY2hlY2siLAorKyAgICAiOmZvbnRfZm9ybWF0X2NoZWNrIiwKICAgICAgIjpydXN0ZmZ0 X2ZmaSIsCi0rICAgICJmb250czpmb250X2Zvcm1hdF9iaW5kaW5ncyIsCistICAgICJmb250czpm b250X2Zvcm1hdF9iaW5kaW5ncyIsCiAgICAgICIvL2Jhc2U6YmFzZV9zdGF0aWMiLAogICAgICAi Ly9iYXNlL2FsbG9jYXRvcjpidWlsZGZsYWdzIiwKICAgICAgIi8vYnVpbGQ6Y2hyb21lY2FzdF9i dWlsZGZsYWdzIiwKLWRpZmYgLS1naXQgYS90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9wbGF0 Zm9ybS9mb250cy9CVUlMRC5nbiBiL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL3BsYXRmb3Jt L2ZvbnRzL0JVSUxELmduCi1uZXcgZmlsZSBtb2RlIDEwMDY0NAotaW5kZXggMDAwMDAwMDAwMDAw MC4uNTFiOWIwM2JhN2M4NQotLS0tIC9kZXYvbnVsbAotKysrIGIvdGhpcmRfcGFydHkvYmxpbmsv cmVuZGVyZXIvcGxhdGZvcm0vZm9udHMvQlVJTEQuZ24KLUBAIC0wLDAgKzEsMTkgQEAKLSsjIENv cHlyaWdodCAyMDI2IFRoZSBDaHJvbWl1bSBBdXRob3JzCi0rIyBVc2Ugb2YgdGhpcyBzb3VyY2Ug Y29kZSBpcyBnb3Zlcm5lZCBieSBhIEJTRC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCi0rIyBm b3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgotKwotK2ltcG9ydCgiLy9idWlsZC9ydXN0L3J1c3Rf c3RhdGljX2xpYnJhcnkuZ25pIikKLSsKLStydXN0X3N0YXRpY19saWJyYXJ5KCJmb250X2Zvcm1h dCIpIHsKLSsgIGNyYXRlX3Jvb3QgPSAib3BlbnR5cGUvZm9ybWF0X2NoZWNrLnJzIgotKyAgc291 cmNlcyA9IFsgY3JhdGVfcm9vdCBdCi0rICBjcHBfYXBpX2Zyb21fcnVzdCA9IHsKLSsgICAgdGFy Z2V0X25hbWUgPSAiZm9udF9mb3JtYXRfYmluZGluZ3MiCi0rICAgIGNwcF9uYW1lc3BhY2UgPSAi Zm9udF9mb3JtYXQiCi0rICB9Ci0rICBkZXBzID0gWwotKyAgICAiLy90aGlyZF9wYXJ0eS9ydXN0 L2ZvbnRfdHlwZXMvdjBfMTI6bGliIiwKLSsgICAgIi8vdGhpcmRfcGFydHkvcnVzdC9yZWFkX2Zv bnRzL3YwXzQzOmxpYiIsCi0rICAgICIvL3RoaXJkX3BhcnR5L3J1c3Qvc2tyaWZhL3YwXzQ2Omxp YiIsCi0rICBdCi0rfQotZGlmZiAtLWdpdCBhL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL3Bs YXRmb3JtL2ZvbnRzL29wZW50eXBlL2ZvbnRfZm9ybWF0X2NoZWNrLmNjIGIvdGhpcmRfcGFydHkv YmxpbmsvcmVuZGVyZXIvcGxhdGZvcm0vZm9udHMvb3BlbnR5cGUvZm9udF9mb3JtYXRfY2hlY2su Y2MKLWluZGV4IGI5ZDI2Mzk4MjJiYzAuLmY1OGU5NDMzZDM5ZjQgMTAwNjQ0CistLS0gYS90aGly ZF9wYXJ0eS9ibGluay9yZW5kZXJlci9wbGF0Zm9ybS9mb250cy9CVUlMRC5nbgorKysrIC9kZXYv bnVsbAorQEAgLTEsMTkgKzAsMCBAQAorLSMgQ29weXJpZ2h0IDIwMjYgVGhlIENocm9taXVtIEF1 dGhvcnMKKy0jIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGEgQlNELXN0 eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKKy0jIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCist CistaW1wb3J0KCIvL2J1aWxkL3J1c3QvcnVzdF9zdGF0aWNfbGlicmFyeS5nbmkiKQorLQorLXJ1 c3Rfc3RhdGljX2xpYnJhcnkoImZvbnRfZm9ybWF0IikgeworLSAgY3JhdGVfcm9vdCA9ICJvcGVu dHlwZS9mb3JtYXRfY2hlY2sucnMiCistICBzb3VyY2VzID0gWyBjcmF0ZV9yb290IF0KKy0gIGNw cF9hcGlfZnJvbV9ydXN0ID0geworLSAgICB0YXJnZXRfbmFtZSA9ICJmb250X2Zvcm1hdF9iaW5k aW5ncyIKKy0gICAgY3BwX25hbWVzcGFjZSA9ICJmb250X2Zvcm1hdCIKKy0gIH0KKy0gIGRlcHMg PSBbCistICAgICIvL3RoaXJkX3BhcnR5L3J1c3QvZm9udF90eXBlcy92MF8xMjpsaWIiLAorLSAg ICAiLy90aGlyZF9wYXJ0eS9ydXN0L3JlYWRfZm9udHMvdjBfNDM6bGliIiwKKy0gICAgIi8vdGhp cmRfcGFydHkvcnVzdC9za3JpZmEvdjBfNDY6bGliIiwKKy0gIF0KKy19CiAtLS0gYS90aGlyZF9w YXJ0eS9ibGluay9yZW5kZXJlci9wbGF0Zm9ybS9mb250cy9vcGVudHlwZS9mb250X2Zvcm1hdF9j aGVjay5jYwogKysrIGIvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvcGxhdGZvcm0vZm9udHMv b3BlbnR5cGUvZm9udF9mb3JtYXRfY2hlY2suY2MKLUBAIC03LDcgKzcsNiBAQAorQEAgLTcsNiAr Nyw3IEBACiAgI2luY2x1ZGUgImJhc2UvY29udGFpbmVycy9zcGFuLmgiCiAgI2luY2x1ZGUgImJh c2UvY29udGFpbmVycy9zcGFuX3J1c3QuaCIKICAjaW5jbHVkZSAiYmFzZS9udW1lcmljcy9ieXRl X2NvbnZlcnNpb25zLmgiCi0tI2luY2x1ZGUgInRoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL3Bs YXRmb3JtL2ZvbnRzL29wZW50eXBlL2Zvcm1hdF9jaGVjay5ycy5oIgorKyNpbmNsdWRlICJ0aGly ZF9wYXJ0eS9ibGluay9yZW5kZXJlci9wbGF0Zm9ybS9mb250cy9vcGVudHlwZS9mb3JtYXRfY2hl Y2sucnMuaCIKICAjaW5jbHVkZSAidGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvcGxhdGZvcm0v cnVudGltZV9lbmFibGVkX2ZlYXR1cmVzLmgiCiAgI2luY2x1ZGUgInRoaXJkX3BhcnR5L2JsaW5r L3JlbmRlcmVyL3BsYXRmb3JtL3d0Zi92ZWN0b3IuaCIKICAjaW5jbHVkZSAidGhpcmRfcGFydHkv c2tpYS9pbmNsdWRlL2NvcmUvU2tUeXBlZmFjZS5oIgotQEAgLTE1LDM1ICsxNCwzNyBAQAorQEAg LTE0LDM3ICsxNSwzNSBAQAogIG5hbWVzcGFjZSBibGluayB7CiAgCiAgRm9udEZvcm1hdENoZWNr OjpGb250Rm9ybWF0Q2hlY2soc2tfc3A8U2tEYXRhPiBza19kYXRhKQotLSAgICA6IGZvcm1hdF9p bmZvXyhmb250X2Zvcm1hdF9jaGVjazo6Z2V0X2ZvbnRfZm9ybWF0X2luZm8oCi0rICAgIDogZm9y bWF0X2luZm9fKGZvbnRfZm9ybWF0OjpnZXRfZm9udF9mb3JtYXRfaW5mbygKKy0gICAgOiBmb3Jt YXRfaW5mb18oZm9udF9mb3JtYXQ6OmdldF9mb250X2Zvcm1hdF9pbmZvKAorKyAgICA6IGZvcm1h dF9pbmZvXyhmb250X2Zvcm1hdF9jaGVjazo6Z2V0X2ZvbnRfZm9ybWF0X2luZm8oCiAgICAgICAg ICAgIGJhc2U6OlNwYW5Ub1J1c3RTbGljZShza19kYXRhLT5ieXRlU3BhbigpKSkpIHt9CiAgCi0r Rm9udEZvcm1hdENoZWNrOjp+Rm9udEZvcm1hdENoZWNrKCkgPSBkZWZhdWx0OwotKworLUZvbnRG b3JtYXRDaGVjazo6fkZvbnRGb3JtYXRDaGVjaygpID0gZGVmYXVsdDsKKy0KICBib29sIEZvbnRG b3JtYXRDaGVjazo6SXNWYXJpYWJsZUZvbnQoKSBjb25zdCB7Ci0tICByZXR1cm4gZm9udF9mb3Jt YXRfY2hlY2s6OmlzX3ZhcmlhYmxlKCpmb3JtYXRfaW5mb18pOwotKyAgcmV0dXJuIGZvbnRfZm9y bWF0Ojppc192YXJpYWJsZShmb3JtYXRfaW5mb18pOworLSAgcmV0dXJuIGZvbnRfZm9ybWF0Ojpp c192YXJpYWJsZShmb3JtYXRfaW5mb18pOworKyAgcmV0dXJuIGZvbnRfZm9ybWF0X2NoZWNrOjpp c192YXJpYWJsZSgqZm9ybWF0X2luZm9fKTsKICB9CiAgCiAgYm9vbCBGb250Rm9ybWF0Q2hlY2s6 OklzQ2JkdENibGNDb2xvckZvbnQoKSBjb25zdCB7Ci0tICByZXR1cm4gZm9udF9mb3JtYXRfY2hl Y2s6OmlzX2NiZHRfY2JsYygqZm9ybWF0X2luZm9fKTsKLSsgIHJldHVybiBmb250X2Zvcm1hdDo6 aXNfY2JkdF9jYmxjKGZvcm1hdF9pbmZvXyk7CistICByZXR1cm4gZm9udF9mb3JtYXQ6OmlzX2Ni ZHRfY2JsYyhmb3JtYXRfaW5mb18pOworKyAgcmV0dXJuIGZvbnRfZm9ybWF0X2NoZWNrOjppc19j YmR0X2NibGMoKmZvcm1hdF9pbmZvXyk7CiAgfQogIAogIGJvb2wgRm9udEZvcm1hdENoZWNrOjpJ c0ViZHRFYmxjTW9ub2Nocm9tZUZvbnQoKSBjb25zdCB7Ci0tICByZXR1cm4gZm9udF9mb3JtYXRf Y2hlY2s6OmlzX2ViZHRfZWJsYygqZm9ybWF0X2luZm9fKTsKLSsgIHJldHVybiBmb250X2Zvcm1h dDo6aXNfZWJkdF9lYmxjKGZvcm1hdF9pbmZvXyk7CistICByZXR1cm4gZm9udF9mb3JtYXQ6Omlz X2ViZHRfZWJsYyhmb3JtYXRfaW5mb18pOworKyAgcmV0dXJuIGZvbnRfZm9ybWF0X2NoZWNrOjpp c19lYmR0X2VibGMoKmZvcm1hdF9pbmZvXyk7CiAgfQogIAogIGJvb2wgRm9udEZvcm1hdENoZWNr OjpJc0NvbHJDcGFsQ29sb3JGb250VjAoKSBjb25zdCB7Ci0tICByZXR1cm4gZm9udF9mb3JtYXRf Y2hlY2s6OmlzX2NvbHJ2MCgqZm9ybWF0X2luZm9fKTsKLSsgIHJldHVybiBmb250X2Zvcm1hdDo6 aXNfY29scnYwKGZvcm1hdF9pbmZvXyk7CistICByZXR1cm4gZm9udF9mb3JtYXQ6OmlzX2NvbHJ2 MChmb3JtYXRfaW5mb18pOworKyAgcmV0dXJuIGZvbnRfZm9ybWF0X2NoZWNrOjppc19jb2xydjAo KmZvcm1hdF9pbmZvXyk7CiAgfQogIAogIGJvb2wgRm9udEZvcm1hdENoZWNrOjpJc0NvbHJDcGFs Q29sb3JGb250VjEoKSBjb25zdCB7Ci0tICByZXR1cm4gZm9udF9mb3JtYXRfY2hlY2s6OmlzX2Nv bHJ2MSgqZm9ybWF0X2luZm9fKTsKLSsgIHJldHVybiBmb250X2Zvcm1hdDo6aXNfY29scnYxKGZv cm1hdF9pbmZvXyk7CistICByZXR1cm4gZm9udF9mb3JtYXQ6OmlzX2NvbHJ2MShmb3JtYXRfaW5m b18pOworKyAgcmV0dXJuIGZvbnRfZm9ybWF0X2NoZWNrOjppc19jb2xydjEoKmZvcm1hdF9pbmZv Xyk7CiAgfQogIAogIGJvb2wgRm9udEZvcm1hdENoZWNrOjpJc1NiaXhDb2xvckZvbnQoKSBjb25z dCB7Ci0tICByZXR1cm4gZm9udF9mb3JtYXRfY2hlY2s6OmlzX3NiaXgoKmZvcm1hdF9pbmZvXyk7 Ci0rICByZXR1cm4gZm9udF9mb3JtYXQ6OmlzX3NiaXgoZm9ybWF0X2luZm9fKTsKKy0gIHJldHVy biBmb250X2Zvcm1hdDo6aXNfc2JpeChmb3JtYXRfaW5mb18pOworKyAgcmV0dXJuIGZvbnRfZm9y bWF0X2NoZWNrOjppc19zYml4KCpmb3JtYXRfaW5mb18pOwogIH0KICAKICBib29sIEZvbnRGb3Jt YXRDaGVjazo6SXNDZmYyT3V0bGluZUZvbnQoKSBjb25zdCB7Ci0tICByZXR1cm4gZm9udF9mb3Jt YXRfY2hlY2s6OmlzX2NmZjIoKmZvcm1hdF9pbmZvXyk7Ci0rICByZXR1cm4gZm9udF9mb3JtYXQ6 OmlzX2NmZjIoZm9ybWF0X2luZm9fKTsKKy0gIHJldHVybiBmb250X2Zvcm1hdDo6aXNfY2ZmMihm b3JtYXRfaW5mb18pOworKyAgcmV0dXJuIGZvbnRfZm9ybWF0X2NoZWNrOjppc19jZmYyKCpmb3Jt YXRfaW5mb18pOwogIH0KICAKICBib29sIEZvbnRGb3JtYXRDaGVjazo6SXNWYXJpYWJsZUNvbHJW MEZvbnQoKSBjb25zdCB7Ci1AQCAtNTcsNyArNTgsNyBAQCBib29sIEZvbnRGb3JtYXRDaGVjazo6 SXNDb2xvckZvbnQoKSBjb25zdCB7CitAQCAtNTgsNyArNTcsNyBAQCBib29sIEZvbnRGb3JtYXRD aGVjazo6SXNDb2xvckZvbnQoKSBjb25zCiAgCiAgYm9vbCBGb250Rm9ybWF0Q2hlY2s6OklzQXZh cjJGb250KCkgY29uc3QgewogICAgcmV0dXJuIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OkZvbnRG b3JtYXRBdmFyMkVuYWJsZWQoKSAmJgotLSAgICAgICAgIGZvbnRfZm9ybWF0X2NoZWNrOjppc19h dmFyMigqZm9ybWF0X2luZm9fKTsKLSsgICAgICAgICBmb250X2Zvcm1hdDo6aXNfYXZhcjIoZm9y bWF0X2luZm9fKTsKKy0gICAgICAgICBmb250X2Zvcm1hdDo6aXNfYXZhcjIoZm9ybWF0X2luZm9f KTsKKysgICAgICAgICBmb250X2Zvcm1hdF9jaGVjazo6aXNfYXZhcjIoKmZvcm1hdF9pbmZvXyk7 CiAgfQogIAogIEZvbnRGb3JtYXRDaGVjazo6VmFyaWFibGVGb250U3ViVHlwZSBGb250Rm9ybWF0 Q2hlY2s6OlByb2JlVmFyaWFibGVGb250KAotZGlmZiAtLWdpdCBhL3RoaXJkX3BhcnR5L2JsaW5r L3JlbmRlcmVyL3BsYXRmb3JtL2ZvbnRzL29wZW50eXBlL2ZvbnRfZm9ybWF0X2NoZWNrLmggYi90 aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9wbGF0Zm9ybS9mb250cy9vcGVudHlwZS9mb250X2Zv cm1hdF9jaGVjay5oCi1pbmRleCAxOWQyNjM5MjMzYjA3Li5hZjUwZGJkZjc0ZDAwIDEwMDY0NAog LS0tIGEvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvcGxhdGZvcm0vZm9udHMvb3BlbnR5cGUv Zm9udF9mb3JtYXRfY2hlY2suaAogKysrIGIvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvcGxh dGZvcm0vZm9udHMvb3BlbnR5cGUvZm9udF9mb3JtYXRfY2hlY2suaAogQEAgLTUsNyArNSw3IEBA CiAgI2lmbmRlZiBUSElSRF9QQVJUWV9CTElOS19SRU5ERVJFUl9QTEFURk9STV9GT05UU19PUEVO VFlQRV9GT05UX0ZPUk1BVF9DSEVDS19IXwogICNkZWZpbmUgVEhJUkRfUEFSVFlfQkxJTktfUkVO REVSRVJfUExBVEZPUk1fRk9OVFNfT1BFTlRZUEVfRk9OVF9GT1JNQVRfQ0hFQ0tfSF8KICAKLS0j aW5jbHVkZSAidGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvcGxhdGZvcm0vZm9udHMvb3BlbnR5 cGUvZm9ybWF0X2NoZWNrLnJzLmgiCi0rI2luY2x1ZGUgInRoaXJkX3BhcnR5L2JsaW5rL3JlbmRl cmVyL3BsYXRmb3JtL2ZvbnRzL2ZvbnRfZm9ybWF0LmgiCistI2luY2x1ZGUgInRoaXJkX3BhcnR5 L2JsaW5rL3JlbmRlcmVyL3BsYXRmb3JtL2ZvbnRzL2ZvbnRfZm9ybWF0LmgiCisrI2luY2x1ZGUg InRoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL3BsYXRmb3JtL2ZvbnRzL29wZW50eXBlL2Zvcm1h dF9jaGVjay5ycy5oIgogICNpbmNsdWRlICJ0aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9wbGF0 Zm9ybS9wbGF0Zm9ybV9leHBvcnQuaCIKICAjaW5jbHVkZSAidGhpcmRfcGFydHkvYmxpbmsvcmVu ZGVyZXIvcGxhdGZvcm0vd3RmL2FsbG9jYXRvci9hbGxvY2F0b3IuaCIKICAjaW5jbHVkZSAidGhp cmRfcGFydHkvc2tpYS9pbmNsdWRlL2NvcmUvU2tEYXRhLmgiCkBAIC0xNzEsOCArNzEzLDggQEAg aW5kZXggMTlkMjYzOTIzM2IwNy4uYWY1MGRiZGY3NGQwMCAxMDA2NDQKICAKICAgcHVibGljOgog ICAgZXhwbGljaXQgRm9udEZvcm1hdENoZWNrKHNrX3NwPFNrRGF0YT4pOwotLSAgdmlydHVhbCB+ Rm9udEZvcm1hdENoZWNrKCkgPSBkZWZhdWx0OwotKyAgdmlydHVhbCB+Rm9udEZvcm1hdENoZWNr KCk7CistICB2aXJ0dWFsIH5Gb250Rm9ybWF0Q2hlY2soKTsKKysgIHZpcnR1YWwgfkZvbnRGb3Jt YXRDaGVjaygpID0gZGVmYXVsdDsKICAgIHZpcnR1YWwgYm9vbCBJc1ZhcmlhYmxlRm9udCgpIGNv bnN0OwogICAgdmlydHVhbCBib29sIElzQ2JkdENibGNDb2xvckZvbnQoKSBjb25zdDsKICAgIHZp cnR1YWwgYm9vbCBJc0ViZHRFYmxjTW9ub2Nocm9tZUZvbnQoKSBjb25zdDsKQEAgLTE4MCwxMDMg KzcyMiwxMDEgQEAgaW5kZXggMTlkMjYzOTIzM2IwNy4uYWY1MGRiZGY3NGQwMCAxMDA2NDQKICAg IGVudW0gY2xhc3MgQ09MUlZlcnNpb24geyBrQ09MUlYwLCBrQ09MUlYxLCBrTm9DT0xSIH07CiAg CiAgIHByaXZhdGU6Ci0tICBydXN0OjpCb3g8Zm9udF9mb3JtYXRfY2hlY2s6OkZvbnRGb3JtYXRJ bmZvPiBmb3JtYXRfaW5mb187Ci0rICBmb250X2Zvcm1hdDo6Rm9udEZvcm1hdEluZm8gZm9ybWF0 X2luZm9fOworLSAgZm9udF9mb3JtYXQ6OkZvbnRGb3JtYXRJbmZvIGZvcm1hdF9pbmZvXzsKKysg IHJ1c3Q6OkJveDxmb250X2Zvcm1hdF9jaGVjazo6Rm9udEZvcm1hdEluZm8+IGZvcm1hdF9pbmZv XzsKICB9OwogIAogIH0gIC8vIG5hbWVzcGFjZSBibGluawotZGlmZiAtLWdpdCBhL3RoaXJkX3Bh cnR5L2JsaW5rL3JlbmRlcmVyL3BsYXRmb3JtL2ZvbnRzL29wZW50eXBlL2Zvcm1hdF9jaGVjay5y cyBiL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL3BsYXRmb3JtL2ZvbnRzL29wZW50eXBlL2Zv cm1hdF9jaGVjay5ycwotaW5kZXggZWRhOGU2YjJiODE4OC4uYjk5ZjBlYzg2NTVlNiAxMDA2NDQK IC0tLSBhL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL3BsYXRmb3JtL2ZvbnRzL29wZW50eXBl L2Zvcm1hdF9jaGVjay5ycwogKysrIGIvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvcGxhdGZv cm0vZm9udHMvb3BlbnR5cGUvZm9ybWF0X2NoZWNrLnJzCiBAQCAtMjMsNyArMjMsNyBAQCBwdWIg c3RydWN0IEZvbnRGb3JtYXRJbmZvIHsKICAgICAgZm9ybWF0X2ZsYWdzOiBPcHRpb248Rm9udEZv cm1hdEZsYWdzPiwKICB9CiAgCi0tcHViIGZuIGdldF9mb250X2Zvcm1hdF9pbmZvKGZvbnRfYnl0 ZXM6ICZbdThdKSAtPiBCb3g8Rm9udEZvcm1hdEluZm8+IHsKLStwdWIgZm4gZ2V0X2ZvbnRfZm9y bWF0X2luZm8oZm9udF9ieXRlczogJlt1OF0pIC0+IEZvbnRGb3JtYXRJbmZvIHsKKy1wdWIgZm4g Z2V0X2ZvbnRfZm9ybWF0X2luZm8oZm9udF9ieXRlczogJlt1OF0pIC0+IEZvbnRGb3JtYXRJbmZv IHsKKytwdWIgZm4gZ2V0X2ZvbnRfZm9ybWF0X2luZm8oZm9udF9ieXRlczogJlt1OF0pIC0+IEJv eDxGb250Rm9ybWF0SW5mbz4gewogICAgICBsZXQgZmlsZV9yZWYgPSBtYWtlX2ZvbnRfcmVmX2lu dGVybmFsKGZvbnRfYnl0ZXMsIDApOwogIAogICAgICBtYXRjaCBmaWxlX3JlZiB7Ci1AQCAtMzIs MTEgKzMyLDExIEBAIHB1YiBmbiBnZXRfZm9udF9mb3JtYXRfaW5mbyhmb250X2J5dGVzOiAmW3U4 XSkgLT4gQm94PEZvbnRGb3JtYXRJbmZvPiB7CitAQCAtMzIsMTEgKzMyLDExIEBAIHB1YiBmbiBn ZXRfZm9udF9mb3JtYXRfaW5mbyhmb250X2J5dGVzOgogICAgICAgICAgICAgICAgICBmb250LnRh YmxlX2RpcmVjdG9yeSgpLnRhYmxlX3JlY29yZHMoKS5pdGVyKCkubWFwKHxlfCBlLnRhZygpKS5j b2xsZWN0KCk7CiAgICAgICAgICAgICAgbGV0IGNvbG9yX3ZlcnNpb24gPSBnZXRfY29scl92ZXJz aW9uKCZmb250KTsKICAgICAgICAgICAgICBsZXQgYXZhcl92ZXJzaW9uID0gZ2V0X2F2YXJfdmVy c2lvbigmZm9udCk7Ci0tICAgICAgICAgICAgQm94OjpuZXcoRm9udEZvcm1hdEluZm8gewotKyAg ICAgICAgICAgIEZvbnRGb3JtYXRJbmZvIHsKKy0gICAgICAgICAgICBGb250Rm9ybWF0SW5mbyB7 CisrICAgICAgICAgICAgQm94OjpuZXcoRm9udEZvcm1hdEluZm8gewogICAgICAgICAgICAgICAg ICBmb3JtYXRfZmxhZ3M6IFNvbWUoRm9udEZvcm1hdEZsYWdzIHsgdGFibGVfdGFncywgY29sb3Jf dmVyc2lvbiwgYXZhcl92ZXJzaW9uIH0pLAotLSAgICAgICAgICAgIH0pCi0rICAgICAgICAgICAg fQorLSAgICAgICAgICAgIH0KKysgICAgICAgICAgICB9KQogICAgICAgICAgfQotLSAgICAgICAg XyA9PiBCb3g6Om5ldyhGb250Rm9ybWF0SW5mbzo6ZGVmYXVsdCgpKSwKLSsgICAgICAgIF8gPT4g Rm9udEZvcm1hdEluZm86OmRlZmF1bHQoKSwKKy0gICAgICAgIF8gPT4gRm9udEZvcm1hdEluZm86 OmRlZmF1bHQoKSwKKysgICAgICAgIF8gPT4gQm94OjpuZXcoRm9udEZvcm1hdEluZm86OmRlZmF1 bHQoKSksCiAgICAgIH0KICB9CiAgCi1AQCAtNDQsMTAgKzQ0LDEwIEBAIGZuIGdldF9jb2xyX3Zl cnNpb24oZm9udF9yZWY6ICZGb250UmVmKSAtPiBPcHRpb248dTE2PiB7CitAQCAtNDQsMTAgKzQ0 LDEwIEBAIGZuIGdldF9jb2xyX3ZlcnNpb24oZm9udF9yZWY6ICZGb250UmVmKQogICAgICBTb21l KGZvbnRfcmVmLmNvbHIoKS5vaygpPy52ZXJzaW9uKCkpCiAgfQogIAotLWZuIGlzX2NvbHJ2MShm b3JtYXRfaW5mbzogJkZvbnRGb3JtYXRJbmZvKSAtPiBib29sIHsKLStwdWIgZm4gaXNfY29scnYx KGZvcm1hdF9pbmZvOiAmRm9udEZvcm1hdEluZm8pIC0+IGJvb2wgeworLXB1YiBmbiBpc19jb2xy djEoZm9ybWF0X2luZm86ICZGb250Rm9ybWF0SW5mbykgLT4gYm9vbCB7CisrZm4gaXNfY29scnYx KGZvcm1hdF9pbmZvOiAmRm9udEZvcm1hdEluZm8pIC0+IGJvb2wgewogICAgICBtYXRjaGVzISgm Zm9ybWF0X2luZm8uZm9ybWF0X2ZsYWdzLCBTb21lKEZvbnRGb3JtYXRGbGFncyB7IGNvbG9yX3Zl cnNpb246IFNvbWUoMSksIC4uIH0pLCkKICB9Ci0tZm4gaXNfY29scnYwKGZvcm1hdF9pbmZvOiAm Rm9udEZvcm1hdEluZm8pIC0+IGJvb2wgewotK3B1YiBmbiBpc19jb2xydjAoZm9ybWF0X2luZm86 ICZGb250Rm9ybWF0SW5mbykgLT4gYm9vbCB7CistcHViIGZuIGlzX2NvbHJ2MChmb3JtYXRfaW5m bzogJkZvbnRGb3JtYXRJbmZvKSAtPiBib29sIHsKKytmbiBpc19jb2xydjAoZm9ybWF0X2luZm86 ICZGb250Rm9ybWF0SW5mbykgLT4gYm9vbCB7CiAgICAgIG1hdGNoZXMhKCZmb3JtYXRfaW5mby5m b3JtYXRfZmxhZ3MsIFNvbWUoRm9udEZvcm1hdEZsYWdzIHsgY29sb3JfdmVyc2lvbjogU29tZSgw KSwgLi4gfSksKQogIH0KICAKLUBAIC01Niw3ICs1Niw3IEBAIGZuIGdldF9hdmFyX3ZlcnNpb24o Zm9udF9yZWY6ICZGb250UmVmKSAtPiBPcHRpb248KHUxNiwgdTE2KT4geworQEAgLTU2LDcgKzU2 LDcgQEAgZm4gZ2V0X2F2YXJfdmVyc2lvbihmb250X3JlZjogJkZvbnRSZWYpCiAgICAgIFNvbWUo KHZlcnNpb24ubWFqb3IsIHZlcnNpb24ubWlub3IpKQogIH0KICAKLS1mbiBpc19hdmFyMihmb3Jt YXRfaW5mbzogJkZvbnRGb3JtYXRJbmZvKSAtPiBib29sIHsKLStwdWIgZm4gaXNfYXZhcjIoZm9y bWF0X2luZm86ICZGb250Rm9ybWF0SW5mbykgLT4gYm9vbCB7CistcHViIGZuIGlzX2F2YXIyKGZv cm1hdF9pbmZvOiAmRm9udEZvcm1hdEluZm8pIC0+IGJvb2wgeworK2ZuIGlzX2F2YXIyKGZvcm1h dF9pbmZvOiAmRm9udEZvcm1hdEluZm8pIC0+IGJvb2wgewogICAgICBtYXRjaGVzISgmZm9ybWF0 X2luZm8uZm9ybWF0X2ZsYWdzLCBTb21lKEZvbnRGb3JtYXRGbGFncyB7IGF2YXJfdmVyc2lvbjog U29tZSgoMiwgXykpLCAuLiB9KSwpCiAgfQogIAotQEAgLTY5LDM5ICs2OSwyMiBAQCBmbiBoYXNf dGFncyhmb3JtYXRfaW5mbzogJkZvbnRGb3JtYXRJbmZvLCBxdWVyeTogJltUYWddKSAtPiBib29s IHsKK0BAIC02OSwyMiArNjksMzkgQEAgZm4gaGFzX3RhZ3MoZm9ybWF0X2luZm86ICZGb250Rm9y bWF0SW5mbwogICAgICB9CiAgfQogIAotLWZuIGlzX3ZhcmlhYmxlKGZvcm1hdF9pbmZvOiAmRm9u dEZvcm1hdEluZm8pIC0+IGJvb2wgewotK3B1YiBmbiBpc192YXJpYWJsZShmb3JtYXRfaW5mbzog JkZvbnRGb3JtYXRJbmZvKSAtPiBib29sIHsKKy1wdWIgZm4gaXNfdmFyaWFibGUoZm9ybWF0X2lu Zm86ICZGb250Rm9ybWF0SW5mbykgLT4gYm9vbCB7CisrZm4gaXNfdmFyaWFibGUoZm9ybWF0X2lu Zm86ICZGb250Rm9ybWF0SW5mbykgLT4gYm9vbCB7CiAgICAgIGhhc190YWdzKGZvcm1hdF9pbmZv LCAmW1RhZzo6bmV3KGIiZnZhciIpXSkKICB9CiAgCi0tZm4gaXNfc2JpeChmb3JtYXRfaW5mbzog JkZvbnRGb3JtYXRJbmZvKSAtPiBib29sIHsKLStwdWIgZm4gaXNfc2JpeChmb3JtYXRfaW5mbzog JkZvbnRGb3JtYXRJbmZvKSAtPiBib29sIHsKKy1wdWIgZm4gaXNfc2JpeChmb3JtYXRfaW5mbzog JkZvbnRGb3JtYXRJbmZvKSAtPiBib29sIHsKKytmbiBpc19zYml4KGZvcm1hdF9pbmZvOiAmRm9u dEZvcm1hdEluZm8pIC0+IGJvb2wgewogICAgICBoYXNfdGFncyhmb3JtYXRfaW5mbywgJltUYWc6 Om5ldyhiInNiaXgiKV0pCiAgfQogIAotLWZuIGlzX2NiZHRfY2JsYyhmb3JtYXRfaW5mbzogJkZv bnRGb3JtYXRJbmZvKSAtPiBib29sIHsKLStwdWIgZm4gaXNfY2JkdF9jYmxjKGZvcm1hdF9pbmZv OiAmRm9udEZvcm1hdEluZm8pIC0+IGJvb2wgeworLXB1YiBmbiBpc19jYmR0X2NibGMoZm9ybWF0 X2luZm86ICZGb250Rm9ybWF0SW5mbykgLT4gYm9vbCB7CisrZm4gaXNfY2JkdF9jYmxjKGZvcm1h dF9pbmZvOiAmRm9udEZvcm1hdEluZm8pIC0+IGJvb2wgewogICAgICBoYXNfdGFncyhmb3JtYXRf aW5mbywgJltUYWc6Om5ldyhiIkNCRFQiKSwgVGFnOjpuZXcoYiJDQkxDIildKQogIH0KICAKLS1m biBpc19lYmR0X2VibGMoZm9ybWF0X2luZm86ICZGb250Rm9ybWF0SW5mbykgLT4gYm9vbCB7Ci0r cHViIGZuIGlzX2ViZHRfZWJsYyhmb3JtYXRfaW5mbzogJkZvbnRGb3JtYXRJbmZvKSAtPiBib29s IHsKKy1wdWIgZm4gaXNfZWJkdF9lYmxjKGZvcm1hdF9pbmZvOiAmRm9udEZvcm1hdEluZm8pIC0+ IGJvb2wgeworK2ZuIGlzX2ViZHRfZWJsYyhmb3JtYXRfaW5mbzogJkZvbnRGb3JtYXRJbmZvKSAt PiBib29sIHsKICAgICAgaGFzX3RhZ3MoZm9ybWF0X2luZm8sICZbVGFnOjpuZXcoYiJFQkRUIiks IFRhZzo6bmV3KGIiRUJMQyIpXSkKICB9CiAgCi0tZm4gaXNfY2ZmMihmb3JtYXRfaW5mbzogJkZv bnRGb3JtYXRJbmZvKSAtPiBib29sIHsKLStwdWIgZm4gaXNfY2ZmMihmb3JtYXRfaW5mbzogJkZv bnRGb3JtYXRJbmZvKSAtPiBib29sIHsKKy1wdWIgZm4gaXNfY2ZmMihmb3JtYXRfaW5mbzogJkZv bnRGb3JtYXRJbmZvKSAtPiBib29sIHsKKytmbiBpc19jZmYyKGZvcm1hdF9pbmZvOiAmRm9udEZv cm1hdEluZm8pIC0+IGJvb2wgewogICAgICBoYXNfdGFncyhmb3JtYXRfaW5mbywgJltUYWc6Om5l dyhiIkNGRjIiKV0pCiAgfQotLQotLSNbY3h4OjpicmlkZ2UobmFtZXNwYWNlID0gImZvbnRfZm9y bWF0X2NoZWNrIildCi0tcHViIG1vZCBmZmkgewotLSAgICBleHRlcm4gIlJ1c3QiIHsKLS0gICAg ICAgIHR5cGUgRm9udEZvcm1hdEluZm87Ci0tCi0tICAgICAgICBmbiBnZXRfZm9udF9mb3JtYXRf aW5mbyhmb250X2J5dGVzOiAmW3U4XSkgLT4gQm94PEZvbnRGb3JtYXRJbmZvPjsKLS0gICAgICAg IGZuIGlzX2NvbHJ2MShmb3JtYXRfaW5mbzogJkZvbnRGb3JtYXRJbmZvKSAtPiBib29sOwotLSAg ICAgICAgZm4gaXNfY29scnYwKGZvcm1hdF9pbmZvOiAmRm9udEZvcm1hdEluZm8pIC0+IGJvb2w7 Ci0tICAgICAgICBmbiBpc19jYmR0X2NibGMoZm9ybWF0X2luZm86ICZGb250Rm9ybWF0SW5mbykg LT4gYm9vbDsKLS0gICAgICAgIGZuIGlzX2ViZHRfZWJsYyhmb3JtYXRfaW5mbzogJkZvbnRGb3Jt YXRJbmZvKSAtPiBib29sOwotLSAgICAgICAgZm4gaXNfdmFyaWFibGUoZm9ybWF0X2luZm86ICZG b250Rm9ybWF0SW5mbykgLT4gYm9vbDsKLS0gICAgICAgIGZuIGlzX3NiaXgoZm9ybWF0X2luZm86 ICZGb250Rm9ybWF0SW5mbykgLT4gYm9vbDsKLS0gICAgICAgIGZuIGlzX2NmZjIoZm9ybWF0X2lu Zm86ICZGb250Rm9ybWF0SW5mbykgLT4gYm9vbDsKLS0gICAgICAgIGZuIGlzX2F2YXIyKGZvcm1h dF9pbmZvOiAmRm9udEZvcm1hdEluZm8pIC0+IGJvb2w7Ci0tICAgIH0KLS19CisrCisrI1tjeHg6 OmJyaWRnZShuYW1lc3BhY2UgPSAiZm9udF9mb3JtYXRfY2hlY2siKV0KKytwdWIgbW9kIGZmaSB7 CisrICAgIGV4dGVybiAiUnVzdCIgeworKyAgICAgICAgdHlwZSBGb250Rm9ybWF0SW5mbzsKKysK KysgICAgICAgIGZuIGdldF9mb250X2Zvcm1hdF9pbmZvKGZvbnRfYnl0ZXM6ICZbdThdKSAtPiBC b3g8Rm9udEZvcm1hdEluZm8+OworKyAgICAgICAgZm4gaXNfY29scnYxKGZvcm1hdF9pbmZvOiAm Rm9udEZvcm1hdEluZm8pIC0+IGJvb2w7CisrICAgICAgICBmbiBpc19jb2xydjAoZm9ybWF0X2lu Zm86ICZGb250Rm9ybWF0SW5mbykgLT4gYm9vbDsKKysgICAgICAgIGZuIGlzX2NiZHRfY2JsYyhm b3JtYXRfaW5mbzogJkZvbnRGb3JtYXRJbmZvKSAtPiBib29sOworKyAgICAgICAgZm4gaXNfZWJk dF9lYmxjKGZvcm1hdF9pbmZvOiAmRm9udEZvcm1hdEluZm8pIC0+IGJvb2w7CisrICAgICAgICBm biBpc192YXJpYWJsZShmb3JtYXRfaW5mbzogJkZvbnRGb3JtYXRJbmZvKSAtPiBib29sOworKyAg ICAgICAgZm4gaXNfc2JpeChmb3JtYXRfaW5mbzogJkZvbnRGb3JtYXRJbmZvKSAtPiBib29sOwor KyAgICAgICAgZm4gaXNfY2ZmMihmb3JtYXRfaW5mbzogJkZvbnRGb3JtYXRJbmZvKSAtPiBib29s OworKyAgICAgICAgZm4gaXNfYXZhcjIoZm9ybWF0X2luZm86ICZGb250Rm9ybWF0SW5mbykgLT4g Ym9vbDsKKysgICAgfQorK30KCmRpZmYgLS1naXQgYS9jaHJvbWl1bS0xNTQtZnRiZnMtcHJpdmF0 ZS12ZXJpZmljYXRpb24tdG9rZW5zLnBhdGNoIGIvY2hyb21pdW0tMTU0LWZ0YmZzLXByaXZhdGUt dmVyaWZpY2F0aW9uLXRva2Vucy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw MDAwLi45MGJmZDYxCi0tLSAvZGV2L251bGwKKysrIGIvY2hyb21pdW0tMTU0LWZ0YmZzLXByaXZh dGUtdmVyaWZpY2F0aW9uLXRva2Vucy5wYXRjaApAQCAtMCwwICsxLDI5NyBAQAordW5nb29nbGVk IGNocm9taXVtIHBhdGNoIGZyb20gaHR0cHM6Ly9naXRodWIuY29tL3VuZ29vZ2xlZC1zb2Z0d2Fy ZS91bmdvb2dsZWQtY2hyb21pdW0vcHVsbC8zOTY2CisKKy0tLSBhL2Nocm9tZS9icm93c2VyL0JV SUxELmduCisrKysgYi9jaHJvbWUvYnJvd3Nlci9CVUlMRC5nbgorQEAgLTEwMjIsNyArMTAyMiw2 IEBAIHNvdXJjZV9zZXQoImNvcmUiKSB7CisgICAgICIvL2Nocm9tZS9icm93c2VyL3ByZWxvYWRp bmcvc2VhcmNoX3ByZWxvYWQ6ZmVhdHVyZSIsCisgICAgICIvL2Nocm9tZS9icm93c2VyL3ByaXZh Y3lfc2FuZGJveDpoZWFkZXJzIiwKKyAgICAgIi8vY2hyb21lL2Jyb3dzZXIvcHJpdmF0ZV9haSIs CistICAgICIvL2Nocm9tZS9icm93c2VyL3ByaXZhdGVfdmVyaWZpY2F0aW9uX3Rva2VucyIsCisg ICAgICIvL2Nocm9tZS9icm93c2VyL3Byb2ZpbGVzOm1pc2MiLAorICAgICAiLy9jaHJvbWUvYnJv d3Nlci9wcm9maWxlczpwcm9maWxlX2lvX2RhdGEiLAorICAgICAiLy9jaHJvbWUvYnJvd3Nlci9w cm9maWxlczpwcm9maWxlc19leHRyYV9wYXJ0cyIsCitAQCAtMjIxNSw3ICsyMjE0LDYgQEAgc291 cmNlX3NldCgiYnJvd3NlciIpIHsKKyAgICAgIi8vY2hyb21lL2Jyb3dzZXIvcHJlbG9hZGluZy9z ZWFyY2hfcHJlbG9hZCIsCisgICAgICIvL2Nocm9tZS9icm93c2VyL3ByaXZhY3kiLAorICAgICAi Ly9jaHJvbWUvYnJvd3Nlci9wcml2YWN5X3NhbmRib3g6aW1wbCIsCistICAgICIvL2Nocm9tZS9i cm93c2VyL3ByaXZhdGVfdmVyaWZpY2F0aW9uX3Rva2VucyIsCisgICAgICIvL2Nocm9tZS9icm93 c2VyL3Byb2ZpbGVzOm1pc2MiLAorICAgICAiLy9jaHJvbWUvYnJvd3Nlci9wcm9maWxlczpwcm9m aWxlX3V0aWxfaW1wbCIsCisgICAgICIvL2Nocm9tZS9icm93c2VyL3Byb2ZpbGVzOnByb2ZpbGVz X2V4dHJhX3BhcnRzX2ltcGwiLAorLS0tIGEvY2hyb21lL2Jyb3dzZXIvYnJvd3NpbmdfZGF0YS9C VUlMRC5nbgorKysrIGIvY2hyb21lL2Jyb3dzZXIvYnJvd3NpbmdfZGF0YS9CVUlMRC5nbgorQEAg LTEyNSw3ICsxMjUsNiBAQCBzb3VyY2Vfc2V0KCJpbXBsIikgeworICAgICAiLy9jaHJvbWUvYnJv d3Nlci9wcmVsb2FkaW5nL3ByZWZldGNoL25vX3N0YXRlX3ByZWZldGNoIiwKKyAgICAgIi8vY2hy b21lL2Jyb3dzZXIvcHJlbG9hZGluZy9wcmVmZXRjaC9zZWFyY2hfcHJlZmV0Y2giLAorICAgICAi Ly9jaHJvbWUvYnJvd3Nlci9wcml2YWN5X3NhbmRib3g6aGVhZGVycyIsCistICAgICIvL2Nocm9t ZS9icm93c2VyL3ByaXZhdGVfdmVyaWZpY2F0aW9uX3Rva2VucyIsCisgICAgICIvL2Nocm9tZS9i cm93c2VyL3Byb2ZpbGVzL2tlZXBfYWxpdmUiLAorICAgICAiLy9jaHJvbWUvYnJvd3Nlci9yZWFk aW5nX2xpc3QiLAorICAgICAiLy9jaHJvbWUvYnJvd3Nlci9zYWZlX2Jyb3dzaW5nIiwKK0BAIC0y NjcsNyArMjY2LDYgQEAgc291cmNlX3NldCgidW5pdF90ZXN0cyIpIHsKKyAgICAgIi8vY2hyb21l L2Jyb3dzZXIvcGF5bWVudHMvYnJvd3Nlcl9iaW5kaW5nOmJyb3dzZXJfYm91bmRfa2V5X2RlbGV0 ZXIiLAorICAgICAiLy9jaHJvbWUvYnJvd3Nlci9wYXltZW50cy9icm93c2VyX2JpbmRpbmc6dGVz dF9zdXBwb3J0IiwKKyAgICAgIi8vY2hyb21lL2Jyb3dzZXIvcGVybWlzc2lvbnMiLAorLSAgICAi Ly9jaHJvbWUvYnJvd3Nlci9wcml2YXRlX3ZlcmlmaWNhdGlvbl90b2tlbnMiLAorICAgICAiLy9j aHJvbWUvYnJvd3Nlci9yZWFkaW5nX2xpc3QiLAorICAgICAiLy9jaHJvbWUvYnJvd3Nlci9zYWZl X2Jyb3dzaW5nOnZlcmRpY3RfY2FjaGVfbWFuYWdlcl9mYWN0b3J5IiwKKyAgICAgIi8vY2hyb21l L2Jyb3dzZXIvc2VnbWVudGF0aW9uX3BsYXRmb3JtIiwKK0BAIC0yOTUsNyArMjkzLDYgQEAgc291 cmNlX3NldCgidW5pdF90ZXN0cyIpIHsKKyAgICAgIi8vY29tcG9uZW50cy9wcml2YWN5X3NhbmRi b3g6cHJpdmFjeV9zYW5kYm94X3NldHRpbmdzX2hlYWRlcnMiLAorICAgICAiLy9jb21wb25lbnRz L3ByaXZhY3lfc2FuZGJveC9wcml2YWN5X3NhbmRib3hfYXR0ZXN0YXRpb25zIiwKKyAgICAgIi8v Y29tcG9uZW50cy9wcml2YWN5X3NhbmRib3gvcHJpdmFjeV9zYW5kYm94X2F0dGVzdGF0aW9uczp0 ZXN0X3N1cHBvcnQiLAorLSAgICAiLy9jb21wb25lbnRzL3ByaXZhdGVfdmVyaWZpY2F0aW9uX3Rv a2Vucy9jb21tb246cHJpdmF0ZV92ZXJpZmljYXRpb25fdG9rZW5zX2RhdGFiYXNlIiwKKyAgICAg Ii8vY29tcG9uZW50cy9yZWFkaW5nX2xpc3QvY29yZTp0ZXN0X3N1cHBvcnQiLAorICAgICAiLy9j b21wb25lbnRzL3NhZmVfYnJvd3NpbmcvY29yZS9icm93c2VyOnZlcmRpY3RfY2FjaGVfbWFuYWdl ciIsCisgICAgICIvL2NvbXBvbmVudHMvc2l0ZV9lbmdhZ2VtZW50L2NvbnRlbnQiLAorLS0tIGEv Y2hyb21lL2Jyb3dzZXIvYnJvd3NpbmdfZGF0YS9jaHJvbWVfYnJvd3NpbmdfZGF0YV9tb2RlbF9k ZWxlZ2F0ZS5jYworKysrIGIvY2hyb21lL2Jyb3dzZXIvYnJvd3NpbmdfZGF0YS9jaHJvbWVfYnJv d3NpbmdfZGF0YV9tb2RlbF9kZWxlZ2F0ZS5jYworQEAgLTEyNywxNSArMTI3LDYgQEAgdm9pZCBD aHJvbWVCcm93c2luZ0RhdGFNb2RlbERlbGVnYXRlOjpHZQorIAorICAgR2V0QWxsTWVkaWFEZXZp Y2VTYWx0RGF0YUtleXMoY29uY3VycmVudC5DcmVhdGVDYWxsYmFjaygpLCB7fSk7CisgCistICBp ZiAoYmFzZTo6RmVhdHVyZUxpc3Q6OklzRW5hYmxlZCgKKy0gICAgICAgICAgbmV0OjpmZWF0dXJl czo6a0VuYWJsZVByaXZhdGVWZXJpZmljYXRpb25Ub2tlbnMpKSB7CistICAgIGlmIChhdXRvKiBw dnRfc2VydmljZSA9CistICAgICAgICAgICAgUHJpdmF0ZVZlcmlmaWNhdGlvblRva2Vuc1NlcnZp Y2VGYWN0b3J5OjpHZXRGb3JQcm9maWxlKHByb2ZpbGVfKSkgeworLSAgICAgIHB2dF9zZXJ2aWNl LT5HZXRUb2tlbklzc3VlcnMoCistICAgICAgICAgIGJhc2U6OkJpbmRPbmNlKCZQcml2YXRlVmVy aWZpY2F0aW9uVG9rZW5Ccm93c2luZ0RhdGFUb0RlbGVnYXRlRW50cmllcykKKy0gICAgICAgICAg ICAgIC5UaGVuKGNvbmN1cnJlbnQuQ3JlYXRlQ2FsbGJhY2soKSkpOworLSAgICB9CistICB9Cisg CisgICAvLyBUT0RPKGNyYnVnLmNvbS80MDIwNTYwMyk6IEltcGxlbWVudCBkYXRhIHJldHJpZXZh bCBmb3IgcmVtYWluaW5nIGRhdGEKKyAgIC8vIHR5cGVzLgorQEAgLTE4MCwyMCArMTcxLDYgQEAg dm9pZCBDaHJvbWVCcm93c2luZ0RhdGFNb2RlbERlbGVnYXRlOjpSZQorICAgfQorICNlbmRpZiAg Ly8gIUJVSUxERkxBRyhJU19BTkRST0lEKQorIAorLSAgaWYgKGJhc2U6OkZlYXR1cmVMaXN0OjpJ c0VuYWJsZWQoCistICAgICAgICAgIG5ldDo6ZmVhdHVyZXM6OmtFbmFibGVQcml2YXRlVmVyaWZp Y2F0aW9uVG9rZW5zKSAmJgorLSAgICAgIHN0b3JhZ2VfdHlwZXMuSGFzKHN0YXRpY19jYXN0PEJy b3dzaW5nRGF0YU1vZGVsOjpTdG9yYWdlVHlwZT4oCistICAgICAgICAgIFN0b3JhZ2VUeXBlOjpr UHJpdmF0ZVZlcmlmaWNhdGlvblRva2VucykpKSB7CistICAgIGlmIChjb25zdCB1cmw6Ok9yaWdp biogb3JpZ2luID0gc3RkOjpnZXRfaWY8dXJsOjpPcmlnaW4+KCZkYXRhX2tleSkpIHsKKy0gICAg ICBpZiAoYXV0byogcHZ0X3NlcnZpY2UgPQorLSAgICAgICAgICAgICAgUHJpdmF0ZVZlcmlmaWNh dGlvblRva2Vuc1NlcnZpY2VGYWN0b3J5OjpHZXRGb3JQcm9maWxlKAorLSAgICAgICAgICAgICAg ICAgIHByb2ZpbGVfKSkgeworLSAgICAgICAgcHZ0X3NlcnZpY2UtPkRlbGV0ZVRva2VucyhiYXNl OjpUaW1lKCksIGJhc2U6OlRpbWU6Ok1heCgpLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBjb25jdXJyZW50LkNyZWF0ZUNsb3N1cmUoKSwKKy0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgc3RkOjp2ZWN0b3I8dXJsOjpPcmlnaW4+eypvcmlnaW59KTsKKy0gICAg ICB9CistICAgIH0KKy0gIH0KKyAKKyAgIHN0ZDo6bW92ZShjb25jdXJyZW50KS5Eb25lKHN0ZDo6 bW92ZShjYWxsYmFjaykpOworIH0KKy0tLSBhL2Nocm9tZS9icm93c2VyL2Jyb3dzaW5nX2RhdGEv Y2hyb21lX2Jyb3dzaW5nX2RhdGFfcmVtb3Zlcl9kZWxlZ2F0ZS5jYworKysrIGIvY2hyb21lL2Jy b3dzZXIvYnJvd3NpbmdfZGF0YS9jaHJvbWVfYnJvd3NpbmdfZGF0YV9yZW1vdmVyX2RlbGVnYXRl LmNjCitAQCAtNzIwLDI5ICs3MjAsNiBAQCB2b2lkIENocm9tZUJyb3dzaW5nRGF0YVJlbW92ZXJE ZWxlZ2F0ZTo6CisgI2VuZGlmICAvLyBCVUlMREZMQUcoSVNfQ0hST01FT1MpCisgICB9CisgCist ICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KKy0gIC8vIERBVEFfVFlQRV9QUklWQVRFX1ZFUklGSUNB VElPTl9UT0tFTlMKKy0gIGlmIChyZW1vdmVfbWFzayAmIGNvbnN0YW50czo6REFUQV9UWVBFX1BS SVZBVEVfVkVSSUZJQ0FUSU9OX1RPS0VOUykgeworLSAgICBpZiAoYmFzZTo6RmVhdHVyZUxpc3Q6 OklzRW5hYmxlZCgKKy0gICAgICAgICAgICBuZXQ6OmZlYXR1cmVzOjprRW5hYmxlUHJpdmF0ZVZl cmlmaWNhdGlvblRva2VucykpIHsKKy0gICAgICBpZiAoYXV0byogcHZ0X3NlcnZpY2UgPQorLSAg ICAgICAgICAgICAgUHJpdmF0ZVZlcmlmaWNhdGlvblRva2Vuc1NlcnZpY2VGYWN0b3J5OjpHZXRG b3JQcm9maWxlKAorLSAgICAgICAgICAgICAgICAgIHByb2ZpbGVfKSkgeworLSAgICAgICAgYXV0 byBkb25lX2Nsb3N1cmUgPSBDcmVhdGVUYXNrQ29tcGxldGlvbkNsb3N1cmUoCistICAgICAgICAg ICAgVHJhY2luZ0RhdGFUeXBlOjprUHJpdmF0ZVZlcmlmaWNhdGlvblRva2Vucyk7CistCistICAg ICAgICBpZiAoZmlsdGVyX2J1aWxkZXItPk1hdGNoZXNBbGxPcmlnaW5zQW5kRG9tYWlucygpKSB7 CistICAgICAgICAgIHB2dF9zZXJ2aWNlLT5EZWxldGVUb2tlbnMoZGVsZXRlX2JlZ2luXywgZGVs ZXRlX2VuZF8sCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RkOjptb3Zl KGRvbmVfY2xvc3VyZSksCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLypp c3N1ZXJzPSovc3RkOjpudWxsb3B0KTsKKy0gICAgICAgIH0gZWxzZSB7CistICAgICAgICAgIHB2 dF9zZXJ2aWNlLT5EZWxldGVUb2tlbnNCeUZpbHRlcigKKy0gICAgICAgICAgICAgIGRlbGV0ZV9i ZWdpbl8sIGRlbGV0ZV9lbmRfLAorLSAgICAgICAgICAgICAgZmlsdGVyX2J1aWxkZXItPkJ1aWxk U3RvcmFnZUtleUZpbHRlcigpLCBzdGQ6Om1vdmUoZG9uZV9jbG9zdXJlKSk7CistICAgICAgICB9 CistICAgICAgfQorLSAgICB9CistICB9CisgCisgICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KKyAg IC8vIERBVEFfVFlQRV9DT05URU5UX1NFVFRJTkdTCistLS0gYS9jaHJvbWUvYnJvd3Nlci9jaHJv bWVfY29udGVudF9icm93c2VyX2NsaWVudC5jYworKysrIGIvY2hyb21lL2Jyb3dzZXIvY2hyb21l X2NvbnRlbnRfYnJvd3Nlcl9jbGllbnQuY2MKK0BAIC02MDA5LDIxICs2MDA5LDYgQEAgQ2hyb21l Q29udGVudEJyb3dzZXJDbGllbnQ6OkNyZWF0ZVVSTExvYQorICAgICByZXN1bHQucHVzaF9iYWNr KHN0ZDo6bW92ZShzaWduaW5fdGhyb3R0bGUpKTsKKyAgIH0KKyAKKy0gIGlmIChiYXNlOjpGZWF0 dXJlTGlzdDo6SXNFbmFibGVkKAorLSAgICAgICAgICBuZXQ6OmZlYXR1cmVzOjprRW5hYmxlUHJp dmF0ZVZlcmlmaWNhdGlvblRva2VucykgJiYKKy0gICAgICByZXF1ZXN0LmlzX291dGVybW9zdF9t YWluX2ZyYW1lKSB7CistICAgIGlmIChhdXRvKiBwdnRfc2VydmljZSA9CistICAgICAgICAgICAg UHJpdmF0ZVZlcmlmaWNhdGlvblRva2Vuc1NlcnZpY2VGYWN0b3J5OjpHZXRGb3JQcm9maWxlKHBy b2ZpbGUpKSB7CistICAgICAgYXV0byB1cmxfbG9hZGVyX2ZhY3RvcnkgPSBwcm9maWxlLT5HZXRE ZWZhdWx0U3RvcmFnZVBhcnRpdGlvbigpCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgLT5HZXRVUkxMb2FkZXJGYWN0b3J5Rm9yQnJvd3NlclByb2Nlc3MoKTsKKy0gICAgICBp ZiAoYXV0byBwdnRfdGhyb3R0bGUgPQorLSAgICAgICAgICAgICAgUHJpdmF0ZVZlcmlmaWNhdGlv blRva2Vuc1VSTExvYWRlclRocm90dGxlOjpDcmVhdGUoCistICAgICAgICAgICAgICAgICAgcHZ0 X3NlcnZpY2UsIHByb2ZpbGUtPklzT2ZmVGhlUmVjb3JkKCksCistICAgICAgICAgICAgICAgICAg c3RkOjptb3ZlKHVybF9sb2FkZXJfZmFjdG9yeSkpKSB7CistICAgICAgICByZXN1bHQucHVzaF9i YWNrKHN0ZDo6bW92ZShwdnRfdGhyb3R0bGUpKTsKKy0gICAgICB9CistICAgIH0KKy0gIH0KKyAK KyAgIGlmIChhdXRvIGNvbnRleHR1YWxfdGFza3NfdGhyb3R0bGUgPQorICAgICAgICAgICBjb250 ZXh0dWFsX3Rhc2tzOjpDb250ZXh0dWFsVGFza3NVUkxMb2FkZXJUaHJvdHRsZTo6TWF5YmVDcmVh dGUoCistLS0gYS9jaHJvbWUvYnJvd3Nlci9jb21wb25lbnRfdXBkYXRlci9CVUlMRC5nbgorKysr IGIvY2hyb21lL2Jyb3dzZXIvY29tcG9uZW50X3VwZGF0ZXIvQlVJTEQuZ24KK0BAIC0xNDcsNyAr MTQ3LDYgQEAgc291cmNlX3NldCgiaW1wbCIpIHsKKyAgICAgIi8vY2hyb21lL2Jyb3dzZXIvbmV0 IiwKKyAgICAgIi8vY2hyb21lL2Jyb3dzZXIvcGFnZV9sb2FkX21ldHJpY3MiLAorICAgICAiLy9j aHJvbWUvYnJvd3Nlci9wZXJtaXNzaW9ucyIsCistICAgICIvL2Nocm9tZS9icm93c2VyL3ByaXZh dGVfdmVyaWZpY2F0aW9uX3Rva2VucyIsCisgICAgICIvL2Nocm9tZS9icm93c2VyL3Byb2ZpbGVz OnByb2ZpbGUiLAorICAgICAiLy9jaHJvbWUvYnJvd3Nlci91cGRhdGVfY2xpZW50IiwKKyAgICAg Ii8vY2hyb21lL2NvbW1vbiIsCitAQCAtMTYzLDcgKzE2Miw2IEBAIHNvdXJjZV9zZXQoImltcGwi KSB7CisgICAgICIvL2NvbXBvbmVudHMvcGVybWlzc2lvbnMiLAorICAgICAiLy9jb21wb25lbnRz L3ByaXZhY3lfc2FuZGJveDpmZWF0dXJlcyIsCisgICAgICIvL2NvbXBvbmVudHMvcHJpdmFjeV9z YW5kYm94L3ByaXZhY3lfc2FuZGJveF9hdHRlc3RhdGlvbnMiLAorLSAgICAiLy9jb21wb25lbnRz L3ByaXZhdGVfdmVyaWZpY2F0aW9uX3Rva2Vucy9jb21tb246cHJpdmF0ZV92ZXJpZmljYXRpb25f dG9rZW5zX2lzc3Vlcl9jb25maWciLAorICAgICAiLy9jb21wb25lbnRzL3NhZmVfYnJvd3Npbmcv Y29yZS9jb21tb246ZmVhdHVyZXMiLAorICAgICAiLy9jb21wb25lbnRzL3NlYXJjaCIsCisgICAg ICIvL2NvbXBvbmVudHMvc2VjdXJpdHlfaW50ZXJzdGl0aWFscy9jb250ZW50OnNlY3VyaXR5X2lu dGVyc3RpdGlhbF9wYWdlIiwKKy0tLSBhL2Nocm9tZS9icm93c2VyL2NvbXBvbmVudF91cGRhdGVy L3ByaXZhdGVfdmVyaWZpY2F0aW9uX3Rva2Vuc19pbnN0YWxsZXIuY2MKKysrKyBiL2Nocm9tZS9i cm93c2VyL2NvbXBvbmVudF91cGRhdGVyL3ByaXZhdGVfdmVyaWZpY2F0aW9uX3Rva2Vuc19pbnN0 YWxsZXIuY2MKK0BAIC0yNSwzMiArMjUsNiBAQCBuYW1lc3BhY2UgY29tcG9uZW50X3VwZGF0ZXIg eworIAorIHZvaWQgUmVnaXN0ZXJQcml2YXRlVmVyaWZpY2F0aW9uVG9rZW5zQ29tcG9uZW50SWZF bmFibGVkKAorICAgICBDb21wb25lbnRVcGRhdGVTZXJ2aWNlKiBjdXMpIHsKKy0gIGlmICghYmFz ZTo6RmVhdHVyZUxpc3Q6OklzRW5hYmxlZCgKKy0gICAgICAgICAgbmV0OjpmZWF0dXJlczo6a0Vu YWJsZVByaXZhdGVWZXJpZmljYXRpb25Ub2tlbnMpKSB7CistICAgIHJldHVybjsKKy0gIH0KKy0K Ky0gIGF1dG8gaW5zdGFsbGVyID0gYmFzZTo6TWFrZVJlZkNvdW50ZWQ8Q29tcG9uZW50SW5zdGFs bGVyPigKKy0gICAgICBzdGQ6Om1ha2VfdW5pcXVlPFByaXZhdGVWZXJpZmljYXRpb25Ub2tlbnNJ bnN0YWxsZXJQb2xpY3k+KAorLSAgICAgICAgICBiYXNlOjpCaW5kUmVwZWF0aW5nKAorLSAgICAg ICAgICAgICAgW10oc2NvcGVkX3JlZnB0cjxwcml2YXRlX3ZlcmlmaWNhdGlvbl90b2tlbnM6Ogor LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHJpdmF0ZVZlcmlmaWNhdGlvblRv a2Vuc0lzc3VlckNvbmZpZz4KKy0gICAgICAgICAgICAgICAgICAgICBpc3N1ZXJfY29uZmlnKSB7 CistICAgICAgICAgICAgICAgIFByaXZhdGVWZXJpZmljYXRpb25Ub2tlbnNTZXJ2aWNlRmFjdG9y eTo6U2V0R2xvYmFsSXNzdWVyQ29uZmlnKAorLSAgICAgICAgICAgICAgICAgICAgaXNzdWVyX2Nv bmZpZyk7CistICAgICAgICAgICAgICAgIGlmIChnX2Jyb3dzZXJfcHJvY2VzcyAmJiBnX2Jyb3dz ZXJfcHJvY2Vzcy0+cHJvZmlsZV9tYW5hZ2VyKCkpIHsKKy0gICAgICAgICAgICAgICAgICBmb3Ig KFByb2ZpbGUqIHByb2ZpbGUgOiBnX2Jyb3dzZXJfcHJvY2Vzcy0+cHJvZmlsZV9tYW5hZ2VyKCkK Ky0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLT5HZXRMb2Fk ZWRQcm9maWxlcygpKSB7CistICAgICAgICAgICAgICAgICAgICBpZiAoUHJpdmF0ZVZlcmlmaWNh dGlvblRva2Vuc1NlcnZpY2UqIHNlcnZpY2UgPQorLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICBQcml2YXRlVmVyaWZpY2F0aW9uVG9rZW5zU2VydmljZUZhY3Rvcnk6OgorLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgR2V0Rm9yUHJvZmlsZUlmRXhpc3RzKHByb2ZpbGUpKSB7Cist ICAgICAgICAgICAgICAgICAgICAgIHNlcnZpY2UtPlNldElzc3VlckNvbmZpZyhpc3N1ZXJfY29u ZmlnKTsKKy0gICAgICAgICAgICAgICAgICAgIH0KKy0gICAgICAgICAgICAgICAgICB9CistICAg ICAgICAgICAgICAgIH0KKy0gICAgICAgICAgICAgIH0pKSk7CistCistICBpbnN0YWxsZXItPlJl Z2lzdGVyKGN1cywgYmFzZTo6T25jZUNsb3N1cmUoKSk7CisgfQorIAorIH0gIC8vIG5hbWVzcGFj ZSBjb21wb25lbnRfdXBkYXRlcgorLS0tIGEvY2hyb21lL2Jyb3dzZXIvcHJpdmF0ZV92ZXJpZmlj YXRpb25fdG9rZW5zL0JVSUxELmduCisrKysgYi9jaHJvbWUvYnJvd3Nlci9wcml2YXRlX3Zlcmlm aWNhdGlvbl90b2tlbnMvQlVJTEQuZ24KK0BAIC0yNiwxMSArMjYsNiBAQCBzdGF0aWNfbGlicmFy eSgicHJpdmF0ZV92ZXJpZmljYXRpb25fdG9rCisgICAgICIvL2Nocm9tZS9icm93c2VyL3Byb2Zp bGVzOnByb2ZpbGUiLAorICAgICAiLy9jb21wb25lbnRzL2NvbnRlbnRfc2V0dGluZ3MvY29yZS9i cm93c2VyIiwKKyAgICAgIi8vY29tcG9uZW50cy9rZXllZF9zZXJ2aWNlL2NvcmUiLAorLSAgICAi Ly9jb21wb25lbnRzL3ByaXZhdGVfdmVyaWZpY2F0aW9uX3Rva2Vucy9jb21tb246cHJpdmFjeV9w YXNzX2F0aG1fYmF0Y2hfcmVxdWVzdCIsCistICAgICIvL2NvbXBvbmVudHMvcHJpdmF0ZV92ZXJp ZmljYXRpb25fdG9rZW5zL2NvbW1vbjpwcml2YXRlX3ZlcmlmaWNhdGlvbl90b2tlbnNfZmV0Y2hl ciIsCistICAgICIvL2NvbXBvbmVudHMvcHJpdmF0ZV92ZXJpZmljYXRpb25fdG9rZW5zL2NvbW1v bjpwcml2YXRlX3ZlcmlmaWNhdGlvbl90b2tlbnNfaXNzdWVyX2NvbmZpZyIsCistICAgICIvL2Nv bXBvbmVudHMvcHJpdmF0ZV92ZXJpZmljYXRpb25fdG9rZW5zL2NvbW1vbjpwcml2YXRlX3Zlcmlm aWNhdGlvbl90b2tlbnNfcGFyYW1ldGVycyIsCistICAgICIvL2NvbXBvbmVudHMvcHJpdmF0ZV92 ZXJpZmljYXRpb25fdG9rZW5zL2NvbW1vbjpwcml2YXRlX3ZlcmlmaWNhdGlvbl90b2tlbnNfc3Rv cmUiLAorICAgICAiLy9jb250ZW50L3B1YmxpYy9icm93c2VyIiwKKyAgICAgIi8vbmV0IiwKKyAg ICAgIi8vc2VydmljZXMvbmV0d29yay9wdWJsaWMvY3BwIiwKK0BAIC00OSw5ICs0NCw2IEBAIHNv dXJjZV9zZXQoImJyb3dzZXJfdGVzdHMiKSB7CisgICAgICIvL2Nocm9tZS9icm93c2VyL2NvbnRl bnRfc2V0dGluZ3M6Y29udGVudF9zZXR0aW5nc19mYWN0b3J5IiwKKyAgICAgIi8vY2hyb21lL3Rl c3Q6dGVzdF9zdXBwb3J0IiwKKyAgICAgIi8vY29tcG9uZW50cy9jb250ZW50X3NldHRpbmdzL2Nv cmUvY29tbW9uIiwKKy0gICAgIi8vY29tcG9uZW50cy9wcml2YXRlX3ZlcmlmaWNhdGlvbl90b2tl bnMvY29tbW9uOmF0aG1fdGVzdF9pc3N1ZXIiLAorLSAgICAiLy9jb21wb25lbnRzL3ByaXZhdGVf dmVyaWZpY2F0aW9uX3Rva2Vucy9jb21tb246cHJpdmF0ZV92ZXJpZmljYXRpb25fdG9rZW5zX2Rh dGFiYXNlIiwKKy0gICAgIi8vY29tcG9uZW50cy9wcml2YXRlX3ZlcmlmaWNhdGlvbl90b2tlbnMv Y29tbW9uOnByaXZhdGVfdmVyaWZpY2F0aW9uX3Rva2Vuc19pc3N1ZXJfY29uZmlnIiwKKyAgICAg Ii8vbmV0OnRlc3Rfc3VwcG9ydCIsCisgICAgICIvL3NlcnZpY2VzL25ldHdvcms6dGVzdF9zdXBw b3J0IiwKKyAgICAgIi8vdXJsIiwKK0BAIC03MiwxMSArNjQsNiBAQCBzb3VyY2Vfc2V0KCJ1bml0 X3Rlc3RzIikgeworICAgICAiLy9jaHJvbWUvdGVzdDp0ZXN0X3N1cHBvcnQiLAorICAgICAiLy9j b21wb25lbnRzL2NvbnRlbnRfc2V0dGluZ3MvY29yZS9icm93c2VyIiwKKyAgICAgIi8vY29tcG9u ZW50cy9jb250ZW50X3NldHRpbmdzL2NvcmUvY29tbW9uIiwKKy0gICAgIi8vY29tcG9uZW50cy9w cml2YXRlX3ZlcmlmaWNhdGlvbl90b2tlbnMvY29tbW9uOmF0aG1fdGVzdF9pc3N1ZXIiLAorLSAg ICAiLy9jb21wb25lbnRzL3ByaXZhdGVfdmVyaWZpY2F0aW9uX3Rva2Vucy9jb21tb246cHJpdmF0 ZV92ZXJpZmljYXRpb25fdG9rZW5zX2RhdGFiYXNlIiwKKy0gICAgIi8vY29tcG9uZW50cy9wcml2 YXRlX3ZlcmlmaWNhdGlvbl90b2tlbnMvY29tbW9uOnByaXZhdGVfdmVyaWZpY2F0aW9uX3Rva2Vu c19pc3N1ZXJfY29uZmlnIiwKKy0gICAgIi8vY29tcG9uZW50cy9wcml2YXRlX3ZlcmlmaWNhdGlv bl90b2tlbnMvY29tbW9uOnByaXZhdGVfdmVyaWZpY2F0aW9uX3Rva2Vuc19wYXJhbWV0ZXJzIiwK Ky0gICAgIi8vY29tcG9uZW50cy9wcml2YXRlX3ZlcmlmaWNhdGlvbl90b2tlbnMvY29tbW9uOnRl c3Rfc3VwcG9ydCIsCisgICAgICIvL2NvbnRlbnQvdGVzdDp0ZXN0X3N1cHBvcnQiLAorICAgICAi Ly9uZXQiLAorICAgICAiLy9zZXJ2aWNlcy9uZXR3b3JrOnRlc3Rfc3VwcG9ydCIsCistLS0gYS9j aHJvbWUvYnJvd3Nlci9wcm9maWxlcy9CVUlMRC5nbgorKysrIGIvY2hyb21lL2Jyb3dzZXIvcHJv ZmlsZXMvQlVJTEQuZ24KK0BAIC04MDksNyArODA5LDYgQEAgc291cmNlX3NldCgicHJvZmlsZXNf ZXh0cmFfcGFydHNfaW1wbCIpCisgICAgICIvL2Nocm9tZS9icm93c2VyL3ByaXZhY3lfc2FuZGJv eDpoZWFkZXJzIiwKKyAgICAgIi8vY2hyb21lL2Jyb3dzZXIvcHJpdmF0ZV9haSIsCisgICAgICIv L2Nocm9tZS9icm93c2VyL3ByaXZhdGVfaW5zaWdodHMiLAorLSAgICAiLy9jaHJvbWUvYnJvd3Nl ci9wcml2YXRlX3ZlcmlmaWNhdGlvbl90b2tlbnMiLAorICAgICAiLy9jaHJvbWUvYnJvd3Nlci9w dXNoX21lc3NhZ2luZyIsCisgICAgICIvL2Nocm9tZS9icm93c2VyL3JlYWRpbmdfbGlzdCIsCisg ICAgICIvL2Nocm9tZS9icm93c2VyL3JlZHVjZV9hY2NlcHRfbGFuZ3VhZ2UiLAorLS0tIGEvY2hy b21lL2Jyb3dzZXIvcHJvZmlsZXMvY2hyb21lX2Jyb3dzZXJfbWFpbl9leHRyYV9wYXJ0c19wcm9m aWxlcy5jYworKysrIGIvY2hyb21lL2Jyb3dzZXIvcHJvZmlsZXMvY2hyb21lX2Jyb3dzZXJfbWFp bl9leHRyYV9wYXJ0c19wcm9maWxlcy5jYworQEAgLTEzNzEsNyArMTM3MSw2IEBAIHZvaWQgQ2hy b21lQnJvd3Nlck1haW5FeHRyYVBhcnRzUHJvZmlsZXMKKyAgIFByaXZhY3lNZXRyaWNzU2Vydmlj ZUZhY3Rvcnk6OkdldEluc3RhbmNlKCk7CisgICBQcml2YWN5U2FuZGJveFNlcnZpY2VGYWN0b3J5 OjpHZXRJbnN0YW5jZSgpOworICAgUHJpdmFjeVNhbmRib3hTZXR0aW5nc0ZhY3Rvcnk6OkdldElu c3RhbmNlKCk7CistICBQcml2YXRlVmVyaWZpY2F0aW9uVG9rZW5zU2VydmljZUZhY3Rvcnk6Okdl dEluc3RhbmNlKCk7CisgICBwcml2YXRlX2FpOjpQcml2YXRlQWlTZXJ2aWNlRmFjdG9yeTo6R2V0 SW5zdGFuY2UoKTsKKyAgIFByb2ZpbGVOZXR3b3JrQ29udGV4dFNlcnZpY2VGYWN0b3J5OjpHZXRJ bnN0YW5jZSgpOworICAgUHJvZmlsZVBhc3N3b3JkU3RvcmVGYWN0b3J5OjpHZXRJbnN0YW5jZSgp OworLS0tIGEvY2hyb21lL3Rlc3QvQlVJTEQuZ24KKysrKyBiL2Nocm9tZS90ZXN0L0JVSUxELmdu CitAQCAtMjEzNyw3ICsyMTM3LDYgQEAgaWYgKCFpc19hbmRyb2lkKSB7CisgICAgICAgIi8vY2hy b21lL2Jyb3dzZXIvcHJpdmFjeV9zYW5kYm94OmhlYWRlcnMiLAorICAgICAgICIvL2Nocm9tZS9i cm93c2VyL3ByaXZhY3lfc2FuZGJveDp0ZXN0X3N1cHBvcnQiLAorICAgICAgICIvL2Nocm9tZS9i cm93c2VyL3ByaXZhdGVfYWkiLAorLSAgICAgICIvL2Nocm9tZS9icm93c2VyL3ByaXZhdGVfdmVy aWZpY2F0aW9uX3Rva2Vuczpicm93c2VyX3Rlc3RzIiwKKyAgICAgICAiLy9jaHJvbWUvYnJvd3Nl ci9wcm9maWxlX3Jlc2V0dGVyIiwKKyAgICAgICAiLy9jaHJvbWUvYnJvd3Nlci9wcm9maWxlX3Jl c2V0dGVyOmJyb3dzZXJfdGVzdHMiLAorICAgICAgICIvL2Nocm9tZS9icm93c2VyL3Byb2ZpbGVz IiwKK0BAIC01NDAxLDcgKzU0MDAsNiBAQCB0ZXN0KCJ1bml0X3Rlc3RzIikgeworICAgICAiLy9j aHJvbWUvYnJvd3Nlci9wcmVsb2FkaW5nL3ByZXJlbmRlcjp1bml0X3Rlc3RzIiwKKyAgICAgIi8v Y2hyb21lL2Jyb3dzZXIvcHJpdmFjeV9zYW5kYm94OnVuaXRfdGVzdHMiLAorICAgICAiLy9jaHJv bWUvYnJvd3Nlci9wcml2YXRlX2FpOnVuaXRfdGVzdHMiLAorLSAgICAiLy9jaHJvbWUvYnJvd3Nl ci9wcml2YXRlX3ZlcmlmaWNhdGlvbl90b2tlbnM6dW5pdF90ZXN0cyIsCisgICAgICIvL2Nocm9t ZS9icm93c2VyL3Byb2ZpbGVzIiwKKyAgICAgIi8vY2hyb21lL2Jyb3dzZXIvcHJvZmlsZXM6bWlz YyIsCisgICAgICIvL2Nocm9tZS9icm93c2VyL3Byb2ZpbGVzOnByb2ZpbGVfZG93bmxvYWRlciIs CistLS0gYS9jb21wb25lbnRzL0JVSUxELmduCisrKysgYi9jb21wb25lbnRzL0JVSUxELmduCitA QCAtMzE0LDcgKzMxNCw2IEBAIHRlc3QoImNvbXBvbmVudHNfdW5pdHRlc3RzIikgeworICAgICAi Ly9jb21wb25lbnRzL3Bvd2VyX21ldHJpY3M6dW5pdF90ZXN0cyIsCisgICAgICIvL2NvbXBvbmVu dHMvcHJlZnM6dW5pdF90ZXN0cyIsCisgICAgICIvL2NvbXBvbmVudHMvcHJpdmFjeV9zYW5kYm94 OnVuaXRfdGVzdHMiLAorLSAgICAiLy9jb21wb25lbnRzL3ByaXZhdGVfdmVyaWZpY2F0aW9uX3Rv a2Vuczp1bml0X3Rlc3RzIiwKKyAgICAgIi8vY29tcG9uZW50cy9wcm9maWxlX21ldHJpY3M6dW5p dF90ZXN0cyIsCisgICAgICIvL2NvbXBvbmVudHMvcHJvdG9fZXh0cmFzOnVuaXRfdGVzdHMiLAor ICAgICAiLy9jb21wb25lbnRzL3Byb3h5X2NvbmZpZzp1bml0X3Rlc3RzIiwKKy0tLSBhL2NvbXBv bmVudHMvY29tcG9uZW50X3VwZGF0ZXIvaW5zdGFsbGVyX3BvbGljaWVzL0JVSUxELmduCisrKysg Yi9jb21wb25lbnRzL2NvbXBvbmVudF91cGRhdGVyL2luc3RhbGxlcl9wb2xpY2llcy9CVUlMRC5n bgorQEAgLTM4LDcgKzM4LDYgQEAgc3RhdGljX2xpYnJhcnkoImluc3RhbGxlcl9wb2xpY2llc19u b19jbworICAgICAiLy9jb21wb25lbnRzL2xvb2thbGlrZXMvY29yZTpwcm90byIsCisgICAgICIv L2NvbXBvbmVudHMvbG9va2FsaWtlcy9jb3JlOnNhZmV0eV90aXBzIiwKKyAgICAgIi8vY29tcG9u ZW50cy9wcmVmcyIsCistICAgICIvL2NvbXBvbmVudHMvcHJpdmF0ZV92ZXJpZmljYXRpb25fdG9r ZW5zL2NvbW1vbjpwcml2YXRlX3ZlcmlmaWNhdGlvbl90b2tlbnNfaXNzdWVyX2NvbmZpZyIsCisg ICAgICIvL2NvbXBvbmVudHMvdXBkYXRlX2NsaWVudCIsCisgICAgICIvL21vam8vcHVibGljL2Nw cC9iYXNlOnByb3RvYnVmX3N1cHBvcnQiLAorICAgICAiLy9zZXJ2aWNlcy9uZXR3b3JrL3B1Ymxp Yy9jcHAiLAorQEAgLTEwNiw4ICsxMDUsNiBAQCBzb3VyY2Vfc2V0KCJ1bml0X3Rlc3RzIikgewor ICAgICAiLy9jb21wb25lbnRzL2hpc3RvcnlfZW1iZWRkaW5ncy9jb3JlIiwKKyAgICAgIi8vY29t cG9uZW50cy9vcHRpbWl6YXRpb25fZ3VpZGUvY29yZSIsCisgICAgICIvL2NvbXBvbmVudHMvb3B0 aW1pemF0aW9uX2d1aWRlL3Byb3RvOm9wdGltaXphdGlvbl9ndWlkZV9wcm90byIsCistICAgICIv L2NvbXBvbmVudHMvcHJpdmF0ZV92ZXJpZmljYXRpb25fdG9rZW5zL2NvbW1vbjpwcml2YXRlX3Zl cmlmaWNhdGlvbl90b2tlbnNfaXNzdWVyX2NvbmZpZyIsCistICAgICIvL2NvbXBvbmVudHMvcHJp dmF0ZV92ZXJpZmljYXRpb25fdG9rZW5zL2NvbW1vbjp0ZXN0X3N1cHBvcnQiLAorICAgICAiLy9t b2pvL3B1YmxpYy9jcHAvYmFzZTpwcm90b2J1Zl9zdXBwb3J0IiwKKyAgICAgIi8vc2VydmljZXMv bmV0d29yay9wdWJsaWMvY3BwIiwKKyAgICAgIi8vdGVzdGluZy9nbW9jayIsCgpkaWZmIC0tZ2l0 IGEvY2hyb21pdW0uc3BlYyBiL2Nocm9taXVtLnNwZWMKaW5kZXggNDdlZDljOC4uNmU3MTQ5MSAx MDA2NDQKLS0tIGEvY2hyb21pdW0uc3BlYworKysgYi9jaHJvbWl1bS5zcGVjCkBAIC0zMjcsOCAr MzI3LDcgQEAgUGF0Y2g5MzogY2hyb21pdW0tMTQxLWNzc3Nfc3R5bGVfc2hlZXQucGF0Y2gKIAog IyByZXZlcnQgdGhlIHBhdGNoIHRvIGZpeCB0aGUgYnVpbGQgZXJyb3I6ICJsZC5sbGQ6IGVycm9y OiB1bmRlZmluZWQgc3ltYm9sOiBfX3Nhbml0aXplcl9zZXRfZGVhdGhfY2FsbGJhY2siCiBQYXRj aDk0OiBjaHJvbWl1bS0xNDgtdjgtc2FuaXRpemUtYnVpbGQtZXJyb3IucGF0Y2gKLSMgRml4IHJ1 c3QgYnVpbGQgZXJyb3IKLVBhdGNoOTU6IGNocm9taXVtLTE1Mi1idWlsZC1lcnJvci1ydXN0LWNi b3IucGF0Y2gKKwogIyBGVEJGUyAtIGVycm9yOiBjYW5ub3QgZmluZCBhdHRyaWJ1dGUgYHNhbml0 aXplYCBpbiB0aGlzIHNjb3BlCiAjICAgIC0tPiAuLi8uLi90aGlyZF9wYXJ0eS9jcmFiYnlhdmlm L3NyYy9zcmMvY2FwaS9pby5yczoyMTA6NDEKICMgICAgIHwKQEAgLTQwMyw4ICs0MDIsMTQgQEAg UGF0Y2gzMTE6IGNocm9taXVtLTEyMy1mc3RhY2stcHJvdGVjdG9yLXN0cm9uZy5wYXRjaAogIyBF UlJPUiBhdCAvL2J1aWxkL3J1c3QvY3J1Yml0L0JVSUxELmduOjEyOjU6IAogIyBVbmFibGUgdG8g bG9hZCB0aGlyZF9wYXJ0eS9ydXN0LXRvb2xjaGFpbi9saWIvdGhpcmRfcGFydHkvY3J1Yml0L3N1 cHBvcnQvcnNfc3RkL0JVSUxELmduCiAjICIkY3J1Yml0X3NyY19kaXIvc3VwcG9ydC9yc19zdGQ6 cnNfc3RkX2NwcCIsCisjIFBhdGNoIGZyb20gaHR0cHM6Ly9naXRodWIuY29tL3VuZ29vZ2xlZC1z b2Z0d2FyZS91bmdvb2dsZWQtY2hyb21pdW0vcHVsbC8zOTY2CiBQYXRjaDMxMjogY2hyb21pdW0t MTU0LWZ0YmZzLWNydWJpdC5wYXRjaAogCisjIEZpeCBGVEJGUzoKKyMgRVJST1IgVW5yZXNvbHZl ZCBkZXBlbmRlbmNpZXMKKyMgUGF0Y2ggZnJvbSBodHRwczovL2dpdGh1Yi5jb20vdW5nb29nbGVk LXNvZnR3YXJlL3VuZ29vZ2xlZC1jaHJvbWl1bS9wdWxsLzM5NjYKK1BhdGNoMzEzOiBjaHJvbWl1 bS0xNTQtZnRiZnMtcHJpdmF0ZS12ZXJpZmljYXRpb24tdG9rZW5zLnBhdGNoCisKICMgb2xkIHJ1 c3QgdmVyc2lvbiBjYXVzZXMgYnVpbGQgZXJyb3Igb24gZWw4OgogIyBlcnJvcltFMDU5OV06IG5v IG1ldGhvZCBuYW1lZCBgaXNfbm9uZV9vcmAgZm91bmQgZm9yIGVudW0gYE9wdGlvbmAgaW4gdGhl IGN1cnJlbnQgc2NvcGUKIFBhdGNoMzE0OiBjaHJvbWl1bS0xMzYtcnVzdC1za3JpZmEtYnVpbGQt ZXJyb3IucGF0Y2gKQEAgLTExMDgsNyArMTExMyw2IEBAIFF0NiBVSSBmb3IgY2hyb21pdW0uCiAl cGF0Y2ggLVA5MiAtcDEgLWIgLm5vZGVqcy1jaGVja3ZlcnNpb24KICVwYXRjaCAtUDkzIC1wMSAt YiAuZnRiZnMtY3Nzc19zdHlsZV9zaGVldAogJXBhdGNoIC1QOTQgLXAxIC1SIC1iIC52OC1zYW5p dGl6ZS1idWlsZC1lcnJvcgotJXBhdGNoIC1QOTUgLXAxIC1iIC5idWlsZC1lcnJvci1ydXN0LWNi b3IKICVwYXRjaCAtUDk2IC1wMSAtYiAuY3JhYmJ5YXZpZi1mdGJmcy1vbGQtcnVzdAogCiAlaWYg ISAle2J1bmRsZWZmbXBlZ2ZyZWV9CkBAIC0xMTYyLDcgKzExNjYsOCBAQCBRdDYgVUkgZm9yIGNo cm9taXVtLgogJXBhdGNoIC1QMzE1IC1wMSAtYiAucnVzdGMtZnRiZnMKICVwYXRjaCAtUDMxMCAt cDEgLWIgLnJ1c3QtRlRCRlMtc3VwcHJlc3Mtd2FybmluZ3MKICVwYXRjaCAtUDMxMSAtcDEgLWIg LmZzdGFjay1wcm90ZWN0b3Itc3Ryb25nCi0lcGF0Y2ggLVAzMTIgLXAxIC1SIC1iIC5mdGJmcy1j cnViaXQKKyVwYXRjaCAtUDMxMiAtcDEgLWIgLmZ0YmZzLWNydWJpdAorJXBhdGNoIC1QMzEzIC1w MSAtYiAuZnRiZnMtcHJpdmF0ZS12ZXJpZmljYXRpb24tdG9rZW5zCiAKICVpZiAwJXs/cmhlbH0g JiYgMCV7P3JoZWx9IDwgMTAKICVwYXRjaCAtUDM1NCAtcDEgLWIgLnNwbGl0LXRocmVzaG9sZC1m b3ItcmVnLXdpdGgtaGludApAQCAtMTQwMyw3ICsxNDA4LDYgQEAgQ0hST01JVU1fQ09SRV9HTl9E RUZJTkVTKz0nIGhvc3RfdG9vbGNoYWluPSIvL2J1aWxkL3Rvb2xjaGFpbi9saW51eC91bmJ1bmRs ZTpkZWYKIENIUk9NSVVNX0JST1dTRVJfR05fREVGSU5FUys9JyB1c2VfY3VzdG9tX2xpYmN4eD1m YWxzZScKICVlbmRpZgogQ0hST01JVU1fQ09SRV9HTl9ERUZJTkVTKz0nIGlzX2RlYnVnPWZhbHNl IGRjaGVja19hbHdheXNfb249ZmFsc2UgZGNoZWNrX2lzX2NvbmZpZ3VyYWJsZT1mYWxzZScKLUNI Uk9NSVVNX0NPUkVfR05fREVGSU5FUys9JyBlbmFibGVfZW50ZXJwcmlzZV9jb21wYW5pb249ZmFs c2UnCiBDSFJPTUlVTV9DT1JFX0dOX0RFRklORVMrPScgc3lzdGVtX2xpYmRpcj0iJXtfbGlifSIn CiAKICVpZiAle29mZmljaWFsX2J1aWxkfQo=