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: Benson Muite To: git-commits@fedoraproject.org Subject: [rpms/lfortran] epel10: Remove unneeded patch Date: Thu, 16 Jul 2026 14:32:02 GMT Message-ID: <178421232287.1.17985918157967148706.rpms-lfortran-7cadd81923fc@fedoraproject.org> List-ID: X-Git-Repo: rpms/lfortran X-Git-Branch: epel10 X-Git-Rev: 7cadd81923fc968ef14151866db4c13c5d9953d8 QSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KClJlcG8gICA6IHJwbXMvbGZvcnRyYW4KQnJh bmNoIDogZXBlbDEwCkNvbW1pdCA6IDdjYWRkODE5MjNmYzk2OGVmMTQxNTE4NjZkYjRjMTNjNWQ5 OTUzZDgKQXV0aG9yIDogQmVuc29uIE11aXRlIDxmZWQ1MDBAZmVkb3JhcHJvamVjdC5vcmc+CkRh dGUgICA6IDIwMjUtMDMtMTZUMDg6NDQ6MTUrMDM6MDAKU3RhdHMgIDogKzAvLTM3OSBpbiAxIGZp bGUocykKVVJMICAgIDogaHR0cHM6Ly9zcmMuZmVkb3JhcHJvamVjdC5vcmcvcnBtcy9sZm9ydHJh bi9jLzdjYWRkODE5MjNmYzk2OGVmMTQxNTE4NjZkYjRjMTNjNWQ5OTUzZDg/YnJhbmNoPWVwZWwx MAoKTG9nOgpSZW1vdmUgdW5uZWVkZWQgcGF0Y2gKCi0tLQpkaWZmIC0tZ2l0IGEvNjU3MS5wYXRj aCBiLzY1NzEucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDY3MTJkNGUuLjAw MDAwMDAKLS0tIGEvNjU3MS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDM3OSArMCwwIEBACi1G cm9tIGY3Nzg0Y2UxY2RjNTQ1NjUwNzY1Mjc4ZjM4YWIzZWMzODMyOWUyMWIgTW9uIFNlcCAxNyAw MDowMDowMCAyMDAxCi1Gcm9tOiA9P1VURi04P3E/T25kPUM1PTk5ZWo9MjA9QzQ9OENlcnQ9QzM9 QURrPz0gPG9uZHJlakBjZXJ0aWsudXM+Ci1EYXRlOiBNb24sIDEwIE1hciAyMDI1IDE1OjI0OjQw IC0wNjAwCi1TdWJqZWN0OiBbUEFUQ0ggMS8yXSBzZXRPcGFxdWVQb2ludGVycyBpcyByZW1vdmVk IGluIExMVk0gMjAKLQotLS0tCi0gc3JjL2xpYmFzci9jb2RlZ2VuL2Fzcl90b19sbHZtLmNwcCB8 IDIgKy0KLSAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKLQot ZGlmZiAtLWdpdCBhL3NyYy9saWJhc3IvY29kZWdlbi9hc3JfdG9fbGx2bS5jcHAgYi9zcmMvbGli YXNyL2NvZGVnZW4vYXNyX3RvX2xsdm0uY3BwCi1pbmRleCAxZDZmNTA2ZTZkLi5hYWY0YWVhNDc3 IDEwMDY0NAotLS0tIGEvc3JjL2xpYmFzci9jb2RlZ2VuL2Fzcl90b19sbHZtLmNwcAotKysrIGIv c3JjL2xpYmFzci9jb2RlZ2VuL2Fzcl90b19sbHZtLmNwcAotQEAgLTEwNzc5LDcgKzEwNzc5LDcg QEAgUmVzdWx0PHN0ZDo6dW5pcXVlX3B0cjxMTFZNTW9kdWxlPj4gYXNyX3RvX2xsdm0oQVNSOjpU cmFuc2xhdGlvblVuaXRfdCAmYXNyLAotICAgICAgICAgQ29tcGlsZXJPcHRpb25zICZjbywgY29u c3Qgc3RkOjpzdHJpbmcgJnJ1bl9mbiwKLSAgICAgICAgIGNvbnN0IHN0ZDo6c3RyaW5nICZpbmZp bGUpCi0gewotLSNpZiBMTFZNX1ZFUlNJT05fTUFKT1IgPj0gMTUKLSsjaWYgTExWTV9WRVJTSU9O X01BSk9SID49IDE1ICYmIExMVk1fVkVSU0lPTl9NQUpPUiA8PSAxOQotICAgICBjb250ZXh0LnNl dE9wYXF1ZVBvaW50ZXJzKGZhbHNlKTsKLSAjZW5kaWYKLSAgICAgQVNSVG9MTFZNVmlzaXRvciB2 KGFsLCBjb250ZXh0LCBpbmZpbGUsIGNvLCBkaWFnbm9zdGljcyk7Ci0KLUZyb20gOWM5MTc5YTVl ZWZhMDE4MTE5YTc4YzAwNzRjMTk0MTZlZjMyMGExYiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEK LUZyb206ID0/VVRGLTg/cT9PbmQ9QzU9OTllaj0yMD1DND04Q2VydD1DMz1BRGs/PSA8b25kcmVq QGNlcnRpay51cz4KLURhdGU6IE1vbiwgMTAgTWFyIDIwMjUgMTU6MjU6NDEgLTA2MDAKLVN1Ympl Y3Q6IFtQQVRDSCAyLzJdIFVzZSBtb2R1bGUtPmdldERhdGFMYXlvdXQoKSBmb3IgTExWTSAyMAot Ci0tLS0KLSBzcmMvbGliYXNyL2NvZGVnZW4vYXNyX3RvX2xsdm0uY3BwICAgICAgfCAyNiArKysr KysrKy0tLS0tLS0tLQotIHNyYy9saWJhc3IvY29kZWdlbi9sbHZtX2FycmF5X3V0aWxzLmNwcCB8 IDEwICsrKy0tLS0KLSBzcmMvbGliYXNyL2NvZGVnZW4vbGx2bV91dGlscy5jcHAgICAgICAgfCAz OCArKysrKysrKysrKystLS0tLS0tLS0tLS0tCi0gMyBmaWxlcyBjaGFuZ2VkLCAzNyBpbnNlcnRp b25zKCspLCAzNyBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL3NyYy9saWJhc3IvY29kZWdl bi9hc3JfdG9fbGx2bS5jcHAgYi9zcmMvbGliYXNyL2NvZGVnZW4vYXNyX3RvX2xsdm0uY3BwCi1p bmRleCBhYWY0YWVhNDc3Li41MWQ3ODQwYTI2IDEwMDY0NAotLS0tIGEvc3JjL2xpYmFzci9jb2Rl Z2VuL2Fzcl90b19sbHZtLmNwcAotKysrIGIvc3JjL2xpYmFzci9jb2RlZ2VuL2Fzcl90b19sbHZt LmNwcAotQEAgLTQ2Niw3ICs0NjYsNyBAQCBjbGFzcyBBU1JUb0xMVk1WaXNpdG9yIDogcHVibGlj IEFTUjo6QmFzZVZpc2l0b3I8QVNSVG9MTFZNVmlzaXRvcj4KLSAgICAgICAgICAgICAgICAgfQot ICAgICAgICAgICAgICAgICBsbHZtOjpWYWx1ZSogYXJyX2ZpcnN0ID0gbnVsbHB0cjsKLSAgICAg ICAgICAgICAgICAgaWYoICFjb21waWxlcl9vcHRpb25zLnN0YWNrX2FycmF5cyApIHsKLS0gICAg ICAgICAgICAgICAgICAgIGxsdm06OkRhdGFMYXlvdXQgZGF0YV9sYXlvdXQobW9kdWxlLmdldCgp KTsKLSsgICAgICAgICAgICAgICAgICAgIGxsdm06OkRhdGFMYXlvdXQgZGF0YV9sYXlvdXQobW9k dWxlLT5nZXREYXRhTGF5b3V0KCkpOwotICAgICAgICAgICAgICAgICAgICAgdWludDY0X3Qgc2l6 ZSA9IGRhdGFfbGF5b3V0LmdldFR5cGVBbGxvY1NpemUobGx2bV9kYXRhX3R5cGUpOwotICAgICAg ICAgICAgICAgICAgICAgcHJvZCA9IGJ1aWxkZXItPkNyZWF0ZU11bChwcm9kLAotICAgICAgICAg ICAgICAgICAgICAgICAgIGxsdm06OkNvbnN0YW50SW50OjpnZXQoY29udGV4dCwgbGx2bTo6QVBJ bnQoMzIsIHNpemUpKSk7Ci1AQCAtMTM0OCw3ICsxMzQ4LDcgQEAgY2xhc3MgQVNSVG9MTFZNVmlz aXRvciA6IHB1YmxpYyBBU1I6OkJhc2VWaXNpdG9yPEFTUlRvTExWTVZpc2l0b3I+Ci0gICAgICAg ICBpZiggQVNSOjppc19hPEFTUjo6U3RyaW5nX3Q+KCpsaXN0X3R5cGUtPm1fdHlwZSkgfHwKLSAg ICAgICAgICAgICBMTFZNOjppc19sbHZtX3N0cnVjdChsaXN0X3R5cGUtPm1fdHlwZSkgfHwKLSAg ICAgICAgICAgICBBU1I6OmlzX2E8QVNSOjpDb21wbGV4X3Q+KCpsaXN0X3R5cGUtPm1fdHlwZSkg KSB7Ci0tICAgICAgICAgICAgbGx2bTo6RGF0YUxheW91dCBkYXRhX2xheW91dChtb2R1bGUuZ2V0 KCkpOwotKyAgICAgICAgICAgIGxsdm06OkRhdGFMYXlvdXQgZGF0YV9sYXlvdXQobW9kdWxlLT5n ZXREYXRhTGF5b3V0KCkpOwotICAgICAgICAgICAgIHR5cGVfc2l6ZSA9IGRhdGFfbGF5b3V0Lmdl dFR5cGVBbGxvY1NpemUobGx2bV9lbF90eXBlKTsKLSAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAg ICAgICAgdHlwZV9zaXplID0gQVNSVXRpbHM6OmV4dHJhY3Rfa2luZF9mcm9tX3R0eXBlX3QobGlz dF90eXBlLT5tX3R5cGUpOwotQEAgLTE5MzYsNyArMTkzNiw3IEBAIGNsYXNzIEFTUlRvTExWTVZp c2l0b3IgOiBwdWJsaWMgQVNSOjpCYXNlVmlzaXRvcjxBU1JUb0xMVk1WaXNpdG9yPgotICAgICAg ICAgaWYoIEFTUjo6aXNfYTxBU1I6OlN0cmluZ190PigqZWxfdHlwZSkgfHwKLSAgICAgICAgICAg ICBMTFZNOjppc19sbHZtX3N0cnVjdChlbF90eXBlKSB8fAotICAgICAgICAgICAgIEFTUjo6aXNf YTxBU1I6OkNvbXBsZXhfdD4oKmVsX3R5cGUpICkgewotLSAgICAgICAgICAgIGxsdm06OkRhdGFM YXlvdXQgZGF0YV9sYXlvdXQobW9kdWxlLmdldCgpKTsKLSsgICAgICAgICAgICBsbHZtOjpEYXRh TGF5b3V0IGRhdGFfbGF5b3V0KG1vZHVsZS0+Z2V0RGF0YUxheW91dCgpKTsKLSAgICAgICAgICAg ICB0eXBlX3NpemUgPSBkYXRhX2xheW91dC5nZXRUeXBlQWxsb2NTaXplKGxsdm1fZWxfdHlwZSk7 Ci0gICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgIHR5cGVfc2l6ZSA9IEFTUlV0aWxzOjpl eHRyYWN0X2tpbmRfZnJvbV90dHlwZV90KGVsX3R5cGUpOwotQEAgLTIyMDAsNyArMjIwMCw3IEBA IGNsYXNzIEFTUlRvTExWTVZpc2l0b3IgOiBwdWJsaWMgQVNSOjpCYXNlVmlzaXRvcjxBU1JUb0xM Vk1WaXNpdG9yPgotICAgICAgICAgaWYoIEFTUjo6aXNfYTxBU1I6OlN0cmluZ190PigqbGlzdF90 eXBlLT5tX3R5cGUpIHx8Ci0gICAgICAgICAgICAgTExWTTo6aXNfbGx2bV9zdHJ1Y3QobGlzdF90 eXBlLT5tX3R5cGUpIHx8Ci0gICAgICAgICAgICAgQVNSOjppc19hPEFTUjo6Q29tcGxleF90Pigq bGlzdF90eXBlLT5tX3R5cGUpICkgewotLSAgICAgICAgICAgIGxsdm06OkRhdGFMYXlvdXQgZGF0 YV9sYXlvdXQobW9kdWxlLmdldCgpKTsKLSsgICAgICAgICAgICBsbHZtOjpEYXRhTGF5b3V0IGRh dGFfbGF5b3V0KG1vZHVsZS0+Z2V0RGF0YUxheW91dCgpKTsKLSAgICAgICAgICAgICB0eXBlX3Np emUgPSBkYXRhX2xheW91dC5nZXRUeXBlQWxsb2NTaXplKGxsdm1fZWxfdHlwZSk7Ci0gICAgICAg ICB9IGVsc2UgewotICAgICAgICAgICAgIHR5cGVfc2l6ZSA9IEFTUlV0aWxzOjpleHRyYWN0X2tp bmRfZnJvbV90dHlwZV90KGxpc3RfdHlwZS0+bV90eXBlKTsKLUBAIC0yNTI4LDcgKzI1MjgsNyBA QCBjbGFzcyBBU1JUb0xMVk1WaXNpdG9yIDogcHVibGljIEFTUjo6QmFzZVZpc2l0b3I8QVNSVG9M TFZNVmlzaXRvcj4KLSAgICAgICAgICAgICAgICAgaW50NjRfdCBzaXplID0gQVNSVXRpbHM6Omdl dF9maXhlZF9zaXplX29mX2FycmF5KGFzcl9kaW1zLCBhc3Jfbl9kaW1zKTsKLSAgICAgICAgICAg ICAgICAgbGx2bTo6VHlwZSogbGx2bV9kYXRhX3R5cGUgPSBsbHZtX3V0aWxzLT5nZXRfdHlwZV9m cm9tX3R0eXBlX3RfdXRpbChBU1JVdGlsczo6dHlwZV9nZXRfcGFzdF9hcnJheSgKLSAgICAgICAg ICAgICAgICAgICAgIEFTUlV0aWxzOjp0eXBlX2dldF9wYXN0X2FsbG9jYXRhYmxlKEFTUlV0aWxz Ojp0eXBlX2dldF9wYXN0X3BvaW50ZXIoeF9tX2FycmF5X3R5cGUpKSksIG1vZHVsZS5nZXQoKSk7 Ci0tICAgICAgICAgICAgICAgIGxsdm06OkRhdGFMYXlvdXQgZGF0YV9sYXlvdXQobW9kdWxlLmdl dCgpKTsKLSsgICAgICAgICAgICAgICAgbGx2bTo6RGF0YUxheW91dCBkYXRhX2xheW91dChtb2R1 bGUtPmdldERhdGFMYXlvdXQoKSk7Ci0gICAgICAgICAgICAgICAgIHVpbnQ2NF90IGRhdGFfc2l6 ZSA9IGRhdGFfbGF5b3V0LmdldFR5cGVBbGxvY1NpemUobGx2bV9kYXRhX3R5cGUpOwotICAgICAg ICAgICAgICAgICBsbHZtOjpWYWx1ZSogbGx2bV9zaXplID0gbGx2bTo6Q29uc3RhbnRJbnQ6Omdl dChjb250ZXh0LCBsbHZtOjpBUEludCgzMiwgc2l6ZSkpOwotICAgICAgICAgICAgICAgICBsbHZt X3NpemUgPSBidWlsZGVyLT5DcmVhdGVNdWwobGx2bV9zaXplLAotQEAgLTI2NzQsNyArMjY3NCw3 IEBAIGNsYXNzIEFTUlRvTExWTVZpc2l0b3IgOiBwdWJsaWMgQVNSOjpCYXNlVmlzaXRvcjxBU1JU b0xMVk1WaXNpdG9yPgotICAgICBsbHZtOjpWYWx1ZSogU2l6ZU9mVHlwZVV0aWwoQVNSOjp0dHlw ZV90KiBtX3R5cGUsIGxsdm06OlR5cGUqIG91dHB1dF90eXBlLAotICAgICAgICAgQVNSOjp0dHlw ZV90KiBvdXRwdXRfdHlwZV9hc3IpIHsKLSAgICAgICAgIGxsdm06OlR5cGUqIGxsdm1fdHlwZSA9 IGxsdm1fdXRpbHMtPmdldF90eXBlX2Zyb21fdHR5cGVfdF91dGlsKG1fdHlwZSwgbW9kdWxlLmdl dCgpKTsKLS0gICAgICAgIGxsdm06OkRhdGFMYXlvdXQgZGF0YV9sYXlvdXQobW9kdWxlLmdldCgp KTsKLSsgICAgICAgIGxsdm06OkRhdGFMYXlvdXQgZGF0YV9sYXlvdXQobW9kdWxlLT5nZXREYXRh TGF5b3V0KCkpOwotICAgICAgICAgaW50NjRfdCB0eXBlX3NpemUgPSBkYXRhX2xheW91dC5nZXRU eXBlQWxsb2NTaXplKGxsdm1fdHlwZSk7Ci0gICAgICAgICByZXR1cm4gbGx2bTo6Q29uc3RhbnRJ bnQ6OmdldChvdXRwdXRfdHlwZSwgbGx2bTo6QVBJbnQoCi0gICAgICAgICAgICAgQVNSVXRpbHM6 OmV4dHJhY3Rfa2luZF9mcm9tX3R0eXBlX3Qob3V0cHV0X3R5cGVfYXNyKSAqIDgsIHR5cGVfc2l6 ZSkpOwotQEAgLTM3NjUsNyArMzc2NSw3IEBAIHB0cl90eXBlW3B0cl9tZW1iZXJdID0gbGx2bV91 dGlscy0+Z2V0X3R5cGVfZnJvbV90dHlwZV90X3V0aWwoCi0gICAgICAgICAgICAgICAgIGxsdm06 OkFQSW50KDMyLCBBU1JVdGlsczo6Z2V0X2ZpeGVkX3NpemVfb2ZfYXJyYXkoQVNSOjpkb3duX2Nh c3Q8QVNSOjpBcnJheUNvbnN0YW50X3Q+KHYtPm1fdmFsdWUpLT5tX3R5cGUpKSk7Ci0gICAgICAg ICAgICAgICAgIGxsdm06OlR5cGUqIGxsdm1fZGF0YV90eXBlID0gbGx2bV91dGlscy0+Z2V0X3R5 cGVfZnJvbV90dHlwZV90X3V0aWwoCi0gICAgICAgICAgICAgICAgICAgICBBU1JVdGlsczo6dHlw ZV9nZXRfcGFzdF9hcnJheShBU1JVdGlsczo6ZXhwcl90eXBlKHYtPm1fdmFsdWUpKSwgbW9kdWxl LmdldCgpKTsKLS0gICAgICAgICAgICAgICAgbGx2bTo6RGF0YUxheW91dCBkYXRhX2xheW91dCht b2R1bGUuZ2V0KCkpOwotKyAgICAgICAgICAgICAgICBsbHZtOjpEYXRhTGF5b3V0IGRhdGFfbGF5 b3V0KG1vZHVsZS0+Z2V0RGF0YUxheW91dCgpKTsKLSAgICAgICAgICAgICAgICAgc2l6ZV90IGR0 X3NpemUgPSBkYXRhX2xheW91dC5nZXRUeXBlQWxsb2NTaXplKGxsdm1fZGF0YV90eXBlKTsKLSAg ICAgICAgICAgICAgICAgYXJnX3NpemUgPSBidWlsZGVyLT5DcmVhdGVNdWwobGx2bTo6Q29uc3Rh bnRJbnQ6OmdldCgKLSAgICAgICAgICAgICAgICAgICAgIGxsdm06OlR5cGU6OmdldEludDMyVHko Y29udGV4dCksIGxsdm06OkFQSW50KDMyLCBkdF9zaXplKSksIGFyZ19zaXplKTsKLUBAIC0zODk3 LDcgKzM4OTcsNyBAQCBwdHJfdHlwZVtwdHJfbWVtYmVyXSA9IGxsdm1fdXRpbHMtPmdldF90eXBl X2Zyb21fdHR5cGVfdF91dGlsKAotICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICBsbHZtOjpW YWx1ZSAqcHRyID0gbnVsbHB0cjsKLSAgICAgICAgICAgICBpZiggIWNvbXBpbGVyX29wdGlvbnMu c3RhY2tfYXJyYXlzICYmIGFycmF5X3NpemUgKSB7Ci0tICAgICAgICAgICAgICAgIGxsdm06OkRh dGFMYXlvdXQgZGF0YV9sYXlvdXQobW9kdWxlLmdldCgpKTsKLSsgICAgICAgICAgICAgICAgbGx2 bTo6RGF0YUxheW91dCBkYXRhX2xheW91dChtb2R1bGUtPmdldERhdGFMYXlvdXQoKSk7Ci0gICAg ICAgICAgICAgICAgIHVpbnQ2NF90IHNpemUgPSBkYXRhX2xheW91dC5nZXRUeXBlQWxsb2NTaXpl KHR5cGUpOwotICAgICAgICAgICAgICAgICBhcnJheV9zaXplID0gYnVpbGRlci0+Q3JlYXRlTXVs KGFycmF5X3NpemUsCi0gICAgICAgICAgICAgICAgICAgICBsbHZtOjpDb25zdGFudEludDo6Z2V0 KGNvbnRleHQsIGxsdm06OkFQSW50KDMyLCBzaXplKSkpOwotQEAgLTUzMzIsNyArNTMzMiw3IEBA IHB0cl90eXBlW3B0cl9tZW1iZXJdID0gbGx2bV91dGlscy0+Z2V0X3R5cGVfZnJvbV90dHlwZV90 X3V0aWwoCi0gICAgICAgICAgICAgICAgICAgICBsbHZtOjpWYWx1ZSogc2l6ZSA9IGxpc3RfYXBp LT5sZW4ocGxpc3QpOwotICAgICAgICAgICAgICAgICAgICAgbGx2bTo6VHlwZSogZWxfdHlwZSA9 IGxsdm1fdXRpbHMtPmdldF90eXBlX2Zyb21fdHR5cGVfdF91dGlsKAotICAgICAgICAgICAgICAg ICAgICAgICAgIEFTUlV0aWxzOjpleHRyYWN0X3R5cGUoQVNSVXRpbHM6OmV4cHJfdHlwZSh4Lm1f dmFsdWUpKSwgbW9kdWxlLmdldCgpKTsKLS0gICAgICAgICAgICAgICAgICAgIGxsdm06OkRhdGFM YXlvdXQgZGF0YV9sYXlvdXQobW9kdWxlLmdldCgpKTsKLSsgICAgICAgICAgICAgICAgICAgIGxs dm06OkRhdGFMYXlvdXQgZGF0YV9sYXlvdXQobW9kdWxlLT5nZXREYXRhTGF5b3V0KCkpOwotICAg ICAgICAgICAgICAgICAgICAgdWludDY0X3Qgc2l6ZV8gPSBkYXRhX2xheW91dC5nZXRUeXBlQWxs b2NTaXplKGVsX3R5cGUpOwotICAgICAgICAgICAgICAgICAgICAgc2l6ZSA9IGJ1aWxkZXItPkNy ZWF0ZU11bChzaXplLCBsbHZtOjpDb25zdGFudEludDo6Z2V0KAotICAgICAgICAgICAgICAgICAg ICAgICAgIGxsdm06OlR5cGU6OmdldEludDMyVHkoY29udGV4dCksIGxsdm06OkFQSW50KDMyLCBz aXplXykpKTsKLUBAIC01NDI5LDcgKzU0MjksNyBAQCBwdHJfdHlwZVtwdHJfbWVtYmVyXSA9IGxs dm1fdXRpbHMtPmdldF90eXBlX2Zyb21fdHR5cGVfdF91dGlsKAotICAgICAgICAgICAgICAgICBB U1I6OmRpbWVuc2lvbl90KiBhc3JfZGltcyA9IG51bGxwdHI7Ci0gICAgICAgICAgICAgICAgIHNp emVfdCBhc3Jfbl9kaW1zID0gQVNSVXRpbHM6OmV4dHJhY3RfZGltZW5zaW9uc19mcm9tX3R0eXBl KHRhcmdldF90eXBlLCBhc3JfZGltcyk7Ci0gICAgICAgICAgICAgICAgIGludDY0X3Qgc2l6ZSA9 IEFTUlV0aWxzOjpnZXRfZml4ZWRfc2l6ZV9vZl9hcnJheShhc3JfZGltcywgYXNyX25fZGltcyk7 Ci0tICAgICAgICAgICAgICAgIGxsdm06OkRhdGFMYXlvdXQgZGF0YV9sYXlvdXQobW9kdWxlLmdl dCgpKTsKLSsgICAgICAgICAgICAgICAgbGx2bTo6RGF0YUxheW91dCBkYXRhX2xheW91dChtb2R1 bGUtPmdldERhdGFMYXlvdXQoKSk7Ci0gICAgICAgICAgICAgICAgIHVpbnQ2NF90IGRhdGFfc2l6 ZSA9IGRhdGFfbGF5b3V0LmdldFR5cGVBbGxvY1NpemUodGFyZ2V0X2VsX3R5cGUpOwotICAgICAg ICAgICAgICAgICBsbHZtOjpWYWx1ZSogbGx2bV9zaXplID0gbGx2bTo6Q29uc3RhbnRJbnQ6Omdl dChjb250ZXh0LCBsbHZtOjpBUEludCgzMiwgc2l6ZSkpOwotICAgICAgICAgICAgICAgICBsbHZt X3NpemUgPSBidWlsZGVyLT5DcmVhdGVNdWwobGx2bV9zaXplLAotQEAgLTU0NDEsNyArNTQ0MSw3 IEBAIHB0cl90eXBlW3B0cl9tZW1iZXJdID0gbGx2bV91dGlscy0+Z2V0X3R5cGVfZnJvbV90dHlw ZV90X3V0aWwoCi0gICAgICAgICAgICAgICAgIEFTUjo6ZGltZW5zaW9uX3QqIGFzcl9kaW1zID0g bnVsbHB0cjsKLSAgICAgICAgICAgICAgICAgc2l6ZV90IGFzcl9uX2RpbXMgPSBBU1JVdGlsczo6 ZXh0cmFjdF9kaW1lbnNpb25zX2Zyb21fdHR5cGUodGFyZ2V0X3R5cGUsIGFzcl9kaW1zKTsKLSAg ICAgICAgICAgICAgICAgaW50NjRfdCBzaXplID0gQVNSVXRpbHM6OmdldF9maXhlZF9zaXplX29m X2FycmF5KGFzcl9kaW1zLCBhc3Jfbl9kaW1zKTsKLS0gICAgICAgICAgICAgICAgbGx2bTo6RGF0 YUxheW91dCBkYXRhX2xheW91dChtb2R1bGUuZ2V0KCkpOwotKyAgICAgICAgICAgICAgICBsbHZt OjpEYXRhTGF5b3V0IGRhdGFfbGF5b3V0KG1vZHVsZS0+Z2V0RGF0YUxheW91dCgpKTsKLSAgICAg ICAgICAgICAgICAgdWludDY0X3QgZGF0YV9zaXplID0gZGF0YV9sYXlvdXQuZ2V0VHlwZUFsbG9j U2l6ZSh0YXJnZXRfZWxfdHlwZSk7Ci0gICAgICAgICAgICAgICAgIGxsdm06OlZhbHVlKiBsbHZt X3NpemUgPSBsbHZtOjpDb25zdGFudEludDo6Z2V0KGNvbnRleHQsIGxsdm06OkFQSW50KDMyLCBz aXplKSk7Ci0gICAgICAgICAgICAgICAgIGxsdm1fc2l6ZSA9IGJ1aWxkZXItPkNyZWF0ZU11bChs bHZtX3NpemUsCi1AQCAtNTQ1NCw3ICs1NDU0LDcgQEAgcHRyX3R5cGVbcHRyX21lbWJlcl0gPSBs bHZtX3V0aWxzLT5nZXRfdHlwZV9mcm9tX3R0eXBlX3RfdXRpbCgKLSAgICAgICAgICAgICAgICAg bGx2bTo6VmFsdWUqIGxsdm1fc2l6ZSA9IGFycl9kZXNjci0+Z2V0X2FycmF5X3NpemUodGFyZ2V0 LCBudWxscHRyLCA0KTsKLSAgICAgICAgICAgICAgICAgdGFyZ2V0ID0gbGx2bV91dGlscy0+Q3Jl YXRlTG9hZDIodGFyZ2V0X2VsX3R5cGUtPmdldFBvaW50ZXJUbygpLCBhcnJfZGVzY3ItPmdldF9w b2ludGVyX3RvX2RhdGEodGFyZ2V0KSk7Ci0gICAgICAgICAgICAgICAgIHZhbHVlID0gbGx2bV91 dGlscy0+Y3JlYXRlX2dlcCh2YWx1ZSwgMCk7Ci0tICAgICAgICAgICAgICAgIGxsdm06OkRhdGFM YXlvdXQgZGF0YV9sYXlvdXQobW9kdWxlLmdldCgpKTsKLSsgICAgICAgICAgICAgICAgbGx2bTo6 RGF0YUxheW91dCBkYXRhX2xheW91dChtb2R1bGUtPmdldERhdGFMYXlvdXQoKSk7Ci0gICAgICAg ICAgICAgICAgIHVpbnQ2NF90IGRhdGFfc2l6ZSA9IGRhdGFfbGF5b3V0LmdldFR5cGVBbGxvY1Np emUodmFsdWVfZWxfdHlwZSk7Ci0gICAgICAgICAgICAgICAgIGxsdm1fc2l6ZSA9IGJ1aWxkZXIt PkNyZWF0ZU11bChsbHZtX3NpemUsCi0gICAgICAgICAgICAgICAgICAgICBsbHZtOjpDb25zdGFu dEludDo6Z2V0KGNvbnRleHQsIGxsdm06OkFQSW50KDMyLCBkYXRhX3NpemUpKSk7Ci1AQCAtNTUy Myw3ICs1NTIzLDcgQEAgcHRyX3R5cGVbcHRyX21lbWJlcl0gPSBsbHZtX3V0aWxzLT5nZXRfdHlw ZV9mcm9tX3R0eXBlX3RfdXRpbCgKLSAgICAgICAgICAgICAgICAgICAgIEFTUjo6ZGltZW5zaW9u X3QqIGFzcl9kaW1zID0gbnVsbHB0cjsKLSAgICAgICAgICAgICAgICAgICAgIHNpemVfdCBhc3Jf bl9kaW1zID0gQVNSVXRpbHM6OmV4dHJhY3RfZGltZW5zaW9uc19mcm9tX3R0eXBlKHRhcmdldF90 eXBlLCBhc3JfZGltcyk7Ci0gICAgICAgICAgICAgICAgICAgICBpbnQ2NF90IHNpemUgPSBBU1JV dGlsczo6Z2V0X2ZpeGVkX3NpemVfb2ZfYXJyYXkoYXNyX2RpbXMsIGFzcl9uX2RpbXMpOwotLSAg ICAgICAgICAgICAgICAgICAgbGx2bTo6RGF0YUxheW91dCBkYXRhX2xheW91dChtb2R1bGUuZ2V0 KCkpOwotKyAgICAgICAgICAgICAgICAgICAgbGx2bTo6RGF0YUxheW91dCBkYXRhX2xheW91dCht b2R1bGUtPmdldERhdGFMYXlvdXQoKSk7Ci0gICAgICAgICAgICAgICAgICAgICB1aW50NjRfdCBk YXRhX3NpemUgPSBkYXRhX2xheW91dC5nZXRUeXBlQWxsb2NTaXplKHRhcmdldF9lbF90eXBlKTsK LSAgICAgICAgICAgICAgICAgICAgIGxsdm06OlZhbHVlKiBsbHZtX3NpemUgPSBsbHZtOjpDb25z dGFudEludDo6Z2V0KGNvbnRleHQsIGxsdm06OkFQSW50KDMyLCBzaXplKSk7Ci0gICAgICAgICAg ICAgICAgICAgICBsbHZtX3NpemUgPSBidWlsZGVyLT5DcmVhdGVNdWwobGx2bV9zaXplLAotZGlm ZiAtLWdpdCBhL3NyYy9saWJhc3IvY29kZWdlbi9sbHZtX2FycmF5X3V0aWxzLmNwcCBiL3NyYy9s aWJhc3IvY29kZWdlbi9sbHZtX2FycmF5X3V0aWxzLmNwcAotaW5kZXggNWM5OTRjYzgxMC4uZWU4 YTEwZTExOSAxMDA2NDQKLS0tLSBhL3NyYy9saWJhc3IvY29kZWdlbi9sbHZtX2FycmF5X3V0aWxz LmNwcAotKysrIGIvc3JjL2xpYmFzci9jb2RlZ2VuL2xsdm1fYXJyYXlfdXRpbHMuY3BwCi1AQCAt MzAxLDcgKzMwMSw3IEBAIG5hbWVzcGFjZSBMQ29tcGlsZXJzIHsKLSAgICAgICAgICAgICBsbHZt OjpWYWx1ZSogYXJyX2ZpcnN0ID0gbnVsbHB0cjsKLSAKLSAgICAgICAgICAgICBpZiggIWNvLnN0 YWNrX2FycmF5cyApIHsKLS0gICAgICAgICAgICAgICAgbGx2bTo6RGF0YUxheW91dCBkYXRhX2xh eW91dChtb2R1bGUpOwotKyAgICAgICAgICAgICAgICBsbHZtOjpEYXRhTGF5b3V0IGRhdGFfbGF5 b3V0KG1vZHVsZS0+Z2V0RGF0YUxheW91dCgpKTsKLSAgICAgICAgICAgICAgICAgdWludDY0X3Qg c2l6ZSA9IGRhdGFfbGF5b3V0LmdldFR5cGVBbGxvY1NpemUobGx2bV9kYXRhX3R5cGUpOwotICAg ICAgICAgICAgICAgICBidWlsZGVyLT5DcmVhdGVTdG9yZShidWlsZGVyLT5DcmVhdGVNdWwoCi0g ICAgICAgICAgICAgICAgICAgICBsbHZtX3V0aWxzLT5DcmVhdGVMb2FkKGxsdm1fc2l6ZSksCi1A QCAtMzcxLDcgKzM3MSw3IEBAIG5hbWVzcGFjZSBMQ29tcGlsZXJzIHsKLSAgICAgICAgICAgICB9 Ci0gICAgICAgICAgICAgbGx2bTo6VmFsdWUqIHB0cjJmaXJzdHB0ciA9IGdldF9wb2ludGVyX3Rv X2RhdGEoYXJyKTsKLSAgICAgICAgICAgICBsbHZtOjpBbGxvY2FJbnN0ICphcmdfc2l6ZSA9IGxs dm1fdXRpbHMtPkNyZWF0ZUFsbG9jYSgqYnVpbGRlciwgbGx2bTo6VHlwZTo6Z2V0SW50MzJUeShj b250ZXh0KSk7Ci0tICAgICAgICAgICAgbGx2bTo6RGF0YUxheW91dCBkYXRhX2xheW91dChtb2R1 bGUpOwotKyAgICAgICAgICAgIGxsdm06OkRhdGFMYXlvdXQgZGF0YV9sYXlvdXQobW9kdWxlLT5n ZXREYXRhTGF5b3V0KCkpOwotICAgICAgICAgICAgIGxsdm06OlR5cGUqIHB0cl90eXBlID0gbGx2 bV9kYXRhX3R5cGUtPmdldFBvaW50ZXJUbygpOwotICAgICAgICAgICAgIHVpbnQ2NF90IHNpemUg PSBkYXRhX2xheW91dC5nZXRUeXBlQWxsb2NTaXplKGxsdm1fZGF0YV90eXBlKTsKLSAgICAgICAg ICAgICBsbHZtOjpWYWx1ZSogbGx2bV9zaXplID0gbGx2bTo6Q29uc3RhbnRJbnQ6OmdldChjb250 ZXh0LCBsbHZtOjpBUEludCgzMiwgc2l6ZSkpOwotQEAgLTc2Niw3ICs3NjYsNyBAQCBuYW1lc3Bh Y2UgTENvbXBpbGVycyB7Ci0gICAgICAgICAgICAgYnVpbGRlci0+Q3JlYXRlU3RvcmUoYXJyX2Zp cnN0LCBmaXJzdF9wdHIpOwotIAotICAgICAgICAgICAgIGxsdm06OlZhbHVlKiBwdHIyZmlyc3Rw dHIgPSB0aGlzLT5nZXRfcG9pbnRlcl90b19kYXRhKGFycmF5KTsKLS0gICAgICAgICAgICBsbHZt OjpEYXRhTGF5b3V0IGRhdGFfbGF5b3V0KG1vZHVsZSk7Ci0rICAgICAgICAgICAgbGx2bTo6RGF0 YUxheW91dCBkYXRhX2xheW91dChtb2R1bGUtPmdldERhdGFMYXlvdXQoKSk7Ci0gICAgICAgICAg ICAgdWludDY0X3Qgc2l6ZSA9IGRhdGFfbGF5b3V0LmdldFR5cGVBbGxvY1NpemUobGx2bV9kYXRh X3R5cGUpOwotICAgICAgICAgICAgIGxsdm06OlZhbHVlKiBsbHZtX3NpemUgPSBsbHZtOjpDb25z dGFudEludDo6Z2V0KGNvbnRleHQsIGxsdm06OkFQSW50KDMyLCBzaXplKSk7Ci0gICAgICAgICAg ICAgbnVtX2VsZW1lbnRzID0gYnVpbGRlci0+Q3JlYXRlTXVsKG51bV9lbGVtZW50cywgbGx2bV9z aXplKTsKLUBAIC04MzgsNyArODM4LDcgQEAgbmFtZXNwYWNlIExDb21waWxlcnMgewotICAgICAg ICAgICAgIH0KLSAKLSAgICAgICAgICAgICBsbHZtOjpWYWx1ZSogcHRyMmZpcnN0cHRyID0gdGhp cy0+Z2V0X3BvaW50ZXJfdG9fZGF0YShzcmMpOwotLSAgICAgICAgICAgIGxsdm06OkRhdGFMYXlv dXQgZGF0YV9sYXlvdXQobW9kdWxlKTsKLSsgICAgICAgICAgICBsbHZtOjpEYXRhTGF5b3V0IGRh dGFfbGF5b3V0KG1vZHVsZS0+Z2V0RGF0YUxheW91dCgpKTsKLSAgICAgICAgICAgICB1aW50NjRf dCBzaXplID0gZGF0YV9sYXlvdXQuZ2V0VHlwZUFsbG9jU2l6ZShsbHZtX2RhdGFfdHlwZSk7Ci0g ICAgICAgICAgICAgbGx2bTo6VmFsdWUqIGxsdm1fc2l6ZSA9IGxsdm06OkNvbnN0YW50SW50Ojpn ZXQoY29udGV4dCwgbGx2bTo6QVBJbnQoMzIsIHNpemUpKTsKLSAgICAgICAgICAgICBudW1fZWxl bWVudHMgPSBidWlsZGVyLT5DcmVhdGVNdWwobnVtX2VsZW1lbnRzLCBsbHZtX3NpemUpOwotQEAg LTg4NSw3ICs4ODUsNyBAQCBuYW1lc3BhY2UgTENvbXBpbGVycyB7Ci0gCi0gICAgICAgICB2b2lk IFNpbXBsZUNNT0Rlc2NyaXB0b3I6OmNvcHlfYXJyYXlfZGF0YV9vbmx5KGxsdm06OlZhbHVlKiBz cmMsIGxsdm06OlZhbHVlKiBkZXN0LAotICAgICAgICAgICAgIGxsdm06Ok1vZHVsZSogbW9kdWxl LCBsbHZtOjpUeXBlKiBsbHZtX2RhdGFfdHlwZSwgbGx2bTo6VmFsdWUqIG51bV9lbGVtZW50cykg ewotLSAgICAgICAgICAgIGxsdm06OkRhdGFMYXlvdXQgZGF0YV9sYXlvdXQobW9kdWxlKTsKLSsg ICAgICAgICAgICBsbHZtOjpEYXRhTGF5b3V0IGRhdGFfbGF5b3V0KG1vZHVsZS0+Z2V0RGF0YUxh eW91dCgpKTsKLSAgICAgICAgICAgICB1aW50NjRfdCBzaXplID0gZGF0YV9sYXlvdXQuZ2V0VHlw ZUFsbG9jU2l6ZShsbHZtX2RhdGFfdHlwZSk7Ci0gICAgICAgICAgICAgbGx2bTo6VmFsdWUqIGxs dm1fc2l6ZSA9IGxsdm06OkNvbnN0YW50SW50OjpnZXQoY29udGV4dCwgbGx2bTo6QVBJbnQoMzIs IHNpemUpKTsKLSAgICAgICAgICAgICBudW1fZWxlbWVudHMgPSBidWlsZGVyLT5DcmVhdGVNdWwo bnVtX2VsZW1lbnRzLCBsbHZtX3NpemUpOwotZGlmZiAtLWdpdCBhL3NyYy9saWJhc3IvY29kZWdl bi9sbHZtX3V0aWxzLmNwcCBiL3NyYy9saWJhc3IvY29kZWdlbi9sbHZtX3V0aWxzLmNwcAotaW5k ZXggMzExZTczN2U5MS4uNTcyYTRmNzcxOCAxMDA2NDQKLS0tLSBhL3NyYy9saWJhc3IvY29kZWdl bi9sbHZtX3V0aWxzLmNwcAotKysrIGIvc3JjL2xpYmFzci9jb2RlZ2VuL2xsdm1fdXRpbHMuY3Bw Ci1AQCAtMjgxLDcgKzI4MSw3IEBAIG5hbWVzcGFjZSBMQ29tcGlsZXJzIHsKLSAgICAgICAgICAg ICB1bmlvbl90eXBlX2xsdm0gPSBuYW1lMmRlcnR5cGVbdW5pb25fdHlwZV9uYW1lXTsKLSAgICAg ICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgY29uc3Qgc3RkOjptYXA8c3RkOjpzdHJpbmcsIEFT Ujo6c3ltYm9sX3QqPiYgc2NvcGUgPSB1bmlvbl90eXBlLT5tX3N5bXRhYi0+Z2V0X3Njb3BlKCk7 Ci0tICAgICAgICAgICAgbGx2bTo6RGF0YUxheW91dCBkYXRhX2xheW91dChtb2R1bGUpOwotKyAg ICAgICAgICAgIGxsdm06OkRhdGFMYXlvdXQgZGF0YV9sYXlvdXQobW9kdWxlLT5nZXREYXRhTGF5 b3V0KCkpOwotICAgICAgICAgICAgIGxsdm06OlR5cGUqIG1heF9zaXplZF90eXBlID0gbnVsbHB0 cjsKLSAgICAgICAgICAgICBzaXplX3QgbWF4X3R5cGVfc2l6ZSA9IDA7Ci0gICAgICAgICAgICAg Zm9yKCBhdXRvIGl0ciA9IHNjb3BlLmJlZ2luKCk7IGl0ciAhPSBzY29wZS5lbmQoKTsgaXRyKysg KSB7Ci1AQCAtNTA0LDcgKzUwNCw3IEBAIG5hbWVzcGFjZSBMQ29tcGlsZXJzIHsKLSAgICAgICAg IGlmKCBMTFZNOjppc19sbHZtX3N0cnVjdChhc3JfdHlwZSkgfHwKLSAgICAgICAgICAgICBBU1I6 OmlzX2E8QVNSOjpTdHJpbmdfdD4oKmFzcl90eXBlKSB8fAotICAgICAgICAgICAgIEFTUjo6aXNf YTxBU1I6OkNvbXBsZXhfdD4oKmFzcl90eXBlKSApIHsKLS0gICAgICAgICAgICBsbHZtOjpEYXRh TGF5b3V0IGRhdGFfbGF5b3V0KG1vZHVsZSk7Ci0rICAgICAgICAgICAgbGx2bTo6RGF0YUxheW91 dCBkYXRhX2xheW91dChtb2R1bGUtPmdldERhdGFMYXlvdXQoKSk7Ci0gICAgICAgICAgICAgcmV0 dXJuIGRhdGFfbGF5b3V0LmdldFR5cGVBbGxvY1NpemUobGx2bV90eXBlKTsKLSAgICAgICAgIH0K LSAgICAgICAgIHJldHVybiBhX2tpbmQ7Ci1AQCAtNzgwLDcgKzc4MCw3IEBAIG5hbWVzcGFjZSBM Q29tcGlsZXJzIHsKLSAgICAgICAgICAgICAgICAgaWYoIExMVk06OmlzX2xsdm1fc3RydWN0KGFz cl9saXN0LT5tX3R5cGUpIHx8Ci0gICAgICAgICAgICAgICAgICAgICBBU1I6OmlzX2E8QVNSOjpT dHJpbmdfdD4oKmFzcl9saXN0LT5tX3R5cGUpIHx8Ci0gICAgICAgICAgICAgICAgICAgICBBU1I6 OmlzX2E8QVNSOjpDb21wbGV4X3Q+KCphc3JfbGlzdC0+bV90eXBlKSApIHsKLS0gICAgICAgICAg ICAgICAgICAgIGxsdm06OkRhdGFMYXlvdXQgZGF0YV9sYXlvdXQobW9kdWxlKTsKLSsgICAgICAg ICAgICAgICAgICAgIGxsdm06OkRhdGFMYXlvdXQgZGF0YV9sYXlvdXQobW9kdWxlLT5nZXREYXRh TGF5b3V0KCkpOwotICAgICAgICAgICAgICAgICAgICAgdHlwZV9zaXplID0gZGF0YV9sYXlvdXQu Z2V0VHlwZUFsbG9jU2l6ZShlbF9sbHZtX3R5cGUpOwotICAgICAgICAgICAgICAgICB9IGVsc2Ug ewotICAgICAgICAgICAgICAgICAgICAgdHlwZV9zaXplID0gYV9raW5kOwotQEAgLTEwNDYsNyAr MTA0Niw3IEBAIG5hbWVzcGFjZSBMQ29tcGlsZXJzIHsKLSAgICAgICAgICAgICAgICAgICAgIGlm KCBMTFZNOjppc19sbHZtX3N0cnVjdChhc3JfbGlzdC0+bV90eXBlKSB8fAotICAgICAgICAgICAg ICAgICAgICAgICAgIEFTUjo6aXNfYTxBU1I6OlN0cmluZ190PigqYXNyX2xpc3QtPm1fdHlwZSkg fHwKLSAgICAgICAgICAgICAgICAgICAgICAgICBBU1I6OmlzX2E8QVNSOjpDb21wbGV4X3Q+KCph c3JfbGlzdC0+bV90eXBlKSApIHsKLS0gICAgICAgICAgICAgICAgICAgICAgICBsbHZtOjpEYXRh TGF5b3V0IGRhdGFfbGF5b3V0KG1vZHVsZSk7Ci0rICAgICAgICAgICAgICAgICAgICAgICAgbGx2 bTo6RGF0YUxheW91dCBkYXRhX2xheW91dChtb2R1bGUtPmdldERhdGFMYXlvdXQoKSk7Ci0gICAg ICAgICAgICAgICAgICAgICAgICAgdHlwZV9zaXplID0gZGF0YV9sYXlvdXQuZ2V0VHlwZUFsbG9j U2l6ZShlbF9sbHZtX3R5cGUpOwotICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAg ICAgICAgICAgICAgICAgICAgICB0eXBlX3NpemUgPSBhX2tpbmQ7Ci1AQCAtMTI0NCw3ICsxMjQ0 LDcgQEAgbmFtZXNwYWNlIExDb21waWxlcnMgewotICAgICAgICAgICAgICAgICAgICAgaWYoIExM Vk06OmlzX2xsdm1fc3RydWN0KGFzcl9saXN0LT5tX3R5cGUpIHx8Ci0gICAgICAgICAgICAgICAg ICAgICAgICAgQVNSOjppc19hPEFTUjo6U3RyaW5nX3Q+KCphc3JfbGlzdC0+bV90eXBlKSB8fAot ICAgICAgICAgICAgICAgICAgICAgICAgIEFTUjo6aXNfYTxBU1I6OkNvbXBsZXhfdD4oKmFzcl9s aXN0LT5tX3R5cGUpICkgewotLSAgICAgICAgICAgICAgICAgICAgICAgIGxsdm06OkRhdGFMYXlv dXQgZGF0YV9sYXlvdXQobW9kdWxlKTsKLSsgICAgICAgICAgICAgICAgICAgICAgICBsbHZtOjpE YXRhTGF5b3V0IGRhdGFfbGF5b3V0KG1vZHVsZS0+Z2V0RGF0YUxheW91dCgpKTsKLSAgICAgICAg ICAgICAgICAgICAgICAgICB0eXBlX3NpemUgPSBkYXRhX2xheW91dC5nZXRUeXBlQWxsb2NTaXpl KGVsX2xsdm1fdHlwZSk7Ci0gICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAg ICAgICAgICAgICAgICAgIHR5cGVfc2l6ZSA9IGFfa2luZDsKLUBAIC0xNDY3LDcgKzE0NjcsNyBA QCBuYW1lc3BhY2UgTENvbXBpbGVycyB7Ci0gICAgICAgICAgICAgICAgIGlmKCBMTFZNOjppc19s bHZtX3N0cnVjdChhc3JfbGlzdC0+bV90eXBlKSB8fAotICAgICAgICAgICAgICAgICAgICAgQVNS Ojppc19hPEFTUjo6U3RyaW5nX3Q+KCphc3JfbGlzdC0+bV90eXBlKSB8fAotICAgICAgICAgICAg ICAgICAgICAgQVNSOjppc19hPEFTUjo6Q29tcGxleF90PigqYXNyX2xpc3QtPm1fdHlwZSkgKSB7 Ci0tICAgICAgICAgICAgICAgICAgICBsbHZtOjpEYXRhTGF5b3V0IGRhdGFfbGF5b3V0KG1vZHVs ZSk7Ci0rICAgICAgICAgICAgICAgICAgICBsbHZtOjpEYXRhTGF5b3V0IGRhdGFfbGF5b3V0KG1v ZHVsZS0+Z2V0RGF0YUxheW91dCgpKTsKLSAgICAgICAgICAgICAgICAgICAgIHR5cGVfc2l6ZSA9 IGRhdGFfbGF5b3V0LmdldFR5cGVBbGxvY1NpemUoZWxfbGx2bV90eXBlKTsKLSAgICAgICAgICAg ICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICAgICAgIHR5cGVfc2l6ZSA9IGFfa2luZDsK LUBAIC0yMTA2LDcgKzIxMDYsNyBAQCBuYW1lc3BhY2UgTENvbXBpbGVycyB7Ci0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGludDY0X3Qgc2l6ZSA9IEFTUlV0aWxzOjpnZXRfZml4ZWRfc2l6 ZV9vZl9hcnJheShhc3JfZGltcywgYXNyX25fZGltcyk7Ci0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGxsdm06OlR5cGUqIGxsdm1fZGF0YV90eXBlID0gZ2V0X3R5cGVfZnJvbV90dHlwZV90 X3V0aWwoQVNSVXRpbHM6OnR5cGVfZ2V0X3Bhc3RfYXJyYXkoCi0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBBU1JVdGlsczo6dHlwZV9nZXRfcGFzdF9hbGxvY2F0YWJsZShBU1JVdGls czo6dHlwZV9nZXRfcGFzdF9wb2ludGVyKGFzcl90eXBlKSkpLCBtb2R1bGUpOwotLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICBsbHZtOjpEYXRhTGF5b3V0IGRhdGFfbGF5b3V0KG1vZHVsZSk7 Ci0rICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxsdm06OkRhdGFMYXlvdXQgZGF0YV9sYXlv dXQobW9kdWxlLT5nZXREYXRhTGF5b3V0KCkpOwotICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB1aW50NjRfdCBkYXRhX3NpemUgPSBkYXRhX2xheW91dC5nZXRUeXBlQWxsb2NTaXplKGxsdm1f ZGF0YV90eXBlKTsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGx2bTo6VmFsdWUqIGxs dm1fc2l6ZSA9IGxsdm06OkNvbnN0YW50SW50OjpnZXQoY29udGV4dCwgbGx2bTo6QVBJbnQoMzIs IHNpemUpKTsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGx2bV9zaXplID0gYnVpbGRl ci0+Q3JlYXRlTXVsKGxsdm1fc2l6ZSwKLUBAIC0yNDQyLDcgKzI0NDIsNyBAQCBuYW1lc3BhY2Ug TENvbXBpbGVycyB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu aXRpYWxfY2FwYWNpdHksIGluaXRpYWxfY2FwYWNpdHkpOwotICAgICAgICAgbGx2bV91dGlscy0+ bGlzdF9hcGktPmxpc3RfaW5pdCh2YWx1ZV90eXBlX2NvZGUsIHZhbHVlX2xpc3QsICptb2R1bGUs Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluaXRpYWxfY2FwYWNp dHksIGluaXRpYWxfY2FwYWNpdHkpOwotLSAgICAgICAgbGx2bTo6RGF0YUxheW91dCBkYXRhX2xh eW91dChtb2R1bGUpOwotKyAgICAgICAgbGx2bTo6RGF0YUxheW91dCBkYXRhX2xheW91dChtb2R1 bGUtPmdldERhdGFMYXlvdXQoKSk7Ci0gICAgICAgICBzaXplX3QgbWFza19zaXplID0gZGF0YV9s YXlvdXQuZ2V0VHlwZUFsbG9jU2l6ZShsbHZtOjpUeXBlOjpnZXRJbnQ4VHkoY29udGV4dCkpOwot ICAgICAgICAgbGx2bTo6VmFsdWUqIGxsdm1fY2FwYWNpdHkgPSBsbHZtOjpDb25zdGFudEludDo6 Z2V0KGxsdm06OlR5cGU6OmdldEludDMyVHkoY29udGV4dCksCi0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBsbHZtOjpBUEludCgzMiwgaW5pdGlhbF9jYXBhY2l0 eSkpOwotQEAgLTI0NzIsNyArMjQ3Miw3IEBAIG5hbWVzcGFjZSBMQ29tcGlsZXJzIHsKLSAgICAg ICAgIGxsdm06OlZhbHVlKiBudW1fYnVja2V0c19maWxsZWRfcHRyID0gZ2V0X3BvaW50ZXJfdG9f bnVtYmVyX29mX2ZpbGxlZF9idWNrZXRzKGRpY3QpOwotICAgICAgICAgTExWTTo6Q3JlYXRlU3Rv cmUoKmJ1aWxkZXIsIGxsdm1femVybywgbnVtX2J1Y2tldHNfZmlsbGVkX3B0cik7Ci0gCi0tICAg ICAgICBsbHZtOjpEYXRhTGF5b3V0IGRhdGFfbGF5b3V0KG1vZHVsZSk7Ci0rICAgICAgICBsbHZt OjpEYXRhTGF5b3V0IGRhdGFfbGF5b3V0KG1vZHVsZS0+Z2V0RGF0YUxheW91dCgpKTsKLSAgICAg ICAgIGxsdm06OlR5cGUqIGtleV92YWx1ZV9wYWlyX3R5cGUgPSBnZXRfa2V5X3ZhbHVlX3BhaXJf dHlwZShrZXlfdHlwZV9jb2RlLCB2YWx1ZV90eXBlX2NvZGUpOwotICAgICAgICAgc2l6ZV90IGtl eV92YWx1ZV90eXBlX3NpemUgPSBkYXRhX2xheW91dC5nZXRUeXBlQWxsb2NTaXplKGtleV92YWx1 ZV9wYWlyX3R5cGUpOwotICAgICAgICAgbGx2bTo6VmFsdWUqIGxsdm1fa2V5X3ZhbHVlX3NpemUg PSBsbHZtOjpDb25zdGFudEludDo6Z2V0KGxsdm06OlR5cGU6OmdldEludDMyVHkoY29udGV4dCks IGxsdm06OkFQSW50KDMyLCBrZXlfdmFsdWVfdHlwZV9zaXplKSk7Ci1AQCAtMjYwMyw3ICsyNjAz LDcgQEAgbmFtZXNwYWNlIExDb21waWxlcnMgewotIAotICAgICAgICAgbGx2bTo6VmFsdWUqIHNy Y19rZXlfbWFzayA9IGxsdm1fdXRpbHMtPkNyZWF0ZUxvYWQoZ2V0X3BvaW50ZXJfdG9fa2V5bWFz ayhzcmMpKTsKLSAgICAgICAgIGxsdm06OlZhbHVlKiBkZXN0X2tleV9tYXNrX3B0ciA9IGdldF9w b2ludGVyX3RvX2tleW1hc2soZGVzdCk7Ci0tICAgICAgICBsbHZtOjpEYXRhTGF5b3V0IGRhdGFf bGF5b3V0KG1vZHVsZSk7Ci0rICAgICAgICBsbHZtOjpEYXRhTGF5b3V0IGRhdGFfbGF5b3V0KG1v ZHVsZS0+Z2V0RGF0YUxheW91dCgpKTsKLSAgICAgICAgIHNpemVfdCBtYXNrX3NpemUgPSBkYXRh X2xheW91dC5nZXRUeXBlQWxsb2NTaXplKGxsdm06OlR5cGU6OmdldEludDhUeShjb250ZXh0KSk7 Ci0gICAgICAgICBsbHZtOjpWYWx1ZSogbGx2bV9tYXNrX3NpemUgPSBsbHZtOjpDb25zdGFudElu dDo6Z2V0KGxsdm06OlR5cGU6OmdldEludDMyVHkoY29udGV4dCksCi0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsbHZtOjpBUEludCgzMiwgbWFza19zaXplKSk7 Ci1AQCAtMjc2Niw3ICsyNzY2LDcgQEAgbmFtZXNwYWNlIExDb21waWxlcnMgewotICAgICAgICAg TExWTTo6Q3JlYXRlU3RvcmUoKmJ1aWxkZXIsIHNyY19maWxsZWRfYnVja2V0cywgZ2V0X3BvaW50 ZXJfdG9fbnVtYmVyX29mX2ZpbGxlZF9idWNrZXRzKGRlc3QpKTsKLSAgICAgICAgIExMVk06OkNy ZWF0ZVN0b3JlKCpidWlsZGVyLCBzcmNfY2FwYWNpdHksIGdldF9wb2ludGVyX3RvX2NhcGFjaXR5 KGRlc3QpKTsKLSAgICAgICAgIExMVk06OkNyZWF0ZVN0b3JlKCpidWlsZGVyLCBzcmNfcmVoYXNo X2ZsYWcsIGdldF9wb2ludGVyX3RvX3JlaGFzaF9mbGFnKGRlc3QpKTsKLS0gICAgICAgIGxsdm06 OkRhdGFMYXlvdXQgZGF0YV9sYXlvdXQobW9kdWxlKTsKLSsgICAgICAgIGxsdm06OkRhdGFMYXlv dXQgZGF0YV9sYXlvdXQobW9kdWxlLT5nZXREYXRhTGF5b3V0KCkpOwotICAgICAgICAgc2l6ZV90 IG1hc2tfc2l6ZSA9IGRhdGFfbGF5b3V0LmdldFR5cGVBbGxvY1NpemUobGx2bTo6VHlwZTo6Z2V0 SW50OFR5KGNvbnRleHQpKTsKLSAgICAgICAgIGxsdm06OlZhbHVlKiBsbHZtX21hc2tfc2l6ZSA9 IGxsdm06OkNvbnN0YW50SW50OjpnZXQobGx2bTo6VHlwZTo6Z2V0SW50MzJUeShjb250ZXh0KSwK LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxsdm06OkFQSW50 KDMyLCBtYXNrX3NpemUpKTsKLUBAIC0zMzMyLDcgKzMzMzIsNyBAQCBuYW1lc3BhY2UgTENvbXBp bGVycyB7Ci0gICAgICAgICAgICAgbGx2bV91dGlscy0+Y3JlYXRlX2lmX2Vsc2UoYnVpbGRlci0+ Q3JlYXRlSUNtcE5FKAotICAgICAgICAgICAgICAgICAgICAgbGx2bV91dGlscy0+Q3JlYXRlTG9h ZChjaGFpbl9pdHJfcHJldiksCi0gICAgICAgICAgICAgICAgICAgICBsbHZtOjpDb25zdGFudFBv aW50ZXJOdWxsOjpnZXQobGx2bTo6VHlwZTo6Z2V0SW50OFR5KGNvbnRleHQpLT5nZXRQb2ludGVy VG8oKSkpLCBbJl0oKSB7Ci0tICAgICAgICAgICAgICAgIGxsdm06OkRhdGFMYXlvdXQgZGF0YV9s YXlvdXQobW9kdWxlKTsKLSsgICAgICAgICAgICAgICAgbGx2bTo6RGF0YUxheW91dCBkYXRhX2xh eW91dChtb2R1bGUtPmdldERhdGFMYXlvdXQoKSk7Ci0gICAgICAgICAgICAgICAgIHNpemVfdCBr dl9zdHJ1Y3Rfc2l6ZSA9IGRhdGFfbGF5b3V0LmdldFR5cGVBbGxvY1NpemUoa3Zfc3RydWN0X3R5 cGUpOwotICAgICAgICAgICAgICAgICBsbHZtOjpWYWx1ZSogbWFsbG9jX3NpemUgPSBsbHZtOjpD b25zdGFudEludDo6Z2V0KGxsdm06OlR5cGU6OmdldEludDMyVHkoY29udGV4dCksIGt2X3N0cnVj dF9zaXplKTsKLSAgICAgICAgICAgICAgICAgbGx2bTo6VmFsdWUqIG5ld19rdl9zdHJ1Y3RfaTgg PSBMTFZNOjpsZm9ydHJhbl9tYWxsb2MoY29udGV4dCwgKm1vZHVsZSwgKmJ1aWxkZXIsIG1hbGxv Y19zaXplKTsKLUBAIC0zOTIwLDcgKzM5MjAsNyBAQCBuYW1lc3BhY2UgTENvbXBpbGVycyB7Ci0g ICAgICAgICBsbHZtX3V0aWxzLT5saXN0X2FwaS0+bGlzdF9pbml0KHZhbHVlX3R5cGVfY29kZSwg bmV3X3ZhbHVlX2xpc3QsICptb2R1bGUsIGNhcGFjaXR5LCBjYXBhY2l0eSk7Ci0gCi0gICAgICAg ICBsbHZtOjpWYWx1ZSoga2V5X21hc2sgPSBsbHZtX3V0aWxzLT5DcmVhdGVMb2FkKGdldF9wb2lu dGVyX3RvX2tleW1hc2soZGljdCkpOwotLSAgICAgICAgbGx2bTo6RGF0YUxheW91dCBkYXRhX2xh eW91dChtb2R1bGUpOwotKyAgICAgICAgbGx2bTo6RGF0YUxheW91dCBkYXRhX2xheW91dChtb2R1 bGUtPmdldERhdGFMYXlvdXQoKSk7Ci0gICAgICAgICBzaXplX3QgbWFza19zaXplID0gZGF0YV9s YXlvdXQuZ2V0VHlwZUFsbG9jU2l6ZShsbHZtOjpUeXBlOjpnZXRJbnQ4VHkoY29udGV4dCkpOwot ICAgICAgICAgbGx2bTo6VmFsdWUqIGxsdm1fbWFza19zaXplID0gbGx2bTo6Q29uc3RhbnRJbnQ6 OmdldChsbHZtOjpUeXBlOjpnZXRJbnQzMlR5KGNvbnRleHQpLAotICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgbGx2bTo6QVBJbnQoMzIsIG1hc2tfc2l6ZSkpOwot QEAgLTU2NzMsNyArNTY3Myw3IEBAIG5hbWVzcGFjZSBMQ29tcGlsZXJzIHsKLSAgICAgICAgIGxs dm06OlZhbHVlKiBlbF9saXN0ID0gZ2V0X2VsX2xpc3Qoc2V0KTsKLSAgICAgICAgIGxsdm1fdXRp bHMtPmxpc3RfYXBpLT5saXN0X2luaXQodHlwZV9jb2RlLCBlbF9saXN0LCAqbW9kdWxlLAotICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbml0aWFsX2NhcGFjaXR5LCBp bml0aWFsX2NhcGFjaXR5KTsKLS0gICAgICAgIGxsdm06OkRhdGFMYXlvdXQgZGF0YV9sYXlvdXQo bW9kdWxlKTsKLSsgICAgICAgIGxsdm06OkRhdGFMYXlvdXQgZGF0YV9sYXlvdXQobW9kdWxlLT5n ZXREYXRhTGF5b3V0KCkpOwotICAgICAgICAgc2l6ZV90IG1hc2tfc2l6ZSA9IGRhdGFfbGF5b3V0 LmdldFR5cGVBbGxvY1NpemUobGx2bTo6VHlwZTo6Z2V0SW50OFR5KGNvbnRleHQpKTsKLSAgICAg ICAgIGxsdm06OlZhbHVlKiBsbHZtX2NhcGFjaXR5ID0gbGx2bTo6Q29uc3RhbnRJbnQ6OmdldChs bHZtOjpUeXBlOjpnZXRJbnQzMlR5KGNvbnRleHQpLAotICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgbGx2bTo6QVBJbnQoMzIsIGluaXRpYWxfY2FwYWNpdHkpKTsK LUBAIC01NzA2LDcgKzU3MDYsNyBAQCBuYW1lc3BhY2UgTENvbXBpbGVycyB7Ci0gICAgICAgICBs bHZtOjpWYWx1ZSogbnVtX2J1Y2tldHNfZmlsbGVkX3B0ciA9IGdldF9wb2ludGVyX3RvX251bWJl cl9vZl9maWxsZWRfYnVja2V0cyhzZXQpOwotICAgICAgICAgTExWTTo6Q3JlYXRlU3RvcmUoKmJ1 aWxkZXIsIGxsdm1femVybywgbnVtX2J1Y2tldHNfZmlsbGVkX3B0cik7Ci0gCi0tICAgICAgICBs bHZtOjpEYXRhTGF5b3V0IGRhdGFfbGF5b3V0KG1vZHVsZSk7Ci0rICAgICAgICBsbHZtOjpEYXRh TGF5b3V0IGRhdGFfbGF5b3V0KG1vZHVsZS0+Z2V0RGF0YUxheW91dCgpKTsKLSAgICAgICAgIGxs dm06OlR5cGUqIGVsX3R5cGUgPSB0eXBlY29kZTJlbHN0cnVjdFtlbF90eXBlX2NvZGVdOwotICAg ICAgICAgc2l6ZV90IGVsX3R5cGVfc2l6ZSA9IGRhdGFfbGF5b3V0LmdldFR5cGVBbGxvY1NpemUo ZWxfdHlwZSk7Ci0gICAgICAgICBsbHZtOjpWYWx1ZSogbGx2bV9lbF9zaXplID0gbGx2bTo6Q29u c3RhbnRJbnQ6OmdldChsbHZtOjpUeXBlOjpnZXRJbnQzMlR5KGNvbnRleHQpLCBsbHZtOjpBUElu dCgzMiwgZWxfdHlwZV9zaXplKSk7Ci1AQCAtNjE1MCw3ICs2MTUwLDcgQEAgbmFtZXNwYWNlIExD b21waWxlcnMgewotICAgICAgICAgICAgIGxsdm1fdXRpbHMtPmNyZWF0ZV9pZl9lbHNlKGJ1aWxk ZXItPkNyZWF0ZUlDbXBORSgKLSAgICAgICAgICAgICAgICAgICAgIGxsdm1fdXRpbHMtPkNyZWF0 ZUxvYWQoY2hhaW5faXRyX3ByZXYpLAotICAgICAgICAgICAgICAgICAgICAgbGx2bTo6Q29uc3Rh bnRQb2ludGVyTnVsbDo6Z2V0KGxsdm06OlR5cGU6OmdldEludDhUeShjb250ZXh0KS0+Z2V0UG9p bnRlclRvKCkpKSwgWyZdKCkgewotLSAgICAgICAgICAgICAgICBsbHZtOjpEYXRhTGF5b3V0IGRh dGFfbGF5b3V0KG1vZHVsZSk7Ci0rICAgICAgICAgICAgICAgIGxsdm06OkRhdGFMYXlvdXQgZGF0 YV9sYXlvdXQobW9kdWxlLT5nZXREYXRhTGF5b3V0KCkpOwotICAgICAgICAgICAgICAgICBzaXpl X3QgZWxfc3RydWN0X3NpemUgPSBkYXRhX2xheW91dC5nZXRUeXBlQWxsb2NTaXplKGVsX3N0cnVj dF90eXBlKTsKLSAgICAgICAgICAgICAgICAgbGx2bTo6VmFsdWUqIG1hbGxvY19zaXplID0gbGx2 bTo6Q29uc3RhbnRJbnQ6OmdldChsbHZtOjpUeXBlOjpnZXRJbnQzMlR5KGNvbnRleHQpLCBlbF9z dHJ1Y3Rfc2l6ZSk7Ci0gICAgICAgICAgICAgICAgIGxsdm06OlZhbHVlKiBuZXdfZWxfc3RydWN0 X2k4ID0gTExWTTo6bGZvcnRyYW5fbWFsbG9jKGNvbnRleHQsICptb2R1bGUsICpidWlsZGVyLCBt YWxsb2Nfc2l6ZSk7Ci1AQCAtNjI0OCw3ICs2MjQ4LDcgQEAgbmFtZXNwYWNlIExDb21waWxlcnMg ewotICAgICAgICAgbGx2bV91dGlscy0+bGlzdF9hcGktPmxpc3RfaW5pdChlbF90eXBlX2NvZGUs IG5ld19lbF9saXN0LCAqbW9kdWxlLCBjYXBhY2l0eSwgY2FwYWNpdHkpOwotIAotICAgICAgICAg bGx2bTo6VmFsdWUqIGVsX21hc2sgPSBsbHZtX3V0aWxzLT5DcmVhdGVMb2FkKGdldF9wb2ludGVy X3RvX21hc2soc2V0KSk7Ci0tICAgICAgICBsbHZtOjpEYXRhTGF5b3V0IGRhdGFfbGF5b3V0KG1v ZHVsZSk7Ci0rICAgICAgICBsbHZtOjpEYXRhTGF5b3V0IGRhdGFfbGF5b3V0KG1vZHVsZS0+Z2V0 RGF0YUxheW91dCgpKTsKLSAgICAgICAgIHNpemVfdCBtYXNrX3NpemUgPSBkYXRhX2xheW91dC5n ZXRUeXBlQWxsb2NTaXplKGxsdm06OlR5cGU6OmdldEludDhUeShjb250ZXh0KSk7Ci0gICAgICAg ICBsbHZtOjpWYWx1ZSogbGx2bV9tYXNrX3NpemUgPSBsbHZtOjpDb25zdGFudEludDo6Z2V0KGxs dm06OlR5cGU6OmdldEludDMyVHkoY29udGV4dCksCi0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBsbHZtOjpBUEludCgzMiwgbWFza19zaXplKSk7Ci1AQCAtNjgy MCw3ICs2ODIwLDcgQEAgbmFtZXNwYWNlIExDb21waWxlcnMgewotIAotICAgICAgICAgbGx2bTo6 VmFsdWUqIHNyY19lbF9tYXNrID0gbGx2bV91dGlscy0+Q3JlYXRlTG9hZChnZXRfcG9pbnRlcl90 b19tYXNrKHNyYykpOwotICAgICAgICAgbGx2bTo6VmFsdWUqIGRlc3RfZWxfbWFza19wdHIgPSBn ZXRfcG9pbnRlcl90b19tYXNrKGRlc3QpOwotLSAgICAgICAgbGx2bTo6RGF0YUxheW91dCBkYXRh X2xheW91dChtb2R1bGUpOwotKyAgICAgICAgbGx2bTo6RGF0YUxheW91dCBkYXRhX2xheW91dCht b2R1bGUtPmdldERhdGFMYXlvdXQoKSk7Ci0gICAgICAgICBzaXplX3QgbWFza19zaXplID0gZGF0 YV9sYXlvdXQuZ2V0VHlwZUFsbG9jU2l6ZShsbHZtOjpUeXBlOjpnZXRJbnQ4VHkoY29udGV4dCkp OwotICAgICAgICAgbGx2bTo6VmFsdWUqIGxsdm1fbWFza19zaXplID0gbGx2bTo6Q29uc3RhbnRJ bnQ6OmdldChsbHZtOjpUeXBlOjpnZXRJbnQzMlR5KGNvbnRleHQpLAotICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGx2bTo6QVBJbnQoMzIsIG1hc2tfc2l6ZSkp OwotQEAgLTY4NDUsNyArNjg0NSw3IEBAIG5hbWVzcGFjZSBMQ29tcGlsZXJzIHsKLSAgICAgICAg IExMVk06OkNyZWF0ZVN0b3JlKCpidWlsZGVyLCBzcmNfZmlsbGVkX2J1Y2tldHMsIGdldF9wb2lu dGVyX3RvX251bWJlcl9vZl9maWxsZWRfYnVja2V0cyhkZXN0KSk7Ci0gICAgICAgICBMTFZNOjpD cmVhdGVTdG9yZSgqYnVpbGRlciwgc3JjX2NhcGFjaXR5LCBnZXRfcG9pbnRlcl90b19jYXBhY2l0 eShkZXN0KSk7Ci0gICAgICAgICBMTFZNOjpDcmVhdGVTdG9yZSgqYnVpbGRlciwgc3JjX3JlaGFz aF9mbGFnLCBnZXRfcG9pbnRlcl90b19yZWhhc2hfZmxhZyhkZXN0KSk7Ci0tICAgICAgICBsbHZt OjpEYXRhTGF5b3V0IGRhdGFfbGF5b3V0KG1vZHVsZSk7Ci0rICAgICAgICBsbHZtOjpEYXRhTGF5 b3V0IGRhdGFfbGF5b3V0KG1vZHVsZS0+Z2V0RGF0YUxheW91dCgpKTsKLSAgICAgICAgIHNpemVf dCBtYXNrX3NpemUgPSBkYXRhX2xheW91dC5nZXRUeXBlQWxsb2NTaXplKGxsdm06OlR5cGU6Omdl dEludDhUeShjb250ZXh0KSk7Ci0gICAgICAgICBsbHZtOjpWYWx1ZSogbGx2bV9tYXNrX3NpemUg PSBsbHZtOjpDb25zdGFudEludDo6Z2V0KGxsdm06OlR5cGU6OmdldEludDMyVHkoY29udGV4dCks Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsbHZtOjpBUElu dCgzMiwgbWFza19zaXplKSk7Cg==