ZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL2lmX3BlcmwudHh0IGIvcnVudGltZS9kb2MvaWZfcGVybC50eHQKaW5kZXggODQyMzkzYS4uNTBmMjcxMiAxMDA2NDQKLS0tIGEvcnVudGltZS9kb2MvaWZfcGVybC50eHQKKysrIGIvcnVudGltZS9kb2MvaWZfcGVybC50eHQKQEAgLTEsNCArMSw0IEBACi0qaWZfcGVybC50eHQqICAgRm9yIFZpbSB2ZXJzaW9uIDcuM2IuICBMYXN0IGNoYW5nZTogMjAxMCBKdWwgMjAKKyppZl9wZXJsLnR4dCogICBGb3IgVmltIHZlcnNpb24gNy4zYi4gIExhc3QgY2hhbmdlOiAyMDEwIEp1bCAyMQogCiAKIAkJICBWSU0gUkVGRVJFTkNFIE1BTlVBTCAgICBieSBTdmVuIFZlcmRvb2xhZWdlCkBAIC0yNjUsMTIgKzI2NSwxNSBAQAogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiA0LiBEeW5hbWljIGxvYWRpbmcJCQkJCSpwZXJsLWR5bmFtaWMqCiAKLU9uIE1TLVdpbmRvd3MgdGhlIFBlcmwgbGlicmFyeSBjYW4gYmUgbG9hZGVkIGR5bmFtaWNhbGx5LiAgVGhlIHw6dmVyc2lvbnwKLW91dHB1dCB0aGVuIGluY2x1ZGVzIHwrcGVybC9keW58LgorT24gTVMtV2luZG93cyBhbmQgVW5peCB0aGUgUGVybCBsaWJyYXJ5IGNhbiBiZSBsb2FkZWQgZHluYW1pY2FsbHkuICBUaGUKK3w6dmVyc2lvbnwgb3V0cHV0IHRoZW4gaW5jbHVkZXMgfCtwZXJsL2R5bnwuCiAKLVRoaXMgbWVhbnMgdGhhdCBWaW0gd2lsbCBzZWFyY2ggZm9yIHRoZSBQZXJsIERMTCBmaWxlIG9ubHkgd2hlbiBuZWVkZWQuICBXaGVuCi15b3UgZG9uJ3QgdXNlIHRoZSBQZXJsIGludGVyZmFjZSB5b3UgZG9uJ3QgbmVlZCBpdCwgdGh1cyB5b3UgY2FuIHVzZSBWaW0KLXdpdGhvdXQgdGhpcyBETEwgZmlsZS4KK1RoaXMgbWVhbnMgdGhhdCBWaW0gd2lsbCBzZWFyY2ggZm9yIHRoZSBQZXJsIERMTCBvciBzaGFyZWQgbGlicmFyeSBmaWxlIG9ubHkKK3doZW4gbmVlZGVkLiAgV2hlbiB5b3UgZG9uJ3QgdXNlIHRoZSBQZXJsIGludGVyZmFjZSB5b3UgZG9uJ3QgbmVlZCBpdCwgdGh1cworeW91IGNhbiB1c2UgVmltIHdpdGhvdXQgdGhpcyBmaWxlLgorCisKK01TLVdpbmRvd3MgfgogCiBZb3UgY2FuIGRvd25sb2FkIFBlcmwgZnJvbSBodHRwOi8vd3d3LnBlcmwub3JnLiAgVGhlIG9uZSBmcm9tIEFjdGl2ZVN0YXRlIHdhcwogdXNlZCBmb3IgYnVpbGRpbmcgVmltLgpkaWZmIC0tZ2l0IGEvcnVudGltZS9kb2Mvc3ludGF4LnR4dCBiL3J1bnRpbWUvZG9jL3N5bnRheC50eHQKaW5kZXggYmRkM2M0Zi4uOWM5Y2FlZiAxMDA2NDQKLS0tIGEvcnVudGltZS9kb2Mvc3ludGF4LnR4dAorKysgYi9ydW50aW1lL2RvYy9zeW50YXgudHh0CkBAIC0xLDQgKzEsNCBAQAotKnN5bnRheC50eHQqCUZvciBWaW0gdmVyc2lvbiA3LjNiLiAgTGFzdCBjaGFuZ2U6IDIwMTAgSnVsIDIwCisqc3ludGF4LnR4dCoJRm9yIFZpbSB2ZXJzaW9uIDcuM2IuICBMYXN0IGNoYW5nZTogMjAxMCBKdWwgMjEKIAogCiAJCSAgVklNIFJFRkVSRU5DRSBNQU5VQUwJICBieSBCcmFtIE1vb2xlbmFhcgpAQCAtMTA4Myw3ICsxMDgzLDkgQEAKIERlZmF1bHQgaGlnaGxpZ2h0aW5nIGFuZCBkaWFsZWN0IH4KIEhpZ2hsaWdodGluZyBhcHByb3ByaWF0ZSBmb3IgZjk1IChGb3J0cmFuIDk1KSBpcyB1c2VkIGJ5IGRlZmF1bHQuICBUaGlzIGNob2ljZQogc2hvdWxkIGJlIGFwcHJvcHJpYXRlIGZvciBtb3N0IHVzZXJzIG1vc3Qgb2YgdGhlIHRpbWUgYmVjYXVzZSBGb3J0cmFuIDk1IGlzIGEKLXN1cGVyc2V0IG9mIEZvcnRyYW4gOTAgYW5kIGFsbW9zdCBhIHN1cGVyc2V0IG9mIEZvcnRyYW4gNzcuCitzdXBlcnNldCBvZiBGb3J0cmFuIDkwIGFuZCBhbG1vc3QgYSBzdXBlcnNldCBvZiBGb3J0cmFuIDc3LiAgUHJlbGltaW5hcnkKK3N1cHBvcnQgZm9yIEZvcnRyYW4gMjAwMyBhbmQgRm9ydHJhbiAyMDA4IGZlYXR1cmVzIGhhcyBiZWVuIGludHJvZHVjZWQgYW5kIGlzCithdXRvbWF0aWNhbGx5IGF2YWlsYWJsZSBpbiB0aGUgZGVmYXVsdCAoZjk1KSBoaWdobGlnaHRpbmcuCiAKIEZvcnRyYW4gc291cmNlIGNvZGUgZm9ybSB+CiBGb3J0cmFuIDl4IGNvZGUgY2FuIGJlIGluIGVpdGhlciBmaXhlZCBvciBmcmVlIHNvdXJjZSBmb3JtLiAgTm90ZSB0aGF0IHRoZQpkaWZmIC0tZ2l0IGEvcnVudGltZS9kb2MvdG9kby50eHQgYi9ydW50aW1lL2RvYy90b2RvLnR4dAppbmRleCAwYjczNmJhLi45MDZkNmVkIDEwMDY0NAotLS0gYS9ydW50aW1lL2RvYy90b2RvLnR4dAorKysgYi9ydW50aW1lL2RvYy90b2RvLnR4dApAQCAtMSw0ICsxLDQgQEAKLSp0b2RvLnR4dCogICAgICBGb3IgVmltIHZlcnNpb24gNy4zYi4gIExhc3QgY2hhbmdlOiAyMDEwIEp1bCAyMAorKnRvZG8udHh0KiAgICAgIEZvciBWaW0gdmVyc2lvbiA3LjNiLiAgTGFzdCBjaGFuZ2U6IDIwMTAgSnVsIDIxCiAKIAogCQkgIFZJTSBSRUZFUkVOQ0UgTUFOVUFMCSAgYnkgQnJhbSBNb29sZW5hYXIKQEAgLTMxLDYgKzMxLDcgQEAKIC0tLS0tLS0tLS0tLS0tLS0tLS0tIEtub3duIGJ1Z3MgYW5kIGN1cnJlbnQgd29yayAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogCiBJbmNsdWRlIHBhdGNoIGZvciBob3Jpem9udGFsIHNjb2xsIHdoZWVsPyAoQmpvcm4gV2luY2tsZXIsIDIwMTAgSnVsIDIwKQorQXNrZWQgZm9yIGEgZmV3IGNoYW5nZXMuCiAKIFBhdGNoIGZvciBEeW5hbWljIGxvYWRpbmcgZm9yIFBlcmwuIChKYW1lcyBWZWdhLCAyMDEwIEp1bCAyMCkKIApAQCAtMTEyNCw4ICsxMTI1LDYgQEAKICAgICBTZXAgMTMpCiAtICAgUGF0Y2ggZm9yIGFkZGluZyAic3BhY2UiIGl0ZW0gaW4gJ2xpc3RjaGFycycuIChKw6lyw6ltaWUgUm9xdWV0LCAyMDA5IE9jdCAyOSwKICAgICBEb2NzIHBhdGNoIE9jdCAzMCkKLS0gICBQYXRjaCBmb3Igc3VwcG9ydGluZyAjcnJnZ2JiIGluIGNvbG9yIHRlcm1pbmFscy4gIChNYXR0IFdvem5pc2tpKQotICAgIFdoZXJlIGlzIGEgcmVjZW50IHZlcnNpb24gb2YgdGhpcyBwYXRjaD8gIE9yIHVzZSBDU0FwcHJveCBwbHVnaW4/CiAtICAgUmVwbGFjZSBjY29tcGxldGUudmltIGJ5IGNwcGNvbXBsZXRlLnZpbSBmcm9tIHd3dy52aW0ub3JnPyAgc2NyaXB0IDE1MjAgYnkKICAgICBWaXNzYWxlIE5lYW5nLiAgKE1hcnRpbiBTdHViZW5zY2hyb3R0KSBBc2tlZCBWaXNzYWxlIHRvIG1ha2UgdGhlIHNjcmlwdHMKICAgICBtb3JlIGZyaWVuZGx5IGZvciB0aGUgVmltIGRpc3RyaWJ1dGlvbi4KZGlmZiAtLWdpdCBhL3J1bnRpbWUvZnRwbHVnaW4vZGViY2hhbmdlbG9nLnZpbSBiL3J1bnRpbWUvZnRwbHVnaW4vZGViY2hhbmdlbG9nLnZpbQppbmRleCBjZDIxZTkzLi44MGZmOGVmIDEwMDY0NAotLS0gYS9ydW50aW1lL2Z0cGx1Z2luL2RlYmNoYW5nZWxvZy52aW0KKysrIGIvcnVudGltZS9mdHBsdWdpbi9kZWJjaGFuZ2Vsb2cudmltCkBAIC0zLDkgKzMsOSBAQAogIiBNYWludGFpbmVyOiAgIERlYmlhbiBWaW0gTWFpbnRhaW5lcnMgPHBrZy12aW0tbWFpbnRhaW5lcnNAbGlzdHMuYWxpb3RoLmRlYmlhbi5vcmc+CiAiIEZvcm1lciBNYWludGFpbmVyczogICBNaWNoYWVsIFBpZWZlbCA8cGllZmVsQGluZm9ybWF0aWsuaHUtYmVybGluLmRlPgogIiAgICAgICAgICAgICAgICAgICAgICAgU3RlZmFubyBaYWNjaGlyb2xpIDx6YWNrQGRlYmlhbi5vcmc+Ci0iIExhc3QgQ2hhbmdlOiAgMjAxMC0wNC0yOQorIiBMYXN0IENoYW5nZTogIDIwMTAtMDctMTEKICIgTGljZW5zZTogICAgICBHTlUgR1BMLCB2ZXJzaW9uIDIuMCBvciBsYXRlcgotIiBVUkw6ICAgICAgICAgIGh0dHA6Ly9oZy5kZWJpYW4ub3JnL2hnL3BrZy12aW0vdmltL3Jhdy1maWxlL3RpcC9ydW50aW1lL2Z0cGx1Z2luL2RlYmNoYW5nZWxvZy52aW0KKyIgVVJMOiAgICAgICAgICBodHRwOi8vaGcuZGViaWFuLm9yZy9oZy9wa2ctdmltL3ZpbS9maWxlL3Vuc3RhYmxlL3J1bnRpbWUvZnRwbHVnaW4vZGViY2hhbmdlbG9nLnZpbQogCiAiIEJ1ZyBjb21wbGV0aW9uIHJlcXVpcmVzIGFwdC1saXN0YnVncyBpbnN0YWxsZWQgZm9yIERlYmlhbiBwYWNrYWdlcyBvcgogIiBweXRob24tbGF1bmNocGFkbGliIGluc3RhbGxlZCBmb3IgVWJ1bnR1IHBhY2thZ2VzCkBAIC0yMjgsNyArMjI4LDcgQEAKIAogYXVncm91cCBjaGFuZ2Vsb2dNZW51CiBhdSBCdWZFbnRlciAqIGlmICZmaWxldHlwZSA9PSAiZGViY2hhbmdlbG9nIiB8IGNhbGwgPFNJRD5NYWtlTWVudSgpIHwgZW5kaWYKLWF1IEJ1ZkxlYXZlICogaWYgJmZpbGV0eXBlID09ICJkZWJjaGFuZ2Vsb2ciIHwgYXVubWVudSBDaGFuZ2Vsb2cgfCBlbmRpZgorYXUgQnVmTGVhdmUgKiBpZiAmZmlsZXR5cGUgPT0gImRlYmNoYW5nZWxvZyIgfCBzaWxlbnQhIGF1bm1lbnUgQ2hhbmdlbG9nIHwgZW5kaWYKIGF1Z3JvdXAgRU5ECiAKICIgfX19CmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9mb3J0cmFuLnZpbSBiL3J1bnRpbWUvc3ludGF4L2ZvcnRyYW4udmltCmluZGV4IDNkMzIzZmIuLmJjYzc3YzUgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc3ludGF4L2ZvcnRyYW4udmltCisrKyBiL3J1bnRpbWUvc3ludGF4L2ZvcnRyYW4udmltCkBAIC0xLDE2ICsxLDE2IEBACiAiIFZpbSBzeW50YXggZmlsZQogIiBMYW5ndWFnZToJRm9ydHJhbjk1IChhbmQgRm9ydHJhbjkwLCBGb3J0cmFuNzcsIEYgYW5kIGVsZjkwKQotIiBWZXJzaW9uOgkwLjg4CisiIFZlcnNpb246CTAuODkKICIgVVJMOgkJaHR0cDovL3d3dy51bmIuY2EvY2hlbS9haml0L3N5bnRheC9mb3J0cmFuLnZpbQotIiBMYXN0IENoYW5nZToJMjAwOCBOb3YgMDEKKyIgTGFzdCBDaGFuZ2U6CTIwMTAgSnVseSAyMQogIiBNYWludGFpbmVyOglBaml0IEouIFRoYWtrYXIgKGFqaXQgQVQgdW5iLmNhKTsgPGh0dHA6Ly93d3cudW5iLmNhL2NoZW0vYWppdC8+Ci0iIFVzYWdlOglEbyA6aGVscCBmb3J0cmFuLXN5bnRheCBmcm9tIFZpbQorIiBVc2FnZToJRm9yIGluc3RydWN0aW9ucywgZG8gOmhlbHAgZm9ydHJhbi1zeW50YXggZnJvbSBWaW0KICIgQ3JlZGl0czoKICIgIFZlcnNpb24gMC4xIHdhcyBiYXNlZCBvbiB0aGUgZm9ydHJhbiA3NyBzeW50YXggZmlsZSBieSBNYXJpbyBFdXNlYmlvIGFuZAogIiAgUHJlYmVuIEd1bGRiZXJnLiBVc2VmdWwgc3VnZ2VzdGlvbnMgd2VyZSBtYWRlIGJ5OiBBbmRyZWogUGFuamtvdiwKICIgIEJyYW0gTW9vbGVuYWFyLCBUaG9tYXMgT2xzZW4sIE1pY2hhZWwgU3Rlcm5iZXJnLCBDaHJpc3RpYW4gUmVpbGUsCiAiICBXYWx0ZXIgRGlldWRvbm7pLCBBbGV4YW5kZXIgV2FnbmVyLCBSb21hbiBCZXJ0bGUsIENoYXJsZXMgUmVuZGxlbWFuLAotIiAgYW5kIEFuZHJldyBHcmlmZml0aHMuIEZvciBpbnN0cnVjdGlvbnMgb24gdXNlLCBkbyA6aGVscCBmb3J0cmFuIGZyb20gdmltCisiICBBbmRyZXcgR3JpZmZpdGhzLCBKb2UgS3JhaG4sIGFuZCBIZW5kcmlrIE1lcnguCiAKICIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCiAiIEZvciB2ZXJzaW9uIDYueDogUXVpdCBpZiBhIHN5bnRheCBmaWxlIGlzIGFscmVhZHkgbG9hZGVkCkBAIC03NCw3ICs3NCw3IEBACiAgICAgIiBEZXRlY3Rpb24gYmVjb21lcyBtb3JlIGFjY3VyYXRlIGFuZCB0aW1lLWNvbnN1bWluZyBpZiBtb3JlIGxpbmVzCiAgICAgIiBhcmUgY2hlY2tlZC4gSW5jcmVhc2UgdGhlIGxpbWl0IGJlbG93IGlmIHlvdSBrZWVwIGxvdHMgb2YgY29tbWVudHMgYXQKICAgICAiIHRoZSB2ZXJ5IHRvcCBvZiBlYWNoIGZpbGUgYW5kIHlvdSBoYXZlIGEgZmFzdCBjb21wdXRlci4KLSAgICBsZXQgYjpsbWF4ID0gMjUwCisgICAgbGV0IGI6bG1heCA9IDUwMAogICAgIGlmICggYjpsbWF4ID4gbGluZSgiJCIpICkKICAgICAgIGxldCBiOmxtYXggPSBsaW5lKCIkIikKICAgICBlbmRpZgpAQCAtODIsNyArODIsNyBAQAogICAgIGxldCBiOmxuPTEKICAgICB3aGlsZSBiOmxuIDw9IGI6bG1heAogICAgICAgbGV0IGI6dGVzdCA9IHN0cnBhcnQoZ2V0bGluZShiOmxuKSwwLDUpCi0gICAgICBpZiBiOnRlc3RbMF0gIX4gJ1tDYyohI10nICYmIGI6dGVzdCAhfiAnXiBcK1shI10nICYmIGI6dGVzdCA9fiAnW14gMC05XHRdJworICAgICAgaWYgYjp0ZXN0ICF+ICdeW0NjKl0nICYmIGI6dGVzdCAhfiAnXiAqWyEjXScgJiYgYjp0ZXN0ID1+ICdbXiAwLTlcdF0nICYmIGI6dGVzdCAhfiAnXlsgMC05XSpcdCcKIAlsZXQgYjpmb3J0cmFuX2ZpeGVkX3NvdXJjZSA9IDAKIAlicmVhawogICAgICAgZW5kaWYKQEAgLTIwNyw3ICsyMDcsOCBAQAogCiBzeW4ga2V5d29yZCBmb3J0cmFuVHlwZUV4CWV4dGVybmFsCiBzeW4ga2V5d29yZCBmb3J0cmFuSU9FeAkJZm9ybWF0Ci1zeW4ga2V5d29yZCBmb3J0cmFuS2V5d29yZEV4CWNvbnRpbnVlCitzeW4gbWF0Y2ggZm9ydHJhbktleXdvcmRFeAkiXDxjb250aW51ZVw+Igorc3luIG1hdGNoIGZvcnRyYW5LZXl3b3JkCSJeXHMqXGRcK1xzXCtjb250aW51ZVw+Igogc3luIG1hdGNoIGZvcnRyYW5LZXl3b3JkRXgJIlw8Z29ccyp0b1w+Igogc3luIHJlZ2lvbiBmb3J0cmFuU3RyaW5nRXgJc3RhcnQ9KycrIGVuZD0rJysgY29udGFpbnM9Zm9ydHJhbkNvbnRpbnVlTWFyayxmb3J0cmFuTGVmdE1hcmdpbixmb3J0cmFuU2VyaWFsTnVtYmVyCiBzeW4ga2V5d29yZCBmb3J0cmFuNzdJbnRyaW5zaWNFeAlkaW0gbGdlIGxndCBsbGUgbGx0IG1vZApAQCAtMjkwLDYgKzI5MSw0MCBAQAogICBlbmRpZgogZW5kaWYKIAoraWYgYjpmb3J0cmFuX2RpYWxlY3QgPT0gImY5NSIKKyAgIiBGMjAwMworICBzeW4ga2V5d29yZCBmb3J0cmFuMDNJbnRyaW5zaWMgICAgICAgIGNvbW1hbmRfYXJndW1lbnRfY291bnQgZ2V0X2NvbW1hbmQgZ2V0X2NvbW1hbmRfYXJndW1lbnQgZ2V0X2Vudmlyb25tZW50X3ZhcmlhYmxlIGlzX2lvc3RhdF9lbmQgaXNfaW9zdGF0X2VvciBtb3ZlX2FsbG9jIG5ld19saW5lIHNlbGVjdGVkX2NoYXJfa2luZCBzYW1lX3R5cGVfYXMgZXh0ZW5kc190eXBlX29mCisgICIgSVNPX0NfYmluZGluZworICBzeW4ga2V5d29yZCBmb3J0cmFuMDNDb25zdGFudCAgICAgICAgIGNfbnVsbF9jaGFyIGNfYWxlcnQgY19iYWNrc3BhY2UgY19mb3JtX2ZlZWQgY19uZXdfbGluZSBjX2NhcnJpYWdlX3JldHVybiBjX2hvcml6b250YWxfdGFiIGNfdmVydGljYWxfdGFiCisgIHN5biBrZXl3b3JkIGZvcnRyYW4wM0NvbnN0YW50ICAgICAgICAgY19pbnQgY19zaG9ydCBjX2xvbmcgY19sb25nX2xvbmcgY19zaWduZWRfY2hhciBjX3NpemVfdCBjX2ludDhfdCBjX2ludDE2X3QgY19pbnQzMl90IGNfaW50NjRfdCBjX2ludF9sZWFzdDhfdCBjX2ludF9sZWFzdDE2X3QgY19pbnRfbGVhc3QzMl90IGNfaW50X2xlYXN0NjRfdCBjX2ludF9mYXN0OF90IGNfaW50X2Zhc3QxNl90IGNfaW50X2Zhc3QzMl90IGNfaW50X2Zhc3Q2NF90IGNfaW50bWF4X3QgQ19pbnRwdHJfdCBjX2Zsb2F0IGNfZG91YmxlIGNfbG9uZ19kb3VibGUgY19mbG9hdF9jb21wbGV4IGNfZG91YmxlX2NvbXBsZXggY19sb25nX2RvdWJsZV9jb21wbGV4IGNfYm9vbCBjX2NoYXIgY19udWxsX3B0ciBjX251bGxfZnVucHRyCisgIHN5biBrZXl3b3JkIGZvcnRyYW4wM0ludHJpbnNpYyAgICAgICAgaXNvX2NfYmluZGluZyBjX2xvYyBjX2Z1bmxvYyBjX2Fzc29jaWF0ZWQgIGNfZl9wb2ludGVyIGNfZl9wcm9jcG9pbnRlcgorICBzeW4ga2V5d29yZCBmb3J0cmFuMDNUeXBlICAgICAgICAgICAgIGNfcHRyIGNfZnVucHRyCisgICIgSVNPX0ZvcnRyYW5fZW52CisgIHN5biBrZXl3b3JkIGZvcnRyYW4wM0NvbnN0YW50ICAgICAgICAgaXNvX2ZvcnRyYW5fZW52IGNoYXJhY3Rlcl9zdG9yYWdlX3NpemUgZXJyb3JfdW5pdCBmaWxlX3N0b3JhZ2Vfc2l6ZSBpbnB1dF91bml0IGlvc3RhdF9lbmQgaW9zdGF0X2VvciBudW1lcmljX3N0b3JhZ2Vfc2l6ZSBvdXRwdXRfdW5pdAorICAiIElFRUVfYXJpdGhtZXRpYworICBzeW4ga2V5d29yZCBmb3J0cmFuMDNJbnRyaW5zaWMgICAgICAgIGllZWVfYXJpdGhtZXRpYyBpZWVlX3N1cHBvcnRfdW5kZXJmbG93X2NvbnRyb2wgaWVlZV9nZXRfdW5kZXJmbG93X21vZGUgaWVlZV9zZXRfdW5kZXJmbG93X21vZGUKKworICBzeW4ga2V5d29yZCBmb3J0cmFuMDNSZWFkV3JpdGUJZmx1c2ggd2FpdAorICBzeW4ga2V5d29yZCBmb3J0cmFuMDNJTwkgICAgICAgIGRlY2ltYWwgcm91bmQgaW9tc2cKKyAgc3luIGtleXdvcmQgZm9ydHJhbjAzVHlwZSAgICAgICAgICAgICBhc3luY2hyb25vdXMgbm9wYXNzIG5vbl9vdmVycmlkYWJsZSBwYXNzIHByb3RlY3RlZCB2b2xhdGlsZSBhYnN0cmFjdCBleHRlbmRzIGltcG9ydAorICBzeW4ga2V5d29yZCBmb3J0cmFuMDNUeXBlICAgICAgICAgICAgIG5vbl9pbnRyaW5zaWMgdmFsdWUgYmluZCBkZWZlcnJlZCBnZW5lcmljIGZpbmFsIGVudW1lcmF0b3IgY2xhc3MKKyAgc3luIG1hdGNoIGZvcnRyYW4wM1R5cGUgICAgICAgICAgICAgICAiXDxhc3NvY2lhdGVcPiIKKyAgc3luIG1hdGNoIGZvcnRyYW4wM1R5cGUgICAgICAgICAgICAgICAiXDxlbmRccyphc3NvY2lhdGUiCisgIHN5biBtYXRjaCBmb3J0cmFuMDNUeXBlICAgICAgICAgICAgICAgIlw8ZW51bVxzKixccypiaW5kXHMqKFxzKmNccyopIgorICBzeW4gbWF0Y2ggZm9ydHJhbjAzVHlwZSAgICAgICAgICAgICAgICJcPGVuZFxzKmVudW0iCisgIHN5biBtYXRjaCBmb3J0cmFuMDNDb25kaXRpb25hbAkiXDxzZWxlY3Rccyp0eXBlIgorICBzeW4gbWF0Y2ggZm9ydHJhbjAzQ29uZGl0aW9uYWwgICAgICAgICJcPHR5cGVccyppc1w+IgorICBzeW4gbWF0Y2ggZm9ydHJhbjAzVW5pdEhlYWRlciAgICAgICAgICJcPGFic3RyYWN0XHMqaW50ZXJmYWNlXD4iCisgIHN5biBtYXRjaCBmb3J0cmFuMDNPcGVyYXRvciAgICAgICAgICAgIlwoW1x8XVwpIgorCisgICIgRjIwMDgKKyAgc3luIGtleXdvcmQgZm9ydHJhbjA4SW50cmluc2ljICAgICAgICBhY29zaCBhc2luaCBhdGFuaCBiZXNzZWxfajAgYmVzc2VsX2oxIGJlc3NlbF9qbiBiZXNzZWxfeTAgYmVzc2VsX3kxIGJlc3NlbF95biBlcmYgZXJmYyBlcmZjX3NjYWxlZCBnYW1tYSBsb2dfZ2FtbWEgaHlwb3Qgbm9ybTIKKyAgc3luIGtleXdvcmQgZm9ydHJhbjA4SW50cmluc2ljICAgICAgICBhdG9taWNfZGVmaW5lIGF0b21pY19yZWYgZXhlY3V0ZV9jb21tYW5kX2xpbmUgbGVhZHogdHJhaWx6IHN0b3JhZ2Vfc2l6ZSBtZXJnZV9iaXRzCisgIHN5biBrZXl3b3JkIGZvcnRyYW4wOEludHJpbnNpYyAgICAgICAgYmdlIGJndCBibGUgYmx0IGRzaGlmdGwgZHNoaWZ0ciBmaW5kbG9jIGlhbGwgaWFueSBpcGFyaXR5IGltYWdlX2luZGV4IGxjb2JvdW5kIHVjb2JvdW5kIG1hc2tsIG1hc2tyIG51bV9pbWFnZXMgcGFyaXR5IHBvcGNudCBwb3BwYXIgc2hpZnRhIHNoaWZ0bCBzaGlmdHIgdGhpc19pbWFnZQorICBzeW4ga2V5d29yZCBmb3J0cmFuMDhJTyAgICAgICAgICAgICAgIG5ld3VuaXQKKyAgc3luIGtleXdvcmQgZm9ydHJhbjA4VHlwZSAgICAgICAgICAgICBjb250aWd1b3VzCitlbmRpZgorCiBzeW4gY2x1c3RlciBmb3J0cmFuQ29tbWVudEdyb3VwIGNvbnRhaW5zPWZvcnRyYW5Ub2RvCiAKIGlmIChiOmZvcnRyYW5fZml4ZWRfc291cmNlID09IDEpCkBAIC0zMjQsOSArMzU5LDkgQEAKIGlmIGV4aXN0cygiZm9ydHJhbl9mb2xkIikgfHwgZXhpc3RzKCJmb3J0cmFuX21vcmVfcHJlY2lzZSIpCiAgIHN5biBzeW5jIGZyb21zdGFydAogZWxzZWlmIChiOmZvcnRyYW5fZml4ZWRfc291cmNlID09IDApCi0gIHN5biBzeW5jIGxpbmVjb250ICImIiBtaW5saW5lcz0yMAorICBzeW4gc3luYyBsaW5lY29udCAiJiIgbWlubGluZXM9MzAKIGVsc2UKLSAgc3luIHN5bmMgbWlubGluZXM9MjAKKyAgc3luIHN5bmMgbWlubGluZXM9MzAKIGVuZGlmCiAKIGlmIHZlcnNpb24gPj0gNjAwICYmIGV4aXN0cygiZm9ydHJhbl9mb2xkIikKQEAgLTMzNiwxNSArMzcxLDE3IEBACiAgICAgc3luIHJlZ2lvbiBmb3J0cmFuTW9kdWxlIHRyYW5zcGFyZW50IGZvbGQga2VlcGVuZCBzdGFydD0iXlxzKm1vZHVsZVxzXCtcKHByb2NlZHVyZVwpXEAhXHooXGFcdypcKSIgc2tpcD0iXlwoWyFjKl1cfFxzKiNcKS4qJCIgZXhjbHVkZW5sIGVuZD0iXDxlbmRccypcKG1vZHVsZVwoXHNcK1x6MVw+XClcPVx8JFwpIiBjb250YWlucz1BTExCVVQsZm9ydHJhblByb2dyYW0KICAgICBzeW4gcmVnaW9uIGZvcnRyYW5GdW5jdGlvbiB0cmFuc3BhcmVudCBmb2xkIGtlZXBlbmQgZXh0ZW5kIHN0YXJ0PSJeXHMqXChlbGVtZW50YWwgXHxwdXJlIFx8cmVjdXJzaXZlIFwpXD1ccypcKFwoXChyZWFsIFx8aW50ZWdlciBcfGxvZ2ljYWwgXHxjb21wbGV4IFx8ZG91YmxlIFxzKnByZWNpc2lvbiBcKVxzKlwoKFwoXHMqa2luZFxzKj1cKVw9XHMqXHdcK1xzKilcKVw9XClcfHR5cGVcc1wrKFxzKlx3XCtccyopIFx8Y2hhcmFjdGVyIFwoKFwoXHMqbGVuXHMqPVwpXD1ccypcZFwrXHMqKVx8KFwoXHMqa2luZFxzKj1cKVw9XHMqXHdcK1xzKilcKVw9XClcPVxzKmZ1bmN0aW9uXHNcK1x6KFxhXHcqXCkiIHNraXA9Il5cKFshYypdXHxccyojXCkuKiQiIGV4Y2x1ZGVubCBlbmQ9Ilw8ZW5kXHMqXCgkXHxmdW5jdGlvblwoXHNcK1x6MVw+XClcPVwpIiBjb250YWlucz1BTExCVVQsZm9ydHJhblByb2dyYW0sZm9ydHJhbk1vZHVsZQogICAgIHN5biByZWdpb24gZm9ydHJhblN1YnJvdXRpbmUgdHJhbnNwYXJlbnQgZm9sZCBrZWVwZW5kIGV4dGVuZCBzdGFydD0iXlxzKlwoZWxlbWVudGFsIFx8cHVyZSBcfHJlY3Vyc2l2ZSBcKVw9XHMqc3Vicm91dGluZVxzXCtceihcYVx3KlwpIiBza2lwPSJeXChbIWMqXVx8XHMqI1wpLiokIiBleGNsdWRlbmwgZW5kPSJcPGVuZFxzKlwoJFx8c3Vicm91dGluZVwoXHNcK1x6MVw+XClcPVwpIiBjb250YWlucz1BTExCVVQsZm9ydHJhblByb2dyYW0sZm9ydHJhbk1vZHVsZQotICAgIHN5biByZWdpb24gZm9ydHJhbkJsb2NrRGF0YSB0cmFuc3BhcmVudCBmb2xkIGtlZXBlbmQgc3RhcnQ9Ilw8YmxvY2tccypkYXRhXHNcK1x6KFxhXHcqXCkiIHNraXA9Il5cKFshYypdXHxccyojXCkuKiQiIGV4Y2x1ZGVubCBlbmQ9Ilw8ZW5kXHMqXCgkXHxibG9ja1xzKmRhdGFcKFxzXCtcejFcPlwpXD1cKSIgY29udGFpbnM9QUxMQlVULGZvcnRyYW5Qcm9ncmFtLGZvcnRyYW5Nb2R1bGUsZm9ydHJhblN1YnJvdXRpbmUsZm9ydHJhbkZ1bmN0aW9uLGZvcnRyYW43N0xvb3AsZm9ydHJhbkNhc2UsZm9ydHJhbjkwTG9vcCxmb3J0cmFuSWZCbG9jaworICAgIHN5biByZWdpb24gZm9ydHJhbkJsb2NrRGF0YSB0cmFuc3BhcmVudCBmb2xkIGtlZXBlbmQgc3RhcnQ9Ilw8YmxvY2tccypkYXRhXChcc1wrXHooXGFcdypcKVwpXD0iIHNraXA9Il5cKFshYypdXHxccyojXCkuKiQiIGV4Y2x1ZGVubCBlbmQ9Ilw8ZW5kXHMqXCgkXHxibG9ja1xzKmRhdGFcKFxzXCtcejFcPlwpXD1cKSIgY29udGFpbnM9QUxMQlVULGZvcnRyYW5Qcm9ncmFtLGZvcnRyYW5Nb2R1bGUsZm9ydHJhblN1YnJvdXRpbmUsZm9ydHJhbkZ1bmN0aW9uLGZvcnRyYW43N0xvb3AsZm9ydHJhbkNhc2UsZm9ydHJhbjkwTG9vcCxmb3J0cmFuSWZCbG9jawogICAgIHN5biByZWdpb24gZm9ydHJhbkludGVyZmFjZSB0cmFuc3BhcmVudCBmb2xkIGtlZXBlbmQgZXh0ZW5kIHN0YXJ0PSJeXHMqaW50ZXJmYWNlXD4iIHNraXA9Il5cKFshYypdXHxccyojXCkuKiQiIGV4Y2x1ZGVubCBlbmQ9Ilw8ZW5kXHMqaW50ZXJmYWNlXD4iIGNvbnRhaW5zPUFMTEJVVCxmb3J0cmFuUHJvZ3JhbSxmb3J0cmFuTW9kdWxlLGZvcnRyYW43N0xvb3AsZm9ydHJhbkNhc2UsZm9ydHJhbjkwTG9vcCxmb3J0cmFuSWZCbG9jaworICAgIHN5biByZWdpb24gZm9ydHJhblR5cGVEZWYgdHJhbnNwYXJlbnQgZm9sZCBrZWVwZW5kIGV4dGVuZCBzdGFydD0iXlxzKnR5cGVccypcKCxccypcKHB1YmxpY1x8cHJpdmF0ZVwpXClcPVxzKjo6IiBza2lwPSJeXChbIWMqXVx8XHMqI1wpLiokIiBleGNsdWRlbmwgZW5kPSJcPGVuZFxzKnR5cGVcPiIgY29udGFpbnM9QUxMQlVULGZvcnRyYW5Qcm9ncmFtLGZvcnRyYW5Nb2R1bGUsZm9ydHJhbjc3TG9vcCxmb3J0cmFuQ2FzZSxmb3J0cmFuOTBMb29wLGZvcnRyYW5JZkJsb2NrCiAgIGVsc2UKICAgICBzeW4gcmVnaW9uIGZvcnRyYW5Qcm9ncmFtIHRyYW5zcGFyZW50IGZvbGQga2VlcGVuZCBzdGFydD0iXlxzKnByb2dyYW1cc1wrXHooXGFcdypcKSIgc2tpcD0iXlxzKlshI10uKiQiIGV4Y2x1ZGVubCBlbmQ9Ilw8ZW5kXHMqXChwcm9ncmFtXChcc1wrXHoxXD5cKVw9XHwkXCkiIGNvbnRhaW5zPUFMTEJVVCxmb3J0cmFuTW9kdWxlCiAgICAgc3luIHJlZ2lvbiBmb3J0cmFuTW9kdWxlIHRyYW5zcGFyZW50IGZvbGQga2VlcGVuZCBzdGFydD0iXlxzKm1vZHVsZVxzXCtcKHByb2NlZHVyZVwpXEAhXHooXGFcdypcKSIgc2tpcD0iXlxzKlshI10uKiQiIGV4Y2x1ZGVubCBlbmQ9Ilw8ZW5kXHMqXChtb2R1bGVcKFxzXCtcejFcPlwpXD1cfCRcKSIgY29udGFpbnM9QUxMQlVULGZvcnRyYW5Qcm9ncmFtCiAgICAgc3luIHJlZ2lvbiBmb3J0cmFuRnVuY3Rpb24gdHJhbnNwYXJlbnQgZm9sZCBrZWVwZW5kIGV4dGVuZCBzdGFydD0iXlxzKlwoZWxlbWVudGFsIFx8cHVyZSBcfHJlY3Vyc2l2ZSBcKVw9XHMqXChcKFwocmVhbCBcfGludGVnZXIgXHxsb2dpY2FsIFx8Y29tcGxleCBcfGRvdWJsZSBccypwcmVjaXNpb24gXClccypcKChcKFxzKmtpbmRccyo9XClcPVxzKlx3XCtccyopXClcPVwpXHx0eXBlXHNcKyhccypcd1wrXHMqKSBcfGNoYXJhY3RlciBcKChcKFxzKmxlblxzKj1cKVw9XHMqXGRcK1xzKilcfChcKFxzKmtpbmRccyo9XClcPVxzKlx3XCtccyopXClcPVwpXD1ccypmdW5jdGlvblxzXCtceihcYVx3KlwpIiBza2lwPSJeXHMqWyEjXS4qJCIgZXhjbHVkZW5sIGVuZD0iXDxlbmRccypcKCRcfGZ1bmN0aW9uXChcc1wrXHoxXD5cKVw9XCkiIGNvbnRhaW5zPUFMTEJVVCxmb3J0cmFuUHJvZ3JhbSxmb3J0cmFuTW9kdWxlCiAgICAgc3luIHJlZ2lvbiBmb3J0cmFuU3Vicm91dGluZSB0cmFuc3BhcmVudCBmb2xkIGtlZXBlbmQgZXh0ZW5kIHN0YXJ0PSJeXHMqXChlbGVtZW50YWwgXHxwdXJlIFx8cmVjdXJzaXZlIFwpXD1ccypzdWJyb3V0aW5lXHNcK1x6KFxhXHcqXCkiIHNraXA9Il5ccypbISNdLiokIiBleGNsdWRlbmwgZW5kPSJcPGVuZFxzKlwoJFx8c3Vicm91dGluZVwoXHNcK1x6MVw+XClcPVwpIiBjb250YWlucz1BTExCVVQsZm9ydHJhblByb2dyYW0sZm9ydHJhbk1vZHVsZQotICAgIHN5biByZWdpb24gZm9ydHJhbkJsb2NrRGF0YSB0cmFuc3BhcmVudCBmb2xkIGtlZXBlbmQgc3RhcnQ9Ilw8YmxvY2tccypkYXRhXHNcK1x6KFxhXHcqXCkiIHNraXA9Il5ccypbISNdLiokIiBleGNsdWRlbmwgZW5kPSJcPGVuZFxzKlwoJFx8YmxvY2tccypkYXRhXChcc1wrXHoxXD5cKVw9XCkiIGNvbnRhaW5zPUFMTEJVVCxmb3J0cmFuUHJvZ3JhbSxmb3J0cmFuTW9kdWxlLGZvcnRyYW5TdWJyb3V0aW5lLGZvcnRyYW5GdW5jdGlvbixmb3J0cmFuNzdMb29wLGZvcnRyYW5DYXNlLGZvcnRyYW45MExvb3AsZm9ydHJhbklmQmxvY2sKKyAgICBzeW4gcmVnaW9uIGZvcnRyYW5CbG9ja0RhdGEgdHJhbnNwYXJlbnQgZm9sZCBrZWVwZW5kIHN0YXJ0PSJcPGJsb2NrXHMqZGF0YVwoXHNcK1x6KFxhXHcqXClcKVw9IiBza2lwPSJeXHMqWyEjXS4qJCIgZXhjbHVkZW5sIGVuZD0iXDxlbmRccypcKCRcfGJsb2NrXHMqZGF0YVwoXHNcK1x6MVw+XClcPVwpIiBjb250YWlucz1BTExCVVQsZm9ydHJhblByb2dyYW0sZm9ydHJhbk1vZHVsZSxmb3J0cmFuU3Vicm91dGluZSxmb3J0cmFuRnVuY3Rpb24sZm9ydHJhbjc3TG9vcCxmb3J0cmFuQ2FzZSxmb3J0cmFuOTBMb29wLGZvcnRyYW5JZkJsb2NrCiAgICAgc3luIHJlZ2lvbiBmb3J0cmFuSW50ZXJmYWNlIHRyYW5zcGFyZW50IGZvbGQga2VlcGVuZCBleHRlbmQgc3RhcnQ9Il5ccyppbnRlcmZhY2VcPiIgc2tpcD0iXlxzKlshI10uKiQiIGV4Y2x1ZGVubCBlbmQ9Ilw8ZW5kXHMqaW50ZXJmYWNlXD4iIGNvbnRhaW5zPUFMTEJVVCxmb3J0cmFuUHJvZ3JhbSxmb3J0cmFuTW9kdWxlLGZvcnRyYW43N0xvb3AsZm9ydHJhbkNhc2UsZm9ydHJhbjkwTG9vcCxmb3J0cmFuSWZCbG9jaworICAgIHN5biByZWdpb24gZm9ydHJhblR5cGVEZWYgdHJhbnNwYXJlbnQgZm9sZCBrZWVwZW5kIGV4dGVuZCBzdGFydD0iXlxzKnR5cGVccypcKCxccypcKHB1YmxpY1x8cHJpdmF0ZVwpXClcPVxzKjo6IiBza2lwPSJeXHMqWyEjXS4qJCIgZXhjbHVkZW5sIGVuZD0iXDxlbmRccyp0eXBlXD4iIGNvbnRhaW5zPUFMTEJVVCxmb3J0cmFuUHJvZ3JhbSxmb3J0cmFuTW9kdWxlLGZvcnRyYW43N0xvb3AsZm9ydHJhbkNhc2UsZm9ydHJhbjkwTG9vcCxmb3J0cmFuSWZCbG9jawogICBlbmRpZgogCiAgIGlmIGV4aXN0cygiZm9ydHJhbl9mb2xkX2NvbmRpdGlvbmFscyIpCkBAIC0zOTAsMjYgKzQyNyw0MSBAQAogICAiIGZvcnRyYW5NdWx0aUNvbW1lbnRMaW5lcwogICBIaUxpbmsgZm9ydHJhbktleXdvcmQgCUtleXdvcmQKICAgSGlMaW5rIGZvcnRyYW5Db25zdHJ1Y3ROYW1lCUlkZW50aWZpZXIKKyAgSGlMaW5rIGZvcnRyYW4wM0NvbmRpdGlvbmFsCWZvcnRyYW5Db25kaXRpb25hbAogICBIaUxpbmsgZm9ydHJhbkNvbmRpdGlvbmFsCUNvbmRpdGlvbmFsCiAgIEhpTGluayBmb3J0cmFuUmVwZWF0CQlSZXBlYXQKICAgSGlMaW5rIGZvcnRyYW5Ub2RvCQlUb2RvCi0gIEhpTGluayBmb3J0cmFuQ29udGludWVNYXJrCVRvZG8KKyAgaWYgKGI6Zm9ydHJhbl9maXhlZF9zb3VyY2UgPT0gMSkKKyAgICBIaUxpbmsgZm9ydHJhbkNvbnRpbnVlTWFyawlUb2RvCisgIGVsc2UKKyAgICBIaUxpbmsgZm9ydHJhbkNvbnRpbnVlTWFyawlLZXl3b3JkCisgIGVuZGlmCiAgIEhpTGluayBmb3J0cmFuU3RyaW5nCQlTdHJpbmcKICAgSGlMaW5rIGZvcnRyYW5OdW1iZXIJCU51bWJlcgorICBIaUxpbmsgZm9ydHJhbjAzT3BlcmF0b3IJZm9ydHJhbk9wZXJhdG9yCiAgIEhpTGluayBmb3J0cmFuT3BlcmF0b3IJT3BlcmF0b3IKICAgSGlMaW5rIGZvcnRyYW5Cb29sZWFuCQlCb29sZWFuCiAgIEhpTGluayBmb3J0cmFuTGFiZWxFcnJvcglFcnJvcgogICBIaUxpbmsgZm9ydHJhbk9ic29sZXRlCVRvZG8KKyAgSGlMaW5rIGZvcnRyYW4wM1R5cGUgIAlmb3J0cmFuVHlwZQorICBIaUxpbmsgZm9ydHJhbjA4VHlwZQkgICAgICAgIGZvcnRyYW5UeXBlCiAgIEhpTGluayBmb3J0cmFuVHlwZQkJVHlwZQogICBIaUxpbmsgZm9ydHJhblN0cnVjdHVyZQlUeXBlCiAgIEhpTGluayBmb3J0cmFuU3RvcmFnZUNsYXNzCVN0b3JhZ2VDbGFzcwotICBIaUxpbmsgZm9ydHJhbkNhbGwJCWZvcnRyYW5Vbml0SGVhZGVyCisgIEhpTGluayBmb3J0cmFuQ2FsbAkJRnVuY3Rpb24KKyAgSGlMaW5rIGZvcnRyYW4wM1VuaXRIZWFkZXIJZm9ydHJhblVuaXRIZWFkZXIKICAgSGlMaW5rIGZvcnRyYW5Vbml0SGVhZGVyCWZvcnRyYW5QcmVDb25kaXQKKyAgSGlMaW5rIGZvcnRyYW4wM1JlYWRXcml0ZQlmb3J0cmFuUmVhZFdyaXRlCiAgIEhpTGluayBmb3J0cmFuUmVhZFdyaXRlCUtleXdvcmQKKyAgSGlMaW5rIGZvcnRyYW4wM0lPCQlmb3J0cmFuSU8KKyAgSGlMaW5rIGZvcnRyYW4wOElPCQlmb3J0cmFuSU8KICAgSGlMaW5rIGZvcnRyYW5JTwkJS2V5d29yZAogICBIaUxpbmsgZm9ydHJhbjk1SW50cmluc2ljCWZvcnRyYW45MEludHJpbnNpYwogICBIaUxpbmsgZm9ydHJhbjc3SW50cmluc2ljCWZvcnRyYW45MEludHJpbnNpYwogICBIaUxpbmsgZm9ydHJhbjkwSW50cmluc2ljCUZ1bmN0aW9uCisgIEhpTGluayBmb3J0cmFuMDNJbnRyaW5zaWMJRnVuY3Rpb24KKyAgSGlMaW5rIGZvcnRyYW4wOEludHJpbnNpYwlGdW5jdGlvbgorICBIaUxpbmsgZm9ydHJhbjAzQ29uc3RhbnQJRnVuY3Rpb24KIAogICBpZiAoIGI6Zm9ydHJhbl9kaWFsZWN0ID09ICJlbGYiIHx8IGI6Zm9ydHJhbl9kaWFsZWN0ID09ICJGIiApCiAgICAgSGlMaW5rIGZvcnRyYW5LZXl3b3JkT2IJZm9ydHJhbk9ic29sZXRlCg==