ZGlmZiAtLWdpdCBhL3J1bnRpbWUvY29tcGlsZXIvaGFtbC52aW0gYi9ydW50aW1lL2NvbXBpbGVyL2hhbWwudmltCmluZGV4IGZhYTFmZDkuLmIwNmE2NzIgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvY29tcGlsZXIvaGFtbC52aW0KKysrIGIvcnVudGltZS9jb21waWxlci9oYW1sLnZpbQpAQCAtMSwzICsxLDggQEAKKyIgVmltIGNvbXBpbGVyIGZpbGUKKyIgQ29tcGlsZXI6CUhhbWwKKyIgTWFpbnRhaW5lcjoJVGltIFBvcGUgPHZpbU5PU1BBTUB0cG9wZS5vcmc+CisiIExhc3QgQ2hhbmdlOgkyMDEzIE1heSAzMAorCiBpZiBleGlzdHMoImN1cnJlbnRfY29tcGlsZXIiKQogICBmaW5pc2gKIGVuZGlmCmRpZmYgLS1naXQgYS9ydW50aW1lL2NvbXBpbGVyL3Nhc3MudmltIGIvcnVudGltZS9jb21waWxlci9zYXNzLnZpbQppbmRleCA4MzQwYjljLi4zNzZhNTJiIDEwMDY0NAotLS0gYS9ydW50aW1lL2NvbXBpbGVyL3Nhc3MudmltCisrKyBiL3J1bnRpbWUvY29tcGlsZXIvc2Fzcy52aW0KQEAgLTEsMyArMSw4IEBACisiIFZpbSBjb21waWxlciBmaWxlCisiIENvbXBpbGVyOglTYXNzCisiIE1haW50YWluZXI6CVRpbSBQb3BlIDx2aW1OT1NQQU1AdHBvcGUub3JnPgorIiBMYXN0IENoYW5nZToJMjAxMyBNYXkgMzAKKwogaWYgZXhpc3RzKCJjdXJyZW50X2NvbXBpbGVyIikKICAgZmluaXNoCiBlbmRpZgpkaWZmIC0tZ2l0IGEvcnVudGltZS9kb2MvaWZfcHl0aC50eHQgYi9ydW50aW1lL2RvYy9pZl9weXRoLnR4dAppbmRleCA3YmQ5YjM3Li4xNjUxMzFlIDEwMDY0NAotLS0gYS9ydW50aW1lL2RvYy9pZl9weXRoLnR4dAorKysgYi9ydW50aW1lL2RvYy9pZl9weXRoLnR4dApAQCAtMSw0ICsxLDQgQEAKLSppZl9weXRoLnR4dCogICBGb3IgVmltIHZlcnNpb24gNy4zLiAgTGFzdCBjaGFuZ2U6IDIwMTMgTWF5IDI1CisqaWZfcHl0aC50eHQqICAgRm9yIFZpbSB2ZXJzaW9uIDcuMy4gIExhc3QgY2hhbmdlOiAyMDEzIEp1biAwMgogCiAKIAkJICBWSU0gUkVGRVJFTkNFIE1BTlVBTCAgICBieSBQYXVsIE1vb3JlCkBAIC0zNDAsNyArMzQwLDcgQEAKIAkJCXxCdWZGaWxlUG9zdHwgYXV0b2NvbW1hbmRzIGFyZSBsYXVuY2hlZC4KIAliLm51bWJlcglCdWZmZXIgbnVtYmVyLiBDYW4gYmUgdXNlZCBhcyB8cHl0aG9uLWJ1ZmZlcnN8IGtleS4KIAkJCVJlYWQtb25seS4KLQliLnZhbGlkCQlUcnVlIG9yIEZhbHNlLiBCdWZmZXIgb2JqZWN0IGJlY2FtZXMgaW52YWxpZCB3aGVuIAorCWIudmFsaWQJCVRydWUgb3IgRmFsc2UuIEJ1ZmZlciBvYmplY3QgYmVjb21lcyBpbnZhbGlkIHdoZW4gCiAJCQljb3JyZXNwb25kaW5nIGJ1ZmZlciBpcyB3aXBlZCBvdXQuCiAKIFRoZSBidWZmZXIgb2JqZWN0IG1ldGhvZHMgYXJlOgpAQCAtNDQ2LDcgKzQ0Niw3IEBACiAJcm93LCBjb2wgKHJlYWQtb25seSkJT24tc2NyZWVuIHdpbmRvdyBwb3NpdGlvbiBpbiBkaXNwbGF5IGNlbGxzLgogCQkJCUZpcnN0IHBvc2l0aW9uIGlzIHplcm8uCiAJdGFicGFnZSAocmVhZC1vbmx5KQlXaW5kb3cgdGFiIHBhZ2UuCi0JdmFsaWQgKHJlYWQtd3JpdGUpCVRydWUgb3IgRmFsc2UuIFdpbmRvdyBvYmplY3QgYmVjYW1lcyBpbnZhbGlkIAorCXZhbGlkIChyZWFkLXdyaXRlKQlUcnVlIG9yIEZhbHNlLiBXaW5kb3cgb2JqZWN0IGJlY29tZXMgaW52YWxpZCAKIAkJCQl3aGVuIGNvcnJlc3BvbmRpbmcgd2luZG93IGlzIGNsb3NlZC4KIAogVGhlIGhlaWdodCBhdHRyaWJ1dGUgaXMgd3JpdGFibGUgb25seSBpZiB0aGUgc2NyZWVuIGlzIHNwbGl0IGhvcml6b250YWxseS4KQEAgLTQ3MSw3ICs0NzEsNyBAQAogCXdpbmRvd3MJCUxpa2UgfHB5dGhvbi13aW5kb3dzfCwgYnV0IGZvciBjdXJyZW50IHRhYiBwYWdlLgogCXZhcnMJCVRoZSB0YWIgcGFnZSB8dDp8IHZhcmlhYmxlcy4KIAl3aW5kb3cJCUN1cnJlbnQgdGFicGFnZSB3aW5kb3cuCi0JdmFsaWQJCVRydWUgb3IgRmFsc2UuIFRhYiBwYWdlIG9iamVjdCBiZWNhbWVzIGludmFsaWQgd2hlbiAKKwl2YWxpZAkJVHJ1ZSBvciBGYWxzZS4gVGFiIHBhZ2Ugb2JqZWN0IGJlY29tZXMgaW52YWxpZCB3aGVuIAogCQkJY29ycmVzcG9uZGluZyB0YWIgcGFnZSBpcyBjbG9zZWQuCiAKIFRhYlBhZ2Ugb2JqZWN0IHR5cGUgaXMgYXZhaWxhYmxlIHVzaW5nICJUYWJQYWdlIiBhdHRyaWJ1dGUgb2YgdmltIG1vZHVsZS4KZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL2luZGV4LnR4dCBiL3J1bnRpbWUvZG9jL2luZGV4LnR4dAppbmRleCA2YjhkNDQ1Li5jMmIxY2ExIDEwMDY0NAotLS0gYS9ydW50aW1lL2RvYy9pbmRleC50eHQKKysrIGIvcnVudGltZS9kb2MvaW5kZXgudHh0CkBAIC0xLDQgKzEsNCBAQAotKmluZGV4LnR4dCogICAgIEZvciBWaW0gdmVyc2lvbiA3LjMuICBMYXN0IGNoYW5nZTogMjAxMyBNYXkgMTcKKyppbmRleC50eHQqICAgICBGb3IgVmltIHZlcnNpb24gNy4zLiAgTGFzdCBjaGFuZ2U6IDIwMTMgSnVuIDA2CiAKIAogCQkgIFZJTSBSRUZFUkVOQ0UgTUFOVUFMICAgIGJ5IEJyYW0gTW9vbGVuYWFyCkBAIC0xNTEwLDYgKzE1MTAsNyBAQAogfDpzdmlld3wJOnN2W2lld10Jc3BsaXQgd2luZG93IGFuZCBlZGl0IGZpbGUgcmVhZC1vbmx5CiB8OnN3YXBuYW1lfAk6c3dbYXBuYW1lXQlzaG93IHRoZSBuYW1lIG9mIHRoZSBjdXJyZW50IHN3YXAgZmlsZQogfDpzeW50YXh8CTpzeVtudGF4XQlzeW50YXggaGlnaGxpZ2h0aW5nCit8OnN5bnRpbWV8CTpzeW50aVttZV0JbWVhc3VyZSBzeW50YXggaGlnaGxpZ2h0aW5nIHNwZWVkCiB8OnN5bmNiaW5kfAk6c3luY1tiaW5kXQlzeW5jIHNjcm9sbCBiaW5kaW5nCiB8OnR8CQk6dAkJc2FtZSBhcyAiOmNvcHkiCiB8OnROZXh0fAk6dE5bZXh0XQlqdW1wIHRvIHByZXZpb3VzIG1hdGNoaW5nIHRhZwpkaWZmIC0tZ2l0IGEvcnVudGltZS9kb2Mvb3B0aW9ucy50eHQgYi9ydW50aW1lL2RvYy9vcHRpb25zLnR4dAppbmRleCA2YjAxZDdjLi5kN2Y5ZGIwIDEwMDY0NAotLS0gYS9ydW50aW1lL2RvYy9vcHRpb25zLnR4dAorKysgYi9ydW50aW1lL2RvYy9vcHRpb25zLnR4dApAQCAtMSw0ICsxLDQgQEAKLSpvcHRpb25zLnR4dCoJRm9yIFZpbSB2ZXJzaW9uIDcuMy4gIExhc3QgY2hhbmdlOiAyMDEzIE1heSAyMworKm9wdGlvbnMudHh0KglGb3IgVmltIHZlcnNpb24gNy4zLiAgTGFzdCBjaGFuZ2U6IDIwMTMgSnVuIDA0CiAKIAogCQkgIFZJTSBSRUZFUkVOQ0UgTUFOVUFMCSAgYnkgQnJhbSBNb29sZW5hYXIKQEAgLTUxMzIsNyArNTEzMiwxOCBAQAogCWNoYXJhY3RlcnMgYXJlIHB1dCBiZWZvcmUgdGhlIG51bWJlci4KIAlTZWUgfGhsLUxpbmVOcnwgIGFuZCB8aGwtQ3Vyc29yTGluZU5yfCBmb3IgdGhlIGhpZ2hsaWdodGluZyB1c2VkIGZvcgogCXRoZSBudW1iZXIuCi0JV2hlbiBzZXR0aW5nIHRoaXMgb3B0aW9uLCAncmVsYXRpdmVudW1iZXInIGlzIHJlc2V0LgorCQkJCQkJKm51bWJlcl9yZWxhdGl2ZW51bWJlcioKKwlUaGUgJ3JlbGF0aXZlbnVtYmVyJyBvcHRpb24gY2hhbmdlcyB0aGUgZGlzcGxheWVkIG51bWJlciB0byBiZQorCXJlbGF0aXZlIHRvIHRoZSBjdXJzb3IuICBUb2dldGhlciB3aXRoICdudW1iZXInIHRoZXJlIGFyZSB0aGVzZQorCWZvdXIgY29tYmluYXRpb25zIChjdXJzb3IgaW4gbGluZSAzKToKKworICAgICAgICAgICAgICAJJ25vbnUnICAgICAgICAgICdudScgICAgICAgICAgICAnbm9udScgICAgICAgICAgJ251JworCQknbm9ybnUnICAgICAgICAgJ25vcm51JyAgICAgICAgICdybnUnICAgICAgICAgICAncm51JworCisJICAgIHxhcHBsZSAgICAgICAgICB8ICAxIGFwcGxlICAgICAgfCAgMiBhcHBsZSAgICAgIHwgIDIgYXBwbGUKKwkgICAgfHBlYXIgICAgICAgICAgIHwgIDIgcGVhciAgICAgICB8ICAxIHBlYXIgICAgICAgfCAgMSBwZWFyCisJICAgIHxub2JvZHkgICAgICAgICB8ICAzIG5vYm9keSAgICAgfCAgMCBub2JvZHkgICAgIHwzICAgbm9ib2R5CisJICAgIHx0aGVyZSAgICAgICAgICB8ICA0IHRoZXJlICAgICAgfCAgMSB0aGVyZSAgICAgIHwgIDEgdGhlcmUKIAogCQkJCQkJKidudW1iZXJ3aWR0aCcqIConbnV3JyoKICdudW1iZXJ3aWR0aCcgJ251dycJbnVtYmVyCShWaW0gZGVmYXVsdDogNCAgVmkgZGVmYXVsdDogOCkKQEAgLTU1NDcsNyArNTU1OCwxMCBAQAogCWNoYXJhY3RlcnMgYXJlIHB1dCBiZWZvcmUgdGhlIG51bWJlci4KIAlTZWUgfGhsLUxpbmVOcnwgIGFuZCB8aGwtQ3Vyc29yTGluZU5yfCBmb3IgdGhlIGhpZ2hsaWdodGluZyB1c2VkIGZvcgogCXRoZSBudW1iZXIuCi0JV2hlbiBzZXR0aW5nIHRoaXMgb3B0aW9uLCAnbnVtYmVyJyBpcyByZXNldC4KKwkKKwlUaGUgbnVtYmVyIGluIGZyb250IG9mIHRoZSBjdXJzb3IgbGluZSBhbHNvIGRlcGVuZHMgb24gdGhlIHZhbHVlIG9mCisJJ251bWJlcicsIHNlZSB8bnVtYmVyX3JlbGF0aXZlbnVtYmVyfCBmb3IgYWxsIGNvbWJpbmF0aW9ucyBvZiB0aGUgdHdvCisJb3B0aW9ucy4KIAogCQkJCQkJKidyZW1hcCcqIConbm9yZW1hcCcqCiAncmVtYXAnCQkJYm9vbGVhbgkoZGVmYXVsdCBvbikKZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL3BhdHRlcm4udHh0IGIvcnVudGltZS9kb2MvcGF0dGVybi50eHQKaW5kZXggZTkwZTM4OC4uNjliNGE5ZiAxMDA2NDQKLS0tIGEvcnVudGltZS9kb2MvcGF0dGVybi50eHQKKysrIGIvcnVudGltZS9kb2MvcGF0dGVybi50eHQKQEAgLTEsNCArMSw0IEBACi0qcGF0dGVybi50eHQqICAgRm9yIFZpbSB2ZXJzaW9uIDcuMy4gIExhc3QgY2hhbmdlOiAyMDEzIE1heSAyOQorKnBhdHRlcm4udHh0KiAgIEZvciBWaW0gdmVyc2lvbiA3LjMuICBMYXN0IGNoYW5nZTogMjAxMyBKdW4gMDIKIAogCiAJCSAgVklNIFJFRkVSRU5DRSBNQU5VQUwgICAgYnkgQnJhbSBNb29sZW5hYXIKQEAgLTEyMzIsNyArMTIzMiw3IEBACiAJQnh5CQlCeXgJCXllcyAob3JkZXIgaWdub3JlZCkKIAlCeHkJCUJ5CQlubyAoeCBtaXNzaW5nKQogCUJ4eQkJQngJCW5vICh5IG1pc3NpbmcpCi0JQngJCUJ4CQl5ZXMgKHBlcmZlY3QgbWFjaCkKKwlCeAkJQngJCXllcyAocGVyZmVjdCBtYXRjaCkKIAlCeAkJQnkJCW5vICh4IG1pc3NpbmcpCiAJQngJCUJ4eQkJeWVzIChleHRyYSB5IGlnbm9yZWQpCiAJQngJCUJ5eAkJeWVzIChleHRyYSB5IGlnbm9yZWQpCmRpZmYgLS1naXQgYS9ydW50aW1lL2RvYy9zeW50YXgudHh0IGIvcnVudGltZS9kb2Mvc3ludGF4LnR4dAppbmRleCA3ZjI5NmQxLi4zNzc5ZGUxIDEwMDY0NAotLS0gYS9ydW50aW1lL2RvYy9zeW50YXgudHh0CisrKyBiL3J1bnRpbWUvZG9jL3N5bnRheC50eHQKQEAgLTEsNCArMSw0IEBACi0qc3ludGF4LnR4dCoJRm9yIFZpbSB2ZXJzaW9uIDcuMy4gIExhc3QgY2hhbmdlOiAyMDEzIE1heSAzMQorKnN5bnRheC50eHQqCUZvciBWaW0gdmVyc2lvbiA3LjMuICBMYXN0IGNoYW5nZTogMjAxMyBKdW4gMDYKIAogCiAJCSAgVklNIFJFRkVSRU5DRSBNQU5VQUwJICBieSBCcmFtIE1vb2xlbmFhcgpAQCAtMzk1Nyw3ICszOTU3LDcgQEAKIAogVGhlc2UgZXh0cmEgcmVndWxhciBleHByZXNzaW9uIGl0ZW1zIGFyZSBhdmFpbGFibGUgaW4gcmVnaW9uIHBhdHRlcm5zOgogCi0JCQkJCQkqL1x6KCogKi9ceihcKSogKkU1MCogKkU1MioKKwkJCQkJKi9ceigqICovXHooXCkqICpFNTAqICpFNTIqICpFODc5KgogICAgIFx6KFwpCU1hcmtzIHRoZSBzdWItZXhwcmVzc2lvbiBhcyAiZXh0ZXJuYWwiLCBtZWFuaW5nIHRoYXQgaXQgY2FuIGJlCiAJCWFjY2Vzc2VkIGZyb20gYW5vdGhlciBwYXR0ZXJuIG1hdGNoLiAgQ3VycmVudGx5IG9ubHkgdXNhYmxlIGluCiAJCWRlZmluaW5nIGEgc3ludGF4IHJlZ2lvbiBzdGFydCBwYXR0ZXJuLgpAQCAtNTA5Nyw2ICs1MDk3LDkgQEAKIGZhc3Rlci4gIFRvIHNlZSBzbG93bmVzcyBzd2l0Y2ggb24gc29tZSBmZWF0dXJlcyB0aGF0IHVzdWFsbHkgaW50ZXJmZXJlLCBzdWNoCiBhcyAncmVsYXRpdmVudW1iZXInIGFuZCB8Zm9sZGluZ3wuCiAKK05vdGU6IHRoaXMgaXMgb25seSBhdmFpbGFibGUgd2hlbiBjb21waWxlZCB3aXRoIHRoZSB8K3Byb2ZpbGV8IGZlYXR1cmUuCitZb3UgbWFueSBuZWVkIHRvIGJ1aWxkIFZpbSB3aXRoICJodWdlIiBmZWF0dXJlcy4KKwogVG8gZmluZCBvdXQgd2hhdCBwYXR0ZXJucyBhcmUgY29uc3VtaW5nIG1vc3QgdGltZSwgZ2V0IGFuIG92ZXJ2aWV3IHdpdGggdGhpcwogc2VxdWVuY2U6ID4KIAk6c3ludGltZSBvbgpkaWZmIC0tZ2l0IGEvcnVudGltZS9kb2MvdGFncyBiL3J1bnRpbWUvZG9jL3RhZ3MKaW5kZXggZjAyYzRjMi4uNjllZDUzMyAxMDA2NDQKLS0tIGEvcnVudGltZS9kb2MvdGFncworKysgYi9ydW50aW1lL2RvYy90YWdzCkBAIC0yODc2LDYgKzI4NzYsNyBAQAogOnN5bnRheC1lbmFibGUJc3ludGF4LnR4dAkvKjpzeW50YXgtZW5hYmxlKgogOnN5bnRheC1vbglzeW50YXgudHh0CS8qOnN5bnRheC1vbioKIDpzeW50YXgtcmVzZXQJc3ludGF4LnR4dAkvKjpzeW50YXgtcmVzZXQqCis6c3ludGltZQlzeW50YXgudHh0CS8qOnN5bnRpbWUqCiA6dAljaGFuZ2UudHh0CS8qOnQqCiA6dE4JdGFnc3JjaC50eHQJLyo6dE4qCiA6dE5leHQJdGFnc3JjaC50eHQJLyo6dE5leHQqCkBAIC00MjgxLDYgKzQyODIsNyBAQAogRTg3NglwYXR0ZXJuLnR4dAkvKkU4NzYqCiBFODc3CXBhdHRlcm4udHh0CS8qRTg3NyoKIEU4NzgJcGF0dGVybi50eHQJLypFODc4KgorRTg3OQlzeW50YXgudHh0CS8qRTg3OSoKIEU4OAl3aW5kb3dzLnR4dAkvKkU4OCoKIEU4OQltZXNzYWdlLnR4dAkvKkU4OSoKIEU5MAltZXNzYWdlLnR4dAkvKkU5MCoKQEAgLTcxNTksNiArNzE2MSw3IEBACiBub3RlcGFkCWd1aV93MzIudHh0CS8qbm90ZXBhZCoKIG5yMmNoYXIoKQlldmFsLnR4dAkvKm5yMmNoYXIoKSoKIG5yb2ZmLnZpbQlzeW50YXgudHh0CS8qbnJvZmYudmltKgorbnVtYmVyX3JlbGF0aXZlbnVtYmVyCW9wdGlvbnMudHh0CS8qbnVtYmVyX3JlbGF0aXZlbnVtYmVyKgogbnVtYmVyZWQtZnVuY3Rpb24JZXZhbC50eHQJLypudW1iZXJlZC1mdW5jdGlvbioKIG8JaW5zZXJ0LnR4dAkvKm8qCiBvX0NUUkwtVgltb3Rpb24udHh0CS8qb19DVFJMLVYqCkBAIC03MzUzLDYgKzczNTYsNyBAQAogcHl0aG9uLWJpbmRldmFsLW9iamVjdHMJaWZfcHl0aC50eHQJLypweXRob24tYmluZGV2YWwtb2JqZWN0cyoKIHB5dGhvbi1idWZmZXIJaWZfcHl0aC50eHQJLypweXRob24tYnVmZmVyKgogcHl0aG9uLWJ1ZmZlcnMJaWZfcHl0aC50eHQJLypweXRob24tYnVmZmVycyoKK3B5dGhvbi1jaGRpcglpZl9weXRoLnR4dAkvKnB5dGhvbi1jaGRpcioKIHB5dGhvbi1jb21tYW5kCWlmX3B5dGgudHh0CS8qcHl0aG9uLWNvbW1hbmQqCiBweXRob24tY29tbWFuZHMJaWZfcHl0aC50eHQJLypweXRob24tY29tbWFuZHMqCiBweXRob24tY3VycmVudAlpZl9weXRoLnR4dAkvKnB5dGhvbi1jdXJyZW50KgpAQCAtNzM2MCwxMSArNzM2NCwxMyBAQAogcHl0aG9uLWVycm9yCWlmX3B5dGgudHh0CS8qcHl0aG9uLWVycm9yKgogcHl0aG9uLWV2YWwJaWZfcHl0aC50eHQJLypweXRob24tZXZhbCoKIHB5dGhvbi1leGFtcGxlcwlpZl9weXRoLnR4dAkvKnB5dGhvbi1leGFtcGxlcyoKK3B5dGhvbi1mY2hkaXIJaWZfcHl0aC50eHQJLypweXRob24tZmNoZGlyKgogcHl0aG9uLWlucHV0CWlmX3B5dGgudHh0CS8qcHl0aG9uLWlucHV0KgogcHl0aG9uLW9wdGlvbnMJaWZfcHl0aC50eHQJLypweXRob24tb3B0aW9ucyoKIHB5dGhvbi1vdXRwdXQJaWZfcHl0aC50eHQJLypweXRob24tb3V0cHV0KgogcHl0aG9uLXB5ZXZhbAlpZl9weXRoLnR4dAkvKnB5dGhvbi1weWV2YWwqCiBweXRob24tcmFuZ2UJaWZfcHl0aC50eHQJLypweXRob24tcmFuZ2UqCitweXRob24tc3Ryd2lkdGgJaWZfcHl0aC50eHQJLypweXRob24tc3Ryd2lkdGgqCiBweXRob24tdGFicGFnZQlpZl9weXRoLnR4dAkvKnB5dGhvbi10YWJwYWdlKgogcHl0aG9uLXRhYnBhZ2VzCWlmX3B5dGgudHh0CS8qcHl0aG9uLXRhYnBhZ2VzKgogcHl0aG9uLXZhcnMJaWZfcHl0aC50eHQJLypweXRob24tdmFycyoKZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL3RvZG8udHh0IGIvcnVudGltZS9kb2MvdG9kby50eHQKaW5kZXggZTc3ZmI1NS4uNWYwMTYwMyAxMDA2NDQKLS0tIGEvcnVudGltZS9kb2MvdG9kby50eHQKKysrIGIvcnVudGltZS9kb2MvdG9kby50eHQKQEAgLTEsNCArMSw0IEBACi0qdG9kby50eHQqICAgICAgRm9yIFZpbSB2ZXJzaW9uIDcuMy4gIExhc3QgY2hhbmdlOiAyMDEzIEp1biAwMQorKnRvZG8udHh0KiAgICAgIEZvciBWaW0gdmVyc2lvbiA3LjMuICBMYXN0IGNoYW5nZTogMjAxMyBKdW4gMDYKIAogCiAJCSAgVklNIFJFRkVSRU5DRSBNQU5VQUwJICBieSBCcmFtIE1vb2xlbmFhcgpAQCAtMzQsMzQgKzM0LDE4IEBACiAJCQkJCQkJKmtub3duLWJ1Z3MqCiAtLS0tLS0tLS0tLS0tLS0tLS0tLSBLbm93biBidWdzIGFuZCBjdXJyZW50IHdvcmsgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIAorTWFrZSBpdCBwb3NzaWJsZSB0byB0ZXN0IHRoZSBzdGF0dXMgbGluZTogYWRkIHNjcmVlbmNoYXIoY29sLCByb3cpLgorVXNlIHNjcmVlbl9nZXRieXRlcygpLgorQ291bGQgYWxzbyBhZGQgc2NyZWVuYXR0cihjb2wsIHJvdyksIGJ1dCB2YWx1ZSBpcyB1bnByZWRpY3RhYmxlLgorRnVuY3Rpb25zIHRvIHJlYWQgdGhlIGFjdHVhbCBjb250ZW50cyBvZiB0aGUgc2NyZWVuLCBzbyB0aGF0IHRoaW5ncyBsaWtlCitjb25jZWFsIGNhbiBiZSB0ZXN0ZWQuIChOYXpyaSBSYW1saXksIDIwMTMgRmViIDE4KQorCitmdW5jdGlvbigpIGRvZXMgbm90IHdvcmsgbGlrZSBiZWZvcmUuIChsaWx5ZGp3ZywgMjAxMyBKdW4gNCkKK0kgZ3Vlc3MgdGhpcyBpcyBjYXVzZWQgYnkgcGF0Y2ggNy4zLjEwNTg6CisiQ2FsbCBvZiBmdW5jcmVmIGRvZXMgbm90IHN1Y2NlZWQgaW4gb3RoZXIgc2NyaXB0LiIKKwogLS0tIFB5dGhvbiBpbnRlcmZhY2UKIAotUGF0Y2ggZnJvbSBaeVgsIE1heSAzMDogRml4IHNvbWUgcG9zc2libGUgbWVtb3J5IHByb2JsZW1zCi0KLUNoZWNrOiBkb2NzIGZvciAudmFsaWQgIHBhdGNoIGJ5IFp5WCwgTWF5IDMwCi1Db3JyZWN0aW9uIGJ5IFJvbGFuZCBFZ2duZXIsIE1heSAzMS4KLQotVGVzdHMgYXJlIGRpc2FibGVkIGJlY2F1c2UgdGhleSBmYWlsLgotCi1Db25maWd1cmUgZG9lc24ndCBmaW5kIFB5dGhvbiAzIG9uIFVidW50dSAxMy4wNC4gKEtlbiBUYWthdGEsIEFwciAxMykKLQotUHl0aG9uIFN5c3RlbUV4aXQgZXhjZXB0aW9uIGlzIG5vdCBoYW5kbGVkIHByb3Blcmx5LiAgUGF0Y2ggdG8gY2F0Y2ggdGhlCi1leGNlcHRpb24gYW5kIGdpdmUgYW4gZXJyb3IuIChZYXN1aGlybyBNYXRzdW1vdG8pCi1Eb2VzIG5vdCB3b3JrLCB0ZXN0cyBmYWlsLgotCi1QYXRjaCB0byBjb21wbGV0ZSBhZnRlciA6cHkzLiAoVGFybyBNdXJhb2thLCAyMDEzIE1heSAzMSkKLQotIjpweXRob24gb3MuY2hkaXIoJy90bXAnKSIgbWFrZXMgc2hvcnQgYnVmZmVyIG5hbWVzIGludmFsaWQuIChYYXZpZXIgZGUgR2F5ZSkKLVBhdGNoIHRvIG1ha2Ugb3MuY2hkaXIoKSBoYW5kbGUgc2lkZSBlZmZlY3RzLiAoWGF2aWVyIGRlIEdheWUsIDIwMTMgTWF5IDE3KQotVXBkYXRlIE1heSAxOSwgYWxzbyBmb3Igb3MuZmNoZGlyKCkuCi1BZGRzIGEgJFZJTVJVTlRJTUUvcHl0aG9uIGRpcmVjdG9yeS4KLVp5WDogT0sgdG8gYWRkIHB5dGhvbiBhbmQgcHl0aG9uMyBkaXJlY3RvcnkuCi0KLU1hYzogT1MvWCAxMC40IHdpdGggUHl0aG9uIDIuNSBpbnN0YWxsZWQ6IGNvbmZpZ3VyZSBmaW5kcyBhbiBleHRyYSBhcmd1bWVudAotdGhhdCBicmVha3MgdGhlIGJ1aWxkLiAoQnJpYW4gVmljdG9yLCAyMDA4IFNlcCAxKQotCi1QYXRjaCB0byBhY2Nlc3Mgc2NyZWVuIHVuZGVyIFB5dGhvbi4gKE1hcmtvIE1haG5pLCAyMDEwIEp1bCAxOCkKLQogUHl0aG9uOiAiOnB5IHJhd19pbnB1dCgncHJvbXB0JykiIGRvZXNuJ3Qgd29yay4gKE1hbnUgSGFjaykKIAogV2luMzI6IFRoZSBQeXRob24gaW50ZXJmYWNlIG9ubHkgd29ya3Mgd2l0aCBvbmUgdmVyc2lvbiBvZiBQeXRob24sIHNlbGVjdGVkIGF0CkBAIC03MSw4ICs1NSwxOSBAQAogVmltIHNjcmlwdC4gIFJlcXVpcmVzIGNvbnZlcnRpbmcgdGhlIGFyZ3VtZW50cyBhbmQgcmV0dXJuIHZhbHVlLCBsaWtlIHdpdGgKIHZpbS5iaW5kZXZhbCgpLgogCitQeXRob24gU3lzdGVtRXhpdCBleGNlcHRpb24gaXMgbm90IGhhbmRsZWQgcHJvcGVybHkuICBQYXRjaCB0byBjYXRjaCB0aGUKK2V4Y2VwdGlvbiBhbmQgZ2l2ZSBhbiBlcnJvci4gKFlhc3VoaXJvIE1hdHN1bW90bykKK0RvZXMgbm90IHdvcmssIHRlc3RzIGZhaWwuCisKK1B5dGhvbjogY3Jhc2ggaW4gdGVzdCA4NiBiZWNhdXNlIG9mIGludC9zaXplX3QgbWl4dXA/IChKdW4gVGFraW1vdG8sIDIwMTMgSnVuCis2KQorCitBZGQgYSAkVklNUlVOVElNRS9weXRob24gYW5kICRWSU1SVU5USU1FL3B5dGhvbjMgZGlyZWN0b3JpZXM/CisKIC0tLSBydW50aW1lIGZpbGVzCiAKK0FsdGVybmF0ZSBodG1sIGluZGVudCBmaWxlIGJ5IEFuZHkgV29rdWxhLCBzY3JpcHQgMjA3NS4KKwogU3ludGF4IGZpbGUgZm9yIHByb3RvY29sIGJ1ZmZlcnMuIChGZW5nIFhpYW8sIDIwMTMgTWF5IDkpCiBIYXMgYW4gdWdseSBjb3B5cmlnaHQgbm90aWNlLgogQWRkIHN0YXRlbWVudCB0aGF0IGl0IGRvZXMgbm90IGNvbmZsaWN0IHdpdGggVmltIGxpY2Vuc2UuCkBAIC04MCwzMiArNzUsMjIgQEAKIFBhdGNoIGZvciBKYXZhU2NyaXB0IHN5bnRheC4gKEtldmluIExvY2tlLCAyMDEzIE1heSA5KQogQ2xhdWRpbyBkaWRuJ3QgcmVzcG9uZCB5ZXQuCiAKLS0tLSBGYXN0IHJlZ2V4cCBlbmdpbmUKK3Vwc3RyZWFtX2RhdCwgdXNzZXJ2ZXJfbG9nIGV0IGFsLiBzeW50YXggZmlsZXMuIChSb2IgT3dlbnMsIDIwMTMgSnVuIDUpCiAKLUVycm9yIGluIEhUTUwgaGlnaGxpZ2h0aW5nLiAoSGlyb3NoaSBTaGlyb3Nha2kpCistLS0gTmV3IHJlZ2V4cCBlbmdpbmUKIAotVGVzdHMgZm9yIFx7LX0gOiBSZXF1aXJlcyB0cnlpbmcgdG8gc3RhcnQgYXQgZXZlcnkgcG9zaXRpb24/Ci1JZiBzbywgcmVuYW1lIG5mYV9oYXNfYmFja3JlZiB0byBuZmFfZHVwX3N0YXRlcyBhbmQgcmUtdXNlIGl0IGZvciB0aGlzLgorRG9lcyBub3Qgd29yayAoeWV0KSB3aXRoIE5GQToKKy0gXCV1LCBcJXgsIFwlbywgXCVkIGZvbGxvd2VkIGJ5IGEgY29tcG9zaW5nIGNoYXJhY3RlcgogCi1BbGxvdyAiXioiIGFzIGEgbGl0ZXJhbCAiKiIuCi0KLU5lZWQgbW9yZSB0ZXN0aW5nIGZvciBcMSBiYWNrIHJlZmVyZW5jZXMuCitEb24ndCBjYWxsIG5mYV9yZWdtYXRjaCgpIHJlY3Vyc2l2ZWx5IGlmIHRoZSAib3V0IiBzdGF0ZSBpcyBub3QgZ29pbmcgdG8gYmUKK2FkZGVkIGFueXdheS4gIEluIHJ1biBsb2c6CisgICAgPiBOb3QgYWRkaW5nIHN0YXRlIDYgdG8gbGlzdCA0LiBjaGFyIC05NzE6IE5GQV9TS0lQCiAKIFByb2ZpbGluZzoKKyAgICAuL3ZpbSAtcyB+L3ZpbS90ZXN0L2Fsc2EudmltCisgICAgLi92aW0gLXMgfi92aW0vdGVzdC90b2RvLnZpbQogICAgIC4vdmltIC1zIH4vdmltL3Rlc3QvbG9vcC52aW0KLSAgICAuL3ZpbSAtcyB+L3ZpbS90ZXN0L3htbC52aW0gIChGaXg6IFVzZXMgdGhlIG9sZCBlbmdpbmUsIHNlZQotCQkJCWJ0X3JlZ2V4cF9kZWJ1Zy5sb2cpCi0JTmVlZCBcQDw9Ci0JTkZBIGVuZ2luZSBjb3VsZCBub3QgaGFuZGxlICJbPF1cQDw9W14gLyE/PD4iJ11cKyIKLQlORkEgZW5naW5lIGNvdWxkIG5vdCBoYW5kbGUgIjwhLS1cXy5cey19LS0+IgotCi1zZXR0aW5nIGNwb19saXQgYW5kIGNwb19ic2wgY2FuIGJlIHNsb3cuICBNYWtlIHRoZW0gZ2xvYmFsLgotCi1HZXQgZXhhbXBsZSBmaWxlcyBmb3IgbWFueSBsYW5ndWFnZXMuIENvbXBhcmUgc3ludGF4IGhpZ2hsaWdodGluZyB3aXRoIG9sZCBhbmQKLW5ldyByZWdleHAsIGZpbmQgcmVnZXhwIGNvbnN0cnVjdHMgd2hlcmUgTkZBIGRvZXMgbm90IHdvcmsgY29ycmVjdGx5Lgotc291cmNlIH4vdmltL3JlZ2V4cC9ydW5vbGQudmltICB0byB1cGRhdGUgdGhlICJvbGQiIGZpbGVzLgotc291cmNlIH4vdmltL3JlZ2V4cC9ydW5uZXcudmltICB0byB1cGRhdGUgdGhlICJuZXciIGZpbGVzCi1zb3VyY2Ugfi92aW0vcmVnZXhwL2RpZmYudmltICAgIHRvIGZpbmQgZGlmZmVyZW5jZXMKKyAgICAuL3ZpbSAtcyB+L3ZpbS90ZXN0L3htbC52aW0KIAogTW9yZSB0ZXN0IGZpbGVzIGZyb20gdGhlIHNyYy9wa2cvcmVnZXhwL3Rlc3RkYXRhIGRpcmVjdG9yeSBpbiB0aGUgR28gcmVwby4KIApAQCAtMTI3LDE4ICsxMTIsMTQgQEAKIC0gV2hlbiBsaXN0cyBhcmUgZW1wdHkgaW4gbmZhX3JlZ21hdGNoKCkgYW5kIG1hdGNoIGlzIHRydWUsIGl0IGtlZXBzIGxvb3BpbmcKICAgd2l0aG91dCBkb2luZyBhbnl0aGluZy4KIAotRG9lcyBub3Qgd29yayAoeWV0KSB3aXRoIE5GQToKLS0gXHooKSBcejEgLi4gIlx6OSI6IFByZXZpb3VzbHkgbWF0Y2hlZCB0ZXh0IGluIHN5biBITC4KLS0gfjogcHJldmlvdXMgc3Vic3RpdHV0ZSBwYXR0ZXJuLiBSZXF1aXJlcyByZWN1cnNpdmUgY29tcGlsYXRpb24/Ci0tIFwldSwgXCV4LCBcJW8sIFwlZCBmb2xsb3dlZCBieSBhIGNvbXBvc2luZyBjaGFyYWN0ZXIKLS0gXCVWIFZpc3VhbAotLSBcJVthYmNdCi0tIFwlJyAgbWFyawotLSBcQDwgIG1hdGNoIGJlZm9yZSB6ZXJvLXdpZHRoCi0tIFxAPiAgbWF0Y2ggd2hvbGUgcGF0dGVybgorQlQgZW5naW5lOiBBZnRlciBcQD4gbWF0Y2ggYW5kIGZhaWxpbmcgc3VibWF0Y2hlcyBhcmUgbm90IGNsZWFyZWQuCitTZWUgdGVzdDY0LgogCiAtLS0gYnVnIGZpeGVzCiAKKzp3dmltaW5mbyBkb2VzIG5vdCB3cml0ZSBvbGQgaGlzdG9yeSBlbnRyaWVzLiAoUm9sYW5kIEVnZ25lciwgMjAxMyBKdW4gNSkKK0Fub3RoZXIgbWVzc2FnZSBKdW4gNi4KKwogUGF0Y2ggdG8gYXZvaWQgd3JvbmcgZXJyb3IgbWVzc2FnZSBmb3IgMS4wWzBdLiAoWWFzdWhpcm8gTWF0c3Vtb3RvLCAyMDEzIE1heQogMSkKIApAQCAtMTkwLDYgKzE3MSw5IEBACiBJc3N1ZSAxMzQ6IHBhc3RpbmcgaW4gdmlzdWFsIHNlbGVjdGlvbiBpbiBlbXB0eSBidWZmZXIuCiBQYXRjaCBieSBDaHJpc3RpYW4gQnJhYmFuZHQsIDIwMTMgTWF5IDIyLgogCitQYXRjaCB0byBmaXggImduIiBvbiBzaW5nbGUgY2hhcmFjdGVyIG1hdGNoZXMuIChDaHJpc3RpYW4gQnJhYmFuZHQsIDIwMTMgSnVuCisyKQorCiAnY3Vyc29ybGluZScgaXMgZHJhd24gaW5jb3JyZWN0bHkgaW4gZGlmZiBtb2RlLiBQYXRjaCBieSBDaHJpc3RpYW4gQnJhYmFuZHQsCiAyMDEyIEFwciAyLgogCkBAIC0yMDIsNiArMTg2LDEyIEBACiAiOmRpZmZvZmYiIGRvZXMgbm90IHJlc3RvcmUgb3B0aW9ucyBmcm9tIGJlZm9yZSBzdGFydGluZyBkaWZmIG1vZGUuCiBQYXRjaCBieSBDaHJpc3RpYW4gQnJhYmFuZHQsIDIwMTMgTWF5IDI2LgogCitDYW4ndCB1c2UgbXVsdGktYnl0ZSBmaWxsIGNoYXJhY3RlciBpbiBjdXN0b20gc3RhdHVzIGxpbmUuCitQYXRjaCBieSBDaHJpc3RpYW4gV2VsbGVuYnJvY2ssIDIwMTMgSnVuIDIuICBVcGRhdGUgSnVuIDMgKHNlY29uZCBvbmUpLgorCitQYXRjaCB0byBmaXggZ2xvYigpIGFuZCBnbG9icGF0aCgpIHdpdGggZXNjYXBlZCBzcGVjaWFsIGNoYXJhY3RlcnMuCisoQWRuYW4gWmFmYXIsIDIwMTMgSnVuIDIsIHRlc3RzIEp1biAzKQorCiAtLS0gc2xpZ2h0bHkgaW5jb21wYXRpYmxlIGNoYW5nZXMKIAogUGF0Y2ggdG8gbG9hZCB+Ly52aW0vdmltcmMgd2hlbiB+Ly52aW1yYyBpc24ndCBmb3VuZC4gKExlY2ggTG9yZW5zLCAyMDEzIEFwcgpAQCAtMjY0LDYgKzI1NCw5IEBACiBQYXRjaCB0byBpbnZlcnQgY2hhcmFjdGVycyBkaWZmZXJlbnRseSBpbiBHVEsuIChZdWtpaGlybyBOYWthZGFpcmEsIDIwMTMgTWF5CiA1KQogCitCdWcgd2l0aCAnY3Vyc29ybGluZScgaW4gZGlmZiBtb2RlLiAgTGluZSBiZWluZyBzY3JvbGxlZCBpbnRvIHZpZXcgZ2V0cworaGlnaGxpZ2h0ZWQgYXMgdGhlIGN1cnNvciBsaW5lLiAgKEFsZXNzYW5kcm8gSXZhbGRpLCAyMDEzIEp1biA0KQorCiBQYXRjaCB0byBhZGQgdGhlIGJ1ZmZlcmxpc3QoKSBmdW5jdGlvbi4gKFllZ2FwcGFuIExha3NobWFuYW4sIDIwMTMgTWF5IDUpCiBNYXkgMTc6IHdpdGggd2lubGlzdCgpIGFuZCB0YWJwYWdlbGlzdCgpLgogTWF5IDE5OiB3aXRoIGxvY2FsIHZhcmlhYmxlcy4KQEAgLTM1Niw2ICszNDksOSBAQAogQ3Jhc2ggaW4gYXV0b2NtZCB0aGF0IHVubG9hZHMgYnVmZmVycyBpbiBhIEJ1ZlVubG9hZCBldmVudC4gKEFuZHJldyBQaW1sb3R0LAogMjAxMiBBdWcgMTEpICBEaXNhbGxvdyA6bmV3IHdoZW4gQnVmVW5sb2FkIGlzIGJlaW5nIGhhbmRsZWQ/CiAKK1BhdGNoIHRvIGFkZCAiOmxkbyIgYW5kICI6Y2RvIiwgZXhlY3V0ZSBjb21tYW5kcyBvdmVyIHF1aWNrZml4IGxpc3QgYW5kCitsb2NhdGlvbiBsaXN0LiAoWWVnYXBwYW4gTGFrc2htYW5hbiwgMjAxMyBKdW4gMikKKwogTVMtV2luZG93cyByZXNpemluZyBwcm9ibGVtczoKIC0gV2luZG93cyB3aW5kb3cgb24gc2NyZWVuIHBvc2l0aW9uaW5nOiBQYXRjaCBieSBZdWtpaGlybyBOYWthZGFpcmEsIDIwMTIgSnVuCiAgIDIwLiAgVXNlcyBnZXRXaW5kb3dSZWN0KCkgaW5zdGVhZCBvZiBHZXRXaW5kb3dQbGFjZW1lbnQoKQpAQCAtNTQ5LDYgKzU0NSw4IEBACiBlZmZlY3RzPyAgKENocmlzdGlhbiBCcmFiYW5kdCwgMjAxMiBBdWcgNSkKIFdvdWxkIGFsc28gbmVlZCB0byBkbyB0aGlzIGZvciBzcGVsbGJhZHdvcmQoKSBhbmQgc3BlbGxzdWdnZXN0KCkuCiAKK1BhdGNoIGZvciB2YXJpYWJsZSB0YWJzdG9wcy4KKwogT24gNjQgYml0IE1TLVdpbmRvd3MgImxvbmciIGlzIG9ubHkgMzIgYml0cywgYnV0IHdlIHNvbWV0aW1lcyBuZWVkIHRvIHN0b3JlIGEKIDY0IGJpdHMgdmFsdWUuICBDaGFuZ2UgYWxsIG51bWJlciBvcHRpb25zIHRvIHVzZSBucm9wdF9UIGFuZCBkZWZpbmUgaXQgdG8gdGhlCiByaWdodCB0eXBlLgpAQCAtNjU3LDkgKzY1NSw2IEBACiAiTCdJdGFsaWUiIG5vdGVkIGFzIGEgc3BlbGwgZXJyb3IgYXQgc3RhcnQgb2YgdGhlIHNlbnRlbmNlLiAoRG9taW5pcXVlIFBlbGxlLAogMjAxMSBGZWIgMjcpCiAKLUZ1bmN0aW9ucyB0byByZWFkIHRoZSBhY3R1YWwgY29udGVudHMgb2YgdGhlIHNjcmVlbiwgc28gdGhhdCB0aGluZ3MgbGlrZQotY29uY2VhbCBjYW4gYmUgdGVzdGVkLiAoTmF6cmkgUmFtbGl5LCAyMDEzIEZlYiAxOCkKLQogQ29weS9wYXN0ZSBiZXR3ZWVuIFZpbSBhbmQgR29vZ2xlIGNocm9tZSBkb2Vzbid0IHdvcmsgd2VsbCBmb3IgbXVsdGktYnl0ZQogY2hhcmFjdGVycy4gKEJlbiBIYXNrZWxsLCAyMDEwIFNlcCAxNykKIFdoZW4gcHV0dGluZyB0ZXh0IGluIHRoZSBjdXQgYnVmZmVyICh3aGVuIGV4aXRpbmcpIGFuZCBjb252ZXJzaW9uIGRvZXNuJ3Qgd29yawpAQCAtNDMzNiw3ICs0MzMxLDcgQEAKIC0gICBBZGQgIi4iIGNvbW1hbmQgZm9yIHZpc3VhbCBtb2RlOiByZWRvIGxhc3QgdmlzdWFsIGNvbW1hbmQgKGUuZy4gIjpmbXQiKS4KIDcgICBSZXBlYXRpbmcgImQ6e2NtZH0iIHdpdGggIi4iIGRvZXNuJ3Qgd29yay4gKEJlbmppIEZpc2hlcikgIFNvbWVob3cgcmVtZW1iZXIKICAgICB0aGUgY29tbWFuZCBsaW5lIHNvIHRoYXQgaXQgY2FuIGJlIHJlcGVhdGVkPwotLSAgIEFkZCAiZ24iOiByZXBlYXQgbGFzdCBtb3ZlbWVudCBjb21tYW5kLiAgSW5jbHVkaW5nIGNvdW50LgorLSAgIEFkZCBjb21tYW5kIHRvIHJlcGVhdCBsYXN0IG1vdmVtZW50LiAgSW5jbHVkaW5nIGNvdW50LgogLSAgIEFkZCAiLiIgY29tbWFuZCBhZnRlciBvcGVyYXRvcjogcmVwZWF0IGxhc3QgY29tbWFuZCBvZiBzYW1lIG9wZXJhdG9yLiAgRS5nLgogICAgICJjLiIgd2lsbCByZXBlYXQgbGFzdCBjaGFuZ2UsIGFsc28gd2hlbiAieCIgdXNlZCBzaW5jZSB0aGVuIChXZWJiKS4KICAgICAieS4iIHdpbGwgcmVwZWF0IGxhc3QgeWFuay4KZGlmZiAtLWdpdCBhL3J1bnRpbWUvaW5kZW50L2VybGFuZy52aW0gYi9ydW50aW1lL2luZGVudC9lcmxhbmcudmltCmluZGV4IDQxNmM0MGUuLmMxMWJiZWIgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvaW5kZW50L2VybGFuZy52aW0KKysrIGIvcnVudGltZS9pbmRlbnQvZXJsYW5nLnZpbQpAQCAtNCw3ICs0LDcgQEAKICIgQ29udHJpYnV0b3JzOiBFZHdpbiBGaW5lIDxlZmluZTE0NV9ub3NwYW0wMSBhdCB1c2EgZG90IG5ldD4KICIgICAgICAgICAgICAgICBQYXdlbCAna1RUJyBTYWxhdGEgPHJvY2twbGF5ZXIucGxAZ21haWwuY29tPgogIiAgICAgICAgICAgICAgIFJpY2FyZG8gQ2F0YWxpbmFzIEppbcOpbmV6IDxqaW1lbmV6cmlja0BnbWFpbC5jb20+Ci0iIExhc3QgVXBkYXRlOiAgMjAxMy1NYXItMDUKKyIgTGFzdCBVcGRhdGU6ICAyMDEzLUp1bi0wMQogIiBMaWNlbnNlOiAgICAgIFZpbSBsaWNlbnNlCiAiIFVSTDogICAgICAgICAgaHR0cHM6Ly9naXRodWIuY29tL2hjczQyL3ZpbS1lcmxhbmcKIApAQCAtMTA4Niw2MiArMTA4Niw3NCBAQAogICAgICAgICAgIGVuZGlmCiAgICAgICAgIGVuZGlmCiAKLSAgICAgIGVsc2VpZiB0b2tlbiA9PSAnZW5kJwotICAgICAgICBsZXQgW2xudW1fbmV3LCBjb2xfbmV3XSA9IHM6U2VhcmNoRW5kUGFpcihsbnVtLCBjdXJyX2NvbCkKKyAgICAgIGVsc2VpZiBpbmRleChbJ2VuZCcsICcpJywgJ10nLCAnfScsICc+PiddLCB0b2tlbikgIT0gLTEKIAotICAgICAgICBpZiBsbnVtX25ldyA9PSAwCi0gICAgICAgICAgcmV0dXJuIHM6SW5kZW50RXJyb3IoJ01hdGNoaW5nIHRva2VuIGZvciAiZW5kIiBub3QgZm91bmQnLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXHRva2VuLCBzdGFjaykKLSAgICAgICAgZWxzZQotICAgICAgICAgIGlmIGxudW1fbmV3ICE9IGxudW0KLSAgICAgICAgICAgIGNhbGwgczpMb2coJyAgICBUb2tlbml6ZSBmb3IgImVuZCIgPDw8PCcpCi0gICAgICAgICAgICBsZXQgW2xudW0sIGluZHRva2Vuc10gPSBzOlRva2VuaXplTGluZShsbnVtX25ldywgJ3VwJykKLSAgICAgICAgICAgIGNhbGwgczpMb2coJyAgICA+Pj4+IFRva2VuaXplIGZvciAiZW5kIicpCisgICAgICAgICIgSWYgd2UgY2FuIGJlIHN1cmUgdGhhdCB0aGVyZSBpcyBzeW5jaHJvbml6YXRpb24gaW4gdGhlIEVybGFuZworICAgICAgICAiIHN5bnRheCwgd2UgdXNlIHNlYXJjaHBhaXIgdG8gbWFrZSB0aGUgc2NyaXB0IHF1aWNrZXIuIE90aGVyd2lzZSB3ZQorICAgICAgICAiIGp1c3QgcHVzaCB0aGUgdG9rZW4gb250byB0aGUgc3RhY2sgYW5kIGtlZXAgcGFyc2luZy4KKyAgICAKKyAgICAgICAgIiBObyBzeW5jaHJvbml6YXRpb24gLT4gbm8gc2VhcmNocGFpciBvcHRpbWl6YXRpb24KKyAgICAgICAgaWYgIWV4aXN0cygnYjplcmxhbmdfc3ludGF4X3N5bmNlZCcpCisgICAgICAgICAgY2FsbCBzOlB1c2goc3RhY2ssIHRva2VuKQorCisgICAgICAgICIgV2UgZG9uJ3QgaGF2ZSBzZWFyY2hwYWlyIG9wdGltaXphdGlvbiBmb3IgJz4+JworICAgICAgICBlbHNlaWYgdG9rZW4gPT0gJz4+JworICAgICAgICAgIGNhbGwgczpQdXNoKHN0YWNrLCB0b2tlbikKKworICAgICAgICBlbHNlaWYgdG9rZW4gPT0gJ2VuZCcKKyAgICAgICAgICBsZXQgW2xudW1fbmV3LCBjb2xfbmV3XSA9IHM6U2VhcmNoRW5kUGFpcihsbnVtLCBjdXJyX2NvbCkKKworICAgICAgICAgIGlmIGxudW1fbmV3ID09IDAKKyAgICAgICAgICAgIHJldHVybiBzOkluZGVudEVycm9yKCdNYXRjaGluZyB0b2tlbiBmb3IgImVuZCIgbm90IGZvdW5kJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXHRva2VuLCBzdGFjaykKKyAgICAgICAgICBlbHNlCisgICAgICAgICAgICBpZiBsbnVtX25ldyAhPSBsbnVtCisgICAgICAgICAgICAgIGNhbGwgczpMb2coJyAgICBUb2tlbml6ZSBmb3IgImVuZCIgPDw8PCcpCisgICAgICAgICAgICAgIGxldCBbbG51bSwgaW5kdG9rZW5zXSA9IHM6VG9rZW5pemVMaW5lKGxudW1fbmV3LCAndXAnKQorICAgICAgICAgICAgICBjYWxsIHM6TG9nKCcgICAgPj4+PiBUb2tlbml6ZSBmb3IgImVuZCInKQorICAgICAgICAgICAgZW5kaWYKKworICAgICAgICAgICAgbGV0IFtzdWNjZXNzLCBpXSA9IHM6R2V0SW5kdG9rZW5BdENvbChpbmR0b2tlbnMsIGNvbF9uZXcpCisgICAgICAgICAgICBpZiAhc3VjY2VzcyB8IHJldHVybiBpIHwgZW5kaWYKKyAgICAgICAgICAgIGxldCBbdG9rZW4sIGN1cnJfdmNvbCwgY3Vycl9jb2xdID0gaW5kdG9rZW5zW2ldCisgICAgICAgICAgICBjYWxsIHM6TG9nKCcgICAgTWF0Y2ggZm9yICJlbmQiIGluIGxpbmUgJyAuIGxudW1fbmV3IC4gJzogJyAuCisgICAgICAgICAgICAgICAgICAgICAgXHN0cmluZyhpbmR0b2tlbnNbaV0pKQogICAgICAgICAgIGVuZGlmCiAKLSAgICAgICAgICBsZXQgW3N1Y2Nlc3MsIGldID0gczpHZXRJbmR0b2tlbkF0Q29sKGluZHRva2VucywgY29sX25ldykKLSAgICAgICAgICBpZiAhc3VjY2VzcyB8IHJldHVybiBpIHwgZW5kaWYKLSAgICAgICAgICBsZXQgW3Rva2VuLCBjdXJyX3Zjb2wsIGN1cnJfY29sXSA9IGluZHRva2Vuc1tpXQotICAgICAgICAgIGNhbGwgczpMb2coJyAgICBNYXRjaCBmb3IgImVuZCIgaW4gbGluZSAnIC4gbG51bV9uZXcgLiAnOiAnIC4KLSAgICAgICAgICAgICAgICAgICAgXHN0cmluZyhpbmR0b2tlbnNbaV0pKQotICAgICAgICBlbmRpZgorICAgICAgICBlbHNlICIgdG9rZW4gaXMgb25lIG9mIHRoZSBmb2xsb3dpbmc6ICcpJywgJ10nLCAnfScKIAotICAgICAgZWxzZWlmIGluZGV4KFsnKScsICddJywgJ30nXSwgdG9rZW4pICE9IC0xCisgICAgICAgICAgY2FsbCBzOlB1c2goc3RhY2ssIHRva2VuKQogCi0gICAgICAgIGNhbGwgczpQdXNoKHN0YWNrLCB0b2tlbikKKyAgICAgICAgICAiIFdlIGhhdmUgdG8gZXNjYXBlICdbJywgYmVjYXVzZSB0aGlzIHN0cmluZyB3aWxsIGJlIGludGVycHJldGVkIGFzIGEKKyAgICAgICAgICAiIHJlZ2V4cAorICAgICAgICAgIGxldCBvcGVuX3BhcmVuID0gKHRva2VuID09ICcpJyA/ICcoJyA6CisgICAgICAgICAgICAgICAgICAgICAgICAgICBcdG9rZW4gPT0gJ10nID8gJ1xbJyA6CisgICAgICAgICAgICAgICAgICAgICAgICAgICBcICAgICAgICAgICAgICAgJ3snKQogCi0gICAgICAgICIgV2UgaGF2ZSB0byBlc2NhcGUgJ1snLCBiZWNhdXNlIHRoaXMgc3RyaW5nIHdpbGwgYmUgaW50ZXJwcmV0ZWQgYXMgYQotICAgICAgICAiIHJlZ2V4cAotICAgICAgICBsZXQgb3Blbl9wYXJlbiA9ICh0b2tlbiA9PSAnKScgPyAnKCcgOgotICAgICAgICAgICAgICAgICAgICAgICAgIFx0b2tlbiA9PSAnXScgPyAnXFsnIDoKLSAgICAgICAgICAgICAgICAgICAgICAgICBcICAgICAgICAgICAgICAgJ3snKQorICAgICAgICAgIGxldCBbbG51bV9uZXcsIGNvbF9uZXddID0gczpTZWFyY2hQYWlyKGxudW0sIGN1cnJfY29sLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG9wZW5fcGFyZW4sICcnLCB0b2tlbikKIAotICAgICAgICBsZXQgW2xudW1fbmV3LCBjb2xfbmV3XSA9IHM6U2VhcmNoUGFpcihsbnVtLCBjdXJyX2NvbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcb3Blbl9wYXJlbiwgJycsIHRva2VuKQorICAgICAgICAgIGlmIGxudW1fbmV3ID09IDAKKyAgICAgICAgICAgIHJldHVybiBzOkluZGVudEVycm9yKCdNYXRjaGluZyB0b2tlbiBub3QgZm91bmQnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcdG9rZW4sIHN0YWNrKQorICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgIGlmIGxudW1fbmV3ICE9IGxudW0KKyAgICAgICAgICAgICAgY2FsbCBzOkxvZygnICAgIFRva2VuaXplIHRoZSBvcGVuaW5nIHBhcmVuIDw8PDwnKQorICAgICAgICAgICAgICBsZXQgW2xudW0sIGluZHRva2Vuc10gPSBzOlRva2VuaXplTGluZShsbnVtX25ldywgJ3VwJykKKyAgICAgICAgICAgICAgY2FsbCBzOkxvZygnICAgID4+Pj4nKQorICAgICAgICAgICAgZW5kaWYKIAotICAgICAgICBpZiBsbnVtX25ldyA9PSAwCi0gICAgICAgICAgcmV0dXJuIHM6SW5kZW50RXJyb3IoJ01hdGNoaW5nIHRva2VuIG5vdCBmb3VuZCcsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcdG9rZW4sIHN0YWNrKQotICAgICAgICBlbHNlCi0gICAgICAgICAgaWYgbG51bV9uZXcgIT0gbG51bQotICAgICAgICAgICAgY2FsbCBzOkxvZygnICAgIFRva2VuaXplIHRoZSBvcGVuaW5nIHBhcmVuIDw8PDwnKQotICAgICAgICAgICAgbGV0IFtsbnVtLCBpbmR0b2tlbnNdID0gczpUb2tlbml6ZUxpbmUobG51bV9uZXcsICd1cCcpCi0gICAgICAgICAgICBjYWxsIHM6TG9nKCcgICAgPj4+PicpCisgICAgICAgICAgICBsZXQgW3N1Y2Nlc3MsIGldID0gczpHZXRJbmR0b2tlbkF0Q29sKGluZHRva2VucywgY29sX25ldykKKyAgICAgICAgICAgIGlmICFzdWNjZXNzIHwgcmV0dXJuIGkgfCBlbmRpZgorICAgICAgICAgICAgbGV0IFt0b2tlbiwgY3Vycl92Y29sLCBjdXJyX2NvbF0gPSBpbmR0b2tlbnNbaV0KKyAgICAgICAgICAgIGNhbGwgczpMb2coJyAgICBNYXRjaCBpbiBsaW5lICcgLiBsbnVtX25ldyAuICc6ICcgLgorICAgICAgICAgICAgICAgICAgICAgIFxzdHJpbmcoaW5kdG9rZW5zW2ldKSkKKworICAgICAgICAgICAgIiBHbyBiYWNrIHRvIHRoZSBiZWdpbm5pbmcgb2YgdGhlIGxvb3AgYW5kIGhhbmRsZSB0aGUgb3BlbmluZyBwYXJlbgorICAgICAgICAgICAgY29udGludWUKICAgICAgICAgICBlbmRpZgotCi0gICAgICAgICAgbGV0IFtzdWNjZXNzLCBpXSA9IHM6R2V0SW5kdG9rZW5BdENvbChpbmR0b2tlbnMsIGNvbF9uZXcpCi0gICAgICAgICAgaWYgIXN1Y2Nlc3MgfCByZXR1cm4gaSB8IGVuZGlmCi0gICAgICAgICAgbGV0IFt0b2tlbiwgY3Vycl92Y29sLCBjdXJyX2NvbF0gPSBpbmR0b2tlbnNbaV0KLSAgICAgICAgICBjYWxsIHM6TG9nKCcgICAgTWF0Y2ggaW4gbGluZSAnIC4gbG51bV9uZXcgLiAnOiAnIC4KLSAgICAgICAgICAgICAgICAgICAgXHN0cmluZyhpbmR0b2tlbnNbaV0pKQotCi0gICAgICAgICAgIiBHbyBiYWNrIHRvIHRoZSBiZWdpbm5pbmcgb2YgdGhlIGxvb3AgYW5kIGhhbmRsZSB0aGUgb3BlbmluZyBwYXJlbgotICAgICAgICAgIGNvbnRpbnVlCiAgICAgICAgIGVuZGlmCiAKLSAgICAgIGVsc2VpZiB0b2tlbiA9PSAnPj4nCi0gICAgICAgIGNhbGwgczpQdXNoKHN0YWNrLCB0b2tlbikKLQogICAgICAgZWxzZWlmIHRva2VuID09ICc7JwogCiAgICAgICAgIGlmIGVtcHR5KHN0YWNrKQpAQCAtMTMyMyw3ICsxMzM1LDEwIEBACiAKICAgICBsZXQgY3Vycl9jb2wgPSBsZW4obWxbMV0pCiAKLSAgICBpZiBtbFsyXSA9PSAnZW5kJworICAgICIgSWYgd2UgY2FuIGJlIHN1cmUgdGhhdCB0aGVyZSBpcyBzeW5jaHJvbml6YXRpb24gaW4gdGhlIEVybGFuZworICAgICIgc3ludGF4LCB3ZSB1c2Ugc2VhcmNocGFpciB0byBtYWtlIHRoZSBzY3JpcHQgcXVpY2tlci4KKyAgICBpZiBtbFsyXSA9PSAnZW5kJyAmJiBleGlzdHMoJ2I6ZXJsYW5nX3N5bnRheF9zeW5jZWQnKQorCiAgICAgICBsZXQgW2xudW0sIGNvbF0gPSBzOlNlYXJjaEVuZFBhaXIodjpsbnVtLCBjdXJyX2NvbCkKIAogICAgICAgaWYgbG51bSA9PSAwCmRpZmYgLS1naXQgYS9ydW50aW1lL2xhbmcvbWVudV9ydV9ydS5rb2k4LXIudmltIGIvcnVudGltZS9sYW5nL21lbnVfcnVfcnUua29pOC1yLnZpbQppbmRleCAwZDRmYmFhLi5lNjZiNzI4IDEwMDY0NAotLS0gYS9ydW50aW1lL2xhbmcvbWVudV9ydV9ydS5rb2k4LXIudmltCisrKyBiL3J1bnRpbWUvbGFuZy9tZW51X3J1X3J1LmtvaTgtci52aW0KQEAgLTEsOSArMSwxMCBAQAogIiBNZW51IFRyYW5zbGF0aW9uczoJUnVzc2lhbgotIiBNYWludGFpbmVyOgkJdmFzc2lseSByYWdvc2luIDx2cnJbYXRddXNlcnMuc291cmNlZm9yZ2UubmV0PgotIiBMYXN0IENoYW5nZToJCTI2IEFwciAyMDA0CisiIE1haW50YWluZXI6CQlTZXJnZXkgQWx5b3NoaW4gPGFseW9zaGluLnNAZ21haWwuY29tPgorIiBQcmV2aW91cyBNYWludGFpbmVyOgl2YXNzaWx5IHJhZ29zaW4gPHZyclthdF11c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CisiIExhc3QgQ2hhbmdlOgkJMjkgTWF5IDIwMTMKICIgVVJMOgkJCWN2czovL2N2cy5zZi5uZXQ6L2N2c3Jvb3QvcnV2aW0vZXh0cmFzL21lbnUvbWVudV9ydV9ydS52aW0KICIKLSIgJElkOiBtZW51X3J1X3J1LmtvaTgtci52aW0sdiAxLjIgMjAwNC8wNi8xNiAxMToxOToyMSB2aW1ib3NzIEV4cCAkCisiICRJZDogbWVudV9ydV9ydS52aW0sdiAxLjEgMjAwNC8wNi8xMyAxNjowOToxMCB2aW1ib3NzIEV4cCAkCiAiCiAiIEFkb3B0ZWQgZm9yIFJ1VmltIHByb2plY3QgYnkgVmFzc2lseSBSYWdvc2luLgogIiBGaXJzdCB0cmFuc2xhdGlvbjogVGltIEFsZXhlZXZza3kgPHJlYWx0aW0gW2F0XSBtYWlsLnJ1PiwKQEAgLTUwLDYgKzUxLDcgQEAKICIgRmlsZSBtZW51CiBtZW51dHJhbnMgJk9wZW5cLlwuXC48VGFiPjplCQkm79TL0tnU2FwuXC5cLjxUYWI+OmUKIG1lbnV0cmFucyBTcCZsaXQtT3BlblwuXC5cLjxUYWI+OnNwCfDPJsTFzMnU2Fwgz8vOz1wuXC5cLjxUYWI+OnNwCittZW51dHJhbnMgT3BlblwgVGFiXC5cLlwuPFRhYj46dGFibmV3Ce/Uy9LZ1NhcINcmy8zBxMvVXC5cLlwuPFRhYj46dGFibmV3CiBtZW51dHJhbnMgJk5ldzxUYWI+OmVuZXcJCSbuz9fZyjxUYWI+OmVuZXcKIG1lbnV0cmFucyAmQ2xvc2U8VGFiPjpjbG9zZQkJJvrBy9LZ1Ng8VGFiPjpjbG9zZQogIi0tLS0tLS0tLS0tLS0tLS0tLS0tCkBAIC03Nyw1MSArNzksNTcgQEAKIG1lbnV0cmFucyAmRGVsZXRlPFRhYj54CQkJJvXEwczJ1Ng8VGFiPngKIG1lbnV0cmFucyAmU2VsZWN0XCBBbGw8VGFiPmdnVkcJCfcm2cTFzMnU2Fwg19OjPFRhYj5nZ1ZHCiAiLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyIgQXRoZW5hIEdVSSBvbmx5CittZW51dHJhbnMgJkZpbmQ8VGFiPi8JCQkm8M/J08s8VGFiPi8KK21lbnV0cmFucyBGaW5kXCBhbmRcIFJlcCZsYWNlPFRhYj46JXMJ8M/J08tcIMlcICbawc3FzsE8VGFiPjolcworIiBFbmQgQXRoZW5hIEdVSSBvbmx5CiBtZW51dHJhbnMgJkZpbmRcLlwuXC48VGFiPi8JCSbwz8nTy1wuXC5cLjxUYWI+LwogbWVudXRyYW5zIEZpbmRcIGFuZFwgUmVwJmxhY2VcLlwuXC4J8M/J08tcIMlcICbawc3FzsFcLlwuXC4KIG1lbnV0cmFucyBGaW5kXCBhbmRcIFJlcCZsYWNlXC5cLlwuPFRhYj46JXMJ8M/J08tcIMlcICbawc3FzsFcLlwuXC48VGFiPjolcwotbWVudXRyYW5zIEZpbmRcIGFuZFwgUmVwJmxhY2VcLlwuXC48VGFiPjpzICAgICDwz8nTy1wgyVwgJtrBzcXOwVwuXC5cLjxUYWI+OnMKK21lbnV0cmFucyBGaW5kXCBhbmRcIFJlcCZsYWNlXC5cLlwuPFRhYj46cwnwz8nTy1wgyVwgJtrBzcXOwVwuXC5cLjxUYWI+OnMKICItLS0tLS0tLS0tLS0tLS0tLS0tLQogbWVudXRyYW5zIFNldHRpbmdzXCAmV2luZG93CQnvy87PXCDOwdPU0s/Ky8lcICbP0MPJygorbWVudXRyYW5zIFN0YXJ0dXBcICZTZXR0aW5ncwkJ7sHT1NLPysvJXCDawdDV0ybLwQogbWVudXRyYW5zICZHbG9iYWxcIFNldHRpbmdzCQkm58zPwsHM2M7ZxVwgzsHT1NLPysvJCiBtZW51dHJhbnMgRiZpbGVcIFNldHRpbmdzCQnuwdPU0s/Ky8lcICbGwcrMz9cKIG1lbnV0cmFucyBDJm9sb3JcIFNjaGVtZQkJJuPXxdTP18HRXCDTyMXNwQogbWVudXRyYW5zICZLZXltYXAJCQnywdPLzMHEy8FcIMvMJsHXycHU1dLZCiBtZW51dHJhbnMgU2VsZWN0XCBGbyZudFwuXC5cLgkJ99nCz9JcICbb0snG1MFcLlwuXC4KICI+Pj4tLS0tLS0tLS0tLS0tLS0tLSBFZGl0L0dsb2JhbCBzZXR0aW5ncwotbWVudXRyYW5zIFRvZ2dsZVwgUGF0dGVyblwgJkhpZ2hsaWdodDxUYWI+OnNldFwgaGxzIQkg8M/E09fF1MvBXCAmzsHKxMXOztnIXCDTz8/U18XU09TXyco8VGFiPjpzZXRcIGhscyEKLW1lbnV0cmFucyBUb2dnbGVcICZJZ25vcmUtY2FzZTxUYWI+OnNldFwgaWMhCQkgJvLFx8nT1NLPzsXawdfJ08nN2cpcINDPydPLPFRhYj46c2V0XCBpYyEKLW1lbnV0cmFucyBUb2dnbGVcICZTaG93bWF0Y2g8VGFiPjpzZXRcIHNtIQkJIPDPy8Ha2dfB1NhcINDB0s7ZxVwgJtzMxc3FztTZPFRhYj46c2V0XCBzbSEKLW1lbnV0cmFucyAmQ29udGV4dFwgbGluZXMJCQkJIPPU0ibPy1wg18/L0tXHXCDL1dLTz9LBCi1tZW51dHJhbnMgJlZpcnR1YWxcIEVkaXQJCQkJIPfJ0ibU1cHM2M7PxVwg0sXEwcvUydLP18HOycUKLW1lbnV0cmFucyBUb2dnbGVcIEluc2VydFwgJk1vZGU8VGFiPjpzZXRcIGltIQkJIPLF1snNXCAm99PUwdfLyTxUYWI+OnNldFwgaW0hCi1tZW51dHJhbnMgVG9nZ2xlXCBWaVwgQyZvbXBhdGlibGU8VGFiPjpzZXRcIGNwIQkJICbzz9fNxdPUyc3P09TYXCDTXCBWaTxUYWI+OnNldFwgY3AhCi1tZW51dHJhbnMgU2VhcmNoXCAmUGF0aFwuXC5cLgkJCQkgJvDV1NhcIMTM0Vwg0M/J08vBXCDGwcrMz9dcLlwuXC4KLW1lbnV0cmFucyBUYSZnXCBGaWxlc1wuXC5cLgkJCQkg5sHKzNlcICbNxdTPy1wuXC5cLgorbWVudXRyYW5zIFRvZ2dsZVwgUGF0dGVyblwgJkhpZ2hsaWdodDxUYWI+OnNldFwgaGxzIQnwz8TT18XUy8FcICbOwcrExc7O2chcINPPz9TXxdTT1NfJyjxUYWI+OnNldFwgaGxzIQorbWVudXRyYW5zIFRvZ2dsZVwgJklnbm9yZS1jYXNlPFRhYj46c2V0XCBpYyEJCSbyxcfJ09TSz87F2sHXydPJzdnKXCDQz8nTyzxUYWI+OnNldFwgaWMhCittZW51dHJhbnMgVG9nZ2xlXCAmU2hvd21hdGNoPFRhYj46c2V0XCBzbSEJCfDPy8Ha2dfB1NhcINDB0s7ZxVwgJtzMxc3FztTZPFRhYj46c2V0XCBzbSEKK21lbnV0cmFucyAmQ29udGV4dFwgbGluZXMJCQkJ89TSJs/LXCDXz8vS1cdcIMvV0tPP0sEKK21lbnV0cmFucyAmVmlydHVhbFwgRWRpdAkJCQn3ydIm1NXBzNjOz8VcINLFxMHL1MnSz9fBzsnFCittZW51dHJhbnMgVG9nZ2xlXCBJbnNlcnRcICZNb2RlPFRhYj46c2V0XCBpbSEJCfLF1snNXCAm99PUwdfLyTxUYWI+OnNldFwgaW0hCittZW51dHJhbnMgVG9nZ2xlXCBWaVwgQyZvbXBhdGlibGU8VGFiPjpzZXRcIGNwIQkJJvPP183F09TJzc/T1NhcINNcIFZpPFRhYj46c2V0XCBjcCEKK21lbnV0cmFucyBTZWFyY2hcICZQYXRoXC5cLlwuCQkJCSbw1dTYXCDEzNFcINDPydPLwVwgxsHKzM/XXC5cLlwuCittZW51dHJhbnMgVGEmZ1wgRmlsZXNcLlwuXC4JCQkJ5sHKzNlcICbNxdTPy1wuXC5cLgogIgotbWVudXRyYW5zIFRvZ2dsZVwgJlRvb2xiYXIJCQkJICbpztPU0tXNxc7UwczYzsHRXCDQwc7FzNgKLW1lbnV0cmFucyBUb2dnbGVcICZCb3R0b21cIFNjcm9sbGJhcgkJCSDwz8zP08FcINDSz8vS1dTLyVwg187JJtrVCi1tZW51dHJhbnMgVG9nZ2xlXCAmTGVmdFwgU2Nyb2xsYmFyCQkJIPDPzM/TwVwg0NLPy9LV1MvJXCDTJszF18EKLW1lbnV0cmFucyBUb2dnbGVcICZSaWdodFwgU2Nyb2xsYmFyCQkJIPDPzM/TwVwg0NLPy9LV1MvJXCDT0NImwdfBCittZW51dHJhbnMgVG9nZ2xlXCAmVG9vbGJhcgkJCQkm6c7T1NLVzcXO1MHM2M7B0Vwg0MHOxczYCittZW51dHJhbnMgVG9nZ2xlXCAmQm90dG9tXCBTY3JvbGxiYXIJCQnwz8zP08FcINDSz8vS1dTLyVwg187JJtrVCittZW51dHJhbnMgVG9nZ2xlXCAmTGVmdFwgU2Nyb2xsYmFyCQkJ8M/Mz9PBXCDQ0s/L0tXUy8lcINMmzMXXwQorbWVudXRyYW5zIFRvZ2dsZVwgJlJpZ2h0XCBTY3JvbGxiYXIJCQnwz8zP08FcINDSz8vS1dTLyVwg09DSJsHXwQogIj4+Pi0+Pj4tLS0tLS0tLS0tLS0tIEVkaXQvR2xvYmFsIHNldHRpbmdzL1ZpcnR1YWwgZWRpdAotbWVudXRyYW5zIE5ldmVyCQkJCQkJIPfZy8zA3sXOzwotbWVudXRyYW5zIEJsb2NrXCBTZWxlY3Rpb24JCQkJIPDSyVwg19nExczFzsnJXCDCzM/LwQotbWVudXRyYW5zIEluc2VydFwgbW9kZQkJCQkJIPdcINLF1snNxVwg99PUwdfLyQotbWVudXRyYW5zIEJsb2NrXCBhbmRcIEluc2VydAkJCQkg8NLJXCDX2cTFzMXOyclcIMLMz8vBXCDJXCDXXCDSxdbJzcVcIPfT1MHXy8kKLW1lbnV0cmFucyBBbHdheXMJCQkJCSD3y8zA3sXOz1wg19PFx8TBCittZW51dHJhbnMgTmV2ZXIJCQkJCQn32cvMwN7Fzs8KK21lbnV0cmFucyBCbG9ja1wgU2VsZWN0aW9uCQkJCfDSyVwg19nExczFzsnJXCDCzM/LwQorbWVudXRyYW5zIEluc2VydFwgbW9kZQkJCQkJ91wg0sXWyc3FXCD309TB18vJCittZW51dHJhbnMgQmxvY2tcIGFuZFwgSW5zZXJ0CQkJCfDSyVwg19nExczFzsnJXCDCzM/LwVwgyVwg11wg0sXWyc3FXCD309TB18vJCittZW51dHJhbnMgQWx3YXlzCQkJCQn3y8zA3sXOz1wg19PFx8TBCiAiPj4+LS0tLS0tLS0tLS0tLS0tLS0gRWRpdC9GaWxlIHNldHRpbmdzCi1tZW51dHJhbnMgVG9nZ2xlXCBMaW5lXCAmTnVtYmVyaW5nPFRhYj46c2V0XCBudSEJICbu1c3F0sHDydFcINPU0s/LPFRhYj46c2V0XCBudSEKLW1lbnV0cmFucyBUb2dnbGVcICZMaXN0XCBNb2RlPFRhYj46c2V0XCBsaXN0IQkJIO/Uz8LSwSbWxc7JxVwgzsXXycTJzdnIXCDTyc3Xz8zP1zxUYWI+OnNldFwgbGlzdCEKLW1lbnV0cmFucyBUb2dnbGVcIExpbmVcICZXcmFwPFRhYj46c2V0XCB3cmFwIQkJICbwxdLFzs/TXCDEzMnOztnIXCDT1NLPyzxUYWI+OnNldFwgd3JhcCEKLW1lbnV0cmFucyBUb2dnbGVcIFcmcmFwXCBhdFwgd29yZDxUYWI+OnNldFwgbGJyIQkg8MXSxc7P01wgJsPFzNnIXCDTzM/XPFRhYj46c2V0XCBsYnIhCi1tZW51dHJhbnMgVG9nZ2xlXCAmZXhwYW5kLXRhYjxUYWI+OnNldFwgZXQhCQkg8NLPJsLFzNlcINfNxdPUz1wg1MHC1czRw8nJPFRhYj46c2V0XCBldCEKLW1lbnV0cmFucyBUb2dnbGVcICZhdXRvLWluZGVudDxUYWI+OnNldFwgYWkhCQkg4dfUz83B1MnexdPLz8VcIMbP0s3B1MnSz9fBzsnFXCAmz9TT1NXQz9c8VGFiPjpzZXRcIGFpIQotbWVudXRyYW5zIFRvZ2dsZVwgJkMtaW5kZW50aW5nPFRhYj46c2V0XCBjaW4hCQkg5s/SzcHUydLP18HOycVcIM/U09TV0M/XXCDXXCAm09TJzMVcIEM8VGFiPjpzZXRcIGNpbiEKK21lbnV0cmFucyBUb2dnbGVcIExpbmVcICZOdW1iZXJpbmc8VGFiPjpzZXRcIG51IQkm7tXNxdLBw8nRXCDT1NLPyzxUYWI+OnNldFwgbnUhCittZW51dHJhbnMgVG9nZ2xlXCByZWxhdGkmdmVcIExpbmVcIE51bWJlcmluZzxUYWI+OnNldFwgcm51IQnv1M7P08nUxSbM2M7B0VwgztXNxdLBw8nRXCDT1NLPyzxUYWI+OnNldFwgbnJ1IQorbWVudXRyYW5zIFRvZ2dsZVwgJkxpc3RcIE1vZGU8VGFiPjpzZXRcIGxpc3QhCQnv1M/C0sEm1sXOycVcIM7F18nEyc3ZyFwg08nN18/Mz9c8VGFiPjpzZXRcIGxpc3QhCittZW51dHJhbnMgVG9nZ2xlXCBMaW5lXCAmV3JhcDxUYWI+OnNldFwgd3JhcCEJCSbwxdLFzs/TXCDEzMnOztnIXCDT1NLPyzxUYWI+OnNldFwgd3JhcCEKK21lbnV0cmFucyBUb2dnbGVcIFcmcmFwXCBhdFwgd29yZDxUYWI+OnNldFwgbGJyIQnwxdLFzs/TXCAmw8XM2chcINPMz9c8VGFiPjpzZXRcIGxiciEKK21lbnV0cmFucyBUb2dnbGVcICZleHBhbmQtdGFiPFRhYj46c2V0XCBldCEJCfDSzybCxczZXCDXzcXT1M9cINTBwtXM0cPJyTxUYWI+OnNldFwgZXQhCittZW51dHJhbnMgVG9nZ2xlXCAmYXV0by1pbmRlbnQ8VGFiPjpzZXRcIGFpIQkJ4dfUz83B1MnexdPLz8VcIMbP0s3B1MnSz9fBzsnFXCAmz9TT1NXQz9c8VGFiPjpzZXRcIGFpIQorbWVudXRyYW5zIFRvZ2dsZVwgJkMtaW5kZW50aW5nPFRhYj46c2V0XCBjaW4hCQnmz9LNwdTJ0s/Xwc7JxVwgz9TT1NXQz9dcINdcICbT1MnMxVwgQzxUYWI+OnNldFwgY2luIQogIj4+Pi0tLQotbWVudXRyYW5zICZTaGlmdHdpZHRoCQkJCQkg98XMySbeyc7BXCDP1NPU1dDBCi1tZW51dHJhbnMgU29mdFwgJlRhYnN0b3AJCQkJIPvJ0snOwVwgJtTBwtXM0cPJyQotbWVudXRyYW5zIFRlJnh0XCBXaWR0aFwuXC5cLgkJCQkgJvvJ0snOwVwg1MXL09TBXC5cLlwuCi1tZW51dHJhbnMgJkZpbGVcIEZvcm1hdFwuXC5cLgkJCQkgJubP0s3B1FwgxsHKzMFcLlwuXC4KK21lbnV0cmFucyAmU2hpZnR3aWR0aAkJCQkJ98XMySbeyc7BXCDP1NPU1dDBCittZW51dHJhbnMgU29mdFwgJlRhYnN0b3AJCQkJ+8nSyc7BXCAm1MHC1czRw8nJCittZW51dHJhbnMgVGUmeHRcIFdpZHRoXC5cLlwuCQkJCSb7ydLJzsFcINTFy9PUwVwuXC5cLgorbWVudXRyYW5zICZGaWxlXCBGb3JtYXRcLlwuXC4JCQkJJubP0s3B1FwgxsHKzMFcLlwuXC4KICIKICIKICIKQEAgLTEzMSw2ICsxMzksNyBAQAogbWVudXRyYW5zIEJ1aWxkXCAmVGFnc1wgRmlsZQkJCQnzz9rEwdTYXCAmxsHKzFwgzcXUz8sKICItLS0tLS0tLS0tLS0tLS0tLS0tCiBtZW51dHJhbnMgJkZvbGRpbmcJCQkJCfLBws/UwVwg089cICbTy8zBxMvBzckKK21lbnV0cmFucyAmU3BlbGxpbmcJCQkJCfDSJsHXz9DJ08HOycUKIG1lbnV0cmFucyAmRGlmZgkJCQkJCSbv1MzJ3snRXCAoZGlmZikKICItLS0tLS0tLS0tLS0tLS0tLS0tCiBtZW51dHJhbnMgJk1ha2U8VGFiPjptYWtlCQkJCevPJs3QyczRw8nRPFRhYj46bWFrZQpAQCAtMTQxLDEwICsxNTAsMjYgQEAKIG1lbnV0cmFucyAmT2xkZXJcIExpc3Q8VGFiPjpjb2xkCQkJ4s/MxcVcINPUwdIm2cpcINPQydPPy1wgz9vJws/LPFRhYj46Y29sZAogbWVudXRyYW5zIE4mZXdlclwgTGlzdDxUYWI+OmNuZXcJCQniz8zFxVwg09fFJtbJylwg09DJ08/LXCDP28nCz8s8VGFiPjpjbmV3CiBtZW51dHJhbnMgRXJyb3JcICZXaW5kb3cJCQkJ78smzs9cIM/bycLPywotbWVudXRyYW5zICZTZXRcIENvbXBpbGVyCQkJCffZws/SXCAmy8/N0MnM0dTP0sEKK21lbnV0cmFucyBTZSZUXCBDb21waWxlcgkJCQn32cLP0lwgJsvPzdDJzNHUz9LBCiAiLS0tLS0tLS0tLS0tLS0tLS0tLQogbWVudXRyYW5zICZDb252ZXJ0XCB0b1wgSEVYPFRhYj46JSF4eGQJCQnwJsXSxdfF09TJXCDXXCBIRVg8VGFiPjolIXh4ZAogbWVudXRyYW5zIENvbnZlJnJ0XCBiYWNrPFRhYj46JSF4eGRcIC1yCQkJ8MXSxdfF09TJXCDJJtpcIEhFWDxUYWI+OiUheHhkXCAtcgorIj4+Pi0tLS0tLS0tLS0tLS0tLS0gVG9vbHMvU3BlbGxpbmcKK21lbnV0cmFucyAmU3BlbGxcIENoZWNrXCBPbgkJCQkm98vMXCDQ0s/XxdLL1Vwg0NLB18/QydPBzsnRCittZW51dHJhbnMgU3BlbGxcIENoZWNrXCAmT2ZmCQkJCffZJsvMXCDQ0s/XxdLL1Vwg0NLB18/QydPBzsnRCittZW51dHJhbnMgVG9cICZOZXh0XCBlcnJvcjxUYWI+XXMJCQkm88zFxNXA3cHRXCDP28nCy8EKK21lbnV0cmFucyBUb1wgJlByZXZpb3VzXCBlcnJvcjxUYWI+W3MJCQkm8NLFxNnE1d3B0Vwgz9vJwsvBCittZW51dHJhbnMgU3VnZ2VzdFwgJkNvcnJlY3Rpb25zPFRhYj56PQkJCfDSxcTMz9bJ1NhcIMnT0CbSwdfMxc7J0QorbWVudXRyYW5zICZSZXBlYXRcIGNvcnJlY3Rpb248VGFiPjpzcGVsbHJlcGFsbAkJ8M/XJtTP0snU2FwgydPQ0sHXzMXOycVcIMTM0Vwg19PFyAorIi0tLS0tLS0tLS0tLS0tLS0tLS0KK21lbnV0cmFucyBTZXRcIGxhbmd1YWdlXCB0b1wgImVuIgkJCfXT1MHOz9fJ1NhcINHa2ctcICJlbiIKK21lbnV0cmFucyBTZXRcIGxhbmd1YWdlXCB0b1wgImVuX2F1IgkJCfXT1MHOz9fJ1NhcINHa2ctcICJlbl9hdSIKK21lbnV0cmFucyBTZXRcIGxhbmd1YWdlXCB0b1wgImVuX2NhIgkJCfXT1MHOz9fJ1NhcINHa2ctcICJlbl9jYSIKK21lbnV0cmFucyBTZXRcIGxhbmd1YWdlXCB0b1wgImVuX2diIgkJCfXT1MHOz9fJ1NhcINHa2ctcICJlbl9nYiIKK21lbnV0cmFucyBTZXRcIGxhbmd1YWdlXCB0b1wgImVuX256IgkJCfXT1MHOz9fJ1NhcINHa2ctcICJlbl9ueiIKK21lbnV0cmFucyBTZXRcIGxhbmd1YWdlXCB0b1wgImVuX3VzIgkJCfXT1MHOz9fJ1NhcINHa2ctcICJlbl91cyIKK21lbnV0cmFucyAmRmluZFwgTW9yZVwgTGFuZ3VhZ2VzCQkJJu7BytTJXCDCz8zY28VcINHa2cvP1worbGV0IGc6bWVudXRyYW5zX3NldF9sYW5nX3RvID0JCQkJJ/XT1MHOz9fJ1Ngg0drZyycKICI+Pj4tLS0tLS0tLS0tLS0tLS0tIEZvbGRzCiBtZW51dHJhbnMgJkVuYWJsZS9EaXNhYmxlXCBmb2xkczxUYWI+emkJCQn3y8wv19nLzFwgJtPLzMHEy8k8VGFiPnppCiBtZW51dHJhbnMgJlZpZXdcIEN1cnNvclwgTGluZTxUYWI+enYJCQnv1MvS2dTYXCDT1NLPy9VcINNcICbL1dLTz9LPzTxUYWI+enYKQEAgLTIxOSw3ICsyNDQsNyBAQAogbWVudXRyYW5zIE1heFwgJldpZHRoPFRhYj5eV1x8CQkJCe3By9PJzcHM2M7B0VwgJtvJ0snOwTxUYWI+XldcfAogbWVudXRyYW5zIE1pblwgV2lkdCZoPFRhYj5eVzFcfAkJCQntyc7JzcHMJtjOwdFcINvJ0snOwTxUYWI+XlcxXHwKICI+Pj4tLS0tLS0tLS0tLS0tLS0tLSBXaW5kb3cvTW92ZSBUbwotbWVudXRyYW5zICZUb3A8VGFiPl5XSwkJCQkJ7sEm18XSyDxUYWI+XldLCittZW51dHJhbnMgJlRvcDxUYWI+XldLCQkJCQn3JtfF0sg8VGFiPl5XSwogbWVudXRyYW5zICZCb3R0b208VGFiPl5XSgkJCQn3Js7J2jxUYWI+XldKCiBtZW51dHJhbnMgJkxlZnRcIHNpZGU8VGFiPl5XSAkJCQn3JszF1888VGFiPl5XSAogbWVudXRyYW5zICZSaWdodFwgc2lkZTxUYWI+XldMCQkJCfcm0NLB1888VGFiPl5XTApkaWZmIC0tZ2l0IGEvcnVudGltZS9sYW5nL21lbnVfcnVfcnUudmltIGIvcnVudGltZS9sYW5nL21lbnVfcnVfcnUudmltCmluZGV4IDIzYTExMWEuLjY5NjE2MDggMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvbGFuZy9tZW51X3J1X3J1LnZpbQorKysgYi9ydW50aW1lL2xhbmcvbWVudV9ydV9ydS52aW0KQEAgLTEsNiArMSw3IEBACiAiIE1lbnUgVHJhbnNsYXRpb25zOglSdXNzaWFuCi0iIE1haW50YWluZXI6CQl2YXNzaWx5IHJhZ29zaW4gPHZyclthdF11c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+Ci0iIExhc3QgQ2hhbmdlOgkJMjYgQXByIDIwMDQKKyIgTWFpbnRhaW5lcjoJCVNlcmdleSBBbHlvc2hpbiA8YWx5b3NoaW4uc0BnbWFpbC5jb20+CisiIFByZXZpb3VzIE1haW50YWluZXI6CXZhc3NpbHkgcmFnb3NpbiA8dnJyW2F0XXVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KKyIgTGFzdCBDaGFuZ2U6CQkyOSBNYXkgMjAxMwogIiBVUkw6CQkJY3ZzOi8vY3ZzLnNmLm5ldDovY3Zzcm9vdC9ydXZpbS9leHRyYXMvbWVudS9tZW51X3J1X3J1LnZpbQogIgogIiAkSWQ6IG1lbnVfcnVfcnUudmltLHYgMS4xIDIwMDQvMDYvMTMgMTY6MDk6MTAgdmltYm9zcyBFeHAgJApAQCAtNTAsNiArNTEsNyBAQAogIiBGaWxlIG1lbnUKIG1lbnV0cmFucyAmT3BlblwuXC5cLjxUYWI+OmUJCSbQntGC0LrRgNGL0YLRjFwuXC5cLjxUYWI+OmUKIG1lbnV0cmFucyBTcCZsaXQtT3BlblwuXC5cLjxUYWI+OnNwCdCf0L4m0LTQtdC70LjRgtGMXCDQvtC60L3QvlwuXC5cLjxUYWI+OnNwCittZW51dHJhbnMgT3BlblwgVGFiXC5cLlwuPFRhYj46dGFibmV3CdCe0YLQutGA0YvRgtGMXCDQsibQutC70LDQtNC60YNcLlwuXC48VGFiPjp0YWJuZXcKIG1lbnV0cmFucyAmTmV3PFRhYj46ZW5ldwkJJtCd0L7QstGL0Lk8VGFiPjplbmV3CiBtZW51dHJhbnMgJkNsb3NlPFRhYj46Y2xvc2UJCSbQl9Cw0LrRgNGL0YLRjDxUYWI+OmNsb3NlCiAiLS0tLS0tLS0tLS0tLS0tLS0tLS0KQEAgLTc3LDUxICs3OSw1NyBAQAogbWVudXRyYW5zICZEZWxldGU8VGFiPngJCQkm0KPQtNCw0LvQuNGC0Yw8VGFiPngKIG1lbnV0cmFucyAmU2VsZWN0XCBBbGw8VGFiPmdnVkcJCdCSJtGL0LTQtdC70LjRgtGMXCDQstGB0ZE8VGFiPmdnVkcKICItLS0tLS0tLS0tLS0tLS0tLS0tLQorIiBBdGhlbmEgR1VJIG9ubHkKK21lbnV0cmFucyAmRmluZDxUYWI+LwkJCSbQn9C+0LjRgdC6PFRhYj4vCittZW51dHJhbnMgRmluZFwgYW5kXCBSZXAmbGFjZTxUYWI+OiVzCdCf0L7QuNGB0LpcINC4XCAm0LfQsNC80LXQvdCwPFRhYj46JXMKKyIgRW5kIEF0aGVuYSBHVUkgb25seQogbWVudXRyYW5zICZGaW5kXC5cLlwuPFRhYj4vCQkm0J/QvtC40YHQulwuXC5cLjxUYWI+LwotbWVudXRyYW5zIEZpbmRcIGFuZFwgUmVwJmxhY2VcLlwuXC4gICAgINCf0L7QuNGB0LpcINC4XCAm0LfQsNC80LXQvdCwXC5cLlwuCi1tZW51dHJhbnMgRmluZFwgYW5kXCBSZXAmbGFjZVwuXC5cLjxUYWI+OiVzICAgICDQn9C+0LjRgdC6XCDQuFwgJtC30LDQvNC10L3QsFwuXC5cLjxUYWI+OiVzCi1tZW51dHJhbnMgRmluZFwgYW5kXCBSZXAmbGFjZVwuXC5cLjxUYWI+OnMgICAgINCf0L7QuNGB0LpcINC4XCAm0LfQsNC80LXQvdCwXC5cLlwuPFRhYj46cworbWVudXRyYW5zIEZpbmRcIGFuZFwgUmVwJmxhY2VcLlwuXC4J0J/QvtC40YHQulwg0LhcICbQt9Cw0LzQtdC90LBcLlwuXC4KK21lbnV0cmFucyBGaW5kXCBhbmRcIFJlcCZsYWNlXC5cLlwuPFRhYj46JXMJ0J/QvtC40YHQulwg0LhcICbQt9Cw0LzQtdC90LBcLlwuXC48VGFiPjolcworbWVudXRyYW5zIEZpbmRcIGFuZFwgUmVwJmxhY2VcLlwuXC48VGFiPjpzCdCf0L7QuNGB0LpcINC4XCAm0LfQsNC80LXQvdCwXC5cLlwuPFRhYj46cwogIi0tLS0tLS0tLS0tLS0tLS0tLS0tCiBtZW51dHJhbnMgU2V0dGluZ3NcICZXaW5kb3cJCdCe0LrQvdC+XCDQvdCw0YHRgtGA0L7QudC60LhcICbQvtC/0YbQuNC5CittZW51dHJhbnMgU3RhcnR1cFwgJlNldHRpbmdzCQnQndCw0YHRgtGA0L7QudC60LhcINC30LDQv9GD0YEm0LrQsAogbWVudXRyYW5zICZHbG9iYWxcIFNldHRpbmdzCQkm0JPQu9C+0LHQsNC70YzQvdGL0LVcINC90LDRgdGC0YDQvtC50LrQuAogbWVudXRyYW5zIEYmaWxlXCBTZXR0aW5ncwkJ0J3QsNGB0YLRgNC+0LnQutC4XCAm0YTQsNC50LvQvtCyCiBtZW51dHJhbnMgQyZvbG9yXCBTY2hlbWUJCSbQptCy0LXRgtC+0LLQsNGPXCDRgdGF0LXQvNCwCiBtZW51dHJhbnMgJktleW1hcAkJCdCg0LDRgdC60LvQsNC00LrQsFwg0LrQuybQsNCy0LjQsNGC0YPRgNGLCiBtZW51dHJhbnMgU2VsZWN0XCBGbyZudFwuXC5cLgkJ0JLRi9Cx0L7RgFwgJtGI0YDQuNGE0YLQsFwuXC5cLgogIj4+Pi0tLS0tLS0tLS0tLS0tLS0tIEVkaXQvR2xvYmFsIHNldHRpbmdzCi1tZW51dHJhbnMgVG9nZ2xlXCBQYXR0ZXJuXCAmSGlnaGxpZ2h0PFRhYj46c2V0XCBobHMhICAgICDQn9C+0LTRgdCy0LXRgtC60LBcICbQvdCw0LnQtNC10L3QvdGL0YVcINGB0L7QvtGC0LLQtdGC0YHRgtCy0LjQuTxUYWI+OnNldFwgaGxzIQotbWVudXRyYW5zIFRvZ2dsZVwgJklnbm9yZS1jYXNlPFRhYj46c2V0XCBpYyEJCSAm0KDQtdCz0LjRgdGC0YDQvtC90LXQt9Cw0LLQuNGB0LjQvNGL0LlcINC/0L7QuNGB0Lo8VGFiPjpzZXRcIGljIQotbWVudXRyYW5zIFRvZ2dsZVwgJlNob3dtYXRjaDxUYWI+OnNldFwgc20hCQkg0J/QvtC60LDQt9GL0LLQsNGC0YxcINC/0LDRgNC90YvQtVwgJtGN0LvQtdC80LXQvdGC0Ys8VGFiPjpzZXRcIHNtIQotbWVudXRyYW5zICZDb250ZXh0XCBsaW5lcwkJCQkg0KHRgtGAJtC+0LpcINCy0L7QutGA0YPQs1wg0LrRg9GA0YHQvtGA0LAKLW1lbnV0cmFucyAmVmlydHVhbFwgRWRpdAkJCQkg0JLQuNGAJtGC0YPQsNC70YzQvdC+0LVcINGA0LXQtNCw0LrRgtC40YDQvtCy0LDQvdC40LUKLW1lbnV0cmFucyBUb2dnbGVcIEluc2VydFwgJk1vZGU8VGFiPjpzZXRcIGltIQkJINCg0LXQttC40LxcICbQktGB0YLQsNCy0LrQuDxUYWI+OnNldFwgaW0hCi1tZW51dHJhbnMgVG9nZ2xlXCBWaVwgQyZvbXBhdGlibGU8VGFiPjpzZXRcIGNwIQkJICbQodC+0LLQvNC10YHRgtC40LzQvtGB0YLRjFwg0YFcIFZpPFRhYj46c2V0XCBjcCEKLW1lbnV0cmFucyBTZWFyY2hcICZQYXRoXC5cLlwuCQkJCSAm0J/Rg9GC0YxcINC00LvRj1wg0L/QvtC40YHQutCwXCDRhNCw0LnQu9C+0LJcLlwuXC4KLW1lbnV0cmFucyBUYSZnXCBGaWxlc1wuXC5cLgkJCQkg0KTQsNC50LvRi1wgJtC80LXRgtC+0LpcLlwuXC4KK21lbnV0cmFucyBUb2dnbGVcIFBhdHRlcm5cICZIaWdobGlnaHQ8VGFiPjpzZXRcIGhscyEJ0J/QvtC00YHQstC10YLQutCwXCAm0L3QsNC50LTQtdC90L3Ri9GFXCDRgdC+0L7RgtCy0LXRgtGB0YLQstC40Lk8VGFiPjpzZXRcIGhscyEKK21lbnV0cmFucyBUb2dnbGVcICZJZ25vcmUtY2FzZTxUYWI+OnNldFwgaWMhCQkm0KDQtdCz0LjRgdGC0YDQvtC90LXQt9Cw0LLQuNGB0LjQvNGL0LlcINC/0L7QuNGB0Lo8VGFiPjpzZXRcIGljIQorbWVudXRyYW5zIFRvZ2dsZVwgJlNob3dtYXRjaDxUYWI+OnNldFwgc20hCQnQn9C+0LrQsNC30YvQstCw0YLRjFwg0L/QsNGA0L3Ri9C1XCAm0Y3Qu9C10LzQtdC90YLRizxUYWI+OnNldFwgc20hCittZW51dHJhbnMgJkNvbnRleHRcIGxpbmVzCQkJCdCh0YLRgCbQvtC6XCDQstC+0LrRgNGD0LNcINC60YPRgNGB0L7RgNCwCittZW51dHJhbnMgJlZpcnR1YWxcIEVkaXQJCQkJ0JLQuNGAJtGC0YPQsNC70YzQvdC+0LVcINGA0LXQtNCw0LrRgtC40YDQvtCy0LDQvdC40LUKK21lbnV0cmFucyBUb2dnbGVcIEluc2VydFwgJk1vZGU8VGFiPjpzZXRcIGltIQkJ0KDQtdC20LjQvFwgJtCS0YHRgtCw0LLQutC4PFRhYj46c2V0XCBpbSEKK21lbnV0cmFucyBUb2dnbGVcIFZpXCBDJm9tcGF0aWJsZTxUYWI+OnNldFwgY3AhCQkm0KHQvtCy0LzQtdGB0YLQuNC80L7RgdGC0YxcINGBXCBWaTxUYWI+OnNldFwgY3AhCittZW51dHJhbnMgU2VhcmNoXCAmUGF0aFwuXC5cLgkJCQkm0J/Rg9GC0YxcINC00LvRj1wg0L/QvtC40YHQutCwXCDRhNCw0LnQu9C+0LJcLlwuXC4KK21lbnV0cmFucyBUYSZnXCBGaWxlc1wuXC5cLgkJCQnQpNCw0LnQu9GLXCAm0LzQtdGC0L7QulwuXC5cLgogIgotbWVudXRyYW5zIFRvZ2dsZVwgJlRvb2xiYXIJCQkJICbQmNC90YHRgtGA0YPQvNC10L3RgtCw0LvRjNC90LDRj1wg0L/QsNC90LXQu9GMCi1tZW51dHJhbnMgVG9nZ2xlXCAmQm90dG9tXCBTY3JvbGxiYXIJCQkg0J/QvtC70L7RgdCwXCDQv9GA0L7QutGA0YPRgtC60LhcINCy0L3QuCbQt9GDCi1tZW51dHJhbnMgVG9nZ2xlXCAmTGVmdFwgU2Nyb2xsYmFyCQkJINCf0L7Qu9C+0YHQsFwg0L/RgNC+0LrRgNGD0YLQutC4XCDRgSbQu9C10LLQsAotbWVudXRyYW5zIFRvZ2dsZVwgJlJpZ2h0XCBTY3JvbGxiYXIJCQkg0J/QvtC70L7RgdCwXCDQv9GA0L7QutGA0YPRgtC60LhcINGB0L/RgCbQsNCy0LAKK21lbnV0cmFucyBUb2dnbGVcICZUb29sYmFyCQkJCSbQmNC90YHRgtGA0YPQvNC10L3RgtCw0LvRjNC90LDRj1wg0L/QsNC90LXQu9GMCittZW51dHJhbnMgVG9nZ2xlXCAmQm90dG9tXCBTY3JvbGxiYXIJCQnQn9C+0LvQvtGB0LBcINC/0YDQvtC60YDRg9GC0LrQuFwg0LLQvdC4JtC30YMKK21lbnV0cmFucyBUb2dnbGVcICZMZWZ0XCBTY3JvbGxiYXIJCQnQn9C+0LvQvtGB0LBcINC/0YDQvtC60YDRg9GC0LrQuFwg0YEm0LvQtdCy0LAKK21lbnV0cmFucyBUb2dnbGVcICZSaWdodFwgU2Nyb2xsYmFyCQkJ0J/QvtC70L7RgdCwXCDQv9GA0L7QutGA0YPRgtC60LhcINGB0L/RgCbQsNCy0LAKICI+Pj4tPj4+LS0tLS0tLS0tLS0tLSBFZGl0L0dsb2JhbCBzZXR0aW5ncy9WaXJ0dWFsIGVkaXQKLW1lbnV0cmFucyBOZXZlcgkJCQkJCSDQktGL0LrQu9GO0YfQtdC90L4KLW1lbnV0cmFucyBCbG9ja1wgU2VsZWN0aW9uCQkJCSDQn9GA0LhcINCy0YvQtNC10LvQtdC90LjQuFwg0LHQu9C+0LrQsAotbWVudXRyYW5zIEluc2VydFwgbW9kZQkJCQkJINCSXCDRgNC10LbQuNC80LVcINCS0YHRgtCw0LLQutC4Ci1tZW51dHJhbnMgQmxvY2tcIGFuZFwgSW5zZXJ0CQkJCSDQn9GA0LhcINCy0YvQtNC10LvQtdC90LjQuFwg0LHQu9C+0LrQsFwg0LhcINCyXCDRgNC10LbQuNC80LVcINCS0YHRgtCw0LLQutC4Ci1tZW51dHJhbnMgQWx3YXlzCQkJCQkg0JLQutC70Y7Rh9C10L3Qvlwg0LLRgdC10LPQtNCwCittZW51dHJhbnMgTmV2ZXIJCQkJCQnQktGL0LrQu9GO0YfQtdC90L4KK21lbnV0cmFucyBCbG9ja1wgU2VsZWN0aW9uCQkJCdCf0YDQuFwg0LLRi9C00LXQu9C10L3QuNC4XCDQsdC70L7QutCwCittZW51dHJhbnMgSW5zZXJ0XCBtb2RlCQkJCQnQklwg0YDQtdC20LjQvNC1XCDQktGB0YLQsNCy0LrQuAorbWVudXRyYW5zIEJsb2NrXCBhbmRcIEluc2VydAkJCQnQn9GA0LhcINCy0YvQtNC10LvQtdC90LjQuFwg0LHQu9C+0LrQsFwg0LhcINCyXCDRgNC10LbQuNC80LVcINCS0YHRgtCw0LLQutC4CittZW51dHJhbnMgQWx3YXlzCQkJCQnQktC60LvRjtGH0LXQvdC+XCDQstGB0LXQs9C00LAKICI+Pj4tLS0tLS0tLS0tLS0tLS0tLSBFZGl0L0ZpbGUgc2V0dGluZ3MKLW1lbnV0cmFucyBUb2dnbGVcIExpbmVcICZOdW1iZXJpbmc8VGFiPjpzZXRcIG51IQkgJtCd0YPQvNC10YDQsNGG0LjRj1wg0YHRgtGA0L7QujxUYWI+OnNldFwgbnUhCi1tZW51dHJhbnMgVG9nZ2xlXCAmTGlzdFwgTW9kZTxUYWI+OnNldFwgbGlzdCEJCSDQntGC0L7QsdGA0LAm0LbQtdC90LjQtVwg0L3QtdCy0LjQtNC40LzRi9GFXCDRgdC40LzQstC+0LvQvtCyPFRhYj46c2V0XCBsaXN0IQotbWVudXRyYW5zIFRvZ2dsZVwgTGluZVwgJldyYXA8VGFiPjpzZXRcIHdyYXAhCQkgJtCf0LXRgNC10L3QvtGBXCDQtNC70LjQvdC90YvRhVwg0YHRgtGA0L7QujxUYWI+OnNldFwgd3JhcCEKLW1lbnV0cmFucyBUb2dnbGVcIFcmcmFwXCBhdFwgd29yZDxUYWI+OnNldFwgbGJyIQkg0J/QtdGA0LXQvdC+0YFcICbRhtC10LvRi9GFXCDRgdC70L7QsjxUYWI+OnNldFwgbGJyIQotbWVudXRyYW5zIFRvZ2dsZVwgJmV4cGFuZC10YWI8VGFiPjpzZXRcIGV0IQkJINCf0YDQvibQsdC10LvRi1wg0LLQvNC10YHRgtC+XCDRgtCw0LHRg9C70Y/RhtC40Lg8VGFiPjpzZXRcIGV0IQotbWVudXRyYW5zIFRvZ2dsZVwgJmF1dG8taW5kZW50PFRhYj46c2V0XCBhaSEJCSDQkNCy0YLQvtC80LDRgtC40YfQtdGB0LrQvtC1XCDRhNC+0YDQvNCw0YLQuNGA0L7QstCw0L3QuNC1XCAm0L7RgtGB0YLRg9C/0L7QsjxUYWI+OnNldFwgYWkhCi1tZW51dHJhbnMgVG9nZ2xlXCAmQy1pbmRlbnRpbmc8VGFiPjpzZXRcIGNpbiEJCSDQpNC+0YDQvNCw0YLQuNGA0L7QstCw0L3QuNC1XCDQvtGC0YHRgtGD0L/QvtCyXCDQslwgJtGB0YLQuNC70LVcIEM8VGFiPjpzZXRcIGNpbiEKK21lbnV0cmFucyBUb2dnbGVcIExpbmVcICZOdW1iZXJpbmc8VGFiPjpzZXRcIG51IQkm0J3Rg9C80LXRgNCw0YbQuNGPXCDRgdGC0YDQvtC6PFRhYj46c2V0XCBudSEKK21lbnV0cmFucyBUb2dnbGVcIHJlbGF0aSZ2ZVwgTGluZVwgTnVtYmVyaW5nPFRhYj46c2V0XCBybnUhCdCe0YLQvdC+0YHQuNGC0LUm0LvRjNC90LDRj1wg0L3Rg9C80LXRgNCw0YbQuNGPXCDRgdGC0YDQvtC6PFRhYj46c2V0XCBucnUhCittZW51dHJhbnMgVG9nZ2xlXCAmTGlzdFwgTW9kZTxUYWI+OnNldFwgbGlzdCEJCdCe0YLQvtCx0YDQsCbQttC10L3QuNC1XCDQvdC10LLQuNC00LjQvNGL0YVcINGB0LjQvNCy0L7Qu9C+0LI8VGFiPjpzZXRcIGxpc3QhCittZW51dHJhbnMgVG9nZ2xlXCBMaW5lXCAmV3JhcDxUYWI+OnNldFwgd3JhcCEJCSbQn9C10YDQtdC90L7RgVwg0LTQu9C40L3QvdGL0YVcINGB0YLRgNC+0Lo8VGFiPjpzZXRcIHdyYXAhCittZW51dHJhbnMgVG9nZ2xlXCBXJnJhcFwgYXRcIHdvcmQ8VGFiPjpzZXRcIGxiciEJ0J/QtdGA0LXQvdC+0YFcICbRhtC10LvRi9GFXCDRgdC70L7QsjxUYWI+OnNldFwgbGJyIQorbWVudXRyYW5zIFRvZ2dsZVwgJmV4cGFuZC10YWI8VGFiPjpzZXRcIGV0IQkJ0J/RgNC+JtCx0LXQu9GLXCDQstC80LXRgdGC0L5cINGC0LDQsdGD0LvRj9GG0LjQuDxUYWI+OnNldFwgZXQhCittZW51dHJhbnMgVG9nZ2xlXCAmYXV0by1pbmRlbnQ8VGFiPjpzZXRcIGFpIQkJ0JDQstGC0L7QvNCw0YLQuNGH0LXRgdC60L7QtVwg0YTQvtGA0LzQsNGC0LjRgNC+0LLQsNC90LjQtVwgJtC+0YLRgdGC0YPQv9C+0LI8VGFiPjpzZXRcIGFpIQorbWVudXRyYW5zIFRvZ2dsZVwgJkMtaW5kZW50aW5nPFRhYj46c2V0XCBjaW4hCQnQpNC+0YDQvNCw0YLQuNGA0L7QstCw0L3QuNC1XCDQvtGC0YHRgtGD0L/QvtCyXCDQslwgJtGB0YLQuNC70LVcIEM8VGFiPjpzZXRcIGNpbiEKICI+Pj4tLS0KLW1lbnV0cmFucyAmU2hpZnR3aWR0aAkJCQkJINCS0LXQu9C4JtGH0LjQvdCwXCDQvtGC0YHRgtGD0L/QsAotbWVudXRyYW5zIFNvZnRcICZUYWJzdG9wCQkJCSDQqNC40YDQuNC90LBcICbRgtCw0LHRg9C70Y/RhtC40LgKLW1lbnV0cmFucyBUZSZ4dFwgV2lkdGhcLlwuXC4JCQkJICbQqNC40YDQuNC90LBcINGC0LXQutGB0YLQsFwuXC5cLgotbWVudXRyYW5zICZGaWxlXCBGb3JtYXRcLlwuXC4JCQkJICbQpNC+0YDQvNCw0YJcINGE0LDQudC70LBcLlwuXC4KK21lbnV0cmFucyAmU2hpZnR3aWR0aAkJCQkJ0JLQtdC70Lgm0YfQuNC90LBcINC+0YLRgdGC0YPQv9CwCittZW51dHJhbnMgU29mdFwgJlRhYnN0b3AJCQkJ0KjQuNGA0LjQvdCwXCAm0YLQsNCx0YPQu9GP0YbQuNC4CittZW51dHJhbnMgVGUmeHRcIFdpZHRoXC5cLlwuCQkJCSbQqNC40YDQuNC90LBcINGC0LXQutGB0YLQsFwuXC5cLgorbWVudXRyYW5zICZGaWxlXCBGb3JtYXRcLlwuXC4JCQkJJtCk0L7RgNC80LDRglwg0YTQsNC50LvQsFwuXC5cLgogIgogIgogIgpAQCAtMTMxLDYgKzEzOSw3IEBACiBtZW51dHJhbnMgQnVpbGRcICZUYWdzXCBGaWxlCQkJCdCh0L7Qt9C00LDRgtGMXCAm0YTQsNC50LtcINC80LXRgtC+0LoKICItLS0tLS0tLS0tLS0tLS0tLS0tCiBtZW51dHJhbnMgJkZvbGRpbmcJCQkJCdCg0LDQsdC+0YLQsFwg0YHQvlwgJtGB0LrQu9Cw0LTQutCw0LzQuAorbWVudXRyYW5zICZTcGVsbGluZwkJCQkJ0J/RgCbQsNCy0L7Qv9C40YHQsNC90LjQtQogbWVudXRyYW5zICZEaWZmCQkJCQkJJtCe0YLQu9C40YfQuNGPXCAoZGlmZikKICItLS0tLS0tLS0tLS0tLS0tLS0tCiBtZW51dHJhbnMgJk1ha2U8VGFiPjptYWtlCQkJCdCa0L4m0LzQv9C40LvRj9GG0LjRjzxUYWI+Om1ha2UKQEAgLTE0MSwxMCArMTUwLDI2IEBACiBtZW51dHJhbnMgJk9sZGVyXCBMaXN0PFRhYj46Y29sZAkJCdCR0L7Qu9C10LVcINGB0YLQsNGAJtGL0LlcINGB0L/QuNGB0L7Qulwg0L7RiNC40LHQvtC6PFRhYj46Y29sZAogbWVudXRyYW5zIE4mZXdlclwgTGlzdDxUYWI+OmNuZXcJCQnQkdC+0LvQtdC1XCDRgdCy0LUm0LbQuNC5XCDRgdC/0LjRgdC+0LpcINC+0YjQuNCx0L7QujxUYWI+OmNuZXcKIG1lbnV0cmFucyBFcnJvclwgJldpbmRvdwkJCQnQntC6JtC90L5cINC+0YjQuNCx0L7QugotbWVudXRyYW5zICZTZXRcIENvbXBpbGVyCQkJCdCS0YvQsdC+0YBcICbQutC+0LzQv9C40LvRj9GC0L7RgNCwCittZW51dHJhbnMgU2UmVFwgQ29tcGlsZXIJCQkJ0JLRi9Cx0L7RgFwgJtC60L7QvNC/0LjQu9GP0YLQvtGA0LAKICItLS0tLS0tLS0tLS0tLS0tLS0tCiBtZW51dHJhbnMgJkNvbnZlcnRcIHRvXCBIRVg8VGFiPjolIXh4ZAkJCdCfJtC10YDQtdCy0LXRgdGC0LhcINCyXCBIRVg8VGFiPjolIXh4ZAogbWVudXRyYW5zIENvbnZlJnJ0XCBiYWNrPFRhYj46JSF4eGRcIC1yCQkJ0J/QtdGA0LXQstC10YHRgtC4XCDQuCbQt1wgSEVYPFRhYj46JSF4eGRcIC1yCisiPj4+LS0tLS0tLS0tLS0tLS0tLSBUb29scy9TcGVsbGluZworbWVudXRyYW5zICZTcGVsbFwgQ2hlY2tcIE9uCQkJCSbQktC60LtcINC/0YDQvtCy0LXRgNC60YNcINC/0YDQsNCy0L7Qv9C40YHQsNC90LjRjworbWVudXRyYW5zIFNwZWxsXCBDaGVja1wgJk9mZgkJCQnQktGLJtC60LtcINC/0YDQvtCy0LXRgNC60YNcINC/0YDQsNCy0L7Qv9C40YHQsNC90LjRjworbWVudXRyYW5zIFRvXCAmTmV4dFwgZXJyb3I8VGFiPl1zCQkJJtCh0LvQtdC00YPRjtGJ0LDRj1wg0L7RiNC40LHQutCwCittZW51dHJhbnMgVG9cICZQcmV2aW91c1wgZXJyb3I8VGFiPltzCQkJJtCf0YDQtdC00YvQtNGD0YnQsNGPXCDQvtGI0LjQsdC60LAKK21lbnV0cmFucyBTdWdnZXN0XCAmQ29ycmVjdGlvbnM8VGFiPno9CQkJ0J/RgNC10LTQu9C+0LbQuNGC0YxcINC40YHQvybRgNCw0LLQu9C10L3QuNGPCittZW51dHJhbnMgJlJlcGVhdFwgY29ycmVjdGlvbjxUYWI+OnNwZWxscmVwYWxsCQnQn9C+0LIm0YLQvtGA0LjRgtGMXCDQuNGB0L/RgNCw0LLQu9C10L3QuNC1XCDQtNC70Y9cINCy0YHQtdGFCisiLS0tLS0tLS0tLS0tLS0tLS0tLQorbWVudXRyYW5zIFNldFwgbGFuZ3VhZ2VcIHRvXCAiZW4iCQkJ0KPRgdGC0LDQvdC+0LLQuNGC0YxcINGP0LfRi9C6XCAiZW4iCittZW51dHJhbnMgU2V0XCBsYW5ndWFnZVwgdG9cICJlbl9hdSIJCQnQo9GB0YLQsNC90L7QstC40YLRjFwg0Y/Qt9GL0LpcICJlbl9hdSIKK21lbnV0cmFucyBTZXRcIGxhbmd1YWdlXCB0b1wgImVuX2NhIgkJCdCj0YHRgtCw0L3QvtCy0LjRgtGMXCDRj9C30YvQulwgImVuX2NhIgorbWVudXRyYW5zIFNldFwgbGFuZ3VhZ2VcIHRvXCAiZW5fZ2IiCQkJ0KPRgdGC0LDQvdC+0LLQuNGC0YxcINGP0LfRi9C6XCAiZW5fZ2IiCittZW51dHJhbnMgU2V0XCBsYW5ndWFnZVwgdG9cICJlbl9ueiIJCQnQo9GB0YLQsNC90L7QstC40YLRjFwg0Y/Qt9GL0LpcICJlbl9ueiIKK21lbnV0cmFucyBTZXRcIGxhbmd1YWdlXCB0b1wgImVuX3VzIgkJCdCj0YHRgtCw0L3QvtCy0LjRgtGMXCDRj9C30YvQulwgImVuX3VzIgorbWVudXRyYW5zICZGaW5kXCBNb3JlXCBMYW5ndWFnZXMJCQkm0J3QsNC50YLQuFwg0LHQvtC70YzRiNC1XCDRj9C30YvQutC+0LIKK2xldCBnOm1lbnV0cmFuc19zZXRfbGFuZ190byA9CQkJCSfQo9GB0YLQsNC90L7QstC40YLRjCDRj9C30YvQuicKICI+Pj4tLS0tLS0tLS0tLS0tLS0tIEZvbGRzCiBtZW51dHJhbnMgJkVuYWJsZS9EaXNhYmxlXCBmb2xkczxUYWI+emkJCQnQktC60Lsv0LLRi9C60LtcICbRgdC60LvQsNC00LrQuDxUYWI+emkKIG1lbnV0cmFucyAmVmlld1wgQ3Vyc29yXCBMaW5lPFRhYj56dgkJCdCe0YLQutGA0YvRgtGMXCDRgdGC0YDQvtC60YNcINGBXCAm0LrRg9GA0YHQvtGA0L7QvDxUYWI+enYKQEAgLTIxOSw3ICsyNDQsNyBAQAogbWVudXRyYW5zIE1heFwgJldpZHRoPFRhYj5eV1x8CQkJCdCc0LDQutGB0LjQvNCw0LvRjNC90LDRj1wgJtGI0LjRgNC40L3QsDxUYWI+XldcfAogbWVudXRyYW5zIE1pblwgV2lkdCZoPFRhYj5eVzFcfAkJCQnQnNC40L3QuNC80LDQuybRjNC90LDRj1wg0YjQuNGA0LjQvdCwPFRhYj5eVzFcfAogIj4+Pi0tLS0tLS0tLS0tLS0tLS0tIFdpbmRvdy9Nb3ZlIFRvCi1tZW51dHJhbnMgJlRvcDxUYWI+XldLCQkJCQnQndCwJtCy0LXRgNGFPFRhYj5eV0sKK21lbnV0cmFucyAmVG9wPFRhYj5eV0sJCQkJCdCSJtCy0LXRgNGFPFRhYj5eV0sKIG1lbnV0cmFucyAmQm90dG9tPFRhYj5eV0oJCQkJ0JIm0L3QuNC3PFRhYj5eV0oKIG1lbnV0cmFucyAmTGVmdFwgc2lkZTxUYWI+XldICQkJCdCSJtC70LXQstC+PFRhYj5eV0gKIG1lbnV0cmFucyAmUmlnaHRcIHNpZGU8VGFiPl5XTAkJCQnQkibQv9GA0LDQstC+PFRhYj5eV0wKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc2NyaXB0cy52aW0gYi9ydW50aW1lL3NjcmlwdHMudmltCmluZGV4IDQ1OWIwMzAuLjI1MWU0YzggMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc2NyaXB0cy52aW0KKysrIGIvcnVudGltZS9zY3JpcHRzLnZpbQpAQCAtMTUyLDYgKzE1MiwxMCBAQAogICBlbHNlaWYgczpuYW1lID1+ICdjZmVuZ2luZScKICAgICBzZXQgZnQ9Y2ZlbmdpbmUKIAorICAgICIgRXJsYW5nIHNjcmlwdHMKKyAgZWxzZWlmIHM6bmFtZSA9fiAnZXNjcmlwdCcKKyAgICBzZXQgZnQ9ZXJsYW5nCisKICAgZW5kaWYKICAgdW5sZXQgczpuYW1lCiAKQEAgLTMzMyw2ICszMzcsMTEgQEAKICAgICAgXCAmJiBzOmxpbmUzID1+ICdeRWFjaCBzYW1wbGUgY291bnRzIGFzIC4qIHNlY29uZHMuJCcKICAgICAgc2V0IGZ0PWdwcm9mCiAKKyAgIiBFcmxhbmcgdGVybXMKKyAgIiAoU2VlIGFsc286IGh0dHA6Ly93d3cuZ251Lm9yZy9zb2Z0d2FyZS9lbWFjcy9tYW51YWwvaHRtbF9ub2RlL2VtYWNzL0Nob29zaW5nLU1vZGVzLmh0bWwjQ2hvb3NpbmctTW9kZXMpCisgIGVsc2VpZiBzOmxpbmUxID1+PyAnLVwqLS4qZXJsYW5nLiotXCotJworICAgIHNldCBmdD1lcmxhbmcKKwogICAiIENWUyBkaWZmCiAgIGVsc2UKICAgICBsZXQgczpsbnVtID0gMQpkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvYy52aW0gYi9ydW50aW1lL3N5bnRheC9jLnZpbQppbmRleCBjZWIxNDEwLi42YTYyZmUzIDEwMDY0NAotLS0gYS9ydW50aW1lL3N5bnRheC9jLnZpbQorKysgYi9ydW50aW1lL3N5bnRheC9jLnZpbQpAQCAtMSw3ICsxLDcgQEAKICIgVmltIHN5bnRheCBmaWxlCiAiIExhbmd1YWdlOglDCiAiIE1haW50YWluZXI6CUJyYW0gTW9vbGVuYWFyIDxCcmFtQHZpbS5vcmc+Ci0iIExhc3QgQ2hhbmdlOgkyMDEzIE1hciAxMworIiBMYXN0IENoYW5nZToJMjAxMyBKdW4gMDYKIAogIiBRdWl0IHdoZW4gYSAoY3VzdG9tKSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKIGlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9lcmxhbmcudmltIGIvcnVudGltZS9zeW50YXgvZXJsYW5nLnZpbQppbmRleCBmMzRhMDA0Li41ZWI2MTQ0IDEwMDY0NAotLS0gYS9ydW50aW1lL3N5bnRheC9lcmxhbmcudmltCisrKyBiL3J1bnRpbWUvc3ludGF4L2VybGFuZy52aW0KQEAgLTEsMjMgKzEsMzIgQEAKICIgVmltIHN5bnRheCBmaWxlCiAiIExhbmd1YWdlOiAgICAgRXJsYW5nIChodHRwOi8vd3d3LmVybGFuZy5vcmcpCiAiIE1haW50YWluZXI6ICAgQ3NhYmEgSG9jaCA8Y3NhYmEuaG9jaEBnbWFpbC5jb20+Ci0iIEZvcm1lciBNYWludGFpbmVyOiAgS3JlxIVpbWlyIE1hcsS+acSHIChLcmVzaW1pciBNYXJ6aWMpIDxrbWFyemljQGZseS5zcmsuZmVyLmhyPgotIiBMYXN0IFVwZGF0ZTogIDIwMTMtTWFyLTA3CisiIExhc3QgVXBkYXRlOiAgMjAxMy1KdW4tMDEKICIgTGljZW5zZTogICAgICBWaW0gbGljZW5zZQogIiBVUkw6ICAgICAgICAgIGh0dHBzOi8vZ2l0aHViLmNvbS9oY3M0Mi92aW0tZXJsYW5nCiAKKyIgQWNrbm93bGVkZ2VtZW50czogVGhpcyBzY3JpcHQgd2FzIG9yaWdpbmFsbHkgY3JlYXRlZCBieSBLcmVzaW1pciBNYXJ6aWMgWzFdLgorIiBUaGUgc2NyaXB0IHdhcyB0aGVuIHJldmFtcGVkIGJ5IENzYWJhIEhvY2ggWzJdLiBEdXJpbmcgdGhlIHJldmFtcCwgdGhlIG5ldworIiBoaWdobGlnaHRpbmcgc3R5bGUgYW5kIHNvbWUgY29kZSB3YXMgdGFrZW4gZnJvbSB0aGUgRXJsYW5nIHN5bnRheCBzY3JpcHQKKyIgdGhhdCBpcyBwYXJ0IG9mIHZpbWVybCBbM10sIGNyZWF0ZWQgYnkgT3NjYXIgSGVsbHN0csO2bSBbNF0gYW5kIGltcHJvdmVkIGJ5CisiIFJpY2FyZG8gQ2F0YWxpbmFzIEppbcOpbmV6IFs1XS4KKworIiBbMV06IEtyZcSFaW1pciBNYXLEvmnEhyAoS3Jlc2ltaXIgTWFyemljKSA8a21hcnppY0BmbHkuc3JrLmZlci5ocj4KKyIgWzJdOiBDc2FiYSBIb2NoIDxjc2FiYS5ob2NoQGdtYWlsLmNvbT4KKyIgWzNdOiBodHRwczovL2dpdGh1Yi5jb20vamltZW5lenJpY2svdmltZXJsCisiIFs0XTogT3NjYXIgSGVsbHN0csO2bSA8b3NjYXJAb3NjYXJoLm5ldD4gKGh0dHA6Ly9vc2Nhci5oZWxsc3Ryb20uc3QpCisiIFs1XTogUmljYXJkbyBDYXRhbGluYXMgSmltw6luZXogPGppbWVuZXpyaWNrQGdtYWlsLmNvbT4KKwogIiBDdXN0b21pemF0aW9uOgogIgotIiBUaGVyZSBhcmUgdHdvIG9wdGlvbmFsIHNldHMgb2YgaGlnaGxpZ2h0aW5nOgorIiBUbyB1c2UgdGhlIG9sZCBoaWdobGlnaHRpbmcgc3R5bGUsIGFkZCB0aGlzIHRvIHlvdXIgLnZpbXJjOgogIgotIiAxLiBUaGUgQklGcyAoYnVpbHQtaW4gZnVuY3Rpb25zKSBhcmUgaGlnaGxpZ2h0ZWQgYnkgZGVmYXVsdC4gVG8gZGlzYWJsZQotIiAgICB0aGlzLCBwdXQgdGhlIGZvbGxvd2luZyBsaW5lIGluIHlvdXIgdmltcmM6CisiICAgICBsZXQgZzplcmxhbmdfb2xkX3N0eWxlX2hpZ2hsaWdodCA9IDEKICIKLSIgICAgICBsZXQgZzplcmxhbmdfaGlnaGxpZ2h0X2JpZnMgPSAwCisiIFRvIGhpZ2hsaWdodCBmdXJ0aGVyIG1vZHVsZSBhdHRyaWJ1dGVzLCBhZGQgdGhlbSB0bworIiB+Ly52aW0vYWZ0ZXIvc3ludGF4L2VybGFuZy52aW06CiAiCi0iIDIuIFRvIGVuYWJsZSBoaWdobGlnaHRpbmcgc29tZSBzcGVjaWFsIGF0b21zLCBwdXQgdGhpcyBpbiB5b3VyIHZpbXJjOgotIgotIiAgICAgIGxldCBnOmVybGFuZ19oaWdobGlnaHRfc3BlY2lhbF9hdG9tcyA9IDEKKyIgICAgIHN5biBrZXl3b3JkIGVybGFuZ0F0dHJpYnV0ZSBteWF0dHIxIG15YXR0cjIgY29udGFpbmVkCiAKICIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCiAiIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCkBAIC0zNSw5NCArNDQsMTA4IEBACiBlbmRpZgogCiAiIENvbW1lbnRzCi1zeW4gbWF0Y2ggZXJsYW5nQ29tbWVudCAgICAgICAgICAgICAnJS4qJCcgY29udGFpbnM9ZXJsYW5nQ29tbWVudEFubm90YXRpb24sZXJsYW5nVG9kbwotc3luIG1hdGNoIGVybGFuZ0NvbW1lbnRBbm5vdGF0aW9uICAgJyBcQDw9QFwlKGNsZWFyXHxkb2NmaWxlXHxlbmRcfGhlYWRlcmZpbGVcfHRvZG9cfFRPRE9cfHR5cGVcfGF1dGhvclx8Y29weXJpZ2h0XHxkb2NcfHJlZmVyZW5jZVx8c2VlXHxzaW5jZVx8dGl0bGVcfHZlcnNpb25cfGRlcHJlY2F0ZWRcfGhpZGRlblx8cHJpdmF0ZVx8ZXF1aXZcfHNwZWNcfHRocm93c1wpJyBjb250YWluZWQKLXN5biBtYXRjaCBlcmxhbmdDb21tZW50QW5ub3RhdGlvbiAgIC9gW14nXSonLyBjb250YWluZWQKLXN5biBrZXl3b3JkIGVybGFuZ1RvZG8gICAgICAgICAgICAgIFRPRE8gRklYTUUgWFhYIGNvbnRhaW5lZAorc3luIG1hdGNoIGVybGFuZ0NvbW1lbnQgICAgICAgICAgICclLiokJyBjb250YWlucz1lcmxhbmdDb21tZW50QW5ub3RhdGlvbixlcmxhbmdUb2RvCitzeW4gbWF0Y2ggZXJsYW5nQ29tbWVudEFubm90YXRpb24gJyBcQDw9QFwlKGNsZWFyXHxkb2NmaWxlXHxlbmRcfGhlYWRlcmZpbGVcfHRvZG9cfFRPRE9cfHR5cGVcfGF1dGhvclx8Y29weXJpZ2h0XHxkb2NcfHJlZmVyZW5jZVx8c2VlXHxzaW5jZVx8dGl0bGVcfHZlcnNpb25cfGRlcHJlY2F0ZWRcfGhpZGRlblx8cHJpdmF0ZVx8ZXF1aXZcfHNwZWNcfHRocm93c1wpJyBjb250YWluZWQKK3N5biBtYXRjaCBlcmxhbmdDb21tZW50QW5ub3RhdGlvbiAvYFteJ10qJy8gY29udGFpbmVkCitzeW4ga2V5d29yZCBlcmxhbmdUb2RvICAgICAgICAgICAgVE9ETyBGSVhNRSBYWFggY29udGFpbmVkCitzeW4gbWF0Y2ggZXJsYW5nU2hlYmFuZyAgICAgICAgICAgJ14jIS4qJwogCiAiIE51bWJlcnMgKG1pbmltdW0gYmFzZSBpcyAyLCBtYXhpbXVtIGlzIDM2LikKLXN5biBtYXRjaCAgIGVybGFuZ051bWJlckludGVnZXIgICAgICdcPFxkXCtcPicKLXN5biBtYXRjaCAgIGVybGFuZ051bWJlckludGVnZXIgICAgICdcPFwlKFsyLTldXHxbMTJdXGRcfDNbMC02XVwpXCsjW1s6YWxudW06XV1cK1w+Jwotc3luIG1hdGNoICAgZXJsYW5nTnVtYmVyRmxvYXQgICAgICAgJ1w8XGRcK1wuXGRcK1wlKFtlRV1bKy1dXD1cZFwrXClcPVw+Jworc3luIG1hdGNoIGVybGFuZ051bWJlckludGVnZXIgJ1w8XGRcK1w+Jworc3luIG1hdGNoIGVybGFuZ051bWJlckludGVnZXIgJ1w8XCUoWzItOV1cfFsxMl1cZFx8M1swLTZdXClcKyNbWzphbG51bTpdXVwrXD4nCitzeW4gbWF0Y2ggZXJsYW5nTnVtYmVyRmxvYXQgICAnXDxcZFwrXC5cZFwrXCUoW2VFXVsrLV1cPVxkXCtcKVw9XD4nCiAKICIgU3RyaW5ncywgYXRvbXMsIGNoYXJhY3RlcnMKLXN5biByZWdpb24gIGVybGFuZ1N0cmluZyAgICAgICAgICAgIHN0YXJ0PS8iLyBlbmQ9LyIvIGNvbnRhaW5zPWVybGFuZ1N0cmluZ01vZGlmaWVyCi1zeW4gcmVnaW9uICBlcmxhbmdRdW90ZWRBdG9tICAgICAgICBzdGFydD0vJy8gZW5kPS8nLyBjb250YWlucz1lcmxhbmdRdW90ZWRBdG9tTW9kaWZpZXIKLXN5biBtYXRjaCAgIGVybGFuZ1N0cmluZ01vZGlmaWVyICAgICAnXH5cYVx8XFxcJShcb1x7MSwzfVx8eFx4XHhcfHh7XHhcK31cfFxeLlx8LlwpJyBjb250YWluZWQKLXN5biBtYXRjaCAgIGVybGFuZ1F1b3RlZEF0b21Nb2RpZmllciAnXH5cYVx8XFxcJShcb1x7MSwzfVx8eFx4XHhcfHh7XHhcK31cfFxeLlx8LlwpJyBjb250YWluZWQKLXN5biBtYXRjaCAgIGVybGFuZ01vZGlmaWVyICAgICAgICAgICAnXCRcJShbXlxcXVx8XFxcJShcb1x7MSwzfVx8eFx4XHhcfHh7XHhcK31cfFxeLlx8LlwpXCknCitzeW4gcmVnaW9uIGVybGFuZ1N0cmluZyAgICAgICAgICAgIHN0YXJ0PS8iLyBlbmQ9LyIvIGNvbnRhaW5zPWVybGFuZ1N0cmluZ01vZGlmaWVyCitzeW4gcmVnaW9uIGVybGFuZ1F1b3RlZEF0b20gICAgICAgIHN0YXJ0PS8nLyBlbmQ9LycvIGNvbnRhaW5zPWVybGFuZ1F1b3RlZEF0b21Nb2RpZmllcgorc3luIG1hdGNoIGVybGFuZ1N0cmluZ01vZGlmaWVyICAgICAnXH5cYVx8XFxcJShcb1x7MSwzfVx8eFx4XHhcfHh7XHhcK31cfFxeLlx8LlwpJyBjb250YWluZWQKK3N5biBtYXRjaCBlcmxhbmdRdW90ZWRBdG9tTW9kaWZpZXIgJ1x+XGFcfFxcXCUoXG9cezEsM31cfHhceFx4XHx4e1x4XCt9XHxcXi5cfC5cKScgY29udGFpbmVkCitzeW4gbWF0Y2ggZXJsYW5nTW9kaWZpZXIgICAgICAgICAgICdcJFwlKFteXFxdXHxcXFwlKFxvXHsxLDN9XHx4XHhceFx8eHtceFwrfVx8XF4uXHwuXClcKScKIAotIiBPcGVyYXRvcnMKLXN5biBtYXRjaCAgIGVybGFuZ09wZXJhdG9yICAgICAgICAgICc9PVx8PTo9XHwvPVx8PS89XHw8XHw9PFx8Plx8Pj1cfCsrXHwtLVx8PVx8IVx8PC1cfCtcfC1cfFwqXHxcLycKLXN5biBrZXl3b3JkIGVybGFuZ09wZXJhdG9yICAgICAgICAgIGRpdiByZW0gb3IgeG9yIGJvciBieG9yIGJzbCBic3IgYW5kIGJhbmQgbm90IGJub3QgYW5kYWxzbyBvcmVsc2UKKyIgT3BlcmF0b3JzLCBzZXBhcmF0b3JzCitzeW4gbWF0Y2ggZXJsYW5nT3BlcmF0b3IgICAnPT1cfD06PVx8Lz1cfD0vPVx8PFx8PTxcfD5cfD49XHwrK1x8LS1cfD1cfCFcfDwtXHwrXHwtXHxcKlx8XC8nCitzeW4ga2V5d29yZCBlcmxhbmdPcGVyYXRvciBkaXYgcmVtIG9yIHhvciBib3IgYnhvciBic2wgYnNyIGFuZCBiYW5kIG5vdCBibm90IGFuZGFsc28gb3JlbHNlCitzeW4gbWF0Y2ggZXJsYW5nQnJhY2tldCAgICAne1x8fVx8XFtcfF1cfHxcfHx8Jworc3luIG1hdGNoIGVybGFuZ1BpcGUgICAgICAgJ3wnCitzeW4gbWF0Y2ggZXJsYW5nUmlnaHRBcnJvdyAnLT4nCiAKLSIgU2VwYXJhdG9ycwotc3luIG1hdGNoIGVybGFuZ1NlcGFyYXRvciAgICAgICAgICAgJyhcfClcfHtcfH1cfFxbXHxdXHx8XHx8fFx8O1x8LFx8P1x8IycKLXN5biBtYXRjaCBlcmxhbmdSaWdodEFycm93ICAgICAgICAgICctPicKKyIgQXRvbXMsIGZ1bmN0aW9uIGNhbGxzIChvcmRlciBpcyBpbXBvcnRhbnQpCitzeW4gbWF0Y2ggZXJsYW5nQXRvbSAgICAgICAgICAgJ1w8XGxbWzphbG51bTpdX0BdKicgY29udGFpbnM9ZXJsYW5nQm9vbGVhbgorc3luIGtleXdvcmQgZXJsYW5nQm9vbGVhbiAgICAgIHRydWUgZmFsc2UgY29udGFpbmVkCitzeW4gbWF0Y2ggZXJsYW5nTG9jYWxGdW5jQ2FsbCAgJ1w8XGFbWzphbG51bTpdX0BdKlw+XCUoXCUoXHNcfFxuXHwlLipcblwpKihcKVxAPScgY29udGFpbnM9ZXJsYW5nQklGCitzeW4gbWF0Y2ggZXJsYW5nTG9jYWxGdW5jUmVmICAgJ1w8XGFbWzphbG51bTpdX0BdKlw+XCUoXCUoXHNcfFxuXHwlLipcblwpKi9cKVxAPScKK3N5biBtYXRjaCBlcmxhbmdHbG9iYWxGdW5jQ2FsbCAnXDxcJShcYVtbOmFsbnVtOl1fQF0qXCUoXHNcfFxuXHwlLipcblwpKlwuXCUoXHNcfFxuXHwlLipcblwpKlwpKlxhW1s6YWxudW06XV9AXSpcJShcc1x8XG5cfCUuKlxuXCkqOlwlKFxzXHxcblx8JS4qXG5cKSpcYVtbOmFsbnVtOl1fQF0qXD5cJShcJShcc1x8XG5cfCUuKlxuXCkqKFwpXEA9JyBjb250YWlucz1lcmxhbmdDb21tZW50CitzeW4gbWF0Y2ggZXJsYW5nR2xvYmFsRnVuY1JlZiAgJ1w8XCUoXGFbWzphbG51bTpdX0BdKlwlKFxzXHxcblx8JS4qXG5cKSpcLlwlKFxzXHxcblx8JS4qXG5cKSpcKSpcYVtbOmFsbnVtOl1fQF0qXCUoXHNcfFxuXHwlLipcblwpKjpcJShcc1x8XG5cfCUuKlxuXCkqXGFbWzphbG51bTpdX0BdKlw+XCUoXCUoXHNcfFxuXHwlLipcblwpKi9cKVxAPScgY29udGFpbnM9ZXJsYW5nQ29tbWVudAogCi0iIEZ1bmN0aW9ucyBjYWxsCi1zeW4gbWF0Y2ggICBlcmxhbmdGQ2FsbCAgICAgICAgICAgICAnXDxcJShcYVtbOmFsbnVtOl1AXSpccypcLlxzKlwpKlxhW1s6YWxudW06XUBdKlxzKjpccypcYVtbOmFsbnVtOl1AXSpcPicKKyIgVmFyaWFibGVzLCBtYWNyb3MsIHJlY29yZHMKK3N5biBtYXRjaCBlcmxhbmdWYXJpYWJsZSAnXDxbQS1aX11bWzphbG51bTpdX0BdKicKK3N5biBtYXRjaCBlcmxhbmdNYWNybyAgICAnPz9cPVtbOmFsbnVtOl1fQF1cKycKK3N5biBtYXRjaCBlcmxhbmdNYWNybyAgICAnXCUoLWRlZmluZShcKVxAPD1bWzphbG51bTpdX0BdXCsnCitzeW4gbWF0Y2ggZXJsYW5nUmVjb3JkICAgJyNccypcbFtbOmFsbnVtOl1fQF0qJworCisiIEJpdHN0cmluZ3MKK3N5biBtYXRjaCBlcmxhbmdCaXRUeXBlICdcJShcL1wlKFxzXHxcblx8JS4qXG5cKSpcKVxAPD1cJShpbnRlZ2VyXHxmbG9hdFx8YmluYXJ5XHxieXRlc1x8Yml0c3RyaW5nXHxiaXRzXHxiaW5hcnlcfHV0ZjhcfHV0ZjE2XHx1dGYzMlx8c2lnbmVkXHx1bnNpZ25lZFx8YmlnXHxsaXR0bGVcfG5hdGl2ZVx8dW5pdFwpXCUoXCUoXHNcfFxuXHwlLipcblwpKi1cJShcc1x8XG5cfCUuKlxuXCkqXCUoaW50ZWdlclx8ZmxvYXRcfGJpbmFyeVx8Ynl0ZXNcfGJpdHN0cmluZ1x8Yml0c1x8YmluYXJ5XHx1dGY4XHx1dGYxNlx8dXRmMzJcfHNpZ25lZFx8dW5zaWduZWRcfGJpZ1x8bGl0dGxlXHxuYXRpdmVcfHVuaXRcKVwpKicgY29udGFpbnM9ZXJsYW5nQ29tbWVudAogCiAiIENvbnN0YW50cyBhbmQgRGlyZWN0aXZlcwotc3luIG1hdGNoICAgZXJsYW5nRGlyZWN0aXZlICAgICAgICAgJy1cJShiZWhhdmlvdXJcfGJlaGF2aW9yXHxjb21waWxlXHxkZWZpbmVcfGVsc2VcfGVuZGlmXHxleHBvcnRcfGZpbGVcfGlmZGVmXHxpZm5kZWZcfGltcG9ydFx8aW5jbHVkZV9saWJcfGluY2x1ZGVcfG1vZHVsZVx8cmVjb3JkXHx1bmRlZlx8YXV0aG9yXHxjb3B5cmlnaHRcfGRvY1x8dnNuXHxvbl9sb2FkXHxleHBvcnRfdHlwZVwpXD4nCitzeW4gbWF0Y2ggZXJsYW5nVW5rbm93bkF0dHJpYnV0ZSAnLVwlKFxzXHxcblx8JS4qXG5cKSpcbFtbOmFsbnVtOl1fQF0qJyBjb250YWlucz1lcmxhbmdDb21tZW50CitzeW4gbWF0Y2ggZXJsYW5nQXR0cmlidXRlICctXCUoXHNcfFxuXHwlLipcblwpKlwlKGJlaGF2aW91XD1yXHxjb21waWxlXHxleHBvcnRcfGZpbGVcfGltcG9ydFx8bW9kdWxlXHxhdXRob3JcfGNvcHlyaWdodFx8ZG9jXHx2c25cfG9uX2xvYWRcfGV4cG9ydF90eXBlXCknIGNvbnRhaW5zPWVybGFuZ0NvbW1lbnQKK3N5biBtYXRjaCBlcmxhbmdJbmNsdWRlICAgJy1cJShcc1x8XG5cfCUuKlxuXCkqXCUoaW5jbHVkZVx8aW5jbHVkZV9saWJcKVw+JyBjb250YWlucz1lcmxhbmdDb21tZW50CitzeW4gbWF0Y2ggZXJsYW5nUmVjb3JkRGVmICctXCUoXHNcfFxuXHwlLipcblwpKnJlY29yZFw+JyBjb250YWlucz1lcmxhbmdDb21tZW50CitzeW4gbWF0Y2ggZXJsYW5nRGVmaW5lICAgICctXCUoXHNcfFxuXHwlLipcblwpKlwlKGRlZmluZVx8dW5kZWZcKVw+JyBjb250YWlucz1lcmxhbmdDb21tZW50CitzeW4gbWF0Y2ggZXJsYW5nUHJlQ29uZGl0ICctXCUoXHNcfFxuXHwlLipcblwpKlwlKGlmZGVmXHxpZm5kZWZcfGVsc2VcfGVuZGlmXClcPicgY29udGFpbnM9ZXJsYW5nQ29tbWVudAorc3luIG1hdGNoIGVybGFuZ1R5cGUgICAgICAnLVwlKFxzXHxcblx8JS4qXG5cKSpcJShzcGVjXHx0eXBlXHxvcGFxdWVcfGNhbGxiYWNrXClcPicgY29udGFpbnM9ZXJsYW5nQ29tbWVudAogCiAiIEtleXdvcmRzCi1zeW4ga2V5d29yZCBlcmxhbmdLZXl3b3JkICAgICAgICAgICBhZnRlciBiZWdpbiBjYXNlIGNhdGNoIGNvbmQgZW5kIGZ1biBpZiBsZXQgb2YgcXVlcnkgcmVjZWl2ZSB3aGVuIHRyeQotc3luIGtleXdvcmQgZXJsYW5nRXh0cmEgICAgICAgICAgICAgdHJ1ZSBmYWxzZQorc3luIGtleXdvcmQgZXJsYW5nS2V5d29yZCBhZnRlciBiZWdpbiBjYXNlIGNhdGNoIGNvbmQgZW5kIGZ1biBpZiBsZXQgb2YgcXVlcnkKK3N5biBrZXl3b3JkIGVybGFuZ0tleXdvcmQgcmVjZWl2ZSB3aGVuIHRyeQogCi0KLWlmICFleGlzdHMoImc6ZXJsYW5nX2hpZ2hsaWdodF9iaWZzIikgfHwgZzplcmxhbmdfaGlnaGxpZ2h0X2JpZnMgPT0gMQotCi0gICIgYnVpbGQtaW4tZnVuY3Rpb25zIChCSUZzKQotICBzeW4ga2V5d29yZCBlcmxhbmdCSUYgICAgICAgIGFicyBhbGl2ZSBhcHBseSBhdG9tX3RvX2JpbmFyeSBhdG9tX3RvX2xpc3QgYmluYXJ5X3BhcnQgYmluYXJ5X3RvX2F0b20gYmluYXJ5X3RvX2V4aXN0aW5nX2F0b20gYmluYXJ5X3RvX2Zsb2F0IGJpbmFyeV90b19pbnRlZ2VyIGJpdHN0cmluZ190b19saXN0IGJpbmFyeV90b19saXN0IGJpbmFyeV90b190ZXJtIGJpdF9zaXplIGJ5dGVfc2l6ZSBjaGVja19vbGRfY29kZSBjaGVja19wcm9jZXNzX2NvZGUgY29uY2F0X2JpbmFyeSBkYXRlIGRlbGV0ZV9tb2R1bGUgZGVtb25pdG9yIGRpc2Nvbm5lY3Rfbm9kZSBlbGVtZW50IGVyYXNlIGVycm9yIGV4aXQgZmxvYXQgZmxvYXRfdG9fYmluYXJ5IGZsb2F0X3RvX2xpc3QgZ2FyYmFnZV9jb2xsZWN0IGdldCBnZXRfa2V5cyBncm91cF9sZWFkZXIgaGFsdCBoZCBpbnRlZ2VyX3RvX2JpbmFyeSBpbnRlZ2VyX3RvX2xpc3QgaW9saXN0X3RvX2JpbmFyeSBpb2xpc3Rfc2l6ZSBpc19hbGl2ZSBpc19hdG9tIGlzX2JpbmFyeSBpc19iaXRzdHJpbmcgaXNfYm9vbGVhbiBpc19mbG9hdCBpc19mdW5jdGlvbiBpc19pbnRlZ2VyIGlzX2xpc3QgaXNfbnVtYmVyIGlzX3BpZCBpc19wb3J0IGlzX3Byb2Nlc3NfYWxpdmUgaXNfcmVjb3JkIGlzX3JlZmVyZW5jZSBpc190dXBsZSBsZW5ndGggbGluayBsaXN0X3RvX2F0b20gbGlzdF90b19iaW5hcnkgbGlzdF90b19iaXRzdHJpbmcgbGlzdF90b19leGlzdGluZ19hdG9tIGxpc3RfdG9fZmxvYXQgbGlzdF90b19pbnRlZ2VyIGxpc3RfdG9fcGlkIGxpc3RfdG9fdHVwbGUgbG9hZF9tb2R1bGUgbWFrZV9yZWYgbWF4IG1pbiBtb2R1bGVfbG9hZGVkIG1vbml0b3IgbW9uaXRvcl9ub2RlIG5vZGUgbm9kZXMgbm93IG9wZW5fcG9ydCBwaWRfdG9fbGlzdCBwb3J0X2Nsb3NlIHBvcnRfY29tbWFuZCBwb3J0X2Nvbm5lY3QgcHJlX2xvYWRlZCBwcm9jZXNzX2ZsYWcgcHJvY2Vzc19mbGFnIHByb2Nlc3NfaW5mbyBwcm9jZXNzIHB1cmdlX21vZHVsZSBwdXQgcmVnaXN0ZXIgcmVnaXN0ZXJlZCByb3VuZCBzZWxmIHNldGVsZW1lbnQgc2l6ZSBzcGF3biBzcGF3bl9saW5rIHNwYXduX21vbml0b3Igc3Bhd25fb3B0IHNwbGl0X2JpbmFyeSBzdGF0aXN0aWNzIHRlcm1fdG9fYmluYXJ5IHRocm93IHRpbWUgdGwgdHJ1bmMgdHVwbGVfc2l6ZSB0dXBsZV90b19saXN0IHVubGluayB1bnJlZ2lzdGVyIHdoZXJlaXMKLQotZW5kaWYKLQotCi1pZiBleGlzdHMoImc6ZXJsYW5nX2hpZ2hsaWdodF9zcGVjaWFsX2F0b21zIikgJiYgZzplcmxhbmdfaGlnaGxpZ2h0X3NwZWNpYWxfYXRvbXMgPT0gMQotCi0gICIgUHJvY2Vzc2VzCi0gIHN5biBrZXl3b3JkIGVybGFuZ1Byb2Nlc3MgICAgY3JlYXRpb24gY3VycmVudF9mdW5jdGlvbiBkaWN0aW9uYXJ5Ci0gIHN5biBrZXl3b3JkIGVybGFuZ1Byb2Nlc3MgICAgZ3JvdXBfbGVhZGVyIGhlYXBfc2l6ZSBoaWdoIGluaXRpYWxfY2FsbAotICBzeW4ga2V5d29yZCBlcmxhbmdQcm9jZXNzICAgIGxpbmtlZCBsb3cgbWVtb3J5X2luX3VzZSBtZXNzYWdlX3F1ZXVlCi0gIHN5biBrZXl3b3JkIGVybGFuZ1Byb2Nlc3MgICAgbmV0X2tlcm5lbCBub2RlIG5vcm1hbCBwcmlvcml0eQotICBzeW4ga2V5d29yZCBlcmxhbmdQcm9jZXNzICAgIHJlZHVjdGlvbnMgcmVnaXN0ZXJlZF9uYW1lIHJ1bm5hYmxlCi0gIHN5biBrZXl3b3JkIGVybGFuZ1Byb2Nlc3MgICAgcnVubmluZyBzdGFja190cmFjZSBzdGF0dXMgdGltZXIKLSAgc3luIGtleXdvcmQgZXJsYW5nUHJvY2VzcyAgICB0cmFwX2V4aXQgd2FpdGluZwotCi0gICIgUG9ydHMKLSAgc3luIGtleXdvcmQgZXJsYW5nUG9ydCAgICAgICBjb21tYW5kIGNvdW50X2luIGNvdW50X291dCBjcmVhdGlvbiBpbgotICBzeW4ga2V5d29yZCBlcmxhbmdQb3J0ICAgICAgIGluX2Zvcm1hdCBsaW5rZWQgbm9kZSBvdXQgb3duZXIgcGFja2V0aW5nCi0KLSAgIiBOb2RlcwotICBzeW4ga2V5d29yZCBlcmxhbmdOb2RlICAgICAgIGF0b21fdGFibGVzIGNvbW11bmljYXRpbmcgY3JlYXRpb24KLSAgc3luIGtleXdvcmQgZXJsYW5nTm9kZSAgICAgICBjdXJyZW50X2djIGN1cnJlbnRfcmVkdWN0aW9ucyBjdXJyZW50X3J1bnRpbWUKLSAgc3luIGtleXdvcmQgZXJsYW5nTm9kZSAgICAgICBjdXJyZW50X3dhbGxfY2xvY2sgZGlzdHJpYnV0aW9uX3BvcnQKLSAgc3luIGtleXdvcmQgZXJsYW5nTm9kZSAgICAgICBlbnRyeV9wb2ludHMgZXJyb3JfaGFuZGxlciBmcmllbmRzCi0gIHN5biBrZXl3b3JkIGVybGFuZ05vZGUgICAgICAgZ2FyYmFnZV9jb2xsZWN0aW9uIG1hZ2ljX2Nvb2tpZSBtYWdpY19jb29raWVzCi0gIHN5biBrZXl3b3JkIGVybGFuZ05vZGUgICAgICAgbW9kdWxlX3RhYmxlIG1vbml0b3JlZF9ub2RlcyBuYW1lIG5leHRfcmVmCi0gIHN5biBrZXl3b3JkIGVybGFuZ05vZGUgICAgICAgcG9ydHMgcHJlbG9hZGVkIHByb2Nlc3NlcyByZWR1Y3Rpb25zCi0gIHN5biBrZXl3b3JkIGVybGFuZ05vZGUgICAgICAgcmVmX3N0YXRlIHJlZ2lzdHJ5IHJ1bnRpbWUgd2FsbF9jbG9jawotCi0gICIgUmVzZXJ2ZWQKLSAgc3luIGtleXdvcmQgZXJsYW5nUmVzZXJ2ZWQgICBhcHBseV9sYW1iZGEgbW9kdWxlX2luZm8gbW9kdWxlX2xhbWJkYXMKLSAgc3luIGtleXdvcmQgZXJsYW5nUmVzZXJ2ZWQgICByZWNvcmQgcmVjb3JkX2luZGV4IHJlY29yZF9pbmZvCi0KLSAgIiBFeHRyYXMKLSAgc3luIGtleXdvcmQgZXJsYW5nRXh0cmEgICAgICBiYWRhcmcgbm9jb29raWUKLQotICAiIFNpZ25hbHMKLSAgc3luIGtleXdvcmQgZXJsYW5nU2lnbmFsICAgICBiYWRzaWcga2lsbCBraWxsZWQgZXhpdCBub3JtYWwKLWVuZGlmCisiIEJ1aWxkLWluLWZ1bmN0aW9ucyAoQklGcykKK3N5biBrZXl3b3JkIGVybGFuZ0JJRiBhYnMgYWxpdmUgYXBwbHkgYXRvbV90b19iaW5hcnkgYXRvbV90b19saXN0IGNvbnRhaW5lZAorc3luIGtleXdvcmQgZXJsYW5nQklGIGJpbmFyeV9wYXJ0IGJpbmFyeV90b19hdG9tIGNvbnRhaW5lZAorc3luIGtleXdvcmQgZXJsYW5nQklGIGJpbmFyeV90b19leGlzdGluZ19hdG9tIGJpbmFyeV90b19mbG9hdCBjb250YWluZWQKK3N5biBrZXl3b3JkIGVybGFuZ0JJRiBiaW5hcnlfdG9faW50ZWdlciBiaXRzdHJpbmdfdG9fbGlzdCBjb250YWluZWQKK3N5biBrZXl3b3JkIGVybGFuZ0JJRiBiaW5hcnlfdG9fbGlzdCBiaW5hcnlfdG9fdGVybSBiaXRfc2l6ZSBjb250YWluZWQKK3N5biBrZXl3b3JkIGVybGFuZ0JJRiBieXRlX3NpemUgY2hlY2tfb2xkX2NvZGUgY2hlY2tfcHJvY2Vzc19jb2RlIGNvbnRhaW5lZAorc3luIGtleXdvcmQgZXJsYW5nQklGIGNvbmNhdF9iaW5hcnkgZGF0ZSBkZWxldGVfbW9kdWxlIGRlbW9uaXRvciBjb250YWluZWQKK3N5biBrZXl3b3JkIGVybGFuZ0JJRiBkaXNjb25uZWN0X25vZGUgZWxlbWVudCBlcmFzZSBlcnJvciBleGl0IGNvbnRhaW5lZAorc3luIGtleXdvcmQgZXJsYW5nQklGIGZsb2F0IGZsb2F0X3RvX2JpbmFyeSBmbG9hdF90b19saXN0IGNvbnRhaW5lZAorc3luIGtleXdvcmQgZXJsYW5nQklGIGdhcmJhZ2VfY29sbGVjdCBnZXQgZ2V0X2tleXMgZ3JvdXBfbGVhZGVyIGNvbnRhaW5lZAorc3luIGtleXdvcmQgZXJsYW5nQklGIGhhbHQgaGQgaW50ZWdlcl90b19iaW5hcnkgaW50ZWdlcl90b19saXN0IGNvbnRhaW5lZAorc3luIGtleXdvcmQgZXJsYW5nQklGIGlvbGlzdF90b19iaW5hcnkgaW9saXN0X3NpemUgaXNfYWxpdmUgY29udGFpbmVkCitzeW4ga2V5d29yZCBlcmxhbmdCSUYgaXNfYXRvbSBpc19iaW5hcnkgaXNfYml0c3RyaW5nIGlzX2Jvb2xlYW4gY29udGFpbmVkCitzeW4ga2V5d29yZCBlcmxhbmdCSUYgaXNfZmxvYXQgaXNfZnVuY3Rpb24gaXNfaW50ZWdlciBpc19saXN0IGNvbnRhaW5lZAorc3luIGtleXdvcmQgZXJsYW5nQklGIGlzX251bWJlciBpc19waWQgaXNfcG9ydCBpc19wcm9jZXNzX2FsaXZlIGNvbnRhaW5lZAorc3luIGtleXdvcmQgZXJsYW5nQklGIGlzX3JlY29yZCBpc19yZWZlcmVuY2UgaXNfdHVwbGUgbGVuZ3RoIGxpbmsgY29udGFpbmVkCitzeW4ga2V5d29yZCBlcmxhbmdCSUYgbGlzdF90b19hdG9tIGxpc3RfdG9fYmluYXJ5IGNvbnRhaW5lZAorc3luIGtleXdvcmQgZXJsYW5nQklGIGxpc3RfdG9fYml0c3RyaW5nIGxpc3RfdG9fZXhpc3RpbmdfYXRvbSBjb250YWluZWQKK3N5biBrZXl3b3JkIGVybGFuZ0JJRiBsaXN0X3RvX2Zsb2F0IGxpc3RfdG9faW50ZWdlciBsaXN0X3RvX3BpZCBjb250YWluZWQKK3N5biBrZXl3b3JkIGVybGFuZ0JJRiBsaXN0X3RvX3R1cGxlIGxvYWRfbW9kdWxlIG1ha2VfcmVmIG1heCBtaW4gY29udGFpbmVkCitzeW4ga2V5d29yZCBlcmxhbmdCSUYgbW9kdWxlX2xvYWRlZCBtb25pdG9yIG1vbml0b3Jfbm9kZSBub2RlIGNvbnRhaW5lZAorc3luIGtleXdvcmQgZXJsYW5nQklGIG5vZGVzIG5vdyBvcGVuX3BvcnQgcGlkX3RvX2xpc3QgcG9ydF9jbG9zZSBjb250YWluZWQKK3N5biBrZXl3b3JkIGVybGFuZ0JJRiBwb3J0X2NvbW1hbmQgcG9ydF9jb25uZWN0IHByZV9sb2FkZWQgY29udGFpbmVkCitzeW4ga2V5d29yZCBlcmxhbmdCSUYgcHJvY2Vzc19mbGFnIHByb2Nlc3NfZmxhZyBwcm9jZXNzX2luZm8gY29udGFpbmVkCitzeW4ga2V5d29yZCBlcmxhbmdCSUYgcHJvY2VzcyBwdXJnZV9tb2R1bGUgcHV0IHJlZ2lzdGVyIHJlZ2lzdGVyZWQgY29udGFpbmVkCitzeW4ga2V5d29yZCBlcmxhbmdCSUYgcm91bmQgc2VsZiBzZXRlbGVtZW50IHNpemUgc3Bhd24gc3Bhd25fbGluayBjb250YWluZWQKK3N5biBrZXl3b3JkIGVybGFuZ0JJRiBzcGF3bl9tb25pdG9yIHNwYXduX29wdCBzcGxpdF9iaW5hcnkgY29udGFpbmVkCitzeW4ga2V5d29yZCBlcmxhbmdCSUYgc3RhdGlzdGljcyB0ZXJtX3RvX2JpbmFyeSB0aHJvdyB0aW1lIHRsIGNvbnRhaW5lZAorc3luIGtleXdvcmQgZXJsYW5nQklGIHRydW5jIHR1cGxlX3NpemUgdHVwbGVfdG9fbGlzdCB1bmxpbmsgY29udGFpbmVkCitzeW4ga2V5d29yZCBlcmxhbmdCSUYgdW5yZWdpc3RlciB3aGVyZWlzIGNvbnRhaW5lZAogCiAiIFN5bmMgYXQgdGhlIGJlZ2lubmluZyBvZiBmdW5jdGlvbnM6IGlmIHRoaXMgaXMgbm90IHVzZWQsIG11bHRpbGluZSBzdHJpbmcKLSIgYXJlIG5vdCBhbHdheXMgcmVjb2duaXplZAorIiBhcmUgbm90IGFsd2F5cyByZWNvZ25pemVkLCBhbmQgdGhlIGluZGVudGF0aW9uIHNjcmlwdCBjYW5ub3QgdXNlIHRoZQorIiAic2VhcmNocGFpciIgKGJlY2F1c2UgaXQgd291bGQgbm90IGFsd2F5cyBza2lwIHN0cmluZ3MgYW5kIGNvbW1lbnRzIHdoZW4KKyIgbG9va2luZyBmb3Iga2V5d29yZHMgYW5kIG9wZW5pbmcgcGFyZW5zL2JyYWNrZXRzKS4KIHN5biBzeW5jIG1hdGNoIGVybGFuZ1N5bmMgZ3JvdXBoZXJlIE5PTkUgIl5bYS16XVxzKigiCitsZXQgYjplcmxhbmdfc3ludGF4X3N5bmNlZCA9IDEKIAotIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgorIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLiBTZWUgIjpoZWxwIGdyb3VwLW5hbWUiIGZvciB0aGUgZ3JvdXBzIGFuZAorIiB0aGVpciBjb2xvcnMuCisKK2xldCBzOm9sZF9zdHlsZSA9IChleGlzdHMoImc6ZXJsYW5nX29sZF9zdHlsZV9oaWdobGlnaHQiKSAmJiBnOmVybGFuZ19vbGRfc3R5bGVfaGlnaGxpZ2h0ID09IDEpCisKICIgRm9yIHZlcnNpb24gNS43IGFuZCBlYXJsaWVyOiBvbmx5IHdoZW4gbm90IGRvbmUgYWxyZWFkeQogIiBGb3IgdmVyc2lvbiA1LjggYW5kIGxhdGVyOiBvbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAotaWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cyAoImRpZF9lcmxhbmdfaW5pdHMiKQoraWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX2VybGFuZ19pbml0cyIpCiAgIGlmIHZlcnNpb24gPCA1MDgKICAgICBsZXQgZGlkX2VybGFuZ19pbml0cyA9IDEKICAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgpAQCAtMTMwLDQ2ICsxNTMsMTA2IEBACiAgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CiAgIGVuZGlmCiAKLSAgIiBlcmxhbmdfY2hhcmFjdGVycworICAiIENvbW1lbnRzCiAgIEhpTGluayBlcmxhbmdDb21tZW50IENvbW1lbnQKICAgSGlMaW5rIGVybGFuZ0NvbW1lbnRBbm5vdGF0aW9uIFNwZWNpYWwKICAgSGlMaW5rIGVybGFuZ1RvZG8gVG9kbwotICBIaUxpbmsgZXJsYW5nU2VwYXJhdG9yIE5vcm1hbAotICBIaUxpbmsgZXJsYW5nT3BlcmF0b3IgT3BlcmF0b3IKLSAgSGlMaW5rIGVybGFuZ1JpZ2h0QXJyb3cgT3BlcmF0b3IKKyAgSGlMaW5rIGVybGFuZ1NoZWJhbmcgQ29tbWVudAogCi0gIEhpTGluayBlcmxhbmdTdGFydFN0cmluZyBTdHJpbmcKLSAgSGlMaW5rIGVybGFuZ1N0cmluZyBTdHJpbmcKLSAgSGlMaW5rIGVybGFuZ1N0cmluZ01vZGlmaWVyIFNwZWNpYWwKLQotICBIaUxpbmsgZXJsYW5nU3RhcnRRdW90ZWRBdG9tIFR5cGUKLSAgSGlMaW5rIGVybGFuZ1F1b3RlZEF0b20gVHlwZQotICBIaUxpbmsgZXJsYW5nUXVvdGVkQXRvbU1vZGlmaWVyIFNwZWNpYWwKLQorICAiIE51bWJlcnMKICAgSGlMaW5rIGVybGFuZ051bWJlckludGVnZXIgTnVtYmVyCiAgIEhpTGluayBlcmxhbmdOdW1iZXJGbG9hdCBGbG9hdAotICBIaUxpbmsgZXJsYW5nTnVtYmVySGV4IE51bWJlcgogCisgICIgU3RyaW5ncywgYXRvbXMsIGNoYXJhY3RlcnMKKyAgSGlMaW5rIGVybGFuZ1N0cmluZyBTdHJpbmcKKworICBpZiBzOm9sZF9zdHlsZQorICAgIEhpTGluayBlcmxhbmdRdW90ZWRBdG9tIFR5cGUKKyAgZWxzZQorICAgIEhpTGluayBlcmxhbmdRdW90ZWRBdG9tIFN0cmluZworICBlbmRpZgorCisgIEhpTGluayBlcmxhbmdTdHJpbmdNb2RpZmllciBTcGVjaWFsCisgIEhpTGluayBlcmxhbmdRdW90ZWRBdG9tTW9kaWZpZXIgU3BlY2lhbAogICBIaUxpbmsgZXJsYW5nTW9kaWZpZXIgU3BlY2lhbAogCi0gICIgZXJsYW5nX2Z1bmN0aW9ucwotICBIaUxpbmsgZXJsYW5nRkNhbGwgRnVuY3Rpb24KKyAgIiBPcGVyYXRvcnMsIHNlcGFyYXRvcnMKKyAgSGlMaW5rIGVybGFuZ09wZXJhdG9yIE9wZXJhdG9yCisgIEhpTGluayBlcmxhbmdSaWdodEFycm93IE9wZXJhdG9yCisgIGlmIHM6b2xkX3N0eWxlCisgICAgSGlMaW5rIGVybGFuZ0JyYWNrZXQgTm9ybWFsCisgICAgSGlMaW5rIGVybGFuZ1BpcGUgTm9ybWFsCisgIGVsc2UKKyAgICBIaUxpbmsgZXJsYW5nQnJhY2tldCBEZWxpbWl0ZXIKKyAgICBIaUxpbmsgZXJsYW5nUGlwZSBEZWxpbWl0ZXIKKyAgZW5kaWYKKworICAiIEF0b21zLCBmdW5jdGlvbnMsIHZhcmlhYmxlcywgbWFjcm9zCisgIGlmIHM6b2xkX3N0eWxlCisgICAgSGlMaW5rIGVybGFuZ0F0b20gTm9ybWFsCisgICAgSGlMaW5rIGVybGFuZ0xvY2FsRnVuY0NhbGwgTm9ybWFsCisgICAgSGlMaW5rIGVybGFuZ0xvY2FsRnVuY1JlZiBOb3JtYWwKKyAgICBIaUxpbmsgZXJsYW5nR2xvYmFsRnVuY0NhbGwgRnVuY3Rpb24KKyAgICBIaUxpbmsgZXJsYW5nR2xvYmFsRnVuY1JlZiBGdW5jdGlvbgorICAgIEhpTGluayBlcmxhbmdWYXJpYWJsZSBOb3JtYWwKKyAgICBIaUxpbmsgZXJsYW5nTWFjcm8gTm9ybWFsCisgICAgSGlMaW5rIGVybGFuZ1JlY29yZCBOb3JtYWwKKyAgZWxzZQorICAgIEhpTGluayBlcmxhbmdBdG9tIFN0cmluZworICAgIEhpTGluayBlcmxhbmdMb2NhbEZ1bmNDYWxsIE5vcm1hbAorICAgIEhpTGluayBlcmxhbmdMb2NhbEZ1bmNSZWYgTm9ybWFsCisgICAgSGlMaW5rIGVybGFuZ0dsb2JhbEZ1bmNDYWxsIE5vcm1hbAorICAgIEhpTGluayBlcmxhbmdHbG9iYWxGdW5jUmVmIE5vcm1hbAorICAgIEhpTGluayBlcmxhbmdWYXJpYWJsZSBJZGVudGlmaWVyCisgICAgSGlMaW5rIGVybGFuZ01hY3JvIE1hY3JvCisgICAgSGlMaW5rIGVybGFuZ1JlY29yZCBTdHJ1Y3R1cmUKKyAgZW5kaWYKKworICAiIEJpdHN0cmluZ3MKKyAgaWYgIXM6b2xkX3N0eWxlCisgICAgSGlMaW5rIGVybGFuZ0JpdFR5cGUgVHlwZQorICBlbmRpZgorCisgICIgQ29uc3RhbnRzIGFuZCBEaXJlY3RpdmVzCisgIGlmIHM6b2xkX3N0eWxlCisgICAgSGlMaW5rIGVybGFuZ0F0dHJpYnV0ZSBUeXBlCisgICAgSGlMaW5rIGVybGFuZ01hY3JvRGVmIFR5cGUKKyAgICBIaUxpbmsgZXJsYW5nVW5rbm93bkF0dHJpYnV0ZSBOb3JtYWwKKyAgICBIaUxpbmsgZXJsYW5nSW5jbHVkZSBUeXBlCisgICAgSGlMaW5rIGVybGFuZ1JlY29yZERlZiBUeXBlCisgICAgSGlMaW5rIGVybGFuZ0RlZmluZSBUeXBlCisgICAgSGlMaW5rIGVybGFuZ1ByZUNvbmRpdCBUeXBlCisgICAgSGlMaW5rIGVybGFuZ1R5cGUgVHlwZQorICBlbHNlCisgICAgSGlMaW5rIGVybGFuZ0F0dHJpYnV0ZSBLZXl3b3JkCisgICAgSGlMaW5rIGVybGFuZ01hY3JvRGVmIE1hY3JvCisgICAgSGlMaW5rIGVybGFuZ1Vua25vd25BdHRyaWJ1dGUgTm9ybWFsCisgICAgSGlMaW5rIGVybGFuZ0luY2x1ZGUgSW5jbHVkZQorICAgIEhpTGluayBlcmxhbmdSZWNvcmREZWYgS2V5d29yZAorICAgIEhpTGluayBlcmxhbmdEZWZpbmUgRGVmaW5lCisgICAgSGlMaW5rIGVybGFuZ1ByZUNvbmRpdCBQcmVDb25kaXQKKyAgICBIaUxpbmsgZXJsYW5nVHlwZSBUeXBlCisgIGVuZGlmCisKKyAgIiBLZXl3b3JkcworICBIaUxpbmsgZXJsYW5nS2V5d29yZCBLZXl3b3JkCisKKyAgIiBCdWlsZC1pbi1mdW5jdGlvbnMgKEJJRnMpCiAgIEhpTGluayBlcmxhbmdCSUYgRnVuY3Rpb24KIAotICAiIGVybGFuZ19rZXl3b3JkcwotICBIaUxpbmsgZXJsYW5nRGlyZWN0aXZlIFR5cGUKLSAgSGlMaW5rIGVybGFuZ0tleXdvcmQgS2V5d29yZAotICBIaUxpbmsgZXJsYW5nUHJvY2VzcyBTcGVjaWFsCi0gIEhpTGluayBlcmxhbmdQb3J0IFNwZWNpYWwKLSAgSGlMaW5rIGVybGFuZ05vZGUgU3BlY2lhbAotICBIaUxpbmsgZXJsYW5nUmVzZXJ2ZWQgU3RhdGVtZW50Ci0gIEhpTGluayBlcmxhbmdFeHRyYSBTdGF0ZW1lbnQKLSAgSGlMaW5rIGVybGFuZ1NpZ25hbCBTdGF0ZW1lbnQKKyAgaWYgczpvbGRfc3R5bGUKKyAgICBIaUxpbmsgZXJsYW5nQm9vbGVhbiBTdGF0ZW1lbnQKKyAgICBIaUxpbmsgZXJsYW5nRXh0cmEgU3RhdGVtZW50CisgICAgSGlMaW5rIGVybGFuZ1NpZ25hbCBTdGF0ZW1lbnQKKyAgZWxzZQorICAgIEhpTGluayBlcmxhbmdCb29sZWFuIEJvb2xlYW4KKyAgICBIaUxpbmsgZXJsYW5nRXh0cmEgU3RhdGVtZW50CisgICAgSGlMaW5rIGVybGFuZ1NpZ25hbCBTdGF0ZW1lbnQKKyAgZW5kaWYKIAogICBkZWxjb21tYW5kIEhpTGluawogZW5kaWYKIAotCiBsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJlcmxhbmciCiAKICIgdmltOiBzdz0yIGV0CmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9mYWxjb24udmltIGIvcnVudGltZS9zeW50YXgvZmFsY29uLnZpbQppbmRleCAwZmY1MDBjLi4xZjZmZWZhIDEwMDY0NAotLS0gYS9ydW50aW1lL3N5bnRheC9mYWxjb24udmltCisrKyBiL3J1bnRpbWUvc3ludGF4L2ZhbGNvbi52aW0KQEAgLTMsOCArMyw4IEBACiAiIE1haW50YWluZXI6ICAgU3RldmVuIE9saXZlciA8b2xpdmVyLnN0ZXZlbkBnbWFpbC5jb20+CiAiIFdlYnNpdGU6ICAgICAgaHR0cDovL2dpdGh1Yi5jb20vc3RldmVuby92aW0tZmlsZXMvYmxvYi9tYXN0ZXIvc3ludGF4L2ZhbGNvbi52aW0KICIgQ3JlZGl0czogICAgICBUaGFua3MgdGhlIHJ1YnkudmltIGF1dGhvcnMsIEkgYm9ycm93ZWQgYSBsb3QhCisiICAgICAgICAgICAgICAgVGhhbmtzIHRvIHRoZSBsaXNwIGF1dGhvcnMgZm9yIHRoZSByYWluYm93IGNvZGUhCiAiIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSIgR2V0TGF0ZXN0VmltU2NyaXB0czogMjc0NSAxIDpBdXRvSW5zdGFsbDogZmFsY29uLnZpbQogCiAiIFdoZW4gd2FudGVkLCBoaWdobGlnaHQgdGhlIHRyYWlsaW5nIHdoaXRlc3BhY2UuCiBpZiBleGlzdHMoImNfc3BhY2VfZXJyb3JzIikKQEAgLTU2LDYgKzU2LDcgQEAKIAogIiBDb25zdGFudHMKIHN5biBrZXl3b3JkIGZhbGNvbkNvbnN0IFBJIEUgbmlsCitzeW4gbWF0Y2ggICBmYWxjb25Db25zdGFudCAgIlwlKFwlKFsuQCRdXEA8IVwuXClcQDwhXDxcfDo6XClcX3MqXHpzXHVcdypcJShcPlx8OjpcKVxAPVwlKFxzKihcKVxAISIKIAogIiBDb21tZW50cwogc3luIG1hdGNoIGZhbGNvbkNvbW1lbnRTa2lwIGNvbnRhaW5lZCAiXlxzKlwqXCgkXHxcc1wrXCkiCkBAIC0xMTYsNiArMTE3LDQ3IEBACiBzeW4gcmVnaW9uIGZhbGNvblN0cmluZyBzdGFydD0rXCUoXCUoY2xhc3NccypcfFwlKFtdfSkuXVx8OjpcKVwpXF9zKlx8XHdcKVxAPCE8PC0nXHooW14nXSpcKSdcemUraHM9cyszICBtYXRjaGdyb3VwPWZhbGNvblN0cmluZ0RlbGltaXRlciBlbmQ9K15ccypcenNcejEkKyBmb2xkIGtlZXBlbmQKIHN5biByZWdpb24gZmFsY29uU3RyaW5nIHN0YXJ0PStcJShcJShjbGFzc1xzKlx8XCUoW119KS5dXHw6OlwpXClcX3MqXHxcd1wpXEA8ITw8LWBceihbXmBdKlwpYFx6ZStocz1zKzMgIG1hdGNoZ3JvdXA9ZmFsY29uU3RyaW5nRGVsaW1pdGVyIGVuZD0rXlxzKlx6c1x6MSQrIGNvbnRhaW5zPWZhbGNvblN0cmluZ0VzY2FwZSBmb2xkIGtlZXBlbmQKIAorIiBGYWxjb24gcmFpbmJveCB0byBoaWdobGlnaHQgcGFyZW5zIGluIHZhcnlpbmcgY29sb3JzCitpZiBleGlzdHMoImc6ZmFsY29uX3JhaW5ib3ciKSAmJiBnOmZhbGNvbl9yYWluYm93ICE9IDAKKyAgICBzeW4gcmVnaW9uIGZhbGNvblBhcmVuMCAgICAgICAgICAgbWF0Y2hncm91cD1obExldmVsMCBzdGFydD0iYFw9KCIgZW5kPSIpIiBza2lwPSJ8Llx7LX18IiBjb250YWlucz1AZmFsY29uTGlzdENsdXN0ZXIsZmFsY29uUGFyZW4xCisgICAgc3luIHJlZ2lvbiBmYWxjb25QYXJlbjEgY29udGFpbmVkIG1hdGNoZ3JvdXA9aGxMZXZlbDEgc3RhcnQ9ImBcPSgiIGVuZD0iKSIgc2tpcD0ifC5cey19fCIgY29udGFpbnM9QGZhbGNvbkxpc3RDbHVzdGVyLGZhbGNvblBhcmVuMgorICAgIHN5biByZWdpb24gZmFsY29uUGFyZW4yIGNvbnRhaW5lZCBtYXRjaGdyb3VwPWhsTGV2ZWwyIHN0YXJ0PSJgXD0oIiBlbmQ9IikiIHNraXA9InwuXHstfXwiIGNvbnRhaW5zPUBmYWxjb25MaXN0Q2x1c3RlcixmYWxjb25QYXJlbjMKKyAgICBzeW4gcmVnaW9uIGZhbGNvblBhcmVuMyBjb250YWluZWQgbWF0Y2hncm91cD1obExldmVsMyBzdGFydD0iYFw9KCIgZW5kPSIpIiBza2lwPSJ8Llx7LX18IiBjb250YWlucz1AZmFsY29uTGlzdENsdXN0ZXIsZmFsY29uUGFyZW40CisgICAgc3luIHJlZ2lvbiBmYWxjb25QYXJlbjQgY29udGFpbmVkIG1hdGNoZ3JvdXA9aGxMZXZlbDQgc3RhcnQ9ImBcPSgiIGVuZD0iKSIgc2tpcD0ifC5cey19fCIgY29udGFpbnM9QGZhbGNvbkxpc3RDbHVzdGVyLGZhbGNvblBhcmVuNQorICAgIHN5biByZWdpb24gZmFsY29uUGFyZW41IGNvbnRhaW5lZCBtYXRjaGdyb3VwPWhsTGV2ZWw1IHN0YXJ0PSJgXD0oIiBlbmQ9IikiIHNraXA9InwuXHstfXwiIGNvbnRhaW5zPUBmYWxjb25MaXN0Q2x1c3RlcixmYWxjb25QYXJlbjYKKyAgICBzeW4gcmVnaW9uIGZhbGNvblBhcmVuNiBjb250YWluZWQgbWF0Y2hncm91cD1obExldmVsNiBzdGFydD0iYFw9KCIgZW5kPSIpIiBza2lwPSJ8Llx7LX18IiBjb250YWlucz1AZmFsY29uTGlzdENsdXN0ZXIsZmFsY29uUGFyZW43CisgICAgc3luIHJlZ2lvbiBmYWxjb25QYXJlbjcgY29udGFpbmVkIG1hdGNoZ3JvdXA9aGxMZXZlbDcgc3RhcnQ9ImBcPSgiIGVuZD0iKSIgc2tpcD0ifC5cey19fCIgY29udGFpbnM9QGZhbGNvbkxpc3RDbHVzdGVyLGZhbGNvblBhcmVuOAorICAgIHN5biByZWdpb24gZmFsY29uUGFyZW44IGNvbnRhaW5lZCBtYXRjaGdyb3VwPWhsTGV2ZWw4IHN0YXJ0PSJgXD0oIiBlbmQ9IikiIHNraXA9InwuXHstfXwiIGNvbnRhaW5zPUBmYWxjb25MaXN0Q2x1c3RlcixmYWxjb25QYXJlbjkKKyAgICBzeW4gcmVnaW9uIGZhbGNvblBhcmVuOSBjb250YWluZWQgbWF0Y2hncm91cD1obExldmVsOSBzdGFydD0iYFw9KCIgZW5kPSIpIiBza2lwPSJ8Llx7LX18IiBjb250YWlucz1AZmFsY29uTGlzdENsdXN0ZXIsZmFsY29uUGFyZW4wCitlbmRpZgorCisiIFNldHVwIHRoZSBjb2xvcnMgZm9yIHRoZSByYWluYm94CitpZiBleGlzdHMoImc6ZmFsY29uX3JhaW5ib3ciKSAmJiBnOmZhbGNvbl9yYWluYm93ICE9IDAKKyAgICBpZiAmYmcgPT0gImRhcmsiCisgICAgICAgIGhpIGRlZiBobExldmVsMCBjdGVybWZnPXJlZCAgICAgICAgIGd1aWZnPXJlZDEKKyAgICAgICAgaGkgZGVmIGhsTGV2ZWwxIGN0ZXJtZmc9eWVsbG93ICAgICAgZ3VpZmc9b3JhbmdlMQorICAgICAgICBoaSBkZWYgaGxMZXZlbDIgY3Rlcm1mZz1ncmVlbiAgICAgICBndWlmZz15ZWxsb3cxCisgICAgICAgIGhpIGRlZiBobExldmVsMyBjdGVybWZnPWN5YW4gICAgICAgIGd1aWZnPWdyZWVueWVsbG93CisgICAgICAgIGhpIGRlZiBobExldmVsNCBjdGVybWZnPW1hZ2VudGEgICAgIGd1aWZnPWdyZWVuMQorICAgICAgICBoaSBkZWYgaGxMZXZlbDUgY3Rlcm1mZz1yZWQgICAgICAgICBndWlmZz1zcHJpbmdncmVlbjEKKyAgICAgICAgaGkgZGVmIGhsTGV2ZWw2IGN0ZXJtZmc9eWVsbG93ICAgICAgZ3VpZmc9Y3lhbjEKKyAgICAgICAgaGkgZGVmIGhsTGV2ZWw3IGN0ZXJtZmc9Z3JlZW4gICAgICAgZ3VpZmc9c2xhdGVibHVlMQorICAgICAgICBoaSBkZWYgaGxMZXZlbDggY3Rlcm1mZz1jeWFuICAgICAgICBndWlmZz1tYWdlbnRhMQorICAgICAgICBoaSBkZWYgaGxMZXZlbDkgY3Rlcm1mZz1tYWdlbnRhICAgICBndWlmZz1wdXJwbGUxCisgICAgZWxzZQorICAgICAgICBoaSBkZWYgaGxMZXZlbDAgY3Rlcm1mZz1yZWQgICAgICAgICBndWlmZz1yZWQzCisgICAgICAgIGhpIGRlZiBobExldmVsMSBjdGVybWZnPWRhcmt5ZWxsb3cgIGd1aWZnPW9yYW5nZXJlZDMKKyAgICAgICAgaGkgZGVmIGhsTGV2ZWwyIGN0ZXJtZmc9ZGFya2dyZWVuICAgZ3VpZmc9b3JhbmdlMgorICAgICAgICBoaSBkZWYgaGxMZXZlbDMgY3Rlcm1mZz1ibHVlICAgICAgICBndWlmZz15ZWxsb3czCisgICAgICAgIGhpIGRlZiBobExldmVsNCBjdGVybWZnPWRhcmttYWdlbnRhIGd1aWZnPW9saXZlZHJhYjQKKyAgICAgICAgaGkgZGVmIGhsTGV2ZWw1IGN0ZXJtZmc9cmVkICAgICAgICAgZ3VpZmc9Z3JlZW40CisgICAgICAgIGhpIGRlZiBobExldmVsNiBjdGVybWZnPWRhcmt5ZWxsb3cgIGd1aWZnPXBhbGV0dXJxdW9pc2UzCisgICAgICAgIGhpIGRlZiBobExldmVsNyBjdGVybWZnPWRhcmtncmVlbiAgIGd1aWZnPWRlZXBza3libHVlNAorICAgICAgICBoaSBkZWYgaGxMZXZlbDggY3Rlcm1mZz1ibHVlICAgICAgICBndWlmZz1kYXJrc2xhdGVibHVlCisgICAgICAgIGhpIGRlZiBobExldmVsOSBjdGVybWZnPWRhcmttYWdlbnRhIGd1aWZnPWRhcmt2aW9sZXQKKyAgICBlbmRpZgorZW5kaWYKKwogIiBTeW50YXggU3luY2hyb25pemluZwogc3luIHN5bmMgbWlubGluZXM9MTAgbWF4bGluZXM9MTAwCiAKQEAgLTEzMiw2ICsxNzQsNyBAQAogICAgIEhpTGluayBmYWxjb25Db21tZW50ICAgICAgICAgIENvbW1lbnQKICAgICBIaUxpbmsgZmFsY29uQ29tbWVudEwgICAgICAgICBDb21tZW50CiAgICAgSGlMaW5rIGZhbGNvbkNvbnN0ICAgICAgICAgICAgQ29uc3RhbnQKKyAgICBIaUxpbmsgZmFsY29uQ29uc3RhbnRzICAgICAgICBDb25zdGFudAogICAgIEhpTGluayBmYWxjb25PcGVyYXRvciAgICAgICAgIE9wZXJhdG9yCiAgICAgSGlMaW5rIGZhbGNvblN5bWJvbCAgICAgICAgICAgTm9ybWFsCiAgICAgSGlMaW5rIGZhbGNvblNwYWNlRXJyb3IgICAgICAgRXJyb3IKQEAgLTE1MywzICsxOTYsNCBAQAogbGV0IGI6Y3VycmVudF9zeW50YXggPSAiZmFsY29uIgogCiAiIHZpbTogc2V0IHN3PTQgc3RzPTQgZXQgdHc9ODAgOgorCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9oZWxwLnZpbSBiL3J1bnRpbWUvc3ludGF4L2hlbHAudmltCmluZGV4IDY4ZTBhMWEuLmVlNTU2M2UgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc3ludGF4L2hlbHAudmltCisrKyBiL3J1bnRpbWUvc3ludGF4L2hlbHAudmltCkBAIC0xLDcgKzEsNyBAQAogIiBWaW0gc3ludGF4IGZpbGUKICIgTGFuZ3VhZ2U6CVZpbSBoZWxwIGZpbGUKICIgTWFpbnRhaW5lcjoJQnJhbSBNb29sZW5hYXIgKEJyYW1AdmltLm9yZykKLSIgTGFzdCBDaGFuZ2U6CTIwMTMgQXByIDA3CisiIExhc3QgQ2hhbmdlOgkyMDEzIEp1biAwMgogCiAiIFF1aXQgd2hlbiBhIChjdXN0b20pIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAogaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L3IudmltIGIvcnVudGltZS9zeW50YXgvci52aW0KaW5kZXggZDkyZjVjNS4uNWU3NmU3YSAxMDA2NDQKLS0tIGEvcnVudGltZS9zeW50YXgvci52aW0KKysrIGIvcnVudGltZS9zeW50YXgvci52aW0KQEAgLTMsNyArMyw3IEBACiAiIE1haW50YWluZXI6CSAgICAgIEpha3NvbiBBcXVpbm8gPGphbHZlc2FxQGdtYWlsLmNvbT4KICIgRm9ybWVyIE1haW50YWluZXJzOiBWYWlkb3RhcyBaZW1seXMgPHplbWx5c0BnbWFpbC5jb20+CiAiIAkJICAgICAgVG9tIFBheW5lIDx0b21AdG9tcGF5bmUub3JnPgotIiBMYXN0IENoYW5nZToJICAgICAgU3VuIEZlYiAyMCwgMjAxMSAgMTI6MDZQTQorIiBMYXN0IENoYW5nZToJICAgICAgU3VuIE1heSAxOSwgMjAxMyAgMDU6NTlQTQogIiBGaWxlbmFtZXM6CSAgICAgICouUiAqLnIgKi5SaGlzdG9yeSAqLlJ0CiAiIAogIiBOT1RFOiBUaGUgaGlnaGxpZ2h0aW5nIG9mIFIgZnVuY3Rpb25zIGlzIGRlZmluZWQgaW4gdGhlCkBAIC0zMCw3ICszMCwxNiBAQAogc3luIGNhc2UgbWF0Y2gKIAogIiBDb21tZW50Ci1zeW4gbWF0Y2ggckNvbW1lbnQgY29udGFpbnM9QFNwZWxsICJcIy4qIgorc3luIG1hdGNoIHJDb21tZW50IGNvbnRhaW5zPUBTcGVsbCAiIy4qIgorCisiIFJveHlnZW4KK3N5biBtYXRjaCByT0tleXdvcmQgY29udGFpbmVkICJAXChwYXJhbVx8cmV0dXJuXHxuYW1lXHxyZG5hbWVcfGV4YW1wbGVzXHxpbmNsdWRlXHxkb2NUeXBlXCkiCitzeW4gbWF0Y2ggck9LZXl3b3JkIGNvbnRhaW5lZCAiQFwoUzNtZXRob2RcfFRPRE9cfGFsaWFzZXNcfGFsaWFzXHxhc3NpZ25lZVx8YXV0aG9yXHxjYWxsR3JhcGhEZXB0aFx8Y2FsbEdyYXBoXCkiCitzeW4gbWF0Y2ggck9LZXl3b3JkIGNvbnRhaW5lZCAiQFwoY2FsbEdyYXBoUHJpbWl0aXZlc1x8Y29uY2VwdFx8ZXhwb3J0Q2xhc3NcfGV4cG9ydE1ldGhvZFx8ZXhwb3J0UGF0dGVyblx8ZXhwb3J0XHxmb3JtYWxzXCkiCitzeW4gbWF0Y2ggck9LZXl3b3JkIGNvbnRhaW5lZCAiQFwoZm9ybWF0XHxpbXBvcnRDbGFzc2VzRnJvbVx8aW1wb3J0RnJvbVx8aW1wb3J0TWV0aG9kc0Zyb21cfGltcG9ydFx8a2V5d29yZHNcKSIKK3N5biBtYXRjaCByT0tleXdvcmQgY29udGFpbmVkICJAXChtZXRob2RcfG5vcmRcfG5vdGVcfHJlZmVyZW5jZXNcfHNlZWFsc29cfHNldENsYXNzXHxzbG90XHxzb3VyY2VcfHRpdGxlXHx1c2FnZVwpIgorc3luIG1hdGNoIHJPQ29tbWVudCBjb250YWlucz1AU3BlbGwsck9LZXl3b3JkICIjJy4qIgorCiAKIGlmICZmaWxldHlwZSA9PSAicmhlbHAiCiAgICIgc3RyaW5nIGVuY2xvc2VkIGluIGRvdWJsZSBxdW90ZXMKQEAgLTY1LDcgKzc0LDcgQEAKIHN5biBrZXl3b3JkIHJSZXBlYXQgICAgICBmb3IgaW4gcmVwZWF0IHdoaWxlCiAKICIgQ29uc3RhbnQgKG5vdCByZWFsbHkpCi1zeW4ga2V5d29yZCByQ29uc3RhbnQgVCBGIExFVFRFUlMgbGV0dGVycyBtb250aC5hYiBtb250aC5uYW1lIHBpCitzeW4ga2V5d29yZCByQ29uc3RhbnQgVCBGIExFVFRFUlMgbGV0dGVycyBtb250aC5hYmIgbW9udGgubmFtZSBwaQogc3luIGtleXdvcmQgckNvbnN0YW50IFIudmVyc2lvbi5zdHJpbmcKIAogc3luIGtleXdvcmQgck51bWJlciAgIE5BX2ludGVnZXJfIE5BX3JlYWxfIE5BX2NvbXBsZXhfIE5BX2NoYXJhY3Rlcl8gCkBAIC0xMDUsOCArMTE0LDEzIEBACiBzeW4gbWF0Y2ggck9wZXJhdG9yICAgICdcKicKIHN5biBtYXRjaCByT3BlcmF0b3IgICAgJysnCiBzeW4gbWF0Y2ggck9wZXJhdG9yICAgICc9Jwotc3luIG1hdGNoIHJPcGVyYXRvciAgICAiW3whPD5efmAvOkBdIgotc3luIG1hdGNoIHJPcGVyYXRvciAgICAiJVx7Mn1cfCVcKiVcfCVcLyVcfCVpbiVcfCVvJVx8JXglIgoraWYgJmZpbGV0eXBlICE9ICJybWQiICYmICZmaWxldHlwZSAhPSAicnJzdCIKKyAgc3luIG1hdGNoIHJPcGVyYXRvciAgICAiW3whPD5efi86XSIKK2Vsc2UKKyAgc3luIG1hdGNoIHJPcGVyYXRvciAgICAiW3whPD5efmAvOl0iCitlbmRpZgorc3luIG1hdGNoIHJPcGVyYXRvciAgICAiJVx7Mn1cfCVcUyolIgorc3luIG1hdGNoIHJPcEVycm9yICAnXCpcezN9Jwogc3luIG1hdGNoIHJPcEVycm9yICAnLy8nCiBzeW4gbWF0Y2ggck9wRXJyb3IgICcmJiYnCiBzeW4gbWF0Y2ggck9wRXJyb3IgICd8fHwnCkBAIC0xNDAsOSArMTU0LDExIEBACiBydW50aW1lIHItcGx1Z2luL2Z1bmN0aW9ucy52aW0KIAogc3luIG1hdGNoIHJEb2xsYXIgZGlzcGxheSBjb250YWluZWQgIlwkIgorc3luIG1hdGNoIHJEb2xsYXIgZGlzcGxheSBjb250YWluZWQgIkAiCiAKICIgTGlzdCBlbGVtZW50cyB3aWxsIG5vdCBiZSBoaWdobGlnaHRlZCBhcyBmdW5jdGlvbnM6CiBzeW4gbWF0Y2ggckxzdEVsbXQgIlwkW2EtekEtWjAtOVxcLl9dKiIgY29udGFpbnM9ckRvbGxhcgorc3luIG1hdGNoIHJMc3RFbG10ICJAW2EtekEtWjAtOVxcLl9dKiIgY29udGFpbnM9ckRvbGxhcgogCiAiIEZ1bmN0aW9ucyB0aGF0IG1heSBhZGQgbmV3IG9iamVjdHMKIHN5biBrZXl3b3JkIHJQcmVQcm9jICAgICBsaWJyYXJ5IHJlcXVpcmUgYXR0YWNoIGRldGFjaCBzb3VyY2UKQEAgLTE1Niw3ICsxNzIsOSBAQAogc3luIGtleXdvcmQgclR5cGUgYXJyYXkgY2F0ZWdvcnkgY2hhcmFjdGVyIGNvbXBsZXggZG91YmxlIGZ1bmN0aW9uIGludGVnZXIgbGlzdCBsb2dpY2FsIG1hdHJpeCBudW1lcmljIHZlY3RvciBkYXRhLmZyYW1lIAogCiAiIE5hbWUgb2Ygb2JqZWN0IHdpdGggc3BhY2VzCi1zeW4gcmVnaW9uIHJOYW1lV1NwYWNlIHN0YXJ0PSJgIiBlbmQ9ImAiCitpZiAmZmlsZXR5cGUgIT0gInJtZCIgJiYgJmZpbGV0eXBlICE9ICJycnN0IgorICBzeW4gcmVnaW9uIHJOYW1lV1NwYWNlIHN0YXJ0PSJgIiBlbmQ9ImAiCitlbmRpZgogCiBpZiAmZmlsZXR5cGUgPT0gInJoZWxwIgogICBzeW4gbWF0Y2ggcmhQcmVQcm9jICJeI2lmZGVmLioiIApAQCAtMTY5LDYgKzE4Nyw3IEBACiBoaSBkZWYgbGluayByQm9vbGVhbiAgICAgQm9vbGVhbgogaGkgZGVmIGxpbmsgckJyYWNlRXJyb3IgIEVycm9yCiBoaSBkZWYgbGluayByQ29tbWVudCAgICAgQ29tbWVudAoraGkgZGVmIGxpbmsgck9Db21tZW50ICAgIENvbW1lbnQKIGhpIGRlZiBsaW5rIHJDb21wbGV4ICAgICBOdW1iZXIKIGhpIGRlZiBsaW5rIHJDb25kaXRpb25hbCBDb25kaXRpb25hbAogaGkgZGVmIGxpbmsgckNvbnN0YW50ICAgIENvbnN0YW50CkBAIC0xOTUsNiArMjE0LDcgQEAKIGhpIGRlZiBsaW5rIHJTdHJpbmcgICAgICBTdHJpbmcKIGhpIGRlZiBsaW5rIHJTdHJFcnJvciAgICBFcnJvcgogaGkgZGVmIGxpbmsgclR5cGUgICAgICAgIFR5cGUKK2hpIGRlZiBsaW5rIHJPS2V5d29yZCAgICBUaXRsZQogCiBsZXQgYjpjdXJyZW50X3N5bnRheD0iciIKIApkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvcnN0LnZpbSBiL3J1bnRpbWUvc3ludGF4L3JzdC52aW0KaW5kZXggYjY4MDg5Ny4uMTU5ZDE0ZSAxMDA2NDQKLS0tIGEvcnVudGltZS9zeW50YXgvcnN0LnZpbQorKysgYi9ydW50aW1lL3N5bnRheC9yc3QudmltCkBAIC0xLDcgKzEsNyBAQAogIiBWaW0gc3ludGF4IGZpbGUKICIgTGFuZ3VhZ2U6ICAgICAgICAgcmVTdHJ1Y3R1cmVkVGV4dCBkb2N1bWVudGF0aW9uIGZvcm1hdAogIiBNYWludGFpbmVyOiAgICAgICBOaWtvbGFpIFdlaWJ1bGwgPG5vd0BiaXR3aS5zZT4KLSIgTGF0ZXN0IFJldmlzaW9uOiAgMjAxMi0xMS0wMQorIiBMYXRlc3QgUmV2aXNpb246ICAyMDEzLTA2LTAzCiAKIGlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCiAgIGZpbmlzaApAQCAtMTM1LDEwICsxMzUsNiBAQAogc3luIG1hdGNoICAgcnN0U3RhbmRhbG9uZUh5cGVybGluayAgY29udGFpbnM9QE5vU3BlbGwKICAgICAgIFwgIlw8XCUoXCUoXCUoaHR0cHNcPVx8ZmlsZVx8ZnRwXHxnb3BoZXJcKTovL1x8XCUobWFpbHRvXHxuZXdzXCk6XClbXls6c3BhY2U6XSdcIjw+XVwrXHx3d3dbWzphbG51bTpdXy1dKlwuW1s6YWxudW06XV8tXVwrXC5bXls6c3BhY2U6XSdcIjw+XVwrXClbWzphbG51bTpdL10iCiAKLSIgVE9ETzogVXNlIGJldHRlciBzeW5jaW5nLiAgSSBkb27igJl0IGtub3cgdGhlIHNwZWNpZmljcyBvZiBzeW5jaW5nIHdlbGwgZW5vdWdoLAotIiB0aG91Z2guCi1zeW4gc3luYyBtaW5saW5lcz01MCBsaW5lYnJlYWtzPTEKLQogc3luIHJlZ2lvbiByc3RDb2RlQmxvY2sgY29udGFpbmVkIG1hdGNoZ3JvdXA9cnN0RGlyZWN0aXZlCiAgICAgICBcIHN0YXJ0PStcJShzb3VyY2Vjb2RlXHxjb2RlXCUoLWJsb2NrXClcPVwpOjpccysKICAgICAgIFwgc2tpcD0rXiQrCkBAIC0xNjAsNiArMTU2LDkgQEAKICAgICBleGUgJ3N5biBjbHVzdGVyIHJzdERpcmVjdGl2ZXMgYWRkPXJzdERpcmVjdGl2ZScuY29kZQogZW5kZm9yCiAKKyIgVE9ETzogVXNlIGJldHRlciBzeW5jaW5nLgorc3luIHN5bmMgbWlubGluZXM9NTAgbGluZWJyZWFrcz0yCisKIGhpIGRlZiBsaW5rIHJzdFRvZG8gICAgICAgICAgICAgICAgICAgICAgICAgVG9kbwogaGkgZGVmIGxpbmsgcnN0Q29tbWVudCAgICAgICAgICAgICAgICAgICAgICBDb21tZW50CiBoaSBkZWYgbGluayByc3RTZWN0aW9ucyAgICAgICAgICAgICAgICAgICAgIFRpdGxlCg==