ZGlmZiAtLWdpdCBhL0NIQU5HRVMgYi9DSEFOR0VTCmluZGV4IGUyZDNlNjYuLjRhZDQxZjYgMTAwNjQ0Ci0tLSBhL0NIQU5HRVMKKysrIGIvQ0hBTkdFUwpAQCAtOCw2ICs4LDE4IEBACiAKIFZlcnNpb24gNy4zCiAKK0RhbmllbCAoMjggU2VwdGVtYmVyIDIwMDApCistIFJlbW92ZWQgdGhlIGJhc2U2NF9rcmIuW2NoXSBmaWxlcy4gVGhleSd2ZSBub3cgcmVwbGFjZWQgdGhlIGZvcm1lcgorICBiYXNlNjQuW2NoXSBmaWxlcy4KKworRGFuaWVsICgyNiBTZXB0ZW1iZXIgMjAwMCkKKy0gVXBkYXRlZCBzb21lIGRvY3MuCisKKy0gSSBjaGFuZ2VkIHRoZSBPcGVuU1NMIGZpeCB0byB3b3JrIHdpdGggb2xkZXIgdmVyc2lvbnMgYXMgd2VsbC4gVGhlIHBvc3RlZAorICBwYXRjaCB3YXMgb25seSB3b3JraW5nIHdpdGggMC45LjYgYW5kIG5vIG9sZGVyIG9uZXMuCisgIAorVmVyc2lvbiA3LjMtcHJlOAorCiBEYW5pZWwgKDI1IFNlcHRlbWJlciAyMDAwKQogLSBFcmRtdXQgUGZlaWZlciBpbmZvcm1lZCB1cyB0aGF0IGN1cmwgZGlkbid0IGJ1aWxkIHdpdGggT3BlblNTTCAwLjkuNiBhbmQKICAgc2hvd2VkIHVzIHdoYXQgbmVlZGVkIHRvIGdldCBwYXRjaGVkIGluIG9yZGVyIHRvIG1ha2UgaXQgYnVpbGQgcHJvcGVybHkKQEAgLTMzLDcgKzQ1LDcgQEAKIERhbmllbCAoMjAgU2VwdGVtYmVyIDIwMDApCiAtIFJpY2hhcmQgUHJlc2NvdHQgc29sdmVkIGFub3RoZXIgbmFtZSBsb29rdXAgYnVmZmVyIHNpemUgcHJvYmxlbS4gSSB0b29rIHRoaXMKICAgb3Bwb3J0dW5pdHkgdG8gcmV3cml0ZSB0aGUgR2V0SG9zdCgpIGZ1bmN0aW9uLiBXaXRoIHRoZXNlIGxhcmdlIGJ1ZmZlcgotICBzaXplcywgSSB0aGluayBrZWVwaW5nIHRoZW0gYXMgbG9jYWwgYXJyYXlzIHF1aWNrbHkgdHVybiB1Z2x5LiBJIGtub3cgdXNlCisgIHNpemVzLCBJIHRoaW5rIGtlZXBpbmcgdGhlbSBhcyBsb2NhbCBhcnJheXMgcXVpY2tseSB0dXJuIHVnbHkuIEkgbm93IHVzZQogICBtYWxsb2MoKSB0byBnZXQgdGhlIGJ1ZmZlciBtZW1vcnkuIFRoYW5rcyB0byB0aGlzLCBJIG5vdyBjYW4gcmVhbGxvYygpIHRvIGEKICAgbGFyZ2UgYnVmZmVyIGluIGNhc2Ugb2YgZGVtYW5kIChlcnJubyA9PSBFUkFOR0UpIGluIGNhc2UgYSBzb2x1dGlvbiBsaWtlCiAgIHRoYXQgd291bGQgYmVjb21lIG5lY2Vzc2FyeS4gSSBzdGlsbCB3YW50IHRvIGF2b2lkIHRoYXQga2luZCBvZiBuYXN0aW5lc3MuCmRpZmYgLS1naXQgYS9hY2NvbmZpZy5oIGIvYWNjb25maWcuaAppbmRleCBkZjVmYWI5Li5iOTA4Nzc5IDEwMDY0NAotLS0gYS9hY2NvbmZpZy5oCisrKyBiL2FjY29uZmlnLmgKQEAgLTMzLDMgKzMzLDYgQEAKIAogLyogRGVmaW5lIGlmIHlvdSBuZWVkIHRoZSBfUkVFTlRSQU5UIGRlZmluZSBmb3Igc29tZSBmdW5jdGlvbnMgKi8KICN1bmRlZiBORUVEX1JFRU5UUkFOVAorCisvKiBEZWZpbmUgaWYgeW91IGhhdmUgdGhlIEtlcmJlcm9zNCBsaWJyYXJpZXMgKGluY2x1ZGluZyAtbGRlcykgKi8KKyN1bmRlZiBLUkI0CmRpZmYgLS1naXQgYS9jb25maWcuaC5pbiBiL2NvbmZpZy5oLmluCmluZGV4IDIzMThmOTcuLjNjZjJiMTkgMTAwNjQ0Ci0tLSBhL2NvbmZpZy5oLmluCisrKyBiL2NvbmZpZy5oLmluCkBAIC00OSw2ICs0OSw5IEBACiAvKiBEZWZpbmUgaWYgeW91IG5lZWQgdGhlIF9SRUVOVFJBTlQgZGVmaW5lIGZvciBzb21lIGZ1bmN0aW9ucyAqLwogI3VuZGVmIE5FRURfUkVFTlRSQU5UCiAKKy8qIERlZmluZSBpZiB5b3UgaGF2ZSB0aGUgS2VyYmVyb3M0IGxpYnJhcmllcyAoaW5jbHVkaW5nIC1sZGVzKSAqLworI3VuZGVmIEtSQjQKKwogLyogVGhlIG51bWJlciBvZiBieXRlcyBpbiBhIGxvbmcgZG91YmxlLiAgKi8KICN1bmRlZiBTSVpFT0ZfTE9OR19ET1VCTEUKIApAQCAtOTQsNiArOTcsOSBAQAogLyogRGVmaW5lIGlmIHlvdSBoYXZlIHRoZSBpbmV0X250b2FfciBmdW5jdGlvbi4gICovCiAjdW5kZWYgSEFWRV9JTkVUX05UT0FfUgogCisvKiBEZWZpbmUgaWYgeW91IGhhdmUgdGhlIGtyYl9nZXRfb3VyX2lwX2Zvcl9yZWFsbSBmdW5jdGlvbi4gICovCisjdW5kZWYgSEFWRV9LUkJfR0VUX09VUl9JUF9GT1JfUkVBTE0KKwogLyogRGVmaW5lIGlmIHlvdSBoYXZlIHRoZSBsb2NhbHRpbWVfciBmdW5jdGlvbi4gICovCiAjdW5kZWYgSEFWRV9MT0NBTFRJTUVfUgogCkBAIC0xMjQsNiArMTMwLDkgQEAKIC8qIERlZmluZSBpZiB5b3UgaGF2ZSB0aGUgc3RyaWNtcCBmdW5jdGlvbi4gICovCiAjdW5kZWYgSEFWRV9TVFJJQ01QCiAKKy8qIERlZmluZSBpZiB5b3UgaGF2ZSB0aGUgc3RybGNweSBmdW5jdGlvbi4gICovCisjdW5kZWYgSEFWRV9TVFJMQ1BZCisKIC8qIERlZmluZSBpZiB5b3UgaGF2ZSB0aGUgc3Ryc3RyIGZ1bmN0aW9uLiAgKi8KICN1bmRlZiBIQVZFX1NUUlNUUgogCkBAIC0xNDUsNiArMTU0LDkgQEAKIC8qIERlZmluZSBpZiB5b3UgaGF2ZSB0aGUgPGNyeXB0by5oPiBoZWFkZXIgZmlsZS4gICovCiAjdW5kZWYgSEFWRV9DUllQVE9fSAogCisvKiBEZWZpbmUgaWYgeW91IGhhdmUgdGhlIDxkZXMuaD4gaGVhZGVyIGZpbGUuICAqLworI3VuZGVmIEhBVkVfREVTX0gKKwogLyogRGVmaW5lIGlmIHlvdSBoYXZlIHRoZSA8ZGxmY24uaD4gaGVhZGVyIGZpbGUuICAqLwogI3VuZGVmIEhBVkVfRExGQ05fSAogCkBAIC0xNjAsNiArMTcyLDkgQEAKIC8qIERlZmluZSBpZiB5b3UgaGF2ZSB0aGUgPGlvLmg+IGhlYWRlciBmaWxlLiAgKi8KICN1bmRlZiBIQVZFX0lPX0gKIAorLyogRGVmaW5lIGlmIHlvdSBoYXZlIHRoZSA8a3JiLmg+IGhlYWRlciBmaWxlLiAgKi8KKyN1bmRlZiBIQVZFX0tSQl9ICisKIC8qIERlZmluZSBpZiB5b3UgaGF2ZSB0aGUgPG1hbGxvYy5oPiBoZWFkZXIgZmlsZS4gICovCiAjdW5kZWYgSEFWRV9NQUxMT0NfSAogCkBAIC0yNTYsNiArMjcxLDkgQEAKIC8qIERlZmluZSBpZiB5b3UgaGF2ZSB0aGUgbnNsIGxpYnJhcnkgKC1sbnNsKS4gICovCiAjdW5kZWYgSEFWRV9MSUJOU0wKIAorLyogRGVmaW5lIGlmIHlvdSBoYXZlIHRoZSByZXNvbHYgbGlicmFyeSAoLWxyZXNvbHYpLiAgKi8KKyN1bmRlZiBIQVZFX0xJQlJFU09MVgorCiAvKiBEZWZpbmUgaWYgeW91IGhhdmUgdGhlIHJlc29sdmUgbGlicmFyeSAoLWxyZXNvbHZlKS4gICovCiAjdW5kZWYgSEFWRV9MSUJSRVNPTFZFCiAKZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZS5pbiBiL2NvbmZpZ3VyZS5pbgppbmRleCA2NmZmNTE1Li5iMzg0NmI4IDEwMDY0NAotLS0gYS9jb25maWd1cmUuaW4KKysrIGIvY29uZmlndXJlLmluCkBAIC0yLDcgKzIsNyBAQAogZG5sIFByb2Nlc3MgdGhpcyBmaWxlIHdpdGggYXV0b2NvbmYgdG8gcHJvZHVjZSBhIGNvbmZpZ3VyZSBzY3JpcHQuCiBBQ19JTklUKGxpYi91cmxkYXRhLmgpCiBBTV9DT05GSUdfSEVBREVSKGNvbmZpZy5oIHNyYy9jb25maWcuaCkKLUFNX0lOSVRfQVVUT01BS0UoY3VybCwiNy4zLXByZTgiKQorQU1fSU5JVF9BVVRPTUFLRShjdXJsLCI3LjMiKQogQU1fUFJPR19MSUJUT09MCiAKIGRubApkaWZmIC0tZ2l0IGEvZG9jcy9GQVEgYi9kb2NzL0ZBUQppbmRleCA3ZWIwN2YxLi42YjJhOTJmIDEwMDY0NAotLS0gYS9kb2NzL0ZBUQorKysgYi9kb2NzL0ZBUQpAQCAtMTQxLDYgKzE0MSw3IEBACiAgICAgICBTb2xhcmlzIChuYXRpdmUgY2MgY29tcGlsZXIpCiAgICAgICBIUFVYIChuYXRpdmUgY2MgY29tcGlsZXIpCiAgICAgICBTR0kgSVJJWCAobmF0aXZlIGNjIGNvbXBpbGVyKQorICAgICAgU0NPIFVOSVggKG5hdGl2ZSBjYyBjb21waWxlcikKIAogICAgIFdoZW4gY29uZmlndXJpbmcgY3VybCwgSSBzcGVjaWZ5IC0td2l0aC1zc2wuIE9wZW5TU0wgaXMgaW5zdGFsbGVkIGluCiAgICAgL3Vzci9sb2NhbC9zc2wgQ29uZmlndXJlIHJlcG9ydHMgU1NMIGluIC91c3IvbG9jYWwvc3NsLCBidXQgZmFpbHMgdG8gZmluZApkaWZmIC0tZ2l0IGEvZG9jcy9jdXJsX2Vhc3lfaW5pdC4zIGIvZG9jcy9jdXJsX2Vhc3lfaW5pdC4zCmluZGV4IGRhZWE5MDcuLjRiYzlkMmIgMTAwNjQ0Ci0tLSBhL2RvY3MvY3VybF9lYXN5X2luaXQuMworKysgYi9kb2NzL2N1cmxfZWFzeV9pbml0LjMKQEAgLTIsNyArMiw3IEBACiAuXCIgbnJvZmYgLW1hbiBbZmlsZV0KIC5cIiBXcml0dGVuIGJ5IGRhbmllbEBoYXh4LnNlCiAuXCIKLS5USCBjdXJsX2Vhc3lfaW5pdCAzICIyMiBNYXkgMjAwMCIgIkN1cmwgNy4wIiAibGliY3VybCBNYW51YWwiCisuVEggY3VybF9lYXN5X2luaXQgMyAiMjYgU2VwdGVtYmVyIDIwMDAiICJDdXJsIDcuMCIgImxpYmN1cmwgTWFudWFsIgogLlNIIE5BTUUKIGN1cmxfZWFzeV9pbml0IC0gU3RhcnQgYSBsaWJjdXJsICJlYXN5IiBzZXNzaW9uCiAuU0ggU1lOT1BTSVMKQEAgLTE2LDYgKzE2LDkgQEAKIGludGlhbGl6ZXMgY3VybCBhbmQgdGhpcyBjYWxsIE1VU1QgaGF2ZSBhIGNvcnJlc3BvbmRpbmcgY2FsbCB0bwogLkkgY3VybF9lYXN5X2NsZWFudXAKIHdoZW4gdGhlIG9wZXJhdGlvbiBpcyBjb21wbGV0ZS4KKworT24gd2luMzIgc3lzdGVtcywgeW91IG5lZWQgdG8gaW5pdCB0aGUgd2luc29jayBzdHVmZiBtYW51YWxseSwgbGliY3VybCB3aWxsCitub3QgZG8gdGhhdCBmb3IgeW91LiBXU0FTdGFydHVwKCkgYW5kIFdTQUNsZWFudXAoKSBzaG91bGQgYmUgdXNlZCBhY2NvcmRpbmdseS4KIC5TSCBSRVRVUk4gVkFMVUUKIElmIHRoaXMgZnVuY3Rpb24gcmV0dXJucyBOVUxMLCBzb21ldGhpbmcgd2VudCB3cm9uZyBhbmQgeW91IGNhbm5vdCB1c2UgdGhlCiBvdGhlciBjdXJsIGZ1bmN0aW9ucy4KZGlmZiAtLWdpdCBhL2luY2x1ZGUvY3VybC9jdXJsLmggYi9pbmNsdWRlL2N1cmwvY3VybC5oCmluZGV4IGU1NGNjYWMuLmE5MTBkYzQgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvY3VybC9jdXJsLmgKKysrIGIvaW5jbHVkZS9jdXJsL2N1cmwuaApAQCAtNDQyLDcgKzQ0Miw3IEBACiBjaGFyICpjdXJsX3ZlcnNpb24odm9pZCk7CiAKIC8qIFRoaXMgaXMgdGhlIHZlcnNpb24gbnVtYmVyICovCi0jZGVmaW5lIExJQkNVUkxfVkVSU0lPTiAiNy4zLXByZTYiCisjZGVmaW5lIExJQkNVUkxfVkVSU0lPTiAiNy4zIgogI2RlZmluZSBMSUJDVVJMX1ZFUlNJT05fTlVNIDB4MDcwMzAwCiAKIC8qIGxpbmtlZC1saXN0IHN0cnVjdHVyZSBmb3IgdGhlIENVUkxPUFRfUVVPVEUgb3B0aW9uICovCmRpZmYgLS1naXQgYS9saWIvTWFrZWZpbGUuYW0gYi9saWIvTWFrZWZpbGUuYW0KaW5kZXggNTJiNzQxNy4uODhlMzZiMyAxMDA2NDQKLS0tIGEvbGliL01ha2VmaWxlLmFtCisrKyBiL2xpYi9NYWtlZmlsZS5hbQpAQCAtMiw3ICsyLDcgQEAKICMgJElkJAogIwogCi1BVVRPTUFLRV9PUFRJT05TID0gZm9yZWlnbiBuby1kZXBlbmRlbmNpZXMKK0FVVE9NQUtFX09QVElPTlMgPSBmb3JlaWduCiAKIGxpYl9MVExJQlJBUklFUyA9IGxpYmN1cmwubGEKIApAQCAtMjMsNyArMjMsOCBAQAogZG93bmxvYWQuaCAgICAgZ2V0ZW52LmMgICAgICAgbGRhcC5oICAgICAgICAgc3NsdXNlLmggICAgICAgXAogZXNjYXBlLmMgICAgICAgZ2V0ZW52LmggICAgICAgbXByaW50Zi5jICAgICAgdGVsbmV0LmMgICAgICAgXAogZXNjYXBlLmggICAgICAgZ2V0cGFzcy5jICAgICAgbmV0cmMuYyAgICAgICAgdGVsbmV0LmggICAgICAgXAotd3JpdGVvdXQuYyB3cml0ZW91dC5oIGhpZ2hsZXZlbC5jIHN0cmVxdWFsLmMgc3RyZXF1YWwuaCBlYXN5LmMKK3dyaXRlb3V0LmMgd3JpdGVvdXQuaCBoaWdobGV2ZWwuYyBzdHJlcXVhbC5jIHN0cmVxdWFsLmggZWFzeS5jIFwKK3NlY3VyaXR5Lmggc2VjdXJpdHkuYyBrcmI0LmMKIAogIyBTYXkgJChzcmNkaXIpLCBzbyBHTlUgbWFrZSBkb2VzIG5vdCByZXBvcnQgYW4gYW1iaWd1aXR5IHdpdGggdGhlIC55LmMgcnVsZS4KICQoc3JjZGlyKS9nZXRkYXRlLmM6IGdldGRhdGUueQpkaWZmIC0tZ2l0IGEvbGliL01ha2VmaWxlLmluIGIvbGliL01ha2VmaWxlLmluCmluZGV4IGE4ODY3OGUuLmI3OTM5NjkgMTAwNjQ0Ci0tLSBhL2xpYi9NYWtlZmlsZS5pbgorKysgYi9saWIvTWFrZWZpbGUuaW4KQEAgLTc3LDcgKzc3LDcgQEAKIFZFUlNJT04gPSBAVkVSU0lPTkAKIFlBQ0MgPSBAWUFDQ0AKIAotQVVUT01BS0VfT1BUSU9OUyA9IGZvcmVpZ24gbm8tZGVwZW5kZW5jaWVzCitBVVRPTUFLRV9PUFRJT05TID0gZm9yZWlnbgogCiBsaWJfTFRMSUJSQVJJRVMgPSBsaWJjdXJsLmxhCiAKQEAgLTg2LDcgKzg2LDcgQEAKIAogSU5DTFVERVMgPSAtSSQodG9wX3NyY2RpcikvaW5jbHVkZQogCi1saWJjdXJsX2xhX1NPVVJDRVMgPSAgYXJwYV90ZWxuZXQuaCAgZmlsZS5jICAgICAgICAgZ2V0cGFzcy5oICAgICAgbmV0cmMuaCAgICAgICAgdGltZXZhbC5jIGJhc2U2NC5jICAgICAgIGZpbGUuaCAgICAgICAgIGhvc3RpcC5jICAgICAgIHByb2dyZXNzLmMgICAgIHRpbWV2YWwuaCBiYXNlNjQuaCAgICAgICBmb3JtZGF0YS5jICAgICBob3N0aXAuaCAgICAgICBwcm9ncmVzcy5oICAgICBjb29raWUuYyAgICAgICBmb3JtZGF0YS5oICAgICBodHRwLmMgICAgICAgICBzZW5kZi5jICAgICAgICBjb29raWUuaCAgICAgICBmdHAuYyAgICAgICAgICBodHRwLmggICAgICAgICBzZW5kZi5oICAgICAgICB1cmwuYyBkaWN0LmMgICAgICAgICBmdHAuaCAgICAgICAgICBpZjJpcC5jICAgICAgICBzcGVlZGNoZWNrLmMgICB1cmwuaCBkaWN0LmggICAgICAgICBnZXRkYXRlLmMgICAgICBpZjJpcC5oICAgICAgICBzcGVlZGNoZWNrLmggICB1cmxkYXRhLmggZG93bmxvYWQuYyAgICAgZ2V0ZGF0ZS5oICAgICAgbGRhcC5jICAgICAgICAgc3NsdXNlLmMgICAgICAgdmVyc2lvbi5jIGRvd25sb2FkLmggICAgIGdldGVudi5jICAgICAgIGxkYXAuaCAgICAgICAgIHNzbHVzZS5oICAgICAgIGVzY2FwZS5jICAgICAgIGdldGVudi5oICAgICAgIG1wcmludGYuYyAgICAgIHRlbG5ldC5jICAgICAgIGVzY2FwZS5oICAgICAgIGdldHBhc3MuYyAgICAgIG5ldHJjLmMgICAgICAgIHRlbG5ldC5oICAgICAgIHdyaXRlb3V0LmMgd3JpdGVvdXQuaCBoaWdobGV2ZWwuYyBzdHJlcXVhbC5jIHN0cmVxdWFsLmggZWFzeS5jCitsaWJjdXJsX2xhX1NPVVJDRVMgPSAgYXJwYV90ZWxuZXQuaCAgZmlsZS5jICAgICAgICAgZ2V0cGFzcy5oICAgICAgbmV0cmMuaCAgICAgICAgdGltZXZhbC5jIGJhc2U2NC5jICAgICAgIGZpbGUuaCAgICAgICAgIGhvc3RpcC5jICAgICAgIHByb2dyZXNzLmMgICAgIHRpbWV2YWwuaCBiYXNlNjQuaCAgICAgICBmb3JtZGF0YS5jICAgICBob3N0aXAuaCAgICAgICBwcm9ncmVzcy5oICAgICBjb29raWUuYyAgICAgICBmb3JtZGF0YS5oICAgICBodHRwLmMgICAgICAgICBzZW5kZi5jICAgICAgICBjb29raWUuaCAgICAgICBmdHAuYyAgICAgICAgICBodHRwLmggICAgICAgICBzZW5kZi5oICAgICAgICB1cmwuYyBkaWN0LmMgICAgICAgICBmdHAuaCAgICAgICAgICBpZjJpcC5jICAgICAgICBzcGVlZGNoZWNrLmMgICB1cmwuaCBkaWN0LmggICAgICAgICBnZXRkYXRlLmMgICAgICBpZjJpcC5oICAgICAgICBzcGVlZGNoZWNrLmggICB1cmxkYXRhLmggZG93bmxvYWQuYyAgICAgZ2V0ZGF0ZS5oICAgICAgbGRhcC5jICAgICAgICAgc3NsdXNlLmMgICAgICAgdmVyc2lvbi5jIGRvd25sb2FkLmggICAgIGdldGVudi5jICAgICAgIGxkYXAuaCAgICAgICAgIHNzbHVzZS5oICAgICAgIGVzY2FwZS5jICAgICAgIGdldGVudi5oICAgICAgIG1wcmludGYuYyAgICAgIHRlbG5ldC5jICAgICAgIGVzY2FwZS5oICAgICAgIGdldHBhc3MuYyAgICAgIG5ldHJjLmMgICAgICAgIHRlbG5ldC5oICAgICAgIHdyaXRlb3V0LmMgd3JpdGVvdXQuaCBoaWdobGV2ZWwuYyBzdHJlcXVhbC5jIHN0cmVxdWFsLmggZWFzeS5jIHNlY3VyaXR5Lmggc2VjdXJpdHkuYyBrcmI0LmMKIAogbWtpbnN0YWxsZGlycyA9ICQoU0hFTEwpICQodG9wX3NyY2RpcikvbWtpbnN0YWxsZGlycwogQ09ORklHX0hFQURFUiA9IC4uL2NvbmZpZy5oIC4uL3NyYy9jb25maWcuaApAQCAtMTA0LDcgKzEwNCw3IEBACiBmb3JtZGF0YS5sbyBjb29raWUubG8gaHR0cC5sbyBzZW5kZi5sbyBmdHAubG8gdXJsLmxvIGRpY3QubG8gaWYyaXAubG8gXAogc3BlZWRjaGVjay5sbyBnZXRkYXRlLmxvIGRvd25sb2FkLmxvIGxkYXAubG8gc3NsdXNlLmxvIHZlcnNpb24ubG8gXAogZ2V0ZW52LmxvIGVzY2FwZS5sbyBtcHJpbnRmLmxvIHRlbG5ldC5sbyBnZXRwYXNzLmxvIG5ldHJjLmxvIFwKLXdyaXRlb3V0LmxvIGhpZ2hsZXZlbC5sbyBzdHJlcXVhbC5sbyBlYXN5LmxvCit3cml0ZW91dC5sbyBoaWdobGV2ZWwubG8gc3RyZXF1YWwubG8gZWFzeS5sbyBzZWN1cml0eS5sbyBrcmI0LmxvCiBDRkxBR1MgPSBAQ0ZMQUdTQAogQ09NUElMRSA9ICQoQ0MpICQoREVGUykgJChJTkNMVURFUykgJChBTV9DUFBGTEFHUykgJChDUFBGTEFHUykgJChBTV9DRkxBR1MpICQoQ0ZMQUdTKQogTFRDT01QSUxFID0gJChMSUJUT09MKSAtLW1vZGU9Y29tcGlsZSAkKENDKSAkKERFRlMpICQoSU5DTFVERVMpICQoQU1fQ1BQRkxBR1MpICQoQ1BQRkxBR1MpICQoQU1fQ0ZMQUdTKSAkKENGTEFHUykKZGlmZiAtLWdpdCBhL2xpYi9odHRwLmMgYi9saWIvaHR0cC5jCmluZGV4IGQ0YTNkYTEuLjRlMzQ3MWIgMTAwNjQ0Ci0tLSBhL2xpYi9odHRwLmMKKysrIGIvbGliL2h0dHAuYwpAQCAtMjk1LDcgKzI5NSw3IEBACiAgICAgICAgIWRhdGEtPmF1dGhfaG9zdCB8fAogICAgICAgIHN0cmVxdWFsKGRhdGEtPmF1dGhfaG9zdCwgZGF0YS0+aG9zdG5hbWUpKSB7CiAgICAgICBzcHJpbnRmKGRhdGEtPmJ1ZmZlciwgIiVzOiVzIiwgZGF0YS0+dXNlciwgZGF0YS0+cGFzc3dkKTsKLSAgICAgIGlmKGJhc2U2NEVuY29kZShkYXRhLT5idWZmZXIsIDAsIC8qIHNpemUgemVybyBtYWtlcyBpdCBkbyBzdHJsZW4oKSAqLworICAgICAgaWYoYmFzZTY0X2VuY29kZShkYXRhLT5idWZmZXIsIHN0cmxlbihkYXRhLT5idWZmZXIpLAogICAgICAgICAgICAgICAgICAgICAgICZhdXRob3JpemF0aW9uKSA+PSAwKSB7CiAgICAgICAgIGRhdGEtPnB0cl91c2VycHdkID0gbWFwcmludGYoICJBdXRob3JpemF0aW9uOiBCYXNpYyAlc1wwMTVcMDEyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXV0aG9yaXphdGlvbik7CmRpZmYgLS1naXQgYS9saWIvdXJsLmMgYi9saWIvdXJsLmMKaW5kZXggZjMyMzE0My4uNGRkYWZjMSAxMDA2NDQKLS0tIGEvbGliL3VybC5jCisrKyBiL2xpYi91cmwuYwpAQCAtMTM5Miw3ICsxMzkyLDggQEAKICAgaWYoZGF0YS0+Yml0cy5wcm94eV91c2VyX3Bhc3N3ZCkgewogICAgIGNoYXIgKmF1dGhvcml6YXRpb247CiAgICAgc3ByaW50ZihkYXRhLT5idWZmZXIsICIlczolcyIsIGRhdGEtPnByb3h5dXNlciwgZGF0YS0+cHJveHlwYXNzd2QpOwotICAgIGlmKGJhc2U2NEVuY29kZShkYXRhLT5idWZmZXIsIDAsICZhdXRob3JpemF0aW9uKSA+PSAwKSB7CisgICAgaWYoYmFzZTY0X2VuY29kZShkYXRhLT5idWZmZXIsIHN0cmxlbihkYXRhLT5idWZmZXIpLAorICAgICAgICAgICAgICAgICAgICAmYXV0aG9yaXphdGlvbikgPj0gMCkgewogICAgICAgZGF0YS0+cHRyX3Byb3h5dXNlcnB3ZCA9CiAgICAgICAgIG1hcHJpbnRmKCJQcm94eS1hdXRob3JpemF0aW9uOiBCYXNpYyAlc1wwMTVcMDEyIiwgYXV0aG9yaXphdGlvbik7CiAgICAgICBmcmVlKGF1dGhvcml6YXRpb24pOwpkaWZmIC0tZ2l0IGEvc3JjL2h1Z2VoZWxwLmMgYi9zcmMvaHVnZWhlbHAuYwppbmRleCBjMGNlZWJmLi44YjNkZTg3IDEwMDY0NAotLS0gYS9zcmMvaHVnZWhlbHAuYworKysgYi9zcmMvaHVnZWhlbHAuYwpAQCAtODcsMTUgKzg3LDE1IEBACiAiICAgICAgICAgIHNlbnQgdG8gc3Rkb3V0IHRvIGJlIGluIHRleHQgbW9kZSBmb3Igd2luMzIgc3lzdGVtcy5cbiIKICJcbiIKICIgICAgIC1jLy0tY29udGludWVcbiIKLSIgICAgICAgICAgQ29udGludWUvUmVzdW1lICBhICAgcHJldmlvdXMgICBmaWxlICAgdHJhbnNmZXIuICAgVGhpc1xuIgotIiAgICAgICAgICBpbnN0cnVjdHMgIGN1cmwgIHRvIGNvbnRpbnVlIGFwcGVuZGluZyBkYXRhIG9uIHRoZSBmaWxlXG4iCi0iICAgICAgICAgIHdoZXJlIGl0IHdhcyBwcmV2aW91c2x5IGxlZnQsICBwb3NzaWJseSAgYmVjYXVzZSAgb2YgIGFcbiIKLSIgICAgICAgICAgYnJva2VuICBjb25uZWN0aW9uIHRvIHRoZSBzZXJ2ZXIuIFRoZXJlIG11c3QgYmUgYSBuYW1lZFxuIgotIiAgICAgICAgICBwaHlzaWNhbCBmaWxlIHRvIGFwcGVuZCB0byBmb3IgIHRoaXMgIHRvICB3b3JrLiAgIE5vdGU6XG4iCi0iICAgICAgICAgIFVwbG9hZCAgcmVzdW1lICBpcyBkZXBlbmluZyBvbiBhIGNvbW1hbmQgbmFtZWQgU0laRSBub3RcbiIKLSIgICAgICAgICAgYWx3YXlzIHByZXNlbnQgaW4gYWxsIGZ0cCBzZXJ2ZXJzISBVcGxvYWQgcmVzdW1lIGlzIGZvclxuIgotIiAgICAgICAgICBGVFAgIG9ubHkuICAgSFRUUCByZXN1bWUgaXMgb25seSBwb3NzaWJsZSB3aXRoIEhUVFAvMS4xXG4iCi0iICAgICAgICAgIG9yIGxhdGVyIHNlcnZlcnMuXG4iCisiICAgICAgICAgIERlcHJlY2F0ZWQuIFVzZSAnLUMgLScgaW5zdGVhZC4gIENvbnRpbnVlL1Jlc3VtZSBhIHByZa1cbiIKKyIgICAgICAgICAgdmlvdXMgIGZpbGUgIHRyYW5zZmVyLiAgVGhpcyBpbnN0cnVjdHMgY3VybCB0byBjb250aW51ZVxuIgorIiAgICAgICAgICBhcHBlbmRpbmcgZGF0YSBvbiB0aGUgIGZpbGUgIHdoZXJlICBpdCAgd2FzICBwcmV2aW91c2x5XG4iCisiICAgICAgICAgIGxlZnQsICBwb3NzaWJseSAgYmVjYXVzZSAgb2YgYSBicm9rZW4gY29ubmVjdGlvbiB0byB0aGVcbiIKKyIgICAgICAgICAgc2VydmVyLiBUaGVyZSBtdXN0IGJlIGEgbmFtZWQgcGh5c2ljYWwgZmlsZSAgdG8gIGFwcGVuZFxuIgorIiAgICAgICAgICB0byAgZm9yICB0aGlzIHRvIHdvcmsuICBOb3RlOiBVcGxvYWQgcmVzdW1lIGlzIGRlcGVuaW5nXG4iCisiICAgICAgICAgIG9uIGEgY29tbWFuZCBuYW1lZCBTSVpFIG5vdCBhbHdheXMgcHJlc2VudCBpbiAgYWxsICBmdHBcbiIKKyIgICAgICAgICAgc2VydmVycyEgVXBsb2FkIHJlc3VtZSBpcyBmb3IgRlRQIG9ubHkuICBIVFRQIHJlc3VtZSBpc1xuIgorIiAgICAgICAgICBvbmx5IHBvc3NpYmxlIHdpdGggSFRUUC8xLjEgb3IgbGF0ZXIgc2VydmVycy5cbiIKICJcbiIKICIgICAgIC1DLy0tY29udGludWUtYXQgPG9mZnNldD5cbiIKICIgICAgICAgICAgQ29udGludWUvUmVzdW1lIGEgcHJldmlvdXMgZmlsZSB0cmFuc2ZlciBhdCAgdGhlICBnaXZlblxuIgpAQCAtMjE0LDIwICsyMTQsMzQgQEAKICIgICAgICAgICAgKEhUVFApIEluY2x1ZGUgdGhlIEhUVFAtaGVhZGVyIGluIHRoZSBvdXRwdXQuIFRoZSBIVFRQLVxuIgogIiAgICAgICAgICBoZWFkZXIgIGluY2x1ZGVzICB0aGluZ3MgIGxpa2Ugc2VydmVyLW5hbWUsIGRhdGUgb2YgdGhlXG4iCiAiICAgICAgICAgIGRvY3VtZW50LCBIVFRQLXZlcnNpb24gYW5kIG1vcmUuLi5cbiIKKyIgICAgIC0taW50ZXJmYWNlIDxuYW1lPlxuIgorIiAgICAgICAgICBQZXJmb3JtIGFuIG9wZXJhdGlvbiB1c2luZyBhIHNwZWNpZmllZCAgaW50ZXJmYWNlLiAgWW91XG4iCisiICAgICAgICAgIGNhbiAgZW50ZXIgIGludGVyZmFjZSBuYW1lLCBJUCBhZGRyZXNzIG9yIGhvc3QgbmFtZS4gQW5cbiIKKyIgICAgICAgICAgZXhhbXBsZSBjb3VsZCBsb29rIGxpa2U6XG4iCisiXG4iCisiICAgICAgICAgIGN1cmwgLS1pbnRlcmZhY2UgZXRoMDoxIGh0dHA6Ly93d3cubmV0c2NhcGUuY29tL1xuIgorIlxuIgogIiAgICAgLUkvLS1oZWFkXG4iCiAiICAgICAgICAgIChIVFRQL0ZUUCkgRmV0Y2ggIHRoZSAgSFRUUC1oZWFkZXIgIG9ubHkhICBIVFRQLXNlcnZlcnNcbiIKICIgICAgICAgICAgZmVhdHVyZSB0aGUgY29tbWFuZCBIRUFEIHdoaWNoIHRoaXMgdXNlcyB0byBnZXQgbm90aGluZ1xuIgogIiAgICAgICAgICBidXQgdGhlIGhlYWRlciBvZiBhIGRvY3VtZW50LiBXaGVuIHVzZWQgb24gYSBGVFAgIGZpbGUsXG4iCiAiICAgICAgICAgIGN1cmwgZGlzcGxheXMgdGhlIGZpbGUgc2l6ZSBvbmx5LlxuIgogIlxuIgorIiAgICAgLS1rcmI0IDxsZXZlbD5cbiIKKyIgICAgICAgICAgKEZUUCkgIEVuYWJsZSAga2VyYmVyb3M0ICBhdXRoZW50aWNhdGlvbiAgYW5kICB1c2UuIFRoZVxuIgorKTsKKyBwdXRzKAorIiAgICAgICAgICBsZXZlbCBtdXN0IGJlIGVudGVyZWQgYW5kIHNob3VsZCAgYmUgIG9uZSAgb2YgICdjbGVhcicsXG4iCisiICAgICAgICAgICdzYWZlJywgICdjb25maWRlbnRpYWwnICBvciAncHJpdmF0ZScuIFNob3VsZCB5b3UgdXNlIGFcbiIKKyIgICAgICAgICAgbGV2ZWwgdGhhdCBpcyBub3Qgb25lIG9mIHRoZXNlLCAncHJpdmF0ZScgd2lsbCAgaW5zdGVhZFxuIgorIiAgICAgICAgICBiZSB1c2VkLlxuIgorIlxuIgogIiAgICAgLUsvLS1jb25maWcgPGNvbmZpZyBmaWxlPlxuIgogIiAgICAgICAgICBTcGVjaWZ5ICB3aGljaCBjb25maWcgZmlsZSB0byByZWFkIGN1cmwgYXJndW1lbnRzIGZyb20uXG4iCiAiICAgICAgICAgIFRoZSBjb25maWcgZmlsZSBpcyBhIHRleHQgZmlsZSBpbiAgd2hpY2ggIGNvbW1hbmQgIGxpbmVcbiIKICIgICAgICAgICAgYXJndW1lbnRzICBjYW4gYmUgd3JpdHRlbiB3aGljaCB0aGVuIHdpbGwgYmUgdXNlZCBhcyBpZlxuIgogIiAgICAgICAgICB0aGV5IHdlcmUgd3JpdHRlbiBvbiB0aGUgYWN0dWFsIGNvbW1hbmQgIGxpbmUuICBJZiAgdGhlXG4iCiAiICAgICAgICAgIGZpcnN0ICBjb2x1bW4gIG9mIGEgY29uZmlnIGxpbmUgaXMgYSAnIycgY2hhcmFjdGVyLCB0aGVcbiIKLSk7Ci0gcHV0cygKICIgICAgICAgICAgcmVzdCBvZiB0aGUgbGluZSB3aWxsIGJlIHRyZWF0ZWQgYXMgYSBjb21tZW50LlxuIgogIlxuIgogIiAgICAgICAgICBTcGVjaWZ5IHRoZSBmaWxlbmFtZSBhcyAnLScgdG8gbWFrZSBjdXJsIHJlYWQgdGhlICBmaWxlXG4iCkBAIC0zMDIsNiArMzE2LDE1IEBACiAiICAgICAgICAgIHdlIGdldC4gKE9ubHkgdGhlIGZpbGUgcGFydCBvZiB0aGUgcmVtb3RlIGZpbGUgaXMgdXNlZCxcbiIKICIgICAgICAgICAgdGhlIHBhdGggaXMgY3V0IG9mZi4pXG4iCiAiXG4iCisiICAgICAtcC8tLXByb3h5dHVubmVsXG4iCisiICAgICAgICAgIFdoZW4gYW4gSFRUUCBwcm94eSBpcyB1c2VkLCB0aGlzIG9wdGlvbiB3aWxsIGNhdXNlIG5vbi1cbiIKKyIgICAgICAgICAgSFRUUCAgcHJvdG9jb2xzICB0byBhdHRlbXB0IHRvIHR1bm5lbCB0aHJvdWdoIHRoZSBwcm94eVxuIgorIiAgICAgICAgICBpbnN0ZWFkIG9mIG1lcmVseSB1c2luZyBpdCB0byBkbyBIVFRQLWxpa2UgIG9wZXJhdGlvbnMuXG4iCisiICAgICAgICAgIFRoZSB0dW5uZWwgYXBwcm9hY2ggaXMgbWFkZSB3aXRoIHRoZSBIVFRQIHByb3h5IENPTk5FQ1RcbiIKKyIgICAgICAgICAgcmVxdWVzdCBhbmQgcmVxdWlyZXMgdGhhdCB0aGUgcHJveHkgYWxsb3dzIGRpcmVjdCAgY29urVxuIgorIiAgICAgICAgICBuZWN0ICB0byAgdGhlICByZW1vdGUgIHBvcnQgbnVtYmVyIGN1cmwgd2FudHMgdG8gdHVubmVsXG4iCisiICAgICAgICAgIHRocm91Z2ggdG8uXG4iCisiXG4iCiAiICAgICAtUC8tLWZ0cHBvcnQgPGFkZHJlc3M+XG4iCiAiICAgICAgICAgIChGVFApIFJldmVyc2VzIHRoZSBpbml0aWF0b3IvbGlzdGVuZXIgcm9sZXMgIHdoZW4gIGNvbq1cbiIKICIgICAgICAgICAgbmVjdGluZyAgd2l0aCAgZnRwLiBUaGlzIHN3aXRjaCBtYWtlcyBDdXJsIHVzZSB0aGUgUE9SVFxuIgpAQCAtMzIwLDYgKzM0Myw3IEBACiAiXG4iCiAiICAgICAgICAgIC0gICAgICAgICAgIChhbnkgIHNpbmdsZS1sZXR0ZXIgc3RyaW5nKSB0byBtYWtlIGl0IHBpY2tcbiIKICIgICAgICAgICAgICAgICAgICAgICAgdGhlIG1hY2hpbmUncyBkZWZhdWx0XG4iCisiXG4iCiAiICAgICAtcSAgIElmIHVzZWQgYXMgdGhlIGZpcnN0IHBhcmFtZXRlciBvbiB0aGUgY29tbWFuZCBsaW5lLCB0aGVcbiIKICIgICAgICAgICAgJEhPTUUvLmN1cmxyYyAgZmlsZSB3aWxsIG5vdCBiZSByZWFkIGFuZCB1c2VkIGFzIGEgY29urVxuIgogIiAgICAgICAgICBmaWcgZmlsZS5cbiIKQEAgLTM0Nyw4ICszNzEsOCBAQAogIlxuIgogIiAgICAgICAgICAtNTAwICAgICAgc3BlY2lmaWVzIHRoZSBsYXN0IDUwMCBieXRlc1xuIgogIlxuIgotIiAgICAgICAgICA5NTAwICAgICAgc3BlY2lmaWVzIHRoZSBieXRlcyBmcm9tIG9mZnNldCA5NTAwIGFuZCBmb3KtXG4iCi0iICAgICAgICAgICAgICAgICAgICB3YXJkXG4iCisiICAgICAgICAgIDk1MDAgICAgICBzcGVjaWZpZXMgIHRoZSAgYnl0ZXMgIGZyb20gIG9mZnNldCAgOTUwMCBhbmRcbiIKKyIgICAgICAgICAgICAgICAgICAgIGZvcndhcmRcbiIKICJcbiIKICIgICAgICAgICAgMC0wLC0xICAgIHNwZWNpZmllcyB0aGUgZmlyc3QgYW5kIGxhc3QgYnl0ZSBvbmx5KCopKEgpXG4iCiAiXG4iCkBAIC0zNzIsMTQ2ICszOTYsMTQ3IEBACiAiICAgICAtcy8tLXNpbGVudFxuIgogIiAgICAgICAgICBTaWxlbnQgbW9kZS4gRG9uJ3Qgc2hvdyBwcm9ncmVzcyBtZXRlciAgb3IgIGVycm9yICBtZXOtXG4iCiAiICAgICAgICAgIHNhZ2VzLiAgTWFrZXMgQ3VybCBtdXRlLlxuIgorIlxuIgogIiAgICAgLVMvLS1zaG93LWVycm9yXG4iCiAiICAgICAgICAgIFdoZW4gIHVzZWQgIHdpdGggLXMgaXQgbWFrZXMgY3VybCBzaG93IGVycm9yIG1lc3NhZ2UgaWZcbiIKICIgICAgICAgICAgaXQgZmFpbHMuXG4iCiAiXG4iCiAiICAgICAtdC8tLXVwbG9hZFxuIgotIiAgICAgICAgICBUcmFuc2ZlciB0aGUgc3RkaW4gZGF0YSB0byAgdGhlICBzcGVjaWZpZWQgIGZpbGUuICBDdXJsXG4iCi0iICAgICAgICAgIHdpbGwgIHJlYWQgIGV2ZXJ5dGhpbmcgIGZyb20gIHN0ZGluIHVudGlsIEVPRiBhbmQgc3RvcmVcbiIKLSIgICAgICAgICAgd2l0aCB0aGUgc3VwcGxpZWQgbmFtZS4gSWYgdGhpcyBpcyB1c2VkICBvbiAgYSAgaHR0cChzKVxuIgotIiAgICAgICAgICBzZXJ2ZXIsIHRoZSBQVVQgY29tbWFuZCB3aWxsIGJlIHVzZWQuXG4iCisiICAgICAgICAgIERlcHJlY2F0ZWQuIFVzZSAnLVQgLScgIGluc3RlYWQuICAgVHJhbnNmZXIgIHRoZSAgc3RkaW5cbiIKKyIgICAgICAgICAgZGF0YSAgdG8gIHRoZSBzcGVjaWZpZWQgZmlsZS4gQ3VybCB3aWxsIHJlYWQgZXZlcnl0aGluZ1xuIgorIiAgICAgICAgICBmcm9tIHN0ZGluIHVudGlsIEVPRiBhbmQgc3RvcmUgd2l0aCB0aGUgc3VwcGxpZWQgIG5hbWUuXG4iCisiICAgICAgICAgIElmICB0aGlzICBpcyAgdXNlZCBvbiBhIGh0dHAocykgc2VydmVyLCB0aGUgUFVUIGNvbW1hbmRcbiIKKyIgICAgICAgICAgd2lsbCBiZSB1c2VkLlxuIgogIlxuIgogIiAgICAgLVQvLS11cGxvYWQtZmlsZSA8ZmlsZT5cbiIKLSIgICAgICAgICAgTGlrZSAgLXQsICBidXQgdGhpcyB0cmFuc2ZlcnMgdGhlIHNwZWNpZmllZCBsb2NhbCBmaWxlLlxuIgotIiAgICAgICAgICBJZiB0aGVyZSBpcyBubyBmaWxlIHBhcnQgaW4gIHRoZSAgc3BlY2lmaWVkICBVUkwsICBDdXJsXG4iCisiICAgICAgICAgIExpa2UgLXQsIGJ1dCB0aGlzIHRyYW5zZmVycyB0aGUgc3BlY2lmaWVkICBsb2NhbCAgZmlsZS5cbiIKKyIgICAgICAgICAgSWYgIHRoZXJlICBpcyAgbm8gIGZpbGUgcGFydCBpbiB0aGUgc3BlY2lmaWVkIFVSTCwgQ3VybFxuIgogIiAgICAgICAgICB3aWxsIGFwcGVuZCB0aGUgbG9jYWwgZmlsZSBuYW1lLiBOT1RFIHRoYXQgeW91IG11c3QgdXNlXG4iCi0iICAgICAgICAgIGEgdHJhaWxpbmcgLyBvbiB0aGUgbGFzdCBkaXJlY3RvcnkgdG8gcmVhbGx5ICBwcm92ZSAgdG9cbiIKKyIgICAgICAgICAgYSAgdHJhaWxpbmcgIC8gb24gdGhlIGxhc3QgZGlyZWN0b3J5IHRvIHJlYWxseSBwcm92ZSB0b1xuIgogIiAgICAgICAgICBDdXJsIHRoYXQgdGhlcmUgaXMgbm8gZmlsZSBuYW1lIG9yIGN1cmwgd2lsbCB0aGluayB0aGF0XG4iCi0iICAgICAgICAgIHlvdXIgbGFzdCBkaXJlY3RvcnkgbmFtZSBpcyB0aGUgIHJlbW90ZSAgZmlsZSAgbmFtZSAgdG9cbiIKLSIgICAgICAgICAgdXNlLiAgVGhhdCAgd2lsbCBtb3N0IGxpa2VseSBjYXVzZSB0aGUgdXBsb2FkIG9wZXJhdGlvblxuIgotIiAgICAgICAgICB0byBmYWlsLiBJZiB0aGlzIGlzIHVzZWQgb24gYSBodHRwKHMpIHNlcnZlciwgIHRoZSAgUFVUXG4iCisiICAgICAgICAgIHlvdXIgIGxhc3QgIGRpcmVjdG9yeSAgbmFtZSAgaXMgdGhlIHJlbW90ZSBmaWxlIG5hbWUgdG9cbiIKKyIgICAgICAgICAgdXNlLiBUaGF0IHdpbGwgbW9zdCBsaWtlbHkgY2F1c2UgdGhlICB1cGxvYWQgIG9wZXJhdGlvblxuIgorIiAgICAgICAgICB0byAgZmFpbC4gIElmIHRoaXMgaXMgdXNlZCBvbiBhIGh0dHAocykgc2VydmVyLCB0aGUgUFVUXG4iCiAiICAgICAgICAgIGNvbW1hbmQgd2lsbCBiZSB1c2VkLlxuIgogIlxuIgogIiAgICAgLXUvLS11c2VyIDx1c2VyOnBhc3N3b3JkPlxuIgotIiAgICAgICAgICBTcGVjaWZ5ICB1c2VyICBhbmQgIHBhc3N3b3JkICB0byB1c2Ugd2hlbiBmZXRjaGluZy4gU2VlXG4iCi0iICAgICAgICAgIFJFQURNRS5jdXJsIGZvciBkZXRhaWxlZCBleGFtcGxlcyBvZiBob3cgdG8gIHVzZSAgdGhpcy5cbiIKLSIgICAgICAgICAgSWYgIG5vICBwYXNzd29yZCAgaXMgIHNwZWNpZmllZCwgIGN1cmwgIHdpbGwgYXNrIGZvciBpdFxuIgorIiAgICAgICAgICBTcGVjaWZ5IHVzZXIgYW5kIHBhc3N3b3JkIHRvICB1c2UgIHdoZW4gIGZldGNoaW5nLiAgU2VlXG4iCisiICAgICAgICAgIFJFQURNRS5jdXJsICBmb3IgIGRldGFpbGVkIGV4YW1wbGVzIG9mIGhvdyB0byB1c2UgdGhpcy5cbiIKKyIgICAgICAgICAgSWYgbm8gcGFzc3dvcmQgaXMgIHNwZWNpZmllZCwgIGN1cmwgIHdpbGwgIGFzayAgZm9yICBpdFxuIgogIiAgICAgICAgICBpbnRlcmFjdGl2ZWx5LlxuIgotIlxuIgogIiAgICAgLVUvLS1wcm94eS11c2VyIDx1c2VyOnBhc3N3b3JkPlxuIgotIiAgICAgICAgICBTcGVjaWZ5IHVzZXIgYW5kIHBhc3N3b3JkIHRvIHVzZSBmb3IgUHJveHkgIGF1dGhlbnRpY2GtXG4iCisiICAgICAgICAgIFNwZWNpZnkgIHVzZXIgYW5kIHBhc3N3b3JkIHRvIHVzZSBmb3IgUHJveHkgYXV0aGVudGljYa1cbiIKICIgICAgICAgICAgdGlvbi4gSWYgbm8gcGFzc3dvcmQgaXMgc3BlY2lmaWVkLCBjdXJsIHdpbGwgYXNrIGZvciBpdFxuIgogIiAgICAgICAgICBpbnRlcmFjdGl2ZWx5LlxuIgogIlxuIgogIiAgICAgLXYvLS12ZXJib3NlXG4iCi0iICAgICAgICAgIE1ha2VzICB0aGUgIGZldGNoaW5nICBtb3JlICB2ZXJib3NlL3RhbGthdGl2ZS4gICBNb3N0bHlcbiIKLSIgICAgICAgICAgdXNhYmxlICBmb3IgIGRlYnVnZ2luZy4gIExpbmVzICBzdGFydGluZyB3aXRoICc+JyBtZWFuc1xuIgorIiAgICAgICAgICBNYWtlcyAgIHRoZSAgZmV0Y2hpbmcgIG1vcmUgIHZlcmJvc2UvdGFsa2F0aXZlLiAgTW9zdGx5XG4iCisiICAgICAgICAgIHVzYWJsZSBmb3IgZGVidWdnaW5nLiBMaW5lcyAgc3RhcnRpbmcgIHdpdGggICc+JyAgbWVhbnNcbiIKICIgICAgICAgICAgZGF0YSBzZW50IGJ5IGN1cmwsICc8JyBtZWFucyBkYXRhIHJlY2VpdmVkIGJ5IGN1cmwgdGhhdFxuIgotIiAgICAgICAgICBpcyAgaGlkZGVuICBpbiBub3JtYWwgY2FzZXMgYW5kIGxpbmVzIHN0YXJ0aW5nIHdpdGggJyonXG4iCisiICAgICAgICAgIGlzIGhpZGRlbiBpbiBub3JtYWwgY2FzZXMgYW5kIGxpbmVzIHN0YXJ0aW5nICB3aXRoICAnKidcbiIKICIgICAgICAgICAgbWVhbnMgYWRkaXRpb25hbCBpbmZvIHByb3ZpZGVkIGJ5IGN1cmwuXG4iCiAiXG4iCiAiICAgICAtVi8tLXZlcnNpb25cbiIKLSIgICAgICAgICAgRGlzcGxheXMgdGhlIGZ1bGwgdmVyc2lvbiBvZiBjdXJsLCAgbGliY3VybCAgYW5kICBvdGhlclxuIgorIiAgICAgICAgICBEaXNwbGF5cyAgdGhlICBmdWxsICB2ZXJzaW9uIG9mIGN1cmwsIGxpYmN1cmwgYW5kIG90aGVyXG4iCiAiICAgICAgICAgIDNyZCBwYXJ0eSBsaWJyYXJpZXMgbGlua2VkIHdpdGggdGhlIGV4ZWN1dGFibGUuXG4iCiAiXG4iCiAiICAgICAtdy8tLXdyaXRlLW91dCA8Zm9ybWF0PlxuIgotIiAgICAgICAgICBEZWZpbmVzICB3aGF0IHRvIGRpc3BsYXkgYWZ0ZXIgYSBjb21wbGV0ZWQgYW5kIHN1Y2Nlc3OtXG4iCi0iICAgICAgICAgIGZ1bCBvcGVyYXRpb24uIFRoZSBmb3JtYXQgaXMgYSBzdHJpbmcgdGhhdCBtYXkgIGNvbnRhaW5cbiIKLSIgICAgICAgICAgcGxhaW4gIHRleHQgIG1peGVkICB3aXRoICBhbnkgIG51bWJlciBvZiB2YXJpYWJsZXMuIFRoZVxuIgorIiAgICAgICAgICBEZWZpbmVzIHdoYXQgdG8gZGlzcGxheSBhZnRlciBhIGNvbXBsZXRlZCBhbmQgIHN1Y2Nlc3OtXG4iCisiICAgICAgICAgIGZ1bCAgb3BlcmF0aW9uLiBUaGUgZm9ybWF0IGlzIGEgc3RyaW5nIHRoYXQgbWF5IGNvbnRhaW5cbiIKKyIgICAgICAgICAgcGxhaW4gdGV4dCBtaXhlZCB3aXRoICBhbnkgIG51bWJlciAgb2YgIHZhcmlhYmxlcy4gIFRoZVxuIgogIiAgICAgICAgICBzdHJpbmcgY2FuIGJlIHNwZWNpZmllZCBhcyBcInN0cmluZ1wiLCB0byBnZXQgcmVhZCBmcm9tIGFcbiIKLSIgICAgICAgICAgcGFydGljdWxhciAgZmlsZSB5b3Ugc3BlY2lmeSBpdCBcIkBmaWxlbmFtZVwiIGFuZCB0byB0ZWxsXG4iCisiICAgICAgICAgIHBhcnRpY3VsYXIgZmlsZSB5b3Ugc3BlY2lmeSBpdCBcIkBmaWxlbmFtZVwiIGFuZCB0byAgdGVsbFxuIgogIiAgICAgICAgICBjdXJsIHRvIHJlYWQgdGhlIGZvcm1hdCBmcm9tIHN0ZGluIHlvdSB3cml0ZSBcIkAtXCIuXG4iCiAiXG4iCi0iICAgICAgICAgIFRoZSB2YXJpYWJsZXMgcHJlc2VudCBpbiAgdGhlICBvdXRwdXQgIGZvcm1hdCAgd2lsbCAgYmVcbiIKLSIgICAgICAgICAgc3Vic3RpdHV0ZWQgIGJ5IHRoZSB2YWx1ZSBvciB0ZXh0IHRoYXQgY3VybCB0aGlua3MgZml0LFxuIgotIiAgICAgICAgICBhcyBkZXNjcmliZWQgYmVsb3cuIEFsbCB2YXJpYWJsZXMgIGFyZSAgc3BlY2lmaWVkICBsaWtlXG4iCi0iICAgICAgICAgICV7dmFyaWFibGVfbmFtZX0gIGFuZCAgdG8gIG91dHB1dCAgYSAgbm9ybWFsICUgeW91IGp1c3RcbiIKLSIgICAgICAgICAgd3JpdGUgdGhlbSBsaWtlICUlLiBZb3UgY2FuIG91dHB1dCBhIG5ld2xpbmUgIGJ5ICB1c2luZ1xuIgorIiAgICAgICAgICBUaGUgdmFyaWFibGVzIHByZXNlbnQgaW4gdGhlIG91dHB1dCBmb3JtYXQgd2lsbCBiZSBzdWKtXG4iCisiICAgICAgICAgIHN0aXR1dGVkIGJ5IHRoZSB2YWx1ZSBvciB0ZXh0IHRoYXQgY3VybCB0aGlua3MgZml0LCAgYXNcbiIKKyIgICAgICAgICAgZGVzY3JpYmVkICBiZWxvdy4gIEFsbCAgdmFyaWFibGVzICBhcmUgIHNwZWNpZmllZCAgbGlrZVxuIgorIiAgICAgICAgICAle3ZhcmlhYmxlX25hbWV9IGFuZCB0byBvdXRwdXQgIGEgIG5vcm1hbCAgJSAgeW91ICBqdXN0XG4iCisiICAgICAgICAgIHdyaXRlICB0aGVtICBsaWtlICUlLiBZb3UgY2FuIG91dHB1dCBhIG5ld2xpbmUgYnkgdXNpbmdcbiIKICIgICAgICAgICAgXFxuLCBhIGNhcnJpZ2UgcmV0dXJuIHdpdGggXFxyIGFuZCBhIHRhYiBzcGFjZSB3aXRoIFxcdC5cbiIKICJcbiIKLSIgICAgICAgICAgTk9URTogICBUaGUgICAlLWxldHRlciAgaXMgIGEgIHNwZWNpYWwgIGxldHRlciAgaW4gIHRoZVxuIgotIiAgICAgICAgICB3aW4zMi1lbnZpcm9ubWVudCwgd2hlcmUgYWxsIG9jY3VycmVuY2VzIG9mICUgIG11c3QgIGJlXG4iCisiICAgICAgICAgIE5PVEU6ICBUaGUgICUtbGV0dGVyICBpcyAgYSAgc3BlY2lhbCAgbGV0dGVyICAgaW4gICB0aGVcbiIKKyIgICAgICAgICAgd2luMzItZW52aXJvbm1lbnQsICB3aGVyZSAgYWxsIG9jY3VycmVuY2VzIG9mICUgbXVzdCBiZVxuIgogIiAgICAgICAgICBkb3VibGVkIHdoZW4gdXNpbmcgdGhpcyBvcHRpb24uXG4iCiAiXG4iCiAiICAgICAgICAgIEF2YWlsYWJsZSB2YXJpYWJsZXMgYXJlIGF0IHRoaXMgcG9pbnQ6XG4iCiAiXG4iCi0iICAgICAgICAgIHVybF9lZmZlY3RpdmUgIFRoZSAgVVJMICB0aGF0IHdhcyBmZXRjaGVkIGxhc3QuIFRoaXMgaXNcbiIKKyIgICAgICAgICAgdXJsX2VmZmVjdGl2ZSAgVGhlIFVSTCB0aGF0IHdhcyBmZXRjaGVkIGxhc3QuICBUaGlzICBpc1xuIgogIiAgICAgICAgICAgICAgICAgICAgICAgICBtb3N0bHkgbWVhbmluZ2Z1bCBpZiB5b3UndmUgdG9sZCBjdXJsIHRvXG4iCiAiICAgICAgICAgICAgICAgICAgICAgICAgIGZvbGxvdyBsb2NhdGlvbjogaGVhZGVycy5cbiIKICJcbiIKICIgICAgICAgICAgaHR0cF9jb2RlICAgICAgVGhlIG51bWVyaWNhbCBjb2RlIHRoYXQgd2FzIGZvdW5kIGluIHRoZVxuIgorKTsKKyBwdXRzKAogIiAgICAgICAgICAgICAgICAgICAgICAgICBsYXN0IHJldHJpZXZlZCBIVFRQKFMpIHBhZ2UuXG4iCiAiXG4iCi0iICAgICAgICAgIHRpbWVfdG90YWwgICAgIFRoZSB0b3RhbCB0aW1lLCAgaW4gIHNlY29uZHMsICB0aGF0ICB0aGVcbiIKLSIgICAgICAgICAgICAgICAgICAgICAgICAgZnVsbCAgb3BlcmF0aW9uIGxhc3RlZC4gVGhlIHRpbWUgd2lsbCBiZVxuIgorIiAgICAgICAgICB0aW1lX3RvdGFsICAgICBUaGUgIHRvdGFsICB0aW1lLCAgaW4gIHNlY29uZHMsIHRoYXQgdGhlXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bGwgb3BlcmF0aW9uIGxhc3RlZC4gVGhlIHRpbWUgd2lsbCAgYmVcbiIKICIgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheWVkIHdpdGggbWlsbGlzZWNvbmQgcmVzb2x1dGlvbi5cbiIKICJcbiIKICIgICAgICAgICAgdGltZV9uYW1lbG9va3VwXG4iCi0iICAgICAgICAgICAgICAgICAgICAgICAgIFRoZSB0aW1lLCBpbiBzZWNvbmRzLCBpdCB0b29rICBmcm9tICB0aGVcbiIKLSIgICAgICAgICAgICAgICAgICAgICAgICAgc3RhcnQgIHVudGlsIHRoZSBuYW1lIHJlc29sdmluZyB3YXMgY29trVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICBUaGUgIHRpbWUsICBpbiBzZWNvbmRzLCBpdCB0b29rIGZyb20gdGhlXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXJ0IHVudGlsIHRoZSBuYW1lIHJlc29sdmluZyB3YXMgIGNvba1cbiIKICIgICAgICAgICAgICAgICAgICAgICAgICAgcGxldGVkLlxuIgotIlxuIgotIiAgICAgICAgICB0aW1lX2Nvbm5lY3QgICBUaGUgdGltZSwgaW4gc2Vjb25kcywgaXQgdG9vayAgZnJvbSAgdGhlXG4iCi0iICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXJ0ICB1bnRpbCAgdGhlICBjb25uZWN0IHRvIHRoZSByZW1vdGVcbiIKKyIgICAgICAgICAgdGltZV9jb25uZWN0ICAgVGhlICB0aW1lLCAgaW4gc2Vjb25kcywgaXQgdG9vayBmcm9tIHRoZVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICBzdGFydCB1bnRpbCB0aGUgY29ubmVjdCAgdG8gIHRoZSAgcmVtb3RlXG4iCiAiICAgICAgICAgICAgICAgICAgICAgICAgIGhvc3QgKG9yIHByb3h5KSB3YXMgY29tcGxldGVkLlxuIgogIlxuIgogIiAgICAgICAgICB0aW1lX3ByZXRyYW5zZmVyXG4iCi0iICAgICAgICAgICAgICAgICAgICAgICAgIFRoZSB0aW1lLCBpbiBzZWNvbmRzLCBpdCB0b29rICBmcm9tICB0aGVcbiIKLSIgICAgICAgICAgICAgICAgICAgICAgICAgc3RhcnQgIHVudGlsICB0aGUgIGZpbGUgdHJhbnNmZXIgaXMganVzdFxuIgotIiAgICAgICAgICAgICAgICAgICAgICAgICBhYm91dCB0byBiZWdpbi4gVGhpcyBpbmNsdWRlcyAgYWxsICBwcmUtXG4iCi0iICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZmVyICBjb21tYW5kcyBhbmQgbmVnb3RpYXRpb25zIHRoYXRcbiIKLSIgICAgICAgICAgICAgICAgICAgICAgICAgYXJlIHNwZWNpZmljIHRvICB0aGUgIHBhcnRpY3VsYXIgIHByb3RvrVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICBUaGUgIHRpbWUsICBpbiBzZWNvbmRzLCBpdCB0b29rIGZyb20gdGhlXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXJ0IHVudGlsIHRoZSBmaWxlICB0cmFuc2ZlciAgaXMgIGp1c3RcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgYWJvdXQgIHRvICBiZWdpbi4gVGhpcyBpbmNsdWRlcyBhbGwgcHJlLVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2ZlciBjb21tYW5kcyBhbmQgbmVnb3RpYXRpb25zICB0aGF0XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgIGFyZSAgc3BlY2lmaWMgIHRvICB0aGUgcGFydGljdWxhciBwcm90b61cbiIKICIgICAgICAgICAgICAgICAgICAgICAgICAgY29sKHMpIGludm9sdmVkLlxuIgotKTsKLSBwdXRzKAogIlxuIgotIiAgICAgICAgICBzaXplX2Rvd25sb2FkICBUaGUgIHRvdGFsICBhbW91bnQgIG9mICBieXRlcyAgdGhhdCB3ZXJlXG4iCisiICAgICAgICAgIHNpemVfZG93bmxvYWQgIFRoZSB0b3RhbCAgYW1vdW50ICBvZiAgYnl0ZXMgIHRoYXQgIHdlcmVcbiIKICIgICAgICAgICAgICAgICAgICAgICAgICAgZG93bmxvYWRlZC5cbiIKICJcbiIKLSIgICAgICAgICAgc2l6ZV91cGxvYWQgICAgVGhlIHRvdGFsICBhbW91bnQgIG9mICBieXRlcyAgdGhhdCAgd2VyZVxuIgorIiAgICAgICAgICBzaXplX3VwbG9hZCAgICBUaGUgIHRvdGFsICBhbW91bnQgIG9mICBieXRlcyAgdGhhdCB3ZXJlXG4iCiAiICAgICAgICAgICAgICAgICAgICAgICAgIHVwbG9hZGVkLlxuIgogIlxuIgotIiAgICAgICAgICBzcGVlZF9kb3dubG9hZCBUaGUgIGF2ZXJhZ2UgIGRvd25sb2FkICBzcGVlZCAgdGhhdCBjdXJsXG4iCisiICAgICAgICAgIHNwZWVkX2Rvd25sb2FkIFRoZSBhdmVyYWdlICBkb3dubG9hZCAgc3BlZWQgIHRoYXQgIGN1cmxcbiIKICIgICAgICAgICAgICAgICAgICAgICAgICAgbWVhc3VyZWQgZm9yIHRoZSBjb21wbGV0ZSBkb3dubG9hZC5cbiIKICJcbiIKLSIgICAgICAgICAgc3BlZWRfdXBsb2FkICAgVGhlIGF2ZXJhZ2UgdXBsb2FkIHNwZWVkIHRoYXQgY3VybCAgbWVhrVxuIgorIiAgICAgICAgICBzcGVlZF91cGxvYWQgICBUaGUgIGF2ZXJhZ2UgdXBsb2FkIHNwZWVkIHRoYXQgY3VybCBtZWGtXG4iCiAiICAgICAgICAgICAgICAgICAgICAgICAgIHN1cmVkIGZvciB0aGUgY29tcGxldGUgZG93bmxvYWQuXG4iCisiXG4iCiAiICAgICAteC8tLXByb3h5IDxwcm94eWhvc3RbOnBvcnRdPlxuIgotIiAgICAgICAgICBVc2UgIHNwZWNpZmllZCAgcHJveHkuIElmIHRoZSBwb3J0IG51bWJlciBpcyBub3Qgc3BlY2mtXG4iCisiICAgICAgICAgIFVzZSBzcGVjaWZpZWQgcHJveHkuIElmIHRoZSBwb3J0IG51bWJlciBpcyAgbm90ICBzcGVjaa1cbiIKICIgICAgICAgICAgZmllZCwgaXQgaXMgYXNzdW1lZCBhdCBwb3J0IDEwODAuXG4iCiAiXG4iCiAiICAgICAtWC8tLXJlcXVlc3QgPGNvbW1hbmQ+XG4iCi0iICAgICAgICAgIChIVFRQKSBTcGVjaWZpZXMgYSBjdXN0b20gcmVxdWVzdCB0byB1c2Ugd2hlbiAgY29tbXVuaa1cbiIKLSIgICAgICAgICAgY2F0aW5nICB3aXRoICB0aGUgIEhUVFAgIHNlcnZlci4gIFRoZSBzcGVjaWZpZWQgcmVxdWVzdFxuIgorIiAgICAgICAgICAoSFRUUCkgIFNwZWNpZmllcyBhIGN1c3RvbSByZXF1ZXN0IHRvIHVzZSB3aGVuIGNvbW11bmmtXG4iCisiICAgICAgICAgIGNhdGluZyB3aXRoIHRoZSBIVFRQICBzZXJ2ZXIuICAgVGhlICBzcGVjaWZpZWQgIHJlcXVlc3RcbiIKICIgICAgICAgICAgd2lsbCBiZSB1c2VkIGluc3RlYWQgb2YgdGhlIHN0YW5kYXJkIEdFVC4gUmVhZCB0aGUgSFRUUFxuIgogIiAgICAgICAgICAxLjEgc3BlY2lmaWNhdGlvbiBmb3IgZGV0YWlscyBhbmQgZXhwbGFuYXRpb25zLlxuIgogIlxuIgotIiAgICAgICAgICAoRlRQKSAgU3BlY2lmaWVzIGEgY3VzdG9tIEZUUCBjb21tYW5kIHRvIHVzZSBpbnN0ZWFkIG9mXG4iCisiICAgICAgICAgIChGVFApIFNwZWNpZmllcyBhIGN1c3RvbSBGVFAgY29tbWFuZCB0byB1c2UgaW5zdGVhZCAgb2ZcbiIKICIgICAgICAgICAgTElTVCB3aGVuIGRvaW5nIGZpbGUgbGlzdHMgd2l0aCBmdHAuXG4iCiAiXG4iCiAiICAgICAteS8tLXNwZWVkLXRpbWUgPHRpbWU+XG4iCiAiICAgICAgICAgIElmIGEgZG93bmxvYWQgaXMgc2xvd2VyIHRoYW4gc3BlZWQtbGltaXQgYnl0ZXMgcGVyIHNlY61cbiIKLSIgICAgICAgICAgb25kICBkdXJpbmcgIGEgIHNwZWVkLXRpbWUgIHBlcmlvZCwgIHRoZSAgZG93bmxvYWQgZ2V0c1xuIgorIiAgICAgICAgICBvbmQgZHVyaW5nICBhICBzcGVlZC10aW1lICBwZXJpb2QsICB0aGUgIGRvd25sb2FkICBnZXRzXG4iCiAiICAgICAgICAgIGFib3J0ZWQuIElmIHNwZWVkLXRpbWUgaXMgdXNlZCwgdGhlIGRlZmF1bHQgc3BlZWQtbGltaXRcbiIKICIgICAgICAgICAgd2lsbCBiZSAxIHVubGVzcyBzZXQgd2l0aCAteS5cbiIKICJcbiIKICIgICAgIC1ZLy0tc3BlZWQtbGltaXQgPHNwZWVkPlxuIgogIiAgICAgICAgICBJZiBhIGRvd25sb2FkIGlzIHNsb3dlciB0aGFuIHRoaXMgZ2l2ZW4gc3BlZWQsIGluIGJ5dGVzXG4iCi0iICAgICAgICAgIHBlciBzZWNvbmQsIGZvciBzcGVlZC10aW1lICBzZWNvbmRzICBpdCAgZ2V0cyAgYWJvcnRlZC5cbiIKKyIgICAgICAgICAgcGVyICBzZWNvbmQsICBmb3IgIHNwZWVkLXRpbWUgIHNlY29uZHMgaXQgZ2V0cyBhYm9ydGVkLlxuIgogIiAgICAgICAgICBzcGVlZC10aW1lIGlzIHNldCB3aXRoIC1ZIGFuZCBpcyAzMCBpZiBub3Qgc2V0LlxuIgogIlxuIgogIiAgICAgLXovLS10aW1lLWNvbmQgPGRhdGUgZXhwcmVzc2lvbj5cbiIKLSIgICAgICAgICAgKEhUVFApICBSZXF1ZXN0ICB0byAgZ2V0ICBhIGZpbGUgdGhhdCBoYXMgYmVlbiBtb2RpZmllZFxuIgotIiAgICAgICAgICBsYXRlciB0aGFuIHRoZSBnaXZlbiB0aW1lIGFuZCBkYXRlLCAgb3IgIG9uZSAgdGhhdCAgaGFzXG4iCisiICAgICAgICAgIChIVFRQKSBSZXF1ZXN0IHRvIGdldCBhIGZpbGUgIHRoYXQgIGhhcyAgYmVlbiAgbW9kaWZpZWRcbiIKKyIgICAgICAgICAgbGF0ZXIgIHRoYW4gIHRoZSAgZ2l2ZW4gIHRpbWUgYW5kIGRhdGUsIG9yIG9uZSB0aGF0IGhhc1xuIgogIiAgICAgICAgICBiZWVuIG1vZGlmaWVkIGJlZm9yZSB0aGF0IHRpbWUuIFRoZSBkYXRlIGV4cHJlc3Npb24gY2FuXG4iCiAiICAgICAgICAgIGJlIGFsbCBzb3J0cyBvZiBkYXRlIHN0cmluZ3Mgb3IgaWYgaXQgZG9lc24ndCBtYXRjaCBhbnlcbiIKLSIgICAgICAgICAgaW50ZXJuYWwgIG9uZXMsICBpdCAgdHJpZXMgdG8gZ2V0IHRoZSB0aW1lIGZyb20gYSBnaXZlblxuIgotIiAgICAgICAgICBmaWxlIG5hbWUgaW5zdGVhZCEgU2VlIHRoZSAgR05VICBkYXRlKDEpICBvciAgY3VybF9nZXStXG4iCisiICAgICAgICAgIGludGVybmFsIG9uZXMsIGl0IHRyaWVzIHRvIGdldCB0aGUgdGltZSAgZnJvbSAgYSAgZ2l2ZW5cbiIKKyIgICAgICAgICAgZmlsZSAgbmFtZSAgaW5zdGVhZCEgIFNlZSAgdGhlIEdOVSBkYXRlKDEpIG9yIGN1cmxfZ2V0rVxuIgogIiAgICAgICAgICBkYXRlKDMpIG1hbiBwYWdlcyBmb3IgZGF0ZSBleHByZXNzaW9uIGRldGFpbHMuXG4iCiAiXG4iCi0iICAgICAgICAgIFN0YXJ0ICB0aGUgIGRhdGUgIGV4cHJlc3Npb24gd2l0aCBhIGRhc2ggKC0pIHRvIG1ha2UgaXRcbiIKLSIgICAgICAgICAgcmVxdWVzdCBmb3IgYSBkb2N1bWVudCB0aGF0IGlzICBvbGRlciAgdGhhbiAgdGhlICBnaXZlblxuIgorIiAgICAgICAgICBTdGFydCB0aGUgZGF0ZSBleHByZXNzaW9uIHdpdGggYSBkYXNoICgtKSAgdG8gIG1ha2UgIGl0XG4iCisiICAgICAgICAgIHJlcXVlc3QgIGZvciAgYSAgZG9jdW1lbnQgIHRoYXQgaXMgb2xkZXIgdGhhbiB0aGUgZ2l2ZW5cbiIKICIgICAgICAgICAgZGF0ZS90aW1lLCBkZWZhdWx0IGlzIGEgZG9jdW1lbnQgdGhhdCBpcyBuZXdlciB0aGFuIHRoZVxuIgogIiAgICAgICAgICBzcGVjaWZpZWQgZGF0ZS90aW1lLlxuIgogIlxuIgpAQCAtNTI0LDE1ICs1NDksMTUgQEAKICIgICAgICAgICAgaW5nIHdpdGggYSByZW1vdGUgU1NMIHNlcnZlci5cbiIKICJcbiIKICIgICAgIC0jLy0tcHJvZ3Jlc3MtYmFyXG4iCi0iICAgICAgICAgIE1ha2UgY3VybCBkaXNwbGF5IHByb2dyZXNzIGluZm9ybWF0aW9uICBhcyAgYSAgcHJvZ3Jlc3NcbiIKKyIgICAgICAgICAgTWFrZSAgY3VybCAgZGlzcGxheSAgcHJvZ3Jlc3MgaW5mb3JtYXRpb24gYXMgYSBwcm9ncmVzc1xuIgogIiAgICAgICAgICBiYXIgaW5zdGVhZCBvZiB0aGUgZGVmYXVsdCBzdGF0aXN0aWNzLlxuIgogIlxuIgogIiAgICAgLS1jcmxmXG4iCi0iICAgICAgICAgIChGVFApICBDb252ZXJ0ICBMRiAgdG8gIENSTEYgIGluIHVwbG9hZC4gVXNlZnVsIGZvciBNVlNcbiIKKyIgICAgICAgICAgKEZUUCkgQ29udmVydCBMRiB0byBDUkxGICBpbiAgdXBsb2FkLiAgVXNlZnVsICBmb3IgIE1WU1xuIgogIiAgICAgICAgICAoT1MvMzkwKS5cbiIKICJcbiIKICIgICAgIC0tc3RkZXJyIDxmaWxlPlxuIgotIiAgICAgICAgICBSZWRpcmVjdCBhbGwgd3JpdGVzIHRvIHN0ZGVyciAgdG8gIHRoZSAgc3BlY2lmaWVkICBmaWxlXG4iCisiICAgICAgICAgIFJlZGlyZWN0ICBhbGwgIHdyaXRlcyAgdG8gIHN0ZGVyciB0byB0aGUgc3BlY2lmaWVkIGZpbGVcbiIKICIgICAgICAgICAgaW5zdGVhZC4gSWYgdGhlIGZpbGUgbmFtZSBpcyBhIHBsYWluICctJywgaXQgaXMgaW5zdGVhZFxuIgogIiAgICAgICAgICB3cml0dGVuIHRvIHN0ZG91dC4gVGhpcyBvcHRpb24gaGFzIG5vIHBvaW50IHdoZW4geW91J3JlXG4iCiAiICAgICAgICAgIHVzaW5nIGEgc2hlbGwgd2l0aCBkZWNlbnQgcmVkaXJlY3RpbmcgY2FwYWJpbGl0aWVzLlxuIgpAQCAtNTU1LDcgKzU4MCw3IEBACiAiICAgICAgICAgIFNldHMgcHJveHkgc2VydmVyIHRvIHVzZSBmb3IgR09QSEVSLlxuIgogIlxuIgogIiAgICAgQUxMX1BST1hZIFtwcm90b2NvbDovL108aG9zdD5bOnBvcnRdXG4iCi0iICAgICAgICAgIFNldHMgIHByb3h5IHNlcnZlciB0byB1c2UgaWYgbm8gcHJvdG9jb2wtc3BlY2lmaWMgcHJveHlcbiIKKyIgICAgICAgICAgU2V0cyBwcm94eSBzZXJ2ZXIgdG8gdXNlIGlmIG5vIHByb3RvY29sLXNwZWNpZmljICBwcm94eVxuIgogIiAgICAgICAgICBpcyBzZXQuXG4iCiAiXG4iCiAiICAgICBOT19QUk9YWSA8Y29tbWEtc2VwYXJhdGVkIGxpc3Qgb2YgaG9zdHM+XG4iCkBAIC01NjMsMTIgKzU4OCwxMiBAQAogIiAgICAgICAgICBJZiBzZXQgdG8gYSBhc3RlcmlzayAnKicgb25seSwgaXQgbWF0Y2hlcyBhbGwgaG9zdHMuXG4iCiAiXG4iCiAiICAgICBDT0xVTU5TIDxpbnRlZ2VyPlxuIgotIiAgICAgICAgICBUaGUgIHdpZHRoIG9mIHRoZSB0ZXJtaW5hbC4gIFRoaXMgdmFyaWFibGUgb25seSBhZmZlY3RzXG4iCisiICAgICAgICAgIFRoZSB3aWR0aCBvZiB0aGUgdGVybWluYWwuICBUaGlzIHZhcmlhYmxlIG9ubHkgIGFmZmVjdHNcbiIKICIgICAgICAgICAgY3VybCB3aGVuIHRoZSAtLXByb2dyZXNzLWJhciBvcHRpb24gaXMgdXNlZC5cbiIKICJcbiIKICJFWElUIENPREVTXG4iCiAiICAgICBUaGVyZSBleGlzdHMgYSBidW5jaCBvZiBkaWZmZXJlbnQgZXJyb3IgY29kZXMgYW5kIHRoZWlyIGNvcq1cbiIKLSIgICAgIHJlc3BvbmRpbmcgIGVycm9yIG1lc3NhZ2VzIHRoYXQgbWF5IGFwcGVhciBkdXJpbmcgYmFkIGNvbmRprVxuIgorIiAgICAgcmVzcG9uZGluZyBlcnJvciBtZXNzYWdlcyB0aGF0IG1heSBhcHBlYXIgZHVyaW5nIGJhZCAgY29uZGmtXG4iCiAiICAgICB0aW9ucy4gQXQgdGhlIHRpbWUgb2YgdGhpcyB3cml0aW5nLCB0aGUgZXhpdCBjb2RlcyBhcmU6XG4iCiAiXG4iCiAiICAgICAxICAgIFVuc3VwcG9ydGVkIHByb3RvY29sLiBUaGlzIGJ1aWxkIG9mIGN1cmwgaGFzIG5vIHN1cHBvcnRcbiIKQEAgLTU3OCw0MCArNjAzLDQwIEBACiAiXG4iCiAiICAgICAzICAgIFVSTCBtYWxmb3JtYXQuIFRoZSBzeW50YXggd2FzIG5vdCBjb3JyZWN0LlxuIgogIlxuIgotIiAgICAgNCAgICBVUkwgIHVzZXIgbWFsZm9ybWF0dGVkLiBUaGUgdXNlci1wYXJ0IG9mIHRoZSBVUkwgc3ludGF4XG4iCisiICAgICA0ICAgIFVSTCB1c2VyIG1hbGZvcm1hdHRlZC4gVGhlIHVzZXItcGFydCBvZiB0aGUgVVJMICBzeW50YXhcbiIKICIgICAgICAgICAgd2FzIG5vdCBjb3JyZWN0LlxuIgotIiAgICAgNSAgICBDb3VsZG4ndCByZXNvbHZlIHByb3h5LiBUaGUgZ2l2ZW4gcHJveHkgaG9zdCBjb3VsZCAgbm90XG4iCisiXG4iCisiICAgICA1ICAgIENvdWxkbid0ICByZXNvbHZlIHByb3h5LiBUaGUgZ2l2ZW4gcHJveHkgaG9zdCBjb3VsZCBub3RcbiIKICIgICAgICAgICAgYmUgcmVzb2x2ZWQuXG4iCiAiXG4iCi0iICAgICA2ICAgIENvdWxkbid0ICByZXNvbHZlICBob3N0LiAgVGhlIGdpdmVuIHJlbW90ZSBob3N0IHdhcyBub3RcbiIKKyIgICAgIDYgICAgQ291bGRuJ3QgcmVzb2x2ZSBob3N0LiBUaGUgZ2l2ZW4gcmVtb3RlICBob3N0ICB3YXMgIG5vdFxuIgogIiAgICAgICAgICByZXNvbHZlZC5cbiIKICJcbiIKICIgICAgIDcgICAgRmFpbGVkIHRvIGNvbm5lY3QgdG8gaG9zdC5cbiIKICJcbiIKLSIgICAgIDggICAgRlRQIHdlaXJkIHNlcnZlciAgcmVwbHkuICBUaGUgIHNlcnZlciAgc2VudCAgZGF0YSAgY3VybFxuIgorIiAgICAgOCAgICBGVFAgIHdlaXJkICBzZXJ2ZXIgIHJlcGx5LiAgVGhlICBzZXJ2ZXIgIHNlbnQgZGF0YSBjdXJsXG4iCiAiICAgICAgICAgIGNvdWxkbid0IHBhcnNlLlxuIgogIlxuIgogIiAgICAgOSAgICBGVFAgYWNjZXNzIGRlbmllZC4gVGhlIHNlcnZlciBkZW5pZWQgbG9naW4uXG4iCiAiXG4iCi0iICAgICAxMCAgIEZUUCAgdXNlci9wYXNzd29yZCAgaW5jb3JyZWN0LiAgRWl0aGVyIG9uZSBvciBib3RoIHdlcmVcbiIKKyIgICAgIDEwICAgRlRQIHVzZXIvcGFzc3dvcmQgaW5jb3JyZWN0LiBFaXRoZXIgb25lICBvciAgYm90aCAgd2VyZVxuIgogIiAgICAgICAgICBub3QgYWNjZXB0ZWQgYnkgdGhlIHNlcnZlci5cbiIKICJcbiIKLSIgICAgIDExICAgRlRQIHdlaXJkIFBBU1MgcmVwbHkuIEN1cmwgIGNvdWxkbid0ICBwYXJzZSAgdGhlICByZXBseVxuIgorIiAgICAgMTEgICBGVFAgIHdlaXJkICBQQVNTICByZXBseS4gIEN1cmwgY291bGRuJ3QgcGFyc2UgdGhlIHJlcGx5XG4iCiAiICAgICAgICAgIHNlbnQgdG8gdGhlIFBBU1MgcmVxdWVzdC5cbiIKICJcbiIKLSIgICAgIDEyICAgRlRQICB3ZWlyZCAgVVNFUiAgcmVwbHkuICBDdXJsIGNvdWxkbid0IHBhcnNlIHRoZSByZXBseVxuIgorIiAgICAgMTIgICBGVFAgd2VpcmQgVVNFUiByZXBseS4gQ3VybCAgY291bGRuJ3QgIHBhcnNlICB0aGUgIHJlcGx5XG4iCiAiICAgICAgICAgIHNlbnQgdG8gdGhlIFVTRVIgcmVxdWVzdC5cbiIKICJcbiIKLSIgICAgIDEzICAgRlRQIHdlaXJkIFBBU1YgcmVwbHksIEN1cmwgIGNvdWxkbid0ICBwYXJzZSAgdGhlICByZXBseVxuIgorIiAgICAgMTMgICBGVFAgIHdlaXJkICBQQVNWICByZXBseSwgIEN1cmwgY291bGRuJ3QgcGFyc2UgdGhlIHJlcGx5XG4iCiAiICAgICAgICAgIHNlbnQgdG8gdGhlIFBBU1YgcmVxdWVzdC5cbiIKICJcbiIKLSIgICAgIDE0ICAgRlRQICB3ZWlyZCAyMjcgZm9ybWF5LiBDdXJsIGNvdWxkbid0IHBhcnNlIHRoZSAyMjctbGluZVxuIgorIiAgICAgMTQgICBGVFAgd2VpcmQgMjI3IGZvcm1heS4gQ3VybCBjb3VsZG4ndCBwYXJzZSB0aGUgIDIyNy1saW5lXG4iCiAiICAgICAgICAgIHRoZSBzZXJ2ZXIgc2VudC5cbiIKLSJcbiIKICIgICAgIDE1ICAgRlRQIGNhbid0IGdldCBob3N0LiBDb3VsZG4ndCByZXNvbHZlIHRoZSBob3N0IElQIHdlIGdvdFxuIgogIiAgICAgICAgICBpbiB0aGUgMjI3LWxpbmUuXG4iCiAiXG4iCi0iICAgICAxNiAgIEZUUCAgY2FuJ3QgIHJlY29ubmVjdC4gIENvdWxkbid0IGNvbm5lY3QgdG8gdGhlIGhvc3Qgd2VcbiIKKyIgICAgIDE2ICAgRlRQIGNhbid0IHJlY29ubmVjdC4gQ291bGRuJ3QgY29ubmVjdCB0byAgdGhlICBob3N0ICB3ZVxuIgogIiAgICAgICAgICBnb3QgaW4gdGhlIDIyNy1saW5lLlxuIgogIlxuIgogIiAgICAgMTcgICBGVFAgIGNvdWxkbid0ICBzZXQgIGJpbmFyeS4gIENvdWxkbid0ICBjaGFuZ2UgIHRyYW5zZmVyXG4iCkBAIC02MjEsNTEgKzY0Niw1MSBAQAogIlxuIgogIiAgICAgMTkgICBGVFAgY291bGRuJ3QgUkVUUiBmaWxlLiBUaGUgUkVUUiBjb21tYW5kIGZhaWxlZC5cbiIKICJcbiIKLSIgICAgIDIwICAgRlRQICB3cml0ZSAgZXJyb3IuIFRoZSB0cmFuc2ZlciB3YXMgcmVwb3J0ZWQgYmFkIGJ5IHRoZVxuIgorIiAgICAgMjAgICBGVFAgd3JpdGUgZXJyb3IuIFRoZSB0cmFuc2ZlciB3YXMgcmVwb3J0ZWQgYmFkICBieSAgdGhlXG4iCiAiICAgICAgICAgIHNlcnZlci5cbiIKICJcbiIKLSIgICAgIDIxICAgRlRQIHF1b3RlIGVycm9yLiBBIHF1b3RlIGNvbW1hbmQgIHJldHVybmVkICBlcnJvciAgZnJvbVxuIgorIiAgICAgMjEgICBGVFAgIHF1b3RlICBlcnJvci4gIEEgcXVvdGUgY29tbWFuZCByZXR1cm5lZCBlcnJvciBmcm9tXG4iCiAiICAgICAgICAgIHRoZSBzZXJ2ZXIuXG4iCiAiXG4iCi0iICAgICAyMiAgIEhUVFAgIG5vdCBmb3VuZC4gVGhlIHJlcXVlc3RlZCBwYWdlIHdhcyBub3QgZm91bmQuIFRoaXNcbiIKKyIgICAgIDIyICAgSFRUUCBub3QgZm91bmQuIFRoZSByZXF1ZXN0ZWQgcGFnZSB3YXMgbm90IGZvdW5kLiAgVGhpc1xuIgogIiAgICAgICAgICByZXR1cm4gY29kZSBvbmx5IGFwcGVhcnMgaWYgLS1mYWlsIGlzIHVzZWQuXG4iCiAiXG4iCi0iICAgICAyMyAgIFdyaXRlIGVycm9yLiAgQ3VybCAgY291bGRuJ3QgIHdyaXRlICBkYXRhICB0byAgYSAgbG9jYWxcbiIKKyIgICAgIDIzICAgV3JpdGUgIGVycm9yLiAgQ3VybCAgY291bGRuJ3QgIHdyaXRlICBkYXRhICB0byAgYSBsb2NhbFxuIgogIiAgICAgICAgICBmaWxlc3lzdGVtIG9yIHNpbWlsYXIuXG4iCisiXG4iCiAiICAgICAyNCAgIE1hbGZvcm1hdCB1c2VyLiBVc2VyIG5hbWUgYmFkbHkgc3BlY2lmaWVkLlxuIgogIlxuIgotIiAgICAgMjUgICBGVFAgIGNvdWxkbid0ICBTVE9SICBmaWxlLiAgVGhlICBzZXJ2ZXIgZGVuaWVkIHRoZSBTVE9SXG4iCisiICAgICAyNSAgIEZUUCBjb3VsZG4ndCBTVE9SIGZpbGUuICBUaGUgIHNlcnZlciAgZGVuaWVkICB0aGUgIFNUT1JcbiIKICIgICAgICAgICAgb3BlcmF0aW9uLlxuIgogIlxuIgogIiAgICAgMjYgICBSZWFkIGVycm9yLiBWYXJpb3VzIHJlYWRpbmcgcHJvYmxlbXMuXG4iCiAiXG4iCiAiICAgICAyNyAgIE91dCBvZiBtZW1vcnkuIEEgbWVtb3J5IGFsbG9jYXRpb24gcmVxdWVzdCBmYWlsZWQuXG4iCiAiXG4iCi0iICAgICAyOCAgIE9wZXJhdGlvbiB0aW1lb3V0LiBUaGUgc3BlY2lmaWVkICB0aW1lLW91dCAgcGVyaW9kICB3YXNcbiIKKyIgICAgIDI4ICAgT3BlcmF0aW9uICB0aW1lb3V0LiAgVGhlICBzcGVjaWZpZWQgdGltZS1vdXQgcGVyaW9kIHdhc1xuIgogIiAgICAgICAgICByZWFjaGVkIGFjY29yZGluZyB0byB0aGUgY29uZGl0aW9ucy5cbiIKICJcbiIKLSIgICAgIDI5ICAgRlRQICBjb3VsZG4ndCBzZXQgQVNDSUkuIFRoZSBzZXJ2ZXIgcmV0dXJuZWQgYW4gdW5rbm93blxuIgorIiAgICAgMjkgICBGVFAgY291bGRuJ3Qgc2V0IEFTQ0lJLiBUaGUgc2VydmVyIHJldHVybmVkIGFuICB1bmtub3duXG4iCiAiICAgICAgICAgIHJlcGx5LlxuIgogIlxuIgogIiAgICAgMzAgICBGVFAgUE9SVCBmYWlsZWQuIFRoZSBQT1JUIGNvbW1hbmQgZmFpbGVkLlxuIgogIlxuIgogIiAgICAgMzEgICBGVFAgY291bGRuJ3QgdXNlIFJFU1QuIFRoZSBSRVNUIGNvbW1hbmQgZmFpbGVkLlxuIgogIlxuIgotIiAgICAgMzIgICBGVFAgY291bGRuJ3QgdXNlIFNJWkUuIFRoZSAgU0laRSAgY29tbWFuZCAgZmFpbGVkLiAgVGhlXG4iCi0iICAgICAgICAgIGNvbW1hbmQgIGlzICBhbiAgZXh0ZW5zaW9uIHRvIHRoZSBvcmlnaW5hbCBGVFAgc3BlYyBSRkNcbiIKKyIgICAgIDMyICAgRlRQICBjb3VsZG4ndCAgdXNlICBTSVpFLiAgVGhlIFNJWkUgY29tbWFuZCBmYWlsZWQuIFRoZVxuIgorIiAgICAgICAgICBjb21tYW5kIGlzIGFuIGV4dGVuc2lvbiB0byB0aGUgb3JpZ2luYWwgIEZUUCAgc3BlYyAgUkZDXG4iCiAiICAgICAgICAgIDk1OS5cbiIKICJcbiIKICIgICAgIDMzICAgSFRUUCByYW5nZSBlcnJvci4gVGhlIHJhbmdlIFwiY29tbWFuZFwiIGRpZG4ndCB3b3JrLlxuIgogIlxuIgotIiAgICAgMzQgICBIVFRQICBwb3N0ICBlcnJvci4gIEludGVybmFsICBwb3N0LXJlcXVlc3QgICBnZW5lcmF0aW9uXG4iCisiICAgICAzNCAgIEhUVFAgICBwb3N0ICBlcnJvci4gIEludGVybmFsICBwb3N0LXJlcXVlc3QgIGdlbmVyYXRpb25cbiIKICIgICAgICAgICAgZXJyb3IuXG4iCi0iXG4iCiAiICAgICAzNSAgIFNTTCBjb25uZWN0IGVycm9yLiBUaGUgU1NMIGhhbmRzaGFraW5nIGZhaWxlZC5cbiIKICJcbiIKLSIgICAgIDM2ICAgRlRQICBiYWQgIGRvd25sb2FkIHJlc3VtZS4gQ291bGRuJ3QgY29udGludWUgYW4gZWFybGllclxuIgorIiAgICAgMzYgICBGVFAgYmFkIGRvd25sb2FkIHJlc3VtZS4gQ291bGRuJ3QgY29udGludWUgIGFuICBlYXJsaWVyXG4iCiAiICAgICAgICAgIGFib3J0ZWQgZG93bmxvYWQuXG4iCiAiXG4iCi0iICAgICAzNyAgIEZJTEUgY291bGRuJ3QgcmVhZCBmaWxlLiBGYWlsZWQgdG8gb3BlbiB0aGUgZmlsZS4gIFBlcq1cbiIKKyIgICAgIDM3ICAgRklMRSAgY291bGRuJ3QgcmVhZCBmaWxlLiBGYWlsZWQgdG8gb3BlbiB0aGUgZmlsZS4gUGVyrVxuIgogIiAgICAgICAgICBtaXNzaW9ucz9cbiIKICJcbiIKICIgICAgIDM4ICAgTERBUCBjYW5ub3QgYmluZC4gTERBUCBiaW5kIG9wZXJhdGlvbiBmYWlsZWQuXG4iCkBAIC02NzQsMTUgKzY5OSwxNiBAQAogIlxuIgogIiAgICAgNDAgICBMaWJyYXJ5IG5vdCBmb3VuZC4gVGhlIExEQVAgbGlicmFyeSB3YXMgbm90IGZvdW5kLlxuIgogIlxuIgotIiAgICAgNDEgICBGdW5jdGlvbiAgbm90ICBmb3VuZC4gIEEgcmVxdWlyZWQgTERBUCBmdW5jdGlvbiB3YXMgbm90XG4iCisiICAgICA0MSAgIEZ1bmN0aW9uIG5vdCBmb3VuZC4gQSByZXF1aXJlZCBMREFQICBmdW5jdGlvbiAgd2FzICBub3RcbiIKICIgICAgICAgICAgZm91bmQuXG4iCiAiXG4iCi0iICAgICBYWCAgIFRoZXJlIHdpbGwgYXBwZWFyICBtb3JlICBlcnJvciAgY29kZXMgIGhlcmUgIGluICBmdXR1cmVcbiIKLSIgICAgICAgICAgcmVsZWFzZXMuICBUaGUgZXhpc3Rpbmcgb25lcyBhcmUgbWVhbnQgdG8gbmV2ZXIgY2hhbmdlLlxuIgorIiAgICAgWFggICBUaGVyZSAgd2lsbCAgYXBwZWFyICBtb3JlICBlcnJvciAgY29kZXMgIGhlcmUgaW4gZnV0dXJlXG4iCisiICAgICAgICAgIHJlbGVhc2VzLiBUaGUgZXhpc3Rpbmcgb25lcyBhcmUgbWVhbnQgdG8gbmV2ZXIgIGNoYW5nZS5cbiIKICJcbiIKICJCVUdTXG4iCi0iICAgICBJZiB5b3UgZG8gZmluZCBhbnkgKG9yIGhhdmUgb3RoZXIgc3VnZ2VzdGlvbnMpLCBtYWlsICBEYW5pZWxcbiIKKyIgICAgIElmICB5b3UgZG8gZmluZCBhbnkgKG9yIGhhdmUgb3RoZXIgc3VnZ2VzdGlvbnMpLCBtYWlsIERhbmllbFxuIgogIiAgICAgU3RlbmJlcmcgPERhbmllbC5TdGVuYmVyZ0BoYXh4LnNlPi5cbiIKKyJcbiIKICJBVVRIT1JTIC8gQ09OVFJJQlVUT1JTXG4iCiAiICAgICAgLSBEYW5pZWwgU3RlbmJlcmcgPERhbmllbC5TdGVuYmVyZ0BoYXh4LnNlPlxuIgogIiAgICAgIC0gUmFmYWVsIFNhZ3VsYSA8c2FndWxhQGluZi51ZnJncy5icj5cbiIKQEAgLTcyMiw2ICs3NDgsOCBAQAogIiAgICAgIC0gUGF1bCBNYXJxdWlzIDxwbWFycXVpc0BpbmFtZS5jb20+XG4iCiAiICAgICAgLSBFbGxpcyBQcml0Y2hhcmQgPGVsbGlzQGNpdHJpYS5jb20+XG4iCiAiICAgICAgLSBEYW1pZW4gQWRhbnQgPGRhbXNAdXNhLm5ldD5cbiIKKyk7CisgcHV0cygKICIgICAgICAtIENocmlzIDxjYmF5bGlzc0Bjc2MuY29tZT5cbiIKICIgICAgICAtIE1hcmNvIEcuIFNhbHZhZ25vIDxtZ3NAd2hpei5jamIubmV0PlxuIgogIiAgICAgIC0gUGF1bCBNYXJxdWlzIDxwbWFycXVpc0BpbmFtZS5jb20+XG4iCkBAIC03MzMsNiArNzYxLDEwIEBACiAiICAgICAgLSBGcmVkIE5veiA8Rk5vekBzaWFjLmNvbT5cbiIKICIgICAgICAtIENhb2xhbiBNY05hbWFyYSA8Y2FvbGFuQGNzbi51bC5pZT5cbiIKICIgICAgICAtIEFsYmVydCBDaGluLUEtWW91bmcgPGNoaW5hQHRoZXdyaXR0ZW53b3JkLmNvbT5cbiIKKyIgICAgICAtIFN0ZXBoZW4gS2ljayA8c2tpY2tAZXBpY3JlYWxtLmNvbT5cbiIKKyIgICAgICAtIE1hcnRpbiBIZWRlbmZhbGsgPG1oZUBzdGFja2VuLmt0aC5zZT5cbiIKKyIgICAgICAtIFJpY2hhcmQgUHJlc2NvdHRcbiIKKyJcbiIKICJXV1dcbiIKICIgICAgIGh0dHA6Ly9jdXJsLmhheHguc2VcbiIKICJcbiIKQEAgLTc2Miw4ICs3OTQsNiBAQAogIiAgR2V0IGEgZ29waGVyIGRvY3VtZW50IGZyb20gZnVuZXQncyBnb3BoZXIgc2VydmVyOlxuIgogIlxuIgogIiAgICAgICAgY3VybCBnb3BoZXI6Ly9nb3BoZXIuZnVuZXQuZmlcbiIKLSk7Ci0gcHV0cygKICJcbiIKICIgIEdldCBhIHdlYiBwYWdlIGZyb20gYSBzZXJ2ZXIgdXNpbmcgcG9ydCA4MDAwOlxuIgogIlxuIgpAQCAtODg1LDkgKzkxNSwxMSBAQAogIlxuIgogIiAgICAgICAgY3VybCAtVCBsb2NhbGZpbGUgLWEgZnRwOi8vZnRwLnVwbG9hZC5jb20vcmVtb3RlZmlsZVxuIgogIlxuIgotIiAgTk9URTogQ3VybCBkb2VzIG5vdCBzdXBwb3J0IGZ0cCB1cGxvYWQgdGhyb3VnaCBhIHByb3h5ISBUaGUgcmVhc29uIGZvciB0aGlzXG4iCi0iICBpcyBzaW1wbHkgdGhhdCBwcm94aWVzIGFyZSBzZWxkb21seSBjb25maWd1cmVkIHRvIGFsbG93IHRoaXMgYW5kIHRoYXQgbm9cbiIKLSIgIGF1dGhvciBoYXMgc3VwcGxpZWQgY29kZSB0aGF0IG1ha2VzIGl0IHBvc3NpYmxlIVxuIgorIiAgQ3VybCBhbHNvIHN1cHBvcnRzIGZ0cCB1cGxvYWQgdGhyb3VnaCBhIHByb3h5LCBidXQgb25seSBpZiB0aGUgcHJveHkgaXNcbiIKKyIgIGNvbmZpZ3VyZWQgdG8gYWxsb3cgdGhhdCBraW5kIG9mIHR1bm5lbGluZy4gSWYgaXQgZG9lcywgeW91IGNhbiBydW4gY3VybCBpblxuIgorIiAgYSBmYXNoaW9uIHNpbWlsYXIgdG86XG4iCisiXG4iCisiICAgICAgICBjdXJsIC0tcHJveHl0dW5uZWwgLXggcHJveHk6cG9ydCAtVCBsb2NhbGZpbGUgZnRwLnVwbG9hZC5jb21cbiIKICJcbiIKICIgSFRUUFxuIgogIlxuIgpAQCAtMTAzMSw2ICsxMDYzLDggQEAKICIgIEEgSFRUUCByZXF1ZXN0IGhhcyB0aGUgb3B0aW9uIHRvIGluY2x1ZGUgaW5mb3JtYXRpb24gYWJvdXQgdGhlIGJyb3dzZXJcbiIKICIgIHRoYXQgZ2VuZXJhdGVkIHRoZSByZXF1ZXN0LiBDdXJsIGFsbG93cyBpdCB0byBiZSBzcGVjaWZpZWQgb24gdGhlIGNvbW1hbmRcbiIKICIgIGxpbmUuIEl0IGlzIGVzcGVjaWFsbHkgdXNlZnVsIHRvIGZvb2wgb3IgdHJpY2sgc3R1cGlkIHNlcnZlcnMgb3IgQ0dJXG4iCispOworIHB1dHMoCiAiICBzY3JpcHRzIHRoYXQgb25seSBhY2NlcHQgY2VydGFpbiBicm93c2Vycy5cbiIKICJcbiIKICIgIEV4YW1wbGU6XG4iCkBAIC0xMDU4LDggKzEwOTIsNiBAQAogIiAgaGVhZGVycyB0aGF0IGxvb2tzIGxpa2UgJ1NldC1Db29raWU6IDxkYXRhPicgd2hlcmUgdGhlIGRhdGEgcGFydCB0aGVuXG4iCiAiICB0eXBpY2FsbHkgY29udGFpbnMgYSBzZXQgb2YgTkFNRT1WQUxVRSBwYWlycyAoc2VwYXJhdGVkIGJ5IHNlbWljb2xvbnMgJzsnXG4iCiAiICBsaWtlIFwiTkFNRTE9VkFMVUUxOyBOQU1FMj1WQUxVRTI7XCIpLiBUaGUgc2VydmVyIGNhbiBhbHNvIHNwZWNpZnkgZm9yIHdoYXRcbiIKLSk7Ci0gcHV0cygKICIgIHBhdGggdGhlIFwiY29va2llXCIgc2hvdWxkIGJlIHVzZWQgZm9yIChieSBzcGVjaWZ5aW5nIFwicGF0aD12YWx1ZVwiKSwgd2hlbiB0aGVcbiIKICIgIGNvb2tpZSBzaG91bGQgZXhwaXJlIChcImV4cGlyZT1EQVRFXCIpLCBmb3Igd2hhdCBkb21haW4gdG8gdXNlIGl0XG4iCiAiICAoXCJkb21haW49TkFNRVwiKSBhbmQgaWYgaXQgc2hvdWxkIGJlIHVzZWQgb24gc2VjdXJlIGNvbm5lY3Rpb25zIG9ubHlcbiIKQEAgLTEyMjgsMTMgKzEyNjAsMTQgQEAKICIgIGNvbm5lY3QgdG8gdGhlIGNsaWVudCBvbiB0aGUgZ2l2ZW4gKGFzIHBhcmFtZXRlcnMgdG8gdGhlIFBPUlQgY29tbWFuZCkgSVBcbiIKICIgIG51bWJlciBhbmQgcG9ydC5cbiIKICJcbiIKLSIgIFRoZSAtUCBmbGFnIHRvIGN1cmwgYWxsb3dzIGZvciBkaWZmZXJlbnQgb3B0aW9ucy4gWW91ciBtYWNoaW5lIG1heSBoYXZlXG4iCisiICBUaGUgLVAgZmxhZyB0byBjdXJsIHN1cHBvcnRzIGEgZmV3IGRpZmZlcmVudCBvcHRpb25zLiBZb3VyIG1hY2hpbmUgbWF5IGhhdmVcbiIKICIgIHNldmVyYWwgSVAtYWRkcmVzc2VzIGFuZC9vciBuZXR3b3JrIGludGVyZmFjZXMgYW5kIGN1cmwgYWxsb3dzIHlvdSB0byBzZWxlY3RcbiIKICIgIHdoaWNoIG9mIHRoZW0gdG8gdXNlLiBEZWZhdWx0IGFkZHJlc3MgY2FuIGFsc28gYmUgdXNlZDpcbiIKICJcbiIKICIgICAgICAgIGN1cmwgLVAgLSBmdHAuZG93bmxvYWQuY29tXG4iCiAiXG4iCi0iICBEb3dubG9hZCB3aXRoIFBPUlQgYnV0IHVzZSB0aGUgSVAgYWRkcmVzcyBvZiBvdXIgJ2xlMCcgaW50ZXJmYWNlOlxuIgorIiAgRG93bmxvYWQgd2l0aCBQT1JUIGJ1dCB1c2UgdGhlIElQIGFkZHJlc3Mgb2Ygb3VyICdsZTAnIGludGVyZmFjZSAodGhpcyBkb2VzXG4iCisiICBub3Qgd29yayBvbiB3aW5kb3dzKTpcbiIKICJcbiIKICIgICAgICAgIGN1cmwgLVAgbGUwIGZ0cC5kb3dubG9hZC5jb21cbiIKICJcbiIKQEAgLTEyNDIsNiArMTI3NSwxNiBAQAogIlxuIgogIiAgICAgICAgY3VybCAtUCAxOTIuMTY4LjAuMTAgZnRwLmRvd25sb2FkLmNvbVxuIgogIlxuIgorIk5FVFdPUksgSU5URVJGQUNFXG4iCisiXG4iCisiICBHZXQgYSB3ZWIgcGFnZSBmcm9tIGEgc2VydmVyIHVzaW5nIGEgc3BlY2lmaWVkIHBvcnQgZm9yIHRoZSBpbnRlcmZhY2U6XG4iCisiXG4iCisiCWN1cmwgLS1pbnRlcmZhY2UgZXRoMDoxIGh0dHA6Ly93d3cubmV0c2NhcGUuY29tL1xuIgorIlxuIgorIiAgb3JcbiIKKyJcbiIKKyIJY3VybCAtLWludGVyZmFjZSAxOTIuMTY4LjEuMTAgaHR0cDovL3d3dy5uZXRzY2FwZS5jb20vXG4iCisiXG4iCiAiSFRUUFNcbiIKICJcbiIKICIgIFNlY3VyZSBIVFRQIHJlcXVpcmVzIFNTTCBsaWJyYXJpZXMgdG8gYmUgaW5zdGFsbGVkIGFuZCB1c2VkIHdoZW4gY3VybCBpc1xuIgpAQCAtMTI4MSw2ICsxMzI0LDggQEAKICIgICAgICAgIGN1cmwgLTIgaHR0cHM6Ly9zZWN1cmUuc2l0ZS5jb20vXG4iCiAiXG4iCiAiICBPdGhlcndpc2UsIGN1cmwgd2lsbCBmaXJzdCBhdHRlbXB0IHRvIHVzZSB2MyBhbmQgdGhlbiB2Mi5cbiIKKyk7CisgcHV0cygKICJcbiIKICIgIFRvIHVzZSBPcGVuU1NMIHRvIGNvbnZlcnQgeW91ciBmYXZvdXJpdGUgYnJvd3NlcidzIGNlcnRpZmljYXRlIGludG8gYSBQRU1cbiIKICIgIGZvcm1hdHRlZCBvbmUgdGhhdCBjdXJsIGNhbiB1c2UsIGRvIHNvbWV0aGluZyBsaWtlIHRoaXMgKGFzc3VtaW5nIG5ldHNjYXBlLFxuIgpAQCAtMTMyOCw4ICsxMzczLDYgQEAKICJUSU1FIENPTkRJVElPTlNcbiIKICJcbiIKICIgSFRUUCBhbGxvd3MgYSBjbGllbnQgdG8gc3BlY2lmeSBhIHRpbWUgY29uZGl0aW9uIGZvciB0aGUgZG9jdW1lbnQgaXRcbiIKLSk7Ci0gcHV0cygKICIgcmVxdWVzdHMuIEl0IGlzIElmLU1vZGlmaWVkLVNpbmNlIG9yIElmLVVubW9kaWZpZWQtU2luY2UuIEN1cmwgYWxsb3cgeW91IHRvXG4iCiAiIHNwZWNpZnkgdGhlbSB3aXRoIHRoZSAtei8tLXRpbWUtY29uZCBmbGFnLlxuIgogIlxuIgpAQCAtMTQzOSwxMyArMTQ4MiwyNiBAQAogIlxuIgogIiAgICAgICAgY3VybCAtdyAnV2UgZG93bmxvYWRlZCAle3NpemVfZG93bmxvYWR9IGJ5dGVzXFxuJyB3d3cuZG93bmxvYWQuY29tXG4iCiAiXG4iCisiS0VSQkVST1M0IEZUUCBUUkFOU0ZFUlxuIgorIlxuIgorIiAgQ3VybCBzdXBwb3J0cyBrZXJiZXJvczQgZm9yIEZUUCB0cmFuc2ZlcnMuIFlvdSBuZWVkIHRoZSBrZXJiZXJvcyBwYWNrYWdlXG4iCisiICBpbnN0YWxsZWQgYW5kIHVzZWQgYXQgY3VybCBidWlsZCB0aW1lIGZvciBpdCB0byBiZSB1c2VkLlxuIgorIlxuIgorIiAgRmlyc3QsIGdldCB0aGUga3JiLXRpY2tldCB0aGUgbm9ybWFsIHdheSwgbGlrZSB3aXRoIHRoZSBrYXV0aCB0b29sLiBUaGVuIHVzZVxuIgorIiAgY3VybCBpbiB3YXkgc2ltaWxhciB0bzpcbiIKKyJcbiIKKyIgICAgICAgIGN1cmwgLS1rcmI0IHByaXZhdGUgZnRwOi8va3JiNHNpdGUuY29tIC11IHVzZXJuYW1lOmZha2Vwd2RcbiIKKyJcbiIKKyIgIFRoZXJlJ3Mgbm8gdXNlIGZvciBhIHBhc3N3b3JkIG9uIHRoZSAtdSBzd2l0Y2gsIGJ1dCBhIGJsYW5rIG9uZSB3aWxsIG1ha2VcbiIKKyIgIGN1cmwgYXNrIGZvciBvbmUgYW5kIHlvdSBhbHJlYWR5IGVudGVyZWQgdGhlIHJlYWwgcGFzc3dvcmQgdG8ga2F1dGguXG4iCisiXG4iCiAiTUFJTElORyBMSVNUXG4iCiAiXG4iCiAiICBXZSBoYXZlIGFuIG9wZW4gbWFpbGluZyBsaXN0IHRvIGRpc2N1c3MgY3VybCwgaXRzIGRldmVsb3BtZW50IGFuZCB0aGluZ3NcbiIKICIgIHJlbGV2YW50IHRvIHRoaXMuXG4iCiAiXG4iCi0iICBUbyBzdWJzY3JpYmUsIG1haWwgY3VybC1yZXF1ZXN0QGNvbnRhY3Rvci5zZSB3aXRoIFwic3Vic2NyaWJlIDx5b3VyIGVtYWlsXG4iCi0iICBhZGRyZXNzPlwiIGluIHRoZSBib2R5LlxuIgorIiAgVG8gc3Vic2NyaWJlLCBtYWlsIGN1cmwtcmVxdWVzdEBjb250YWN0b3Iuc2Ugd2l0aCBcInN1YnNjcmliZSA8ZmlsbCBpbiB5b3VyXG4iCisiICBlbWFpbCBhZGRyZXNzPlwiIGluIHRoZSBib2R5LlxuIgogIlxuIgogIiAgVG8gcG9zdCB0byB0aGUgbGlzdCwgbWFpbCBjdXJsQGNvbnRhY3Rvci5zZS5cbiIKICJcbiIKZGlmZiAtLWdpdCBhL3NyYy92ZXJzaW9uLmggYi9zcmMvdmVyc2lvbi5oCmluZGV4IDMyNWE5M2UuLjU5NTZmZWYgMTAwNjQ0Ci0tLSBhL3NyYy92ZXJzaW9uLmgKKysrIGIvc3JjL3ZlcnNpb24uaApAQCAtMSwzICsxLDMgQEAKICNkZWZpbmUgQ1VSTF9OQU1FICJjdXJsIgotI2RlZmluZSBDVVJMX1ZFUlNJT04gIjcuMiIKKyNkZWZpbmUgQ1VSTF9WRVJTSU9OICI3LjMiCiAjZGVmaW5lIENVUkxfSUQgQ1VSTF9OQU1FICIgIiBDVVJMX1ZFUlNJT04gIiAoIiBPUyAiKSAiCg==