ZGlmZiAtLWdpdCBhL2xpYmMvQW5kcm9pZC5tayBiL2xpYmMvQW5kcm9pZC5tawppbmRleCBhNDAzMTQ2Li42YzUzNWRjIDEwMDY0NAotLS0gYS9saWJjL0FuZHJvaWQubWsKKysrIGIvbGliYy9BbmRyb2lkLm1rCkBAIC00NjUsNiArNDY1LDEzIEBACiAgIGxpYmNfY29tbW9uX2NmbGFncyArPSAtRERFQlVHCiBlbmRpZgogCisjIFRvIGN1c3RvbWl6ZSBkbG1hbGxvYydzIGFsaWdubWVudCwgc2V0IEJPQVJEX01BTExPQ19BTElHTk1FTlQgaW4KKyMgdGhlIGFwcHJvcHJpYXRlIEJvYXJkQ29uZmlnLm1rIGZpbGUuCisjCitpZm5lcSAoJChCT0FSRF9NQUxMT0NfQUxJR05NRU5UKSwpCisgIGxpYmNfY29tbW9uX2NmbGFncyArPSAtRE1BTExPQ19BTElHTk1FTlQ9JChCT0FSRF9NQUxMT0NfQUxJR05NRU5UKQorZW5kaWYKKwogaWZlcSAoJChUQVJHRVRfQVJDSCksYXJtKQogICBsaWJjX2NvbW1vbl9jZmxhZ3MgKz0gLWZzdHJpY3QtYWxpYXNpbmcKICAgbGliY19jcnRfdGFyZ2V0X2NmbGFncyA6PSAtbXRodW1iLWludGVyd29yawpAQCAtNDc4LDYgKzQ4NSwxNCBAQAogICBpZmVxICgkKEFSQ0hfQVJNX0hBVkVfVExTX1JFR0lTVEVSKSx0cnVlKQogICAgIGxpYmNfY29tbW9uX2NmbGFncyArPSAtREhBVkVfQVJNX1RMU19SRUdJU1RFUgogICBlbmRpZgorICAjCisgICMgRGVmaW5lIEhBVkVfMzJfQllURV9DQUNIRV9MSU5FUyB0byBpbmRpY2F0ZSB0byBDCisgICMgbGlicmFyeSBpdCBzaG91bGQgdXNlIHRvIDMyLWJ5dGUgdmVyc2lvbiBvZiBtZW1jcHksIGFuZCBub3QKKyAgIyB0aGUgNjQtYnl0ZSB2ZXJzaW9uLgorICAjCisgIGlmZXEgKCQoQVJDSF9BUk1fSEFWRV8zMl9CWVRFX0NBQ0hFX0xJTkVTKSx0cnVlKQorICAgIGxpYmNfY29tbW9uX2NmbGFncyArPSAtREhBVkVfMzJfQllURV9DQUNIRV9MSU5FCisgIGVuZGlmCiAgIGlmZXEgKCQoQVJDSF9BUk1fVVNFX05PTl9ORU9OX01FTUNQWSksdHJ1ZSkKICAgICBsaWJjX2NvbW1vbl9jZmxhZ3MgKz0gLURBUkNIX0FSTV9VU0VfTk9OX05FT05fTUVNQ1BZCiAgIGVuZGlmCmRpZmYgLS1naXQgYS9saWJjL1NZU0NBTExTLlRYVCBiL2xpYmMvU1lTQ0FMTFMuVFhUCmluZGV4IDE5MjNlYTAuLjUwNGEwNTAgMTAwNjQ0Ci0tLSBhL2xpYmMvU1lTQ0FMTFMuVFhUCisrKyBiL2xpYmMvU1lTQ0FMTFMuVFhUCkBAIC0yMiwxOCArMjIsMTggQEAKICMgICAgICAgIGFzc2VtYmxlciB0ZW1wbGF0ZSBmb3IgdGhlIHN5c2NhbGw7IGl0J3MgdXAgdG8gdGhlIGJpb25pYyBpbXBsZW1lbnRhdGlvbiB0byBwcm92aWRlCiAjICAgICAgICBhIHJlbGV2YW50IEMgc3R1YgogIwotIyAgICAgIC0gYWRkaXRpb25hbGx5LCBpZiB0aGUgc3lzY2FsbCBudW1iZXIgaXMgZGlmZmVyZW50IGFtb3VuZyBBUk0sIGFuZCB4ODYsIHVzZToKLSMgICAgICAgIHJldHVybl90eXBlIGZ1bmNuYW1lWzpzeXNjYWxsX25hbWVdKHBhcmFtZXRlcnMpIGFybV9udW1iZXIseDg2X251bWJlcgorIyAgICAgIC0gYWRkaXRpb25hbGx5LCBpZiB0aGUgc3lzY2FsbCBudW1iZXIgaXMgZGlmZmVyZW50IGFtb3VuZyBBUk0sIGFuZCB4ODYsIE1JUFMgdXNlOgorIyAgICAgICAgcmV0dXJuX3R5cGUgZnVuY25hbWVbOnN5c2NhbGxfbmFtZV0ocGFyYW1ldGVycykgYXJtX251bWJlcix4ODZfbnVtYmVyLCBtaXBzX251bWJlcgogIwogIyB0aGUgZmlsZSBpcyBwcm9jZXNzZWQgYnkgYSBweXRob24gc2NyaXB0IG5hbWVkIGdlbnN5c2NhbGxzLnB5CiAjCiAKICMgcHJvY2VzcyBtYW5hZ2VtZW50Ci12b2lkICAgIF9leGl0OmV4aXRfZ3JvdXAgKGludCkgICAgICAyNDgsMjUyCit2b2lkICAgIF9leGl0OmV4aXRfZ3JvdXAgKGludCkgICAgICAyNDgsMjUyLDI0Ngogdm9pZCAgICBfZXhpdF90aHJlYWQ6ZXhpdCAoaW50KSAgICAgMQogcGlkX3QgICBfX2Zvcms6Zm9yayAodm9pZCkgICAgICAgICAgIDIKLXBpZF90ICAgX3dhaXRwaWQ6d2FpdHBpZCAocGlkX3QsIGludCosIGludCwgc3RydWN0IHJ1c2FnZSopICAgLTEsNwotaW50ICAgICBfX3dhaXRpZDp3YWl0aWQoaW50LCBwaWRfdCwgc3RydWN0IHNpZ2luZm9fdCosIGludCx2b2lkKikgICAgICAgICAgMjgwLDI4NAorcGlkX3QgICBfd2FpdHBpZDp3YWl0cGlkIChwaWRfdCwgaW50KiwgaW50LCBzdHJ1Y3QgcnVzYWdlKikgICAtMSw3LDcKK2ludCAgICAgX193YWl0aWQ6d2FpdGlkKGludCwgcGlkX3QsIHN0cnVjdCBzaWdpbmZvX3QqLCBpbnQsdm9pZCopICAgICAgICAgIDI4MCwyODQsMjc4CiAKICMgTk9URTogdGhpcyBzeXN0ZW0gY2FsbCBpcyBuZXZlciBjYWxsZWQgZGlyZWN0bHksIGJ1dCB3ZSBsaXN0IGl0IHRoZXJlCiAjICAgICAgIHRvIGhhdmUgX19OUl9jbG9uZSBwcm9wZXJseSBkZWZpbmVkLgpAQCAtNDIsNzIgKzQyLDg3IEBACiAKIGludCAgICAgZXhlY3ZlIChjb25zdCBjaGFyKiwgY2hhciogY29uc3QqLCBjaGFyKiBjb25zdCopICAxMQogCi1pbnQgICAgIF9fc2V0dWlkOnNldHVpZDMyICh1aWRfdCkgICAgMjEzCi11aWRfdCAgIGdldHVpZDpnZXR1aWQzMiAoKSAgICAgICAgIDE5OQotZ2lkX3QgICBnZXRnaWQ6Z2V0Z2lkMzIgKCkgICAgICAgICAyMDAKLXVpZF90ICAgZ2V0ZXVpZDpnZXRldWlkMzIgKCkgICAgICAgMjAxCi1naWRfdCAgIGdldGVnaWQ6Z2V0ZWdpZDMyICgpICAgICAgIDIwMgotdWlkX3QgICBnZXRyZXN1aWQ6Z2V0cmVzdWlkMzIgKHVpZF90ICpydWlkLCB1aWRfdCAqZXVpZCwgdWlkX3QgKnN1aWQpICAgMjA5Ci1naWRfdCAgIGdldHJlc2dpZDpnZXRyZXNnaWQzMiAoZ2lkX3QgKnJnaWQsIGdpZF90ICplZ2lkLCBnaWRfdCAqc2dpZCkgICAyMTEKLXBpZF90ICAgZ2V0dGlkKCkgICAgICAgICAgICAgICAgICAgMjI0Ci1zc2l6ZV90IHJlYWRhaGVhZChpbnQsIG9mZjY0X3QsIHNpemVfdCkgICAgIDIyNQotaW50ICAgICBnZXRncm91cHM6Z2V0Z3JvdXBzMzIoaW50LCBnaWRfdCAqKSAgICAyMDUKK2ludCAgICAgX19zZXR1aWQ6c2V0dWlkMzIgKHVpZF90KSAgICAyMTMsMjEzLC0xCitpbnQgICAgIF9fc2V0dWlkOnNldHVpZCAodWlkX3QpICAgLTEsLTEsMjMKK3VpZF90ICAgZ2V0dWlkOmdldHVpZDMyICgpICAgICAgICAgMTk5LDE5OSwtMQordWlkX3QgICBnZXR1aWQ6Z2V0dWlkICgpICAgICAgICAgICAtMSwtMSwyNAorZ2lkX3QgICBnZXRnaWQ6Z2V0Z2lkMzIgKCkgICAgICAgICAyMDAsMjAwLC0xCitnaWRfdCAgIGdldGdpZDpnZXRnaWQgKCkgICAgICAgICAgIC0xLC0xLDQ3Cit1aWRfdCAgIGdldGV1aWQ6Z2V0ZXVpZDMyICgpICAgICAgIDIwMSwyMDEsLTEKK3VpZF90ICAgZ2V0ZXVpZDpnZXRldWlkICgpICAgICAgICAgLTEsLTEsNDkKK2dpZF90ICAgZ2V0ZWdpZDpnZXRlZ2lkMzIgKCkgICAgICAgMjAyLDIwMiwtMQorZ2lkX3QgICBnZXRlZ2lkOmdldGVnaWQgKCkgICAgICAgICAtMSwtMSw1MAordWlkX3QgICBnZXRyZXN1aWQ6Z2V0cmVzdWlkMzIgKHVpZF90ICpydWlkLCB1aWRfdCAqZXVpZCwgdWlkX3QgKnN1aWQpICAgMjA5LDIwOSwtMQordWlkX3QgICBnZXRyZXN1aWQ6Z2V0cmVzdWlkICh1aWRfdCAqcnVpZCwgdWlkX3QgKmV1aWQsIHVpZF90ICpzdWlkKSAgICAgLTEsLTEsMTg2CitnaWRfdCAgIGdldHJlc2dpZDpnZXRyZXNnaWQzMiAoZ2lkX3QgKnJnaWQsIGdpZF90ICplZ2lkLCBnaWRfdCAqc2dpZCkgICAyMTEsMjExLC0xCitnaWRfdCAgIGdldHJlc2dpZDpnZXRyZXNnaWQgKGdpZF90ICpyZ2lkLCBnaWRfdCAqZWdpZCwgZ2lkX3QgKnNnaWQpICAgICAtMSwtMSwxOTEKK3BpZF90ICAgZ2V0dGlkKCkgICAgICAgICAgICAgICAgICAgMjI0LDIyNCwyMjIKK3NzaXplX3QgcmVhZGFoZWFkKGludCwgb2ZmNjRfdCwgc2l6ZV90KSAgICAgMjI1LDIyNSwyMjMKK2ludCAgICAgZ2V0Z3JvdXBzOmdldGdyb3VwczMyKGludCwgZ2lkX3QgKikgICAgMjA1LDIwNSwtMQoraW50ICAgICBnZXRncm91cHM6Z2V0Z3JvdXBzKGludCwgZ2lkX3QgKikgICAgICAtMSwtMSw4MAogcGlkX3QgICBnZXRwZ2lkKHBpZF90KSAgICAgICAgICAgICAxMzIKIHBpZF90ICAgZ2V0cHBpZCgpICAgICAgICAgICAgICAgICAgNjQKIHBpZF90ICAgc2V0c2lkKCkgICAgICAgICAgICAgICAgICAgNjYKLWludCAgICAgc2V0Z2lkOnNldGdpZDMyKGdpZF90KSAgICAgMjE0CitpbnQgICAgIHNldGdpZDpzZXRnaWQzMihnaWRfdCkgICAgIDIxNCwyMTQsLTEKK2ludCAgICAgc2V0Z2lkOnNldGdpZChnaWRfdCkgICAgICAgLTEsLTEsNDYKIGludCAgICAgc2V0ZXVpZDpzZXRldWlkMzIodWlkX3QpICAgc3R1YgotaW50ICAgICBfX3NldHJldWlkOnNldHJldWlkMzIodWlkX3QsIHVpZF90KSAgIDIwMwotaW50ICAgICBfX3NldHJlc3VpZDpzZXRyZXN1aWQzMih1aWRfdCwgdWlkX3QsIHVpZF90KSAgIDIwOAotaW50ICAgICBzZXRyZXNnaWQ6c2V0cmVzZ2lkMzIoZ2lkX3QsIGdpZF90LCBnaWRfdCkgICAyMTAKK2ludCAgICAgX19zZXRyZXVpZDpzZXRyZXVpZDMyKHVpZF90LCB1aWRfdCkgICAyMDMsMjAzLC0xCitpbnQgICAgIF9fc2V0cmV1aWQ6c2V0cmV1aWQodWlkX3QsIHVpZF90KSAgICAgLTEsLTEsNzAKK2ludCAgICAgX19zZXRyZXN1aWQ6c2V0cmVzdWlkMzIodWlkX3QsIHVpZF90LCB1aWRfdCkgICAyMDgsMjA4LC0xCitpbnQgICAgIF9fc2V0cmVzdWlkOnNldHJlc3VpZCh1aWRfdCwgdWlkX3QsIHVpZF90KSAgICAgLTEsLTEsMTg1CitpbnQgICAgIHNldHJlc2dpZDpzZXRyZXNnaWQzMihnaWRfdCwgZ2lkX3QsIGdpZF90KSAgIDIxMCwyMTAsLTEKK2ludCAgICAgc2V0cmVzZ2lkOnNldHJlc2dpZChnaWRfdCwgZ2lkX3QsIGdpZF90KSAgICAgLTEsLTEsMTkwCiB2b2lkKiAgIF9fYnJrOmJyayh2b2lkKikgICAgICAgICAgIDQ1CiAjIHNlZSBjb21tZW50cyBpbiBhcmNoLWFybS9iaW9uaWMva2lsbC5TIHRvIHVuZGVyc3RhbmQgd2h5IHdlIGRvbid0IGdlbmVyYXRlIGFuIEFSTSBzdHViIGZvciBraWxsL3RraWxsCi1pbnQgICAgIGtpbGwocGlkX3QsIGludCkgICAgICAgICAgIC0xLDM3Ci1pbnQgICAgIHRraWxsKHBpZF90IHRpZCwgaW50IHNpZykgIC0xLDIzOAotaW50ICAgICB0Z2tpbGwocGlkX3QgdGdpZCwgcGlkX3QgdGlkLCBpbnQgc2lnKSAgLTEsMjcwCitpbnQgICAgIGtpbGwocGlkX3QsIGludCkgICAgICAgICAgIC0xLDM3LDM3CitpbnQgICAgIHRraWxsKHBpZF90IHRpZCwgaW50IHNpZykgIC0xLDIzOCwyMzYKK2ludCAgICAgdGdraWxsKHBpZF90IHRnaWQsIHBpZF90IHRpZCwgaW50IHNpZykgIC0xLDI3MCwyNjYKIGludCAgICAgX19wdHJhY2U6cHRyYWNlKGludCByZXF1ZXN0LCBpbnQgcGlkLCB2b2lkKiBhZGRyLCB2b2lkKiBkYXRhKSAgMjYKLWludCAgICAgX19zZXRfdGhyZWFkX2FyZWE6c2V0X3RocmVhZF9hcmVhKHZvaWQqICB1c2VyX2Rlc2MpICAtMSwyNDMKK2ludCAgICAgX19zZXRfdGhyZWFkX2FyZWE6c2V0X3RocmVhZF9hcmVhKHZvaWQqICB1c2VyX2Rlc2MpICAtMSwyNDMsMjgzCiBpbnQgICAgIF9fZ2V0cHJpb3JpdHk6Z2V0cHJpb3JpdHkoaW50LCBpbnQpICA5NgogaW50ICAgICBzZXRwcmlvcml0eShpbnQsIGludCwgaW50KSAgIDk3CiBpbnQgICAgIHNldHJsaW1pdChpbnQgcmVzb3VyY2UsIGNvbnN0IHN0cnVjdCBybGltaXQgKnJscCkgIDc1Ci1pbnQgICAgIGdldHJsaW1pdDp1Z2V0cmxpbWl0KGludCByZXNvdXJjZSwgc3RydWN0IHJsaW1pdCAqcmxwKSAgMTkxCitpbnQgICAgIGdldHJsaW1pdDp1Z2V0cmxpbWl0KGludCByZXNvdXJjZSwgc3RydWN0IHJsaW1pdCAqcmxwKSAgMTkxLDE5MSwtMQoraW50ICAgICBnZXRybGltaXQ6Z2V0cmxpbWl0KGludCByZXNvdXJjZSwgc3RydWN0IHJsaW1pdCAqcmxwKSAgLTEsLTEsNzYKIGludCAgICAgZ2V0cnVzYWdlKGludCB3aG8sIHN0cnVjdCBydXNhZ2UqICByX3VzYWdlKSAgNzcKLWludCAgICAgc2V0Z3JvdXBzOnNldGdyb3VwczMyKGludCwgY29uc3QgZ2lkX3QgKikgICAyMDYKK2ludCAgICAgc2V0Z3JvdXBzOnNldGdyb3VwczMyKGludCwgY29uc3QgZ2lkX3QgKikgICAyMDYsMjA2LC0xCitpbnQgICAgIHNldGdyb3VwczpzZXRncm91cHMoaW50LCBjb25zdCBnaWRfdCAqKSAgICAgLTEsLTEsODEKIHBpZF90ICAgZ2V0cGdycCh2b2lkKSAgc3R1YgogaW50ICAgICBzZXRwZ2lkKHBpZF90LCBwaWRfdCkgIDU3Ci1waWRfdCAgIHZmb3JrKHZvaWQpICAxOTAsLTEsMTkwCi1pbnQgICAgIHNldHJlZ2lkOnNldHJlZ2lkMzIoZ2lkX3QsIGdpZF90KSAgMjA0CitwaWRfdCAgIHZmb3JrKHZvaWQpICAxOTAsLTEsLTEKK2ludCAgICAgc2V0cmVnaWQ6c2V0cmVnaWQzMihnaWRfdCwgZ2lkX3QpICAyMDQsMjA0LC0xCitpbnQgICAgIHNldHJlZ2lkOnNldHJlZ2lkKGdpZF90LCBnaWRfdCkgICAgLTEsLTEsNzEKIGludCAgICAgY2hyb290KGNvbnN0IGNoYXIgKikgIDYxCiAjIElNUE9SVEFOVDogRXZlbiB0aG91Z2ggPHN5cy9wcmN0bC5oPiBkZWNsYXJlcyBwcmN0bChpbnQsLi4uKSwgdGhlIHN5c2NhbGwgc3R1YiBtdXN0IHRha2UgNiBhcmd1bWVudHMKICMgICAgICAgICAgICB0byBtYXRjaCB0aGUga2VybmVsIGltcGxlbWVudGF0aW9uLgotaW50ICAgICBwcmN0bChpbnQgb3B0aW9uLCB1bnNpZ25lZCBpbnQgYXJnMiwgdW5zaWduZWQgaW50IGFyZzMsIHVuc2lnbmVkIGludCBhcmc0LCB1bnNpZ25lZCBpbnQgYXJnNSkgIDE3MgotaW50ICAgICBjYXBnZXQoY2FwX3VzZXJfaGVhZGVyX3QgaGVhZGVyLCBjYXBfdXNlcl9kYXRhX3QgZGF0YSkgMTg0Ci1pbnQgICAgIGNhcHNldChjYXBfdXNlcl9oZWFkZXJfdCBoZWFkZXIsIGNvbnN0IGNhcF91c2VyX2RhdGFfdCBkYXRhKSAxODUKLWludCAgICAgc2lnYWx0c3RhY2soY29uc3Qgc3RhY2tfdCosIHN0YWNrX3QqKSAxODYKK2ludCAgICAgcHJjdGwoaW50IG9wdGlvbiwgdW5zaWduZWQgaW50IGFyZzIsIHVuc2lnbmVkIGludCBhcmczLCB1bnNpZ25lZCBpbnQgYXJnNCwgdW5zaWduZWQgaW50IGFyZzUpICAxNzIsMTcyLDE5MgoraW50ICAgICBjYXBnZXQoY2FwX3VzZXJfaGVhZGVyX3QgaGVhZGVyLCBjYXBfdXNlcl9kYXRhX3QgZGF0YSkgMTg0LDE4NCwyMDQKK2ludCAgICAgY2Fwc2V0KGNhcF91c2VyX2hlYWRlcl90IGhlYWRlciwgY29uc3QgY2FwX3VzZXJfZGF0YV90IGRhdGEpIDE4NSwxODUsMjA1CitpbnQgICAgIHNpZ2FsdHN0YWNrKGNvbnN0IHN0YWNrX3QqLCBzdGFja190KikgMTg2LDE4NiwyMDYKIGludCAgICAgYWNjdChjb25zdCBjaGFyKiAgZmlsZXBhdGgpICA1MQogCiAjIGZpbGUgZGVzY3JpcHRvcnMKIHNzaXplX3QgICAgIHJlYWQgKGludCwgdm9pZCosIHNpemVfdCkgICAgICAgIDMKIHNzaXplX3QgICAgIHdyaXRlIChpbnQsIGNvbnN0IHZvaWQqLCBzaXplX3QpICAgICAgIDQKLXNzaXplX3QgICAgIHByZWFkNjQgKGludCwgdm9pZCAqLCBzaXplX3QsIG9mZjY0X3QpIDE4MAotc3NpemVfdCAgICAgcHdyaXRlNjQgKGludCwgdm9pZCAqLCBzaXplX3QsIG9mZjY0X3QpIDE4MQorc3NpemVfdCAgICAgcHJlYWQ2NCAoaW50LCB2b2lkICosIHNpemVfdCwgb2ZmNjRfdCkgMTgwLDE4MCwyMDAKK3NzaXplX3QgICAgIHB3cml0ZTY0IChpbnQsIHZvaWQgKiwgc2l6ZV90LCBvZmY2NF90KSAxODEsMTgxLDIwMQogaW50ICAgICAgICAgX19vcGVuOm9wZW4gKGNvbnN0IGNoYXIqLCBpbnQsIG1vZGVfdCkgIDUKLWludCAgICAgICAgIF9fb3BlbmF0Om9wZW5hdCAoaW50LCBjb25zdCBjaGFyKiwgaW50LCBtb2RlX3QpICAzMjIsMjk1CitpbnQgICAgICAgICBfX29wZW5hdDpvcGVuYXQgKGludCwgY29uc3QgY2hhciosIGludCwgbW9kZV90KSAgMzIyLDI5NSwyODgKIGludCAgICAgICAgIGNsb3NlIChpbnQpICAgICAgICAgICAgICAgICAgICAgIDYKIGludCAgICAgICAgIGNyZWF0KGNvbnN0IGNoYXIqLCBtb2RlX3QpICAgICAgIHN0dWIKIG9mZl90ICAgICAgIGxzZWVrKGludCwgb2ZmX3QsIGludCkgICAgICAgICAgIDE5CiBpbnQgICAgICAgICBfX2xsc2VlazpfbGxzZWVrIChpbnQsIHVuc2lnbmVkIGxvbmcsIHVuc2lnbmVkIGxvbmcsIGxvZmZfdCosIGludCkgIDE0MAogcGlkX3QgICAgICAgZ2V0cGlkICgpICAgIDIwCiB2b2lkICogICAgICBtbWFwKHZvaWQgKiwgc2l6ZV90LCBpbnQsIGludCwgaW50LCBsb25nKSAgc3R1Ygotdm9pZCAqICAgICAgX19tbWFwMjptbWFwMih2b2lkKiwgc2l6ZV90LCBpbnQsIGludCwgaW50LCBsb25nKSAgIDE5Mgordm9pZCAqICAgICAgX19tbWFwMjptbWFwMih2b2lkKiwgc2l6ZV90LCBpbnQsIGludCwgaW50LCBsb25nKSAgIDE5MiwxOTIsMjEwCiBpbnQgICAgICAgICBtdW5tYXAodm9pZCAqLCBzaXplX3QpICA5MQotdm9pZCAqICAgICAgbXJlbWFwKHZvaWQgKiwgc2l6ZV90LCBzaXplX3QsIHVuc2lnbmVkIGxvbmcpICAxNjMKK3ZvaWQgKiAgICAgIG1yZW1hcCh2b2lkICosIHNpemVfdCwgc2l6ZV90LCB1bnNpZ25lZCBsb25nKSAgMTYzLDE2MywxNjcKIGludCAgICAgICAgIG1zeW5jKGNvbnN0IHZvaWQgKiwgc2l6ZV90LCBpbnQpICAgIDE0NAogaW50ICAgICAgICAgbXByb3RlY3QoY29uc3Qgdm9pZCAqLCBzaXplX3QsIGludCkgIDEyNQotaW50ICAgICAgICAgbWFkdmlzZShjb25zdCB2b2lkICosIHNpemVfdCwgaW50KSAgMjIwLDIxOQotaW50ICAgICAgICAgbWxvY2soY29uc3Qgdm9pZCAqYWRkciwgc2l6ZV90IGxlbikgICAgMTUwCi1pbnQgICAgICAgICBtdW5sb2NrKGNvbnN0IHZvaWQgKmFkZHIsIHNpemVfdCBsZW4pICAgMTUxCi1pbnQgICAgICAgICBtaW5jb3JlKHZvaWQqICBzdGFydCwgc2l6ZV90ICBsZW5ndGgsIHVuc2lnbmVkIGNoYXIqICB2ZWMpICAgMjE5LDIxOAoraW50ICAgICAgICAgbWFkdmlzZShjb25zdCB2b2lkICosIHNpemVfdCwgaW50KSAgMjIwLDIxOSwyMTgKK2ludCAgICAgICAgIG1sb2NrKGNvbnN0IHZvaWQgKmFkZHIsIHNpemVfdCBsZW4pICAgIDE1MCwxNTAsMTU0CitpbnQgICAgICAgICBtdW5sb2NrKGNvbnN0IHZvaWQgKmFkZHIsIHNpemVfdCBsZW4pICAgMTUxLDE1MSwxNTUKK2ludCAgICAgICAgIG1pbmNvcmUodm9pZCogIHN0YXJ0LCBzaXplX3QgIGxlbmd0aCwgdW5zaWduZWQgY2hhciogIHZlYykgICAyMTksMjE4LDIxNwogaW50ICAgICAgICAgX19pb2N0bDppb2N0bChpbnQsIGludCwgdm9pZCAqKSAgNTQKIGludCAgICAgICAgIHJlYWR2KGludCwgY29uc3Qgc3RydWN0IGlvdmVjICosIGludCkgICAxNDUKIGludCAgICAgICAgIHdyaXRldihpbnQsIGNvbnN0IHN0cnVjdCBpb3ZlYyAqLCBpbnQpICAxNDYKQEAgLTExNSwxNDQgKzEzMCwxNDcgQEAKIGludCAgICAgICAgIGZsb2NrKGludCwgaW50KSAgIDE0MwogaW50ICAgICAgICAgZmNobW9kKGludCwgbW9kZV90KSAgOTQKIGludCAgICAgICAgIGR1cChpbnQpICA0MQotaW50ICAgICAgICAgcGlwZShpbnQgKikgIDQyLDQyCi1pbnQgICAgICAgICBwaXBlMihpbnQgKiwgaW50KSAzNTksMzMxCitpbnQgICAgICAgICBwaXBlKGludCAqKSAgNDIsNDIsLTEKK2ludCAgICAgICAgIHBpcGUyKGludCAqLCBpbnQpIDM1OSwzMzEsMzI4CiBpbnQgICAgICAgICBkdXAyKGludCwgaW50KSAgIDYzCiBpbnQgICAgICAgICBzZWxlY3Q6X25ld3NlbGVjdChpbnQsIHN0cnVjdCBmZF9zZXQgKiwgc3RydWN0IGZkX3NldCAqLCBzdHJ1Y3QgZmRfc2V0ICosIHN0cnVjdCB0aW1ldmFsICopICAxNDIKIGludCAgICAgICAgIGZ0cnVuY2F0ZShpbnQsIG9mZl90KSAgOTMKLWludCAgICAgICAgIGZ0cnVuY2F0ZTY0KGludCwgb2ZmNjRfdCkgMTk0Ci1pbnQgICAgICAgICBnZXRkZW50czpnZXRkZW50czY0KHVuc2lnbmVkIGludCwgc3RydWN0IGRpcmVudCAqLCB1bnNpZ25lZCBpbnQpICAgMjE3LDIyMAoraW50ICAgICAgICAgZnRydW5jYXRlNjQoaW50LCBvZmY2NF90KSAxOTQsMTk0LDIxMgoraW50ICAgICAgICAgZ2V0ZGVudHM6Z2V0ZGVudHM2NCh1bnNpZ25lZCBpbnQsIHN0cnVjdCBkaXJlbnQgKiwgdW5zaWduZWQgaW50KSAgIDIxNywyMjAsMjE5CiBpbnQgICAgICAgICBmc3luYyhpbnQpICAxMTgKLWludCAgICAgICAgIGZkYXRhc3luYyhpbnQpIDE0OAotaW50ICAgICAgICAgZmNob3duOmZjaG93bjMyKGludCwgdWlkX3QsIGdpZF90KSAgMjA3CitpbnQgICAgICAgICBmZGF0YXN5bmMoaW50KSAxNDgsMTQ4LDE1MgoraW50ICAgICAgICAgZmNob3duOmZjaG93bjMyKGludCwgdWlkX3QsIGdpZF90KSAgMjA3LDIwNywtMQoraW50ICAgICAgICAgZmNob3duOmZjaG93bihpbnQsIHVpZF90LCBnaWRfdCkgICAgLTEsLTEsOTUKIHZvaWQgICAgICAgIHN5bmModm9pZCkgIDM2Ci1pbnQgICAgICAgICBfX2ZjbnRsNjQ6ZmNudGw2NChpbnQsIGludCwgdm9pZCAqKSAgMjIxCi1pbnQgICAgICAgICBfX2ZzdGF0ZnM2NDpmc3RhdGZzNjQoaW50LCBzaXplX3QsIHN0cnVjdCBzdGF0ZnMgKikgIDI2NywyNjkKLXNzaXplX3QgICAgIHNlbmRmaWxlKGludCBvdXRfZmQsIGludCBpbl9mZCwgb2ZmX3QgKm9mZnNldCwgc2l6ZV90IGNvdW50KSAgMTg3Ci1pbnQgICAgICAgICBmc3RhdGF0OmZzdGF0YXQ2NChpbnQgZGlyZmQsIGNvbnN0IGNoYXIgKnBhdGgsIHN0cnVjdCBzdGF0ICpidWYsIGludCBmbGFncykgICAzMjcsMzAwCi1pbnQgICAgICAgICBta2RpcmF0KGludCBkaXJmZCwgY29uc3QgY2hhciAqcGF0aG5hbWUsIG1vZGVfdCBtb2RlKSAgMzIzLDI5NgotaW50ICAgICAgICAgZmNob3duYXQoaW50IGRpcmZkLCBjb25zdCBjaGFyICpwYXRoLCB1aWRfdCBvd25lciwgZ2lkX3QgZ3JvdXAsIGludCBmbGFncykgIDMyNSwyOTgKLWludCAgICAgICAgIGZjaG1vZGF0KGludCBkaXJmZCwgY29uc3QgY2hhciAqcGF0aCwgbW9kZV90IG1vZGUsIGludCBmbGFncykgIDMzMywzMDYKLWludCAgICAgICAgIHJlbmFtZWF0KGludCBvbGRkaXJmZCwgY29uc3QgY2hhciAqb2xkcGF0aCwgaW50IG5ld2RpcmZkLCBjb25zdCBjaGFyICpuZXdwYXRoKSAgMzI5LDMwMgotaW50ICAgICAgICAgZnNldHhhdHRyKGludCwgY29uc3QgY2hhciAqLCBjb25zdCB2b2lkICosIHNpemVfdCwgaW50KSAyMjgKLXNzaXplX3QgICAgIGZnZXR4YXR0cihpbnQsIGNvbnN0IGNoYXIgKiwgdm9pZCAqLCBzaXplX3QpIDIzMQotc3NpemVfdCAgICAgZmxpc3R4YXR0cihpbnQsIGNoYXIgKiwgc2l6ZV90KSAyMzQKLWludCAgICAgICAgIGZyZW1vdmV4YXR0cihpbnQsIGNvbnN0IGNoYXIgKikgMjM3CitpbnQgICAgICAgICBfX2ZjbnRsNjQ6ZmNudGw2NChpbnQsIGludCwgdm9pZCAqKSAgMjIxLDIyMSwyMjAKK2ludCAgICAgICAgIF9fZnN0YXRmczY0OmZzdGF0ZnM2NChpbnQsIHNpemVfdCwgc3RydWN0IHN0YXRmcyAqKSAgMjY3LDI2OSwyNTYKK3NzaXplX3QgICAgIHNlbmRmaWxlKGludCBvdXRfZmQsIGludCBpbl9mZCwgb2ZmX3QgKm9mZnNldCwgc2l6ZV90IGNvdW50KSAgMTg3LDE4NywyMDcKK2ludCAgICAgICAgIGZzdGF0YXQ6ZnN0YXRhdDY0KGludCBkaXJmZCwgY29uc3QgY2hhciAqcGF0aCwgc3RydWN0IHN0YXQgKmJ1ZiwgaW50IGZsYWdzKSAgIDMyNywzMDAsMjkzCitpbnQgICAgICAgICBta2RpcmF0KGludCBkaXJmZCwgY29uc3QgY2hhciAqcGF0aG5hbWUsIG1vZGVfdCBtb2RlKSAgMzIzLDI5NiwyODkKK2ludCAgICAgICAgIGZjaG93bmF0KGludCBkaXJmZCwgY29uc3QgY2hhciAqcGF0aCwgdWlkX3Qgb3duZXIsIGdpZF90IGdyb3VwLCBpbnQgZmxhZ3MpICAzMjUsMjk4LDI5MQoraW50ICAgICAgICAgZmNobW9kYXQoaW50IGRpcmZkLCBjb25zdCBjaGFyICpwYXRoLCBtb2RlX3QgbW9kZSwgaW50IGZsYWdzKSAgMzMzLDMwNiwyOTkKK2ludCAgICAgICAgIHJlbmFtZWF0KGludCBvbGRkaXJmZCwgY29uc3QgY2hhciAqb2xkcGF0aCwgaW50IG5ld2RpcmZkLCBjb25zdCBjaGFyICpuZXdwYXRoKSAgMzI5LDMwMiwyOTUKK2ludCAgICAgICAgIGZzZXR4YXR0cihpbnQsIGNvbnN0IGNoYXIgKiwgY29uc3Qgdm9pZCAqLCBzaXplX3QsIGludCkgMjI4LDIyOCwyMjYKK3NzaXplX3QgICAgIGZnZXR4YXR0cihpbnQsIGNvbnN0IGNoYXIgKiwgdm9pZCAqLCBzaXplX3QpIDIzMSwyMzEsMjI5Citzc2l6ZV90ICAgICBmbGlzdHhhdHRyKGludCwgY2hhciAqLCBzaXplX3QpIDIzNCwyMzQsMjMyCitpbnQgICAgICAgICBmcmVtb3ZleGF0dHIoaW50LCBjb25zdCBjaGFyICopIDIzNywyMzcsMjM1CiAKICMgZmlsZSBzeXN0ZW0KIGludCAgICAgbGluayAoY29uc3QgY2hhciosIGNvbnN0IGNoYXIqKSAgOQogaW50ICAgICB1bmxpbmsgKGNvbnN0IGNoYXIqKSAgICAgICAgICAgICAxMAotaW50ICAgICB1bmxpbmthdCAoaW50LCBjb25zdCBjaGFyICosIGludCkgICAzMjgsMzAxCitpbnQgICAgIHVubGlua2F0IChpbnQsIGNvbnN0IGNoYXIgKiwgaW50KSAgIDMyOCwzMDEsMjk0CiBpbnQgICAgIGNoZGlyIChjb25zdCBjaGFyKikgICAgICAgICAgICAgIDEyCiBpbnQgICAgIG1rbm9kIChjb25zdCBjaGFyKiwgbW9kZV90LCBkZXZfdCkgIDE0CiBpbnQgICAgIGNobW9kIChjb25zdCBjaGFyKixtb2RlX3QpICAgICAgICAgIDE1Ci1pbnQgICAgIGNob3duOmNob3duMzIoY29uc3QgY2hhciAqLCB1aWRfdCwgZ2lkX3QpICAyMTIKLWludCAgICAgbGNob3duOmxjaG93bjMyIChjb25zdCBjaGFyKiwgdWlkX3QsIGdpZF90KSAgMTk4CitpbnQgICAgIGNob3duOmNob3duMzIoY29uc3QgY2hhciAqLCB1aWRfdCwgZ2lkX3QpICAyMTIsMjEyLC0xCitpbnQgICAgIGNob3duOmNob3duKGNvbnN0IGNoYXIgKiwgdWlkX3QsIGdpZF90KSAgICAtMSwtMSwyMDIKK2ludCAgICAgbGNob3duOmxjaG93bjMyIChjb25zdCBjaGFyKiwgdWlkX3QsIGdpZF90KSAgMTk4LDE5OCwtMQoraW50ICAgICBsY2hvd246bGNob3duIChjb25zdCBjaGFyKiwgdWlkX3QsIGdpZF90KSAgLTEsLTEsMTYKIGludCAgICAgbW91bnQgKGNvbnN0IGNoYXIqLCBjb25zdCBjaGFyKiwgY29uc3QgY2hhciosIHVuc2lnbmVkIGxvbmcsIGNvbnN0IHZvaWQqKSAgMjEKIGludCAgICAgdW1vdW50KGNvbnN0IGNoYXIqKSAgc3R1YgogaW50ICAgICB1bW91bnQyIChjb25zdCBjaGFyKiwgaW50KSAgNTIKLWludCAgICAgZnN0YXQ6ZnN0YXQ2NChpbnQsIHN0cnVjdCBzdGF0KikgICAgMTk3Ci1pbnQgICAgIHN0YXQ6c3RhdDY0KGNvbnN0IGNoYXIgKiwgc3RydWN0IHN0YXQgKikgIDE5NQotaW50ICAgICBsc3RhdDpsc3RhdDY0KGNvbnN0IGNoYXIgKiwgc3RydWN0IHN0YXQgKikgIDE5NgoraW50ICAgICBmc3RhdDpmc3RhdDY0KGludCwgc3RydWN0IHN0YXQqKSAgICAxOTcsMTk3LDIxNQoraW50ICAgICBzdGF0OnN0YXQ2NChjb25zdCBjaGFyICosIHN0cnVjdCBzdGF0ICopICAxOTUsMTk1LDIxMworaW50ICAgICBsc3RhdDpsc3RhdDY0KGNvbnN0IGNoYXIgKiwgc3RydWN0IHN0YXQgKikgIDE5NiwxOTYsMjE0CiBpbnQgICAgIG1rZGlyKGNvbnN0IGNoYXIgKiwgbW9kZV90KSAzOQogaW50ICAgICByZWFkbGluayhjb25zdCBjaGFyICosIGNoYXIgKiwgc2l6ZV90KSAgODUKIGludCAgICAgcm1kaXIoY29uc3QgY2hhciAqKSAgNDAKIGludCAgICAgcmVuYW1lKGNvbnN0IGNoYXIgKiwgY29uc3QgY2hhciAqKSAgMzgKLWludCAgICAgX19nZXRjd2Q6Z2V0Y3dkKGNoYXIgKiBidWYsIHNpemVfdCBzaXplKSAgMTgzCitpbnQgICAgIF9fZ2V0Y3dkOmdldGN3ZChjaGFyICogYnVmLCBzaXplX3Qgc2l6ZSkgIDE4MywxODMsMjAzCiBpbnQgICAgIGFjY2Vzcyhjb25zdCBjaGFyICosIGludCkgIDMzCi1pbnQgICAgIGZhY2Nlc3NhdChpbnQsIGNvbnN0IGNoYXIgKiwgaW50LCBpbnQpICAzMzQsMzA3CitpbnQgICAgIGZhY2Nlc3NhdChpbnQsIGNvbnN0IGNoYXIgKiwgaW50LCBpbnQpICAzMzQsMzA3LDMwMAogaW50ICAgICBzeW1saW5rKGNvbnN0IGNoYXIgKiwgY29uc3QgY2hhciAqKSAgODMKIGludCAgICAgZmNoZGlyKGludCkgICAgMTMzCiBpbnQgICAgIHRydW5jYXRlKGNvbnN0IGNoYXIqLCBvZmZfdCkgICAgOTIKLWludCAgICAgc2V0eGF0dHIoY29uc3QgY2hhciAqLCBjb25zdCBjaGFyICosIGNvbnN0IHZvaWQgKiwgc2l6ZV90LCBpbnQpIDIyNgotaW50ICAgICBsc2V0eGF0dHIoY29uc3QgY2hhciAqLCBjb25zdCBjaGFyICosIGNvbnN0IHZvaWQgKiwgc2l6ZV90LCBpbnQpIDIyNwotc3NpemVfdCBnZXR4YXR0cihjb25zdCBjaGFyICosIGNvbnN0IGNoYXIgKiwgdm9pZCAqLCBzaXplX3QpIDIyOQotc3NpemVfdCBsZ2V0eGF0dHIoY29uc3QgY2hhciAqLCBjb25zdCBjaGFyICosIHZvaWQgKiwgc2l6ZV90KSAyMzAKLXNzaXplX3QgbGlzdHhhdHRyKGNvbnN0IGNoYXIgKiwgY2hhciAqLCBzaXplX3QpIDIzMgotc3NpemVfdCBsbGlzdHhhdHRyKGNvbnN0IGNoYXIgKiwgY2hhciAqLCBzaXplX3QpIDIzMwotaW50ICAgICByZW1vdmV4YXR0cihjb25zdCBjaGFyICosIGNvbnN0IGNoYXIgKikgMjM1Ci1pbnQgICAgIGxyZW1vdmV4YXR0cihjb25zdCBjaGFyICosIGNvbnN0IGNoYXIgKikgMjM2Ci1pbnQgICAgIF9fc3RhdGZzNjQ6c3RhdGZzNjQoY29uc3QgY2hhciAqLCBzaXplX3QsIHN0cnVjdCBzdGF0ZnMgKikgIDI2NiwyNjgKK2ludCAgICAgc2V0eGF0dHIoY29uc3QgY2hhciAqLCBjb25zdCBjaGFyICosIGNvbnN0IHZvaWQgKiwgc2l6ZV90LCBpbnQpIDIyNiwyMjYsMjI0CitpbnQgICAgIGxzZXR4YXR0cihjb25zdCBjaGFyICosIGNvbnN0IGNoYXIgKiwgY29uc3Qgdm9pZCAqLCBzaXplX3QsIGludCkgMjI3LDIyNywyMjUKK3NzaXplX3QgZ2V0eGF0dHIoY29uc3QgY2hhciAqLCBjb25zdCBjaGFyICosIHZvaWQgKiwgc2l6ZV90KSAyMjksMjI5LDIyNworc3NpemVfdCBsZ2V0eGF0dHIoY29uc3QgY2hhciAqLCBjb25zdCBjaGFyICosIHZvaWQgKiwgc2l6ZV90KSAyMzAsMjMwLDIyOAorc3NpemVfdCBsaXN0eGF0dHIoY29uc3QgY2hhciAqLCBjaGFyICosIHNpemVfdCkgMjMyLDIzMiwyMzAKK3NzaXplX3QgbGxpc3R4YXR0cihjb25zdCBjaGFyICosIGNoYXIgKiwgc2l6ZV90KSAyMzMsMjMzLDIzMQoraW50ICAgICByZW1vdmV4YXR0cihjb25zdCBjaGFyICosIGNvbnN0IGNoYXIgKikgMjM1LDIzNSwyMzMKK2ludCAgICAgbHJlbW92ZXhhdHRyKGNvbnN0IGNoYXIgKiwgY29uc3QgY2hhciAqKSAyMzYsMjM2LDIzNAoraW50ICAgICBfX3N0YXRmczY0OnN0YXRmczY0KGNvbnN0IGNoYXIgKiwgc2l6ZV90LCBzdHJ1Y3Qgc3RhdGZzICopICAyNjYsMjY4LDI1NQogCiAjIHRpbWUKIGludCAgICAgICAgICAgcGF1c2UgKCkgICAgICAgICAgICAgICAgICAgICAgIDI5CiBpbnQgICAgICAgICAgIGdldHRpbWVvZmRheShzdHJ1Y3QgdGltZXZhbCosIHN0cnVjdCB0aW1lem9uZSopICAgICAgIDc4CiBpbnQgICAgICAgICAgIHNldHRpbWVvZmRheShjb25zdCBzdHJ1Y3QgdGltZXZhbCosIGNvbnN0IHN0cnVjdCB0aW1lem9uZSopICAgNzkKIGNsb2NrX3QgICAgICAgdGltZXMoc3RydWN0IHRtcyAqKSAgICAgICA0MwotaW50ICAgICAgICAgICBuYW5vc2xlZXAoY29uc3Qgc3RydWN0IHRpbWVzcGVjICosIHN0cnVjdCB0aW1lc3BlYyAqKSAgIDE2MgotaW50ICAgICAgICAgICBjbG9ja19nZXR0aW1lKGNsb2NraWRfdCBjbGtfaWQsIHN0cnVjdCB0aW1lc3BlYyAqdHApICAgIDI2MywyNjUKLWludCAgICAgICAgICAgY2xvY2tfc2V0dGltZShjbG9ja2lkX3QgY2xrX2lkLCBjb25zdCBzdHJ1Y3QgdGltZXNwZWMgKnRwKSAgMjYyLDI2NAotaW50ICAgICAgICAgICBjbG9ja19nZXRyZXMoY2xvY2tpZF90IGNsa19pZCwgc3RydWN0IHRpbWVzcGVjICpyZXMpICAgMjY0LDI2NgotaW50ICAgICAgICAgICBjbG9ja19uYW5vc2xlZXAoY2xvY2tpZF90IGNsb2NrX2lkLCBpbnQgZmxhZ3MsIGNvbnN0IHN0cnVjdCB0aW1lc3BlYyAqcmVxLCBzdHJ1Y3QgdGltZXNwZWMgKnJlbSkgIDI2NSwyNjcKK2ludCAgICAgICAgICAgbmFub3NsZWVwKGNvbnN0IHN0cnVjdCB0aW1lc3BlYyAqLCBzdHJ1Y3QgdGltZXNwZWMgKikgICAxNjIsMTYyLDE2NgoraW50ICAgICAgICAgICBjbG9ja19nZXR0aW1lKGNsb2NraWRfdCBjbGtfaWQsIHN0cnVjdCB0aW1lc3BlYyAqdHApICAgIDI2MywyNjUsMjYzCitpbnQgICAgICAgICAgIGNsb2NrX3NldHRpbWUoY2xvY2tpZF90IGNsa19pZCwgY29uc3Qgc3RydWN0IHRpbWVzcGVjICp0cCkgIDI2MiwyNjQsMjYyCitpbnQgICAgICAgICAgIGNsb2NrX2dldHJlcyhjbG9ja2lkX3QgY2xrX2lkLCBzdHJ1Y3QgdGltZXNwZWMgKnJlcykgICAyNjQsMjY2LDI2NAoraW50ICAgICAgICAgICBjbG9ja19uYW5vc2xlZXAoY2xvY2tpZF90IGNsb2NrX2lkLCBpbnQgZmxhZ3MsIGNvbnN0IHN0cnVjdCB0aW1lc3BlYyAqcmVxLCBzdHJ1Y3QgdGltZXNwZWMgKnJlbSkgIDI2NSwyNjcsMjY1CiBpbnQgICAgICAgICAgIGdldGl0aW1lcihpbnQsIGNvbnN0IHN0cnVjdCBpdGltZXJ2YWwgKikgICAxMDUKIGludCAgICAgICAgICAgc2V0aXRpbWVyKGludCwgY29uc3Qgc3RydWN0IGl0aW1lcnZhbCAqLCBzdHJ1Y3QgaXRpbWVydmFsICopICAxMDQKLWludCAgICAgICAgICAgX190aW1lcl9jcmVhdGU6dGltZXJfY3JlYXRlKGNsb2NraWRfdCBjbG9ja2lkLCBzdHJ1Y3Qgc2lnZXZlbnQgKmV2cCwgdGltZXJfdCAqdGltZXJpZCkgICAgMjU3LDI1OQotaW50ICAgICAgICAgICBfX3RpbWVyX3NldHRpbWU6dGltZXJfc2V0dGltZSh0aW1lcl90LCBpbnQsIGNvbnN0IHN0cnVjdCBpdGltZXJzcGVjKiwgc3RydWN0IGl0aW1lcnNwZWMqKSAyNTgsMjYwCi1pbnQgICAgICAgICAgIF9fdGltZXJfZ2V0dGltZTp0aW1lcl9nZXR0aW1lKHRpbWVyX3QsIHN0cnVjdCBpdGltZXJzcGVjKikgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDI1OSwyNjEKLWludCAgICAgICAgICAgX190aW1lcl9nZXRvdmVycnVuOnRpbWVyX2dldG92ZXJydW4odGltZXJfdCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMjYwLDI2MgotaW50ICAgICAgICAgICBfX3RpbWVyX2RlbGV0ZTp0aW1lcl9kZWxldGUodGltZXJfdCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyNjEsMjYzCi1pbnQgICAgICAgICAgIHV0aW1lcyhjb25zdCBjaGFyKiwgY29uc3Qgc3RydWN0IHRpbWV2YWwgdHZwWzJdKSAgICAgICAgICAgICAgICAgICAgICAgICAgMjY5LCAyNzEKLWludCAgICAgICAgICAgdXRpbWVuc2F0KGludCwgY29uc3QgY2hhciAqLCBjb25zdCBzdHJ1Y3QgdGltZXNwZWMgdGltZXNbMl0sIGludCkgICAgICAgICAzNDgsIDMyMCwgMzIwCitpbnQgICAgICAgICAgIF9fdGltZXJfY3JlYXRlOnRpbWVyX2NyZWF0ZShjbG9ja2lkX3QgY2xvY2tpZCwgc3RydWN0IHNpZ2V2ZW50ICpldnAsIHRpbWVyX3QgKnRpbWVyaWQpICAgIDI1NywyNTksMjU3CitpbnQgICAgICAgICAgIF9fdGltZXJfc2V0dGltZTp0aW1lcl9zZXR0aW1lKHRpbWVyX3QsIGludCwgY29uc3Qgc3RydWN0IGl0aW1lcnNwZWMqLCBzdHJ1Y3QgaXRpbWVyc3BlYyopIDI1OCwyNjAsMjU4CitpbnQgICAgICAgICAgIF9fdGltZXJfZ2V0dGltZTp0aW1lcl9nZXR0aW1lKHRpbWVyX3QsIHN0cnVjdCBpdGltZXJzcGVjKikgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDI1OSwyNjEsMjU5CitpbnQgICAgICAgICAgIF9fdGltZXJfZ2V0b3ZlcnJ1bjp0aW1lcl9nZXRvdmVycnVuKHRpbWVyX3QpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDI2MCwyNjIsMjYwCitpbnQgICAgICAgICAgIF9fdGltZXJfZGVsZXRlOnRpbWVyX2RlbGV0ZSh0aW1lcl90KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDI2MSwyNjMsMjYxCitpbnQgICAgICAgICAgIHV0aW1lcyhjb25zdCBjaGFyKiwgY29uc3Qgc3RydWN0IHRpbWV2YWwgdHZwWzJdKSAgICAgICAgICAgICAgICAgICAgICAgICAgMjY5LDI3MSwyNjcKK2ludCAgICAgICAgICAgdXRpbWVuc2F0KGludCwgY29uc3QgY2hhciAqLCBjb25zdCBzdHJ1Y3QgdGltZXNwZWMgdGltZXNbMl0sIGludCkgICAgICAgICAzNDgsMzIwLDMxNgogCiAjIHNpZ25hbHMKIGludCAgICAgc2lnYWN0aW9uKGludCwgY29uc3Qgc3RydWN0IHNpZ2FjdGlvbiAqLCBzdHJ1Y3Qgc2lnYWN0aW9uICopICA2NwogaW50ICAgICBzaWdwcm9jbWFzayhpbnQsIGNvbnN0IHNpZ3NldF90ICosIHNpZ3NldF90ICopICAxMjYKIGludCAgICAgX19zaWdzdXNwZW5kOnNpZ3N1c3BlbmQoaW50IHVudXNlZDEsIGludCB1bnVzZWQyLCB1bnNpZ25lZCBtYXNrKSAgNzIKLWludCAgICAgX19ydF9zaWdhY3Rpb246cnRfc2lnYWN0aW9uIChpbnQgc2lnLCBjb25zdCBzdHJ1Y3Qgc2lnYWN0aW9uICphY3QsIHN0cnVjdCBzaWdhY3Rpb24gKm9hY3QsIHNpemVfdCBzaWdzZXRzaXplKSAgMTc0Ci1pbnQgICAgIF9fcnRfc2lncHJvY21hc2s6cnRfc2lncHJvY21hc2sgKGludCAgaG93LCBjb25zdCBzaWdzZXRfdCAqc2V0LCBzaWdzZXRfdCAqb3NldCwgc2l6ZV90IHNpZ3NldHNpemUpICAxNzUKLWludCAgICAgX19ydF9zaWd0aW1lZHdhaXQ6cnRfc2lndGltZWR3YWl0KGNvbnN0IHNpZ3NldF90ICpzZXQsIHN0cnVjdCBzaWdpbmZvX3QgICppbmZvLCBzdHJ1Y3QgdGltZXNwZWNfdCAgKnRpbWVvdXQsIHNpemVfdCAgc2lnc2V0X3NpemUpICAxNzcKK2ludCAgICAgX19ydF9zaWdhY3Rpb246cnRfc2lnYWN0aW9uIChpbnQgc2lnLCBjb25zdCBzdHJ1Y3Qgc2lnYWN0aW9uICphY3QsIHN0cnVjdCBzaWdhY3Rpb24gKm9hY3QsIHNpemVfdCBzaWdzZXRzaXplKSAgMTc0LDE3NCwxOTQKK2ludCAgICAgX19ydF9zaWdwcm9jbWFzazpydF9zaWdwcm9jbWFzayAoaW50ICBob3csIGNvbnN0IHNpZ3NldF90ICpzZXQsIHNpZ3NldF90ICpvc2V0LCBzaXplX3Qgc2lnc2V0c2l6ZSkgIDE3NSwxNzUsMTk1CitpbnQgICAgIF9fcnRfc2lndGltZWR3YWl0OnJ0X3NpZ3RpbWVkd2FpdChjb25zdCBzaWdzZXRfdCAqc2V0LCBzdHJ1Y3Qgc2lnaW5mb190ICAqaW5mbywgc3RydWN0IHRpbWVzcGVjX3QgICp0aW1lb3V0LCBzaXplX3QgIHNpZ3NldF9zaXplKSAgMTc3LDE3NywxOTcKIGludCAgICAgc2lncGVuZGluZyhzaWdzZXRfdCAqKSAgNzMKIAogIyBzb2NrZXRzCi1pbnQgICAgICAgICAgIHNvY2tldChpbnQsIGludCwgaW50KSAgICAgICAgICAgICAgMjgxLC0xCi1pbnQgICAgICAgICAgIHNvY2tldHBhaXIoaW50LCBpbnQsIGludCwgaW50KikgICAgMjg4LC0xCi1pbnQgICAgICAgICAgIGJpbmQoaW50LCBzdHJ1Y3Qgc29ja2FkZHIgKiwgaW50KSAgMjgyLC0xCi1pbnQgICAgICAgICAgIGNvbm5lY3QoaW50LCBzdHJ1Y3Qgc29ja2FkZHIgKiwgc29ja2xlbl90KSAgIDI4MywtMQotaW50ICAgICAgICAgICBsaXN0ZW4oaW50LCBpbnQpICAgICAgICAgICAgICAgICAgIDI4NCwtMQotaW50ICAgICAgICAgICBhY2NlcHQoaW50LCBzdHJ1Y3Qgc29ja2FkZHIgKiwgc29ja2xlbl90ICopICAyODUsLTEKLWludCAgICAgICAgICAgZ2V0c29ja25hbWUoaW50LCBzdHJ1Y3Qgc29ja2FkZHIgKiwgc29ja2xlbl90ICopICAyODYsLTEKLWludCAgICAgICAgICAgZ2V0cGVlcm5hbWUoaW50LCBzdHJ1Y3Qgc29ja2FkZHIgKiwgc29ja2xlbl90ICopICAyODcsLTEKLWludCAgICAgICAgICAgc2VuZHRvKGludCwgY29uc3Qgdm9pZCAqLCBzaXplX3QsIGludCwgY29uc3Qgc3RydWN0IHNvY2thZGRyICosIHNvY2tsZW5fdCkgIDI5MCwtMQotaW50ICAgICAgICAgICByZWN2ZnJvbShpbnQsIHZvaWQgKiwgc2l6ZV90LCB1bnNpZ25lZCBpbnQsIHN0cnVjdCBzb2NrYWRkciAqLCBzb2NrbGVuX3QgKikgIDI5MiwtMQotaW50ICAgICAgICAgICBzaHV0ZG93bihpbnQsIGludCkgIDI5MywtMQotaW50ICAgICAgICAgICBzZXRzb2Nrb3B0KGludCwgaW50LCBpbnQsIGNvbnN0IHZvaWQgKiwgc29ja2xlbl90KSAgMjk0LC0xCi1pbnQgICAgICAgICAgIGdldHNvY2tvcHQoaW50LCBpbnQsIGludCwgdm9pZCAqLCBzb2NrbGVuX3QgKikgICAgMjk1LC0xCi1pbnQgICAgICAgICAgIHNlbmRtc2coaW50LCBjb25zdCBzdHJ1Y3QgbXNnaGRyICosIHVuc2lnbmVkIGludCkgIDI5NiwtMQotaW50ICAgICAgICAgICByZWN2bXNnKGludCwgc3RydWN0IG1zZ2hkciAqLCB1bnNpZ25lZCBpbnQpICAgMjk3LC0xCitpbnQgICAgICAgICAgIHNvY2tldChpbnQsIGludCwgaW50KSAgICAgICAgICAgICAgMjgxLC0xLDE4MworaW50ICAgICAgICAgICBzb2NrZXRwYWlyKGludCwgaW50LCBpbnQsIGludCopICAgIDI4OCwtMSwxODQKK2ludCAgICAgICAgICAgYmluZChpbnQsIHN0cnVjdCBzb2NrYWRkciAqLCBpbnQpICAyODIsLTEsMTY5CitpbnQgICAgICAgICAgIGNvbm5lY3QoaW50LCBzdHJ1Y3Qgc29ja2FkZHIgKiwgc29ja2xlbl90KSAgIDI4MywtMSwxNzAKK2ludCAgICAgICAgICAgbGlzdGVuKGludCwgaW50KSAgICAgICAgICAgICAgICAgICAyODQsLTEsMTc0CitpbnQgICAgICAgICAgIGFjY2VwdChpbnQsIHN0cnVjdCBzb2NrYWRkciAqLCBzb2NrbGVuX3QgKikgIDI4NSwtMSwxNjgKK2ludCAgICAgICAgICAgZ2V0c29ja25hbWUoaW50LCBzdHJ1Y3Qgc29ja2FkZHIgKiwgc29ja2xlbl90ICopICAyODYsLTEsMTcyCitpbnQgICAgICAgICAgIGdldHBlZXJuYW1lKGludCwgc3RydWN0IHNvY2thZGRyICosIHNvY2tsZW5fdCAqKSAgMjg3LC0xLDE3MQoraW50ICAgICAgICAgICBzZW5kdG8oaW50LCBjb25zdCB2b2lkICosIHNpemVfdCwgaW50LCBjb25zdCBzdHJ1Y3Qgc29ja2FkZHIgKiwgc29ja2xlbl90KSAgMjkwLC0xLDE4MAoraW50ICAgICAgICAgICByZWN2ZnJvbShpbnQsIHZvaWQgKiwgc2l6ZV90LCB1bnNpZ25lZCBpbnQsIHN0cnVjdCBzb2NrYWRkciAqLCBzb2NrbGVuX3QgKikgIDI5MiwtMSwxNzYKK2ludCAgICAgICAgICAgc2h1dGRvd24oaW50LCBpbnQpICAyOTMsLTEsMTgyCitpbnQgICAgICAgICAgIHNldHNvY2tvcHQoaW50LCBpbnQsIGludCwgY29uc3Qgdm9pZCAqLCBzb2NrbGVuX3QpICAyOTQsLTEsMTgxCitpbnQgICAgICAgICAgIGdldHNvY2tvcHQoaW50LCBpbnQsIGludCwgdm9pZCAqLCBzb2NrbGVuX3QgKikgICAgMjk1LC0xLDE3MworaW50ICAgICAgICAgICBzZW5kbXNnKGludCwgY29uc3Qgc3RydWN0IG1zZ2hkciAqLCB1bnNpZ25lZCBpbnQpICAyOTYsLTEsMTc5CitpbnQgICAgICAgICAgIHJlY3Ztc2coaW50LCBzdHJ1Y3QgbXNnaGRyICosIHVuc2lnbmVkIGludCkgICAyOTcsLTEsMTc3CiAKICMgc29ja2V0cyBmb3IgeDg2LiBUaGVzZSBhcmUgZG9uZSBhcyBhbiAiaW5kZXhlZCIgY2FsbCB0byBzb2NrZXRjYWxsIHN5c2NhbGwuCi1pbnQgICAgICAgICAgIHNvY2tldDpzb2NrZXRjYWxsOjEgKGludCwgaW50LCBpbnQpIC0xLDEwMgotaW50ICAgICAgICAgICBiaW5kOnNvY2tldGNhbGw6MiAoaW50LCBzdHJ1Y3Qgc29ja2FkZHIgKiwgaW50KSAgLTEsMTAyCi1pbnQgICAgICAgICAgIGNvbm5lY3Q6c29ja2V0Y2FsbDozKGludCwgc3RydWN0IHNvY2thZGRyICosIHNvY2tsZW5fdCkgICAtMSwxMDIKLWludCAgICAgICAgICAgbGlzdGVuOnNvY2tldGNhbGw6NChpbnQsIGludCkgICAgICAgICAgICAgICAgICAgLTEsMTAyCi1pbnQgICAgICAgICAgIGFjY2VwdDpzb2NrZXRjYWxsOjUoaW50LCBzdHJ1Y3Qgc29ja2FkZHIgKiwgc29ja2xlbl90ICopICAtMSwxMDIKLWludCAgICAgICAgICAgZ2V0c29ja25hbWU6c29ja2V0Y2FsbDo2KGludCwgc3RydWN0IHNvY2thZGRyICosIHNvY2tsZW5fdCAqKSAgLTEsMTAyCi1pbnQgICAgICAgICAgIGdldHBlZXJuYW1lOnNvY2tldGNhbGw6NyhpbnQsIHN0cnVjdCBzb2NrYWRkciAqLCBzb2NrbGVuX3QgKikgIC0xLDEwMgotaW50ICAgICAgICAgICBzb2NrZXRwYWlyOnNvY2tldGNhbGw6OChpbnQsIGludCwgaW50LCBpbnQqKSAgICAtMSwxMDIKLWludCAgICAgICAgICAgc2VuZHRvOnNvY2tldGNhbGw6MTEoaW50LCBjb25zdCB2b2lkICosIHNpemVfdCwgaW50LCBjb25zdCBzdHJ1Y3Qgc29ja2FkZHIgKiwgc29ja2xlbl90KSAgLTEsMTAyCi1pbnQgICAgICAgICAgIHJlY3Zmcm9tOnNvY2tldGNhbGw6MTIoaW50LCB2b2lkICosIHNpemVfdCwgdW5zaWduZWQgaW50LCBzdHJ1Y3Qgc29ja2FkZHIgKiwgc29ja2xlbl90ICopICAtMSwxMDIKK2ludCAgICAgICAgICAgc29ja2V0OnNvY2tldGNhbGw6MSAoaW50LCBpbnQsIGludCkgLTEsMTAyLC0xCitpbnQgICAgICAgICAgIGJpbmQ6c29ja2V0Y2FsbDoyIChpbnQsIHN0cnVjdCBzb2NrYWRkciAqLCBpbnQpICAtMSwxMDIsLTEKK2ludCAgICAgICAgICAgY29ubmVjdDpzb2NrZXRjYWxsOjMoaW50LCBzdHJ1Y3Qgc29ja2FkZHIgKiwgc29ja2xlbl90KSAgIC0xLDEwMiwtMQoraW50ICAgICAgICAgICBsaXN0ZW46c29ja2V0Y2FsbDo0KGludCwgaW50KSAgICAgICAgICAgICAgICAgICAtMSwxMDIsLTEKK2ludCAgICAgICAgICAgYWNjZXB0OnNvY2tldGNhbGw6NShpbnQsIHN0cnVjdCBzb2NrYWRkciAqLCBzb2NrbGVuX3QgKikgIC0xLDEwMiwtMQoraW50ICAgICAgICAgICBnZXRzb2NrbmFtZTpzb2NrZXRjYWxsOjYoaW50LCBzdHJ1Y3Qgc29ja2FkZHIgKiwgc29ja2xlbl90ICopICAtMSwxMDIsLTEKK2ludCAgICAgICAgICAgZ2V0cGVlcm5hbWU6c29ja2V0Y2FsbDo3KGludCwgc3RydWN0IHNvY2thZGRyICosIHNvY2tsZW5fdCAqKSAgLTEsMTAyLC0xCitpbnQgICAgICAgICAgIHNvY2tldHBhaXI6c29ja2V0Y2FsbDo4KGludCwgaW50LCBpbnQsIGludCopICAgIC0xLDEwMiwtMQoraW50ICAgICAgICAgICBzZW5kdG86c29ja2V0Y2FsbDoxMShpbnQsIGNvbnN0IHZvaWQgKiwgc2l6ZV90LCBpbnQsIGNvbnN0IHN0cnVjdCBzb2NrYWRkciAqLCBzb2NrbGVuX3QpICAtMSwxMDIsLTEKK2ludCAgICAgICAgICAgcmVjdmZyb206c29ja2V0Y2FsbDoxMihpbnQsIHZvaWQgKiwgc2l6ZV90LCB1bnNpZ25lZCBpbnQsIHN0cnVjdCBzb2NrYWRkciAqLCBzb2NrbGVuX3QgKikgIC0xLDEwMiwtMQogaW50ICAgICAgICAgICBzaHV0ZG93bjpzb2NrZXRjYWxsOjEzKGludCwgaW50KSAgLTEsMTAyLC0xCi1pbnQgICAgICAgICAgIHNldHNvY2tvcHQ6c29ja2V0Y2FsbDoxNChpbnQsIGludCwgaW50LCBjb25zdCB2b2lkICosIHNvY2tsZW5fdCkgIC0xLDEwMgotaW50ICAgICAgICAgICBnZXRzb2Nrb3B0OnNvY2tldGNhbGw6MTUoaW50LCBpbnQsIGludCwgdm9pZCAqLCBzb2NrbGVuX3QgKikgICAgLTEsMTAyCi1pbnQgICAgICAgICAgIHNlbmRtc2c6c29ja2V0Y2FsbDoxNihpbnQsIGNvbnN0IHN0cnVjdCBtc2doZHIgKiwgdW5zaWduZWQgaW50KSAgLTEsMTAyCi1pbnQgICAgICAgICAgIHJlY3Ztc2c6c29ja2V0Y2FsbDoxNyhpbnQsIHN0cnVjdCBtc2doZHIgKiwgdW5zaWduZWQgaW50KSAgIC0xLDEwMgoraW50ICAgICAgICAgICBzZXRzb2Nrb3B0OnNvY2tldGNhbGw6MTQoaW50LCBpbnQsIGludCwgY29uc3Qgdm9pZCAqLCBzb2NrbGVuX3QpICAtMSwxMDIsLTEKK2ludCAgICAgICAgICAgZ2V0c29ja29wdDpzb2NrZXRjYWxsOjE1KGludCwgaW50LCBpbnQsIHZvaWQgKiwgc29ja2xlbl90ICopICAgIC0xLDEwMiwtMQoraW50ICAgICAgICAgICBzZW5kbXNnOnNvY2tldGNhbGw6MTYoaW50LCBjb25zdCBzdHJ1Y3QgbXNnaGRyICosIHVuc2lnbmVkIGludCkgIC0xLDEwMiwtMQoraW50ICAgICAgICAgICByZWN2bXNnOnNvY2tldGNhbGw6MTcoaW50LCBzdHJ1Y3QgbXNnaGRyICosIHVuc2lnbmVkIGludCkgICAtMSwxMDIsLTEKIAogIyBzY2hlZHVsZXIgJiByZWFsLXRpbWUKLWludCBzY2hlZF9zZXRzY2hlZHVsZXIocGlkX3QgcGlkLCBpbnQgcG9saWN5LCBjb25zdCBzdHJ1Y3Qgc2NoZWRfcGFyYW0gKnBhcmFtKSAgMTU2Ci1pbnQgc2NoZWRfZ2V0c2NoZWR1bGVyKHBpZF90IHBpZCkgIDE1NwotaW50IHNjaGVkX3lpZWxkKHZvaWQpICAxNTgKLWludCBzY2hlZF9zZXRwYXJhbShwaWRfdCBwaWQsIGNvbnN0IHN0cnVjdCBzY2hlZF9wYXJhbSAqcGFyYW0pICAxNTQKLWludCBzY2hlZF9nZXRwYXJhbShwaWRfdCBwaWQsIHN0cnVjdCBzY2hlZF9wYXJhbSAqcGFyYW0pICAxNTUKLWludCBzY2hlZF9nZXRfcHJpb3JpdHlfbWF4KGludCBwb2xpY3kpICAxNTkKLWludCBzY2hlZF9nZXRfcHJpb3JpdHlfbWluKGludCBwb2xpY3kpICAxNjAKLWludCBzY2hlZF9ycl9nZXRfaW50ZXJ2YWwocGlkX3QgcGlkLCBzdHJ1Y3QgdGltZXNwZWMgKmludGVydmFsKSAgMTYxCi1pbnQgc2NoZWRfc2V0YWZmaW5pdHkocGlkX3QgcGlkLCBzaXplX3Qgc2V0c2l6ZSwgY29uc3QgY3B1X3NldF90KiBzZXQpIDI0MQotaW50IF9fc2NoZWRfZ2V0YWZmaW5pdHk6c2NoZWRfZ2V0YWZmaW5pdHkocGlkX3QgcGlkLCBzaXplX3Qgc2V0c2l6ZSwgY3B1X3NldF90KiBzZXQpICAyNDIKLWludCBfX2dldGNwdTpnZXRjcHUodW5zaWduZWQgKmNwdSwgdW5zaWduZWQgKm5vZGUsIHZvaWQgKnVudXNlZCkgMzQ1LDMxOAoraW50IHNjaGVkX3NldHNjaGVkdWxlcihwaWRfdCBwaWQsIGludCBwb2xpY3ksIGNvbnN0IHN0cnVjdCBzY2hlZF9wYXJhbSAqcGFyYW0pICAxNTYsMTU2LDE2MAoraW50IHNjaGVkX2dldHNjaGVkdWxlcihwaWRfdCBwaWQpICAxNTcsMTU3LDE2MQoraW50IHNjaGVkX3lpZWxkKHZvaWQpICAxNTgsMTU4LDE2MgoraW50IHNjaGVkX3NldHBhcmFtKHBpZF90IHBpZCwgY29uc3Qgc3RydWN0IHNjaGVkX3BhcmFtICpwYXJhbSkgIDE1NCwxNTQsMTU4CitpbnQgc2NoZWRfZ2V0cGFyYW0ocGlkX3QgcGlkLCBzdHJ1Y3Qgc2NoZWRfcGFyYW0gKnBhcmFtKSAgMTU1LDE1NSwxNTkKK2ludCBzY2hlZF9nZXRfcHJpb3JpdHlfbWF4KGludCBwb2xpY3kpICAxNTksMTU5LDE2MworaW50IHNjaGVkX2dldF9wcmlvcml0eV9taW4oaW50IHBvbGljeSkgIDE2MCwxNjAsMTY0CitpbnQgc2NoZWRfcnJfZ2V0X2ludGVydmFsKHBpZF90IHBpZCwgc3RydWN0IHRpbWVzcGVjICppbnRlcnZhbCkgIDE2MSwxNjEsMTY1CitpbnQgc2NoZWRfc2V0YWZmaW5pdHkocGlkX3QgcGlkLCBzaXplX3Qgc2V0c2l6ZSwgY29uc3QgY3B1X3NldF90KiBzZXQpIDI0MSwyNDEsMjM5CitpbnQgX19zY2hlZF9nZXRhZmZpbml0eTpzY2hlZF9nZXRhZmZpbml0eShwaWRfdCBwaWQsIHNpemVfdCBzZXRzaXplLCBjcHVfc2V0X3QqIHNldCkgIDI0MiwyNDIsMjQwCitpbnQgX19nZXRjcHU6Z2V0Y3B1KHVuc2lnbmVkICpjcHUsIHVuc2lnbmVkICpub2RlLCB2b2lkICp1bnVzZWQpIDM0NSwzMTgsMzEyCiAKICMgaW8gcHJpb3JpdGllcwotaW50IGlvcHJpb19zZXQoaW50IHdoaWNoLCBpbnQgd2hvLCBpbnQgaW9wcmlvKSAzMTQsMjg5Ci1pbnQgaW9wcmlvX2dldChpbnQgd2hpY2gsIGludCB3aG8pIDMxNSwyOTAKK2ludCBpb3ByaW9fc2V0KGludCB3aGljaCwgaW50IHdobywgaW50IGlvcHJpbykgMzE0LDI4OSwzMTQKK2ludCBpb3ByaW9fZ2V0KGludCB3aGljaCwgaW50IHdobykgMzE1LDI5MCwzMTUKIAogIyBvdGhlcgogaW50ICAgICB1bmFtZShzdHJ1Y3QgdXRzbmFtZSAqKSAgMTIyCkBAIC0yNjgsMjEgKzI4NiwyNSBAQAogbG9uZyAgICBwZXJmX2V2ZW50X29wZW4oc3RydWN0IHBlcmZfZXZlbnRfYXR0ciAqYXR0cl91cHRyLCBwaWRfdCBwaWQsIGludCBjcHUsIGludCBncm91cF9mZCwgdW5zaWduZWQgbG9uZyBmbGFncykgMzY0CiAKICMgZnV0ZXgKLWludAlmdXRleCh2b2lkICosIGludCwgaW50LCB2b2lkICosIHZvaWQgKiwgaW50KSAyNDAKK2ludAlmdXRleCh2b2lkICosIGludCwgaW50LCB2b2lkICosIHZvaWQgKiwgaW50KSAyNDAsMjQwLDIzOAogCiAjIGVwb2xsCi1pbnQgICAgIGVwb2xsX2NyZWF0ZShpbnQgc2l6ZSkgICAgIDI1MCwyNTQKLWludCAgICAgZXBvbGxfY3RsKGludCBlcGZkLCBpbnQgb3AsIGludCBmZCwgc3RydWN0IGVwb2xsX2V2ZW50ICpldmVudCkgICAgMjUxLDI1NQotaW50ICAgICBlcG9sbF93YWl0KGludCBlcGZkLCBzdHJ1Y3QgZXBvbGxfZXZlbnQgKmV2ZW50cywgaW50IG1heCwgaW50IHRpbWVvdXQpICAgMjUyLDI1NgoraW50ICAgICBlcG9sbF9jcmVhdGUoaW50IHNpemUpICAgICAyNTAsMjU0LDI0OAoraW50ICAgICBlcG9sbF9jdGwoaW50IGVwZmQsIGludCBvcCwgaW50IGZkLCBzdHJ1Y3QgZXBvbGxfZXZlbnQgKmV2ZW50KSAgICAyNTEsMjU1LDI0OQoraW50ICAgICBlcG9sbF93YWl0KGludCBlcGZkLCBzdHJ1Y3QgZXBvbGxfZXZlbnQgKmV2ZW50cywgaW50IG1heCwgaW50IHRpbWVvdXQpICAgMjUyLDI1NiwyNTAKIAotaW50ICAgICBpbm90aWZ5X2luaXQodm9pZCkgICAgICAzMTYsMjkxLDI5MAotaW50ICAgICBpbm90aWZ5X2FkZF93YXRjaChpbnQsIGNvbnN0IGNoYXIgKiwgdW5zaWduZWQgaW50KSAgMzE3LDI5MgotaW50ICAgICBpbm90aWZ5X3JtX3dhdGNoKGludCwgdW5zaWduZWQgaW50KSAgMzE4LDI5MworaW50ICAgICBpbm90aWZ5X2luaXQodm9pZCkgICAgICAzMTYsMjkxLDI4NAoraW50ICAgICBpbm90aWZ5X2FkZF93YXRjaChpbnQsIGNvbnN0IGNoYXIgKiwgdW5zaWduZWQgaW50KSAgMzE3LDI5MiwyODUKK2ludCAgICAgaW5vdGlmeV9ybV93YXRjaChpbnQsIHVuc2lnbmVkIGludCkgIDMxOCwyOTMsMjg2CiAKLWludCAgICAgcG9sbChzdHJ1Y3QgcG9sbGZkICosIHVuc2lnbmVkIGludCwgbG9uZykgIDE2OAoraW50ICAgICBwb2xsKHN0cnVjdCBwb2xsZmQgKiwgdW5zaWduZWQgaW50LCBsb25nKSAgMTY4LDE2OCwxODgKIAotaW50ICAgICBldmVudGZkOmV2ZW50ZmQyKHVuc2lnbmVkIGludCwgaW50KSAgMzU2LDMyOAoraW50ICAgICBldmVudGZkOmV2ZW50ZmQyKHVuc2lnbmVkIGludCwgaW50KSAgMzU2LDMyOCwzMjUKIAogIyBBUk0tc3BlY2lmaWMgQVJNX05SX0JBU0UgPT0gMHgwZjAwMDAgPT0gOTgzMDQwCi1pbnQgICAgIF9fc2V0X3RsczpBUk1fc2V0X3Rscyh2b2lkKikgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA5ODMwNDUsLTEKLWludCAgICAgY2FjaGVmbHVzaDpBUk1fY2FjaGVmbHVzaChsb25nIHN0YXJ0LCBsb25nIGVuZCwgbG9uZyBmbGFncykgIDk4MzA0MiwtMQoraW50ICAgICBfX3NldF90bHM6QVJNX3NldF90bHModm9pZCopICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOTgzMDQ1LC0xLC0xCitpbnQgICAgIGNhY2hlZmx1c2g6QVJNX2NhY2hlZmx1c2gobG9uZyBzdGFydCwgbG9uZyBlbmQsIGxvbmcgZmxhZ3MpICA5ODMwNDIsLTEsLTEKKworIyBNSVBTLXNwZWNpZmljCitpbnQJX2ZsdXNoX2NhY2hlOmNhY2hlZmx1c2goY2hhciAqYWRkciwgY29uc3QgaW50IG5ieXRlcywgY29uc3QgaW50IG9wKQktMSwtMSwxNDcKK2ludAlzeXNjYWxsKGludCBudW1iZXIsLi4uKSAtMSwtMSwwCmRpZmYgLS1naXQgYS9saWJjL2FyY2gtYXJtL2Jpb25pYy9tZW1jcHkuUyBiL2xpYmMvYXJjaC1hcm0vYmlvbmljL21lbWNweS5TCmluZGV4IDhjMGI0ZDcuLjg0NTNjYzAgMTAwNjQ0Ci0tLSBhL2xpYmMvYXJjaC1hcm0vYmlvbmljL21lbWNweS5TCisrKyBiL2xpYmMvYXJjaC1hcm0vYmlvbmljL21lbWNweS5TCkBAIC0zNCwyMyArMzQsMjggQEAKICAgICAgICAgLnRleHQKICAgICAgICAgLmZwdSAgICBuZW9uCiAKKyNpZmRlZiBIQVZFXzMyX0JZVEVfQ0FDSEVfTElORQorLyogYSBwcmVmZXRjaCBkaXN0YW5jZSBvZiAyIGNhY2hlLWxpbmVzICovCisjZGVmaW5lIENBQ0hFX0xJTkVfU0laRSAgICAgMzIKKyNkZWZpbmUgUFJFRkVUQ0hfRElTVEFOQ0UgICAoQ0FDSEVfTElORV9TSVpFKjIpCisjZWxzZQogLyogYSBwcmVmZXRjaCBkaXN0YW5jZSBvZiA0IGNhY2hlLWxpbmVzIHdvcmtzIGJlc3QgZXhwZXJpbWVudGFsbHkgKi8KICNkZWZpbmUgQ0FDSEVfTElORV9TSVpFICAgICA2NAogI2RlZmluZSBQUkVGRVRDSF9ESVNUQU5DRSAgIChDQUNIRV9MSU5FX1NJWkUqNCkKKyNlbmRpZgogCiBFTlRSWShtZW1jcHkpCiAgICAgICAgIC5zYXZlICAgICAgIHtyMCwgbHJ9Ci0gICAgICAgIHN0bWZkICAgICAgIHNwISwge3IwLCBscn0KLQogICAgICAgICAvKiBzdGFydCBwcmVsb2FkaW5nIGFzIGVhcmx5IGFzIHBvc3NpYmxlICovCiAgICAgICAgIHBsZCAgICAgICAgIFtyMSwgIyhDQUNIRV9MSU5FX1NJWkUqMCldCisgICAgICAgIHN0bWZkICAgICAgIHNwISwge3IwLCBscn0KICAgICAgICAgcGxkICAgICAgICAgW3IxLCAjKENBQ0hFX0xJTkVfU0laRSoxKV0KIAogICAgICAgICAvKiBkbyB3ZSBoYXZlIGF0IGxlYXN0IDE2LWJ5dGVzIHRvIGNvcHkgKG5lZWRlZCBmb3IgYWxpZ25tZW50IGJlbG93KSAqLwogICAgICAgICBjbXAgICAgICAgICByMiwgIzE2CiAgICAgICAgIGJsbyAgICAgICAgIDVmCiAKLSAgICAgICAgLyogYWxpZ24gZGVzdGluYXRpb24gdG8gaGFsZiBjYWNoZS1saW5lIGZvciB0aGUgd3JpdGUtYnVmZmVyICovCisgICAgICAgIC8qIGFsaWduIGRlc3RpbmF0aW9uIHRvIGNhY2hlLWxpbmUgZm9yIHRoZSB3cml0ZS1idWZmZXIgKi8KICAgICAgICAgcnNiICAgICAgICAgcjMsIHIwLCAjMAogICAgICAgICBhbmRzICAgICAgICByMywgcjMsICMweEYKICAgICAgICAgYmVxICAgICAgICAgMGYKQEAgLTc5LDYgKzg0LDI2IEBACiAgICAgICAgIHBsZCAgICAgICAgIFtyMSwgIyhDQUNIRV9MSU5FX1NJWkUqMCldCiAgICAgICAgIHBsZCAgICAgICAgIFtyMSwgIyhDQUNIRV9MSU5FX1NJWkUqMSldCiAKKyNpZmRlZiBIQVZFXzMyX0JZVEVfQ0FDSEVfTElORQorICAgICAgICAvKiBtYWtlIHN1cmUgd2UgaGF2ZSBhdCBsZWFzdCAzMiBieXRlcyB0byBjb3B5ICovCisgICAgICAgIHN1YnMgICAgICAgIHIyLCByMiwgIzMyCisgICAgICAgIGJsbyAgICAgICAgIDRmCisKKyAgICAgICAgLyogcHJlbG9hZCBhbGwgdGhlIGNhY2hlIGxpbmVzIHdlIG5lZWQuCisgICAgICAgICAqIE5PVEU6IHRoZSBudW1iZXIgb2YgcGxkIGJlbG93IGRlcGVuZHMgb24gUFJFRkVUQ0hfRElTVEFOQ0UsCisgICAgICAgICAqIGlkZWFsbHkgd291bGQgd291bGQgaW5jcmVhc2UgdGhlIGRpc3RhbmNlIGluIHRoZSBtYWluIGxvb3AgdG8KKyAgICAgICAgICogYXZvaWQgdGhlIGdvb2Z5IGNvZGUgYmVsb3cuIEluIHByYWN0aWNlIHRoaXMgZG9lc24ndCBzZWVtIHRvIG1ha2UKKyAgICAgICAgICogYSBiaWcgZGlmZmVyZW5jZS4KKyAgICAgICAgICovCisgICAgICAgIHBsZCAgICAgICAgIFtyMSwgIyhQUkVGRVRDSF9ESVNUQU5DRSldCisKKzE6ICAgICAgLyogVGhlIG1haW4gbG9vcCBjb3BpZXMgMzIgYnl0ZXMgYXQgYSB0aW1lICovCisgICAgICAgIHZsZDEuOCAgICAgIHtkMCAgLSBkM30sICAgW3IxXSEKKyAgICAgICAgcGxkICAgICAgICAgW3IxLCAjKFBSRUZFVENIX0RJU1RBTkNFKV0KKyAgICAgICAgc3VicyAgICAgICAgcjIsIHIyLCAjMzIKKyAgICAgICAgdnN0MS44ICAgICAge2QwICAtIGQzfSwgICBbcjAsIDoxMjhdIQorICAgICAgICBiaHMgICAgICAgICAxYgorI2Vsc2UKICAgICAgICAgLyogbWFrZSBzdXJlIHdlIGhhdmUgYXQgbGVhc3QgNjQgYnl0ZXMgdG8gY29weSAqLwogICAgICAgICBzdWJzICAgICAgICByMiwgcjIsICM2NAogICAgICAgICBibG8gICAgICAgICAyZgpAQCAtMTEyLDcgKzEzNyw3IEBACiAgICAgICAgIHN1YnMgICAgICAgIHIyLCByMiwgIzMyCiAgICAgICAgIHZzdDEuOCAgICAgIHtkMCAtIGQzfSwgIFtyMCwgOjEyOF0hCiAgICAgICAgIGJocyAgICAgICAgIDNiCi0KKyNlbmRpZgogNDogICAgICAvKiBsZXNzIHRoYW4gMzIgbGVmdCAqLwogICAgICAgICBhZGQgICAgICAgICByMiwgcjIsICMzMgogICAgICAgICB0c3QgICAgICAgICByMiwgIzB4MTAKZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzLm1rIGIvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMubWsKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGMwYzRkYwotLS0gL2Rldi9udWxsCisrKyBiL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzLm1rCkBAIC0wLDAgKzEsMjAxIEBACisjIGF1dG8tZ2VuZXJhdGVkIGJ5IGdlbnN5c2NhbGxzLnB5LCBkbyBub3QgdG91Y2gKK3N5c2NhbGxfc3JjIDo9IAorc3lzY2FsbF9zcmMgKz0gYXJjaC1taXBzL3N5c2NhbGxzL19leGl0LlMKK3N5c2NhbGxfc3JjICs9IGFyY2gtbWlwcy9zeXNjYWxscy9fZXhpdF90aHJlYWQuUworc3lzY2FsbF9zcmMgKz0gYXJjaC1taXBzL3N5c2NhbGxzL19fZm9yay5TCitzeXNjYWxsX3NyYyArPSBhcmNoLW1pcHMvc3lzY2FsbHMvX3dhaXRwaWQuUworc3lzY2FsbF9zcmMgKz0gYXJjaC1taXBzL3N5c2NhbGxzL19fd2FpdGlkLlMKK3N5c2NhbGxfc3JjICs9IGFyY2gtbWlwcy9zeXNjYWxscy9fX3N5c19jbG9uZS5TCitzeXNjYWxsX3NyYyArPSBhcmNoLW1pcHMvc3lzY2FsbHMvZXhlY3ZlLlMKK3N5c2NhbGxfc3JjICs9IGFyY2gtbWlwcy9zeXNjYWxscy9fX3NldHVpZC5TCitzeXNjYWxsX3NyYyArPSBhcmNoLW1pcHMvc3lzY2FsbHMvZ2V0dWlkLlMKK3N5c2NhbGxfc3JjICs9IGFyY2gtbWlwcy9zeXNjYWxscy9nZXRnaWQuUworc3lzY2FsbF9zcmMgKz0gYXJjaC1taXBzL3N5c2NhbGxzL2dldGV1aWQuUworc3lzY2FsbF9zcmMgKz0gYXJjaC1taXBzL3N5c2NhbGxzL2dldGVnaWQuUworc3lzY2FsbF9zcmMgKz0gYXJjaC1taXBzL3N5c2NhbGxzL2dldHJlc3VpZC5TCitzeXNjYWxsX3NyYyArPSBhcmNoLW1pcHMvc3lzY2FsbHMvZ2V0cmVzZ2lkLlMKK3N5c2NhbGxfc3JjICs9IGFyY2gtbWlwcy9zeXNjYWxscy9nZXR0aWQuUworc3lzY2FsbF9zcmMgKz0gYXJjaC1taXBzL3N5c2NhbGxzL3JlYWRhaGVhZC5TCitzeXNjYWxsX3NyYyArPSBhcmNoLW1pcHMvc3lzY2FsbHMvZ2V0Z3JvdXBzLlMKK3N5c2NhbGxfc3JjICs9IGFyY2gtbWlwcy9zeXNjYWxscy9nZXRwZ2lkLlMKK3N5c2NhbGxfc3JjICs9IGFyY2gtbWlwcy9zeXNjYWxscy9nZXRwcGlkLlMKK3N5c2NhbGxfc3JjICs9IGFyY2gtbWlwcy9zeXNjYWxscy9zZXRzaWQuUworc3lzY2FsbF9zcmMgKz0gYXJjaC1taXBzL3N5c2NhbGxzL3NldGdpZC5TCitzeXNjYWxsX3NyYyArPSBhcmNoLW1pcHMvc3lzY2FsbHMvX19zZXRyZXVpZC5TCitzeXNjYWxsX3NyYyArPSBhcmNoLW1pcHMvc3lzY2FsbHMvX19zZXRyZXN1aWQuUworc3lzY2FsbF9zcmMgKz0gYXJjaC1taXBzL3N5c2NhbGxzL3NldHJlc2dpZC5TCitzeXNjYWxsX3NyYyArPSBhcmNoLW1pcHMvc3lzY2FsbHMvX19icmsuUworc3lzY2FsbF9zcmMgKz0gYXJjaC1taXBzL3N5c2NhbGxzL2tpbGwuUworc3lzY2FsbF9zcmMgKz0gYXJjaC1taXBzL3N5c2NhbGxzL3RraWxsLlMKK3N5c2NhbGxfc3JjICs9IGFyY2gtbWlwcy9zeXNjYWxscy90Z2tpbGwuUworc3lzY2FsbF9zcmMgKz0gYXJjaC1taXBzL3N5c2NhbGxzL19fcHRyYWNlLlMKK3N5c2NhbGxfc3JjICs9IGFyY2gtbWlwcy9zeXNjYWxscy9fX3NldF90aHJlYWRfYXJlYS5TCitzeXNjYWxsX3NyYyArPSBhcmNoLW1pcHMvc3lzY2FsbHMvX19nZXRwcmlvcml0eS5TCitzeXNjYWxsX3NyYyArPSBhcmNoLW1pcHMvc3lzY2FsbHMvc2V0cHJpb3JpdHkuUworc3lzY2FsbF9zcmMgKz0gYXJjaC1taXBzL3N5c2NhbGxzL3NldHJsaW1pdC5TCitzeXNjYWxsX3NyYyArPSBhcmNoLW1pcHMvc3lzY2FsbHMvZ2V0cmxpbWl0LlMKK3N5c2NhbGxfc3JjICs9IGFyY2gtbWlwcy9zeXNjYWxscy9nZXRydXNhZ2UuUworc3lzY2FsbF9zcmMgKz0gYXJjaC1taXBzL3N5c2NhbGxzL3NldGdyb3Vwcy5TCitzeXNjYWxsX3NyYyArPSBhcmNoLW1pcHMvc3lzY2FsbHMvc2V0cGdpZC5TCitzeXNjYWxsX3NyYyArPSBhcmNoLW1pcHMvc3lzY2FsbHMvc2V0cmVnaWQuUworc3lzY2FsbF9zcmMgKz0gYXJjaC1taXBzL3N5c2NhbGxzL2Nocm9vdC5TCitzeXNjYWxsX3NyYyArPSBhcmNoLW1pcHMvc3lzY2FsbHMvcHJjdGwuUworc3lzY2FsbF9zcmMgKz0gYXJjaC1taXBzL3N5c2NhbGxzL2NhcGdldC5TCitzeXNjYWxsX3NyYyArPSBhcmNoLW1pcHMvc3lzY2FsbHMvY2Fwc2V0LlMKK3N5c2NhbGxfc3JjICs9IGFyY2gtbWlwcy9zeXNjYWxscy9zaWdhbHRzdGFjay5TCitzeXNjYWxsX3NyYyArPSBhcmNoLW1pcHMvc3lzY2FsbHMvYWNjdC5TCitzeXNjYWxsX3NyYyArPSBhcmNoLW1pcHMvc3lzY2FsbHMvcmVhZC5TCitzeXNjYWxsX3NyYyArPSBhcmNoLW1pcHMvc3lzY2FsbHMvd3JpdGUuUworc3lzY2FsbF9zcmMgKz0gYXJjaC1taXBzL3N5c2NhbGxzL3ByZWFkNjQuUworc3lzY2FsbF9zcmMgKz0gYXJjaC1taXBzL3N5c2NhbGxzL3B3cml0ZTY0LlMKK3N5c2NhbGxfc3JjICs9IGFyY2gtbWlwcy9zeXNjYWxscy9fX29wZW4uUworc3lzY2FsbF9zcmMgKz0gYXJjaC1taXBzL3N5c2NhbGxzL19fb3BlbmF0LlMKK3N5c2NhbGxfc3JjICs9IGFyY2gtbWlwcy9zeXNjYWxscy9jbG9zZS5TCitzeXNjYWxsX3NyYyArPSBhcmNoLW1pcHMvc3lzY2FsbHMvbHNlZWsuUworc3lzY2FsbF9zcmMgKz0gYXJjaC1taXBzL3N5c2NhbGxzL19fbGxzZWVrLlMKK3N5c2NhbGxfc3JjICs9IGFyY2gtbWlwcy9zeXNjYWxscy9nZXRwaWQuUworc3lzY2FsbF9zcmMgKz0gYXJjaC1taXBzL3N5c2NhbGxzL19fbW1hcDIuUworc3lzY2FsbF9zcmMgKz0gYXJjaC1taXBzL3N5c2NhbGxzL211bm1hcC5TCitzeXNjYWxsX3NyYyArPSBhcmNoLW1pcHMvc3lzY2FsbHMvbXJlbWFwLlMKK3N5c2NhbGxfc3JjICs9IGFyY2gtbWlwcy9zeXNjYWxscy9tc3luYy5TCitzeXNjYWxsX3NyYyArPSBhcmNoLW1pcHMvc3lzY2FsbHMvbXByb3RlY3QuUworc3lzY2FsbF9zcmMgKz0gYXJjaC1taXBzL3N5c2NhbGxzL21hZHZpc2UuUworc3lzY2FsbF9zcmMgKz0gYXJjaC1taXBzL3N5c2NhbGxzL21sb2NrLlMKK3N5c2NhbGxfc3JjICs9IGFyY2gtbWlwcy9zeXNjYWxscy9tdW5sb2NrLlMKK3N5c2NhbGxfc3JjICs9IGFyY2gtbWlwcy9zeXNjYWxscy9taW5jb3JlLlMKK3N5c2NhbGxfc3JjICs9IGFyY2gtbWlwcy9zeXNjYWxscy9fX2lvY3RsLlMKK3N5c2NhbGxfc3JjICs9IGFyY2gtbWlwcy9zeXNjYWxscy9yZWFkdi5TCitzeXNjYWxsX3NyYyArPSBhcmNoLW1pcHMvc3lzY2FsbHMvd3JpdGV2LlMKK3N5c2NhbGxfc3JjICs9IGFyY2gtbWlwcy9zeXNjYWxscy9fX2ZjbnRsLlMKK3N5c2NhbGxfc3JjICs9IGFyY2gtbWlwcy9zeXNjYWxscy9mbG9jay5TCitzeXNjYWxsX3NyYyArPSBhcmNoLW1pcHMvc3lzY2FsbHMvZmNobW9kLlMKK3N5c2NhbGxfc3JjICs9IGFyY2gtbWlwcy9zeXNjYWxscy9kdXAuUworc3lzY2FsbF9zcmMgKz0gYXJjaC1taXBzL3N5c2NhbGxzL3BpcGUyLlMKK3N5c2NhbGxfc3JjICs9IGFyY2gtbWlwcy9zeXNjYWxscy9kdXAyLlMKK3N5c2NhbGxfc3JjICs9IGFyY2gtbWlwcy9zeXNjYWxscy9zZWxlY3QuUworc3lzY2FsbF9zcmMgKz0gYXJjaC1taXBzL3N5c2NhbGxzL2Z0cnVuY2F0ZS5TCitzeXNjYWxsX3NyYyArPSBhcmNoLW1pcHMvc3lzY2FsbHMvZnRydW5jYXRlNjQuUworc3lzY2FsbF9zcmMgKz0gYXJjaC1taXBzL3N5c2NhbGxzL2dldGRlbnRzLlMKK3N5c2NhbGxfc3JjICs9IGFyY2gtbWlwcy9zeXNjYWxscy9mc3luYy5TCitzeXNjYWxsX3NyYyArPSBhcmNoLW1pcHMvc3lzY2FsbHMvZmRhdGFzeW5jLlMKK3N5c2NhbGxfc3JjICs9IGFyY2gtbWlwcy9zeXNjYWxscy9mY2hvd24uUworc3lzY2FsbF9zcmMgKz0gYXJjaC1taXBzL3N5c2NhbGxzL3N5bmMuUworc3lzY2FsbF9zcmMgKz0gYXJjaC1taXBzL3N5c2NhbGxzL19fZmNudGw2NC5TCitzeXNjYWxsX3NyYyArPSBhcmNoLW1pcHMvc3lzY2FsbHMvX19mc3RhdGZzNjQuUworc3lzY2FsbF9zcmMgKz0gYXJjaC1taXBzL3N5c2NhbGxzL3NlbmRmaWxlLlMKK3N5c2NhbGxfc3JjICs9IGFyY2gtbWlwcy9zeXNjYWxscy9mc3RhdGF0LlMKK3N5c2NhbGxfc3JjICs9IGFyY2gtbWlwcy9zeXNjYWxscy9ta2RpcmF0LlMKK3N5c2NhbGxfc3JjICs9IGFyY2gtbWlwcy9zeXNjYWxscy9mY2hvd25hdC5TCitzeXNjYWxsX3NyYyArPSBhcmNoLW1pcHMvc3lzY2FsbHMvZmNobW9kYXQuUworc3lzY2FsbF9zcmMgKz0gYXJjaC1taXBzL3N5c2NhbGxzL3JlbmFtZWF0LlMKK3N5c2NhbGxfc3JjICs9IGFyY2gtbWlwcy9zeXNjYWxscy9mc2V0eGF0dHIuUworc3lzY2FsbF9zcmMgKz0gYXJjaC1taXBzL3N5c2NhbGxzL2ZnZXR4YXR0ci5TCitzeXNjYWxsX3NyYyArPSBhcmNoLW1pcHMvc3lzY2FsbHMvZmxpc3R4YXR0ci5TCitzeXNjYWxsX3NyYyArPSBhcmNoLW1pcHMvc3lzY2FsbHMvZnJlbW92ZXhhdHRyLlMKK3N5c2NhbGxfc3JjICs9IGFyY2gtbWlwcy9zeXNjYWxscy9saW5rLlMKK3N5c2NhbGxfc3JjICs9IGFyY2gtbWlwcy9zeXNjYWxscy91bmxpbmsuUworc3lzY2FsbF9zcmMgKz0gYXJjaC1taXBzL3N5c2NhbGxzL3VubGlua2F0LlMKK3N5c2NhbGxfc3JjICs9IGFyY2gtbWlwcy9zeXNjYWxscy9jaGRpci5TCitzeXNjYWxsX3NyYyArPSBhcmNoLW1pcHMvc3lzY2FsbHMvbWtub2QuUworc3lzY2FsbF9zcmMgKz0gYXJjaC1taXBzL3N5c2NhbGxzL2NobW9kLlMKK3N5c2NhbGxfc3JjICs9IGFyY2gtbWlwcy9zeXNjYWxscy9jaG93bi5TCitzeXNjYWxsX3NyYyArPSBhcmNoLW1pcHMvc3lzY2FsbHMvbGNob3duLlMKK3N5c2NhbGxfc3JjICs9IGFyY2gtbWlwcy9zeXNjYWxscy9tb3VudC5TCitzeXNjYWxsX3NyYyArPSBhcmNoLW1pcHMvc3lzY2FsbHMvdW1vdW50Mi5TCitzeXNjYWxsX3NyYyArPSBhcmNoLW1pcHMvc3lzY2FsbHMvZnN0YXQuUworc3lzY2FsbF9zcmMgKz0gYXJjaC1taXBzL3N5c2NhbGxzL3N0YXQuUworc3lzY2FsbF9zcmMgKz0gYXJjaC1taXBzL3N5c2NhbGxzL2xzdGF0LlMKK3N5c2NhbGxfc3JjICs9IGFyY2gtbWlwcy9zeXNjYWxscy9ta2Rpci5TCitzeXNjYWxsX3NyYyArPSBhcmNoLW1pcHMvc3lzY2FsbHMvcmVhZGxpbmsuUworc3lzY2FsbF9zcmMgKz0gYXJjaC1taXBzL3N5c2NhbGxzL3JtZGlyLlMKK3N5c2NhbGxfc3JjICs9IGFyY2gtbWlwcy9zeXNjYWxscy9yZW5hbWUuUworc3lzY2FsbF9zcmMgKz0gYXJjaC1taXBzL3N5c2NhbGxzL19fZ2V0Y3dkLlMKK3N5c2NhbGxfc3JjICs9IGFyY2gtbWlwcy9zeXNjYWxscy9hY2Nlc3MuUworc3lzY2FsbF9zcmMgKz0gYXJjaC1taXBzL3N5c2NhbGxzL2ZhY2Nlc3NhdC5TCitzeXNjYWxsX3NyYyArPSBhcmNoLW1pcHMvc3lzY2FsbHMvc3ltbGluay5TCitzeXNjYWxsX3NyYyArPSBhcmNoLW1pcHMvc3lzY2FsbHMvZmNoZGlyLlMKK3N5c2NhbGxfc3JjICs9IGFyY2gtbWlwcy9zeXNjYWxscy90cnVuY2F0ZS5TCitzeXNjYWxsX3NyYyArPSBhcmNoLW1pcHMvc3lzY2FsbHMvc2V0eGF0dHIuUworc3lzY2FsbF9zcmMgKz0gYXJjaC1taXBzL3N5c2NhbGxzL2xzZXR4YXR0ci5TCitzeXNjYWxsX3NyYyArPSBhcmNoLW1pcHMvc3lzY2FsbHMvZ2V0eGF0dHIuUworc3lzY2FsbF9zcmMgKz0gYXJjaC1taXBzL3N5c2NhbGxzL2xnZXR4YXR0ci5TCitzeXNjYWxsX3NyYyArPSBhcmNoLW1pcHMvc3lzY2FsbHMvbGlzdHhhdHRyLlMKK3N5c2NhbGxfc3JjICs9IGFyY2gtbWlwcy9zeXNjYWxscy9sbGlzdHhhdHRyLlMKK3N5c2NhbGxfc3JjICs9IGFyY2gtbWlwcy9zeXNjYWxscy9yZW1vdmV4YXR0ci5TCitzeXNjYWxsX3NyYyArPSBhcmNoLW1pcHMvc3lzY2FsbHMvbHJlbW92ZXhhdHRyLlMKK3N5c2NhbGxfc3JjICs9IGFyY2gtbWlwcy9zeXNjYWxscy9fX3N0YXRmczY0LlMKK3N5c2NhbGxfc3JjICs9IGFyY2gtbWlwcy9zeXNjYWxscy9wYXVzZS5TCitzeXNjYWxsX3NyYyArPSBhcmNoLW1pcHMvc3lzY2FsbHMvZ2V0dGltZW9mZGF5LlMKK3N5c2NhbGxfc3JjICs9IGFyY2gtbWlwcy9zeXNjYWxscy9zZXR0aW1lb2ZkYXkuUworc3lzY2FsbF9zcmMgKz0gYXJjaC1taXBzL3N5c2NhbGxzL3RpbWVzLlMKK3N5c2NhbGxfc3JjICs9IGFyY2gtbWlwcy9zeXNjYWxscy9uYW5vc2xlZXAuUworc3lzY2FsbF9zcmMgKz0gYXJjaC1taXBzL3N5c2NhbGxzL2Nsb2NrX2dldHRpbWUuUworc3lzY2FsbF9zcmMgKz0gYXJjaC1taXBzL3N5c2NhbGxzL2Nsb2NrX3NldHRpbWUuUworc3lzY2FsbF9zcmMgKz0gYXJjaC1taXBzL3N5c2NhbGxzL2Nsb2NrX2dldHJlcy5TCitzeXNjYWxsX3NyYyArPSBhcmNoLW1pcHMvc3lzY2FsbHMvY2xvY2tfbmFub3NsZWVwLlMKK3N5c2NhbGxfc3JjICs9IGFyY2gtbWlwcy9zeXNjYWxscy9nZXRpdGltZXIuUworc3lzY2FsbF9zcmMgKz0gYXJjaC1taXBzL3N5c2NhbGxzL3NldGl0aW1lci5TCitzeXNjYWxsX3NyYyArPSBhcmNoLW1pcHMvc3lzY2FsbHMvX190aW1lcl9jcmVhdGUuUworc3lzY2FsbF9zcmMgKz0gYXJjaC1taXBzL3N5c2NhbGxzL19fdGltZXJfc2V0dGltZS5TCitzeXNjYWxsX3NyYyArPSBhcmNoLW1pcHMvc3lzY2FsbHMvX190aW1lcl9nZXR0aW1lLlMKK3N5c2NhbGxfc3JjICs9IGFyY2gtbWlwcy9zeXNjYWxscy9fX3RpbWVyX2dldG92ZXJydW4uUworc3lzY2FsbF9zcmMgKz0gYXJjaC1taXBzL3N5c2NhbGxzL19fdGltZXJfZGVsZXRlLlMKK3N5c2NhbGxfc3JjICs9IGFyY2gtbWlwcy9zeXNjYWxscy91dGltZXMuUworc3lzY2FsbF9zcmMgKz0gYXJjaC1taXBzL3N5c2NhbGxzL3V0aW1lbnNhdC5TCitzeXNjYWxsX3NyYyArPSBhcmNoLW1pcHMvc3lzY2FsbHMvc2lnYWN0aW9uLlMKK3N5c2NhbGxfc3JjICs9IGFyY2gtbWlwcy9zeXNjYWxscy9zaWdwcm9jbWFzay5TCitzeXNjYWxsX3NyYyArPSBhcmNoLW1pcHMvc3lzY2FsbHMvX19zaWdzdXNwZW5kLlMKK3N5c2NhbGxfc3JjICs9IGFyY2gtbWlwcy9zeXNjYWxscy9fX3J0X3NpZ2FjdGlvbi5TCitzeXNjYWxsX3NyYyArPSBhcmNoLW1pcHMvc3lzY2FsbHMvX19ydF9zaWdwcm9jbWFzay5TCitzeXNjYWxsX3NyYyArPSBhcmNoLW1pcHMvc3lzY2FsbHMvX19ydF9zaWd0aW1lZHdhaXQuUworc3lzY2FsbF9zcmMgKz0gYXJjaC1taXBzL3N5c2NhbGxzL3NpZ3BlbmRpbmcuUworc3lzY2FsbF9zcmMgKz0gYXJjaC1taXBzL3N5c2NhbGxzL3NvY2tldC5TCitzeXNjYWxsX3NyYyArPSBhcmNoLW1pcHMvc3lzY2FsbHMvc29ja2V0cGFpci5TCitzeXNjYWxsX3NyYyArPSBhcmNoLW1pcHMvc3lzY2FsbHMvYmluZC5TCitzeXNjYWxsX3NyYyArPSBhcmNoLW1pcHMvc3lzY2FsbHMvY29ubmVjdC5TCitzeXNjYWxsX3NyYyArPSBhcmNoLW1pcHMvc3lzY2FsbHMvbGlzdGVuLlMKK3N5c2NhbGxfc3JjICs9IGFyY2gtbWlwcy9zeXNjYWxscy9hY2NlcHQuUworc3lzY2FsbF9zcmMgKz0gYXJjaC1taXBzL3N5c2NhbGxzL2dldHNvY2tuYW1lLlMKK3N5c2NhbGxfc3JjICs9IGFyY2gtbWlwcy9zeXNjYWxscy9nZXRwZWVybmFtZS5TCitzeXNjYWxsX3NyYyArPSBhcmNoLW1pcHMvc3lzY2FsbHMvc2VuZHRvLlMKK3N5c2NhbGxfc3JjICs9IGFyY2gtbWlwcy9zeXNjYWxscy9yZWN2ZnJvbS5TCitzeXNjYWxsX3NyYyArPSBhcmNoLW1pcHMvc3lzY2FsbHMvc2h1dGRvd24uUworc3lzY2FsbF9zcmMgKz0gYXJjaC1taXBzL3N5c2NhbGxzL3NldHNvY2tvcHQuUworc3lzY2FsbF9zcmMgKz0gYXJjaC1taXBzL3N5c2NhbGxzL2dldHNvY2tvcHQuUworc3lzY2FsbF9zcmMgKz0gYXJjaC1taXBzL3N5c2NhbGxzL3NlbmRtc2cuUworc3lzY2FsbF9zcmMgKz0gYXJjaC1taXBzL3N5c2NhbGxzL3JlY3Ztc2cuUworc3lzY2FsbF9zcmMgKz0gYXJjaC1taXBzL3N5c2NhbGxzL3NjaGVkX3NldHNjaGVkdWxlci5TCitzeXNjYWxsX3NyYyArPSBhcmNoLW1pcHMvc3lzY2FsbHMvc2NoZWRfZ2V0c2NoZWR1bGVyLlMKK3N5c2NhbGxfc3JjICs9IGFyY2gtbWlwcy9zeXNjYWxscy9zY2hlZF95aWVsZC5TCitzeXNjYWxsX3NyYyArPSBhcmNoLW1pcHMvc3lzY2FsbHMvc2NoZWRfc2V0cGFyYW0uUworc3lzY2FsbF9zcmMgKz0gYXJjaC1taXBzL3N5c2NhbGxzL3NjaGVkX2dldHBhcmFtLlMKK3N5c2NhbGxfc3JjICs9IGFyY2gtbWlwcy9zeXNjYWxscy9zY2hlZF9nZXRfcHJpb3JpdHlfbWF4LlMKK3N5c2NhbGxfc3JjICs9IGFyY2gtbWlwcy9zeXNjYWxscy9zY2hlZF9nZXRfcHJpb3JpdHlfbWluLlMKK3N5c2NhbGxfc3JjICs9IGFyY2gtbWlwcy9zeXNjYWxscy9zY2hlZF9ycl9nZXRfaW50ZXJ2YWwuUworc3lzY2FsbF9zcmMgKz0gYXJjaC1taXBzL3N5c2NhbGxzL3NjaGVkX3NldGFmZmluaXR5LlMKK3N5c2NhbGxfc3JjICs9IGFyY2gtbWlwcy9zeXNjYWxscy9fX3NjaGVkX2dldGFmZmluaXR5LlMKK3N5c2NhbGxfc3JjICs9IGFyY2gtbWlwcy9zeXNjYWxscy9fX2dldGNwdS5TCitzeXNjYWxsX3NyYyArPSBhcmNoLW1pcHMvc3lzY2FsbHMvaW9wcmlvX3NldC5TCitzeXNjYWxsX3NyYyArPSBhcmNoLW1pcHMvc3lzY2FsbHMvaW9wcmlvX2dldC5TCitzeXNjYWxsX3NyYyArPSBhcmNoLW1pcHMvc3lzY2FsbHMvdW5hbWUuUworc3lzY2FsbF9zcmMgKz0gYXJjaC1taXBzL3N5c2NhbGxzL19fd2FpdDQuUworc3lzY2FsbF9zcmMgKz0gYXJjaC1taXBzL3N5c2NhbGxzL3VtYXNrLlMKK3N5c2NhbGxfc3JjICs9IGFyY2gtbWlwcy9zeXNjYWxscy9fX3JlYm9vdC5TCitzeXNjYWxsX3NyYyArPSBhcmNoLW1pcHMvc3lzY2FsbHMvX19zeXNsb2cuUworc3lzY2FsbF9zcmMgKz0gYXJjaC1taXBzL3N5c2NhbGxzL2luaXRfbW9kdWxlLlMKK3N5c2NhbGxfc3JjICs9IGFyY2gtbWlwcy9zeXNjYWxscy9kZWxldGVfbW9kdWxlLlMKK3N5c2NhbGxfc3JjICs9IGFyY2gtbWlwcy9zeXNjYWxscy9rbG9nY3RsLlMKK3N5c2NhbGxfc3JjICs9IGFyY2gtbWlwcy9zeXNjYWxscy9zeXNpbmZvLlMKK3N5c2NhbGxfc3JjICs9IGFyY2gtbWlwcy9zeXNjYWxscy9wZXJzb25hbGl0eS5TCitzeXNjYWxsX3NyYyArPSBhcmNoLW1pcHMvc3lzY2FsbHMvcGVyZl9ldmVudF9vcGVuLlMKK3N5c2NhbGxfc3JjICs9IGFyY2gtbWlwcy9zeXNjYWxscy9mdXRleC5TCitzeXNjYWxsX3NyYyArPSBhcmNoLW1pcHMvc3lzY2FsbHMvZXBvbGxfY3JlYXRlLlMKK3N5c2NhbGxfc3JjICs9IGFyY2gtbWlwcy9zeXNjYWxscy9lcG9sbF9jdGwuUworc3lzY2FsbF9zcmMgKz0gYXJjaC1taXBzL3N5c2NhbGxzL2Vwb2xsX3dhaXQuUworc3lzY2FsbF9zcmMgKz0gYXJjaC1taXBzL3N5c2NhbGxzL2lub3RpZnlfaW5pdC5TCitzeXNjYWxsX3NyYyArPSBhcmNoLW1pcHMvc3lzY2FsbHMvaW5vdGlmeV9hZGRfd2F0Y2guUworc3lzY2FsbF9zcmMgKz0gYXJjaC1taXBzL3N5c2NhbGxzL2lub3RpZnlfcm1fd2F0Y2guUworc3lzY2FsbF9zcmMgKz0gYXJjaC1taXBzL3N5c2NhbGxzL3BvbGwuUworc3lzY2FsbF9zcmMgKz0gYXJjaC1taXBzL3N5c2NhbGxzL2V2ZW50ZmQuUworc3lzY2FsbF9zcmMgKz0gYXJjaC1taXBzL3N5c2NhbGxzL19mbHVzaF9jYWNoZS5TCitzeXNjYWxsX3NyYyArPSBhcmNoLW1pcHMvc3lzY2FsbHMvc3lzY2FsbC5TCmRpZmYgLS1naXQgYS9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9fX2Jyay5TIGIvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvX19icmsuUwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xZjA5NzcyCi0tLSAvZGV2L251bGwKKysrIGIvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvX19icmsuUwpAQCAtMCwwICsxLDIyIEBACisvKiBhdXRvZ2VuZXJhdGVkIGJ5IGdlbnN5c2NhbGxzLnB5ICovCisjaW5jbHVkZSA8c3lzL2xpbnV4LXN5c2NhbGxzLmg+CisgICAgLnRleHQKKyAgICAuZ2xvYmwgX19icmsKKyAgICAuYWxpZ24gNAorICAgIC5lbnQgX19icmsKKworX19icms6CisgICAgLnNldCBub3Jlb3JkZXIKKyAgICAuY3Bsb2FkICR0OQorICAgIGxpICR2MCwgX19OUl9icmsKKyAgICBzeXNjYWxsCisgICAgYm5leiAkYTMsIDFmCisgICAgbW92ZSAkYTAsICR2MAorICAgIGogJHJhCisgICAgbm9wCisxOgorICAgIGxhICR0OSxfX3NldF9lcnJubworICAgIGogJHQ5CisgICAgbm9wCisgICAgLnNldCByZW9yZGVyCisgICAgLmVuZCBfX2JyawpkaWZmIC0tZ2l0IGEvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvX19mY250bC5TIGIvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvX19mY250bC5TCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZkZDc2ZTMKLS0tIC9kZXYvbnVsbAorKysgYi9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9fX2ZjbnRsLlMKQEAgLTAsMCArMSwyMiBAQAorLyogYXV0b2dlbmVyYXRlZCBieSBnZW5zeXNjYWxscy5weSAqLworI2luY2x1ZGUgPHN5cy9saW51eC1zeXNjYWxscy5oPgorICAgIC50ZXh0CisgICAgLmdsb2JsIF9fZmNudGwKKyAgICAuYWxpZ24gNAorICAgIC5lbnQgX19mY250bAorCitfX2ZjbnRsOgorICAgIC5zZXQgbm9yZW9yZGVyCisgICAgLmNwbG9hZCAkdDkKKyAgICBsaSAkdjAsIF9fTlJfZmNudGwKKyAgICBzeXNjYWxsCisgICAgYm5leiAkYTMsIDFmCisgICAgbW92ZSAkYTAsICR2MAorICAgIGogJHJhCisgICAgbm9wCisxOgorICAgIGxhICR0OSxfX3NldF9lcnJubworICAgIGogJHQ5CisgICAgbm9wCisgICAgLnNldCByZW9yZGVyCisgICAgLmVuZCBfX2ZjbnRsCmRpZmYgLS1naXQgYS9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9fX2ZjbnRsNjQuUyBiL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL19fZmNudGw2NC5TCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU4MmUzODIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9fX2ZjbnRsNjQuUwpAQCAtMCwwICsxLDIyIEBACisvKiBhdXRvZ2VuZXJhdGVkIGJ5IGdlbnN5c2NhbGxzLnB5ICovCisjaW5jbHVkZSA8c3lzL2xpbnV4LXN5c2NhbGxzLmg+CisgICAgLnRleHQKKyAgICAuZ2xvYmwgX19mY250bDY0CisgICAgLmFsaWduIDQKKyAgICAuZW50IF9fZmNudGw2NAorCitfX2ZjbnRsNjQ6CisgICAgLnNldCBub3Jlb3JkZXIKKyAgICAuY3Bsb2FkICR0OQorICAgIGxpICR2MCwgX19OUl9mY250bDY0CisgICAgc3lzY2FsbAorICAgIGJuZXogJGEzLCAxZgorICAgIG1vdmUgJGEwLCAkdjAKKyAgICBqICRyYQorICAgIG5vcAorMToKKyAgICBsYSAkdDksX19zZXRfZXJybm8KKyAgICBqICR0OQorICAgIG5vcAorICAgIC5zZXQgcmVvcmRlcgorICAgIC5lbmQgX19mY250bDY0CmRpZmYgLS1naXQgYS9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9fX2ZvcmsuUyBiL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL19fZm9yay5TCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRiMzA0NzIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9fX2ZvcmsuUwpAQCAtMCwwICsxLDIyIEBACisvKiBhdXRvZ2VuZXJhdGVkIGJ5IGdlbnN5c2NhbGxzLnB5ICovCisjaW5jbHVkZSA8c3lzL2xpbnV4LXN5c2NhbGxzLmg+CisgICAgLnRleHQKKyAgICAuZ2xvYmwgX19mb3JrCisgICAgLmFsaWduIDQKKyAgICAuZW50IF9fZm9yaworCitfX2Zvcms6CisgICAgLnNldCBub3Jlb3JkZXIKKyAgICAuY3Bsb2FkICR0OQorICAgIGxpICR2MCwgX19OUl9mb3JrCisgICAgc3lzY2FsbAorICAgIGJuZXogJGEzLCAxZgorICAgIG1vdmUgJGEwLCAkdjAKKyAgICBqICRyYQorICAgIG5vcAorMToKKyAgICBsYSAkdDksX19zZXRfZXJybm8KKyAgICBqICR0OQorICAgIG5vcAorICAgIC5zZXQgcmVvcmRlcgorICAgIC5lbmQgX19mb3JrCmRpZmYgLS1naXQgYS9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9fX2ZzdGF0ZnM2NC5TIGIvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvX19mc3RhdGZzNjQuUwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42NDg1ZDEwCi0tLSAvZGV2L251bGwKKysrIGIvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvX19mc3RhdGZzNjQuUwpAQCAtMCwwICsxLDIyIEBACisvKiBhdXRvZ2VuZXJhdGVkIGJ5IGdlbnN5c2NhbGxzLnB5ICovCisjaW5jbHVkZSA8c3lzL2xpbnV4LXN5c2NhbGxzLmg+CisgICAgLnRleHQKKyAgICAuZ2xvYmwgX19mc3RhdGZzNjQKKyAgICAuYWxpZ24gNAorICAgIC5lbnQgX19mc3RhdGZzNjQKKworX19mc3RhdGZzNjQ6CisgICAgLnNldCBub3Jlb3JkZXIKKyAgICAuY3Bsb2FkICR0OQorICAgIGxpICR2MCwgX19OUl9mc3RhdGZzNjQKKyAgICBzeXNjYWxsCisgICAgYm5leiAkYTMsIDFmCisgICAgbW92ZSAkYTAsICR2MAorICAgIGogJHJhCisgICAgbm9wCisxOgorICAgIGxhICR0OSxfX3NldF9lcnJubworICAgIGogJHQ5CisgICAgbm9wCisgICAgLnNldCByZW9yZGVyCisgICAgLmVuZCBfX2ZzdGF0ZnM2NApkaWZmIC0tZ2l0IGEvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvX19nZXRjcHUuUyBiL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL19fZ2V0Y3B1LlMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTBkNTlmNAotLS0gL2Rldi9udWxsCisrKyBiL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL19fZ2V0Y3B1LlMKQEAgLTAsMCArMSwyMiBAQAorLyogYXV0b2dlbmVyYXRlZCBieSBnZW5zeXNjYWxscy5weSAqLworI2luY2x1ZGUgPHN5cy9saW51eC1zeXNjYWxscy5oPgorICAgIC50ZXh0CisgICAgLmdsb2JsIF9fZ2V0Y3B1CisgICAgLmFsaWduIDQKKyAgICAuZW50IF9fZ2V0Y3B1CisKK19fZ2V0Y3B1OgorICAgIC5zZXQgbm9yZW9yZGVyCisgICAgLmNwbG9hZCAkdDkKKyAgICBsaSAkdjAsIF9fTlJfZ2V0Y3B1CisgICAgc3lzY2FsbAorICAgIGJuZXogJGEzLCAxZgorICAgIG1vdmUgJGEwLCAkdjAKKyAgICBqICRyYQorICAgIG5vcAorMToKKyAgICBsYSAkdDksX19zZXRfZXJybm8KKyAgICBqICR0OQorICAgIG5vcAorICAgIC5zZXQgcmVvcmRlcgorICAgIC5lbmQgX19nZXRjcHUKZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL19fZ2V0Y3dkLlMgYi9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9fX2dldGN3ZC5TCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU4ZmEzNDAKLS0tIC9kZXYvbnVsbAorKysgYi9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9fX2dldGN3ZC5TCkBAIC0wLDAgKzEsMjIgQEAKKy8qIGF1dG9nZW5lcmF0ZWQgYnkgZ2Vuc3lzY2FsbHMucHkgKi8KKyNpbmNsdWRlIDxzeXMvbGludXgtc3lzY2FsbHMuaD4KKyAgICAudGV4dAorICAgIC5nbG9ibCBfX2dldGN3ZAorICAgIC5hbGlnbiA0CisgICAgLmVudCBfX2dldGN3ZAorCitfX2dldGN3ZDoKKyAgICAuc2V0IG5vcmVvcmRlcgorICAgIC5jcGxvYWQgJHQ5CisgICAgbGkgJHYwLCBfX05SX2dldGN3ZAorICAgIHN5c2NhbGwKKyAgICBibmV6ICRhMywgMWYKKyAgICBtb3ZlICRhMCwgJHYwCisgICAgaiAkcmEKKyAgICBub3AKKzE6CisgICAgbGEgJHQ5LF9fc2V0X2Vycm5vCisgICAgaiAkdDkKKyAgICBub3AKKyAgICAuc2V0IHJlb3JkZXIKKyAgICAuZW5kIF9fZ2V0Y3dkCmRpZmYgLS1naXQgYS9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9fX2dldHByaW9yaXR5LlMgYi9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9fX2dldHByaW9yaXR5LlMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2NhYmQzMQotLS0gL2Rldi9udWxsCisrKyBiL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL19fZ2V0cHJpb3JpdHkuUwpAQCAtMCwwICsxLDIyIEBACisvKiBhdXRvZ2VuZXJhdGVkIGJ5IGdlbnN5c2NhbGxzLnB5ICovCisjaW5jbHVkZSA8c3lzL2xpbnV4LXN5c2NhbGxzLmg+CisgICAgLnRleHQKKyAgICAuZ2xvYmwgX19nZXRwcmlvcml0eQorICAgIC5hbGlnbiA0CisgICAgLmVudCBfX2dldHByaW9yaXR5CisKK19fZ2V0cHJpb3JpdHk6CisgICAgLnNldCBub3Jlb3JkZXIKKyAgICAuY3Bsb2FkICR0OQorICAgIGxpICR2MCwgX19OUl9nZXRwcmlvcml0eQorICAgIHN5c2NhbGwKKyAgICBibmV6ICRhMywgMWYKKyAgICBtb3ZlICRhMCwgJHYwCisgICAgaiAkcmEKKyAgICBub3AKKzE6CisgICAgbGEgJHQ5LF9fc2V0X2Vycm5vCisgICAgaiAkdDkKKyAgICBub3AKKyAgICAuc2V0IHJlb3JkZXIKKyAgICAuZW5kIF9fZ2V0cHJpb3JpdHkKZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL19faW9jdGwuUyBiL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL19faW9jdGwuUwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yNTI0ZTAyCi0tLSAvZGV2L251bGwKKysrIGIvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvX19pb2N0bC5TCkBAIC0wLDAgKzEsMjIgQEAKKy8qIGF1dG9nZW5lcmF0ZWQgYnkgZ2Vuc3lzY2FsbHMucHkgKi8KKyNpbmNsdWRlIDxzeXMvbGludXgtc3lzY2FsbHMuaD4KKyAgICAudGV4dAorICAgIC5nbG9ibCBfX2lvY3RsCisgICAgLmFsaWduIDQKKyAgICAuZW50IF9faW9jdGwKKworX19pb2N0bDoKKyAgICAuc2V0IG5vcmVvcmRlcgorICAgIC5jcGxvYWQgJHQ5CisgICAgbGkgJHYwLCBfX05SX2lvY3RsCisgICAgc3lzY2FsbAorICAgIGJuZXogJGEzLCAxZgorICAgIG1vdmUgJGEwLCAkdjAKKyAgICBqICRyYQorICAgIG5vcAorMToKKyAgICBsYSAkdDksX19zZXRfZXJybm8KKyAgICBqICR0OQorICAgIG5vcAorICAgIC5zZXQgcmVvcmRlcgorICAgIC5lbmQgX19pb2N0bApkaWZmIC0tZ2l0IGEvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvX19sbHNlZWsuUyBiL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL19fbGxzZWVrLlMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmJmZDU4MwotLS0gL2Rldi9udWxsCisrKyBiL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL19fbGxzZWVrLlMKQEAgLTAsMCArMSwyMiBAQAorLyogYXV0b2dlbmVyYXRlZCBieSBnZW5zeXNjYWxscy5weSAqLworI2luY2x1ZGUgPHN5cy9saW51eC1zeXNjYWxscy5oPgorICAgIC50ZXh0CisgICAgLmdsb2JsIF9fbGxzZWVrCisgICAgLmFsaWduIDQKKyAgICAuZW50IF9fbGxzZWVrCisKK19fbGxzZWVrOgorICAgIC5zZXQgbm9yZW9yZGVyCisgICAgLmNwbG9hZCAkdDkKKyAgICBsaSAkdjAsIF9fTlJfX2xsc2VlaworICAgIHN5c2NhbGwKKyAgICBibmV6ICRhMywgMWYKKyAgICBtb3ZlICRhMCwgJHYwCisgICAgaiAkcmEKKyAgICBub3AKKzE6CisgICAgbGEgJHQ5LF9fc2V0X2Vycm5vCisgICAgaiAkdDkKKyAgICBub3AKKyAgICAuc2V0IHJlb3JkZXIKKyAgICAuZW5kIF9fbGxzZWVrCmRpZmYgLS1naXQgYS9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9fX21tYXAyLlMgYi9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9fX21tYXAyLlMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOThmOTdlYgotLS0gL2Rldi9udWxsCisrKyBiL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL19fbW1hcDIuUwpAQCAtMCwwICsxLDIyIEBACisvKiBhdXRvZ2VuZXJhdGVkIGJ5IGdlbnN5c2NhbGxzLnB5ICovCisjaW5jbHVkZSA8c3lzL2xpbnV4LXN5c2NhbGxzLmg+CisgICAgLnRleHQKKyAgICAuZ2xvYmwgX19tbWFwMgorICAgIC5hbGlnbiA0CisgICAgLmVudCBfX21tYXAyCisKK19fbW1hcDI6CisgICAgLnNldCBub3Jlb3JkZXIKKyAgICAuY3Bsb2FkICR0OQorICAgIGxpICR2MCwgX19OUl9tbWFwMgorICAgIHN5c2NhbGwKKyAgICBibmV6ICRhMywgMWYKKyAgICBtb3ZlICRhMCwgJHYwCisgICAgaiAkcmEKKyAgICBub3AKKzE6CisgICAgbGEgJHQ5LF9fc2V0X2Vycm5vCisgICAgaiAkdDkKKyAgICBub3AKKyAgICAuc2V0IHJlb3JkZXIKKyAgICAuZW5kIF9fbW1hcDIKZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL19fb3Blbi5TIGIvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvX19vcGVuLlMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGNjYjI4NgotLS0gL2Rldi9udWxsCisrKyBiL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL19fb3Blbi5TCkBAIC0wLDAgKzEsMjIgQEAKKy8qIGF1dG9nZW5lcmF0ZWQgYnkgZ2Vuc3lzY2FsbHMucHkgKi8KKyNpbmNsdWRlIDxzeXMvbGludXgtc3lzY2FsbHMuaD4KKyAgICAudGV4dAorICAgIC5nbG9ibCBfX29wZW4KKyAgICAuYWxpZ24gNAorICAgIC5lbnQgX19vcGVuCisKK19fb3BlbjoKKyAgICAuc2V0IG5vcmVvcmRlcgorICAgIC5jcGxvYWQgJHQ5CisgICAgbGkgJHYwLCBfX05SX29wZW4KKyAgICBzeXNjYWxsCisgICAgYm5leiAkYTMsIDFmCisgICAgbW92ZSAkYTAsICR2MAorICAgIGogJHJhCisgICAgbm9wCisxOgorICAgIGxhICR0OSxfX3NldF9lcnJubworICAgIGogJHQ5CisgICAgbm9wCisgICAgLnNldCByZW9yZGVyCisgICAgLmVuZCBfX29wZW4KZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL19fb3BlbmF0LlMgYi9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9fX29wZW5hdC5TCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA0Mzk5YjQKLS0tIC9kZXYvbnVsbAorKysgYi9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9fX29wZW5hdC5TCkBAIC0wLDAgKzEsMjIgQEAKKy8qIGF1dG9nZW5lcmF0ZWQgYnkgZ2Vuc3lzY2FsbHMucHkgKi8KKyNpbmNsdWRlIDxzeXMvbGludXgtc3lzY2FsbHMuaD4KKyAgICAudGV4dAorICAgIC5nbG9ibCBfX29wZW5hdAorICAgIC5hbGlnbiA0CisgICAgLmVudCBfX29wZW5hdAorCitfX29wZW5hdDoKKyAgICAuc2V0IG5vcmVvcmRlcgorICAgIC5jcGxvYWQgJHQ5CisgICAgbGkgJHYwLCBfX05SX29wZW5hdAorICAgIHN5c2NhbGwKKyAgICBibmV6ICRhMywgMWYKKyAgICBtb3ZlICRhMCwgJHYwCisgICAgaiAkcmEKKyAgICBub3AKKzE6CisgICAgbGEgJHQ5LF9fc2V0X2Vycm5vCisgICAgaiAkdDkKKyAgICBub3AKKyAgICAuc2V0IHJlb3JkZXIKKyAgICAuZW5kIF9fb3BlbmF0CmRpZmYgLS1naXQgYS9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9fX3B0cmFjZS5TIGIvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvX19wdHJhY2UuUwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wYmNiYTlmCi0tLSAvZGV2L251bGwKKysrIGIvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvX19wdHJhY2UuUwpAQCAtMCwwICsxLDIyIEBACisvKiBhdXRvZ2VuZXJhdGVkIGJ5IGdlbnN5c2NhbGxzLnB5ICovCisjaW5jbHVkZSA8c3lzL2xpbnV4LXN5c2NhbGxzLmg+CisgICAgLnRleHQKKyAgICAuZ2xvYmwgX19wdHJhY2UKKyAgICAuYWxpZ24gNAorICAgIC5lbnQgX19wdHJhY2UKKworX19wdHJhY2U6CisgICAgLnNldCBub3Jlb3JkZXIKKyAgICAuY3Bsb2FkICR0OQorICAgIGxpICR2MCwgX19OUl9wdHJhY2UKKyAgICBzeXNjYWxsCisgICAgYm5leiAkYTMsIDFmCisgICAgbW92ZSAkYTAsICR2MAorICAgIGogJHJhCisgICAgbm9wCisxOgorICAgIGxhICR0OSxfX3NldF9lcnJubworICAgIGogJHQ5CisgICAgbm9wCisgICAgLnNldCByZW9yZGVyCisgICAgLmVuZCBfX3B0cmFjZQpkaWZmIC0tZ2l0IGEvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvX19yZWJvb3QuUyBiL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL19fcmVib290LlMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWU4ZTU3YQotLS0gL2Rldi9udWxsCisrKyBiL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL19fcmVib290LlMKQEAgLTAsMCArMSwyMiBAQAorLyogYXV0b2dlbmVyYXRlZCBieSBnZW5zeXNjYWxscy5weSAqLworI2luY2x1ZGUgPHN5cy9saW51eC1zeXNjYWxscy5oPgorICAgIC50ZXh0CisgICAgLmdsb2JsIF9fcmVib290CisgICAgLmFsaWduIDQKKyAgICAuZW50IF9fcmVib290CisKK19fcmVib290OgorICAgIC5zZXQgbm9yZW9yZGVyCisgICAgLmNwbG9hZCAkdDkKKyAgICBsaSAkdjAsIF9fTlJfcmVib290CisgICAgc3lzY2FsbAorICAgIGJuZXogJGEzLCAxZgorICAgIG1vdmUgJGEwLCAkdjAKKyAgICBqICRyYQorICAgIG5vcAorMToKKyAgICBsYSAkdDksX19zZXRfZXJybm8KKyAgICBqICR0OQorICAgIG5vcAorICAgIC5zZXQgcmVvcmRlcgorICAgIC5lbmQgX19yZWJvb3QKZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL19fcnRfc2lnYWN0aW9uLlMgYi9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9fX3J0X3NpZ2FjdGlvbi5TCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQzYTU3MWEKLS0tIC9kZXYvbnVsbAorKysgYi9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9fX3J0X3NpZ2FjdGlvbi5TCkBAIC0wLDAgKzEsMjIgQEAKKy8qIGF1dG9nZW5lcmF0ZWQgYnkgZ2Vuc3lzY2FsbHMucHkgKi8KKyNpbmNsdWRlIDxzeXMvbGludXgtc3lzY2FsbHMuaD4KKyAgICAudGV4dAorICAgIC5nbG9ibCBfX3J0X3NpZ2FjdGlvbgorICAgIC5hbGlnbiA0CisgICAgLmVudCBfX3J0X3NpZ2FjdGlvbgorCitfX3J0X3NpZ2FjdGlvbjoKKyAgICAuc2V0IG5vcmVvcmRlcgorICAgIC5jcGxvYWQgJHQ5CisgICAgbGkgJHYwLCBfX05SX3J0X3NpZ2FjdGlvbgorICAgIHN5c2NhbGwKKyAgICBibmV6ICRhMywgMWYKKyAgICBtb3ZlICRhMCwgJHYwCisgICAgaiAkcmEKKyAgICBub3AKKzE6CisgICAgbGEgJHQ5LF9fc2V0X2Vycm5vCisgICAgaiAkdDkKKyAgICBub3AKKyAgICAuc2V0IHJlb3JkZXIKKyAgICAuZW5kIF9fcnRfc2lnYWN0aW9uCmRpZmYgLS1naXQgYS9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9fX3J0X3NpZ3Byb2NtYXNrLlMgYi9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9fX3J0X3NpZ3Byb2NtYXNrLlMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTlhODg5NAotLS0gL2Rldi9udWxsCisrKyBiL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL19fcnRfc2lncHJvY21hc2suUwpAQCAtMCwwICsxLDIyIEBACisvKiBhdXRvZ2VuZXJhdGVkIGJ5IGdlbnN5c2NhbGxzLnB5ICovCisjaW5jbHVkZSA8c3lzL2xpbnV4LXN5c2NhbGxzLmg+CisgICAgLnRleHQKKyAgICAuZ2xvYmwgX19ydF9zaWdwcm9jbWFzaworICAgIC5hbGlnbiA0CisgICAgLmVudCBfX3J0X3NpZ3Byb2NtYXNrCisKK19fcnRfc2lncHJvY21hc2s6CisgICAgLnNldCBub3Jlb3JkZXIKKyAgICAuY3Bsb2FkICR0OQorICAgIGxpICR2MCwgX19OUl9ydF9zaWdwcm9jbWFzaworICAgIHN5c2NhbGwKKyAgICBibmV6ICRhMywgMWYKKyAgICBtb3ZlICRhMCwgJHYwCisgICAgaiAkcmEKKyAgICBub3AKKzE6CisgICAgbGEgJHQ5LF9fc2V0X2Vycm5vCisgICAgaiAkdDkKKyAgICBub3AKKyAgICAuc2V0IHJlb3JkZXIKKyAgICAuZW5kIF9fcnRfc2lncHJvY21hc2sKZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL19fcnRfc2lndGltZWR3YWl0LlMgYi9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9fX3J0X3NpZ3RpbWVkd2FpdC5TCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRhZTg3MmUKLS0tIC9kZXYvbnVsbAorKysgYi9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9fX3J0X3NpZ3RpbWVkd2FpdC5TCkBAIC0wLDAgKzEsMjIgQEAKKy8qIGF1dG9nZW5lcmF0ZWQgYnkgZ2Vuc3lzY2FsbHMucHkgKi8KKyNpbmNsdWRlIDxzeXMvbGludXgtc3lzY2FsbHMuaD4KKyAgICAudGV4dAorICAgIC5nbG9ibCBfX3J0X3NpZ3RpbWVkd2FpdAorICAgIC5hbGlnbiA0CisgICAgLmVudCBfX3J0X3NpZ3RpbWVkd2FpdAorCitfX3J0X3NpZ3RpbWVkd2FpdDoKKyAgICAuc2V0IG5vcmVvcmRlcgorICAgIC5jcGxvYWQgJHQ5CisgICAgbGkgJHYwLCBfX05SX3J0X3NpZ3RpbWVkd2FpdAorICAgIHN5c2NhbGwKKyAgICBibmV6ICRhMywgMWYKKyAgICBtb3ZlICRhMCwgJHYwCisgICAgaiAkcmEKKyAgICBub3AKKzE6CisgICAgbGEgJHQ5LF9fc2V0X2Vycm5vCisgICAgaiAkdDkKKyAgICBub3AKKyAgICAuc2V0IHJlb3JkZXIKKyAgICAuZW5kIF9fcnRfc2lndGltZWR3YWl0CmRpZmYgLS1naXQgYS9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9fX3NjaGVkX2dldGFmZmluaXR5LlMgYi9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9fX3NjaGVkX2dldGFmZmluaXR5LlMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2MwMWZmMgotLS0gL2Rldi9udWxsCisrKyBiL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL19fc2NoZWRfZ2V0YWZmaW5pdHkuUwpAQCAtMCwwICsxLDIyIEBACisvKiBhdXRvZ2VuZXJhdGVkIGJ5IGdlbnN5c2NhbGxzLnB5ICovCisjaW5jbHVkZSA8c3lzL2xpbnV4LXN5c2NhbGxzLmg+CisgICAgLnRleHQKKyAgICAuZ2xvYmwgX19zY2hlZF9nZXRhZmZpbml0eQorICAgIC5hbGlnbiA0CisgICAgLmVudCBfX3NjaGVkX2dldGFmZmluaXR5CisKK19fc2NoZWRfZ2V0YWZmaW5pdHk6CisgICAgLnNldCBub3Jlb3JkZXIKKyAgICAuY3Bsb2FkICR0OQorICAgIGxpICR2MCwgX19OUl9zY2hlZF9nZXRhZmZpbml0eQorICAgIHN5c2NhbGwKKyAgICBibmV6ICRhMywgMWYKKyAgICBtb3ZlICRhMCwgJHYwCisgICAgaiAkcmEKKyAgICBub3AKKzE6CisgICAgbGEgJHQ5LF9fc2V0X2Vycm5vCisgICAgaiAkdDkKKyAgICBub3AKKyAgICAuc2V0IHJlb3JkZXIKKyAgICAuZW5kIF9fc2NoZWRfZ2V0YWZmaW5pdHkKZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL19fc2V0X3RocmVhZF9hcmVhLlMgYi9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9fX3NldF90aHJlYWRfYXJlYS5TCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJhYWM5MDEKLS0tIC9kZXYvbnVsbAorKysgYi9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9fX3NldF90aHJlYWRfYXJlYS5TCkBAIC0wLDAgKzEsMjIgQEAKKy8qIGF1dG9nZW5lcmF0ZWQgYnkgZ2Vuc3lzY2FsbHMucHkgKi8KKyNpbmNsdWRlIDxzeXMvbGludXgtc3lzY2FsbHMuaD4KKyAgICAudGV4dAorICAgIC5nbG9ibCBfX3NldF90aHJlYWRfYXJlYQorICAgIC5hbGlnbiA0CisgICAgLmVudCBfX3NldF90aHJlYWRfYXJlYQorCitfX3NldF90aHJlYWRfYXJlYToKKyAgICAuc2V0IG5vcmVvcmRlcgorICAgIC5jcGxvYWQgJHQ5CisgICAgbGkgJHYwLCBfX05SX3NldF90aHJlYWRfYXJlYQorICAgIHN5c2NhbGwKKyAgICBibmV6ICRhMywgMWYKKyAgICBtb3ZlICRhMCwgJHYwCisgICAgaiAkcmEKKyAgICBub3AKKzE6CisgICAgbGEgJHQ5LF9fc2V0X2Vycm5vCisgICAgaiAkdDkKKyAgICBub3AKKyAgICAuc2V0IHJlb3JkZXIKKyAgICAuZW5kIF9fc2V0X3RocmVhZF9hcmVhCmRpZmYgLS1naXQgYS9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9fX3NldHJlc3VpZC5TIGIvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvX19zZXRyZXN1aWQuUwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lMDBkMmUxCi0tLSAvZGV2L251bGwKKysrIGIvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvX19zZXRyZXN1aWQuUwpAQCAtMCwwICsxLDIyIEBACisvKiBhdXRvZ2VuZXJhdGVkIGJ5IGdlbnN5c2NhbGxzLnB5ICovCisjaW5jbHVkZSA8c3lzL2xpbnV4LXN5c2NhbGxzLmg+CisgICAgLnRleHQKKyAgICAuZ2xvYmwgX19zZXRyZXN1aWQKKyAgICAuYWxpZ24gNAorICAgIC5lbnQgX19zZXRyZXN1aWQKKworX19zZXRyZXN1aWQ6CisgICAgLnNldCBub3Jlb3JkZXIKKyAgICAuY3Bsb2FkICR0OQorICAgIGxpICR2MCwgX19OUl9zZXRyZXN1aWQKKyAgICBzeXNjYWxsCisgICAgYm5leiAkYTMsIDFmCisgICAgbW92ZSAkYTAsICR2MAorICAgIGogJHJhCisgICAgbm9wCisxOgorICAgIGxhICR0OSxfX3NldF9lcnJubworICAgIGogJHQ5CisgICAgbm9wCisgICAgLnNldCByZW9yZGVyCisgICAgLmVuZCBfX3NldHJlc3VpZApkaWZmIC0tZ2l0IGEvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvX19zZXRyZXVpZC5TIGIvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvX19zZXRyZXVpZC5TCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI0NWYzZmMKLS0tIC9kZXYvbnVsbAorKysgYi9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9fX3NldHJldWlkLlMKQEAgLTAsMCArMSwyMiBAQAorLyogYXV0b2dlbmVyYXRlZCBieSBnZW5zeXNjYWxscy5weSAqLworI2luY2x1ZGUgPHN5cy9saW51eC1zeXNjYWxscy5oPgorICAgIC50ZXh0CisgICAgLmdsb2JsIF9fc2V0cmV1aWQKKyAgICAuYWxpZ24gNAorICAgIC5lbnQgX19zZXRyZXVpZAorCitfX3NldHJldWlkOgorICAgIC5zZXQgbm9yZW9yZGVyCisgICAgLmNwbG9hZCAkdDkKKyAgICBsaSAkdjAsIF9fTlJfc2V0cmV1aWQKKyAgICBzeXNjYWxsCisgICAgYm5leiAkYTMsIDFmCisgICAgbW92ZSAkYTAsICR2MAorICAgIGogJHJhCisgICAgbm9wCisxOgorICAgIGxhICR0OSxfX3NldF9lcnJubworICAgIGogJHQ5CisgICAgbm9wCisgICAgLnNldCByZW9yZGVyCisgICAgLmVuZCBfX3NldHJldWlkCmRpZmYgLS1naXQgYS9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9fX3NldHVpZC5TIGIvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvX19zZXR1aWQuUwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jMjIxNTI2Ci0tLSAvZGV2L251bGwKKysrIGIvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvX19zZXR1aWQuUwpAQCAtMCwwICsxLDIyIEBACisvKiBhdXRvZ2VuZXJhdGVkIGJ5IGdlbnN5c2NhbGxzLnB5ICovCisjaW5jbHVkZSA8c3lzL2xpbnV4LXN5c2NhbGxzLmg+CisgICAgLnRleHQKKyAgICAuZ2xvYmwgX19zZXR1aWQKKyAgICAuYWxpZ24gNAorICAgIC5lbnQgX19zZXR1aWQKKworX19zZXR1aWQ6CisgICAgLnNldCBub3Jlb3JkZXIKKyAgICAuY3Bsb2FkICR0OQorICAgIGxpICR2MCwgX19OUl9zZXR1aWQKKyAgICBzeXNjYWxsCisgICAgYm5leiAkYTMsIDFmCisgICAgbW92ZSAkYTAsICR2MAorICAgIGogJHJhCisgICAgbm9wCisxOgorICAgIGxhICR0OSxfX3NldF9lcnJubworICAgIGogJHQ5CisgICAgbm9wCisgICAgLnNldCByZW9yZGVyCisgICAgLmVuZCBfX3NldHVpZApkaWZmIC0tZ2l0IGEvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvX19zaWdzdXNwZW5kLlMgYi9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9fX3NpZ3N1c3BlbmQuUwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iNjIyZWZlCi0tLSAvZGV2L251bGwKKysrIGIvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvX19zaWdzdXNwZW5kLlMKQEAgLTAsMCArMSwyMiBAQAorLyogYXV0b2dlbmVyYXRlZCBieSBnZW5zeXNjYWxscy5weSAqLworI2luY2x1ZGUgPHN5cy9saW51eC1zeXNjYWxscy5oPgorICAgIC50ZXh0CisgICAgLmdsb2JsIF9fc2lnc3VzcGVuZAorICAgIC5hbGlnbiA0CisgICAgLmVudCBfX3NpZ3N1c3BlbmQKKworX19zaWdzdXNwZW5kOgorICAgIC5zZXQgbm9yZW9yZGVyCisgICAgLmNwbG9hZCAkdDkKKyAgICBsaSAkdjAsIF9fTlJfc2lnc3VzcGVuZAorICAgIHN5c2NhbGwKKyAgICBibmV6ICRhMywgMWYKKyAgICBtb3ZlICRhMCwgJHYwCisgICAgaiAkcmEKKyAgICBub3AKKzE6CisgICAgbGEgJHQ5LF9fc2V0X2Vycm5vCisgICAgaiAkdDkKKyAgICBub3AKKyAgICAuc2V0IHJlb3JkZXIKKyAgICAuZW5kIF9fc2lnc3VzcGVuZApkaWZmIC0tZ2l0IGEvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvX19zdGF0ZnM2NC5TIGIvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvX19zdGF0ZnM2NC5TCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRkMWIxN2YKLS0tIC9kZXYvbnVsbAorKysgYi9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9fX3N0YXRmczY0LlMKQEAgLTAsMCArMSwyMiBAQAorLyogYXV0b2dlbmVyYXRlZCBieSBnZW5zeXNjYWxscy5weSAqLworI2luY2x1ZGUgPHN5cy9saW51eC1zeXNjYWxscy5oPgorICAgIC50ZXh0CisgICAgLmdsb2JsIF9fc3RhdGZzNjQKKyAgICAuYWxpZ24gNAorICAgIC5lbnQgX19zdGF0ZnM2NAorCitfX3N0YXRmczY0OgorICAgIC5zZXQgbm9yZW9yZGVyCisgICAgLmNwbG9hZCAkdDkKKyAgICBsaSAkdjAsIF9fTlJfc3RhdGZzNjQKKyAgICBzeXNjYWxsCisgICAgYm5leiAkYTMsIDFmCisgICAgbW92ZSAkYTAsICR2MAorICAgIGogJHJhCisgICAgbm9wCisxOgorICAgIGxhICR0OSxfX3NldF9lcnJubworICAgIGogJHQ5CisgICAgbm9wCisgICAgLnNldCByZW9yZGVyCisgICAgLmVuZCBfX3N0YXRmczY0CmRpZmYgLS1naXQgYS9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9fX3N5c19jbG9uZS5TIGIvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvX19zeXNfY2xvbmUuUwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zNDUxZTAyCi0tLSAvZGV2L251bGwKKysrIGIvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvX19zeXNfY2xvbmUuUwpAQCAtMCwwICsxLDIyIEBACisvKiBhdXRvZ2VuZXJhdGVkIGJ5IGdlbnN5c2NhbGxzLnB5ICovCisjaW5jbHVkZSA8c3lzL2xpbnV4LXN5c2NhbGxzLmg+CisgICAgLnRleHQKKyAgICAuZ2xvYmwgX19zeXNfY2xvbmUKKyAgICAuYWxpZ24gNAorICAgIC5lbnQgX19zeXNfY2xvbmUKKworX19zeXNfY2xvbmU6CisgICAgLnNldCBub3Jlb3JkZXIKKyAgICAuY3Bsb2FkICR0OQorICAgIGxpICR2MCwgX19OUl9jbG9uZQorICAgIHN5c2NhbGwKKyAgICBibmV6ICRhMywgMWYKKyAgICBtb3ZlICRhMCwgJHYwCisgICAgaiAkcmEKKyAgICBub3AKKzE6CisgICAgbGEgJHQ5LF9fc2V0X2Vycm5vCisgICAgaiAkdDkKKyAgICBub3AKKyAgICAuc2V0IHJlb3JkZXIKKyAgICAuZW5kIF9fc3lzX2Nsb25lCmRpZmYgLS1naXQgYS9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9fX3N5c2xvZy5TIGIvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvX19zeXNsb2cuUwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iZGMxOTRkCi0tLSAvZGV2L251bGwKKysrIGIvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvX19zeXNsb2cuUwpAQCAtMCwwICsxLDIyIEBACisvKiBhdXRvZ2VuZXJhdGVkIGJ5IGdlbnN5c2NhbGxzLnB5ICovCisjaW5jbHVkZSA8c3lzL2xpbnV4LXN5c2NhbGxzLmg+CisgICAgLnRleHQKKyAgICAuZ2xvYmwgX19zeXNsb2cKKyAgICAuYWxpZ24gNAorICAgIC5lbnQgX19zeXNsb2cKKworX19zeXNsb2c6CisgICAgLnNldCBub3Jlb3JkZXIKKyAgICAuY3Bsb2FkICR0OQorICAgIGxpICR2MCwgX19OUl9zeXNsb2cKKyAgICBzeXNjYWxsCisgICAgYm5leiAkYTMsIDFmCisgICAgbW92ZSAkYTAsICR2MAorICAgIGogJHJhCisgICAgbm9wCisxOgorICAgIGxhICR0OSxfX3NldF9lcnJubworICAgIGogJHQ5CisgICAgbm9wCisgICAgLnNldCByZW9yZGVyCisgICAgLmVuZCBfX3N5c2xvZwpkaWZmIC0tZ2l0IGEvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvX190aW1lcl9jcmVhdGUuUyBiL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL19fdGltZXJfY3JlYXRlLlMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTQwZDBkMQotLS0gL2Rldi9udWxsCisrKyBiL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL19fdGltZXJfY3JlYXRlLlMKQEAgLTAsMCArMSwyMiBAQAorLyogYXV0b2dlbmVyYXRlZCBieSBnZW5zeXNjYWxscy5weSAqLworI2luY2x1ZGUgPHN5cy9saW51eC1zeXNjYWxscy5oPgorICAgIC50ZXh0CisgICAgLmdsb2JsIF9fdGltZXJfY3JlYXRlCisgICAgLmFsaWduIDQKKyAgICAuZW50IF9fdGltZXJfY3JlYXRlCisKK19fdGltZXJfY3JlYXRlOgorICAgIC5zZXQgbm9yZW9yZGVyCisgICAgLmNwbG9hZCAkdDkKKyAgICBsaSAkdjAsIF9fTlJfdGltZXJfY3JlYXRlCisgICAgc3lzY2FsbAorICAgIGJuZXogJGEzLCAxZgorICAgIG1vdmUgJGEwLCAkdjAKKyAgICBqICRyYQorICAgIG5vcAorMToKKyAgICBsYSAkdDksX19zZXRfZXJybm8KKyAgICBqICR0OQorICAgIG5vcAorICAgIC5zZXQgcmVvcmRlcgorICAgIC5lbmQgX190aW1lcl9jcmVhdGUKZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL19fdGltZXJfZGVsZXRlLlMgYi9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9fX3RpbWVyX2RlbGV0ZS5TCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRmMzYyZTYKLS0tIC9kZXYvbnVsbAorKysgYi9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9fX3RpbWVyX2RlbGV0ZS5TCkBAIC0wLDAgKzEsMjIgQEAKKy8qIGF1dG9nZW5lcmF0ZWQgYnkgZ2Vuc3lzY2FsbHMucHkgKi8KKyNpbmNsdWRlIDxzeXMvbGludXgtc3lzY2FsbHMuaD4KKyAgICAudGV4dAorICAgIC5nbG9ibCBfX3RpbWVyX2RlbGV0ZQorICAgIC5hbGlnbiA0CisgICAgLmVudCBfX3RpbWVyX2RlbGV0ZQorCitfX3RpbWVyX2RlbGV0ZToKKyAgICAuc2V0IG5vcmVvcmRlcgorICAgIC5jcGxvYWQgJHQ5CisgICAgbGkgJHYwLCBfX05SX3RpbWVyX2RlbGV0ZQorICAgIHN5c2NhbGwKKyAgICBibmV6ICRhMywgMWYKKyAgICBtb3ZlICRhMCwgJHYwCisgICAgaiAkcmEKKyAgICBub3AKKzE6CisgICAgbGEgJHQ5LF9fc2V0X2Vycm5vCisgICAgaiAkdDkKKyAgICBub3AKKyAgICAuc2V0IHJlb3JkZXIKKyAgICAuZW5kIF9fdGltZXJfZGVsZXRlCmRpZmYgLS1naXQgYS9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9fX3RpbWVyX2dldG92ZXJydW4uUyBiL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL19fdGltZXJfZ2V0b3ZlcnJ1bi5TCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY4YWZhMWMKLS0tIC9kZXYvbnVsbAorKysgYi9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9fX3RpbWVyX2dldG92ZXJydW4uUwpAQCAtMCwwICsxLDIyIEBACisvKiBhdXRvZ2VuZXJhdGVkIGJ5IGdlbnN5c2NhbGxzLnB5ICovCisjaW5jbHVkZSA8c3lzL2xpbnV4LXN5c2NhbGxzLmg+CisgICAgLnRleHQKKyAgICAuZ2xvYmwgX190aW1lcl9nZXRvdmVycnVuCisgICAgLmFsaWduIDQKKyAgICAuZW50IF9fdGltZXJfZ2V0b3ZlcnJ1bgorCitfX3RpbWVyX2dldG92ZXJydW46CisgICAgLnNldCBub3Jlb3JkZXIKKyAgICAuY3Bsb2FkICR0OQorICAgIGxpICR2MCwgX19OUl90aW1lcl9nZXRvdmVycnVuCisgICAgc3lzY2FsbAorICAgIGJuZXogJGEzLCAxZgorICAgIG1vdmUgJGEwLCAkdjAKKyAgICBqICRyYQorICAgIG5vcAorMToKKyAgICBsYSAkdDksX19zZXRfZXJybm8KKyAgICBqICR0OQorICAgIG5vcAorICAgIC5zZXQgcmVvcmRlcgorICAgIC5lbmQgX190aW1lcl9nZXRvdmVycnVuCmRpZmYgLS1naXQgYS9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9fX3RpbWVyX2dldHRpbWUuUyBiL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL19fdGltZXJfZ2V0dGltZS5TCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRhNzBkYTYKLS0tIC9kZXYvbnVsbAorKysgYi9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9fX3RpbWVyX2dldHRpbWUuUwpAQCAtMCwwICsxLDIyIEBACisvKiBhdXRvZ2VuZXJhdGVkIGJ5IGdlbnN5c2NhbGxzLnB5ICovCisjaW5jbHVkZSA8c3lzL2xpbnV4LXN5c2NhbGxzLmg+CisgICAgLnRleHQKKyAgICAuZ2xvYmwgX190aW1lcl9nZXR0aW1lCisgICAgLmFsaWduIDQKKyAgICAuZW50IF9fdGltZXJfZ2V0dGltZQorCitfX3RpbWVyX2dldHRpbWU6CisgICAgLnNldCBub3Jlb3JkZXIKKyAgICAuY3Bsb2FkICR0OQorICAgIGxpICR2MCwgX19OUl90aW1lcl9nZXR0aW1lCisgICAgc3lzY2FsbAorICAgIGJuZXogJGEzLCAxZgorICAgIG1vdmUgJGEwLCAkdjAKKyAgICBqICRyYQorICAgIG5vcAorMToKKyAgICBsYSAkdDksX19zZXRfZXJybm8KKyAgICBqICR0OQorICAgIG5vcAorICAgIC5zZXQgcmVvcmRlcgorICAgIC5lbmQgX190aW1lcl9nZXR0aW1lCmRpZmYgLS1naXQgYS9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9fX3RpbWVyX3NldHRpbWUuUyBiL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL19fdGltZXJfc2V0dGltZS5TCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFkODQ2MDYKLS0tIC9kZXYvbnVsbAorKysgYi9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9fX3RpbWVyX3NldHRpbWUuUwpAQCAtMCwwICsxLDIyIEBACisvKiBhdXRvZ2VuZXJhdGVkIGJ5IGdlbnN5c2NhbGxzLnB5ICovCisjaW5jbHVkZSA8c3lzL2xpbnV4LXN5c2NhbGxzLmg+CisgICAgLnRleHQKKyAgICAuZ2xvYmwgX190aW1lcl9zZXR0aW1lCisgICAgLmFsaWduIDQKKyAgICAuZW50IF9fdGltZXJfc2V0dGltZQorCitfX3RpbWVyX3NldHRpbWU6CisgICAgLnNldCBub3Jlb3JkZXIKKyAgICAuY3Bsb2FkICR0OQorICAgIGxpICR2MCwgX19OUl90aW1lcl9zZXR0aW1lCisgICAgc3lzY2FsbAorICAgIGJuZXogJGEzLCAxZgorICAgIG1vdmUgJGEwLCAkdjAKKyAgICBqICRyYQorICAgIG5vcAorMToKKyAgICBsYSAkdDksX19zZXRfZXJybm8KKyAgICBqICR0OQorICAgIG5vcAorICAgIC5zZXQgcmVvcmRlcgorICAgIC5lbmQgX190aW1lcl9zZXR0aW1lCmRpZmYgLS1naXQgYS9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9fX3dhaXQ0LlMgYi9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9fX3dhaXQ0LlMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzEzYjdjYgotLS0gL2Rldi9udWxsCisrKyBiL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL19fd2FpdDQuUwpAQCAtMCwwICsxLDIyIEBACisvKiBhdXRvZ2VuZXJhdGVkIGJ5IGdlbnN5c2NhbGxzLnB5ICovCisjaW5jbHVkZSA8c3lzL2xpbnV4LXN5c2NhbGxzLmg+CisgICAgLnRleHQKKyAgICAuZ2xvYmwgX193YWl0NAorICAgIC5hbGlnbiA0CisgICAgLmVudCBfX3dhaXQ0CisKK19fd2FpdDQ6CisgICAgLnNldCBub3Jlb3JkZXIKKyAgICAuY3Bsb2FkICR0OQorICAgIGxpICR2MCwgX19OUl93YWl0NAorICAgIHN5c2NhbGwKKyAgICBibmV6ICRhMywgMWYKKyAgICBtb3ZlICRhMCwgJHYwCisgICAgaiAkcmEKKyAgICBub3AKKzE6CisgICAgbGEgJHQ5LF9fc2V0X2Vycm5vCisgICAgaiAkdDkKKyAgICBub3AKKyAgICAuc2V0IHJlb3JkZXIKKyAgICAuZW5kIF9fd2FpdDQKZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL19fd2FpdGlkLlMgYi9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9fX3dhaXRpZC5TCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjgzZTVhYTMKLS0tIC9kZXYvbnVsbAorKysgYi9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9fX3dhaXRpZC5TCkBAIC0wLDAgKzEsMjIgQEAKKy8qIGF1dG9nZW5lcmF0ZWQgYnkgZ2Vuc3lzY2FsbHMucHkgKi8KKyNpbmNsdWRlIDxzeXMvbGludXgtc3lzY2FsbHMuaD4KKyAgICAudGV4dAorICAgIC5nbG9ibCBfX3dhaXRpZAorICAgIC5hbGlnbiA0CisgICAgLmVudCBfX3dhaXRpZAorCitfX3dhaXRpZDoKKyAgICAuc2V0IG5vcmVvcmRlcgorICAgIC5jcGxvYWQgJHQ5CisgICAgbGkgJHYwLCBfX05SX3dhaXRpZAorICAgIHN5c2NhbGwKKyAgICBibmV6ICRhMywgMWYKKyAgICBtb3ZlICRhMCwgJHYwCisgICAgaiAkcmEKKyAgICBub3AKKzE6CisgICAgbGEgJHQ5LF9fc2V0X2Vycm5vCisgICAgaiAkdDkKKyAgICBub3AKKyAgICAuc2V0IHJlb3JkZXIKKyAgICAuZW5kIF9fd2FpdGlkCmRpZmYgLS1naXQgYS9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9fZXhpdC5TIGIvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvX2V4aXQuUwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iN2VjODc2Ci0tLSAvZGV2L251bGwKKysrIGIvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvX2V4aXQuUwpAQCAtMCwwICsxLDIyIEBACisvKiBhdXRvZ2VuZXJhdGVkIGJ5IGdlbnN5c2NhbGxzLnB5ICovCisjaW5jbHVkZSA8c3lzL2xpbnV4LXN5c2NhbGxzLmg+CisgICAgLnRleHQKKyAgICAuZ2xvYmwgX2V4aXQKKyAgICAuYWxpZ24gNAorICAgIC5lbnQgX2V4aXQKKworX2V4aXQ6CisgICAgLnNldCBub3Jlb3JkZXIKKyAgICAuY3Bsb2FkICR0OQorICAgIGxpICR2MCwgX19OUl9leGl0X2dyb3VwCisgICAgc3lzY2FsbAorICAgIGJuZXogJGEzLCAxZgorICAgIG1vdmUgJGEwLCAkdjAKKyAgICBqICRyYQorICAgIG5vcAorMToKKyAgICBsYSAkdDksX19zZXRfZXJybm8KKyAgICBqICR0OQorICAgIG5vcAorICAgIC5zZXQgcmVvcmRlcgorICAgIC5lbmQgX2V4aXQKZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL19leGl0X3RocmVhZC5TIGIvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvX2V4aXRfdGhyZWFkLlMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGFmOWQzZAotLS0gL2Rldi9udWxsCisrKyBiL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL19leGl0X3RocmVhZC5TCkBAIC0wLDAgKzEsMjIgQEAKKy8qIGF1dG9nZW5lcmF0ZWQgYnkgZ2Vuc3lzY2FsbHMucHkgKi8KKyNpbmNsdWRlIDxzeXMvbGludXgtc3lzY2FsbHMuaD4KKyAgICAudGV4dAorICAgIC5nbG9ibCBfZXhpdF90aHJlYWQKKyAgICAuYWxpZ24gNAorICAgIC5lbnQgX2V4aXRfdGhyZWFkCisKK19leGl0X3RocmVhZDoKKyAgICAuc2V0IG5vcmVvcmRlcgorICAgIC5jcGxvYWQgJHQ5CisgICAgbGkgJHYwLCBfX05SX2V4aXQKKyAgICBzeXNjYWxsCisgICAgYm5leiAkYTMsIDFmCisgICAgbW92ZSAkYTAsICR2MAorICAgIGogJHJhCisgICAgbm9wCisxOgorICAgIGxhICR0OSxfX3NldF9lcnJubworICAgIGogJHQ5CisgICAgbm9wCisgICAgLnNldCByZW9yZGVyCisgICAgLmVuZCBfZXhpdF90aHJlYWQKZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL19mbHVzaF9jYWNoZS5TIGIvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvX2ZsdXNoX2NhY2hlLlMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDdkZWU2NgotLS0gL2Rldi9udWxsCisrKyBiL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL19mbHVzaF9jYWNoZS5TCkBAIC0wLDAgKzEsMjIgQEAKKy8qIGF1dG9nZW5lcmF0ZWQgYnkgZ2Vuc3lzY2FsbHMucHkgKi8KKyNpbmNsdWRlIDxzeXMvbGludXgtc3lzY2FsbHMuaD4KKyAgICAudGV4dAorICAgIC5nbG9ibCBfZmx1c2hfY2FjaGUKKyAgICAuYWxpZ24gNAorICAgIC5lbnQgX2ZsdXNoX2NhY2hlCisKK19mbHVzaF9jYWNoZToKKyAgICAuc2V0IG5vcmVvcmRlcgorICAgIC5jcGxvYWQgJHQ5CisgICAgbGkgJHYwLCBfX05SX2NhY2hlZmx1c2gKKyAgICBzeXNjYWxsCisgICAgYm5leiAkYTMsIDFmCisgICAgbW92ZSAkYTAsICR2MAorICAgIGogJHJhCisgICAgbm9wCisxOgorICAgIGxhICR0OSxfX3NldF9lcnJubworICAgIGogJHQ5CisgICAgbm9wCisgICAgLnNldCByZW9yZGVyCisgICAgLmVuZCBfZmx1c2hfY2FjaGUKZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL193YWl0cGlkLlMgYi9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9fd2FpdHBpZC5TCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjIwZGIzYTgKLS0tIC9kZXYvbnVsbAorKysgYi9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9fd2FpdHBpZC5TCkBAIC0wLDAgKzEsMjIgQEAKKy8qIGF1dG9nZW5lcmF0ZWQgYnkgZ2Vuc3lzY2FsbHMucHkgKi8KKyNpbmNsdWRlIDxzeXMvbGludXgtc3lzY2FsbHMuaD4KKyAgICAudGV4dAorICAgIC5nbG9ibCBfd2FpdHBpZAorICAgIC5hbGlnbiA0CisgICAgLmVudCBfd2FpdHBpZAorCitfd2FpdHBpZDoKKyAgICAuc2V0IG5vcmVvcmRlcgorICAgIC5jcGxvYWQgJHQ5CisgICAgbGkgJHYwLCBfX05SX3dhaXRwaWQKKyAgICBzeXNjYWxsCisgICAgYm5leiAkYTMsIDFmCisgICAgbW92ZSAkYTAsICR2MAorICAgIGogJHJhCisgICAgbm9wCisxOgorICAgIGxhICR0OSxfX3NldF9lcnJubworICAgIGogJHQ5CisgICAgbm9wCisgICAgLnNldCByZW9yZGVyCisgICAgLmVuZCBfd2FpdHBpZApkaWZmIC0tZ2l0IGEvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvYWNjZXB0LlMgYi9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9hY2NlcHQuUwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jMTkyMTZlCi0tLSAvZGV2L251bGwKKysrIGIvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvYWNjZXB0LlMKQEAgLTAsMCArMSwyMiBAQAorLyogYXV0b2dlbmVyYXRlZCBieSBnZW5zeXNjYWxscy5weSAqLworI2luY2x1ZGUgPHN5cy9saW51eC1zeXNjYWxscy5oPgorICAgIC50ZXh0CisgICAgLmdsb2JsIGFjY2VwdAorICAgIC5hbGlnbiA0CisgICAgLmVudCBhY2NlcHQKKworYWNjZXB0OgorICAgIC5zZXQgbm9yZW9yZGVyCisgICAgLmNwbG9hZCAkdDkKKyAgICBsaSAkdjAsIF9fTlJfYWNjZXB0CisgICAgc3lzY2FsbAorICAgIGJuZXogJGEzLCAxZgorICAgIG1vdmUgJGEwLCAkdjAKKyAgICBqICRyYQorICAgIG5vcAorMToKKyAgICBsYSAkdDksX19zZXRfZXJybm8KKyAgICBqICR0OQorICAgIG5vcAorICAgIC5zZXQgcmVvcmRlcgorICAgIC5lbmQgYWNjZXB0CmRpZmYgLS1naXQgYS9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9hY2Nlc3MuUyBiL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL2FjY2Vzcy5TCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmEyMmVkOTIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9hY2Nlc3MuUwpAQCAtMCwwICsxLDIyIEBACisvKiBhdXRvZ2VuZXJhdGVkIGJ5IGdlbnN5c2NhbGxzLnB5ICovCisjaW5jbHVkZSA8c3lzL2xpbnV4LXN5c2NhbGxzLmg+CisgICAgLnRleHQKKyAgICAuZ2xvYmwgYWNjZXNzCisgICAgLmFsaWduIDQKKyAgICAuZW50IGFjY2VzcworCithY2Nlc3M6CisgICAgLnNldCBub3Jlb3JkZXIKKyAgICAuY3Bsb2FkICR0OQorICAgIGxpICR2MCwgX19OUl9hY2Nlc3MKKyAgICBzeXNjYWxsCisgICAgYm5leiAkYTMsIDFmCisgICAgbW92ZSAkYTAsICR2MAorICAgIGogJHJhCisgICAgbm9wCisxOgorICAgIGxhICR0OSxfX3NldF9lcnJubworICAgIGogJHQ5CisgICAgbm9wCisgICAgLnNldCByZW9yZGVyCisgICAgLmVuZCBhY2Nlc3MKZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL2FjY3QuUyBiL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL2FjY3QuUwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41MjM1ZWRlCi0tLSAvZGV2L251bGwKKysrIGIvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvYWNjdC5TCkBAIC0wLDAgKzEsMjIgQEAKKy8qIGF1dG9nZW5lcmF0ZWQgYnkgZ2Vuc3lzY2FsbHMucHkgKi8KKyNpbmNsdWRlIDxzeXMvbGludXgtc3lzY2FsbHMuaD4KKyAgICAudGV4dAorICAgIC5nbG9ibCBhY2N0CisgICAgLmFsaWduIDQKKyAgICAuZW50IGFjY3QKKworYWNjdDoKKyAgICAuc2V0IG5vcmVvcmRlcgorICAgIC5jcGxvYWQgJHQ5CisgICAgbGkgJHYwLCBfX05SX2FjY3QKKyAgICBzeXNjYWxsCisgICAgYm5leiAkYTMsIDFmCisgICAgbW92ZSAkYTAsICR2MAorICAgIGogJHJhCisgICAgbm9wCisxOgorICAgIGxhICR0OSxfX3NldF9lcnJubworICAgIGogJHQ5CisgICAgbm9wCisgICAgLnNldCByZW9yZGVyCisgICAgLmVuZCBhY2N0CmRpZmYgLS1naXQgYS9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9iaW5kLlMgYi9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9iaW5kLlMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGYwMDkyMgotLS0gL2Rldi9udWxsCisrKyBiL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL2JpbmQuUwpAQCAtMCwwICsxLDIyIEBACisvKiBhdXRvZ2VuZXJhdGVkIGJ5IGdlbnN5c2NhbGxzLnB5ICovCisjaW5jbHVkZSA8c3lzL2xpbnV4LXN5c2NhbGxzLmg+CisgICAgLnRleHQKKyAgICAuZ2xvYmwgYmluZAorICAgIC5hbGlnbiA0CisgICAgLmVudCBiaW5kCisKK2JpbmQ6CisgICAgLnNldCBub3Jlb3JkZXIKKyAgICAuY3Bsb2FkICR0OQorICAgIGxpICR2MCwgX19OUl9iaW5kCisgICAgc3lzY2FsbAorICAgIGJuZXogJGEzLCAxZgorICAgIG1vdmUgJGEwLCAkdjAKKyAgICBqICRyYQorICAgIG5vcAorMToKKyAgICBsYSAkdDksX19zZXRfZXJybm8KKyAgICBqICR0OQorICAgIG5vcAorICAgIC5zZXQgcmVvcmRlcgorICAgIC5lbmQgYmluZApkaWZmIC0tZ2l0IGEvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvY2FwZ2V0LlMgYi9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9jYXBnZXQuUwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44MGU1NWVlCi0tLSAvZGV2L251bGwKKysrIGIvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvY2FwZ2V0LlMKQEAgLTAsMCArMSwyMiBAQAorLyogYXV0b2dlbmVyYXRlZCBieSBnZW5zeXNjYWxscy5weSAqLworI2luY2x1ZGUgPHN5cy9saW51eC1zeXNjYWxscy5oPgorICAgIC50ZXh0CisgICAgLmdsb2JsIGNhcGdldAorICAgIC5hbGlnbiA0CisgICAgLmVudCBjYXBnZXQKKworY2FwZ2V0OgorICAgIC5zZXQgbm9yZW9yZGVyCisgICAgLmNwbG9hZCAkdDkKKyAgICBsaSAkdjAsIF9fTlJfY2FwZ2V0CisgICAgc3lzY2FsbAorICAgIGJuZXogJGEzLCAxZgorICAgIG1vdmUgJGEwLCAkdjAKKyAgICBqICRyYQorICAgIG5vcAorMToKKyAgICBsYSAkdDksX19zZXRfZXJybm8KKyAgICBqICR0OQorICAgIG5vcAorICAgIC5zZXQgcmVvcmRlcgorICAgIC5lbmQgY2FwZ2V0CmRpZmYgLS1naXQgYS9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9jYXBzZXQuUyBiL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL2NhcHNldC5TCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBlNGEzYmUKLS0tIC9kZXYvbnVsbAorKysgYi9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9jYXBzZXQuUwpAQCAtMCwwICsxLDIyIEBACisvKiBhdXRvZ2VuZXJhdGVkIGJ5IGdlbnN5c2NhbGxzLnB5ICovCisjaW5jbHVkZSA8c3lzL2xpbnV4LXN5c2NhbGxzLmg+CisgICAgLnRleHQKKyAgICAuZ2xvYmwgY2Fwc2V0CisgICAgLmFsaWduIDQKKyAgICAuZW50IGNhcHNldAorCitjYXBzZXQ6CisgICAgLnNldCBub3Jlb3JkZXIKKyAgICAuY3Bsb2FkICR0OQorICAgIGxpICR2MCwgX19OUl9jYXBzZXQKKyAgICBzeXNjYWxsCisgICAgYm5leiAkYTMsIDFmCisgICAgbW92ZSAkYTAsICR2MAorICAgIGogJHJhCisgICAgbm9wCisxOgorICAgIGxhICR0OSxfX3NldF9lcnJubworICAgIGogJHQ5CisgICAgbm9wCisgICAgLnNldCByZW9yZGVyCisgICAgLmVuZCBjYXBzZXQKZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL2NoZGlyLlMgYi9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9jaGRpci5TCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQyZWIzN2MKLS0tIC9kZXYvbnVsbAorKysgYi9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9jaGRpci5TCkBAIC0wLDAgKzEsMjIgQEAKKy8qIGF1dG9nZW5lcmF0ZWQgYnkgZ2Vuc3lzY2FsbHMucHkgKi8KKyNpbmNsdWRlIDxzeXMvbGludXgtc3lzY2FsbHMuaD4KKyAgICAudGV4dAorICAgIC5nbG9ibCBjaGRpcgorICAgIC5hbGlnbiA0CisgICAgLmVudCBjaGRpcgorCitjaGRpcjoKKyAgICAuc2V0IG5vcmVvcmRlcgorICAgIC5jcGxvYWQgJHQ5CisgICAgbGkgJHYwLCBfX05SX2NoZGlyCisgICAgc3lzY2FsbAorICAgIGJuZXogJGEzLCAxZgorICAgIG1vdmUgJGEwLCAkdjAKKyAgICBqICRyYQorICAgIG5vcAorMToKKyAgICBsYSAkdDksX19zZXRfZXJybm8KKyAgICBqICR0OQorICAgIG5vcAorICAgIC5zZXQgcmVvcmRlcgorICAgIC5lbmQgY2hkaXIKZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL2NobW9kLlMgYi9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9jaG1vZC5TCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdlYTNlZGUKLS0tIC9kZXYvbnVsbAorKysgYi9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9jaG1vZC5TCkBAIC0wLDAgKzEsMjIgQEAKKy8qIGF1dG9nZW5lcmF0ZWQgYnkgZ2Vuc3lzY2FsbHMucHkgKi8KKyNpbmNsdWRlIDxzeXMvbGludXgtc3lzY2FsbHMuaD4KKyAgICAudGV4dAorICAgIC5nbG9ibCBjaG1vZAorICAgIC5hbGlnbiA0CisgICAgLmVudCBjaG1vZAorCitjaG1vZDoKKyAgICAuc2V0IG5vcmVvcmRlcgorICAgIC5jcGxvYWQgJHQ5CisgICAgbGkgJHYwLCBfX05SX2NobW9kCisgICAgc3lzY2FsbAorICAgIGJuZXogJGEzLCAxZgorICAgIG1vdmUgJGEwLCAkdjAKKyAgICBqICRyYQorICAgIG5vcAorMToKKyAgICBsYSAkdDksX19zZXRfZXJybm8KKyAgICBqICR0OQorICAgIG5vcAorICAgIC5zZXQgcmVvcmRlcgorICAgIC5lbmQgY2htb2QKZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL2Nob3duLlMgYi9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9jaG93bi5TCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVmYjFlMzIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9jaG93bi5TCkBAIC0wLDAgKzEsMjIgQEAKKy8qIGF1dG9nZW5lcmF0ZWQgYnkgZ2Vuc3lzY2FsbHMucHkgKi8KKyNpbmNsdWRlIDxzeXMvbGludXgtc3lzY2FsbHMuaD4KKyAgICAudGV4dAorICAgIC5nbG9ibCBjaG93bgorICAgIC5hbGlnbiA0CisgICAgLmVudCBjaG93bgorCitjaG93bjoKKyAgICAuc2V0IG5vcmVvcmRlcgorICAgIC5jcGxvYWQgJHQ5CisgICAgbGkgJHYwLCBfX05SX2Nob3duCisgICAgc3lzY2FsbAorICAgIGJuZXogJGEzLCAxZgorICAgIG1vdmUgJGEwLCAkdjAKKyAgICBqICRyYQorICAgIG5vcAorMToKKyAgICBsYSAkdDksX19zZXRfZXJybm8KKyAgICBqICR0OQorICAgIG5vcAorICAgIC5zZXQgcmVvcmRlcgorICAgIC5lbmQgY2hvd24KZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL2Nocm9vdC5TIGIvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvY2hyb290LlMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmFmYjZhMgotLS0gL2Rldi9udWxsCisrKyBiL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL2Nocm9vdC5TCkBAIC0wLDAgKzEsMjIgQEAKKy8qIGF1dG9nZW5lcmF0ZWQgYnkgZ2Vuc3lzY2FsbHMucHkgKi8KKyNpbmNsdWRlIDxzeXMvbGludXgtc3lzY2FsbHMuaD4KKyAgICAudGV4dAorICAgIC5nbG9ibCBjaHJvb3QKKyAgICAuYWxpZ24gNAorICAgIC5lbnQgY2hyb290CisKK2Nocm9vdDoKKyAgICAuc2V0IG5vcmVvcmRlcgorICAgIC5jcGxvYWQgJHQ5CisgICAgbGkgJHYwLCBfX05SX2Nocm9vdAorICAgIHN5c2NhbGwKKyAgICBibmV6ICRhMywgMWYKKyAgICBtb3ZlICRhMCwgJHYwCisgICAgaiAkcmEKKyAgICBub3AKKzE6CisgICAgbGEgJHQ5LF9fc2V0X2Vycm5vCisgICAgaiAkdDkKKyAgICBub3AKKyAgICAuc2V0IHJlb3JkZXIKKyAgICAuZW5kIGNocm9vdApkaWZmIC0tZ2l0IGEvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvY2xvY2tfZ2V0cmVzLlMgYi9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9jbG9ja19nZXRyZXMuUwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40MDIxYjE0Ci0tLSAvZGV2L251bGwKKysrIGIvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvY2xvY2tfZ2V0cmVzLlMKQEAgLTAsMCArMSwyMiBAQAorLyogYXV0b2dlbmVyYXRlZCBieSBnZW5zeXNjYWxscy5weSAqLworI2luY2x1ZGUgPHN5cy9saW51eC1zeXNjYWxscy5oPgorICAgIC50ZXh0CisgICAgLmdsb2JsIGNsb2NrX2dldHJlcworICAgIC5hbGlnbiA0CisgICAgLmVudCBjbG9ja19nZXRyZXMKKworY2xvY2tfZ2V0cmVzOgorICAgIC5zZXQgbm9yZW9yZGVyCisgICAgLmNwbG9hZCAkdDkKKyAgICBsaSAkdjAsIF9fTlJfY2xvY2tfZ2V0cmVzCisgICAgc3lzY2FsbAorICAgIGJuZXogJGEzLCAxZgorICAgIG1vdmUgJGEwLCAkdjAKKyAgICBqICRyYQorICAgIG5vcAorMToKKyAgICBsYSAkdDksX19zZXRfZXJybm8KKyAgICBqICR0OQorICAgIG5vcAorICAgIC5zZXQgcmVvcmRlcgorICAgIC5lbmQgY2xvY2tfZ2V0cmVzCmRpZmYgLS1naXQgYS9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9jbG9ja19nZXR0aW1lLlMgYi9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9jbG9ja19nZXR0aW1lLlMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmE3YWZiOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL2Nsb2NrX2dldHRpbWUuUwpAQCAtMCwwICsxLDIyIEBACisvKiBhdXRvZ2VuZXJhdGVkIGJ5IGdlbnN5c2NhbGxzLnB5ICovCisjaW5jbHVkZSA8c3lzL2xpbnV4LXN5c2NhbGxzLmg+CisgICAgLnRleHQKKyAgICAuZ2xvYmwgY2xvY2tfZ2V0dGltZQorICAgIC5hbGlnbiA0CisgICAgLmVudCBjbG9ja19nZXR0aW1lCisKK2Nsb2NrX2dldHRpbWU6CisgICAgLnNldCBub3Jlb3JkZXIKKyAgICAuY3Bsb2FkICR0OQorICAgIGxpICR2MCwgX19OUl9jbG9ja19nZXR0aW1lCisgICAgc3lzY2FsbAorICAgIGJuZXogJGEzLCAxZgorICAgIG1vdmUgJGEwLCAkdjAKKyAgICBqICRyYQorICAgIG5vcAorMToKKyAgICBsYSAkdDksX19zZXRfZXJybm8KKyAgICBqICR0OQorICAgIG5vcAorICAgIC5zZXQgcmVvcmRlcgorICAgIC5lbmQgY2xvY2tfZ2V0dGltZQpkaWZmIC0tZ2l0IGEvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvY2xvY2tfbmFub3NsZWVwLlMgYi9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9jbG9ja19uYW5vc2xlZXAuUwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xYTlhZWY1Ci0tLSAvZGV2L251bGwKKysrIGIvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvY2xvY2tfbmFub3NsZWVwLlMKQEAgLTAsMCArMSwyMiBAQAorLyogYXV0b2dlbmVyYXRlZCBieSBnZW5zeXNjYWxscy5weSAqLworI2luY2x1ZGUgPHN5cy9saW51eC1zeXNjYWxscy5oPgorICAgIC50ZXh0CisgICAgLmdsb2JsIGNsb2NrX25hbm9zbGVlcAorICAgIC5hbGlnbiA0CisgICAgLmVudCBjbG9ja19uYW5vc2xlZXAKKworY2xvY2tfbmFub3NsZWVwOgorICAgIC5zZXQgbm9yZW9yZGVyCisgICAgLmNwbG9hZCAkdDkKKyAgICBsaSAkdjAsIF9fTlJfY2xvY2tfbmFub3NsZWVwCisgICAgc3lzY2FsbAorICAgIGJuZXogJGEzLCAxZgorICAgIG1vdmUgJGEwLCAkdjAKKyAgICBqICRyYQorICAgIG5vcAorMToKKyAgICBsYSAkdDksX19zZXRfZXJybm8KKyAgICBqICR0OQorICAgIG5vcAorICAgIC5zZXQgcmVvcmRlcgorICAgIC5lbmQgY2xvY2tfbmFub3NsZWVwCmRpZmYgLS1naXQgYS9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9jbG9ja19zZXR0aW1lLlMgYi9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9jbG9ja19zZXR0aW1lLlMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjVkNDM4OAotLS0gL2Rldi9udWxsCisrKyBiL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL2Nsb2NrX3NldHRpbWUuUwpAQCAtMCwwICsxLDIyIEBACisvKiBhdXRvZ2VuZXJhdGVkIGJ5IGdlbnN5c2NhbGxzLnB5ICovCisjaW5jbHVkZSA8c3lzL2xpbnV4LXN5c2NhbGxzLmg+CisgICAgLnRleHQKKyAgICAuZ2xvYmwgY2xvY2tfc2V0dGltZQorICAgIC5hbGlnbiA0CisgICAgLmVudCBjbG9ja19zZXR0aW1lCisKK2Nsb2NrX3NldHRpbWU6CisgICAgLnNldCBub3Jlb3JkZXIKKyAgICAuY3Bsb2FkICR0OQorICAgIGxpICR2MCwgX19OUl9jbG9ja19zZXR0aW1lCisgICAgc3lzY2FsbAorICAgIGJuZXogJGEzLCAxZgorICAgIG1vdmUgJGEwLCAkdjAKKyAgICBqICRyYQorICAgIG5vcAorMToKKyAgICBsYSAkdDksX19zZXRfZXJybm8KKyAgICBqICR0OQorICAgIG5vcAorICAgIC5zZXQgcmVvcmRlcgorICAgIC5lbmQgY2xvY2tfc2V0dGltZQpkaWZmIC0tZ2l0IGEvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvY2xvc2UuUyBiL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL2Nsb3NlLlMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDdmZjRlMwotLS0gL2Rldi9udWxsCisrKyBiL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL2Nsb3NlLlMKQEAgLTAsMCArMSwyMiBAQAorLyogYXV0b2dlbmVyYXRlZCBieSBnZW5zeXNjYWxscy5weSAqLworI2luY2x1ZGUgPHN5cy9saW51eC1zeXNjYWxscy5oPgorICAgIC50ZXh0CisgICAgLmdsb2JsIGNsb3NlCisgICAgLmFsaWduIDQKKyAgICAuZW50IGNsb3NlCisKK2Nsb3NlOgorICAgIC5zZXQgbm9yZW9yZGVyCisgICAgLmNwbG9hZCAkdDkKKyAgICBsaSAkdjAsIF9fTlJfY2xvc2UKKyAgICBzeXNjYWxsCisgICAgYm5leiAkYTMsIDFmCisgICAgbW92ZSAkYTAsICR2MAorICAgIGogJHJhCisgICAgbm9wCisxOgorICAgIGxhICR0OSxfX3NldF9lcnJubworICAgIGogJHQ5CisgICAgbm9wCisgICAgLnNldCByZW9yZGVyCisgICAgLmVuZCBjbG9zZQpkaWZmIC0tZ2l0IGEvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvY29ubmVjdC5TIGIvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvY29ubmVjdC5TCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQxZmMyODAKLS0tIC9kZXYvbnVsbAorKysgYi9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9jb25uZWN0LlMKQEAgLTAsMCArMSwyMiBAQAorLyogYXV0b2dlbmVyYXRlZCBieSBnZW5zeXNjYWxscy5weSAqLworI2luY2x1ZGUgPHN5cy9saW51eC1zeXNjYWxscy5oPgorICAgIC50ZXh0CisgICAgLmdsb2JsIGNvbm5lY3QKKyAgICAuYWxpZ24gNAorICAgIC5lbnQgY29ubmVjdAorCitjb25uZWN0OgorICAgIC5zZXQgbm9yZW9yZGVyCisgICAgLmNwbG9hZCAkdDkKKyAgICBsaSAkdjAsIF9fTlJfY29ubmVjdAorICAgIHN5c2NhbGwKKyAgICBibmV6ICRhMywgMWYKKyAgICBtb3ZlICRhMCwgJHYwCisgICAgaiAkcmEKKyAgICBub3AKKzE6CisgICAgbGEgJHQ5LF9fc2V0X2Vycm5vCisgICAgaiAkdDkKKyAgICBub3AKKyAgICAuc2V0IHJlb3JkZXIKKyAgICAuZW5kIGNvbm5lY3QKZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL2RlbGV0ZV9tb2R1bGUuUyBiL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL2RlbGV0ZV9tb2R1bGUuUwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kYjgwYmE3Ci0tLSAvZGV2L251bGwKKysrIGIvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvZGVsZXRlX21vZHVsZS5TCkBAIC0wLDAgKzEsMjIgQEAKKy8qIGF1dG9nZW5lcmF0ZWQgYnkgZ2Vuc3lzY2FsbHMucHkgKi8KKyNpbmNsdWRlIDxzeXMvbGludXgtc3lzY2FsbHMuaD4KKyAgICAudGV4dAorICAgIC5nbG9ibCBkZWxldGVfbW9kdWxlCisgICAgLmFsaWduIDQKKyAgICAuZW50IGRlbGV0ZV9tb2R1bGUKKworZGVsZXRlX21vZHVsZToKKyAgICAuc2V0IG5vcmVvcmRlcgorICAgIC5jcGxvYWQgJHQ5CisgICAgbGkgJHYwLCBfX05SX2RlbGV0ZV9tb2R1bGUKKyAgICBzeXNjYWxsCisgICAgYm5leiAkYTMsIDFmCisgICAgbW92ZSAkYTAsICR2MAorICAgIGogJHJhCisgICAgbm9wCisxOgorICAgIGxhICR0OSxfX3NldF9lcnJubworICAgIGogJHQ5CisgICAgbm9wCisgICAgLnNldCByZW9yZGVyCisgICAgLmVuZCBkZWxldGVfbW9kdWxlCmRpZmYgLS1naXQgYS9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9kdXAuUyBiL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL2R1cC5TCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU4MTU3NDkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9kdXAuUwpAQCAtMCwwICsxLDIyIEBACisvKiBhdXRvZ2VuZXJhdGVkIGJ5IGdlbnN5c2NhbGxzLnB5ICovCisjaW5jbHVkZSA8c3lzL2xpbnV4LXN5c2NhbGxzLmg+CisgICAgLnRleHQKKyAgICAuZ2xvYmwgZHVwCisgICAgLmFsaWduIDQKKyAgICAuZW50IGR1cAorCitkdXA6CisgICAgLnNldCBub3Jlb3JkZXIKKyAgICAuY3Bsb2FkICR0OQorICAgIGxpICR2MCwgX19OUl9kdXAKKyAgICBzeXNjYWxsCisgICAgYm5leiAkYTMsIDFmCisgICAgbW92ZSAkYTAsICR2MAorICAgIGogJHJhCisgICAgbm9wCisxOgorICAgIGxhICR0OSxfX3NldF9lcnJubworICAgIGogJHQ5CisgICAgbm9wCisgICAgLnNldCByZW9yZGVyCisgICAgLmVuZCBkdXAKZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL2R1cDIuUyBiL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL2R1cDIuUwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42ZmIxNTFmCi0tLSAvZGV2L251bGwKKysrIGIvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvZHVwMi5TCkBAIC0wLDAgKzEsMjIgQEAKKy8qIGF1dG9nZW5lcmF0ZWQgYnkgZ2Vuc3lzY2FsbHMucHkgKi8KKyNpbmNsdWRlIDxzeXMvbGludXgtc3lzY2FsbHMuaD4KKyAgICAudGV4dAorICAgIC5nbG9ibCBkdXAyCisgICAgLmFsaWduIDQKKyAgICAuZW50IGR1cDIKKworZHVwMjoKKyAgICAuc2V0IG5vcmVvcmRlcgorICAgIC5jcGxvYWQgJHQ5CisgICAgbGkgJHYwLCBfX05SX2R1cDIKKyAgICBzeXNjYWxsCisgICAgYm5leiAkYTMsIDFmCisgICAgbW92ZSAkYTAsICR2MAorICAgIGogJHJhCisgICAgbm9wCisxOgorICAgIGxhICR0OSxfX3NldF9lcnJubworICAgIGogJHQ5CisgICAgbm9wCisgICAgLnNldCByZW9yZGVyCisgICAgLmVuZCBkdXAyCmRpZmYgLS1naXQgYS9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9lcG9sbF9jcmVhdGUuUyBiL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL2Vwb2xsX2NyZWF0ZS5TCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU1ZTQyMGIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9lcG9sbF9jcmVhdGUuUwpAQCAtMCwwICsxLDIyIEBACisvKiBhdXRvZ2VuZXJhdGVkIGJ5IGdlbnN5c2NhbGxzLnB5ICovCisjaW5jbHVkZSA8c3lzL2xpbnV4LXN5c2NhbGxzLmg+CisgICAgLnRleHQKKyAgICAuZ2xvYmwgZXBvbGxfY3JlYXRlCisgICAgLmFsaWduIDQKKyAgICAuZW50IGVwb2xsX2NyZWF0ZQorCitlcG9sbF9jcmVhdGU6CisgICAgLnNldCBub3Jlb3JkZXIKKyAgICAuY3Bsb2FkICR0OQorICAgIGxpICR2MCwgX19OUl9lcG9sbF9jcmVhdGUKKyAgICBzeXNjYWxsCisgICAgYm5leiAkYTMsIDFmCisgICAgbW92ZSAkYTAsICR2MAorICAgIGogJHJhCisgICAgbm9wCisxOgorICAgIGxhICR0OSxfX3NldF9lcnJubworICAgIGogJHQ5CisgICAgbm9wCisgICAgLnNldCByZW9yZGVyCisgICAgLmVuZCBlcG9sbF9jcmVhdGUKZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL2Vwb2xsX2N0bC5TIGIvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvZXBvbGxfY3RsLlMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjRmOWYwNQotLS0gL2Rldi9udWxsCisrKyBiL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL2Vwb2xsX2N0bC5TCkBAIC0wLDAgKzEsMjIgQEAKKy8qIGF1dG9nZW5lcmF0ZWQgYnkgZ2Vuc3lzY2FsbHMucHkgKi8KKyNpbmNsdWRlIDxzeXMvbGludXgtc3lzY2FsbHMuaD4KKyAgICAudGV4dAorICAgIC5nbG9ibCBlcG9sbF9jdGwKKyAgICAuYWxpZ24gNAorICAgIC5lbnQgZXBvbGxfY3RsCisKK2Vwb2xsX2N0bDoKKyAgICAuc2V0IG5vcmVvcmRlcgorICAgIC5jcGxvYWQgJHQ5CisgICAgbGkgJHYwLCBfX05SX2Vwb2xsX2N0bAorICAgIHN5c2NhbGwKKyAgICBibmV6ICRhMywgMWYKKyAgICBtb3ZlICRhMCwgJHYwCisgICAgaiAkcmEKKyAgICBub3AKKzE6CisgICAgbGEgJHQ5LF9fc2V0X2Vycm5vCisgICAgaiAkdDkKKyAgICBub3AKKyAgICAuc2V0IHJlb3JkZXIKKyAgICAuZW5kIGVwb2xsX2N0bApkaWZmIC0tZ2l0IGEvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvZXBvbGxfd2FpdC5TIGIvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvZXBvbGxfd2FpdC5TCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY0ZDMzZmIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9lcG9sbF93YWl0LlMKQEAgLTAsMCArMSwyMiBAQAorLyogYXV0b2dlbmVyYXRlZCBieSBnZW5zeXNjYWxscy5weSAqLworI2luY2x1ZGUgPHN5cy9saW51eC1zeXNjYWxscy5oPgorICAgIC50ZXh0CisgICAgLmdsb2JsIGVwb2xsX3dhaXQKKyAgICAuYWxpZ24gNAorICAgIC5lbnQgZXBvbGxfd2FpdAorCitlcG9sbF93YWl0OgorICAgIC5zZXQgbm9yZW9yZGVyCisgICAgLmNwbG9hZCAkdDkKKyAgICBsaSAkdjAsIF9fTlJfZXBvbGxfd2FpdAorICAgIHN5c2NhbGwKKyAgICBibmV6ICRhMywgMWYKKyAgICBtb3ZlICRhMCwgJHYwCisgICAgaiAkcmEKKyAgICBub3AKKzE6CisgICAgbGEgJHQ5LF9fc2V0X2Vycm5vCisgICAgaiAkdDkKKyAgICBub3AKKyAgICAuc2V0IHJlb3JkZXIKKyAgICAuZW5kIGVwb2xsX3dhaXQKZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL2V2ZW50ZmQuUyBiL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL2V2ZW50ZmQuUwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41YzRlMjJiCi0tLSAvZGV2L251bGwKKysrIGIvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvZXZlbnRmZC5TCkBAIC0wLDAgKzEsMjIgQEAKKy8qIGF1dG9nZW5lcmF0ZWQgYnkgZ2Vuc3lzY2FsbHMucHkgKi8KKyNpbmNsdWRlIDxzeXMvbGludXgtc3lzY2FsbHMuaD4KKyAgICAudGV4dAorICAgIC5nbG9ibCBldmVudGZkCisgICAgLmFsaWduIDQKKyAgICAuZW50IGV2ZW50ZmQKKworZXZlbnRmZDoKKyAgICAuc2V0IG5vcmVvcmRlcgorICAgIC5jcGxvYWQgJHQ5CisgICAgbGkgJHYwLCBfX05SX2V2ZW50ZmQyCisgICAgc3lzY2FsbAorICAgIGJuZXogJGEzLCAxZgorICAgIG1vdmUgJGEwLCAkdjAKKyAgICBqICRyYQorICAgIG5vcAorMToKKyAgICBsYSAkdDksX19zZXRfZXJybm8KKyAgICBqICR0OQorICAgIG5vcAorICAgIC5zZXQgcmVvcmRlcgorICAgIC5lbmQgZXZlbnRmZApkaWZmIC0tZ2l0IGEvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvZXhlY3ZlLlMgYi9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9leGVjdmUuUwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zMWI5Mjc2Ci0tLSAvZGV2L251bGwKKysrIGIvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvZXhlY3ZlLlMKQEAgLTAsMCArMSwyMiBAQAorLyogYXV0b2dlbmVyYXRlZCBieSBnZW5zeXNjYWxscy5weSAqLworI2luY2x1ZGUgPHN5cy9saW51eC1zeXNjYWxscy5oPgorICAgIC50ZXh0CisgICAgLmdsb2JsIGV4ZWN2ZQorICAgIC5hbGlnbiA0CisgICAgLmVudCBleGVjdmUKKworZXhlY3ZlOgorICAgIC5zZXQgbm9yZW9yZGVyCisgICAgLmNwbG9hZCAkdDkKKyAgICBsaSAkdjAsIF9fTlJfZXhlY3ZlCisgICAgc3lzY2FsbAorICAgIGJuZXogJGEzLCAxZgorICAgIG1vdmUgJGEwLCAkdjAKKyAgICBqICRyYQorICAgIG5vcAorMToKKyAgICBsYSAkdDksX19zZXRfZXJybm8KKyAgICBqICR0OQorICAgIG5vcAorICAgIC5zZXQgcmVvcmRlcgorICAgIC5lbmQgZXhlY3ZlCmRpZmYgLS1naXQgYS9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9mYWNjZXNzYXQuUyBiL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL2ZhY2Nlc3NhdC5TCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk3ZGI0YzAKLS0tIC9kZXYvbnVsbAorKysgYi9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9mYWNjZXNzYXQuUwpAQCAtMCwwICsxLDIyIEBACisvKiBhdXRvZ2VuZXJhdGVkIGJ5IGdlbnN5c2NhbGxzLnB5ICovCisjaW5jbHVkZSA8c3lzL2xpbnV4LXN5c2NhbGxzLmg+CisgICAgLnRleHQKKyAgICAuZ2xvYmwgZmFjY2Vzc2F0CisgICAgLmFsaWduIDQKKyAgICAuZW50IGZhY2Nlc3NhdAorCitmYWNjZXNzYXQ6CisgICAgLnNldCBub3Jlb3JkZXIKKyAgICAuY3Bsb2FkICR0OQorICAgIGxpICR2MCwgX19OUl9mYWNjZXNzYXQKKyAgICBzeXNjYWxsCisgICAgYm5leiAkYTMsIDFmCisgICAgbW92ZSAkYTAsICR2MAorICAgIGogJHJhCisgICAgbm9wCisxOgorICAgIGxhICR0OSxfX3NldF9lcnJubworICAgIGogJHQ5CisgICAgbm9wCisgICAgLnNldCByZW9yZGVyCisgICAgLmVuZCBmYWNjZXNzYXQKZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL2ZjaGRpci5TIGIvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvZmNoZGlyLlMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTMyOThiZAotLS0gL2Rldi9udWxsCisrKyBiL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL2ZjaGRpci5TCkBAIC0wLDAgKzEsMjIgQEAKKy8qIGF1dG9nZW5lcmF0ZWQgYnkgZ2Vuc3lzY2FsbHMucHkgKi8KKyNpbmNsdWRlIDxzeXMvbGludXgtc3lzY2FsbHMuaD4KKyAgICAudGV4dAorICAgIC5nbG9ibCBmY2hkaXIKKyAgICAuYWxpZ24gNAorICAgIC5lbnQgZmNoZGlyCisKK2ZjaGRpcjoKKyAgICAuc2V0IG5vcmVvcmRlcgorICAgIC5jcGxvYWQgJHQ5CisgICAgbGkgJHYwLCBfX05SX2ZjaGRpcgorICAgIHN5c2NhbGwKKyAgICBibmV6ICRhMywgMWYKKyAgICBtb3ZlICRhMCwgJHYwCisgICAgaiAkcmEKKyAgICBub3AKKzE6CisgICAgbGEgJHQ5LF9fc2V0X2Vycm5vCisgICAgaiAkdDkKKyAgICBub3AKKyAgICAuc2V0IHJlb3JkZXIKKyAgICAuZW5kIGZjaGRpcgpkaWZmIC0tZ2l0IGEvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvZmNobW9kLlMgYi9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9mY2htb2QuUwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mNDgzNTY3Ci0tLSAvZGV2L251bGwKKysrIGIvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvZmNobW9kLlMKQEAgLTAsMCArMSwyMiBAQAorLyogYXV0b2dlbmVyYXRlZCBieSBnZW5zeXNjYWxscy5weSAqLworI2luY2x1ZGUgPHN5cy9saW51eC1zeXNjYWxscy5oPgorICAgIC50ZXh0CisgICAgLmdsb2JsIGZjaG1vZAorICAgIC5hbGlnbiA0CisgICAgLmVudCBmY2htb2QKKworZmNobW9kOgorICAgIC5zZXQgbm9yZW9yZGVyCisgICAgLmNwbG9hZCAkdDkKKyAgICBsaSAkdjAsIF9fTlJfZmNobW9kCisgICAgc3lzY2FsbAorICAgIGJuZXogJGEzLCAxZgorICAgIG1vdmUgJGEwLCAkdjAKKyAgICBqICRyYQorICAgIG5vcAorMToKKyAgICBsYSAkdDksX19zZXRfZXJybm8KKyAgICBqICR0OQorICAgIG5vcAorICAgIC5zZXQgcmVvcmRlcgorICAgIC5lbmQgZmNobW9kCmRpZmYgLS1naXQgYS9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9mY2htb2RhdC5TIGIvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvZmNobW9kYXQuUwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44YmExYmJlCi0tLSAvZGV2L251bGwKKysrIGIvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvZmNobW9kYXQuUwpAQCAtMCwwICsxLDIyIEBACisvKiBhdXRvZ2VuZXJhdGVkIGJ5IGdlbnN5c2NhbGxzLnB5ICovCisjaW5jbHVkZSA8c3lzL2xpbnV4LXN5c2NhbGxzLmg+CisgICAgLnRleHQKKyAgICAuZ2xvYmwgZmNobW9kYXQKKyAgICAuYWxpZ24gNAorICAgIC5lbnQgZmNobW9kYXQKKworZmNobW9kYXQ6CisgICAgLnNldCBub3Jlb3JkZXIKKyAgICAuY3Bsb2FkICR0OQorICAgIGxpICR2MCwgX19OUl9mY2htb2RhdAorICAgIHN5c2NhbGwKKyAgICBibmV6ICRhMywgMWYKKyAgICBtb3ZlICRhMCwgJHYwCisgICAgaiAkcmEKKyAgICBub3AKKzE6CisgICAgbGEgJHQ5LF9fc2V0X2Vycm5vCisgICAgaiAkdDkKKyAgICBub3AKKyAgICAuc2V0IHJlb3JkZXIKKyAgICAuZW5kIGZjaG1vZGF0CmRpZmYgLS1naXQgYS9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9mY2hvd24uUyBiL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL2ZjaG93bi5TCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI0ZmMwOGYKLS0tIC9kZXYvbnVsbAorKysgYi9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9mY2hvd24uUwpAQCAtMCwwICsxLDIyIEBACisvKiBhdXRvZ2VuZXJhdGVkIGJ5IGdlbnN5c2NhbGxzLnB5ICovCisjaW5jbHVkZSA8c3lzL2xpbnV4LXN5c2NhbGxzLmg+CisgICAgLnRleHQKKyAgICAuZ2xvYmwgZmNob3duCisgICAgLmFsaWduIDQKKyAgICAuZW50IGZjaG93bgorCitmY2hvd246CisgICAgLnNldCBub3Jlb3JkZXIKKyAgICAuY3Bsb2FkICR0OQorICAgIGxpICR2MCwgX19OUl9mY2hvd24KKyAgICBzeXNjYWxsCisgICAgYm5leiAkYTMsIDFmCisgICAgbW92ZSAkYTAsICR2MAorICAgIGogJHJhCisgICAgbm9wCisxOgorICAgIGxhICR0OSxfX3NldF9lcnJubworICAgIGogJHQ5CisgICAgbm9wCisgICAgLnNldCByZW9yZGVyCisgICAgLmVuZCBmY2hvd24KZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL2ZjaG93bmF0LlMgYi9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9mY2hvd25hdC5TCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk4M2VkNTYKLS0tIC9kZXYvbnVsbAorKysgYi9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9mY2hvd25hdC5TCkBAIC0wLDAgKzEsMjIgQEAKKy8qIGF1dG9nZW5lcmF0ZWQgYnkgZ2Vuc3lzY2FsbHMucHkgKi8KKyNpbmNsdWRlIDxzeXMvbGludXgtc3lzY2FsbHMuaD4KKyAgICAudGV4dAorICAgIC5nbG9ibCBmY2hvd25hdAorICAgIC5hbGlnbiA0CisgICAgLmVudCBmY2hvd25hdAorCitmY2hvd25hdDoKKyAgICAuc2V0IG5vcmVvcmRlcgorICAgIC5jcGxvYWQgJHQ5CisgICAgbGkgJHYwLCBfX05SX2ZjaG93bmF0CisgICAgc3lzY2FsbAorICAgIGJuZXogJGEzLCAxZgorICAgIG1vdmUgJGEwLCAkdjAKKyAgICBqICRyYQorICAgIG5vcAorMToKKyAgICBsYSAkdDksX19zZXRfZXJybm8KKyAgICBqICR0OQorICAgIG5vcAorICAgIC5zZXQgcmVvcmRlcgorICAgIC5lbmQgZmNob3duYXQKZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL2ZkYXRhc3luYy5TIGIvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvZmRhdGFzeW5jLlMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzEyNDM5ZAotLS0gL2Rldi9udWxsCisrKyBiL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL2ZkYXRhc3luYy5TCkBAIC0wLDAgKzEsMjIgQEAKKy8qIGF1dG9nZW5lcmF0ZWQgYnkgZ2Vuc3lzY2FsbHMucHkgKi8KKyNpbmNsdWRlIDxzeXMvbGludXgtc3lzY2FsbHMuaD4KKyAgICAudGV4dAorICAgIC5nbG9ibCBmZGF0YXN5bmMKKyAgICAuYWxpZ24gNAorICAgIC5lbnQgZmRhdGFzeW5jCisKK2ZkYXRhc3luYzoKKyAgICAuc2V0IG5vcmVvcmRlcgorICAgIC5jcGxvYWQgJHQ5CisgICAgbGkgJHYwLCBfX05SX2ZkYXRhc3luYworICAgIHN5c2NhbGwKKyAgICBibmV6ICRhMywgMWYKKyAgICBtb3ZlICRhMCwgJHYwCisgICAgaiAkcmEKKyAgICBub3AKKzE6CisgICAgbGEgJHQ5LF9fc2V0X2Vycm5vCisgICAgaiAkdDkKKyAgICBub3AKKyAgICAuc2V0IHJlb3JkZXIKKyAgICAuZW5kIGZkYXRhc3luYwpkaWZmIC0tZ2l0IGEvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvZmdldHhhdHRyLlMgYi9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9mZ2V0eGF0dHIuUwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43ZTc3ZTYxCi0tLSAvZGV2L251bGwKKysrIGIvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvZmdldHhhdHRyLlMKQEAgLTAsMCArMSwyMiBAQAorLyogYXV0b2dlbmVyYXRlZCBieSBnZW5zeXNjYWxscy5weSAqLworI2luY2x1ZGUgPHN5cy9saW51eC1zeXNjYWxscy5oPgorICAgIC50ZXh0CisgICAgLmdsb2JsIGZnZXR4YXR0cgorICAgIC5hbGlnbiA0CisgICAgLmVudCBmZ2V0eGF0dHIKKworZmdldHhhdHRyOgorICAgIC5zZXQgbm9yZW9yZGVyCisgICAgLmNwbG9hZCAkdDkKKyAgICBsaSAkdjAsIF9fTlJfZmdldHhhdHRyCisgICAgc3lzY2FsbAorICAgIGJuZXogJGEzLCAxZgorICAgIG1vdmUgJGEwLCAkdjAKKyAgICBqICRyYQorICAgIG5vcAorMToKKyAgICBsYSAkdDksX19zZXRfZXJybm8KKyAgICBqICR0OQorICAgIG5vcAorICAgIC5zZXQgcmVvcmRlcgorICAgIC5lbmQgZmdldHhhdHRyCmRpZmYgLS1naXQgYS9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9mbGlzdHhhdHRyLlMgYi9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9mbGlzdHhhdHRyLlMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjZlMjZlMQotLS0gL2Rldi9udWxsCisrKyBiL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL2ZsaXN0eGF0dHIuUwpAQCAtMCwwICsxLDIyIEBACisvKiBhdXRvZ2VuZXJhdGVkIGJ5IGdlbnN5c2NhbGxzLnB5ICovCisjaW5jbHVkZSA8c3lzL2xpbnV4LXN5c2NhbGxzLmg+CisgICAgLnRleHQKKyAgICAuZ2xvYmwgZmxpc3R4YXR0cgorICAgIC5hbGlnbiA0CisgICAgLmVudCBmbGlzdHhhdHRyCisKK2ZsaXN0eGF0dHI6CisgICAgLnNldCBub3Jlb3JkZXIKKyAgICAuY3Bsb2FkICR0OQorICAgIGxpICR2MCwgX19OUl9mbGlzdHhhdHRyCisgICAgc3lzY2FsbAorICAgIGJuZXogJGEzLCAxZgorICAgIG1vdmUgJGEwLCAkdjAKKyAgICBqICRyYQorICAgIG5vcAorMToKKyAgICBsYSAkdDksX19zZXRfZXJybm8KKyAgICBqICR0OQorICAgIG5vcAorICAgIC5zZXQgcmVvcmRlcgorICAgIC5lbmQgZmxpc3R4YXR0cgpkaWZmIC0tZ2l0IGEvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvZmxvY2suUyBiL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL2Zsb2NrLlMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjlhMzE0MgotLS0gL2Rldi9udWxsCisrKyBiL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL2Zsb2NrLlMKQEAgLTAsMCArMSwyMiBAQAorLyogYXV0b2dlbmVyYXRlZCBieSBnZW5zeXNjYWxscy5weSAqLworI2luY2x1ZGUgPHN5cy9saW51eC1zeXNjYWxscy5oPgorICAgIC50ZXh0CisgICAgLmdsb2JsIGZsb2NrCisgICAgLmFsaWduIDQKKyAgICAuZW50IGZsb2NrCisKK2Zsb2NrOgorICAgIC5zZXQgbm9yZW9yZGVyCisgICAgLmNwbG9hZCAkdDkKKyAgICBsaSAkdjAsIF9fTlJfZmxvY2sKKyAgICBzeXNjYWxsCisgICAgYm5leiAkYTMsIDFmCisgICAgbW92ZSAkYTAsICR2MAorICAgIGogJHJhCisgICAgbm9wCisxOgorICAgIGxhICR0OSxfX3NldF9lcnJubworICAgIGogJHQ5CisgICAgbm9wCisgICAgLnNldCByZW9yZGVyCisgICAgLmVuZCBmbG9jawpkaWZmIC0tZ2l0IGEvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvZnJlbW92ZXhhdHRyLlMgYi9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9mcmVtb3ZleGF0dHIuUwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kYjNlYjZjCi0tLSAvZGV2L251bGwKKysrIGIvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvZnJlbW92ZXhhdHRyLlMKQEAgLTAsMCArMSwyMiBAQAorLyogYXV0b2dlbmVyYXRlZCBieSBnZW5zeXNjYWxscy5weSAqLworI2luY2x1ZGUgPHN5cy9saW51eC1zeXNjYWxscy5oPgorICAgIC50ZXh0CisgICAgLmdsb2JsIGZyZW1vdmV4YXR0cgorICAgIC5hbGlnbiA0CisgICAgLmVudCBmcmVtb3ZleGF0dHIKKworZnJlbW92ZXhhdHRyOgorICAgIC5zZXQgbm9yZW9yZGVyCisgICAgLmNwbG9hZCAkdDkKKyAgICBsaSAkdjAsIF9fTlJfZnJlbW92ZXhhdHRyCisgICAgc3lzY2FsbAorICAgIGJuZXogJGEzLCAxZgorICAgIG1vdmUgJGEwLCAkdjAKKyAgICBqICRyYQorICAgIG5vcAorMToKKyAgICBsYSAkdDksX19zZXRfZXJybm8KKyAgICBqICR0OQorICAgIG5vcAorICAgIC5zZXQgcmVvcmRlcgorICAgIC5lbmQgZnJlbW92ZXhhdHRyCmRpZmYgLS1naXQgYS9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9mc2V0eGF0dHIuUyBiL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL2ZzZXR4YXR0ci5TCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjllNjY2ZjIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9mc2V0eGF0dHIuUwpAQCAtMCwwICsxLDIyIEBACisvKiBhdXRvZ2VuZXJhdGVkIGJ5IGdlbnN5c2NhbGxzLnB5ICovCisjaW5jbHVkZSA8c3lzL2xpbnV4LXN5c2NhbGxzLmg+CisgICAgLnRleHQKKyAgICAuZ2xvYmwgZnNldHhhdHRyCisgICAgLmFsaWduIDQKKyAgICAuZW50IGZzZXR4YXR0cgorCitmc2V0eGF0dHI6CisgICAgLnNldCBub3Jlb3JkZXIKKyAgICAuY3Bsb2FkICR0OQorICAgIGxpICR2MCwgX19OUl9mc2V0eGF0dHIKKyAgICBzeXNjYWxsCisgICAgYm5leiAkYTMsIDFmCisgICAgbW92ZSAkYTAsICR2MAorICAgIGogJHJhCisgICAgbm9wCisxOgorICAgIGxhICR0OSxfX3NldF9lcnJubworICAgIGogJHQ5CisgICAgbm9wCisgICAgLnNldCByZW9yZGVyCisgICAgLmVuZCBmc2V0eGF0dHIKZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL2ZzdGF0LlMgYi9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9mc3RhdC5TCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjczZDcyMzUKLS0tIC9kZXYvbnVsbAorKysgYi9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9mc3RhdC5TCkBAIC0wLDAgKzEsMjIgQEAKKy8qIGF1dG9nZW5lcmF0ZWQgYnkgZ2Vuc3lzY2FsbHMucHkgKi8KKyNpbmNsdWRlIDxzeXMvbGludXgtc3lzY2FsbHMuaD4KKyAgICAudGV4dAorICAgIC5nbG9ibCBmc3RhdAorICAgIC5hbGlnbiA0CisgICAgLmVudCBmc3RhdAorCitmc3RhdDoKKyAgICAuc2V0IG5vcmVvcmRlcgorICAgIC5jcGxvYWQgJHQ5CisgICAgbGkgJHYwLCBfX05SX2ZzdGF0NjQKKyAgICBzeXNjYWxsCisgICAgYm5leiAkYTMsIDFmCisgICAgbW92ZSAkYTAsICR2MAorICAgIGogJHJhCisgICAgbm9wCisxOgorICAgIGxhICR0OSxfX3NldF9lcnJubworICAgIGogJHQ5CisgICAgbm9wCisgICAgLnNldCByZW9yZGVyCisgICAgLmVuZCBmc3RhdApkaWZmIC0tZ2l0IGEvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvZnN0YXRhdC5TIGIvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvZnN0YXRhdC5TCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNhZTIyOWUKLS0tIC9kZXYvbnVsbAorKysgYi9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9mc3RhdGF0LlMKQEAgLTAsMCArMSwyMiBAQAorLyogYXV0b2dlbmVyYXRlZCBieSBnZW5zeXNjYWxscy5weSAqLworI2luY2x1ZGUgPHN5cy9saW51eC1zeXNjYWxscy5oPgorICAgIC50ZXh0CisgICAgLmdsb2JsIGZzdGF0YXQKKyAgICAuYWxpZ24gNAorICAgIC5lbnQgZnN0YXRhdAorCitmc3RhdGF0OgorICAgIC5zZXQgbm9yZW9yZGVyCisgICAgLmNwbG9hZCAkdDkKKyAgICBsaSAkdjAsIF9fTlJfZnN0YXRhdDY0CisgICAgc3lzY2FsbAorICAgIGJuZXogJGEzLCAxZgorICAgIG1vdmUgJGEwLCAkdjAKKyAgICBqICRyYQorICAgIG5vcAorMToKKyAgICBsYSAkdDksX19zZXRfZXJybm8KKyAgICBqICR0OQorICAgIG5vcAorICAgIC5zZXQgcmVvcmRlcgorICAgIC5lbmQgZnN0YXRhdApkaWZmIC0tZ2l0IGEvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvZnN5bmMuUyBiL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL2ZzeW5jLlMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTFjZDMxNgotLS0gL2Rldi9udWxsCisrKyBiL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL2ZzeW5jLlMKQEAgLTAsMCArMSwyMiBAQAorLyogYXV0b2dlbmVyYXRlZCBieSBnZW5zeXNjYWxscy5weSAqLworI2luY2x1ZGUgPHN5cy9saW51eC1zeXNjYWxscy5oPgorICAgIC50ZXh0CisgICAgLmdsb2JsIGZzeW5jCisgICAgLmFsaWduIDQKKyAgICAuZW50IGZzeW5jCisKK2ZzeW5jOgorICAgIC5zZXQgbm9yZW9yZGVyCisgICAgLmNwbG9hZCAkdDkKKyAgICBsaSAkdjAsIF9fTlJfZnN5bmMKKyAgICBzeXNjYWxsCisgICAgYm5leiAkYTMsIDFmCisgICAgbW92ZSAkYTAsICR2MAorICAgIGogJHJhCisgICAgbm9wCisxOgorICAgIGxhICR0OSxfX3NldF9lcnJubworICAgIGogJHQ5CisgICAgbm9wCisgICAgLnNldCByZW9yZGVyCisgICAgLmVuZCBmc3luYwpkaWZmIC0tZ2l0IGEvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvZnRydW5jYXRlLlMgYi9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9mdHJ1bmNhdGUuUwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41ZDcyYjQzCi0tLSAvZGV2L251bGwKKysrIGIvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvZnRydW5jYXRlLlMKQEAgLTAsMCArMSwyMiBAQAorLyogYXV0b2dlbmVyYXRlZCBieSBnZW5zeXNjYWxscy5weSAqLworI2luY2x1ZGUgPHN5cy9saW51eC1zeXNjYWxscy5oPgorICAgIC50ZXh0CisgICAgLmdsb2JsIGZ0cnVuY2F0ZQorICAgIC5hbGlnbiA0CisgICAgLmVudCBmdHJ1bmNhdGUKKworZnRydW5jYXRlOgorICAgIC5zZXQgbm9yZW9yZGVyCisgICAgLmNwbG9hZCAkdDkKKyAgICBsaSAkdjAsIF9fTlJfZnRydW5jYXRlCisgICAgc3lzY2FsbAorICAgIGJuZXogJGEzLCAxZgorICAgIG1vdmUgJGEwLCAkdjAKKyAgICBqICRyYQorICAgIG5vcAorMToKKyAgICBsYSAkdDksX19zZXRfZXJybm8KKyAgICBqICR0OQorICAgIG5vcAorICAgIC5zZXQgcmVvcmRlcgorICAgIC5lbmQgZnRydW5jYXRlCmRpZmYgLS1naXQgYS9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9mdHJ1bmNhdGU2NC5TIGIvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvZnRydW5jYXRlNjQuUwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yMTZhZTM4Ci0tLSAvZGV2L251bGwKKysrIGIvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvZnRydW5jYXRlNjQuUwpAQCAtMCwwICsxLDIyIEBACisvKiBhdXRvZ2VuZXJhdGVkIGJ5IGdlbnN5c2NhbGxzLnB5ICovCisjaW5jbHVkZSA8c3lzL2xpbnV4LXN5c2NhbGxzLmg+CisgICAgLnRleHQKKyAgICAuZ2xvYmwgZnRydW5jYXRlNjQKKyAgICAuYWxpZ24gNAorICAgIC5lbnQgZnRydW5jYXRlNjQKKworZnRydW5jYXRlNjQ6CisgICAgLnNldCBub3Jlb3JkZXIKKyAgICAuY3Bsb2FkICR0OQorICAgIGxpICR2MCwgX19OUl9mdHJ1bmNhdGU2NAorICAgIHN5c2NhbGwKKyAgICBibmV6ICRhMywgMWYKKyAgICBtb3ZlICRhMCwgJHYwCisgICAgaiAkcmEKKyAgICBub3AKKzE6CisgICAgbGEgJHQ5LF9fc2V0X2Vycm5vCisgICAgaiAkdDkKKyAgICBub3AKKyAgICAuc2V0IHJlb3JkZXIKKyAgICAuZW5kIGZ0cnVuY2F0ZTY0CmRpZmYgLS1naXQgYS9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9mdXRleC5TIGIvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvZnV0ZXguUwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42NWU1MzdhCi0tLSAvZGV2L251bGwKKysrIGIvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvZnV0ZXguUwpAQCAtMCwwICsxLDIyIEBACisvKiBhdXRvZ2VuZXJhdGVkIGJ5IGdlbnN5c2NhbGxzLnB5ICovCisjaW5jbHVkZSA8c3lzL2xpbnV4LXN5c2NhbGxzLmg+CisgICAgLnRleHQKKyAgICAuZ2xvYmwgZnV0ZXgKKyAgICAuYWxpZ24gNAorICAgIC5lbnQgZnV0ZXgKKworZnV0ZXg6CisgICAgLnNldCBub3Jlb3JkZXIKKyAgICAuY3Bsb2FkICR0OQorICAgIGxpICR2MCwgX19OUl9mdXRleAorICAgIHN5c2NhbGwKKyAgICBibmV6ICRhMywgMWYKKyAgICBtb3ZlICRhMCwgJHYwCisgICAgaiAkcmEKKyAgICBub3AKKzE6CisgICAgbGEgJHQ5LF9fc2V0X2Vycm5vCisgICAgaiAkdDkKKyAgICBub3AKKyAgICAuc2V0IHJlb3JkZXIKKyAgICAuZW5kIGZ1dGV4CmRpZmYgLS1naXQgYS9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9nZXRkZW50cy5TIGIvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvZ2V0ZGVudHMuUwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44ZmYwZjI2Ci0tLSAvZGV2L251bGwKKysrIGIvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvZ2V0ZGVudHMuUwpAQCAtMCwwICsxLDIyIEBACisvKiBhdXRvZ2VuZXJhdGVkIGJ5IGdlbnN5c2NhbGxzLnB5ICovCisjaW5jbHVkZSA8c3lzL2xpbnV4LXN5c2NhbGxzLmg+CisgICAgLnRleHQKKyAgICAuZ2xvYmwgZ2V0ZGVudHMKKyAgICAuYWxpZ24gNAorICAgIC5lbnQgZ2V0ZGVudHMKKworZ2V0ZGVudHM6CisgICAgLnNldCBub3Jlb3JkZXIKKyAgICAuY3Bsb2FkICR0OQorICAgIGxpICR2MCwgX19OUl9nZXRkZW50czY0CisgICAgc3lzY2FsbAorICAgIGJuZXogJGEzLCAxZgorICAgIG1vdmUgJGEwLCAkdjAKKyAgICBqICRyYQorICAgIG5vcAorMToKKyAgICBsYSAkdDksX19zZXRfZXJybm8KKyAgICBqICR0OQorICAgIG5vcAorICAgIC5zZXQgcmVvcmRlcgorICAgIC5lbmQgZ2V0ZGVudHMKZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL2dldGVnaWQuUyBiL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL2dldGVnaWQuUwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kYzJhMDRiCi0tLSAvZGV2L251bGwKKysrIGIvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvZ2V0ZWdpZC5TCkBAIC0wLDAgKzEsMjIgQEAKKy8qIGF1dG9nZW5lcmF0ZWQgYnkgZ2Vuc3lzY2FsbHMucHkgKi8KKyNpbmNsdWRlIDxzeXMvbGludXgtc3lzY2FsbHMuaD4KKyAgICAudGV4dAorICAgIC5nbG9ibCBnZXRlZ2lkCisgICAgLmFsaWduIDQKKyAgICAuZW50IGdldGVnaWQKKworZ2V0ZWdpZDoKKyAgICAuc2V0IG5vcmVvcmRlcgorICAgIC5jcGxvYWQgJHQ5CisgICAgbGkgJHYwLCBfX05SX2dldGVnaWQKKyAgICBzeXNjYWxsCisgICAgYm5leiAkYTMsIDFmCisgICAgbW92ZSAkYTAsICR2MAorICAgIGogJHJhCisgICAgbm9wCisxOgorICAgIGxhICR0OSxfX3NldF9lcnJubworICAgIGogJHQ5CisgICAgbm9wCisgICAgLnNldCByZW9yZGVyCisgICAgLmVuZCBnZXRlZ2lkCmRpZmYgLS1naXQgYS9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9nZXRldWlkLlMgYi9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9nZXRldWlkLlMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGJlY2E4OAotLS0gL2Rldi9udWxsCisrKyBiL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL2dldGV1aWQuUwpAQCAtMCwwICsxLDIyIEBACisvKiBhdXRvZ2VuZXJhdGVkIGJ5IGdlbnN5c2NhbGxzLnB5ICovCisjaW5jbHVkZSA8c3lzL2xpbnV4LXN5c2NhbGxzLmg+CisgICAgLnRleHQKKyAgICAuZ2xvYmwgZ2V0ZXVpZAorICAgIC5hbGlnbiA0CisgICAgLmVudCBnZXRldWlkCisKK2dldGV1aWQ6CisgICAgLnNldCBub3Jlb3JkZXIKKyAgICAuY3Bsb2FkICR0OQorICAgIGxpICR2MCwgX19OUl9nZXRldWlkCisgICAgc3lzY2FsbAorICAgIGJuZXogJGEzLCAxZgorICAgIG1vdmUgJGEwLCAkdjAKKyAgICBqICRyYQorICAgIG5vcAorMToKKyAgICBsYSAkdDksX19zZXRfZXJybm8KKyAgICBqICR0OQorICAgIG5vcAorICAgIC5zZXQgcmVvcmRlcgorICAgIC5lbmQgZ2V0ZXVpZApkaWZmIC0tZ2l0IGEvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvZ2V0Z2lkLlMgYi9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9nZXRnaWQuUwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42YTYxNWVlCi0tLSAvZGV2L251bGwKKysrIGIvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvZ2V0Z2lkLlMKQEAgLTAsMCArMSwyMiBAQAorLyogYXV0b2dlbmVyYXRlZCBieSBnZW5zeXNjYWxscy5weSAqLworI2luY2x1ZGUgPHN5cy9saW51eC1zeXNjYWxscy5oPgorICAgIC50ZXh0CisgICAgLmdsb2JsIGdldGdpZAorICAgIC5hbGlnbiA0CisgICAgLmVudCBnZXRnaWQKKworZ2V0Z2lkOgorICAgIC5zZXQgbm9yZW9yZGVyCisgICAgLmNwbG9hZCAkdDkKKyAgICBsaSAkdjAsIF9fTlJfZ2V0Z2lkCisgICAgc3lzY2FsbAorICAgIGJuZXogJGEzLCAxZgorICAgIG1vdmUgJGEwLCAkdjAKKyAgICBqICRyYQorICAgIG5vcAorMToKKyAgICBsYSAkdDksX19zZXRfZXJybm8KKyAgICBqICR0OQorICAgIG5vcAorICAgIC5zZXQgcmVvcmRlcgorICAgIC5lbmQgZ2V0Z2lkCmRpZmYgLS1naXQgYS9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9nZXRncm91cHMuUyBiL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL2dldGdyb3Vwcy5TCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhiZTczMDgKLS0tIC9kZXYvbnVsbAorKysgYi9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9nZXRncm91cHMuUwpAQCAtMCwwICsxLDIyIEBACisvKiBhdXRvZ2VuZXJhdGVkIGJ5IGdlbnN5c2NhbGxzLnB5ICovCisjaW5jbHVkZSA8c3lzL2xpbnV4LXN5c2NhbGxzLmg+CisgICAgLnRleHQKKyAgICAuZ2xvYmwgZ2V0Z3JvdXBzCisgICAgLmFsaWduIDQKKyAgICAuZW50IGdldGdyb3VwcworCitnZXRncm91cHM6CisgICAgLnNldCBub3Jlb3JkZXIKKyAgICAuY3Bsb2FkICR0OQorICAgIGxpICR2MCwgX19OUl9nZXRncm91cHMKKyAgICBzeXNjYWxsCisgICAgYm5leiAkYTMsIDFmCisgICAgbW92ZSAkYTAsICR2MAorICAgIGogJHJhCisgICAgbm9wCisxOgorICAgIGxhICR0OSxfX3NldF9lcnJubworICAgIGogJHQ5CisgICAgbm9wCisgICAgLnNldCByZW9yZGVyCisgICAgLmVuZCBnZXRncm91cHMKZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL2dldGl0aW1lci5TIGIvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvZ2V0aXRpbWVyLlMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2RmMWQxMQotLS0gL2Rldi9udWxsCisrKyBiL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL2dldGl0aW1lci5TCkBAIC0wLDAgKzEsMjIgQEAKKy8qIGF1dG9nZW5lcmF0ZWQgYnkgZ2Vuc3lzY2FsbHMucHkgKi8KKyNpbmNsdWRlIDxzeXMvbGludXgtc3lzY2FsbHMuaD4KKyAgICAudGV4dAorICAgIC5nbG9ibCBnZXRpdGltZXIKKyAgICAuYWxpZ24gNAorICAgIC5lbnQgZ2V0aXRpbWVyCisKK2dldGl0aW1lcjoKKyAgICAuc2V0IG5vcmVvcmRlcgorICAgIC5jcGxvYWQgJHQ5CisgICAgbGkgJHYwLCBfX05SX2dldGl0aW1lcgorICAgIHN5c2NhbGwKKyAgICBibmV6ICRhMywgMWYKKyAgICBtb3ZlICRhMCwgJHYwCisgICAgaiAkcmEKKyAgICBub3AKKzE6CisgICAgbGEgJHQ5LF9fc2V0X2Vycm5vCisgICAgaiAkdDkKKyAgICBub3AKKyAgICAuc2V0IHJlb3JkZXIKKyAgICAuZW5kIGdldGl0aW1lcgpkaWZmIC0tZ2l0IGEvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvZ2V0cGVlcm5hbWUuUyBiL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL2dldHBlZXJuYW1lLlMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGEzYmVkYQotLS0gL2Rldi9udWxsCisrKyBiL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL2dldHBlZXJuYW1lLlMKQEAgLTAsMCArMSwyMiBAQAorLyogYXV0b2dlbmVyYXRlZCBieSBnZW5zeXNjYWxscy5weSAqLworI2luY2x1ZGUgPHN5cy9saW51eC1zeXNjYWxscy5oPgorICAgIC50ZXh0CisgICAgLmdsb2JsIGdldHBlZXJuYW1lCisgICAgLmFsaWduIDQKKyAgICAuZW50IGdldHBlZXJuYW1lCisKK2dldHBlZXJuYW1lOgorICAgIC5zZXQgbm9yZW9yZGVyCisgICAgLmNwbG9hZCAkdDkKKyAgICBsaSAkdjAsIF9fTlJfZ2V0cGVlcm5hbWUKKyAgICBzeXNjYWxsCisgICAgYm5leiAkYTMsIDFmCisgICAgbW92ZSAkYTAsICR2MAorICAgIGogJHJhCisgICAgbm9wCisxOgorICAgIGxhICR0OSxfX3NldF9lcnJubworICAgIGogJHQ5CisgICAgbm9wCisgICAgLnNldCByZW9yZGVyCisgICAgLmVuZCBnZXRwZWVybmFtZQpkaWZmIC0tZ2l0IGEvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvZ2V0cGdpZC5TIGIvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvZ2V0cGdpZC5TCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZkNzkzNTEKLS0tIC9kZXYvbnVsbAorKysgYi9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9nZXRwZ2lkLlMKQEAgLTAsMCArMSwyMiBAQAorLyogYXV0b2dlbmVyYXRlZCBieSBnZW5zeXNjYWxscy5weSAqLworI2luY2x1ZGUgPHN5cy9saW51eC1zeXNjYWxscy5oPgorICAgIC50ZXh0CisgICAgLmdsb2JsIGdldHBnaWQKKyAgICAuYWxpZ24gNAorICAgIC5lbnQgZ2V0cGdpZAorCitnZXRwZ2lkOgorICAgIC5zZXQgbm9yZW9yZGVyCisgICAgLmNwbG9hZCAkdDkKKyAgICBsaSAkdjAsIF9fTlJfZ2V0cGdpZAorICAgIHN5c2NhbGwKKyAgICBibmV6ICRhMywgMWYKKyAgICBtb3ZlICRhMCwgJHYwCisgICAgaiAkcmEKKyAgICBub3AKKzE6CisgICAgbGEgJHQ5LF9fc2V0X2Vycm5vCisgICAgaiAkdDkKKyAgICBub3AKKyAgICAuc2V0IHJlb3JkZXIKKyAgICAuZW5kIGdldHBnaWQKZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL2dldHBpZC5TIGIvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvZ2V0cGlkLlMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjUyZTMxYgotLS0gL2Rldi9udWxsCisrKyBiL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL2dldHBpZC5TCkBAIC0wLDAgKzEsMjIgQEAKKy8qIGF1dG9nZW5lcmF0ZWQgYnkgZ2Vuc3lzY2FsbHMucHkgKi8KKyNpbmNsdWRlIDxzeXMvbGludXgtc3lzY2FsbHMuaD4KKyAgICAudGV4dAorICAgIC5nbG9ibCBnZXRwaWQKKyAgICAuYWxpZ24gNAorICAgIC5lbnQgZ2V0cGlkCisKK2dldHBpZDoKKyAgICAuc2V0IG5vcmVvcmRlcgorICAgIC5jcGxvYWQgJHQ5CisgICAgbGkgJHYwLCBfX05SX2dldHBpZAorICAgIHN5c2NhbGwKKyAgICBibmV6ICRhMywgMWYKKyAgICBtb3ZlICRhMCwgJHYwCisgICAgaiAkcmEKKyAgICBub3AKKzE6CisgICAgbGEgJHQ5LF9fc2V0X2Vycm5vCisgICAgaiAkdDkKKyAgICBub3AKKyAgICAuc2V0IHJlb3JkZXIKKyAgICAuZW5kIGdldHBpZApkaWZmIC0tZ2l0IGEvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvZ2V0cHBpZC5TIGIvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvZ2V0cHBpZC5TCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVlM2ZlMTkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9nZXRwcGlkLlMKQEAgLTAsMCArMSwyMiBAQAorLyogYXV0b2dlbmVyYXRlZCBieSBnZW5zeXNjYWxscy5weSAqLworI2luY2x1ZGUgPHN5cy9saW51eC1zeXNjYWxscy5oPgorICAgIC50ZXh0CisgICAgLmdsb2JsIGdldHBwaWQKKyAgICAuYWxpZ24gNAorICAgIC5lbnQgZ2V0cHBpZAorCitnZXRwcGlkOgorICAgIC5zZXQgbm9yZW9yZGVyCisgICAgLmNwbG9hZCAkdDkKKyAgICBsaSAkdjAsIF9fTlJfZ2V0cHBpZAorICAgIHN5c2NhbGwKKyAgICBibmV6ICRhMywgMWYKKyAgICBtb3ZlICRhMCwgJHYwCisgICAgaiAkcmEKKyAgICBub3AKKzE6CisgICAgbGEgJHQ5LF9fc2V0X2Vycm5vCisgICAgaiAkdDkKKyAgICBub3AKKyAgICAuc2V0IHJlb3JkZXIKKyAgICAuZW5kIGdldHBwaWQKZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL2dldHJlc2dpZC5TIGIvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvZ2V0cmVzZ2lkLlMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGU5YmYzOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL2dldHJlc2dpZC5TCkBAIC0wLDAgKzEsMjIgQEAKKy8qIGF1dG9nZW5lcmF0ZWQgYnkgZ2Vuc3lzY2FsbHMucHkgKi8KKyNpbmNsdWRlIDxzeXMvbGludXgtc3lzY2FsbHMuaD4KKyAgICAudGV4dAorICAgIC5nbG9ibCBnZXRyZXNnaWQKKyAgICAuYWxpZ24gNAorICAgIC5lbnQgZ2V0cmVzZ2lkCisKK2dldHJlc2dpZDoKKyAgICAuc2V0IG5vcmVvcmRlcgorICAgIC5jcGxvYWQgJHQ5CisgICAgbGkgJHYwLCBfX05SX2dldHJlc2dpZAorICAgIHN5c2NhbGwKKyAgICBibmV6ICRhMywgMWYKKyAgICBtb3ZlICRhMCwgJHYwCisgICAgaiAkcmEKKyAgICBub3AKKzE6CisgICAgbGEgJHQ5LF9fc2V0X2Vycm5vCisgICAgaiAkdDkKKyAgICBub3AKKyAgICAuc2V0IHJlb3JkZXIKKyAgICAuZW5kIGdldHJlc2dpZApkaWZmIC0tZ2l0IGEvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvZ2V0cmVzdWlkLlMgYi9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9nZXRyZXN1aWQuUwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mZjI3Y2RlCi0tLSAvZGV2L251bGwKKysrIGIvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvZ2V0cmVzdWlkLlMKQEAgLTAsMCArMSwyMiBAQAorLyogYXV0b2dlbmVyYXRlZCBieSBnZW5zeXNjYWxscy5weSAqLworI2luY2x1ZGUgPHN5cy9saW51eC1zeXNjYWxscy5oPgorICAgIC50ZXh0CisgICAgLmdsb2JsIGdldHJlc3VpZAorICAgIC5hbGlnbiA0CisgICAgLmVudCBnZXRyZXN1aWQKKworZ2V0cmVzdWlkOgorICAgIC5zZXQgbm9yZW9yZGVyCisgICAgLmNwbG9hZCAkdDkKKyAgICBsaSAkdjAsIF9fTlJfZ2V0cmVzdWlkCisgICAgc3lzY2FsbAorICAgIGJuZXogJGEzLCAxZgorICAgIG1vdmUgJGEwLCAkdjAKKyAgICBqICRyYQorICAgIG5vcAorMToKKyAgICBsYSAkdDksX19zZXRfZXJybm8KKyAgICBqICR0OQorICAgIG5vcAorICAgIC5zZXQgcmVvcmRlcgorICAgIC5lbmQgZ2V0cmVzdWlkCmRpZmYgLS1naXQgYS9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9nZXRybGltaXQuUyBiL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL2dldHJsaW1pdC5TCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjcyZWQ3ZDgKLS0tIC9kZXYvbnVsbAorKysgYi9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9nZXRybGltaXQuUwpAQCAtMCwwICsxLDIyIEBACisvKiBhdXRvZ2VuZXJhdGVkIGJ5IGdlbnN5c2NhbGxzLnB5ICovCisjaW5jbHVkZSA8c3lzL2xpbnV4LXN5c2NhbGxzLmg+CisgICAgLnRleHQKKyAgICAuZ2xvYmwgZ2V0cmxpbWl0CisgICAgLmFsaWduIDQKKyAgICAuZW50IGdldHJsaW1pdAorCitnZXRybGltaXQ6CisgICAgLnNldCBub3Jlb3JkZXIKKyAgICAuY3Bsb2FkICR0OQorICAgIGxpICR2MCwgX19OUl9nZXRybGltaXQKKyAgICBzeXNjYWxsCisgICAgYm5leiAkYTMsIDFmCisgICAgbW92ZSAkYTAsICR2MAorICAgIGogJHJhCisgICAgbm9wCisxOgorICAgIGxhICR0OSxfX3NldF9lcnJubworICAgIGogJHQ5CisgICAgbm9wCisgICAgLnNldCByZW9yZGVyCisgICAgLmVuZCBnZXRybGltaXQKZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL2dldHJ1c2FnZS5TIGIvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvZ2V0cnVzYWdlLlMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGMwZjdkMAotLS0gL2Rldi9udWxsCisrKyBiL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL2dldHJ1c2FnZS5TCkBAIC0wLDAgKzEsMjIgQEAKKy8qIGF1dG9nZW5lcmF0ZWQgYnkgZ2Vuc3lzY2FsbHMucHkgKi8KKyNpbmNsdWRlIDxzeXMvbGludXgtc3lzY2FsbHMuaD4KKyAgICAudGV4dAorICAgIC5nbG9ibCBnZXRydXNhZ2UKKyAgICAuYWxpZ24gNAorICAgIC5lbnQgZ2V0cnVzYWdlCisKK2dldHJ1c2FnZToKKyAgICAuc2V0IG5vcmVvcmRlcgorICAgIC5jcGxvYWQgJHQ5CisgICAgbGkgJHYwLCBfX05SX2dldHJ1c2FnZQorICAgIHN5c2NhbGwKKyAgICBibmV6ICRhMywgMWYKKyAgICBtb3ZlICRhMCwgJHYwCisgICAgaiAkcmEKKyAgICBub3AKKzE6CisgICAgbGEgJHQ5LF9fc2V0X2Vycm5vCisgICAgaiAkdDkKKyAgICBub3AKKyAgICAuc2V0IHJlb3JkZXIKKyAgICAuZW5kIGdldHJ1c2FnZQpkaWZmIC0tZ2l0IGEvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvZ2V0c29ja25hbWUuUyBiL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL2dldHNvY2tuYW1lLlMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTNkNDFmOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL2dldHNvY2tuYW1lLlMKQEAgLTAsMCArMSwyMiBAQAorLyogYXV0b2dlbmVyYXRlZCBieSBnZW5zeXNjYWxscy5weSAqLworI2luY2x1ZGUgPHN5cy9saW51eC1zeXNjYWxscy5oPgorICAgIC50ZXh0CisgICAgLmdsb2JsIGdldHNvY2tuYW1lCisgICAgLmFsaWduIDQKKyAgICAuZW50IGdldHNvY2tuYW1lCisKK2dldHNvY2tuYW1lOgorICAgIC5zZXQgbm9yZW9yZGVyCisgICAgLmNwbG9hZCAkdDkKKyAgICBsaSAkdjAsIF9fTlJfZ2V0c29ja25hbWUKKyAgICBzeXNjYWxsCisgICAgYm5leiAkYTMsIDFmCisgICAgbW92ZSAkYTAsICR2MAorICAgIGogJHJhCisgICAgbm9wCisxOgorICAgIGxhICR0OSxfX3NldF9lcnJubworICAgIGogJHQ5CisgICAgbm9wCisgICAgLnNldCByZW9yZGVyCisgICAgLmVuZCBnZXRzb2NrbmFtZQpkaWZmIC0tZ2l0IGEvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvZ2V0c29ja29wdC5TIGIvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvZ2V0c29ja29wdC5TCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ1NWFlNmEKLS0tIC9kZXYvbnVsbAorKysgYi9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9nZXRzb2Nrb3B0LlMKQEAgLTAsMCArMSwyMiBAQAorLyogYXV0b2dlbmVyYXRlZCBieSBnZW5zeXNjYWxscy5weSAqLworI2luY2x1ZGUgPHN5cy9saW51eC1zeXNjYWxscy5oPgorICAgIC50ZXh0CisgICAgLmdsb2JsIGdldHNvY2tvcHQKKyAgICAuYWxpZ24gNAorICAgIC5lbnQgZ2V0c29ja29wdAorCitnZXRzb2Nrb3B0OgorICAgIC5zZXQgbm9yZW9yZGVyCisgICAgLmNwbG9hZCAkdDkKKyAgICBsaSAkdjAsIF9fTlJfZ2V0c29ja29wdAorICAgIHN5c2NhbGwKKyAgICBibmV6ICRhMywgMWYKKyAgICBtb3ZlICRhMCwgJHYwCisgICAgaiAkcmEKKyAgICBub3AKKzE6CisgICAgbGEgJHQ5LF9fc2V0X2Vycm5vCisgICAgaiAkdDkKKyAgICBub3AKKyAgICAuc2V0IHJlb3JkZXIKKyAgICAuZW5kIGdldHNvY2tvcHQKZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL2dldHRpZC5TIGIvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvZ2V0dGlkLlMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGUzN2RmNQotLS0gL2Rldi9udWxsCisrKyBiL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL2dldHRpZC5TCkBAIC0wLDAgKzEsMjIgQEAKKy8qIGF1dG9nZW5lcmF0ZWQgYnkgZ2Vuc3lzY2FsbHMucHkgKi8KKyNpbmNsdWRlIDxzeXMvbGludXgtc3lzY2FsbHMuaD4KKyAgICAudGV4dAorICAgIC5nbG9ibCBnZXR0aWQKKyAgICAuYWxpZ24gNAorICAgIC5lbnQgZ2V0dGlkCisKK2dldHRpZDoKKyAgICAuc2V0IG5vcmVvcmRlcgorICAgIC5jcGxvYWQgJHQ5CisgICAgbGkgJHYwLCBfX05SX2dldHRpZAorICAgIHN5c2NhbGwKKyAgICBibmV6ICRhMywgMWYKKyAgICBtb3ZlICRhMCwgJHYwCisgICAgaiAkcmEKKyAgICBub3AKKzE6CisgICAgbGEgJHQ5LF9fc2V0X2Vycm5vCisgICAgaiAkdDkKKyAgICBub3AKKyAgICAuc2V0IHJlb3JkZXIKKyAgICAuZW5kIGdldHRpZApkaWZmIC0tZ2l0IGEvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvZ2V0dGltZW9mZGF5LlMgYi9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9nZXR0aW1lb2ZkYXkuUwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hOWE5M2E1Ci0tLSAvZGV2L251bGwKKysrIGIvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvZ2V0dGltZW9mZGF5LlMKQEAgLTAsMCArMSwyMiBAQAorLyogYXV0b2dlbmVyYXRlZCBieSBnZW5zeXNjYWxscy5weSAqLworI2luY2x1ZGUgPHN5cy9saW51eC1zeXNjYWxscy5oPgorICAgIC50ZXh0CisgICAgLmdsb2JsIGdldHRpbWVvZmRheQorICAgIC5hbGlnbiA0CisgICAgLmVudCBnZXR0aW1lb2ZkYXkKKworZ2V0dGltZW9mZGF5OgorICAgIC5zZXQgbm9yZW9yZGVyCisgICAgLmNwbG9hZCAkdDkKKyAgICBsaSAkdjAsIF9fTlJfZ2V0dGltZW9mZGF5CisgICAgc3lzY2FsbAorICAgIGJuZXogJGEzLCAxZgorICAgIG1vdmUgJGEwLCAkdjAKKyAgICBqICRyYQorICAgIG5vcAorMToKKyAgICBsYSAkdDksX19zZXRfZXJybm8KKyAgICBqICR0OQorICAgIG5vcAorICAgIC5zZXQgcmVvcmRlcgorICAgIC5lbmQgZ2V0dGltZW9mZGF5CmRpZmYgLS1naXQgYS9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9nZXR1aWQuUyBiL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL2dldHVpZC5TCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU1YmE2OTgKLS0tIC9kZXYvbnVsbAorKysgYi9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9nZXR1aWQuUwpAQCAtMCwwICsxLDIyIEBACisvKiBhdXRvZ2VuZXJhdGVkIGJ5IGdlbnN5c2NhbGxzLnB5ICovCisjaW5jbHVkZSA8c3lzL2xpbnV4LXN5c2NhbGxzLmg+CisgICAgLnRleHQKKyAgICAuZ2xvYmwgZ2V0dWlkCisgICAgLmFsaWduIDQKKyAgICAuZW50IGdldHVpZAorCitnZXR1aWQ6CisgICAgLnNldCBub3Jlb3JkZXIKKyAgICAuY3Bsb2FkICR0OQorICAgIGxpICR2MCwgX19OUl9nZXR1aWQKKyAgICBzeXNjYWxsCisgICAgYm5leiAkYTMsIDFmCisgICAgbW92ZSAkYTAsICR2MAorICAgIGogJHJhCisgICAgbm9wCisxOgorICAgIGxhICR0OSxfX3NldF9lcnJubworICAgIGogJHQ5CisgICAgbm9wCisgICAgLnNldCByZW9yZGVyCisgICAgLmVuZCBnZXR1aWQKZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL2dldHhhdHRyLlMgYi9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9nZXR4YXR0ci5TCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZjNzA1NzkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9nZXR4YXR0ci5TCkBAIC0wLDAgKzEsMjIgQEAKKy8qIGF1dG9nZW5lcmF0ZWQgYnkgZ2Vuc3lzY2FsbHMucHkgKi8KKyNpbmNsdWRlIDxzeXMvbGludXgtc3lzY2FsbHMuaD4KKyAgICAudGV4dAorICAgIC5nbG9ibCBnZXR4YXR0cgorICAgIC5hbGlnbiA0CisgICAgLmVudCBnZXR4YXR0cgorCitnZXR4YXR0cjoKKyAgICAuc2V0IG5vcmVvcmRlcgorICAgIC5jcGxvYWQgJHQ5CisgICAgbGkgJHYwLCBfX05SX2dldHhhdHRyCisgICAgc3lzY2FsbAorICAgIGJuZXogJGEzLCAxZgorICAgIG1vdmUgJGEwLCAkdjAKKyAgICBqICRyYQorICAgIG5vcAorMToKKyAgICBsYSAkdDksX19zZXRfZXJybm8KKyAgICBqICR0OQorICAgIG5vcAorICAgIC5zZXQgcmVvcmRlcgorICAgIC5lbmQgZ2V0eGF0dHIKZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL2luaXRfbW9kdWxlLlMgYi9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9pbml0X21vZHVsZS5TCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVjZmJkMmYKLS0tIC9kZXYvbnVsbAorKysgYi9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9pbml0X21vZHVsZS5TCkBAIC0wLDAgKzEsMjIgQEAKKy8qIGF1dG9nZW5lcmF0ZWQgYnkgZ2Vuc3lzY2FsbHMucHkgKi8KKyNpbmNsdWRlIDxzeXMvbGludXgtc3lzY2FsbHMuaD4KKyAgICAudGV4dAorICAgIC5nbG9ibCBpbml0X21vZHVsZQorICAgIC5hbGlnbiA0CisgICAgLmVudCBpbml0X21vZHVsZQorCitpbml0X21vZHVsZToKKyAgICAuc2V0IG5vcmVvcmRlcgorICAgIC5jcGxvYWQgJHQ5CisgICAgbGkgJHYwLCBfX05SX2luaXRfbW9kdWxlCisgICAgc3lzY2FsbAorICAgIGJuZXogJGEzLCAxZgorICAgIG1vdmUgJGEwLCAkdjAKKyAgICBqICRyYQorICAgIG5vcAorMToKKyAgICBsYSAkdDksX19zZXRfZXJybm8KKyAgICBqICR0OQorICAgIG5vcAorICAgIC5zZXQgcmVvcmRlcgorICAgIC5lbmQgaW5pdF9tb2R1bGUKZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL2lub3RpZnlfYWRkX3dhdGNoLlMgYi9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9pbm90aWZ5X2FkZF93YXRjaC5TCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhkZGU2NjcKLS0tIC9kZXYvbnVsbAorKysgYi9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9pbm90aWZ5X2FkZF93YXRjaC5TCkBAIC0wLDAgKzEsMjIgQEAKKy8qIGF1dG9nZW5lcmF0ZWQgYnkgZ2Vuc3lzY2FsbHMucHkgKi8KKyNpbmNsdWRlIDxzeXMvbGludXgtc3lzY2FsbHMuaD4KKyAgICAudGV4dAorICAgIC5nbG9ibCBpbm90aWZ5X2FkZF93YXRjaAorICAgIC5hbGlnbiA0CisgICAgLmVudCBpbm90aWZ5X2FkZF93YXRjaAorCitpbm90aWZ5X2FkZF93YXRjaDoKKyAgICAuc2V0IG5vcmVvcmRlcgorICAgIC5jcGxvYWQgJHQ5CisgICAgbGkgJHYwLCBfX05SX2lub3RpZnlfYWRkX3dhdGNoCisgICAgc3lzY2FsbAorICAgIGJuZXogJGEzLCAxZgorICAgIG1vdmUgJGEwLCAkdjAKKyAgICBqICRyYQorICAgIG5vcAorMToKKyAgICBsYSAkdDksX19zZXRfZXJybm8KKyAgICBqICR0OQorICAgIG5vcAorICAgIC5zZXQgcmVvcmRlcgorICAgIC5lbmQgaW5vdGlmeV9hZGRfd2F0Y2gKZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL2lub3RpZnlfaW5pdC5TIGIvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvaW5vdGlmeV9pbml0LlMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2RlNDY2NwotLS0gL2Rldi9udWxsCisrKyBiL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL2lub3RpZnlfaW5pdC5TCkBAIC0wLDAgKzEsMjIgQEAKKy8qIGF1dG9nZW5lcmF0ZWQgYnkgZ2Vuc3lzY2FsbHMucHkgKi8KKyNpbmNsdWRlIDxzeXMvbGludXgtc3lzY2FsbHMuaD4KKyAgICAudGV4dAorICAgIC5nbG9ibCBpbm90aWZ5X2luaXQKKyAgICAuYWxpZ24gNAorICAgIC5lbnQgaW5vdGlmeV9pbml0CisKK2lub3RpZnlfaW5pdDoKKyAgICAuc2V0IG5vcmVvcmRlcgorICAgIC5jcGxvYWQgJHQ5CisgICAgbGkgJHYwLCBfX05SX2lub3RpZnlfaW5pdAorICAgIHN5c2NhbGwKKyAgICBibmV6ICRhMywgMWYKKyAgICBtb3ZlICRhMCwgJHYwCisgICAgaiAkcmEKKyAgICBub3AKKzE6CisgICAgbGEgJHQ5LF9fc2V0X2Vycm5vCisgICAgaiAkdDkKKyAgICBub3AKKyAgICAuc2V0IHJlb3JkZXIKKyAgICAuZW5kIGlub3RpZnlfaW5pdApkaWZmIC0tZ2l0IGEvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvaW5vdGlmeV9ybV93YXRjaC5TIGIvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvaW5vdGlmeV9ybV93YXRjaC5TCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFiMjk2NGUKLS0tIC9kZXYvbnVsbAorKysgYi9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9pbm90aWZ5X3JtX3dhdGNoLlMKQEAgLTAsMCArMSwyMiBAQAorLyogYXV0b2dlbmVyYXRlZCBieSBnZW5zeXNjYWxscy5weSAqLworI2luY2x1ZGUgPHN5cy9saW51eC1zeXNjYWxscy5oPgorICAgIC50ZXh0CisgICAgLmdsb2JsIGlub3RpZnlfcm1fd2F0Y2gKKyAgICAuYWxpZ24gNAorICAgIC5lbnQgaW5vdGlmeV9ybV93YXRjaAorCitpbm90aWZ5X3JtX3dhdGNoOgorICAgIC5zZXQgbm9yZW9yZGVyCisgICAgLmNwbG9hZCAkdDkKKyAgICBsaSAkdjAsIF9fTlJfaW5vdGlmeV9ybV93YXRjaAorICAgIHN5c2NhbGwKKyAgICBibmV6ICRhMywgMWYKKyAgICBtb3ZlICRhMCwgJHYwCisgICAgaiAkcmEKKyAgICBub3AKKzE6CisgICAgbGEgJHQ5LF9fc2V0X2Vycm5vCisgICAgaiAkdDkKKyAgICBub3AKKyAgICAuc2V0IHJlb3JkZXIKKyAgICAuZW5kIGlub3RpZnlfcm1fd2F0Y2gKZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL2lvcHJpb19nZXQuUyBiL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL2lvcHJpb19nZXQuUwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mN2YyNDQxCi0tLSAvZGV2L251bGwKKysrIGIvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvaW9wcmlvX2dldC5TCkBAIC0wLDAgKzEsMjIgQEAKKy8qIGF1dG9nZW5lcmF0ZWQgYnkgZ2Vuc3lzY2FsbHMucHkgKi8KKyNpbmNsdWRlIDxzeXMvbGludXgtc3lzY2FsbHMuaD4KKyAgICAudGV4dAorICAgIC5nbG9ibCBpb3ByaW9fZ2V0CisgICAgLmFsaWduIDQKKyAgICAuZW50IGlvcHJpb19nZXQKKworaW9wcmlvX2dldDoKKyAgICAuc2V0IG5vcmVvcmRlcgorICAgIC5jcGxvYWQgJHQ5CisgICAgbGkgJHYwLCBfX05SX2lvcHJpb19nZXQKKyAgICBzeXNjYWxsCisgICAgYm5leiAkYTMsIDFmCisgICAgbW92ZSAkYTAsICR2MAorICAgIGogJHJhCisgICAgbm9wCisxOgorICAgIGxhICR0OSxfX3NldF9lcnJubworICAgIGogJHQ5CisgICAgbm9wCisgICAgLnNldCByZW9yZGVyCisgICAgLmVuZCBpb3ByaW9fZ2V0CmRpZmYgLS1naXQgYS9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9pb3ByaW9fc2V0LlMgYi9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9pb3ByaW9fc2V0LlMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzNhMzBlNwotLS0gL2Rldi9udWxsCisrKyBiL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL2lvcHJpb19zZXQuUwpAQCAtMCwwICsxLDIyIEBACisvKiBhdXRvZ2VuZXJhdGVkIGJ5IGdlbnN5c2NhbGxzLnB5ICovCisjaW5jbHVkZSA8c3lzL2xpbnV4LXN5c2NhbGxzLmg+CisgICAgLnRleHQKKyAgICAuZ2xvYmwgaW9wcmlvX3NldAorICAgIC5hbGlnbiA0CisgICAgLmVudCBpb3ByaW9fc2V0CisKK2lvcHJpb19zZXQ6CisgICAgLnNldCBub3Jlb3JkZXIKKyAgICAuY3Bsb2FkICR0OQorICAgIGxpICR2MCwgX19OUl9pb3ByaW9fc2V0CisgICAgc3lzY2FsbAorICAgIGJuZXogJGEzLCAxZgorICAgIG1vdmUgJGEwLCAkdjAKKyAgICBqICRyYQorICAgIG5vcAorMToKKyAgICBsYSAkdDksX19zZXRfZXJybm8KKyAgICBqICR0OQorICAgIG5vcAorICAgIC5zZXQgcmVvcmRlcgorICAgIC5lbmQgaW9wcmlvX3NldApkaWZmIC0tZ2l0IGEvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMva2lsbC5TIGIvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMva2lsbC5TCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE2NjQwZmYKLS0tIC9kZXYvbnVsbAorKysgYi9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9raWxsLlMKQEAgLTAsMCArMSwyMiBAQAorLyogYXV0b2dlbmVyYXRlZCBieSBnZW5zeXNjYWxscy5weSAqLworI2luY2x1ZGUgPHN5cy9saW51eC1zeXNjYWxscy5oPgorICAgIC50ZXh0CisgICAgLmdsb2JsIGtpbGwKKyAgICAuYWxpZ24gNAorICAgIC5lbnQga2lsbAorCitraWxsOgorICAgIC5zZXQgbm9yZW9yZGVyCisgICAgLmNwbG9hZCAkdDkKKyAgICBsaSAkdjAsIF9fTlJfa2lsbAorICAgIHN5c2NhbGwKKyAgICBibmV6ICRhMywgMWYKKyAgICBtb3ZlICRhMCwgJHYwCisgICAgaiAkcmEKKyAgICBub3AKKzE6CisgICAgbGEgJHQ5LF9fc2V0X2Vycm5vCisgICAgaiAkdDkKKyAgICBub3AKKyAgICAuc2V0IHJlb3JkZXIKKyAgICAuZW5kIGtpbGwKZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL2tsb2djdGwuUyBiL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL2tsb2djdGwuUwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44YzQxZGNmCi0tLSAvZGV2L251bGwKKysrIGIvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMva2xvZ2N0bC5TCkBAIC0wLDAgKzEsMjIgQEAKKy8qIGF1dG9nZW5lcmF0ZWQgYnkgZ2Vuc3lzY2FsbHMucHkgKi8KKyNpbmNsdWRlIDxzeXMvbGludXgtc3lzY2FsbHMuaD4KKyAgICAudGV4dAorICAgIC5nbG9ibCBrbG9nY3RsCisgICAgLmFsaWduIDQKKyAgICAuZW50IGtsb2djdGwKKwora2xvZ2N0bDoKKyAgICAuc2V0IG5vcmVvcmRlcgorICAgIC5jcGxvYWQgJHQ5CisgICAgbGkgJHYwLCBfX05SX3N5c2xvZworICAgIHN5c2NhbGwKKyAgICBibmV6ICRhMywgMWYKKyAgICBtb3ZlICRhMCwgJHYwCisgICAgaiAkcmEKKyAgICBub3AKKzE6CisgICAgbGEgJHQ5LF9fc2V0X2Vycm5vCisgICAgaiAkdDkKKyAgICBub3AKKyAgICAuc2V0IHJlb3JkZXIKKyAgICAuZW5kIGtsb2djdGwKZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL2xjaG93bi5TIGIvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvbGNob3duLlMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWZiNDY2MAotLS0gL2Rldi9udWxsCisrKyBiL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL2xjaG93bi5TCkBAIC0wLDAgKzEsMjIgQEAKKy8qIGF1dG9nZW5lcmF0ZWQgYnkgZ2Vuc3lzY2FsbHMucHkgKi8KKyNpbmNsdWRlIDxzeXMvbGludXgtc3lzY2FsbHMuaD4KKyAgICAudGV4dAorICAgIC5nbG9ibCBsY2hvd24KKyAgICAuYWxpZ24gNAorICAgIC5lbnQgbGNob3duCisKK2xjaG93bjoKKyAgICAuc2V0IG5vcmVvcmRlcgorICAgIC5jcGxvYWQgJHQ5CisgICAgbGkgJHYwLCBfX05SX2xjaG93bgorICAgIHN5c2NhbGwKKyAgICBibmV6ICRhMywgMWYKKyAgICBtb3ZlICRhMCwgJHYwCisgICAgaiAkcmEKKyAgICBub3AKKzE6CisgICAgbGEgJHQ5LF9fc2V0X2Vycm5vCisgICAgaiAkdDkKKyAgICBub3AKKyAgICAuc2V0IHJlb3JkZXIKKyAgICAuZW5kIGxjaG93bgpkaWZmIC0tZ2l0IGEvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvbGdldHhhdHRyLlMgYi9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9sZ2V0eGF0dHIuUwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kNTQ2ZDI4Ci0tLSAvZGV2L251bGwKKysrIGIvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvbGdldHhhdHRyLlMKQEAgLTAsMCArMSwyMiBAQAorLyogYXV0b2dlbmVyYXRlZCBieSBnZW5zeXNjYWxscy5weSAqLworI2luY2x1ZGUgPHN5cy9saW51eC1zeXNjYWxscy5oPgorICAgIC50ZXh0CisgICAgLmdsb2JsIGxnZXR4YXR0cgorICAgIC5hbGlnbiA0CisgICAgLmVudCBsZ2V0eGF0dHIKKworbGdldHhhdHRyOgorICAgIC5zZXQgbm9yZW9yZGVyCisgICAgLmNwbG9hZCAkdDkKKyAgICBsaSAkdjAsIF9fTlJfbGdldHhhdHRyCisgICAgc3lzY2FsbAorICAgIGJuZXogJGEzLCAxZgorICAgIG1vdmUgJGEwLCAkdjAKKyAgICBqICRyYQorICAgIG5vcAorMToKKyAgICBsYSAkdDksX19zZXRfZXJybm8KKyAgICBqICR0OQorICAgIG5vcAorICAgIC5zZXQgcmVvcmRlcgorICAgIC5lbmQgbGdldHhhdHRyCmRpZmYgLS1naXQgYS9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9saW5rLlMgYi9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9saW5rLlMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDA5NmI0NAotLS0gL2Rldi9udWxsCisrKyBiL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL2xpbmsuUwpAQCAtMCwwICsxLDIyIEBACisvKiBhdXRvZ2VuZXJhdGVkIGJ5IGdlbnN5c2NhbGxzLnB5ICovCisjaW5jbHVkZSA8c3lzL2xpbnV4LXN5c2NhbGxzLmg+CisgICAgLnRleHQKKyAgICAuZ2xvYmwgbGluaworICAgIC5hbGlnbiA0CisgICAgLmVudCBsaW5rCisKK2xpbms6CisgICAgLnNldCBub3Jlb3JkZXIKKyAgICAuY3Bsb2FkICR0OQorICAgIGxpICR2MCwgX19OUl9saW5rCisgICAgc3lzY2FsbAorICAgIGJuZXogJGEzLCAxZgorICAgIG1vdmUgJGEwLCAkdjAKKyAgICBqICRyYQorICAgIG5vcAorMToKKyAgICBsYSAkdDksX19zZXRfZXJybm8KKyAgICBqICR0OQorICAgIG5vcAorICAgIC5zZXQgcmVvcmRlcgorICAgIC5lbmQgbGluawpkaWZmIC0tZ2l0IGEvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvbGlzdGVuLlMgYi9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9saXN0ZW4uUwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mMzY1ZDFkCi0tLSAvZGV2L251bGwKKysrIGIvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvbGlzdGVuLlMKQEAgLTAsMCArMSwyMiBAQAorLyogYXV0b2dlbmVyYXRlZCBieSBnZW5zeXNjYWxscy5weSAqLworI2luY2x1ZGUgPHN5cy9saW51eC1zeXNjYWxscy5oPgorICAgIC50ZXh0CisgICAgLmdsb2JsIGxpc3RlbgorICAgIC5hbGlnbiA0CisgICAgLmVudCBsaXN0ZW4KKworbGlzdGVuOgorICAgIC5zZXQgbm9yZW9yZGVyCisgICAgLmNwbG9hZCAkdDkKKyAgICBsaSAkdjAsIF9fTlJfbGlzdGVuCisgICAgc3lzY2FsbAorICAgIGJuZXogJGEzLCAxZgorICAgIG1vdmUgJGEwLCAkdjAKKyAgICBqICRyYQorICAgIG5vcAorMToKKyAgICBsYSAkdDksX19zZXRfZXJybm8KKyAgICBqICR0OQorICAgIG5vcAorICAgIC5zZXQgcmVvcmRlcgorICAgIC5lbmQgbGlzdGVuCmRpZmYgLS1naXQgYS9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9saXN0eGF0dHIuUyBiL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL2xpc3R4YXR0ci5TCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjkwYjQ1NDQKLS0tIC9kZXYvbnVsbAorKysgYi9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9saXN0eGF0dHIuUwpAQCAtMCwwICsxLDIyIEBACisvKiBhdXRvZ2VuZXJhdGVkIGJ5IGdlbnN5c2NhbGxzLnB5ICovCisjaW5jbHVkZSA8c3lzL2xpbnV4LXN5c2NhbGxzLmg+CisgICAgLnRleHQKKyAgICAuZ2xvYmwgbGlzdHhhdHRyCisgICAgLmFsaWduIDQKKyAgICAuZW50IGxpc3R4YXR0cgorCitsaXN0eGF0dHI6CisgICAgLnNldCBub3Jlb3JkZXIKKyAgICAuY3Bsb2FkICR0OQorICAgIGxpICR2MCwgX19OUl9saXN0eGF0dHIKKyAgICBzeXNjYWxsCisgICAgYm5leiAkYTMsIDFmCisgICAgbW92ZSAkYTAsICR2MAorICAgIGogJHJhCisgICAgbm9wCisxOgorICAgIGxhICR0OSxfX3NldF9lcnJubworICAgIGogJHQ5CisgICAgbm9wCisgICAgLnNldCByZW9yZGVyCisgICAgLmVuZCBsaXN0eGF0dHIKZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL2xsaXN0eGF0dHIuUyBiL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL2xsaXN0eGF0dHIuUwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNzRiZjg1Ci0tLSAvZGV2L251bGwKKysrIGIvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvbGxpc3R4YXR0ci5TCkBAIC0wLDAgKzEsMjIgQEAKKy8qIGF1dG9nZW5lcmF0ZWQgYnkgZ2Vuc3lzY2FsbHMucHkgKi8KKyNpbmNsdWRlIDxzeXMvbGludXgtc3lzY2FsbHMuaD4KKyAgICAudGV4dAorICAgIC5nbG9ibCBsbGlzdHhhdHRyCisgICAgLmFsaWduIDQKKyAgICAuZW50IGxsaXN0eGF0dHIKKworbGxpc3R4YXR0cjoKKyAgICAuc2V0IG5vcmVvcmRlcgorICAgIC5jcGxvYWQgJHQ5CisgICAgbGkgJHYwLCBfX05SX2xsaXN0eGF0dHIKKyAgICBzeXNjYWxsCisgICAgYm5leiAkYTMsIDFmCisgICAgbW92ZSAkYTAsICR2MAorICAgIGogJHJhCisgICAgbm9wCisxOgorICAgIGxhICR0OSxfX3NldF9lcnJubworICAgIGogJHQ5CisgICAgbm9wCisgICAgLnNldCByZW9yZGVyCisgICAgLmVuZCBsbGlzdHhhdHRyCmRpZmYgLS1naXQgYS9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9scmVtb3ZleGF0dHIuUyBiL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL2xyZW1vdmV4YXR0ci5TCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE4ZDhkZjkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9scmVtb3ZleGF0dHIuUwpAQCAtMCwwICsxLDIyIEBACisvKiBhdXRvZ2VuZXJhdGVkIGJ5IGdlbnN5c2NhbGxzLnB5ICovCisjaW5jbHVkZSA8c3lzL2xpbnV4LXN5c2NhbGxzLmg+CisgICAgLnRleHQKKyAgICAuZ2xvYmwgbHJlbW92ZXhhdHRyCisgICAgLmFsaWduIDQKKyAgICAuZW50IGxyZW1vdmV4YXR0cgorCitscmVtb3ZleGF0dHI6CisgICAgLnNldCBub3Jlb3JkZXIKKyAgICAuY3Bsb2FkICR0OQorICAgIGxpICR2MCwgX19OUl9scmVtb3ZleGF0dHIKKyAgICBzeXNjYWxsCisgICAgYm5leiAkYTMsIDFmCisgICAgbW92ZSAkYTAsICR2MAorICAgIGogJHJhCisgICAgbm9wCisxOgorICAgIGxhICR0OSxfX3NldF9lcnJubworICAgIGogJHQ5CisgICAgbm9wCisgICAgLnNldCByZW9yZGVyCisgICAgLmVuZCBscmVtb3ZleGF0dHIKZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL2xzZWVrLlMgYi9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9sc2Vlay5TCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJmNDg2YWMKLS0tIC9kZXYvbnVsbAorKysgYi9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9sc2Vlay5TCkBAIC0wLDAgKzEsMjIgQEAKKy8qIGF1dG9nZW5lcmF0ZWQgYnkgZ2Vuc3lzY2FsbHMucHkgKi8KKyNpbmNsdWRlIDxzeXMvbGludXgtc3lzY2FsbHMuaD4KKyAgICAudGV4dAorICAgIC5nbG9ibCBsc2VlaworICAgIC5hbGlnbiA0CisgICAgLmVudCBsc2VlaworCitsc2VlazoKKyAgICAuc2V0IG5vcmVvcmRlcgorICAgIC5jcGxvYWQgJHQ5CisgICAgbGkgJHYwLCBfX05SX2xzZWVrCisgICAgc3lzY2FsbAorICAgIGJuZXogJGEzLCAxZgorICAgIG1vdmUgJGEwLCAkdjAKKyAgICBqICRyYQorICAgIG5vcAorMToKKyAgICBsYSAkdDksX19zZXRfZXJybm8KKyAgICBqICR0OQorICAgIG5vcAorICAgIC5zZXQgcmVvcmRlcgorICAgIC5lbmQgbHNlZWsKZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL2xzZXR4YXR0ci5TIGIvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvbHNldHhhdHRyLlMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTlhMGZkZgotLS0gL2Rldi9udWxsCisrKyBiL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL2xzZXR4YXR0ci5TCkBAIC0wLDAgKzEsMjIgQEAKKy8qIGF1dG9nZW5lcmF0ZWQgYnkgZ2Vuc3lzY2FsbHMucHkgKi8KKyNpbmNsdWRlIDxzeXMvbGludXgtc3lzY2FsbHMuaD4KKyAgICAudGV4dAorICAgIC5nbG9ibCBsc2V0eGF0dHIKKyAgICAuYWxpZ24gNAorICAgIC5lbnQgbHNldHhhdHRyCisKK2xzZXR4YXR0cjoKKyAgICAuc2V0IG5vcmVvcmRlcgorICAgIC5jcGxvYWQgJHQ5CisgICAgbGkgJHYwLCBfX05SX2xzZXR4YXR0cgorICAgIHN5c2NhbGwKKyAgICBibmV6ICRhMywgMWYKKyAgICBtb3ZlICRhMCwgJHYwCisgICAgaiAkcmEKKyAgICBub3AKKzE6CisgICAgbGEgJHQ5LF9fc2V0X2Vycm5vCisgICAgaiAkdDkKKyAgICBub3AKKyAgICAuc2V0IHJlb3JkZXIKKyAgICAuZW5kIGxzZXR4YXR0cgpkaWZmIC0tZ2l0IGEvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvbHN0YXQuUyBiL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL2xzdGF0LlMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzU1ZDFkYQotLS0gL2Rldi9udWxsCisrKyBiL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL2xzdGF0LlMKQEAgLTAsMCArMSwyMiBAQAorLyogYXV0b2dlbmVyYXRlZCBieSBnZW5zeXNjYWxscy5weSAqLworI2luY2x1ZGUgPHN5cy9saW51eC1zeXNjYWxscy5oPgorICAgIC50ZXh0CisgICAgLmdsb2JsIGxzdGF0CisgICAgLmFsaWduIDQKKyAgICAuZW50IGxzdGF0CisKK2xzdGF0OgorICAgIC5zZXQgbm9yZW9yZGVyCisgICAgLmNwbG9hZCAkdDkKKyAgICBsaSAkdjAsIF9fTlJfbHN0YXQ2NAorICAgIHN5c2NhbGwKKyAgICBibmV6ICRhMywgMWYKKyAgICBtb3ZlICRhMCwgJHYwCisgICAgaiAkcmEKKyAgICBub3AKKzE6CisgICAgbGEgJHQ5LF9fc2V0X2Vycm5vCisgICAgaiAkdDkKKyAgICBub3AKKyAgICAuc2V0IHJlb3JkZXIKKyAgICAuZW5kIGxzdGF0CmRpZmYgLS1naXQgYS9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9tYWR2aXNlLlMgYi9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9tYWR2aXNlLlMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGRmNzMyNQotLS0gL2Rldi9udWxsCisrKyBiL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL21hZHZpc2UuUwpAQCAtMCwwICsxLDIyIEBACisvKiBhdXRvZ2VuZXJhdGVkIGJ5IGdlbnN5c2NhbGxzLnB5ICovCisjaW5jbHVkZSA8c3lzL2xpbnV4LXN5c2NhbGxzLmg+CisgICAgLnRleHQKKyAgICAuZ2xvYmwgbWFkdmlzZQorICAgIC5hbGlnbiA0CisgICAgLmVudCBtYWR2aXNlCisKK21hZHZpc2U6CisgICAgLnNldCBub3Jlb3JkZXIKKyAgICAuY3Bsb2FkICR0OQorICAgIGxpICR2MCwgX19OUl9tYWR2aXNlCisgICAgc3lzY2FsbAorICAgIGJuZXogJGEzLCAxZgorICAgIG1vdmUgJGEwLCAkdjAKKyAgICBqICRyYQorICAgIG5vcAorMToKKyAgICBsYSAkdDksX19zZXRfZXJybm8KKyAgICBqICR0OQorICAgIG5vcAorICAgIC5zZXQgcmVvcmRlcgorICAgIC5lbmQgbWFkdmlzZQpkaWZmIC0tZ2l0IGEvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvbWluY29yZS5TIGIvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvbWluY29yZS5TCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhmNDY3Y2QKLS0tIC9kZXYvbnVsbAorKysgYi9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9taW5jb3JlLlMKQEAgLTAsMCArMSwyMiBAQAorLyogYXV0b2dlbmVyYXRlZCBieSBnZW5zeXNjYWxscy5weSAqLworI2luY2x1ZGUgPHN5cy9saW51eC1zeXNjYWxscy5oPgorICAgIC50ZXh0CisgICAgLmdsb2JsIG1pbmNvcmUKKyAgICAuYWxpZ24gNAorICAgIC5lbnQgbWluY29yZQorCittaW5jb3JlOgorICAgIC5zZXQgbm9yZW9yZGVyCisgICAgLmNwbG9hZCAkdDkKKyAgICBsaSAkdjAsIF9fTlJfbWluY29yZQorICAgIHN5c2NhbGwKKyAgICBibmV6ICRhMywgMWYKKyAgICBtb3ZlICRhMCwgJHYwCisgICAgaiAkcmEKKyAgICBub3AKKzE6CisgICAgbGEgJHQ5LF9fc2V0X2Vycm5vCisgICAgaiAkdDkKKyAgICBub3AKKyAgICAuc2V0IHJlb3JkZXIKKyAgICAuZW5kIG1pbmNvcmUKZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL21rZGlyLlMgYi9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9ta2Rpci5TCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFiZjdkYjgKLS0tIC9kZXYvbnVsbAorKysgYi9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9ta2Rpci5TCkBAIC0wLDAgKzEsMjIgQEAKKy8qIGF1dG9nZW5lcmF0ZWQgYnkgZ2Vuc3lzY2FsbHMucHkgKi8KKyNpbmNsdWRlIDxzeXMvbGludXgtc3lzY2FsbHMuaD4KKyAgICAudGV4dAorICAgIC5nbG9ibCBta2RpcgorICAgIC5hbGlnbiA0CisgICAgLmVudCBta2RpcgorCitta2RpcjoKKyAgICAuc2V0IG5vcmVvcmRlcgorICAgIC5jcGxvYWQgJHQ5CisgICAgbGkgJHYwLCBfX05SX21rZGlyCisgICAgc3lzY2FsbAorICAgIGJuZXogJGEzLCAxZgorICAgIG1vdmUgJGEwLCAkdjAKKyAgICBqICRyYQorICAgIG5vcAorMToKKyAgICBsYSAkdDksX19zZXRfZXJybm8KKyAgICBqICR0OQorICAgIG5vcAorICAgIC5zZXQgcmVvcmRlcgorICAgIC5lbmQgbWtkaXIKZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL21rZGlyYXQuUyBiL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL21rZGlyYXQuUwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40Y2NiZTNiCi0tLSAvZGV2L251bGwKKysrIGIvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvbWtkaXJhdC5TCkBAIC0wLDAgKzEsMjIgQEAKKy8qIGF1dG9nZW5lcmF0ZWQgYnkgZ2Vuc3lzY2FsbHMucHkgKi8KKyNpbmNsdWRlIDxzeXMvbGludXgtc3lzY2FsbHMuaD4KKyAgICAudGV4dAorICAgIC5nbG9ibCBta2RpcmF0CisgICAgLmFsaWduIDQKKyAgICAuZW50IG1rZGlyYXQKKworbWtkaXJhdDoKKyAgICAuc2V0IG5vcmVvcmRlcgorICAgIC5jcGxvYWQgJHQ5CisgICAgbGkgJHYwLCBfX05SX21rZGlyYXQKKyAgICBzeXNjYWxsCisgICAgYm5leiAkYTMsIDFmCisgICAgbW92ZSAkYTAsICR2MAorICAgIGogJHJhCisgICAgbm9wCisxOgorICAgIGxhICR0OSxfX3NldF9lcnJubworICAgIGogJHQ5CisgICAgbm9wCisgICAgLnNldCByZW9yZGVyCisgICAgLmVuZCBta2RpcmF0CmRpZmYgLS1naXQgYS9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9ta25vZC5TIGIvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvbWtub2QuUwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41ZWJiMGFkCi0tLSAvZGV2L251bGwKKysrIGIvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvbWtub2QuUwpAQCAtMCwwICsxLDIyIEBACisvKiBhdXRvZ2VuZXJhdGVkIGJ5IGdlbnN5c2NhbGxzLnB5ICovCisjaW5jbHVkZSA8c3lzL2xpbnV4LXN5c2NhbGxzLmg+CisgICAgLnRleHQKKyAgICAuZ2xvYmwgbWtub2QKKyAgICAuYWxpZ24gNAorICAgIC5lbnQgbWtub2QKKworbWtub2Q6CisgICAgLnNldCBub3Jlb3JkZXIKKyAgICAuY3Bsb2FkICR0OQorICAgIGxpICR2MCwgX19OUl9ta25vZAorICAgIHN5c2NhbGwKKyAgICBibmV6ICRhMywgMWYKKyAgICBtb3ZlICRhMCwgJHYwCisgICAgaiAkcmEKKyAgICBub3AKKzE6CisgICAgbGEgJHQ5LF9fc2V0X2Vycm5vCisgICAgaiAkdDkKKyAgICBub3AKKyAgICAuc2V0IHJlb3JkZXIKKyAgICAuZW5kIG1rbm9kCmRpZmYgLS1naXQgYS9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9tbG9jay5TIGIvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvbWxvY2suUwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45OWFjYTZlCi0tLSAvZGV2L251bGwKKysrIGIvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvbWxvY2suUwpAQCAtMCwwICsxLDIyIEBACisvKiBhdXRvZ2VuZXJhdGVkIGJ5IGdlbnN5c2NhbGxzLnB5ICovCisjaW5jbHVkZSA8c3lzL2xpbnV4LXN5c2NhbGxzLmg+CisgICAgLnRleHQKKyAgICAuZ2xvYmwgbWxvY2sKKyAgICAuYWxpZ24gNAorICAgIC5lbnQgbWxvY2sKKworbWxvY2s6CisgICAgLnNldCBub3Jlb3JkZXIKKyAgICAuY3Bsb2FkICR0OQorICAgIGxpICR2MCwgX19OUl9tbG9jaworICAgIHN5c2NhbGwKKyAgICBibmV6ICRhMywgMWYKKyAgICBtb3ZlICRhMCwgJHYwCisgICAgaiAkcmEKKyAgICBub3AKKzE6CisgICAgbGEgJHQ5LF9fc2V0X2Vycm5vCisgICAgaiAkdDkKKyAgICBub3AKKyAgICAuc2V0IHJlb3JkZXIKKyAgICAuZW5kIG1sb2NrCmRpZmYgLS1naXQgYS9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9tb3VudC5TIGIvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvbW91bnQuUwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xYjMzODVhCi0tLSAvZGV2L251bGwKKysrIGIvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvbW91bnQuUwpAQCAtMCwwICsxLDIyIEBACisvKiBhdXRvZ2VuZXJhdGVkIGJ5IGdlbnN5c2NhbGxzLnB5ICovCisjaW5jbHVkZSA8c3lzL2xpbnV4LXN5c2NhbGxzLmg+CisgICAgLnRleHQKKyAgICAuZ2xvYmwgbW91bnQKKyAgICAuYWxpZ24gNAorICAgIC5lbnQgbW91bnQKKworbW91bnQ6CisgICAgLnNldCBub3Jlb3JkZXIKKyAgICAuY3Bsb2FkICR0OQorICAgIGxpICR2MCwgX19OUl9tb3VudAorICAgIHN5c2NhbGwKKyAgICBibmV6ICRhMywgMWYKKyAgICBtb3ZlICRhMCwgJHYwCisgICAgaiAkcmEKKyAgICBub3AKKzE6CisgICAgbGEgJHQ5LF9fc2V0X2Vycm5vCisgICAgaiAkdDkKKyAgICBub3AKKyAgICAuc2V0IHJlb3JkZXIKKyAgICAuZW5kIG1vdW50CmRpZmYgLS1naXQgYS9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9tcHJvdGVjdC5TIGIvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvbXByb3RlY3QuUwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40ZGMzYmVhCi0tLSAvZGV2L251bGwKKysrIGIvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvbXByb3RlY3QuUwpAQCAtMCwwICsxLDIyIEBACisvKiBhdXRvZ2VuZXJhdGVkIGJ5IGdlbnN5c2NhbGxzLnB5ICovCisjaW5jbHVkZSA8c3lzL2xpbnV4LXN5c2NhbGxzLmg+CisgICAgLnRleHQKKyAgICAuZ2xvYmwgbXByb3RlY3QKKyAgICAuYWxpZ24gNAorICAgIC5lbnQgbXByb3RlY3QKKworbXByb3RlY3Q6CisgICAgLnNldCBub3Jlb3JkZXIKKyAgICAuY3Bsb2FkICR0OQorICAgIGxpICR2MCwgX19OUl9tcHJvdGVjdAorICAgIHN5c2NhbGwKKyAgICBibmV6ICRhMywgMWYKKyAgICBtb3ZlICRhMCwgJHYwCisgICAgaiAkcmEKKyAgICBub3AKKzE6CisgICAgbGEgJHQ5LF9fc2V0X2Vycm5vCisgICAgaiAkdDkKKyAgICBub3AKKyAgICAuc2V0IHJlb3JkZXIKKyAgICAuZW5kIG1wcm90ZWN0CmRpZmYgLS1naXQgYS9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9tcmVtYXAuUyBiL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL21yZW1hcC5TCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjcyMWNjZDkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9tcmVtYXAuUwpAQCAtMCwwICsxLDIyIEBACisvKiBhdXRvZ2VuZXJhdGVkIGJ5IGdlbnN5c2NhbGxzLnB5ICovCisjaW5jbHVkZSA8c3lzL2xpbnV4LXN5c2NhbGxzLmg+CisgICAgLnRleHQKKyAgICAuZ2xvYmwgbXJlbWFwCisgICAgLmFsaWduIDQKKyAgICAuZW50IG1yZW1hcAorCittcmVtYXA6CisgICAgLnNldCBub3Jlb3JkZXIKKyAgICAuY3Bsb2FkICR0OQorICAgIGxpICR2MCwgX19OUl9tcmVtYXAKKyAgICBzeXNjYWxsCisgICAgYm5leiAkYTMsIDFmCisgICAgbW92ZSAkYTAsICR2MAorICAgIGogJHJhCisgICAgbm9wCisxOgorICAgIGxhICR0OSxfX3NldF9lcnJubworICAgIGogJHQ5CisgICAgbm9wCisgICAgLnNldCByZW9yZGVyCisgICAgLmVuZCBtcmVtYXAKZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL21zeW5jLlMgYi9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9tc3luYy5TCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM3ZTFjOWEKLS0tIC9kZXYvbnVsbAorKysgYi9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9tc3luYy5TCkBAIC0wLDAgKzEsMjIgQEAKKy8qIGF1dG9nZW5lcmF0ZWQgYnkgZ2Vuc3lzY2FsbHMucHkgKi8KKyNpbmNsdWRlIDxzeXMvbGludXgtc3lzY2FsbHMuaD4KKyAgICAudGV4dAorICAgIC5nbG9ibCBtc3luYworICAgIC5hbGlnbiA0CisgICAgLmVudCBtc3luYworCittc3luYzoKKyAgICAuc2V0IG5vcmVvcmRlcgorICAgIC5jcGxvYWQgJHQ5CisgICAgbGkgJHYwLCBfX05SX21zeW5jCisgICAgc3lzY2FsbAorICAgIGJuZXogJGEzLCAxZgorICAgIG1vdmUgJGEwLCAkdjAKKyAgICBqICRyYQorICAgIG5vcAorMToKKyAgICBsYSAkdDksX19zZXRfZXJybm8KKyAgICBqICR0OQorICAgIG5vcAorICAgIC5zZXQgcmVvcmRlcgorICAgIC5lbmQgbXN5bmMKZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL211bmxvY2suUyBiL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL211bmxvY2suUwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iZWZjMjgyCi0tLSAvZGV2L251bGwKKysrIGIvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvbXVubG9jay5TCkBAIC0wLDAgKzEsMjIgQEAKKy8qIGF1dG9nZW5lcmF0ZWQgYnkgZ2Vuc3lzY2FsbHMucHkgKi8KKyNpbmNsdWRlIDxzeXMvbGludXgtc3lzY2FsbHMuaD4KKyAgICAudGV4dAorICAgIC5nbG9ibCBtdW5sb2NrCisgICAgLmFsaWduIDQKKyAgICAuZW50IG11bmxvY2sKKworbXVubG9jazoKKyAgICAuc2V0IG5vcmVvcmRlcgorICAgIC5jcGxvYWQgJHQ5CisgICAgbGkgJHYwLCBfX05SX211bmxvY2sKKyAgICBzeXNjYWxsCisgICAgYm5leiAkYTMsIDFmCisgICAgbW92ZSAkYTAsICR2MAorICAgIGogJHJhCisgICAgbm9wCisxOgorICAgIGxhICR0OSxfX3NldF9lcnJubworICAgIGogJHQ5CisgICAgbm9wCisgICAgLnNldCByZW9yZGVyCisgICAgLmVuZCBtdW5sb2NrCmRpZmYgLS1naXQgYS9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9tdW5tYXAuUyBiL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL211bm1hcC5TCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjViNzE3YTkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9tdW5tYXAuUwpAQCAtMCwwICsxLDIyIEBACisvKiBhdXRvZ2VuZXJhdGVkIGJ5IGdlbnN5c2NhbGxzLnB5ICovCisjaW5jbHVkZSA8c3lzL2xpbnV4LXN5c2NhbGxzLmg+CisgICAgLnRleHQKKyAgICAuZ2xvYmwgbXVubWFwCisgICAgLmFsaWduIDQKKyAgICAuZW50IG11bm1hcAorCittdW5tYXA6CisgICAgLnNldCBub3Jlb3JkZXIKKyAgICAuY3Bsb2FkICR0OQorICAgIGxpICR2MCwgX19OUl9tdW5tYXAKKyAgICBzeXNjYWxsCisgICAgYm5leiAkYTMsIDFmCisgICAgbW92ZSAkYTAsICR2MAorICAgIGogJHJhCisgICAgbm9wCisxOgorICAgIGxhICR0OSxfX3NldF9lcnJubworICAgIGogJHQ5CisgICAgbm9wCisgICAgLnNldCByZW9yZGVyCisgICAgLmVuZCBtdW5tYXAKZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL25hbm9zbGVlcC5TIGIvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvbmFub3NsZWVwLlMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNThhY2UxMgotLS0gL2Rldi9udWxsCisrKyBiL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL25hbm9zbGVlcC5TCkBAIC0wLDAgKzEsMjIgQEAKKy8qIGF1dG9nZW5lcmF0ZWQgYnkgZ2Vuc3lzY2FsbHMucHkgKi8KKyNpbmNsdWRlIDxzeXMvbGludXgtc3lzY2FsbHMuaD4KKyAgICAudGV4dAorICAgIC5nbG9ibCBuYW5vc2xlZXAKKyAgICAuYWxpZ24gNAorICAgIC5lbnQgbmFub3NsZWVwCisKK25hbm9zbGVlcDoKKyAgICAuc2V0IG5vcmVvcmRlcgorICAgIC5jcGxvYWQgJHQ5CisgICAgbGkgJHYwLCBfX05SX25hbm9zbGVlcAorICAgIHN5c2NhbGwKKyAgICBibmV6ICRhMywgMWYKKyAgICBtb3ZlICRhMCwgJHYwCisgICAgaiAkcmEKKyAgICBub3AKKzE6CisgICAgbGEgJHQ5LF9fc2V0X2Vycm5vCisgICAgaiAkdDkKKyAgICBub3AKKyAgICAuc2V0IHJlb3JkZXIKKyAgICAuZW5kIG5hbm9zbGVlcApkaWZmIC0tZ2l0IGEvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvcGF1c2UuUyBiL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL3BhdXNlLlMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzAzNDZiNAotLS0gL2Rldi9udWxsCisrKyBiL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL3BhdXNlLlMKQEAgLTAsMCArMSwyMiBAQAorLyogYXV0b2dlbmVyYXRlZCBieSBnZW5zeXNjYWxscy5weSAqLworI2luY2x1ZGUgPHN5cy9saW51eC1zeXNjYWxscy5oPgorICAgIC50ZXh0CisgICAgLmdsb2JsIHBhdXNlCisgICAgLmFsaWduIDQKKyAgICAuZW50IHBhdXNlCisKK3BhdXNlOgorICAgIC5zZXQgbm9yZW9yZGVyCisgICAgLmNwbG9hZCAkdDkKKyAgICBsaSAkdjAsIF9fTlJfcGF1c2UKKyAgICBzeXNjYWxsCisgICAgYm5leiAkYTMsIDFmCisgICAgbW92ZSAkYTAsICR2MAorICAgIGogJHJhCisgICAgbm9wCisxOgorICAgIGxhICR0OSxfX3NldF9lcnJubworICAgIGogJHQ5CisgICAgbm9wCisgICAgLnNldCByZW9yZGVyCisgICAgLmVuZCBwYXVzZQpkaWZmIC0tZ2l0IGEvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvcGVyZl9ldmVudF9vcGVuLlMgYi9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9wZXJmX2V2ZW50X29wZW4uUwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yMmM5YzNjCi0tLSAvZGV2L251bGwKKysrIGIvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvcGVyZl9ldmVudF9vcGVuLlMKQEAgLTAsMCArMSwyMiBAQAorLyogYXV0b2dlbmVyYXRlZCBieSBnZW5zeXNjYWxscy5weSAqLworI2luY2x1ZGUgPHN5cy9saW51eC1zeXNjYWxscy5oPgorICAgIC50ZXh0CisgICAgLmdsb2JsIHBlcmZfZXZlbnRfb3BlbgorICAgIC5hbGlnbiA0CisgICAgLmVudCBwZXJmX2V2ZW50X29wZW4KKworcGVyZl9ldmVudF9vcGVuOgorICAgIC5zZXQgbm9yZW9yZGVyCisgICAgLmNwbG9hZCAkdDkKKyAgICBsaSAkdjAsIF9fTlJfcGVyZl9ldmVudF9vcGVuCisgICAgc3lzY2FsbAorICAgIGJuZXogJGEzLCAxZgorICAgIG1vdmUgJGEwLCAkdjAKKyAgICBqICRyYQorICAgIG5vcAorMToKKyAgICBsYSAkdDksX19zZXRfZXJybm8KKyAgICBqICR0OQorICAgIG5vcAorICAgIC5zZXQgcmVvcmRlcgorICAgIC5lbmQgcGVyZl9ldmVudF9vcGVuCmRpZmYgLS1naXQgYS9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9wZXJzb25hbGl0eS5TIGIvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvcGVyc29uYWxpdHkuUwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wMDIwNDY5Ci0tLSAvZGV2L251bGwKKysrIGIvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvcGVyc29uYWxpdHkuUwpAQCAtMCwwICsxLDIyIEBACisvKiBhdXRvZ2VuZXJhdGVkIGJ5IGdlbnN5c2NhbGxzLnB5ICovCisjaW5jbHVkZSA8c3lzL2xpbnV4LXN5c2NhbGxzLmg+CisgICAgLnRleHQKKyAgICAuZ2xvYmwgcGVyc29uYWxpdHkKKyAgICAuYWxpZ24gNAorICAgIC5lbnQgcGVyc29uYWxpdHkKKworcGVyc29uYWxpdHk6CisgICAgLnNldCBub3Jlb3JkZXIKKyAgICAuY3Bsb2FkICR0OQorICAgIGxpICR2MCwgX19OUl9wZXJzb25hbGl0eQorICAgIHN5c2NhbGwKKyAgICBibmV6ICRhMywgMWYKKyAgICBtb3ZlICRhMCwgJHYwCisgICAgaiAkcmEKKyAgICBub3AKKzE6CisgICAgbGEgJHQ5LF9fc2V0X2Vycm5vCisgICAgaiAkdDkKKyAgICBub3AKKyAgICAuc2V0IHJlb3JkZXIKKyAgICAuZW5kIHBlcnNvbmFsaXR5CmRpZmYgLS1naXQgYS9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9waXBlMi5TIGIvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvcGlwZTIuUwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45ZGZkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvcGlwZTIuUwpAQCAtMCwwICsxLDIyIEBACisvKiBhdXRvZ2VuZXJhdGVkIGJ5IGdlbnN5c2NhbGxzLnB5ICovCisjaW5jbHVkZSA8c3lzL2xpbnV4LXN5c2NhbGxzLmg+CisgICAgLnRleHQKKyAgICAuZ2xvYmwgcGlwZTIKKyAgICAuYWxpZ24gNAorICAgIC5lbnQgcGlwZTIKKworcGlwZTI6CisgICAgLnNldCBub3Jlb3JkZXIKKyAgICAuY3Bsb2FkICR0OQorICAgIGxpICR2MCwgX19OUl9waXBlMgorICAgIHN5c2NhbGwKKyAgICBibmV6ICRhMywgMWYKKyAgICBtb3ZlICRhMCwgJHYwCisgICAgaiAkcmEKKyAgICBub3AKKzE6CisgICAgbGEgJHQ5LF9fc2V0X2Vycm5vCisgICAgaiAkdDkKKyAgICBub3AKKyAgICAuc2V0IHJlb3JkZXIKKyAgICAuZW5kIHBpcGUyCmRpZmYgLS1naXQgYS9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9wb2xsLlMgYi9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9wb2xsLlMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzFmZWM5NwotLS0gL2Rldi9udWxsCisrKyBiL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL3BvbGwuUwpAQCAtMCwwICsxLDIyIEBACisvKiBhdXRvZ2VuZXJhdGVkIGJ5IGdlbnN5c2NhbGxzLnB5ICovCisjaW5jbHVkZSA8c3lzL2xpbnV4LXN5c2NhbGxzLmg+CisgICAgLnRleHQKKyAgICAuZ2xvYmwgcG9sbAorICAgIC5hbGlnbiA0CisgICAgLmVudCBwb2xsCisKK3BvbGw6CisgICAgLnNldCBub3Jlb3JkZXIKKyAgICAuY3Bsb2FkICR0OQorICAgIGxpICR2MCwgX19OUl9wb2xsCisgICAgc3lzY2FsbAorICAgIGJuZXogJGEzLCAxZgorICAgIG1vdmUgJGEwLCAkdjAKKyAgICBqICRyYQorICAgIG5vcAorMToKKyAgICBsYSAkdDksX19zZXRfZXJybm8KKyAgICBqICR0OQorICAgIG5vcAorICAgIC5zZXQgcmVvcmRlcgorICAgIC5lbmQgcG9sbApkaWZmIC0tZ2l0IGEvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvcHJjdGwuUyBiL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL3ByY3RsLlMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWFmMTM0NAotLS0gL2Rldi9udWxsCisrKyBiL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL3ByY3RsLlMKQEAgLTAsMCArMSwyMiBAQAorLyogYXV0b2dlbmVyYXRlZCBieSBnZW5zeXNjYWxscy5weSAqLworI2luY2x1ZGUgPHN5cy9saW51eC1zeXNjYWxscy5oPgorICAgIC50ZXh0CisgICAgLmdsb2JsIHByY3RsCisgICAgLmFsaWduIDQKKyAgICAuZW50IHByY3RsCisKK3ByY3RsOgorICAgIC5zZXQgbm9yZW9yZGVyCisgICAgLmNwbG9hZCAkdDkKKyAgICBsaSAkdjAsIF9fTlJfcHJjdGwKKyAgICBzeXNjYWxsCisgICAgYm5leiAkYTMsIDFmCisgICAgbW92ZSAkYTAsICR2MAorICAgIGogJHJhCisgICAgbm9wCisxOgorICAgIGxhICR0OSxfX3NldF9lcnJubworICAgIGogJHQ5CisgICAgbm9wCisgICAgLnNldCByZW9yZGVyCisgICAgLmVuZCBwcmN0bApkaWZmIC0tZ2l0IGEvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvcHJlYWQ2NC5TIGIvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvcHJlYWQ2NC5TCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg2ZTgxN2MKLS0tIC9kZXYvbnVsbAorKysgYi9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9wcmVhZDY0LlMKQEAgLTAsMCArMSwyMiBAQAorLyogYXV0b2dlbmVyYXRlZCBieSBnZW5zeXNjYWxscy5weSAqLworI2luY2x1ZGUgPHN5cy9saW51eC1zeXNjYWxscy5oPgorICAgIC50ZXh0CisgICAgLmdsb2JsIHByZWFkNjQKKyAgICAuYWxpZ24gNAorICAgIC5lbnQgcHJlYWQ2NAorCitwcmVhZDY0OgorICAgIC5zZXQgbm9yZW9yZGVyCisgICAgLmNwbG9hZCAkdDkKKyAgICBsaSAkdjAsIF9fTlJfcHJlYWQ2NAorICAgIHN5c2NhbGwKKyAgICBibmV6ICRhMywgMWYKKyAgICBtb3ZlICRhMCwgJHYwCisgICAgaiAkcmEKKyAgICBub3AKKzE6CisgICAgbGEgJHQ5LF9fc2V0X2Vycm5vCisgICAgaiAkdDkKKyAgICBub3AKKyAgICAuc2V0IHJlb3JkZXIKKyAgICAuZW5kIHByZWFkNjQKZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL3B3cml0ZTY0LlMgYi9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9wd3JpdGU2NC5TCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE4ZGNkOTgKLS0tIC9kZXYvbnVsbAorKysgYi9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9wd3JpdGU2NC5TCkBAIC0wLDAgKzEsMjIgQEAKKy8qIGF1dG9nZW5lcmF0ZWQgYnkgZ2Vuc3lzY2FsbHMucHkgKi8KKyNpbmNsdWRlIDxzeXMvbGludXgtc3lzY2FsbHMuaD4KKyAgICAudGV4dAorICAgIC5nbG9ibCBwd3JpdGU2NAorICAgIC5hbGlnbiA0CisgICAgLmVudCBwd3JpdGU2NAorCitwd3JpdGU2NDoKKyAgICAuc2V0IG5vcmVvcmRlcgorICAgIC5jcGxvYWQgJHQ5CisgICAgbGkgJHYwLCBfX05SX3B3cml0ZTY0CisgICAgc3lzY2FsbAorICAgIGJuZXogJGEzLCAxZgorICAgIG1vdmUgJGEwLCAkdjAKKyAgICBqICRyYQorICAgIG5vcAorMToKKyAgICBsYSAkdDksX19zZXRfZXJybm8KKyAgICBqICR0OQorICAgIG5vcAorICAgIC5zZXQgcmVvcmRlcgorICAgIC5lbmQgcHdyaXRlNjQKZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL3JlYWQuUyBiL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL3JlYWQuUwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43NTgxNmNkCi0tLSAvZGV2L251bGwKKysrIGIvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvcmVhZC5TCkBAIC0wLDAgKzEsMjIgQEAKKy8qIGF1dG9nZW5lcmF0ZWQgYnkgZ2Vuc3lzY2FsbHMucHkgKi8KKyNpbmNsdWRlIDxzeXMvbGludXgtc3lzY2FsbHMuaD4KKyAgICAudGV4dAorICAgIC5nbG9ibCByZWFkCisgICAgLmFsaWduIDQKKyAgICAuZW50IHJlYWQKKworcmVhZDoKKyAgICAuc2V0IG5vcmVvcmRlcgorICAgIC5jcGxvYWQgJHQ5CisgICAgbGkgJHYwLCBfX05SX3JlYWQKKyAgICBzeXNjYWxsCisgICAgYm5leiAkYTMsIDFmCisgICAgbW92ZSAkYTAsICR2MAorICAgIGogJHJhCisgICAgbm9wCisxOgorICAgIGxhICR0OSxfX3NldF9lcnJubworICAgIGogJHQ5CisgICAgbm9wCisgICAgLnNldCByZW9yZGVyCisgICAgLmVuZCByZWFkCmRpZmYgLS1naXQgYS9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9yZWFkYWhlYWQuUyBiL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL3JlYWRhaGVhZC5TCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVlYzYwMGQKLS0tIC9kZXYvbnVsbAorKysgYi9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9yZWFkYWhlYWQuUwpAQCAtMCwwICsxLDIyIEBACisvKiBhdXRvZ2VuZXJhdGVkIGJ5IGdlbnN5c2NhbGxzLnB5ICovCisjaW5jbHVkZSA8c3lzL2xpbnV4LXN5c2NhbGxzLmg+CisgICAgLnRleHQKKyAgICAuZ2xvYmwgcmVhZGFoZWFkCisgICAgLmFsaWduIDQKKyAgICAuZW50IHJlYWRhaGVhZAorCityZWFkYWhlYWQ6CisgICAgLnNldCBub3Jlb3JkZXIKKyAgICAuY3Bsb2FkICR0OQorICAgIGxpICR2MCwgX19OUl9yZWFkYWhlYWQKKyAgICBzeXNjYWxsCisgICAgYm5leiAkYTMsIDFmCisgICAgbW92ZSAkYTAsICR2MAorICAgIGogJHJhCisgICAgbm9wCisxOgorICAgIGxhICR0OSxfX3NldF9lcnJubworICAgIGogJHQ5CisgICAgbm9wCisgICAgLnNldCByZW9yZGVyCisgICAgLmVuZCByZWFkYWhlYWQKZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL3JlYWRsaW5rLlMgYi9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9yZWFkbGluay5TCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNjZGQ1OTYKLS0tIC9kZXYvbnVsbAorKysgYi9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9yZWFkbGluay5TCkBAIC0wLDAgKzEsMjIgQEAKKy8qIGF1dG9nZW5lcmF0ZWQgYnkgZ2Vuc3lzY2FsbHMucHkgKi8KKyNpbmNsdWRlIDxzeXMvbGludXgtc3lzY2FsbHMuaD4KKyAgICAudGV4dAorICAgIC5nbG9ibCByZWFkbGluaworICAgIC5hbGlnbiA0CisgICAgLmVudCByZWFkbGluaworCityZWFkbGluazoKKyAgICAuc2V0IG5vcmVvcmRlcgorICAgIC5jcGxvYWQgJHQ5CisgICAgbGkgJHYwLCBfX05SX3JlYWRsaW5rCisgICAgc3lzY2FsbAorICAgIGJuZXogJGEzLCAxZgorICAgIG1vdmUgJGEwLCAkdjAKKyAgICBqICRyYQorICAgIG5vcAorMToKKyAgICBsYSAkdDksX19zZXRfZXJybm8KKyAgICBqICR0OQorICAgIG5vcAorICAgIC5zZXQgcmVvcmRlcgorICAgIC5lbmQgcmVhZGxpbmsKZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL3JlYWR2LlMgYi9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9yZWFkdi5TCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA1NjFjMTgKLS0tIC9kZXYvbnVsbAorKysgYi9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9yZWFkdi5TCkBAIC0wLDAgKzEsMjIgQEAKKy8qIGF1dG9nZW5lcmF0ZWQgYnkgZ2Vuc3lzY2FsbHMucHkgKi8KKyNpbmNsdWRlIDxzeXMvbGludXgtc3lzY2FsbHMuaD4KKyAgICAudGV4dAorICAgIC5nbG9ibCByZWFkdgorICAgIC5hbGlnbiA0CisgICAgLmVudCByZWFkdgorCityZWFkdjoKKyAgICAuc2V0IG5vcmVvcmRlcgorICAgIC5jcGxvYWQgJHQ5CisgICAgbGkgJHYwLCBfX05SX3JlYWR2CisgICAgc3lzY2FsbAorICAgIGJuZXogJGEzLCAxZgorICAgIG1vdmUgJGEwLCAkdjAKKyAgICBqICRyYQorICAgIG5vcAorMToKKyAgICBsYSAkdDksX19zZXRfZXJybm8KKyAgICBqICR0OQorICAgIG5vcAorICAgIC5zZXQgcmVvcmRlcgorICAgIC5lbmQgcmVhZHYKZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL3JlY3Zmcm9tLlMgYi9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9yZWN2ZnJvbS5TCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNmMzQ0MWQKLS0tIC9kZXYvbnVsbAorKysgYi9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9yZWN2ZnJvbS5TCkBAIC0wLDAgKzEsMjIgQEAKKy8qIGF1dG9nZW5lcmF0ZWQgYnkgZ2Vuc3lzY2FsbHMucHkgKi8KKyNpbmNsdWRlIDxzeXMvbGludXgtc3lzY2FsbHMuaD4KKyAgICAudGV4dAorICAgIC5nbG9ibCByZWN2ZnJvbQorICAgIC5hbGlnbiA0CisgICAgLmVudCByZWN2ZnJvbQorCityZWN2ZnJvbToKKyAgICAuc2V0IG5vcmVvcmRlcgorICAgIC5jcGxvYWQgJHQ5CisgICAgbGkgJHYwLCBfX05SX3JlY3Zmcm9tCisgICAgc3lzY2FsbAorICAgIGJuZXogJGEzLCAxZgorICAgIG1vdmUgJGEwLCAkdjAKKyAgICBqICRyYQorICAgIG5vcAorMToKKyAgICBsYSAkdDksX19zZXRfZXJybm8KKyAgICBqICR0OQorICAgIG5vcAorICAgIC5zZXQgcmVvcmRlcgorICAgIC5lbmQgcmVjdmZyb20KZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL3JlY3Ztc2cuUyBiL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL3JlY3Ztc2cuUwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41ZjIyYzQ5Ci0tLSAvZGV2L251bGwKKysrIGIvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvcmVjdm1zZy5TCkBAIC0wLDAgKzEsMjIgQEAKKy8qIGF1dG9nZW5lcmF0ZWQgYnkgZ2Vuc3lzY2FsbHMucHkgKi8KKyNpbmNsdWRlIDxzeXMvbGludXgtc3lzY2FsbHMuaD4KKyAgICAudGV4dAorICAgIC5nbG9ibCByZWN2bXNnCisgICAgLmFsaWduIDQKKyAgICAuZW50IHJlY3Ztc2cKKworcmVjdm1zZzoKKyAgICAuc2V0IG5vcmVvcmRlcgorICAgIC5jcGxvYWQgJHQ5CisgICAgbGkgJHYwLCBfX05SX3JlY3Ztc2cKKyAgICBzeXNjYWxsCisgICAgYm5leiAkYTMsIDFmCisgICAgbW92ZSAkYTAsICR2MAorICAgIGogJHJhCisgICAgbm9wCisxOgorICAgIGxhICR0OSxfX3NldF9lcnJubworICAgIGogJHQ5CisgICAgbm9wCisgICAgLnNldCByZW9yZGVyCisgICAgLmVuZCByZWN2bXNnCmRpZmYgLS1naXQgYS9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9yZW1vdmV4YXR0ci5TIGIvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvcmVtb3ZleGF0dHIuUwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43ZDEyYjk2Ci0tLSAvZGV2L251bGwKKysrIGIvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvcmVtb3ZleGF0dHIuUwpAQCAtMCwwICsxLDIyIEBACisvKiBhdXRvZ2VuZXJhdGVkIGJ5IGdlbnN5c2NhbGxzLnB5ICovCisjaW5jbHVkZSA8c3lzL2xpbnV4LXN5c2NhbGxzLmg+CisgICAgLnRleHQKKyAgICAuZ2xvYmwgcmVtb3ZleGF0dHIKKyAgICAuYWxpZ24gNAorICAgIC5lbnQgcmVtb3ZleGF0dHIKKworcmVtb3ZleGF0dHI6CisgICAgLnNldCBub3Jlb3JkZXIKKyAgICAuY3Bsb2FkICR0OQorICAgIGxpICR2MCwgX19OUl9yZW1vdmV4YXR0cgorICAgIHN5c2NhbGwKKyAgICBibmV6ICRhMywgMWYKKyAgICBtb3ZlICRhMCwgJHYwCisgICAgaiAkcmEKKyAgICBub3AKKzE6CisgICAgbGEgJHQ5LF9fc2V0X2Vycm5vCisgICAgaiAkdDkKKyAgICBub3AKKyAgICAuc2V0IHJlb3JkZXIKKyAgICAuZW5kIHJlbW92ZXhhdHRyCmRpZmYgLS1naXQgYS9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9yZW5hbWUuUyBiL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL3JlbmFtZS5TCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk1MGQ1NzkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9yZW5hbWUuUwpAQCAtMCwwICsxLDIyIEBACisvKiBhdXRvZ2VuZXJhdGVkIGJ5IGdlbnN5c2NhbGxzLnB5ICovCisjaW5jbHVkZSA8c3lzL2xpbnV4LXN5c2NhbGxzLmg+CisgICAgLnRleHQKKyAgICAuZ2xvYmwgcmVuYW1lCisgICAgLmFsaWduIDQKKyAgICAuZW50IHJlbmFtZQorCityZW5hbWU6CisgICAgLnNldCBub3Jlb3JkZXIKKyAgICAuY3Bsb2FkICR0OQorICAgIGxpICR2MCwgX19OUl9yZW5hbWUKKyAgICBzeXNjYWxsCisgICAgYm5leiAkYTMsIDFmCisgICAgbW92ZSAkYTAsICR2MAorICAgIGogJHJhCisgICAgbm9wCisxOgorICAgIGxhICR0OSxfX3NldF9lcnJubworICAgIGogJHQ5CisgICAgbm9wCisgICAgLnNldCByZW9yZGVyCisgICAgLmVuZCByZW5hbWUKZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL3JlbmFtZWF0LlMgYi9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9yZW5hbWVhdC5TCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmEyZjNjNGYKLS0tIC9kZXYvbnVsbAorKysgYi9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9yZW5hbWVhdC5TCkBAIC0wLDAgKzEsMjIgQEAKKy8qIGF1dG9nZW5lcmF0ZWQgYnkgZ2Vuc3lzY2FsbHMucHkgKi8KKyNpbmNsdWRlIDxzeXMvbGludXgtc3lzY2FsbHMuaD4KKyAgICAudGV4dAorICAgIC5nbG9ibCByZW5hbWVhdAorICAgIC5hbGlnbiA0CisgICAgLmVudCByZW5hbWVhdAorCityZW5hbWVhdDoKKyAgICAuc2V0IG5vcmVvcmRlcgorICAgIC5jcGxvYWQgJHQ5CisgICAgbGkgJHYwLCBfX05SX3JlbmFtZWF0CisgICAgc3lzY2FsbAorICAgIGJuZXogJGEzLCAxZgorICAgIG1vdmUgJGEwLCAkdjAKKyAgICBqICRyYQorICAgIG5vcAorMToKKyAgICBsYSAkdDksX19zZXRfZXJybm8KKyAgICBqICR0OQorICAgIG5vcAorICAgIC5zZXQgcmVvcmRlcgorICAgIC5lbmQgcmVuYW1lYXQKZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL3JtZGlyLlMgYi9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9ybWRpci5TCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJmNzdkMGQKLS0tIC9kZXYvbnVsbAorKysgYi9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9ybWRpci5TCkBAIC0wLDAgKzEsMjIgQEAKKy8qIGF1dG9nZW5lcmF0ZWQgYnkgZ2Vuc3lzY2FsbHMucHkgKi8KKyNpbmNsdWRlIDxzeXMvbGludXgtc3lzY2FsbHMuaD4KKyAgICAudGV4dAorICAgIC5nbG9ibCBybWRpcgorICAgIC5hbGlnbiA0CisgICAgLmVudCBybWRpcgorCitybWRpcjoKKyAgICAuc2V0IG5vcmVvcmRlcgorICAgIC5jcGxvYWQgJHQ5CisgICAgbGkgJHYwLCBfX05SX3JtZGlyCisgICAgc3lzY2FsbAorICAgIGJuZXogJGEzLCAxZgorICAgIG1vdmUgJGEwLCAkdjAKKyAgICBqICRyYQorICAgIG5vcAorMToKKyAgICBsYSAkdDksX19zZXRfZXJybm8KKyAgICBqICR0OQorICAgIG5vcAorICAgIC5zZXQgcmVvcmRlcgorICAgIC5lbmQgcm1kaXIKZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL3NjaGVkX2dldF9wcmlvcml0eV9tYXguUyBiL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL3NjaGVkX2dldF9wcmlvcml0eV9tYXguUwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xNThiMGZlCi0tLSAvZGV2L251bGwKKysrIGIvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvc2NoZWRfZ2V0X3ByaW9yaXR5X21heC5TCkBAIC0wLDAgKzEsMjIgQEAKKy8qIGF1dG9nZW5lcmF0ZWQgYnkgZ2Vuc3lzY2FsbHMucHkgKi8KKyNpbmNsdWRlIDxzeXMvbGludXgtc3lzY2FsbHMuaD4KKyAgICAudGV4dAorICAgIC5nbG9ibCBzY2hlZF9nZXRfcHJpb3JpdHlfbWF4CisgICAgLmFsaWduIDQKKyAgICAuZW50IHNjaGVkX2dldF9wcmlvcml0eV9tYXgKKworc2NoZWRfZ2V0X3ByaW9yaXR5X21heDoKKyAgICAuc2V0IG5vcmVvcmRlcgorICAgIC5jcGxvYWQgJHQ5CisgICAgbGkgJHYwLCBfX05SX3NjaGVkX2dldF9wcmlvcml0eV9tYXgKKyAgICBzeXNjYWxsCisgICAgYm5leiAkYTMsIDFmCisgICAgbW92ZSAkYTAsICR2MAorICAgIGogJHJhCisgICAgbm9wCisxOgorICAgIGxhICR0OSxfX3NldF9lcnJubworICAgIGogJHQ5CisgICAgbm9wCisgICAgLnNldCByZW9yZGVyCisgICAgLmVuZCBzY2hlZF9nZXRfcHJpb3JpdHlfbWF4CmRpZmYgLS1naXQgYS9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9zY2hlZF9nZXRfcHJpb3JpdHlfbWluLlMgYi9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9zY2hlZF9nZXRfcHJpb3JpdHlfbWluLlMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGMwN2Q3MgotLS0gL2Rldi9udWxsCisrKyBiL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL3NjaGVkX2dldF9wcmlvcml0eV9taW4uUwpAQCAtMCwwICsxLDIyIEBACisvKiBhdXRvZ2VuZXJhdGVkIGJ5IGdlbnN5c2NhbGxzLnB5ICovCisjaW5jbHVkZSA8c3lzL2xpbnV4LXN5c2NhbGxzLmg+CisgICAgLnRleHQKKyAgICAuZ2xvYmwgc2NoZWRfZ2V0X3ByaW9yaXR5X21pbgorICAgIC5hbGlnbiA0CisgICAgLmVudCBzY2hlZF9nZXRfcHJpb3JpdHlfbWluCisKK3NjaGVkX2dldF9wcmlvcml0eV9taW46CisgICAgLnNldCBub3Jlb3JkZXIKKyAgICAuY3Bsb2FkICR0OQorICAgIGxpICR2MCwgX19OUl9zY2hlZF9nZXRfcHJpb3JpdHlfbWluCisgICAgc3lzY2FsbAorICAgIGJuZXogJGEzLCAxZgorICAgIG1vdmUgJGEwLCAkdjAKKyAgICBqICRyYQorICAgIG5vcAorMToKKyAgICBsYSAkdDksX19zZXRfZXJybm8KKyAgICBqICR0OQorICAgIG5vcAorICAgIC5zZXQgcmVvcmRlcgorICAgIC5lbmQgc2NoZWRfZ2V0X3ByaW9yaXR5X21pbgpkaWZmIC0tZ2l0IGEvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvc2NoZWRfZ2V0cGFyYW0uUyBiL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL3NjaGVkX2dldHBhcmFtLlMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmFiYTdjZgotLS0gL2Rldi9udWxsCisrKyBiL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL3NjaGVkX2dldHBhcmFtLlMKQEAgLTAsMCArMSwyMiBAQAorLyogYXV0b2dlbmVyYXRlZCBieSBnZW5zeXNjYWxscy5weSAqLworI2luY2x1ZGUgPHN5cy9saW51eC1zeXNjYWxscy5oPgorICAgIC50ZXh0CisgICAgLmdsb2JsIHNjaGVkX2dldHBhcmFtCisgICAgLmFsaWduIDQKKyAgICAuZW50IHNjaGVkX2dldHBhcmFtCisKK3NjaGVkX2dldHBhcmFtOgorICAgIC5zZXQgbm9yZW9yZGVyCisgICAgLmNwbG9hZCAkdDkKKyAgICBsaSAkdjAsIF9fTlJfc2NoZWRfZ2V0cGFyYW0KKyAgICBzeXNjYWxsCisgICAgYm5leiAkYTMsIDFmCisgICAgbW92ZSAkYTAsICR2MAorICAgIGogJHJhCisgICAgbm9wCisxOgorICAgIGxhICR0OSxfX3NldF9lcnJubworICAgIGogJHQ5CisgICAgbm9wCisgICAgLnNldCByZW9yZGVyCisgICAgLmVuZCBzY2hlZF9nZXRwYXJhbQpkaWZmIC0tZ2l0IGEvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvc2NoZWRfZ2V0c2NoZWR1bGVyLlMgYi9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9zY2hlZF9nZXRzY2hlZHVsZXIuUwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zM2Q3ZjQ5Ci0tLSAvZGV2L251bGwKKysrIGIvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvc2NoZWRfZ2V0c2NoZWR1bGVyLlMKQEAgLTAsMCArMSwyMiBAQAorLyogYXV0b2dlbmVyYXRlZCBieSBnZW5zeXNjYWxscy5weSAqLworI2luY2x1ZGUgPHN5cy9saW51eC1zeXNjYWxscy5oPgorICAgIC50ZXh0CisgICAgLmdsb2JsIHNjaGVkX2dldHNjaGVkdWxlcgorICAgIC5hbGlnbiA0CisgICAgLmVudCBzY2hlZF9nZXRzY2hlZHVsZXIKKworc2NoZWRfZ2V0c2NoZWR1bGVyOgorICAgIC5zZXQgbm9yZW9yZGVyCisgICAgLmNwbG9hZCAkdDkKKyAgICBsaSAkdjAsIF9fTlJfc2NoZWRfZ2V0c2NoZWR1bGVyCisgICAgc3lzY2FsbAorICAgIGJuZXogJGEzLCAxZgorICAgIG1vdmUgJGEwLCAkdjAKKyAgICBqICRyYQorICAgIG5vcAorMToKKyAgICBsYSAkdDksX19zZXRfZXJybm8KKyAgICBqICR0OQorICAgIG5vcAorICAgIC5zZXQgcmVvcmRlcgorICAgIC5lbmQgc2NoZWRfZ2V0c2NoZWR1bGVyCmRpZmYgLS1naXQgYS9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9zY2hlZF9ycl9nZXRfaW50ZXJ2YWwuUyBiL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL3NjaGVkX3JyX2dldF9pbnRlcnZhbC5TCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2MzRlZDAKLS0tIC9kZXYvbnVsbAorKysgYi9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9zY2hlZF9ycl9nZXRfaW50ZXJ2YWwuUwpAQCAtMCwwICsxLDIyIEBACisvKiBhdXRvZ2VuZXJhdGVkIGJ5IGdlbnN5c2NhbGxzLnB5ICovCisjaW5jbHVkZSA8c3lzL2xpbnV4LXN5c2NhbGxzLmg+CisgICAgLnRleHQKKyAgICAuZ2xvYmwgc2NoZWRfcnJfZ2V0X2ludGVydmFsCisgICAgLmFsaWduIDQKKyAgICAuZW50IHNjaGVkX3JyX2dldF9pbnRlcnZhbAorCitzY2hlZF9ycl9nZXRfaW50ZXJ2YWw6CisgICAgLnNldCBub3Jlb3JkZXIKKyAgICAuY3Bsb2FkICR0OQorICAgIGxpICR2MCwgX19OUl9zY2hlZF9ycl9nZXRfaW50ZXJ2YWwKKyAgICBzeXNjYWxsCisgICAgYm5leiAkYTMsIDFmCisgICAgbW92ZSAkYTAsICR2MAorICAgIGogJHJhCisgICAgbm9wCisxOgorICAgIGxhICR0OSxfX3NldF9lcnJubworICAgIGogJHQ5CisgICAgbm9wCisgICAgLnNldCByZW9yZGVyCisgICAgLmVuZCBzY2hlZF9ycl9nZXRfaW50ZXJ2YWwKZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL3NjaGVkX3NldGFmZmluaXR5LlMgYi9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9zY2hlZF9zZXRhZmZpbml0eS5TCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFlZmMyNDAKLS0tIC9kZXYvbnVsbAorKysgYi9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9zY2hlZF9zZXRhZmZpbml0eS5TCkBAIC0wLDAgKzEsMjIgQEAKKy8qIGF1dG9nZW5lcmF0ZWQgYnkgZ2Vuc3lzY2FsbHMucHkgKi8KKyNpbmNsdWRlIDxzeXMvbGludXgtc3lzY2FsbHMuaD4KKyAgICAudGV4dAorICAgIC5nbG9ibCBzY2hlZF9zZXRhZmZpbml0eQorICAgIC5hbGlnbiA0CisgICAgLmVudCBzY2hlZF9zZXRhZmZpbml0eQorCitzY2hlZF9zZXRhZmZpbml0eToKKyAgICAuc2V0IG5vcmVvcmRlcgorICAgIC5jcGxvYWQgJHQ5CisgICAgbGkgJHYwLCBfX05SX3NjaGVkX3NldGFmZmluaXR5CisgICAgc3lzY2FsbAorICAgIGJuZXogJGEzLCAxZgorICAgIG1vdmUgJGEwLCAkdjAKKyAgICBqICRyYQorICAgIG5vcAorMToKKyAgICBsYSAkdDksX19zZXRfZXJybm8KKyAgICBqICR0OQorICAgIG5vcAorICAgIC5zZXQgcmVvcmRlcgorICAgIC5lbmQgc2NoZWRfc2V0YWZmaW5pdHkKZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL3NjaGVkX3NldHBhcmFtLlMgYi9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9zY2hlZF9zZXRwYXJhbS5TCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRkNjQ2YmQKLS0tIC9kZXYvbnVsbAorKysgYi9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9zY2hlZF9zZXRwYXJhbS5TCkBAIC0wLDAgKzEsMjIgQEAKKy8qIGF1dG9nZW5lcmF0ZWQgYnkgZ2Vuc3lzY2FsbHMucHkgKi8KKyNpbmNsdWRlIDxzeXMvbGludXgtc3lzY2FsbHMuaD4KKyAgICAudGV4dAorICAgIC5nbG9ibCBzY2hlZF9zZXRwYXJhbQorICAgIC5hbGlnbiA0CisgICAgLmVudCBzY2hlZF9zZXRwYXJhbQorCitzY2hlZF9zZXRwYXJhbToKKyAgICAuc2V0IG5vcmVvcmRlcgorICAgIC5jcGxvYWQgJHQ5CisgICAgbGkgJHYwLCBfX05SX3NjaGVkX3NldHBhcmFtCisgICAgc3lzY2FsbAorICAgIGJuZXogJGEzLCAxZgorICAgIG1vdmUgJGEwLCAkdjAKKyAgICBqICRyYQorICAgIG5vcAorMToKKyAgICBsYSAkdDksX19zZXRfZXJybm8KKyAgICBqICR0OQorICAgIG5vcAorICAgIC5zZXQgcmVvcmRlcgorICAgIC5lbmQgc2NoZWRfc2V0cGFyYW0KZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL3NjaGVkX3NldHNjaGVkdWxlci5TIGIvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvc2NoZWRfc2V0c2NoZWR1bGVyLlMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTc5ZTM5YwotLS0gL2Rldi9udWxsCisrKyBiL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL3NjaGVkX3NldHNjaGVkdWxlci5TCkBAIC0wLDAgKzEsMjIgQEAKKy8qIGF1dG9nZW5lcmF0ZWQgYnkgZ2Vuc3lzY2FsbHMucHkgKi8KKyNpbmNsdWRlIDxzeXMvbGludXgtc3lzY2FsbHMuaD4KKyAgICAudGV4dAorICAgIC5nbG9ibCBzY2hlZF9zZXRzY2hlZHVsZXIKKyAgICAuYWxpZ24gNAorICAgIC5lbnQgc2NoZWRfc2V0c2NoZWR1bGVyCisKK3NjaGVkX3NldHNjaGVkdWxlcjoKKyAgICAuc2V0IG5vcmVvcmRlcgorICAgIC5jcGxvYWQgJHQ5CisgICAgbGkgJHYwLCBfX05SX3NjaGVkX3NldHNjaGVkdWxlcgorICAgIHN5c2NhbGwKKyAgICBibmV6ICRhMywgMWYKKyAgICBtb3ZlICRhMCwgJHYwCisgICAgaiAkcmEKKyAgICBub3AKKzE6CisgICAgbGEgJHQ5LF9fc2V0X2Vycm5vCisgICAgaiAkdDkKKyAgICBub3AKKyAgICAuc2V0IHJlb3JkZXIKKyAgICAuZW5kIHNjaGVkX3NldHNjaGVkdWxlcgpkaWZmIC0tZ2l0IGEvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvc2NoZWRfeWllbGQuUyBiL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL3NjaGVkX3lpZWxkLlMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzdjOTlkYwotLS0gL2Rldi9udWxsCisrKyBiL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL3NjaGVkX3lpZWxkLlMKQEAgLTAsMCArMSwyMiBAQAorLyogYXV0b2dlbmVyYXRlZCBieSBnZW5zeXNjYWxscy5weSAqLworI2luY2x1ZGUgPHN5cy9saW51eC1zeXNjYWxscy5oPgorICAgIC50ZXh0CisgICAgLmdsb2JsIHNjaGVkX3lpZWxkCisgICAgLmFsaWduIDQKKyAgICAuZW50IHNjaGVkX3lpZWxkCisKK3NjaGVkX3lpZWxkOgorICAgIC5zZXQgbm9yZW9yZGVyCisgICAgLmNwbG9hZCAkdDkKKyAgICBsaSAkdjAsIF9fTlJfc2NoZWRfeWllbGQKKyAgICBzeXNjYWxsCisgICAgYm5leiAkYTMsIDFmCisgICAgbW92ZSAkYTAsICR2MAorICAgIGogJHJhCisgICAgbm9wCisxOgorICAgIGxhICR0OSxfX3NldF9lcnJubworICAgIGogJHQ5CisgICAgbm9wCisgICAgLnNldCByZW9yZGVyCisgICAgLmVuZCBzY2hlZF95aWVsZApkaWZmIC0tZ2l0IGEvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvc2VsZWN0LlMgYi9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9zZWxlY3QuUwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jZTQxMTJmCi0tLSAvZGV2L251bGwKKysrIGIvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvc2VsZWN0LlMKQEAgLTAsMCArMSwyMiBAQAorLyogYXV0b2dlbmVyYXRlZCBieSBnZW5zeXNjYWxscy5weSAqLworI2luY2x1ZGUgPHN5cy9saW51eC1zeXNjYWxscy5oPgorICAgIC50ZXh0CisgICAgLmdsb2JsIHNlbGVjdAorICAgIC5hbGlnbiA0CisgICAgLmVudCBzZWxlY3QKKworc2VsZWN0OgorICAgIC5zZXQgbm9yZW9yZGVyCisgICAgLmNwbG9hZCAkdDkKKyAgICBsaSAkdjAsIF9fTlJfX25ld3NlbGVjdAorICAgIHN5c2NhbGwKKyAgICBibmV6ICRhMywgMWYKKyAgICBtb3ZlICRhMCwgJHYwCisgICAgaiAkcmEKKyAgICBub3AKKzE6CisgICAgbGEgJHQ5LF9fc2V0X2Vycm5vCisgICAgaiAkdDkKKyAgICBub3AKKyAgICAuc2V0IHJlb3JkZXIKKyAgICAuZW5kIHNlbGVjdApkaWZmIC0tZ2l0IGEvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvc2VuZGZpbGUuUyBiL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL3NlbmRmaWxlLlMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzRjMTc2ZQotLS0gL2Rldi9udWxsCisrKyBiL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL3NlbmRmaWxlLlMKQEAgLTAsMCArMSwyMiBAQAorLyogYXV0b2dlbmVyYXRlZCBieSBnZW5zeXNjYWxscy5weSAqLworI2luY2x1ZGUgPHN5cy9saW51eC1zeXNjYWxscy5oPgorICAgIC50ZXh0CisgICAgLmdsb2JsIHNlbmRmaWxlCisgICAgLmFsaWduIDQKKyAgICAuZW50IHNlbmRmaWxlCisKK3NlbmRmaWxlOgorICAgIC5zZXQgbm9yZW9yZGVyCisgICAgLmNwbG9hZCAkdDkKKyAgICBsaSAkdjAsIF9fTlJfc2VuZGZpbGUKKyAgICBzeXNjYWxsCisgICAgYm5leiAkYTMsIDFmCisgICAgbW92ZSAkYTAsICR2MAorICAgIGogJHJhCisgICAgbm9wCisxOgorICAgIGxhICR0OSxfX3NldF9lcnJubworICAgIGogJHQ5CisgICAgbm9wCisgICAgLnNldCByZW9yZGVyCisgICAgLmVuZCBzZW5kZmlsZQpkaWZmIC0tZ2l0IGEvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvc2VuZG1zZy5TIGIvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvc2VuZG1zZy5TCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE5MTNmMTMKLS0tIC9kZXYvbnVsbAorKysgYi9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9zZW5kbXNnLlMKQEAgLTAsMCArMSwyMiBAQAorLyogYXV0b2dlbmVyYXRlZCBieSBnZW5zeXNjYWxscy5weSAqLworI2luY2x1ZGUgPHN5cy9saW51eC1zeXNjYWxscy5oPgorICAgIC50ZXh0CisgICAgLmdsb2JsIHNlbmRtc2cKKyAgICAuYWxpZ24gNAorICAgIC5lbnQgc2VuZG1zZworCitzZW5kbXNnOgorICAgIC5zZXQgbm9yZW9yZGVyCisgICAgLmNwbG9hZCAkdDkKKyAgICBsaSAkdjAsIF9fTlJfc2VuZG1zZworICAgIHN5c2NhbGwKKyAgICBibmV6ICRhMywgMWYKKyAgICBtb3ZlICRhMCwgJHYwCisgICAgaiAkcmEKKyAgICBub3AKKzE6CisgICAgbGEgJHQ5LF9fc2V0X2Vycm5vCisgICAgaiAkdDkKKyAgICBub3AKKyAgICAuc2V0IHJlb3JkZXIKKyAgICAuZW5kIHNlbmRtc2cKZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL3NlbmR0by5TIGIvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvc2VuZHRvLlMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjE3NzQzZAotLS0gL2Rldi9udWxsCisrKyBiL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL3NlbmR0by5TCkBAIC0wLDAgKzEsMjIgQEAKKy8qIGF1dG9nZW5lcmF0ZWQgYnkgZ2Vuc3lzY2FsbHMucHkgKi8KKyNpbmNsdWRlIDxzeXMvbGludXgtc3lzY2FsbHMuaD4KKyAgICAudGV4dAorICAgIC5nbG9ibCBzZW5kdG8KKyAgICAuYWxpZ24gNAorICAgIC5lbnQgc2VuZHRvCisKK3NlbmR0bzoKKyAgICAuc2V0IG5vcmVvcmRlcgorICAgIC5jcGxvYWQgJHQ5CisgICAgbGkgJHYwLCBfX05SX3NlbmR0bworICAgIHN5c2NhbGwKKyAgICBibmV6ICRhMywgMWYKKyAgICBtb3ZlICRhMCwgJHYwCisgICAgaiAkcmEKKyAgICBub3AKKzE6CisgICAgbGEgJHQ5LF9fc2V0X2Vycm5vCisgICAgaiAkdDkKKyAgICBub3AKKyAgICAuc2V0IHJlb3JkZXIKKyAgICAuZW5kIHNlbmR0bwpkaWZmIC0tZ2l0IGEvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvc2V0Z2lkLlMgYi9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9zZXRnaWQuUwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44M2RiZmU1Ci0tLSAvZGV2L251bGwKKysrIGIvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvc2V0Z2lkLlMKQEAgLTAsMCArMSwyMiBAQAorLyogYXV0b2dlbmVyYXRlZCBieSBnZW5zeXNjYWxscy5weSAqLworI2luY2x1ZGUgPHN5cy9saW51eC1zeXNjYWxscy5oPgorICAgIC50ZXh0CisgICAgLmdsb2JsIHNldGdpZAorICAgIC5hbGlnbiA0CisgICAgLmVudCBzZXRnaWQKKworc2V0Z2lkOgorICAgIC5zZXQgbm9yZW9yZGVyCisgICAgLmNwbG9hZCAkdDkKKyAgICBsaSAkdjAsIF9fTlJfc2V0Z2lkCisgICAgc3lzY2FsbAorICAgIGJuZXogJGEzLCAxZgorICAgIG1vdmUgJGEwLCAkdjAKKyAgICBqICRyYQorICAgIG5vcAorMToKKyAgICBsYSAkdDksX19zZXRfZXJybm8KKyAgICBqICR0OQorICAgIG5vcAorICAgIC5zZXQgcmVvcmRlcgorICAgIC5lbmQgc2V0Z2lkCmRpZmYgLS1naXQgYS9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9zZXRncm91cHMuUyBiL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL3NldGdyb3Vwcy5TCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVmOTMyN2QKLS0tIC9kZXYvbnVsbAorKysgYi9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9zZXRncm91cHMuUwpAQCAtMCwwICsxLDIyIEBACisvKiBhdXRvZ2VuZXJhdGVkIGJ5IGdlbnN5c2NhbGxzLnB5ICovCisjaW5jbHVkZSA8c3lzL2xpbnV4LXN5c2NhbGxzLmg+CisgICAgLnRleHQKKyAgICAuZ2xvYmwgc2V0Z3JvdXBzCisgICAgLmFsaWduIDQKKyAgICAuZW50IHNldGdyb3VwcworCitzZXRncm91cHM6CisgICAgLnNldCBub3Jlb3JkZXIKKyAgICAuY3Bsb2FkICR0OQorICAgIGxpICR2MCwgX19OUl9zZXRncm91cHMKKyAgICBzeXNjYWxsCisgICAgYm5leiAkYTMsIDFmCisgICAgbW92ZSAkYTAsICR2MAorICAgIGogJHJhCisgICAgbm9wCisxOgorICAgIGxhICR0OSxfX3NldF9lcnJubworICAgIGogJHQ5CisgICAgbm9wCisgICAgLnNldCByZW9yZGVyCisgICAgLmVuZCBzZXRncm91cHMKZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL3NldGl0aW1lci5TIGIvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvc2V0aXRpbWVyLlMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjA0MmUwNwotLS0gL2Rldi9udWxsCisrKyBiL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL3NldGl0aW1lci5TCkBAIC0wLDAgKzEsMjIgQEAKKy8qIGF1dG9nZW5lcmF0ZWQgYnkgZ2Vuc3lzY2FsbHMucHkgKi8KKyNpbmNsdWRlIDxzeXMvbGludXgtc3lzY2FsbHMuaD4KKyAgICAudGV4dAorICAgIC5nbG9ibCBzZXRpdGltZXIKKyAgICAuYWxpZ24gNAorICAgIC5lbnQgc2V0aXRpbWVyCisKK3NldGl0aW1lcjoKKyAgICAuc2V0IG5vcmVvcmRlcgorICAgIC5jcGxvYWQgJHQ5CisgICAgbGkgJHYwLCBfX05SX3NldGl0aW1lcgorICAgIHN5c2NhbGwKKyAgICBibmV6ICRhMywgMWYKKyAgICBtb3ZlICRhMCwgJHYwCisgICAgaiAkcmEKKyAgICBub3AKKzE6CisgICAgbGEgJHQ5LF9fc2V0X2Vycm5vCisgICAgaiAkdDkKKyAgICBub3AKKyAgICAuc2V0IHJlb3JkZXIKKyAgICAuZW5kIHNldGl0aW1lcgpkaWZmIC0tZ2l0IGEvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvc2V0cGdpZC5TIGIvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvc2V0cGdpZC5TCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJkZGM4MjgKLS0tIC9kZXYvbnVsbAorKysgYi9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9zZXRwZ2lkLlMKQEAgLTAsMCArMSwyMiBAQAorLyogYXV0b2dlbmVyYXRlZCBieSBnZW5zeXNjYWxscy5weSAqLworI2luY2x1ZGUgPHN5cy9saW51eC1zeXNjYWxscy5oPgorICAgIC50ZXh0CisgICAgLmdsb2JsIHNldHBnaWQKKyAgICAuYWxpZ24gNAorICAgIC5lbnQgc2V0cGdpZAorCitzZXRwZ2lkOgorICAgIC5zZXQgbm9yZW9yZGVyCisgICAgLmNwbG9hZCAkdDkKKyAgICBsaSAkdjAsIF9fTlJfc2V0cGdpZAorICAgIHN5c2NhbGwKKyAgICBibmV6ICRhMywgMWYKKyAgICBtb3ZlICRhMCwgJHYwCisgICAgaiAkcmEKKyAgICBub3AKKzE6CisgICAgbGEgJHQ5LF9fc2V0X2Vycm5vCisgICAgaiAkdDkKKyAgICBub3AKKyAgICAuc2V0IHJlb3JkZXIKKyAgICAuZW5kIHNldHBnaWQKZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL3NldHByaW9yaXR5LlMgYi9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9zZXRwcmlvcml0eS5TCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjAyNTUwZTkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9zZXRwcmlvcml0eS5TCkBAIC0wLDAgKzEsMjIgQEAKKy8qIGF1dG9nZW5lcmF0ZWQgYnkgZ2Vuc3lzY2FsbHMucHkgKi8KKyNpbmNsdWRlIDxzeXMvbGludXgtc3lzY2FsbHMuaD4KKyAgICAudGV4dAorICAgIC5nbG9ibCBzZXRwcmlvcml0eQorICAgIC5hbGlnbiA0CisgICAgLmVudCBzZXRwcmlvcml0eQorCitzZXRwcmlvcml0eToKKyAgICAuc2V0IG5vcmVvcmRlcgorICAgIC5jcGxvYWQgJHQ5CisgICAgbGkgJHYwLCBfX05SX3NldHByaW9yaXR5CisgICAgc3lzY2FsbAorICAgIGJuZXogJGEzLCAxZgorICAgIG1vdmUgJGEwLCAkdjAKKyAgICBqICRyYQorICAgIG5vcAorMToKKyAgICBsYSAkdDksX19zZXRfZXJybm8KKyAgICBqICR0OQorICAgIG5vcAorICAgIC5zZXQgcmVvcmRlcgorICAgIC5lbmQgc2V0cHJpb3JpdHkKZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL3NldHJlZ2lkLlMgYi9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9zZXRyZWdpZC5TCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjYxOWIzYTEKLS0tIC9kZXYvbnVsbAorKysgYi9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9zZXRyZWdpZC5TCkBAIC0wLDAgKzEsMjIgQEAKKy8qIGF1dG9nZW5lcmF0ZWQgYnkgZ2Vuc3lzY2FsbHMucHkgKi8KKyNpbmNsdWRlIDxzeXMvbGludXgtc3lzY2FsbHMuaD4KKyAgICAudGV4dAorICAgIC5nbG9ibCBzZXRyZWdpZAorICAgIC5hbGlnbiA0CisgICAgLmVudCBzZXRyZWdpZAorCitzZXRyZWdpZDoKKyAgICAuc2V0IG5vcmVvcmRlcgorICAgIC5jcGxvYWQgJHQ5CisgICAgbGkgJHYwLCBfX05SX3NldHJlZ2lkCisgICAgc3lzY2FsbAorICAgIGJuZXogJGEzLCAxZgorICAgIG1vdmUgJGEwLCAkdjAKKyAgICBqICRyYQorICAgIG5vcAorMToKKyAgICBsYSAkdDksX19zZXRfZXJybm8KKyAgICBqICR0OQorICAgIG5vcAorICAgIC5zZXQgcmVvcmRlcgorICAgIC5lbmQgc2V0cmVnaWQKZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL3NldHJlc2dpZC5TIGIvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvc2V0cmVzZ2lkLlMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2ZmOTRjNwotLS0gL2Rldi9udWxsCisrKyBiL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL3NldHJlc2dpZC5TCkBAIC0wLDAgKzEsMjIgQEAKKy8qIGF1dG9nZW5lcmF0ZWQgYnkgZ2Vuc3lzY2FsbHMucHkgKi8KKyNpbmNsdWRlIDxzeXMvbGludXgtc3lzY2FsbHMuaD4KKyAgICAudGV4dAorICAgIC5nbG9ibCBzZXRyZXNnaWQKKyAgICAuYWxpZ24gNAorICAgIC5lbnQgc2V0cmVzZ2lkCisKK3NldHJlc2dpZDoKKyAgICAuc2V0IG5vcmVvcmRlcgorICAgIC5jcGxvYWQgJHQ5CisgICAgbGkgJHYwLCBfX05SX3NldHJlc2dpZAorICAgIHN5c2NhbGwKKyAgICBibmV6ICRhMywgMWYKKyAgICBtb3ZlICRhMCwgJHYwCisgICAgaiAkcmEKKyAgICBub3AKKzE6CisgICAgbGEgJHQ5LF9fc2V0X2Vycm5vCisgICAgaiAkdDkKKyAgICBub3AKKyAgICAuc2V0IHJlb3JkZXIKKyAgICAuZW5kIHNldHJlc2dpZApkaWZmIC0tZ2l0IGEvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvc2V0cmxpbWl0LlMgYi9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9zZXRybGltaXQuUwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zZWMzN2M1Ci0tLSAvZGV2L251bGwKKysrIGIvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvc2V0cmxpbWl0LlMKQEAgLTAsMCArMSwyMiBAQAorLyogYXV0b2dlbmVyYXRlZCBieSBnZW5zeXNjYWxscy5weSAqLworI2luY2x1ZGUgPHN5cy9saW51eC1zeXNjYWxscy5oPgorICAgIC50ZXh0CisgICAgLmdsb2JsIHNldHJsaW1pdAorICAgIC5hbGlnbiA0CisgICAgLmVudCBzZXRybGltaXQKKworc2V0cmxpbWl0OgorICAgIC5zZXQgbm9yZW9yZGVyCisgICAgLmNwbG9hZCAkdDkKKyAgICBsaSAkdjAsIF9fTlJfc2V0cmxpbWl0CisgICAgc3lzY2FsbAorICAgIGJuZXogJGEzLCAxZgorICAgIG1vdmUgJGEwLCAkdjAKKyAgICBqICRyYQorICAgIG5vcAorMToKKyAgICBsYSAkdDksX19zZXRfZXJybm8KKyAgICBqICR0OQorICAgIG5vcAorICAgIC5zZXQgcmVvcmRlcgorICAgIC5lbmQgc2V0cmxpbWl0CmRpZmYgLS1naXQgYS9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9zZXRzaWQuUyBiL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL3NldHNpZC5TCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJhMDk2NjMKLS0tIC9kZXYvbnVsbAorKysgYi9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9zZXRzaWQuUwpAQCAtMCwwICsxLDIyIEBACisvKiBhdXRvZ2VuZXJhdGVkIGJ5IGdlbnN5c2NhbGxzLnB5ICovCisjaW5jbHVkZSA8c3lzL2xpbnV4LXN5c2NhbGxzLmg+CisgICAgLnRleHQKKyAgICAuZ2xvYmwgc2V0c2lkCisgICAgLmFsaWduIDQKKyAgICAuZW50IHNldHNpZAorCitzZXRzaWQ6CisgICAgLnNldCBub3Jlb3JkZXIKKyAgICAuY3Bsb2FkICR0OQorICAgIGxpICR2MCwgX19OUl9zZXRzaWQKKyAgICBzeXNjYWxsCisgICAgYm5leiAkYTMsIDFmCisgICAgbW92ZSAkYTAsICR2MAorICAgIGogJHJhCisgICAgbm9wCisxOgorICAgIGxhICR0OSxfX3NldF9lcnJubworICAgIGogJHQ5CisgICAgbm9wCisgICAgLnNldCByZW9yZGVyCisgICAgLmVuZCBzZXRzaWQKZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL3NldHNvY2tvcHQuUyBiL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL3NldHNvY2tvcHQuUwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kYzVlNjJmCi0tLSAvZGV2L251bGwKKysrIGIvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvc2V0c29ja29wdC5TCkBAIC0wLDAgKzEsMjIgQEAKKy8qIGF1dG9nZW5lcmF0ZWQgYnkgZ2Vuc3lzY2FsbHMucHkgKi8KKyNpbmNsdWRlIDxzeXMvbGludXgtc3lzY2FsbHMuaD4KKyAgICAudGV4dAorICAgIC5nbG9ibCBzZXRzb2Nrb3B0CisgICAgLmFsaWduIDQKKyAgICAuZW50IHNldHNvY2tvcHQKKworc2V0c29ja29wdDoKKyAgICAuc2V0IG5vcmVvcmRlcgorICAgIC5jcGxvYWQgJHQ5CisgICAgbGkgJHYwLCBfX05SX3NldHNvY2tvcHQKKyAgICBzeXNjYWxsCisgICAgYm5leiAkYTMsIDFmCisgICAgbW92ZSAkYTAsICR2MAorICAgIGogJHJhCisgICAgbm9wCisxOgorICAgIGxhICR0OSxfX3NldF9lcnJubworICAgIGogJHQ5CisgICAgbm9wCisgICAgLnNldCByZW9yZGVyCisgICAgLmVuZCBzZXRzb2Nrb3B0CmRpZmYgLS1naXQgYS9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9zZXR0aW1lb2ZkYXkuUyBiL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL3NldHRpbWVvZmRheS5TCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY3YzAzZWEKLS0tIC9kZXYvbnVsbAorKysgYi9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9zZXR0aW1lb2ZkYXkuUwpAQCAtMCwwICsxLDIyIEBACisvKiBhdXRvZ2VuZXJhdGVkIGJ5IGdlbnN5c2NhbGxzLnB5ICovCisjaW5jbHVkZSA8c3lzL2xpbnV4LXN5c2NhbGxzLmg+CisgICAgLnRleHQKKyAgICAuZ2xvYmwgc2V0dGltZW9mZGF5CisgICAgLmFsaWduIDQKKyAgICAuZW50IHNldHRpbWVvZmRheQorCitzZXR0aW1lb2ZkYXk6CisgICAgLnNldCBub3Jlb3JkZXIKKyAgICAuY3Bsb2FkICR0OQorICAgIGxpICR2MCwgX19OUl9zZXR0aW1lb2ZkYXkKKyAgICBzeXNjYWxsCisgICAgYm5leiAkYTMsIDFmCisgICAgbW92ZSAkYTAsICR2MAorICAgIGogJHJhCisgICAgbm9wCisxOgorICAgIGxhICR0OSxfX3NldF9lcnJubworICAgIGogJHQ5CisgICAgbm9wCisgICAgLnNldCByZW9yZGVyCisgICAgLmVuZCBzZXR0aW1lb2ZkYXkKZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL3NldHhhdHRyLlMgYi9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9zZXR4YXR0ci5TCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJhYTc4YTQKLS0tIC9kZXYvbnVsbAorKysgYi9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9zZXR4YXR0ci5TCkBAIC0wLDAgKzEsMjIgQEAKKy8qIGF1dG9nZW5lcmF0ZWQgYnkgZ2Vuc3lzY2FsbHMucHkgKi8KKyNpbmNsdWRlIDxzeXMvbGludXgtc3lzY2FsbHMuaD4KKyAgICAudGV4dAorICAgIC5nbG9ibCBzZXR4YXR0cgorICAgIC5hbGlnbiA0CisgICAgLmVudCBzZXR4YXR0cgorCitzZXR4YXR0cjoKKyAgICAuc2V0IG5vcmVvcmRlcgorICAgIC5jcGxvYWQgJHQ5CisgICAgbGkgJHYwLCBfX05SX3NldHhhdHRyCisgICAgc3lzY2FsbAorICAgIGJuZXogJGEzLCAxZgorICAgIG1vdmUgJGEwLCAkdjAKKyAgICBqICRyYQorICAgIG5vcAorMToKKyAgICBsYSAkdDksX19zZXRfZXJybm8KKyAgICBqICR0OQorICAgIG5vcAorICAgIC5zZXQgcmVvcmRlcgorICAgIC5lbmQgc2V0eGF0dHIKZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL3NodXRkb3duLlMgYi9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9zaHV0ZG93bi5TCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI4MGQ5OWIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9zaHV0ZG93bi5TCkBAIC0wLDAgKzEsMjIgQEAKKy8qIGF1dG9nZW5lcmF0ZWQgYnkgZ2Vuc3lzY2FsbHMucHkgKi8KKyNpbmNsdWRlIDxzeXMvbGludXgtc3lzY2FsbHMuaD4KKyAgICAudGV4dAorICAgIC5nbG9ibCBzaHV0ZG93bgorICAgIC5hbGlnbiA0CisgICAgLmVudCBzaHV0ZG93bgorCitzaHV0ZG93bjoKKyAgICAuc2V0IG5vcmVvcmRlcgorICAgIC5jcGxvYWQgJHQ5CisgICAgbGkgJHYwLCBfX05SX3NodXRkb3duCisgICAgc3lzY2FsbAorICAgIGJuZXogJGEzLCAxZgorICAgIG1vdmUgJGEwLCAkdjAKKyAgICBqICRyYQorICAgIG5vcAorMToKKyAgICBsYSAkdDksX19zZXRfZXJybm8KKyAgICBqICR0OQorICAgIG5vcAorICAgIC5zZXQgcmVvcmRlcgorICAgIC5lbmQgc2h1dGRvd24KZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL3NpZ2FjdGlvbi5TIGIvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvc2lnYWN0aW9uLlMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzAwZGE1NAotLS0gL2Rldi9udWxsCisrKyBiL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL3NpZ2FjdGlvbi5TCkBAIC0wLDAgKzEsMjIgQEAKKy8qIGF1dG9nZW5lcmF0ZWQgYnkgZ2Vuc3lzY2FsbHMucHkgKi8KKyNpbmNsdWRlIDxzeXMvbGludXgtc3lzY2FsbHMuaD4KKyAgICAudGV4dAorICAgIC5nbG9ibCBzaWdhY3Rpb24KKyAgICAuYWxpZ24gNAorICAgIC5lbnQgc2lnYWN0aW9uCisKK3NpZ2FjdGlvbjoKKyAgICAuc2V0IG5vcmVvcmRlcgorICAgIC5jcGxvYWQgJHQ5CisgICAgbGkgJHYwLCBfX05SX3NpZ2FjdGlvbgorICAgIHN5c2NhbGwKKyAgICBibmV6ICRhMywgMWYKKyAgICBtb3ZlICRhMCwgJHYwCisgICAgaiAkcmEKKyAgICBub3AKKzE6CisgICAgbGEgJHQ5LF9fc2V0X2Vycm5vCisgICAgaiAkdDkKKyAgICBub3AKKyAgICAuc2V0IHJlb3JkZXIKKyAgICAuZW5kIHNpZ2FjdGlvbgpkaWZmIC0tZ2l0IGEvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvc2lnYWx0c3RhY2suUyBiL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL3NpZ2FsdHN0YWNrLlMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDJhNGE5YQotLS0gL2Rldi9udWxsCisrKyBiL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL3NpZ2FsdHN0YWNrLlMKQEAgLTAsMCArMSwyMiBAQAorLyogYXV0b2dlbmVyYXRlZCBieSBnZW5zeXNjYWxscy5weSAqLworI2luY2x1ZGUgPHN5cy9saW51eC1zeXNjYWxscy5oPgorICAgIC50ZXh0CisgICAgLmdsb2JsIHNpZ2FsdHN0YWNrCisgICAgLmFsaWduIDQKKyAgICAuZW50IHNpZ2FsdHN0YWNrCisKK3NpZ2FsdHN0YWNrOgorICAgIC5zZXQgbm9yZW9yZGVyCisgICAgLmNwbG9hZCAkdDkKKyAgICBsaSAkdjAsIF9fTlJfc2lnYWx0c3RhY2sKKyAgICBzeXNjYWxsCisgICAgYm5leiAkYTMsIDFmCisgICAgbW92ZSAkYTAsICR2MAorICAgIGogJHJhCisgICAgbm9wCisxOgorICAgIGxhICR0OSxfX3NldF9lcnJubworICAgIGogJHQ5CisgICAgbm9wCisgICAgLnNldCByZW9yZGVyCisgICAgLmVuZCBzaWdhbHRzdGFjawpkaWZmIC0tZ2l0IGEvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvc2lncGVuZGluZy5TIGIvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvc2lncGVuZGluZy5TCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY4ZGY0ZGIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9zaWdwZW5kaW5nLlMKQEAgLTAsMCArMSwyMiBAQAorLyogYXV0b2dlbmVyYXRlZCBieSBnZW5zeXNjYWxscy5weSAqLworI2luY2x1ZGUgPHN5cy9saW51eC1zeXNjYWxscy5oPgorICAgIC50ZXh0CisgICAgLmdsb2JsIHNpZ3BlbmRpbmcKKyAgICAuYWxpZ24gNAorICAgIC5lbnQgc2lncGVuZGluZworCitzaWdwZW5kaW5nOgorICAgIC5zZXQgbm9yZW9yZGVyCisgICAgLmNwbG9hZCAkdDkKKyAgICBsaSAkdjAsIF9fTlJfc2lncGVuZGluZworICAgIHN5c2NhbGwKKyAgICBibmV6ICRhMywgMWYKKyAgICBtb3ZlICRhMCwgJHYwCisgICAgaiAkcmEKKyAgICBub3AKKzE6CisgICAgbGEgJHQ5LF9fc2V0X2Vycm5vCisgICAgaiAkdDkKKyAgICBub3AKKyAgICAuc2V0IHJlb3JkZXIKKyAgICAuZW5kIHNpZ3BlbmRpbmcKZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL3NpZ3Byb2NtYXNrLlMgYi9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9zaWdwcm9jbWFzay5TCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE3YzAxY2IKLS0tIC9kZXYvbnVsbAorKysgYi9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9zaWdwcm9jbWFzay5TCkBAIC0wLDAgKzEsMjIgQEAKKy8qIGF1dG9nZW5lcmF0ZWQgYnkgZ2Vuc3lzY2FsbHMucHkgKi8KKyNpbmNsdWRlIDxzeXMvbGludXgtc3lzY2FsbHMuaD4KKyAgICAudGV4dAorICAgIC5nbG9ibCBzaWdwcm9jbWFzaworICAgIC5hbGlnbiA0CisgICAgLmVudCBzaWdwcm9jbWFzaworCitzaWdwcm9jbWFzazoKKyAgICAuc2V0IG5vcmVvcmRlcgorICAgIC5jcGxvYWQgJHQ5CisgICAgbGkgJHYwLCBfX05SX3NpZ3Byb2NtYXNrCisgICAgc3lzY2FsbAorICAgIGJuZXogJGEzLCAxZgorICAgIG1vdmUgJGEwLCAkdjAKKyAgICBqICRyYQorICAgIG5vcAorMToKKyAgICBsYSAkdDksX19zZXRfZXJybm8KKyAgICBqICR0OQorICAgIG5vcAorICAgIC5zZXQgcmVvcmRlcgorICAgIC5lbmQgc2lncHJvY21hc2sKZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL3NvY2tldC5TIGIvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvc29ja2V0LlMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTdkNDNmOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL3NvY2tldC5TCkBAIC0wLDAgKzEsMjIgQEAKKy8qIGF1dG9nZW5lcmF0ZWQgYnkgZ2Vuc3lzY2FsbHMucHkgKi8KKyNpbmNsdWRlIDxzeXMvbGludXgtc3lzY2FsbHMuaD4KKyAgICAudGV4dAorICAgIC5nbG9ibCBzb2NrZXQKKyAgICAuYWxpZ24gNAorICAgIC5lbnQgc29ja2V0CisKK3NvY2tldDoKKyAgICAuc2V0IG5vcmVvcmRlcgorICAgIC5jcGxvYWQgJHQ5CisgICAgbGkgJHYwLCBfX05SX3NvY2tldAorICAgIHN5c2NhbGwKKyAgICBibmV6ICRhMywgMWYKKyAgICBtb3ZlICRhMCwgJHYwCisgICAgaiAkcmEKKyAgICBub3AKKzE6CisgICAgbGEgJHQ5LF9fc2V0X2Vycm5vCisgICAgaiAkdDkKKyAgICBub3AKKyAgICAuc2V0IHJlb3JkZXIKKyAgICAuZW5kIHNvY2tldApkaWZmIC0tZ2l0IGEvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvc29ja2V0cGFpci5TIGIvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvc29ja2V0cGFpci5TCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk3YzY3YWYKLS0tIC9kZXYvbnVsbAorKysgYi9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9zb2NrZXRwYWlyLlMKQEAgLTAsMCArMSwyMiBAQAorLyogYXV0b2dlbmVyYXRlZCBieSBnZW5zeXNjYWxscy5weSAqLworI2luY2x1ZGUgPHN5cy9saW51eC1zeXNjYWxscy5oPgorICAgIC50ZXh0CisgICAgLmdsb2JsIHNvY2tldHBhaXIKKyAgICAuYWxpZ24gNAorICAgIC5lbnQgc29ja2V0cGFpcgorCitzb2NrZXRwYWlyOgorICAgIC5zZXQgbm9yZW9yZGVyCisgICAgLmNwbG9hZCAkdDkKKyAgICBsaSAkdjAsIF9fTlJfc29ja2V0cGFpcgorICAgIHN5c2NhbGwKKyAgICBibmV6ICRhMywgMWYKKyAgICBtb3ZlICRhMCwgJHYwCisgICAgaiAkcmEKKyAgICBub3AKKzE6CisgICAgbGEgJHQ5LF9fc2V0X2Vycm5vCisgICAgaiAkdDkKKyAgICBub3AKKyAgICAuc2V0IHJlb3JkZXIKKyAgICAuZW5kIHNvY2tldHBhaXIKZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL3N0YXQuUyBiL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL3N0YXQuUwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hZWM5MTBkCi0tLSAvZGV2L251bGwKKysrIGIvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvc3RhdC5TCkBAIC0wLDAgKzEsMjIgQEAKKy8qIGF1dG9nZW5lcmF0ZWQgYnkgZ2Vuc3lzY2FsbHMucHkgKi8KKyNpbmNsdWRlIDxzeXMvbGludXgtc3lzY2FsbHMuaD4KKyAgICAudGV4dAorICAgIC5nbG9ibCBzdGF0CisgICAgLmFsaWduIDQKKyAgICAuZW50IHN0YXQKKworc3RhdDoKKyAgICAuc2V0IG5vcmVvcmRlcgorICAgIC5jcGxvYWQgJHQ5CisgICAgbGkgJHYwLCBfX05SX3N0YXQ2NAorICAgIHN5c2NhbGwKKyAgICBibmV6ICRhMywgMWYKKyAgICBtb3ZlICRhMCwgJHYwCisgICAgaiAkcmEKKyAgICBub3AKKzE6CisgICAgbGEgJHQ5LF9fc2V0X2Vycm5vCisgICAgaiAkdDkKKyAgICBub3AKKyAgICAuc2V0IHJlb3JkZXIKKyAgICAuZW5kIHN0YXQKZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL3N5bWxpbmsuUyBiL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL3N5bWxpbmsuUwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mODFjNmRkCi0tLSAvZGV2L251bGwKKysrIGIvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvc3ltbGluay5TCkBAIC0wLDAgKzEsMjIgQEAKKy8qIGF1dG9nZW5lcmF0ZWQgYnkgZ2Vuc3lzY2FsbHMucHkgKi8KKyNpbmNsdWRlIDxzeXMvbGludXgtc3lzY2FsbHMuaD4KKyAgICAudGV4dAorICAgIC5nbG9ibCBzeW1saW5rCisgICAgLmFsaWduIDQKKyAgICAuZW50IHN5bWxpbmsKKworc3ltbGluazoKKyAgICAuc2V0IG5vcmVvcmRlcgorICAgIC5jcGxvYWQgJHQ5CisgICAgbGkgJHYwLCBfX05SX3N5bWxpbmsKKyAgICBzeXNjYWxsCisgICAgYm5leiAkYTMsIDFmCisgICAgbW92ZSAkYTAsICR2MAorICAgIGogJHJhCisgICAgbm9wCisxOgorICAgIGxhICR0OSxfX3NldF9lcnJubworICAgIGogJHQ5CisgICAgbm9wCisgICAgLnNldCByZW9yZGVyCisgICAgLmVuZCBzeW1saW5rCmRpZmYgLS1naXQgYS9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9zeW5jLlMgYi9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9zeW5jLlMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTEyMjg3MwotLS0gL2Rldi9udWxsCisrKyBiL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL3N5bmMuUwpAQCAtMCwwICsxLDIyIEBACisvKiBhdXRvZ2VuZXJhdGVkIGJ5IGdlbnN5c2NhbGxzLnB5ICovCisjaW5jbHVkZSA8c3lzL2xpbnV4LXN5c2NhbGxzLmg+CisgICAgLnRleHQKKyAgICAuZ2xvYmwgc3luYworICAgIC5hbGlnbiA0CisgICAgLmVudCBzeW5jCisKK3N5bmM6CisgICAgLnNldCBub3Jlb3JkZXIKKyAgICAuY3Bsb2FkICR0OQorICAgIGxpICR2MCwgX19OUl9zeW5jCisgICAgc3lzY2FsbAorICAgIGJuZXogJGEzLCAxZgorICAgIG1vdmUgJGEwLCAkdjAKKyAgICBqICRyYQorICAgIG5vcAorMToKKyAgICBsYSAkdDksX19zZXRfZXJybm8KKyAgICBqICR0OQorICAgIG5vcAorICAgIC5zZXQgcmVvcmRlcgorICAgIC5lbmQgc3luYwpkaWZmIC0tZ2l0IGEvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvc3lzY2FsbC5TIGIvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvc3lzY2FsbC5TCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjIxOTJiZDUKLS0tIC9kZXYvbnVsbAorKysgYi9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy9zeXNjYWxsLlMKQEAgLTAsMCArMSwyMiBAQAorLyogYXV0b2dlbmVyYXRlZCBieSBnZW5zeXNjYWxscy5weSAqLworI2luY2x1ZGUgPHN5cy9saW51eC1zeXNjYWxscy5oPgorICAgIC50ZXh0CisgICAgLmdsb2JsIHN5c2NhbGwKKyAgICAuYWxpZ24gNAorICAgIC5lbnQgc3lzY2FsbAorCitzeXNjYWxsOgorICAgIC5zZXQgbm9yZW9yZGVyCisgICAgLmNwbG9hZCAkdDkKKyAgICBsaSAkdjAsIF9fTlJfc3lzY2FsbAorICAgIHN5c2NhbGwKKyAgICBibmV6ICRhMywgMWYKKyAgICBtb3ZlICRhMCwgJHYwCisgICAgaiAkcmEKKyAgICBub3AKKzE6CisgICAgbGEgJHQ5LF9fc2V0X2Vycm5vCisgICAgaiAkdDkKKyAgICBub3AKKyAgICAuc2V0IHJlb3JkZXIKKyAgICAuZW5kIHN5c2NhbGwKZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL3N5c2luZm8uUyBiL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL3N5c2luZm8uUwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40NTc3YWY5Ci0tLSAvZGV2L251bGwKKysrIGIvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvc3lzaW5mby5TCkBAIC0wLDAgKzEsMjIgQEAKKy8qIGF1dG9nZW5lcmF0ZWQgYnkgZ2Vuc3lzY2FsbHMucHkgKi8KKyNpbmNsdWRlIDxzeXMvbGludXgtc3lzY2FsbHMuaD4KKyAgICAudGV4dAorICAgIC5nbG9ibCBzeXNpbmZvCisgICAgLmFsaWduIDQKKyAgICAuZW50IHN5c2luZm8KKworc3lzaW5mbzoKKyAgICAuc2V0IG5vcmVvcmRlcgorICAgIC5jcGxvYWQgJHQ5CisgICAgbGkgJHYwLCBfX05SX3N5c2luZm8KKyAgICBzeXNjYWxsCisgICAgYm5leiAkYTMsIDFmCisgICAgbW92ZSAkYTAsICR2MAorICAgIGogJHJhCisgICAgbm9wCisxOgorICAgIGxhICR0OSxfX3NldF9lcnJubworICAgIGogJHQ5CisgICAgbm9wCisgICAgLnNldCByZW9yZGVyCisgICAgLmVuZCBzeXNpbmZvCmRpZmYgLS1naXQgYS9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy90Z2tpbGwuUyBiL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL3Rna2lsbC5TCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU3YjNhODUKLS0tIC9kZXYvbnVsbAorKysgYi9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy90Z2tpbGwuUwpAQCAtMCwwICsxLDIyIEBACisvKiBhdXRvZ2VuZXJhdGVkIGJ5IGdlbnN5c2NhbGxzLnB5ICovCisjaW5jbHVkZSA8c3lzL2xpbnV4LXN5c2NhbGxzLmg+CisgICAgLnRleHQKKyAgICAuZ2xvYmwgdGdraWxsCisgICAgLmFsaWduIDQKKyAgICAuZW50IHRna2lsbAorCit0Z2tpbGw6CisgICAgLnNldCBub3Jlb3JkZXIKKyAgICAuY3Bsb2FkICR0OQorICAgIGxpICR2MCwgX19OUl90Z2tpbGwKKyAgICBzeXNjYWxsCisgICAgYm5leiAkYTMsIDFmCisgICAgbW92ZSAkYTAsICR2MAorICAgIGogJHJhCisgICAgbm9wCisxOgorICAgIGxhICR0OSxfX3NldF9lcnJubworICAgIGogJHQ5CisgICAgbm9wCisgICAgLnNldCByZW9yZGVyCisgICAgLmVuZCB0Z2tpbGwKZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL3RpbWVzLlMgYi9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy90aW1lcy5TCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNlODk1MGQKLS0tIC9kZXYvbnVsbAorKysgYi9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy90aW1lcy5TCkBAIC0wLDAgKzEsMjIgQEAKKy8qIGF1dG9nZW5lcmF0ZWQgYnkgZ2Vuc3lzY2FsbHMucHkgKi8KKyNpbmNsdWRlIDxzeXMvbGludXgtc3lzY2FsbHMuaD4KKyAgICAudGV4dAorICAgIC5nbG9ibCB0aW1lcworICAgIC5hbGlnbiA0CisgICAgLmVudCB0aW1lcworCit0aW1lczoKKyAgICAuc2V0IG5vcmVvcmRlcgorICAgIC5jcGxvYWQgJHQ5CisgICAgbGkgJHYwLCBfX05SX3RpbWVzCisgICAgc3lzY2FsbAorICAgIGJuZXogJGEzLCAxZgorICAgIG1vdmUgJGEwLCAkdjAKKyAgICBqICRyYQorICAgIG5vcAorMToKKyAgICBsYSAkdDksX19zZXRfZXJybm8KKyAgICBqICR0OQorICAgIG5vcAorICAgIC5zZXQgcmVvcmRlcgorICAgIC5lbmQgdGltZXMKZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL3RraWxsLlMgYi9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy90a2lsbC5TCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjMwMzdiYWEKLS0tIC9kZXYvbnVsbAorKysgYi9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy90a2lsbC5TCkBAIC0wLDAgKzEsMjIgQEAKKy8qIGF1dG9nZW5lcmF0ZWQgYnkgZ2Vuc3lzY2FsbHMucHkgKi8KKyNpbmNsdWRlIDxzeXMvbGludXgtc3lzY2FsbHMuaD4KKyAgICAudGV4dAorICAgIC5nbG9ibCB0a2lsbAorICAgIC5hbGlnbiA0CisgICAgLmVudCB0a2lsbAorCit0a2lsbDoKKyAgICAuc2V0IG5vcmVvcmRlcgorICAgIC5jcGxvYWQgJHQ5CisgICAgbGkgJHYwLCBfX05SX3RraWxsCisgICAgc3lzY2FsbAorICAgIGJuZXogJGEzLCAxZgorICAgIG1vdmUgJGEwLCAkdjAKKyAgICBqICRyYQorICAgIG5vcAorMToKKyAgICBsYSAkdDksX19zZXRfZXJybm8KKyAgICBqICR0OQorICAgIG5vcAorICAgIC5zZXQgcmVvcmRlcgorICAgIC5lbmQgdGtpbGwKZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL3RydW5jYXRlLlMgYi9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy90cnVuY2F0ZS5TCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRhOGYxMmMKLS0tIC9kZXYvbnVsbAorKysgYi9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy90cnVuY2F0ZS5TCkBAIC0wLDAgKzEsMjIgQEAKKy8qIGF1dG9nZW5lcmF0ZWQgYnkgZ2Vuc3lzY2FsbHMucHkgKi8KKyNpbmNsdWRlIDxzeXMvbGludXgtc3lzY2FsbHMuaD4KKyAgICAudGV4dAorICAgIC5nbG9ibCB0cnVuY2F0ZQorICAgIC5hbGlnbiA0CisgICAgLmVudCB0cnVuY2F0ZQorCit0cnVuY2F0ZToKKyAgICAuc2V0IG5vcmVvcmRlcgorICAgIC5jcGxvYWQgJHQ5CisgICAgbGkgJHYwLCBfX05SX3RydW5jYXRlCisgICAgc3lzY2FsbAorICAgIGJuZXogJGEzLCAxZgorICAgIG1vdmUgJGEwLCAkdjAKKyAgICBqICRyYQorICAgIG5vcAorMToKKyAgICBsYSAkdDksX19zZXRfZXJybm8KKyAgICBqICR0OQorICAgIG5vcAorICAgIC5zZXQgcmVvcmRlcgorICAgIC5lbmQgdHJ1bmNhdGUKZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL3VtYXNrLlMgYi9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy91bWFzay5TCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVlZTkxMWUKLS0tIC9kZXYvbnVsbAorKysgYi9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy91bWFzay5TCkBAIC0wLDAgKzEsMjIgQEAKKy8qIGF1dG9nZW5lcmF0ZWQgYnkgZ2Vuc3lzY2FsbHMucHkgKi8KKyNpbmNsdWRlIDxzeXMvbGludXgtc3lzY2FsbHMuaD4KKyAgICAudGV4dAorICAgIC5nbG9ibCB1bWFzaworICAgIC5hbGlnbiA0CisgICAgLmVudCB1bWFzaworCit1bWFzazoKKyAgICAuc2V0IG5vcmVvcmRlcgorICAgIC5jcGxvYWQgJHQ5CisgICAgbGkgJHYwLCBfX05SX3VtYXNrCisgICAgc3lzY2FsbAorICAgIGJuZXogJGEzLCAxZgorICAgIG1vdmUgJGEwLCAkdjAKKyAgICBqICRyYQorICAgIG5vcAorMToKKyAgICBsYSAkdDksX19zZXRfZXJybm8KKyAgICBqICR0OQorICAgIG5vcAorICAgIC5zZXQgcmVvcmRlcgorICAgIC5lbmQgdW1hc2sKZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL3Vtb3VudDIuUyBiL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL3Vtb3VudDIuUwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jNmQ5ZGY2Ci0tLSAvZGV2L251bGwKKysrIGIvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvdW1vdW50Mi5TCkBAIC0wLDAgKzEsMjIgQEAKKy8qIGF1dG9nZW5lcmF0ZWQgYnkgZ2Vuc3lzY2FsbHMucHkgKi8KKyNpbmNsdWRlIDxzeXMvbGludXgtc3lzY2FsbHMuaD4KKyAgICAudGV4dAorICAgIC5nbG9ibCB1bW91bnQyCisgICAgLmFsaWduIDQKKyAgICAuZW50IHVtb3VudDIKKwordW1vdW50MjoKKyAgICAuc2V0IG5vcmVvcmRlcgorICAgIC5jcGxvYWQgJHQ5CisgICAgbGkgJHYwLCBfX05SX3Vtb3VudDIKKyAgICBzeXNjYWxsCisgICAgYm5leiAkYTMsIDFmCisgICAgbW92ZSAkYTAsICR2MAorICAgIGogJHJhCisgICAgbm9wCisxOgorICAgIGxhICR0OSxfX3NldF9lcnJubworICAgIGogJHQ5CisgICAgbm9wCisgICAgLnNldCByZW9yZGVyCisgICAgLmVuZCB1bW91bnQyCmRpZmYgLS1naXQgYS9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy91bmFtZS5TIGIvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvdW5hbWUuUwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43ZTRmNzgwCi0tLSAvZGV2L251bGwKKysrIGIvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvdW5hbWUuUwpAQCAtMCwwICsxLDIyIEBACisvKiBhdXRvZ2VuZXJhdGVkIGJ5IGdlbnN5c2NhbGxzLnB5ICovCisjaW5jbHVkZSA8c3lzL2xpbnV4LXN5c2NhbGxzLmg+CisgICAgLnRleHQKKyAgICAuZ2xvYmwgdW5hbWUKKyAgICAuYWxpZ24gNAorICAgIC5lbnQgdW5hbWUKKwordW5hbWU6CisgICAgLnNldCBub3Jlb3JkZXIKKyAgICAuY3Bsb2FkICR0OQorICAgIGxpICR2MCwgX19OUl91bmFtZQorICAgIHN5c2NhbGwKKyAgICBibmV6ICRhMywgMWYKKyAgICBtb3ZlICRhMCwgJHYwCisgICAgaiAkcmEKKyAgICBub3AKKzE6CisgICAgbGEgJHQ5LF9fc2V0X2Vycm5vCisgICAgaiAkdDkKKyAgICBub3AKKyAgICAuc2V0IHJlb3JkZXIKKyAgICAuZW5kIHVuYW1lCmRpZmYgLS1naXQgYS9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy91bmxpbmsuUyBiL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL3VubGluay5TCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZkOGRhZDkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy91bmxpbmsuUwpAQCAtMCwwICsxLDIyIEBACisvKiBhdXRvZ2VuZXJhdGVkIGJ5IGdlbnN5c2NhbGxzLnB5ICovCisjaW5jbHVkZSA8c3lzL2xpbnV4LXN5c2NhbGxzLmg+CisgICAgLnRleHQKKyAgICAuZ2xvYmwgdW5saW5rCisgICAgLmFsaWduIDQKKyAgICAuZW50IHVubGluaworCit1bmxpbms6CisgICAgLnNldCBub3Jlb3JkZXIKKyAgICAuY3Bsb2FkICR0OQorICAgIGxpICR2MCwgX19OUl91bmxpbmsKKyAgICBzeXNjYWxsCisgICAgYm5leiAkYTMsIDFmCisgICAgbW92ZSAkYTAsICR2MAorICAgIGogJHJhCisgICAgbm9wCisxOgorICAgIGxhICR0OSxfX3NldF9lcnJubworICAgIGogJHQ5CisgICAgbm9wCisgICAgLnNldCByZW9yZGVyCisgICAgLmVuZCB1bmxpbmsKZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL3VubGlua2F0LlMgYi9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy91bmxpbmthdC5TCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc5M2FiNWUKLS0tIC9kZXYvbnVsbAorKysgYi9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy91bmxpbmthdC5TCkBAIC0wLDAgKzEsMjIgQEAKKy8qIGF1dG9nZW5lcmF0ZWQgYnkgZ2Vuc3lzY2FsbHMucHkgKi8KKyNpbmNsdWRlIDxzeXMvbGludXgtc3lzY2FsbHMuaD4KKyAgICAudGV4dAorICAgIC5nbG9ibCB1bmxpbmthdAorICAgIC5hbGlnbiA0CisgICAgLmVudCB1bmxpbmthdAorCit1bmxpbmthdDoKKyAgICAuc2V0IG5vcmVvcmRlcgorICAgIC5jcGxvYWQgJHQ5CisgICAgbGkgJHYwLCBfX05SX3VubGlua2F0CisgICAgc3lzY2FsbAorICAgIGJuZXogJGEzLCAxZgorICAgIG1vdmUgJGEwLCAkdjAKKyAgICBqICRyYQorICAgIG5vcAorMToKKyAgICBsYSAkdDksX19zZXRfZXJybm8KKyAgICBqICR0OQorICAgIG5vcAorICAgIC5zZXQgcmVvcmRlcgorICAgIC5lbmQgdW5saW5rYXQKZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL3V0aW1lbnNhdC5TIGIvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvdXRpbWVuc2F0LlMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDM1YzQ5ZQotLS0gL2Rldi9udWxsCisrKyBiL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL3V0aW1lbnNhdC5TCkBAIC0wLDAgKzEsMjIgQEAKKy8qIGF1dG9nZW5lcmF0ZWQgYnkgZ2Vuc3lzY2FsbHMucHkgKi8KKyNpbmNsdWRlIDxzeXMvbGludXgtc3lzY2FsbHMuaD4KKyAgICAudGV4dAorICAgIC5nbG9ibCB1dGltZW5zYXQKKyAgICAuYWxpZ24gNAorICAgIC5lbnQgdXRpbWVuc2F0CisKK3V0aW1lbnNhdDoKKyAgICAuc2V0IG5vcmVvcmRlcgorICAgIC5jcGxvYWQgJHQ5CisgICAgbGkgJHYwLCBfX05SX3V0aW1lbnNhdAorICAgIHN5c2NhbGwKKyAgICBibmV6ICRhMywgMWYKKyAgICBtb3ZlICRhMCwgJHYwCisgICAgaiAkcmEKKyAgICBub3AKKzE6CisgICAgbGEgJHQ5LF9fc2V0X2Vycm5vCisgICAgaiAkdDkKKyAgICBub3AKKyAgICAuc2V0IHJlb3JkZXIKKyAgICAuZW5kIHV0aW1lbnNhdApkaWZmIC0tZ2l0IGEvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvdXRpbWVzLlMgYi9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy91dGltZXMuUwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44Y2UxZTQ0Ci0tLSAvZGV2L251bGwKKysrIGIvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvdXRpbWVzLlMKQEAgLTAsMCArMSwyMiBAQAorLyogYXV0b2dlbmVyYXRlZCBieSBnZW5zeXNjYWxscy5weSAqLworI2luY2x1ZGUgPHN5cy9saW51eC1zeXNjYWxscy5oPgorICAgIC50ZXh0CisgICAgLmdsb2JsIHV0aW1lcworICAgIC5hbGlnbiA0CisgICAgLmVudCB1dGltZXMKKwordXRpbWVzOgorICAgIC5zZXQgbm9yZW9yZGVyCisgICAgLmNwbG9hZCAkdDkKKyAgICBsaSAkdjAsIF9fTlJfdXRpbWVzCisgICAgc3lzY2FsbAorICAgIGJuZXogJGEzLCAxZgorICAgIG1vdmUgJGEwLCAkdjAKKyAgICBqICRyYQorICAgIG5vcAorMToKKyAgICBsYSAkdDksX19zZXRfZXJybm8KKyAgICBqICR0OQorICAgIG5vcAorICAgIC5zZXQgcmVvcmRlcgorICAgIC5lbmQgdXRpbWVzCmRpZmYgLS1naXQgYS9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy93cml0ZS5TIGIvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvd3JpdGUuUwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hNzcyYWNlCi0tLSAvZGV2L251bGwKKysrIGIvbGliYy9hcmNoLW1pcHMvc3lzY2FsbHMvd3JpdGUuUwpAQCAtMCwwICsxLDIyIEBACisvKiBhdXRvZ2VuZXJhdGVkIGJ5IGdlbnN5c2NhbGxzLnB5ICovCisjaW5jbHVkZSA8c3lzL2xpbnV4LXN5c2NhbGxzLmg+CisgICAgLnRleHQKKyAgICAuZ2xvYmwgd3JpdGUKKyAgICAuYWxpZ24gNAorICAgIC5lbnQgd3JpdGUKKword3JpdGU6CisgICAgLnNldCBub3Jlb3JkZXIKKyAgICAuY3Bsb2FkICR0OQorICAgIGxpICR2MCwgX19OUl93cml0ZQorICAgIHN5c2NhbGwKKyAgICBibmV6ICRhMywgMWYKKyAgICBtb3ZlICRhMCwgJHYwCisgICAgaiAkcmEKKyAgICBub3AKKzE6CisgICAgbGEgJHQ5LF9fc2V0X2Vycm5vCisgICAgaiAkdDkKKyAgICBub3AKKyAgICAuc2V0IHJlb3JkZXIKKyAgICAuZW5kIHdyaXRlCmRpZmYgLS1naXQgYS9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy93cml0ZXYuUyBiL2xpYmMvYXJjaC1taXBzL3N5c2NhbGxzL3dyaXRldi5TCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJkYWNiNDIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJjL2FyY2gtbWlwcy9zeXNjYWxscy93cml0ZXYuUwpAQCAtMCwwICsxLDIyIEBACisvKiBhdXRvZ2VuZXJhdGVkIGJ5IGdlbnN5c2NhbGxzLnB5ICovCisjaW5jbHVkZSA8c3lzL2xpbnV4LXN5c2NhbGxzLmg+CisgICAgLnRleHQKKyAgICAuZ2xvYmwgd3JpdGV2CisgICAgLmFsaWduIDQKKyAgICAuZW50IHdyaXRldgorCit3cml0ZXY6CisgICAgLnNldCBub3Jlb3JkZXIKKyAgICAuY3Bsb2FkICR0OQorICAgIGxpICR2MCwgX19OUl93cml0ZXYKKyAgICBzeXNjYWxsCisgICAgYm5leiAkYTMsIDFmCisgICAgbW92ZSAkYTAsICR2MAorICAgIGogJHJhCisgICAgbm9wCisxOgorICAgIGxhICR0OSxfX3NldF9lcnJubworICAgIGogJHQ5CisgICAgbm9wCisgICAgLnNldCByZW9yZGVyCisgICAgLmVuZCB3cml0ZXYKZGlmZiAtLWdpdCBhL2xpYmMvYXJjaC14ODYvc3RyaW5nL3Nzc2UzLW1lbWNweTUuUyBiL2xpYmMvYXJjaC14ODYvc3RyaW5nL3Nzc2UzLW1lbWNweTUuUwppbmRleCAxYmY2ZDIyLi5iMDYxMmE2IDEwMDY0NAotLS0gYS9saWJjL2FyY2gteDg2L3N0cmluZy9zc3NlMy1tZW1jcHk1LlMKKysrIGIvbGliYy9hcmNoLXg4Ni9zdHJpbmcvc3NzZTMtbWVtY3B5NS5TCkBAIC0yOSwyMyArMjksMTkgQEAKICovCiAKICNpZm5kZWYgTUVNQ1BZCi0jIGRlZmluZSBNRU1DUFkgICAgICAgICBzc3NlM19tZW1jcHk1CisjIGRlZmluZSBNRU1DUFkJc3NzZTNfbWVtY3B5NQogI2VuZGlmCiAKICNpZm5kZWYgTAogIyBkZWZpbmUgTChsYWJlbCkJLkwjI2xhYmVsCiAjZW5kaWYKIAotI2lmbmRlZiBBTElHTgotIyBkZWZpbmUgQUxJR04obikJLnAyYWxpZ24gbgotI2VuZGlmCi0KICNpZm5kZWYgY2ZpX3N0YXJ0cHJvYwotIyBkZWZpbmUgY2ZpX3N0YXJ0cHJvYwkJCS5jZmlfc3RhcnRwcm9jCisjIGRlZmluZSBjZmlfc3RhcnRwcm9jCS5jZmlfc3RhcnRwcm9jCiAjZW5kaWYKIAogI2lmbmRlZiBjZmlfZW5kcHJvYwotIyBkZWZpbmUgY2ZpX2VuZHByb2MJCQkuY2ZpX2VuZHByb2MKKyMgZGVmaW5lIGNmaV9lbmRwcm9jCS5jZmlfZW5kcHJvYwogI2VuZGlmCiAKICNpZm5kZWYgY2ZpX3JlbF9vZmZzZXQKQEAgLTUzLDMzICs0OSwyNSBAQAogI2VuZGlmCiAKICNpZm5kZWYgY2ZpX3Jlc3RvcmUKLSMgZGVmaW5lIGNmaV9yZXN0b3JlKHJlZykJCS5jZmlfcmVzdG9yZSByZWcKKyMgZGVmaW5lIGNmaV9yZXN0b3JlKHJlZykJLmNmaV9yZXN0b3JlIHJlZwogI2VuZGlmCiAKICNpZm5kZWYgY2ZpX2FkanVzdF9jZmFfb2Zmc2V0CiAjIGRlZmluZSBjZmlfYWRqdXN0X2NmYV9vZmZzZXQob2ZmKQkuY2ZpX2FkanVzdF9jZmFfb2Zmc2V0IG9mZgogI2VuZGlmCiAKLSNpZm5kZWYgY2ZpX3JlbWVtYmVyX3N0YXRlCi0jIGRlZmluZSBjZmlfcmVtZW1iZXJfc3RhdGUJCS5jZmlfcmVtZW1iZXJfc3RhdGUKLSNlbmRpZgotCi0jaWZuZGVmIGNmaV9yZXN0b3JlX3N0YXRlCi0jIGRlZmluZSBjZmlfcmVzdG9yZV9zdGF0ZQkJLmNmaV9yZXN0b3JlX3N0YXRlCi0jZW5kaWYKLQogI2lmbmRlZiBFTlRSWQotIyBkZWZpbmUgRU5UUlkobmFtZSkJCQlcCi0JLnR5cGUgbmFtZSwgIEBmdW5jdGlvbjsgCVwKLQkuZ2xvYmwgbmFtZTsJCQlcCi0JLnAyYWxpZ24gNDsJCQlcCi1uYW1lOgkJCQkJXAorIyBkZWZpbmUgRU5UUlkobmFtZSkJCVwKKwkudHlwZSBuYW1lLCAgQGZ1bmN0aW9uOwkJXAorCS5nbG9ibCBuYW1lOwkJXAorCS5wMmFsaWduIDQ7CQlcCituYW1lOgkJXAogCWNmaV9zdGFydHByb2MKICNlbmRpZgogCiAjaWZuZGVmIEVORAotIyBkZWZpbmUgRU5EKG5hbWUpCQkJXAotCWNmaV9lbmRwcm9jOwkJCVwKKyMgZGVmaW5lIEVORChuYW1lKQkJXAorCWNmaV9lbmRwcm9jOwkJXAogCS5zaXplIG5hbWUsIC4tbmFtZQogI2VuZGlmCiAKQEAgLTkzLDEyICs4MSwxMiBAQAogIyBkZWZpbmUgTEVOCQlTUkMrNAogI2VuZGlmCiAKLSNkZWZpbmUgQ0ZJX1BVU0goUkVHKQkJCQkJCVwKLSAgY2ZpX2FkanVzdF9jZmFfb2Zmc2V0ICg0KTsJCQkJCVwKKyNkZWZpbmUgQ0ZJX1BVU0goUkVHKQkJXAorICBjZmlfYWRqdXN0X2NmYV9vZmZzZXQgKDQpOwkJXAogICBjZmlfcmVsX29mZnNldCAoUkVHLCAwKQogCi0jZGVmaW5lIENGSV9QT1AoUkVHKQkJCQkJCVwKLSAgY2ZpX2FkanVzdF9jZmFfb2Zmc2V0ICgtNCk7CQkJCQlcCisjZGVmaW5lIENGSV9QT1AoUkVHKQkJXAorICBjZmlfYWRqdXN0X2NmYV9vZmZzZXQgKC00KTsJCVwKICAgY2ZpX3Jlc3RvcmUgKFJFRykKIAogI2RlZmluZSBQVVNIKFJFRykJcHVzaGwgUkVHOyBDRklfUFVTSCAoUkVHKQpAQCAtMTEwLDM4ICs5OCwyNiBAQAogIyBkZWZpbmUgUkVUVVJOX0VORAlQT1AgKCVlYngpOyByZXQKICMgZGVmaW5lIFJFVFVSTgkJUkVUVVJOX0VORDsgQ0ZJX1BVU0ggKCVlYngpCiAjIGRlZmluZSBKTVBUQkwoSSwgQikJSSAtIEIKKyMgdW5kZWYgX19pNjg2CisKKyMgZGVmaW5lIFNFVFVQX1BJQ19SRUcoeCkJY2FsbAlfX2k2ODYuZ2V0X3BjX3RodW5rLngKIAogLyogTG9hZCBhbiBlbnRyeSBpbiBhIGp1bXAgdGFibGUgaW50byBFQlggYW5kIGJyYW5jaCB0byBpdC4gIFRBQkxFIGlzIGEKLSAgIGp1bXAgdGFibGUgd2l0aCByZWxhdGl2ZSBvZmZzZXRzLiAgSU5ERVggaXMgYSByZWdpc3RlciBjb250YWlucyB0aGUKLSAgIGluZGV4IGludG8gdGhlIGp1bXAgdGFibGUuICAgU0NBTEUgaXMgdGhlIHNjYWxlIG9mIElOREVYLiAqLworCWp1bXAgdGFibGUgd2l0aCByZWxhdGl2ZSBvZmZzZXRzLiAgSU5ERVggaXMgYSByZWdpc3RlciBjb250YWlucyB0aGUKKwlpbmRleCBpbnRvIHRoZSBqdW1wIHRhYmxlLiAgIFNDQUxFIGlzIHRoZSBzY2FsZSBvZiBJTkRFWC4gKi8KKwogIyBkZWZpbmUgQlJBTkNIX1RPX0pNUFRCTF9FTlRSWShUQUJMRSwgSU5ERVgsIFNDQUxFKQkJXAotICAgIC8qIFdlIGZpcnN0IGxvYWQgUEMgaW50byBFQlguICAqLwkJCQlcCi0gICAgY2FsbAlfX2k2ODYuZ2V0X3BjX3RodW5rLmJ4OwkJCQlcCi0gICAgLyogR2V0IHRoZSBhZGRyZXNzIG9mIHRoZSBqdW1wIHRhYmxlLiAgKi8JCQlcCi0gICAgYWRkbAkkKFRBQkxFIC0gLiksICVlYng7CQkJCVwKLSAgICAvKiBHZXQgdGhlIGVudHJ5IGFuZCBjb252ZXJ0IHRoZSByZWxhdGl2ZSBvZmZzZXQgdG8gdGhlCVwKLSAgICAgICBhYnNvbHV0ZSBhZGRyZXNzLiAgKi8JCQkJCVwKLSAgICBhZGRsCSglZWJ4LElOREVYLFNDQUxFKSwgJWVieDsJCQlcCi0gICAgLyogV2UgbG9hZGVkIHRoZSBqdW1wIHRhYmxlLiAgR28uICAqLwkJCVwKLSAgICBqbXAJCSolZWJ4Ci0KLSMgZGVmaW5lIEJSQU5DSF9UT19KTVBUQkxfRU5UUllfVkFMVUUoVEFCTEUpCQkJXAotICAgIGFkZGwJJChUQUJMRSAtIC4pLCAlZWJ4Ci0KLSMgZGVmaW5lIEJSQU5DSF9UT19KTVBUQkxfRU5UUllfVEFJTChUQUJMRSwgSU5ERVgsIFNDQUxFKQlcCi0gICAgYWRkbAkoJWVieCxJTkRFWCxTQ0FMRSksICVlYng7CQkJXAotICAgIC8qIFdlIGxvYWRlZCB0aGUganVtcCB0YWJsZS4gIEdvLiAgKi8JCQlcCi0gICAgam1wCQkqJWVieAotCi0JLnNlY3Rpb24JLmdudS5saW5rb25jZS50Ll9faTY4Ni5nZXRfcGNfdGh1bmsuYngsImF4IixAcHJvZ2JpdHMKLQkuZ2xvYmwJX19pNjg2LmdldF9wY190aHVuay5ieAotCS5oaWRkZW4JX19pNjg2LmdldF9wY190aHVuay5ieAotCUFMSUdOICg0KQotCS50eXBlCV9faTY4Ni5nZXRfcGNfdGh1bmsuYngsQGZ1bmN0aW9uCi1fX2k2ODYuZ2V0X3BjX3RodW5rLmJ4OgotCW1vdmwJKCVlc3ApLCAlZWJ4Ci0JcmV0CisgICAgLyogV2UgZmlyc3QgbG9hZCBQQyBpbnRvIEVCWC4gICovCQlcCisJU0VUVVBfUElDX1JFRyhieCk7CQlcCisgICAgLyogR2V0IHRoZSBhZGRyZXNzIG9mIHRoZSBqdW1wIHRhYmxlLiAgKi8JCVwKKwlhZGRsCSQoVEFCTEUgLSAuKSwgJWVieDsJCVwKKyAgICAvKiBHZXQgdGhlIGVudHJ5IGFuZCBjb252ZXJ0IHRoZSByZWxhdGl2ZSBvZmZzZXQgdG8gdGhlCQlcCisJYWJzb2x1dGUJYWRkcmVzcy4gICovCQlcCisJYWRkbAkoJWVieCwgSU5ERVgsIFNDQUxFKSwgJWVieDsJCVwKKyAgICAvKiBXZSBsb2FkZWQgdGhlIGp1bXAgdGFibGUuICBHby4gICovCQlcCisJam1wCSolZWJ4CiAjZWxzZQorCiAjIGRlZmluZSBQQVJNUwkJNAogIyBkZWZpbmUgRU5UUkFOQ0UKICMgZGVmaW5lIFJFVFVSTl9FTkQJcmV0CkBAIC0xNDksMTUgKzEyNSwxMSBAQAogIyBkZWZpbmUgSk1QVEJMKEksIEIpCUkKIAogLyogQnJhbmNoIHRvIGFuIGVudHJ5IGluIGEganVtcCB0YWJsZS4gIFRBQkxFIGlzIGEganVtcCB0YWJsZSB3aXRoCi0gICBhYnNvbHV0ZSBvZmZzZXRzLiAgSU5ERVggaXMgYSByZWdpc3RlciBjb250YWlucyB0aGUgaW5kZXggaW50byB0aGUKLSAgIGp1bXAgdGFibGUuICBTQ0FMRSBpcyB0aGUgc2NhbGUgb2YgSU5ERVguICovCisJYWJzb2x1dGUgb2Zmc2V0cy4gIElOREVYIGlzIGEgcmVnaXN0ZXIgY29udGFpbnMgdGhlIGluZGV4IGludG8gdGhlCisJanVtcCB0YWJsZS4gIFNDQUxFIGlzIHRoZSBzY2FsZSBvZiBJTkRFWC4gKi8KKwogIyBkZWZpbmUgQlJBTkNIX1RPX0pNUFRCTF9FTlRSWShUQUJMRSwgSU5ERVgsIFNDQUxFKQkJXAotICAgIGptcAkJKlRBQkxFKCxJTkRFWCxTQ0FMRSkKLQotIyBkZWZpbmUgQlJBTkNIX1RPX0pNUFRCTF9FTlRSWV9WQUxVRShUQUJMRSkKLQotIyBkZWZpbmUgQlJBTkNIX1RPX0pNUFRCTF9FTlRSWV9UQUlMKFRBQkxFLCBJTkRFWCwgU0NBTEUpCQlcCi0gICAgam1wCQkqVEFCTEUoLElOREVYLFNDQUxFKQorCWptcAkqVEFCTEUoLCBJTkRFWCwgU0NBTEUpCiAjZW5kaWYKIAogCS5zZWN0aW9uIC50ZXh0LnNzc2UzLCJheCIsQHByb2diaXRzCkBAIC0xNzQsNiArMTQ2LDggQEAKIAljbXAJJDMyLCAlZWN4CiAJamFlCUwobWVtbW92ZV9id2QpCiAJam1wCUwoYmtfd3JpdGVfbGVzczMyYnl0ZXNfMikKKworCS5wMmFsaWduIDQKIEwobWVtbW92ZV9id2QpOgogCWFkZAklZWN4LCAlZWF4CiAJY21wCSVlYXgsICVlZHgKQEAgLTE5NCwyMSArMTY4LDI1IEBACiAJYWRkCSVlY3gsICVlYXgKIAlCUkFOQ0hfVE9fSk1QVEJMX0VOVFJZIChMKHRhYmxlXzQ4Ynl0ZXNfZndkKSwgJWVjeCwgNCkKICNpZm5kZWYgVVNFX0FTX01FTU1PVkUKKwkucDJhbGlnbiA0CiBMKGJrX3dyaXRlKToKIAlCUkFOQ0hfVE9fSk1QVEJMX0VOVFJZIChMKHRhYmxlXzQ4X2J5dGVzX2J3ZCksICVlY3gsIDQpCiAjZW5kaWYKIAotCUFMSUdOICg0KQotLyogRUNYID4gMzIgYW5kIEVEWCBpcyA0IGJ5dGUgYWxpZ25lZC4gICovCisJLnAyYWxpZ24gNAogTCg0OGJ5dGVzb3Jtb3JlKToKKyNpZm5kZWYgVVNFX0FTX01FTU1PVkUKKwltb3ZscGQJKCVlYXgpLCAleG1tMAorCW1vdmxwZAk4KCVlYXgpLCAleG1tMQorCW1vdmxwZAkleG1tMCwgKCVlZHgpCisJbW92bHBkCSV4bW0xLCA4KCVlZHgpCisjZWxzZQogCW1vdmRxdQkoJWVheCksICV4bW0wCisjZW5kaWYKIAlQVVNIICglZWRpKQogCW1vdmwJJWVkeCwgJWVkaQogCWFuZAkkLTE2LCAlZWR4Ci0JUFVTSCAoJWVzaSkKLQljZmlfcmVtZW1iZXJfc3RhdGUKIAlhZGQJJDE2LCAlZWR4Ci0JbW92bAklZWRpLCAlZXNpCiAJc3ViCSVlZHgsICVlZGkKIAlhZGQJJWVkaSwgJWVjeAogCXN1YgklZWRpLCAlZWF4CkBAIC0yMTcsNyArMTk1LDcgQEAKIAljbXAJJFNIQVJFRF9DQUNIRV9TSVpFX0hBTEYsICVlY3gKICNlbHNlCiAjIGlmIChkZWZpbmVkIFNIQVJFRCB8fCBkZWZpbmVkIF9fUElDX18pCi0JY2FsbAlfX2k2ODYuZ2V0X3BjX3RodW5rLmJ4CisJU0VUVVBfUElDX1JFRyhieCkKIAlhZGQJJF9HTE9CQUxfT0ZGU0VUX1RBQkxFXywgJWVieAogCWNtcAlfX3g4Nl9zaGFyZWRfY2FjaGVfc2l6ZV9oYWxmQEdPVE9GRiglZWJ4KSwgJWVjeAogIyBlbHNlCkBAIC0yMjksMTkgKzIwNywyMCBAQAogCWphZQlMKGxhcmdlX3BhZ2UpCiAJYW5kCSQweGYsICVlZGkKIAlqeglMKHNobF8wKQotCiAJQlJBTkNIX1RPX0pNUFRCTF9FTlRSWSAoTChzaGxfdGFibGUpLCAlZWRpLCA0KQogCi0JY2ZpX3Jlc3RvcmVfc3RhdGUKLQljZmlfcmVtZW1iZXJfc3RhdGUKLQlBTElHTiAoNCkKKwkucDJhbGlnbiA0CiBMKHNobF8wKToKLQltb3ZkcXUJJXhtbTAsICglZXNpKQorI2lmZGVmIFVTRV9BU19NRU1NT1ZFCisJbW92bAlERVNUKzQoJWVzcCksICVlZGkKKwltb3ZkcXUJJXhtbTAsICglZWRpKQorI2VuZGlmCiAJeG9yCSVlZGksICVlZGkKLQlQT1AgKCVlc2kpCiAJY21wCSQxMjcsICVlY3gKIAlqYQlMKHNobF8wX2dvYmJsZSkKIAlsZWEJLTMyKCVlY3gpLCAlZWN4CisKKwkucDJhbGlnbiA0CiBMKHNobF8wX2xvb3ApOgogCW1vdmRxYQkoJWVheCwgJWVkaSksICV4bW0wCiAJbW92ZHFhCTE2KCVlYXgsICVlZGkpLCAleG1tMQpAQCAtMjczLDMyICsyNTIsMzUgQEAKIAltb3ZkcWEJJXhtbTAsICglZWR4LCAlZWRpKQogCW1vdmRxYQkleG1tMSwgMTYoJWVkeCwgJWVkaSkKIAlsZWEJMzIoJWVkaSksICVlZGkKKwogTChzaGxfMF9lbmQpOgogCWxlYQkzMiglZWN4KSwgJWVjeAogCWFkZAklZWN4LCAlZWRpCiAJYWRkCSVlZGksICVlZHgKIAlhZGQJJWVkaSwgJWVheAogCVBPUCAoJWVkaSkKLQlCUkFOQ0hfVE9fSk1QVEJMX0VOVFJZIChMKHRhYmxlXzQ4Ynl0ZXNfZndkKSwgJWVjeCwgNCkKKwlCUkFOQ0hfVE9fSk1QVEJMX0VOVFJZIChMKHRhYmxlXzQ4Ynl0ZXNfZndkX2FsaWduKSwgJWVjeCwgNCkKIAogCUNGSV9QVVNIICglZWRpKQotTChzaGxfMF9nb2JibGUpOgogCisJLnAyYWxpZ24gNAorTChzaGxfMF9nb2JibGUpOgogI2lmZGVmIERBVEFfQ0FDSEVfU0laRV9IQUxGCiAJY21wCSREQVRBX0NBQ0hFX1NJWkVfSEFMRiwgJWVjeAogI2Vsc2UKICMgaWYgKGRlZmluZWQgU0hBUkVEIHx8IGRlZmluZWQgX19QSUNfXykKLQljYWxsCV9faTY4Ni5nZXRfcGNfdGh1bmsuYngKKwlTRVRVUF9QSUNfUkVHKGJ4KQogCWFkZAkkX0dMT0JBTF9PRkZTRVRfVEFCTEVfLCAlZWJ4CiAJY21wCV9feDg2X2RhdGFfY2FjaGVfc2l6ZV9oYWxmQEdPVE9GRiglZWJ4KSwgJWVjeAogIyBlbHNlCiAJY21wCV9feDg2X2RhdGFfY2FjaGVfc2l6ZV9oYWxmLCAlZWN4CiAjIGVuZGlmCiAjZW5kaWYKLQotCVBPUCAoJWVkaSkKKwlQT1AJKCVlZGkpCiAJbGVhCS0xMjgoJWVjeCksICVlY3gKIAlqYWUJTChzaGxfMF9nb2JibGVfbWVtX2xvb3ApCisKKwkucDJhbGlnbiA0CiBMKHNobF8wX2dvYmJsZV9jYWNoZV9sb29wKToKIAltb3ZkcWEJKCVlYXgpLCAleG1tMAogCW1vdmRxYQkweDEwKCVlYXgpLCAleG1tMQpAQCAtMzI4LDE3ICszMTAsMTUgQEAKIAltb3ZkcWEJKCVlYXgpLCAleG1tMAogCXN1YgkkMHg0MCwgJWVjeAogCW1vdmRxYQkweDEwKCVlYXgpLCAleG1tMQotCiAJbW92ZHFhCSV4bW0wLCAoJWVkeCkKIAltb3ZkcWEJJXhtbTEsIDB4MTAoJWVkeCkKLQogCW1vdmRxYQkweDIwKCVlYXgpLCAleG1tMAogCW1vdmRxYQkweDMwKCVlYXgpLCAleG1tMQogCWFkZAkkMHg0MCwgJWVheAotCiAJbW92ZHFhCSV4bW0wLCAweDIwKCVlZHgpCiAJbW92ZHFhCSV4bW0xLCAweDMwKCVlZHgpCiAJYWRkCSQweDQwLCAlZWR4CisKIEwoc2hsXzBfY2FjaGVfbGVzc182NGJ5dGVzKToKIAljbXAJJDB4MjAsICVlY3gKIAlqYglMKHNobF8wX2NhY2hlX2xlc3NfMzJieXRlcykKQEAgLTM0OSw2ICszMjksNyBAQAogCW1vdmRxYQkleG1tMCwgKCVlZHgpCiAJbW92ZHFhCSV4bW0xLCAweDEwKCVlZHgpCiAJYWRkCSQweDIwLCAlZWR4CisKIEwoc2hsXzBfY2FjaGVfbGVzc18zMmJ5dGVzKToKIAljbXAJJDB4MTAsICVlY3gKIAlqYglMKHNobF8wX2NhY2hlX2xlc3NfMTZieXRlcykKQEAgLTM1NywxMyArMzM4LDEzIEBACiAJYWRkCSQweDEwLCAlZWF4CiAJbW92ZHFhCSV4bW0wLCAoJWVkeCkKIAlhZGQJJDB4MTAsICVlZHgKKwogTChzaGxfMF9jYWNoZV9sZXNzXzE2Ynl0ZXMpOgogCWFkZAklZWN4LCAlZWR4CiAJYWRkCSVlY3gsICVlYXgKIAlCUkFOQ0hfVE9fSk1QVEJMX0VOVFJZIChMKHRhYmxlXzQ4Ynl0ZXNfZndkKSwgJWVjeCwgNCkKIAotCi0JQUxJR04gKDQpCisJLnAyYWxpZ24gNAogTChzaGxfMF9nb2JibGVfbWVtX2xvb3ApOgogCXByZWZldGNodDAgMHgxYzAoJWVheCkKIAlwcmVmZXRjaHQwIDB4MjgwKCVlYXgpCkBAIC00MDgsNiArMzg5LDcgQEAKIAltb3ZkcWEJJXhtbTAsIDB4MjAoJWVkeCkKIAltb3ZkcWEJJXhtbTEsIDB4MzAoJWVkeCkKIAlhZGQJJDB4NDAsICVlZHgKKwogTChzaGxfMF9tZW1fbGVzc182NGJ5dGVzKToKIAljbXAJJDB4MjAsICVlY3gKIAlqYglMKHNobF8wX21lbV9sZXNzXzMyYnl0ZXMpCkBAIC00MTgsNiArNDAwLDcgQEAKIAltb3ZkcWEJJXhtbTAsICglZWR4KQogCW1vdmRxYQkleG1tMSwgMHgxMCglZWR4KQogCWFkZAkkMHgyMCwgJWVkeAorCiBMKHNobF8wX21lbV9sZXNzXzMyYnl0ZXMpOgogCWNtcAkkMHgxMCwgJWVjeAogCWpiCUwoc2hsXzBfbWVtX2xlc3NfMTZieXRlcykKQEAgLTQyNiwyNCArNDA5LDg0IEBACiAJYWRkCSQweDEwLCAlZWF4CiAJbW92ZHFhCSV4bW0wLCAoJWVkeCkKIAlhZGQJJDB4MTAsICVlZHgKKwogTChzaGxfMF9tZW1fbGVzc18xNmJ5dGVzKToKIAlhZGQJJWVjeCwgJWVkeAogCWFkZAklZWN4LCAlZWF4Ci0JQlJBTkNIX1RPX0pNUFRCTF9FTlRSWSAoTCh0YWJsZV80OGJ5dGVzX2Z3ZCksICVlY3gsIDQpCisJQlJBTkNIX1RPX0pNUFRCTF9FTlRSWSAoTCh0YWJsZV80OGJ5dGVzX2Z3ZF9hbGlnbiksICVlY3gsIDQpCiAKLQljZmlfcmVzdG9yZV9zdGF0ZQotCWNmaV9yZW1lbWJlcl9zdGF0ZQotCUFMSUdOICg0KQorCS5wMmFsaWduIDQKIEwoc2hsXzEpOgotCUJSQU5DSF9UT19KTVBUQkxfRU5UUllfVkFMVUUoTCh0YWJsZV80OGJ5dGVzX2Z3ZCkpCi0JbGVhCS0xKCVlYXgpLCAlZWF4Ci0JbW92YXBzCSglZWF4KSwgJXhtbTEKLQl4b3IJJWVkaSwgJWVkaQotCWxlYQktMzIoJWVjeCksICVlY3gKLQltb3ZkcXUJJXhtbTAsICglZXNpKQotCVBPUCAoJWVzaSkKLUwoc2hsXzFfbG9vcCk6CisjaWZuZGVmIFVTRV9BU19NRU1NT1ZFCisJbW92YXBzCS0xKCVlYXgpLCAleG1tMQorI2Vsc2UKKwltb3ZsCURFU1QrNCglZXNwKSwgJWVkaQorCW1vdmFwcwktMSglZWF4KSwgJXhtbTEKKwltb3ZkcXUJJXhtbTAsICglZWRpKQorI2VuZGlmCisjaWZkZWYgREFUQV9DQUNIRV9TSVpFX0hBTEYKKwljbXAJJERBVEFfQ0FDSEVfU0laRV9IQUxGLCAlZWN4CisjZWxzZQorIyBpZiAoZGVmaW5lZCBTSEFSRUQgfHwgZGVmaW5lZCBfX1BJQ19fKQorCVNFVFVQX1BJQ19SRUcoYngpCisJYWRkCSRfR0xPQkFMX09GRlNFVF9UQUJMRV8sICVlYngKKwljbXAJX194ODZfZGF0YV9jYWNoZV9zaXplX2hhbGZAR09UT0ZGKCVlYngpLCAlZWN4CisjIGVsc2UKKwljbXAJX194ODZfZGF0YV9jYWNoZV9zaXplX2hhbGYsICVlY3gKKyMgZW5kaWYKKyNlbmRpZgorCWpiIEwoc2hfMV9ub19wcmVmZXRjaCkKIAorCWxlYQktNjQoJWVjeCksICVlY3gKKworCS5wMmFsaWduIDQKK0woU2hsMUxvb3BTdGFydCk6CisJcHJlZmV0Y2h0MCAweDFjMCglZWF4KQorCXByZWZldGNodDAgMHgxYzAoJWVkeCkKKwltb3ZhcHMJMTUoJWVheCksICV4bW0yCisJbW92YXBzCTMxKCVlYXgpLCAleG1tMworCW1vdmFwcwk0NyglZWF4KSwgJXhtbTQKKwltb3ZhcHMJNjMoJWVheCksICV4bW01CisJbW92YXBzCSV4bW01LCAleG1tNworCXBhbGlnbnIJJDEsICV4bW00LCAleG1tNQorCXBhbGlnbnIJJDEsICV4bW0zLCAleG1tNAorCW1vdmFwcwkleG1tNSwgNDgoJWVkeCkKKwlwYWxpZ25yCSQxLCAleG1tMiwgJXhtbTMKKwlsZWEJNjQoJWVheCksICVlYXgKKwlwYWxpZ25yCSQxLCAleG1tMSwgJXhtbTIKKwltb3ZhcHMJJXhtbTQsIDMyKCVlZHgpCisJbW92YXBzCSV4bW0zLCAxNiglZWR4KQorCW1vdmFwcwkleG1tNywgJXhtbTEKKwltb3ZhcHMJJXhtbTIsICglZWR4KQorCWxlYQk2NCglZWR4KSwgJWVkeAorCXN1YgkkNjQsICVlY3gKKwlqYQlMKFNobDFMb29wU3RhcnQpCisKK0woU2hsMUxvb3BMZWF2ZSk6CisJYWRkCSQzMiwgJWVjeAorCWpsZQlMKHNobF9lbmRfMCkKKworCW1vdmFwcwkxNSglZWF4KSwgJXhtbTIKKwltb3ZhcHMJMzEoJWVheCksICV4bW0zCisJcGFsaWducgkkMSwgJXhtbTIsICV4bW0zCisJcGFsaWducgkkMSwgJXhtbTEsICV4bW0yCisJbW92YXBzCSV4bW0yLCAoJWVkeCkKKwltb3ZhcHMJJXhtbTMsIDE2KCVlZHgpCisJbGVhCTMyKCVlZHgsICVlY3gpLCAlZWR4CisJbGVhCTMyKCVlYXgsICVlY3gpLCAlZWF4CisJUE9QICglZWRpKQorCUJSQU5DSF9UT19KTVBUQkxfRU5UUlkoTCh0YWJsZV80OGJ5dGVzX2Z3ZCksICVlY3gsIDQpCisKKwlDRklfUFVTSCAoJWVkaSkKKworCS5wMmFsaWduIDQKK0woc2hfMV9ub19wcmVmZXRjaCk6CisJbGVhCS0zMiglZWN4KSwgJWVjeAorCWxlYQktMSglZWF4KSwgJWVheAorCXhvcgklZWRpLCAlZWRpCisKKwkucDJhbGlnbiA0CitMKHNoXzFfbm9fcHJlZmV0Y2hfbG9vcCk6CiAJbW92ZHFhCTE2KCVlYXgsICVlZGkpLCAleG1tMgogCXN1YgkkMzIsICVlY3gKIAltb3ZkcWEJMzIoJWVheCwgJWVkaSksICV4bW0zCkBAIC00NTMsOCArNDk2LDcgQEAKIAlsZWEJMzIoJWVkaSksICVlZGkKIAltb3ZkcWEJJXhtbTIsIC0zMiglZWR4LCAlZWRpKQogCW1vdmRxYQkleG1tMywgLTE2KCVlZHgsICVlZGkpCi0KLQlqYglMKHNobF8xX2VuZCkKKwlqYglMKHNoXzFfZW5kX25vX3ByZWZldGNoX2xvb3ApCiAKIAltb3ZkcWEJMTYoJWVheCwgJWVkaSksICV4bW0yCiAJc3ViCSQzMiwgJWVjeApAQCAtNDY1LDMwICs1MDcsOTAgQEAKIAlsZWEJMzIoJWVkaSksICVlZGkKIAltb3ZkcWEJJXhtbTIsIC0zMiglZWR4LCAlZWRpKQogCW1vdmRxYQkleG1tMywgLTE2KCVlZHgsICVlZGkpCisJamFlCUwoc2hfMV9ub19wcmVmZXRjaF9sb29wKQogCi0JamFlCUwoc2hsXzFfbG9vcCkKLQotTChzaGxfMV9lbmQpOgorTChzaF8xX2VuZF9ub19wcmVmZXRjaF9sb29wKToKIAlsZWEJMzIoJWVjeCksICVlY3gKIAlhZGQJJWVjeCwgJWVkaQogCWFkZAklZWRpLCAlZWR4CiAJbGVhCTEoJWVkaSwgJWVheCksICVlYXgKLQlQT1AgKCVlZGkpCi0JQlJBTkNIX1RPX0pNUFRCTF9FTlRSWV9UQUlMKEwodGFibGVfNDhieXRlc19md2QpLCAlZWN4LCA0KQorCVBPUAkoJWVkaSkKKwlCUkFOQ0hfVE9fSk1QVEJMX0VOVFJZKEwodGFibGVfNDhieXRlc19md2QpLCAlZWN4LCA0KQogCi0JY2ZpX3Jlc3RvcmVfc3RhdGUKLQljZmlfcmVtZW1iZXJfc3RhdGUKLQlBTElHTiAoNCkKKwlDRklfUFVTSCAoJWVkaSkKKworCS5wMmFsaWduIDQKIEwoc2hsXzIpOgotCUJSQU5DSF9UT19KTVBUQkxfRU5UUllfVkFMVUUoTCh0YWJsZV80OGJ5dGVzX2Z3ZCkpCi0JbGVhCS0yKCVlYXgpLCAlZWF4Ci0JbW92YXBzCSglZWF4KSwgJXhtbTEKLQl4b3IJJWVkaSwgJWVkaQotCWxlYQktMzIoJWVjeCksICVlY3gKLQltb3ZkcXUJJXhtbTAsICglZXNpKQotCVBPUCAoJWVzaSkKLUwoc2hsXzJfbG9vcCk6CisjaWZuZGVmIFVTRV9BU19NRU1NT1ZFCisJbW92YXBzCS0yKCVlYXgpLCAleG1tMQorI2Vsc2UKKwltb3ZsCURFU1QrNCglZXNwKSwgJWVkaQorCW1vdmFwcwktMiglZWF4KSwgJXhtbTEKKwltb3ZkcXUJJXhtbTAsICglZWRpKQorI2VuZGlmCisjaWZkZWYgREFUQV9DQUNIRV9TSVpFX0hBTEYKKwljbXAJJERBVEFfQ0FDSEVfU0laRV9IQUxGLCAlZWN4CisjZWxzZQorIyBpZiAoZGVmaW5lZCBTSEFSRUQgfHwgZGVmaW5lZCBfX1BJQ19fKQorCVNFVFVQX1BJQ19SRUcoYngpCisJYWRkCSRfR0xPQkFMX09GRlNFVF9UQUJMRV8sICVlYngKKwljbXAJX194ODZfZGF0YV9jYWNoZV9zaXplX2hhbGZAR09UT0ZGKCVlYngpLCAlZWN4CisjIGVsc2UKKwljbXAJX194ODZfZGF0YV9jYWNoZV9zaXplX2hhbGYsICVlY3gKKyMgZW5kaWYKKyNlbmRpZgorCWpiIEwoc2hfMl9ub19wcmVmZXRjaCkKIAorCWxlYQktNjQoJWVjeCksICVlY3gKKworCS5wMmFsaWduIDQKK0woU2hsMkxvb3BTdGFydCk6CisJcHJlZmV0Y2h0MCAweDFjMCglZWF4KQorCXByZWZldGNodDAgMHgxYzAoJWVkeCkKKwltb3ZhcHMJMTQoJWVheCksICV4bW0yCisJbW92YXBzCTMwKCVlYXgpLCAleG1tMworCW1vdmFwcwk0NiglZWF4KSwgJXhtbTQKKwltb3ZhcHMJNjIoJWVheCksICV4bW01CisJbW92YXBzCSV4bW01LCAleG1tNworCXBhbGlnbnIJJDIsICV4bW00LCAleG1tNQorCXBhbGlnbnIJJDIsICV4bW0zLCAleG1tNAorCW1vdmFwcwkleG1tNSwgNDgoJWVkeCkKKwlwYWxpZ25yCSQyLCAleG1tMiwgJXhtbTMKKwlsZWEJNjQoJWVheCksICVlYXgKKwlwYWxpZ25yCSQyLCAleG1tMSwgJXhtbTIKKwltb3ZhcHMJJXhtbTQsIDMyKCVlZHgpCisJbW92YXBzCSV4bW0zLCAxNiglZWR4KQorCW1vdmFwcwkleG1tNywgJXhtbTEKKwltb3ZhcHMJJXhtbTIsICglZWR4KQorCWxlYQk2NCglZWR4KSwgJWVkeAorCXN1YgkkNjQsICVlY3gKKwlqYQlMKFNobDJMb29wU3RhcnQpCisKK0woU2hsMkxvb3BMZWF2ZSk6CisJYWRkCSQzMiwgJWVjeAorCWpsZQlMKHNobF9lbmRfMCkKKworCW1vdmFwcwkxNCglZWF4KSwgJXhtbTIKKwltb3ZhcHMJMzAoJWVheCksICV4bW0zCisJcGFsaWducgkkMiwgJXhtbTIsICV4bW0zCisJcGFsaWducgkkMiwgJXhtbTEsICV4bW0yCisJbW92YXBzCSV4bW0yLCAoJWVkeCkKKwltb3ZhcHMJJXhtbTMsIDE2KCVlZHgpCisJbGVhCTMyKCVlZHgsICVlY3gpLCAlZWR4CisJbGVhCTMyKCVlYXgsICVlY3gpLCAlZWF4CisJUE9QICglZWRpKQorCUJSQU5DSF9UT19KTVBUQkxfRU5UUlkoTCh0YWJsZV80OGJ5dGVzX2Z3ZCksICVlY3gsIDQpCisKKwlDRklfUFVTSCAoJWVkaSkKKworCS5wMmFsaWduIDQKK0woc2hfMl9ub19wcmVmZXRjaCk6CisJbGVhCS0zMiglZWN4KSwgJWVjeAorCWxlYQktMiglZWF4KSwgJWVheAorCXhvcgklZWRpLCAlZWRpCisKKwkucDJhbGlnbiA0CitMKHNoXzJfbm9fcHJlZmV0Y2hfbG9vcCk6CiAJbW92ZHFhCTE2KCVlYXgsICVlZGkpLCAleG1tMgogCXN1YgkkMzIsICVlY3gKIAltb3ZkcWEJMzIoJWVheCwgJWVkaSksICV4bW0zCkBAIC00OTgsOCArNjAwLDcgQEAKIAlsZWEJMzIoJWVkaSksICVlZGkKIAltb3ZkcWEJJXhtbTIsIC0zMiglZWR4LCAlZWRpKQogCW1vdmRxYQkleG1tMywgLTE2KCVlZHgsICVlZGkpCi0KLQlqYglMKHNobF8yX2VuZCkKKwlqYglMKHNoXzJfZW5kX25vX3ByZWZldGNoX2xvb3ApCiAKIAltb3ZkcWEJMTYoJWVheCwgJWVkaSksICV4bW0yCiAJc3ViCSQzMiwgJWVjeApAQCAtNTEwLDMwICs2MTEsOTAgQEAKIAlsZWEJMzIoJWVkaSksICVlZGkKIAltb3ZkcWEJJXhtbTIsIC0zMiglZWR4LCAlZWRpKQogCW1vdmRxYQkleG1tMywgLTE2KCVlZHgsICVlZGkpCisJamFlCUwoc2hfMl9ub19wcmVmZXRjaF9sb29wKQogCi0JamFlCUwoc2hsXzJfbG9vcCkKLQotTChzaGxfMl9lbmQpOgorTChzaF8yX2VuZF9ub19wcmVmZXRjaF9sb29wKToKIAlsZWEJMzIoJWVjeCksICVlY3gKIAlhZGQJJWVjeCwgJWVkaQogCWFkZAklZWRpLCAlZWR4CiAJbGVhCTIoJWVkaSwgJWVheCksICVlYXgKLQlQT1AgKCVlZGkpCi0JQlJBTkNIX1RPX0pNUFRCTF9FTlRSWV9UQUlMKEwodGFibGVfNDhieXRlc19md2QpLCAlZWN4LCA0KQorCVBPUAkoJWVkaSkKKwlCUkFOQ0hfVE9fSk1QVEJMX0VOVFJZKEwodGFibGVfNDhieXRlc19md2QpLCAlZWN4LCA0KQogCi0JY2ZpX3Jlc3RvcmVfc3RhdGUKLQljZmlfcmVtZW1iZXJfc3RhdGUKLQlBTElHTiAoNCkKKwlDRklfUFVTSCAoJWVkaSkKKworCS5wMmFsaWduIDQKIEwoc2hsXzMpOgotCUJSQU5DSF9UT19KTVBUQkxfRU5UUllfVkFMVUUoTCh0YWJsZV80OGJ5dGVzX2Z3ZCkpCi0JbGVhCS0zKCVlYXgpLCAlZWF4Ci0JbW92YXBzCSglZWF4KSwgJXhtbTEKLQl4b3IJJWVkaSwgJWVkaQotCWxlYQktMzIoJWVjeCksICVlY3gKLQltb3ZkcXUJJXhtbTAsICglZXNpKQotCVBPUCAoJWVzaSkKLUwoc2hsXzNfbG9vcCk6CisjaWZuZGVmIFVTRV9BU19NRU1NT1ZFCisJbW92YXBzCS0zKCVlYXgpLCAleG1tMQorI2Vsc2UKKwltb3ZsCURFU1QrNCglZXNwKSwgJWVkaQorCW1vdmFwcwktMyglZWF4KSwgJXhtbTEKKwltb3ZkcXUJJXhtbTAsICglZWRpKQorI2VuZGlmCisjaWZkZWYgREFUQV9DQUNIRV9TSVpFX0hBTEYKKwljbXAJJERBVEFfQ0FDSEVfU0laRV9IQUxGLCAlZWN4CisjZWxzZQorIyBpZiAoZGVmaW5lZCBTSEFSRUQgfHwgZGVmaW5lZCBfX1BJQ19fKQorCVNFVFVQX1BJQ19SRUcoYngpCisJYWRkCSRfR0xPQkFMX09GRlNFVF9UQUJMRV8sICVlYngKKwljbXAJX194ODZfZGF0YV9jYWNoZV9zaXplX2hhbGZAR09UT0ZGKCVlYngpLCAlZWN4CisjIGVsc2UKKwljbXAJX194ODZfZGF0YV9jYWNoZV9zaXplX2hhbGYsICVlY3gKKyMgZW5kaWYKKyNlbmRpZgorCWpiIEwoc2hfM19ub19wcmVmZXRjaCkKIAorCWxlYQktNjQoJWVjeCksICVlY3gKKworCS5wMmFsaWduIDQKK0woU2hsM0xvb3BTdGFydCk6CisJcHJlZmV0Y2h0MCAweDFjMCglZWF4KQorCXByZWZldGNodDAgMHgxYzAoJWVkeCkKKwltb3ZhcHMJMTMoJWVheCksICV4bW0yCisJbW92YXBzCTI5KCVlYXgpLCAleG1tMworCW1vdmFwcwk0NSglZWF4KSwgJXhtbTQKKwltb3ZhcHMJNjEoJWVheCksICV4bW01CisJbW92YXBzCSV4bW01LCAleG1tNworCXBhbGlnbnIJJDMsICV4bW00LCAleG1tNQorCXBhbGlnbnIJJDMsICV4bW0zLCAleG1tNAorCW1vdmFwcwkleG1tNSwgNDgoJWVkeCkKKwlwYWxpZ25yCSQzLCAleG1tMiwgJXhtbTMKKwlsZWEJNjQoJWVheCksICVlYXgKKwlwYWxpZ25yCSQzLCAleG1tMSwgJXhtbTIKKwltb3ZhcHMJJXhtbTQsIDMyKCVlZHgpCisJbW92YXBzCSV4bW0zLCAxNiglZWR4KQorCW1vdmFwcwkleG1tNywgJXhtbTEKKwltb3ZhcHMJJXhtbTIsICglZWR4KQorCWxlYQk2NCglZWR4KSwgJWVkeAorCXN1YgkkNjQsICVlY3gKKwlqYQlMKFNobDNMb29wU3RhcnQpCisKK0woU2hsM0xvb3BMZWF2ZSk6CisJYWRkCSQzMiwgJWVjeAorCWpsZQlMKHNobF9lbmRfMCkKKworCW1vdmFwcwkxMyglZWF4KSwgJXhtbTIKKwltb3ZhcHMJMjkoJWVheCksICV4bW0zCisJcGFsaWducgkkMywgJXhtbTIsICV4bW0zCisJcGFsaWducgkkMywgJXhtbTEsICV4bW0yCisJbW92YXBzCSV4bW0yLCAoJWVkeCkKKwltb3ZhcHMJJXhtbTMsIDE2KCVlZHgpCisJbGVhCTMyKCVlZHgsICVlY3gpLCAlZWR4CisJbGVhCTMyKCVlYXgsICVlY3gpLCAlZWF4CisJUE9QICglZWRpKQorCUJSQU5DSF9UT19KTVBUQkxfRU5UUlkoTCh0YWJsZV80OGJ5dGVzX2Z3ZCksICVlY3gsIDQpCisKKwlDRklfUFVTSCAoJWVkaSkKKworCS5wMmFsaWduIDQKK0woc2hfM19ub19wcmVmZXRjaCk6CisJbGVhCS0zMiglZWN4KSwgJWVjeAorCWxlYQktMyglZWF4KSwgJWVheAorCXhvcgklZWRpLCAlZWRpCisKKwkucDJhbGlnbiA0CitMKHNoXzNfbm9fcHJlZmV0Y2hfbG9vcCk6CiAJbW92ZHFhCTE2KCVlYXgsICVlZGkpLCAleG1tMgogCXN1YgkkMzIsICVlY3gKIAltb3ZkcWEJMzIoJWVheCwgJWVkaSksICV4bW0zCkBAIC01NDQsNyArNzA1LDcgQEAKIAltb3ZkcWEJJXhtbTIsIC0zMiglZWR4LCAlZWRpKQogCW1vdmRxYQkleG1tMywgLTE2KCVlZHgsICVlZGkpCiAKLQlqYglMKHNobF8zX2VuZCkKKwlqYglMKHNoXzNfZW5kX25vX3ByZWZldGNoX2xvb3ApCiAKIAltb3ZkcWEJMTYoJWVheCwgJWVkaSksICV4bW0yCiAJc3ViCSQzMiwgJWVjeApAQCAtNTU2LDI5ICs3MTcsOTAgQEAKIAltb3ZkcWEJJXhtbTIsIC0zMiglZWR4LCAlZWRpKQogCW1vdmRxYQkleG1tMywgLTE2KCVlZHgsICVlZGkpCiAKLQlqYWUJTChzaGxfM19sb29wKQorCWphZQlMKHNoXzNfbm9fcHJlZmV0Y2hfbG9vcCkKIAotTChzaGxfM19lbmQpOgorTChzaF8zX2VuZF9ub19wcmVmZXRjaF9sb29wKToKIAlsZWEJMzIoJWVjeCksICVlY3gKIAlhZGQJJWVjeCwgJWVkaQogCWFkZAklZWRpLCAlZWR4CiAJbGVhCTMoJWVkaSwgJWVheCksICVlYXgKLQlQT1AgKCVlZGkpCi0JQlJBTkNIX1RPX0pNUFRCTF9FTlRSWV9UQUlMKEwodGFibGVfNDhieXRlc19md2QpLCAlZWN4LCA0KQorCVBPUAkoJWVkaSkKKwlCUkFOQ0hfVE9fSk1QVEJMX0VOVFJZKEwodGFibGVfNDhieXRlc19md2QpLCAlZWN4LCA0KQogCi0JY2ZpX3Jlc3RvcmVfc3RhdGUKLQljZmlfcmVtZW1iZXJfc3RhdGUKLQlBTElHTiAoNCkKKwlDRklfUFVTSCAoJWVkaSkKKworCS5wMmFsaWduIDQKIEwoc2hsXzQpOgotCUJSQU5DSF9UT19KTVBUQkxfRU5UUllfVkFMVUUoTCh0YWJsZV80OGJ5dGVzX2Z3ZCkpCi0JbGVhCS00KCVlYXgpLCAlZWF4Ci0JbW92YXBzCSglZWF4KSwgJXhtbTEKLQl4b3IJJWVkaSwgJWVkaQotCWxlYQktMzIoJWVjeCksICVlY3gKLQltb3ZkcXUJJXhtbTAsICglZXNpKQotCVBPUCAoJWVzaSkKLUwoc2hsXzRfbG9vcCk6CisjaWZuZGVmIFVTRV9BU19NRU1NT1ZFCisJbW92YXBzCS00KCVlYXgpLCAleG1tMQorI2Vsc2UKKwltb3ZsCURFU1QrNCglZXNwKSwgJWVkaQorCW1vdmFwcwktNCglZWF4KSwgJXhtbTEKKwltb3ZkcXUJJXhtbTAsICglZWRpKQorI2VuZGlmCisjaWZkZWYgREFUQV9DQUNIRV9TSVpFX0hBTEYKKwljbXAJJERBVEFfQ0FDSEVfU0laRV9IQUxGLCAlZWN4CisjZWxzZQorIyBpZiAoZGVmaW5lZCBTSEFSRUQgfHwgZGVmaW5lZCBfX1BJQ19fKQorCVNFVFVQX1BJQ19SRUcoYngpCisJYWRkCSRfR0xPQkFMX09GRlNFVF9UQUJMRV8sICVlYngKKwljbXAJX194ODZfZGF0YV9jYWNoZV9zaXplX2hhbGZAR09UT0ZGKCVlYngpLCAlZWN4CisjIGVsc2UKKwljbXAJX194ODZfZGF0YV9jYWNoZV9zaXplX2hhbGYsICVlY3gKKyMgZW5kaWYKKyNlbmRpZgorCWpiIEwoc2hfNF9ub19wcmVmZXRjaCkKIAorCWxlYQktNjQoJWVjeCksICVlY3gKKworCS5wMmFsaWduIDQKK0woU2hsNExvb3BTdGFydCk6CisJcHJlZmV0Y2h0MCAweDFjMCglZWF4KQorCXByZWZldGNodDAgMHgxYzAoJWVkeCkKKwltb3ZhcHMJMTIoJWVheCksICV4bW0yCisJbW92YXBzCTI4KCVlYXgpLCAleG1tMworCW1vdmFwcwk0NCglZWF4KSwgJXhtbTQKKwltb3ZhcHMJNjAoJWVheCksICV4bW01CisJbW92YXBzCSV4bW01LCAleG1tNworCXBhbGlnbnIJJDQsICV4bW00LCAleG1tNQorCXBhbGlnbnIJJDQsICV4bW0zLCAleG1tNAorCW1vdmFwcwkleG1tNSwgNDgoJWVkeCkKKwlwYWxpZ25yCSQ0LCAleG1tMiwgJXhtbTMKKwlsZWEJNjQoJWVheCksICVlYXgKKwlwYWxpZ25yCSQ0LCAleG1tMSwgJXhtbTIKKwltb3ZhcHMJJXhtbTQsIDMyKCVlZHgpCisJbW92YXBzCSV4bW0zLCAxNiglZWR4KQorCW1vdmFwcwkleG1tNywgJXhtbTEKKwltb3ZhcHMJJXhtbTIsICglZWR4KQorCWxlYQk2NCglZWR4KSwgJWVkeAorCXN1YgkkNjQsICVlY3gKKwlqYQlMKFNobDRMb29wU3RhcnQpCisKK0woU2hsNExvb3BMZWF2ZSk6CisJYWRkCSQzMiwgJWVjeAorCWpsZQlMKHNobF9lbmRfMCkKKworCW1vdmFwcwkxMiglZWF4KSwgJXhtbTIKKwltb3ZhcHMJMjgoJWVheCksICV4bW0zCisJcGFsaWducgkkNCwgJXhtbTIsICV4bW0zCisJcGFsaWducgkkNCwgJXhtbTEsICV4bW0yCisJbW92YXBzCSV4bW0yLCAoJWVkeCkKKwltb3ZhcHMJJXhtbTMsIDE2KCVlZHgpCisJbGVhCTMyKCVlZHgsICVlY3gpLCAlZWR4CisJbGVhCTMyKCVlYXgsICVlY3gpLCAlZWF4CisJUE9QICglZWRpKQorCUJSQU5DSF9UT19KTVBUQkxfRU5UUlkoTCh0YWJsZV80OGJ5dGVzX2Z3ZCksICVlY3gsIDQpCisKKwlDRklfUFVTSCAoJWVkaSkKKworCS5wMmFsaWduIDQKK0woc2hfNF9ub19wcmVmZXRjaCk6CisJbGVhCS0zMiglZWN4KSwgJWVjeAorCWxlYQktNCglZWF4KSwgJWVheAorCXhvcgklZWRpLCAlZWRpCisKKwkucDJhbGlnbiA0CitMKHNoXzRfbm9fcHJlZmV0Y2hfbG9vcCk6CiAJbW92ZHFhCTE2KCVlYXgsICVlZGkpLCAleG1tMgogCXN1YgkkMzIsICVlY3gKIAltb3ZkcWEJMzIoJWVheCwgJWVkaSksICV4bW0zCkBAIC01ODksNyArODExLDcgQEAKIAltb3ZkcWEJJXhtbTIsIC0zMiglZWR4LCAlZWRpKQogCW1vdmRxYQkleG1tMywgLTE2KCVlZHgsICVlZGkpCiAKLQlqYglMKHNobF80X2VuZCkKKwlqYglMKHNoXzRfZW5kX25vX3ByZWZldGNoX2xvb3ApCiAKIAltb3ZkcWEJMTYoJWVheCwgJWVkaSksICV4bW0yCiAJc3ViCSQzMiwgJWVjeApAQCAtNjAxLDI5ICs4MjMsOTAgQEAKIAltb3ZkcWEJJXhtbTIsIC0zMiglZWR4LCAlZWRpKQogCW1vdmRxYQkleG1tMywgLTE2KCVlZHgsICVlZGkpCiAKLQlqYWUJTChzaGxfNF9sb29wKQorCWphZQlMKHNoXzRfbm9fcHJlZmV0Y2hfbG9vcCkKIAotTChzaGxfNF9lbmQpOgorTChzaF80X2VuZF9ub19wcmVmZXRjaF9sb29wKToKIAlsZWEJMzIoJWVjeCksICVlY3gKIAlhZGQJJWVjeCwgJWVkaQogCWFkZAklZWRpLCAlZWR4CiAJbGVhCTQoJWVkaSwgJWVheCksICVlYXgKLQlQT1AgKCVlZGkpCi0JQlJBTkNIX1RPX0pNUFRCTF9FTlRSWV9UQUlMKEwodGFibGVfNDhieXRlc19md2QpLCAlZWN4LCA0KQorCVBPUAkoJWVkaSkKKwlCUkFOQ0hfVE9fSk1QVEJMX0VOVFJZKEwodGFibGVfNDhieXRlc19md2QpLCAlZWN4LCA0KQogCi0JY2ZpX3Jlc3RvcmVfc3RhdGUKLQljZmlfcmVtZW1iZXJfc3RhdGUKLQlBTElHTiAoNCkKKwlDRklfUFVTSCAoJWVkaSkKKworCS5wMmFsaWduIDQKIEwoc2hsXzUpOgotCUJSQU5DSF9UT19KTVBUQkxfRU5UUllfVkFMVUUoTCh0YWJsZV80OGJ5dGVzX2Z3ZCkpCi0JbGVhCS01KCVlYXgpLCAlZWF4Ci0JbW92YXBzCSglZWF4KSwgJXhtbTEKLQl4b3IJJWVkaSwgJWVkaQotCWxlYQktMzIoJWVjeCksICVlY3gKLQltb3ZkcXUJJXhtbTAsICglZXNpKQotCVBPUCAoJWVzaSkKLUwoc2hsXzVfbG9vcCk6CisjaWZuZGVmIFVTRV9BU19NRU1NT1ZFCisJbW92YXBzCS01KCVlYXgpLCAleG1tMQorI2Vsc2UKKwltb3ZsCURFU1QrNCglZXNwKSwgJWVkaQorCW1vdmFwcwktNSglZWF4KSwgJXhtbTEKKwltb3ZkcXUJJXhtbTAsICglZWRpKQorI2VuZGlmCisjaWZkZWYgREFUQV9DQUNIRV9TSVpFX0hBTEYKKwljbXAJJERBVEFfQ0FDSEVfU0laRV9IQUxGLCAlZWN4CisjZWxzZQorIyBpZiAoZGVmaW5lZCBTSEFSRUQgfHwgZGVmaW5lZCBfX1BJQ19fKQorCVNFVFVQX1BJQ19SRUcoYngpCisJYWRkCSRfR0xPQkFMX09GRlNFVF9UQUJMRV8sICVlYngKKwljbXAJX194ODZfZGF0YV9jYWNoZV9zaXplX2hhbGZAR09UT0ZGKCVlYngpLCAlZWN4CisjIGVsc2UKKwljbXAJX194ODZfZGF0YV9jYWNoZV9zaXplX2hhbGYsICVlY3gKKyMgZW5kaWYKKyNlbmRpZgorCWpiIEwoc2hfNV9ub19wcmVmZXRjaCkKIAorCWxlYQktNjQoJWVjeCksICVlY3gKKworCS5wMmFsaWduIDQKK0woU2hsNUxvb3BTdGFydCk6CisJcHJlZmV0Y2h0MCAweDFjMCglZWF4KQorCXByZWZldGNodDAgMHgxYzAoJWVkeCkKKwltb3ZhcHMJMTEoJWVheCksICV4bW0yCisJbW92YXBzCTI3KCVlYXgpLCAleG1tMworCW1vdmFwcwk0MyglZWF4KSwgJXhtbTQKKwltb3ZhcHMJNTkoJWVheCksICV4bW01CisJbW92YXBzCSV4bW01LCAleG1tNworCXBhbGlnbnIJJDUsICV4bW00LCAleG1tNQorCXBhbGlnbnIJJDUsICV4bW0zLCAleG1tNAorCW1vdmFwcwkleG1tNSwgNDgoJWVkeCkKKwlwYWxpZ25yCSQ1LCAleG1tMiwgJXhtbTMKKwlsZWEJNjQoJWVheCksICVlYXgKKwlwYWxpZ25yCSQ1LCAleG1tMSwgJXhtbTIKKwltb3ZhcHMJJXhtbTQsIDMyKCVlZHgpCisJbW92YXBzCSV4bW0zLCAxNiglZWR4KQorCW1vdmFwcwkleG1tNywgJXhtbTEKKwltb3ZhcHMJJXhtbTIsICglZWR4KQorCWxlYQk2NCglZWR4KSwgJWVkeAorCXN1YgkkNjQsICVlY3gKKwlqYQlMKFNobDVMb29wU3RhcnQpCisKK0woU2hsNUxvb3BMZWF2ZSk6CisJYWRkCSQzMiwgJWVjeAorCWpsZQlMKHNobF9lbmRfMCkKKworCW1vdmFwcwkxMSglZWF4KSwgJXhtbTIKKwltb3ZhcHMJMjcoJWVheCksICV4bW0zCisJcGFsaWducgkkNSwgJXhtbTIsICV4bW0zCisJcGFsaWducgkkNSwgJXhtbTEsICV4bW0yCisJbW92YXBzCSV4bW0yLCAoJWVkeCkKKwltb3ZhcHMJJXhtbTMsIDE2KCVlZHgpCisJbGVhCTMyKCVlZHgsICVlY3gpLCAlZWR4CisJbGVhCTMyKCVlYXgsICVlY3gpLCAlZWF4CisJUE9QICglZWRpKQorCUJSQU5DSF9UT19KTVBUQkxfRU5UUlkoTCh0YWJsZV80OGJ5dGVzX2Z3ZCksICVlY3gsIDQpCisKKwlDRklfUFVTSCAoJWVkaSkKKworCS5wMmFsaWduIDQKK0woc2hfNV9ub19wcmVmZXRjaCk6CisJbGVhCS0zMiglZWN4KSwgJWVjeAorCWxlYQktNSglZWF4KSwgJWVheAorCXhvcgklZWRpLCAlZWRpCisKKwkucDJhbGlnbiA0CitMKHNoXzVfbm9fcHJlZmV0Y2hfbG9vcCk6CiAJbW92ZHFhCTE2KCVlYXgsICVlZGkpLCAleG1tMgogCXN1YgkkMzIsICVlY3gKIAltb3ZkcWEJMzIoJWVheCwgJWVkaSksICV4bW0zCkBAIC02MzQsNyArOTE3LDcgQEAKIAltb3ZkcWEJJXhtbTIsIC0zMiglZWR4LCAlZWRpKQogCW1vdmRxYQkleG1tMywgLTE2KCVlZHgsICVlZGkpCiAKLQlqYglMKHNobF81X2VuZCkKKwlqYglMKHNoXzVfZW5kX25vX3ByZWZldGNoX2xvb3ApCiAKIAltb3ZkcWEJMTYoJWVheCwgJWVkaSksICV4bW0yCiAJc3ViCSQzMiwgJWVjeApAQCAtNjQ2LDI5ICs5MjksOTAgQEAKIAltb3ZkcWEJJXhtbTIsIC0zMiglZWR4LCAlZWRpKQogCW1vdmRxYQkleG1tMywgLTE2KCVlZHgsICVlZGkpCiAKLQlqYWUJTChzaGxfNV9sb29wKQorCWphZQlMKHNoXzVfbm9fcHJlZmV0Y2hfbG9vcCkKIAotTChzaGxfNV9lbmQpOgorTChzaF81X2VuZF9ub19wcmVmZXRjaF9sb29wKToKIAlsZWEJMzIoJWVjeCksICVlY3gKIAlhZGQJJWVjeCwgJWVkaQogCWFkZAklZWRpLCAlZWR4CiAJbGVhCTUoJWVkaSwgJWVheCksICVlYXgKLQlQT1AgKCVlZGkpCi0JQlJBTkNIX1RPX0pNUFRCTF9FTlRSWV9UQUlMKEwodGFibGVfNDhieXRlc19md2QpLCAlZWN4LCA0KQorCVBPUAkoJWVkaSkKKwlCUkFOQ0hfVE9fSk1QVEJMX0VOVFJZKEwodGFibGVfNDhieXRlc19md2QpLCAlZWN4LCA0KQogCi0JY2ZpX3Jlc3RvcmVfc3RhdGUKLQljZmlfcmVtZW1iZXJfc3RhdGUKLQlBTElHTiAoNCkKKwlDRklfUFVTSCAoJWVkaSkKKworCS5wMmFsaWduIDQKIEwoc2hsXzYpOgotCUJSQU5DSF9UT19KTVBUQkxfRU5UUllfVkFMVUUoTCh0YWJsZV80OGJ5dGVzX2Z3ZCkpCi0JbGVhCS02KCVlYXgpLCAlZWF4Ci0JbW92YXBzCSglZWF4KSwgJXhtbTEKLQl4b3IJJWVkaSwgJWVkaQotCWxlYQktMzIoJWVjeCksICVlY3gKLQltb3ZkcXUJJXhtbTAsICglZXNpKQotCVBPUCAoJWVzaSkKLUwoc2hsXzZfbG9vcCk6CisjaWZuZGVmIFVTRV9BU19NRU1NT1ZFCisJbW92YXBzCS02KCVlYXgpLCAleG1tMQorI2Vsc2UKKwltb3ZsCURFU1QrNCglZXNwKSwgJWVkaQorCW1vdmFwcwktNiglZWF4KSwgJXhtbTEKKwltb3ZkcXUJJXhtbTAsICglZWRpKQorI2VuZGlmCisjaWZkZWYgREFUQV9DQUNIRV9TSVpFX0hBTEYKKwljbXAJJERBVEFfQ0FDSEVfU0laRV9IQUxGLCAlZWN4CisjZWxzZQorIyBpZiAoZGVmaW5lZCBTSEFSRUQgfHwgZGVmaW5lZCBfX1BJQ19fKQorCVNFVFVQX1BJQ19SRUcoYngpCisJYWRkCSRfR0xPQkFMX09GRlNFVF9UQUJMRV8sICVlYngKKwljbXAJX194ODZfZGF0YV9jYWNoZV9zaXplX2hhbGZAR09UT0ZGKCVlYngpLCAlZWN4CisjIGVsc2UKKwljbXAJX194ODZfZGF0YV9jYWNoZV9zaXplX2hhbGYsICVlY3gKKyMgZW5kaWYKKyNlbmRpZgorCWpiIEwoc2hfNl9ub19wcmVmZXRjaCkKIAorCWxlYQktNjQoJWVjeCksICVlY3gKKworCS5wMmFsaWduIDQKK0woU2hsNkxvb3BTdGFydCk6CisJcHJlZmV0Y2h0MCAweDFjMCglZWF4KQorCXByZWZldGNodDAgMHgxYzAoJWVkeCkKKwltb3ZhcHMJMTAoJWVheCksICV4bW0yCisJbW92YXBzCTI2KCVlYXgpLCAleG1tMworCW1vdmFwcwk0MiglZWF4KSwgJXhtbTQKKwltb3ZhcHMJNTgoJWVheCksICV4bW01CisJbW92YXBzCSV4bW01LCAleG1tNworCXBhbGlnbnIJJDYsICV4bW00LCAleG1tNQorCXBhbGlnbnIJJDYsICV4bW0zLCAleG1tNAorCW1vdmFwcwkleG1tNSwgNDgoJWVkeCkKKwlwYWxpZ25yCSQ2LCAleG1tMiwgJXhtbTMKKwlsZWEJNjQoJWVheCksICVlYXgKKwlwYWxpZ25yCSQ2LCAleG1tMSwgJXhtbTIKKwltb3ZhcHMJJXhtbTQsIDMyKCVlZHgpCisJbW92YXBzCSV4bW0zLCAxNiglZWR4KQorCW1vdmFwcwkleG1tNywgJXhtbTEKKwltb3ZhcHMJJXhtbTIsICglZWR4KQorCWxlYQk2NCglZWR4KSwgJWVkeAorCXN1YgkkNjQsICVlY3gKKwlqYQlMKFNobDZMb29wU3RhcnQpCisKK0woU2hsNkxvb3BMZWF2ZSk6CisJYWRkCSQzMiwgJWVjeAorCWpsZQlMKHNobF9lbmRfMCkKKworCW1vdmFwcwkxMCglZWF4KSwgJXhtbTIKKwltb3ZhcHMJMjYoJWVheCksICV4bW0zCisJcGFsaWducgkkNiwgJXhtbTIsICV4bW0zCisJcGFsaWducgkkNiwgJXhtbTEsICV4bW0yCisJbW92YXBzCSV4bW0yLCAoJWVkeCkKKwltb3ZhcHMJJXhtbTMsIDE2KCVlZHgpCisJbGVhCTMyKCVlZHgsICVlY3gpLCAlZWR4CisJbGVhCTMyKCVlYXgsICVlY3gpLCAlZWF4CisJUE9QICglZWRpKQorCUJSQU5DSF9UT19KTVBUQkxfRU5UUlkoTCh0YWJsZV80OGJ5dGVzX2Z3ZCksICVlY3gsIDQpCisKKwlDRklfUFVTSCAoJWVkaSkKKworCS5wMmFsaWduIDQKK0woc2hfNl9ub19wcmVmZXRjaCk6CisJbGVhCS0zMiglZWN4KSwgJWVjeAorCWxlYQktNiglZWF4KSwgJWVheAorCXhvcgklZWRpLCAlZWRpCisKKwkucDJhbGlnbiA0CitMKHNoXzZfbm9fcHJlZmV0Y2hfbG9vcCk6CiAJbW92ZHFhCTE2KCVlYXgsICVlZGkpLCAleG1tMgogCXN1YgkkMzIsICVlY3gKIAltb3ZkcWEJMzIoJWVheCwgJWVkaSksICV4bW0zCkBAIC02NzksNyArMTAyMyw3IEBACiAJbW92ZHFhCSV4bW0yLCAtMzIoJWVkeCwgJWVkaSkKIAltb3ZkcWEJJXhtbTMsIC0xNiglZWR4LCAlZWRpKQogCi0JamIJTChzaGxfNl9lbmQpCisJamIJTChzaF82X2VuZF9ub19wcmVmZXRjaF9sb29wKQogCiAJbW92ZHFhCTE2KCVlYXgsICVlZGkpLCAleG1tMgogCXN1YgkkMzIsICVlY3gKQEAgLTY5MSwyOSArMTAzNSw5MCBAQAogCW1vdmRxYQkleG1tMiwgLTMyKCVlZHgsICVlZGkpCiAJbW92ZHFhCSV4bW0zLCAtMTYoJWVkeCwgJWVkaSkKIAotCWphZQlMKHNobF82X2xvb3ApCisJamFlCUwoc2hfNl9ub19wcmVmZXRjaF9sb29wKQogCi1MKHNobF82X2VuZCk6CitMKHNoXzZfZW5kX25vX3ByZWZldGNoX2xvb3ApOgogCWxlYQkzMiglZWN4KSwgJWVjeAogCWFkZAklZWN4LCAlZWRpCiAJYWRkCSVlZGksICVlZHgKIAlsZWEJNiglZWRpLCAlZWF4KSwgJWVheAotCVBPUCAoJWVkaSkKLQlCUkFOQ0hfVE9fSk1QVEJMX0VOVFJZX1RBSUwoTCh0YWJsZV80OGJ5dGVzX2Z3ZCksICVlY3gsIDQpCisJUE9QCSglZWRpKQorCUJSQU5DSF9UT19KTVBUQkxfRU5UUlkoTCh0YWJsZV80OGJ5dGVzX2Z3ZCksICVlY3gsIDQpCiAKLQljZmlfcmVzdG9yZV9zdGF0ZQotCWNmaV9yZW1lbWJlcl9zdGF0ZQotCUFMSUdOICg0KQorCUNGSV9QVVNIICglZWRpKQorCisJLnAyYWxpZ24gNAogTChzaGxfNyk6Ci0JQlJBTkNIX1RPX0pNUFRCTF9FTlRSWV9WQUxVRShMKHRhYmxlXzQ4Ynl0ZXNfZndkKSkKLQlsZWEJLTcoJWVheCksICVlYXgKLQltb3ZhcHMJKCVlYXgpLCAleG1tMQotCXhvcgklZWRpLCAlZWRpCi0JbGVhCS0zMiglZWN4KSwgJWVjeAotCW1vdmRxdQkleG1tMCwgKCVlc2kpCi0JUE9QICglZXNpKQotTChzaGxfN19sb29wKToKKyNpZm5kZWYgVVNFX0FTX01FTU1PVkUKKwltb3ZhcHMJLTcoJWVheCksICV4bW0xCisjZWxzZQorCW1vdmwJREVTVCs0KCVlc3ApLCAlZWRpCisJbW92YXBzCS03KCVlYXgpLCAleG1tMQorCW1vdmRxdQkleG1tMCwgKCVlZGkpCisjZW5kaWYKKyNpZmRlZiBEQVRBX0NBQ0hFX1NJWkVfSEFMRgorCWNtcAkkREFUQV9DQUNIRV9TSVpFX0hBTEYsICVlY3gKKyNlbHNlCisjIGlmIChkZWZpbmVkIFNIQVJFRCB8fCBkZWZpbmVkIF9fUElDX18pCisJU0VUVVBfUElDX1JFRyhieCkKKwlhZGQJJF9HTE9CQUxfT0ZGU0VUX1RBQkxFXywgJWVieAorCWNtcAlfX3g4Nl9kYXRhX2NhY2hlX3NpemVfaGFsZkBHT1RPRkYoJWVieCksICVlY3gKKyMgZWxzZQorCWNtcAlfX3g4Nl9kYXRhX2NhY2hlX3NpemVfaGFsZiwgJWVjeAorIyBlbmRpZgorI2VuZGlmCisJamIgTChzaF83X25vX3ByZWZldGNoKQogCisJbGVhCS02NCglZWN4KSwgJWVjeAorCisJLnAyYWxpZ24gNAorTChTaGw3TG9vcFN0YXJ0KToKKwlwcmVmZXRjaHQwIDB4MWMwKCVlYXgpCisJcHJlZmV0Y2h0MCAweDFjMCglZWR4KQorCW1vdmFwcwk5KCVlYXgpLCAleG1tMgorCW1vdmFwcwkyNSglZWF4KSwgJXhtbTMKKwltb3ZhcHMJNDEoJWVheCksICV4bW00CisJbW92YXBzCTU3KCVlYXgpLCAleG1tNQorCW1vdmFwcwkleG1tNSwgJXhtbTcKKwlwYWxpZ25yCSQ3LCAleG1tNCwgJXhtbTUKKwlwYWxpZ25yCSQ3LCAleG1tMywgJXhtbTQKKwltb3ZhcHMJJXhtbTUsIDQ4KCVlZHgpCisJcGFsaWducgkkNywgJXhtbTIsICV4bW0zCisJbGVhCTY0KCVlYXgpLCAlZWF4CisJcGFsaWducgkkNywgJXhtbTEsICV4bW0yCisJbW92YXBzCSV4bW00LCAzMiglZWR4KQorCW1vdmFwcwkleG1tMywgMTYoJWVkeCkKKwltb3ZhcHMJJXhtbTcsICV4bW0xCisJbW92YXBzCSV4bW0yLCAoJWVkeCkKKwlsZWEJNjQoJWVkeCksICVlZHgKKwlzdWIJJDY0LCAlZWN4CisJamEJTChTaGw3TG9vcFN0YXJ0KQorCitMKFNobDdMb29wTGVhdmUpOgorCWFkZAkkMzIsICVlY3gKKwlqbGUJTChzaGxfZW5kXzApCisKKwltb3ZhcHMJOSglZWF4KSwgJXhtbTIKKwltb3ZhcHMJMjUoJWVheCksICV4bW0zCisJcGFsaWducgkkNywgJXhtbTIsICV4bW0zCisJcGFsaWducgkkNywgJXhtbTEsICV4bW0yCisJbW92YXBzCSV4bW0yLCAoJWVkeCkKKwltb3ZhcHMJJXhtbTMsIDE2KCVlZHgpCisJbGVhCTMyKCVlZHgsICVlY3gpLCAlZWR4CisJbGVhCTMyKCVlYXgsICVlY3gpLCAlZWF4CisJUE9QICglZWRpKQorCUJSQU5DSF9UT19KTVBUQkxfRU5UUlkoTCh0YWJsZV80OGJ5dGVzX2Z3ZCksICVlY3gsIDQpCisKKwlDRklfUFVTSCAoJWVkaSkKKworCS5wMmFsaWduIDQKK0woc2hfN19ub19wcmVmZXRjaCk6CisJbGVhCS0zMiglZWN4KSwgJWVjeAorCWxlYQktNyglZWF4KSwgJWVheAorCXhvcgklZWRpLCAlZWRpCisKKwkucDJhbGlnbiA0CitMKHNoXzdfbm9fcHJlZmV0Y2hfbG9vcCk6CiAJbW92ZHFhCTE2KCVlYXgsICVlZGkpLCAleG1tMgogCXN1YgkkMzIsICVlY3gKIAltb3ZkcWEJMzIoJWVheCwgJWVkaSksICV4bW0zCkBAIC03MjMsOCArMTEyOCw3IEBACiAJbGVhCTMyKCVlZGkpLCAlZWRpCiAJbW92ZHFhCSV4bW0yLCAtMzIoJWVkeCwgJWVkaSkKIAltb3ZkcWEJJXhtbTMsIC0xNiglZWR4LCAlZWRpKQotCi0JamIJTChzaGxfN19lbmQpCisJamIJTChzaF83X2VuZF9ub19wcmVmZXRjaF9sb29wKQogCiAJbW92ZHFhCTE2KCVlYXgsICVlZGkpLCAleG1tMgogCXN1YgkkMzIsICVlY3gKQEAgLTczNSwzMCArMTEzOSw5MCBAQAogCWxlYQkzMiglZWRpKSwgJWVkaQogCW1vdmRxYQkleG1tMiwgLTMyKCVlZHgsICVlZGkpCiAJbW92ZHFhCSV4bW0zLCAtMTYoJWVkeCwgJWVkaSkKKwlqYWUJTChzaF83X25vX3ByZWZldGNoX2xvb3ApCiAKLQlqYWUJTChzaGxfN19sb29wKQotCi1MKHNobF83X2VuZCk6CitMKHNoXzdfZW5kX25vX3ByZWZldGNoX2xvb3ApOgogCWxlYQkzMiglZWN4KSwgJWVjeAogCWFkZAklZWN4LCAlZWRpCiAJYWRkCSVlZGksICVlZHgKIAlsZWEJNyglZWRpLCAlZWF4KSwgJWVheAotCVBPUCAoJWVkaSkKLQlCUkFOQ0hfVE9fSk1QVEJMX0VOVFJZX1RBSUwoTCh0YWJsZV80OGJ5dGVzX2Z3ZCksICVlY3gsIDQpCisJUE9QCSglZWRpKQorCUJSQU5DSF9UT19KTVBUQkxfRU5UUlkoTCh0YWJsZV80OGJ5dGVzX2Z3ZCksICVlY3gsIDQpCiAKLQljZmlfcmVzdG9yZV9zdGF0ZQotCWNmaV9yZW1lbWJlcl9zdGF0ZQotCUFMSUdOICg0KQorCUNGSV9QVVNIICglZWRpKQorCisJLnAyYWxpZ24gNAogTChzaGxfOCk6Ci0JQlJBTkNIX1RPX0pNUFRCTF9FTlRSWV9WQUxVRShMKHRhYmxlXzQ4Ynl0ZXNfZndkKSkKLQlsZWEJLTgoJWVheCksICVlYXgKLQltb3ZhcHMJKCVlYXgpLCAleG1tMQotCXhvcgklZWRpLCAlZWRpCi0JbGVhCS0zMiglZWN4KSwgJWVjeAotCW1vdmRxdQkleG1tMCwgKCVlc2kpCi0JUE9QICglZXNpKQotTChzaGxfOF9sb29wKToKKyNpZm5kZWYgVVNFX0FTX01FTU1PVkUKKwltb3ZhcHMJLTgoJWVheCksICV4bW0xCisjZWxzZQorCW1vdmwJREVTVCs0KCVlc3ApLCAlZWRpCisJbW92YXBzCS04KCVlYXgpLCAleG1tMQorCW1vdmRxdQkleG1tMCwgKCVlZGkpCisjZW5kaWYKKyNpZmRlZiBEQVRBX0NBQ0hFX1NJWkVfSEFMRgorCWNtcAkkREFUQV9DQUNIRV9TSVpFX0hBTEYsICVlY3gKKyNlbHNlCisjIGlmIChkZWZpbmVkIFNIQVJFRCB8fCBkZWZpbmVkIF9fUElDX18pCisJU0VUVVBfUElDX1JFRyhieCkKKwlhZGQJJF9HTE9CQUxfT0ZGU0VUX1RBQkxFXywgJWVieAorCWNtcAlfX3g4Nl9kYXRhX2NhY2hlX3NpemVfaGFsZkBHT1RPRkYoJWVieCksICVlY3gKKyMgZWxzZQorCWNtcAlfX3g4Nl9kYXRhX2NhY2hlX3NpemVfaGFsZiwgJWVjeAorIyBlbmRpZgorI2VuZGlmCisJamIgTChzaF84X25vX3ByZWZldGNoKQogCisJbGVhCS02NCglZWN4KSwgJWVjeAorCisJLnAyYWxpZ24gNAorTChTaGw4TG9vcFN0YXJ0KToKKwlwcmVmZXRjaHQwIDB4MWMwKCVlYXgpCisJcHJlZmV0Y2h0MCAweDFjMCglZWR4KQorCW1vdmFwcwk4KCVlYXgpLCAleG1tMgorCW1vdmFwcwkyNCglZWF4KSwgJXhtbTMKKwltb3ZhcHMJNDAoJWVheCksICV4bW00CisJbW92YXBzCTU2KCVlYXgpLCAleG1tNQorCW1vdmFwcwkleG1tNSwgJXhtbTcKKwlwYWxpZ25yCSQ4LCAleG1tNCwgJXhtbTUKKwlwYWxpZ25yCSQ4LCAleG1tMywgJXhtbTQKKwltb3ZhcHMJJXhtbTUsIDQ4KCVlZHgpCisJcGFsaWducgkkOCwgJXhtbTIsICV4bW0zCisJbGVhCTY0KCVlYXgpLCAlZWF4CisJcGFsaWducgkkOCwgJXhtbTEsICV4bW0yCisJbW92YXBzCSV4bW00LCAzMiglZWR4KQorCW1vdmFwcwkleG1tMywgMTYoJWVkeCkKKwltb3ZhcHMJJXhtbTcsICV4bW0xCisJbW92YXBzCSV4bW0yLCAoJWVkeCkKKwlsZWEJNjQoJWVkeCksICVlZHgKKwlzdWIJJDY0LCAlZWN4CisJamEJTChTaGw4TG9vcFN0YXJ0KQorCitMKExvb3BMZWF2ZTgpOgorCWFkZAkkMzIsICVlY3gKKwlqbGUJTChzaGxfZW5kXzApCisKKwltb3ZhcHMJOCglZWF4KSwgJXhtbTIKKwltb3ZhcHMJMjQoJWVheCksICV4bW0zCisJcGFsaWducgkkOCwgJXhtbTIsICV4bW0zCisJcGFsaWducgkkOCwgJXhtbTEsICV4bW0yCisJbW92YXBzCSV4bW0yLCAoJWVkeCkKKwltb3ZhcHMJJXhtbTMsIDE2KCVlZHgpCisJbGVhCTMyKCVlZHgsICVlY3gpLCAlZWR4CisJbGVhCTMyKCVlYXgsICVlY3gpLCAlZWF4CisJUE9QICglZWRpKQorCUJSQU5DSF9UT19KTVBUQkxfRU5UUlkoTCh0YWJsZV80OGJ5dGVzX2Z3ZCksICVlY3gsIDQpCisKKwlDRklfUFVTSCAoJWVkaSkKKworCS5wMmFsaWduIDQKK0woc2hfOF9ub19wcmVmZXRjaCk6CisJbGVhCS0zMiglZWN4KSwgJWVjeAorCWxlYQktOCglZWF4KSwgJWVheAorCXhvcgklZWRpLCAlZWRpCisKKwkucDJhbGlnbiA0CitMKHNoXzhfbm9fcHJlZmV0Y2hfbG9vcCk6CiAJbW92ZHFhCTE2KCVlYXgsICVlZGkpLCAleG1tMgogCXN1YgkkMzIsICVlY3gKIAltb3ZkcWEJMzIoJWVheCwgJWVkaSksICV4bW0zCkBAIC03NjgsOCArMTIzMiw3IEBACiAJbGVhCTMyKCVlZGkpLCAlZWRpCiAJbW92ZHFhCSV4bW0yLCAtMzIoJWVkeCwgJWVkaSkKIAltb3ZkcWEJJXhtbTMsIC0xNiglZWR4LCAlZWRpKQotCi0JamIJTChzaGxfOF9lbmQpCisJamIJTChzaF84X2VuZF9ub19wcmVmZXRjaF9sb29wKQogCiAJbW92ZHFhCTE2KCVlYXgsICVlZGkpLCAleG1tMgogCXN1YgkkMzIsICVlY3gKQEAgLTc4MCwzMCArMTI0Myw5MSBAQAogCWxlYQkzMiglZWRpKSwgJWVkaQogCW1vdmRxYQkleG1tMiwgLTMyKCVlZHgsICVlZGkpCiAJbW92ZHFhCSV4bW0zLCAtMTYoJWVkeCwgJWVkaSkKKwlqYWUJTChzaF84X25vX3ByZWZldGNoX2xvb3ApCiAKLQlqYWUJTChzaGxfOF9sb29wKQotCi1MKHNobF84X2VuZCk6CitMKHNoXzhfZW5kX25vX3ByZWZldGNoX2xvb3ApOgogCWxlYQkzMiglZWN4KSwgJWVjeAogCWFkZAklZWN4LCAlZWRpCiAJYWRkCSVlZGksICVlZHgKIAlsZWEJOCglZWRpLCAlZWF4KSwgJWVheAotCVBPUCAoJWVkaSkKLQlCUkFOQ0hfVE9fSk1QVEJMX0VOVFJZX1RBSUwoTCh0YWJsZV80OGJ5dGVzX2Z3ZCksICVlY3gsIDQpCisJUE9QCSglZWRpKQorCUJSQU5DSF9UT19KTVBUQkxfRU5UUlkoTCh0YWJsZV80OGJ5dGVzX2Z3ZCksICVlY3gsIDQpCiAKLQljZmlfcmVzdG9yZV9zdGF0ZQotCWNmaV9yZW1lbWJlcl9zdGF0ZQotCUFMSUdOICg0KQorCUNGSV9QVVNIICglZWRpKQorCisJLnAyYWxpZ24gNAogTChzaGxfOSk6Ci0JQlJBTkNIX1RPX0pNUFRCTF9FTlRSWV9WQUxVRShMKHRhYmxlXzQ4Ynl0ZXNfZndkKSkKLQlsZWEJLTkoJWVheCksICVlYXgKLQltb3ZhcHMJKCVlYXgpLCAleG1tMQotCXhvcgklZWRpLCAlZWRpCi0JbGVhCS0zMiglZWN4KSwgJWVjeAotCW1vdmRxdQkleG1tMCwgKCVlc2kpCi0JUE9QICglZXNpKQotTChzaGxfOV9sb29wKToKKyNpZm5kZWYgVVNFX0FTX01FTU1PVkUKKwltb3ZhcHMJLTkoJWVheCksICV4bW0xCisjZWxzZQorCW1vdmwJREVTVCs0KCVlc3ApLCAlZWRpCisJbW92YXBzCS05KCVlYXgpLCAleG1tMQorCW1vdmRxdQkleG1tMCwgKCVlZGkpCisjZW5kaWYKKyNpZmRlZiBEQVRBX0NBQ0hFX1NJWkVfSEFMRgorCWNtcAkkREFUQV9DQUNIRV9TSVpFX0hBTEYsICVlY3gKKyNlbHNlCisjIGlmIChkZWZpbmVkIFNIQVJFRCB8fCBkZWZpbmVkIF9fUElDX18pCisJU0VUVVBfUElDX1JFRyhieCkKKwlhZGQJJF9HTE9CQUxfT0ZGU0VUX1RBQkxFXywgJWVieAorCWNtcAlfX3g4Nl9kYXRhX2NhY2hlX3NpemVfaGFsZkBHT1RPRkYoJWVieCksICVlY3gKKyMgZWxzZQorCWNtcAlfX3g4Nl9kYXRhX2NhY2hlX3NpemVfaGFsZiwgJWVjeAorIyBlbmRpZgorI2VuZGlmCisJamIgTChzaF85X25vX3ByZWZldGNoKQogCisJbGVhCS02NCglZWN4KSwgJWVjeAorCisJLnAyYWxpZ24gNAorTChTaGw5TG9vcFN0YXJ0KToKKwlwcmVmZXRjaHQwIDB4MWMwKCVlYXgpCisJcHJlZmV0Y2h0MCAweDFjMCglZWR4KQorCW1vdmFwcwk3KCVlYXgpLCAleG1tMgorCW1vdmFwcwkyMyglZWF4KSwgJXhtbTMKKwltb3ZhcHMJMzkoJWVheCksICV4bW00CisJbW92YXBzCTU1KCVlYXgpLCAleG1tNQorCW1vdmFwcwkleG1tNSwgJXhtbTcKKwlwYWxpZ25yCSQ5LCAleG1tNCwgJXhtbTUKKwlwYWxpZ25yCSQ5LCAleG1tMywgJXhtbTQKKwltb3ZhcHMJJXhtbTUsIDQ4KCVlZHgpCisJcGFsaWducgkkOSwgJXhtbTIsICV4bW0zCisJbGVhCTY0KCVlYXgpLCAlZWF4CisJcGFsaWducgkkOSwgJXhtbTEsICV4bW0yCisJbW92YXBzCSV4bW00LCAzMiglZWR4KQorCW1vdmFwcwkleG1tMywgMTYoJWVkeCkKKwltb3ZhcHMJJXhtbTcsICV4bW0xCisJbW92YXBzCSV4bW0yLCAoJWVkeCkKKwlsZWEJNjQoJWVkeCksICVlZHgKKwlzdWIJJDY0LCAlZWN4CisJamEJTChTaGw5TG9vcFN0YXJ0KQorCitMKFNobDlMb29wTGVhdmUpOgorCWFkZAkkMzIsICVlY3gKKwlqbGUJTChzaGxfZW5kXzApCisKKwltb3ZhcHMJNyglZWF4KSwgJXhtbTIKKwltb3ZhcHMJMjMoJWVheCksICV4bW0zCisJcGFsaWducgkkOSwgJXhtbTIsICV4bW0zCisJcGFsaWducgkkOSwgJXhtbTEsICV4bW0yCisKKwltb3ZhcHMJJXhtbTIsICglZWR4KQorCW1vdmFwcwkleG1tMywgMTYoJWVkeCkKKwlsZWEJMzIoJWVkeCwgJWVjeCksICVlZHgKKwlsZWEJMzIoJWVheCwgJWVjeCksICVlYXgKKwlQT1AgKCVlZGkpCisJQlJBTkNIX1RPX0pNUFRCTF9FTlRSWShMKHRhYmxlXzQ4Ynl0ZXNfZndkKSwgJWVjeCwgNCkKKworCUNGSV9QVVNIICglZWRpKQorCisJLnAyYWxpZ24gNAorTChzaF85X25vX3ByZWZldGNoKToKKwlsZWEJLTMyKCVlY3gpLCAlZWN4CisJbGVhCS05KCVlYXgpLCAlZWF4CisJeG9yCSVlZGksICVlZGkKKworCS5wMmFsaWduIDQKK0woc2hfOV9ub19wcmVmZXRjaF9sb29wKToKIAltb3ZkcWEJMTYoJWVheCwgJWVkaSksICV4bW0yCiAJc3ViCSQzMiwgJWVjeAogCW1vdmRxYQkzMiglZWF4LCAlZWRpKSwgJXhtbTMKQEAgLTgxMyw4ICsxMzM3LDcgQEAKIAlsZWEJMzIoJWVkaSksICVlZGkKIAltb3ZkcWEJJXhtbTIsIC0zMiglZWR4LCAlZWRpKQogCW1vdmRxYQkleG1tMywgLTE2KCVlZHgsICVlZGkpCi0KLQlqYglMKHNobF85X2VuZCkKKwlqYglMKHNoXzlfZW5kX25vX3ByZWZldGNoX2xvb3ApCiAKIAltb3ZkcWEJMTYoJWVheCwgJWVkaSksICV4bW0yCiAJc3ViCSQzMiwgJWVjeApAQCAtODI1LDMwICsxMzQ4LDkxIEBACiAJbGVhCTMyKCVlZGkpLCAlZWRpCiAJbW92ZHFhCSV4bW0yLCAtMzIoJWVkeCwgJWVkaSkKIAltb3ZkcWEJJXhtbTMsIC0xNiglZWR4LCAlZWRpKQorCWphZQlMKHNoXzlfbm9fcHJlZmV0Y2hfbG9vcCkKIAotCWphZQlMKHNobF85X2xvb3ApCi0KLUwoc2hsXzlfZW5kKToKK0woc2hfOV9lbmRfbm9fcHJlZmV0Y2hfbG9vcCk6CiAJbGVhCTMyKCVlY3gpLCAlZWN4CiAJYWRkCSVlY3gsICVlZGkKIAlhZGQJJWVkaSwgJWVkeAogCWxlYQk5KCVlZGksICVlYXgpLCAlZWF4Ci0JUE9QICglZWRpKQotCUJSQU5DSF9UT19KTVBUQkxfRU5UUllfVEFJTChMKHRhYmxlXzQ4Ynl0ZXNfZndkKSwgJWVjeCwgNCkKKwlQT1AJKCVlZGkpCisJQlJBTkNIX1RPX0pNUFRCTF9FTlRSWShMKHRhYmxlXzQ4Ynl0ZXNfZndkKSwgJWVjeCwgNCkKIAotCWNmaV9yZXN0b3JlX3N0YXRlCi0JY2ZpX3JlbWVtYmVyX3N0YXRlCi0JQUxJR04gKDQpCisJQ0ZJX1BVU0ggKCVlZGkpCisKKwkucDJhbGlnbiA0CiBMKHNobF8xMCk6Ci0JQlJBTkNIX1RPX0pNUFRCTF9FTlRSWV9WQUxVRShMKHRhYmxlXzQ4Ynl0ZXNfZndkKSkKLQlsZWEJLTEwKCVlYXgpLCAlZWF4Ci0JbW92YXBzCSglZWF4KSwgJXhtbTEKLQl4b3IJJWVkaSwgJWVkaQotCWxlYQktMzIoJWVjeCksICVlY3gKLQltb3ZkcXUJJXhtbTAsICglZXNpKQotCVBPUCAoJWVzaSkKLUwoc2hsXzEwX2xvb3ApOgorI2lmbmRlZiBVU0VfQVNfTUVNTU9WRQorCW1vdmFwcwktMTAoJWVheCksICV4bW0xCisjZWxzZQorCW1vdmwJREVTVCs0KCVlc3ApLCAlZWRpCisJbW92YXBzCS0xMCglZWF4KSwgJXhtbTEKKwltb3ZkcXUJJXhtbTAsICglZWRpKQorI2VuZGlmCisjaWZkZWYgREFUQV9DQUNIRV9TSVpFX0hBTEYKKwljbXAJJERBVEFfQ0FDSEVfU0laRV9IQUxGLCAlZWN4CisjZWxzZQorIyBpZiAoZGVmaW5lZCBTSEFSRUQgfHwgZGVmaW5lZCBfX1BJQ19fKQorCVNFVFVQX1BJQ19SRUcoYngpCisJYWRkCSRfR0xPQkFMX09GRlNFVF9UQUJMRV8sICVlYngKKwljbXAJX194ODZfZGF0YV9jYWNoZV9zaXplX2hhbGZAR09UT0ZGKCVlYngpLCAlZWN4CisjIGVsc2UKKwljbXAJX194ODZfZGF0YV9jYWNoZV9zaXplX2hhbGYsICVlY3gKKyMgZW5kaWYKKyNlbmRpZgorCWpiIEwoc2hfMTBfbm9fcHJlZmV0Y2gpCiAKKwlsZWEJLTY0KCVlY3gpLCAlZWN4CisKKwkucDJhbGlnbiA0CitMKFNobDEwTG9vcFN0YXJ0KToKKwlwcmVmZXRjaHQwIDB4MWMwKCVlYXgpCisJcHJlZmV0Y2h0MCAweDFjMCglZWR4KQorCW1vdmFwcwk2KCVlYXgpLCAleG1tMgorCW1vdmFwcwkyMiglZWF4KSwgJXhtbTMKKwltb3ZhcHMJMzgoJWVheCksICV4bW00CisJbW92YXBzCTU0KCVlYXgpLCAleG1tNQorCW1vdmFwcwkleG1tNSwgJXhtbTcKKwlwYWxpZ25yCSQxMCwgJXhtbTQsICV4bW01CisJcGFsaWducgkkMTAsICV4bW0zLCAleG1tNAorCW1vdmFwcwkleG1tNSwgNDgoJWVkeCkKKwlwYWxpZ25yCSQxMCwgJXhtbTIsICV4bW0zCisJbGVhCTY0KCVlYXgpLCAlZWF4CisJcGFsaWducgkkMTAsICV4bW0xLCAleG1tMgorCW1vdmFwcwkleG1tNCwgMzIoJWVkeCkKKwltb3ZhcHMJJXhtbTMsIDE2KCVlZHgpCisJbW92YXBzCSV4bW03LCAleG1tMQorCW1vdmFwcwkleG1tMiwgKCVlZHgpCisJbGVhCTY0KCVlZHgpLCAlZWR4CisJc3ViCSQ2NCwgJWVjeAorCWphCUwoU2hsMTBMb29wU3RhcnQpCisKK0woU2hsMTBMb29wTGVhdmUpOgorCWFkZAkkMzIsICVlY3gKKwlqbGUJTChzaGxfZW5kXzApCisKKwltb3ZhcHMJNiglZWF4KSwgJXhtbTIKKwltb3ZhcHMJMjIoJWVheCksICV4bW0zCisJcGFsaWducgkkMTAsICV4bW0yLCAleG1tMworCXBhbGlnbnIJJDEwLCAleG1tMSwgJXhtbTIKKworCW1vdmFwcwkleG1tMiwgKCVlZHgpCisJbW92YXBzCSV4bW0zLCAxNiglZWR4KQorCWxlYQkzMiglZWR4LCAlZWN4KSwgJWVkeAorCWxlYQkzMiglZWF4LCAlZWN4KSwgJWVheAorCVBPUCAoJWVkaSkKKwlCUkFOQ0hfVE9fSk1QVEJMX0VOVFJZKEwodGFibGVfNDhieXRlc19md2QpLCAlZWN4LCA0KQorCisJQ0ZJX1BVU0ggKCVlZGkpCisKKwkucDJhbGlnbiA0CitMKHNoXzEwX25vX3ByZWZldGNoKToKKwlsZWEJLTMyKCVlY3gpLCAlZWN4CisJbGVhCS0xMCglZWF4KSwgJWVheAorCXhvcgklZWRpLCAlZWRpCisKKwkucDJhbGlnbiA0CitMKHNoXzEwX25vX3ByZWZldGNoX2xvb3ApOgogCW1vdmRxYQkxNiglZWF4LCAlZWRpKSwgJXhtbTIKIAlzdWIJJDMyLCAlZWN4CiAJbW92ZHFhCTMyKCVlYXgsICVlZGkpLCAleG1tMwpAQCAtODU4LDggKzE0NDIsNyBAQAogCWxlYQkzMiglZWRpKSwgJWVkaQogCW1vdmRxYQkleG1tMiwgLTMyKCVlZHgsICVlZGkpCiAJbW92ZHFhCSV4bW0zLCAtMTYoJWVkeCwgJWVkaSkKLQotCWpiCUwoc2hsXzEwX2VuZCkKKwlqYglMKHNoXzEwX2VuZF9ub19wcmVmZXRjaF9sb29wKQogCiAJbW92ZHFhCTE2KCVlYXgsICVlZGkpLCAleG1tMgogCXN1YgkkMzIsICVlY3gKQEAgLTg3MCwzMCArMTQ1Myw5MSBAQAogCWxlYQkzMiglZWRpKSwgJWVkaQogCW1vdmRxYQkleG1tMiwgLTMyKCVlZHgsICVlZGkpCiAJbW92ZHFhCSV4bW0zLCAtMTYoJWVkeCwgJWVkaSkKKwlqYWUJTChzaF8xMF9ub19wcmVmZXRjaF9sb29wKQogCi0JamFlCUwoc2hsXzEwX2xvb3ApCi0KLUwoc2hsXzEwX2VuZCk6CitMKHNoXzEwX2VuZF9ub19wcmVmZXRjaF9sb29wKToKIAlsZWEJMzIoJWVjeCksICVlY3gKIAlhZGQJJWVjeCwgJWVkaQogCWFkZAklZWRpLCAlZWR4CiAJbGVhCTEwKCVlZGksICVlYXgpLCAlZWF4Ci0JUE9QICglZWRpKQotCUJSQU5DSF9UT19KTVBUQkxfRU5UUllfVEFJTChMKHRhYmxlXzQ4Ynl0ZXNfZndkKSwgJWVjeCwgNCkKKwlQT1AJKCVlZGkpCisJQlJBTkNIX1RPX0pNUFRCTF9FTlRSWShMKHRhYmxlXzQ4Ynl0ZXNfZndkKSwgJWVjeCwgNCkKIAotCWNmaV9yZXN0b3JlX3N0YXRlCi0JY2ZpX3JlbWVtYmVyX3N0YXRlCi0JQUxJR04gKDQpCisJQ0ZJX1BVU0ggKCVlZGkpCisKKwkucDJhbGlnbiA0CiBMKHNobF8xMSk6Ci0JQlJBTkNIX1RPX0pNUFRCTF9FTlRSWV9WQUxVRShMKHRhYmxlXzQ4Ynl0ZXNfZndkKSkKLQlsZWEJLTExKCVlYXgpLCAlZWF4Ci0JbW92YXBzCSglZWF4KSwgJXhtbTEKLQl4b3IJJWVkaSwgJWVkaQotCWxlYQktMzIoJWVjeCksICVlY3gKLQltb3ZkcXUJJXhtbTAsICglZXNpKQotCVBPUCAoJWVzaSkKLUwoc2hsXzExX2xvb3ApOgorI2lmbmRlZiBVU0VfQVNfTUVNTU9WRQorCW1vdmFwcwktMTEoJWVheCksICV4bW0xCisjZWxzZQorCW1vdmwJREVTVCs0KCVlc3ApLCAlZWRpCisJbW92YXBzCS0xMSglZWF4KSwgJXhtbTEKKwltb3ZkcXUJJXhtbTAsICglZWRpKQorI2VuZGlmCisjaWZkZWYgREFUQV9DQUNIRV9TSVpFX0hBTEYKKwljbXAJJERBVEFfQ0FDSEVfU0laRV9IQUxGLCAlZWN4CisjZWxzZQorIyBpZiAoZGVmaW5lZCBTSEFSRUQgfHwgZGVmaW5lZCBfX1BJQ19fKQorCVNFVFVQX1BJQ19SRUcoYngpCisJYWRkCSRfR0xPQkFMX09GRlNFVF9UQUJMRV8sICVlYngKKwljbXAJX194ODZfZGF0YV9jYWNoZV9zaXplX2hhbGZAR09UT0ZGKCVlYngpLCAlZWN4CisjIGVsc2UKKwljbXAJX194ODZfZGF0YV9jYWNoZV9zaXplX2hhbGYsICVlY3gKKyMgZW5kaWYKKyNlbmRpZgorCWpiIEwoc2hfMTFfbm9fcHJlZmV0Y2gpCiAKKwlsZWEJLTY0KCVlY3gpLCAlZWN4CisKKwkucDJhbGlnbiA0CitMKFNobDExTG9vcFN0YXJ0KToKKwlwcmVmZXRjaHQwIDB4MWMwKCVlYXgpCisJcHJlZmV0Y2h0MCAweDFjMCglZWR4KQorCW1vdmFwcwk1KCVlYXgpLCAleG1tMgorCW1vdmFwcwkyMSglZWF4KSwgJXhtbTMKKwltb3ZhcHMJMzcoJWVheCksICV4bW00CisJbW92YXBzCTUzKCVlYXgpLCAleG1tNQorCW1vdmFwcwkleG1tNSwgJXhtbTcKKwlwYWxpZ25yCSQxMSwgJXhtbTQsICV4bW01CisJcGFsaWducgkkMTEsICV4bW0zLCAleG1tNAorCW1vdmFwcwkleG1tNSwgNDgoJWVkeCkKKwlwYWxpZ25yCSQxMSwgJXhtbTIsICV4bW0zCisJbGVhCTY0KCVlYXgpLCAlZWF4CisJcGFsaWducgkkMTEsICV4bW0xLCAleG1tMgorCW1vdmFwcwkleG1tNCwgMzIoJWVkeCkKKwltb3ZhcHMJJXhtbTMsIDE2KCVlZHgpCisJbW92YXBzCSV4bW03LCAleG1tMQorCW1vdmFwcwkleG1tMiwgKCVlZHgpCisJbGVhCTY0KCVlZHgpLCAlZWR4CisJc3ViCSQ2NCwgJWVjeAorCWphCUwoU2hsMTFMb29wU3RhcnQpCisKK0woU2hsMTFMb29wTGVhdmUpOgorCWFkZAkkMzIsICVlY3gKKwlqbGUJTChzaGxfZW5kXzApCisKKwltb3ZhcHMJNSglZWF4KSwgJXhtbTIKKwltb3ZhcHMJMjEoJWVheCksICV4bW0zCisJcGFsaWducgkkMTEsICV4bW0yLCAleG1tMworCXBhbGlnbnIJJDExLCAleG1tMSwgJXhtbTIKKworCW1vdmFwcwkleG1tMiwgKCVlZHgpCisJbW92YXBzCSV4bW0zLCAxNiglZWR4KQorCWxlYQkzMiglZWR4LCAlZWN4KSwgJWVkeAorCWxlYQkzMiglZWF4LCAlZWN4KSwgJWVheAorCVBPUCAoJWVkaSkKKwlCUkFOQ0hfVE9fSk1QVEJMX0VOVFJZKEwodGFibGVfNDhieXRlc19md2QpLCAlZWN4LCA0KQorCisJQ0ZJX1BVU0ggKCVlZGkpCisKKwkucDJhbGlnbiA0CitMKHNoXzExX25vX3ByZWZldGNoKToKKwlsZWEJLTMyKCVlY3gpLCAlZWN4CisJbGVhCS0xMSglZWF4KSwgJWVheAorCXhvcgklZWRpLCAlZWRpCisKKwkucDJhbGlnbiA0CitMKHNoXzExX25vX3ByZWZldGNoX2xvb3ApOgogCW1vdmRxYQkxNiglZWF4LCAlZWRpKSwgJXhtbTIKIAlzdWIJJDMyLCAlZWN4CiAJbW92ZHFhCTMyKCVlYXgsICVlZGkpLCAleG1tMwpAQCAtOTAzLDggKzE1NDcsNyBAQAogCWxlYQkzMiglZWRpKSwgJWVkaQogCW1vdmRxYQkleG1tMiwgLTMyKCVlZHgsICVlZGkpCiAJbW92ZHFhCSV4bW0zLCAtMTYoJWVkeCwgJWVkaSkKLQotCWpiCUwoc2hsXzExX2VuZCkKKwlqYglMKHNoXzExX2VuZF9ub19wcmVmZXRjaF9sb29wKQogCiAJbW92ZHFhCTE2KCVlYXgsICVlZGkpLCAleG1tMgogCXN1YgkkMzIsICVlY3gKQEAgLTkxNSwzMCArMTU1OCw5MSBAQAogCWxlYQkzMiglZWRpKSwgJWVkaQogCW1vdmRxYQkleG1tMiwgLTMyKCVlZHgsICVlZGkpCiAJbW92ZHFhCSV4bW0zLCAtMTYoJWVkeCwgJWVkaSkKKwlqYWUJTChzaF8xMV9ub19wcmVmZXRjaF9sb29wKQogCi0JamFlCUwoc2hsXzExX2xvb3ApCi0KLUwoc2hsXzExX2VuZCk6CitMKHNoXzExX2VuZF9ub19wcmVmZXRjaF9sb29wKToKIAlsZWEJMzIoJWVjeCksICVlY3gKIAlhZGQJJWVjeCwgJWVkaQogCWFkZAklZWRpLCAlZWR4CiAJbGVhCTExKCVlZGksICVlYXgpLCAlZWF4Ci0JUE9QICglZWRpKQotCUJSQU5DSF9UT19KTVBUQkxfRU5UUllfVEFJTChMKHRhYmxlXzQ4Ynl0ZXNfZndkKSwgJWVjeCwgNCkKKwlQT1AJKCVlZGkpCisJQlJBTkNIX1RPX0pNUFRCTF9FTlRSWShMKHRhYmxlXzQ4Ynl0ZXNfZndkKSwgJWVjeCwgNCkKIAotCWNmaV9yZXN0b3JlX3N0YXRlCi0JY2ZpX3JlbWVtYmVyX3N0YXRlCi0JQUxJR04gKDQpCisJQ0ZJX1BVU0ggKCVlZGkpCisKKwkucDJhbGlnbiA0CiBMKHNobF8xMik6Ci0JQlJBTkNIX1RPX0pNUFRCTF9FTlRSWV9WQUxVRShMKHRhYmxlXzQ4Ynl0ZXNfZndkKSkKLQlsZWEJLTEyKCVlYXgpLCAlZWF4Ci0JbW92YXBzCSglZWF4KSwgJXhtbTEKLQl4b3IJJWVkaSwgJWVkaQotCWxlYQktMzIoJWVjeCksICVlY3gKLQltb3ZkcXUJJXhtbTAsICglZXNpKQotCVBPUCAoJWVzaSkKLUwoc2hsXzEyX2xvb3ApOgorI2lmbmRlZiBVU0VfQVNfTUVNTU9WRQorCW1vdmFwcwktMTIoJWVheCksICV4bW0xCisjZWxzZQorCW1vdmwJREVTVCs0KCVlc3ApLCAlZWRpCisJbW92YXBzCS0xMiglZWF4KSwgJXhtbTEKKwltb3ZkcXUJJXhtbTAsICglZWRpKQorI2VuZGlmCisjaWZkZWYgREFUQV9DQUNIRV9TSVpFX0hBTEYKKwljbXAJJERBVEFfQ0FDSEVfU0laRV9IQUxGLCAlZWN4CisjZWxzZQorIyBpZiAoZGVmaW5lZCBTSEFSRUQgfHwgZGVmaW5lZCBfX1BJQ19fKQorCVNFVFVQX1BJQ19SRUcoYngpCisJYWRkCSRfR0xPQkFMX09GRlNFVF9UQUJMRV8sICVlYngKKwljbXAJX194ODZfZGF0YV9jYWNoZV9zaXplX2hhbGZAR09UT0ZGKCVlYngpLCAlZWN4CisjIGVsc2UKKwljbXAJX194ODZfZGF0YV9jYWNoZV9zaXplX2hhbGYsICVlY3gKKyMgZW5kaWYKKyNlbmRpZgorCWpiIEwoc2hfMTJfbm9fcHJlZmV0Y2gpCiAKKwlsZWEJLTY0KCVlY3gpLCAlZWN4CisKKwkucDJhbGlnbiA0CitMKFNobDEyTG9vcFN0YXJ0KToKKwlwcmVmZXRjaHQwIDB4MWMwKCVlYXgpCisJcHJlZmV0Y2h0MCAweDFjMCglZWR4KQorCW1vdmFwcwk0KCVlYXgpLCAleG1tMgorCW1vdmFwcwkyMCglZWF4KSwgJXhtbTMKKwltb3ZhcHMJMzYoJWVheCksICV4bW00CisJbW92YXBzCTUyKCVlYXgpLCAleG1tNQorCW1vdmFwcwkleG1tNSwgJXhtbTcKKwlwYWxpZ25yCSQxMiwgJXhtbTQsICV4bW01CisJcGFsaWducgkkMTIsICV4bW0zLCAleG1tNAorCW1vdmFwcwkleG1tNSwgNDgoJWVkeCkKKwlwYWxpZ25yCSQxMiwgJXhtbTIsICV4bW0zCisJbGVhCTY0KCVlYXgpLCAlZWF4CisJcGFsaWducgkkMTIsICV4bW0xLCAleG1tMgorCW1vdmFwcwkleG1tNCwgMzIoJWVkeCkKKwltb3ZhcHMJJXhtbTMsIDE2KCVlZHgpCisJbW92YXBzCSV4bW03LCAleG1tMQorCW1vdmFwcwkleG1tMiwgKCVlZHgpCisJbGVhCTY0KCVlZHgpLCAlZWR4CisJc3ViCSQ2NCwgJWVjeAorCWphCUwoU2hsMTJMb29wU3RhcnQpCisKK0woU2hsMTJMb29wTGVhdmUpOgorCWFkZAkkMzIsICVlY3gKKwlqbGUJTChzaGxfZW5kXzApCisKKwltb3ZhcHMJNCglZWF4KSwgJXhtbTIKKwltb3ZhcHMJMjAoJWVheCksICV4bW0zCisJcGFsaWducgkkMTIsICV4bW0yLCAleG1tMworCXBhbGlnbnIJJDEyLCAleG1tMSwgJXhtbTIKKworCW1vdmFwcwkleG1tMiwgKCVlZHgpCisJbW92YXBzCSV4bW0zLCAxNiglZWR4KQorCWxlYQkzMiglZWR4LCAlZWN4KSwgJWVkeAorCWxlYQkzMiglZWF4LCAlZWN4KSwgJWVheAorCVBPUCAoJWVkaSkKKwlCUkFOQ0hfVE9fSk1QVEJMX0VOVFJZKEwodGFibGVfNDhieXRlc19md2QpLCAlZWN4LCA0KQorCisJQ0ZJX1BVU0ggKCVlZGkpCisKKwkucDJhbGlnbiA0CitMKHNoXzEyX25vX3ByZWZldGNoKToKKwlsZWEJLTMyKCVlY3gpLCAlZWN4CisJbGVhCS0xMiglZWF4KSwgJWVheAorCXhvcgklZWRpLCAlZWRpCisKKwkucDJhbGlnbiA0CitMKHNoXzEyX25vX3ByZWZldGNoX2xvb3ApOgogCW1vdmRxYQkxNiglZWF4LCAlZWRpKSwgJXhtbTIKIAlzdWIJJDMyLCAlZWN4CiAJbW92ZHFhCTMyKCVlYXgsICVlZGkpLCAleG1tMwpAQCAtOTQ4LDggKzE2NTIsNyBAQAogCWxlYQkzMiglZWRpKSwgJWVkaQogCW1vdmRxYQkleG1tMiwgLTMyKCVlZHgsICVlZGkpCiAJbW92ZHFhCSV4bW0zLCAtMTYoJWVkeCwgJWVkaSkKLQotCWpiCUwoc2hsXzEyX2VuZCkKKwlqYglMKHNoXzEyX2VuZF9ub19wcmVmZXRjaF9sb29wKQogCiAJbW92ZHFhCTE2KCVlYXgsICVlZGkpLCAleG1tMgogCXN1YgkkMzIsICVlY3gKQEAgLTk2MCwzMCArMTY2Myw5MSBAQAogCWxlYQkzMiglZWRpKSwgJWVkaQogCW1vdmRxYQkleG1tMiwgLTMyKCVlZHgsICVlZGkpCiAJbW92ZHFhCSV4bW0zLCAtMTYoJWVkeCwgJWVkaSkKKwlqYWUJTChzaF8xMl9ub19wcmVmZXRjaF9sb29wKQogCi0JamFlCUwoc2hsXzEyX2xvb3ApCi0KLUwoc2hsXzEyX2VuZCk6CitMKHNoXzEyX2VuZF9ub19wcmVmZXRjaF9sb29wKToKIAlsZWEJMzIoJWVjeCksICVlY3gKIAlhZGQJJWVjeCwgJWVkaQogCWFkZAklZWRpLCAlZWR4CiAJbGVhCTEyKCVlZGksICVlYXgpLCAlZWF4Ci0JUE9QICglZWRpKQotCUJSQU5DSF9UT19KTVBUQkxfRU5UUllfVEFJTChMKHRhYmxlXzQ4Ynl0ZXNfZndkKSwgJWVjeCwgNCkKKwlQT1AJKCVlZGkpCisJQlJBTkNIX1RPX0pNUFRCTF9FTlRSWShMKHRhYmxlXzQ4Ynl0ZXNfZndkKSwgJWVjeCwgNCkKIAotCWNmaV9yZXN0b3JlX3N0YXRlCi0JY2ZpX3JlbWVtYmVyX3N0YXRlCi0JQUxJR04gKDQpCisJQ0ZJX1BVU0ggKCVlZGkpCisKKwkucDJhbGlnbiA0CiBMKHNobF8xMyk6Ci0JQlJBTkNIX1RPX0pNUFRCTF9FTlRSWV9WQUxVRShMKHRhYmxlXzQ4Ynl0ZXNfZndkKSkKLQlsZWEJLTEzKCVlYXgpLCAlZWF4Ci0JbW92YXBzCSglZWF4KSwgJXhtbTEKLQl4b3IJJWVkaSwgJWVkaQotCWxlYQktMzIoJWVjeCksICVlY3gKLQltb3ZkcXUJJXhtbTAsICglZXNpKQotCVBPUCAoJWVzaSkKLUwoc2hsXzEzX2xvb3ApOgorI2lmbmRlZiBVU0VfQVNfTUVNTU9WRQorCW1vdmFwcwktMTMoJWVheCksICV4bW0xCisjZWxzZQorCW1vdmwJREVTVCs0KCVlc3ApLCAlZWRpCisJbW92YXBzCS0xMyglZWF4KSwgJXhtbTEKKwltb3ZkcXUJJXhtbTAsICglZWRpKQorI2VuZGlmCisjaWZkZWYgREFUQV9DQUNIRV9TSVpFX0hBTEYKKwljbXAJJERBVEFfQ0FDSEVfU0laRV9IQUxGLCAlZWN4CisjZWxzZQorIyBpZiAoZGVmaW5lZCBTSEFSRUQgfHwgZGVmaW5lZCBfX1BJQ19fKQorCVNFVFVQX1BJQ19SRUcoYngpCisJYWRkCSRfR0xPQkFMX09GRlNFVF9UQUJMRV8sICVlYngKKwljbXAJX194ODZfZGF0YV9jYWNoZV9zaXplX2hhbGZAR09UT0ZGKCVlYngpLCAlZWN4CisjIGVsc2UKKwljbXAJX194ODZfZGF0YV9jYWNoZV9zaXplX2hhbGYsICVlY3gKKyMgZW5kaWYKKyNlbmRpZgorCWpiIEwoc2hfMTNfbm9fcHJlZmV0Y2gpCiAKKwlsZWEJLTY0KCVlY3gpLCAlZWN4CisKKwkucDJhbGlnbiA0CitMKFNobDEzTG9vcFN0YXJ0KToKKwlwcmVmZXRjaHQwIDB4MWMwKCVlYXgpCisJcHJlZmV0Y2h0MCAweDFjMCglZWR4KQorCW1vdmFwcwkzKCVlYXgpLCAleG1tMgorCW1vdmFwcwkxOSglZWF4KSwgJXhtbTMKKwltb3ZhcHMJMzUoJWVheCksICV4bW00CisJbW92YXBzCTUxKCVlYXgpLCAleG1tNQorCW1vdmFwcwkleG1tNSwgJXhtbTcKKwlwYWxpZ25yCSQxMywgJXhtbTQsICV4bW01CisJcGFsaWducgkkMTMsICV4bW0zLCAleG1tNAorCW1vdmFwcwkleG1tNSwgNDgoJWVkeCkKKwlwYWxpZ25yCSQxMywgJXhtbTIsICV4bW0zCisJbGVhCTY0KCVlYXgpLCAlZWF4CisJcGFsaWducgkkMTMsICV4bW0xLCAleG1tMgorCW1vdmFwcwkleG1tNCwgMzIoJWVkeCkKKwltb3ZhcHMJJXhtbTMsIDE2KCVlZHgpCisJbW92YXBzCSV4bW03LCAleG1tMQorCW1vdmFwcwkleG1tMiwgKCVlZHgpCisJbGVhCTY0KCVlZHgpLCAlZWR4CisJc3ViCSQ2NCwgJWVjeAorCWphCUwoU2hsMTNMb29wU3RhcnQpCisKK0woU2hsMTNMb29wTGVhdmUpOgorCWFkZAkkMzIsICVlY3gKKwlqbGUJTChzaGxfZW5kXzApCisKKwltb3ZhcHMJMyglZWF4KSwgJXhtbTIKKwltb3ZhcHMJMTkoJWVheCksICV4bW0zCisJcGFsaWducgkkMTMsICV4bW0yLCAleG1tMworCXBhbGlnbnIJJDEzLCAleG1tMSwgJXhtbTIKKworCW1vdmFwcwkleG1tMiwgKCVlZHgpCisJbW92YXBzCSV4bW0zLCAxNiglZWR4KQorCWxlYQkzMiglZWR4LCAlZWN4KSwgJWVkeAorCWxlYQkzMiglZWF4LCAlZWN4KSwgJWVheAorCVBPUCAoJWVkaSkKKwlCUkFOQ0hfVE9fSk1QVEJMX0VOVFJZKEwodGFibGVfNDhieXRlc19md2QpLCAlZWN4LCA0KQorCisJQ0ZJX1BVU0ggKCVlZGkpCisKKwkucDJhbGlnbiA0CitMKHNoXzEzX25vX3ByZWZldGNoKToKKwlsZWEJLTMyKCVlY3gpLCAlZWN4CisJbGVhCS0xMyglZWF4KSwgJWVheAorCXhvcgklZWRpLCAlZWRpCisKKwkucDJhbGlnbiA0CitMKHNoXzEzX25vX3ByZWZldGNoX2xvb3ApOgogCW1vdmRxYQkxNiglZWF4LCAlZWRpKSwgJXhtbTIKIAlzdWIJJDMyLCAlZWN4CiAJbW92ZHFhCTMyKCVlYXgsICVlZGkpLCAleG1tMwpAQCAtOTkzLDggKzE3NTcsNyBAQAogCWxlYQkzMiglZWRpKSwgJWVkaQogCW1vdmRxYQkleG1tMiwgLTMyKCVlZHgsICVlZGkpCiAJbW92ZHFhCSV4bW0zLCAtMTYoJWVkeCwgJWVkaSkKLQotCWpiCUwoc2hsXzEzX2VuZCkKKwlqYglMKHNoXzEzX2VuZF9ub19wcmVmZXRjaF9sb29wKQogCiAJbW92ZHFhCTE2KCVlYXgsICVlZGkpLCAleG1tMgogCXN1YgkkMzIsICVlY3gKQEAgLTEwMDUsMzAgKzE3NjgsOTEgQEAKIAlsZWEJMzIoJWVkaSksICVlZGkKIAltb3ZkcWEJJXhtbTIsIC0zMiglZWR4LCAlZWRpKQogCW1vdmRxYQkleG1tMywgLTE2KCVlZHgsICVlZGkpCisJamFlCUwoc2hfMTNfbm9fcHJlZmV0Y2hfbG9vcCkKIAotCWphZQlMKHNobF8xM19sb29wKQotCi1MKHNobF8xM19lbmQpOgorTChzaF8xM19lbmRfbm9fcHJlZmV0Y2hfbG9vcCk6CiAJbGVhCTMyKCVlY3gpLCAlZWN4CiAJYWRkCSVlY3gsICVlZGkKIAlhZGQJJWVkaSwgJWVkeAogCWxlYQkxMyglZWRpLCAlZWF4KSwgJWVheAotCVBPUCAoJWVkaSkKLQlCUkFOQ0hfVE9fSk1QVEJMX0VOVFJZX1RBSUwoTCh0YWJsZV80OGJ5dGVzX2Z3ZCksICVlY3gsIDQpCisJUE9QCSglZWRpKQorCUJSQU5DSF9UT19KTVBUQkxfRU5UUlkoTCh0YWJsZV80OGJ5dGVzX2Z3ZCksICVlY3gsIDQpCiAKLQljZmlfcmVzdG9yZV9zdGF0ZQotCWNmaV9yZW1lbWJlcl9zdGF0ZQotCUFMSUdOICg0KQorCUNGSV9QVVNIICglZWRpKQorCisJLnAyYWxpZ24gNAogTChzaGxfMTQpOgotCUJSQU5DSF9UT19KTVBUQkxfRU5UUllfVkFMVUUoTCh0YWJsZV80OGJ5dGVzX2Z3ZCkpCi0JbGVhCS0xNCglZWF4KSwgJWVheAotCW1vdmFwcwkoJWVheCksICV4bW0xCi0JeG9yCSVlZGksICVlZGkKLQlsZWEJLTMyKCVlY3gpLCAlZWN4Ci0JbW92ZHF1CSV4bW0wLCAoJWVzaSkKLQlQT1AgKCVlc2kpCi1MKHNobF8xNF9sb29wKToKKyNpZm5kZWYgVVNFX0FTX01FTU1PVkUKKwltb3ZhcHMJLTE0KCVlYXgpLCAleG1tMQorI2Vsc2UKKwltb3ZsCURFU1QrNCglZXNwKSwgJWVkaQorCW1vdmFwcwktMTQoJWVheCksICV4bW0xCisJbW92ZHF1CSV4bW0wLCAoJWVkaSkKKyNlbmRpZgorI2lmZGVmIERBVEFfQ0FDSEVfU0laRV9IQUxGCisJY21wCSREQVRBX0NBQ0hFX1NJWkVfSEFMRiwgJWVjeAorI2Vsc2UKKyMgaWYgKGRlZmluZWQgU0hBUkVEIHx8IGRlZmluZWQgX19QSUNfXykKKwlTRVRVUF9QSUNfUkVHKGJ4KQorCWFkZAkkX0dMT0JBTF9PRkZTRVRfVEFCTEVfLCAlZWJ4CisJY21wCV9feDg2X2RhdGFfY2FjaGVfc2l6ZV9oYWxmQEdPVE9GRiglZWJ4KSwgJWVjeAorIyBlbHNlCisJY21wCV9feDg2X2RhdGFfY2FjaGVfc2l6ZV9oYWxmLCAlZWN4CisjIGVuZGlmCisjZW5kaWYKKwlqYiBMKHNoXzE0X25vX3ByZWZldGNoKQogCisJbGVhCS02NCglZWN4KSwgJWVjeAorCisJLnAyYWxpZ24gNAorTChTaGwxNExvb3BTdGFydCk6CisJcHJlZmV0Y2h0MCAweDFjMCglZWF4KQorCXByZWZldGNodDAgMHgxYzAoJWVkeCkKKwltb3ZhcHMJMiglZWF4KSwgJXhtbTIKKwltb3ZhcHMJMTgoJWVheCksICV4bW0zCisJbW92YXBzCTM0KCVlYXgpLCAleG1tNAorCW1vdmFwcwk1MCglZWF4KSwgJXhtbTUKKwltb3ZhcHMJJXhtbTUsICV4bW03CisJcGFsaWducgkkMTQsICV4bW00LCAleG1tNQorCXBhbGlnbnIJJDE0LCAleG1tMywgJXhtbTQKKwltb3ZhcHMJJXhtbTUsIDQ4KCVlZHgpCisJcGFsaWducgkkMTQsICV4bW0yLCAleG1tMworCWxlYQk2NCglZWF4KSwgJWVheAorCXBhbGlnbnIJJDE0LCAleG1tMSwgJXhtbTIKKwltb3ZhcHMJJXhtbTQsIDMyKCVlZHgpCisJbW92YXBzCSV4bW0zLCAxNiglZWR4KQorCW1vdmFwcwkleG1tNywgJXhtbTEKKwltb3ZhcHMJJXhtbTIsICglZWR4KQorCWxlYQk2NCglZWR4KSwgJWVkeAorCXN1YgkkNjQsICVlY3gKKwlqYQlMKFNobDE0TG9vcFN0YXJ0KQorCitMKFNobDE0TG9vcExlYXZlKToKKwlhZGQJJDMyLCAlZWN4CisJamxlCUwoc2hsX2VuZF8wKQorCisJbW92YXBzCTIoJWVheCksICV4bW0yCisJbW92YXBzCTE4KCVlYXgpLCAleG1tMworCXBhbGlnbnIJJDE0LCAleG1tMiwgJXhtbTMKKwlwYWxpZ25yCSQxNCwgJXhtbTEsICV4bW0yCisKKwltb3ZhcHMJJXhtbTIsICglZWR4KQorCW1vdmFwcwkleG1tMywgMTYoJWVkeCkKKwlsZWEJMzIoJWVkeCwgJWVjeCksICVlZHgKKwlsZWEJMzIoJWVheCwgJWVjeCksICVlYXgKKwlQT1AgKCVlZGkpCisJQlJBTkNIX1RPX0pNUFRCTF9FTlRSWShMKHRhYmxlXzQ4Ynl0ZXNfZndkKSwgJWVjeCwgNCkKKworCUNGSV9QVVNIICglZWRpKQorCisJLnAyYWxpZ24gNAorTChzaF8xNF9ub19wcmVmZXRjaCk6CisJbGVhCS0zMiglZWN4KSwgJWVjeAorCWxlYQktMTQoJWVheCksICVlYXgKKwl4b3IJJWVkaSwgJWVkaQorCisJLnAyYWxpZ24gNAorTChzaF8xNF9ub19wcmVmZXRjaF9sb29wKToKIAltb3ZkcWEJMTYoJWVheCwgJWVkaSksICV4bW0yCiAJc3ViCSQzMiwgJWVjeAogCW1vdmRxYQkzMiglZWF4LCAlZWRpKSwgJXhtbTMKQEAgLTEwMzgsOCArMTg2Miw3IEBACiAJbGVhCTMyKCVlZGkpLCAlZWRpCiAJbW92ZHFhCSV4bW0yLCAtMzIoJWVkeCwgJWVkaSkKIAltb3ZkcWEJJXhtbTMsIC0xNiglZWR4LCAlZWRpKQotCi0JamIJTChzaGxfMTRfZW5kKQorCWpiCUwoc2hfMTRfZW5kX25vX3ByZWZldGNoX2xvb3ApCiAKIAltb3ZkcWEJMTYoJWVheCwgJWVkaSksICV4bW0yCiAJc3ViCSQzMiwgJWVjeApAQCAtMTA1MCwzMCArMTg3Myw5MSBAQAogCWxlYQkzMiglZWRpKSwgJWVkaQogCW1vdmRxYQkleG1tMiwgLTMyKCVlZHgsICVlZGkpCiAJbW92ZHFhCSV4bW0zLCAtMTYoJWVkeCwgJWVkaSkKKwlqYWUJTChzaF8xNF9ub19wcmVmZXRjaF9sb29wKQogCi0JamFlCUwoc2hsXzE0X2xvb3ApCi0KLUwoc2hsXzE0X2VuZCk6CitMKHNoXzE0X2VuZF9ub19wcmVmZXRjaF9sb29wKToKIAlsZWEJMzIoJWVjeCksICVlY3gKIAlhZGQJJWVjeCwgJWVkaQogCWFkZAklZWRpLCAlZWR4CiAJbGVhCTE0KCVlZGksICVlYXgpLCAlZWF4Ci0JUE9QICglZWRpKQotCUJSQU5DSF9UT19KTVBUQkxfRU5UUllfVEFJTChMKHRhYmxlXzQ4Ynl0ZXNfZndkKSwgJWVjeCwgNCkKKwlQT1AJKCVlZGkpCisJQlJBTkNIX1RPX0pNUFRCTF9FTlRSWShMKHRhYmxlXzQ4Ynl0ZXNfZndkKSwgJWVjeCwgNCkKIAotCWNmaV9yZXN0b3JlX3N0YXRlCi0JY2ZpX3JlbWVtYmVyX3N0YXRlCi0JQUxJR04gKDQpCisJQ0ZJX1BVU0ggKCVlZGkpCisKKwkucDJhbGlnbiA0CiBMKHNobF8xNSk6Ci0JQlJBTkNIX1RPX0pNUFRCTF9FTlRSWV9WQUxVRShMKHRhYmxlXzQ4Ynl0ZXNfZndkKSkKLQlsZWEJLTE1KCVlYXgpLCAlZWF4Ci0JbW92YXBzCSglZWF4KSwgJXhtbTEKLQl4b3IJJWVkaSwgJWVkaQotCWxlYQktMzIoJWVjeCksICVlY3gKLQltb3ZkcXUJJXhtbTAsICglZXNpKQotCVBPUCAoJWVzaSkKLUwoc2hsXzE1X2xvb3ApOgorI2lmbmRlZiBVU0VfQVNfTUVNTU9WRQorCW1vdmFwcwktMTUoJWVheCksICV4bW0xCisjZWxzZQorCW1vdmwJREVTVCs0KCVlc3ApLCAlZWRpCisJbW92YXBzCS0xNSglZWF4KSwgJXhtbTEKKwltb3ZkcXUJJXhtbTAsICglZWRpKQorI2VuZGlmCisjaWZkZWYgREFUQV9DQUNIRV9TSVpFX0hBTEYKKwljbXAJJERBVEFfQ0FDSEVfU0laRV9IQUxGLCAlZWN4CisjZWxzZQorIyBpZiAoZGVmaW5lZCBTSEFSRUQgfHwgZGVmaW5lZCBfX1BJQ19fKQorCVNFVFVQX1BJQ19SRUcoYngpCisJYWRkCSRfR0xPQkFMX09GRlNFVF9UQUJMRV8sICVlYngKKwljbXAJX194ODZfZGF0YV9jYWNoZV9zaXplX2hhbGZAR09UT0ZGKCVlYngpLCAlZWN4CisjIGVsc2UKKwljbXAJX194ODZfZGF0YV9jYWNoZV9zaXplX2hhbGYsICVlY3gKKyMgZW5kaWYKKyNlbmRpZgorCWpiIEwoc2hfMTVfbm9fcHJlZmV0Y2gpCiAKKwlsZWEJLTY0KCVlY3gpLCAlZWN4CisKKwkucDJhbGlnbiA0CitMKFNobDE1TG9vcFN0YXJ0KToKKwlwcmVmZXRjaHQwIDB4MWMwKCVlYXgpCisJcHJlZmV0Y2h0MCAweDFjMCglZWR4KQorCW1vdmFwcwkxKCVlYXgpLCAleG1tMgorCW1vdmFwcwkxNyglZWF4KSwgJXhtbTMKKwltb3ZhcHMJMzMoJWVheCksICV4bW00CisJbW92YXBzCTQ5KCVlYXgpLCAleG1tNQorCW1vdmFwcwkleG1tNSwgJXhtbTcKKwlwYWxpZ25yCSQxNSwgJXhtbTQsICV4bW01CisJcGFsaWducgkkMTUsICV4bW0zLCAleG1tNAorCW1vdmFwcwkleG1tNSwgNDgoJWVkeCkKKwlwYWxpZ25yCSQxNSwgJXhtbTIsICV4bW0zCisJbGVhCTY0KCVlYXgpLCAlZWF4CisJcGFsaWducgkkMTUsICV4bW0xLCAleG1tMgorCW1vdmFwcwkleG1tNCwgMzIoJWVkeCkKKwltb3ZhcHMJJXhtbTMsIDE2KCVlZHgpCisJbW92YXBzCSV4bW03LCAleG1tMQorCW1vdmFwcwkleG1tMiwgKCVlZHgpCisJbGVhCTY0KCVlZHgpLCAlZWR4CisJc3ViCSQ2NCwgJWVjeAorCWphCUwoU2hsMTVMb29wU3RhcnQpCisKK0woU2hsMTVMb29wTGVhdmUpOgorCWFkZAkkMzIsICVlY3gKKwlqbGUJTChzaGxfZW5kXzApCisKKwltb3ZhcHMJMSglZWF4KSwgJXhtbTIKKwltb3ZhcHMJMTcoJWVheCksICV4bW0zCisJcGFsaWducgkkMTUsICV4bW0yLCAleG1tMworCXBhbGlnbnIJJDE1LCAleG1tMSwgJXhtbTIKKworCW1vdmFwcwkleG1tMiwgKCVlZHgpCisJbW92YXBzCSV4bW0zLCAxNiglZWR4KQorCWxlYQkzMiglZWR4LCAlZWN4KSwgJWVkeAorCWxlYQkzMiglZWF4LCAlZWN4KSwgJWVheAorCVBPUCAoJWVkaSkKKwlCUkFOQ0hfVE9fSk1QVEJMX0VOVFJZKEwodGFibGVfNDhieXRlc19md2QpLCAlZWN4LCA0KQorCisJQ0ZJX1BVU0ggKCVlZGkpCisKKwkucDJhbGlnbiA0CitMKHNoXzE1X25vX3ByZWZldGNoKToKKwlsZWEJLTMyKCVlY3gpLCAlZWN4CisJbGVhCS0xNSglZWF4KSwgJWVheAorCXhvcgklZWRpLCAlZWRpCisKKwkucDJhbGlnbiA0CitMKHNoXzE1X25vX3ByZWZldGNoX2xvb3ApOgogCW1vdmRxYQkxNiglZWF4LCAlZWRpKSwgJXhtbTIKIAlzdWIJJDMyLCAlZWN4CiAJbW92ZHFhCTMyKCVlYXgsICVlZGkpLCAleG1tMwpAQCAtMTA4Myw4ICsxOTY3LDcgQEAKIAlsZWEJMzIoJWVkaSksICVlZGkKIAltb3ZkcWEJJXhtbTIsIC0zMiglZWR4LCAlZWRpKQogCW1vdmRxYQkleG1tMywgLTE2KCVlZHgsICVlZGkpCi0KLQlqYglMKHNobF8xNV9lbmQpCisJamIJTChzaF8xNV9lbmRfbm9fcHJlZmV0Y2hfbG9vcCkKIAogCW1vdmRxYQkxNiglZWF4LCAlZWRpKSwgJXhtbTIKIAlzdWIJJDMyLCAlZWN4CkBAIC0xMDk1LDUyICsxOTc4LDcwIEBACiAJbGVhCTMyKCVlZGkpLCAlZWRpCiAJbW92ZHFhCSV4bW0yLCAtMzIoJWVkeCwgJWVkaSkKIAltb3ZkcWEJJXhtbTMsIC0xNiglZWR4LCAlZWRpKQorCWphZQlMKHNoXzE1X25vX3ByZWZldGNoX2xvb3ApCiAKLQlqYWUJTChzaGxfMTVfbG9vcCkKLQotTChzaGxfMTVfZW5kKToKK0woc2hfMTVfZW5kX25vX3ByZWZldGNoX2xvb3ApOgogCWxlYQkzMiglZWN4KSwgJWVjeAogCWFkZAklZWN4LCAlZWRpCiAJYWRkCSVlZGksICVlZHgKIAlsZWEJMTUoJWVkaSwgJWVheCksICVlYXgKLQlQT1AgKCVlZGkpCi0JQlJBTkNIX1RPX0pNUFRCTF9FTlRSWV9UQUlMKEwodGFibGVfNDhieXRlc19md2QpLCAlZWN4LCA0KQorCVBPUAkoJWVkaSkKKwlCUkFOQ0hfVE9fSk1QVEJMX0VOVFJZKEwodGFibGVfNDhieXRlc19md2QpLCAlZWN4LCA0KQogCisJQ0ZJX1BVU0ggKCVlZGkpCiAKLQlBTElHTiAoNCkKKwkucDJhbGlnbiA0CitMKHNobF9lbmRfMCk6CisJbGVhCTMyKCVlY3gpLCAlZWN4CisJbGVhCSglZWR4LCAlZWN4KSwgJWVkeAorCWxlYQkoJWVheCwgJWVjeCksICVlYXgKKwlQT1AJKCVlZGkpCisJQlJBTkNIX1RPX0pNUFRCTF9FTlRSWShMKHRhYmxlXzQ4Ynl0ZXNfZndkKSwgJWVjeCwgNCkKKworCS5wMmFsaWduIDQKIEwoZndkX3dyaXRlXzQ0Ynl0ZXMpOgotCW1vdmwJLTQ0KCVlYXgpLCAlZWN4Ci0JbW92bAklZWN4LCAtNDQoJWVkeCkKLUwoZndkX3dyaXRlXzQwYnl0ZXMpOgotCW1vdmwJLTQwKCVlYXgpLCAlZWN4Ci0JbW92bAklZWN4LCAtNDAoJWVkeCkKKwltb3ZxCS00NCglZWF4KSwgJXhtbTAKKwltb3ZxCSV4bW0wLCAtNDQoJWVkeCkKIEwoZndkX3dyaXRlXzM2Ynl0ZXMpOgotCW1vdmwJLTM2KCVlYXgpLCAlZWN4Ci0JbW92bAklZWN4LCAtMzYoJWVkeCkKLUwoZndkX3dyaXRlXzMyYnl0ZXMpOgotCW1vdmwJLTMyKCVlYXgpLCAlZWN4Ci0JbW92bAklZWN4LCAtMzIoJWVkeCkKKwltb3ZxCS0zNiglZWF4KSwgJXhtbTAKKwltb3ZxCSV4bW0wLCAtMzYoJWVkeCkKIEwoZndkX3dyaXRlXzI4Ynl0ZXMpOgotCW1vdmwJLTI4KCVlYXgpLCAlZWN4Ci0JbW92bAklZWN4LCAtMjgoJWVkeCkKLUwoZndkX3dyaXRlXzI0Ynl0ZXMpOgotCW1vdmwJLTI0KCVlYXgpLCAlZWN4Ci0JbW92bAklZWN4LCAtMjQoJWVkeCkKKwltb3ZxCS0yOCglZWF4KSwgJXhtbTAKKwltb3ZxCSV4bW0wLCAtMjgoJWVkeCkKIEwoZndkX3dyaXRlXzIwYnl0ZXMpOgotCW1vdmwJLTIwKCVlYXgpLCAlZWN4Ci0JbW92bAklZWN4LCAtMjAoJWVkeCkKLUwoZndkX3dyaXRlXzE2Ynl0ZXMpOgotCW1vdmwJLTE2KCVlYXgpLCAlZWN4Ci0JbW92bAklZWN4LCAtMTYoJWVkeCkKKwltb3ZxCS0yMCglZWF4KSwgJXhtbTAKKwltb3ZxCSV4bW0wLCAtMjAoJWVkeCkKIEwoZndkX3dyaXRlXzEyYnl0ZXMpOgotCW1vdmwJLTEyKCVlYXgpLCAlZWN4Ci0JbW92bAklZWN4LCAtMTIoJWVkeCkKLUwoZndkX3dyaXRlXzhieXRlcyk6Ci0JbW92bAktOCglZWF4KSwgJWVjeAotCW1vdmwJJWVjeCwgLTgoJWVkeCkKKwltb3ZxCS0xMiglZWF4KSwgJXhtbTAKKwltb3ZxCSV4bW0wLCAtMTIoJWVkeCkKIEwoZndkX3dyaXRlXzRieXRlcyk6CiAJbW92bAktNCglZWF4KSwgJWVjeAogCW1vdmwJJWVjeCwgLTQoJWVkeCkKKyNpZm5kZWYgVVNFX0FTX0JDT1BZCisjIGlmZGVmIFVTRV9BU19NRU1QQ1BZCisJbW92bAklZWR4LCAlZWF4CisjIGVsc2UKKwltb3ZsCURFU1QoJWVzcCksICVlYXgKKyMgZW5kaWYKKyNlbmRpZgorCVJFVFVSTgorCisJLnAyYWxpZ24gNAorTChmd2Rfd3JpdGVfNDBieXRlcyk6CisJbW92cQktNDAoJWVheCksICV4bW0wCisJbW92cQkleG1tMCwgLTQwKCVlZHgpCitMKGZ3ZF93cml0ZV8zMmJ5dGVzKToKKwltb3ZxCS0zMiglZWF4KSwgJXhtbTAKKwltb3ZxCSV4bW0wLCAtMzIoJWVkeCkKK0woZndkX3dyaXRlXzI0Ynl0ZXMpOgorCW1vdnEJLTI0KCVlYXgpLCAleG1tMAorCW1vdnEJJXhtbTAsIC0yNCglZWR4KQorTChmd2Rfd3JpdGVfMTZieXRlcyk6CisJbW92cQktMTYoJWVheCksICV4bW0wCisJbW92cQkleG1tMCwgLTE2KCVlZHgpCitMKGZ3ZF93cml0ZV84Ynl0ZXMpOgorCW1vdnEJLTgoJWVheCksICV4bW0wCisJbW92cQkleG1tMCwgLTgoJWVkeCkKIEwoZndkX3dyaXRlXzBieXRlcyk6CiAjaWZuZGVmIFVTRV9BU19CQ09QWQogIyBpZmRlZiBVU0VfQVNfTUVNUENQWQpAQCAtMTE1MSw3ICsyMDUyLDcgQEAKICNlbmRpZgogCVJFVFVSTgogCi0JQUxJR04gKDQpCisJLnAyYWxpZ24gNAogTChmd2Rfd3JpdGVfNWJ5dGVzKToKIAltb3ZsCS01KCVlYXgpLCAlZWN4CiAJbW92bAktNCglZWF4KSwgJWVheApAQCAtMTE2NiwzOSArMjA2Nyw1MSBAQAogI2VuZGlmCiAJUkVUVVJOCiAKLQlBTElHTiAoNCkKKwkucDJhbGlnbiA0CiBMKGZ3ZF93cml0ZV80NWJ5dGVzKToKLQltb3ZsCS00NSglZWF4KSwgJWVjeAotCW1vdmwJJWVjeCwgLTQ1KCVlZHgpCi1MKGZ3ZF93cml0ZV80MWJ5dGVzKToKLQltb3ZsCS00MSglZWF4KSwgJWVjeAotCW1vdmwJJWVjeCwgLTQxKCVlZHgpCisJbW92cQktNDUoJWVheCksICV4bW0wCisJbW92cQkleG1tMCwgLTQ1KCVlZHgpCiBMKGZ3ZF93cml0ZV8zN2J5dGVzKToKLQltb3ZsCS0zNyglZWF4KSwgJWVjeAotCW1vdmwJJWVjeCwgLTM3KCVlZHgpCi1MKGZ3ZF93cml0ZV8zM2J5dGVzKToKLQltb3ZsCS0zMyglZWF4KSwgJWVjeAotCW1vdmwJJWVjeCwgLTMzKCVlZHgpCisJbW92cQktMzcoJWVheCksICV4bW0wCisJbW92cQkleG1tMCwgLTM3KCVlZHgpCiBMKGZ3ZF93cml0ZV8yOWJ5dGVzKToKLQltb3ZsCS0yOSglZWF4KSwgJWVjeAotCW1vdmwJJWVjeCwgLTI5KCVlZHgpCi1MKGZ3ZF93cml0ZV8yNWJ5dGVzKToKLQltb3ZsCS0yNSglZWF4KSwgJWVjeAotCW1vdmwJJWVjeCwgLTI1KCVlZHgpCisJbW92cQktMjkoJWVheCksICV4bW0wCisJbW92cQkleG1tMCwgLTI5KCVlZHgpCiBMKGZ3ZF93cml0ZV8yMWJ5dGVzKToKLQltb3ZsCS0yMSglZWF4KSwgJWVjeAotCW1vdmwJJWVjeCwgLTIxKCVlZHgpCi1MKGZ3ZF93cml0ZV8xN2J5dGVzKToKLQltb3ZsCS0xNyglZWF4KSwgJWVjeAotCW1vdmwJJWVjeCwgLTE3KCVlZHgpCisJbW92cQktMjEoJWVheCksICV4bW0wCisJbW92cQkleG1tMCwgLTIxKCVlZHgpCiBMKGZ3ZF93cml0ZV8xM2J5dGVzKToKLQltb3ZsCS0xMyglZWF4KSwgJWVjeAotCW1vdmwJJWVjeCwgLTEzKCVlZHgpCi1MKGZ3ZF93cml0ZV85Ynl0ZXMpOgotCW1vdmwJLTkoJWVheCksICVlY3gKLQltb3ZsCSVlY3gsIC05KCVlZHgpCisJbW92cQktMTMoJWVheCksICV4bW0wCisJbW92cQkleG1tMCwgLTEzKCVlZHgpCiAJbW92bAktNSglZWF4KSwgJWVjeAogCW1vdmwJJWVjeCwgLTUoJWVkeCkKKwltb3Z6YmwJLTEoJWVheCksICVlY3gKKwltb3ZiCSVjbCwgLTEoJWVkeCkKKyNpZm5kZWYgVVNFX0FTX0JDT1BZCisjIGlmZGVmIFVTRV9BU19NRU1QQ1BZCisJbW92bAklZWR4LCAlZWF4CisjIGVsc2UKKwltb3ZsCURFU1QoJWVzcCksICVlYXgKKyMgZW5kaWYKKyNlbmRpZgorCVJFVFVSTgorCisJLnAyYWxpZ24gNAorTChmd2Rfd3JpdGVfNDFieXRlcyk6CisJbW92cQktNDEoJWVheCksICV4bW0wCisJbW92cQkleG1tMCwgLTQxKCVlZHgpCitMKGZ3ZF93cml0ZV8zM2J5dGVzKToKKwltb3ZxCS0zMyglZWF4KSwgJXhtbTAKKwltb3ZxCSV4bW0wLCAtMzMoJWVkeCkKK0woZndkX3dyaXRlXzI1Ynl0ZXMpOgorCW1vdnEJLTI1KCVlYXgpLCAleG1tMAorCW1vdnEJJXhtbTAsIC0yNSglZWR4KQorTChmd2Rfd3JpdGVfMTdieXRlcyk6CisJbW92cQktMTcoJWVheCksICV4bW0wCisJbW92cQkleG1tMCwgLTE3KCVlZHgpCitMKGZ3ZF93cml0ZV85Ynl0ZXMpOgorCW1vdnEJLTkoJWVheCksICV4bW0wCisJbW92cQkleG1tMCwgLTkoJWVkeCkKIEwoZndkX3dyaXRlXzFieXRlcyk6CiAJbW92emJsCS0xKCVlYXgpLCAlZWN4CiAJbW92YgklY2wsIC0xKCVlZHgpCkBAIC0xMjExLDQwICsyMTI0LDUyIEBACiAjZW5kaWYKIAlSRVRVUk4KIAotCUFMSUdOICg0KQorCS5wMmFsaWduIDQKIEwoZndkX3dyaXRlXzQ2Ynl0ZXMpOgotCW1vdmwJLTQ2KCVlYXgpLCAlZWN4Ci0JbW92bAklZWN4LCAtNDYoJWVkeCkKLUwoZndkX3dyaXRlXzQyYnl0ZXMpOgotCW1vdmwJLTQyKCVlYXgpLCAlZWN4Ci0JbW92bAklZWN4LCAtNDIoJWVkeCkKKwltb3ZxCS00NiglZWF4KSwgJXhtbTAKKwltb3ZxCSV4bW0wLCAtNDYoJWVkeCkKIEwoZndkX3dyaXRlXzM4Ynl0ZXMpOgotCW1vdmwJLTM4KCVlYXgpLCAlZWN4Ci0JbW92bAklZWN4LCAtMzgoJWVkeCkKLUwoZndkX3dyaXRlXzM0Ynl0ZXMpOgotCW1vdmwJLTM0KCVlYXgpLCAlZWN4Ci0JbW92bAklZWN4LCAtMzQoJWVkeCkKKwltb3ZxCS0zOCglZWF4KSwgJXhtbTAKKwltb3ZxCSV4bW0wLCAtMzgoJWVkeCkKIEwoZndkX3dyaXRlXzMwYnl0ZXMpOgotCW1vdmwJLTMwKCVlYXgpLCAlZWN4Ci0JbW92bAklZWN4LCAtMzAoJWVkeCkKLUwoZndkX3dyaXRlXzI2Ynl0ZXMpOgotCW1vdmwJLTI2KCVlYXgpLCAlZWN4Ci0JbW92bAklZWN4LCAtMjYoJWVkeCkKKwltb3ZxCS0zMCglZWF4KSwgJXhtbTAKKwltb3ZxCSV4bW0wLCAtMzAoJWVkeCkKIEwoZndkX3dyaXRlXzIyYnl0ZXMpOgotCW1vdmwJLTIyKCVlYXgpLCAlZWN4Ci0JbW92bAklZWN4LCAtMjIoJWVkeCkKLUwoZndkX3dyaXRlXzE4Ynl0ZXMpOgotCW1vdmwJLTE4KCVlYXgpLCAlZWN4Ci0JbW92bAklZWN4LCAtMTgoJWVkeCkKKwltb3ZxCS0yMiglZWF4KSwgJXhtbTAKKwltb3ZxCSV4bW0wLCAtMjIoJWVkeCkKIEwoZndkX3dyaXRlXzE0Ynl0ZXMpOgotCW1vdmwJLTE0KCVlYXgpLCAlZWN4Ci0JbW92bAklZWN4LCAtMTQoJWVkeCkKLUwoZndkX3dyaXRlXzEwYnl0ZXMpOgotCW1vdmwJLTEwKCVlYXgpLCAlZWN4Ci0JbW92bAklZWN4LCAtMTAoJWVkeCkKKwltb3ZxCS0xNCglZWF4KSwgJXhtbTAKKwltb3ZxCSV4bW0wLCAtMTQoJWVkeCkKIEwoZndkX3dyaXRlXzZieXRlcyk6CiAJbW92bAktNiglZWF4KSwgJWVjeAogCW1vdmwJJWVjeCwgLTYoJWVkeCkKKwltb3Z6d2wJLTIoJWVheCksICVlY3gKKwltb3Z3CSVjeCwgLTIoJWVkeCkKKyNpZm5kZWYgVVNFX0FTX0JDT1BZCisjIGlmZGVmIFVTRV9BU19NRU1QQ1BZCisJbW92bAklZWR4LCAlZWF4CisjIGVsc2UKKwltb3ZsCURFU1QoJWVzcCksICVlYXgKKyMgZW5kaWYKKyNlbmRpZgorCVJFVFVSTgorCisJLnAyYWxpZ24gNAorTChmd2Rfd3JpdGVfNDJieXRlcyk6CisJbW92cQktNDIoJWVheCksICV4bW0wCisJbW92cQkleG1tMCwgLTQyKCVlZHgpCitMKGZ3ZF93cml0ZV8zNGJ5dGVzKToKKwltb3ZxCS0zNCglZWF4KSwgJXhtbTAKKwltb3ZxCSV4bW0wLCAtMzQoJWVkeCkKK0woZndkX3dyaXRlXzI2Ynl0ZXMpOgorCW1vdnEJLTI2KCVlYXgpLCAleG1tMAorCW1vdnEJJXhtbTAsIC0yNiglZWR4KQorTChmd2Rfd3JpdGVfMThieXRlcyk6CisJbW92cQktMTgoJWVheCksICV4bW0wCisJbW92cQkleG1tMCwgLTE4KCVlZHgpCitMKGZ3ZF93cml0ZV8xMGJ5dGVzKToKKwltb3ZxCS0xMCglZWF4KSwgJXhtbTAKKwltb3ZxCSV4bW0wLCAtMTAoJWVkeCkKIEwoZndkX3dyaXRlXzJieXRlcyk6CiAJbW92endsCS0yKCVlYXgpLCAlZWN4CiAJbW92dwklY3gsIC0yKCVlZHgpCkBAIC0xMjU3LDQwICsyMTgyLDU0IEBACiAjZW5kaWYKIAlSRVRVUk4KIAotCUFMSUdOICg0KQorCS5wMmFsaWduIDQKIEwoZndkX3dyaXRlXzQ3Ynl0ZXMpOgotCW1vdmwJLTQ3KCVlYXgpLCAlZWN4Ci0JbW92bAklZWN4LCAtNDcoJWVkeCkKLUwoZndkX3dyaXRlXzQzYnl0ZXMpOgotCW1vdmwJLTQzKCVlYXgpLCAlZWN4Ci0JbW92bAklZWN4LCAtNDMoJWVkeCkKKwltb3ZxCS00NyglZWF4KSwgJXhtbTAKKwltb3ZxCSV4bW0wLCAtNDcoJWVkeCkKIEwoZndkX3dyaXRlXzM5Ynl0ZXMpOgotCW1vdmwJLTM5KCVlYXgpLCAlZWN4Ci0JbW92bAklZWN4LCAtMzkoJWVkeCkKLUwoZndkX3dyaXRlXzM1Ynl0ZXMpOgotCW1vdmwJLTM1KCVlYXgpLCAlZWN4Ci0JbW92bAklZWN4LCAtMzUoJWVkeCkKKwltb3ZxCS0zOSglZWF4KSwgJXhtbTAKKwltb3ZxCSV4bW0wLCAtMzkoJWVkeCkKIEwoZndkX3dyaXRlXzMxYnl0ZXMpOgotCW1vdmwJLTMxKCVlYXgpLCAlZWN4Ci0JbW92bAklZWN4LCAtMzEoJWVkeCkKLUwoZndkX3dyaXRlXzI3Ynl0ZXMpOgotCW1vdmwJLTI3KCVlYXgpLCAlZWN4Ci0JbW92bAklZWN4LCAtMjcoJWVkeCkKKwltb3ZxCS0zMSglZWF4KSwgJXhtbTAKKwltb3ZxCSV4bW0wLCAtMzEoJWVkeCkKIEwoZndkX3dyaXRlXzIzYnl0ZXMpOgotCW1vdmwJLTIzKCVlYXgpLCAlZWN4Ci0JbW92bAklZWN4LCAtMjMoJWVkeCkKLUwoZndkX3dyaXRlXzE5Ynl0ZXMpOgotCW1vdmwJLTE5KCVlYXgpLCAlZWN4Ci0JbW92bAklZWN4LCAtMTkoJWVkeCkKKwltb3ZxCS0yMyglZWF4KSwgJXhtbTAKKwltb3ZxCSV4bW0wLCAtMjMoJWVkeCkKIEwoZndkX3dyaXRlXzE1Ynl0ZXMpOgotCW1vdmwJLTE1KCVlYXgpLCAlZWN4Ci0JbW92bAklZWN4LCAtMTUoJWVkeCkKLUwoZndkX3dyaXRlXzExYnl0ZXMpOgotCW1vdmwJLTExKCVlYXgpLCAlZWN4Ci0JbW92bAklZWN4LCAtMTEoJWVkeCkKKwltb3ZxCS0xNSglZWF4KSwgJXhtbTAKKwltb3ZxCSV4bW0wLCAtMTUoJWVkeCkKIEwoZndkX3dyaXRlXzdieXRlcyk6CiAJbW92bAktNyglZWF4KSwgJWVjeAogCW1vdmwJJWVjeCwgLTcoJWVkeCkKKwltb3Z6d2wJLTMoJWVheCksICVlY3gKKwltb3Z6YmwJLTEoJWVheCksICVlYXgKKwltb3Z3CSVjeCwgLTMoJWVkeCkKKwltb3ZiCSVhbCwgLTEoJWVkeCkKKyNpZm5kZWYgVVNFX0FTX0JDT1BZCisjIGlmZGVmIFVTRV9BU19NRU1QQ1BZCisJbW92bAklZWR4LCAlZWF4CisjIGVsc2UKKwltb3ZsCURFU1QoJWVzcCksICVlYXgKKyMgZW5kaWYKKyNlbmRpZgorCVJFVFVSTgorCisJLnAyYWxpZ24gNAorTChmd2Rfd3JpdGVfNDNieXRlcyk6CisJbW92cQktNDMoJWVheCksICV4bW0wCisJbW92cQkleG1tMCwgLTQzKCVlZHgpCitMKGZ3ZF93cml0ZV8zNWJ5dGVzKToKKwltb3ZxCS0zNSglZWF4KSwgJXhtbTAKKwltb3ZxCSV4bW0wLCAtMzUoJWVkeCkKK0woZndkX3dyaXRlXzI3Ynl0ZXMpOgorCW1vdnEJLTI3KCVlYXgpLCAleG1tMAorCW1vdnEJJXhtbTAsIC0yNyglZWR4KQorTChmd2Rfd3JpdGVfMTlieXRlcyk6CisJbW92cQktMTkoJWVheCksICV4bW0wCisJbW92cQkleG1tMCwgLTE5KCVlZHgpCitMKGZ3ZF93cml0ZV8xMWJ5dGVzKToKKwltb3ZxCS0xMSglZWF4KSwgJXhtbTAKKwltb3ZxCSV4bW0wLCAtMTEoJWVkeCkKIEwoZndkX3dyaXRlXzNieXRlcyk6CiAJbW92endsCS0zKCVlYXgpLCAlZWN4CiAJbW92emJsCS0xKCVlYXgpLCAlZWF4CkBAIC0xMzAzLDIwICsyMjQyLDM3NCBAQAogCW1vdmwJREVTVCglZXNwKSwgJWVheAogIyBlbmRpZgogI2VuZGlmCisJUkVUVVJOCisKKwkucDJhbGlnbiA0CitMKGZ3ZF93cml0ZV80MGJ5dGVzX2FsaWduKToKKwltb3ZkcWEJLTQwKCVlYXgpLCAleG1tMAorCW1vdmRxYQkleG1tMCwgLTQwKCVlZHgpCitMKGZ3ZF93cml0ZV8yNGJ5dGVzX2FsaWduKToKKwltb3ZkcWEJLTI0KCVlYXgpLCAleG1tMAorCW1vdmRxYQkleG1tMCwgLTI0KCVlZHgpCitMKGZ3ZF93cml0ZV84Ynl0ZXNfYWxpZ24pOgorCW1vdnEJLTgoJWVheCksICV4bW0wCisJbW92cQkleG1tMCwgLTgoJWVkeCkKK0woZndkX3dyaXRlXzBieXRlc19hbGlnbik6CisjaWZuZGVmIFVTRV9BU19CQ09QWQorIyBpZmRlZiBVU0VfQVNfTUVNUENQWQorCW1vdmwJJWVkeCwgJWVheAorIyBlbHNlCisJbW92bAlERVNUKCVlc3ApLCAlZWF4CisjIGVuZGlmCisjZW5kaWYKKwlSRVRVUk4KKworCS5wMmFsaWduIDQKK0woZndkX3dyaXRlXzMyYnl0ZXNfYWxpZ24pOgorCW1vdmRxYQktMzIoJWVheCksICV4bW0wCisJbW92ZHFhCSV4bW0wLCAtMzIoJWVkeCkKK0woZndkX3dyaXRlXzE2Ynl0ZXNfYWxpZ24pOgorCW1vdmRxYQktMTYoJWVheCksICV4bW0wCisJbW92ZHFhCSV4bW0wLCAtMTYoJWVkeCkKKyNpZm5kZWYgVVNFX0FTX0JDT1BZCisjIGlmZGVmIFVTRV9BU19NRU1QQ1BZCisJbW92bAklZWR4LCAlZWF4CisjIGVsc2UKKwltb3ZsCURFU1QoJWVzcCksICVlYXgKKyMgZW5kaWYKKyNlbmRpZgorCVJFVFVSTgorCisJLnAyYWxpZ24gNAorTChmd2Rfd3JpdGVfNWJ5dGVzX2FsaWduKToKKwltb3ZsCS01KCVlYXgpLCAlZWN4CisJbW92bAktNCglZWF4KSwgJWVheAorCW1vdmwJJWVjeCwgLTUoJWVkeCkKKwltb3ZsCSVlYXgsIC00KCVlZHgpCisjaWZuZGVmIFVTRV9BU19CQ09QWQorIyBpZmRlZiBVU0VfQVNfTUVNUENQWQorCW1vdmwJJWVkeCwgJWVheAorIyBlbHNlCisJbW92bAlERVNUKCVlc3ApLCAlZWF4CisjIGVuZGlmCisjZW5kaWYKKwlSRVRVUk4KKworCS5wMmFsaWduIDQKK0woZndkX3dyaXRlXzQ1Ynl0ZXNfYWxpZ24pOgorCW1vdmRxYQktNDUoJWVheCksICV4bW0wCisJbW92ZHFhCSV4bW0wLCAtNDUoJWVkeCkKK0woZndkX3dyaXRlXzI5Ynl0ZXNfYWxpZ24pOgorCW1vdmRxYQktMjkoJWVheCksICV4bW0wCisJbW92ZHFhCSV4bW0wLCAtMjkoJWVkeCkKK0woZndkX3dyaXRlXzEzYnl0ZXNfYWxpZ24pOgorCW1vdnEJLTEzKCVlYXgpLCAleG1tMAorCW1vdnEJJXhtbTAsIC0xMyglZWR4KQorCW1vdmwJLTUoJWVheCksICVlY3gKKwltb3ZsCSVlY3gsIC01KCVlZHgpCisJbW92emJsCS0xKCVlYXgpLCAlZWN4CisJbW92YgklY2wsIC0xKCVlZHgpCisjaWZuZGVmIFVTRV9BU19CQ09QWQorIyBpZmRlZiBVU0VfQVNfTUVNUENQWQorCW1vdmwJJWVkeCwgJWVheAorIyBlbHNlCisJbW92bAlERVNUKCVlc3ApLCAlZWF4CisjIGVuZGlmCisjZW5kaWYKKwlSRVRVUk4KKworCS5wMmFsaWduIDQKK0woZndkX3dyaXRlXzM3Ynl0ZXNfYWxpZ24pOgorCW1vdmRxYQktMzcoJWVheCksICV4bW0wCisJbW92ZHFhCSV4bW0wLCAtMzcoJWVkeCkKK0woZndkX3dyaXRlXzIxYnl0ZXNfYWxpZ24pOgorCW1vdmRxYQktMjEoJWVheCksICV4bW0wCisJbW92ZHFhCSV4bW0wLCAtMjEoJWVkeCkKKwltb3ZsCS01KCVlYXgpLCAlZWN4CisJbW92bAklZWN4LCAtNSglZWR4KQorCW1vdnpibAktMSglZWF4KSwgJWVjeAorCW1vdmIJJWNsLCAtMSglZWR4KQorI2lmbmRlZiBVU0VfQVNfQkNPUFkKKyMgaWZkZWYgVVNFX0FTX01FTVBDUFkKKwltb3ZsCSVlZHgsICVlYXgKKyMgZWxzZQorCW1vdmwJREVTVCglZXNwKSwgJWVheAorIyBlbmRpZgorI2VuZGlmCisJUkVUVVJOCisKKwkucDJhbGlnbiA0CitMKGZ3ZF93cml0ZV80MWJ5dGVzX2FsaWduKToKKwltb3ZkcWEJLTQxKCVlYXgpLCAleG1tMAorCW1vdmRxYQkleG1tMCwgLTQxKCVlZHgpCitMKGZ3ZF93cml0ZV8yNWJ5dGVzX2FsaWduKToKKwltb3ZkcWEJLTI1KCVlYXgpLCAleG1tMAorCW1vdmRxYQkleG1tMCwgLTI1KCVlZHgpCitMKGZ3ZF93cml0ZV85Ynl0ZXNfYWxpZ24pOgorCW1vdnEJLTkoJWVheCksICV4bW0wCisJbW92cQkleG1tMCwgLTkoJWVkeCkKK0woZndkX3dyaXRlXzFieXRlc19hbGlnbik6CisJbW92emJsCS0xKCVlYXgpLCAlZWN4CisJbW92YgklY2wsIC0xKCVlZHgpCisjaWZuZGVmIFVTRV9BU19CQ09QWQorIyBpZmRlZiBVU0VfQVNfTUVNUENQWQorCW1vdmwJJWVkeCwgJWVheAorIyBlbHNlCisJbW92bAlERVNUKCVlc3ApLCAlZWF4CisjIGVuZGlmCisjZW5kaWYKKwlSRVRVUk4KKworCS5wMmFsaWduIDQKK0woZndkX3dyaXRlXzMzYnl0ZXNfYWxpZ24pOgorCW1vdmRxYQktMzMoJWVheCksICV4bW0wCisJbW92ZHFhCSV4bW0wLCAtMzMoJWVkeCkKK0woZndkX3dyaXRlXzE3Ynl0ZXNfYWxpZ24pOgorCW1vdmRxYQktMTcoJWVheCksICV4bW0wCisJbW92ZHFhCSV4bW0wLCAtMTcoJWVkeCkKKwltb3Z6YmwJLTEoJWVheCksICVlY3gKKwltb3ZiCSVjbCwgLTEoJWVkeCkKKyNpZm5kZWYgVVNFX0FTX0JDT1BZCisjIGlmZGVmIFVTRV9BU19NRU1QQ1BZCisJbW92bAklZWR4LCAlZWF4CisjIGVsc2UKKwltb3ZsCURFU1QoJWVzcCksICVlYXgKKyMgZW5kaWYKKyNlbmRpZgorCVJFVFVSTgorCisJLnAyYWxpZ24gNAorTChmd2Rfd3JpdGVfNDZieXRlc19hbGlnbik6CisJbW92ZHFhCS00NiglZWF4KSwgJXhtbTAKKwltb3ZkcWEJJXhtbTAsIC00NiglZWR4KQorTChmd2Rfd3JpdGVfMzBieXRlc19hbGlnbik6CisJbW92ZHFhCS0zMCglZWF4KSwgJXhtbTAKKwltb3ZkcWEJJXhtbTAsIC0zMCglZWR4KQorTChmd2Rfd3JpdGVfMTRieXRlc19hbGlnbik6CisJbW92cQktMTQoJWVheCksICV4bW0wCisJbW92cQkleG1tMCwgLTE0KCVlZHgpCitMKGZ3ZF93cml0ZV82Ynl0ZXNfYWxpZ24pOgorCW1vdmwJLTYoJWVheCksICVlY3gKKwltb3ZsCSVlY3gsIC02KCVlZHgpCisJbW92endsCS0yKCVlYXgpLCAlZWN4CisJbW92dwklY3gsIC0yKCVlZHgpCisjaWZuZGVmIFVTRV9BU19CQ09QWQorIyBpZmRlZiBVU0VfQVNfTUVNUENQWQorCW1vdmwJJWVkeCwgJWVheAorIyBlbHNlCisJbW92bAlERVNUKCVlc3ApLCAlZWF4CisjIGVuZGlmCisjZW5kaWYKKwlSRVRVUk4KKworCS5wMmFsaWduIDQKK0woZndkX3dyaXRlXzM4Ynl0ZXNfYWxpZ24pOgorCW1vdmRxYQktMzgoJWVheCksICV4bW0wCisJbW92ZHFhCSV4bW0wLCAtMzgoJWVkeCkKK0woZndkX3dyaXRlXzIyYnl0ZXNfYWxpZ24pOgorCW1vdmRxYQktMjIoJWVheCksICV4bW0wCisJbW92ZHFhCSV4bW0wLCAtMjIoJWVkeCkKKwltb3ZsCS02KCVlYXgpLCAlZWN4CisJbW92bAklZWN4LCAtNiglZWR4KQorCW1vdnp3bAktMiglZWF4KSwgJWVjeAorCW1vdncJJWN4LCAtMiglZWR4KQorI2lmbmRlZiBVU0VfQVNfQkNPUFkKKyMgaWZkZWYgVVNFX0FTX01FTVBDUFkKKwltb3ZsCSVlZHgsICVlYXgKKyMgZWxzZQorCW1vdmwJREVTVCglZXNwKSwgJWVheAorIyBlbmRpZgorI2VuZGlmCisJUkVUVVJOCisKKwkucDJhbGlnbiA0CitMKGZ3ZF93cml0ZV80MmJ5dGVzX2FsaWduKToKKwltb3ZkcWEJLTQyKCVlYXgpLCAleG1tMAorCW1vdmRxYQkleG1tMCwgLTQyKCVlZHgpCitMKGZ3ZF93cml0ZV8yNmJ5dGVzX2FsaWduKToKKwltb3ZkcWEJLTI2KCVlYXgpLCAleG1tMAorCW1vdmRxYQkleG1tMCwgLTI2KCVlZHgpCitMKGZ3ZF93cml0ZV8xMGJ5dGVzX2FsaWduKToKKwltb3ZxCS0xMCglZWF4KSwgJXhtbTAKKwltb3ZxCSV4bW0wLCAtMTAoJWVkeCkKK0woZndkX3dyaXRlXzJieXRlc19hbGlnbik6CisJbW92endsCS0yKCVlYXgpLCAlZWN4CisJbW92dwklY3gsIC0yKCVlZHgpCisjaWZuZGVmIFVTRV9BU19CQ09QWQorIyBpZmRlZiBVU0VfQVNfTUVNUENQWQorCW1vdmwJJWVkeCwgJWVheAorIyBlbHNlCisJbW92bAlERVNUKCVlc3ApLCAlZWF4CisjIGVuZGlmCisjZW5kaWYKKwlSRVRVUk4KKworCS5wMmFsaWduIDQKK0woZndkX3dyaXRlXzM0Ynl0ZXNfYWxpZ24pOgorCW1vdmRxYQktMzQoJWVheCksICV4bW0wCisJbW92ZHFhCSV4bW0wLCAtMzQoJWVkeCkKK0woZndkX3dyaXRlXzE4Ynl0ZXNfYWxpZ24pOgorCW1vdmRxYQktMTgoJWVheCksICV4bW0wCisJbW92ZHFhCSV4bW0wLCAtMTgoJWVkeCkKKwltb3Z6d2wJLTIoJWVheCksICVlY3gKKwltb3Z3CSVjeCwgLTIoJWVkeCkKKyNpZm5kZWYgVVNFX0FTX0JDT1BZCisjIGlmZGVmIFVTRV9BU19NRU1QQ1BZCisJbW92bAklZWR4LCAlZWF4CisjIGVsc2UKKwltb3ZsCURFU1QoJWVzcCksICVlYXgKKyMgZW5kaWYKKyNlbmRpZgorCVJFVFVSTgorCisJLnAyYWxpZ24gNAorTChmd2Rfd3JpdGVfNDdieXRlc19hbGlnbik6CisJbW92ZHFhCS00NyglZWF4KSwgJXhtbTAKKwltb3ZkcWEJJXhtbTAsIC00NyglZWR4KQorTChmd2Rfd3JpdGVfMzFieXRlc19hbGlnbik6CisJbW92ZHFhCS0zMSglZWF4KSwgJXhtbTAKKwltb3ZkcWEJJXhtbTAsIC0zMSglZWR4KQorTChmd2Rfd3JpdGVfMTVieXRlc19hbGlnbik6CisJbW92cQktMTUoJWVheCksICV4bW0wCisJbW92cQkleG1tMCwgLTE1KCVlZHgpCitMKGZ3ZF93cml0ZV83Ynl0ZXNfYWxpZ24pOgorCW1vdmwJLTcoJWVheCksICVlY3gKKwltb3ZsCSVlY3gsIC03KCVlZHgpCisJbW92endsCS0zKCVlYXgpLCAlZWN4CisJbW92emJsCS0xKCVlYXgpLCAlZWF4CisJbW92dwklY3gsIC0zKCVlZHgpCisJbW92YgklYWwsIC0xKCVlZHgpCisjaWZuZGVmIFVTRV9BU19CQ09QWQorIyBpZmRlZiBVU0VfQVNfTUVNUENQWQorCW1vdmwJJWVkeCwgJWVheAorIyBlbHNlCisJbW92bAlERVNUKCVlc3ApLCAlZWF4CisjIGVuZGlmCisjZW5kaWYKKwlSRVRVUk4KKworCS5wMmFsaWduIDQKK0woZndkX3dyaXRlXzM5Ynl0ZXNfYWxpZ24pOgorCW1vdmRxYQktMzkoJWVheCksICV4bW0wCisJbW92ZHFhCSV4bW0wLCAtMzkoJWVkeCkKK0woZndkX3dyaXRlXzIzYnl0ZXNfYWxpZ24pOgorCW1vdmRxYQktMjMoJWVheCksICV4bW0wCisJbW92ZHFhCSV4bW0wLCAtMjMoJWVkeCkKKwltb3ZsCS03KCVlYXgpLCAlZWN4CisJbW92bAklZWN4LCAtNyglZWR4KQorCW1vdnp3bAktMyglZWF4KSwgJWVjeAorCW1vdnpibAktMSglZWF4KSwgJWVheAorCW1vdncJJWN4LCAtMyglZWR4KQorCW1vdmIJJWFsLCAtMSglZWR4KQorI2lmbmRlZiBVU0VfQVNfQkNPUFkKKyMgaWZkZWYgVVNFX0FTX01FTVBDUFkKKwltb3ZsCSVlZHgsICVlYXgKKyMgZWxzZQorCW1vdmwJREVTVCglZXNwKSwgJWVheAorIyBlbmRpZgorI2VuZGlmCisJUkVUVVJOCisKKwkucDJhbGlnbiA0CitMKGZ3ZF93cml0ZV80M2J5dGVzX2FsaWduKToKKwltb3ZkcWEJLTQzKCVlYXgpLCAleG1tMAorCW1vdmRxYQkleG1tMCwgLTQzKCVlZHgpCitMKGZ3ZF93cml0ZV8yN2J5dGVzX2FsaWduKToKKwltb3ZkcWEJLTI3KCVlYXgpLCAleG1tMAorCW1vdmRxYQkleG1tMCwgLTI3KCVlZHgpCitMKGZ3ZF93cml0ZV8xMWJ5dGVzX2FsaWduKToKKwltb3ZxCS0xMSglZWF4KSwgJXhtbTAKKwltb3ZxCSV4bW0wLCAtMTEoJWVkeCkKK0woZndkX3dyaXRlXzNieXRlc19hbGlnbik6CisJbW92endsCS0zKCVlYXgpLCAlZWN4CisJbW92emJsCS0xKCVlYXgpLCAlZWF4CisJbW92dwklY3gsIC0zKCVlZHgpCisJbW92YgklYWwsIC0xKCVlZHgpCisjaWZuZGVmIFVTRV9BU19CQ09QWQorIyBpZmRlZiBVU0VfQVNfTUVNUENQWQorCW1vdmwJJWVkeCwgJWVheAorIyBlbHNlCisJbW92bAlERVNUKCVlc3ApLCAlZWF4CisjIGVuZGlmCisjZW5kaWYKKwlSRVRVUk4KKworCS5wMmFsaWduIDQKK0woZndkX3dyaXRlXzM1Ynl0ZXNfYWxpZ24pOgorCW1vdmRxYQktMzUoJWVheCksICV4bW0wCisJbW92ZHFhCSV4bW0wLCAtMzUoJWVkeCkKK0woZndkX3dyaXRlXzE5Ynl0ZXNfYWxpZ24pOgorCW1vdmRxYQktMTkoJWVheCksICV4bW0wCisJbW92ZHFhCSV4bW0wLCAtMTkoJWVkeCkKKwltb3Z6d2wJLTMoJWVheCksICVlY3gKKwltb3Z6YmwJLTEoJWVheCksICVlYXgKKwltb3Z3CSVjeCwgLTMoJWVkeCkKKwltb3ZiCSVhbCwgLTEoJWVkeCkKKyNpZm5kZWYgVVNFX0FTX0JDT1BZCisjIGlmZGVmIFVTRV9BU19NRU1QQ1BZCisJbW92bAklZWR4LCAlZWF4CisjIGVsc2UKKwltb3ZsCURFU1QoJWVzcCksICVlYXgKKyMgZW5kaWYKKyNlbmRpZgorCVJFVFVSTgorCisJLnAyYWxpZ24gNAorTChmd2Rfd3JpdGVfNDRieXRlc19hbGlnbik6CisJbW92ZHFhCS00NCglZWF4KSwgJXhtbTAKKwltb3ZkcWEJJXhtbTAsIC00NCglZWR4KQorTChmd2Rfd3JpdGVfMjhieXRlc19hbGlnbik6CisJbW92ZHFhCS0yOCglZWF4KSwgJXhtbTAKKwltb3ZkcWEJJXhtbTAsIC0yOCglZWR4KQorTChmd2Rfd3JpdGVfMTJieXRlc19hbGlnbik6CisJbW92cQktMTIoJWVheCksICV4bW0wCisJbW92cQkleG1tMCwgLTEyKCVlZHgpCitMKGZ3ZF93cml0ZV80Ynl0ZXNfYWxpZ24pOgorCW1vdmwJLTQoJWVheCksICVlY3gKKwltb3ZsCSVlY3gsIC00KCVlZHgpCisjaWZuZGVmIFVTRV9BU19CQ09QWQorIyBpZmRlZiBVU0VfQVNfTUVNUENQWQorCW1vdmwJJWVkeCwgJWVheAorIyBlbHNlCisJbW92bAlERVNUKCVlc3ApLCAlZWF4CisjIGVuZGlmCisjZW5kaWYKKwlSRVRVUk4KKworCS5wMmFsaWduIDQKK0woZndkX3dyaXRlXzM2Ynl0ZXNfYWxpZ24pOgorCW1vdmRxYQktMzYoJWVheCksICV4bW0wCisJbW92ZHFhCSV4bW0wLCAtMzYoJWVkeCkKK0woZndkX3dyaXRlXzIwYnl0ZXNfYWxpZ24pOgorCW1vdmRxYQktMjAoJWVheCksICV4bW0wCisJbW92ZHFhCSV4bW0wLCAtMjAoJWVkeCkKKwltb3ZsCS00KCVlYXgpLCAlZWN4CisJbW92bAklZWN4LCAtNCglZWR4KQorI2lmbmRlZiBVU0VfQVNfQkNPUFkKKyMgaWZkZWYgVVNFX0FTX01FTVBDUFkKKwltb3ZsCSVlZHgsICVlYXgKKyMgZWxzZQorCW1vdmwJREVTVCglZXNwKSwgJWVheAorIyBlbmRpZgorI2VuZGlmCiAJUkVUVVJOX0VORAogCi0JY2ZpX3Jlc3RvcmVfc3RhdGUKLQljZmlfcmVtZW1iZXJfc3RhdGUKLQlBTElHTiAoNCkKKwlDRklfUFVTSCAoJWVkaSkKKworCS5wMmFsaWduIDQKIEwobGFyZ2VfcGFnZSk6CiAJbW92ZHF1CSglZWF4KSwgJXhtbTEKKyNpZmRlZiBVU0VfQVNfTUVNTU9WRQorCW1vdmwJREVTVCs0KCVlc3ApLCAlZWRpCisJbW92ZHF1CSV4bW0wLCAoJWVkaSkKKyNlbmRpZgogCWxlYQkxNiglZWF4KSwgJWVheAotCW1vdmRxdQkleG1tMCwgKCVlc2kpCiAJbW92bnRkcQkleG1tMSwgKCVlZHgpCiAJbGVhCTE2KCVlZHgpLCAlZWR4Ci0JUE9QICglZXNpKQogCWxlYQktMHg5MCglZWN4KSwgJWVjeAogCVBPUCAoJWVkaSkKKworCS5wMmFsaWduIDQKIEwobGFyZ2VfcGFnZV9sb29wKToKIAltb3ZkcXUJKCVlYXgpLCAleG1tMAogCW1vdmRxdQkweDEwKCVlYXgpLCAleG1tMQpAQCAtMTM3MSwzOCArMjY2NCwyMiBAQAogCXNmZW5jZQogCUJSQU5DSF9UT19KTVBUQkxfRU5UUlkgKEwodGFibGVfNDhieXRlc19md2QpLCAlZWN4LCA0KQogCi0KLQlBTElHTiAoNCkKKwkucDJhbGlnbiA0CiBMKGJrX3dyaXRlXzQ0Ynl0ZXMpOgotCW1vdmwJNDAoJWVheCksICVlY3gKLQltb3ZsCSVlY3gsIDQwKCVlZHgpCi1MKGJrX3dyaXRlXzQwYnl0ZXMpOgotCW1vdmwJMzYoJWVheCksICVlY3gKLQltb3ZsCSVlY3gsIDM2KCVlZHgpCisJbW92cQkzNiglZWF4KSwgJXhtbTAKKwltb3ZxCSV4bW0wLCAzNiglZWR4KQogTChia193cml0ZV8zNmJ5dGVzKToKLQltb3ZsCTMyKCVlYXgpLCAlZWN4Ci0JbW92bAklZWN4LCAzMiglZWR4KQotTChia193cml0ZV8zMmJ5dGVzKToKLQltb3ZsCTI4KCVlYXgpLCAlZWN4Ci0JbW92bAklZWN4LCAyOCglZWR4KQorCW1vdnEJMjgoJWVheCksICV4bW0wCisJbW92cQkleG1tMCwgMjgoJWVkeCkKIEwoYmtfd3JpdGVfMjhieXRlcyk6Ci0JbW92bAkyNCglZWF4KSwgJWVjeAotCW1vdmwJJWVjeCwgMjQoJWVkeCkKLUwoYmtfd3JpdGVfMjRieXRlcyk6Ci0JbW92bAkyMCglZWF4KSwgJWVjeAotCW1vdmwJJWVjeCwgMjAoJWVkeCkKKwltb3ZxCTIwKCVlYXgpLCAleG1tMAorCW1vdnEJJXhtbTAsIDIwKCVlZHgpCiBMKGJrX3dyaXRlXzIwYnl0ZXMpOgotCW1vdmwJMTYoJWVheCksICVlY3gKLQltb3ZsCSVlY3gsIDE2KCVlZHgpCi1MKGJrX3dyaXRlXzE2Ynl0ZXMpOgotCW1vdmwJMTIoJWVheCksICVlY3gKLQltb3ZsCSVlY3gsIDEyKCVlZHgpCisJbW92cQkxMiglZWF4KSwgJXhtbTAKKwltb3ZxCSV4bW0wLCAxMiglZWR4KQogTChia193cml0ZV8xMmJ5dGVzKToKLQltb3ZsCTgoJWVheCksICVlY3gKLQltb3ZsCSVlY3gsIDgoJWVkeCkKLUwoYmtfd3JpdGVfOGJ5dGVzKToKLQltb3ZsCTQoJWVheCksICVlY3gKLQltb3ZsCSVlY3gsIDQoJWVkeCkKKwltb3ZxCTQoJWVheCksICV4bW0wCisJbW92cQkleG1tMCwgNCglZWR4KQogTChia193cml0ZV80Ynl0ZXMpOgogCW1vdmwJKCVlYXgpLCAlZWN4CiAJbW92bAklZWN4LCAoJWVkeCkKQEAgLTE0MTYsMzcgKzI2OTMsNDcgQEAKICNlbmRpZgogCVJFVFVSTgogCi0JQUxJR04gKDQpCisJLnAyYWxpZ24gNAorTChia193cml0ZV80MGJ5dGVzKToKKwltb3ZxCTMyKCVlYXgpLCAleG1tMAorCW1vdnEJJXhtbTAsIDMyKCVlZHgpCitMKGJrX3dyaXRlXzMyYnl0ZXMpOgorCW1vdnEJMjQoJWVheCksICV4bW0wCisJbW92cQkleG1tMCwgMjQoJWVkeCkKK0woYmtfd3JpdGVfMjRieXRlcyk6CisJbW92cQkxNiglZWF4KSwgJXhtbTAKKwltb3ZxCSV4bW0wLCAxNiglZWR4KQorTChia193cml0ZV8xNmJ5dGVzKToKKwltb3ZxCTgoJWVheCksICV4bW0wCisJbW92cQkleG1tMCwgOCglZWR4KQorTChia193cml0ZV84Ynl0ZXMpOgorCW1vdnEJKCVlYXgpLCAleG1tMAorCW1vdnEJJXhtbTAsICglZWR4KQorI2lmbmRlZiBVU0VfQVNfQkNPUFkKKwltb3ZsCURFU1QoJWVzcCksICVlYXgKKyMgaWZkZWYgVVNFX0FTX01FTVBDUFkKKwltb3ZsCUxFTiglZXNwKSwgJWVjeAorCWFkZAklZWN4LCAlZWF4CisjIGVuZGlmCisjZW5kaWYKKwlSRVRVUk4KKworCS5wMmFsaWduIDQKIEwoYmtfd3JpdGVfNDVieXRlcyk6Ci0JbW92bAk0MSglZWF4KSwgJWVjeAotCW1vdmwJJWVjeCwgNDEoJWVkeCkKLUwoYmtfd3JpdGVfNDFieXRlcyk6Ci0JbW92bAkzNyglZWF4KSwgJWVjeAotCW1vdmwJJWVjeCwgMzcoJWVkeCkKKwltb3ZxCTM3KCVlYXgpLCAleG1tMAorCW1vdnEJJXhtbTAsIDM3KCVlZHgpCiBMKGJrX3dyaXRlXzM3Ynl0ZXMpOgotCW1vdmwJMzMoJWVheCksICVlY3gKLQltb3ZsCSVlY3gsIDMzKCVlZHgpCi1MKGJrX3dyaXRlXzMzYnl0ZXMpOgotCW1vdmwJMjkoJWVheCksICVlY3gKLQltb3ZsCSVlY3gsIDI5KCVlZHgpCisJbW92cQkyOSglZWF4KSwgJXhtbTAKKwltb3ZxCSV4bW0wLCAyOSglZWR4KQogTChia193cml0ZV8yOWJ5dGVzKToKLQltb3ZsCTI1KCVlYXgpLCAlZWN4Ci0JbW92bAklZWN4LCAyNSglZWR4KQotTChia193cml0ZV8yNWJ5dGVzKToKLQltb3ZsCTIxKCVlYXgpLCAlZWN4Ci0JbW92bAklZWN4LCAyMSglZWR4KQorCW1vdnEJMjEoJWVheCksICV4bW0wCisJbW92cQkleG1tMCwgMjEoJWVkeCkKIEwoYmtfd3JpdGVfMjFieXRlcyk6Ci0JbW92bAkxNyglZWF4KSwgJWVjeAotCW1vdmwJJWVjeCwgMTcoJWVkeCkKLUwoYmtfd3JpdGVfMTdieXRlcyk6Ci0JbW92bAkxMyglZWF4KSwgJWVjeAotCW1vdmwJJWVjeCwgMTMoJWVkeCkKKwltb3ZxCTEzKCVlYXgpLCAleG1tMAorCW1vdnEJJXhtbTAsIDEzKCVlZHgpCiBMKGJrX3dyaXRlXzEzYnl0ZXMpOgotCW1vdmwJOSglZWF4KSwgJWVjeAotCW1vdmwJJWVjeCwgOSglZWR4KQotTChia193cml0ZV85Ynl0ZXMpOgotCW1vdmwJNSglZWF4KSwgJWVjeAotCW1vdmwJJWVjeCwgNSglZWR4KQorCW1vdnEJNSglZWF4KSwgJXhtbTAKKwltb3ZxCSV4bW0wLCA1KCVlZHgpCiBMKGJrX3dyaXRlXzVieXRlcyk6CiAJbW92bAkxKCVlYXgpLCAlZWN4CiAJbW92bAklZWN4LCAxKCVlZHgpCkBAIC0xNDYyLDQwICsyNzQ5LDc5IEBACiAjZW5kaWYKIAlSRVRVUk4KIAotCUFMSUdOICg0KQorCS5wMmFsaWduIDQKK0woYmtfd3JpdGVfNDFieXRlcyk6CisJbW92cQkzMyglZWF4KSwgJXhtbTAKKwltb3ZxCSV4bW0wLCAzMyglZWR4KQorTChia193cml0ZV8zM2J5dGVzKToKKwltb3ZxCTI1KCVlYXgpLCAleG1tMAorCW1vdnEJJXhtbTAsIDI1KCVlZHgpCitMKGJrX3dyaXRlXzI1Ynl0ZXMpOgorCW1vdnEJMTcoJWVheCksICV4bW0wCisJbW92cQkleG1tMCwgMTcoJWVkeCkKK0woYmtfd3JpdGVfMTdieXRlcyk6CisJbW92cQk5KCVlYXgpLCAleG1tMAorCW1vdnEJJXhtbTAsIDkoJWVkeCkKK0woYmtfd3JpdGVfOWJ5dGVzKToKKwltb3ZxCTEoJWVheCksICV4bW0wCisJbW92cQkleG1tMCwgMSglZWR4KQorCW1vdnpibAkoJWVheCksICVlY3gKKwltb3ZiCSVjbCwgKCVlZHgpCisjaWZuZGVmIFVTRV9BU19CQ09QWQorCW1vdmwJREVTVCglZXNwKSwgJWVheAorIyBpZmRlZiBVU0VfQVNfTUVNUENQWQorCW1vdmwJTEVOKCVlc3ApLCAlZWN4CisJYWRkCSVlY3gsICVlYXgKKyMgZW5kaWYKKyNlbmRpZgorCVJFVFVSTgorCisJLnAyYWxpZ24gNAogTChia193cml0ZV80NmJ5dGVzKToKLQltb3ZsCTQyKCVlYXgpLCAlZWN4Ci0JbW92bAklZWN4LCA0MiglZWR4KQotTChia193cml0ZV80MmJ5dGVzKToKLQltb3ZsCTM4KCVlYXgpLCAlZWN4Ci0JbW92bAklZWN4LCAzOCglZWR4KQorCW1vdnEJMzgoJWVheCksICV4bW0wCisJbW92cQkleG1tMCwgMzgoJWVkeCkKIEwoYmtfd3JpdGVfMzhieXRlcyk6Ci0JbW92bAkzNCglZWF4KSwgJWVjeAotCW1vdmwJJWVjeCwgMzQoJWVkeCkKLUwoYmtfd3JpdGVfMzRieXRlcyk6Ci0JbW92bAkzMCglZWF4KSwgJWVjeAotCW1vdmwJJWVjeCwgMzAoJWVkeCkKKwltb3ZxCTMwKCVlYXgpLCAleG1tMAorCW1vdnEJJXhtbTAsIDMwKCVlZHgpCiBMKGJrX3dyaXRlXzMwYnl0ZXMpOgotCW1vdmwJMjYoJWVheCksICVlY3gKLQltb3ZsCSVlY3gsIDI2KCVlZHgpCi1MKGJrX3dyaXRlXzI2Ynl0ZXMpOgotCW1vdmwJMjIoJWVheCksICVlY3gKLQltb3ZsCSVlY3gsIDIyKCVlZHgpCisJbW92cQkyMiglZWF4KSwgJXhtbTAKKwltb3ZxCSV4bW0wLCAyMiglZWR4KQogTChia193cml0ZV8yMmJ5dGVzKToKLQltb3ZsCTE4KCVlYXgpLCAlZWN4Ci0JbW92bAklZWN4LCAxOCglZWR4KQotTChia193cml0ZV8xOGJ5dGVzKToKLQltb3ZsCTE0KCVlYXgpLCAlZWN4Ci0JbW92bAklZWN4LCAxNCglZWR4KQorCW1vdnEJMTQoJWVheCksICV4bW0wCisJbW92cQkleG1tMCwgMTQoJWVkeCkKIEwoYmtfd3JpdGVfMTRieXRlcyk6Ci0JbW92bAkxMCglZWF4KSwgJWVjeAotCW1vdmwJJWVjeCwgMTAoJWVkeCkKLUwoYmtfd3JpdGVfMTBieXRlcyk6Ci0JbW92bAk2KCVlYXgpLCAlZWN4Ci0JbW92bAklZWN4LCA2KCVlZHgpCisJbW92cQk2KCVlYXgpLCAleG1tMAorCW1vdnEJJXhtbTAsIDYoJWVkeCkKIEwoYmtfd3JpdGVfNmJ5dGVzKToKIAltb3ZsCTIoJWVheCksICVlY3gKIAltb3ZsCSVlY3gsIDIoJWVkeCkKKwltb3Z6d2wJKCVlYXgpLCAlZWN4CisJbW92dwklY3gsICglZWR4KQorI2lmbmRlZiBVU0VfQVNfQkNPUFkKKwltb3ZsCURFU1QoJWVzcCksICVlYXgKKyMgaWZkZWYgVVNFX0FTX01FTVBDUFkKKwltb3ZsCUxFTiglZXNwKSwgJWVjeAorCWFkZAklZWN4LCAlZWF4CisjIGVuZGlmCisjZW5kaWYKKwlSRVRVUk4KKworCS5wMmFsaWduIDQKK0woYmtfd3JpdGVfNDJieXRlcyk6CisJbW92cQkzNCglZWF4KSwgJXhtbTAKKwltb3ZxCSV4bW0wLCAzNCglZWR4KQorTChia193cml0ZV8zNGJ5dGVzKToKKwltb3ZxCTI2KCVlYXgpLCAleG1tMAorCW1vdnEJJXhtbTAsIDI2KCVlZHgpCitMKGJrX3dyaXRlXzI2Ynl0ZXMpOgorCW1vdnEJMTgoJWVheCksICV4bW0wCisJbW92cQkleG1tMCwgMTgoJWVkeCkKK0woYmtfd3JpdGVfMThieXRlcyk6CisJbW92cQkxMCglZWF4KSwgJXhtbTAKKwltb3ZxCSV4bW0wLCAxMCglZWR4KQorTChia193cml0ZV8xMGJ5dGVzKToKKwltb3ZxCTIoJWVheCksICV4bW0wCisJbW92cQkleG1tMCwgMiglZWR4KQogTChia193cml0ZV8yYnl0ZXMpOgogCW1vdnp3bAkoJWVheCksICVlY3gKIAltb3Z3CSVjeCwgKCVlZHgpCkBAIC0xNTA4LDQwICsyODM0LDU0IEBACiAjZW5kaWYKIAlSRVRVUk4KIAotCUFMSUdOICg0KQorCS5wMmFsaWduIDQKIEwoYmtfd3JpdGVfNDdieXRlcyk6Ci0JbW92bAk0MyglZWF4KSwgJWVjeAotCW1vdmwJJWVjeCwgNDMoJWVkeCkKLUwoYmtfd3JpdGVfNDNieXRlcyk6Ci0JbW92bAkzOSglZWF4KSwgJWVjeAotCW1vdmwJJWVjeCwgMzkoJWVkeCkKKwltb3ZxCTM5KCVlYXgpLCAleG1tMAorCW1vdnEJJXhtbTAsIDM5KCVlZHgpCiBMKGJrX3dyaXRlXzM5Ynl0ZXMpOgotCW1vdmwJMzUoJWVheCksICVlY3gKLQltb3ZsCSVlY3gsIDM1KCVlZHgpCi1MKGJrX3dyaXRlXzM1Ynl0ZXMpOgotCW1vdmwJMzEoJWVheCksICVlY3gKLQltb3ZsCSVlY3gsIDMxKCVlZHgpCisJbW92cQkzMSglZWF4KSwgJXhtbTAKKwltb3ZxCSV4bW0wLCAzMSglZWR4KQogTChia193cml0ZV8zMWJ5dGVzKToKLQltb3ZsCTI3KCVlYXgpLCAlZWN4Ci0JbW92bAklZWN4LCAyNyglZWR4KQotTChia193cml0ZV8yN2J5dGVzKToKLQltb3ZsCTIzKCVlYXgpLCAlZWN4Ci0JbW92bAklZWN4LCAyMyglZWR4KQorCW1vdnEJMjMoJWVheCksICV4bW0wCisJbW92cQkleG1tMCwgMjMoJWVkeCkKIEwoYmtfd3JpdGVfMjNieXRlcyk6Ci0JbW92bAkxOSglZWF4KSwgJWVjeAotCW1vdmwJJWVjeCwgMTkoJWVkeCkKLUwoYmtfd3JpdGVfMTlieXRlcyk6Ci0JbW92bAkxNSglZWF4KSwgJWVjeAotCW1vdmwJJWVjeCwgMTUoJWVkeCkKKwltb3ZxCTE1KCVlYXgpLCAleG1tMAorCW1vdnEJJXhtbTAsIDE1KCVlZHgpCiBMKGJrX3dyaXRlXzE1Ynl0ZXMpOgotCW1vdmwJMTEoJWVheCksICVlY3gKLQltb3ZsCSVlY3gsIDExKCVlZHgpCi1MKGJrX3dyaXRlXzExYnl0ZXMpOgotCW1vdmwJNyglZWF4KSwgJWVjeAotCW1vdmwJJWVjeCwgNyglZWR4KQorCW1vdnEJNyglZWF4KSwgJXhtbTAKKwltb3ZxCSV4bW0wLCA3KCVlZHgpCiBMKGJrX3dyaXRlXzdieXRlcyk6CiAJbW92bAkzKCVlYXgpLCAlZWN4CiAJbW92bAklZWN4LCAzKCVlZHgpCisJbW92endsCTEoJWVheCksICVlY3gKKwltb3Z3CSVjeCwgMSglZWR4KQorCW1vdnpibAkoJWVheCksICVlYXgKKwltb3ZiCSVhbCwgKCVlZHgpCisjaWZuZGVmIFVTRV9BU19CQ09QWQorCW1vdmwJREVTVCglZXNwKSwgJWVheAorIyBpZmRlZiBVU0VfQVNfTUVNUENQWQorCW1vdmwJTEVOKCVlc3ApLCAlZWN4CisJYWRkCSVlY3gsICVlYXgKKyMgZW5kaWYKKyNlbmRpZgorCVJFVFVSTgorCisJLnAyYWxpZ24gNAorTChia193cml0ZV80M2J5dGVzKToKKwltb3ZxCTM1KCVlYXgpLCAleG1tMAorCW1vdnEJJXhtbTAsIDM1KCVlZHgpCitMKGJrX3dyaXRlXzM1Ynl0ZXMpOgorCW1vdnEJMjcoJWVheCksICV4bW0wCisJbW92cQkleG1tMCwgMjcoJWVkeCkKK0woYmtfd3JpdGVfMjdieXRlcyk6CisJbW92cQkxOSglZWF4KSwgJXhtbTAKKwltb3ZxCSV4bW0wLCAxOSglZWR4KQorTChia193cml0ZV8xOWJ5dGVzKToKKwltb3ZxCTExKCVlYXgpLCAleG1tMAorCW1vdnEJJXhtbTAsIDExKCVlZHgpCitMKGJrX3dyaXRlXzExYnl0ZXMpOgorCW1vdnEJMyglZWF4KSwgJXhtbTAKKwltb3ZxCSV4bW0wLCAzKCVlZHgpCiBMKGJrX3dyaXRlXzNieXRlcyk6CiAJbW92endsCTEoJWVheCksICVlY3gKIAltb3Z3CSVjeCwgMSglZWR4KQpAQCAtMTU1OCw3ICsyODk4LDcgQEAKIAogCiAJLnB1c2hzZWN0aW9uIC5yb2RhdGEuc3NzZTMsImEiLEBwcm9nYml0cwotCUFMSUdOICgyKQorCS5wMmFsaWduIDIKIEwodGFibGVfNDhieXRlc19md2QpOgogCS5pbnQJSk1QVEJMIChMKGZ3ZF93cml0ZV8wYnl0ZXMpLCBMKHRhYmxlXzQ4Ynl0ZXNfZndkKSkKIAkuaW50CUpNUFRCTCAoTChmd2Rfd3JpdGVfMWJ5dGVzKSwgTCh0YWJsZV80OGJ5dGVzX2Z3ZCkpCkBAIC0xNjA5LDcgKzI5NDksNTggQEAKIAkuaW50CUpNUFRCTCAoTChmd2Rfd3JpdGVfNDZieXRlcyksIEwodGFibGVfNDhieXRlc19md2QpKQogCS5pbnQJSk1QVEJMIChMKGZ3ZF93cml0ZV80N2J5dGVzKSwgTCh0YWJsZV80OGJ5dGVzX2Z3ZCkpCiAKLQlBTElHTiAoMikKKwkucDJhbGlnbiAyCitMKHRhYmxlXzQ4Ynl0ZXNfZndkX2FsaWduKToKKwkuaW50CUpNUFRCTCAoTChmd2Rfd3JpdGVfMGJ5dGVzX2FsaWduKSwgTCh0YWJsZV80OGJ5dGVzX2Z3ZF9hbGlnbikpCisJLmludAlKTVBUQkwgKEwoZndkX3dyaXRlXzFieXRlc19hbGlnbiksIEwodGFibGVfNDhieXRlc19md2RfYWxpZ24pKQorCS5pbnQJSk1QVEJMIChMKGZ3ZF93cml0ZV8yYnl0ZXNfYWxpZ24pLCBMKHRhYmxlXzQ4Ynl0ZXNfZndkX2FsaWduKSkKKwkuaW50CUpNUFRCTCAoTChmd2Rfd3JpdGVfM2J5dGVzX2FsaWduKSwgTCh0YWJsZV80OGJ5dGVzX2Z3ZF9hbGlnbikpCisJLmludAlKTVBUQkwgKEwoZndkX3dyaXRlXzRieXRlc19hbGlnbiksIEwodGFibGVfNDhieXRlc19md2RfYWxpZ24pKQorCS5pbnQJSk1QVEJMIChMKGZ3ZF93cml0ZV81Ynl0ZXNfYWxpZ24pLCBMKHRhYmxlXzQ4Ynl0ZXNfZndkX2FsaWduKSkKKwkuaW50CUpNUFRCTCAoTChmd2Rfd3JpdGVfNmJ5dGVzX2FsaWduKSwgTCh0YWJsZV80OGJ5dGVzX2Z3ZF9hbGlnbikpCisJLmludAlKTVBUQkwgKEwoZndkX3dyaXRlXzdieXRlc19hbGlnbiksIEwodGFibGVfNDhieXRlc19md2RfYWxpZ24pKQorCS5pbnQJSk1QVEJMIChMKGZ3ZF93cml0ZV84Ynl0ZXNfYWxpZ24pLCBMKHRhYmxlXzQ4Ynl0ZXNfZndkX2FsaWduKSkKKwkuaW50CUpNUFRCTCAoTChmd2Rfd3JpdGVfOWJ5dGVzX2FsaWduKSwgTCh0YWJsZV80OGJ5dGVzX2Z3ZF9hbGlnbikpCisJLmludAlKTVBUQkwgKEwoZndkX3dyaXRlXzEwYnl0ZXNfYWxpZ24pLCBMKHRhYmxlXzQ4Ynl0ZXNfZndkX2FsaWduKSkKKwkuaW50CUpNUFRCTCAoTChmd2Rfd3JpdGVfMTFieXRlc19hbGlnbiksIEwodGFibGVfNDhieXRlc19md2RfYWxpZ24pKQorCS5pbnQJSk1QVEJMIChMKGZ3ZF93cml0ZV8xMmJ5dGVzX2FsaWduKSwgTCh0YWJsZV80OGJ5dGVzX2Z3ZF9hbGlnbikpCisJLmludAlKTVBUQkwgKEwoZndkX3dyaXRlXzEzYnl0ZXNfYWxpZ24pLCBMKHRhYmxlXzQ4Ynl0ZXNfZndkX2FsaWduKSkKKwkuaW50CUpNUFRCTCAoTChmd2Rfd3JpdGVfMTRieXRlc19hbGlnbiksIEwodGFibGVfNDhieXRlc19md2RfYWxpZ24pKQorCS5pbnQJSk1QVEJMIChMKGZ3ZF93cml0ZV8xNWJ5dGVzX2FsaWduKSwgTCh0YWJsZV80OGJ5dGVzX2Z3ZF9hbGlnbikpCisJLmludAlKTVBUQkwgKEwoZndkX3dyaXRlXzE2Ynl0ZXNfYWxpZ24pLCBMKHRhYmxlXzQ4Ynl0ZXNfZndkX2FsaWduKSkKKwkuaW50CUpNUFRCTCAoTChmd2Rfd3JpdGVfMTdieXRlc19hbGlnbiksIEwodGFibGVfNDhieXRlc19md2RfYWxpZ24pKQorCS5pbnQJSk1QVEJMIChMKGZ3ZF93cml0ZV8xOGJ5dGVzX2FsaWduKSwgTCh0YWJsZV80OGJ5dGVzX2Z3ZF9hbGlnbikpCisJLmludAlKTVBUQkwgKEwoZndkX3dyaXRlXzE5Ynl0ZXNfYWxpZ24pLCBMKHRhYmxlXzQ4Ynl0ZXNfZndkX2FsaWduKSkKKwkuaW50CUpNUFRCTCAoTChmd2Rfd3JpdGVfMjBieXRlc19hbGlnbiksIEwodGFibGVfNDhieXRlc19md2RfYWxpZ24pKQorCS5pbnQJSk1QVEJMIChMKGZ3ZF93cml0ZV8yMWJ5dGVzX2FsaWduKSwgTCh0YWJsZV80OGJ5dGVzX2Z3ZF9hbGlnbikpCisJLmludAlKTVBUQkwgKEwoZndkX3dyaXRlXzIyYnl0ZXNfYWxpZ24pLCBMKHRhYmxlXzQ4Ynl0ZXNfZndkX2FsaWduKSkKKwkuaW50CUpNUFRCTCAoTChmd2Rfd3JpdGVfMjNieXRlc19hbGlnbiksIEwodGFibGVfNDhieXRlc19md2RfYWxpZ24pKQorCS5pbnQJSk1QVEJMIChMKGZ3ZF93cml0ZV8yNGJ5dGVzX2FsaWduKSwgTCh0YWJsZV80OGJ5dGVzX2Z3ZF9hbGlnbikpCisJLmludAlKTVBUQkwgKEwoZndkX3dyaXRlXzI1Ynl0ZXNfYWxpZ24pLCBMKHRhYmxlXzQ4Ynl0ZXNfZndkX2FsaWduKSkKKwkuaW50CUpNUFRCTCAoTChmd2Rfd3JpdGVfMjZieXRlc19hbGlnbiksIEwodGFibGVfNDhieXRlc19md2RfYWxpZ24pKQorCS5pbnQJSk1QVEJMIChMKGZ3ZF93cml0ZV8yN2J5dGVzX2FsaWduKSwgTCh0YWJsZV80OGJ5dGVzX2Z3ZF9hbGlnbikpCisJLmludAlKTVBUQkwgKEwoZndkX3dyaXRlXzI4Ynl0ZXNfYWxpZ24pLCBMKHRhYmxlXzQ4Ynl0ZXNfZndkX2FsaWduKSkKKwkuaW50CUpNUFRCTCAoTChmd2Rfd3JpdGVfMjlieXRlc19hbGlnbiksIEwodGFibGVfNDhieXRlc19md2RfYWxpZ24pKQorCS5pbnQJSk1QVEJMIChMKGZ3ZF93cml0ZV8zMGJ5dGVzX2FsaWduKSwgTCh0YWJsZV80OGJ5dGVzX2Z3ZF9hbGlnbikpCisJLmludAlKTVBUQkwgKEwoZndkX3dyaXRlXzMxYnl0ZXNfYWxpZ24pLCBMKHRhYmxlXzQ4Ynl0ZXNfZndkX2FsaWduKSkKKwkuaW50CUpNUFRCTCAoTChmd2Rfd3JpdGVfMzJieXRlc19hbGlnbiksIEwodGFibGVfNDhieXRlc19md2RfYWxpZ24pKQorCS5pbnQJSk1QVEJMIChMKGZ3ZF93cml0ZV8zM2J5dGVzX2FsaWduKSwgTCh0YWJsZV80OGJ5dGVzX2Z3ZF9hbGlnbikpCisJLmludAlKTVBUQkwgKEwoZndkX3dyaXRlXzM0Ynl0ZXNfYWxpZ24pLCBMKHRhYmxlXzQ4Ynl0ZXNfZndkX2FsaWduKSkKKwkuaW50CUpNUFRCTCAoTChmd2Rfd3JpdGVfMzVieXRlc19hbGlnbiksIEwodGFibGVfNDhieXRlc19md2RfYWxpZ24pKQorCS5pbnQJSk1QVEJMIChMKGZ3ZF93cml0ZV8zNmJ5dGVzX2FsaWduKSwgTCh0YWJsZV80OGJ5dGVzX2Z3ZF9hbGlnbikpCisJLmludAlKTVBUQkwgKEwoZndkX3dyaXRlXzM3Ynl0ZXNfYWxpZ24pLCBMKHRhYmxlXzQ4Ynl0ZXNfZndkX2FsaWduKSkKKwkuaW50CUpNUFRCTCAoTChmd2Rfd3JpdGVfMzhieXRlc19hbGlnbiksIEwodGFibGVfNDhieXRlc19md2RfYWxpZ24pKQorCS5pbnQJSk1QVEJMIChMKGZ3ZF93cml0ZV8zOWJ5dGVzX2FsaWduKSwgTCh0YWJsZV80OGJ5dGVzX2Z3ZF9hbGlnbikpCisJLmludAlKTVBUQkwgKEwoZndkX3dyaXRlXzQwYnl0ZXNfYWxpZ24pLCBMKHRhYmxlXzQ4Ynl0ZXNfZndkX2FsaWduKSkKKwkuaW50CUpNUFRCTCAoTChmd2Rfd3JpdGVfNDFieXRlc19hbGlnbiksIEwodGFibGVfNDhieXRlc19md2RfYWxpZ24pKQorCS5pbnQJSk1QVEJMIChMKGZ3ZF93cml0ZV80MmJ5dGVzX2FsaWduKSwgTCh0YWJsZV80OGJ5dGVzX2Z3ZF9hbGlnbikpCisJLmludAlKTVBUQkwgKEwoZndkX3dyaXRlXzQzYnl0ZXNfYWxpZ24pLCBMKHRhYmxlXzQ4Ynl0ZXNfZndkX2FsaWduKSkKKwkuaW50CUpNUFRCTCAoTChmd2Rfd3JpdGVfNDRieXRlc19hbGlnbiksIEwodGFibGVfNDhieXRlc19md2RfYWxpZ24pKQorCS5pbnQJSk1QVEJMIChMKGZ3ZF93cml0ZV80NWJ5dGVzX2FsaWduKSwgTCh0YWJsZV80OGJ5dGVzX2Z3ZF9hbGlnbikpCisJLmludAlKTVBUQkwgKEwoZndkX3dyaXRlXzQ2Ynl0ZXNfYWxpZ24pLCBMKHRhYmxlXzQ4Ynl0ZXNfZndkX2FsaWduKSkKKwkuaW50CUpNUFRCTCAoTChmd2Rfd3JpdGVfNDdieXRlc19hbGlnbiksIEwodGFibGVfNDhieXRlc19md2RfYWxpZ24pKQorCisJLnAyYWxpZ24gMgogTChzaGxfdGFibGUpOgogCS5pbnQJSk1QVEJMIChMKHNobF8wKSwgTChzaGxfdGFibGUpKQogCS5pbnQJSk1QVEJMIChMKHNobF8xKSwgTChzaGxfdGFibGUpKQpAQCAtMTYyOCw3ICszMDE5LDcgQEAKIAkuaW50CUpNUFRCTCAoTChzaGxfMTQpLCBMKHNobF90YWJsZSkpCiAJLmludAlKTVBUQkwgKEwoc2hsXzE1KSwgTChzaGxfdGFibGUpKQogCi0JQUxJR04gKDIpCisJLnAyYWxpZ24gMgogTCh0YWJsZV80OF9ieXRlc19id2QpOgogCS5pbnQJSk1QVEJMIChMKGJrX3dyaXRlXzBieXRlcyksIEwodGFibGVfNDhfYnl0ZXNfYndkKSkKIAkuaW50CUpNUFRCTCAoTChia193cml0ZV8xYnl0ZXMpLCBMKHRhYmxlXzQ4X2J5dGVzX2J3ZCkpCkBAIC0xNjgyLDEyICszMDczLDEyIEBACiAJLnBvcHNlY3Rpb24KIAogI2lmZGVmIFVTRV9BU19NRU1NT1ZFCi0JQUxJR04gKDQpCisJLnAyYWxpZ24gNAogTChjb3B5X2JhY2t3YXJkKToKLQlQVVNIICglZXNpKQotCW1vdmwJJWVheCwgJWVzaQorCVBVU0ggKCVlZGkpCisJbW92bAklZWF4LCAlZWRpCiAJbGVhCSglZWN4LCVlZHgsMSksJWVkeAotCWxlYQkoJWVjeCwlZXNpLDEpLCVlc2kKKwlsZWEJKCVlY3gsJWVkaSwxKSwlZWRpCiAJdGVzdGwJJDB4MywgJWVkeAogCWpueglMKGJrX2FsaWduKQogCkBAIC0xNzAyLDYwICszMDkzLDUzIEBACiBMKGJrX3dyaXRlX21vcmUzMmJ5dGVzKToKIAkvKiBDb3B5IDMyIGJ5dGVzIGF0IGEgdGltZS4gICovCiAJc3ViCSQzMiwgJWVjeAotCW1vdmwJLTQoJWVzaSksICVlYXgKLQltb3ZsCSVlYXgsIC00KCVlZHgpCi0JbW92bAktOCglZXNpKSwgJWVheAotCW1vdmwJJWVheCwgLTgoJWVkeCkKLQltb3ZsCS0xMiglZXNpKSwgJWVheAotCW1vdmwJJWVheCwgLTEyKCVlZHgpCi0JbW92bAktMTYoJWVzaSksICVlYXgKLQltb3ZsCSVlYXgsIC0xNiglZWR4KQotCW1vdmwJLTIwKCVlc2kpLCAlZWF4Ci0JbW92bAklZWF4LCAtMjAoJWVkeCkKLQltb3ZsCS0yNCglZXNpKSwgJWVheAotCW1vdmwJJWVheCwgLTI0KCVlZHgpCi0JbW92bAktMjgoJWVzaSksICVlYXgKLQltb3ZsCSVlYXgsIC0yOCglZWR4KQotCW1vdmwJLTMyKCVlc2kpLCAlZWF4Ci0JbW92bAklZWF4LCAtMzIoJWVkeCkKKwltb3ZxCS04KCVlZGkpLCAleG1tMAorCW1vdnEJJXhtbTAsIC04KCVlZHgpCisJbW92cQktMTYoJWVkaSksICV4bW0wCisJbW92cQkleG1tMCwgLTE2KCVlZHgpCisJbW92cQktMjQoJWVkaSksICV4bW0wCisJbW92cQkleG1tMCwgLTI0KCVlZHgpCisJbW92cQktMzIoJWVkaSksICV4bW0wCisJbW92cQkleG1tMCwgLTMyKCVlZHgpCiAJc3ViCSQzMiwgJWVkeAotCXN1YgkkMzIsICVlc2kKKwlzdWIJJDMyLCAlZWRpCiAKIEwoYmtfd3JpdGVfbGVzczMyYnl0ZXMpOgotCW1vdmwJJWVzaSwgJWVheAorCW1vdmwJJWVkaSwgJWVheAogCXN1YgklZWN4LCAlZWR4CiAJc3ViCSVlY3gsICVlYXgKLQlQT1AgKCVlc2kpCisJUE9QICglZWRpKQogTChia193cml0ZV9sZXNzMzJieXRlc18yKToKIAlCUkFOQ0hfVE9fSk1QVEJMX0VOVFJZIChMKHRhYmxlXzQ4X2J5dGVzX2J3ZCksICVlY3gsIDQpCiAKLQlDRklfUFVTSCAoJWVzaSkKLQlBTElHTiAoNCkKKwlDRklfUFVTSCAoJWVkaSkKKworCS5wMmFsaWduIDQKIEwoYmtfYWxpZ24pOgogCWNtcAkkOCwgJWVjeAogCWpiZQlMKGJrX3dyaXRlX2xlc3MzMmJ5dGVzKQogCXRlc3RsCSQxLCAlZWR4CiAJLyogV2UgZ2V0IGhlcmUgb25seSBpZiAoRURYICYgMyApICE9IDAgc28gaWYgKEVEWCAmIDEpID09MCwKLQkgICB0aGVuIChFRFggJiAyKSBtdXN0IGJlICE9IDAuICAqLworCXRoZW4JKEVEWCAmIDIpIG11c3QgYmUgIT0gMC4gICovCiAJanoJTChia19nb3QyKQotCXN1YgkkMSwgJWVzaQorCXN1YgkkMSwgJWVkaQogCXN1YgkkMSwgJWVjeAogCXN1YgkkMSwgJWVkeAotCW1vdnpibAkoJWVzaSksICVlYXgKKwltb3Z6YmwJKCVlZGkpLCAlZWF4CiAJbW92YgklYWwsICglZWR4KQogCiAJdGVzdGwJJDIsICVlZHgKIAlqeglMKGJrX2FsaWduZWRfNCkKIAogTChia19nb3QyKToKLQlzdWIJJDIsICVlc2kKKwlzdWIJJDIsICVlZGkKIAlzdWIJJDIsICVlY3gKIAlzdWIJJDIsICVlZHgKLQltb3Z6d2wJKCVlc2kpLCAlZWF4CisJbW92endsCSglZWRpKSwgJWVheAogCW1vdncJJWF4LCAoJWVkeCkKIAlqbXAJTChia19hbGlnbmVkXzQpCiAKLQlBTElHTiAoNCkKKwkucDJhbGlnbiA0CiBMKGJrX3dyaXRlX21vcmU2NGJ5dGVzKToKIAkvKiBDaGVjayBhbGlnbm1lbnQgb2YgbGFzdCBieXRlLiAgKi8KIAl0ZXN0bAkkMTUsICVlZHgKQEAgLTE3NjMsNDUgKzMxNDcsNDYgQEAKIAogLyogRURYIGlzIGFsaWduZWQgNCBieXRlcywgYnV0IG5vdCAxNiBieXRlcy4gICovCiBMKGJrX3Nzc2UzX2FsaWduKToKLQlzdWIJJDQsICVlc2kKKwlzdWIJJDQsICVlZGkKIAlzdWIJJDQsICVlY3gKIAlzdWIJJDQsICVlZHgKLQltb3ZsCSglZXNpKSwgJWVheAorCW1vdmwJKCVlZGkpLCAlZWF4CiAJbW92bAklZWF4LCAoJWVkeCkKIAogCXRlc3RsCSQxNSwgJWVkeAogCWp6CUwoYmtfc3NzZTNfY3B5X3ByZSkKIAotCXN1YgkkNCwgJWVzaQorCXN1YgkkNCwgJWVkaQogCXN1YgkkNCwgJWVjeAogCXN1YgkkNCwgJWVkeAotCW1vdmwJKCVlc2kpLCAlZWF4CisJbW92bAkoJWVkaSksICVlYXgKIAltb3ZsCSVlYXgsICglZWR4KQogCiAJdGVzdGwJJDE1LCAlZWR4CiAJanoJTChia19zc3NlM19jcHlfcHJlKQogCi0Jc3ViCSQ0LCAlZXNpCisJc3ViCSQ0LCAlZWRpCiAJc3ViCSQ0LCAlZWN4CiAJc3ViCSQ0LCAlZWR4Ci0JbW92bAkoJWVzaSksICVlYXgKKwltb3ZsCSglZWRpKSwgJWVheAogCW1vdmwJJWVheCwgKCVlZHgpCiAKIEwoYmtfc3NzZTNfY3B5X3ByZSk6CiAJY21wCSQ2NCwgJWVjeAogCWpiCUwoYmtfd3JpdGVfbW9yZTMyYnl0ZXMpCiAKKwkucDJhbGlnbiA0CiBMKGJrX3Nzc2UzX2NweSk6Ci0Jc3ViCSQ2NCwgJWVzaQorCXN1YgkkNjQsICVlZGkKIAlzdWIJJDY0LCAlZWN4CiAJc3ViCSQ2NCwgJWVkeAotCW1vdmRxdQkweDMwKCVlc2kpLCAleG1tMworCW1vdmRxdQkweDMwKCVlZGkpLCAleG1tMwogCW1vdmRxYQkleG1tMywgMHgzMCglZWR4KQotCW1vdmRxdQkweDIwKCVlc2kpLCAleG1tMgorCW1vdmRxdQkweDIwKCVlZGkpLCAleG1tMgogCW1vdmRxYQkleG1tMiwgMHgyMCglZWR4KQotCW1vdmRxdQkweDEwKCVlc2kpLCAleG1tMQorCW1vdmRxdQkweDEwKCVlZGkpLCAleG1tMQogCW1vdmRxYQkleG1tMSwgMHgxMCglZWR4KQotCW1vdmRxdQkoJWVzaSksICV4bW0wCisJbW92ZHF1CSglZWRpKSwgJXhtbTAKIAltb3ZkcWEJJXhtbTAsICglZWR4KQogCWNtcAkkNjQsICVlY3gKIAlqYWUJTChia19zc3NlM19jcHkpCmRpZmYgLS1naXQgYS9saWJjL2Jpb25pYy9tYWxsb2NfZGVidWdfbGVhay5jIGIvbGliYy9iaW9uaWMvbWFsbG9jX2RlYnVnX2xlYWsuYwppbmRleCBlMGJjZWU5Li5lNTg0NTAyIDEwMDY0NAotLS0gYS9saWJjL2Jpb25pYy9tYWxsb2NfZGVidWdfbGVhay5jCisrKyBiL2xpYmMvYmlvbmljL21hbGxvY19kZWJ1Z19sZWFrLmMKQEAgLTI1LDI2ICsyNSwyNiBAQAogICogT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GCiAgKiBTVUNIIERBTUFHRS4KICAqLworCisjaW5jbHVkZSA8ZGxmY24uaD4KICNpbmNsdWRlIDxlcnJuby5oPgorI2luY2x1ZGUgPGZjbnRsLmg+CiAjaW5jbHVkZSA8cHRocmVhZC5oPgorI2luY2x1ZGUgPHN0ZGFyZy5oPgorI2luY2x1ZGUgPHN0ZGRlZi5oPgorI2luY2x1ZGUgPHN0ZGludC5oPgogI2luY2x1ZGUgPHN0ZGlvLmg+Ci0jaW5jbHVkZSA8YXJwYS9pbmV0Lmg+Ci0jaW5jbHVkZSA8c3lzL3NvY2tldC5oPgogI2luY2x1ZGUgPHN0ZGxpYi5oPgogI2luY2x1ZGUgPHN0cmluZy5oPgogI2luY2x1ZGUgPHVuaXN0ZC5oPgotI2luY2x1ZGUgPGVycm5vLmg+Ci0jaW5jbHVkZSA8c3RkZGVmLmg+Ci0jaW5jbHVkZSA8c3RkYXJnLmg+Ci0jaW5jbHVkZSA8ZmNudGwuaD4KICNpbmNsdWRlIDx1bndpbmQuaD4KLSNpbmNsdWRlIDxkbGZjbi5oPgogCi0jaW5jbHVkZSA8c3lzL3NvY2tldC5oPgotI2luY2x1ZGUgPHN5cy91bi5oPgorI2luY2x1ZGUgPGFycGEvaW5ldC5oPgogI2luY2x1ZGUgPHN5cy9zZWxlY3QuaD4KLSNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKyNpbmNsdWRlIDxzeXMvc29ja2V0Lmg+CiAjaW5jbHVkZSA8c3lzL3N5c3RlbV9wcm9wZXJ0aWVzLmg+CisjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisjaW5jbHVkZSA8c3lzL3VuLmg+CiAKICNpbmNsdWRlICJkbG1hbGxvYy5oIgogI2luY2x1ZGUgImxvZ2QuaCIKQEAgLTM3Miw3ICszNzIsMTEgQEAKIAogdm9pZCogY2hrX21hbGxvYyhzaXplX3QgYnl0ZXMpCiB7Ci0gICAgY2hhciogYnVmZmVyID0gKGNoYXIqKWRsbWFsbG9jKGJ5dGVzICsgQ0hLX09WRVJIRUFEX1NJWkUpOworICAgIHNpemVfdCBzaXplID0gYnl0ZXMgKyBDSEtfT1ZFUkhFQURfU0laRTsKKyAgICBpZiAoc2l6ZSA8IGJ5dGVzKSB7IC8vIE92ZXJmbG93LgorICAgICAgICByZXR1cm4gTlVMTDsKKyAgICB9CisgICAgdWludDhfdCogYnVmZmVyID0gKHVpbnQ4X3QqKSBkbG1hbGxvYyhzaXplKTsKICAgICBpZiAoYnVmZmVyKSB7CiAgICAgICAgIG1lbXNldChidWZmZXIsIENIS19TRU5USU5FTF9WQUxVRSwgYnl0ZXMgKyBDSEtfT1ZFUkhFQURfU0laRSk7CiAgICAgICAgIHNpemVfdCBvZmZzZXQgPSBkbG1hbGxvY191c2FibGVfc2l6ZShidWZmZXIpIC0gc2l6ZW9mKHNpemVfdCk7CkBAIC01MDUsNyArNTA5LDEyIEBACiAgICAgLy8gMS4gYWxsb2NhdGUgZW5vdWdoIG1lbW9yeSBhbmQgaW5jbHVkZSBvdXIgaGVhZGVyCiAgICAgLy8gMi4gc2V0IHRoZSBiYXNlIHBvaW50ZXIgdG8gYmUgcmlnaHQgYWZ0ZXIgb3VyIGhlYWRlcgogCi0gICAgdm9pZCogYmFzZSA9IGRsbWFsbG9jKGJ5dGVzICsgc2l6ZW9mKEFsbG9jYXRpb25FbnRyeSkpOworICAgIHNpemVfdCBzaXplID0gYnl0ZXMgKyBzaXplb2YoQWxsb2NhdGlvbkVudHJ5KTsKKyAgICBpZiAoc2l6ZSA8IGJ5dGVzKSB7IC8vIE92ZXJmbG93LgorICAgICAgICByZXR1cm4gTlVMTDsKKyAgICB9CisKKyAgICB2b2lkKiBiYXNlID0gZGxtYWxsb2Moc2l6ZSk7CiAgICAgaWYgKGJhc2UgIT0gTlVMTCkgewogICAgICAgICBwdGhyZWFkX211dGV4X2xvY2soJmdBbGxvY2F0aW9uc011dGV4KTsKIApAQCAtNjE1LDYgKzYyNCwxMCBAQAogICAgIC8vIHdlIHdpbGwgYWxpZ24gYnkgYXQgbGVhc3QgTUFMTE9DX0FMSUdOTUVOVCBieXRlcwogICAgIC8vIGFuZCBhdCBtb3N0IGFsaWdubWVudC1NQUxMT0NfQUxJR05NRU5UIGJ5dGVzCiAgICAgc2l6ZV90IHNpemUgPSAoYWxpZ25tZW50LU1BTExPQ19BTElHTk1FTlQpICsgYnl0ZXM7CisgICAgaWYgKHNpemUgPCBieXRlcykgeyAvLyBPdmVyZmxvdy4KKyAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgfQorCiAgICAgdm9pZCogYmFzZSA9IGxlYWtfbWFsbG9jKHNpemUpOwogICAgIGlmIChiYXNlICE9IE5VTEwpIHsKICAgICAgICAgaW50cHRyX3QgcHRyID0gKGludHB0cl90KWJhc2U7CmRpZmYgLS1naXQgYS9saWJjL2Jpb25pYy9wdGhyZWFkLmMgYi9saWJjL2Jpb25pYy9wdGhyZWFkLmMKaW5kZXggNWNhZDE2Ny4uMmUyYzA5ZCAxMDA2NDQKLS0tIGEvbGliYy9iaW9uaWMvcHRocmVhZC5jCisrKyBiL2xpYmMvYmlvbmljL3B0aHJlYWQuYwpAQCAtMjUsMzEgKzI1LDMyIEBACiAgKiBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YKICAqIFNVQ0ggREFNQUdFLgogICovCi0jaW5jbHVkZSA8c3lzL3R5cGVzLmg+Ci0jaW5jbHVkZSA8dW5pc3RkLmg+CisKKyNpbmNsdWRlIDxhc3NlcnQuaD4KKyNpbmNsdWRlIDxlcnJuby5oPgorI2luY2x1ZGUgPGZjbnRsLmg+CisjaW5jbHVkZSA8bGltaXRzLmg+CisjaW5jbHVkZSA8bWFsbG9jLmg+CisjaW5jbHVkZSA8bWVtb3J5Lmg+CisjaW5jbHVkZSA8cHRocmVhZC5oPgogI2luY2x1ZGUgPHNpZ25hbC5oPgogI2luY2x1ZGUgPHN0ZGludC5oPgogI2luY2x1ZGUgPHN0ZGlvLmg+CiAjaW5jbHVkZSA8c3RkbGliLmg+Ci0jaW5jbHVkZSA8ZXJybm8uaD4KICNpbmNsdWRlIDxzeXMvYXRvbWljcy5oPgotI2luY2x1ZGUgPGJpb25pY190bHMuaD4KICNpbmNsdWRlIDxzeXMvbW1hbi5oPgotI2luY2x1ZGUgPHB0aHJlYWQuaD4KLSNpbmNsdWRlIDx0aW1lLmg+Ci0jaW5jbHVkZSAicHRocmVhZF9pbnRlcm5hbC5oIgotI2luY2x1ZGUgInRocmVhZF9wcml2YXRlLmgiCi0jaW5jbHVkZSA8bGltaXRzLmg+Ci0jaW5jbHVkZSA8bWVtb3J5Lmg+Ci0jaW5jbHVkZSA8YXNzZXJ0Lmg+Ci0jaW5jbHVkZSA8bWFsbG9jLmg+Ci0jaW5jbHVkZSA8YmlvbmljX2Z1dGV4Lmg+Ci0jaW5jbHVkZSA8YmlvbmljX2F0b21pY19pbmxpbmUuaD4KICNpbmNsdWRlIDxzeXMvcHJjdGwuaD4KICNpbmNsdWRlIDxzeXMvc3RhdC5oPgotI2luY2x1ZGUgPGZjbnRsLmg+Ci0jaW5jbHVkZSA8c3RkaW8uaD4KLSNpbmNsdWRlIDxiaW9uaWNfcHRocmVhZC5oPgorI2luY2x1ZGUgPHN5cy90eXBlcy5oPgorI2luY2x1ZGUgPHRpbWUuaD4KKyNpbmNsdWRlIDx1bmlzdGQuaD4KKworI2luY2x1ZGUgImJpb25pY19hdG9taWNfaW5saW5lLmgiCisjaW5jbHVkZSAiYmlvbmljX2Z1dGV4LmgiCisjaW5jbHVkZSAiYmlvbmljX3B0aHJlYWQuaCIKKyNpbmNsdWRlICJiaW9uaWNfdGxzLmgiCisjaW5jbHVkZSAicHRocmVhZF9pbnRlcm5hbC5oIgorI2luY2x1ZGUgInRocmVhZF9wcml2YXRlLmgiCiAKIGV4dGVybiB2b2lkIHB0aHJlYWRfZGVidWdfbXV0ZXhfbG9ja19jaGVjayhwdGhyZWFkX211dGV4X3QgKm11dGV4KTsKIGV4dGVybiB2b2lkIHB0aHJlYWRfZGVidWdfbXV0ZXhfdW5sb2NrX2NoZWNrKHB0aHJlYWRfbXV0ZXhfdCAqbXV0ZXgpOwpAQCAtODAsNiArODEsOCBAQAogCiB2b2lkIEFUVFJJQlVURVMgX3RocmVhZF9jcmVhdGVkX2hvb2socGlkX3QgdGhyZWFkX2lkKTsKIAorc3RhdGljIGNvbnN0IGludCBrUHRocmVhZEluaXRGYWlsZWQgPSAxOworCiAjZGVmaW5lIFBUSFJFQURfQVRUUl9GTEFHX0RFVEFDSEVEICAgICAgMHgwMDAwMDAwMQogI2RlZmluZSBQVEhSRUFEX0FUVFJfRkxBR19VU0VSX1NUQUNLICAgIDB4MDAwMDAwMDIKIApAQCAtOTcsMzUgKzEwMCwxNiBAQAogICAgIC5zY2hlZF9wcmlvcml0eSA9IDAKIH07CiAKLSNkZWZpbmUgIElOSVRfVEhSRUFEUyAgMQotCi1zdGF0aWMgcHRocmVhZF9pbnRlcm5hbF90KiAgZ1RocmVhZExpc3QgPSBOVUxMOworc3RhdGljIHB0aHJlYWRfaW50ZXJuYWxfdCogZ1RocmVhZExpc3QgPSBOVUxMOwogc3RhdGljIHB0aHJlYWRfbXV0ZXhfdCBnVGhyZWFkTGlzdExvY2sgPSBQVEhSRUFEX01VVEVYX0lOSVRJQUxJWkVSOwogc3RhdGljIHB0aHJlYWRfbXV0ZXhfdCBnRGVidWdnZXJOb3RpZmljYXRpb25Mb2NrID0gUFRIUkVBRF9NVVRFWF9JTklUSUFMSVpFUjsKIAogCi0vKiB3ZSBzaW1wbHkgbWFsbG9jL2ZyZWUgdGhlIGludGVybmFsIHB0aHJlYWRfaW50ZXJuYWxfdCBzdHJ1Y3R1cmVzLiB3ZSBtYXkKLSAqIHdhbnQgdG8gdXNlIGEgZGlmZmVyZW50IGFsbG9jYXRpb24gc2NoZW1lIGluIHRoZSBmdXR1cmUsIGJ1dCB0aGlzIG9uZSBzaG91bGQKLSAqIGJlIGxhcmdlbHkgZW5vdWdoCi0gKi8KLXN0YXRpYyBwdGhyZWFkX2ludGVybmFsX3QqCi1fcHRocmVhZF9pbnRlcm5hbF9hbGxvYyh2b2lkKQotewotICAgIHB0aHJlYWRfaW50ZXJuYWxfdCogICB0aHJlYWQ7Ci0KLSAgICB0aHJlYWQgPSBjYWxsb2MoIHNpemVvZigqdGhyZWFkKSwgMSApOwotICAgIGlmICh0aHJlYWQpCi0gICAgICAgIHRocmVhZC0+aW50ZXJuID0gMTsKLQotICAgIHJldHVybiB0aHJlYWQ7Ci19Ci0KIHN0YXRpYyB2b2lkCi1fcHRocmVhZF9pbnRlcm5hbF9mcmVlKCBwdGhyZWFkX2ludGVybmFsX3QqICB0aHJlYWQgKQorX3B0aHJlYWRfaW50ZXJuYWxfZnJlZShwdGhyZWFkX2ludGVybmFsX3QqIHRocmVhZCkKIHsKLSAgICBpZiAodGhyZWFkICYmIHRocmVhZC0+aW50ZXJuKSB7Ci0gICAgICAgIHRocmVhZC0+aW50ZXJuID0gMDsgIC8qIGp1c3QgaW4gY2FzZSAqLwotICAgICAgICBmcmVlICh0aHJlYWQpOworICAgIGlmICh0aHJlYWQgIT0gTlVMTCkgeworICAgICAgICBmcmVlKHRocmVhZCk7CiAgICAgfQogfQogCkBAIC0xOTQsMzIgKzE3OCwzNSBAQAogCiAKIC8qCi0gKiBUaGlzIHRyYW1wb2xpbmUgaXMgY2FsbGVkIGZyb20gdGhlIGFzc2VtYmx5IGNsb25lKCkgZnVuY3Rpb24KKyAqIFRoaXMgdHJhbXBvbGluZSBpcyBjYWxsZWQgZnJvbSB0aGUgYXNzZW1ibHkgX3B0aHJlYWRfY2xvbmUoKSBmdW5jdGlvbi4KICAqLwogdm9pZCBfX3RocmVhZF9lbnRyeShpbnQgKCpmdW5jKSh2b2lkKiksIHZvaWQgKmFyZywgdm9pZCAqKnRscykKIHsKLSAgICBpbnQgcmV0VmFsdWU7Ci0gICAgcHRocmVhZF9pbnRlcm5hbF90ICogdGhySW5mbzsKLQogICAgIC8vIFdhaXQgZm9yIG91ciBjcmVhdGluZyB0aHJlYWQgdG8gcmVsZWFzZSB1cy4gVGhpcyBsZXRzIGl0IGhhdmUgdGltZSB0bwotICAgIC8vIG5vdGlmeSBnZGIgYWJvdXQgdGhpcyB0aHJlYWQgYmVmb3JlIGl0IHN0YXJ0cyBkb2luZyBhbnl0aGluZy4KKyAgICAvLyBub3RpZnkgZ2RiIGFib3V0IHRoaXMgdGhyZWFkIGJlZm9yZSB3ZSBzdGFydCBkb2luZyBhbnl0aGluZy4KICAgICAvLwogICAgIC8vIFRoaXMgYWxzbyBwcm92aWRlcyB0aGUgbWVtb3J5IGJhcnJpZXIgbmVlZGVkIHRvIGVuc3VyZSB0aGF0IGFsbCBtZW1vcnkKICAgICAvLyBhY2Nlc3NlcyBwcmV2aW91c2x5IG1hZGUgYnkgdGhlIGNyZWF0aW5nIHRocmVhZCBhcmUgdmlzaWJsZSB0byB1cy4KLSAgICBwdGhyZWFkX211dGV4X3QgKiBzdGFydF9tdXRleCA9IChwdGhyZWFkX211dGV4X3QgKikmdGxzW1RMU19TTE9UX1NFTEZdOworICAgIHB0aHJlYWRfbXV0ZXhfdCogc3RhcnRfbXV0ZXggPSAocHRocmVhZF9tdXRleF90KikgJnRsc1tUTFNfU0xPVF9TRUxGXTsKICAgICBwdGhyZWFkX211dGV4X2xvY2soc3RhcnRfbXV0ZXgpOwogICAgIHB0aHJlYWRfbXV0ZXhfZGVzdHJveShzdGFydF9tdXRleCk7CiAKLSAgICB0aHJJbmZvID0gKHB0aHJlYWRfaW50ZXJuYWxfdCAqKSB0bHNbVExTX1NMT1RfVEhSRUFEX0lEXTsKKyAgICBwdGhyZWFkX2ludGVybmFsX3QqIHRocmVhZCA9IChwdGhyZWFkX2ludGVybmFsX3QqKSB0bHNbVExTX1NMT1RfVEhSRUFEX0lEXTsKKyAgICBfX2luaXRfdGxzKHRscywgdGhyZWFkKTsKIAotICAgIF9faW5pdF90bHMoIHRscywgdGhySW5mbyApOworICAgIGlmICgodGhyZWFkLT5pbnRlcm5hbF9mbGFncyAmIGtQdGhyZWFkSW5pdEZhaWxlZCkgIT0gMCkgeworICAgICAgICBwdGhyZWFkX2V4aXQoTlVMTCk7CisgICAgfQogCi0gICAgcHRocmVhZF9leGl0KCAodm9pZCopZnVuYyhhcmcpICk7CisgICAgaW50IHJlc3VsdCA9IGZ1bmMoYXJnKTsKKyAgICBwdGhyZWFkX2V4aXQoKHZvaWQqKSByZXN1bHQpOwogfQogCiBfX0xJQkNfQUJJX1BSSVZBVEVfXwotdm9pZCBfaW5pdF90aHJlYWQocHRocmVhZF9pbnRlcm5hbF90ICogdGhyZWFkLCBwaWRfdCBrZXJuZWxfaWQsIHB0aHJlYWRfYXR0cl90ICogYXR0ciwgdm9pZCAqIHN0YWNrX2Jhc2UpCitpbnQgX2luaXRfdGhyZWFkKHB0aHJlYWRfaW50ZXJuYWxfdCAqIHRocmVhZCwgcGlkX3Qga2VybmVsX2lkLCBwdGhyZWFkX2F0dHJfdCAqIGF0dHIsIHZvaWQgKiBzdGFja19iYXNlKQogeworICAgIGludCBlcnJvciA9IDA7CisKICAgICBpZiAoYXR0ciA9PSBOVUxMKSB7CiAgICAgICAgIHRocmVhZC0+YXR0ciA9IGdEZWZhdWx0UHRocmVhZEF0dHI7CiAgICAgfSBlbHNlIHsKQEAgLTIyOCw0MCArMjE1LDQyIEBACiAgICAgdGhyZWFkLT5hdHRyLnN0YWNrX2Jhc2UgPSBzdGFja19iYXNlOwogICAgIHRocmVhZC0+a2VybmVsX2lkICAgICAgID0ga2VybmVsX2lkOwogCi0gICAgLy8gc2V0IHRoZSBzY2hlZHVsaW5nIHBvbGljeS9wcmlvcml0eSBvZiB0aGUgdGhyZWFkCisgICAgLy8gTWFrZSBhIG5vdGUgb2Ygd2hldGhlciB0aGUgdXNlciBzdXBwbGllZCB0aGlzIHN0YWNrIChzbyB3ZSBrbm93IHdoZXRoZXIgb3Igbm90IHRvIGZyZWUgaXQpLgorICAgIGlmIChhdHRyLT5zdGFja19iYXNlID09IHN0YWNrX2Jhc2UpIHsKKyAgICAgICAgdGhyZWFkLT5hdHRyLmZsYWdzIHw9IFBUSFJFQURfQVRUUl9GTEFHX1VTRVJfU1RBQ0s7CisgICAgfQorCisgICAgLy8gU2V0IHRoZSBzY2hlZHVsaW5nIHBvbGljeS9wcmlvcml0eSBvZiB0aGUgdGhyZWFkLgogICAgIGlmICh0aHJlYWQtPmF0dHIuc2NoZWRfcG9saWN5ICE9IFNDSEVEX05PUk1BTCkgewogICAgICAgICBzdHJ1Y3Qgc2NoZWRfcGFyYW0gcGFyYW07CiAgICAgICAgIHBhcmFtLnNjaGVkX3ByaW9yaXR5ID0gdGhyZWFkLT5hdHRyLnNjaGVkX3ByaW9yaXR5OwotICAgICAgICBzY2hlZF9zZXRzY2hlZHVsZXIoa2VybmVsX2lkLCB0aHJlYWQtPmF0dHIuc2NoZWRfcG9saWN5LCAmcGFyYW0pOworICAgICAgICBpZiAoc2NoZWRfc2V0c2NoZWR1bGVyKGtlcm5lbF9pZCwgdGhyZWFkLT5hdHRyLnNjaGVkX3BvbGljeSwgJnBhcmFtKSA9PSAtMSkgeworICAgICAgICAgICAgZXJyb3IgPSBlcnJubzsKKyAgICAgICAgfQogICAgIH0KIAogICAgIHB0aHJlYWRfY29uZF9pbml0KCZ0aHJlYWQtPmpvaW5fY29uZCwgTlVMTCk7CiAgICAgdGhyZWFkLT5qb2luX2NvdW50ID0gMDsKIAogICAgIHRocmVhZC0+Y2xlYW51cF9zdGFjayA9IE5VTEw7CisKKyAgICBfcHRocmVhZF9pbnRlcm5hbF9hZGQodGhyZWFkKTsKKyAgICByZXR1cm4gZXJyb3I7CiB9CiAKLQotLyogWFhYIHN0YWNrcyBub3QgcmVjbGFpbWVkIGlmIHRocmVhZCBzcGF3biBmYWlscyAqLwotLyogWFhYIHN0YWNrcyBhZGRyZXNzIHNwYWNlcyBzaG91bGQgYmUgcmV1c2VkIGlmIGF2YWlsYWJsZSBhZ2FpbiAqLwotCiBzdGF0aWMgdm9pZCAqbWtzdGFjayhzaXplX3Qgc2l6ZSwgc2l6ZV90IGd1YXJkX3NpemUpCiB7Ci0gICAgdm9pZCAqIHN0YWNrOwotCiAgICAgcHRocmVhZF9tdXRleF9sb2NrKCZtbWFwX2xvY2spOwogCi0gICAgc3RhY2sgPSBtbWFwKE5VTEwsIHNpemUsCi0gICAgICAgICAgICAgICAgIFBST1RfUkVBRCB8IFBST1RfV1JJVEUsCi0gICAgICAgICAgICAgICAgIE1BUF9QUklWQVRFIHwgTUFQX0FOT05ZTU9VUyB8IE1BUF9OT1JFU0VSVkUsCi0gICAgICAgICAgICAgICAgIC0xLCAwKTsKLQotICAgIGlmKHN0YWNrID09IE1BUF9GQUlMRUQpIHsKKyAgICBpbnQgcHJvdCA9IFBST1RfUkVBRCB8IFBST1RfV1JJVEU7CisgICAgaW50IGZsYWdzID0gTUFQX1BSSVZBVEUgfCBNQVBfQU5PTllNT1VTIHwgTUFQX05PUkVTRVJWRTsKKyAgICB2b2lkKiBzdGFjayA9IG1tYXAoTlVMTCwgc2l6ZSwgcHJvdCwgZmxhZ3MsIC0xLCAwKTsKKyAgICBpZiAoc3RhY2sgPT0gTUFQX0ZBSUxFRCkgewogICAgICAgICBzdGFjayA9IE5VTEw7CiAgICAgICAgIGdvdG8gZG9uZTsKICAgICB9CiAKLSAgICBpZihtcHJvdGVjdChzdGFjaywgZ3VhcmRfc2l6ZSwgUFJPVF9OT05FKSl7CisgICAgaWYgKG1wcm90ZWN0KHN0YWNrLCBndWFyZF9zaXplLCBQUk9UX05PTkUpID09IC0xKSB7CiAgICAgICAgIG11bm1hcChzdGFjaywgc2l6ZSk7CiAgICAgICAgIHN0YWNrID0gTlVMTDsKICAgICAgICAgZ290byBkb25lOwpAQCAtMjk4LDEzICsyODcsNyBAQAogaW50IHB0aHJlYWRfY3JlYXRlKHB0aHJlYWRfdCAqdGhyZWFkX291dCwgcHRocmVhZF9hdHRyX3QgY29uc3QgKiBhdHRyLAogICAgICAgICAgICAgICAgICAgIHZvaWQgKigqc3RhcnRfcm91dGluZSkodm9pZCAqKSwgdm9pZCAqIGFyZykKIHsKLSAgICBjaGFyKiAgIHN0YWNrOwotICAgIHZvaWQqKiAgdGxzOwotICAgIGludCB0aWQ7Ci0gICAgcHRocmVhZF9tdXRleF90ICogc3RhcnRfbXV0ZXg7Ci0gICAgcHRocmVhZF9pbnRlcm5hbF90ICogdGhyZWFkOwotICAgIGludCAgICAgICAgICAgICAgICAgIG1hZGVzdGFjayA9IDA7Ci0gICAgaW50ICAgICBvbGRfZXJybm8gPSBlcnJubzsKKyAgICBpbnQgb2xkX2Vycm5vID0gZXJybm87CiAKICAgICAvKiB0aGlzIHdpbGwgaW5mb3JtIHRoZSByZXN0IG9mIHRoZSBDIGxpYnJhcnkgdGhhdCBhdCBsZWFzdCBvbmUgdGhyZWFkCiAgICAgICogd2FzIGNyZWF0ZWQuIHRoaXMgd2lsbCBlbmZvcmNlIGNlcnRhaW4gZnVuY3Rpb25zIHRvIGFjcXVpcmUvcmVsZWFzZQpAQCAtMzE1LDMxICsyOTgsMjggQEAKICAgICAgKi8KICAgICBfX2lzdGhyZWFkZWQgPSAxOwogCi0gICAgdGhyZWFkID0gX3B0aHJlYWRfaW50ZXJuYWxfYWxsb2MoKTsKLSAgICBpZiAodGhyZWFkID09IE5VTEwpCisgICAgcHRocmVhZF9pbnRlcm5hbF90KiB0aHJlYWQgPSBjYWxsb2Moc2l6ZW9mKCp0aHJlYWQpLCAxKTsKKyAgICBpZiAodGhyZWFkID09IE5VTEwpIHsKICAgICAgICAgcmV0dXJuIEVOT01FTTsKKyAgICB9CiAKICAgICBpZiAoYXR0ciA9PSBOVUxMKSB7CiAgICAgICAgIGF0dHIgPSAmZ0RlZmF1bHRQdGhyZWFkQXR0cjsKICAgICB9CiAKICAgICAvLyBtYWtlIHN1cmUgdGhlIHN0YWNrIGlzIFBBR0VfU0laRSBhbGlnbmVkCi0gICAgc2l6ZV90IHN0YWNrU2l6ZSA9IChhdHRyLT5zdGFja19zaXplICsKLSAgICAgICAgICAgICAgICAgICAgICAgIChQQUdFX1NJWkUtMSkpICYgfihQQUdFX1NJWkUtMSk7Ci0KLSAgICBpZiAoIWF0dHItPnN0YWNrX2Jhc2UpIHsKLSAgICAgICAgc3RhY2sgPSBta3N0YWNrKHN0YWNrU2l6ZSwgYXR0ci0+Z3VhcmRfc2l6ZSk7Ci0gICAgICAgIGlmKHN0YWNrID09IE5VTEwpIHsKKyAgICBzaXplX3Qgc3RhY2tfc2l6ZSA9IChhdHRyLT5zdGFja19zaXplICsgKFBBR0VfU0laRS0xKSkgJiB+KFBBR0VfU0laRS0xKTsKKyAgICB1aW50OF90KiBzdGFjayA9IGF0dHItPnN0YWNrX2Jhc2U7CisgICAgaWYgKHN0YWNrID09IE5VTEwpIHsKKyAgICAgICAgc3RhY2sgPSBta3N0YWNrKHN0YWNrX3NpemUsIGF0dHItPmd1YXJkX3NpemUpOworICAgICAgICBpZiAoc3RhY2sgPT0gTlVMTCkgewogICAgICAgICAgICAgX3B0aHJlYWRfaW50ZXJuYWxfZnJlZSh0aHJlYWQpOwogICAgICAgICAgICAgcmV0dXJuIEVOT01FTTsKICAgICAgICAgfQotICAgICAgICBtYWRlc3RhY2sgPSAxOwotICAgIH0gZWxzZSB7Ci0gICAgICAgIHN0YWNrID0gYXR0ci0+c3RhY2tfYmFzZTsKICAgICB9CiAKICAgICAvLyBNYWtlIHJvb20gZm9yIFRMUwotICAgIHRscyA9ICh2b2lkKiopKHN0YWNrICsgc3RhY2tTaXplIC0gQklPTklDX1RMU19TTE9UUypzaXplb2Yodm9pZCopKTsKKyAgICB2b2lkKiogdGxzID0gKHZvaWQqKikoc3RhY2sgKyBzdGFja19zaXplIC0gQklPTklDX1RMU19TTE9UUypzaXplb2Yodm9pZCopKTsKIAogICAgIC8vIENyZWF0ZSBhIG11dGV4IGZvciB0aGUgdGhyZWFkIGluIFRMU19TTE9UX1NFTEYgdG8gd2FpdCBvbiBvbmNlIGl0IHN0YXJ0cyBzbyB3ZSBjYW4ga2VlcAogICAgIC8vIGl0IGZyb20gZG9pbmcgYW55dGhpbmcgdW50aWwgYWZ0ZXIgd2Ugbm90aWZ5IHRoZSBkZWJ1Z2dlciBhYm91dCBpdApAQCAtMzQ3LDQzICszMjcsNDcgQEAKICAgICAvLyBUaGlzIGFsc28gcHJvdmlkZXMgdGhlIG1lbW9yeSBiYXJyaWVyIHdlIG5lZWQgdG8gZW5zdXJlIHRoYXQgYWxsCiAgICAgLy8gbWVtb3J5IGFjY2Vzc2VzIHByZXZpb3VzbHkgcGVyZm9ybWVkIGJ5IHRoaXMgdGhyZWFkIGFyZSB2aXNpYmxlIHRvCiAgICAgLy8gdGhlIG5ldyB0aHJlYWQuCi0gICAgc3RhcnRfbXV0ZXggPSAocHRocmVhZF9tdXRleF90ICopICZ0bHNbVExTX1NMT1RfU0VMRl07CisgICAgcHRocmVhZF9tdXRleF90KiBzdGFydF9tdXRleCA9IChwdGhyZWFkX211dGV4X3QqKSAmdGxzW1RMU19TTE9UX1NFTEZdOwogICAgIHB0aHJlYWRfbXV0ZXhfaW5pdChzdGFydF9tdXRleCwgTlVMTCk7CiAgICAgcHRocmVhZF9tdXRleF9sb2NrKHN0YXJ0X211dGV4KTsKIAogICAgIHRsc1tUTFNfU0xPVF9USFJFQURfSURdID0gdGhyZWFkOwogCi0gICAgdGlkID0gX19wdGhyZWFkX2Nsb25lKChpbnQoKikodm9pZCopKXN0YXJ0X3JvdXRpbmUsIHRscywKLSAgICAgICAgICAgICAgICBDTE9ORV9GSUxFUyB8IENMT05FX0ZTIHwgQ0xPTkVfVk0gfCBDTE9ORV9TSUdIQU5ECi0gICAgICAgICAgICAgICAgfCBDTE9ORV9USFJFQUQgfCBDTE9ORV9TWVNWU0VNIHwgQ0xPTkVfREVUQUNIRUQsCi0gICAgICAgICAgICAgICAgYXJnKTsKKyAgICBpbnQgZmxhZ3MgPSBDTE9ORV9GSUxFUyB8IENMT05FX0ZTIHwgQ0xPTkVfVk0gfCBDTE9ORV9TSUdIQU5EIHwKKyAgICAgICAgICAgICAgICBDTE9ORV9USFJFQUQgfCBDTE9ORV9TWVNWU0VNIHwgQ0xPTkVfREVUQUNIRUQ7CisgICAgaW50IHRpZCA9IF9fcHRocmVhZF9jbG9uZSgoaW50KCopKHZvaWQqKSlzdGFydF9yb3V0aW5lLCB0bHMsIGZsYWdzLCBhcmcpOwogCi0gICAgaWYodGlkIDwgMCkgewotICAgICAgICBpbnQgIHJlc3VsdDsKLSAgICAgICAgaWYgKG1hZGVzdGFjaykKLSAgICAgICAgICAgIG11bm1hcChzdGFjaywgc3RhY2tTaXplKTsKKyAgICBpZiAodGlkIDwgMCkgeworICAgICAgICBpbnQgY2xvbmVfZXJybm8gPSBlcnJubzsKKyAgICAgICAgcHRocmVhZF9tdXRleF91bmxvY2soc3RhcnRfbXV0ZXgpOworICAgICAgICBpZiAoc3RhY2sgIT0gYXR0ci0+c3RhY2tfYmFzZSkgeworICAgICAgICAgICAgbXVubWFwKHN0YWNrLCBzdGFja19zaXplKTsKKyAgICAgICAgfQogICAgICAgICBfcHRocmVhZF9pbnRlcm5hbF9mcmVlKHRocmVhZCk7Ci0gICAgICAgIHJlc3VsdCA9IGVycm5vOwogICAgICAgICBlcnJubyA9IG9sZF9lcnJubzsKLSAgICAgICAgcmV0dXJuIHJlc3VsdDsKKyAgICAgICAgcmV0dXJuIGNsb25lX2Vycm5vOwogICAgIH0KIAotICAgIF9pbml0X3RocmVhZCh0aHJlYWQsIHRpZCwgKHB0aHJlYWRfYXR0cl90KilhdHRyLCBzdGFjayk7CisgICAgaW50IGluaXRfZXJybm8gPSBfaW5pdF90aHJlYWQodGhyZWFkLCB0aWQsIChwdGhyZWFkX2F0dHJfdCopIGF0dHIsIHN0YWNrKTsKKyAgICBpZiAoaW5pdF9lcnJubyAhPSAwKSB7CisgICAgICAgIC8vIE1hcmsgdGhlIHRocmVhZCBkZXRhY2hlZCBhbmQgbGV0IGl0cyBfX3RocmVhZF9lbnRyeSBydW4gdG8KKyAgICAgICAgLy8gY29tcGxldGlvbi4gKEl0J2xsIGp1c3QgZXhpdCBpbW1lZGlhdGVseSwgY2xlYW5pbmcgdXAgaXRzIHJlc291cmNlcy4pCisgICAgICAgIHRocmVhZC0+aW50ZXJuYWxfZmxhZ3MgfD0ga1B0aHJlYWRJbml0RmFpbGVkOworICAgICAgICB0aHJlYWQtPmF0dHIuZmxhZ3MgfD0gUFRIUkVBRF9BVFRSX0ZMQUdfREVUQUNIRUQ7CisgICAgICAgIHB0aHJlYWRfbXV0ZXhfdW5sb2NrKHN0YXJ0X211dGV4KTsKKyAgICAgICAgZXJybm8gPSBvbGRfZXJybm87CisgICAgICAgIHJldHVybiBpbml0X2Vycm5vOworICAgIH0KIAotICAgIF9wdGhyZWFkX2ludGVybmFsX2FkZCh0aHJlYWQpOwotCi0gICAgaWYgKCFtYWRlc3RhY2spCi0gICAgICAgIHRocmVhZC0+YXR0ci5mbGFncyB8PSBQVEhSRUFEX0FUVFJfRkxBR19VU0VSX1NUQUNLOwotCi0gICAgLy8gTm90aWZ5IGFueSBkZWJ1Z2dlcnMgYWJvdXQgdGhlIG5ldyB0aHJlYWQKKyAgICAvLyBOb3RpZnkgYW55IGRlYnVnZ2VycyBhYm91dCB0aGUgbmV3IHRocmVhZC4KICAgICBwdGhyZWFkX211dGV4X2xvY2soJmdEZWJ1Z2dlck5vdGlmaWNhdGlvbkxvY2spOwogICAgIF90aHJlYWRfY3JlYXRlZF9ob29rKHRpZCk7CiAgICAgcHRocmVhZF9tdXRleF91bmxvY2soJmdEZWJ1Z2dlck5vdGlmaWNhdGlvbkxvY2spOwogCi0gICAgLy8gTGV0IHRoZSB0aHJlYWQgZG8gaXQncyB0aGluZworICAgIC8vIExldCB0aGUgdGhyZWFkIHJ1bi4KICAgICBwdGhyZWFkX211dGV4X3VubG9jayhzdGFydF9tdXRleCk7CiAKLSAgICAqdGhyZWFkX291dCA9IChwdGhyZWFkX3QpdGhyZWFkOworICAgICp0aHJlYWRfb3V0ID0gKHB0aHJlYWRfdCkgdGhyZWFkOwogICAgIHJldHVybiAwOwogfQogCkBAIC01OTMsNiArNTc3LDE3IEBACiAgICAgICAgIF9wdGhyZWFkX2ludGVybmFsX3JlbW92ZSh0aHJlYWQpOwogICAgICAgICBfcHRocmVhZF9pbnRlcm5hbF9mcmVlKHRocmVhZCk7CiAgICAgfSBlbHNlIHsKKyAgICAgICAgcHRocmVhZF9tdXRleF9sb2NrKCZnVGhyZWFkTGlzdExvY2spOworCisgICAgICAgLyogbWFrZSBzdXJlIHRoYXQgdGhlIHRocmVhZCBzdHJ1Y3QgZG9lc24ndCBoYXZlIHN0YWxlIHBvaW50ZXJzIHRvIGEgc3RhY2sgdGhhdAorICAgICAgICAqIHdpbGwgYmUgdW5tYXBwZWQgYWZ0ZXIgdGhlIGV4aXQgY2FsbCBiZWxvdy4KKyAgICAgICAgKi8KKyAgICAgICAgaWYgKCF1c2VyX3N0YWNrKSB7CisgICAgICAgICAgICB0aHJlYWQtPmF0dHIuc3RhY2tfYmFzZSA9IE5VTEw7CisgICAgICAgICAgICB0aHJlYWQtPmF0dHIuc3RhY2tfc2l6ZSA9IDA7CisgICAgICAgICAgICB0aHJlYWQtPnRscyA9IE5VTEw7CisgICAgICAgIH0KKwogICAgICAgIC8qIHRoZSBqb2luX2NvdW50IGZpZWxkIGlzIHVzZWQgdG8gc3RvcmUgdGhlIG51bWJlciBvZiB0aHJlYWRzIHdhaXRpbmcgZm9yCiAgICAgICAgICogdGhlIHRlcm1pbmF0aW9uIG9mIHRoaXMgdGhyZWFkIHdpdGggcHRocmVhZF9qb2luKCksCiAgICAgICAgICoKQEAgLTYwNSw3ICs2MDAsNiBAQAogICAgICAgICAqIGlzIGdvbmUgKGFzIHdlbGwgYXMgaXRzIFRMUyBhcmVhKS4gd2hlbiBhbm90aGVyIHRocmVhZCBjYWxscyBwdGhyZWFkX2pvaW4oKQogICAgICAgICAqIG9uIGl0LCBpdCB3aWxsIGltbWVkaWF0ZWx5IGZyZWUgdGhlIHRocmVhZCBhbmQgcmV0dXJuLgogICAgICAgICAqLwotICAgICAgICBwdGhyZWFkX211dGV4X2xvY2soJmdUaHJlYWRMaXN0TG9jayk7CiAgICAgICAgIHRocmVhZC0+cmV0dXJuX3ZhbHVlID0gcmV0dmFsOwogICAgICAgICBpZiAodGhyZWFkLT5qb2luX2NvdW50ID4gMCkgewogICAgICAgICAgICAgcHRocmVhZF9jb25kX2Jyb2FkY2FzdCgmdGhyZWFkLT5qb2luX2NvbmQpOwpAQCAtMTk1OCw3ICsxOTUyLDkgQEAKICAgICAgICAgICogc2ltaWxhcmx5LCBpdCBpcyBwb3NzaWJsZSB0byBoYXZlIHRoci0+dGxzID09IE5VTEwgZm9yIHRocmVhZHMgdGhhdAogICAgICAgICAgKiB3ZXJlIGp1c3QgcmVjZW50bHkgY3JlYXRlZCB0aHJvdWdoIHB0aHJlYWRfY3JlYXRlKCkgYnV0IHdob3NlCiAgICAgICAgICAqIHN0YXJ0dXAgdHJhbXBvbGluZSAoX190aHJlYWRfZW50cnkpIGhhc24ndCBiZWVuIHJ1biB5ZXQgYnkgdGhlCi0gICAgICAgICAqIHNjaGVkdWxlci4gc28gY2hlY2sgZm9yIHRoaXMgdG9vLgorICAgICAgICAgKiBzY2hlZHVsZXIuIHRoci0+dGxzIHdpbGwgYWxzbyBiZSBOVUxMIGFmdGVyIGl0J3Mgc3RhY2sgaGFzIGJlZW4KKyAgICAgICAgICogdW5tYXBwZWQgYnV0IGJlZm9yZSB0aGUgb25nb2luZyBwdGhyZWFkX2pvaW4oKSBpcyBmaW5pc2hlZC4KKyAgICAgICAgICogc28gY2hlY2sgZm9yIHRoaXMgdG9vLgogICAgICAgICAgKi8KICAgICAgICAgaWYgKHRoci0+am9pbl9jb3VudCA8IDAgfHwgIXRoci0+dGxzKQogICAgICAgICAgICAgY29udGludWU7CmRpZmYgLS1naXQgYS9saWJjL2Jpb25pYy9wdGhyZWFkX2ludGVybmFsLmggYi9saWJjL2Jpb25pYy9wdGhyZWFkX2ludGVybmFsLmgKaW5kZXggMjY4Y2FjZi4uMmJkMTEwYyAxMDA2NDQKLS0tIGEvbGliYy9iaW9uaWMvcHRocmVhZF9pbnRlcm5hbC5oCisrKyBiL2xpYmMvYmlvbmljL3B0aHJlYWRfaW50ZXJuYWwuaApAQCAtNDEsMTIgKzQxLDEyIEBACiAgICAgcHRocmVhZF9jb25kX3QgICAgICAgICAgICAgIGpvaW5fY29uZDsKICAgICBpbnQgICAgICAgICAgICAgICAgICAgICAgICAgam9pbl9jb3VudDsKICAgICB2b2lkKiAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuX3ZhbHVlOwotICAgIGludCAgICAgICAgICAgICAgICAgICAgICAgICBpbnRlcm47CisgICAgaW50ICAgICAgICAgICAgICAgICAgICAgICAgIGludGVybmFsX2ZsYWdzOwogICAgIF9fcHRocmVhZF9jbGVhbnVwX3QqICAgICAgICBjbGVhbnVwX3N0YWNrOwogICAgIHZvaWQqKiAgICAgICAgICAgICAgICAgICAgICB0bHM7ICAgICAgICAgLyogdGhyZWFkLWxvY2FsIHN0b3JhZ2UgYXJlYSAqLwogfSBwdGhyZWFkX2ludGVybmFsX3Q7CiAKLWV4dGVybiB2b2lkIF9pbml0X3RocmVhZChwdGhyZWFkX2ludGVybmFsX3QgKiB0aHJlYWQsIHBpZF90IGtlcm5lbF9pZCwgcHRocmVhZF9hdHRyX3QgKiBhdHRyLCB2b2lkICogc3RhY2tfYmFzZSk7CitleHRlcm4gaW50IF9pbml0X3RocmVhZChwdGhyZWFkX2ludGVybmFsX3QgKiB0aHJlYWQsIHBpZF90IGtlcm5lbF9pZCwgcHRocmVhZF9hdHRyX3QgKiBhdHRyLCB2b2lkICogc3RhY2tfYmFzZSk7CiB2b2lkIF9wdGhyZWFkX2ludGVybmFsX2FkZCggcHRocmVhZF9pbnRlcm5hbF90KiAgdGhyZWFkICk7CiBwdGhyZWFkX2ludGVybmFsX3QqIF9fZ2V0X3RocmVhZCh2b2lkKTsKIApkaWZmIC0tZ2l0IGEvbGliYy9pbmNsdWRlL3N5cy9saW51eC1zeXNjYWxscy5oIGIvbGliYy9pbmNsdWRlL3N5cy9saW51eC1zeXNjYWxscy5oCmluZGV4IGQwOWU5NTUuLmM4YTY1NGMgMTAwNjQ0Ci0tLSBhL2xpYmMvaW5jbHVkZS9zeXMvbGludXgtc3lzY2FsbHMuaAorKysgYi9saWJjL2luY2x1ZGUvc3lzL2xpbnV4LXN5c2NhbGxzLmgKQEAgLTEsMTcgKzEsOTQgQEAKIC8qIGF1dG8tZ2VuZXJhdGVkIGJ5IGdlbnN5c2NhbGxzLnB5LCBkbyBub3QgdG91Y2ggKi8KICNpZm5kZWYgX0JJT05JQ19MSU5VWF9TWVNDQUxMU19IXworI2RlZmluZSBfQklPTklDX0xJTlVYX1NZU0NBTExTX0hfCiAKLSNpZiAhZGVmaW5lZCBfX0FTTV9BUk1fVU5JU1REX0ggJiYgIWRlZmluZWQgX19BU01fSTM4Nl9VTklTVERfSAorI2lmICFkZWZpbmVkIF9fQVNNX0FSTV9VTklTVERfSCAmJiAhZGVmaW5lZCBfX0FTTV9JMzg2X1VOSVNURF9IICYmICFkZWZpbmVkIF9fQVNNX01JUFNfVU5JU1REX0gKICNpZiBkZWZpbmVkIF9fYXJtX18gJiYgIWRlZmluZWQgX19BUk1fRUFCSV9fICYmICFkZWZpbmVkIF9fdGh1bWJfXwotICAjICBkZWZpbmUgX19OUl9TWVNDQUxMX0JBU0UgIDB4OTAwMDAwCi0gICNlbHNlCi0gICMgIGRlZmluZSAgX19OUl9TWVNDQUxMX0JBU0UgIDAKLSAgI2VuZGlmCisgICMgIGRlZmluZSBfX05SX1NZU0NBTExfQkFTRSAweDkwMDAwMAorI2VsaWYgZGVmaW5lZChfX21pcHNfXykKKyAgIyAgZGVmaW5lIF9fTlJfU1lTQ0FMTF9CQVNFIDQwMDAKKyNlbHNlCisgICMgIGRlZmluZSBfX05SX1NZU0NBTExfQkFTRSAwCisjZW5kaWYKIAogI2RlZmluZSBfX05SX2V4aXQgICAgICAgICAgICAgICAgICAgICAgICAgKF9fTlJfU1lTQ0FMTF9CQVNFICsgMSkKICNkZWZpbmUgX19OUl9mb3JrICAgICAgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDIpCi0jZGVmaW5lIF9fTlJfY2xvbmUgICAgICAgICAgICAgICAgICAgICAgICAoX19OUl9TWVNDQUxMX0JBU0UgKyAxMjApCisjZGVmaW5lIF9fTlJfcmVhZCAgICAgICAgICAgICAgICAgICAgICAgICAoX19OUl9TWVNDQUxMX0JBU0UgKyAzKQorI2RlZmluZSBfX05SX3dyaXRlICAgICAgICAgICAgICAgICAgICAgICAgKF9fTlJfU1lTQ0FMTF9CQVNFICsgNCkKKyNkZWZpbmUgX19OUl9vcGVuICAgICAgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDUpCisjZGVmaW5lIF9fTlJfY2xvc2UgICAgICAgICAgICAgICAgICAgICAgICAoX19OUl9TWVNDQUxMX0JBU0UgKyA2KQorI2RlZmluZSBfX05SX2xpbmsgICAgICAgICAgICAgICAgICAgICAgICAgKF9fTlJfU1lTQ0FMTF9CQVNFICsgOSkKKyNkZWZpbmUgX19OUl91bmxpbmsgICAgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDEwKQogI2RlZmluZSBfX05SX2V4ZWN2ZSAgICAgICAgICAgICAgICAgICAgICAgKF9fTlJfU1lTQ0FMTF9CQVNFICsgMTEpCisjZGVmaW5lIF9fTlJfY2hkaXIgICAgICAgICAgICAgICAgICAgICAgICAoX19OUl9TWVNDQUxMX0JBU0UgKyAxMikKKyNkZWZpbmUgX19OUl9ta25vZCAgICAgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDE0KQorI2RlZmluZSBfX05SX2NobW9kICAgICAgICAgICAgICAgICAgICAgICAgKF9fTlJfU1lTQ0FMTF9CQVNFICsgMTUpCisjZGVmaW5lIF9fTlJfbHNlZWsgICAgICAgICAgICAgICAgICAgICAgICAoX19OUl9TWVNDQUxMX0JBU0UgKyAxOSkKKyNkZWZpbmUgX19OUl9nZXRwaWQgICAgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDIwKQorI2RlZmluZSBfX05SX21vdW50ICAgICAgICAgICAgICAgICAgICAgICAgKF9fTlJfU1lTQ0FMTF9CQVNFICsgMjEpCisjZGVmaW5lIF9fTlJfcHRyYWNlICAgICAgICAgICAgICAgICAgICAgICAoX19OUl9TWVNDQUxMX0JBU0UgKyAyNikKKyNkZWZpbmUgX19OUl9wYXVzZSAgICAgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDI5KQorI2RlZmluZSBfX05SX2FjY2VzcyAgICAgICAgICAgICAgICAgICAgICAgKF9fTlJfU1lTQ0FMTF9CQVNFICsgMzMpCisjZGVmaW5lIF9fTlJfc3luYyAgICAgICAgICAgICAgICAgICAgICAgICAoX19OUl9TWVNDQUxMX0JBU0UgKyAzNikKKyNkZWZpbmUgX19OUl9yZW5hbWUgICAgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDM4KQorI2RlZmluZSBfX05SX21rZGlyICAgICAgICAgICAgICAgICAgICAgICAgKF9fTlJfU1lTQ0FMTF9CQVNFICsgMzkpCisjZGVmaW5lIF9fTlJfcm1kaXIgICAgICAgICAgICAgICAgICAgICAgICAoX19OUl9TWVNDQUxMX0JBU0UgKyA0MCkKKyNkZWZpbmUgX19OUl9kdXAgICAgICAgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDQxKQorI2RlZmluZSBfX05SX3RpbWVzICAgICAgICAgICAgICAgICAgICAgICAgKF9fTlJfU1lTQ0FMTF9CQVNFICsgNDMpCisjZGVmaW5lIF9fTlJfYnJrICAgICAgICAgICAgICAgICAgICAgICAgICAoX19OUl9TWVNDQUxMX0JBU0UgKyA0NSkKKyNkZWZpbmUgX19OUl9hY2N0ICAgICAgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDUxKQorI2RlZmluZSBfX05SX3Vtb3VudDIgICAgICAgICAgICAgICAgICAgICAgKF9fTlJfU1lTQ0FMTF9CQVNFICsgNTIpCisjZGVmaW5lIF9fTlJfaW9jdGwgICAgICAgICAgICAgICAgICAgICAgICAoX19OUl9TWVNDQUxMX0JBU0UgKyA1NCkKKyNkZWZpbmUgX19OUl9mY250bCAgICAgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDU1KQorI2RlZmluZSBfX05SX3NldHBnaWQgICAgICAgICAgICAgICAgICAgICAgKF9fTlJfU1lTQ0FMTF9CQVNFICsgNTcpCisjZGVmaW5lIF9fTlJfdW1hc2sgICAgICAgICAgICAgICAgICAgICAgICAoX19OUl9TWVNDQUxMX0JBU0UgKyA2MCkKKyNkZWZpbmUgX19OUl9jaHJvb3QgICAgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDYxKQorI2RlZmluZSBfX05SX2R1cDIgICAgICAgICAgICAgICAgICAgICAgICAgKF9fTlJfU1lTQ0FMTF9CQVNFICsgNjMpCisjZGVmaW5lIF9fTlJfZ2V0cHBpZCAgICAgICAgICAgICAgICAgICAgICAoX19OUl9TWVNDQUxMX0JBU0UgKyA2NCkKKyNkZWZpbmUgX19OUl9zZXRzaWQgICAgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDY2KQorI2RlZmluZSBfX05SX3NpZ2FjdGlvbiAgICAgICAgICAgICAgICAgICAgKF9fTlJfU1lTQ0FMTF9CQVNFICsgNjcpCisjZGVmaW5lIF9fTlJfc2lnc3VzcGVuZCAgICAgICAgICAgICAgICAgICAoX19OUl9TWVNDQUxMX0JBU0UgKyA3MikKKyNkZWZpbmUgX19OUl9zaWdwZW5kaW5nICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDczKQorI2RlZmluZSBfX05SX3NldHJsaW1pdCAgICAgICAgICAgICAgICAgICAgKF9fTlJfU1lTQ0FMTF9CQVNFICsgNzUpCisjZGVmaW5lIF9fTlJfZ2V0cnVzYWdlICAgICAgICAgICAgICAgICAgICAoX19OUl9TWVNDQUxMX0JBU0UgKyA3NykKKyNkZWZpbmUgX19OUl9nZXR0aW1lb2ZkYXkgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDc4KQorI2RlZmluZSBfX05SX3NldHRpbWVvZmRheSAgICAgICAgICAgICAgICAgKF9fTlJfU1lTQ0FMTF9CQVNFICsgNzkpCisjZGVmaW5lIF9fTlJfc3ltbGluayAgICAgICAgICAgICAgICAgICAgICAoX19OUl9TWVNDQUxMX0JBU0UgKyA4MykKKyNkZWZpbmUgX19OUl9yZWFkbGluayAgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDg1KQorI2RlZmluZSBfX05SX3JlYm9vdCAgICAgICAgICAgICAgICAgICAgICAgKF9fTlJfU1lTQ0FMTF9CQVNFICsgODgpCisjZGVmaW5lIF9fTlJfbXVubWFwICAgICAgICAgICAgICAgICAgICAgICAoX19OUl9TWVNDQUxMX0JBU0UgKyA5MSkKKyNkZWZpbmUgX19OUl90cnVuY2F0ZSAgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDkyKQorI2RlZmluZSBfX05SX2Z0cnVuY2F0ZSAgICAgICAgICAgICAgICAgICAgKF9fTlJfU1lTQ0FMTF9CQVNFICsgOTMpCisjZGVmaW5lIF9fTlJfZmNobW9kICAgICAgICAgICAgICAgICAgICAgICAoX19OUl9TWVNDQUxMX0JBU0UgKyA5NCkKKyNkZWZpbmUgX19OUl9nZXRwcmlvcml0eSAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDk2KQorI2RlZmluZSBfX05SX3NldHByaW9yaXR5ICAgICAgICAgICAgICAgICAgKF9fTlJfU1lTQ0FMTF9CQVNFICsgOTcpCisjZGVmaW5lIF9fTlJfc3lzbG9nICAgICAgICAgICAgICAgICAgICAgICAoX19OUl9TWVNDQUxMX0JBU0UgKyAxMDMpCisjZGVmaW5lIF9fTlJfc3lzbG9nICAgICAgICAgICAgICAgICAgICAgICAoX19OUl9TWVNDQUxMX0JBU0UgKyAxMDMpCisjZGVmaW5lIF9fTlJfc2V0aXRpbWVyICAgICAgICAgICAgICAgICAgICAoX19OUl9TWVNDQUxMX0JBU0UgKyAxMDQpCisjZGVmaW5lIF9fTlJfZ2V0aXRpbWVyICAgICAgICAgICAgICAgICAgICAoX19OUl9TWVNDQUxMX0JBU0UgKyAxMDUpCisjZGVmaW5lIF9fTlJfd2FpdDQgICAgICAgICAgICAgICAgICAgICAgICAoX19OUl9TWVNDQUxMX0JBU0UgKyAxMTQpCisjZGVmaW5lIF9fTlJfc3lzaW5mbyAgICAgICAgICAgICAgICAgICAgICAoX19OUl9TWVNDQUxMX0JBU0UgKyAxMTYpCisjZGVmaW5lIF9fTlJfZnN5bmMgICAgICAgICAgICAgICAgICAgICAgICAoX19OUl9TWVNDQUxMX0JBU0UgKyAxMTgpCisjZGVmaW5lIF9fTlJfY2xvbmUgICAgICAgICAgICAgICAgICAgICAgICAoX19OUl9TWVNDQUxMX0JBU0UgKyAxMjApCisjZGVmaW5lIF9fTlJfdW5hbWUgICAgICAgICAgICAgICAgICAgICAgICAoX19OUl9TWVNDQUxMX0JBU0UgKyAxMjIpCisjZGVmaW5lIF9fTlJfbXByb3RlY3QgICAgICAgICAgICAgICAgICAgICAoX19OUl9TWVNDQUxMX0JBU0UgKyAxMjUpCisjZGVmaW5lIF9fTlJfc2lncHJvY21hc2sgICAgICAgICAgICAgICAgICAoX19OUl9TWVNDQUxMX0JBU0UgKyAxMjYpCisjZGVmaW5lIF9fTlJfaW5pdF9tb2R1bGUgICAgICAgICAgICAgICAgICAoX19OUl9TWVNDQUxMX0JBU0UgKyAxMjgpCisjZGVmaW5lIF9fTlJfZGVsZXRlX21vZHVsZSAgICAgICAgICAgICAgICAoX19OUl9TWVNDQUxMX0JBU0UgKyAxMjkpCisjZGVmaW5lIF9fTlJfZ2V0cGdpZCAgICAgICAgICAgICAgICAgICAgICAoX19OUl9TWVNDQUxMX0JBU0UgKyAxMzIpCisjZGVmaW5lIF9fTlJfZmNoZGlyICAgICAgICAgICAgICAgICAgICAgICAoX19OUl9TWVNDQUxMX0JBU0UgKyAxMzMpCisjZGVmaW5lIF9fTlJfcGVyc29uYWxpdHkgICAgICAgICAgICAgICAgICAoX19OUl9TWVNDQUxMX0JBU0UgKyAxMzYpCisjZGVmaW5lIF9fTlJfX2xsc2VlayAgICAgICAgICAgICAgICAgICAgICAoX19OUl9TWVNDQUxMX0JBU0UgKyAxNDApCisjZGVmaW5lIF9fTlJfX25ld3NlbGVjdCAgICAgICAgICAgICAgICAgICAoX19OUl9TWVNDQUxMX0JBU0UgKyAxNDIpCisjZGVmaW5lIF9fTlJfZmxvY2sgICAgICAgICAgICAgICAgICAgICAgICAoX19OUl9TWVNDQUxMX0JBU0UgKyAxNDMpCisjZGVmaW5lIF9fTlJfbXN5bmMgICAgICAgICAgICAgICAgICAgICAgICAoX19OUl9TWVNDQUxMX0JBU0UgKyAxNDQpCisjZGVmaW5lIF9fTlJfcmVhZHYgICAgICAgICAgICAgICAgICAgICAgICAoX19OUl9TWVNDQUxMX0JBU0UgKyAxNDUpCisjZGVmaW5lIF9fTlJfd3JpdGV2ICAgICAgICAgICAgICAgICAgICAgICAoX19OUl9TWVNDQUxMX0JBU0UgKyAxNDYpCisjZGVmaW5lIF9fTlJfcGVyZl9ldmVudF9vcGVuICAgICAgICAgICAgICAoX19OUl9TWVNDQUxMX0JBU0UgKyAzNjQpCisKKyNpZmRlZiBfX2FybV9fCisjZGVmaW5lIF9fTlJfZXhpdF9ncm91cCAgICAgICAgICAgICAgICAgICAoX19OUl9TWVNDQUxMX0JBU0UgKyAyNDgpCisjZGVmaW5lIF9fTlJfd2FpdGlkICAgICAgICAgICAgICAgICAgICAgICAoX19OUl9TWVNDQUxMX0JBU0UgKyAyODApCiAjZGVmaW5lIF9fTlJfc2V0dWlkMzIgICAgICAgICAgICAgICAgICAgICAoX19OUl9TWVNDQUxMX0JBU0UgKyAyMTMpCiAjZGVmaW5lIF9fTlJfZ2V0dWlkMzIgICAgICAgICAgICAgICAgICAgICAoX19OUl9TWVNDQUxMX0JBU0UgKyAxOTkpCiAjZGVmaW5lIF9fTlJfZ2V0Z2lkMzIgICAgICAgICAgICAgICAgICAgICAoX19OUl9TWVNDQUxMX0JBU0UgKyAyMDApCkBAIC0yMiw4OCArOTksNTMgQEAKICNkZWZpbmUgX19OUl9nZXR0aWQgICAgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDIyNCkKICNkZWZpbmUgX19OUl9yZWFkYWhlYWQgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDIyNSkKICNkZWZpbmUgX19OUl9nZXRncm91cHMzMiAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDIwNSkKLSNkZWZpbmUgX19OUl9nZXRwZ2lkICAgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDEzMikKLSNkZWZpbmUgX19OUl9nZXRwcGlkICAgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDY0KQotI2RlZmluZSBfX05SX3NldHNpZCAgICAgICAgICAgICAgICAgICAgICAgKF9fTlJfU1lTQ0FMTF9CQVNFICsgNjYpCiAjZGVmaW5lIF9fTlJfc2V0Z2lkMzIgICAgICAgICAgICAgICAgICAgICAoX19OUl9TWVNDQUxMX0JBU0UgKyAyMTQpCiAjZGVmaW5lIF9fTlJfc2V0cmV1aWQzMiAgICAgICAgICAgICAgICAgICAoX19OUl9TWVNDQUxMX0JBU0UgKyAyMDMpCiAjZGVmaW5lIF9fTlJfc2V0cmVzdWlkMzIgICAgICAgICAgICAgICAgICAoX19OUl9TWVNDQUxMX0JBU0UgKyAyMDgpCiAjZGVmaW5lIF9fTlJfc2V0cmVzZ2lkMzIgICAgICAgICAgICAgICAgICAoX19OUl9TWVNDQUxMX0JBU0UgKyAyMTApCi0jZGVmaW5lIF9fTlJfYnJrICAgICAgICAgICAgICAgICAgICAgICAgICAoX19OUl9TWVNDQUxMX0JBU0UgKyA0NSkKLSNkZWZpbmUgX19OUl9wdHJhY2UgICAgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDI2KQotI2RlZmluZSBfX05SX2dldHByaW9yaXR5ICAgICAgICAgICAgICAgICAgKF9fTlJfU1lTQ0FMTF9CQVNFICsgOTYpCi0jZGVmaW5lIF9fTlJfc2V0cHJpb3JpdHkgICAgICAgICAgICAgICAgICAoX19OUl9TWVNDQUxMX0JBU0UgKyA5NykKLSNkZWZpbmUgX19OUl9zZXRybGltaXQgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDc1KQogI2RlZmluZSBfX05SX3VnZXRybGltaXQgICAgICAgICAgICAgICAgICAgKF9fTlJfU1lTQ0FMTF9CQVNFICsgMTkxKQotI2RlZmluZSBfX05SX2dldHJ1c2FnZSAgICAgICAgICAgICAgICAgICAgKF9fTlJfU1lTQ0FMTF9CQVNFICsgNzcpCiAjZGVmaW5lIF9fTlJfc2V0Z3JvdXBzMzIgICAgICAgICAgICAgICAgICAoX19OUl9TWVNDQUxMX0JBU0UgKyAyMDYpCi0jZGVmaW5lIF9fTlJfc2V0cGdpZCAgICAgICAgICAgICAgICAgICAgICAoX19OUl9TWVNDQUxMX0JBU0UgKyA1NykKKyNkZWZpbmUgX19OUl92Zm9yayAgICAgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDE5MCkKICNkZWZpbmUgX19OUl9zZXRyZWdpZDMyICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDIwNCkKLSNkZWZpbmUgX19OUl9jaHJvb3QgICAgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDYxKQogI2RlZmluZSBfX05SX3ByY3RsICAgICAgICAgICAgICAgICAgICAgICAgKF9fTlJfU1lTQ0FMTF9CQVNFICsgMTcyKQogI2RlZmluZSBfX05SX2NhcGdldCAgICAgICAgICAgICAgICAgICAgICAgKF9fTlJfU1lTQ0FMTF9CQVNFICsgMTg0KQogI2RlZmluZSBfX05SX2NhcHNldCAgICAgICAgICAgICAgICAgICAgICAgKF9fTlJfU1lTQ0FMTF9CQVNFICsgMTg1KQogI2RlZmluZSBfX05SX3NpZ2FsdHN0YWNrICAgICAgICAgICAgICAgICAgKF9fTlJfU1lTQ0FMTF9CQVNFICsgMTg2KQotI2RlZmluZSBfX05SX2FjY3QgICAgICAgICAgICAgICAgICAgICAgICAgKF9fTlJfU1lTQ0FMTF9CQVNFICsgNTEpCi0jZGVmaW5lIF9fTlJfcmVhZCAgICAgICAgICAgICAgICAgICAgICAgICAoX19OUl9TWVNDQUxMX0JBU0UgKyAzKQotI2RlZmluZSBfX05SX3dyaXRlICAgICAgICAgICAgICAgICAgICAgICAgKF9fTlJfU1lTQ0FMTF9CQVNFICsgNCkKICNkZWZpbmUgX19OUl9wcmVhZDY0ICAgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDE4MCkKICNkZWZpbmUgX19OUl9wd3JpdGU2NCAgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDE4MSkKLSNkZWZpbmUgX19OUl9vcGVuICAgICAgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDUpCi0jZGVmaW5lIF9fTlJfY2xvc2UgICAgICAgICAgICAgICAgICAgICAgICAoX19OUl9TWVNDQUxMX0JBU0UgKyA2KQotI2RlZmluZSBfX05SX2xzZWVrICAgICAgICAgICAgICAgICAgICAgICAgKF9fTlJfU1lTQ0FMTF9CQVNFICsgMTkpCi0jZGVmaW5lIF9fTlJfX2xsc2VlayAgICAgICAgICAgICAgICAgICAgICAoX19OUl9TWVNDQUxMX0JBU0UgKyAxNDApCi0jZGVmaW5lIF9fTlJfZ2V0cGlkICAgICAgICAgICAgICAgICAgICAgICAoX19OUl9TWVNDQUxMX0JBU0UgKyAyMCkKKyNkZWZpbmUgX19OUl9vcGVuYXQgICAgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDMyMikKICNkZWZpbmUgX19OUl9tbWFwMiAgICAgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDE5MikKLSNkZWZpbmUgX19OUl9tdW5tYXAgICAgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDkxKQogI2RlZmluZSBfX05SX21yZW1hcCAgICAgICAgICAgICAgICAgICAgICAgKF9fTlJfU1lTQ0FMTF9CQVNFICsgMTYzKQotI2RlZmluZSBfX05SX21zeW5jICAgICAgICAgICAgICAgICAgICAgICAgKF9fTlJfU1lTQ0FMTF9CQVNFICsgMTQ0KQotI2RlZmluZSBfX05SX21wcm90ZWN0ICAgICAgICAgICAgICAgICAgICAgKF9fTlJfU1lTQ0FMTF9CQVNFICsgMTI1KQorI2RlZmluZSBfX05SX21hZHZpc2UgICAgICAgICAgICAgICAgICAgICAgKF9fTlJfU1lTQ0FMTF9CQVNFICsgMjIwKQogI2RlZmluZSBfX05SX21sb2NrICAgICAgICAgICAgICAgICAgICAgICAgKF9fTlJfU1lTQ0FMTF9CQVNFICsgMTUwKQogI2RlZmluZSBfX05SX211bmxvY2sgICAgICAgICAgICAgICAgICAgICAgKF9fTlJfU1lTQ0FMTF9CQVNFICsgMTUxKQotI2RlZmluZSBfX05SX2lvY3RsICAgICAgICAgICAgICAgICAgICAgICAgKF9fTlJfU1lTQ0FMTF9CQVNFICsgNTQpCi0jZGVmaW5lIF9fTlJfcmVhZHYgICAgICAgICAgICAgICAgICAgICAgICAoX19OUl9TWVNDQUxMX0JBU0UgKyAxNDUpCi0jZGVmaW5lIF9fTlJfd3JpdGV2ICAgICAgICAgICAgICAgICAgICAgICAoX19OUl9TWVNDQUxMX0JBU0UgKyAxNDYpCi0jZGVmaW5lIF9fTlJfZmNudGwgICAgICAgICAgICAgICAgICAgICAgICAoX19OUl9TWVNDQUxMX0JBU0UgKyA1NSkKLSNkZWZpbmUgX19OUl9mbG9jayAgICAgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDE0MykKLSNkZWZpbmUgX19OUl9mY2htb2QgICAgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDk0KQotI2RlZmluZSBfX05SX2R1cCAgICAgICAgICAgICAgICAgICAgICAgICAgKF9fTlJfU1lTQ0FMTF9CQVNFICsgNDEpCisjZGVmaW5lIF9fTlJfbWluY29yZSAgICAgICAgICAgICAgICAgICAgICAoX19OUl9TWVNDQUxMX0JBU0UgKyAyMTkpCiAjZGVmaW5lIF9fTlJfcGlwZSAgICAgICAgICAgICAgICAgICAgICAgICAoX19OUl9TWVNDQUxMX0JBU0UgKyA0MikKLSNkZWZpbmUgX19OUl9kdXAyICAgICAgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDYzKQotI2RlZmluZSBfX05SX19uZXdzZWxlY3QgICAgICAgICAgICAgICAgICAgKF9fTlJfU1lTQ0FMTF9CQVNFICsgMTQyKQotI2RlZmluZSBfX05SX2Z0cnVuY2F0ZSAgICAgICAgICAgICAgICAgICAgKF9fTlJfU1lTQ0FMTF9CQVNFICsgOTMpCisjZGVmaW5lIF9fTlJfcGlwZTIgICAgICAgICAgICAgICAgICAgICAgICAoX19OUl9TWVNDQUxMX0JBU0UgKyAzNTkpCiAjZGVmaW5lIF9fTlJfZnRydW5jYXRlNjQgICAgICAgICAgICAgICAgICAoX19OUl9TWVNDQUxMX0JBU0UgKyAxOTQpCi0jZGVmaW5lIF9fTlJfZnN5bmMgICAgICAgICAgICAgICAgICAgICAgICAoX19OUl9TWVNDQUxMX0JBU0UgKyAxMTgpCisjZGVmaW5lIF9fTlJfZ2V0ZGVudHM2NCAgICAgICAgICAgICAgICAgICAoX19OUl9TWVNDQUxMX0JBU0UgKyAyMTcpCiAjZGVmaW5lIF9fTlJfZmRhdGFzeW5jICAgICAgICAgICAgICAgICAgICAoX19OUl9TWVNDQUxMX0JBU0UgKyAxNDgpCiAjZGVmaW5lIF9fTlJfZmNob3duMzIgICAgICAgICAgICAgICAgICAgICAoX19OUl9TWVNDQUxMX0JBU0UgKyAyMDcpCi0jZGVmaW5lIF9fTlJfc3luYyAgICAgICAgICAgICAgICAgICAgICAgICAoX19OUl9TWVNDQUxMX0JBU0UgKyAzNikKICNkZWZpbmUgX19OUl9mY250bDY0ICAgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDIyMSkKKyNkZWZpbmUgX19OUl9mc3RhdGZzNjQgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDI2NykKICNkZWZpbmUgX19OUl9zZW5kZmlsZSAgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDE4NykKKyNkZWZpbmUgX19OUl9mc3RhdGF0NjQgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDMyNykKKyNkZWZpbmUgX19OUl9ta2RpcmF0ICAgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDMyMykKKyNkZWZpbmUgX19OUl9mY2hvd25hdCAgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDMyNSkKKyNkZWZpbmUgX19OUl9mY2htb2RhdCAgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDMzMykKKyNkZWZpbmUgX19OUl9yZW5hbWVhdCAgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDMyOSkKICNkZWZpbmUgX19OUl9mc2V0eGF0dHIgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDIyOCkKICNkZWZpbmUgX19OUl9mZ2V0eGF0dHIgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDIzMSkKICNkZWZpbmUgX19OUl9mbGlzdHhhdHRyICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDIzNCkKICNkZWZpbmUgX19OUl9mcmVtb3ZleGF0dHIgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDIzNykKLSNkZWZpbmUgX19OUl9saW5rICAgICAgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDkpCi0jZGVmaW5lIF9fTlJfdW5saW5rICAgICAgICAgICAgICAgICAgICAgICAoX19OUl9TWVNDQUxMX0JBU0UgKyAxMCkKLSNkZWZpbmUgX19OUl9jaGRpciAgICAgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDEyKQotI2RlZmluZSBfX05SX21rbm9kICAgICAgICAgICAgICAgICAgICAgICAgKF9fTlJfU1lTQ0FMTF9CQVNFICsgMTQpCi0jZGVmaW5lIF9fTlJfY2htb2QgICAgICAgICAgICAgICAgICAgICAgICAoX19OUl9TWVNDQUxMX0JBU0UgKyAxNSkKKyNkZWZpbmUgX19OUl91bmxpbmthdCAgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDMyOCkKICNkZWZpbmUgX19OUl9jaG93bjMyICAgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDIxMikKICNkZWZpbmUgX19OUl9sY2hvd24zMiAgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDE5OCkKLSNkZWZpbmUgX19OUl9tb3VudCAgICAgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDIxKQotI2RlZmluZSBfX05SX3Vtb3VudDIgICAgICAgICAgICAgICAgICAgICAgKF9fTlJfU1lTQ0FMTF9CQVNFICsgNTIpCiAjZGVmaW5lIF9fTlJfZnN0YXQ2NCAgICAgICAgICAgICAgICAgICAgICAoX19OUl9TWVNDQUxMX0JBU0UgKyAxOTcpCiAjZGVmaW5lIF9fTlJfc3RhdDY0ICAgICAgICAgICAgICAgICAgICAgICAoX19OUl9TWVNDQUxMX0JBU0UgKyAxOTUpCiAjZGVmaW5lIF9fTlJfbHN0YXQ2NCAgICAgICAgICAgICAgICAgICAgICAoX19OUl9TWVNDQUxMX0JBU0UgKyAxOTYpCi0jZGVmaW5lIF9fTlJfbWtkaXIgICAgICAgICAgICAgICAgICAgICAgICAoX19OUl9TWVNDQUxMX0JBU0UgKyAzOSkKLSNkZWZpbmUgX19OUl9yZWFkbGluayAgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDg1KQotI2RlZmluZSBfX05SX3JtZGlyICAgICAgICAgICAgICAgICAgICAgICAgKF9fTlJfU1lTQ0FMTF9CQVNFICsgNDApCi0jZGVmaW5lIF9fTlJfcmVuYW1lICAgICAgICAgICAgICAgICAgICAgICAoX19OUl9TWVNDQUxMX0JBU0UgKyAzOCkKICNkZWZpbmUgX19OUl9nZXRjd2QgICAgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDE4MykKLSNkZWZpbmUgX19OUl9hY2Nlc3MgICAgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDMzKQotI2RlZmluZSBfX05SX3N5bWxpbmsgICAgICAgICAgICAgICAgICAgICAgKF9fTlJfU1lTQ0FMTF9CQVNFICsgODMpCi0jZGVmaW5lIF9fTlJfZmNoZGlyICAgICAgICAgICAgICAgICAgICAgICAoX19OUl9TWVNDQUxMX0JBU0UgKyAxMzMpCi0jZGVmaW5lIF9fTlJfdHJ1bmNhdGUgICAgICAgICAgICAgICAgICAgICAoX19OUl9TWVNDQUxMX0JBU0UgKyA5MikKKyNkZWZpbmUgX19OUl9mYWNjZXNzYXQgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDMzNCkKICNkZWZpbmUgX19OUl9zZXR4YXR0ciAgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDIyNikKICNkZWZpbmUgX19OUl9sc2V0eGF0dHIgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDIyNykKICNkZWZpbmUgX19OUl9nZXR4YXR0ciAgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDIyOSkKQEAgLTExMiw2MiArMTU0LDggQEAKICNkZWZpbmUgX19OUl9sbGlzdHhhdHRyICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDIzMykKICNkZWZpbmUgX19OUl9yZW1vdmV4YXR0ciAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDIzNSkKICNkZWZpbmUgX19OUl9scmVtb3ZleGF0dHIgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDIzNikKLSNkZWZpbmUgX19OUl9wYXVzZSAgICAgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDI5KQotI2RlZmluZSBfX05SX2dldHRpbWVvZmRheSAgICAgICAgICAgICAgICAgKF9fTlJfU1lTQ0FMTF9CQVNFICsgNzgpCi0jZGVmaW5lIF9fTlJfc2V0dGltZW9mZGF5ICAgICAgICAgICAgICAgICAoX19OUl9TWVNDQUxMX0JBU0UgKyA3OSkKLSNkZWZpbmUgX19OUl90aW1lcyAgICAgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDQzKQotI2RlZmluZSBfX05SX25hbm9zbGVlcCAgICAgICAgICAgICAgICAgICAgKF9fTlJfU1lTQ0FMTF9CQVNFICsgMTYyKQotI2RlZmluZSBfX05SX2dldGl0aW1lciAgICAgICAgICAgICAgICAgICAgKF9fTlJfU1lTQ0FMTF9CQVNFICsgMTA1KQotI2RlZmluZSBfX05SX3NldGl0aW1lciAgICAgICAgICAgICAgICAgICAgKF9fTlJfU1lTQ0FMTF9CQVNFICsgMTA0KQotI2RlZmluZSBfX05SX3NpZ2FjdGlvbiAgICAgICAgICAgICAgICAgICAgKF9fTlJfU1lTQ0FMTF9CQVNFICsgNjcpCi0jZGVmaW5lIF9fTlJfc2lncHJvY21hc2sgICAgICAgICAgICAgICAgICAoX19OUl9TWVNDQUxMX0JBU0UgKyAxMjYpCi0jZGVmaW5lIF9fTlJfc2lnc3VzcGVuZCAgICAgICAgICAgICAgICAgICAoX19OUl9TWVNDQUxMX0JBU0UgKyA3MikKLSNkZWZpbmUgX19OUl9ydF9zaWdhY3Rpb24gICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDE3NCkKLSNkZWZpbmUgX19OUl9ydF9zaWdwcm9jbWFzayAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDE3NSkKLSNkZWZpbmUgX19OUl9ydF9zaWd0aW1lZHdhaXQgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDE3NykKLSNkZWZpbmUgX19OUl9zaWdwZW5kaW5nICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDczKQotI2RlZmluZSBfX05SX3NjaGVkX3NldHNjaGVkdWxlciAgICAgICAgICAgKF9fTlJfU1lTQ0FMTF9CQVNFICsgMTU2KQotI2RlZmluZSBfX05SX3NjaGVkX2dldHNjaGVkdWxlciAgICAgICAgICAgKF9fTlJfU1lTQ0FMTF9CQVNFICsgMTU3KQotI2RlZmluZSBfX05SX3NjaGVkX3lpZWxkICAgICAgICAgICAgICAgICAgKF9fTlJfU1lTQ0FMTF9CQVNFICsgMTU4KQotI2RlZmluZSBfX05SX3NjaGVkX3NldHBhcmFtICAgICAgICAgICAgICAgKF9fTlJfU1lTQ0FMTF9CQVNFICsgMTU0KQotI2RlZmluZSBfX05SX3NjaGVkX2dldHBhcmFtICAgICAgICAgICAgICAgKF9fTlJfU1lTQ0FMTF9CQVNFICsgMTU1KQotI2RlZmluZSBfX05SX3NjaGVkX2dldF9wcmlvcml0eV9tYXggICAgICAgKF9fTlJfU1lTQ0FMTF9CQVNFICsgMTU5KQotI2RlZmluZSBfX05SX3NjaGVkX2dldF9wcmlvcml0eV9taW4gICAgICAgKF9fTlJfU1lTQ0FMTF9CQVNFICsgMTYwKQotI2RlZmluZSBfX05SX3NjaGVkX3JyX2dldF9pbnRlcnZhbCAgICAgICAgKF9fTlJfU1lTQ0FMTF9CQVNFICsgMTYxKQotI2RlZmluZSBfX05SX3NjaGVkX3NldGFmZmluaXR5ICAgICAgICAgICAgKF9fTlJfU1lTQ0FMTF9CQVNFICsgMjQxKQotI2RlZmluZSBfX05SX3NjaGVkX2dldGFmZmluaXR5ICAgICAgICAgICAgKF9fTlJfU1lTQ0FMTF9CQVNFICsgMjQyKQotI2RlZmluZSBfX05SX3VuYW1lICAgICAgICAgICAgICAgICAgICAgICAgKF9fTlJfU1lTQ0FMTF9CQVNFICsgMTIyKQotI2RlZmluZSBfX05SX3dhaXQ0ICAgICAgICAgICAgICAgICAgICAgICAgKF9fTlJfU1lTQ0FMTF9CQVNFICsgMTE0KQotI2RlZmluZSBfX05SX3VtYXNrICAgICAgICAgICAgICAgICAgICAgICAgKF9fTlJfU1lTQ0FMTF9CQVNFICsgNjApCi0jZGVmaW5lIF9fTlJfcmVib290ICAgICAgICAgICAgICAgICAgICAgICAoX19OUl9TWVNDQUxMX0JBU0UgKyA4OCkKLSNkZWZpbmUgX19OUl9zeXNsb2cgICAgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDEwMykKLSNkZWZpbmUgX19OUl9pbml0X21vZHVsZSAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDEyOCkKLSNkZWZpbmUgX19OUl9kZWxldGVfbW9kdWxlICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDEyOSkKLSNkZWZpbmUgX19OUl9zeXNsb2cgICAgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDEwMykKLSNkZWZpbmUgX19OUl9zeXNpbmZvICAgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDExNikKLSNkZWZpbmUgX19OUl9wZXJzb25hbGl0eSAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDEzNikKLSNkZWZpbmUgX19OUl9wZXJmX2V2ZW50X29wZW4gICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDM2NCkKLSNkZWZpbmUgX19OUl9mdXRleCAgICAgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDI0MCkKLSNkZWZpbmUgX19OUl9wb2xsICAgICAgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDE2OCkKLQotI2lmZGVmIF9fYXJtX18KLSNkZWZpbmUgX19OUl9leGl0X2dyb3VwICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDI0OCkKLSNkZWZpbmUgX19OUl93YWl0aWQgICAgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDI4MCkKLSNkZWZpbmUgX19OUl92Zm9yayAgICAgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDE5MCkKLSNkZWZpbmUgX19OUl9vcGVuYXQgICAgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDMyMikKLSNkZWZpbmUgX19OUl9tYWR2aXNlICAgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDIyMCkKLSNkZWZpbmUgX19OUl9taW5jb3JlICAgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDIxOSkKLSNkZWZpbmUgX19OUl9waXBlMiAgICAgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDM1OSkKLSNkZWZpbmUgX19OUl9nZXRkZW50czY0ICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDIxNykKLSNkZWZpbmUgX19OUl9mc3RhdGZzNjQgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDI2NykKLSNkZWZpbmUgX19OUl9mc3RhdGF0NjQgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDMyNykKLSNkZWZpbmUgX19OUl9ta2RpcmF0ICAgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDMyMykKLSNkZWZpbmUgX19OUl9mY2hvd25hdCAgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDMyNSkKLSNkZWZpbmUgX19OUl9mY2htb2RhdCAgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDMzMykKLSNkZWZpbmUgX19OUl9yZW5hbWVhdCAgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDMyOSkKLSNkZWZpbmUgX19OUl91bmxpbmthdCAgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDMyOCkKLSNkZWZpbmUgX19OUl9mYWNjZXNzYXQgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDMzNCkKICNkZWZpbmUgX19OUl9zdGF0ZnM2NCAgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDI2NikKKyNkZWZpbmUgX19OUl9uYW5vc2xlZXAgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDE2MikKICNkZWZpbmUgX19OUl9jbG9ja19nZXR0aW1lICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDI2MykKICNkZWZpbmUgX19OUl9jbG9ja19zZXR0aW1lICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDI2MikKICNkZWZpbmUgX19OUl9jbG9ja19nZXRyZXMgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDI2NCkKQEAgLTE3OSw2ICsxNjcsOSBAQAogI2RlZmluZSBfX05SX3RpbWVyX2RlbGV0ZSAgICAgICAgICAgICAgICAgKF9fTlJfU1lTQ0FMTF9CQVNFICsgMjYxKQogI2RlZmluZSBfX05SX3V0aW1lcyAgICAgICAgICAgICAgICAgICAgICAgKF9fTlJfU1lTQ0FMTF9CQVNFICsgMjY5KQogI2RlZmluZSBfX05SX3V0aW1lbnNhdCAgICAgICAgICAgICAgICAgICAgKF9fTlJfU1lTQ0FMTF9CQVNFICsgMzQ4KQorI2RlZmluZSBfX05SX3J0X3NpZ2FjdGlvbiAgICAgICAgICAgICAgICAgKF9fTlJfU1lTQ0FMTF9CQVNFICsgMTc0KQorI2RlZmluZSBfX05SX3J0X3NpZ3Byb2NtYXNrICAgICAgICAgICAgICAgKF9fTlJfU1lTQ0FMTF9CQVNFICsgMTc1KQorI2RlZmluZSBfX05SX3J0X3NpZ3RpbWVkd2FpdCAgICAgICAgICAgICAgKF9fTlJfU1lTQ0FMTF9CQVNFICsgMTc3KQogI2RlZmluZSBfX05SX3NvY2tldCAgICAgICAgICAgICAgICAgICAgICAgKF9fTlJfU1lTQ0FMTF9CQVNFICsgMjgxKQogI2RlZmluZSBfX05SX3NvY2tldHBhaXIgICAgICAgICAgICAgICAgICAgKF9fTlJfU1lTQ0FMTF9CQVNFICsgMjg4KQogI2RlZmluZSBfX05SX2JpbmQgICAgICAgICAgICAgICAgICAgICAgICAgKF9fTlJfU1lTQ0FMTF9CQVNFICsgMjgyKQpAQCAtMTk0LDY0ICsxODUsMjcxIEBACiAjZGVmaW5lIF9fTlJfZ2V0c29ja29wdCAgICAgICAgICAgICAgICAgICAoX19OUl9TWVNDQUxMX0JBU0UgKyAyOTUpCiAjZGVmaW5lIF9fTlJfc2VuZG1zZyAgICAgICAgICAgICAgICAgICAgICAoX19OUl9TWVNDQUxMX0JBU0UgKyAyOTYpCiAjZGVmaW5lIF9fTlJfcmVjdm1zZyAgICAgICAgICAgICAgICAgICAgICAoX19OUl9TWVNDQUxMX0JBU0UgKyAyOTcpCisjZGVmaW5lIF9fTlJfc2NoZWRfc2V0c2NoZWR1bGVyICAgICAgICAgICAoX19OUl9TWVNDQUxMX0JBU0UgKyAxNTYpCisjZGVmaW5lIF9fTlJfc2NoZWRfZ2V0c2NoZWR1bGVyICAgICAgICAgICAoX19OUl9TWVNDQUxMX0JBU0UgKyAxNTcpCisjZGVmaW5lIF9fTlJfc2NoZWRfeWllbGQgICAgICAgICAgICAgICAgICAoX19OUl9TWVNDQUxMX0JBU0UgKyAxNTgpCisjZGVmaW5lIF9fTlJfc2NoZWRfc2V0cGFyYW0gICAgICAgICAgICAgICAoX19OUl9TWVNDQUxMX0JBU0UgKyAxNTQpCisjZGVmaW5lIF9fTlJfc2NoZWRfZ2V0cGFyYW0gICAgICAgICAgICAgICAoX19OUl9TWVNDQUxMX0JBU0UgKyAxNTUpCisjZGVmaW5lIF9fTlJfc2NoZWRfZ2V0X3ByaW9yaXR5X21heCAgICAgICAoX19OUl9TWVNDQUxMX0JBU0UgKyAxNTkpCisjZGVmaW5lIF9fTlJfc2NoZWRfZ2V0X3ByaW9yaXR5X21pbiAgICAgICAoX19OUl9TWVNDQUxMX0JBU0UgKyAxNjApCisjZGVmaW5lIF9fTlJfc2NoZWRfcnJfZ2V0X2ludGVydmFsICAgICAgICAoX19OUl9TWVNDQUxMX0JBU0UgKyAxNjEpCisjZGVmaW5lIF9fTlJfc2NoZWRfc2V0YWZmaW5pdHkgICAgICAgICAgICAoX19OUl9TWVNDQUxMX0JBU0UgKyAyNDEpCisjZGVmaW5lIF9fTlJfc2NoZWRfZ2V0YWZmaW5pdHkgICAgICAgICAgICAoX19OUl9TWVNDQUxMX0JBU0UgKyAyNDIpCiAjZGVmaW5lIF9fTlJfZ2V0Y3B1ICAgICAgICAgICAgICAgICAgICAgICAoX19OUl9TWVNDQUxMX0JBU0UgKyAzNDUpCiAjZGVmaW5lIF9fTlJfaW9wcmlvX3NldCAgICAgICAgICAgICAgICAgICAoX19OUl9TWVNDQUxMX0JBU0UgKyAzMTQpCiAjZGVmaW5lIF9fTlJfaW9wcmlvX2dldCAgICAgICAgICAgICAgICAgICAoX19OUl9TWVNDQUxMX0JBU0UgKyAzMTUpCisjZGVmaW5lIF9fTlJfZnV0ZXggICAgICAgICAgICAgICAgICAgICAgICAoX19OUl9TWVNDQUxMX0JBU0UgKyAyNDApCiAjZGVmaW5lIF9fTlJfZXBvbGxfY3JlYXRlICAgICAgICAgICAgICAgICAoX19OUl9TWVNDQUxMX0JBU0UgKyAyNTApCiAjZGVmaW5lIF9fTlJfZXBvbGxfY3RsICAgICAgICAgICAgICAgICAgICAoX19OUl9TWVNDQUxMX0JBU0UgKyAyNTEpCiAjZGVmaW5lIF9fTlJfZXBvbGxfd2FpdCAgICAgICAgICAgICAgICAgICAoX19OUl9TWVNDQUxMX0JBU0UgKyAyNTIpCiAjZGVmaW5lIF9fTlJfaW5vdGlmeV9pbml0ICAgICAgICAgICAgICAgICAoX19OUl9TWVNDQUxMX0JBU0UgKyAzMTYpCiAjZGVmaW5lIF9fTlJfaW5vdGlmeV9hZGRfd2F0Y2ggICAgICAgICAgICAoX19OUl9TWVNDQUxMX0JBU0UgKyAzMTcpCiAjZGVmaW5lIF9fTlJfaW5vdGlmeV9ybV93YXRjaCAgICAgICAgICAgICAoX19OUl9TWVNDQUxMX0JBU0UgKyAzMTgpCisjZGVmaW5lIF9fTlJfcG9sbCAgICAgICAgICAgICAgICAgICAgICAgICAoX19OUl9TWVNDQUxMX0JBU0UgKyAxNjgpCiAjZGVmaW5lIF9fTlJfZXZlbnRmZDIgICAgICAgICAgICAgICAgICAgICAoX19OUl9TWVNDQUxMX0JBU0UgKyAzNTYpCiAjZGVmaW5lIF9fTlJfQVJNX3NldF90bHMgICAgICAgICAgICAgICAgICAoX19OUl9TWVNDQUxMX0JBU0UgKyA5ODMwNDUpCiAjZGVmaW5lIF9fTlJfQVJNX2NhY2hlZmx1c2ggICAgICAgICAgICAgICAoX19OUl9TWVNDQUxMX0JBU0UgKyA5ODMwNDIpCiAjZW5kaWYKIAogI2lmZGVmIF9faTM4Nl9fCi0jZGVmaW5lIF9fTlJfZXhpdF9ncm91cCAgICAgICAgICAgICAgICAgICAoX19OUl9TWVNDQUxMX0JBU0UgKyAyNTIpCiAjZGVmaW5lIF9fTlJfd2FpdHBpZCAgICAgICAgICAgICAgICAgICAgICAoX19OUl9TWVNDQUxMX0JBU0UgKyA3KQotI2RlZmluZSBfX05SX3dhaXRpZCAgICAgICAgICAgICAgICAgICAgICAgKF9fTlJfU1lTQ0FMTF9CQVNFICsgMjg0KQogI2RlZmluZSBfX05SX2tpbGwgICAgICAgICAgICAgICAgICAgICAgICAgKF9fTlJfU1lTQ0FMTF9CQVNFICsgMzcpCi0jZGVmaW5lIF9fTlJfdGtpbGwgICAgICAgICAgICAgICAgICAgICAgICAoX19OUl9TWVNDQUxMX0JBU0UgKyAyMzgpCi0jZGVmaW5lIF9fTlJfdGdraWxsICAgICAgICAgICAgICAgICAgICAgICAoX19OUl9TWVNDQUxMX0JBU0UgKyAyNzApCi0jZGVmaW5lIF9fTlJfc2V0X3RocmVhZF9hcmVhICAgICAgICAgICAgICAoX19OUl9TWVNDQUxMX0JBU0UgKyAyNDMpCi0jZGVmaW5lIF9fTlJfb3BlbmF0ICAgICAgICAgICAgICAgICAgICAgICAoX19OUl9TWVNDQUxMX0JBU0UgKyAyOTUpCi0jZGVmaW5lIF9fTlJfbWFkdmlzZSAgICAgICAgICAgICAgICAgICAgICAoX19OUl9TWVNDQUxMX0JBU0UgKyAyMTkpCisjZGVmaW5lIF9fTlJfcGlwZSAgICAgICAgICAgICAgICAgICAgICAgICAoX19OUl9TWVNDQUxMX0JBU0UgKyA0MikKKyNkZWZpbmUgX19OUl9zb2NrZXRjYWxsICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDEwMikKKyNkZWZpbmUgX19OUl9mZGF0YXN5bmMgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDE0OCkKKyNkZWZpbmUgX19OUl9tbG9jayAgICAgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDE1MCkKKyNkZWZpbmUgX19OUl9tdW5sb2NrICAgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDE1MSkKKyNkZWZpbmUgX19OUl9zY2hlZF9zZXRwYXJhbSAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDE1NCkKKyNkZWZpbmUgX19OUl9zY2hlZF9nZXRwYXJhbSAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDE1NSkKKyNkZWZpbmUgX19OUl9zY2hlZF9zZXRzY2hlZHVsZXIgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDE1NikKKyNkZWZpbmUgX19OUl9zY2hlZF9nZXRzY2hlZHVsZXIgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDE1NykKKyNkZWZpbmUgX19OUl9zY2hlZF95aWVsZCAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDE1OCkKKyNkZWZpbmUgX19OUl9zY2hlZF9nZXRfcHJpb3JpdHlfbWF4ICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDE1OSkKKyNkZWZpbmUgX19OUl9zY2hlZF9nZXRfcHJpb3JpdHlfbWluICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDE2MCkKKyNkZWZpbmUgX19OUl9zY2hlZF9ycl9nZXRfaW50ZXJ2YWwgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDE2MSkKKyNkZWZpbmUgX19OUl9uYW5vc2xlZXAgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDE2MikKKyNkZWZpbmUgX19OUl9tcmVtYXAgICAgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDE2MykKKyNkZWZpbmUgX19OUl9wb2xsICAgICAgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDE2OCkKKyNkZWZpbmUgX19OUl9wcmN0bCAgICAgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDE3MikKKyNkZWZpbmUgX19OUl9ydF9zaWdhY3Rpb24gICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDE3NCkKKyNkZWZpbmUgX19OUl9ydF9zaWdwcm9jbWFzayAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDE3NSkKKyNkZWZpbmUgX19OUl9ydF9zaWd0aW1lZHdhaXQgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDE3NykKKyNkZWZpbmUgX19OUl9wcmVhZDY0ICAgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDE4MCkKKyNkZWZpbmUgX19OUl9wd3JpdGU2NCAgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDE4MSkKKyNkZWZpbmUgX19OUl9nZXRjd2QgICAgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDE4MykKKyNkZWZpbmUgX19OUl9jYXBnZXQgICAgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDE4NCkKKyNkZWZpbmUgX19OUl9jYXBzZXQgICAgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDE4NSkKKyNkZWZpbmUgX19OUl9zaWdhbHRzdGFjayAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDE4NikKKyNkZWZpbmUgX19OUl9zZW5kZmlsZSAgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDE4NykKKyNkZWZpbmUgX19OUl91Z2V0cmxpbWl0ICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDE5MSkKKyNkZWZpbmUgX19OUl9tbWFwMiAgICAgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDE5MikKKyNkZWZpbmUgX19OUl9mdHJ1bmNhdGU2NCAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDE5NCkKKyNkZWZpbmUgX19OUl9zdGF0NjQgICAgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDE5NSkKKyNkZWZpbmUgX19OUl9sc3RhdDY0ICAgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDE5NikKKyNkZWZpbmUgX19OUl9mc3RhdDY0ICAgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDE5NykKKyNkZWZpbmUgX19OUl9sY2hvd24zMiAgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDE5OCkKKyNkZWZpbmUgX19OUl9nZXR1aWQzMiAgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDE5OSkKKyNkZWZpbmUgX19OUl9nZXRnaWQzMiAgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDIwMCkKKyNkZWZpbmUgX19OUl9nZXRldWlkMzIgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDIwMSkKKyNkZWZpbmUgX19OUl9nZXRlZ2lkMzIgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDIwMikKKyNkZWZpbmUgX19OUl9zZXRyZXVpZDMyICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDIwMykKKyNkZWZpbmUgX19OUl9zZXRyZWdpZDMyICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDIwNCkKKyNkZWZpbmUgX19OUl9nZXRncm91cHMzMiAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDIwNSkKKyNkZWZpbmUgX19OUl9zZXRncm91cHMzMiAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDIwNikKKyNkZWZpbmUgX19OUl9mY2hvd24zMiAgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDIwNykKKyNkZWZpbmUgX19OUl9zZXRyZXN1aWQzMiAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDIwOCkKKyNkZWZpbmUgX19OUl9nZXRyZXN1aWQzMiAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDIwOSkKKyNkZWZpbmUgX19OUl9zZXRyZXNnaWQzMiAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDIxMCkKKyNkZWZpbmUgX19OUl9nZXRyZXNnaWQzMiAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDIxMSkKKyNkZWZpbmUgX19OUl9jaG93bjMyICAgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDIxMikKKyNkZWZpbmUgX19OUl9zZXR1aWQzMiAgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDIxMykKKyNkZWZpbmUgX19OUl9zZXRnaWQzMiAgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDIxNCkKICNkZWZpbmUgX19OUl9taW5jb3JlICAgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDIxOCkKLSNkZWZpbmUgX19OUl9waXBlMiAgICAgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDMzMSkKKyNkZWZpbmUgX19OUl9tYWR2aXNlICAgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDIxOSkKICNkZWZpbmUgX19OUl9nZXRkZW50czY0ICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDIyMCkKLSNkZWZpbmUgX19OUl9mc3RhdGZzNjQgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDI2OSkKLSNkZWZpbmUgX19OUl9mc3RhdGF0NjQgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDMwMCkKLSNkZWZpbmUgX19OUl9ta2RpcmF0ICAgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDI5NikKLSNkZWZpbmUgX19OUl9mY2hvd25hdCAgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDI5OCkKLSNkZWZpbmUgX19OUl9mY2htb2RhdCAgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDMwNikKLSNkZWZpbmUgX19OUl9yZW5hbWVhdCAgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDMwMikKLSNkZWZpbmUgX19OUl91bmxpbmthdCAgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDMwMSkKLSNkZWZpbmUgX19OUl9mYWNjZXNzYXQgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDMwNykKLSNkZWZpbmUgX19OUl9zdGF0ZnM2NCAgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDI2OCkKLSNkZWZpbmUgX19OUl9jbG9ja19nZXR0aW1lICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDI2NSkKLSNkZWZpbmUgX19OUl9jbG9ja19zZXR0aW1lICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDI2NCkKLSNkZWZpbmUgX19OUl9jbG9ja19nZXRyZXMgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDI2NikKLSNkZWZpbmUgX19OUl9jbG9ja19uYW5vc2xlZXAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDI2NykKKyNkZWZpbmUgX19OUl9mY250bDY0ICAgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDIyMSkKKyNkZWZpbmUgX19OUl9nZXR0aWQgICAgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDIyNCkKKyNkZWZpbmUgX19OUl9yZWFkYWhlYWQgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDIyNSkKKyNkZWZpbmUgX19OUl9zZXR4YXR0ciAgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDIyNikKKyNkZWZpbmUgX19OUl9sc2V0eGF0dHIgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDIyNykKKyNkZWZpbmUgX19OUl9mc2V0eGF0dHIgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDIyOCkKKyNkZWZpbmUgX19OUl9nZXR4YXR0ciAgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDIyOSkKKyNkZWZpbmUgX19OUl9sZ2V0eGF0dHIgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDIzMCkKKyNkZWZpbmUgX19OUl9mZ2V0eGF0dHIgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDIzMSkKKyNkZWZpbmUgX19OUl9saXN0eGF0dHIgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDIzMikKKyNkZWZpbmUgX19OUl9sbGlzdHhhdHRyICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDIzMykKKyNkZWZpbmUgX19OUl9mbGlzdHhhdHRyICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDIzNCkKKyNkZWZpbmUgX19OUl9yZW1vdmV4YXR0ciAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDIzNSkKKyNkZWZpbmUgX19OUl9scmVtb3ZleGF0dHIgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDIzNikKKyNkZWZpbmUgX19OUl9mcmVtb3ZleGF0dHIgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDIzNykKKyNkZWZpbmUgX19OUl90a2lsbCAgICAgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDIzOCkKKyNkZWZpbmUgX19OUl9mdXRleCAgICAgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDI0MCkKKyNkZWZpbmUgX19OUl9zY2hlZF9zZXRhZmZpbml0eSAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDI0MSkKKyNkZWZpbmUgX19OUl9zY2hlZF9nZXRhZmZpbml0eSAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDI0MikKKyNkZWZpbmUgX19OUl9zZXRfdGhyZWFkX2FyZWEgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDI0MykKKyNkZWZpbmUgX19OUl9leGl0X2dyb3VwICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDI1MikKKyNkZWZpbmUgX19OUl9lcG9sbF9jcmVhdGUgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDI1NCkKKyNkZWZpbmUgX19OUl9lcG9sbF9jdGwgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDI1NSkKKyNkZWZpbmUgX19OUl9lcG9sbF93YWl0ICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDI1NikKICNkZWZpbmUgX19OUl90aW1lcl9jcmVhdGUgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDI1OSkKICNkZWZpbmUgX19OUl90aW1lcl9zZXR0aW1lICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDI2MCkKICNkZWZpbmUgX19OUl90aW1lcl9nZXR0aW1lICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDI2MSkKICNkZWZpbmUgX19OUl90aW1lcl9nZXRvdmVycnVuICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDI2MikKICNkZWZpbmUgX19OUl90aW1lcl9kZWxldGUgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDI2MykKKyNkZWZpbmUgX19OUl9jbG9ja19zZXR0aW1lICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDI2NCkKKyNkZWZpbmUgX19OUl9jbG9ja19nZXR0aW1lICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDI2NSkKKyNkZWZpbmUgX19OUl9jbG9ja19nZXRyZXMgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDI2NikKKyNkZWZpbmUgX19OUl9jbG9ja19uYW5vc2xlZXAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDI2NykKKyNkZWZpbmUgX19OUl9zdGF0ZnM2NCAgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDI2OCkKKyNkZWZpbmUgX19OUl9mc3RhdGZzNjQgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDI2OSkKKyNkZWZpbmUgX19OUl90Z2tpbGwgICAgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDI3MCkKICNkZWZpbmUgX19OUl91dGltZXMgICAgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDI3MSkKLSNkZWZpbmUgX19OUl91dGltZW5zYXQgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDMyMCkKLSNkZWZpbmUgX19OUl9zb2NrZXRjYWxsICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDEwMikKLSNkZWZpbmUgX19OUl9nZXRjcHUgICAgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDMxOCkKKyNkZWZpbmUgX19OUl93YWl0aWQgICAgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDI4NCkKICNkZWZpbmUgX19OUl9pb3ByaW9fc2V0ICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDI4OSkKICNkZWZpbmUgX19OUl9pb3ByaW9fZ2V0ICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDI5MCkKLSNkZWZpbmUgX19OUl9lcG9sbF9jcmVhdGUgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDI1NCkKLSNkZWZpbmUgX19OUl9lcG9sbF9jdGwgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDI1NSkKLSNkZWZpbmUgX19OUl9lcG9sbF93YWl0ICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDI1NikKICNkZWZpbmUgX19OUl9pbm90aWZ5X2luaXQgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDI5MSkKICNkZWZpbmUgX19OUl9pbm90aWZ5X2FkZF93YXRjaCAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDI5MikKICNkZWZpbmUgX19OUl9pbm90aWZ5X3JtX3dhdGNoICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDI5MykKKyNkZWZpbmUgX19OUl9vcGVuYXQgICAgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDI5NSkKKyNkZWZpbmUgX19OUl9ta2RpcmF0ICAgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDI5NikKKyNkZWZpbmUgX19OUl9mY2hvd25hdCAgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDI5OCkKKyNkZWZpbmUgX19OUl9mc3RhdGF0NjQgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDMwMCkKKyNkZWZpbmUgX19OUl91bmxpbmthdCAgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDMwMSkKKyNkZWZpbmUgX19OUl9yZW5hbWVhdCAgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDMwMikKKyNkZWZpbmUgX19OUl9mY2htb2RhdCAgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDMwNikKKyNkZWZpbmUgX19OUl9mYWNjZXNzYXQgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDMwNykKKyNkZWZpbmUgX19OUl9nZXRjcHUgICAgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDMxOCkKKyNkZWZpbmUgX19OUl91dGltZW5zYXQgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDMyMCkKICNkZWZpbmUgX19OUl9ldmVudGZkMiAgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDMyOCkKKyNkZWZpbmUgX19OUl9waXBlMiAgICAgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDMzMSkKKyNlbmRpZgorCisjaWZkZWYgX19taXBzX18KKyNkZWZpbmUgX19OUl9zeXNjYWxsICAgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDApCisjZGVmaW5lIF9fTlJfd2FpdHBpZCAgICAgICAgICAgICAgICAgICAgICAoX19OUl9TWVNDQUxMX0JBU0UgKyA3KQorI2RlZmluZSBfX05SX2xjaG93biAgICAgICAgICAgICAgICAgICAgICAgKF9fTlJfU1lTQ0FMTF9CQVNFICsgMTYpCisjZGVmaW5lIF9fTlJfc2V0dWlkICAgICAgICAgICAgICAgICAgICAgICAoX19OUl9TWVNDQUxMX0JBU0UgKyAyMykKKyNkZWZpbmUgX19OUl9nZXR1aWQgICAgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDI0KQorI2RlZmluZSBfX05SX2tpbGwgICAgICAgICAgICAgICAgICAgICAgICAgKF9fTlJfU1lTQ0FMTF9CQVNFICsgMzcpCisjZGVmaW5lIF9fTlJfc2V0Z2lkICAgICAgICAgICAgICAgICAgICAgICAoX19OUl9TWVNDQUxMX0JBU0UgKyA0NikKKyNkZWZpbmUgX19OUl9nZXRnaWQgICAgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDQ3KQorI2RlZmluZSBfX05SX2dldGV1aWQgICAgICAgICAgICAgICAgICAgICAgKF9fTlJfU1lTQ0FMTF9CQVNFICsgNDkpCisjZGVmaW5lIF9fTlJfZ2V0ZWdpZCAgICAgICAgICAgICAgICAgICAgICAoX19OUl9TWVNDQUxMX0JBU0UgKyA1MCkKKyNkZWZpbmUgX19OUl9zZXRyZXVpZCAgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDcwKQorI2RlZmluZSBfX05SX3NldHJlZ2lkICAgICAgICAgICAgICAgICAgICAgKF9fTlJfU1lTQ0FMTF9CQVNFICsgNzEpCisjZGVmaW5lIF9fTlJfZ2V0cmxpbWl0ICAgICAgICAgICAgICAgICAgICAoX19OUl9TWVNDQUxMX0JBU0UgKyA3NikKKyNkZWZpbmUgX19OUl9nZXRncm91cHMgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDgwKQorI2RlZmluZSBfX05SX3NldGdyb3VwcyAgICAgICAgICAgICAgICAgICAgKF9fTlJfU1lTQ0FMTF9CQVNFICsgODEpCisjZGVmaW5lIF9fTlJfZmNob3duICAgICAgICAgICAgICAgICAgICAgICAoX19OUl9TWVNDQUxMX0JBU0UgKyA5NSkKKyNkZWZpbmUgX19OUl9jYWNoZWZsdXNoICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDE0NykKKyNkZWZpbmUgX19OUl9mZGF0YXN5bmMgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDE1MikKKyNkZWZpbmUgX19OUl9tbG9jayAgICAgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDE1NCkKKyNkZWZpbmUgX19OUl9tdW5sb2NrICAgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDE1NSkKKyNkZWZpbmUgX19OUl9zY2hlZF9zZXRwYXJhbSAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDE1OCkKKyNkZWZpbmUgX19OUl9zY2hlZF9nZXRwYXJhbSAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDE1OSkKKyNkZWZpbmUgX19OUl9zY2hlZF9zZXRzY2hlZHVsZXIgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDE2MCkKKyNkZWZpbmUgX19OUl9zY2hlZF9nZXRzY2hlZHVsZXIgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDE2MSkKKyNkZWZpbmUgX19OUl9zY2hlZF95aWVsZCAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDE2MikKKyNkZWZpbmUgX19OUl9zY2hlZF9nZXRfcHJpb3JpdHlfbWF4ICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDE2MykKKyNkZWZpbmUgX19OUl9zY2hlZF9nZXRfcHJpb3JpdHlfbWluICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDE2NCkKKyNkZWZpbmUgX19OUl9zY2hlZF9ycl9nZXRfaW50ZXJ2YWwgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDE2NSkKKyNkZWZpbmUgX19OUl9uYW5vc2xlZXAgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDE2NikKKyNkZWZpbmUgX19OUl9tcmVtYXAgICAgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDE2NykKKyNkZWZpbmUgX19OUl9hY2NlcHQgICAgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDE2OCkKKyNkZWZpbmUgX19OUl9iaW5kICAgICAgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDE2OSkKKyNkZWZpbmUgX19OUl9jb25uZWN0ICAgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDE3MCkKKyNkZWZpbmUgX19OUl9nZXRwZWVybmFtZSAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDE3MSkKKyNkZWZpbmUgX19OUl9nZXRzb2NrbmFtZSAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDE3MikKKyNkZWZpbmUgX19OUl9nZXRzb2Nrb3B0ICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDE3MykKKyNkZWZpbmUgX19OUl9saXN0ZW4gICAgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDE3NCkKKyNkZWZpbmUgX19OUl9yZWN2ZnJvbSAgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDE3NikKKyNkZWZpbmUgX19OUl9yZWN2bXNnICAgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDE3NykKKyNkZWZpbmUgX19OUl9zZW5kbXNnICAgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDE3OSkKKyNkZWZpbmUgX19OUl9zZW5kdG8gICAgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDE4MCkKKyNkZWZpbmUgX19OUl9zZXRzb2Nrb3B0ICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDE4MSkKKyNkZWZpbmUgX19OUl9zaHV0ZG93biAgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDE4MikKKyNkZWZpbmUgX19OUl9zb2NrZXQgICAgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDE4MykKKyNkZWZpbmUgX19OUl9zb2NrZXRwYWlyICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDE4NCkKKyNkZWZpbmUgX19OUl9zZXRyZXN1aWQgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDE4NSkKKyNkZWZpbmUgX19OUl9nZXRyZXN1aWQgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDE4NikKKyNkZWZpbmUgX19OUl9wb2xsICAgICAgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDE4OCkKKyNkZWZpbmUgX19OUl9zZXRyZXNnaWQgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDE5MCkKKyNkZWZpbmUgX19OUl9nZXRyZXNnaWQgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDE5MSkKKyNkZWZpbmUgX19OUl9wcmN0bCAgICAgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDE5MikKKyNkZWZpbmUgX19OUl9ydF9zaWdhY3Rpb24gICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDE5NCkKKyNkZWZpbmUgX19OUl9ydF9zaWdwcm9jbWFzayAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDE5NSkKKyNkZWZpbmUgX19OUl9ydF9zaWd0aW1lZHdhaXQgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDE5NykKKyNkZWZpbmUgX19OUl9wcmVhZDY0ICAgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDIwMCkKKyNkZWZpbmUgX19OUl9wd3JpdGU2NCAgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDIwMSkKKyNkZWZpbmUgX19OUl9jaG93biAgICAgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDIwMikKKyNkZWZpbmUgX19OUl9nZXRjd2QgICAgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDIwMykKKyNkZWZpbmUgX19OUl9jYXBnZXQgICAgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDIwNCkKKyNkZWZpbmUgX19OUl9jYXBzZXQgICAgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDIwNSkKKyNkZWZpbmUgX19OUl9zaWdhbHRzdGFjayAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDIwNikKKyNkZWZpbmUgX19OUl9zZW5kZmlsZSAgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDIwNykKKyNkZWZpbmUgX19OUl9tbWFwMiAgICAgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDIxMCkKKyNkZWZpbmUgX19OUl9mdHJ1bmNhdGU2NCAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDIxMikKKyNkZWZpbmUgX19OUl9zdGF0NjQgICAgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDIxMykKKyNkZWZpbmUgX19OUl9sc3RhdDY0ICAgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDIxNCkKKyNkZWZpbmUgX19OUl9mc3RhdDY0ICAgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDIxNSkKKyNkZWZpbmUgX19OUl9taW5jb3JlICAgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDIxNykKKyNkZWZpbmUgX19OUl9tYWR2aXNlICAgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDIxOCkKKyNkZWZpbmUgX19OUl9nZXRkZW50czY0ICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDIxOSkKKyNkZWZpbmUgX19OUl9mY250bDY0ICAgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDIyMCkKKyNkZWZpbmUgX19OUl9nZXR0aWQgICAgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDIyMikKKyNkZWZpbmUgX19OUl9yZWFkYWhlYWQgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDIyMykKKyNkZWZpbmUgX19OUl9zZXR4YXR0ciAgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDIyNCkKKyNkZWZpbmUgX19OUl9sc2V0eGF0dHIgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDIyNSkKKyNkZWZpbmUgX19OUl9mc2V0eGF0dHIgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDIyNikKKyNkZWZpbmUgX19OUl9nZXR4YXR0ciAgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDIyNykKKyNkZWZpbmUgX19OUl9sZ2V0eGF0dHIgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDIyOCkKKyNkZWZpbmUgX19OUl9mZ2V0eGF0dHIgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDIyOSkKKyNkZWZpbmUgX19OUl9saXN0eGF0dHIgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDIzMCkKKyNkZWZpbmUgX19OUl9sbGlzdHhhdHRyICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDIzMSkKKyNkZWZpbmUgX19OUl9mbGlzdHhhdHRyICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDIzMikKKyNkZWZpbmUgX19OUl9yZW1vdmV4YXR0ciAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDIzMykKKyNkZWZpbmUgX19OUl9scmVtb3ZleGF0dHIgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDIzNCkKKyNkZWZpbmUgX19OUl9mcmVtb3ZleGF0dHIgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDIzNSkKKyNkZWZpbmUgX19OUl90a2lsbCAgICAgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDIzNikKKyNkZWZpbmUgX19OUl9mdXRleCAgICAgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDIzOCkKKyNkZWZpbmUgX19OUl9zY2hlZF9zZXRhZmZpbml0eSAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDIzOSkKKyNkZWZpbmUgX19OUl9zY2hlZF9nZXRhZmZpbml0eSAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDI0MCkKKyNkZWZpbmUgX19OUl9leGl0X2dyb3VwICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDI0NikKKyNkZWZpbmUgX19OUl9lcG9sbF9jcmVhdGUgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDI0OCkKKyNkZWZpbmUgX19OUl9lcG9sbF9jdGwgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDI0OSkKKyNkZWZpbmUgX19OUl9lcG9sbF93YWl0ICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDI1MCkKKyNkZWZpbmUgX19OUl9zdGF0ZnM2NCAgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDI1NSkKKyNkZWZpbmUgX19OUl9mc3RhdGZzNjQgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDI1NikKKyNkZWZpbmUgX19OUl90aW1lcl9jcmVhdGUgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDI1NykKKyNkZWZpbmUgX19OUl90aW1lcl9zZXR0aW1lICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDI1OCkKKyNkZWZpbmUgX19OUl90aW1lcl9nZXR0aW1lICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDI1OSkKKyNkZWZpbmUgX19OUl90aW1lcl9nZXRvdmVycnVuICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDI2MCkKKyNkZWZpbmUgX19OUl90aW1lcl9kZWxldGUgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDI2MSkKKyNkZWZpbmUgX19OUl9jbG9ja19zZXR0aW1lICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDI2MikKKyNkZWZpbmUgX19OUl9jbG9ja19nZXR0aW1lICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDI2MykKKyNkZWZpbmUgX19OUl9jbG9ja19nZXRyZXMgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDI2NCkKKyNkZWZpbmUgX19OUl9jbG9ja19uYW5vc2xlZXAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDI2NSkKKyNkZWZpbmUgX19OUl90Z2tpbGwgICAgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDI2NikKKyNkZWZpbmUgX19OUl91dGltZXMgICAgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDI2NykKKyNkZWZpbmUgX19OUl93YWl0aWQgICAgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDI3OCkKKyNkZWZpbmUgX19OUl9zZXRfdGhyZWFkX2FyZWEgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDI4MykKKyNkZWZpbmUgX19OUl9pbm90aWZ5X2luaXQgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDI4NCkKKyNkZWZpbmUgX19OUl9pbm90aWZ5X2FkZF93YXRjaCAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDI4NSkKKyNkZWZpbmUgX19OUl9pbm90aWZ5X3JtX3dhdGNoICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDI4NikKKyNkZWZpbmUgX19OUl9vcGVuYXQgICAgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDI4OCkKKyNkZWZpbmUgX19OUl9ta2RpcmF0ICAgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDI4OSkKKyNkZWZpbmUgX19OUl9mY2hvd25hdCAgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDI5MSkKKyNkZWZpbmUgX19OUl9mc3RhdGF0NjQgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDI5MykKKyNkZWZpbmUgX19OUl91bmxpbmthdCAgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDI5NCkKKyNkZWZpbmUgX19OUl9yZW5hbWVhdCAgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDI5NSkKKyNkZWZpbmUgX19OUl9mY2htb2RhdCAgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDI5OSkKKyNkZWZpbmUgX19OUl9mYWNjZXNzYXQgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDMwMCkKKyNkZWZpbmUgX19OUl9nZXRjcHUgICAgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDMxMikKKyNkZWZpbmUgX19OUl9pb3ByaW9fc2V0ICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDMxNCkKKyNkZWZpbmUgX19OUl9pb3ByaW9fZ2V0ICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDMxNSkKKyNkZWZpbmUgX19OUl91dGltZW5zYXQgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDMxNikKKyNkZWZpbmUgX19OUl9ldmVudGZkMiAgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDMyNSkKKyNkZWZpbmUgX19OUl9waXBlMiAgICAgICAgICAgICAgICAgICAgICAgIChfX05SX1NZU0NBTExfQkFTRSArIDMyOCkKICNlbmRpZgogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL2xpYmMva2VybmVsL2FyY2gtbWlwcy9hc20vc2lnbmFsLmggYi9saWJjL2tlcm5lbC9hcmNoLW1pcHMvYXNtL3NpZ25hbC5oCmluZGV4IGI1MWFkNzEuLjVmNWFjNzcgMTAwNjQ0Ci0tLSBhL2xpYmMva2VybmVsL2FyY2gtbWlwcy9hc20vc2lnbmFsLmgKKysrIGIvbGliYy9rZXJuZWwvYXJjaC1taXBzL2FzbS9zaWduYWwuaApAQCAtOTIsMzIgKzkyLDMzIEBACiAjZGVmaW5lIE1JTlNJR1NUS1NaIDIwNDgKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCiAjZGVmaW5lIFNJR1NUS1NaIDgxOTIKK3N0cnVjdCBzaWdpbmZvOwogI2RlZmluZSBTSUdfQkxPQ0sgMSAgCiAjZGVmaW5lIFNJR19VTkJMT0NLIDIgIAotI2RlZmluZSBTSUdfU0VUTUFTSyAzICAKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisjZGVmaW5lIFNJR19TRVRNQVNLIDMgIAogI2luY2x1ZGUgPGFzbS1nZW5lcmljL3NpZ25hbC5oPgogc3RydWN0IHNpZ2FjdGlvbiB7CiAgdW5zaWduZWQgaW50IHNhX2ZsYWdzOwotIHVuaW9uIHsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgdW5pb24gewogIF9fc2lnaGFuZGxlcl90IHNhX2hhbmRsZXI7CiAgdm9pZCAoKnNhX3NpZ2FjdGlvbikgKGludCwgc3RydWN0IHNpZ2luZm8gKiwgdm9pZCAqKTsKICB9IF9fc2lnYWN0aW9uX2hhbmRsZXI7Ci0jZGVmaW5lIHNhX2hhbmRsZXIgX19zaWdhY3Rpb25faGFuZGxlci5zYV9oYW5kbGVyCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2RlZmluZSBzYV9oYW5kbGVyIF9fc2lnYWN0aW9uX2hhbmRsZXIuc2FfaGFuZGxlcgogI2RlZmluZSBzYV9zaWdhY3Rpb24gX19zaWdhY3Rpb25faGFuZGxlci5zYV9zaWdhY3Rpb24KICBzaWdzZXRfdCBzYV9tYXNrOwogfTsKLXN0cnVjdCBrX3NpZ2FjdGlvbiB7CiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworc3RydWN0IGtfc2lnYWN0aW9uIHsKICBzdHJ1Y3Qgc2lnYWN0aW9uIHNhOwogfTsKIHR5cGVkZWYgc3RydWN0IHNpZ2FsdHN0YWNrIHsKLSB2b2lkICpzc19zcDsKIC8qIFdBUk5JTkc6IERPIE5PVCBFRElULCBBVVRPLUdFTkVSQVRFRCBDT0RFIC0gU0VFIFRPUCBGT1IgSU5TVFJVQ1RJT05TICovCisgdm9pZCAqc3Nfc3A7CiAgc2l6ZV90IHNzX3NpemU7CiAgaW50IHNzX2ZsYWdzOwogfSBzdGFja190OwotI2VuZGlmCiAvKiBXQVJOSU5HOiBETyBOT1QgRURJVCwgQVVUTy1HRU5FUkFURUQgQ09ERSAtIFNFRSBUT1AgRk9SIElOU1RSVUNUSU9OUyAqLworI2VuZGlmCmRpZmYgLS1naXQgYS9saWJjL25ldGJzZC9yZXNvbHYvcmVzX2NhY2hlLmMgYi9saWJjL25ldGJzZC9yZXNvbHYvcmVzX2NhY2hlLmMKaW5kZXggOWFlNjI3Yy4uMGJiMmYyMyAxMDA2NDQKLS0tIGEvbGliYy9uZXRic2QvcmVzb2x2L3Jlc19jYWNoZS5jCisrKyBiL2xpYmMvbmV0YnNkL3Jlc29sdi9yZXNfY2FjaGUuYwpAQCAtMTQzMyw2ICsxNDMzLDI3IEBACiAgICAgX2NhY2hlX3JlbW92ZV9wKGNhY2hlLCBsb29rdXApOwogfQogCisvKiBSZW1vdmUgYWxsIGV4cGlyZWQgZW50cmllcyBmcm9tIHRoZSBoYXNoIHRhYmxlLgorICovCitzdGF0aWMgdm9pZCBfY2FjaGVfcmVtb3ZlX2V4cGlyZWQoQ2FjaGUqIGNhY2hlKSB7CisgICAgRW50cnkqIGU7CisgICAgdGltZV90IG5vdyA9IF90aW1lX25vdygpOworCisgICAgZm9yIChlID0gY2FjaGUtPm1ydV9saXN0Lm1ydV9uZXh0OyBlICE9ICZjYWNoZS0+bXJ1X2xpc3Q7KSB7CisgICAgICAgIC8vIEVudHJ5IGlzIG9sZCwgcmVtb3ZlCisgICAgICAgIGlmIChub3cgPj0gZS0+ZXhwaXJlcykgeworICAgICAgICAgICAgRW50cnkqKiBsb29rdXAgPSBfY2FjaGVfbG9va3VwX3AoY2FjaGUsIGUpOworICAgICAgICAgICAgaWYgKCpsb29rdXAgPT0gTlVMTCkgeyAvKiBzaG91bGQgbm90IGhhcHBlbiAqLworICAgICAgICAgICAgICAgIFhMT0coIiVzOiBFTlRSWSBOT1QgSU4gSFRBQkxFID8iLCBfX0ZVTkNUSU9OX18pOworICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGUgPSBlLT5tcnVfbmV4dDsKKyAgICAgICAgICAgIF9jYWNoZV9yZW1vdmVfcChjYWNoZSwgbG9va3VwKTsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIGUgPSBlLT5tcnVfbmV4dDsKKyAgICAgICAgfQorICAgIH0KK30KIAogUmVzb2x2Q2FjaGVTdGF0dXMKIF9yZXNvbHZfY2FjaGVfbG9va3VwKCBzdHJ1Y3QgcmVzb2x2X2NhY2hlKiAgY2FjaGUsCkBAIC0xNTQ3LDcgKzE1NjgsMTAgQEAKICAgICB9CiAKICAgICBpZiAoY2FjaGUtPm51bV9lbnRyaWVzID49IGNhY2hlLT5tYXhfZW50cmllcykgewotICAgICAgICBfY2FjaGVfcmVtb3ZlX29sZGVzdChjYWNoZSk7CisgICAgICAgIF9jYWNoZV9yZW1vdmVfZXhwaXJlZChjYWNoZSk7CisgICAgICAgIGlmIChjYWNoZS0+bnVtX2VudHJpZXMgPj0gY2FjaGUtPm1heF9lbnRyaWVzKSB7CisgICAgICAgICAgICBfY2FjaGVfcmVtb3ZlX29sZGVzdChjYWNoZSk7CisgICAgICAgIH0KICAgICAgICAgLyogbmVlZCB0byBsb29rdXAgYWdhaW4gKi8KICAgICAgICAgbG9va3VwID0gX2NhY2hlX2xvb2t1cF9wKGNhY2hlLCBrZXkpOwogICAgICAgICBlICAgICAgPSAqbG9va3VwOwpkaWZmIC0tZ2l0IGEvbGliYy90b29scy9iaW9uaWNfdXRpbHMucHkgYi9saWJjL3Rvb2xzL2Jpb25pY191dGlscy5weQppbmRleCAwYmM5NDdiLi5hYmI3ODIwIDEwMDY0NAotLS0gYS9saWJjL3Rvb2xzL2Jpb25pY191dGlscy5weQorKysgYi9saWJjL3Rvb2xzL2Jpb25pY191dGlscy5weQpAQCAtNCwxMyArNCwxMyBAQAogCiAjIHN1cHBvcnQgQmlvbmljIGFyY2hpdGVjdHVyZXMsIGFkZCBuZXcgb25lcyBhcyBhcHByb3ByaWF0ZQogIwotYmlvbmljX2FyY2hzID0gWyAiYXJtIiwgIng4NiIgXQorYmlvbmljX2FyY2hzID0gWyAiYXJtIiwgIng4NiIsICJtaXBzIiBdCiAKICMgYmFzaWMgZGVidWdnaW5nIHRyYWNlIHN1cHBvcnQKICMgY2FsbCBEX3NldGxldmVsIHRvIHNldCB0aGUgdmVyYm9zaXR5IGxldmVsCiAjIGFuZCBEKCksIEQyKCksIEQzKCksIEQ0KCkgdG8gYWRkIHRyYWNlcwogIwotdmVyYm9zZSA9IDEKK3ZlcmJvc2UgPSAwCiAKIGRlZiBEKG1zZyk6CiAgICAgZ2xvYmFsIHZlcmJvc2UKQEAgLTE3OCw3ICsxNzgsNyBAQAogICAgICAgICBzZWxmLnN5c2NhbGxzID0gW10KICAgICAgICAgc2VsZi5saW5lbm8gICA9IDAKIAotICAgIGRlZiBFKG1zZyk6CisgICAgZGVmIEUoc2VsZiwgbXNnKToKICAgICAgICAgcHJpbnQgIiVkOiAlcyIgJSAoc2VsZi5saW5lbm8sIG1zZykKIAogICAgIGRlZiBwYXJzZV9saW5lKHNlbGYsIGxpbmUpOgpAQCAtMjM4LDM2ICsyMzgsNTUgQEAKIAogICAgICAgICBudW1iZXIgPSBsaW5lW3Bvc19ycGFyZW4rMTpdLnN0cmlwKCkKICAgICAgICAgaWYgbnVtYmVyID09ICJzdHViIjoKLSAgICAgICAgICAgIHN5c2NhbGxfaWQgID0gLTEKLSAgICAgICAgICAgIHN5c2NhbGxfaWQyID0gLTEKKyAgICAgICAgICAgIHN5c2NhbGxfY29tbW9uID0gLTEKKyAgICAgICAgICAgIHN5c2NhbGxfYXJtICA9IC0xCisgICAgICAgICAgICBzeXNjYWxsX3g4NiA9IC0xCisgICAgICAgICAgICBzeXNjYWxsX21pcHMgPSAtMQogICAgICAgICBlbHNlOgogICAgICAgICAgICAgdHJ5OgogICAgICAgICAgICAgICAgIGlmIG51bWJlclswXSA9PSAnIyc6CiAgICAgICAgICAgICAgICAgICAgIG51bWJlciA9IG51bWJlclsxOl0uc3RyaXAoKQogICAgICAgICAgICAgICAgIG51bWJlcnMgPSBzdHJpbmcuc3BsaXQobnVtYmVyLCcsJykKLSAgICAgICAgICAgICAgICBzeXNjYWxsX2lkICA9IGludChudW1iZXJzWzBdKQotICAgICAgICAgICAgICAgIHN5c2NhbGxfaWQyID0gc3lzY2FsbF9pZAotICAgICAgICAgICAgICAgIGlmIGxlbihudW1iZXJzKSA+IDE6Ci0gICAgICAgICAgICAgICAgICAgIHN5c2NhbGxfaWQyID0gaW50KG51bWJlcnNbMV0pCisgICAgICAgICAgICAgICAgaWYgbGVuKG51bWJlcnMpID09IDE6CisgICAgICAgICAgICAgICAgICAgIHN5c2NhbGxfY29tbW9uID0gaW50KG51bWJlcnNbMF0pCisgICAgICAgICAgICAgICAgICAgIHN5c2NhbGxfYXJtID0gLTEKKyAgICAgICAgICAgICAgICAgICAgc3lzY2FsbF94ODYgPSAtMQorICAgICAgICAgICAgICAgICAgICBzeXNjYWxsX21pcHMgPSAtMQorICAgICAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgICAgIGlmIGxlbihudW1iZXJzKSA9PSAzOgorICAgICAgICAgICAgICAgICAgICAgICAgc3lzY2FsbF9jb21tb24gPSAtMQorICAgICAgICAgICAgICAgICAgICAgICAgc3lzY2FsbF9hcm0gID0gaW50KG51bWJlcnNbMF0pCisgICAgICAgICAgICAgICAgICAgICAgICBzeXNjYWxsX3g4NiA9IGludChudW1iZXJzWzFdKQorICAgICAgICAgICAgICAgICAgICAgICAgc3lzY2FsbF9taXBzID0gaW50KG51bWJlcnNbMl0pCisgICAgICAgICAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgICAgICAgICBFKCJpbnZhbGlkIHN5c2NhbGwgbnVtYmVyIGZvcm1hdCBpbiAnJXMnIiAlIGxpbmUpCisgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4KICAgICAgICAgICAgIGV4Y2VwdDoKICAgICAgICAgICAgICAgICBFKCJpbnZhbGlkIHN5c2NhbGwgbnVtYmVyIGluICclcyciICUgbGluZSkKICAgICAgICAgICAgICAgICByZXR1cm4KIAotCQlnbG9iYWwgdmVyYm9zZQorICAgICAgICBnbG9iYWwgdmVyYm9zZQogICAgICAgICBpZiB2ZXJib3NlID49IDI6Ci0gICAgICAgICAgICBpZiBjYWxsX2lkIDwgMDoKLSAgICAgICAgICAgICAgICBwcmludCAiJXM6ICVkLCVkIiAlIChzeXNjYWxsX25hbWUsIHN5c2NhbGxfaWQsIHN5c2NhbGxfaWQyKQorICAgICAgICAgICAgaWYgY2FsbF9pZCA9PSAtMToKKyAgICAgICAgICAgICAgICBpZiBzeXNjYWxsX2NvbW1vbiA9PSAtMToKKyAgICAgICAgICAgICAgICAgICAgcHJpbnQgIiVzOiAlZCwlZCwlZCIgJSAoc3lzY2FsbF9uYW1lLCBzeXNjYWxsX2FybSwgc3lzY2FsbF94ODYsIHN5c2NhbGxfbWlwcykKKyAgICAgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgICAgICBwcmludCAiJXM6ICVkIiAlIChzeXNjYWxsX25hbWUsIHN5c2NhbGxfY29tbW9uKQogICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICBwcmludCAiJXMoJWQpOiAlZCwlZCIgJSAoc3lzY2FsbF9uYW1lLCBjYWxsX2lkLCBzeXNjYWxsX2lkLCBzeXNjYWxsX2lkMikKKyAgICAgICAgICAgICAgICBpZiBzeXNjYWxsX2NvbW1vbiA9PSAtMToKKyAgICAgICAgICAgICAgICAgICAgcHJpbnQgIiVzKCVkKTogJWQsJWQsJWQiICUgKHN5c2NhbGxfbmFtZSwgY2FsbF9pZCwgc3lzY2FsbF9hcm0sIHN5c2NhbGxfeDg2LCBzeXNjYWxsX21pcHMpCisgICAgICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICAgICAgcHJpbnQgIiVzKCVkKTogJWQiICUgKHN5c2NhbGxfbmFtZSwgY2FsbF9pZCwgc3lzY2FsbF9jb21tb24pCiAKLSAgICAgICAgdCA9IHsgImlkIiAgICAgOiBzeXNjYWxsX2lkLAotICAgICAgICAgICAgICAiaWQyIiAgICA6IHN5c2NhbGxfaWQyLAorICAgICAgICB0ID0geyAiYXJtaWQiICA6IHN5c2NhbGxfYXJtLAorICAgICAgICAgICAgICAieDg2aWQiICA6IHN5c2NhbGxfeDg2LAorICAgICAgICAgICAgICAibWlwc2lkIiA6IHN5c2NhbGxfbWlwcywKKyAgICAgICAgICAgICAgImNvbW1vbiIgOiBzeXNjYWxsX2NvbW1vbiwKICAgICAgICAgICAgICAgImNpZCIgICAgOiBjYWxsX2lkLAogICAgICAgICAgICAgICAibmFtZSIgICA6IHN5c2NhbGxfbmFtZSwKICAgICAgICAgICAgICAgImZ1bmMiICAgOiBzeXNjYWxsX2Z1bmMsCiAgICAgICAgICAgICAgICJwYXJhbXMiIDogc3lzY2FsbF9wYXJhbXMsCiAgICAgICAgICAgICAgICJkZWNsIiAgIDogIiUtMTVzICAlcyAoJXMpOyIgJSAocmV0dXJuX3R5cGUsIHN5c2NhbGxfZnVuYywgcGFyYW1zKSB9Ci0KICAgICAgICAgc2VsZi5zeXNjYWxscy5hcHBlbmQodCkKIAogICAgIGRlZiBwYXJzZV9maWxlKHNlbGYsIGZpbGVfcGF0aCk6CmRpZmYgLS1naXQgYS9saWJjL3Rvb2xzL2NoZWNrc3lzY2FsbHMucHkgYi9saWJjL3Rvb2xzL2NoZWNrc3lzY2FsbHMucHkKaW5kZXggMmM1NjNkNy4uMjg2ZTcyNyAxMDA3NTUKLS0tIGEvbGliYy90b29scy9jaGVja3N5c2NhbGxzLnB5CisrKyBiL2xpYmMvdG9vbHMvY2hlY2tzeXNjYWxscy5weQpAQCAtNzAsMTAgKzcwLDE3IEBACiByZV9ucl9jbG9ja19saW5lID0gcmUuY29tcGlsZSggciIjZGVmaW5lIF9fTlJfKFx3KilccypcKF9fTlJfdGltZXJfY3JlYXRlXCsoXHcqKVwpIiApCiByZV9hcm1fbnJfbGluZSAgID0gcmUuY29tcGlsZSggciIjZGVmaW5lIF9fQVJNX05SXyhcdyopXHMqXChfX0FSTV9OUl9CQVNFXCtccyooXHcqKVwpIiApCiByZV94ODZfbGluZSAgICAgID0gcmUuY29tcGlsZSggciIjZGVmaW5lIF9fTlJfKFx3KilccyooWzAtOV0qKSIgKQorcmVfbWlwc19saW5lICAgICA9IHJlLmNvbXBpbGUoIHIiI2RlZmluZSBfX05SXyhcdyopXHMqXChfX05SX0xpbnV4XHMqXCtccyooWzAtOV0qKVwpIiApCiAKICMgbm93IHJlYWQgdGhlIExpbnV4IGFybSBoZWFkZXIKIGRlZiBwcm9jZXNzX25yX2xpbmUobGluZSxkaWN0KToKIAorICAgIG0gPSByZV9taXBzX2xpbmUubWF0Y2gobGluZSkKKyAgICBpZiBtOgorICAgICAgICBpZiBkaWN0WyJMaW51eCJdPT00MDAwOgorICAgICAgICAgICAgZGljdFttLmdyb3VwKDEpXSA9IGludChtLmdyb3VwKDIpKQorICAgICAgICByZXR1cm4KKwogICAgIG0gPSByZV9ucl9saW5lLm1hdGNoKGxpbmUpCiAgICAgaWYgbToKICAgICAgICAgZGljdFttLmdyb3VwKDEpXSA9IGludChtLmdyb3VwKDIpKQpAQCAtMTE4LDYgKzEyNSw3IEBACiAKIGFybV9kaWN0ID0ge30KIHg4Nl9kaWN0ID0ge30KK21pcHNfZGljdCA9IHt9CiAKICMgcmVtb3ZlIHRyYWlsaW5nIHNsYXNoIGZyb20gdGhlIGxpbnV4X3Jvb3QsIGlmIGFueQogaWYgbGludXhfcm9vdFstMV0gPT0gJy8nOgpAQCAtMTQxLDggKzE0OSwxNSBAQAogICAgICAgICBwcmludCAibWF5YmUgdXNpbmcgYSBkaWZmZXJlbnQgc2V0IG9mIGtlcm5lbCBoZWFkZXJzIG1pZ2h0IGhlbHAuIgogICAgICAgICBzeXMuZXhpdCgxKQogCittaXBzX3VuaXN0ZCA9IGZpbmRfYXJjaF9oZWFkZXIobGludXhfcm9vdCwgIm1pcHMiLCAidW5pc3RkLmgiKQoraWYgbm90IG1pcHNfdW5pc3RkOgorICAgIHByaW50ICJXRUlSRDogQ291bGQgbm90IGxvY2F0ZSB0aGUgTWlwcyB1bmlzdGQuaCBrZXJuZWwgaGVhZGVyIGZpbGUsIgorICAgIHByaW50ICJtYXliZSB1c2luZyBhIGRpZmZlcmVudCBzZXQgb2Yga2VybmVsIGhlYWRlcnMgbWlnaHQgaGVscC4iCisgICAgc3lzLmV4aXQoMSkKKwogcHJvY2Vzc19oZWFkZXIoIGFybV91bmlzdGQsIGFybV9kaWN0ICkKIHByb2Nlc3NfaGVhZGVyKCB4ODZfdW5pc3RkLCB4ODZfZGljdCApCitwcm9jZXNzX2hlYWRlciggbWlwc191bmlzdGQsIG1pcHNfZGljdCApCiAKICMgbm93IHBlcmZvcm0gdGhlIGNvbXBhcmlzb24KIGVycm9ycyA9IDAKQEAgLTE1NCwxOCArMTY5LDE5IEBACiAgICAgICAgIHNjX2lkICAgPSBzY1tpZG5hbWVdCiAgICAgICAgIGlmIHNjX2lkID49IDA6CiAgICAgICAgICAgICBpZiBub3QgYXJjaF9kaWN0Lmhhc19rZXkoc2NfbmFtZSk6Ci0gICAgICAgICAgICAgICAgcHJpbnQgIiVzIHN5c2NhbGwgJXMgbm90IGRlZmluZWQsIHNob3VsZCBiZSAlZCAhISIgJSAoYXJjaG5hbWUsIHNjX25hbWUsIHNjX2lkKQorICAgICAgICAgICAgICAgIHByaW50ICJlcnJvcjogJXMgc3lzY2FsbCAlcyBub3QgZGVmaW5lZCwgc2hvdWxkIGJlICVkIiAlIChhcmNobmFtZSwgc2NfbmFtZSwgc2NfaWQpCiAgICAgICAgICAgICAgICAgZXJyb3JzICs9IDEKICAgICAgICAgICAgIGVsaWYgbm90IGFyY2hfZGljdC5oYXNfa2V5KHNjX25hbWUpOgotICAgICAgICAgICAgICAgIHByaW50ICIlcyBzeXNjYWxsICVzIGlzIG5vdCBpbXBsZW1lbnRlZCEiICUgKGFyY2huYW1lLCBzY19uYW1lKQorICAgICAgICAgICAgICAgIHByaW50ICJlcnJvcjogJXMgc3lzY2FsbCAlcyBpcyBub3QgaW1wbGVtZW50ZWQiICUgKGFyY2huYW1lLCBzY19uYW1lKQogICAgICAgICAgICAgICAgIGVycm9ycyArPSAxCiAgICAgICAgICAgICBlbGlmIGFyY2hfZGljdFtzY19uYW1lXSAhPSBzY19pZDoKLSAgICAgICAgICAgICAgICBwcmludCAiJXMgc3lzY2FsbCAlcyBzaG91bGQgYmUgJWQgaW5zdGVhZCBvZiAlZCAhISIgJSAoYXJjaG5hbWUsIHNjX25hbWUsIGFyY2hfZGljdFtzY19uYW1lXSwgc2NfaWQpCisgICAgICAgICAgICAgICAgcHJpbnQgImVycm9yOiAlcyBzeXNjYWxsICVzIHNob3VsZCBiZSAlZCBpbnN0ZWFkIG9mICVkIiAlIChhcmNobmFtZSwgc2NfbmFtZSwgYXJjaF9kaWN0W3NjX25hbWVdLCBzY19pZCkKICAgICAgICAgICAgICAgICBlcnJvcnMgKz0gMQogICAgIHJldHVybiBlcnJvcnMKIAotZXJyb3JzICs9IGNoZWNrX3N5c2NhbGxzKCJhcm0iLCAiaWQiLCBhcm1fZGljdCkKLWVycm9ycyArPSBjaGVja19zeXNjYWxscygieDg2IiwgImlkMiIsIHg4Nl9kaWN0KQorZXJyb3JzICs9IGNoZWNrX3N5c2NhbGxzKCJhcm0iLCAiYXJtaWQiLCBhcm1fZGljdCkKK2Vycm9ycyArPSBjaGVja19zeXNjYWxscygieDg2IiwgIng4NmlkIiwgeDg2X2RpY3QpCitlcnJvcnMgKz0gY2hlY2tfc3lzY2FsbHMoIm1pcHMiLCAibWlwc2lkIiwgbWlwc19kaWN0KQogCiBpZiBlcnJvcnMgPT0gMDoKICAgICBwcmludCAiY29uZ3JhdHVsYXRpb25zLCBldmVyeXRoaW5nJ3MgZmluZSAhISIKZGlmZiAtLWdpdCBhL2xpYmMvdG9vbHMvZ2Vuc3lzY2FsbHMucHkgYi9saWJjL3Rvb2xzL2dlbnN5c2NhbGxzLnB5CmluZGV4IGJmYTlmY2MuLjlhOGE4YzcgMTAwNzU1Ci0tLSBhL2xpYmMvdG9vbHMvZ2Vuc3lzY2FsbHMucHkKKysrIGIvbGliYy90b29scy9nZW5zeXNjYWxscy5weQpAQCAtMSwxMSArMSwxMiBAQAogIyEvdXNyL2Jpbi9weXRob24KICMKLSMgdGhpcyB0b29sIGlzIHVzZWQgdG8gZ2VuZXJhdGUgdGhlIHN5c2NhbGwgYXNzbWJsZXIgdGVtcGxhdGVzCi0jIHRvIGJlIHBsYWNlZCBpbnRvIGFyY2gteDg2L3N5c2NhbGxzLCBhcyB3ZWxsIGFzIHRoZSBjb250ZW50Ci0jIG9mIGFyY2gteDg2L2xpbnV4L19zeXNjYWxscy5oCisjIHRoaXMgdG9vbCBpcyB1c2VkIHRvIGdlbmVyYXRlIHRoZSBzeXNjYWxsIGFzc2VtYmxlciB0ZW1wbGF0ZXMKKyMgdG8gYmUgcGxhY2VkIGludG8gYXJjaC17YXJtLHg4NixtaXBzfS9zeXNjYWxscywgYXMgd2VsbCBhcyB0aGUgY29udGVudAorIyBvZiBhcmNoLXthcm0seDg2LG1pcHN9L2xpbnV4L19zeXNjYWxscy5oCiAjCiAKIGltcG9ydCBzeXMsIG9zLnBhdGgsIGdsb2IsIHJlLCBjb21tYW5kcywgZmlsZWNtcCwgc2h1dGlsCitpbXBvcnQgZ2V0cGFzcwogCiBmcm9tIGJpb25pY191dGlscyBpbXBvcnQgKgogCkBAIC0zMSw5ICszMiwxMCBAQAogYmlvbmljX3RlbXAgPSAiL3RtcC9iaW9uaWNfZ2Vuc3lzY2FsbHMvIgogCiAjIGFsbCBhcmNoaXRlY3R1cmVzLCB1cGRhdGUgYXMgeW91IHNlZSBmaXQKLWFsbF9hcmNocyA9IFsgImFybSIsICJ4ODYiIF0KK2FsbF9hcmNocyA9IFsgImFybSIsICJ4ODYiLCAibWlwcyIgXQogCiBkZWYgbWFrZV9kaXIoIHBhdGggKToKKyAgICBwYXRoID0gb3MucGF0aC5hYnNwYXRoKHBhdGgpCiAgICAgaWYgbm90IG9zLnBhdGguZXhpc3RzKHBhdGgpOgogICAgICAgICBwYXJlbnQgPSBvcy5wYXRoLmRpcm5hbWUocGF0aCkKICAgICAgICAgaWYgcGFyZW50OgpAQCAtMTgzLDYgKzE4NSwzMiBAQAogICAgIC5mbmVuZAogIiIiCiAKKyMgbWlwcyBhc3NlbWJsZXIgdGVtcGxhdGVzIGZvciBlYWNoIHN5c2NhbGwgc3R1YgorIworbWlwc19jYWxsID0gIiIiLyogYXV0b2dlbmVyYXRlZCBieSBnZW5zeXNjYWxscy5weSAqLworI2luY2x1ZGUgPHN5cy9saW51eC1zeXNjYWxscy5oPgorICAgIC50ZXh0CisgICAgLmdsb2JsICUoZm5hbWUpcworICAgIC5hbGlnbiA0CisgICAgLmVudCAlKGZuYW1lKXMKKworJShmbmFtZSlzOgorICAgIC5zZXQgbm9yZW9yZGVyCisgICAgLmNwbG9hZCAkdDkKKyAgICBsaSAkdjAsICUoaWRuYW1lKXMKKyAgICBzeXNjYWxsCisgICAgYm5leiAkYTMsIDFmCisgICAgbW92ZSAkYTAsICR2MAorICAgIGogJHJhCisgICAgbm9wCisxOgorICAgIGxhICR0OSxfX3NldF9lcnJubworICAgIGogJHQ5CisgICAgbm9wCisgICAgLnNldCByZW9yZGVyCisgICAgLmVuZCAlKGZuYW1lKXMKKyIiIgorCiBkZWYgcGFyYW1fdXNlc182NGJpdHMocGFyYW0pOgogICAgICIiIlJldHVybnMgVHJ1ZSBpZmYgYSBzeXNjYWxsIHBhcmFtZXRlciBkZXNjcmlwdGlvbiBjb3JyZXNwb25kcwogICAgICAgIHRvIGEgNjQtYml0IHR5cGUuIiIiCkBAIC0zMzEsNiArMzU5LDEwIEBACiAgICAgICAgICAgICAgICAgcmV0dXJuIHRodW1iX2NhbGxfbG9uZyAlIHQKICAgICAgICAgcmV0dXJuIHRodW1iX2NhbGxfZGVmYXVsdCAlIHQKIAorICAgIGRlZiBtaXBzX2dlbnN0dWIoc2VsZixmbmFtZSwgaWRuYW1lKToKKyAgICAgICAgdCA9IHsgImZuYW1lIiAgOiBmbmFtZSwKKyAgICAgICAgICAgICAgImlkbmFtZSIgOiBpZG5hbWUgfQorICAgICAgICByZXR1cm4gbWlwc19jYWxsICUgdAogCiAgICAgZGVmIHN1cGVyaF9nZW5zdHViKHNlbGYsIGZuYW1lLCBmbGFncywgaWRuYW1lKToKICAgICAgICAgbnVtYXJncyA9IGludChmbGFncykKQEAgLTM2MCw3ICszOTIsNyBAQAogICAgICAgICAgICAgc3lzY2FsbF9wYXJhbXMgPSB0WyJwYXJhbXMiXQogICAgICAgICAgICAgc3lzY2FsbF9uYW1lICAgPSB0WyJuYW1lIl0KIAotICAgICAgICAgICAgaWYgdFsiaWQiXSA+PSAwOgorICAgICAgICAgICAgaWYgdFsiY29tbW9uIl0gPj0gMCBvciB0WyJhcm1pZCJdID49IDA6CiAgICAgICAgICAgICAgICAgbnVtX3JlZ3MgPSBjb3VudF9hcm1fcGFyYW1fcmVnaXN0ZXJzKHN5c2NhbGxfcGFyYW1zKQogICAgICAgICAgICAgICAgIGlmIGdlbl90aHVtYl9zdHViczoKICAgICAgICAgICAgICAgICAgICAgdFsiYXNtLXRodW1iIl0gPSBzZWxmLnRodW1iX2dlbnN0dWIoc3lzY2FsbF9mdW5jLG51bV9yZWdzLCJfX05SXyIrc3lzY2FsbF9uYW1lKQpAQCAtMzcwLDcgKzQwMiw3IEBACiAgICAgICAgICAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICAgICAgICAgICB0WyJhc20tYXJtIl0gICA9IHNlbGYuYXJtX2dlbnN0dWIoc3lzY2FsbF9mdW5jLG51bV9yZWdzLCJfX05SXyIrc3lzY2FsbF9uYW1lKQogCi0gICAgICAgICAgICBpZiB0WyJpZDIiXSA+PSAwOgorICAgICAgICAgICAgaWYgdFsiY29tbW9uIl0gPj0gMCBvciB0WyJ4ODZpZCJdID49IDA6CiAgICAgICAgICAgICAgICAgbnVtX3JlZ3MgPSBjb3VudF9nZW5lcmljX3BhcmFtX3JlZ2lzdGVycyhzeXNjYWxsX3BhcmFtcykKICAgICAgICAgICAgICAgICBpZiB0WyJjaWQiXSA+PSAwOgogICAgICAgICAgICAgICAgICAgICB0WyJhc20teDg2Il0gPSBzZWxmLng4Nl9nZW5zdHViX2NpZChzeXNjYWxsX2Z1bmMsIG51bV9yZWdzLCAiX19OUl8iK3N5c2NhbGxfbmFtZSwgdFsiY2lkIl0pCkBAIC0zODAsNTUgKzQxMiw2NSBAQAogICAgICAgICAgICAgICAgIEUoImNpZCBmb3IgZGlzcGF0Y2ggc3lzY2FsbHMgaXMgb25seSBzdXBwb3J0ZWQgZm9yIHg4NiBpbiAiCiAgICAgICAgICAgICAgICAgICAiJyVzJyIgJSBzeXNjYWxsX25hbWUpCiAgICAgICAgICAgICAgICAgcmV0dXJuCisgICAgICAgICAgICBpZiB0WyJjb21tb24iXSA+PSAwIG9yIHRbIm1pcHNpZCJdID49IDA6CisgICAgICAgICAgICAgICAgdFsiYXNtLW1pcHMiXSA9IHNlbGYubWlwc19nZW5zdHViKHN5c2NhbGxfZnVuYywiX19OUl8iK3N5c2NhbGxfbmFtZSkKIAogCiAgICAgZGVmIGdlbl9OUl9zeXNjYWxsKHNlbGYsZnAsbmFtZSxpZCk6CiAgICAgICAgIGZwLndyaXRlKCAiI2RlZmluZSBfX05SXyUtMjVzICAgIChfX05SX1NZU0NBTExfQkFTRSArICVkKVxuIiAlIChuYW1lLGlkKSApCiAKLSAgICAjIG5vdyBkdW1wIHRoZSBjb250ZW50IG9mIGxpbnV4L19zeXNjYWxscy5oCisgICAgIyBub3cgZHVtcCB0aGUgY29udGVudCBvZiBsaW51eC1zeXNjYWxscy5oCiAgICAgZGVmIGdlbl9saW51eF9zeXNjYWxsc19oKHNlbGYpOgogICAgICAgICBwYXRoID0gImluY2x1ZGUvc3lzL2xpbnV4LXN5c2NhbGxzLmgiCiAgICAgICAgIEQoICJnZW5lcmF0aW5nICIrcGF0aCApCiAgICAgICAgIGZwID0gY3JlYXRlX2ZpbGUoIHBhdGggKQogICAgICAgICBmcC53cml0ZSggIi8qIGF1dG8tZ2VuZXJhdGVkIGJ5IGdlbnN5c2NhbGxzLnB5LCBkbyBub3QgdG91Y2ggKi9cbiIgKQotICAgICAgICBmcC53cml0ZSggIiNpZm5kZWYgX0JJT05JQ19MSU5VWF9TWVNDQUxMU19IX1xuXG4iICkKLSAgICAgICAgZnAud3JpdGUoICIjaWYgIWRlZmluZWQgX19BU01fQVJNX1VOSVNURF9IICYmICFkZWZpbmVkIF9fQVNNX0kzODZfVU5JU1REX0hcbiIgKQorICAgICAgICBmcC53cml0ZSggIiNpZm5kZWYgX0JJT05JQ19MSU5VWF9TWVNDQUxMU19IX1xuIiApCisgICAgICAgIGZwLndyaXRlKCAiI2RlZmluZSBfQklPTklDX0xJTlVYX1NZU0NBTExTX0hfXG5cbiIgKQorICAgICAgICBmcC53cml0ZSggIiNpZiAhZGVmaW5lZCBfX0FTTV9BUk1fVU5JU1REX0ggJiYgIWRlZmluZWQgX19BU01fSTM4Nl9VTklTVERfSCAmJiAhZGVmaW5lZCBfX0FTTV9NSVBTX1VOSVNURF9IXG4iICkKICAgICAgICAgZnAud3JpdGUoICIjaWYgZGVmaW5lZCBfX2FybV9fICYmICFkZWZpbmVkIF9fQVJNX0VBQklfXyAmJiAhZGVmaW5lZCBfX3RodW1iX19cbiIgKQotICAgICAgICBmcC53cml0ZSggIiAgIyAgZGVmaW5lIF9fTlJfU1lTQ0FMTF9CQVNFICAweDkwMDAwMFxuIiApCi0gICAgICAgIGZwLndyaXRlKCAiICAjZWxzZVxuIiApCi0gICAgICAgIGZwLndyaXRlKCAiICAjICBkZWZpbmUgIF9fTlJfU1lTQ0FMTF9CQVNFICAwXG4iICkKLSAgICAgICAgZnAud3JpdGUoICIgICNlbmRpZlxuXG4iICkKKyAgICAgICAgZnAud3JpdGUoICIgICMgIGRlZmluZSBfX05SX1NZU0NBTExfQkFTRSAweDkwMDAwMFxuIiApCisgICAgICAgIGZwLndyaXRlKCAiI2VsaWYgZGVmaW5lZChfX21pcHNfXylcbiIgKQorICAgICAgICBmcC53cml0ZSggIiAgIyAgZGVmaW5lIF9fTlJfU1lTQ0FMTF9CQVNFIDQwMDBcbiIgKQorICAgICAgICBmcC53cml0ZSggIiNlbHNlXG4iICkKKyAgICAgICAgZnAud3JpdGUoICIgICMgIGRlZmluZSBfX05SX1NZU0NBTExfQkFTRSAwXG4iICkKKyAgICAgICAgZnAud3JpdGUoICIjZW5kaWZcblxuIiApCiAKICAgICAgICAgIyBmaXJzdCwgYWxsIGNvbW1vbiBzeXNjYWxscwotICAgICAgICBmb3Igc2MgaW4gc2VsZi5zeXNjYWxsczoKLSAgICAgICAgICAgIHNjX2lkICA9IHNjWyJpZCJdCi0gICAgICAgICAgICBzY19pZDIgPSBzY1siaWQyIl0KKyAgICAgICAgZm9yIHNjIGluIHNvcnRlZChzZWxmLnN5c2NhbGxzLGtleT1sYW1iZGEgeDp4WyJjb21tb24iXSk6CisgICAgICAgICAgICBzY19pZCAgPSBzY1siY29tbW9uIl0KICAgICAgICAgICAgIHNjX25hbWUgPSBzY1sibmFtZSJdCi0gICAgICAgICAgICBpZiBzY19pZCA9PSBzY19pZDIgYW5kIHNjX2lkID49IDA6CisgICAgICAgICAgICBpZiBzY19pZCA+PSAwOgogICAgICAgICAgICAgICAgIHNlbGYuZ2VuX05SX3N5c2NhbGwoIGZwLCBzY19uYW1lLCBzY19pZCApCiAKICAgICAgICAgIyBub3csIGFsbCBhcm0tc3BlY2lmaWMgc3lzY2FsbHMKICAgICAgICAgZnAud3JpdGUoICJcbiNpZmRlZiBfX2FybV9fXG4iICk7CiAgICAgICAgIGZvciBzYyBpbiBzZWxmLnN5c2NhbGxzOgotICAgICAgICAgICAgc2NfaWQgID0gc2NbImlkIl0KLSAgICAgICAgICAgIHNjX2lkMiA9IHNjWyJpZDIiXQorICAgICAgICAgICAgc2NfaWQgID0gc2NbImFybWlkIl0KICAgICAgICAgICAgIHNjX25hbWUgPSBzY1sibmFtZSJdCi0gICAgICAgICAgICBpZiBzY19pZCAhPSBzY19pZDIgYW5kIHNjX2lkID49IDA6CisgICAgICAgICAgICBpZiBzY19pZCA+PSAwOgogICAgICAgICAgICAgICAgIHNlbGYuZ2VuX05SX3N5c2NhbGwoIGZwLCBzY19uYW1lLCBzY19pZCApCiAgICAgICAgIGZwLndyaXRlKCAiI2VuZGlmXG4iICk7CiAKICAgICAgICAgZ2VuX3N5c2NhbGxzID0ge30KICAgICAgICAgIyBmaW5hbGx5LCBhbGwgaTM4Ni1zcGVjaWZpYyBzeXNjYWxscwogICAgICAgICBmcC53cml0ZSggIlxuI2lmZGVmIF9faTM4Nl9fXG4iICk7Ci0gICAgICAgIGZvciBzYyBpbiBzZWxmLnN5c2NhbGxzOgotICAgICAgICAgICAgc2NfaWQgID0gc2NbImlkIl0KLSAgICAgICAgICAgIHNjX2lkMiA9IHNjWyJpZDIiXQorICAgICAgICBmb3Igc2MgaW4gc29ydGVkKHNlbGYuc3lzY2FsbHMsa2V5PWxhbWJkYSB4OnhbIng4NmlkIl0pOgorICAgICAgICAgICAgc2NfaWQgID0gc2NbIng4NmlkIl0KICAgICAgICAgICAgIHNjX25hbWUgPSBzY1sibmFtZSJdCi0gICAgICAgICAgICBpZiBzY19pZCAhPSBzY19pZDIgYW5kIHNjX2lkMiA+PSAwIGFuZCBzY19uYW1lIG5vdCBpbiBnZW5fc3lzY2FsbHM6Ci0gICAgICAgICAgICAgICAgc2VsZi5nZW5fTlJfc3lzY2FsbCggZnAsIHNjX25hbWUsIHNjX2lkMiApCisgICAgICAgICAgICBpZiBzY19pZCA+PSAwIGFuZCBzY19uYW1lIG5vdCBpbiBnZW5fc3lzY2FsbHM6CisgICAgICAgICAgICAgICAgc2VsZi5nZW5fTlJfc3lzY2FsbCggZnAsIHNjX25hbWUsIHNjX2lkICkKICAgICAgICAgICAgICAgICBnZW5fc3lzY2FsbHNbc2NfbmFtZV0gPSBUcnVlCiAgICAgICAgIGZwLndyaXRlKCAiI2VuZGlmXG4iICk7CiAKKyAgICAgICAgIyBhbGwgbWlwcy1zcGVjaWZpYyBzeXNjYWxscworICAgICAgICBmcC53cml0ZSggIlxuI2lmZGVmIF9fbWlwc19fXG4iICk7CisgICAgICAgIGZvciBzYyBpbiBzb3J0ZWQoc2VsZi5zeXNjYWxscyxrZXk9bGFtYmRhIHg6eFsibWlwc2lkIl0pOgorICAgICAgICAgICAgc2NfaWQgPSBzY1sibWlwc2lkIl0KKyAgICAgICAgICAgIGlmIHNjX2lkID49IDA6CisgICAgICAgICAgICAgICAgc2VsZi5nZW5fTlJfc3lzY2FsbCggZnAsIHNjWyJuYW1lIl0sIHNjX2lkICkKKyAgICAgICAgZnAud3JpdGUoICIjZW5kaWZcbiIgKTsKKwogICAgICAgICBmcC53cml0ZSggIlxuI2VuZGlmXG4iICkKICAgICAgICAgZnAud3JpdGUoICJcbiNlbmRpZiAvKiBfQklPTklDX0xJTlVYX1NZU0NBTExTX0hfICovXG4iICk7CiAgICAgICAgIGZwLmNsb3NlKCkKQEAgLTQ0NSw2ICs0ODcsNyBAQAogICAgICAgICBhcmNoX3Rlc3QgPSB7CiAgICAgICAgICAgICAiYXJtIjogbGFtYmRhIHg6IHguaGFzX2tleSgiYXNtLWFybSIpIG9yIHguaGFzX2tleSgiYXNtLXRodW1iIiksCiAgICAgICAgICAgICAieDg2IjogbGFtYmRhIHg6IHguaGFzX2tleSgiYXNtLXg4NiIpLAorICAgICAgICAgICAgIm1pcHMiOiBsYW1iZGEgeDogeC5oYXNfa2V5KCJhc20tbWlwcyIpCiAgICAgICAgIH0KIAogICAgICAgICBmb3Igc2MgaW4gc2VsZi5zeXNjYWxsczoKQEAgLTQ1NCw2ICs0OTcsNyBAQAogICAgICAgICBmcC5jbG9zZSgpCiAgICAgICAgIHNlbGYub3RoZXJfZmlsZXMuYXBwZW5kKCBwYXRoICkKIAorCiAgICAgIyBub3cgZ2VuZXJhdGUgZWFjaCBzeXNjYWxsIHN0dWIKICAgICBkZWYgZ2VuX3N5c2NhbGxfc3R1YnMoc2VsZik6CiAgICAgICAgIGZvciBzYyBpbiBzZWxmLnN5c2NhbGxzOgpAQCAtNDgxLDYgKzUyNSwxMyBAQAogICAgICAgICAgICAgICAgIGZwLmNsb3NlKCkKICAgICAgICAgICAgICAgICBzZWxmLm5ld19zdHVicy5hcHBlbmQoIGZuYW1lICkKIAorICAgICAgICAgICAgaWYgc2MuaGFzX2tleSgiYXNtLW1pcHMiKSBhbmQgJ21pcHMnIGluIGFsbF9hcmNoczoKKyAgICAgICAgICAgICAgICBmbmFtZSA9ICJhcmNoLW1pcHMvc3lzY2FsbHMvJXMuUyIgJSBzY1siZnVuYyJdCisgICAgICAgICAgICAgICAgRDIoICI+Pj4gZ2VuZXJhdGluZyAiK2ZuYW1lICkKKyAgICAgICAgICAgICAgICBmcCA9IGNyZWF0ZV9maWxlKCBmbmFtZSApCisgICAgICAgICAgICAgICAgZnAud3JpdGUoc2NbImFzbS1taXBzIl0pCisgICAgICAgICAgICAgICAgZnAuY2xvc2UoKQorICAgICAgICAgICAgICAgIHNlbGYubmV3X3N0dWJzLmFwcGVuZCggZm5hbWUgKQogCiAgICAgZGVmICByZWdlbmVyYXRlKHNlbGYpOgogICAgICAgICBEKCAic2Nhbm5pbmcgZm9yIGV4aXN0aW5nIGFyY2hpdGVjdHVyZS1zcGVjaWZpYyBzdHViIGZpbGVzIiApCkBAIC00OTgsNyArNTQ5LDcgQEAKIAogICAgICAgICBpZiBub3Qgb3MucGF0aC5leGlzdHMoIGJpb25pY190ZW1wICk6CiAgICAgICAgICAgICBEKCAiY3JlYXRpbmcgJXMiICUgYmlvbmljX3RlbXAgKQotICAgICAgICAgICAgb3MubWtkaXIoIGJpb25pY190ZW1wICkKKyAgICAgICAgICAgIG1ha2VfZGlyKCBiaW9uaWNfdGVtcCApCiAKICMgICAgICAgIEQoICJwNCBlZGl0aW5nIHNvdXJjZSBmaWxlcyIgKQogIyAgICAgICAgZm9yIGFyY2ggaW4gYWxsX2FyY2hzOgpkaWZmIC0tZ2l0IGEvbGliZGwvbGliZGwuYyBiL2xpYmRsL2xpYmRsLmMKaW5kZXggODcyYzBjOS4uMWQ1MWMzNyAxMDA2NDQKLS0tIGEvbGliZGwvbGliZGwuYworKysgYi9saWJkbC9saWJkbC5jCkBAIC0yNiwxMSArMjYsMTEgQEAKIAogI2lmZGVmIF9fYXJtX18KIHZvaWQgKmRsX3Vud2luZF9maW5kX2V4aWR4KHZvaWQgKnBjLCBpbnQgKnBjb3VudCkgeyByZXR1cm4gMDsgfQotI2VsaWYgZGVmaW5lZChfX2kzODZfXykgfHwgZGVmaW5lZChfX3NoX18pCisjZWxpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBkZWZpbmVkKF9fc2hfXykgfHwgZGVmaW5lZChfX21pcHNfXykKIC8qIHdlIG11bmdlIHRoZSBjYiBkZWZpbml0aW9uIHNvIHdlIGRvbid0IGhhdmUgdG8gaW5jbHVkZSBhbnkgaGVhZGVycyBoZXJlLgogICogSXQgd29uJ3QgYWZmZWN0IGFueXRoaW5nIHNpbmNlIHRoZXNlIGFyZSBqdXN0IHN5bWJvbHMgYW55d2F5ICovCiBpbnQgZGxfaXRlcmF0ZV9waGRyKGludCAoKmNiKSh2b2lkICppbmZvLCB2b2lkICpzaXplLCB2b2lkICpkYXRhKSwKICAgICAgICAgICAgICAgICAgICAgdm9pZCAqZGF0YSkgeyByZXR1cm4gMDsgfQogI2Vsc2UKLSNlcnJvciBVbnN1cHBvcnRlZCBhcmNoaXRlY3R1cmUuIE9ubHkgYXJtIGFuZCB4ODYgYXJlIHN1cHBvcnRlZC4KKyNlcnJvciBVbnN1cHBvcnRlZCBhcmNoaXRlY3R1cmUuIE9ubHkgbWlwcywgYXJtIGFuZCB4ODYgYXJlIHN1cHBvcnRlZC4KICNlbmRpZgpkaWZmIC0tZ2l0IGEvbGlibS9BbmRyb2lkLm1rIGIvbGlibS9BbmRyb2lkLm1rCmluZGV4IDU3ZTRkNGMuLjA3Y2I3ZGIgMTAwNjQ0Ci0tLSBhL2xpYm0vQW5kcm9pZC5taworKysgYi9saWJtL0FuZHJvaWQubWsKQEAgLTE1Miw2ICsxNTIsNyBAQAogCXNyYy9zX2lzbmFuLmMgXAogCXNyYy9zX21vZGYuYwogCitsaWJtX2NvbW1vbl9jZmxhZ3MgOj0KIAogaWZlcSAoJChUQVJHRVRfQVJDSCksYXJtKQogICBsaWJtX2NvbW1vbl9zcmNfZmlsZXMgKz0gXApAQCAtMTYyLDIxICsxNjMsMjkgQEAKIAlzcmMvc19zY2FsYm5mLmMKIAogICBsaWJtX2NvbW1vbl9pbmNsdWRlcyA9ICQoTE9DQUxfUEFUSCkvYXJtCitlbmRpZgogCi1lbHNlCi0gIGlmZXEgKCQoVEFSR0VUX09TKS0kKFRBUkdFVF9BUkNIKSxsaW51eC14ODYpCi0gICAgbGlibV9jb21tb25fc3JjX2ZpbGVzICs9IFwKK2lmZXEgKCQoVEFSR0VUX09TKS0kKFRBUkdFVF9BUkNIKSxsaW51eC14ODYpCisgIGxpYm1fY29tbW9uX3NyY19maWxlcyArPSBcCiAJaTM4Ny9mZW52LmMgXAogCWkzODcvc19zY2FsYm5sLlMgXAogCWkzODcvc19zY2FsYm4uUyBcCiAJaTM4Ny9zX3NjYWxibmYuUwogCi0gICAgbGlibV9jb21tb25faW5jbHVkZXMgPSAkKExPQ0FMX1BBVEgpL2kzODYgJChMT0NBTF9QQVRIKS9pMzg3Ci0gIGVsc2UKLSAgICAkKGVycm9yICJVbmtub3duIGFyY2hpdGVjdHVyZSIpCi0gIGVuZGlmCisgIGxpYm1fY29tbW9uX2luY2x1ZGVzID0gJChMT0NBTF9QQVRIKS9pMzg2ICQoTE9DQUxfUEFUSCkvaTM4NwogZW5kaWYKK2lmZXEgKCQoVEFSR0VUX0FSQ0gpLG1pcHMpCisgIGxpYm1fY29tbW9uX3NyY19maWxlcyArPSBcCisJbWlwcy9mZW52LmMgXAorCXNyYy9lX2xkZXhwZi5jIFwKKwlzcmMvc19zY2FsYmxuLmMgXAorCXNyYy9zX3NjYWxibi5jIFwKKwlzcmMvc19zY2FsYm5mLmMKIAorICBsaWJtX2NvbW1vbl9pbmNsdWRlcyA9ICQoTE9DQUxfUEFUSCkvbWlwcworICAjIE5lZWQgdG8gYnVpbGQgKnJpbnQqIGZ1bmN0aW9ucworICBsaWJtX2NvbW1vbl9jZmxhZ3MgKz0gLWZuby1idWlsdGluLXJpbnRmIC1mbm8tYnVpbHRpbi1yaW50CitlbmRpZgogCiAjIGxpYm0uYQogIyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpAQCAtMTg4LDYgKzE5Nyw3IEBACiAKIExPQ0FMX0FSTV9NT0RFIDo9IGFybQogTE9DQUxfQ19JTkNMVURFUyArPSAkKGxpYm1fY29tbW9uX2luY2x1ZGVzKQorTE9DQUxfQ0ZMQUdTIDo9ICQobGlibV9jb21tb25fY2ZsYWdzKQogCiBMT0NBTF9NT0RVTEU6PSBsaWJtCiAKQEAgLTIwNiw2ICsyMTYsNyBAQAogTE9DQUxfQVJNX01PREUgOj0gYXJtCiAKIExPQ0FMX0NfSU5DTFVERVMgKz0gJChsaWJtX2NvbW1vbl9pbmNsdWRlcykKK0xPQ0FMX0NGTEFHUyA6PSAkKGxpYm1fY29tbW9uX2NmbGFncykKIAogTE9DQUxfTU9EVUxFOj0gbGlibQogCmRpZmYgLS1naXQgYS9saWJtL21pcHMvTWFrZWZpbGUuaW5jIGIvbGlibS9taXBzL01ha2VmaWxlLmluYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45YmJmYWExCi0tLSAvZGV2L251bGwKKysrIGIvbGlibS9taXBzL01ha2VmaWxlLmluYwpAQCAtMCwwICsxLDMgQEAKKyMgJEZyZWVCU0Q6IHNyYy9saWIvbXN1bi9taXBzL01ha2VmaWxlLmluYyx2IDEuMSAyMDA4LzA0LzI2IDEyOjIwOjI5IGltcCBFeHAgJAorCitMREJMX1BSRUMgPSA1MwpkaWZmIC0tZ2l0IGEvbGlibS9taXBzL19mcG1hdGguaCBiL2xpYm0vbWlwcy9fZnBtYXRoLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2I2ZThjMAotLS0gL2Rldi9udWxsCisrKyBiL2xpYm0vbWlwcy9fZnBtYXRoLmgKQEAgLTAsMCArMSw1NiBAQAorLyotCisgKiBDb3B5cmlnaHQgKGMpIDIwMDIsIDIwMDMgRGF2aWQgU2NodWx0eiA8ZGFzQEZyZWVCU0QuT1JHPgorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBBVVRIT1IgQU5EIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5ECisgKiBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFCisgKiBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1IgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorICogRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwKKyAqIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTCisgKiBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikKKyAqIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUCisgKiBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZCisgKiBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GCisgKiBTVUNIIERBTUFHRS4KKyAqCisgKiAkRnJlZUJTRDogc3JjL2xpYi9saWJjL21pcHMvX2ZwbWF0aC5oLHYgMS4xIDIwMDgvMDQvMjYgMTI6MDc6NTkgaW1wIEV4cCAkCisgKi8KKwordW5pb24gSUVFRWwyYml0cyB7CisJbG9uZyBkb3VibGUJZTsKKwlzdHJ1Y3QgeworI2lmbmRlZiBfX01JUFNFQl9fCisJCXVuc2lnbmVkIGludAltYW5sCTozMjsKKwkJdW5zaWduZWQgaW50CW1hbmgJOjIwOworCQl1bnNpZ25lZCBpbnQJZXhwCToxMTsKKwkJdW5zaWduZWQgaW50CXNpZ24JOjE7CisjZWxzZQorCQl1bnNpZ25lZCBpbnQJCXNpZ24JOjE7CisJCXVuc2lnbmVkIGludAkJZXhwCToxMTsKKwkJdW5zaWduZWQgaW50CQltYW5oCToyMDsKKwkJdW5zaWduZWQgaW50CQltYW5sCTozMjsKKyNlbmRpZgorCX0gYml0czsKK307CisKKyNkZWZpbmUJTERCTF9OQklUCTAKKyNkZWZpbmUJbWFza19uYml0X2wodSkJKCh2b2lkKTApCisjZGVmaW5lCUxEQkxfSU1QTElDSVRfTkJJVAorCisjZGVmaW5lCUxEQkxfTUFOSF9TSVpFCTIwCisjZGVmaW5lCUxEQkxfTUFOTF9TSVpFCTMyCisKKyNkZWZpbmUJTERCTF9UT19BUlJBWTMyKHUsIGEpIGRvIHsJCQlcCisJKGEpWzBdID0gKHVpbnQzMl90KSh1KS5iaXRzLm1hbmw7CQlcCisJKGEpWzFdID0gKHVpbnQzMl90KSh1KS5iaXRzLm1hbmg7CQlcCit9IHdoaWxlKDApCmRpZmYgLS1naXQgYS9saWJtL21pcHMvZmVudi5jIGIvbGlibS9taXBzL2ZlbnYuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iNWY1MmRhCi0tLSAvZGV2L251bGwKKysrIGIvbGlibS9taXBzL2ZlbnYuYwpAQCAtMCwwICsxLDM1IEBACisvKi0KKyAqIENvcHlyaWdodCAoYykgMjAwNCBEYXZpZCBTY2h1bHR6IDxkYXNARnJlZUJTRC5PUkc+CisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIEFVVEhPUiBBTkQgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQKKyAqIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UKKyAqIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisgKiBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTAorICogREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMKKyAqIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKQorICogSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QKKyAqIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkKKyAqIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YKKyAqIFNVQ0ggREFNQUdFLgorICoKKyAqICRGcmVlQlNEOiBzcmMvbGliL21zdW4vbWlwcy9mZW52LmMsdiAxLjEgMjAwOC8wNC8yNiAxMjoyMDoyOSBpbXAgRXhwICQKKyAqLworCisjaW5jbHVkZSA8ZmVudi5oPgorCisvKgorICogSG9wZWZ1bGx5IHRoZSBzeXN0ZW0gSUQgYnl0ZSBpcyBpbW11dGFibGUsIHNvIGl0J3MgdmFsaWQgdG8gdXNlCisgKiB0aGlzIGFzIGEgZGVmYXVsdCBlbnZpcm9ubWVudC4KKyAqLworY29uc3QgZmVudl90IF9fZmVfZGZsX2VudiA9IDA7CmRpZmYgLS1naXQgYS9saWJtL21pcHMvZmVudi5oIGIvbGlibS9taXBzL2ZlbnYuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wNjFhNjk2Ci0tLSAvZGV2L251bGwKKysrIGIvbGlibS9taXBzL2ZlbnYuaApAQCAtMCwwICsxLDIxOCBAQAorLyotCisgKiBDb3B5cmlnaHQgKGMpIDIwMDQtMjAwNSBEYXZpZCBTY2h1bHR6IDxkYXNARnJlZUJTRC5PUkc+CisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIEFVVEhPUiBBTkQgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQKKyAqIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UKKyAqIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisgKiBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTAorICogREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMKKyAqIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKQorICogSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QKKyAqIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkKKyAqIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YKKyAqIFNVQ0ggREFNQUdFLgorICoKKyAqICRGcmVlQlNEOiBzcmMvbGliL21zdW4vbWlwcy9mZW52LmgsdiAxLjEgMjAwOC8wNC8yNiAxMjoyMDoyOSBpbXAgRXhwICQKKyAqLworCisjaWZuZGVmCV9GRU5WX0hfCisjZGVmaW5lCV9GRU5WX0hfCisKKyNpbmNsdWRlIDxzeXMvX3R5cGVzLmg+CisKK3R5cGVkZWYJX191aW50MzJfdAlmZW52X3Q7Cit0eXBlZGVmCV9fdWludDMyX3QJZmV4Y2VwdF90OworCisvKiBFeGNlcHRpb24gZmxhZ3MgKi8KKyNkZWZpbmUJRkVfSU5WQUxJRAkweDAwMDEKKyNkZWZpbmUJRkVfRElWQllaRVJPCTB4MDAwMgorI2RlZmluZQlGRV9PVkVSRkxPVwkweDAwMDQKKyNkZWZpbmUJRkVfVU5ERVJGTE9XCTB4MDAwOAorI2RlZmluZQlGRV9JTkVYQUNUCTB4MDAxMAorI2RlZmluZQlGRV9BTExfRVhDRVBUCShGRV9ESVZCWVpFUk8gfCBGRV9JTkVYQUNUIHwgXAorCQkJIEZFX0lOVkFMSUQgfCBGRV9PVkVSRkxPVyB8IEZFX1VOREVSRkxPVykKKworLyogUm91bmRpbmcgbW9kZXMgKi8KKyNkZWZpbmUJRkVfVE9ORUFSRVNUCTB4MDAwMAorI2RlZmluZQlGRV9UT1dBUkRaRVJPCTB4MDAwMQorI2RlZmluZQlGRV9VUFdBUkQJMHgwMDAyCisjZGVmaW5lCUZFX0RPV05XQVJECTB4MDAwMworI2RlZmluZQlfUk9VTkRfTUFTSwkoRkVfVE9ORUFSRVNUIHwgRkVfRE9XTldBUkQgfCBcCisJCQkgRkVfVVBXQVJEIHwgRkVfVE9XQVJEWkVSTykKKy8qIF9fQkVHSU5fREVDTFMgKi8KKworLyogRGVmYXVsdCBmbG9hdGluZy1wb2ludCBlbnZpcm9ubWVudCAqLworZXh0ZXJuIGNvbnN0IGZlbnZfdAlfX2ZlX2RmbF9lbnY7CisjZGVmaW5lCUZFX0RGTF9FTlYJKCZfX2ZlX2RmbF9lbnYpCisKKy8qIFdlIG5lZWQgdG8gYmUgYWJsZSB0byBtYXAgc3RhdHVzIGZsYWcgcG9zaXRpb25zIHRvIG1hc2sgZmxhZyBwb3NpdGlvbnMgKi8KKyNkZWZpbmUgX0ZQVVNXX1NISUZUCTE2CisjZGVmaW5lCV9FTkFCTEVfTUFTSwkoRkVfQUxMX0VYQ0VQVCA8PCBfRlBVU1dfU0hJRlQpCisKKyNpZmRlZglBUk1fSEFSRF9GTE9BVAorI2RlZmluZQlfX3JmcyhfX2Zwc3IpCV9fYXNtIF9fdm9sYXRpbGUoInJmcyAlMCIgOiAiPXIiICgqKF9fZnBzcikpKQorI2RlZmluZQlfX3dmcyhfX2Zwc3IpCV9fYXNtIF9fdm9sYXRpbGUoIndmcyAlMCIgOiA6ICJyIiAoX19mcHNyKSkKKyNlbHNlCisjZGVmaW5lIF9fcmZzKF9fZnBzcikKKyNkZWZpbmUgX193ZnMoX19mcHNyKQorI2VuZGlmCisKK3N0YXRpYyBfX2lubGluZSBpbnQKK2ZlY2xlYXJleGNlcHQoaW50IF9fZXhjZXB0cykKK3sKKwlmZXhjZXB0X3QgX19mcHNyOworCisJX19yZnMoJl9fZnBzcik7CisJX19mcHNyICY9IH5fX2V4Y2VwdHM7CisJX193ZnMoX19mcHNyKTsKKwlyZXR1cm4gKDApOworfQorCitzdGF0aWMgX19pbmxpbmUgaW50CitmZWdldGV4Y2VwdGZsYWcoZmV4Y2VwdF90ICpfX2ZsYWdwLCBpbnQgX19leGNlcHRzKQoreworCWZleGNlcHRfdCBfX2Zwc3I7CisKKwlfX3JmcygmX19mcHNyKTsKKwkqX19mbGFncCA9IF9fZnBzciAmIF9fZXhjZXB0czsKKwlyZXR1cm4gKDApOworfQorCitzdGF0aWMgX19pbmxpbmUgaW50CitmZXNldGV4Y2VwdGZsYWcoY29uc3QgZmV4Y2VwdF90ICpfX2ZsYWdwLCBpbnQgX19leGNlcHRzKQoreworCWZleGNlcHRfdCBfX2Zwc3I7CisKKwlfX3JmcygmX19mcHNyKTsKKwlfX2Zwc3IgJj0gfl9fZXhjZXB0czsKKwlfX2Zwc3IgfD0gKl9fZmxhZ3AgJiBfX2V4Y2VwdHM7CisJX193ZnMoX19mcHNyKTsKKwlyZXR1cm4gKDApOworfQorCitzdGF0aWMgX19pbmxpbmUgaW50CitmZXJhaXNlZXhjZXB0KGludCBfX2V4Y2VwdHMpCit7CisJZmV4Y2VwdF90IF9fZXggPSBfX2V4Y2VwdHM7CisKKwlmZXNldGV4Y2VwdGZsYWcoJl9fZXgsIF9fZXhjZXB0cyk7CS8qIFhYWCAqLworCXJldHVybiAoMCk7Cit9CisKK3N0YXRpYyBfX2lubGluZSBpbnQKK2ZldGVzdGV4Y2VwdChpbnQgX19leGNlcHRzKQoreworCWZleGNlcHRfdCBfX2Zwc3I7CisKKwlfX3JmcygmX19mcHNyKTsKKwlyZXR1cm4gKF9fZnBzciAmIF9fZXhjZXB0cyk7Cit9CisKK3N0YXRpYyBfX2lubGluZSBpbnQKK2ZlZ2V0cm91bmQodm9pZCkKK3sKKworCS8qCisJICogQXBwYXJlbnRseSwgdGhlIHJvdW5kaW5nIG1vZGUgaXMgc3BlY2lmaWVkIGFzIHBhcnQgb2YgdGhlCisJICogaW5zdHJ1Y3Rpb24gZm9ybWF0IG9uIEFSTSwgc28gdGhlIGR5bmFtaWMgcm91bmRpbmcgbW9kZSBpcworCSAqIGluZGV0ZXJtaW5hdGUuICBTb21lIEZQVXMgbWF5IGRpZmZlci4KKwkgKi8KKwlyZXR1cm4gKC0xKTsKK30KKworc3RhdGljIF9faW5saW5lIGludAorZmVzZXRyb3VuZChpbnQgX19yb3VuZCkKK3sKKworCXJldHVybiAoLTEpOworfQorCitzdGF0aWMgX19pbmxpbmUgaW50CitmZWdldGVudihmZW52X3QgKl9fZW52cCkKK3sKKworCV9fcmZzKF9fZW52cCk7CisJcmV0dXJuICgwKTsKK30KKworc3RhdGljIF9faW5saW5lIGludAorZmVob2xkZXhjZXB0KGZlbnZfdCAqX19lbnZwKQoreworCWZlbnZfdCBfX2VudjsKKworCV9fcmZzKCZfX2Vudik7CisJKl9fZW52cCA9IF9fZW52OworCV9fZW52ICY9IH4oRkVfQUxMX0VYQ0VQVCB8IF9FTkFCTEVfTUFTSyk7CisJX193ZnMoX19lbnYpOworCXJldHVybiAoMCk7Cit9CisKK3N0YXRpYyBfX2lubGluZSBpbnQKK2Zlc2V0ZW52KGNvbnN0IGZlbnZfdCAqX19lbnZwKQoreworCisJX193ZnMoKl9fZW52cCk7CisJcmV0dXJuICgwKTsKK30KKworc3RhdGljIF9faW5saW5lIGludAorZmV1cGRhdGVlbnYoY29uc3QgZmVudl90ICpfX2VudnApCit7CisJZmV4Y2VwdF90IF9fZnBzcjsKKworCV9fcmZzKCZfX2Zwc3IpOworCV9fd2ZzKCpfX2VudnApOworCWZlcmFpc2VleGNlcHQoX19mcHNyICYgRkVfQUxMX0VYQ0VQVCk7CisJcmV0dXJuICgwKTsKK30KKworI2lmIF9fQlNEX1ZJU0lCTEUKKworc3RhdGljIF9faW5saW5lIGludAorZmVlbmFibGVleGNlcHQoaW50IF9fbWFzaykKK3sKKwlmZW52X3QgX19vbGRfZnBzciwgX19uZXdfZnBzcjsKKworCV9fcmZzKCZfX29sZF9mcHNyKTsKKwlfX25ld19mcHNyID0gX19vbGRfZnBzciB8IChfX21hc2sgJiBGRV9BTExfRVhDRVBUKSA8PCBfRlBVU1dfU0hJRlQ7CisJX193ZnMoX19uZXdfZnBzcik7CisJcmV0dXJuICgoX19vbGRfZnBzciA+PiBfRlBVU1dfU0hJRlQpICYgRkVfQUxMX0VYQ0VQVCk7Cit9CisKK3N0YXRpYyBfX2lubGluZSBpbnQKK2ZlZGlzYWJsZWV4Y2VwdChpbnQgX19tYXNrKQoreworCWZlbnZfdCBfX29sZF9mcHNyLCBfX25ld19mcHNyOworCisJX19yZnMoJl9fb2xkX2Zwc3IpOworCV9fbmV3X2Zwc3IgPSBfX29sZF9mcHNyICYgfigoX19tYXNrICYgRkVfQUxMX0VYQ0VQVCkgPDwgX0ZQVVNXX1NISUZUKTsKKwlfX3dmcyhfX25ld19mcHNyKTsKKwlyZXR1cm4gKChfX29sZF9mcHNyID4+IF9GUFVTV19TSElGVCkgJiBGRV9BTExfRVhDRVBUKTsKK30KKworc3RhdGljIF9faW5saW5lIGludAorZmVnZXRleGNlcHQodm9pZCkKK3sKKwlmZW52X3QgX19mcHNyOworCisJX19yZnMoJl9fZnBzcik7CisJcmV0dXJuICgoX19mcHNyICYgX0VOQUJMRV9NQVNLKSA+PiBfRlBVU1dfU0hJRlQpOworfQorCisjZW5kaWYgLyogX19CU0RfVklTSUJMRSAqLworCisvKiBfX0VORF9ERUNMUyAqLworCisjZW5kaWYJLyogIV9GRU5WX0hfICovCisKZGlmZiAtLWdpdCBhL2xpYm0vc3JjL3NfZmFic2wuYyBiL2xpYm0vc3JjL3NfZmFic2wuYwppbmRleCAyMDBhOWE1Li4yOTgzMWQyIDEwMDY0NAotLS0gYS9saWJtL3NyYy9zX2ZhYnNsLmMKKysrIGIvbGlibS9zcmMvc19mYWJzbC5jCkBAIC0xLDUgKzEsNSBAQAogLyotCi0gKiBDb3B5cmlnaHQgKGMpIDIwMDMgRGFnLUVybGluZyBDb+9kYW4gU234cmdyYXYKKyAqIENvcHlyaWdodCAoYykgMjAwMyBEYWctRXJsaW5nIFNtw7hyZ3JhdgogICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKQEAgLTI1LDcgKzI1LDcgQEAKICAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRgogICogVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KICAqCi0gKiAkRnJlZUJTRDogc3JjL2xpYi9tc3VuL3NyYy9zX2ZhYnNsLmMsdiAxLjIgMjAwMy8xMC8yNSAxOTo1MzoyOCBkZXMgRXhwICQKKyAqICRGcmVlQlNEJAogICovCiAKICNpbmNsdWRlIDxtYXRoLmg+CmRpZmYgLS1naXQgYS9saWJ0aHJlYWRfZGIvbGlidGhyZWFkX2RiLmMgYi9saWJ0aHJlYWRfZGIvbGlidGhyZWFkX2RiLmMKaW5kZXggODZlMWNmNC4uZTc0OTM3NyAxMDA2NDQKLS0tIGEvbGlidGhyZWFkX2RiL2xpYnRocmVhZF9kYi5jCisrKyBiL2xpYnRocmVhZF9kYi9saWJ0aHJlYWRfZGIuYwpAQCAtOTksNyArOTksNyBAQAogICAgICAgICBnRXZlbnRNc2dIYW5kbGUudGlkID0gZ0V2ZW50TXNnSGFuZGxlLnBpZDsKICAgICAgICAgcmV0dXJuIDB4NDI7CiAgICAgfQotI2Vsc2UKKyNlbGlmIGRlZmluZWQoX19hcm1fXykKICAgICBwYyA9ICh2b2lkICopcHRyYWNlKFBUUkFDRV9QRUVLVVNSLCBoYW5kbGUtPnRpZCwgKHZvaWQgKik2MCAvKiByMTUvcGMgKi8sIE5VTEwpOwogCiAgICAgaWYgKHBjID09IGJrcHRfYWRkcikgewpAQCAtMTA5LDYgKzEwOSwxNSBAQAogICAgICAgICBnRXZlbnRNc2dIYW5kbGUudGlkID0gZ0V2ZW50TXNnSGFuZGxlLnBpZDsKICAgICAgICAgcmV0dXJuIDB4NDI7CiAgICAgfQorI2VsaWYgZGVmaW5lZChfX21pcHNfXykKKyAgICBwYyA9ICh2b2lkICopcHRyYWNlKFBUUkFDRV9QRUVLVVNSLCBoYW5kbGUtPnRpZCwgKHZvaWQgKikoNjQqNCkgLyogcGMgKi8sIE5VTEwpOworICAgIGlmIChwYyA9PSBia3B0X2FkZHIpIHsKKyAgICAgICAgLy8gVGhlIGhvb2sgZnVuY3Rpb24gdGFrZXMgdGhlIGlkIG9mIHRoZSBuZXcgdGhyZWFkIGFzIGl0J3MgZmlyc3QgcGFyYW0sCisgICAgICAgIC8vIHNvIGdyYWIgaXQgZnJvbSBhMAorICAgICAgICBnRXZlbnRNc2dIYW5kbGUucGlkID0gcHRyYWNlKFBUUkFDRV9QRUVLVVNSLCBoYW5kbGUtPnRpZCwgKHZvaWQgKikoNCo0KSAvKiBhMCAqLywgTlVMTCk7CisgICAgICAgIGdFdmVudE1zZ0hhbmRsZS50aWQgPSBnRXZlbnRNc2dIYW5kbGUucGlkOworICAgICAgICByZXR1cm4gMHg0MjsKKyAgICB9CiAjZW5kaWYKICAgICByZXR1cm4gMDsKIH0K