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: Michael J Gruber To: git-commits@fedoraproject.org Subject: [rpms/python-PyMuPDF] f44: record upstream PR Date: Sun, 16 Aug 2026 19:05:07 GMT Message-ID: <178690710727.1.17136810142589388266.rpms-python-PyMuPDF-6825fa6d40d7@fedoraproject.org> List-ID: X-Git-Repo: rpms/python-PyMuPDF X-Git-Branch: f44 X-Git-Rev: 6825fa6d40d79012a92a939c9a6e55c1dd40268a ICAgICAgICAgICAgQSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KCiAgICAgICAgICAgIFJl cG8gICA6IHJwbXMvcHl0aG9uLVB5TXVQREYKICAgICAgICAgICAgQnJhbmNoIDogZjQ0CiAgICAg ICAgICAgIENvbW1pdCA6IDY4MjVmYTZkNDBkNzkwMTJhOTJhOTM5YzlhNmU1NWMxZGQ0MDI2OGEK ICAgICAgICAgICAgQXV0aG9yIDogTWljaGFlbCBKIEdydWJlciA8bWpnQGZlZG9yYXByb2plY3Qu b3JnPgogICAgICAgICAgICBEYXRlICAgOiAyMDI2LTA3LTMxVDE1OjU5OjQzKzAyOjAwCiAgICAg ICAgICAgIFN0YXRzICA6ICsxNDQvLTExNSBpbiAzIGZpbGUocykKICAgICAgICAgICAgVVJMICAg IDogaHR0cHM6Ly9zcmMuZmVkb3JhcHJvamVjdC5vcmcvcnBtcy9weXRob24tUHlNdVBERi9jLzY4 MjVmYTZkNDBkNzkwMTJhOTJhOTM5YzlhNmU1NWMxZGQ0MDI2OGE/YnJhbmNoPWY0NAoKICAgICAg ICAgICAgTG9nOgogICAgICAgICAgICByZWNvcmQgdXBzdHJlYW0gUFIKCltza2lwIGNoYW5nZWxv Z10KCi0tLQpkaWZmIC0tZ2l0IGEvMDAwMS1SZXBsYWNlLXJlbW92ZWQtUHl0aG9uLTItQy1BUEkt bWFjcm9zLWZvci1TV0lHLTQuNS4wLnBhdGNoIGIvMDAwMS1SZXBsYWNlLXJlbW92ZWQtUHl0aG9u LTItQy1BUEktbWFjcm9zLWZvci1TV0lHLTQuNS4wLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0 CmluZGV4IDAwMDAwMDAuLjUxYWZiYmUKLS0tIC9kZXYvbnVsbAorKysgYi8wMDAxLVJlcGxhY2Ut cmVtb3ZlZC1QeXRob24tMi1DLUFQSS1tYWNyb3MtZm9yLVNXSUctNC41LjAucGF0Y2gKQEAgLTAs MCArMSwxNDEgQEAKK0Zyb20gN2Y0MTlhNWJlZDdiMjU3NDE2ZjY4Mzc1ODBkYzQzMjVlMjQwZTYy NSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK01lc3NhZ2UtSUQ6IDw3ZjQxOWE1YmVkN2IyNTc0 MTZmNjgzNzU4MGRjNDMyNWUyNDBlNjI1LjE3ODU0MjQ4NjguZ2l0Lm1qZ0BmZWRvcmFwcm9qZWN0 Lm9yZz4KK0Zyb206IE1pY2hhZWwgSiBHcnViZXIgPG1qZ0BmZWRvcmFwcm9qZWN0Lm9yZz4KK0Rh dGU6IFRodSwgMzAgSnVsIDIwMjYgMTc6MjA6MTEgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSF0gUmVw bGFjZSByZW1vdmVkIFB5dGhvbiAyIEMgQVBJIG1hY3JvcyBmb3IgU1dJRyA0LjUuMAorIGNvbXBh dGliaWxpdHkKKworU1dJRyB3YXMgY2FycnlpbmcgdGh1cyBtYWNyb3MgYmVmb3JlIHZlcnNpb24g NC41LjAsIGJ1dCB0aGV5IHdlcmUgbmV2ZXIKK25lY2Vzc2FyeSBpbiBQeXRob24gMy4gU3RvcCB1 c2luZyBmb3IgY29tcGF0aWJpbGl0eSB3aXRoIHVwY29taW5nIFNXSUcKKzQuNS4wLgorCitTdWdn ZXN0ZWQtYnk6IEppdGthIFBsZXNuaWtvdmEgPGpwbGVzbmlrQHJlZGhhdC5jb20+CistLS0KKyBz cmMvX19pbml0X18ucHkgICAgICAgICAgICAgIHwgIDIgKy0KKyBzcmMvZXh0cmEuaSAgICAgICAg ICAgICAgICAgIHwgIDIgKy0KKyBzcmNfY2xhc3NpYy9maXR6X29sZC5pICAgICAgIHwgIDIgKy0K KyBzcmNfY2xhc3NpYy9oZWxwZXItZmllbGRzLmkgIHwgMTQgKysrKysrKy0tLS0tLS0KKyBzcmNf Y2xhc3NpYy9oZWxwZXIteG9iamVjdC5pIHwgIDIgKy0KKyA1IGZpbGVzIGNoYW5nZWQsIDExIGlu c2VydGlvbnMoKyksIDExIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvc3JjL19faW5pdF9f LnB5IGIvc3JjL19faW5pdF9fLnB5CitpbmRleCBhZjdmOWQ3Zi4uMWE3OThhNzkgMTAwNjQ0Cist LS0gYS9zcmMvX19pbml0X18ucHkKKysrKyBiL3NyYy9fX2luaXRfXy5weQorQEAgLTIxOTQ1LDcg KzIxOTQ1LDcgQEAgZGVmIEpNX3NldF93aWRnZXRfcHJvcGVydGllcyhhbm5vdCwgV2lkZ2V0KToK KyAKKyAgICAgIyBlbnRyeSBpZ25vcmVkIC0gbWF5IGJlIHVzZWQgbGF0ZXIKKyAgICAgIworLSAg ICAjaW50IHRleHRfZm9ybWF0ID0gKGludCkgUHlJbnRfQXNMb25nKEdFVEFUVFIoInRleHRfZm9y bWF0IikpOworKyAgICAjaW50IHRleHRfZm9ybWF0ID0gKGludCkgUHlMb25nX0FzTG9uZyhHRVRB VFRSKCJ0ZXh0X2Zvcm1hdCIpKTsKKyAgICAgIworIAorICAgICAjIGZpZWxkIGxhYmVsIC0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitk aWZmIC0tZ2l0IGEvc3JjL2V4dHJhLmkgYi9zcmMvZXh0cmEuaQoraW5kZXggYmYwNGViYjguLmFh ZmZmMzBjIDEwMDY0NAorLS0tIGEvc3JjL2V4dHJhLmkKKysrKyBiL3NyYy9leHRyYS5pCitAQCAt MjI1LDcgKzIyNSw3IEBAIHN0YXRpYyB2b2lkIG1lc3NhZ2V2KGNvbnN0IGNoYXIqIGZvcm1hdCwg dmFfbGlzdCB2YSkKKyAgICAgc3RhdGljIFB5T2JqZWN0KiBtZXNzYWdlX2ZuID0gUHlPYmplY3Rf R2V0QXR0clN0cmluZyhweW11cGRmX21vZHVsZSwgIm1lc3NhZ2UiKTsKKyAgICAgY2hhciogdGV4 dDsKKyAgICAgdmFzcHJpbnRmKCZ0ZXh0LCBmb3JtYXQsIHZhKTsKKy0gICAgUHlPYmplY3QqIHRl eHRfcHkgPSBQeVN0cmluZ19Gcm9tU3RyaW5nKHRleHQpOworKyAgICBQeU9iamVjdCogdGV4dF9w eSA9IFB5VW5pY29kZV9Gcm9tU3RyaW5nKHRleHQpOworICAgICBQeU9iamVjdCogYXJncyA9IFB5 VHVwbGVfUGFjaygxLCB0ZXh0X3B5KTsKKyAgICAgUHlPYmplY3QqIHJldCA9IFB5T2JqZWN0X0Nh bGxPYmplY3QobWVzc2FnZV9mbiwgYXJncyk7CisgICAgIFB5X1hERUNSRUYocmV0KTsKK2RpZmYg LS1naXQgYS9zcmNfY2xhc3NpYy9maXR6X29sZC5pIGIvc3JjX2NsYXNzaWMvZml0el9vbGQuaQor aW5kZXggOGFiYzg5NTUuLjMxODFlNTY5IDEwMDY0NAorLS0tIGEvc3JjX2NsYXNzaWMvZml0el9v bGQuaQorKysrIGIvc3JjX2NsYXNzaWMvZml0el9vbGQuaQorQEAgLTY4MDUsNyArNjgwNSw3IEBA IGRlZiBnZXRfb2NfaXRlbXMoc2VsZikgLT4gbGlzdDoKKyAgICAgICAgICAgICBmel90cnkoZ2N0 eCkgeworICAgICAgICAgICAgICAgICBwZGZfcGFnZSAqcGFnZSA9IHBkZl9wYWdlX2Zyb21fZnpf cGFnZShnY3R4LCAoZnpfcGFnZSAqKSAkc2VsZik7CisgICAgICAgICAgICAgICAgIGlmICghcGFn ZSkgZ290byBmaW5pc2hlZDsgIC8vIGhhdmUgbm8gUERGCistICAgICAgICAgICAgICAgIGludCB4 cmVmID0gKGludCkgUHlJbnRfQXNMb25nKFB5RGljdF9HZXRJdGVtKGxpbmtkaWN0LCBkaWN0a2V5 X3hyZWYpKTsKKysgICAgICAgICAgICAgICAgaW50IHhyZWYgPSAoaW50KSBQeUxvbmdfQXNMb25n KFB5RGljdF9HZXRJdGVtKGxpbmtkaWN0LCBkaWN0a2V5X3hyZWYpKTsKKyAgICAgICAgICAgICAg ICAgaWYgKHhyZWYgPCAxKSBnb3RvIGZpbmlzaGVkOyAgLy8gaW52YWxpZCB4cmVmCisgICAgICAg ICAgICAgICAgIHBkZl9vYmogKmFubm90cyA9IHBkZl9kaWN0X2dldChnY3R4LCBwYWdlLT5vYmos IFBERl9OQU1FKEFubm90cykpOworICAgICAgICAgICAgICAgICBpZiAoIWFubm90cykgZ290byBm aW5pc2hlZDsgIC8vIGhhdmUgbm8gYW5ub3RhdGlvbnMKK2RpZmYgLS1naXQgYS9zcmNfY2xhc3Np Yy9oZWxwZXItZmllbGRzLmkgYi9zcmNfY2xhc3NpYy9oZWxwZXItZmllbGRzLmkKK2luZGV4IDcy MWRjMzRmLi5lMTczYWNjMyAxMDA2NDQKKy0tLSBhL3NyY19jbGFzc2ljL2hlbHBlci1maWVsZHMu aQorKysrIGIvc3JjX2NsYXNzaWMvaGVscGVyLWZpZWxkcy5pCitAQCAtMzIzLDcgKzMyMyw3IEBA IFB5T2JqZWN0ICpKTV9saXN0Ym94X3ZhbHVlKGZ6X2NvbnRleHQgKmN0eCwgcGRmX2Fubm90ICph bm5vdCkKKyAgICAgcGRmX29iaiAqYW5ub3Rfb2JqID0gcGRmX2Fubm90X29iaihjdHgsIGFubm90 KTsKKyAgICAgcGRmX29iaiAqb3B0YXJyID0gcGRmX2RpY3RfZ2V0KGN0eCwgYW5ub3Rfb2JqLCBQ REZfTkFNRShWKSk7CisgICAgIGlmIChwZGZfaXNfc3RyaW5nKGN0eCwgb3B0YXJyKSkgICAgICAg ICAvLyBhIHNpbmdsZSBzdHJpbmcKKy0gICAgICAgIHJldHVybiBQeVN0cmluZ19Gcm9tU3RyaW5n KHBkZl90b190ZXh0X3N0cmluZyhjdHgsIG9wdGFycikpOworKyAgICAgICAgcmV0dXJuIFB5VW5p Y29kZV9Gcm9tU3RyaW5nKHBkZl90b190ZXh0X3N0cmluZyhjdHgsIG9wdGFycikpOworIAorICAg ICAvLyB2YWx1ZSBpcyBhbiBhcnJheSAobWF5IGhhdmUgbGVuIDApCisgICAgIG4gPSBwZGZfYXJy YXlfbGVuKGN0eCwgb3B0YXJyKTsKK0BAIC02MDksNyArNjA5LDcgQEAgdm9pZCBKTV9zZXRfd2lk Z2V0X3Byb3BlcnRpZXMoZnpfY29udGV4dCAqY3R4LCBwZGZfYW5ub3QgKmFubm90LCBQeU9iamVj dCAqV2lkZ2UKKyAgICAgUHlfc3NpemVfdCBpLCBuID0gMDsKKyAgICAgaW50IGQ7CisgICAgIFB5 T2JqZWN0ICp2YWx1ZSA9IEdFVEFUVFIoImZpZWxkX3R5cGUiKTsKKy0gICAgaW50IGZpZWxkX3R5 cGUgPSAoaW50KSBQeUludF9Bc0xvbmcodmFsdWUpOworKyAgICBpbnQgZmllbGRfdHlwZSA9IChp bnQpIFB5TG9uZ19Bc0xvbmcodmFsdWUpOworICAgICBQeV9ERUNSRUYodmFsdWUpOworIAorICAg ICAvLyByZWN0YW5nbGUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0KK0BAIC02NDIsNyArNjQyLDcgQEAgdm9pZCBKTV9zZXRfd2lk Z2V0X3Byb3BlcnRpZXMoZnpfY29udGV4dCAqY3R4LCBwZGZfYW5ub3QgKmFubm90LCBQeU9iamVj dCAqV2lkZ2UKKyAgICAgICAgIGRhc2hlcyA9IHBkZl9uZXdfYXJyYXkoY3R4LCBwZGYsIG4pOwor ICAgICAgICAgZm9yIChpID0gMDsgaSA8IG47IGkrKykgeworICAgICAgICAgICAgIHBkZl9hcnJh eV9wdXNoX2ludChjdHgsIGRhc2hlcywKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg KGludDY0X3QpIFB5SW50X0FzTG9uZyhQeVNlcXVlbmNlX0lURU0odmFsdWUsIGkpKSk7CisrICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIChpbnQ2NF90KSBQeUxvbmdfQXNMb25nKFB5U2Vx dWVuY2VfSVRFTSh2YWx1ZSwgaSkpKTsKKyAgICAgICAgIH0KKyAgICAgICAgIHBkZl9kaWN0X3B1 dGxfZHJvcChjdHgsIGFubm90X29iaiwgZGFzaGVzLAorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgUERGX05BTUUoQlMpLAorQEAgLTY3MCw3ICs2NzAsNyBAQCB2b2lkIEpNX3NldF93 aWRnZXRfcHJvcGVydGllcyhmel9jb250ZXh0ICpjdHgsIHBkZl9hbm5vdCAqYW5ub3QsIFB5T2Jq ZWN0ICpXaWRnZQorIAorICAgICAvLyBlbnRyeSBpZ25vcmVkIC0gbWF5IGJlIHVzZWQgbGF0ZXIK KyAgICAgLyoKKy0gICAgaW50IHRleHRfZm9ybWF0ID0gKGludCkgUHlJbnRfQXNMb25nKEdFVEFU VFIoInRleHRfZm9ybWF0IikpOworKyAgICBpbnQgdGV4dF9mb3JtYXQgPSAoaW50KSBQeUxvbmdf QXNMb25nKEdFVEFUVFIoInRleHRfZm9ybWF0IikpOworICAgICAqLworIAorICAgICAvLyBmaWVs ZCBsYWJlbCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLQorQEAgLTcwMSwxNCArNzAxLDE0IEBAIHZvaWQgSk1fc2V0X3dpZGdldF9wcm9w ZXJ0aWVzKGZ6X2NvbnRleHQgKmN0eCwgcGRmX2Fubm90ICphbm5vdCwgUHlPYmplY3QgKldpZGdl CisgICAgIGlmIChmaWVsZF90eXBlID09IFBERl9XSURHRVRfVFlQRV9URVhUKQorICAgICB7Cisg ICAgICAgICB2YWx1ZSA9IEdFVEFUVFIoInRleHRfbWF4bGVuIik7CistICAgICAgICBpbnQgdGV4 dF9tYXhsZW4gPSAoaW50KSBQeUludF9Bc0xvbmcodmFsdWUpOworKyAgICAgICAgaW50IHRleHRf bWF4bGVuID0gKGludCkgUHlMb25nX0FzTG9uZyh2YWx1ZSk7CisgICAgICAgICBpZiAodGV4dF9t YXhsZW4pIHsKKyAgICAgICAgICAgICBwZGZfZGljdF9wdXRfaW50KGN0eCwgYW5ub3Rfb2JqLCBQ REZfTkFNRShNYXhMZW4pLCB0ZXh0X21heGxlbik7CisgICAgICAgICB9CisgICAgICAgICBQeV9Y REVDUkVGKHZhbHVlKTsKKyAgICAgfQorICAgICB2YWx1ZSA9IEdFVEFUVFIoImZpZWxkX2Rpc3Bs YXkiKTsKKy0gICAgZCA9IChpbnQpIFB5SW50X0FzTG9uZyh2YWx1ZSk7CisrICAgIGQgPSAoaW50 KSBQeUxvbmdfQXNMb25nKHZhbHVlKTsKKyAgICAgUHlfWERFQ1JFRih2YWx1ZSk7CisgICAgIHBk Zl9maWVsZF9zZXRfZGlzcGxheShjdHgsIGFubm90X29iaiwgZCk7CisgCitAQCAtNzQ4LDcgKzc0 OCw3IEBAIHZvaWQgSk1fc2V0X3dpZGdldF9wcm9wZXJ0aWVzKGZ6X2NvbnRleHQgKmN0eCwgcGRm X2Fubm90ICphbm5vdCwgUHlPYmplY3QgKldpZGdlCisgCisgICAgIC8vIGZpZWxkIGZsYWdzIC0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LQorICAgICB2YWx1ZSA9IEdFVEFUVFIoImZpZWxkX2ZsYWdzIik7CistICAgIGludCBmaWVsZF9m bGFncyA9IChpbnQpIFB5SW50X0FzTG9uZyh2YWx1ZSk7CisrICAgIGludCBmaWVsZF9mbGFncyA9 IChpbnQpIFB5TG9uZ19Bc0xvbmcodmFsdWUpOworICAgICBQeV9YREVDUkVGKHZhbHVlKTsKKyAg ICAgaWYgKCFQeUVycl9PY2N1cnJlZCgpKSB7CisgICAgICAgICBpZiAoZmllbGRfdHlwZSA9PSBQ REZfV0lER0VUX1RZUEVfQ09NQk9CT1gpIHsKK2RpZmYgLS1naXQgYS9zcmNfY2xhc3NpYy9oZWxw ZXIteG9iamVjdC5pIGIvc3JjX2NsYXNzaWMvaGVscGVyLXhvYmplY3QuaQoraW5kZXggN2Y5Yzlj OTcuLmJlMDlmM2Q3IDEwMDY0NAorLS0tIGEvc3JjX2NsYXNzaWMvaGVscGVyLXhvYmplY3QuaQor KysrIGIvc3JjX2NsYXNzaWMvaGVscGVyLXhvYmplY3QuaQorQEAgLTEzNyw3ICsxMzcsNyBAQCBz dGF0aWMgdm9pZCBzaG93KGNvbnN0IGNoYXIqIHByZWZpeCwgUHlPYmplY3QqIG9iaikKKyAgICAg fQorICAgICBQeU9iamVjdCogb2JqX3JlcHIgPSBQeU9iamVjdF9SZXByKCBvYmopOworICAgICBQ eU9iamVjdCogb2JqX3JlcHJfdSA9IFB5VW5pY29kZV9Bc0VuY29kZWRTdHJpbmcoIG9ial9yZXBy LCAidXRmLTgiLCAifkV+Iik7CistICAgIGNvbnN0IGNoYXIqIG9ial9yZXByX3MgPSBQeVN0cmlu Z19Bc1N0cmluZyggb2JqX3JlcHJfdSk7CisrICAgIGNvbnN0IGNoYXIqIG9ial9yZXByX3MgPSBQ eUJ5dGVzX0FzU3RyaW5nKCBvYmpfcmVwcl91KTsKKyAgICAgcHJpbnRmKCAiJXMlc1xuIiwgcHJl Zml4LCBvYmpfcmVwcl9zKTsKKyAgICAgZmZsdXNoKHN0ZG91dCk7CisgfQorLS0gCisyLjU1LjAu NjA3LmdlNTRiNWI2NTEzCisKCmRpZmYgLS1naXQgYS9weXRob24tUHlNdVBERi1zd2lnNDUucGF0 Y2ggYi9weXRob24tUHlNdVBERi1zd2lnNDUucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0 CmluZGV4IGUzMTI3MTkuLjAwMDAwMDAKLS0tIGEvcHl0aG9uLVB5TXVQREYtc3dpZzQ1LnBhdGNo CisrKyAvZGV2L251bGwKQEAgLTEsMTEzICswLDAgQEAKLWRpZmYgLXVwIFB5TXVQREYtMS4yNy4y LjIvc3JjX2NsYXNzaWMvZml0el9vbGQuaS5zd2lnNDUgUHlNdVBERi0xLjI3LjIuMi9zcmNfY2xh c3NpYy9maXR6X29sZC5pCi0tLS0gUHlNdVBERi0xLjI3LjIuMi9zcmNfY2xhc3NpYy9maXR6X29s ZC5pLnN3aWc0NQkyMDI2LTA3LTI4IDEwOjMwOjEzLjg4Mjc0MzUzOSArMDIwMAotKysrIFB5TXVQ REYtMS4yNy4yLjIvc3JjX2NsYXNzaWMvZml0el9vbGQuaQkyMDI2LTA3LTI4IDEwOjMwOjI5LjU1 MjA2NDI5NCArMDIwMAotQEAgLTY4MDAsNyArNjgwMCw3IEBAIGRlZiBnZXRfb2NfaXRlbXMoc2Vs ZikgLT4gbGlzdDoKLSAgICAgICAgICAgICBmel90cnkoZ2N0eCkgewotICAgICAgICAgICAgICAg ICBwZGZfcGFnZSAqcGFnZSA9IHBkZl9wYWdlX2Zyb21fZnpfcGFnZShnY3R4LCAoZnpfcGFnZSAq KSAkc2VsZik7Ci0gICAgICAgICAgICAgICAgIGlmICghcGFnZSkgZ290byBmaW5pc2hlZDsgIC8v IGhhdmUgbm8gUERGCi0tICAgICAgICAgICAgICAgIGludCB4cmVmID0gKGludCkgUHlJbnRfQXNM b25nKFB5RGljdF9HZXRJdGVtKGxpbmtkaWN0LCBkaWN0a2V5X3hyZWYpKTsKLSsgICAgICAgICAg ICAgICAgaW50IHhyZWYgPSAoaW50KSBQeUxvbmdfQXNMb25nKFB5RGljdF9HZXRJdGVtKGxpbmtk aWN0LCBkaWN0a2V5X3hyZWYpKTsKLSAgICAgICAgICAgICAgICAgaWYgKHhyZWYgPCAxKSBnb3Rv IGZpbmlzaGVkOyAgLy8gaW52YWxpZCB4cmVmCi0gICAgICAgICAgICAgICAgIHBkZl9vYmogKmFu bm90cyA9IHBkZl9kaWN0X2dldChnY3R4LCBwYWdlLT5vYmosIFBERl9OQU1FKEFubm90cykpOwot ICAgICAgICAgICAgICAgICBpZiAoIWFubm90cykgZ290byBmaW5pc2hlZDsgIC8vIGhhdmUgbm8g YW5ub3RhdGlvbnMKLWRpZmYgLXVwIFB5TXVQREYtMS4yNy4yLjIvc3JjX2NsYXNzaWMvaGVscGVy LWZpZWxkcy5pLnN3aWc0NSBQeU11UERGLTEuMjcuMi4yL3NyY19jbGFzc2ljL2hlbHBlci1maWVs ZHMuaQotLS0tIFB5TXVQREYtMS4yNy4yLjIvc3JjX2NsYXNzaWMvaGVscGVyLWZpZWxkcy5pLnN3 aWc0NQkyMDI2LTA3LTI4IDEwOjMwOjEzLjg3ODc0MzQ1NyArMDIwMAotKysrIFB5TXVQREYtMS4y Ny4yLjIvc3JjX2NsYXNzaWMvaGVscGVyLWZpZWxkcy5pCTIwMjYtMDctMjggMTA6MzA6MjkuNTQy MDY0MDg5ICswMjAwCi1AQCAtMzIzLDcgKzMyMyw3IEBAIFB5T2JqZWN0ICpKTV9saXN0Ym94X3Zh bHVlKGZ6X2NvbnRleHQgKmMKLSAgICAgcGRmX29iaiAqYW5ub3Rfb2JqID0gcGRmX2Fubm90X29i aihjdHgsIGFubm90KTsKLSAgICAgcGRmX29iaiAqb3B0YXJyID0gcGRmX2RpY3RfZ2V0KGN0eCwg YW5ub3Rfb2JqLCBQREZfTkFNRShWKSk7Ci0gICAgIGlmIChwZGZfaXNfc3RyaW5nKGN0eCwgb3B0 YXJyKSkgICAgICAgICAvLyBhIHNpbmdsZSBzdHJpbmcKLS0gICAgICAgIHJldHVybiBQeVN0cmlu Z19Gcm9tU3RyaW5nKHBkZl90b190ZXh0X3N0cmluZyhjdHgsIG9wdGFycikpOwotKyAgICAgICAg cmV0dXJuIFB5VW5pY29kZV9Gcm9tU3RyaW5nKHBkZl90b190ZXh0X3N0cmluZyhjdHgsIG9wdGFy cikpOwotIAotICAgICAvLyB2YWx1ZSBpcyBhbiBhcnJheSAobWF5IGhhdmUgbGVuIDApCi0gICAg IG4gPSBwZGZfYXJyYXlfbGVuKGN0eCwgb3B0YXJyKTsKLUBAIC02MDksNyArNjA5LDcgQEAgdm9p ZCBKTV9zZXRfd2lkZ2V0X3Byb3BlcnRpZXMoZnpfY29udGV4dAotICAgICBQeV9zc2l6ZV90IGks IG4gPSAwOwotICAgICBpbnQgZDsKLSAgICAgUHlPYmplY3QgKnZhbHVlID0gR0VUQVRUUigiZmll bGRfdHlwZSIpOwotLSAgICBpbnQgZmllbGRfdHlwZSA9IChpbnQpIFB5SW50X0FzTG9uZyh2YWx1 ZSk7Ci0rICAgIGludCBmaWVsZF90eXBlID0gKGludCkgUHlMb25nX0FzTG9uZyh2YWx1ZSk7Ci0g ICAgIFB5X0RFQ1JFRih2YWx1ZSk7Ci0gCi0gICAgIC8vIHJlY3RhbmdsZSAtLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotQEAgLTY0 Miw3ICs2NDIsNyBAQCB2b2lkIEpNX3NldF93aWRnZXRfcHJvcGVydGllcyhmel9jb250ZXh0Ci0g ICAgICAgICBkYXNoZXMgPSBwZGZfbmV3X2FycmF5KGN0eCwgcGRmLCBuKTsKLSAgICAgICAgIGZv ciAoaSA9IDA7IGkgPCBuOyBpKyspIHsKLSAgICAgICAgICAgICBwZGZfYXJyYXlfcHVzaF9pbnQo Y3R4LCBkYXNoZXMsCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChpbnQ2NF90KSBQ eUludF9Bc0xvbmcoUHlTZXF1ZW5jZV9JVEVNKHZhbHVlLCBpKSkpOwotKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAoaW50NjRfdCkgUHlMb25nX0FzTG9uZyhQeVNlcXVlbmNlX0lURU0o dmFsdWUsIGkpKSk7Ci0gICAgICAgICB9Ci0gICAgICAgICBwZGZfZGljdF9wdXRsX2Ryb3AoY3R4 LCBhbm5vdF9vYmosIGRhc2hlcywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBE Rl9OQU1FKEJTKSwKLUBAIC02NzAsNyArNjcwLDcgQEAgdm9pZCBKTV9zZXRfd2lkZ2V0X3Byb3Bl cnRpZXMoZnpfY29udGV4dAotIAotICAgICAvLyBlbnRyeSBpZ25vcmVkIC0gbWF5IGJlIHVzZWQg bGF0ZXIKLSAgICAgLyoKLS0gICAgaW50IHRleHRfZm9ybWF0ID0gKGludCkgUHlJbnRfQXNMb25n KEdFVEFUVFIoInRleHRfZm9ybWF0IikpOwotKyAgICBpbnQgdGV4dF9mb3JtYXQgPSAoaW50KSBQ eUxvbmdfQXNMb25nKEdFVEFUVFIoInRleHRfZm9ybWF0IikpOwotICAgICAqLwotIAotICAgICAv LyBmaWVsZCBsYWJlbCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLQotQEAgLTcwMSwxNCArNzAxLDE0IEBAIHZvaWQgSk1fc2V0X3dpZGdl dF9wcm9wZXJ0aWVzKGZ6X2NvbnRleHQKLSAgICAgaWYgKGZpZWxkX3R5cGUgPT0gUERGX1dJREdF VF9UWVBFX1RFWFQpCi0gICAgIHsKLSAgICAgICAgIHZhbHVlID0gR0VUQVRUUigidGV4dF9tYXhs ZW4iKTsKLS0gICAgICAgIGludCB0ZXh0X21heGxlbiA9IChpbnQpIFB5SW50X0FzTG9uZyh2YWx1 ZSk7Ci0rICAgICAgICBpbnQgdGV4dF9tYXhsZW4gPSAoaW50KSBQeUxvbmdfQXNMb25nKHZhbHVl KTsKLSAgICAgICAgIGlmICh0ZXh0X21heGxlbikgewotICAgICAgICAgICAgIHBkZl9kaWN0X3B1 dF9pbnQoY3R4LCBhbm5vdF9vYmosIFBERl9OQU1FKE1heExlbiksIHRleHRfbWF4bGVuKTsKLSAg ICAgICAgIH0KLSAgICAgICAgIFB5X1hERUNSRUYodmFsdWUpOwotICAgICB9Ci0gICAgIHZhbHVl ID0gR0VUQVRUUigiZmllbGRfZGlzcGxheSIpOwotLSAgICBkID0gKGludCkgUHlJbnRfQXNMb25n KHZhbHVlKTsKLSsgICAgZCA9IChpbnQpIFB5TG9uZ19Bc0xvbmcodmFsdWUpOwotICAgICBQeV9Y REVDUkVGKHZhbHVlKTsKLSAgICAgcGRmX2ZpZWxkX3NldF9kaXNwbGF5KGN0eCwgYW5ub3Rfb2Jq LCBkKTsKLSAKLUBAIC03NDgsNyArNzQ4LDcgQEAgdm9pZCBKTV9zZXRfd2lkZ2V0X3Byb3BlcnRp ZXMoZnpfY29udGV4dAotIAotICAgICAvLyBmaWVsZCBmbGFncyAtLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSAgICAgdmFsdWUgPSBH RVRBVFRSKCJmaWVsZF9mbGFncyIpOwotLSAgICBpbnQgZmllbGRfZmxhZ3MgPSAoaW50KSBQeUlu dF9Bc0xvbmcodmFsdWUpOwotKyAgICBpbnQgZmllbGRfZmxhZ3MgPSAoaW50KSBQeUxvbmdfQXNM b25nKHZhbHVlKTsKLSAgICAgUHlfWERFQ1JFRih2YWx1ZSk7Ci0gICAgIGlmICghUHlFcnJfT2Nj dXJyZWQoKSkgewotICAgICAgICAgaWYgKGZpZWxkX3R5cGUgPT0gUERGX1dJREdFVF9UWVBFX0NP TUJPQk9YKSB7Ci1kaWZmIC11cCBQeU11UERGLTEuMjcuMi4yL3NyY19jbGFzc2ljL2hlbHBlci14 b2JqZWN0Lmkuc3dpZzQ1IFB5TXVQREYtMS4yNy4yLjIvc3JjX2NsYXNzaWMvaGVscGVyLXhvYmpl Y3QuaQotLS0tIFB5TXVQREYtMS4yNy4yLjIvc3JjX2NsYXNzaWMvaGVscGVyLXhvYmplY3QuaS5z d2lnNDUJMjAyNi0wNy0yOCAxMDozMDoxMy44ODA3NDM0OTggKzAyMDAKLSsrKyBQeU11UERGLTEu MjcuMi4yL3NyY19jbGFzc2ljL2hlbHBlci14b2JqZWN0LmkJMjAyNi0wNy0yOCAxMDozMDoyOS41 NDMyMTAzNjggKzAyMDAKLUBAIC0xMzcsNyArMTM3LDcgQEAgc3RhdGljIHZvaWQgc2hvdyhjb25z dCBjaGFyKiBwcmVmaXgsIFB5TwotICAgICB9Ci0gICAgIFB5T2JqZWN0KiBvYmpfcmVwciA9IFB5 T2JqZWN0X1JlcHIoIG9iaik7Ci0gICAgIFB5T2JqZWN0KiBvYmpfcmVwcl91ID0gUHlVbmljb2Rl X0FzRW5jb2RlZFN0cmluZyggb2JqX3JlcHIsICJ1dGYtOCIsICJ+RX4iKTsKLS0gICAgY29uc3Qg Y2hhciogb2JqX3JlcHJfcyA9IFB5U3RyaW5nX0FzU3RyaW5nKCBvYmpfcmVwcl91KTsKLSsgICAg Y29uc3QgY2hhciogb2JqX3JlcHJfcyA9IFB5Qnl0ZXNfQXNTdHJpbmcoIG9ial9yZXByX3UpOwot ICAgICBwcmludGYoICIlcyVzXG4iLCBwcmVmaXgsIG9ial9yZXByX3MpOwotICAgICBmZmx1c2go c3Rkb3V0KTsKLSB9Ci1kaWZmIC11cCBQeU11UERGLTEuMjcuMi4yL3NyYy9leHRyYS5pLnN3aWc0 NSBQeU11UERGLTEuMjcuMi4yL3NyYy9leHRyYS5pCi0tLS0gUHlNdVBERi0xLjI3LjIuMi9zcmMv ZXh0cmEuaS5zd2lnNDUJMjAyNi0wNy0yOCAxMDozMDoxMy44NzQ3NDMzNzUgKzAyMDAKLSsrKyBQ eU11UERGLTEuMjcuMi4yL3NyYy9leHRyYS5pCTIwMjYtMDctMjggMTA6MzA6MjkuNTE4MDYzNTk3 ICswMjAwCi1AQCAtMjI1LDcgKzIyNSw3IEBAIHN0YXRpYyB2b2lkIG1lc3NhZ2V2KGNvbnN0IGNo YXIqIGZvcm1hdCwKLSAgICAgc3RhdGljIFB5T2JqZWN0KiBtZXNzYWdlX2ZuID0gUHlPYmplY3Rf R2V0QXR0clN0cmluZyhweW11cGRmX21vZHVsZSwgIm1lc3NhZ2UiKTsKLSAgICAgY2hhciogdGV4 dDsKLSAgICAgdmFzcHJpbnRmKCZ0ZXh0LCBmb3JtYXQsIHZhKTsKLS0gICAgUHlPYmplY3QqIHRl eHRfcHkgPSBQeVN0cmluZ19Gcm9tU3RyaW5nKHRleHQpOwotKyAgICBQeU9iamVjdCogdGV4dF9w eSA9IFB5VW5pY29kZV9Gcm9tU3RyaW5nKHRleHQpOwotICAgICBQeU9iamVjdCogYXJncyA9IFB5 VHVwbGVfUGFjaygxLCB0ZXh0X3B5KTsKLSAgICAgUHlPYmplY3QqIHJldCA9IFB5T2JqZWN0X0Nh bGxPYmplY3QobWVzc2FnZV9mbiwgYXJncyk7Ci0gICAgIFB5X1hERUNSRUYocmV0KTsKLWRpZmYg LXVwIFB5TXVQREYtMS4yNy4yLjIvc3JjL19faW5pdF9fLnB5LnN3aWc0NSBQeU11UERGLTEuMjcu Mi4yL3NyYy9fX2luaXRfXy5weQotLS0tIFB5TXVQREYtMS4yNy4yLjIvc3JjL19faW5pdF9fLnB5 LnN3aWc0NQkyMDI2LTA3LTI4IDEwOjMwOjEzLjg3Njc0MzQxNiArMDIwMAotKysrIFB5TXVQREYt MS4yNy4yLjIvc3JjL19faW5pdF9fLnB5CTIwMjYtMDctMjggMTA6MzA6MjkuNTM3MDYzOTg2ICsw MjAwCi1AQCAtMjE3MjQsNyArMjE3MjQsNyBAQCBkZWYgSk1fc2V0X3dpZGdldF9wcm9wZXJ0aWVz KGFubm90LCBXaWRnCi0gCi0gICAgICMgZW50cnkgaWdub3JlZCAtIG1heSBiZSB1c2VkIGxhdGVy Ci0gICAgICMKLS0gICAgI2ludCB0ZXh0X2Zvcm1hdCA9IChpbnQpIFB5SW50X0FzTG9uZyhHRVRB VFRSKCJ0ZXh0X2Zvcm1hdCIpKTsKLSsgICAgI2ludCB0ZXh0X2Zvcm1hdCA9IChpbnQpIFB5TG9u Z19Bc0xvbmcoR0VUQVRUUigidGV4dF9mb3JtYXQiKSk7Ci0gICAgICMKLSAKLSAgICAgIyBmaWVs ZCBsYWJlbCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLQoKZGlmZiAtLWdpdCBhL3B5dGhvbi1QeU11UERGLnNwZWMgYi9weXRob24tUHlN dVBERi5zcGVjCmluZGV4IGFjNmRhYjAuLmY5NTA5NjAgMTAwNjQ0Ci0tLSBhL3B5dGhvbi1QeU11 UERGLnNwZWMKKysrIGIvcHl0aG9uLVB5TXVQREYuc3BlYwpAQCAtMjMsMTIgKzIzLDEzIEBAIFBh dGNoOgkJMDAwMS1hZGp1c3QtdGVzdHMtdG8tdGVzc2VyYWN0LTUuNS4xLnBhdGNoCiBQYXRjaDoJ CTAwMDEtdGVzdHMtY29uZnRlc3QtZG8tbm90LWNhbGwtcGlwLnBhdGNoCiAjIFVwc3RyZWFtIHBh dGNoZXMgZnJvbSBtYWluIGJyYW5jaDoKIFBhdGNoOgkJMDAwMS1zcmMtX19pbml0X18ucHktZml4 LWluY29ycmVjdC1nZW5lcmF0aW9uLW9mLVBERi1jb250LnBhdGNoCi0jIFVwc3RyZWFtYWJsZToK KyMgU3VnZ2VzdGVkIHVwc3RyZWFtOjoKICMgaHR0cHM6Ly9naXRodWIuY29tL3B5bXVwZGYvUHlN dVBERi9wdWxsLzUwMTUKIFBhdGNoOgkJMDAwMS1yZW1vdmUtdXNhZ2Utb2YtdHlwaW5nLkJ5dGVT dHJpbmcucGF0Y2gKICMgUmVwbGFjZSByZW1vdmVkIFB5dGhvbiAyIEMgQVBJIG1hY3JvcyB3aXRo IFB5dGhvbiAzIGVxdWl2YWxlbnRzCiAjIGZvciBjb21wYXRpYmlsaXR5IHdpdGggU1dJRyA0LjUu MAotUGF0Y2g6CQlweXRob24tUHlNdVBERi1zd2lnNDUucGF0Y2gKKyMgaHR0cHM6Ly9naXRodWIu Y29tL3B5bXVwZGYvUHlNdVBERi9wdWxsLzUwNzIKK1BhdGNoOgkJMDAwMS1SZXBsYWNlLXJlbW92 ZWQtUHl0aG9uLTItQy1BUEktbWFjcm9zLWZvci1TV0lHLTQuNS4wLnBhdGNoCiAKICMgdGVzdCBk ZXBlbmRlbmNpZXMgbm90IHBpY2tlZCB1cCBieSBnZW5lcmF0b3IKIEJ1aWxkUmVxdWlyZXM6CXB5 dGhvbjNkaXN0KHBpbGxvdykK