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: Jakub Jelinek To: git-commits@fedoraproject.org Subject: [rpms/gcc] rhel-f41-base: 4.1.2-22 Date: Mon, 29 Jun 2026 12:23:23 GMT Message-ID: <178273580316.1.45891992202173918.rpms-gcc-2d7fb2fe4ba1@fedoraproject.org> List-ID: X-Git-Repo: rpms/gcc X-Git-Branch: rhel-f41-base X-Git-Rev: 2d7fb2fe4ba18b4f7c59404b3aad766685495b78 QSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KClJlcG8gICA6IHJwbXMvZ2NjCkJyYW5jaCA6 IHJoZWwtZjQxLWJhc2UKQ29tbWl0IDogMmQ3ZmIyZmU0YmExOGI0ZjdjNTk0MDRiM2FhZDc2NjY4 NTQ5NWI3OApBdXRob3IgOiBKYWt1YiBKZWxpbmVrIDxqYWt1YkBmZWRvcmFwcm9qZWN0Lm9yZz4K RGF0ZSAgIDogMjAwNy0wOS0wNlQxMjoyNjo0NiswMDowMApTdGF0cyAgOiArNjg3Ly0xIGluIDQg ZmlsZShzKQpVUkwgICAgOiBodHRwczovL3NyYy5mZWRvcmFwcm9qZWN0Lm9yZy9ycG1zL2djYy9j LzJkN2ZiMmZlNGJhMThiNGY3YzU5NDA0YjNhYWQ3NjY2ODU0OTViNzg/YnJhbmNoPXJoZWwtZjQx LWJhc2UKCkxvZzoKNC4xLjItMjIKCi0tLQpkaWZmIC0tZ2l0IGEvZ2NjNDEtYnVpbHRpbi1jaGst YW50aWNpcGF0ZWQucGF0Y2ggYi9nY2M0MS1idWlsdGluLWNoay1hbnRpY2lwYXRlZC5wYXRjaApu ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xNWI3ODQ2Ci0tLSAvZGV2L251bGwK KysrIGIvZ2NjNDEtYnVpbHRpbi1jaGstYW50aWNpcGF0ZWQucGF0Y2gKQEAgLTAsMCArMSwzNyBA QAorMjAwNy0wOS0wNiAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CisKKwlQUiBj KysvMzMyODkKKwkqIGRlY2wuYyAoYnVpbHRpbl9mdW5jdGlvbl8xKTogU2V0IERFQ0xfQU5USUNJ UEFURUQgYWxzbworCW9uIF9fKl9jaGsgbm9uLV9fYnVpbHRpbl8qIGRlY2xzLgorCisJKiBnKysu ZGcvZWgvYnVpbHRpbjQuQzogTmV3IHRlc3QuCisKKy0tLSBnY2MvY3AvZGVjbC5jLmpqCTIwMDct MDgtMzEgMTQ6Mjg6MTkuMDAwMDAwMDAwICswMjAwCisrKysgZ2NjL2NwL2RlY2wuYwkyMDA3LTA5 LTA0IDIxOjI4OjA2LjAwMDAwMDAwMCArMDIwMAorQEAgLTM1MTcsNiArMzUyOSwxNyBAQCBidWls dGluX2Z1bmN0aW9uXzEgKHRyZWUgZGVjbCwgdHJlZSBjb250CisgICAgICBhbnRpY2lwYXRlZCBi dXQgbm90IGFjdHVhbGx5IGRlY2xhcmVkLiAgKi8KKyAgIGlmIChuYW1lWzBdICE9ICdfJyB8fCBu YW1lWzFdICE9ICdfJykKKyAgICAgREVDTF9BTlRJQ0lQQVRFRCAoZGVjbCkgPSAxOworKyAgZWxz ZSBpZiAoc3RybmNtcCAobmFtZSArIDIsICJidWlsdGluXyIsIHN0cmxlbiAoImJ1aWx0aW5fIikp ICE9IDApCisrICAgIHsKKysgICAgICBzaXplX3QgbGVuID0gc3RybGVuIChuYW1lKTsKKysKKysg ICAgICAvKiBUcmVhdCBfXypfY2hrIGZvcnRpZmljYXRpb24gZnVuY3Rpb25zIGFzIGFudGljaXBh dGVkIGFzIHdlbGwsCisrCSB1bmxlc3MgdGhleSBhcmUgX19idWlsdGluXyouICAqLworKyAgICAg IGlmIChsZW4gPiBzdHJsZW4gKCJfX19jaGsiKQorKwkgICYmIG1lbWNtcCAobmFtZSArIGxlbiAt IHN0cmxlbiAoIl9jaGsiKSwKKysJCSAgICAgIl9jaGsiLCBzdHJsZW4gKCJfY2hrIikgKyAxKSA9 PSAwKQorKwlERUNMX0FOVElDSVBBVEVEIChkZWNsKSA9IDE7CisrICAgIH0KKyAKKyAgIHJldHVy biBkZWNsOworIH0KKy0tLSBnY2MvdGVzdHN1aXRlL2crKy5kZy9laC9idWlsdGluNC5DLmpqCTIw MDctMDktMDQgMjI6MDY6MDYuMDAwMDAwMDAwICswMjAwCisrKysgZ2NjL3Rlc3RzdWl0ZS9nKysu ZGcvZWgvYnVpbHRpbjQuQwkyMDA3LTA5LTA0IDIyOjA3OjAzLjAwMDAwMDAwMCArMDIwMAorQEAg LTAsMCArMSw2IEBACisrLy8gUFIgYysrLzMzMjg5CisrLy8geyBkZy1kbyBjb21waWxlIH0KKysK Kyt0eXBlZGVmIF9fU0laRV9UWVBFX18gc2l6ZV90OworK2V4dGVybiAiQyIgaW50IF9fc3ByaW50 Zl9jaGsgKGNoYXIgKl9fcmVzdHJpY3QsIGludCwgc2l6ZV90LCBjb25zdCBjaGFyICosIC4uLikg dGhyb3cgKCk7CisrZXh0ZXJuICJDIiBpbnQgX19zcHJpbnRmX2NoayAoY2hhciAqX19yZXN0cmlj dCwgaW50LCBzaXplX3QsIGNvbnN0IGNoYXIgKiwgLi4uKSB0aHJvdyAoKTsKCmRpZmYgLS1naXQg YS9nY2M0MS1idWlsdGluLXRocm93LnBhdGNoIGIvZ2NjNDEtYnVpbHRpbi10aHJvdy5wYXRjaApu ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mOWM0ZWFmCi0tLSAvZGV2L251bGwK KysrIGIvZ2NjNDEtYnVpbHRpbi10aHJvdy5wYXRjaApAQCAtMCwwICsxLDEzNCBAQAorMjAwNy0w OS0wNiAgSmFrdWIgSmVsaW5layAgPGpha3ViQHJlZGhhdC5jb20+CisKKwkqIGJ1aWx0aW4tYXR0 cnMuZGVmIChBVFRSX05PTk5VTExfMyk6IE5ldy4KKwkoREVGX0ZPUk1BVF9BVFRSSUJVVEUpOiBV c2UganVzdCBBVFRSX05PTk5VTExfIyNGQSBpbnN0ZWFkIG9mCisJQVRUUl9OT1RIUk9XX05PTk5V TExfIyNGQS4KKwkoREVGX0ZPUk1BVF9BVFRSSUJVVEVfTk9USFJPVywgREVGX0ZPUk1BVF9BVFRS SUJVVEVfQk9USCk6IE5ldyBtYWNyb3MuCisJKEFUVFJfRk9STUFUX1BSSU5URl9OT1RIUk9XXzJf MCwgQVRUUl9QUklOVEZfTk9USFJPV18yXzMsCisJQVRUUl9GT1JNQVRfUFJJTlRGX05PVEhST1df M18wLCBBVFRSX0ZPUk1BVF9QUklOVEZfTk9USFJPV18zXzQsCisJQVRUUl9GT1JNQVRfUFJJTlRG X05PVEhST1dfNF8wLCBBVFRSX1BSSU5URl9OT1RIUk9XXzRfNSwKKwlBVFRSX0ZPUk1BVF9QUklO VEZfTk9USFJPV181XzAsIEFUVFJfRk9STUFUX1BSSU5URl9OT1RIUk9XXzVfNiwKKwlBVFRSX0ZP Uk1BVF9TQ0FORl9OT1RIUk9XXzJfMCwgQVRUUl9GT1JNQVRfU0NBTkZfTk9USFJPV18yXzMsCisJ QVRUUl9GT1JNQVRfU1RSRlRJTUVfTk9USFJPV18zXzAsIEFUVFJfRk9STUFUX1NUUkZNT05fTk9U SFJPV18zXzQpOgorCU5ldy4KKwkoQVRUUl9GT1JNQVRfUFJJTlRGXzRfMCwgQVRUUl9QUklOVEZf NF81LCBBVFRSX0ZPUk1BVF9QUklOVEZfNV8wLAorCUFUVFJfRk9STUFUX1BSSU5URl81XzYsIEFU VFJfRk9STUFUX1NUUkZUSU1FXzNfMCwKKwlBVFRSX0ZPUk1BVF9OT1RIUk9XXzNfNCk6IFJlbW92 ZS4KKwkqIGJ1aWx0aW5zLmRlZiAoc25wcmludGYsIHNwcmludGYsIHNzY2FuZiwgdnNucHJpbnRm LCB2c3ByaW50ZiwKKwl2c3NjYW5mLCBzdHJmbW9uLCBzdHJmdGltZSwgX19zbnByaW50Zl9jaGss IF9fc3ByaW50Zl9jaGssCisJX192c25wcmludGZfY2hrLCBfX3ZzcHJpbnRmX2Noayk6IFVzZSBB VFRSX0ZPUk1BVF8qX05PVEhST1dfKgorCWluc3RlYWQgb2YgQVRUUl9GT1JNQVRfKl8qLgorCist LS0gZ2NjL2J1aWx0aW4tYXR0cnMuZGVmLmpqCTIwMDctMDgtMTMgMTU6MTE6MTguMDAwMDAwMDAw ICswMjAwCisrKysgZ2NjL2J1aWx0aW4tYXR0cnMuZGVmCTIwMDctMDktMDMgMTE6MjY6MTMuMDAw MDAwMDAwICswMjAwCitAQCAtMTE4LDYgKzExOCw4IEBAIERFRl9BVFRSX1RSRUVfTElTVCAoQVRU Ul9OT05OVUxMX0xJU1QsIEEKKyBERUZfQVRUUl9UUkVFX0xJU1QgKEFUVFJfTk9OTlVMTF8xLCBB VFRSX05PTk5VTEwsIEFUVFJfTElTVF8xLCBBVFRSX05VTEwpCisgLyogRnVuY3Rpb25zIHdob3Nl IHNlY29uZCBwYXJhbWV0ZXIgaXMgYSBub25udWxsIHBvaW50ZXIuICAqLworIERFRl9BVFRSX1RS RUVfTElTVCAoQVRUUl9OT05OVUxMXzIsIEFUVFJfTk9OTlVMTCwgQVRUUl9MSVNUXzIsIEFUVFJf TlVMTCkKKysvKiBGdW5jdGlvbnMgd2hvc2UgdGhpcmQgcGFyYW1ldGVyIGlzIGEgbm9ubnVsbCBw b2ludGVyLiAgKi8KKytERUZfQVRUUl9UUkVFX0xJU1QgKEFUVFJfTk9OTlVMTF8zLCBBVFRSX05P Tk5VTEwsIEFUVFJfTElTVF8zLCBBVFRSX05VTEwpCisgLyogTm90aHJvdyBmdW5jdGlvbnMgd2l0 aCB0aGUgc2VudGluZWwoMSkgYXR0cmlidXRlLiAqLworIERFRl9BVFRSX1RSRUVfTElTVCAoQVRU Ul9OT1RIUk9XX1NFTlRJTkVMXzEsIEFUVFJfU0VOVElORUwsIEFUVFJfTElTVF8xLCBcCisgCQkJ QVRUUl9OT1RIUk9XX0xJU1QpCitAQCAtMTU3LDI0ICsxNTksMzggQEAgREVGX0FUVFJfVFJFRV9M SVNUIChBVFRSX01BTExPQ19OT1RIUk9XXworICAgREVGX0FUVFJfVFJFRV9MSVNUIChBVFRSXyMj VFlQRSMjXyMjVkFMVUVTLCBBVFRSX05VTEwsCQkgXAorIAkJICAgICAgQVRUUl8jI1RZUEUsIEFU VFJfTElTVF8jI1ZBTFVFUykJCQkgXAorICAgREVGX0FUVFJfVFJFRV9MSVNUIChBVFRSX0ZPUk1B VF8jI1RZUEUjI18jI1ZBTFVFUywgQVRUUl9GT1JNQVQsCSBcCisrCQkgICAgICBBVFRSXyMjVFlQ RSMjXyMjVkFMVUVTLCBBVFRSX05PTk5VTExfIyNGQSkKKysjZGVmaW5lIERFRl9GT1JNQVRfQVRU UklCVVRFX05PVEhST1coVFlQRSwgRkEsIFZBTFVFUykJCQkgXAorKyAgREVGX0FUVFJfVFJFRV9M SVNUIChBVFRSXyMjVFlQRSMjXyMjVkFMVUVTLCBBVFRSX05VTEwsCQkgXAorKwkJICAgICAgQVRU Ul8jI1RZUEUsIEFUVFJfTElTVF8jI1ZBTFVFUykJCQkgXAorKyAgREVGX0FUVFJfVFJFRV9MSVNU IChBVFRSX0ZPUk1BVF8jI1RZUEUjI19OT1RIUk9XXyMjVkFMVUVTLCBBVFRSX0ZPUk1BVCxcCisr CQkgICAgICBBVFRSXyMjVFlQRSMjXyMjVkFMVUVTLCBBVFRSX05PVEhST1dfTk9OTlVMTF8jI0ZB KQorKyNkZWZpbmUgREVGX0ZPUk1BVF9BVFRSSUJVVEVfQk9USChUWVBFLCBGQSwgVkFMVUVTKQkJ CSBcCisrICBERUZfQVRUUl9UUkVFX0xJU1QgKEFUVFJfIyNUWVBFIyNfIyNWQUxVRVMsIEFUVFJf TlVMTCwJCSBcCisrCQkgICAgICBBVFRSXyMjVFlQRSwgQVRUUl9MSVNUXyMjVkFMVUVTKQkJCSBc CisrICBERUZfQVRUUl9UUkVFX0xJU1QgKEFUVFJfRk9STUFUXyMjVFlQRSMjXyMjVkFMVUVTLCBB VFRSX0ZPUk1BVCwJIFwKKysJCSAgICAgIEFUVFJfIyNUWVBFIyNfIyNWQUxVRVMsIEFUVFJfTk9O TlVMTF8jI0ZBKQkgXAorKyAgREVGX0FUVFJfVFJFRV9MSVNUIChBVFRSX0ZPUk1BVF8jI1RZUEUj I19OT1RIUk9XXyMjVkFMVUVTLCBBVFRSX0ZPUk1BVCxcCisgCQkgICAgICBBVFRSXyMjVFlQRSMj XyMjVkFMVUVTLCBBVFRSX05PVEhST1dfTk9OTlVMTF8jI0ZBKQorIERFRl9GT1JNQVRfQVRUUklC VVRFKFBSSU5URiwxLDFfMCkKKyBERUZfRk9STUFUX0FUVFJJQlVURShQUklOVEYsMSwxXzIpCist REVGX0ZPUk1BVF9BVFRSSUJVVEUoUFJJTlRGLDIsMl8wKQorLURFRl9GT1JNQVRfQVRUUklCVVRF KFBSSU5URiwyLDJfMykKKy1ERUZfRk9STUFUX0FUVFJJQlVURShQUklOVEYsMywzXzApCistREVG X0ZPUk1BVF9BVFRSSUJVVEUoUFJJTlRGLDMsM180KQorLURFRl9GT1JNQVRfQVRUUklCVVRFKFBS SU5URiw0LDRfMCkKKy1ERUZfRk9STUFUX0FUVFJJQlVURShQUklOVEYsNCw0XzUpCistREVGX0ZP Uk1BVF9BVFRSSUJVVEUoUFJJTlRGLDUsNV8wKQorLURFRl9GT1JNQVRfQVRUUklCVVRFKFBSSU5U Riw1LDVfNikKKytERUZfRk9STUFUX0FUVFJJQlVURV9CT1RIKFBSSU5URiwyLDJfMCkKKytERUZf Rk9STUFUX0FUVFJJQlVURV9CT1RIKFBSSU5URiwyLDJfMykKKytERUZfRk9STUFUX0FUVFJJQlVU RV9CT1RIKFBSSU5URiwzLDNfMCkKKytERUZfRk9STUFUX0FUVFJJQlVURV9CT1RIKFBSSU5URiwz LDNfNCkKKytERUZfRk9STUFUX0FUVFJJQlVURV9OT1RIUk9XKFBSSU5URiw0LDRfMCkKKytERUZf Rk9STUFUX0FUVFJJQlVURV9OT1RIUk9XKFBSSU5URiw0LDRfNSkKKytERUZfRk9STUFUX0FUVFJJ QlVURV9OT1RIUk9XKFBSSU5URiw1LDVfMCkKKytERUZfRk9STUFUX0FUVFJJQlVURV9OT1RIUk9X KFBSSU5URiw1LDVfNikKKyBERUZfRk9STUFUX0FUVFJJQlVURShTQ0FORiwxLDFfMCkKKyBERUZf Rk9STUFUX0FUVFJJQlVURShTQ0FORiwxLDFfMikKKy1ERUZfRk9STUFUX0FUVFJJQlVURShTQ0FO RiwyLDJfMCkKKy1ERUZfRk9STUFUX0FUVFJJQlVURShTQ0FORiwyLDJfMykKKy1ERUZfRk9STUFU X0FUVFJJQlVURShTVFJGVElNRSwzLDNfMCkKKy1ERUZfRk9STUFUX0FUVFJJQlVURShTVFJGTU9O LDMsM180KQorK0RFRl9GT1JNQVRfQVRUUklCVVRFX0JPVEgoU0NBTkYsMiwyXzApCisrREVGX0ZP Uk1BVF9BVFRSSUJVVEVfQk9USChTQ0FORiwyLDJfMykKKytERUZfRk9STUFUX0FUVFJJQlVURV9O T1RIUk9XKFNUUkZUSU1FLDMsM18wKQorK0RFRl9GT1JNQVRfQVRUUklCVVRFX05PVEhST1coU1RS Rk1PTiwzLDNfNCkKKyAjdW5kZWYgREVGX0ZPUk1BVF9BVFRSSUJVVEUKKysjdW5kZWYgREVGX0ZP Uk1BVF9BVFRSSUJVVEVfTk9USFJPVworKyN1bmRlZiBERUZfRk9STUFUX0FUVFJJQlVURV9CT1RI CisgCisgLyogQ29uc3RydWN0IGEgdHJlZSBmb3IgYSBmb3JtYXRfYXJnIGF0dHJpYnV0ZS4gICov CisgI2RlZmluZSBERUZfRk9STUFUX0FSR19BVFRSSUJVVEUoRkEpCQkJCQlcCistLS0gZ2NjL2J1 aWx0aW5zLmRlZi5qagkyMDA3LTA4LTMwIDE4OjQ2OjU5LjAwMDAwMDAwMCArMDIwMAorKysrIGdj Yy9idWlsdGlucy5kZWYJMjAwNy0wOS0wMyAxMDo1MjoxOC4wMDAwMDAwMDAgKzAyMDAKK0BAIC01 NTMsMTYgKzU1MywxNiBAQCBERUZfRVhUX0xJQl9CVUlMVElOICAgIChCVUlMVF9JTl9QVVRDSEFS CisgREVGX0xJQl9CVUlMVElOICAgICAgICAoQlVJTFRfSU5fUFVUUywgInB1dHMiLCBCVF9GTl9J TlRfQ09OU1RfU1RSSU5HLCBBVFRSX05PTk5VTExfTElTVCkKKyBERUZfRVhUX0xJQl9CVUlMVElO ICAgIChCVUlMVF9JTl9QVVRTX1VOTE9DS0VELCAicHV0c191bmxvY2tlZCIsIEJUX0ZOX0lOVF9D T05TVF9TVFJJTkcsIEFUVFJfTk9OTlVMTF9MSVNUKQorIERFRl9MSUJfQlVJTFRJTiAgICAgICAg KEJVSUxUX0lOX1NDQU5GLCAic2NhbmYiLCBCVF9GTl9JTlRfQ09OU1RfU1RSSU5HX1ZBUiwgQVRU Ul9GT1JNQVRfU0NBTkZfMV8yKQorLURFRl9DOTlfQlVJTFRJTiAgICAgICAgKEJVSUxUX0lOX1NO UFJJTlRGLCAic25wcmludGYiLCBCVF9GTl9JTlRfU1RSSU5HX1NJWkVfQ09OU1RfU1RSSU5HX1ZB UiwgQVRUUl9GT1JNQVRfUFJJTlRGXzNfNCkKKy1ERUZfTElCX0JVSUxUSU4gICAgICAgIChCVUlM VF9JTl9TUFJJTlRGLCAic3ByaW50ZiIsIEJUX0ZOX0lOVF9TVFJJTkdfQ09OU1RfU1RSSU5HX1ZB UiwgQVRUUl9GT1JNQVRfUFJJTlRGXzJfMykKKy1ERUZfTElCX0JVSUxUSU4gICAgICAgIChCVUlM VF9JTl9TU0NBTkYsICJzc2NhbmYiLCBCVF9GTl9JTlRfQ09OU1RfU1RSSU5HX0NPTlNUX1NUUklO R19WQVIsIEFUVFJfRk9STUFUX1NDQU5GXzJfMykKKytERUZfQzk5X0JVSUxUSU4gICAgICAgIChC VUlMVF9JTl9TTlBSSU5URiwgInNucHJpbnRmIiwgQlRfRk5fSU5UX1NUUklOR19TSVpFX0NPTlNU X1NUUklOR19WQVIsIEFUVFJfRk9STUFUX1BSSU5URl9OT1RIUk9XXzNfNCkKKytERUZfTElCX0JV SUxUSU4gICAgICAgIChCVUlMVF9JTl9TUFJJTlRGLCAic3ByaW50ZiIsIEJUX0ZOX0lOVF9TVFJJ TkdfQ09OU1RfU1RSSU5HX1ZBUiwgQVRUUl9GT1JNQVRfUFJJTlRGX05PVEhST1dfMl8zKQorK0RF Rl9MSUJfQlVJTFRJTiAgICAgICAgKEJVSUxUX0lOX1NTQ0FORiwgInNzY2FuZiIsIEJUX0ZOX0lO VF9DT05TVF9TVFJJTkdfQ09OU1RfU1RSSU5HX1ZBUiwgQVRUUl9GT1JNQVRfU0NBTkZfTk9USFJP V18yXzMpCisgREVGX0xJQl9CVUlMVElOICAgICAgICAoQlVJTFRfSU5fVkZQUklOVEYsICJ2ZnBy aW50ZiIsIEJUX0ZOX0lOVF9GSUxFUFRSX0NPTlNUX1NUUklOR19WQUxJU1RfQVJHLCBBVFRSX0ZP Uk1BVF9QUklOVEZfMl8wKQorIERFRl9DOTlfQlVJTFRJTiAgICAgICAgKEJVSUxUX0lOX1ZGU0NB TkYsICJ2ZnNjYW5mIiwgQlRfRk5fSU5UX0ZJTEVQVFJfQ09OU1RfU1RSSU5HX1ZBTElTVF9BUkcs IEFUVFJfRk9STUFUX1NDQU5GXzJfMCkKKyBERUZfTElCX0JVSUxUSU4gICAgICAgIChCVUlMVF9J Tl9WUFJJTlRGLCAidnByaW50ZiIsIEJUX0ZOX0lOVF9DT05TVF9TVFJJTkdfVkFMSVNUX0FSRywg QVRUUl9GT1JNQVRfUFJJTlRGXzFfMCkKKyBERUZfQzk5X0JVSUxUSU4gICAgICAgIChCVUlMVF9J Tl9WU0NBTkYsICJ2c2NhbmYiLCBCVF9GTl9JTlRfQ09OU1RfU1RSSU5HX1ZBTElTVF9BUkcsIEFU VFJfRk9STUFUX1NDQU5GXzFfMCkKKy1ERUZfQzk5X0JVSUxUSU4gICAgICAgIChCVUlMVF9JTl9W U05QUklOVEYsICJ2c25wcmludGYiLCBCVF9GTl9JTlRfU1RSSU5HX1NJWkVfQ09OU1RfU1RSSU5H X1ZBTElTVF9BUkcsIEFUVFJfRk9STUFUX1BSSU5URl8zXzApCistREVGX0xJQl9CVUlMVElOICAg ICAgICAoQlVJTFRfSU5fVlNQUklOVEYsICJ2c3ByaW50ZiIsIEJUX0ZOX0lOVF9TVFJJTkdfQ09O U1RfU1RSSU5HX1ZBTElTVF9BUkcsIEFUVFJfRk9STUFUX1BSSU5URl8yXzApCistREVGX0M5OV9C VUlMVElOICAgICAgICAoQlVJTFRfSU5fVlNTQ0FORiwgInZzc2NhbmYiLCBCVF9GTl9JTlRfQ09O U1RfU1RSSU5HX0NPTlNUX1NUUklOR19WQUxJU1RfQVJHLCBBVFRSX0ZPUk1BVF9TQ0FORl8yXzAp CisrREVGX0M5OV9CVUlMVElOICAgICAgICAoQlVJTFRfSU5fVlNOUFJJTlRGLCAidnNucHJpbnRm IiwgQlRfRk5fSU5UX1NUUklOR19TSVpFX0NPTlNUX1NUUklOR19WQUxJU1RfQVJHLCBBVFRSX0ZP Uk1BVF9QUklOVEZfTk9USFJPV18zXzApCisrREVGX0xJQl9CVUlMVElOICAgICAgICAoQlVJTFRf SU5fVlNQUklOVEYsICJ2c3ByaW50ZiIsIEJUX0ZOX0lOVF9TVFJJTkdfQ09OU1RfU1RSSU5HX1ZB TElTVF9BUkcsIEFUVFJfRk9STUFUX1BSSU5URl9OT1RIUk9XXzJfMCkKKytERUZfQzk5X0JVSUxU SU4gICAgICAgIChCVUlMVF9JTl9WU1NDQU5GLCAidnNzY2FuZiIsIEJUX0ZOX0lOVF9DT05TVF9T VFJJTkdfQ09OU1RfU1RSSU5HX1ZBTElTVF9BUkcsIEFUVFJfRk9STUFUX1NDQU5GX05PVEhST1df Ml8wKQorIAorIC8qIENhdGVnb3J5OiBjdHlwZSBidWlsdGlucy4gICovCisgREVGX0xJQl9CVUlM VElOICAgICAgICAoQlVJTFRfSU5fSVNBTE5VTSwgImlzYWxudW0iLCBCVF9GTl9JTlRfSU5ULCBB VFRSX1BVUkVfTk9USFJPV19MSVNUKQorQEAgLTY5Myw4ICs2OTMsOCBAQCBERUZfR0NDX0JVSUxU SU4gICAgICAgIChCVUlMVF9JTl9SRVRVUk5fCisgREVGX0dDQ19CVUlMVElOICAgICAgICAoQlVJ TFRfSU5fU0FWRVJFR1MsICJzYXZlcmVncyIsIEJUX0ZOX1BUUl9WQVIsIEFUVFJfTlVMTCkKKyBE RUZfR0NDX0JVSUxUSU4gICAgICAgIChCVUlMVF9JTl9TRVRKTVAsICJzZXRqbXAiLCBCVF9GTl9J TlRfUFRSLCBBVFRSX05VTEwpCisgREVGX0dDQ19CVUlMVElOICAgICAgICAoQlVJTFRfSU5fU1RE QVJHX1NUQVJULCAic3RkYXJnX3N0YXJ0IiwgQlRfRk5fVk9JRF9WQUxJU1RfUkVGX1ZBUiwgQVRU Ul9OVUxMKQorLURFRl9FWFRfTElCX0JVSUxUSU4gICAgKEJVSUxUX0lOX1NUUkZNT04sICJzdHJm bW9uIiwgQlRfRk5fU1NJWkVfU1RSSU5HX1NJWkVfQ09OU1RfU1RSSU5HX1ZBUiwgQVRUUl9GT1JN QVRfU1RSRk1PTl8zXzQpCistREVGX0xJQl9CVUlMVElOICAgICAgICAoQlVJTFRfSU5fU1RSRlRJ TUUsICJzdHJmdGltZSIsIEJUX0ZOX1NJWkVfU1RSSU5HX1NJWkVfQ09OU1RfU1RSSU5HX0NPTlNU X1BUUiwgQVRUUl9GT1JNQVRfU1RSRlRJTUVfM18wKQorK0RFRl9FWFRfTElCX0JVSUxUSU4gICAg KEJVSUxUX0lOX1NUUkZNT04sICJzdHJmbW9uIiwgQlRfRk5fU1NJWkVfU1RSSU5HX1NJWkVfQ09O U1RfU1RSSU5HX1ZBUiwgQVRUUl9GT1JNQVRfU1RSRk1PTl9OT1RIUk9XXzNfNCkKKytERUZfTElC X0JVSUxUSU4gICAgICAgIChCVUlMVF9JTl9TVFJGVElNRSwgInN0cmZ0aW1lIiwgQlRfRk5fU0la RV9TVFJJTkdfU0laRV9DT05TVF9TVFJJTkdfQ09OU1RfUFRSLCBBVFRSX0ZPUk1BVF9TVFJGVElN RV9OT1RIUk9XXzNfMCkKKyBERUZfR0NDX0JVSUxUSU4gICAgICAgIChCVUlMVF9JTl9UUkFQLCAi dHJhcCIsIEJUX0ZOX1ZPSUQsIEFUVFJfTk9SRVRVUk5fTk9USFJPV19MSVNUKQorIERFRl9HQ0Nf QlVJTFRJTiAgICAgICAgKEJVSUxUX0lOX1VOV0lORF9JTklULCAidW53aW5kX2luaXQiLCBCVF9G Tl9WT0lELCBBVFRSX05VTEwpCisgREVGX0dDQ19CVUlMVElOICAgICAgICAoQlVJTFRfSU5fVVBE QVRFX1NFVEpNUF9CVUYsICJ1cGRhdGVfc2V0am1wX2J1ZiIsIEJUX0ZOX1ZPSURfUFRSX0lOVCwg QVRUUl9OVUxMKQorQEAgLTczMCwxMCArNzMwLDEwIEBAIERFRl9FWFRfTElCX0JVSUxUSU4gICAg KEJVSUxUX0lOX1NUUkNBVF8KKyBERUZfRVhUX0xJQl9CVUlMVElOICAgIChCVUlMVF9JTl9TVFJD UFlfQ0hLLCAiX19zdHJjcHlfY2hrIiwgQlRfRk5fU1RSSU5HX1NUUklOR19DT05TVF9TVFJJTkdf U0laRSwgQVRUUl9OT1RIUk9XX05PTk5VTEwpCisgREVGX0VYVF9MSUJfQlVJTFRJTiAgICAoQlVJ TFRfSU5fU1RSTkNBVF9DSEssICJfX3N0cm5jYXRfY2hrIiwgQlRfRk5fU1RSSU5HX1NUUklOR19D T05TVF9TVFJJTkdfU0laRV9TSVpFLCBBVFRSX05PVEhST1dfTk9OTlVMTCkKKyBERUZfRVhUX0xJ Ql9CVUlMVElOICAgIChCVUlMVF9JTl9TVFJOQ1BZX0NISywgIl9fc3RybmNweV9jaGsiLCBCVF9G Tl9TVFJJTkdfU1RSSU5HX0NPTlNUX1NUUklOR19TSVpFX1NJWkUsIEFUVFJfTk9USFJPV19OT05O VUxMKQorLURFRl9FWFRfTElCX0JVSUxUSU4gICAgKEJVSUxUX0lOX1NOUFJJTlRGX0NISywgIl9f c25wcmludGZfY2hrIiwgQlRfRk5fSU5UX1NUUklOR19TSVpFX0lOVF9TSVpFX0NPTlNUX1NUUklO R19WQVIsIEFUVFJfRk9STUFUX1BSSU5URl81XzYpCistREVGX0VYVF9MSUJfQlVJTFRJTiAgICAo QlVJTFRfSU5fU1BSSU5URl9DSEssICJfX3NwcmludGZfY2hrIiwgQlRfRk5fSU5UX1NUUklOR19J TlRfU0laRV9DT05TVF9TVFJJTkdfVkFSLCBBVFRSX0ZPUk1BVF9QUklOVEZfNF81KQorLURFRl9F WFRfTElCX0JVSUxUSU4gICAgKEJVSUxUX0lOX1ZTTlBSSU5URl9DSEssICJfX3ZzbnByaW50Zl9j aGsiLCBCVF9GTl9JTlRfU1RSSU5HX1NJWkVfSU5UX1NJWkVfQ09OU1RfU1RSSU5HX1ZBTElTVF9B UkcsIEFUVFJfRk9STUFUX1BSSU5URl81XzApCistREVGX0VYVF9MSUJfQlVJTFRJTiAgICAoQlVJ TFRfSU5fVlNQUklOVEZfQ0hLLCAiX192c3ByaW50Zl9jaGsiLCBCVF9GTl9JTlRfU1RSSU5HX0lO VF9TSVpFX0NPTlNUX1NUUklOR19WQUxJU1RfQVJHLCBBVFRSX0ZPUk1BVF9QUklOVEZfNF8wKQor K0RFRl9FWFRfTElCX0JVSUxUSU4gICAgKEJVSUxUX0lOX1NOUFJJTlRGX0NISywgIl9fc25wcmlu dGZfY2hrIiwgQlRfRk5fSU5UX1NUUklOR19TSVpFX0lOVF9TSVpFX0NPTlNUX1NUUklOR19WQVIs IEFUVFJfRk9STUFUX1BSSU5URl9OT1RIUk9XXzVfNikKKytERUZfRVhUX0xJQl9CVUlMVElOICAg IChCVUlMVF9JTl9TUFJJTlRGX0NISywgIl9fc3ByaW50Zl9jaGsiLCBCVF9GTl9JTlRfU1RSSU5H X0lOVF9TSVpFX0NPTlNUX1NUUklOR19WQVIsIEFUVFJfRk9STUFUX1BSSU5URl9OT1RIUk9XXzRf NSkKKytERUZfRVhUX0xJQl9CVUlMVElOICAgIChCVUlMVF9JTl9WU05QUklOVEZfQ0hLLCAiX192 c25wcmludGZfY2hrIiwgQlRfRk5fSU5UX1NUUklOR19TSVpFX0lOVF9TSVpFX0NPTlNUX1NUUklO R19WQUxJU1RfQVJHLCBBVFRSX0ZPUk1BVF9QUklOVEZfTk9USFJPV181XzApCisrREVGX0VYVF9M SUJfQlVJTFRJTiAgICAoQlVJTFRfSU5fVlNQUklOVEZfQ0hLLCAiX192c3ByaW50Zl9jaGsiLCBC VF9GTl9JTlRfU1RSSU5HX0lOVF9TSVpFX0NPTlNUX1NUUklOR19WQUxJU1RfQVJHLCBBVFRSX0ZP Uk1BVF9QUklOVEZfTk9USFJPV180XzApCisgREVGX0VYVF9MSUJfQlVJTFRJTiAgICAoQlVJTFRf SU5fRlBSSU5URl9DSEssICJfX2ZwcmludGZfY2hrIiwgQlRfRk5fSU5UX0ZJTEVQVFJfSU5UX0NP TlNUX1NUUklOR19WQVIsIEFUVFJfRk9STUFUX1BSSU5URl8zXzQpCisgREVGX0VYVF9MSUJfQlVJ TFRJTiAgICAoQlVJTFRfSU5fUFJJTlRGX0NISywgIl9fcHJpbnRmX2NoayIsIEJUX0ZOX0lOVF9J TlRfQ09OU1RfU1RSSU5HX1ZBUiwgQVRUUl9GT1JNQVRfUFJJTlRGXzJfMykKKyBERUZfRVhUX0xJ Ql9CVUlMVElOICAgIChCVUlMVF9JTl9WRlBSSU5URl9DSEssICJfX3ZmcHJpbnRmX2NoayIsIEJU X0ZOX0lOVF9GSUxFUFRSX0lOVF9DT05TVF9TVFJJTkdfVkFMSVNUX0FSRywgQVRUUl9GT1JNQVRf UFJJTlRGXzNfMCkKCmRpZmYgLS1naXQgYS9nY2M0MS1idWlsdGluLXZhLWFyZy1wYWNrLnBhdGNo IGIvZ2NjNDEtYnVpbHRpbi12YS1hcmctcGFjay5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NApp bmRleCAwMDAwMDAwLi4yZWQ4NjMyCi0tLSAvZGV2L251bGwKKysrIGIvZ2NjNDEtYnVpbHRpbi12 YS1hcmctcGFjay5wYXRjaApAQCAtMCwwICsxLDUwMiBAQAorMjAwNy0wOS0wNSAgSmFrdWIgSmVs aW5layAgPGpha3ViQHJlZGhhdC5jb20+CisKKwkqIGJ1aWx0aW5zLmRlZiAoQlVJTFRfSU5fVkFf QVJHX1BBQ0spOiBOZXcgYnVpbHQtaW4uCisJKiB0cmVlLmggKENBTExfRVhQUl9WQV9BUkdfUEFD Syk6IERlZmluZS4KKwkqIHRyZWUtaW5saW5lLmggKGNvcHlfYm9keV9kYXRhKTogQWRkIGNhbGxf ZXhwciBmaWVsZC4KKwkqIHRyZWUtaW5saW5lLmMgKGV4cGFuZF9jYWxsX2lubGluZSk6IEluaXRp YWxpemUgY2FsbF9leHByLgorCShjb3B5X2JiKTogQXBwZW5kIGFub255bW91cyBpbmxpbmUgZm4g YXJndW1lbnRzIHRvIGFyZ3VtZW50cworCXdoZW4gaW5saW5pbmcgYSBDQUxMX0VYUFJfVkFfQVJH X1BBQ0sgY2FsbC4KKwkqIGJ1aWx0aW5zLmMgKGV4cGFuZF9idWlsdGluKTogSXNzdWUgYW4gZXJy b3IgaWYKKwlCVUlMVF9JTl9WQV9BUkdfUEFDSyBpcyBzZWVuIGR1cmluZyBleHBhbmQuCisJKGZv bGRfYnVpbHRpbl8xKTogRG9uJ3QgZm9sZCBjYWxscyB3aXRoCisJX19idWlsdGluX3ZhX2FyZ19w YWNrICgpIGNhbGwgYXMgbGFzdCBhcmd1bWVudC4KKwkqIGdpbXBsaWZ5LmMgKGdpbXBsaWZ5X2Nh bGxfZXhwcik6IElmIGxhc3QgYXJndW1lbnQgdG8gYSB2YXJhcmcKKwlmdW5jdGlvbiBpcyBfX2J1 aWx0aW5fdmFfYXJnX3BhY2sgKCksIGRlY3JlYXNlIG51bWJlciBvZiBjYWxsCisJYXJndW1lbnRz IGFuZCBpbnN0ZWFkIHNldCBDQUxMX0VYUFJfVkFfQVJHX1BBQ0sgb24gdGhlIENBTExfRVhQUi4K KwkqIGZvbGQtY29uc3QuYyAoZm9sZCk6IERvbid0IGZvbGQgQ0FMTF9FWFBScyB3aXRoCisJQ0FM TF9FWFBSX1ZBX0FSR19QQUNLIGJpdCBzZXQuCisJKiBleHByLmMgKGV4cGFuZF9leHByX3JlYWxf MSk6IElzc3VlIGFuIGVycm9yIGlmCisJQ0FMTF9FWFBSX1ZBX0FSR19QQUNLIENBTExfRVhQUiBp cyBzZWVuIGR1cmluZyBleHBhbmQuCisJKiB0cmVlLXByZXR0eS1wcmludC5jIChkdW1wX2dlbmVy aWNfbm9kZSk6IEhhbmRsZSBwcmludGluZworCUNBTExfRVhQUl9WQV9BUkdfUEFDSyBiaXQgb24g Q0FMTF9FWFBScy4KKwkqIGRvYy9leHRlbmQudGV4aSAoX19idWlsdGluX3ZhX2FyZ19wYWNrKTog RG9jdW1lbnQuCisKKwkqIGdjYy5jLXRvcnR1cmUvZXhlY3V0ZS92YS1hcmctcGFjay0xLmM6IE5l dyB0ZXN0LgorCSogZ2NjLmRnL3ZhLWFyZy1wYWNrLTEuYzogTmV3IHRlc3QuCisJKiBnY2MuZGcv dmEtYXJnLXBhY2stMWEuYzogTmV3IHRlc3QuCisKKy0tLSBnY2MvYnVpbHRpbnMuZGVmLmpqCTIw MDctMDktMDYgMTA6MTk6MDkuMDAwMDAwMDAwICswMjAwCisrKysgZ2NjL2J1aWx0aW5zLmRlZgky MDA3LTA5LTA2IDEwOjE5OjI0LjAwMDAwMDAwMCArMDIwMAorQEAgLTY2NSw2ICs2NjUsNyBAQCBE RUZfR0NDX0JVSUxUSU4gICAgICAgIChCVUlMVF9JTl9VUERBVEVfCisgREVGX0dDQ19CVUlMVElO ICAgICAgICAoQlVJTFRfSU5fVkFfQ09QWSwgInZhX2NvcHkiLCBCVF9GTl9WT0lEX1ZBTElTVF9S RUZfVkFMSVNUX0FSRywgQVRUUl9OVUxMKQorIERFRl9HQ0NfQlVJTFRJTiAgICAgICAgKEJVSUxU X0lOX1ZBX0VORCwgInZhX2VuZCIsIEJUX0ZOX1ZPSURfVkFMSVNUX1JFRiwgQVRUUl9OVUxMKQor IERFRl9HQ0NfQlVJTFRJTiAgICAgICAgKEJVSUxUX0lOX1ZBX1NUQVJULCAidmFfc3RhcnQiLCBC VF9GTl9WT0lEX1ZBTElTVF9SRUZfVkFSLCBBVFRSX05VTEwpCisrREVGX0dDQ19CVUlMVElOICAg ICAgICAoQlVJTFRfSU5fVkFfQVJHX1BBQ0ssICJ2YV9hcmdfcGFjayIsIEJUX0ZOX0lOVCwgQVRU Ul9QVVJFX05PVEhST1dfTElTVCkKKyBERUZfRVhUX0xJQl9CVUlMVElOICAgIChCVUlMVF9JTl9f RVhJVCwgIl9leGl0IiwgQlRfRk5fVk9JRF9JTlQsIEFUVFJfTk9SRVRVUk5fTk9USFJPV19MSVNU KQorIERFRl9DOTlfQlVJTFRJTiAgICAgICAgKEJVSUxUX0lOX19FWElUMiwgIl9FeGl0IiwgQlRf Rk5fVk9JRF9JTlQsIEFUVFJfTk9SRVRVUk5fTk9USFJPV19MSVNUKQorIAorLS0tIGdjYy90cmVl LmguamoJMjAwNy0wMi0yMCAyMjozOToxMi4wMDAwMDAwMDAgKzAxMDAKKysrKyBnY2MvdHJlZS5o CTIwMDctMDktMDYgMTE6NTA6NTYuMDAwMDAwMDAwICswMjAwCitAQCAtNDExLDYgKzQxMSw4IEBA IHN0cnVjdCB0cmVlX2NvbW1vbiBHVFkoKCkpCisgICAgICAgICAgICBWQVJfREVDTCBvciBGVU5D VElPTl9ERUNMIG9yIElERU5USUZJRVJfTk9ERQorICAgICAgICBBU01fVk9MQVRJTEVfUCBpbgor ICAgICAgICAgICAgQVNNX0VYUFIKKysgICAgICAgQ0FMTF9FWFBSX1ZBX0FSR19QQUNLIGluCisr CSAgQ0FMTF9FWFBSCisgICAgICAgIFRZUEVfQ0FDSEVEX1ZBTFVFU19QIGluCisgICAgICAgICAg IC4uLl9UWVBFCisgICAgICAgIFNBVkVfRVhQUl9SRVNPTFZFRF9QIGluCitAQCAtMTA2Niw2ICsx MDY4LDExIEBAIGV4dGVybiB2b2lkIG9tcF9jbGF1c2VfcmFuZ2VfY2hlY2tfZmFpbGUKKyAjZGVm aW5lIFNBVkVfRVhQUl9SRVNPTFZFRF9QKE5PREUpIFwKKyAgIChUUkVFX0NIRUNLIChOT0RFLCBT QVZFX0VYUFIpLT5jb21tb24ucHVibGljX2ZsYWcpCisgCisrLyogU2V0IG9uIGEgQ0FMTF9FWFBS IGlmIHRoaXMgc3RkYXJnIGNhbGwgc2hvdWxkIGJlIHBhc3NlZCB0aGUgYXJndW1lbnQKKysgICBw YWNrLiAgKi8KKysjZGVmaW5lIENBTExfRVhQUl9WQV9BUkdfUEFDSyhOT0RFKSBcCisrICAoQ0FM TF9FWFBSX0NIRUNLKE5PREUpLT5jb21tb24ucHVibGljX2ZsYWcpCisrCisgLyogSW4gYW55IGV4 cHJlc3Npb24sIGRlY2wsIG9yIGNvbnN0YW50LCBub256ZXJvIG1lYW5zIGl0IGhhcyBzaWRlIGVm ZmVjdHMgb3IKKyAgICByZWV2YWx1YXRpb24gb2YgdGhlIHdob2xlIGV4cHJlc3Npb24gY291bGQg cHJvZHVjZSBhIGRpZmZlcmVudCB2YWx1ZS4KKyAgICBUaGlzIGlzIHNldCBpZiBhbnkgc3ViZXhw cmVzc2lvbiBpcyBhIGZ1bmN0aW9uIGNhbGwsIGEgc2lkZSBlZmZlY3Qgb3IgYQorLS0tIGdjYy90 cmVlLWlubGluZS5oLmpqCTIwMDctMDItMjAgMjI6Mzk6MTMuMDAwMDAwMDAwICswMTAwCisrKysg Z2NjL3RyZWUtaW5saW5lLmgJMjAwNy0wOS0wNiAxMDoxOToyNC4wMDAwMDAwMDAgKzAyMDAKK0BA IC01Nyw2ICs1NywxMCBAQCB0eXBlZGVmIHN0cnVjdCBjb3B5X2JvZHlfZGF0YQorICAgLyogQ3Vy cmVudCBCTE9DSy4gICovCisgICB0cmVlIGJsb2NrOworIAorKyAgLyogQ0FMTF9FWFBSIGlmIHZh IGFyZyBwYXJhbWV0ZXIgcGFja3Mgc2hvdWxkIGJlIGV4cGFuZGVkIG9yIE5VTEwKKysgICAgIGlz IG5vdC4gICovCisrICB0cmVlIGNhbGxfZXhwcjsKKysKKyAgIC8qIEV4Y2VwdGlvbiByZWdpb24g dGhlIGlubGluZWQgY2FsbCBsaWUgaW4uICAqLworICAgaW50IGVoX3JlZ2lvbjsKKyAgIC8qIFRh a2UgcmVnaW9uIG51bWJlciBpbiB0aGUgZnVuY3Rpb24gYmVpbmcgY29waWVkLCBhZGQgdGhpcyB2 YWx1ZSBhbmQKKy0tLSBnY2MvdHJlZS1pbmxpbmUuYy5qagkyMDA3LTA0LTI2IDA5OjQxOjQ5LjAw MDAwMDAwMCArMDIwMAorKysrIGdjYy90cmVlLWlubGluZS5jCTIwMDctMDktMDYgMTI6MzU6NTcu MDAwMDAwMDAwICswMjAwCitAQCAtNzI1LDYgKzcyNSwyMiBAQCBjb3B5X2JiIChjb3B5X2JvZHlf ZGF0YSAqaWQsIGJhc2ljX2Jsb2NrCisgCisgICAgICAgICAgIGJzaV9pbnNlcnRfYWZ0ZXIgKCZj b3B5X2JzaSwgc3RtdCwgQlNJX05FV19TVE1UKTsKKyAJICBjYWxsID0gZ2V0X2NhbGxfZXhwcl9p biAoc3RtdCk7CisrCSAgaWYgKGNhbGwgJiYgQ0FMTF9FWFBSX1ZBX0FSR19QQUNLIChjYWxsKSAm JiBpZC0+Y2FsbF9leHByKQorKwkgICAgeworKwkgICAgICB0cmVlIGFyZ2xpc3QsICphLCBwOwor KwkgICAgICBUUkVFX09QRVJBTkQgKGNhbGwsIDEpID0gY29weV9saXN0IChUUkVFX09QRVJBTkQg KGNhbGwsIDEpKTsKKysKKysJICAgICAgZm9yIChhID0gJlRSRUVfT1BFUkFORCAoY2FsbCwgMSk7 ICphOyBhID0gJlRSRUVfQ0hBSU4gKCphKSkKKysJCTsKKysKKysJICAgICAgcCA9IERFQ0xfQVJH VU1FTlRTIChpZC0+c3JjX2ZuKTsKKysJICAgICAgZm9yIChhcmdsaXN0ID0gVFJFRV9PUEVSQU5E IChpZC0+Y2FsbF9leHByLCAxKTsKKysJCSAgIHA7IHAgPSBUUkVFX0NIQUlOIChwKSwgYXJnbGlz dCA9IFRSRUVfQ0hBSU4gKGFyZ2xpc3QpKQorKwkJOworKworKwkgICAgICAqYSA9IGNvcHlfbGlz dCAoYXJnbGlzdCk7CisrCSAgICAgIENBTExfRVhQUl9WQV9BUkdfUEFDSyAoY2FsbCkgPSAwOwor KwkgICAgfQorIAkgIC8qIFdlJ3JlIGR1cGxpY2F0aW5nIGEgQ0FMTF9FWFBSLiAgRmluZCBhbnkg Y29ycmVzcG9uZGluZworIAkgICAgIGNhbGxncmFwaCBlZGdlcyBhbmQgdXBkYXRlIG9yIGR1cGxp Y2F0ZSB0aGVtLiAgKi8KKyAJICBpZiAoY2FsbCAmJiAoZGVjbCA9IGdldF9jYWxsZWVfZm5kZWNs IChjYWxsKSkpCitAQCAtMjA4NSw2ICsyMTAxLDcgQEAgZXhwYW5kX2NhbGxfaW5saW5lIChiYXNp Y19ibG9jayBiYiwgdHJlZQorICAgLyogUmVjb3JkIHRoZSBmdW5jdGlvbiB3ZSBhcmUgYWJvdXQg dG8gaW5saW5lLiAgKi8KKyAgIGlkLT5zcmNfZm4gPSBmbjsKKyAgIGlkLT5zcmNfbm9kZSA9IGNn X2VkZ2UtPmNhbGxlZTsKKysgIGlkLT5jYWxsX2V4cHIgPSB0OworIAorICAgaW5pdGlhbGl6ZV9p bmxpbmVkX3BhcmFtZXRlcnMgKGlkLCBhcmdzLCBUUkVFX09QRVJBTkQgKHQsIDIpLCBmbiwgYmIp OworIAorLS0tIGdjYy9idWlsdGlucy5jLmpqCTIwMDctMDgtMzEgMDk6NDc6NDYuMDAwMDAwMDAw ICswMjAwCisrKysgZ2NjL2J1aWx0aW5zLmMJMjAwNy0wOS0wNiAxMTowNDo1Ni4wMDAwMDAwMDAg KzAyMDAKK0BAIC01OTc5LDYgKzU5NzksMTIgQEAgZXhwYW5kX2J1aWx0aW4gKHRyZWUgZXhwLCBy dHggdGFyZ2V0LCBydAorICAgICBjYXNlIEJVSUxUX0lOX0FSR1NfSU5GTzoKKyAgICAgICByZXR1 cm4gZXhwYW5kX2J1aWx0aW5fYXJnc19pbmZvIChhcmdsaXN0KTsKKyAKKysgICAgY2FzZSBCVUlM VF9JTl9WQV9BUkdfUEFDSzoKKysgICAgICAvKiBBbGwgdmFsaWQgdXNlcyBvZiBfX2J1aWx0aW5f dmFfYXJnX3BhY2sgKCkgYXJlIHJlbW92ZWQgZHVyaW5nCisrCSBpbmxpbmluZy4gICovCisrICAg ICAgZXJyb3IgKCJpbnZhbGlkIHVzZSBvZiAlPF9fYnVpbHRpbl92YV9hcmdfcGFjayAoKSU+Iik7 CisrICAgICAgcmV0dXJuIGNvbnN0MF9ydHg7CisrCisgICAgICAgLyogUmV0dXJuIHRoZSBhZGRy ZXNzIG9mIHRoZSBmaXJzdCBhbm9ueW1vdXMgc3RhY2sgYXJnLiAgKi8KKyAgICAgY2FzZSBCVUlM VF9JTl9ORVhUX0FSRzoKKyAgICAgICBpZiAoZm9sZF9idWlsdGluX25leHRfYXJnIChhcmdsaXN0 KSkKK0BAIC05MDE3LDcgKzkwMjMsMjcgQEAgZm9sZF9idWlsdGluXzEgKHRyZWUgZm5kZWNsLCB0 cmVlIGFyZ2xpcworIHsKKyAgIHRyZWUgdHlwZSA9IFRSRUVfVFlQRSAoVFJFRV9UWVBFIChmbmRl Y2wpKTsKKyAgIGVudW0gYnVpbHRfaW5fZnVuY3Rpb24gZmNvZGU7CisrICB0cmVlIGE7CisrCisr ICBpZiAoYXJnbGlzdCkKKysgICAgeworKyAgICAgIGZvciAoYSA9IGFyZ2xpc3Q7IFRSRUVfQ0hB SU4gKGEpOyBhID0gVFJFRV9DSEFJTiAoYSkpCisrCTsKKyAKKysgICAgICAvKiBCZWZvcmUgZ2lt cGxpZmljYXRpb24gQ0FMTF9FWFBSX1ZBX0FSR19QQUNLIGlzIG5vdCBzZXQsIGJ1dAorKwkgaW5z dGVhZCBsYXN0IGFyZ3VtZW50IGlzIF9fYnVpbHRpbl92YV9hcmdfcGFjayAoKS4gIERlZmVyIGZv bGRpbmcKKysJIGV2ZW4gaW4gdGhhdCBjYXNlLCB1bnRpbCBhcmd1bWVudHMgYXJlIGZpbmFsaXpl ZC4gICovCisrICAgICAgaWYgKFRSRUVfQ09ERSAoVFJFRV9WQUxVRSAoYSkpID09IENBTExfRVhQ UikKKysJeworKwkgIHRyZWUgZm5kZWNsMiA9IGdldF9jYWxsZWVfZm5kZWNsIChUUkVFX1ZBTFVF IChhKSk7CisrCSAgaWYgKGZuZGVjbDIKKysJICAgICAgJiYgVFJFRV9DT0RFIChmbmRlY2wyKSA9 PSBGVU5DVElPTl9ERUNMCisrCSAgICAgICYmIERFQ0xfQlVJTFRfSU5fQ0xBU1MgKGZuZGVjbDIp ID09IEJVSUxUX0lOX05PUk1BTAorKwkgICAgICAmJiBERUNMX0ZVTkNUSU9OX0NPREUgKGZuZGVj bDIpID09IEJVSUxUX0lOX1ZBX0FSR19QQUNLKQorKwkgICAgcmV0dXJuIE5VTExfVFJFRTsKKysJ fQorKyAgICB9CisrCisgICBpZiAoREVDTF9CVUlMVF9JTl9DTEFTUyAoZm5kZWNsKSA9PSBCVUlM VF9JTl9NRCkKKyAgICAgcmV0dXJuIHRhcmdldG0uZm9sZF9idWlsdGluIChmbmRlY2wsIGFyZ2xp c3QsIGlnbm9yZSk7CisgCistLS0gZ2NjL2dpbXBsaWZ5LmMuamoJMjAwNy0wOC0zMSAwOTo0Nzo0 Ni4wMDAwMDAwMDAgKzAyMDAKKysrKyBnY2MvZ2ltcGxpZnkuYwkyMDA3LTA5LTA2IDExOjQyOjAx LjAwMDAwMDAwMCArMDIwMAorQEAgLTIwMTgsNiArMjAxOCw1NSBAQCBnaW1wbGlmeV9jYWxsX2V4 cHIgKHRyZWUgKmV4cHJfcCwgdHJlZSAqCisgICByZXQgPSBnaW1wbGlmeV9leHByICgmVFJFRV9P UEVSQU5EICgqZXhwcl9wLCAwKSwgcHJlX3AsIE5VTEwsCisgCQkgICAgICAgaXNfZ2ltcGxlX2Nh bGxfYWRkciwgZmJfcnZhbHVlKTsKKyAKKysgIGlmIChyZXQgIT0gR1NfRVJST1IgJiYgVFJFRV9P UEVSQU5EICgqZXhwcl9wLCAxKSkKKysgICAgeworKyAgICAgIGludCBuYXJnczsKKysKKysgICAg ICBmb3IgKG5hcmdzID0gMSwgYXJnbGlzdCA9IFRSRUVfT1BFUkFORCAoKmV4cHJfcCwgMSk7Cisr CSAgIFRSRUVfQ0hBSU4gKGFyZ2xpc3QpOworKwkgICBhcmdsaXN0ID0gVFJFRV9DSEFJTiAoYXJn bGlzdCkpCisrCW5hcmdzKys7CisrCisrICAgICAgaWYgKFRSRUVfQ09ERSAoVFJFRV9WQUxVRSAo YXJnbGlzdCkpID09IENBTExfRVhQUikKKysJeworKwkgIHRyZWUgbGFzdF9hcmcgPSBUUkVFX1ZB TFVFIChhcmdsaXN0KTsKKysJICB0cmVlIGxhc3RfYXJnX2ZuZGVjbCA9IGdldF9jYWxsZWVfZm5k ZWNsIChsYXN0X2FyZyk7CisrCisrCSAgaWYgKGxhc3RfYXJnX2ZuZGVjbAorKwkgICAgICAmJiBU UkVFX0NPREUgKGxhc3RfYXJnX2ZuZGVjbCkgPT0gRlVOQ1RJT05fREVDTAorKwkgICAgICAmJiBE RUNMX0JVSUxUX0lOX0NMQVNTIChsYXN0X2FyZ19mbmRlY2wpID09IEJVSUxUX0lOX05PUk1BTAor KwkgICAgICAmJiBERUNMX0ZVTkNUSU9OX0NPREUgKGxhc3RfYXJnX2ZuZGVjbCkgPT0gQlVJTFRf SU5fVkFfQVJHX1BBQ0spCisrCSAgICB7CisrCSAgICAgIHRyZWUgcCA9IE5VTExfVFJFRSwgKmFw dHI7CisrCSAgICAgIGludCBpOworKworKwkgICAgICBpZiAoZGVjbCAmJiBERUNMX0FSR1VNRU5U UyAoZGVjbCkpCisrCQlwID0gREVDTF9BUkdVTUVOVFMgKGRlY2wpOworKwkgICAgICBlbHNlIGlm IChkZWNsKQorKwkJcCA9IFRZUEVfQVJHX1RZUEVTIChUUkVFX1RZUEUgKGRlY2wpKTsKKysJICAg ICAgZWxzZSBpZiAoUE9JTlRFUl9UWVBFX1AgKFRSRUVfVFlQRSAoVFJFRV9PUEVSQU5EICgqZXhw cl9wLCAwKSkpKQorKwkJcCA9IFRZUEVfQVJHX1RZUEVTIChUUkVFX1RZUEUgKFRSRUVfVFlQRQor KwkJCQkJCShUUkVFX09QRVJBTkQgKCpleHByX3AsIDApKSkpOworKwkgICAgICBmb3IgKGkgPSAw OyBwOyBwID0gVFJFRV9DSEFJTiAocCkpCisrCQlpKys7CisrCisrCSAgICAgIGlmIChpIDwgbmFy Z3MpCisrCQl7CisrCQkgIFRSRUVfT1BFUkFORCAoKmV4cHJfcCwgMSkKKysJCSAgICA9IGNvcHlf bGlzdCAoVFJFRV9PUEVSQU5EICgqZXhwcl9wLCAxKSk7CisrCisrCQkgIGZvciAoYXB0ciA9ICZU UkVFX09QRVJBTkQgKCpleHByX3AsIDEpOworKwkJICAgICAgIFRSRUVfQ0hBSU4gKCphcHRyKTsK KysJCSAgICAgICBhcHRyID0gJlRSRUVfQ0hBSU4gKCphcHRyKSkKKysJCSAgICA7CisrCisrCQkg ICphcHRyID0gTlVMTF9UUkVFOworKwkJICBDQUxMX0VYUFJfVkFfQVJHX1BBQ0sgKCpleHByX3Ap ID0gMTsKKysJCX0KKysJICAgIH0KKysJfQorKyAgICB9CisrCisgICBpZiAoUFVTSF9BUkdTX1JF VkVSU0VEKQorICAgICBUUkVFX09QRVJBTkQgKCpleHByX3AsIDEpID0gbnJldmVyc2UgKFRSRUVf T1BFUkFORCAoKmV4cHJfcCwgMSkpOworICAgZm9yIChhcmdsaXN0ID0gVFJFRV9PUEVSQU5EICgq ZXhwcl9wLCAxKTsgYXJnbGlzdDsKK0BAIC0yMDM3LDcgKzIwODYsNyBAQCBnaW1wbGlmeV9jYWxs X2V4cHIgKHRyZWUgKmV4cHJfcCwgdHJlZSAqCisgICBpZiAocmV0ICE9IEdTX0VSUk9SKQorICAg ICB7CisgICAgICAgZGVjbCA9IGdldF9jYWxsZWVfZm5kZWNsICgqZXhwcl9wKTsKKy0gICAgICBp ZiAoZGVjbCAmJiBERUNMX0JVSUxUX0lOIChkZWNsKSkKKysgICAgICBpZiAoZGVjbCAmJiBERUNM X0JVSUxUX0lOIChkZWNsKSAmJiAhQ0FMTF9FWFBSX1ZBX0FSR19QQUNLICgqZXhwcl9wKSkKKyAJ eworIAkgIHRyZWUgYXJnbGlzdCA9IFRSRUVfT1BFUkFORCAoKmV4cHJfcCwgMSk7CisgCSAgdHJl ZSBuZXcgPSBmb2xkX2J1aWx0aW4gKGRlY2wsIGFyZ2xpc3QsICF3YW50X3ZhbHVlKTsKKy0tLSBn Y2MvZm9sZC1jb25zdC5jLmpqCTIwMDctMDgtMzEgMDk6NDc6MzkuMDAwMDAwMDAwICswMjAwCisr KysgZ2NjL2ZvbGQtY29uc3QuYwkyMDA3LTA5LTA2IDExOjQwOjU1LjAwMDAwMDAwMCArMDIwMAor QEAgLTEwNDA5LDYgKzEwNDA5LDggQEAgZm9sZCAodHJlZSBleHByKQorIAkgIG9wMCA9IFRSRUVf T1BFUkFORCAodCwgMCk7CisgCSAgb3AxID0gVFJFRV9PUEVSQU5EICh0LCAxKTsKKyAJICBvcDIg PSBUUkVFX09QRVJBTkQgKHQsIDIpOworKwkgIGlmIChjb2RlID09IENBTExfRVhQUiAmJiBDQUxM X0VYUFJfVkFfQVJHX1BBQ0sgKHQpKQorKwkgICAgcmV0dXJuIGV4cHI7CisgCSAgdGVtID0gZm9s ZF90ZXJuYXJ5IChjb2RlLCB0eXBlLCBvcDAsIG9wMSwgb3AyKTsKKyAJICByZXR1cm4gdGVtID8g dGVtIDogZXhwcjsKKyAJZGVmYXVsdDoKKy0tLSBnY2MvZXhwci5jLmpqCTIwMDctMDQtMjQgMjI6 NTg6NTMuMDAwMDAwMDAwICswMjAwCisrKysgZ2NjL2V4cHIuYwkyMDA3LTA5LTA2IDEwOjE5OjI0 LjAwMDAwMDAwMCArMDIwMAorQEAgLTc0NzUsNiArNzQ3NSwxMCBAQCBleHBhbmRfZXhwcl9yZWFs XzEgKHRyZWUgZXhwLCBydHggdGFyZ2V0CisgICAgICAgcmV0dXJuIGV4cGFuZF9leHByIChPQkpf VFlQRV9SRUZfRVhQUiAoZXhwKSwgdGFyZ2V0LCB0bW9kZSwgbW9kaWZpZXIpOworIAorICAgICBj YXNlIENBTExfRVhQUjoKKysgICAgICAvKiBBbGwgdmFsaWQgdXNlcyBvZiBfX2J1aWx0aW5fdmFf YXJnX3BhY2sgKCkgYXJlIHJlbW92ZWQgZHVyaW5nCisrCSBpbmxpbmluZy4gICovCisrICAgICAg aWYgKENBTExfRVhQUl9WQV9BUkdfUEFDSyAoZXhwKSkKKysJZXJyb3IgKCJpbnZhbGlkIHVzZSBv ZiAlPF9fYnVpbHRpbl92YV9hcmdfcGFjayAoKSU+Iik7CisgICAgICAgLyogQ2hlY2sgZm9yIGEg YnVpbHQtaW4gZnVuY3Rpb24uICAqLworICAgICAgIGlmIChUUkVFX0NPREUgKFRSRUVfT1BFUkFO RCAoZXhwLCAwKSkgPT0gQUREUl9FWFBSCisgCSAgJiYgKFRSRUVfQ09ERSAoVFJFRV9PUEVSQU5E IChUUkVFX09QRVJBTkQgKGV4cCwgMCksIDApKQorLS0tIGdjYy9kb2MvZXh0ZW5kLnRleGkuamoJ MjAwNy0wOC0zMSAxMzowMDoyOC4wMDAwMDAwMDAgKzAyMDAKKysrKyBnY2MvZG9jL2V4dGVuZC50 ZXhpCTIwMDctMDktMDYgMTA6MTk6MjUuMDAwMDAwMDAwICswMjAwCitAQCAtNTUyLDYgKzU1Miwz MiBAQCB0aGUgY29udGFpbmluZyBmdW5jdGlvbi4gIFlvdSBzaG91bGQgc3BlCisgcmV0dXJuZWQg YnkgQGNvZGV7X19idWlsdGluX2FwcGx5fS4KKyBAZW5kIGRlZnR5cGVmbgorIAorK0BkZWZ0eXBl Zm4ge0J1aWx0LWluIEZ1bmN0aW9ufSBfX2J1aWx0aW5fdmFfYXJnX3BhY2sgKCkKKytUaGlzIGJ1 aWx0LWluIGZ1bmN0aW9uIHJlcHJlc2VudHMgYWxsIGFub255bW91cyBhcmd1bWVudHMgb2YgYW4g aW5saW5lCisrZnVuY3Rpb24uICBJdCBjYW4gYmUgdXNlZCBvbmx5IGluIGlubGluZSBmdW5jdGlv bnMgd2hpY2ggd2lsbCBiZSBhbHdheXMKKytpbmxpbmVkLCBuZXZlciBjb21waWxlZCBhcyBhIHNl cGFyYXRlIGZ1bmN0aW9uLCBzdWNoIGFzIHRob3NlIHVzaW5nCisrQGNvZGV7X19hdHRyaWJ1dGVf XyAoKF9fYWx3YXlzX2lubGluZV9fKSl9IG9yCisrQGNvZGV7X19hdHRyaWJ1dGVfXyAoKF9fZ251 X2lubGluZV9fKSl9IGV4dGVybiBpbmxpbmUgZnVuY3Rpb25zLgorK0l0IG11c3QgYmUgb25seSBw YXNzZWQgYXMgbGFzdCBhcmd1bWVudCB0byBzb21lIG90aGVyIGZ1bmN0aW9uCisrd2l0aCB2YXJp YWJsZSBhcmd1bWVudHMuICBUaGlzIGlzIHVzZWZ1bCBmb3Igd3JpdGluZyBzbWFsbCB3cmFwcGVy CisraW5saW5lcyBmb3IgdmFyaWFibGUgYXJndW1lbnQgZnVuY3Rpb25zLCB3aGVuIHVzaW5nIHBy ZXByb2Nlc3NvcgorK21hY3JvcyBpcyB1bmRlc2lyYWJsZS4gIEZvciBleGFtcGxlOgorK0BzbWFs bGV4YW1wbGUKKytleHRlcm4gaW50IG15cHJpbnRmIChGSUxFICpmLCBjb25zdCBjaGFyICpmb3Jt YXQsIC4uLik7CisrZXh0ZXJuIGlubGluZSBfX2F0dHJpYnV0ZV9fICgoX19nbnVfaW5saW5lX18p KSBpbnQKKytteXByaW50ZiAoRklMRSAqZiwgY29uc3QgY2hhciAqZm9ybWF0LCAuLi4pCisrQHsK KysgIGludCByID0gZnByaW50ZiAoZiwgIm15cHJpbnRmOiAiKTsKKysgIGlmIChyIDwgMCkKKysg ICAgcmV0dXJuIHI7CisrICBpbnQgcyA9IGZwcmludGYgKGYsIGZvcm1hdCwgX19idWlsdGluX3Zh X2FyZ19wYWNrICgpKTsKKysgIGlmIChzIDwgMCkKKysgICAgcmV0dXJuIHM7CisrICByZXR1cm4g ciArIHM7CisrQH0KKytAZW5kIHNtYWxsZXhhbXBsZQorK0BlbmQgZGVmdHlwZWZuCisrCisgQG5v ZGUgVHlwZW9mCisgQHNlY3Rpb24gUmVmZXJyaW5nIHRvIGEgVHlwZSB3aXRoIEBjb2Rle3R5cGVv Zn0KKyBAZmluZGV4IHR5cGVvZgorLS0tIGdjYy90cmVlLXByZXR0eS1wcmludC5jLmpqCTIwMDct MDItMjAgMjI6Mzk6MTIuMDAwMDAwMDAwICswMTAwCisrKysgZ2NjL3RyZWUtcHJldHR5LXByaW50 LmMJMjAwNy0wOS0wNiAxMDoyNDo1MS4wMDAwMDAwMDAgKzAyMDAKK0BAIC0xMTI4LDYgKzExMjgs MTUgQEAgZHVtcF9nZW5lcmljX25vZGUgKHByZXR0eV9wcmludGVyICpidWZmZQorICAgICAgIG9w MSA9IFRSRUVfT1BFUkFORCAobm9kZSwgMSk7CisgICAgICAgaWYgKG9wMSkKKyAJZHVtcF9nZW5l cmljX25vZGUgKGJ1ZmZlciwgb3AxLCBzcGMsIGZsYWdzLCBmYWxzZSk7CisrICAgICAgaWYgKENB TExfRVhQUl9WQV9BUkdfUEFDSyAobm9kZSkpCisrCXsKKysJICBpZiAob3AxKQorKwkgICAgewor KwkgICAgICBwcF9jaGFyYWN0ZXIgKGJ1ZmZlciwgJywnKTsKKysJICAgICAgcHBfc3BhY2UgKGJ1 ZmZlcik7CisrCSAgICB9CisrCSAgcHBfc3RyaW5nIChidWZmZXIsICJfX2J1aWx0aW5fdmFfYXJn X3BhY2sgKCkiKTsKKysJfQorICAgICAgIHBwX2NoYXJhY3RlciAoYnVmZmVyLCAnKScpOworIAor ICAgICAgIG9wMSA9IFRSRUVfT1BFUkFORCAobm9kZSwgMik7CistLS0gZ2NjL3Rlc3RzdWl0ZS9n Y2MuYy10b3J0dXJlL2V4ZWN1dGUvdmEtYXJnLXBhY2stMS5jLmpqCTIwMDctMDktMDYgMTA6MTk6 MjUuMDAwMDAwMDAwICswMjAwCisrKysgZ2NjL3Rlc3RzdWl0ZS9nY2MuYy10b3J0dXJlL2V4ZWN1 dGUvdmEtYXJnLXBhY2stMS5jCTIwMDctMDktMDYgMTA6MTk6MjUuMDAwMDAwMDAwICswMjAwCitA QCAtMCwwICsxLDE0MyBAQAorKy8qIF9fYnVpbHRpbl92YV9hcmdfcGFjayAoKSBidWlsdGluIHRl c3RzLiAgKi8KKysKKysjaW5jbHVkZSA8c3RkYXJnLmg+CisrCisrZXh0ZXJuIHZvaWQgYWJvcnQg KHZvaWQpOworKworK2ludCB2MSA9IDg7CisrbG9uZyBpbnQgdjIgPSAzOworK3ZvaWQgKnYzID0g KHZvaWQgKikgJnYyOworK3N0cnVjdCBBIHsgY2hhciBjWzE2XTsgfSB2NCA9IHsgImZvbyIgfTsK Kytsb25nIGRvdWJsZSB2NSA9IDQwOworK2NoYXIgc2VlblsyMF07CisraW50IGNudDsKKysKKytf X2F0dHJpYnV0ZV9fICgobm9pbmxpbmUpKSBpbnQKKytmb28xIChpbnQgeCwgaW50IHksIC4uLikK Kyt7CisrICBpbnQgaTsKKysgIGxvbmcgaW50IGw7CisrICB2b2lkICp2OworKyAgc3RydWN0IEEg YTsKKysgIGxvbmcgZG91YmxlIGxkOworKyAgdmFfbGlzdCBhcDsKKysKKysgIHZhX3N0YXJ0IChh cCwgeSk7CisrICBpZiAoeCA8IDAgfHwgeCA+PSAyMCB8fCBzZWVuW3hdKQorKyAgICBhYm9ydCAo KTsKKysgIHNlZW5beF0gPSArK2NudDsKKysgIGlmICh5ICE9IDYpCisrICAgIGFib3J0ICgpOwor KyAgaSA9IHZhX2FyZyAoYXAsIGludCk7CisrICBpZiAoaSAhPSA1KQorKyAgICBhYm9ydCAoKTsK KysgIHN3aXRjaCAoeCkKKysgICAgeworKyAgICBjYXNlIDA6CisrICAgICAgaSA9IHZhX2FyZyAo YXAsIGludCk7CisrICAgICAgaWYgKGkgIT0gOSB8fCB2MSAhPSA5KQorKwlhYm9ydCAoKTsKKysg ICAgICBhID0gdmFfYXJnIChhcCwgc3RydWN0IEEpOworKyAgICAgIGlmIChfX2J1aWx0aW5fbWVt Y21wIChhLmMsIHY0LmMsIHNpemVvZiAoYS5jKSkgIT0gMCkKKysJYWJvcnQgKCk7CisrICAgICAg diA9ICh2b2lkICopIHZhX2FyZyAoYXAsIHN0cnVjdCBBICopOworKyAgICAgIGlmICh2ICE9ICh2 b2lkICopICZ2NCkKKysJYWJvcnQgKCk7CisrICAgICAgbCA9IHZhX2FyZyAoYXAsIGxvbmcgaW50 KTsKKysgICAgICBpZiAobCAhPSAzIHx8IHYyICE9IDQpCisrCWFib3J0ICgpOworKyAgICAgIGJy ZWFrOworKyAgICBjYXNlIDE6CisrICAgICAgbGQgPSB2YV9hcmcgKGFwLCBsb25nIGRvdWJsZSk7 CisrICAgICAgaWYgKGxkICE9IDQxIHx8IHY1ICE9IGxkKQorKwlhYm9ydCAoKTsKKysgICAgICBp ID0gdmFfYXJnIChhcCwgaW50KTsKKysgICAgICBpZiAoaSAhPSA4KQorKwlhYm9ydCAoKTsKKysg ICAgICB2ID0gdmFfYXJnIChhcCwgdm9pZCAqKTsKKysgICAgICBpZiAodiAhPSAmdjIpCisrCWFi b3J0ICgpOworKyAgICAgIGJyZWFrOworKyAgICBjYXNlIDI6CisrICAgICAgYnJlYWs7CisrICAg IGRlZmF1bHQ6CisrICAgICAgYWJvcnQgKCk7CisrICAgIH0KKysgIHZhX2VuZCAoYXApOworKyAg cmV0dXJuIHg7CisrfQorKworK19fYXR0cmlidXRlX18gKChub2lubGluZSkpIGludAorK2ZvbzIg KGludCB4LCBpbnQgeSwgLi4uKQorK3sKKysgIGxvbmcgbG9uZyBpbnQgbGw7CisrICB2b2lkICp2 OworKyAgc3RydWN0IEEgYSwgYjsKKysgIGxvbmcgZG91YmxlIGxkOworKyAgdmFfbGlzdCBhcDsK KysKKysgIHZhX3N0YXJ0IChhcCwgeSk7CisrICBpZiAoeCA8IDAgfHwgeCA+PSAyMCB8fCBzZWVu W3hdKQorKyAgICBhYm9ydCAoKTsKKysgIHNlZW5beF0gPSArK2NudCB8IDY0OworKyAgaWYgKHkg IT0gMTApCisrICAgIGFib3J0ICgpOworKyAgc3dpdGNoICh4KQorKyAgICB7CisrICAgIGNhc2Ug MTE6CisrICAgICAgYnJlYWs7CisrICAgIGNhc2UgMTI6CisrICAgICAgbGQgPSB2YV9hcmcgKGFw LCBsb25nIGRvdWJsZSk7CisrICAgICAgaWYgKGxkICE9IDQxIHx8IHY1ICE9IDQwKQorKwlhYm9y dCAoKTsKKysgICAgICBhID0gdmFfYXJnIChhcCwgc3RydWN0IEEpOworKyAgICAgIGlmIChfX2J1 aWx0aW5fbWVtY21wIChhLmMsIHY0LmMsIHNpemVvZiAoYS5jKSkgIT0gMCkKKysJYWJvcnQgKCk7 CisrICAgICAgYiA9IHZhX2FyZyAoYXAsIHN0cnVjdCBBKTsKKysgICAgICBpZiAoX19idWlsdGlu X21lbWNtcCAoYi5jLCB2NC5jLCBzaXplb2YgKGIuYykpICE9IDApCisrCWFib3J0ICgpOworKyAg ICAgIHYgPSB2YV9hcmcgKGFwLCB2b2lkICopOworKyAgICAgIGlmICh2ICE9ICZ2MikKKysJYWJv cnQgKCk7CisrICAgICAgbGwgPSB2YV9hcmcgKGFwLCBsb25nIGxvbmcgaW50KTsKKysgICAgICBp ZiAobGwgIT0gMTZMTCkKKysJYWJvcnQgKCk7CisrICAgICAgYnJlYWs7CisrICAgIGNhc2UgMjoK KysgICAgICBicmVhazsKKysgICAgZGVmYXVsdDoKKysgICAgICBhYm9ydCAoKTsKKysgICAgfQor KyAgdmFfZW5kIChhcCk7CisrICByZXR1cm4geCArIDg7CisrfQorKworK19fYXR0cmlidXRlX18g KChub2lubGluZSkpIGludAorK2ZvbzMgKHZvaWQpCisreworKyAgcmV0dXJuIDY7CisrfQorKwor K2V4dGVybiBpbmxpbmUgX19hdHRyaWJ1dGVfXyAoKGFsd2F5c19pbmxpbmUsIGdudV9pbmxpbmUp KSBpbnQKKytiYXIgKGludCB4LCAuLi4pCisreworKyAgaWYgKHggPCAxMCkKKysgICAgcmV0dXJu IGZvbzEgKHgsIGZvbzMgKCksIDUsIF9fYnVpbHRpbl92YV9hcmdfcGFjayAoKSk7CisrICByZXR1 cm4gZm9vMiAoeCwgZm9vMyAoKSArIDQsIF9fYnVpbHRpbl92YV9hcmdfcGFjayAoKSk7CisrfQor KworK2ludAorK21haW4gKHZvaWQpCisreworKyAgaWYgKGJhciAoMCwgKyt2MSwgdjQsICZ2NCwg djIrKykgIT0gMCkKKysgICAgYWJvcnQgKCk7CisrICBpZiAoYmFyICgxLCArK3Y1LCA4LCB2Mykg IT0gMSkKKysgICAgYWJvcnQgKCk7CisrICBpZiAoYmFyICgyKSAhPSAyKQorKyAgICBhYm9ydCAo KTsKKysgIGlmIChiYXIgKHYxICsgMikgIT0gMTkpCisrICAgIGFib3J0ICgpOworKyAgaWYgKGJh ciAodjEgKyAzLCB2NS0tLCB2NCwgdjQsIHYzLCAxNkxMKSAhPSAyMCkKKysgICAgYWJvcnQgKCk7 CisrICByZXR1cm4gMDsKKyt9CistLS0gZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvdmEtYXJnLXBhY2st MS5jLmpqCTIwMDctMDktMDYgMTA6MTk6MjUuMDAwMDAwMDAwICswMjAwCisrKysgZ2NjL3Rlc3Rz dWl0ZS9nY2MuZGcvdmEtYXJnLXBhY2stMS5jCTIwMDctMDktMDYgMTI6NTI6MDAuMDAwMDAwMDAw ICswMjAwCitAQCAtMCwwICsxLDQ2IEBACisrLyogeyBkZy1kbyBjb21waWxlIH0gKi8KKysvKiB7 IGRnLW9wdGlvbnMgIi1PMiIgfSAqLworKworK2ludCBiYXIgKGludCwgY29uc3QgY2hhciAqLCBp bnQsIC4uLik7CisraW50IGJheiAoaW50LCBjb25zdCBjaGFyICosIGxvbmcgaW50KTsKKysKKytl eHRlcm4gaW5saW5lIF9fYXR0cmlidXRlX18oKGFsd2F5c19pbmxpbmUpKSBpbnQKKytmMiAoaW50 IHksIC4uLikKKyt7CisrICByZXR1cm4gYmFyICh5LCAiIiwgX19idWlsdGluX3ZhX2FyZ19wYWNr ICgpKTsJCS8qIHsgZGctZXJyb3IgImludmFsaWQgdXNlIG9mIiB9ICovCisrfQorKworK2V4dGVy biBpbmxpbmUgX19hdHRyaWJ1dGVfXygoYWx3YXlzX2lubGluZSkpIGludAorK2YzIChpbnQgeSwg Li4uKQorK3sKKysgIHJldHVybiBiYXIgKHksICIiLCA1LCBfX2J1aWx0aW5fdmFfYXJnX3BhY2sg KCkpOworK30KKysKKytleHRlcm4gaW5saW5lIF9fYXR0cmlidXRlX18oKGFsd2F5c19pbmxpbmUp KSBpbnQKKytmNCAoaW50IHksIC4uLikKKyt7CisrICByZXR1cm4gYmFyICh5LCAiIiwgNCwgX19i dWlsdGluX3ZhX2FyZ19wYWNrICgpLCA2KTsJLyogeyBkZy1lcnJvciAiaW52YWxpZCB1c2Ugb2Yi IH0gKi8KKyt9CisrCisrZXh0ZXJuIGlubGluZSBfX2F0dHJpYnV0ZV9fKChhbHdheXNfaW5saW5l KSkgaW50CisrZjUgKGludCB5LCAuLi4pCisreworKyAgcmV0dXJuIGJheiAoeSwgIiIsIF9fYnVp bHRpbl92YV9hcmdfcGFjayAoKSk7CQkvKiB7IGRnLWVycm9yICJpbnZhbGlkIHVzZSBvZiIgfSAq LworK30KKysKKytleHRlcm4gaW5saW5lIF9fYXR0cmlidXRlX18oKGFsd2F5c19pbmxpbmUpKSBp bnQKKytmNiAoaW50IHksIC4uLikKKyt7CisrICByZXR1cm4gX19idWlsdGluX3ZhX2FyZ19wYWNr ICgpOwkJCS8qIHsgZGctZXJyb3IgImludmFsaWQgdXNlIG9mIiB9ICovCisrfQorKworK2ludAor K3Rlc3QgKHZvaWQpCisreworKyAgaW50IGEgPSBmMiAoNSwgImEiLCA2KTsKKysgIGEgKz0gZjMg KDYsICJhYiIsIDE3TEwpOworKyAgYSArPSBmNCAoNywgMSwgMiwgMyk7CisrICBhICs9IGY1ICg4 LCA3TCk7CisrICBhICs9IGY2ICg5KTsKKysgIHJldHVybiBhOworK30KKy0tLSBnY2MvdGVzdHN1 aXRlL2djYy5kZy92YS1hcmctcGFjay0xYS5jLmpqCTIwMDctMDktMDYgMTI6NTE6NTEuMDAwMDAw MDAwICswMjAwCisrKysgZ2NjL3Rlc3RzdWl0ZS9nY2MuZGcvdmEtYXJnLXBhY2stMWEuYwkyMDA3 LTA5LTA2IDEyOjUyOjA5LjAwMDAwMDAwMCArMDIwMAorQEAgLTAsMCArMSwxMSBAQAorKy8qIHsg ZGctZG8gY29tcGlsZSB9ICovCisrLyogeyBkZy1vcHRpb25zICItTzIiIH0gKi8KKysKKytpbnQg YmFyIChpbnQsIGNvbnN0IGNoYXIgKiwgaW50LCAuLi4pOworK2ludCBiYXogKGludCwgY29uc3Qg Y2hhciAqLCBsb25nIGludCk7CisrCisraW50CisrZjEgKGludCB4LCAuLi4pCisreworKyAgcmV0 dXJuIGJhciAoNSwgIiIsIDYsIF9fYnVpbHRpbl92YV9hcmdfcGFjayAoKSk7CS8qIHsgZGctZXJy b3IgImludmFsaWQgdXNlIG9mIiB9ICovCisrfQoKZGlmZiAtLWdpdCBhL2djYzQxLnNwZWMgYi9n Y2M0MS5zcGVjCmluZGV4IGY1NmEyMmIuLmI5N2MwNjMgMTAwNjQ0Ci0tLSBhL2djYzQxLnNwZWMK KysrIGIvZ2NjNDEuc3BlYwpAQCAtMSw2ICsxLDYgQEAKICVkZWZpbmUgREFURSAyMDA3MDgyMQog JWRlZmluZSBnY2NfdmVyc2lvbiA0LjEuMgotJWRlZmluZSBnY2NfcmVsZWFzZSAyMQorJWRlZmlu ZSBnY2NfcmVsZWFzZSAyMgogJWRlZmluZSBfdW5wYWNrYWdlZF9maWxlc190ZXJtaW5hdGVfYnVp bGQgMAogJWRlZmluZSBtdWx0aWxpYl82NF9hcmNocyBzcGFyYzY0IHBwYzY0IHMzOTB4IHg4Nl82 NAogJWRlZmluZSBpbmNsdWRlX2dhcHBsZXR2aWV3ZXIgMQpAQCAtMTQ3LDYgKzE0Nyw5IEBAIFBh dGNoMzA6IGdjYzQxLXJoMjUzMTAyLnBhdGNoCiBQYXRjaDMxOiBnY2M0MS1jKystZ251X2lubGlu ZS5wYXRjaAogUGF0Y2gzMjogZ2NjNDEtcHBjLXN5bmMtcWloaS5wYXRjaAogUGF0Y2gzMzogZ2Nj NDEtcHBjNjQtaWE2NC1HTlUtc3RhY2sucGF0Y2gKK1BhdGNoMzQ6IGdjYzQxLWJ1aWx0aW4tY2hr LWFudGljaXBhdGVkLnBhdGNoCitQYXRjaDM1OiBnY2M0MS1idWlsdGluLXRocm93LnBhdGNoCitQ YXRjaDM2OiBnY2M0MS1idWlsdGluLXZhLWFyZy1wYWNrLnBhdGNoCiAKICMgT24gQVJNIEVBQkkg c3lzdGVtcywgd2UgZG8gd2FudCAtZ251ZWFiaSB0byBiZSBwYXJ0IG9mIHRoZQogIyB0YXJnZXQg dHJpcGxlLgpAQCAtNDYzLDYgKzQ2Niw5IEBAIHdoaWNoIGFyZSByZXF1aXJlZCB0byBydW4gcHJv Z3JhbXMgY29tcGlsZWQgd2l0aCB0aGUgR05BVC4KICVwYXRjaDMxIC1wMCAtYiAuYysrLWdudV9p bmxpbmV+CiAlcGF0Y2gzMiAtcDAgLWIgLnBwYy1zeW5jLXFpaGl+CiAlcGF0Y2gzMyAtcDAgLWIg LnBwYzY0LWlhNjQtR05VLXN0YWNrfgorJXBhdGNoMzQgLXAwIC1iIC5idWlsdGluLWNoay1hbnRp Y2lwYXRlZH4KKyVwYXRjaDM1IC1wMCAtYiAuYnVpbHRpbi10aHJvd34KKyVwYXRjaDM2IC1wMCAt YiAuYnVpbHRpbi12YS1hcmctcGFja34KIAogc2VkIC1pIC1lICdzLzRcLjFcLjMvNC4xLjIvJyBn Y2MvQkFTRS1WRVIgZ2NjL3ZlcnNpb24uYwogc2VkIC1pIC1lICdzLyIgKFJlZCBIYXRbXildKiki LyIgKFJlZCBIYXQgJXt2ZXJzaW9ufS0le2djY19yZWxlYXNlfSkiLycgZ2NjL3ZlcnNpb24uYwpA QCAtMTYxNyw2ICsxNjIzLDEzIEBAIGZpCiAlZG9jIHJwbS5kb2MvY2hhbmdlbG9ncy9saWJtdWRm bGFwL0NoYW5nZUxvZyoKIAogJWNoYW5nZWxvZworKiBUaHUgU2VwICA2IDIwMDcgSmFrdWIgSmVs aW5layA8amFrdWJAcmVkaGF0LmNvbT4gNC4xLjItMjIKKy0gYmFja3BvcnQgX19idWlsdGluX3Zh X2FyZ19wYWNrICgpIHN1cHBvcnQKKy0gbWFrZSBzdXJlIF9fYnVpbHRpbl97LHZ9eyxmfXtwcmlu dCxzY2FufWYsIF9fYnVpbHRpbl97LGZ9cHJpbnRmX3VubG9ja2VkCisgIGFuZCBfX2J1aWx0aW5f X197LHZ9eyxmfXByaW50Zl9jaGsgY2FuIHRocm93CistIGhhbmRsZSBfXypfY2hrIGJ1aWx0aW5z IHdpdGhvdXQgX19idWlsdGluXyBpbiB0aGUgbmFtZSBhcyBhbnRpY2lwYXRlZCBpbgorICBDKysK KwogKiBTYXQgU2VwICAxIDIwMDcgSmFrdWIgSmVsaW5layA8amFrdWJAcmVkaGF0LmNvbT4gNC4x LjItMjEKIC0gZml4IGxpYm11ZGZsYXAtZGV2ZWwgbXVsdGlsaWIgY29uZmxpY3Qgb24gcHBjL3Bw YzY0IGFuZCBzcGFyYy9zcGFyYzY0CiAgICgjMjcwMjgxKQo=