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: Christoph Junghans To: git-commits@fedoraproject.org Subject: [rpms/lfortran] epel10: Fix build with llvm-20 Date: Thu, 16 Jul 2026 14:32:01 GMT Message-ID: <178421232194.1.16198093740110909075.rpms-lfortran-4a24e227c2a4@fedoraproject.org> List-ID: X-Git-Repo: rpms/lfortran X-Git-Branch: epel10 X-Git-Rev: 4a24e227c2a4ad9905a32ae23b34f346619d911a QSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KClJlcG8gICA6IHJwbXMvbGZvcnRyYW4KQnJh bmNoIDogZXBlbDEwCkNvbW1pdCA6IDRhMjRlMjI3YzJhNGFkOTkwNWEzMmFlMjNiMzRmMzQ2NjE5 ZDkxMWEKQXV0aG9yIDogQ2hyaXN0b3BoIEp1bmdoYW5zIDxqdW5naGFuc0B2b3RjYS5vcmc+CkRh dGUgICA6IDIwMjUtMDMtMTBUMTc6MjI6MDktMDY6MDAKU3RhdHMgIDogKzM4Ni8tMyBpbiAyIGZp bGUocykKVVJMICAgIDogaHR0cHM6Ly9zcmMuZmVkb3JhcHJvamVjdC5vcmcvcnBtcy9sZm9ydHJh bi9jLzRhMjRlMjI3YzJhNGFkOTkwNWEzMmFlMjNiMzRmMzQ2NjE5ZDkxMWE/YnJhbmNoPWVwZWwx MAoKTG9nOgpGaXggYnVpbGQgd2l0aCBsbHZtLTIwCgotLS0KZGlmZiAtLWdpdCBhLzY1NzEucGF0 Y2ggYi82NTcxLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY3MTJk NGUKLS0tIC9kZXYvbnVsbAorKysgYi82NTcxLnBhdGNoCkBAIC0wLDAgKzEsMzc5IEBACitGcm9t IGY3Nzg0Y2UxY2RjNTQ1NjUwNzY1Mjc4ZjM4YWIzZWMzODMyOWUyMWIgTW9uIFNlcCAxNyAwMDow MDowMCAyMDAxCitGcm9tOiA9P1VURi04P3E/T25kPUM1PTk5ZWo9MjA9QzQ9OENlcnQ9QzM9QURr Pz0gPG9uZHJlakBjZXJ0aWsudXM+CitEYXRlOiBNb24sIDEwIE1hciAyMDI1IDE1OjI0OjQwIC0w NjAwCitTdWJqZWN0OiBbUEFUQ0ggMS8yXSBzZXRPcGFxdWVQb2ludGVycyBpcyByZW1vdmVkIGlu IExMVk0gMjAKKworLS0tCisgc3JjL2xpYmFzci9jb2RlZ2VuL2Fzcl90b19sbHZtLmNwcCB8IDIg Ky0KKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKKworZGlm ZiAtLWdpdCBhL3NyYy9saWJhc3IvY29kZWdlbi9hc3JfdG9fbGx2bS5jcHAgYi9zcmMvbGliYXNy L2NvZGVnZW4vYXNyX3RvX2xsdm0uY3BwCitpbmRleCAxZDZmNTA2ZTZkLi5hYWY0YWVhNDc3IDEw MDY0NAorLS0tIGEvc3JjL2xpYmFzci9jb2RlZ2VuL2Fzcl90b19sbHZtLmNwcAorKysrIGIvc3Jj L2xpYmFzci9jb2RlZ2VuL2Fzcl90b19sbHZtLmNwcAorQEAgLTEwNzc5LDcgKzEwNzc5LDcgQEAg UmVzdWx0PHN0ZDo6dW5pcXVlX3B0cjxMTFZNTW9kdWxlPj4gYXNyX3RvX2xsdm0oQVNSOjpUcmFu c2xhdGlvblVuaXRfdCAmYXNyLAorICAgICAgICAgQ29tcGlsZXJPcHRpb25zICZjbywgY29uc3Qg c3RkOjpzdHJpbmcgJnJ1bl9mbiwKKyAgICAgICAgIGNvbnN0IHN0ZDo6c3RyaW5nICZpbmZpbGUp CisgeworLSNpZiBMTFZNX1ZFUlNJT05fTUFKT1IgPj0gMTUKKysjaWYgTExWTV9WRVJTSU9OX01B Sk9SID49IDE1ICYmIExMVk1fVkVSU0lPTl9NQUpPUiA8PSAxOQorICAgICBjb250ZXh0LnNldE9w YXF1ZVBvaW50ZXJzKGZhbHNlKTsKKyAjZW5kaWYKKyAgICAgQVNSVG9MTFZNVmlzaXRvciB2KGFs LCBjb250ZXh0LCBpbmZpbGUsIGNvLCBkaWFnbm9zdGljcyk7CisKK0Zyb20gOWM5MTc5YTVlZWZh MDE4MTE5YTc4YzAwNzRjMTk0MTZlZjMyMGExYiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zy b206ID0/VVRGLTg/cT9PbmQ9QzU9OTllaj0yMD1DND04Q2VydD1DMz1BRGs/PSA8b25kcmVqQGNl cnRpay51cz4KK0RhdGU6IE1vbiwgMTAgTWFyIDIwMjUgMTU6MjU6NDEgLTA2MDAKK1N1YmplY3Q6 IFtQQVRDSCAyLzJdIFVzZSBtb2R1bGUtPmdldERhdGFMYXlvdXQoKSBmb3IgTExWTSAyMAorCist LS0KKyBzcmMvbGliYXNyL2NvZGVnZW4vYXNyX3RvX2xsdm0uY3BwICAgICAgfCAyNiArKysrKysr Ky0tLS0tLS0tLQorIHNyYy9saWJhc3IvY29kZWdlbi9sbHZtX2FycmF5X3V0aWxzLmNwcCB8IDEw ICsrKy0tLS0KKyBzcmMvbGliYXNyL2NvZGVnZW4vbGx2bV91dGlscy5jcHAgICAgICAgfCAzOCAr KysrKysrKysrKystLS0tLS0tLS0tLS0tCisgMyBmaWxlcyBjaGFuZ2VkLCAzNyBpbnNlcnRpb25z KCspLCAzNyBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL3NyYy9saWJhc3IvY29kZWdlbi9h c3JfdG9fbGx2bS5jcHAgYi9zcmMvbGliYXNyL2NvZGVnZW4vYXNyX3RvX2xsdm0uY3BwCitpbmRl eCBhYWY0YWVhNDc3Li41MWQ3ODQwYTI2IDEwMDY0NAorLS0tIGEvc3JjL2xpYmFzci9jb2RlZ2Vu L2Fzcl90b19sbHZtLmNwcAorKysrIGIvc3JjL2xpYmFzci9jb2RlZ2VuL2Fzcl90b19sbHZtLmNw cAorQEAgLTQ2Niw3ICs0NjYsNyBAQCBjbGFzcyBBU1JUb0xMVk1WaXNpdG9yIDogcHVibGljIEFT Ujo6QmFzZVZpc2l0b3I8QVNSVG9MTFZNVmlzaXRvcj4KKyAgICAgICAgICAgICAgICAgfQorICAg ICAgICAgICAgICAgICBsbHZtOjpWYWx1ZSogYXJyX2ZpcnN0ID0gbnVsbHB0cjsKKyAgICAgICAg ICAgICAgICAgaWYoICFjb21waWxlcl9vcHRpb25zLnN0YWNrX2FycmF5cyApIHsKKy0gICAgICAg ICAgICAgICAgICAgIGxsdm06OkRhdGFMYXlvdXQgZGF0YV9sYXlvdXQobW9kdWxlLmdldCgpKTsK KysgICAgICAgICAgICAgICAgICAgIGxsdm06OkRhdGFMYXlvdXQgZGF0YV9sYXlvdXQobW9kdWxl LT5nZXREYXRhTGF5b3V0KCkpOworICAgICAgICAgICAgICAgICAgICAgdWludDY0X3Qgc2l6ZSA9 IGRhdGFfbGF5b3V0LmdldFR5cGVBbGxvY1NpemUobGx2bV9kYXRhX3R5cGUpOworICAgICAgICAg ICAgICAgICAgICAgcHJvZCA9IGJ1aWxkZXItPkNyZWF0ZU11bChwcm9kLAorICAgICAgICAgICAg ICAgICAgICAgICAgIGxsdm06OkNvbnN0YW50SW50OjpnZXQoY29udGV4dCwgbGx2bTo6QVBJbnQo MzIsIHNpemUpKSk7CitAQCAtMTM0OCw3ICsxMzQ4LDcgQEAgY2xhc3MgQVNSVG9MTFZNVmlzaXRv ciA6IHB1YmxpYyBBU1I6OkJhc2VWaXNpdG9yPEFTUlRvTExWTVZpc2l0b3I+CisgICAgICAgICBp ZiggQVNSOjppc19hPEFTUjo6U3RyaW5nX3Q+KCpsaXN0X3R5cGUtPm1fdHlwZSkgfHwKKyAgICAg ICAgICAgICBMTFZNOjppc19sbHZtX3N0cnVjdChsaXN0X3R5cGUtPm1fdHlwZSkgfHwKKyAgICAg ICAgICAgICBBU1I6OmlzX2E8QVNSOjpDb21wbGV4X3Q+KCpsaXN0X3R5cGUtPm1fdHlwZSkgKSB7 CistICAgICAgICAgICAgbGx2bTo6RGF0YUxheW91dCBkYXRhX2xheW91dChtb2R1bGUuZ2V0KCkp OworKyAgICAgICAgICAgIGxsdm06OkRhdGFMYXlvdXQgZGF0YV9sYXlvdXQobW9kdWxlLT5nZXRE YXRhTGF5b3V0KCkpOworICAgICAgICAgICAgIHR5cGVfc2l6ZSA9IGRhdGFfbGF5b3V0LmdldFR5 cGVBbGxvY1NpemUobGx2bV9lbF90eXBlKTsKKyAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAg ICAgdHlwZV9zaXplID0gQVNSVXRpbHM6OmV4dHJhY3Rfa2luZF9mcm9tX3R0eXBlX3QobGlzdF90 eXBlLT5tX3R5cGUpOworQEAgLTE5MzYsNyArMTkzNiw3IEBAIGNsYXNzIEFTUlRvTExWTVZpc2l0 b3IgOiBwdWJsaWMgQVNSOjpCYXNlVmlzaXRvcjxBU1JUb0xMVk1WaXNpdG9yPgorICAgICAgICAg aWYoIEFTUjo6aXNfYTxBU1I6OlN0cmluZ190PigqZWxfdHlwZSkgfHwKKyAgICAgICAgICAgICBM TFZNOjppc19sbHZtX3N0cnVjdChlbF90eXBlKSB8fAorICAgICAgICAgICAgIEFTUjo6aXNfYTxB U1I6OkNvbXBsZXhfdD4oKmVsX3R5cGUpICkgeworLSAgICAgICAgICAgIGxsdm06OkRhdGFMYXlv dXQgZGF0YV9sYXlvdXQobW9kdWxlLmdldCgpKTsKKysgICAgICAgICAgICBsbHZtOjpEYXRhTGF5 b3V0IGRhdGFfbGF5b3V0KG1vZHVsZS0+Z2V0RGF0YUxheW91dCgpKTsKKyAgICAgICAgICAgICB0 eXBlX3NpemUgPSBkYXRhX2xheW91dC5nZXRUeXBlQWxsb2NTaXplKGxsdm1fZWxfdHlwZSk7Cisg ICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgIHR5cGVfc2l6ZSA9IEFTUlV0aWxzOjpleHRy YWN0X2tpbmRfZnJvbV90dHlwZV90KGVsX3R5cGUpOworQEAgLTIyMDAsNyArMjIwMCw3IEBAIGNs YXNzIEFTUlRvTExWTVZpc2l0b3IgOiBwdWJsaWMgQVNSOjpCYXNlVmlzaXRvcjxBU1JUb0xMVk1W aXNpdG9yPgorICAgICAgICAgaWYoIEFTUjo6aXNfYTxBU1I6OlN0cmluZ190PigqbGlzdF90eXBl LT5tX3R5cGUpIHx8CisgICAgICAgICAgICAgTExWTTo6aXNfbGx2bV9zdHJ1Y3QobGlzdF90eXBl LT5tX3R5cGUpIHx8CisgICAgICAgICAgICAgQVNSOjppc19hPEFTUjo6Q29tcGxleF90PigqbGlz dF90eXBlLT5tX3R5cGUpICkgeworLSAgICAgICAgICAgIGxsdm06OkRhdGFMYXlvdXQgZGF0YV9s YXlvdXQobW9kdWxlLmdldCgpKTsKKysgICAgICAgICAgICBsbHZtOjpEYXRhTGF5b3V0IGRhdGFf bGF5b3V0KG1vZHVsZS0+Z2V0RGF0YUxheW91dCgpKTsKKyAgICAgICAgICAgICB0eXBlX3NpemUg PSBkYXRhX2xheW91dC5nZXRUeXBlQWxsb2NTaXplKGxsdm1fZWxfdHlwZSk7CisgICAgICAgICB9 IGVsc2UgeworICAgICAgICAgICAgIHR5cGVfc2l6ZSA9IEFTUlV0aWxzOjpleHRyYWN0X2tpbmRf ZnJvbV90dHlwZV90KGxpc3RfdHlwZS0+bV90eXBlKTsKK0BAIC0yNTI4LDcgKzI1MjgsNyBAQCBj bGFzcyBBU1JUb0xMVk1WaXNpdG9yIDogcHVibGljIEFTUjo6QmFzZVZpc2l0b3I8QVNSVG9MTFZN VmlzaXRvcj4KKyAgICAgICAgICAgICAgICAgaW50NjRfdCBzaXplID0gQVNSVXRpbHM6OmdldF9m aXhlZF9zaXplX29mX2FycmF5KGFzcl9kaW1zLCBhc3Jfbl9kaW1zKTsKKyAgICAgICAgICAgICAg ICAgbGx2bTo6VHlwZSogbGx2bV9kYXRhX3R5cGUgPSBsbHZtX3V0aWxzLT5nZXRfdHlwZV9mcm9t X3R0eXBlX3RfdXRpbChBU1JVdGlsczo6dHlwZV9nZXRfcGFzdF9hcnJheSgKKyAgICAgICAgICAg ICAgICAgICAgIEFTUlV0aWxzOjp0eXBlX2dldF9wYXN0X2FsbG9jYXRhYmxlKEFTUlV0aWxzOjp0 eXBlX2dldF9wYXN0X3BvaW50ZXIoeF9tX2FycmF5X3R5cGUpKSksIG1vZHVsZS5nZXQoKSk7Cist ICAgICAgICAgICAgICAgIGxsdm06OkRhdGFMYXlvdXQgZGF0YV9sYXlvdXQobW9kdWxlLmdldCgp KTsKKysgICAgICAgICAgICAgICAgbGx2bTo6RGF0YUxheW91dCBkYXRhX2xheW91dChtb2R1bGUt PmdldERhdGFMYXlvdXQoKSk7CisgICAgICAgICAgICAgICAgIHVpbnQ2NF90IGRhdGFfc2l6ZSA9 IGRhdGFfbGF5b3V0LmdldFR5cGVBbGxvY1NpemUobGx2bV9kYXRhX3R5cGUpOworICAgICAgICAg ICAgICAgICBsbHZtOjpWYWx1ZSogbGx2bV9zaXplID0gbGx2bTo6Q29uc3RhbnRJbnQ6OmdldChj b250ZXh0LCBsbHZtOjpBUEludCgzMiwgc2l6ZSkpOworICAgICAgICAgICAgICAgICBsbHZtX3Np emUgPSBidWlsZGVyLT5DcmVhdGVNdWwobGx2bV9zaXplLAorQEAgLTI2NzQsNyArMjY3NCw3IEBA IGNsYXNzIEFTUlRvTExWTVZpc2l0b3IgOiBwdWJsaWMgQVNSOjpCYXNlVmlzaXRvcjxBU1JUb0xM Vk1WaXNpdG9yPgorICAgICBsbHZtOjpWYWx1ZSogU2l6ZU9mVHlwZVV0aWwoQVNSOjp0dHlwZV90 KiBtX3R5cGUsIGxsdm06OlR5cGUqIG91dHB1dF90eXBlLAorICAgICAgICAgQVNSOjp0dHlwZV90 KiBvdXRwdXRfdHlwZV9hc3IpIHsKKyAgICAgICAgIGxsdm06OlR5cGUqIGxsdm1fdHlwZSA9IGxs dm1fdXRpbHMtPmdldF90eXBlX2Zyb21fdHR5cGVfdF91dGlsKG1fdHlwZSwgbW9kdWxlLmdldCgp KTsKKy0gICAgICAgIGxsdm06OkRhdGFMYXlvdXQgZGF0YV9sYXlvdXQobW9kdWxlLmdldCgpKTsK KysgICAgICAgIGxsdm06OkRhdGFMYXlvdXQgZGF0YV9sYXlvdXQobW9kdWxlLT5nZXREYXRhTGF5 b3V0KCkpOworICAgICAgICAgaW50NjRfdCB0eXBlX3NpemUgPSBkYXRhX2xheW91dC5nZXRUeXBl QWxsb2NTaXplKGxsdm1fdHlwZSk7CisgICAgICAgICByZXR1cm4gbGx2bTo6Q29uc3RhbnRJbnQ6 OmdldChvdXRwdXRfdHlwZSwgbGx2bTo6QVBJbnQoCisgICAgICAgICAgICAgQVNSVXRpbHM6OmV4 dHJhY3Rfa2luZF9mcm9tX3R0eXBlX3Qob3V0cHV0X3R5cGVfYXNyKSAqIDgsIHR5cGVfc2l6ZSkp OworQEAgLTM3NjUsNyArMzc2NSw3IEBAIHB0cl90eXBlW3B0cl9tZW1iZXJdID0gbGx2bV91dGls cy0+Z2V0X3R5cGVfZnJvbV90dHlwZV90X3V0aWwoCisgICAgICAgICAgICAgICAgIGxsdm06OkFQ SW50KDMyLCBBU1JVdGlsczo6Z2V0X2ZpeGVkX3NpemVfb2ZfYXJyYXkoQVNSOjpkb3duX2Nhc3Q8 QVNSOjpBcnJheUNvbnN0YW50X3Q+KHYtPm1fdmFsdWUpLT5tX3R5cGUpKSk7CisgICAgICAgICAg ICAgICAgIGxsdm06OlR5cGUqIGxsdm1fZGF0YV90eXBlID0gbGx2bV91dGlscy0+Z2V0X3R5cGVf ZnJvbV90dHlwZV90X3V0aWwoCisgICAgICAgICAgICAgICAgICAgICBBU1JVdGlsczo6dHlwZV9n ZXRfcGFzdF9hcnJheShBU1JVdGlsczo6ZXhwcl90eXBlKHYtPm1fdmFsdWUpKSwgbW9kdWxlLmdl dCgpKTsKKy0gICAgICAgICAgICAgICAgbGx2bTo6RGF0YUxheW91dCBkYXRhX2xheW91dChtb2R1 bGUuZ2V0KCkpOworKyAgICAgICAgICAgICAgICBsbHZtOjpEYXRhTGF5b3V0IGRhdGFfbGF5b3V0 KG1vZHVsZS0+Z2V0RGF0YUxheW91dCgpKTsKKyAgICAgICAgICAgICAgICAgc2l6ZV90IGR0X3Np emUgPSBkYXRhX2xheW91dC5nZXRUeXBlQWxsb2NTaXplKGxsdm1fZGF0YV90eXBlKTsKKyAgICAg ICAgICAgICAgICAgYXJnX3NpemUgPSBidWlsZGVyLT5DcmVhdGVNdWwobGx2bTo6Q29uc3RhbnRJ bnQ6OmdldCgKKyAgICAgICAgICAgICAgICAgICAgIGxsdm06OlR5cGU6OmdldEludDMyVHkoY29u dGV4dCksIGxsdm06OkFQSW50KDMyLCBkdF9zaXplKSksIGFyZ19zaXplKTsKK0BAIC0zODk3LDcg KzM4OTcsNyBAQCBwdHJfdHlwZVtwdHJfbWVtYmVyXSA9IGxsdm1fdXRpbHMtPmdldF90eXBlX2Zy b21fdHR5cGVfdF91dGlsKAorICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICBsbHZtOjpWYWx1 ZSAqcHRyID0gbnVsbHB0cjsKKyAgICAgICAgICAgICBpZiggIWNvbXBpbGVyX29wdGlvbnMuc3Rh Y2tfYXJyYXlzICYmIGFycmF5X3NpemUgKSB7CistICAgICAgICAgICAgICAgIGxsdm06OkRhdGFM YXlvdXQgZGF0YV9sYXlvdXQobW9kdWxlLmdldCgpKTsKKysgICAgICAgICAgICAgICAgbGx2bTo6 RGF0YUxheW91dCBkYXRhX2xheW91dChtb2R1bGUtPmdldERhdGFMYXlvdXQoKSk7CisgICAgICAg ICAgICAgICAgIHVpbnQ2NF90IHNpemUgPSBkYXRhX2xheW91dC5nZXRUeXBlQWxsb2NTaXplKHR5 cGUpOworICAgICAgICAgICAgICAgICBhcnJheV9zaXplID0gYnVpbGRlci0+Q3JlYXRlTXVsKGFy cmF5X3NpemUsCisgICAgICAgICAgICAgICAgICAgICBsbHZtOjpDb25zdGFudEludDo6Z2V0KGNv bnRleHQsIGxsdm06OkFQSW50KDMyLCBzaXplKSkpOworQEAgLTUzMzIsNyArNTMzMiw3IEBAIHB0 cl90eXBlW3B0cl9tZW1iZXJdID0gbGx2bV91dGlscy0+Z2V0X3R5cGVfZnJvbV90dHlwZV90X3V0 aWwoCisgICAgICAgICAgICAgICAgICAgICBsbHZtOjpWYWx1ZSogc2l6ZSA9IGxpc3RfYXBpLT5s ZW4ocGxpc3QpOworICAgICAgICAgICAgICAgICAgICAgbGx2bTo6VHlwZSogZWxfdHlwZSA9IGxs dm1fdXRpbHMtPmdldF90eXBlX2Zyb21fdHR5cGVfdF91dGlsKAorICAgICAgICAgICAgICAgICAg ICAgICAgIEFTUlV0aWxzOjpleHRyYWN0X3R5cGUoQVNSVXRpbHM6OmV4cHJfdHlwZSh4Lm1fdmFs dWUpKSwgbW9kdWxlLmdldCgpKTsKKy0gICAgICAgICAgICAgICAgICAgIGxsdm06OkRhdGFMYXlv dXQgZGF0YV9sYXlvdXQobW9kdWxlLmdldCgpKTsKKysgICAgICAgICAgICAgICAgICAgIGxsdm06 OkRhdGFMYXlvdXQgZGF0YV9sYXlvdXQobW9kdWxlLT5nZXREYXRhTGF5b3V0KCkpOworICAgICAg ICAgICAgICAgICAgICAgdWludDY0X3Qgc2l6ZV8gPSBkYXRhX2xheW91dC5nZXRUeXBlQWxsb2NT aXplKGVsX3R5cGUpOworICAgICAgICAgICAgICAgICAgICAgc2l6ZSA9IGJ1aWxkZXItPkNyZWF0 ZU11bChzaXplLCBsbHZtOjpDb25zdGFudEludDo6Z2V0KAorICAgICAgICAgICAgICAgICAgICAg ICAgIGxsdm06OlR5cGU6OmdldEludDMyVHkoY29udGV4dCksIGxsdm06OkFQSW50KDMyLCBzaXpl XykpKTsKK0BAIC01NDI5LDcgKzU0MjksNyBAQCBwdHJfdHlwZVtwdHJfbWVtYmVyXSA9IGxsdm1f dXRpbHMtPmdldF90eXBlX2Zyb21fdHR5cGVfdF91dGlsKAorICAgICAgICAgICAgICAgICBBU1I6 OmRpbWVuc2lvbl90KiBhc3JfZGltcyA9IG51bGxwdHI7CisgICAgICAgICAgICAgICAgIHNpemVf dCBhc3Jfbl9kaW1zID0gQVNSVXRpbHM6OmV4dHJhY3RfZGltZW5zaW9uc19mcm9tX3R0eXBlKHRh cmdldF90eXBlLCBhc3JfZGltcyk7CisgICAgICAgICAgICAgICAgIGludDY0X3Qgc2l6ZSA9IEFT UlV0aWxzOjpnZXRfZml4ZWRfc2l6ZV9vZl9hcnJheShhc3JfZGltcywgYXNyX25fZGltcyk7Cist ICAgICAgICAgICAgICAgIGxsdm06OkRhdGFMYXlvdXQgZGF0YV9sYXlvdXQobW9kdWxlLmdldCgp KTsKKysgICAgICAgICAgICAgICAgbGx2bTo6RGF0YUxheW91dCBkYXRhX2xheW91dChtb2R1bGUt PmdldERhdGFMYXlvdXQoKSk7CisgICAgICAgICAgICAgICAgIHVpbnQ2NF90IGRhdGFfc2l6ZSA9 IGRhdGFfbGF5b3V0LmdldFR5cGVBbGxvY1NpemUodGFyZ2V0X2VsX3R5cGUpOworICAgICAgICAg ICAgICAgICBsbHZtOjpWYWx1ZSogbGx2bV9zaXplID0gbGx2bTo6Q29uc3RhbnRJbnQ6OmdldChj b250ZXh0LCBsbHZtOjpBUEludCgzMiwgc2l6ZSkpOworICAgICAgICAgICAgICAgICBsbHZtX3Np emUgPSBidWlsZGVyLT5DcmVhdGVNdWwobGx2bV9zaXplLAorQEAgLTU0NDEsNyArNTQ0MSw3IEBA IHB0cl90eXBlW3B0cl9tZW1iZXJdID0gbGx2bV91dGlscy0+Z2V0X3R5cGVfZnJvbV90dHlwZV90 X3V0aWwoCisgICAgICAgICAgICAgICAgIEFTUjo6ZGltZW5zaW9uX3QqIGFzcl9kaW1zID0gbnVs bHB0cjsKKyAgICAgICAgICAgICAgICAgc2l6ZV90IGFzcl9uX2RpbXMgPSBBU1JVdGlsczo6ZXh0 cmFjdF9kaW1lbnNpb25zX2Zyb21fdHR5cGUodGFyZ2V0X3R5cGUsIGFzcl9kaW1zKTsKKyAgICAg ICAgICAgICAgICAgaW50NjRfdCBzaXplID0gQVNSVXRpbHM6OmdldF9maXhlZF9zaXplX29mX2Fy cmF5KGFzcl9kaW1zLCBhc3Jfbl9kaW1zKTsKKy0gICAgICAgICAgICAgICAgbGx2bTo6RGF0YUxh eW91dCBkYXRhX2xheW91dChtb2R1bGUuZ2V0KCkpOworKyAgICAgICAgICAgICAgICBsbHZtOjpE YXRhTGF5b3V0IGRhdGFfbGF5b3V0KG1vZHVsZS0+Z2V0RGF0YUxheW91dCgpKTsKKyAgICAgICAg ICAgICAgICAgdWludDY0X3QgZGF0YV9zaXplID0gZGF0YV9sYXlvdXQuZ2V0VHlwZUFsbG9jU2l6 ZSh0YXJnZXRfZWxfdHlwZSk7CisgICAgICAgICAgICAgICAgIGxsdm06OlZhbHVlKiBsbHZtX3Np emUgPSBsbHZtOjpDb25zdGFudEludDo6Z2V0KGNvbnRleHQsIGxsdm06OkFQSW50KDMyLCBzaXpl KSk7CisgICAgICAgICAgICAgICAgIGxsdm1fc2l6ZSA9IGJ1aWxkZXItPkNyZWF0ZU11bChsbHZt X3NpemUsCitAQCAtNTQ1NCw3ICs1NDU0LDcgQEAgcHRyX3R5cGVbcHRyX21lbWJlcl0gPSBsbHZt X3V0aWxzLT5nZXRfdHlwZV9mcm9tX3R0eXBlX3RfdXRpbCgKKyAgICAgICAgICAgICAgICAgbGx2 bTo6VmFsdWUqIGxsdm1fc2l6ZSA9IGFycl9kZXNjci0+Z2V0X2FycmF5X3NpemUodGFyZ2V0LCBu dWxscHRyLCA0KTsKKyAgICAgICAgICAgICAgICAgdGFyZ2V0ID0gbGx2bV91dGlscy0+Q3JlYXRl TG9hZDIodGFyZ2V0X2VsX3R5cGUtPmdldFBvaW50ZXJUbygpLCBhcnJfZGVzY3ItPmdldF9wb2lu dGVyX3RvX2RhdGEodGFyZ2V0KSk7CisgICAgICAgICAgICAgICAgIHZhbHVlID0gbGx2bV91dGls cy0+Y3JlYXRlX2dlcCh2YWx1ZSwgMCk7CistICAgICAgICAgICAgICAgIGxsdm06OkRhdGFMYXlv dXQgZGF0YV9sYXlvdXQobW9kdWxlLmdldCgpKTsKKysgICAgICAgICAgICAgICAgbGx2bTo6RGF0 YUxheW91dCBkYXRhX2xheW91dChtb2R1bGUtPmdldERhdGFMYXlvdXQoKSk7CisgICAgICAgICAg ICAgICAgIHVpbnQ2NF90IGRhdGFfc2l6ZSA9IGRhdGFfbGF5b3V0LmdldFR5cGVBbGxvY1NpemUo dmFsdWVfZWxfdHlwZSk7CisgICAgICAgICAgICAgICAgIGxsdm1fc2l6ZSA9IGJ1aWxkZXItPkNy ZWF0ZU11bChsbHZtX3NpemUsCisgICAgICAgICAgICAgICAgICAgICBsbHZtOjpDb25zdGFudElu dDo6Z2V0KGNvbnRleHQsIGxsdm06OkFQSW50KDMyLCBkYXRhX3NpemUpKSk7CitAQCAtNTUyMyw3 ICs1NTIzLDcgQEAgcHRyX3R5cGVbcHRyX21lbWJlcl0gPSBsbHZtX3V0aWxzLT5nZXRfdHlwZV9m cm9tX3R0eXBlX3RfdXRpbCgKKyAgICAgICAgICAgICAgICAgICAgIEFTUjo6ZGltZW5zaW9uX3Qq IGFzcl9kaW1zID0gbnVsbHB0cjsKKyAgICAgICAgICAgICAgICAgICAgIHNpemVfdCBhc3Jfbl9k aW1zID0gQVNSVXRpbHM6OmV4dHJhY3RfZGltZW5zaW9uc19mcm9tX3R0eXBlKHRhcmdldF90eXBl LCBhc3JfZGltcyk7CisgICAgICAgICAgICAgICAgICAgICBpbnQ2NF90IHNpemUgPSBBU1JVdGls czo6Z2V0X2ZpeGVkX3NpemVfb2ZfYXJyYXkoYXNyX2RpbXMsIGFzcl9uX2RpbXMpOworLSAgICAg ICAgICAgICAgICAgICAgbGx2bTo6RGF0YUxheW91dCBkYXRhX2xheW91dChtb2R1bGUuZ2V0KCkp OworKyAgICAgICAgICAgICAgICAgICAgbGx2bTo6RGF0YUxheW91dCBkYXRhX2xheW91dChtb2R1 bGUtPmdldERhdGFMYXlvdXQoKSk7CisgICAgICAgICAgICAgICAgICAgICB1aW50NjRfdCBkYXRh X3NpemUgPSBkYXRhX2xheW91dC5nZXRUeXBlQWxsb2NTaXplKHRhcmdldF9lbF90eXBlKTsKKyAg ICAgICAgICAgICAgICAgICAgIGxsdm06OlZhbHVlKiBsbHZtX3NpemUgPSBsbHZtOjpDb25zdGFu dEludDo6Z2V0KGNvbnRleHQsIGxsdm06OkFQSW50KDMyLCBzaXplKSk7CisgICAgICAgICAgICAg ICAgICAgICBsbHZtX3NpemUgPSBidWlsZGVyLT5DcmVhdGVNdWwobGx2bV9zaXplLAorZGlmZiAt LWdpdCBhL3NyYy9saWJhc3IvY29kZWdlbi9sbHZtX2FycmF5X3V0aWxzLmNwcCBiL3NyYy9saWJh c3IvY29kZWdlbi9sbHZtX2FycmF5X3V0aWxzLmNwcAoraW5kZXggNWM5OTRjYzgxMC4uZWU4YTEw ZTExOSAxMDA2NDQKKy0tLSBhL3NyYy9saWJhc3IvY29kZWdlbi9sbHZtX2FycmF5X3V0aWxzLmNw cAorKysrIGIvc3JjL2xpYmFzci9jb2RlZ2VuL2xsdm1fYXJyYXlfdXRpbHMuY3BwCitAQCAtMzAx LDcgKzMwMSw3IEBAIG5hbWVzcGFjZSBMQ29tcGlsZXJzIHsKKyAgICAgICAgICAgICBsbHZtOjpW YWx1ZSogYXJyX2ZpcnN0ID0gbnVsbHB0cjsKKyAKKyAgICAgICAgICAgICBpZiggIWNvLnN0YWNr X2FycmF5cyApIHsKKy0gICAgICAgICAgICAgICAgbGx2bTo6RGF0YUxheW91dCBkYXRhX2xheW91 dChtb2R1bGUpOworKyAgICAgICAgICAgICAgICBsbHZtOjpEYXRhTGF5b3V0IGRhdGFfbGF5b3V0 KG1vZHVsZS0+Z2V0RGF0YUxheW91dCgpKTsKKyAgICAgICAgICAgICAgICAgdWludDY0X3Qgc2l6 ZSA9IGRhdGFfbGF5b3V0LmdldFR5cGVBbGxvY1NpemUobGx2bV9kYXRhX3R5cGUpOworICAgICAg ICAgICAgICAgICBidWlsZGVyLT5DcmVhdGVTdG9yZShidWlsZGVyLT5DcmVhdGVNdWwoCisgICAg ICAgICAgICAgICAgICAgICBsbHZtX3V0aWxzLT5DcmVhdGVMb2FkKGxsdm1fc2l6ZSksCitAQCAt MzcxLDcgKzM3MSw3IEBAIG5hbWVzcGFjZSBMQ29tcGlsZXJzIHsKKyAgICAgICAgICAgICB9Cisg ICAgICAgICAgICAgbGx2bTo6VmFsdWUqIHB0cjJmaXJzdHB0ciA9IGdldF9wb2ludGVyX3RvX2Rh dGEoYXJyKTsKKyAgICAgICAgICAgICBsbHZtOjpBbGxvY2FJbnN0ICphcmdfc2l6ZSA9IGxsdm1f dXRpbHMtPkNyZWF0ZUFsbG9jYSgqYnVpbGRlciwgbGx2bTo6VHlwZTo6Z2V0SW50MzJUeShjb250 ZXh0KSk7CistICAgICAgICAgICAgbGx2bTo6RGF0YUxheW91dCBkYXRhX2xheW91dChtb2R1bGUp OworKyAgICAgICAgICAgIGxsdm06OkRhdGFMYXlvdXQgZGF0YV9sYXlvdXQobW9kdWxlLT5nZXRE YXRhTGF5b3V0KCkpOworICAgICAgICAgICAgIGxsdm06OlR5cGUqIHB0cl90eXBlID0gbGx2bV9k YXRhX3R5cGUtPmdldFBvaW50ZXJUbygpOworICAgICAgICAgICAgIHVpbnQ2NF90IHNpemUgPSBk YXRhX2xheW91dC5nZXRUeXBlQWxsb2NTaXplKGxsdm1fZGF0YV90eXBlKTsKKyAgICAgICAgICAg ICBsbHZtOjpWYWx1ZSogbGx2bV9zaXplID0gbGx2bTo6Q29uc3RhbnRJbnQ6OmdldChjb250ZXh0 LCBsbHZtOjpBUEludCgzMiwgc2l6ZSkpOworQEAgLTc2Niw3ICs3NjYsNyBAQCBuYW1lc3BhY2Ug TENvbXBpbGVycyB7CisgICAgICAgICAgICAgYnVpbGRlci0+Q3JlYXRlU3RvcmUoYXJyX2ZpcnN0 LCBmaXJzdF9wdHIpOworIAorICAgICAgICAgICAgIGxsdm06OlZhbHVlKiBwdHIyZmlyc3RwdHIg PSB0aGlzLT5nZXRfcG9pbnRlcl90b19kYXRhKGFycmF5KTsKKy0gICAgICAgICAgICBsbHZtOjpE YXRhTGF5b3V0IGRhdGFfbGF5b3V0KG1vZHVsZSk7CisrICAgICAgICAgICAgbGx2bTo6RGF0YUxh eW91dCBkYXRhX2xheW91dChtb2R1bGUtPmdldERhdGFMYXlvdXQoKSk7CisgICAgICAgICAgICAg dWludDY0X3Qgc2l6ZSA9IGRhdGFfbGF5b3V0LmdldFR5cGVBbGxvY1NpemUobGx2bV9kYXRhX3R5 cGUpOworICAgICAgICAgICAgIGxsdm06OlZhbHVlKiBsbHZtX3NpemUgPSBsbHZtOjpDb25zdGFu dEludDo6Z2V0KGNvbnRleHQsIGxsdm06OkFQSW50KDMyLCBzaXplKSk7CisgICAgICAgICAgICAg bnVtX2VsZW1lbnRzID0gYnVpbGRlci0+Q3JlYXRlTXVsKG51bV9lbGVtZW50cywgbGx2bV9zaXpl KTsKK0BAIC04MzgsNyArODM4LDcgQEAgbmFtZXNwYWNlIExDb21waWxlcnMgeworICAgICAgICAg ICAgIH0KKyAKKyAgICAgICAgICAgICBsbHZtOjpWYWx1ZSogcHRyMmZpcnN0cHRyID0gdGhpcy0+ Z2V0X3BvaW50ZXJfdG9fZGF0YShzcmMpOworLSAgICAgICAgICAgIGxsdm06OkRhdGFMYXlvdXQg ZGF0YV9sYXlvdXQobW9kdWxlKTsKKysgICAgICAgICAgICBsbHZtOjpEYXRhTGF5b3V0IGRhdGFf bGF5b3V0KG1vZHVsZS0+Z2V0RGF0YUxheW91dCgpKTsKKyAgICAgICAgICAgICB1aW50NjRfdCBz aXplID0gZGF0YV9sYXlvdXQuZ2V0VHlwZUFsbG9jU2l6ZShsbHZtX2RhdGFfdHlwZSk7CisgICAg ICAgICAgICAgbGx2bTo6VmFsdWUqIGxsdm1fc2l6ZSA9IGxsdm06OkNvbnN0YW50SW50OjpnZXQo Y29udGV4dCwgbGx2bTo6QVBJbnQoMzIsIHNpemUpKTsKKyAgICAgICAgICAgICBudW1fZWxlbWVu dHMgPSBidWlsZGVyLT5DcmVhdGVNdWwobnVtX2VsZW1lbnRzLCBsbHZtX3NpemUpOworQEAgLTg4 NSw3ICs4ODUsNyBAQCBuYW1lc3BhY2UgTENvbXBpbGVycyB7CisgCisgICAgICAgICB2b2lkIFNp bXBsZUNNT0Rlc2NyaXB0b3I6OmNvcHlfYXJyYXlfZGF0YV9vbmx5KGxsdm06OlZhbHVlKiBzcmMs IGxsdm06OlZhbHVlKiBkZXN0LAorICAgICAgICAgICAgIGxsdm06Ok1vZHVsZSogbW9kdWxlLCBs bHZtOjpUeXBlKiBsbHZtX2RhdGFfdHlwZSwgbGx2bTo6VmFsdWUqIG51bV9lbGVtZW50cykgewor LSAgICAgICAgICAgIGxsdm06OkRhdGFMYXlvdXQgZGF0YV9sYXlvdXQobW9kdWxlKTsKKysgICAg ICAgICAgICBsbHZtOjpEYXRhTGF5b3V0IGRhdGFfbGF5b3V0KG1vZHVsZS0+Z2V0RGF0YUxheW91 dCgpKTsKKyAgICAgICAgICAgICB1aW50NjRfdCBzaXplID0gZGF0YV9sYXlvdXQuZ2V0VHlwZUFs bG9jU2l6ZShsbHZtX2RhdGFfdHlwZSk7CisgICAgICAgICAgICAgbGx2bTo6VmFsdWUqIGxsdm1f c2l6ZSA9IGxsdm06OkNvbnN0YW50SW50OjpnZXQoY29udGV4dCwgbGx2bTo6QVBJbnQoMzIsIHNp emUpKTsKKyAgICAgICAgICAgICBudW1fZWxlbWVudHMgPSBidWlsZGVyLT5DcmVhdGVNdWwobnVt X2VsZW1lbnRzLCBsbHZtX3NpemUpOworZGlmZiAtLWdpdCBhL3NyYy9saWJhc3IvY29kZWdlbi9s bHZtX3V0aWxzLmNwcCBiL3NyYy9saWJhc3IvY29kZWdlbi9sbHZtX3V0aWxzLmNwcAoraW5kZXgg MzExZTczN2U5MS4uNTcyYTRmNzcxOCAxMDA2NDQKKy0tLSBhL3NyYy9saWJhc3IvY29kZWdlbi9s bHZtX3V0aWxzLmNwcAorKysrIGIvc3JjL2xpYmFzci9jb2RlZ2VuL2xsdm1fdXRpbHMuY3BwCitA QCAtMjgxLDcgKzI4MSw3IEBAIG5hbWVzcGFjZSBMQ29tcGlsZXJzIHsKKyAgICAgICAgICAgICB1 bmlvbl90eXBlX2xsdm0gPSBuYW1lMmRlcnR5cGVbdW5pb25fdHlwZV9uYW1lXTsKKyAgICAgICAg IH0gZWxzZSB7CisgICAgICAgICAgICAgY29uc3Qgc3RkOjptYXA8c3RkOjpzdHJpbmcsIEFTUjo6 c3ltYm9sX3QqPiYgc2NvcGUgPSB1bmlvbl90eXBlLT5tX3N5bXRhYi0+Z2V0X3Njb3BlKCk7Cist ICAgICAgICAgICAgbGx2bTo6RGF0YUxheW91dCBkYXRhX2xheW91dChtb2R1bGUpOworKyAgICAg ICAgICAgIGxsdm06OkRhdGFMYXlvdXQgZGF0YV9sYXlvdXQobW9kdWxlLT5nZXREYXRhTGF5b3V0 KCkpOworICAgICAgICAgICAgIGxsdm06OlR5cGUqIG1heF9zaXplZF90eXBlID0gbnVsbHB0cjsK KyAgICAgICAgICAgICBzaXplX3QgbWF4X3R5cGVfc2l6ZSA9IDA7CisgICAgICAgICAgICAgZm9y KCBhdXRvIGl0ciA9IHNjb3BlLmJlZ2luKCk7IGl0ciAhPSBzY29wZS5lbmQoKTsgaXRyKysgKSB7 CitAQCAtNTA0LDcgKzUwNCw3IEBAIG5hbWVzcGFjZSBMQ29tcGlsZXJzIHsKKyAgICAgICAgIGlm KCBMTFZNOjppc19sbHZtX3N0cnVjdChhc3JfdHlwZSkgfHwKKyAgICAgICAgICAgICBBU1I6Omlz X2E8QVNSOjpTdHJpbmdfdD4oKmFzcl90eXBlKSB8fAorICAgICAgICAgICAgIEFTUjo6aXNfYTxB U1I6OkNvbXBsZXhfdD4oKmFzcl90eXBlKSApIHsKKy0gICAgICAgICAgICBsbHZtOjpEYXRhTGF5 b3V0IGRhdGFfbGF5b3V0KG1vZHVsZSk7CisrICAgICAgICAgICAgbGx2bTo6RGF0YUxheW91dCBk YXRhX2xheW91dChtb2R1bGUtPmdldERhdGFMYXlvdXQoKSk7CisgICAgICAgICAgICAgcmV0dXJu IGRhdGFfbGF5b3V0LmdldFR5cGVBbGxvY1NpemUobGx2bV90eXBlKTsKKyAgICAgICAgIH0KKyAg ICAgICAgIHJldHVybiBhX2tpbmQ7CitAQCAtNzgwLDcgKzc4MCw3IEBAIG5hbWVzcGFjZSBMQ29t cGlsZXJzIHsKKyAgICAgICAgICAgICAgICAgaWYoIExMVk06OmlzX2xsdm1fc3RydWN0KGFzcl9s aXN0LT5tX3R5cGUpIHx8CisgICAgICAgICAgICAgICAgICAgICBBU1I6OmlzX2E8QVNSOjpTdHJp bmdfdD4oKmFzcl9saXN0LT5tX3R5cGUpIHx8CisgICAgICAgICAgICAgICAgICAgICBBU1I6Omlz X2E8QVNSOjpDb21wbGV4X3Q+KCphc3JfbGlzdC0+bV90eXBlKSApIHsKKy0gICAgICAgICAgICAg ICAgICAgIGxsdm06OkRhdGFMYXlvdXQgZGF0YV9sYXlvdXQobW9kdWxlKTsKKysgICAgICAgICAg ICAgICAgICAgIGxsdm06OkRhdGFMYXlvdXQgZGF0YV9sYXlvdXQobW9kdWxlLT5nZXREYXRhTGF5 b3V0KCkpOworICAgICAgICAgICAgICAgICAgICAgdHlwZV9zaXplID0gZGF0YV9sYXlvdXQuZ2V0 VHlwZUFsbG9jU2l6ZShlbF9sbHZtX3R5cGUpOworICAgICAgICAgICAgICAgICB9IGVsc2Ugewor ICAgICAgICAgICAgICAgICAgICAgdHlwZV9zaXplID0gYV9raW5kOworQEAgLTEwNDYsNyArMTA0 Niw3IEBAIG5hbWVzcGFjZSBMQ29tcGlsZXJzIHsKKyAgICAgICAgICAgICAgICAgICAgIGlmKCBM TFZNOjppc19sbHZtX3N0cnVjdChhc3JfbGlzdC0+bV90eXBlKSB8fAorICAgICAgICAgICAgICAg ICAgICAgICAgIEFTUjo6aXNfYTxBU1I6OlN0cmluZ190PigqYXNyX2xpc3QtPm1fdHlwZSkgfHwK KyAgICAgICAgICAgICAgICAgICAgICAgICBBU1I6OmlzX2E8QVNSOjpDb21wbGV4X3Q+KCphc3Jf bGlzdC0+bV90eXBlKSApIHsKKy0gICAgICAgICAgICAgICAgICAgICAgICBsbHZtOjpEYXRhTGF5 b3V0IGRhdGFfbGF5b3V0KG1vZHVsZSk7CisrICAgICAgICAgICAgICAgICAgICAgICAgbGx2bTo6 RGF0YUxheW91dCBkYXRhX2xheW91dChtb2R1bGUtPmdldERhdGFMYXlvdXQoKSk7CisgICAgICAg ICAgICAgICAgICAgICAgICAgdHlwZV9zaXplID0gZGF0YV9sYXlvdXQuZ2V0VHlwZUFsbG9jU2l6 ZShlbF9sbHZtX3R5cGUpOworICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAg ICAgICAgICAgICAgICAgICB0eXBlX3NpemUgPSBhX2tpbmQ7CitAQCAtMTI0NCw3ICsxMjQ0LDcg QEAgbmFtZXNwYWNlIExDb21waWxlcnMgeworICAgICAgICAgICAgICAgICAgICAgaWYoIExMVk06 OmlzX2xsdm1fc3RydWN0KGFzcl9saXN0LT5tX3R5cGUpIHx8CisgICAgICAgICAgICAgICAgICAg ICAgICAgQVNSOjppc19hPEFTUjo6U3RyaW5nX3Q+KCphc3JfbGlzdC0+bV90eXBlKSB8fAorICAg ICAgICAgICAgICAgICAgICAgICAgIEFTUjo6aXNfYTxBU1I6OkNvbXBsZXhfdD4oKmFzcl9saXN0 LT5tX3R5cGUpICkgeworLSAgICAgICAgICAgICAgICAgICAgICAgIGxsdm06OkRhdGFMYXlvdXQg ZGF0YV9sYXlvdXQobW9kdWxlKTsKKysgICAgICAgICAgICAgICAgICAgICAgICBsbHZtOjpEYXRh TGF5b3V0IGRhdGFfbGF5b3V0KG1vZHVsZS0+Z2V0RGF0YUxheW91dCgpKTsKKyAgICAgICAgICAg ICAgICAgICAgICAgICB0eXBlX3NpemUgPSBkYXRhX2xheW91dC5nZXRUeXBlQWxsb2NTaXplKGVs X2xsdm1fdHlwZSk7CisgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAg ICAgICAgICAgICAgIHR5cGVfc2l6ZSA9IGFfa2luZDsKK0BAIC0xNDY3LDcgKzE0NjcsNyBAQCBu YW1lc3BhY2UgTENvbXBpbGVycyB7CisgICAgICAgICAgICAgICAgIGlmKCBMTFZNOjppc19sbHZt X3N0cnVjdChhc3JfbGlzdC0+bV90eXBlKSB8fAorICAgICAgICAgICAgICAgICAgICAgQVNSOjpp c19hPEFTUjo6U3RyaW5nX3Q+KCphc3JfbGlzdC0+bV90eXBlKSB8fAorICAgICAgICAgICAgICAg ICAgICAgQVNSOjppc19hPEFTUjo6Q29tcGxleF90PigqYXNyX2xpc3QtPm1fdHlwZSkgKSB7Cist ICAgICAgICAgICAgICAgICAgICBsbHZtOjpEYXRhTGF5b3V0IGRhdGFfbGF5b3V0KG1vZHVsZSk7 CisrICAgICAgICAgICAgICAgICAgICBsbHZtOjpEYXRhTGF5b3V0IGRhdGFfbGF5b3V0KG1vZHVs ZS0+Z2V0RGF0YUxheW91dCgpKTsKKyAgICAgICAgICAgICAgICAgICAgIHR5cGVfc2l6ZSA9IGRh dGFfbGF5b3V0LmdldFR5cGVBbGxvY1NpemUoZWxfbGx2bV90eXBlKTsKKyAgICAgICAgICAgICAg ICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICAgICAgIHR5cGVfc2l6ZSA9IGFfa2luZDsKK0BA IC0yMTA2LDcgKzIxMDYsNyBAQCBuYW1lc3BhY2UgTENvbXBpbGVycyB7CisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGludDY0X3Qgc2l6ZSA9IEFTUlV0aWxzOjpnZXRfZml4ZWRfc2l6ZV9v Zl9hcnJheShhc3JfZGltcywgYXNyX25fZGltcyk7CisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGxsdm06OlR5cGUqIGxsdm1fZGF0YV90eXBlID0gZ2V0X3R5cGVfZnJvbV90dHlwZV90X3V0 aWwoQVNSVXRpbHM6OnR5cGVfZ2V0X3Bhc3RfYXJyYXkoCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBBU1JVdGlsczo6dHlwZV9nZXRfcGFzdF9hbGxvY2F0YWJsZShBU1JVdGlsczo6 dHlwZV9nZXRfcGFzdF9wb2ludGVyKGFzcl90eXBlKSkpLCBtb2R1bGUpOworLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICBsbHZtOjpEYXRhTGF5b3V0IGRhdGFfbGF5b3V0KG1vZHVsZSk7Cisr ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxsdm06OkRhdGFMYXlvdXQgZGF0YV9sYXlvdXQo bW9kdWxlLT5nZXREYXRhTGF5b3V0KCkpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1 aW50NjRfdCBkYXRhX3NpemUgPSBkYXRhX2xheW91dC5nZXRUeXBlQWxsb2NTaXplKGxsdm1fZGF0 YV90eXBlKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGx2bTo6VmFsdWUqIGxsdm1f c2l6ZSA9IGxsdm06OkNvbnN0YW50SW50OjpnZXQoY29udGV4dCwgbGx2bTo6QVBJbnQoMzIsIHNp emUpKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGx2bV9zaXplID0gYnVpbGRlci0+ Q3JlYXRlTXVsKGxsdm1fc2l6ZSwKK0BAIC0yNDQyLDcgKzI0NDIsNyBAQCBuYW1lc3BhY2UgTENv bXBpbGVycyB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluaXRp YWxfY2FwYWNpdHksIGluaXRpYWxfY2FwYWNpdHkpOworICAgICAgICAgbGx2bV91dGlscy0+bGlz dF9hcGktPmxpc3RfaW5pdCh2YWx1ZV90eXBlX2NvZGUsIHZhbHVlX2xpc3QsICptb2R1bGUsCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluaXRpYWxfY2FwYWNpdHks IGluaXRpYWxfY2FwYWNpdHkpOworLSAgICAgICAgbGx2bTo6RGF0YUxheW91dCBkYXRhX2xheW91 dChtb2R1bGUpOworKyAgICAgICAgbGx2bTo6RGF0YUxheW91dCBkYXRhX2xheW91dChtb2R1bGUt PmdldERhdGFMYXlvdXQoKSk7CisgICAgICAgICBzaXplX3QgbWFza19zaXplID0gZGF0YV9sYXlv dXQuZ2V0VHlwZUFsbG9jU2l6ZShsbHZtOjpUeXBlOjpnZXRJbnQ4VHkoY29udGV4dCkpOworICAg ICAgICAgbGx2bTo6VmFsdWUqIGxsdm1fY2FwYWNpdHkgPSBsbHZtOjpDb25zdGFudEludDo6Z2V0 KGxsdm06OlR5cGU6OmdldEludDMyVHkoY29udGV4dCksCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBsbHZtOjpBUEludCgzMiwgaW5pdGlhbF9jYXBhY2l0eSkp OworQEAgLTI0NzIsNyArMjQ3Miw3IEBAIG5hbWVzcGFjZSBMQ29tcGlsZXJzIHsKKyAgICAgICAg IGxsdm06OlZhbHVlKiBudW1fYnVja2V0c19maWxsZWRfcHRyID0gZ2V0X3BvaW50ZXJfdG9fbnVt YmVyX29mX2ZpbGxlZF9idWNrZXRzKGRpY3QpOworICAgICAgICAgTExWTTo6Q3JlYXRlU3RvcmUo KmJ1aWxkZXIsIGxsdm1femVybywgbnVtX2J1Y2tldHNfZmlsbGVkX3B0cik7CisgCistICAgICAg ICBsbHZtOjpEYXRhTGF5b3V0IGRhdGFfbGF5b3V0KG1vZHVsZSk7CisrICAgICAgICBsbHZtOjpE YXRhTGF5b3V0IGRhdGFfbGF5b3V0KG1vZHVsZS0+Z2V0RGF0YUxheW91dCgpKTsKKyAgICAgICAg IGxsdm06OlR5cGUqIGtleV92YWx1ZV9wYWlyX3R5cGUgPSBnZXRfa2V5X3ZhbHVlX3BhaXJfdHlw ZShrZXlfdHlwZV9jb2RlLCB2YWx1ZV90eXBlX2NvZGUpOworICAgICAgICAgc2l6ZV90IGtleV92 YWx1ZV90eXBlX3NpemUgPSBkYXRhX2xheW91dC5nZXRUeXBlQWxsb2NTaXplKGtleV92YWx1ZV9w YWlyX3R5cGUpOworICAgICAgICAgbGx2bTo6VmFsdWUqIGxsdm1fa2V5X3ZhbHVlX3NpemUgPSBs bHZtOjpDb25zdGFudEludDo6Z2V0KGxsdm06OlR5cGU6OmdldEludDMyVHkoY29udGV4dCksIGxs dm06OkFQSW50KDMyLCBrZXlfdmFsdWVfdHlwZV9zaXplKSk7CitAQCAtMjYwMyw3ICsyNjAzLDcg QEAgbmFtZXNwYWNlIExDb21waWxlcnMgeworIAorICAgICAgICAgbGx2bTo6VmFsdWUqIHNyY19r ZXlfbWFzayA9IGxsdm1fdXRpbHMtPkNyZWF0ZUxvYWQoZ2V0X3BvaW50ZXJfdG9fa2V5bWFzayhz cmMpKTsKKyAgICAgICAgIGxsdm06OlZhbHVlKiBkZXN0X2tleV9tYXNrX3B0ciA9IGdldF9wb2lu dGVyX3RvX2tleW1hc2soZGVzdCk7CistICAgICAgICBsbHZtOjpEYXRhTGF5b3V0IGRhdGFfbGF5 b3V0KG1vZHVsZSk7CisrICAgICAgICBsbHZtOjpEYXRhTGF5b3V0IGRhdGFfbGF5b3V0KG1vZHVs ZS0+Z2V0RGF0YUxheW91dCgpKTsKKyAgICAgICAgIHNpemVfdCBtYXNrX3NpemUgPSBkYXRhX2xh eW91dC5nZXRUeXBlQWxsb2NTaXplKGxsdm06OlR5cGU6OmdldEludDhUeShjb250ZXh0KSk7Cisg ICAgICAgICBsbHZtOjpWYWx1ZSogbGx2bV9tYXNrX3NpemUgPSBsbHZtOjpDb25zdGFudEludDo6 Z2V0KGxsdm06OlR5cGU6OmdldEludDMyVHkoY29udGV4dCksCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBsbHZtOjpBUEludCgzMiwgbWFza19zaXplKSk7CitA QCAtMjc2Niw3ICsyNzY2LDcgQEAgbmFtZXNwYWNlIExDb21waWxlcnMgeworICAgICAgICAgTExW TTo6Q3JlYXRlU3RvcmUoKmJ1aWxkZXIsIHNyY19maWxsZWRfYnVja2V0cywgZ2V0X3BvaW50ZXJf dG9fbnVtYmVyX29mX2ZpbGxlZF9idWNrZXRzKGRlc3QpKTsKKyAgICAgICAgIExMVk06OkNyZWF0 ZVN0b3JlKCpidWlsZGVyLCBzcmNfY2FwYWNpdHksIGdldF9wb2ludGVyX3RvX2NhcGFjaXR5KGRl c3QpKTsKKyAgICAgICAgIExMVk06OkNyZWF0ZVN0b3JlKCpidWlsZGVyLCBzcmNfcmVoYXNoX2Zs YWcsIGdldF9wb2ludGVyX3RvX3JlaGFzaF9mbGFnKGRlc3QpKTsKKy0gICAgICAgIGxsdm06OkRh dGFMYXlvdXQgZGF0YV9sYXlvdXQobW9kdWxlKTsKKysgICAgICAgIGxsdm06OkRhdGFMYXlvdXQg ZGF0YV9sYXlvdXQobW9kdWxlLT5nZXREYXRhTGF5b3V0KCkpOworICAgICAgICAgc2l6ZV90IG1h c2tfc2l6ZSA9IGRhdGFfbGF5b3V0LmdldFR5cGVBbGxvY1NpemUobGx2bTo6VHlwZTo6Z2V0SW50 OFR5KGNvbnRleHQpKTsKKyAgICAgICAgIGxsdm06OlZhbHVlKiBsbHZtX21hc2tfc2l6ZSA9IGxs dm06OkNvbnN0YW50SW50OjpnZXQobGx2bTo6VHlwZTo6Z2V0SW50MzJUeShjb250ZXh0KSwKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxsdm06OkFQSW50KDMy LCBtYXNrX3NpemUpKTsKK0BAIC0zMzMyLDcgKzMzMzIsNyBAQCBuYW1lc3BhY2UgTENvbXBpbGVy cyB7CisgICAgICAgICAgICAgbGx2bV91dGlscy0+Y3JlYXRlX2lmX2Vsc2UoYnVpbGRlci0+Q3Jl YXRlSUNtcE5FKAorICAgICAgICAgICAgICAgICAgICAgbGx2bV91dGlscy0+Q3JlYXRlTG9hZChj aGFpbl9pdHJfcHJldiksCisgICAgICAgICAgICAgICAgICAgICBsbHZtOjpDb25zdGFudFBvaW50 ZXJOdWxsOjpnZXQobGx2bTo6VHlwZTo6Z2V0SW50OFR5KGNvbnRleHQpLT5nZXRQb2ludGVyVG8o KSkpLCBbJl0oKSB7CistICAgICAgICAgICAgICAgIGxsdm06OkRhdGFMYXlvdXQgZGF0YV9sYXlv dXQobW9kdWxlKTsKKysgICAgICAgICAgICAgICAgbGx2bTo6RGF0YUxheW91dCBkYXRhX2xheW91 dChtb2R1bGUtPmdldERhdGFMYXlvdXQoKSk7CisgICAgICAgICAgICAgICAgIHNpemVfdCBrdl9z dHJ1Y3Rfc2l6ZSA9IGRhdGFfbGF5b3V0LmdldFR5cGVBbGxvY1NpemUoa3Zfc3RydWN0X3R5cGUp OworICAgICAgICAgICAgICAgICBsbHZtOjpWYWx1ZSogbWFsbG9jX3NpemUgPSBsbHZtOjpDb25z dGFudEludDo6Z2V0KGxsdm06OlR5cGU6OmdldEludDMyVHkoY29udGV4dCksIGt2X3N0cnVjdF9z aXplKTsKKyAgICAgICAgICAgICAgICAgbGx2bTo6VmFsdWUqIG5ld19rdl9zdHJ1Y3RfaTggPSBM TFZNOjpsZm9ydHJhbl9tYWxsb2MoY29udGV4dCwgKm1vZHVsZSwgKmJ1aWxkZXIsIG1hbGxvY19z aXplKTsKK0BAIC0zOTIwLDcgKzM5MjAsNyBAQCBuYW1lc3BhY2UgTENvbXBpbGVycyB7CisgICAg ICAgICBsbHZtX3V0aWxzLT5saXN0X2FwaS0+bGlzdF9pbml0KHZhbHVlX3R5cGVfY29kZSwgbmV3 X3ZhbHVlX2xpc3QsICptb2R1bGUsIGNhcGFjaXR5LCBjYXBhY2l0eSk7CisgCisgICAgICAgICBs bHZtOjpWYWx1ZSoga2V5X21hc2sgPSBsbHZtX3V0aWxzLT5DcmVhdGVMb2FkKGdldF9wb2ludGVy X3RvX2tleW1hc2soZGljdCkpOworLSAgICAgICAgbGx2bTo6RGF0YUxheW91dCBkYXRhX2xheW91 dChtb2R1bGUpOworKyAgICAgICAgbGx2bTo6RGF0YUxheW91dCBkYXRhX2xheW91dChtb2R1bGUt PmdldERhdGFMYXlvdXQoKSk7CisgICAgICAgICBzaXplX3QgbWFza19zaXplID0gZGF0YV9sYXlv dXQuZ2V0VHlwZUFsbG9jU2l6ZShsbHZtOjpUeXBlOjpnZXRJbnQ4VHkoY29udGV4dCkpOworICAg ICAgICAgbGx2bTo6VmFsdWUqIGxsdm1fbWFza19zaXplID0gbGx2bTo6Q29uc3RhbnRJbnQ6Omdl dChsbHZtOjpUeXBlOjpnZXRJbnQzMlR5KGNvbnRleHQpLAorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgbGx2bTo6QVBJbnQoMzIsIG1hc2tfc2l6ZSkpOworQEAg LTU2NzMsNyArNTY3Myw3IEBAIG5hbWVzcGFjZSBMQ29tcGlsZXJzIHsKKyAgICAgICAgIGxsdm06 OlZhbHVlKiBlbF9saXN0ID0gZ2V0X2VsX2xpc3Qoc2V0KTsKKyAgICAgICAgIGxsdm1fdXRpbHMt Pmxpc3RfYXBpLT5saXN0X2luaXQodHlwZV9jb2RlLCBlbF9saXN0LCAqbW9kdWxlLAorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbml0aWFsX2NhcGFjaXR5LCBpbml0 aWFsX2NhcGFjaXR5KTsKKy0gICAgICAgIGxsdm06OkRhdGFMYXlvdXQgZGF0YV9sYXlvdXQobW9k dWxlKTsKKysgICAgICAgIGxsdm06OkRhdGFMYXlvdXQgZGF0YV9sYXlvdXQobW9kdWxlLT5nZXRE YXRhTGF5b3V0KCkpOworICAgICAgICAgc2l6ZV90IG1hc2tfc2l6ZSA9IGRhdGFfbGF5b3V0Lmdl dFR5cGVBbGxvY1NpemUobGx2bTo6VHlwZTo6Z2V0SW50OFR5KGNvbnRleHQpKTsKKyAgICAgICAg IGxsdm06OlZhbHVlKiBsbHZtX2NhcGFjaXR5ID0gbGx2bTo6Q29uc3RhbnRJbnQ6OmdldChsbHZt OjpUeXBlOjpnZXRJbnQzMlR5KGNvbnRleHQpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgbGx2bTo6QVBJbnQoMzIsIGluaXRpYWxfY2FwYWNpdHkpKTsKK0BA IC01NzA2LDcgKzU3MDYsNyBAQCBuYW1lc3BhY2UgTENvbXBpbGVycyB7CisgICAgICAgICBsbHZt OjpWYWx1ZSogbnVtX2J1Y2tldHNfZmlsbGVkX3B0ciA9IGdldF9wb2ludGVyX3RvX251bWJlcl9v Zl9maWxsZWRfYnVja2V0cyhzZXQpOworICAgICAgICAgTExWTTo6Q3JlYXRlU3RvcmUoKmJ1aWxk ZXIsIGxsdm1femVybywgbnVtX2J1Y2tldHNfZmlsbGVkX3B0cik7CisgCistICAgICAgICBsbHZt OjpEYXRhTGF5b3V0IGRhdGFfbGF5b3V0KG1vZHVsZSk7CisrICAgICAgICBsbHZtOjpEYXRhTGF5 b3V0IGRhdGFfbGF5b3V0KG1vZHVsZS0+Z2V0RGF0YUxheW91dCgpKTsKKyAgICAgICAgIGxsdm06 OlR5cGUqIGVsX3R5cGUgPSB0eXBlY29kZTJlbHN0cnVjdFtlbF90eXBlX2NvZGVdOworICAgICAg ICAgc2l6ZV90IGVsX3R5cGVfc2l6ZSA9IGRhdGFfbGF5b3V0LmdldFR5cGVBbGxvY1NpemUoZWxf dHlwZSk7CisgICAgICAgICBsbHZtOjpWYWx1ZSogbGx2bV9lbF9zaXplID0gbGx2bTo6Q29uc3Rh bnRJbnQ6OmdldChsbHZtOjpUeXBlOjpnZXRJbnQzMlR5KGNvbnRleHQpLCBsbHZtOjpBUEludCgz MiwgZWxfdHlwZV9zaXplKSk7CitAQCAtNjE1MCw3ICs2MTUwLDcgQEAgbmFtZXNwYWNlIExDb21w aWxlcnMgeworICAgICAgICAgICAgIGxsdm1fdXRpbHMtPmNyZWF0ZV9pZl9lbHNlKGJ1aWxkZXIt PkNyZWF0ZUlDbXBORSgKKyAgICAgICAgICAgICAgICAgICAgIGxsdm1fdXRpbHMtPkNyZWF0ZUxv YWQoY2hhaW5faXRyX3ByZXYpLAorICAgICAgICAgICAgICAgICAgICAgbGx2bTo6Q29uc3RhbnRQ b2ludGVyTnVsbDo6Z2V0KGxsdm06OlR5cGU6OmdldEludDhUeShjb250ZXh0KS0+Z2V0UG9pbnRl clRvKCkpKSwgWyZdKCkgeworLSAgICAgICAgICAgICAgICBsbHZtOjpEYXRhTGF5b3V0IGRhdGFf bGF5b3V0KG1vZHVsZSk7CisrICAgICAgICAgICAgICAgIGxsdm06OkRhdGFMYXlvdXQgZGF0YV9s YXlvdXQobW9kdWxlLT5nZXREYXRhTGF5b3V0KCkpOworICAgICAgICAgICAgICAgICBzaXplX3Qg ZWxfc3RydWN0X3NpemUgPSBkYXRhX2xheW91dC5nZXRUeXBlQWxsb2NTaXplKGVsX3N0cnVjdF90 eXBlKTsKKyAgICAgICAgICAgICAgICAgbGx2bTo6VmFsdWUqIG1hbGxvY19zaXplID0gbGx2bTo6 Q29uc3RhbnRJbnQ6OmdldChsbHZtOjpUeXBlOjpnZXRJbnQzMlR5KGNvbnRleHQpLCBlbF9zdHJ1 Y3Rfc2l6ZSk7CisgICAgICAgICAgICAgICAgIGxsdm06OlZhbHVlKiBuZXdfZWxfc3RydWN0X2k4 ID0gTExWTTo6bGZvcnRyYW5fbWFsbG9jKGNvbnRleHQsICptb2R1bGUsICpidWlsZGVyLCBtYWxs b2Nfc2l6ZSk7CitAQCAtNjI0OCw3ICs2MjQ4LDcgQEAgbmFtZXNwYWNlIExDb21waWxlcnMgewor ICAgICAgICAgbGx2bV91dGlscy0+bGlzdF9hcGktPmxpc3RfaW5pdChlbF90eXBlX2NvZGUsIG5l d19lbF9saXN0LCAqbW9kdWxlLCBjYXBhY2l0eSwgY2FwYWNpdHkpOworIAorICAgICAgICAgbGx2 bTo6VmFsdWUqIGVsX21hc2sgPSBsbHZtX3V0aWxzLT5DcmVhdGVMb2FkKGdldF9wb2ludGVyX3Rv X21hc2soc2V0KSk7CistICAgICAgICBsbHZtOjpEYXRhTGF5b3V0IGRhdGFfbGF5b3V0KG1vZHVs ZSk7CisrICAgICAgICBsbHZtOjpEYXRhTGF5b3V0IGRhdGFfbGF5b3V0KG1vZHVsZS0+Z2V0RGF0 YUxheW91dCgpKTsKKyAgICAgICAgIHNpemVfdCBtYXNrX3NpemUgPSBkYXRhX2xheW91dC5nZXRU eXBlQWxsb2NTaXplKGxsdm06OlR5cGU6OmdldEludDhUeShjb250ZXh0KSk7CisgICAgICAgICBs bHZtOjpWYWx1ZSogbGx2bV9tYXNrX3NpemUgPSBsbHZtOjpDb25zdGFudEludDo6Z2V0KGxsdm06 OlR5cGU6OmdldEludDMyVHkoY29udGV4dCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBsbHZtOjpBUEludCgzMiwgbWFza19zaXplKSk7CitAQCAtNjgyMCw3 ICs2ODIwLDcgQEAgbmFtZXNwYWNlIExDb21waWxlcnMgeworIAorICAgICAgICAgbGx2bTo6VmFs dWUqIHNyY19lbF9tYXNrID0gbGx2bV91dGlscy0+Q3JlYXRlTG9hZChnZXRfcG9pbnRlcl90b19t YXNrKHNyYykpOworICAgICAgICAgbGx2bTo6VmFsdWUqIGRlc3RfZWxfbWFza19wdHIgPSBnZXRf cG9pbnRlcl90b19tYXNrKGRlc3QpOworLSAgICAgICAgbGx2bTo6RGF0YUxheW91dCBkYXRhX2xh eW91dChtb2R1bGUpOworKyAgICAgICAgbGx2bTo6RGF0YUxheW91dCBkYXRhX2xheW91dChtb2R1 bGUtPmdldERhdGFMYXlvdXQoKSk7CisgICAgICAgICBzaXplX3QgbWFza19zaXplID0gZGF0YV9s YXlvdXQuZ2V0VHlwZUFsbG9jU2l6ZShsbHZtOjpUeXBlOjpnZXRJbnQ4VHkoY29udGV4dCkpOwor ICAgICAgICAgbGx2bTo6VmFsdWUqIGxsdm1fbWFza19zaXplID0gbGx2bTo6Q29uc3RhbnRJbnQ6 OmdldChsbHZtOjpUeXBlOjpnZXRJbnQzMlR5KGNvbnRleHQpLAorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgbGx2bTo6QVBJbnQoMzIsIG1hc2tfc2l6ZSkpOwor QEAgLTY4NDUsNyArNjg0NSw3IEBAIG5hbWVzcGFjZSBMQ29tcGlsZXJzIHsKKyAgICAgICAgIExM Vk06OkNyZWF0ZVN0b3JlKCpidWlsZGVyLCBzcmNfZmlsbGVkX2J1Y2tldHMsIGdldF9wb2ludGVy X3RvX251bWJlcl9vZl9maWxsZWRfYnVja2V0cyhkZXN0KSk7CisgICAgICAgICBMTFZNOjpDcmVh dGVTdG9yZSgqYnVpbGRlciwgc3JjX2NhcGFjaXR5LCBnZXRfcG9pbnRlcl90b19jYXBhY2l0eShk ZXN0KSk7CisgICAgICAgICBMTFZNOjpDcmVhdGVTdG9yZSgqYnVpbGRlciwgc3JjX3JlaGFzaF9m bGFnLCBnZXRfcG9pbnRlcl90b19yZWhhc2hfZmxhZyhkZXN0KSk7CistICAgICAgICBsbHZtOjpE YXRhTGF5b3V0IGRhdGFfbGF5b3V0KG1vZHVsZSk7CisrICAgICAgICBsbHZtOjpEYXRhTGF5b3V0 IGRhdGFfbGF5b3V0KG1vZHVsZS0+Z2V0RGF0YUxheW91dCgpKTsKKyAgICAgICAgIHNpemVfdCBt YXNrX3NpemUgPSBkYXRhX2xheW91dC5nZXRUeXBlQWxsb2NTaXplKGxsdm06OlR5cGU6OmdldElu dDhUeShjb250ZXh0KSk7CisgICAgICAgICBsbHZtOjpWYWx1ZSogbGx2bV9tYXNrX3NpemUgPSBs bHZtOjpDb25zdGFudEludDo6Z2V0KGxsdm06OlR5cGU6OmdldEludDMyVHkoY29udGV4dCksCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsbHZtOjpBUEludCgz MiwgbWFza19zaXplKSk7CgpkaWZmIC0tZ2l0IGEvbGZvcnRyYW4uc3BlYyBiL2xmb3J0cmFuLnNw ZWMKaW5kZXggMzc3MjVhNS4uMjFhNGJlNyAxMDA2NDQKLS0tIGEvbGZvcnRyYW4uc3BlYworKysg Yi9sZm9ydHJhbi5zcGVjCkBAIC0xLDYgKzEsNiBAQAogVmVyc2lvbjogICAgICAgIDAuNDguMAog TmFtZTogICAgICAgICAgIGxmb3J0cmFuCi1SZWxlYXNlOiAgICAgICAgMSV7P2Rpc3R9CitSZWxl YXNlOiAgICAgICAgMiV7P2Rpc3R9CiBTdW1tYXJ5OiAgICAgICAgQSBtb2Rlcm4gRm9ydHJhbiBj b21waWxlcgogCiAjIE1haW4gY29kZSBpcyBCU0QtMy1DbGF1c2UKQEAgLTksNiArOSw3IEBAIFN1 bW1hcnk6ICAgICAgICBBIG1vZGVybiBGb3J0cmFuIGNvbXBpbGVyCiBMaWNlbnNlOiAgICAgICAg QlNELTMtQ2xhdXNlIEFORCBBcGFjaGUtMi4wIFdJVEggTExWTS1leGNlcHRpb24KIFVSTDogICAg ICAgICAgICBodHRwczovL2xmb3J0cmFuLm9yZy8KIFNvdXJjZTA6ICAgICAgICBodHRwczovL2dp dGh1Yi5jb20vbGZvcnRyYW4vbGZvcnRyYW4vcmVsZWFzZXMvZG93bmxvYWQvdiV7dmVyc2lvbn0v bGZvcnRyYW4tJXt2ZXJzaW9ufS50YXIuZ3oKK1BhdGNoMDogICAgICAgICBodHRwczovL3BhdGNo LWRpZmYuZ2l0aHVidXNlcmNvbnRlbnQuY29tL3Jhdy9sZm9ydHJhbi9sZm9ydHJhbi9wdWxsLzY1 NzEucGF0Y2gKICMgaHR0cHM6Ly9naXRodWIuY29tL2xmb3J0cmFuL2xmb3J0cmFuL2lzc3Vlcy8y OTgxCiBFeGNsdXNpdmVBcmNoOiB4ODZfNjQKIApAQCAtMzEsNyArMzIsNyBAQCBCdWlsZFJlcXVp cmVzOiBqc29uLWRldmVsCiBCdWlsZFJlcXVpcmVzOiBsaWJmZmktZGV2ZWwKIEJ1aWxkUmVxdWly ZXM6IGxpYnVud2luZC1kZXZlbAogQnVpbGRSZXF1aXJlczogbGlidXVpZC1kZXZlbAotQnVpbGRS ZXF1aXJlczogbGx2bTE5LWRldmVsCitCdWlsZFJlcXVpcmVzOiBsbHZtLWRldmVsCiBCdWlsZFJl cXVpcmVzOiBweXRob24zLWRldmVsCiBCdWlsZFJlcXVpcmVzOiByYXBpZGpzb24tZGV2ZWwKIEJ1 aWxkUmVxdWlyZXM6IHJlMmMKQEAgLTExNSw3ICsxMTYsNyBAQCBUaGlzIHBhY2thZ2UgY29udGFp bnMgdGhlIGp1cHl0ZXIga2VybmVsIGZvciAle25hbWV9LgogIyBub3QgbmVlZGVkIG9uIEZlZG9y YQogIyBXQVNNPU9GRiBkdWUgdG8gbGZvcnRyYW4vbGZvcnRyYW4jMzg5OQogIyBXSVRIX1NUQUNL VFJBQ0U9T0ZGIGR1ZSB0byBsZm9ydHJhbi9sZm9ydHJhbiM1MDcyCi0lY21ha2UgLURDTUFLRV9Q UkVGSVhfUEFUSD0le19saWJkaXJ9L2xsdm0xOS8gXAorJWNtYWtlIFwKICAgICAgICAtRFdJVEhf TExWTT1PTiBcCiAgICAgICAgLURXSVRIX1pTVEQ9T0ZGIFwKICAgICAgICAtRFdJVEhfUlVOVElN RV9MSUJSQVJZPU9OIFwKQEAgLTE2Nyw2ICsxNjgsOSBAQCBUaGlzIHBhY2thZ2UgY29udGFpbnMg dGhlIGp1cHl0ZXIga2VybmVsIGZvciAle25hbWV9LgogJWVuZGlmCiAKICVjaGFuZ2Vsb2cKKyog TW9uIE1hciAxMCAyMDI1IENocmlzdG9waCBKdW5naGFucyA8anVuZ2hhbnNAdm90Y2Eub3JnPiAt IDAuNDguMC0yCistIEZpeCBidWlsZCB3aXRoIGxsdm0tMjAKKwogKiBNb24gTWFyIDEwIDIwMjUg Q2hyaXN0b3BoIEp1bmdoYW5zIDxqdW5naGFuc0B2b3RjYS5vcmc+IC0gMC40OC4wLTEKIC0gVmVy c2lvbiBidW1wIHRvIHYwLjQ4LjAgKGJ1ZyAjMjM1MTE2NCkKIAo=