ZGlmZiAtLWdpdCBhL2JlbmNobWFya3MvbWF0aF9iZW5jaG1hcmsuY3BwIGIvYmVuY2htYXJrcy9tYXRoX2JlbmNobWFyay5jcHAKaW5kZXggMzYwMmRlNC4uYTk3NDhjZCAxMDA2NDQKLS0tIGEvYmVuY2htYXJrcy9tYXRoX2JlbmNobWFyay5jcHAKKysrIGIvYmVuY2htYXJrcy9tYXRoX2JlbmNobWFyay5jcHAKQEAgLTE2LDYgKzE2LDcgQEAKIAogI2luY2x1ZGUgImJlbmNobWFyay5oIgogCisjaW5jbHVkZSA8ZmVudi5oPgogI2luY2x1ZGUgPG1hdGguaD4KIAogLy8gQXZvaWQgb3B0aW1pemF0aW9uLgpAQCAtMTEzLDEwICsxMTQsNDkgQEAKIH0KIEJFTkNITUFSSyhCTV9tYXRoX2lzaW5mX1pFUk8pOwogCitzdGF0aWMgdm9pZCBCTV9tYXRoX3Npbl9mYXN0KGludCBpdGVycykgeworICBTdGFydEJlbmNobWFya1RpbWluZygpOwogCisgIGQgPSAxLjA7CisgIGZvciAoaW50IGkgPSAwOyBpIDwgaXRlcnM7ICsraSkgeworICAgIGQgKz0gc2luKGQpOworICB9CiAKKyAgU3RvcEJlbmNobWFya1RpbWluZygpOworfQorQkVOQ0hNQVJLKEJNX21hdGhfc2luX2Zhc3QpOwogCitzdGF0aWMgdm9pZCBCTV9tYXRoX3Npbl9mZXVwZGF0ZWVudihpbnQgaXRlcnMpIHsKKyAgU3RhcnRCZW5jaG1hcmtUaW1pbmcoKTsKIAorICBkID0gMS4wOworICBmb3IgKGludCBpID0gMDsgaSA8IGl0ZXJzOyArK2kpIHsKKyAgICBmZW52X3QgX19saWJjX3NhdmVfcm07CisgICAgZmVob2xkZXhjZXB0KCZfX2xpYmNfc2F2ZV9ybSk7CisgICAgZmVzZXRyb3VuZChGRV9UT05FQVJFU1QpOworICAgIGQgKz0gc2luKGQpOworICAgIGZldXBkYXRlZW52KCZfX2xpYmNfc2F2ZV9ybSk7CisgIH0KKworICBTdG9wQmVuY2htYXJrVGltaW5nKCk7Cit9CitCRU5DSE1BUksoQk1fbWF0aF9zaW5fZmV1cGRhdGVlbnYpOworCitzdGF0aWMgdm9pZCBCTV9tYXRoX3Npbl9mZXNldGVudihpbnQgaXRlcnMpIHsKKyAgU3RhcnRCZW5jaG1hcmtUaW1pbmcoKTsKKworICBkID0gMS4wOworICBmb3IgKGludCBpID0gMDsgaSA8IGl0ZXJzOyArK2kpIHsKKyAgICBmZW52X3QgX19saWJjX3NhdmVfcm07CisgICAgZmVob2xkZXhjZXB0KCZfX2xpYmNfc2F2ZV9ybSk7CisgICAgZmVzZXRyb3VuZChGRV9UT05FQVJFU1QpOworICAgIGQgKz0gc2luKGQpOworICAgIGZlc2V0ZW52KCZfX2xpYmNfc2F2ZV9ybSk7CisgIH0KKworICBTdG9wQmVuY2htYXJrVGltaW5nKCk7Cit9CitCRU5DSE1BUksoQk1fbWF0aF9zaW5fZmVzZXRlbnYpOwogCiBzdGF0aWMgdm9pZCBCTV9tYXRoX2ZwY2xhc3NpZnlfTk9STUFMKGludCBpdGVycykgewogICBTdGFydEJlbmNobWFya1RpbWluZygpOwpkaWZmIC0tZ2l0IGEvYmVuY2htYXJrcy90aW1lX2JlbmNobWFyay5jcHAgYi9iZW5jaG1hcmtzL3RpbWVfYmVuY2htYXJrLmNwcAppbmRleCA3NTEzMmU1Li4zYmY4YzA3IDEwMDY0NAotLS0gYS9iZW5jaG1hcmtzL3RpbWVfYmVuY2htYXJrLmNwcAorKysgYi9iZW5jaG1hcmtzL3RpbWVfYmVuY2htYXJrLmNwcApAQCAtMzUsNCArMzUsMTcgQEAKICAgU3RvcEJlbmNobWFya1RpbWluZygpOwogfQogQkVOQ0hNQVJLKEJNX3RpbWVfbG9jYWx0aW1lX3R6KTsKKwogI2VuZGlmCisKK3N0YXRpYyB2b2lkIEJNX3RpbWVfY2xvY2tfZ2V0dGltZShpbnQgaXRlcnMpIHsKKyAgU3RhcnRCZW5jaG1hcmtUaW1pbmcoKTsKKworICBzdHJ1Y3QgdGltZXNwZWMgdDsKKyAgZm9yIChpbnQgaSA9IDA7IGkgPCBpdGVyczsgKytpKSB7CisgICAgY2xvY2tfZ2V0dGltZShDTE9DS19NT05PVE9OSUMsICZ0KTsKKyAgfQorCisgIFN0b3BCZW5jaG1hcmtUaW1pbmcoKTsKK30KK0JFTkNITUFSSyhCTV90aW1lX2Nsb2NrX2dldHRpbWUpOwpkaWZmIC0tZ2l0IGEvYmVuY2htYXJrcy91bmlzdGRfYmVuY2htYXJrLmNwcCBiL2JlbmNobWFya3MvdW5pc3RkX2JlbmNobWFyay5jcHAKaW5kZXggMTJiNzg4YS4uZjJjOWQ3MyAxMDA2NDQKLS0tIGEvYmVuY2htYXJrcy91bmlzdGRfYmVuY2htYXJrLmNwcAorKysgYi9iZW5jaG1hcmtzL3VuaXN0ZF9iZW5jaG1hcmsuY3BwCkBAIC0xNiw2ICsxNiw3IEBACiAKICNpbmNsdWRlICJiZW5jaG1hcmsuaCIKIAorI2luY2x1ZGUgPHN5cy9zeXNjYWxsLmg+CiAjaW5jbHVkZSA8dW5pc3RkLmg+CiAKIHN0YXRpYyB2b2lkIEJNX3VuaXN0ZF9nZXRwaWQoaW50IGl0ZXJzKSB7CkBAIC0zOSwzICs0MCwxNCBAQAogICBTdG9wQmVuY2htYXJrVGltaW5nKCk7CiB9CiBCRU5DSE1BUksoQk1fdW5pc3RkX2dldHRpZCk7CisKK3N0YXRpYyB2b2lkIEJNX3VuaXN0ZF9nZXR0aWRfc3lzY2FsbChpbnQgaXRlcnMpIHsKKyAgU3RhcnRCZW5jaG1hcmtUaW1pbmcoKTsKKworICBmb3IgKGludCBpID0gMDsgaSA8IGl0ZXJzOyArK2kpIHsKKyAgICBzeXNjYWxsKF9fTlJfZ2V0dGlkKTsKKyAgfQorCisgIFN0b3BCZW5jaG1hcmtUaW1pbmcoKTsKK30KK0JFTkNITUFSSyhCTV91bmlzdGRfZ2V0dGlkX3N5c2NhbGwpOwpkaWZmIC0tZ2l0IGEvbGliYy9BbmRyb2lkLm1rIGIvbGliYy9BbmRyb2lkLm1rCmluZGV4IDM1MTI3NzEuLmNkNWNiMDIgMTAwNjQ0Ci0tLSBhL2xpYmMvQW5kcm9pZC5taworKysgYi9saWJjL0FuZHJvaWQubWsKQEAgLTU0LDcgKzU0LDYgQEAKICAgICBiaW9uaWMvaW5pdGdyb3Vwcy5jIFwKICAgICBiaW9uaWMvaW9jdGwuYyBcCiAgICAgYmlvbmljL2lzYXR0eS5jIFwKLSAgICBiaW9uaWMvbWQ1LmMgXAogICAgIGJpb25pYy9tZW1tZW0uYyBcCiAgICAgYmlvbmljL3BhdGhjb25mLmMgXAogICAgIGJpb25pYy9wdHNuYW1lLmMgXApAQCAtMjcxLDcgKzI3MCw2IEBACiAgICAgdXBzdHJlYW0tbmV0YnNkL2xpYi9saWJjL2dlbi9uaWNlLmMgXAogICAgIHVwc3RyZWFtLW5ldGJzZC9saWIvbGliYy9nZW4vcG9wZW4uYyBcCiAgICAgdXBzdHJlYW0tbmV0YnNkL2xpYi9saWJjL2dlbi9wc2lnbmFsLmMgXAotICAgIHVwc3RyZWFtLW5ldGJzZC9saWIvbGliYy9nZW4vc2V0am1wZXJyLmMgXAogICAgIHVwc3RyZWFtLW5ldGJzZC9saWIvbGliYy9nZW4vdXRpbWUuYyBcCiAgICAgdXBzdHJlYW0tbmV0YnNkL2xpYi9saWJjL2dlbi91dG1wLmMgXAogICAgIHVwc3RyZWFtLW5ldGJzZC9saWIvbGliYy9pc2MvZXZfc3RyZWFtcy5jIFwKZGlmZiAtLWdpdCBhL2xpYmMvU1lTQ0FMTFMuVFhUIGIvbGliYy9TWVNDQUxMUy5UWFQKaW5kZXggYjQ5NjM1Ny4uOTM4OWM5YyAxMDA2NDQKLS0tIGEvbGliYy9TWVNDQUxMUy5UWFQKKysrIGIvbGliYy9TWVNDQUxMUy5UWFQKQEAgLTEyOCwxMiArMTI4LDcgQEAKIHNzaXplX3QgICAgIGZsaXN0eGF0dHIoaW50LCBjaGFyKiwgc2l6ZV90KSBhbGwKIGludCAgICAgICAgIGZyZW1vdmV4YXR0cihpbnQsIGNvbnN0IGNoYXIqKSBhbGwKIAotIyBtaXBzNjQgZG9lc24ndCBoYXZlIGdldGRlbnRzNjQgdW50aWwgMy4xMCBrZXJuZWxzLgotIyBXZSBuZWVkIHRoaXMgc3BlY2lhbC1jYXNlIGhhY2sgYXMgbG9uZyBhcyB3ZSBuZWVkIHRvIHN1cHBvcnQgbWlwczY0IG9uIG9sZGVyIGtlcm5lbHMuCi0jIFRoZSBjdXJyZW50bHktYXZhaWxhYmxlIERlYmlhbiBxZW11IGltYWdlIGlzIG9uIGEgMy4yIGtlcm5lbC4KLWludCBnZXRkZW50czpnZXRkZW50czY0KHVuc2lnbmVkIGludCwgc3RydWN0IGRpcmVudCosIHVuc2lnbmVkIGludCkgICBhcm0sYXJtNjQsbWlwcyx4ODYseDg2XzY0Ci1pbnQgX19nZXRkZW50czY0OmdldGRlbnRzNjQodW5zaWduZWQgaW50LCBzdHJ1Y3QgZGlyZW50KiwgdW5zaWduZWQgaW50KSAgIG1pcHM2NAotaW50IF9fZ2V0ZGVudHM6Z2V0ZGVudHModW5zaWduZWQgaW50LCB2b2lkKiwgdW5zaWduZWQgaW50KSAgIG1pcHM2NAoraW50IF9fZ2V0ZGVudHM2NDpnZXRkZW50czY0KHVuc2lnbmVkIGludCwgc3RydWN0IGRpcmVudCosIHVuc2lnbmVkIGludCkgICBhcm0sYXJtNjQsbWlwcyxtaXBzNjQseDg2LHg4Nl82NAogCiBpbnQgX19vcGVuYXQ6b3BlbmF0KGludCwgY29uc3QgY2hhciosIGludCwgbW9kZV90KSBhbGwKIGludCBmYWNjZXNzYXQoaW50LCBjb25zdCBjaGFyKiwgaW50LCBpbnQpICBhbGwKZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1hcm0vYmlvbmljL19fYmlvbmljX2Nsb25lLlMgYi9saWJjL2FyY2gtYXJtL2Jpb25pYy9fX2Jpb25pY19jbG9uZS5TCmluZGV4IDI2NDNhZTAuLjQ4ZjJmOTggMTAwNjQ0Ci0tLSBhL2xpYmMvYXJjaC1hcm0vYmlvbmljL19fYmlvbmljX2Nsb25lLlMKKysrIGIvbGliYy9hcmNoLWFybS9iaW9uaWMvX19iaW9uaWNfY2xvbmUuUwpAQCAtNjAsMTAgKzYwLDEwIEBACiAgICAgYiAgICAgICBfX3NldF9lcnJubwogCiAxOiAgIyBUaGUgY2hpbGQuCi0gICAgIyBTZXR0aW5nIGxyIHRvIDAgd2lsbCBtYWtlIHRoZSB1bndpbmRlciBzdG9wIGF0IF9fYmlvbmljX2Nsb25lX2VudHJ5CisgICAgIyBTZXR0aW5nIGxyIHRvIDAgd2lsbCBtYWtlIHRoZSB1bndpbmRlciBzdG9wIGF0IF9fc3RhcnRfdGhyZWFkCiAgICAgbW92ICAgIGxyLCAjMAogICAgIGxkciAgICByMCwgW3NwLCAjLTRdCiAgICAgbGRyICAgIHIxLCBbc3AsICMtOF0KLSAgICBiICAgICAgX19iaW9uaWNfY2xvbmVfZW50cnkKKyAgICBiICAgICAgX19zdGFydF90aHJlYWQKIEVORChfX2Jpb25pY19jbG9uZSkKIC5oaWRkZW4gX19iaW9uaWNfY2xvbmUKZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1hcm0vc3lzY2FsbHMvZ2V0ZGVudHMuUyBiL2xpYmMvYXJjaC1hcm0vc3lzY2FsbHMvX19nZXRkZW50czY0LlMKc2ltaWxhcml0eSBpbmRleCA4NiUKcmVuYW1lIGZyb20gbGliYy9hcmNoLWFybS9zeXNjYWxscy9nZXRkZW50cy5TCnJlbmFtZSB0byBsaWJjL2FyY2gtYXJtL3N5c2NhbGxzL19fZ2V0ZGVudHM2NC5TCmluZGV4IDhmMGU4MWEuLmMzZDVlNWIgMTAwNjQ0Ci0tLSBhL2xpYmMvYXJjaC1hcm0vc3lzY2FsbHMvZ2V0ZGVudHMuUworKysgYi9saWJjL2FyY2gtYXJtL3N5c2NhbGxzL19fZ2V0ZGVudHM2NC5TCkBAIC0yLDcgKzIsNyBAQAogCiAjaW5jbHVkZSA8cHJpdmF0ZS9iaW9uaWNfYXNtLmg+CiAKLUVOVFJZKGdldGRlbnRzKQorRU5UUlkoX19nZXRkZW50czY0KQogICAgIG1vdiAgICAgaXAsIHI3CiAgICAgbGRyICAgICByNywgPV9fTlJfZ2V0ZGVudHM2NAogICAgIHN3aSAgICAgIzAKQEAgLTExLDQgKzExLDQgQEAKICAgICBieGxzICAgIGxyCiAgICAgbmVnICAgICByMCwgcjAKICAgICBiICAgICAgIF9fc2V0X2Vycm5vCi1FTkQoZ2V0ZGVudHMpCitFTkQoX19nZXRkZW50czY0KQpkaWZmIC0tZ2l0IGEvbGliYy9hcmNoLWFybTY0L2Jpb25pYy9fX2Jpb25pY19jbG9uZS5TIGIvbGliYy9hcmNoLWFybTY0L2Jpb25pYy9fX2Jpb25pY19jbG9uZS5TCmluZGV4IGQzYzAzNzQuLjc0ZGI0YjUgMTAwNjQ0Ci0tLSBhL2xpYmMvYXJjaC1hcm02NC9iaW9uaWMvX19iaW9uaWNfY2xvbmUuUworKysgYi9saWJjL2FyY2gtYXJtNjQvYmlvbmljL19fYmlvbmljX2Nsb25lLlMKQEAgLTMxLDEyICszMSw2IEBACiAvLyBwaWRfdCBfX2Jpb25pY19jbG9uZShpbnQgZmxhZ3MsIHZvaWQqIGNoaWxkX3N0YWNrLCBwaWRfdCogcGFyZW50X3RpZCwgdm9pZCogdGxzLCBwaWRfdCogY2hpbGRfdGlkLCBpbnQgKCpmbikodm9pZCopLCB2b2lkKiBhcmcpOwogCiBFTlRSWShfX2Jpb25pY19jbG9uZSkKLSAgICBzdHAgICAgIHgyOSwgeDMwLCBbc3AsICMtMTZdIQotICAgIC5jZmlfZGVmX2NmYV9vZmZzZXQgMTYKLSAgICAuY2ZpX3JlbF9vZmZzZXQgeDI5LCAwCi0gICAgLmNmaV9yZWxfb2Zmc2V0IHgzMCwgOAotICAgIG1vdiAgICAgeDI5LCAgc3AKLQogICAgICMgQ29weSAnZm4nIGFuZCAnYXJnJyBvbnRvIHRoZSBjaGlsZCBzdGFjay4KICAgICBzdHAgICAgIHg1LCB4NiwgW3gxLCAjLTE2XQogCkBAIC00NywxMSArNDEsNiBAQAogICAgICMgQXJlIHdlIHRoZSBjaGlsZD8KICAgICBjYnogICAgIHgwLCAuTF9iY19jaGlsZAogCi0gICAgbGRwICAgICB4MjksIHgzMCwgW3NwXSwgIzE2Ci0gICAgLmNmaV9kZWZfY2ZhX29mZnNldCAwCi0gICAgLmNmaV9yZXN0b3JlIHgyOQotICAgIC5jZmlfcmVzdG9yZSB4MzAKLQogICAgICMgU2V0IGVycm5vIGlmIHNvbWV0aGluZyB3ZW50IHdyb25nLgogICAgIGNtbiAgICAgeDAsICMoTUFYX0VSUk5PICsgMSkKICAgICBjbmVnICAgIHgwLCB4MCwgaGkKQEAgLTYyLDEwICs1MSwxMCBAQAogLkxfYmNfY2hpbGQ6CiAgICAgIyBXZSdyZSBpbiB0aGUgY2hpbGQgbm93LiBTZXQgdGhlIGVuZCBvZiB0aGUgZnJhbWUgcmVjb3JkIGNoYWluLi4uCiAgICAgbW92ICAgICB4MjksIHh6cgotICAgICMgU2V0dGluZyB4MzAgdG8gMCB3aWxsIG1ha2UgdGhlIHVud2luZGVyIHN0b3AgYXQgX19iaW9uaWNfY2xvbmVfZW50cnkKKyAgICAjIFNldHRpbmcgeDMwIHRvIDAgd2lsbCBtYWtlIHRoZSB1bndpbmRlciBzdG9wIGF0IF9fc3RhcnRfdGhyZWFkCiAgICAgbW92ICAgICB4MzAsIHh6cgotICAgICMgLi4uYW5kIGNhbGwgX19iaW9uaWNfY2xvbmVfZW50cnkgd2l0aCB0aGUgJ2ZuJyBhbmQgJ2FyZycgd2Ugc3RvcmVkIG9uIHRoZSBjaGlsZCBzdGFjay4KKyAgICAjIC4uLmFuZCBjYWxsIF9fc3RhcnRfdGhyZWFkIHdpdGggdGhlICdmbicgYW5kICdhcmcnIHdlIHN0b3JlZCBvbiB0aGUgY2hpbGQgc3RhY2suCiAgICAgbGRwICAgICB4MCwgeDEsIFtzcCwgIy0xNl0KLSAgICBiICAgICAgIF9fYmlvbmljX2Nsb25lX2VudHJ5CisgICAgYiAgICAgICBfX3N0YXJ0X3RocmVhZAogRU5EKF9fYmlvbmljX2Nsb25lKQogLmhpZGRlbiBfX2Jpb25pY19jbG9uZQpkaWZmIC0tZ2l0IGEvbGliYy9hcmNoLWFybTY0L2Jpb25pYy9zeXNjYWxsLlMgYi9saWJjL2FyY2gtYXJtNjQvYmlvbmljL3N5c2NhbGwuUwppbmRleCA0MmU4ODgzLi42NThhZjc4IDEwMDY0NAotLS0gYS9saWJjL2FyY2gtYXJtNjQvYmlvbmljL3N5c2NhbGwuUworKysgYi9saWJjL2FyY2gtYXJtNjQvYmlvbmljL3N5c2NhbGwuUwpAQCAtMjksMTMgKzI5LDYgQEAKICNpbmNsdWRlIDxwcml2YXRlL2Jpb25pY19hc20uaD4KIAogRU5UUlkoc3lzY2FsbCkKLSAgICAvKiBjcmVhdGUgQUFQQ1MgZnJhbWUgcG9pbnRlciAqLwotICAgIHN0cCAgICAgeDI5LCB4MzAsIFtzcCwgIy0xNl0hCi0gICAgLmNmaV9kZWZfY2ZhX29mZnNldCAxNgotICAgIC5jZmlfcmVsX29mZnNldCB4MjksIDAKLSAgICAuY2ZpX3JlbF9vZmZzZXQgeDMwLCA4Ci0gICAgbW92ICAgICB4MjksICBzcAotCiAgICAgLyogTW92ZSBzeXNjYWxsIE5vLiBmcm9tIHgwIHRvIHg4ICovCiAgICAgbW92ICAgICB4OCwgeDAKICAgICAvKiBNb3ZlIHN5c2NhbGwgcGFyYW1ldGVycyBmcm9tIHgxIHRocnUgeDYgdG8geDAgdGhydSB4NSAqLwpAQCAtNDcsMTEgKzQwLDYgQEAKICAgICBtb3YgICAgIHg1LCB4NgogICAgIHN2YyAgICAgIzAKIAotICAgIGxkcCAgICAgeDI5LCB4MzAsIFtzcF0sICMxNgotICAgIC5jZmlfZGVmX2NmYV9vZmZzZXQgMAotICAgIC5jZmlfcmVzdG9yZSB4MjkKLSAgICAuY2ZpX3Jlc3RvcmUgeDMwCi0KICAgICAvKiBjaGVjayBpZiBzeXNjYWxsIHJldHVybmVkIHN1Y2Nlc3NmdWxseSAqLwogICAgIGNtbiAgICAgeDAsICMoTUFYX0VSUk5PICsgMSkKICAgICBjbmVnICAgIHgwLCB4MCwgaGkKZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9fX2FjY2VwdDQuUyBiL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9fX2FjY2VwdDQuUwppbmRleCAzNGYyYzUyLi4xYzJhNjc0IDEwMDY0NAotLS0gYS9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvX19hY2NlcHQ0LlMKKysrIGIvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL19fYWNjZXB0NC5TCkBAIC0zLDIwICszLDkgQEAKICNpbmNsdWRlIDxwcml2YXRlL2Jpb25pY19hc20uaD4KIAogRU5UUlkoX19hY2NlcHQ0KQotICAgIHN0cCAgICAgeDI5LCB4MzAsIFtzcCwgIy0xNl0hCi0gICAgLmNmaV9kZWZfY2ZhX29mZnNldCAxNgotICAgIC5jZmlfcmVsX29mZnNldCB4MjksIDAKLSAgICAuY2ZpX3JlbF9vZmZzZXQgeDMwLCA4Ci0gICAgbW92ICAgICB4MjksICBzcAotCiAgICAgbW92ICAgICB4OCwgX19OUl9hY2NlcHQ0CiAgICAgc3ZjICAgICAjMAogCi0gICAgbGRwICAgICB4MjksIHgzMCwgW3NwXSwgIzE2Ci0gICAgLmNmaV9kZWZfY2ZhX29mZnNldCAwCi0gICAgLmNmaV9yZXN0b3JlIHgyOQotICAgIC5jZmlfcmVzdG9yZSB4MzAKLQogICAgIGNtbiAgICAgeDAsICMoTUFYX0VSUk5PICsgMSkKICAgICBjbmVnICAgIHgwLCB4MCwgaGkKICAgICBiLmhpICAgIF9fc2V0X2Vycm5vCmRpZmYgLS1naXQgYS9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvX19icmsuUyBiL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9fX2Jyay5TCmluZGV4IGZiNjNmYjkuLjg1ZWQ3NjcgMTAwNjQ0Ci0tLSBhL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9fX2Jyay5TCisrKyBiL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9fX2Jyay5TCkBAIC0zLDIwICszLDkgQEAKICNpbmNsdWRlIDxwcml2YXRlL2Jpb25pY19hc20uaD4KIAogRU5UUlkoX19icmspCi0gICAgc3RwICAgICB4MjksIHgzMCwgW3NwLCAjLTE2XSEKLSAgICAuY2ZpX2RlZl9jZmFfb2Zmc2V0IDE2Ci0gICAgLmNmaV9yZWxfb2Zmc2V0IHgyOSwgMAotICAgIC5jZmlfcmVsX29mZnNldCB4MzAsIDgKLSAgICBtb3YgICAgIHgyOSwgIHNwCi0KICAgICBtb3YgICAgIHg4LCBfX05SX2JyawogICAgIHN2YyAgICAgIzAKIAotICAgIGxkcCAgICAgeDI5LCB4MzAsIFtzcF0sICMxNgotICAgIC5jZmlfZGVmX2NmYV9vZmZzZXQgMAotICAgIC5jZmlfcmVzdG9yZSB4MjkKLSAgICAuY2ZpX3Jlc3RvcmUgeDMwCi0KICAgICBjbW4gICAgIHgwLCAjKE1BWF9FUlJOTyArIDEpCiAgICAgY25lZyAgICB4MCwgeDAsIGhpCiAgICAgYi5oaSAgICBfX3NldF9lcnJubwpkaWZmIC0tZ2l0IGEvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL19fY29ubmVjdC5TIGIvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL19fY29ubmVjdC5TCmluZGV4IGU1NzhjY2MuLjBkNjY0ZjAgMTAwNjQ0Ci0tLSBhL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9fX2Nvbm5lY3QuUworKysgYi9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvX19jb25uZWN0LlMKQEAgLTMsMjAgKzMsOSBAQAogI2luY2x1ZGUgPHByaXZhdGUvYmlvbmljX2FzbS5oPgogCiBFTlRSWShfX2Nvbm5lY3QpCi0gICAgc3RwICAgICB4MjksIHgzMCwgW3NwLCAjLTE2XSEKLSAgICAuY2ZpX2RlZl9jZmFfb2Zmc2V0IDE2Ci0gICAgLmNmaV9yZWxfb2Zmc2V0IHgyOSwgMAotICAgIC5jZmlfcmVsX29mZnNldCB4MzAsIDgKLSAgICBtb3YgICAgIHgyOSwgIHNwCi0KICAgICBtb3YgICAgIHg4LCBfX05SX2Nvbm5lY3QKICAgICBzdmMgICAgICMwCiAKLSAgICBsZHAgICAgIHgyOSwgeDMwLCBbc3BdLCAjMTYKLSAgICAuY2ZpX2RlZl9jZmFfb2Zmc2V0IDAKLSAgICAuY2ZpX3Jlc3RvcmUgeDI5Ci0gICAgLmNmaV9yZXN0b3JlIHgzMAotCiAgICAgY21uICAgICB4MCwgIyhNQVhfRVJSTk8gKyAxKQogICAgIGNuZWcgICAgeDAsIHgwLCBoaQogICAgIGIuaGkgICAgX19zZXRfZXJybm8KZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9fX2Vwb2xsX3B3YWl0LlMgYi9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvX19lcG9sbF9wd2FpdC5TCmluZGV4IDU3YjAxYzIuLjQ1Mjc1YzAgMTAwNjQ0Ci0tLSBhL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9fX2Vwb2xsX3B3YWl0LlMKKysrIGIvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL19fZXBvbGxfcHdhaXQuUwpAQCAtMywyMCArMyw5IEBACiAjaW5jbHVkZSA8cHJpdmF0ZS9iaW9uaWNfYXNtLmg+CiAKIEVOVFJZKF9fZXBvbGxfcHdhaXQpCi0gICAgc3RwICAgICB4MjksIHgzMCwgW3NwLCAjLTE2XSEKLSAgICAuY2ZpX2RlZl9jZmFfb2Zmc2V0IDE2Ci0gICAgLmNmaV9yZWxfb2Zmc2V0IHgyOSwgMAotICAgIC5jZmlfcmVsX29mZnNldCB4MzAsIDgKLSAgICBtb3YgICAgIHgyOSwgIHNwCi0KICAgICBtb3YgICAgIHg4LCBfX05SX2Vwb2xsX3B3YWl0CiAgICAgc3ZjICAgICAjMAogCi0gICAgbGRwICAgICB4MjksIHgzMCwgW3NwXSwgIzE2Ci0gICAgLmNmaV9kZWZfY2ZhX29mZnNldCAwCi0gICAgLmNmaV9yZXN0b3JlIHgyOQotICAgIC5jZmlfcmVzdG9yZSB4MzAKLQogICAgIGNtbiAgICAgeDAsICMoTUFYX0VSUk5PICsgMSkKICAgICBjbmVnICAgIHgwLCB4MCwgaGkKICAgICBiLmhpICAgIF9fc2V0X2Vycm5vCmRpZmYgLS1naXQgYS9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvX19leGl0LlMgYi9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvX19leGl0LlMKaW5kZXggODYwMGIxMy4uZTM1ODUxMyAxMDA2NDQKLS0tIGEvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL19fZXhpdC5TCisrKyBiL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9fX2V4aXQuUwpAQCAtMywyMCArMyw5IEBACiAjaW5jbHVkZSA8cHJpdmF0ZS9iaW9uaWNfYXNtLmg+CiAKIEVOVFJZKF9fZXhpdCkKLSAgICBzdHAgICAgIHgyOSwgeDMwLCBbc3AsICMtMTZdIQotICAgIC5jZmlfZGVmX2NmYV9vZmZzZXQgMTYKLSAgICAuY2ZpX3JlbF9vZmZzZXQgeDI5LCAwCi0gICAgLmNmaV9yZWxfb2Zmc2V0IHgzMCwgOAotICAgIG1vdiAgICAgeDI5LCAgc3AKLQogICAgIG1vdiAgICAgeDgsIF9fTlJfZXhpdAogICAgIHN2YyAgICAgIzAKIAotICAgIGxkcCAgICAgeDI5LCB4MzAsIFtzcF0sICMxNgotICAgIC5jZmlfZGVmX2NmYV9vZmZzZXQgMAotICAgIC5jZmlfcmVzdG9yZSB4MjkKLSAgICAuY2ZpX3Jlc3RvcmUgeDMwCi0KICAgICBjbW4gICAgIHgwLCAjKE1BWF9FUlJOTyArIDEpCiAgICAgY25lZyAgICB4MCwgeDAsIGhpCiAgICAgYi5oaSAgICBfX3NldF9lcnJubwpkaWZmIC0tZ2l0IGEvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL19fZ2V0Y3B1LlMgYi9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvX19nZXRjcHUuUwppbmRleCBlODFiYTIzLi41ZTQzNjhmIDEwMDY0NAotLS0gYS9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvX19nZXRjcHUuUworKysgYi9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvX19nZXRjcHUuUwpAQCAtMywyMCArMyw5IEBACiAjaW5jbHVkZSA8cHJpdmF0ZS9iaW9uaWNfYXNtLmg+CiAKIEVOVFJZKF9fZ2V0Y3B1KQotICAgIHN0cCAgICAgeDI5LCB4MzAsIFtzcCwgIy0xNl0hCi0gICAgLmNmaV9kZWZfY2ZhX29mZnNldCAxNgotICAgIC5jZmlfcmVsX29mZnNldCB4MjksIDAKLSAgICAuY2ZpX3JlbF9vZmZzZXQgeDMwLCA4Ci0gICAgbW92ICAgICB4MjksICBzcAotCiAgICAgbW92ICAgICB4OCwgX19OUl9nZXRjcHUKICAgICBzdmMgICAgICMwCiAKLSAgICBsZHAgICAgIHgyOSwgeDMwLCBbc3BdLCAjMTYKLSAgICAuY2ZpX2RlZl9jZmFfb2Zmc2V0IDAKLSAgICAuY2ZpX3Jlc3RvcmUgeDI5Ci0gICAgLmNmaV9yZXN0b3JlIHgzMAotCiAgICAgY21uICAgICB4MCwgIyhNQVhfRVJSTk8gKyAxKQogICAgIGNuZWcgICAgeDAsIHgwLCBoaQogICAgIGIuaGkgICAgX19zZXRfZXJybm8KZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9fX2dldGN3ZC5TIGIvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL19fZ2V0Y3dkLlMKaW5kZXggZmM0OGY4MC4uYmQ0ZmJhYSAxMDA2NDQKLS0tIGEvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL19fZ2V0Y3dkLlMKKysrIGIvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL19fZ2V0Y3dkLlMKQEAgLTMsMjAgKzMsOSBAQAogI2luY2x1ZGUgPHByaXZhdGUvYmlvbmljX2FzbS5oPgogCiBFTlRSWShfX2dldGN3ZCkKLSAgICBzdHAgICAgIHgyOSwgeDMwLCBbc3AsICMtMTZdIQotICAgIC5jZmlfZGVmX2NmYV9vZmZzZXQgMTYKLSAgICAuY2ZpX3JlbF9vZmZzZXQgeDI5LCAwCi0gICAgLmNmaV9yZWxfb2Zmc2V0IHgzMCwgOAotICAgIG1vdiAgICAgeDI5LCAgc3AKLQogICAgIG1vdiAgICAgeDgsIF9fTlJfZ2V0Y3dkCiAgICAgc3ZjICAgICAjMAogCi0gICAgbGRwICAgICB4MjksIHgzMCwgW3NwXSwgIzE2Ci0gICAgLmNmaV9kZWZfY2ZhX29mZnNldCAwCi0gICAgLmNmaV9yZXN0b3JlIHgyOQotICAgIC5jZmlfcmVzdG9yZSB4MzAKLQogICAgIGNtbiAgICAgeDAsICMoTUFYX0VSUk5PICsgMSkKICAgICBjbmVnICAgIHgwLCB4MCwgaGkKICAgICBiLmhpICAgIF9fc2V0X2Vycm5vCmRpZmYgLS1naXQgYS9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvX19nZXRkZW50czY0LlMgYi9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvX19nZXRkZW50czY0LlMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmYwZjlhNAotLS0gL2Rldi9udWxsCisrKyBiL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9fX2dldGRlbnRzNjQuUwpAQCAtMCwwICsxLDE1IEBACisvKiBHZW5lcmF0ZWQgYnkgZ2Vuc3lzY2FsbHMucHkuIERvIG5vdCBlZGl0LiAqLworCisjaW5jbHVkZSA8cHJpdmF0ZS9iaW9uaWNfYXNtLmg+CisKK0VOVFJZKF9fZ2V0ZGVudHM2NCkKKyAgICBtb3YgICAgIHg4LCBfX05SX2dldGRlbnRzNjQKKyAgICBzdmMgICAgICMwCisKKyAgICBjbW4gICAgIHgwLCAjKE1BWF9FUlJOTyArIDEpCisgICAgY25lZyAgICB4MCwgeDAsIGhpCisgICAgYi5oaSAgICBfX3NldF9lcnJubworCisgICAgcmV0CitFTkQoX19nZXRkZW50czY0KQorLmhpZGRlbiBfX2dldGRlbnRzNjQKZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9fX2dldHByaW9yaXR5LlMgYi9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvX19nZXRwcmlvcml0eS5TCmluZGV4IDQ4NmVhOGYuLjU3Y2VhYmYgMTAwNjQ0Ci0tLSBhL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9fX2dldHByaW9yaXR5LlMKKysrIGIvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL19fZ2V0cHJpb3JpdHkuUwpAQCAtMywyMCArMyw5IEBACiAjaW5jbHVkZSA8cHJpdmF0ZS9iaW9uaWNfYXNtLmg+CiAKIEVOVFJZKF9fZ2V0cHJpb3JpdHkpCi0gICAgc3RwICAgICB4MjksIHgzMCwgW3NwLCAjLTE2XSEKLSAgICAuY2ZpX2RlZl9jZmFfb2Zmc2V0IDE2Ci0gICAgLmNmaV9yZWxfb2Zmc2V0IHgyOSwgMAotICAgIC5jZmlfcmVsX29mZnNldCB4MzAsIDgKLSAgICBtb3YgICAgIHgyOSwgIHNwCi0KICAgICBtb3YgICAgIHg4LCBfX05SX2dldHByaW9yaXR5CiAgICAgc3ZjICAgICAjMAogCi0gICAgbGRwICAgICB4MjksIHgzMCwgW3NwXSwgIzE2Ci0gICAgLmNmaV9kZWZfY2ZhX29mZnNldCAwCi0gICAgLmNmaV9yZXN0b3JlIHgyOQotICAgIC5jZmlfcmVzdG9yZSB4MzAKLQogICAgIGNtbiAgICAgeDAsICMoTUFYX0VSUk5PICsgMSkKICAgICBjbmVnICAgIHgwLCB4MCwgaGkKICAgICBiLmhpICAgIF9fc2V0X2Vycm5vCmRpZmYgLS1naXQgYS9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvX19pb2N0bC5TIGIvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL19faW9jdGwuUwppbmRleCAzMGZmNzNjLi5mNjMyNTU1IDEwMDY0NAotLS0gYS9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvX19pb2N0bC5TCisrKyBiL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9fX2lvY3RsLlMKQEAgLTMsMjAgKzMsOSBAQAogI2luY2x1ZGUgPHByaXZhdGUvYmlvbmljX2FzbS5oPgogCiBFTlRSWShfX2lvY3RsKQotICAgIHN0cCAgICAgeDI5LCB4MzAsIFtzcCwgIy0xNl0hCi0gICAgLmNmaV9kZWZfY2ZhX29mZnNldCAxNgotICAgIC5jZmlfcmVsX29mZnNldCB4MjksIDAKLSAgICAuY2ZpX3JlbF9vZmZzZXQgeDMwLCA4Ci0gICAgbW92ICAgICB4MjksICBzcAotCiAgICAgbW92ICAgICB4OCwgX19OUl9pb2N0bAogICAgIHN2YyAgICAgIzAKIAotICAgIGxkcCAgICAgeDI5LCB4MzAsIFtzcF0sICMxNgotICAgIC5jZmlfZGVmX2NmYV9vZmZzZXQgMAotICAgIC5jZmlfcmVzdG9yZSB4MjkKLSAgICAuY2ZpX3Jlc3RvcmUgeDMwCi0KICAgICBjbW4gICAgIHgwLCAjKE1BWF9FUlJOTyArIDEpCiAgICAgY25lZyAgICB4MCwgeDAsIGhpCiAgICAgYi5oaSAgICBfX3NldF9lcnJubwpkaWZmIC0tZ2l0IGEvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL19fb3BlbmF0LlMgYi9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvX19vcGVuYXQuUwppbmRleCAyMmUyZjZhLi5lMWIwZGEzIDEwMDY0NAotLS0gYS9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvX19vcGVuYXQuUworKysgYi9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvX19vcGVuYXQuUwpAQCAtMywyMCArMyw5IEBACiAjaW5jbHVkZSA8cHJpdmF0ZS9iaW9uaWNfYXNtLmg+CiAKIEVOVFJZKF9fb3BlbmF0KQotICAgIHN0cCAgICAgeDI5LCB4MzAsIFtzcCwgIy0xNl0hCi0gICAgLmNmaV9kZWZfY2ZhX29mZnNldCAxNgotICAgIC5jZmlfcmVsX29mZnNldCB4MjksIDAKLSAgICAuY2ZpX3JlbF9vZmZzZXQgeDMwLCA4Ci0gICAgbW92ICAgICB4MjksICBzcAotCiAgICAgbW92ICAgICB4OCwgX19OUl9vcGVuYXQKICAgICBzdmMgICAgICMwCiAKLSAgICBsZHAgICAgIHgyOSwgeDMwLCBbc3BdLCAjMTYKLSAgICAuY2ZpX2RlZl9jZmFfb2Zmc2V0IDAKLSAgICAuY2ZpX3Jlc3RvcmUgeDI5Ci0gICAgLmNmaV9yZXN0b3JlIHgzMAotCiAgICAgY21uICAgICB4MCwgIyhNQVhfRVJSTk8gKyAxKQogICAgIGNuZWcgICAgeDAsIHgwLCBoaQogICAgIGIuaGkgICAgX19zZXRfZXJybm8KZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9fX3Bwb2xsLlMgYi9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvX19wcG9sbC5TCmluZGV4IDE3MzlkZWEuLjMxZTU1NzggMTAwNjQ0Ci0tLSBhL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9fX3Bwb2xsLlMKKysrIGIvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL19fcHBvbGwuUwpAQCAtMywyMCArMyw5IEBACiAjaW5jbHVkZSA8cHJpdmF0ZS9iaW9uaWNfYXNtLmg+CiAKIEVOVFJZKF9fcHBvbGwpCi0gICAgc3RwICAgICB4MjksIHgzMCwgW3NwLCAjLTE2XSEKLSAgICAuY2ZpX2RlZl9jZmFfb2Zmc2V0IDE2Ci0gICAgLmNmaV9yZWxfb2Zmc2V0IHgyOSwgMAotICAgIC5jZmlfcmVsX29mZnNldCB4MzAsIDgKLSAgICBtb3YgICAgIHgyOSwgIHNwCi0KICAgICBtb3YgICAgIHg4LCBfX05SX3Bwb2xsCiAgICAgc3ZjICAgICAjMAogCi0gICAgbGRwICAgICB4MjksIHgzMCwgW3NwXSwgIzE2Ci0gICAgLmNmaV9kZWZfY2ZhX29mZnNldCAwCi0gICAgLmNmaV9yZXN0b3JlIHgyOQotICAgIC5jZmlfcmVzdG9yZSB4MzAKLQogICAgIGNtbiAgICAgeDAsICMoTUFYX0VSUk5PICsgMSkKICAgICBjbmVnICAgIHgwLCB4MCwgaGkKICAgICBiLmhpICAgIF9fc2V0X2Vycm5vCmRpZmYgLS1naXQgYS9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvX19wc2VsZWN0Ni5TIGIvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL19fcHNlbGVjdDYuUwppbmRleCAyNzcwMTY0Li5iMGU0NzcwIDEwMDY0NAotLS0gYS9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvX19wc2VsZWN0Ni5TCisrKyBiL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9fX3BzZWxlY3Q2LlMKQEAgLTMsMjAgKzMsOSBAQAogI2luY2x1ZGUgPHByaXZhdGUvYmlvbmljX2FzbS5oPgogCiBFTlRSWShfX3BzZWxlY3Q2KQotICAgIHN0cCAgICAgeDI5LCB4MzAsIFtzcCwgIy0xNl0hCi0gICAgLmNmaV9kZWZfY2ZhX29mZnNldCAxNgotICAgIC5jZmlfcmVsX29mZnNldCB4MjksIDAKLSAgICAuY2ZpX3JlbF9vZmZzZXQgeDMwLCA4Ci0gICAgbW92ICAgICB4MjksICBzcAotCiAgICAgbW92ICAgICB4OCwgX19OUl9wc2VsZWN0NgogICAgIHN2YyAgICAgIzAKIAotICAgIGxkcCAgICAgeDI5LCB4MzAsIFtzcF0sICMxNgotICAgIC5jZmlfZGVmX2NmYV9vZmZzZXQgMAotICAgIC5jZmlfcmVzdG9yZSB4MjkKLSAgICAuY2ZpX3Jlc3RvcmUgeDMwCi0KICAgICBjbW4gICAgIHgwLCAjKE1BWF9FUlJOTyArIDEpCiAgICAgY25lZyAgICB4MCwgeDAsIGhpCiAgICAgYi5oaSAgICBfX3NldF9lcnJubwpkaWZmIC0tZ2l0IGEvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL19fcHRyYWNlLlMgYi9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvX19wdHJhY2UuUwppbmRleCAzNzQ2NTMwLi4wNTRiYjZmIDEwMDY0NAotLS0gYS9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvX19wdHJhY2UuUworKysgYi9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvX19wdHJhY2UuUwpAQCAtMywyMCArMyw5IEBACiAjaW5jbHVkZSA8cHJpdmF0ZS9iaW9uaWNfYXNtLmg+CiAKIEVOVFJZKF9fcHRyYWNlKQotICAgIHN0cCAgICAgeDI5LCB4MzAsIFtzcCwgIy0xNl0hCi0gICAgLmNmaV9kZWZfY2ZhX29mZnNldCAxNgotICAgIC5jZmlfcmVsX29mZnNldCB4MjksIDAKLSAgICAuY2ZpX3JlbF9vZmZzZXQgeDMwLCA4Ci0gICAgbW92ICAgICB4MjksICBzcAotCiAgICAgbW92ICAgICB4OCwgX19OUl9wdHJhY2UKICAgICBzdmMgICAgICMwCiAKLSAgICBsZHAgICAgIHgyOSwgeDMwLCBbc3BdLCAjMTYKLSAgICAuY2ZpX2RlZl9jZmFfb2Zmc2V0IDAKLSAgICAuY2ZpX3Jlc3RvcmUgeDI5Ci0gICAgLmNmaV9yZXN0b3JlIHgzMAotCiAgICAgY21uICAgICB4MCwgIyhNQVhfRVJSTk8gKyAxKQogICAgIGNuZWcgICAgeDAsIHgwLCBoaQogICAgIGIuaGkgICAgX19zZXRfZXJybm8KZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9fX3JlYm9vdC5TIGIvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL19fcmVib290LlMKaW5kZXggYjFlYTQxOC4uZTI0NTUzYyAxMDA2NDQKLS0tIGEvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL19fcmVib290LlMKKysrIGIvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL19fcmVib290LlMKQEAgLTMsMjAgKzMsOSBAQAogI2luY2x1ZGUgPHByaXZhdGUvYmlvbmljX2FzbS5oPgogCiBFTlRSWShfX3JlYm9vdCkKLSAgICBzdHAgICAgIHgyOSwgeDMwLCBbc3AsICMtMTZdIQotICAgIC5jZmlfZGVmX2NmYV9vZmZzZXQgMTYKLSAgICAuY2ZpX3JlbF9vZmZzZXQgeDI5LCAwCi0gICAgLmNmaV9yZWxfb2Zmc2V0IHgzMCwgOAotICAgIG1vdiAgICAgeDI5LCAgc3AKLQogICAgIG1vdiAgICAgeDgsIF9fTlJfcmVib290CiAgICAgc3ZjICAgICAjMAogCi0gICAgbGRwICAgICB4MjksIHgzMCwgW3NwXSwgIzE2Ci0gICAgLmNmaV9kZWZfY2ZhX29mZnNldCAwCi0gICAgLmNmaV9yZXN0b3JlIHgyOQotICAgIC5jZmlfcmVzdG9yZSB4MzAKLQogICAgIGNtbiAgICAgeDAsICMoTUFYX0VSUk5PICsgMSkKICAgICBjbmVnICAgIHgwLCB4MCwgaGkKICAgICBiLmhpICAgIF9fc2V0X2Vycm5vCmRpZmYgLS1naXQgYS9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvX19ydF9zaWdhY3Rpb24uUyBiL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9fX3J0X3NpZ2FjdGlvbi5TCmluZGV4IDMzZTA3Y2IuLjNkODQ1NDQgMTAwNjQ0Ci0tLSBhL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9fX3J0X3NpZ2FjdGlvbi5TCisrKyBiL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9fX3J0X3NpZ2FjdGlvbi5TCkBAIC0zLDIwICszLDkgQEAKICNpbmNsdWRlIDxwcml2YXRlL2Jpb25pY19hc20uaD4KIAogRU5UUlkoX19ydF9zaWdhY3Rpb24pCi0gICAgc3RwICAgICB4MjksIHgzMCwgW3NwLCAjLTE2XSEKLSAgICAuY2ZpX2RlZl9jZmFfb2Zmc2V0IDE2Ci0gICAgLmNmaV9yZWxfb2Zmc2V0IHgyOSwgMAotICAgIC5jZmlfcmVsX29mZnNldCB4MzAsIDgKLSAgICBtb3YgICAgIHgyOSwgIHNwCi0KICAgICBtb3YgICAgIHg4LCBfX05SX3J0X3NpZ2FjdGlvbgogICAgIHN2YyAgICAgIzAKIAotICAgIGxkcCAgICAgeDI5LCB4MzAsIFtzcF0sICMxNgotICAgIC5jZmlfZGVmX2NmYV9vZmZzZXQgMAotICAgIC5jZmlfcmVzdG9yZSB4MjkKLSAgICAuY2ZpX3Jlc3RvcmUgeDMwCi0KICAgICBjbW4gICAgIHgwLCAjKE1BWF9FUlJOTyArIDEpCiAgICAgY25lZyAgICB4MCwgeDAsIGhpCiAgICAgYi5oaSAgICBfX3NldF9lcnJubwpkaWZmIC0tZ2l0IGEvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL19fcnRfc2lncGVuZGluZy5TIGIvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL19fcnRfc2lncGVuZGluZy5TCmluZGV4IGZhNjgxMmUuLjYwZjBhMTAgMTAwNjQ0Ci0tLSBhL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9fX3J0X3NpZ3BlbmRpbmcuUworKysgYi9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvX19ydF9zaWdwZW5kaW5nLlMKQEAgLTMsMjAgKzMsOSBAQAogI2luY2x1ZGUgPHByaXZhdGUvYmlvbmljX2FzbS5oPgogCiBFTlRSWShfX3J0X3NpZ3BlbmRpbmcpCi0gICAgc3RwICAgICB4MjksIHgzMCwgW3NwLCAjLTE2XSEKLSAgICAuY2ZpX2RlZl9jZmFfb2Zmc2V0IDE2Ci0gICAgLmNmaV9yZWxfb2Zmc2V0IHgyOSwgMAotICAgIC5jZmlfcmVsX29mZnNldCB4MzAsIDgKLSAgICBtb3YgICAgIHgyOSwgIHNwCi0KICAgICBtb3YgICAgIHg4LCBfX05SX3J0X3NpZ3BlbmRpbmcKICAgICBzdmMgICAgICMwCiAKLSAgICBsZHAgICAgIHgyOSwgeDMwLCBbc3BdLCAjMTYKLSAgICAuY2ZpX2RlZl9jZmFfb2Zmc2V0IDAKLSAgICAuY2ZpX3Jlc3RvcmUgeDI5Ci0gICAgLmNmaV9yZXN0b3JlIHgzMAotCiAgICAgY21uICAgICB4MCwgIyhNQVhfRVJSTk8gKyAxKQogICAgIGNuZWcgICAgeDAsIHgwLCBoaQogICAgIGIuaGkgICAgX19zZXRfZXJybm8KZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9fX3J0X3NpZ3Byb2NtYXNrLlMgYi9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvX19ydF9zaWdwcm9jbWFzay5TCmluZGV4IDUzN2Y4YmQuLjdmNWIzYWMgMTAwNjQ0Ci0tLSBhL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9fX3J0X3NpZ3Byb2NtYXNrLlMKKysrIGIvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL19fcnRfc2lncHJvY21hc2suUwpAQCAtMywyMCArMyw5IEBACiAjaW5jbHVkZSA8cHJpdmF0ZS9iaW9uaWNfYXNtLmg+CiAKIEVOVFJZKF9fcnRfc2lncHJvY21hc2spCi0gICAgc3RwICAgICB4MjksIHgzMCwgW3NwLCAjLTE2XSEKLSAgICAuY2ZpX2RlZl9jZmFfb2Zmc2V0IDE2Ci0gICAgLmNmaV9yZWxfb2Zmc2V0IHgyOSwgMAotICAgIC5jZmlfcmVsX29mZnNldCB4MzAsIDgKLSAgICBtb3YgICAgIHgyOSwgIHNwCi0KICAgICBtb3YgICAgIHg4LCBfX05SX3J0X3NpZ3Byb2NtYXNrCiAgICAgc3ZjICAgICAjMAogCi0gICAgbGRwICAgICB4MjksIHgzMCwgW3NwXSwgIzE2Ci0gICAgLmNmaV9kZWZfY2ZhX29mZnNldCAwCi0gICAgLmNmaV9yZXN0b3JlIHgyOQotICAgIC5jZmlfcmVzdG9yZSB4MzAKLQogICAgIGNtbiAgICAgeDAsICMoTUFYX0VSUk5PICsgMSkKICAgICBjbmVnICAgIHgwLCB4MCwgaGkKICAgICBiLmhpICAgIF9fc2V0X2Vycm5vCmRpZmYgLS1naXQgYS9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvX19ydF9zaWdzdXNwZW5kLlMgYi9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvX19ydF9zaWdzdXNwZW5kLlMKaW5kZXggYjhhOTljNi4uMDhiMTE5NyAxMDA2NDQKLS0tIGEvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL19fcnRfc2lnc3VzcGVuZC5TCisrKyBiL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9fX3J0X3NpZ3N1c3BlbmQuUwpAQCAtMywyMCArMyw5IEBACiAjaW5jbHVkZSA8cHJpdmF0ZS9iaW9uaWNfYXNtLmg+CiAKIEVOVFJZKF9fcnRfc2lnc3VzcGVuZCkKLSAgICBzdHAgICAgIHgyOSwgeDMwLCBbc3AsICMtMTZdIQotICAgIC5jZmlfZGVmX2NmYV9vZmZzZXQgMTYKLSAgICAuY2ZpX3JlbF9vZmZzZXQgeDI5LCAwCi0gICAgLmNmaV9yZWxfb2Zmc2V0IHgzMCwgOAotICAgIG1vdiAgICAgeDI5LCAgc3AKLQogICAgIG1vdiAgICAgeDgsIF9fTlJfcnRfc2lnc3VzcGVuZAogICAgIHN2YyAgICAgIzAKIAotICAgIGxkcCAgICAgeDI5LCB4MzAsIFtzcF0sICMxNgotICAgIC5jZmlfZGVmX2NmYV9vZmZzZXQgMAotICAgIC5jZmlfcmVzdG9yZSB4MjkKLSAgICAuY2ZpX3Jlc3RvcmUgeDMwCi0KICAgICBjbW4gICAgIHgwLCAjKE1BWF9FUlJOTyArIDEpCiAgICAgY25lZyAgICB4MCwgeDAsIGhpCiAgICAgYi5oaSAgICBfX3NldF9lcnJubwpkaWZmIC0tZ2l0IGEvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL19fcnRfc2lndGltZWR3YWl0LlMgYi9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvX19ydF9zaWd0aW1lZHdhaXQuUwppbmRleCA4Njk0NDJjLi44YmM5YTdhIDEwMDY0NAotLS0gYS9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvX19ydF9zaWd0aW1lZHdhaXQuUworKysgYi9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvX19ydF9zaWd0aW1lZHdhaXQuUwpAQCAtMywyMCArMyw5IEBACiAjaW5jbHVkZSA8cHJpdmF0ZS9iaW9uaWNfYXNtLmg+CiAKIEVOVFJZKF9fcnRfc2lndGltZWR3YWl0KQotICAgIHN0cCAgICAgeDI5LCB4MzAsIFtzcCwgIy0xNl0hCi0gICAgLmNmaV9kZWZfY2ZhX29mZnNldCAxNgotICAgIC5jZmlfcmVsX29mZnNldCB4MjksIDAKLSAgICAuY2ZpX3JlbF9vZmZzZXQgeDMwLCA4Ci0gICAgbW92ICAgICB4MjksICBzcAotCiAgICAgbW92ICAgICB4OCwgX19OUl9ydF9zaWd0aW1lZHdhaXQKICAgICBzdmMgICAgICMwCiAKLSAgICBsZHAgICAgIHgyOSwgeDMwLCBbc3BdLCAjMTYKLSAgICAuY2ZpX2RlZl9jZmFfb2Zmc2V0IDAKLSAgICAuY2ZpX3Jlc3RvcmUgeDI5Ci0gICAgLmNmaV9yZXN0b3JlIHgzMAotCiAgICAgY21uICAgICB4MCwgIyhNQVhfRVJSTk8gKyAxKQogICAgIGNuZWcgICAgeDAsIHgwLCBoaQogICAgIGIuaGkgICAgX19zZXRfZXJybm8KZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9fX3NjaGVkX2dldGFmZmluaXR5LlMgYi9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvX19zY2hlZF9nZXRhZmZpbml0eS5TCmluZGV4IDhjYTIzZDQuLmMwZDM5MmMgMTAwNjQ0Ci0tLSBhL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9fX3NjaGVkX2dldGFmZmluaXR5LlMKKysrIGIvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL19fc2NoZWRfZ2V0YWZmaW5pdHkuUwpAQCAtMywyMCArMyw5IEBACiAjaW5jbHVkZSA8cHJpdmF0ZS9iaW9uaWNfYXNtLmg+CiAKIEVOVFJZKF9fc2NoZWRfZ2V0YWZmaW5pdHkpCi0gICAgc3RwICAgICB4MjksIHgzMCwgW3NwLCAjLTE2XSEKLSAgICAuY2ZpX2RlZl9jZmFfb2Zmc2V0IDE2Ci0gICAgLmNmaV9yZWxfb2Zmc2V0IHgyOSwgMAotICAgIC5jZmlfcmVsX29mZnNldCB4MzAsIDgKLSAgICBtb3YgICAgIHgyOSwgIHNwCi0KICAgICBtb3YgICAgIHg4LCBfX05SX3NjaGVkX2dldGFmZmluaXR5CiAgICAgc3ZjICAgICAjMAogCi0gICAgbGRwICAgICB4MjksIHgzMCwgW3NwXSwgIzE2Ci0gICAgLmNmaV9kZWZfY2ZhX29mZnNldCAwCi0gICAgLmNmaV9yZXN0b3JlIHgyOQotICAgIC5jZmlfcmVzdG9yZSB4MzAKLQogICAgIGNtbiAgICAgeDAsICMoTUFYX0VSUk5PICsgMSkKICAgICBjbmVnICAgIHgwLCB4MCwgaGkKICAgICBiLmhpICAgIF9fc2V0X2Vycm5vCmRpZmYgLS1naXQgYS9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvX19zZXRfdGlkX2FkZHJlc3MuUyBiL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9fX3NldF90aWRfYWRkcmVzcy5TCmluZGV4IDU1MTRhZWQuLjI5NmM5MDcgMTAwNjQ0Ci0tLSBhL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9fX3NldF90aWRfYWRkcmVzcy5TCisrKyBiL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9fX3NldF90aWRfYWRkcmVzcy5TCkBAIC0zLDIwICszLDkgQEAKICNpbmNsdWRlIDxwcml2YXRlL2Jpb25pY19hc20uaD4KIAogRU5UUlkoX19zZXRfdGlkX2FkZHJlc3MpCi0gICAgc3RwICAgICB4MjksIHgzMCwgW3NwLCAjLTE2XSEKLSAgICAuY2ZpX2RlZl9jZmFfb2Zmc2V0IDE2Ci0gICAgLmNmaV9yZWxfb2Zmc2V0IHgyOSwgMAotICAgIC5jZmlfcmVsX29mZnNldCB4MzAsIDgKLSAgICBtb3YgICAgIHgyOSwgIHNwCi0KICAgICBtb3YgICAgIHg4LCBfX05SX3NldF90aWRfYWRkcmVzcwogICAgIHN2YyAgICAgIzAKIAotICAgIGxkcCAgICAgeDI5LCB4MzAsIFtzcF0sICMxNgotICAgIC5jZmlfZGVmX2NmYV9vZmZzZXQgMAotICAgIC5jZmlfcmVzdG9yZSB4MjkKLSAgICAuY2ZpX3Jlc3RvcmUgeDMwCi0KICAgICBjbW4gICAgIHgwLCAjKE1BWF9FUlJOTyArIDEpCiAgICAgY25lZyAgICB4MCwgeDAsIGhpCiAgICAgYi5oaSAgICBfX3NldF9lcnJubwpkaWZmIC0tZ2l0IGEvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL19fc2lnbmFsZmQ0LlMgYi9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvX19zaWduYWxmZDQuUwppbmRleCBlYTQ5ZmM1Li4zOTMyMDAzIDEwMDY0NAotLS0gYS9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvX19zaWduYWxmZDQuUworKysgYi9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvX19zaWduYWxmZDQuUwpAQCAtMywyMCArMyw5IEBACiAjaW5jbHVkZSA8cHJpdmF0ZS9iaW9uaWNfYXNtLmg+CiAKIEVOVFJZKF9fc2lnbmFsZmQ0KQotICAgIHN0cCAgICAgeDI5LCB4MzAsIFtzcCwgIy0xNl0hCi0gICAgLmNmaV9kZWZfY2ZhX29mZnNldCAxNgotICAgIC5jZmlfcmVsX29mZnNldCB4MjksIDAKLSAgICAuY2ZpX3JlbF9vZmZzZXQgeDMwLCA4Ci0gICAgbW92ICAgICB4MjksICBzcAotCiAgICAgbW92ICAgICB4OCwgX19OUl9zaWduYWxmZDQKICAgICBzdmMgICAgICMwCiAKLSAgICBsZHAgICAgIHgyOSwgeDMwLCBbc3BdLCAjMTYKLSAgICAuY2ZpX2RlZl9jZmFfb2Zmc2V0IDAKLSAgICAuY2ZpX3Jlc3RvcmUgeDI5Ci0gICAgLmNmaV9yZXN0b3JlIHgzMAotCiAgICAgY21uICAgICB4MCwgIyhNQVhfRVJSTk8gKyAxKQogICAgIGNuZWcgICAgeDAsIHgwLCBoaQogICAgIGIuaGkgICAgX19zZXRfZXJybm8KZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9fX3NvY2tldC5TIGIvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL19fc29ja2V0LlMKaW5kZXggZjk2YTFhYi4uZGI3ZjJhYSAxMDA2NDQKLS0tIGEvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL19fc29ja2V0LlMKKysrIGIvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL19fc29ja2V0LlMKQEAgLTMsMjAgKzMsOSBAQAogI2luY2x1ZGUgPHByaXZhdGUvYmlvbmljX2FzbS5oPgogCiBFTlRSWShfX3NvY2tldCkKLSAgICBzdHAgICAgIHgyOSwgeDMwLCBbc3AsICMtMTZdIQotICAgIC5jZmlfZGVmX2NmYV9vZmZzZXQgMTYKLSAgICAuY2ZpX3JlbF9vZmZzZXQgeDI5LCAwCi0gICAgLmNmaV9yZWxfb2Zmc2V0IHgzMCwgOAotICAgIG1vdiAgICAgeDI5LCAgc3AKLQogICAgIG1vdiAgICAgeDgsIF9fTlJfc29ja2V0CiAgICAgc3ZjICAgICAjMAogCi0gICAgbGRwICAgICB4MjksIHgzMCwgW3NwXSwgIzE2Ci0gICAgLmNmaV9kZWZfY2ZhX29mZnNldCAwCi0gICAgLmNmaV9yZXN0b3JlIHgyOQotICAgIC5jZmlfcmVzdG9yZSB4MzAKLQogICAgIGNtbiAgICAgeDAsICMoTUFYX0VSUk5PICsgMSkKICAgICBjbmVnICAgIHgwLCB4MCwgaGkKICAgICBiLmhpICAgIF9fc2V0X2Vycm5vCmRpZmYgLS1naXQgYS9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvX190aW1lcl9jcmVhdGUuUyBiL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9fX3RpbWVyX2NyZWF0ZS5TCmluZGV4IDg3MTgzYjQuLmE1ZTY5ZTMgMTAwNjQ0Ci0tLSBhL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9fX3RpbWVyX2NyZWF0ZS5TCisrKyBiL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9fX3RpbWVyX2NyZWF0ZS5TCkBAIC0zLDIwICszLDkgQEAKICNpbmNsdWRlIDxwcml2YXRlL2Jpb25pY19hc20uaD4KIAogRU5UUlkoX190aW1lcl9jcmVhdGUpCi0gICAgc3RwICAgICB4MjksIHgzMCwgW3NwLCAjLTE2XSEKLSAgICAuY2ZpX2RlZl9jZmFfb2Zmc2V0IDE2Ci0gICAgLmNmaV9yZWxfb2Zmc2V0IHgyOSwgMAotICAgIC5jZmlfcmVsX29mZnNldCB4MzAsIDgKLSAgICBtb3YgICAgIHgyOSwgIHNwCi0KICAgICBtb3YgICAgIHg4LCBfX05SX3RpbWVyX2NyZWF0ZQogICAgIHN2YyAgICAgIzAKIAotICAgIGxkcCAgICAgeDI5LCB4MzAsIFtzcF0sICMxNgotICAgIC5jZmlfZGVmX2NmYV9vZmZzZXQgMAotICAgIC5jZmlfcmVzdG9yZSB4MjkKLSAgICAuY2ZpX3Jlc3RvcmUgeDMwCi0KICAgICBjbW4gICAgIHgwLCAjKE1BWF9FUlJOTyArIDEpCiAgICAgY25lZyAgICB4MCwgeDAsIGhpCiAgICAgYi5oaSAgICBfX3NldF9lcnJubwpkaWZmIC0tZ2l0IGEvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL19fdGltZXJfZGVsZXRlLlMgYi9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvX190aW1lcl9kZWxldGUuUwppbmRleCBjMjFlYzRmLi40NGE3NDgxIDEwMDY0NAotLS0gYS9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvX190aW1lcl9kZWxldGUuUworKysgYi9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvX190aW1lcl9kZWxldGUuUwpAQCAtMywyMCArMyw5IEBACiAjaW5jbHVkZSA8cHJpdmF0ZS9iaW9uaWNfYXNtLmg+CiAKIEVOVFJZKF9fdGltZXJfZGVsZXRlKQotICAgIHN0cCAgICAgeDI5LCB4MzAsIFtzcCwgIy0xNl0hCi0gICAgLmNmaV9kZWZfY2ZhX29mZnNldCAxNgotICAgIC5jZmlfcmVsX29mZnNldCB4MjksIDAKLSAgICAuY2ZpX3JlbF9vZmZzZXQgeDMwLCA4Ci0gICAgbW92ICAgICB4MjksICBzcAotCiAgICAgbW92ICAgICB4OCwgX19OUl90aW1lcl9kZWxldGUKICAgICBzdmMgICAgICMwCiAKLSAgICBsZHAgICAgIHgyOSwgeDMwLCBbc3BdLCAjMTYKLSAgICAuY2ZpX2RlZl9jZmFfb2Zmc2V0IDAKLSAgICAuY2ZpX3Jlc3RvcmUgeDI5Ci0gICAgLmNmaV9yZXN0b3JlIHgzMAotCiAgICAgY21uICAgICB4MCwgIyhNQVhfRVJSTk8gKyAxKQogICAgIGNuZWcgICAgeDAsIHgwLCBoaQogICAgIGIuaGkgICAgX19zZXRfZXJybm8KZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9fX3RpbWVyX2dldG92ZXJydW4uUyBiL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9fX3RpbWVyX2dldG92ZXJydW4uUwppbmRleCA0N2YxZWY5Li5lMWQ5NTlhIDEwMDY0NAotLS0gYS9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvX190aW1lcl9nZXRvdmVycnVuLlMKKysrIGIvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL19fdGltZXJfZ2V0b3ZlcnJ1bi5TCkBAIC0zLDIwICszLDkgQEAKICNpbmNsdWRlIDxwcml2YXRlL2Jpb25pY19hc20uaD4KIAogRU5UUlkoX190aW1lcl9nZXRvdmVycnVuKQotICAgIHN0cCAgICAgeDI5LCB4MzAsIFtzcCwgIy0xNl0hCi0gICAgLmNmaV9kZWZfY2ZhX29mZnNldCAxNgotICAgIC5jZmlfcmVsX29mZnNldCB4MjksIDAKLSAgICAuY2ZpX3JlbF9vZmZzZXQgeDMwLCA4Ci0gICAgbW92ICAgICB4MjksICBzcAotCiAgICAgbW92ICAgICB4OCwgX19OUl90aW1lcl9nZXRvdmVycnVuCiAgICAgc3ZjICAgICAjMAogCi0gICAgbGRwICAgICB4MjksIHgzMCwgW3NwXSwgIzE2Ci0gICAgLmNmaV9kZWZfY2ZhX29mZnNldCAwCi0gICAgLmNmaV9yZXN0b3JlIHgyOQotICAgIC5jZmlfcmVzdG9yZSB4MzAKLQogICAgIGNtbiAgICAgeDAsICMoTUFYX0VSUk5PICsgMSkKICAgICBjbmVnICAgIHgwLCB4MCwgaGkKICAgICBiLmhpICAgIF9fc2V0X2Vycm5vCmRpZmYgLS1naXQgYS9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvX190aW1lcl9nZXR0aW1lLlMgYi9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvX190aW1lcl9nZXR0aW1lLlMKaW5kZXggNGVhYTY1NS4uNzYzMjI5MCAxMDA2NDQKLS0tIGEvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL19fdGltZXJfZ2V0dGltZS5TCisrKyBiL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9fX3RpbWVyX2dldHRpbWUuUwpAQCAtMywyMCArMyw5IEBACiAjaW5jbHVkZSA8cHJpdmF0ZS9iaW9uaWNfYXNtLmg+CiAKIEVOVFJZKF9fdGltZXJfZ2V0dGltZSkKLSAgICBzdHAgICAgIHgyOSwgeDMwLCBbc3AsICMtMTZdIQotICAgIC5jZmlfZGVmX2NmYV9vZmZzZXQgMTYKLSAgICAuY2ZpX3JlbF9vZmZzZXQgeDI5LCAwCi0gICAgLmNmaV9yZWxfb2Zmc2V0IHgzMCwgOAotICAgIG1vdiAgICAgeDI5LCAgc3AKLQogICAgIG1vdiAgICAgeDgsIF9fTlJfdGltZXJfZ2V0dGltZQogICAgIHN2YyAgICAgIzAKIAotICAgIGxkcCAgICAgeDI5LCB4MzAsIFtzcF0sICMxNgotICAgIC5jZmlfZGVmX2NmYV9vZmZzZXQgMAotICAgIC5jZmlfcmVzdG9yZSB4MjkKLSAgICAuY2ZpX3Jlc3RvcmUgeDMwCi0KICAgICBjbW4gICAgIHgwLCAjKE1BWF9FUlJOTyArIDEpCiAgICAgY25lZyAgICB4MCwgeDAsIGhpCiAgICAgYi5oaSAgICBfX3NldF9lcnJubwpkaWZmIC0tZ2l0IGEvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL19fdGltZXJfc2V0dGltZS5TIGIvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL19fdGltZXJfc2V0dGltZS5TCmluZGV4IGFlZjBjYzQuLjkyZTRhNzYgMTAwNjQ0Ci0tLSBhL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9fX3RpbWVyX3NldHRpbWUuUworKysgYi9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvX190aW1lcl9zZXR0aW1lLlMKQEAgLTMsMjAgKzMsOSBAQAogI2luY2x1ZGUgPHByaXZhdGUvYmlvbmljX2FzbS5oPgogCiBFTlRSWShfX3RpbWVyX3NldHRpbWUpCi0gICAgc3RwICAgICB4MjksIHgzMCwgW3NwLCAjLTE2XSEKLSAgICAuY2ZpX2RlZl9jZmFfb2Zmc2V0IDE2Ci0gICAgLmNmaV9yZWxfb2Zmc2V0IHgyOSwgMAotICAgIC5jZmlfcmVsX29mZnNldCB4MzAsIDgKLSAgICBtb3YgICAgIHgyOSwgIHNwCi0KICAgICBtb3YgICAgIHg4LCBfX05SX3RpbWVyX3NldHRpbWUKICAgICBzdmMgICAgICMwCiAKLSAgICBsZHAgICAgIHgyOSwgeDMwLCBbc3BdLCAjMTYKLSAgICAuY2ZpX2RlZl9jZmFfb2Zmc2V0IDAKLSAgICAuY2ZpX3Jlc3RvcmUgeDI5Ci0gICAgLmNmaV9yZXN0b3JlIHgzMAotCiAgICAgY21uICAgICB4MCwgIyhNQVhfRVJSTk8gKyAxKQogICAgIGNuZWcgICAgeDAsIHgwLCBoaQogICAgIGIuaGkgICAgX19zZXRfZXJybm8KZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9fX3dhaXRpZC5TIGIvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL19fd2FpdGlkLlMKaW5kZXggNmQ5ZTk0MC4uOTI2NzIzOSAxMDA2NDQKLS0tIGEvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL19fd2FpdGlkLlMKKysrIGIvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL19fd2FpdGlkLlMKQEAgLTMsMjAgKzMsOSBAQAogI2luY2x1ZGUgPHByaXZhdGUvYmlvbmljX2FzbS5oPgogCiBFTlRSWShfX3dhaXRpZCkKLSAgICBzdHAgICAgIHgyOSwgeDMwLCBbc3AsICMtMTZdIQotICAgIC5jZmlfZGVmX2NmYV9vZmZzZXQgMTYKLSAgICAuY2ZpX3JlbF9vZmZzZXQgeDI5LCAwCi0gICAgLmNmaV9yZWxfb2Zmc2V0IHgzMCwgOAotICAgIG1vdiAgICAgeDI5LCAgc3AKLQogICAgIG1vdiAgICAgeDgsIF9fTlJfd2FpdGlkCiAgICAgc3ZjICAgICAjMAogCi0gICAgbGRwICAgICB4MjksIHgzMCwgW3NwXSwgIzE2Ci0gICAgLmNmaV9kZWZfY2ZhX29mZnNldCAwCi0gICAgLmNmaV9yZXN0b3JlIHgyOQotICAgIC5jZmlfcmVzdG9yZSB4MzAKLQogICAgIGNtbiAgICAgeDAsICMoTUFYX0VSUk5PICsgMSkKICAgICBjbmVnICAgIHgwLCB4MCwgaGkKICAgICBiLmhpICAgIF9fc2V0X2Vycm5vCmRpZmYgLS1naXQgYS9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvX2V4aXQuUyBiL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9fZXhpdC5TCmluZGV4IDM3ZDE0OTkuLjM4YjA3M2IgMTAwNjQ0Ci0tLSBhL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9fZXhpdC5TCisrKyBiL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9fZXhpdC5TCkBAIC0zLDIwICszLDkgQEAKICNpbmNsdWRlIDxwcml2YXRlL2Jpb25pY19hc20uaD4KIAogRU5UUlkoX2V4aXQpCi0gICAgc3RwICAgICB4MjksIHgzMCwgW3NwLCAjLTE2XSEKLSAgICAuY2ZpX2RlZl9jZmFfb2Zmc2V0IDE2Ci0gICAgLmNmaV9yZWxfb2Zmc2V0IHgyOSwgMAotICAgIC5jZmlfcmVsX29mZnNldCB4MzAsIDgKLSAgICBtb3YgICAgIHgyOSwgIHNwCi0KICAgICBtb3YgICAgIHg4LCBfX05SX2V4aXRfZ3JvdXAKICAgICBzdmMgICAgICMwCiAKLSAgICBsZHAgICAgIHgyOSwgeDMwLCBbc3BdLCAjMTYKLSAgICAuY2ZpX2RlZl9jZmFfb2Zmc2V0IDAKLSAgICAuY2ZpX3Jlc3RvcmUgeDI5Ci0gICAgLmNmaV9yZXN0b3JlIHgzMAotCiAgICAgY21uICAgICB4MCwgIyhNQVhfRVJSTk8gKyAxKQogICAgIGNuZWcgICAgeDAsIHgwLCBoaQogICAgIGIuaGkgICAgX19zZXRfZXJybm8KZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9hY2N0LlMgYi9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvYWNjdC5TCmluZGV4IGYzOTFjZDguLjE1ZTMwODYgMTAwNjQ0Ci0tLSBhL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9hY2N0LlMKKysrIGIvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL2FjY3QuUwpAQCAtMywyMCArMyw5IEBACiAjaW5jbHVkZSA8cHJpdmF0ZS9iaW9uaWNfYXNtLmg+CiAKIEVOVFJZKGFjY3QpCi0gICAgc3RwICAgICB4MjksIHgzMCwgW3NwLCAjLTE2XSEKLSAgICAuY2ZpX2RlZl9jZmFfb2Zmc2V0IDE2Ci0gICAgLmNmaV9yZWxfb2Zmc2V0IHgyOSwgMAotICAgIC5jZmlfcmVsX29mZnNldCB4MzAsIDgKLSAgICBtb3YgICAgIHgyOSwgIHNwCi0KICAgICBtb3YgICAgIHg4LCBfX05SX2FjY3QKICAgICBzdmMgICAgICMwCiAKLSAgICBsZHAgICAgIHgyOSwgeDMwLCBbc3BdLCAjMTYKLSAgICAuY2ZpX2RlZl9jZmFfb2Zmc2V0IDAKLSAgICAuY2ZpX3Jlc3RvcmUgeDI5Ci0gICAgLmNmaV9yZXN0b3JlIHgzMAotCiAgICAgY21uICAgICB4MCwgIyhNQVhfRVJSTk8gKyAxKQogICAgIGNuZWcgICAgeDAsIHgwLCBoaQogICAgIGIuaGkgICAgX19zZXRfZXJybm8KZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9iaW5kLlMgYi9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvYmluZC5TCmluZGV4IDEwZGQwMWYuLmIzOTI1ZGIgMTAwNjQ0Ci0tLSBhL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9iaW5kLlMKKysrIGIvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL2JpbmQuUwpAQCAtMywyMCArMyw5IEBACiAjaW5jbHVkZSA8cHJpdmF0ZS9iaW9uaWNfYXNtLmg+CiAKIEVOVFJZKGJpbmQpCi0gICAgc3RwICAgICB4MjksIHgzMCwgW3NwLCAjLTE2XSEKLSAgICAuY2ZpX2RlZl9jZmFfb2Zmc2V0IDE2Ci0gICAgLmNmaV9yZWxfb2Zmc2V0IHgyOSwgMAotICAgIC5jZmlfcmVsX29mZnNldCB4MzAsIDgKLSAgICBtb3YgICAgIHgyOSwgIHNwCi0KICAgICBtb3YgICAgIHg4LCBfX05SX2JpbmQKICAgICBzdmMgICAgICMwCiAKLSAgICBsZHAgICAgIHgyOSwgeDMwLCBbc3BdLCAjMTYKLSAgICAuY2ZpX2RlZl9jZmFfb2Zmc2V0IDAKLSAgICAuY2ZpX3Jlc3RvcmUgeDI5Ci0gICAgLmNmaV9yZXN0b3JlIHgzMAotCiAgICAgY21uICAgICB4MCwgIyhNQVhfRVJSTk8gKyAxKQogICAgIGNuZWcgICAgeDAsIHgwLCBoaQogICAgIGIuaGkgICAgX19zZXRfZXJybm8KZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9jYXBnZXQuUyBiL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9jYXBnZXQuUwppbmRleCBkMDFkYzQ3Li5iODk3ZTVkIDEwMDY0NAotLS0gYS9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvY2FwZ2V0LlMKKysrIGIvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL2NhcGdldC5TCkBAIC0zLDIwICszLDkgQEAKICNpbmNsdWRlIDxwcml2YXRlL2Jpb25pY19hc20uaD4KIAogRU5UUlkoY2FwZ2V0KQotICAgIHN0cCAgICAgeDI5LCB4MzAsIFtzcCwgIy0xNl0hCi0gICAgLmNmaV9kZWZfY2ZhX29mZnNldCAxNgotICAgIC5jZmlfcmVsX29mZnNldCB4MjksIDAKLSAgICAuY2ZpX3JlbF9vZmZzZXQgeDMwLCA4Ci0gICAgbW92ICAgICB4MjksICBzcAotCiAgICAgbW92ICAgICB4OCwgX19OUl9jYXBnZXQKICAgICBzdmMgICAgICMwCiAKLSAgICBsZHAgICAgIHgyOSwgeDMwLCBbc3BdLCAjMTYKLSAgICAuY2ZpX2RlZl9jZmFfb2Zmc2V0IDAKLSAgICAuY2ZpX3Jlc3RvcmUgeDI5Ci0gICAgLmNmaV9yZXN0b3JlIHgzMAotCiAgICAgY21uICAgICB4MCwgIyhNQVhfRVJSTk8gKyAxKQogICAgIGNuZWcgICAgeDAsIHgwLCBoaQogICAgIGIuaGkgICAgX19zZXRfZXJybm8KZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9jYXBzZXQuUyBiL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9jYXBzZXQuUwppbmRleCBjNGVkOTJlLi4xZDk0YWEzIDEwMDY0NAotLS0gYS9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvY2Fwc2V0LlMKKysrIGIvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL2NhcHNldC5TCkBAIC0zLDIwICszLDkgQEAKICNpbmNsdWRlIDxwcml2YXRlL2Jpb25pY19hc20uaD4KIAogRU5UUlkoY2Fwc2V0KQotICAgIHN0cCAgICAgeDI5LCB4MzAsIFtzcCwgIy0xNl0hCi0gICAgLmNmaV9kZWZfY2ZhX29mZnNldCAxNgotICAgIC5jZmlfcmVsX29mZnNldCB4MjksIDAKLSAgICAuY2ZpX3JlbF9vZmZzZXQgeDMwLCA4Ci0gICAgbW92ICAgICB4MjksICBzcAotCiAgICAgbW92ICAgICB4OCwgX19OUl9jYXBzZXQKICAgICBzdmMgICAgICMwCiAKLSAgICBsZHAgICAgIHgyOSwgeDMwLCBbc3BdLCAjMTYKLSAgICAuY2ZpX2RlZl9jZmFfb2Zmc2V0IDAKLSAgICAuY2ZpX3Jlc3RvcmUgeDI5Ci0gICAgLmNmaV9yZXN0b3JlIHgzMAotCiAgICAgY21uICAgICB4MCwgIyhNQVhfRVJSTk8gKyAxKQogICAgIGNuZWcgICAgeDAsIHgwLCBoaQogICAgIGIuaGkgICAgX19zZXRfZXJybm8KZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9jaGRpci5TIGIvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL2NoZGlyLlMKaW5kZXggNmYxYmFmMC4uYTdiZjZjMiAxMDA2NDQKLS0tIGEvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL2NoZGlyLlMKKysrIGIvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL2NoZGlyLlMKQEAgLTMsMjAgKzMsOSBAQAogI2luY2x1ZGUgPHByaXZhdGUvYmlvbmljX2FzbS5oPgogCiBFTlRSWShjaGRpcikKLSAgICBzdHAgICAgIHgyOSwgeDMwLCBbc3AsICMtMTZdIQotICAgIC5jZmlfZGVmX2NmYV9vZmZzZXQgMTYKLSAgICAuY2ZpX3JlbF9vZmZzZXQgeDI5LCAwCi0gICAgLmNmaV9yZWxfb2Zmc2V0IHgzMCwgOAotICAgIG1vdiAgICAgeDI5LCAgc3AKLQogICAgIG1vdiAgICAgeDgsIF9fTlJfY2hkaXIKICAgICBzdmMgICAgICMwCiAKLSAgICBsZHAgICAgIHgyOSwgeDMwLCBbc3BdLCAjMTYKLSAgICAuY2ZpX2RlZl9jZmFfb2Zmc2V0IDAKLSAgICAuY2ZpX3Jlc3RvcmUgeDI5Ci0gICAgLmNmaV9yZXN0b3JlIHgzMAotCiAgICAgY21uICAgICB4MCwgIyhNQVhfRVJSTk8gKyAxKQogICAgIGNuZWcgICAgeDAsIHgwLCBoaQogICAgIGIuaGkgICAgX19zZXRfZXJybm8KZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9jaHJvb3QuUyBiL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9jaHJvb3QuUwppbmRleCBiMTVmMDRhLi45OGJkNWQxIDEwMDY0NAotLS0gYS9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvY2hyb290LlMKKysrIGIvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL2Nocm9vdC5TCkBAIC0zLDIwICszLDkgQEAKICNpbmNsdWRlIDxwcml2YXRlL2Jpb25pY19hc20uaD4KIAogRU5UUlkoY2hyb290KQotICAgIHN0cCAgICAgeDI5LCB4MzAsIFtzcCwgIy0xNl0hCi0gICAgLmNmaV9kZWZfY2ZhX29mZnNldCAxNgotICAgIC5jZmlfcmVsX29mZnNldCB4MjksIDAKLSAgICAuY2ZpX3JlbF9vZmZzZXQgeDMwLCA4Ci0gICAgbW92ICAgICB4MjksICBzcAotCiAgICAgbW92ICAgICB4OCwgX19OUl9jaHJvb3QKICAgICBzdmMgICAgICMwCiAKLSAgICBsZHAgICAgIHgyOSwgeDMwLCBbc3BdLCAjMTYKLSAgICAuY2ZpX2RlZl9jZmFfb2Zmc2V0IDAKLSAgICAuY2ZpX3Jlc3RvcmUgeDI5Ci0gICAgLmNmaV9yZXN0b3JlIHgzMAotCiAgICAgY21uICAgICB4MCwgIyhNQVhfRVJSTk8gKyAxKQogICAgIGNuZWcgICAgeDAsIHgwLCBoaQogICAgIGIuaGkgICAgX19zZXRfZXJybm8KZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9jbG9ja19nZXRyZXMuUyBiL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9jbG9ja19nZXRyZXMuUwppbmRleCBiMThjMTBiLi5iNmU3ZTU2IDEwMDY0NAotLS0gYS9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvY2xvY2tfZ2V0cmVzLlMKKysrIGIvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL2Nsb2NrX2dldHJlcy5TCkBAIC0zLDIwICszLDkgQEAKICNpbmNsdWRlIDxwcml2YXRlL2Jpb25pY19hc20uaD4KIAogRU5UUlkoY2xvY2tfZ2V0cmVzKQotICAgIHN0cCAgICAgeDI5LCB4MzAsIFtzcCwgIy0xNl0hCi0gICAgLmNmaV9kZWZfY2ZhX29mZnNldCAxNgotICAgIC5jZmlfcmVsX29mZnNldCB4MjksIDAKLSAgICAuY2ZpX3JlbF9vZmZzZXQgeDMwLCA4Ci0gICAgbW92ICAgICB4MjksICBzcAotCiAgICAgbW92ICAgICB4OCwgX19OUl9jbG9ja19nZXRyZXMKICAgICBzdmMgICAgICMwCiAKLSAgICBsZHAgICAgIHgyOSwgeDMwLCBbc3BdLCAjMTYKLSAgICAuY2ZpX2RlZl9jZmFfb2Zmc2V0IDAKLSAgICAuY2ZpX3Jlc3RvcmUgeDI5Ci0gICAgLmNmaV9yZXN0b3JlIHgzMAotCiAgICAgY21uICAgICB4MCwgIyhNQVhfRVJSTk8gKyAxKQogICAgIGNuZWcgICAgeDAsIHgwLCBoaQogICAgIGIuaGkgICAgX19zZXRfZXJybm8KZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9jbG9ja19nZXR0aW1lLlMgYi9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvY2xvY2tfZ2V0dGltZS5TCmluZGV4IGIzNTE4YzEuLmZmZGRlNTcgMTAwNjQ0Ci0tLSBhL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9jbG9ja19nZXR0aW1lLlMKKysrIGIvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL2Nsb2NrX2dldHRpbWUuUwpAQCAtMywyMCArMyw5IEBACiAjaW5jbHVkZSA8cHJpdmF0ZS9iaW9uaWNfYXNtLmg+CiAKIEVOVFJZKGNsb2NrX2dldHRpbWUpCi0gICAgc3RwICAgICB4MjksIHgzMCwgW3NwLCAjLTE2XSEKLSAgICAuY2ZpX2RlZl9jZmFfb2Zmc2V0IDE2Ci0gICAgLmNmaV9yZWxfb2Zmc2V0IHgyOSwgMAotICAgIC5jZmlfcmVsX29mZnNldCB4MzAsIDgKLSAgICBtb3YgICAgIHgyOSwgIHNwCi0KICAgICBtb3YgICAgIHg4LCBfX05SX2Nsb2NrX2dldHRpbWUKICAgICBzdmMgICAgICMwCiAKLSAgICBsZHAgICAgIHgyOSwgeDMwLCBbc3BdLCAjMTYKLSAgICAuY2ZpX2RlZl9jZmFfb2Zmc2V0IDAKLSAgICAuY2ZpX3Jlc3RvcmUgeDI5Ci0gICAgLmNmaV9yZXN0b3JlIHgzMAotCiAgICAgY21uICAgICB4MCwgIyhNQVhfRVJSTk8gKyAxKQogICAgIGNuZWcgICAgeDAsIHgwLCBoaQogICAgIGIuaGkgICAgX19zZXRfZXJybm8KZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9jbG9ja19uYW5vc2xlZXAuUyBiL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9jbG9ja19uYW5vc2xlZXAuUwppbmRleCBlZGRmNmYxLi5iNjRmZjY4IDEwMDY0NAotLS0gYS9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvY2xvY2tfbmFub3NsZWVwLlMKKysrIGIvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL2Nsb2NrX25hbm9zbGVlcC5TCkBAIC0zLDIwICszLDkgQEAKICNpbmNsdWRlIDxwcml2YXRlL2Jpb25pY19hc20uaD4KIAogRU5UUlkoY2xvY2tfbmFub3NsZWVwKQotICAgIHN0cCAgICAgeDI5LCB4MzAsIFtzcCwgIy0xNl0hCi0gICAgLmNmaV9kZWZfY2ZhX29mZnNldCAxNgotICAgIC5jZmlfcmVsX29mZnNldCB4MjksIDAKLSAgICAuY2ZpX3JlbF9vZmZzZXQgeDMwLCA4Ci0gICAgbW92ICAgICB4MjksICBzcAotCiAgICAgbW92ICAgICB4OCwgX19OUl9jbG9ja19uYW5vc2xlZXAKICAgICBzdmMgICAgICMwCiAKLSAgICBsZHAgICAgIHgyOSwgeDMwLCBbc3BdLCAjMTYKLSAgICAuY2ZpX2RlZl9jZmFfb2Zmc2V0IDAKLSAgICAuY2ZpX3Jlc3RvcmUgeDI5Ci0gICAgLmNmaV9yZXN0b3JlIHgzMAotCiAgICAgY21uICAgICB4MCwgIyhNQVhfRVJSTk8gKyAxKQogICAgIGNuZWcgICAgeDAsIHgwLCBoaQogICAgIGIuaGkgICAgX19zZXRfZXJybm8KZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9jbG9ja19zZXR0aW1lLlMgYi9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvY2xvY2tfc2V0dGltZS5TCmluZGV4IGM2YmE1YzAuLmFkYzE2ODAgMTAwNjQ0Ci0tLSBhL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9jbG9ja19zZXR0aW1lLlMKKysrIGIvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL2Nsb2NrX3NldHRpbWUuUwpAQCAtMywyMCArMyw5IEBACiAjaW5jbHVkZSA8cHJpdmF0ZS9iaW9uaWNfYXNtLmg+CiAKIEVOVFJZKGNsb2NrX3NldHRpbWUpCi0gICAgc3RwICAgICB4MjksIHgzMCwgW3NwLCAjLTE2XSEKLSAgICAuY2ZpX2RlZl9jZmFfb2Zmc2V0IDE2Ci0gICAgLmNmaV9yZWxfb2Zmc2V0IHgyOSwgMAotICAgIC5jZmlfcmVsX29mZnNldCB4MzAsIDgKLSAgICBtb3YgICAgIHgyOSwgIHNwCi0KICAgICBtb3YgICAgIHg4LCBfX05SX2Nsb2NrX3NldHRpbWUKICAgICBzdmMgICAgICMwCiAKLSAgICBsZHAgICAgIHgyOSwgeDMwLCBbc3BdLCAjMTYKLSAgICAuY2ZpX2RlZl9jZmFfb2Zmc2V0IDAKLSAgICAuY2ZpX3Jlc3RvcmUgeDI5Ci0gICAgLmNmaV9yZXN0b3JlIHgzMAotCiAgICAgY21uICAgICB4MCwgIyhNQVhfRVJSTk8gKyAxKQogICAgIGNuZWcgICAgeDAsIHgwLCBoaQogICAgIGIuaGkgICAgX19zZXRfZXJybm8KZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9jbG9zZS5TIGIvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL2Nsb3NlLlMKaW5kZXggYTYyMzg5NS4uYjRiNzJkOSAxMDA2NDQKLS0tIGEvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL2Nsb3NlLlMKKysrIGIvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL2Nsb3NlLlMKQEAgLTMsMjAgKzMsOSBAQAogI2luY2x1ZGUgPHByaXZhdGUvYmlvbmljX2FzbS5oPgogCiBFTlRSWShjbG9zZSkKLSAgICBzdHAgICAgIHgyOSwgeDMwLCBbc3AsICMtMTZdIQotICAgIC5jZmlfZGVmX2NmYV9vZmZzZXQgMTYKLSAgICAuY2ZpX3JlbF9vZmZzZXQgeDI5LCAwCi0gICAgLmNmaV9yZWxfb2Zmc2V0IHgzMCwgOAotICAgIG1vdiAgICAgeDI5LCAgc3AKLQogICAgIG1vdiAgICAgeDgsIF9fTlJfY2xvc2UKICAgICBzdmMgICAgICMwCiAKLSAgICBsZHAgICAgIHgyOSwgeDMwLCBbc3BdLCAjMTYKLSAgICAuY2ZpX2RlZl9jZmFfb2Zmc2V0IDAKLSAgICAuY2ZpX3Jlc3RvcmUgeDI5Ci0gICAgLmNmaV9yZXN0b3JlIHgzMAotCiAgICAgY21uICAgICB4MCwgIyhNQVhfRVJSTk8gKyAxKQogICAgIGNuZWcgICAgeDAsIHgwLCBoaQogICAgIGIuaGkgICAgX19zZXRfZXJybm8KZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9kZWxldGVfbW9kdWxlLlMgYi9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvZGVsZXRlX21vZHVsZS5TCmluZGV4IGE1NzUxN2QuLmVkNTE4NDcgMTAwNjQ0Ci0tLSBhL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9kZWxldGVfbW9kdWxlLlMKKysrIGIvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL2RlbGV0ZV9tb2R1bGUuUwpAQCAtMywyMCArMyw5IEBACiAjaW5jbHVkZSA8cHJpdmF0ZS9iaW9uaWNfYXNtLmg+CiAKIEVOVFJZKGRlbGV0ZV9tb2R1bGUpCi0gICAgc3RwICAgICB4MjksIHgzMCwgW3NwLCAjLTE2XSEKLSAgICAuY2ZpX2RlZl9jZmFfb2Zmc2V0IDE2Ci0gICAgLmNmaV9yZWxfb2Zmc2V0IHgyOSwgMAotICAgIC5jZmlfcmVsX29mZnNldCB4MzAsIDgKLSAgICBtb3YgICAgIHgyOSwgIHNwCi0KICAgICBtb3YgICAgIHg4LCBfX05SX2RlbGV0ZV9tb2R1bGUKICAgICBzdmMgICAgICMwCiAKLSAgICBsZHAgICAgIHgyOSwgeDMwLCBbc3BdLCAjMTYKLSAgICAuY2ZpX2RlZl9jZmFfb2Zmc2V0IDAKLSAgICAuY2ZpX3Jlc3RvcmUgeDI5Ci0gICAgLmNmaV9yZXN0b3JlIHgzMAotCiAgICAgY21uICAgICB4MCwgIyhNQVhfRVJSTk8gKyAxKQogICAgIGNuZWcgICAgeDAsIHgwLCBoaQogICAgIGIuaGkgICAgX19zZXRfZXJybm8KZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9kdXAuUyBiL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9kdXAuUwppbmRleCBiN2UwNGVkLi45NTg0YzUxIDEwMDY0NAotLS0gYS9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvZHVwLlMKKysrIGIvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL2R1cC5TCkBAIC0zLDIwICszLDkgQEAKICNpbmNsdWRlIDxwcml2YXRlL2Jpb25pY19hc20uaD4KIAogRU5UUlkoZHVwKQotICAgIHN0cCAgICAgeDI5LCB4MzAsIFtzcCwgIy0xNl0hCi0gICAgLmNmaV9kZWZfY2ZhX29mZnNldCAxNgotICAgIC5jZmlfcmVsX29mZnNldCB4MjksIDAKLSAgICAuY2ZpX3JlbF9vZmZzZXQgeDMwLCA4Ci0gICAgbW92ICAgICB4MjksICBzcAotCiAgICAgbW92ICAgICB4OCwgX19OUl9kdXAKICAgICBzdmMgICAgICMwCiAKLSAgICBsZHAgICAgIHgyOSwgeDMwLCBbc3BdLCAjMTYKLSAgICAuY2ZpX2RlZl9jZmFfb2Zmc2V0IDAKLSAgICAuY2ZpX3Jlc3RvcmUgeDI5Ci0gICAgLmNmaV9yZXN0b3JlIHgzMAotCiAgICAgY21uICAgICB4MCwgIyhNQVhfRVJSTk8gKyAxKQogICAgIGNuZWcgICAgeDAsIHgwLCBoaQogICAgIGIuaGkgICAgX19zZXRfZXJybm8KZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9kdXAzLlMgYi9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvZHVwMy5TCmluZGV4IGZhZGE2M2QuLmUzMDNmYmEgMTAwNjQ0Ci0tLSBhL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9kdXAzLlMKKysrIGIvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL2R1cDMuUwpAQCAtMywyMCArMyw5IEBACiAjaW5jbHVkZSA8cHJpdmF0ZS9iaW9uaWNfYXNtLmg+CiAKIEVOVFJZKGR1cDMpCi0gICAgc3RwICAgICB4MjksIHgzMCwgW3NwLCAjLTE2XSEKLSAgICAuY2ZpX2RlZl9jZmFfb2Zmc2V0IDE2Ci0gICAgLmNmaV9yZWxfb2Zmc2V0IHgyOSwgMAotICAgIC5jZmlfcmVsX29mZnNldCB4MzAsIDgKLSAgICBtb3YgICAgIHgyOSwgIHNwCi0KICAgICBtb3YgICAgIHg4LCBfX05SX2R1cDMKICAgICBzdmMgICAgICMwCiAKLSAgICBsZHAgICAgIHgyOSwgeDMwLCBbc3BdLCAjMTYKLSAgICAuY2ZpX2RlZl9jZmFfb2Zmc2V0IDAKLSAgICAuY2ZpX3Jlc3RvcmUgeDI5Ci0gICAgLmNmaV9yZXN0b3JlIHgzMAotCiAgICAgY21uICAgICB4MCwgIyhNQVhfRVJSTk8gKyAxKQogICAgIGNuZWcgICAgeDAsIHgwLCBoaQogICAgIGIuaGkgICAgX19zZXRfZXJybm8KZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9lcG9sbF9jcmVhdGUxLlMgYi9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvZXBvbGxfY3JlYXRlMS5TCmluZGV4IDk0OTkwYmYuLjRjYThiZmEgMTAwNjQ0Ci0tLSBhL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9lcG9sbF9jcmVhdGUxLlMKKysrIGIvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL2Vwb2xsX2NyZWF0ZTEuUwpAQCAtMywyMCArMyw5IEBACiAjaW5jbHVkZSA8cHJpdmF0ZS9iaW9uaWNfYXNtLmg+CiAKIEVOVFJZKGVwb2xsX2NyZWF0ZTEpCi0gICAgc3RwICAgICB4MjksIHgzMCwgW3NwLCAjLTE2XSEKLSAgICAuY2ZpX2RlZl9jZmFfb2Zmc2V0IDE2Ci0gICAgLmNmaV9yZWxfb2Zmc2V0IHgyOSwgMAotICAgIC5jZmlfcmVsX29mZnNldCB4MzAsIDgKLSAgICBtb3YgICAgIHgyOSwgIHNwCi0KICAgICBtb3YgICAgIHg4LCBfX05SX2Vwb2xsX2NyZWF0ZTEKICAgICBzdmMgICAgICMwCiAKLSAgICBsZHAgICAgIHgyOSwgeDMwLCBbc3BdLCAjMTYKLSAgICAuY2ZpX2RlZl9jZmFfb2Zmc2V0IDAKLSAgICAuY2ZpX3Jlc3RvcmUgeDI5Ci0gICAgLmNmaV9yZXN0b3JlIHgzMAotCiAgICAgY21uICAgICB4MCwgIyhNQVhfRVJSTk8gKyAxKQogICAgIGNuZWcgICAgeDAsIHgwLCBoaQogICAgIGIuaGkgICAgX19zZXRfZXJybm8KZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9lcG9sbF9jdGwuUyBiL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9lcG9sbF9jdGwuUwppbmRleCBlYTZmNzM1Li5jMWMwZGJhIDEwMDY0NAotLS0gYS9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvZXBvbGxfY3RsLlMKKysrIGIvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL2Vwb2xsX2N0bC5TCkBAIC0zLDIwICszLDkgQEAKICNpbmNsdWRlIDxwcml2YXRlL2Jpb25pY19hc20uaD4KIAogRU5UUlkoZXBvbGxfY3RsKQotICAgIHN0cCAgICAgeDI5LCB4MzAsIFtzcCwgIy0xNl0hCi0gICAgLmNmaV9kZWZfY2ZhX29mZnNldCAxNgotICAgIC5jZmlfcmVsX29mZnNldCB4MjksIDAKLSAgICAuY2ZpX3JlbF9vZmZzZXQgeDMwLCA4Ci0gICAgbW92ICAgICB4MjksICBzcAotCiAgICAgbW92ICAgICB4OCwgX19OUl9lcG9sbF9jdGwKICAgICBzdmMgICAgICMwCiAKLSAgICBsZHAgICAgIHgyOSwgeDMwLCBbc3BdLCAjMTYKLSAgICAuY2ZpX2RlZl9jZmFfb2Zmc2V0IDAKLSAgICAuY2ZpX3Jlc3RvcmUgeDI5Ci0gICAgLmNmaV9yZXN0b3JlIHgzMAotCiAgICAgY21uICAgICB4MCwgIyhNQVhfRVJSTk8gKyAxKQogICAgIGNuZWcgICAgeDAsIHgwLCBoaQogICAgIGIuaGkgICAgX19zZXRfZXJybm8KZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9ldmVudGZkLlMgYi9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvZXZlbnRmZC5TCmluZGV4IGFmYTg4YjMuLmFjZTYwOGUgMTAwNjQ0Ci0tLSBhL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9ldmVudGZkLlMKKysrIGIvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL2V2ZW50ZmQuUwpAQCAtMywyMCArMyw5IEBACiAjaW5jbHVkZSA8cHJpdmF0ZS9iaW9uaWNfYXNtLmg+CiAKIEVOVFJZKGV2ZW50ZmQpCi0gICAgc3RwICAgICB4MjksIHgzMCwgW3NwLCAjLTE2XSEKLSAgICAuY2ZpX2RlZl9jZmFfb2Zmc2V0IDE2Ci0gICAgLmNmaV9yZWxfb2Zmc2V0IHgyOSwgMAotICAgIC5jZmlfcmVsX29mZnNldCB4MzAsIDgKLSAgICBtb3YgICAgIHgyOSwgIHNwCi0KICAgICBtb3YgICAgIHg4LCBfX05SX2V2ZW50ZmQyCiAgICAgc3ZjICAgICAjMAogCi0gICAgbGRwICAgICB4MjksIHgzMCwgW3NwXSwgIzE2Ci0gICAgLmNmaV9kZWZfY2ZhX29mZnNldCAwCi0gICAgLmNmaV9yZXN0b3JlIHgyOQotICAgIC5jZmlfcmVzdG9yZSB4MzAKLQogICAgIGNtbiAgICAgeDAsICMoTUFYX0VSUk5PICsgMSkKICAgICBjbmVnICAgIHgwLCB4MCwgaGkKICAgICBiLmhpICAgIF9fc2V0X2Vycm5vCmRpZmYgLS1naXQgYS9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvZXhlY3ZlLlMgYi9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvZXhlY3ZlLlMKaW5kZXggMDMxYjZkNC4uYWIwY2I1NyAxMDA2NDQKLS0tIGEvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL2V4ZWN2ZS5TCisrKyBiL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9leGVjdmUuUwpAQCAtMywyMCArMyw5IEBACiAjaW5jbHVkZSA8cHJpdmF0ZS9iaW9uaWNfYXNtLmg+CiAKIEVOVFJZKGV4ZWN2ZSkKLSAgICBzdHAgICAgIHgyOSwgeDMwLCBbc3AsICMtMTZdIQotICAgIC5jZmlfZGVmX2NmYV9vZmZzZXQgMTYKLSAgICAuY2ZpX3JlbF9vZmZzZXQgeDI5LCAwCi0gICAgLmNmaV9yZWxfb2Zmc2V0IHgzMCwgOAotICAgIG1vdiAgICAgeDI5LCAgc3AKLQogICAgIG1vdiAgICAgeDgsIF9fTlJfZXhlY3ZlCiAgICAgc3ZjICAgICAjMAogCi0gICAgbGRwICAgICB4MjksIHgzMCwgW3NwXSwgIzE2Ci0gICAgLmNmaV9kZWZfY2ZhX29mZnNldCAwCi0gICAgLmNmaV9yZXN0b3JlIHgyOQotICAgIC5jZmlfcmVzdG9yZSB4MzAKLQogICAgIGNtbiAgICAgeDAsICMoTUFYX0VSUk5PICsgMSkKICAgICBjbmVnICAgIHgwLCB4MCwgaGkKICAgICBiLmhpICAgIF9fc2V0X2Vycm5vCmRpZmYgLS1naXQgYS9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvZmFjY2Vzc2F0LlMgYi9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvZmFjY2Vzc2F0LlMKaW5kZXggY2ViYmYxOC4uMzBhMzg1MiAxMDA2NDQKLS0tIGEvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL2ZhY2Nlc3NhdC5TCisrKyBiL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9mYWNjZXNzYXQuUwpAQCAtMywyMCArMyw5IEBACiAjaW5jbHVkZSA8cHJpdmF0ZS9iaW9uaWNfYXNtLmg+CiAKIEVOVFJZKGZhY2Nlc3NhdCkKLSAgICBzdHAgICAgIHgyOSwgeDMwLCBbc3AsICMtMTZdIQotICAgIC5jZmlfZGVmX2NmYV9vZmZzZXQgMTYKLSAgICAuY2ZpX3JlbF9vZmZzZXQgeDI5LCAwCi0gICAgLmNmaV9yZWxfb2Zmc2V0IHgzMCwgOAotICAgIG1vdiAgICAgeDI5LCAgc3AKLQogICAgIG1vdiAgICAgeDgsIF9fTlJfZmFjY2Vzc2F0CiAgICAgc3ZjICAgICAjMAogCi0gICAgbGRwICAgICB4MjksIHgzMCwgW3NwXSwgIzE2Ci0gICAgLmNmaV9kZWZfY2ZhX29mZnNldCAwCi0gICAgLmNmaV9yZXN0b3JlIHgyOQotICAgIC5jZmlfcmVzdG9yZSB4MzAKLQogICAgIGNtbiAgICAgeDAsICMoTUFYX0VSUk5PICsgMSkKICAgICBjbmVnICAgIHgwLCB4MCwgaGkKICAgICBiLmhpICAgIF9fc2V0X2Vycm5vCmRpZmYgLS1naXQgYS9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvZmFsbG9jYXRlLlMgYi9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvZmFsbG9jYXRlLlMKaW5kZXggOTQ4MzJhYS4uMzA5MmIzNCAxMDA2NDQKLS0tIGEvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL2ZhbGxvY2F0ZS5TCisrKyBiL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9mYWxsb2NhdGUuUwpAQCAtMywyMCArMyw5IEBACiAjaW5jbHVkZSA8cHJpdmF0ZS9iaW9uaWNfYXNtLmg+CiAKIEVOVFJZKGZhbGxvY2F0ZSkKLSAgICBzdHAgICAgIHgyOSwgeDMwLCBbc3AsICMtMTZdIQotICAgIC5jZmlfZGVmX2NmYV9vZmZzZXQgMTYKLSAgICAuY2ZpX3JlbF9vZmZzZXQgeDI5LCAwCi0gICAgLmNmaV9yZWxfb2Zmc2V0IHgzMCwgOAotICAgIG1vdiAgICAgeDI5LCAgc3AKLQogICAgIG1vdiAgICAgeDgsIF9fTlJfZmFsbG9jYXRlCiAgICAgc3ZjICAgICAjMAogCi0gICAgbGRwICAgICB4MjksIHgzMCwgW3NwXSwgIzE2Ci0gICAgLmNmaV9kZWZfY2ZhX29mZnNldCAwCi0gICAgLmNmaV9yZXN0b3JlIHgyOQotICAgIC5jZmlfcmVzdG9yZSB4MzAKLQogICAgIGNtbiAgICAgeDAsICMoTUFYX0VSUk5PICsgMSkKICAgICBjbmVnICAgIHgwLCB4MCwgaGkKICAgICBiLmhpICAgIF9fc2V0X2Vycm5vCmRpZmYgLS1naXQgYS9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvZmNoZGlyLlMgYi9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvZmNoZGlyLlMKaW5kZXggYWZiYTNjMS4uZjc2ODdmOCAxMDA2NDQKLS0tIGEvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL2ZjaGRpci5TCisrKyBiL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9mY2hkaXIuUwpAQCAtMywyMCArMyw5IEBACiAjaW5jbHVkZSA8cHJpdmF0ZS9iaW9uaWNfYXNtLmg+CiAKIEVOVFJZKGZjaGRpcikKLSAgICBzdHAgICAgIHgyOSwgeDMwLCBbc3AsICMtMTZdIQotICAgIC5jZmlfZGVmX2NmYV9vZmZzZXQgMTYKLSAgICAuY2ZpX3JlbF9vZmZzZXQgeDI5LCAwCi0gICAgLmNmaV9yZWxfb2Zmc2V0IHgzMCwgOAotICAgIG1vdiAgICAgeDI5LCAgc3AKLQogICAgIG1vdiAgICAgeDgsIF9fTlJfZmNoZGlyCiAgICAgc3ZjICAgICAjMAogCi0gICAgbGRwICAgICB4MjksIHgzMCwgW3NwXSwgIzE2Ci0gICAgLmNmaV9kZWZfY2ZhX29mZnNldCAwCi0gICAgLmNmaV9yZXN0b3JlIHgyOQotICAgIC5jZmlfcmVzdG9yZSB4MzAKLQogICAgIGNtbiAgICAgeDAsICMoTUFYX0VSUk5PICsgMSkKICAgICBjbmVnICAgIHgwLCB4MCwgaGkKICAgICBiLmhpICAgIF9fc2V0X2Vycm5vCmRpZmYgLS1naXQgYS9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvZmNobW9kLlMgYi9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvZmNobW9kLlMKaW5kZXggMzVmOWRlYy4uYWNjNjcxOCAxMDA2NDQKLS0tIGEvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL2ZjaG1vZC5TCisrKyBiL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9mY2htb2QuUwpAQCAtMywyMCArMyw5IEBACiAjaW5jbHVkZSA8cHJpdmF0ZS9iaW9uaWNfYXNtLmg+CiAKIEVOVFJZKGZjaG1vZCkKLSAgICBzdHAgICAgIHgyOSwgeDMwLCBbc3AsICMtMTZdIQotICAgIC5jZmlfZGVmX2NmYV9vZmZzZXQgMTYKLSAgICAuY2ZpX3JlbF9vZmZzZXQgeDI5LCAwCi0gICAgLmNmaV9yZWxfb2Zmc2V0IHgzMCwgOAotICAgIG1vdiAgICAgeDI5LCAgc3AKLQogICAgIG1vdiAgICAgeDgsIF9fTlJfZmNobW9kCiAgICAgc3ZjICAgICAjMAogCi0gICAgbGRwICAgICB4MjksIHgzMCwgW3NwXSwgIzE2Ci0gICAgLmNmaV9kZWZfY2ZhX29mZnNldCAwCi0gICAgLmNmaV9yZXN0b3JlIHgyOQotICAgIC5jZmlfcmVzdG9yZSB4MzAKLQogICAgIGNtbiAgICAgeDAsICMoTUFYX0VSUk5PICsgMSkKICAgICBjbmVnICAgIHgwLCB4MCwgaGkKICAgICBiLmhpICAgIF9fc2V0X2Vycm5vCmRpZmYgLS1naXQgYS9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvZmNobW9kYXQuUyBiL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9mY2htb2RhdC5TCmluZGV4IDU5YmZiOGEuLjIzYzJmZDUgMTAwNjQ0Ci0tLSBhL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9mY2htb2RhdC5TCisrKyBiL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9mY2htb2RhdC5TCkBAIC0zLDIwICszLDkgQEAKICNpbmNsdWRlIDxwcml2YXRlL2Jpb25pY19hc20uaD4KIAogRU5UUlkoZmNobW9kYXQpCi0gICAgc3RwICAgICB4MjksIHgzMCwgW3NwLCAjLTE2XSEKLSAgICAuY2ZpX2RlZl9jZmFfb2Zmc2V0IDE2Ci0gICAgLmNmaV9yZWxfb2Zmc2V0IHgyOSwgMAotICAgIC5jZmlfcmVsX29mZnNldCB4MzAsIDgKLSAgICBtb3YgICAgIHgyOSwgIHNwCi0KICAgICBtb3YgICAgIHg4LCBfX05SX2ZjaG1vZGF0CiAgICAgc3ZjICAgICAjMAogCi0gICAgbGRwICAgICB4MjksIHgzMCwgW3NwXSwgIzE2Ci0gICAgLmNmaV9kZWZfY2ZhX29mZnNldCAwCi0gICAgLmNmaV9yZXN0b3JlIHgyOQotICAgIC5jZmlfcmVzdG9yZSB4MzAKLQogICAgIGNtbiAgICAgeDAsICMoTUFYX0VSUk5PICsgMSkKICAgICBjbmVnICAgIHgwLCB4MCwgaGkKICAgICBiLmhpICAgIF9fc2V0X2Vycm5vCmRpZmYgLS1naXQgYS9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvZmNob3duLlMgYi9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvZmNob3duLlMKaW5kZXggMjI5NDE4Ny4uOGU5ZGI2MiAxMDA2NDQKLS0tIGEvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL2ZjaG93bi5TCisrKyBiL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9mY2hvd24uUwpAQCAtMywyMCArMyw5IEBACiAjaW5jbHVkZSA8cHJpdmF0ZS9iaW9uaWNfYXNtLmg+CiAKIEVOVFJZKGZjaG93bikKLSAgICBzdHAgICAgIHgyOSwgeDMwLCBbc3AsICMtMTZdIQotICAgIC5jZmlfZGVmX2NmYV9vZmZzZXQgMTYKLSAgICAuY2ZpX3JlbF9vZmZzZXQgeDI5LCAwCi0gICAgLmNmaV9yZWxfb2Zmc2V0IHgzMCwgOAotICAgIG1vdiAgICAgeDI5LCAgc3AKLQogICAgIG1vdiAgICAgeDgsIF9fTlJfZmNob3duCiAgICAgc3ZjICAgICAjMAogCi0gICAgbGRwICAgICB4MjksIHgzMCwgW3NwXSwgIzE2Ci0gICAgLmNmaV9kZWZfY2ZhX29mZnNldCAwCi0gICAgLmNmaV9yZXN0b3JlIHgyOQotICAgIC5jZmlfcmVzdG9yZSB4MzAKLQogICAgIGNtbiAgICAgeDAsICMoTUFYX0VSUk5PICsgMSkKICAgICBjbmVnICAgIHgwLCB4MCwgaGkKICAgICBiLmhpICAgIF9fc2V0X2Vycm5vCmRpZmYgLS1naXQgYS9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvZmNob3duYXQuUyBiL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9mY2hvd25hdC5TCmluZGV4IGZmMjQxODcuLjNjZjJjM2QgMTAwNjQ0Ci0tLSBhL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9mY2hvd25hdC5TCisrKyBiL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9mY2hvd25hdC5TCkBAIC0zLDIwICszLDkgQEAKICNpbmNsdWRlIDxwcml2YXRlL2Jpb25pY19hc20uaD4KIAogRU5UUlkoZmNob3duYXQpCi0gICAgc3RwICAgICB4MjksIHgzMCwgW3NwLCAjLTE2XSEKLSAgICAuY2ZpX2RlZl9jZmFfb2Zmc2V0IDE2Ci0gICAgLmNmaV9yZWxfb2Zmc2V0IHgyOSwgMAotICAgIC5jZmlfcmVsX29mZnNldCB4MzAsIDgKLSAgICBtb3YgICAgIHgyOSwgIHNwCi0KICAgICBtb3YgICAgIHg4LCBfX05SX2ZjaG93bmF0CiAgICAgc3ZjICAgICAjMAogCi0gICAgbGRwICAgICB4MjksIHgzMCwgW3NwXSwgIzE2Ci0gICAgLmNmaV9kZWZfY2ZhX29mZnNldCAwCi0gICAgLmNmaV9yZXN0b3JlIHgyOQotICAgIC5jZmlfcmVzdG9yZSB4MzAKLQogICAgIGNtbiAgICAgeDAsICMoTUFYX0VSUk5PICsgMSkKICAgICBjbmVnICAgIHgwLCB4MCwgaGkKICAgICBiLmhpICAgIF9fc2V0X2Vycm5vCmRpZmYgLS1naXQgYS9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvZmNudGwuUyBiL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9mY250bC5TCmluZGV4IGE5ZDY5NzYuLjQ1ZWZmNzQgMTAwNjQ0Ci0tLSBhL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9mY250bC5TCisrKyBiL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9mY250bC5TCkBAIC0zLDIwICszLDkgQEAKICNpbmNsdWRlIDxwcml2YXRlL2Jpb25pY19hc20uaD4KIAogRU5UUlkoZmNudGwpCi0gICAgc3RwICAgICB4MjksIHgzMCwgW3NwLCAjLTE2XSEKLSAgICAuY2ZpX2RlZl9jZmFfb2Zmc2V0IDE2Ci0gICAgLmNmaV9yZWxfb2Zmc2V0IHgyOSwgMAotICAgIC5jZmlfcmVsX29mZnNldCB4MzAsIDgKLSAgICBtb3YgICAgIHgyOSwgIHNwCi0KICAgICBtb3YgICAgIHg4LCBfX05SX2ZjbnRsCiAgICAgc3ZjICAgICAjMAogCi0gICAgbGRwICAgICB4MjksIHgzMCwgW3NwXSwgIzE2Ci0gICAgLmNmaV9kZWZfY2ZhX29mZnNldCAwCi0gICAgLmNmaV9yZXN0b3JlIHgyOQotICAgIC5jZmlfcmVzdG9yZSB4MzAKLQogICAgIGNtbiAgICAgeDAsICMoTUFYX0VSUk5PICsgMSkKICAgICBjbmVnICAgIHgwLCB4MCwgaGkKICAgICBiLmhpICAgIF9fc2V0X2Vycm5vCmRpZmYgLS1naXQgYS9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvZmRhdGFzeW5jLlMgYi9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvZmRhdGFzeW5jLlMKaW5kZXggNGNmNGRlMy4uNzdiNzZjNCAxMDA2NDQKLS0tIGEvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL2ZkYXRhc3luYy5TCisrKyBiL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9mZGF0YXN5bmMuUwpAQCAtMywyMCArMyw5IEBACiAjaW5jbHVkZSA8cHJpdmF0ZS9iaW9uaWNfYXNtLmg+CiAKIEVOVFJZKGZkYXRhc3luYykKLSAgICBzdHAgICAgIHgyOSwgeDMwLCBbc3AsICMtMTZdIQotICAgIC5jZmlfZGVmX2NmYV9vZmZzZXQgMTYKLSAgICAuY2ZpX3JlbF9vZmZzZXQgeDI5LCAwCi0gICAgLmNmaV9yZWxfb2Zmc2V0IHgzMCwgOAotICAgIG1vdiAgICAgeDI5LCAgc3AKLQogICAgIG1vdiAgICAgeDgsIF9fTlJfZmRhdGFzeW5jCiAgICAgc3ZjICAgICAjMAogCi0gICAgbGRwICAgICB4MjksIHgzMCwgW3NwXSwgIzE2Ci0gICAgLmNmaV9kZWZfY2ZhX29mZnNldCAwCi0gICAgLmNmaV9yZXN0b3JlIHgyOQotICAgIC5jZmlfcmVzdG9yZSB4MzAKLQogICAgIGNtbiAgICAgeDAsICMoTUFYX0VSUk5PICsgMSkKICAgICBjbmVnICAgIHgwLCB4MCwgaGkKICAgICBiLmhpICAgIF9fc2V0X2Vycm5vCmRpZmYgLS1naXQgYS9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvZmdldHhhdHRyLlMgYi9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvZmdldHhhdHRyLlMKaW5kZXggOTE0ZWE3Zi4uMWY4ZWRiNiAxMDA2NDQKLS0tIGEvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL2ZnZXR4YXR0ci5TCisrKyBiL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9mZ2V0eGF0dHIuUwpAQCAtMywyMCArMyw5IEBACiAjaW5jbHVkZSA8cHJpdmF0ZS9iaW9uaWNfYXNtLmg+CiAKIEVOVFJZKGZnZXR4YXR0cikKLSAgICBzdHAgICAgIHgyOSwgeDMwLCBbc3AsICMtMTZdIQotICAgIC5jZmlfZGVmX2NmYV9vZmZzZXQgMTYKLSAgICAuY2ZpX3JlbF9vZmZzZXQgeDI5LCAwCi0gICAgLmNmaV9yZWxfb2Zmc2V0IHgzMCwgOAotICAgIG1vdiAgICAgeDI5LCAgc3AKLQogICAgIG1vdiAgICAgeDgsIF9fTlJfZmdldHhhdHRyCiAgICAgc3ZjICAgICAjMAogCi0gICAgbGRwICAgICB4MjksIHgzMCwgW3NwXSwgIzE2Ci0gICAgLmNmaV9kZWZfY2ZhX29mZnNldCAwCi0gICAgLmNmaV9yZXN0b3JlIHgyOQotICAgIC5jZmlfcmVzdG9yZSB4MzAKLQogICAgIGNtbiAgICAgeDAsICMoTUFYX0VSUk5PICsgMSkKICAgICBjbmVnICAgIHgwLCB4MCwgaGkKICAgICBiLmhpICAgIF9fc2V0X2Vycm5vCmRpZmYgLS1naXQgYS9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvZmxpc3R4YXR0ci5TIGIvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL2ZsaXN0eGF0dHIuUwppbmRleCAyYTY0MzgxLi45OTc1MjllIDEwMDY0NAotLS0gYS9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvZmxpc3R4YXR0ci5TCisrKyBiL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9mbGlzdHhhdHRyLlMKQEAgLTMsMjAgKzMsOSBAQAogI2luY2x1ZGUgPHByaXZhdGUvYmlvbmljX2FzbS5oPgogCiBFTlRSWShmbGlzdHhhdHRyKQotICAgIHN0cCAgICAgeDI5LCB4MzAsIFtzcCwgIy0xNl0hCi0gICAgLmNmaV9kZWZfY2ZhX29mZnNldCAxNgotICAgIC5jZmlfcmVsX29mZnNldCB4MjksIDAKLSAgICAuY2ZpX3JlbF9vZmZzZXQgeDMwLCA4Ci0gICAgbW92ICAgICB4MjksICBzcAotCiAgICAgbW92ICAgICB4OCwgX19OUl9mbGlzdHhhdHRyCiAgICAgc3ZjICAgICAjMAogCi0gICAgbGRwICAgICB4MjksIHgzMCwgW3NwXSwgIzE2Ci0gICAgLmNmaV9kZWZfY2ZhX29mZnNldCAwCi0gICAgLmNmaV9yZXN0b3JlIHgyOQotICAgIC5jZmlfcmVzdG9yZSB4MzAKLQogICAgIGNtbiAgICAgeDAsICMoTUFYX0VSUk5PICsgMSkKICAgICBjbmVnICAgIHgwLCB4MCwgaGkKICAgICBiLmhpICAgIF9fc2V0X2Vycm5vCmRpZmYgLS1naXQgYS9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvZmxvY2suUyBiL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9mbG9jay5TCmluZGV4IDBkODcyMzMuLjBlMWMzZjUgMTAwNjQ0Ci0tLSBhL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9mbG9jay5TCisrKyBiL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9mbG9jay5TCkBAIC0zLDIwICszLDkgQEAKICNpbmNsdWRlIDxwcml2YXRlL2Jpb25pY19hc20uaD4KIAogRU5UUlkoZmxvY2spCi0gICAgc3RwICAgICB4MjksIHgzMCwgW3NwLCAjLTE2XSEKLSAgICAuY2ZpX2RlZl9jZmFfb2Zmc2V0IDE2Ci0gICAgLmNmaV9yZWxfb2Zmc2V0IHgyOSwgMAotICAgIC5jZmlfcmVsX29mZnNldCB4MzAsIDgKLSAgICBtb3YgICAgIHgyOSwgIHNwCi0KICAgICBtb3YgICAgIHg4LCBfX05SX2Zsb2NrCiAgICAgc3ZjICAgICAjMAogCi0gICAgbGRwICAgICB4MjksIHgzMCwgW3NwXSwgIzE2Ci0gICAgLmNmaV9kZWZfY2ZhX29mZnNldCAwCi0gICAgLmNmaV9yZXN0b3JlIHgyOQotICAgIC5jZmlfcmVzdG9yZSB4MzAKLQogICAgIGNtbiAgICAgeDAsICMoTUFYX0VSUk5PICsgMSkKICAgICBjbmVnICAgIHgwLCB4MCwgaGkKICAgICBiLmhpICAgIF9fc2V0X2Vycm5vCmRpZmYgLS1naXQgYS9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvZnJlbW92ZXhhdHRyLlMgYi9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvZnJlbW92ZXhhdHRyLlMKaW5kZXggZTJlZjY0OS4uZDQzNDMwZiAxMDA2NDQKLS0tIGEvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL2ZyZW1vdmV4YXR0ci5TCisrKyBiL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9mcmVtb3ZleGF0dHIuUwpAQCAtMywyMCArMyw5IEBACiAjaW5jbHVkZSA8cHJpdmF0ZS9iaW9uaWNfYXNtLmg+CiAKIEVOVFJZKGZyZW1vdmV4YXR0cikKLSAgICBzdHAgICAgIHgyOSwgeDMwLCBbc3AsICMtMTZdIQotICAgIC5jZmlfZGVmX2NmYV9vZmZzZXQgMTYKLSAgICAuY2ZpX3JlbF9vZmZzZXQgeDI5LCAwCi0gICAgLmNmaV9yZWxfb2Zmc2V0IHgzMCwgOAotICAgIG1vdiAgICAgeDI5LCAgc3AKLQogICAgIG1vdiAgICAgeDgsIF9fTlJfZnJlbW92ZXhhdHRyCiAgICAgc3ZjICAgICAjMAogCi0gICAgbGRwICAgICB4MjksIHgzMCwgW3NwXSwgIzE2Ci0gICAgLmNmaV9kZWZfY2ZhX29mZnNldCAwCi0gICAgLmNmaV9yZXN0b3JlIHgyOQotICAgIC5jZmlfcmVzdG9yZSB4MzAKLQogICAgIGNtbiAgICAgeDAsICMoTUFYX0VSUk5PICsgMSkKICAgICBjbmVnICAgIHgwLCB4MCwgaGkKICAgICBiLmhpICAgIF9fc2V0X2Vycm5vCmRpZmYgLS1naXQgYS9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvZnNldHhhdHRyLlMgYi9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvZnNldHhhdHRyLlMKaW5kZXggZWI0MTk1MS4uZjQwZjg3NSAxMDA2NDQKLS0tIGEvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL2ZzZXR4YXR0ci5TCisrKyBiL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9mc2V0eGF0dHIuUwpAQCAtMywyMCArMyw5IEBACiAjaW5jbHVkZSA8cHJpdmF0ZS9iaW9uaWNfYXNtLmg+CiAKIEVOVFJZKGZzZXR4YXR0cikKLSAgICBzdHAgICAgIHgyOSwgeDMwLCBbc3AsICMtMTZdIQotICAgIC5jZmlfZGVmX2NmYV9vZmZzZXQgMTYKLSAgICAuY2ZpX3JlbF9vZmZzZXQgeDI5LCAwCi0gICAgLmNmaV9yZWxfb2Zmc2V0IHgzMCwgOAotICAgIG1vdiAgICAgeDI5LCAgc3AKLQogICAgIG1vdiAgICAgeDgsIF9fTlJfZnNldHhhdHRyCiAgICAgc3ZjICAgICAjMAogCi0gICAgbGRwICAgICB4MjksIHgzMCwgW3NwXSwgIzE2Ci0gICAgLmNmaV9kZWZfY2ZhX29mZnNldCAwCi0gICAgLmNmaV9yZXN0b3JlIHgyOQotICAgIC5jZmlfcmVzdG9yZSB4MzAKLQogICAgIGNtbiAgICAgeDAsICMoTUFYX0VSUk5PICsgMSkKICAgICBjbmVnICAgIHgwLCB4MCwgaGkKICAgICBiLmhpICAgIF9fc2V0X2Vycm5vCmRpZmYgLS1naXQgYS9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvZnN0YXQ2NC5TIGIvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL2ZzdGF0NjQuUwppbmRleCBlZTBkOWU3Li45YWZlOTViIDEwMDY0NAotLS0gYS9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvZnN0YXQ2NC5TCisrKyBiL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9mc3RhdDY0LlMKQEAgLTMsMjAgKzMsOSBAQAogI2luY2x1ZGUgPHByaXZhdGUvYmlvbmljX2FzbS5oPgogCiBFTlRSWShmc3RhdDY0KQotICAgIHN0cCAgICAgeDI5LCB4MzAsIFtzcCwgIy0xNl0hCi0gICAgLmNmaV9kZWZfY2ZhX29mZnNldCAxNgotICAgIC5jZmlfcmVsX29mZnNldCB4MjksIDAKLSAgICAuY2ZpX3JlbF9vZmZzZXQgeDMwLCA4Ci0gICAgbW92ICAgICB4MjksICBzcAotCiAgICAgbW92ICAgICB4OCwgX19OUl9mc3RhdAogICAgIHN2YyAgICAgIzAKIAotICAgIGxkcCAgICAgeDI5LCB4MzAsIFtzcF0sICMxNgotICAgIC5jZmlfZGVmX2NmYV9vZmZzZXQgMAotICAgIC5jZmlfcmVzdG9yZSB4MjkKLSAgICAuY2ZpX3Jlc3RvcmUgeDMwCi0KICAgICBjbW4gICAgIHgwLCAjKE1BWF9FUlJOTyArIDEpCiAgICAgY25lZyAgICB4MCwgeDAsIGhpCiAgICAgYi5oaSAgICBfX3NldF9lcnJubwpkaWZmIC0tZ2l0IGEvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL2ZzdGF0YXQ2NC5TIGIvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL2ZzdGF0YXQ2NC5TCmluZGV4IDRmZjMwMzkuLjMwZWZkM2IgMTAwNjQ0Ci0tLSBhL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9mc3RhdGF0NjQuUworKysgYi9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvZnN0YXRhdDY0LlMKQEAgLTMsMjAgKzMsOSBAQAogI2luY2x1ZGUgPHByaXZhdGUvYmlvbmljX2FzbS5oPgogCiBFTlRSWShmc3RhdGF0NjQpCi0gICAgc3RwICAgICB4MjksIHgzMCwgW3NwLCAjLTE2XSEKLSAgICAuY2ZpX2RlZl9jZmFfb2Zmc2V0IDE2Ci0gICAgLmNmaV9yZWxfb2Zmc2V0IHgyOSwgMAotICAgIC5jZmlfcmVsX29mZnNldCB4MzAsIDgKLSAgICBtb3YgICAgIHgyOSwgIHNwCi0KICAgICBtb3YgICAgIHg4LCBfX05SX25ld2ZzdGF0YXQKICAgICBzdmMgICAgICMwCiAKLSAgICBsZHAgICAgIHgyOSwgeDMwLCBbc3BdLCAjMTYKLSAgICAuY2ZpX2RlZl9jZmFfb2Zmc2V0IDAKLSAgICAuY2ZpX3Jlc3RvcmUgeDI5Ci0gICAgLmNmaV9yZXN0b3JlIHgzMAotCiAgICAgY21uICAgICB4MCwgIyhNQVhfRVJSTk8gKyAxKQogICAgIGNuZWcgICAgeDAsIHgwLCBoaQogICAgIGIuaGkgICAgX19zZXRfZXJybm8KZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9mc3RhdGZzNjQuUyBiL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9mc3RhdGZzNjQuUwppbmRleCBiOTA4YjU3Li42N2FlNjdlIDEwMDY0NAotLS0gYS9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvZnN0YXRmczY0LlMKKysrIGIvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL2ZzdGF0ZnM2NC5TCkBAIC0zLDIwICszLDkgQEAKICNpbmNsdWRlIDxwcml2YXRlL2Jpb25pY19hc20uaD4KIAogRU5UUlkoZnN0YXRmczY0KQotICAgIHN0cCAgICAgeDI5LCB4MzAsIFtzcCwgIy0xNl0hCi0gICAgLmNmaV9kZWZfY2ZhX29mZnNldCAxNgotICAgIC5jZmlfcmVsX29mZnNldCB4MjksIDAKLSAgICAuY2ZpX3JlbF9vZmZzZXQgeDMwLCA4Ci0gICAgbW92ICAgICB4MjksICBzcAotCiAgICAgbW92ICAgICB4OCwgX19OUl9mc3RhdGZzCiAgICAgc3ZjICAgICAjMAogCi0gICAgbGRwICAgICB4MjksIHgzMCwgW3NwXSwgIzE2Ci0gICAgLmNmaV9kZWZfY2ZhX29mZnNldCAwCi0gICAgLmNmaV9yZXN0b3JlIHgyOQotICAgIC5jZmlfcmVzdG9yZSB4MzAKLQogICAgIGNtbiAgICAgeDAsICMoTUFYX0VSUk5PICsgMSkKICAgICBjbmVnICAgIHgwLCB4MCwgaGkKICAgICBiLmhpICAgIF9fc2V0X2Vycm5vCmRpZmYgLS1naXQgYS9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvZnN5bmMuUyBiL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9mc3luYy5TCmluZGV4IGJhYzJlOGIuLmUyMjU4OWUgMTAwNjQ0Ci0tLSBhL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9mc3luYy5TCisrKyBiL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9mc3luYy5TCkBAIC0zLDIwICszLDkgQEAKICNpbmNsdWRlIDxwcml2YXRlL2Jpb25pY19hc20uaD4KIAogRU5UUlkoZnN5bmMpCi0gICAgc3RwICAgICB4MjksIHgzMCwgW3NwLCAjLTE2XSEKLSAgICAuY2ZpX2RlZl9jZmFfb2Zmc2V0IDE2Ci0gICAgLmNmaV9yZWxfb2Zmc2V0IHgyOSwgMAotICAgIC5jZmlfcmVsX29mZnNldCB4MzAsIDgKLSAgICBtb3YgICAgIHgyOSwgIHNwCi0KICAgICBtb3YgICAgIHg4LCBfX05SX2ZzeW5jCiAgICAgc3ZjICAgICAjMAogCi0gICAgbGRwICAgICB4MjksIHgzMCwgW3NwXSwgIzE2Ci0gICAgLmNmaV9kZWZfY2ZhX29mZnNldCAwCi0gICAgLmNmaV9yZXN0b3JlIHgyOQotICAgIC5jZmlfcmVzdG9yZSB4MzAKLQogICAgIGNtbiAgICAgeDAsICMoTUFYX0VSUk5PICsgMSkKICAgICBjbmVnICAgIHgwLCB4MCwgaGkKICAgICBiLmhpICAgIF9fc2V0X2Vycm5vCmRpZmYgLS1naXQgYS9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvZnRydW5jYXRlLlMgYi9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvZnRydW5jYXRlLlMKaW5kZXggY2E0MzE1YS4uYjQ1YTE3MCAxMDA2NDQKLS0tIGEvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL2Z0cnVuY2F0ZS5TCisrKyBiL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9mdHJ1bmNhdGUuUwpAQCAtMywyMCArMyw5IEBACiAjaW5jbHVkZSA8cHJpdmF0ZS9iaW9uaWNfYXNtLmg+CiAKIEVOVFJZKGZ0cnVuY2F0ZSkKLSAgICBzdHAgICAgIHgyOSwgeDMwLCBbc3AsICMtMTZdIQotICAgIC5jZmlfZGVmX2NmYV9vZmZzZXQgMTYKLSAgICAuY2ZpX3JlbF9vZmZzZXQgeDI5LCAwCi0gICAgLmNmaV9yZWxfb2Zmc2V0IHgzMCwgOAotICAgIG1vdiAgICAgeDI5LCAgc3AKLQogICAgIG1vdiAgICAgeDgsIF9fTlJfZnRydW5jYXRlCiAgICAgc3ZjICAgICAjMAogCi0gICAgbGRwICAgICB4MjksIHgzMCwgW3NwXSwgIzE2Ci0gICAgLmNmaV9kZWZfY2ZhX29mZnNldCAwCi0gICAgLmNmaV9yZXN0b3JlIHgyOQotICAgIC5jZmlfcmVzdG9yZSB4MzAKLQogICAgIGNtbiAgICAgeDAsICMoTUFYX0VSUk5PICsgMSkKICAgICBjbmVnICAgIHgwLCB4MCwgaGkKICAgICBiLmhpICAgIF9fc2V0X2Vycm5vCmRpZmYgLS1naXQgYS9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvZ2V0ZGVudHMuUyBiL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9nZXRkZW50cy5TCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4Y2QzY2E3Li4wMDAwMDAwCi0tLSBhL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9nZXRkZW50cy5TCisrKyAvZGV2L251bGwKQEAgLTEsMjUgKzAsMCBAQAotLyogR2VuZXJhdGVkIGJ5IGdlbnN5c2NhbGxzLnB5LiBEbyBub3QgZWRpdC4gKi8KLQotI2luY2x1ZGUgPHByaXZhdGUvYmlvbmljX2FzbS5oPgotCi1FTlRSWShnZXRkZW50cykKLSAgICBzdHAgICAgIHgyOSwgeDMwLCBbc3AsICMtMTZdIQotICAgIC5jZmlfZGVmX2NmYV9vZmZzZXQgMTYKLSAgICAuY2ZpX3JlbF9vZmZzZXQgeDI5LCAwCi0gICAgLmNmaV9yZWxfb2Zmc2V0IHgzMCwgOAotICAgIG1vdiAgICAgeDI5LCAgc3AKLQotICAgIG1vdiAgICAgeDgsIF9fTlJfZ2V0ZGVudHM2NAotICAgIHN2YyAgICAgIzAKLQotICAgIGxkcCAgICAgeDI5LCB4MzAsIFtzcF0sICMxNgotICAgIC5jZmlfZGVmX2NmYV9vZmZzZXQgMAotICAgIC5jZmlfcmVzdG9yZSB4MjkKLSAgICAuY2ZpX3Jlc3RvcmUgeDMwCi0KLSAgICBjbW4gICAgIHgwLCAjKE1BWF9FUlJOTyArIDEpCi0gICAgY25lZyAgICB4MCwgeDAsIGhpCi0gICAgYi5oaSAgICBfX3NldF9lcnJubwotCi0gICAgcmV0Ci1FTkQoZ2V0ZGVudHMpCmRpZmYgLS1naXQgYS9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvZ2V0ZWdpZC5TIGIvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL2dldGVnaWQuUwppbmRleCA1OTNmNTFkLi42NzU3MzFjIDEwMDY0NAotLS0gYS9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvZ2V0ZWdpZC5TCisrKyBiL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9nZXRlZ2lkLlMKQEAgLTMsMjAgKzMsOSBAQAogI2luY2x1ZGUgPHByaXZhdGUvYmlvbmljX2FzbS5oPgogCiBFTlRSWShnZXRlZ2lkKQotICAgIHN0cCAgICAgeDI5LCB4MzAsIFtzcCwgIy0xNl0hCi0gICAgLmNmaV9kZWZfY2ZhX29mZnNldCAxNgotICAgIC5jZmlfcmVsX29mZnNldCB4MjksIDAKLSAgICAuY2ZpX3JlbF9vZmZzZXQgeDMwLCA4Ci0gICAgbW92ICAgICB4MjksICBzcAotCiAgICAgbW92ICAgICB4OCwgX19OUl9nZXRlZ2lkCiAgICAgc3ZjICAgICAjMAogCi0gICAgbGRwICAgICB4MjksIHgzMCwgW3NwXSwgIzE2Ci0gICAgLmNmaV9kZWZfY2ZhX29mZnNldCAwCi0gICAgLmNmaV9yZXN0b3JlIHgyOQotICAgIC5jZmlfcmVzdG9yZSB4MzAKLQogICAgIGNtbiAgICAgeDAsICMoTUFYX0VSUk5PICsgMSkKICAgICBjbmVnICAgIHgwLCB4MCwgaGkKICAgICBiLmhpICAgIF9fc2V0X2Vycm5vCmRpZmYgLS1naXQgYS9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvZ2V0ZXVpZC5TIGIvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL2dldGV1aWQuUwppbmRleCA4NDVhY2JjLi44ZDk0NjFlIDEwMDY0NAotLS0gYS9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvZ2V0ZXVpZC5TCisrKyBiL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9nZXRldWlkLlMKQEAgLTMsMjAgKzMsOSBAQAogI2luY2x1ZGUgPHByaXZhdGUvYmlvbmljX2FzbS5oPgogCiBFTlRSWShnZXRldWlkKQotICAgIHN0cCAgICAgeDI5LCB4MzAsIFtzcCwgIy0xNl0hCi0gICAgLmNmaV9kZWZfY2ZhX29mZnNldCAxNgotICAgIC5jZmlfcmVsX29mZnNldCB4MjksIDAKLSAgICAuY2ZpX3JlbF9vZmZzZXQgeDMwLCA4Ci0gICAgbW92ICAgICB4MjksICBzcAotCiAgICAgbW92ICAgICB4OCwgX19OUl9nZXRldWlkCiAgICAgc3ZjICAgICAjMAogCi0gICAgbGRwICAgICB4MjksIHgzMCwgW3NwXSwgIzE2Ci0gICAgLmNmaV9kZWZfY2ZhX29mZnNldCAwCi0gICAgLmNmaV9yZXN0b3JlIHgyOQotICAgIC5jZmlfcmVzdG9yZSB4MzAKLQogICAgIGNtbiAgICAgeDAsICMoTUFYX0VSUk5PICsgMSkKICAgICBjbmVnICAgIHgwLCB4MCwgaGkKICAgICBiLmhpICAgIF9fc2V0X2Vycm5vCmRpZmYgLS1naXQgYS9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvZ2V0Z2lkLlMgYi9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvZ2V0Z2lkLlMKaW5kZXggNWYzNDM1NS4uNDY1M2ZkOCAxMDA2NDQKLS0tIGEvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL2dldGdpZC5TCisrKyBiL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9nZXRnaWQuUwpAQCAtMywyMCArMyw5IEBACiAjaW5jbHVkZSA8cHJpdmF0ZS9iaW9uaWNfYXNtLmg+CiAKIEVOVFJZKGdldGdpZCkKLSAgICBzdHAgICAgIHgyOSwgeDMwLCBbc3AsICMtMTZdIQotICAgIC5jZmlfZGVmX2NmYV9vZmZzZXQgMTYKLSAgICAuY2ZpX3JlbF9vZmZzZXQgeDI5LCAwCi0gICAgLmNmaV9yZWxfb2Zmc2V0IHgzMCwgOAotICAgIG1vdiAgICAgeDI5LCAgc3AKLQogICAgIG1vdiAgICAgeDgsIF9fTlJfZ2V0Z2lkCiAgICAgc3ZjICAgICAjMAogCi0gICAgbGRwICAgICB4MjksIHgzMCwgW3NwXSwgIzE2Ci0gICAgLmNmaV9kZWZfY2ZhX29mZnNldCAwCi0gICAgLmNmaV9yZXN0b3JlIHgyOQotICAgIC5jZmlfcmVzdG9yZSB4MzAKLQogICAgIGNtbiAgICAgeDAsICMoTUFYX0VSUk5PICsgMSkKICAgICBjbmVnICAgIHgwLCB4MCwgaGkKICAgICBiLmhpICAgIF9fc2V0X2Vycm5vCmRpZmYgLS1naXQgYS9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvZ2V0Z3JvdXBzLlMgYi9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvZ2V0Z3JvdXBzLlMKaW5kZXggZDBlMjU0MC4uZjIyZjFlOSAxMDA2NDQKLS0tIGEvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL2dldGdyb3Vwcy5TCisrKyBiL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9nZXRncm91cHMuUwpAQCAtMywyMCArMyw5IEBACiAjaW5jbHVkZSA8cHJpdmF0ZS9iaW9uaWNfYXNtLmg+CiAKIEVOVFJZKGdldGdyb3VwcykKLSAgICBzdHAgICAgIHgyOSwgeDMwLCBbc3AsICMtMTZdIQotICAgIC5jZmlfZGVmX2NmYV9vZmZzZXQgMTYKLSAgICAuY2ZpX3JlbF9vZmZzZXQgeDI5LCAwCi0gICAgLmNmaV9yZWxfb2Zmc2V0IHgzMCwgOAotICAgIG1vdiAgICAgeDI5LCAgc3AKLQogICAgIG1vdiAgICAgeDgsIF9fTlJfZ2V0Z3JvdXBzCiAgICAgc3ZjICAgICAjMAogCi0gICAgbGRwICAgICB4MjksIHgzMCwgW3NwXSwgIzE2Ci0gICAgLmNmaV9kZWZfY2ZhX29mZnNldCAwCi0gICAgLmNmaV9yZXN0b3JlIHgyOQotICAgIC5jZmlfcmVzdG9yZSB4MzAKLQogICAgIGNtbiAgICAgeDAsICMoTUFYX0VSUk5PICsgMSkKICAgICBjbmVnICAgIHgwLCB4MCwgaGkKICAgICBiLmhpICAgIF9fc2V0X2Vycm5vCmRpZmYgLS1naXQgYS9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvZ2V0aXRpbWVyLlMgYi9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvZ2V0aXRpbWVyLlMKaW5kZXggMmQ0ZDU0MS4uMjVkMGIzOCAxMDA2NDQKLS0tIGEvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL2dldGl0aW1lci5TCisrKyBiL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9nZXRpdGltZXIuUwpAQCAtMywyMCArMyw5IEBACiAjaW5jbHVkZSA8cHJpdmF0ZS9iaW9uaWNfYXNtLmg+CiAKIEVOVFJZKGdldGl0aW1lcikKLSAgICBzdHAgICAgIHgyOSwgeDMwLCBbc3AsICMtMTZdIQotICAgIC5jZmlfZGVmX2NmYV9vZmZzZXQgMTYKLSAgICAuY2ZpX3JlbF9vZmZzZXQgeDI5LCAwCi0gICAgLmNmaV9yZWxfb2Zmc2V0IHgzMCwgOAotICAgIG1vdiAgICAgeDI5LCAgc3AKLQogICAgIG1vdiAgICAgeDgsIF9fTlJfZ2V0aXRpbWVyCiAgICAgc3ZjICAgICAjMAogCi0gICAgbGRwICAgICB4MjksIHgzMCwgW3NwXSwgIzE2Ci0gICAgLmNmaV9kZWZfY2ZhX29mZnNldCAwCi0gICAgLmNmaV9yZXN0b3JlIHgyOQotICAgIC5jZmlfcmVzdG9yZSB4MzAKLQogICAgIGNtbiAgICAgeDAsICMoTUFYX0VSUk5PICsgMSkKICAgICBjbmVnICAgIHgwLCB4MCwgaGkKICAgICBiLmhpICAgIF9fc2V0X2Vycm5vCmRpZmYgLS1naXQgYS9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvZ2V0cGVlcm5hbWUuUyBiL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9nZXRwZWVybmFtZS5TCmluZGV4IDFmNjQxMzAuLmFlZmQwYzUgMTAwNjQ0Ci0tLSBhL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9nZXRwZWVybmFtZS5TCisrKyBiL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9nZXRwZWVybmFtZS5TCkBAIC0zLDIwICszLDkgQEAKICNpbmNsdWRlIDxwcml2YXRlL2Jpb25pY19hc20uaD4KIAogRU5UUlkoZ2V0cGVlcm5hbWUpCi0gICAgc3RwICAgICB4MjksIHgzMCwgW3NwLCAjLTE2XSEKLSAgICAuY2ZpX2RlZl9jZmFfb2Zmc2V0IDE2Ci0gICAgLmNmaV9yZWxfb2Zmc2V0IHgyOSwgMAotICAgIC5jZmlfcmVsX29mZnNldCB4MzAsIDgKLSAgICBtb3YgICAgIHgyOSwgIHNwCi0KICAgICBtb3YgICAgIHg4LCBfX05SX2dldHBlZXJuYW1lCiAgICAgc3ZjICAgICAjMAogCi0gICAgbGRwICAgICB4MjksIHgzMCwgW3NwXSwgIzE2Ci0gICAgLmNmaV9kZWZfY2ZhX29mZnNldCAwCi0gICAgLmNmaV9yZXN0b3JlIHgyOQotICAgIC5jZmlfcmVzdG9yZSB4MzAKLQogICAgIGNtbiAgICAgeDAsICMoTUFYX0VSUk5PICsgMSkKICAgICBjbmVnICAgIHgwLCB4MCwgaGkKICAgICBiLmhpICAgIF9fc2V0X2Vycm5vCmRpZmYgLS1naXQgYS9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvZ2V0cGdpZC5TIGIvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL2dldHBnaWQuUwppbmRleCAwMWQ4NzZmLi40Yzc1MGZiIDEwMDY0NAotLS0gYS9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvZ2V0cGdpZC5TCisrKyBiL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9nZXRwZ2lkLlMKQEAgLTMsMjAgKzMsOSBAQAogI2luY2x1ZGUgPHByaXZhdGUvYmlvbmljX2FzbS5oPgogCiBFTlRSWShnZXRwZ2lkKQotICAgIHN0cCAgICAgeDI5LCB4MzAsIFtzcCwgIy0xNl0hCi0gICAgLmNmaV9kZWZfY2ZhX29mZnNldCAxNgotICAgIC5jZmlfcmVsX29mZnNldCB4MjksIDAKLSAgICAuY2ZpX3JlbF9vZmZzZXQgeDMwLCA4Ci0gICAgbW92ICAgICB4MjksICBzcAotCiAgICAgbW92ICAgICB4OCwgX19OUl9nZXRwZ2lkCiAgICAgc3ZjICAgICAjMAogCi0gICAgbGRwICAgICB4MjksIHgzMCwgW3NwXSwgIzE2Ci0gICAgLmNmaV9kZWZfY2ZhX29mZnNldCAwCi0gICAgLmNmaV9yZXN0b3JlIHgyOQotICAgIC5jZmlfcmVzdG9yZSB4MzAKLQogICAgIGNtbiAgICAgeDAsICMoTUFYX0VSUk5PICsgMSkKICAgICBjbmVnICAgIHgwLCB4MCwgaGkKICAgICBiLmhpICAgIF9fc2V0X2Vycm5vCmRpZmYgLS1naXQgYS9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvZ2V0cGlkLlMgYi9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvZ2V0cGlkLlMKaW5kZXggOTRiODIzYy4uMTgwMmNlOCAxMDA2NDQKLS0tIGEvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL2dldHBpZC5TCisrKyBiL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9nZXRwaWQuUwpAQCAtMywyMCArMyw5IEBACiAjaW5jbHVkZSA8cHJpdmF0ZS9iaW9uaWNfYXNtLmg+CiAKIEVOVFJZKGdldHBpZCkKLSAgICBzdHAgICAgIHgyOSwgeDMwLCBbc3AsICMtMTZdIQotICAgIC5jZmlfZGVmX2NmYV9vZmZzZXQgMTYKLSAgICAuY2ZpX3JlbF9vZmZzZXQgeDI5LCAwCi0gICAgLmNmaV9yZWxfb2Zmc2V0IHgzMCwgOAotICAgIG1vdiAgICAgeDI5LCAgc3AKLQogICAgIG1vdiAgICAgeDgsIF9fTlJfZ2V0cGlkCiAgICAgc3ZjICAgICAjMAogCi0gICAgbGRwICAgICB4MjksIHgzMCwgW3NwXSwgIzE2Ci0gICAgLmNmaV9kZWZfY2ZhX29mZnNldCAwCi0gICAgLmNmaV9yZXN0b3JlIHgyOQotICAgIC5jZmlfcmVzdG9yZSB4MzAKLQogICAgIGNtbiAgICAgeDAsICMoTUFYX0VSUk5PICsgMSkKICAgICBjbmVnICAgIHgwLCB4MCwgaGkKICAgICBiLmhpICAgIF9fc2V0X2Vycm5vCmRpZmYgLS1naXQgYS9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvZ2V0cHBpZC5TIGIvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL2dldHBwaWQuUwppbmRleCAwYTQ2ODc4Li41NDBlY2M0IDEwMDY0NAotLS0gYS9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvZ2V0cHBpZC5TCisrKyBiL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9nZXRwcGlkLlMKQEAgLTMsMjAgKzMsOSBAQAogI2luY2x1ZGUgPHByaXZhdGUvYmlvbmljX2FzbS5oPgogCiBFTlRSWShnZXRwcGlkKQotICAgIHN0cCAgICAgeDI5LCB4MzAsIFtzcCwgIy0xNl0hCi0gICAgLmNmaV9kZWZfY2ZhX29mZnNldCAxNgotICAgIC5jZmlfcmVsX29mZnNldCB4MjksIDAKLSAgICAuY2ZpX3JlbF9vZmZzZXQgeDMwLCA4Ci0gICAgbW92ICAgICB4MjksICBzcAotCiAgICAgbW92ICAgICB4OCwgX19OUl9nZXRwcGlkCiAgICAgc3ZjICAgICAjMAogCi0gICAgbGRwICAgICB4MjksIHgzMCwgW3NwXSwgIzE2Ci0gICAgLmNmaV9kZWZfY2ZhX29mZnNldCAwCi0gICAgLmNmaV9yZXN0b3JlIHgyOQotICAgIC5jZmlfcmVzdG9yZSB4MzAKLQogICAgIGNtbiAgICAgeDAsICMoTUFYX0VSUk5PICsgMSkKICAgICBjbmVnICAgIHgwLCB4MCwgaGkKICAgICBiLmhpICAgIF9fc2V0X2Vycm5vCmRpZmYgLS1naXQgYS9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvZ2V0cmVzZ2lkLlMgYi9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvZ2V0cmVzZ2lkLlMKaW5kZXggYmMxMjFmYy4uM2NlNTc5OSAxMDA2NDQKLS0tIGEvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL2dldHJlc2dpZC5TCisrKyBiL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9nZXRyZXNnaWQuUwpAQCAtMywyMCArMyw5IEBACiAjaW5jbHVkZSA8cHJpdmF0ZS9iaW9uaWNfYXNtLmg+CiAKIEVOVFJZKGdldHJlc2dpZCkKLSAgICBzdHAgICAgIHgyOSwgeDMwLCBbc3AsICMtMTZdIQotICAgIC5jZmlfZGVmX2NmYV9vZmZzZXQgMTYKLSAgICAuY2ZpX3JlbF9vZmZzZXQgeDI5LCAwCi0gICAgLmNmaV9yZWxfb2Zmc2V0IHgzMCwgOAotICAgIG1vdiAgICAgeDI5LCAgc3AKLQogICAgIG1vdiAgICAgeDgsIF9fTlJfZ2V0cmVzZ2lkCiAgICAgc3ZjICAgICAjMAogCi0gICAgbGRwICAgICB4MjksIHgzMCwgW3NwXSwgIzE2Ci0gICAgLmNmaV9kZWZfY2ZhX29mZnNldCAwCi0gICAgLmNmaV9yZXN0b3JlIHgyOQotICAgIC5jZmlfcmVzdG9yZSB4MzAKLQogICAgIGNtbiAgICAgeDAsICMoTUFYX0VSUk5PICsgMSkKICAgICBjbmVnICAgIHgwLCB4MCwgaGkKICAgICBiLmhpICAgIF9fc2V0X2Vycm5vCmRpZmYgLS1naXQgYS9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvZ2V0cmVzdWlkLlMgYi9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvZ2V0cmVzdWlkLlMKaW5kZXggMjhjZDlhNC4uNTY4NTFjYyAxMDA2NDQKLS0tIGEvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL2dldHJlc3VpZC5TCisrKyBiL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9nZXRyZXN1aWQuUwpAQCAtMywyMCArMyw5IEBACiAjaW5jbHVkZSA8cHJpdmF0ZS9iaW9uaWNfYXNtLmg+CiAKIEVOVFJZKGdldHJlc3VpZCkKLSAgICBzdHAgICAgIHgyOSwgeDMwLCBbc3AsICMtMTZdIQotICAgIC5jZmlfZGVmX2NmYV9vZmZzZXQgMTYKLSAgICAuY2ZpX3JlbF9vZmZzZXQgeDI5LCAwCi0gICAgLmNmaV9yZWxfb2Zmc2V0IHgzMCwgOAotICAgIG1vdiAgICAgeDI5LCAgc3AKLQogICAgIG1vdiAgICAgeDgsIF9fTlJfZ2V0cmVzdWlkCiAgICAgc3ZjICAgICAjMAogCi0gICAgbGRwICAgICB4MjksIHgzMCwgW3NwXSwgIzE2Ci0gICAgLmNmaV9kZWZfY2ZhX29mZnNldCAwCi0gICAgLmNmaV9yZXN0b3JlIHgyOQotICAgIC5jZmlfcmVzdG9yZSB4MzAKLQogICAgIGNtbiAgICAgeDAsICMoTUFYX0VSUk5PICsgMSkKICAgICBjbmVnICAgIHgwLCB4MCwgaGkKICAgICBiLmhpICAgIF9fc2V0X2Vycm5vCmRpZmYgLS1naXQgYS9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvZ2V0cmxpbWl0LlMgYi9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvZ2V0cmxpbWl0LlMKaW5kZXggYWE5NjZjYS4uMWY3NDc3MyAxMDA2NDQKLS0tIGEvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL2dldHJsaW1pdC5TCisrKyBiL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9nZXRybGltaXQuUwpAQCAtMywyMCArMyw5IEBACiAjaW5jbHVkZSA8cHJpdmF0ZS9iaW9uaWNfYXNtLmg+CiAKIEVOVFJZKGdldHJsaW1pdCkKLSAgICBzdHAgICAgIHgyOSwgeDMwLCBbc3AsICMtMTZdIQotICAgIC5jZmlfZGVmX2NmYV9vZmZzZXQgMTYKLSAgICAuY2ZpX3JlbF9vZmZzZXQgeDI5LCAwCi0gICAgLmNmaV9yZWxfb2Zmc2V0IHgzMCwgOAotICAgIG1vdiAgICAgeDI5LCAgc3AKLQogICAgIG1vdiAgICAgeDgsIF9fTlJfZ2V0cmxpbWl0CiAgICAgc3ZjICAgICAjMAogCi0gICAgbGRwICAgICB4MjksIHgzMCwgW3NwXSwgIzE2Ci0gICAgLmNmaV9kZWZfY2ZhX29mZnNldCAwCi0gICAgLmNmaV9yZXN0b3JlIHgyOQotICAgIC5jZmlfcmVzdG9yZSB4MzAKLQogICAgIGNtbiAgICAgeDAsICMoTUFYX0VSUk5PICsgMSkKICAgICBjbmVnICAgIHgwLCB4MCwgaGkKICAgICBiLmhpICAgIF9fc2V0X2Vycm5vCmRpZmYgLS1naXQgYS9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvZ2V0cnVzYWdlLlMgYi9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvZ2V0cnVzYWdlLlMKaW5kZXggYWFhZjNhMi4uODE1NGU0YSAxMDA2NDQKLS0tIGEvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL2dldHJ1c2FnZS5TCisrKyBiL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9nZXRydXNhZ2UuUwpAQCAtMywyMCArMyw5IEBACiAjaW5jbHVkZSA8cHJpdmF0ZS9iaW9uaWNfYXNtLmg+CiAKIEVOVFJZKGdldHJ1c2FnZSkKLSAgICBzdHAgICAgIHgyOSwgeDMwLCBbc3AsICMtMTZdIQotICAgIC5jZmlfZGVmX2NmYV9vZmZzZXQgMTYKLSAgICAuY2ZpX3JlbF9vZmZzZXQgeDI5LCAwCi0gICAgLmNmaV9yZWxfb2Zmc2V0IHgzMCwgOAotICAgIG1vdiAgICAgeDI5LCAgc3AKLQogICAgIG1vdiAgICAgeDgsIF9fTlJfZ2V0cnVzYWdlCiAgICAgc3ZjICAgICAjMAogCi0gICAgbGRwICAgICB4MjksIHgzMCwgW3NwXSwgIzE2Ci0gICAgLmNmaV9kZWZfY2ZhX29mZnNldCAwCi0gICAgLmNmaV9yZXN0b3JlIHgyOQotICAgIC5jZmlfcmVzdG9yZSB4MzAKLQogICAgIGNtbiAgICAgeDAsICMoTUFYX0VSUk5PICsgMSkKICAgICBjbmVnICAgIHgwLCB4MCwgaGkKICAgICBiLmhpICAgIF9fc2V0X2Vycm5vCmRpZmYgLS1naXQgYS9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvZ2V0c2lkLlMgYi9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvZ2V0c2lkLlMKaW5kZXggZTc1YjdiNC4uZjk5NjIzZiAxMDA2NDQKLS0tIGEvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL2dldHNpZC5TCisrKyBiL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9nZXRzaWQuUwpAQCAtMywyMCArMyw5IEBACiAjaW5jbHVkZSA8cHJpdmF0ZS9iaW9uaWNfYXNtLmg+CiAKIEVOVFJZKGdldHNpZCkKLSAgICBzdHAgICAgIHgyOSwgeDMwLCBbc3AsICMtMTZdIQotICAgIC5jZmlfZGVmX2NmYV9vZmZzZXQgMTYKLSAgICAuY2ZpX3JlbF9vZmZzZXQgeDI5LCAwCi0gICAgLmNmaV9yZWxfb2Zmc2V0IHgzMCwgOAotICAgIG1vdiAgICAgeDI5LCAgc3AKLQogICAgIG1vdiAgICAgeDgsIF9fTlJfZ2V0c2lkCiAgICAgc3ZjICAgICAjMAogCi0gICAgbGRwICAgICB4MjksIHgzMCwgW3NwXSwgIzE2Ci0gICAgLmNmaV9kZWZfY2ZhX29mZnNldCAwCi0gICAgLmNmaV9yZXN0b3JlIHgyOQotICAgIC5jZmlfcmVzdG9yZSB4MzAKLQogICAgIGNtbiAgICAgeDAsICMoTUFYX0VSUk5PICsgMSkKICAgICBjbmVnICAgIHgwLCB4MCwgaGkKICAgICBiLmhpICAgIF9fc2V0X2Vycm5vCmRpZmYgLS1naXQgYS9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvZ2V0c29ja25hbWUuUyBiL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9nZXRzb2NrbmFtZS5TCmluZGV4IDYxZTRiNGIuLmU4YmMwMDYgMTAwNjQ0Ci0tLSBhL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9nZXRzb2NrbmFtZS5TCisrKyBiL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9nZXRzb2NrbmFtZS5TCkBAIC0zLDIwICszLDkgQEAKICNpbmNsdWRlIDxwcml2YXRlL2Jpb25pY19hc20uaD4KIAogRU5UUlkoZ2V0c29ja25hbWUpCi0gICAgc3RwICAgICB4MjksIHgzMCwgW3NwLCAjLTE2XSEKLSAgICAuY2ZpX2RlZl9jZmFfb2Zmc2V0IDE2Ci0gICAgLmNmaV9yZWxfb2Zmc2V0IHgyOSwgMAotICAgIC5jZmlfcmVsX29mZnNldCB4MzAsIDgKLSAgICBtb3YgICAgIHgyOSwgIHNwCi0KICAgICBtb3YgICAgIHg4LCBfX05SX2dldHNvY2tuYW1lCiAgICAgc3ZjICAgICAjMAogCi0gICAgbGRwICAgICB4MjksIHgzMCwgW3NwXSwgIzE2Ci0gICAgLmNmaV9kZWZfY2ZhX29mZnNldCAwCi0gICAgLmNmaV9yZXN0b3JlIHgyOQotICAgIC5jZmlfcmVzdG9yZSB4MzAKLQogICAgIGNtbiAgICAgeDAsICMoTUFYX0VSUk5PICsgMSkKICAgICBjbmVnICAgIHgwLCB4MCwgaGkKICAgICBiLmhpICAgIF9fc2V0X2Vycm5vCmRpZmYgLS1naXQgYS9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvZ2V0c29ja29wdC5TIGIvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL2dldHNvY2tvcHQuUwppbmRleCAzNzQwZGY5Li40NTU5ZDFkIDEwMDY0NAotLS0gYS9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvZ2V0c29ja29wdC5TCisrKyBiL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9nZXRzb2Nrb3B0LlMKQEAgLTMsMjAgKzMsOSBAQAogI2luY2x1ZGUgPHByaXZhdGUvYmlvbmljX2FzbS5oPgogCiBFTlRSWShnZXRzb2Nrb3B0KQotICAgIHN0cCAgICAgeDI5LCB4MzAsIFtzcCwgIy0xNl0hCi0gICAgLmNmaV9kZWZfY2ZhX29mZnNldCAxNgotICAgIC5jZmlfcmVsX29mZnNldCB4MjksIDAKLSAgICAuY2ZpX3JlbF9vZmZzZXQgeDMwLCA4Ci0gICAgbW92ICAgICB4MjksICBzcAotCiAgICAgbW92ICAgICB4OCwgX19OUl9nZXRzb2Nrb3B0CiAgICAgc3ZjICAgICAjMAogCi0gICAgbGRwICAgICB4MjksIHgzMCwgW3NwXSwgIzE2Ci0gICAgLmNmaV9kZWZfY2ZhX29mZnNldCAwCi0gICAgLmNmaV9yZXN0b3JlIHgyOQotICAgIC5jZmlfcmVzdG9yZSB4MzAKLQogICAgIGNtbiAgICAgeDAsICMoTUFYX0VSUk5PICsgMSkKICAgICBjbmVnICAgIHgwLCB4MCwgaGkKICAgICBiLmhpICAgIF9fc2V0X2Vycm5vCmRpZmYgLS1naXQgYS9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvZ2V0dGltZW9mZGF5LlMgYi9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvZ2V0dGltZW9mZGF5LlMKaW5kZXggYTcyYWM5MS4uM2I2MTA0YiAxMDA2NDQKLS0tIGEvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL2dldHRpbWVvZmRheS5TCisrKyBiL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9nZXR0aW1lb2ZkYXkuUwpAQCAtMywyMCArMyw5IEBACiAjaW5jbHVkZSA8cHJpdmF0ZS9iaW9uaWNfYXNtLmg+CiAKIEVOVFJZKGdldHRpbWVvZmRheSkKLSAgICBzdHAgICAgIHgyOSwgeDMwLCBbc3AsICMtMTZdIQotICAgIC5jZmlfZGVmX2NmYV9vZmZzZXQgMTYKLSAgICAuY2ZpX3JlbF9vZmZzZXQgeDI5LCAwCi0gICAgLmNmaV9yZWxfb2Zmc2V0IHgzMCwgOAotICAgIG1vdiAgICAgeDI5LCAgc3AKLQogICAgIG1vdiAgICAgeDgsIF9fTlJfZ2V0dGltZW9mZGF5CiAgICAgc3ZjICAgICAjMAogCi0gICAgbGRwICAgICB4MjksIHgzMCwgW3NwXSwgIzE2Ci0gICAgLmNmaV9kZWZfY2ZhX29mZnNldCAwCi0gICAgLmNmaV9yZXN0b3JlIHgyOQotICAgIC5jZmlfcmVzdG9yZSB4MzAKLQogICAgIGNtbiAgICAgeDAsICMoTUFYX0VSUk5PICsgMSkKICAgICBjbmVnICAgIHgwLCB4MCwgaGkKICAgICBiLmhpICAgIF9fc2V0X2Vycm5vCmRpZmYgLS1naXQgYS9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvZ2V0dWlkLlMgYi9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvZ2V0dWlkLlMKaW5kZXggZDc0OWNjMy4uNGUzN2Q0NyAxMDA2NDQKLS0tIGEvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL2dldHVpZC5TCisrKyBiL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9nZXR1aWQuUwpAQCAtMywyMCArMyw5IEBACiAjaW5jbHVkZSA8cHJpdmF0ZS9iaW9uaWNfYXNtLmg+CiAKIEVOVFJZKGdldHVpZCkKLSAgICBzdHAgICAgIHgyOSwgeDMwLCBbc3AsICMtMTZdIQotICAgIC5jZmlfZGVmX2NmYV9vZmZzZXQgMTYKLSAgICAuY2ZpX3JlbF9vZmZzZXQgeDI5LCAwCi0gICAgLmNmaV9yZWxfb2Zmc2V0IHgzMCwgOAotICAgIG1vdiAgICAgeDI5LCAgc3AKLQogICAgIG1vdiAgICAgeDgsIF9fTlJfZ2V0dWlkCiAgICAgc3ZjICAgICAjMAogCi0gICAgbGRwICAgICB4MjksIHgzMCwgW3NwXSwgIzE2Ci0gICAgLmNmaV9kZWZfY2ZhX29mZnNldCAwCi0gICAgLmNmaV9yZXN0b3JlIHgyOQotICAgIC5jZmlfcmVzdG9yZSB4MzAKLQogICAgIGNtbiAgICAgeDAsICMoTUFYX0VSUk5PICsgMSkKICAgICBjbmVnICAgIHgwLCB4MCwgaGkKICAgICBiLmhpICAgIF9fc2V0X2Vycm5vCmRpZmYgLS1naXQgYS9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvZ2V0eGF0dHIuUyBiL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9nZXR4YXR0ci5TCmluZGV4IDQ1MWVlZjUuLjNmNjk5NTYgMTAwNjQ0Ci0tLSBhL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9nZXR4YXR0ci5TCisrKyBiL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9nZXR4YXR0ci5TCkBAIC0zLDIwICszLDkgQEAKICNpbmNsdWRlIDxwcml2YXRlL2Jpb25pY19hc20uaD4KIAogRU5UUlkoZ2V0eGF0dHIpCi0gICAgc3RwICAgICB4MjksIHgzMCwgW3NwLCAjLTE2XSEKLSAgICAuY2ZpX2RlZl9jZmFfb2Zmc2V0IDE2Ci0gICAgLmNmaV9yZWxfb2Zmc2V0IHgyOSwgMAotICAgIC5jZmlfcmVsX29mZnNldCB4MzAsIDgKLSAgICBtb3YgICAgIHgyOSwgIHNwCi0KICAgICBtb3YgICAgIHg4LCBfX05SX2dldHhhdHRyCiAgICAgc3ZjICAgICAjMAogCi0gICAgbGRwICAgICB4MjksIHgzMCwgW3NwXSwgIzE2Ci0gICAgLmNmaV9kZWZfY2ZhX29mZnNldCAwCi0gICAgLmNmaV9yZXN0b3JlIHgyOQotICAgIC5jZmlfcmVzdG9yZSB4MzAKLQogICAgIGNtbiAgICAgeDAsICMoTUFYX0VSUk5PICsgMSkKICAgICBjbmVnICAgIHgwLCB4MCwgaGkKICAgICBiLmhpICAgIF9fc2V0X2Vycm5vCmRpZmYgLS1naXQgYS9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvaW5pdF9tb2R1bGUuUyBiL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9pbml0X21vZHVsZS5TCmluZGV4IDQyZWM3NjUuLmNjMWEwZGEgMTAwNjQ0Ci0tLSBhL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9pbml0X21vZHVsZS5TCisrKyBiL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9pbml0X21vZHVsZS5TCkBAIC0zLDIwICszLDkgQEAKICNpbmNsdWRlIDxwcml2YXRlL2Jpb25pY19hc20uaD4KIAogRU5UUlkoaW5pdF9tb2R1bGUpCi0gICAgc3RwICAgICB4MjksIHgzMCwgW3NwLCAjLTE2XSEKLSAgICAuY2ZpX2RlZl9jZmFfb2Zmc2V0IDE2Ci0gICAgLmNmaV9yZWxfb2Zmc2V0IHgyOSwgMAotICAgIC5jZmlfcmVsX29mZnNldCB4MzAsIDgKLSAgICBtb3YgICAgIHgyOSwgIHNwCi0KICAgICBtb3YgICAgIHg4LCBfX05SX2luaXRfbW9kdWxlCiAgICAgc3ZjICAgICAjMAogCi0gICAgbGRwICAgICB4MjksIHgzMCwgW3NwXSwgIzE2Ci0gICAgLmNmaV9kZWZfY2ZhX29mZnNldCAwCi0gICAgLmNmaV9yZXN0b3JlIHgyOQotICAgIC5jZmlfcmVzdG9yZSB4MzAKLQogICAgIGNtbiAgICAgeDAsICMoTUFYX0VSUk5PICsgMSkKICAgICBjbmVnICAgIHgwLCB4MCwgaGkKICAgICBiLmhpICAgIF9fc2V0X2Vycm5vCmRpZmYgLS1naXQgYS9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvaW5vdGlmeV9hZGRfd2F0Y2guUyBiL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9pbm90aWZ5X2FkZF93YXRjaC5TCmluZGV4IDA2NjgxNmMuLmZiYzhkZDQgMTAwNjQ0Ci0tLSBhL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9pbm90aWZ5X2FkZF93YXRjaC5TCisrKyBiL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9pbm90aWZ5X2FkZF93YXRjaC5TCkBAIC0zLDIwICszLDkgQEAKICNpbmNsdWRlIDxwcml2YXRlL2Jpb25pY19hc20uaD4KIAogRU5UUlkoaW5vdGlmeV9hZGRfd2F0Y2gpCi0gICAgc3RwICAgICB4MjksIHgzMCwgW3NwLCAjLTE2XSEKLSAgICAuY2ZpX2RlZl9jZmFfb2Zmc2V0IDE2Ci0gICAgLmNmaV9yZWxfb2Zmc2V0IHgyOSwgMAotICAgIC5jZmlfcmVsX29mZnNldCB4MzAsIDgKLSAgICBtb3YgICAgIHgyOSwgIHNwCi0KICAgICBtb3YgICAgIHg4LCBfX05SX2lub3RpZnlfYWRkX3dhdGNoCiAgICAgc3ZjICAgICAjMAogCi0gICAgbGRwICAgICB4MjksIHgzMCwgW3NwXSwgIzE2Ci0gICAgLmNmaV9kZWZfY2ZhX29mZnNldCAwCi0gICAgLmNmaV9yZXN0b3JlIHgyOQotICAgIC5jZmlfcmVzdG9yZSB4MzAKLQogICAgIGNtbiAgICAgeDAsICMoTUFYX0VSUk5PICsgMSkKICAgICBjbmVnICAgIHgwLCB4MCwgaGkKICAgICBiLmhpICAgIF9fc2V0X2Vycm5vCmRpZmYgLS1naXQgYS9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvaW5vdGlmeV9pbml0MS5TIGIvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL2lub3RpZnlfaW5pdDEuUwppbmRleCBkNmJlZThjLi41NzI2ZDBjIDEwMDY0NAotLS0gYS9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvaW5vdGlmeV9pbml0MS5TCisrKyBiL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9pbm90aWZ5X2luaXQxLlMKQEAgLTMsMjAgKzMsOSBAQAogI2luY2x1ZGUgPHByaXZhdGUvYmlvbmljX2FzbS5oPgogCiBFTlRSWShpbm90aWZ5X2luaXQxKQotICAgIHN0cCAgICAgeDI5LCB4MzAsIFtzcCwgIy0xNl0hCi0gICAgLmNmaV9kZWZfY2ZhX29mZnNldCAxNgotICAgIC5jZmlfcmVsX29mZnNldCB4MjksIDAKLSAgICAuY2ZpX3JlbF9vZmZzZXQgeDMwLCA4Ci0gICAgbW92ICAgICB4MjksICBzcAotCiAgICAgbW92ICAgICB4OCwgX19OUl9pbm90aWZ5X2luaXQxCiAgICAgc3ZjICAgICAjMAogCi0gICAgbGRwICAgICB4MjksIHgzMCwgW3NwXSwgIzE2Ci0gICAgLmNmaV9kZWZfY2ZhX29mZnNldCAwCi0gICAgLmNmaV9yZXN0b3JlIHgyOQotICAgIC5jZmlfcmVzdG9yZSB4MzAKLQogICAgIGNtbiAgICAgeDAsICMoTUFYX0VSUk5PICsgMSkKICAgICBjbmVnICAgIHgwLCB4MCwgaGkKICAgICBiLmhpICAgIF9fc2V0X2Vycm5vCmRpZmYgLS1naXQgYS9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvaW5vdGlmeV9ybV93YXRjaC5TIGIvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL2lub3RpZnlfcm1fd2F0Y2guUwppbmRleCBlZTljNzBmLi4zN2VhYmNmIDEwMDY0NAotLS0gYS9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvaW5vdGlmeV9ybV93YXRjaC5TCisrKyBiL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9pbm90aWZ5X3JtX3dhdGNoLlMKQEAgLTMsMjAgKzMsOSBAQAogI2luY2x1ZGUgPHByaXZhdGUvYmlvbmljX2FzbS5oPgogCiBFTlRSWShpbm90aWZ5X3JtX3dhdGNoKQotICAgIHN0cCAgICAgeDI5LCB4MzAsIFtzcCwgIy0xNl0hCi0gICAgLmNmaV9kZWZfY2ZhX29mZnNldCAxNgotICAgIC5jZmlfcmVsX29mZnNldCB4MjksIDAKLSAgICAuY2ZpX3JlbF9vZmZzZXQgeDMwLCA4Ci0gICAgbW92ICAgICB4MjksICBzcAotCiAgICAgbW92ICAgICB4OCwgX19OUl9pbm90aWZ5X3JtX3dhdGNoCiAgICAgc3ZjICAgICAjMAogCi0gICAgbGRwICAgICB4MjksIHgzMCwgW3NwXSwgIzE2Ci0gICAgLmNmaV9kZWZfY2ZhX29mZnNldCAwCi0gICAgLmNmaV9yZXN0b3JlIHgyOQotICAgIC5jZmlfcmVzdG9yZSB4MzAKLQogICAgIGNtbiAgICAgeDAsICMoTUFYX0VSUk5PICsgMSkKICAgICBjbmVnICAgIHgwLCB4MCwgaGkKICAgICBiLmhpICAgIF9fc2V0X2Vycm5vCmRpZmYgLS1naXQgYS9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvaW9wcmlvX2dldC5TIGIvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL2lvcHJpb19nZXQuUwppbmRleCA0YTRhNzQ5Li43ZTM5NGM2IDEwMDY0NAotLS0gYS9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvaW9wcmlvX2dldC5TCisrKyBiL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9pb3ByaW9fZ2V0LlMKQEAgLTMsMjAgKzMsOSBAQAogI2luY2x1ZGUgPHByaXZhdGUvYmlvbmljX2FzbS5oPgogCiBFTlRSWShpb3ByaW9fZ2V0KQotICAgIHN0cCAgICAgeDI5LCB4MzAsIFtzcCwgIy0xNl0hCi0gICAgLmNmaV9kZWZfY2ZhX29mZnNldCAxNgotICAgIC5jZmlfcmVsX29mZnNldCB4MjksIDAKLSAgICAuY2ZpX3JlbF9vZmZzZXQgeDMwLCA4Ci0gICAgbW92ICAgICB4MjksICBzcAotCiAgICAgbW92ICAgICB4OCwgX19OUl9pb3ByaW9fZ2V0CiAgICAgc3ZjICAgICAjMAogCi0gICAgbGRwICAgICB4MjksIHgzMCwgW3NwXSwgIzE2Ci0gICAgLmNmaV9kZWZfY2ZhX29mZnNldCAwCi0gICAgLmNmaV9yZXN0b3JlIHgyOQotICAgIC5jZmlfcmVzdG9yZSB4MzAKLQogICAgIGNtbiAgICAgeDAsICMoTUFYX0VSUk5PICsgMSkKICAgICBjbmVnICAgIHgwLCB4MCwgaGkKICAgICBiLmhpICAgIF9fc2V0X2Vycm5vCmRpZmYgLS1naXQgYS9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvaW9wcmlvX3NldC5TIGIvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL2lvcHJpb19zZXQuUwppbmRleCA4YjQ4ZjEyLi5jYTQzZWQ2IDEwMDY0NAotLS0gYS9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvaW9wcmlvX3NldC5TCisrKyBiL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9pb3ByaW9fc2V0LlMKQEAgLTMsMjAgKzMsOSBAQAogI2luY2x1ZGUgPHByaXZhdGUvYmlvbmljX2FzbS5oPgogCiBFTlRSWShpb3ByaW9fc2V0KQotICAgIHN0cCAgICAgeDI5LCB4MzAsIFtzcCwgIy0xNl0hCi0gICAgLmNmaV9kZWZfY2ZhX29mZnNldCAxNgotICAgIC5jZmlfcmVsX29mZnNldCB4MjksIDAKLSAgICAuY2ZpX3JlbF9vZmZzZXQgeDMwLCA4Ci0gICAgbW92ICAgICB4MjksICBzcAotCiAgICAgbW92ICAgICB4OCwgX19OUl9pb3ByaW9fc2V0CiAgICAgc3ZjICAgICAjMAogCi0gICAgbGRwICAgICB4MjksIHgzMCwgW3NwXSwgIzE2Ci0gICAgLmNmaV9kZWZfY2ZhX29mZnNldCAwCi0gICAgLmNmaV9yZXN0b3JlIHgyOQotICAgIC5jZmlfcmVzdG9yZSB4MzAKLQogICAgIGNtbiAgICAgeDAsICMoTUFYX0VSUk5PICsgMSkKICAgICBjbmVnICAgIHgwLCB4MCwgaGkKICAgICBiLmhpICAgIF9fc2V0X2Vycm5vCmRpZmYgLS1naXQgYS9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMva2lsbC5TIGIvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL2tpbGwuUwppbmRleCAxNWMzOTliLi43ZmMyYzVhIDEwMDY0NAotLS0gYS9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMva2lsbC5TCisrKyBiL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9raWxsLlMKQEAgLTMsMjAgKzMsOSBAQAogI2luY2x1ZGUgPHByaXZhdGUvYmlvbmljX2FzbS5oPgogCiBFTlRSWShraWxsKQotICAgIHN0cCAgICAgeDI5LCB4MzAsIFtzcCwgIy0xNl0hCi0gICAgLmNmaV9kZWZfY2ZhX29mZnNldCAxNgotICAgIC5jZmlfcmVsX29mZnNldCB4MjksIDAKLSAgICAuY2ZpX3JlbF9vZmZzZXQgeDMwLCA4Ci0gICAgbW92ICAgICB4MjksICBzcAotCiAgICAgbW92ICAgICB4OCwgX19OUl9raWxsCiAgICAgc3ZjICAgICAjMAogCi0gICAgbGRwICAgICB4MjksIHgzMCwgW3NwXSwgIzE2Ci0gICAgLmNmaV9kZWZfY2ZhX29mZnNldCAwCi0gICAgLmNmaV9yZXN0b3JlIHgyOQotICAgIC5jZmlfcmVzdG9yZSB4MzAKLQogICAgIGNtbiAgICAgeDAsICMoTUFYX0VSUk5PICsgMSkKICAgICBjbmVnICAgIHgwLCB4MCwgaGkKICAgICBiLmhpICAgIF9fc2V0X2Vycm5vCmRpZmYgLS1naXQgYS9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMva2xvZ2N0bC5TIGIvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL2tsb2djdGwuUwppbmRleCAxZDE2MWVjLi5hYmJlZTU1IDEwMDY0NAotLS0gYS9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMva2xvZ2N0bC5TCisrKyBiL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9rbG9nY3RsLlMKQEAgLTMsMjAgKzMsOSBAQAogI2luY2x1ZGUgPHByaXZhdGUvYmlvbmljX2FzbS5oPgogCiBFTlRSWShrbG9nY3RsKQotICAgIHN0cCAgICAgeDI5LCB4MzAsIFtzcCwgIy0xNl0hCi0gICAgLmNmaV9kZWZfY2ZhX29mZnNldCAxNgotICAgIC5jZmlfcmVsX29mZnNldCB4MjksIDAKLSAgICAuY2ZpX3JlbF9vZmZzZXQgeDMwLCA4Ci0gICAgbW92ICAgICB4MjksICBzcAotCiAgICAgbW92ICAgICB4OCwgX19OUl9zeXNsb2cKICAgICBzdmMgICAgICMwCiAKLSAgICBsZHAgICAgIHgyOSwgeDMwLCBbc3BdLCAjMTYKLSAgICAuY2ZpX2RlZl9jZmFfb2Zmc2V0IDAKLSAgICAuY2ZpX3Jlc3RvcmUgeDI5Ci0gICAgLmNmaV9yZXN0b3JlIHgzMAotCiAgICAgY21uICAgICB4MCwgIyhNQVhfRVJSTk8gKyAxKQogICAgIGNuZWcgICAgeDAsIHgwLCBoaQogICAgIGIuaGkgICAgX19zZXRfZXJybm8KZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9sZ2V0eGF0dHIuUyBiL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9sZ2V0eGF0dHIuUwppbmRleCAyNzk5Mjg1Li5lMWE3NjBjIDEwMDY0NAotLS0gYS9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvbGdldHhhdHRyLlMKKysrIGIvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL2xnZXR4YXR0ci5TCkBAIC0zLDIwICszLDkgQEAKICNpbmNsdWRlIDxwcml2YXRlL2Jpb25pY19hc20uaD4KIAogRU5UUlkobGdldHhhdHRyKQotICAgIHN0cCAgICAgeDI5LCB4MzAsIFtzcCwgIy0xNl0hCi0gICAgLmNmaV9kZWZfY2ZhX29mZnNldCAxNgotICAgIC5jZmlfcmVsX29mZnNldCB4MjksIDAKLSAgICAuY2ZpX3JlbF9vZmZzZXQgeDMwLCA4Ci0gICAgbW92ICAgICB4MjksICBzcAotCiAgICAgbW92ICAgICB4OCwgX19OUl9sZ2V0eGF0dHIKICAgICBzdmMgICAgICMwCiAKLSAgICBsZHAgICAgIHgyOSwgeDMwLCBbc3BdLCAjMTYKLSAgICAuY2ZpX2RlZl9jZmFfb2Zmc2V0IDAKLSAgICAuY2ZpX3Jlc3RvcmUgeDI5Ci0gICAgLmNmaV9yZXN0b3JlIHgzMAotCiAgICAgY21uICAgICB4MCwgIyhNQVhfRVJSTk8gKyAxKQogICAgIGNuZWcgICAgeDAsIHgwLCBoaQogICAgIGIuaGkgICAgX19zZXRfZXJybm8KZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9saW5rYXQuUyBiL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9saW5rYXQuUwppbmRleCBlNjVhYTNmLi5jM2UyY2Q4IDEwMDY0NAotLS0gYS9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvbGlua2F0LlMKKysrIGIvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL2xpbmthdC5TCkBAIC0zLDIwICszLDkgQEAKICNpbmNsdWRlIDxwcml2YXRlL2Jpb25pY19hc20uaD4KIAogRU5UUlkobGlua2F0KQotICAgIHN0cCAgICAgeDI5LCB4MzAsIFtzcCwgIy0xNl0hCi0gICAgLmNmaV9kZWZfY2ZhX29mZnNldCAxNgotICAgIC5jZmlfcmVsX29mZnNldCB4MjksIDAKLSAgICAuY2ZpX3JlbF9vZmZzZXQgeDMwLCA4Ci0gICAgbW92ICAgICB4MjksICBzcAotCiAgICAgbW92ICAgICB4OCwgX19OUl9saW5rYXQKICAgICBzdmMgICAgICMwCiAKLSAgICBsZHAgICAgIHgyOSwgeDMwLCBbc3BdLCAjMTYKLSAgICAuY2ZpX2RlZl9jZmFfb2Zmc2V0IDAKLSAgICAuY2ZpX3Jlc3RvcmUgeDI5Ci0gICAgLmNmaV9yZXN0b3JlIHgzMAotCiAgICAgY21uICAgICB4MCwgIyhNQVhfRVJSTk8gKyAxKQogICAgIGNuZWcgICAgeDAsIHgwLCBoaQogICAgIGIuaGkgICAgX19zZXRfZXJybm8KZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9saXN0ZW4uUyBiL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9saXN0ZW4uUwppbmRleCA0NGFlMjg4Li45YjdiZTI4IDEwMDY0NAotLS0gYS9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvbGlzdGVuLlMKKysrIGIvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL2xpc3Rlbi5TCkBAIC0zLDIwICszLDkgQEAKICNpbmNsdWRlIDxwcml2YXRlL2Jpb25pY19hc20uaD4KIAogRU5UUlkobGlzdGVuKQotICAgIHN0cCAgICAgeDI5LCB4MzAsIFtzcCwgIy0xNl0hCi0gICAgLmNmaV9kZWZfY2ZhX29mZnNldCAxNgotICAgIC5jZmlfcmVsX29mZnNldCB4MjksIDAKLSAgICAuY2ZpX3JlbF9vZmZzZXQgeDMwLCA4Ci0gICAgbW92ICAgICB4MjksICBzcAotCiAgICAgbW92ICAgICB4OCwgX19OUl9saXN0ZW4KICAgICBzdmMgICAgICMwCiAKLSAgICBsZHAgICAgIHgyOSwgeDMwLCBbc3BdLCAjMTYKLSAgICAuY2ZpX2RlZl9jZmFfb2Zmc2V0IDAKLSAgICAuY2ZpX3Jlc3RvcmUgeDI5Ci0gICAgLmNmaV9yZXN0b3JlIHgzMAotCiAgICAgY21uICAgICB4MCwgIyhNQVhfRVJSTk8gKyAxKQogICAgIGNuZWcgICAgeDAsIHgwLCBoaQogICAgIGIuaGkgICAgX19zZXRfZXJybm8KZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9saXN0eGF0dHIuUyBiL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9saXN0eGF0dHIuUwppbmRleCBiMzFkMjJjLi5hNWU1NWM3IDEwMDY0NAotLS0gYS9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvbGlzdHhhdHRyLlMKKysrIGIvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL2xpc3R4YXR0ci5TCkBAIC0zLDIwICszLDkgQEAKICNpbmNsdWRlIDxwcml2YXRlL2Jpb25pY19hc20uaD4KIAogRU5UUlkobGlzdHhhdHRyKQotICAgIHN0cCAgICAgeDI5LCB4MzAsIFtzcCwgIy0xNl0hCi0gICAgLmNmaV9kZWZfY2ZhX29mZnNldCAxNgotICAgIC5jZmlfcmVsX29mZnNldCB4MjksIDAKLSAgICAuY2ZpX3JlbF9vZmZzZXQgeDMwLCA4Ci0gICAgbW92ICAgICB4MjksICBzcAotCiAgICAgbW92ICAgICB4OCwgX19OUl9saXN0eGF0dHIKICAgICBzdmMgICAgICMwCiAKLSAgICBsZHAgICAgIHgyOSwgeDMwLCBbc3BdLCAjMTYKLSAgICAuY2ZpX2RlZl9jZmFfb2Zmc2V0IDAKLSAgICAuY2ZpX3Jlc3RvcmUgeDI5Ci0gICAgLmNmaV9yZXN0b3JlIHgzMAotCiAgICAgY21uICAgICB4MCwgIyhNQVhfRVJSTk8gKyAxKQogICAgIGNuZWcgICAgeDAsIHgwLCBoaQogICAgIGIuaGkgICAgX19zZXRfZXJybm8KZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9sbGlzdHhhdHRyLlMgYi9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvbGxpc3R4YXR0ci5TCmluZGV4IGZkY2FmZGUuLjQ0N2UyMDggMTAwNjQ0Ci0tLSBhL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9sbGlzdHhhdHRyLlMKKysrIGIvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL2xsaXN0eGF0dHIuUwpAQCAtMywyMCArMyw5IEBACiAjaW5jbHVkZSA8cHJpdmF0ZS9iaW9uaWNfYXNtLmg+CiAKIEVOVFJZKGxsaXN0eGF0dHIpCi0gICAgc3RwICAgICB4MjksIHgzMCwgW3NwLCAjLTE2XSEKLSAgICAuY2ZpX2RlZl9jZmFfb2Zmc2V0IDE2Ci0gICAgLmNmaV9yZWxfb2Zmc2V0IHgyOSwgMAotICAgIC5jZmlfcmVsX29mZnNldCB4MzAsIDgKLSAgICBtb3YgICAgIHgyOSwgIHNwCi0KICAgICBtb3YgICAgIHg4LCBfX05SX2xsaXN0eGF0dHIKICAgICBzdmMgICAgICMwCiAKLSAgICBsZHAgICAgIHgyOSwgeDMwLCBbc3BdLCAjMTYKLSAgICAuY2ZpX2RlZl9jZmFfb2Zmc2V0IDAKLSAgICAuY2ZpX3Jlc3RvcmUgeDI5Ci0gICAgLmNmaV9yZXN0b3JlIHgzMAotCiAgICAgY21uICAgICB4MCwgIyhNQVhfRVJSTk8gKyAxKQogICAgIGNuZWcgICAgeDAsIHgwLCBoaQogICAgIGIuaGkgICAgX19zZXRfZXJybm8KZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9scmVtb3ZleGF0dHIuUyBiL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9scmVtb3ZleGF0dHIuUwppbmRleCA3NDFmYTg2Li4xZjYyMGRiIDEwMDY0NAotLS0gYS9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvbHJlbW92ZXhhdHRyLlMKKysrIGIvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL2xyZW1vdmV4YXR0ci5TCkBAIC0zLDIwICszLDkgQEAKICNpbmNsdWRlIDxwcml2YXRlL2Jpb25pY19hc20uaD4KIAogRU5UUlkobHJlbW92ZXhhdHRyKQotICAgIHN0cCAgICAgeDI5LCB4MzAsIFtzcCwgIy0xNl0hCi0gICAgLmNmaV9kZWZfY2ZhX29mZnNldCAxNgotICAgIC5jZmlfcmVsX29mZnNldCB4MjksIDAKLSAgICAuY2ZpX3JlbF9vZmZzZXQgeDMwLCA4Ci0gICAgbW92ICAgICB4MjksICBzcAotCiAgICAgbW92ICAgICB4OCwgX19OUl9scmVtb3ZleGF0dHIKICAgICBzdmMgICAgICMwCiAKLSAgICBsZHAgICAgIHgyOSwgeDMwLCBbc3BdLCAjMTYKLSAgICAuY2ZpX2RlZl9jZmFfb2Zmc2V0IDAKLSAgICAuY2ZpX3Jlc3RvcmUgeDI5Ci0gICAgLmNmaV9yZXN0b3JlIHgzMAotCiAgICAgY21uICAgICB4MCwgIyhNQVhfRVJSTk8gKyAxKQogICAgIGNuZWcgICAgeDAsIHgwLCBoaQogICAgIGIuaGkgICAgX19zZXRfZXJybm8KZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9sc2Vlay5TIGIvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL2xzZWVrLlMKaW5kZXggM2QxNmU3NS4uMWI4NThiMiAxMDA2NDQKLS0tIGEvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL2xzZWVrLlMKKysrIGIvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL2xzZWVrLlMKQEAgLTMsMjAgKzMsOSBAQAogI2luY2x1ZGUgPHByaXZhdGUvYmlvbmljX2FzbS5oPgogCiBFTlRSWShsc2VlaykKLSAgICBzdHAgICAgIHgyOSwgeDMwLCBbc3AsICMtMTZdIQotICAgIC5jZmlfZGVmX2NmYV9vZmZzZXQgMTYKLSAgICAuY2ZpX3JlbF9vZmZzZXQgeDI5LCAwCi0gICAgLmNmaV9yZWxfb2Zmc2V0IHgzMCwgOAotICAgIG1vdiAgICAgeDI5LCAgc3AKLQogICAgIG1vdiAgICAgeDgsIF9fTlJfbHNlZWsKICAgICBzdmMgICAgICMwCiAKLSAgICBsZHAgICAgIHgyOSwgeDMwLCBbc3BdLCAjMTYKLSAgICAuY2ZpX2RlZl9jZmFfb2Zmc2V0IDAKLSAgICAuY2ZpX3Jlc3RvcmUgeDI5Ci0gICAgLmNmaV9yZXN0b3JlIHgzMAotCiAgICAgY21uICAgICB4MCwgIyhNQVhfRVJSTk8gKyAxKQogICAgIGNuZWcgICAgeDAsIHgwLCBoaQogICAgIGIuaGkgICAgX19zZXRfZXJybm8KZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9sc2V0eGF0dHIuUyBiL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9sc2V0eGF0dHIuUwppbmRleCBhN2ZlMWRmLi44MzE1YmJhIDEwMDY0NAotLS0gYS9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvbHNldHhhdHRyLlMKKysrIGIvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL2xzZXR4YXR0ci5TCkBAIC0zLDIwICszLDkgQEAKICNpbmNsdWRlIDxwcml2YXRlL2Jpb25pY19hc20uaD4KIAogRU5UUlkobHNldHhhdHRyKQotICAgIHN0cCAgICAgeDI5LCB4MzAsIFtzcCwgIy0xNl0hCi0gICAgLmNmaV9kZWZfY2ZhX29mZnNldCAxNgotICAgIC5jZmlfcmVsX29mZnNldCB4MjksIDAKLSAgICAuY2ZpX3JlbF9vZmZzZXQgeDMwLCA4Ci0gICAgbW92ICAgICB4MjksICBzcAotCiAgICAgbW92ICAgICB4OCwgX19OUl9sc2V0eGF0dHIKICAgICBzdmMgICAgICMwCiAKLSAgICBsZHAgICAgIHgyOSwgeDMwLCBbc3BdLCAjMTYKLSAgICAuY2ZpX2RlZl9jZmFfb2Zmc2V0IDAKLSAgICAuY2ZpX3Jlc3RvcmUgeDI5Ci0gICAgLmNmaV9yZXN0b3JlIHgzMAotCiAgICAgY21uICAgICB4MCwgIyhNQVhfRVJSTk8gKyAxKQogICAgIGNuZWcgICAgeDAsIHgwLCBoaQogICAgIGIuaGkgICAgX19zZXRfZXJybm8KZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9tYWR2aXNlLlMgYi9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvbWFkdmlzZS5TCmluZGV4IDhlZWQyNzQuLjE3MjgyYzAgMTAwNjQ0Ci0tLSBhL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9tYWR2aXNlLlMKKysrIGIvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL21hZHZpc2UuUwpAQCAtMywyMCArMyw5IEBACiAjaW5jbHVkZSA8cHJpdmF0ZS9iaW9uaWNfYXNtLmg+CiAKIEVOVFJZKG1hZHZpc2UpCi0gICAgc3RwICAgICB4MjksIHgzMCwgW3NwLCAjLTE2XSEKLSAgICAuY2ZpX2RlZl9jZmFfb2Zmc2V0IDE2Ci0gICAgLmNmaV9yZWxfb2Zmc2V0IHgyOSwgMAotICAgIC5jZmlfcmVsX29mZnNldCB4MzAsIDgKLSAgICBtb3YgICAgIHgyOSwgIHNwCi0KICAgICBtb3YgICAgIHg4LCBfX05SX21hZHZpc2UKICAgICBzdmMgICAgICMwCiAKLSAgICBsZHAgICAgIHgyOSwgeDMwLCBbc3BdLCAjMTYKLSAgICAuY2ZpX2RlZl9jZmFfb2Zmc2V0IDAKLSAgICAuY2ZpX3Jlc3RvcmUgeDI5Ci0gICAgLmNmaV9yZXN0b3JlIHgzMAotCiAgICAgY21uICAgICB4MCwgIyhNQVhfRVJSTk8gKyAxKQogICAgIGNuZWcgICAgeDAsIHgwLCBoaQogICAgIGIuaGkgICAgX19zZXRfZXJybm8KZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9taW5jb3JlLlMgYi9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvbWluY29yZS5TCmluZGV4IDIxZGJlMTQuLmFiZGNmNmMgMTAwNjQ0Ci0tLSBhL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9taW5jb3JlLlMKKysrIGIvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL21pbmNvcmUuUwpAQCAtMywyMCArMyw5IEBACiAjaW5jbHVkZSA8cHJpdmF0ZS9iaW9uaWNfYXNtLmg+CiAKIEVOVFJZKG1pbmNvcmUpCi0gICAgc3RwICAgICB4MjksIHgzMCwgW3NwLCAjLTE2XSEKLSAgICAuY2ZpX2RlZl9jZmFfb2Zmc2V0IDE2Ci0gICAgLmNmaV9yZWxfb2Zmc2V0IHgyOSwgMAotICAgIC5jZmlfcmVsX29mZnNldCB4MzAsIDgKLSAgICBtb3YgICAgIHgyOSwgIHNwCi0KICAgICBtb3YgICAgIHg4LCBfX05SX21pbmNvcmUKICAgICBzdmMgICAgICMwCiAKLSAgICBsZHAgICAgIHgyOSwgeDMwLCBbc3BdLCAjMTYKLSAgICAuY2ZpX2RlZl9jZmFfb2Zmc2V0IDAKLSAgICAuY2ZpX3Jlc3RvcmUgeDI5Ci0gICAgLmNmaV9yZXN0b3JlIHgzMAotCiAgICAgY21uICAgICB4MCwgIyhNQVhfRVJSTk8gKyAxKQogICAgIGNuZWcgICAgeDAsIHgwLCBoaQogICAgIGIuaGkgICAgX19zZXRfZXJybm8KZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9ta2RpcmF0LlMgYi9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvbWtkaXJhdC5TCmluZGV4IGVmZDk3ODYuLmQ2YmFmY2EgMTAwNjQ0Ci0tLSBhL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9ta2RpcmF0LlMKKysrIGIvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL21rZGlyYXQuUwpAQCAtMywyMCArMyw5IEBACiAjaW5jbHVkZSA8cHJpdmF0ZS9iaW9uaWNfYXNtLmg+CiAKIEVOVFJZKG1rZGlyYXQpCi0gICAgc3RwICAgICB4MjksIHgzMCwgW3NwLCAjLTE2XSEKLSAgICAuY2ZpX2RlZl9jZmFfb2Zmc2V0IDE2Ci0gICAgLmNmaV9yZWxfb2Zmc2V0IHgyOSwgMAotICAgIC5jZmlfcmVsX29mZnNldCB4MzAsIDgKLSAgICBtb3YgICAgIHgyOSwgIHNwCi0KICAgICBtb3YgICAgIHg4LCBfX05SX21rZGlyYXQKICAgICBzdmMgICAgICMwCiAKLSAgICBsZHAgICAgIHgyOSwgeDMwLCBbc3BdLCAjMTYKLSAgICAuY2ZpX2RlZl9jZmFfb2Zmc2V0IDAKLSAgICAuY2ZpX3Jlc3RvcmUgeDI5Ci0gICAgLmNmaV9yZXN0b3JlIHgzMAotCiAgICAgY21uICAgICB4MCwgIyhNQVhfRVJSTk8gKyAxKQogICAgIGNuZWcgICAgeDAsIHgwLCBoaQogICAgIGIuaGkgICAgX19zZXRfZXJybm8KZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9ta25vZGF0LlMgYi9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvbWtub2RhdC5TCmluZGV4IDFiZjQyZDAuLjU5OGU3ODkgMTAwNjQ0Ci0tLSBhL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9ta25vZGF0LlMKKysrIGIvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL21rbm9kYXQuUwpAQCAtMywyMCArMyw5IEBACiAjaW5jbHVkZSA8cHJpdmF0ZS9iaW9uaWNfYXNtLmg+CiAKIEVOVFJZKG1rbm9kYXQpCi0gICAgc3RwICAgICB4MjksIHgzMCwgW3NwLCAjLTE2XSEKLSAgICAuY2ZpX2RlZl9jZmFfb2Zmc2V0IDE2Ci0gICAgLmNmaV9yZWxfb2Zmc2V0IHgyOSwgMAotICAgIC5jZmlfcmVsX29mZnNldCB4MzAsIDgKLSAgICBtb3YgICAgIHgyOSwgIHNwCi0KICAgICBtb3YgICAgIHg4LCBfX05SX21rbm9kYXQKICAgICBzdmMgICAgICMwCiAKLSAgICBsZHAgICAgIHgyOSwgeDMwLCBbc3BdLCAjMTYKLSAgICAuY2ZpX2RlZl9jZmFfb2Zmc2V0IDAKLSAgICAuY2ZpX3Jlc3RvcmUgeDI5Ci0gICAgLmNmaV9yZXN0b3JlIHgzMAotCiAgICAgY21uICAgICB4MCwgIyhNQVhfRVJSTk8gKyAxKQogICAgIGNuZWcgICAgeDAsIHgwLCBoaQogICAgIGIuaGkgICAgX19zZXRfZXJybm8KZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9tbG9jay5TIGIvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL21sb2NrLlMKaW5kZXggZTA5ZTdmYy4uNjMxY2UwMiAxMDA2NDQKLS0tIGEvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL21sb2NrLlMKKysrIGIvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL21sb2NrLlMKQEAgLTMsMjAgKzMsOSBAQAogI2luY2x1ZGUgPHByaXZhdGUvYmlvbmljX2FzbS5oPgogCiBFTlRSWShtbG9jaykKLSAgICBzdHAgICAgIHgyOSwgeDMwLCBbc3AsICMtMTZdIQotICAgIC5jZmlfZGVmX2NmYV9vZmZzZXQgMTYKLSAgICAuY2ZpX3JlbF9vZmZzZXQgeDI5LCAwCi0gICAgLmNmaV9yZWxfb2Zmc2V0IHgzMCwgOAotICAgIG1vdiAgICAgeDI5LCAgc3AKLQogICAgIG1vdiAgICAgeDgsIF9fTlJfbWxvY2sKICAgICBzdmMgICAgICMwCiAKLSAgICBsZHAgICAgIHgyOSwgeDMwLCBbc3BdLCAjMTYKLSAgICAuY2ZpX2RlZl9jZmFfb2Zmc2V0IDAKLSAgICAuY2ZpX3Jlc3RvcmUgeDI5Ci0gICAgLmNmaV9yZXN0b3JlIHgzMAotCiAgICAgY21uICAgICB4MCwgIyhNQVhfRVJSTk8gKyAxKQogICAgIGNuZWcgICAgeDAsIHgwLCBoaQogICAgIGIuaGkgICAgX19zZXRfZXJybm8KZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9tbG9ja2FsbC5TIGIvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL21sb2NrYWxsLlMKaW5kZXggYmZiMmI2MC4uNDJkYWM5ZSAxMDA2NDQKLS0tIGEvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL21sb2NrYWxsLlMKKysrIGIvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL21sb2NrYWxsLlMKQEAgLTMsMjAgKzMsOSBAQAogI2luY2x1ZGUgPHByaXZhdGUvYmlvbmljX2FzbS5oPgogCiBFTlRSWShtbG9ja2FsbCkKLSAgICBzdHAgICAgIHgyOSwgeDMwLCBbc3AsICMtMTZdIQotICAgIC5jZmlfZGVmX2NmYV9vZmZzZXQgMTYKLSAgICAuY2ZpX3JlbF9vZmZzZXQgeDI5LCAwCi0gICAgLmNmaV9yZWxfb2Zmc2V0IHgzMCwgOAotICAgIG1vdiAgICAgeDI5LCAgc3AKLQogICAgIG1vdiAgICAgeDgsIF9fTlJfbWxvY2thbGwKICAgICBzdmMgICAgICMwCiAKLSAgICBsZHAgICAgIHgyOSwgeDMwLCBbc3BdLCAjMTYKLSAgICAuY2ZpX2RlZl9jZmFfb2Zmc2V0IDAKLSAgICAuY2ZpX3Jlc3RvcmUgeDI5Ci0gICAgLmNmaV9yZXN0b3JlIHgzMAotCiAgICAgY21uICAgICB4MCwgIyhNQVhfRVJSTk8gKyAxKQogICAgIGNuZWcgICAgeDAsIHgwLCBoaQogICAgIGIuaGkgICAgX19zZXRfZXJybm8KZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9tbWFwLlMgYi9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvbW1hcC5TCmluZGV4IDQzNzY5OGEuLmRhMThlMTAgMTAwNjQ0Ci0tLSBhL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9tbWFwLlMKKysrIGIvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL21tYXAuUwpAQCAtMywyMCArMyw5IEBACiAjaW5jbHVkZSA8cHJpdmF0ZS9iaW9uaWNfYXNtLmg+CiAKIEVOVFJZKG1tYXApCi0gICAgc3RwICAgICB4MjksIHgzMCwgW3NwLCAjLTE2XSEKLSAgICAuY2ZpX2RlZl9jZmFfb2Zmc2V0IDE2Ci0gICAgLmNmaV9yZWxfb2Zmc2V0IHgyOSwgMAotICAgIC5jZmlfcmVsX29mZnNldCB4MzAsIDgKLSAgICBtb3YgICAgIHgyOSwgIHNwCi0KICAgICBtb3YgICAgIHg4LCBfX05SX21tYXAKICAgICBzdmMgICAgICMwCiAKLSAgICBsZHAgICAgIHgyOSwgeDMwLCBbc3BdLCAjMTYKLSAgICAuY2ZpX2RlZl9jZmFfb2Zmc2V0IDAKLSAgICAuY2ZpX3Jlc3RvcmUgeDI5Ci0gICAgLmNmaV9yZXN0b3JlIHgzMAotCiAgICAgY21uICAgICB4MCwgIyhNQVhfRVJSTk8gKyAxKQogICAgIGNuZWcgICAgeDAsIHgwLCBoaQogICAgIGIuaGkgICAgX19zZXRfZXJybm8KZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9tb3VudC5TIGIvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL21vdW50LlMKaW5kZXggMzQxNzBkOC4uYzQzYTcxZiAxMDA2NDQKLS0tIGEvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL21vdW50LlMKKysrIGIvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL21vdW50LlMKQEAgLTMsMjAgKzMsOSBAQAogI2luY2x1ZGUgPHByaXZhdGUvYmlvbmljX2FzbS5oPgogCiBFTlRSWShtb3VudCkKLSAgICBzdHAgICAgIHgyOSwgeDMwLCBbc3AsICMtMTZdIQotICAgIC5jZmlfZGVmX2NmYV9vZmZzZXQgMTYKLSAgICAuY2ZpX3JlbF9vZmZzZXQgeDI5LCAwCi0gICAgLmNmaV9yZWxfb2Zmc2V0IHgzMCwgOAotICAgIG1vdiAgICAgeDI5LCAgc3AKLQogICAgIG1vdiAgICAgeDgsIF9fTlJfbW91bnQKICAgICBzdmMgICAgICMwCiAKLSAgICBsZHAgICAgIHgyOSwgeDMwLCBbc3BdLCAjMTYKLSAgICAuY2ZpX2RlZl9jZmFfb2Zmc2V0IDAKLSAgICAuY2ZpX3Jlc3RvcmUgeDI5Ci0gICAgLmNmaV9yZXN0b3JlIHgzMAotCiAgICAgY21uICAgICB4MCwgIyhNQVhfRVJSTk8gKyAxKQogICAgIGNuZWcgICAgeDAsIHgwLCBoaQogICAgIGIuaGkgICAgX19zZXRfZXJybm8KZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9tcHJvdGVjdC5TIGIvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL21wcm90ZWN0LlMKaW5kZXggY2RiNGJjOC4uYTdkMjZkZCAxMDA2NDQKLS0tIGEvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL21wcm90ZWN0LlMKKysrIGIvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL21wcm90ZWN0LlMKQEAgLTMsMjAgKzMsOSBAQAogI2luY2x1ZGUgPHByaXZhdGUvYmlvbmljX2FzbS5oPgogCiBFTlRSWShtcHJvdGVjdCkKLSAgICBzdHAgICAgIHgyOSwgeDMwLCBbc3AsICMtMTZdIQotICAgIC5jZmlfZGVmX2NmYV9vZmZzZXQgMTYKLSAgICAuY2ZpX3JlbF9vZmZzZXQgeDI5LCAwCi0gICAgLmNmaV9yZWxfb2Zmc2V0IHgzMCwgOAotICAgIG1vdiAgICAgeDI5LCAgc3AKLQogICAgIG1vdiAgICAgeDgsIF9fTlJfbXByb3RlY3QKICAgICBzdmMgICAgICMwCiAKLSAgICBsZHAgICAgIHgyOSwgeDMwLCBbc3BdLCAjMTYKLSAgICAuY2ZpX2RlZl9jZmFfb2Zmc2V0IDAKLSAgICAuY2ZpX3Jlc3RvcmUgeDI5Ci0gICAgLmNmaV9yZXN0b3JlIHgzMAotCiAgICAgY21uICAgICB4MCwgIyhNQVhfRVJSTk8gKyAxKQogICAgIGNuZWcgICAgeDAsIHgwLCBoaQogICAgIGIuaGkgICAgX19zZXRfZXJybm8KZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9tcmVtYXAuUyBiL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9tcmVtYXAuUwppbmRleCA2MDViMzlkLi4zMzdiYmFlIDEwMDY0NAotLS0gYS9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvbXJlbWFwLlMKKysrIGIvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL21yZW1hcC5TCkBAIC0zLDIwICszLDkgQEAKICNpbmNsdWRlIDxwcml2YXRlL2Jpb25pY19hc20uaD4KIAogRU5UUlkobXJlbWFwKQotICAgIHN0cCAgICAgeDI5LCB4MzAsIFtzcCwgIy0xNl0hCi0gICAgLmNmaV9kZWZfY2ZhX29mZnNldCAxNgotICAgIC5jZmlfcmVsX29mZnNldCB4MjksIDAKLSAgICAuY2ZpX3JlbF9vZmZzZXQgeDMwLCA4Ci0gICAgbW92ICAgICB4MjksICBzcAotCiAgICAgbW92ICAgICB4OCwgX19OUl9tcmVtYXAKICAgICBzdmMgICAgICMwCiAKLSAgICBsZHAgICAgIHgyOSwgeDMwLCBbc3BdLCAjMTYKLSAgICAuY2ZpX2RlZl9jZmFfb2Zmc2V0IDAKLSAgICAuY2ZpX3Jlc3RvcmUgeDI5Ci0gICAgLmNmaV9yZXN0b3JlIHgzMAotCiAgICAgY21uICAgICB4MCwgIyhNQVhfRVJSTk8gKyAxKQogICAgIGNuZWcgICAgeDAsIHgwLCBoaQogICAgIGIuaGkgICAgX19zZXRfZXJybm8KZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9tc3luYy5TIGIvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL21zeW5jLlMKaW5kZXggZTUxMWU4Ni4uYzU0Nzk3ZSAxMDA2NDQKLS0tIGEvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL21zeW5jLlMKKysrIGIvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL21zeW5jLlMKQEAgLTMsMjAgKzMsOSBAQAogI2luY2x1ZGUgPHByaXZhdGUvYmlvbmljX2FzbS5oPgogCiBFTlRSWShtc3luYykKLSAgICBzdHAgICAgIHgyOSwgeDMwLCBbc3AsICMtMTZdIQotICAgIC5jZmlfZGVmX2NmYV9vZmZzZXQgMTYKLSAgICAuY2ZpX3JlbF9vZmZzZXQgeDI5LCAwCi0gICAgLmNmaV9yZWxfb2Zmc2V0IHgzMCwgOAotICAgIG1vdiAgICAgeDI5LCAgc3AKLQogICAgIG1vdiAgICAgeDgsIF9fTlJfbXN5bmMKICAgICBzdmMgICAgICMwCiAKLSAgICBsZHAgICAgIHgyOSwgeDMwLCBbc3BdLCAjMTYKLSAgICAuY2ZpX2RlZl9jZmFfb2Zmc2V0IDAKLSAgICAuY2ZpX3Jlc3RvcmUgeDI5Ci0gICAgLmNmaV9yZXN0b3JlIHgzMAotCiAgICAgY21uICAgICB4MCwgIyhNQVhfRVJSTk8gKyAxKQogICAgIGNuZWcgICAgeDAsIHgwLCBoaQogICAgIGIuaGkgICAgX19zZXRfZXJybm8KZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9tdW5sb2NrLlMgYi9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvbXVubG9jay5TCmluZGV4IGY4MzdjOWMuLmIxZWMwMTYgMTAwNjQ0Ci0tLSBhL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9tdW5sb2NrLlMKKysrIGIvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL211bmxvY2suUwpAQCAtMywyMCArMyw5IEBACiAjaW5jbHVkZSA8cHJpdmF0ZS9iaW9uaWNfYXNtLmg+CiAKIEVOVFJZKG11bmxvY2spCi0gICAgc3RwICAgICB4MjksIHgzMCwgW3NwLCAjLTE2XSEKLSAgICAuY2ZpX2RlZl9jZmFfb2Zmc2V0IDE2Ci0gICAgLmNmaV9yZWxfb2Zmc2V0IHgyOSwgMAotICAgIC5jZmlfcmVsX29mZnNldCB4MzAsIDgKLSAgICBtb3YgICAgIHgyOSwgIHNwCi0KICAgICBtb3YgICAgIHg4LCBfX05SX211bmxvY2sKICAgICBzdmMgICAgICMwCiAKLSAgICBsZHAgICAgIHgyOSwgeDMwLCBbc3BdLCAjMTYKLSAgICAuY2ZpX2RlZl9jZmFfb2Zmc2V0IDAKLSAgICAuY2ZpX3Jlc3RvcmUgeDI5Ci0gICAgLmNmaV9yZXN0b3JlIHgzMAotCiAgICAgY21uICAgICB4MCwgIyhNQVhfRVJSTk8gKyAxKQogICAgIGNuZWcgICAgeDAsIHgwLCBoaQogICAgIGIuaGkgICAgX19zZXRfZXJybm8KZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9tdW5sb2NrYWxsLlMgYi9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvbXVubG9ja2FsbC5TCmluZGV4IDkzZTkxMjEuLmY5MTYyYTggMTAwNjQ0Ci0tLSBhL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9tdW5sb2NrYWxsLlMKKysrIGIvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL211bmxvY2thbGwuUwpAQCAtMywyMCArMyw5IEBACiAjaW5jbHVkZSA8cHJpdmF0ZS9iaW9uaWNfYXNtLmg+CiAKIEVOVFJZKG11bmxvY2thbGwpCi0gICAgc3RwICAgICB4MjksIHgzMCwgW3NwLCAjLTE2XSEKLSAgICAuY2ZpX2RlZl9jZmFfb2Zmc2V0IDE2Ci0gICAgLmNmaV9yZWxfb2Zmc2V0IHgyOSwgMAotICAgIC5jZmlfcmVsX29mZnNldCB4MzAsIDgKLSAgICBtb3YgICAgIHgyOSwgIHNwCi0KICAgICBtb3YgICAgIHg4LCBfX05SX211bmxvY2thbGwKICAgICBzdmMgICAgICMwCiAKLSAgICBsZHAgICAgIHgyOSwgeDMwLCBbc3BdLCAjMTYKLSAgICAuY2ZpX2RlZl9jZmFfb2Zmc2V0IDAKLSAgICAuY2ZpX3Jlc3RvcmUgeDI5Ci0gICAgLmNmaV9yZXN0b3JlIHgzMAotCiAgICAgY21uICAgICB4MCwgIyhNQVhfRVJSTk8gKyAxKQogICAgIGNuZWcgICAgeDAsIHgwLCBoaQogICAgIGIuaGkgICAgX19zZXRfZXJybm8KZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9tdW5tYXAuUyBiL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9tdW5tYXAuUwppbmRleCBmMmIyMmJkLi42YmQ1YWZlIDEwMDY0NAotLS0gYS9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvbXVubWFwLlMKKysrIGIvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL211bm1hcC5TCkBAIC0zLDIwICszLDkgQEAKICNpbmNsdWRlIDxwcml2YXRlL2Jpb25pY19hc20uaD4KIAogRU5UUlkobXVubWFwKQotICAgIHN0cCAgICAgeDI5LCB4MzAsIFtzcCwgIy0xNl0hCi0gICAgLmNmaV9kZWZfY2ZhX29mZnNldCAxNgotICAgIC5jZmlfcmVsX29mZnNldCB4MjksIDAKLSAgICAuY2ZpX3JlbF9vZmZzZXQgeDMwLCA4Ci0gICAgbW92ICAgICB4MjksICBzcAotCiAgICAgbW92ICAgICB4OCwgX19OUl9tdW5tYXAKICAgICBzdmMgICAgICMwCiAKLSAgICBsZHAgICAgIHgyOSwgeDMwLCBbc3BdLCAjMTYKLSAgICAuY2ZpX2RlZl9jZmFfb2Zmc2V0IDAKLSAgICAuY2ZpX3Jlc3RvcmUgeDI5Ci0gICAgLmNmaV9yZXN0b3JlIHgzMAotCiAgICAgY21uICAgICB4MCwgIyhNQVhfRVJSTk8gKyAxKQogICAgIGNuZWcgICAgeDAsIHgwLCBoaQogICAgIGIuaGkgICAgX19zZXRfZXJybm8KZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9uYW5vc2xlZXAuUyBiL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9uYW5vc2xlZXAuUwppbmRleCBlMzMzMTFhLi5jODRhY2NjIDEwMDY0NAotLS0gYS9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvbmFub3NsZWVwLlMKKysrIGIvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL25hbm9zbGVlcC5TCkBAIC0zLDIwICszLDkgQEAKICNpbmNsdWRlIDxwcml2YXRlL2Jpb25pY19hc20uaD4KIAogRU5UUlkobmFub3NsZWVwKQotICAgIHN0cCAgICAgeDI5LCB4MzAsIFtzcCwgIy0xNl0hCi0gICAgLmNmaV9kZWZfY2ZhX29mZnNldCAxNgotICAgIC5jZmlfcmVsX29mZnNldCB4MjksIDAKLSAgICAuY2ZpX3JlbF9vZmZzZXQgeDMwLCA4Ci0gICAgbW92ICAgICB4MjksICBzcAotCiAgICAgbW92ICAgICB4OCwgX19OUl9uYW5vc2xlZXAKICAgICBzdmMgICAgICMwCiAKLSAgICBsZHAgICAgIHgyOSwgeDMwLCBbc3BdLCAjMTYKLSAgICAuY2ZpX2RlZl9jZmFfb2Zmc2V0IDAKLSAgICAuY2ZpX3Jlc3RvcmUgeDI5Ci0gICAgLmNmaV9yZXN0b3JlIHgzMAotCiAgICAgY21uICAgICB4MCwgIyhNQVhfRVJSTk8gKyAxKQogICAgIGNuZWcgICAgeDAsIHgwLCBoaQogICAgIGIuaGkgICAgX19zZXRfZXJybm8KZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9wZXJzb25hbGl0eS5TIGIvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL3BlcnNvbmFsaXR5LlMKaW5kZXggYzM3Y2FlMi4uMDJiY2Y5YiAxMDA2NDQKLS0tIGEvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL3BlcnNvbmFsaXR5LlMKKysrIGIvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL3BlcnNvbmFsaXR5LlMKQEAgLTMsMjAgKzMsOSBAQAogI2luY2x1ZGUgPHByaXZhdGUvYmlvbmljX2FzbS5oPgogCiBFTlRSWShwZXJzb25hbGl0eSkKLSAgICBzdHAgICAgIHgyOSwgeDMwLCBbc3AsICMtMTZdIQotICAgIC5jZmlfZGVmX2NmYV9vZmZzZXQgMTYKLSAgICAuY2ZpX3JlbF9vZmZzZXQgeDI5LCAwCi0gICAgLmNmaV9yZWxfb2Zmc2V0IHgzMCwgOAotICAgIG1vdiAgICAgeDI5LCAgc3AKLQogICAgIG1vdiAgICAgeDgsIF9fTlJfcGVyc29uYWxpdHkKICAgICBzdmMgICAgICMwCiAKLSAgICBsZHAgICAgIHgyOSwgeDMwLCBbc3BdLCAjMTYKLSAgICAuY2ZpX2RlZl9jZmFfb2Zmc2V0IDAKLSAgICAuY2ZpX3Jlc3RvcmUgeDI5Ci0gICAgLmNmaV9yZXN0b3JlIHgzMAotCiAgICAgY21uICAgICB4MCwgIyhNQVhfRVJSTk8gKyAxKQogICAgIGNuZWcgICAgeDAsIHgwLCBoaQogICAgIGIuaGkgICAgX19zZXRfZXJybm8KZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9waXBlMi5TIGIvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL3BpcGUyLlMKaW5kZXggYWIyZTI1OS4uZjRkYTM3ZCAxMDA2NDQKLS0tIGEvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL3BpcGUyLlMKKysrIGIvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL3BpcGUyLlMKQEAgLTMsMjAgKzMsOSBAQAogI2luY2x1ZGUgPHByaXZhdGUvYmlvbmljX2FzbS5oPgogCiBFTlRSWShwaXBlMikKLSAgICBzdHAgICAgIHgyOSwgeDMwLCBbc3AsICMtMTZdIQotICAgIC5jZmlfZGVmX2NmYV9vZmZzZXQgMTYKLSAgICAuY2ZpX3JlbF9vZmZzZXQgeDI5LCAwCi0gICAgLmNmaV9yZWxfb2Zmc2V0IHgzMCwgOAotICAgIG1vdiAgICAgeDI5LCAgc3AKLQogICAgIG1vdiAgICAgeDgsIF9fTlJfcGlwZTIKICAgICBzdmMgICAgICMwCiAKLSAgICBsZHAgICAgIHgyOSwgeDMwLCBbc3BdLCAjMTYKLSAgICAuY2ZpX2RlZl9jZmFfb2Zmc2V0IDAKLSAgICAuY2ZpX3Jlc3RvcmUgeDI5Ci0gICAgLmNmaV9yZXN0b3JlIHgzMAotCiAgICAgY21uICAgICB4MCwgIyhNQVhfRVJSTk8gKyAxKQogICAgIGNuZWcgICAgeDAsIHgwLCBoaQogICAgIGIuaGkgICAgX19zZXRfZXJybm8KZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9wcmN0bC5TIGIvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL3ByY3RsLlMKaW5kZXggZGQ0NmZkNC4uMmU2ZGNhNyAxMDA2NDQKLS0tIGEvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL3ByY3RsLlMKKysrIGIvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL3ByY3RsLlMKQEAgLTMsMjAgKzMsOSBAQAogI2luY2x1ZGUgPHByaXZhdGUvYmlvbmljX2FzbS5oPgogCiBFTlRSWShwcmN0bCkKLSAgICBzdHAgICAgIHgyOSwgeDMwLCBbc3AsICMtMTZdIQotICAgIC5jZmlfZGVmX2NmYV9vZmZzZXQgMTYKLSAgICAuY2ZpX3JlbF9vZmZzZXQgeDI5LCAwCi0gICAgLmNmaV9yZWxfb2Zmc2V0IHgzMCwgOAotICAgIG1vdiAgICAgeDI5LCAgc3AKLQogICAgIG1vdiAgICAgeDgsIF9fTlJfcHJjdGwKICAgICBzdmMgICAgICMwCiAKLSAgICBsZHAgICAgIHgyOSwgeDMwLCBbc3BdLCAjMTYKLSAgICAuY2ZpX2RlZl9jZmFfb2Zmc2V0IDAKLSAgICAuY2ZpX3Jlc3RvcmUgeDI5Ci0gICAgLmNmaV9yZXN0b3JlIHgzMAotCiAgICAgY21uICAgICB4MCwgIyhNQVhfRVJSTk8gKyAxKQogICAgIGNuZWcgICAgeDAsIHgwLCBoaQogICAgIGIuaGkgICAgX19zZXRfZXJybm8KZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9wcmVhZDY0LlMgYi9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvcHJlYWQ2NC5TCmluZGV4IGRkYzZjMTIuLjJhYmE1OTYgMTAwNjQ0Ci0tLSBhL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9wcmVhZDY0LlMKKysrIGIvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL3ByZWFkNjQuUwpAQCAtMywyMCArMyw5IEBACiAjaW5jbHVkZSA8cHJpdmF0ZS9iaW9uaWNfYXNtLmg+CiAKIEVOVFJZKHByZWFkNjQpCi0gICAgc3RwICAgICB4MjksIHgzMCwgW3NwLCAjLTE2XSEKLSAgICAuY2ZpX2RlZl9jZmFfb2Zmc2V0IDE2Ci0gICAgLmNmaV9yZWxfb2Zmc2V0IHgyOSwgMAotICAgIC5jZmlfcmVsX29mZnNldCB4MzAsIDgKLSAgICBtb3YgICAgIHgyOSwgIHNwCi0KICAgICBtb3YgICAgIHg4LCBfX05SX3ByZWFkNjQKICAgICBzdmMgICAgICMwCiAKLSAgICBsZHAgICAgIHgyOSwgeDMwLCBbc3BdLCAjMTYKLSAgICAuY2ZpX2RlZl9jZmFfb2Zmc2V0IDAKLSAgICAuY2ZpX3Jlc3RvcmUgeDI5Ci0gICAgLmNmaV9yZXN0b3JlIHgzMAotCiAgICAgY21uICAgICB4MCwgIyhNQVhfRVJSTk8gKyAxKQogICAgIGNuZWcgICAgeDAsIHgwLCBoaQogICAgIGIuaGkgICAgX19zZXRfZXJybm8KZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9wcmxpbWl0NjQuUyBiL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9wcmxpbWl0NjQuUwppbmRleCAzOWQzMWIwLi5hMjE3M2Q5IDEwMDY0NAotLS0gYS9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvcHJsaW1pdDY0LlMKKysrIGIvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL3BybGltaXQ2NC5TCkBAIC0zLDIwICszLDkgQEAKICNpbmNsdWRlIDxwcml2YXRlL2Jpb25pY19hc20uaD4KIAogRU5UUlkocHJsaW1pdDY0KQotICAgIHN0cCAgICAgeDI5LCB4MzAsIFtzcCwgIy0xNl0hCi0gICAgLmNmaV9kZWZfY2ZhX29mZnNldCAxNgotICAgIC5jZmlfcmVsX29mZnNldCB4MjksIDAKLSAgICAuY2ZpX3JlbF9vZmZzZXQgeDMwLCA4Ci0gICAgbW92ICAgICB4MjksICBzcAotCiAgICAgbW92ICAgICB4OCwgX19OUl9wcmxpbWl0NjQKICAgICBzdmMgICAgICMwCiAKLSAgICBsZHAgICAgIHgyOSwgeDMwLCBbc3BdLCAjMTYKLSAgICAuY2ZpX2RlZl9jZmFfb2Zmc2V0IDAKLSAgICAuY2ZpX3Jlc3RvcmUgeDI5Ci0gICAgLmNmaV9yZXN0b3JlIHgzMAotCiAgICAgY21uICAgICB4MCwgIyhNQVhfRVJSTk8gKyAxKQogICAgIGNuZWcgICAgeDAsIHgwLCBoaQogICAgIGIuaGkgICAgX19zZXRfZXJybm8KZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9wd3JpdGU2NC5TIGIvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL3B3cml0ZTY0LlMKaW5kZXggODFlMmNmNy4uNTY3NGE3YyAxMDA2NDQKLS0tIGEvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL3B3cml0ZTY0LlMKKysrIGIvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL3B3cml0ZTY0LlMKQEAgLTMsMjAgKzMsOSBAQAogI2luY2x1ZGUgPHByaXZhdGUvYmlvbmljX2FzbS5oPgogCiBFTlRSWShwd3JpdGU2NCkKLSAgICBzdHAgICAgIHgyOSwgeDMwLCBbc3AsICMtMTZdIQotICAgIC5jZmlfZGVmX2NmYV9vZmZzZXQgMTYKLSAgICAuY2ZpX3JlbF9vZmZzZXQgeDI5LCAwCi0gICAgLmNmaV9yZWxfb2Zmc2V0IHgzMCwgOAotICAgIG1vdiAgICAgeDI5LCAgc3AKLQogICAgIG1vdiAgICAgeDgsIF9fTlJfcHdyaXRlNjQKICAgICBzdmMgICAgICMwCiAKLSAgICBsZHAgICAgIHgyOSwgeDMwLCBbc3BdLCAjMTYKLSAgICAuY2ZpX2RlZl9jZmFfb2Zmc2V0IDAKLSAgICAuY2ZpX3Jlc3RvcmUgeDI5Ci0gICAgLmNmaV9yZXN0b3JlIHgzMAotCiAgICAgY21uICAgICB4MCwgIyhNQVhfRVJSTk8gKyAxKQogICAgIGNuZWcgICAgeDAsIHgwLCBoaQogICAgIGIuaGkgICAgX19zZXRfZXJybm8KZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9yZWFkLlMgYi9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvcmVhZC5TCmluZGV4IGM1Mjk1NzYuLjkwNmZiOTggMTAwNjQ0Ci0tLSBhL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9yZWFkLlMKKysrIGIvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL3JlYWQuUwpAQCAtMywyMCArMyw5IEBACiAjaW5jbHVkZSA8cHJpdmF0ZS9iaW9uaWNfYXNtLmg+CiAKIEVOVFJZKHJlYWQpCi0gICAgc3RwICAgICB4MjksIHgzMCwgW3NwLCAjLTE2XSEKLSAgICAuY2ZpX2RlZl9jZmFfb2Zmc2V0IDE2Ci0gICAgLmNmaV9yZWxfb2Zmc2V0IHgyOSwgMAotICAgIC5jZmlfcmVsX29mZnNldCB4MzAsIDgKLSAgICBtb3YgICAgIHgyOSwgIHNwCi0KICAgICBtb3YgICAgIHg4LCBfX05SX3JlYWQKICAgICBzdmMgICAgICMwCiAKLSAgICBsZHAgICAgIHgyOSwgeDMwLCBbc3BdLCAjMTYKLSAgICAuY2ZpX2RlZl9jZmFfb2Zmc2V0IDAKLSAgICAuY2ZpX3Jlc3RvcmUgeDI5Ci0gICAgLmNmaV9yZXN0b3JlIHgzMAotCiAgICAgY21uICAgICB4MCwgIyhNQVhfRVJSTk8gKyAxKQogICAgIGNuZWcgICAgeDAsIHgwLCBoaQogICAgIGIuaGkgICAgX19zZXRfZXJybm8KZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9yZWFkYWhlYWQuUyBiL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9yZWFkYWhlYWQuUwppbmRleCBlODM5NGNjLi4yOTk0YjgzIDEwMDY0NAotLS0gYS9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvcmVhZGFoZWFkLlMKKysrIGIvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL3JlYWRhaGVhZC5TCkBAIC0zLDIwICszLDkgQEAKICNpbmNsdWRlIDxwcml2YXRlL2Jpb25pY19hc20uaD4KIAogRU5UUlkocmVhZGFoZWFkKQotICAgIHN0cCAgICAgeDI5LCB4MzAsIFtzcCwgIy0xNl0hCi0gICAgLmNmaV9kZWZfY2ZhX29mZnNldCAxNgotICAgIC5jZmlfcmVsX29mZnNldCB4MjksIDAKLSAgICAuY2ZpX3JlbF9vZmZzZXQgeDMwLCA4Ci0gICAgbW92ICAgICB4MjksICBzcAotCiAgICAgbW92ICAgICB4OCwgX19OUl9yZWFkYWhlYWQKICAgICBzdmMgICAgICMwCiAKLSAgICBsZHAgICAgIHgyOSwgeDMwLCBbc3BdLCAjMTYKLSAgICAuY2ZpX2RlZl9jZmFfb2Zmc2V0IDAKLSAgICAuY2ZpX3Jlc3RvcmUgeDI5Ci0gICAgLmNmaV9yZXN0b3JlIHgzMAotCiAgICAgY21uICAgICB4MCwgIyhNQVhfRVJSTk8gKyAxKQogICAgIGNuZWcgICAgeDAsIHgwLCBoaQogICAgIGIuaGkgICAgX19zZXRfZXJybm8KZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9yZWFkbGlua2F0LlMgYi9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvcmVhZGxpbmthdC5TCmluZGV4IGQ3Y2FkY2MuLjE3ODJjOTQgMTAwNjQ0Ci0tLSBhL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9yZWFkbGlua2F0LlMKKysrIGIvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL3JlYWRsaW5rYXQuUwpAQCAtMywyMCArMyw5IEBACiAjaW5jbHVkZSA8cHJpdmF0ZS9iaW9uaWNfYXNtLmg+CiAKIEVOVFJZKHJlYWRsaW5rYXQpCi0gICAgc3RwICAgICB4MjksIHgzMCwgW3NwLCAjLTE2XSEKLSAgICAuY2ZpX2RlZl9jZmFfb2Zmc2V0IDE2Ci0gICAgLmNmaV9yZWxfb2Zmc2V0IHgyOSwgMAotICAgIC5jZmlfcmVsX29mZnNldCB4MzAsIDgKLSAgICBtb3YgICAgIHgyOSwgIHNwCi0KICAgICBtb3YgICAgIHg4LCBfX05SX3JlYWRsaW5rYXQKICAgICBzdmMgICAgICMwCiAKLSAgICBsZHAgICAgIHgyOSwgeDMwLCBbc3BdLCAjMTYKLSAgICAuY2ZpX2RlZl9jZmFfb2Zmc2V0IDAKLSAgICAuY2ZpX3Jlc3RvcmUgeDI5Ci0gICAgLmNmaV9yZXN0b3JlIHgzMAotCiAgICAgY21uICAgICB4MCwgIyhNQVhfRVJSTk8gKyAxKQogICAgIGNuZWcgICAgeDAsIHgwLCBoaQogICAgIGIuaGkgICAgX19zZXRfZXJybm8KZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9yZWFkdi5TIGIvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL3JlYWR2LlMKaW5kZXggOThkMDc0Mi4uYmM5ODhkNCAxMDA2NDQKLS0tIGEvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL3JlYWR2LlMKKysrIGIvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL3JlYWR2LlMKQEAgLTMsMjAgKzMsOSBAQAogI2luY2x1ZGUgPHByaXZhdGUvYmlvbmljX2FzbS5oPgogCiBFTlRSWShyZWFkdikKLSAgICBzdHAgICAgIHgyOSwgeDMwLCBbc3AsICMtMTZdIQotICAgIC5jZmlfZGVmX2NmYV9vZmZzZXQgMTYKLSAgICAuY2ZpX3JlbF9vZmZzZXQgeDI5LCAwCi0gICAgLmNmaV9yZWxfb2Zmc2V0IHgzMCwgOAotICAgIG1vdiAgICAgeDI5LCAgc3AKLQogICAgIG1vdiAgICAgeDgsIF9fTlJfcmVhZHYKICAgICBzdmMgICAgICMwCiAKLSAgICBsZHAgICAgIHgyOSwgeDMwLCBbc3BdLCAjMTYKLSAgICAuY2ZpX2RlZl9jZmFfb2Zmc2V0IDAKLSAgICAuY2ZpX3Jlc3RvcmUgeDI5Ci0gICAgLmNmaV9yZXN0b3JlIHgzMAotCiAgICAgY21uICAgICB4MCwgIyhNQVhfRVJSTk8gKyAxKQogICAgIGNuZWcgICAgeDAsIHgwLCBoaQogICAgIGIuaGkgICAgX19zZXRfZXJybm8KZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9yZWN2ZnJvbS5TIGIvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL3JlY3Zmcm9tLlMKaW5kZXggNjMxODFmMS4uMTZmOTdkNSAxMDA2NDQKLS0tIGEvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL3JlY3Zmcm9tLlMKKysrIGIvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL3JlY3Zmcm9tLlMKQEAgLTMsMjAgKzMsOSBAQAogI2luY2x1ZGUgPHByaXZhdGUvYmlvbmljX2FzbS5oPgogCiBFTlRSWShyZWN2ZnJvbSkKLSAgICBzdHAgICAgIHgyOSwgeDMwLCBbc3AsICMtMTZdIQotICAgIC5jZmlfZGVmX2NmYV9vZmZzZXQgMTYKLSAgICAuY2ZpX3JlbF9vZmZzZXQgeDI5LCAwCi0gICAgLmNmaV9yZWxfb2Zmc2V0IHgzMCwgOAotICAgIG1vdiAgICAgeDI5LCAgc3AKLQogICAgIG1vdiAgICAgeDgsIF9fTlJfcmVjdmZyb20KICAgICBzdmMgICAgICMwCiAKLSAgICBsZHAgICAgIHgyOSwgeDMwLCBbc3BdLCAjMTYKLSAgICAuY2ZpX2RlZl9jZmFfb2Zmc2V0IDAKLSAgICAuY2ZpX3Jlc3RvcmUgeDI5Ci0gICAgLmNmaV9yZXN0b3JlIHgzMAotCiAgICAgY21uICAgICB4MCwgIyhNQVhfRVJSTk8gKyAxKQogICAgIGNuZWcgICAgeDAsIHgwLCBoaQogICAgIGIuaGkgICAgX19zZXRfZXJybm8KZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9yZWN2bW1zZy5TIGIvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL3JlY3ZtbXNnLlMKaW5kZXggY2IxZmJmYy4uYmQxNDk1YSAxMDA2NDQKLS0tIGEvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL3JlY3ZtbXNnLlMKKysrIGIvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL3JlY3ZtbXNnLlMKQEAgLTMsMjAgKzMsOSBAQAogI2luY2x1ZGUgPHByaXZhdGUvYmlvbmljX2FzbS5oPgogCiBFTlRSWShyZWN2bW1zZykKLSAgICBzdHAgICAgIHgyOSwgeDMwLCBbc3AsICMtMTZdIQotICAgIC5jZmlfZGVmX2NmYV9vZmZzZXQgMTYKLSAgICAuY2ZpX3JlbF9vZmZzZXQgeDI5LCAwCi0gICAgLmNmaV9yZWxfb2Zmc2V0IHgzMCwgOAotICAgIG1vdiAgICAgeDI5LCAgc3AKLQogICAgIG1vdiAgICAgeDgsIF9fTlJfcmVjdm1tc2cKICAgICBzdmMgICAgICMwCiAKLSAgICBsZHAgICAgIHgyOSwgeDMwLCBbc3BdLCAjMTYKLSAgICAuY2ZpX2RlZl9jZmFfb2Zmc2V0IDAKLSAgICAuY2ZpX3Jlc3RvcmUgeDI5Ci0gICAgLmNmaV9yZXN0b3JlIHgzMAotCiAgICAgY21uICAgICB4MCwgIyhNQVhfRVJSTk8gKyAxKQogICAgIGNuZWcgICAgeDAsIHgwLCBoaQogICAgIGIuaGkgICAgX19zZXRfZXJybm8KZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9yZWN2bXNnLlMgYi9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvcmVjdm1zZy5TCmluZGV4IDhhOTFhNWYuLmM5Yjc4YzQgMTAwNjQ0Ci0tLSBhL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9yZWN2bXNnLlMKKysrIGIvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL3JlY3Ztc2cuUwpAQCAtMywyMCArMyw5IEBACiAjaW5jbHVkZSA8cHJpdmF0ZS9iaW9uaWNfYXNtLmg+CiAKIEVOVFJZKHJlY3Ztc2cpCi0gICAgc3RwICAgICB4MjksIHgzMCwgW3NwLCAjLTE2XSEKLSAgICAuY2ZpX2RlZl9jZmFfb2Zmc2V0IDE2Ci0gICAgLmNmaV9yZWxfb2Zmc2V0IHgyOSwgMAotICAgIC5jZmlfcmVsX29mZnNldCB4MzAsIDgKLSAgICBtb3YgICAgIHgyOSwgIHNwCi0KICAgICBtb3YgICAgIHg4LCBfX05SX3JlY3Ztc2cKICAgICBzdmMgICAgICMwCiAKLSAgICBsZHAgICAgIHgyOSwgeDMwLCBbc3BdLCAjMTYKLSAgICAuY2ZpX2RlZl9jZmFfb2Zmc2V0IDAKLSAgICAuY2ZpX3Jlc3RvcmUgeDI5Ci0gICAgLmNmaV9yZXN0b3JlIHgzMAotCiAgICAgY21uICAgICB4MCwgIyhNQVhfRVJSTk8gKyAxKQogICAgIGNuZWcgICAgeDAsIHgwLCBoaQogICAgIGIuaGkgICAgX19zZXRfZXJybm8KZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9yZW1vdmV4YXR0ci5TIGIvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL3JlbW92ZXhhdHRyLlMKaW5kZXggNmZiNTU3YS4uYzEyY2M4NCAxMDA2NDQKLS0tIGEvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL3JlbW92ZXhhdHRyLlMKKysrIGIvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL3JlbW92ZXhhdHRyLlMKQEAgLTMsMjAgKzMsOSBAQAogI2luY2x1ZGUgPHByaXZhdGUvYmlvbmljX2FzbS5oPgogCiBFTlRSWShyZW1vdmV4YXR0cikKLSAgICBzdHAgICAgIHgyOSwgeDMwLCBbc3AsICMtMTZdIQotICAgIC5jZmlfZGVmX2NmYV9vZmZzZXQgMTYKLSAgICAuY2ZpX3JlbF9vZmZzZXQgeDI5LCAwCi0gICAgLmNmaV9yZWxfb2Zmc2V0IHgzMCwgOAotICAgIG1vdiAgICAgeDI5LCAgc3AKLQogICAgIG1vdiAgICAgeDgsIF9fTlJfcmVtb3ZleGF0dHIKICAgICBzdmMgICAgICMwCiAKLSAgICBsZHAgICAgIHgyOSwgeDMwLCBbc3BdLCAjMTYKLSAgICAuY2ZpX2RlZl9jZmFfb2Zmc2V0IDAKLSAgICAuY2ZpX3Jlc3RvcmUgeDI5Ci0gICAgLmNmaV9yZXN0b3JlIHgzMAotCiAgICAgY21uICAgICB4MCwgIyhNQVhfRVJSTk8gKyAxKQogICAgIGNuZWcgICAgeDAsIHgwLCBoaQogICAgIGIuaGkgICAgX19zZXRfZXJybm8KZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9yZW5hbWVhdC5TIGIvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL3JlbmFtZWF0LlMKaW5kZXggZTRlZmViOC4uY2Y3OTQ3MiAxMDA2NDQKLS0tIGEvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL3JlbmFtZWF0LlMKKysrIGIvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL3JlbmFtZWF0LlMKQEAgLTMsMjAgKzMsOSBAQAogI2luY2x1ZGUgPHByaXZhdGUvYmlvbmljX2FzbS5oPgogCiBFTlRSWShyZW5hbWVhdCkKLSAgICBzdHAgICAgIHgyOSwgeDMwLCBbc3AsICMtMTZdIQotICAgIC5jZmlfZGVmX2NmYV9vZmZzZXQgMTYKLSAgICAuY2ZpX3JlbF9vZmZzZXQgeDI5LCAwCi0gICAgLmNmaV9yZWxfb2Zmc2V0IHgzMCwgOAotICAgIG1vdiAgICAgeDI5LCAgc3AKLQogICAgIG1vdiAgICAgeDgsIF9fTlJfcmVuYW1lYXQKICAgICBzdmMgICAgICMwCiAKLSAgICBsZHAgICAgIHgyOSwgeDMwLCBbc3BdLCAjMTYKLSAgICAuY2ZpX2RlZl9jZmFfb2Zmc2V0IDAKLSAgICAuY2ZpX3Jlc3RvcmUgeDI5Ci0gICAgLmNmaV9yZXN0b3JlIHgzMAotCiAgICAgY21uICAgICB4MCwgIyhNQVhfRVJSTk8gKyAxKQogICAgIGNuZWcgICAgeDAsIHgwLCBoaQogICAgIGIuaGkgICAgX19zZXRfZXJybm8KZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9zY2hlZF9nZXRfcHJpb3JpdHlfbWF4LlMgYi9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvc2NoZWRfZ2V0X3ByaW9yaXR5X21heC5TCmluZGV4IDc0ZjkxOWIuLjY3MmQwZWEgMTAwNjQ0Ci0tLSBhL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9zY2hlZF9nZXRfcHJpb3JpdHlfbWF4LlMKKysrIGIvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL3NjaGVkX2dldF9wcmlvcml0eV9tYXguUwpAQCAtMywyMCArMyw5IEBACiAjaW5jbHVkZSA8cHJpdmF0ZS9iaW9uaWNfYXNtLmg+CiAKIEVOVFJZKHNjaGVkX2dldF9wcmlvcml0eV9tYXgpCi0gICAgc3RwICAgICB4MjksIHgzMCwgW3NwLCAjLTE2XSEKLSAgICAuY2ZpX2RlZl9jZmFfb2Zmc2V0IDE2Ci0gICAgLmNmaV9yZWxfb2Zmc2V0IHgyOSwgMAotICAgIC5jZmlfcmVsX29mZnNldCB4MzAsIDgKLSAgICBtb3YgICAgIHgyOSwgIHNwCi0KICAgICBtb3YgICAgIHg4LCBfX05SX3NjaGVkX2dldF9wcmlvcml0eV9tYXgKICAgICBzdmMgICAgICMwCiAKLSAgICBsZHAgICAgIHgyOSwgeDMwLCBbc3BdLCAjMTYKLSAgICAuY2ZpX2RlZl9jZmFfb2Zmc2V0IDAKLSAgICAuY2ZpX3Jlc3RvcmUgeDI5Ci0gICAgLmNmaV9yZXN0b3JlIHgzMAotCiAgICAgY21uICAgICB4MCwgIyhNQVhfRVJSTk8gKyAxKQogICAgIGNuZWcgICAgeDAsIHgwLCBoaQogICAgIGIuaGkgICAgX19zZXRfZXJybm8KZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9zY2hlZF9nZXRfcHJpb3JpdHlfbWluLlMgYi9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvc2NoZWRfZ2V0X3ByaW9yaXR5X21pbi5TCmluZGV4IGQwNDNiM2IuLmY1Y2YxZjMgMTAwNjQ0Ci0tLSBhL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9zY2hlZF9nZXRfcHJpb3JpdHlfbWluLlMKKysrIGIvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL3NjaGVkX2dldF9wcmlvcml0eV9taW4uUwpAQCAtMywyMCArMyw5IEBACiAjaW5jbHVkZSA8cHJpdmF0ZS9iaW9uaWNfYXNtLmg+CiAKIEVOVFJZKHNjaGVkX2dldF9wcmlvcml0eV9taW4pCi0gICAgc3RwICAgICB4MjksIHgzMCwgW3NwLCAjLTE2XSEKLSAgICAuY2ZpX2RlZl9jZmFfb2Zmc2V0IDE2Ci0gICAgLmNmaV9yZWxfb2Zmc2V0IHgyOSwgMAotICAgIC5jZmlfcmVsX29mZnNldCB4MzAsIDgKLSAgICBtb3YgICAgIHgyOSwgIHNwCi0KICAgICBtb3YgICAgIHg4LCBfX05SX3NjaGVkX2dldF9wcmlvcml0eV9taW4KICAgICBzdmMgICAgICMwCiAKLSAgICBsZHAgICAgIHgyOSwgeDMwLCBbc3BdLCAjMTYKLSAgICAuY2ZpX2RlZl9jZmFfb2Zmc2V0IDAKLSAgICAuY2ZpX3Jlc3RvcmUgeDI5Ci0gICAgLmNmaV9yZXN0b3JlIHgzMAotCiAgICAgY21uICAgICB4MCwgIyhNQVhfRVJSTk8gKyAxKQogICAgIGNuZWcgICAgeDAsIHgwLCBoaQogICAgIGIuaGkgICAgX19zZXRfZXJybm8KZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9zY2hlZF9nZXRwYXJhbS5TIGIvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL3NjaGVkX2dldHBhcmFtLlMKaW5kZXggZmVkY2VjOC4uN2ZmZThmYiAxMDA2NDQKLS0tIGEvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL3NjaGVkX2dldHBhcmFtLlMKKysrIGIvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL3NjaGVkX2dldHBhcmFtLlMKQEAgLTMsMjAgKzMsOSBAQAogI2luY2x1ZGUgPHByaXZhdGUvYmlvbmljX2FzbS5oPgogCiBFTlRSWShzY2hlZF9nZXRwYXJhbSkKLSAgICBzdHAgICAgIHgyOSwgeDMwLCBbc3AsICMtMTZdIQotICAgIC5jZmlfZGVmX2NmYV9vZmZzZXQgMTYKLSAgICAuY2ZpX3JlbF9vZmZzZXQgeDI5LCAwCi0gICAgLmNmaV9yZWxfb2Zmc2V0IHgzMCwgOAotICAgIG1vdiAgICAgeDI5LCAgc3AKLQogICAgIG1vdiAgICAgeDgsIF9fTlJfc2NoZWRfZ2V0cGFyYW0KICAgICBzdmMgICAgICMwCiAKLSAgICBsZHAgICAgIHgyOSwgeDMwLCBbc3BdLCAjMTYKLSAgICAuY2ZpX2RlZl9jZmFfb2Zmc2V0IDAKLSAgICAuY2ZpX3Jlc3RvcmUgeDI5Ci0gICAgLmNmaV9yZXN0b3JlIHgzMAotCiAgICAgY21uICAgICB4MCwgIyhNQVhfRVJSTk8gKyAxKQogICAgIGNuZWcgICAgeDAsIHgwLCBoaQogICAgIGIuaGkgICAgX19zZXRfZXJybm8KZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9zY2hlZF9nZXRzY2hlZHVsZXIuUyBiL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9zY2hlZF9nZXRzY2hlZHVsZXIuUwppbmRleCAxMjI1NjAxLi5iNjliOGMwIDEwMDY0NAotLS0gYS9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvc2NoZWRfZ2V0c2NoZWR1bGVyLlMKKysrIGIvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL3NjaGVkX2dldHNjaGVkdWxlci5TCkBAIC0zLDIwICszLDkgQEAKICNpbmNsdWRlIDxwcml2YXRlL2Jpb25pY19hc20uaD4KIAogRU5UUlkoc2NoZWRfZ2V0c2NoZWR1bGVyKQotICAgIHN0cCAgICAgeDI5LCB4MzAsIFtzcCwgIy0xNl0hCi0gICAgLmNmaV9kZWZfY2ZhX29mZnNldCAxNgotICAgIC5jZmlfcmVsX29mZnNldCB4MjksIDAKLSAgICAuY2ZpX3JlbF9vZmZzZXQgeDMwLCA4Ci0gICAgbW92ICAgICB4MjksICBzcAotCiAgICAgbW92ICAgICB4OCwgX19OUl9zY2hlZF9nZXRzY2hlZHVsZXIKICAgICBzdmMgICAgICMwCiAKLSAgICBsZHAgICAgIHgyOSwgeDMwLCBbc3BdLCAjMTYKLSAgICAuY2ZpX2RlZl9jZmFfb2Zmc2V0IDAKLSAgICAuY2ZpX3Jlc3RvcmUgeDI5Ci0gICAgLmNmaV9yZXN0b3JlIHgzMAotCiAgICAgY21uICAgICB4MCwgIyhNQVhfRVJSTk8gKyAxKQogICAgIGNuZWcgICAgeDAsIHgwLCBoaQogICAgIGIuaGkgICAgX19zZXRfZXJybm8KZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9zY2hlZF9ycl9nZXRfaW50ZXJ2YWwuUyBiL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9zY2hlZF9ycl9nZXRfaW50ZXJ2YWwuUwppbmRleCA3OTZlZGRhLi4wYmUxNGJhIDEwMDY0NAotLS0gYS9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvc2NoZWRfcnJfZ2V0X2ludGVydmFsLlMKKysrIGIvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL3NjaGVkX3JyX2dldF9pbnRlcnZhbC5TCkBAIC0zLDIwICszLDkgQEAKICNpbmNsdWRlIDxwcml2YXRlL2Jpb25pY19hc20uaD4KIAogRU5UUlkoc2NoZWRfcnJfZ2V0X2ludGVydmFsKQotICAgIHN0cCAgICAgeDI5LCB4MzAsIFtzcCwgIy0xNl0hCi0gICAgLmNmaV9kZWZfY2ZhX29mZnNldCAxNgotICAgIC5jZmlfcmVsX29mZnNldCB4MjksIDAKLSAgICAuY2ZpX3JlbF9vZmZzZXQgeDMwLCA4Ci0gICAgbW92ICAgICB4MjksICBzcAotCiAgICAgbW92ICAgICB4OCwgX19OUl9zY2hlZF9ycl9nZXRfaW50ZXJ2YWwKICAgICBzdmMgICAgICMwCiAKLSAgICBsZHAgICAgIHgyOSwgeDMwLCBbc3BdLCAjMTYKLSAgICAuY2ZpX2RlZl9jZmFfb2Zmc2V0IDAKLSAgICAuY2ZpX3Jlc3RvcmUgeDI5Ci0gICAgLmNmaV9yZXN0b3JlIHgzMAotCiAgICAgY21uICAgICB4MCwgIyhNQVhfRVJSTk8gKyAxKQogICAgIGNuZWcgICAgeDAsIHgwLCBoaQogICAgIGIuaGkgICAgX19zZXRfZXJybm8KZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9zY2hlZF9zZXRhZmZpbml0eS5TIGIvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL3NjaGVkX3NldGFmZmluaXR5LlMKaW5kZXggMmE3MDIyZC4uZjVjYmM3NyAxMDA2NDQKLS0tIGEvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL3NjaGVkX3NldGFmZmluaXR5LlMKKysrIGIvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL3NjaGVkX3NldGFmZmluaXR5LlMKQEAgLTMsMjAgKzMsOSBAQAogI2luY2x1ZGUgPHByaXZhdGUvYmlvbmljX2FzbS5oPgogCiBFTlRSWShzY2hlZF9zZXRhZmZpbml0eSkKLSAgICBzdHAgICAgIHgyOSwgeDMwLCBbc3AsICMtMTZdIQotICAgIC5jZmlfZGVmX2NmYV9vZmZzZXQgMTYKLSAgICAuY2ZpX3JlbF9vZmZzZXQgeDI5LCAwCi0gICAgLmNmaV9yZWxfb2Zmc2V0IHgzMCwgOAotICAgIG1vdiAgICAgeDI5LCAgc3AKLQogICAgIG1vdiAgICAgeDgsIF9fTlJfc2NoZWRfc2V0YWZmaW5pdHkKICAgICBzdmMgICAgICMwCiAKLSAgICBsZHAgICAgIHgyOSwgeDMwLCBbc3BdLCAjMTYKLSAgICAuY2ZpX2RlZl9jZmFfb2Zmc2V0IDAKLSAgICAuY2ZpX3Jlc3RvcmUgeDI5Ci0gICAgLmNmaV9yZXN0b3JlIHgzMAotCiAgICAgY21uICAgICB4MCwgIyhNQVhfRVJSTk8gKyAxKQogICAgIGNuZWcgICAgeDAsIHgwLCBoaQogICAgIGIuaGkgICAgX19zZXRfZXJybm8KZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9zY2hlZF9zZXRwYXJhbS5TIGIvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL3NjaGVkX3NldHBhcmFtLlMKaW5kZXggZGQ4MmExMC4uY2ZmNjRmNSAxMDA2NDQKLS0tIGEvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL3NjaGVkX3NldHBhcmFtLlMKKysrIGIvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL3NjaGVkX3NldHBhcmFtLlMKQEAgLTMsMjAgKzMsOSBAQAogI2luY2x1ZGUgPHByaXZhdGUvYmlvbmljX2FzbS5oPgogCiBFTlRSWShzY2hlZF9zZXRwYXJhbSkKLSAgICBzdHAgICAgIHgyOSwgeDMwLCBbc3AsICMtMTZdIQotICAgIC5jZmlfZGVmX2NmYV9vZmZzZXQgMTYKLSAgICAuY2ZpX3JlbF9vZmZzZXQgeDI5LCAwCi0gICAgLmNmaV9yZWxfb2Zmc2V0IHgzMCwgOAotICAgIG1vdiAgICAgeDI5LCAgc3AKLQogICAgIG1vdiAgICAgeDgsIF9fTlJfc2NoZWRfc2V0cGFyYW0KICAgICBzdmMgICAgICMwCiAKLSAgICBsZHAgICAgIHgyOSwgeDMwLCBbc3BdLCAjMTYKLSAgICAuY2ZpX2RlZl9jZmFfb2Zmc2V0IDAKLSAgICAuY2ZpX3Jlc3RvcmUgeDI5Ci0gICAgLmNmaV9yZXN0b3JlIHgzMAotCiAgICAgY21uICAgICB4MCwgIyhNQVhfRVJSTk8gKyAxKQogICAgIGNuZWcgICAgeDAsIHgwLCBoaQogICAgIGIuaGkgICAgX19zZXRfZXJybm8KZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9zY2hlZF9zZXRzY2hlZHVsZXIuUyBiL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9zY2hlZF9zZXRzY2hlZHVsZXIuUwppbmRleCAyNWUxZTM2Li4zMTYwMGEwIDEwMDY0NAotLS0gYS9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvc2NoZWRfc2V0c2NoZWR1bGVyLlMKKysrIGIvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL3NjaGVkX3NldHNjaGVkdWxlci5TCkBAIC0zLDIwICszLDkgQEAKICNpbmNsdWRlIDxwcml2YXRlL2Jpb25pY19hc20uaD4KIAogRU5UUlkoc2NoZWRfc2V0c2NoZWR1bGVyKQotICAgIHN0cCAgICAgeDI5LCB4MzAsIFtzcCwgIy0xNl0hCi0gICAgLmNmaV9kZWZfY2ZhX29mZnNldCAxNgotICAgIC5jZmlfcmVsX29mZnNldCB4MjksIDAKLSAgICAuY2ZpX3JlbF9vZmZzZXQgeDMwLCA4Ci0gICAgbW92ICAgICB4MjksICBzcAotCiAgICAgbW92ICAgICB4OCwgX19OUl9zY2hlZF9zZXRzY2hlZHVsZXIKICAgICBzdmMgICAgICMwCiAKLSAgICBsZHAgICAgIHgyOSwgeDMwLCBbc3BdLCAjMTYKLSAgICAuY2ZpX2RlZl9jZmFfb2Zmc2V0IDAKLSAgICAuY2ZpX3Jlc3RvcmUgeDI5Ci0gICAgLmNmaV9yZXN0b3JlIHgzMAotCiAgICAgY21uICAgICB4MCwgIyhNQVhfRVJSTk8gKyAxKQogICAgIGNuZWcgICAgeDAsIHgwLCBoaQogICAgIGIuaGkgICAgX19zZXRfZXJybm8KZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9zY2hlZF95aWVsZC5TIGIvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL3NjaGVkX3lpZWxkLlMKaW5kZXggY2JlZTAyMC4uMjFhZDYwMSAxMDA2NDQKLS0tIGEvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL3NjaGVkX3lpZWxkLlMKKysrIGIvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL3NjaGVkX3lpZWxkLlMKQEAgLTMsMjAgKzMsOSBAQAogI2luY2x1ZGUgPHByaXZhdGUvYmlvbmljX2FzbS5oPgogCiBFTlRSWShzY2hlZF95aWVsZCkKLSAgICBzdHAgICAgIHgyOSwgeDMwLCBbc3AsICMtMTZdIQotICAgIC5jZmlfZGVmX2NmYV9vZmZzZXQgMTYKLSAgICAuY2ZpX3JlbF9vZmZzZXQgeDI5LCAwCi0gICAgLmNmaV9yZWxfb2Zmc2V0IHgzMCwgOAotICAgIG1vdiAgICAgeDI5LCAgc3AKLQogICAgIG1vdiAgICAgeDgsIF9fTlJfc2NoZWRfeWllbGQKICAgICBzdmMgICAgICMwCiAKLSAgICBsZHAgICAgIHgyOSwgeDMwLCBbc3BdLCAjMTYKLSAgICAuY2ZpX2RlZl9jZmFfb2Zmc2V0IDAKLSAgICAuY2ZpX3Jlc3RvcmUgeDI5Ci0gICAgLmNmaV9yZXN0b3JlIHgzMAotCiAgICAgY21uICAgICB4MCwgIyhNQVhfRVJSTk8gKyAxKQogICAgIGNuZWcgICAgeDAsIHgwLCBoaQogICAgIGIuaGkgICAgX19zZXRfZXJybm8KZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9zZW5kZmlsZS5TIGIvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL3NlbmRmaWxlLlMKaW5kZXggMTcwNWQzYy4uZGI5MGNhYSAxMDA2NDQKLS0tIGEvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL3NlbmRmaWxlLlMKKysrIGIvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL3NlbmRmaWxlLlMKQEAgLTMsMjAgKzMsOSBAQAogI2luY2x1ZGUgPHByaXZhdGUvYmlvbmljX2FzbS5oPgogCiBFTlRSWShzZW5kZmlsZSkKLSAgICBzdHAgICAgIHgyOSwgeDMwLCBbc3AsICMtMTZdIQotICAgIC5jZmlfZGVmX2NmYV9vZmZzZXQgMTYKLSAgICAuY2ZpX3JlbF9vZmZzZXQgeDI5LCAwCi0gICAgLmNmaV9yZWxfb2Zmc2V0IHgzMCwgOAotICAgIG1vdiAgICAgeDI5LCAgc3AKLQogICAgIG1vdiAgICAgeDgsIF9fTlJfc2VuZGZpbGUKICAgICBzdmMgICAgICMwCiAKLSAgICBsZHAgICAgIHgyOSwgeDMwLCBbc3BdLCAjMTYKLSAgICAuY2ZpX2RlZl9jZmFfb2Zmc2V0IDAKLSAgICAuY2ZpX3Jlc3RvcmUgeDI5Ci0gICAgLmNmaV9yZXN0b3JlIHgzMAotCiAgICAgY21uICAgICB4MCwgIyhNQVhfRVJSTk8gKyAxKQogICAgIGNuZWcgICAgeDAsIHgwLCBoaQogICAgIGIuaGkgICAgX19zZXRfZXJybm8KZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9zZW5kbW1zZy5TIGIvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL3NlbmRtbXNnLlMKaW5kZXggMjI3NzExMC4uZTg1Nzk4YSAxMDA2NDQKLS0tIGEvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL3NlbmRtbXNnLlMKKysrIGIvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL3NlbmRtbXNnLlMKQEAgLTMsMjAgKzMsOSBAQAogI2luY2x1ZGUgPHByaXZhdGUvYmlvbmljX2FzbS5oPgogCiBFTlRSWShzZW5kbW1zZykKLSAgICBzdHAgICAgIHgyOSwgeDMwLCBbc3AsICMtMTZdIQotICAgIC5jZmlfZGVmX2NmYV9vZmZzZXQgMTYKLSAgICAuY2ZpX3JlbF9vZmZzZXQgeDI5LCAwCi0gICAgLmNmaV9yZWxfb2Zmc2V0IHgzMCwgOAotICAgIG1vdiAgICAgeDI5LCAgc3AKLQogICAgIG1vdiAgICAgeDgsIF9fTlJfc2VuZG1tc2cKICAgICBzdmMgICAgICMwCiAKLSAgICBsZHAgICAgIHgyOSwgeDMwLCBbc3BdLCAjMTYKLSAgICAuY2ZpX2RlZl9jZmFfb2Zmc2V0IDAKLSAgICAuY2ZpX3Jlc3RvcmUgeDI5Ci0gICAgLmNmaV9yZXN0b3JlIHgzMAotCiAgICAgY21uICAgICB4MCwgIyhNQVhfRVJSTk8gKyAxKQogICAgIGNuZWcgICAgeDAsIHgwLCBoaQogICAgIGIuaGkgICAgX19zZXRfZXJybm8KZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9zZW5kbXNnLlMgYi9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvc2VuZG1zZy5TCmluZGV4IDk2ZmNiOWEuLjI1ZWZmODQgMTAwNjQ0Ci0tLSBhL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9zZW5kbXNnLlMKKysrIGIvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL3NlbmRtc2cuUwpAQCAtMywyMCArMyw5IEBACiAjaW5jbHVkZSA8cHJpdmF0ZS9iaW9uaWNfYXNtLmg+CiAKIEVOVFJZKHNlbmRtc2cpCi0gICAgc3RwICAgICB4MjksIHgzMCwgW3NwLCAjLTE2XSEKLSAgICAuY2ZpX2RlZl9jZmFfb2Zmc2V0IDE2Ci0gICAgLmNmaV9yZWxfb2Zmc2V0IHgyOSwgMAotICAgIC5jZmlfcmVsX29mZnNldCB4MzAsIDgKLSAgICBtb3YgICAgIHgyOSwgIHNwCi0KICAgICBtb3YgICAgIHg4LCBfX05SX3NlbmRtc2cKICAgICBzdmMgICAgICMwCiAKLSAgICBsZHAgICAgIHgyOSwgeDMwLCBbc3BdLCAjMTYKLSAgICAuY2ZpX2RlZl9jZmFfb2Zmc2V0IDAKLSAgICAuY2ZpX3Jlc3RvcmUgeDI5Ci0gICAgLmNmaV9yZXN0b3JlIHgzMAotCiAgICAgY21uICAgICB4MCwgIyhNQVhfRVJSTk8gKyAxKQogICAgIGNuZWcgICAgeDAsIHgwLCBoaQogICAgIGIuaGkgICAgX19zZXRfZXJybm8KZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9zZW5kdG8uUyBiL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9zZW5kdG8uUwppbmRleCA2NzU4OWJhLi4zOWU0ZTRlIDEwMDY0NAotLS0gYS9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvc2VuZHRvLlMKKysrIGIvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL3NlbmR0by5TCkBAIC0zLDIwICszLDkgQEAKICNpbmNsdWRlIDxwcml2YXRlL2Jpb25pY19hc20uaD4KIAogRU5UUlkoc2VuZHRvKQotICAgIHN0cCAgICAgeDI5LCB4MzAsIFtzcCwgIy0xNl0hCi0gICAgLmNmaV9kZWZfY2ZhX29mZnNldCAxNgotICAgIC5jZmlfcmVsX29mZnNldCB4MjksIDAKLSAgICAuY2ZpX3JlbF9vZmZzZXQgeDMwLCA4Ci0gICAgbW92ICAgICB4MjksICBzcAotCiAgICAgbW92ICAgICB4OCwgX19OUl9zZW5kdG8KICAgICBzdmMgICAgICMwCiAKLSAgICBsZHAgICAgIHgyOSwgeDMwLCBbc3BdLCAjMTYKLSAgICAuY2ZpX2RlZl9jZmFfb2Zmc2V0IDAKLSAgICAuY2ZpX3Jlc3RvcmUgeDI5Ci0gICAgLmNmaV9yZXN0b3JlIHgzMAotCiAgICAgY21uICAgICB4MCwgIyhNQVhfRVJSTk8gKyAxKQogICAgIGNuZWcgICAgeDAsIHgwLCBoaQogICAgIGIuaGkgICAgX19zZXRfZXJybm8KZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9zZXRnaWQuUyBiL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9zZXRnaWQuUwppbmRleCBmYmFhNzg1Li5hOTc4OWY3IDEwMDY0NAotLS0gYS9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvc2V0Z2lkLlMKKysrIGIvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL3NldGdpZC5TCkBAIC0zLDIwICszLDkgQEAKICNpbmNsdWRlIDxwcml2YXRlL2Jpb25pY19hc20uaD4KIAogRU5UUlkoc2V0Z2lkKQotICAgIHN0cCAgICAgeDI5LCB4MzAsIFtzcCwgIy0xNl0hCi0gICAgLmNmaV9kZWZfY2ZhX29mZnNldCAxNgotICAgIC5jZmlfcmVsX29mZnNldCB4MjksIDAKLSAgICAuY2ZpX3JlbF9vZmZzZXQgeDMwLCA4Ci0gICAgbW92ICAgICB4MjksICBzcAotCiAgICAgbW92ICAgICB4OCwgX19OUl9zZXRnaWQKICAgICBzdmMgICAgICMwCiAKLSAgICBsZHAgICAgIHgyOSwgeDMwLCBbc3BdLCAjMTYKLSAgICAuY2ZpX2RlZl9jZmFfb2Zmc2V0IDAKLSAgICAuY2ZpX3Jlc3RvcmUgeDI5Ci0gICAgLmNmaV9yZXN0b3JlIHgzMAotCiAgICAgY21uICAgICB4MCwgIyhNQVhfRVJSTk8gKyAxKQogICAgIGNuZWcgICAgeDAsIHgwLCBoaQogICAgIGIuaGkgICAgX19zZXRfZXJybm8KZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9zZXRncm91cHMuUyBiL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9zZXRncm91cHMuUwppbmRleCA0ODAzNWI2Li5jZTliZjAxIDEwMDY0NAotLS0gYS9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvc2V0Z3JvdXBzLlMKKysrIGIvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL3NldGdyb3Vwcy5TCkBAIC0zLDIwICszLDkgQEAKICNpbmNsdWRlIDxwcml2YXRlL2Jpb25pY19hc20uaD4KIAogRU5UUlkoc2V0Z3JvdXBzKQotICAgIHN0cCAgICAgeDI5LCB4MzAsIFtzcCwgIy0xNl0hCi0gICAgLmNmaV9kZWZfY2ZhX29mZnNldCAxNgotICAgIC5jZmlfcmVsX29mZnNldCB4MjksIDAKLSAgICAuY2ZpX3JlbF9vZmZzZXQgeDMwLCA4Ci0gICAgbW92ICAgICB4MjksICBzcAotCiAgICAgbW92ICAgICB4OCwgX19OUl9zZXRncm91cHMKICAgICBzdmMgICAgICMwCiAKLSAgICBsZHAgICAgIHgyOSwgeDMwLCBbc3BdLCAjMTYKLSAgICAuY2ZpX2RlZl9jZmFfb2Zmc2V0IDAKLSAgICAuY2ZpX3Jlc3RvcmUgeDI5Ci0gICAgLmNmaV9yZXN0b3JlIHgzMAotCiAgICAgY21uICAgICB4MCwgIyhNQVhfRVJSTk8gKyAxKQogICAgIGNuZWcgICAgeDAsIHgwLCBoaQogICAgIGIuaGkgICAgX19zZXRfZXJybm8KZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9zZXRpdGltZXIuUyBiL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9zZXRpdGltZXIuUwppbmRleCA0MmFmOTRiLi5kOGUzZDdlIDEwMDY0NAotLS0gYS9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvc2V0aXRpbWVyLlMKKysrIGIvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL3NldGl0aW1lci5TCkBAIC0zLDIwICszLDkgQEAKICNpbmNsdWRlIDxwcml2YXRlL2Jpb25pY19hc20uaD4KIAogRU5UUlkoc2V0aXRpbWVyKQotICAgIHN0cCAgICAgeDI5LCB4MzAsIFtzcCwgIy0xNl0hCi0gICAgLmNmaV9kZWZfY2ZhX29mZnNldCAxNgotICAgIC5jZmlfcmVsX29mZnNldCB4MjksIDAKLSAgICAuY2ZpX3JlbF9vZmZzZXQgeDMwLCA4Ci0gICAgbW92ICAgICB4MjksICBzcAotCiAgICAgbW92ICAgICB4OCwgX19OUl9zZXRpdGltZXIKICAgICBzdmMgICAgICMwCiAKLSAgICBsZHAgICAgIHgyOSwgeDMwLCBbc3BdLCAjMTYKLSAgICAuY2ZpX2RlZl9jZmFfb2Zmc2V0IDAKLSAgICAuY2ZpX3Jlc3RvcmUgeDI5Ci0gICAgLmNmaV9yZXN0b3JlIHgzMAotCiAgICAgY21uICAgICB4MCwgIyhNQVhfRVJSTk8gKyAxKQogICAgIGNuZWcgICAgeDAsIHgwLCBoaQogICAgIGIuaGkgICAgX19zZXRfZXJybm8KZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9zZXRucy5TIGIvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL3NldG5zLlMKaW5kZXggZjY5NTU5Ny4uNjE1Zjg4OCAxMDA2NDQKLS0tIGEvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL3NldG5zLlMKKysrIGIvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL3NldG5zLlMKQEAgLTMsMjAgKzMsOSBAQAogI2luY2x1ZGUgPHByaXZhdGUvYmlvbmljX2FzbS5oPgogCiBFTlRSWShzZXRucykKLSAgICBzdHAgICAgIHgyOSwgeDMwLCBbc3AsICMtMTZdIQotICAgIC5jZmlfZGVmX2NmYV9vZmZzZXQgMTYKLSAgICAuY2ZpX3JlbF9vZmZzZXQgeDI5LCAwCi0gICAgLmNmaV9yZWxfb2Zmc2V0IHgzMCwgOAotICAgIG1vdiAgICAgeDI5LCAgc3AKLQogICAgIG1vdiAgICAgeDgsIF9fTlJfc2V0bnMKICAgICBzdmMgICAgICMwCiAKLSAgICBsZHAgICAgIHgyOSwgeDMwLCBbc3BdLCAjMTYKLSAgICAuY2ZpX2RlZl9jZmFfb2Zmc2V0IDAKLSAgICAuY2ZpX3Jlc3RvcmUgeDI5Ci0gICAgLmNmaV9yZXN0b3JlIHgzMAotCiAgICAgY21uICAgICB4MCwgIyhNQVhfRVJSTk8gKyAxKQogICAgIGNuZWcgICAgeDAsIHgwLCBoaQogICAgIGIuaGkgICAgX19zZXRfZXJybm8KZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9zZXRwZ2lkLlMgYi9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvc2V0cGdpZC5TCmluZGV4IDU2NTMyNTYuLjYwMTUyNjQgMTAwNjQ0Ci0tLSBhL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9zZXRwZ2lkLlMKKysrIGIvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL3NldHBnaWQuUwpAQCAtMywyMCArMyw5IEBACiAjaW5jbHVkZSA8cHJpdmF0ZS9iaW9uaWNfYXNtLmg+CiAKIEVOVFJZKHNldHBnaWQpCi0gICAgc3RwICAgICB4MjksIHgzMCwgW3NwLCAjLTE2XSEKLSAgICAuY2ZpX2RlZl9jZmFfb2Zmc2V0IDE2Ci0gICAgLmNmaV9yZWxfb2Zmc2V0IHgyOSwgMAotICAgIC5jZmlfcmVsX29mZnNldCB4MzAsIDgKLSAgICBtb3YgICAgIHgyOSwgIHNwCi0KICAgICBtb3YgICAgIHg4LCBfX05SX3NldHBnaWQKICAgICBzdmMgICAgICMwCiAKLSAgICBsZHAgICAgIHgyOSwgeDMwLCBbc3BdLCAjMTYKLSAgICAuY2ZpX2RlZl9jZmFfb2Zmc2V0IDAKLSAgICAuY2ZpX3Jlc3RvcmUgeDI5Ci0gICAgLmNmaV9yZXN0b3JlIHgzMAotCiAgICAgY21uICAgICB4MCwgIyhNQVhfRVJSTk8gKyAxKQogICAgIGNuZWcgICAgeDAsIHgwLCBoaQogICAgIGIuaGkgICAgX19zZXRfZXJybm8KZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9zZXRwcmlvcml0eS5TIGIvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL3NldHByaW9yaXR5LlMKaW5kZXggMTIxYmNhYS4uZDJmNTE3ZSAxMDA2NDQKLS0tIGEvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL3NldHByaW9yaXR5LlMKKysrIGIvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL3NldHByaW9yaXR5LlMKQEAgLTMsMjAgKzMsOSBAQAogI2luY2x1ZGUgPHByaXZhdGUvYmlvbmljX2FzbS5oPgogCiBFTlRSWShzZXRwcmlvcml0eSkKLSAgICBzdHAgICAgIHgyOSwgeDMwLCBbc3AsICMtMTZdIQotICAgIC5jZmlfZGVmX2NmYV9vZmZzZXQgMTYKLSAgICAuY2ZpX3JlbF9vZmZzZXQgeDI5LCAwCi0gICAgLmNmaV9yZWxfb2Zmc2V0IHgzMCwgOAotICAgIG1vdiAgICAgeDI5LCAgc3AKLQogICAgIG1vdiAgICAgeDgsIF9fTlJfc2V0cHJpb3JpdHkKICAgICBzdmMgICAgICMwCiAKLSAgICBsZHAgICAgIHgyOSwgeDMwLCBbc3BdLCAjMTYKLSAgICAuY2ZpX2RlZl9jZmFfb2Zmc2V0IDAKLSAgICAuY2ZpX3Jlc3RvcmUgeDI5Ci0gICAgLmNmaV9yZXN0b3JlIHgzMAotCiAgICAgY21uICAgICB4MCwgIyhNQVhfRVJSTk8gKyAxKQogICAgIGNuZWcgICAgeDAsIHgwLCBoaQogICAgIGIuaGkgICAgX19zZXRfZXJybm8KZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9zZXRyZWdpZC5TIGIvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL3NldHJlZ2lkLlMKaW5kZXggNjM4OTU1MS4uN2IzMzNiZiAxMDA2NDQKLS0tIGEvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL3NldHJlZ2lkLlMKKysrIGIvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL3NldHJlZ2lkLlMKQEAgLTMsMjAgKzMsOSBAQAogI2luY2x1ZGUgPHByaXZhdGUvYmlvbmljX2FzbS5oPgogCiBFTlRSWShzZXRyZWdpZCkKLSAgICBzdHAgICAgIHgyOSwgeDMwLCBbc3AsICMtMTZdIQotICAgIC5jZmlfZGVmX2NmYV9vZmZzZXQgMTYKLSAgICAuY2ZpX3JlbF9vZmZzZXQgeDI5LCAwCi0gICAgLmNmaV9yZWxfb2Zmc2V0IHgzMCwgOAotICAgIG1vdiAgICAgeDI5LCAgc3AKLQogICAgIG1vdiAgICAgeDgsIF9fTlJfc2V0cmVnaWQKICAgICBzdmMgICAgICMwCiAKLSAgICBsZHAgICAgIHgyOSwgeDMwLCBbc3BdLCAjMTYKLSAgICAuY2ZpX2RlZl9jZmFfb2Zmc2V0IDAKLSAgICAuY2ZpX3Jlc3RvcmUgeDI5Ci0gICAgLmNmaV9yZXN0b3JlIHgzMAotCiAgICAgY21uICAgICB4MCwgIyhNQVhfRVJSTk8gKyAxKQogICAgIGNuZWcgICAgeDAsIHgwLCBoaQogICAgIGIuaGkgICAgX19zZXRfZXJybm8KZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9zZXRyZXNnaWQuUyBiL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9zZXRyZXNnaWQuUwppbmRleCBiZjc4MjQ5Li4zOTUwNGJkIDEwMDY0NAotLS0gYS9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvc2V0cmVzZ2lkLlMKKysrIGIvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL3NldHJlc2dpZC5TCkBAIC0zLDIwICszLDkgQEAKICNpbmNsdWRlIDxwcml2YXRlL2Jpb25pY19hc20uaD4KIAogRU5UUlkoc2V0cmVzZ2lkKQotICAgIHN0cCAgICAgeDI5LCB4MzAsIFtzcCwgIy0xNl0hCi0gICAgLmNmaV9kZWZfY2ZhX29mZnNldCAxNgotICAgIC5jZmlfcmVsX29mZnNldCB4MjksIDAKLSAgICAuY2ZpX3JlbF9vZmZzZXQgeDMwLCA4Ci0gICAgbW92ICAgICB4MjksICBzcAotCiAgICAgbW92ICAgICB4OCwgX19OUl9zZXRyZXNnaWQKICAgICBzdmMgICAgICMwCiAKLSAgICBsZHAgICAgIHgyOSwgeDMwLCBbc3BdLCAjMTYKLSAgICAuY2ZpX2RlZl9jZmFfb2Zmc2V0IDAKLSAgICAuY2ZpX3Jlc3RvcmUgeDI5Ci0gICAgLmNmaV9yZXN0b3JlIHgzMAotCiAgICAgY21uICAgICB4MCwgIyhNQVhfRVJSTk8gKyAxKQogICAgIGNuZWcgICAgeDAsIHgwLCBoaQogICAgIGIuaGkgICAgX19zZXRfZXJybm8KZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9zZXRyZXN1aWQuUyBiL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9zZXRyZXN1aWQuUwppbmRleCA4MzIwMGRhLi41YWNiZmZkIDEwMDY0NAotLS0gYS9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvc2V0cmVzdWlkLlMKKysrIGIvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL3NldHJlc3VpZC5TCkBAIC0zLDIwICszLDkgQEAKICNpbmNsdWRlIDxwcml2YXRlL2Jpb25pY19hc20uaD4KIAogRU5UUlkoc2V0cmVzdWlkKQotICAgIHN0cCAgICAgeDI5LCB4MzAsIFtzcCwgIy0xNl0hCi0gICAgLmNmaV9kZWZfY2ZhX29mZnNldCAxNgotICAgIC5jZmlfcmVsX29mZnNldCB4MjksIDAKLSAgICAuY2ZpX3JlbF9vZmZzZXQgeDMwLCA4Ci0gICAgbW92ICAgICB4MjksICBzcAotCiAgICAgbW92ICAgICB4OCwgX19OUl9zZXRyZXN1aWQKICAgICBzdmMgICAgICMwCiAKLSAgICBsZHAgICAgIHgyOSwgeDMwLCBbc3BdLCAjMTYKLSAgICAuY2ZpX2RlZl9jZmFfb2Zmc2V0IDAKLSAgICAuY2ZpX3Jlc3RvcmUgeDI5Ci0gICAgLmNmaV9yZXN0b3JlIHgzMAotCiAgICAgY21uICAgICB4MCwgIyhNQVhfRVJSTk8gKyAxKQogICAgIGNuZWcgICAgeDAsIHgwLCBoaQogICAgIGIuaGkgICAgX19zZXRfZXJybm8KZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9zZXRyZXVpZC5TIGIvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL3NldHJldWlkLlMKaW5kZXggMjI1M2VlYy4uNjM2MzBkNiAxMDA2NDQKLS0tIGEvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL3NldHJldWlkLlMKKysrIGIvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL3NldHJldWlkLlMKQEAgLTMsMjAgKzMsOSBAQAogI2luY2x1ZGUgPHByaXZhdGUvYmlvbmljX2FzbS5oPgogCiBFTlRSWShzZXRyZXVpZCkKLSAgICBzdHAgICAgIHgyOSwgeDMwLCBbc3AsICMtMTZdIQotICAgIC5jZmlfZGVmX2NmYV9vZmZzZXQgMTYKLSAgICAuY2ZpX3JlbF9vZmZzZXQgeDI5LCAwCi0gICAgLmNmaV9yZWxfb2Zmc2V0IHgzMCwgOAotICAgIG1vdiAgICAgeDI5LCAgc3AKLQogICAgIG1vdiAgICAgeDgsIF9fTlJfc2V0cmV1aWQKICAgICBzdmMgICAgICMwCiAKLSAgICBsZHAgICAgIHgyOSwgeDMwLCBbc3BdLCAjMTYKLSAgICAuY2ZpX2RlZl9jZmFfb2Zmc2V0IDAKLSAgICAuY2ZpX3Jlc3RvcmUgeDI5Ci0gICAgLmNmaV9yZXN0b3JlIHgzMAotCiAgICAgY21uICAgICB4MCwgIyhNQVhfRVJSTk8gKyAxKQogICAgIGNuZWcgICAgeDAsIHgwLCBoaQogICAgIGIuaGkgICAgX19zZXRfZXJybm8KZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9zZXRybGltaXQuUyBiL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9zZXRybGltaXQuUwppbmRleCAwMzRhZTM2Li5mOWY1NmE2IDEwMDY0NAotLS0gYS9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvc2V0cmxpbWl0LlMKKysrIGIvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL3NldHJsaW1pdC5TCkBAIC0zLDIwICszLDkgQEAKICNpbmNsdWRlIDxwcml2YXRlL2Jpb25pY19hc20uaD4KIAogRU5UUlkoc2V0cmxpbWl0KQotICAgIHN0cCAgICAgeDI5LCB4MzAsIFtzcCwgIy0xNl0hCi0gICAgLmNmaV9kZWZfY2ZhX29mZnNldCAxNgotICAgIC5jZmlfcmVsX29mZnNldCB4MjksIDAKLSAgICAuY2ZpX3JlbF9vZmZzZXQgeDMwLCA4Ci0gICAgbW92ICAgICB4MjksICBzcAotCiAgICAgbW92ICAgICB4OCwgX19OUl9zZXRybGltaXQKICAgICBzdmMgICAgICMwCiAKLSAgICBsZHAgICAgIHgyOSwgeDMwLCBbc3BdLCAjMTYKLSAgICAuY2ZpX2RlZl9jZmFfb2Zmc2V0IDAKLSAgICAuY2ZpX3Jlc3RvcmUgeDI5Ci0gICAgLmNmaV9yZXN0b3JlIHgzMAotCiAgICAgY21uICAgICB4MCwgIyhNQVhfRVJSTk8gKyAxKQogICAgIGNuZWcgICAgeDAsIHgwLCBoaQogICAgIGIuaGkgICAgX19zZXRfZXJybm8KZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9zZXRzaWQuUyBiL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9zZXRzaWQuUwppbmRleCA2NDEyM2RmLi4wNGMyOGUzIDEwMDY0NAotLS0gYS9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvc2V0c2lkLlMKKysrIGIvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL3NldHNpZC5TCkBAIC0zLDIwICszLDkgQEAKICNpbmNsdWRlIDxwcml2YXRlL2Jpb25pY19hc20uaD4KIAogRU5UUlkoc2V0c2lkKQotICAgIHN0cCAgICAgeDI5LCB4MzAsIFtzcCwgIy0xNl0hCi0gICAgLmNmaV9kZWZfY2ZhX29mZnNldCAxNgotICAgIC5jZmlfcmVsX29mZnNldCB4MjksIDAKLSAgICAuY2ZpX3JlbF9vZmZzZXQgeDMwLCA4Ci0gICAgbW92ICAgICB4MjksICBzcAotCiAgICAgbW92ICAgICB4OCwgX19OUl9zZXRzaWQKICAgICBzdmMgICAgICMwCiAKLSAgICBsZHAgICAgIHgyOSwgeDMwLCBbc3BdLCAjMTYKLSAgICAuY2ZpX2RlZl9jZmFfb2Zmc2V0IDAKLSAgICAuY2ZpX3Jlc3RvcmUgeDI5Ci0gICAgLmNmaV9yZXN0b3JlIHgzMAotCiAgICAgY21uICAgICB4MCwgIyhNQVhfRVJSTk8gKyAxKQogICAgIGNuZWcgICAgeDAsIHgwLCBoaQogICAgIGIuaGkgICAgX19zZXRfZXJybm8KZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9zZXRzb2Nrb3B0LlMgYi9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvc2V0c29ja29wdC5TCmluZGV4IGZlOGRhMjIuLjBlYmM2ZDAgMTAwNjQ0Ci0tLSBhL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9zZXRzb2Nrb3B0LlMKKysrIGIvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL3NldHNvY2tvcHQuUwpAQCAtMywyMCArMyw5IEBACiAjaW5jbHVkZSA8cHJpdmF0ZS9iaW9uaWNfYXNtLmg+CiAKIEVOVFJZKHNldHNvY2tvcHQpCi0gICAgc3RwICAgICB4MjksIHgzMCwgW3NwLCAjLTE2XSEKLSAgICAuY2ZpX2RlZl9jZmFfb2Zmc2V0IDE2Ci0gICAgLmNmaV9yZWxfb2Zmc2V0IHgyOSwgMAotICAgIC5jZmlfcmVsX29mZnNldCB4MzAsIDgKLSAgICBtb3YgICAgIHgyOSwgIHNwCi0KICAgICBtb3YgICAgIHg4LCBfX05SX3NldHNvY2tvcHQKICAgICBzdmMgICAgICMwCiAKLSAgICBsZHAgICAgIHgyOSwgeDMwLCBbc3BdLCAjMTYKLSAgICAuY2ZpX2RlZl9jZmFfb2Zmc2V0IDAKLSAgICAuY2ZpX3Jlc3RvcmUgeDI5Ci0gICAgLmNmaV9yZXN0b3JlIHgzMAotCiAgICAgY21uICAgICB4MCwgIyhNQVhfRVJSTk8gKyAxKQogICAgIGNuZWcgICAgeDAsIHgwLCBoaQogICAgIGIuaGkgICAgX19zZXRfZXJybm8KZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9zZXR0aW1lb2ZkYXkuUyBiL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9zZXR0aW1lb2ZkYXkuUwppbmRleCA1MGRlYmY5Li40NzRlNDBkIDEwMDY0NAotLS0gYS9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvc2V0dGltZW9mZGF5LlMKKysrIGIvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL3NldHRpbWVvZmRheS5TCkBAIC0zLDIwICszLDkgQEAKICNpbmNsdWRlIDxwcml2YXRlL2Jpb25pY19hc20uaD4KIAogRU5UUlkoc2V0dGltZW9mZGF5KQotICAgIHN0cCAgICAgeDI5LCB4MzAsIFtzcCwgIy0xNl0hCi0gICAgLmNmaV9kZWZfY2ZhX29mZnNldCAxNgotICAgIC5jZmlfcmVsX29mZnNldCB4MjksIDAKLSAgICAuY2ZpX3JlbF9vZmZzZXQgeDMwLCA4Ci0gICAgbW92ICAgICB4MjksICBzcAotCiAgICAgbW92ICAgICB4OCwgX19OUl9zZXR0aW1lb2ZkYXkKICAgICBzdmMgICAgICMwCiAKLSAgICBsZHAgICAgIHgyOSwgeDMwLCBbc3BdLCAjMTYKLSAgICAuY2ZpX2RlZl9jZmFfb2Zmc2V0IDAKLSAgICAuY2ZpX3Jlc3RvcmUgeDI5Ci0gICAgLmNmaV9yZXN0b3JlIHgzMAotCiAgICAgY21uICAgICB4MCwgIyhNQVhfRVJSTk8gKyAxKQogICAgIGNuZWcgICAgeDAsIHgwLCBoaQogICAgIGIuaGkgICAgX19zZXRfZXJybm8KZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9zZXR1aWQuUyBiL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9zZXR1aWQuUwppbmRleCAwYTlhZGJlLi5mZTUyOTIxIDEwMDY0NAotLS0gYS9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvc2V0dWlkLlMKKysrIGIvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL3NldHVpZC5TCkBAIC0zLDIwICszLDkgQEAKICNpbmNsdWRlIDxwcml2YXRlL2Jpb25pY19hc20uaD4KIAogRU5UUlkoc2V0dWlkKQotICAgIHN0cCAgICAgeDI5LCB4MzAsIFtzcCwgIy0xNl0hCi0gICAgLmNmaV9kZWZfY2ZhX29mZnNldCAxNgotICAgIC5jZmlfcmVsX29mZnNldCB4MjksIDAKLSAgICAuY2ZpX3JlbF9vZmZzZXQgeDMwLCA4Ci0gICAgbW92ICAgICB4MjksICBzcAotCiAgICAgbW92ICAgICB4OCwgX19OUl9zZXR1aWQKICAgICBzdmMgICAgICMwCiAKLSAgICBsZHAgICAgIHgyOSwgeDMwLCBbc3BdLCAjMTYKLSAgICAuY2ZpX2RlZl9jZmFfb2Zmc2V0IDAKLSAgICAuY2ZpX3Jlc3RvcmUgeDI5Ci0gICAgLmNmaV9yZXN0b3JlIHgzMAotCiAgICAgY21uICAgICB4MCwgIyhNQVhfRVJSTk8gKyAxKQogICAgIGNuZWcgICAgeDAsIHgwLCBoaQogICAgIGIuaGkgICAgX19zZXRfZXJybm8KZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9zZXR4YXR0ci5TIGIvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL3NldHhhdHRyLlMKaW5kZXggZWJmZDYwNy4uOGQwYjQxNSAxMDA2NDQKLS0tIGEvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL3NldHhhdHRyLlMKKysrIGIvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL3NldHhhdHRyLlMKQEAgLTMsMjAgKzMsOSBAQAogI2luY2x1ZGUgPHByaXZhdGUvYmlvbmljX2FzbS5oPgogCiBFTlRSWShzZXR4YXR0cikKLSAgICBzdHAgICAgIHgyOSwgeDMwLCBbc3AsICMtMTZdIQotICAgIC5jZmlfZGVmX2NmYV9vZmZzZXQgMTYKLSAgICAuY2ZpX3JlbF9vZmZzZXQgeDI5LCAwCi0gICAgLmNmaV9yZWxfb2Zmc2V0IHgzMCwgOAotICAgIG1vdiAgICAgeDI5LCAgc3AKLQogICAgIG1vdiAgICAgeDgsIF9fTlJfc2V0eGF0dHIKICAgICBzdmMgICAgICMwCiAKLSAgICBsZHAgICAgIHgyOSwgeDMwLCBbc3BdLCAjMTYKLSAgICAuY2ZpX2RlZl9jZmFfb2Zmc2V0IDAKLSAgICAuY2ZpX3Jlc3RvcmUgeDI5Ci0gICAgLmNmaV9yZXN0b3JlIHgzMAotCiAgICAgY21uICAgICB4MCwgIyhNQVhfRVJSTk8gKyAxKQogICAgIGNuZWcgICAgeDAsIHgwLCBoaQogICAgIGIuaGkgICAgX19zZXRfZXJybm8KZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9zaHV0ZG93bi5TIGIvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL3NodXRkb3duLlMKaW5kZXggNmU4NzhkNi4uZTM1Y2RlYSAxMDA2NDQKLS0tIGEvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL3NodXRkb3duLlMKKysrIGIvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL3NodXRkb3duLlMKQEAgLTMsMjAgKzMsOSBAQAogI2luY2x1ZGUgPHByaXZhdGUvYmlvbmljX2FzbS5oPgogCiBFTlRSWShzaHV0ZG93bikKLSAgICBzdHAgICAgIHgyOSwgeDMwLCBbc3AsICMtMTZdIQotICAgIC5jZmlfZGVmX2NmYV9vZmZzZXQgMTYKLSAgICAuY2ZpX3JlbF9vZmZzZXQgeDI5LCAwCi0gICAgLmNmaV9yZWxfb2Zmc2V0IHgzMCwgOAotICAgIG1vdiAgICAgeDI5LCAgc3AKLQogICAgIG1vdiAgICAgeDgsIF9fTlJfc2h1dGRvd24KICAgICBzdmMgICAgICMwCiAKLSAgICBsZHAgICAgIHgyOSwgeDMwLCBbc3BdLCAjMTYKLSAgICAuY2ZpX2RlZl9jZmFfb2Zmc2V0IDAKLSAgICAuY2ZpX3Jlc3RvcmUgeDI5Ci0gICAgLmNmaV9yZXN0b3JlIHgzMAotCiAgICAgY21uICAgICB4MCwgIyhNQVhfRVJSTk8gKyAxKQogICAgIGNuZWcgICAgeDAsIHgwLCBoaQogICAgIGIuaGkgICAgX19zZXRfZXJybm8KZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9zaWdhbHRzdGFjay5TIGIvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL3NpZ2FsdHN0YWNrLlMKaW5kZXggNDY3OTRkNC4uNmEzODIwMyAxMDA2NDQKLS0tIGEvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL3NpZ2FsdHN0YWNrLlMKKysrIGIvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL3NpZ2FsdHN0YWNrLlMKQEAgLTMsMjAgKzMsOSBAQAogI2luY2x1ZGUgPHByaXZhdGUvYmlvbmljX2FzbS5oPgogCiBFTlRSWShzaWdhbHRzdGFjaykKLSAgICBzdHAgICAgIHgyOSwgeDMwLCBbc3AsICMtMTZdIQotICAgIC5jZmlfZGVmX2NmYV9vZmZzZXQgMTYKLSAgICAuY2ZpX3JlbF9vZmZzZXQgeDI5LCAwCi0gICAgLmNmaV9yZWxfb2Zmc2V0IHgzMCwgOAotICAgIG1vdiAgICAgeDI5LCAgc3AKLQogICAgIG1vdiAgICAgeDgsIF9fTlJfc2lnYWx0c3RhY2sKICAgICBzdmMgICAgICMwCiAKLSAgICBsZHAgICAgIHgyOSwgeDMwLCBbc3BdLCAjMTYKLSAgICAuY2ZpX2RlZl9jZmFfb2Zmc2V0IDAKLSAgICAuY2ZpX3Jlc3RvcmUgeDI5Ci0gICAgLmNmaV9yZXN0b3JlIHgzMAotCiAgICAgY21uICAgICB4MCwgIyhNQVhfRVJSTk8gKyAxKQogICAgIGNuZWcgICAgeDAsIHgwLCBoaQogICAgIGIuaGkgICAgX19zZXRfZXJybm8KZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9zb2NrZXRwYWlyLlMgYi9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvc29ja2V0cGFpci5TCmluZGV4IGM0MmZmMjQuLmRjZDcyMjMgMTAwNjQ0Ci0tLSBhL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9zb2NrZXRwYWlyLlMKKysrIGIvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL3NvY2tldHBhaXIuUwpAQCAtMywyMCArMyw5IEBACiAjaW5jbHVkZSA8cHJpdmF0ZS9iaW9uaWNfYXNtLmg+CiAKIEVOVFJZKHNvY2tldHBhaXIpCi0gICAgc3RwICAgICB4MjksIHgzMCwgW3NwLCAjLTE2XSEKLSAgICAuY2ZpX2RlZl9jZmFfb2Zmc2V0IDE2Ci0gICAgLmNmaV9yZWxfb2Zmc2V0IHgyOSwgMAotICAgIC5jZmlfcmVsX29mZnNldCB4MzAsIDgKLSAgICBtb3YgICAgIHgyOSwgIHNwCi0KICAgICBtb3YgICAgIHg4LCBfX05SX3NvY2tldHBhaXIKICAgICBzdmMgICAgICMwCiAKLSAgICBsZHAgICAgIHgyOSwgeDMwLCBbc3BdLCAjMTYKLSAgICAuY2ZpX2RlZl9jZmFfb2Zmc2V0IDAKLSAgICAuY2ZpX3Jlc3RvcmUgeDI5Ci0gICAgLmNmaV9yZXN0b3JlIHgzMAotCiAgICAgY21uICAgICB4MCwgIyhNQVhfRVJSTk8gKyAxKQogICAgIGNuZWcgICAgeDAsIHgwLCBoaQogICAgIGIuaGkgICAgX19zZXRfZXJybm8KZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9zdGF0ZnM2NC5TIGIvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL3N0YXRmczY0LlMKaW5kZXggNjY2NjJlZS4uNTU2MzNjMSAxMDA2NDQKLS0tIGEvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL3N0YXRmczY0LlMKKysrIGIvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL3N0YXRmczY0LlMKQEAgLTMsMjAgKzMsOSBAQAogI2luY2x1ZGUgPHByaXZhdGUvYmlvbmljX2FzbS5oPgogCiBFTlRSWShzdGF0ZnM2NCkKLSAgICBzdHAgICAgIHgyOSwgeDMwLCBbc3AsICMtMTZdIQotICAgIC5jZmlfZGVmX2NmYV9vZmZzZXQgMTYKLSAgICAuY2ZpX3JlbF9vZmZzZXQgeDI5LCAwCi0gICAgLmNmaV9yZWxfb2Zmc2V0IHgzMCwgOAotICAgIG1vdiAgICAgeDI5LCAgc3AKLQogICAgIG1vdiAgICAgeDgsIF9fTlJfc3RhdGZzCiAgICAgc3ZjICAgICAjMAogCi0gICAgbGRwICAgICB4MjksIHgzMCwgW3NwXSwgIzE2Ci0gICAgLmNmaV9kZWZfY2ZhX29mZnNldCAwCi0gICAgLmNmaV9yZXN0b3JlIHgyOQotICAgIC5jZmlfcmVzdG9yZSB4MzAKLQogICAgIGNtbiAgICAgeDAsICMoTUFYX0VSUk5PICsgMSkKICAgICBjbmVnICAgIHgwLCB4MCwgaGkKICAgICBiLmhpICAgIF9fc2V0X2Vycm5vCmRpZmYgLS1naXQgYS9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvc3dhcG9mZi5TIGIvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL3N3YXBvZmYuUwppbmRleCAxZDQ2NWIwLi5kY2VmNGFmIDEwMDY0NAotLS0gYS9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvc3dhcG9mZi5TCisrKyBiL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9zd2Fwb2ZmLlMKQEAgLTMsMjAgKzMsOSBAQAogI2luY2x1ZGUgPHByaXZhdGUvYmlvbmljX2FzbS5oPgogCiBFTlRSWShzd2Fwb2ZmKQotICAgIHN0cCAgICAgeDI5LCB4MzAsIFtzcCwgIy0xNl0hCi0gICAgLmNmaV9kZWZfY2ZhX29mZnNldCAxNgotICAgIC5jZmlfcmVsX29mZnNldCB4MjksIDAKLSAgICAuY2ZpX3JlbF9vZmZzZXQgeDMwLCA4Ci0gICAgbW92ICAgICB4MjksICBzcAotCiAgICAgbW92ICAgICB4OCwgX19OUl9zd2Fwb2ZmCiAgICAgc3ZjICAgICAjMAogCi0gICAgbGRwICAgICB4MjksIHgzMCwgW3NwXSwgIzE2Ci0gICAgLmNmaV9kZWZfY2ZhX29mZnNldCAwCi0gICAgLmNmaV9yZXN0b3JlIHgyOQotICAgIC5jZmlfcmVzdG9yZSB4MzAKLQogICAgIGNtbiAgICAgeDAsICMoTUFYX0VSUk5PICsgMSkKICAgICBjbmVnICAgIHgwLCB4MCwgaGkKICAgICBiLmhpICAgIF9fc2V0X2Vycm5vCmRpZmYgLS1naXQgYS9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvc3dhcG9uLlMgYi9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvc3dhcG9uLlMKaW5kZXggN2U1Zjg1MC4uYWVmNzYyNyAxMDA2NDQKLS0tIGEvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL3N3YXBvbi5TCisrKyBiL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9zd2Fwb24uUwpAQCAtMywyMCArMyw5IEBACiAjaW5jbHVkZSA8cHJpdmF0ZS9iaW9uaWNfYXNtLmg+CiAKIEVOVFJZKHN3YXBvbikKLSAgICBzdHAgICAgIHgyOSwgeDMwLCBbc3AsICMtMTZdIQotICAgIC5jZmlfZGVmX2NmYV9vZmZzZXQgMTYKLSAgICAuY2ZpX3JlbF9vZmZzZXQgeDI5LCAwCi0gICAgLmNmaV9yZWxfb2Zmc2V0IHgzMCwgOAotICAgIG1vdiAgICAgeDI5LCAgc3AKLQogICAgIG1vdiAgICAgeDgsIF9fTlJfc3dhcG9uCiAgICAgc3ZjICAgICAjMAogCi0gICAgbGRwICAgICB4MjksIHgzMCwgW3NwXSwgIzE2Ci0gICAgLmNmaV9kZWZfY2ZhX29mZnNldCAwCi0gICAgLmNmaV9yZXN0b3JlIHgyOQotICAgIC5jZmlfcmVzdG9yZSB4MzAKLQogICAgIGNtbiAgICAgeDAsICMoTUFYX0VSUk5PICsgMSkKICAgICBjbmVnICAgIHgwLCB4MCwgaGkKICAgICBiLmhpICAgIF9fc2V0X2Vycm5vCmRpZmYgLS1naXQgYS9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvc3ltbGlua2F0LlMgYi9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvc3ltbGlua2F0LlMKaW5kZXggMDA4MWNmMi4uOTgzMDg2NSAxMDA2NDQKLS0tIGEvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL3N5bWxpbmthdC5TCisrKyBiL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9zeW1saW5rYXQuUwpAQCAtMywyMCArMyw5IEBACiAjaW5jbHVkZSA8cHJpdmF0ZS9iaW9uaWNfYXNtLmg+CiAKIEVOVFJZKHN5bWxpbmthdCkKLSAgICBzdHAgICAgIHgyOSwgeDMwLCBbc3AsICMtMTZdIQotICAgIC5jZmlfZGVmX2NmYV9vZmZzZXQgMTYKLSAgICAuY2ZpX3JlbF9vZmZzZXQgeDI5LCAwCi0gICAgLmNmaV9yZWxfb2Zmc2V0IHgzMCwgOAotICAgIG1vdiAgICAgeDI5LCAgc3AKLQogICAgIG1vdiAgICAgeDgsIF9fTlJfc3ltbGlua2F0CiAgICAgc3ZjICAgICAjMAogCi0gICAgbGRwICAgICB4MjksIHgzMCwgW3NwXSwgIzE2Ci0gICAgLmNmaV9kZWZfY2ZhX29mZnNldCAwCi0gICAgLmNmaV9yZXN0b3JlIHgyOQotICAgIC5jZmlfcmVzdG9yZSB4MzAKLQogICAgIGNtbiAgICAgeDAsICMoTUFYX0VSUk5PICsgMSkKICAgICBjbmVnICAgIHgwLCB4MCwgaGkKICAgICBiLmhpICAgIF9fc2V0X2Vycm5vCmRpZmYgLS1naXQgYS9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvc3luYy5TIGIvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL3N5bmMuUwppbmRleCA2N2JjNTU0Li4zZWYwNDYwIDEwMDY0NAotLS0gYS9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvc3luYy5TCisrKyBiL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9zeW5jLlMKQEAgLTMsMjAgKzMsOSBAQAogI2luY2x1ZGUgPHByaXZhdGUvYmlvbmljX2FzbS5oPgogCiBFTlRSWShzeW5jKQotICAgIHN0cCAgICAgeDI5LCB4MzAsIFtzcCwgIy0xNl0hCi0gICAgLmNmaV9kZWZfY2ZhX29mZnNldCAxNgotICAgIC5jZmlfcmVsX29mZnNldCB4MjksIDAKLSAgICAuY2ZpX3JlbF9vZmZzZXQgeDMwLCA4Ci0gICAgbW92ICAgICB4MjksICBzcAotCiAgICAgbW92ICAgICB4OCwgX19OUl9zeW5jCiAgICAgc3ZjICAgICAjMAogCi0gICAgbGRwICAgICB4MjksIHgzMCwgW3NwXSwgIzE2Ci0gICAgLmNmaV9kZWZfY2ZhX29mZnNldCAwCi0gICAgLmNmaV9yZXN0b3JlIHgyOQotICAgIC5jZmlfcmVzdG9yZSB4MzAKLQogICAgIGNtbiAgICAgeDAsICMoTUFYX0VSUk5PICsgMSkKICAgICBjbmVnICAgIHgwLCB4MCwgaGkKICAgICBiLmhpICAgIF9fc2V0X2Vycm5vCmRpZmYgLS1naXQgYS9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvc3lzaW5mby5TIGIvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL3N5c2luZm8uUwppbmRleCAwNzk3YTM5Li43ZGJlMTUyIDEwMDY0NAotLS0gYS9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvc3lzaW5mby5TCisrKyBiL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy9zeXNpbmZvLlMKQEAgLTMsMjAgKzMsOSBAQAogI2luY2x1ZGUgPHByaXZhdGUvYmlvbmljX2FzbS5oPgogCiBFTlRSWShzeXNpbmZvKQotICAgIHN0cCAgICAgeDI5LCB4MzAsIFtzcCwgIy0xNl0hCi0gICAgLmNmaV9kZWZfY2ZhX29mZnNldCAxNgotICAgIC5jZmlfcmVsX29mZnNldCB4MjksIDAKLSAgICAuY2ZpX3JlbF9vZmZzZXQgeDMwLCA4Ci0gICAgbW92ICAgICB4MjksICBzcAotCiAgICAgbW92ICAgICB4OCwgX19OUl9zeXNpbmZvCiAgICAgc3ZjICAgICAjMAogCi0gICAgbGRwICAgICB4MjksIHgzMCwgW3NwXSwgIzE2Ci0gICAgLmNmaV9kZWZfY2ZhX29mZnNldCAwCi0gICAgLmNmaV9yZXN0b3JlIHgyOQotICAgIC5jZmlfcmVzdG9yZSB4MzAKLQogICAgIGNtbiAgICAgeDAsICMoTUFYX0VSUk5PICsgMSkKICAgICBjbmVnICAgIHgwLCB4MCwgaGkKICAgICBiLmhpICAgIF9fc2V0X2Vycm5vCmRpZmYgLS1naXQgYS9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvdGdraWxsLlMgYi9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvdGdraWxsLlMKaW5kZXggOTM2NmM3MC4uNDc3YzQ3NyAxMDA2NDQKLS0tIGEvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL3Rna2lsbC5TCisrKyBiL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy90Z2tpbGwuUwpAQCAtMywyMCArMyw5IEBACiAjaW5jbHVkZSA8cHJpdmF0ZS9iaW9uaWNfYXNtLmg+CiAKIEVOVFJZKHRna2lsbCkKLSAgICBzdHAgICAgIHgyOSwgeDMwLCBbc3AsICMtMTZdIQotICAgIC5jZmlfZGVmX2NmYV9vZmZzZXQgMTYKLSAgICAuY2ZpX3JlbF9vZmZzZXQgeDI5LCAwCi0gICAgLmNmaV9yZWxfb2Zmc2V0IHgzMCwgOAotICAgIG1vdiAgICAgeDI5LCAgc3AKLQogICAgIG1vdiAgICAgeDgsIF9fTlJfdGdraWxsCiAgICAgc3ZjICAgICAjMAogCi0gICAgbGRwICAgICB4MjksIHgzMCwgW3NwXSwgIzE2Ci0gICAgLmNmaV9kZWZfY2ZhX29mZnNldCAwCi0gICAgLmNmaV9yZXN0b3JlIHgyOQotICAgIC5jZmlfcmVzdG9yZSB4MzAKLQogICAgIGNtbiAgICAgeDAsICMoTUFYX0VSUk5PICsgMSkKICAgICBjbmVnICAgIHgwLCB4MCwgaGkKICAgICBiLmhpICAgIF9fc2V0X2Vycm5vCmRpZmYgLS1naXQgYS9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvdGltZXJmZF9jcmVhdGUuUyBiL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy90aW1lcmZkX2NyZWF0ZS5TCmluZGV4IDFlOWQyZTMuLjgzYjU5MTAgMTAwNjQ0Ci0tLSBhL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy90aW1lcmZkX2NyZWF0ZS5TCisrKyBiL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy90aW1lcmZkX2NyZWF0ZS5TCkBAIC0zLDIwICszLDkgQEAKICNpbmNsdWRlIDxwcml2YXRlL2Jpb25pY19hc20uaD4KIAogRU5UUlkodGltZXJmZF9jcmVhdGUpCi0gICAgc3RwICAgICB4MjksIHgzMCwgW3NwLCAjLTE2XSEKLSAgICAuY2ZpX2RlZl9jZmFfb2Zmc2V0IDE2Ci0gICAgLmNmaV9yZWxfb2Zmc2V0IHgyOSwgMAotICAgIC5jZmlfcmVsX29mZnNldCB4MzAsIDgKLSAgICBtb3YgICAgIHgyOSwgIHNwCi0KICAgICBtb3YgICAgIHg4LCBfX05SX3RpbWVyZmRfY3JlYXRlCiAgICAgc3ZjICAgICAjMAogCi0gICAgbGRwICAgICB4MjksIHgzMCwgW3NwXSwgIzE2Ci0gICAgLmNmaV9kZWZfY2ZhX29mZnNldCAwCi0gICAgLmNmaV9yZXN0b3JlIHgyOQotICAgIC5jZmlfcmVzdG9yZSB4MzAKLQogICAgIGNtbiAgICAgeDAsICMoTUFYX0VSUk5PICsgMSkKICAgICBjbmVnICAgIHgwLCB4MCwgaGkKICAgICBiLmhpICAgIF9fc2V0X2Vycm5vCmRpZmYgLS1naXQgYS9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvdGltZXJmZF9nZXR0aW1lLlMgYi9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvdGltZXJmZF9nZXR0aW1lLlMKaW5kZXggNTZkN2Y5Ni4uMjUzY2I3OSAxMDA2NDQKLS0tIGEvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL3RpbWVyZmRfZ2V0dGltZS5TCisrKyBiL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy90aW1lcmZkX2dldHRpbWUuUwpAQCAtMywyMCArMyw5IEBACiAjaW5jbHVkZSA8cHJpdmF0ZS9iaW9uaWNfYXNtLmg+CiAKIEVOVFJZKHRpbWVyZmRfZ2V0dGltZSkKLSAgICBzdHAgICAgIHgyOSwgeDMwLCBbc3AsICMtMTZdIQotICAgIC5jZmlfZGVmX2NmYV9vZmZzZXQgMTYKLSAgICAuY2ZpX3JlbF9vZmZzZXQgeDI5LCAwCi0gICAgLmNmaV9yZWxfb2Zmc2V0IHgzMCwgOAotICAgIG1vdiAgICAgeDI5LCAgc3AKLQogICAgIG1vdiAgICAgeDgsIF9fTlJfdGltZXJmZF9nZXR0aW1lCiAgICAgc3ZjICAgICAjMAogCi0gICAgbGRwICAgICB4MjksIHgzMCwgW3NwXSwgIzE2Ci0gICAgLmNmaV9kZWZfY2ZhX29mZnNldCAwCi0gICAgLmNmaV9yZXN0b3JlIHgyOQotICAgIC5jZmlfcmVzdG9yZSB4MzAKLQogICAgIGNtbiAgICAgeDAsICMoTUFYX0VSUk5PICsgMSkKICAgICBjbmVnICAgIHgwLCB4MCwgaGkKICAgICBiLmhpICAgIF9fc2V0X2Vycm5vCmRpZmYgLS1naXQgYS9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvdGltZXJmZF9zZXR0aW1lLlMgYi9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvdGltZXJmZF9zZXR0aW1lLlMKaW5kZXggMjlhZjBmMS4uODg3MjQ4MSAxMDA2NDQKLS0tIGEvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL3RpbWVyZmRfc2V0dGltZS5TCisrKyBiL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy90aW1lcmZkX3NldHRpbWUuUwpAQCAtMywyMCArMyw5IEBACiAjaW5jbHVkZSA8cHJpdmF0ZS9iaW9uaWNfYXNtLmg+CiAKIEVOVFJZKHRpbWVyZmRfc2V0dGltZSkKLSAgICBzdHAgICAgIHgyOSwgeDMwLCBbc3AsICMtMTZdIQotICAgIC5jZmlfZGVmX2NmYV9vZmZzZXQgMTYKLSAgICAuY2ZpX3JlbF9vZmZzZXQgeDI5LCAwCi0gICAgLmNmaV9yZWxfb2Zmc2V0IHgzMCwgOAotICAgIG1vdiAgICAgeDI5LCAgc3AKLQogICAgIG1vdiAgICAgeDgsIF9fTlJfdGltZXJmZF9zZXR0aW1lCiAgICAgc3ZjICAgICAjMAogCi0gICAgbGRwICAgICB4MjksIHgzMCwgW3NwXSwgIzE2Ci0gICAgLmNmaV9kZWZfY2ZhX29mZnNldCAwCi0gICAgLmNmaV9yZXN0b3JlIHgyOQotICAgIC5jZmlfcmVzdG9yZSB4MzAKLQogICAgIGNtbiAgICAgeDAsICMoTUFYX0VSUk5PICsgMSkKICAgICBjbmVnICAgIHgwLCB4MCwgaGkKICAgICBiLmhpICAgIF9fc2V0X2Vycm5vCmRpZmYgLS1naXQgYS9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvdGltZXMuUyBiL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy90aW1lcy5TCmluZGV4IDk0ODcxODYuLjMzYzdkNTUgMTAwNjQ0Ci0tLSBhL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy90aW1lcy5TCisrKyBiL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy90aW1lcy5TCkBAIC0zLDIwICszLDkgQEAKICNpbmNsdWRlIDxwcml2YXRlL2Jpb25pY19hc20uaD4KIAogRU5UUlkodGltZXMpCi0gICAgc3RwICAgICB4MjksIHgzMCwgW3NwLCAjLTE2XSEKLSAgICAuY2ZpX2RlZl9jZmFfb2Zmc2V0IDE2Ci0gICAgLmNmaV9yZWxfb2Zmc2V0IHgyOSwgMAotICAgIC5jZmlfcmVsX29mZnNldCB4MzAsIDgKLSAgICBtb3YgICAgIHgyOSwgIHNwCi0KICAgICBtb3YgICAgIHg4LCBfX05SX3RpbWVzCiAgICAgc3ZjICAgICAjMAogCi0gICAgbGRwICAgICB4MjksIHgzMCwgW3NwXSwgIzE2Ci0gICAgLmNmaV9kZWZfY2ZhX29mZnNldCAwCi0gICAgLmNmaV9yZXN0b3JlIHgyOQotICAgIC5jZmlfcmVzdG9yZSB4MzAKLQogICAgIGNtbiAgICAgeDAsICMoTUFYX0VSUk5PICsgMSkKICAgICBjbmVnICAgIHgwLCB4MCwgaGkKICAgICBiLmhpICAgIF9fc2V0X2Vycm5vCmRpZmYgLS1naXQgYS9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvdHJ1bmNhdGUuUyBiL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy90cnVuY2F0ZS5TCmluZGV4IDNiYmUzNTYuLmYxNTI1M2IgMTAwNjQ0Ci0tLSBhL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy90cnVuY2F0ZS5TCisrKyBiL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy90cnVuY2F0ZS5TCkBAIC0zLDIwICszLDkgQEAKICNpbmNsdWRlIDxwcml2YXRlL2Jpb25pY19hc20uaD4KIAogRU5UUlkodHJ1bmNhdGUpCi0gICAgc3RwICAgICB4MjksIHgzMCwgW3NwLCAjLTE2XSEKLSAgICAuY2ZpX2RlZl9jZmFfb2Zmc2V0IDE2Ci0gICAgLmNmaV9yZWxfb2Zmc2V0IHgyOSwgMAotICAgIC5jZmlfcmVsX29mZnNldCB4MzAsIDgKLSAgICBtb3YgICAgIHgyOSwgIHNwCi0KICAgICBtb3YgICAgIHg4LCBfX05SX3RydW5jYXRlCiAgICAgc3ZjICAgICAjMAogCi0gICAgbGRwICAgICB4MjksIHgzMCwgW3NwXSwgIzE2Ci0gICAgLmNmaV9kZWZfY2ZhX29mZnNldCAwCi0gICAgLmNmaV9yZXN0b3JlIHgyOQotICAgIC5jZmlfcmVzdG9yZSB4MzAKLQogICAgIGNtbiAgICAgeDAsICMoTUFYX0VSUk5PICsgMSkKICAgICBjbmVnICAgIHgwLCB4MCwgaGkKICAgICBiLmhpICAgIF9fc2V0X2Vycm5vCmRpZmYgLS1naXQgYS9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvdW1hc2suUyBiL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy91bWFzay5TCmluZGV4IGNhNzIwOTIuLjhiOTA3YjQgMTAwNjQ0Ci0tLSBhL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy91bWFzay5TCisrKyBiL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy91bWFzay5TCkBAIC0zLDIwICszLDkgQEAKICNpbmNsdWRlIDxwcml2YXRlL2Jpb25pY19hc20uaD4KIAogRU5UUlkodW1hc2spCi0gICAgc3RwICAgICB4MjksIHgzMCwgW3NwLCAjLTE2XSEKLSAgICAuY2ZpX2RlZl9jZmFfb2Zmc2V0IDE2Ci0gICAgLmNmaV9yZWxfb2Zmc2V0IHgyOSwgMAotICAgIC5jZmlfcmVsX29mZnNldCB4MzAsIDgKLSAgICBtb3YgICAgIHgyOSwgIHNwCi0KICAgICBtb3YgICAgIHg4LCBfX05SX3VtYXNrCiAgICAgc3ZjICAgICAjMAogCi0gICAgbGRwICAgICB4MjksIHgzMCwgW3NwXSwgIzE2Ci0gICAgLmNmaV9kZWZfY2ZhX29mZnNldCAwCi0gICAgLmNmaV9yZXN0b3JlIHgyOQotICAgIC5jZmlfcmVzdG9yZSB4MzAKLQogICAgIGNtbiAgICAgeDAsICMoTUFYX0VSUk5PICsgMSkKICAgICBjbmVnICAgIHgwLCB4MCwgaGkKICAgICBiLmhpICAgIF9fc2V0X2Vycm5vCmRpZmYgLS1naXQgYS9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvdW1vdW50Mi5TIGIvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL3Vtb3VudDIuUwppbmRleCBhOTU5NjI1Li41NjQ2ZGJhIDEwMDY0NAotLS0gYS9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvdW1vdW50Mi5TCisrKyBiL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy91bW91bnQyLlMKQEAgLTMsMjAgKzMsOSBAQAogI2luY2x1ZGUgPHByaXZhdGUvYmlvbmljX2FzbS5oPgogCiBFTlRSWSh1bW91bnQyKQotICAgIHN0cCAgICAgeDI5LCB4MzAsIFtzcCwgIy0xNl0hCi0gICAgLmNmaV9kZWZfY2ZhX29mZnNldCAxNgotICAgIC5jZmlfcmVsX29mZnNldCB4MjksIDAKLSAgICAuY2ZpX3JlbF9vZmZzZXQgeDMwLCA4Ci0gICAgbW92ICAgICB4MjksICBzcAotCiAgICAgbW92ICAgICB4OCwgX19OUl91bW91bnQyCiAgICAgc3ZjICAgICAjMAogCi0gICAgbGRwICAgICB4MjksIHgzMCwgW3NwXSwgIzE2Ci0gICAgLmNmaV9kZWZfY2ZhX29mZnNldCAwCi0gICAgLmNmaV9yZXN0b3JlIHgyOQotICAgIC5jZmlfcmVzdG9yZSB4MzAKLQogICAgIGNtbiAgICAgeDAsICMoTUFYX0VSUk5PICsgMSkKICAgICBjbmVnICAgIHgwLCB4MCwgaGkKICAgICBiLmhpICAgIF9fc2V0X2Vycm5vCmRpZmYgLS1naXQgYS9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvdW5hbWUuUyBiL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy91bmFtZS5TCmluZGV4IDJmODc1NjMuLjA5ZWMwOTYgMTAwNjQ0Ci0tLSBhL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy91bmFtZS5TCisrKyBiL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy91bmFtZS5TCkBAIC0zLDIwICszLDkgQEAKICNpbmNsdWRlIDxwcml2YXRlL2Jpb25pY19hc20uaD4KIAogRU5UUlkodW5hbWUpCi0gICAgc3RwICAgICB4MjksIHgzMCwgW3NwLCAjLTE2XSEKLSAgICAuY2ZpX2RlZl9jZmFfb2Zmc2V0IDE2Ci0gICAgLmNmaV9yZWxfb2Zmc2V0IHgyOSwgMAotICAgIC5jZmlfcmVsX29mZnNldCB4MzAsIDgKLSAgICBtb3YgICAgIHgyOSwgIHNwCi0KICAgICBtb3YgICAgIHg4LCBfX05SX3VuYW1lCiAgICAgc3ZjICAgICAjMAogCi0gICAgbGRwICAgICB4MjksIHgzMCwgW3NwXSwgIzE2Ci0gICAgLmNmaV9kZWZfY2ZhX29mZnNldCAwCi0gICAgLmNmaV9yZXN0b3JlIHgyOQotICAgIC5jZmlfcmVzdG9yZSB4MzAKLQogICAgIGNtbiAgICAgeDAsICMoTUFYX0VSUk5PICsgMSkKICAgICBjbmVnICAgIHgwLCB4MCwgaGkKICAgICBiLmhpICAgIF9fc2V0X2Vycm5vCmRpZmYgLS1naXQgYS9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvdW5saW5rYXQuUyBiL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy91bmxpbmthdC5TCmluZGV4IDAwMjU3MjYuLjk5MmY2NzUgMTAwNjQ0Ci0tLSBhL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy91bmxpbmthdC5TCisrKyBiL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy91bmxpbmthdC5TCkBAIC0zLDIwICszLDkgQEAKICNpbmNsdWRlIDxwcml2YXRlL2Jpb25pY19hc20uaD4KIAogRU5UUlkodW5saW5rYXQpCi0gICAgc3RwICAgICB4MjksIHgzMCwgW3NwLCAjLTE2XSEKLSAgICAuY2ZpX2RlZl9jZmFfb2Zmc2V0IDE2Ci0gICAgLmNmaV9yZWxfb2Zmc2V0IHgyOSwgMAotICAgIC5jZmlfcmVsX29mZnNldCB4MzAsIDgKLSAgICBtb3YgICAgIHgyOSwgIHNwCi0KICAgICBtb3YgICAgIHg4LCBfX05SX3VubGlua2F0CiAgICAgc3ZjICAgICAjMAogCi0gICAgbGRwICAgICB4MjksIHgzMCwgW3NwXSwgIzE2Ci0gICAgLmNmaV9kZWZfY2ZhX29mZnNldCAwCi0gICAgLmNmaV9yZXN0b3JlIHgyOQotICAgIC5jZmlfcmVzdG9yZSB4MzAKLQogICAgIGNtbiAgICAgeDAsICMoTUFYX0VSUk5PICsgMSkKICAgICBjbmVnICAgIHgwLCB4MCwgaGkKICAgICBiLmhpICAgIF9fc2V0X2Vycm5vCmRpZmYgLS1naXQgYS9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvdW5zaGFyZS5TIGIvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL3Vuc2hhcmUuUwppbmRleCA1NTQ2MmI0Li4xMDYyZGNkIDEwMDY0NAotLS0gYS9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvdW5zaGFyZS5TCisrKyBiL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy91bnNoYXJlLlMKQEAgLTMsMjAgKzMsOSBAQAogI2luY2x1ZGUgPHByaXZhdGUvYmlvbmljX2FzbS5oPgogCiBFTlRSWSh1bnNoYXJlKQotICAgIHN0cCAgICAgeDI5LCB4MzAsIFtzcCwgIy0xNl0hCi0gICAgLmNmaV9kZWZfY2ZhX29mZnNldCAxNgotICAgIC5jZmlfcmVsX29mZnNldCB4MjksIDAKLSAgICAuY2ZpX3JlbF9vZmZzZXQgeDMwLCA4Ci0gICAgbW92ICAgICB4MjksICBzcAotCiAgICAgbW92ICAgICB4OCwgX19OUl91bnNoYXJlCiAgICAgc3ZjICAgICAjMAogCi0gICAgbGRwICAgICB4MjksIHgzMCwgW3NwXSwgIzE2Ci0gICAgLmNmaV9kZWZfY2ZhX29mZnNldCAwCi0gICAgLmNmaV9yZXN0b3JlIHgyOQotICAgIC5jZmlfcmVzdG9yZSB4MzAKLQogICAgIGNtbiAgICAgeDAsICMoTUFYX0VSUk5PICsgMSkKICAgICBjbmVnICAgIHgwLCB4MCwgaGkKICAgICBiLmhpICAgIF9fc2V0X2Vycm5vCmRpZmYgLS1naXQgYS9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvdXRpbWVuc2F0LlMgYi9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvdXRpbWVuc2F0LlMKaW5kZXggYWE1Y2ZiZi4uOGEyNWVkNiAxMDA2NDQKLS0tIGEvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL3V0aW1lbnNhdC5TCisrKyBiL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy91dGltZW5zYXQuUwpAQCAtMywyMCArMyw5IEBACiAjaW5jbHVkZSA8cHJpdmF0ZS9iaW9uaWNfYXNtLmg+CiAKIEVOVFJZKHV0aW1lbnNhdCkKLSAgICBzdHAgICAgIHgyOSwgeDMwLCBbc3AsICMtMTZdIQotICAgIC5jZmlfZGVmX2NmYV9vZmZzZXQgMTYKLSAgICAuY2ZpX3JlbF9vZmZzZXQgeDI5LCAwCi0gICAgLmNmaV9yZWxfb2Zmc2V0IHgzMCwgOAotICAgIG1vdiAgICAgeDI5LCAgc3AKLQogICAgIG1vdiAgICAgeDgsIF9fTlJfdXRpbWVuc2F0CiAgICAgc3ZjICAgICAjMAogCi0gICAgbGRwICAgICB4MjksIHgzMCwgW3NwXSwgIzE2Ci0gICAgLmNmaV9kZWZfY2ZhX29mZnNldCAwCi0gICAgLmNmaV9yZXN0b3JlIHgyOQotICAgIC5jZmlfcmVzdG9yZSB4MzAKLQogICAgIGNtbiAgICAgeDAsICMoTUFYX0VSUk5PICsgMSkKICAgICBjbmVnICAgIHgwLCB4MCwgaGkKICAgICBiLmhpICAgIF9fc2V0X2Vycm5vCmRpZmYgLS1naXQgYS9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvd2FpdDQuUyBiL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy93YWl0NC5TCmluZGV4IDkzMTgzZTUuLmEwZDVkNjIgMTAwNjQ0Ci0tLSBhL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy93YWl0NC5TCisrKyBiL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy93YWl0NC5TCkBAIC0zLDIwICszLDkgQEAKICNpbmNsdWRlIDxwcml2YXRlL2Jpb25pY19hc20uaD4KIAogRU5UUlkod2FpdDQpCi0gICAgc3RwICAgICB4MjksIHgzMCwgW3NwLCAjLTE2XSEKLSAgICAuY2ZpX2RlZl9jZmFfb2Zmc2V0IDE2Ci0gICAgLmNmaV9yZWxfb2Zmc2V0IHgyOSwgMAotICAgIC5jZmlfcmVsX29mZnNldCB4MzAsIDgKLSAgICBtb3YgICAgIHgyOSwgIHNwCi0KICAgICBtb3YgICAgIHg4LCBfX05SX3dhaXQ0CiAgICAgc3ZjICAgICAjMAogCi0gICAgbGRwICAgICB4MjksIHgzMCwgW3NwXSwgIzE2Ci0gICAgLmNmaV9kZWZfY2ZhX29mZnNldCAwCi0gICAgLmNmaV9yZXN0b3JlIHgyOQotICAgIC5jZmlfcmVzdG9yZSB4MzAKLQogICAgIGNtbiAgICAgeDAsICMoTUFYX0VSUk5PICsgMSkKICAgICBjbmVnICAgIHgwLCB4MCwgaGkKICAgICBiLmhpICAgIF9fc2V0X2Vycm5vCmRpZmYgLS1naXQgYS9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvd3JpdGUuUyBiL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy93cml0ZS5TCmluZGV4IGI3Mjg4ZDEuLmQ2NDU1MmUgMTAwNjQ0Ci0tLSBhL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy93cml0ZS5TCisrKyBiL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy93cml0ZS5TCkBAIC0zLDIwICszLDkgQEAKICNpbmNsdWRlIDxwcml2YXRlL2Jpb25pY19hc20uaD4KIAogRU5UUlkod3JpdGUpCi0gICAgc3RwICAgICB4MjksIHgzMCwgW3NwLCAjLTE2XSEKLSAgICAuY2ZpX2RlZl9jZmFfb2Zmc2V0IDE2Ci0gICAgLmNmaV9yZWxfb2Zmc2V0IHgyOSwgMAotICAgIC5jZmlfcmVsX29mZnNldCB4MzAsIDgKLSAgICBtb3YgICAgIHgyOSwgIHNwCi0KICAgICBtb3YgICAgIHg4LCBfX05SX3dyaXRlCiAgICAgc3ZjICAgICAjMAogCi0gICAgbGRwICAgICB4MjksIHgzMCwgW3NwXSwgIzE2Ci0gICAgLmNmaV9kZWZfY2ZhX29mZnNldCAwCi0gICAgLmNmaV9yZXN0b3JlIHgyOQotICAgIC5jZmlfcmVzdG9yZSB4MzAKLQogICAgIGNtbiAgICAgeDAsICMoTUFYX0VSUk5PICsgMSkKICAgICBjbmVnICAgIHgwLCB4MCwgaGkKICAgICBiLmhpICAgIF9fc2V0X2Vycm5vCmRpZmYgLS1naXQgYS9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvd3JpdGV2LlMgYi9saWJjL2FyY2gtYXJtNjQvc3lzY2FsbHMvd3JpdGV2LlMKaW5kZXggMTNhZjQ1NC4uNDVkNWM4ZCAxMDA2NDQKLS0tIGEvbGliYy9hcmNoLWFybTY0L3N5c2NhbGxzL3dyaXRldi5TCisrKyBiL2xpYmMvYXJjaC1hcm02NC9zeXNjYWxscy93cml0ZXYuUwpAQCAtMywyMCArMyw5IEBACiAjaW5jbHVkZSA8cHJpdmF0ZS9iaW9uaWNfYXNtLmg+CiAKIEVOVFJZKHdyaXRldikKLSAgICBzdHAgICAgIHgyOSwgeDMwLCBbc3AsICMtMTZdIQotICAgIC5jZmlfZGVmX2NmYV9vZmZzZXQgMTYKLSAgICAuY2ZpX3JlbF9vZmZzZXQgeDI5LCAwCi0gICAgLmNmaV9yZWxfb2Zmc2V0IHgzMCwgOAotICAgIG1vdiAgICAgeDI5LCAgc3AKLQogICAgIG1vdiAgICAgeDgsIF9fTlJfd3JpdGV2CiAgICAgc3ZjICAgICAjMAogCi0gICAgbGRwICAgICB4MjksIHgzMCwgW3NwXSwgIzE2Ci0gICAgLmNmaV9kZWZfY2ZhX29mZnNldCAwCi0gICAgLmNmaV9yZXN0b3JlIHgyOQotICAgIC5jZmlfcmVzdG9yZSB4MzAKLQogICAgIGNtbiAgICAgeDAsICMoTUFYX0VSUk5PICsgMSkKICAgICBjbmVnICAgIHgwLCB4MCwgaGkKICAgICBiLmhpICAgIF9fc2V0X2Vycm5vCmRpZmYgLS1naXQgYS9saWJjL2FyY2gtbWlwcy9iaW9uaWMvX19iaW9uaWNfY2xvbmUuUyBiL2xpYmMvYXJjaC1taXBzL2Jpb25pYy9fX2Jpb25pY19jbG9uZS5TCmluZGV4IDdiMTM4YWUuLjRiNDQ5OGQgMTAwNjQ0Ci0tLSBhL2xpYmMvYXJjaC1taXBzL2Jpb25pYy9fX2Jpb25pY19jbG9uZS5TCisrKyBiL2xpYmMvYXJjaC1taXBzL2Jpb25pYy9fX2Jpb25pY19jbG9uZS5TCkBAIC02MCw4ICs2MCw4IEBACiAgICAgICAgIGx3CWEwLDAoc3ApCSMgIGZuCiAgICAgICAgIGx3CWExLDQoc3ApCSMgIGFyZwogCi0JIyB2b2lkIF9fYmlvbmljX2Nsb25lX2VudHJ5KGludCAoKmZ1bmMpKHZvaWQqKSwgdm9pZCAqYXJnKQotICAgICAgICBsYQl0OSxfX2Jpb25pY19jbG9uZV9lbnRyeQorCSMgdm9pZCBfX3N0YXJ0X3RocmVhZChpbnQgKCpmdW5jKSh2b2lkKiksIHZvaWQgKmFyZykKKyAgICAgICAgbGEJdDksX19zdGFydF90aHJlYWQKICAgICAgICAgagl0OQogCiAuTF9fZXJyb3JfYmM6CmRpZmYgLS1naXQgYS9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9nZXRkZW50cy5TIGIvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvX19nZXRkZW50czY0LlMKc2ltaWxhcml0eSBpbmRleCA4NyUKcmVuYW1lIGZyb20gbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvZ2V0ZGVudHMuUwpyZW5hbWUgdG8gbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvX19nZXRkZW50czY0LlMKaW5kZXggY2U5Mjg4Ni4uMTM2YjQwOCAxMDA2NDQKLS0tIGEvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvZ2V0ZGVudHMuUworKysgYi9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9fX2dldGRlbnRzNjQuUwpAQCAtMiw3ICsyLDcgQEAKIAogI2luY2x1ZGUgPHByaXZhdGUvYmlvbmljX2FzbS5oPgogCi1FTlRSWShnZXRkZW50cykKK0VOVFJZKF9fZ2V0ZGVudHM2NCkKICAgICAuc2V0IG5vcmVvcmRlcgogICAgIC5jcGxvYWQgdDkKICAgICBsaSB2MCwgX19OUl9nZXRkZW50czY0CkBAIC0xNiw0ICsxNiw0IEBACiAgICAgaiB0OQogICAgIG5vcAogICAgIC5zZXQgcmVvcmRlcgotRU5EKGdldGRlbnRzKQorRU5EKF9fZ2V0ZGVudHM2NCkKZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1taXBzNjQvYmlvbmljL19fYmlvbmljX2Nsb25lLlMgYi9saWJjL2FyY2gtbWlwczY0L2Jpb25pYy9fX2Jpb25pY19jbG9uZS5TCmluZGV4IDg2ODc5MDYuLjRmMDUzZjkgMTAwNjQ0Ci0tLSBhL2xpYmMvYXJjaC1taXBzNjQvYmlvbmljL19fYmlvbmljX2Nsb25lLlMKKysrIGIvbGliYy9hcmNoLW1pcHM2NC9iaW9uaWMvX19iaW9uaWNfY2xvbmUuUwpAQCAtNzgsMTAgKzc4LDEwIEBACiAJIyBDbGVhciByZXR1cm4gYWRkcmVzcyBpbiBjaGlsZCBzbyB3ZSBkb24ndCB1bndpbmQgZnVydGhlci4KIAlsaQlyYSwwCiAKLQkjIHZvaWQgX19iaW9uaWNfY2xvbmVfZW50cnkoaW50ICgqZnVuYykodm9pZCopLCB2b2lkICphcmcpCisJIyB2b2lkIF9fc3RhcnRfdGhyZWFkKGludCAoKmZ1bmMpKHZvaWQqKSwgdm9pZCAqYXJnKQogCVBUUl9MCWEwLEZSQU1FX0ZOKHNwKQkJIyAgZm4KIAlQVFJfTAlhMSxGUkFNRV9BUkcoc3ApCSMgIGFyZwotCUxBCXQ5LF9fYmlvbmljX2Nsb25lX2VudHJ5CisJTEEJdDksX19zdGFydF90aHJlYWQKIAlSRVNUT1JFX0dQNjQKIAkvKgogCSAqIEZvciBPMzIgZXRjIHRoZSBjaGlsZCBzdGFjayBtdXN0IGhhdmUgc3BhY2UgZm9yIGEwLi5hMyB0byBiZSBzdG9yZWQKZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1taXBzNjQvYmlvbmljL2dldGRlbnRzLmNwcCBiL2xpYmMvYXJjaC1taXBzNjQvYmlvbmljL2dldGRlbnRzLmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNjZhNjFlYy4uMDAwMDAwMAotLS0gYS9saWJjL2FyY2gtbWlwczY0L2Jpb25pYy9nZXRkZW50cy5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSw5NyArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDE0IFRoZSBBbmRyb2lkIE9wZW4gU291cmNlIFByb2plY3QKLSAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbgotICogICAgdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQotICogICAgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKLSAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCi0gKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUwotICogRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUKLSAqIENPUFlSSUdIVCBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwKLSAqIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsCi0gKiBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MKLSAqIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRAotICogQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAotICogT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUCi0gKiBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YKLSAqIFNVQ0ggREFNQUdFLgotICovCi0KLS8qCi0gKiBUaGUgTUlQUzY0IGdldGRlbnRzNjQoKSBzeXN0ZW0gY2FsbCBpcyBvbmx5IHByZXNlbnQgaW4gMy4xMCsga2VybmVscy4KLSAqIElmIHRoZSBnZXRkZW50czY0KCkgc3lzdGVtIGNhbGwgaXMgbm90IGF2YWlsYWJsZSBmYWxsIGJhY2sgdG8gdXNpbmcKLSAqIGdldGRlbnRzKCkgYW5kIG1vZGlmeSB0aGUgcmVzdWx0IHRvIGJlIGNvbXBhdGlibGUgd2l0aCBnZXRkZW50czY0KCkuCi0gKi8KLQotI2luY2x1ZGUgPGRpcmVudC5oPgotCi0jaW5jbHVkZSA8ZXJybm8uaD4KLSNpbmNsdWRlIDxmY250bC5oPgotI2luY2x1ZGUgPHN5cy9zdGF0Lmg+Ci0jaW5jbHVkZSA8c3lzL3R5cGVzLmg+Ci0jaW5jbHVkZSA8dW5pc3RkLmg+Ci0KLQotLyogVGhlIG1pcHNfZ2V0ZGVudHMgdHlwZSBpcyA2NGJpdCBjbGVhbiAqLwotc3RydWN0IG1pcHNfZGlyZW50IHsKLSAgICAgICAgdWludDY0X3QgZF9pbm87ICAgICAvKiBJbm9kZSBudW1iZXIgKi8KLSAgICAgICAgdWludDY0X3QgZF9vZmY7ICAgICAvKiBPZmZzZXQgdG8gbmV4dCBtaXBzX2RpcmVudCAqLwotICAgICAgICB1aW50MTZfdCBkX3JlY2xlbjsgIC8qIExlbmd0aCBvZiB0aGlzIG1pcHNfZGlyZW50ICovCi0gICAgICAgIGNoYXIgICAgIGRfbmFtZVtdOyAgLyogRmlsZW5hbWUgKG51bGwtdGVybWluYXRlZCkgKi8KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBsZW5ndGggaXMgYWN0dWFsbHkgKGRfcmVjbGVuIC0gMiAtCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb2Zmc2V0b2Yoc3RydWN0IG1pcHNfZGlyZW50LCBkX25hbWUpICovCi0gICAgICAgIC8vIGNoYXIgIHBhZDsgICAgICAgLyogWmVybyBwYWRkaW5nIGJ5dGUgKi8KLSAgICAgICAgLy8gY2hhciAgZF90eXBlOyAgICAvKiBGaWxlIHR5cGUgKG9ubHkgc2luY2UgTGludXggMi42LjQ7IG9mZnNldCBpcyAoZF9yZWNsZW4gLSAxKSkgKi8KLX07Ci0KLWV4dGVybiAiQyIgaW50IF9fZ2V0ZGVudHM2NCh1bnNpZ25lZCBpbnQgZmQsIHN0cnVjdCBkaXJlbnQgKmRpcnAsIHVuc2lnbmVkIGludCBjb3VudCk7Ci1leHRlcm4gIkMiIGludCBfX2dldGRlbnRzKHVuc2lnbmVkIGludCBmZCwgc3RydWN0IG1pcHNfZGlyZW50ICpkaXJwLCB1bnNpZ25lZCBpbnQgY291bnQpOwotaW50IGdldGRlbnRzKHVuc2lnbmVkIGludCBmZCwgc3RydWN0IGRpcmVudCAqZGlycCwgdW5zaWduZWQgaW50IGNvdW50KQotewotICAgICAgICBpbnQgcjsKLSAgICAgICAgaW50IG9lcnJubyA9IGVycm5vOwotCi0gICAgICAgIC8qIFVzZSBnZXRkZW50czY0KCkgaWYgaXQgaXMgYXZhaWxhYmxlICovCi0gICAgICAgIHIgPSBfX2dldGRlbnRzNjQoZmQsIGRpcnAsIGNvdW50KTsKLSAgICAgICAgaWYgKHIgPj0gMCB8fCBlcnJubyAhPSBFTk9TWVMpCi0gICAgICAgICAgICAgICAgcmV0dXJuIHI7Ci0KLSAgICAgICAgLyogRmFsbGJhY2sgdG8gZ2V0ZGVudHMoKSAqLwotICAgICAgICBlcnJubyA9IG9lcnJubzsKLSAgICAgICAgciA9IF9fZ2V0ZGVudHMoZmQsIChzdHJ1Y3QgbWlwc19kaXJlbnQgKilkaXJwLCBjb3VudCk7Ci0gICAgICAgIGlmIChyID4gMCkgewotICAgICAgICAgICAgICAgIGNoYXIgKnA7Ci0gICAgICAgICAgICAgICAgY2hhciB0eXBlOwotICAgICAgICAgICAgICAgIHVuaW9uIGRpcmVudHMgewotICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IG1pcHNfZGlyZW50IG07Ci0gICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgZGlyZW50IGQ7Ci0gICAgICAgICAgICAgICAgfSAqdTsKLQotICAgICAgICAgICAgICAgIHAgPSAoY2hhciAqKWRpcnA7Ci0gICAgICAgICAgICAgICAgZG8gewotICAgICAgICAgICAgICAgICAgICAgICAgdSA9ICh1bmlvbiBkaXJlbnRzICopcDsKLQotICAgICAgICAgICAgICAgICAgICAgICAgLyogVGhpcyBzaG91bGQgbm90IGhhcHBlbiwgYnV0IGp1c3QgaW4gY2FzZS4uLiAqLwotICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHAgKyB1LT5tLmRfcmVjbGVuID4gKGNoYXIgKilkaXJwICsgcikKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0KLSAgICAgICAgICAgICAgICAgICAgICAgIC8qIHNodWZmbGUgdGhlIGRpcmVudCAqLwotICAgICAgICAgICAgICAgICAgICAgICAgdHlwZSA9ICoocCArIHUtPm0uZF9yZWNsZW4gLSAxKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIG1lbW1vdmUodS0+ZC5kX25hbWUsIHUtPm0uZF9uYW1lLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1LT5tLmRfcmVjbGVuIC0gMiAtIG9mZnNldG9mKHN0cnVjdCBtaXBzX2RpcmVudCwgZF9uYW1lKSArIDEpOwotICAgICAgICAgICAgICAgICAgICAgICAgdS0+ZC5kX3R5cGUgPSB0eXBlOwotCi0gICAgICAgICAgICAgICAgICAgICAgICBwICs9IHUtPm0uZF9yZWNsZW47Ci0gICAgICAgICAgICAgICAgfSB3aGlsZSAocCA8IChjaGFyICopZGlycCArIHIpOwotICAgICAgICB9Ci0gICAgICAgIHJldHVybiByOwotfQpkaWZmIC0tZ2l0IGEvbGliYy9hcmNoLW1pcHM2NC9taXBzNjQubWsgYi9saWJjL2FyY2gtbWlwczY0L21pcHM2NC5tawppbmRleCA3OTllYjZkLi5mY2U5NTdiIDEwMDY0NAotLS0gYS9saWJjL2FyY2gtbWlwczY0L21pcHM2NC5taworKysgYi9saWJjL2FyY2gtbWlwczY0L21pcHM2NC5tawpAQCAtNDIsNyArNDIsNiBAQAogICAgIGFyY2gtbWlwczY0L2Jpb25pYy9fX2Jpb25pY19jbG9uZS5TIFwKICAgICBhcmNoLW1pcHM2NC9iaW9uaWMvX2V4aXRfd2l0aF9zdGFja190ZWFyZG93bi5TIFwKICAgICBhcmNoLW1pcHM2NC9iaW9uaWMvX19nZXRfc3AuUyBcCi0gICAgYXJjaC1taXBzNjQvYmlvbmljL2dldGRlbnRzLmNwcCBcCiAgICAgYXJjaC1taXBzNjQvYmlvbmljL21lbWNtcDE2LlMgXAogICAgIGFyY2gtbWlwczY0L2Jpb25pYy9fc2V0am1wLlMgXAogICAgIGFyY2gtbWlwczY0L2Jpb25pYy9zZXRqbXAuUyBcCmRpZmYgLS1naXQgYS9saWJjL2FyY2gtbWlwczY0L3N5c2NhbGxzL19fZ2V0ZGVudHMuUyBiL2xpYmMvYXJjaC1taXBzNjQvc3lzY2FsbHMvX19nZXRkZW50cy5TCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwYTcwYTcyLi4wMDAwMDAwCi0tLSBhL2xpYmMvYXJjaC1taXBzNjQvc3lzY2FsbHMvX19nZXRkZW50cy5TCisrKyAvZGV2L251bGwKQEAgLTEsMjYgKzAsMCBAQAotLyogR2VuZXJhdGVkIGJ5IGdlbnN5c2NhbGxzLnB5LiBEbyBub3QgZWRpdC4gKi8KLQotI2luY2x1ZGUgPHByaXZhdGUvYmlvbmljX2FzbS5oPgotCi1FTlRSWShfX2dldGRlbnRzKQotICAgIC5zZXQgcHVzaAotICAgIC5zZXQgbm9yZW9yZGVyCi0gICAgbGkgdjAsIF9fTlJfZ2V0ZGVudHMKLSAgICBzeXNjYWxsCi0gICAgYm5leiBhMywgMWYKLSAgICBtb3ZlIGEwLCB2MAotICAgIGogcmEKLSAgICBub3AKLTE6Ci0gICAgbW92ZSB0MCwgcmEKLSAgICBiYWwgICAgIDJmCi0gICAgbm9wCi0yOgotICAgIC5jcHNldHVwIHJhLCB0MSwgMmIKLSAgICBMQSB0OSxfX3NldF9lcnJubwotICAgIC5jcHJldHVybgotICAgIGogdDkKLSAgICBtb3ZlIHJhLCB0MAotICAgIC5zZXQgcG9wCi1FTkQoX19nZXRkZW50cykKLS5oaWRkZW4gX19nZXRkZW50cwpkaWZmIC0tZ2l0IGEvbGliYy9hcmNoLXg4Ni9iaW9uaWMvX19iaW9uaWNfY2xvbmUuUyBiL2xpYmMvYXJjaC14ODYvYmlvbmljL19fYmlvbmljX2Nsb25lLlMKaW5kZXggMGMwZmVmZi4uOTE3ZGM2OCAxMDA2NDQKLS0tIGEvbGliYy9hcmNoLXg4Ni9iaW9uaWMvX19iaW9uaWNfY2xvbmUuUworKysgYi9saWJjL2FyY2gteDg2L2Jpb25pYy9fX2Jpb25pY19jbG9uZS5TCkBAIC0zOSw3ICszOSw3IEBACiAuTF9iY19jaGlsZDoKICAgICAgICAgIyBXZSBkb24ndCB3YW50IGFueW9uZSB0byB1bndpbmQgcGFzdCB0aGlzIHBvaW50LgogICAgICAgICAuY2ZpX3VuZGVmaW5lZCAlZWlwCi0gICAgICAgIGNhbGwgICAgX19iaW9uaWNfY2xvbmVfZW50cnkKKyAgICAgICAgY2FsbCAgICBfX3N0YXJ0X3RocmVhZAogICAgICAgICBobHQKIAogLkxfYmNfcGFyZW50OgpkaWZmIC0tZ2l0IGEvbGliYy9hcmNoLXg4Ni9zeXNjYWxscy9nZXRkZW50cy5TIGIvbGliYy9hcmNoLXg4Ni9zeXNjYWxscy9fX2dldGRlbnRzNjQuUwpzaW1pbGFyaXR5IGluZGV4IDkzJQpyZW5hbWUgZnJvbSBsaWJjL2FyY2gteDg2L3N5c2NhbGxzL2dldGRlbnRzLlMKcmVuYW1lIHRvIGxpYmMvYXJjaC14ODYvc3lzY2FsbHMvX19nZXRkZW50czY0LlMKaW5kZXggMDYyNzUzMi4uM2ZjODcxOSAxMDA2NDQKLS0tIGEvbGliYy9hcmNoLXg4Ni9zeXNjYWxscy9nZXRkZW50cy5TCisrKyBiL2xpYmMvYXJjaC14ODYvc3lzY2FsbHMvX19nZXRkZW50czY0LlMKQEAgLTIsNyArMiw3IEBACiAKICNpbmNsdWRlIDxwcml2YXRlL2Jpb25pY19hc20uaD4KIAotRU5UUlkoZ2V0ZGVudHMpCitFTlRSWShfX2dldGRlbnRzNjQpCiAgICAgcHVzaGwgICAlZWJ4CiAgICAgLmNmaV9kZWZfY2ZhX29mZnNldCA4CiAgICAgLmNmaV9yZWxfb2Zmc2V0IGVieCwgMApAQCAtMjgsNCArMjgsNCBAQAogICAgIHBvcGwgICAgJWVjeAogICAgIHBvcGwgICAgJWVieAogICAgIHJldAotRU5EKGdldGRlbnRzKQorRU5EKF9fZ2V0ZGVudHM2NCkKZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC14ODZfNjQvYmlvbmljL19fYmlvbmljX2Nsb25lLlMgYi9saWJjL2FyY2gteDg2XzY0L2Jpb25pYy9fX2Jpb25pY19jbG9uZS5TCmluZGV4IDE3M2FiNWMuLmUwY2U1YTYgMTAwNjQ0Ci0tLSBhL2xpYmMvYXJjaC14ODZfNjQvYmlvbmljL19fYmlvbmljX2Nsb25lLlMKKysrIGIvbGliYy9hcmNoLXg4Nl82NC9iaW9uaWMvX19iaW9uaWNfY2xvbmUuUwpAQCAtNjIsMTIgKzYyLDEyIEBACiAgICAgICAgIC5jZmlfdW5kZWZpbmVkICVyaXAKICAgICAgICAgLmNmaV91bmRlZmluZWQgJXJicAogCi0gICAgICAgICMgV2UncmUgaW4gdGhlIGNoaWxkIG5vdywgc28gY2FsbCBfX2Jpb25pY19jbG9uZV9lbnRyeQorICAgICAgICAjIFdlJ3JlIGluIHRoZSBjaGlsZCBub3csIHNvIGNhbGwgX19zdGFydF90aHJlYWQKICAgICAgICAgIyB3aXRoIHRoZSBhcmd1bWVudHMgZnJvbSB0aGUgY2hpbGQgc3RhY2sgbW92ZWQgaW50bwogICAgICAgICAjIHRoZSBhcHByb3ByaWF0ZSByZWdpc3RlcnMuCiAgICAgICAgIHBvcHEgICAgJXJkaSAgIyBmbgogICAgICAgICBwb3BxICAgICVyc2kgICMgYXJnCi0gICAgICAgIGNhbGwgICAgX19iaW9uaWNfY2xvbmVfZW50cnkKKyAgICAgICAgY2FsbCAgICBfX3N0YXJ0X3RocmVhZAogICAgICAgICBobHQKIAogLkxfYmNfcGFyZW50OgpkaWZmIC0tZ2l0IGEvbGliYy9hcmNoLXg4Nl82NC9zeXNjYWxscy9nZXRkZW50cy5TIGIvbGliYy9hcmNoLXg4Nl82NC9zeXNjYWxscy9fX2dldGRlbnRzNjQuUwpzaW1pbGFyaXR5IGluZGV4IDgwJQpyZW5hbWUgZnJvbSBsaWJjL2FyY2gteDg2XzY0L3N5c2NhbGxzL2dldGRlbnRzLlMKcmVuYW1lIHRvIGxpYmMvYXJjaC14ODZfNjQvc3lzY2FsbHMvX19nZXRkZW50czY0LlMKaW5kZXggMTVlMGY3ZS4uNjRmODJmZCAxMDA2NDQKLS0tIGEvbGliYy9hcmNoLXg4Nl82NC9zeXNjYWxscy9nZXRkZW50cy5TCisrKyBiL2xpYmMvYXJjaC14ODZfNjQvc3lzY2FsbHMvX19nZXRkZW50czY0LlMKQEAgLTIsNyArMiw3IEBACiAKICNpbmNsdWRlIDxwcml2YXRlL2Jpb25pY19hc20uaD4KIAotRU5UUlkoZ2V0ZGVudHMpCitFTlRSWShfX2dldGRlbnRzNjQpCiAgICAgbW92bCAgICAkX19OUl9nZXRkZW50czY0LCAlZWF4CiAgICAgc3lzY2FsbAogICAgIGNtcHEgICAgJC1NQVhfRVJSTk8sICVyYXgKQEAgLTEyLDQgKzEyLDUgQEAKICAgICBjYWxsICAgIF9fc2V0X2Vycm5vCiAxOgogICAgIHJldAotRU5EKGdldGRlbnRzKQorRU5EKF9fZ2V0ZGVudHM2NCkKKy5oaWRkZW4gX19nZXRkZW50czY0CmRpZmYgLS1naXQgYS9saWJjL2Jpb25pYy9hc3NlcnQuY3BwIGIvbGliYy9iaW9uaWMvYXNzZXJ0LmNwcAppbmRleCBiYTY3MTQzLi45ODVmYzM4IDEwMDY0NAotLS0gYS9saWJjL2Jpb25pYy9hc3NlcnQuY3BwCisrKyBiL2xpYmMvYmlvbmljL2Fzc2VydC5jcHAKQEAgLTM0LDEwICszNCwxMiBAQAogCiB2b2lkIF9fYXNzZXJ0KGNvbnN0IGNoYXIqIGZpbGUsIGludCBsaW5lLCBjb25zdCBjaGFyKiBmYWlsZWRfZXhwcmVzc2lvbikgewogICBfX2xpYmNfZmF0YWwoIiVzOiVkOiBhc3NlcnRpb24gXCIlc1wiIGZhaWxlZCIsIGZpbGUsIGxpbmUsIGZhaWxlZF9leHByZXNzaW9uKTsKLSAgLyogTk9UUkVBQ0hFRCAqLwogfQogCiB2b2lkIF9fYXNzZXJ0Mihjb25zdCBjaGFyKiBmaWxlLCBpbnQgbGluZSwgY29uc3QgY2hhciogZnVuY3Rpb24sIGNvbnN0IGNoYXIqIGZhaWxlZF9leHByZXNzaW9uKSB7CiAgIF9fbGliY19mYXRhbCgiJXM6JWQ6ICVzOiBhc3NlcnRpb24gXCIlc1wiIGZhaWxlZCIsIGZpbGUsIGxpbmUsIGZ1bmN0aW9uLCBmYWlsZWRfZXhwcmVzc2lvbik7Ci0gIC8qIE5PVFJFQUNIRUQgKi8KK30KKworZXh0ZXJuICJDIiBfX0xJQkNfSElEREVOX18gdm9pZCBsb25nam1wZXJyb3IoKSB7CisgIF9fbGliY19mYXRhbCgibG9uZ2ptcCBib3RjaCIpOwogfQpkaWZmIC0tZ2l0IGEvbGliYy9iaW9uaWMvY2xvbmUuY3BwIGIvbGliYy9iaW9uaWMvY2xvbmUuY3BwCmluZGV4IGQzOGE0MjIuLjAwMWUyNDUgMTAwNjQ0Ci0tLSBhL2xpYmMvYmlvbmljL2Nsb25lLmNwcAorKysgYi9saWJjL2Jpb25pYy9jbG9uZS5jcHAKQEAgLTM1LDcgKzM1LDcgQEAKIGV4dGVybiAiQyIgX19ub3JldHVybiB2b2lkIF9fZXhpdChpbnQgc3RhdHVzKTsKIAogLy8gQ2FsbGVkIGZyb20gdGhlIF9fYmlvbmljX2Nsb25lIGFzc2VtYmxlciB0byBjYWxsIHRoZSB0aHJlYWQgZnVuY3Rpb24gdGhlbiBleGl0LgotZXh0ZXJuICJDIiBfX0xJQkNfSElEREVOX18gdm9pZCBfX2Jpb25pY19jbG9uZV9lbnRyeShpbnQgKCpmbikodm9pZCopLCB2b2lkKiBhcmcpIHsKK2V4dGVybiAiQyIgX19MSUJDX0hJRERFTl9fIHZvaWQgX19zdGFydF90aHJlYWQoaW50ICgqZm4pKHZvaWQqKSwgdm9pZCogYXJnKSB7CiAgIGludCBzdGF0dXMgPSAoKmZuKShhcmcpOwogICBfX2V4aXQoc3RhdHVzKTsKIH0KZGlmZiAtLWdpdCBhL2xpYmMvYmlvbmljL2RpcmVudC5jcHAgYi9saWJjL2Jpb25pYy9kaXJlbnQuY3BwCmluZGV4IDBmOWIyNmEuLjdhYmM3ZjMgMTAwNjQ0Ci0tLSBhL2xpYmMvYmlvbmljL2RpcmVudC5jcHAKKysrIGIvbGliYy9iaW9uaWMvZGlyZW50LmNwcApAQCAtMzcsNiArMzcsOCBAQAogI2luY2x1ZGUgInByaXZhdGUvRXJybm9SZXN0b3Jlci5oIgogI2luY2x1ZGUgInByaXZhdGUvU2NvcGVkUHRocmVhZE11dGV4TG9ja2VyLmgiCiAKK2V4dGVybiAiQyIgaW50IF9fZ2V0ZGVudHM2NCh1bnNpZ25lZCBpbnQsIGRpcmVudCosIHVuc2lnbmVkIGludCk7CisKIHN0cnVjdCBESVIgewogICBpbnQgZmRfOwogICBzaXplX3QgYXZhaWxhYmxlX2J5dGVzXzsKQEAgLTgxLDcgKzgzLDcgQEAKIH0KIAogc3RhdGljIGJvb2wgX19maWxsX0RJUihESVIqIGQpIHsKLSAgaW50IHJjID0gVEVNUF9GQUlMVVJFX1JFVFJZKGdldGRlbnRzKGQtPmZkXywgZC0+YnVmZl8sIHNpemVvZihkLT5idWZmXykpKTsKKyAgaW50IHJjID0gVEVNUF9GQUlMVVJFX1JFVFJZKF9fZ2V0ZGVudHM2NChkLT5mZF8sIGQtPmJ1ZmZfLCBzaXplb2YoZC0+YnVmZl8pKSk7CiAgIGlmIChyYyA8PSAwKSB7CiAgICAgcmV0dXJuIGZhbHNlOwogICB9CmRpZmYgLS1naXQgYS9saWJjL2Jpb25pYy9kbG1hbGxvYy5oIGIvbGliYy9iaW9uaWMvZGxtYWxsb2MuaAppbmRleCA0ODJmZTBlLi5lMDY1Njg3IDEwMDY0NAotLS0gYS9saWJjL2Jpb25pYy9kbG1hbGxvYy5oCisrKyBiL2xpYmMvYmlvbmljL2RsbWFsbG9jLmgKQEAgLTMyLDE1ICszMiwxMCBAQAogI2RlZmluZSBVU0VfU1BJTl9MT0NLUyAwCiAjZGVmaW5lIERFRkFVTFRfTU1BUF9USFJFU0hPTEQgKDY0VSAqIDEwMjRVKQogCi1fX0JFR0lOX0RFQ0xTCi0KIC8qIEV4cG9ydCB0d28gc3ltYm9scyB1c2VkIGJ5IHRoZSBWTS4gKi8KK19fQkVHSU5fREVDTFMKIGludCBkbG1hbGxvY190cmltKHNpemVfdCkgX19MSUJDX0FCSV9QVUJMSUNfXzsKIHZvaWQgZGxtYWxsb2NfaW5zcGVjdF9hbGwodm9pZCAoKmhhbmRsZXIpKHZvaWQqLCB2b2lkKiwgc2l6ZV90LCB2b2lkKiksIHZvaWQqKSBfX0xJQkNfQUJJX1BVQkxJQ19fOwotCi0vKiBOVklESUEncyBsaWJnbGNvcmUuc28gaGFzIGEgcmVmZXJlbmNlIHRvIGRsbWFsbG9jX3VzYWJsZV9zaXplLiBUT0RPOiByZW1vdmUgdGhpcy4gKi8KLXNpemVfdCBkbG1hbGxvY191c2FibGVfc2l6ZShjb25zdCB2b2lkKikgX19MSUJDX0FCSV9QVUJMSUNfXzsKLQogX19FTkRfREVDTFMKIAogLyogSW5jbHVkZSB0aGUgcHJvcGVyIGRlZmluaXRpb25zLiAqLwpkaWZmIC0tZ2l0IGEvbGliYy9iaW9uaWMvbWQ1LmMgYi9saWJjL2Jpb25pYy9tZDUuYwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYmE0YWFlZC4uMDAwMDAwMAotLS0gYS9saWJjL2Jpb25pYy9tZDUuYworKysgL2Rldi9udWxsCkBAIC0xLDI3OSArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChjKSAxOTk1IC0gMjAwMSBLdW5nbGlnYSBUZWtuaXNrYSBI9mdza29sYW4KLSAqIChSb3lhbCBJbnN0aXR1dGUgb2YgVGVjaG5vbG9neSwgU3RvY2tob2xtLCBTd2VkZW4pLgotICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqIAotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAKLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICogCi0gKiAzLiBOZWl0aGVyIHRoZSBuYW1lIG9mIHRoZSBJbnN0aXR1dGUgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzCi0gKiAgICBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUKLSAqICAgIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgotICogCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBJTlNUSVRVVEUgQU5EIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5ECi0gKiBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFCi0gKiBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBJTlNUSVRVVEUgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQotICogRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwKLSAqIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTCi0gKiBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikKLSAqIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUCi0gKiBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZCi0gKiBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GCi0gKiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaWZkZWYgSEFWRV9DT05GSUdfSAotI2luY2x1ZGUgImNvbmZpZy5oIgotCi1fX1JDU0lEKCIkSGVpbWRhbDogbWQ1LmMsdiAxLjE1IDIwMDEvMDEvMjkgMDQ6MzM6NDQgYXNzYXIgRXhwICQiCi0gICAgICAgICIkTmV0QlNEOiBtZDUuYyx2IDEuMS4xLjQgMjAwMi8wOS8xMiAxMjo0MTo0MiBqb2RhIEV4cCAkIik7Ci0jZW5kaWYKLQotI2luY2x1ZGUgPGVuZGlhbi5oPgotI2luY2x1ZGUgIm1kNS5oIgotI2luY2x1ZGUgImhhc2guaCIKLQotI2RlZmluZSBBIG0tPmNvdW50ZXJbMF0KLSNkZWZpbmUgQiBtLT5jb3VudGVyWzFdCi0jZGVmaW5lIEMgbS0+Y291bnRlclsyXQotI2RlZmluZSBEIG0tPmNvdW50ZXJbM10KLSNkZWZpbmUgWCBkYXRhCi0KLXZvaWQKLU1ENV9Jbml0IChzdHJ1Y3QgbWQ1ICptKQotewotICBtLT5zelswXSA9IDA7Ci0gIG0tPnN6WzFdID0gMDsKLSAgRCA9IDB4MTAzMjU0NzY7Ci0gIEMgPSAweDk4YmFkY2ZlOwotICBCID0gMHhlZmNkYWI4OTsKLSAgQSA9IDB4Njc0NTIzMDE7Ci19Ci0KLSNkZWZpbmUgRih4LHkseikgQ1JBWUZJWCgoeCAmIHkpIHwgKH54ICYgeikpCi0jZGVmaW5lIEcoeCx5LHopIENSQVlGSVgoKHggJiB6KSB8ICh5ICYgfnopKQotI2RlZmluZSBIKHgseSx6KSAoeCBeIHkgXiB6KQotI2RlZmluZSBJKHgseSx6KSBDUkFZRklYKHkgXiAoeCB8IH56KSkKLQotI2RlZmluZSBET0lUKGEsYixjLGQsayxzLGksT1ApIFwKLWEgPSBiICsgY3NoaWZ0KGEgKyBPUChiLGMsZCkgKyBYW2tdICsgKGkpLCBzKQotCi0jZGVmaW5lIERPMShhLGIsYyxkLGsscyxpKSBET0lUKGEsYixjLGQsayxzLGksRikKLSNkZWZpbmUgRE8yKGEsYixjLGQsayxzLGkpIERPSVQoYSxiLGMsZCxrLHMsaSxHKQotI2RlZmluZSBETzMoYSxiLGMsZCxrLHMsaSkgRE9JVChhLGIsYyxkLGsscyxpLEgpCi0jZGVmaW5lIERPNChhLGIsYyxkLGsscyxpKSBET0lUKGEsYixjLGQsayxzLGksSSkKLQotc3RhdGljIGlubGluZSB2b2lkCi1jYWxjIChzdHJ1Y3QgbWQ1ICptLCB1X2ludDMyX3QgKmRhdGEpCi17Ci0gIHVfaW50MzJfdCBBQSwgQkIsIENDLCBERDsKLQotICBBQSA9IEE7Ci0gIEJCID0gQjsKLSAgQ0MgPSBDOwotICBERCA9IEQ7Ci0KLSAgLyogUm91bmQgMSAqLwotCi0gIERPMShBLEIsQyxELDAsNywweGQ3NmFhNDc4KTsKLSAgRE8xKEQsQSxCLEMsMSwxMiwweGU4YzdiNzU2KTsKLSAgRE8xKEMsRCxBLEIsMiwxNywweDI0MjA3MGRiKTsKLSAgRE8xKEIsQyxELEEsMywyMiwweGMxYmRjZWVlKTsKLQotICBETzEoQSxCLEMsRCw0LDcsMHhmNTdjMGZhZik7Ci0gIERPMShELEEsQixDLDUsMTIsMHg0Nzg3YzYyYSk7Ci0gIERPMShDLEQsQSxCLDYsMTcsMHhhODMwNDYxMyk7Ci0gIERPMShCLEMsRCxBLDcsMjIsMHhmZDQ2OTUwMSk7Ci0KLSAgRE8xKEEsQixDLEQsOCw3LDB4Njk4MDk4ZDgpOwotICBETzEoRCxBLEIsQyw5LDEyLDB4OGI0NGY3YWYpOwotICBETzEoQyxELEEsQiwxMCwxNywweGZmZmY1YmIxKTsKLSAgRE8xKEIsQyxELEEsMTEsMjIsMHg4OTVjZDdiZSk7Ci0KLSAgRE8xKEEsQixDLEQsMTIsNywweDZiOTAxMTIyKTsKLSAgRE8xKEQsQSxCLEMsMTMsMTIsMHhmZDk4NzE5Myk7Ci0gIERPMShDLEQsQSxCLDE0LDE3LDB4YTY3OTQzOGUpOwotICBETzEoQixDLEQsQSwxNSwyMiwweDQ5YjQwODIxKTsKLQotICAvKiBSb3VuZCAyICovCi0KLSAgRE8yKEEsQixDLEQsMSw1LDB4ZjYxZTI1NjIpOwotICBETzIoRCxBLEIsQyw2LDksMHhjMDQwYjM0MCk7Ci0gIERPMihDLEQsQSxCLDExLDE0LDB4MjY1ZTVhNTEpOwotICBETzIoQixDLEQsQSwwLDIwLDB4ZTliNmM3YWEpOwotCi0gIERPMihBLEIsQyxELDUsNSwweGQ2MmYxMDVkKTsKLSAgRE8yKEQsQSxCLEMsMTAsOSwweDI0NDE0NTMpOwotICBETzIoQyxELEEsQiwxNSwxNCwweGQ4YTFlNjgxKTsKLSAgRE8yKEIsQyxELEEsNCwyMCwweGU3ZDNmYmM4KTsKLQotICBETzIoQSxCLEMsRCw5LDUsMHgyMWUxY2RlNik7Ci0gIERPMihELEEsQixDLDE0LDksMHhjMzM3MDdkNik7Ci0gIERPMihDLEQsQSxCLDMsMTQsMHhmNGQ1MGQ4Nyk7Ci0gIERPMihCLEMsRCxBLDgsMjAsMHg0NTVhMTRlZCk7Ci0KLSAgRE8yKEEsQixDLEQsMTMsNSwweGE5ZTNlOTA1KTsKLSAgRE8yKEQsQSxCLEMsMiw5LDB4ZmNlZmEzZjgpOwotICBETzIoQyxELEEsQiw3LDE0LDB4Njc2ZjAyZDkpOwotICBETzIoQixDLEQsQSwxMiwyMCwweDhkMmE0YzhhKTsKLQotICAvKiBSb3VuZCAzICovCi0KLSAgRE8zKEEsQixDLEQsNSw0LDB4ZmZmYTM5NDIpOwotICBETzMoRCxBLEIsQyw4LDExLDB4ODc3MWY2ODEpOwotICBETzMoQyxELEEsQiwxMSwxNiwweDZkOWQ2MTIyKTsKLSAgRE8zKEIsQyxELEEsMTQsMjMsMHhmZGU1MzgwYyk7Ci0KLSAgRE8zKEEsQixDLEQsMSw0LDB4YTRiZWVhNDQpOwotICBETzMoRCxBLEIsQyw0LDExLDB4NGJkZWNmYTkpOwotICBETzMoQyxELEEsQiw3LDE2LDB4ZjZiYjRiNjApOwotICBETzMoQixDLEQsQSwxMCwyMywweGJlYmZiYzcwKTsKLQotICBETzMoQSxCLEMsRCwxMyw0LDB4Mjg5YjdlYzYpOwotICBETzMoRCxBLEIsQywwLDExLDB4ZWFhMTI3ZmEpOwotICBETzMoQyxELEEsQiwzLDE2LDB4ZDRlZjMwODUpOwotICBETzMoQixDLEQsQSw2LDIzLDB4NDg4MWQwNSk7Ci0KLSAgRE8zKEEsQixDLEQsOSw0LDB4ZDlkNGQwMzkpOwotICBETzMoRCxBLEIsQywxMiwxMSwweGU2ZGI5OWU1KTsKLSAgRE8zKEMsRCxBLEIsMTUsMTYsMHgxZmEyN2NmOCk7Ci0gIERPMyhCLEMsRCxBLDIsMjMsMHhjNGFjNTY2NSk7Ci0KLSAgLyogUm91bmQgNCAqLwotCi0gIERPNChBLEIsQyxELDAsNiwweGY0MjkyMjQ0KTsKLSAgRE80KEQsQSxCLEMsNywxMCwweDQzMmFmZjk3KTsKLSAgRE80KEMsRCxBLEIsMTQsMTUsMHhhYjk0MjNhNyk7Ci0gIERPNChCLEMsRCxBLDUsMjEsMHhmYzkzYTAzOSk7Ci0KLSAgRE80KEEsQixDLEQsMTIsNiwweDY1NWI1OWMzKTsKLSAgRE80KEQsQSxCLEMsMywxMCwweDhmMGNjYzkyKTsKLSAgRE80KEMsRCxBLEIsMTAsMTUsMHhmZmVmZjQ3ZCk7Ci0gIERPNChCLEMsRCxBLDEsMjEsMHg4NTg0NWRkMSk7Ci0KLSAgRE80KEEsQixDLEQsOCw2LDB4NmZhODdlNGYpOwotICBETzQoRCxBLEIsQywxNSwxMCwweGZlMmNlNmUwKTsKLSAgRE80KEMsRCxBLEIsNiwxNSwweGEzMDE0MzE0KTsKLSAgRE80KEIsQyxELEEsMTMsMjEsMHg0ZTA4MTFhMSk7Ci0KLSAgRE80KEEsQixDLEQsNCw2LDB4Zjc1MzdlODIpOwotICBETzQoRCxBLEIsQywxMSwxMCwweGJkM2FmMjM1KTsKLSAgRE80KEMsRCxBLEIsMiwxNSwweDJhZDdkMmJiKTsKLSAgRE80KEIsQyxELEEsOSwyMSwweGViODZkMzkxKTsKLQotICBBICs9IEFBOwotICBCICs9IEJCOwotICBDICs9IENDOwotICBEICs9IEREOwotfQotCi0vKgotICogRnJvbSBgUGVyZm9ybWFuY2UgYW5hbHlzaXMgb2YgTUQ1JyBieSBKb3NlcGggRC4gVG91Y2ggPHRvdWNoQGlzaS5lZHU+Ci0gKi8KLSNpZiAhZGVmaW5lZChfX0JZVEVfT1JERVIpIHx8ICFkZWZpbmVkIChfX0JJR19FTkRJQU4pCi0jZXJyb3IgX19CWVRFX09SREVSIG1hY3JvcyBub3QgZGVmaW5lZAotI2VuZGlmCi0KLSNpZiBfX0JZVEVfT1JERVIgPT0gX19CSUdfRU5ESUFOCi1zdGF0aWMgaW5saW5lIHVfaW50MzJfdAotc3dhcF91X2ludDMyX3QgKHVfaW50MzJfdCB0KQotewotICB1X2ludDMyX3QgdGVtcDEsIHRlbXAyOwotCi0gIHRlbXAxICAgPSBjc2hpZnQodCwgMTYpOwotICB0ZW1wMiAgID0gdGVtcDEgPj4gODsKLSAgdGVtcDEgICY9IDB4MDBmZjAwZmY7Ci0gIHRlbXAyICAmPSAweDAwZmYwMGZmOwotICB0ZW1wMSA8PD0gODsKLSAgcmV0dXJuIHRlbXAxIHwgdGVtcDI7Ci19Ci0jZW5kaWYKLQotc3RydWN0IHgzMnsKLSAgdW5zaWduZWQgaW50IGE6MzI7Ci0gIHVuc2lnbmVkIGludCBiOjMyOwotfTsKLQotdm9pZAotTUQ1X1VwZGF0ZSAoc3RydWN0IG1kNSAqbSwgY29uc3Qgdm9pZCAqdiwgc2l6ZV90IGxlbikKLXsKLSAgY29uc3QgdW5zaWduZWQgY2hhciAqcCA9IHY7Ci0gIHNpemVfdCBvbGRfc3ogPSBtLT5zelswXTsKLSAgc2l6ZV90IG9mZnNldDsKLQotICBtLT5zelswXSArPSBsZW4gKiA4OwotICBpZiAobS0+c3pbMF0gPCBvbGRfc3opCi0gICAgICArK20tPnN6WzFdOwotICBvZmZzZXQgPSAob2xkX3N6IC8gOCkgICUgNjQ7Ci0gIHdoaWxlKGxlbiA+IDApewotICAgIHNpemVfdCBsID0gbWluKGxlbiwgNjQgLSBvZmZzZXQpOwotICAgIG1lbWNweShtLT5zYXZlICsgb2Zmc2V0LCBwLCBsKTsKLSAgICBvZmZzZXQgKz0gbDsKLSAgICBwICs9IGw7Ci0gICAgbGVuIC09IGw7Ci0gICAgaWYob2Zmc2V0ID09IDY0KXsKLSNpZiBfX0JZVEVfT1JERVIgPT0gX19CSUdfRU5ESUFOCi0gICAgICBpbnQgaTsKLSAgICAgIHVfaW50MzJfdCBjdXJyZW50WzE2XTsKLSAgICAgIHN0cnVjdCB4MzIgKnUgPSAoc3RydWN0IHgzMiopbS0+c2F2ZTsKLSAgICAgIGZvcihpID0gMDsgaSA8IDg7IGkrKyl7Ci0JY3VycmVudFsyKmkrMF0gPSBzd2FwX3VfaW50MzJfdCh1W2ldLmEpOwotCWN1cnJlbnRbMippKzFdID0gc3dhcF91X2ludDMyX3QodVtpXS5iKTsKLSAgICAgIH0KLSAgICAgIGNhbGMobSwgY3VycmVudCk7Ci0jZWxzZQotICAgICAgY2FsYyhtLCAodV9pbnQzMl90KiltLT5zYXZlKTsKLSNlbmRpZgotICAgICAgb2Zmc2V0ID0gMDsKLSAgICB9Ci0gIH0KLX0KLQotdm9pZAotTUQ1X0ZpbmFsICh2b2lkICpyZXMsIHN0cnVjdCBtZDUgKm0pCi17Ci0gIHVuc2lnbmVkIGNoYXIgemVyb3NbNzJdOwotICB1bnNpZ25lZCBvZmZzZXQgPSAobS0+c3pbMF0gLyA4KSAlIDY0OwotICB1bnNpZ25lZCBpbnQgZHN0YXJ0ID0gKDEyMCAtIG9mZnNldCAtIDEpICUgNjQgKyAxOwotCi0gICp6ZXJvcyA9IDB4ODA7Ci0gIG1lbXNldCAoemVyb3MgKyAxLCAwLCBzaXplb2YoemVyb3MpIC0gMSk7Ci0gIHplcm9zW2RzdGFydCswXSA9IChtLT5zelswXSA+PiAwKSAmIDB4ZmY7Ci0gIHplcm9zW2RzdGFydCsxXSA9IChtLT5zelswXSA+PiA4KSAmIDB4ZmY7Ci0gIHplcm9zW2RzdGFydCsyXSA9IChtLT5zelswXSA+PiAxNikgJiAweGZmOwotICB6ZXJvc1tkc3RhcnQrM10gPSAobS0+c3pbMF0gPj4gMjQpICYgMHhmZjsKLSAgemVyb3NbZHN0YXJ0KzRdID0gKG0tPnN6WzFdID4+IDApICYgMHhmZjsKLSAgemVyb3NbZHN0YXJ0KzVdID0gKG0tPnN6WzFdID4+IDgpICYgMHhmZjsKLSAgemVyb3NbZHN0YXJ0KzZdID0gKG0tPnN6WzFdID4+IDE2KSAmIDB4ZmY7Ci0gIHplcm9zW2RzdGFydCs3XSA9IChtLT5zelsxXSA+PiAyNCkgJiAweGZmOwotICBNRDVfVXBkYXRlIChtLCB6ZXJvcywgZHN0YXJ0ICsgOCk7Ci0gIHsKLSAgICAgIGludCBpOwotICAgICAgdW5zaWduZWQgY2hhciAqciA9ICh1bnNpZ25lZCBjaGFyICopcmVzOwotCi0gICAgICBmb3IgKGkgPSAwOyBpIDwgNDsgKytpKSB7Ci0JICByWzQqaV0gICA9IG0tPmNvdW50ZXJbaV0gJiAweEZGOwotCSAgcls0KmkrMV0gPSAobS0+Y291bnRlcltpXSA+PiA4KSAmIDB4RkY7Ci0JICByWzQqaSsyXSA9IChtLT5jb3VudGVyW2ldID4+IDE2KSAmIDB4RkY7Ci0JICByWzQqaSszXSA9IChtLT5jb3VudGVyW2ldID4+IDI0KSAmIDB4RkY7Ci0gICAgICB9Ci0gIH0KLSNpZiAwCi0gIHsKLSAgICBpbnQgaTsKLSAgICB1X2ludDMyX3QgKnIgPSAodV9pbnQzMl90ICopcmVzOwotCi0gICAgZm9yIChpID0gMDsgaSA8IDQ7ICsraSkKLSAgICAgIHJbaV0gPSBzd2FwX3VfaW50MzJfdCAobS0+Y291bnRlcltpXSk7Ci0gIH0KLSNlbmRpZgotfQpkaWZmIC0tZ2l0IGEvbGliYy9iaW9uaWMvbWQ1LmggYi9saWJjL2Jpb25pYy9tZDUuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYTM4MTk5NC4uMDAwMDAwMAotLS0gYS9saWJjL2Jpb25pYy9tZDUuaAorKysgL2Rldi9udWxsCkBAIC0xLDUwICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKGMpIDE5OTUgLSAyMDAxIEt1bmdsaWdhIFRla25pc2thIEj2Z3Nrb2xhbgotICogKFJveWFsIEluc3RpdHV0ZSBvZiBUZWNobm9sb2d5LCBTdG9ja2hvbG0sIFN3ZWRlbikuCi0gKiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICogCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIAotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIAotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKiAKLSAqIDMuIE5laXRoZXIgdGhlIG5hbWUgb2YgdGhlIEluc3RpdHV0ZSBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMKLSAqICAgIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZQotICogICAgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCi0gKiAKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIElOU1RJVFVURSBBTkQgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQKLSAqIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UKLSAqIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgVEhFIElOU1RJVFVURSBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCi0gKiBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTAotICogREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMKLSAqIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKQotICogSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QKLSAqIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkKLSAqIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YKLSAqIFNVQ0ggREFNQUdFLgotICovCi0KLS8qICRIZWltZGFsOiBtZDUuaCx2IDEuOCAyMDAxLzAxLzI5IDAyOjA4OjU3IGFzc2FyIEV4cCAkCi0gICAkTmV0QlNEOiBtZDUuaCx2IDEuMS4xLjQgMjAwMi8wOS8xMiAxMjo0MTo0MiBqb2RhIEV4cCAkICovCi0KLSNpbmNsdWRlIDxzdGRsaWIuaD4KLSNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KLQotc3RydWN0IG1kNSB7Ci0gIHVuc2lnbmVkIGludCBzelsyXTsKLSAgdV9pbnQzMl90IGNvdW50ZXJbNF07Ci0gIHVuc2lnbmVkIGNoYXIgc2F2ZVs2NF07Ci19OwotCi10eXBlZGVmIHN0cnVjdCBtZDUgTUQ1X0NUWDsKLQotdm9pZCBNRDVfSW5pdCAoc3RydWN0IG1kNSAqbSk7Ci12b2lkIE1ENV9VcGRhdGUgKHN0cnVjdCBtZDUgKm0sIGNvbnN0IHZvaWQgKnAsIHNpemVfdCBsZW4pOwotdm9pZCBNRDVfRmluYWwgKHZvaWQgKnJlcywgc3RydWN0IG1kNSAqbSk7IC8qIHVfaW50MzJfdCByZXNbNF0gKi8KZGlmZiAtLWdpdCBhL2xpYmMvYmlvbmljL25ka19jcnVmdC5jcHAgYi9saWJjL2Jpb25pYy9uZGtfY3J1ZnQuY3BwCmluZGV4IGNiOWM5YzkuLjE1YTMyMDYgMTAwNjQ0Ci0tLSBhL2xpYmMvYmlvbmljL25ka19jcnVmdC5jcHAKKysrIGIvbGliYy9iaW9uaWMvbmRrX2NydWZ0LmNwcApAQCAtMzAsNiArMzAsNyBAQAogI2lmICFkZWZpbmVkKF9fTFA2NF9fKQogCiAjaW5jbHVkZSA8Y3R5cGUuaD4KKyNpbmNsdWRlIDxkaXJlbnQuaD4KICNpbmNsdWRlIDxpbnR0eXBlcy5oPgogI2luY2x1ZGUgPHB0aHJlYWQuaD4KICNpbmNsdWRlIDxzaWduYWwuaD4KQEAgLTIzOCw0ICsyMzksMTUgQEAKICAgcmV0dXJuIF9zaWduYWwoc2lnbnVtLCBoYW5kbGVyLCBTQV9SRVNFVEhBTkQpOwogfQogCisvLyBUaGlzIGlzIGEgc3lzdGVtIGNhbGwgdGhhdCB3YXMgbmV2ZXIgaW4gUE9TSVguIFVzZSByZWFkZGlyKDMpIGluc3RlYWQuCitleHRlcm4gIkMiIGludCBfX2dldGRlbnRzNjQodW5zaWduZWQgaW50LCBkaXJlbnQqLCB1bnNpZ25lZCBpbnQpOworZXh0ZXJuICJDIiBpbnQgZ2V0ZGVudHModW5zaWduZWQgaW50IGZkLCBkaXJlbnQqIGRpcnAsIHVuc2lnbmVkIGludCBjb3VudCkgeworICByZXR1cm4gX19nZXRkZW50czY0KGZkLCBkaXJwLCBjb3VudCk7Cit9CisKKy8vIFRoaXMgaXMgYSBCU0Rpc20gdGhhdCB3ZSBuZXZlciBpbXBsZW1lbnRlZCBjb3JyZWN0bHkuIFVzZWQgYnkgRmlyZWZveC4KK2V4dGVybiAiQyIgaW50IGlzc2V0dWdpZCgpIHsKKyAgcmV0dXJuIDA7Cit9CisKICNlbmRpZgpkaWZmIC0tZ2l0IGEvbGliYy9pbmNsdWRlL2RpcmVudC5oIGIvbGliYy9pbmNsdWRlL2RpcmVudC5oCmluZGV4IDcxZWIyZTcuLmE4NDlhNjEgMTAwNjQ0Ci0tLSBhL2xpYmMvaW5jbHVkZS9kaXJlbnQuaAorKysgYi9saWJjL2luY2x1ZGUvZGlyZW50LmgKQEAgLTc1LDcgKzc1LDYgQEAKIGV4dGVybiBpbnQgYWxwaGFzb3J0NjQoY29uc3Qgc3RydWN0IGRpcmVudDY0KiosIGNvbnN0IHN0cnVjdCBkaXJlbnQ2NCoqKTsKIGV4dGVybiBpbnQgc2NhbmRpcihjb25zdCBjaGFyKiwgc3RydWN0IGRpcmVudCoqKiwgaW50ICgqKShjb25zdCBzdHJ1Y3QgZGlyZW50KiksIGludCAoKikoY29uc3Qgc3RydWN0IGRpcmVudCoqLCBjb25zdCBzdHJ1Y3QgZGlyZW50KiopKTsKIGV4dGVybiBpbnQgc2NhbmRpcjY0KGNvbnN0IGNoYXIqLCBzdHJ1Y3QgZGlyZW50NjQqKiosIGludCAoKikoY29uc3Qgc3RydWN0IGRpcmVudDY0KiksIGludCAoKikoY29uc3Qgc3RydWN0IGRpcmVudDY0KiosIGNvbnN0IHN0cnVjdCBkaXJlbnQ2NCoqKSk7Ci1leHRlcm4gaW50IGdldGRlbnRzKHVuc2lnbmVkIGludCwgc3RydWN0IGRpcmVudCosIHVuc2lnbmVkIGludCk7CiAKIF9fRU5EX0RFQ0xTCiAKZGlmZiAtLWdpdCBhL2xpYmMvaW5jbHVkZS9saW1pdHMuaCBiL2xpYmMvaW5jbHVkZS9saW1pdHMuaAppbmRleCBkYzQ1OTAyLi5mYjA5NjU3IDEwMDY0NAotLS0gYS9saWJjL2luY2x1ZGUvbGltaXRzLmgKKysrIGIvbGliYy9pbmNsdWRlL2xpbWl0cy5oCkBAIC0xMTIsNyArMTEyLDcgQEAKIAogI2RlZmluZSBTU0laRV9NQVggTE9OR19NQVgKIAotI2RlZmluZSBNQl9MRU5fTUFYIDYKKyNkZWZpbmUgTUJfTEVOX01BWCA0CiAKIC8qIE5ldyBjb2RlIHNob3VsZCB1c2Ugc3lzY29uZihfU0NfUEFHRV9TSVpFKSBpbnN0ZWFkLiAqLwogI2lmbmRlZiBQQUdFX1NJWkUKZGlmZiAtLWdpdCBhL2xpYmMvaW5jbHVkZS9zZXRqbXAuaCBiL2xpYmMvaW5jbHVkZS9zZXRqbXAuaAppbmRleCA2OGZkY2VmLi4wMmIwNmY1IDEwMDY0NAotLS0gYS9saWJjL2luY2x1ZGUvc2V0am1wLmgKKysrIGIvbGliYy9pbmNsdWRlL3NldGptcC5oCkBAIC01MCw3ICs1MCw2IEBACiAKIGludCAgICAgX3NldGptcChqbXBfYnVmKTsKIHZvaWQgICAgX2xvbmdqbXAoam1wX2J1ZiwgaW50KTsKLXZvaWQgICAgbG9uZ2ptcGVycm9yKHZvaWQpOwogCiBpbnQgICAgIHNldGptcChqbXBfYnVmKTsKIHZvaWQgICAgbG9uZ2ptcChqbXBfYnVmLCBpbnQpOwpkaWZmIC0tZ2l0IGEvbGliYy9pbmNsdWRlL3N0ZGxpYi5oIGIvbGliYy9pbmNsdWRlL3N0ZGxpYi5oCmluZGV4IDgzNGRjZGEuLjQ4M2FhZjAgMTAwNjQ0Ci0tLSBhL2xpYmMvaW5jbHVkZS9zdGRsaWIuaAorKysgYi9saWJjL2luY2x1ZGUvc3RkbGliLmgKQEAgLTE2Nyw3ICsxNjcsNyBAQAogZXh0ZXJuIGludAl3Y3RvbWIoY2hhciAqLCB3Y2hhcl90KTsKIGV4dGVybiBzaXplX3QJd2NzdG9tYnMoY2hhciAqLCBjb25zdCB3Y2hhcl90ICosIHNpemVfdCk7CiAKLSNkZWZpbmUgTUJfQ1VSX01BWCAxCisjZGVmaW5lIE1CX0NVUl9NQVggNFUKIAogI2lmIDAgLyogTUlTU0lORyBGUk9NIEJJT05JQyAqLwogZXh0ZXJuIGludCBvbl9leGl0KHZvaWQgKCopKGludCwgdm9pZCAqKSwgdm9pZCAqKTsKZGlmZiAtLWdpdCBhL2xpYmMvaW5jbHVkZS9zeXNsb2cuaCBiL2xpYmMvaW5jbHVkZS9zeXNsb2cuaAppbmRleCA0Njc3YzE0Li5hNTJlODExIDEwMDY0NAotLS0gYS9saWJjL2luY2x1ZGUvc3lzbG9nLmgKKysrIGIvbGliYy9pbmNsdWRlL3N5c2xvZy5oCkBAIC0yNSw2ICsyNSw3IEBACiAgKiBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YKICAqIFNVQ0ggREFNQUdFLgogICovCisKICNpZm5kZWYgX1NZU0xPR19ICiAjZGVmaW5lIF9TWVNMT0dfSAogCkBAIC0zNCw3ICszNSw2IEBACiAKIF9fQkVHSU5fREVDTFMKIAotLyogQWxlcnQgbGV2ZWxzICovCiAjZGVmaW5lIExPR19FTUVSRwkwCiAjZGVmaW5lIExPR19BTEVSVAkxCiAjZGVmaW5lIExPR19DUklUCTIKQEAgLTQ3LDggKzQ3LDYgQEAKICNkZWZpbmUgTE9HX1BSSU1BU0sJNwogI2RlZmluZSBMT0dfUFJJKHgpCSgoeCkgJiBMT0dfUFJJTUFTSykKIAotCi0vKiBGYWNpbGl0aWVzOyBub3QgYWN0dWFsbHkgdXNlZCAqLwogI2RlZmluZSBMT0dfS0VSTgkwMDAwCiAjZGVmaW5lIExPR19VU0VSCTAwMTAKICNkZWZpbmUgTE9HX01BSUwJMDAyMApAQCAtNzMsMzAgKzcxLDE1IEBACiAjZGVmaW5lIExPR19GQUNNQVNLCTAxNzcwCiAjZGVmaW5lIExPR19GQUMoeCkJKCgoeCkgPj4gMykgJiAoTE9HX0ZBQ01BU0sgPj4gMykpCiAKLSNkZWZpbmUJTE9HX01BU0socHJpKQkoMSA8PCAocHJpKSkJCS8qIG1hc2sgZm9yIG9uZSBwcmlvcml0eSAqLwotI2RlZmluZQlMT0dfVVBUTyhwcmkpCSgoMSA8PCAoKHByaSkrMSkpIC0gMSkJLyogYWxsIHByaW9yaXRpZXMgdGhyb3VnaCBwcmkgKi8KKyNkZWZpbmUgTE9HX01BU0socHJpKSAoMSA8PCAocHJpKSkKKyNkZWZpbmUgTE9HX1VQVE8ocHJpKSAoKDEgPDwgKChwcmkpKzEpKSAtIDEpCiAKLS8qIG9wZW5sb2coKSBmbGFnczsgb25seSBMT0dfUElEIGFuZCBMT0dfUEVSUk9SIHN1cHBvcnRlZCAqLwotI2RlZmluZSAgICAgICAgTE9HX1BJRCAgICAgICAgIDB4MDEgICAgLyogaW5jbHVkZSBwaWQgd2l0aCBtZXNzYWdlICovCi0jZGVmaW5lICAgICAgICBMT0dfQ09OUyAgICAgICAgMHgwMiAgICAvKiB3cml0ZSB0byBjb25zb2xlIG9uIGxvZ2dlciBlcnJvciAqLwotI2RlZmluZSAgICAgICAgTE9HX09ERUxBWSAgICAgIDB4MDQgICAgLyogZGVsYXkgY29ubmVjdGlvbiB1bnRpbCBzeXNsb2coKSAqLwotI2RlZmluZSAgICAgICAgTE9HX05ERUxBWSAgICAgIDB4MDggICAgLyogb3BlbiBjb25uZWN0aW9uIGltbWVkaWF0ZWx5ICovCi0jZGVmaW5lICAgICAgICBMT0dfTk9XQUlUICAgICAgMHgxMCAgICAvKiB3YWl0IGZvciBjaGlsZCBwcm9jZXNzZXMgKHVudXNlZCBvbiBsaW51eCkgKi8KLSNkZWZpbmUgICAgICAgIExPR19QRVJST1IgICAgICAweDIwICAgIC8qIGFkZGl0aW9uYWwgbG9nZ2luZyB0byBzdGRlcnIgKi8KLQotLyogQklPTklDOiB0aGUgZm9sbG93aW5nIGRlZmluaXRpb25zIGFyZSBmcm9tIE9wZW5CU0QncyBzeXMvc3lzbG9nLmgKLSAqLwotc3RydWN0IHN5c2xvZ19kYXRhIHsKLQlpbnQJbG9nX2ZpbGU7Ci0gICAgICAgIGludAljb25uZWN0ZWQ7Ci0gICAgICAgIGludAlvcGVuZWQ7Ci0gICAgICAgIGludAlsb2dfc3RhdDsKLSAgICAgICAgY29uc3QgY2hhciAJKmxvZ190YWc7Ci0gICAgICAgIGludCAJbG9nX2ZhYzsKLSAgICAgICAgaW50IAlsb2dfbWFzazsKLX07Ci0KLSNkZWZpbmUgU1lTTE9HX0RBVEFfSU5JVCB7LTEsIDAsIDAsIDAsIChjb25zdCBjaGFyICopMCwgTE9HX1VTRVIsIDB4ZmZ9CisjZGVmaW5lIExPR19QSUQgICAgMHgwMSAgICAvKiBpbmNsdWRlIHBpZCB3aXRoIG1lc3NhZ2UgKi8KKyNkZWZpbmUgTE9HX0NPTlMgICAweDAyICAgIC8qIHdyaXRlIHRvIGNvbnNvbGUgb24gbG9nZ2VyIGVycm9yICovCisjZGVmaW5lIExPR19PREVMQVkgMHgwNCAgICAvKiBkZWxheSBjb25uZWN0aW9uIHVudGlsIHN5c2xvZygpICovCisjZGVmaW5lIExPR19OREVMQVkgMHgwOCAgICAvKiBvcGVuIGNvbm5lY3Rpb24gaW1tZWRpYXRlbHkgKi8KKyNkZWZpbmUgTE9HX05PV0FJVCAweDEwICAgIC8qIHdhaXQgZm9yIGNoaWxkIHByb2Nlc3NlcyAodW51c2VkIG9uIGxpbnV4KSAqLworI2RlZmluZSBMT0dfUEVSUk9SIDB4MjAgICAgLyogYWRkaXRpb25hbCBsb2dnaW5nIHRvIHN0ZGVyciAqLwogCiAjZGVmaW5lIF9QQVRIX0xPRyAgIi9kZXYvc3lzbG9nIgogCkBAIC0xMDUsMTEgKzg4LDYgQEAKIGV4dGVybiBpbnQJc2V0bG9nbWFzayhpbnQpOwogZXh0ZXJuIHZvaWQJc3lzbG9nKGludCwgY29uc3QgY2hhciAqLCAuLi4pIF9fcHJpbnRmbGlrZSgyLCAzKTsKIGV4dGVybiB2b2lkCXZzeXNsb2coaW50LCBjb25zdCBjaGFyICosIHZhX2xpc3QpIF9fcHJpbnRmbGlrZSgyLCAwKTsKLWV4dGVybiB2b2lkCWNsb3NlbG9nX3Ioc3RydWN0IHN5c2xvZ19kYXRhICopOwotZXh0ZXJuIHZvaWQJb3BlbmxvZ19yKGNvbnN0IGNoYXIgKiwgaW50LCBpbnQsIHN0cnVjdCBzeXNsb2dfZGF0YSAqKTsKLWV4dGVybiBpbnQJc2V0bG9nbWFza19yKGludCwgc3RydWN0IHN5c2xvZ19kYXRhICopOwotZXh0ZXJuIHZvaWQJc3lzbG9nX3IoaW50LCBzdHJ1Y3Qgc3lzbG9nX2RhdGEgKiwgY29uc3QgY2hhciAqLCAuLi4pIF9fcHJpbnRmbGlrZSgzLCA0KTsKLWV4dGVybiB2b2lkCXZzeXNsb2dfcihpbnQsIHN0cnVjdCBzeXNsb2dfZGF0YSAqLCBjb25zdCBjaGFyICosIHZhX2xpc3QpIF9fcHJpbnRmbGlrZSgzLCAwKTsKIAogX19FTkRfREVDTFMKIApkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvUkVBRE1FLlRYVCBiL2xpYmMva2VybmVsL1JFQURNRS5UWFQKaW5kZXggZTRjMTFhMS4uMGVkYmNjNiAxMDA2NDQKLS0tIGEvbGliYy9rZXJuZWwvUkVBRE1FLlRYVAorKysgYi9saWJjL2tlcm5lbC9SRUFETUUuVFhUCkBAIC0xLDkzICsxLDQ3IEBACi1CaW9uaWMgY29tZXMgd2l0aCBhIHNldCBvZiAnY2xlYW4nIExpbnV4IGtlcm5lbCBoZWFkZXJzIHRoYXQgY2FuIHNhZmVseSBiZQotaW5jbHVkZWQgYnkgdXNlcmxhbmQgYXBwbGljYXRpb25zIGFuZCBsaWJyYXJpZXMgd2l0aG91dCBmZWFyIG9mIGhpZGVvdXMKLWNvbmZsaWN0cy4gZm9yIG1vcmUgaW5mb3JtYXRpb24gd2h5IHRoaXMgaXMgbmVlZGVkLCBzZWUgdGhlICJSQVRJT05BTEUiCi1zZWN0aW9uIGF0IHRoZSBlbmQgb2YgdGhpcyBkb2N1bWVudC4KK0Jpb25pYyBjb21lcyB3aXRoIGEgcHJvY2Vzc2VkIHNldCBvZiBhbGwgb2YgdGhlIHVhcGkgTGludXgga2VybmVsIGhlYWRlcnMgdGhhdAorY2FuIHNhZmVseSBiZSBpbmNsdWRlZCBieSB1c2VybGFuZCBhcHBsaWNhdGlvbnMgYW5kIGxpYnJhcmllcy4KIAotdGhlc2UgY2xlYW4gaGVhZGVycyBhcmUgYXV0b21hdGljYWxseSBnZW5lcmF0ZWQgYnkgc2V2ZXJhbCBzY3JpcHRzIGxvY2F0ZWQKLWluIHRoZSAnYmlvbmljL2tlcm5lbC90b29scycgZGlyZWN0b3J5LCB3aGljaCBwcm9jZXNzIGEgc2V0IG9mIG9yaWdpbmFsCi1hbmQgdW5tb2RpZmllZCBrZXJuZWwgaGVhZGVycyBpbiBvcmRlciB0byBnZXQgcmlkIG9mIG1hbnkgYW5ub3lpbmcKK1RoZXNlIGNsZWFuIGhlYWRlcnMgYXJlIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIGJ5IHNldmVyYWwgc2NyaXB0cyBsb2NhdGVkCitpbiB0aGUgJ2Jpb25pYy9rZXJuZWwvdG9vbHMnIGRpcmVjdG9yeS4gVGhlIHRvb2xzIHByb2Nlc3MgdGhlIG9yaWdpbmFsCit1bm1vZGlmaWVkIGtlcm5lbCBoZWFkZXJzIGluIG9yZGVyIHRvIGdldCByaWQgb2YgbWFueSBhbm5veWluZwogZGVjbGFyYXRpb25zIGFuZCBjb25zdHJ1Y3RzIHRoYXQgdXN1YWxseSByZXN1bHQgaW4gY29tcGlsYXRpb24gZmFpbHVyZS4KIAotdGhlICdjbGVhbiBoZWFkZXJzJyBvbmx5IGNvbnRhaW4gdHlwZSBhbmQgbWFjcm8gZGVmaW5pdGlvbnMsIHdpdGggdGhlCitUaGUgJ2NsZWFuIGhlYWRlcnMnIG9ubHkgY29udGFpbiB0eXBlIGFuZCBtYWNybyBkZWZpbml0aW9ucywgd2l0aCB0aGUKIGV4Y2VwdGlvbiBvZiBhIGNvdXBsZSBzdGF0aWMgaW5saW5lIGZ1bmN0aW9ucyB1c2VkIGZvciBwZXJmb3JtYW5jZQotcmVhc29uIChlLmcuIG9wdGltaXplZCBDUFUtc3BlY2lmaWMgYnl0ZS1zd2FwcGluZyByb3V0aW5lcykKK3JlYXNvbiAoZS5nLiBvcHRpbWl6ZWQgQ1BVLXNwZWNpZmljIGJ5dGUtc3dhcHBpbmcgcm91dGluZXMpLgogCi10aGV5IGNhbiBiZSBpbmNsdWRlZCBmcm9tIEMrKywgb3Igd2hlbiBjb21waWxpbmcgY29kZSBpbiBzdHJpY3QgQU5TSSBtb2RlLgotdGhleSBjYW4gYmUgYWxzbyBpbmNsdWRlZCBiZWZvcmUgb3IgYWZ0ZXIgYW55IEJpb25pYyBDIGxpYnJhcnkgaGVhZGVyLgorVGhleSBjYW4gYmUgaW5jbHVkZWQgZnJvbSBDKyssIG9yIHdoZW4gY29tcGlsaW5nIGNvZGUgaW4gc3RyaWN0IEFOU0kgbW9kZS4KK1RoZXkgY2FuIGJlIGFsc28gaW5jbHVkZWQgYmVmb3JlIG9yIGFmdGVyIGFueSBCaW9uaWMgQyBsaWJyYXJ5IGhlYWRlci4KIAotdGhlIGdlbmVyYXRpb24gcHJvY2VzcyB3b3JrcyBhcyBmb2xsb3dzOgorRGVzY3JpcHRpb24gb2YgdGhlIGRpcmVjdG9yaWVzIGludm9sdmVkIGluIGdlbmVyYXRpbmcgdGhlIHBhcnNlZCBrZXJuZWwgaGVhZGVyczoKIAogICAqICdleHRlcm5hbC9rZXJuZWwtaGVhZGVycy9vcmlnaW5hbC8nCi0gICAgY29udGFpbnMgYSBzZXQgb2Yga2VybmVsIGhlYWRlcnMgYXMgbm9ybWFsbHkgZm91bmQgaW4gdGhlICdpbmNsdWRlJwotICAgIGRpcmVjdG9yeSBvZiBhIG5vcm1hbCBMaW51eCBrZXJuZWwgc291cmNlIHRyZWUuIG5vdGUgdGhhdCB0aGlzIHNob3VsZAotICAgIG9ubHkgY29udGFpbiB0aGUgZmlsZXMgdGhhdCBhcmUgcmVhbGx5IG5lZWRlZCBieSBBbmRyb2lkICh1c2UKLSAgICAnZmluZF9oZWFkZXJzLnB5JyB0byBmaW5kIHRoZXNlIGF1dG9tYXRpY2FsbHkpLgorICAgIENvbnRhaW5zIHRoZSB1YXBpIGtlcm5lbCBoZWFkZXJzIGZvdW5kIGluIHRoZSBhbmRyb2lkIGtlcm5lbC4gTm90ZSB0aGlzCisgICAgYWxzbyBpbmNsdWRlcyB0aGUgaGVhZGVyIGZpbGVzIHRoYXQgYXJlIGdlbmVyYXRlZCBieSBidWlsZGluZyB0aGUga2VybmVsCisgICAgc291cmNlcy4KIAotICAqICdiaW9uaWMvbGliYy9rZXJuZWwvY29tbW9uJwotICAgIGNvbnRhaW5zIHRoZSBub24tYXJjaC1zcGVjaWZpYyBjbGVhbiBoZWFkZXJzIGFuZCBkaXJlY3RvcmllcwotICAgIChlLmcuIGxpbnV4LCBhc20tZ2VuZXJpYyBhbmQgbXRkKQorICAqICdiaW9uaWMvbGliYy9rZXJuZWwvdWFwaScKKyAgICBDb250YWlucyB0aGUgY2xlYW5lZCBrZXJuZWwgaGVhZGVycyBhbmQgbWlycm9ycyB0aGUgZGlyZWN0b3J5IHN0cnVjdHVyZQorICAgIGluICdleHRlcm5hbC9rZXJuZWwtaGVhZGVycy9vcmlnaW5hbC91YXBpLycuCiAKLSAgKiAnYmlvbmljL2xpYmMva2VybmVsL2FyY2gtYXJtLycKLSAgICBjb250YWlucyB0aGUgQVJNLXNwZWNpZmljIGRpcmVjdG9yeSB0cmVlIG9mIGNsZWFuIGhlYWRlcnMuCisgICogJ2Jpb25pYy9saWJjL2tlcm5lbC90b29scycKKyAgICBDb250YWlucyB2YXJpb3VzIFB5dGhvbiBhbmQgc2hlbGwgc2NyaXB0cyB1c2VkIHRvIGdldCBhbmQgcmUtZ2VuZXJhdGUKKyAgICB0aGUgaGVhZGVycy4KIAotICAqICdiaW9uaWMvbGliYy9rZXJuZWwvYXJjaC1hcm0vYXNtJwotICAgIGNvbnRhaW5zIHRoZSByZWFsIEFSTS1zcGVjaWZpYyBoZWFkZXJzCitUaGUgdG9vbHMgdG8gZ2V0L3BhcnNlIHRoZSBoZWFkZXJzOgogCi0gICogJ2Jpb25pYy9saWJjL2tlcm5lbC9hcmNoLXg4NicKLSAgICAnYmlvbmljL2xpYmMva2VybmVsL2FyY2gteDg2L2FzbScKLSAgICBzaW1pbGFybHkgY29udGFpbnMgYWxsIGhlYWRlcnMgYW5kIHN5bWxpbmtzIHRvIGJlIHVzZWQgb24geDg2Ci0KLSAgKiAnYmlvbmljL2xpYmMva2VybmVsL3Rvb2xzJyBjb250YWlucyB2YXJpb3VzIFB5dGhvbiBhbmQgc2hlbGwgc2NyaXB0cyB1c2VkCi0gICAgdG8gbWFuYWdlIGFuZCByZS1nZW5lcmF0ZSB0aGUgaGVhZGVycwotCi10aGUgdG9vbHMgeW91IGNhbiB1c2UgYXJlOgotCi0gICogdG9vbHMvZmluZF91c2Vycy5weQotICAgIHNjYW5zIGEgbGlzdCBvZiBzb3VyY2UgZmlsZXMgb3IgZGlyZWN0b3JpZXMgYW5kIHByaW50cyB3aGljaCBvbmVzIGRvCi0gICAgaW5jbHVkZSBMaW51eCBoZWFkZXJzLgotCi0gICogdG9vbHMvZmluZF9oZWFkZXJzLnB5Ci0gICAgc2NhbnMgYSBsaXN0IG9mIHNvdXJjZSBmaWxlcyBvciBkaXJlY3RvcmllcyBhbmQgcmVjdXJzaXZlbHkgZmluZHMgYWxsCi0gICAgdGhlIG9yaWdpbmFsIGtlcm5lbCBoZWFkZXJzIHRoZXkgbmVlZC4KKyAgKiB0b29scy9nZW5lcmF0ZV91YXBpX2hlYWRlcnMuc2gKKyAgICBDaGVja3Mgb3V0IHRoZSBhbmRyb2lkIGtlcm5lbCBhbmQgZ2VuZXJhdGVzIGFsbCB1YXBpIGhlYWRlciBmaWxlcy4KKyAgICBjb3BpZXMgYWxsIHRoZSBjaGFuZ2VkIGZpbGVzIGludG8gZXh0ZXJuYWwva2VybmVsLWhlYWRlcnMuCiAKICAgKiB0b29scy9jbGVhbl9oZWFkZXIucHkKLSAgICBwcmludHMgdGhlIGNsZWFuIHZlcnNpb24gb2YgYSBnaXZlbiBrZXJuZWwgaGVhZGVyLiB3aXRoIHRoZSAtdSBvcHRpb24sCisgICAgUHJpbnRzIHRoZSBjbGVhbiB2ZXJzaW9uIG9mIGEgZ2l2ZW4ga2VybmVsIGhlYWRlci4gV2l0aCB0aGUgLXUgb3B0aW9uLAogICAgIHRoaXMgd2lsbCBhbHNvIHVwZGF0ZSB0aGUgY29ycmVzcG9uZGluZyBjbGVhbiBoZWFkZXIgZmlsZSBpZiBpdHMKLSAgICBjb250ZW50IGhhcyBjaGFuZ2VkLiB5b3UgY2FuIGFsc28gcHJvY2VzcyBtb3JlIHRoYW4gb25lIGZpbGUgd2l0aCAtdQorICAgIGNvbnRlbnQgaGFzIGNoYW5nZWQuIFlvdSBjYW4gYWxzbyBwcm9jZXNzIG1vcmUgdGhhbiBvbmUgZmlsZSB3aXRoIC11LgogCiAgICogdG9vbHMvdXBkYXRlX2FsbC5weQotICAgIGF1dG9tYXRpY2FsbHkgdXBkYXRlIGFsbCBjbGVhbiBoZWFkZXJzIGZyb20gdGhlIGNvbnRlbnQgb2YgCi0gICAgJ2V4dGVybmFsL2tlcm5lbC1oZWFkZXJzL29yaWdpbmFsJy4gdGhpcyBpcyB0aGUgc2NyaXB0IHlvdSdyZSBsaWtlbHkgZ29pbmcgdG8KLSAgICBydW4gd2hlbmV2ZXIgeW91IHVwZGF0ZSB0aGUgb3JpZ2luYWwgaGVhZGVycy4KLQotCi1IT1cgVE8gQlVJTEQgQklPTklDIEFORCBPVEhFUiBQUk9HUkFNUyBXSVRIIFRIRSBDTEVBTiBIRUFERVJTOgotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLQotYWRkIGJpb25pYy9rZXJuZWwvY29tbW9uIGFuZCBiaW9uaWMva2VybmVsL2FyY2gtPHlvdXJhcmNoPiB0byB5b3VyIEMKLWluY2x1ZGUgcGF0aC4gdGhhdCBzaG91bGQgYmUgZW5vdWdoLiBOb3RlIHRoYXQgQmlvbmljIHdpbGwgbm90IGNvbXBpbGUgcHJvcGVybHkgCi1pZiB5b3UgZG9uJ3QuCi0KLQotSE9XIFRPIFNVUFBPUlQgQU5PVEhFUiBBUkNISVRFQ1RVUkU6Ci09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLQotc2VlIHRoZSBjb250ZW50IG9mIHRvb2xzL2RlZmF1bHRzLnB5LCB5b3Ugd2lsbCBuZWVkIHRvIG1ha2UgYSBmZXcgdXBkYXRlcwotaGVyZToKLQotICAtIGFkZCBhIG5ldyBpdGVtIHRvIHRoZSAna2VybmVsX2FyY2hzJyBsaXN0IG9mIHN1cHBvcnRlZCBhcmNoaXRlY3R1cmVzCi0KLSAgLSBhZGQgYSBwcm9wZXIgZGVmaW5pdGlvbiBmb3IgJ2tlcm5lbF9rbm93bl88YXJjaD5fc3RhdGljcycgd2l0aAotICAgIHJlbGV2YW50IGRlZmluaXRpb25zLgotCi0gIC0gdXBkYXRlICdrZXJuZWxfa25vd25fc3RhdGljcycgdG8gbWFwICI8YXJjaD4iIHRvCi0gICAgJ2tlcm5lbF9rbm93bl88YXJjaD5fc3RhdGljcycKLQotdGhlbiwgYWRkIHRoZSBuZXcgYXJjaGl0ZWN0dXJlLXNwZWNpZmljIGhlYWRlcnMgdG8gb3JpZ2luYWwvYXNtLTxhcmNoPi4KLShwbGVhc2UgZW5zdXJlIHRoYXQgdGhlc2UgYXJlIHJlYWxseSBuZWVkZWQsIGUuZy4gd2l0aCB0b29scy9maW5kX2hlYWRlcnMucHkpCi0KLWZpbmFsbHksIHJ1biB0b29scy91cGRhdGVfYWxsLnB5Ci0KKyAgICBBdXRvbWF0aWNhbGx5IHVwZGF0ZSBhbGwgY2xlYW4gaGVhZGVycyBmcm9tIHRoZSBjb250ZW50IG9mCisgICAgJ2V4dGVybmFsL2tlcm5lbC1oZWFkZXJzL29yaWdpbmFsJy4KIAogCiBIT1cgVE8gVVBEQVRFIFRIRSBIRUFERVJTIFdIRU4gTkVFREVEOgpAQCAtOTksODEgKzUzLDEzIEBACiAgIE5PVCBCUkVBSyBUSEUgS0VSTkVMIDwtPiBVU0VSIEFCSSwgRk9SIEVYQU1QTEUgQlkgQ0hBTkdJTkcgVEhFIFNJWkUKICAgT0YgQSBHSVZFTiBUWVBFLiBUSElTIFRBU0sgQ0FOTk9UIEJFIEVBU0lMWSBBVVRPTUFURUQgQVQgVEhFIE1PTUVOVAogCi1jb3B5IGFueSB1cGRhdGVkIGtlcm5lbCBoZWFkZXIgaW50byB0aGUgY29ycmVzcG9uZGluZyBsb2NhdGlvbiB1bmRlcgotJ2Jpb25pYy9rZXJuZWwvb3JpZ2luYWwnLgorR3JhYiB0aGUgbGF0ZXN0IGhlYWRlcnMgZnJvbSB0aGUgYW5kcm9pZCBrZXJuZWwgYnkgcnVubmluZyB0aGlzIGNvbW1hbmQ6CiAKLWZvciBhbnkgbmV3IGtlcm5lbCBoZWFkZXIgeW91IHdhbnQgdG8gYWRkLCBmaXJzdCBydW4gdG9vbHMvZmluZF9oZWFkZXJzLnB5IHRvIGJlCi1zdXJlIHRoYXQgaXQgaXMgcmVhbGx5IG5lZWRlZCBieSB0aGUgQW5kcm9pZCBzb3VyY2VzLiB0aGVuIGFkZCBpdCB0bwotJ2Jpb25pYy9rZXJuZWwvb3JpZ2luYWwnCisgIGJpb25pYy9rZXJuZWwvdG9vbHMvZ2VuZXJhdGVfdWFwaV9oZWFkZXJzLnNoIC0tZG93bmxvYWQta2VybmVsCiAKLXRoZW4sIHJ1biB0b29scy91cGRhdGVfYWxsLnB5IHRvIHJlLXJ1biB0aGUgYXV0by1jbGVhbmluZworTmV4dCwgcnVuIHRoaXMgY29tbWFuZCB0byBjb3B5IHRoZSBwYXJzZWQgZmlsZXMgdG8gYmlvbmljL2xpYmMva2VybmVsL3VhcGk6CiAKKyAgYmlvbmljL2tlcm5lbC90b29scy91cGRhdGVfYWxsLnB5CiAKLQotSE9XIFRIRSBDTEVBTlVQIFBST0NFU1MgV09SS1M6Ci09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLQotdGhpcyBzZWN0aW9uIGRlc2NyaWJlcyB0aGUgYWN0aW9uIHBlcmZvcm1lZCBieSB0aGUgY2xlYW51cCBwcm9ncmFtKHMpIHdoZW4gdGhleQotcHJvY2VzcyB0aGUgb3JpZ2luYWwga2VybmVsIGhlYWRlcnMgaW50byBjbGVhbiBvbmVzOgotCi0xLiBPcHRpbWl6ZSB3ZWxsLWtub3duIG1hY3JvcyAoZS5nLiBfX0tFUk5FTF9fLCBfX0tFUk5FTF9TVFJJQ1RfTkFNRVMpCi0KLSAgICB0aGlzIHBhc3MgZ2V0cyByaWQgb2YgZXZlcnl0aGluZyB0aGF0IGlzIGd1YXJkZWQgYnkgYSB3ZWxsLWtub3duIG1hY3JvCi0gICAgZGVmaW5pdGlvbi4gdGhpcyBtZWFucyB0aGF0IGEgYmxvY2sgbGlrZQotCi0gICAgICAgI2lmZGVmIF9fS0VSTkVMX18KLSAgICAgICAuLi4uCi0gICAgICAgI2VuZGlmCi0KLSAgICB3aWxsIGJlIHRvdGFsbHkgb21pdHRlZCBmcm9tIHRoZSBvdXRwdXQuIHRoZSBvcHRpbWl6ZXIgaXMgc21hcnQgZW5vdWdoIHRvCi0gICAgaGFuZGxlIGFsbCBjb21wbGV4IEMtcHJlcHJvY2Vzc29yIGNvbmRpdGlvbmFsIGV4cHJlc3Npb24gYXBwcm9wcmlhdGVseS4KLSAgICB0aGlzIG1lYW5zIHRoYXQsIGZvciBleGFtcGxlOgotCi0gICAgICAgI2lmIGRlZmluZWQoX19LRVJORUxfXykgfHwgZGVmaW5lZChGT08pCi0gICAgICAgLi4uCi0gICAgICAgI2VuZGlmCi0KLSAgICB3aWxsIGJlIHRyYW5zZm9ybWVkIGludG86Ci0KLSAgICAgICAjaWZkZWYgRk9PCi0gICAgICAgLi4uCi0gICAgICAgI2VuZGlmCi0KLSAgICBzZWUgdG9vbHMvZGVmYXVsdHMucHkgZm9yIHRoZSBsaXN0IG9mIHdlbGwta25vd24gbWFjcm9zIHVzZWQgaW4gdGhpcyBwYXNzLAotICAgIGluIGNhc2UgeW91IG5lZWQgdG8gdXBkYXRlIGl0IGluIHRoZSBmdXR1cmUuCi0KLSAgICBub3RlIHRoYXQgdGhpcyBhbHNvIHJlbW92ZSBhbnkgcmVmZXJlbmNlIHRvIGEga2VybmVsLXNwZWNpZmljIGNvbmZpZ3VyYXRpb24KLSAgICBtYWNybyBsaWtlIENPTkZJR19GT08gZnJvbSB0aGUgY2xlYW4gaGVhZGVycy4KLQotCi0yLiByZW1vdmUgdmFyaWFibGUgYW5kIGZ1bmN0aW9uIGRlY2xhcmF0aW9uczoKLQotICB0aGlzIHBhc3Mgc2NhbnMgbm9uLWRpcmVjdGl2ZSB0ZXh0IGFuZCBvbmx5IGtlZXBzIHRoaW5ncyB0aGF0IGxvb2sgbGlrZSBhCi0gIHR5cGVkZWYvc3RydWN0L3VuaW9uL2VudW0gZGVjbGFyYXRpb24uIHRoaXMgYWxsb3dzIHRvIGdldCByaWQgb2YgYW55IHZhcmlhYmxlCi0gIG9yIGZ1bmN0aW9uIGRlY2xhcmF0aW9uIHRoYXQgc2hvdWxkIG9ubHkgYmUgdXNlZCB3aXRoaW4gdGhlIGtlcm5lbCBhbnl3YXkKLSAgKGFuZCB3aGljaCBub3JtYWxseSAqc2hvdWxkKiBiZSBndWFyZGVkIGluIGEgI2lmZGVmIF9fS0VSTkVMX18gLi4uICNlbmRpZgotICBibG9jaywgaWYgdGhlIGtlcm5lbCB3cml0ZXJzIHdlcmUgbm90IHNvIG1lc3N5KQotCi0gIHRoZXJlIGFyZSBob3dldmVyIGEgZmV3IGV4Y2VwdGlvbnM6IGl0IGlzIHNlbGRvbSB1c2VmdWwgdG8ga2VlcCB0aGUgZGVmaW5pdGlvbgotICBvZiBzb21lIHN0YXRpYyBpbmxpbmUgZnVuY3Rpb25zIHBlcmZvcm1pbmcgdmVyeSBzaW1wbGUgb3BlcmF0aW9ucy4gYSBnb29kCi0gIGV4YW1wbGUgaXMgdGhlIG9wdGltaXplZCAzMi1iaXQgYnl0ZS1zd2FwIGZ1bmN0aW9uIGZvdW5kIGluCi0gIGFyY2gtYXJtL2FzbS9ieXRlb3JkZXIuaAotCi0gIHRoZSBsaXN0IG9mIGV4Y2VwdGlvbnMgaXMgaW4gdG9vbHMvZGVmYXVsdHMucHkgaW4gY2FzZSB5b3UgbmVlZCB0byB1cGRhdGUgaXQKLSAgaW4gdGhlIGZ1dHVyZS4KLQotICBub3RlIHRoYXQgd2UgZG8gKm5vdCogcmVtb3ZlIG1hY3JvIGRlZmluaXRpb25zLCBpbmNsdWRpbmcgdGhlc2UgbWFjcm8gdGhhdAotICBwZXJmb3JtIGEgY2FsbCB0byBvbmUgb2YgdGhlc2Uga2VybmVsLWhlYWRlciBmdW5jdGlvbnMsIG9yIGV2ZW4gZGVmaW5lIG90aGVyCi0gIGZ1bmN0aW9ucy4gd2UgY29uc2lkZXIgaXQgc2FmZSBzaW5jZSB1c2VybGFuZCBhcHBsaWNhdGlvbnMgaGF2ZSBubyBidXNpbmVzcwotICB1c2luZyB0aGVtIGFueXdheS4KLQotCi0zLiB3aGl0ZXNwYWNlIGNsZWFudXA6Ci0KLSAgdGhlIGZpbmFsIHBhc3MgcmVtb3ZlIGFueSBjb21tZW50cyBhbmQgZW1wdHkgbGluZXMgZnJvbSB0aGUgZmluYWwgaGVhZGVycy4KLQotCi00LiBhZGQgYSBzdGFuZGFyZCBkaXNjbGFpbWVyOgotCi0gIHByZXBlbmRlZCB0byBlYWNoIGdlbmVyYXRlZCBoZWFkZXIsIGNvbnRhaW5zIGEgbWVzc2FnZSBsaWtlCi0gICJkbyBub3QgZWRpdCBkaXJlY3RseSAtIGZpbGUgd2FzIGF1dG8tZ2VuZXJhdGVkIGJ5IC4uLi4iCitBZnRlciB0aGlzLCB5b3Ugd2lsbCBuZWVkIHRvIGJ1aWxkL3Rlc3QgdGhlIHRyZWUgdG8gbWFrZSBzdXJlIHRoYXQgdGhlc2UKK2NoYW5nZXMgZG8gbm90IGludHJvZHVjZSBhbnkgZXJyb3JzLgpkaWZmIC0tZ2l0IGEvbGliYy9rZXJuZWwvdG9vbHMvY2xlYW5faGVhZGVyLnB5IGIvbGliYy9rZXJuZWwvdG9vbHMvY2xlYW5faGVhZGVyLnB5CmluZGV4IDIzODA4N2IuLjY2MDE4MTcgMTAwNzU1Ci0tLSBhL2xpYmMva2VybmVsL3Rvb2xzL2NsZWFuX2hlYWRlci5weQorKysgYi9saWJjL2tlcm5lbC90b29scy9jbGVhbl9oZWFkZXIucHkKQEAgLTEsNSArMSw3OCBAQAogIyEvdXNyL2Jpbi9lbnYgcHl0aG9uCisKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgRGVzY3JpcHRpb24gb2YgdGhlIGhlYWRlciBjbGVhbiBwcm9jZXNzCisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIEhlcmUgaXMgdGhlIGxpc3Qgb2YgYWN0aW9ucyBwZXJmb3JtZWQgYnkgdGhpcyBzY3JpcHQgdG8gY2xlYW4gdGhlIG9yaWdpbmFsCisjIGtlcm5lbCBoZWFkZXJzLgogIworIyAxLiBPcHRpbWl6ZSB3ZWxsLWtub3duIG1hY3JvcyAoZS5nLiBfX0tFUk5FTF9fLCBfX0tFUk5FTF9TVFJJQ1RfTkFNRVMpCisjCisjICAgICBUaGlzIHBhc3MgZ2V0cyByaWQgb2YgZXZlcnl0aGluZyB0aGF0IGlzIGd1YXJkZWQgYnkgYSB3ZWxsLWtub3duIG1hY3JvCisjICAgICBkZWZpbml0aW9uLiBUaGlzIG1lYW5zIHRoYXQgYSBibG9jayBsaWtlOgorIworIyAgICAgICAgI2lmZGVmIF9fS0VSTkVMX18KKyMgICAgICAgIC4uLi4KKyMgICAgICAgICNlbmRpZgorIworIyAgICAgV2lsbCBiZSB0b3RhbGx5IG9taXR0ZWQgZnJvbSB0aGUgb3V0cHV0LiBUaGUgb3B0aW1pemVyIGlzIHNtYXJ0IGVub3VnaCB0bworIyAgICAgaGFuZGxlIGFsbCBjb21wbGV4IEMtcHJlcHJvY2Vzc29yIGNvbmRpdGlvbmFsIGV4cHJlc3Npb24gYXBwcm9wcmlhdGVseS4KKyMgICAgIFRoaXMgbWVhbnMgdGhhdCwgZm9yIGV4YW1wbGU6CisjCisjICAgICAgICAjaWYgZGVmaW5lZChfX0tFUk5FTF9fKSB8fCBkZWZpbmVkKEZPTykKKyMgICAgICAgIC4uLgorIyAgICAgICAgI2VuZGlmCisjCisjICAgICBXaWxsIGJlIHRyYW5zZm9ybWVkIGludG86CisjCisjICAgICAgICAjaWZkZWYgRk9PCisjICAgICAgICAuLi4KKyMgICAgICAgICNlbmRpZgorIworIyAgICAgU2VlIHRvb2xzL2RlZmF1bHRzLnB5IGZvciB0aGUgbGlzdCBvZiB3ZWxsLWtub3duIG1hY3JvcyB1c2VkIGluIHRoaXMgcGFzcywKKyMgICAgIGluIGNhc2UgeW91IG5lZWQgdG8gdXBkYXRlIGl0IGluIHRoZSBmdXR1cmUuCisjCisjICAgICBOb3RlIHRoYXQgdGhpcyBhbHNvIHJlbW92ZXMgYW55IHJlZmVyZW5jZSB0byBhIGtlcm5lbC1zcGVjaWZpYworIyAgICAgY29uZmlndXJhdGlvbiBtYWNybyBsaWtlIENPTkZJR19GT08gZnJvbSB0aGUgY2xlYW4gaGVhZGVycy4KKyMKKyMKKyMgMi4gUmVtb3ZlIHZhcmlhYmxlIGFuZCBmdW5jdGlvbiBkZWNsYXJhdGlvbnM6CisjCisjICAgVGhpcyBwYXNzIHNjYW5zIG5vbi1kaXJlY3RpdmUgdGV4dCBhbmQgb25seSBrZWVwcyB0aGluZ3MgdGhhdCBsb29rIGxpa2UgYQorIyAgIHR5cGVkZWYvc3RydWN0L3VuaW9uL2VudW0gZGVjbGFyYXRpb24uIFRoaXMgYWxsb3dzIHVzIHRvIGdldCByaWQgb2YgYW55CisjICAgdmFyaWFibGVzIG9yIGZ1bmN0aW9uIGRlY2xhcmF0aW9ucyB0aGF0IHNob3VsZCBvbmx5IGJlIHVzZWQgd2l0aGluIHRoZQorIyAgIGtlcm5lbCBhbnl3YXkgKGFuZCB3aGljaCBub3JtYWxseSAqc2hvdWxkKiBiZSBndWFyZGVkIGJ5IGFuICNpZmRlZgorIyAgIF9fS0VSTkVMX18gLi4uICAjZW5kaWYgYmxvY2ssIGlmIHRoZSBrZXJuZWwgd3JpdGVycyB3ZXJlIG5vdCBzbyBtZXNzeSkuCisjCisjICAgVGhlcmUgYXJlLCBob3dldmVyLCBhIGZldyBleGNlcHRpb25zOiBpdCBpcyBzZWxkb20gdXNlZnVsIHRvIGtlZXAgdGhlCisjICAgZGVmaW5pdGlvbiBvZiBzb21lIHN0YXRpYyBpbmxpbmUgZnVuY3Rpb25zIHBlcmZvcm1pbmcgdmVyeSBzaW1wbGUKKyMgICBvcGVyYXRpb25zLiBBIGdvb2QgZXhhbXBsZSBpcyB0aGUgb3B0aW1pemVkIDMyLWJpdCBieXRlLXN3YXAgZnVuY3Rpb24KKyMgICBmb3VuZCBpbjoKKyMKKyMgICAgIGFyY2gtYXJtL2FzbS9ieXRlb3JkZXIuaAorIworIyAgIFRoZSBsaXN0IG9mIGV4Y2VwdGlvbnMgaXMgaW4gdG9vbHMvZGVmYXVsdHMucHkgaW4gY2FzZSB5b3UgbmVlZCB0byB1cGRhdGUKKyMgICBpdCBpbiB0aGUgZnV0dXJlLgorIworIyAgIE5vdGUgdGhhdCB3ZSBkbyAqbm90KiByZW1vdmUgbWFjcm8gZGVmaW5pdGlvbnMsIGluY2x1ZGluZyB0aGVzZSBtYWNybyB0aGF0CisjICAgcGVyZm9ybSBhIGNhbGwgdG8gb25lIG9mIHRoZXNlIGtlcm5lbC1oZWFkZXIgZnVuY3Rpb25zLCBvciBldmVuIGRlZmluZSBvdGhlcgorIyAgIGZ1bmN0aW9ucy4gV2UgY29uc2lkZXIgaXQgc2FmZSBzaW5jZSB1c2VybGFuZCBhcHBsaWNhdGlvbnMgaGF2ZSBubyBidXNpbmVzcworIyAgIHVzaW5nIHRoZW0gYW55d2F5LgorIworIworIyAzLiBXaGl0ZXNwYWNlIGNsZWFudXA6CisjCisjICAgVGhlIGZpbmFsIHBhc3MgcmVtb3ZlcyBhbnkgY29tbWVudHMgYW5kIGVtcHR5IGxpbmVzIGZyb20gdGhlIGZpbmFsIGhlYWRlcnMuCisjCisjCisjIDQuIEFkZCBhIHN0YW5kYXJkIGRpc2NsYWltZXI6CisjCisjICAgVGhlIG1lc3NhZ2U6CisjCisjICAgLyogV0FSTklORzogRE8gTk9UIEVESVQsIEFVVE8tR0VORVJBVEVEIENPREUgLSBTRUUgVE9QIEZPUiBJTlNUUlVDVElPTlMgKi8KKyMKKyMgICBJcyBwcmVwZW5kZWQgdG8gZWFjaCBnZW5lcmF0ZWQgaGVhZGVyLgorIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogCiBpbXBvcnQgc3lzLCBjcHAsIGtlcm5lbCwgZ2xvYiwgb3MsIHJlLCBnZXRvcHQKIGZyb20gZGVmYXVsdHMgaW1wb3J0ICoKZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL3Rvb2xzL2ZpbmRfaGVhZGVycy5weSBiL2xpYmMva2VybmVsL3Rvb2xzL2ZpbmRfaGVhZGVycy5weQpkZWxldGVkIGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggOWIzNTcyYS4uMDAwMDAwMAotLS0gYS9saWJjL2tlcm5lbC90b29scy9maW5kX2hlYWRlcnMucHkKKysrIC9kZXYvbnVsbApAQCAtMSwxNzAgKzAsMCBAQAotIyEvdXNyL2Jpbi9lbnYgcHl0aG9uCi0jCi0jIHRoaXMgcHJvZ3JhbSBpcyB1c2VkIHRvIGZpbmQgc291cmNlIGNvZGUgdGhhdCBpbmNsdWRlcyBsaW51eCBrZXJuZWwgaGVhZGVycyBkaXJlY3RseQotIyAoZS5nLiB3aXRoICNpbmNsdWRlIDxsaW51eC8uLi4+IG9yICNpbmNsdWRlIDxhc20vLi4uPikKLSMKLSMgdGhlbiBpdCBsaXN0cyB0aGVtIG9uIHRoZSBzdGFuZGFyZCBvdXRwdXQuCi0KLWltcG9ydCBzeXMsIGNwcCwgZ2xvYiwgb3MsIHJlLCBnZXRvcHQsIGtlcm5lbAotZnJvbSB1dGlscyBpbXBvcnQgKgotZnJvbSBkZWZhdWx0cyBpbXBvcnQgKgotCi1wcm9ncmFtX2RpciA9IGZpbmRfcHJvZ3JhbV9kaXIoKQotCi13YW50ZWRfYXJjaHMgICA9IGtlcm5lbF9hcmNocwotd2FudGVkX2NvbmZpZyAgPSBOb25lCi0KLWRlZiB1c2FnZSgpOgotICAgIHByaW50ICIiIlwKLSAgdXNhZ2U6ICBmaW5kX2hlYWRlcnMucHkgW29wdGlvbnNdIDxrZXJuZWwtcm9vdD4gKGZpbGV8ZGlyZWN0b3J5fEBsaXN0ZmlsZSkrCi0KLSAgICAgb3B0aW9uczoKLSAgICAgICAgLWMgPGZpbGU+ICAgICAgICAgIHNwZWNpZnkgLmNvbmZpZyBmaWxlIChub25lIGJ5IGRlZmF1bHQpCi0KLSAgICAgICAgLWEgPGFyY2hzPiAgICAgICAgIHVzZWQgdG8gc3BlY2lmeSBhbiBhbHRlcm5hdGl2ZSBsaXN0Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICBvZiBhcmNoaXRlY3R1cmVzIHRvIHN1cHBvcnQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICgnJXMnIGJ5IGRlZmF1bHQpCi0KLSAgICAgICAgLXYgICAgICAgICAgICAgICAgIGVuYWJsZSB2ZXJib3NlIG1vZGUKLQotICAgIHRoaXMgcHJvZ3JhbSBpcyB1c2VkIHRvIGZpbmQgYWxsIHRoZSBrZXJuZWwgaGVhZGVycyB0aGF0IGFyZSB1c2VkCi0gICAgYnkgYSBzZXQgb2Ygc291cmNlIGZpbGVzIG9yIGRpcmVjdG9yaWVzIGNvbnRhaW5pbmcgdGhlbS4gdGhlIHNlYXJjaAotICAgIGlzIHJlY3Vyc2l2ZSB0byBmaW5kICphbGwqIHJlcXVpcmVkIGZpbGVzLgotCi0iIiIgJSAoIHN0cmluZy5qb2luKGtlcm5lbF9hcmNocywiLCIpICkKLSAgICBzeXMuZXhpdCgxKQotCi0KLXRyeToKLSAgICBvcHRsaXN0LCBhcmdzID0gZ2V0b3B0LmdldG9wdCggc3lzLmFyZ3ZbMTpdLCAndmM6ZDphOms6JyApCi1leGNlcHQ6Ci0gICAgIyB1bnJlY29nbml6ZWQgb3B0aW9uCi0gICAgcHJpbnQgImVycm9yOiB1bnJlY29nbml6ZWQgb3B0aW9uIgotICAgIHVzYWdlKCkKLQotZm9yIG9wdCwgYXJnIGluIG9wdGxpc3Q6Ci0gICAgaWYgb3B0ID09ICctYSc6Ci0gICAgICAgIHdhbnRlZF9hcmNocyA9IHN0cmluZy5zcGxpdChhcmcsJywnKQotICAgIGVsaWYgb3B0ID09ICctYyc6Ci0gICAgICAgIHdhbnRlZF9jb25maWcgPSBhcmcKLSAgICBlbGlmIG9wdCA9PSAnLXYnOgotICAgICAgICBrZXJuZWwudmVyYm9zZVNlYXJjaCA9IDEKLSAgICAgICAga2VybmVsLnZlcmJvc2VGaW5kICAgPSAxCi0gICAgICAgIHZlcmJvc2UgPSAxCi0gICAgZWxzZToKLSAgICAgICAgdXNhZ2UoKQotCi1pZiBsZW4oYXJncykgPCAyOgotICAgIHVzYWdlKCkKLQota2VybmVsX3Jvb3QgPSBhcmdzWzBdCi1pZiBub3Qgb3MucGF0aC5leGlzdHMoa2VybmVsX3Jvb3QpOgotICAgIHN5cy5zdGRlcnIud3JpdGUoICJlcnJvcjogZGlyZWN0b3J5ICclcycgZG9lcyBub3QgZXhpc3RcbiIgJSBrZXJuZWxfcm9vdCApCi0gICAgc3lzLmV4aXQoMSkKLQotaWYgbm90IG9zLnBhdGguaXNkaXIoa2VybmVsX3Jvb3QpOgotICAgIHN5cy5zdGRlcnIud3JpdGUoICJlcnJvcjogJyVzJyBpcyBub3QgYSBkaXJlY3RvcnlcbiIgJSBrZXJuZWxfcm9vdCApCi0gICAgc3lzLmV4aXQoMSkKLQotaWYgbm90IG9zLnBhdGguaXNkaXIoa2VybmVsX3Jvb3QrIi9pbmNsdWRlL2xpbnV4Iik6Ci0gICAgc3lzLnN0ZGVyci53cml0ZSggImVycm9yOiAnJXMnIGRvZXMgbm90IGhhdmUgYW4gJ2luY2x1ZGUvbGludXgnIGRpcmVjdG9yeVxuIiAlIGtlcm5lbF9yb290ICkKLSAgICBzeXMuZXhpdCgxKQotCi1pZiB3YW50ZWRfY29uZmlnOgotICAgIGlmIG5vdCBvcy5wYXRoLmV4aXN0cyh3YW50ZWRfY29uZmlnKToKLSAgICAgICAgc3lzLnN0ZGVyci53cml0ZSggImVycm9yOiBmaWxlICclcycgZG9lcyBub3QgZXhpc3RcbiIgJSB3YW50ZWRfY29uZmlnICkKLSAgICAgICAgc3lzLmV4aXQoMSkKLQotICAgIGlmIG5vdCBvcy5wYXRoLmlzZmlsZSh3YW50ZWRfY29uZmlnKToKLSAgICAgICAgc3lzLnN0ZGVyci53cml0ZSggImVycm9yOiAnJXMnIGlzIG5vdCBhIGZpbGVcbiIgJSB3YW50ZWRfY29uZmlnICkKLSAgICAgICAgc3lzLmV4aXQoMSkKLQotIyBmaW5kIGFsbCBhcmNoaXRlY3R1cmVzIGluIHRoZSBrZXJuZWwgdHJlZQotYXJjaHMgICA9IFtdCi1mb3IgYXJjaGRpciBpbiBvcy5saXN0ZGlyKGtlcm5lbF9yb290KyIvYXJjaCIpOgotICAgIGlmIG9zLnBhdGguZXhpc3RzKCIlcy9hcmNoLyVzL2luY2x1ZGUvYXNtIiAlIChrZXJuZWxfcm9vdCwgYXJjaGRpcikpOgotICAgICAgICBpZiB2ZXJib3NlOgotICAgICAgICAgICAgcHJpbnQgIkZvdW5kIGFyY2ggJyVzJyIgJSBhcmNoZGlyCi0gICAgICAgIGFyY2hzLmFwcGVuZChhcmNoZGlyKQotCi0jIGlmIHdlJ3JlIHVzaW5nIHRoZSAna2VybmVsX2hlYWRlcnMnIGRpcmVjdG9yeSwgdGhlcmUgaXMgb25seSBhc20vCi0jIGFuZCBubyBvdGhlciBhc20tPGFyY2g+IGRpcmVjdG9yaWVzCi0jCi1pbl9rZXJuZWxfaGVhZGVycyA9IEZhbHNlCi1pZiBsZW4oYXJjaHMpID09IDA6Ci0gICAgIyB0aGlzIGNhbiBoYXBwZW4gd2hlbiB3ZSdyZSB1c2luZyB0aGUgJ2tlcm5lbF9oZWFkZXJzJyBkaXJlY3RvcnkKLSAgICBpZiBvcy5wYXRoLmlzZGlyKGtlcm5lbF9yb290KyIvYXNtIik6Ci0gICAgICAgIGluX2tlcm5lbF9oZWFkZXJzID0gVHJ1ZQotICAgICAgICBhcmNocyA9IFsgImFybSIsICJtaXBzIl0KLQotIyBpZiB0aGUgdXNlciBoYXMgc3BlY2lmaWVkIHNvbWUgYXJjaGl0ZWN0dXJlcyB3aXRoIC1hIDxhcmNocz4gZW5zdXJlIHRoYXQKLSMgYWxsIHRob3NlIGhlIHdhbnRzIGFyZSBhdmFpbGFibGUgZnJvbSB0aGUga2VybmVsIGluY2x1ZGUgdHJlZQotaWYgd2FudGVkX2FyY2hzICE9IE5vbmU6Ci0gICAgaWYgaW5fa2VybmVsX2hlYWRlcnMgYW5kIHdhbnRlZF9hcmNocyAhPSBbICJhcm0iLCAibWlwcyIgXToKLSAgICAgICAgc3lzLnN0ZGVyci53cml0ZSggImVycm9yOiB3aGVuIHBhcnNpbmcga2VybmVsX2hlYWRlcnMsIG9ubHkgJ2FybScgYW5kICdtaXBzJyBhcmNoaXRlY3R1cmVzIGFyZSBzdXBwb3J0ZWQgYXQgdGhlIG1vbWVudFxuIiApCi0gICAgICAgIHN5cy5leGl0KDEpCi0gICAgbWlzc2luZyA9IFtdCi0gICAgZm9yIGFyY2ggaW4gd2FudGVkX2FyY2hzOgotICAgICAgICBpZiBhcmNoIG5vdCBpbiBhcmNoczoKLSAgICAgICAgICAgIG1pc3NpbmcuYXBwZW5kKGFyY2gpCi0gICAgaWYgbGVuKG1pc3NpbmcpID4gMDoKLSAgICAgICAgc3lzLnN0ZGVyci53cml0ZSggImVycm9yOiB0aGUgZm9sbG93aW5nIHJlcXVlc3RlZCBhcmNoaXRlY3R1cmVzIGFyZSBub3QgaW4gdGhlIGtlcm5lbCB0cmVlOiAiICkKLSAgICAgICAgZm9yIGEgaW4gbWlzc2luZzoKLSAgICAgICAgICAgIHN5cy5zdGRlcnIud3JpdGUoICIgJXMiICUgYSApCi0gICAgICAgIHN5cy5zdGRlcnIud3JpdGUoICJcbiIgKQotICAgICAgICBzeXMuZXhpdCgxKQotCi0gICAgYXJjaHMgPSB3YW50ZWRfYXJjaHMKLQotIyBoZWxwZXIgZnVuY3Rpb24gdXNlZCB0byB3YWxrIHRoZSB1c2VyIGZpbGVzCi1kZWYgcGFyc2VfZmlsZShwYXRoLCBwYXJzZXIpOgotICAgICNwcmludCAicGFyc2UgJXMiICUgcGF0aAotICAgIHBhcnNlci5wYXJzZUZpbGUocGF0aCkKLQotCi0jIHJlbW92ZSBwcmV2aW91cyBkZXN0aW5hdGlvbiBkaXJlY3RvcnkKLSNkZXN0ZGlyID0gIi90bXAvYmlvbmljLWtlcm5lbC1oZWFkZXJzLyIKLSNjbGVhbnVwX2RpcihkZXN0ZGlyKQotCi0jIHRyeSB0byByZWFkIHRoZSBjb25maWcgZmlsZQotdHJ5OgotICAgIGNwYXJzZXIgPSBrZXJuZWwuQ29uZmlnUGFyc2VyKCkKLSAgICBpZiB3YW50ZWRfY29uZmlnOgotICAgICAgICBjcGFyc2VyLnBhcnNlRmlsZSggd2FudGVkX2NvbmZpZyApCi1leGNlcHQ6Ci0gICAgc3lzLnN0ZGVyci53cml0ZSggImVycm9yOiBjYW4ndCBwYXJzZSAnJXMnIiAlIHdhbnRlZF9jb25maWcgKQotICAgIHN5cy5leGl0KDEpCi0KLWtlcm5lbF9jb25maWcgPSBjcGFyc2VyLmdldERlZmluaXRpb25zKCkKLQotIyBmaXJzdCwgb2J0YWluIHRoZSBsaXN0IG9mIGtlcm5lbCBmaWxlcyB1c2VkIGJ5IG91ciBjbGllbnRzCi1mcGFyc2VyID0ga2VybmVsLkhlYWRlclNjYW5uZXIoKQotZGlyX2V4Y2x1ZGVzPVsiLnJlcG8iLCJleHRlcm5hbC9rZXJuZWwtaGVhZGVycyIsIm5kayIsIm91dCIsInByZWJ1aWx0IiwiYmlvbmljL2xpYmMva2VybmVsIiwiZGV2ZWxvcG1lbnQvbmRrIiwiZXh0ZXJuYWwvcWVtdS9kaXN0cmliIl0KLXdhbGtfc291cmNlX2ZpbGVzKCBhcmdzWzE6XSwgcGFyc2VfZmlsZSwgZnBhcnNlciwgZXhjbHVkZXM9WyIuLyIrZiBmb3IgZiBpbiBkaXJfZXhjbHVkZXNdICkKLWhlYWRlcnMgPSBmcGFyc2VyLmdldEhlYWRlcnMoKQotZmlsZXMgICA9IGZwYXJzZXIuZ2V0RmlsZXMoKQotCi0jIG5vdyByZWN1cnNpdmVseSBzY2FuIHRoZSBrZXJuZWwgaGVhZGVycyBmb3IgYWRkaXRpb25uYWwgc3ViLWluY2x1ZGVkIGhlYWRlcnMKLWhwYXJzZXIgPSBrZXJuZWwuS2VybmVsSGVhZGVyRmluZGVyKGhlYWRlcnMsYXJjaHMsa2VybmVsX3Jvb3Qsa2VybmVsX2NvbmZpZykKLWhlYWRlcnMgPSBocGFyc2VyLnNjYW5Gb3JBbGxBcmNocygpCi0KLWlmIDA6ICAgICMganVzdCBmb3IgZGVidWdnaW5nCi0gICAgZHVtcEhlYWRlclVzZXJzID0gRmFsc2UKLQotICAgIHByaW50ICJ0aGUgZm9sbG93aW5nICVkIGhlYWRlcnM6IiAlIGxlbihoZWFkZXJzKQotICAgIGZvciBoIGluIHNvcnRlZChoZWFkZXJzKToKLSAgICAgICAgaWYgZHVtcEhlYWRlclVzZXJzOgotICAgICAgICAgICAgcHJpbnQgIiAgJXMgKCVzKSIgJSAoaCwgcmVwcihocGFyc2VyLmdldEhlYWRlclVzZXJzKGgpKSkKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIHByaW50ICIgICVzIiAlIGgKLQotICAgIHByaW50ICJhcmUgdXNlZCBieSB0aGUgZm9sbG93aW5nICVkIGZpbGVzOiIgJSBsZW4oZmlsZXMpCi0gICAgZm9yIGYgaW4gc29ydGVkKGZpbGVzKToKLSAgICAgICAgcHJpbnQgIiAgJXMiICUgZgotCi0gICAgc3lzLmV4aXQoMCkKLQotZm9yIGggaW4gc29ydGVkKGhlYWRlcnMpOgotICAgIHByaW50ICIlcyIgJSBoCi0KLXN5cy5leGl0KDApCmRpZmYgLS1naXQgYS9saWJjL2tlcm5lbC90b29scy9maW5kX3VzZXJzLnB5IGIvbGliYy9rZXJuZWwvdG9vbHMvZmluZF91c2Vycy5weQpkZWxldGVkIGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggNWVlMzA4Yy4uMDAwMDAwMAotLS0gYS9saWJjL2tlcm5lbC90b29scy9maW5kX3VzZXJzLnB5CisrKyAvZGV2L251bGwKQEAgLTEsNjMgKzAsMCBAQAotIyEvdXNyL2Jpbi9lbnYgcHl0aG9uCi0jCi0jIHRoaXMgcHJvZ3JhbSBpcyB1c2VkIHRvIGZpbmQgc291cmNlIGNvZGUgdGhhdCBpbmNsdWRlcyBsaW51eCBrZXJuZWwgaGVhZGVycyBkaXJlY3RseQotIyAoZS5nLiB3aXRoICNpbmNsdWRlIDxsaW51eC8uLi4+IG9yICNpbmNsdWRlIDxhc20vLi4uPikKLSMKLSMgdGhlbiBpdCBsaXN0cwotCi1pbXBvcnQgc3lzLCBjcHAsIGdsb2IsIG9zLCByZSwgZ2V0b3B0Ci1pbXBvcnQga2VybmVsCi1mcm9tIHV0aWxzIGltcG9ydCAqCi1mcm9tIGRlZmF1bHRzIGltcG9ydCAqCi0KLQotZGVmIHVzYWdlKCk6Ci0gICAgcHJpbnQgIiIiXAotICB1c2FnZTogIGZpbmRfdXNlcnMucHkgWy12XSAoZmlsZXxkaXJlY3Rvcnl8QGxpc3RmaWxlKSsKLQotICAgIHRoaXMgcHJvZ3JhbSBpcyB1c2VkIHRvIHNjYW4gYSBsaXN0IG9mIGZpbGVzIG9yIGRpcmVjdG9yaWVzIGZvcgotICAgIHNvdXJjZXMgdGhhdCBpbmNsdWRlIGtlcm5lbCBoZWFkZXJzIGRpcmVjdGx5LiB0aGUgcHJvZ3JhbSBwcmludHMKLSAgICB0aGUgbGlzdCBvZiBzYWlkIHNvdXJjZSBmaWxlcyB3aGVuIGl0J3MgZG9uZS4KLQotICAgIHdoZW4gc2Nhbm5pbmcgZGlyZWN0b3JpZXMsIG9ubHkgZmlsZXMgbWF0Y2hpbmcgdGhlIGZvbGxvd2luZwotICAgIGV4dGVuc2lvbiB3aWxsIGJlIHNlYXJjaGVkOiAuYyAuY3BwIC5TIC5oCi0KLSAgICB1c2UgLXYgdG8gZW5hYmxlIHZlcmJvc2Ugb3V0cHV0Ci0iIiIKLSAgICBzeXMuZXhpdCgxKQotCi0KLXRyeToKLSAgICBvcHRsaXN0LCBhcmdzID0gZ2V0b3B0LmdldG9wdCggc3lzLmFyZ3ZbMTpdLCAndicgKQotZXhjZXB0OgotICAgICMgdW5yZWNvZ25pemVkIG9wdGlvbgotICAgIHByaW50ICJlcnJvcjogdW5yZWNvZ25pemVkIG9wdGlvbiIKLSAgICB1c2FnZSgpCi0KLWZvciBvcHQsIGFyZyBpbiBvcHRsaXN0OgotICAgIGlmIG9wdCA9PSAnLXYnOgotICAgICAgICBrZXJuZWwudmVyYm9zZVNlYXJjaCA9IDEKLSAgICAgICAga2VybmVsLnZlcmJvc2VGaW5kICAgPSAxCi0gICAgZWxzZToKLSAgICAgICAgdXNhZ2UoKQotCi1pZiBsZW4oYXJncykgPCAxOgotICAgIHVzYWdlKCkKLQotIyBoZWxwZXIgZnVuY3Rpb24gdXNlZCB0byB3YWxrIHRoZSB1c2VyIGZpbGVzCi1kZWYgcGFyc2VfZmlsZShwYXRoLCBwYXJzZXIpOgotICAgIHBhcnNlci5wYXJzZUZpbGUocGF0aCkKLQotCi0jIGZpcnN0LCBvYnRhaW4gdGhlIGxpc3Qgb2Yga2VybmVsIGZpbGVzIHVzZWQgYnkgb3VyIGNsaWVudHMKLSMgYXZvaWQgcGFyc2luZyB0aGUgJ2tlcm5lbF9oZWFkZXJzJyBkaXJlY3RvcnkgaXRzZWxmIHNpbmNlIHdlCi0jIHVzZSB0aGlzIHByb2dyYW0gd2l0aCB0aGUgQW5kcm9pZCBzb3VyY2UgdHJlZSBieSBkZWZhdWx0LgotIwotZnBhcnNlciA9IGtlcm5lbC5IZWFkZXJTY2FubmVyKCkKLXdhbGtfc291cmNlX2ZpbGVzKCBhcmdzLCBwYXJzZV9maWxlLCBmcGFyc2VyLCBleGNsdWRlcz1bImtlcm5lbF9oZWFkZXJzIiwib3JpZ2luYWwiXSApCi1maWxlcyAgID0gZnBhcnNlci5nZXRGaWxlcygpCi0KLWZvciBmIGluIHNvcnRlZChmaWxlcyk6Ci0gICAgcHJpbnQgZgotCi1zeXMuZXhpdCgwKQpkaWZmIC0tZ2l0IGEvbGliYy90b29scy9jaGVjay1zeW1ib2xzLWdsaWJjLnB5IGIvbGliYy90b29scy9jaGVjay1zeW1ib2xzLWdsaWJjLnB5CmluZGV4IDkxM2IyMGIuLmQwZTAwZjMgMTAwNzU1Ci0tLSBhL2xpYmMvdG9vbHMvY2hlY2stc3ltYm9scy1nbGliYy5weQorKysgYi9saWJjL3Rvb2xzL2NoZWNrLXN5bWJvbHMtZ2xpYmMucHkKQEAgLTk2LDcgKzk2LDExIEBACiBdKQogIyBTb21lIHN0YW5kYXJkIHN0dWZmIGlzbid0IHlldCBpbiB0aGUgdmVyc2lvbnMgb2YgZ2xpYmMgd2UncmUgdXNpbmcuCiBzdGRfc3R1ZmYgPSBzZXQoWwotICAnYXRfcXVpY2tfZXhpdCcKKyAgJ2F0X3F1aWNrX2V4aXQnLAorICAnYzE2cnRvbWInLAorICAnYzMycnRvbWInLAorICAnbWJydG9jMTYnLAorICAnbWJydG9jMzInLAogXSkKICMgVGhlc2UgaGF2ZSBtYW5nbGVkIG5hbWVzIGluIGdsaWJjLCB3aXRoIGEgbWFjcm8gdGFraW5nIHRoZSAib2J2aW91cyIgbmFtZS4KIHdlaXJkX3N0dWZmID0gc2V0KFsKZGlmZiAtLWdpdCBhL2xpYmMvdG9vbHMvZ2Vuc3lzY2FsbHMucHkgYi9saWJjL3Rvb2xzL2dlbnN5c2NhbGxzLnB5CmluZGV4IGEzNGI3NjMuLjk2NTgzZDYgMTAwNzU1Ci0tLSBhL2xpYmMvdG9vbHMvZ2Vuc3lzY2FsbHMucHkKKysrIGIvbGliYy90b29scy9nZW5zeXNjYWxscy5weQpAQCAtOTUsMjAgKzk1LDkgQEAKICMKIAogYXJtNjRfY2FsbCA9IHN5c2NhbGxfc3R1Yl9oZWFkZXIgKyAiIiJcCi0gICAgc3RwICAgICB4MjksIHgzMCwgW3NwLCAjLTE2XSEKLSAgICAuY2ZpX2RlZl9jZmFfb2Zmc2V0IDE2Ci0gICAgLmNmaV9yZWxfb2Zmc2V0IHgyOSwgMAotICAgIC5jZmlfcmVsX29mZnNldCB4MzAsIDgKLSAgICBtb3YgICAgIHgyOSwgIHNwCi0KICAgICBtb3YgICAgIHg4LCAlKF9fTlJfbmFtZSlzCiAgICAgc3ZjICAgICAjMAogCi0gICAgbGRwICAgICB4MjksIHgzMCwgW3NwXSwgIzE2Ci0gICAgLmNmaV9kZWZfY2ZhX29mZnNldCAwCi0gICAgLmNmaV9yZXN0b3JlIHgyOQotICAgIC5jZmlfcmVzdG9yZSB4MzAKLQogICAgIGNtbiAgICAgeDAsICMoTUFYX0VSUk5PICsgMSkKICAgICBjbmVnICAgIHgwLCB4MCwgaGkKICAgICBiLmhpICAgIF9fc2V0X2Vycm5vCmRpZmYgLS1naXQgYS9saWJjL3VuaXN0ZC9zeXNsb2cuYyBiL2xpYmMvdW5pc3RkL3N5c2xvZy5jCmluZGV4IDc4Nzg0NzUuLjMzOWRmNjggMTAwNjQ0Ci0tLSBhL2xpYmMvdW5pc3RkL3N5c2xvZy5jCisrKyBiL2xpYmMvdW5pc3RkL3N5c2xvZy5jCkBAIC00NCw2ICs0NCwxOCBAQAogI2luY2x1ZGUgPHVuaXN0ZC5oPgogI2luY2x1ZGUgPHN0ZGFyZy5oPgogCitzdHJ1Y3Qgc3lzbG9nX2RhdGEgeworICBpbnQgbG9nX2ZpbGU7CisgIGludCBjb25uZWN0ZWQ7CisgIGludCBvcGVuZWQ7CisgIGludCBsb2dfc3RhdDsKKyAgY29uc3QgY2hhciogbG9nX3RhZzsKKyAgaW50IGxvZ19mYWM7CisgIGludCBsb2dfbWFzazsKK307CisKKyNkZWZpbmUgU1lTTE9HX0RBVEFfSU5JVCB7LTEsIDAsIDAsIDAsIChjb25zdCBjaGFyICopMCwgTE9HX1VTRVIsIDB4ZmZ9CisKIHN0YXRpYyBzdHJ1Y3Qgc3lzbG9nX2RhdGEgc2RhdGEgPSBTWVNMT0dfREFUQV9JTklUOwogCiBleHRlcm4gY29uc3QgY2hhcgkqX19wcm9nbmFtZTsJCS8qIFByb2dyYW0gbmFtZSwgZnJvbSBjcnQwLiAqLwpAQCAtNTEsNiArNjMsMTggQEAKIHN0YXRpYyB2b2lkCWRpc2Nvbm5lY3Rsb2dfcihzdHJ1Y3Qgc3lzbG9nX2RhdGEgKik7CS8qIGRpc2Nvbm5lY3QgZnJvbSBzeXNsb2dkICovCiBzdGF0aWMgdm9pZAljb25uZWN0bG9nX3Ioc3RydWN0IHN5c2xvZ19kYXRhICopOwkvKiAocmUpY29ubmVjdCB0byBzeXNsb2dkICovCiAKKyNpZiBkZWZpbmVkKF9fTFA2NF9fKQorI2RlZmluZSBTWVNMT0dfUl9WSVNJQklMSVRZIHN0YXRpYworI2Vsc2UKKyNkZWZpbmUgU1lTTE9HX1JfVklTSUJJTElUWSBleHRlcm4KKyNlbmRpZgorCitTWVNMT0dfUl9WSVNJQklMSVRZIHZvaWQgY2xvc2Vsb2dfcihzdHJ1Y3Qgc3lzbG9nX2RhdGEqKTsKK1NZU0xPR19SX1ZJU0lCSUxJVFkgdm9pZCBvcGVubG9nX3IoY29uc3QgY2hhciosIGludCwgaW50LCBzdHJ1Y3Qgc3lzbG9nX2RhdGEqKTsKK1NZU0xPR19SX1ZJU0lCSUxJVFkgaW50IHNldGxvZ21hc2tfcihpbnQsIHN0cnVjdCBzeXNsb2dfZGF0YSopOworU1lTTE9HX1JfVklTSUJJTElUWSB2b2lkIHN5c2xvZ19yKGludCwgc3RydWN0IHN5c2xvZ19kYXRhKiwgY29uc3QgY2hhciosIC4uLikgX19wcmludGZsaWtlKDMsIDQpOworU1lTTE9HX1JfVklTSUJJTElUWSB2b2lkIHZzeXNsb2dfcihpbnQsIHN0cnVjdCBzeXNsb2dfZGF0YSosIGNvbnN0IGNoYXIqLCB2YV9saXN0KSBfX3ByaW50Zmxpa2UoMywgMCk7CisKIC8qCiAgKiBzeXNsb2csIHZzeXNsb2cgLS0KICAqCXByaW50IG1lc3NhZ2Ugb24gbG9nIGZpbGU7IG91dHB1dCBpcyBpbnRlbmRlZCBmb3Igc3lzbG9nZCg4KS4KQEAgLTE1Nyw3ICsxODEsNyBAQAogCXBybGVuID0gc25wcmludGYocCwgdGJ1Zl9sZWZ0LCAiPCVkPiIsIHByaSk7CiAJREVDKCk7CiAKLQkvKiAKKwkvKgogCSAqIHN5c2xvZ2Qgd2lsbCBleHBhbmQgdGltZSBhdXRvbWFnaWNhbGx5IGZvciByZWVudHJhbnQgY2FzZSwgYW5kCiAJICogZm9yIG5vcm1hbCBjYXNlLCBqdXN0IGRvIGxpa2UgYmVmb3JlCiAJICovCkBAIC0xOTYsMTAgKzIyMCwxMCBAQAogCQkJKytmbXQ7CiAJCQlpZiAoZGF0YSA9PSAmc2RhdGEpIHsKIAkJCQlwcmxlbiA9IHNucHJpbnRmKHQsIGZtdF9sZWZ0LCAiJXMiLAotCQkJCSAgICBzdHJlcnJvcihzYXZlZF9lcnJubykpOyAKKwkJCQkgICAgc3RyZXJyb3Ioc2F2ZWRfZXJybm8pKTsKIAkJCX0gZWxzZSB7CiAJCQkJcHJsZW4gPSBzbnByaW50Zih0LCBmbXRfbGVmdCwgIkVycm9yICVkIiwKLQkJCQkgICAgc2F2ZWRfZXJybm8pOyAKKwkJCQkgICAgc2F2ZWRfZXJybm8pOwogCQkJfQogCQkJaWYgKHBybGVuIDwgMCkKIAkJCQlwcmxlbiA9IDA7CkBAIC0yNjksNyArMjkzLDcgQEAKIAlpZiAoZXJyb3IgPT0gLTEgJiYgKGRhdGEtPmxvZ19zdGF0ICYgTE9HX0NPTlMpICYmCiAJICAgIChmZCA9IG9wZW4oX1BBVEhfQ09OU09MRSwgT19XUk9OTFl8T19OT05CTE9DSywgMCkpID49IDApIHsKIAkJc3RydWN0IGlvdmVjIGlvdlsyXTsKLQkJCisKIAkJcCA9IHN0cmNocih0YnVmLCAnPicpICsgMTsKIAkJaW92WzBdLmlvdl9iYXNlID0gcDsKIAkJaW92WzBdLmlvdl9sZW4gPSBjbnQgLSAocCAtIHRidWYpOwpkaWZmIC0tZ2l0IGEvbGliYy91cHN0cmVhbS1uZXRic2QvYW5kcm9pZC9pbmNsdWRlL3JhbmQ0OC5oIGIvbGliYy91cHN0cmVhbS1uZXRic2QvYW5kcm9pZC9pbmNsdWRlL3JhbmQ0OC5oCmluZGV4IDFhZDhiMGQuLjEyNzk5MDYgMTAwNjQ0Ci0tLSBhL2xpYmMvdXBzdHJlYW0tbmV0YnNkL2FuZHJvaWQvaW5jbHVkZS9yYW5kNDguaAorKysgYi9saWJjL3Vwc3RyZWFtLW5ldGJzZC9hbmRyb2lkL2luY2x1ZGUvcmFuZDQ4LmgKQEAgLTE4LDEwICsxOCwxMCBAQAogCiAjaW5jbHVkZSA8c3RkbGliLmg+CiAKLWV4dGVybiB2b2lkCQlfX2RvcmFuZDQ4KHVuc2lnbmVkIHNob3J0WzNdKTsKLWV4dGVybiB1bnNpZ25lZCBzaG9ydAlfX3JhbmQ0OF9zZWVkWzNdOwotZXh0ZXJuIHVuc2lnbmVkIHNob3J0CV9fcmFuZDQ4X211bHRbM107Ci1leHRlcm4gdW5zaWduZWQgc2hvcnQJX19yYW5kNDhfYWRkOworX19MSUJDX0hJRERFTl9fIHZvaWQJCV9fZG9yYW5kNDgodW5zaWduZWQgc2hvcnRbM10pOworX19MSUJDX0hJRERFTl9fIHVuc2lnbmVkIHNob3J0CV9fcmFuZDQ4X3NlZWRbM107CitfX0xJQkNfSElEREVOX18gdW5zaWduZWQgc2hvcnQJX19yYW5kNDhfbXVsdFszXTsKK19fTElCQ19ISURERU5fXyB1bnNpZ25lZCBzaG9ydAlfX3JhbmQ0OF9hZGQ7CiAKICNkZWZpbmUJUkFORDQ4X1NFRURfMAkoMHgzMzBlKQogI2RlZmluZQlSQU5ENDhfU0VFRF8xCSgweGFiY2QpCmRpZmYgLS1naXQgYS9saWJjL3Vwc3RyZWFtLW5ldGJzZC9saWIvbGliYy9nZW4vc2V0am1wZXJyLmMgYi9saWJjL3Vwc3RyZWFtLW5ldGJzZC9saWIvbGliYy9nZW4vc2V0am1wZXJyLmMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDViMTQzMmUuLjAwMDAwMDAKLS0tIGEvbGliYy91cHN0cmVhbS1uZXRic2QvbGliL2xpYmMvZ2VuL3NldGptcGVyci5jCisrKyAvZGV2L251bGwKQEAgLTEsNTYgKzAsMCBAQAotLyoJJE5ldEJTRDogc2V0am1wZXJyLmMsdiAxLjggMjAxMi8wNi8yNCAxNToyNjowMyBjaHJpc3RvcyBFeHAgJAkqLwotCi0vKgotICogQ29weXJpZ2h0IChjKSAxOTgwLCAxOTkzCi0gKglUaGUgUmVnZW50cyBvZiB0aGUgVW5pdmVyc2l0eSBvZiBDYWxpZm9ybmlhLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqIDMuIE5laXRoZXIgdGhlIG5hbWUgb2YgdGhlIFVuaXZlcnNpdHkgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzCi0gKiAgICBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUKLSAqICAgIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIFJFR0VOVFMgQU5EIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5ECi0gKiBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFCi0gKiBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBSRUdFTlRTIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKLSAqIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMCi0gKiBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUwotICogT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pCi0gKiBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVAotICogTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWQotICogT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRgotICogU1VDSCBEQU1BR0UuCi0gKi8KLQotI2luY2x1ZGUgPHN5cy9jZGVmcy5oPgotI2lmIGRlZmluZWQoTElCQ19TQ0NTKSAmJiAhZGVmaW5lZChsaW50KQotI2lmIDAKLXN0YXRpYyBjaGFyIHNjY3NpZFtdID0gIkAoIylzZXRqbXBlcnIuYwk4LjEgKEJlcmtlbGV5KSA2LzQvOTMiOwotI2Vsc2UKLV9fUkNTSUQoIiROZXRCU0Q6IHNldGptcGVyci5jLHYgMS44IDIwMTIvMDYvMjQgMTU6MjY6MDMgY2hyaXN0b3MgRXhwICQiKTsKLSNlbmRpZgotI2VuZGlmIC8qIExJQkNfU0NDUyBhbmQgbm90IGxpbnQgKi8KLQotLyoKLSAqIFRoaXMgcm91dGluZSBpcyBjYWxsZWQgZnJvbSBsb25nam1wKCkgd2hlbiBhbiBlcnJvciBvY2N1cnMuCi0gKiBQcm9ncmFtcyB0aGF0IHdpc2ggdG8gZXhpdCBncmFjZWZ1bGx5IGZyb20gdGhpcyBlcnJvciBtYXkKLSAqIHdyaXRlIHRoZWlyIG93biB2ZXJzaW9ucy4KLSAqIElmIHRoaXMgcm91dGluZSByZXR1cm5zLCB0aGUgcHJvZ3JhbSBpcyBhYm9ydGVkLgotICovCi0KLSNpbmNsdWRlIDxzZXRqbXAuaD4KLSNpbmNsdWRlIDx1bmlzdGQuaD4KLQotdm9pZAotbG9uZ2ptcGVycm9yKHZvaWQpCi17Ci0jZGVmaW5lCUVSUk1TRwkibG9uZ2ptcCBib3RjaC5cbiIKLQkodm9pZCl3cml0ZShTVERFUlJfRklMRU5PLCBFUlJNU0csIHNpemVvZihFUlJNU0cpIC0gMSk7Ci19CmRpZmYgLS1naXQgYS9saWJtL2FtZDY0L2ZlbnYuYyBiL2xpYm0vYW1kNjQvZmVudi5jCmluZGV4IGIwNThkZTIuLjRiMjRmZjkgMTAwNzU1Ci0tLSBhL2xpYm0vYW1kNjQvZmVudi5jCisrKyBiL2xpYm0vYW1kNjQvZmVudi5jCkBAIC0zMCw2ICszMCwxNSBAQAogI2luY2x1ZGUgPGZlbnYuaD4KICNpbmNsdWRlIDxtYWNoaW5lL2ZwdS5oPgogCisjZGVmaW5lIFNTRV9NQVNLX1NISUZUIDcKKworLyoKKyAqIFRoZSBmb2xsb3dpbmcgc3ltYm9sIGlzIHNpbXBseSB0aGUgYml0d2lzZS1pbmNsdXNpdmUgT1Igb2YgYWxsIGZsb2F0aW5nLXBvaW50CisgKiByb3VuZGluZyBkaXJlY3Rpb24gY29uc3RhbnRzIGRlZmluZWQgYWJvdmUuCisgKi8KKyNkZWZpbmUgWDg3X1JPVU5EX01BU0sgIChGRV9UT05FQVJFU1QgfCBGRV9ET1dOV0FSRCB8IEZFX1VQV0FSRCB8IEZFX1RPV0FSRFpFUk8pCisjZGVmaW5lIFNTRV9ST1VORF9TSElGVCAzCisKIC8qCiAgKiBUaGUgZm9sbG93aW5nIGNvbnN0YW50IHJlcHJlc2VudHMgdGhlIGRlZmF1bHQgZmxvYXRpbmctcG9pbnQgZW52aXJvbm1lbnQKICAqICh0aGF0IGlzLCB0aGUgb25lIGluc3RhbGxlZCBhdCBwcm9ncmFtIHN0YXJ0dXApIGFuZCBoYXMgdHlwZSBwb2ludGVyIHRvCkBAIC0yMDMsNyArMjEyLDcgQEAKICAgICovCiAgIF9fYXNtX18gX192b2xhdGlsZV9fICgiZm5zdGN3ICUwIiA6ICI9bSIgKGNvbnRyb2wpKTsKIAotICByZXR1cm4gKGNvbnRyb2wgJiBfWDg3X1JPVU5EX01BU0spOworICByZXR1cm4gKGNvbnRyb2wgJiBYODdfUk9VTkRfTUFTSyk7CiB9CiAKIC8qCkBAIC0yMTgsMTQgKzIyNywxNCBAQAogICB1bnNpZ25lZCBpbnQgbXhjc3I7CiAKICAgLyogQ2hlY2sgd2hldGhlciByZXF1ZXN0ZWQgcm91bmRpbmcgZGlyZWN0aW9uIGlzIHN1cHBvcnRlZCAqLwotICBpZiAocm91bmQgJiB+X1g4N19ST1VORF9NQVNLKQorICBpZiAocm91bmQgJiB+WDg3X1JPVU5EX01BU0spCiAgICAgcmV0dXJuICgtMSk7CiAKICAgLyogU3RvcmUgdGhlIGN1cnJlbnQgeDg3IGNvbnRyb2wgd29yZCByZWdpc3RlciAqLwogICBfX2FzbV9fIF9fdm9sYXRpbGVfXyAoImZuc3RjdyAlMCIgOiAiPW0iIChjb250cm9sKSk7CiAKICAgLyogU2V0IHRoZSByb3VuZGluZyBkaXJlY3Rpb24gKi8KLSAgY29udHJvbCAmPSB+X1g4N19ST1VORF9NQVNLOworICBjb250cm9sICY9IH5YODdfUk9VTkRfTUFTSzsKICAgY29udHJvbCB8PSByb3VuZDsKIAogICAvKiBMb2FkIHRoZSB4ODcgY29udHJvbCB3b3JkIHJlZ2lzdGVyICovCkBAIC0yMzMsOCArMjQyLDggQEAKIAogICAvKiBTYW1lIGZvciB0aGUgU1NFIGVudmlyb25tZW50ICovCiAgIF9fYXNtX18gX192b2xhdGlsZV9fICgic3RteGNzciAlMCIgOiAiPW0iIChteGNzcikpOwotICBteGNzciAmPSB+KF9YODdfUk9VTkRfTUFTSyA8PCBfU1NFX1JPVU5EX1NISUZUKTsKLSAgbXhjc3IgfD0gcm91bmQgPDwgX1NTRV9ST1VORF9TSElGVDsKKyAgbXhjc3IgJj0gfihYODdfUk9VTkRfTUFTSyA8PCBTU0VfUk9VTkRfU0hJRlQpOworICBteGNzciB8PSByb3VuZCA8PCBTU0VfUk9VTkRfU0hJRlQ7CiAgIF9fYXNtX18gX192b2xhdGlsZV9fICgibGRteGNzciAlMCIgOiA6ICJtIiAobXhjc3IpKTsKIAogICByZXR1cm4gKDApOwpAQCAtMjkxLDcgKzMwMCw3IEBACiAgIG14Y3NyICY9IH5GRV9BTExfRVhDRVBUOwogCiAgIC8qIE1hc2sgYWxsIGV4Y2VwdGlvbnMgKi8KLSAgbXhjc3IgfD0gRkVfQUxMX0VYQ0VQVCA8PCBfU1NFX01BU0tfU0hJRlQ7CisgIG14Y3NyIHw9IEZFX0FMTF9FWENFUFQgPDwgU1NFX01BU0tfU0hJRlQ7CiAKICAgLyogU3RvcmUgdGhlIE1YQ1NSIHJlZ2lzdGVyICovCiAgIF9fYXNtX18gX192b2xhdGlsZV9fICgibGRteGNzciAlMCIgOiA6ICJtIiAobXhjc3IpKTsKQEAgLTM2MiwxMSArMzcxLDExIEBACiAgIF9fYXNtX18gX192b2xhdGlsZV9fICgiZm5zdGN3ICUwIiA6ICI9bSIgKGNvbnRyb2wpKTsKICAgX19hc21fXyBfX3ZvbGF0aWxlX18gKCJzdG14Y3NyICUwIiA6ICI9bSIgKG14Y3NyKSk7CiAKLSAgb21hc2sgPSB+KGNvbnRyb2wgfCAobXhjc3IgPj4gX1NTRV9NQVNLX1NISUZUKSkgJiBGRV9BTExfRVhDRVBUOworICBvbWFzayA9IH4oY29udHJvbCB8IChteGNzciA+PiBTU0VfTUFTS19TSElGVCkpICYgRkVfQUxMX0VYQ0VQVDsKICAgY29udHJvbCAmPSB+bWFzazsKICAgX19hc21fXyBfX3ZvbGF0aWxlX18gKCJmbGRjdyAlMCIgOiA6ICJtIiAoY29udHJvbCkpOwogCi0gIG14Y3NyICY9IH4obWFzayA8PCBfU1NFX01BU0tfU0hJRlQpOworICBteGNzciAmPSB+KG1hc2sgPDwgU1NFX01BU0tfU0hJRlQpOwogICBfX2FzbV9fIF9fdm9sYXRpbGVfXyAoImxkbXhjc3IgJTAiIDogOiAibSIgKG14Y3NyKSk7CiAKICAgcmV0dXJuIChvbWFzayk7CkBAIC0zODMsMTEgKzM5MiwxMSBAQAogICBfX2FzbV9fIF9fdm9sYXRpbGVfXyAoImZuc3RjdyAlMCIgOiAiPW0iIChjb250cm9sKSk7CiAgIF9fYXNtX18gX192b2xhdGlsZV9fICgic3RteGNzciAlMCIgOiAiPW0iIChteGNzcikpOwogCi0gIG9tYXNrID0gfihjb250cm9sIHwgKG14Y3NyID4+IF9TU0VfTUFTS19TSElGVCkpICYgRkVfQUxMX0VYQ0VQVDsKKyAgb21hc2sgPSB+KGNvbnRyb2wgfCAobXhjc3IgPj4gU1NFX01BU0tfU0hJRlQpKSAmIEZFX0FMTF9FWENFUFQ7CiAgIGNvbnRyb2wgfD0gbWFzazsKICAgX19hc21fXyBfX3ZvbGF0aWxlX18gKCJmbGRjdyAlMCIgOiA6ICJtIiAoY29udHJvbCkpOwogCi0gIG14Y3NyIHw9IG1hc2sgPDwgX1NTRV9NQVNLX1NISUZUOworICBteGNzciB8PSBtYXNrIDw8IFNTRV9NQVNLX1NISUZUOwogICBfX2FzbV9fIF9fdm9sYXRpbGVfXyAoImxkbXhjc3IgJTAiIDogOiAibSIgKG14Y3NyKSk7CiAKICAgcmV0dXJuIChvbWFzayk7CmRpZmYgLS1naXQgYS9saWJtL2FybS9mZW52LmMgYi9saWJtL2FybS9mZW52LmMKaW5kZXggYTAxMDhlOC4uMjEyNDczMCAxMDA2NDQKLS0tIGEvbGlibS9hcm0vZmVudi5jCisrKyBiL2xpYm0vYXJtL2ZlbnYuYwpAQCAtMjgsMTAgKzI4LDExIEBACiAKICNpbmNsdWRlIDxmZW52Lmg+CiAKLS8qCi0gKiBIb3BlZnVsbHkgdGhlIHN5c3RlbSBJRCBieXRlIGlzIGltbXV0YWJsZSwgc28gaXQncyB2YWxpZCB0byB1c2UKLSAqIHRoaXMgYXMgYSBkZWZhdWx0IGVudmlyb25tZW50LgotICovCisjZGVmaW5lIEZQU0NSX0VOQUJMRV9TSElGVCA4CisjZGVmaW5lIEZQU0NSX0VOQUJMRV9NQVNLICAoRkVfQUxMX0VYQ0VQVCA8PCBGUFNDUl9FTkFCTEVfU0hJRlQpCisKKyNkZWZpbmUgRlBTQ1JfUk1PREVfU0hJRlQgMjIKKwogY29uc3QgZmVudl90IF9fZmVfZGZsX2VudiA9IDA7CiAKIGludCBmZWdldGVudihmZW52X3QqIF9fZW52cCkgewpAQCAtODYsMTQgKzg3LDE0IEBACiBpbnQgZmVnZXRyb3VuZCh2b2lkKSB7CiAgIGZlbnZfdCBfZnBzY3I7CiAgIGZlZ2V0ZW52KCZfZnBzY3IpOwotICByZXR1cm4gKChfZnBzY3IgPj4gX0ZQU0NSX1JNT0RFX1NISUZUKSAmIDB4Myk7CisgIHJldHVybiAoKF9mcHNjciA+PiBGUFNDUl9STU9ERV9TSElGVCkgJiAweDMpOwogfQogCiBpbnQgZmVzZXRyb3VuZChpbnQgX19yb3VuZCkgewogICBmZW52X3QgX2Zwc2NyOwogICBmZWdldGVudigmX2Zwc2NyKTsKLSAgX2Zwc2NyICY9IH4oMHgzIDw8IF9GUFNDUl9STU9ERV9TSElGVCk7Ci0gIF9mcHNjciB8PSAoX19yb3VuZCA8PCBfRlBTQ1JfUk1PREVfU0hJRlQpOworICBfZnBzY3IgJj0gfigweDMgPDwgRlBTQ1JfUk1PREVfU0hJRlQpOworICBfZnBzY3IgfD0gKF9fcm91bmQgPDwgRlBTQ1JfUk1PREVfU0hJRlQpOwogICBmZXNldGVudigmX2Zwc2NyKTsKICAgcmV0dXJuIDA7CiB9CkBAIC0xMDIsNyArMTAzLDcgQEAKICAgZmVudl90IF9fZW52OwogICBmZWdldGVudigmX19lbnYpOwogICAqX19lbnZwID0gX19lbnY7Ci0gIF9fZW52ICY9IH4oRkVfQUxMX0VYQ0VQVCB8IF9GUFNDUl9FTkFCTEVfTUFTSyk7CisgIF9fZW52ICY9IH4oRkVfQUxMX0VYQ0VQVCB8IEZQU0NSX0VOQUJMRV9NQVNLKTsKICAgZmVzZXRlbnYoJl9fZW52KTsKICAgcmV0dXJuIDA7CiB9CkBAIC0xMTgsMjEgKzExOSwyMSBAQAogaW50IGZlZW5hYmxlZXhjZXB0KGludCBfX21hc2spIHsKICAgZmVudl90IF9fb2xkX2Zwc2NyLCBfX25ld19mcHNjcjsKICAgZmVnZXRlbnYoJl9fb2xkX2Zwc2NyKTsKLSAgX19uZXdfZnBzY3IgPSBfX29sZF9mcHNjciB8IChfX21hc2sgJiBGRV9BTExfRVhDRVBUKSA8PCBfRlBTQ1JfRU5BQkxFX1NISUZUOworICBfX25ld19mcHNjciA9IF9fb2xkX2Zwc2NyIHwgKF9fbWFzayAmIEZFX0FMTF9FWENFUFQpIDw8IEZQU0NSX0VOQUJMRV9TSElGVDsKICAgZmVzZXRlbnYoJl9fbmV3X2Zwc2NyKTsKLSAgcmV0dXJuICgoX19vbGRfZnBzY3IgPj4gX0ZQU0NSX0VOQUJMRV9TSElGVCkgJiBGRV9BTExfRVhDRVBUKTsKKyAgcmV0dXJuICgoX19vbGRfZnBzY3IgPj4gRlBTQ1JfRU5BQkxFX1NISUZUKSAmIEZFX0FMTF9FWENFUFQpOwogfQogCiBpbnQgZmVkaXNhYmxlZXhjZXB0KGludCBfX21hc2spIHsKICAgZmVudl90IF9fb2xkX2Zwc2NyLCBfX25ld19mcHNjcjsKICAgZmVnZXRlbnYoJl9fb2xkX2Zwc2NyKTsKLSAgX19uZXdfZnBzY3IgPSBfX29sZF9mcHNjciAmIH4oKF9fbWFzayAmIEZFX0FMTF9FWENFUFQpIDw8IF9GUFNDUl9FTkFCTEVfU0hJRlQpOworICBfX25ld19mcHNjciA9IF9fb2xkX2Zwc2NyICYgfigoX19tYXNrICYgRkVfQUxMX0VYQ0VQVCkgPDwgRlBTQ1JfRU5BQkxFX1NISUZUKTsKICAgZmVzZXRlbnYoJl9fbmV3X2Zwc2NyKTsKLSAgcmV0dXJuICgoX19vbGRfZnBzY3IgPj4gX0ZQU0NSX0VOQUJMRV9TSElGVCkgJiBGRV9BTExfRVhDRVBUKTsKKyAgcmV0dXJuICgoX19vbGRfZnBzY3IgPj4gRlBTQ1JfRU5BQkxFX1NISUZUKSAmIEZFX0FMTF9FWENFUFQpOwogfQogCiBpbnQgZmVnZXRleGNlcHQodm9pZCkgewogICBmZW52X3QgX19mcHNjcjsKICAgZmVnZXRlbnYoJl9fZnBzY3IpOwotICByZXR1cm4gKChfX2Zwc2NyICYgX0ZQU0NSX0VOQUJMRV9NQVNLKSA+PiBfRlBTQ1JfRU5BQkxFX1NISUZUKTsKKyAgcmV0dXJuICgoX19mcHNjciAmIEZQU0NSX0VOQUJMRV9NQVNLKSA+PiBGUFNDUl9FTkFCTEVfU0hJRlQpOwogfQpkaWZmIC0tZ2l0IGEvbGlibS9hcm02NC9mZW52LmMgYi9saWJtL2FybTY0L2ZlbnYuYwppbmRleCA5ZGIyMWVmLi5jZTU2MGE3IDEwMDY0NAotLS0gYS9saWJtL2FybTY0L2ZlbnYuYworKysgYi9saWJtL2FybTY0L2ZlbnYuYwpAQCAtMjgsMTE0ICsyOCwxNjggQEAKIAogI2luY2x1ZGUgPGZlbnYuaD4KIAotLyoKLSAqIEhvcGVmdWxseSB0aGUgc3lzdGVtIElEIGJ5dGUgaXMgaW1tdXRhYmxlLCBzbyBpdCdzIHZhbGlkIHRvIHVzZQotICogdGhpcyBhcyBhIGRlZmF1bHQgZW52aXJvbm1lbnQuCi0gKi8KLWNvbnN0IGZlbnZfdCBfX2ZlX2RmbF9lbnYgPSAwOworI2RlZmluZSBGUENSX0VYQ0VQVF9TSElGVCA4CisjZGVmaW5lIEZQQ1JfRVhDRVBUX01BU0sgIChGRV9BTExfRVhDRVBUIDw8IEZQQ1JfRVhDRVBUX1NISUZUKQogCi1pbnQgZmVnZXRlbnYoZmVudl90KiBfX2VudnApIHsKLSAgZmVudl90IF9mcGNyLCBfZnBzcjsKLSAgX19hc21fXyBfX3ZvbGF0aWxlX18oIm1ycyAlMCxmcGNyIiA6ICI9ciIgKF9mcGNyKSk7Ci0gIF9fYXNtX18gX192b2xhdGlsZV9fKCJtcnMgJTAsZnBzciIgOiAiPXIiIChfZnBzcikpOwotICAqX19lbnZwID0gKF9mcGNyIHwgX2Zwc3IpOworI2RlZmluZSBGUENSX1JNT0RFX1NISUZUIDIyCisKK2NvbnN0IGZlbnZfdCBfX2ZlX2RmbF9lbnYgPSB7IDAgLyogY29udHJvbCAqLywgMCAvKiBzdGF0dXMgKi99OworCit0eXBlZGVmIF9fdWludDMyX3QgZnB1X2NvbnRyb2xfdDsgICAvLyBGUENSLCBGbG9hdGluZy1wb2ludCBDb250cm9sIFJlZ2lzdGVyLgordHlwZWRlZiBfX3VpbnQzMl90IGZwdV9zdGF0dXNfdDsgICAgLy8gRlBTUiwgRmxvYXRpbmctcG9pbnQgU3RhdHVzIFJlZ2lzdGVyLgorCisjZGVmaW5lIF9fZ2V0X2ZwY3IoX19mcGNyKSBfX2FzbV9fIF9fdm9sYXRpbGVfXygibXJzICUwLGZwY3IiIDogIj1yIiAoX19mcGNyKSkKKyNkZWZpbmUgX19nZXRfZnBzcihfX2Zwc3IpIF9fYXNtX18gX192b2xhdGlsZV9fKCJtcnMgJTAsZnBzciIgOiAiPXIiIChfX2Zwc3IpKQorI2RlZmluZSBfX3NldF9mcGNyKF9fZnBjcikgX19hc21fXyBfX3ZvbGF0aWxlX18oIm1zciBmcGNyLCUwIiA6IDoicmkiIChfX2ZwY3IpKQorI2RlZmluZSBfX3NldF9mcHNyKF9fZnBzcikgX19hc21fXyBfX3ZvbGF0aWxlX18oIm1zciBmcHNyLCUwIiA6IDoicmkiIChfX2Zwc3IpKQorCitpbnQgZmVnZXRlbnYoZmVudl90KiBlbnZwKSB7CisgIF9fZ2V0X2ZwY3IoZW52cC0+X19jb250cm9sKTsKKyAgX19nZXRfZnBzcihlbnZwLT5fX3N0YXR1cyk7CiAgIHJldHVybiAwOwogfQogCi1pbnQgZmVzZXRlbnYoY29uc3QgZmVudl90KiBfX2VudnApIHsKLSAgZmVudl90IF9mcGNyID0gKCpfX2VudnAgJiBGUENSX01BU0spOwotICBmZW52X3QgX2Zwc3IgPSAoKl9fZW52cCAmIEZQU1JfTUFTSyk7Ci0gIF9fYXNtX18gX192b2xhdGlsZV9fKCJtc3IgZnBjciwlMCIgOiA6InJpIiAoX2ZwY3IpKTsKLSAgX19hc21fXyBfX3ZvbGF0aWxlX18oIm1zciBmcHNyLCUwIiA6IDoicmkiIChfZnBzcikpOworaW50IGZlc2V0ZW52KGNvbnN0IGZlbnZfdCogZW52cCkgeworICBmcHVfY29udHJvbF90IGZwY3I7CisKKyAgX19nZXRfZnBjcihmcGNyKTsKKyAgaWYgKGVudnAtPl9fY29udHJvbCAhPSBmcGNyKSB7CisgICAgX19zZXRfZnBjcihlbnZwLT5fX2NvbnRyb2wpOworICB9CisgIF9fc2V0X2Zwc3IoZW52cC0+X19zdGF0dXMpOwogICByZXR1cm4gMDsKIH0KIAotaW50IGZlY2xlYXJleGNlcHQoaW50IF9fZXhjZXB0cykgewotICBmZXhjZXB0X3QgX19mcHNjcjsKLSAgZmVnZXRlbnYoJl9fZnBzY3IpOwotICBfX2Zwc2NyICY9IH5fX2V4Y2VwdHM7Ci0gIGZlc2V0ZW52KCZfX2Zwc2NyKTsKK2ludCBmZWNsZWFyZXhjZXB0KGludCBleGNlcHRzKSB7CisgIGZwdV9zdGF0dXNfdCBmcHNyOworCisgIGV4Y2VwdHMgJj0gRkVfQUxMX0VYQ0VQVDsKKyAgX19nZXRfZnBzcihmcHNyKTsKKyAgZnBzciAmPSB+ZXhjZXB0czsKKyAgX19zZXRfZnBzcihmcHNyKTsKICAgcmV0dXJuIDA7CiB9CiAKLWludCBmZWdldGV4Y2VwdGZsYWcoZmV4Y2VwdF90KiBfX2ZsYWdwLCBpbnQgX19leGNlcHRzKSB7Ci0gIGZleGNlcHRfdCBfX2Zwc2NyOwotICBmZWdldGVudigmX19mcHNjcik7Ci0gICpfX2ZsYWdwID0gX19mcHNjciAmIF9fZXhjZXB0czsKK2ludCBmZWdldGV4Y2VwdGZsYWcoZmV4Y2VwdF90KiBmbGFncCwgaW50IGV4Y2VwdHMpIHsKKyAgZnB1X3N0YXR1c190IGZwc3I7CisKKyAgZXhjZXB0cyAmPSBGRV9BTExfRVhDRVBUOworICBfX2dldF9mcHNyKGZwc3IpOworICAqZmxhZ3AgPSBmcHNyICYgZXhjZXB0czsKICAgcmV0dXJuIDA7CiB9CiAKLWludCBmZXNldGV4Y2VwdGZsYWcoY29uc3QgZmV4Y2VwdF90KiBfX2ZsYWdwLCBpbnQgX19leGNlcHRzKSB7Ci0gIGZleGNlcHRfdCBfX2Zwc2NyOwotICBmZWdldGVudigmX19mcHNjcik7Ci0gIF9fZnBzY3IgJj0gfl9fZXhjZXB0czsKLSAgX19mcHNjciB8PSAqX19mbGFncCAmIF9fZXhjZXB0czsKLSAgZmVzZXRlbnYoJl9fZnBzY3IpOworaW50IGZlc2V0ZXhjZXB0ZmxhZyhjb25zdCBmZXhjZXB0X3QqIGZsYWdwLCBpbnQgZXhjZXB0cykgeworICBmcHVfc3RhdHVzX3QgZnBzcjsKKworICBleGNlcHRzICY9IEZFX0FMTF9FWENFUFQ7CisgIF9fZ2V0X2Zwc3IoZnBzcik7CisgIGZwc3IgJj0gfmV4Y2VwdHM7CisgIGZwc3IgfD0gKmZsYWdwICYgZXhjZXB0czsKKyAgX19zZXRfZnBzcihmcHNyKTsKICAgcmV0dXJuIDA7CiB9CiAKLWludCBmZXJhaXNlZXhjZXB0KGludCBfX2V4Y2VwdHMpIHsKLSAgZmV4Y2VwdF90IF9fZXggPSBfX2V4Y2VwdHM7Ci0gIGZlc2V0ZXhjZXB0ZmxhZygmX19leCwgX19leGNlcHRzKTsKK2ludCBmZXJhaXNlZXhjZXB0KGludCBleGNlcHRzKSB7CisgIGZleGNlcHRfdCBleCA9IGV4Y2VwdHM7CisKKyAgZmVzZXRleGNlcHRmbGFnKCZleCwgZXhjZXB0cyk7CiAgIHJldHVybiAwOwogfQogCi1pbnQgZmV0ZXN0ZXhjZXB0KGludCBfX2V4Y2VwdHMpIHsKLSAgZmV4Y2VwdF90IF9fZnBzY3I7Ci0gIGZlZ2V0ZW52KCZfX2Zwc2NyKTsKLSAgcmV0dXJuIChfX2Zwc2NyICYgX19leGNlcHRzKTsKK2ludCBmZXRlc3RleGNlcHQoaW50IGV4Y2VwdHMpIHsKKyAgZnB1X3N0YXR1c190IGZwc3I7CisKKyAgZXhjZXB0cyAmPSBGRV9BTExfRVhDRVBUOworICBfX2dldF9mcHNyKGZwc3IpOworICByZXR1cm4gKGZwc3IgJiBleGNlcHRzKTsKIH0KIAogaW50IGZlZ2V0cm91bmQodm9pZCkgewotICBmZW52X3QgX2Zwc2NyOwotICBmZWdldGVudigmX2Zwc2NyKTsKLSAgcmV0dXJuICgoX2Zwc2NyID4+IF9GUFNDUl9STU9ERV9TSElGVCkgJiAweDMpOworICBmcHVfY29udHJvbF90IGZwY3I7CisKKyAgX19nZXRfZnBjcihmcGNyKTsKKyAgcmV0dXJuICgoZnBjciA+PiBGUENSX1JNT0RFX1NISUZUKSAmIEZFX1RPV0FSRFpFUk8pOwogfQogCi1pbnQgZmVzZXRyb3VuZChpbnQgX19yb3VuZCkgewotICBmZW52X3QgX2Zwc2NyOwotICBmZWdldGVudigmX2Zwc2NyKTsKLSAgX2Zwc2NyICY9IH4oMHgzIDw8IF9GUFNDUl9STU9ERV9TSElGVCk7Ci0gIF9mcHNjciB8PSAoX19yb3VuZCA8PCBfRlBTQ1JfUk1PREVfU0hJRlQpOwotICBmZXNldGVudigmX2Zwc2NyKTsKK2ludCBmZXNldHJvdW5kKGludCByb3VuZCkgeworICBmcHVfY29udHJvbF90IGZwY3IsIG5ld19mcGNyOworCisgIHJvdW5kICY9IEZFX1RPV0FSRFpFUk87CisgIF9fZ2V0X2ZwY3IoZnBjcik7CisgIG5ld19mcGNyID0gZnBjciAmIH4oRkVfVE9XQVJEWkVSTyA8PCBGUENSX1JNT0RFX1NISUZUKTsKKyAgbmV3X2ZwY3IgfD0gKHJvdW5kIDw8IEZQQ1JfUk1PREVfU0hJRlQpOworICBpZiAobmV3X2ZwY3IgIT0gZnBjcikgeworICAgIF9fc2V0X2ZwY3IobmV3X2ZwY3IpOworICB9CiAgIHJldHVybiAwOwogfQogCi1pbnQgZmVob2xkZXhjZXB0KGZlbnZfdCogX19lbnZwKSB7Ci0gIGZlbnZfdCBfX2VudjsKLSAgZmVnZXRlbnYoJl9fZW52KTsKLSAgKl9fZW52cCA9IF9fZW52OwotICBfX2VudiAmPSB+KEZFX0FMTF9FWENFUFQgfCBfRlBTQ1JfRU5BQkxFX01BU0spOwotICBmZXNldGVudigmX19lbnYpOworaW50IGZlaG9sZGV4Y2VwdChmZW52X3QqIGVudnApIHsKKyAgZmVudl90IGVudjsKKyAgZnB1X3N0YXR1c190IGZwc3I7CisgIGZwdV9jb250cm9sX3QgZnBjciwgbmV3X2ZwY3I7CisKKyAgX19nZXRfZnBzcihmcHNyKTsKKyAgX19nZXRfZnBjcihmcGNyKTsKKyAgZW52Ll9fc3RhdHVzID0gZnBzcjsKKyAgZW52Ll9fY29udHJvbCA9IGZwY3I7CisgICplbnZwID0gZW52OworCisgIC8vIFNldCBleGNlcHRpb25zIHRvIHVudHJhcHBlZC4KKyAgbmV3X2ZwY3IgPSBmcGNyICYgfihGRV9BTExfRVhDRVBUIDw8IEZQQ1JfRVhDRVBUX1NISUZUKTsKKyAgaWYgKG5ld19mcGNyICE9IGZwY3IpIHsKKyAgICBfX3NldF9mcGNyKG5ld19mcGNyKTsKKyAgfQorCisgIC8vIENsZWFyIGFsbCBleGNlcHRpb25zLgorICBmcHNyICY9IH5GRV9BTExfRVhDRVBUOworICBfX3NldF9mcHNyKGZwc3IpOwogICByZXR1cm4gMDsKIH0KIAotaW50IGZldXBkYXRlZW52KGNvbnN0IGZlbnZfdCogX19lbnZwKSB7Ci0gIGZleGNlcHRfdCBfX2Zwc2NyOwotICBmZWdldGVudigmX19mcHNjcik7Ci0gIGZlc2V0ZW52KF9fZW52cCk7Ci0gIGZlcmFpc2VleGNlcHQoX19mcHNjciAmIEZFX0FMTF9FWENFUFQpOworaW50IGZldXBkYXRlZW52KGNvbnN0IGZlbnZfdCogZW52cCkgeworICBmcHVfc3RhdHVzX3QgZnBzcjsKKyAgZnB1X2NvbnRyb2xfdCBmcGNyOworCisgIC8vIFNldCBGUFUgQ29udHJvbCByZWdpc3Rlci4KKyAgX19nZXRfZnBjcihmcGNyKTsKKyAgaWYgKGVudnAtPl9fY29udHJvbCAhPSBmcGNyKSB7CisgICAgX19zZXRfZnBjcihlbnZwLT5fX2NvbnRyb2wpOworICB9CisKKyAgLy8gU2V0IEZQVSBTdGF0dXMgcmVnaXN0ZXIgdG8gc3RhdHVzIHwgY3VycmVudGx5IHJhaXNlZCBleGNlcHRpb25zLgorICBfX2dldF9mcHNyKGZwc3IpOworICBmcHNyID0gZW52cC0+X19zdGF0dXMgfCAoZnBzciAmIEZFX0FMTF9FWENFUFQpOworICBfX3NldF9mcHNyKGZwc3IpOwogICByZXR1cm4gMDsKIH0KIAotaW50IGZlZW5hYmxlZXhjZXB0KGludCBfX21hc2spIHsKLSAgZmVudl90IF9fb2xkX2Zwc2NyLCBfX25ld19mcHNjcjsKLSAgZmVnZXRlbnYoJl9fb2xkX2Zwc2NyKTsKLSAgX19uZXdfZnBzY3IgPSBfX29sZF9mcHNjciB8IChfX21hc2sgJiBGRV9BTExfRVhDRVBUKSA8PCBfRlBTQ1JfRU5BQkxFX1NISUZUOwotICBmZXNldGVudigmX19uZXdfZnBzY3IpOwotICByZXR1cm4gKChfX29sZF9mcHNjciA+PiBfRlBTQ1JfRU5BQkxFX1NISUZUKSAmIEZFX0FMTF9FWENFUFQpOworaW50IGZlZW5hYmxlZXhjZXB0KGludCBtYXNrKSB7CisgIGZwdV9jb250cm9sX3Qgb2xkX2ZwY3IsIG5ld19mcGNyOworCisgIF9fZ2V0X2ZwY3Iob2xkX2ZwY3IpOworICBuZXdfZnBjciA9IG9sZF9mcGNyIHwgKChtYXNrICYgRkVfQUxMX0VYQ0VQVCkgPDwgRlBDUl9FWENFUFRfU0hJRlQpOworICBpZiAobmV3X2ZwY3IgIT0gb2xkX2ZwY3IpIHsKKyAgICBfX3NldF9mcGNyKG5ld19mcGNyKTsKKyAgfQorICByZXR1cm4gKChvbGRfZnBjciA+PiBGUENSX0VYQ0VQVF9TSElGVCkgJiBGRV9BTExfRVhDRVBUKTsKIH0KIAotaW50IGZlZGlzYWJsZWV4Y2VwdChpbnQgX19tYXNrKSB7Ci0gIGZlbnZfdCBfX29sZF9mcHNjciwgX19uZXdfZnBzY3I7Ci0gIGZlZ2V0ZW52KCZfX29sZF9mcHNjcik7Ci0gIF9fbmV3X2Zwc2NyID0gX19vbGRfZnBzY3IgJiB+KChfX21hc2sgJiBGRV9BTExfRVhDRVBUKSA8PCBfRlBTQ1JfRU5BQkxFX1NISUZUKTsKLSAgZmVzZXRlbnYoJl9fbmV3X2Zwc2NyKTsKLSAgcmV0dXJuICgoX19vbGRfZnBzY3IgPj4gX0ZQU0NSX0VOQUJMRV9TSElGVCkgJiBGRV9BTExfRVhDRVBUKTsKK2ludCBmZWRpc2FibGVleGNlcHQoaW50IG1hc2spIHsKKyAgZnB1X2NvbnRyb2xfdCBvbGRfZnBjciwgbmV3X2ZwY3I7CisKKyAgX19nZXRfZnBjcihvbGRfZnBjcik7CisgIG5ld19mcGNyID0gb2xkX2ZwY3IgJiB+KChtYXNrICYgRkVfQUxMX0VYQ0VQVCkgPDwgRlBDUl9FWENFUFRfU0hJRlQpOworICBpZiAobmV3X2ZwY3IgIT0gb2xkX2ZwY3IpIHsKKyAgICBfX3NldF9mcGNyKG5ld19mcGNyKTsKKyAgfQorICByZXR1cm4gKChvbGRfZnBjciA+PiBGUENSX0VYQ0VQVF9TSElGVCkgJiBGRV9BTExfRVhDRVBUKTsKIH0KIAogaW50IGZlZ2V0ZXhjZXB0KHZvaWQpIHsKLSAgZmVudl90IF9fZnBzY3I7Ci0gIGZlZ2V0ZW52KCZfX2Zwc2NyKTsKLSAgcmV0dXJuICgoX19mcHNjciAmIF9GUFNDUl9FTkFCTEVfTUFTSykgPj4gX0ZQU0NSX0VOQUJMRV9TSElGVCk7CisgIGZwdV9jb250cm9sX3QgZnBjcjsKKworICBfX2dldF9mcGNyKGZwY3IpOworICByZXR1cm4gKChmcGNyICYgRlBDUl9FWENFUFRfTUFTSykgPj4gRlBDUl9FWENFUFRfU0hJRlQpOwogfQpkaWZmIC0tZ2l0IGEvbGlibS9pMzg3L2ZlbnYuYyBiL2xpYm0vaTM4Ny9mZW52LmMKaW5kZXggM2FiOWM1OC4uZjY0ZjhkYyAxMDA2NDQKLS0tIGEvbGlibS9pMzg3L2ZlbnYuYworKysgYi9saWJtL2kzODcvZmVudi5jCkBAIC0zMSw2ICszMSw4IEBACiAjaW5jbHVkZSAibnB4LmgiCiAjaW5jbHVkZSAiZmVudi5oIgogCisjZGVmaW5lIFJPVU5EX01BU0sgICAoRkVfVE9ORUFSRVNUIHwgRkVfRE9XTldBUkQgfCBGRV9VUFdBUkQgfCBGRV9UT1dBUkRaRVJPKQorCiAvKgogICogQXMgY29tcGFyZWQgdG8gdGhlIHg4NyBjb250cm9sIHdvcmQsIHRoZSBTU0UgdW5pdCdzIGNvbnRyb2wgd29yZAogICogaGFzIHRoZSByb3VuZGluZyBjb250cm9sIGJpdHMgb2Zmc2V0IGJ5IDMgYW5kIHRoZSBleGNlcHRpb24gbWFzawpAQCAtMzI3LDcgKzMyOSw3IEBACiAgICAqIHVuaXQgb24gYW4gT3B0ZXJvbiAyNDQuCiAgICAqLwogICBfX2Zuc3RjdygmY29udHJvbCk7Ci0gIHJldHVybiAoY29udHJvbCAmIF9ST1VORF9NQVNLKTsKKyAgcmV0dXJuIChjb250cm9sICYgUk9VTkRfTUFTSyk7CiB9CiAKIGludApAQCAtMzM2LDE2ICszMzgsMTYgQEAKICAgX191aW50MzJfdCBteGNzcjsKICAgX191aW50MTZfdCBjb250cm9sOwogCi0gIGlmIChyb3VuZCAmIH5fUk9VTkRfTUFTSykgeworICBpZiAocm91bmQgJiB+Uk9VTkRfTUFTSykgewogICAgIHJldHVybiAoLTEpOwogICB9IGVsc2UgewogICAgIF9fZm5zdGN3KCZjb250cm9sKTsKLSAgICBjb250cm9sICY9IH5fUk9VTkRfTUFTSzsKKyAgICBjb250cm9sICY9IH5ST1VORF9NQVNLOwogICAgIGNvbnRyb2wgfD0gcm91bmQ7CiAgICAgX19mbGRjdyhjb250cm9sKTsKICAgICBpZiAoX19IQVNfU1NFKCkpIHsKICAgICAgIF9fc3RteGNzcigmbXhjc3IpOwotICAgICAgbXhjc3IgJj0gfihfUk9VTkRfTUFTSyA8PCBfU1NFX1JPVU5EX1NISUZUKTsKKyAgICAgIG14Y3NyICY9IH4oUk9VTkRfTUFTSyA8PCBfU1NFX1JPVU5EX1NISUZUKTsKICAgICAgIG14Y3NyIHw9IHJvdW5kIDw8IF9TU0VfUk9VTkRfU0hJRlQ7CiAgICAgICBfX2xkbXhjc3IobXhjc3IpOwogICAgIH0KZGlmZiAtLWdpdCBhL2xpYm0vaW5jbHVkZS9hbWQ2NC9tYWNoaW5lL2ZlbnYuaCBiL2xpYm0vaW5jbHVkZS9hbWQ2NC9tYWNoaW5lL2ZlbnYuaAppbmRleCA3OWE0MTIwLi5jMmIyNWVkIDEwMDY0NAotLS0gYS9saWJtL2luY2x1ZGUvYW1kNjQvbWFjaGluZS9mZW52LmgKKysrIGIvbGlibS9pbmNsdWRlL2FtZDY0L21hY2hpbmUvZmVudi5oCkBAIC01MSw3ICs1MSw2IEBACiAgKi8KICNkZWZpbmUgRkVfQUxMX0VYQ0VQVCAgIChGRV9JTlZBTElEIHwgRkVfREVOT1JNQUwgfCBGRV9ESVZCWVpFUk8gfCBcCiAgICAgICAgICAgICAgICAgICAgICAgICAgRkVfT1ZFUkZMT1cgfCBGRV9VTkRFUkZMT1cgfCBGRV9JTkVYQUNUKQotI2RlZmluZSBfU1NFX01BU0tfU0hJRlQgNwogCiAvKgogICogRWFjaCBzeW1ib2wgcmVwcmVzZW50aW5nIHRoZSByb3VuZGluZyBkaXJlY3Rpb24sIGV4cGFuZHMgdG8gYW4gaW50ZWdlcgpAQCAtNjUsMTQgKzY0LDYgQEAKICNkZWZpbmUgRkVfVE9XQVJEWkVSTyAweGMwMAogCiAvKgotICogVGhlIGZvbGxvd2luZyBzeW1ib2wgaXMgc2ltcGx5IHRoZSBiaXR3aXNlLWluY2x1c2l2ZSBPUiBvZiBhbGwgZmxvYXRpbmctcG9pbnQKLSAqIHJvdW5kaW5nIGRpcmVjdGlvbiBjb25zdGFudHMgZGVmaW5lZCBhYm92ZS4KLSAqLwotI2RlZmluZSBfWDg3X1JPVU5EX01BU0sgIChGRV9UT05FQVJFU1QgfCBGRV9ET1dOV0FSRCB8IEZFX1VQV0FSRCB8IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgRkVfVE9XQVJEWkVSTykKLSNkZWZpbmUgX1NTRV9ST1VORF9TSElGVCAzCi0KLS8qCiAgKiBmZW52X3QgcmVwcmVzZW50cyB0aGUgZW50aXJlIGZsb2F0aW5nLXBvaW50IGVudmlyb25tZW50LgogICovCiB0eXBlZGVmIHN0cnVjdCB7CmRpZmYgLS1naXQgYS9saWJtL2luY2x1ZGUvYXJtL21hY2hpbmUvZmVudi5oIGIvbGlibS9pbmNsdWRlL2FybS9tYWNoaW5lL2ZlbnYuaAppbmRleCBkODc0OWRkLi4wZTQ4M2UzIDEwMDY0NAotLS0gYS9saWJtL2luY2x1ZGUvYXJtL21hY2hpbmUvZmVudi5oCisrKyBiL2xpYm0vaW5jbHVkZS9hcm0vbWFjaGluZS9mZW52LmgKQEAgLTUyLDE3ICs1MiwxMiBAQAogI2RlZmluZSBGRV9BTExfRVhDRVBUIChGRV9ESVZCWVpFUk8gfCBGRV9JTkVYQUNUIHwgRkVfSU5WQUxJRCB8IFwKICAgICAgICAgICAgICAgICAgICAgICAgRkVfT1ZFUkZMT1cgfCBGRV9VTkRFUkZMT1cpCiAKLSNkZWZpbmUgX0ZQU0NSX0VOQUJMRV9TSElGVCA4Ci0jZGVmaW5lIF9GUFNDUl9FTkFCTEVfTUFTSyAgKEZFX0FMTF9FWENFUFQgPDwgX0ZQU0NSX0VOQUJMRV9TSElGVCkKLQogLyogUm91bmRpbmcgbW9kZXMuICovCiAjZGVmaW5lIEZFX1RPTkVBUkVTVCAgMHgwCiAjZGVmaW5lIEZFX1VQV0FSRCAgICAgMHgxCiAjZGVmaW5lIEZFX0RPV05XQVJEICAgMHgyCiAjZGVmaW5lIEZFX1RPV0FSRFpFUk8gMHgzCiAKLSNkZWZpbmUgX0ZQU0NSX1JNT0RFX1NISUZUIDIyCi0KIF9fRU5EX0RFQ0xTCiAKICNlbmRpZiAvKiAhX0FSTV9GRU5WX0hfICovCmRpZmYgLS1naXQgYS9saWJtL2luY2x1ZGUvYXJtNjQvbWFjaGluZS9mZW52LmggYi9saWJtL2luY2x1ZGUvYXJtNjQvbWFjaGluZS9mZW52LmgKaW5kZXggMmVmZWVlMy4uYTg1NjhiOCAxMDA2NDQKLS0tIGEvbGlibS9pbmNsdWRlL2FybTY0L21hY2hpbmUvZmVudi5oCisrKyBiL2xpYm0vaW5jbHVkZS9hcm02NC9tYWNoaW5lL2ZlbnYuaApAQCAtMjcsMTUgKzI3LDQ0IEBACiAgKi8KIAogLyoKLSAqIFJld3JpdHRlbiBmb3IgQW5kcm9pZC4KKyAqIEluIEFSTXY4LCBBQXJjaDY0IHN0YXRlLCBmbG9hdGluZy1wb2ludCBvcGVyYXRpb24gaXMgY29udHJvbGxlZCBieToKICAqCi0gKiBUaGUgQVJNIEZQU0NSIChGbG9hdGluZy1wb2ludCBTdGF0dXMgYW5kIENvbnRyb2wgUmVnaXN0ZXIpIGRlc2NyaWJlZCBoZXJlOgotICogaHR0cDovL2luZm9jZW50ZXIuYXJtLmNvbS9oZWxwL2luZGV4LmpzcD90b3BpYz0vY29tLmFybS5kb2MuZGRpMDM0NGIvQ2hkZmFmaWEuaHRtbAotICogaGFzIGJlZW4gc3BsaXQgaW50byB0aGUgRlBDUiAoRmxvYXRpbmctcG9pbnQgQ29udHJvbCBSZWdpc3RlcikgYW5kIEZQU1IKLSAqIChGbG9hdGluZy1wb2ludCBTdGF0dXMgUmVnaXN0ZXIpIG9uIHRoZSBBUk12OC4gVGhlc2UgYXJlIGRlc2NyaWJlZCBicmllZmx5IGluCi0gKiAiUHJvY2VkdXJlIENhbGwgU3RhbmRhcmQgZm9yIHRoZSBBUk0gNjQtYml0IEFyY2hpdGVjdHVyZSIKLSAqIGh0dHA6Ly9pbmZvY2VudGVyLmFybS5jb20vaGVscC90b3BpYy9jb20uYXJtLmRvYy5paGkwMDU1YS9JSEkwMDU1QV9hYXBjczY0LnBkZgotICogc2VjdGlvbiA1LjEuMiBTSU1EIGFuZCBGbG9hdGluZy1Qb2ludCBSZWdpc3RlcnMKKyAqICAqIEZQQ1IgLSAzMkJpdCBGbG9hdGluZy1Qb2ludCBDb250cm9sIFJlZ2lzdGVyOgorICogICAgICAqIFszMToyN10gLSBSZXNlcnZlZCwgUmVzMDsKKyAqICAgICAgKiBbMjZdICAgIC0gQUhQLCBBbHRlcm5hdGl2ZSBoYWxmLXByZWNpc2lvbiBjb250cm9sIGJpdDsKKyAqICAgICAgKiBbMjVdICAgIC0gRE4sIERlZmF1bHQgTmFOIG1vZGUgY29udHJvbCBiaXQ7CisgKiAgICAgICogWzI0XSAgICAtIEZaLCBGbHVzaC10by16ZXJvIG1vZGUgY29udHJvbCBiaXQ7CisgKiAgICAgICogWzIzOjIyXSAtIFJNb2RlLCBSb3VuZGluZyBNb2RlIGNvbnRyb2wgZmllbGQ6CisgKiAgICAgICAgICAgICogMDAgIC0gUm91bmQgdG8gTmVhcmVzdCAoUk4pIG1vZGU7CisgKiAgICAgICAgICAgICogMDEgIC0gUm91bmQgdG93YXJkcyBQbHVzIEluZmluaXR5IChSUCkgbW9kZTsKKyAqICAgICAgICAgICAgKiAxMCAgLSBSb3VuZCB0b3dhcmRzIE1pbnVzIEluZmluaXR5IChSTSkgbW9kZTsKKyAqICAgICAgICAgICAgKiAxMSAgLSBSb3VuZCB0b3dhcmRzIFplcm8gKFJaKSBtb2RlLgorICogICAgICAqIFsyMToyMF0gLSBTdHJpZGUsIGlnbm9yZWQgZHVyaW5nIEFBcmNoNjQgZXhlY3V0aW9uOworICogICAgICAqIFsxOV0gICAgLSBSZXNlcnZlZCwgUmVzMDsKKyAqICAgICAgKiBbMTg6MTZdIC0gTGVuLCBpZ25vcmVkIGR1cmluZyBBQXJjaDY0IGV4ZWN1dGlvbjsKKyAqICAgICAgKiBbMTVdICAgIC0gSURFLCBJbnB1dCBEZW5vcm1hbCBleGNlcHRpb24gdHJhcDsKKyAqICAgICAgKiBbMTQ6MTNdIC0gUmVzZXJ2ZWQsIFJlczA7CisgKiAgICAgICogWzEyXSAgICAtIElYRSwgSW5leGFjdCBleGNlcHRpb24gdHJhcDsKKyAqICAgICAgKiBbMTFdICAgIC0gVUZFLCBVbmRlcmZsb3cgZXhjZXB0aW9uIHRyYXA7CisgKiAgICAgICogWzEwXSAgICAtIE9GRSwgT3ZlcmZsb3cgZXhjZXB0aW9uIHRyYXA7CisgKiAgICAgICogWzldICAgICAtIERaRSwgRGl2aXNpb24gYnkgWmVybyBleGNlcHRpb247CisgKiAgICAgICogWzhdICAgICAtIElPRSwgSW52YWxpZCBPcGVyYXRpb24gZXhjZXB0aW9uOworICogICAgICAqIFs3OjBdICAgLSBSZXNlcnZlZCwgUmVzMC4KKyAqCisgKiAgKiBGUFNSIC0gMzJCaXQgRmxvYXRpbmctUG9pbnQgU3RhdHVzIFJlZ2lzdGVyOgorICogICAgICAqIFszMV0gICAgLSBOLCBOZWdhdGl2ZSBjb25kaXRpb24gZmxhZyBmb3IgQUFyY2gzMiAoQUFyY2g2NCBzZXRzIFBTVEFURS5OKTsKKyAqICAgICAgKiBbMzBdICAgIC0gWiwgWmVybyBjb25kaXRpb24gZmxhZyBmb3IgQUFyY2gzMiAoQUFyY2g2NCBzZXRzIFBTVEFURS5aKTsKKyAqICAgICAgKiBbMjldICAgIC0gQywgQ2FycnkgY29uZGl0b24gZmxhZyBmb3IgQUFyY2gzMiAoQUFyY2g2NCBzZXRzIFBTVEFURS5DKTsKKyAqICAgICAgKiBbMjhdICAgIC0gViwgT3ZlcmZsb3cgY29uZGl0b24gZmxhZyBmb3IgQUFyY2gzMiAoQUFyY2g2NCBzZXRzIFBTVEFURS5WKTsKKyAqICAgICAgKiBbMjddICAgIC0gUUMsIEN1bXVsYXRpdmUgc2F0dXJhdGlvbiBiaXQsIEFkdmFuY2VkIFNJTUQgb25seTsKKyAqICAgICAgKiBbMjY6OF0gIC0gUmVzZXJ2ZWQsIFJlczA7CisgKiAgICAgICogWzddICAgICAtIElEQywgSW5wdXQgRGVub3JtYWwgY3VtdWxhdGl2ZSBleGNlcHRpb247CisgKiAgICAgICogWzY6NV0gICAtIFJlc2VydmVkLCBSZXMwOworICogICAgICAqIFs0XSAgICAgLSBJWEMsIEluZXhhY3QgY3VtdWxhdGl2ZSBleGNlcHRpb247CisgKiAgICAgICogWzNdICAgICAtIFVGQywgVW5kZXJmbG93IGN1bXVsYXRpdmUgZXhjZXB0aW9uOworICogICAgICAqIFsyXSAgICAgLSBPRkMsIE92ZXJmbG93IGN1bXVsYXRpdmUgZXhjZXB0aW9uOworICogICAgICAqIFsxXSAgICAgLSBEWkMsIERpdmlzaW9uIGJ5IFplcm8gY3VtdWxhdGl2ZSBleGNlcHRpb247CisgKiAgICAgICogWzBdICAgICAtIElPQywgSW52YWxpZCBPcGVyYXRpb24gY3VtdWxhdGl2ZSBleGNlcHRpb24uCiAgKi8KIAogI2lmbmRlZiBfQVJNNjRfRkVOVl9IXwpAQCAtNDUsNyArNzQsMTEgQEAKIAogX19CRUdJTl9ERUNMUwogCi10eXBlZGVmIF9fdWludDMyX3QgZmVudl90OwordHlwZWRlZiBzdHJ1Y3QgeworICBfX3VpbnQzMl90IF9fY29udHJvbDsgICAgIC8qIEZQQ1IsIEZsb2F0aW5nLXBvaW50IENvbnRyb2wgUmVnaXN0ZXIgKi8KKyAgX191aW50MzJfdCBfX3N0YXR1czsgICAgICAvKiBGUFNSLCBGbG9hdGluZy1wb2ludCBTdGF0dXMgUmVnaXN0ZXIgKi8KK30gZmVudl90OworCiB0eXBlZGVmIF9fdWludDMyX3QgZmV4Y2VwdF90OwogCiAvKiBFeGNlcHRpb24gZmxhZ3MuICovCkBAIC01NCwxMSArODcsOSBAQAogI2RlZmluZSBGRV9PVkVSRkxPVyAgIDB4MDQKICNkZWZpbmUgRkVfVU5ERVJGTE9XICAweDA4CiAjZGVmaW5lIEZFX0lORVhBQ1QgICAgMHgxMAorI2RlZmluZSBGRV9ERU5PUk1BTCAgIDB4ODAKICNkZWZpbmUgRkVfQUxMX0VYQ0VQVCAoRkVfRElWQllaRVJPIHwgRkVfSU5FWEFDVCB8IEZFX0lOVkFMSUQgfCBcCi0gICAgICAgICAgICAgICAgICAgICAgIEZFX09WRVJGTE9XIHwgRkVfVU5ERVJGTE9XKQotCi0jZGVmaW5lIF9GUFNDUl9FTkFCTEVfU0hJRlQgOAotI2RlZmluZSBfRlBTQ1JfRU5BQkxFX01BU0sgIChGRV9BTExfRVhDRVBUIDw8IF9GUFNDUl9FTkFCTEVfU0hJRlQpCisgICAgICAgICAgICAgICAgICAgICAgIEZFX09WRVJGTE9XIHwgRkVfVU5ERVJGTE9XIHwgRkVfREVOT1JNQUwpCiAKIC8qIFJvdW5kaW5nIG1vZGVzLiAqLwogI2RlZmluZSBGRV9UT05FQVJFU1QgIDB4MApAQCAtNjYsNTYgKzk3LDYgQEAKICNkZWZpbmUgRkVfRE9XTldBUkQgICAweDIKICNkZWZpbmUgRkVfVE9XQVJEWkVSTyAweDMKIAotI2RlZmluZSBfRlBTQ1JfUk1PREVfU0hJRlQgMjIKLQotI2RlZmluZSBGUENSX0lPRSAgICAoMSA8PCA4KQotI2RlZmluZSBGUENSX0RaRSAgICAoMSA8PCA5KQotI2RlZmluZSBGUENSX09GRSAgICAoMSA8PCAxMCkKLSNkZWZpbmUgRlBDUl9VRkUgICAgKDEgPDwgMTEpCi0jZGVmaW5lIEZQQ1JfSVhFICAgICgxIDw8IDEyKQotI2RlZmluZSBGUENSX0lERSAgICAoMSA8PCAxNSkKLSNkZWZpbmUgRlBDUl9MRU4gICAgKDcgPDwgMTYpCi0jZGVmaW5lIEZQQ1JfU1RSSURFICgzIDw8IDIwKQotI2RlZmluZSBGUENSX1JNT0RFICAoMyA8PCAyMikKLSNkZWZpbmUgRlBDUl9GWiAgICAgKDEgPDwgMjQpCi0jZGVmaW5lIEZQQ1JfRE4gICAgICgxIDw8IDI1KQotI2RlZmluZSBGUENSX0FIUCAgICAoMSA8PCAyNikKLSNkZWZpbmUgRlBDUl9NQVNLICAgKEZQQ1JfSU9FIHwgXAotICAgICAgICAgICAgICAgICAgICAgRlBDUl9EWkUgfCBcCi0gICAgICAgICAgICAgICAgICAgICBGUENSX09GRSB8IFwKLSAgICAgICAgICAgICAgICAgICAgIEZQQ1JfVUZFIHwgXAotICAgICAgICAgICAgICAgICAgICAgRlBDUl9JWEUgfCBcCi0gICAgICAgICAgICAgICAgICAgICBGUENSX0lERSB8IFwKLSAgICAgICAgICAgICAgICAgICAgIEZQQ1JfTEVOIHwgXAotICAgICAgICAgICAgICAgICAgICAgRlBDUl9TVFJJREUgfCBcCi0gICAgICAgICAgICAgICAgICAgICBGUENSX1JNT0RFIHwgXAotICAgICAgICAgICAgICAgICAgICAgRlBDUl9GWiB8IFwKLSAgICAgICAgICAgICAgICAgICAgIEZQQ1JfRE4gfCBcCi0gICAgICAgICAgICAgICAgICAgICBGUENSX0FIUCApCi0KLSNkZWZpbmUgRlBTUl9JT0MgICAgKDEgPDwgMCkKLSNkZWZpbmUgRlBTUl9EWkMgICAgKDEgPDwgMSkKLSNkZWZpbmUgRlBTUl9PRkMgICAgKDEgPDwgMikKLSNkZWZpbmUgRlBTUl9VRkMgICAgKDEgPDwgMykKLSNkZWZpbmUgRlBTUl9JWEMgICAgKDEgPDwgNCkKLSNkZWZpbmUgRlBTUl9JREMgICAgKDEgPDwgNykKLSNkZWZpbmUgRlBTUl9RQyAgICAgKDEgPDwgMjcpCi0jZGVmaW5lIEZQU1JfViAgICAgICgxIDw8IDI4KQotI2RlZmluZSBGUFNSX0MgICAgICAoMSA8PCAyOSkKLSNkZWZpbmUgRlBTUl9aICAgICAgKDEgPDwgMzApCi0jZGVmaW5lIEZQU1JfTiAgICAgICgxIDw8IDMxKQotI2RlZmluZSBGUFNSX01BU0sgICAoRlBTUl9JT0MgfCBcCi0gICAgICAgICAgICAgICAgICAgICBGUFNSX0RaQyB8IFwKLSAgICAgICAgICAgICAgICAgICAgIEZQU1JfT0ZDIHwgXAotICAgICAgICAgICAgICAgICAgICAgRlBTUl9VRkMgfCBcCi0gICAgICAgICAgICAgICAgICAgICBGUFNSX0lYQyB8IFwKLSAgICAgICAgICAgICAgICAgICAgIEZQU1JfSURDIHwgXAotICAgICAgICAgICAgICAgICAgICAgRlBTUl9RQyB8IFwKLSAgICAgICAgICAgICAgICAgICAgIEZQU1JfViB8IFwKLSAgICAgICAgICAgICAgICAgICAgIEZQU1JfQyB8IFwKLSAgICAgICAgICAgICAgICAgICAgIEZQU1JfWiB8IFwKLSAgICAgICAgICAgICAgICAgICAgIEZQU1JfTiApCi0KIF9fRU5EX0RFQ0xTCiAKICNlbmRpZiAvKiAhX0FSTTY0X0ZFTlZfSF8gKi8KZGlmZiAtLWdpdCBhL2xpYm0vaW5jbHVkZS9pMzg3L21hY2hpbmUvZmVudi5oIGIvbGlibS9pbmNsdWRlL2kzODcvbWFjaGluZS9mZW52LmgKaW5kZXggZjNmYWJiNi4uZGU0NWFkZCAxMDA2NDQKLS0tIGEvbGlibS9pbmNsdWRlL2kzODcvbWFjaGluZS9mZW52LmgKKysrIGIvbGlibS9pbmNsdWRlL2kzODcvbWFjaGluZS9mZW52LmgKQEAgLTYzLDggKzYzLDYgQEAKICNkZWZpbmUgRkVfRE9XTldBUkQgICAweDA0MDAKICNkZWZpbmUgRkVfVVBXQVJEICAgICAweDA4MDAKICNkZWZpbmUgRkVfVE9XQVJEWkVSTyAweDBjMDAKLSNkZWZpbmUgX1JPVU5EX01BU0sgICAoRkVfVE9ORUFSRVNUIHwgRkVfRE9XTldBUkQgfCBcCi0gICAgICAgICAgICAgICAgICAgICAgIEZFX1VQV0FSRCB8IEZFX1RPV0FSRFpFUk8pCiAKIF9fRU5EX0RFQ0xTCiAKZGlmZiAtLWdpdCBhL2xpYm0vaW5jbHVkZS9taXBzL21hY2hpbmUvZmVudi5oIGIvbGlibS9pbmNsdWRlL21pcHMvbWFjaGluZS9mZW52LmgKaW5kZXggMzdmMGY5Yy4uNjg5ZTFjYiAxMDA2NDQKLS0tIGEvbGlibS9pbmNsdWRlL21pcHMvbWFjaGluZS9mZW52LmgKKysrIGIvbGlibS9pbmNsdWRlL21pcHMvbWFjaGluZS9mZW52LmgKQEAgLTg3LDE5ICs4NywxMiBAQAogI2RlZmluZSBGRV9BTExfRVhDRVBUIChGRV9ESVZCWVpFUk8gfCBGRV9JTkVYQUNUIHwgXAogICAgICAgICAgICAgICAgICAgICAgICBGRV9JTlZBTElEIHwgRkVfT1ZFUkZMT1cgfCBGRV9VTkRFUkZMT1cpCiAKLSNkZWZpbmUgX0ZDU1JfQ0FVU0VfU0hJRlQgMTAKLSNkZWZpbmUgX0VOQUJMRV9TSElGVCAgICAgNQotI2RlZmluZSBfRkNTUl9FTkFCTEVfTUFTSyAoRkVfQUxMX0VYQ0VQVCA8PCBfRU5BQkxFX1NISUZUKQotCiAvKiBSb3VuZGluZyBtb2RlcyAqLwogI2RlZmluZSBGRV9UT05FQVJFU1QgIDB4MDAwMAogI2RlZmluZSBGRV9UT1dBUkRaRVJPIDB4MDAwMQogI2RlZmluZSBGRV9VUFdBUkQgICAgIDB4MDAwMgogI2RlZmluZSBGRV9ET1dOV0FSRCAgIDB4MDAwMwogCi0jZGVmaW5lIF9GQ1NSX1JNT0RFX1NISUZUIDAKLSNkZWZpbmUgX0ZDU1JfUk1BU0sgICAgICAgMHgzCi0KIF9fRU5EX0RFQ0xTCiAKICNlbmRpZiAvKiAhX01JUFNfRkVOVl9IXyAqLwpkaWZmIC0tZ2l0IGEvbGlibS9taXBzL2ZlbnYuYyBiL2xpYm0vbWlwcy9mZW52LmMKaW5kZXggODkzYmMzMC4uYWFjZDUyNiAxMDA2NDQKLS0tIGEvbGlibS9taXBzL2ZlbnYuYworKysgYi9saWJtL21pcHMvZmVudi5jCkBAIC0yOCw2ICsyOCwxMiBAQAogCiAjaW5jbHVkZSA8ZmVudi5oPgogCisjZGVmaW5lIEZDU1JfQ0FVU0VfU0hJRlQgMTAKKyNkZWZpbmUgRkNTUl9FTkFCTEVfU0hJRlQgNQorI2RlZmluZSBGQ1NSX0VOQUJMRV9NQVNLIChGRV9BTExfRVhDRVBUIDw8IEZDU1JfRU5BQkxFX1NISUZUKQorCisjZGVmaW5lIEZDU1JfUk1BU0sgICAgICAgMHgzCisKIC8qCiAgKiBIb3BlZnVsbHkgdGhlIHN5c3RlbSBJRCBieXRlIGlzIGltbXV0YWJsZSwgc28gaXQncyB2YWxpZCB0byB1c2UKICAqIHRoaXMgYXMgYSBkZWZhdWx0IGVudmlyb25tZW50LgpAQCAtNTUsNyArNjEsNyBAQAogICBmZXhjZXB0X3QgX19mY3NyOwogICBmZWdldGVudigmX19mY3NyKTsKICAgX19leGNlcHRzICY9IEZFX0FMTF9FWENFUFQ7Ci0gIF9fZmNzciAmPSB+KF9fZXhjZXB0cyB8IChfX2V4Y2VwdHMgPDwgX0ZDU1JfQ0FVU0VfU0hJRlQpKTsKKyAgX19mY3NyICY9IH4oX19leGNlcHRzIHwgKF9fZXhjZXB0cyA8PCBGQ1NSX0NBVVNFX1NISUZUKSk7CiAgIGZlc2V0ZW52KCZfX2Zjc3IpOwogICByZXR1cm4gMDsKIH0KQEAgLTg0LDcgKzkwLDcgQEAKICAgLyogRW5zdXJlIHRoYXQgZmxhZ3MgYXJlIGFsbCBsZWdhbCAqLwogICBfX2V4Y2VwdHMgJj0gRkVfQUxMX0VYQ0VQVDsKICAgLyogQ2F1c2UgYml0IG5lZWRzIHRvIGJlIHNldCBhcyB3ZWxsIGZvciBnZW5lcmF0aW5nIHRoZSBleGNlcHRpb24qLwotICBfX2Zjc3IgfD0gX19leGNlcHRzIHwgKF9fZXhjZXB0cyA8PCBfRkNTUl9DQVVTRV9TSElGVCk7CisgIF9fZmNzciB8PSBfX2V4Y2VwdHMgfCAoX19leGNlcHRzIDw8IEZDU1JfQ0FVU0VfU0hJRlQpOwogICBmZXNldGVudigmX19mY3NyKTsKICAgcmV0dXJuIDA7CiB9CkBAIC05OCwxNCArMTA0LDE0IEBACiBpbnQgZmVnZXRyb3VuZCh2b2lkKSB7CiAgIGZlbnZfdCBfZmNzcjsKICAgZmVnZXRlbnYoJl9mY3NyKTsKLSAgcmV0dXJuIChfZmNzciAmIF9GQ1NSX1JNQVNLKTsKKyAgcmV0dXJuIChfZmNzciAmIEZDU1JfUk1BU0spOwogfQogCiBpbnQgZmVzZXRyb3VuZChpbnQgX19yb3VuZCkgewogICBmZW52X3QgX2Zjc3I7CiAgIGZlZ2V0ZW52KCZfZmNzcik7Ci0gIF9mY3NyICY9IH5fRkNTUl9STUFTSzsKLSAgX2Zjc3IgfD0gKF9fcm91bmQgJiBfRkNTUl9STUFTSyApIDsKKyAgX2Zjc3IgJj0gfkZDU1JfUk1BU0s7CisgIF9mY3NyIHw9IChfX3JvdW5kICYgRkNTUl9STUFTSyk7CiAgIGZlc2V0ZW52KCZfZmNzcik7CiAgIHJldHVybiAwOwogfQpAQCAtMTE0LDcgKzEyMCw3IEBACiAgIGZlbnZfdCBfX2VudjsKICAgZmVnZXRlbnYoJl9fZW52KTsKICAgKl9fZW52cCA9IF9fZW52OwotICBfX2VudiAmPSB+KEZFX0FMTF9FWENFUFQgfCBfRkNTUl9FTkFCTEVfTUFTSyk7CisgIF9fZW52ICY9IH4oRkVfQUxMX0VYQ0VQVCB8IEZDU1JfRU5BQkxFX01BU0spOwogICBmZXNldGVudigmX19lbnYpOwogICByZXR1cm4gMDsKIH0KQEAgLTEzMCwyMSArMTM2LDIxIEBACiBpbnQgZmVlbmFibGVleGNlcHQoaW50IF9fbWFzaykgewogICBmZW52X3QgX19vbGRfZmNzciwgX19uZXdfZmNzcjsKICAgZmVnZXRlbnYoJl9fb2xkX2Zjc3IpOwotICBfX25ld19mY3NyID0gX19vbGRfZmNzciB8IChfX21hc2sgJiBGRV9BTExfRVhDRVBUKSA8PCBfRU5BQkxFX1NISUZUOworICBfX25ld19mY3NyID0gX19vbGRfZmNzciB8IChfX21hc2sgJiBGRV9BTExfRVhDRVBUKSA8PCBGQ1NSX0VOQUJMRV9TSElGVDsKICAgZmVzZXRlbnYoJl9fbmV3X2Zjc3IpOwotICByZXR1cm4gKChfX29sZF9mY3NyID4+IF9FTkFCTEVfU0hJRlQpICYgRkVfQUxMX0VYQ0VQVCk7CisgIHJldHVybiAoKF9fb2xkX2Zjc3IgPj4gRkNTUl9FTkFCTEVfU0hJRlQpICYgRkVfQUxMX0VYQ0VQVCk7CiB9CiAKIGludCBmZWRpc2FibGVleGNlcHQoaW50IF9fbWFzaykgewogICBmZW52X3QgX19vbGRfZmNzciwgX19uZXdfZmNzcjsKICAgZmVnZXRlbnYoJl9fb2xkX2Zjc3IpOwotICBfX25ld19mY3NyID0gX19vbGRfZmNzciAmIH4oKF9fbWFzayAmIEZFX0FMTF9FWENFUFQpIDw8IF9FTkFCTEVfU0hJRlQpOworICBfX25ld19mY3NyID0gX19vbGRfZmNzciAmIH4oKF9fbWFzayAmIEZFX0FMTF9FWENFUFQpIDw8IEZDU1JfRU5BQkxFX1NISUZUKTsKICAgZmVzZXRlbnYoJl9fbmV3X2Zjc3IpOwotICByZXR1cm4gKChfX29sZF9mY3NyID4+IF9FTkFCTEVfU0hJRlQpICYgRkVfQUxMX0VYQ0VQVCk7CisgIHJldHVybiAoKF9fb2xkX2Zjc3IgPj4gRkNTUl9FTkFCTEVfU0hJRlQpICYgRkVfQUxMX0VYQ0VQVCk7CiB9CiAKIGludCBmZWdldGV4Y2VwdCh2b2lkKSB7CiAgIGZlbnZfdCBfX2Zjc3I7CiAgIGZlZ2V0ZW52KCZfX2Zjc3IpOwotICByZXR1cm4gKChfX2Zjc3IgJiBfRkNTUl9FTkFCTEVfTUFTSykgPj4gX0VOQUJMRV9TSElGVCk7CisgIHJldHVybiAoKF9fZmNzciAmIEZDU1JfRU5BQkxFX01BU0spID4+IEZDU1JfRU5BQkxFX1NISUZUKTsKIH0KZGlmZiAtLWdpdCBhL3Rlc3RzL0FuZHJvaWQuYnVpbGQubWsgYi90ZXN0cy9BbmRyb2lkLmJ1aWxkLm1rCmluZGV4IGMxYTBmMTYuLmU2NWVjMTYgMTAwNjQ0Ci0tLSBhL3Rlc3RzL0FuZHJvaWQuYnVpbGQubWsKKysrIGIvdGVzdHMvQW5kcm9pZC5idWlsZC5tawpAQCAtMTgsMTEgKzE4LDE5IEBACiAKIExPQ0FMX01PRFVMRSA6PSAkKG1vZHVsZSkKIExPQ0FMX01PRFVMRV9UQUdTIDo9ICQobW9kdWxlX3RhZykKK2lmZXEgKCQoYnVpbGRfdHlwZSksaG9zdCkKKyMgQWx3YXlzIG1ha2UgaG9zdCBtdWx0aWxpYgorTE9DQUxfTVVMVElMSUIgOj0gYm90aAorZWxzZQogTE9DQUxfTVVMVElMSUIgOj0gJCgkKG1vZHVsZSlfbXVsdGlsaWIpCitlbmRpZgorCitpZm5lcSAoJChmaW5kc3RyaW5nIExJQlJBUlksICQoYnVpbGRfdGFyZ2V0KSksTElCUkFSWSkKIGlmZXEgKCQoTE9DQUxfTVVMVElMSUIpLGJvdGgpCiAgICAgTE9DQUxfTU9EVUxFX1NURU1fMzIgOj0gJChtb2R1bGUpMzIKICAgICBMT0NBTF9NT0RVTEVfU1RFTV82NCA6PSAkKG1vZHVsZSk2NAogZW5kaWYKK2VuZGlmCiAKIExPQ0FMX0NMQU5HIDo9ICQoJChtb2R1bGUpX2NsYW5nXyQoYnVpbGRfdHlwZSkpCiAKZGlmZiAtLWdpdCBhL3Rlc3RzL0FuZHJvaWQubWsgYi90ZXN0cy9BbmRyb2lkLm1rCmluZGV4IDI1ZjhiMmIuLmMyZTc2YjYgMTAwNjQ0Ci0tLSBhL3Rlc3RzL0FuZHJvaWQubWsKKysrIGIvdGVzdHMvQW5kcm9pZC5tawpAQCAtMjU4LDI3ICsyNTgsMTMgQEAKICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICMgY3JlYXRlIHN5bWxpbmsgdG8gbGliZGxleHRfdGVzdC5zbyBmb3Igc3ltbGluayB0ZXN0CiAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi1saWJkbGV4dF9vcmlnaW4gOj0gJChMT0NBTF9JTlNUQUxMRURfTU9EVUxFKQotbGliZGxleHRfc3ltIDo9ICQoc3Vic3QgbGliZGxleHRfdGVzdCxsaWJkbGV4dF90ZXN0X3YyLCQobGliZGxleHRfb3JpZ2luKSkKLSQobGliZGxleHRfc3ltKTogJChsaWJkbGV4dF9vcmlnaW4pCi0JQGVjaG8gIlN5bWxpbms6ICRAIC0+ICQobm90ZGlyICQ8KSIKLQlAbWtkaXIgLXAgJChkaXIgJEApCi0JJChoaWRlKSBsbiAtc2YgJChub3RkaXIgJDwpICRACi0KLUFMTF9NT0RVTEVTIDo9IFwKLSAgJChBTExfTU9EVUxFUykgJChsaWJkbGV4dF9zeW0pCi0KKyMgVXNlID0gaW5zdGVhZCBvZiA6PSB0byBkZWZlciB0aGUgZXZhbHVhdGlvbiBvZiAkQAorJChMT0NBTF9JTlNUQUxMRURfTU9EVUxFKTogUFJJVkFURV9QT1NUX0lOU1RBTExfQ01EID0gXAorICAgICQoaGlkZSkgY2QgJChkaXIgJEApICYmIGxuIC1zZiAkKG5vdGRpciAkQCkgbGliZGxleHRfdGVzdF92Mi5zbwogaWZuZXEgKCQoVEFSR0VUXzJORF9BUkNIKSwpCiAjIGxpbmsgNjQgYml0IC5zbwotbGliZGxleHRfb3JpZ2luIDo9ICQoVEFSR0VUX09VVCkvbGliNjQvbGliZGxleHRfdGVzdC5zbwotbGliZGxleHRfc3ltIDo9ICQoc3Vic3QgbGliZGxleHRfdGVzdCxsaWJkbGV4dF90ZXN0X3YyLCQobGliZGxleHRfb3JpZ2luKSkKLSQobGliZGxleHRfc3ltKTogJChsaWJkbGV4dF9vcmlnaW4pCi0JQGVjaG8gIlN5bWxpbms6ICRAIC0+ICQobm90ZGlyICQ8KSIKLQlAbWtkaXIgLXAgJChkaXIgJEApCi0JJChoaWRlKSBsbiAtc2YgJChub3RkaXIgJDwpICRACi0KLUFMTF9NT0RVTEVTIDo9IFwKLSAgJChBTExfTU9EVUxFUykgJChsaWJkbGV4dF9zeW0pCiskKFRBUkdFVF9PVVQpL2xpYjY0L2xpYmRsZXh0X3Rlc3Quc286IFBSSVZBVEVfUE9TVF9JTlNUQUxMX0NNRCA9IFwKKyAgICAkKGhpZGUpIGNkICQoZGlyICRAKSAmJiBsbiAtc2YgJChub3RkaXIgJEApIGxpYmRsZXh0X3Rlc3RfdjIuc28KIGVuZGlmCiAKIGxpYmRsZXh0X3Rlc3Rfbm9yZWxyb19zcmNfZmlsZXMgOj0gXApAQCAtMzc5LDcgKzM2NSw3IEBACiAjICAgY2QgYmlvbmljL3Rlc3RzOyBtbSBiaW9uaWMtdW5pdC10ZXN0cy1nbGliYy1ydW4KICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIAotaWZlcSAoJChIT1NUX09TKS0kKEhPU1RfQVJDSCksbGludXgteDg2KQoraWZlcSAoJChIT1NUX09TKS0kKEhPU1RfQVJDSCksJChmaWx0ZXIgJChIT1NUX09TKS0kKEhPU1RfQVJDSCksbGludXgteDg2IGxpbnV4LXg4Nl82NCkpCiAKIGJpb25pYy11bml0LXRlc3RzLWdsaWJjX3NyY19maWxlcyA6PSBcCiAgICAgYXRleGl0X3Rlc3QuY3BwIFwKZGlmZiAtLWdpdCBhL3Rlc3RzL21hdGhfdGVzdC5jcHAgYi90ZXN0cy9tYXRoX3Rlc3QuY3BwCmluZGV4IGIwZDU0MWEuLmI0ZjViMTQgMTAwNjQ0Ci0tLSBhL3Rlc3RzL21hdGhfdGVzdC5jcHAKKysrIGIvdGVzdHMvbWF0aF90ZXN0LmNwcApAQCAtMTI5NSwzICsxMjk1LDE4IEBACiAgIGZsb2F0IGZyID0gZnJleHBmKDE0LjFmLCAmZXhwKTsKICAgQVNTRVJUX0ZMT0FUX0VRKDE0LjFmLCBzY2FsYm5mKGZyLCBleHApKTsKIH0KKworVEVTVChtYXRoLCBleHAyX1NUUklDVF9BTElHTl9PcGVuQlNEX2J1ZykgeworICAvLyBPcGVuQlNEL3g4NidzIGxpYm0gaGFkIGEgYnVnIGhlcmUsIGJ1dCBpdCB3YXMgYWxyZWFkeSBmaXhlZCBpbiBGcmVlQlNEOgorICAvLyBodHRwOi8vc3Zud2ViLkZyZWVCU0Qub3JnL2Jhc2UvaGVhZC9saWIvbXN1bi9zcmMvbWF0aF9wcml2YXRlLmg/cmV2aXNpb249MjQwODI3JnZpZXc9bWFya3VwCisgIEFTU0VSVF9ET1VCTEVfRVEoNS4wLCBleHAyKGxvZzIoNSkpKTsKKyAgQVNTRVJUX0ZMT0FUX0VRKDUuMGYsIGV4cDJmKGxvZzJmKDUpKSk7CisgIEFTU0VSVF9ET1VCTEVfRVEoNS4wTCwgZXhwMmwobG9nMmwoNSkpKTsKK30KKworVEVTVChtYXRoLCBuZXh0YWZ0ZXJsX09wZW5CU0RfYnVnKSB7CisgIC8vIE9wZW5CU0QveDg2J3MgbGlibSBoYWQgYSBidWcgaGVyZS4KKyAgQVNTRVJUX1RSVUUobmV4dGFmdGVyKDEuMCwgMC4wKSAtIDEuMCA8IDAuMCk7CisgIEFTU0VSVF9UUlVFKG5leHRhZnRlcmYoMS4wZiwgMC4wZikgLSAxLjBmIDwgMC4wZik7CisgIEFTU0VSVF9UUlVFKG5leHRhZnRlcmwoMS4wTCwgMC4wTCkgLSAxLjBMIDwgMC4wTCk7Cit9CmRpZmYgLS1naXQgYS90ZXN0cy9zdGRpb190ZXN0LmNwcCBiL3Rlc3RzL3N0ZGlvX3Rlc3QuY3BwCmluZGV4IDBmZjg1YmYuLmUyOTFmNTIgMTAwNjQ0Ci0tLSBhL3Rlc3RzL3N0ZGlvX3Rlc3QuY3BwCisrKyBiL3Rlc3RzL3N0ZGlvX3Rlc3QuY3BwCkBAIC00MjYsNyArNDI2LDI2IEBACiAgIEVYUEVDVF9TVFJFUSgiLTAuMDAwMDAwIiwgYnVmKTsKIH0KIAorVEVTVChzdGRpbywgc25wcmludGZfdXRmOF8xNTQzOTU1NCkgeworICAvLyBodHRwOi8vYi8xNTQzOTU1NAorICBjaGFyIGJ1ZltCVUZTSVpdOworCisgIC8vIDEtYnl0ZSBjaGFyYWN0ZXIuCisgIHNucHJpbnRmKGJ1Ziwgc2l6ZW9mKGJ1ZiksICIlZHglZCIsIDEsIDIpOworICBFWFBFQ1RfU1RSRVEoIjF4MiIsIGJ1Zik7CisgIC8vIDItYnl0ZSBjaGFyYWN0ZXIuCisgIHNucHJpbnRmKGJ1Ziwgc2l6ZW9mKGJ1ZiksICIlZFx4YzJceGEyJWQiLCAxLCAyKTsKKyAgRVhQRUNUX1NUUkVRKCIxwqIyIiwgYnVmKTsKKyAgLy8gMy1ieXRlIGNoYXJhY3Rlci4KKyAgc25wcmludGYoYnVmLCBzaXplb2YoYnVmKSwgIiVkXHhlMlx4ODJceGFjJWQiLCAxLCAyKTsKKyAgRVhQRUNUX1NUUkVRKCIx4oKsMiIsIGJ1Zik7CisgIC8vIDQtYnl0ZSBjaGFyYWN0ZXIuCisgIHNucHJpbnRmKGJ1Ziwgc2l6ZW9mKGJ1ZiksICIlZFx4ZjBceGE0XHhhZFx4YTIlZCIsIDEsIDIpOworICBFWFBFQ1RfU1RSRVEoIjHwpK2iMiIsIGJ1Zik7Cit9CisKIFRFU1Qoc3RkaW8sIGZwcmludGZfZmFpbHVyZXNfNzIyOTUyMCkgeworICAvLyBodHRwOi8vYi83MjI5NTIwCiAgIEZJTEUqIGZwOwogCiAgIC8vIFVuYnVmZmVyZWQgY2FzZSB3aGVyZSB0aGUgZnByaW50ZigzKSBpdHNlbGYgZmFpbHMuCmRpZmYgLS1naXQgYS90ZXN0cy9zdHJpbmdfdGVzdC5jcHAgYi90ZXN0cy9zdHJpbmdfdGVzdC5jcHAKaW5kZXggYzYyZjQzYi4uNjdiMzg2MCAxMDA2NDQKLS0tIGEvdGVzdHMvc3RyaW5nX3Rlc3QuY3BwCisrKyBiL3Rlc3RzL3N0cmluZ190ZXN0LmNwcApAQCAtODEyLDcgKzgxMiw3IEBACiAgICAgICBpbnQgZXhwZWN0ZWQgPSAoc3RhdGljX2Nhc3Q8dW5zaWduZWQgc2hvcnQ+KGMxKSAtIHN0YXRpY19jYXN0PHVuc2lnbmVkIHNob3J0PihjMikpOwogICAgICAgaW50IGFjdHVhbCA9IF9fbWVtY21wMTYoc3RhdGUucHRyMSwgc3RhdGUucHRyMiwgKHNpemVfdCkgc3RhdGUuTUFYX0xFTik7CiAKLSAgICAgIEFTU0VSVF9FUShleHBlY3RlZCwgYWN0dWFsKTsKKyAgICAgIEFTU0VSVF9FUShzaWdudW0oZXhwZWN0ZWQpLCBzaWdudW0oYWN0dWFsKSk7CiAgICAgfQogICB9CiAjZWxzZSAvLyBfX0JJT05JQ19fCmRpZmYgLS1naXQgYS90ZXN0cy93Y2hhcl90ZXN0LmNwcCBiL3Rlc3RzL3djaGFyX3Rlc3QuY3BwCmluZGV4IGU3NjAyNmYuLmE1ZjVmNjMgMTAwNjQ0Ci0tLSBhL3Rlc3RzL3djaGFyX3Rlc3QuY3BwCisrKyBiL3Rlc3RzL3djaGFyX3Rlc3QuY3BwCkBAIC00NDksMyArNDQ5LDMyIEBACiAgIHdtZW1tb3ZlKHdzdHIrNSwgd3N0ciwgc2l6ZW9mKGNvbnN0X3dzdHIpL3NpemVvZih3Y2hhcl90KSAtIDYpOwogICBFWFBFQ1RfU1RSRVEoTCJUaGlzIFRoaXMgaXMgYSB0ZXN0IG9mIHNvbWV0aGluZyBvciBvdGhlciIsIHdzdHIpOwogfQorCitURVNUKHdjaGFyLCBtYnJ0b3djXzE1NDM5NTU0KSB7CisgIC8vIGh0dHA6Ly9iLzE1NDM5NTU0CisgIEFTU0VSVF9TVFJFUSgiQy5VVEYtOCIsIHNldGxvY2FsZShMQ19DVFlQRSwgIkMuVVRGLTgiKSk7CisgIHVzZWxvY2FsZShMQ19HTE9CQUxfTE9DQUxFKTsKKworICBBU1NFUlRfR0Uoc3RhdGljX2Nhc3Q8c2l6ZV90PihNQl9MRU5fTUFYKSwgTUJfQ1VSX01BWCk7CisgIEFTU0VSVF9HRShNQl9DVVJfTUFYLCA0VSk7CisKKyAgd2NoYXJfdCB3YzsKKyAgc2l6ZV90IG47CisKKyAgLy8gMS1ieXRlIGNoYXJhY3Rlci4KKyAgbiA9IG1icnRvd2MoJndjLCAieCIsIE1CX0NVUl9NQVgsIE5VTEwpOworICBFWFBFQ1RfRVEoMVUsIG4pOworICBFWFBFQ1RfRVEoTCd4Jywgd2MpOworICAvLyAyLWJ5dGUgY2hhcmFjdGVyLgorICBuID0gbWJydG93Yygmd2MsICJceGMyXHhhMiIsIE1CX0NVUl9NQVgsIE5VTEwpOworICBFWFBFQ1RfRVEoMlUsIG4pOworICBFWFBFQ1RfRVEoTCfCoicsIHdjKTsKKyAgLy8gMy1ieXRlIGNoYXJhY3Rlci4KKyAgbiA9IG1icnRvd2MoJndjLCAiXHhlMlx4ODJceGFjIiwgTUJfQ1VSX01BWCwgTlVMTCk7CisgIEVYUEVDVF9FUSgzVSwgbik7CisgIEVYUEVDVF9FUShMJ+KCrCcsIHdjKTsKKyAgLy8gNC1ieXRlIGNoYXJhY3Rlci4KKyAgbiA9IG1icnRvd2MoJndjLCAiXHhmMFx4YTRceGFkXHhhMiIsIE1CX0NVUl9NQVgsIE5VTEwpOworICBFWFBFQ1RfRVEoNFUsIG4pOworICBFWFBFQ1RfRVEoTCfwpK2iJywgd2MpOworfQo=