ZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvYXNjaWlkb2MvYXNjaWlkb2NfOC42LjkuYmIgYi9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2FzY2lpZG9jL2FzY2lpZG9jXzguNi45LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFjZDE0NTQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2FzY2lpZG9jL2FzY2lpZG9jXzguNi45LmJiCkBAIC0wLDAgKzEsMjQgQEAKK1NVTU1BUlkgPSAiVG9vbCBmb3IgY3JlYXRpbmcgSFRNTCwgUERGLCBFUFVCLCBtYW4gcGFnZXMiCitERVNDUklQVElPTiA9ICJBc2NpaURvYyBpcyBhIHRleHQgZG9jdW1lbnQgZm9ybWF0IGZvciB3cml0aW5nIHNob3J0IGRvY3VtZW50cywgXAorYXJ0aWNsZXMsIGJvb2tzIGFuZCBVTklYIG1hbiBwYWdlcy4iCisKK0hPTUVQQUdFID0gImh0dHA6Ly9hc2NpaWRvYy5vcmcvIgorCitMSUNFTlNFID0gIkdQTHYyIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9OGNhNDNjYmM4NDJjMjMzNmU4MzU5MjZjMjE2NmMyOGIgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vQ09QWVJJR0hUO21kNT0wMjlhZDU0MjhiYTVlZmEyMDE3NmIzOTYyMjJkNDA2OSIKKworU1JDX1VSSSA9ICJodHRwOi8vZG93bmxvYWRzLnNvdXJjZWZvcmdlLm5ldC9wcm9qZWN0LyR7QlBOfS8ke0JQTn0vJHtQVn0vJHtCUH0udGFyLmd6IgorU1JDX1VSSVttZDVzdW1dID0gImM1OTAxOGYxMDViZThkMDIyNzE0YjgyNmIwYmUxMzBhIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjc4ZGI5ZDA1NjdjOGFiNjU3MGE2ZWZmN2ZmZGY4NGVhZGQ5MWYyZGZjMGE5MmEyZDAxMDVkMzIzY2FiNGUxZjAiCisKK1VQU1RSRUFNX0NIRUNLX1VSSSA9ICJodHRwczovL3NvdXJjZWZvcmdlLm5ldC9wcm9qZWN0cy9hc2NpaWRvYy9maWxlcy8iCisKK2luaGVyaXQgZGlzdHV0aWxzIGF1dG90b29scy1icm9rZW5zZXAKKworZXhwb3J0IERFU1RESVIgPSAiJHtEfSIKK0RFUEVORFNfY2xhc3MtbmF0aXZlID0gImRvY2Jvb2steG1sLWR0ZDQtbmF0aXZlIgorUkRFUEVORFNfJHtQTn0gKz0gInB5dGhvbiIgCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKKworQ0xFQU5CUk9LRU4gPSAiMSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvYXQvYXQvY29uZmlndXJlLWZpeC13aXRoLXdpdGhvdXQtc2VsaW51eC5wYXRjaCBiL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvYXQvYXQvY29uZmlndXJlLWZpeC13aXRoLXdpdGhvdXQtc2VsaW51eC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzg5YWYxZS4uMDAwMDAwMAotLS0gYS9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2F0L2F0L2NvbmZpZ3VyZS1maXgtd2l0aC13aXRob3V0LXNlbGludXgucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw1MyArMCwwIEBACi1Gcm9tIGMwMjM1NGFmN2YzZDk0MjZkYTMxNTAzYWJmYWU3MDk1MmM2OTlhOWQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBXZW56b25nIEZhbiA8d2Vuem9uZy5mYW5Ad2luZHJpdmVyLmNvbT4KLURhdGU6IEZyaSwgMTggTWFyIDIwMTYgMDM6MjM6MTEgLTA0MDAKLVN1YmplY3Q6IFtQQVRDSF0gY29uZmlndXJlOiBmaXggd2l0aC93aXRob3V0IHNlbGludXgKLQotUHJvYmxlbToKLXdpdGhvdXQtc2VsaW51eCBkb2Vzbid0IHdvcmsgc2luY2UgV0lUSF9TRUxJTlVYIGlzIGFsd2F5cyBiZSBkZWZpbmVkIG5vCi1tYXR0ZXIgd2hpY2ggb3B0aW9uIGlzIGdpdmVuOiB3aXRoLXNlbGludXgsIHdpdGhvdXQtc2VsaW51eC4KLQotRml4OgotRGlzYWJsZSBzZWxpbnV4IHN1cHBvcnQgaWYgd2l0aG91dC1zZWxpbnV4IGlzIGdpdmVuOyBvdGhlcndpc2UgY2hlY2sKLWxpYnNlbGludXggdG8gZGV0ZXJtaW5lIGlmIHNlbGludXggc3VwcG9ydCBzaG91bGQgYmUgZW5hYmxlZC4KLQotVXBzdHJlYW0tU3RhdHVzOiBTdWJtaXR0ZWQgW2F0QHBhY2thZ2VzLmRlYmlhbi5vcmddCi0KLVNpZ25lZC1vZmYtYnk6IFdlbnpvbmcgRmFuIDx3ZW56b25nLmZhbkB3aW5kcml2ZXIuY29tPgotLS0tCi0gY29uZmlndXJlLmFjIHwgMTkgKysrKysrKysrKysrKysrLS0tLQotIDEgZmlsZSBjaGFuZ2VkLCAxNSBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvY29uZmlndXJlLmFjIGIvY29uZmlndXJlLmFjCi1pbmRleCA1YTQzNDE5Li44YzlkZTYyIDEwMDY0NAotLS0tIGEvY29uZmlndXJlLmFjCi0rKysgYi9jb25maWd1cmUuYWMKLUBAIC0yNDAsMTAgKzI0MCwyMSBAQCBBQ19BUkdfV0lUSChkYWVtb25fdXNlcm5hbWUsCi0gQUNfU1VCU1QoREFFTU9OX1VTRVJOQU1FKQotIAotIEFDX0FSR19XSVRIKHNlbGludXgsCi0tWyAtLXdpdGgtc2VsaW51eCAgICAgICBEZWZpbmUgdG8gcnVuIHdpdGggc2VsaW51eF0sCi0tQUNfREVGSU5FKFdJVEhfU0VMSU5VWCwgMSwgW0RlZmluZSBpZiB5b3UgYXJlIGJ1aWxkaW5nIHdpdGhfc2VsaW51eF0pLAotLSkKLS1BQ19DSEVDS19MSUIoc2VsaW51eCwgaXNfc2VsaW51eF9lbmFibGVkLCBTRUxJTlVYTElCPS1sc2VsaW51eCkKLStbIC0td2l0aC1zZWxpbnV4ICAgICAgIERlZmluZSB0byBydW4gd2l0aCBzZWxpbnV4IChkZWZhdWx0PWNoZWNrKV0sCi0rW10sCi0rW3dpdGhfc2VsaW51eD1jaGVja10pCi0rCi0raWYgdGVzdCAieCR3aXRoX3NlbGludXgiICE9IHhubzsgdGhlbgotKyAgQUNfQ0hFQ0tfTElCKFtzZWxpbnV4XSwgW2lzX3NlbGludXhfZW5hYmxlZF0sCi0rICAgIFtTRUxJTlVYTElCPS1sc2VsaW51eAotKyAgICAgQUNfREVGSU5FKFdJVEhfU0VMSU5VWCwgMSwgW0RlZmluZSBpZiB5b3UgYXJlIGJ1aWxkaW5nIHdpdGhfc2VsaW51eF0pCi0rICAgIF0sCi0rICAgIFtpZiB0ZXN0ICJ4JHdpdGhfc2VsaW51eCIgIT0geGNoZWNrOyB0aGVuCi0rICAgICAgIEFDX01TR19GQUlMVVJFKFstLXdpdGgtc2VsaW51eCBpcyBnaXZlbiwgYnV0IHRlc3QgZm9yIHNlbGludXggZmFpbGVkXSkKLSsgICAgIGZpCi0rICAgIF0KLSsgICkKLStmaQotIEFDX1NVQlNUKFNFTElOVVhMSUIpCi0gQUNfU1VCU1QoV0lUSF9TRUxJTlVYKQotIAotLS0gCi0xLjkuMQotCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2F0L2F0XzMuMS4xOC5iYiBiL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvYXQvYXRfMy4xLjIwLmJiCnNpbWlsYXJpdHkgaW5kZXggODclCnJlbmFtZSBmcm9tIGltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvYXQvYXRfMy4xLjE4LmJiCnJlbmFtZSB0byBpbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2F0L2F0XzMuMS4yMC5iYgppbmRleCA5MzA0NGY1Li44NTQ1OWI2IDEwMDY0NAotLS0gYS9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2F0L2F0XzMuMS4xOC5iYgorKysgYi9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2F0L2F0XzMuMS4yMC5iYgpAQCAtMTUsNyArMTUsNyBAQAogUkNPTkZMSUNUU18ke1BOfSA9ICJhdGQiCiBSUkVQTEFDRVNfJHtQTn0gPSAiYXRkIgogCi1TUkNfVVJJID0gIiR7REVCSUFOX01JUlJPUn0vbWFpbi9hL2F0L2F0XyR7UFZ9Lm9yaWcudGFyLmd6O3N1YmRpcj0ke0JQfSBcCitTUkNfVVJJID0gImh0dHA6Ly9zbmFwc2hvdC5kZWJpYW4ub3JnL2FyY2hpdmUvZGViaWFuLzIwMTYwNzI4VDA0MzQ0M1ovcG9vbC9tYWluL2EvJHtCUE59LyR7QlBOfV8ke1BWfS5vcmlnLnRhci5neiBcCiAgICAgZmlsZTovL2ZpeF9wYXJhbGxlbF9idWlsZF9lcnJvci5wYXRjaCBcCiAgICAgZmlsZTovL3Bvc2l4dG0uYyBcCiAgICAgZmlsZTovL3Bvc2l4dG0uaCBcCkBAIC0yNSwxNCArMjUsMTUgQEAKICAgICAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3BhbScsICcke1BBTV9TUkNfVVJJfScsICcnLCBkKX0gXAogICAgIGZpbGU6Ly9tYWtlZmlsZS1maXgtcGFyYWxsZWwucGF0Y2ggXAogICAgIGZpbGU6Ly8wMDAxLXJlbW92ZS1nbGliYy1hc3N1bXB0aW9uLnBhdGNoIFwKLSAgICBmaWxlOi8vY29uZmlndXJlLWZpeC13aXRoLXdpdGhvdXQtc2VsaW51eC5wYXRjaCBcCiAgICAgIgogCiBQQU1fU1JDX1VSSSA9ICJmaWxlOi8vcGFtLmNvbmYucGF0Y2ggXAogICAgICAgICAgICAgICAgZmlsZTovL2NvbmZpZ3VyZS1hZGQtZW5hYmxlLXBhbS5wYXRjaCIKIAotU1JDX1VSSVttZDVzdW1dID0gImY2N2E3YWFiNTU3Y2Q1YjRhMTMxMTA3OWEwOGFjZWJlIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gImRiZDVjOGNiOGVkZDUzZWY0NjczNjNjM2FmMDM5MWMwODc2OWYxZGJiZDRkNTAwMmM1OWE0Y2Q0Y2FjMTFkNTIiCitTUkNfVVJJW21kNXN1bV0gPSAiZTdiZDdiNzg1YjJjYmIxN2UxMzNkNmJkYzBmYjA5OWUiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMDg3MTkyM2NhYjczMDUwYjk4YWNlMDIwNjY0ZWIyZGRjMWU2NjllNDE2NmI1YWJiNjRkODY0ZDAyZmNlZmFiOSIKKworVVBTVFJFQU1fQ0hFQ0tfVVJJID0gIiR7REVCSUFOX01JUlJPUn0vbWFpbi9hL2F0LyIKIAogRVhUUkFfT0VDT05GICs9ICJhY19jdl9wYXRoX1NFTkRNQUlMPS9iaW4vdHJ1ZSBcCiAgICAgICAgICAgICAgICAgIC0td2l0aC1kYWVtb25fdXNlcm5hbWU9cm9vdCBcCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2F1Z2Vhcy9hdWdlYXMuaW5jIGIvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9hdWdlYXMvYXVnZWFzLmluYwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjNkMTJjYS4uMDAwMDAwMAotLS0gYS9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2F1Z2Vhcy9hdWdlYXMuaW5jCisrKyAvZGV2L251bGwKQEAgLTEsMzAgKzAsMCBAQAotU1VNTUFSWSA9ICJBdWdlYXMgY29uZmlndXJhdGlvbiBBUEkiCi1IT01FUEFHRSA9ICJodHRwOi8vYXVnZWFzLm5ldC8iCi1CVUdUUkFDS0VSID0gImh0dHBzOi8vZmVkb3JhaG9zdGVkLm9yZy9hdWdlYXMvcmVwb3J0LzEiCi0KLUxJQ0VOU0UgPSAiTEdQTHYyLjErIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YmJiNDYxMjExYTMzYjEzNGQ0MmVkNWVlODAyYjM3ZmYiCi0KLVNSQ19VUkkgPSAiaHR0cDovL2Rvd25sb2FkLmF1Z2Vhcy5uZXQvJHtCUH0udGFyLmd6IFwKLSAgICAgICAgICAgZmlsZTovL2FkZC1taXNzaW5nLWFyZ3otY29uZGl0aW9uYWwucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vc2VwYnVpbGRmaXgucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1VbnNldC1uZWVkX2NoYXJzZXRfYWxpYXMtd2hlbi1idWlsZGluZy1mb3ItbXVzbC5wYXRjaCBcCi0gICAgICAgICAgIgotCi1ERVBFTkRTID0gInJlYWRsaW5lIGxpYnhtbDIiCi0KLWluaGVyaXQgYXV0b3Rvb2xzIHBrZ2NvbmZpZwotCi1QQUNLQUdFUyA9KyAiJHtQTn0tbGVuc2VzIGxpYiR7QlBOfSIKLQotRklMRVNfJHtQTn0tbGVuc2VzID0gIiR7ZGF0YWRpcn0vYXVnZWFzL2xlbnNlcyIKLUZJTEVTX2xpYiR7QlBOfSA9ICIke2xpYmRpcn0vbGliKiR7U09MSUJTfSIKLQotUkRFUEVORFNfbGliJHtCUE59ICs9ICIke1BOfS1sZW5zZXMiCi1SUkVDT01NRU5EU19saWIke0JQTn0gKz0gIiR7UE59IgotCi1MRUFEX1NPTkFNRSA9ICJsaWJhdWdlYXMuc28iCi0KLWRvX2luc3RhbGxfYXBwZW5kKCkgewotCXJtIC1mciAke0R9JHtkYXRhZGlyfS92aW0KLX0KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvYXVnZWFzL2F1Z2Vhcy8wMDAxLVVuc2V0LW5lZWRfY2hhcnNldF9hbGlhcy13aGVuLWJ1aWxkaW5nLWZvci1tdXNsLnBhdGNoIGIvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9hdWdlYXMvYXVnZWFzLzAwMDEtVW5zZXQtbmVlZF9jaGFyc2V0X2FsaWFzLXdoZW4tYnVpbGRpbmctZm9yLW11c2wucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDlhMTk4NzYuLjAwMDAwMDAKLS0tIGEvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9hdWdlYXMvYXVnZWFzLzAwMDEtVW5zZXQtbmVlZF9jaGFyc2V0X2FsaWFzLXdoZW4tYnVpbGRpbmctZm9yLW11c2wucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzMCArMCwwIEBACi1Gcm9tIGI5NTY1ZGMyZmUwYzRmN2RhYWVjOTFiN2U4M2JjNzMxM2RlZTJmNGEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgotRGF0ZTogTW9uLCAxMyBBcHIgMjAxNSAxNzowMjoxMyAtMDcwMAotU3ViamVjdDogW1BBVENIXSBVbnNldCBuZWVkX2NoYXJzZXRfYWxpYXMgd2hlbiBidWlsZGluZyBmb3IgbXVzbAotCi1sb2NhbGNoYXJzZXQgdXNlcyBhY19jdl9nbnVfbGlicmFyeV8yXzEgZnJvbSBnbGliYzIxLm00Ci13aGljaCBhY3R1YWxseSBzaG91ZGwgYmUgZml4ZWQgaW4gZ251bGliIGFuZCB0aGVuIGFsbCBkb3duc3RyZWFtCi1wcm9qZWN0cyB3aWxsIGdldCBpdCBldmVudHVhbGx5LiBGb3Igbm93IHdlIGFwcGx5IHRoZSBmaXggdG8KLWNvcmV1dGlscwotCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLQotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLS0tLQotIGxpYi9nbnVsaWIubWsgfCAyICstCi0gMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCi0KLUluZGV4OiBhdWdlYXMtMS4yLjAvZ251bGliL2xpYi9NYWtlZmlsZS5hbQotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGF1Z2Vhcy0xLjIuMC5vcmlnL2dudWxpYi9saWIvTWFrZWZpbGUuYW0KLSsrKyBhdWdlYXMtMS4yLjAvZ251bGliL2xpYi9NYWtlZmlsZS5hbQotQEAgLTQ2Myw3ICs0NjMsNyBAQCBpbnN0YWxsLWV4ZWMtbG9jYWxjaGFyc2V0OiBhbGwtbG9jYWwKLSAJICBjYXNlICckKGhvc3Rfb3MpJyBpbiBcCi0gCSAgICBkYXJ3aW5bNTZdKikgXAotIAkgICAgICBuZWVkX2NoYXJzZXRfYWxpYXM9dHJ1ZSA7OyBcCi0tCSAgICBkYXJ3aW4qIHwgY3lnd2luKiB8IG1pbmd3KiB8IHB3MzIqIHwgY2VnY2MqKSBcCi0rCSAgICBkYXJ3aW4qIHwgY3lnd2luKiB8IG1pbmd3KiB8IHB3MzIqIHwgY2VnY2MqIHwgbGludXgtbXVzbCopIFwKLSAJICAgICAgbmVlZF9jaGFyc2V0X2FsaWFzPWZhbHNlIDs7IFwKLSAJICAgICopIFwKLSAJICAgICAgbmVlZF9jaGFyc2V0X2FsaWFzPXRydWUgOzsgXApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9hdWdlYXMvYXVnZWFzL2FkZC1taXNzaW5nLWFyZ3otY29uZGl0aW9uYWwucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2F1Z2Vhcy9hdWdlYXMvYWRkLW1pc3NpbmctYXJnei1jb25kaXRpb25hbC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYWJiZGJhYS4uMDAwMDAwMAotLS0gYS9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2F1Z2Vhcy9hdWdlYXMvYWRkLW1pc3NpbmctYXJnei1jb25kaXRpb25hbC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDIwICswLDAgQEAKLUFkZCBtaXNzaW5nIEdMX0dFTkVSQVRFX0FSR1pfSCBjb25kaXRpb25hbAotCi0tIEdMX0dFTkVSQVRFX0FSR1pfSCBpcyB1c2VkIGluIGdudWxpYi9saWIvTWFrZWZpbGUuYW0KLQotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi1TaWduZWQtb2ZmLWJ5OiBDb25zdGFudGluIE11c2NhIDxjb25zdGFudGlueC5tdXNjYUBpbnRlbC5jb20+Ci0KLUluZGV4OiBhdWdlYXMtMS4wLjAvY29uZmlndXJlLmFjCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gYXVnZWFzLTEuMC4wLm9yaWcvY29uZmlndXJlLmFjCi0rKysgYXVnZWFzLTEuMC4wL2NvbmZpZ3VyZS5hYwotQEAgLTU1LDYgKzU1LDggQEAgQUNfQVJHX1dJVEgoW2ZhaWxtYWxsb2NdLAotIAotIEFNX0NPTkRJVElPTkFMKFtXSVRIX0ZBSUxNQUxMT0NdLCBbdGVzdCB4JHdpdGhfZmFpbG1hbGxvYyAhPSB4bm9dKQotIAotK0FNX0NPTkRJVElPTkFMKFtHTF9HRU5FUkFURV9BUkdaX0hdLCBbdGVzdCAtbiAiJEFSR1pfSCJdKQotKwotIGRubCAtLWVuYWJsZS1kZWJ1Zz0oeWVzfG5vKQotIEFDX0FSR19FTkFCTEUoW2RlYnVnXSwKLSAgICAgICAgICAgICAgIFtBQ19IRUxQX1NUUklORyhbLS1lbmFibGUtZGVidWc9bm8veWVzXSwKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvYXVnZWFzL2F1Z2Vhcy9zZXBidWlsZGZpeC5wYXRjaCBiL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvYXVnZWFzL2F1Z2Vhcy9zZXBidWlsZGZpeC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjgyYTNlZS4uMDAwMDAwMAotLS0gYS9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2F1Z2Vhcy9hdWdlYXMvc2VwYnVpbGRmaXgucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwyMiArMCwwIEBACi1FbnN1cmUgdGhhdCBidWlsZHMgaW4gc2VwYXJhdGUgYnVpbGRkaXJzICgke0J9ICE9ICR7U30pIGNvcnJlY3RseSBpbnN0YWxsIHRoZSAKLWxlbnNlcyBmaWxlcy4KLQotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi0KLVJQIDIwMTMvNC8xNwotCi1JbmRleDogYXVnZWFzLTEuMC4wL01ha2VmaWxlLmFtCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gYXVnZWFzLTEuMC4wLm9yaWcvTWFrZWZpbGUuYW0JMjAxMi0xMS0wMiAxNToyMDoxMS4wMDAwMDAwMDAgKzAwMDAKLSsrKyBhdWdlYXMtMS4wLjAvTWFrZWZpbGUuYW0JMjAxMy0wNC0xNyAxMDozNjoyNC4wMzM0MDAxMjUgKzAwMDAKLUBAIC01LDggKzUsOCBAQAotIGxlbnNkaXI9JChkYXRhZGlyKS9hdWdlYXMvbGVuc2VzL2Rpc3QKLSBsZW5zdGVzdGRpcj0kKGRhdGFkaXIpL2F1Z2Vhcy9sZW5zZXMvZGlzdC90ZXN0cwotIAotLWRpc3RfbGVuc19EQVRBPSQod2lsZGNhcmQgbGVuc2VzLyouYXVnKQotLWRpc3RfbGVuc3Rlc3RfREFUQT0kKHdpbGRjYXJkIGxlbnNlcy90ZXN0cy8qLmF1ZykKLStkaXN0X2xlbnNfREFUQT0kKHdpbGRjYXJkICQodG9wX3NyY2RpcikvbGVuc2VzLyouYXVnKQotK2Rpc3RfbGVuc3Rlc3RfREFUQT0kKHdpbGRjYXJkICQodG9wX3NyY2RpcilsZW5zZXMvdGVzdHMvKi5hdWcpCi0gCi0gRVhUUkFfRElTVD1hdWdlYXMuc3BlYyBidWlsZC9hdXgvbW92ZS1pZi1jaGFuZ2UgTWFrZWZpbGUuYW0gSEFDS0lORwotIApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9hdWdlYXMvYXVnZWFzXzEuNC4wLmJiIGIvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9hdWdlYXMvYXVnZWFzXzEuNC4wLmJiCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxMDY0YWQ0Li4wMDAwMDAwCi0tLSBhL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvYXVnZWFzL2F1Z2Vhc18xLjQuMC5iYgorKysgL2Rldi9udWxsCkBAIC0xLDQgKzAsMCBAQAotcmVxdWlyZSBhdWdlYXMuaW5jCi0KLVNSQ19VUklbbWQ1c3VtXSA9ICJhMjUzNmE5YzNkNzQ0ZGMwOWQyMzQyMjhmZTRiMGM5MyIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICI2NTlmYWU3YWMyMjkwMjllNjBhODY5YTNiODhjNjE2Y2ZkNTFjZjJmYmEyODZjZGZlM2FmM2EwNTJjYjM1YjMwIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9iYXNoL2Jhc2gtMy4yLjQ4L2J1aWxkLXRlc3RzLnBhdGNoIGIvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9iYXNoL2Jhc2gtMy4yLjQ4L2J1aWxkLXRlc3RzLnBhdGNoCmluZGV4IDkxMzQxZWUuLmU2MzQ1N2MgMTAwNjQ0Ci0tLSBhL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvYmFzaC9iYXNoLTMuMi40OC9idWlsZC10ZXN0cy5wYXRjaAorKysgYi9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2Jhc2gvYmFzaC0zLjIuNDgvYnVpbGQtdGVzdHMucGF0Y2gKQEAgLTExLDE1ICsxMSwxNSBAQAogIAogIHJlY2hvJChFWEVFWFQpOgkJJChTVVBQT1JUX1NSQylyZWNoby5jCiAtCUAkKENDX0ZPUl9CVUlMRCkgJChDQ0ZMQUdTX0ZPUl9CVUlMRCkgLW8gJEAgJChTVVBQT1JUX1NSQylyZWNoby5jICR7TElCU19GT1JfQlVJTER9Ci0rCUAkKENDKSAkKENDRkxBR1MpIC1vICRAICQ8CisrCUAkKENDKSAkKENDRkxBR1MpICQoTERGTEFHUykgLW8gJEAgJDwKICAKICB6ZWNobyQoRVhFRVhUKToJCSQoU1VQUE9SVF9TUkMpemVjaG8uYwogLQlAJChDQ19GT1JfQlVJTEQpICQoQ0NGTEFHU19GT1JfQlVJTEQpIC1vICRAICQoU1VQUE9SVF9TUkMpemVjaG8uYyAke0xJQlNfRk9SX0JVSUxEfQotKwlAJChDQykgJChDQ0ZMQUdTKSAtbyAkQCAkPAorKwlAJChDQykgJChDQ0ZMQUdTKSAkKExERkxBR1MpIC1vICRAICQ8CiAgCiAgcHJpbnRlbnYkKEVYRUVYVCk6CSQoU1VQUE9SVF9TUkMpcHJpbnRlbnYuYwogLQlAJChDQ19GT1JfQlVJTEQpICQoQ0NGTEFHU19GT1JfQlVJTEQpIC1vICRAICQoU1VQUE9SVF9TUkMpcHJpbnRlbnYuYyAke0xJQlNfRk9SX0JVSUxEfQotKwlAJChDQykgJChDQ0ZMQUdTKSAtbyAkQCAkPAorKwlAJChDQykgJChDQ0ZMQUdTKSAkKExERkxBR1MpIC1vICRAICQ8CiAgCiAtdGVzdCB0ZXN0cyBjaGVjazoJZm9yY2UgJChQcm9ncmFtKSAkKFRFU1RTX1NVUFBPUlQpCiArdGVzdCB0ZXN0cyBjaGVjazoKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvYmFzaC9iYXNoLTMuMi40OC9zdHJpbmctZm9ybWF0LnBhdGNoIGIvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9iYXNoL2Jhc2gtMy4yLjQ4L3N0cmluZy1mb3JtYXQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWRhMzk2NAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvYmFzaC9iYXNoLTMuMi40OC9zdHJpbmctZm9ybWF0LnBhdGNoCkBAIC0wLDAgKzEsMjEgQEAKK0ZpeCBhIHN0cmluZyBmb3JtYXQgd2FybmluZyB3aGVuIHVzaW5nIHNlY3VyaXR5IGZsYWdzOgorCit8IC4uL2Jhc2gtMy4yLjQ4L3ByaW50X2NtZC5jOjExNTI6MzogZXJyb3I6IGZvcm1hdCBub3QgYSBzdHJpbmcgbGl0ZXJhbCBhbmQgbm8gZm9ybWF0IGFyZ3VtZW50cyBbLVdlcnJvcj1mb3JtYXQtc2VjdXJpdHldCit8ICAgIGNwcmludGYgKGluZGVudGF0aW9uX3N0cmluZyk7CisKK1Vwc3RyZWFtLVN0YXR1czogQmFja3BvcnQKK1NpZ25lZC1vZmYtYnk6IFJvc3MgQnVydG9uIDxyb3NzLmJ1cnRvbkBpbnRlbC5jb20+CisKK2RpZmYgLS1naXQgYS9wcmludF9jbWQuYyBiL3ByaW50X2NtZC5jCitpbmRleCBkMWRmZDFhLi45NTZkYjUzIDEwMDY0NAorLS0tIGEvcHJpbnRfY21kLmMKKysrKyBiL3ByaW50X2NtZC5jCitAQCAtMTE0OSw3ICsxMTQ5LDcgQEAgaW5kZW50IChhbW91bnQpCisgICBmb3IgKGkgPSAwOyBhbW91bnQgPiAwOyBhbW91bnQtLSkKKyAgICAgaW5kZW50YXRpb25fc3RyaW5nW2krK10gPSAnICc7CisgICBpbmRlbnRhdGlvbl9zdHJpbmdbaV0gPSAnXDAnOworLSAgY3ByaW50ZiAoaW5kZW50YXRpb25fc3RyaW5nKTsKKysgIGNwcmludGYgKCIlcyIsIGluZGVudGF0aW9uX3N0cmluZyk7CisgfQorIAorIHN0YXRpYyB2b2lkCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2Jhc2gvYmFzaC5pbmMgYi9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2Jhc2gvYmFzaC5pbmMKaW5kZXggOTNjYTAwYi4uMWQwODUyNiAxMDA2NDQKLS0tIGEvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9iYXNoL2Jhc2guaW5jCisrKyBiL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvYmFzaC9iYXNoLmluYwpAQCAtMiw3ICsyLDcgQEAKIEhPTUVQQUdFID0gImh0dHA6Ly90aXN3d3cuY2FzZS5lZHUvcGhwL2NoZXQvYmFzaC9iYXNodG9wLmh0bWwiCiBTRUNUSU9OID0gImJhc2Uvc2hlbGwiCiAKLURFUEVORFMgPSAibmN1cnNlcyBiaXNvbi1uYXRpdmUiCitERVBFTkRTID0gIm5jdXJzZXMgYmlzb24tbmF0aXZlIHZpcnR1YWwvbGliaWNvbnYiCiAKIGluaGVyaXQgYXV0b3Rvb2xzIGdldHRleHQgdGV4aW5mbyB1cGRhdGUtYWx0ZXJuYXRpdmVzIHB0ZXN0CiAKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvYmFzaC9iYXNoLzAwMDEtaGVscC1maXgtcHJpbnRmLWZvcm1hdC1zZWN1cml0eS13YXJuaW5nLnBhdGNoIGIvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9iYXNoL2Jhc2gvMDAwMS1oZWxwLWZpeC1wcmludGYtZm9ybWF0LXNlY3VyaXR5LXdhcm5pbmcucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTQwNWM4NAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvYmFzaC9iYXNoLzAwMDEtaGVscC1maXgtcHJpbnRmLWZvcm1hdC1zZWN1cml0eS13YXJuaW5nLnBhdGNoCkBAIC0wLDAgKzEsMzUgQEAKK0Zyb20gZTU4MzdhNDJmOGY0OGE2YTcyMTgwNWZmOGY3ZmNkMzI4NjFkMDljYSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206ID0/VVRGLTg/cT9BbmRyPUMzPUE5PTIwRHJhc3ppaz89IDxhZHJhc3ppa0B0eWNvaW50LmNvbT4KK0RhdGU6IFR1ZSwgMjYgSnVsIDIwMTYgMTM6MDk6NDcgKzAxMDAKK1N1YmplY3Q6IFtQQVRDSF0gaGVscDogZml4IHByaW50ZigpIGZvcm1hdCBzZWN1cml0eSB3YXJuaW5nCitNSU1FLVZlcnNpb246IDEuMAorQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04CitDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0CisKK3wgLi4vLi4vYmFzaC00LjMuMzAvYnVpbHRpbnMvLi4vLi4vYmFzaC00LjMuMzAvYnVpbHRpbnMvaGVscC5kZWY6IEluIGZ1bmN0aW9uICdoZWxwX2J1aWx0aW4nOgorfCAuLi8uLi9iYXNoLTQuMy4zMC9idWlsdGlucy8uLi8uLi9iYXNoLTQuMy4zMC9idWlsdGlucy9oZWxwLmRlZjoxMzA6NzogZXJyb3I6IGZvcm1hdCBub3QgYSBzdHJpbmcgbGl0ZXJhbCBhbmQgbm8gZm9ybWF0IGFyZ3VtZW50cyBbLVdlcnJvcj1mb3JtYXQtc2VjdXJpdHldCit8ICAgICAgICBwcmludGYgKG5nZXR0ZXh0ICgiU2hlbGwgY29tbWFuZHMgbWF0Y2hpbmcga2V5d29yZCBgIiwgIlNoZWxsIGNvbW1hbmRzIG1hdGNoaW5nIGtleXdvcmRzIGAiLCAobGlzdC0+bmV4dCA/IDIgOiAxKSkpOworfCAgICAgICAgXn5+fn5+CisKK1NpZ25lZC1vZmYtYnk6IEFuZHLDqSBEcmFzemlrIDxhZHJhc3ppa0B0eWNvaW50LmNvbT4KKy0tLQorVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisgYnVpbHRpbnMvaGVscC5kZWYgfCAyICstCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9idWlsdGlucy9oZWxwLmRlZiBiL2J1aWx0aW5zL2hlbHAuZGVmCitpbmRleCAxODk0ZjE3Li5jZjYyNGM2IDEwMDY0NAorLS0tIGEvYnVpbHRpbnMvaGVscC5kZWYKKysrKyBiL2J1aWx0aW5zL2hlbHAuZGVmCitAQCAtMTI3LDcgKzEyNyw3IEBAIGhlbHBfYnVpbHRpbiAobGlzdCkKKyAKKyAgIGlmIChnbG9iX3BhdHRlcm5fcCAobGlzdC0+d29yZC0+d29yZCkpCisgICAgIHsKKy0gICAgICBwcmludGYgKG5nZXR0ZXh0ICgiU2hlbGwgY29tbWFuZHMgbWF0Y2hpbmcga2V5d29yZCBgIiwgIlNoZWxsIGNvbW1hbmRzIG1hdGNoaW5nIGtleXdvcmRzIGAiLCAobGlzdC0+bmV4dCA/IDIgOiAxKSkpOworKyAgICAgIHByaW50ZiAoIiVzIiwgbmdldHRleHQgKCJTaGVsbCBjb21tYW5kcyBtYXRjaGluZyBrZXl3b3JkIGAiLCAiU2hlbGwgY29tbWFuZHMgbWF0Y2hpbmcga2V5d29yZHMgYCIsIChsaXN0LT5uZXh0ID8gMiA6IDEpKSk7CisgICAgICAgcHJpbnRfd29yZF9saXN0IChsaXN0LCAiLCAiKTsKKyAgICAgICBwcmludGYgKCInXG5cbiIpOworICAgICB9CistLSAKKzIuOC4xCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvYmFzaC9iYXNoL2ZpeC1ydW4tYnVpbHRpbnMucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2Jhc2gvYmFzaC9maXgtcnVuLWJ1aWx0aW5zLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJmYTM4ODMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2Jhc2gvYmFzaC9maXgtcnVuLWJ1aWx0aW5zLnBhdGNoCkBAIC0wLDAgKzEsMzMgQEAKK0Zyb20gMGM0Y2FiOTU5NGM5NmMyZGM0MzVhOGQ5NzI0NjA1ODI0YmNiZjkxNyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IERlbmdrZSBEdSA8ZGVuZ2tlLmR1QHdpbmRyaXZlci5jb20+CitEYXRlOiBUdWUsIDE5IEFwciAyMDE2IDAyOjU3OjQ1IC0wNDAwCitTdWJqZWN0OiBbUEFUQ0hdIGZpeCBydW4tYnVpbHRpbnMgZmFpbGVkCisKK0ZBSUw6IHJ1bi1idWlsdGlucworMS4gcmVkaXJlY3QgdGhlIHN0ZGVyciBvdXRwdXQgb2YgY29tbWFuZCBleGVjIHdpdGggLWwgb3B0aW9uIGluCisgICBidWlsdGlucy50ZXN0cyB0byAvZGV2L251bGwKKzIuIGVuc3VyZSB0aGUgc3lzdGVtIGNvbnRhaW4gdGhlIGxvY2FsZXMgImVuX1VTLlVURi04IgorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKworU2lnbmVkLW9mZi1ieTogRGVuZ2tlIER1IDxkZW5na2UuZHVAd2luZHJpdmVyLmNvbT4KKy0tLQorIHRlc3RzL2J1aWx0aW5zLnRlc3RzIHwgMiArLQorIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvdGVzdHMvYnVpbHRpbnMudGVzdHMgYi90ZXN0cy9idWlsdGlucy50ZXN0cworaW5kZXggOWQ3NzUyMC4uNjNmM2FmOCAxMDA2NDQKKy0tLSBhL3Rlc3RzL2J1aWx0aW5zLnRlc3RzCisrKysgYi90ZXN0cy9idWlsdGlucy50ZXN0cworQEAgLTEwOSw3ICsxMDksNyBAQCBlc2FjCisgCisgIyB0ZXN0IG9wdGlvbnMgdG8gZXhlYworIChleGVjIC1hIHNwZWNpYWxuYW1lICR7VEhJU19TSH0gLWMgJ2VjaG8gJDAnICkKKy0oZXhlYyAtbCAtYSBzcGVjaWFsbmFtZSAke1RISVNfU0h9IC1jICdlY2hvICQwJyApCisrKGV4ZWMgLWwgLWEgc3BlY2lhbG5hbWUgJHtUSElTX1NIfSAtYyAnZWNobyAkMCcgKSAyPiAvZGV2L251bGwKKyAjIHRlc3QgYGNsZWFuJyBlbnZpcm9ubWVudC4gIGlmIC9iaW4vc2ggaXMgYmFzaCwgYW5kIHRoZSBzY3JpcHQgdmVyc2lvbiBvZgorICMgcHJpbnRlbnYgaXMgcnVuLCB0aGVyZSB3aWxsIGJlIHZhcmlhYmxlcyBpbiB0aGUgZW52aXJvbm1lbnQgdGhhdCBiYXNoCisgIyBzZXRzIG9uIHN0YXJ0dXAuICBBbHNvIHRlc3QgY29kZSB0aGF0IHByZWZpeGVzIGFyZ3ZbMF0gd2l0aCBhIGRhc2guCistLSAKKzIuOC4xCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvYmFzaC9iYXNoL2ZpeC1ydW4taW50bC5wYXRjaCBiL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvYmFzaC9iYXNoL2ZpeC1ydW4taW50bC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kNGEzNDA5Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9iYXNoL2Jhc2gvZml4LXJ1bi1pbnRsLnBhdGNoCkBAIC0wLDAgKzEsMTEwIEBACitGcm9tIGEwMGQzMTYxZmQ3YjZhNjk4YmRkMmVkNWYwYWM1ZmFhYzU4MGVlMmEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBEZW5na2UgRHUgPGRlbmdrZS5kdUB3aW5kcml2ZXIuY29tPgorRGF0ZTogV2VkLCAzIEF1ZyAyMDE2IDIzOjEzOjAwIC0wNDAwCitTdWJqZWN0OiBbUEFUQ0hdIGZpeCBydW4taW50bCBmYWlsZWQKKworMS4gRmlsdGVyIGV4dHJhIHdoaXRlIHNwYWNlIG9mIGludGwucmlnaHQKKworICAgRHVlIHRvIHRoZSBleHRyYSB3aGl0ZSBzcGFjZSBvZiBpbnRsLnJpZ2h0LCB3aGVuIHRoZSByZXN1bHQgb2YKKyAgIHN1Yi10ZXN0IHVuaWNvZGUyLnN1YiBvZiBpbnRsLnRlc3RzIGNvbXBhcmVkIHRvIGl0LCB0aGUgdGVzdAorICAgZmFpbGVkLgorCisgICBTbyB3ZSBuZWVkIHRvIGZpbHRlciB0aGUgZXh0cmEgd2hpdGUgc3BhY2Ugb2YgaW50bC5yaWdodC4KKworICAgSW1wb3J0IHRoaXMgcGF0Y2ggZm9yIGludGwucmlnaHQgZnJvbSBiYXNoIGRldmVsIGJyYW5jaDoKKworCWh0dHA6Ly9naXQuc2F2YW5uYWguZ251Lm9yZy9jZ2l0L2Jhc2guZ2l0L2xvZy8/aD1kZXZlbAorCisgICBjb21taXQgaXM6CisKKwk4NWVjMDc3OGY5ZDc3OGUxODIwZmI4YzBlM2U5OTZmMmQxMTAzYjQ1CisKKzIuIENoYW5nZSBpbnRsLnJpZ2h0IGNvcnJlc3BvbmQgdG8gdGhlIHVuaWNvZGUzLnN1YidzIG91dHB1dAorCisgICBJbiBzdWItdGVzdCB1bmljb2RlMy5zdWIgb2YgaW50bC50ZXN0cywgdGhlIHBheWxvYWQgdmFsdWUgaXM6CisKKwlwYXlsb2FkPSQnXDA2NVwyNDdcMTAwXDA2M1wyMzFcMDUzXDMwNlwxMjNcMDcwXDIzN1wyNDJcMzUyXDI2MycKKworICAgSXQgdXNlZCBxdW90ZWQgc3RyaW5nIGV4cGFuc2lvbihlc2NhcGVkIG9jdGFsKSB0byBhc3NpZ24gQVNDSUkKKyAgIGNoYXJhY3RlcnMgdG8gdmFyaWFibGVzLiBTbyB3aGVuIHRoZSB0ZXN0IHJ1biB0aGUgZm9sbG93aW5nOgorCisJcHJpbnRmICVxICIkcGF5bG9hZCIKKworICAgSXQgcHJvZHVjZWQ6CisKKwkkJzVcMjQ3QDNcMjMxK1wzMDZTOFwyMzdcMjQyXDM1MlwyNjMnCisKKyAgIFdoZW4gY29tcGFyZWQgdG8gdGhlIGludGwucmlnaHQoY29udGFpbiB0aGUgY29udmVydGVkIGNoYXJhY3RlciksIGl0IGZhaWxlZC4KKworICAgSW1wb3J0IHBhcnRzIG9mIHBhdGNoIGZvciBpbnRsLnJpZ2h0IGZyb20gYmFzaCBkZXZlbCBicmFuY2g6CisKKwlodHRwOi8vZ2l0LnNhdmFubmFoLmdudS5vcmcvY2dpdC9iYXNoLmdpdC9sb2cvP2g9ZGV2ZWwKKworICAgY29tbWl0IGlzOgorCisJNzRiOGNiYjQxMzk4YjQ0NTNkOGJhMDRkMGNkZDFiMjVmOWRjYjllMworCitVcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0CisKK1NpZ25lZC1vZmYtYnk6IERlbmdrZSBEdSA8ZGVuZ2tlLmR1QHdpbmRyaXZlci5jb20+CistLS0KKyB0ZXN0cy9pbnRsLnJpZ2h0IHwgMzAgKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tCisgMSBmaWxlIGNoYW5nZWQsIDE1IGluc2VydGlvbnMoKyksIDE1IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvdGVzdHMvaW50bC5yaWdodCBiL3Rlc3RzL2ludGwucmlnaHQKK2luZGV4IGFjZjEwOGEuLjFlZmRmYmUgMTAwNjQ0CistLS0gYS90ZXN0cy9pbnRsLnJpZ2h0CisrKysgYi90ZXN0cy9pbnRsLnJpZ2h0CitAQCAtMTgsMzQgKzE4LDM0IEBAIGHDqWIKKyAxLjAwMDAKKyAxLDAwMDAKKyBQYXNzZWQgYWxsIDEzNzggVW5pY29kZSB0ZXN0cworLTAwMDAwMDAgICAzMDMgMjc3IDAxMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyswMDAwMDAwIDMwMyAyNzcgMDEyCisgMDAwMDAwMworLTAwMDAwMDAgICAzMDMgMjc3IDAxMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyswMDAwMDAwIDMwMyAyNzcgMDEyCisgMDAwMDAwMworLTAwMDAwMDAgICAzMDMgMjc3IDAxMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyswMDAwMDAwIDMwMyAyNzcgMDEyCisgMDAwMDAwMworLTAwMDAwMDAgICAzMDMgMjc3IDAxMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyswMDAwMDAwIDMwMyAyNzcgMDEyCisgMDAwMDAwMworLTAwMDAwMDAgICAzNTcgMjc3IDI3NyAwMTIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyswMDAwMDAwIDM1NyAyNzcgMjc3IDAxMgorIDAwMDAwMDQKKy0wMDAwMDAwICAgMzU3IDI3NyAyNzcgMDEyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisrMDAwMDAwMCAzNTcgMjc3IDI3NyAwMTIKKyAwMDAwMDA0CistMDAwMDAwMCAgIDAxMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorKzAwMDAwMDAgMDEyCisgMDAwMDAwMQorLTAwMDAwMDAgICAwMTIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyswMDAwMDAwIDAxMgorIDAwMDAwMDEKKy0wMDAwMDAwICAgMDEyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisrMDAwMDAwMCAwMTIKKyAwMDAwMDAxCistMDAwMDAwMCAgIDAxMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorKzAwMDAwMDAgMDEyCisgMDAwMDAwMQorLTAwMDAwMDAgICAzMDMgMjc3IDAxMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyswMDAwMDAwIDMwMyAyNzcgMDEyCisgMDAwMDAwMworLTAwMDAwMDAgICAzMDMgMjc3IDAxMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyswMDAwMDAwIDMwMyAyNzcgMDEyCisgMDAwMDAwMworLTAwMDAwMDAgICAzMDMgMjc3IDAxMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyswMDAwMDAwIDMwMyAyNzcgMDEyCisgMDAwMDAwMworLTAwMDAwMDAgICAxMDEgMDQwIDMwMiAyNDMgMDQwIDMwNSAyMjIgMDEyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyswMDAwMDAwIDEwMSAwNDAgMzAyIDI0MyAwNDAgMzA1IDIyMiAwMTIKKyAwMDAwMDEwCisgLi91bmljb2RlMy5zdWI6IGxpbmUgMjogNadAM5krxlM4n6LqszogY29tbWFuZCBub3QgZm91bmQKKy01p0AzmSvGUzifouqzCisrJCc1XDI0N0AzXDIzMStcMzA2UzhcMjM3XDI0MlwzNTJcMjYzJworICsgOiAkJzVcMjQ3QDNcMjMxK1wzMDZTOFwyMzdcMjQyXDM1MlwyNjMnCistLSAKKzIuOC4xCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvYmFzaC9iYXNoL3J1bi1wdGVzdCBiL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvYmFzaC9iYXNoL3J1bi1wdGVzdAppbmRleCAyMDk4ZmE0Li5jNjFmYWJkIDEwMDY0NAotLS0gYS9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2Jhc2gvYmFzaC9ydW4tcHRlc3QKKysrIGIvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9iYXNoL2Jhc2gvcnVuLXB0ZXN0CkBAIC0xLDIgKzEsMjIgQEAKICMhL2Jpbi9zaAorCitlbl9VUz1gbG9jYWxlIC1hIHwgZ3JlcCBlbl9VUypgCitmcl9GUj1gbG9jYWxlIC1hIHwgZ3JlcCBmcl9GUipgCitkZV9ERT1gbG9jYWxlIC1hIHwgZ3JlcCBkZV9ERSpgCisKK2lmIFsgLXogIiRlbl9VUyIgXQordGhlbgorICAgICAgICBlY2hvICJXYXJuaW5nOiBUaGUgZW5fVVMqIGxvY2FsZXMgaXMgbmVlZGVkIHRvIHJ1biB0aGUgaW50bC50ZXN0cywgcGxlYXNlIGFkZCBpdC4iCitmaQorIAoraWYgWyAteiAiJGZyX0ZSIiBdCit0aGVuCisgICAgICAgIGVjaG8gIldhcm5pbmc6IFRoZSBmcl9GUiogbG9jYWxlcyBpcyBuZWVkZWQgdG8gcnVuIHRoZSBpbnRsLnRlc3RzLCBwbGVhc2UgYWRkIGl0LiIKK2ZpCisgCitpZiBbIC16ICIkZGVfREUiIF0KK3RoZW4KKyAgICAgICAgZWNobyAiV2FybmluZzogVGhlIGRlX0RFKiBsb2NhbGVzIGlzIG5lZWRlZCB0byBydW4gdGhlIGludGwudGVzdHMsIHBsZWFzZSBhZGQgaXQuIgorZmkKKwogbWFrZSAtayBUSElTX1NIPS9iaW4vYmFzaCBCVUlMRF9ESVI9YHB3ZGAgc3JjZGlyPWBwd2RgICBydW50ZXN0CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2Jhc2gvYmFzaF8zLjIuNDguYmIgYi9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2Jhc2gvYmFzaF8zLjIuNDguYmIKaW5kZXggZDQyYjI5Mi4uNmI0MDI4ZCAxMDA2NDQKLS0tIGEvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9iYXNoL2Jhc2hfMy4yLjQ4LmJiCisrKyBiL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvYmFzaC9iYXNoXzMuMi40OC5iYgpAQCAtMjAsNiArMjAsNyBAQAogICAgICAgICAgICBmaWxlOi8vdGVzdC1vdXRwdXQucGF0Y2ggXAogICAgICAgICAgICBmaWxlOi8vcnVuLXB0ZXN0IFwKICAgICAgICAgICAgZmlsZTovL2RvbnQtaW5jbHVkZS10YXJnZXQtQ0ZMQUdTLWluLWhvc3QtTERGTEFHUy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly9zdHJpbmctZm9ybWF0LnBhdGNoIFwKICAgICAgICAgICAiCiAKIFNSQ19VUklbdGFyYmFsbC5tZDVzdW1dID0gIjMzOGRjZjk3NWE5MzY0MGJiM2VhYTg0M2NhNDJlM2Y4IgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9iYXNoL2Jhc2hfNC4zLjMwLmJiIGIvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9iYXNoL2Jhc2hfNC4zLjMwLmJiCmluZGV4IDQ0MjZjZjAuLjc2NTU2MmYgMTAwNjQ0Ci0tLSBhL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvYmFzaC9iYXNoXzQuMy4zMC5iYgorKysgYi9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2Jhc2gvYmFzaF80LjMuMzAuYmIKQEAgLTE0LDEyICsxNCwyMiBAQAogICAgICAgICAgICAke0dOVV9NSVJST1J9L2Jhc2gvYmFzaC00LjMtcGF0Y2hlcy9iYXNoNDMtMDM3O2FwcGx5PXllcztzdHJpcGxldmVsPTA7bmFtZT1wYXRjaDAzNyBcCiAgICAgICAgICAgICR7R05VX01JUlJPUn0vYmFzaC9iYXNoLTQuMy1wYXRjaGVzL2Jhc2g0My0wMzg7YXBwbHk9eWVzO3N0cmlwbGV2ZWw9MDtuYW1lPXBhdGNoMDM4IFwKICAgICAgICAgICAgJHtHTlVfTUlSUk9SfS9iYXNoL2Jhc2gtNC4zLXBhdGNoZXMvYmFzaDQzLTAzOTthcHBseT15ZXM7c3RyaXBsZXZlbD0wO25hbWU9cGF0Y2gwMzkgXAorICAgICAgICAgICAke0dOVV9NSVJST1J9L2Jhc2gvYmFzaC00LjMtcGF0Y2hlcy9iYXNoNDMtMDQwO2FwcGx5PXllcztzdHJpcGxldmVsPTA7bmFtZT1wYXRjaDA0MCBcCisgICAgICAgICAgICR7R05VX01JUlJPUn0vYmFzaC9iYXNoLTQuMy1wYXRjaGVzL2Jhc2g0My0wNDE7YXBwbHk9eWVzO3N0cmlwbGV2ZWw9MDtuYW1lPXBhdGNoMDQxIFwKKyAgICAgICAgICAgJHtHTlVfTUlSUk9SfS9iYXNoL2Jhc2gtNC4zLXBhdGNoZXMvYmFzaDQzLTA0MjthcHBseT15ZXM7c3RyaXBsZXZlbD0wO25hbWU9cGF0Y2gwNDIgXAorICAgICAgICAgICAke0dOVV9NSVJST1J9L2Jhc2gvYmFzaC00LjMtcGF0Y2hlcy9iYXNoNDMtMDQzO2FwcGx5PXllcztzdHJpcGxldmVsPTA7bmFtZT1wYXRjaDA0MyBcCisgICAgICAgICAgICR7R05VX01JUlJPUn0vYmFzaC9iYXNoLTQuMy1wYXRjaGVzL2Jhc2g0My0wNDQ7YXBwbHk9eWVzO3N0cmlwbGV2ZWw9MDtuYW1lPXBhdGNoMDQ0IFwKKyAgICAgICAgICAgJHtHTlVfTUlSUk9SfS9iYXNoL2Jhc2gtNC4zLXBhdGNoZXMvYmFzaDQzLTA0NTthcHBseT15ZXM7c3RyaXBsZXZlbD0wO25hbWU9cGF0Y2gwNDUgXAorICAgICAgICAgICAke0dOVV9NSVJST1J9L2Jhc2gvYmFzaC00LjMtcGF0Y2hlcy9iYXNoNDMtMDQ2O2FwcGx5PXllcztzdHJpcGxldmVsPTA7bmFtZT1wYXRjaDA0NiBcCiAgICAgICAgICAgIGZpbGU6Ly9leGVjdXRlX2NtZC5wYXRjaDtzdHJpcGxldmVsPTAgXAogICAgICAgICAgICBmaWxlOi8vbWtidWlsdGluc19oYXZlX3N0cmluZ2l6ZS5wYXRjaCBcCiAgICAgICAgICAgIGZpbGU6Ly9idWlsZC10ZXN0cy5wYXRjaCBcCiAgICAgICAgICAgIGZpbGU6Ly90ZXN0LW91dHB1dC5wYXRjaCBcCiAgICAgICAgICAgIGZpbGU6Ly9maXgtcnVuLWNvcHJvYy1ydW4taGVyZWRvYy1ydW4tZXhlY3NjcmlwdC1ydW4tdGVzdC1mLnBhdGNoIFwKICAgICAgICAgICAgZmlsZTovL3J1bi1wdGVzdCBcCisgICAgICAgICAgIGZpbGU6Ly9maXgtcnVuLWJ1aWx0aW5zLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtaGVscC1maXgtcHJpbnRmLWZvcm1hdC1zZWN1cml0eS13YXJuaW5nLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2ZpeC1ydW4taW50bC5wYXRjaCBcCiAgICAgICAgICAgICIKIAogU1JDX1VSSVt0YXJiYWxsLm1kNXN1bV0gPSAiYTI3YjNlZTliZTgzYmQzYmE0NDhjMGZmNTJiMjg0NDciCkBAIC00Myw1ICs1MywxOSBAQAogU1JDX1VSSVtwYXRjaDAzOC5zaGEyNTZzdW1dID0gImFkYmVhYTUwMGNhN2E4MjUzNWYwZTg4ZDY3MzY2MTk2M2Y4YTVmY2RjN2FkNjM0NDVlNjhiZjViNDk3ODYzNjciCiBTUkNfVVJJW3BhdGNoMDM5Lm1kNXN1bV0gPSAiYTQ3NzU0ODdhYmU5NTg1MzY3NTFjOGNlNTNjZGY2ZjkiCiBTUkNfVVJJW3BhdGNoMDM5LnNoYTI1NnN1bV0gPSAiYWI5NGRjZWQyMjE1NTQxMDk3NjkxZjYwYzNlYjMyM2NjMjhlZjI1NDk0NjNlNmE1MzM0YmJjYzFlNjFlNzRlYyIKK1NSQ19VUklbcGF0Y2gwNDAubWQ1c3VtXSA9ICI4MGQzNTg3YzU4ODU0ZTIyNjA1NWVmMDk5ZmZlYjUzNSIKK1NSQ19VUklbcGF0Y2gwNDAuc2hhMjU2c3VtXSA9ICI4NGJiMzk2YjkyNjI5OTJjYTU0MjRmZWFiNmVkM2VjMzlmMTkzZWY1Yzc2ZGZlNGE2MmI1NTFiZDhkZDlkNzZiIgorU1JDX1VSSVtwYXRjaDA0MS5tZDVzdW1dID0gIjIwYmY2M2VlZjdjYjQ0MWMwYjFjYzQ5ZWYzMTkxZDAzIgorU1JDX1VSSVtwYXRjaDA0MS5zaGEyNTZzdW1dID0gIjRlYzQzMjk2NmU0MTk4NTI0YTdlMGNkNjg1ZmUyMjJlOTYwNDM3NjljOTYxM2U2Njc0MmFjNDc1ZGIxMzJjMWEiCitTUkNfVVJJW3BhdGNoMDQyLm1kNXN1bV0gPSAiNzA3OTA2NDZhZTYxZTIwN2M5OTVlNDQ5MzEzOTBlNTAiCitTUkNfVVJJW3BhdGNoMDQyLnNoYTI1NnN1bV0gPSAiYWMyMTkzMjJkYjI3OTFkYTg3YTQ5NmVlNmU4ZTU1NDQ4NDY0OTRiZGFhZWEyNjI2MjcwYzJmNzNjMTA0NDkxOSIKK1NSQ19VUklbcGF0Y2gwNDMubWQ1c3VtXSA9ICI4NTVhNDY5NTVjYjI1MTUzNGU4MGI0NzMyYjc0OGUzNyIKK1NSQ19VUklbcGF0Y2gwNDMuc2hhMjU2c3VtXSA9ICI0N2E4YTNjMDA1YjQ2ZTI1ODIxZjRkOGY1Y2NiMDRjMWQ2NTNiMWM4MjljYjQwNTY4ZDU1M2RjNDRmN2E2MTgwIgorU1JDX1VSSVtwYXRjaDA0NC5tZDVzdW1dID0gIjI5NjIzZDMyODJmY2JiMzdlMTE1ODEzNjUwOWI1YmI4IgorU1JDX1VSSVtwYXRjaDA0NC5zaGEyNTZzdW1dID0gIjkzMzg4MjA2MzBiZjY3MzczYjQ0ZDhlYTY4NDA5ZjY1MTYyZWE3YTQ3YjliMjlhY2UwNmEwYWVkMTI1NjdmOTkiCitTUkNfVVJJW3BhdGNoMDQ1Lm1kNXN1bV0gPSAiNDQ3MzI0NGNhNWFiZmQ0YjAxOGVhMjZkYzczZTc0MTIiCitTUkNfVVJJW3BhdGNoMDQ1LnNoYTI1NnN1bV0gPSAiYmE2ZWMzOTc4ZTllYWExZWIzZmFiZGFmM2NjNmZkZjhjNDYwNmFjMWM1OTlmYWFlYjRlMmQ2OTg2NDE1MDAyMyIKK1NSQ19VUklbcGF0Y2gwNDYubWQ1c3VtXSA9ICI3ZTVmYjA5OTkxYzA3NzA3NmI4NmUwZTA1Nzc5ODkxMyIKK1NSQ19VUklbcGF0Y2gwNDYuc2hhMjU2c3VtXSA9ICJiM2I0NTZhNmI2OTBjZDI5MzM1M2YxN2UyMmQ5MmEyMDJiM2M4YmNlNTg3YWU1ZjI2NjdjMjBjOWFiNmY2ODhmIgogCiBCQkNMQVNTRVhURU5EID0gIm5hdGl2ZXNkayIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvYmxrdG9vbC9ibGt0b29sXzQtNy5iYiBiL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvYmxrdG9vbC9ibGt0b29sXzQtNy5iYgppbmRleCBkNjI1MGE5Li40NTUxYzMyIDEwMDY0NAotLS0gYS9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2Jsa3Rvb2wvYmxrdG9vbF80LTcuYmIKKysrIGIvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9ibGt0b29sL2Jsa3Rvb2xfNC03LmJiCkBAIC05LDcgKzksNyBAQAogCiBERVBFTkRTID0gImdsaWItMi4wIgogCi1TUkNfVVJJID0gIiR7REVCSUFOX01JUlJPUn0vbWFpbi9iL2Jsa3Rvb2wvYmxrdG9vbF80Lm9yaWcudGFyLmd6O25hbWU9dGFyYmFsbCBcCitTUkNfVVJJID0gImh0dHA6Ly9zbmFwc2hvdC5kZWJpYW4ub3JnL2FyY2hpdmUvZGViaWFuLzIwMTYwNzI4VDA0MzQ0M1ovcG9vbC9tYWluL2IvJHtCUE59LyR7QlBOfV80Lm9yaWcudGFyLmd6O25hbWU9dGFyYmFsbCBcCiAgICAgICAgICAgIGZpbGU6Ly8wMDAxLWZpeC10eXBvcy1pbi1tYW5wYWdlLnBhdGNoIFwKICAgICAgICAgICAgZmlsZTovLzAwMDItZml4LXN0cmluZy1lcnJvci5wYXRjaCBcCiAgICAgICAgICAgIGZpbGU6Ly8wMDAzLUZpeC0zLWQtYXJndW1lbnQtZm9yLUJMS1JPU0VULWl0LW11c3QtYmUtY29uc3QtaW50LnBhdGNoIFwKQEAgLTIwLDYgKzIwLDcgQEAKIAogIyBmb3IgdGhpcyBwYWNrYWdlIHdlJ3JlIG1vc3RseSBpbnRlcmVzdGVkIGluIHRyYWNraW5nIGRlYmlhbiBwYXRjaGVzLAogIyBhbmQgbm90IGluIHRoZSB1cHN0cmVhbSB2ZXJzaW9uIHdoZXJlIGFsbCBkZXZlbG9wbWVudCBoYXMgZWZmZWN0aXZlbHkgc3RvcHBlZAorVVBTVFJFQU1fQ0hFQ0tfVVJJID0gIiR7REVCSUFOX01JUlJPUn0vbWFpbi9iL2Jsa3Rvb2wvIgogVVBTVFJFQU1fQ0hFQ0tfUkVHRVggPSAiKD9QPHB2ZXI+KChcZCtcLiopKyktKChcZCtcLiopKykpXC4oZGlmZnxkZWJpYW5cLnRhcilcLihnenx4eikiCiAKIFMgPSAiJHtXT1JLRElSfS8ke0JQTn0tNC5vcmlnIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9ieWFjYy9ieWFjY18yMDE1MDcxMS5iYiBiL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvYnlhY2MvYnlhY2NfMjAxNTA3MTEuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGU1YjU0NTEuLjAwMDAwMDAKLS0tIGEvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9ieWFjYy9ieWFjY18yMDE1MDcxMS5iYgorKysgL2Rldi9udWxsCkBAIC0xLDExICswLDAgQEAKLSMgU2lnaC4gVGhpcyBpcyBvbmUgb2YgdGhvc2UgcGxhY2VzIHdoZXJlIGV2ZXJ5b25lIGxpY2Vuc2VzIGl0IGRpZmZlcmVudGx5LiBTb21lb25lCi0jIGV2ZW4gYXBwbHkgVUNCIHRvIGl0IChGcmVlL05ldC9PcGVuQlNEKS4gVGhlIG1haW50YWluZXIgc3RhdGVzIHRoYXQ6Ci0jICJJJ3ZlIGZvdW5kIG5vIHJlbGlhYmxlIHNvdXJjZSB3aGljaCBzdGF0ZXMgdGhhdCBieWFjYyBtdXN0IGJlYXIgYSBVQ0IgY29weXJpZ2h0LiIKLSMgU2V0dGluZyB0byBQRCBhcyB0aGlzIGlzIHdoYXQgdGhlIHVwc3RyZWFtIGhhcyBpdCBhcy4KLQotTElDRU5TRSA9ICJQRCIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL3BhY2thZ2UvZGViaWFuL2NvcHlyaWdodDttZDU9YzUyZmIyZDFiM2Y3NWIzYjc1MzQ5Mjc4MDdhMWI3MTQiCi1yZXF1aXJlIGJ5YWNjLmluYwotCi1TUkNfVVJJW21kNXN1bV0gPSAiMjcwMDQwMTAzMDU4M2M0ZTkxNjlhYzdlYTdkMDhkZTgiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiYzM1NGU0ZWUxNGM0YTFiZjExZTU1ZGRlOTI3NTAxMWQxNDg4N2VmMDY2NDA2YTA4OGI2ZmE1NmNhZjAzOTI0OCIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvYnlhY2MvYnlhY2NfMjAxNjA2MDYuYmIgYi9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2J5YWNjL2J5YWNjXzIwMTYwNjA2LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk4MTI5ZDAKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2J5YWNjL2J5YWNjXzIwMTYwNjA2LmJiCkBAIC0wLDAgKzEsMTIgQEAKKyMgU2lnaC4gVGhpcyBpcyBvbmUgb2YgdGhvc2UgcGxhY2VzIHdoZXJlIGV2ZXJ5b25lIGxpY2Vuc2VzIGl0IGRpZmZlcmVudGx5LiBTb21lb25lCisjIGV2ZW4gYXBwbHkgVUNCIHRvIGl0IChGcmVlL05ldC9PcGVuQlNEKS4gVGhlIG1haW50YWluZXIgc3RhdGVzIHRoYXQ6CisjICJJJ3ZlIGZvdW5kIG5vIHJlbGlhYmxlIHNvdXJjZSB3aGljaCBzdGF0ZXMgdGhhdCBieWFjYyBtdXN0IGJlYXIgYSBVQ0IgY29weXJpZ2h0LiIKKyMgU2V0dGluZyB0byBQRCBhcyB0aGlzIGlzIHdoYXQgdGhlIHVwc3RyZWFtIGhhcyBpdCBhcy4KKworTElDRU5TRSA9ICJQRCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL3BhY2thZ2UvZGViaWFuL2NvcHlyaWdodDttZDU9NzQ1MzNkMzJmZmQzOGJjYTRjYmYxZjEzMDVmOGJjNjAiCityZXF1aXJlIGJ5YWNjLmluYworCisKK1NSQ19VUklbbWQ1c3VtXSA9ICJkNTI3YzgxMWIzNjBmMDRhOGM1ZjVhMGE5MDYyNTk2NiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJjYzhmZGNlZDQ4NmNiNzBjZWM3YTdjOTM1OGRlODM2YmZkMjY3ZDE5ZDY0NTY3NjBiYjQ3MjFjY2ZlYTVhYzkxIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9iemlwMi9iemlwMi0xLjAuNi9DVkUtMjAxNi0zMTg5LnBhdGNoIGIvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9iemlwMi9iemlwMi0xLjAuNi9DVkUtMjAxNi0zMTg5LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFkMGMzYTYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2J6aXAyL2J6aXAyLTEuMC42L0NWRS0yMDE2LTMxODkucGF0Y2gKQEAgLTAsMCArMSwxOCBAQAorVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydAoraHR0cHM6Ly9idWd6aWxsYS5zdXNlLmNvbS9hdHRhY2htZW50LmNnaT9pZD02ODEzMzQKKworQ1ZFOiBDVkUtMjAxNi0zMTg5CitTaWduZWQtb2ZmLWJ5OiBBcm1pbiBLdXN0ZXIgPGFrdXN0ZXJAbXZpc3RhLmNvbT4KKworSW5kZXg6IGJ6aXAyLTEuMC42L2J6aXAycmVjb3Zlci5jCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gYnppcDItMS4wLjYub3JpZy9iemlwMnJlY292ZXIuYworKysrIGJ6aXAyLTEuMC42L2J6aXAycmVjb3Zlci5jCitAQCAtNDU3LDYgKzQ1Nyw3IEBAIEludDMyIG1haW4gKCBJbnQzMiBhcmdjLCBDaGFyKiogYXJndiApCisgICAgICAgICAgICAgYnNQdXRVQ2hhciAoIGJzV3IsIDB4NTAgKTsgYnNQdXRVQ2hhciAoIGJzV3IsIDB4OTAgKTsKKyAgICAgICAgICAgICBic1B1dFVJbnQzMiAoIGJzV3IsIGJsb2NrQ1JDICk7CisgICAgICAgICAgICAgYnNDbG9zZSAoIGJzV3IgKTsKKysgICAgICAgICAgICBvdXRGaWxlID0gTlVMTDsKKyAgICAgICAgICB9CisgICAgICAgICAgaWYgKHdyQmxvY2sgPj0gcmJDdHIpIGJyZWFrOworICAgICAgICAgIHdyQmxvY2srKzsKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvYnppcDIvYnppcDJfMS4wLjYuYmIgYi9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2J6aXAyL2J6aXAyXzEuMC42LmJiCmluZGV4IGY3MTdkODUuLmVmN2JjODkgMTAwNjQ0Ci0tLSBhL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvYnppcDIvYnppcDJfMS4wLjYuYmIKKysrIGIvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9iemlwMi9iemlwMl8xLjAuNi5iYgpAQCAtMTIsNyArMTIsOSBAQAogICAgICAgICAgICBmaWxlOi8vZml4LWJ1bnppcDItcXQtcmV0dXJucy0wLWZvci1jb3JydXB0LWFyY2hpdmVzLnBhdGNoIFwKICAgICAgICAgICAgZmlsZTovL2NvbmZpZ3VyZS5hYztzdWJkaXI9JHtCUH0gXAogICAgICAgICAgICBmaWxlOi8vTWFrZWZpbGUuYW07c3ViZGlyPSR7QlB9IFwKLSAgICAgICAgICAgZmlsZTovL3J1bi1wdGVzdCIKKyAgICAgICAgICAgZmlsZTovL3J1bi1wdGVzdCBcCisgICAgICAgICAgIGZpbGU6Ly9DVkUtMjAxNi0zMTg5LnBhdGNoIFwKKyAgICAgICAgICAgIgogCiBTUkNfVVJJW21kNXN1bV0gPSAiMDBiNTE2ZjQ3MDRkNGE3Y2I1MGExZDk3ZTZlOGUxNWIiCiBTUkNfVVJJW3NoYTI1NnN1bV0gPSAiYTI4NDhmMzRmY2Q1ZDZjZjQ3ZGVmMDA0NjFmY2I1MjhhMDQ4NGQ4ZWRlZjgyMDhkNmQyZTI5MDlkYzYxZDljZCIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvY3Bpby9jcGlvX3YyLmluYyBiL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvY3Bpby9jcGlvX3YyLmluYwppbmRleCAxYmRjNjE3Li4zMWFkYjcxIDEwMDY0NAotLS0gYS9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2NwaW8vY3Bpb192Mi5pbmMKKysrIGIvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9jcGlvL2NwaW9fdjIuaW5jCkBAIC0zOSwzICszOSw1IEBACiAKIEFMVEVSTkFUSVZFX1BSSU9SSVRZW3JtdF0gPSAiNTAiCiBBTFRFUk5BVElWRV9MSU5LX05BTUVbcm10XSA9ICIke2Jhc2Vfc2JpbmRpcn0vcm10IgorCitCQkNMQVNTRVhURU5EID0gIm5hdGl2ZSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvY3JhY2tsaWIvY3JhY2tsaWIvMDAwMS1BcHBseS1wYXRjaC10by1maXgtQ1ZFLTIwMTYtNjMxOC5wYXRjaCBiL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvY3JhY2tsaWIvY3JhY2tsaWIvMDAwMS1BcHBseS1wYXRjaC10by1maXgtQ1ZFLTIwMTYtNjMxOC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iMjUxYWM5Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9jcmFja2xpYi9jcmFja2xpYi8wMDAxLUFwcGx5LXBhdGNoLXRvLWZpeC1DVkUtMjAxNi02MzE4LnBhdGNoCkBAIC0wLDAgKzEsMTA1IEBACitGcm9tIDQ3ZTVkZWM1MjFhYjYyNDNjOWIyNDlkZDY1YjkzZDIzMmQ5MGQ2YjEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBKYW4gRGl0dGJlcm5lciA8amFuQGRpdHRiZXJuZXIuaW5mbz4KK0RhdGU6IFRodSwgMjUgQXVnIDIwMTYgMTc6MTM6NDkgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSF0gQXBwbHkgcGF0Y2ggdG8gZml4IENWRS0yMDE2LTYzMTgKKworVGhpcyBwYXRjaCBmaXhlcyBhbiBpc3N1ZSB3aXRoIGEgc3RhY2stYmFzZWQgYnVmZmVyIG92ZXJmbG93IHdoZW4KK3BhcnNpbmcgbGFyZ2UgR0VDT1MgZmllbGQuIFNlZQoraHR0cHM6Ly9jdmUubWl0cmUub3JnL2NnaS1iaW4vY3ZlbmFtZS5jZ2k/bmFtZT1DVkUtMjAxNi02MzE4IGFuZAoraHR0cHM6Ly9zZWN1cml0eS10cmFja2VyLmRlYmlhbi5vcmcvdHJhY2tlci9DVkUtMjAxNi02MzE4IGZvciBtb3JlCitpbmZvcm1hdGlvbi4KKworVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydCBbaHR0cHM6Ly9naXRodWIuY29tL2NyYWNrbGliL2NyYWNrbGliL2NvbW1pdC80N2U1ZGVjNTIxYWI2MjQzYzliMjQ5ZGQ2NWI5M2QyMzJkOTBkNmIxXQorQ1ZFOiBDVkUtMjAxNi02MzE4CitTaWduZWQtb2ZmLWJ5OiBEZW5na2UgRHUgPGRlbmdrZS5kdUB3aW5kcml2ZXIuY29tPgorLS0tCisgbGliL2Zhc2Npc3QuYyB8IDU3ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAxIGZpbGUgY2hhbmdlZCwgMzMgaW5zZXJ0aW9ucygrKSwgMjQgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9saWIvZmFzY2lzdC5jIGIvbGliL2Zhc2Npc3QuYworaW5kZXggYTk5NjUwOS4uZDRkZWIxNSAxMDA2NDQKKy0tLSBhL2xpYi9mYXNjaXN0LmMKKysrKyBiL2xpYi9mYXNjaXN0LmMKK0BAIC01MDIsNyArNTAyLDcgQEAgRmFzY2lzdEdlY29zVXNlcihjaGFyICpwYXNzd29yZCwgY29uc3QgY2hhciAqdXNlciwgY29uc3QgY2hhciAqZ2Vjb3MpCisgICAgIGNoYXIgZ2J1ZmZlcltTVFJJTkdTSVpFXTsKKyAgICAgY2hhciB0YnVmZmVyW1NUUklOR1NJWkVdOworICAgICBjaGFyICp1d29yZHNbU1RSSU5HU0laRV07CistICAgIGNoYXIgbG9uZ2J1ZmZlcltTVFJJTkdTSVpFICogMl07CisrICAgIGNoYXIgbG9uZ2J1ZmZlcltTVFJJTkdTSVpFXTsKKyAKKyAgICAgaWYgKGdlY29zID09IE5VTEwpCisgCWdlY29zID0gIiI7CitAQCAtNTgzLDM4ICs1ODMsNDcgQEAgRmFzY2lzdEdlY29zVXNlcihjaGFyICpwYXNzd29yZCwgY29uc3QgY2hhciAqdXNlciwgY29uc3QgY2hhciAqZ2Vjb3MpCisgICAgIHsKKyAJZm9yIChpID0gMDsgaSA8IGo7IGkrKykKKyAJeworLQkgICAgc3RyY3B5KGxvbmdidWZmZXIsIHV3b3Jkc1tpXSk7CistCSAgICBzdHJjYXQobG9uZ2J1ZmZlciwgdXdvcmRzW2pdKTsKKy0KKy0JICAgIGlmIChHVHJ5KGxvbmdidWZmZXIsIHBhc3N3b3JkKSkKKysJICAgIGlmIChzdHJsZW4odXdvcmRzW2ldKSArIHN0cmxlbih1d29yZHNbal0pIDwgU1RSSU5HU0laRSkKKyAJICAgIHsKKy0JCXJldHVybiBfKCJpdCBpcyBkZXJpdmVkIGZyb20geW91ciBwYXNzd29yZCBlbnRyeSIpOworLQkgICAgfQorKwkJc3RyY3B5KGxvbmdidWZmZXIsIHV3b3Jkc1tpXSk7CisrCQlzdHJjYXQobG9uZ2J1ZmZlciwgdXdvcmRzW2pdKTsKKyAKKy0JICAgIHN0cmNweShsb25nYnVmZmVyLCB1d29yZHNbal0pOworLQkgICAgc3RyY2F0KGxvbmdidWZmZXIsIHV3b3Jkc1tpXSk7CisrCQlpZiAoR1RyeShsb25nYnVmZmVyLCBwYXNzd29yZCkpCisrCQl7CisrCQkgICAgcmV0dXJuIF8oIml0IGlzIGRlcml2ZWQgZnJvbSB5b3VyIHBhc3N3b3JkIGVudHJ5Iik7CisrCQl9CisgCistCSAgICBpZiAoR1RyeShsb25nYnVmZmVyLCBwYXNzd29yZCkpCistCSAgICB7CistCQlyZXR1cm4gXygiaXQncyBkZXJpdmVkIGZyb20geW91ciBwYXNzd29yZCBlbnRyeSIpOworLQkgICAgfQorKwkJc3RyY3B5KGxvbmdidWZmZXIsIHV3b3Jkc1tqXSk7CisrCQlzdHJjYXQobG9uZ2J1ZmZlciwgdXdvcmRzW2ldKTsKKyAKKy0JICAgIGxvbmdidWZmZXJbMF0gPSB1d29yZHNbaV1bMF07CistCSAgICBsb25nYnVmZmVyWzFdID0gJ1wwJzsKKy0JICAgIHN0cmNhdChsb25nYnVmZmVyLCB1d29yZHNbal0pOworKwkJaWYgKEdUcnkobG9uZ2J1ZmZlciwgcGFzc3dvcmQpKQorKwkJeworKwkJICAgcmV0dXJuIF8oIml0J3MgZGVyaXZlZCBmcm9tIHlvdXIgcGFzc3dvcmQgZW50cnkiKTsKKysJCX0KKysJICAgIH0KKyAKKy0JICAgIGlmIChHVHJ5KGxvbmdidWZmZXIsIHBhc3N3b3JkKSkKKysJICAgIGlmIChzdHJsZW4odXdvcmRzW2pdKSA8IFNUUklOR1NJWkUgLSAxKQorIAkgICAgeworLQkJcmV0dXJuIF8oIml0IGlzIGRlcml2YWJsZSBmcm9tIHlvdXIgcGFzc3dvcmQgZW50cnkiKTsKKysJCWxvbmdidWZmZXJbMF0gPSB1d29yZHNbaV1bMF07CisrCQlsb25nYnVmZmVyWzFdID0gJ1wwJzsKKysJCXN0cmNhdChsb25nYnVmZmVyLCB1d29yZHNbal0pOworKworKwkJaWYgKEdUcnkobG9uZ2J1ZmZlciwgcGFzc3dvcmQpKQorKwkJeworKwkJICAgIHJldHVybiBfKCJpdCBpcyBkZXJpdmFibGUgZnJvbSB5b3VyIHBhc3N3b3JkIGVudHJ5Iik7CisrCQl9CisgCSAgICB9CisgCistCSAgICBsb25nYnVmZmVyWzBdID0gdXdvcmRzW2pdWzBdOworLQkgICAgbG9uZ2J1ZmZlclsxXSA9ICdcMCc7CistCSAgICBzdHJjYXQobG9uZ2J1ZmZlciwgdXdvcmRzW2ldKTsKKy0KKy0JICAgIGlmIChHVHJ5KGxvbmdidWZmZXIsIHBhc3N3b3JkKSkKKysJICAgIGlmIChzdHJsZW4odXdvcmRzW2ldKSA8IFNUUklOR1NJWkUgLSAxKQorIAkgICAgeworLQkJcmV0dXJuIF8oIml0J3MgZGVyaXZhYmxlIGZyb20geW91ciBwYXNzd29yZCBlbnRyeSIpOworKwkJbG9uZ2J1ZmZlclswXSA9IHV3b3Jkc1tqXVswXTsKKysJCWxvbmdidWZmZXJbMV0gPSAnXDAnOworKwkJc3RyY2F0KGxvbmdidWZmZXIsIHV3b3Jkc1tpXSk7CisrCisrCQlpZiAoR1RyeShsb25nYnVmZmVyLCBwYXNzd29yZCkpCisrCQl7CisrCQkgICAgcmV0dXJuIF8oIml0J3MgZGVyaXZhYmxlIGZyb20geW91ciBwYXNzd29yZCBlbnRyeSIpOworKwkJfQorIAkgICAgfQorIAl9CisgICAgIH0KKy0tIAorMi44LjEKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9jcmFja2xpYi9jcmFja2xpYl8yLjkuNS5iYiBiL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvY3JhY2tsaWIvY3JhY2tsaWJfMi45LjUuYmIKaW5kZXggM2JkM2Y5My4uODI5OTUyMSAxMDA2NDQKLS0tIGEvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9jcmFja2xpYi9jcmFja2xpYl8yLjkuNS5iYgorKysgYi9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2NyYWNrbGliL2NyYWNrbGliXzIuOS41LmJiCkBAIC00LDE1ICs0LDEzIEBACiBMSUNFTlNFID0gIkxHUEx2Mi4xKyIKIExJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkcuTElCO21kNT1lM2VkYTAxZDk4MTVmOGQyNGFhZTJkYmQ4OWI2OGIwNiIKIAotREVQRU5EUyA9ICJjcmFja2xpYi1uYXRpdmUgemxpYiBweXRob24iCi1SREVQRU5EXyR7UE59LXB5dGhvbiArPSAicHl0aG9uIgorREVQRU5EUyA9ICJjcmFja2xpYi1uYXRpdmUgemxpYiIKIAotUEFDS0FHRVMgKz0gIiR7UE59LXB5dGhvbiIKLQotRVhUUkFfT0VDT05GID0gIi0td2l0aC1weXRob24gLS1saWJkaXI9JHtiYXNlX2xpYmRpcn0iCitFWFRSQV9PRUNPTkYgPSAiLS13aXRob3V0LXB5dGhvbiAtLWxpYmRpcj0ke2Jhc2VfbGliZGlyfSIKIAogU1JDX1VSSSA9ICIke1NPVVJDRUZPUkdFX01JUlJPUn0vY3JhY2tsaWIvY3JhY2tsaWItJHtQVn0udGFyLmd6IFwKICAgICAgICAgICAgZmlsZTovLzAwMDEtcGFja2xpYi5jLXN1cHBvcnQtZGljdGlvbmFyeS1ieXRlLW9yZGVyLWRlcGVuZGVudC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLUFwcGx5LXBhdGNoLXRvLWZpeC1DVkUtMjAxNi02MzE4LnBhdGNoIFwKICAgICAgICAgICAgZmlsZTovLzAwMDItY3Jha2xpYi1maXgtdGVzdG51bS1hbmQtdGVzdHN0ci1mYWlsZWQucGF0Y2giCiAKIFNSQ19VUklbbWQ1c3VtXSA9ICIzNzY3OTBhOTVjMWZiNjQ1ZTU5ZTZlOTgwM2M3ODU4MiIKQEAgLTIxLDI3ICsxOSwxMSBAQAogVVBTVFJFQU1fQ0hFQ0tfVVJJID0gImh0dHA6Ly9zb3VyY2Vmb3JnZS5uZXQvcHJvamVjdHMvY3JhY2tsaWIvZmlsZXMvY3JhY2tsaWIvIgogVVBTVFJFQU1fQ0hFQ0tfUkVHRVggPSAiL2NyYWNrbGliLyg/UDxwdmVyPihcZCtbXC5cLV9dKikrKS8iCiAKLWluaGVyaXQgYXV0b3Rvb2xzIGdldHRleHQgcHl0aG9ubmF0aXZlIHB5dGhvbi1kaXIKK2luaGVyaXQgYXV0b3Rvb2xzIGdldHRleHQKIAogZG9faW5zdGFsbF9hcHBlbmRfY2xhc3MtdGFyZ2V0KCkgewogCWNyZWF0ZS1jcmFja2xpYi1kaWN0IC1vICR7RH0ke2RhdGFkaXJ9L2NyYWNrbGliL3B3X2RpY3QgJHtEfSR7ZGF0YWRpcn0vY3JhY2tsaWIvY3JhY2tsaWItc21hbGwKIH0KIAotZG9faW5zdGFsbF9hcHBlbmQoKSB7Ci0Jc3JjX2Rpcj0iJHtEfSR7YmFzZV9saWJkaXJ9LyR7UFlUSE9OX0RJUn0vc2l0ZS1wYWNrYWdlcyIKLQlybSAtZiAkc3JjX2Rpci90ZXN0X2NyYWNrbGliLnB5KgotCi0JaWYgWyAiJHtiYXNlX2xpYmRpcn0iICE9ICIke2xpYmRpcn0iIF0gOyB0aGVuCi0JICAgIyBNb3ZlIHB5dGhvbiBmaWxlcyBmcm9tICR7YmFzZV9saWJkaXJ9IHRvICR7bGliZGlyfSBzaW5jZSB1c2VkIC0tbGliZGlyPSR7YmFzZV9saWJkaXJ9Ci0JICAgaW5zdGFsbCAtZCAtbSAwNzU1ICR7RH0ke1BZVEhPTl9TSVRFUEFDS0FHRVNfRElSfS8KLQkgICBtdiAkc3JjX2Rpci8qICR7RH0ke1BZVEhPTl9TSVRFUEFDS0FHRVNfRElSfQotCSAgIHJtIC1mciAke0R9JHtiYXNlX2xpYmRpcn0vJHtQWVRIT05fRElSfQotCWZpCi19Ci0KIEJCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIG5hdGl2ZXNkayIKIAotRklMRVNfJHtQTn0tcHl0aG9uID0gIiR7UFlUSE9OX1NJVEVQQUNLQUdFU19ESVJ9L2NyYWNrbGliLnB5KiBcCi0JJHtQWVRIT05fU0lURVBBQ0tBR0VTX0RJUn0vX2NyYWNrbGliLioiCi0KLUZJTEVTXyR7UE59LXN0YXRpY2RldiArPSAiJHtQWVRIT05fU0lURVBBQ0tBR0VTX0RJUn0vX2NyYWNrbGliLmEiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2Nyb25pZS9jcm9uaWUvY3JvbmRfcGFtX2NvbmZpZy5wYXRjaCBiL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvY3JvbmllL2Nyb25pZS9jcm9uZF9wYW1fY29uZmlnLnBhdGNoCmluZGV4IDY3NTg3MmMuLjZjOTI4MTYgMTAwNjQ0Ci0tLSBhL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvY3JvbmllL2Nyb25pZS9jcm9uZF9wYW1fY29uZmlnLnBhdGNoCisrKyBiL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvY3JvbmllL2Nyb25pZS9jcm9uZF9wYW1fY29uZmlnLnBhdGNoCkBAIC00LDE2ICs0LDE5IEBACiBVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKIAogU2lnbmVkLW9mZi1ieTogV2Vuem9uZyBGYW4gPHdlbnpvbmcuZmFuQHdpbmRyaXZlci5jb20+Ci0tLS0gY3JvbmllLTEuNC43L3BhbS9jcm9uZC5vcmlnCTIwMTAtMTItMTYgMTY6NTk6MDIuMDAwMDAwMDAwICswODAwCi0rKysgY3JvbmllLTEuNC43L3BhbS9jcm9uZAkyMDExLTA3LTIwIDA5OjQ3OjE2LjA4MDgxOTIwMyArMDgwMAotQEAgLTQsNyArNCw3IEBACitJbmRleDogY3JvbmllLTEuNS4xL3BhbS9jcm9uZAorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGNyb25pZS0xLjUuMS5vcmlnL3BhbS9jcm9uZAorKysrIGNyb25pZS0xLjUuMS9wYW0vY3JvbmQKK0BAIC00LDggKzQsOCBAQAogICMKLSAjIE5vIFBBTSBhdXRoZW50aWNhdGlvbiBjYWxsZWQsIGF1dGggbW9kdWxlcyBub3QgbmVlZGVkCisgIyBBbHRob3VnaCBubyBQQU0gYXV0aGVudGljYXRpb24gaXMgY2FsbGVkLCBhdXRoIG1vZHVsZXMKKyAjIGFyZSB1c2VkIGZvciBjcmVkZW50aWFsIHNldHRpbmcKKy1hdXRoICAgICAgIGluY2x1ZGUgICAgcGFzc3dvcmQtYXV0aAorK2F1dGggICAgICAgaW5jbHVkZSAgICBjb21tb24tYXV0aAogIGFjY291bnQgICAgcmVxdWlyZWQgICBwYW1fYWNjZXNzLnNvCiAtYWNjb3VudCAgICBpbmNsdWRlICAgIHBhc3N3b3JkLWF1dGgKICthY2NvdW50ICAgIGluY2x1ZGUgICAgY29tbW9uLWFjY291bnQKICBzZXNzaW9uICAgIHJlcXVpcmVkICAgcGFtX2xvZ2ludWlkLnNvCiAtc2Vzc2lvbiAgICBpbmNsdWRlICAgIHBhc3N3b3JkLWF1dGgKLS1hdXRoICAgICAgIGluY2x1ZGUgICAgcGFzc3dvcmQtYXV0aAogK3Nlc3Npb24gICAgaW5jbHVkZSAgICBjb21tb24tc2Vzc2lvbi1ub25pbnRlcmFjdGl2ZQotK2F1dGggICAgICAgaW5jbHVkZSAgICBjb21tb24tYXV0aApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9jcm9uaWUvY3JvbmllXzEuNS4wLmJiIGIvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9jcm9uaWUvY3JvbmllXzEuNS4xLmJiCnNpbWlsYXJpdHkgaW5kZXggOTUlCnJlbmFtZSBmcm9tIGltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvY3JvbmllL2Nyb25pZV8xLjUuMC5iYgpyZW5hbWUgdG8gaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9jcm9uaWUvY3JvbmllXzEuNS4xLmJiCmluZGV4IDY5NzUwMWEuLjk5YjJiYjUgMTAwNjQ0Ci0tLSBhL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvY3JvbmllL2Nyb25pZV8xLjUuMC5iYgorKysgYi9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2Nyb25pZS9jcm9uaWVfMS41LjEuYmIKQEAgLTIzLDggKzIzLDggQEAKIFBBTV9TUkNfVVJJID0gImZpbGU6Ly9jcm9uZF9wYW1fY29uZmlnLnBhdGNoIgogUEFNX0RFUFMgPSAibGlicGFtIGxpYnBhbS1ydW50aW1lIHBhbS1wbHVnaW4tYWNjZXNzIHBhbS1wbHVnaW4tbG9naW51aWQiCiAKLVNSQ19VUklbbWQ1c3VtXSA9ICI5ZGI3NWUxODg0ZDgzYTQ1ZTAwMmQxNDVjNmM1NGQ0NSIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICI5Y2YwZTNmNGY1MDQyYTljMDk0MTNkNjJjOGUwYzA1NWUxMjQwMWY3MGIxMTI0NjVmMGY4MWYyYzg0ZWJmYjNmIgorU1JDX1VSSVttZDVzdW1dID0gIjkxMGU2ZWZmY2MwMzI5OThiMGE0OWZiZDQ2MzIyZTE4IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjZjNzM2NjYxMDJhNmI1ZDM1ZTJlYWYxYmQwNjkyNWYyZDRiMGNlZjhkMzMyM2MzNzI4NmRkYTMwODlhODUzMzgiCiAKIGluaGVyaXQgYXV0b3Rvb2xzIHVwZGF0ZS1yYy5kIHVzZXJhZGQgc3lzdGVtZAogCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2N1cHMvY3Vwcy5pbmMgYi9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2N1cHMvY3Vwcy5pbmMKaW5kZXggNGIyZDIxNC4uMDJiNjM1OCAxMDA2NDQKLS0tIGEvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9jdXBzL2N1cHMuaW5jCisrKyBiL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvY3Vwcy9jdXBzLmluYwpAQCAtMywxMyArMywxMyBAQAogTElDRU5TRSA9ICJHUEx2MiAmIExHUEx2MiIKIERFUEVORFMgPSAiZ251dGxzIGxpYnBuZyBqcGVnIGRidXMgZGJ1cy1nbGliIHpsaWIgbGlidXNiIgogCi1TUkNfVVJJID0gImh0dHBzOi8vd3d3LmN1cHMub3JnL3NvZnR3YXJlLyR7UFZ9LyR7QlB9LXNvdXJjZS50YXIuYnoyIFwKK1NSQ19VUkkgPSAiaHR0cHM6Ly9naXRodWIuY29tL2FwcGxlL2N1cHMvcmVsZWFzZXMvZG93bmxvYWQvcmVsZWFzZS0ke1BWfS8ke0JQfS1zb3VyY2UudGFyLmd6IFwKICAgICAgICAgICAgZmlsZTovL3VzZV9lY2hvX29ubHlfaW5faW5pdC5wYXRjaCBcCiAgICAgICAgICAgIGZpbGU6Ly8wMDAxLWRvbi10LXRyeS10by1ydW4tZ2VuZXJhdGVkLWJpbmFyaWVzLnBhdGNoIFwKICAgICAgICAgICAgZmlsZTovL2N1cHNfc2VydmVyYmluLnBhdGNoIFwKIAkgICIKIAotVVBTVFJFQU1fQ0hFQ0tfVVJJID0gImh0dHA6Ly93d3cuY3Vwcy5vcmcvc29mdHdhcmUucGhwIgorVVBTVFJFQU1fQ0hFQ0tfVVJJID0gImh0dHBzOi8vZ2l0aHViLmNvbS9hcHBsZS9jdXBzL3JlbGVhc2VzIgogVVBTVFJFQU1fQ0hFQ0tfUkVHRVggPSAiY3Vwcy0oP1A8cHZlcj5cZCtcLlxkKyhcLlxkKyk/KS1zb3VyY2UudGFyIgogCiBMRUFEX1NPTkFNRSA9ICJsaWJjdXBzZHJpdmVyLnNvIgpAQCAtNDQsNiArNDQsNyBAQAogICAgICAgICAgICAgICAgLS13aXRob3V0LXBlcmwgXAogICAgICAgICAgICAgICAgLS13aXRob3V0LXB5dGhvbiBcCiAgICAgICAgICAgICAgICAtLXdpdGhvdXQtamF2YSBcCisgICAgICAgICAgICAgICBEU09GTEFHUz0nJHtMREZMQUdTfScgXAogICAgICAgICAgICAgICAgIgogCiBFWFRSQV9BVVRPUkVDT05GICs9ICItLWV4Y2x1ZGU9YXV0b2hlYWRlciIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvY3Vwcy9jdXBzXzIuMS4zLmJiIGIvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9jdXBzL2N1cHNfMi4xLjMuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGFlZjIxMWQuLjAwMDAwMDAKLS0tIGEvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9jdXBzL2N1cHNfMi4xLjMuYmIKKysrIC9kZXYvbnVsbApAQCAtMSw2ICswLDAgQEAKLXJlcXVpcmUgY3Vwcy5pbmMKLQotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRS50eHQ7bWQ1PTZjNWEzNTA1OTZmYmEwMjc1NGJkOTZlYjZkZjNhZmQwIgotCi1TUkNfVVJJW21kNXN1bV0gPSAiNjJiOGZhZmQ1OTBlNzVmNzIzMTY5MTU3OTBiMDg1MGEiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiMzZhNzBkNDM1ODRhZWEyNjE3ZGE5MTRiOTMzMWUyMzM0MWMzNTAxYTgyNTRjNGQyZWFlOWMxMWVjMDFmZDRkMyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvY3Vwcy9jdXBzXzIuMS40LmJiIGIvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9jdXBzL2N1cHNfMi4xLjQuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGZhYjgwNgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvY3Vwcy9jdXBzXzIuMS40LmJiCkBAIC0wLDAgKzEsNiBAQAorcmVxdWlyZSBjdXBzLmluYworCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFLnR4dDttZDU9NmM1YTM1MDU5NmZiYTAyNzU0YmQ5NmViNmRmM2FmZDAiCisKK1NSQ19VUklbbWQ1c3VtXSA9ICI5ZjliZjZlM2I5YzIwYTM1MTliNGRjNDA5NjY2ZDZlNyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI0YjE0ZmQ4MzMxODBhYzUyOWViZWJlYTc2NmEwOTA5NGMyNTY4YmY4NDI2ZTIxOWNiM2ExNzE1MzA0ZWY3MjhkIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9kaWZmdXRpbHMvZGlmZnV0aWxzLTIuOC4xL2RpZmZ1dGlsc19maXhfZm9yX2F1dG9tYWtlLTEuMTIucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2RpZmZ1dGlscy9kaWZmdXRpbHMtMi44LjEvZGlmZnV0aWxzX2ZpeF9mb3JfYXV0b21ha2UtMS4xMi5wYXRjaAppbmRleCBjYzA1ZDFkLi5mODYzOGJiIDEwMDY0NAotLS0gYS9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2RpZmZ1dGlscy9kaWZmdXRpbHMtMi44LjEvZGlmZnV0aWxzX2ZpeF9mb3JfYXV0b21ha2UtMS4xMi5wYXRjaAorKysgYi9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2RpZmZ1dGlscy9kaWZmdXRpbHMtMi44LjEvZGlmZnV0aWxzX2ZpeF9mb3JfYXV0b21ha2UtMS4xMi5wYXRjaApAQCAtMTAsNyArMTAsNyBAQAogfCBjb25maWd1cmUuYWM6OTA6IHRoZSB0b3AgbGV2ZWwKIHwgYXV0b200dGU6IG00IGZhaWxlZCB3aXRoIGV4aXQgc3RhdHVzOiAxCiAKLVNpZ25lZC1PZmYtQnk6IE5pdGluIEEgS2FtYmxlIDxuaXRpbi5hLmthbWJsZUBpbnRlbC5jb20+CitTaWduZWQtb2ZmLWJ5OiBOaXRpbiBBIEthbWJsZSA8bml0aW4uYS5rYW1ibGVAaW50ZWwuY29tPgogMjAxMi8wNS8wNAogCiBJbmRleDogZGlmZnV0aWxzLTIuOC4xL200L3ByZXJlcS5tNApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9kaWZmdXRpbHMvZGlmZnV0aWxzLTIuOC4xL2ZpeF9nY2M2LnBhdGNoIGIvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9kaWZmdXRpbHMvZGlmZnV0aWxzLTIuOC4xL2ZpeF9nY2M2LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY5MTUyODcKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2RpZmZ1dGlscy9kaWZmdXRpbHMtMi44LjEvZml4X2djYzYucGF0Y2gKQEAgLTAsMCArMSwzMSBAQAorRml4ZXMgdG8gYWxsb3cgZGlmZnV0aWxzIHRvIGJ1aWxkIHdpdGggZ2NjIHY2LgorCitSUAorMjAxNi81LzI1CisKK0luZGV4OiBkaWZmdXRpbHMtMi44LjEvbGliL3Bvc2l4L3JlZ2V4LmgKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBkaWZmdXRpbHMtMi44LjEub3JpZy9saWIvcG9zaXgvcmVnZXguaAorKysrIGRpZmZ1dGlscy0yLjguMS9saWIvcG9zaXgvcmVnZXguaAorQEAgLTUyOSw3ICs1MjksOSBAQCBleHRlcm4gaW50IHJlX2V4ZWMgX1JFX0FSR1MgKChjb25zdCBjaGFyCisgLyogRm9yIG5vdyB1bmNvbmRpdGlvbmFsbHkgZGVmaW5lIF9fcmVzdHJpY3RfYXJyIHRvIGV4cGFuZCB0byBub3RoaW5nLgorICAgIElkZWFsbHkgd2Ugd291bGQgaGF2ZSBhIHRlc3QgZm9yIHRoZSBjb21waWxlciB3aGljaCBhbGxvd3MgZGVmaW5pbmcKKyAgICBpdCB0byByZXN0cmljdC4gICovCisrI2lmbmRlZiBfX3Jlc3RyaWN0X2FycgorICNkZWZpbmUgX19yZXN0cmljdF9hcnIKKysjZW5kaWYKKyAKKyAvKiBQT1NJWCBjb21wYXRpYmlsaXR5LiAgKi8KKyBleHRlcm4gaW50IHJlZ2NvbXAgX1JFX0FSR1MgKChyZWdleF90ICpfX3Jlc3RyaWN0IF9fcHJlZywKK0luZGV4OiBkaWZmdXRpbHMtMi44LjEvc3JjL2RpZmYuYworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGRpZmZ1dGlscy0yLjguMS5vcmlnL3NyYy9kaWZmLmMKKysrKyBkaWZmdXRpbHMtMi44LjEvc3JjL2RpZmYuYworQEAgLTcxLDYgKzcxLDcgQEAgc3RhdGljIHZvaWQgdXNhZ2UgKHZvaWQpOworIHN0YXRpYyBib29sIHJlY3Vyc2l2ZTsKKyAKKyAvKiBJbiBjb250ZXh0IGRpZmZzLCBzaG93IHByZXZpb3VzIGxpbmVzIHRoYXQgbWF0Y2ggdGhlc2UgcmVnZXhwcy4gICovCisrc3RydWN0IHJlX3BhdHRlcm5fYnVmZmVyIGZ1bmN0aW9uX3JlZ2V4cDsKKyBzdGF0aWMgc3RydWN0IHJlZ2V4cF9saXN0IGZ1bmN0aW9uX3JlZ2V4cF9saXN0OworIAorIC8qIElnbm9yZSBjaGFuZ2VzIGFmZmVjdGluZyBvbmx5IGxpbmVzIHRoYXQgbWF0Y2ggdGhlc2UgcmVnZXhwcy4gICovCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2RpZmZ1dGlscy9kaWZmdXRpbHMtMy4zLzAwMDEtVW5zZXQtbmVlZF9jaGFyc2V0X2FsaWFzLXdoZW4tYnVpbGRpbmctZm9yLW11c2wucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2RpZmZ1dGlscy9kaWZmdXRpbHMtMy40LzAwMDEtVW5zZXQtbmVlZF9jaGFyc2V0X2FsaWFzLXdoZW4tYnVpbGRpbmctZm9yLW11c2wucGF0Y2gKc2ltaWxhcml0eSBpbmRleCAxMDAlCnJlbmFtZSBmcm9tIGltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvZGlmZnV0aWxzL2RpZmZ1dGlscy0zLjMvMDAwMS1VbnNldC1uZWVkX2NoYXJzZXRfYWxpYXMtd2hlbi1idWlsZGluZy1mb3ItbXVzbC5wYXRjaApyZW5hbWUgdG8gaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9kaWZmdXRpbHMvZGlmZnV0aWxzLTMuNC8wMDAxLVVuc2V0LW5lZWRfY2hhcnNldF9hbGlhcy13aGVuLWJ1aWxkaW5nLWZvci1tdXNsLnBhdGNoCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2RpZmZ1dGlscy9kaWZmdXRpbHMtMy4zL3J1bi1wdGVzdCBiL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvZGlmZnV0aWxzL2RpZmZ1dGlscy0zLjQvcnVuLXB0ZXN0CnNpbWlsYXJpdHkgaW5kZXggMTAwJQpyZW5hbWUgZnJvbSBpbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2RpZmZ1dGlscy9kaWZmdXRpbHMtMy4zL3J1bi1wdGVzdApyZW5hbWUgdG8gaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9kaWZmdXRpbHMvZGlmZnV0aWxzLTMuNC9ydW4tcHRlc3QKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvZGlmZnV0aWxzL2RpZmZ1dGlsc18yLjguMS5iYiBiL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvZGlmZnV0aWxzL2RpZmZ1dGlsc18yLjguMS5iYgppbmRleCBiZjQyNWJiLi5mZTU2ZjljIDEwMDY0NAotLS0gYS9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2RpZmZ1dGlscy9kaWZmdXRpbHNfMi44LjEuYmIKKysrIGIvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9kaWZmdXRpbHMvZGlmZnV0aWxzXzIuOC4xLmJiCkBAIC02LDcgKzYsOCBAQAogUFIgPSAicjcuMCIKIAogU1JDX1VSSSA9ICIke0dOVV9NSVJST1J9L2RpZmZ1dGlscy9kaWZmdXRpbHMtJHtQVn0udGFyLmd6IFwKLSAgICAgICAgICAgZmlsZTovL2RpZmZ1dGlsc19maXhfZm9yX2F1dG9tYWtlLTEuMTIucGF0Y2giCisgICAgICAgICAgIGZpbGU6Ly9kaWZmdXRpbHNfZml4X2Zvcl9hdXRvbWFrZS0xLjEyLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL2ZpeF9nY2M2LnBhdGNoIgogCiBTUkNfVVJJW21kNXN1bV0gPSAiNzFmOWM1YWUxOWI2MDYwOGY2YzdmMTYyZGE4NmE0MjgiCiBTUkNfVVJJW3NoYTI1NnN1bV0gPSAiYzUwMDE3NDhiMDY5MjI0ZGQ5OGJmMWJiOWVlODc3MzIxYzdkZThiMzMyYzhhYWQ1YWYzZTJhNzM3MmQyM2Y1YSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvZGlmZnV0aWxzL2RpZmZ1dGlsc18zLjMuYmIgYi9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2RpZmZ1dGlscy9kaWZmdXRpbHNfMy40LmJiCnNpbWlsYXJpdHkgaW5kZXggODclCnJlbmFtZSBmcm9tIGltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvZGlmZnV0aWxzL2RpZmZ1dGlsc18zLjMuYmIKcmVuYW1lIHRvIGltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvZGlmZnV0aWxzL2RpZmZ1dGlsc18zLjQuYmIKaW5kZXggNTAwODY5MC4uY2I3MDkyYiAxMDA2NDQKLS0tIGEvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9kaWZmdXRpbHMvZGlmZnV0aWxzXzMuMy5iYgorKysgYi9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2RpZmZ1dGlscy9kaWZmdXRpbHNfMy40LmJiCkBAIC0xNyw4ICsxNyw4IEBACiAJZG9uZQogfQogCi1TUkNfVVJJW21kNXN1bV0gPSAiOTkxODAyMDhlYzJhODJjZTcxZjU1YjBkNzM4OWYxYjMiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiYTI1ZTg5YThhYjY1ZmRlZDE3MzFlNDE4NmJlMWJiMjVjZGE5Njc4MzRiNmRmOTczNTk5Y2RjZDVhYmRmYzE5YyIKK1NSQ19VUklbbWQ1c3VtXSA9ICJkZjljYTQ2NWYzMDMwN2NmZmQwM2RhMTc2YTQzYTVkNCIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJkYjUzYzAyNWYyYWMzZDIxN2JjZjc1M2RhZDZkZWU3YjQxMGIzM2QwOTQ4NDk1ZmYwMTVhYWY4YjkxMTg5Y2UyIgogCiBpbmhlcml0IHB0ZXN0CiAKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvZXRodG9vbC9ldGh0b29sXzQuMi5iYiBiL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvZXRodG9vbC9ldGh0b29sXzQuNi5iYgpzaW1pbGFyaXR5IGluZGV4IDg3JQpyZW5hbWUgZnJvbSBpbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2V0aHRvb2wvZXRodG9vbF80LjIuYmIKcmVuYW1lIHRvIGltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvZXRodG9vbC9ldGh0b29sXzQuNi5iYgppbmRleCA5NWRmNzg0Li43ODhkNGVhIDEwMDY0NAotLS0gYS9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2V0aHRvb2wvZXRodG9vbF80LjIuYmIKKysrIGIvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9ldGh0b29sL2V0aHRvb2xfNC42LmJiCkBAIC0xMSw4ICsxMSw4IEBACiAgICAgICAgICAgIGZpbGU6Ly9hdm9pZF9wYXJhbGxlbF90ZXN0cy5wYXRjaCBcCiAgICAgICAgICAgICIKIAotU1JDX1VSSVttZDVzdW1dID0gIjViNTVmN2NkNzZlOTAxZGZjMjczOGFjMjJjYWI5NmNhIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gImY4NDIyNmRiOGRkMThhZmFmOTFkOGQwMGY1Y2I4Zjg3ZWMzZDdmNzg3ZDJhMzYwNWRlMDhkNmRmYTk1YWI4ZWYiCitTUkNfVVJJW21kNXN1bV0gPSAiMTE4NmRkODNhMDM4NDEwOWI5MmM2Y2Q0MGE3YmIwZTUiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiYWQ0NTYyMDg4N2Y3ZTYxMzEyZmMyZjljYTNmZDUwZDQ5YWM3NzM3ZWQ4NzRiMGIwMjg0NWQwN2UwZmEzY2E0OSIKIAogaW5oZXJpdCBhdXRvdG9vbHMgcHRlc3QKIFJERVBFTkRTXyR7UE59LXB0ZXN0ICs9ICJtYWtlIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9maW5kdXRpbHMvZmluZHV0aWxzLTQuMi4zMS9maW5kdXRpbHNfZml4X2Zvcl9hdXRvbWFrZS0xLjEyLnBhdGNoIGIvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9maW5kdXRpbHMvZmluZHV0aWxzLTQuMi4zMS9maW5kdXRpbHNfZml4X2Zvcl9hdXRvbWFrZS0xLjEyLnBhdGNoCmluZGV4IDJkMGRkYjQuLjFiN2Y4Y2YgMTAwNjQ0Ci0tLSBhL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvZmluZHV0aWxzL2ZpbmR1dGlscy00LjIuMzEvZmluZHV0aWxzX2ZpeF9mb3JfYXV0b21ha2UtMS4xMi5wYXRjaAorKysgYi9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2ZpbmR1dGlscy9maW5kdXRpbHMtNC4yLjMxL2ZpbmR1dGlsc19maXhfZm9yX2F1dG9tYWtlLTEuMTIucGF0Y2gKQEAgLTYsNyArNiw3IEBACiAKIHwgY29uZmlndXJlLmluOjc1OiBlcnJvcjogYXV0b21hdGljIGRlLUFOU0ktZmljYXRpb24gc3VwcG9ydCBoYXMgYmVlbiByZW1vdmVkCiAKLVNpZ25lZC1PZmYtQnk6IE5pdGluIEEgS2FtYmxlIDxuaXRpbi5hLmthbWJsZUBpbnRlbC5jb20+CitTaWduZWQtb2ZmLWJ5OiBOaXRpbiBBIEthbWJsZSA8bml0aW4uYS5rYW1ibGVAaW50ZWwuY29tPgogMjAxMi8wNS8wNAogCiBJbmRleDogZmluZHV0aWxzLTQuMi4zMS9jb25maWd1cmUuaW4KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvZm9vbWF0aWMvZm9vbWF0aWMtZmlsdGVycy00LjAuMTcvQ1ZFLTIwMTUtODMyNy5wYXRjaCBiL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvZm9vbWF0aWMvZm9vbWF0aWMtZmlsdGVycy00LjAuMTcvQ1ZFLTIwMTUtODMyNy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hYWVkYzg4Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9mb29tYXRpYy9mb29tYXRpYy1maWx0ZXJzLTQuMC4xNy9DVkUtMjAxNS04MzI3LnBhdGNoCkBAIC0wLDAgKzEsMjMgQEAKK1Vwc3RyZWFtLVN0YXR1czogQmFja3BvcnQKKworCitodHRwOi8vYnpyLmxpbnV4Zm91bmRhdGlvbi5vcmcvbG9nZ2VyaGVhZC9vcGVucHJpbnRpbmcvY3Vwcy1maWx0ZXJzL3JldmlzaW9uLzc0MDYKKworSGFuZCBhcHBsaWVkIGNoYW5nZSB0byB1dGlsLmMuIEZpeCB3YXMgZm9yIGN1cHMtZmlsdGVycyBidXQgYWxzbyBhcHBsaWVkIHRvIGZvb21hdGljLWZpbHRlcnMuCisKK0NWRTogQ1ZFLTIwMTUtODMyNworU2lnbmVkLW9mZi1ieTogQXJtaW4gS3VzdGVyIDxha3VzdGVyQG12aXN0YS5jb20+CisKK0luZGV4OiB1dGlsLmMKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBhL3V0aWwuYworKysrIGIvdXRpbC5jCitAQCAtMzEsNyArMzEsNyBAQAorICNpbmNsdWRlIDxhc3NlcnQuaD4KKyAKKyAKKy1jb25zdCBjaGFyKiBzaGVsbGVzY2FwZXMgPSAifDs8PiYhJFwnXCIjKj8oKVtde30iOworK2NvbnN0IGNoYXIqIHNoZWxsZXNjYXBlcyA9ICJ8Ozw+JiEkXCdcImAjKj8oKVtde30iOworIAorIGNvbnN0IGNoYXIgKiB0ZW1wX2RpcigpCisgewpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9mb29tYXRpYy9mb29tYXRpYy1maWx0ZXJzLTQuMC4xNy9DVkUtMjAxNS04NTYwLnBhdGNoIGIvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9mb29tYXRpYy9mb29tYXRpYy1maWx0ZXJzLTQuMC4xNy9DVkUtMjAxNS04NTYwLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRjOTczYzQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2Zvb21hdGljL2Zvb21hdGljLWZpbHRlcnMtNC4wLjE3L0NWRS0yMDE1LTg1NjAucGF0Y2gKQEAgLTAsMCArMSwyMyBAQAorVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydAorCisKK2h0dHA6Ly9ienIubGludXhmb3VuZGF0aW9uLm9yZy9sb2dnZXJoZWFkL29wZW5wcmludGluZy9jdXBzLWZpbHRlcnMvcmV2aXNpb24vNzQxOQorCitIYW5kIGFwcGxpZWQgY2hhbmdlIHRvIHV0aWwuYy4gRml4IHdhcyBmb3IgY3Vwcy1maWx0ZXJzIGJ1dCBhbHNvIGFwcGxpZWQgdG8gZm9vbWF0aWMtZmlsdGVycy4KKworQ1ZFOiBDVkUtMjAxNS04NTYwCitTaWduZWQtb2ZmLWJ5OiBBcm1pbiBLdXN0ZXIgPGFrdXN0ZXJAbXZpc3RhLmNvbT4KKworSW5kZXg6IHV0aWwuYworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGEvdXRpbC5jCisrKysgYi91dGlsLmMKK0BAIC0zMSw3ICszMSw3IEBACisgI2luY2x1ZGUgPGFzc2VydC5oPgorIAorIAorLWNvbnN0IGNoYXIqIHNoZWxsZXNjYXBlcyA9ICJ8PD4mISRcJ1wiIyo/KClbXXt9IjsKKytjb25zdCBjaGFyKiBzaGVsbGVzY2FwZXMgPSAifDs8PiYhJFwnXCIjKj8oKVtde30iOworIAorIGNvbnN0IGNoYXIgKiB0ZW1wX2RpcigpCisgewpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9mb29tYXRpYy9mb29tYXRpYy1maWx0ZXJzXzQuMC4xNy5iYiBiL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvZm9vbWF0aWMvZm9vbWF0aWMtZmlsdGVyc180LjAuMTcuYmIKaW5kZXggMGNmZmVkZC4uM2Y0MzllNyAxMDA2NDQKLS0tIGEvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9mb29tYXRpYy9mb29tYXRpYy1maWx0ZXJzXzQuMC4xNy5iYgorKysgYi9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2Zvb21hdGljL2Zvb21hdGljLWZpbHRlcnNfNC4wLjE3LmJiCkBAIC0xNyw2ICsxNywxMCBAQAogCiBTUkNfVVJJID0gImh0dHA6Ly93d3cub3BlbnByaW50aW5nLm9yZy9kb3dubG9hZC9mb29tYXRpYy9mb29tYXRpYy1maWx0ZXJzLSR7UFZ9LnRhci5neiIKIAorU1JDX1VSSSArPSAiZmlsZTovL0NWRS0yMDE1LTg1NjAucGF0Y2ggXAorICAgICAgICAgICAgZmlsZTovL0NWRS0yMDE1LTgzMjcucGF0Y2ggXAorICAgICAgICAgICAiCisKIFNSQ19VUklbbWQ1c3VtXSA9ICJiMDVmNWRjYmZlMzU5ZjE5OGVlZjNkZjViMjgzZDg5NiIKIFNSQ19VUklbc2hhMjU2c3VtXSA9ICJhMmUyZTUzZTUwMjU3MWU4OGVlYjkwMTBjNDVhMGQ1NDY3MWYxNTcwN2VlMTA0ZjVjOWMyMmI1OWVhN2EzM2UzIgogCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2dhd2svZ2F3ay0zLjEuNS8wMDAxLWdhd2stZml4LW5vbi1nbGliYy1nY2MtNC1jb21waWxhdGlvbi5wYXRjaCBiL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvZ2F3ay9nYXdrLTMuMS41LzAwMDEtZ2F3ay1maXgtbm9uLWdsaWJjLWdjYy00LWNvbXBpbGF0aW9uLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJjOTIwMWIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2dhd2svZ2F3ay0zLjEuNS8wMDAxLWdhd2stZml4LW5vbi1nbGliYy1nY2MtNC1jb21waWxhdGlvbi5wYXRjaApAQCAtMCwwICsxLDY3IEBACitGcm9tIDUzNDk2ZTJlMzA2YjE2YWM1OTgwMTU1M2Y3NzViY2NhMTY0ZTZhMzkgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiA9P1VURi04P3E/QW5kcj1DMz1BOT0yMERyYXN6aWs/PSA8Z2l0QGFuZHJlZC5uZXQ+CitEYXRlOiBXZWQsIDE0IFNlcCAyMDE2IDE2OjIwOjM3ICswMTAwCitTdWJqZWN0OiBbUEFUQ0hdIGZpeCBnY2MgPj0gNCBjb21waWxhdGlvbgorCit8IC4uL2dhd2stMy4xLjUvaGFyZC1sb2NhbGUuaDogSW4gZnVuY3Rpb24gJ2hhcmRfbG9jYWxlJzoKK3wgLi4vZ2F3ay0zLjEuNS9oYXJkLWxvY2FsZS5oOjQzOjIwOiBlcnJvcjogaW52YWxpZCBzdG9yYWdlIGNsYXNzIGZvciBmdW5jdGlvbiAneG1hbGxvYycKK3wgICAgICAgIHN0YXRpYyBwdHJfdCB4bWFsbG9jIFBBUkFNUyAoKHNpemVfdCBuKSk7Cit8ICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fgorCit8IC4uL2dhd2stMy4xLjUvaGFyZC1sb2NhbGUuaDo0NToyMjogd2FybmluZzogaW1wbGljaXQgZGVjbGFyYXRpb24gb2YgZnVuY3Rpb24gJ3htYWxsb2MnIFstV2ltcGxpY2l0LWZ1bmN0aW9uLWRlY2xhcmF0aW9uXQorfCAgICAgICAgY2hhciAqbG9jYWxlID0geG1hbGxvYyAoc3RybGVuIChwKSArIDEpOworfCAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fgorfCAuLi9nYXdrLTMuMS41L2hhcmQtbG9jYWxlLmg6NDU6MjI6IHdhcm5pbmc6IGluaXRpYWxpemF0aW9uIG1ha2VzIHBvaW50ZXIgZnJvbSBpbnRlZ2VyIHdpdGhvdXQgYSBjYXN0IFstV2ludC1jb252ZXJzaW9uXQorfCAuLi9nYXdrLTMuMS41L2RmYS5jOiBBdCB0b3AgbGV2ZWw6Cit8IC4uL2dhd2stMy4xLjUvZGZhLmM6MTI1OjE0OiBlcnJvcjogY29uZmxpY3RpbmcgdHlwZXMgZm9yICd4bWFsbG9jJworfCAgc3RhdGljIHB0cl90IHhtYWxsb2MgUEFSQU1TICgoc2l6ZV90IG4pKTsKK3wgICAgICAgICAgICAgICBefn5+fn5+Cit8IEluIGZpbGUgaW5jbHVkZWQgZnJvbSAuLi9nYXdrLTMuMS41L2RmYS5jOjExMjowOgorfCAuLi9nYXdrLTMuMS41L2hhcmQtbG9jYWxlLmg6NDU6MjI6IG5vdGU6IHByZXZpb3VzIGltcGxpY2l0IGRlY2xhcmF0aW9uIG9mICd4bWFsbG9jJyB3YXMgaGVyZQorfCAgICAgICAgY2hhciAqbG9jYWxlID0geG1hbGxvYyAoc3RybGVuIChwKSArIDEpOworfCAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fgorCitVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW3JlcXVpcmVkIGZvciBnYXdrIDMuMS41IChHUEx2MikgcmVjaXBlIG9ubHldCisKK1NpZ25lZC1vZmYtYnk6IEFuZHLDqSBEcmFzemlrIDxnaXRAYW5kcmVkLm5ldD4KKy0tLQorIGRmYS5jICAgICAgICAgfCAyICstCisgaGFyZC1sb2NhbGUuaCB8IDIgLS0KKyAyIGZpbGVzIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAzIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvZGZhLmMgYi9kZmEuYworaW5kZXggNzFlMzczNi4uOTdmNjA0NSAxMDA2NDQKKy0tLSBhL2RmYS5jCisrKysgYi9kZmEuYworQEAgLTEwOSw2ICsxMDksNyBAQCBleHRlcm4gdm9pZCBmcmVlKCk7CisgCisgI2luY2x1ZGUgInJlZ2V4LmgiCisgI2luY2x1ZGUgImRmYS5oIgorK3N0YXRpYyBwdHJfdCB4bWFsbG9jIFBBUkFNUyAoKHNpemVfdCBuKSk7CisgI2luY2x1ZGUgImhhcmQtbG9jYWxlLmgiCisgCisgLyogSFBVWCwgZGVmaW5lIHRob3NlIGFzIG1hY3JvcyBpbiBzeXMvcGFyYW0uaCAqLworQEAgLTEyMiw3ICsxMjMsNiBAQCBleHRlcm4gdm9pZCBmcmVlKCk7Cisgc3RhdGljIHZvaWQgZGZhbXVzdCBQQVJBTVMgKChzdHJ1Y3QgZGZhICpkZmEpKTsKKyAKKyBzdGF0aWMgcHRyX3QgeGNhbGxvYyBQQVJBTVMgKChzaXplX3Qgbiwgc2l6ZV90IHMpKTsKKy1zdGF0aWMgcHRyX3QgeG1hbGxvYyBQQVJBTVMgKChzaXplX3QgbikpOworIHN0YXRpYyBwdHJfdCB4cmVhbGxvYyBQQVJBTVMgKChwdHJfdCBwLCBzaXplX3QgbikpOworICNpZmRlZiBERUJVRworIHN0YXRpYyB2b2lkIHBydG9rIFBBUkFNUyAoKHRva2VuIHQpKTsKK2RpZmYgLS1naXQgYS9oYXJkLWxvY2FsZS5oIGIvaGFyZC1sb2NhbGUuaAoraW5kZXggMGY0OTg2Yi4uOWVlNTdlMCAxMDA2NDQKKy0tLSBhL2hhcmQtbG9jYWxlLmgKKysrKyBiL2hhcmQtbG9jYWxlLmgKK0BAIC00MCw4ICs0MCw2IEBAIGhhcmRfbG9jYWxlIChpbnQgY2F0ZWdvcnkpCisgICAgICAgaWYgKHN0cmNtcCAocCwgIkMiKSA9PSAwIHx8IHN0cmNtcCAocCwgIlBPU0lYIikgPT0gMCkKKyAJaGFyZCA9IDA7CisgIyBlbHNlCistICAgICAgc3RhdGljIHB0cl90IHhtYWxsb2MgUEFSQU1TICgoc2l6ZV90IG4pKTsKKy0KKyAgICAgICBjaGFyICpsb2NhbGUgPSB4bWFsbG9jIChzdHJsZW4gKHApICsgMSk7CisgICAgICAgc3RyY3B5IChsb2NhbGUsIHApOworIAorLS0gCisyLjkuMworCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2dhd2svZ2F3ay0zLjEuNS9nYXdrLTMuMS41X2ZpeF9mb3JfYXV0b21ha2UtMS4xMi5wYXRjaCBiL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvZ2F3ay9nYXdrLTMuMS41L2dhd2stMy4xLjVfZml4X2Zvcl9hdXRvbWFrZS0xLjEyLnBhdGNoCmluZGV4IGIzZTc5ODcuLmM0MmMzM2MgMTAwNjQ0Ci0tLSBhL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvZ2F3ay9nYXdrLTMuMS41L2dhd2stMy4xLjVfZml4X2Zvcl9hdXRvbWFrZS0xLjEyLnBhdGNoCisrKyBiL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvZ2F3ay9nYXdrLTMuMS41L2dhd2stMy4xLjVfZml4X2Zvcl9hdXRvbWFrZS0xLjEyLnBhdGNoCkBAIC0xMSw3ICsxMSw3IEBACiAuLi4KIHwgTWFrZWZpbGUuYW06Mjc6IGVycm9yOiBhdXRvbWF0aWMgZGUtQU5TSS1maWNhdGlvbiBzdXBwb3J0IGhhcyBiZWVuIHJlbW92ZWQKIAotU2lnbmVkLU9mZi1CeTogTml0aW4gQSBLYW1ibGUgPG5pdGluLmEua2FtYmxlQGludGVsLmNvbT4KK1NpZ25lZC1vZmYtYnk6IE5pdGluIEEgS2FtYmxlIDxuaXRpbi5hLmthbWJsZUBpbnRlbC5jb20+CiAyMDEyLzA1LzA0CiAKIEluZGV4OiBnYXdrLTMuMS41L2NvbmZpZ3VyZS5hYwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9nYXdrL2dhd2tfMy4xLjUuYmIgYi9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2dhd2svZ2F3a18zLjEuNS5iYgppbmRleCA3YzkyYmRlLi42M2ZkMzJmIDEwMDY0NAotLS0gYS9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2dhd2svZ2F3a18zLjEuNS5iYgorKysgYi9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2dhd2svZ2F3a18zLjEuNS5iYgpAQCAtMTUsOCArMTUsMTEgQEAKIFJERVBFTkRTX3BnYXdrICs9ICJnYXdrLWNvbW1vbiIKIFBSID0gInIyIgogCi1TUkNfVVJJID0gIiR7R05VX01JUlJPUn0vZ2F3ay9nYXdrLSR7UFZ9LnRhci5neiBcCi0JZmlsZTovL2dhd2stMy4xLjVfZml4X2Zvcl9hdXRvbWFrZS0xLjEyLnBhdGNoIgorU1JDX1VSSSA9ICJcCisgICAgJHtHTlVfTUlSUk9SfS9nYXdrL2dhd2stJHtQVn0udGFyLmd6IFwKKyAgICBmaWxlOi8vZ2F3ay0zLjEuNV9maXhfZm9yX2F1dG9tYWtlLTEuMTIucGF0Y2ggXAorICAgIGZpbGU6Ly8wMDAxLWdhd2stZml4LW5vbi1nbGliYy1nY2MtNC1jb21waWxhdGlvbi5wYXRjaCBcCisiCiAKIFNSQ19VUklbbWQ1c3VtXSA9ICI0NzYwMzI1NDg5NDc5Y2FjMTdmZTAxMTRiOGY2MmYzMCIKIFNSQ19VUklbc2hhMjU2c3VtXSA9ICI0NjNkY2I5ZDBjYTM5OGIxZDRmNWEzMzJmNmNkOWNlYzU2NDQxMjY1ZmNhNjE2ZjJlYTFiNDRkNDU5ZTlmMGY4IgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9naG9zdHNjcmlwdC9maWxlcy8wMDAxLUJ1Zy02OTY0OTctRml4LXN1cHBvcnQtZm9yLWJ1aWxkaW5nLXdpdGgtbm8tamJpZzItZGUucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2dob3N0c2NyaXB0L2ZpbGVzLzAwMDEtQnVnLTY5NjQ5Ny1GaXgtc3VwcG9ydC1mb3ItYnVpbGRpbmctd2l0aC1uby1qYmlnMi1kZS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZDU4NmExZC4uMDAwMDAwMAotLS0gYS9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2dob3N0c2NyaXB0L2ZpbGVzLzAwMDEtQnVnLTY5NjQ5Ny1GaXgtc3VwcG9ydC1mb3ItYnVpbGRpbmctd2l0aC1uby1qYmlnMi1kZS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDgxICswLDAgQEAKLUZyb20gMWQxOTk5ODA5MTE1NGY4OWI4Mjk0ZTQ1OTRhMDU5ODZiNGMyZjgyMiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IENocmlzIExpZGRlbGwgPGNocmlzLmxpZGRlbGxAYXJ0aWZleC5jb20+Ci1EYXRlOiBXZWQsIDEzIEphbiAyMDE2IDAyOjA4OjQyIC0wNTAwCi1TdWJqZWN0OiBbUEFUQ0ggMS8yXSBCdWcgNjk2NDk3OiBGaXggc3VwcG9ydCBmb3IgYnVpbGRpbmcgd2l0aCBubyBqYmlnMgotIGRlY29kZXIKLQotQXV0aG9yOiBDaHJpcyBMaWRkZWxsIDxjaHJpcy5saWRkZWxsQGFydGlmZXguY29tPgotCi1VcHN0cmVhbS1TdGF0dXM6IEJhY2twb3J0Ci1odHRwOi8vYnVncy5naG9zdHNjcmlwdC5jb20vc2hvd19idWcuY2dpP2lkPTY5NjQ5NwotaHR0cDovL2dpdC5naG9zdHNjcmlwdC5jb20vP3A9Z2hvc3RwZGwuZ2l0O2E9Y29tbWl0ZGlmZjtoPWIwZjVhOTc1Ci1TaWduZWQtb2ZmLWJ5OiBIb25neHUgSmlhIDxob25neHUuamlhQHdpbmRyaXZlci5jb20+Ci0tLS0KLSBiYXNlL2xpYi5tYWsgfCAgOSArKysrKysrKysKLSBwc2kvaW50Lm1hayAgfCAyMyArKysrKysrKysrKysrKysrKystLS0tLQotIDIgZmlsZXMgY2hhbmdlZCwgMjcgaW5zZXJ0aW9ucygrKSwgNSBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL2Jhc2UvbGliLm1hayBiL2Jhc2UvbGliLm1hawotaW5kZXggMjQxZGYyZi4uZGFhNzA1NiAxMDA2NDQKLS0tLSBhL2Jhc2UvbGliLm1hawotKysrIGIvYmFzZS9saWIubWFrCi1AQCAtMTczMiw2ICsxNzMyLDEwIEBAICQoR0xEKXNqYmlnMl9qYmlnMmRlYy5kZXYgOiAkKExJQl9NQUspICQoRUNIT0dTX1hFKSBcCi0gCSQoU0VUTU9EKSAkKEdMRClzamJpZzJfamJpZzJkZWMgJChzamJpZzJfamJpZzJkZWMpCi0gCSQoQURETU9EKSAkKEdMRClzamJpZzJfamJpZzJkZWMgLWluY2x1ZGUgJChHTEQpamJpZzJkZWMuZGV2Ci0gCi0rJChHTEQpc2piaWcyXy5kZXYgOiAkKExJQl9NQUspICQoRUNIT0dTX1hFKSBcCi0rICAkKExJQl9NQUspICQoTUFLRURJUlMpCi0rCSQoU0VUTU9EKSAkKEdMRClzamJpZzJfCi0rCi0gIyBqYmlnMmRlYy5kZXYgaXMgZGVmaW5lZCBpbiBqYmlnMi5tYWsKLSAKLSAkKEdMT0JKKXNqYmlnMi4kKE9CSikgOiAkKEdMU1JDKXNqYmlnMi5jICQoQUspIFwKLUBAIC0xNzM5LDYgKzE3NDMsMTEgQEAgJChHTE9CSilzamJpZzIuJChPQkopIDogJChHTFNSQylzamJpZzIuYyAkKEFLKSBcCi0gICQoc2piaWcyX2gpICQoc3RyaW1wbF9oKSAkKE1BS0VESVJTKQotIAkkKEdMSkJJRzJDQykgJChHTE9fKXNqYmlnMi4kKE9CSikgJChDXykgJChHTFNSQylzamJpZzIuYwotIAotKyQoR0xPQkopc25vamJpZzIuJChPQkopIDogJChHTFNSQylzbm9qYmlnMi5jICQoQUspIFwKLSsgJChzdGRpbnRfX2gpICQobWVtb3J5X19oKSAkKHN0ZGlvX19oKSAkKGdzZXJyb3JzX2gpICQoZ2RlYnVnX2gpIFwKLSsgJChzdHJpbXBsX2gpICQoTElCX01BSykgJChNQUtFRElSUykKLSsJJChHTEpCSUcyQ0MpICQoR0xPXylzbm9qYmlnMi4kKE9CSikgJChDXykgJChHTFNSQylzbm9qYmlnMi5jCi0rCi0gIyBsdXJhdGVjaCB2ZXJzaW9uCi0gc2piaWcyX2x1cmF0ZWNoPSQoR0xPQkopc2piaWcyX2x1cmF0ZWNoLiQoT0JKKQotIAotZGlmZiAtLWdpdCBhL3BzaS9pbnQubWFrIGIvcHNpL2ludC5tYWsKLWluZGV4IDYxNDlhM2IuLmY5ZDY2N2QgMTAwNjQ0Ci0tLS0gYS9wc2kvaW50Lm1hawotKysrIGIvcHNpL2ludC5tYWsKLUBAIC0xMjU0LDExICsxMjU0LDI0IEBAICQoUFNPQkopemZhZXMuJChPQkopIDogJChQU1NSQyl6ZmFlcy5jICQoT1ApICQobWVtb3J5X19oKVwKLSAjIHRoaXMgY2FuIGJlIHR1cm5lZCBvbiBhbmQgb2ZmIHdpdGggYSBGRUFUVVJFX0RFVgotIAotIGZqYmlnMl89JChQU09CSil6ZmpiaWcyXyQoSkJJRzJfTElCKS4kKE9CSikKLS0kKFBTRClqYmlnMi5kZXYgOiAkKElOVF9NQUspICQoRUNIT0dTX1hFKSAkKGZqYmlnMl8pICQoR0xEKXNqYmlnMi5kZXZcCi0tICQoTUFLRURJUlMpCi0tCSQoU0VUTU9EKSAkKFBTRClqYmlnMiAkKGZqYmlnMl8pCi0tCSQoQURETU9EKSAkKFBTRClqYmlnMiAtaW5jbHVkZSAkKEdMRClzamJpZzIKLS0JJChBRERNT0QpICQoUFNEKWpiaWcyIC1vcGVyIHpmamJpZzIKLSsKLSskKFBTRClqYmlnMl9qYmlnMmRlYy5kZXYgOiAkKEVDSE9HU19YRSkgJChmamJpZzJfKSAkKEdMRClzamJpZzIuZGV2XAotKyAkKElOVF9NQUspICQoTUFLRURJUlMpCi0rCSQoU0VUTU9EKSAkKFBTRClqYmlnMl9qYmlnMmRlYyAkKGZqYmlnMl8pCi0rCSQoQURETU9EKSAkKFBTRClqYmlnMl9qYmlnMmRlYyAtaW5jbHVkZSAkKEdMRClzamJpZzIKLSsJJChBRERNT0QpICQoUFNEKWpiaWcyX2piaWcyZGVjIC1vcGVyIHpmamJpZzIKLSsKLSskKFBTRClqYmlnMl9sdXJhdGVjaC5kZXYgOiAkKEVDSE9HU19YRSkgJChmamJpZzJfKSAkKEdMRClzamJpZzIuZGV2XAotKyAkKElOVF9NQUspICQoTUFLRURJUlMpCi0rCSQoU0VUTU9EKSAkKFBTRClqYmlnMl9sdXJhdGVjaCAkKGZqYmlnMl8pCi0rCSQoQURETU9EKSAkKFBTRClqYmlnMl9sdXJhdGVjaCAtaW5jbHVkZSAkKEdMRClzamJpZzIKLSsJJChBRERNT0QpICQoUFNEKWpiaWcyX2x1cmF0ZWNoIC1vcGVyIHpmamJpZzIKLSsKLSskKFBTRClqYmlnMl8uZGV2IDogJChFQ0hPR1NfWEUpICQoSU5UX01BSykgJChNQUtFRElSUykKLSsJJChTRVRNT0QpICQoUFNEKWpiaWcyXyAKLSsKLSskKFBTRClqYmlnMi5kZXYgOiAkKFBTRClqYmlnMl8kKEpCSUcyX0xJQikuZGV2ICQoSU5UX01BSykgJChNQUtFRElSUykKLSsJJChDUF8pICQoUFNEKWpiaWcyXyQoSkJJRzJfTElCKS5kZXYgJChQU0QpamJpZzIuZGV2Ci0gCi0gJChQU09CSil6ZmpiaWcyX2piaWcyZGVjLiQoT0JKKSA6ICQoUFNTUkMpemZqYmlnMi5jICQoT1ApICQobWVtb3J5X19oKVwKLSAgJChnc3N0cnVjdF9oKSAkKGdzdHlwZXNfaCkgJChpYWxsb2NfaCkgJChpZGljdF9oKSAkKGlmaWx0ZXJfaClcCi0tLSAKLTEuOS4xCi0KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvZ2hvc3RzY3JpcHQvZmlsZXMvMDAwMi1CdWctNjk2NDk3LXBhcnQtMi1maXgtc3VwcG9ydC1mb3ItYnVpbGRpbmctd2l0aC1hLUpQLnBhdGNoIGIvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9naG9zdHNjcmlwdC9maWxlcy8wMDAyLUJ1Zy02OTY0OTctcGFydC0yLWZpeC1zdXBwb3J0LWZvci1idWlsZGluZy13aXRoLWEtSlAucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGZjZmM0NzkuLjAwMDAwMDAKLS0tIGEvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9naG9zdHNjcmlwdC9maWxlcy8wMDAyLUJ1Zy02OTY0OTctcGFydC0yLWZpeC1zdXBwb3J0LWZvci1idWlsZGluZy13aXRoLWEtSlAucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw0OCArMCwwIEBACi1Gcm9tIDNiNDNmOTNlYzAyNjExYzRkNTU0NjEyOTUzZjViNjQ3NjViODY4M2IgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBDaHJpcyBMaWRkZWxsIDxjaHJpcy5saWRkZWxsQGFydGlmZXguY29tPgotRGF0ZTogV2VkLCAxMyBKYW4gMjAxNiAwMjoxNDo1NSAtMDUwMAotU3ViamVjdDogW1BBVENIIDIvMl0gQnVnIDY5NjQ5NyAocGFydCAyKTogZml4IHN1cHBvcnQgZm9yIGJ1aWxkaW5nIHdpdGggYSBKUFgKLSBkZWNvZGVyCi0KLUF1dGhvcjogQ2hyaXMgTGlkZGVsbCA8Y2hyaXMubGlkZGVsbEBhcnRpZmV4LmNvbT4KLQotVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydAotaHR0cDovL2J1Z3MuZ2hvc3RzY3JpcHQuY29tL3Nob3dfYnVnLmNnaT9pZD02OTY0OTcKLWh0dHA6Ly9naXQuZ2hvc3RzY3JpcHQuY29tLz9wPWdob3N0cGRsLmdpdDthPWNvbW1pdGRpZmY7aD1iMGY1YTk3NQotU2lnbmVkLW9mZi1ieTogSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPgotLS0tCi0gYmFzZS9saWIubWFrIHwgMyArKysKLSBwc2kvaW50Lm1hayAgfCAzICsrKwotIDIgZmlsZXMgY2hhbmdlZCwgNiBpbnNlcnRpb25zKCspCi0KLWRpZmYgLS1naXQgYS9iYXNlL2xpYi5tYWsgYi9iYXNlL2xpYi5tYWsKLWluZGV4IGRhYTcwNTYuLjg4NTNkZDUgMTAwNjQ0Ci0tLS0gYS9iYXNlL2xpYi5tYWsKLSsrKyBiL2Jhc2UvbGliLm1hawotQEAgLTE3NzQsNiArMTc3NCw5IEBAICQoR0xPQkopc2pweC4kKE9CSikgOiAkKEdMU1JDKXNqcHguYyAkKEFLKSBcCi0gICQoZ2RlYnVnX2gpICQoc3RyaW1wbF9oKSAkKHNqcHhfaCkgJChNQUtFRElSUykKLSAJJChHTEpBU0NDKSAkKEdMT18pc2pweC4kKE9CSikgJChDXykgJChHTFNSQylzanB4LmMKLSAKLSskKEdMRClzanB4Xy5kZXYgOiAkKExJQl9NQUspICQoRUNIT0dTX1hFKSAkKExJQl9NQUspICQoTUFLRURJUlMpCi0rCSQoU0VUTU9EKSAkKEdMRClzanB4XwotKwotICMgbHVyYXRlY2ggdmVyc2lvbgotIHNqcHhfbHVyYXRlY2g9JChHTE9CSilzanB4X2x1cmF0ZWNoLiQoT0JKKQotICQoR0xEKXNqcHhfbHVyYXRlY2guZGV2IDogJChMSUJfTUFLKSAkKEVDSE9HU19YRSkgXAotZGlmZiAtLWdpdCBhL3BzaS9pbnQubWFrIGIvcHNpL2ludC5tYWsKLWluZGV4IGY5ZDY2N2QuLmRiMDFiNjUgMTAwNjQ0Ci0tLS0gYS9wc2kvaW50Lm1hawotKysrIGIvcHNpL2ludC5tYWsKLUBAIC0xMjkwLDYgKzEyOTAsOSBAQCAkKFBTRClqcHguZGV2IDogJChJTlRfTUFLKSAkKEVDSE9HU19YRSkgJChQU0QpanB4XyQoSlBYX0xJQikuZGV2XAotICAkKE1BS0VESVJTKQotIAkkKENQXykgJChQU0QpanB4XyQoSlBYX0xJQikuZGV2ICQoUFNEKWpweC5kZXYKLSAKLSskKFBTRClqcHhfLmRldiA6ICQoRUNIT0dTX1hFKSAkKElOVF9NQUspICQoTUFLRURJUlMpCi0rCSQoU0VUTU9EKSAkKFBTRClqcHhfCi0rCi0gZmpweF9sdXJhdGVjaD0kKFBTT0JKKXpmanB4X2x1cmF0ZWNoLiQoT0JKKQotIAotICQoUFNPQkopemZqcHguJChPQkopIDogJChQU1NSQyl6ZmpweC5jICQoT1ApICQobWVtb3J5X19oKVwKLS0tIAotMS45LjEKLQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9naG9zdHNjcmlwdC9maWxlcy9kby1ub3QtY2hlY2stbG9jYWwtbGlicG5nLXNvdXJjZS5wYXRjaCBiL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvZ2hvc3RzY3JpcHQvZmlsZXMvZG8tbm90LWNoZWNrLWxvY2FsLWxpYnBuZy1zb3VyY2UucGF0Y2gKaW5kZXggYjQ0NWE2Yy4uYzNlNDRmZSAxMDA2NDQKLS0tIGEvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9naG9zdHNjcmlwdC9maWxlcy9kby1ub3QtY2hlY2stbG9jYWwtbGlicG5nLXNvdXJjZS5wYXRjaAorKysgYi9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2dob3N0c2NyaXB0L2ZpbGVzL2RvLW5vdC1jaGVjay1sb2NhbC1saWJwbmctc291cmNlLnBhdGNoCkBAIC0xNiwxNyArMTYsMTcgQEAKICAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQogCiBkaWZmIC0tZ2l0IGEvY29uZmlndXJlLmFjIGIvY29uZmlndXJlLmFjCi1pbmRleCBhYjMwYTk3Li5iNzYyZmQ3IDEwMDY0NAoraW5kZXggYmY2ZDNmNS4uMDFkZjAzZiAxMDA2NDQKIC0tLSBhL2NvbmZpZ3VyZS5hYwogKysrIGIvY29uZmlndXJlLmFjCi1AQCAtOTU1LDExICs5NTUsMTEgQEAgQUNfU1VCU1QoWkxJQkRJUikKK0BAIC05MzAsMTEgKzkzMCwxMSBAQCBBQ19TVUJTVChaTElCRElSKQogIEFDX1NVQlNUKEZUX1NZU19aTElCKQogIAogIGRubCBwbmcgZm9yIHRoZSBwbmcgb3V0cHV0IGRldmljZTsgaXQgYWxzbyByZXF1aXJlcyB6bGliCiAtTElCUE5HRElSPXNyYwogK0xJQlBOR0RJUj0kc3JjZGlyL2xpYnBuZwogIFBOR0RFVlM9JycKLSBQTkdERVZTX0FMTD0ncG5nNDggcG5nMTZtIHBuZ2dyYXkgcG5nbW9ubyBwbmcyNTYgcG5nMTYgcG5nYWxwaGEnCisgUE5HREVWU19BTEw9J3BuZzQ4IHBuZzE2bSBwbmdncmF5IHBuZ21vbm8gcG5nbW9ub2QgcG5nMjU2IHBuZzE2IHBuZ2FscGhhJwogIEFDX01TR19DSEVDS0lORyhbZm9yIGxvY2FsIHBuZyBsaWJyYXJ5IHNvdXJjZV0pCiAtaWYgdGVzdCAtZiAkc3JjZGlyL2xpYnBuZy9wbmdyZWFkLmM7IHRoZW4KICtpZiBmYWxzZTsgdGhlbgpAQCAtMzQsNSArMzQsNSBAQAogICAgICAgICAgU0hBUkVfTElCUE5HPTAKICAgICAgICAgIExJQlBOR0RJUj0kc3JjZGlyL2xpYnBuZwogLS0gCi0xLjkuMQorMi44LjEKIApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9naG9zdHNjcmlwdC9naG9zdHNjcmlwdC9naG9zdHNjcmlwdC05LjAyLXByZXZlbnRfcmVjb21waWxpbmcucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2dob3N0c2NyaXB0L2dob3N0c2NyaXB0L2dob3N0c2NyaXB0LTkuMDItcHJldmVudF9yZWNvbXBpbGluZy5wYXRjaAppbmRleCBiYzI5YmU1Li5lNzA5MTk1IDEwMDY0NAotLS0gYS9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2dob3N0c2NyaXB0L2dob3N0c2NyaXB0L2dob3N0c2NyaXB0LTkuMDItcHJldmVudF9yZWNvbXBpbGluZy5wYXRjaAorKysgYi9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2dob3N0c2NyaXB0L2dob3N0c2NyaXB0L2dob3N0c2NyaXB0LTkuMDItcHJldmVudF9yZWNvbXBpbGluZy5wYXRjaApAQCAtMSw0ICsxLDQgQEAKLXVzdCB1c2UgY29tbWFuZHMgcHJvdmlkZWQgYnkgZ2hvc3RzY3JpcHQtbmF0aXZlLCBwcmV2ZW50aW5nIHJlY29tcGlsZSB0aGVtIHdoZW4KK0p1c3QgdXNlIGNvbW1hbmRzIHByb3ZpZGVkIGJ5IGdob3N0c2NyaXB0LW5hdGl2ZSwgcHJldmVudGluZyByZWNvbXBpbGUgdGhlbSB3aGVuCiBjb21waWxlIGdob3N0c2NyaXB0LgogV2F5IHRvIGVuYWJsZSBjcm9zcyBjb21waWxlLgogCkBAIC03LDk0ICs3LDkzIEBACiBTaWduZWQtb2ZmLWJ5OiBLYW5nIEthaSA8a2FpLmthbmdAd2luZHJpdmVyLmNvbT4KIFNpZ25lZC1vZmYtYnk6IFdlbnpvbmcgRmFuIDx3ZW56b25nLmZhbkB3aW5kcml2ZXIuY29tPgogCitSZWJhc2UgdG8gOS4xOQorU2lnbmVkLW9mZi1ieTogSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPgorLS0tCisgYmFzZS91bml4LWF1eC5tYWsgfCA2NCArKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgMSBmaWxlIGNoYW5nZWQsIDMyIGluc2VydGlvbnMoKyksIDMyIGRlbGV0aW9ucygtKQorCiBkaWZmIC0tZ2l0IGEvYmFzZS91bml4LWF1eC5tYWsgYi9iYXNlL3VuaXgtYXV4Lm1hawotaW5kZXggYTkxZmIyNi4uYzk5MWQxMSAxMDA2NDQKK2luZGV4IDAxMTA2NjcuLmUyZWIxYTEgMTAwNjQ0CiAtLS0gYS9iYXNlL3VuaXgtYXV4Lm1hawogKysrIGIvYmFzZS91bml4LWF1eC5tYWsKLUBAIC02OSw0NiArNjksNDYgQEAgJChHTE9CSilncF9zeXN2LiQoT0JKKTogJChHTFNSQylncF9zeXN2LmMgJChzdGRpb19faCkgJCh0aW1lX19oKSAkKEFLKVwKLSAgJChNQUtFRElSUykKLSAJJChHTENDKSAkKEdMT18pZ3Bfc3lzdi4kKE9CSikgJChDXykgJChHTFNSQylncF9zeXN2LmMKK0BAIC03MSw0NCArNzEsNDQgQEAgJChHTE9CSilncF9zeXN2LiQoT0JKKTogJChHTFNSQylncF9zeXN2LmMgJChzdGRpb19faCkgJCh0aW1lX19oKSAkKEFLKVwKICAKLS0jIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIEF1eGlsaWFyeSBwcm9ncmFtcyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIwotLQotLSQoRUNIT0dTX1hFKTogJChHTFNSQyllY2hvZ3MuYyAkKEFLKSAkKHN0ZHByZV9oKSAkKE1BS0VESVJTKQorICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gQXV4aWxpYXJ5IHByb2dyYW1zIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAjCisgCistJChFQ0hPR1NfWEUpOiAkKEdMU1JDKWVjaG9ncy5jICQoQUspICQoc3RkcHJlX2gpICQoVU5JWF9BVVhfTUFLKSAkKE1BS0VESVJTKQogLQkkKENDQVVYXykgJChJXykkKEdMU1JDRElSKSQoX0kpICQoT18pJChFQ0hPR1NfWEUpICQoR0xTUkMpZWNob2dzLmMgJChBVVhFWFRSQUxJQlMpCiAtCi0tIyBPbiB0aGUgUlMvNjAwMCAoYXQgbGVhc3QpLCBjb21waWxpbmcgZ2VuYXJjaC5jIHdpdGggZ2NjIHdpdGggLU8KLS0jIHByb2R1Y2VzIGEgYnVnZ3kgZXhlY3V0YWJsZS4KLS0kKEdFTkFSQ0hfWEUpOiAkKEdMU1JDKWdlbmFyY2guYyAkKEFLKSAkKEdFTkFSQ0hfREVQUykgJChNQUtFRElSUykKKysjJChFQ0hPR1NfWEUpOiAkKEdMU1JDKWVjaG9ncy5jICQoQUspICQoc3RkcHJlX2gpICQoVU5JWF9BVVhfTUFLKSAkKE1BS0VESVJTKQorKyMJJChDQ0FVWF8pICQoSV8pJChHTFNSQ0RJUikkKF9JKSAkKE9fKSQoRUNIT0dTX1hFKSAkKEdMU1JDKWVjaG9ncy5jICQoQVVYRVhUUkFMSUJTKQorKyMKKyAjIE9uIHRoZSBSUy82MDAwIChhdCBsZWFzdCksIGNvbXBpbGluZyBnZW5hcmNoLmMgd2l0aCBnY2Mgd2l0aCAtTworICMgcHJvZHVjZXMgYSBidWdneSBleGVjdXRhYmxlLgorLSQoR0VOQVJDSF9YRSk6ICQoR0xTUkMpZ2VuYXJjaC5jICQoQUspICQoR0VOQVJDSF9ERVBTKSAkKFVOSVhfQVVYX01BSykgJChNQUtFRElSUykKIC0JJChDQ0FVWF8pICQoSV8pJChHTFNSQ0RJUikkKF9JKSAkKE9fKSQoR0VOQVJDSF9YRSkgJChHTFNSQylnZW5hcmNoLmMgJChBVVhFWFRSQUxJQlMpCiAtCi0tJChHRU5DT05GX1hFKTogJChHTFNSQylnZW5jb25mLmMgJChBSykgJChHRU5DT05GX0RFUFMpICQoTUFLRURJUlMpCistJChHRU5DT05GX1hFKTogJChHTFNSQylnZW5jb25mLmMgJChBSykgJChHRU5DT05GX0RFUFMpICQoVU5JWF9BVVhfTUFLKSAkKE1BS0VESVJTKQogLQkkKENDQVVYXykgJChJXykkKEdMU1JDRElSKSQoX0kpICQoT18pJChHRU5DT05GX1hFKSAkKEdMU1JDKWdlbmNvbmYuYyAkKEFVWEVYVFJBTElCUykKIC0KLS0kKEdFTkRFVl9YRSk6ICQoR0xTUkMpZ2VuZGV2LmMgJChBSykgJChHRU5ERVZfREVQUykgJChNQUtFRElSUykKKy0kKEdFTkRFVl9YRSk6ICQoR0xTUkMpZ2VuZGV2LmMgJChBSykgJChHRU5ERVZfREVQUykgJChVTklYX0FVWF9NQUspICQoTUFLRURJUlMpCiAtCSQoQ0NBVVhfKSAkKElfKSQoR0xTUkNESVIpJChfSSkgJChPXykkKEdFTkRFVl9YRSkgJChHTFNSQylnZW5kZXYuYyAkKEFVWEVYVFJBTElCUykKIC0KLS0kKEdFTkhUX1hFKTogJChHTFNSQylnZW5odC5jICQoQUspICQoR0VOSFRfREVQUykgJChNQUtFRElSUykKKy0kKEdFTkhUX1hFKTogJChHTFNSQylnZW5odC5jICQoQUspICQoR0VOSFRfREVQUykgJChVTklYX0FVWF9NQUspICQoTUFLRURJUlMpCiAtCSQoQ0NBVVhfKSAkKEdFTkhUX0NGTEFHUykgJChPXykkKEdFTkhUX1hFKSAkKEdMU1JDKWdlbmh0LmMgJChBVVhFWFRSQUxJQlMpCiAtCi0tIyBUbyBnZXQgR1MgdG8gdXNlIHRoZSBzeXN0ZW0gemxpYiwgeW91IHJlbW92ZS9oaWRlIHRoZSBncy96bGliIGRpcmVjdG9yeQotLSMgd2hpY2ggbWVhbnMgdGhhdCB0aGUgbWtyb21mcyBidWlsZCBjYW4ndCBmaW5kIHRoZSB6bGliIHNvdXJjZSBpdCBuZWVkcy4KLS0jIFNvIGl0J3Mgc3BsaXQgaW50byB0d28gdGFyZ2V0cywgb25lIHVzaW5nIHRoZSB6bGliIHNvdXJjZSBkaXJlY3RseS4uLi4uCisrIyQoR0VOQVJDSF9YRSk6ICQoR0xTUkMpZ2VuYXJjaC5jICQoQUspICQoR0VOQVJDSF9ERVBTKSAkKFVOSVhfQVVYX01BSykgJChNQUtFRElSUykKKysjCSQoQ0NBVVhfKSAkKElfKSQoR0xTUkNESVIpJChfSSkgJChPXykkKEdFTkFSQ0hfWEUpICQoR0xTUkMpZ2VuYXJjaC5jICQoQVVYRVhUUkFMSUJTKQorKyMKKysjJChHRU5DT05GX1hFKTogJChHTFNSQylnZW5jb25mLmMgJChBSykgJChHRU5DT05GX0RFUFMpICQoVU5JWF9BVVhfTUFLKSAkKE1BS0VESVJTKQorKyMJJChDQ0FVWF8pICQoSV8pJChHTFNSQ0RJUikkKF9JKSAkKE9fKSQoR0VOQ09ORl9YRSkgJChHTFNSQylnZW5jb25mLmMgJChBVVhFWFRSQUxJQlMpCisrIworKyMkKEdFTkRFVl9YRSk6ICQoR0xTUkMpZ2VuZGV2LmMgJChBSykgJChHRU5ERVZfREVQUykgJChVTklYX0FVWF9NQUspICQoTUFLRURJUlMpCisrIwkkKENDQVVYXykgJChJXykkKEdMU1JDRElSKSQoX0kpICQoT18pJChHRU5ERVZfWEUpICQoR0xTUkMpZ2VuZGV2LmMgJChBVVhFWFRSQUxJQlMpCisrIworKyMkKEdFTkhUX1hFKTogJChHTFNSQylnZW5odC5jICQoQUspICQoR0VOSFRfREVQUykgJChVTklYX0FVWF9NQUspICQoTUFLRURJUlMpCisrIwkkKENDQVVYXykgJChHRU5IVF9DRkxBR1MpICQoT18pJChHRU5IVF9YRSkgJChHTFNSQylnZW5odC5jICQoQVVYRVhUUkFMSUJTKQorKyMKKyAjIFRvIGdldCBHUyB0byB1c2UgdGhlIHN5c3RlbSB6bGliLCB5b3UgcmVtb3ZlL2hpZGUgdGhlIGdzL3psaWIgZGlyZWN0b3J5CisgIyB3aGljaCBtZWFucyB0aGF0IHRoZSBta3JvbWZzIGJ1aWxkIGNhbid0IGZpbmQgdGhlIHpsaWIgc291cmNlIGl0IG5lZWRzLgorICMgU28gaXQncyBzcGxpdCBpbnRvIHR3byB0YXJnZXRzLCBvbmUgdXNpbmcgdGhlIHpsaWIgc291cmNlIGRpcmVjdGx5Li4uLi4KIC1NS1JPTUZTX09CSlNfMD0kKE1LUk9NRlNfWkxJQl9PQkpTKSAkKEFVWClncG1pc2MuJChPQkopICQoQVVYKWdwX2dldG52LiQoT0JKKSBcCiAtICQoQVVYKWdzY2RlZnMuJChPQkopICQoQVVYKWdwX3VuaXguJChPQkopICQoQVVYKWdwX3VuaWZzLiQoT0JKKSAkKEFVWClncF91bmlmbi4kKE9CSikgXAogLSAkKEFVWClncF9zdGRpYS4kKE9CSikgJChBVVgpZ3N1dGlsLiQoT0JKKSAkKEFVWCltZW1lbnRvLiQoT0JKKQogLQotLSQoTUtST01GU19YRSlfMDogJChHTFNSQylta3JvbWZzLmMgJChNS1JPTUZTX0NPTU1PTl9ERVBTKSAkKE1LUk9NRlNfT0JKU18wKSAkKE1BS0VESVJTKQorLSQoTUtST01GU19YRSlfMDogJChHTFNSQylta3JvbWZzLmMgJChNS1JPTUZTX0NPTU1PTl9ERVBTKSAkKE1LUk9NRlNfT0JKU18wKSAkKFVOSVhfQVVYX01BSykgJChNQUtFRElSUykKIC0JJChDQ0FVWF8pICQoR0VOT1BUKSAkKENGTEFHUykgJChJXykkKEdMU1JDRElSKSQoX0kpICQoSV8pJChHTE9CSikkKF9JKSAkKElfKSQoWlNSQ0RJUikkKF9JKSAkKEdMU1JDKW1rcm9tZnMuYyAkKE9fKSQoTUtST01GU19YRSlfMCAkKE1LUk9NRlNfT0JKU18wKSAkKEFVWEVYVFJBTElCUykKIC0KLS0jIC4uLi4gYW5kIG9uZSB1c2luZyB0aGUgemxpYiBsaWJyYXJ5IGxpbmtlZCB2aWEgdGhlIGNvbW1hbmQgbGluZQorKyNNS1JPTUZTX09CSlNfMD0kKE1LUk9NRlNfWkxJQl9PQkpTKSAkKEFVWClncG1pc2MuJChPQkopICQoQVVYKWdwX2dldG52LiQoT0JKKSBcCisrIyAkKEFVWClnc2NkZWZzLiQoT0JKKSAkKEFVWClncF91bml4LiQoT0JKKSAkKEFVWClncF91bmlmcy4kKE9CSikgJChBVVgpZ3BfdW5pZm4uJChPQkopIFwKKysjICQoQVVYKWdwX3N0ZGlhLiQoT0JKKSAkKEFVWClnc3V0aWwuJChPQkopICQoQVVYKW1lbWVudG8uJChPQkopCisrIworKyMkKE1LUk9NRlNfWEUpXzA6ICQoR0xTUkMpbWtyb21mcy5jICQoTUtST01GU19DT01NT05fREVQUykgJChNS1JPTUZTX09CSlNfMCkgJChVTklYX0FVWF9NQUspICQoTUFLRURJUlMpCisrIwkkKENDQVVYXykgJChHRU5PUFQpICQoQ0ZMQUdTKSAkKElfKSQoR0xTUkNESVIpJChfSSkgJChJXykkKEdMT0JKKSQoX0kpICQoSV8pJChaU1JDRElSKSQoX0kpICQoR0xTUkMpbWtyb21mcy5jICQoT18pJChNS1JPTUZTX1hFKV8wICQoTUtST01GU19PQkpTXzApICQoQVVYRVhUUkFMSUJTKQorKyMKKyAjIC4uLi4gYW5kIG9uZSB1c2luZyB0aGUgemxpYiBsaWJyYXJ5IGxpbmtlZCB2aWEgdGhlIGNvbW1hbmQgbGluZQogLU1LUk9NRlNfT0JKU18xPSQoQVVYKWdzY2RlZnMuJChPQkopIFwKIC0gJChBVVgpZ3BtaXNjLiQoT0JKKSAkKEFVWClncF9nZXRudi4kKE9CSikgXAogLSAkKEFVWClncF91bml4LiQoT0JKKSAkKEFVWClncF91bmlmcy4kKE9CSikgJChBVVgpZ3BfdW5pZm4uJChPQkopIFwKIC0gJChBVVgpZ3Bfc3RkaWEuJChPQkopICQoQVVYKWdzdXRpbC4kKE9CSikKIC0KLS0kKE1LUk9NRlNfWEUpXzE6ICQoR0xTUkMpbWtyb21mcy5jICQoTUtST01GU19DT01NT05fREVQUykgJChNS1JPTUZTX09CSlNfMSkgJChNQUtFRElSUykKKy0kKE1LUk9NRlNfWEUpXzE6ICQoR0xTUkMpbWtyb21mcy5jICQoTUtST01GU19DT01NT05fREVQUykgJChNS1JPTUZTX09CSlNfMSkgJChVTklYX0FVWF9NQUspICQoTUFLRURJUlMpCiAtCSQoQ0NBVVhfKSAkKEdFTk9QVCkgJChDRkxBR1MpICQoSV8pJChHTFNSQ0RJUikkKF9JKSAkKElfKSQoR0xPQkopJChfSSkgJChJXykkKFpTUkNESVIpJChfSSkgJChHTFNSQylta3JvbWZzLmMgJChPXykkKE1LUk9NRlNfWEUpXzEgJChNS1JPTUZTX09CSlNfMSkgJChBVVhFWFRSQUxJQlMpCiAtCi0tJChNS1JPTUZTX1hFKTogJChNS1JPTUZTX1hFKV8kKFNIQVJFX1pMSUIpICQoTUFLRURJUlMpCistJChNS1JPTUZTX1hFKTogJChNS1JPTUZTX1hFKV8kKFNIQVJFX1pMSUIpICQoVU5JWF9BVVhfTUFLKSAkKE1BS0VESVJTKQogLQkkKENQXykgJChNS1JPTUZTX1hFKV8kKFNIQVJFX1pMSUIpICQoTUtST01GU19YRSkKLSsjIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBBdXhpbGlhcnkgcHJvZ3JhbXMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICMKLSsjCi0rIyQoRUNIT0dTX1hFKTogJChHTFNSQyllY2hvZ3MuYyAkKEFLKSAkKHN0ZHByZV9oKSAkKE1BS0VESVJTKQotKyMJJChDQ0FVWF8pICQoSV8pJChHTFNSQ0RJUikkKF9JKSAkKE9fKSQoRUNIT0dTX1hFKSAkKEdMU1JDKWVjaG9ncy5jICQoQVVYRVhUUkFMSUJTKQotKyMKLSsjIyBPbiB0aGUgUlMvNjAwMCAoYXQgbGVhc3QpLCBjb21waWxpbmcgZ2VuYXJjaC5jIHdpdGggZ2NjIHdpdGggLU8KLSsjIyBwcm9kdWNlcyBhIGJ1Z2d5IGV4ZWN1dGFibGUuCi0rIyQoR0VOQVJDSF9YRSk6ICQoR0xTUkMpZ2VuYXJjaC5jICQoQUspICQoR0VOQVJDSF9ERVBTKSAkKE1BS0VESVJTKQotKyMJJChDQ0FVWF8pICQoSV8pJChHTFNSQ0RJUikkKF9JKSAkKE9fKSQoR0VOQVJDSF9YRSkgJChHTFNSQylnZW5hcmNoLmMgJChBVVhFWFRSQUxJQlMpCi0rIwotKyMkKEdFTkNPTkZfWEUpOiAkKEdMU1JDKWdlbmNvbmYuYyAkKEFLKSAkKEdFTkNPTkZfREVQUykgJChNQUtFRElSUykKLSsjCSQoQ0NBVVhfKSAkKElfKSQoR0xTUkNESVIpJChfSSkgJChPXykkKEdFTkNPTkZfWEUpICQoR0xTUkMpZ2VuY29uZi5jICQoQVVYRVhUUkFMSUJTKQotKyMKLSsjJChHRU5ERVZfWEUpOiAkKEdMU1JDKWdlbmRldi5jICQoQUspICQoR0VOREVWX0RFUFMpICQoTUFLRURJUlMpCi0rIwkkKENDQVVYXykgJChJXykkKEdMU1JDRElSKSQoX0kpICQoT18pJChHRU5ERVZfWEUpICQoR0xTUkMpZ2VuZGV2LmMgJChBVVhFWFRSQUxJQlMpCi0rIwotKyMkKEdFTkhUX1hFKTogJChHTFNSQylnZW5odC5jICQoQUspICQoR0VOSFRfREVQUykgJChNQUtFRElSUykKLSsjCSQoQ0NBVVhfKSAkKEdFTkhUX0NGTEFHUykgJChPXykkKEdFTkhUX1hFKSAkKEdMU1JDKWdlbmh0LmMgJChBVVhFWFRSQUxJQlMpCi0rIwotKyMjIFRvIGdldCBHUyB0byB1c2UgdGhlIHN5c3RlbSB6bGliLCB5b3UgcmVtb3ZlL2hpZGUgdGhlIGdzL3psaWIgZGlyZWN0b3J5Ci0rIyMgd2hpY2ggbWVhbnMgdGhhdCB0aGUgbWtyb21mcyBidWlsZCBjYW4ndCBmaW5kIHRoZSB6bGliIHNvdXJjZSBpdCBuZWVkcy4KLSsjIyBTbyBpdCdzIHNwbGl0IGludG8gdHdvIHRhcmdldHMsIG9uZSB1c2luZyB0aGUgemxpYiBzb3VyY2UgZGlyZWN0bHkuLi4uLgotKyNNS1JPTUZTX09CSlNfMD0kKE1LUk9NRlNfWkxJQl9PQkpTKSAkKEFVWClncG1pc2MuJChPQkopICQoQVVYKWdwX2dldG52LiQoT0JKKSBcCi0rIyAkKEFVWClnc2NkZWZzLiQoT0JKKSAkKEFVWClncF91bml4LiQoT0JKKSAkKEFVWClncF91bmlmcy4kKE9CSikgJChBVVgpZ3BfdW5pZm4uJChPQkopIFwKLSsjICQoQVVYKWdwX3N0ZGlhLiQoT0JKKSAkKEFVWClnc3V0aWwuJChPQkopICQoQVVYKW1lbWVudG8uJChPQkopCi0rIwotKyMkKE1LUk9NRlNfWEUpXzA6ICQoR0xTUkMpbWtyb21mcy5jICQoTUtST01GU19DT01NT05fREVQUykgJChNS1JPTUZTX09CSlNfMCkgJChNQUtFRElSUykKLSsjCSQoQ0NBVVhfKSAkKEdFTk9QVCkgJChDRkxBR1MpICQoSV8pJChHTFNSQ0RJUikkKF9JKSAkKElfKSQoR0xPQkopJChfSSkgJChJXykkKFpTUkNESVIpJChfSSkgJChHTFNSQylta3JvbWZzLmMgJChPXykkKE1LUk9NRlNfWEUpXzAgJChNS1JPTUZTX09CSlNfMCkgJChBVVhFWFRSQUxJQlMpCi0rIwotKyMjIC4uLi4gYW5kIG9uZSB1c2luZyB0aGUgemxpYiBsaWJyYXJ5IGxpbmtlZCB2aWEgdGhlIGNvbW1hbmQgbGluZQogKyNNS1JPTUZTX09CSlNfMT0kKEFVWClnc2NkZWZzLiQoT0JKKSBcCiArIyAkKEFVWClncG1pc2MuJChPQkopICQoQVVYKWdwX2dldG52LiQoT0JKKSBcCiArIyAkKEFVWClncF91bml4LiQoT0JKKSAkKEFVWClncF91bmlmcy4kKE9CSikgJChBVVgpZ3BfdW5pZm4uJChPQkopIFwKICsjICQoQVVYKWdwX3N0ZGlhLiQoT0JKKSAkKEFVWClnc3V0aWwuJChPQkopCiArIwotKyMkKE1LUk9NRlNfWEUpXzE6ICQoR0xTUkMpbWtyb21mcy5jICQoTUtST01GU19DT01NT05fREVQUykgJChNS1JPTUZTX09CSlNfMSkgJChNQUtFRElSUykKKysjJChNS1JPTUZTX1hFKV8xOiAkKEdMU1JDKW1rcm9tZnMuYyAkKE1LUk9NRlNfQ09NTU9OX0RFUFMpICQoTUtST01GU19PQkpTXzEpICQoVU5JWF9BVVhfTUFLKSAkKE1BS0VESVJTKQogKyMJJChDQ0FVWF8pICQoR0VOT1BUKSAkKENGTEFHUykgJChJXykkKEdMU1JDRElSKSQoX0kpICQoSV8pJChHTE9CSikkKF9JKSAkKElfKSQoWlNSQ0RJUikkKF9JKSAkKEdMU1JDKW1rcm9tZnMuYyAkKE9fKSQoTUtST01GU19YRSlfMSAkKE1LUk9NRlNfT0JKU18xKSAkKEFVWEVYVFJBTElCUykKICsjCi0rIyQoTUtST01GU19YRSk6ICQoTUtST01GU19YRSlfJChTSEFSRV9aTElCKSAkKE1BS0VESVJTKQorKyMkKE1LUk9NRlNfWEUpOiAkKE1LUk9NRlNfWEUpXyQoU0hBUkVfWkxJQikgJChVTklYX0FVWF9NQUspICQoTUFLRURJUlMpCiArIwkkKENQXykgJChNS1JPTUZTX1hFKV8kKFNIQVJFX1pMSUIpICQoTUtST01GU19YRSkKICAKICAjIFF1ZXJ5IHRoZSBlbnZpcm9ubWVudCB0byBjb25zdHJ1Y3QgZ2NvbmZpZ18uaC4KICAjIFRoZXNlIGFyZSBhbGwgZGVmaW5lZCBjb25kaXRpb25hbGx5IChleGNlcHQgdGhlIEphc1BFUiBvbmUpLCBzbyB0aGF0CistLSAKKzIuOC4xCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvZ2hvc3RzY3JpcHQvZ2hvc3RzY3JpcHQvcG5nX21hay5wYXRjaCBiL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvZ2hvc3RzY3JpcHQvZ2hvc3RzY3JpcHQvcG5nX21hay5wYXRjaAppbmRleCBkYTkwMGVhLi44Yjg0OTg2IDEwMDY0NAotLS0gYS9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2dob3N0c2NyaXB0L2dob3N0c2NyaXB0L3BuZ19tYWsucGF0Y2gKKysrIGIvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9naG9zdHNjcmlwdC9naG9zdHNjcmlwdC9wbmdfbWFrLnBhdGNoCkBAIC0xLDIxICsxLDMyIEBACiBnaG9zdHNjcmlwdDogYWRkIGRlcGVuZGVuY3kgZm9yIHBuZ2xpYmNvbmYuaAotICAgIAorCiBXaGVuIHVzaW5nIHBhcmFsbGVsIG1ha2Ugam9icywgd2UgbmVlZCB0byBiZSBzdXJlIHRoYXQKIHBuZ2xpYmNvbmYuaCBpcyBjcmVhdGVkIGJlZm9yZSB3ZSB0cnkgdG8gcmVmZXJlbmNlIGl0LAogc28gYWRkIGEgcnVsZSB0byBwbmcubWFrLgogCiBVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLSAgICAKKwogU2lnbmVkLW9mZi1ieTogSm9lIFNsYXRlciA8anNsYXRlckB3aW5kcml2ZXIuY29tPgogCitSZWJhc2UgdG8gOS4xOQorU2lnbmVkLW9mZi1ieTogSG9uZ3h1IEppYSA8aG9uZ3h1LmppYUB3aW5kcml2ZXIuY29tPgorLS0tCisgYmFzZS9wbmcubWFrIHwgMiArKworIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKykKKworZGlmZiAtLWdpdCBhL2Jhc2UvcG5nLm1hayBiL2Jhc2UvcG5nLm1haworaW5kZXggZmU1YzZlMi4uOGFiYjUzYSAxMDA2NDQKIC0tLSBhL2Jhc2UvcG5nLm1hawogKysrIGIvYmFzZS9wbmcubWFrCi1AQCAtODEsNiArODEsOCBAQCBwbmcuY29uZmlnLWNsZWFuIDoKLSAkKHBuZ2xpYmNvbmZfaCkgOiAkKFBOR1NSQylzY3JpcHRzJChEKXBuZ2xpYmNvbmYuaC5wcmVidWlsdAotIAkkKENQXykgICQoUE5HU1JDKXNjcmlwdHMkKEQpcG5nbGliY29uZi5oLnByZWJ1aWx0ICQocG5nbGliY29uZl9oKQorQEAgLTc0LDYgKzc0LDggQEAgcG5nLmNsZWFuLW5vdC1jb25maWctY2xlYW4gOgorIAorIHBuZ2xpYmNvbmZfaD0kKFBOR0dFTkRJUikkKEQpcG5nbGliY29uZi5oCiAgCiArJChNQUtFRElSUykgOiAkKHBuZ2xpYmNvbmZfaCkKICsKLSBQREVQPSQoQUspICQocG5nbGliY29uZl9oKSAkKE1BS0VESVJTKQotIAotIHBuZ18xPSQoUE5HT0JKKXBuZy4kKE9CSikgJChQTkdPQkopcG5nbWVtLiQoT0JKKSAkKFBOR09CSilwbmdlcnJvci4kKE9CSikgJChQTkdPQkopcG5nc2V0LiQoT0JKKQorIHBuZy5jb25maWctY2xlYW4gOgorIAkkKFJNXykgJChwbmdsaWJjb25mX2gpCisgCSQoUk1fKSAkKFBOR0dFTilscGcqLmRldgorLS0gCisyLjguMQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2dob3N0c2NyaXB0L2dob3N0c2NyaXB0XzkuMTguYmIgYi9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2dob3N0c2NyaXB0L2dob3N0c2NyaXB0XzkuMTkuYmIKc2ltaWxhcml0eSBpbmRleCA4NiUKcmVuYW1lIGZyb20gaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9naG9zdHNjcmlwdC9naG9zdHNjcmlwdF85LjE4LmJiCnJlbmFtZSB0byBpbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2dob3N0c2NyaXB0L2dob3N0c2NyaXB0XzkuMTkuYmIKaW5kZXggZDQyMjJjNy4uZmUyMDE2YiAxMDA2NDQKLS0tIGEvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9naG9zdHNjcmlwdC9naG9zdHNjcmlwdF85LjE4LmJiCisrKyBiL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvZ2hvc3RzY3JpcHQvZ2hvc3RzY3JpcHRfOS4xOS5iYgpAQCAtMTYsMTIgKzE2LDEyIEBACiBERVBFTkRTID0gImdob3N0c2NyaXB0LW5hdGl2ZSB0aWZmIGpwZWcgZm9udGNvbmZpZyBjdXBzIGxpYnBuZyIKIERFUEVORFNfY2xhc3MtbmF0aXZlID0gImxpYnBuZy1uYXRpdmUiCiAKLVNSQ19VUklfQkFTRSA9ICJodHRwOi8vZG93bmxvYWRzLmdob3N0c2NyaXB0LmNvbS9wdWJsaWMvZ2hvc3RzY3JpcHQtJHtQVn0udGFyLmd6IFwKK1VQU1RSRUFNX0NIRUNLX1VSSSA9ICJodHRwczovL2dpdGh1Yi5jb20vQXJ0aWZleFNvZnR3YXJlL2dob3N0cGRsLWRvd25sb2Fkcy9yZWxlYXNlcyIKKworU1JDX1VSSV9CQVNFID0gImh0dHBzOi8vZ2l0aHViLmNvbS9BcnRpZmV4U29mdHdhcmUvZ2hvc3RwZGwtZG93bmxvYWRzL3JlbGVhc2VzL2Rvd25sb2FkL2dzOTE5LyR7QlBOfS0ke1BWfS50YXIuZ3ogXAogICAgICAgICAgICAgICAgIGZpbGU6Ly9naG9zdHNjcmlwdC05LjE1LXBhcmFsbGVsLW1ha2UucGF0Y2ggXAogICAgICAgICAgICAgICAgIGZpbGU6Ly9naG9zdHNjcmlwdC05LjE2LVdlcnJvci1yZXR1cm4tdHlwZS5wYXRjaCBcCiAgICAgICAgICAgICAgICAgZmlsZTovL3BuZ19tYWsucGF0Y2ggXAotICAgICAgICAgICAgICAgIGZpbGU6Ly8wMDAxLUJ1Zy02OTY0OTctRml4LXN1cHBvcnQtZm9yLWJ1aWxkaW5nLXdpdGgtbm8tamJpZzItZGUucGF0Y2ggXAotICAgICAgICAgICAgICAgIGZpbGU6Ly8wMDAyLUJ1Zy02OTY0OTctcGFydC0yLWZpeC1zdXBwb3J0LWZvci1idWlsZGluZy13aXRoLWEtSlAucGF0Y2ggXAogICAgICAgICAgICAgICAgIGZpbGU6Ly9kby1ub3QtY2hlY2stbG9jYWwtbGlicG5nLXNvdXJjZS5wYXRjaCBcCiAiCiAKQEAgLTM3LDE0ICszNywxMyBAQAogICAgICAgICAgICAgICAgICAgICAgICAgZmlsZTovL2Jhc2UtZ2VuaHQuYy1hZGQtYS1wcmVwcm9jZXNzb3ItZGVmaW5lLXRvLWFsbG93LWZvcGUucGF0Y2ggXAogICAgICAgICAgICAgICAgICAgICAgICAgIgogCi1TUkNfVVJJW21kNXN1bV0gPSAiMzNhNDc1NjdkN2E1OTFjMDBhMjUzY2FkZGQxMmE4OGEiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiNWZjOTMwNzk3NDlhMjUwYmU1NDA0YzQ2NTk0Mzg1MGUzZWQ1ZmZiYzBkNWMwN2UxMGM3YzVlZThhZmJiZGIxYiIKK1NSQ19VUklbbWQ1c3VtXSA9ICJjOTY4MmNlNmI4NTJmOTE5N2M2OTkwNWE0MzkyODkwNyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJjZjNjMGRjZTY3ZGIxNTU3YTg3MzY2OTY5OTQ1ZjljNTIzNTg4Nzk4OWMwYjU4NWUwMzdhZjM2NmRjMDM1OTg5IgogCiBFWFRSQV9PRUNPTkYgPSAiLS13aXRob3V0LXggLS13aXRoLXN5c3RlbS1saWJ0aWZmIC0td2l0aG91dC1qYmlnMmRlYyBcCiAgICAgICAgICAgICAgICAgLS13aXRoLWZvbnRwYXRoPSR7ZGF0YWRpcn0vZm9udHMgXAogICAgICAgICAgICAgICAgIC0td2l0aG91dC1saWJpZG4gLS13aXRoLWN1cHMtc2VydmVyYmluPSR7ZXhlY19wcmVmaXh9L2xpYi9jdXBzIFwKICAgICAgICAgICAgICAgICAtLXdpdGgtY3Vwcy1kYXRhZGlyPSR7ZGF0YWRpcn0vY3VwcyBcCi0gICAgICAgICAgICAgICAgJHtAYmFzZV9jb25kaXRpb25hbCgnU0lURUlORk9fRU5ESUFOTkVTUycsICdsZScsICctLWVuYWJsZS1saXR0bGUtZW5kaWFuJywgJy0tZW5hYmxlLWJpZy1lbmRpYW4nLCBkKX0gXAogICAgICAgICAgICAgICAgICIKIAogRVhUUkFfT0VDT05GX2FwcGVuZF9taXBzID0gIiAtLXdpdGgtbGFyZ2VfY29sb3JfaW5kZXg9MCIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvZ3JlcC9ncmVwLTIuNS4xYS9maXgtZm9yLXRleGluZm8tNS4xLnBhdGNoIGIvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9ncmVwL2dyZXAtMi41LjFhL2ZpeC1mb3ItdGV4aW5mby01LjEucGF0Y2gKaW5kZXggNWE0MTQ5Yy4uY2U1OTUwOSAxMDA2NDQKLS0tIGEvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9ncmVwL2dyZXAtMi41LjFhL2ZpeC1mb3ItdGV4aW5mby01LjEucGF0Y2gKKysrIGIvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9ncmVwL2dyZXAtMi41LjFhL2ZpeC1mb3ItdGV4aW5mby01LjEucGF0Y2gKQEAgLTEsNiArMSw2IEBACiBVcHN0cmVhbS1TdGF0dXM6IEluYXBwcm9wcmlhdGUgW1Bva3kgU3BlY2lmaWMgdGhpcyBpcyBncGx2MiB2ZXJzaW9uXQogCi1TaWduZWQtb2ZmLWJ5IFNhdWwgV29sZCA8c2d3QGxpbnV4LmludGVsLmNvbT4KK1NpZ25lZC1vZmYtYnk6IFNhdWwgV29sZCA8c2d3QGxpbnV4LmludGVsLmNvbT4KIAogSW5kZXg6IGdyZXAtMi41LjFhL2RvYy9ncmVwLnRleGkKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvZ3JlcC9ncmVwLTIuNS4xYS9ncmVwLUNWRS0yMDEyLTU2NjcucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2dyZXAvZ3JlcC0yLjUuMWEvZ3JlcC1DVkUtMjAxMi01NjY3LnBhdGNoCmluZGV4IDcyMWYyYTAuLmE0MGE5ZjMgMTAwNjQ0Ci0tLSBhL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvZ3JlcC9ncmVwLTIuNS4xYS9ncmVwLUNWRS0yMDEyLTU2NjcucGF0Y2gKKysrIGIvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9ncmVwL2dyZXAtMi41LjFhL2dyZXAtQ1ZFLTIwMTItNTY2Ny5wYXRjaApAQCAtMTIsNyArMTIsNyBAQAogYWNjZXB0aW5nIHBhdGNoZXMuICBUaGlzIGlzIG5vdCBhIGJhY2twb3J0LgogQ1ZFOiBDVkUtMjAxMi01NjY3CiAKLVNpZ25lZC1vZmYtYnkgTWluZyBMaXUgPG1pbmcubGl1QHdpbmRyaXZlci5jb20+CitTaWduZWQtb2ZmLWJ5OiBNaW5nIExpdSA8bWluZy5saXVAd2luZHJpdmVyLmNvbT4KIC0tLQogIGdyZXAuYyB8ICAgIDcgKysrLS0tLQogIDEgZmlsZSBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2dyZXAvZ3JlcC0yLjUuMWEvZ3JlcF9maXhfZm9yX2F1dG9tYWtlLTEuMTIucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2dyZXAvZ3JlcC0yLjUuMWEvZ3JlcF9maXhfZm9yX2F1dG9tYWtlLTEuMTIucGF0Y2gKaW5kZXggM2NjY2U1Zi4uZDliMWUzNSAxMDA2NDQKLS0tIGEvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9ncmVwL2dyZXAtMi41LjFhL2dyZXBfZml4X2Zvcl9hdXRvbWFrZS0xLjEyLnBhdGNoCisrKyBiL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvZ3JlcC9ncmVwLTIuNS4xYS9ncmVwX2ZpeF9mb3JfYXV0b21ha2UtMS4xMi5wYXRjaApAQCAtMTMsNyArMTMsNyBAQAogfCBzcmMvTWFrZWZpbGUuYW06MjogZXJyb3I6IGF1dG9tYXRpYyBkZS1BTlNJLWZpY2F0aW9uIHN1cHBvcnQgaGFzIGJlZW4gcmVtb3ZlZAogfCBhdXRvcmVjb25mOiBhdXRvbWFrZSBmYWlsZWQgd2l0aCBleGl0IHN0YXR1czogMQogCi1TaWduZWQtT2ZmLUJ5OiBOaXRpbiBBIEthbWJsZSA8bml0aW4uYS5rYW1ibGVAaW50ZWwuY29tPgorU2lnbmVkLW9mZi1ieTogTml0aW4gQSBLYW1ibGUgPG5pdGluLmEua2FtYmxlQGludGVsLmNvbT4KIDIwMTIvMDUvMDQKIAogSW5kZXg6IGdyZXAtMi41LjFhL2NvbmZpZ3VyZS5pbgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9ncmVwL2dyZXBfMi4yMy5iYiBiL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvZ3JlcC9ncmVwXzIuMjUuYmIKc2ltaWxhcml0eSBpbmRleCA4OCUKcmVuYW1lIGZyb20gaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9ncmVwL2dyZXBfMi4yMy5iYgpyZW5hbWUgdG8gaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9ncmVwL2dyZXBfMi4yNS5iYgppbmRleCAxM2ZmMzJkLi45NzIwZDlmIDEwMDY0NAotLS0gYS9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2dyZXAvZ3JlcF8yLjIzLmJiCisrKyBiL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvZ3JlcC9ncmVwXzIuMjUuYmIKQEAgLTksOCArOSw4IEBACiAgICAgICAgICAgIGZpbGU6Ly8wMDAxLVVuc2V0LW5lZWRfY2hhcnNldF9hbGlhcy13aGVuLWJ1aWxkaW5nLWZvci1tdXNsLnBhdGNoIFwKICAgICAgICAgICAiCiAKLVNSQ19VUklbbWQ1c3VtXSA9ICJmNDZhYTlkMGQyNTc3YjkyMTJhMTA0MzQ4YTI4Njc4NyIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICI1NGZjNDc4ZWUxY2UxNzc4MDEwOTgyMGVmMzA3MzBjOWUxODcxNWE5NDlmN2Q1YzZhZmM2NzNhZGIyYTU2ZWNmIgorU1JDX1VSSVttZDVzdW1dID0gIjA0ZTk2YjBlNmYwZmU2YTE4MGFlNjJjODhmY2QwYWY2IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImUyMWU4M2JhYzUwNDUwZTBkMGQ2MWE0MmMxNTRlZTBkY2VhYWNkYmY0ZjYwNGVmNmU3OTA3MWNiOGU1OTY4MzAiCiAKIGluaGVyaXQgYXV0b3Rvb2xzIGdldHRleHQgdGV4aW5mbwogCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2dyb2ZmL2dyb2ZmLTEuMTguMS40L2ZpeC1uYXJyb3dpbmctY29udmVyc2lvbi1lcnJvci5wYXRjaCBiL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvZ3JvZmYvZ3JvZmYtMS4xOC4xLjQvZml4LW5hcnJvd2luZy1jb252ZXJzaW9uLWVycm9yLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRiMDE3NmYKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2dyb2ZmL2dyb2ZmLTEuMTguMS40L2ZpeC1uYXJyb3dpbmctY29udmVyc2lvbi1lcnJvci5wYXRjaApAQCAtMCwwICsxLDYxIEBACitGcm9tIGZjMjg5YWI2OWM2ZDdlNGFkNDg5MTcyNTA5YTg1ZjY4YWZlYzQzZWEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBIb25neHUgSmlhIDxob25neHUuamlhQHdpbmRyaXZlci5jb20+CitEYXRlOiBGcmksIDI5IEp1bCAyMDE2IDAzOjE5OjM5IC0wNDAwCitTdWJqZWN0OiBbUEFUQ0hdIGZpeCBuYXJyb3dpbmcgY29udmVyc2lvbiBlcnJvcgorCitXaGlsZSBnY2M2IHVzZWQsIGJ1aWxkIG9sZCBncm9mZiAoZm9yIGFudGktR1BMdjMgcmVhc29ucykgZmFpbGVkOgorLi4uLi4KK3xncm9mZi0xLjE4LjEuNC9zcmMvZGV2aWNlcy9ncm9sYnAvY2hhcnNldC5oOjY5OjE6IGVycm9yOiBuYXJyb3dpbmcKK2NvbnZlcnNpb24gb2YgJzEzMCcgZnJvbSAnaW50JyB0byAnY2hhcicgaW5zaWRlIHsgfSBbLVduYXJyb3dpbmddCisuLi4uLi4KKworSW4gdXBzdHJlYW0gZ2l0Oi8vZ2l0LnNhdmFubmFoLmdudS5vcmcvZ3JvZmYuZ2l0LAordGhlIGZvbGxvd2luZyBjb21taXQgZml4IHRoZSBpc3N1ZSwgYnV0IHRoZSBsaWNlbnNlIGlzIEdQTFYzLAord2UgY291bGQgbm90IGJhY2twb3J0IGl0IHRvIHRoZSBvbGQgZ3JvZmYgd2hpY2ggbGljZW5zZSBpcyBHUExWMi4KKy4uLgorY29tbWl0IGQxODAwMzhhZTBkYTE5NjU1YmMyNzYwYWUyMDQzZWZhMDU1MGE3NmMKK0F1dGhvcjogV2VybmVyIExFTUJFUkcgPHdsQGdudS5vcmc+CitEYXRlOiAgIFdlZCBBcHIgMTYgMjE6MTE6MDcgMjAwMyArMDAwMAorICAgICogc3JjL2RldmljZXMvZ3JvbGJwL2NoYXJzZXQuaCAoc3ltc2V0KTogVXNlIGB1bnNpZ25lZCBjaGFyJy4KKy4uLgorCitXZSB1c2UgYW5vdGhlciBkaWZmZXJlbnQgd2F5IHRvIGZpeCB0aGUgaXNzdWUuCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitTaWduZWQtb2ZmLWJ5OiBIb25neHUgSmlhIDxob25neHUuamlhQHdpbmRyaXZlci5jb20+CistLS0KKyBzcmMvZGV2aWNlcy9ncm9sYnAvY2hhcnNldC5oIHwgMiArLQorIHNyYy9kZXZpY2VzL2dyb2xicC9sYnAuY2MgICAgfCA0ICsrLS0KKyAyIGZpbGVzIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL3NyYy9kZXZpY2VzL2dyb2xicC9jaGFyc2V0LmggYi9zcmMvZGV2aWNlcy9ncm9sYnAvY2hhcnNldC5oCitpbmRleCBhZGM3NmY0Li5lOWM2YzViIDEwMDY0NAorLS0tIGEvc3JjL2RldmljZXMvZ3JvbGJwL2NoYXJzZXQuaAorKysrIGIvc3JjL2RldmljZXMvZ3JvbGJwL2NoYXJzZXQuaAorQEAgLTEsNiArMSw2IEBACisgLy8gRGVmaW5pdGlvbiBvZiB0aGUgV1A1NCBjaGFyYWN0ZXIgc2V0CisgCistY2hhciBzeW1zZXRbXSA9IHsKKytpbnQgc3ltc2V0W10gPSB7CisgMHg1NywweDUwLDB4MzUsMHgzNCwweDAwLDB4NDEsMHg3NiwweDYxLDB4NmUsMHg3NCwweDQ3LDB4NjEsCisgMHg3MiwweDY0LDB4NjUsMHgyZCwweDQyLDB4NmYsMHg2ZiwweDZiLDB4MDAsMHg0MSwweDc2LAorIDB4NjEsMHg2ZSwweDc0LDB4NDcsMHg2MSwweDcyLDB4NjQsMHg2NSwweDJkLDB4NDQsMHg2NSwKK2RpZmYgLS1naXQgYS9zcmMvZGV2aWNlcy9ncm9sYnAvbGJwLmNjIGIvc3JjL2RldmljZXMvZ3JvbGJwL2xicC5jYworaW5kZXggNzZkYjMyYS4uMDBkNGNhNyAxMDA2NDQKKy0tLSBhL3NyYy9kZXZpY2VzL2dyb2xicC9sYnAuY2MKKysrKyBiL3NyYy9kZXZpY2VzL2dyb2xicC9sYnAuY2MKK0BAIC0xNTIsOCArMTUyLDggQEAgc3RhdGljIHZvaWQgd3A1NGNoYXJzZXQoKQorIHsKKyAgIHVuc2lnbmVkIGludCBpOworICAgbGJwcHV0cygiXDAzM1s3MTQ7MTAwOzI5OzA7MzI7MTIwLn0iKTsKKy0gIGZvciAoaSA9IDA7IGkgPCBzaXplb2Yoc3ltc2V0KTsgaSsrKQorLSAgICBsYnBwdXRjKHN5bXNldFtpXSk7CisrICBmb3IgKGkgPSAwOyBpIDwgc2l6ZW9mKHN5bXNldCkvc2l6ZW9mKHN5bXNldFswXSk7IGkrKykKKysgICAgbGJwcHV0YygoY2hhcilzeW1zZXRbaV0mMHhGRik7CisgICBsYnBwdXRzKCJcMDMzWzEwMDswIEQiKTsKKyAgIHJldHVybjsKKyB9CistLSAKKzIuOC4xCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvZ3JvZmYvZ3JvZmZfMS4xOC4xLjQuYmIgYi9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2dyb2ZmL2dyb2ZmXzEuMTguMS40LmJiCmluZGV4IGJkNzg2YTMuLmZjN2ViNDQgMTAwNjQ0Ci0tLSBhL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvZ3JvZmYvZ3JvZmZfMS4xOC4xLjQuYmIKKysrIGIvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9ncm9mZi9ncm9mZl8xLjE4LjEuNC5iYgpAQCAtMTMsNiArMTMsNyBAQAogICAgICAgICAgIGZpbGU6Ly9tYW4tbG9jYWwucGF0Y2ggXAogICAgICAgICAgIGZpbGU6Ly9tZG9jLWxvY2FsLnBhdGNoIFwKICAgICAgICAgICBmaWxlOi8vZ3JvZmYtMS4xOC4xLjQtZml4LWJpbmRpci5wYXRjaCBcCisgICAgICAgICAgZmlsZTovL2ZpeC1uYXJyb3dpbmctY29udmVyc2lvbi1lcnJvci5wYXRjaCBcCiAiIAogCiBpbmhlcml0IGF1dG90b29scyB0ZXhpbmZvCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2dyb2ZmL2dyb2ZmXzEuMjIuMy5iYiBiL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvZ3JvZmYvZ3JvZmZfMS4yMi4zLmJiCmluZGV4IDRiZmZhODEuLmRkMjQxZjMgMTAwNjQ0Ci0tLSBhL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvZ3JvZmYvZ3JvZmZfMS4yMi4zLmJiCisrKyBiL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvZ3JvZmYvZ3JvZmZfMS4yMi4zLmJiCkBAIC01Niw2ICs1NiwxNyBAQAogCWlmIFsgLWUgJHtEfSR7bGliZGlyfS9jaGFyc2V0LmFsaWFzIF07IHRoZW4KIAkJcm0gLXJmICR7RH0ke2xpYmRpcn0vY2hhcnNldC5hbGlhcwogCWZpCisKKwkjIGF3ayBpcyBsb2NhdGVkIGF0IC91c3IvYmluLywgbm90IC9iaW4vCisJU1BFQ0lBTF9BV0s9YGZpbmQgJHtEfSAtbmFtZSBzcGVjaWFsLmF3a2AKKwlpZiBbIC1mICR7U1BFQ0lBTF9BV0t9IF07IHRoZW4KKwkJc2VkIC1pIC1lICdzOiMhLiphd2s6IyEgJHtVU1JCSU5QQVRIfS9hd2s6JyAke1NQRUNJQUxfQVdLfQorCWZpCisKKwkjIG5vdCBzaGlwIC91c3IvYmluL2dsaWx5cG9uZCBhbmQgaXRzIHJlbGVhdGVkIGZpbGVzIGluIGVtYmVkZGVkIHRhcmdldCBzeXN0ZW0KKwlybSAtcmYgJHtEfSR7YmluZGlyfS9nbGlseXBvbmQKKwlybSAtcmYgJHtEfSR7bGliZGlyfS9ncm9mZi9nbGlseXBvbmQKKwlybSAtcmYgJHtEfSR7bWFuZGlyfS9tYW4xL2dsaWx5cG9uZCoKIH0KIAogZG9faW5zdGFsbF9hcHBlbmRfY2xhc3MtbmF0aXZlKCkgewpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9nemlwL2d6aXAtMS42L3dyb25nLXBhdGgtZml4LnBhdGNoIGIvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9nemlwL2d6aXAtMS44L3dyb25nLXBhdGgtZml4LnBhdGNoCnNpbWlsYXJpdHkgaW5kZXggNzQlCnJlbmFtZSBmcm9tIGltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvZ3ppcC9nemlwLTEuNi93cm9uZy1wYXRoLWZpeC5wYXRjaApyZW5hbWUgdG8gaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9nemlwL2d6aXAtMS44L3dyb25nLXBhdGgtZml4LnBhdGNoCmluZGV4IDkyODYzZDYuLjRkYzEwMDAgMTAwNjQ0Ci0tLSBhL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvZ3ppcC9nemlwLTEuNi93cm9uZy1wYXRoLWZpeC5wYXRjaAorKysgYi9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2d6aXAvZ3ppcC0xLjgvd3JvbmctcGF0aC1maXgucGF0Y2gKQEAgLTEzLDE3ICsxMywxNSBAQAogCiBVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKIAotSW5kZXg6IGd6aXAtMS4zLjEyL01ha2VmaWxlLmFtCitJbmRleDogZ3ppcC0xLjgvTWFrZWZpbGUuYW0KID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLWRpZmYgLXVycE4gYS9NYWtlZmlsZS5hbSBiL01ha2VmaWxlLmFtCi0tLS0gYS9NYWtlZmlsZS5hbQkyMDEzLTExLTMwIDEwOjA2OjA5LjQwMjIzNDg3MSArMDgwMAotKysrIGIvTWFrZWZpbGUuYW0JMjAxMy0xMS0zMCAxMDoxMzo0Mi45NTIyMzYwMjUgKzA4MDAKLUBAIC04MSw5ICs4MSw4IEBAIGd6aXAuZG9jLmd6OiBnemlwLmRvYyAkKGJpbl9QUk9HUkFNUykKKy0tLSBnemlwLTEuOC5vcmlnL01ha2VmaWxlLmFtCisrKysgZ3ppcC0xLjgvTWFrZWZpbGUuYW0KK0BAIC04MSw4ICs4MSw3IEBAIGd6aXAuZG9jLmd6OiBnemlwLmRvYyAkKGJpbl9QUk9HUkFNUykKICBTVUZGSVhFUyA9IC5pbgogIC5pbjoKICAJJChBTV9WX0dFTilzZWQgXAogLQkJLWUgJ3N8L2Jpbi9zaHwkKFNIRUxMKXxnJyBcCi0gCQktZSAnc3xbQF1iaW5kaXJAfCdcJyckKGJpbmRpciknXCcnfGcnIFwKIC0JCS1lICdzfFtAXUdSRVBAfCQoR1JFUCl8ZycgXAogKwkJLWUgJ3N8W0BdR1JFUEB8JChiYXNlX2JpbmRpcikvZ3JlcHxnJyBcCiAgCQktZSAnc3xbQF1WRVJTSU9OQHwkKFZFUlNJT04pfGcnIFwKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvZ3ppcC9nemlwLmluYyBiL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvZ3ppcC9nemlwLmluYwppbmRleCA2ZTgxODgzLi4wNGY4Zjk1IDEwMDY0NAotLS0gYS9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2d6aXAvZ3ppcC5pbmMKKysrIGIvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9nemlwL2d6aXAuaW5jCkBAIC0yMiwxMSArMjIsNiBAQAogCWZpCiB9CiAKLWRvX2luc3RhbGxfYXBwZW5kX2xpYmMtbXVzbCAoKSB7Ci0Jcm0gJHtEfSR7bGliZGlyfS9jaGFyc2V0LmFsaWFzCi0Jcm1kaXIgJHtEfSR7bGliZGlyfQotfQotCiBpbmhlcml0IHVwZGF0ZS1hbHRlcm5hdGl2ZXMKIAogQUxURVJOQVRJVkVfUFJJT1JJVFkgPSAiMTAwIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9nemlwL2d6aXBfMS42LmJiIGIvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9nemlwL2d6aXBfMS44LmJiCnNpbWlsYXJpdHkgaW5kZXggNzUlCnJlbmFtZSBmcm9tIGltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvZ3ppcC9nemlwXzEuNi5iYgpyZW5hbWUgdG8gaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9nemlwL2d6aXBfMS44LmJiCmluZGV4IGIzNDdmMGIuLmExOWI5NjUgMTAwNjQ0Ci0tLSBhL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvZ3ppcC9nemlwXzEuNi5iYgorKysgYi9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2d6aXAvZ3ppcF8xLjguYmIKQEAgLTEzLDUgKzEzLDYgQEAKIAogQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCiAKLVNSQ19VUklbbWQ1c3VtXSA9ICIzODYwM2NiMjg0M2JmNTY4MWZmNDFhYWIzYmNkNmEyMCIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICI5N2ViODNiNzYzZDllNWFkMzVmMzUxZmU1NTE3ZTZiNzE1MjFkN2FhYzdhY2YzZTNjYWNkYjZiMTQ5NmQ4ZjdlIgorU1JDX1VSSVttZDVzdW1dID0gIjczMjU1MzE1MjgxNGIyMmRjMzVhYTAyNjdkZjUyODZjIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjFmZjdhZWRiM2Q2NmEwZDczZjQ0MmY2MjYxZTRiMzg2MGRmNmZkNmM5NDAyNWMyY2IzMWEyMDJjOWM2MGZlMGUiCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvaGRwYXJtL2hkcGFybV85LjQ4LmJiIGIvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9oZHBhcm0vaGRwYXJtXzkuNDguYmIKaW5kZXggZWMzZDI2Zi4uY2Q4NTc3NiAxMDA2NDQKLS0tIGEvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9oZHBhcm0vaGRwYXJtXzkuNDguYmIKKysrIGIvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9oZHBhcm0vaGRwYXJtXzkuNDguYmIKQEAgLTIsOCArMiwxMiBAQAogREVTQ1JJUFRJT04gPSAiaGRwYXJtIGlzIGEgTGludXggc2hlbGwgdXRpbGl0eSBmb3Igdmlld2luZyBcCiBhbmQgbWFuaXB1bGF0aW5nIHZhcmlvdXMgSURFIGRyaXZlIGFuZCBkcml2ZXIgcGFyYW1ldGVycy4iCiBTRUNUSU9OID0gImNvbnNvbGUvdXRpbHMiCi1MSUNFTlNFID0gIkJTRCIKKworTElDRU5TRSA9ICJCU0QgJiBHUEx2MiIKK0xJQ0VOU0VfJHtQTn0gPSAiQlNEIgorTElDRU5TRV8ke1BOfS1kYmcgPSAiQlNEIgogTElDRU5TRV93aXBlciA9ICJHUEx2MiIKKwogTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRS5UWFQ7bWQ1PTkxMGE4YTQyYzk2MmQyMzg2MTljNzVmZGI3OGJkYjI0IFwKICAgICAgICAgICAgICAgICAgICAgZmlsZTovL2RlYmlhbi9jb3B5cmlnaHQ7bWQ1PWE4MmQ3YmEzYWRlOWU4ZWM5MDI3NDlkYjk4YzU5MmYzIFwKICAgICAgICAgICAgICAgICAgICAgZmlsZTovL3dpcGVyL0dQTHYyLnR4dDttZDU9ZmNiMDJkYzU1MmEwNDFkZWUyN2U0Yjg1YzczOTYwNjcgXApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9pbWFnZXMvY29yZS1pbWFnZS1rZXJuZWwtZGV2LmJiIGIvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9pbWFnZXMvY29yZS1pbWFnZS1rZXJuZWwtZGV2LmJiCmluZGV4IDI2Yjg4YzkuLmE0MGIzYWEgMTAwNjQ0Ci0tLSBhL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvaW1hZ2VzL2NvcmUtaW1hZ2Uta2VybmVsLWRldi5iYgorKysgYi9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2ltYWdlcy9jb3JlLWltYWdlLWtlcm5lbC1kZXYuYmIKQEAgLTE0LDcgKzE0LDcgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiCiAKICMgV2UgbmVlZCBleHRyYSBzcGFjZSBmb3IgdGhpbmdzIGxpa2Uga2VybmVsIGJ1aWxkcywgZXRjLgotSU1BR0VfUk9PVEZTX0VYVFJBX1NQQUNFX2FwcGVuZCArPSAiKyAzMDAwMDAwIgorSU1BR0VfUk9PVEZTX0VYVFJBX1NQQUNFX2FwcGVuZCA9ICIgKyAzMDAwMDAwIgogCiAjIExldCdzIGRlZmluZSBvdXIgb3duIHN1YnNldCB0byB0ZXN0LCB3ZSBjYW4gbGF0ZXIgYWRkIGEgb24tdGFyZ2V0IGtlcm5lbCBidWlsZCBldmVuIQogREVGQVVMVF9URVNUX1NVSVRFUyA9ICJwaW5nIHNzaCBkZiBjb25ubWFuIHN5c2xvZyBzY3AgZGF0ZSBwYXJzZWxvZ3MiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2ltYWdlcy9jb3JlLWltYWdlLXRlc3RtYXN0ZXItaW5pdHJhbWZzLmJiIGIvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9pbWFnZXMvY29yZS1pbWFnZS10ZXN0bWFzdGVyLWluaXRyYW1mcy5iYgppbmRleCBhZDE0MDdjLi4wOWE2ZDE2IDEwMDY0NAotLS0gYS9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2ltYWdlcy9jb3JlLWltYWdlLXRlc3RtYXN0ZXItaW5pdHJhbWZzLmJiCisrKyBiL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvaW1hZ2VzL2NvcmUtaW1hZ2UtdGVzdG1hc3Rlci1pbml0cmFtZnMuYmIKQEAgLTE4LDMgKzE4LDYgQEAKIElNQUdFX1JPT1RGU19TSVpFID0gIjgxOTIiCiBJTUFHRV9ST09URlNfRVhUUkFfU1BBQ0UgPSAiMCIKIEJBRF9SRUNPTU1FTkRBVElPTlMgKz0gImJ1c3lib3gtc3lzbG9nIgorCisjIFVzZSB0aGUgc2FtZSByZXN0cmljdGlvbiBhcyBpbml0cmFtZnMtbGl2ZS1pbnN0YWxsLXRlc3RmcworQ09NUEFUSUJMRV9IT1NUID0gIihpLjg2fHg4Nl82NCkuKi1saW51eCIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbGliYWlvL2xpYmFpby9saWJhaW9fZml4X2Zvcl94MzIucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2xpYmFpby9saWJhaW8vbGliYWlvX2ZpeF9mb3JfeDMyLnBhdGNoCmluZGV4IDUwOGY1YTEuLmRjNGJhNTAgMTAwNjQ0Ci0tLSBhL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbGliYWlvL2xpYmFpby9saWJhaW9fZml4X2Zvcl94MzIucGF0Y2gKKysrIGIvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9saWJhaW8vbGliYWlvL2xpYmFpb19maXhfZm9yX3gzMi5wYXRjaApAQCAtNiw3ICs2LDcgQEAKIAogUmVjZWl2ZWQgdGhpcyBwYXRjaCBmcm9tIEguSi4gTHUgPGhqbC50b29sc0BnbWFpbC5jb20+CiAKLVNpZ25lZC1PZmYtQnk6IE5pdGluIEEgS2FtYmxlIDxuaXRpbi5hLmthbWJsZUBpbnRlbC5jb20+CitTaWduZWQtb2ZmLWJ5OiBOaXRpbiBBIEthbWJsZSA8bml0aW4uYS5rYW1ibGVAaW50ZWwuY29tPgogMjAxMS8xMi8wMgogCiAtLS0gbGliYWlvLTAuMy4xMDkvc3JjL3N5c2NhbGwteDg2XzY0LmgueDMyCTIwMDktMTAtMDkgMTE6MTc6MDIuMDAwMDAwMDAwIC0wNzAwCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2xpYmFpby9saWJhaW9fMC4zLjExMC5iYiBiL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbGliYWlvL2xpYmFpb18wLjMuMTEwLmJiCmluZGV4IDJhZGZhMGEuLjc1OTc1ZDQgMTAwNjQ0Ci0tLSBhL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbGliYWlvL2xpYmFpb18wLjMuMTEwLmJiCisrKyBiL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbGliYWlvL2xpYmFpb18wLjMuMTEwLmJiCkBAIC01LDcgKzUsNyBAQAogTElDRU5TRSA9ICJMR1BMdjIuMSsiCiBMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1kODA0NWYzYjhmOTI5YzFjYjI5YTFlM2ZkNzM3YjQ5OSIKIAotU1JDX1VSSSA9ICIke0RFQklBTl9NSVJST1J9L21haW4vbGliYS9saWJhaW8vbGliYWlvXyR7UFZ9Lm9yaWcudGFyLmd6IFwKK1NSQ19VUkkgPSAiaHR0cDovL3NuYXBzaG90LmRlYmlhbi5vcmcvYXJjaGl2ZS9kZWJpYW4vMjAxNjA3MjhUMDQzNDQzWi9wb29sL21haW4vbGliYS8ke0JQTn0vJHtCUE59XyR7UFZ9Lm9yaWcudGFyLmd6IFwKICAgICAgICAgICAgZmlsZTovL2dlbmVyaWMtYXJjaC1kZWN0ZWN0aW9uLWZvci1wYWRkaW5nLWRlZmluZXMucGF0Y2ggXAogICAgICAgICAgICBmaWxlOi8vMDBfYXJjaGVzLnBhdGNoIFwKICAgICAgICAgICAgZmlsZTovL2Rlc3RkaXIucGF0Y2ggXApAQCAtMTcsNiArMTcsOCBAQAogU1JDX1VSSVttZDVzdW1dID0gIjJhMzU2MDJlNDM3NzgzODNlMmY0OTA3YTRjYTM5YWI4IgogU1JDX1VSSVtzaGEyNTZzdW1dID0gImUwMTkwMjhlNjMxNzI1NzI5Mzc2MjUwZTMyYjQ3MzAxMmY3Y2I2OGUxZjcyNzViZmMxYmJjZGQwZjg3NDVmN2UiCiAKK1VQU1RSRUFNX0NIRUNLX1VSSSA9ICIke0RFQklBTl9NSVJST1J9L21haW4vbGliYS9saWJhaW8vIgorCiBFWFRSQV9PRU1BS0UgPSsgInByZWZpeD0ke3ByZWZpeH0gaW5jbHVkZWRpcj0ke2luY2x1ZGVkaXJ9IGxpYmRpcj0ke2xpYmRpcn0iCiAKIGRvX2luc3RhbGwgKCkgewpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9saWJhcmNoaXZlL2xpYmFyY2hpdmUvMDAwMS1TZXQteGF0dHJzLWFmdGVyLXNldHRpbmctdGltZXMucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2xpYmFyY2hpdmUvbGliYXJjaGl2ZS8wMDAxLVNldC14YXR0cnMtYWZ0ZXItc2V0dGluZy10aW1lcy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNmQ3NGU4Ni4uMDAwMDAwMAotLS0gYS9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2xpYmFyY2hpdmUvbGliYXJjaGl2ZS8wMDAxLVNldC14YXR0cnMtYWZ0ZXItc2V0dGluZy10aW1lcy5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDU5ICswLDAgQEAKLUZyb20gNTQ1ZGVkNTYwOTVjNTcwNDI2ZmUxMDJmZjIxOTI4ODk2ODFlYTc1YyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IERtaXRyeSBSb3poa292IDxkbWl0cnkucm96aGtvdkBsaW51eC5pbnRlbC5jb20+Ci1EYXRlOiBNb24sIDI5IEZlYiAyMDE2IDE0OjM4OjI1ICswMjAwCi1TdWJqZWN0OiBbUEFUQ0hdIFNldCB4YXR0cnMgYWZ0ZXIgc2V0dGluZyB0aW1lcwotCi1XaXRoIEludGVncml0eSBNZWFzdXJlbWVudCBBcmNoaXRlY3R1cmUgKElNQSkgZW5hYmxlZCBpbiBMaW51eAota2VybmVsIHRoZSBzZWN1cml0eS5pbWEgZXh0ZW5kZWQgYXR0cmlidXRlIGdldHMgb3ZlcndyaXR0ZW4KLXdoZW4gc2V0dGluZyB0aW1lcyBvbiBhIGZpbGUgd2l0aCBhIGZ1dGltZW5zKCkgY2FsbC4gU28gaXQncyBzYWZlcgotdG8gc2V0IHhhdHRycyBhZnRlciB0aW1lcy4KLQotVXBzdHJlYW0tU3RhdHVzOiBTdWJtaXR0ZWQgW2h0dHBzOi8vZ2l0aHViLmNvbS9saWJhcmNoaXZlL2xpYmFyY2hpdmUvcHVsbC82NjRdCi0KLVNpZ25lZC1vZmYtYnk6IERtaXRyeSBSb3poa292IDxkbWl0cnkucm96aGtvdkBsaW51eC5pbnRlbC5jb20+Ci0KLS0tLQotIGxpYmFyY2hpdmUvYXJjaGl2ZV93cml0ZV9kaXNrX3Bvc2l4LmMgfCAyMSArKysrKysrKysrKy0tLS0tLS0tLS0KLSAxIGZpbGUgY2hhbmdlZCwgMTEgaW5zZXJ0aW9ucygrKSwgMTAgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9saWJhcmNoaXZlL2FyY2hpdmVfd3JpdGVfZGlza19wb3NpeC5jIGIvbGliYXJjaGl2ZS9hcmNoaXZlX3dyaXRlX2Rpc2tfcG9zaXguYwotaW5kZXggMGZjNjE5My4uMjdjOWMxZSAxMDA2NDQKLS0tLSBhL2xpYmFyY2hpdmUvYXJjaGl2ZV93cml0ZV9kaXNrX3Bvc2l4LmMKLSsrKyBiL2xpYmFyY2hpdmUvYXJjaGl2ZV93cml0ZV9kaXNrX3Bvc2l4LmMKLUBAIC0xNjIwLDE2ICsxNjIwLDYgQEAgX2FyY2hpdmVfd3JpdGVfZGlza19maW5pc2hfZW50cnkoc3RydWN0IGFyY2hpdmUgKl9hKQotCX0KLQotCS8qCi0tCSAqIFNlY3VyaXR5LXJlbGF0ZWQgZXh0ZW5kZWQgYXR0cmlidXRlcyAoc3VjaCBhcwotLQkgKiBzZWN1cml0eS5jYXBhYmlsaXR5IG9uIExpbnV4KSBoYXZlIHRvIGJlIHJlc3RvcmVkIGxhc3QsCi0tCSAqIHNpbmNlIHRoZXkncmUgaW1wbGljaXRseSByZW1vdmVkIGJ5IG90aGVyIGZpbGUgY2hhbmdlcy4KLS0JICovCi0tCWlmIChhLT50b2RvICYgVE9ET19YQVRUUikgewotLQkJaW50IHIyID0gc2V0X3hhdHRycyhhKTsKLS0JCWlmIChyMiA8IHJldCkgcmV0ID0gcjI7Ci0tCX0KLS0KLS0JLyoKLQkgKiBTb21lIGZsYWdzIHByZXZlbnQgZmlsZSBtb2RpZmljYXRpb247IHRoZXkgbXVzdCBiZSByZXN0b3JlZCBhZnRlcgotCSAqIGZpbGUgY29udGVudHMgYXJlIHdyaXR0ZW4uCi0JICovCi1AQCAtMTY0OCw2ICsxNjM4LDE3IEBAIF9hcmNoaXZlX3dyaXRlX2Rpc2tfZmluaXNoX2VudHJ5KHN0cnVjdCBhcmNoaXZlICpfYSkKLQl9Ci0KLQkvKgotKwkgKiBTZWN1cml0eS1yZWxhdGVkIGV4dGVuZGVkIGF0dHJpYnV0ZXMgKHN1Y2ggYXMKLSsJICogc2VjdXJpdHkuY2FwYWJpbGl0eSBvciBzZWN1cml0eS5pbWEgb24gTGludXgpIGhhdmUgdG8gYmUgcmVzdG9yZWQgbGFzdCwKLSsJICogc2luY2UgdGhleSdyZSBpbXBsaWNpdGx5IHJlbW92ZWQgYnkgb3RoZXIgZmlsZSBjaGFuZ2VzIGxpa2Ugc2V0dGluZwotKwkgKiB0aW1lcy4KLSsJICovCi0rCWlmIChhLT50b2RvICYgVE9ET19YQVRUUikgewotKwkJaW50IHIyID0gc2V0X3hhdHRycyhhKTsKLSsJCWlmIChyMiA8IHJldCkgcmV0ID0gcjI7Ci0rCX0KLSsKLSsJLyoKLQkgKiBNYWMgZXh0ZW5kZWQgbWV0YWRhdGEgaW5jbHVkZXMgQUNMcy4KLQkgKi8KLQlpZiAoYS0+dG9kbyAmIFRPRE9fTUFDX01FVEFEQVRBKSB7Ci0tLQotMi41LjAKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbGliYXJjaGl2ZS9saWJhcmNoaXZlL2xpYmFyY2hpdmUtQ1ZFLTIwMTMtMDIxMS5wYXRjaCBiL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbGliYXJjaGl2ZS9saWJhcmNoaXZlL2xpYmFyY2hpdmUtQ1ZFLTIwMTMtMDIxMS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMTk1MjNmNC4uMDAwMDAwMAotLS0gYS9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2xpYmFyY2hpdmUvbGliYXJjaGl2ZS9saWJhcmNoaXZlLUNWRS0yMDEzLTAyMTEucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzOSArMCwwIEBACi1Gcm9tIDJmNTVkNmJkMzA4ZWE2MTk3NTU1OGMyNDY5YWUzNDlkYmEyOTdlODkgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBSb2JlcnQgWWFuZyA8bGllemhpLnlhbmdAd2luZHJpdmVyLmNvbT4KLURhdGU6IFNhdCwgMjIgRmViIDIwMTQgMTQ6MzU6NTkgKzA4MDAKLVN1YmplY3Q6IFtQQVRDSF0gRml4IENWRS0yMDEzLTAyMTEKLQotVGhpcyBwYXRjaCBjb21lcyBmcm9tOmh0dHBzOi8vZ2l0aHViLmNvbS9saWJhcmNoaXZlL2xpYmFyY2hpdmUvY29tbWl0LzIyNTMxNTQ1NTE0MDQzZTA0NjMzZTFjMDE1Yzc1NDBiOWRlOWRiZTQKLQotVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydAotQ1ZFOiBDVkUtMjAxMy0wMjExCi0KLVNpZ25lZC1vZmYtYnk6IEJhb2dlbiBzaGFuZyA8YmFvZ2VuLnNoYW5nQHdpbmRyaXZlci5jb20+Ci0KLVVwZGF0ZSB0aGUgcGF0Y2ggYmVjYXVzZSBvZiB1cHJldiBvbiAyMDE0MDIyMgotCi1TaWduZWQtb2ZmLWJ5OiBSb2JlcnQgWWFuZyA8bGllemhpLnlhbmdAd2luZHJpdmVyLmNvbT4KLS0tLQotIGxpYmFyY2hpdmUvYXJjaGl2ZV93cml0ZS5jIHwgNCArKysrCi0gMSBmaWxlIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKQotCi1kaWZmIC0tZ2l0IGEvbGliYXJjaGl2ZS9hcmNoaXZlX3dyaXRlLmMgYi9saWJhcmNoaXZlL2FyY2hpdmVfd3JpdGUuYwotaW5kZXggYTNkMWEzMy4uYTMyMzU4OCAxMDA2NDQKLS0tLSBhL2xpYmFyY2hpdmUvYXJjaGl2ZV93cml0ZS5jCi0rKysgYi9saWJhcmNoaXZlL2FyY2hpdmVfd3JpdGUuYwotQEAgLTY3MSw4ICs2NzEsMTIgQEAgc3RhdGljIHNzaXplX3QKLSBfYXJjaGl2ZV93cml0ZV9kYXRhKHN0cnVjdCBhcmNoaXZlICpfYSwgY29uc3Qgdm9pZCAqYnVmZiwgc2l6ZV90IHMpCi0gewotIAlzdHJ1Y3QgYXJjaGl2ZV93cml0ZSAqYSA9IChzdHJ1Y3QgYXJjaGl2ZV93cml0ZSAqKV9hOwotKwljb25zdCBzaXplX3QgbWF4X3dyaXRlID0gSU5UX01BWDsKLSAJYXJjaGl2ZV9jaGVja19tYWdpYygmYS0+YXJjaGl2ZSwgQVJDSElWRV9XUklURV9NQUdJQywKLSAJICAgIEFSQ0hJVkVfU1RBVEVfREFUQSwgImFyY2hpdmVfd3JpdGVfZGF0YSIpOwotKwkvKiBJbiBwYXJ0aWN1bGFyLCB0aGlzIGNhdGNoZXMgYXR0ZW1wdHMgdG8gcGFzcyBuZWdhdGl2ZSB2YWx1ZXMuICovCi0rCWlmIChzID4gbWF4X3dyaXRlKQotKwkJcyA9IG1heF93cml0ZTsKLSAJYXJjaGl2ZV9jbGVhcl9lcnJvcigmYS0+YXJjaGl2ZSk7Ci0gCXJldHVybiAoKGEtPmZvcm1hdF93cml0ZV9kYXRhKShhLCBidWZmLCBzKSk7Ci0gfQotLS0gCi0xLjguMi4xCi0KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbGliYXJjaGl2ZS9saWJhcmNoaXZlL2xpYmFyY2hpdmUtQ1ZFLTIwMTUtMjMwNC5wYXRjaCBiL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbGliYXJjaGl2ZS9saWJhcmNoaXZlL2xpYmFyY2hpdmUtQ1ZFLTIwMTUtMjMwNC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNWMyNDM5Ni4uMDAwMDAwMAotLS0gYS9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2xpYmFyY2hpdmUvbGliYXJjaGl2ZS9saWJhcmNoaXZlLUNWRS0yMDE1LTIzMDQucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwxNTIgKzAsMCBAQAotRnJvbSA1OTM1NzE1NzcwNmQ0N2MzNjViMjIyNzczOWUxN2RhYmEzNjA3NTI2IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogQWxlc3NhbmRybyBHaGVkaW5pIDxhbGVzc2FuZHJvQGdoZWRpbmkubWU+Ci1EYXRlOiBTdW4sIDEgTWFyIDIwMTUgMTI6MDc6NDUgKzAxMDAKLVN1YmplY3Q6IFtQQVRDSF0gQWRkIEFSQ0hJVkVfRVhUUkFDVF9TRUNVUkVfTk9BQlNPTFVURVBBVEhTIG9wdGlvbgotCi1UaGlzIGZpeGVzIGEgZGlyZWN0b3J5IHRyYXZlcnNhbCBpbiB0aGUgY3BpbyB0b29sLgotCi0KLVVwc3RyZWFtLVN0YXR1czogYmFja3BvcnQKLUNWRTogQ1ZFLTIwMTUtMjMwNAotCi1TaWduZWQtb2ZmLWJ5OiBMaSBaaG91IDxsaS56aG91QHdpbmRyaXZlci5jb20+Ci0tLS0KLSBjcGlvL2JzZGNwaW8uMSAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgMyArKy0KLSBjcGlvL2NwaW8uYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgMiArKwotIGxpYmFyY2hpdmUvYXJjaGl2ZS5oICAgICAgICAgICAgICAgICAgICAgfCAgICAyICsrCi0gbGliYXJjaGl2ZS9hcmNoaXZlX3dyaXRlX2Rpc2suMyAgICAgICAgICB8ICAgIDMgKysrCi0gbGliYXJjaGl2ZS9hcmNoaXZlX3dyaXRlX2Rpc2tfcG9zaXguYyAgICB8ICAgMTQgKysrKysrKysrKystLS0KLSBsaWJhcmNoaXZlL3Rlc3QvdGVzdF93cml0ZV9kaXNrX3NlY3VyZS5jIHwgICAyMyArKysrKysrKysrKysrKysrKysrKysrKwotIDYgZmlsZXMgY2hhbmdlZCwgNDMgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL2NwaW8vYnNkY3Bpby4xIGIvY3Bpby9ic2RjcGlvLjEKLWluZGV4IGY5NjZhYTAuLmU1MjU0NmUgMTAwNjQ0Ci0tLS0gYS9jcGlvL2JzZGNwaW8uMQotKysrIGIvY3Bpby9ic2RjcGlvLjEKLUBAIC0xNTYsNyArMTU2LDggQEAgU2VlIGFib3ZlIGZvciBkZXNjcmlwdGlvbi4KLSAuSXQgRmwgRmwgaW5zZWN1cmUKLSAoaSBhbmQgcCBtb2RlIG9ubHkpCi0gRGlzYWJsZSBzZWN1cml0eSBjaGVja3MgZHVyaW5nIGV4dHJhY3Rpb24gb3IgY29weWluZy4KLS1UaGlzIGFsbG93cyBleHRyYWN0aW9uIHZpYSBzeW1ib2xpYyBsaW5rcyBhbmQgcGF0aCBuYW1lcyBjb250YWluaW5nCi0rVGhpcyBhbGxvd3MgZXh0cmFjdGlvbiB2aWEgc3ltYm9saWMgbGlua3MsIGFic29sdXRlIHBhdGhzLAotK2FuZCBwYXRoIG5hbWVzIGNvbnRhaW5pbmcKLSAuU3EgLi4KLSBpbiB0aGUgbmFtZS4KLSAuSXQgRmwgSiAsIEZsIEZsIHh6Ci1kaWZmIC0tZ2l0IGEvY3Bpby9jcGlvLmMgYi9jcGlvL2NwaW8uYwotaW5kZXggMGFjZGUxMS4uYjI2N2U5YiAxMDA2NDQKLS0tLSBhL2NwaW8vY3Bpby5jCi0rKysgYi9jcGlvL2NwaW8uYwotQEAgLTE3MSw2ICsxNzEsNyBAQCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pCi0gCWNwaW8tPmV4dHJhY3RfZmxhZ3MgfD0gQVJDSElWRV9FWFRSQUNUX05PX09WRVJXUklURV9ORVdFUjsKLSAJY3Bpby0+ZXh0cmFjdF9mbGFncyB8PSBBUkNISVZFX0VYVFJBQ1RfU0VDVVJFX1NZTUxJTktTOwotIAljcGlvLT5leHRyYWN0X2ZsYWdzIHw9IEFSQ0hJVkVfRVhUUkFDVF9TRUNVUkVfTk9ET1RET1Q7Ci0rCWNwaW8tPmV4dHJhY3RfZmxhZ3MgfD0gQVJDSElWRV9FWFRSQUNUX1NFQ1VSRV9OT0FCU09MVVRFUEFUSFM7Ci0gCWNwaW8tPmV4dHJhY3RfZmxhZ3MgfD0gQVJDSElWRV9FWFRSQUNUX1BFUk07Ci0gCWNwaW8tPmV4dHJhY3RfZmxhZ3MgfD0gQVJDSElWRV9FWFRSQUNUX0ZGTEFHUzsKLSAJY3Bpby0+ZXh0cmFjdF9mbGFncyB8PSBBUkNISVZFX0VYVFJBQ1RfQUNMOwotQEAgLTI1Niw2ICsyNTcsNyBAQCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pCi0gCQljYXNlIE9QVElPTl9JTlNFQ1VSRToKLSAJCQljcGlvLT5leHRyYWN0X2ZsYWdzICY9IH5BUkNISVZFX0VYVFJBQ1RfU0VDVVJFX1NZTUxJTktTOwotIAkJCWNwaW8tPmV4dHJhY3RfZmxhZ3MgJj0gfkFSQ0hJVkVfRVhUUkFDVF9TRUNVUkVfTk9ET1RET1Q7Ci0rCQkJY3Bpby0+ZXh0cmFjdF9mbGFncyAmPSB+QVJDSElWRV9FWFRSQUNUX1NFQ1VSRV9OT0FCU09MVVRFUEFUSFM7Ci0gCQkJYnJlYWs7Ci0gCQljYXNlICdMJzogLyogR05VIGNwaW8gKi8KLSAJCQljcGlvLT5vcHRpb25fZm9sbG93X2xpbmtzID0gMTsKLWRpZmYgLS1naXQgYS9saWJhcmNoaXZlL2FyY2hpdmUuaCBiL2xpYmFyY2hpdmUvYXJjaGl2ZS5oCi1pbmRleCAxZjBmYzM4Li5lZjYzNWFjIDEwMDY0NAotLS0tIGEvbGliYXJjaGl2ZS9hcmNoaXZlLmgKLSsrKyBiL2xpYmFyY2hpdmUvYXJjaGl2ZS5oCi1AQCAtNjQ5LDYgKzY0OSw4IEBAIF9fTEFfREVDTCBpbnQgYXJjaGl2ZV9yZWFkX3NldF9wYXNzcGhyYXNlX2NhbGxiYWNrKHN0cnVjdCBhcmNoaXZlICosCi0gLyogRGVmYXVsdDogRG8gbm90IHVzZSBIRlMrIGNvbXByZXNzaW9uIGlmIGl0IHdhcyBub3QgY29tcHJlc3NlZC4gKi8KLSAvKiBUaGlzIGhhcyBubyBlZmZlY3QgZXhjZXB0IG9uIE1hYyBPUyB2MTAuNiBvciBsYXRlci4gKi8KLSAjZGVmaW5lCUFSQ0hJVkVfRVhUUkFDVF9IRlNfQ09NUFJFU1NJT05fRk9SQ0VECSgweDgwMDApCi0rLyogRGVmYXVsdDogRG8gbm90IHJlamVjdCBlbnRyaWVzIHdpdGggYWJzb2x1dGUgcGF0aHMgKi8KLSsjZGVmaW5lIEFSQ0hJVkVfRVhUUkFDVF9TRUNVUkVfTk9BQlNPTFVURVBBVEhTICgweDEwMDAwKQotIAotIF9fTEFfREVDTCBpbnQgYXJjaGl2ZV9yZWFkX2V4dHJhY3Qoc3RydWN0IGFyY2hpdmUgKiwgc3RydWN0IGFyY2hpdmVfZW50cnkgKiwKLSAJCSAgICAgaW50IGZsYWdzKTsKLWRpZmYgLS1naXQgYS9saWJhcmNoaXZlL2FyY2hpdmVfd3JpdGVfZGlzay4zIGIvbGliYXJjaGl2ZS9hcmNoaXZlX3dyaXRlX2Rpc2suMwotaW5kZXggZmE5MjVjYy4uYTJlN2FmYSAxMDA2NDQKLS0tLSBhL2xpYmFyY2hpdmUvYXJjaGl2ZV93cml0ZV9kaXNrLjMKLSsrKyBiL2xpYmFyY2hpdmUvYXJjaGl2ZV93cml0ZV9kaXNrLjMKLUBAIC0xNzcsNiArMTc3LDkgQEAgVGhlIGRlZmF1bHQgaXMgdG8gbm90IHJlZnVzZSBzdWNoIHBhdGhzLgotIE5vdGUgdGhhdCBwYXRocyBlbmRpbmcgaW4KLSAuUGEgLi4KLSBhbHdheXMgY2F1c2UgYW4gZXJyb3IsIHJlZ2FyZGxlc3Mgb2YgdGhpcyBmbGFnLgotKy5JdCBDbSBBUkNISVZFX0VYVFJBQ1RfU0VDVVJFX05PQUJTT0xVVEVQQVRIUwotK1JlZnVzZSB0byBleHRyYWN0IGFuIGFic29sdXRlIHBhdGguCi0rVGhlIGRlZmF1bHQgaXMgdG8gbm90IHJlZnVzZSBzdWNoIHBhdGhzLgotIC5JdCBDbSBBUkNISVZFX0VYVFJBQ1RfU1BBUlNFCi0gU2NhbiBkYXRhIGZvciBibG9ja3Mgb2YgTlVMIGJ5dGVzIGFuZCB0cnkgdG8gcmVjcmVhdGUgdGhlbSB3aXRoIGhvbGVzLgotIFRoaXMgcmVzdWx0cyBpbiBzcGFyc2UgZmlsZXMsIGluZGVwZW5kZW50IG9mIHdoZXRoZXIgdGhlIGFyY2hpdmUgZm9ybWF0Ci1kaWZmIC0tZ2l0IGEvbGliYXJjaGl2ZS9hcmNoaXZlX3dyaXRlX2Rpc2tfcG9zaXguYyBiL2xpYmFyY2hpdmUvYXJjaGl2ZV93cml0ZV9kaXNrX3Bvc2l4LmMKLWluZGV4IGFiM2JkYWMuLmMxMjkwZWIgMTAwNjQ0Ci0tLS0gYS9saWJhcmNoaXZlL2FyY2hpdmVfd3JpdGVfZGlza19wb3NpeC5jCi0rKysgYi9saWJhcmNoaXZlL2FyY2hpdmVfd3JpdGVfZGlza19wb3NpeC5jCi1AQCAtMjUwOSw4ICsyNTA5LDkgQEAgY2xlYW51cF9wYXRobmFtZV93aW4oc3RydWN0IGFyY2hpdmVfd3JpdGVfZGlzayAqYSkKLSAvKgotICAqIENhbm9uaWNhbGl6ZSB0aGUgcGF0aG5hbWUuICBJbiBwYXJ0aWN1bGFyLCB0aGlzIHN0cmlwcyBkdXBsaWNhdGUKLSAgKiAnLycgY2hhcmFjdGVycywgJy4nIGVsZW1lbnRzLCBhbmQgdHJhaWxpbmcgJy8nLiAgSXQgYWxzbyByYWlzZXMgYW4KLS0gKiBlcnJvciBmb3IgYW4gZW1wdHkgcGF0aCwgYSB0cmFpbGluZyAnLi4nIG9yIChpZiBfU0VDVVJFX05PRE9URE9UIGlzCi0tICogc2V0KSBhbnkgJy4uJyBpbiB0aGUgcGF0aC4KLSsgKiBlcnJvciBmb3IgYW4gZW1wdHkgcGF0aCwgYSB0cmFpbGluZyAnLi4nLCAoaWYgX1NFQ1VSRV9OT0RPVERPVCBpcwotKyAqIHNldCkgYW55ICcuLicgaW4gdGhlIHBhdGggb3IgKGlmIEFSQ0hJVkVfRVhUUkFDVF9TRUNVUkVfTk9BQlNPTFVURVBBVEhTCi0rICogaXMgc2V0KSBpZiB0aGUgcGF0aCBpcyBhYnNvbHV0ZS4KLSAgKi8KLSBzdGF0aWMgaW50Ci0gY2xlYW51cF9wYXRobmFtZShzdHJ1Y3QgYXJjaGl2ZV93cml0ZV9kaXNrICphKQotQEAgLTI1MjksOCArMjUzMCwxNSBAQCBjbGVhbnVwX3BhdGhuYW1lKHN0cnVjdCBhcmNoaXZlX3dyaXRlX2Rpc2sgKmEpCi0gCWNsZWFudXBfcGF0aG5hbWVfd2luKGEpOwotICNlbmRpZgotIAkvKiBTa2lwIGxlYWRpbmcgJy8nLiAqLwotLQlpZiAoKnNyYyA9PSAnLycpCi0rCWlmICgqc3JjID09ICcvJykgewotKwkJaWYgKGEtPmZsYWdzICYgQVJDSElWRV9FWFRSQUNUX1NFQ1VSRV9OT0FCU09MVVRFUEFUSFMpIHsKLSsJCQlhcmNoaXZlX3NldF9lcnJvcigmYS0+YXJjaGl2ZSwgQVJDSElWRV9FUlJOT19NSVNDLAotKwkJCSAgICAgICAgICAgICAgICAgICJQYXRoIGlzIGFic29sdXRlIik7Ci0rCQkJcmV0dXJuIChBUkNISVZFX0ZBSUxFRCk7Ci0rCQl9Ci0rCi0gCQlzZXBhcmF0b3IgPSAqc3JjKys7Ci0rCX0KLSAKLSAJLyogU2NhbiB0aGUgcGF0aG5hbWUgb25lIGVsZW1lbnQgYXQgYSB0aW1lLiAqLwotIAlmb3IgKDs7KSB7Ci1kaWZmIC0tZ2l0IGEvbGliYXJjaGl2ZS90ZXN0L3Rlc3Rfd3JpdGVfZGlza19zZWN1cmUuYyBiL2xpYmFyY2hpdmUvdGVzdC90ZXN0X3dyaXRlX2Rpc2tfc2VjdXJlLmMKLWluZGV4IDMxYzViZmQuLjJjOTQyMDYgMTAwNjQ0Ci0tLS0gYS9saWJhcmNoaXZlL3Rlc3QvdGVzdF93cml0ZV9kaXNrX3NlY3VyZS5jCi0rKysgYi9saWJhcmNoaXZlL3Rlc3QvdGVzdF93cml0ZV9kaXNrX3NlY3VyZS5jCi1AQCAtMTc4LDYgKzE3OCwyOSBAQCBERUZJTkVfVEVTVCh0ZXN0X3dyaXRlX2Rpc2tfc2VjdXJlKQotIAlhc3NlcnQoU19JU0RJUihzdC5zdF9tb2RlKSk7Ci0gCWFyY2hpdmVfZW50cnlfZnJlZShhZSk7Ci0gCi0rCS8qCi0rCSAqIFdpdGhvdXQgc2VjdXJpdHkgY2hlY2tzLCB3ZSBzaG91bGQgYmUgYWJsZSB0bwotKwkgKiBleHRyYWN0IGFuIGFic29sdXRlIHBhdGguCi0rCSAqLwotKwlhc3NlcnQoKGFlID0gYXJjaGl2ZV9lbnRyeV9uZXcoKSkgIT0gTlVMTCk7Ci0rCWFyY2hpdmVfZW50cnlfY29weV9wYXRobmFtZShhZSwgIi90bXAvbGliYXJjaGl2ZV90ZXN0LXRlc3Rfd3JpdGVfZGlza19zZWN1cmUtYWJzb2x1dGVfcGF0aC50bXAiKTsKLSsJYXJjaGl2ZV9lbnRyeV9zZXRfbW9kZShhZSwgU19JRlJFRyB8IDA3NzcpOwotKwlhc3NlcnQoMCA9PSBhcmNoaXZlX3dyaXRlX2hlYWRlcihhLCBhZSkpOwotKwlhc3NlcnQoMCA9PSBhcmNoaXZlX3dyaXRlX2ZpbmlzaF9lbnRyeShhKSk7Ci0rCWFzc2VydEZpbGVFeGlzdHMoIi90bXAvbGliYXJjaGl2ZV90ZXN0LXRlc3Rfd3JpdGVfZGlza19zZWN1cmUtYWJzb2x1dGVfcGF0aC50bXAiKTsKLSsJYXNzZXJ0KDAgPT0gdW5saW5rKCIvdG1wL2xpYmFyY2hpdmVfdGVzdC10ZXN0X3dyaXRlX2Rpc2tfc2VjdXJlLWFic29sdXRlX3BhdGgudG1wIikpOwotKwotKwkvKiBCdXQgd2l0aCBzZWN1cml0eSBjaGVja3MgZW5hYmxlZCwgdGhpcyBzaG91bGQgZmFpbC4gKi8KLSsJYXNzZXJ0KGFyY2hpdmVfZW50cnlfY2xlYXIoYWUpICE9IE5VTEwpOwotKwlhcmNoaXZlX2VudHJ5X2NvcHlfcGF0aG5hbWUoYWUsICIvdG1wL2xpYmFyY2hpdmVfdGVzdC10ZXN0X3dyaXRlX2Rpc2tfc2VjdXJlLWFic29sdXRlX3BhdGgudG1wIik7Ci0rCWFyY2hpdmVfZW50cnlfc2V0X21vZGUoYWUsIFNfSUZSRUcgfCAwNzc3KTsKLSsJYXJjaGl2ZV93cml0ZV9kaXNrX3NldF9vcHRpb25zKGEsIEFSQ0hJVkVfRVhUUkFDVF9TRUNVUkVfTk9BQlNPTFVURVBBVEhTKTsKLSsJZmFpbHVyZSgiRXh0cmFjdGluZyBhbiBhYnNvbHV0ZSBwYXRoIHNob3VsZCBmYWlsIGhlcmUuIik7Ci0rCWFzc2VydEVxdWFsSW50KEFSQ0hJVkVfRkFJTEVELCBhcmNoaXZlX3dyaXRlX2hlYWRlcihhLCBhZSkpOwotKwlhcmNoaXZlX2VudHJ5X2ZyZWUoYWUpOwotKwlhc3NlcnQoMCA9PSBhcmNoaXZlX3dyaXRlX2ZpbmlzaF9lbnRyeShhKSk7Ci0rCWFzc2VydEZpbGVOb3RFeGlzdHMoIi90bXAvbGliYXJjaGl2ZV90ZXN0LXRlc3Rfd3JpdGVfZGlza19zZWN1cmUtYWJzb2x1dGVfcGF0aC50bXAiKTsKLSsKLSAJYXNzZXJ0RXF1YWxJbnQoQVJDSElWRV9PSywgYXJjaGl2ZV93cml0ZV9mcmVlKGEpKTsKLSAKLSAJLyogVGVzdCB0aGUgZW50cmllcyBvbiBkaXNrLiAqLwotLS0gCi0xLjcuOS41Ci0KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbGliYXJjaGl2ZS9saWJhcmNoaXZlL21rZGlyLnBhdGNoIGIvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9saWJhcmNoaXZlL2xpYmFyY2hpdmUvbWtkaXIucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDUwOWEyOTUuLjAwMDAwMDAKLS0tIGEvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9saWJhcmNoaXZlL2xpYmFyY2hpdmUvbWtkaXIucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw0NSArMCwwIEBACi1BZGQgbWlzc2luZyBta2RpciBjYWxscyBzbyB0aGF0IG91dC1vZi10cmVlIGJ1aWxkcyB3b3JrLgotCi1VcHN0cmVhbS1TdGF0dXM6IFN1Ym1pdHRlZCAoaHR0cHM6Ly9naXRodWIuY29tL2xpYmFyY2hpdmUvbGliYXJjaGl2ZS9wdWxsLzUzNCkKLVNpZ25lZC1vZmYtYnk6IFJvc3MgQnVydG9uIDxyb3NzLmJ1cnRvbkBpbnRlbC5jb20+Ci0KLWRpZmYgLS1naXQgYS9NYWtlZmlsZS5hbSBiL01ha2VmaWxlLmFtCi1pbmRleCAzZmEyZDIyLi41ZWNjYTUyIDEwMDY0NAotLS0tIGEvTWFrZWZpbGUuYW0KLSsrKyBiL01ha2VmaWxlLmFtCi1AQCAtNTA4LDYgKzUwOCw3IEBAIGxpYmFyY2hpdmVfdGVzdF9MREFERD0gJChMVExJQklDT05WKQotICMgQnVpbGRpbmcgaXQgYXV0b21hdGljYWxseSBwcm92aWRlcyBhIHNhbml0eS1jaGVjayBvbiBsaWJhcmNoaXZlX3Rlc3RfU09VUkNFUwotICMgYWJvdmUuCi0gbGliYXJjaGl2ZS90ZXN0L2xpc3QuaDogTWFrZWZpbGUKLSsJJChNS0RJUl9QKSBsaWJhcmNoaXZlL3Rlc3QKLSAJY2F0ICQodG9wX3NyY2RpcikvbGliYXJjaGl2ZS90ZXN0L3Rlc3RfKi5jIHwgZ3JlcCBERUZJTkVfVEVTVCA+IGxpYmFyY2hpdmUvdGVzdC9saXN0LmgKLSAKLSBsaWJhcmNoaXZlX1RFU1RTX0VOVklST05NRU5UPSBMSUJBUkNISVZFX1RFU1RfRklMRVM9YGNkICQodG9wX3NyY2Rpcik7L2Jpbi9wd2RgL2xpYmFyY2hpdmUvdGVzdCBMUlpJUD1OT0NPTkZJRwotQEAgLTgzNSw2ICs4MzYsNyBAQCBic2R0YXJfdGVzdF9DUFBGTEFHUz1cCi0gCSQoUExBVEZPUk1DUFBGTEFHUykKLSAKLSB0YXIvdGVzdC9saXN0Lmg6IE1ha2VmaWxlCi0rCSQoTUtESVJfUCkgdGFyL3Rlc3QKLSAJY2F0ICQodG9wX3NyY2RpcikvdGFyL3Rlc3QvdGVzdF8qLmMgfCBncmVwIERFRklORV9URVNUID4gdGFyL3Rlc3QvbGlzdC5oCi0gCi0gaWYgQlVJTERfQlNEVEFSCi1AQCAtOTc1LDYgKzk3Nyw3IEBAIGJzZGNwaW9fdGVzdF9DUFBGTEFHUz0gXAotIGJzZGNwaW9fdGVzdF9MREFERD1saWJhcmNoaXZlX2ZlLmxhCi0gCi0gY3Bpby90ZXN0L2xpc3QuaDogTWFrZWZpbGUKLSsJJChNS0RJUl9QKSBjcGlvL3Rlc3QKLSAJY2F0ICQodG9wX3NyY2RpcikvY3Bpby90ZXN0L3Rlc3RfKi5jIHwgZ3JlcCBERUZJTkVfVEVTVCA+IGNwaW8vdGVzdC9saXN0LmgKLSAKLSBpZiBCVUlMRF9CU0RDUElPCi1kaWZmIC0tZ2l0IGEvY29uZmlndXJlLmFjIGIvY29uZmlndXJlLmFjCi1pbmRleCAzOGJkMjk5Li43YmRiMDBjIDEwMDY0NAotLS0tIGEvY29uZmlndXJlLmFjCi0rKysgYi9jb25maWd1cmUuYWMKLUBAIC0xMDIsNiArMTAyLDcgQEAgQUNfVVNFX1NZU1RFTV9FWFRFTlNJT05TCi0gQUNfTElCVE9PTF9XSU4zMl9ETEwKLSBBQ19QUk9HX0xJQlRPT0wKLSBBQ19DSEVDS19UT09MKFtTVFJJUF0sW3N0cmlwXSkKLStBQ19QUk9HX01LRElSX1AKLSAKLSAjCi0gIyBPcHRpb25zIGZvciBidWlsZGluZyBic2R0YXIuCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2xpYmFyY2hpdmUvbGliYXJjaGl2ZS9wa2djb25maWcucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2xpYmFyY2hpdmUvbGliYXJjaGl2ZS9wa2djb25maWcucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDM0NmFmOTEuLjAwMDAwMDAKLS0tIGEvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9saWJhcmNoaXZlL2xpYmFyY2hpdmUvcGtnY29uZmlnLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMjUgKzAsMCBAQAotVXNlIHBrZy1jb25maWcgZm9yIHRoZSBsaWJ4bWwyIGRlcGVuZGVuY3ksIG5vdCB0aGUgLWNvbmZpZyBzY3JpcHQuCi0KLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotCi1SUCAyMDE0LzUvMjIKLQotSW5kZXg6IGxpYmFyY2hpdmUtMy4xLjIvY29uZmlndXJlLmFjCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gbGliYXJjaGl2ZS0zLjEuMi5vcmlnL2NvbmZpZ3VyZS5hYwkyMDEzLTAyLTA5IDE3OjIzOjAzLjAwMDAwMDAwMCArMDAwMAotKysrIGxpYmFyY2hpdmUtMy4xLjIvY29uZmlndXJlLmFjCTIwMTQtMDUtMTMgMTU6MjY6NDUuNDQ2NDk5MTA4ICswMDAwCi1AQCAtMzI5LDEwICszMjksMTAgQEAKLSAgIEFTX0hFTFBfU1RSSU5HKFstLXdpdGhvdXQtZXhwYXRdLCBbRG9uJ3QgYnVpbGQgc3VwcG9ydCBmb3IgeGFyIHRocm91Z2ggZXhwYXRdKSkKLSAKLSBpZiB0ZXN0ICJ4JHdpdGhfeG1sMiIgIT0gInhubyI7IHRoZW4KLS0gIEFDX1BBVEhfUFJPRyhbWE1MMl9DT05GSUddLCBbeG1sMi1jb25maWddLCwgWyR7UEFUSH1dKQotLSAgaWYgdGVzdCAieCRYTUwyX0NPTkZJRyIgIT0gIngiOyB0aGVuCi0tICAgIENQUEZMQUdTPSIke0NQUEZMQUdTfSBgJHtYTUwyX0NPTkZJR30gLS1jZmxhZ3NgIgotLSAgICBMSUJTPSIke0xJQlN9IGAke1hNTDJfQ09ORklHfSAtLWxpYnNgIgotKyAgUEtHX0NIRUNLX01PRFVMRVMoUEtHX1hNTDIsIFtsaWJ4bWwtMi4wXSwsKQotKyAgaWYgdGVzdCAieCRQS0dfWE1MMl9DRkxBR1MiICE9ICJ4IjsgdGhlbgotKyAgICBDUFBGTEFHUz0iJHtDUFBGTEFHU30gJHtQS0dfWE1MMl9DRkxBR1N9IgotKyAgICBMSUJTPSIke0xJQlN9ICR7UEtHX1hNTDJfTElCU30iCi0gICAgIEFDX0NIRUNLX0xJQih4bWwyLHhtbEluaXRQYXJzZXIsW3RydWVdLEFDX01TR19GQUlMVVJFKE1pc3NpbmcgeG1sMiBsaWJyYXJ5KSkKLSAgIGVsc2UKLSAgICAgQUNfQ0hFQ0tfTElCKHhtbDIseG1sSW5pdFBhcnNlcikKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbGliYXJjaGl2ZS9saWJhcmNoaXZlXzMuMS4yLmJiIGIvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9saWJhcmNoaXZlL2xpYmFyY2hpdmVfMy4yLjEuYmIKc2ltaWxhcml0eSBpbmRleCA4MiUKcmVuYW1lIGZyb20gaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9saWJhcmNoaXZlL2xpYmFyY2hpdmVfMy4xLjIuYmIKcmVuYW1lIHRvIGltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbGliYXJjaGl2ZS9saWJhcmNoaXZlXzMuMi4xLmJiCmluZGV4IGVkNjc3YWMuLmI2NWI1ZGYgMTAwNjQ0Ci0tLSBhL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbGliYXJjaGl2ZS9saWJhcmNoaXZlXzMuMS4yLmJiCisrKyBiL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbGliYXJjaGl2ZS9saWJhcmNoaXZlXzMuMi4xLmJiCkBAIC0zLDcgKzMsNyBAQAogSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5saWJhcmNoaXZlLm9yZy8iCiBTRUNUSU9OID0gImRldmVsIgogTElDRU5TRSA9ICJCU0QiCi1MSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1iNGUzZmZkNjA3ZDY2ODZjNmNiMmY2MzM5NDM3MDg0MSIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWVkOTlhY2EwMDZiYzM0Njk3NGJiNzQ1YTM1MzM2NDI1IgogCiBERVBFTkRTID0gImUyZnNwcm9ncy1uYXRpdmUiCiAKQEAgLTI5LDE3ICsyOSwxMyBAQAogUEFDS0FHRUNPTkZJR1tleHBhdF0gPSAiLS13aXRoLWV4cGF0LC0td2l0aG91dC1leHBhdCxleHBhdCwiCiBQQUNLQUdFQ09ORklHW2x6b10gPSAiLS13aXRoLWx6bzIsLS13aXRob3V0LWx6bzIsbHpvLCIKIFBBQ0tBR0VDT05GSUdbbmV0dGxlXSA9ICItLXdpdGgtbmV0dGxlLC0td2l0aG91dC1uZXR0bGUsbmV0dGxlLCIKK1BBQ0tBR0VDT05GSUdbbHo0XSA9ICItLXdpdGgtbHo0LC0td2l0aG91dC1sejQsbHo0LCIKIAogU1JDX1VSSSA9ICJodHRwOi8vbGliYXJjaGl2ZS5vcmcvZG93bmxvYWRzL2xpYmFyY2hpdmUtJHtQVn0udGFyLmd6IFwKLSAgICAgICAgICAgZmlsZTovL2xpYmFyY2hpdmUtQ1ZFLTIwMTMtMDIxMS5wYXRjaCBcCi0gICAgICAgICAgIGZpbGU6Ly9wa2djb25maWcucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vbGliYXJjaGl2ZS1DVkUtMjAxNS0yMzA0LnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovL21rZGlyLnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtU2V0LXhhdHRycy1hZnRlci1zZXR0aW5nLXRpbWVzLnBhdGNoIFwKICAgICAgICAgICAgIgogCi1TUkNfVVJJW21kNXN1bV0gPSAiZWZhZDVhNTAzZjY2MzI5YmI5ZDJmNDMwOGI1ZGU5OGEiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiZWI4N2VhY2Q4ZmU0OWU4ZDkwYzhmZGMxODk4MTMwMjNjY2MzMTljNWU3NTJiMDFmYjZhZDBjYzdiMmM1M2Q1ZSIKK1NSQ19VUklbbWQ1c3VtXSA9ICJhZmEyNTcwNDdkMTk0MWE1NjUyMTZlZGJmMDE3MWU3MiIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI3MmVlMWE0ZTNmZDUzNDUyNWYxM2EwYmExYWE3YjA1YjIwM2QxODZlMGM2MDcyYThhNDczODY0OWQwYjNjZmQyIgogCiBpbmhlcml0IGF1dG90b29scyB1cGRhdGUtYWx0ZXJuYXRpdmVzIHBrZ2NvbmZpZwogCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2xpYmlkbi9saWJpZG4vMDAwMS1pZG4tZml4LXByaW50Zi1mb3JtYXQtc2VjdXJpdHktd2FybmluZ3MucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2xpYmlkbi9saWJpZG4vMDAwMS1pZG4tZml4LXByaW50Zi1mb3JtYXQtc2VjdXJpdHktd2FybmluZ3MucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWFkYzdkOQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbGliaWRuL2xpYmlkbi8wMDAxLWlkbi1maXgtcHJpbnRmLWZvcm1hdC1zZWN1cml0eS13YXJuaW5ncy5wYXRjaApAQCAtMCwwICsxLDE4MSBAQAorRnJvbSA4MmY5OGRjYmM0MjliYmU4OWE5ODM3YzUzM2NiY2JjMDJlNzdjNzkwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogPT9VVEYtOD9xP0FuZHI9QzM9QTk9MjBEcmFzemlrPz0gPGFkcmFzemlrQHR5Y29pbnQuY29tPgorRGF0ZTogVHVlLCAyOCBKdW4gMjAxNiAxMjo0MzozMSArMDEwMAorU3ViamVjdDogW1BBVENIXSBpZG46IGZpeCBwcmludGYoKSBmb3JtYXQgc2VjdXJpdHkgd2FybmluZ3MKK01JTUUtVmVyc2lvbjogMS4wCitDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKK0NvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKKworfCAuLi8uLi9saWJpZG4tMS4zMi9zcmMvaWRuLmM6IEluIGZ1bmN0aW9uICdtYWluJzoKK3wgLi4vLi4vbGliaWRuLTEuMzIvc3JjL2lkbi5jOjE3Mjo3OiBlcnJvcjogZm9ybWF0IG5vdCBhIHN0cmluZyBsaXRlcmFsIGFuZCBubyBmb3JtYXQgYXJndW1lbnRzIFstV2Vycm9yPWZvcm1hdC1zZWN1cml0eV0KK3wgICAgICAgIGVycm9yICgwLCAwLCBfKCJvbmx5IG9uZSBvZiAtcywgLWUsIC1kLCAtYSwgLXUgb3IgLW4gY2FuIGJlIHNwZWNpZmllZCIpKTsKK3wgICAgICAgIF5+fn5+Cit8IC4uLy4uL2xpYmlkbi0xLjMyL3NyYy9pZG4uYzoxODc6NTogZXJyb3I6IGZvcm1hdCBub3QgYSBzdHJpbmcgbGl0ZXJhbCBhbmQgbm8gZm9ybWF0IGFyZ3VtZW50cyBbLVdlcnJvcj1mb3JtYXQtc2VjdXJpdHldCit8ICAgICAgZnByaW50ZiAoc3RkZXJyLCBfKCJUeXBlIGVhY2ggaW5wdXQgc3RyaW5nIG9uIGEgbGluZSBieSBpdHNlbGYsICIKK3wgICAgICBefn5+fn5+Cit8IC4uLy4uL2xpYmlkbi0xLjMyL3NyYy9pZG4uYzoyMDI6NDogZXJyb3I6IGZvcm1hdCBub3QgYSBzdHJpbmcgbGl0ZXJhbCBhbmQgbm8gZm9ybWF0IGFyZ3VtZW50cyBbLVdlcnJvcj1mb3JtYXQtc2VjdXJpdHldCit8ICAgICBlcnJvciAoRVhJVF9GQUlMVVJFLCBlcnJubywgXygiaW5wdXQgZXJyb3IiKSk7Cit8ICAgICBefn5+fgorfCAuLi8uLi9saWJpZG4tMS4zMi9zcmMvaWRuLmM6MjIwOjg6IGVycm9yOiBmb3JtYXQgbm90IGEgc3RyaW5nIGxpdGVyYWwgYW5kIG5vIGZvcm1hdCBhcmd1bWVudHMgWy1XZXJyb3I9Zm9ybWF0LXNlY3VyaXR5XQorfCAgICAgICAgIF8oImNvdWxkIG5vdCBjb252ZXJ0IGZyb20gVVRGLTggdG8gVUNTLTQiKSk7Cit8ICAgICAgICAgXgorfCAuLi8uLi9saWJpZG4tMS4zMi9zcmMvaWRuLmM6MjQ1Ojg6IGVycm9yOiBmb3JtYXQgbm90IGEgc3RyaW5nIGxpdGVyYWwgYW5kIG5vIGZvcm1hdCBhcmd1bWVudHMgWy1XZXJyb3I9Zm9ybWF0LXNlY3VyaXR5XQorfCAgICAgICAgIF8oImNvdWxkIG5vdCBjb252ZXJ0IGZyb20gVVRGLTggdG8gVUNTLTQiKSk7Cit8ICAgICAgICAgXgorfCAuLi8uLi9saWJpZG4tMS4zMi9zcmMvaWRuLmM6MjgxOjY6IGVycm9yOiBmb3JtYXQgbm90IGEgc3RyaW5nIGxpdGVyYWwgYW5kIG5vIGZvcm1hdCBhcmd1bWVudHMgWy1XZXJyb3I9Zm9ybWF0LXNlY3VyaXR5XQorfCAgICAgICBfKCJjb3VsZCBub3QgY29udmVydCBmcm9tIFVURi04IHRvIFVDUy00IikpOworfCAgICAgICBeCit8IC4uLy4uL2xpYmlkbi0xLjMyL3NyYy9pZG4uYzozNDA6NjogZXJyb3I6IGZvcm1hdCBub3QgYSBzdHJpbmcgbGl0ZXJhbCBhbmQgbm8gZm9ybWF0IGFyZ3VtZW50cyBbLVdlcnJvcj1mb3JtYXQtc2VjdXJpdHldCit8ICAgICAgIF8oImNvdWxkIG5vdCBjb252ZXJ0IGZyb20gVUNTLTQgdG8gVVRGLTgiKSk7Cit8ICAgICAgIF4KK3wgLi4vLi4vbGliaWRuLTEuMzIvc3JjL2lkbi5jOjM2NDo2OiBlcnJvcjogZm9ybWF0IG5vdCBhIHN0cmluZyBsaXRlcmFsIGFuZCBubyBmb3JtYXQgYXJndW1lbnRzIFstV2Vycm9yPWZvcm1hdC1zZWN1cml0eV0KK3wgICAgICAgXygiY291bGQgbm90IGNvbnZlcnQgZnJvbSBVQ1MtNCB0byBVVEYtOCIpKTsKK3wgICAgICAgXgorfCAuLi8uLi9saWJpZG4tMS4zMi9zcmMvaWRuLmM6NDQyOjg6IGVycm9yOiBmb3JtYXQgbm90IGEgc3RyaW5nIGxpdGVyYWwgYW5kIG5vIGZvcm1hdCBhcmd1bWVudHMgWy1XZXJyb3I9Zm9ybWF0LXNlY3VyaXR5XQorfCAgICAgICAgIF8oImNvdWxkIG5vdCBjb252ZXJ0IGZyb20gVUNTLTQgdG8gVVRGLTgiKSk7Cit8ICAgICAgICAgXgorfCAuLi8uLi9saWJpZG4tMS4zMi9zcmMvaWRuLmM6NDk4OjY6IGVycm9yOiBmb3JtYXQgbm90IGEgc3RyaW5nIGxpdGVyYWwgYW5kIG5vIGZvcm1hdCBhcmd1bWVudHMgWy1XZXJyb3I9Zm9ybWF0LXNlY3VyaXR5XQorfCAgICAgICBfKCJjb3VsZCBub3QgY29udmVydCBmcm9tIFVURi04IHRvIFVDUy00IikpOworfCAgICAgICBeCit8IC4uLy4uL2xpYmlkbi0xLjMyL3NyYy9pZG4uYzo1Mjc6NTogZXJyb3I6IGZvcm1hdCBub3QgYSBzdHJpbmcgbGl0ZXJhbCBhbmQgbm8gZm9ybWF0IGFyZ3VtZW50cyBbLVdlcnJvcj1mb3JtYXQtc2VjdXJpdHldCit8ICAgICAgXygiY291bGQgbm90IGNvbnZlcnQgZnJvbSBVVEYtOCB0byBVQ1MtNCIpKTsKK3wgICAgICBeCit8IC4uLy4uL2xpYmlkbi0xLjMyL3NyYy9pZG4uYzo1NDA6NjogZXJyb3I6IGZvcm1hdCBub3QgYSBzdHJpbmcgbGl0ZXJhbCBhbmQgbm8gZm9ybWF0IGFyZ3VtZW50cyBbLVdlcnJvcj1mb3JtYXQtc2VjdXJpdHldCit8ICAgICAgIGVycm9yIChFWElUX0ZBSUxVUkUsIDAsIF8oImNvdWxkIG5vdCBkbyBORktDIG5vcm1hbGl6YXRpb24iKSk7Cit8ICAgICAgIF5+fn5+Cit8IC4uLy4uL2xpYmlkbi0xLjMyL3NyYy9pZG4uYzo1NTE6NTogZXJyb3I6IGZvcm1hdCBub3QgYSBzdHJpbmcgbGl0ZXJhbCBhbmQgbm8gZm9ybWF0IGFyZ3VtZW50cyBbLVdlcnJvcj1mb3JtYXQtc2VjdXJpdHldCit8ICAgICAgXygiY291bGQgbm90IGNvbnZlcnQgZnJvbSBVVEYtOCB0byBVQ1MtNCIpKTsKK3wgICAgICBeCisKK1NpZ25lZC1vZmYtYnk6IEFuZHLDqSBEcmFzemlrIDxhZHJhc3ppa0B0eWNvaW50LmNvbT4KKy0tLQorVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKKyBzcmMvaWRuLmMgfCAyNyArKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0KKyAxIGZpbGUgY2hhbmdlZCwgMTQgaW5zZXJ0aW9ucygrKSwgMTMgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9zcmMvaWRuLmMgYi9zcmMvaWRuLmMKK2luZGV4IGJlMWM3ZDEuLjY4ZTQyOTEgMTAwNjQ0CistLS0gYS9zcmMvaWRuLmMKKysrKyBiL3NyYy9pZG4uYworQEAgLTE3MCw3ICsxNzAsNyBAQCBtYWluIChpbnQgYXJnYywgY2hhciAqYXJndltdKQorICAgICAgIChhcmdzX2luZm8uaWRuYV90b191bmljb2RlX2dpdmVuID8gMSA6IDApICsKKyAgICAgICAoYXJnc19pbmZvLm5ma2NfZ2l2ZW4gPyAxIDogMCkgIT0gMSkKKyAgICAgeworLSAgICAgIGVycm9yICgwLCAwLCBfKCJvbmx5IG9uZSBvZiAtcywgLWUsIC1kLCAtYSwgLXUgb3IgLW4gY2FuIGJlIHNwZWNpZmllZCIpKTsKKysgICAgICBlcnJvciAoMCwgMCwgIiVzIiwgXygib25seSBvbmUgb2YgLXMsIC1lLCAtZCwgLWEsIC11IG9yIC1uIGNhbiBiZSBzcGVjaWZpZWQiKSk7CisgICAgICAgdXNhZ2UgKEVYSVRfRkFJTFVSRSk7CisgICAgIH0KKyAKK0BAIC0xODUsNyArMTg1LDcgQEAgbWFpbiAoaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKKyAgIGlmICghYXJnc19pbmZvLnF1aWV0X2dpdmVuCisgICAgICAgJiYgYXJnc19pbmZvLmlucHV0c19udW0gPT0gMAorICAgICAgICYmIGlzYXR0eSAoZmlsZW5vIChzdGRpbikpKQorLSAgICBmcHJpbnRmIChzdGRlcnIsIF8oIlR5cGUgZWFjaCBpbnB1dCBzdHJpbmcgb24gYSBsaW5lIGJ5IGl0c2VsZiwgIgorKyAgICBmcHJpbnRmIChzdGRlcnIsICIlcyIsIF8oIlR5cGUgZWFjaCBpbnB1dCBzdHJpbmcgb24gYSBsaW5lIGJ5IGl0c2VsZiwgIgorIAkJICAgICAgICJ0ZXJtaW5hdGVkIGJ5IGEgbmV3bGluZSBjaGFyYWN0ZXIuXG4iKSk7CisgCisgICBkbworQEAgLTE5Nyw3ICsxOTcsNyBAQCBtYWluIChpbnQgYXJnYywgY2hhciAqYXJndltdKQorIAkgIGlmIChmZW9mIChzdGRpbikpCisgCSAgICBicmVhazsKKyAKKy0JICBlcnJvciAoRVhJVF9GQUlMVVJFLCBlcnJubywgXygiaW5wdXQgZXJyb3IiKSk7CisrCSAgZXJyb3IgKEVYSVRfRkFJTFVSRSwgZXJybm8sICIlcyIsIF8oImlucHV0IGVycm9yIikpOworIAl9CisgCisgICAgICAgaWYgKHN0cmxlbiAobGluZSkgPiAwKQorQEAgLTIxNSw3ICsyMTUsNyBAQCBtYWluIChpbnQgYXJnYywgY2hhciAqYXJndltdKQorIAkgIGlmICghcSkKKyAJICAgIHsKKyAJICAgICAgZnJlZSAocCk7CistCSAgICAgIGVycm9yIChFWElUX0ZBSUxVUkUsIDAsCisrCSAgICAgIGVycm9yIChFWElUX0ZBSUxVUkUsIDAsICIlcyIsCisgCQkgICAgIF8oImNvdWxkIG5vdCBjb252ZXJ0IGZyb20gVVRGLTggdG8gVUNTLTQiKSk7CisgCSAgICB9CisgCitAQCAtMjQwLDcgKzI0MCw3IEBAIG1haW4gKGludCBhcmdjLCBjaGFyICphcmd2W10pCisgCSAgaWYgKCFxKQorIAkgICAgeworIAkgICAgICBmcmVlIChyKTsKKy0JICAgICAgZXJyb3IgKEVYSVRfRkFJTFVSRSwgMCwKKysJICAgICAgZXJyb3IgKEVYSVRfRkFJTFVSRSwgMCwgIiVzIiwKKyAJCSAgICAgXygiY291bGQgbm90IGNvbnZlcnQgZnJvbSBVVEYtOCB0byBVQ1MtNCIpKTsKKyAJICAgIH0KKyAKK0BAIC0yNzcsNyArMjc3LDcgQEAgbWFpbiAoaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKKyAJICBxID0gc3RyaW5ncHJlcF91dGY4X3RvX3VjczQgKHAsIC0xLCAmbGVuKTsKKyAJICBmcmVlIChwKTsKKyAJICBpZiAoIXEpCistCSAgICBlcnJvciAoRVhJVF9GQUlMVVJFLCAwLAorKwkgICAgZXJyb3IgKEVYSVRfRkFJTFVSRSwgMCwgIiVzIiwKKyAJCSAgIF8oImNvdWxkIG5vdCBjb252ZXJ0IGZyb20gVVRGLTggdG8gVUNTLTQiKSk7CisgCisgCSAgaWYgKGFyZ3NfaW5mby5kZWJ1Z19naXZlbikKK0BAIC0zMzYsNyArMzM2LDcgQEAgbWFpbiAoaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKKyAJICByID0gc3RyaW5ncHJlcF91Y3M0X3RvX3V0ZjggKHEsIC0xLCBOVUxMLCBOVUxMKTsKKyAJICBmcmVlIChxKTsKKyAJICBpZiAoIXIpCistCSAgICBlcnJvciAoRVhJVF9GQUlMVVJFLCAwLAorKwkgICAgZXJyb3IgKEVYSVRfRkFJTFVSRSwgMCwgIiVzIiwKKyAJCSAgIF8oImNvdWxkIG5vdCBjb252ZXJ0IGZyb20gVUNTLTQgdG8gVVRGLTgiKSk7CisgCisgCSAgcCA9IHN0cmluZ3ByZXBfdXRmOF90b19sb2NhbGUgKHIpOworQEAgLTM2MCw3ICszNjAsNyBAQCBtYWluIChpbnQgYXJnYywgY2hhciAqYXJndltdKQorIAkgIHEgPSBzdHJpbmdwcmVwX3V0ZjhfdG9fdWNzNCAocCwgLTEsIE5VTEwpOworIAkgIGZyZWUgKHApOworIAkgIGlmICghcSkKKy0JICAgIGVycm9yIChFWElUX0ZBSUxVUkUsIDAsCisrCSAgICBlcnJvciAoRVhJVF9GQUlMVVJFLCAwLCAiJXMiLAorIAkJICAgXygiY291bGQgbm90IGNvbnZlcnQgZnJvbSBVQ1MtNCB0byBVVEYtOCIpKTsKKyAKKyAJICBpZiAoYXJnc19pbmZvLmRlYnVnX2dpdmVuKQorQEAgLTQzOCw3ICs0MzgsNyBAQCBtYWluIChpbnQgYXJnYywgY2hhciAqYXJndltdKQorIAkgIGlmICghcSkKKyAJICAgIHsKKyAJICAgICAgZnJlZSAocCk7CistCSAgICAgIGVycm9yIChFWElUX0ZBSUxVUkUsIDAsCisrCSAgICAgIGVycm9yIChFWElUX0ZBSUxVUkUsIDAsICIlcyIsCisgCQkgICAgIF8oImNvdWxkIG5vdCBjb252ZXJ0IGZyb20gVUNTLTQgdG8gVVRGLTgiKSk7CisgCSAgICB9CisgCitAQCAtNDk0LDcgKzQ5NCw3IEBAIG1haW4gKGludCBhcmdjLCBjaGFyICphcmd2W10pCisgCSAgciA9IHN0cmluZ3ByZXBfdWNzNF90b191dGY4IChxLCAtMSwgTlVMTCwgTlVMTCk7CisgCSAgZnJlZSAocSk7CisgCSAgaWYgKCFyKQorLQkgICAgZXJyb3IgKEVYSVRfRkFJTFVSRSwgMCwKKysJICAgIGVycm9yIChFWElUX0ZBSUxVUkUsIDAsICIlcyIsCisgCQkgICBfKCJjb3VsZCBub3QgY29udmVydCBmcm9tIFVURi04IHRvIFVDUy00IikpOworIAorIAkgIHAgPSBzdHJpbmdwcmVwX3V0ZjhfdG9fbG9jYWxlIChyKTsKK0BAIC01MjMsNyArNTIzLDcgQEAgbWFpbiAoaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKKyAJICAgICAgaWYgKCFxKQorIAkJeworIAkJICBmcmVlIChwKTsKKy0JCSAgZXJyb3IgKEVYSVRfRkFJTFVSRSwgMCwKKysJCSAgZXJyb3IgKEVYSVRfRkFJTFVSRSwgMCwgIiVzIiwKKyAJCQkgXygiY291bGQgbm90IGNvbnZlcnQgZnJvbSBVVEYtOCB0byBVQ1MtNCIpKTsKKyAJCX0KKyAKK0BAIC01MzcsNyArNTM3LDggQEAgbWFpbiAoaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKKyAJICByID0gc3RyaW5ncHJlcF91dGY4X25ma2Nfbm9ybWFsaXplIChwLCAtMSk7CisgCSAgZnJlZSAocCk7CisgCSAgaWYgKCFyKQorLQkgICAgZXJyb3IgKEVYSVRfRkFJTFVSRSwgMCwgXygiY291bGQgbm90IGRvIE5GS0Mgbm9ybWFsaXphdGlvbiIpKTsKKysJICAgIGVycm9yIChFWElUX0ZBSUxVUkUsIDAsICIlcyIsCisrCQkgICBfKCJjb3VsZCBub3QgZG8gTkZLQyBub3JtYWxpemF0aW9uIikpOworIAorIAkgIGlmIChhcmdzX2luZm8uZGVidWdfZ2l2ZW4pCisgCSAgICB7CitAQCAtNTQ3LDcgKzU0OCw3IEBAIG1haW4gKGludCBhcmdjLCBjaGFyICphcmd2W10pCisgCSAgICAgIGlmICghcSkKKyAJCXsKKyAJCSAgZnJlZSAocik7CistCQkgIGVycm9yIChFWElUX0ZBSUxVUkUsIDAsCisrCQkgIGVycm9yIChFWElUX0ZBSUxVUkUsIDAsICIlcyIsCisgCQkJIF8oImNvdWxkIG5vdCBjb252ZXJ0IGZyb20gVVRGLTggdG8gVUNTLTQiKSk7CisgCQl9CisgCistLSAKKzIuOC4xCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbGliaWRuL2xpYmlkbi9hdm9pZF9BTV9QUk9HX01LRElSX1Bfd2FybmluZ19lcnJvcl93aXRoX2F1dG9tYWtlXzEuMTIucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2xpYmlkbi9saWJpZG4vYXZvaWRfQU1fUFJPR19NS0RJUl9QX3dhcm5pbmdfZXJyb3Jfd2l0aF9hdXRvbWFrZV8xLjEyLnBhdGNoCmluZGV4IDM0NzZiYjkuLjk4YmE0ZDYgMTAwNjQ0Ci0tLSBhL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbGliaWRuL2xpYmlkbi9hdm9pZF9BTV9QUk9HX01LRElSX1Bfd2FybmluZ19lcnJvcl93aXRoX2F1dG9tYWtlXzEuMTIucGF0Y2gKKysrIGIvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9saWJpZG4vbGliaWRuL2F2b2lkX0FNX1BST0dfTUtESVJfUF93YXJuaW5nX2Vycm9yX3dpdGhfYXV0b21ha2VfMS4xMi5wYXRjaApAQCAtNyw3ICs3LDcgQEAKIGVsaW1pbmF0ZWQgdGhlc2UgZGVwcmVjYXRlZCBtYWNyb3MgeWV0LiBTbyBkaXNhYmxlIHRoZSB0cmVhdG1lbnQgb2Ygd2FybmluZ3MKIGFzIGVycm9ycyB1bnRpbCBnZXR0ZXh0IGlzIHVwZGF0ZWQgdG8gcmVtb3ZlIHRoZSBkZXByZWNhdGVkIG1hY3Jvcy4KIAotU2lnbmVkLU9mZi1ieTogTml0aW4gQSBLYW1ibGUgPG5pdGluLmEua2FtYmxlQGludGVsLmNvbT4KK1NpZ25lZC1vZmYtYnk6IE5pdGluIEEgS2FtYmxlIDxuaXRpbi5hLmthbWJsZUBpbnRlbC5jb20+CiAyMDEyLzA3LzEwCiAKIEluZGV4OiBsaWJpZG4tMS4yNC9jb25maWd1cmUuYWMKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbGliaWRuL2xpYmlkbi9saWJpZG5fZml4X2Zvcl9hdXRvbWFrZS0xLjEyLnBhdGNoIGIvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9saWJpZG4vbGliaWRuL2xpYmlkbl9maXhfZm9yX2F1dG9tYWtlLTEuMTIucGF0Y2gKaW5kZXggMjBhZmQyNS4uNTY4M2QzYyAxMDA2NDQKLS0tIGEvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9saWJpZG4vbGliaWRuL2xpYmlkbl9maXhfZm9yX2F1dG9tYWtlLTEuMTIucGF0Y2gKKysrIGIvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9saWJpZG4vbGliaWRuL2xpYmlkbl9maXhfZm9yX2F1dG9tYWtlLTEuMTIucGF0Y2gKQEAgLTYsNyArNiw3IEBACiB8IC9zcnYvaG9tZS9uaXRpbi9idWlsZHMvYnVpbGQtZ2NjNDcvdG1wL3N5c3Jvb3RzL3g4Nl82NC1saW51eC91c3Ivc2hhcmUvYXV0b21ha2UtMS4xMi9hbS9sdGxpYnJhcnkuYW06IHdhcm5pbmc6ICdsaWJpZG4ubGEnOiBsaW5raW5nIGxpYnRvb2wgbGlicmFyaWVzIHVzaW5nIGEgbm9uLVBPU0lYCiB8IC9zcnYvaG9tZS9uaXRpbi9idWlsZHMvYnVpbGQtZ2NjNDcvdG1wL3N5c3Jvb3RzL3g4Nl82NC1saW51eC91c3Ivc2hhcmUvYXV0b21ha2UtMS4xMi9hbS9sdGxpYnJhcnkuYW06IGFyY2hpdmVyIHJlcXVpcmVzICdBTV9QUk9HX0FSJyBpbiAnY29uZmlndXJlLmFjJwogCi1TaWduZWQtT2ZmLUJ5OiBOaXRpbiBBIEthbWJsZSA8bml0aW4uYS5rYW1ibGVAaW50ZWwuY29tPgorU2lnbmVkLW9mZi1ieTogTml0aW4gQSBLYW1ibGUgPG5pdGluLmEua2FtYmxlQGludGVsLmNvbT4KIDIwMTIvMDUvMDMKIAogSW5kZXg6IGxpYmlkbi0xLjI0L2NvbmZpZ3VyZS5hYwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9saWJpZG4vbGliaWRuXzEuMzIuYmIgYi9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2xpYmlkbi9saWJpZG5fMS4zMy5iYgpzaW1pbGFyaXR5IGluZGV4IDcwJQpyZW5hbWUgZnJvbSBpbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2xpYmlkbi9saWJpZG5fMS4zMi5iYgpyZW5hbWUgdG8gaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9saWJpZG4vbGliaWRuXzEuMzMuYmIKaW5kZXggNGQ2ZTg4NS4uZDNkMGY1NSAxMDA2NDQKLS0tIGEvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9saWJpZG4vbGliaWRuXzEuMzIuYmIKKysrIGIvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9saWJpZG4vbGliaWRuXzEuMzMuYmIKQEAgLTgsMjUgKzgsMzAgQEAKICAgICAgICAgICAgICAgICAgICAgZmlsZTovL0NPUFlJTkcuTEVTU0VSdjM7bWQ1PWU2YTYwMGZkNWUxZDljYmRlMmQ5ODM2ODAyMzNhZDAyIFwKICAgICAgICAgICAgICAgICAgICAgZmlsZTovL0NPUFlJTkd2MjttZDU9YjIzNGVlNGQ2OWY1ZmNlNDQ4NmE4MGZkYWY0YTQyNjMgXAogICAgICAgICAgICAgICAgICAgICBmaWxlOi8vQ09QWUlOR3YzO21kNT1kMzIyMzliY2I2NzM0NjNhYjg3NGU4MGQ0N2ZhZTUwNCBcCi0gICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9saWIvaWRuYS5oO2VuZGxpbmU9MjE7bWQ1PTdjMGIzODI4ZDFiMTUzNjYzYmU5YTA0YWQ0Zjc5NzVmIFwKLSAgICAgICAgICAgICAgICAgICAgZmlsZTovL3NyYy9pZG4uYztlbmRsaW5lPTIwO21kNT1mNDIzNWYyYTJjYjJiNjU3ODZiMjk3OWZiM2NmN2ZiZiIKKyAgICAgICAgICAgICAgICAgICAgZmlsZTovL2xpYi9pZG5hLmg7ZW5kbGluZT0yMTttZDU9MzdjZmZhZDI0ODA3ZjQ0NmEyNGRlM2U3MzcxZjIwYjkgXAorICAgICAgICAgICAgICAgICAgICBmaWxlOi8vc3JjL2lkbi5jO2VuZGxpbmU9MjA7bWQ1PTA5ZTk3MDM0YTg4NzdiMzQ1MWNiNjUwNjVmYzJjMDZlIgorREVQRU5EUyA9ICJ2aXJ0dWFsL2xpYmljb252IgogCi1pbmhlcml0IHBrZ2NvbmZpZyBhdXRvdG9vbHMgZ2V0dGV4dCB0ZXhpbmZvCitpbmhlcml0IHBrZ2NvbmZpZyBhdXRvdG9vbHMgZ2V0dGV4dCB0ZXhpbmZvIGd0ay1kb2MKIAogU1JDX1VSSSA9ICIke0dOVV9NSVJST1J9L2xpYmlkbi8ke0JQTn0tJHtQVn0udGFyLmd6IFwKICAgICAgICAgICAgZmlsZTovL2xpYmlkbl9maXhfZm9yX2F1dG9tYWtlLTEuMTIucGF0Y2ggXAogICAgICAgICAgICBmaWxlOi8vYXZvaWRfQU1fUFJPR19NS0RJUl9QX3dhcm5pbmdfZXJyb3Jfd2l0aF9hdXRvbWFrZV8xLjEyLnBhdGNoIFwKICAgICAgICAgICAgZmlsZTovL2RvbnQtZGVwZW5kLW9uLWhlbHAybWFuLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtaWRuLWZpeC1wcmludGYtZm9ybWF0LXNlY3VyaXR5LXdhcm5pbmdzLnBhdGNoIFwKICIKIAotU1JDX1VSSVttZDVzdW1dID0gIjRkZDgzNTZiYTU3NzI4N2VhNzA3NmJmYTE1NTRiNTM0IgotU1JDX1VSSVtzaGEyNTZzdW1dID0gImJhNWQ1YWZlZTJiZWZmNzAzYTM0ZWUwOTQ2NjhkYTVjNmVhNWFmYTM4Nzg0Y2ViYmE4OTI0MTA1ZTE4NWM0ZjUiCitTUkNfVVJJW21kNXN1bV0gPSAiYTlhYTdlMDAzNjY1ZGU5YzgyYmQzZjlmYzZjY2YzMDgiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNDRhN2FhYjYzNWJiNzIxY2VlZjZiZWVjYzRkNDlkZmQxOTQ3ODMyNWUxYjQ3ZjMxOTZmN2QyYWNjNDkzMGUxOSIKIAogIyBjb21tYW5kIHRvb2wgaXMgdW5kZXIgR1BMdjMrLCB3aGlsZSBsaWJpZG4gaXRzZWxmIGlzIHVuZGVyIExHUEx2Mi4xKyBvciBMR1BMdjMKICMgc28gcGFja2FnZSBjb21tYW5kIGludG8gYSBzZXBhcmF0ZSBwYWNrYWdlCiBQQUNLQUdFUyA9KyAiaWRuIgogRklMRVNfaWRuID0gIiR7YmluZGlyfS8qIgogCitMSUNFTlNFXyR7UE59ID0gIkxHUEx2Mi4xKyB8IExHUEx2MyIKK0xJQ0VOU0VfaWRuID0gIkdQTHYzKyIKKwogRVhUUkFfT0VDT05GID0gIi0tZGlzYWJsZS1jc2hhcnAiCiAKIGRvX2luc3RhbGxfYXBwZW5kKCkgewpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9saWJzb2x2L2xpYnNvbHYvMDAwMS1BZGQtZmFsbGJhY2stZm9wZW5jb29raWUtaW1wbGVtZW50YXRpb24ucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2xpYnNvbHYvbGlic29sdi8wMDAxLUFkZC1mYWxsYmFjay1mb3BlbmNvb2tpZS1pbXBsZW1lbnRhdGlvbi5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yNGUyMjI4Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9saWJzb2x2L2xpYnNvbHYvMDAwMS1BZGQtZmFsbGJhY2stZm9wZW5jb29raWUtaW1wbGVtZW50YXRpb24ucGF0Y2gKQEAgLTAsMCArMSwyNTQgQEAKK0Zyb20gNWI2ZTExM2Y1NDhiZDhhMmIxMDAyNjdiYzVkNTRjZWU4NjFhNGI5OCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206ID0/VVRGLTg/cT9OZWFsPTIwR29tcGE9MjA9Mjg9RTM9ODM9OEI9RTM9ODM9QkM9RTM9ODM9QUI9RTM9ODM9QkI/PQorID0/VVRGLTg/cT89RTM9ODI9QjM9RTM9ODI9OTk9RTM9ODM9QjM9RTM9ODM9OEY9RTM9ODI9OUE9Mjk/PQorIDxuZ29tcGExM0BnbWFpbC5jb20+CitEYXRlOiBXZWQsIDExIE5vdiAyMDE1IDIwOjMyOjE3IC0wNTAwCitTdWJqZWN0OiBbUEFUQ0hdIEFkZCBmYWxsYmFjayBmb3BlbmNvb2tpZSgpIGltcGxlbWVudGF0aW9uCitNSU1FLVZlcnNpb246IDEuMAorQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04CitDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0CisKK0luIGVudmlyb25tZW50cyB3aGVyZSBuZWl0aGVyIGZvcGVuY29va2llKCkgbm9yIGZ1bm9wZW4oKQorYXJlIGltcGxlbWVudGVkLCB3ZSBuZWVkIHRvIHByb3ZpZGUgYSBzdWl0YWJsZSBpbXBsZW1lbnRhdGlvbgorb2YgZm9wZW5jb29raWUoKSB0aGF0IHdlIGNhbiB1c2UuCisKK1Vwc3RyZWFtLVN0YXR1czogU3VibWl0dGVkIFsgaHR0cHM6Ly9naXRodWIuY29tL29wZW5TVVNFL2xpYnNvbHYvcHVsbC8xMTIgXQorCitTaWduZWQtb2ZmLWJ5OiBOZWFsIEdvbXBhICjjg4vjg7zjg6vjg7vjgrPjgpnjg7Pjg4/jgpopIDxuZ29tcGExM0BnbWFpbC5jb20+Y29tPgorU2lnbmVkLW9mZi1ieTogTWF4aW4gQi4gSm9obiA8bWF4aW4uam9obkBpbnRlbC5jb20+CistLS0KKyBleHQvQ01ha2VMaXN0cy50eHQgICAgICAgICAgICAgICAgICAgICB8ICAgNyArKworIGV4dC9zb2x2X3hmb3Blbi5jICAgICAgICAgICAgICAgICAgICAgIHwgIDEwICstLQorIGV4dC9zb2x2X3hmb3Blbl9mYWxsYmFja19mb3BlbmNvb2tpZS5jIHwgMTI0ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKworIGV4dC9zb2x2X3hmb3Blbl9mYWxsYmFja19mb3BlbmNvb2tpZS5oIHwgIDI4ICsrKysrKysrCisgNCBmaWxlcyBjaGFuZ2VkLCAxNjUgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKKyBjcmVhdGUgbW9kZSAxMDA2NDQgZXh0L3NvbHZfeGZvcGVuX2ZhbGxiYWNrX2ZvcGVuY29va2llLmMKKyBjcmVhdGUgbW9kZSAxMDA2NDQgZXh0L3NvbHZfeGZvcGVuX2ZhbGxiYWNrX2ZvcGVuY29va2llLmgKKworZGlmZiAtLWdpdCBhL2V4dC9DTWFrZUxpc3RzLnR4dCBiL2V4dC9DTWFrZUxpc3RzLnR4dAoraW5kZXggYWQ1MjQ5NS4uNGYyODJjZSAxMDA2NDQKKy0tLSBhL2V4dC9DTWFrZUxpc3RzLnR4dAorKysrIGIvZXh0L0NNYWtlTGlzdHMudHh0CitAQCAtNCw2ICs0LDEzIEBAIFNFVCAobGlic29sdmV4dF9TUkNTCisgU0VUIChsaWJzb2x2ZXh0X0hFQURFUlMKKyAgICAgdG9vbHNfdXRpbC5oIHNvbHZfeGZvcGVuLmggdGVzdGNhc2UuaCkKKyAKKytJRiAoTk9UIEhBVkVfRk9QRU5DT09LSUUgQU5EIE5PVCBIQVZFX0ZVTk9QRU4pCisrICAgIFNFVCAobGlic29sdmV4dF9TUkNTICR7bGlic29sdmV4dF9TUkNTfQorKyAgICAgICAgc29sdl94Zm9wZW5fZmFsbGJhY2tfZm9wZW5jb29raWUuYykKKysgICAgU0VUIChsaWJzb2x2ZXh0X0hFQURFUlMgJHtsaWJzb2x2ZXh0X0hFQURFUlN9CisrICAgICAgICBzb2x2X3hmb3Blbl9mYWxsYmFja19mb3BlbmNvb2tpZS5oKQorK0VORElGIChOT1QgSEFWRV9GT1BFTkNPT0tJRSBBTkQgTk9UIEhBVkVfRlVOT1BFTikKKysKKyBJRiAoRU5BQkxFX1JQTURCKQorICAgICBTRVQgKGxpYnNvbHZleHRfU1JDUyAke2xpYnNvbHZleHRfU1JDU30KKyAgICAgICAgIHBvb2xfZmlsZWNvbmZsaWN0cy5jIHJlcG9fcnBtZGIuYykKK2RpZmYgLS1naXQgYS9leHQvc29sdl94Zm9wZW4uYyBiL2V4dC9zb2x2X3hmb3Blbi5jCitpbmRleCBiMDQyMWJmLi4zMTM0NWRkIDEwMDY0NAorLS0tIGEvZXh0L3NvbHZfeGZvcGVuLmMKKysrKyBiL2V4dC9zb2x2X3hmb3Blbi5jCitAQCAtMTMsNiArMTMsMTAgQEAKKyAjaW5jbHVkZSA8emxpYi5oPgorICNpbmNsdWRlIDxmY250bC5oPgorIAorKyNpZiAhZGVmaW5lZChIQVZFX0ZVTk9QRU4pICYmICFkZWZpbmVkKEhBVkVfRk9QRU5DT09LSUUpCisrI2luY2x1ZGUgInNvbHZfeGZvcGVuX2ZhbGxiYWNrX2ZvcGVuY29va2llLmgiCisrI2VuZGlmCisrCisgI2luY2x1ZGUgInNvbHZfeGZvcGVuLmgiCisgI2luY2x1ZGUgInV0aWwuaCIKKyAKK0BAIC0zOSw3ICs0Myw3IEBAIHN0YXRpYyBGSUxFICpjb29raWVvcGVuKHZvaWQgKmNvb2tpZSwgY29uc3QgY2hhciAqbW9kZSwKKyAJc3NpemVfdCAoKmN3cml0ZSkodm9pZCAqLCBjb25zdCBjaGFyICosIHNpemVfdCksCisgCWludCAoKmNjbG9zZSkodm9pZCAqKSkKKyB7CistI2lmZGVmIEhBVkVfRlVOT1BFTgorKyNpZiBkZWZpbmVkKEhBVkVfRlVOT1BFTikgJiYgIWRlZmluZWQoSEFWRV9GT1BFTkNPT0tJRSkKKyAgIGlmICghY29va2llKQorICAgICByZXR1cm4gMDsKKyAgIHJldHVybiBmdW5vcGVuKGNvb2tpZSwKK0BAIC00OCw3ICs1Miw3IEBAIHN0YXRpYyBGSUxFICpjb29raWVvcGVuKHZvaWQgKmNvb2tpZSwgY29uc3QgY2hhciAqbW9kZSwKKyAgICAgICAoZnBvc190ICgqKSh2b2lkICosIGZwb3NfdCwgaW50KSlOVUxMLAkJCQkJLyogc2Vla2ZuICovCisgICAgICAgY2Nsb3NlCisgICAgICAgKTsKKy0jZWxpZiBkZWZpbmVkKEhBVkVfRk9QRU5DT09LSUUpCisrI2Vsc2UKKyAgIGNvb2tpZV9pb19mdW5jdGlvbnNfdCBjaW87CisgCisgICBpZiAoIWNvb2tpZSkKK0BAIC02MCw4ICs2NCw2IEBAIHN0YXRpYyBGSUxFICpjb29raWVvcGVuKHZvaWQgKmNvb2tpZSwgY29uc3QgY2hhciAqbW9kZSwKKyAgICAgY2lvLndyaXRlID0gY3dyaXRlOworICAgY2lvLmNsb3NlID0gY2Nsb3NlOworICAgcmV0dXJuICBmb3BlbmNvb2tpZShjb29raWUsICptb2RlID09ICd3JyA/ICJ3IiA6ICJyIiwgY2lvKTsKKy0jZWxzZQorLSMgZXJyb3IgTmVlZCB0byBpbXBsZW1lbnQgY3VzdG9tIEkvTworICNlbmRpZgorIH0KKyAKK2RpZmYgLS1naXQgYS9leHQvc29sdl94Zm9wZW5fZmFsbGJhY2tfZm9wZW5jb29raWUuYyBiL2V4dC9zb2x2X3hmb3Blbl9mYWxsYmFja19mb3BlbmNvb2tpZS5jCituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMC4uODk0MjZhOQorLS0tIC9kZXYvbnVsbAorKysrIGIvZXh0L3NvbHZfeGZvcGVuX2ZhbGxiYWNrX2ZvcGVuY29va2llLmMKK0BAIC0wLDAgKzEsMTI0IEBACisrLyoKKysgKglQcm92aWRlcyBhIHZlcnkgbGltaXRlZCBmb3BlbmNvb2tpZSgpIGZvciBlbnZpcm9ubWVudHMgd2l0aCBhIGxpYmMKKysgKgl0aGF0IGxhY2tzIGl0LgorKyAqCisrICoJQXV0aG9yczogemhhc2hhICYgbnN6CisrICoJTW9kaWZpZWQgZm9yIGxpYnNvbHYgYnkgTmVhbCBHb21wYQorKyAqCisrICoJVGhpcyBwcm9ncmFtIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBCU0QgbGljZW5zZSwgcmVhZCBMSUNFTlNFLkJTRAorKyAqCWZvciBmdXJ0aGVyIGluZm9ybWF0aW9uLgorKyAqCisrICovCisrCisrI2RlZmluZSBfTEFSR0VGSUxFNjRfU09VUkNFIDEKKysjaW5jbHVkZSA8cHRocmVhZC5oPgorKyNpbmNsdWRlIDxzdGRpby5oPgorKyNpbmNsdWRlIDxzdGRsaWIuaD4KKysjaW5jbHVkZSA8dW5pc3RkLmg+CisrI2luY2x1ZGUgPGZjbnRsLmg+CisrI2luY2x1ZGUgPHN5cy90eXBlcy5oPgorKyNpbmNsdWRlIDxlcnJuby5oPgorKyNpbmNsdWRlICJzb2x2X3hmb3Blbl9mYWxsYmFja19mb3BlbmNvb2tpZS5oIgorKworK2V4dGVybiBpbnQgcGlwZTIoaW50WzJdLCBpbnQpOworKworK3N0cnVjdCBjdHggeworKyAgICBpbnQgZmQ7CisrICAgIHZvaWQgKmNvb2tpZTsKKysgICAgc3RydWN0IGNvb2tpZV9pb19mdW5jdGlvbnNfdCBpbzsKKysgICAgY2hhciBidWZbMTAyNF07CisrfTsKKysKKytzdGF0aWMgdm9pZCAqcHJveHkodm9pZCAqYXJnKQorK3sKKysgICAgc3RydWN0IGN0eCAqY3R4ID0gYXJnOworKyAgICBzc2l6ZV90IHI7CisrICAgIHNpemVfdCBuLCBrOworKworKyAgICBwdGhyZWFkX2RldGFjaChwdGhyZWFkX3NlbGYoKSk7CisrCisrICAgIHdoaWxlICgxKSB7CisrICAgICAgICByID0gY3R4LT5pby5yZWFkID8KKysgICAgICAgICAgICAoY3R4LT5pby5yZWFkKShjdHgtPmNvb2tpZSwgY3R4LT5idWYsIHNpemVvZihjdHgtPmJ1ZikpIDoKKysgICAgICAgICAgICByZWFkKGN0eC0+ZmQsIGN0eC0+YnVmLCBzaXplb2YoY3R4LT5idWYpKTsKKysgICAgICAgIGlmIChyIDwgMCkgeworKyAgICAgICAgICAgIGlmIChlcnJubyAhPSBFSU5UUikgeyBicmVhazsgfQorKyAgICAgICAgICAgIGNvbnRpbnVlOworKyAgICAgICAgfQorKyAgICAgICAgaWYgKHIgPT0gMCkgeyBicmVhazsgfQorKworKyAgICAgICAgbiA9IHIsIGsgPSAwOworKyAgICAgICAgd2hpbGUgKG4gPiAwKSB7CisrICAgICAgICAgICAgciA9IGN0eC0+aW8ud3JpdGUgPworKyAgICAgICAgICAgICAgICAoY3R4LT5pby53cml0ZSkoY3R4LT5jb29raWUsIGN0eC0+YnVmICsgaywgbikgOgorKyAgICAgICAgICAgICAgICB3cml0ZShjdHgtPmZkLCBjdHgtPmJ1ZiArIGssIG4pOworKyAgICAgICAgICAgIGlmIChyIDwgMCkgeworKyAgICAgICAgICAgICAgICBpZiAoZXJybm8gIT0gRUlOVFIpIHsgYnJlYWs7IH0KKysgICAgICAgICAgICAgICAgY29udGludWU7CisrICAgICAgICAgICAgfQorKyAgICAgICAgICAgIGlmIChyID09IDApIHsgYnJlYWs7IH0KKysKKysgICAgICAgICAgICBuIC09IHIsIGsgKz0gcjsKKysgICAgICAgIH0KKysgICAgICAgIGlmIChuID4gMCkgeyBicmVhazsgfQorKyAgICB9CisrCisrICAgIGlmIChjdHgtPmlvLmNsb3NlKSB7IChjdHgtPmlvLmNsb3NlKShjdHgtPmNvb2tpZSk7IH0KKysgICAgY2xvc2UoY3R4LT5mZCk7CisrICAgIHJldHVybiBOVUxMOworK30KKysKKytGSUxFICpmb3BlbmNvb2tpZSh2b2lkICpjb29raWUsIGNvbnN0IGNoYXIgKm1vZGUsIHN0cnVjdCBjb29raWVfaW9fZnVuY3Rpb25zX3QgaW8pCisreworKyAgICBzdHJ1Y3QgY3R4ICpjdHggPSBOVUxMOworKyAgICBpbnQgcmQgPSAwLCB3ciA9IDA7CisrICAgIGludCBwWzJdID0geyAtMSwgLTEgfTsKKysgICAgRklMRSAqZiA9IE5VTEw7CisrICAgIHB0aHJlYWRfdCBkdW1teTsKKysKKysgICAgc3dpdGNoIChtb2RlWzBdKSB7CisrICAgICAgICBjYXNlICdhJzoKKysgICAgICAgIGNhc2UgJ3cnOiB3ciA9IDE7IGJyZWFrOworKyAgICAgICAgY2FzZSAncic6IHJkID0gMTsgYnJlYWs7CisrICAgICAgICBkZWZhdWx0OgorKyAgICAgICAgICAgIGVycm5vID0gRUlOVkFMOworKyAgICAgICAgICAgIHJldHVybiBOVUxMOworKyAgICB9CisrICAgIHN3aXRjaCAobW9kZVsxXSkgeworKyAgICAgICAgY2FzZSAnXDAnOiBicmVhazsKKysgICAgICAgIGNhc2UgJysnOgorKyAgICAgICAgICAgIGlmIChtb2RlWzJdID09ICdcMCcpIHsKKysgICAgICAgICAgICAgICAgZXJybm8gPSBFTk9UU1VQOworKyAgICAgICAgICAgICAgICByZXR1cm4gTlVMTDsKKysgICAgICAgICAgICB9CisrICAgICAgICBkZWZhdWx0OgorKyAgICAgICAgICAgIGVycm5vID0gRUlOVkFMOworKyAgICAgICAgICAgIHJldHVybiBOVUxMOworKyAgICB9CisrICAgIGlmIChpby5zZWVrKSB7CisrICAgICAgICBlcnJubyA9IEVOT1RTVVA7CisrICAgICAgICByZXR1cm4gTlVMTDsKKysgICAgfQorKworKyAgICBjdHggPSBtYWxsb2Moc2l6ZW9mKCpjdHgpKTsKKysgICAgaWYgKCFjdHgpIHsgcmV0dXJuIE5VTEw7IH0KKysgICAgaWYgKHBpcGUyKHAsIE9fQ0xPRVhFQykgIT0gMCkgeyBnb3RvIGVycjsgfQorKyAgICBpZiAoKGYgPSBmZG9wZW4ocFt3cl0sIG1vZGUpKSA9PSBOVUxMKSB7IGdvdG8gZXJyOyB9CisrICAgIHBbd3JdID0gLTE7CisrICAgIGN0eC0+ZmQgPSBwW3JkXTsKKysgICAgY3R4LT5jb29raWUgPSBjb29raWU7CisrICAgIGN0eC0+aW8ucmVhZCA9IHJkID8gaW8ucmVhZCA6IE5VTEw7CisrICAgIGN0eC0+aW8ud3JpdGUgPSB3ciA/IGlvLndyaXRlIDogTlVMTDsKKysgICAgY3R4LT5pby5zZWVrID0gTlVMTDsKKysgICAgY3R4LT5pby5jbG9zZSA9IGlvLmNsb3NlOworKyAgICBpZiAocHRocmVhZF9jcmVhdGUoJmR1bW15LCBOVUxMLCBwcm94eSwgY3R4KSAhPSAwKSB7IGdvdG8gZXJyOyB9CisrCisrICAgIHJldHVybiBmOworKworK2VycjoKKysgICAgaWYgKHBbMF0gPj0gMCkgeyBjbG9zZShwWzBdKTsgfQorKyAgICBpZiAocFsxXSA+PSAwKSB7IGNsb3NlKHBbMV0pOyB9CisrICAgIGlmIChmKSB7IGZjbG9zZShmKTsgfQorKyAgICBmcmVlKGN0eCk7CisrICAgIHJldHVybiBOVUxMOworK30KK2RpZmYgLS1naXQgYS9leHQvc29sdl94Zm9wZW5fZmFsbGJhY2tfZm9wZW5jb29raWUuaCBiL2V4dC9zb2x2X3hmb3Blbl9mYWxsYmFja19mb3BlbmNvb2tpZS5oCituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMC4uNzIyM2UzZgorLS0tIC9kZXYvbnVsbAorKysrIGIvZXh0L3NvbHZfeGZvcGVuX2ZhbGxiYWNrX2ZvcGVuY29va2llLmgKK0BAIC0wLDAgKzEsMjggQEAKKysvKgorKyAqCVByb3ZpZGVzIGEgdmVyeSBsaW1pdGVkIGZvcGVuY29va2llKCkgZm9yIGVudmlyb25tZW50cyB3aXRoIGEgbGliYworKyAqCXRoYXQgbGFja3MgaXQuCisrICoKKysgKglBdXRob3JzOiB6aGFzaGEgJiBuc3oKKysgKglNb2RpZmllZCBmb3IgbGlic29sdiBieSBOZWFsIEdvbXBhCisrICoKKysgKglUaGlzIHByb2dyYW0gaXMgbGljZW5zZWQgdW5kZXIgdGhlIEJTRCBsaWNlbnNlLCByZWFkIExJQ0VOU0UuQlNECisrICoJZm9yIGZ1cnRoZXIgaW5mb3JtYXRpb24uCisrICoKKysgKi8KKysKKysjaWZuZGVmIFNPTFZfWEZPUEVOX0ZBTExCQUNLX0ZPUEVOQ09PS0lFX0gKKysjZGVmaW5lIFNPTFZfWEZPUEVOX0ZBTExCQUNLX0ZPUEVOQ09PS0lFX0gKKysKKysjaW5jbHVkZSA8c3RkaW8uaD4KKysjaW5jbHVkZSA8c3RkaW50Lmg+CisrCisrdHlwZWRlZiBzdHJ1Y3QgY29va2llX2lvX2Z1bmN0aW9uc190IHsKKysgICAgc3NpemVfdCAoKnJlYWQpKHZvaWQgKiwgY2hhciAqLCBzaXplX3QpOworKyAgICBzc2l6ZV90ICgqd3JpdGUpKHZvaWQgKiwgY29uc3QgY2hhciAqLCBzaXplX3QpOworKyAgICBpbnQgKCpzZWVrKSh2b2lkICosIG9mZjY0X3QsIGludCk7CisrICAgIGludCAoKmNsb3NlKSh2b2lkICopOworK30gY29va2llX2lvX2Z1bmN0aW9uc190OworKworK0ZJTEUgKmZvcGVuY29va2llKHZvaWQgKmNvb2tpZSwgY29uc3QgY2hhciAqbW9kZSwgc3RydWN0IGNvb2tpZV9pb19mdW5jdGlvbnNfdCBpbyk7CisrCisrI2VuZGlmCistLSAKKzIuNC4wCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbGlic29sdi9saWJzb2x2LzAwMDEtQ01ha2VMaXN0cy50eHQtZml4LU1BTl9JTlNUQUxMX0RJUi5wYXRjaCBiL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbGlic29sdi9saWJzb2x2LzAwMDEtQ01ha2VMaXN0cy50eHQtZml4LU1BTl9JTlNUQUxMX0RJUi5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOTcyZWNjOS4uMDAwMDAwMAotLS0gYS9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2xpYnNvbHYvbGlic29sdi8wMDAxLUNNYWtlTGlzdHMudHh0LWZpeC1NQU5fSU5TVEFMTF9ESVIucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzNyArMCwwIEBACi1Gcm9tIDI4MGYwZDM3YzY0MmQ2OGJhZDJhMmU0OWVmNDM3OTUzNDc0ZDk5ZTYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBSb2JlcnQgWWFuZyA8bGllemhpLnlhbmdAd2luZHJpdmVyLmNvbT4KLURhdGU6IFdlZCwgNiBBcHIgMjAxNiAyMzoxNTowMiAtMDcwMAotU3ViamVjdDogW1BBVENIXSBDTWFrZUxpc3RzLnR4dDogZml4IE1BTl9JTlNUQUxMX0RJUgotCi1JdCBjaGVja3MgJHtDTUFLRV9JTlNUQUxMX1BSRUZJWH0vc2hhcmUvbWFuIHdoZW4gY29uZmlndXJlLCBidXQgaXQgbWF5Ci1ub3QgZXhpc3Qgd2hlbiBjcm9zc2NvbXBpbGUsIGZvciBleGFtcGxlLCB3aGVuIENNQUtFX0lOU1RBTExfUFJFRklYPSIvIiwKLWl0IGlzIE9LLCBidXQgd2hlbiBDTUFLRV9JTlNUQUxMX1BSRUZJWD0iL3NvbWUvcGF0aC9lbHNlIiwgdGhlbiBpdAotZG9lc24ndCBleGlzdCwgYW5kIHRoZSBtYW4gZGlyIHdvdWxkIGJlIHNldCB0byAiL3Vzci9tYW4iIHdoaWNoIGlzCi1pbmNvcnJlY3QuCi0KLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotCi1TaWduZWQtb2ZmLWJ5OiBSb2JlcnQgWWFuZyA8bGllemhpLnlhbmdAd2luZHJpdmVyLmNvbT4KLS0tLQotIENNYWtlTGlzdHMudHh0IHwgNSArLS0tLQotIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgNCBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL0NNYWtlTGlzdHMudHh0IGIvQ01ha2VMaXN0cy50eHQKLWluZGV4IGZkMTQyNmIuLjc0N2RiMjIgMTAwNjQ0Ci0tLS0gYS9DTWFrZUxpc3RzLnR4dAotKysrIGIvQ01ha2VMaXN0cy50eHQKLUBAIC01NywxMCArNTcsNyBAQCBlbHNlIChERUZJTkVEIElOQ0xVREUpCi0gRU5ESUYgKERFRklORUQgIElOQ0xVREUpCi0gTUVTU0FHRSAoU1RBVFVTICJIZWFkZXIgZmlsZXMgd2lsbCBiZSBpbnN0YWxsZWQgaW4gJHtJTkNMVURFX0lOU1RBTExfRElSfSIpCi0gU0VUIChCSU5fSU5TVEFMTF9ESVIgIiR7Q01BS0VfSU5TVEFMTF9QUkVGSVh9L2JpbiIpCi0tU0VUIChNQU5fSU5TVEFMTF9ESVIgIiR7Q01BS0VfSU5TVEFMTF9QUkVGSVh9L21hbiIpCi0tSUYgKElTX0RJUkVDVE9SWSAiJHtDTUFLRV9JTlNUQUxMX1BSRUZJWH0vc2hhcmUvbWFuIiAgQU5EIE5PVCBJU19ESVJFQ1RPUlkgIiR7Q01BS0VfSU5TVEFMTF9QUkVGSVh9L21hbiIpCi0tICBTRVQgKE1BTl9JTlNUQUxMX0RJUiAiJHtDTUFLRV9JTlNUQUxMX1BSRUZJWH0vc2hhcmUvbWFuIikKLS1FTkRJRiAoSVNfRElSRUNUT1JZICIke0NNQUtFX0lOU1RBTExfUFJFRklYfS9zaGFyZS9tYW4iICBBTkQgTk9UIElTX0RJUkVDVE9SWSAiJHtDTUFLRV9JTlNUQUxMX1BSRUZJWH0vbWFuIikKLStTRVQgKE1BTl9JTlNUQUxMX0RJUiAiJHtDTUFLRV9JTlNUQUxMX1BSRUZJWH0vc2hhcmUvbWFuIikKLSBNRVNTQUdFKFNUQVRVUyAiTWFuIHBhZ2VzIHdpbGwgYmUgaW5zdGFsbGVkIGluICR7TUFOX0lOU1RBTExfRElSfSIpCi0gCi0gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKLS0tIAotMi43LjQKLQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9saWJzb2x2L2xpYnNvbHZfZ2l0LmJiIGIvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9saWJzb2x2L2xpYnNvbHZfMC42LjIzLmJiCnNpbWlsYXJpdHkgaW5kZXggNzYlCnJlbmFtZSBmcm9tIGltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbGlic29sdi9saWJzb2x2X2dpdC5iYgpyZW5hbWUgdG8gaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9saWJzb2x2L2xpYnNvbHZfMC42LjIzLmJiCmluZGV4IGZiODFjOGEuLmYzZjNkNmUgMTAwNjQ0Ci0tLSBhL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbGlic29sdi9saWJzb2x2X2dpdC5iYgorKysgYi9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2xpYnNvbHYvbGlic29sdl8wLjYuMjMuYmIKQEAgLTcsMTkgKzcsMTggQEAKIAogREVQRU5EUyA9ICJleHBhdCB6bGliIgogCi1QViA9ICIwLjYuMTkiCi0KIFNSQ19VUkkgPSAiZ2l0Oi8vZ2l0aHViLmNvbS9vcGVuU1VTRS9saWJzb2x2LmdpdCBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLUNNYWtlTGlzdHMudHh0LWZpeC1NQU5fSU5TVEFMTF9ESVIucGF0Y2ggXAotIgotU1JDUkVWID0gIjRjNWFmNDAxYTg5ODU4ZDRjZWJiZmU0MGM1OWEwMDMxZmY5ZGI1YjAiCisgICAgICAgICAgIgorU1JDX1VSSV9hcHBlbmRfbGliYy1tdXNsID0gIiBmaWxlOi8vMDAwMS1BZGQtZmFsbGJhY2stZm9wZW5jb29raWUtaW1wbGVtZW50YXRpb24ucGF0Y2giCisKK1NSQ1JFViA9ICJmNjU0YzhjZmE1MjQyN2VkNDJkNzE0MmU1ODQ1MmRhZTA4YzBjMmQwIgogVVBTVFJFQU1fQ0hFQ0tfR0lUVEFHUkVHRVggPSAiKD9QPHB2ZXI+XGQrKFwuXGQrKSspIgogCiBTID0gIiR7V09SS0RJUn0vZ2l0IgogCiBpbmhlcml0IGNtYWtlCiAKLUVYVFJBX09FQ01BS0UgPSAiLURMSUI9JHtiYXNlbGlifSIKK0VYVFJBX09FQ01BS0UgPSAiLURMSUI9JHtiYXNlbGlifSAtRE1VTFRJX1NFTUFOVElDUz1PTiIKIAogUEFDS0FHRVMgPSsgIiR7UE59LXRvb2xzICR7UE59ZXh0IgogCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2xpYnVzZXIvbGlidXNlci8wMDAxLW1vZHVsZXMtZmlsZXMuYy1wYXJzZV9maWVsZC1maXgtc3RyaW5nLWZvcm1hdGluZy1pbi0ucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2xpYnVzZXIvbGlidXNlci8wMDAxLW1vZHVsZXMtZmlsZXMuYy1wYXJzZV9maWVsZC1maXgtc3RyaW5nLWZvcm1hdGluZy1pbi0ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2M0N2RmMgotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbGlidXNlci9saWJ1c2VyLzAwMDEtbW9kdWxlcy1maWxlcy5jLXBhcnNlX2ZpZWxkLWZpeC1zdHJpbmctZm9ybWF0aW5nLWluLS5wYXRjaApAQCAtMCwwICsxLDM0IEBACitGcm9tIGE0ODU3OTExZWNlNWViZmNkZWY0MmFlZTRjMDcwZWIyMTZmMzk1OTcgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiA9P1VURi04P3E/QW49QzM9QURiYWw9MjBMaW09QzM9QjNuPz0gPGFuaWJhbC5saW1vbkBsaW51eC5pbnRlbC5jb20+CitEYXRlOiBGcmksIDEzIE1heSAyMDE2IDExOjQwOjEzIC0wNTAwCitTdWJqZWN0OiBbUEFUQ0hdIG1vZHVsZXMvZmlsZXMuYzogcGFyc2VfZmllbGQgZml4IHN0cmluZyBmb3JtYXRpbmcgaW4KKyBnX3dhcm5pbmdzCitNSU1FLVZlcnNpb246IDEuMAorQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04CitDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0CisKK1tZT0NUTyAjOTU0N10KKworU2lnbmVkLW9mZi1ieTogQW7DrWJhbCBMaW3Ds24gPGFuaWJhbC5saW1vbkBsaW51eC5pbnRlbC5jb20+CisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworLS0tCisgbW9kdWxlcy9maWxlcy5jIHwgMiArLQorIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvbW9kdWxlcy9maWxlcy5jIGIvbW9kdWxlcy9maWxlcy5jCitpbmRleCA0ZWYwYTU3Li4zNWVhZmM5IDEwMDY0NAorLS0tIGEvbW9kdWxlcy9maWxlcy5jCisrKysgYi9tb2R1bGVzL2ZpbGVzLmMKK0BAIC01MzQsNyArNTM0LDcgQEAgcGFyc2VfZmllbGQoY29uc3Qgc3RydWN0IGZvcm1hdF9zcGVjaWZpZXIgKmZvcm1hdCwgR1ZhbHVlICp2YWx1ZSwKKyAJCQkJCQkgc3RyaW5nLCAmZXJyKTsKKyAJaWYgKHJldCA9PSBGQUxTRSkgeworIAkJZ19hc3NlcnQoZXJyICE9IE5VTEwpOworLQkJZ193YXJuaW5nKGx1X3N0cmVycm9yKGVycikpOworKwkJZ193YXJuaW5nKGx1X3N0cmVycm9yKGVyciksIE5VTEwpOworIAkJbHVfZXJyb3JfZnJlZSgmZXJyKTsKKyAJfQorIAlyZXR1cm4gcmV0OworLS0gCisyLjEuNAorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2xpYnVzZXIvbGlidXNlcl8wLjYyLmJiIGIvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9saWJ1c2VyL2xpYnVzZXJfMC42Mi5iYgppbmRleCAxMzY5YWU4Li4zZDBiNTE2IDEwMDY0NAotLS0gYS9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2xpYnVzZXIvbGlidXNlcl8wLjYyLmJiCisrKyBiL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbGlidXNlci9saWJ1c2VyXzAuNjIuYmIKQEAgLTE0LDE2ICsxNCwxNyBAQAogU1JDX1VSSSA9ICJodHRwczovL2ZlZG9yYWhvc3RlZC5vcmcvcmVsZWFzZXMvbC9pL2xpYnVzZXIvbGlidXNlci0ke1BWfS50YXIueHogXAogICAgICAgICAgICBmaWxlOi8vMDAwMS1DaGVjay1mb3ItaXNzZXR1Z2lkLnBhdGNoIFwKICAgICAgICAgICAgZmlsZTovLzAwMDItcmVtb3ZlLXVudXNlZC1leGVjaW5mby5oLnBhdGNoIFwKLSAgICAgICAgICAiCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLW1vZHVsZXMtZmlsZXMuYy1wYXJzZV9maWVsZC1maXgtc3RyaW5nLWZvcm1hdGluZy1pbi0ucGF0Y2ggXAorICAgICAgICAgICAiCiAKIFNSQ19VUklbbWQ1c3VtXSA9ICI2M2U1ZTVjNTUxZTk5ZGM1MzAyYjQwYjgwYmQ2ZDRmMiIKIFNSQ19VUklbc2hhMjU2c3VtXSA9ICJhNThmZjRmYWJiMDFhMjUwNDNiMTQyMTg1YTMzZWVlYTk2MTEwOWRkNjBkNGI0MGI2YTlkZjRmYTNjYWNlMjBiIgogCi1ERVBFTkRTID0gInBvcHQgbGlicGFtIGdsaWItMi4wIGRvY2Jvb2stdXRpbHMtbmF0aXZlIGxpbnV4ZG9jLXRvb2xzLW5hdGl2ZSBweXRob24iCitERVBFTkRTID0gInBvcHQgbGlicGFtIGdsaWItMi4wIGRvY2Jvb2stdXRpbHMtbmF0aXZlIGxpbnV4ZG9jLXRvb2xzLW5hdGl2ZSBweXRob24zIgogCi1pbmhlcml0IGF1dG90b29scyBnZXR0ZXh0IHB5dGhvbm5hdGl2ZSBweXRob24tZGlyIHBrZ2NvbmZpZworaW5oZXJpdCBhdXRvdG9vbHMgZ2V0dGV4dCBweXRob24zbmF0aXZlIHB5dGhvbjMtZGlyIHBrZ2NvbmZpZyBndGstZG9jCiAKLUVYVFJBX09FTUFLRSA9ICJQWVRIT05fQ1BQRkxBR1M9LUkke1NUQUdJTkdfSU5DRElSfS8ke1BZVEhPTl9ESVJ9IgorRVhUUkFfT0VNQUtFID0gIlBZVEhPTl9DUFBGTEFHUz0tSSR7U1RBR0lOR19JTkNESVJ9LyR7UFlUSE9OX0RJUn0ke1BZVEhPTl9BQkl9IgogCiBQQUNLQUdFUyArPSAiJHtQTn0tcHl0aG9uICIKIApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9saWdodHRwZC9saWdodHRwZC8wMDAxLVVzZS1wa2ctY29uZmlnLWZvci1wY3JlLWRlcGVuZGVuY3ktaW5zdGVhZC1vZi1jb25maWcucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2xpZ2h0dHBkL2xpZ2h0dHBkLzAwMDEtVXNlLXBrZy1jb25maWctZm9yLXBjcmUtZGVwZW5kZW5jeS1pbnN0ZWFkLW9mLWNvbmZpZy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iOGM3ZjM3Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9saWdodHRwZC9saWdodHRwZC8wMDAxLVVzZS1wa2ctY29uZmlnLWZvci1wY3JlLWRlcGVuZGVuY3ktaW5zdGVhZC1vZi1jb25maWcucGF0Y2gKQEAgLTAsMCArMSwzNyBAQAorRnJvbSBlN2E4YzkyNWI5MzE2YTcyYmRjOGYzMjc4OWZmZTU2ZmRhNWM0Nzg4IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogQWxleGFuZGVyIEthbmF2aW4gPGFsZXgua2FuYXZpbkBnbWFpbC5jb20+CitEYXRlOiBGcmksIDI2IEF1ZyAyMDE2IDE4OjIwOjMyICswMzAwCitTdWJqZWN0OiBbUEFUQ0hdIFVzZSBwa2ctY29uZmlnIGZvciBwY3JlIGRlcGVuZGVuY3kgaW5zdGVhZCBvZiAtY29uZmlnIHNjcmlwdC4KKworUlAgMjAxNC81LzIyCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKK1NpZ25lZC1vZmYtYnk6IEFsZXhhbmRlciBLYW5hdmluIDxhbGV4LmthbmF2aW5AZ21haWwuY29tPgorLS0tCisgY29uZmlndXJlLmFjIHwgMTEgKysrKysrLS0tLS0KKyAxIGZpbGUgY2hhbmdlZCwgNiBpbnNlcnRpb25zKCspLCA1IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvY29uZmlndXJlLmFjIGIvY29uZmlndXJlLmFjCitpbmRleCAxZDE3MmExLi5hOTIzNmRhIDEwMDY0NAorLS0tIGEvY29uZmlndXJlLmFjCisrKysgYi9jb25maWd1cmUuYWMKK0BAIC0zODAsMTEgKzM4MCwxMiBAQCBpZiB0ZXN0ICIkV0lUSF9QQ1JFIiAhPSAibm8iOyB0aGVuCisgCQkJUENSRV9MSUI9Ii1MJFdJVEhfUENSRS9saWIgLWxwY3JlIgorIAkJCUNQUEZMQUdTPSIkQ1BQRkxBR1MgLUkkV0lUSF9QQ1JFL2luY2x1ZGUiCisgCQllbHNlCistCQkJQUNfUEFUSF9QUk9HKFBDUkVDT05GSUcsIHBjcmUtY29uZmlnKQorLQkJCWlmIHRlc3QgeCIkUENSRUNPTkZJRyIgIT0geDsgdGhlbgorLQkJCQlQQ1JFX0xJQj1gJFBDUkVDT05GSUcgLS1saWJzYAorLQkJCQlDUFBGTEFHUz0iJENQUEZMQUdTIGAkUENSRUNPTkZJRyAtLWNmbGFnc2AiCistCQkJZmkKKysJCQlQS0dfQ0hFQ0tfTU9EVUxFUyhQQ1JFUEtHLCBbbGlicGNyZV0sIFsKKysJCQkJUENSRV9MSUI9JHtQQ1JFUEtHX0xJQlN9CisrCQkJCUNQUEZMQUdTPSIkQ1BQRkxBR1MgJHtQQ1JFUEtHX0NGTEFHU30iCisrCQkJXSwgWworKwkJCQlBQ19NU0dfRVJST1IoW3BjcmUgcGtnY29uZmlnIG5vdCBmb3VuZCwgaW5zdGFsbCB0aGUgcGNyZS1kZXZlbCBwYWNrYWdlIG9yIGJ1aWxkIHdpdGggLS13aXRob3V0LXBjcmVdKQorKwkJCV0pCisgCQlmaQorIAorICAgaWYgdGVzdCB4IiRQQ1JFX0xJQiIgIT0geDsgdGhlbgorLS0gCisyLjkuMworCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2xpZ2h0dHBkL2xpZ2h0dHBkL3BrZ2NvbmZpZy5wYXRjaCBiL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbGlnaHR0cGQvbGlnaHR0cGQvcGtnY29uZmlnLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlMzk1ZjkyLi4wMDAwMDAwCi0tLSBhL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbGlnaHR0cGQvbGlnaHR0cGQvcGtnY29uZmlnLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMzMgKzAsMCBAQAotVXNlIHBrZy1jb25maWcgZm9yIHBjcmUgZGVwZW5kZW5jeSBpbnN0ZWFkIG9mIC1jb25maWcgc2NyaXB0LgotCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLQotUlAgMjAxNC81LzIyCi0KLQotSW5kZXg6IGxpZ2h0dHBkLTEuNC4zNS9jb25maWd1cmUuYWMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBsaWdodHRwZC0xLjQuMzUub3JpZy9jb25maWd1cmUuYWMJMjAxNC0wMy0wNiAxNDowODowMC4wMDAwMDAwMDAgKzAwMDAKLSsrKyBsaWdodHRwZC0xLjQuMzUvY29uZmlndXJlLmFjCTIwMTQtMDUtMTMgMTY6NTg6MzAuNzU4NDcxMTY5ICswMDAwCi1AQCAtMzA5LDE2ICszMDksMTQgQEAKLSBBQ19NU0dfUkVTVUxUKFskV0lUSF9QQ1JFXSkKLSAKLSBpZiB0ZXN0ICIkV0lUSF9QQ1JFIiAhPSAibm8iOyB0aGVuCi0tICBBQ19QQVRIX1BST0coUENSRUNPTkZJRywgcGNyZS1jb25maWcpCi0tCi0tICBpZiB0ZXN0IHgiJFBDUkVDT05GSUciICE9IHg7IHRoZW4KLS0gICAgUENSRV9MSUI9YCRQQ1JFQ09ORklHIC0tbGlic2AKLS0gICAgQ1BQRkxBR1M9IiRDUFBGTEFHUyBgJFBDUkVDT05GSUcgLS1jZmxhZ3NgIgotKyAgUEtHX0NIRUNLX01PRFVMRVMoUENSRVBLRywgW2xpYnBjcmVdLCBbCi0rICAgIFBDUkVfTElCPSR7UENSRVBLR19MSUJTfQotKyAgICBDUFBGTEFHUz0iJENQUEZMQUdTICR7UENSRVBLR19DRkxBR1N9IgotICAgICBBQ19ERUZJTkUoW0hBVkVfTElCUENSRV0sIFsxXSwgW2xpYnBjcmVdKQotICAgICBBQ19ERUZJTkUoW0hBVkVfUENSRV9IXSwgWzFdLCBbcGNyZS5oXSkKLS0gIGVsc2UKLSsgIF0sIFsKLSAgICAgIEFDX01TR19FUlJPUihbcGNyZS1jb25maWcgbm90IGZvdW5kLCBpbnN0YWxsIHRoZSBwY3JlLWRldmVsIHBhY2thZ2Ugb3IgYnVpbGQgd2l0aCAtLXdpdGhvdXQtcGNyZV0pCi0tICBmaQotKyAgXSkKLSBmaQotIAotIEFDX1NVQlNUKFBDUkVfTElCKQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9saWdodHRwZC9saWdodHRwZF8xLjQuMzkuYmIgYi9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2xpZ2h0dHBkL2xpZ2h0dHBkXzEuNC40MS5iYgpzaW1pbGFyaXR5IGluZGV4IDg0JQpyZW5hbWUgZnJvbSBpbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2xpZ2h0dHBkL2xpZ2h0dHBkXzEuNC4zOS5iYgpyZW5hbWUgdG8gaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9saWdodHRwZC9saWdodHRwZF8xLjQuNDEuYmIKaW5kZXggMzc4YWNjYi4uMWEzZjMyMyAxMDA2NDQKLS0tIGEvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9saWdodHRwZC9saWdodHRwZF8xLjQuMzkuYmIKKysrIGIvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9saWdodHRwZC9saWdodHRwZF8xLjQuNDEuYmIKQEAgLTIwLDIwICsyMCwyMyBAQAogICAgICAgICBmaWxlOi8vbGlnaHR0cGQuY29uZiBcCiAgICAgICAgIGZpbGU6Ly9saWdodHRwZCBcCiAgICAgICAgIGZpbGU6Ly9saWdodHRwZC5zZXJ2aWNlIFwKLSAgICAgICAgZmlsZTovL3BrZ2NvbmZpZy5wYXRjaCBcCisgICAgICAgIGZpbGU6Ly8wMDAxLVVzZS1wa2ctY29uZmlnLWZvci1wY3JlLWRlcGVuZGVuY3ktaW5zdGVhZC1vZi1jb25maWcucGF0Y2ggXAogICAgICAgICAiCiAKLVNSQ19VUklbbWQ1c3VtXSA9ICI2M2M3NTYzYmUxYzdhN2E5ODE5YTUxZjA3ZjFhZjhiMiIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICI3ZWI5YTE4NTNjM2Q2ZGQ1ODUxNjgyYjA3MzNhNzI5YmE0MTU4ZDZiZGZmODA5NzRkNWVmNWYxZjY4ODczNjViIgorU1JDX1VSSVttZDVzdW1dID0gIjFkZjJlNGRiYzk2NWNmZTZmOTlmMDA4YWMzZGI0ZDhkIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjRiY2MzODNlZjZkNmRjN2IyODRmNjg4ODJkNzFhMTc4ZTI5ODZjODNjNGU4NWVlYjNjOGYzYjg4MmUzNDZiNmMiCiAKLVBBQ0tBR0VDT05GSUcgPz89ICJvcGVuc3NsIgorUEFDS0FHRUNPTkZJRyA/Pz0gIm9wZW5zc2wgXAorICAgICR7QGJiLnV0aWxzLmNvbnRhaW5zKCdESVNUUk9fRkVBVFVSRVMnLCAnaXB2NicsICdpcHY2JywgJycsIGQpfSBcCisiCiBQQUNLQUdFQ09ORklHW29wZW5zc2xdID0gIi0td2l0aC1vcGVuc3NsLCAtLXdpdGhvdXQtb3BlbnNzbCwgb3BlbnNzbCIKK1BBQ0tBR0VDT05GSUdbaXB2Nl0gPSAiLS1lbmFibGUtaXB2NiwtLWRpc2FibGUtaXB2NiwiCiAKIEVYVFJBX09FQ09ORiA9ICIgXAogICAgICAgICAgICAgIC0td2l0aG91dC1iemlwMiBcCiAgICAgICAgICAgICAgLS13aXRob3V0LWxkYXAgXAogICAgICAgICAgICAgIC0td2l0aG91dC1sdWEgXAotICAgICAgICAgICAgIC0td2l0aG91dC1tZW1jYWNoZSBcCisgICAgICAgICAgICAgLS13aXRob3V0LW1lbWNhY2hlZCBcCiAgICAgICAgICAgICAgLS13aXRoLXBjcmUgXAogICAgICAgICAgICAgIC0td2l0aG91dC13ZWJkYXYtcHJvcHMgXAogICAgICAgICAgICAgIC0td2l0aG91dC13ZWJkYXYtbG9ja3MgXApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9sc2IvbHNiaW5pdHNjcmlwdHMvMDAwMS1mdW5jdGlvbnMtYXZvaWQtZXhpdC0xLXdoaWNoLWNhdXNlcy1pbml0LXNjcmlwdHMtdG8tLnBhdGNoIGIvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9sc2IvbHNiaW5pdHNjcmlwdHMvMDAwMS1mdW5jdGlvbnMtYXZvaWQtZXhpdC0xLXdoaWNoLWNhdXNlcy1pbml0LXNjcmlwdHMtdG8tLnBhdGNoCmluZGV4IDA4MDljOWIuLjE3YzkwMDIgMTAwNjQ0Ci0tLSBhL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbHNiL2xzYmluaXRzY3JpcHRzLzAwMDEtZnVuY3Rpb25zLWF2b2lkLWV4aXQtMS13aGljaC1jYXVzZXMtaW5pdC1zY3JpcHRzLXRvLS5wYXRjaAorKysgYi9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2xzYi9sc2Jpbml0c2NyaXB0cy8wMDAxLWZ1bmN0aW9ucy1hdm9pZC1leGl0LTEtd2hpY2gtY2F1c2VzLWluaXQtc2NyaXB0cy10by0ucGF0Y2gKQEAgLTExLDEzICsxMSwxNCBAQAogaW5kZXggNjg1MDA0Ni4uMTEyMjNmNyAxMDA2NDQKIC0tLSBhL3JjLmQvaW5pdC5kL2Z1bmN0aW9ucwogKysrIGIvcmMuZC9pbml0LmQvZnVuY3Rpb25zCi1AQCAtNTk3LDUgKzU5Nyw1IEBAIGlmIFsgIiRfdXNlX3N5c3RlbWN0bCIgPSAiMSIgXTsgdGhlbgorQEAgLTU5Nyw2ICs1OTcsNiBAQCBpZiBbICIkX3VzZV9zeXN0ZW1jdGwiID0gIjEiIF07IHRoZW4KICAJZmkKICBmaQogIAogLXN0cnN0ciAiJChjYXQgL3Byb2MvY21kbGluZSkiICJyYy5kZWJ1ZyIgJiYgc2V0IC14CiArc3Ryc3RyICIkKGNhdCAvcHJvYy9jbWRsaW5lKSIgInJjLmRlYnVnIiAmJiBzZXQgLXggfHwgdHJ1ZQotIAorIHJldHVybiAwCisKIC0tIAogMi4xLjAKIApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9sc2IvbHNiaW5pdHNjcmlwdHNfOS42NC5iYiBiL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbHNiL2xzYmluaXRzY3JpcHRzXzkuNjguYmIKc2ltaWxhcml0eSBpbmRleCA4MiUKcmVuYW1lIGZyb20gaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9sc2IvbHNiaW5pdHNjcmlwdHNfOS42NC5iYgpyZW5hbWUgdG8gaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9sc2IvbHNiaW5pdHNjcmlwdHNfOS42OC5iYgppbmRleCA3MjczMDUwLi4wYzA4ZmZmIDEwMDY0NAotLS0gYS9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2xzYi9sc2Jpbml0c2NyaXB0c185LjY0LmJiCisrKyBiL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbHNiL2xzYmluaXRzY3JpcHRzXzkuNjguYmIKQEAgLTgsMTMgKzgsMTMgQEAKIExJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWViZjRlOGI0OTc4MGFiMTg3ZDUxYmQyNmFhYTAyMmM2IgogCiBTPSIke1dPUktESVJ9L2luaXRzY3JpcHRzLSR7UFZ9IgotU1JDX1VSSSA9ICJodHRwOi8vcGtncy5mZWRvcmFwcm9qZWN0Lm9yZy9yZXBvL3BrZ3MvaW5pdHNjcmlwdHMvaW5pdHNjcmlwdHMtJHtQVn0udGFyLmJ6Mi85Y2NlMmFlMTAwOTc1MGU4NGJlMzdjMDlhMDI4NzU3ZS9pbml0c2NyaXB0cy0ke1BWfS50YXIuYnoyIFwKK1NSQ19VUkkgPSAiaHR0cDovL3BrZ3MuZmVkb3JhcHJvamVjdC5vcmcvcmVwby9wa2dzL2luaXRzY3JpcHRzL2luaXRzY3JpcHRzLSR7UFZ9LnRhci5iejIvNmE1MWE1YWYzOGUwMTQ0NWY1Mzk4OWVkMDcyN2MzZTEvaW5pdHNjcmlwdHMtJHtQVn0udGFyLmJ6MiBcCiAgICAgICAgICAgIGZpbGU6Ly9mdW5jdGlvbnMucGF0Y2ggXAogICAgICAgICAgICBmaWxlOi8vMDAwMS1mdW5jdGlvbnMtYXZvaWQtZXhpdC0xLXdoaWNoLWNhdXNlcy1pbml0LXNjcmlwdHMtdG8tLnBhdGNoIFwKICAgICAgICAgICAiIAogCi1TUkNfVVJJW21kNXN1bV0gPSAiOWNjZTJhZTEwMDk3NTBlODRiZTM3YzA5YTAyODc1N2UiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiNDhiNTljZTgxNTdjZmM1OGJiZDRiMWRmYTU4YWQxMDg3MjQ1NzYxYWUxMWMyMDMzYjY2YWUzODY0ZWE3ZTFjZiIKK1NSQ19VUklbbWQ1c3VtXSA9ICI2YTUxYTVhZjM4ZTAxNDQ1ZjUzOTg5ZWQwNzI3YzNlMSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICIyYTFjNmU5ZGJhYTM3YTY3NjUxOGY0ODAzYjUwMWUxMDdjMDU4YmIxNGVmN2E4ZGIyNGM1MmI3N2ZiY2JhNTMxIgogCiBpbmhlcml0IHVwZGF0ZS1hbHRlcm5hdGl2ZXMKIApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9sc2IvbHNidGVzdC9MU0JfVGVzdC5zaCBiL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbHNiL2xzYnRlc3QvTFNCX1Rlc3Quc2gKaW5kZXggYjk5NzFhMS4uYzMxYTNlYiAxMDA2NDQKLS0tIGEvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9sc2IvbHNidGVzdC9MU0JfVGVzdC5zaAorKysgYi9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2xzYi9sc2J0ZXN0L0xTQl9UZXN0LnNoCkBAIC0xMTMsNyArMTEzLDcgQEAKICNmaQogCiBTRVJWRVIxPSJcCi0JaHR0cDovLyR7U0VSVkVSX05BTUV9L3B1Yi9sc2IvYmFzZS8ke0xTQl9SRUxFQVNFfS9iaW5hcnkiCisJaHR0cDovLyR7U0VSVkVSX05BTUV9L3B1Yi9sc2IvYmFzZS9yZWxlYXNlZC1hbGwvYmluYXJ5IgkKIFNFUlZFUjI9IlwKIAlodHRwOi8vJHtTRVJWRVJfTkFNRX0vcHViL2xzYi90ZXN0X3N1aXRlcy9yZWxlYXNlZC1hbGwvYmluYXJ5L3J1bnRpbWUiCiBTRVJWRVIzPSJcCkBAIC00MjksNyArNDI5LDYgQEAKIC9vcHQvbHNiL3Rlc3QvZGVza3RvcC9mcmVldHlwZQogL29wdC9sc2IvdGVzdC9kZXNrdG9wL2d0a3Z0cwogL29wdC9sc2IvdGVzdC9kZXNrdG9wL2xpYnBuZwotL29wdC9sc2IvdGVzdC9kZXNrdG9wL3F0MwogL29wdC9sc2IvdGVzdC9kZXNrdG9wL3hmdAogL29wdC9sc2IvdGVzdC9kZXNrdG9wL3htbAogL29wdC9sc2IvdGVzdC9kZXNrdG9wL3hyZW5kZXIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbHNiL2xzYnRlc3QvcGFja2FnZXNfbGlzdCBiL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbHNiL2xzYnRlc3QvcGFja2FnZXNfbGlzdAppbmRleCAyN2Q4MzUyLi45NTlmOTMxIDEwMDY0NAotLS0gYS9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2xzYi9sc2J0ZXN0L3BhY2thZ2VzX2xpc3QKKysrIGIvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9sc2IvbHNidGVzdC9wYWNrYWdlc19saXN0CkBAIC0xLDQgKzEsNCBAQAotTFNCX1JFTEVBU0U9InJlbGVhc2VkLTQuMS4wIgorTFNCX1JFTEVBU0U9InJlbGVhc2VkLTUuMCIKIExTQl9BUkNIPSJsc2JhcmNoIgogCiBCQVNFX1BBQ0tBR0VTX0xJU1Q9ImxzYi1zZXR1cC00LjEuMC0xLm5vYXJjaC5ycG0iCkBAIC05LDM2ICs5LDM1IEBACiAJbHNiLXh2ZmItMS4yLjAtMjIudGFyZ2V0YXJjaC5ycG0gXAogCSIKIAotUlVOVElNRV9QQUNLQUdFU19MSVNUPSJsc2ItY21kY2hrLTQuMS40LTUudGFyZ2V0YXJjaC5ycG0gXAotCWxzYi1saWJjaGstNC4xLjQtNS50YXJnZXRhcmNoLnJwbSBcCi0JbHNiLXFtLTIuMi0xMi5sc2I0LnRhcmdldGFyY2gucnBtIFwKLQlsc2ItdGFzay1kaXN0LXRlc3RraXQtNC4xLjktMS5ub2FyY2gucnBtIFwKLQlsc2ItdGVzdC1jb3JlLTQuMS4xNS0xLnRhcmdldGFyY2gucnBtIFwKLQlsc2ItdGVzdC1jcHAtdDJjLTQuMS4wLTEudGFyZ2V0YXJjaC5ycG0gXAotCWxzYi10ZXN0LWRlc2t0b3AtNC4xLjktMS50YXJnZXRhcmNoLnJwbSBcCi0JbHNiLXRlc3QtZGVza3RvcC10MmMtNC4xLjMtMy50YXJnZXRhcmNoLnJwbSBcCi0JbHNiLXRlc3QtbGlic3RkY3BwLTQuMS4wLTE4LmxzYjQudGFyZ2V0YXJjaC5ycG0gXAotCWxzYi10ZXN0LW9sdmVyLWNvcmUtNC4xLjQtMS50YXJnZXRhcmNoLnJwbSBcCi0JbHNiLXRlc3QtcGVybC00LjEuOC0xLm5vYXJjaC5ycG0gXAotCWxzYi10ZXN0LXByaW50aW5nLTQuMS4yLTEudGFyZ2V0YXJjaC5ycG0gXAotCWxzYi10ZXN0LXB5dGhvbi00LjEuNS0xLnRhcmdldGFyY2gucnBtIFwKLQlsc2ItdGVzdC1xdDMtYXpvdi00LjEuMS0zLnRhcmdldGFyY2gucnBtIFwKLQlsc2ItdGVzdC1xdDQtYXpvdi00LjEuMy0xLnRhcmdldGFyY2gucnBtIFwKLQlsc2ItdGVzdC14dHM1LTUuMS41LTQ1LmxzYjQudGFyZ2V0YXJjaC5ycG0gXAotCWxzYi10ZXN0LWFsc2EtdDJjLTQuMS4wLTEudGFyZ2V0YXJjaC5ycG0gXAotCWxzYi10ZXN0LWNvcmUtdDJjLTQuMS4yLTMudGFyZ2V0YXJjaC5ycG0gXAotCWxzYi10ZXN0LXhtbDItYXpvdi00LjEuMC0xLnRhcmdldGFyY2gucnBtIFwKK1JVTlRJTUVfUEFDS0FHRVNfTElTVD0ibHNiLWNtZGNoay01LjAuMy0xLnRhcmdldGFyY2gucnBtIFwKKwlsc2ItbGliY2hrLTUuMC4zLTEudGFyZ2V0YXJjaC5ycG0gXAorCWxzYi1xbS0yLjItMS5sc2I1LnRhcmdldGFyY2gucnBtIFwKKwlsc2ItdGFzay1kaXN0LXRlc3RraXQtNS4wLjAtMi5ub2FyY2gucnBtIFwKKwlsc2ItdGVzdC1jb3JlLTUuMC4xLTEudGFyZ2V0YXJjaC5ycG0gXAorCWxzYi10ZXN0LWNwcC10MmMtNS4wLjAtMS50YXJnZXRhcmNoLnJwbSBcCisJbHNiLXRlc3QtZGVza3RvcC01LjAuMC0xLnRhcmdldGFyY2gucnBtIFwKKwlsc2ItdGVzdC1kZXNrdG9wLXQyYy01LjAuMC0xLnRhcmdldGFyY2gucnBtIFwKKwlsc2ItdGVzdC1saWJzdGRjcHAtNC4xLjAtMjIubHNiMS50YXJnZXRhcmNoLnJwbSBcCisJbHNiLXRlc3Qtb2x2ZXItY29yZS01LjAuMC0xLnRhcmdldGFyY2gucnBtIFwKKwlsc2ItdGVzdC1wZXJsLTUuMC4yLTEubm9hcmNoLnJwbSBcCisJbHNiLXRlc3QtcHJpbnRpbmctNS4wLjEtMS50YXJnZXRhcmNoLnJwbSBcCisJbHNiLXRlc3QtcHl0aG9uLTUuMC4wLTEudGFyZ2V0YXJjaC5ycG0gXAorCWxzYi10ZXN0LXF0NC1hem92LTUuMC4wLTEudGFyZ2V0YXJjaC5ycG0gXAorCWxzYi10ZXN0LXh0czUtNS4xLjUtNDcubHNiNS50YXJnZXRhcmNoLnJwbSBcCisJbHNiLXRlc3QtYWxzYS10MmMtNS4xLjkxLTQudGFyZ2V0YXJjaC5ycG0gXAorCWxzYi10ZXN0LWNvcmUtdDJjLTUuMC4xLTEudGFyZ2V0YXJjaC5ycG0gXAorCWxzYi10ZXN0LXhtbDItYXpvdi01LjAuMC0xLnRhcmdldGFyY2gucnBtIFwKIAkiCiAKLUFQUF9QQUNLQUdFU19MSVNUPSJsc2ItcHl0aG9uLTIuNC42LTcubHNiNC50YXJnZXRhcmNoLnJwbSBcCi0JbHNiLWFwYWNoZS0yLjIuMTQtOC5sc2I0LnRhcmdldGFyY2gucnBtIFwKLQlsc2ItdGNsLTguNS43LTgubHNiNC50YXJnZXRhcmNoLnJwbSBcCi0JbHNiLWV4cGVjdC01LjQzLjAtMTMubHNiNC50YXJnZXRhcmNoLnJwbSBcCi0JbHNiLWdyb2ZmLTEuMjAuMS03LmxzYjQudGFyZ2V0YXJjaC5ycG0gXAotCWxzYi1yYXB0b3ItMS40LjE5LTUubHNiNC50YXJnZXRhcmNoLnJwbSBcCi0JbHNiLXhwZGYtMS4wMS0xNC5sc2I0LnRhcmdldGFyY2gucnBtIFwKLQlsc2Itc2FtYmEtMy40LjMtOS5sc2I0LnRhcmdldGFyY2gucnBtIFwKLQlsc2ItcnN5bmMtMy4wLjYtNi5sc2I0LnRhcmdldGFyY2gucnBtIFwKK0FQUF9QQUNLQUdFU19MSVNUPSJsc2ItcHl0aG9uLTIuNC42LTEwLmxzYjUudGFyZ2V0YXJjaC5ycG0gXAorCWxzYi1hcGFjaGUtMi4yLjE5LTUubHNiNS50YXJnZXRhcmNoLnJwbSBcCisJbHNiLXRjbC04LjUuOS0yMS5sc2I1LnRhcmdldGFyY2gucnBtIFwKKwlsc2ItZXhwZWN0LTUuNDMuMC0yMS5sc2I1LnRhcmdldGFyY2gucnBtIFwKKwlsc2ItZ3JvZmYtMS4yMC4xLTkubHNiNS50YXJnZXRhcmNoLnJwbSBcCisJbHNiLXJhcHRvci0xLjQuMjEtNC5sc2I1LnRhcmdldGFyY2gucnBtIFwKKwlsc2IteHBkZi0xLjAxLTE3LmxzYjUudGFyZ2V0YXJjaC5ycG0gXAorCWxzYi1zYW1iYS0zLjUuOS01LmxzYjUudGFyZ2V0YXJjaC5ycG0gXAorCWxzYi1yc3luYy0zLjAuOC0zLmxzYjUudGFyZ2V0YXJjaC5ycG0gXAogCSIKIAogQVBQX1RFU1RGSUxFU19MSVNUPSJleHBlY3QtdGVzdHMudGFyIFwKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbHNiL2xzYnRlc3Qvc2Vzc2lvbiBiL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbHNiL2xzYnRlc3Qvc2Vzc2lvbgppbmRleCA4NWNhMmVmLi4zYWJjY2E3IDEwMDY0NAotLS0gYS9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2xzYi9sc2J0ZXN0L3Nlc3Npb24KKysrIGIvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9sc2IvbHNidGVzdC9zZXNzaW9uCkBAIC0xMjYsMTUgKzEyNiw2IEBACiBBVVRPUkVQTFlfVEVTVFNVSVRFX0RJUjogL29wdC9sc2IvdGVzdC9weXRob24KIEFVVE9SRVBMWV9SRVNVTFRTX0RJUjogL29wdC9sc2IvdGVzdC9weXRob24vcmVzdWx0cwogCi1bcXQzLWF6b3ZdCi1SVU46IDEKLVZFUlNJT046IGxvY2FsfCoKLQotW3F0My1hem92fGxvY2FsfCpdCi1BVVRPUkVQTFlfVEVTVFNVSVRFX0RJUjogL29wdC9sc2IvdGVzdC9xdDMtYXpvdgotQVVUT1JFUExZX1gxMV9GT05UX1BBVEg6IFtkZWZhdWx0XQotQVVUT1JFUExZX1JFU1VMVFNfRElSOiAvb3B0L2xzYi90ZXN0L3F0My1hem92L3Jlc3VsdHMKLQogW3F0NC1hem92XQogUlVOOiAxCiBWRVJTSU9OOiBsb2NhbHwqCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2xzb2YvbHNvZl80Ljg5LmJiIGIvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9sc29mL2xzb2ZfNC44OS5iYgppbmRleCBjMTAzMzdiLi5iNzMyY2YwIDEwMDY0NAotLS0gYS9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2xzb2YvbHNvZl80Ljg5LmJiCisrKyBiL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbHNvZi9sc29mXzQuODkuYmIKQEAgLTQ3LDggKzQ3LDYgQEAKIGV4cG9ydCBJID0gIiR7U1RBR0lOR19JTkNESVJ9IgogZXhwb3J0IEwgPSAiJHtTVEFHSU5HX0lOQ0RJUn0iCiAKLUVYVFJBX09FTUFLRSA9ICIiCi0KIGRvX2NvbXBpbGUgKCkgewogCW9lX3J1bm1ha2UgJ0NDPSR7Q0N9JyAnQ0ZHTD0ke0xERkxBR1N9IC1MLi9saWIgLWxsc29mJyAnREVCVUc9JyAnSU5DTD0ke0NGTEFHU30nCiB9CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2x0cC9sdHAvMDAwMS10ZXN0Y2FzZXMtbmV0d29yay1uZnN2NC1hY2wtYWNsMS5jLVNlY3VyaXR5LWZpeC1vbi1zLnBhdGNoIGIvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9sdHAvbHRwLzAwMDEtdGVzdGNhc2VzLW5ldHdvcmstbmZzdjQtYWNsLWFjbDEuYy1TZWN1cml0eS1maXgtb24tcy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wNDUzMmJlCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9sdHAvbHRwLzAwMDEtdGVzdGNhc2VzLW5ldHdvcmstbmZzdjQtYWNsLWFjbDEuYy1TZWN1cml0eS1maXgtb24tcy5wYXRjaApAQCAtMCwwICsxLDQxIEBACitGcm9tIDY3MmE1NmJlMTQ0MjZlYWU0NDg2NDY3M2M2YzJhZmNhMGFiODlkNDYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiA9P1VURi04P3E/QW49QzM9QURiYWw9MjBMaW09QzM9QjNuPz0gPGFuaWJhbC5saW1vbkBsaW51eC5pbnRlbC5jb20+CitEYXRlOiBGcmksIDEzIE1heSAyMDE2IDExOjExOjI4IC0wNTAwCitTdWJqZWN0OiBbUEFUQ0hdIHRlc3RjYXNlcy9uZXR3b3JrL25mc3Y0L2FjbC9hY2wxLmM6IFNlY3VyaXR5IGZpeCBvbiBzdHJpbmcKKyBwcmludGYKK01JTUUtVmVyc2lvbjogMS4wCitDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKK0NvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKKworRml4ZXM6CisKK2FjbDEuYzogSW4gZnVuY3Rpb24gJ3Rlc3RfYWNsX2RlZmF1bHQnOgorYWNsMS5jOjMxNzoyOiBlcnJvcjogZm9ybWF0IG5vdCBhIHN0cmluZyBsaXRlcmFsIGFuZCBubyBmb3JtYXQgYXJndW1lbnRzCitbLVdlcnJvcj1mb3JtYXQtc2VjdXJpdHldCisgIHByaW50ZihjbWQpOworCitbWU9DVE8gIzk1NDhdCisKK1NpZ25lZC1vZmYtYnk6IEFuw61iYWwgTGltw7NuIDxhbmliYWwubGltb25AbGludXguaW50ZWwuY29tPgorCitVcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKKy0tLQorIHRlc3RjYXNlcy9uZXR3b3JrL25mc3Y0L2FjbC9hY2wxLmMgfCAyICstCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS90ZXN0Y2FzZXMvbmV0d29yay9uZnN2NC9hY2wvYWNsMS5jIGIvdGVzdGNhc2VzL25ldHdvcmsvbmZzdjQvYWNsL2FjbDEuYworaW5kZXggYjhiNjdiNC4uN2M3YzUwNiAxMDA2NDQKKy0tLSBhL3Rlc3RjYXNlcy9uZXR3b3JrL25mc3Y0L2FjbC9hY2wxLmMKKysrKyBiL3Rlc3RjYXNlcy9uZXR3b3JrL25mc3Y0L2FjbC9hY2wxLmMKK0BAIC0zMTQsNyArMzE0LDcgQEAgdm9pZCB0ZXN0X2FjbF9kZWZhdWx0KGNoYXIgKmRpciwgYWNsX3QgYWNsKQorIAljaGFyICpjbWQgPSBtYWxsb2MoMjU2KTsKKyAKKyAJc3RyY3B5KGNtZCwgImNobW9kIDc3NzcgIik7CistCXByaW50ZihjbWQpOworKwlwcmludGYoY21kLCBOVUxMKTsKKyAJc3RyY2F0KGNtZCwgZGlyKTsKKyAJc3lzdGVtKGNtZCk7CisgCWFjbDIgPSBhY2xfZ2V0X2ZpbGUocGF0aCwgQUNMX1RZUEVfQUNDRVNTKTsKKy0tIAorMi4xLjQKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9sdHAvbHRwLzAwMDItQWRkLWtub2ItdG8tY29udHJvbC13aGV0aGVyLW51bWEtc3VwcG9ydC1zaG91bGQtYmUtYy5wYXRjaCBiL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbHRwL2x0cC8wMDAyLUFkZC1rbm9iLXRvLWNvbnRyb2wtd2hldGhlci1udW1hLXN1cHBvcnQtc2hvdWxkLWJlLWMucGF0Y2gKaW5kZXggNjg3MjVkYy4uMDY4NGJlZSAxMDA2NDQKLS0tIGEvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9sdHAvbHRwLzAwMDItQWRkLWtub2ItdG8tY29udHJvbC13aGV0aGVyLW51bWEtc3VwcG9ydC1zaG91bGQtYmUtYy5wYXRjaAorKysgYi9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2x0cC9sdHAvMDAwMi1BZGQta25vYi10by1jb250cm9sLXdoZXRoZXItbnVtYS1zdXBwb3J0LXNob3VsZC1iZS1jLnBhdGNoCkBAIC03LDcgKzcsNyBAQAogb3RoZXJ3aXNlIHVuZGV0ZXJtaW5pc3RpYyBkZXBlbmRlbmN5IHdpbGwgYmUgZ2VuZXJhdGVkCiBkdXJpbmcgYnVpbGQgZGVwZW5kaW5nIHVwb25nIG51bWEgYmVpbmcgc3RhZ2VkIG9yIG5vdAogCi1zaWduZWQtb2ZmLWJ5OiBSb3kuTGkgPHJvbmdxaW5nLmxpQHdpbmRyaXZlci5jb20+CitTaWduZWQtb2ZmLWJ5OiBSb3kuTGkgPHJvbmdxaW5nLmxpQHdpbmRyaXZlci5jb20+CiBTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgogLS0tCiAgbTQvbHRwLW51bWEubTQgfCAxMCArKysrKysrKystCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2x0cC9sdHBfMjAxNjAxMjYuYmIgYi9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL2x0cC9sdHBfMjAxNjAxMjYuYmIKaW5kZXggMDk3YzE2ZC4uNzYzMWUwZSAxMDA2NDQKLS0tIGEvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9sdHAvbHRwXzIwMTYwMTI2LmJiCisrKyBiL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbHRwL2x0cF8yMDE2MDEyNi5iYgpAQCAtNjIsNiArNjIsNyBAQAogICAgICAgICAgICBmaWxlOi8vMDAzMy1zaG1hdDEtQ292ZXItR05VLXNwZWNpZmljLWNvZGUtdW5kZXItX19VU0VfR05VLnBhdGNoIFwKICAgICAgICAgICAgZmlsZTovLzAwMzQtcGVyaW9kaWNfb3V0cHV0LnBhdGNoIFwKICAgICAgICAgICAgZmlsZTovLzAwMzUtZml4LXRlc3RfcHJvY19raWxsLWhhbmcucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS10ZXN0Y2FzZXMtbmV0d29yay1uZnN2NC1hY2wtYWNsMS5jLVNlY3VyaXR5LWZpeC1vbi1zLnBhdGNoIFwKICAgICAgICAgICAgIgogCiBTID0gIiR7V09SS0RJUn0vZ2l0IgpAQCAtOTEsNiArOTIsMTQgQEAKICAgICBpbnN0YWxsIC1kICR7RH0vb3B0L2x0cC8KICAgICBvZV9ydW5tYWtlIERFU1RESVI9JHtEfSBTS0lQX0lEQ0hFQ0s9MSBpbnN0YWxsCiAKKyAgICAjIGZpeHVwIG5vdCBkZXBsb3kgU1RQZmFpbHVyZV9yZXBvcnQucGwgdG8gYXZvaWQgY29uZnVzaW5nIGFib3V0IGl0IGZhaWxzIHRvIHJ1bgorICAgICMgYXMgaXQgbGFja3MgZGVwZW5kZW5jeSBvbiBzb21lIHBlcmwgbW91ZGxlIHN1Y2ggYXMgTFdQOjpTaW1wbGUKKyAgICAjIEFuZCB0aGlzIHNjcmlwdCBwcmV2aW91c2x5IHdvcmtzIGFzIGEgdG9vbCBmb3IgYW5hbHl6aW5nIGZhaWx1cmVzIGZyb20gTFRQCisgICAgIyBydW5zIG9uIHRoZSBPU0RMJ3MgU2NhbGVhYmxlIFRlc3QgUGxhdGZvcm0gKFNUUCkgYW5kIGl0IG1haW5seSBhY2Nlc3NlcworICAgICMgaHR0cDovL2toYWNrLm9zZGwub3JnIHRvIHJldHJpZXZlIGx0cCB0ZXN0IHJlc3VsdHMgcnVuIG9uCisgICAgIyBPU0RMJ3MgU2NhbGVhYmxlIFRlc3QgUGxhdGZvcm0sIGJ1dCBub3cgaHR0cDovL2toYWNrLm9zZGwub3JnIHVuYWNjZXNzaWJsZQorICAgIHJtIC1yZiAke0R9L29wdC9sdHAvYmluL1NUUGZhaWx1cmVfcmVwb3J0LnBsCisKICAgICAjIENvcHkgUE9TSVggdGVzdCBzdWl0ZSBpbnRvICR7RH0vb3B0L2x0cC90ZXN0Y2FzZXMgYnkgbWFudWFsCiAgICAgY3AgLXIgdGVzdGNhc2VzL29wZW5fcG9zaXhfdGVzdHN1aXRlICR7RH0vb3B0L2x0cC90ZXN0Y2FzZXMKIH0KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbWFpbHgvbWFpbHhfMTIuNS01LmJiIGIvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9tYWlseC9tYWlseF8xMi41LTUuYmIKaW5kZXggNGEzMmQyZi4uOWRkNzEwYSAxMDA2NDQKLS0tIGEvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9tYWlseC9tYWlseF8xMi41LTUuYmIKKysrIGIvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9tYWlseC9tYWlseF8xMi41LTUuYmIKQEAgLTExLDcgKzExLDcgQEAKIAogREVQRU5EUyA9ICJvcGVuc3NsIgogCi1TUkNfVVJJID0gIiR7REVCSUFOX01JUlJPUn0vbWFpbi9oL2hlaXJsb29tLW1haWx4L2hlaXJsb29tLW1haWx4XzEyLjUub3JpZy50YXIuZ3o7bmFtZT1hcmNoaXZlIFwKK1NSQ19VUkkgPSAiaHR0cDovL3NuYXBzaG90LmRlYmlhbi5vcmcvYXJjaGl2ZS9kZWJpYW4vMjAxNjA3MjhUMDQzNDQzWi9wb29sL21haW4vaC9oZWlybG9vbS1tYWlseC9oZWlybG9vbS1tYWlseF8xMi41Lm9yaWcudGFyLmd6O25hbWU9YXJjaGl2ZSBcCiAgICAgICAgICAgIGZpbGU6Ly8wMDAxLURvbi10LXJldXNlLXdlYWstc3ltYm9sLW9wdG9wdC10by1maXgtRlRCRlMtb24tbWlwcy5wYXRjaCBcCiAgICAgICAgICAgIGZpbGU6Ly8wMDAyLVBhdGNoZWQtb3V0LVNTTDItc3VwcG9ydC1zaW5jZS1pdC1pcy1uby1sb25nZXItc3VwcG8ucGF0Y2ggXAogICAgICAgICAgICBmaWxlOi8vMDAwMy1GaXhlZC1MaW50aWFuLXdhcm5pbmctd2FybmluZy1tYWNyby1OLW5vdC1kZWZpbmVkLnBhdGNoIFwKQEAgLTI4LDYgKzI4LDcgQEAKIAogIyBmb3IgdGhpcyBwYWNrYWdlIHdlJ3JlIG1vc3RseSBpbnRlcmVzdGVkIGluIHRyYWNraW5nIGRlYmlhbiBwYXRjaGVzLAogIyBhbmQgbm90IGluIHRoZSB1cHN0cmVhbSB2ZXJzaW9uIHdoZXJlIGFsbCBkZXZlbG9wbWVudCBoYXMgZWZmZWN0aXZlbHkgc3RvcHBlZAorVVBTVFJFQU1fQ0hFQ0tfVVJJID0gIiR7REVCSUFOX01JUlJPUn0vbWFpbi9oL2hlaXJsb29tLW1haWx4LyIKIFVQU1RSRUFNX0NIRUNLX1JFR0VYID0gIig/UDxwdmVyPigoXGQrXC4qKSspLSgoXGQrXC4qKSspKVwuKGRpZmZ8ZGViaWFuXC50YXIpXC4oZ3p8eHopIgogCiBTID0gIiR7V09SS0RJUn0vaGVpcmxvb20tbWFpbHgtMTIuNSIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbWFuLXBhZ2VzL21hbi1wYWdlc180LjA0LmJiIGIvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9tYW4tcGFnZXMvbWFuLXBhZ2VzXzQuMDcuYmIKc2ltaWxhcml0eSBpbmRleCA4NSUKcmVuYW1lIGZyb20gaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9tYW4tcGFnZXMvbWFuLXBhZ2VzXzQuMDQuYmIKcmVuYW1lIHRvIGltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbWFuLXBhZ2VzL21hbi1wYWdlc180LjA3LmJiCmluZGV4IDY1ZGYwYWEuLjc2YTNmZDggMTAwNjQ0Ci0tLSBhL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbWFuLXBhZ2VzL21hbi1wYWdlc180LjA0LmJiCisrKyBiL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbWFuLXBhZ2VzL21hbi1wYWdlc180LjA3LmJiCkBAIC03LDggKzcsOCBAQAogTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vUkVBRE1FO21kNT04ZjJhM2Q0MzA1N2Q0NThlNTA2NjcxNDk4MDU2N2E2MCIKIFNSQ19VUkkgPSAiJHtLRVJORUxPUkdfTUlSUk9SfS9saW51eC9kb2NzLyR7QlBOfS9BcmNoaXZlLyR7QlB9LnRhci5neiIKIAotU1JDX1VSSVttZDVzdW1dID0gIjkwMWNkNTJlMGVlMmE5ZDc1MDhhZTFhYjE1ZDVlODM1IgotU1JDX1VSSVtzaGEyNTZzdW1dID0gImJmZjA3MjQ2MmJhZWE4ZDFiOGU0NTY4NzU5MzI0YzVlZDZjNzYwNzE2ZmU4MzBiY2E3MTEyOWNjMDllMDA2NjgiCitTUkNfVVJJW21kNXN1bV0gPSAiMDViYTFjYjIxZTk5ZDAyYmQ3YmMxYTU5Mzc4OTY1ZDIiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiYzk3MzM1MTEzMTkzMWY3NzAwZjVlOWZiZjRlZjM2NmM0M2VhN2MxNTE1ZDI4MmU4ZDVkYjljNzc1OTBjNGM5MyIKIAogUkRFUEVORFNfJHtQTn0gPSAibWFuIgogCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL21jL21jXzQuOC4xNS5iYiBiL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbWMvbWNfNC44LjE3LmJiCnNpbWlsYXJpdHkgaW5kZXggOTMlCnJlbmFtZSBmcm9tIGltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbWMvbWNfNC44LjE1LmJiCnJlbmFtZSB0byBpbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL21jL21jXzQuOC4xNy5iYgppbmRleCA2YzNhMTZhLi5hNWM0ZWNlIDEwMDY0NAotLS0gYS9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL21jL21jXzQuOC4xNS5iYgorKysgYi9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL21jL21jXzQuOC4xNy5iYgpAQCAtOCw4ICs4LDggQEAKIAogU1JDX1VSSSA9ICJodHRwOi8vd3d3Lm1pZG5pZ2h0LWNvbW1hbmRlci5vcmcvZG93bmxvYWRzLyR7QlBOfS0ke1BWfS50YXIuYnoyIFwKICAgICAgICAgICAgIgotU1JDX1VSSVttZDVzdW1dID0gImRiNDhjZTI2YmE0MjVhNjFlZGM1MTkzMGU5NDIyN2ZkIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gImY3NGUzZGE3MDQxMDk3NWNkZWIyN2VlOWE2NmQxZGQ4MTIyNTBiNmQzZWRlMzY0YmNhNzI4ZGQ1YTQ4ZTU0NzEiCitTUkNfVVJJW21kNXN1bV0gPSAiNmU5YzA3MDY2ZTQwYWYwNmIyNjNhMTNmYWQxN2EwN2YiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiNjZkMGNiMzdiYWFlZDhlZjkzMGY4YWQyNWE2MzRhZGFkNGYyNjRlYjYxODIwODkzOTIwYWM4N2I5ZGZiNzgzYiIKIAogaW5oZXJpdCBhdXRvdG9vbHMgZ2V0dGV4dCBwa2djb25maWcKIApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9tZGFkbS9maWxlcy8wMDAxLUZpeC1zb21lLXR5cGUtY29tcGFyaXNvbi1wcm9ibGVtcy5wYXRjaCBiL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbWRhZG0vZmlsZXMvMDAwMS1GaXgtc29tZS10eXBlLWNvbXBhcmlzb24tcHJvYmxlbXMucGF0Y2gKaW5kZXggZWU0ODJiNS4uZjgyOTQ2NyAxMDA2NDQKLS0tIGEvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9tZGFkbS9maWxlcy8wMDAxLUZpeC1zb21lLXR5cGUtY29tcGFyaXNvbi1wcm9ibGVtcy5wYXRjaAorKysgYi9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL21kYWRtL2ZpbGVzLzAwMDEtRml4LXNvbWUtdHlwZS1jb21wYXJpc29uLXByb2JsZW1zLnBhdGNoCkBAIC0xMSw3ICsxMSw3IEBACiAKIFVwc3RyZWFtLVN0YXR1czogQmFja3BvcnQKIAotU2lnbmVkLW9mZi1ieSA6IFhpYW8gTmkgPHhuaUByZWRoYXQuY29tPgorU2lnbmVkLW9mZi1ieTogOiBYaWFvIE5pIDx4bmlAcmVkaGF0LmNvbT4KIFNpZ25lZC1vZmYtYnk6IE1heGluIEIuIEpvaG4gPG1heGluLmpvaG5AaW50ZWwuY29tPgogLS0tCiAKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbWRhZG0vZmlsZXMvMDAwMS1tZGFkbS5oLVVuZGVmaW5lLWRwcmludGYtYmVmb3JlLXJlZGVmaW5pbmcucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL21kYWRtL2ZpbGVzLzAwMDEtbWRhZG0uaC1VbmRlZmluZS1kcHJpbnRmLWJlZm9yZS1yZWRlZmluaW5nLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRjZjgwOTIKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL21kYWRtL2ZpbGVzLzAwMDEtbWRhZG0uaC1VbmRlZmluZS1kcHJpbnRmLWJlZm9yZS1yZWRlZmluaW5nLnBhdGNoCkBAIC0wLDAgKzEsNDMgQEAKK0Zyb20gNmQzNjllOGYyMjY1OTQ2MzJjZTQyNjAxMjk1MDlkYWY3MDMwZGUwYSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+CitEYXRlOiBNb24sIDkgTWF5IDIwMTYgMjI6MDM6NTcgKzAwMDAKK1N1YmplY3Q6IFtQQVRDSF0gbWRhZG0uaDogVW5kZWZpbmUgZHByaW50ZiBiZWZvcmUgcmVkZWZpbmluZworCitkcHJpbnRmIGlzIGFsc28gZGVmaW5lZCBpbiBsaWJjIHNlZQordXNyL2luY2x1ZGUvYml0cy9zdGRpbzIuaCwgdGhpcyBjb21lcyBpbnRvCitwbGF5IGVzcGVjaWFsbHkgd2hlbiBmb3J0aWZ5IHNvdXJjZXMgaXMgZW5hYmxlZAorYW5kIGNvbXBpbGVycyBsaWtlIGNsYW5nIHJlcG9ydHMgdGhlIG92ZXJyaWRlCisKK0luIGZpbGUgaW5jbHVkZWQgZnJvbSBwb2xpY3kuYzoyNToKKy4vbWRhZG0uaDoxNTYyOjk6IGVycm9yOiAnZHByaW50ZicgbWFjcm8gcmVkZWZpbmVkIFstV2Vycm9yLC1XbWFjcm8tcmVkZWZpbmVkXQorICAgICAgICBeCisvbW50L29lL29wZW5lbWJlZGRlZC1jb3JlL2J1aWxkL3RtcC1nbGliYy9zeXNyb290cy9xZW11eDg2L3Vzci9pbmNsdWRlL2JpdHMvc3RkaW8yLmg6MTQ1OjEyOiBub3RlOiBwcmV2aW91cyBkZWZpbml0aW9uIGlzIGhlcmUKKworU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KKy0tLQorVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCisKKyBtZGFkbS5oIHwgMiArKworIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKykKKworZGlmZiAtLWdpdCBhL21kYWRtLmggYi9tZGFkbS5oCitpbmRleCAyMzBlNjBmLi44YzhmNGQxIDEwMDc1NQorLS0tIGEvbWRhZG0uaAorKysrIGIvbWRhZG0uaAorQEAgLTE1NTQsMTEgKzE1NTQsMTMgQEAgc3RhdGljIGlubGluZSBjaGFyICp0b19zdWJhcnJheShzdHJ1Y3QgbWRzdGF0X2VudCAqZW50LCBjaGFyICpjb250YWluZXIpCisgfQorIAorICNpZmRlZiBERUJVRworKyN1bmRlZiBkcHJpbnRmCisgI2RlZmluZSBkcHJpbnRmKGZtdCwgYXJnLi4uKSBcCisgCWZwcmludGYoc3RkZXJyLCAiJXM6ICVzOiAiZm10LCBOYW1lLCBfX2Z1bmNfXywgIyNhcmcpCisgI2RlZmluZSBkcHJpbnRmX2NvbnQoZm10LCBhcmcuLi4pIFwKKyAJZnByaW50ZihzdGRlcnIsIGZtdCwgIyNhcmcpCisgI2Vsc2UKKysjdW5kZWYgZHByaW50ZgorICNkZWZpbmUgZHByaW50ZihmbXQsIGFyZy4uLikgXAorICAgICAgICAgKHsgaWYgKDApIGZwcmludGYoc3RkZXJyLCAiJXM6ICVzOiAiIGZtdCwgTmFtZSwgX19mdW5jX18sICMjYXJnKTsgMDsgfSkKKyAjZGVmaW5lIGRwcmludGZfY29udChmbXQsIGFyZy4uLikgXAorLS0gCisxLjkuMQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL21kYWRtL2ZpbGVzLzAwMDEtcmFpZDZjaGVjay1GaXgtaWYtZWxzZS1pbmRlbnRhdGlvbi5wYXRjaCBiL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbWRhZG0vZmlsZXMvMDAwMS1yYWlkNmNoZWNrLUZpeC1pZi1lbHNlLWluZGVudGF0aW9uLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBiMzRiODQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL21kYWRtL2ZpbGVzLzAwMDEtcmFpZDZjaGVjay1GaXgtaWYtZWxzZS1pbmRlbnRhdGlvbi5wYXRjaApAQCAtMCwwICsxLDM3IEBACitGcm9tIDFiMGFhMWRlYmY2ZmJlOTkyM2M5YWFjNjcxZDI4OTRmNzZjMzJmOWQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorRGF0ZTogV2VkLCAyMCBBcHIgMjAxNiAxNjozODoxMyArMDAwMAorU3ViamVjdDogW1BBVENIXSByYWlkNmNoZWNrOiBGaXggaWYtZWxzZSBpbmRlbnRhdGlvbgorCitnY2MgNiB3YXJucyBhYm91dCBhbWJpZ3VpdHkgZHVlIHRvIHRoaXMgaW5kZW50YXRpb24KK3wgcmFpZDZjaGVjay5jOiBJbiBmdW5jdGlvbiAnbWFudWFsX3JlcGFpcic6Cit8IHJhaWQ2Y2hlY2suYzoyNjc6NDogZXJyb3I6IHRoaXMgJ2Vsc2UnIGNsYXVzZSBkb2VzIG5vdCBndWFyZC4uLiBbLVdlcnJvcj1taXNsZWFkaW5nLWluZGVudGF0aW9uXQorfCAgICAgZWxzZQorfCAgICAgXn5+fgorfCByYWlkNmNoZWNrLmM6MjY5OjU6IG5vdGU6IC4uLnRoaXMgc3RhdGVtZW50LCBidXQgdGhlIGxhdHRlciBpcyBtaXNsZWFkaW5nbHkgaW5kZW50ZWQgYXMgaWYgaXQgaXMgZ3VhcmRlZCBieSB0aGUgJ2Vsc2UnCit8ICAgICAgcHJpbnRmKCJSZXBhaXJpbmcgRCglZCkgYW5kIFBcbiIsIGZhaWxlZF9kYXRhKTsKK3wgICAgICBefn5+fn4KKworU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KKy0tLQorVXBzdHJlYW0tU3RhdHVzOiBTdWJtaXR0ZWQKKworIHJhaWQ2Y2hlY2suYyB8IDIgKy0KKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL3JhaWQ2Y2hlY2suYyBiL3JhaWQ2Y2hlY2suYworaW5kZXggYWQ3ZmZlNy4uNDA5YjFiNiAxMDA2NDQKKy0tLSBhL3JhaWQ2Y2hlY2suYworKysrIGIvcmFpZDZjaGVjay5jCitAQCAtMjY2LDcgKzI2Niw3IEBAIGludCBtYW51YWxfcmVwYWlyKGludCBjaHVua19zaXplLCBpbnQgc3luZHJvbWVfZGlza3MsCisgCQkJCWZhaWxlZF9kYXRhID0gZmFpbGVkX3Nsb3QyOworIAkJCWVsc2UKKyAJCQkJZmFpbGVkX2RhdGEgPSBmYWlsZWRfc2xvdDE7CistCQkJCXByaW50ZigiUmVwYWlyaW5nIEQoJWQpIGFuZCBQXG4iLCBmYWlsZWRfZGF0YSk7CisrCQkJcHJpbnRmKCJSZXBhaXJpbmcgRCglZCkgYW5kIFBcbiIsIGZhaWxlZF9kYXRhKTsKKyAJCQlyYWlkNl9kYXRhcF9yZWNvdihzeW5kcm9tZV9kaXNrcysyLCBjaHVua19zaXplLAorIAkJCQkJICBmYWlsZWRfZGF0YSwgKHVpbnQ4X3QqKilibG9ja3MsIDEpOworIAkJfSBlbHNlIHsKKy0tIAorMS45LjEKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9tZGFkbS9maWxlcy9tZGFkbS0zLjIuMl9maXhfZm9yX3gzMi5wYXRjaCBiL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbWRhZG0vZmlsZXMvbWRhZG0tMy4yLjJfZml4X2Zvcl94MzIucGF0Y2gKaW5kZXggNDBhY2MxNC4uODRjMzgyZCAxMDA2NDQKLS0tIGEvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9tZGFkbS9maWxlcy9tZGFkbS0zLjIuMl9maXhfZm9yX3gzMi5wYXRjaAorKysgYi9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL21kYWRtL2ZpbGVzL21kYWRtLTMuMi4yX2ZpeF9mb3JfeDMyLnBhdGNoCkBAIC02LDcgKzYsNyBAQAogQXMgdGhlIGJpdGJha2UgZGVmaW5lZCBDQyBpcyBnb29kLCB0aGVyZSBpcyBubyBuZWVkIHRvIHJlZGZpbmUgQ0MgaW4gdGhlIAogbWFrZSBmaWxlLCBoZW5jZSBtYWtpbmcgdGhlIENDIGRlZmluaXRpb24gaW4gdGhlIE1ha2VmaWxlIGNvbmRpdGlvbmFsLgogCi1TaWduZWQtT2ZmLUJ5OiBOaXRpbiBBIEthbWJsZSA8bml0aW4uYS5rYW1ibGVAaW50ZWwuY29tPiAyMDExLzEyLzA3CitTaWduZWQtb2ZmLWJ5OiBOaXRpbiBBIEthbWJsZSA8bml0aW4uYS5rYW1ibGVAaW50ZWwuY29tPiAyMDExLzEyLzA3CiAKIEluZGV4OiBtZGFkbS0zLjMvTWFrZWZpbGUKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbWRhZG0vbWRhZG1fMy40LmJiIGIvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9tZGFkbS9tZGFkbV8zLjQuYmIKaW5kZXggMTQyZGZkZC4uMjYxMDU0ZSAxMDA2NDQKLS0tIGEvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9tZGFkbS9tZGFkbV8zLjQuYmIKKysrIGIvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9tZGFkbS9tZGFkbV8zLjQuYmIKQEAgLTE5LDcgKzE5LDkgQEAKICAgICAgICAgICAgZmlsZTovLzAwMDEtRml4LXNvbWUtdHlwZS1jb21wYXJpc29uLXByb2JsZW1zLnBhdGNoIFwKICAgICAgICAgICAgZmlsZTovLzAwMDEtRml4LXRoZS1wYXRoLW9mLWNvcm9zeW5jLWFuZC1kbG0taGVhZGVyLWZpbGVzLWNoZWNrLnBhdGNoIFwKICAgICAgICAgICAgZmlsZTovL3J1bi1wdGVzdCBcCi0JICAiCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLXJhaWQ2Y2hlY2stRml4LWlmLWVsc2UtaW5kZW50YXRpb24ucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1tZGFkbS5oLVVuZGVmaW5lLWRwcmludGYtYmVmb3JlLXJlZGVmaW5pbmcucGF0Y2ggXAorICAgICAgICAgICAiCiBTUkNfVVJJW21kNXN1bV0gPSAiMDRiOGIyMWY2Mzc1NDAzNTBmODUxN2M3ZTY4ZDNjNjMiCiBTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMjdkMGJlNDYyN2QzOGExMmRkY2QxYzFjMzcyMWQ2NDlkNGU4OWUxMDkzOTE0NDk3ZTIyYjU3MjQ1Y2RhODgwOCIKIApAQCAtNDQsOCArNDYsNiBAQAogCWF1dG90b29sc19kb19pbnN0YWxsCiB9CiAKLUZJTEVTXyR7UE59ICs9ICIke2Jhc2VfbGliZGlyfS91ZGV2L3J1bGVzLmQvKi5ydWxlcyIKLQogaW5oZXJpdCBwdGVzdAogCiBkb19jb21waWxlX3B0ZXN0KCkgewpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9tc210cC9tc210cF8xLjYuMy5iYiBiL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbXNtdHAvbXNtdHBfMS42LjUuYmIKc2ltaWxhcml0eSBpbmRleCA4NSUKcmVuYW1lIGZyb20gaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9tc210cC9tc210cF8xLjYuMy5iYgpyZW5hbWUgdG8gaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9tc210cC9tc210cF8xLjYuNS5iYgppbmRleCA2ZGJkNzhmLi5kMGMzOWViIDEwMDY0NAotLS0gYS9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL21zbXRwL21zbXRwXzEuNi4zLmJiCisrKyBiL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbXNtdHAvbXNtdHBfMS42LjUuYmIKQEAgLTEyLDggKzEyLDggQEAKIFNSQ19VUkkgPSAiaHR0cDovL3NvdXJjZWZvcmdlLm5ldC9wcm9qZWN0cy9tc210cC9maWxlcy9tc210cC8ke1BWfS8ke0JQTn0tJHtQVn0udGFyLnh6IFwKICAgICAgICAgICAiCiAKLVNSQ19VUklbbWQ1c3VtXSA9ICI2ZDkzODRjMDk0MDVkYjk0NzZiZWFhMjIzN2M1NjcwNSIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICJmOTgyYmUwNjljMDc3MmMzZWU4MzkyNWY1NTJmNWRhYzVmYjMwN2QyZDFjNjgyMDJmOTkyNmJiMTNiNzU3MzU1IgorU1JDX1VSSVttZDVzdW1dID0gIjUwYThjOWJiNzJmODIyMjc3OWRiNmI0YWFlMjk2NWUwIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjc2YTBkNjA2OTNjN2U2NWQwYzdhMTJmMDFkMzAwODgyZDI4MGIxZTFiZTAyMDJmNTQ3MzBhZTQ0ZDQ0YTUwMDYiCiAKIGluaGVyaXQgZ2V0dGV4dCBhdXRvdG9vbHMgdXBkYXRlLWFsdGVybmF0aXZlcyBwa2djb25maWcKIApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9uZXQtdG9vbHMvbmV0LXRvb2xzLzAwMDEtbGliLWluZXQ2LmMtSU5FVDZfcnJlc29sdmUtdmFyaW91cy1maXhlcy5wYXRjaCBiL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbmV0LXRvb2xzL25ldC10b29scy8wMDAxLWxpYi1pbmV0Ni5jLUlORVQ2X3JyZXNvbHZlLXZhcmlvdXMtZml4ZXMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGJlNDVjYwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbmV0LXRvb2xzL25ldC10b29scy8wMDAxLWxpYi1pbmV0Ni5jLUlORVQ2X3JyZXNvbHZlLXZhcmlvdXMtZml4ZXMucGF0Y2gKQEAgLTAsMCArMSw4NyBAQAorRnJvbSAwOGFiZmNkOTIzZTlmMzdkMTkwMmRiMjY3NzFiMWRjNjczMWViMjY1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogSmlyaSBQb3BlbGthIDxqcG9wZWxrYUByZWRoYXQuY29tPgorRGF0ZTogRnJpLCAyNyBTZXAgMjAxMyAxODo0MDowNiArMDIwMAorU3ViamVjdDogW1BBVENIIDEvMV0gbGliL2luZXQ2LmM6SU5FVDZfcnJlc29sdmUoKSAtIHZhcmlvdXMgZml4ZXMKKworMSkgRmFsbC1iYWNrIHRvIG51bWVyaWMgYWRkcmVzcyBpZiBnZXRuYW1laW5mbyBmYWlscy4KKyAgIFJldmVyc2UgbG9va3VwIGlzIG5vdCBtYW5kYXRvcnksIHRoZXJlZm9yZSBpdHMgZmFpbAorICAgaXMgbm90IGFuIGVycm9yLiBKdXN0IHJldHVybiBudW1lcmljIGFkZHJlc3MgaW4gdGhhdCBjYXNlLgorICAgVGhpcyBtYWtlcyBuZXRzdGF0L3JvdXRlIHNob3cgSVB2NiBhZGRyZXNzIGluc3RlYWQgb2YKKyAgIFtVTktOT1dOXSBpbiBjYXNlIG9mIEROUyBwcm9ibGVtcy4KKworMikgUGFzcyBsZW5ndGggb2YgJ25hbWUnIGJ1ZmZlciBpbnRvIGZ1bmN0aW9uLgorICAgJ25hbWUnIGlzIGEgcG9pbnRlciBhbmQgdGhlcmVmb3JlIHNpemVvZihuYW1lKQorICAgcmV0dXJucyBzaXplIG9mIHBvaW50ZXIgYW5kIG5vdCBzaXplIG9mIHRoZSBidWZmZXIuCisgICBzZWUgaHR0cDovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy8xNDI5ODcxMC9jLXBvaW50ZXJzLWFuZC1hcnJheXMtc2l6ZW9mLW9wZXJhdG9yCisgICBUaGUgc2l6ZW9mKCkgdXNhZ2Ugd2FzIGFkZGVkIHdpdGggY29tbWl0IDYwNDc4NWFkYywKKyAgIHNvIEkgY2hlY2tlZCBhbGwgdGhlIG90aGVyIGNoYW5nZXMgaW4gdGhhdCBjb21taXQKKyAgIGFuZCB0aGV5IHNlZW0gdG8gYmUgT0suCisKKzMpIHJlbW92ZSB1bnVzZWQgJ3MnIHZhcmlhYmxlCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitTaWduZWQtb2ZmLWJ5OiBTaGFuIEhhaSA8c2hhbi5oYWlAd2luZHJpdmVyLmNvbT4KK1NpZ25lZC1vZmYtYnk6IEppYW5jaHVhbiBXYW5nIDxqaWFuY2h1YW4ud2FuZ0B3aW5kcml2ZXIuY29tPgorLS0tCisgbGliL2luZXQ2LmMgfCAyMSArKysrKysrKysrLS0tLS0tLS0tLS0KKyAxIGZpbGUgY2hhbmdlZCwgMTAgaW5zZXJ0aW9ucygrKSwgMTEgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9saWIvaW5ldDYuYyBiL2xpYi9pbmV0Ni5jCitpbmRleCA5YTQ4NGEwLi4yYTljNDU5IDEwMDY0NAorLS0tIGEvbGliL2luZXQ2LmMKKysrKyBiL2xpYi9pbmV0Ni5jCitAQCAtODQsMTAgKzg0LDkgQEAgc3RhdGljIGludCBJTkVUNl9yZXNvbHZlKGNoYXIgKm5hbWUsIHN0cnVjdCBzb2NrYWRkcl9pbjYgKnNpbjYpCisgI2VuZGlmCisgCisgCistc3RhdGljIGludCBJTkVUNl9ycmVzb2x2ZShjaGFyICpuYW1lLCBzdHJ1Y3Qgc29ja2FkZHJfaW42ICpzaW42LCBpbnQgbnVtZXJpYykKKytzdGF0aWMgaW50IElORVQ2X3JyZXNvbHZlKGNoYXIgKm5hbWUsIHNpemVfdCBuYW1lbGVuLAorKwkJCSAgc3RydWN0IHNvY2thZGRyX2luNiAqc2luNiwgaW50IG51bWVyaWMpCisgeworLSAgICBpbnQgczsKKy0KKyAgICAgLyogR3JtcGYuIC1GdksgKi8KKyAgICAgaWYgKHNpbjYtPnNpbjZfZmFtaWx5ICE9IEFGX0lORVQ2KSB7CisgI2lmZGVmIERFQlVHCitAQCAtOTgsMjEgKzk3LDIwIEBAIHN0YXRpYyBpbnQgSU5FVDZfcnJlc29sdmUoY2hhciAqbmFtZSwgc3RydWN0IHNvY2thZGRyX2luNiAqc2luNiwgaW50IG51bWVyaWMpCisgCXJldHVybiAoLTEpOworICAgICB9CisgICAgIGlmIChudW1lcmljICYgMHg3RkZGKSB7CistCWluZXRfbnRvcCggQUZfSU5FVDYsICZzaW42LT5zaW42X2FkZHIsIG5hbWUsIDgwKTsKKysJaW5ldF9udG9wKCBBRl9JTkVUNiwgJnNpbjYtPnNpbjZfYWRkciwgbmFtZSwgbmFtZWxlbik7CisgCXJldHVybiAoMCk7CisgICAgIH0KKyAgICAgaWYgKElONl9JU19BRERSX1VOU1BFQ0lGSUVEKCZzaW42LT5zaW42X2FkZHIpKSB7CisgICAgICAgICBpZiAobnVtZXJpYyAmIDB4ODAwMCkKKy0JICAgIHN0cmNweShuYW1lLCAiZGVmYXVsdCIpOworKwkgICAgc2FmZV9zdHJuY3B5KG5hbWUsICJkZWZhdWx0IiwgbmFtZWxlbik7CisgCWVsc2UKKy0JICAgIHN0cmNweShuYW1lLCAiWzo6XSIpOworKwkgICAgc2FmZV9zdHJuY3B5KG5hbWUsICJbOjpdIiwgbmFtZWxlbik7CisgCXJldHVybiAoMCk7CisgICAgIH0KKyAKKy0gICAgaWYgKChzID0gZ2V0bmFtZWluZm8oKHN0cnVjdCBzb2NrYWRkciAqKSBzaW42LCBzaXplb2Yoc3RydWN0IHNvY2thZGRyX2luNiksCistCQkJIG5hbWUsIDI1NSAvKiAhISAqLyAsIE5VTEwsIDAsIDApKSkgeworLQlmcHV0cygiZ2V0bmFtZWluZm8gZmFpbGVkXG4iLCBzdGRlcnIpOworLQlyZXR1cm4gLTE7CisrICAgIGlmIChnZXRuYW1laW5mbygoc3RydWN0IHNvY2thZGRyICopIHNpbjYsIHNpemVvZihzdHJ1Y3Qgc29ja2FkZHJfaW42KSwKKysJCSAgICBuYW1lLCBuYW1lbGVuICwgTlVMTCwgMCwgMCkpIHsKKysJaW5ldF9udG9wKCBBRl9JTkVUNiwgJnNpbjYtPnNpbjZfYWRkciwgbmFtZSwgbmFtZWxlbik7CisgICAgIH0KKyAgICAgcmV0dXJuICgwKTsKKyB9CitAQCAtMTQzLDcgKzE0MSw4IEBAIHN0YXRpYyBjaGFyICpJTkVUNl9zcHJpbnQoc3RydWN0IHNvY2thZGRyICpzYXAsIGludCBudW1lcmljKQorIAorICAgICBpZiAoc2FwLT5zYV9mYW1pbHkgPT0gMHhGRkZGIHx8IHNhcC0+c2FfZmFtaWx5ID09IDApCisgCXJldHVybiBzYWZlX3N0cm5jcHkoYnVmZiwgXygiW05PTkUgU0VUXSIpLCBzaXplb2YoYnVmZikpOworLSAgICBpZiAoSU5FVDZfcnJlc29sdmUoYnVmZiwgKHN0cnVjdCBzb2NrYWRkcl9pbjYgKikgc2FwLCBudW1lcmljKSAhPSAwKQorKyAgICBpZiAoSU5FVDZfcnJlc29sdmUoYnVmZiwgc2l6ZW9mKGJ1ZmYpLAorKwkJICAgICAgIChzdHJ1Y3Qgc29ja2FkZHJfaW42ICopIHNhcCwgbnVtZXJpYykgIT0gMCkKKyAJcmV0dXJuIHNhZmVfc3RybmNweShidWZmLCBfKCJbVU5LTk9XTl0iKSwgc2l6ZW9mKGJ1ZmYpKTsKKyAgICAgcmV0dXJuIChmaXhfdjRfYWRkcmVzcyhidWZmLCAmKChzdHJ1Y3Qgc29ja2FkZHJfaW42ICopc2FwKS0+c2luNl9hZGRyKSk7CisgfQorLS0gCisxLjguNS4yLjIzMy5nOTMyZjdlNAorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL25ldC10b29scy9uZXQtdG9vbHMvbmV0LXRvb2xzLWZpeC1idWlsZGluZy13aXRoLWxpbnV4LTQuOC5wYXRjaCBiL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbmV0LXRvb2xzL25ldC10b29scy9uZXQtdG9vbHMtZml4LWJ1aWxkaW5nLXdpdGgtbGludXgtNC44LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjUwNWVlYjAKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL25ldC10b29scy9uZXQtdG9vbHMvbmV0LXRvb2xzLWZpeC1idWlsZGluZy13aXRoLWxpbnV4LTQuOC5wYXRjaApAQCAtMCwwICsxLDUyIEBACitGcm9tIDRkNTY2NDVlYTE0NGEzNGY3Y2RkM2UzZWRlNjQ1MmQ4MWZiYWUyNTEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBSYW5keSBNYWNMZW9kIDxSYW5keS5NYWNMZW9kQHdpbmRyaXZlci5jb20+CitEYXRlOiBTYXQsIDggT2N0IDIwMTYgMTQ6NDI6NTQgKzA4MDAKK1N1YmplY3Q6IFtQQVRDSF0gaXB0dW5uZWwuYzogaW5jbHVkZSBsaW51eC9pcC5oIHRvIGZpeCBidWlsZGluZyB3aXRoIGxpbnV4LTQuOAorCitGaXggYSBidWlsZCBlcnJvciB3aGVuIHVzaW5nIHRoZSBsaW51eC00LjggaGVhZGVycyB0aGF0IHJlc3VsdHMgaW46CisKK0luIGZpbGUgaW5jbHVkZWQgZnJvbQorLi4uL3N5c3Jvb3RzL3FlbXVhcm02NC91c3IvaW5jbHVkZS9saW51eC9pZl90dW5uZWwuaDo2OjAsCisgICAgICAgICAgICAgICAgICBmcm9tIGlwdHVubmVsLmM6Mzk6CisuLi4vcWVtdWFybTY0L3Vzci9pbmNsdWRlL2xpbnV4L2lwLmg6ODU6ODogZXJyb3I6IHJlZGVmaW5pdGlvbiBvZgorJ3N0cnVjdCBpcGhkcicKKyAgc3RydWN0IGlwaGRyIHsKKyAgICAgICAgIF5+fn5+CitJbiBmaWxlIGluY2x1ZGVkIGZyb20gaXB0dW5uZWwuYzoyOTowOgorLi4uL3FlbXVhcm02NC91c3IvaW5jbHVkZS9uZXRpbmV0L2lwLmg6NDQ6ODogbm90ZTogb3JpZ2luYWxseSBkZWZpbmVkIGhlcmUKKyAgc3RydWN0IGlwaGRyCisgICAgICAgICBefn5+fgorCitVcHN0cmVhbS1TdGF0dXM6IFN1Ym1pdHRlZCBbMV0KKworWzFdIGh0dHBzOi8vc291cmNlZm9yZ2UubmV0L3AvbmV0LXRvb2xzL21haWxtYW4vbWVzc2FnZS8zNTQxMzAyMi8KKworU2lnbmVkLW9mZi1ieTogUmFuZHkgTWFjTGVvZCA8UmFuZHkuTWFjTGVvZEB3aW5kcml2ZXIuY29tPgorU2lnbmVkLW9mZi1ieTogSmFja2llIEh1YW5nIDxqYWNraWUuaHVhbmdAd2luZHJpdmVyLmNvbT4KKy0tLQorIGlwdHVubmVsLmMgfCAyICstCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9pcHR1bm5lbC5jIGIvaXB0dW5uZWwuYworaW5kZXggNDk0M2Q4My4uYWNmY2JjNyAxMDA2NDQKKy0tLSBhL2lwdHVubmVsLmMKKysrKyBiL2lwdHVubmVsLmMKK0BAIC0yNiw3ICsyNiw2IEBACisgI2luY2x1ZGUgPHN5cy9zb2NrZXQuaD4KKyAjaW5jbHVkZSA8c3lzL2lvY3RsLmg+CisgI2luY2x1ZGUgPG5ldGluZXQvaW4uaD4KKy0jaW5jbHVkZSA8bmV0aW5ldC9pcC5oPgorICNpbmNsdWRlIDxhcnBhL2luZXQuaD4KKyAjaWYgZGVmaW5lZChfX0dMSUJDX18pICYmIChfX0dMSUJDX18gPiAyIHx8IChfX0dMSUJDX18gPT0gMiAmJiBfX0dMSUJDX01JTk9SX18gPj0gMSkpCisgI2luY2x1ZGUgPG5ldC9pZi5oPgorQEAgLTM2LDYgKzM1LDcgQEAKKyAjaW5jbHVkZSA8bGludXgvaWZfYXJwLmg+CisgI2VuZGlmCisgI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+CisrI2luY2x1ZGUgPGxpbnV4L2lwLmg+CisgI2luY2x1ZGUgPGxpbnV4L2lmX3R1bm5lbC5oPgorIAorICNpbmNsdWRlICJjb25maWcuaCIKKy0tIAorMi44LjMKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9uZXQtdG9vbHMvbmV0LXRvb2xzXzEuNjAtMjYuYmIgYi9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL25ldC10b29scy9uZXQtdG9vbHNfMS42MC0yNi5iYgppbmRleCA2M2IyMDUxLi40N2E2OGE1IDEwMDY0NAotLS0gYS9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL25ldC10b29scy9uZXQtdG9vbHNfMS42MC0yNi5iYgorKysgYi9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL25ldC10b29scy9uZXQtdG9vbHNfMS42MC0yNi5iYgpAQCAtMTUsNiArMTUsOCBAQAogICAgICAgICAgICBmaWxlOi8vbmV0LXRvb2xzLTEuNjAtc2N0cDEucGF0Y2ggXAogICAgICAgICAgICBmaWxlOi8vbmV0LXRvb2xzLTEuNjAtc2N0cDItcXVpZXQucGF0Y2ggXAogICAgICAgICAgICBmaWxlOi8vbmV0LXRvb2xzLTEuNjAtc2N0cDMtYWRkcnMucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1saWItaW5ldDYuYy1JTkVUNl9ycmVzb2x2ZS12YXJpb3VzLWZpeGVzLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL25ldC10b29scy1maXgtYnVpbGRpbmctd2l0aC1saW51eC00LjgucGF0Y2ggXAogICAgICAgICAgICIKIAogIyBmb3IgdGhpcyBwYWNrYWdlIHdlJ3JlIG1vc3RseSBpbnRlcmVzdGVkIGluIHRyYWNraW5nIGRlYmlhbiBwYXRjaGVzLApAQCAtOTksNiArMTAxLDEwIEBACiBiYXNlX2JpbmRpcl9wcm9ncyAgPSAiZG5zZG9tYWlubmFtZSBkb21haW5uYW1lIGhvc3RuYW1lIG5ldHN0YXQgbmlzZG9tYWlubmFtZSB5cGRvbWFpbm5hbWUiCiAKIEFMVEVSTkFUSVZFXyR7UE59ID0gIiR7YmFzZV9zYmluZGlyX3Byb2dzfSAke2Jhc2VfYmluZGlyX3Byb2dzfSIKK0FMVEVSTkFUSVZFXyR7UE59LWRvYyArPSAiaG9zdG5hbWUuMSIKK0FMVEVSTkFUSVZFX0xJTktfTkFNRVtob3N0bmFtZS4xXSA9ICIke21hbmRpcn0vbWFuMS9ob3N0bmFtZS4xIgorQUxURVJOQVRJVkVfUFJJT1JJVFlbaG9zdG5hbWUuMV0gPSAiMTAiCisKIHB5dGhvbiBfX2Fub255bW91cygpIHsKIAlmb3IgcHJvZyBpbiBkLmdldFZhcignYmFzZV9zYmluZGlyX3Byb2dzJywgVHJ1ZSkuc3BsaXQoKToKIAkJZC5zZXRWYXJGbGFnKCdBTFRFUk5BVElWRV9MSU5LX05BTUUnLCBwcm9nLCAnJXMvJXMnICUgKGQuZ2V0VmFyKCdiYXNlX3NiaW5kaXInLCBUcnVlKSwgcHJvZykpCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL25ld3QvZmlsZXMvMDAwMS1kZXRlY3QtZ29sZC1hcy1HTlUtbGlua2VyLXRvby5wYXRjaCBiL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbmV3dC9maWxlcy8wMDAxLWRldGVjdC1nb2xkLWFzLUdOVS1saW5rZXItdG9vLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE0YjNhZmQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL25ld3QvZmlsZXMvMDAwMS1kZXRlY3QtZ29sZC1hcy1HTlUtbGlua2VyLXRvby5wYXRjaApAQCAtMCwwICsxLDMxIEBACitGcm9tIDU4MjQ1Yjg1OWZmYmNiMTc4MDU3NWJmMWIwYTAxOGQ1NWU3NGU0MzQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiA9P1VURi04P3E/QW5kcmVhcz0yME09QzM9QkNsbGVyPz0gPHNjaG5pdHplbHRvbnlAZ29vZ2xlbWFpbC5jb20+CitEYXRlOiBXZWQsIDIxIFNlcCAyMDE2IDIxOjE0OjQwICswMjAwCitTdWJqZWN0OiBbUEFUQ0hdIGRldGVjdCBnb2xkIGFzIEdOVSBsaW5rZXIgdG9vCitNSU1FLVZlcnNpb246IDEuMAorQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04CitDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0CisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitTaWduZWQtb2ZmLWJ5OiBBbmRyZWFzIE3DvGxsZXIgPHNjaG5pdHplbHRvbnlAZ29vZ2xlbWFpbC5jb20+CistLS0KKyBjb25maWd1cmUuYWMgfCAyICstCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9jb25maWd1cmUuYWMgYi9jb25maWd1cmUuYWMKK2luZGV4IDAzZThiZGEuLmMyZmNlNTEgMTAwNjQ0CistLS0gYS9jb25maWd1cmUuYWMKKysrKyBiL2NvbmZpZ3VyZS5hYworQEAgLTI4LDcgKzI4LDcgQEAgQUNfQ0hFQ0tfU0laRU9GKFt2b2lkICpdKQorIEFDX01TR19DSEVDS0lORyhbZm9yIEdOVSBsZF0pCisgTEQ9YCRDQyAtcHJpbnQtcHJvZy1uYW1lPWxkIDI+JjVgCisgCistaWYgdGVzdCBgJExEIC12IDI+JjEgfCAkYWNfY3ZfcGF0aF9HUkVQIC1jICJHTlUgbGQiYCA9IDA7IHRoZW4KKytpZiB0ZXN0IGAkTEQgLXYgMj4mMSB8ICRhY19jdl9wYXRoX0dSRVAgLWMgIkdOVSAiYCA9IDA7IHRoZW4KKyAgICMgTm90CisgICBHTlVfTEQ9IiIKKyAgIEFDX01TR19SRVNVTFQoW25vXSkKKy0tIAorMi41LjUKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9uZXd0L2ZpbGVzL3JlbW92ZV9zbGFuZ19pbmNsdWRlLnBhdGNoIGIvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9uZXd0L2ZpbGVzL3JlbW92ZV9zbGFuZ19pbmNsdWRlLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhMjYzNGVjLi4wMDAwMDAwCi0tLSBhL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbmV3dC9maWxlcy9yZW1vdmVfc2xhbmdfaW5jbHVkZS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDE2ICswLDAgQEAKLQotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi0KLUluZGV4OiBnaXQvTWFrZWZpbGUuaW4KLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnaXQub3JpZy9NYWtlZmlsZS5pbgotKysrIGdpdC9NYWtlZmlsZS5pbgotQEAgLTUsNyArNSw3IEBAIENDID0gQENDQAotIENQUCA9IEBDUFBACi0gQ0ZMQUdTID0gQENGTEFHU0AKLSBMREZMQUdTID0gQExERkxBR1NACi0tQ1BQRkxBR1MgPSAtRF9HTlVfU09VUkNFIC1JL3Vzci9pbmNsdWRlL3NsYW5nIEBDUFBGTEFHU0AgCi0rQ1BQRkxBR1MgPSAtRF9HTlVfU09VUkNFIEBDUFBGTEFHU0AgCi0gR05VX0xEID0gQEdOVV9MREAKLSAKLSBWRVJTSU9OID0gQFZFUlNJT05ACmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL25ld3QvbGlibmV3dC1weXRob25fMC41Mi4xOC5iYiBiL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbmV3dC9saWJuZXd0LXB5dGhvbl8wLjUyLjE5LmJiCnNpbWlsYXJpdHkgaW5kZXggODQlCnJlbmFtZSBmcm9tIGltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbmV3dC9saWJuZXd0LXB5dGhvbl8wLjUyLjE4LmJiCnJlbmFtZSB0byBpbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL25ld3QvbGlibmV3dC1weXRob25fMC41Mi4xOS5iYgppbmRleCBiYTA0NzU3Li4yMDM2OWVmIDEwMDY0NAotLS0gYS9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL25ld3QvbGlibmV3dC1weXRob25fMC41Mi4xOC5iYgorKysgYi9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL25ld3QvbGlibmV3dC1weXRob25fMC41Mi4xOS5iYgpAQCAtMSwxMCArMSwxMCBAQAogcmVxdWlyZSByZWNpcGVzLWV4dGVuZGVkL25ld3QvbGlibmV3dF8ke1BWfS5iYgogCiBTVU1NQVJZIC49ICIgLSBweXRob24iCi1ERVBFTkRTID0gImxpYm5ld3QgcHl0aG9uIgotUkRFUEVORFNfJHtQTn0gKz0gInB5dGhvbi1jb3JlIgorREVQRU5EUyA9ICJsaWJuZXd0IHB5dGhvbjMiCitSREVQRU5EU18ke1BOfSArPSAicHl0aG9uMy1jb3JlIgogCi1pbmhlcml0IHB5dGhvbm5hdGl2ZSBweXRob24tZGlyCitpbmhlcml0IHB5dGhvbjNuYXRpdmUgcHl0aG9uMy1kaXIKIAogRVhUUkFfT0VDT05GICs9ICItLXdpdGgtcHl0aG9uIgogRVhUUkFfT0VNQUtFICs9ICJQWVRIT05WRVJTPSR7UFlUSE9OX0RJUn0iCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL25ld3QvbGlibmV3dF8wLjUyLjE4LmJiIGIvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9uZXd0L2xpYm5ld3RfMC41Mi4xOS5iYgpzaW1pbGFyaXR5IGluZGV4IDgzJQpyZW5hbWUgZnJvbSBpbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL25ld3QvbGlibmV3dF8wLjUyLjE4LmJiCnJlbmFtZSB0byBpbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL25ld3QvbGlibmV3dF8wLjUyLjE5LmJiCmluZGV4IDlhMjk2NGIuLmEyNmNlMWYgMTAwNjQ0Ci0tLSBhL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvbmV3dC9saWJuZXd0XzAuNTIuMTguYmIKKysrIGIvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9uZXd0L2xpYm5ld3RfMC41Mi4xOS5iYgpAQCAtMTgsMTUgKzE4LDE1IEBACiBERVBFTkRTID0gInNsYW5nIHBvcHQiCiAKIFNSQ19VUkkgPSAiaHR0cHM6Ly9mZWRvcmFob3N0ZWQub3JnL3JlbGVhc2VzL24vZS9uZXd0L25ld3QtJHtQVn0udGFyLmd6IFwKLSAgICAgICAgICAgZmlsZTovL3JlbW92ZV9zbGFuZ19pbmNsdWRlLnBhdGNoIFwKICAgICAgICAgICAgZmlsZTovL2ZpeF9TSEFSRURESVIucGF0Y2ggXAogICAgICAgICAgICBmaWxlOi8vY3Jvc3NfYXIucGF0Y2ggXAogICAgICAgICAgICBmaWxlOi8vTWFrZWZpbGUuaW4tQWRkLXRpbmZvLWxpYnJhcnktdG8tdGhlLWxpbmtpbmctbGlicmFyaS5wYXRjaCBcCiAgICAgICAgICAgIGZpbGU6Ly9waWUtZmxhZ3MucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMS1kZXRlY3QtZ29sZC1hcy1HTlUtbGlua2VyLXRvby5wYXRjaCBcCiAiCiAKLVNSQ19VUklbbWQ1c3VtXSA9ICI2ODU3MjFiZWUxYTMxODU3MDcwNGIxOWRjZjMxZDI2OCIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICI3NzFiMGU2MzRlZGU1NmFlNmE2YWNkOTEwNzI4YmI1ODMyYWMxM2RkYjBkMWQyNzkxOWQyNDk4ZGFiNzBjOTFlIgorU1JDX1VSSVttZDVzdW1dID0gImU0YWEwZjc5NDNlZGQzOWM1MjQ4MWE4N2Y2OGY0MTJhIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjA4YzBkYjU2YzIxOTk2YWY2YTdjYmFiOTk0OTFiNzc0YzZjMDljZWY5MWNkOWIwMzkwM2M4NDYzNGJmZjJlODAiCiAKIFMgPSAiJHtXT1JLRElSfS9uZXd0LSR7UFZ9IgogCkBAIC0zNiwxMyArMzYsOCBAQAogCiBDTEVBTkJST0tFTiA9ICIxIgogCi1leHBvcnQgU1RBR0lOR19JTkNESVIKLWV4cG9ydCBTVEFHSU5HX0xJQkRJUgogZXhwb3J0IENQUEZMQUdTCiAKLWV4cG9ydCBCVUlMRF9TWVMKLWV4cG9ydCBIT1NUX1NZUwotCiBQQUNLQUdFU19wcmVwZW5kID0gIndoaXB0YWlsICIKIAogZG9fY29uZmlndXJlX3ByZXBlbmQoKSB7CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3BhY2thZ2Vncm91cHMvcGFja2FnZWdyb3VwLWNvcmUtZnVsbC1jbWRsaW5lLmJiIGIvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9wYWNrYWdlZ3JvdXBzL3BhY2thZ2Vncm91cC1jb3JlLWZ1bGwtY21kbGluZS5iYgppbmRleCAxZDdlNjA4Li5hNjBhNjhjIDEwMDY0NAotLS0gYS9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3BhY2thZ2Vncm91cHMvcGFja2FnZWdyb3VwLWNvcmUtZnVsbC1jbWRsaW5lLmJiCisrKyBiL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvcGFja2FnZWdyb3Vwcy9wYWNrYWdlZ3JvdXAtY29yZS1mdWxsLWNtZGxpbmUuYmIKQEAgLTUsNyArNSw2IEBACiBTVU1NQVJZID0gIlN0YW5kYXJkIGZ1bGwtZmVhdHVyZWQgTGludXggc3lzdGVtIgogREVTQ1JJUFRJT04gPSAiUGFja2FnZSBncm91cCBicmluZ2luZyBpbiBwYWNrYWdlcyBuZWVkZWQgZm9yIGEgbW9yZSB0cmFkaXRpb25hbCBmdWxsLWZlYXR1cmVkIExpbnV4IHN5c3RlbSIKIFBSID0gInI2IgotTElDRU5TRSA9ICJNSVQiCiAKIGluaGVyaXQgcGFja2FnZWdyb3VwCiAKQEAgLTE0NCw3ICsxNDMsNiBAQAogICAgIGNyb25pZSBcCiAgICAgZGJ1cyBcCiAgICAgZGJ1cy1nbGliIFwKLSAgICBweXRob24tZGJ1cyBcCiAgICAgZWxmdXRpbHMgXAogICAgIGd6aXAgXAogICAgIGxlc3MgXApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9wYWNrYWdlZ3JvdXBzL3BhY2thZ2Vncm91cC1jb3JlLWxzYi5iYiBiL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvcGFja2FnZWdyb3Vwcy9wYWNrYWdlZ3JvdXAtY29yZS1sc2IuYmIKaW5kZXggYTI5YzNkNy4uMjk1NjRlMCAxMDA2NDQKLS0tIGEvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9wYWNrYWdlZ3JvdXBzL3BhY2thZ2Vncm91cC1jb3JlLWxzYi5iYgorKysgYi9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3BhY2thZ2Vncm91cHMvcGFja2FnZWdyb3VwLWNvcmUtbHNiLmJiCkBAIC01LDcgKzUsNiBAQAogU1VNTUFSWSA9ICJMaW51eCBTdGFuZGFyZCBCYXNlIChMU0IpIgogREVTQ1JJUFRJT04gPSAiUGFja2FnZXMgcmVxdWlyZWQgdG8gc2F0aXNmeSB0aGUgTGludXggU3RhbmRhcmQgQmFzZSAoTFNCKSBzcGVjaWZpY2F0aW9uIgogUFIgPSAicjEwIgotTElDRU5TRSA9ICJNSVQiCiAKIGluaGVyaXQgcGFja2FnZWdyb3VwIGRpc3Ryb19mZWF0dXJlc19jaGVjawogCkBAIC0yMDEsMTYgKzIwMCw2IEBACiAgICAgcHl0aG9uLW1pc2MgXAogIgogCi1kZWYgZ2V0X2xpYnF0MyhkKToKLSAgICBpZiAnbGludXhzdGRiYXNlJyBpbiBkLmdldFZhcignRElTVFJPT1ZFUlJJREVTJywgRmFsc2UpIG9yICIiOgotICAgICAgICBpZiAncXQzJyBpbiBkLmdldFZhcignQkJGSUxFX0NPTExFQ1RJT05TJywgRmFsc2UpIG9yICIiOgotICAgICAgICAgICAgcmV0dXJuICdsaWJxdC1tdDMnCi0KLSAgICAgICAgYmIud2FybignVGhlIG1ldGEtcXQzIGxheWVyIHNob3VsZCBiZSBhZGRlZCwgdGhpcyBsYXllciBwcm92aWRlcyBRdCAzLngnIFwKLSAgICAgICAgICAgICAgICAnbGlicmFyaWVzLiBJdHMgaW50ZW5kZWQgdXNlIGlzIGZvciBwYXNzaW5nIExTQiB0ZXN0cyBhcyBRdDMgaXMnIFwKLSAgICAgICAgICAgICAgICAnYSByZXF1aXJlbWVudCBmb3IgTFNCLicpCi0gICAgcmV0dXJuICcnCi0KIFFUNFBLR1MgPSAiIFwKICAgICBsaWJxdGNvcmU0IFwKICAgICBsaWJxdGd1aTQgXApAQCAtMjI5LDggKzIxOCw4IEBACiAgICAgICAgIGlmICdxdDQnIGluIGQuZ2V0VmFyKCdCQkZJTEVfQ09MTEVDVElPTlMnLCBGYWxzZSkgb3IgIiI6CiAgICAgICAgICAgICByZXR1cm4gZC5nZXRWYXIoJ1FUNFBLR1MnLCBGYWxzZSkKIAotICAgICAgICBiYi53YXJuKCdUaGUgbWV0YS1xdDQgbGF5ZXIgc2hvdWxkIGJlIGFkZGVkLCB0aGlzIGxheWVyIHByb3ZpZGVzIFF0IDQueCcgXAotICAgICAgICAgICAgICAgICdsaWJyYXJpZXMuIEl0cyBpbnRlbmRlZCB1c2UgaXMgZm9yIHBhc3NpbmcgTFNCIHRlc3RzIGFzIFF0NCBpcycgXAorICAgICAgICBiYi53YXJuKCdUaGUgbWV0YS1xdDQgbGF5ZXIgc2hvdWxkIGJlIGFkZGVkLCB0aGlzIGxheWVyIHByb3ZpZGVzIFF0IDQueCAnIFwKKyAgICAgICAgICAgICAgICAnbGlicmFyaWVzLiBJdHMgaW50ZW5kZWQgdXNlIGlzIGZvciBwYXNzaW5nIExTQiB0ZXN0cyBhcyBRdDQgaXMgJyBcCiAgICAgICAgICAgICAgICAgJ2EgcmVxdWlyZW1lbnQgZm9yIExTQi4nKQogICAgIHJldHVybiAnJwogCkBAIC0yNTUsNyArMjQ0LDYgQEAKICAgICBhdGsgXAogICAgIGxpYmFzb3VuZCBcCiAgICAgJHtAZ2V0X2xpYnF0NChkKX0gXAotICAgICR7QGdldF9saWJxdDMoZCl9IFwKICIKIAogUkRFUEVORFNfcGFja2FnZWdyb3VwLWNvcmUtbHNiLXJ1bnRpbWUtYWRkID0gIlwKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvcGFtL2xpYnBhbS9jcnlwdF9jb25maWd1cmUucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3BhbS9saWJwYW0vY3J5cHRfY29uZmlndXJlLnBhdGNoCmluZGV4IGJlYzgyYTUuLjkxN2E4YWYgMTAwNjQ0Ci0tLSBhL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvcGFtL2xpYnBhbS9jcnlwdF9jb25maWd1cmUucGF0Y2gKKysrIGIvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9wYW0vbGlicGFtL2NyeXB0X2NvbmZpZ3VyZS5wYXRjaApAQCAtMSwzMSArMSw0MCBAQAorRnJvbSBiODY1NzVhYjRhMGRmMDdkYTE2MDI4MzQ1OWRhMjcwZTFjMDM3MmEwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogIk1heGluIEIuIEpvaG4iIDxtYXhpbi5qb2huQGludGVsLmNvbT4KK0RhdGU6IFR1ZSwgMjQgTWF5IDIwMTYgMTQ6MTE6MDkgKzAzMDAKK1N1YmplY3Q6IFtQQVRDSF0gY3J5cHRfY29uZmlndXJlCisKIFRoaXMgcGF0Y2ggZml4ZXMgYSBjYXNlIHdoZXJlIGl0IGZpbmQgY3J5cHQgZGVmaW5lZCBpbiBsaWJjIChtdXNsKSBidXQKIG5vdCBpbiBzcGVjaWZpZWQgbGlicmFyaWVzIHRoZW4gaXQgZW5kcyB1cCBhc3NpZ25pbmcKLQogTElCQ1JZUFQ9Ii1sIiB3aGljaCB0aGVuIGdvZXMgaW50byBtYWtlZmlsZSBjYXVzZSBhbGwgc29ydCBvZiBwcm9ibGVtcwogZS5nLgogCiBsZDogY2Fubm90IGZpbmQgLWwtbTMyCiB8IGNvbGxlY3QyOiBlcnJvcjogbGQgcmV0dXJuZWQgMSBleGl0IHN0YXR1cwotCi1UaGUgcmVhc29uIGlzIHRoYXQgLWwgYXBwZWFycyBvbiBjb21tYW5kbGluZSB3aXRoIG91dCBhbnkgbGlicmFyeSBhbmQKLWNvbXBpbGVyIHRyZWF0cyB0aGUgbmV4dCBhcmd1bWVudCBhcyBsaWJyYXJ5IG5hbWUgd2hhdGV2ZXIgaXQgaXMuCi0KK1RoZSByZWFzb24gaXMgdGhhdCAtbCBhcHBlYXJzIG9uIGNvbW1hbmRsaW5lIHdpdGgKK291dCBhbnkgbGlicmFyeSBhbmQgY29tcGlsZXIgdHJlYXRzIHRoZSBuZXh0IGFyZ3VtZW50IGFzIGxpYnJhcnkgbmFtZQord2hhdGV2ZXIgaXQgaXMuCiAKIFVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KIAotSW5kZXg6IExpbnV4LVBBTS0xLjEuNi9jb25maWd1cmUuaW4KLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBMaW51eC1QQU0tMS4xLjYub3JnL2NvbmZpZ3VyZS5hYwotKysrIExpbnV4LVBBTS0xLjEuNi9jb25maWd1cmUuYWMKLUBAIC00MDAsNyArNDAwLDkgQEAgQVNfSUYoW3Rlc3QgIngkYWNfY3ZfaGVhZGVyX3hjcnlwdF9oIiA9CitTaWduZWQtb2ZmLWJ5OiBLaGVtIFJhaiA8cmFqLmtoZW1AZ21haWwuY29tPgorU2lnbmVkLW9mZi1ieTogTWF4aW4gQi4gSm9obiA8bWF4aW4uam9obkBpbnRlbC5jb20+CistLS0KKyBjb25maWd1cmUuYWMgfCAyICstCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9jb25maWd1cmUuYWMgYi9jb25maWd1cmUuYWMKK2luZGV4IGRmMzlkMDcuLmU2OGQ4NTYgMTAwNjQ0CistLS0gYS9jb25maWd1cmUuYWMKKysrKyBiL2NvbmZpZ3VyZS5hYworQEAgLTQwMSw3ICs0MDEsNyBAQCBBU19JRihbdGVzdCAieCRhY19jdl9oZWFkZXJfeGNyeXB0X2giID0gInh5ZXMiXSwKICAgIFtjcnlwdF9saWJzPSJjcnlwdCJdKQogIAogIEJBQ0tVUF9MSUJTPSRMSUJTCi0tQUNfU0VBUkNIX0xJQlMoW2NyeXB0XSxbJGNyeXB0X2xpYnNdLCBMSUJDUllQVD0iLWwkYWNfbGliIiwgTElCQ1JZUFQ9IiIpCi0rQUNfU0VBUkNIX0xJQlMoW2NyeXB0XSxbJGNyeXB0X2xpYnNdLAotKwkgICAgICAgW3Rlc3QgIiRhY19jdl9zZWFyY2hfY3J5cHQiID0gIm5vbmUgcmVxdWlyZWQiIHx8Ci0rCQlMSUJDUllQVD0iJGFjX2N2X3NlYXJjaF9jcnlwdCJdKQorLUFDX1NFQVJDSF9MSUJTKFtjcnlwdF0sWyRjcnlwdF9saWJzXSwgTElCQ1JZUFQ9IiR7YWNfbGliOistbCRhY19saWJ9IiwgTElCQ1JZUFQ9IiIpCisrQUNfU0VBUkNIX0xJQlMoW2NyeXB0XSxbJGNyeXB0X2xpYnNdLCBbdGVzdCAiJGFjX2N2X3NlYXJjaF9jcnlwdCIgPSAibm9uZSByZXF1aXJlZCIgfHwgTElCQ1JZUFQ9IiRhY19jdl9zZWFyY2hfY3J5cHQiXSkKICBBQ19DSEVDS19GVU5DUyhjcnlwdF9yIGNyeXB0X2dlbnNhbHRfcikKICBMSUJTPSRCQUNLVVBfTElCUwogIEFDX1NVQlNUKExJQkNSWVBUKQorLS0gCisyLjQuMAorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3BhbS9saWJwYW0vcGFtLW5vLWlubmV0Z3IucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3BhbS9saWJwYW0vcGFtLW5vLWlubmV0Z3IucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDVlNTUxYWMuLjAwMDAwMDAKLS0tIGEvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9wYW0vbGlicGFtL3BhbS1uby1pbm5ldGdyLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsOTcgKzAsMCBAQAotaW5uZXRnciBtYXkgbm90IGJlIHRoZXJlIHNvIG1ha2Ugc3VyZSB0aGF0IHdoZW4gaW5uZXRnciBpcyBub3QgcHJlc2VudAotdGhlbiB3ZSBpbmZvcm0gYWJvdXQgaXQgYW5kIG5vdCB1c2UgaXQuCi0KLS1LaGVtCi0KLVVwc3RyZWFtLVN0YXR1czogUGVuZGluZwotCi1TaWduZWQtb2ZmLWJ5OiBTY290dCBHYXJtYW4gPHNjb3R0LmEuZ2FybWFuQGludGVsLmNvbT4KLQotSW5kZXg6IExpbnV4LVBBTS0xLjEuMy9tb2R1bGVzL3BhbV9ncm91cC9wYW1fZ3JvdXAuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIExpbnV4LVBBTS0xLjEuMy5vcmlnL21vZHVsZXMvcGFtX2dyb3VwL3BhbV9ncm91cC5jCi0rKysgTGludXgtUEFNLTEuMS4zL21vZHVsZXMvcGFtX2dyb3VwL3BhbV9ncm91cC5jCi1AQCAtNjU5LDcgKzY1OSwxMSBAQCBzdGF0aWMgaW50IGNoZWNrX2FjY291bnQocGFtX2hhbmRsZV90ICpwCi0gCX0KLSAJLyogSWYgYnVmZmVyIHN0YXJ0cyB3aXRoIEAsIHdlIGFyZSB1c2luZyBuZXRncm91cHMgKi8KLSAJaWYgKGJ1ZmZlclswXSA9PSAnQCcpCi0tCSAgZ29vZCAmPSBpbm5ldGdyICgmYnVmZmVyWzFdLCBOVUxMLCB1c2VyLCBOVUxMKTsKLSsjaWZkZWYgSEFWRV9JTk5FVEdSCi0rICAgICAgICAgICBnb29kICY9IGlubmV0Z3IgKCZidWZmZXJbMV0sIE5VTEwsIHVzZXIsIE5VTEwpOwotKyNlbHNlCi0rICAgICAgICAgICBwYW1fc3lzbG9nIChwYW1oLCBMT0dfRVJSLCAicGFtX2dyb3VwIGRvZXMgbm90IGhhdmUgbmV0Z3JvdXAgc3VwcG9ydCIpOwotKyNlbmRpZgotIAkvKiBvdGhlcndpc2UsIGlmIHRoZSBidWZmZXIgc3RhcnRzIHdpdGggJSwgaXQncyBhIFVOSVggZ3JvdXAgKi8KLSAJZWxzZSBpZiAoYnVmZmVyWzBdID09ICclJykKLSAgICAgICAgICAgZ29vZCAmPSBwYW1fbW9kdXRpbF91c2VyX2luX2dyb3VwX25hbV9uYW0ocGFtaCwgdXNlciwgJmJ1ZmZlclsxXSk7Ci1JbmRleDogTGludXgtUEFNLTEuMS4zL21vZHVsZXMvcGFtX3RpbWUvcGFtX3RpbWUuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIExpbnV4LVBBTS0xLjEuMy5vcmlnL21vZHVsZXMvcGFtX3RpbWUvcGFtX3RpbWUuYwotKysrIExpbnV4LVBBTS0xLjEuMy9tb2R1bGVzL3BhbV90aW1lL3BhbV90aW1lLmMKLUBAIC01NTUsOSArNTU1LDEzIEBAIGNoZWNrX2FjY291bnQocGFtX2hhbmRsZV90ICpwYW1oLCBjb25zdAotIAkgIH0KLSAJICAvKiBJZiBidWZmZXIgc3RhcnRzIHdpdGggQCwgd2UgYXJlIHVzaW5nIG5ldGdyb3VwcyAqLwotIAkgIGlmIChidWZmZXJbMF0gPT0gJ0AnKQotLQkgICAgZ29vZCAmPSBpbm5ldGdyICgmYnVmZmVyWzFdLCBOVUxMLCB1c2VyLCBOVUxMKTsKLSsjaWZkZWYgSEFWRV9JTk5FVEdSCi0rCSAgICAgICBnb29kICY9IGlubmV0Z3IgKCZidWZmZXJbMV0sIE5VTEwsIHVzZXIsIE5VTEwpOwotKyNlbHNlCi0rCSAgICAgICBwYW1fc3lzbG9nIChwYW1oLCBMT0dfRVJSLCAicGFtX3RpbWUgZG9lcyBub3QgaGF2ZSBuZXRncm91cCBzdXBwb3J0Iik7Ci0rI2VuZGlmCi0gCSAgZWxzZQotLQkgICAgZ29vZCAmPSBsb2dpY19maWVsZChwYW1oLCB1c2VyLCBidWZmZXIsIGNvdW50LCBpc19zYW1lKTsKLSsJICAgICAgIGdvb2QgJj0gbG9naWNfZmllbGQocGFtaCwgdXNlciwgYnVmZmVyLCBjb3VudCwgaXNfc2FtZSk7Ci0gCSAgRCgoIndpdGggdXNlcjogJXMiLCBnb29kID8gInBhc3NlcyI6ImZhaWxzIiApKTsKLSAKLSAJICAvKiBoZXJlIHdlIGdldCB0aGUgdGltZSBmaWVsZCAqLwotSW5kZXg6IExpbnV4LVBBTS0xLjEuMy9tb2R1bGVzL3BhbV9zdWNjZWVkX2lmL3BhbV9zdWNjZWVkX2lmLmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBMaW51eC1QQU0tMS4xLjMub3JpZy9tb2R1bGVzL3BhbV9zdWNjZWVkX2lmL3BhbV9zdWNjZWVkX2lmLmMKLSsrKyBMaW51eC1QQU0tMS4xLjMvbW9kdWxlcy9wYW1fc3VjY2VlZF9pZi9wYW1fc3VjY2VlZF9pZi5jCi1AQCAtMjMxLDE4ICsyMzEsMjcgQEAgZXZhbHVhdGVfbm90aW5ncm91cChwYW1faGFuZGxlX3QgKnBhbWgsCi0gfQotIC8qIFJldHVybiBQQU1fU1VDQ0VTUyBpZiB0aGUgKGhvc3QsdXNlcikgaXMgaW4gdGhlIG5ldGdyb3VwLiAqLwotIHN0YXRpYyBpbnQKLS1ldmFsdWF0ZV9pbm5ldGdyKGNvbnN0IGNoYXIgKmhvc3QsIGNvbnN0IGNoYXIgKnVzZXIsIGNvbnN0IGNoYXIgKmdyb3VwKQotK2V2YWx1YXRlX2lubmV0Z3IoY29uc3QgcGFtX2hhbmRsZV90KiBwYW1oLCBjb25zdCBjaGFyICpob3N0LCBjb25zdCBjaGFyICp1c2VyLCBjb25zdCBjaGFyICpncm91cCkKLSB7Ci0rI2lmZGVmIEhBVkVfSU5ORVRHUgotIAlpZiAoaW5uZXRncihncm91cCwgaG9zdCwgdXNlciwgTlVMTCkgPT0gMSkKLSAJCXJldHVybiBQQU1fU1VDQ0VTUzsKLSsjZWxzZQotKyAgICAgICAgcGFtX3N5c2xvZyAocGFtaCwgTE9HX0VSUiwgInBhbV9zdWNjZWVkX2lmIGRvZXMgbm90IGhhdmUgbmV0Z3JvdXAgc3VwcG9ydCIpOwotKyNlbmRpZgotKwotIAlyZXR1cm4gUEFNX0FVVEhfRVJSOwotIH0KLSAvKiBSZXR1cm4gUEFNX1NVQ0NFU1MgaWYgdGhlIChob3N0LHVzZXIpIGlzIE5PVCBpbiB0aGUgbmV0Z3JvdXAuICovCi0gc3RhdGljIGludAotLWV2YWx1YXRlX25vdGlubmV0Z3IoY29uc3QgY2hhciAqaG9zdCwgY29uc3QgY2hhciAqdXNlciwgY29uc3QgY2hhciAqZ3JvdXApCi0rZXZhbHVhdGVfbm90aW5uZXRncihjb25zdCBwYW1faGFuZGxlX3QqIHBhbWgsIGNvbnN0IGNoYXIgKmhvc3QsIGNvbnN0IGNoYXIgKnVzZXIsIGNvbnN0IGNoYXIgKmdyb3VwKQotIHsKLSsjaWZkZWYgSEFWRV9JTk5FVEdSCi0gCWlmIChpbm5ldGdyKGdyb3VwLCBob3N0LCB1c2VyLCBOVUxMKSA9PSAwKQotIAkJcmV0dXJuIFBBTV9TVUNDRVNTOwotKyNlbHNlCi0rCXBhbV9zeXNsb2cgKHBhbWgsIExPR19FUlIsICJwYW1fc3VjY2VlZF9pZiBkb2VzIG5vdCBoYXZlIG5ldGdyb3VwIHN1cHBvcnQiKTsKLSsjZW5kaWYKLSAJcmV0dXJuIFBBTV9BVVRIX0VSUjsKLSB9Ci0gCi1AQCAtMzYxLDE0ICszNzAsMTQgQEAgZXZhbHVhdGUocGFtX2hhbmRsZV90ICpwYW1oLCBpbnQgZGVidWcsCi0gCQljb25zdCB2b2lkICpyaG9zdDsKLSAJCWlmIChwYW1fZ2V0X2l0ZW0ocGFtaCwgUEFNX1JIT1NULCAmcmhvc3QpICE9IFBBTV9TVUNDRVNTKQotIAkJCXJob3N0ID0gTlVMTDsKLS0JCXJldHVybiBldmFsdWF0ZV9pbm5ldGdyKHJob3N0LCB1c2VyLCByaWdodCk7Ci0rCQlyZXR1cm4gZXZhbHVhdGVfaW5uZXRncihwYW1oLCByaG9zdCwgdXNlciwgcmlnaHQpOwotIAl9Ci0gCS8qIChSaG9zdCwgdXNlcikgaXMgbm90IGluIHRoaXMgZ3JvdXAuICovCi0gCWlmIChzdHJjYXNlY21wKHF1YWwsICJub3Rpbm5ldGdyIikgPT0gMCkgewotIAkJY29uc3Qgdm9pZCAqcmhvc3Q7Ci0gCQlpZiAocGFtX2dldF9pdGVtKHBhbWgsIFBBTV9SSE9TVCwgJnJob3N0KSAhPSBQQU1fU1VDQ0VTUykKLSAJCQlyaG9zdCA9IE5VTEw7Ci0tCQlyZXR1cm4gZXZhbHVhdGVfbm90aW5uZXRncihyaG9zdCwgdXNlciwgcmlnaHQpOwotKwkJcmV0dXJuIGV2YWx1YXRlX25vdGlubmV0Z3IocGFtaCwgcmhvc3QsIHVzZXIsIHJpZ2h0KTsKLSAJfQotIAkvKiBGYWlsIGNsb3NlZC4gKi8KLSAJcmV0dXJuIFBBTV9TRVJWSUNFX0VSUjsKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvcGFtL2xpYnBhbS9wYW0tdW5peC1udWxsb2stc2VjdXJlLnBhdGNoIGIvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9wYW0vbGlicGFtL3BhbS11bml4LW51bGxvay1zZWN1cmUucGF0Y2gKaW5kZXggMzI0MWU4Mi4uZDJjYzY2OCAxMDA2NDQKLS0tIGEvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9wYW0vbGlicGFtL3BhbS11bml4LW51bGxvay1zZWN1cmUucGF0Y2gKKysrIGIvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9wYW0vbGlicGFtL3BhbS11bml4LW51bGxvay1zZWN1cmUucGF0Y2gKQEAgLTEsOSArMSwxMSBAQAotRnJvbSA5YmRjMTk3NDc0Nzk1ZjJkMDAwYzJiYzA0ZjU4ZjdjZWY4ODk4ZjIxIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogQW1hcm5hdGggVmFsbHVyaSA8YW1hcm5hdGgudmFsbHVyaUBpbnRlbC5jb20+Ci1EYXRlOiBXZWQsIDE1IEp1bCAyMDE1IDEzOjA3OjIwICswMzAwCi1TdWJqZWN0OiBbUEFUQ0hdIERlYmlhbiBwYXRjaCB0byBhZGQgYSBuZXcgJ251bGxva19zZWN1cmUnIG9wdGlvbiB0byBwYW1fdW5peCwKLSB3aGljaCBhY2NlcHRzIHVzZXJzIHdpdGggbnVsbCBwYXNzd29yZHMgb25seSB3aGVuIHRoZSBhcHBsaWNhbnQgaXMgY29ubmVjdGVkCi0gZnJvbSBhIHR0eSBsaXN0ZWQgaW4gL2V0Yy9zZWN1cmV0dHkuCitGcm9tIGI2NTQ1YjgzZjk0YzVmYjdhZWMxNDc4YjhkNDU4YTEzOTNmNDc5YzggTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiAiTWF4aW4gQi4gSm9obiIgPG1heGluLmpvaG5AaW50ZWwuY29tPgorRGF0ZTogV2VkLCAyNSBNYXkgMjAxNiAxNDoxMjoyNSArMDMwMAorU3ViamVjdDogW1BBVENIXSBwYW1fdW5peDogc3VwcG9ydCAnbnVsbG9rX3NlY3VyZScgb3B0aW9uCisKK0RlYmlhbiBwYXRjaCB0byBhZGQgYSBuZXcgJ251bGxva19zZWN1cmUnIG9wdGlvbiB0byBwYW1fdW5peCwKK3doaWNoIGFjY2VwdHMgdXNlcnMgd2l0aCBudWxsIHBhc3N3b3JkcyBvbmx5IHdoZW4gdGhlIGFwcGxpY2FudCBpcworY29ubmVjdGVkIGZyb20gYSB0dHkgbGlzdGVkIGluIC9ldGMvc2VjdXJldHR5LgogCiBBdXRob3JzOiBTYW0gSGFydG1hbiA8aGFydG1hbnNAZGViaWFuLm9yZz4sCiAgICAgICAgICBTdGV2ZSBMYW5nYXNlayA8dm9ybG9uQGRlYmlhbi5vcmc+CkBAIC0xMSw3OCArMTMsMzEgQEAKIFVwc3RyZWFtLVN0YXR1czogUGVuZGluZwogCiBTaWduZWQtb2ZmLWJ5OiBNaW5nIExpdSA8bWluZy5saXVAd2luZHJpdmVyLmNvbT4KLQotdjI6Ci0JLSBGb3J3YXJkIHBvcnRlZCBmcm9tIHYxLjEuNiB0byB2MS4yLjEKLQogU2lnbmVkLW9mZi1ieTogQW1hcm5hdGggVmFsbHVyaSA8YW1hcm5hdGgudmFsbHVyaUBpbnRlbC5jb20+CitTaWduZWQtb2ZmLWJ5OiBNYXhpbiBCLiBKb2huIDxtYXhpbi5qb2huQGludGVsLmNvbT4KIC0tLQogIG1vZHVsZXMvcGFtX3VuaXgvTWFrZWZpbGUuYW0gICAgfCAgMyArKy0KLSBtb2R1bGVzL3BhbV91bml4L1JFQURNRSAgICAgICAgIHwgMTEgKysrKysrKysrKy0KLSBtb2R1bGVzL3BhbV91bml4L3BhbV91bml4LjggICAgIHwgIDkgKysrKysrKystCiAgbW9kdWxlcy9wYW1fdW5peC9wYW1fdW5peC44LnhtbCB8IDE5ICsrKysrKysrKysrKysrKysrKy0KICBtb2R1bGVzL3BhbV91bml4L3N1cHBvcnQuYyAgICAgIHwgNDAgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLQogIG1vZHVsZXMvcGFtX3VuaXgvc3VwcG9ydC5oICAgICAgfCAgOCArKysrKystLQotIDYgZmlsZXMgY2hhbmdlZCwgNzkgaW5zZXJ0aW9ucygrKSwgMTEgZGVsZXRpb25zKC0pCisgNCBmaWxlcyBjaGFuZ2VkLCA2MSBpbnNlcnRpb25zKCspLCA5IGRlbGV0aW9ucygtKQogCiBkaWZmIC0tZ2l0IGEvbW9kdWxlcy9wYW1fdW5peC9NYWtlZmlsZS5hbSBiL21vZHVsZXMvcGFtX3VuaXgvTWFrZWZpbGUuYW0KLWluZGV4IDU2ZWQ1OTEuLjlhMzcyYWMgMTAwNjQ0CitpbmRleCA1NmRmMTc4Li4yYmJhNDYwIDEwMDY0NAogLS0tIGEvbW9kdWxlcy9wYW1fdW5peC9NYWtlZmlsZS5hbQogKysrIGIvbW9kdWxlcy9wYW1fdW5peC9NYWtlZmlsZS5hbQogQEAgLTMwLDcgKzMwLDggQEAgaWYgSEFWRV9WRVJTSU9OSU5HCiAgICBwYW1fdW5peF9sYV9MREZMQUdTICs9IC1XbCwtLXZlcnNpb24tc2NyaXB0PSQoc3JjZGlyKS8uLi9tb2R1bGVzLm1hcAogIGVuZGlmCiAgcGFtX3VuaXhfbGFfTElCQUREID0gJCh0b3BfYnVpbGRkaXIpL2xpYnBhbS9saWJwYW0ubGEgXAotLQlATElCQ1JZUFRAIEBMSUJTRUxJTlVYQCAkKE5JU19MSUJTKQotKwlATElCQ1JZUFRAIEBMSUJTRUxJTlVYQCAkKE5JU19MSUJTKSBcCistCUBMSUJDUllQVEAgQExJQlNFTElOVVhAIEBUSVJQQ19MSUJTQCBATlNMX0xJQlNACisrCUBMSUJDUllQVEAgQExJQlNFTElOVVhAIEBUSVJQQ19MSUJTQCBATlNMX0xJQlNAIFwKICsJLi4vcGFtX3NlY3VyZXR0eS90dHlfc2VjdXJlLmxvCiAgCiAgc2VjdXJlbGliX0xUTElCUkFSSUVTID0gcGFtX3VuaXgubGEKICAKLWRpZmYgLS1naXQgYS9tb2R1bGVzL3BhbV91bml4L1JFQURNRSBiL21vZHVsZXMvcGFtX3VuaXgvUkVBRE1FCi1pbmRleCAzOTM1ZGJhLi43ODgwZDkxIDEwMDY0NAotLS0tIGEvbW9kdWxlcy9wYW1fdW5peC9SRUFETUUKLSsrKyBiL21vZHVsZXMvcGFtX3VuaXgvUkVBRE1FCi1AQCAtNjcsNyArNjcsMTYgQEAgbnVsbG9rCi0gCi0gICAgIFRoZSBkZWZhdWx0IGFjdGlvbiBvZiB0aGlzIG1vZHVsZSBpcyB0byBub3QgcGVybWl0IHRoZSB1c2VyIGFjY2VzcyB0byBhCi0gICAgIHNlcnZpY2UgaWYgdGhlaXIgb2ZmaWNpYWwgcGFzc3dvcmQgaXMgYmxhbmsuIFRoZSBudWxsb2sgYXJndW1lbnQgb3ZlcnJpZGVzCi0tICAgIHRoaXMgZGVmYXVsdC4KLSsgICAgdGhpcyBkZWZhdWx0IGFuZCBhbGxvd3MgYW55IHVzZXIgd2l0aCBhIGJsYW5rIHBhc3N3b3JkIHRvIGFjY2VzcyB0aGUKLSsgICAgc2VydmljZS4KLSsKLStudWxsb2tfc2VjdXJlCi0rCi0rICAgIFRoZSBkZWZhdWx0IGFjdGlvbiBvZiB0aGlzIG1vZHVsZSBpcyB0byBub3QgcGVybWl0IHRoZSB1c2VyIGFjY2VzcyB0byBhCi0rICAgIHNlcnZpY2UgaWYgdGhlaXIgb2ZmaWNpYWwgcGFzc3dvcmQgaXMgYmxhbmsuIFRoZSBudWxsb2tfc2VjdXJlIGFyZ3VtZW50Ci0rICAgIG92ZXJyaWRlcyB0aGlzIGRlZmF1bHQgYW5kIGFsbG93cyBhbnkgdXNlciB3aXRoIGEgYmxhbmsgcGFzc3dvcmQgdG8gYWNjZXNzCi0rICAgIHRoZSBzZXJ2aWNlIGFzIGxvbmcgYXMgdGhlIHZhbHVlIG9mIFBBTV9UVFkgaXMgc2V0IHRvIG9uZSBvZiB0aGUgdmFsdWVzCi0rICAgIGZvdW5kIGluIC9ldGMvc2VjdXJldHR5LgotIAotIHRyeV9maXJzdF9wYXNzCi0gCi1kaWZmIC0tZ2l0IGEvbW9kdWxlcy9wYW1fdW5peC9wYW1fdW5peC44IGIvbW9kdWxlcy9wYW1fdW5peC9wYW1fdW5peC44Ci1pbmRleCAzMzkxNzhiLi5hNGJkOTA2IDEwMDY0NAotLS0tIGEvbW9kdWxlcy9wYW1fdW5peC9wYW1fdW5peC44Ci0rKysgYi9tb2R1bGVzL3BhbV91bml4L3BhbV91bml4LjgKLUBAIC05Miw3ICs5MiwxNCBAQCBUdXJucyBvZmYgaW5mb3JtYXRpb25hbCBtZXNzYWdlcyBuYW1lbHkgbWVzc2FnZXMgYWJvdXQgc2Vzc2lvbiBvcGVuIGFuZCBjbG9zZSB2aQotIC5SUyA0Ci0gVGhlIGRlZmF1bHQgYWN0aW9uIG9mIHRoaXMgbW9kdWxlIGlzIHRvIG5vdCBwZXJtaXQgdGhlIHVzZXIgYWNjZXNzIHRvIGEgc2VydmljZSBpZiB0aGVpciBvZmZpY2lhbCBwYXNzd29yZCBpcyBibGFua1wmLiBUaGUKLSBcZkJudWxsb2tcZlIKLS1hcmd1bWVudCBvdmVycmlkZXMgdGhpcyBkZWZhdWx0XCYuCi0rYXJndW1lbnQgb3ZlcnJpZGVzIHRoaXMgZGVmYXVsdCBhbmQgYWxsb3dzIGFueSB1c2VyIHdpdGggYSBibGFuayBwYXNzd29yZCB0byBhY2Nlc3MgdGhlIHNlcnZpY2VcJi4KLSsuUkUKLSsuUFAKLStcZkJudWxsb2tfc2VjdXJlXGZSCi0rLlJTIDQKLStUaGUgZGVmYXVsdCBhY3Rpb24gb2YgdGhpcyBtb2R1bGUgaXMgdG8gbm90IHBlcm1pdCB0aGUgdXNlciBhY2Nlc3MgdG8gYSBzZXJ2aWNlIGlmIHRoZWlyIG9mZmljaWFsIHBhc3N3b3JkIGlzIGJsYW5rXCYuIFRoZQotK1xmQm51bGxva19zZWN1cmVcZlIKLSthcmd1bWVudCBvdmVycmlkZXMgdGhpcyBkZWZhdWx0IGFuZCBhbGxvd3MgYW55IHVzZXIgd2l0aCBhIGJsYW5rIHBhc3N3b3JkIHRvIGFjY2VzcyB0aGUgc2VydmljZSBhcyBsb25nIGFzIHRoZSB2YWx1ZSBvZiBQQU1fVFRZIGlzIHNldCB0byBvbmUgb2YgdGhlIHZhbHVlcyBmb3VuZCBpbiAvZXRjL3NlY3VyZXR0eVwmLgotIC5SRQotIC5QUAotIFxmQnRyeV9maXJzdF9wYXNzXGZSCiBkaWZmIC0tZ2l0IGEvbW9kdWxlcy9wYW1fdW5peC9wYW1fdW5peC44LnhtbCBiL21vZHVsZXMvcGFtX3VuaXgvcGFtX3VuaXguOC54bWwKLWluZGV4IGE4YjY0YmIuLjFjZWQ2ZjQgMTAwNjQ0CitpbmRleCAxYjMxOGYxLi5iZTAzMzBlIDEwMDY0NAogLS0tIGEvbW9kdWxlcy9wYW1fdW5peC9wYW1fdW5peC44LnhtbAogKysrIGIvbW9kdWxlcy9wYW1fdW5peC9wYW1fdW5peC44LnhtbAogQEAgLTE1OSw3ICsxNTksMjQgQEAKQEAgLTExMiwxMCArNjcsMTAgQEAKICAgICAgICAgIDwvbGlzdGl0ZW0+CiAgICAgICAgPC92YXJsaXN0ZW50cnk+CiBkaWZmIC0tZ2l0IGEvbW9kdWxlcy9wYW1fdW5peC9zdXBwb3J0LmMgYi9tb2R1bGVzL3BhbV91bml4L3N1cHBvcnQuYwotaW5kZXggYWJjY2Q4Mi4uMjM2MTk1NyAxMDA2NDQKK2luZGV4IGZjODU5NWUuLjI5ZTMzNDEgMTAwNjQ0CiAtLS0gYS9tb2R1bGVzL3BhbV91bml4L3N1cHBvcnQuYwogKysrIGIvbW9kdWxlcy9wYW1fdW5peC9zdXBwb3J0LmMKLUBAIC0xODksMTMgKzE4OSwyMiBAQCBpbnQgX3NldF9jdHJsKHBhbV9oYW5kbGVfdCAqcGFtaCwgaW50IGZsYWdzLCBpbnQgKnJlbWVtYmVyLCBpbnQgKnJvdW5kcywKK0BAIC0xODMsMTMgKzE4MywyMiBAQCBpbnQgX3NldF9jdHJsKHBhbV9oYW5kbGVfdCAqcGFtaCwgaW50IGZsYWdzLCBpbnQgKnJlbWVtYmVyLCBpbnQgKnJvdW5kcywKICAJLyogbm93IHBhcnNlIHRoZSBhcmd1bWVudHMgdG8gdGhpcyBtb2R1bGUgKi8KICAKICAJZm9yICg7IGFyZ2MtLSA+IDA7ICsrYXJndikgewpAQCAtMTQxLDcgKzk2LDcgQEAKICAJCQl9CiAgCQl9CiAgCi1AQCAtNTY2LDYgKzU3NSw3IEBAIHN0YXRpYyBpbnQgX3VuaXhfcnVuX2hlbHBlcl9iaW5hcnkocGFtX2hhbmRsZV90ICpwYW1oLCBjb25zdCBjaGFyICpwYXNzd2QsCitAQCAtNTYwLDYgKzU2OSw3IEBAIHN0YXRpYyBpbnQgX3VuaXhfcnVuX2hlbHBlcl9iaW5hcnkocGFtX2hhbmRsZV90ICpwYW1oLCBjb25zdCBjaGFyICpwYXNzd2QsCiAgICAgIGlmIChjaGlsZCA9PSAwKSB7CiAgCXN0YXRpYyBjaGFyICplbnZwW10gPSB7IE5VTEwgfTsKICAJY29uc3QgY2hhciAqYXJnc1tdID0geyBOVUxMLCBOVUxMLCBOVUxMLCBOVUxMIH07CkBAIC0xNDksNyArMTA0LDcgQEAKICAKICAJLyogWFhYIC0gc2hvdWxkIHJlYWxseSB0aWR5IHVwIFBBTSBoZXJlIHRvbyAqLwogIAotQEAgLTU5Myw3ICs2MDMsMTYgQEAgc3RhdGljIGludCBfdW5peF9ydW5faGVscGVyX2JpbmFyeShwYW1faGFuZGxlX3QgKnBhbWgsIGNvbnN0IGNoYXIgKnBhc3N3ZCwKK0BAIC01ODcsNyArNTk3LDE2IEBAIHN0YXRpYyBpbnQgX3VuaXhfcnVuX2hlbHBlcl9iaW5hcnkocGFtX2hhbmRsZV90ICpwYW1oLCBjb25zdCBjaGFyICpwYXNzd2QsCiAgCS8qIGV4ZWMgYmluYXJ5IGhlbHBlciAqLwogIAlhcmdzWzBdID0gQ0hLUFdEX0hFTFBFUjsKICAJYXJnc1sxXSA9IHVzZXI7CkBAIC0xNjcsNyArMTIyLDcgQEAKICAJICBhcmdzWzJdPSJudWxsb2siOwogIAl9IGVsc2UgewogIAkgIGFyZ3NbMl09Im5vbnVsbCI7Ci1AQCAtNjc4LDYgKzY5NywxNyBAQCBfdW5peF9ibGFua3Bhc3N3ZCAocGFtX2hhbmRsZV90ICpwYW1oLCB1bnNpZ25lZCBpbnQgY3RybCwgY29uc3QgY2hhciAqbmFtZSkKK0BAIC02NzIsNiArNjkxLDE3IEBAIF91bml4X2JsYW5rcGFzc3dkIChwYW1faGFuZGxlX3QgKnBhbWgsIHVuc2lnbmVkIGludCBjdHJsLCBjb25zdCBjaGFyICpuYW1lKQogIAlpZiAob24oVU5JWF9fTk9OVUxMLCBjdHJsKSkKICAJCXJldHVybiAwOwkvKiB3aWxsIGZhaWwgYnV0IGRvbid0IGxldCBvbiB5ZXQgKi8KICAKQEAgLTE4NSw3ICsxNDAsNyBAQAogIAkvKiBVTklYIHBhc3N3b3JkcyBhcmVhICovCiAgCiAgCXJldHZhbCA9IGdldF9wd2RfaGFzaChwYW1oLCBuYW1lLCAmcHdkLCAmc2FsdCk7Ci1AQCAtNzY0LDcgKzc5NCw3IEBAIGludCBfdW5peF92ZXJpZnlfcGFzc3dvcmQocGFtX2hhbmRsZV90ICogcGFtaCwgY29uc3QgY2hhciAqbmFtZQorQEAgLTc1OCw3ICs3ODgsNyBAQCBpbnQgX3VuaXhfdmVyaWZ5X3Bhc3N3b3JkKHBhbV9oYW5kbGVfdCAqIHBhbWgsIGNvbnN0IGNoYXIgKm5hbWUKICAJCQl9CiAgCQl9CiAgCX0gZWxzZSB7CkBAIC0xOTUsNDYgKzE1MCw0NiBAQAogIAogIAlpZiAocmV0dmFsID09IFBBTV9TVUNDRVNTKSB7CiBkaWZmIC0tZ2l0IGEvbW9kdWxlcy9wYW1fdW5peC9zdXBwb3J0LmggYi9tb2R1bGVzL3BhbV91bml4L3N1cHBvcnQuaAotaW5kZXggMzcyOWNlMC4uNDNjZGJlYSAxMDA2NDQKK2luZGV4IGI0YzI3OWMuLjhkYTRhOGUgMTAwNjQ0CiAtLS0gYS9tb2R1bGVzL3BhbV91bml4L3N1cHBvcnQuaAogKysrIGIvbW9kdWxlcy9wYW1fdW5peC9zdXBwb3J0LmgKLUBAIC05OSw4ICs5OSw5IEBAIHR5cGVkZWYgc3RydWN0IHsKLSAjZGVmaW5lIFVOSVhfTUlOX1BBU1NfTEVOICAgICAgICAyNwkvKiBtaW4gbGVuZ3RoIGZvciBwYXNzd29yZCAqLworQEAgLTk4LDggKzk4LDkgQEAgdHlwZWRlZiBzdHJ1Y3QgewogICNkZWZpbmUgVU5JWF9RVUlFVAkJIDI4CS8qIERvbid0IHByaW50IGluZm9ybWF0aW9uYWwgbWVzc2FnZXMgKi8KLSAjZGVmaW5lIFVOSVhfREVTICAgICAgICAgICAgICAgICAyOSAgICAgLyogREVTLCBkZWZhdWx0ICovCi0rI2RlZmluZSBVTklYX05VTExPS19TRUNVUkUgICAgICAgMzAgICAgIC8qIE5VTEwgcGFzc3dvcmRzIGFsbG93ZWQgb25seSBvbiBzZWN1cmUgdHR5cyAqLworICNkZWZpbmUgVU5JWF9OT19QQVNTX0VYUElSWSAgICAgIDI5ICAgICAvKiBEb24ndCBjaGVjayBmb3IgcGFzc3dvcmQgZXhwaXJhdGlvbiBpZiBub3QgdXNlZCBmb3IgYXV0aGVudGljYXRpb24gKi8KKyAjZGVmaW5lIFVOSVhfREVTICAgICAgICAgICAgICAgICAzMCAgICAgLyogREVTLCBkZWZhdWx0ICovCisrI2RlZmluZSBVTklYX05VTExPS19TRUNVUkUgICAgICAgMzEgICAgIC8qIE5VTEwgcGFzc3dvcmRzIGFsbG93ZWQgb25seSBvbiBzZWN1cmUgdHR5cyAqLwogIC8qIC0tLS0tLS0tLS0tLS0tICovCi0tI2RlZmluZSBVTklYX0NUUkxTXyAgICAgICAgICAgICAgMzAJLyogbnVtYmVyIG9mIGN0cmwgYXJndW1lbnRzIGRlZmluZWQgKi8KLSsjZGVmaW5lIFVOSVhfQ1RSTFNfICAgICAgICAgICAgICAzMQkvKiBudW1iZXIgb2YgY3RybCBhcmd1bWVudHMgZGVmaW5lZCAqLworLSNkZWZpbmUgVU5JWF9DVFJMU18gICAgICAgICAgICAgIDMxCS8qIG51bWJlciBvZiBjdHJsIGFyZ3VtZW50cyBkZWZpbmVkICovCisrI2RlZmluZSBVTklYX0NUUkxTXyAgICAgICAgICAgICAgMzIJLyogbnVtYmVyIG9mIGN0cmwgYXJndW1lbnRzIGRlZmluZWQgKi8KICAKICAjZGVmaW5lIFVOSVhfREVTX0NSWVBUKGN0cmwpCShvZmYoVU5JWF9NRDVfUEFTUyxjdHJsKSYmb2ZmKFVOSVhfQklHQ1JZUFQsY3RybCkmJm9mZihVTklYX1NIQTI1Nl9QQVNTLGN0cmwpJiZvZmYoVU5JWF9TSEE1MTJfUEFTUyxjdHJsKSYmb2ZmKFVOSVhfQkxPV0ZJU0hfUEFTUyxjdHJsKSkKICAKLUBAIC0xMTgsNyArMTE5LDcgQEAgc3RhdGljIGNvbnN0IFVOSVhfQ3RybHMgdW5peF9hcmdzW1VOSVhfQ1RSTFNfXSA9Ci0gLyogVU5JWF9OT1RfU0VUX1BBU1MgKi8gICAgeyJub3Rfc2V0X3Bhc3MiLCAgICBfQUxMX09OXywgICAgICAgICAgICAgICAgMDEwMCwgMH0sCitAQCAtMTE3LDcgKzExOCw3IEBAIHN0YXRpYyBjb25zdCBVTklYX0N0cmxzIHVuaXhfYXJnc1tVTklYX0NUUkxTX10gPQorIC8qIFVOSVhfQVVUSFRPS19UWVBFICovICAgIHsiYXV0aHRva190eXBlPSIsICAgX0FMTF9PTl8sICAgICAgICAgICAgICAgIDAxMDAsIDB9LAogIC8qIFVOSVhfX1BSRUxJTSAqLyAgICAgICAgIHtOVUxMLCAgICAgICAgICAgICAgX0FMTF9PTl9eKDA2MDApLCAgICAgICAgIDAyMDAsIDB9LAogIC8qIFVOSVhfX1VQREFURSAqLyAgICAgICAgIHtOVUxMLCAgICAgICAgICAgICAgX0FMTF9PTl9eKDA2MDApLCAgICAgICAgIDA0MDAsIDB9LAogLS8qIFVOSVhfX05PTlVMTCAqLyAgICAgICAgIHtOVUxMLCAgICAgICAgICAgICAgX0FMTF9PTl8sICAgICAgICAgICAgICAgMDEwMDAsIDB9LAotKy8qIFVOSVhfX05PTlVMTCAqLyAgICAgICAgIHtOVUxMLCAgICAgICAgICAgICAgX0FMTF9PTl9eKDAyMDAwMDAwMDAwKSwgICAwMTAwMCwgMH0sCisrLyogVU5JWF9fTk9OVUxMICovICAgICAgICAge05VTEwsICAgICAgICAgICAgICBfQUxMX09OX14oMDIwMDAwMDAwMDApLCAwMTAwMCwgMH0sCiAgLyogVU5JWF9fUVVJRVQgKi8gICAgICAgICAge05VTEwsICAgICAgICAgICAgICBfQUxMX09OXywgICAgICAgICAgICAgICAwMjAwMCwgMH0sCiAgLyogVU5JWF9VU0VfQVVUSFRPSyAqLyAgICAgeyJ1c2VfYXV0aHRvayIsICAgICBfQUxMX09OXywgICAgICAgICAgICAgICAwNDAwMCwgMH0sCiAgLyogVU5JWF9TSEFET1cgKi8gICAgICAgICAgeyJzaGFkb3ciLCAgICAgICAgICBfQUxMX09OXywgICAgICAgICAgICAgIDAxMDAwMCwgMH0sCiBAQCAtMTM5LDYgKzE0MCw3IEBAIHN0YXRpYyBjb25zdCBVTklYX0N0cmxzIHVuaXhfYXJnc1tVTklYX0NUUkxTX10gPQotIC8qIFVOSVhfTUlOX1BBU1NfTEVOICovICAgIHsibWlubGVuPSIsCQlfQUxMX09OXywgICAgICAgICAwNDAwMDAwMDAwLCAwfSwKICAvKiBVTklYX1FVSUVUICovICAgICAgICAgICB7InF1aWV0IiwgICAgICAgICAgIF9BTExfT05fLCAgICAgICAgIDAxMDAwMDAwMDAwLCAwfSwKKyAvKiBVTklYX05PX1BBU1NfRVhQSVJZICovICB7Im5vX3Bhc3NfZXhwaXJ5IiwgIF9BTExfT05fLCAgICAgICAgIDAyMDAwMDAwMDAwLCAwfSwKICAvKiBVTklYX0RFUyAqLyAgICAgICAgICAgICB7ImRlcyIsICAgICAgICAgICAgIF9BTExfT05fXigwMjYwNDIwMDAwKSwgICAgICAwLCAxfSwKLSsvKiBVTklYX05VTExPS19TRUNVUkUgKi8gICB7Im51bGxva19zZWN1cmUiLCAgIF9BTExfT05fXigwMTAwMCksICAwMjAwMDAwMDAwMCwgMH0sCisrLyogVU5JWF9OVUxMT0tfU0VDVVJFICovICAgeyJudWxsb2tfc2VjdXJlIiwgICBfQUxMX09OX14oMDEwMDApLCAwMjAwMDAwMDAwMCwgMH0sCiAgfTsKICAKICAjZGVmaW5lIFVOSVhfREVGQVVMVFMgICh1bml4X2FyZ3NbVU5JWF9fTk9OVUxMXS5mbGFnKQotQEAgLTE3MSw2ICsxNzMsOCBAQCBleHRlcm4gaW50IF91bml4X3JlYWRfcGFzc3dvcmQocGFtX2hhbmRsZV90ICogcGFtaAotIAkJCSxjb25zdCBjaGFyICpwcm9tcHQyCitAQCAtMTcyLDYgKzE3NCw4IEBAIGV4dGVybiBpbnQgX3VuaXhfcmVhZF9wYXNzd29yZChwYW1faGFuZGxlX3QgKiBwYW1oCiAgCQkJLGNvbnN0IGNoYXIgKmRhdGFfbmFtZQogIAkJCSxjb25zdCB2b2lkICoqcGFzcyk7Ci0rZXh0ZXJuIGludCBfcGFtbW9kdXRpbF90dHlfc2VjdXJlKGNvbnN0IHBhbV9oYW5kbGVfdCAqcGFtaCwKLSsgICAgICAgICBjb25zdCBjaGFyICp1dHR5bmFtZSk7CiAgCisrZXh0ZXJuIGludCBfcGFtbW9kdXRpbF90dHlfc2VjdXJlKGNvbnN0IHBhbV9oYW5kbGVfdCAqcGFtaCwgY29uc3QgY2hhciAqdXR0eW5hbWUpOworKwogIGV4dGVybiBpbnQgX3VuaXhfcnVuX3ZlcmlmeV9iaW5hcnkocGFtX2hhbmRsZV90ICpwYW1oLAogIAkJCXVuc2lnbmVkIGludCBjdHJsLCBjb25zdCBjaGFyICp1c2VyLCBpbnQgKmRheXNsZWZ0KTsKKyAjZW5kaWYgLyogX1BBTV9VTklYX1NVUFBPUlRfSCAqLwogLS0gCi0yLjEuNAorMi40LjAKIApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9wYW0vbGlicGFtXzEuMi4xLmJiIGIvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9wYW0vbGlicGFtXzEuMy4wLmJiCnNpbWlsYXJpdHkgaW5kZXggOTMlCnJlbmFtZSBmcm9tIGltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvcGFtL2xpYnBhbV8xLjIuMS5iYgpyZW5hbWUgdG8gaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9wYW0vbGlicGFtXzEuMy4wLmJiCmluZGV4IDM0MWVhMjQuLmJiNWE0YmQgMTAwNjQ0Ci0tLSBhL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvcGFtL2xpYnBhbV8xLjIuMS5iYgorKysgYi9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3BhbS9saWJwYW1fMS4zLjAuYmIKQEAgLTI1LDE4ICsyNSwxNiBAQAogICAgICAgICAgICBmaWxlOi8vY3J5cHRfY29uZmlndXJlLnBhdGNoIFwKICAgICAgICAgICAiCiAKLVNSQ19VUklbbWQ1c3VtXSA9ICI5ZGM1MzA2NzU1NmQyZGQ1Njc4MDhmZDUwOTUxOWRkNiIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICIzNDJiMTIxMWMwZDNiMjAzYTdkZjI1NDBhNWIwM2E0MjhhMDg3YmQ4YTQ4YzE3ZTQ5YWUyNjhmOTkyYjMzNGQ5IgorU1JDX1VSSVttZDVzdW1dID0gImRhNGIyMjg5YjdjZmIxOTU4M2Q1NGU5ZWFhZWYxYzNhIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gIjI0MWFlZDFlZjUyMmY2NmVkNjcyNzE5ZWNmMjIwNWVjNTEzZmQwMDc1ZWQ4MGNkYThlMDg2YTViMWEwMWQxYmIiCiAKLVNSQ19VUklfYXBwZW5kX2xpYmMtdWNsaWJjID0gIiBmaWxlOi8vcGFtLW5vLWlubmV0Z3IucGF0Y2ggXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly91c2UtdXRtcHgucGF0Y2giCitTUkNfVVJJX2FwcGVuZF9saWJjLXVjbGliYyA9ICIgZmlsZTovL3VzZS11dG1weC5wYXRjaCIKIAotU1JDX1VSSV9hcHBlbmRfbGliYy1tdXNsID0gIiBmaWxlOi8vcGFtLW5vLWlubmV0Z3IucGF0Y2ggXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxlOi8vMDAwMS1BZGQtc3VwcG9ydC1mb3ItZGVmaW5pbmctbWlzc2luZy1mdW5jaXRvbmFsaXR5LnBhdGNoIFwKK1NSQ19VUklfYXBwZW5kX2xpYmMtbXVzbCA9ICIgZmlsZTovLzAwMDEtQWRkLXN1cHBvcnQtZm9yLWRlZmluaW5nLW1pc3NpbmctZnVuY2l0b25hbGl0eS5wYXRjaCBcCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9pbmNsdWRlX3BhdGhzX2hlYWRlci5wYXRjaCBcCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAiCiAKLURFUEVORFMgPSAiYmlzb24gZmxleCBmbGV4LW5hdGl2ZSBjcmFja2xpYiIKK0RFUEVORFMgPSAiYmlzb24tbmF0aXZlIGZsZXggZmxleC1uYXRpdmUgY3JhY2tsaWIgbGlieG1sMi1uYXRpdmUiCiAKIEVYVFJBX09FQ09ORiA9ICItLXdpdGgtZGItdW5pcXVlbmFtZT1fcGFtIFwKICAgICAgICAgICAgICAgICAtLWluY2x1ZGVkaXI9JHtpbmNsdWRlZGlyfS9zZWN1cml0eSBcCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3BheC9wYXgvcGF4LTMuNF9maXhfZm9yX3gzMi5wYXRjaCBiL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvcGF4L3BheC9wYXgtMy40X2ZpeF9mb3JfeDMyLnBhdGNoCmluZGV4IDgwODc4ZjMuLjdhZGJkMDIgMTAwNjQ0Ci0tLSBhL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvcGF4L3BheC9wYXgtMy40X2ZpeF9mb3JfeDMyLnBhdGNoCisrKyBiL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvcGF4L3BheC9wYXgtMy40X2ZpeF9mb3JfeDMyLnBhdGNoCkBAIC05LDcgKzksNyBAQAogICAgIHNpemUgb2Ygb2ZmX3QgdG8gc2VlIGlmIGZpbGUgb2Zmc2V0IGlzIDY0Yml0LiAgVGhpcyBwYXRjaCBhZGRzCiAgICAgQUNfQ0hFQ0tfU0laRU9GKG9mZl90KSBhbmQgY2hlY2tzIFNJWkVPRl9PRkZfVCA9PSA4LgogCi1TaWduZWQtT2ZmLUJ5OiBOaXRpbiBBIEthbWJsZSA8bml0aW4uYS5rYW1ibGVAaW50ZWwuY29tPiAyMDExLzEyLzA2CitTaWduZWQtb2ZmLWJ5OiBOaXRpbiBBIEthbWJsZSA8bml0aW4uYS5rYW1ibGVAaW50ZWwuY29tPiAyMDExLzEyLzA2CiAKIEluZGV4OiBwYXgtMy40L2NvbmZpZ3VyZS5pbgogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9waWd6L3BpZ3pfMi4zLjMuYmIgYi9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3BpZ3ovcGlnel8yLjMuMy5iYgppbmRleCAwODBiZTJiLi45ZTk3MjczIDEwMDY0NAotLS0gYS9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3BpZ3ovcGlnel8yLjMuMy5iYgorKysgYi9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3BpZ3ovcGlnel8yLjMuMy5iYgpAQCAtMSw2ICsxLDggQEAKIHJlcXVpcmUgcGlnei5pbmMKIExJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL3BpZ3ouYztiZWdpbmxpbmU9NztlbmRsaW5lPTIxO21kNT1hMjFkNDA3NWNiMDBhYjRjYTE3ZmNlNWU3NTM0Y2E5NSIKIAorVVBTVFJFQU1fQ0hFQ0tfVVJJIDo9ICIke1NSQ19VUkl9IgorU1JDX1VSSSA9ICJodHRwOi8vZG93bmxvYWRzLnlvY3RvcHJvamVjdC5vcmcvbWlycm9yL3NvdXJjZXMvJHtCUH0udGFyLmd6IgogU1JDX1VSSSArPSAiZmlsZTovL2xpbmstb3JkZXIucGF0Y2giCiAKIFNSQ19VUklbbWQ1c3VtXSA9ICIwMWQ3YTE2Y2NlNzc5MjljYzFhNzhhYTFiZGZiNjhjYiIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvcHJvY3BzL3Byb2Nwc18zLjMuMTEuYmIgYi9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3Byb2Nwcy9wcm9jcHNfMy4zLjEyLmJiCnNpbWlsYXJpdHkgaW5kZXggOTQlCnJlbmFtZSBmcm9tIGltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvcHJvY3BzL3Byb2Nwc18zLjMuMTEuYmIKcmVuYW1lIHRvIGltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvcHJvY3BzL3Byb2Nwc18zLjMuMTIuYmIKaW5kZXggYzZkY2NjNi4uNGNhMWE1MCAxMDA2NDQKLS0tIGEvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9wcm9jcHMvcHJvY3BzXzMuMy4xMS5iYgorKysgYi9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3Byb2Nwcy9wcm9jcHNfMy4zLjEyLmJiCkBAIC0xNiw4ICsxNiw4IEBACiAgICAgICAgICAgIGZpbGU6Ly9zeXNjdGwuY29uZiBcCiAgICAgICAgICAgIgogCi1TUkNfVVJJW21kNXN1bV0gPSAiNmNjNWI5NGMxYzViOGNiYzg5YWQzNDVhN2I1MjJmNzQiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiZTk0OTMxNjlhMmQyYWRjMGJjMDQ1NTM4NzA3MzEwYzhlODc3YjM4NWU0ZTI5NjE0M2I2MjYwN2QyYmIwNDRlZCIKK1NSQ19VUklbbWQ1c3VtXSA9ICI5NTdlNDJlOGIxOTM0OTBiMjExMTI1MmU0YTJiNDQzYyIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICI2ZWQ2NWFiODYzMThmMzc5MDRlOGY5MDE0NDE1YTA5OGJlYzViYzUzNjUzZTVkOWFiNDA0Zjk1Y2E1ZTFhN2Q0IgogCiBTID0gIiR7V09SS0RJUn0vcHJvY3BzLW5nLSR7UFZ9IgogCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3BzbWlzYy9wc21pc2MuaW5jIGIvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9wc21pc2MvcHNtaXNjLmluYwppbmRleCA2OGUwNjU2Li45OGE4NDcwIDEwMDY0NAotLS0gYS9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3BzbWlzYy9wc21pc2MuaW5jCisrKyBiL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvcHNtaXNjL3BzbWlzYy5pbmMKQEAgLTE1LDYgKzE1LDkgQEAKIAogaW5oZXJpdCBhdXRvdG9vbHMgZ2V0dGV4dAogCitQQUNLQUdFQ09ORklHID8/PSAiJHtAYmIudXRpbHMuY29udGFpbnMoJ0RJU1RST19GRUFUVVJFUycsICdpcHY2JywgJ2lwdjYnLCAnJywgZCl9IgorUEFDS0FHRUNPTkZJR1tpcHY2XSA9ICItLWVuYWJsZS1pcHY2LC0tZGlzYWJsZS1pcHY2LCIKKwogQUxMT1dfRU1QVFlfJHtQTn0gPSAiMSIKIAogUEFDS0FHRVMgPSsgImZ1c2VyIGZ1c2VyLWRvYyBraWxsYWxsIGtpbGxhbGwtZG9jIHBzdHJlZSBwc3RyZWUtZG9jIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9xdW90YS9xdW90YS8wMDAxLVVzZS1OR1JPVVBTX01BWC1pbnN0ZWFkLW9mLU5HUk9VUFMucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3F1b3RhL3F1b3RhLzAwMDEtVXNlLU5HUk9VUFNfTUFYLWluc3RlYWQtb2YtTkdST1VQUy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42ZmIyZGFmCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9xdW90YS9xdW90YS8wMDAxLVVzZS1OR1JPVVBTX01BWC1pbnN0ZWFkLW9mLU5HUk9VUFMucGF0Y2gKQEAgLTAsMCArMSw4MyBAQAorVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydAorCitTaWduZWQtb2ZmLWJ5OiBLYWkgS2FuZyA8a2FpLmthbmdAd2luZHJpdmVyLmNvbT4KKy0tLQorRnJvbSBmZWNhNmQyZTU1ZDk5MmJiZTE3NmVlOGZhYTczNGMxMDVlYjFiMmUxIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogVGhlb2RvcmUgVHMnbyA8dHl0c29AbWl0LmVkdT4KK0RhdGU6IFR1ZSwgMjkgTWFyIDIwMTYgMjA6NDg6MDUgLTA0MDAKK1N1YmplY3Q6IFtQQVRDSF0gVXNlIE5HUk9VUFNfTUFYIGluc3RlYWQgb2YgTkdST1VQUworCitOR1JST1VQU19NQVggaXMgd2hhdCBpcyBkZWZpbmVkIGJ5IFN1U3YzOyBOR1JPVVBTIGlzIG5vdCBndWFyYW50ZWVkIGJ5Cithbnkgc3RhbmRhcmQsIGJ1dCBpcyBqdXN0IGFuIGFuY2llbnQgQlNEJ2lzbS4gIFNpbmNlIEFuZHJvaWQncyBiaW9uaWMKK2xpYmMgaGFzIHRoZSBmb3JtZXIgYnV0IG5vdCB0aGUgbGF0dGVyLCBsZXQncyB1c2UgTkdST1VQU19NQVggaW5zdGVhZC4KKworU2lnbmVkLW9mZi1ieTogVGhlb2RvcmUgVHMnbyA8dHl0c29AbWl0LmVkdT4KK1NpZ25lZC1vZmYtYnk6IEphbiBLYXJhIDxqYWNrQHN1c2UuY3o+CistLS0KKyBxdW90YS5jICAgIHwgNSArKystLQorIHF1b3Rhb3BzLmMgfCA1ICsrKy0tCisgMiBmaWxlcyBjaGFuZ2VkLCA2IGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9xdW90YS5jIGIvcXVvdGEuYworaW5kZXggMDQ5ZGFjNC4uZTE5NWVhZCAxMDA2NDQKKy0tLSBhL3F1b3RhLmMKKysrKyBiL3F1b3RhLmMKK0BAIC00OCw2ICs0OCw3IEBACisgI2luY2x1ZGUgPGVycm5vLmg+CisgI2luY2x1ZGUgPHN0cmluZy5oPgorICNpbmNsdWRlIDx1bmlzdGQuaD4KKysjaW5jbHVkZSA8bGltaXRzLmg+CisgI2lmZGVmIFJQQworICNpbmNsdWRlIDxycGMvcnBjLmg+CisgI2luY2x1ZGUgInJxdW90YS5oIgorQEAgLTI5Niw3ICsyOTcsNyBAQCBzdGF0aWMgaW50IHNob3dxdW90YXMoaW50IHR5cGUsIHFpZF90IGlkLCBpbnQgbW50Y250LCBjaGFyICoqbW50KQorIGludCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikKKyB7CisgCWludCBuZ3JvdXBzOworLQlnaWRfdCBnaWRzZXRbTkdST1VQU10sICpnaWRzZXRwOworKwlnaWRfdCBnaWRzZXRbTkdST1VQU19NQVhdLCAqZ2lkc2V0cDsKKyAJaW50IGksIHJldDsKKyAJc3RydWN0IG9wdGlvbiBsb25nX29wdHNbXSA9IHsKKyAJCXsgImhlbHAiLCAwLCBOVUxMLCAnaCcgfSwKK0BAIC00MDUsNyArNDA2LDcgQEAgaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQorIAkJCXJldCB8PSBzaG93cXVvdGFzKFVTUlFVT1RBLCBnZXR1aWQoKSwgYXJnYywgYXJndik7CisgCQlpZiAoZmxhZ3MgJiBGTF9HUk9VUCkgeworIAkJCW5ncm91cHMgPSBzeXNjb25mKF9TQ19OR1JPVVBTX01BWCk7CistCQkJaWYgKG5ncm91cHMgPiBOR1JPVVBTKSB7CisrCQkJaWYgKG5ncm91cHMgPiBOR1JPVVBTX01BWCkgeworIAkJCQlnaWRzZXRwID0gbWFsbG9jKG5ncm91cHMgKiBzaXplb2YoZ2lkX3QpKTsKKyAJCQkJaWYgKCFnaWRzZXRwKQorIAkJCQkJZGllKDEsIF8oIkdpZCBzZXQgYWxsb2NhdGlvbiAoJWQpOiAlc1xuIiksIG5ncm91cHMsIHN0cmVycm9yKGVycm5vKSk7CitkaWZmIC0tZ2l0IGEvcXVvdGFvcHMuYyBiL3F1b3Rhb3BzLmMKK2luZGV4IDEzNmFlYzMuLjU5MGRjMWIgMTAwNjQ0CistLS0gYS9xdW90YW9wcy5jCisrKysgYi9xdW90YW9wcy5jCitAQCAtNTEsNiArNTEsNyBAQAorICNpbmNsdWRlIDx1bmlzdGQuaD4KKyAjaW5jbHVkZSA8dGltZS5oPgorICNpbmNsdWRlIDxjdHlwZS5oPgorKyNpbmNsdWRlIDxsaW1pdHMuaD4KKyAKKyAjaWYgZGVmaW5lZChSUEMpCisgI2luY2x1ZGUgInJxdW90YS5oIgorQEAgLTk3LDcgKzk4LDcgQEAgc3RydWN0IGRxdW90ICpnZXRwcml2cyhxaWRfdCBpZCwgc3RydWN0IHF1b3RhX2hhbmRsZSAqKmhhbmRsZXMsIGludCBxdWlldCkKKyAjaWYgZGVmaW5lZChCU0RfQkVIQVZJT1VSKQorIAlpbnQgaiwgbmdyb3VwczsKKyAJdWlkX3QgZXVpZDsKKy0JZ2lkX3QgZ2lkc2V0W05HUk9VUFNdLCAqZ2lkc2V0cDsKKysJZ2lkX3QgZ2lkc2V0W05HUk9VUFNfTUFYXSwgKmdpZHNldHA7CisgI2VuZGlmCisgCisgCWZvciAoaSA9IDA7IGhhbmRsZXNbaV07IGkrKykgeworQEAgLTExNSw3ICsxMTYsNyBAQCBzdHJ1Y3QgZHF1b3QgKmdldHByaXZzKHFpZF90IGlkLCBzdHJ1Y3QgcXVvdGFfaGFuZGxlICoqaGFuZGxlcywgaW50IHF1aWV0KQorIAkJCQlpZiAoZ2V0ZXVpZCgpID09IDApCisgCQkJCQlicmVhazsKKyAJCQkJbmdyb3VwcyA9IHN5c2NvbmYoX1NDX05HUk9VUFNfTUFYKTsKKy0JCQkJaWYgKG5ncm91cHMgPiBOR1JPVVBTKSB7CisrCQkJCWlmIChuZ3JvdXBzID4gTkdST1VQU19NQVgpIHsKKyAJCQkJCWdpZHNldHAgPSBtYWxsb2Mobmdyb3VwcyAqIHNpemVvZihnaWRfdCkpOworIAkJCQkJaWYgKCFnaWRzZXRwKSB7CisgCQkJCQkJZ2lkMmdyb3VwKGlkLCBuYW1lKTsKKy0tIAorMi42LjEKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9xdW90YS9xdW90YS8wMDAyLUFsbG93LWJ1aWxkaW5nLW9uLXN5c3RlbXMtdGhhdC1kby1ub3QtaGF2ZS1ycGMtaGVhZGUucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3F1b3RhL3F1b3RhLzAwMDItQWxsb3ctYnVpbGRpbmctb24tc3lzdGVtcy10aGF0LWRvLW5vdC1oYXZlLXJwYy1oZWFkZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42Y2VhNTQ4Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9xdW90YS9xdW90YS8wMDAyLUFsbG93LWJ1aWxkaW5nLW9uLXN5c3RlbXMtdGhhdC1kby1ub3QtaGF2ZS1ycGMtaGVhZGUucGF0Y2gKQEAgLTAsMCArMSwxNTMgQEAKK1Vwc3RyZWFtLVN0YXR1czogQmFja3BvcnQKKworU2lnbmVkLW9mZi1ieTogS2FpIEthbmcgPGthaS5rYW5nQHdpbmRyaXZlci5jb20+CistLS0KK0Zyb20gZjMwZTFhZGE4MzI2NDYzY2MwYWYwNDhhZmEwNThiYzJmMWRjOTM3MCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IFRoZW9kb3JlIFRzJ28gPHR5dHNvQG1pdC5lZHU+CitEYXRlOiBUdWUsIDI5IE1hciAyMDE2IDIwOjQ4OjA0IC0wNDAwCitTdWJqZWN0OiBbUEFUQ0hdIEFsbG93IGJ1aWxkaW5nIG9uIHN5c3RlbXMgdGhhdCBkbyBub3QgaGF2ZSBycGMgaGVhZGVyIGZpbGVzCisKK0FuZHJvaWQncyBiaW9uaWMgQyBsaWJyYXJ5IGRvZXNuJ3QgaGF2ZSBTdW4gUlBDIHN1cHBvcnQuCisKK1NpZ25lZC1vZmYtYnk6IFRoZW9kb3JlIFRzJ28gPHR5dHNvQG1pdC5lZHU+CitTaWduZWQtb2ZmLWJ5OiBKYW4gS2FyYSA8amFja0BzdXNlLmN6PgorLS0tCisgTWFrZWZpbGUuYW0gfCAzMCArKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0KKyBxdW90YW9wcy5jICB8ICAyICsrCisgc2V0cXVvdGEuYyAgfCAgMiArKworIDMgZmlsZXMgY2hhbmdlZCwgMjAgaW5zZXJ0aW9ucygrKSwgMTQgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9NYWtlZmlsZS5hbSBiL01ha2VmaWxlLmFtCitpbmRleCA2ZDdlYTBlLi44MmRiOTlmIDEwMDY0NAorLS0tIGEvTWFrZWZpbGUuYW0KKysrKyBiL01ha2VmaWxlLmFtCitAQCAtMSw3ICsxLDUgQEAKKyBBQ0xPQ0FMX0FNRkxBR1MgPSAtSSBtNAorIAorLUJVSUxUX1NPVVJDRVMgPSBycXVvdGEuaCBycXVvdGEuYyBycXVvdGFfY2xudC5jCistCisgZG9jZGlyID0gJChkYXRhZGlyKS9kb2MvQFBBQ0tBR0VACisgZG9jX0RBVEEgPSBcCisgCVJFQURNRS5tYWlsc2VydmVyIFwKK0BAIC0xMiwxMSArMTAsNiBAQCBkb2NfREFUQSA9IFwKKyAJZG9jL3F1b3Rhcy5wcmVmb3JtYXRlZCBcCisgCWRvYy9xdW90YXMtMS5lcHMKKyAKKy1ycGNzdmNkaXIgPSAkKGluY2x1ZGVkaXIpL3JwY3N2YworLXJwY3N2Y19EQVRBID0gXAorLQlycXVvdGEuaCBcCistCXJxdW90YS54CistCisgc3lzY29uZl9EQVRBID0gXAorIAl3YXJucXVvdGEuY29uZiBcCisgCXF1b3RhdGFiIFwKK0BAIC0zNSwxNSArMjgsMTIgQEAgbWFuX01BTlMgPSBcCisgCXF1b3RhLjEgXAorIAlxdW90LjggXAorIAlyZXBxdW90YS44IFwKKy0JcnBjLnJxdW90YWQuOCBcCisgCXJxdW90YS4zIFwKKyAJc2V0cXVvdGEuOCBcCisgCXdhcm5xdW90YS5jb25mLjUgXAorIAl3YXJucXVvdGEuOCBcCisgCXhxbXN0YXRzLjgKKyAKKy1DTEVBTkZJTEVTID0gcnF1b3RhLmMgcnF1b3RhLmggcnF1b3RhX2NsbnQuYworLQorIFNVQkRJUlMgPSBwbworIAorIEVYVFJBX0RJU1QgPSBcCitAQCAtNTUsOSArNDUsMTUgQEAgRVhUUkFfRElTVCA9IFwKKyAJQ2hhbmdlbG9nIFwKKyAJbGRhcC1zY3JpcHRzCisgCistbm9pbnN0X0xJQlJBUklFUyA9IFwKKy0JbGlicXVvdGEuYSBcCistCWxpYnJwY2NsaWVudC5hCisrbm9pbnN0X0xJQlJBUklFUyA9IGxpYnF1b3RhLmEKKysKKytpZiBXSVRIX1JQQworK3JwY3N2Y2RpciA9ICQoaW5jbHVkZWRpcikvcnBjc3ZjCisrcnBjc3ZjX0RBVEEgPSBcCisrCXJxdW90YS5oIFwKKysJcnF1b3RhLngKKysKKytub2luc3RfTElCUkFSSUVTICs9IGxpYnJwY2NsaWVudC5hCisgCisgbGlicnBjY2xpZW50X2FfU09VUkNFUyA9IFwKKyAJcnF1b3RhLmMgXAorQEAgLTY3LDggKzYzLDEwIEBAIGxpYnJwY2NsaWVudF9hX1NPVVJDRVMgPSBcCisgCXJxdW90YV9jbG50LmMKKyBsaWJycGNjbGllbnRfYV9DRkxBR1MgPSAtV25vLXVudXNlZAorIAorLWlmIFdJVEhfUlBDCisgUlBDTElCUyA9IGxpYnJwY2NsaWVudC5hCisrQlVJTFRfU09VUkNFUyA9IHJxdW90YS5oIHJxdW90YS5jIHJxdW90YV9jbG50LmMKKytDTEVBTkZJTEVTID0gcnF1b3RhLmMgcnF1b3RhLmggcnF1b3RhX2NsbnQuYworK21hbl9NQU5TICs9IHJwYy5ycXVvdGFkLjgKKyBlbmRpZgorIAorIGxpYnF1b3RhX2FfU09VUkNFUyA9IFwKK0BAIC0yMTcsNiArMjE1LDcgQEAgY29udmVydHF1b3RhX0xEQUREID0gXAorIAlsaWJxdW90YS5hIFwKKyAJJChSUENMSUJTKQorIAorK2lmIFdJVEhfUlBDCisgcnBjX3JxdW90YWRfU09VUkNFUyA9IFwKKyAJcnF1b3RhX3NlcnZlci5jIFwKKyAJcnF1b3RhX3N2Yy5jIFwKK0BAIC0yMjUsNiArMjI0LDcgQEAgcnBjX3JxdW90YWRfTERBREQgPSBcCisgCWxpYnF1b3RhLmEgXAorIAkkKFdSQVBfTElCUykgXAorIAkkKFJQQ0xJQlMpCisrZW5kaWYKKyAKKyBxdW90YV9ubGRfU09VUkNFUyA9IHF1b3RhX25sZC5jCisgcXVvdGFfbmxkX0NGTEFHUyA9IFwKK0BAIC0yMzYsNiArMjM2LDcgQEAgcXVvdGFfbmxkX0xEQUREID0gXAorIAkkKERCVVNfTElCUykgXAorIAkkKExJQk5MM19MSUJTKQorIAorK2lmIFdJVEhfUlBDCisgIyAtLS0tLS0tLS0tLS0tLS0tLS0KKyAjIFJwY2dlbiBjb252ZXJzaW9ucworICMgLS0tLS0tLS0tLS0tLS0tLS0tCitAQCAtMjUwLDYgKzI1MSw3IEBAIHF1b3RhX25sZF9MREFERCA9IFwKKyBycXVvdGFfY2xudC5jOiBycXVvdGEueAorIAlAcm0gLWYgJEAKKyAJQCQoUlBDR0VOKSAtbCAtbyAkQCAkPAorK2VuZGlmCisgCisgIyAtLS0tLS0tLQorICMgUXVvdGFvZmYKK2RpZmYgLS1naXQgYS9xdW90YW9wcy5jIGIvcXVvdGFvcHMuYworaW5kZXggNDdlZjlhNy4uMTM2YWVjMyAxMDA2NDQKKy0tLSBhL3F1b3Rhb3BzLmMKKysrKyBiL3F1b3Rhb3BzLmMKK0BAIC0zNCw3ICszNCw5IEBACisgCisgI2luY2x1ZGUgImNvbmZpZy5oIgorIAorKyNpZiBkZWZpbmVkKFJQQykKKyAjaW5jbHVkZSA8cnBjL3JwYy5oPgorKyNlbmRpZgorICNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKyAjaW5jbHVkZSA8c3lzL3N0YXQuaD4KKyAjaW5jbHVkZSA8c3lzL2ZpbGUuaD4KK2RpZmYgLS1naXQgYS9zZXRxdW90YS5jIGIvc2V0cXVvdGEuYworaW5kZXggNTFkN2IzYy4uOGVjZDljMyAxMDA2NDQKKy0tLSBhL3NldHF1b3RhLmMKKysrKyBiL3NldHF1b3RhLmMKK0BAIC03LDcgKzcsOSBAQAorIAorICNpbmNsdWRlICJjb25maWcuaCIKKyAKKysjaWYgZGVmaW5lZChSUEMpCisgI2luY2x1ZGUgPHJwYy9ycGMuaD4KKysjZW5kaWYKKyAjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisgI2luY2x1ZGUgPGVycm5vLmg+CisgI2luY2x1ZGUgPHN0ZGlvLmg+CistLSAKKzIuNi4xCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvcXVvdGEvcXVvdGEvMDAwMy1Eb24tdC1idWlsZC1ycGMucnF1b3RhZC13aGVuLWRpc2FibGUtcnBjLXdhcy1yZXF1ZXN0LnBhdGNoIGIvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9xdW90YS9xdW90YS8wMDAzLURvbi10LWJ1aWxkLXJwYy5ycXVvdGFkLXdoZW4tZGlzYWJsZS1ycGMtd2FzLXJlcXVlc3QucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTQ1NTM4NAotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvcXVvdGEvcXVvdGEvMDAwMy1Eb24tdC1idWlsZC1ycGMucnF1b3RhZC13aGVuLWRpc2FibGUtcnBjLXdhcy1yZXF1ZXN0LnBhdGNoCkBAIC0wLDAgKzEsNjIgQEAKK1Vwc3RyZWFtLVN0YXR1czogQmFja3BvcnQKKworU2lnbmVkLW9mZi1ieTogS2FpIEthbmcgPGthaS5rYW5nQHdpbmRyaXZlci5jb20+CistLS0KK0Zyb20gYzdhNzYyMzdlN2E1MWE2OWQwMjM2ZWJmYzE5MWU0NjJmODA1Y2Y0ZSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IExhcnMgV2VuZGxlciA8cG9seW5vbWlhbC1jQGdlbnRvby5vcmc+CitEYXRlOiBNb24sIDE1IEZlYiAyMDE2IDE0OjQyOjE0ICswMTAwCitTdWJqZWN0OiBbUEFUQ0hdIERvbid0IGJ1aWxkIHJwYy5ycXVvdGFkIHdoZW4gLS1kaXNhYmxlLXJwYyB3YXMgcmVxdWVzdGVkLgorCitUaGlzIGZpeGVzIGEgYnVjaCBvZiB1bmRlZmluZWQgcmVmZXJlbmNlczoKKworeDg2XzY0LXBjLWxpbnV4LWdudS1nY2MgIC1tYXJjaD1uYXRpdmUgLW10dW5lPW5hdGl2ZSAtTzIgLXBpcGUgLURfR05VX1NPVVJDRSAtV2EKK2xsIC1EX0xBUkdFRklMRTY0X1NPVVJDRSAtRF9GSUxFX09GRlNFVF9CSVRTPTY0IC1mUElDIC1waWUgLVdsLC1PMSAtV2wsLS1oYXNoLXN0Cit5bGU9Z251IC1XbCwtLXNvcnQtY29tbW9uIC1XbCwtLWFzLW5lZWRlZCAtbyBycGMucnF1b3RhZCBycXVvdGFfc2VydmVyLm8gcnF1b3RhXworc3ZjLm8gc3ZjX3NvY2tldC5vIGxpYnF1b3RhLmEKK3JxdW90YV9zdmMubzogSW4gZnVuY3Rpb24gYHJxdW90YXByb2dfMic6CitycXVvdGFfc3ZjLmM6KC50ZXh0KzB4MWQzKTogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgeGRyX3NldHF1b3RhX3JzbHQnCitycXVvdGFfc3ZjLmM6KC50ZXh0KzB4MWRhKTogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgeGRyX2V4dF9zZXRxdW90YV9hcmdzJworcnF1b3RhX3N2Yy5jOigudGV4dCsweDJiMik6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYHhkcl9zZXRxdW90YV9yc2x0JworcnF1b3RhX3N2Yy5jOigudGV4dCsweDJiOSk6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYHhkcl9leHRfc2V0cXVvdGFfYXJncycKK3JxdW90YV9zdmMuYzooLnRleHQrMHgyZmYpOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGB4ZHJfZ2V0cXVvdGFfcnNsdCcKK3JxdW90YV9zdmMuYzooLnRleHQrMHgzMDYpOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGB4ZHJfZXh0X2dldHF1b3RhX2FyZ3MnCitycXVvdGFfc3ZjLmM6KC50ZXh0KzB4MzFhKTogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgeGRyX2dldHF1b3RhX3JzbHQnCitycXVvdGFfc3ZjLmM6KC50ZXh0KzB4MzIxKTogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgeGRyX2V4dF9nZXRxdW90YV9hcmdzJworcnF1b3RhX3N2Yy5vOiBJbiBmdW5jdGlvbiBgcnF1b3RhcHJvZ18xJzoKK3JxdW90YV9zdmMuYzooLnRleHQrMHgzZjMpOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGB4ZHJfc2V0cXVvdGFfcnNsdCcKK3JxdW90YV9zdmMuYzooLnRleHQrMHgzZmEpOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGB4ZHJfc2V0cXVvdGFfYXJncycKK3JxdW90YV9zdmMuYzooLnRleHQrMHg0ZDIpOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGB4ZHJfc2V0cXVvdGFfcnNsdCcKK3JxdW90YV9zdmMuYzooLnRleHQrMHg0ZDkpOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGB4ZHJfc2V0cXVvdGFfYXJncycKK3JxdW90YV9zdmMuYzooLnRleHQrMHg1MWYpOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGB4ZHJfZ2V0cXVvdGFfcnNsdCcKK3JxdW90YV9zdmMuYzooLnRleHQrMHg1MjYpOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGB4ZHJfZ2V0cXVvdGFfYXJncycKK3JxdW90YV9zdmMuYzooLnRleHQrMHg1M2EpOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGB4ZHJfZ2V0cXVvdGFfcnNsdCcKK3JxdW90YV9zdmMuYzooLnRleHQrMHg1NDEpOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGB4ZHJfZ2V0cXVvdGFfYXJncycKK2NvbGxlY3QyOiBlcnJvcjogbGQgcmV0dXJuZWQgMSBleGl0IHN0YXR1cworTWFrZWZpbGU6OTAxOiByZWNpcGUgZm9yIHRhcmdldCAncnBjLnJxdW90YWQnIGZhaWxlZAorCitTaWduZWQtb2ZmLWJ5OiBMYXJzIFdlbmRsZXIgPHBvbHlub21pYWwtY0BnZW50b28ub3JnPgorU2lnbmVkLW9mZi1ieTogSmFuIEthcmEgPGphY2tAc3VzZS5jej4KKy0tLQorIE1ha2VmaWxlLmFtIHwgNSArKysrLQorIDEgZmlsZSBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL01ha2VmaWxlLmFtIGIvTWFrZWZpbGUuYW0KK2luZGV4IDc3Zjg0MDAuLjZkN2VhMGUgMTAwNjQ0CistLS0gYS9NYWtlZmlsZS5hbQorKysrIGIvTWFrZWZpbGUuYW0KK0BAIC0xMTYsOCArMTE2LDExIEBAIHNiaW5fUFJPR1JBTVMgPSBcCisgCXhxbXN0YXRzIFwKKyAJZWRxdW90YSBcCisgCXNldHF1b3RhIFwKKy0JY29udmVydHF1b3RhIFwKKysJY29udmVydHF1b3RhCisraWYgV0lUSF9SUEMKKytzYmluX1BST0dSQU1TICs9IFwKKyAJcnBjLnJxdW90YWQKKytlbmRpZgorIGlmIFdJVEhfTkVUTElOSworIHNiaW5fUFJPR1JBTVMgKz0gXAorIAlxdW90YV9ubGQKKy0tIAorMi42LjEKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9xdW90YS9xdW90YS8wMDA0LUZpeC13YXJuaW5ncy1kdWUtdG8tbWlzc2luZy1zdGRsaWIuaC5wYXRjaCBiL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvcXVvdGEvcXVvdGEvMDAwNC1GaXgtd2FybmluZ3MtZHVlLXRvLW1pc3Npbmctc3RkbGliLmgucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmRiNGNlYQotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvcXVvdGEvcXVvdGEvMDAwNC1GaXgtd2FybmluZ3MtZHVlLXRvLW1pc3Npbmctc3RkbGliLmgucGF0Y2gKQEAgLTAsMCArMSw0NiBAQAorVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydAorCitTaWduZWQtb2ZmLWJ5OiBLYWkgS2FuZyA8a2FpLmthbmdAd2luZHJpdmVyLmNvbT4KKy0tLQorRnJvbSBjNGI1NmVlNThiOWI3NmQyNTk4NTM1Y2Y2MTA5YTI3YjIyZTYwYWJlIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogSmFuIEthcmEgPGphY2tAc3VzZS5jej4KK0RhdGU6IFdlZCwgMzAgTWFyIDIwMTYgMTA6MjE6MTMgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSF0gRml4IHdhcm5pbmdzIGR1ZSB0byBtaXNzaW5nIHN0ZGxpYi5oCisKK1doZW4gY29tcGlsaW5nIHdpdGhvdXQgUlBDLCB3ZSBkbyBub3QgZ2V0IHN0ZGxpYi5oIGF1dG9tYXRpY2FsbHkKK2luY2x1ZGVkIHZpYSBvdGhlciBpbmNsdWRlcyBhbmQgdGh1cyBtaXNzIHNvbWUgZnVuY3Rpb24gZGVmaW5pdGlvbnMuCitJbmNsdWRlIHN0ZGxpYi5oIGV4cGxpY2l0ZWx5LgorCitTaWduZWQtb2ZmLWJ5OiBKYW4gS2FyYSA8amFja0BzdXNlLmN6PgorLS0tCisgcXVvdGFvcHMuYyB8IDEgKworIHNldHF1b3RhLmMgfCAxICsKKyAyIGZpbGVzIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKQorCitkaWZmIC0tZ2l0IGEvcXVvdGFvcHMuYyBiL3F1b3Rhb3BzLmMKK2luZGV4IDU5MGRjMWIuLjU2Y2Y2MjIgMTAwNjQ0CistLS0gYS9xdW90YW9wcy5jCisrKysgYi9xdW90YW9wcy5jCitAQCAtNTIsNiArNTIsNyBAQAorICNpbmNsdWRlIDx0aW1lLmg+CisgI2luY2x1ZGUgPGN0eXBlLmg+CisgI2luY2x1ZGUgPGxpbWl0cy5oPgorKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyAKKyAjaWYgZGVmaW5lZChSUEMpCisgI2luY2x1ZGUgInJxdW90YS5oIgorZGlmZiAtLWdpdCBhL3NldHF1b3RhLmMgYi9zZXRxdW90YS5jCitpbmRleCA4ZWNkOWMzLi40MjE2MzFlIDEwMDY0NAorLS0tIGEvc2V0cXVvdGEuYworKysrIGIvc2V0cXVvdGEuYworQEAgLTE3LDYgKzE3LDcgQEAKKyAjaW5jbHVkZSA8Z2V0b3B0Lmg+CisgI2luY2x1ZGUgPHRpbWUuaD4KKyAjaW5jbHVkZSA8Y3R5cGUuaD4KKysjaW5jbHVkZSA8c3RkbGliLmg+CisgCisgI2lmIGRlZmluZWQoUlBDKQorICNpbmNsdWRlICJycXVvdGEuaCIKKy0tIAorMi42LjEKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9xdW90YS9xdW90YS9mY250bC5wYXRjaCBiL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvcXVvdGEvcXVvdGEvZmNudGwucGF0Y2gKaW5kZXggMjdlNjBmZC4uMmQzNzk3MSAxMDA2NDQKLS0tIGEvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9xdW90YS9xdW90YS9mY250bC5wYXRjaAorKysgYi9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3F1b3RhL3F1b3RhL2ZjbnRsLnBhdGNoCkBAIC01OSwyMCArNTksNiBAQAogICNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KICAjaW5jbHVkZSAicXVvdGFfdHJlZS5oIgogIAotSW5kZXg6IHF1b3RhLXRvb2xzL3F1b3Rhb3BzLmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBxdW90YS10b29scy5vcmlnL3F1b3Rhb3BzLmMKLSsrKyBxdW90YS10b29scy9xdW90YW9wcy5jCi1AQCAtMzQsNyArMzQsOSBAQAotIAotICNpbmNsdWRlICJjb25maWcuaCIKLSAKLSsjaWYgZGVmaW5lZChSUEMpCi0gI2luY2x1ZGUgPHJwYy9ycGMuaD4KLSsjZW5kaWYKLSAjaW5jbHVkZSA8c3lzL3R5cGVzLmg+Ci0gI2luY2x1ZGUgPHN5cy9zdGF0Lmg+Ci0gI2luY2x1ZGUgPHN5cy9maWxlLmg+CiBJbmRleDogcXVvdGEtdG9vbHMvcnF1b3RhX2NsaWVudC5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAtLS0gcXVvdGEtdG9vbHMub3JpZy9ycXVvdGFfY2xpZW50LmMKQEAgLTk3LDE3ICs4MywzIEBACiAgI2luY2x1ZGUgImNvbW1vbi5oIgogICNpbmNsdWRlICJxdW90YWlvLmgiCiAgI2luY2x1ZGUgInF1b3Rhc3lzLmgiCi1JbmRleDogcXVvdGEtdG9vbHMvc2V0cXVvdGEuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIHF1b3RhLXRvb2xzLm9yaWcvc2V0cXVvdGEuYwotKysrIHF1b3RhLXRvb2xzL3NldHF1b3RhLmMKLUBAIC03LDcgKzcsOSBAQAotIAotICNpbmNsdWRlICJjb25maWcuaCIKLSAKLSsjaWYgZGVmaW5lZChSUEMpCi0gI2luY2x1ZGUgPHJwYy9ycGMuaD4KLSsjZW5kaWYKLSAjaW5jbHVkZSA8c3lzL3R5cGVzLmg+Ci0gI2luY2x1ZGUgPGVycm5vLmg+Ci0gI2luY2x1ZGUgPHN0ZGlvLmg+CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3F1b3RhL3F1b3RhXzQuMDMuYmIgYi9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3F1b3RhL3F1b3RhXzQuMDMuYmIKaW5kZXggNGE5ODA0Ni4uMjJhYWI0MSAxMDA2NDQKLS0tIGEvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9xdW90YS9xdW90YV80LjAzLmJiCisrKyBiL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvcXVvdGEvcXVvdGFfNC4wMy5iYgpAQCAtMTIsNiArMTIsMTAgQEAKICAgICAgICAgICAgZmlsZTovLzAwMDEtRG8tbm90LWFjY2lkZW50YWx5LW92ZXJyaWRlLWNvbW1hbmRsaW5lLXBhc3NlZC1DRkxBRy5wYXRjaCBcCiAgICAgICAgICAgIGZpbGU6Ly9mY250bC5wYXRjaCBcCiAgICAgICAgICAgIGZpbGU6Ly9yZW1vdmVfbm9uX3Bvc2l4X3R5cGVzLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtVXNlLU5HUk9VUFNfTUFYLWluc3RlYWQtb2YtTkdST1VQUy5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAyLUFsbG93LWJ1aWxkaW5nLW9uLXN5c3RlbXMtdGhhdC1kby1ub3QtaGF2ZS1ycGMtaGVhZGUucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vMDAwMy1Eb24tdC1idWlsZC1ycGMucnF1b3RhZC13aGVuLWRpc2FibGUtcnBjLXdhcy1yZXF1ZXN0LnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovLzAwMDQtRml4LXdhcm5pbmdzLWR1ZS10by1taXNzaW5nLXN0ZGxpYi5oLnBhdGNoIFwKICAgICAgICAgICAiCiBTUkNfVVJJX2FwcGVuZF9saWJjLW11c2wgPSAiIGZpbGU6Ly9yZXBsYWNlX2dldHJwY2J5bnVtYmVyX3IucGF0Y2giCiAKQEAgLTI1LDggKzI5LDggQEAKIAogaW5oZXJpdCBhdXRvdG9vbHMtYnJva2Vuc2VwIGdldHRleHQgcGtnY29uZmlnCiAKLUNGTEFHUyArPSAiLUkke1NUQUdJTkdfSU5DRElSfS90aXJwYyIKLUxERkxBR1MgKz0gIi1sdGlycGMiCitDRkxBR1MgKz0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ3JwYycsICctSSR7U1RBR0lOR19JTkNESVJ9L3RpcnBjJywgJycsIGQpfSIKK0xERkxBR1MgKz0gIiR7QGJiLnV0aWxzLmNvbnRhaW5zKCdQQUNLQUdFQ09ORklHJywgJ3JwYycsICctbHRpcnBjJywgJycsIGQpfSIKIEFTTkVFREVEID0gIiIKIAogUEFDS0FHRUNPTkZJRyA/Pz0gInRjcC13cmFwcGVycyBycGMgYnNkIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9zY3JlZW4vc2NyZWVuLzAwMDEtRml4LXN0YWNrLW92ZXJmbG93LWR1ZS10by10b28tZGVlcC1yZWN1cnNpb24ucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3NjcmVlbi9zY3JlZW4vMDAwMS1GaXgtc3RhY2stb3ZlcmZsb3ctZHVlLXRvLXRvby1kZWVwLXJlY3Vyc2lvbi5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNGFjODIwZi4uMDAwMDAwMAotLS0gYS9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3NjcmVlbi9zY3JlZW4vMDAwMS1GaXgtc3RhY2stb3ZlcmZsb3ctZHVlLXRvLXRvby1kZWVwLXJlY3Vyc2lvbi5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDU4ICswLDAgQEAKLUJ1ZzogNDU3MTMKLQotSG93IHRvIHJlcHJvZHVjZToKLVJ1biB0aGlzIGNvbW1hbmQgaW5zaWRlIHNjcmVlbgotJCBwcmludGYgJ1x4MWJbMTAwMDAwMDBUJwotCi1zY3JlZW4gd2lsbCByZWN1cnNpdmVseSBjYWxsIE1TY3JvbGxWIHRvIGRlcHRoIG4vMjU2LgotVGhpcyBpcyB0aW1lIGNvbnN1bWluZyBhbmQgd2lsbCBvdmVyZmxvdyBzdGFjayBpZiBuIGlzIGh1Z2UuCi0KLUZpeGVzIENWRS0yMDE1LTY4MDYKLQotVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydAotQ1ZFOiBDVkUtMjAxNS02ODA2Ci0KLVNpZ25lZC1vZmYtYnk6IEt1YW5nLWNoZSBXdSA8a2N3dUBjc2llLm9yZz4KLVNpZ25lZC1vZmYtYnk6IEFtYWRldXN6IFPFgmF3acWEc2tpIDxhbWFkZUBhc21ibHIubmV0PgotU2lnbmVkLW9mZi1ieTogTWF4aW4gQi4gSm9obiA8bWF4aW4uam9obkBpbnRlbC5jb20+Ci0tLS0KLWRpZmYgLU5hdXIgc2NyZWVuLTQuMy4xLW9yaWcvYW5zaS5jIHNjcmVlbi00LjMuMS9hbnNpLmMKLS0tLSBzY3JlZW4tNC4zLjEtb3JpZy9hbnNpLmMJMjAxNS0wNi0yOSAwMDoyMjo1NS4wMDAwMDAwMDAgKzAzMDAKLSsrKyBzY3JlZW4tNC4zLjEvYW5zaS5jCTIwMTUtMTAtMDYgMTM6MTM6NTguMjk3NjQ4MDM5ICswMzAwCi1AQCAtMjUwMiwxMyArMjUwMiwxMyBAQAotICAgICByZXR1cm47Ci0gICBpZiAobiA+IDApCi0gICAgIHsKLSsgICAgICBpZiAoeWUgLSB5cyArIDEgPCBuKQotKwkgIG4gPSB5ZSAtIHlzICsgMTsKLSAgICAgICBpZiAobiA+IDI1NikKLSAJewotIAkgIE1TY3JvbGxWKHAsIG4gLSAyNTYsIHlzLCB5ZSwgYmNlKTsKLSAJICBuID0gMjU2OwotIAl9Ci0tICAgICAgaWYgKHllIC0geXMgKyAxIDwgbikKLS0JbiA9IHllIC0geXMgKyAxOwotICNpZmRlZiBDT1BZX1BBU1RFCi0gICAgICAgaWYgKGNvbXBhY3RoaXN0KQotIAl7Ci1AQCAtMjU2MiwxNSArMjU2MiwxNSBAQAotICAgICB9Ci0gICBlbHNlCi0gICAgIHsKLS0gICAgICBpZiAobiA8IC0yNTYpCi0tCXsKLS0JICBNU2Nyb2xsVihwLCBuICsgMjU2LCB5cywgeWUsIGJjZSk7Ci0tCSAgbiA9IC0yNTY7Ci0tCX0KLSAgICAgICBuID0gLW47Ci0gICAgICAgaWYgKHllIC0geXMgKyAxIDwgbikKLSAJbiA9IHllIC0geXMgKyAxOwotIAotKyAgICAgIGlmIChuID4gMjU2KQotKyAgICAgIHsKLSsgICAgICAgIE1TY3JvbGxWKHAsIC0gKG4gLSAyNTYpLCB5cywgeWUsIGJjZSk7Ci0rICAgICAgICBuID0gMjU2OwotKyAgICAgIH0KLSAgICAgICBtbCA9IHAtPndfbWxpbmVzICsgeWU7Ci0gICAgICAgLyogQ2xlYXIgbGluZXMgKi8KLSAgICAgICBmb3IgKGkgPSB5ZTsgaSA+IHllIC0gbjsgaS0tLCBtbC0tKQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9zY3JlZW4vc2NyZWVuLzAwMDEtZml4LWZvci1tdWx0aWpvYi1idWlsZC5wYXRjaCBiL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvc2NyZWVuL3NjcmVlbi8wMDAxLWZpeC1mb3ItbXVsdGlqb2ItYnVpbGQucGF0Y2gKaW5kZXggNDBlY2VmMC4uZmJkYjBlYiAxMDA2NDQKLS0tIGEvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9zY3JlZW4vc2NyZWVuLzAwMDEtZml4LWZvci1tdWx0aWpvYi1idWlsZC5wYXRjaAorKysgYi9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3NjcmVlbi9zY3JlZW4vMDAwMS1maXgtZm9yLW11bHRpam9iLWJ1aWxkLnBhdGNoCkBAIC0xLDMgKzEsMTMgQEAKK0Zyb20gNzlhZDI4ODVlMjY2MzEwNzdkZDZiOGFlYmUxN2FlOTViMzgxMzNhNiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEphY2tpZSBIdWFuZyA8amFja2llLmh1YW5nQHdpbmRyaXZlci5jb20+CitEYXRlOiBUdWUsIDI2IEp1bCAyMDE2IDE0OjIzOjU5ICswODAwCitTdWJqZWN0OiBbUEFUQ0hdIGZpeCBmb3IgbXVsdGlqb2IgYnVpbGQKKworbWFrZSBzdXJlIHRoYXQgY29tbS5zaCBzY3JpcHQgZ2VuZXJhdGVzIGNvbW0uaCBoZWFkZXIgYmVmb3JlIGRvaW5nCithbnl0aGluZyBlbHNlCisKK1NpZ25lZC1vZmYtYnk6IEFtYWRldXN6IFNhd2lza2kgPGFtYWRlQGFzbWJsci5uZXQ+CisKIFVwc3RyZWFtLVN0YXR1czogQmFja3BvcnQKIAogQmFja3BvcnQgcGF0Y2ggdG8gZml4IHBhcmFsbGVsIGJ1aWxkIGZhaWx1cmUgYW5kIHVwZGF0ZSBjb250ZXh0IHRvIG1ha2UgcGF0Y2gKQEAgLTYsMjUgKzE2LDEzIEBACiBodHRwOi8vZ2l0LnNhdmFubmFoLmdudS5vcmcvY2dpdC9zY3JlZW4uZ2l0L2NvbW1pdD9pZD1jMGRlNmRkCiAKIFNpZ25lZC1vZmYtYnk6IEthaSBLYW5nIDxrYWkua2FuZ0B3aW5kcml2ZXIuY29tPgorU2lnbmVkLW9mZi1ieTogSmFja2llIEh1YW5nIDxqYWNraWUuaHVhbmdAd2luZHJpdmVyLmNvbT4KIC0tLQotRnJvbSBjMGRlNmRkNzk3MGIyYzdiNDI2YTVjMzlkY2JjMzFjMmJlZjg3MjMyIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogPT9VVEYtOD9xP0FtYWRldXN6PTIwUz1DNT04MmF3aT1DNT04NHNraT89IDxhbWFkZUBhc21ibHIubmV0PgotRGF0ZTogVGh1LCAyIEphbiAyMDE0IDE4OjE4OjA2ICswMTAwCi1TdWJqZWN0OiBbUEFUQ0hdIGZpeCBmb3IgbXVsdGlqb2IgYnVpbGQKLU1JTUUtVmVyc2lvbjogMS4wCi1Db250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKLUNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKLQotbWFrZSBzdXJlIHRoYXQgY29tbS5zaCBzY3JpcHQgZ2VuZXJhdGVzIGNvbW0uaCBoZWFkZXIgYmVmb3JlIGRvaW5nCi1hbnl0aGluZyBlbHNlCi0KLVNpZ25lZC1vZmYtYnk6IEFtYWRldXN6IFPFgmF3acWEc2tpIDxhbWFkZUBhc21ibHIubmV0PgotLS0tCi0gTWFrZWZpbGUuaW4gfCAxMCArKysrKy0tLS0tCi0gMSBmaWxlIGNoYW5nZWQsIDUgaW5zZXJ0aW9ucygrKSwgNSBkZWxldGlvbnMoLSkKKyBNYWtlZmlsZS5pbiB8IDggKysrKy0tLS0KKyAxIGZpbGUgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQogCiBkaWZmIC0tZ2l0IGEvTWFrZWZpbGUuaW4gYi9NYWtlZmlsZS5pbgotaW5kZXggY2U4NmNiYy4uZGVhMTZkOCAxMDA2NDQKK2luZGV4IGFjYTdkYTMuLjM2MDc3MTEgMTAwNjQ0CiAtLS0gYS9NYWtlZmlsZS5pbgogKysrIGIvTWFrZWZpbGUuaW4KIEBAIC0yOTgsNyArMjk4LDcgQEAgc2VhcmNoLm86IGxheW91dC5oIHZpZXdwb3J0LmggY2FudmFzLmggc2VhcmNoLmMgY29uZmlnLmggc2NyZWVuLmggb3MuaCBvc2RlZi5oIGEKQEAgLTUxLDggKzQ5LDEwIEBACiAgIGJyYWlsbGUuaAogLWxpc3RfZ2VuZXJpYy5vOiBsaXN0X2dlbmVyaWMuaCBsaXN0X2dlbmVyaWMuYyBsYXllci5oIHNjcmVlbi5oIG9zZGVmLmgKIC1saXN0X2Rpc3BsYXkubzogbGlzdF9nZW5lcmljLmggbGlzdF9kaXNwbGF5LmMgbGF5ZXIuaCBzY3JlZW4uaCBvc2RlZi5oCi0tbGlzdF93aW5kb3cubzogbGlzdF9nZW5lcmljLmggbGlzdF93aW5kb3cuYyB3aW5kb3cuaCBsYXllci5oIHNjcmVlbi5oIG9zZGVmLmgKICtsaXN0X2dlbmVyaWMubzogbGlzdF9nZW5lcmljLmggbGlzdF9nZW5lcmljLmMgbGF5ZXIuaCBzY3JlZW4uaCBvc2RlZi5oIGNvbW0uaAogK2xpc3RfZGlzcGxheS5vOiBsaXN0X2dlbmVyaWMuaCBsaXN0X2Rpc3BsYXkuYyBsYXllci5oIHNjcmVlbi5oIG9zZGVmLmggY29tbS5oCi0rbGlzdF93aW5kb3cubzogbGlzdF9nZW5lcmljLmggbGlzdF93aW5kb3cuYyB3aW5kb3cuaCBsYXllci5oIHNjcmVlbi5oIG9zZGVmLmggY29tbS5oCisgbGlzdF93aW5kb3cubzogbGlzdF9nZW5lcmljLmggbGlzdF93aW5kb3cuYyB3aW5kb3cuaCBsYXllci5oIHNjcmVlbi5oIG9zZGVmLmggY29tbS5oCiAgCistLSAKKzEuOS4xCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvc2NyZWVuL3NjcmVlbl80LjMuMS5iYiBiL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvc2NyZWVuL3NjcmVlbl80LjQuMC5iYgpzaW1pbGFyaXR5IGluZGV4IDg5JQpyZW5hbWUgZnJvbSBpbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3NjcmVlbi9zY3JlZW5fNC4zLjEuYmIKcmVuYW1lIHRvIGltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvc2NyZWVuL3NjcmVlbl80LjQuMC5iYgppbmRleCAwMGQ4NzhiLi43NjliYWMxIDEwMDY0NAotLS0gYS9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3NjcmVlbi9zY3JlZW5fNC4zLjEuYmIKKysrIGIvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9zY3JlZW4vc2NyZWVuXzQuNC4wLmJiCkBAIC0yMiwxMyArMjIsMTIgQEAKICAgICAgICAgICAgZmlsZTovL1Byb3ZpZGUtY3Jvc3MtY29tcGlsZS1hbHRlcm5hdGl2ZXMtZm9yLUFDX1RSWV9SVU4ucGF0Y2ggXAogICAgICAgICAgICBmaWxlOi8vU2tpcC1ob3N0LWZpbGUtc3lzdGVtLWNoZWNrcy13aGVuLWNyb3NzLWNvbXBpbGluZy5wYXRjaCBcCiAgICAgICAgICAgIGZpbGU6Ly9Bdm9pZC1taXMtaWRlbnRpZnlpbmctc3lzdGVtcy1hcy1TVlI0LnBhdGNoIFwKLSAgICAgICAgICAgZmlsZTovLzAwMDEtZml4LWZvci1tdWx0aWpvYi1idWlsZC5wYXRjaCBcCiAgICAgICAgICAgIGZpbGU6Ly8wMDAyLWNvbW0uaC1ub3ctZGVwZW5kcy1vbi10ZXJtLmgucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vMDAwMS1GaXgtc3RhY2stb3ZlcmZsb3ctZHVlLXRvLXRvby1kZWVwLXJlY3Vyc2lvbi5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly8wMDAxLWZpeC1mb3ItbXVsdGlqb2ItYnVpbGQucGF0Y2ggXAogICAgICAgICAgICIKIAotU1JDX1VSSVttZDVzdW1dID0gIjViYjNiMGZmMjY3NGUyOTM3OGMzMWFkMzQxMTE3MGFkIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gImZhNDA0OWY4YWVlMjgzZGU2MmUyODNkNDI3ZjJjZmQzNWQ2YzM2OWI0MGY3ZjQ1Zjk0N2RiZmQ5MTU2OTlkNjMiCitTUkNfVVJJW21kNXN1bV0gPSAiZDI2ZTExYTM2NDhjMmIxMWFhZWZhMjE1YTU1ZGZkMzkiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZWY3MjJhNTQ3NTlhM2JmMjNhYWQyNzJiYmYzM2M0MTRjMTA3OGNhZDZiY2Q5ODJmYWRhOTNjMGQ3OTE3MjE4YiIKIAogaW5oZXJpdCBhdXRvdG9vbHMgdGV4aW5mbwogCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3NlZC9zZWQtNC4xLjIvc2VkLTQuMS4yX2ZpeF9mb3JfYXV0b21ha2UtMS4xMi5wYXRjaCBiL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvc2VkL3NlZC00LjEuMi9zZWQtNC4xLjJfZml4X2Zvcl9hdXRvbWFrZS0xLjEyLnBhdGNoCmluZGV4IDgwNTk0MDYuLmM3YzBhYTAgMTAwNjQ0Ci0tLSBhL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvc2VkL3NlZC00LjEuMi9zZWQtNC4xLjJfZml4X2Zvcl9hdXRvbWFrZS0xLjEyLnBhdGNoCisrKyBiL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvc2VkL3NlZC00LjEuMi9zZWQtNC4xLjJfZml4X2Zvcl9hdXRvbWFrZS0xLjEyLnBhdGNoCkBAIC02LDcgKzYsNyBAQAogfCBtYWtlWzFdOiBta2Rpcl9wQDogQ29tbWFuZCBub3QgZm91bmQKIHwgbWFrZVsxXTogKioqIFtpbnN0YWxsLWRhdGEteWVzXSBFcnJvciAxMjcKIAotU2lnbmVkLU9mZi1CeTogTml0aW4gQSBLYW1ibGUgPG5pdGluLmEua2FtYmxlQGludGVsLmNvbT4KK1NpZ25lZC1vZmYtYnk6IE5pdGluIEEgS2FtYmxlIDxuaXRpbi5hLmthbWJsZUBpbnRlbC5jb20+CiAyMDEyLzA3LzEzCiAKIEluZGV4OiBzZWQtNC4xLjIvaW50bC9NYWtlZmlsZS5pbgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9zZWQvc2VkLTQuMi4yL3NlZC1hZGQtcHRlc3QucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3NlZC9zZWQtNC4yLjIvc2VkLWFkZC1wdGVzdC5wYXRjaAppbmRleCAxMDVlOGI3Li4wMjkzOTAwIDEwMDY0NAotLS0gYS9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3NlZC9zZWQtNC4yLjIvc2VkLWFkZC1wdGVzdC5wYXRjaAorKysgYi9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3NlZC9zZWQtNC4yLjIvc2VkLWFkZC1wdGVzdC5wYXRjaApAQCAtNTQsNyArNTQsNyBAQAogICMgZHVtbXkgdGFyZ2V0cyBmb3IgJChURVNUUykgc28gdGhhdCBtYWtlIGRvZXMgbm90IGNvbXBsYWluLgogIAogK2luc3RhbGwtcHRlc3Q6Ci0rCWNkICQoQlVJTERESVIpOyB0YXIgLWNmIC0gJChURVNURElSKSAtLWV4Y2x1ZGUgKi5vIHwgKCBjZCAkKERFU1RESVIpICYmIHRhciAteGYgLSApCisrCWNkICQoQlVJTERESVIpOyB0YXIgLWMgLS1leGNsdWRlPSoubyAkKFRFU1RESVIpIHwgKCBjZCAkKERFU1RESVIpICYmIHRhciAteGYgLSApCiArCWZvciBpIGluICQoRVhUUkFfRElTVCkgdHN0LXJlZ2V4Mi5jOyBkbyBpbnN0YWxsICQoc3JjZGlyKS8kJGkgJChERVNURElSKS8kKFRFU1RESVIpOyBkb25lCiArCXNlZCAtZSAncy9eTWFrZWZpbGU6L19NYWtlZmlsZTovJyAtZSAncy9ec3JjZGlyID0gXCguKlwpL3NyY2RpciA9IC4vJyAtZSAncy9iYXNoL3NoLycgLWkgJChERVNURElSKS8kKFRFU1RESVIpL01ha2VmaWxlCiArCWZvciBpIGluIGBncmVwIC1ybCAiLi4vc2VkL3NlZCIgJChERVNURElSKS8kKFRFU1RESVIpYDsgZG8gc2VkIC1lICdzLy4uXC9zZWRcL3NlZC9zZWQvJyAtaSAkJGk7IGRvbmUKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvc2hhZG93L2ZpbGVzL3NoYWRvdy1yZWxheGVkLXVzZXJuYW1lcy5wYXRjaCBiL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvc2hhZG93L2ZpbGVzL3NoYWRvdy1yZWxheGVkLXVzZXJuYW1lcy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xYWYwNGQ1Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9zaGFkb3cvZmlsZXMvc2hhZG93LXJlbGF4ZWQtdXNlcm5hbWVzLnBhdGNoCkBAIC0wLDAgKzEsMTAwIEBACisKK1RoZSBncm91cGFkZCBmcm9tIHNoYWRvdyBkb2VzIG5vdCBhbGxvdyB1cHBlciBjYXNlIGdyb3VwIG5hbWVzLCB0aGUKK3NhbWUgaXMgdHJ1ZSBmb3IgdGhlIHVwc3RyZWFtIHNoYWRvdy4gQnV0IGRpc3RyaWJ1dGlvbnMgbGlrZQorRGViaWFuL1VidW50dS9DZW50T1MgaGFzIHRoZWlyIG93biB3YXkgdG8gY29wZSB3aXRoIHRoaXMgcHJvYmxlbSwKK3RoaXMgcGF0Y2ggaXMgcGlja2VkIHVwIGZyb20gQ2VudE9TIHJlbGVhc2UgNy4wIHRvIHJlbGF4IHRoZSB1c2VybmFtZXMKK3Jlc3RyaWN0aW9ucyB0byBhbGxvdyB0aGUgdXBwZXIgY2FzZSBncm91cCBuYW1lcywgYW5kIHRoZSByZWxheGF0aW9uIGlzCitQT1NJWCBjb21wbGlhbnQgYmVjYXVzZSBQT1NJWCBpbmRpY2F0ZSB0aGF0IHVzZXJuYW1lcyBhcmUgY29tcG9zZWQgb2YgCitjaGFyYWN0ZXJzIGZyb20gdGhlIHBvcnRhYmxlIGZpbGVuYW1lIGNoYXJhY3RlciBzZXQgW0EtWmEtejAtOS5fLV0uCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitTaWduZWQtb2ZmLWJ5OiBTaGFuIEhhaSA8c2hhbi5oYWlAd2luZHJpdmVyLmNvbT4gCisKK2RpZmYgLXVycE4gYS9saWJtaXNjL2Noa25hbWUuYyBiL2xpYm1pc2MvY2hrbmFtZS5jCitpbmRleCA1MDg5MTEyLi5mNDBhMGRhIDEwMDY0NAorLS0tIGEvbGlibWlzYy9jaGtuYW1lLmMKKysrKyBiL2xpYm1pc2MvY2hrbmFtZS5jCitAQCAtNDksMjEgKzQ5LDI4IEBACisgc3RhdGljIGJvb2wgaXNfdmFsaWRfbmFtZSAoY29uc3QgY2hhciAqbmFtZSkKKyB7CisgCS8qCistCSAqIFVzZXIvZ3JvdXAgbmFtZXMgbXVzdCBtYXRjaCBbYS16X11bYS16MC05Xy1dKlskXQorLQkgKi8KKy0JaWYgKCgnXDAnID09ICpuYW1lKSB8fAorLQkgICAgISgoKCdhJyA8PSAqbmFtZSkgJiYgKCd6JyA+PSAqbmFtZSkpIHx8ICgnXycgPT0gKm5hbWUpKSkgeworKyAgICAgICAgICogVXNlci9ncm91cCBuYW1lcyBtdXN0IG1hdGNoIGdudSBlLXJlZ2V4OgorKyAgICAgICAgICogICAgW2EtekEtWjAtOV8uXVthLXpBLVowLTlfLi1dezAsMzB9W2EtekEtWjAtOV8uJC1dPworKyAgICAgICAgICoKKysgICAgICAgICAqIGFzIGEgbm9uLVBPU0lYLCBleHRlbnNpb24sIGFsbG93ICIkIiBhcyB0aGUgbGFzdCBjaGFyIGZvcgorKyAgICAgICAgICogc2FrZSBvZiBTYW1iYSAzLnggImFkZCBtYWNoaW5lIHNjcmlwdCIKKysgICAgICAgICAqLworKwlpZiAoICgnXDAnID09ICpuYW1lKSB8fAorKyAgICAgICAgICAgICAhKCgqbmFtZSA+PSAnYScgJiYgKm5hbWUgPD0gJ3onKSB8fAorKyAgICAgICAgICAgICAgICgqbmFtZSA+PSAnQScgJiYgKm5hbWUgPD0gJ1onKSB8fAorKyAgICAgICAgICAgICAgICgqbmFtZSA+PSAnMCcgJiYgKm5hbWUgPD0gJzknKSB8fAorKyAgICAgICAgICAgICAgICgqbmFtZSA9PSAnXycpIHx8ICgqbmFtZSA9PSAnLicpIAorKwkgICAgICApKSB7CisgCQlyZXR1cm4gZmFsc2U7CisgCX0KKyAKKyAJd2hpbGUgKCdcMCcgIT0gKisrbmFtZSkgeworLQkJaWYgKCEoKCAoJ2EnIDw9ICpuYW1lKSAmJiAoJ3onID49ICpuYW1lKSApIHx8CistCQkgICAgICAoICgnMCcgPD0gKm5hbWUpICYmICgnOScgPj0gKm5hbWUpICkgfHwKKy0JCSAgICAgICgnXycgPT0gKm5hbWUpIHx8CistCQkgICAgICAoJy0nID09ICpuYW1lKSB8fAorLQkJICAgICAgKCcuJyA9PSAqbmFtZSkgfHwKKy0JCSAgICAgICggKCckJyA9PSAqbmFtZSkgJiYgKCdcMCcgPT0gKihuYW1lICsgMSkpICkKKy0JCSAgICAgKSkgeworKyAgICAgICAgICAgICAgICBpZiAoISggICgqbmFtZSA+PSAnYScgJiYgKm5hbWUgPD0gJ3onKSB8fAorKyAgICAgICAgICAgICAgICAgICAgICAgICgqbmFtZSA+PSAnQScgJiYgKm5hbWUgPD0gJ1onKSB8fAorKyAgICAgICAgICAgICAgICAgICAgICAgICgqbmFtZSA+PSAnMCcgJiYgKm5hbWUgPD0gJzknKSB8fAorKyAgICAgICAgICAgICAgICAgICAgICAgICgqbmFtZSA9PSAnXycpIHx8ICgqbmFtZSA9PSAnLicpIHx8ICgqbmFtZSA9PSAnLScpIHx8CisrICAgICAgICAgICAgICAgICAgICAgICAgKCpuYW1lID09ICckJyAmJiAqKG5hbWUgKyAxKSA9PSAnXDAnKSAKKysgICAgICAgICAgICAgICAgICAgICApKSB7CisgCQkJcmV0dXJuIGZhbHNlOworIAkJfQorIAl9CitkaWZmIC11cnBOIGEvbWFuL2dyb3VwYWRkLjgueG1sIGIvbWFuL2dyb3VwYWRkLjgueG1sCitpbmRleCAyMzBmZDBjLi45NGY3ODA3IDEwMDY0NAorLS0tIGEvbWFuL2dyb3VwYWRkLjgueG1sCisrKysgYi9tYW4vZ3JvdXBhZGQuOC54bWwKK0BAIC0yMjIsMTIgKzIyMiw2IEBACisgICAgPHJlZnNlY3QxIGlkPSdjYXZlYXRzJz4KKyAgICAgIDx0aXRsZT5DQVZFQVRTPC90aXRsZT4KKyAgICAgIDxwYXJhPgorLSAgICAgICBHcm91cG5hbWVzIG11c3Qgc3RhcnQgd2l0aCBhIGxvd2VyIGNhc2UgbGV0dGVyIG9yIGFuIHVuZGVyc2NvcmUsCistICAgICAgIGZvbGxvd2VkIGJ5IGxvd2VyIGNhc2UgbGV0dGVycywgZGlnaXRzLCB1bmRlcnNjb3Jlcywgb3IgZGFzaGVzLgorLSAgICAgICBUaGV5IGNhbiBlbmQgd2l0aCBhIGRvbGxhciBzaWduLgorLSAgICAgICBJbiByZWd1bGFyIGV4cHJlc3Npb24gdGVybXM6IFthLXpfXVthLXowLTlfLV0qWyRdPworLSAgICAgPC9wYXJhPgorLSAgICAgPHBhcmE+CisgICAgICAgIEdyb3VwbmFtZXMgbWF5IG9ubHkgYmUgdXAgdG8gJkdST1VQX05BTUVfTUFYX0xFTkdUSDsgY2hhcmFjdGVycyBsb25nLgorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+CitkaWZmIC11cnBOIGEvbWFuL3VzZXJhZGQuOC54bWwgYi9tYW4vdXNlcmFkZC44LnhtbAoraW5kZXggNWRlYzk4OS4uZmU2MjNiOSAxMDA2NDQKKy0tLSBhL21hbi91c2VyYWRkLjgueG1sCisrKysgYi9tYW4vdXNlcmFkZC44LnhtbAorQEAgLTMzNiw3ICszMzYsNyBAQAorIAk8L3Rlcm0+CisgCTxsaXN0aXRlbT4KKyAJICA8cGFyYT4KKy0JICAgIERvIG5vIGNyZWF0ZSB0aGUgdXNlcidzIGhvbWUgZGlyZWN0b3J5LCBldmVuIGlmIHRoZSBzeXN0ZW0KKysJICAgIERvIG5vdCBjcmVhdGUgdGhlIHVzZXIncyBob21lIGRpcmVjdG9yeSwgZXZlbiBpZiB0aGUgc3lzdGVtCisgCSAgICB3aWRlIHNldHRpbmcgZnJvbSA8ZmlsZW5hbWU+L2V0Yy9sb2dpbi5kZWZzPC9maWxlbmFtZT4KKyAJICAgICg8b3B0aW9uPkNSRUFURV9IT01FPC9vcHRpb24+KSBpcyBzZXQgdG8KKyAJICAgIDxyZXBsYWNlYWJsZT55ZXM8L3JlcGxhY2VhYmxlPi4KK0BAIC02MDcsMTIgKzYwNyw2IEBACisgICAgIDwvcGFyYT4KKyAKKyAgICAgPHBhcmE+CistICAgICAgVXNlcm5hbWVzIG11c3Qgc3RhcnQgd2l0aCBhIGxvd2VyIGNhc2UgbGV0dGVyIG9yIGFuIHVuZGVyc2NvcmUsCistICAgICAgZm9sbG93ZWQgYnkgbG93ZXIgY2FzZSBsZXR0ZXJzLCBkaWdpdHMsIHVuZGVyc2NvcmVzLCBvciBkYXNoZXMuCistICAgICAgVGhleSBjYW4gZW5kIHdpdGggYSBkb2xsYXIgc2lnbi4KKy0gICAgICBJbiByZWd1bGFyIGV4cHJlc3Npb24gdGVybXM6IFthLXpfXVthLXowLTlfLV0qWyRdPworLSAgICA8L3BhcmE+CistICAgIDxwYXJhPgorICAgICAgIFVzZXJuYW1lcyBtYXkgb25seSBiZSB1cCB0byAzMiBjaGFyYWN0ZXJzIGxvbmcuCisgICAgIDwvcGFyYT4KKyAgIDwvcmVmc2VjdDE+CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3NoYWRvdy9zaGFkb3ctc3lzcm9vdF80LjIuMS5iYiBiL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvc2hhZG93L3NoYWRvdy1zeXNyb290XzQuMi4xLmJiCmluZGV4IDY5NzU2OWMuLmVmMDE0NjIgMTAwNjQ0Ci0tLSBhL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvc2hhZG93L3NoYWRvdy1zeXNyb290XzQuMi4xLmJiCisrKyBiL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvc2hhZG93L3NoYWRvdy1zeXNyb290XzQuMi4xLmJiCkBAIC0yMSwxMiArMjEsMTAgQEAKIAogZG9faW5zdGFsbCgpIHsKIAlpbnN0YWxsIC1kICR7RH0ke3N5c2NvbmZkaXJ9Ci0JaW5zdGFsbCAtcCAtbSA3NTUgJHtTfS9sb2dpbi5kZWZzX3NoYWRvdy1zeXNyb290ICR7RH0ke3N5c2NvbmZkaXJ9L2xvZ2luLmRlZnMKKwlpbnN0YWxsIC1wIC1tIDY0NCAke1N9L2xvZ2luLmRlZnNfc2hhZG93LXN5c3Jvb3QgJHtEfSR7c3lzY29uZmRpcn0vbG9naW4uZGVmcwogfQogCi1zeXNyb290X3N0YWdlX2FsbCgpIHsKLQlzeXNyb290X3N0YWdlX2RpciAke0R9ICR7U1lTUk9PVF9ERVNURElSfQotfQorU1lTUk9PVF9ESVJTICs9ICIke3N5c2NvbmZkaXJ9IgogCiAjIGRvbid0IGNyZWF0ZSBhbnkgcGFja2FnZXMKICMgb3RoZXJ3aXNlOiBkYnVzLWRldiBkZXBlbmRzIG9uIHNoYWRvdy1zeXNyb290LWRldiB3aGljaCBkZXBlbmRzIG9uIHNoYWRvdy1zeXNyb290IApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9zaGFkb3cvc2hhZG93LmluYyBiL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvc2hhZG93L3NoYWRvdy5pbmMKaW5kZXggZDAyNGIwMS4uMzVhMThmOCAxMDA2NDQKLS0tIGEvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9zaGFkb3cvc2hhZG93LmluYworKysgYi9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3NoYWRvdy9zaGFkb3cuaW5jCkBAIC0yMiw2ICsyMiw3IEBACiBTUkNfVVJJX2FwcGVuZF9jbGFzcy10YXJnZXQgPSAiIFwKICAgICAgICAgICAgZmlsZTovL2xvZ2luX2RlZnNfcGFtLnNlZCBcCiAgICAgICAgICAgIGZpbGU6Ly9zaGFkb3ctdXBkYXRlLXBhbS1jb25mLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL3NoYWRvdy1yZWxheGVkLXVzZXJuYW1lcy5wYXRjaCBcCiAgICAgICAgICAgICIKIAogU1JDX1VSSV9hcHBlbmRfY2xhc3MtbmF0aXZlID0gIiBcCkBAIC0xNzksMTAgKzE4MCwxMSBAQAogQUxURVJOQVRJVkVfTElOS19OQU1FW2xvZ2luXSA9ICIke2Jhc2VfYmluZGlyfS9sb2dpbiIKIEFMVEVSTkFUSVZFX0xJTktfTkFNRVtzdV0gPSAiJHtiYXNlX2JpbmRpcn0vc3UiCiAKLUFMVEVSTkFUSVZFXyR7UE59LWRvYyA9ICJwYXNzd2QuNSBnZXRzcG5hbS4zIGdyb3Vwcy4xIgorQUxURVJOQVRJVkVfJHtQTn0tZG9jID0gInBhc3N3ZC41IGdldHNwbmFtLjMgZ3JvdXBzLjEgc3UuMSIKIEFMVEVSTkFUSVZFX0xJTktfTkFNRVtwYXNzd2QuNV0gPSAiJHttYW5kaXJ9L21hbjUvcGFzc3dkLjUiCiBBTFRFUk5BVElWRV9MSU5LX05BTUVbZ2V0c3BuYW0uM10gPSAiJHttYW5kaXJ9L21hbjMvZ2V0c3BuYW0uMyIKIEFMVEVSTkFUSVZFX0xJTktfTkFNRVtncm91cHMuMV0gPSAiJHttYW5kaXJ9L21hbjEvZ3JvdXBzLjEiCitBTFRFUk5BVElWRV9MSU5LX05BTUVbc3UuMV0gPSAiJHttYW5kaXJ9L21hbjEvc3UuMSIKIAogcGtnX3Bvc3RpbnN0XyR7UE59ICgpIHsKIAlpZiBbICJ4JEQiICE9ICJ4IiBdOyB0aGVuCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3NsYW5nL3NsYW5nL2NoYW5nZS1jaGFyLXR5cGUtdG8tc2lnbmVkLWNoYXItaW4tbWFjcm9zLnBhdGNoIGIvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9zbGFuZy9zbGFuZy9jaGFuZ2UtY2hhci10eXBlLXRvLXNpZ25lZC1jaGFyLWluLW1hY3Jvcy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMmVhMWZmZC4uMDAwMDAwMAotLS0gYS9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3NsYW5nL3NsYW5nL2NoYW5nZS1jaGFyLXR5cGUtdG8tc2lnbmVkLWNoYXItaW4tbWFjcm9zLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMjE4ICswLDAgQEAKLXNsYW5nOiBjaGFuZ2UgY2hhciB0eXBlIHRvIHNpZ25lZCBjaGFyIGluIG1hY3JvcwotCi1DIGxhbmd1YWdlIGhhcyAzIGRpc3RpbmN0IGNoYXIgdHlwZXM6Ci0gICAgICAgICBjaGFyCi0gICAgICAgICB1bnNpZ25lZCBjaGFyCi0gICAgICAgICBzaWduZWQgY2hhcgotQSBjaGFyIGhhcyB0aGUgc2FtZSByYW5nZSBvZiB2YWx1ZXMgYXMgc2lnbmVkIGNoYXIgb24gWDg2LAotYnV0IHNhbWUgYXMgdW5zaWduZWQgY2hhciBvbiBBUk0gd2hpY2ggbWFkZSBTbGFuZydzIHR5cGVjYXN0KCkKLWFuZCBhcnJheV9zb3J0KCkgdW5hYmxlIHRvIHdvcmsgZm9yIGNoYXIgdmFsdWUgb24gQVJNLCBzaW5jZQotU2xhbmcgaXMgYXNzdW1pbmcgImNoYXIiIGFzICJzaWduZWQgY2hhciIuCi0KLU5vdyB3ZSBjaGFuZ2UgImNoYXIiIGFzICJzaWduZWQgY2hhciIgZXhwbGljaXRseSBpbgotdXRpbC9ta3NsYXJpdGgyLnNsLCBhbmQgdXNlIGl0IHRvIHJlZ2VuZXJhdGUgc3JjL3NsYXJpdGgyLmluYwotCi1VcHN0cmVhbS1TdGF0dXM6IFN1Ym1pdHRlZAotU2lnbmVkLW9mZi1ieTogUm95LkxpIDxyb25ncWluZy5saUB3aW5kcml2ZXIuY29tPgotLS0tCi0gc3JjL3NsYXJpdGgyLmluYyAgICAgICB8ICAgNzIgKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIHNyYy91dGlsL21rc2xhcml0aDIuc2wgfCAgICAyIC0KLSAyIGZpbGVzIGNoYW5nZWQsIDM3IGluc2VydGlvbnMoKyksIDM3IGRlbGV0aW9ucygtKQotCi0tLS0gYS9zcmMvdXRpbC9ta3NsYXJpdGgyLnNsCi0rKysgYi9zcmMvdXRpbC9ta3NsYXJpdGgyLnNsCi1AQCAtMSw3ICsxLDcgQEAKLSAjIS91c3IvYmluL2VudiBzbHNoCi0gCi0gcHJpdmF0ZSB2YXJpYWJsZSBDVHlwZXMgPQotLSAgWyJjaGFyIiwgInVuc2lnbmVkIGNoYXIiLCAic2hvcnQiLCAidW5zaWduZWQgc2hvcnQiLCAiaW50IiwgInVuc2lnbmVkIGludCIsCi0rICBbInNpZ25lZCBjaGFyIiwgInVuc2lnbmVkIGNoYXIiLCAic2hvcnQiLCAidW5zaWduZWQgc2hvcnQiLCAiaW50IiwgInVuc2lnbmVkIGludCIsCi0gICAgImxvbmciLCAidW5zaWduZWQgbG9uZyIsICJsb25nIGxvbmciLCAidW5zaWduZWQgbG9uZyBsb25nIiwKLSAgICAiZmxvYXQiLCAiZG91YmxlIiwgImxvbmcgZG91YmxlIl07Ci0gcHJpdmF0ZSB2YXJpYWJsZSBJc19JbnRfVHlwZSA9Ci0tLS0gYS9zcmMvc2xhcml0aDIuaW5jCi0rKysgYi9zcmMvc2xhcml0aDIuaW5jCi1AQCAtMSw0MyArMSw0MyBAQAotIC8qIERPIE5PVCBFRElUIC0tIHRoaXMgZmlsZSB3YXMgZ2VuZXJhdGVkIGJ5IHNyYy91dGlsL21rc2xhcml0aDIuc2wgKi8KLS0vKiAtLS0tLS0tLS0tLS0gY2hhciAtLS0tLS0tLS0tICovCi0tREVGVU5fMShjb3B5X2NoYXJfdG9fY2hhcixjaGFyLGNoYXIpCi0rLyogLS0tLS0tLS0tLS0tIHNpZ25lZCBjaGFyIC0tLS0tLS0tLS0gKi8KLStERUZVTl8xKGNvcHlfY2hhcl90b19jaGFyLHNpZ25lZCBjaGFyLHNpZ25lZCBjaGFyKQotICNkZWZpbmUgY2hhcl90b19jaGFyCU5VTEwKLSAjZGVmaW5lIGNvcHlfY2hhcl90b191Y2hhcgljb3B5X2NoYXJfdG9fY2hhcgotICNkZWZpbmUgY2hhcl90b191Y2hhcglOVUxMCi0tREVGVU5fMShjb3B5X2NoYXJfdG9fc2hvcnQsY2hhcixzaG9ydCkKLStERUZVTl8xKGNvcHlfY2hhcl90b19zaG9ydCxzaWduZWQgY2hhcixzaG9ydCkKLSAjZGVmaW5lIGNoYXJfdG9fc2hvcnQJTlVMTAotLURFRlVOXzEoY29weV9jaGFyX3RvX3VzaG9ydCxjaGFyLHVuc2lnbmVkIHNob3J0KQotK0RFRlVOXzEoY29weV9jaGFyX3RvX3VzaG9ydCxzaWduZWQgY2hhcix1bnNpZ25lZCBzaG9ydCkKLSAjZGVmaW5lIGNoYXJfdG9fdXNob3J0CU5VTEwKLS1ERUZVTl8xKGNvcHlfY2hhcl90b19pbnQsY2hhcixpbnQpCi0tREVGVU5fMihjaGFyX3RvX2ludCxjaGFyLGludCxjb3B5X2NoYXJfdG9faW50KQotLURFRlVOXzEoY29weV9jaGFyX3RvX3VpbnQsY2hhcix1bnNpZ25lZCBpbnQpCi0tREVGVU5fMihjaGFyX3RvX3VpbnQsY2hhcix1bnNpZ25lZCBpbnQsY29weV9jaGFyX3RvX3VpbnQpCi0tREVGVU5fMShjb3B5X2NoYXJfdG9fbG9uZyxjaGFyLGxvbmcpCi0tREVGVU5fMihjaGFyX3RvX2xvbmcsY2hhcixsb25nLGNvcHlfY2hhcl90b19sb25nKQotLURFRlVOXzEoY29weV9jaGFyX3RvX3Vsb25nLGNoYXIsdW5zaWduZWQgbG9uZykKLS1ERUZVTl8yKGNoYXJfdG9fdWxvbmcsY2hhcix1bnNpZ25lZCBsb25nLGNvcHlfY2hhcl90b191bG9uZykKLStERUZVTl8xKGNvcHlfY2hhcl90b19pbnQsc2lnbmVkIGNoYXIsaW50KQotK0RFRlVOXzIoY2hhcl90b19pbnQsc2lnbmVkIGNoYXIsaW50LGNvcHlfY2hhcl90b19pbnQpCi0rREVGVU5fMShjb3B5X2NoYXJfdG9fdWludCxzaWduZWQgY2hhcix1bnNpZ25lZCBpbnQpCi0rREVGVU5fMihjaGFyX3RvX3VpbnQsc2lnbmVkIGNoYXIsdW5zaWduZWQgaW50LGNvcHlfY2hhcl90b191aW50KQotK0RFRlVOXzEoY29weV9jaGFyX3RvX2xvbmcsc2lnbmVkIGNoYXIsbG9uZykKLStERUZVTl8yKGNoYXJfdG9fbG9uZyxzaWduZWQgY2hhcixsb25nLGNvcHlfY2hhcl90b19sb25nKQotK0RFRlVOXzEoY29weV9jaGFyX3RvX3Vsb25nLHNpZ25lZCBjaGFyLHVuc2lnbmVkIGxvbmcpCi0rREVGVU5fMihjaGFyX3RvX3Vsb25nLHNpZ25lZCBjaGFyLHVuc2lnbmVkIGxvbmcsY29weV9jaGFyX3RvX3Vsb25nKQotICNpZiBkZWZpbmVkKEhBVkVfTE9OR19MT05HKQotLURFRlVOXzEoY29weV9jaGFyX3RvX2xsb25nLGNoYXIsbG9uZyBsb25nKQotLURFRlVOXzIoY2hhcl90b19sbG9uZyxjaGFyLGxvbmcgbG9uZyxjb3B5X2NoYXJfdG9fbGxvbmcpCi0rREVGVU5fMShjb3B5X2NoYXJfdG9fbGxvbmcsc2lnbmVkIGNoYXIsbG9uZyBsb25nKQotK0RFRlVOXzIoY2hhcl90b19sbG9uZyxzaWduZWQgY2hhcixsb25nIGxvbmcsY29weV9jaGFyX3RvX2xsb25nKQotICNlbmRpZiAvKiBkZWZpbmVkKEhBVkVfTE9OR19MT05HKSAqLwotICNpZiBkZWZpbmVkKEhBVkVfTE9OR19MT05HKQotLURFRlVOXzEoY29weV9jaGFyX3RvX3VsbG9uZyxjaGFyLHVuc2lnbmVkIGxvbmcgbG9uZykKLS1ERUZVTl8yKGNoYXJfdG9fdWxsb25nLGNoYXIsdW5zaWduZWQgbG9uZyBsb25nLGNvcHlfY2hhcl90b191bGxvbmcpCi0rREVGVU5fMShjb3B5X2NoYXJfdG9fdWxsb25nLHNpZ25lZCBjaGFyLHVuc2lnbmVkIGxvbmcgbG9uZykKLStERUZVTl8yKGNoYXJfdG9fdWxsb25nLHNpZ25lZCBjaGFyLHVuc2lnbmVkIGxvbmcgbG9uZyxjb3B5X2NoYXJfdG9fdWxsb25nKQotICNlbmRpZiAvKiBkZWZpbmVkKEhBVkVfTE9OR19MT05HKSAqLwotICNpZiBTTEFOR19IQVNfRkxPQVQKLS1ERUZVTl8xKGNvcHlfY2hhcl90b19mbG9hdCxjaGFyLGZsb2F0KQotLURFRlVOXzIoY2hhcl90b19mbG9hdCxjaGFyLGZsb2F0LGNvcHlfY2hhcl90b19mbG9hdCkKLStERUZVTl8xKGNvcHlfY2hhcl90b19mbG9hdCxzaWduZWQgY2hhcixmbG9hdCkKLStERUZVTl8yKGNoYXJfdG9fZmxvYXQsc2lnbmVkIGNoYXIsZmxvYXQsY29weV9jaGFyX3RvX2Zsb2F0KQotICNlbmRpZiAvKiBTTEFOR19IQVNfRkxPQVQgKi8KLSAjaWYgU0xBTkdfSEFTX0ZMT0FUCi0tREVGVU5fMShjb3B5X2NoYXJfdG9fZG91YmxlLGNoYXIsZG91YmxlKQotLURFRlVOXzIoY2hhcl90b19kb3VibGUsY2hhcixkb3VibGUsY29weV9jaGFyX3RvX2RvdWJsZSkKLStERUZVTl8xKGNvcHlfY2hhcl90b19kb3VibGUsc2lnbmVkIGNoYXIsZG91YmxlKQotK0RFRlVOXzIoY2hhcl90b19kb3VibGUsc2lnbmVkIGNoYXIsZG91YmxlLGNvcHlfY2hhcl90b19kb3VibGUpCi0gI2VuZGlmIC8qIFNMQU5HX0hBU19GTE9BVCAqLwotICNpZiBkZWZpbmVkKEhBVkVfTE9OR19ET1VCTEUpCi0tREVGVU5fMShjb3B5X2NoYXJfdG9fbGRvdWJsZSxjaGFyLGxvbmcgZG91YmxlKQotLURFRlVOXzIoY2hhcl90b19sZG91YmxlLGNoYXIsbG9uZyBkb3VibGUsY29weV9jaGFyX3RvX2xkb3VibGUpCi0rREVGVU5fMShjb3B5X2NoYXJfdG9fbGRvdWJsZSxzaWduZWQgY2hhcixsb25nIGRvdWJsZSkKLStERUZVTl8yKGNoYXJfdG9fbGRvdWJsZSxzaWduZWQgY2hhcixsb25nIGRvdWJsZSxjb3B5X2NoYXJfdG9fbGRvdWJsZSkKLSAjZW5kaWYgLyogZGVmaW5lZChIQVZFX0xPTkdfRE9VQkxFKSAqLwotICNpZiBTTEFOR19IQVNfRkxPQVQKLS1UT19ET1VCTEVfRlVOKGNoYXJfdG9fb25lX2RvdWJsZSxjaGFyKQotK1RPX0RPVUJMRV9GVU4oY2hhcl90b19vbmVfZG91YmxlLHNpZ25lZCBjaGFyKQotICNlbmRpZgotIAotIC8qIC0tLS0tLS0tLS0tLSB1bnNpZ25lZCBjaGFyIC0tLS0tLS0tLS0gKi8KLUBAIC04Miw3ICs4Miw3IEBAIFRPX0RPVUJMRV9GVU4odWNoYXJfdG9fb25lX2RvdWJsZSx1bnNpZ24KLSAjZW5kaWYKLSAKLSAvKiAtLS0tLS0tLS0tLS0gc2hvcnQgLS0tLS0tLS0tLSAqLwotLURFRlVOXzEoY29weV9zaG9ydF90b19jaGFyLHNob3J0LGNoYXIpCi0rREVGVU5fMShjb3B5X3Nob3J0X3RvX2NoYXIsc2hvcnQsc2lnbmVkIGNoYXIpCi0gI2RlZmluZSBzaG9ydF90b19jaGFyCU5VTEwKLSBERUZVTl8xKGNvcHlfc2hvcnRfdG9fdWNoYXIsc2hvcnQsdW5zaWduZWQgY2hhcikKLSAjZGVmaW5lIHNob3J0X3RvX3VjaGFyCU5VTEwKLUBAIC0xMjMsNyArMTIzLDcgQEAgVE9fRE9VQkxFX0ZVTihzaG9ydF90b19vbmVfZG91YmxlLHNob3J0KQotICNlbmRpZgotIAotIC8qIC0tLS0tLS0tLS0tLSB1bnNpZ25lZCBzaG9ydCAtLS0tLS0tLS0tICovCi0tREVGVU5fMShjb3B5X3VzaG9ydF90b19jaGFyLHVuc2lnbmVkIHNob3J0LGNoYXIpCi0rREVGVU5fMShjb3B5X3VzaG9ydF90b19jaGFyLHVuc2lnbmVkIHNob3J0LHNpZ25lZCBjaGFyKQotICNkZWZpbmUgdXNob3J0X3RvX2NoYXIJTlVMTAotIERFRlVOXzEoY29weV91c2hvcnRfdG9fdWNoYXIsdW5zaWduZWQgc2hvcnQsdW5zaWduZWQgY2hhcikKLSAjZGVmaW5lIHVzaG9ydF90b191Y2hhcglOVUxMCi1AQCAtMTY0LDcgKzE2NCw3IEBAIFRPX0RPVUJMRV9GVU4odXNob3J0X3RvX29uZV9kb3VibGUsdW5zaWcKLSAjZW5kaWYKLSAKLSAvKiAtLS0tLS0tLS0tLS0gaW50IC0tLS0tLS0tLS0gKi8KLS1ERUZVTl8xKGNvcHlfaW50X3RvX2NoYXIsaW50LGNoYXIpCi0rREVGVU5fMShjb3B5X2ludF90b19jaGFyLGludCxzaWduZWQgY2hhcikKLSAjZGVmaW5lIGludF90b19jaGFyCU5VTEwKLSBERUZVTl8xKGNvcHlfaW50X3RvX3VjaGFyLGludCx1bnNpZ25lZCBjaGFyKQotICNkZWZpbmUgaW50X3RvX3VjaGFyCU5VTEwKLUBAIC0yMDUsNyArMjA1LDcgQEAgVE9fRE9VQkxFX0ZVTihpbnRfdG9fb25lX2RvdWJsZSxpbnQpCi0gI2VuZGlmCi0gCi0gLyogLS0tLS0tLS0tLS0tIHVuc2lnbmVkIGludCAtLS0tLS0tLS0tICovCi0tREVGVU5fMShjb3B5X3VpbnRfdG9fY2hhcix1bnNpZ25lZCBpbnQsY2hhcikKLStERUZVTl8xKGNvcHlfdWludF90b19jaGFyLHVuc2lnbmVkIGludCxzaWduZWQgY2hhcikKLSAjZGVmaW5lIHVpbnRfdG9fY2hhcglOVUxMCi0gREVGVU5fMShjb3B5X3VpbnRfdG9fdWNoYXIsdW5zaWduZWQgaW50LHVuc2lnbmVkIGNoYXIpCi0gI2RlZmluZSB1aW50X3RvX3VjaGFyCU5VTEwKLUBAIC0yNDYsNyArMjQ2LDcgQEAgVE9fRE9VQkxFX0ZVTih1aW50X3RvX29uZV9kb3VibGUsdW5zaWduZQotICNlbmRpZgotIAotIC8qIC0tLS0tLS0tLS0tLSBsb25nIC0tLS0tLS0tLS0gKi8KLS1ERUZVTl8xKGNvcHlfbG9uZ190b19jaGFyLGxvbmcsY2hhcikKLStERUZVTl8xKGNvcHlfbG9uZ190b19jaGFyLGxvbmcsc2lnbmVkIGNoYXIpCi0gI2RlZmluZSBsb25nX3RvX2NoYXIJTlVMTAotIERFRlVOXzEoY29weV9sb25nX3RvX3VjaGFyLGxvbmcsdW5zaWduZWQgY2hhcikKLSAjZGVmaW5lIGxvbmdfdG9fdWNoYXIJTlVMTAotQEAgLTI4Nyw3ICsyODcsNyBAQCBUT19ET1VCTEVfRlVOKGxvbmdfdG9fb25lX2RvdWJsZSxsb25nKQotICNlbmRpZgotIAotIC8qIC0tLS0tLS0tLS0tLSB1bnNpZ25lZCBsb25nIC0tLS0tLS0tLS0gKi8KLS1ERUZVTl8xKGNvcHlfdWxvbmdfdG9fY2hhcix1bnNpZ25lZCBsb25nLGNoYXIpCi0rREVGVU5fMShjb3B5X3Vsb25nX3RvX2NoYXIsdW5zaWduZWQgbG9uZyxzaWduZWQgY2hhcikKLSAjZGVmaW5lIHVsb25nX3RvX2NoYXIJTlVMTAotIERFRlVOXzEoY29weV91bG9uZ190b191Y2hhcix1bnNpZ25lZCBsb25nLHVuc2lnbmVkIGNoYXIpCi0gI2RlZmluZSB1bG9uZ190b191Y2hhcglOVUxMCi1AQCAtMzI5LDcgKzMyOSw3IEBAIFRPX0RPVUJMRV9GVU4odWxvbmdfdG9fb25lX2RvdWJsZSx1bnNpZ24KLSAKLSAvKiAtLS0tLS0tLS0tLS0gbG9uZyBsb25nIC0tLS0tLS0tLS0gKi8KLSAjaWYgZGVmaW5lZChIQVZFX0xPTkdfTE9ORykKLS1ERUZVTl8xKGNvcHlfbGxvbmdfdG9fY2hhcixsb25nIGxvbmcsY2hhcikKLStERUZVTl8xKGNvcHlfbGxvbmdfdG9fY2hhcixsb25nIGxvbmcsc2lnbmVkIGNoYXIpCi0gI2RlZmluZSBsbG9uZ190b19jaGFyCU5VTEwKLSBERUZVTl8xKGNvcHlfbGxvbmdfdG9fdWNoYXIsbG9uZyBsb25nLHVuc2lnbmVkIGNoYXIpCi0gI2RlZmluZSBsbG9uZ190b191Y2hhcglOVUxMCi1AQCAtMzcyLDcgKzM3Miw3IEBAIFRPX0RPVUJMRV9GVU4obGxvbmdfdG9fb25lX2RvdWJsZSxsb25nIGwKLSAKLSAvKiAtLS0tLS0tLS0tLS0gdW5zaWduZWQgbG9uZyBsb25nIC0tLS0tLS0tLS0gKi8KLSAjaWYgZGVmaW5lZChIQVZFX0xPTkdfTE9ORykKLS1ERUZVTl8xKGNvcHlfdWxsb25nX3RvX2NoYXIsdW5zaWduZWQgbG9uZyBsb25nLGNoYXIpCi0rREVGVU5fMShjb3B5X3VsbG9uZ190b19jaGFyLHVuc2lnbmVkIGxvbmcgbG9uZyxzaWduZWQgY2hhcikKLSAjZGVmaW5lIHVsbG9uZ190b19jaGFyCU5VTEwKLSBERUZVTl8xKGNvcHlfdWxsb25nX3RvX3VjaGFyLHVuc2lnbmVkIGxvbmcgbG9uZyx1bnNpZ25lZCBjaGFyKQotICNkZWZpbmUgdWxsb25nX3RvX3VjaGFyCU5VTEwKLUBAIC00MTUsNyArNDE1LDcgQEAgVE9fRE9VQkxFX0ZVTih1bGxvbmdfdG9fb25lX2RvdWJsZSx1bnNpZwotIAotIC8qIC0tLS0tLS0tLS0tLSBmbG9hdCAtLS0tLS0tLS0tICovCi0gI2lmIFNMQU5HX0hBU19GTE9BVAotLURFRlVOXzEoY29weV9mbG9hdF90b19jaGFyLGZsb2F0LGNoYXIpCi0rREVGVU5fMShjb3B5X2Zsb2F0X3RvX2NoYXIsZmxvYXQsc2lnbmVkIGNoYXIpCi0gI2RlZmluZSBmbG9hdF90b19jaGFyCU5VTEwKLSBERUZVTl8xKGNvcHlfZmxvYXRfdG9fdWNoYXIsZmxvYXQsdW5zaWduZWQgY2hhcikKLSAjZGVmaW5lIGZsb2F0X3RvX3VjaGFyCU5VTEwKLUBAIC00NTgsNyArNDU4LDcgQEAgVE9fRE9VQkxFX0ZVTihmbG9hdF90b19vbmVfZG91YmxlLGZsb2F0KQotIAotIC8qIC0tLS0tLS0tLS0tLSBkb3VibGUgLS0tLS0tLS0tLSAqLwotICNpZiBTTEFOR19IQVNfRkxPQVQKLS1ERUZVTl8xKGNvcHlfZG91YmxlX3RvX2NoYXIsZG91YmxlLGNoYXIpCi0rREVGVU5fMShjb3B5X2RvdWJsZV90b19jaGFyLGRvdWJsZSxzaWduZWQgY2hhcikKLSAjZGVmaW5lIGRvdWJsZV90b19jaGFyCU5VTEwKLSBERUZVTl8xKGNvcHlfZG91YmxlX3RvX3VjaGFyLGRvdWJsZSx1bnNpZ25lZCBjaGFyKQotICNkZWZpbmUgZG91YmxlX3RvX3VjaGFyCU5VTEwKLUBAIC01MDEsNyArNTAxLDcgQEAgVE9fRE9VQkxFX0ZVTihkb3VibGVfdG9fb25lX2RvdWJsZSxkb3VibAotIAotIC8qIC0tLS0tLS0tLS0tLSBsb25nIGRvdWJsZSAtLS0tLS0tLS0tICovCi0gI2lmIGRlZmluZWQoSEFWRV9MT05HX0RPVUJMRSkKLS1ERUZVTl8xKGNvcHlfbGRvdWJsZV90b19jaGFyLGxvbmcgZG91YmxlLGNoYXIpCi0rREVGVU5fMShjb3B5X2xkb3VibGVfdG9fY2hhcixsb25nIGRvdWJsZSxzaWduZWQgY2hhcikKLSAjZGVmaW5lIGxkb3VibGVfdG9fY2hhcglOVUxMCi0gREVGVU5fMShjb3B5X2xkb3VibGVfdG9fdWNoYXIsbG9uZyBkb3VibGUsdW5zaWduZWQgY2hhcikKLSAjZGVmaW5lIGxkb3VibGVfdG9fdWNoYXIJTlVMTAotQEAgLTU0NSw3ICs1NDUsNyBAQCBUT19ET1VCTEVfRlVOKGxkb3VibGVfdG9fb25lX2RvdWJsZSxsb25nCi0gI2lmIFNMQU5HX0hBU19GTE9BVAotIHN0YXRpYyBUb19Eb3VibGVfRnVuX1RhYmxlX1R5cGUgVG9fRG91YmxlX0Z1bl9UYWJsZSBbTUFYX0FSSVRITUVUSUNfVFlQRVNdID0KLSB7Ci0tICAge3NpemVvZihjaGFyKSwgY2hhcl90b19vbmVfZG91YmxlfSwKLSsgICB7c2l6ZW9mKHNpZ25lZCBjaGFyKSwgY2hhcl90b19vbmVfZG91YmxlfSwKLSAgICB7c2l6ZW9mKHVuc2lnbmVkIGNoYXIpLCB1Y2hhcl90b19vbmVfZG91YmxlfSwKLSAgICB7c2l6ZW9mKHNob3J0KSwgc2hvcnRfdG9fb25lX2RvdWJsZX0sCi0gICAge3NpemVvZih1bnNpZ25lZCBzaG9ydCksIHVzaG9ydF90b19vbmVfZG91YmxlfSwKLUBAIC01ODMsNyArNTgzLDcgQEAgc3RhdGljIFRvX0RvdWJsZV9GdW5fVGFibGVfVHlwZSBUb19Eb3VibAotIAotIHN0YXRpYyBCaW5hcnlfTWF0cml4X1R5cGUgQmluYXJ5X01hdHJpeCBbTUFYX0FSSVRITUVUSUNfVFlQRVNdW01BWF9BUklUSE1FVElDX1RZUEVTXSA9Ci0gewotLSAgIC8qIGNoYXIgKi8KLSsgICAvKiBzaWduZWQgY2hhciAqLwotICAgIHsKLSAgICAgIHsoRlZPSURfU1RBUiljb3B5X2NoYXJfdG9fY2hhciwgY2hhcl90b19jaGFyfSwKLSAgICAgIHsoRlZPSURfU1RBUiljb3B5X2NoYXJfdG9fdWNoYXIsIGNoYXJfdG9fdWNoYXJ9LApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9zbGFuZy9zbGFuZy9maXgtY2hlY2stcGNyZS5wYXRjaCBiL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvc2xhbmcvc2xhbmcvZml4LWNoZWNrLXBjcmUucGF0Y2gKaW5kZXggMGMxNTUzYS4uYTBlYzBmZiAxMDA2NDQKLS0tIGEvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9zbGFuZy9zbGFuZy9maXgtY2hlY2stcGNyZS5wYXRjaAorKysgYi9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3NsYW5nL3NsYW5nL2ZpeC1jaGVjay1wY3JlLnBhdGNoCkBAIC0xMSwxNCArMTEsMTMgQEAKIFVwc3RyZWFtLVN0YXR1czogSW5hcHByb3ByaWF0ZQogU2lnbmVkLW9mZi1ieTogUm95LkxpIDxyb25ncWluZy5saUB3aW5kcml2ZXIuY29tPgogLS0tCi0gY29uZmlndXJlIHwgICA2MCArKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSAxIGZpbGVzIGNoYW5nZWQsIDYgaW5zZXJ0aW9ucygrKSwgNTQgZGVsZXRpb25zKC0pCisgY29uZmlndXJlIHwgICA3MiArKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIDEgZmlsZSBjaGFuZ2VkLCA2IGluc2VydGlvbnMoKyksIDY2IGRlbGV0aW9ucygtKQogCiBkaWZmIC0tZ2l0IGEvY29uZmlndXJlIGIvY29uZmlndXJlCi1pbmRleCBmMTU4NmMzLi5kMjI4MTRmIDEwMDc1NQogLS0tIGEvY29uZmlndXJlCiArKysgYi9jb25maWd1cmUKLUBAIC02OTkxLDYgKzY5OTEsNyBAQCAkYXNfZWNob19uICJjaGVja2luZyBmb3IgdGhlIHBjcmUgbGlicmFyeSBhbmQgaGVhZGVyIGZpbGVzIC4uLiAiID4mNjsgfQorQEAgLTcxOTEsNiArNzE5MSw3IEBAICRhc19lY2hvX24gImNoZWNraW5nIGZvciB0aGUgcGNyZSBsaWJyYXJ5IGFuZCBoZWFkZXIgZmlsZXMgLi4uICIgPiY2OyB9CiAgCSAvdXNyL2luY2x1ZGUvcGNyZSwvdXNyL2xpYiBcCiAgCSAvdXNyL3BjcmUvaW5jbHVkZSwvdXNyL3BjcmUvbGliIFwKICAJIC91c3IvaW5jbHVkZSwvdXNyL2xpYiBcCkBAIC0yNiw3ICsyNSw3IEBACiAgCSAvb3B0L2luY2x1ZGUvcGNyZSwvb3B0L2xpYiBcCiAgCSAvb3B0L3BjcmUvaW5jbHVkZSwvb3B0L3BjcmUvbGliIFwKICAJIC9vcHQvaW5jbHVkZSwvb3B0L2xpYiIKLUBAIC03MDIxLDE0ICs3MDIyLDE0IEBAICRhc19lY2hvX24gImNoZWNraW5nIGZvciB0aGUgcGNyZSBsaWJyYXJ5IGFuZCBoZWFkZXIgZmlsZXMgLi4uICIgPiY2OyB9CitAQCAtNzIyMSwxNCArNzIyMiwxNCBAQCAkYXNfZWNob19uICJjaGVja2luZyBmb3IgdGhlIHBjcmUgbGlicmFyeSBhbmQgaGVhZGVyIGZpbGVzIC4uLiAiID4mNjsgfQogICAgICAgICAgeGluY2Rpcj1gZWNobyAkaW5jbHVkZV9hbmRfbGliIHwgdHIgJywnICcgJyB8IGF3ayAne3ByaW50ICQxfSdgCiAgCXhsaWJkaXI9YGVjaG8gJGluY2x1ZGVfYW5kX2xpYiB8IHRyICcsJyAnICcgfCBhd2sgJ3twcmludCAkMn0nYAogIAlmb3VuZD0wCkBAIC00NSw3ICs0NCw3IEBACiAgCSAgICAgIGpkX3dpdGhfcGNyZV9saWJyYXJ5PSJ5ZXMiCiAgCSAgICAgIGZvdW5kPTEKICAJICAgICAgYnJlYWsKLUBAIC03MDU0LDU2ICs3MDU1LDcgQEAgJGFzX2VjaG8gInllczogJGpkX3BjcmVfbGlicmFyeV9kaXIgYW5kICRqZF9wY3JlX2luY2x1ZGVfZGlyIiA+JjY7IH0KK0BAIC03MjU1LDY4ICs3MjU1LDcgQEAgJGFzX2VjaG8gInllczogJGpkX3BjcmVfbGlicmFyeV9kaXIgYW5kICRqZF9wY3JlX2luY2x1ZGVfZGlyIiA+JjY7IH0KICAgICAgdGhlbgogICAgICAgIFBDUkVfTElCPSIiCiAgICAgIGVsc2UKQEAgLTc0LDcgKzczLDcgQEAKIC0gICAgICBmaQogLSAgICBmaQogLSAgOzsKLS0gICpvc2YqfCpvcGVuYnNkKikKKy0gICpvc2YqfCpvcGVuYnNkKnwqZnJlZWJzZCopCiAtICAgIGlmIHRlc3QgIlgkR0NDIiA9IFh5ZXMKIC0gICAgdGhlbgogLSAgICAgIFJQQVRIPSItV2wsLXJwYXRoLCIKQEAgLTk1LDcgKzk0LDE5IEBACiAtICAgICAgUlBBVEg9IiRSUEFUSCRqZF9wY3JlX2xpYnJhcnlfZGlyIgogLSAgICBmaQogLSAgZWxzZQotLSAgICBSUEFUSD0iJFJQQVRIOiRqZF9wY3JlX2xpYnJhcnlfZGlyIgorLSAgICBfYWxyZWFkeV90aGVyZT0wCistICAgIGZvciBYIGluIGBlY2hvICRSUEFUSCB8IHNlZCAncy86LyAvZydgCistICAgIGRvCistICAgICAgaWYgdGVzdCAiJFgiID0gIiRqZF9wY3JlX2xpYnJhcnlfZGlyIgorLSAgICAgIHRoZW4KKy0gICAgICAgIF9hbHJlYWR5X3RoZXJlPTEKKy0JYnJlYWsKKy0gICAgICBmaQorLSAgICBkb25lCistICAgIGlmIHRlc3QgJF9hbHJlYWR5X3RoZXJlID0gMAorLSAgICB0aGVuCistICAgICAgUlBBVEg9IiRSUEFUSDokamRfcGNyZV9saWJyYXJ5X2RpciIKKy0gICAgZmkKIC0gIGZpCiAtZmkKIC0KQEAgLTEwMyw2ICsxMTQsMyBAQAogICAgICBmaQogIAogICAgICBQQ1JFX0lOQz0tSSRqZF9wY3JlX2luY2x1ZGVfZGlyCi0tLSAKLTEuNy40LjEKLQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9zbGFuZy9zbGFuZy9ycGF0aGZpeC5wYXRjaCBiL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvc2xhbmcvc2xhbmcvcnBhdGhmaXgucGF0Y2gKaW5kZXggNTBjYWM5Mi4uZjgyYTUzMSAxMDA2NDQKLS0tIGEvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9zbGFuZy9zbGFuZy9ycGF0aGZpeC5wYXRjaAorKysgYi9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3NsYW5nL3NsYW5nL3JwYXRoZml4LnBhdGNoCkBAIC0xMCw3ICsxMCw3IEBACiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAtLS0gc2xhbmctMi4yLjQub3JpZy9jb25maWd1cmUJMjAxMi0wMy0xNCAyMzo0MDowMS4yODM1NjA2NzkgKzAwMDAKICsrKyBzbGFuZy0yLjIuNC9jb25maWd1cmUJMjAxMi0wMy0xNCAyMzo0MToxOC4wMjM1NTg5MDAgKzAwMDAKLUBAIC02MDgxLDU2ICs2MDgxLDcgQEAKK0BAIC02MjQ2LDY4ICs2MjQ2LDcgQEAgZXNhYwogIEVMRl9DRkxBR1M9IiRFTEZfQ0ZMQUdTICRJRUVFX0NGTEFHUyIKICBDRkxBR1M9IiRDRkxBR1MgJElFRUVfQ0ZMQUdTIgogIApAQCAtMzksNyArMzksNyBAQAogLSAgICAgIGZpCiAtICAgIGZpCiAtICA7OwotLSAgKm9zZip8Km9wZW5ic2QqKQorLSAgKm9zZip8Km9wZW5ic2QqfCpmcmVlYnNkKikKIC0gICAgaWYgdGVzdCAiWCRHQ0MiID0gWHllcwogLSAgICB0aGVuCiAtICAgICAgUlBBVEg9Ii1XbCwtcnBhdGgsIgpAQCAtNjAsNyArNjAsMTkgQEAKIC0gICAgICBSUEFUSD0iJFJQQVRIJGxpYmRpciIKIC0gICAgZmkKIC0gIGVsc2UKLS0gICAgUlBBVEg9IiRSUEFUSDokbGliZGlyIgorLSAgICBfYWxyZWFkeV90aGVyZT0wCistICAgIGZvciBYIGluIGBlY2hvICRSUEFUSCB8IHNlZCAncy86LyAvZydgCistICAgIGRvCistICAgICAgaWYgdGVzdCAiJFgiID0gIiRsaWJkaXIiCistICAgICAgdGhlbgorLSAgICAgICAgX2FscmVhZHlfdGhlcmU9MQorLQlicmVhaworLSAgICAgIGZpCistICAgIGRvbmUKKy0gICAgaWYgdGVzdCAkX2FscmVhZHlfdGhlcmUgPSAwCistICAgIHRoZW4KKy0gICAgICBSUEFUSD0iJFJQQVRIOiRsaWJkaXIiCistICAgIGZpCiAtICBmaQogLWZpCiAtCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3NsYW5nL3NsYW5nL3NsYW5nLWZpeC10aGUtaWNvbnYtZXhpc3RlbmNlLWNoZWNraW5nLnBhdGNoIGIvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9zbGFuZy9zbGFuZy9zbGFuZy1maXgtdGhlLWljb252LWV4aXN0ZW5jZS1jaGVja2luZy5wYXRjaAppbmRleCA5NThmZTk4Li44NTA1NTFlIDEwMDY0NAotLS0gYS9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3NsYW5nL3NsYW5nL3NsYW5nLWZpeC10aGUtaWNvbnYtZXhpc3RlbmNlLWNoZWNraW5nLnBhdGNoCisrKyBiL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvc2xhbmcvc2xhbmcvc2xhbmctZml4LXRoZS1pY29udi1leGlzdGVuY2UtY2hlY2tpbmcucGF0Y2gKQEAgLTE5LDE0ICsxOSwxNCBAQAogCiBTaWduZWQtb2ZmLWJ5OiBaaGVuZyBKdW5saW5nIDx6aGVuZ2p1bmxpbmdAaHVhd2VpLmNvbT4KIC0tLQotIGNvbmZpZ3VyZSB8IDYwICsrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIDEgZmlsZSBjaGFuZ2VkLCA2IGluc2VydGlvbnMoKyksIDU0IGRlbGV0aW9ucygtKQorIGNvbmZpZ3VyZSB8ICAgNzIgKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAxIGZpbGUgY2hhbmdlZCwgNiBpbnNlcnRpb25zKCspLCA2NiBkZWxldGlvbnMoLSkKIAogZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZSBiL2NvbmZpZ3VyZQotaW5kZXggN2E5NjI1Ni4uOTE2MzJmMyAxMDA3NTUKK2luZGV4IGZhMzk1ZmYuLjdmYTc2OWMgMTAwNzU1CiAtLS0gYS9jb25maWd1cmUKICsrKyBiL2NvbmZpZ3VyZQotQEAgLTc5MDksNiArNzkwOSw3IEBAICRhc19lY2hvX24gImNoZWNraW5nIGZvciB0aGUgaWNvbnYgbGlicmFyeSBhbmQgaGVhZGVyIGZpbGVzIC4uLiAiID4mNjsgfQorQEAgLTgyNTksNiArODI1OSw3IEBAICRhc19lY2hvX24gImNoZWNraW5nIGZvciB0aGUgaWNvbnYgbGlicmFyeSBhbmQgaGVhZGVyIGZpbGVzIC4uLiAiID4mNjsgfQogIAkgL3Vzci9pbmNsdWRlL2ljb252LC91c3IvbGliIFwKICAJIC91c3IvaWNvbnYvaW5jbHVkZSwvdXNyL2ljb252L2xpYiBcCiAgCSAvdXNyL2luY2x1ZGUsL3Vzci9saWIgXApAQCAtMzQsNyArMzQsNyBAQAogIAkgL29wdC9pbmNsdWRlL2ljb252LC9vcHQvbGliIFwKICAJIC9vcHQvaWNvbnYvaW5jbHVkZSwvb3B0L2ljb252L2xpYiBcCiAgCSAvb3B0L2luY2x1ZGUsL29wdC9saWIiCi1AQCAtNzkzOSwxNCArNzk0MCwxNCBAQCAkYXNfZWNob19uICJjaGVja2luZyBmb3IgdGhlIGljb252IGxpYnJhcnkgYW5kIGhlYWRlciBmaWxlcyAuLi4gIiA+JjY7IH0KK0BAIC04Mjg5LDE0ICs4MjkwLDE0IEBAICRhc19lY2hvX24gImNoZWNraW5nIGZvciB0aGUgaWNvbnYgbGlicmFyeSBhbmQgaGVhZGVyIGZpbGVzIC4uLiAiID4mNjsgfQogICAgICAgICAgeGluY2Rpcj1gZWNobyAkaW5jbHVkZV9hbmRfbGliIHwgdHIgJywnICcgJyB8IGF3ayAne3ByaW50ICQxfSdgCiAgCXhsaWJkaXI9YGVjaG8gJGluY2x1ZGVfYW5kX2xpYiB8IHRyICcsJyAnICcgfCBhd2sgJ3twcmludCAkMn0nYAogIAlmb3VuZD0wCkBAIC01Myw3ICs1Myw3IEBACiAgCSAgICAgIGpkX3dpdGhfaWNvbnZfbGlicmFyeT0ieWVzIgogIAkgICAgICBmb3VuZD0xCiAgCSAgICAgIGJyZWFrCi1AQCAtNzk3Miw1NiArNzk3Myw3IEBAICRhc19lY2hvICJ5ZXM6ICRqZF9pY29udl9saWJyYXJ5X2RpciBhbmQgJGpkX2ljb252X2luY2x1ZGVfZGlyIiA+JjY7IH0KK0BAIC04MjAxLDY4ICs4MjAxLDcgQEAgJGFzX2VjaG8gInllczogJGpkX2ljb252X2xpYnJhcnlfZGlyIGFuZCAkamRfaWNvbnZfaW5jbHVkZV9kaXIiID4mNjsgfQogICAgICB0aGVuCiAgICAgICAgSUNPTlZfTElCPSIiCiAgICAgIGVsc2UKQEAgLTgyLDcgKzgyLDcgQEAKIC0gICAgICBmaQogLSAgICBmaQogLSAgOzsKLS0gICpvc2YqfCpvcGVuYnNkKikKKy0gICpvc2YqfCpvcGVuYnNkKnwqZnJlZWJzZCopCiAtICAgIGlmIHRlc3QgIlgkR0NDIiA9IFh5ZXMKIC0gICAgdGhlbgogLSAgICAgIFJQQVRIPSItV2wsLXJwYXRoLCIKQEAgLTEwMyw3ICsxMDMsMTkgQEAKIC0gICAgICBSUEFUSD0iJFJQQVRIJGpkX2ljb252X2xpYnJhcnlfZGlyIgogLSAgICBmaQogLSAgZWxzZQotLSAgICBSUEFUSD0iJFJQQVRIOiRqZF9pY29udl9saWJyYXJ5X2RpciIKKy0gICAgX2FscmVhZHlfdGhlcmU9MAorLSAgICBmb3IgWCBpbiBgZWNobyAkUlBBVEggfCBzZWQgJ3MvOi8gL2cnYAorLSAgICBkbworLSAgICAgIGlmIHRlc3QgIiRYIiA9ICIkamRfaWNvbnZfbGlicmFyeV9kaXIiCistICAgICAgdGhlbgorLSAgICAgICAgX2FscmVhZHlfdGhlcmU9MQorLQlicmVhaworLSAgICAgIGZpCistICAgIGRvbmUKKy0gICAgaWYgdGVzdCAkX2FscmVhZHlfdGhlcmUgPSAwCistICAgIHRoZW4KKy0gICAgICBSUEFUSD0iJFJQQVRIOiRqZF9pY29udl9saWJyYXJ5X2RpciIKKy0gICAgZmkKIC0gIGZpCiAtZmkKIC0KQEAgLTExMSw2ICsxMjMsMyBAQAogICAgICBmaQogIAogICAgICBJQ09OVl9JTkM9LUkkamRfaWNvbnZfaW5jbHVkZV9kaXIKLS0tIAotMS44LjMuNAotCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3NsYW5nL3NsYW5nL3NwcmludGYtYnVnLWNvbmNlcm5pbmctOC1iaXQtY2hhcmFjdGVycy5wYXRjaCBiL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvc2xhbmcvc2xhbmcvc3ByaW50Zi1idWctY29uY2VybmluZy04LWJpdC1jaGFyYWN0ZXJzLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0MjAwMDFiLi4wMDAwMDAwCi0tLSBhL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvc2xhbmcvc2xhbmcvc3ByaW50Zi1idWctY29uY2VybmluZy04LWJpdC1jaGFyYWN0ZXJzLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNDIgKzAsMCBAQAotVXBzdHJlYW0tU3RhdHVzOiBCYWNrcG9ydAotCi1Gcm9tIDNhMDVkMWE5MjAxNDBlOWYyYzcyNzkxYzEyZjY2NDIxM2ZlYjQ2ZGYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBNYW5mcmVkIEhhbmtlIDxNYW5mcmVkLkhhbmtlQHRuZ3RlY2guY29tPgotRGF0ZTogVGh1LCAyMCBKdW4gMjAxMyAxMDoyNDoxMiArMDIwMAotU3ViamVjdDogW1BBVENIXSBzcHJpbnRmIGJ1ZyAoY29uY2VybmluZyAlYyBmb3IgOC1iaXQgY2hhcmFjdGVyIGluIG5vbi1VVEY4Ci0gbW9kZSkgZml4ZWQKLQotY2hhciAqc3RyIHBvaW50cyB0byBTTHVjaGFyX1R5cGUgdXRmOF9idWZbXSwgd2hpY2ggaGFkIHRvbyBzbWFsbCBzY29wZQotCi1zcmMvdGVzdC9zdHJvcHMuc2wgZmFpbGVkIGluIHRoZSBmb2xsb3dpbmcgZW52aXJvbm1lbnQ6Ci0gLSBjb21waWxlcjogIGdjYyAoRGViaWFuIDQuNy4yLTUpIDQuNy4yCi0gLSBDRkxBR1M6ICAgIC1nIC1PMgotIC0gbGliYzogICAgICBHTlUgQyBMaWJyYXJ5IChEZWJpYW4gRUdMSUJDIDIuMTMtMzgpIHN0YWJsZSByZWxlYXNlIHZlcnNpb24gMi4xMwotIC0ga2VybmVsOiAgICAzLjIuMC00LTY4Ni1wYWUgIzEgU01QIERlYmlhbiAzLjIuMzktMiBpNjg2IEdOVS9MaW51eAotLS0tCi0gc3JjL3Nsc3Ryb3BzLmMgfCAgICAyICstCi0gMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCi0KLWRpZmYgLS1naXQgYS9zcmMvc2xzdHJvcHMuYyBiL3NyYy9zbHN0cm9wcy5jCi1pbmRleCBjZTZhY2IwLi5jYmJiYjAxIDEwMDY0NAotLS0tIGEvc3JjL3Nsc3Ryb3BzLmMKLSsrKyBiL3NyYy9zbHN0cm9wcy5jCi1AQCAtMTg4NCw2ICsxODg0LDcgQEAgc3RhdGljIGNoYXIgKlNMZG9fc3ByaW50ZiAoY2hhciAqZm10KSAvKnt7eyovCi0gI2VuZGlmCi0gICAgdW5zaWduZWQgY2hhciB1Y2g7Ci0gICAgaW50IHVzZV9sb25nID0gMCwgdXNlX2FsdF9mb3JtYXQgPSAwOwotKyAgIFNMdWNoYXJfVHlwZSB1dGY4X2J1ZltTTFVURjhfTUFYX01CTEVOKzFdOwotIAotICAgIHdoaWxlICgxKQotICAgICAgewotQEAgLTIwNzEsNyArMjA3Miw2IEBAIHN0YXRpYyBjaGFyICpTTGRvX3NwcmludGYgKGNoYXIgKmZtdCkgLyp7e3sqLwotICNlbmRpZgotIAkgICAgICAgewotIAkJICBTTHdjaGFyX1R5cGUgd2M7Ci0tCQkgIFNMdWNoYXJfVHlwZSB1dGY4X2J1ZltTTFVURjhfTUFYX01CTEVOKzFdOwotIAotIAkJICBpZiAoLTEgPT0gU0xhbmdfcG9wX3djaGFyICgmd2MpKQotIAkJICAgIHJldHVybiBvdXQ7Ci0tLSAKLTEuNy45LjUKLQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9zbGFuZy9zbGFuZ18yLjIuNC5iYiBiL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvc2xhbmcvc2xhbmdfMi4zLjAuYmIKc2ltaWxhcml0eSBpbmRleCA4MiUKcmVuYW1lIGZyb20gaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9zbGFuZy9zbGFuZ18yLjIuNC5iYgpyZW5hbWUgdG8gaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9zbGFuZy9zbGFuZ18yLjMuMC5iYgppbmRleCAyMzdlOWYyLi4xN2VmYmJlIDEwMDY0NAotLS0gYS9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3NsYW5nL3NsYW5nXzIuMi40LmJiCisrKyBiL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvc2xhbmcvc2xhbmdfMi4zLjAuYmIKQEAgLTEwLDE3ICsxMCwxNCBAQAogSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5qZWRzb2Z0Lm9yZy9zbGFuZy8iCiBTRUNUSU9OID0gImxpYnMiCiBERVBFTkRTID0gInBjcmUgbmN1cnNlcyIKLVBSID0gInIxMiIKIAogTElDRU5TRSA9ICJHUEx2MiIKIExJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWE1MmExOGE0NzJkNGY3ZTQ1NDc5YjA2NTYzNzE3YzAyIgogCiAKLVNSQ19VUkkgPSAiaHR0cDovL3d3dy5qZWRzb2Z0Lm9yZy9yZWxlYXNlcy9zbGFuZy9vbGQvc2xhbmctJHtQVn0udGFyLmJ6MiBcCitTUkNfVVJJID0gImh0dHA6Ly93d3cuamVkc29mdC5vcmcvcmVsZWFzZXMvJHtCUE59LyR7QlB9LnRhci5iejIgXAogICAgICAgICAgICBmaWxlOi8vcnBhdGhmaXgucGF0Y2ggXAogICAgICAgICAgICBmaWxlOi8vZml4LWNoZWNrLXBjcmUucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vY2hhbmdlLWNoYXItdHlwZS10by1zaWduZWQtY2hhci1pbi1tYWNyb3MucGF0Y2ggXAotICAgICAgICAgICBmaWxlOi8vc3ByaW50Zi1idWctY29uY2VybmluZy04LWJpdC1jaGFyYWN0ZXJzLnBhdGNoIFwKICAgICAgICAgICAgZmlsZTovL3NsYW5nLWZpeC10aGUtaWNvbnYtZXhpc3RlbmNlLWNoZWNraW5nLnBhdGNoIFwKICAgICAgICAgICAgZmlsZTovLzAwMDEtRml4LWVycm9yLWNvbmZsaWN0aW5nLXR5cGVzLWZvci1wb3NpeF9jbG9zZS5wYXRjaCBcCiAgICAgICAgICAgIgpAQCAtMzAsOCArMjcsOCBAQAogCiBDTEVBTkJST0tFTiA9ICIxIgogCi1TUkNfVVJJW21kNXN1bV0gPSAiN2ZjZmQ0NDdlMzc4ZjA3ZGQwYzBiYWU2NzFmZTY0ODciCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiOWE4MjU3YTlhMmE1NTA5OWFmODU4YjEzMzM4ZGM4ZjNhMDZkZDIwNjlmNDZmMGRmMmM5YzNiYjg0YTAxZDVkYiIKK1NSQ19VUklbbWQ1c3VtXSA9ICIzYmNjNzkwNDYwZDUyZGIxMzE2YzIwMzk1YjdhYzJmMSIKK1NSQ19VUklbc2hhMjU2c3VtXSA9ICJmOTUyMjQwNjBmNDVlMGQ4MjEyYTUwMzliMzM5YWZhNWYxYTk0YTFiYjAyOThlNzk2MTA0ZTViMTJlOTI2MTI5IgogCiBFWFRSQV9PRUNPTkYgKz0gIiAtLXdpdGhvdXQteiAtLXdpdGhvdXQtcG5nIC0td2l0aG91dC1vbmlnIC0teC1pbmNsdWRlcz0ke1NUQUdJTkdfRElSX0hPU1R9L3Vzci9pbmNsdWRlL1gxMSAtLXgtbGlicmFyaWVzPSR7U1RBR0lOR19ESVJfSE9TVH0vdXNyL2xpYiIKIApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9zdGF0L3N0YXQtMy4zL2ZpeC1zZWN1cml0eS1mb3JtYXQucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3N0YXQvc3RhdC0zLjMvZml4LXNlY3VyaXR5LWZvcm1hdC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wYzAxZWQwCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9zdGF0L3N0YXQtMy4zL2ZpeC1zZWN1cml0eS1mb3JtYXQucGF0Y2gKQEAgLTAsMCArMSw2OCBAQAorc3RhdDogRml4aW5nIHNlY3VyaXR5IGZvcm1hdHRpbmcgaXNzdWVzCisKK0ZpeCBzZWN1cml0eSBmb3JtYXR0aW5nIGlzc3VlcyByZWxhdGVkIHRvIHByaW50ZiB3aXRob3V0IE5VTEwgYXJndW1lbnQgCisKK3N0YXQuYzogSW4gZnVuY3Rpb24gJ3ByaW50X2h1bWFuX2FjY2Vzcyc6CitzdGF0LmM6MjkyOjEzOiBlcnJvcjogZm9ybWF0IG5vdCBhIHN0cmluZyBsaXRlcmFsIGFuZCBubyBmb3JtYXQgYXJndW1lbnRzIFstV2Vycm9yPWZvcm1hdC1zZWN1cml0eV0KKyAgICAgcHJpbnRmIChhY2Nlc3MpOworICAgICAgICAgICAgIF4KK3N0YXQuYzogSW4gZnVuY3Rpb24gJ3ByaW50X2h1bWFuX3RpbWUnOgorc3RhdC5jOjI5OTo1NzogZXJyb3I6IGZvcm1hdCBub3QgYSBzdHJpbmcgbGl0ZXJhbCBhbmQgbm8gZm9ybWF0IGFyZ3VtZW50cyBbLVdlcnJvcj1mb3JtYXQtc2VjdXJpdHldCisgICBpZiAoc3RyZnRpbWUoc3RyLCA0MCwgIiVjIiwgbG9jYWx0aW1lKHQpKSA+IDApIHByaW50ZihzdHIpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgorc3RhdC5jOiBJbiBmdW5jdGlvbiAncHJpbnRfaXQnOgorc3RhdC5jOjYxMzo2OiBlcnJvcjogZm9ybWF0IG5vdCBhIHN0cmluZyBsaXRlcmFsIGFuZCBubyBmb3JtYXQgYXJndW1lbnRzIFstV2Vycm9yPWZvcm1hdC1zZWN1cml0eV0KKyAgICAgIHByaW50ZihiKTsKKyAgICAgIF4KK3N0YXQuYzo2NDI6NjogZXJyb3I6IGZvcm1hdCBub3QgYSBzdHJpbmcgbGl0ZXJhbCBhbmQgbm8gZm9ybWF0IGFyZ3VtZW50cyBbLVdlcnJvcj1mb3JtYXQtc2VjdXJpdHldCisgICAgICBwcmludGYoYik7CisgICAgICBeCisKK1tZT0NUTyAjOTU1MF0KK1todHRwczovL2J1Z3ppbGxhLnlvY3RvcHJvamVjdC5vcmcvc2hvd19idWcuY2dpP2lkPTk1NTBdCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitTaWduZWQtb2ZmLWJ5OiBFZHdpbiBQbGF1Y2h1IDxlZHdpbi5wbGF1Y2h1LmNhbWFjaG9AaW50ZWwuY29tPgorCitkaWZmIC0tZ2l0IGEvc3RhdC5jIGIvc3RhdC5jCitpbmRleCAxZWQwN2E5Li4yYmU2ZjYyIDEwMDY0NAorLS0tIGEvc3RhdC5jCisrKysgYi9zdGF0LmMKK0BAIC0yODksMTUgKzI4OSwxNSBAQCB2b2lkIHByaW50X2h1bWFuX2FjY2VzcyhzdHJ1Y3Qgc3RhdCAqc3RhdGJ1ZikKKyAgICAgZGVmYXVsdDoKKyAgICAgICBhY2Nlc3NbMF0gPSAnPyc7CisgICAgIH0KKy0gICAgcHJpbnRmIChhY2Nlc3MpOworKyAgICBmcHV0cyhhY2Nlc3Msc3Rkb3V0KTsKKyB9CisgCisgdm9pZCBwcmludF9odW1hbl90aW1lKHRpbWVfdCAqdCkKKyB7CisgICBjaGFyIHN0cls0MF07CisgICAKKy0gIGlmIChzdHJmdGltZShzdHIsIDQwLCAiJWMiLCBsb2NhbHRpbWUodCkpID4gMCkgcHJpbnRmKHN0cik7CistICBlbHNlIHByaW50ZigiQ2Fubm90IGNhbGN1bGF0ZSBodW1hbiByZWFkYWJsZSB0aW1lLCBzb3JyeSIpOworKyAgaWYgKHN0cmZ0aW1lKHN0ciwgNDAsICIlYyIsIGxvY2FsdGltZSh0KSkgPiAwKSBmcHV0cyhzdHIsc3Rkb3V0KTsKKysgIGVsc2UgZnB1dHMoIkNhbm5vdCBjYWxjdWxhdGUgaHVtYW4gcmVhZGFibGUgdGltZSwgc29ycnkiLHN0ZG91dCk7CisgfQorIAorIC8qIHByaW50IHN0YXRmcyBpbmZvICovCitAQCAtNjEwLDcgKzYxMCw3IEBAIHZvaWQgcHJpbnRfaXQoY2hhciAqbWFzdGVyZm9ybWF0LCBjaGFyICpmaWxlbmFtZSwKKyAJeworIAkgICAgc3RyY3B5IChwZm9ybWF0LCAiJSIpOworIAkgICAgKm0rKyA9ICdcMCc7CistCSAgICBwcmludGYoYik7CisrCSAgICBmcHV0cyhiLHN0ZG91dCk7CisgCisgCSAgICAvKiBjb3B5IGFsbCBmb3JtYXQgc3BlY2lmaWVycyB0byBvdXIgZm9ybWF0IHN0cmluZyAqLworIAkgICAgd2hpbGUgKGlzZGlnaXQoKm0pIHx8IHN0cmNocigiIzAtKy4gSSIsICptKSkKK0BAIC02MzksNyArNjM5LDcgQEAgdm9pZCBwcmludF9pdChjaGFyICptYXN0ZXJmb3JtYXQsIGNoYXIgKmZpbGVuYW1lLAorIAl9CisgCWVsc2UKKyAJeworLQkgICAgcHJpbnRmKGIpOworKwkgICAgZnB1dHMoYixzdGRvdXQpOworIAkgICAgYiA9IE5VTEw7CisgCX0KKyAgICAgfQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9zdGF0L3N0YXRfMy4zLmJiIGIvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9zdGF0L3N0YXRfMy4zLmJiCmluZGV4IGE1ZWNlMDcuLjA2OTdjNzMgMTAwNjQ0Ci0tLSBhL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvc3RhdC9zdGF0XzMuMy5iYgorKysgYi9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3N0YXQvc3RhdF8zLjMuYmIKQEAgLTYsNiArNiw3IEBACiAgICAgICAgICAgICAgICAgICAgIGZpbGU6Ly9HUEw7bWQ1PTk0ZDU1ZDUxMmE5YmEzNmNhYTliN2RmMDc5YmFlMTlmIgogCiBTUkNfVVJJID0gImh0dHA6Ly93d3cuaWJpYmxpby5vcmcvcHViL0xpbnV4L3V0aWxzL2ZpbGUvJHtCUH0udGFyLmd6IFwKKyAgICAgICAgICAgZmlsZTovL2ZpeC1zZWN1cml0eS1mb3JtYXQucGF0Y2ggXAogICAgICAgICAgICBmaWxlOi8vZml4LWVycm9yLXJldHVybi5wYXRjaCIKIAogU1JDX1VSSVttZDVzdW1dID0gIjM3ZTI0N2U4ZTQwMGFkOTIwNWYxYjA1MDBiNzI4ZmQzIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9zdWRvL3N1ZG9fMS44LjE1LmJiIGIvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9zdWRvL3N1ZG9fMS44LjE3cDEuYmIKc2ltaWxhcml0eSBpbmRleCA5MCUKcmVuYW1lIGZyb20gaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9zdWRvL3N1ZG9fMS44LjE1LmJiCnJlbmFtZSB0byBpbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3N1ZG8vc3Vkb18xLjguMTdwMS5iYgppbmRleCAwNDIwNDNlYy4uNjE0YWQ1YyAxMDA2NDQKLS0tIGEvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9zdWRvL3N1ZG9fMS44LjE1LmJiCisrKyBiL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvc3Vkby9zdWRvXzEuOC4xN3AxLmJiCkBAIC03LDggKzcsOCBAQAogCiBQQU1fU1JDX1VSSSA9ICJmaWxlOi8vc3Vkby5wYW0iCiAKLVNSQ19VUklbbWQ1c3VtXSA9ICI3Y2Y2YjliNzZkMDQ3OGE1NzI0MzJiZWQ0ODFkZDdiNSIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICI0MzE2MzgxNzA4MzI0ZGE4YjZjYjE1MWY2NTVjMWExMTg1NTIwN2M3YzAyMjQ0ZDhmZmRlYTUxMDRkN2NjMzA4IgorU1JDX1VSSVttZDVzdW1dID0gIjUwYTg0MGE2ODhjZWI2ZmEzYWIyNGZjMGFkZjRmYTIzIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImM2OTBkNzA3ZmI1NjFiM2VjZGY2YTZkZTU1NjNiYzBiNzY5Mzg4ZWZmMjAxYzg1MWVkYmFjZTQwOGJiMTU1Y2MiCiAKIERFUEVORFMgKz0gIiAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3BhbScsICdsaWJwYW0nLCAnJywgZCl9IgogUkRFUEVORFNfJHtQTn0gKz0gIiAke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ3BhbScsICdwYW0tcGx1Z2luLWxpbWl0cyBwYW0tcGx1Z2luLWtleWluaXQnLCAnJywgZCl9IgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9zeXNrbG9nZC9zeXNrbG9nZC5pbmMgYi9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3N5c2tsb2dkL3N5c2tsb2dkLmluYwppbmRleCAxZTM2M2RiLi41YzE1ZmZlIDEwMDY0NAotLS0gYS9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3N5c2tsb2dkL3N5c2tsb2dkLmluYworKysgYi9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3N5c2tsb2dkL3N5c2tsb2dkLmluYwpAQCAtNTUsNyArNTUsNyBAQAogcGtnX3ByZXJtXyR7UE59ICgpIHsKIAlpZiB0ZXN0ICJ4JEQiID0gIngiOyB0aGVuCiAJaWYgdGVzdCAiJDEiID0gInVwZ3JhZGUiIC1vICIkMSIgPSAicmVtb3ZlIjsgdGhlbgotCQkvZXRjL2luaXQuZC9zeXNsb2cgc3RvcAorCQkvZXRjL2luaXQuZC9zeXNsb2cgc3RvcCB8fCA6CiAJZmkKIAlmaQogfQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9zeXNzdGF0L3N5c3N0YXQuaW5jIGIvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC9zeXNzdGF0L3N5c3N0YXQuaW5jCmluZGV4IGMzNTMyOTEuLmJiNTYyOWQgMTAwNjQ0Ci0tLSBhL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvc3lzc3RhdC9zeXNzdGF0LmluYworKysgYi9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3N5c3N0YXQvc3lzc3RhdC5pbmMKQEAgLTE0LDYgKzE0LDcgQEAKIAogREVQRU5EUyArPSAiYmFzZS1wYXNzd2QiCiAKKyMgYXV0b3Rvb2xzLWJyb2tlbnNlcCBhcyB0aGlzIHBhY2thZ2UgZG9lc24ndCB1c2UgYXV0b21ha2UKIGluaGVyaXQgYXV0b3Rvb2xzLWJyb2tlbnNlcCBnZXR0ZXh0IHN5c3RlbWQKIAogRVhUUkFfT0VDT05GICs9ICItLWRpc2FibGUtc2Vuc29ycyIKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvc3lzc3RhdC9zeXNzdGF0XzExLjIuMC5iYiBiL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvc3lzc3RhdC9zeXNzdGF0XzExLjIuMC5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggN2E4ZWI5Ni4uMDAwMDAwMAotLS0gYS9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3N5c3N0YXQvc3lzc3RhdF8xMS4yLjAuYmIKKysrIC9kZXYvbnVsbApAQCAtMSw4ICswLDAgQEAKLXJlcXVpcmUgc3lzc3RhdC5pbmMKLQotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9OGNhNDNjYmM4NDJjMjMzNmU4MzU5MjZjMjE2NmMyOGIiCi0KLVNSQ19VUkkgKz0gImZpbGU6Ly8wMDAxLUluY2x1ZGUtbmVlZGVkLWhlYWRlcnMtZXhwbGljaXRseS5wYXRjaCIKLQotU1JDX1VSSVttZDVzdW1dID0gImU4YjYxNTc3NWFkOTg3ODBlM2YwNjc1YjkxZWRkYjE5IgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjk4MDZiOWE2NjI1Njg3OTZkM2ZiOTNlY2QwMWVjZWExMGQ4MTVlNjY4MzM3YTY0NjQ5NDk1M2JmZjRiYzQxNTUiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3N5c3N0YXQvc3lzc3RhdF8xMS40LjAuYmIgYi9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3N5c3N0YXQvc3lzc3RhdF8xMS40LjAuYmIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjlmODNmYwotLS0gL2Rldi9udWxsCisrKyBiL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvc3lzc3RhdC9zeXNzdGF0XzExLjQuMC5iYgpAQCAtMCwwICsxLDggQEAKK3JlcXVpcmUgc3lzc3RhdC5pbmMKKworTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vQ09QWUlORzttZDU9YTIzYTc0YjNmNGNhZjk2MTYyMzA3ODlkOTQyMTdhY2IiCisKK1NSQ19VUkkgKz0gImZpbGU6Ly8wMDAxLUluY2x1ZGUtbmVlZGVkLWhlYWRlcnMtZXhwbGljaXRseS5wYXRjaCIKKworU1JDX1VSSVttZDVzdW1dID0gImVlN2I4YzBiMTM5YTExYTdhMzQxOGRjMDY1OGNhMWJlIgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImI4NTE4Y2E4OGFjZmNiYzQ3NGE0MDYwMjJlZTljMGMzMjEwY2NlZjRmMGVjODBlNWIzZThjNDFkZGE4YzE2ZjIiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3Rhci90YXIvcmVtb3ZlLWdldHMucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3Rhci90YXIvcmVtb3ZlLWdldHMucGF0Y2gKaW5kZXggMGI4YmUzOS4uZjI0ZGU5MiAxMDA2NDQKLS0tIGEvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC90YXIvdGFyL3JlbW92ZS1nZXRzLnBhdGNoCisrKyBiL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvdGFyL3Rhci9yZW1vdmUtZ2V0cy5wYXRjaApAQCAtMywyMCArMywyNyBAQAogU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KIAogVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nCi1JbmRleDogdGFyLTEuMjcvZ251L3N0ZGlvLmluLmgKLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSB0YXItMS4yNy5vcmlnL2dudS9zdGRpby5pbi5oCTIwMTMtMDYtMjkgMDg6NTQ6MjYuMDAwMDAwMDAwICswMzAwCi0rKysgdGFyLTEuMjcvZ251L3N0ZGlvLmluLmgJMjAxMy0xMC0xNiAxNToyMjo0Ni45NzcyMDQ3MzcgKzAzMDAKLUBAIC03MTAsMTAgKzcxMCwxMiBAQAorLS0tCisgZ251L3N0ZGlvLmluLmggfCAyICsrCisgMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKQorCitkaWZmIC0tZ2l0IGEvZ251L3N0ZGlvLmluLmggYi9nbnUvc3RkaW8uaW4uaAoraW5kZXggZWM0Mzg3NC4uNTAyZTNhZSAxMDA2NDQKKy0tLSBhL2dudS9zdGRpby5pbi5oCisrKysgYi9nbnUvc3RkaW8uaW4uaAorQEAgLTcyMiwxMCArNzIyLDEyIEBAIF9HTF9XQVJOX09OX1VTRSAoZ2V0bGluZSwgImdldGxpbmUgaXMgdW5wb3J0YWJsZSAtICIKICAvKiBJdCBpcyB2ZXJ5IHJhcmUgdGhhdCB0aGUgZGV2ZWxvcGVyIGV2ZXIgaGFzIGZ1bGwgY29udHJvbCBvZiBzdGRpbiwKICAgICBzbyBhbnkgdXNlIG9mIGdldHMgd2FycmFudHMgYW4gdW5jb25kaXRpb25hbCB3YXJuaW5nOyBiZXNpZGVzLCBDMTEKICAgICByZW1vdmVkIGl0LiAgKi8KICsjaWYgZGVmaW5lZCBnZXRzCiAgI3VuZGVmIGdldHMKLSAjaWYgSEFWRV9SQVdfREVDTF9HRVRTCisgI2lmIEhBVkVfUkFXX0RFQ0xfR0VUUyAmJiAhZGVmaW5lZCBfX2NwbHVzcGx1cwogIF9HTF9XQVJOX09OX1VTRSAoZ2V0cywgImdldHMgaXMgYSBzZWN1cml0eSBob2xlIC0gdXNlIGZnZXRzIGluc3RlYWQiKTsKICAjZW5kaWYKICsjZW5kaWYKICAKLSAKICAjaWYgQEdOVUxJQl9PQlNUQUNLX1BSSU5URkAgfHwgQEdOVUxJQl9PQlNUQUNLX1BSSU5URl9QT1NJWEAKKyBzdHJ1Y3Qgb2JzdGFjazsKKy0tIAorMi44LjMKKwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC90YXIvdGFyXzEuMjguYmIgYi9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3Rhci90YXJfMS4yOS5iYgpzaW1pbGFyaXR5IGluZGV4IDcyJQpyZW5hbWUgZnJvbSBpbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3Rhci90YXJfMS4yOC5iYgpyZW5hbWUgdG8gaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC90YXIvdGFyXzEuMjkuYmIKaW5kZXggNTE4ZTYyMi4uZWZjZTU3ZCAxMDA2NDQKLS0tIGEvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC90YXIvdGFyXzEuMjguYmIKKysrIGIvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC90YXIvdGFyXzEuMjkuYmIKQEAgLTksOCArOSw4IEBACiBTUkNfVVJJICs9ICJmaWxlOi8vcmVtb3ZlLWdldHMucGF0Y2ggXAogICAgICAgICAgICAgZmlsZTovL211c2xfZGlyZW50LnBhdGNoIFwKICAgICAgICAgICAgIgotU1JDX1VSSVttZDVzdW1dID0gIjhmMzJiMmJjMWVkN2RkZjRjZjRlNGEzOTcxMTM0MWIwIgotU1JDX1VSSVtzaGEyNTZzdW1dID0gIjYwZTRiZmUwNjAyZmVmMzRjZDkwOGQ5MWNmNjM4ZTE3ZWViMDkzOTRkN2I5OGMyNDg3MjE3ZGM0ZDMxNDc1NjIiCitTUkNfVVJJW21kNXN1bV0gPSAiOTU1Y2Q1MzM5NTVhY2IxODA0YjgzZmQ3MDIxOGRhNTEiCitTUkNfVVJJW3NoYTI1NnN1bV0gPSAiMjM2YjExMTkwYzBhM2E2ODg1YmRiOGQ2MTQyNGYyYjM2YTU4NzI4NjlhYTNmN2Y2OTVkZWE0YjQ4NDNhZTJmMiIKIAogZG9faW5zdGFsbF9hcHBlbmRfbGliYy1tdXNsKCkgewogCXJtIC1mICR7RH0ke2xpYmRpcn0vY2hhcnNldC5hbGlhcwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC90emNvZGUvdHpjb2RlLW5hdGl2ZV8yMDE2Yy5iYiBiL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvdHpjb2RlL3R6Y29kZS1uYXRpdmVfMjAxNmMuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDA2YjkyZWEuLjAwMDAwMDAKLS0tIGEvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC90emNvZGUvdHpjb2RlLW5hdGl2ZV8yMDE2Yy5iYgorKysgL2Rldi9udWxsCkBAIC0xLDI1ICswLDAgQEAKLSMgbm90ZSB0aGF0IHdlIGFsbG93IGZvciB1cyB0byB1c2UgZGF0YSBsYXRlciB0aGFuIG91ciBjb2RlIHZlcnNpb24KLSMKLVNVTU1BUlkgPSAidHpjb2RlLCB0aW1lem9uZSB6b25laW5mbyB1dGlscyAtLSB6aWMsIHpkdW1wLCB0enNlbGVjdCIKLUxJQ0VOU0UgPSAiUEQgJiBCU0QgJiBCU0QtMy1DbGF1c2UiCi0KLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PTc2YWUyYmVjZmNiOWE2ODUwNDFjNmYxNjZiNDRjMmMyIgotCi1TUkNfVVJJID0iIGh0dHA6Ly93d3cuaWFuYS5vcmcvdGltZS16b25lcy9yZXBvc2l0b3J5L3JlbGVhc2VzL3R6Y29kZSR7UFZ9LnRhci5nejtuYW1lPXR6Y29kZSBcCi0gICAgICAgICAgIGh0dHA6Ly93d3cuaWFuYS5vcmcvdGltZS16b25lcy9yZXBvc2l0b3J5L3JlbGVhc2VzL3R6ZGF0YSR7UFZ9LnRhci5nejtuYW1lPXR6ZGF0YSIKLQotU1JDX1VSSVt0emNvZGUubWQ1c3VtXSA9ICJmZmI4MmFiMGI1ODgxMzg3NTk5MDJiNDYyN2E2YTgwZCIKLVNSQ19VUklbdHpjb2RlLnNoYTI1NnN1bV0gPSAiMzQ0YjFiZDQ4NjkzNWJjYTJiN2JhYTQ3ZGIzYjk5YjMyMjExYzQ1ZjMxZWMwZDFlYWQ4YmFjZDEwM2M1YTQxNiIKLVNSQ19VUklbdHpkYXRhLm1kNXN1bV0gPSAiMDMzMGNjZDE2MTQwZDNiNjQzOGExOGRhZTliMzRiOTMiCi1TUkNfVVJJW3R6ZGF0YS5zaGEyNTZzdW1dID0gIjg3MDBkOTgxZTZmMjAwN2FjMDM3ZGFiYjVkMmIxMmYzOTBlODYyOWJiYzMwZTU2NGJjMjFjZjBjMDY5YTJkNDgiCi0KLVMgPSAiJHtXT1JLRElSfSIKLQotaW5oZXJpdCBuYXRpdmUKLQotZG9faW5zdGFsbCAoKSB7Ci0gICAgICAgIGluc3RhbGwgLWQgJHtEfSR7YmluZGlyfS8KLSAgICAgICAgaW5zdGFsbCAtbSA3NTUgemljICR7RH0ke2JpbmRpcn0vCi0gICAgICAgIGluc3RhbGwgLW0gNzU1IHpkdW1wICR7RH0ke2JpbmRpcn0vCi0gICAgICAgIGluc3RhbGwgLW0gNzU1IHR6c2VsZWN0ICR7RH0ke2JpbmRpcn0vCi19CmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3R6Y29kZS90emNvZGUtbmF0aXZlXzIwMTZnLmJiIGIvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC90emNvZGUvdHpjb2RlLW5hdGl2ZV8yMDE2Zy5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hMmU2MjE3Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC90emNvZGUvdHpjb2RlLW5hdGl2ZV8yMDE2Zy5iYgpAQCAtMCwwICsxLDI2IEBACisjIG5vdGUgdGhhdCB3ZSBhbGxvdyBmb3IgdXMgdG8gdXNlIGRhdGEgbGF0ZXIgdGhhbiBvdXIgY29kZSB2ZXJzaW9uCisjCitTVU1NQVJZID0gInR6Y29kZSwgdGltZXpvbmUgem9uZWluZm8gdXRpbHMgLS0gemljLCB6ZHVtcCwgdHpzZWxlY3QiCitMSUNFTlNFID0gIlBEICYgQlNEICYgQlNELTMtQ2xhdXNlIgorCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT1lZjFhMzUyYjkwMWVlN2I3NWE3NWRmODE3MWQ2YWNhNyIKKworU1JDX1VSSSA9IiBodHRwOi8vd3d3LmlhbmEub3JnL3RpbWUtem9uZXMvcmVwb3NpdG9yeS9yZWxlYXNlcy90emNvZGUke1BWfS50YXIuZ3o7bmFtZT10emNvZGUgXAorICAgICAgICAgICBodHRwOi8vd3d3LmlhbmEub3JnL3RpbWUtem9uZXMvcmVwb3NpdG9yeS9yZWxlYXNlcy90emRhdGEke1BWfS50YXIuZ3o7bmFtZT10emRhdGEiCitVUFNUUkVBTV9DSEVDS19VUkkgPSAiaHR0cDovL3d3dy5pYW5hLm9yZy90aW1lLXpvbmVzIgorCitTUkNfVVJJW3R6Y29kZS5tZDVzdW1dID0gImY4OTg2NzAxMzY3NmUzY2I5NTQ0YmUyZGY3ZDM2YTkxIgorU1JDX1VSSVt0emNvZGUuc2hhMjU2c3VtXSA9ICIxZmY5MGI0N2FkNzk4NjE0MGE1MTNiNTI4N2IxODUxYzQwZjgwZmQ0NGZkNjM2ZGI1Y2M1YjQ2ZDA2ZjlmYTJiIgorU1JDX1VSSVt0emRhdGEubWQ1c3VtXSA9ICIzYzdlOTdlYzg1MjcyMTExMDRkMjdjYzFkOTdhMjNkZSIKK1NSQ19VUklbdHpkYXRhLnNoYTI1NnN1bV0gPSAiM2M3MTM3YjJiYzQ3MzIzYjBkZTQ3Yjc3Nzg2YmFjZjgxZWQ1MDNkNGIyYzY5M2ZmOGFkYTJmYmQxMjgxZWJkMSIKKworUyA9ICIke1dPUktESVJ9IgorCitpbmhlcml0IG5hdGl2ZQorCitkb19pbnN0YWxsICgpIHsKKyAgICAgICAgaW5zdGFsbCAtZCAke0R9JHtiaW5kaXJ9LworICAgICAgICBpbnN0YWxsIC1tIDc1NSB6aWMgJHtEfSR7YmluZGlyfS8KKyAgICAgICAgaW5zdGFsbCAtbSA3NTUgemR1bXAgJHtEfSR7YmluZGlyfS8KKyAgICAgICAgaW5zdGFsbCAtbSA3NTUgdHpzZWxlY3QgJHtEfSR7YmluZGlyfS8KK30KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvdHpkYXRhL3R6ZGF0YV8yMDE2Yy5iYiBiL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvdHpkYXRhL3R6ZGF0YV8yMDE2Zy5iYgpzaW1pbGFyaXR5IGluZGV4IDk2JQpyZW5hbWUgZnJvbSBpbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3R6ZGF0YS90emRhdGFfMjAxNmMuYmIKcmVuYW1lIHRvIGltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvdHpkYXRhL3R6ZGF0YV8yMDE2Zy5iYgppbmRleCA1ZWI4NWI3Li4zZWU0YjVhIDEwMDY0NAotLS0gYS9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3R6ZGF0YS90emRhdGFfMjAxNmMuYmIKKysrIGIvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC90emRhdGEvdHpkYXRhXzIwMTZnLmJiCkBAIC0yLDE0ICsyLDE1IEBACiBIT01FUEFHRSA9ICJodHRwOi8vd3d3LmlhbmEub3JnL3RpbWUtem9uZXMiCiBTRUNUSU9OID0gImJhc2UiCiBMSUNFTlNFID0gIlBEICYgQlNEICYgQlNELTMtQ2xhdXNlIgotTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9NzZhZTJiZWNmY2I5YTY4NTA0MWM2ZjE2NmI0NGMyYzIiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9MSUNFTlNFO21kNT1lZjFhMzUyYjkwMWVlN2I3NWE3NWRmODE3MWQ2YWNhNyIKIAogREVQRU5EUyA9ICJ0emNvZGUtbmF0aXZlIgogCiBTUkNfVVJJID0gImh0dHA6Ly93d3cuaWFuYS5vcmcvdGltZS16b25lcy9yZXBvc2l0b3J5L3JlbGVhc2VzL3R6ZGF0YSR7UFZ9LnRhci5nejtuYW1lPXR6ZGF0YSIKK1VQU1RSRUFNX0NIRUNLX1VSSSA9ICJodHRwOi8vd3d3LmlhbmEub3JnL3RpbWUtem9uZXMiCiAKLVNSQ19VUklbdHpkYXRhLm1kNXN1bV0gPSAiMDMzMGNjZDE2MTQwZDNiNjQzOGExOGRhZTliMzRiOTMiCi1TUkNfVVJJW3R6ZGF0YS5zaGEyNTZzdW1dID0gIjg3MDBkOTgxZTZmMjAwN2FjMDM3ZGFiYjVkMmIxMmYzOTBlODYyOWJiYzMwZTU2NGJjMjFjZjBjMDY5YTJkNDgiCitTUkNfVVJJW3R6ZGF0YS5tZDVzdW1dID0gIjNjN2U5N2VjODUyNzIxMTEwNGQyN2NjMWQ5N2EyM2RlIgorU1JDX1VSSVt0emRhdGEuc2hhMjU2c3VtXSA9ICIzYzcxMzdiMmJjNDczMjNiMGRlNDdiNzc3ODZiYWNmODFlZDUwM2Q0YjJjNjkzZmY4YWRhMmZiZDEyODFlYmQxIgogCiBpbmhlcml0IGFsbGFyY2gKIApkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC91bnppcC91bnppcC9maXgtc2VjdXJpdHktZm9ybWF0LnBhdGNoIGIvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC91bnppcC91bnppcC9maXgtc2VjdXJpdHktZm9ybWF0LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhlOWIwNmMKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3VuemlwL3VuemlwL2ZpeC1zZWN1cml0eS1mb3JtYXQucGF0Y2gKQEAgLTAsMCArMSw5NyBAQAordW56aXA6IEZpeGluZyBzZWN1cml0eSBmb3JtYXR0aW5nIGlzc3VlcworCitGaXggc2VjdXJpdHkgZm9ybWF0dGluZyBpc3N1ZXMgcmVsYXRlZCB0byBzcHJpbnRmIHBhcmFtZXRlcnMgZXhwZXRlZC4gCisKK1tZT0NUTyAjOTU1MV0KK1todHRwczovL2J1Z3ppbGxhLnlvY3RvcHJvamVjdC5vcmcvc2hvd19idWcuY2dpP2lkPTk1NTFdCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitTaWduZWQtb2ZmLWJ5OiBFZHdpbiBQbGF1Y2h1IDxlZHdpbi5wbGF1Y2h1LmNhbWFjaG9AaW50ZWwuY29tPgorCitkaWZmIC0tZ2l0IGEvZXh0cmFjdC5jIGIvZXh0cmFjdC5jCitpbmRleCA3Y2Q5MTIzLi4yNWM1YTYyIDEwMDY0NAorLS0tIGEvZXh0cmFjdC5jCisrKysgYi9leHRyYWN0LmMKK0BAIC00NzUsNyArNDc1LDcgQEAgaW50IGV4dHJhY3Rfb3JfdGVzdF9maWxlcyhfX0cpICAgIC8qIHJldHVybiBQSy10eXBlIGVycm9yIGNvZGUgKi8KKyAgICAgICAgICAgICAgICAgICAgIEluZm8oc2xpZGUsIDB4NDAxLCAoKGNoYXIgKilzbGlkZSwKKyAgICAgICAgICAgICAgICAgICAgICAgTG9hZEZhclN0cmluZyhDZW50U2lnTXNnKSwgaiArIGJsa251bSpESVJfQkxLU0laICsgMSkpOworICAgICAgICAgICAgICAgICAgICAgSW5mbyhzbGlkZSwgMHg0MDEsICgoY2hhciAqKXNsaWRlLAorLSAgICAgICAgICAgICAgICAgICAgICBMb2FkRmFyU3RyaW5nKFJlcG9ydE1zZykpKTsKKysgICAgICAgICAgICAgICAgICAgICAgIiVzIixMb2FkRmFyU3RyaW5nKFJlcG9ydE1zZykpKTsKKyAgICAgICAgICAgICAgICAgICAgIGVycm9yX2luX2FyY2hpdmUgPSBQS19CQURFUlI7CisgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgcmVhY2hlZF9lbmQgPSBUUlVFOyAgICAgLyogLi4uc28gbm8gbW9yZSBsZWZ0IHRvIGRvICovCitAQCAtNzU0LDggKzc1NCw4IEBAIGludCBleHRyYWN0X29yX3Rlc3RfZmlsZXMoX19HKSAgICAvKiByZXR1cm4gUEstdHlwZSBlcnJvciBjb2RlICovCisKKyAjaWZuZGVmIFNGWAorICAgICBpZiAobm9fZW5kc2lnX2ZvdW5kKSB7ICAgICAgICAgICAgICAgICAgICAgIC8qIGp1c3QgdG8gbWFrZSBzdXJlICovCistICAgICAgICBJbmZvKHNsaWRlLCAweDQwMSwgKChjaGFyICopc2xpZGUsIExvYWRGYXJTdHJpbmcoRW5kU2lnTXNnKSkpOworLSAgICAgICAgSW5mbyhzbGlkZSwgMHg0MDEsICgoY2hhciAqKXNsaWRlLCBMb2FkRmFyU3RyaW5nKFJlcG9ydE1zZykpKTsKKysgICAgICAgIEluZm8oc2xpZGUsIDB4NDAxLCAoKGNoYXIgKilzbGlkZSwgIiVzIiwgTG9hZEZhclN0cmluZyhFbmRTaWdNc2cpKSk7CisrICAgICAgICBJbmZvKHNsaWRlLCAweDQwMSwgKChjaGFyICopc2xpZGUsICIlcyIsIExvYWRGYXJTdHJpbmcoUmVwb3J0TXNnKSkpOworICAgICAgICAgaWYgKCFlcnJvcl9pbl9hcmNoaXZlKSAgICAgICAvKiBkb24ndCBvdmVyd3JpdGUgc3Ryb25nZXIgZXJyb3IgKi8KKyAgICAgICAgICAgICBlcnJvcl9pbl9hcmNoaXZlID0gUEtfV0FSTjsKKyAgICAgfQorZGlmZiAtLWdpdCBhL2xpc3QuYyBiL2xpc3QuYworaW5kZXggMTVlMDAxMS4uMGI0ODRmNiAxMDA2NDQKKy0tLSBhL2xpc3QuYworKysrIGIvbGlzdC5jCitAQCAtMTgxLDcgKzE4MSw3IEBAIGludCBsaXN0X2ZpbGVzKF9fRykgICAgLyogcmV0dXJuIFBLLXR5cGUgZXJyb3IgY29kZSAqLworICAgICAgICAgICAgICAgICBJbmZvKHNsaWRlLCAweDQwMSwKKyAgICAgICAgICAgICAgICAgICAgICAoKGNoYXIgKilzbGlkZSwgTG9hZEZhclN0cmluZyhDZW50U2lnTXNnKSwgaikpOworICAgICAgICAgICAgICAgICBJbmZvKHNsaWRlLCAweDQwMSwKKy0gICAgICAgICAgICAgICAgICAgICAoKGNoYXIgKilzbGlkZSwgTG9hZEZhclN0cmluZyhSZXBvcnRNc2cpKSk7CisrICAgICAgICAgICAgICAgICAgICAgKChjaGFyICopc2xpZGUsICIlcyIsIExvYWRGYXJTdHJpbmcoUmVwb3J0TXNnKSkpOworICAgICAgICAgICAgICAgICByZXR1cm4gUEtfQkFERVJSOyAgIC8qIHNpZyBub3QgZm91bmQgKi8KKyAgICAgICAgICAgICB9CisgICAgICAgICB9CitAQCAtNTA3LDcgKzUwNyw3IEBAIGludCBsaXN0X2ZpbGVzKF9fRykgICAgLyogcmV0dXJuIFBLLXR5cGUgZXJyb3IgY29kZSAqLworICAgICAgICAgICAgICYmICghRy5lY3JlYy5pc196aXA2NF9hcmNoaXZlKQorICAgICAgICAgICAgICYmIChtZW1jbXAoRy5zaWcsIGVuZF9jZW50cmFsX3NpZywgNCkgIT0gMCkKKyAgICAgICAgICAgICkgeyAgICAgICAgICAvKiBqdXN0IHRvIG1ha2Ugc3VyZSBhZ2FpbiAqLworLSAgICAgICAgICAgIEluZm8oc2xpZGUsIDB4NDAxLCAoKGNoYXIgKilzbGlkZSwgTG9hZEZhclN0cmluZyhFbmRTaWdNc2cpKSk7CisrICAgICAgICAgICAgSW5mbyhzbGlkZSwgMHg0MDEsICgoY2hhciAqKXNsaWRlLCAiJXMiLCBMb2FkRmFyU3RyaW5nKEVuZFNpZ01zZykpKTsKKyAgICAgICAgICAgICBlcnJvcl9pbl9hcmNoaXZlID0gUEtfV0FSTjsgICAvKiBkaWRuJ3QgZmluZCBzaWcgKi8KKyAgICAgICAgIH0KKworQEAgLTU5MSw3ICs1OTEsNyBAQCBpbnQgZ2V0X3RpbWVfc3RhbXAoX19HX18gbGFzdF9tb2R0aW1lLCBubWVtYmVyKSAgLyogcmV0dXJuIFBLLXR5cGUgZXJyb3IgY29kZSAqLworICAgICAgICAgICAgICAgICBJbmZvKHNsaWRlLCAweDQwMSwKKyAgICAgICAgICAgICAgICAgICAgICAoKGNoYXIgKilzbGlkZSwgTG9hZEZhclN0cmluZyhDZW50U2lnTXNnKSwgaikpOworICAgICAgICAgICAgICAgICBJbmZvKHNsaWRlLCAweDQwMSwKKy0gICAgICAgICAgICAgICAgICAgICAoKGNoYXIgKilzbGlkZSwgTG9hZEZhclN0cmluZyhSZXBvcnRNc2cpKSk7CisrICAgICAgICAgICAgICAgICAgICAgKChjaGFyICopc2xpZGUsICIlcyIsIExvYWRGYXJTdHJpbmcoUmVwb3J0TXNnKSkpOworICAgICAgICAgICAgICAgICByZXR1cm4gUEtfQkFERVJSOyAgIC8qIHNpZyBub3QgZm91bmQgKi8KKyAgICAgICAgICAgICB9CisgICAgICAgICB9CitAQCAtNjc0LDcgKzY3NCw3IEBAIGludCBnZXRfdGltZV9zdGFtcChfX0dfXyBsYXN0X21vZHRpbWUsIG5tZW1iZXIpICAvKiByZXR1cm4gUEstdHlwZSBlcnJvciBjb2RlICovCisgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLworIAorICAgICBpZiAobWVtY21wKEcuc2lnLCBlbmRfY2VudHJhbF9zaWcsIDQpKSB7ICAgIC8qIGp1c3QgdG8gbWFrZSBzdXJlIGFnYWluICovCistICAgICAgICBJbmZvKHNsaWRlLCAweDQwMSwgKChjaGFyICopc2xpZGUsIExvYWRGYXJTdHJpbmcoRW5kU2lnTXNnKSkpOworKyAgICAgICAgSW5mbyhzbGlkZSwgMHg0MDEsICgoY2hhciAqKXNsaWRlLCAiJXMiLCBMb2FkRmFyU3RyaW5nKEVuZFNpZ01zZykpKTsKKyAgICAgICAgIGVycm9yX2luX2FyY2hpdmUgPSBQS19XQVJOOworICAgICB9CisgICAgIGlmICgqbm1lbWJlciA9PSAwTCAmJiBlcnJvcl9pbl9hcmNoaXZlIDw9IFBLX1dBUk4pCitkaWZmIC0tZ2l0IGEvemlwaW5mby5jIGIvemlwaW5mby5jCitpbmRleCAwYWM3NWIzLi4xZTdmYTgyIDEwMDY0NAorLS0tIGEvemlwaW5mby5jCisrKysgYi96aXBpbmZvLmMKK0BAIC04MzMsNyArODMzLDcgQEAgaW50IHppcGluZm8oX19HKSAgIC8qIHJldHVybiBQSy10eXBlIGVycm9yIGNvZGUgKi8KKyAgICAgICAgICAgICAgICAgSW5mbyhzbGlkZSwgMHg0MDEsCisgICAgICAgICAgICAgICAgICAgICAgKChjaGFyICopc2xpZGUsIExvYWRGYXJTdHJpbmcoQ2VudFNpZ01zZyksIGopKTsKKyAgICAgICAgICAgICAgICAgSW5mbyhzbGlkZSwgMHg0MDEsCistICAgICAgICAgICAgICAgICAgICAgKChjaGFyICopc2xpZGUsIExvYWRGYXJTdHJpbmcoUmVwb3J0TXNnKSkpOworKyAgICAgICAgICAgICAgICAgICAgICgoY2hhciAqKXNsaWRlLCAiJXMiLCBMb2FkRmFyU3RyaW5nKFJlcG9ydE1zZykpKTsKKyAgICAgICAgICAgICAgICAgZXJyb3JfaW5fYXJjaGl2ZSA9IFBLX0JBREVSUjsgICAvKiBzaWcgbm90IGZvdW5kICovCisgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgIH0KK0BAIC0xMDIyLDcgKzEwMjIsNyBAQCBpbnQgemlwaW5mbyhfX0cpICAgLyogcmV0dXJuIFBLLXR5cGUgZXJyb3IgY29kZSAqLworICAgICAgICAgICAgICYmICghRy5lY3JlYy5pc196aXA2NF9hcmNoaXZlKQorICAgICAgICAgICAgICYmIChtZW1jbXAoRy5zaWcsIGVuZF9jZW50cmFsX3NpZywgNCkgIT0gMCkKKyAgICAgICAgICAgICkgeyAgICAgICAgICAvKiBqdXN0IHRvIG1ha2Ugc3VyZSBhZ2FpbiAqLworLSAgICAgICAgICAgIEluZm8oc2xpZGUsIDB4NDAxLCAoKGNoYXIgKilzbGlkZSwgTG9hZEZhclN0cmluZyhFbmRTaWdNc2cpKSk7CisrICAgICAgICAgICAgSW5mbyhzbGlkZSwgMHg0MDEsICgoY2hhciAqKXNsaWRlLCAiJXMiLCBMb2FkRmFyU3RyaW5nKEVuZFNpZ01zZykpKTsKKyAgICAgICAgICAgICBlcnJvcl9pbl9hcmNoaXZlID0gUEtfV0FSTjsgICAvKiBkaWRuJ3QgZmluZCBzaWcgKi8KKyAgICAgICAgIH0KKyAKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvdW56aXAvdW56aXBfNi4wLmJiIGIvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC91bnppcC91bnppcF82LjAuYmIKaW5kZXggOWVmZTc1Ni4uNTQ3Mzc5YyAxMDA2NDQKLS0tIGEvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC91bnppcC91bnppcF82LjAuYmIKKysrIGIvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC91bnppcC91bnppcF82LjAuYmIKQEAgLTYsNyArNiw3IEBACiBQRSA9ICIxIgogUFIgPSAicjUiCiAKLVNSQ19VUkkgPSAiZnRwOi8vZnRwLmluZm8temlwLm9yZy9wdWIvaW5mb3ppcC9zcmMvdW56aXA2MC50Z3ogXAorU1JDX1VSSSA9ICIke1NPVVJDRUZPUkdFX01JUlJPUn0vaW5mb3ppcC9VblppcCUyMDYueCUyMCUyOGxhdGVzdCUyOS9VblppcCUyMDYuMC91bnppcDYwLnRhci5neiBcCiAJZmlsZTovL2F2b2lkLXN0cmlwLnBhdGNoIFwKIAlmaWxlOi8vZGVmaW5lLWxkZmxhZ3MucGF0Y2ggXAogCWZpbGU6Ly8wNi11bnppcDYwLWFsdC1pY29udi11dGY4X0NWRS0yMDE1LTEzMTUucGF0Y2ggXApAQCAtMTYsNiArMTYsNyBAQAogCWZpbGU6Ly8xMS1jdmUtMjAxNC04MTQxLWdldHppcDY0ZGF0YS5wYXRjaCBcCiAJZmlsZTovL0NWRS0yMDE1LTc2OTYucGF0Y2ggXAogCWZpbGU6Ly9DVkUtMjAxNS03Njk3LnBhdGNoIFwKKyAgICAgICAgZmlsZTovL2ZpeC1zZWN1cml0eS1mb3JtYXQucGF0Y2ggXAogIgogCiBTUkNfVVJJW21kNXN1bV0gPSAiNjJiNDkwNDA3NDg5NTIxZGI4NjNiNTIzYTdmODYzNzUiCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3dhdGNoZG9nL3dhdGNoZG9nLWNvbmZpZy5iYiBiL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvd2F0Y2hkb2cvd2F0Y2hkb2ctY29uZmlnLmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhiZjQwZjAKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3dhdGNoZG9nL3dhdGNoZG9nLWNvbmZpZy5iYgpAQCAtMCwwICsxLDIwIEBACitTVU1NQVJZID0gIlNvZnR3YXJlIHdhdGNoZG9nIgorREVTQ1JJUFRJT04gPSAiV2F0Y2hkb2cgaXMgYSBkYWVtb24gdGhhdCBjaGVja3MgaWYgeW91ciBzeXN0ZW0gaXMgc3RpbGwgXAord29ya2luZy4gSWYgcHJvZ3JhbXMgaW4gdXNlciBzcGFjZSBhcmUgbm90IGxvbmdlciBleGVjdXRlZCBpdCB3aWxsIHJlYm9vdCBcCit0aGUgc3lzdGVtLiIKK0hPTUVQQUdFID0gImh0dHA6Ly93YXRjaGRvZy5zb3VyY2Vmb3JnZS5uZXQvIgorQlVHVFJBQ0tFUiA9ICJodHRwOi8vc291cmNlZm9yZ2UubmV0L3RyYWNrZXIvP2dyb3VwX2lkPTE3MjAzMCZhdGlkPTg2MDE5NCIKKworTElDRU5TRSA9ICJNSVQtWCIKK0xJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovLyR7Q09SRUJBU0V9L21ldGEvQ09QWUlORy5NSVQ7bWQ1PTNkYTljZmJjYjc4OGM4MGEwMzg0MzYxYjRkZTIwNDIwIgorCitTUkNfVVJJID0gIiBcCisgICAgZmlsZTovL3dhdGNoZG9nLmRlZmF1bHQgXAorICAgIGZpbGU6Ly93YXRjaGRvZy5jb25mIFwKKyIKKworZG9faW5zdGFsbCgpIHsKKyAgICBpbnN0YWxsIC1EbSAwNjQ0ICR7V09SS0RJUn0vd2F0Y2hkb2cuZGVmYXVsdCAke0R9JHtzeXNjb25mZGlyfS9kZWZhdWx0L3dhdGNoZG9nCisgICAgaW5zdGFsbCAtRG0gMDY0NCAke1dPUktESVJ9L3dhdGNoZG9nLmNvbmYgJHtEfSR7c3lzY29uZmRpcn0vd2F0Y2hkb2cuY29uZgorfQorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3dhdGNoZG9nL3dhdGNoZG9nLWNvbmZpZy93YXRjaGRvZy5jb25mIGIvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC93YXRjaGRvZy93YXRjaGRvZy1jb25maWcvd2F0Y2hkb2cuY29uZgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jNDkzZDEyCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC93YXRjaGRvZy93YXRjaGRvZy1jb25maWcvd2F0Y2hkb2cuY29uZgpAQCAtMCwwICsxLDQyIEBACisjcGluZwkJCT0gMTcyLjMxLjE0LjEKKyNwaW5nCQkJPSAxNzIuMjYuMS4yNTUKKyNpbnRlcmZhY2UJCT0gZXRoMAorI2ZpbGUJCQk9IC92YXIvbG9nL21lc3NhZ2VzCisjY2hhbmdlCQkJPSAxNDA3CisKKyMgVW5jb21tZW50IHRvIGVuYWJsZSB0ZXN0LiBTZXR0aW5nIG9uZSBvZiB0aGVzZSB2YWx1ZXMgdG8gJzAnIGRpc2FibGVzIGl0LgorIyBUaGVzZSB2YWx1ZXMgd2lsbCBob3BlZnVsbHkgbmV2ZXIgcmVib290IHlvdXIgbWFjaGluZSBkdXJpbmcgbm9ybWFsIHVzZQorIyAoaWYgeW91ciBtYWNoaW5lIGlzIHJlYWxseSBodW5nLCB0aGUgbG9hZGF2ZyB3aWxsIGdvIG11Y2ggaGlnaGVyIHRoYW4gMjUpCisjbWF4LWxvYWQtMQkJPSAyNAorI21heC1sb2FkLTUJCT0gMTgKKyNtYXgtbG9hZC0xNQkJPSAxMgorCisjIE5vdGUgdGhhdCB0aGlzIGlzIHRoZSBudW1iZXIgb2YgcGFnZXMhCisjIFRvIGdldCB0aGUgcmVhbCBzaXplLCBjaGVjayBob3cgbGFyZ2UgdGhlIHBhZ2VzaXplIGlzIG9uIHlvdXIgbWFjaGluZS4KKyNtaW4tbWVtb3J5CQk9IDEKKworI3JlcGFpci1iaW5hcnkJCT0gL3Vzci9zYmluL3JlcGFpcgorI3JlcGFpci10aW1lb3V0CQk9IAorI3Rlc3QtYmluYXJ5CQk9IAorI3Rlc3QtdGltZW91dAkJPSAKKword2F0Y2hkb2ctZGV2aWNlCT0gL2Rldi93YXRjaGRvZworCisjIERlZmF1bHRzIGNvbXBpbGVkIGludG8gdGhlIGJpbmFyeQorI3RlbXBlcmF0dXJlLWRldmljZQk9CisjbWF4LXRlbXBlcmF0dXJlCT0gMTIwCisKKyMgRGVmYXVsdHMgY29tcGlsZWQgaW50byB0aGUgYmluYXJ5CisjYWRtaW4JCQk9IHJvb3QKKyNpbnRlcnZhbAkJPSAxCisjbG9ndGljayAgICAgICAgICAgICAgICA9IDEKKyNsb2ctZGlyCQk9IC92YXIvbG9nL3dhdGNoZG9nCisKKyMgVGhpcyBncmVhdGx5IGRlY3JlYXNlcyB0aGUgY2hhbmNlIHRoYXQgd2F0Y2hkb2cgd29uJ3QgYmUgc2NoZWR1bGVkIGJlZm9yZQorIyB5b3VyIG1hY2hpbmUgaXMgcmVhbGx5IGxvYWRlZAorcmVhbHRpbWUJCT0geWVzCitwcmlvcml0eQkJPSAxCisKKyMgQ2hlY2sgaWYgcnN5c2xvZ2QgaXMgc3RpbGwgcnVubmluZyBieSBlbmFibGluZyB0aGUgZm9sbG93aW5nIGxpbmUKKyNwaWRmaWxlCQk9IC92YXIvcnVuL3JzeXNsb2dkLnBpZCAgIAorCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3dhdGNoZG9nL3dhdGNoZG9nLWNvbmZpZy93YXRjaGRvZy5kZWZhdWx0IGIvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC93YXRjaGRvZy93YXRjaGRvZy1jb25maWcvd2F0Y2hkb2cuZGVmYXVsdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42NDdkNWFiCi0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC93YXRjaGRvZy93YXRjaGRvZy1jb25maWcvd2F0Y2hkb2cuZGVmYXVsdApAQCAtMCwwICsxLDIgQEAKKyMgU3RhcnQgd2F0Y2hkb2cgYXQgYm9vdCB0aW1lPyAwIG9yIDEKK3J1bl93YXRjaGRvZz0xCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3dhdGNoZG9nL3dhdGNoZG9nLzAwMDEtRml4LWJ1aWxkLWlzc3Vlcy1mb3VuZC13aXRoLW5vbi1nbGliYy1DLWxpYnJhcmllcy5wYXRjaCBiL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvd2F0Y2hkb2cvd2F0Y2hkb2cvMDAwMS1GaXgtYnVpbGQtaXNzdWVzLWZvdW5kLXdpdGgtbm9uLWdsaWJjLUMtbGlicmFyaWVzLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4YWZlZDVjLi4wMDAwMDAwCi0tLSBhL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvd2F0Y2hkb2cvd2F0Y2hkb2cvMDAwMS1GaXgtYnVpbGQtaXNzdWVzLWZvdW5kLXdpdGgtbm9uLWdsaWJjLUMtbGlicmFyaWVzLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsOTkgKzAsMCBAQAotRnJvbSA4M2VjMzRkZjM1NzIxOGExYzljZmMxM2EyM2QzMzY3ZDMzMzY1MmMzIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KLURhdGU6IFdlZCwgMzAgRGVjIDIwMTUgMDE6MDE6MTUgKzAwMDAKLVN1YmplY3Q6IFtQQVRDSF0gRml4IGJ1aWxkIGlzc3VlcyBmb3VuZCB3aXRoIG5vbiBnbGliYyBDIGxpYnJhcmllcwotCi1BZGQgdGltZS5oIGZvciBnZXR0aW5nIHRpbWVfdCBkZWZpbml0aW9uCi1saW1pdHMuaCBmb3IgUEFUSF9NQVgKLWxpbnV4L3BhcmFtLmggZm9yIEVYRUNfUEFHRVNJWkUKLVJlcGxhY2UgZGVwcmVjYXRlZCBNTlRUQUIgd2l0aCBfUEFUSF9NTlRUQUIKLWluY2x1ZGUgZXh0Ml9tbnQuaCBmb3IgTU5UT1BUX1VTUlFVT1RBIGFuZCBNTlRPUFRfR1JQUVVPVEEgYW5kCi1NTlRUWVBFX0VYVDIKLUluY2x1ZGUgc3lzL3R5cGVzLmggZm9yIHVfY2hhciBkZWZpbml0aW9uCi0KLVNpZ25lZC1vZmYtYnk6IEtoZW0gUmFqIDxyYWoua2hlbUBnbWFpbC5jb20+Ci0tLS0KLQotVXBzdHJlYW0tU3RhdHVzOiBTdWJtaXR0ZWQKLQotIGluY2x1ZGUvZXh0ZXJuLmggfCAxICsKLSBzcmMvY29uZmlnZmlsZS5jIHwgMSArCi0gc3JjL21lbW9yeS5jICAgICB8IDMgKysrCi0gc3JjL25ldC5jICAgICAgICB8IDEgKwotIHNyYy9zaHV0ZG93bi5jICAgfCAzICsrLQotIDUgZmlsZXMgY2hhbmdlZCwgOCBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCi0KLWRpZmYgLS1naXQgYS9pbmNsdWRlL2V4dGVybi5oIGIvaW5jbHVkZS9leHRlcm4uaAotaW5kZXggMjFkYjExYi4uMDRiMTZiYyAxMDA2NDQKLS0tLSBhL2luY2x1ZGUvZXh0ZXJuLmgKLSsrKyBiL2luY2x1ZGUvZXh0ZXJuLmgKLUBAIC0zLDYgKzMsNyBAQAotIAotICNpbmNsdWRlIDxuZXRpbmV0L2luLmg+Ci0gI2luY2x1ZGUgPHN0ZGlvLmg+Ci0rI2luY2x1ZGUgPHRpbWUuaD4KLSAKLSAjaW5jbHVkZSAibG9nbWVzc2FnZS5oIgotICNpbmNsdWRlICJ4bWFsbG9jLmgiCi1kaWZmIC0tZ2l0IGEvc3JjL2NvbmZpZ2ZpbGUuYyBiL3NyYy9jb25maWdmaWxlLmMKLWluZGV4IGJlNWQ3YjMuLjdjMWQxZGQgMTAwNjQ0Ci0tLS0gYS9zcmMvY29uZmlnZmlsZS5jCi0rKysgYi9zcmMvY29uZmlnZmlsZS5jCi1AQCAtMTYsNiArMTYsNyBAQAotICNpbmNsdWRlIDxlcnJuby5oPgotICNpbmNsdWRlIDxzdHJpbmcuaD4KLSAjaW5jbHVkZSA8ZGlyZW50Lmg+Ci0rI2luY2x1ZGUgPGxpbWl0cy5oPgotICNpbmNsdWRlIDxzeXMvc3RhdC5oPgotIAotICNpbmNsdWRlICJleHRlcm4uaCIKLWRpZmYgLS1naXQgYS9zcmMvbWVtb3J5LmMgYi9zcmMvbWVtb3J5LmMKLWluZGV4IGU5NjA3ZTQuLmI1ZTA4YWEgMTAwNjQ0Ci0tLS0gYS9zcmMvbWVtb3J5LmMKLSsrKyBiL3NyYy9tZW1vcnkuYwotQEAgLTIxLDYgKzIxLDkgQEAKLSAjaW5jbHVkZSA8c3lzL3N0YXQuaD4KLSAjaW5jbHVkZSA8c3lzL3BhcmFtLmg+Ci0gI2luY2x1ZGUgPHN5cy9tbWFuLmg+Ci0rI2lmZGVmIF9fbGludXhfXwotKyNpbmNsdWRlIDxsaW51eC9wYXJhbS5oPgotKyNlbmRpZgotIAotICNpbmNsdWRlICJleHRlcm4uaCIKLSAjaW5jbHVkZSAid2F0Y2hfZXJyLmgiCi1kaWZmIC0tZ2l0IGEvc3JjL25ldC5jIGIvc3JjL25ldC5jCi1pbmRleCAyMTgyM2FlLi44OTMwY2FmIDEwMDY0NAotLS0tIGEvc3JjL25ldC5jCi0rKysgYi9zcmMvbmV0LmMKLUBAIC0xNyw2ICsxNyw3IEBACi0gI2luY2x1ZGUgPHN0cmluZy5oPgotICNpbmNsdWRlIDx1bmlzdGQuaD4JCS8qIGZvciBnZXRob3N0bmFtZSgpIGV0YyAqLwotICNpbmNsdWRlIDxuZXRkYi5oPgkJLyogZm9yIGdldGhvc3RieW5hbWUoKSAqLwotKyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KLSAjaW5jbHVkZSA8c3lzL3BhcmFtLmg+CS8qIGZvciBNQVhIT1NUTkFNRUxFTiAqLwotICNpbmNsdWRlIDxzeXMvc29ja2V0Lmg+Ci0gI2luY2x1ZGUgPG5ldGluZXQvaW4uaD4KLWRpZmYgLS1naXQgYS9zcmMvc2h1dGRvd24uYyBiL3NyYy9zaHV0ZG93bi5jCi1pbmRleCA3NGFhZmE1Li40NmI5OWNmIDEwMDY0NAotLS0tIGEvc3JjL3NodXRkb3duLmMKLSsrKyBiL3NyYy9zaHV0ZG93bi5jCi1AQCAtMjUsNiArMjUsNyBAQAotIAotICNpbmNsdWRlICJ3YXRjaF9lcnIuaCIKLSAjaW5jbHVkZSAiZXh0ZXJuLmgiCi0rI2luY2x1ZGUgImV4dDJfbW50LmgiCi0gCi0gI2lmIGRlZmluZWQgX19HTElCQ19fCi0gI2luY2x1ZGUgImV4dDJfbW50LmgiCi1AQCAtMTIzLDcgKzEyNCw3IEBAIHN0YXRpYyB2b2lkIG1udF9vZmYoKQotIAlGSUxFICpmcDsKLSAJc3RydWN0IG1udGVudCAqbW50OwotIAotLQlmcCA9IHNldG1udGVudChNTlRUQUIsICJyIik7Ci0rCWZwID0gc2V0bW50ZW50KF9QQVRIX01OVFRBQiwgInIiKTsKLSAJLyogaW4gc29tZSByYXJlIGNhc2VzIGZwIG1pZ2h0IGJlIE5VTEwgc28gYmUgY2FyZWZ1bCAqLwotIAl3aGlsZSAoZnAgIT0gTlVMTCAmJiAoKG1udCA9IGdldG1udGVudChmcCkpICE9IChzdHJ1Y3QgbW50ZW50ICopMCkpIHsKLSAJCS8qIEZpcnN0IGNoZWNrIGlmIHN3YXAgKi8KLS0tIAotMi42LjQKLQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC93YXRjaGRvZy93YXRjaGRvZy8wMDAxLUluY2x1ZGUtbGludXgtcGFyYW0uaC1mb3ItRVhFQ19QQUdFU0laRS1kZWZpbml0aW9uLnBhdGNoIGIvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC93YXRjaGRvZy93YXRjaGRvZy8wMDAxLUluY2x1ZGUtbGludXgtcGFyYW0uaC1mb3ItRVhFQ19QQUdFU0laRS1kZWZpbml0aW9uLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE5OGYxOTgKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3dhdGNoZG9nL3dhdGNoZG9nLzAwMDEtSW5jbHVkZS1saW51eC1wYXJhbS5oLWZvci1FWEVDX1BBR0VTSVpFLWRlZmluaXRpb24ucGF0Y2gKQEAgLTAsMCArMSwzMiBAQAorRnJvbSA4ZjkxMzg1ZGJkNWU3YzE0YjM2ZWNiZDhhMDFjYTgyYzcwOWY2ZDc3IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KK0RhdGU6IEZyaSwgMjQgSnVuIDIwMTYgMTg6MTk6MjkgKzAwMDAKK1N1YmplY3Q6IFtQQVRDSF0gSW5jbHVkZSBsaW51eC9wYXJhbS5oIGZvciBFWEVDX1BBR0VTSVpFIGRlZmluaXRpb24KKworTXVzbCBkb2VzIG5vdCBpbmNsdWRlIGxpbnV4L3BhcmFtLmggd2hlcmVhcyBnbGliYworZG9lcywgc28gaXQgZmFpbHMgdG8gYnVpbGQgb24gbXVzbC4KKworU2lnbmVkLW9mZi1ieTogS2hlbSBSYWogPHJhai5raGVtQGdtYWlsLmNvbT4KKy0tLQorVXBzdHJlYW0tU3RhdHVzOiBTdWJtaXR0ZWQKKworIHNyYy93YXRjaGRvZy5jIHwgMyArKysKKyAxIGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspCisKK2RpZmYgLS1naXQgYS9zcmMvd2F0Y2hkb2cuYyBiL3NyYy93YXRjaGRvZy5jCitpbmRleCBhY2Y2NDUwLi40ODYzODRhIDEwMDY0NAorLS0tIGEvc3JjL3dhdGNoZG9nLmMKKysrKyBiL3NyYy93YXRjaGRvZy5jCitAQCAtMjYsNiArMjYsOSBAQAorICNpbmNsdWRlIDxzeXMvcGFyYW0uaD4JCS8qIEZvciBFWEVDX1BBR0VTSVpFICovCisgI2luY2x1ZGUgPGxpbnV4L29vbS5oPgorICNpbmNsdWRlIDxsaW51eC93YXRjaGRvZy5oPgorKyNpZmRlZiBfX2xpbnV4X18KKysjaW5jbHVkZSA8bGludXgvcGFyYW0uaD4KKysjZW5kaWYKKyAjaW5jbHVkZSA8c3RyaW5nLmg+CisgCisgI2luY2x1ZGUgPGxpYmdlbi5oPgorLS0gCisxLjguMy4xCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvd2F0Y2hkb2cvd2F0Y2hkb2cvZml4LXBpbmctZmFpbHVyZS5wYXRjaCBiL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvd2F0Y2hkb2cvd2F0Y2hkb2cvZml4LXBpbmctZmFpbHVyZS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMTRhYjljNS4uMDAwMDAwMAotLS0gYS9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3dhdGNoZG9nL3dhdGNoZG9nL2ZpeC1waW5nLWZhaWx1cmUucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw3OSArMCwwIEBACi1GaXggcGluZyBtb2RlIGZhaWx1cmUKLQotVXBzdHJlYW0tU3RhdHVzOiBQZW5kaW5nICAKLQotV2hlbiB3YXRjaGRvZyB3b3JrcyBvbiBwaW5nIG1vZGUsIHRoZSBzeXN0ZW0gd2lsbCBiZSByZWJvb3RlZCBzaW5jZQotd2F0Y2hkb2cgY2FuIG5vdCByZWNlaXZlIHRoZSBleHBlY3RlZCBFQ09SRVBMWSBvbiBhIHNldHRpbmcgaW50ZXJ2YWwuCi0KLVBpbmcgbW9kZSB1c2VzIGEgcmF3IHNvY2tldCB0byBzZW5kIGEgRUNPIHBhY2tldCwgdGhlbiB1c2VzIHNlbGVjdCgpCi10byB3YWl0IGFuZCByZWN2ZnJvbSgpIHRvIHJlY2VpdmUgdGhlIEVDT1JFUExZIHBhY2tldCwgaWYgc2VsZWN0KCkKLXNob3dzIHRoZSBkYXRhIGlzIHJlYWR5LCBhbmQgdGhlIGRhdGEgaXMgbm90IHRoZSBleHBlY3RlZCBFQ09SRVBMWSwKLWFuZCB3YWl0aW5nIHRpbWUgaXMgbm90IG92ZXJkdWUsIGl0IHdpbGwgY29udGludWUgdXNlIHNlbGVjdCgpIGFuZAotcmVjdmZyb20oKS4KLQotUHJvYmxlbSBpcyB0aGF0IHRoZSByYXcgc29ja2V0IGNhbiByZWNlaXZlIGFueSBpY21wIHBhY2tldHMsIGlmIHdlIGRvCi1ub3Qgc2V0IGZpbHRlcnMsIGFuZCB0aGVyZSBhcmUgbWFueSBpY21wIHBhY2tldHMgb24gc29ja2V0LCB0aGlzCi1wcm9ncmFtIHdpbGwgbm90IGZpbmQgaXRzIGludGVyZXN0ZWQgRUNPUkVQTFkgcGFja2V0IGluIGEgc3BlY2lhbAotaW50ZXJ2YWwsIHdoaWNoIG1ha2VzIHRoZSBwaW5nIG1vZGUgZmFpbC4KLQotCi1PdGhlciBwcm9ncmFtIGlzIHRoYXQgd2F0Y2hkb2cgc29tZXRpbWUgY2FuIG5vdCByZWFjaCB0aGUgY2FsbCBvZgotcmVjdmZyb20gdG8gdHJ5IHRvIHJlY2VpdmUgcGFja2V0cyBzaW5jZSB0dl9zZWMgb2Ygc3RydWN0IHRpbWV2YWwKLW9mIHNlbGVjdCBwYXJhbWV0ZXIgaXMgMC4KLQotVGhlIHRpbWVvdXQgb2Ygc2VsZWN0KCkgaXMgdGhlIHJlc3VsdCBvZiBwaW5nIGludGVydmFsIG1pbnVzaW5nIHRoZQotdGltZSBvZiBjYWxsaW5nIGdldHRpbWVvZmRheSBzcGVuZGluZywgd2hlbiBwaW5nIGludGVydmFsIGlzIDEgc2Vjb25kLAotYW5kIHRoZSBjYWxsIG9mIGdldHRpbWVvZmRheSgpIHNwZW5kcyBzZXZlcmFsIHVzZWNvbmRzLCB0aGUgdHZfc2VjIG9mCi1zdHJ1Y3QgdGltZXZhbCBvZiBzZWxlY3QgcGFyYW1ldGVyIG11c3QgYmUgMCwgYXQgdGhhdCBjb25kaXRpb24sIHdlCi1zaG91bGQgaXQgaXMgdmFsaWQgb2YgdHZfc2VjIG9mIHN0cnVjdCB0aW1ldmFsIG9mIHNlbGVjdCBwYXJhbWV0ZXIgYmUgMCAKLQotU2lnbmVkLW9mZi1ieTogUm95LkxpIDxyb25ncWluZy5saUB3aW5kcml2ZXIuY29tPgotLS0tCi0gc3JjL25ldC5jICAgICAgfCAgICAyICstCi0gc3JjL3dhdGNoZG9nLmMgfCAgICA1ICsrKystCi0gMiBmaWxlcyBjaGFuZ2VkLCA1IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCi0KLUluZGV4OiB3YXRjaGRvZy01LjE0L3NyYy93YXRjaGRvZy5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gd2F0Y2hkb2ctNS4xNC5vcmlnL3NyYy93YXRjaGRvZy5jCi0rKysgd2F0Y2hkb2ctNS4xNC9zcmMvd2F0Y2hkb2cuYwotQEAgLTI0LDYgKzI0LDcgQEAKLSAjaW5jbHVkZSA8c3lzL3R5cGVzLmg+Ci0gI2luY2x1ZGUgPHN5cy9pb2N0bC5oPgotICNpbmNsdWRlIDxsaW51eC9vb20uaD4KLSsjaW5jbHVkZSA8bGludXgvaWNtcC5oPgotICNpbmNsdWRlIDxsaW51eC93YXRjaGRvZy5oPgotICNpbmNsdWRlIDxzdHJpbmcuaD4KLSAKLUluZGV4OiB3YXRjaGRvZy01LjE0L3NyYy9uZXQuYwotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIHdhdGNoZG9nLTUuMTQub3JpZy9zcmMvbmV0LmMKLSsrKyB3YXRjaGRvZy01LjE0L3NyYy9uZXQuYwotQEAgLTExLDcgKzExLDggQEAKLSAjaW5jbHVkZSA8ZXJybm8uaD4KLSAjaW5jbHVkZSA8c3lzL3RpbWUuaD4KLSAjaW5jbHVkZSA8bmV0aW5ldC9pcC5oPgotLSNpbmNsdWRlIDxuZXRpbmV0L2lwX2ljbXAuaD4KLSsjaW5jbHVkZSA8bGludXgvaWNtcC5oPgotKy8vI2luY2x1ZGUgPG5ldGluZXQvaXBfaWNtcC5oPgotICNpbmNsdWRlIDxmY250bC5oPgotICNpbmNsdWRlIDxzdHJpbmcuaD4KLSAjaW5jbHVkZSA8dW5pc3RkLmg+CQkvKiBmb3IgZ2V0aG9zdG5hbWUoKSBldGMgKi8KLUBAIC0xNzksNiArMTgwLDkgQEAgaW50IG9wZW5fbmV0Y2hlY2soc3RydWN0IGxpc3QgKnRsaXN0KQotIHsKLSAJc3RydWN0IGxpc3QgKmFjdDsKLSAJaW50IGhvbGQgPSAwOwotKwlzdHJ1Y3QgaWNtcF9maWx0ZXIgZmlsdDsKLSsJZmlsdC5kYXRhID0gfigxPDxJQ01QX0VDSE9SRVBMWSk7Ci0rCi0gCi0gCWlmICh0bGlzdCAhPSBOVUxMKSB7Ci0gCQlmb3IgKGFjdCA9IHRsaXN0OyBhY3QgIT0gTlVMTDsgYWN0ID0gYWN0LT5uZXh0KSB7Ci1AQCAtMjAyLDYgKzIwNiw3IEBAIGludCBvcGVuX25ldGNoZWNrKHN0cnVjdCBsaXN0ICp0bGlzdCkKLSAJCQkgICAgZmF0YWxfZXJyb3IoRVhfU1lTRVJSLCAiZXJyb3Igb3BlbmluZyBzb2NrZXQgKCVzKSIsIHN0cmVycm9yKGVycm5vKSk7Ci0gCQkJfQotIAotKwkJCXNldHNvY2tvcHQobmV0LT5zb2NrX2ZwLCBTT0xfUkFXLCBJQ01QX0ZJTFRFUiwgKGNoYXIqKSZmaWx0LCBzaXplb2YoZmlsdCkpOwotIAkJCS8qIHRoaXMgaXMgbmVjZXNzYXJ5IGZvciBicm9hZGNhc3QgcGluZ3MgdG8gd29yayAqLwotIAkJCSh2b2lkKXNldHNvY2tvcHQobmV0LT5zb2NrX2ZwLCBTT0xfU09DS0VULCBTT19CUk9BRENBU1QsIChjaGFyICopJmhvbGQsIHNpemVvZihob2xkKSk7Ci0gCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3dhdGNoZG9nL3dhdGNoZG9nL2ZpeHNlcGJ1aWxkLnBhdGNoIGIvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC93YXRjaGRvZy93YXRjaGRvZy9maXhzZXBidWlsZC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMmZhZDNhMS4uMDAwMDAwMAotLS0gYS9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3dhdGNoZG9nL3dhdGNoZG9nL2ZpeHNlcGJ1aWxkLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMjcgKzAsMCBAQAotRml4IG91dCBvZiB0cmVlIGJ1aWxkIHN1cHBvcnQ6Ci0KLXwgaW5zdGFsbGluZyAvZXRjL3dhdGNoZG9nLmNvbmYKLXwgIC9iaW4vbWtkaXIgLXAgJy9tZWRpYS9idWlsZDEvcG9reS9idWlsZC90bXAvd29yay9pNTg2LXBva3ktbGludXgvd2F0Y2hkb2cvNS4xMy1yMC9pbWFnZS91c3Ivc2hhcmUvbWFuL21hbjUnCi18ICAvYmluL21rZGlyIC1wICcvbWVkaWEvYnVpbGQxL3Bva3kvYnVpbGQvdG1wL3dvcmsvaTU4Ni1wb2t5LWxpbnV4L3dhdGNoZG9nLzUuMTMtcjAvaW1hZ2UvdXNyL3NoYXJlL21hbi9tYW44JwotfCAgL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgL21lZGlhL2J1aWxkMS9wb2t5L2J1aWxkL3RtcC93b3JrL2k1ODYtcG9reS1saW51eC93YXRjaGRvZy81LjEzLXIwL3dhdGNoZG9nLTUuMTMvd2F0Y2hkb2cuY29uZi41ICcvbWVkaWEvYnVpbGQxL3Bva3kvYnVpbGQvdG1wL3dvcmsvaTU4Ni1wb2t5LWxpbnV4L3dhdGNoZG9nLzUuMTMtcjAvaW1hZ2UvdXNyL3NoYXJlL21hbi9tYW41JwotfCAgL3Vzci9iaW4vaW5zdGFsbCAtYyAtbSA2NDQgL21lZGlhL2J1aWxkMS9wb2t5L2J1aWxkL3RtcC93b3JrL2k1ODYtcG9reS1saW51eC93YXRjaGRvZy81LjEzLXIwL3dhdGNoZG9nLTUuMTMvd2F0Y2hkb2cuOCAvbWVkaWEvYnVpbGQxL3Bva3kvYnVpbGQvdG1wL3dvcmsvaTU4Ni1wb2t5LWxpbnV4L3dhdGNoZG9nLzUuMTMtcjAvd2F0Y2hkb2ctNS4xMy93ZF9rZWVwYWxpdmUuOCAvbWVkaWEvYnVpbGQxL3Bva3kvYnVpbGQvdG1wL3dvcmsvaTU4Ni1wb2t5LWxpbnV4L3dhdGNoZG9nLzUuMTMtcjAvd2F0Y2hkb2ctNS4xMy93ZF9pZGVudGlmeS44ICcvbWVkaWEvYnVpbGQxL3Bva3kvYnVpbGQvdG1wL3dvcmsvaTU4Ni1wb2t5LWxpbnV4L3dhdGNoZG9nLzUuMTMtcjAvaW1hZ2UvdXNyL3NoYXJlL21hbi9tYW44JwotfCAvdXNyL2Jpbi9pbnN0YWxsOiBjYW5ub3Qgc3RhdCBgd2F0Y2hkb2cuY29uZic6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKLXwgbWFrZVsyXTogKioqIFtpbnN0YWxsLWV0Yy1sb2NhbF0gRXJyb3IgMQotCi1VcHN0cmVhbS1TdGF0dXM6IFBlbmRpbmcKLQotUlAgMjAxMy8wMy8yMQotCi1JbmRleDogd2F0Y2hkb2ctNS4xMy9NYWtlZmlsZS5hbQotPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIHdhdGNoZG9nLTUuMTMub3JpZy9NYWtlZmlsZS5hbQkyMDEzLTAyLTAxIDExOjE1OjQ0LjAwMDAwMDAwMCArMDAwMAotKysrIHdhdGNoZG9nLTUuMTMvTWFrZWZpbGUuYW0JMjAxMy0wMy0yMSAxMTo1OTozNS42MzcxMzkwMzEgKzAwMDAKLUBAIC0xNiw3ICsxNiw3IEBACi0gCWVsc2UgXAotIAkgICAgICAgIGVjaG8gImluc3RhbGxpbmcgJChDT05GSUdfRklMRU5BTUUpIjsgXAotIAkJJChta2luc3RhbGxkaXJzKSBgZGlybmFtZSAkKERFU1RESVIpJChDT05GSUdfRklMRU5BTUUpYDsgXAotLQkgICAgICAgICQoSU5TVEFMTF9EQVRBKSB3YXRjaGRvZy5jb25mICQoREVTVERJUikkKENPTkZJR19GSUxFTkFNRSk7IFwKLSsJICAgICAgICAkKElOU1RBTExfREFUQSkgJChzcmNkaXIpL3dhdGNoZG9nLmNvbmYgJChERVNURElSKSQoQ09ORklHX0ZJTEVOQU1FKTsgXAotIAlmaQotIAotIGluc3RhbGwtZGF0YS1sb2NhbDogaW5zdGFsbC1ldGMtbG9jYWwKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvd2F0Y2hkb2cvd2F0Y2hkb2cvd2Rfa2VlcGFsaXZlLmluaXQgYi9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3dhdGNoZG9nL3dhdGNoZG9nL3dkX2tlZXBhbGl2ZS5pbml0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFkM2U0YzUKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3dhdGNoZG9nL3dhdGNoZG9nL3dkX2tlZXBhbGl2ZS5pbml0CkBAIC0wLDAgKzEsMTIxIEBACisjIS9iaW4vc2gKKyMvZXRjL2luaXQuZC93ZF9rZWVwYWxpdmU6IHN0YXJ0IHdkX2tlZXBhbGl2ZSBkYWVtb24uCisKKyMjIyBCRUdJTiBJTklUIElORk8KKyMgUHJvdmlkZXM6ICAgICAgICAgIHdkX2tlZXBhbGl2ZQorIyBTaG9ydC1EZXNjcmlwdGlvbjogU3RhcnQgd2F0Y2hkb2cga2VlcGFsaXZlIGRhZW1vbgorIyBSZXF1aXJlZC1TdGFydDogICAgJHJlbW90ZV9mcworIyBSZXF1aXJlZC1TdG9wOiAgICAgJHJlbW90ZV9mcworIyBYLVN0YXJ0LUJlZm9yZTogICAgJGFsbAorIyBEZWZhdWx0LVN0YXJ0OiAgICAgMiAzIDQgNQorIyBEZWZhdWx0LVN0b3AKKyMjIyBFTkQgSU5JVCBJTkZPCisKK1BBVEg9L2JpbjovdXNyL2Jpbjovc2JpbjovdXNyL3NiaW4KKwordGVzdCAteCAvdXNyL3NiaW4vd2Rfa2VlcGFsaXZlIHx8IGV4aXQgMAorCisjIEZvciBjb25maWd1cmF0aW9uIG9mIHRoZSBpbml0IHNjcmlwdCB1c2UgdGhlIGZpbGUKKyMgL2V0Yy9kZWZhdWx0L3dhdGNoZG9nLCBkbyBub3QgZWRpdCB0aGlzIGluaXQgc2NyaXB0LgorCisjIFNldCBydW5fd2F0Y2hkb2cgdG8gMSB0byBzdGFydCB3YXRjaGRvZyBvciAwIHRvIGRpc2FibGUgaXQuCitydW5fd2F0Y2hkb2c9MAorCisjIFNwZWNpZnkgYWRkaXRpb25hbCB3YXRjaGRvZyBvcHRpb25zIGhlcmUgKHNlZSBtYW5wYWdlKS4KK3dhdGNoZG9nX29wdGlvbnM9IiIKKworIyBTcGVjaWZ5IG1vZHVsZSB0byBsb2FkCit3YXRjaGRvZ19tb2R1bGU9Im5vbmUiCisKK1sgLWUgL2V0Yy9kZWZhdWx0L3dhdGNoZG9nIF0gJiYgLiAvZXRjL2RlZmF1bHQvd2F0Y2hkb2cKKworTkFNRT13ZF9rZWVwYWxpdmUKK0RBRU1PTj0vdXNyL3NiaW4vd2Rfa2VlcGFsaXZlCisKK1NUT1BfUkVUUllfU0NIRURVTEU9J1RFUk0vMTAvZm9yZXZlci9LSUxMLzEnCisKKyMgLiAvbGliL2xzYi9pbml0LWZ1bmN0aW9ucworCisjIE1vY2sgRGViaWFuIHN0dWZmCitsb2dfYmVnaW5fbXNnKCkgeworICAgIGVjaG8gLW4gJCoKK30KKworbG9nX2VuZF9tc2coKSB7CisgICAgaWYgWyAiJDEiID0gIjAiIF07IHRoZW4KKyAgICAgICAgZWNobyAnZG9uZScKKyAgICBlbHNlCisgICAgICAgIGVjaG8gJ2Vycm9yJworICAgIGZpCit9CisKK2xvZ19kYWVtb25fbXNnKCkgeworICAgIGVjaG8gJCoKK30KKworbG9nX3Byb2dyZXNzX21zZygpIHsKKyAgICBlY2hvICQqCit9CisKKworY2FzZSAiJDEiIGluCisgIHN0YXJ0KQorICAgIGlmIFsgJHJ1bl93YXRjaGRvZyA9IDEgXQorICAgIHRoZW4KKyAgICAgICAgWyAke3dhdGNoZG9nX21vZHVsZTotbm9uZX0gIT0gIm5vbmUiIF0gJiYgL3NiaW4vbW9kcHJvYmUgJHdhdGNoZG9nX21vZHVsZQorCWVjaG8gLW4gIlN0YXJ0aW5nIHdhdGNoZG9nIGtlZXBhbGl2ZSBkYWVtb246ICIKKwlpZiBzdGFydC1zdG9wLWRhZW1vbiAtLXN0YXJ0IC0tcXVpZXQgXAorCSAgICAtLWV4ZWMgJERBRU1PTiAtLSAkd2F0Y2hkb2dfb3B0aW9ucworCXRoZW4KKwkgICAgZWNobyB3ZF9rZWVwYWxpdmUuCisJZWxzZQorCSAgICBlY2hvCisJZmkKKyAgICBmaQorICAgIDs7CisKKyAgc3RvcCkKKyAgICBpZiBbICRydW5fd2F0Y2hkb2cgPSAxIF0KKyAgICB0aGVuCisJZWNobyAtbiAiU3RvcHBpbmcgd2F0Y2hkb2cga2VlcGFsaXZlIGRhZW1vbjogIgorCWlmIHN0YXJ0LXN0b3AtZGFlbW9uIC0tc3RvcCAtLXF1aWV0IC0tcGlkZmlsZSAvdmFyL3J1bi8kTkFNRS5waWQgXAorCSAgICAkU1RPUF9SRVRSWV9TQ0hFRFVMRQorCXRoZW4KKwkgICAgZWNobyB3ZF9rZWVwYWxpdmUuCisJZWxzZQorCSAgICBlY2hvCisJZmkKKyAgICBmaQorICAgIDs7CisKKyAgc3RhdHVzKQorICAgIHN0YXR1c19vZl9wcm9jICIkREFFTU9OIiAiJE5BTUUiICYmIGV4aXQgMCB8fCBleGl0ICQ/CisgICAgOzsKKworICByZXN0YXJ0KQorICAgICQwIGZvcmNlLXJlbG9hZAorICAgIDs7CisKKyAgZm9yY2UtcmVsb2FkKQorICAgIGlmIFsgJHJ1bl93YXRjaGRvZyA9IDAgXTsgdGhlbiBleGl0IDA7IGZpCisgICAgZWNobyAtbiAiUmVzdGFydGluZyAkTkFNRSBkYWVtb24uIgorICAgIHN0YXJ0LXN0b3AtZGFlbW9uIC0tc3RvcCAtLXF1aWV0IC0tcGlkZmlsZSAvdmFyL3J1bi8kTkFNRS5waWQgXAorCSRTVE9QX1JFVFJZX1NDSEVEVUxFCisgICAgZWNobyAtbiAiLiIKKyAgICBpZiBzdGFydC1zdG9wLWRhZW1vbiAtLXN0YXJ0IC0tcXVpZXQgLS1waWRmaWxlIC92YXIvcnVuLyROQU1FLnBpZCBcCisJLS1leGVjICREQUVNT04gLS0gJHdhdGNoZG9nX29wdGlvbnMKKyAgICB0aGVuCisJZWNobyAiZG9uZS4iCisgICAgZWxzZQorCWVjaG8KKyAgICBmaQorICAgIDs7CisKKyAgKikKKyAgICBlY2hvICJVc2FnZTogL2V0Yy9pbml0LmQvd2Rfa2VlcGFsaXZlIHtzdGFydHxzdG9wfHN0YXR1c3xyZXN0YXJ0fGZvcmNlLXJlbG9hZH0iCisgICAgZXhpdCAxCisKK2VzYWMKKworZXhpdCAwCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvd2F0Y2hkb2cvd2F0Y2hkb2dfNS4xNC5iYiBiL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvd2F0Y2hkb2cvd2F0Y2hkb2dfNS4xNC5iYgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNzMzMDIzOC4uMDAwMDAwMAotLS0gYS9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3dhdGNoZG9nL3dhdGNoZG9nXzUuMTQuYmIKKysrIC9kZXYvbnVsbApAQCAtMSw0MCArMCwwIEBACi1TVU1NQVJZID0gIlNvZnR3YXJlIHdhdGNoZG9nIgotREVTQ1JJUFRJT04gPSAiV2F0Y2hkb2cgaXMgYSBkYWVtb24gdGhhdCBjaGVja3MgaWYgeW91ciBzeXN0ZW0gaXMgc3RpbGwgXAotd29ya2luZy4gSWYgcHJvZ3JhbXMgaW4gdXNlciBzcGFjZSBhcmUgbm90IGxvbmdlciBleGVjdXRlZCBcCi1pdCB3aWxsIHJlYm9vdCB0aGUgc3lzdGVtLiIKLUhPTUVQQUdFID0gImh0dHA6Ly93YXRjaGRvZy5zb3VyY2Vmb3JnZS5uZXQvIgotQlVHVFJBQ0tFUiA9ICJodHRwOi8vc291cmNlZm9yZ2UubmV0L3RyYWNrZXIvP2dyb3VwX2lkPTE3MjAzMCZhdGlkPTg2MDE5NCIKLQotTElDRU5TRSA9ICJHUEwtMi4wKyIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0NPUFlJTkc7bWQ1PWVjYzA1NTFiZjU0YWQ5N2Y2YjU0MTcyMGY4NGQ2NTY5IgotCi1TUkNfVVJJID0gIiR7U09VUkNFRk9SR0VfTUlSUk9SfS93YXRjaGRvZy93YXRjaGRvZy0ke1BWfS50YXIuZ3ogXAotICAgICAgICAgICBmaWxlOi8vZml4c2VwYnVpbGQucGF0Y2ggXAotCSAgIGZpbGU6Ly9maXgtcGluZy1mYWlsdXJlLnBhdGNoIFwKLQkgICBmaWxlOi8vd2F0Y2hkb2ctaW5pdC5wYXRjaCBcCi0JICAgZmlsZTovL3dhdGNoZG9nLWNvbmYucGF0Y2ggXAotCSAgIGZpbGU6Ly8wMDAxLUZpeC1idWlsZC1pc3N1ZXMtZm91bmQtd2l0aC1ub24tZ2xpYmMtQy1saWJyYXJpZXMucGF0Y2ggXAotIgotCi1TUkNfVVJJW21kNXN1bV0gPSAiNWIyZGJhMGM1OTM5NDJmNGFjYzEwMGJjYTBkNTYwYzQiCi1TUkNfVVJJW3NoYTI1NnN1bV0gPSAiNjIwYjJmNDllOTg3OWYyZTg1YzczZDRjMWY0MjJmOTEwMWU2YjM4ZTgyNGZlYTI0MTRiZWZkOGJiNjg2NmFkMSIKLQotVVBTVFJFQU1fQ0hFQ0tfVVJJID0gImh0dHA6Ly9zb3VyY2Vmb3JnZS5uZXQvcHJvamVjdHMvd2F0Y2hkb2cvZmlsZXMvd2F0Y2hkb2cvIgotVVBTVFJFQU1fQ0hFQ0tfUkVHRVggPSAiL3dhdGNoZG9nLyg/UDxwdmVyPihcZCtbXC5cLV9dKikrKS8iCi0KLWluaGVyaXQgYXV0b3Rvb2xzCi1pbmhlcml0IHVwZGF0ZS1yYy5kCi0KLURFUEVORFNfYXBwZW5kX2xpYmMtbXVzbCA9ICIgbGlidGlycGMgIgotQ0ZMQUdTX2FwcGVuZF9saWJjLW11c2wgPSAiIC1JJHtTVEFHSU5HX0lOQ0RJUn0vdGlycGMgIgotTERGTEFHU19hcHBlbmRfbGliYy1tdXNsID0gIiAtbHRpcnBjICIKLUVYVFJBX09FQ09ORl9hcHBlbmRfbGliYy1tdXNsID0gIiAtLWRpc2FibGUtbmZzICIKLQotSU5JVFNDUklQVF9OQU1FID0gIndhdGNoZG9nLnNoIgotSU5JVFNDUklQVF9QQVJBTVMgPSAic3RhcnQgMTUgMSAyIDMgNCA1IC4gc3RvcCA4NSAwIDYgLiIKLQotUlJFQ09NTUVORFNfJHtQTn0gPSAia2VybmVsLW1vZHVsZS1zb2Z0ZG9nIgotCi1kb19pbnN0YWxsX2FwcGVuZCgpIHsKLQlpbnN0YWxsIC1EICR7U30vcmVkaGF0L3dhdGNoZG9nLmluaXQgJHtEfS8ke3N5c2NvbmZkaXJ9L2luaXQuZC93YXRjaGRvZy5zaAotfQpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC93YXRjaGRvZy93YXRjaGRvZ181LjE1LmJiIGIvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC93YXRjaGRvZy93YXRjaGRvZ181LjE1LmJiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNlZGZjMDQKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3dhdGNoZG9nL3dhdGNoZG9nXzUuMTUuYmIKQEAgLTAsMCArMSw1OSBAQAorU1VNTUFSWSA9ICJTb2Z0d2FyZSB3YXRjaGRvZyIKK0RFU0NSSVBUSU9OID0gIldhdGNoZG9nIGlzIGEgZGFlbW9uIHRoYXQgY2hlY2tzIGlmIHlvdXIgc3lzdGVtIGlzIHN0aWxsIFwKK3dvcmtpbmcuIElmIHByb2dyYW1zIGluIHVzZXIgc3BhY2UgYXJlIG5vdCBsb25nZXIgZXhlY3V0ZWQgXAoraXQgd2lsbCByZWJvb3QgdGhlIHN5c3RlbS4iCitIT01FUEFHRSA9ICJodHRwOi8vd2F0Y2hkb2cuc291cmNlZm9yZ2UubmV0LyIKK0JVR1RSQUNLRVIgPSAiaHR0cDovL3NvdXJjZWZvcmdlLm5ldC90cmFja2VyLz9ncm91cF9pZD0xNzIwMzAmYXRpZD04NjAxOTQiCisKK0xJQ0VOU0UgPSAiR1BMLTIuMCsiCitMSUNfRklMRVNfQ0hLU1VNID0gImZpbGU6Ly9DT1BZSU5HO21kNT1lY2MwNTUxYmY1NGFkOTdmNmI1NDE3MjBmODRkNjU2OSIKKworU1JDX1VSSSA9ICIke1NPVVJDRUZPUkdFX01JUlJPUn0vd2F0Y2hkb2cvd2F0Y2hkb2ctJHtQVn0udGFyLmd6IFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtSW5jbHVkZS1saW51eC1wYXJhbS5oLWZvci1FWEVDX1BBR0VTSVpFLWRlZmluaXRpb24ucGF0Y2ggXAorICAgICAgICAgICBmaWxlOi8vd2F0Y2hkb2ctaW5pdC5wYXRjaCBcCisgICAgICAgICAgIGZpbGU6Ly93YXRjaGRvZy1jb25mLnBhdGNoIFwKKyAgICAgICAgICAgZmlsZTovL3dkX2tlZXBhbGl2ZS5pbml0IFwKKyIKKworU1JDX1VSSVttZDVzdW1dID0gIjY3OGMzMmY2ZjM1YTA0OTJjOWMxYjc2YjRhYTg4ODI4IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImZmZGM4NjUxMzdhZDVkOGU1MzY2NGJkMjJiYWQ0ZGU2Y2ExMzZkMWI0NjM2NzIwMzIwY2I1MmFmMGMxODk0N2MiCisKK1VQU1RSRUFNX0NIRUNLX1VSSSA9ICJodHRwOi8vc291cmNlZm9yZ2UubmV0L3Byb2plY3RzL3dhdGNoZG9nL2ZpbGVzL3dhdGNoZG9nLyIKK1VQU1RSRUFNX0NIRUNLX1JFR0VYID0gIi93YXRjaGRvZy8oP1A8cHZlcj4oXGQrW1wuXC1fXSopKykvIgorCitpbmhlcml0IGF1dG90b29scworaW5oZXJpdCB1cGRhdGUtcmMuZAorCitERVBFTkRTX2FwcGVuZF9saWJjLW11c2wgPSAiIGxpYnRpcnBjICIKK0NGTEFHU19hcHBlbmRfbGliYy1tdXNsID0gIiAtSSR7U1RBR0lOR19JTkNESVJ9L3RpcnBjICIKK0xERkxBR1NfYXBwZW5kX2xpYmMtbXVzbCA9ICIgLWx0aXJwYyAiCitFWFRSQV9PRUNPTkZfYXBwZW5kX2xpYmMtbXVzbCA9ICIgLS1kaXNhYmxlLW5mcyAiCisKK0lOSVRTQ1JJUFRfUEFDS0FHRVMgPSAiJHtQTn0gJHtQTn0ta2VlcGFsaXZlIgorCitJTklUU0NSSVBUX05BTUVfJHtQTn0gPSAid2F0Y2hkb2cuc2giCitJTklUU0NSSVBUX1BBUkFNU18ke1BOfSA9ICJzdGFydCAxNSAxIDIgMyA0IDUgLiBzdG9wIDg1IDAgNiAuIgorCitJTklUU0NSSVBUX05BTUVfJHtQTn0ta2VlcGFsaXZlID0gIndkX2tlZXBhbGl2ZSIKK0lOSVRTQ1JJUFRfUEFSQU1TXyR7UE59LWtlZXBhbGl2ZSA9ICJzdGFydCAxNSAxIDIgMyA0IDUgLiBzdG9wIDg1IDAgNiAuIgorCitkb19pbnN0YWxsX2FwcGVuZCgpIHsKKwlpbnN0YWxsIC1EICR7U30vcmVkaGF0L3dhdGNoZG9nLmluaXQgJHtEfS8ke3N5c2NvbmZkaXJ9L2luaXQuZC93YXRjaGRvZy5zaAorICAgIGluc3RhbGwgLURtIDA3NTUgJHtXT1JLRElSfS93ZF9rZWVwYWxpdmUuaW5pdCAke0R9JHtzeXNjb25mZGlyfS9pbml0LmQvd2Rfa2VlcGFsaXZlCisKKyAgICAjIHdhdGNoZG9nLmNvbmYgaXMgcHJvdmlkZWQgYnkgdGhlIHdhdGNoZG9nLWNvbmZpZyByZWNpcGUKKyAgICBybSAke0R9JHtzeXNjb25mZGlyfS93YXRjaGRvZy5jb25mCit9CisKK1BBQ0tBR0VTID0rICIke1BOfS1rZWVwYWxpdmUiCisKK0ZJTEVTXyR7UE59LWtlZXBhbGl2ZSA9ICIgXAorICAgICR7c3lzY29uZmRpcn0vaW5pdC5kL3dkX2tlZXBhbGl2ZSBcCisgICAgJHtzYmluZGlyfS93ZF9rZWVwYWxpdmUgXAorIgorCitSREVQRU5EU18ke1BOfSArPSAiJHtQTn0tY29uZmlnICR7UE59LWtlZXBhbGl2ZSIKK1JERVBFTkRTXyR7UE59LWtlZXBhbGl2ZSArPSAiJHtQTn0tY29uZmlnIgorCitSUkVDT01NRU5EU18ke1BOfSA9ICJrZXJuZWwtbW9kdWxlLXNvZnRkb2ciCisKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvd2dldC93Z2V0LmluYyBiL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvd2dldC93Z2V0LmluYwppbmRleCBkYzM4MWE2Li5jNGFiZmU0IDEwMDY0NAotLS0gYS9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3dnZXQvd2dldC5pbmMKKysrIGIvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC93Z2V0L3dnZXQuaW5jCkBAIC05LDcgKzksNyBAQAogCiBpbmhlcml0IGF1dG90b29scyBnZXR0ZXh0IHRleGluZm8gdXBkYXRlLWFsdGVybmF0aXZlcyBwa2djb25maWcKIAotRVhUUkFfT0VDT05GID0gIi0tZW5hYmxlLWlwdjYgLS13aXRoLXNzbD1nbnV0bHMgLS1kaXNhYmxlLXJwYXRoIC0tZGlzYWJsZS1pcmkgXAorRVhUUkFfT0VDT05GID0gIi0td2l0aC1zc2w9Z251dGxzIC0tZGlzYWJsZS1ycGF0aCAtLWRpc2FibGUtaXJpIFwKICAgICAgICAgICAgICAgICAtLXdpdGhvdXQtbGliZ251dGxzLXByZWZpeCBhY19jdl9oZWFkZXJfdXVpZF91dWlkX2g9bm8iCiAKIEFMVEVSTkFUSVZFXyR7UE59ID0gIndnZXQiCkBAIC0yMCw4ICsyMCw5IEBACiAKIEJCQ0xBU1NFWFRFTkQgKz0gIm5hdGl2ZXNkayIKIAotUEFDS0FHRUNPTkZJRyA/Pz0gIiIKK1BBQ0tBR0VDT05GSUcgPz89ICIke0BiYi51dGlscy5jb250YWlucygnRElTVFJPX0ZFQVRVUkVTJywgJ2lwdjYnLCAnaXB2NicsICcnLCBkKX0iCiBQQUNLQUdFQ09ORklHW2xpYnV1aWRdID0gIi0td2l0aC1saWJ1dWlkLCAtLXdpdGhvdXQtbGlidXVpZCx1dGlsLWxpbnV4IgorUEFDS0FHRUNPTkZJR1tpcHY2XSA9ICItLWVuYWJsZS1pcHY2LC0tZGlzYWJsZS1pcHY2LCIKIAogIyBMZXQgYWNsb2NhbCB1c2UgdGhlIHJlbGF0aXZlIHBhdGggZm9yIHRoZSBtNCBmaWxlIHJhdGhlciB0aGFuCiAjIGFic29sdXRlLCBvdGhlcndpc2UgdGhlcmUgbWlnaHQgYmUgYW4gIkFyZ3VtZW50IGxpc3QgdG9vIGxvbmciIGVycm9yCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3dnZXQvd2dldF8xLjE3LjEuYmIgYi9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3dnZXQvd2dldF8xLjE3LjEuYmIKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGRjYTVkMWYuLjAwMDAwMDAKLS0tIGEvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC93Z2V0L3dnZXRfMS4xNy4xLmJiCisrKyAvZGV2L251bGwKQEAgLTEsOCArMCwwIEBACi1TUkNfVVJJID0gIiR7R05VX01JUlJPUn0vd2dldC93Z2V0LSR7UFZ9LnRhci5neiBcCi0gICAgICAgICAgIGZpbGU6Ly8wMDAxLVVuc2V0LW5lZWRfY2hhcnNldF9hbGlhcy13aGVuLWJ1aWxkaW5nLWZvci1tdXNsLnBhdGNoIFwKLSAgICAgICAgICAiCi0KLVNSQ19VUklbbWQ1c3VtXSA9ICJhNmE5MDhjOWFlMGU2YTQxOTRjNjI4OTc0Y2MzZjA1YSIKLVNSQ19VUklbc2hhMjU2c3VtXSA9ICIwMjlmYmI5M2JkYzFjMGM1YTc1MDdiNjA3NmE2ZWMyZjhkMzQyMDRhODVhYTg3ZTViMmY2MWE5NDA1YjI5MGY1IgotCi1yZXF1aXJlIHdnZXQuaW5jCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3dnZXQvd2dldF8xLjE4LmJiIGIvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC93Z2V0L3dnZXRfMS4xOC5iYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jOTY5Yjk4Ci0tLSAvZGV2L251bGwKKysrIGIvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC93Z2V0L3dnZXRfMS4xOC5iYgpAQCAtMCwwICsxLDggQEAKK1NSQ19VUkkgPSAiJHtHTlVfTUlSUk9SfS93Z2V0L3dnZXQtJHtQVn0udGFyLmd6IFwKKyAgICAgICAgICAgZmlsZTovLzAwMDEtVW5zZXQtbmVlZF9jaGFyc2V0X2FsaWFzLXdoZW4tYnVpbGRpbmctZm9yLW11c2wucGF0Y2ggXAorICAgICAgICAgICIKKworU1JDX1VSSVttZDVzdW1dID0gImZjMmRlYmQ4Mzk5ZTNiOTMzYTliMjI2Nzk0ZTJhODg2IgorU1JDX1VSSVtzaGEyNTZzdW1dID0gImEwMGE2NWZhYjg0Y2M0NmUyNGM1M2NlODhjNDU2MDQ2NjhhN2E0NzkyNzZlMDM3ZGMyZjU1OGUzNDcxN2ZiMmQiCisKK3JlcXVpcmUgd2dldC5pbmMKZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvd2hpY2gvd2hpY2gtMi4xOC9maXhfbmFtZV9jb25mbGljdF9ncm91cF9tZW1iZXIucGF0Y2ggYi9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3doaWNoL3doaWNoLTIuMTgvZml4X25hbWVfY29uZmxpY3RfZ3JvdXBfbWVtYmVyLnBhdGNoCmluZGV4IGZiOWIxYTQuLjBlMDk4OGIgMTAwNjQ0Ci0tLSBhL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvd2hpY2gvd2hpY2gtMi4xOC9maXhfbmFtZV9jb25mbGljdF9ncm91cF9tZW1iZXIucGF0Y2gKKysrIGIvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC93aGljaC93aGljaC0yLjE4L2ZpeF9uYW1lX2NvbmZsaWN0X2dyb3VwX21lbWJlci5wYXRjaApAQCAtMyw3ICszLDcgQEAKICMgZ2xpYmMgYWxzbyBpbXBsZW1lbnRzIHRoZSBmdW5jdGlvbiBncm91cF9tZW1iZXIuIFRvIGF2b2lkIG5hbWUgY29uZmxpY3QsCiAjIGhlcmUgbGV0IHVzIGFwcGVuZCBhICJfIiB0byB3aGljaCdzIHZlcnNpb24uCiAjCi0jIFNpZ25lZC1vZmYtYnkgRGV4dWFuIEN1aSA8ZGV4dWFuLmN1aUBpbnRlbC5jb20+LCAyMDEwLTA4LTIwCisjIFNpZ25lZC1vZmYtYnk6IERleHVhbiBDdWkgPGRleHVhbi5jdWlAaW50ZWwuY29tPiwgMjAxMC0wOC0yMAogIyAodGhpcyBwYXRjaCBpcyBsaWNlbnNlZCB1bmRlciBHUEx2MikKIAogLS0tIHdoaWNoLTIuMTgvYmFzaC5jCmRpZmYgLS1naXQgYS9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3hkZy11dGlscy94ZGctdXRpbHNfMS4xLjEuYmIgYi9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3hkZy11dGlscy94ZGctdXRpbHNfMS4xLjEuYmIKaW5kZXggYzE0NzJjZi4uNTAwNzQ5OCAxMDA2NDQKLS0tIGEvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC94ZGctdXRpbHMveGRnLXV0aWxzXzEuMS4xLmJiCisrKyBiL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQveGRnLXV0aWxzL3hkZy11dGlsc18xLjEuMS5iYgpAQCAtMjcsNiArMjcsNyBAQAogCiBVUFNUUkVBTV9DSEVDS19SRUdFWCA9ICJ4ZGctdXRpbHMtKD9QPHB2ZXI+KChcZCtbXC5cLV9dKikrKSgocmN8YWxwaGF8YmV0YSlcZCspPylcLih0YXJcLmd6fHRneikiCiAKKyMgTmVlZHMgYnJva2Vuc2VwIGFzIHRoaXMgZG9lc24ndCB1c2UgYXV0b21ha2UKIGluaGVyaXQgYXV0b3Rvb2xzLWJyb2tlbnNlcCBkaXN0cm9fZmVhdHVyZXNfY2hlY2sKIAogIyBUaGUgeHByb3AgcmVxdWlyZXMgeDExIGluIERJU1RST19GRUFUVVJFUwpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC96aXAvemlwLTMuMC9maXgtc2VjdXJpdHktZm9ybWF0LnBhdGNoIGIvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC96aXAvemlwLTMuMC9maXgtc2VjdXJpdHktZm9ybWF0LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE5ZDg1NDgKLS0tIC9kZXYvbnVsbAorKysgYi9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3ppcC96aXAtMy4wL2ZpeC1zZWN1cml0eS1mb3JtYXQucGF0Y2gKQEAgLTAsMCArMSw0MiBAQAoremlwOiBGaXhpbmcgc2VjdXJpdHkgZm9ybWF0dGluZyBpc3N1ZXMKKworRml4IHNlY3VyaXR5IGZvcm1hdHRpbmcgaXNzdWVzIHJlbGF0ZWQgdG8gcHJpbnRpbmcgd2l0aG91dCBOVUxMIGFyZ3VtZW50CisKK3ppcC5jOiBJbiBmdW5jdGlvbiAnaGVscF9leHRlbmRlZCc6Cit6aXAuYzoxMDMxOjU6IGVycm9yOiBmb3JtYXQgbm90IGEgc3RyaW5nIGxpdGVyYWwgYW5kIG5vIGZvcm1hdCBhcmd1bWVudHMgWy1XZXJyb3I9Zm9ybWF0LXNlY3VyaXR5XQorICAgICBwcmludGYodGV4dFtpXSk7CisgICAgIF4KK3ppcC5jOiBJbiBmdW5jdGlvbiAndmVyc2lvbl9pbmZvJzoKK3ppcC5jOjEyMjg6NTogZXJyb3I6IGZvcm1hdCBub3QgYSBzdHJpbmcgbGl0ZXJhbCBhbmQgbm8gZm9ybWF0IGFyZ3VtZW50cyBbLVdlcnJvcj1mb3JtYXQtc2VjdXJpdHldCisgICAgIHByaW50ZihjcnlwdG5vdGVbaV0pOworICAgICBeCisKK1tZT0NUTyAjOTU1Ml0KK1todHRwczovL2J1Z3ppbGxhLnlvY3RvcHJvamVjdC5vcmcvc2hvd19idWcuY2dpP2lkPTk1NTJdCisKK1Vwc3RyZWFtLVN0YXR1czogUGVuZGluZworCitTaWduZWQtb2ZmLWJ5OiBFZHdpbiBQbGF1Y2h1IDxlZHdpbi5wbGF1Y2h1LmNhbWFjaG9AaW50ZWwuY29tPgorCitkaWZmIC0tZ2l0IGEvemlwLmMgYi96aXAuYworaW5kZXggNDM5ODIxZi4uZDdkYTc2OCAxMDA2NDQKKy0tLSBhL3ppcC5jCisrKysgYi96aXAuYworQEAgLTEwMjgsNyArMTAyOCw3IEBAIGxvY2FsIHZvaWQgaGVscF9leHRlbmRlZCgpCisgCisgICBmb3IgKGkgPSAwOyBpIDwgc2l6ZW9mKHRleHQpL3NpemVvZihjaGFyICopOyBpKyspCisgICB7CistICAgIHByaW50Zih0ZXh0W2ldKTsKKysgICAgZnB1dHModGV4dFtpXSxzdGRvdXQpOworICAgICBwdXRjaGFyKCdcbicpOworICAgfQorICNpZmRlZiBET1MKK0BAIC0xMjI1LDcgKzEyMjUsNyBAQCBsb2NhbCB2b2lkIHZlcnNpb25faW5mbygpCisgICAgICAgICAgICAgQ1JfTUFKT1JWRVIsIENSX01JTk9SVkVSLCBDUl9CRVRBX1ZFUiwgQ1JfVkVSU0lPTl9EQVRFKTsKKyAgIGZvciAoaSA9IDA7IGkgPCBzaXplb2YoY3J5cHRub3RlKS9zaXplb2YoY2hhciAqKTsgaSsrKQorICAgeworLSAgICBwcmludGYoY3J5cHRub3RlW2ldKTsKKysgICAgZnB1dHMoY3J5cHRub3RlW2ldLHN0ZG91dCk7CisgICAgIHB1dGNoYXIoJ1xuJyk7CisgICB9CisgICArK2k7ICAvKiBjcnlwdCBzdXBwb3J0IG1lYW5zIHRoZXJlIElTIGF0IGxlYXN0IG9uZSBjb21waWxhdGlvbiBvcHRpb24gKi8KZGlmZiAtLWdpdCBhL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvemlwL3ppcC5pbmMgYi9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3ppcC96aXAuaW5jCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2MjIxYzVlLi4wMDAwMDAwCi0tLSBhL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvemlwL3ppcC5pbmMKKysrIC9kZXYvbnVsbApAQCAtMSwyNiArMCwwIEBACi1TVU1NQVJZID0gIkNvbXByZXNzb3IvYXJjaGl2ZXIgZm9yIGNyZWF0aW5nIGFuZCBtb2RpZnlpbmcgLnppcCBmaWxlcyIKLUhPTUVQQUdFID0gImh0dHA6Ly93d3cuaW5mby16aXAub3JnIgotU0VDVElPTiA9ICJjb25zb2xlL3V0aWxzIgotCi1MSUNFTlNFID0gIkJTRC0zLUNsYXVzZSIKLUxJQ19GSUxFU19DSEtTVU0gPSAiZmlsZTovL0xJQ0VOU0U7bWQ1PTA0ZDQzYzVkNzBiNDk2YzAzMjMwODEwNmUyNmFlMTdkIgotCi1TUkNfVVJJID0gImZ0cDovL2Z0cC5pbmZvLXppcC5vcmcvcHViL2luZm96aXAvc3JjL3ppcCR7QGQuZ2V0VmFyKCdQVicsMSkucmVwbGFjZSgnLicsICcnKX0udGd6IgotCi1FWFRSQV9PRU1BS0UgPSAiJ0NDPSR7Q0N9JyAnQklORD0ke0NDfScgJ0FTPSR7Q0N9IC1jJyAnQ1BQPSR7Q1BQfScgXAotCQknQ0ZMQUdTPS1JLiAtRFVOSVggJHtDRkxBR1N9JyAnSU5TVEFMTD1pbnN0YWxsJyBcCi0JCSdCSU5GTEFHUz0wNzU1JyAnSU5TVEFMTF9EPWluc3RhbGwgLWQnIgotCi1kb19jb21waWxlKCkgewotCW9lX3J1bm1ha2UgLWYgdW5peC9NYWtlZmlsZSBmbGFncyBJWl9CWklQMj1ub19zdWNoX2RpcmVjdG9yeQotCXNlZCAtaSAncyNMRkxBR1MxPSIiI0xGTEFHUzE9IiR7TERGTEFHU30iIycgZmxhZ3MKLQlvZV9ydW5tYWtlIC1mIHVuaXgvTWFrZWZpbGUgZ2VuZXJpYyBJWl9CWklQMj1ub19zdWNoX2RpcmVjdG9yeQotfQotCi1kb19pbnN0YWxsKCkgewotCW9lX3J1bm1ha2UgLWYgdW5peC9NYWtlZmlsZSBwcmVmaXg9JHtEfSR7cHJlZml4fSBcCi0JCSAgIEJJTkRJUj0ke0R9JHtiaW5kaXJ9IE1BTkRJUj0ke0R9JHttYW5kaXJ9L21hbjEgXAotCQkgICBpbnN0YWxsCi19Ci0KLUJCQ0xBU1NFWFRFTkQgPSAibmF0aXZlIgpkaWZmIC0tZ2l0IGEvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC96aXAvemlwXzMuMC5iYiBiL2ltcG9ydC1sYXllcnMveW9jdG8tcG9reS9tZXRhL3JlY2lwZXMtZXh0ZW5kZWQvemlwL3ppcF8zLjAuYmIKaW5kZXggMzgzZGE0Yi4uMDg3NDIzYSAxMDA2NDQKLS0tIGEvaW1wb3J0LWxheWVycy95b2N0by1wb2t5L21ldGEvcmVjaXBlcy1leHRlbmRlZC96aXAvemlwXzMuMC5iYgorKysgYi9pbXBvcnQtbGF5ZXJzL3lvY3RvLXBva3kvbWV0YS9yZWNpcGVzLWV4dGVuZGVkL3ppcC96aXBfMy4wLmJiCkBAIC0xLDE4ICsxLDQyIEBACi1yZXF1aXJlIHppcC5pbmMKK1NVTU1BUlkgPSAiQ29tcHJlc3Nvci9hcmNoaXZlciBmb3IgY3JlYXRpbmcgYW5kIG1vZGlmeWluZyAuemlwIGZpbGVzIgorSE9NRVBBR0UgPSAiaHR0cDovL3d3dy5pbmZvLXppcC5vcmciCitTRUNUSU9OID0gImNvbnNvbGUvdXRpbHMiCiAKLVBSPSJyMiIKK0xJQ0VOU0UgPSAiQlNELTMtQ2xhdXNlIgorTElDX0ZJTEVTX0NIS1NVTSA9ICJmaWxlOi8vTElDRU5TRTttZDU9MDRkNDNjNWQ3MGI0OTZjMDMyMzA4MTA2ZTI2YWUxN2QiCiAKLSMgemlwLTIuMzIgc3RpbGwgdXNlcyBkaXJlY3RvcnkgbmFtZSBvZiB6aXAtMi4zMAorUFIgPSAicjIiCisKIFMgPSAiJHtXT1JLRElSfS96aXAzMCIKIAorU1JDX1VSSSA9ICIke1NPVVJDRUZPUkdFX01JUlJPUn0vaW5mb3ppcC9aaXAlMjAzLnglMjAlMjhsYXRlc3QlMjkvMy4wL3ppcDMwLnRhci5neiBcCisgICAgICAgICAgIGZpbGU6Ly9maXgtc2VjdXJpdHktZm9ybWF0LnBhdGNoIgorCiBTUkNfVVJJW21kNXN1bV0gPSAiN2I3NDU1MWU2M2Y4ZWU2YWFiNmZiYzg2Njc2YzBkMzciCiBTUkNfVVJJW3NoYTI1NnN1bV0gPSAiZjBlOGJiMWY5YjdlYjBiMDEyODU0OTVhMjY5OWRmM2E0Yjc2Njc4NGMxNzY1YThmMWFlZWRmNjNjMDgwNjM2OSIKIAotIyBleGNsdWRlIHZlcnNpb24gMi4zLjIgd2hpY2ggdHJpZ2dlcnMgYSBmYWxzZSBwb3NpdGl2ZQotVVBTVFJFQU1fQ0hFQ0tfUkVHRVggPSAiXnppcCg/UDxwdmVyPig/ITIzMikuKylcLnRneiIKLQogIyB6aXAuaW5jIHNldHMgQ0ZMQUdTLCBidXQgd2hhdCBNYWtlZmlsZSBhY3R1YWxseSB1c2VzIGlzCiAjIENGTEFHU19OT09QVC4gIEl0IHdpbGwgYWxzbyBmb3JjZSAtTzMgb3B0aW1pemF0aW9uLCBvdmVycmlkaW5nCiAjIHdoYXRldmVyIHdlIHNldC4KLSMKLUVYVFJBX09FTUFLRV9hcHBlbmQgPSAiICdDRkxBR1NfTk9PUFQ9LUkuIC1EVU5JWCAke0NGTEFHU30nIgorRVhUUkFfT0VNQUtFID0gIidDQz0ke0NDfScgJ0JJTkQ9JHtDQ30nICdBUz0ke0NDfSAtYycgJ0NQUD0ke0NQUH0nIFwKKwkJJ0NGTEFHUz0tSS4gLURVTklYICR7Q0ZMQUdTfScgXAorCQknQ0ZMQUdTX05PT1BUPS1JLiAtRFVOSVggJHtDRkxBR1N9JyBcCisJCSdJTlNUQUxMPWluc3RhbGwnICdJTlNUQUxMX0Q9aW5zdGFsbCAtZCcgXAorCQknQklORkxBR1M9MDc1NSciCisKK2RvX2NvbXBpbGUoKSB7CisJb2VfcnVubWFrZSAtZiB1bml4L01ha2VmaWxlIGZsYWdzIElaX0JaSVAyPW5vX3N1Y2hfZGlyZWN0b3J5CisJc2VkIC1pICdzI0xGTEFHUzE9IiIjTEZMQUdTMT0iJHtMREZMQUdTfSIjJyBmbGFncworCW9lX3J1bm1ha2UgLWYgdW5peC9NYWtlZmlsZSBnZW5lcmljIElaX0JaSVAyPW5vX3N1Y2hfZGlyZWN0b3J5Cit9CisKK2RvX2luc3RhbGwoKSB7CisJb2VfcnVubWFrZSAtZiB1bml4L01ha2VmaWxlIHByZWZpeD0ke0R9JHtwcmVmaXh9IFwKKwkJICAgQklORElSPSR7RH0ke2JpbmRpcn0gTUFORElSPSR7RH0ke21hbmRpcn0vbWFuMSBcCisJCSAgIGluc3RhbGwKK30KKworQkJDTEFTU0VYVEVORCA9ICJuYXRpdmUiCisKKyMgZXhjbHVkZSB2ZXJzaW9uIDIuMy4yIHdoaWNoIHRyaWdnZXJzIGEgZmFsc2UgcG9zaXRpdmUKK1VQU1RSRUFNX0NIRUNLX1JFR0VYID0gIl56aXAoP1A8cHZlcj4oPyEyMzIpLispXC50Z3oiCg==