ZGlmZiAtLWdpdCBhL0NvbnRlbnRzIGIvQ29udGVudHMKaW5kZXggOTdkYzFiNS4uYWQ2NDRmMiAxMDA2NDQKLS0tIGEvQ29udGVudHMKKysrIGIvQ29udGVudHMKQEAgLTksMTAgKzksMTAgQEAKIAkJbWVzc2FnZXMsIHNob3dzIGN1cnJlbnQgZmlsZSBuYW1lIGluIHdpbmRvdyB0aXRsZSwgb24tbGluZQogCQloZWxwLCByZWN0YW5ndWxhciBjdXQvcGFzdGUsIGV0Yy4sIGV0Yy4sIGV0Yy4uLgogCi0JCVZlcnNpb24gNy4yYS4gIEFsc28gcnVucyB1bmRlciBVTklYLCBNU0RPUyBhbmQgb3RoZXIgc3lzdGVtcy4KLQkJdmltNzJhcnQudGd6ICBjb250YWlucyB0aGUgZG9jdW1lbnRhdGlvbiBhbmQgc3ludGF4IGZpbGVzLgotCQl2aW03MmFiaW4udGd6IGNvbnRhaW5zIHRoZSBiaW5hcmllcy4KLQkJdmltNzJhc3JjLnRneiBjb250YWlucyB0aGUgc291cmNlcy4KKwkJVmVyc2lvbiA3LjJiLiAgQWxzbyBydW5zIHVuZGVyIFVOSVgsIE1TRE9TIGFuZCBvdGhlciBzeXN0ZW1zLgorCQl2aW03MmJydC50Z3ogIGNvbnRhaW5zIHRoZSBkb2N1bWVudGF0aW9uIGFuZCBzeW50YXggZmlsZXMuCisJCXZpbTcyYmJpbi50Z3ogY29udGFpbnMgdGhlIGJpbmFyaWVzLgorCQl2aW03MmJzcmMudGd6IGNvbnRhaW5zIHRoZSBzb3VyY2VzLgogCQlBdXRob3I6IEJyYW0gTW9vbGVuYWFyIGV0IGFsLgogCiAKZGlmZiAtLWdpdCBhL0ZpbGVsaXN0IGIvRmlsZWxpc3QKaW5kZXggYWE0MjNkOS4uZjViYjM2YiAxMDA2NDQKLS0tIGEvRmlsZWxpc3QKKysrIGIvRmlsZWxpc3QKQEAgLTUxNiw2ICs1MTYsNyBAQAogCQlydW50aW1lL2luZGVudC8qLnZpbSBcCiAJCXJ1bnRpbWUvaW5kZW50L1JFQURNRS50eHQgXAogCQlydW50aW1lL2Z0cGx1Z2luLyoudmltIFwKKwkJcnVudGltZS9mdHBsdWdpbi9sb2d0YWxrLmRpY3QgXAogCQlydW50aW1lL2Z0cGx1Z2luL1JFQURNRS50eHQgXAogCQlydW50aW1lL3BsdWdpbi8qLnZpbSBcCiAJCXJ1bnRpbWUvcGx1Z2luL1JFQURNRS50eHQgXApkaWZmIC0tZ2l0IGEvTWFrZWZpbGUgYi9NYWtlZmlsZQppbmRleCA0NTU2OGE5Li5iNDAwNjJiIDEwMDY0NAotLS0gYS9NYWtlZmlsZQorKysgYi9NYWtlZmlsZQpAQCAtNjksNyArNjksNyBAQAogIyAgICBCZWZvcmUgY3JlYXRpbmcgYW4gYXJjaGl2ZSBmaXJzdCBkZWxldGUgYWxsIGJhY2t1cCBmaWxlcywgKi5vcmlnLCBldGMuCiAKIE1BSk9SID0gNwotTUlOT1IgPSAyYQorTUlOT1IgPSAyYgogCiAjIFVuY29tbWVudCB0aGlzIGxpbmUgaWYgdGhlIFdpbjMycyB2ZXJzaW9uIGlzIHRvIGJlIGluY2x1ZGVkLgogRE9TQklOX1MgPSAgZG9zYmluX3MKQEAgLTEzMyw3ICsxMzMsNyBAQAogIyBXaW4zMiBjb25zb2xlIHZlcnNpb246CiAjIC0gU2V0IGVudmlyb25tZW50IGZvciBWaXN1YWwgQysrIDIwMDggRXhwcmVzcyBFZGl0aW9uOiAibXN2YzIwMDguYmF0Ii4gIE9yLAogIyAgIHdoZW4gdXNpbmcgdGhlIFZpc3VhbCBDKysgVG9vbGtpdCAyMDAzOiAibXN2Y3NldHVwLmJhdCIgKGFkanVzdCB0aGUgcGF0aHMKLSMgICB3aGVuIG5lY2Vzc2FyeSkuCisjICAgd2hlbiBuZWNlc3NhcnkpLiAgRm9yIFdpbmRvd3MgOTggdGhlIDIwMDMgdmVyc2lvbiBpcyByZXF1aXJlZC4KICMgLSAibm1ha2UgLWYgTWFrZV9tdmMubWFrIgogIyAtICJybSB0ZXN0ZGlyLyoub3V0IiwgIm5tYWtlIC1mIE1ha2VfbXZjLm1hayB0ZXN0IiBhbmQgY2hlY2sgdGhlIG91dHB1dC4KICMgLSBSZW5hbWUgdGhlIGV4ZWN1dGFibGVzIHRvICJ2aW13MzIuZXhlIiwgInh4ZHczMi5leGUiLgpkaWZmIC0tZ2l0IGEvUkVBRE1FLnR4dCBiL1JFQURNRS50eHQKaW5kZXggNmVlY2U0MS4uZGI3YmJmOSAxMDA2NDQKLS0tIGEvUkVBRE1FLnR4dAorKysgYi9SRUFETUUudHh0CkBAIC0xLDQgKzEsNCBAQAotUkVBRE1FLnR4dCBmb3IgdmVyc2lvbiA3LjJhIG9mIFZpbTogVmkgSU1wcm92ZWQuCitSRUFETUUudHh0IGZvciB2ZXJzaW9uIDcuMmIgb2YgVmltOiBWaSBJTXByb3ZlZC4KIAogCiBXSEFUIElTIFZJTQpkaWZmIC0tZ2l0IGEvUkVBRE1FX2FtaS50eHQgYi9SRUFETUVfYW1pLnR4dAppbmRleCAxM2ZhNjdkLi41NDgwYTg4IDEwMDY0NAotLS0gYS9SRUFETUVfYW1pLnR4dAorKysgYi9SRUFETUVfYW1pLnR4dApAQCAtMSw0ICsxLDQgQEAKLVJFQURNRV9hbWkudHh0IGZvciB2ZXJzaW9uIDcuMmEgb2YgVmltOiBWaSBJTXByb3ZlZC4KK1JFQURNRV9hbWkudHh0IGZvciB2ZXJzaW9uIDcuMmIgb2YgVmltOiBWaSBJTXByb3ZlZC4KIAogVGhpcyBmaWxlIGV4cGxhaW5zIHRoZSBpbnN0YWxsYXRpb24gb2YgVmltIG9uIEFtaWdhIHN5c3RlbXMuCiBTZWUgUkVBRE1FLnR4dCBmb3IgZ2VuZXJhbCBpbmZvcm1hdGlvbiBhYm91dCBWaW0uCmRpZmYgLS1naXQgYS9SRUFETUVfYW1pYmluLnR4dCBiL1JFQURNRV9hbWliaW4udHh0CmluZGV4IDI0YjllZjIuLmRjNTllMjYgMTAwNjQ0Ci0tLSBhL1JFQURNRV9hbWliaW4udHh0CisrKyBiL1JFQURNRV9hbWliaW4udHh0CkBAIC0xLDQgKzEsNCBAQAotUkVBRE1FX2FtaWJpbi50eHQgZm9yIHZlcnNpb24gNy4yYSBvZiBWaW06IFZpIElNcHJvdmVkLgorUkVBRE1FX2FtaWJpbi50eHQgZm9yIHZlcnNpb24gNy4yYiBvZiBWaW06IFZpIElNcHJvdmVkLgogCiBTZWUgIlJFQURNRS50eHQiIGZvciBnZW5lcmFsIGluZm9ybWF0aW9uIGFib3V0IFZpbS4KIFNlZSAiUkVBRE1FX2FtaS50eHQiIGZvciBpbnN0YWxsYXRpb24gaW5zdHJ1Y3Rpb25zIGZvciB0aGUgQW1pZ2EuCmRpZmYgLS1naXQgYS9SRUFETUVfYW1pc3JjLnR4dCBiL1JFQURNRV9hbWlzcmMudHh0CmluZGV4IDg3MzJlZmIuLmJhOGRlZTQgMTAwNjQ0Ci0tLSBhL1JFQURNRV9hbWlzcmMudHh0CisrKyBiL1JFQURNRV9hbWlzcmMudHh0CkBAIC0xLDQgKzEsNCBAQAotUkVBRE1FX2FtaXNyYy50eHQgZm9yIHZlcnNpb24gNy4yYSBvZiBWaW06IFZpIElNcHJvdmVkLgorUkVBRE1FX2FtaXNyYy50eHQgZm9yIHZlcnNpb24gNy4yYiBvZiBWaW06IFZpIElNcHJvdmVkLgogCiBTZWUgIlJFQURNRS50eHQiIGZvciBnZW5lcmFsIGluZm9ybWF0aW9uIGFib3V0IFZpbS4KIFNlZSAiUkVBRE1FX2FtaS50eHQiIGZvciBpbnN0YWxsYXRpb24gaW5zdHJ1Y3Rpb25zIGZvciB0aGUgQW1pZ2EuCmRpZmYgLS1naXQgYS9SRUFETUVfYmluZG9zLnR4dCBiL1JFQURNRV9iaW5kb3MudHh0CmluZGV4IDU5M2E5MjUuLjkwZDQyZWUgMTAwNjQ0Ci0tLSBhL1JFQURNRV9iaW5kb3MudHh0CisrKyBiL1JFQURNRV9iaW5kb3MudHh0CkBAIC0xLDQgKzEsNCBAQAotUkVBRE1FX2JpbmRvcy50eHQgZm9yIHZlcnNpb24gNy4yYSBvZiBWaW06IFZpIElNcHJvdmVkLgorUkVBRE1FX2JpbmRvcy50eHQgZm9yIHZlcnNpb24gNy4yYiBvZiBWaW06IFZpIElNcHJvdmVkLgogCiBTZWUgIlJFQURNRS50eHQiIGZvciBnZW5lcmFsIGluZm9ybWF0aW9uIGFib3V0IFZpbS4KIFNlZSAiUkVBRE1FX2Rvcy50eHQiIGZvciBpbnN0YWxsYXRpb24gaW5zdHJ1Y3Rpb25zIGZvciBNUy1ET1MgYW5kIE1TLVdpbmRvd3MuCmRpZmYgLS1naXQgYS9SRUFETUVfZG9zLnR4dCBiL1JFQURNRV9kb3MudHh0CmluZGV4IGY0ODE4YjguLmQ3ZGZkOTYgMTAwNjQ0Ci0tLSBhL1JFQURNRV9kb3MudHh0CisrKyBiL1JFQURNRV9kb3MudHh0CkBAIC0xLDQgKzEsNCBAQAotUkVBRE1FX2Rvcy50eHQgZm9yIHZlcnNpb24gNy4yYSBvZiBWaW06IFZpIElNcHJvdmVkLgorUkVBRE1FX2Rvcy50eHQgZm9yIHZlcnNpb24gNy4yYiBvZiBWaW06IFZpIElNcHJvdmVkLgogCiBUaGlzIGZpbGUgZXhwbGFpbnMgdGhlIGluc3RhbGxhdGlvbiBvZiBWaW0gb24gTVMtRE9TIGFuZCBNUy1XaW5kb3dzIHN5c3RlbXMuCiBTZWUgIlJFQURNRS50eHQiIGZvciBnZW5lcmFsIGluZm9ybWF0aW9uIGFib3V0IFZpbS4KZGlmZiAtLWdpdCBhL1JFQURNRV9leHRyYS50eHQgYi9SRUFETUVfZXh0cmEudHh0CmluZGV4IDY2MGI1MDIuLjdlZTcyODQgMTAwNjQ0Ci0tLSBhL1JFQURNRV9leHRyYS50eHQKKysrIGIvUkVBRE1FX2V4dHJhLnR4dApAQCAtMSw0ICsxLDQgQEAKLVJFQURNRV9leHRyYS50eHQgZm9yIHZlcnNpb24gNy4yYSBvZiBWaW06IFZpIElNcHJvdmVkLgorUkVBRE1FX2V4dHJhLnR4dCBmb3IgdmVyc2lvbiA3LjJiIG9mIFZpbTogVmkgSU1wcm92ZWQuCiAKIFRoZSBleHRyYSBhcmNoaXZlIG9mIFZpbSBpcyB0byBiZSB1c2VkIGluIGNvbWJpbmF0aW9uIHdpdGggdGhlIHNvdXJjZSBhcmNoaXZlCiAodmltLTcuMC1zcmMudGFyLmd6KS4gIFRoZSBleHRyYSBhcmNoaXZlIGlzIHVzZWxlc3Mgd2l0aG91dCBpdC4KZGlmZiAtLWdpdCBhL1JFQURNRV9sYW5nLnR4dCBiL1JFQURNRV9sYW5nLnR4dAppbmRleCA5ZGY5Zjc2Li42MTQwNDU5IDEwMDY0NAotLS0gYS9SRUFETUVfbGFuZy50eHQKKysrIGIvUkVBRE1FX2xhbmcudHh0CkBAIC0xLDQgKzEsNCBAQAotUkVBRE1FX2xhbmcudHh0IGZvciB2ZXJzaW9uIDcuMmEgb2YgVmltOiBWaSBJTXByb3ZlZC4KK1JFQURNRV9sYW5nLnR4dCBmb3IgdmVyc2lvbiA3LjJiIG9mIFZpbTogVmkgSU1wcm92ZWQuCiAKIFRoaXMgZmlsZSBjb250YWlucyBmaWxlcyBmb3Igbm9uLUVuZ2xpc2ggbGFuZ3VhZ2VzOgogLSBUcmFuc2xhdGVkIG1lc3NhZ2VzLgpkaWZmIC0tZ2l0IGEvUkVBRE1FX21hYy50eHQgYi9SRUFETUVfbWFjLnR4dAppbmRleCA3OTZhZDAxLi45MzZiMzllIDEwMDY0NAotLS0gYS9SRUFETUVfbWFjLnR4dAorKysgYi9SRUFETUVfbWFjLnR4dApAQCAtMSw0ICsxLDQgQEAKLVJFQURNRV9tYWMudHh0IGZvciB2ZXJzaW9uIDcuMmEgb2YgVmltOiBWaSBJTXByb3ZlZC4KK1JFQURNRV9tYWMudHh0IGZvciB2ZXJzaW9uIDcuMmIgb2YgVmltOiBWaSBJTXByb3ZlZC4KIAogVGhpcyBmaWxlIGV4cGxhaW5zIHRoZSBpbnN0YWxsYXRpb24gb2YgVmltIG9uIE1hY2ludG9zaCBzeXN0ZW1zLgogU2VlICJSRUFETUUudHh0IiBmb3IgZ2VuZXJhbCBpbmZvcm1hdGlvbiBhYm91dCBWaW0uCmRpZmYgLS1naXQgYS9SRUFETUVfb2xlLnR4dCBiL1JFQURNRV9vbGUudHh0CmluZGV4IDgxMTIxMzYuLjI3NDA0OGIgMTAwNjQ0Ci0tLSBhL1JFQURNRV9vbGUudHh0CisrKyBiL1JFQURNRV9vbGUudHh0CkBAIC0xLDQgKzEsNCBAQAotUkVBRE1FX29sZS50eHQgZm9yIHZlcnNpb24gNy4yYSBvZiBWaW06IFZpIElNcHJvdmVkLgorUkVBRE1FX29sZS50eHQgZm9yIHZlcnNpb24gNy4yYiBvZiBWaW06IFZpIElNcHJvdmVkLgogCiBUaGlzIGFyY2hpdmUgY29udGFpbnMgZ3ZpbS5leGUgd2l0aCBPTEUgaW50ZXJmYWNlIGFuZCBWaXNWaW0uCiBUaGlzIHZlcnNpb24gb2YgZ3ZpbS5leGUgY2FuIGFsc28gbG9hZCBhIG51bWJlciBvZiBpbnRlcmZhY2UgZHluYW1pY2FsbHkgKHlvdQpkaWZmIC0tZ2l0IGEvUkVBRE1FX29zMi50eHQgYi9SRUFETUVfb3MyLnR4dAppbmRleCBhOWUwYTQyLi5lZGYzMDY1IDEwMDY0NAotLS0gYS9SRUFETUVfb3MyLnR4dAorKysgYi9SRUFETUVfb3MyLnR4dApAQCAtMSw0ICsxLDQgQEAKLVJFQURNRV9vczIudHh0IGZvciB2ZXJzaW9uIDcuMmEgb2YgVmltOiBWaSBJTXByb3ZlZC4KK1JFQURNRV9vczIudHh0IGZvciB2ZXJzaW9uIDcuMmIgb2YgVmltOiBWaSBJTXByb3ZlZC4KIAogVGhpcyBmaWxlIGV4cGxhaW5zIHRoZSBpbnN0YWxsYXRpb24gb2YgVmltIG9uIE9TLzIgc3lzdGVtcy4KIFNlZSAiUkVBRE1FLnR4dCIgZm9yIGdlbmVyYWwgaW5mb3JtYXRpb24gYWJvdXQgVmltLgpkaWZmIC0tZ2l0IGEvUkVBRE1FX29zMzkwLnR4dCBiL1JFQURNRV9vczM5MC50eHQKaW5kZXggMGNlOWRkOC4uNTMxYWFmNiAxMDA2NDQKLS0tIGEvUkVBRE1FX29zMzkwLnR4dAorKysgYi9SRUFETUVfb3MzOTAudHh0CkBAIC0xLDQgKzEsNCBAQAotUkVBRE1FX29zXzM5MC50eHQgZm9yIHZlcnNpb24gNy4yYSBvZiBWaW06IFZpIElNcHJvdmVkLgorUkVBRE1FX29zXzM5MC50eHQgZm9yIHZlcnNpb24gNy4yYiBvZiBWaW06IFZpIElNcHJvdmVkLgogCiBXZWxjb21lIHRvIHRoZSBPUy8zOTAgVW5peCBwb3J0IG9mIFZJTS4KIApkaWZmIC0tZ2l0IGEvUkVBRE1FX3NyYy50eHQgYi9SRUFETUVfc3JjLnR4dAppbmRleCA3MDc5ZjNlLi41Y2Q4N2Y3IDEwMDY0NAotLS0gYS9SRUFETUVfc3JjLnR4dAorKysgYi9SRUFETUVfc3JjLnR4dApAQCAtMSw0ICsxLDQgQEAKLVJFQURNRV9zcmMudHh0IGZvciB2ZXJzaW9uIDcuMmEgb2YgVmltOiBWaSBJTXByb3ZlZC4KK1JFQURNRV9zcmMudHh0IGZvciB2ZXJzaW9uIDcuMmIgb2YgVmltOiBWaSBJTXByb3ZlZC4KIAogVGhlIHNvdXJjZSBhcmNoaXZlIGNvbnRhaW5zIHRoZSBmaWxlcyBuZWVkZWQgdG8gY29tcGlsZSBWaW0gb24gVW5peCBzeXN0ZW1zLgogSXQgaXMgcGFja2VkIGZvciBVbml4IHN5c3RlbXMgKE5MIGxpbmUgc2VwYXJhdG9yKS4gIEl0IGlzIGFsc28gdXNlZCBmb3Igb3RoZXIKZGlmZiAtLWdpdCBhL1JFQURNRV9zcmNkb3MudHh0IGIvUkVBRE1FX3NyY2Rvcy50eHQKaW5kZXggZWY3ODAyOS4uMTJlNmVmNiAxMDA2NDQKLS0tIGEvUkVBRE1FX3NyY2Rvcy50eHQKKysrIGIvUkVBRE1FX3NyY2Rvcy50eHQKQEAgLTEsNCArMSw0IEBACi1SRUFETUVfc3JjZG9zLnR4dCBmb3IgdmVyc2lvbiA3LjJhIG9mIFZpbTogVmkgSU1wcm92ZWQuCitSRUFETUVfc3JjZG9zLnR4dCBmb3IgdmVyc2lvbiA3LjJiIG9mIFZpbTogVmkgSU1wcm92ZWQuCiAKIFNlZSAiUkVBRE1FLnR4dCIgZm9yIGdlbmVyYWwgaW5mb3JtYXRpb24gYWJvdXQgVmltLgogU2VlICJSRUFETUVfZG9zLnR4dCIgZm9yIGluc3RhbGxhdGlvbiBpbnN0cnVjdGlvbnMgZm9yIE1TLURPUyBhbmQgTVMtV2luZG93cy4KZGlmZiAtLWdpdCBhL1JFQURNRV91bml4LnR4dCBiL1JFQURNRV91bml4LnR4dAppbmRleCA1MzM4Y2IxLi41ZmE0NDY0IDEwMDY0NAotLS0gYS9SRUFETUVfdW5peC50eHQKKysrIGIvUkVBRE1FX3VuaXgudHh0CkBAIC0xLDQgKzEsNCBAQAotUkVBRE1FX3VuaXgudHh0IGZvciB2ZXJzaW9uIDcuMmEgb2YgVmltOiBWaSBJTXByb3ZlZC4KK1JFQURNRV91bml4LnR4dCBmb3IgdmVyc2lvbiA3LjJiIG9mIFZpbTogVmkgSU1wcm92ZWQuCiAKIFRoaXMgZmlsZSBleHBsYWlucyB0aGUgaW5zdGFsbGF0aW9uIG9mIFZpbSBvbiBVbml4IHN5c3RlbXMuCiBTZWUgIlJFQURNRS50eHQiIGZvciBnZW5lcmFsIGluZm9ybWF0aW9uIGFib3V0IFZpbS4KZGlmZiAtLWdpdCBhL1JFQURNRV92bXMudHh0IGIvUkVBRE1FX3Ztcy50eHQKaW5kZXggZDUxMzM5ZS4uM2I4Y2M1MyAxMDA2NDQKLS0tIGEvUkVBRE1FX3Ztcy50eHQKKysrIGIvUkVBRE1FX3Ztcy50eHQKQEAgLTEsNCArMSw0IEBACi1SRUFETUVfdm1zLnR4dCBmb3IgdmVyc2lvbiA3LjJhIG9mIFZpbTogVmkgSU1wcm92ZWQuCitSRUFETUVfdm1zLnR4dCBmb3IgdmVyc2lvbiA3LjJiIG9mIFZpbTogVmkgSU1wcm92ZWQuCiAKIFRoaXMgZmlsZSBleHBsYWlucyB0aGUgaW5zdGFsbGF0aW9uIG9mIFZpbSBvbiBWTVMgc3lzdGVtcy4KIFNlZSAiUkVBRE1FLnR4dCIgaW4gdGhlIHJ1bnRpbWUgYXJjaGl2ZSBmb3IgaW5mb3JtYXRpb24gYWJvdXQgVmltLgpkaWZmIC0tZ2l0IGEvUkVBRE1FX3czMnMudHh0IGIvUkVBRE1FX3czMnMudHh0CmluZGV4IDFiOTc3NGQuLjdlNWU5NmEgMTAwNjQ0Ci0tLSBhL1JFQURNRV93MzJzLnR4dAorKysgYi9SRUFETUVfdzMycy50eHQKQEAgLTEsNCArMSw0IEBACi1SRUFETUVfdzMycy50eHQgZm9yIHZlcnNpb24gNy4yYSBvZiBWaW06IFZpIElNcHJvdmVkLgorUkVBRE1FX3czMnMudHh0IGZvciB2ZXJzaW9uIDcuMmIgb2YgVmltOiBWaSBJTXByb3ZlZC4KIAogVGhpcyBhcmNoaXZlIGNvbnRhaW5zIHRoZSBndmltLmV4ZSB0aGF0IHdhcyBzcGVjaWZpY2FsbHkgY29tcGlsZWQgZm9yIHVzZSBpbgogdGhlIFdpbjMycyBzdWJzeXN0ZW0gaW4gTVMtV2luZG93cyAzLjEgYW5kIDMuMTEuCmRpZmYgLS1naXQgYS9uc2lzL2d2aW0ubnNpIGIvbnNpcy9ndmltLm5zaQppbmRleCA4ZTI0N2EzLi5iZDNmMGMyIDEwMDY0NAotLS0gYS9uc2lzL2d2aW0ubnNpCisrKyBiL25zaXMvZ3ZpbS5uc2kKQEAgLTIyLDcgKzIyLDcgQEAKICFkZWZpbmUgSEFWRV9OTFMKIAogIWRlZmluZSBWRVJfTUFKT1IgNwotIWRlZmluZSBWRVJfTUlOT1IgMmEKKyFkZWZpbmUgVkVSX01JTk9SIDJiCiAKICMgLS0tLS0tLS0tLS0gTm8gY29uZmlndXJhYmxlIHNldHRpbmdzIGJlbG93IHRoaXMgbGluZSAtLS0tLS0tLS0tLQogCmRpZmYgLS1naXQgYS9ydW50aW1lL2F1dG9sb2FkL2FkYS52aW0gYi9ydW50aW1lL2F1dG9sb2FkL2FkYS52aW0KaW5kZXggNDYyNTcwMS4uZmZkMGZmOCAxMDA2NDQKLS0tIGEvcnVudGltZS9hdXRvbG9hZC9hZGEudmltCisrKyBiL3J1bnRpbWUvYXV0b2xvYWQvYWRhLnZpbQpAQCAtMiwxMyArMiwxNSBAQAogIiAgRGVzY3JpcHRpb246IFBlcmZvcm0gQWRhIHNwZWNpZmljIGNvbXBsZXRpb24gJiB0YWdnaW5nLgogIiAgICAgTGFuZ3VhZ2U6IEFkYSAoMjAwNSkKICIJICAgJElkJAotIiAgIE1haW50YWluZXI6IE1hcnRpbiBLcmlzY2hpaworIiAgIE1haW50YWluZXI6IE1hcnRpbiBLcmlzY2hpayA8a3Jpc2NoaWtAdXNlcnMuc291cmNlZm9yZ2UubmV0PgorIgkJVGF5bG9yIFZlbmFibGUgPHRheWxvckBtZXRhc3ludGF4Lm5ldD4KICIJCU5laWwgQmlyZCA8bmVpbEBmbnh3ZWIuY29tPgorIgkJTmVkIE9raWUgPG5va2llQHJhZGZvcmQuZWR1PgogIiAgICAgICRBdXRob3IkCiAiCSAkRGF0ZSQKLSIgICAgICBWZXJzaW9uOiA0LjIKKyIgICAgICBWZXJzaW9uOiA0LjYKICIgICAgJFJldmlzaW9uJAotIiAgICAgJEhlYWRVUkw6IGh0dHBzOi8vc3ZuLnNvdXJjZWZvcmdlLm5ldC9zdm5yb290L2dudWFkYS90cnVuay90b29scy92aW0vYXV0b2xvYWQvYWRhLnZpbSAkCisiICAgICAkSGVhZFVSTDogaHR0cHM6Ly9nbnVhZGEuc3ZuLnNvdXJjZWZvcmdlLm5ldC9zdm5yb290L2dudWFkYS90cnVuay90b29scy92aW0vYXV0b2xvYWQvYWRhLnZpbSAkCiAiICAgICAgSGlzdG9yeTogMjQuMDUuMjAwNiBNSyBVbmlmaWVkIEhlYWRlcnMKICIJCTI2LjA1LjIwMDYgTUsgJyBzaG91bGQgbm90IGJlIGluIGlza2V5d29yZC4KICIJCTE2LjA3LjIwMDYgTUsgQWRhLU1vZGUgYXMgdmltLWJhbGwKQEAgLTE3LDYgKzE5LDEwIEBACiAiCQkwNS4xMS4yMDA2IE1LIEJyYW0gc3VnZ2VzdGVkIG5vdCB0byB1c2UgaW5jbHVkZSBwcm90ZWN0aW9uIGZvcgogIgkJCSAgICAgIGF1dG9sb2FkCiAiCQkwNS4xMS4yMDA2IE1LIEJyYW0gc3VnZ2VzdGVkIHRvIHNhdmUgb24gc3BhY2VzCisiCQkwOC4wNy4yMDA3IFRWIGZpeCBtYXBsZWFkZXIgcHJvYmxlbXMuCisiCSAgICAgICAgMDkuMDUuMjAwNyBNSyBTZXNzaW9uIGp1c3Qgd29uJ3Qgd29yayBubyBtYXR0ZXIgaG93IG11Y2gKKyIJCQkgICAgICB0d2Vha2luZyBpcyBkb25lCisiCQkxOS4wOS4yMDA3IE5PIHN0aWxsIHNvbWUgbWFwbGVhZGVyIHByb2JsZW1zCiAiICAgIEhlbHAgUGFnZTogZnQtYWRhLWZ1bmN0aW9ucwogIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogCkBAIC00MjUsMzAgKzQzMSw0OSBAQAogICAgZXhlY3V0ZSAnIWN0YWdzIC0tZXhjbWQ9bnVtYmVyICcgLiBsOkZpbGVuYW1lCiBlbmRmdW5jdGlvbiBhZGEjQ3JlYXRlX1RhZ3MKIAotZnVuY3Rpb24gYWRhI1N3aXRjaF9TZXNzaW9uIChOZXdfU2Vzc2lvbikgICAie3t7MQotICAgaWYgYTpOZXdfU2Vzc2lvbiAhPSB2OnRoaXNfc2Vzc2lvbgotICAgICAgIgotICAgICAgIiAgV2UgYWN0dWFseSBnb3QgYSBuZXcgc2Vzc2lvbiAtIG90aGVyd2lzZSB0aGVyZQotICAgICAgIiAgaXMgbm90aGluZyB0byBkby4KLSAgICAgICIKLSAgICAgIGlmIHN0cmxlbiAodjp0aGlzX3Nlc3Npb24pID4gMAotCSBleGVjdXRlICdta3Nlc3Npb24hICcgLiB2OnRoaXNfc2Vzc2lvbgorIiBTZWN0aW9uOiBhZGEjU3dpdGNoX1Nlc3Npb24ge3t7MQorIgorZnVuY3Rpb24gYWRhI1N3aXRjaF9TZXNzaW9uIChOZXdfU2Vzc2lvbikKKyAgICIgCisgICAiIHlvdSBzaG91bGQgbm90IHNhdmUgdG8gbXVjaCBkYXRlIGludG8gdGhlIHNlZXNzaW9uIHNpbmNlIHRoZXkgd2lsbAorICAgIiBiZSBzb3VyY2VkCisgICAiCisgICBsZXQgbDpzZXNzaW9ub3B0aW9ucz0mc2Vzc2lvbm9wdGlvbnMKKworICAgdHJ5CisgICAgICBzZXQgc2Vzc2lvbm9wdGlvbnM9YnVmZmVycyxjdXJkaXIsZm9sZHMsZ2xvYmFscyxyZXNpemUsc2xhc2gsdGFicGFnZXMsdGFicGFnZXMsdW5peCx3aW5wb3Msd2luc2l6ZQorCisgICAgICBpZiBhOk5ld19TZXNzaW9uICE9IHY6dGhpc19zZXNzaW9uCisJICIKKwkgIiAgV2UgYWN0dWFseSBnb3QgYSBuZXcgc2Vzc2lvbiAtIG90aGVyd2lzZSB0aGVyZQorCSAiICBpcyBub3RoaW5nIHRvIGRvLgorCSAiCisJIGlmIHN0cmxlbiAodjp0aGlzX3Nlc3Npb24pID4gMAorCSAgICBleGVjdXRlICdta3Nlc3Npb24hICcgLiB2OnRoaXNfc2Vzc2lvbgorCSBlbmRpZgorCisJIGxldCB2OnRoaXNfc2Vzc2lvbiA9IGE6TmV3X1Nlc3Npb24KKworCSAiaWYgZmlsZXJlYWRhYmxlICh2OnRoaXNfc2Vzc2lvbikKKwkgICAgImV4ZWN1dGUgJ3NvdXJjZSAnIC4gdjp0aGlzX3Nlc3Npb24KKwkgImVuZGlmCisKKwkgYXVncm91cCBhZGFfc2Vzc2lvbgorCSAgICBhdXRvY21kIQorCSAgICBhdXRvY21kIFZpbUxlYXZlUHJlICogZXhlY3V0ZSAnbWtzZXNzaW9uISAnIC4gdjp0aGlzX3Nlc3Npb24KKwkgYXVncm91cCBFTkQKKwkgCisJICJpZiBleGlzdHMgKCJnOlRsaXN0X0F1dG9fT3BlbiIpICYmIGc6VGxpc3RfQXV0b19PcGVuCisJICAgICJUbGlzdE9wZW4KKwkgImVuZGlmCisKICAgICAgIGVuZGlmCi0KLSAgICAgIGxldCB2OnRoaXNfc2Vzc2lvbiA9IGE6TmV3X1Nlc3Npb24KLQotICAgICAgaWYgZmlsZXJlYWRhYmxlICh2OnRoaXNfc2Vzc2lvbikKLQkgZXhlY3V0ZSAnc291cmNlICcgLiB2OnRoaXNfc2Vzc2lvbgotICAgICAgZW5kaWYKLQotICAgICAgYXVncm91cCBhZGFfc2Vzc2lvbgotCSBhdXRvY21kIQotCSBhdXRvY21kIFZpbUxlYXZlUHJlICogZXhlY3V0ZSAnbWtzZXNzaW9uISAnIC4gdjp0aGlzX3Nlc3Npb24KLSAgICAgIGF1Z3JvdXAgRU5ECi0gICBlbmRpZgorICAgZmluYWxseQorICAgICAgbGV0ICZzZXNzaW9ub3B0aW9ucz1sOnNlc3Npb25vcHRpb25zCisgICBlbmR0cnkKIAogICAgcmV0dXJuCi1lbmRmdW5jdGlvbiBhZGEjU3dpdGNoX1Nlc3Npb24JICJ9fX0xCitlbmRmdW5jdGlvbiBhZGEjU3dpdGNoX1Nlc3Npb24JCiAKICIgU2VjdGlvbjogR05BVCBQcmV0dHkgUHJpbnRlciBmb2xkaW5nIHt7ezEKICIKQEAgLTU0NiwxOCArNTcxLDIzIEBACiAJXCBhOktleXMJCSAuCiAJXCIgPEMtTz46IiAuIGE6Q29tbWFuZCAuICI8Q1I+IgogICAgZWxzZQorICAgICAgaWYgZXhpc3RzKCJnOm1hcGxlYWRlciIpCisgICAgICAgICBsZXQgbDpsZWFkZXIgPSBnOm1hcGxlYWRlcgorICAgICAgZWxzZQorICAgICAgICAgbGV0IGw6bGVhZGVyID0gJ1wnCisgICAgICBlbmRpZgogICAgICAgZXhlY3V0ZQogCVwgIjUwYW1lbnUgIiAuCiAJXCAiQWRhLiIgIC4gZXNjYXBlKGE6VGV4dCwgJyAnKSAuCi0JXCAiPFRhYj4iIC4gZXNjYXBlKGc6bWFwbGVhZGVyIC4gImEiIC4gYTpLZXlzICwgJ1wnKSAuCisJXCAiPFRhYj4iIC4gZXNjYXBlKGw6bGVhZGVyIC4gImEiIC4gYTpLZXlzICwgJ1wnKSAuCiAJXCAiIDoiCSAgLiBhOkNvbW1hbmQgLiAiPENSPiIKICAgICAgIGV4ZWN1dGUKIAlcICJubm9yZW1hcCA8YnVmZmVyPiIgLgotCVwgZXNjYXBlKGc6bWFwbGVhZGVyIC4gImEiIC4gYTpLZXlzICwgJ1wnKSAuCisJXCBlc2NhcGUobDpsZWFkZXIgLiAiYSIgLiBhOktleXMgLCAnXCcpIC4KIAlcIiA6IiAuIGE6Q29tbWFuZAogICAgICAgZXhlY3V0ZQogCVwgImlub3JlbWFwIDxidWZmZXI+IiAuCi0JXCBlc2NhcGUoZzptYXBsZWFkZXIgLiAiYSIgLiBhOktleXMgLCAnXCcpIC4KKwlcIGVzY2FwZShsOmxlYWRlciAuICJhIiAuIGE6S2V5cyAsICdcJykgLgogCVwiIDxDLU8+OiIgLiBhOkNvbW1hbmQKICAgIGVuZGlmCiAgICByZXR1cm4KQEAgLTU2NiwxMCArNTk2LDE1IEBACiAiIFNlY3Rpb246IGFkYSNNYXBfUG9wdXAge3t7MgogIgogZnVuY3Rpb24gYWRhI01hcF9Qb3B1cCAoVGV4dCwgS2V5cywgQ29tbWFuZCkKKyAgIGlmIGV4aXN0cygiZzptYXBsZWFkZXIiKQorICAgICAgbGV0IGw6bGVhZGVyID0gZzptYXBsZWFkZXIKKyAgIGVsc2UKKyAgICAgIGxldCBsOmxlYWRlciA9ICdcJworICAgZW5kaWYKICAgIGV4ZWN1dGUKICAgICAgXCAiNTBhbWVudSAiIC4KICAgICAgXCAiUG9wVXAuIiAgIC4gZXNjYXBlKGE6VGV4dCwgJyAnKSAuCi0gICAgIFwgIjxUYWI+IgkgIC4gZXNjYXBlKGc6bWFwbGVhZGVyIC4gImEiIC4gYTpLZXlzICwgJ1wnKSAuCisgICAgIFwgIjxUYWI+IgkgIC4gZXNjYXBlKGw6bGVhZGVyIC4gImEiIC4gYTpLZXlzICwgJ1wnKSAuCiAgICAgIFwgIiA6IgkgIC4gYTpDb21tYW5kIC4gIjxDUj4iCiAKICAgIGNhbGwgYWRhI01hcF9NZW51IChhOlRleHQsIGE6S2V5cywgYTpDb21tYW5kKQpkaWZmIC0tZ2l0IGEvcnVudGltZS9hdXRvbG9hZC9hZGFjb21wbGV0ZS52aW0gYi9ydW50aW1lL2F1dG9sb2FkL2FkYWNvbXBsZXRlLnZpbQppbmRleCAyOGQ2OGY2Li44ZGI0MzUxIDEwMDY0NAotLS0gYS9ydW50aW1lL2F1dG9sb2FkL2FkYWNvbXBsZXRlLnZpbQorKysgYi9ydW50aW1lL2F1dG9sb2FkL2FkYWNvbXBsZXRlLnZpbQpAQCAtNSw5ICs1LDkgQEAKICIgICBNYWludGFpbmVyOglNYXJ0aW4gS3Jpc2NoaWsKICIgICAgICAkQXV0aG9yJAogIgkgJERhdGUkCi0iICAgICAgVmVyc2lvbjogNC4yCisiICAgICAgVmVyc2lvbjogNC42CiAiICAgICRSZXZpc2lvbiQKLSIgICAgICRIZWFkVVJMOiBodHRwczovL3N2bi5zb3VyY2Vmb3JnZS5uZXQvc3Zucm9vdC9nbnVhZGEvdHJ1bmsvdG9vbHMvdmltL2F1dG9sb2FkL2FkYWNvbXBsZXRlLnZpbSAkCisiICAgICAkSGVhZFVSTDogaHR0cHM6Ly9nbnVhZGEuc3ZuLnNvdXJjZWZvcmdlLm5ldC9zdm5yb290L2dudWFkYS90cnVuay90b29scy92aW0vYXV0b2xvYWQvYWRhY29tcGxldGUudmltICQKICIgICAgICBIaXN0b3J5OiAyNC4wNS4yMDA2IE1LIFVuaWZpZWQgSGVhZGVycwogIgkJMjYuMDUuMjAwNiBNSyBpbXByb3ZlZCBzZWFyY2ggZm9yIGJlZ2luIG9mIHdvcmQuCiAiCQkxNi4wNy4yMDA2IE1LIEFkYS1Nb2RlIGFzIHZpbS1iYWxsCmRpZmYgLS1naXQgYS9ydW50aW1lL2F1dG9sb2FkL2RlY2FkYS52aW0gYi9ydW50aW1lL2F1dG9sb2FkL2RlY2FkYS52aW0KaW5kZXggOWY4YWFmMi4uZmI1NDAwZSAxMDA2NDQKLS0tIGEvcnVudGltZS9hdXRvbG9hZC9kZWNhZGEudmltCisrKyBiL3J1bnRpbWUvYXV0b2xvYWQvZGVjYWRhLnZpbQpAQCAtMywxMiArMywxMiBAQAogIiAgICAgTGFuZ3VhZ2U6IEFkYSAoRGVjIEFkYSkKICIgICAgICAgICAgJElkJAogIiAgICBDb3B5cmlnaHQ6IENvcHlyaWdodCAoQykgMjAwNiBNYXJ0aW4gS3Jpc2NoaWsKLSIgICBNYWludGFpbmVyOglNYXJ0aW4gS3Jpc2NoaWsKKyIgICBNYWludGFpbmVyOglNYXJ0aW4gS3Jpc2NoaWsgPGtyaXNjaGlrQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KICIgICAgICAkQXV0aG9yJAogIiAgICAgICAgJERhdGUkCi0iICAgICAgVmVyc2lvbjogNC4yCisiICAgICAgVmVyc2lvbjogNC42ICAgICAgCiAiICAgICRSZXZpc2lvbiQKLSIgICAgICRIZWFkVVJMOiBodHRwczovL3N2bi5zb3VyY2Vmb3JnZS5uZXQvc3Zucm9vdC9nbnVhZGEvdHJ1bmsvdG9vbHMvdmltL2F1dG9sb2FkL2RlY2FkYS52aW0gJAorIiAgICAgJEhlYWRVUkw6IGh0dHBzOi8vZ251YWRhLnN2bi5zb3VyY2Vmb3JnZS5uZXQvc3Zucm9vdC9nbnVhZGEvdHJ1bmsvdG9vbHMvdmltL2F1dG9sb2FkL2RlY2FkYS52aW0gJAogIiAgICAgIEhpc3Rvcnk6IDIxLjA3LjIwMDYgTUsgTmV3IERlYyBBZGEKICIgICAgICAgICAgICAgICAxNS4xMC4yMDA2IE1LIEJyYW0ncyBzdWdnZXN0aW9uIGZvciBydW50aW1lIGludGVncmF0aW9uCiAiICAgICAgICAgICAgICAgMDUuMTEuMjAwNiBNSyBCcmFtIHN1Z2dlc3RlZCBub3QgdG8gdXNlIGluY2x1ZGUgcHJvdGVjdGlvbiBmb3IKQEAgLTQ1LDcgKzQ1LDcgQEAKICAgICAgIGNhbGwgYWRhI1N3aXRjaF9TZXNzaW9uIChhOjEpCiAgICBlbHNlaWYgYXJnYygpID09IDAgJiYgc3RybGVuICh2OnNlcnZlcm5hbWUpID4gMAogICAgICAgY2FsbCBhZGEjU3dpdGNoX1Nlc3Npb24gKAotCSBcIGV4cGFuZCgnficpWzA6LTJdIC4gIi52aW1maWxlcy5zZXNzaW9uXSIgLgorCSBcIGV4cGFuZCgnficpWzA6LTJdIC4gIi52aW1maWxlcy5zZXNzaW9uXWRlY2FkYV8iIC4KIAkgXCB2OnNlcnZlcm5hbWUgLiAiLnZpbSIpCiAgICBlbmRpZgogICAgcmV0dXJuCmRpZmYgLS1naXQgYS9ydW50aW1lL2F1dG9sb2FkL2dldHNjcmlwdC52aW0gYi9ydW50aW1lL2F1dG9sb2FkL2dldHNjcmlwdC52aW0KaW5kZXggYzFlMWFhMy4uNWE0NjZjYiAxMDA2NDQKLS0tIGEvcnVudGltZS9hdXRvbG9hZC9nZXRzY3JpcHQudmltCisrKyBiL3J1bnRpbWUvYXV0b2xvYWQvZ2V0c2NyaXB0LnZpbQpAQCAtMSw4ICsxLDggQEAKICIgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAiIGdldHNjcmlwdC52aW0KICIgIEF1dGhvcjoJQ2hhcmxlcyBFLiBDYW1wYmVsbCwgSnIuCi0iICBEYXRlOglNYXkgMzAsIDIwMDgKLSIgIFZlcnNpb246CTMwCisiICBEYXRlOglKdWwgMTAsIDIwMDgKKyIgIFZlcnNpb246CTMxCiAiICBJbnN0YWxsaW5nOgk6aGVscCBnbHZzLWluc3RhbGwKICIgIFVzYWdlOgk6aGVscCBnbHZzCiAiCkBAIC0yMyw3ICsyMyw3IEBACiBpZiBleGlzdHMoImc6bG9hZGVkX2dldHNjcmlwdCIpCiAgZmluaXNoCiBlbmRpZgotbGV0IGc6bG9hZGVkX2dldHNjcmlwdD0gInYzMCIKK2xldCBnOmxvYWRlZF9nZXRzY3JpcHQ9ICJ2MzEiCiAKICIgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAiIEdsb2JhbCBWYXJpYWJsZXM6IHt7ezEKQEAgLTE0MCw2ICsxNDAsMTIgQEAKICAgIHJldHVybgogICBlbmRpZgogCisgICIgaW5zdXJlIHRoYXQgZm5hbWVlc2NhcGUoKSBpcyBhdmFpbGFibGUKKyAgaWYgIWV4aXN0cygiKmZuYW1lZXNjYXBlIikKKyAgIGVjaG9lcnIgIkdldExhdGVzdFZpbVNjcmlwdHMgbmVlZHMgZm5hbWVlc2NhcGUoKSAocHJvdmlkZWQgYnkgNy4xLjI5OSBvciBsYXRlcikiCisgICByZXR1cm4KKyAgZW5kaWYKKwogICAiIEZpbmQgdGhlIC4uLi9HZXRMYXRlc3Qgc3ViZGlyZWN0b3J5IHVuZGVyIHRoZSBydW50aW1lcGF0aAogICBmb3IgZGF0YWRpciBpbiBzcGxpdCgmcnRwLCcsJykgKyBbJyddCiAgICBpZiBpc2RpcmVjdG9yeShkYXRhZGlyLiIvR2V0TGF0ZXN0IikKQEAgLTE4MSw3ICsxODcsOCBAQAogCiAgICIgZG9uJ3QgbGV0IGFueSBldmVudHMgaW50ZXJmZXJlIChsaWtlIHdpbm1hbmFnZXIncywgdGFnbGlzdCdzLCBldGMpCiAgIGxldCBlaWtlZXA9ICZlaQotICBzZXQgZWk9YWxsCisgIGxldCBobHNrZWVwPSAmaGxzCisgIHNldCBlaT1hbGwgaGxzJnZpbQogCiAgICIgcmVjb3JkIGN1cnJlbnQgZGlyZWN0b3J5LCBjaGFuZ2UgdG8gZGF0YWRpciwgb3BlbiBzcGxpdCB3aW5kb3cgd2l0aAogICAiIGRhdGFmaWxlCkBAIC0zMTYsNiArMzIzLDcgQEAKICAgIiByZXN0b3JlIGV2ZW50cyBhbmQgY3VycmVudCBkaXJlY3RvcnkKICAgZXhlICJjZCAiLmZuYW1lZXNjYXBlKHN1YnN0aXR1dGUob3JpZ2RpciwnXCcsJy8nLCdnZScpKQogICBsZXQgJmVpPSBlaWtlZXAKKyAgbGV0ICZobHM9IGhsc2tlZXAKICAgc2V0bG9jYWwgbm9segogIiAgY2FsbCBEcmVkaXIoIkJVRkZFUiBURVNUIChHZXRMYXRlc3RWaW1TY3JpcHRzIDIpIiwibHMhIikKICIgIGNhbGwgRHJldCgiR2V0TGF0ZXN0VmltU2NyaXB0cyA6IGRpZCAiLnM6ZG93bmxvYWRzLiIgZG93bmxvYWRzIikKQEAgLTUwNiwxNCArNTE0LDE0IEBACiAgICAgbmV3fGV4ZSAic2lsZW50IHIhIi5nOkdldExhdGVzdFZpbVNjcmlwdHNfd2dldC4iICIuZzpHZXRMYXRlc3RWaW1TY3JpcHRzX29wdGlvbnMuIiAiLnM6RXNjYXBlKHNuYW1lKS4iICIuczpFc2NhcGUoJ2h0dHA6Ly92aW0uc2YubmV0L3NjcmlwdHMvZG93bmxvYWRfc2NyaXB0LnBocD9zcmNfaWQ9Jy5sYXRlc3RzcmNpZCl8cQogICAgZWxzZQogIiAgICBjYWxsIERlY2hvKCJleGUgc2lsZW50ICEiLmc6R2V0TGF0ZXN0VmltU2NyaXB0c193Z2V0LiIgIi5nOkdldExhdGVzdFZpbVNjcmlwdHNfb3B0aW9ucy4iICIuczpFc2NhcGUoc25hbWUpLiIgIi5zOkVzY2FwZSgnaHR0cDovL3ZpbS5zZi5uZXQvc2NyaXB0cy9kb3dubG9hZF9zY3JpcHQucGhwP3NyY19pZD0nKSkKLSAgICBleGUgInNpbGVudCAhIi5nOkdldExhdGVzdFZpbVNjcmlwdHNfd2dldC4iICIuZzpHZXRMYXRlc3RWaW1TY3JpcHRzX29wdGlvbnMuIiAiLnM6RXNjYXBlKHNuYW1lKS4iICIuczpFc2NhcGUoJ2h0dHA6Ly92aW0uc2YubmV0L3NjcmlwdHMvZG93bmxvYWRfc2NyaXB0LnBocD9zcmNfaWQ9JykKKyAgICBleGUgInNpbGVudCAhIi5nOkdldExhdGVzdFZpbVNjcmlwdHNfd2dldC4iICIuZzpHZXRMYXRlc3RWaW1TY3JpcHRzX29wdGlvbnMuIiAiLnM6RXNjYXBlKHNuYW1lKS4iICIuczpFc2NhcGUoJ2h0dHA6Ly92aW0uc2YubmV0L3NjcmlwdHMvZG93bmxvYWRfc2NyaXB0LnBocD9zcmNfaWQ9JykubGF0ZXN0c3JjaWQKICAgIGVuZGlmCiAKICAgICIgQXV0b0luc3RhbGw6IG9ubHkgaWYgZG9hdXRvaW5zdGFsbCBoYXMgYmVlbiByZXF1ZXN0ZWQgYnkgdGhlIHBsdWdpbiBpdHNlbGYKICAgIGlmIGRvYXV0b2luc3RhbGwKICIgICAgY2FsbCBEZWNobygiYXR0ZW1wdGluZyB0byBkbyBhdXRvaW5zdGFsbDogZ2V0Y3dkPCIuZ2V0Y3dkKCkuIj4gZmlsZXJlYWRhYmxlKCIuc25hbWUuIik9Ii5maWxlcmVhZGFibGUoc25hbWUpKQogICAgIGlmIGZpbGVyZWFkYWJsZShzbmFtZSkKLSAgICAgY2FsbCBEZWNobygiZXhlIHNpbGVudCAhIi5nOkdldExhdGVzdFZpbVNjcmlwdHNfbXYuIiAiLnM6RXNjYXBlKHNuYW1lKS4iICIuczpFc2NhcGUoczphdXRvaW5zdGFsbCkpCisiICAgICBjYWxsIERlY2hvKCJleGUgc2lsZW50ICEiLmc6R2V0TGF0ZXN0VmltU2NyaXB0c19tdi4iICIuczpFc2NhcGUoc25hbWUpLiIgIi5zOkVzY2FwZShzOmF1dG9pbnN0YWxsKSkKICAgICAgZXhlICJzaWxlbnQgISIuZzpHZXRMYXRlc3RWaW1TY3JpcHRzX212LiIgIi5zOkVzY2FwZShzbmFtZSkuIiAiLnM6RXNjYXBlKHM6YXV0b2luc3RhbGwpCiAgICAgIGxldCBjdXJkaXIgICAgPSBlc2NhcGUoc3Vic3RpdHV0ZShnZXRjd2QoKSwnXCcsJy8nLCdnZScpLCJ8W10qJ1wiICMiKQogICAgICBsZXQgaW5zdGFsbGRpcj0gY3VyZGlyLiIvSW5zdGFsbGVkIgpkaWZmIC0tZ2l0IGEvcnVudGltZS9hdXRvbG9hZC9nbmF0LnZpbSBiL3J1bnRpbWUvYXV0b2xvYWQvZ25hdC52aW0KaW5kZXggNWY5OTQ1MC4uY2ViZGU4ZSAxMDA2NDQKLS0tIGEvcnVudGltZS9hdXRvbG9hZC9nbmF0LnZpbQorKysgYi9ydW50aW1lL2F1dG9sb2FkL2duYXQudmltCkBAIC0zLDEyICszLDEzIEBACiAiICAgICBMYW5ndWFnZTogQWRhIChHTkFUKQogIiAgICAgICAgICAkSWQkCiAiICAgIENvcHlyaWdodDogQ29weXJpZ2h0IChDKSAyMDA2IE1hcnRpbiBLcmlzY2hpawotIiAgIE1haW50YWluZXI6CU1hcnRpbiBLcmlzY2hpaworIiAgIE1haW50YWluZXI6CU1hcnRpbiBLcmlzY2hpIDxrcmlzY2hpa0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+aworIgkJTmVkIE9raWUgPG5va2llQHJhZGZvcmQuZWR1PgogIiAgICAgICRBdXRob3IkCiAiICAgICAgICAkRGF0ZSQKLSIgICAgICBWZXJzaW9uOiA0LjIKKyIgICAgICBWZXJzaW9uOiA0LjYKICIgICAgJFJldmlzaW9uJAotIiAgICAgJEhlYWRVUkw6IGh0dHBzOi8vc3ZuLnNvdXJjZWZvcmdlLm5ldC9zdm5yb290L2dudWFkYS90cnVuay90b29scy92aW0vYXV0b2xvYWQvZ25hdC52aW0gJAorIiAgICAgJEhlYWRVUkw6IGh0dHBzOi8vZ251YWRhLnN2bi5zb3VyY2Vmb3JnZS5uZXQvc3Zucm9vdC9nbnVhZGEvdHJ1bmsvdG9vbHMvdmltL2F1dG9sb2FkL2duYXQudmltICQKICIgICAgICBIaXN0b3J5OiAyNC4wNS4yMDA2IE1LIFVuaWZpZWQgSGVhZGVycwogIgkJMTYuMDcuMjAwNiBNSyBBZGEtTW9kZSBhcyB2aW0tYmFsbAogIgkJMDUuMDguMjAwNiBNSyBBZGQgc2Vzc2lvbiBzdXBwb3J0CkBAIC0xNiw2ICsxNyw3IEBACiAiICAgICAgICAgICAgICAgMDUuMTEuMjAwNiBNSyBCcmFtIHN1Z2dlc3RlZCBub3QgdG8gdXNlIGluY2x1ZGUgcHJvdGVjdGlvbiBmb3IKICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1dG9sb2FkCiAiCQkwNS4xMS4yMDA2IE1LIEJyYW0gc3VnZ2VzdGVkIHRvIHNhdmUgb24gc3BhY2VzCisiCQkxOS4wOS4yMDA3IE5PIHVzZSBwcm9qZWN0IGZpbGUgb25seSB3aGVuIHRoZXJlIGlzIGEgcHJvamVjdAogIiAgICBIZWxwIFBhZ2U6IGNvbXBpbGVyLWduYXQKICItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIApAQCAtNzEsMTMgKzczLDE5IEBACiAgICAgICBleGVjdXRlICdta3Nlc3Npb24hICcgLiB2OnRoaXNfc2Vzc2lvbgogICAgZW5kaWYKIAotICAgaWYgc3RybGVuIChzZWxmLlByb2plY3RfRmlsZSkgPiAwCi0gICAgICBjYWxsIGFkYSNTd2l0Y2hfU2Vzc2lvbiAoCi0JIFwgZXhwYW5kKCd+JykgLiAiL3ZpbWZpbGVzL3Nlc3Npb24vIiAuCi0JIFwgZm5hbWVtb2RpZnkgKHNlbGYuUHJvamVjdF9GaWxlLCAiOnQ6ciIpIC4gIi52aW0iKQotICAgZWxzZQotICAgICAgY2FsbCBhZGEjU3dpdGNoX1Nlc3Npb24gKCcnKQotICAgZW5kaWYKKyAgICJpZiBzdHJsZW4gKHNlbGYuUHJvamVjdF9GaWxlKSA+IDAKKyAgICAgICJpZiBoYXMoInZtcyIpCisJICJjYWxsIGFkYSNTd2l0Y2hfU2Vzc2lvbiAoCisJICAgICJcIGV4cGFuZCgnficpWzA6LTJdIC4gIi52aW1maWxlcy5zZXNzaW9uXWduYXRfIiAuCisJICAgICJcIGZuYW1lbW9kaWZ5IChzZWxmLlByb2plY3RfRmlsZSwgIjp0OnIiKSAuICIudmltIikKKyAgICAgICJlbHNlCisJICJjYWxsIGFkYSNTd2l0Y2hfU2Vzc2lvbiAoCisJICAgICJcIGV4cGFuZCgnficpIC4gIi92aW1maWxlcy9zZXNzaW9uL2duYXRfIiAuCisJICAgICJcIGZuYW1lbW9kaWZ5IChzZWxmLlByb2plY3RfRmlsZSwgIjp0OnIiKSAuICIudmltIikKKyAgICAgICJlbmRpZgorICAgImVsc2UKKyAgICAgICJjYWxsIGFkYSNTd2l0Y2hfU2Vzc2lvbiAoJycpCisgICAiZW5kaWYKIAogICAgcmV0dXJuCiBlbmRmdW5jdGlvbiBnbmF0I1NldF9Qcm9qZWN0X0ZpbGUJCQkJICAgICAiIH19fTEKZGlmZiAtLWdpdCBhL3J1bnRpbWUvYXV0b2xvYWQvZ3ppcC52aW0gYi9ydW50aW1lL2F1dG9sb2FkL2d6aXAudmltCmluZGV4IDFhZDI5ZWEuLjEyNDVmZGQgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvYXV0b2xvYWQvZ3ppcC52aW0KKysrIGIvcnVudGltZS9hdXRvbG9hZC9nemlwLnZpbQpAQCAtMSw2ICsxLDYgQEAKICIgVmltIGF1dG9sb2FkIGZpbGUgZm9yIGVkaXRpbmcgY29tcHJlc3NlZCBmaWxlcy4KICIgTWFpbnRhaW5lcjogQnJhbSBNb29sZW5hYXIgPEJyYW1AdmltLm9yZz4KLSIgTGFzdCBDaGFuZ2U6IDIwMDggTWF5IDI5CisiIExhc3QgQ2hhbmdlOiAyMDA4IEp1bCAwNAogCiAiIFRoZXNlIGZ1bmN0aW9ucyBhcmUgdXNlZCBieSB0aGUgZ3ppcCBwbHVnaW4uCiAKQEAgLTE1Myw5ICsxNTMsOSBAQAogICAgIGxldCBubXQgPSBzOnRlbXBuYW1lKG5tKQogICAgIGlmIHJlbmFtZShubSwgbm10KSA9PSAwCiAgICAgICBpZiBleGlzdHMoImI6Z3ppcF9jb21wX2FyZyIpCi0JY2FsbCBzeXN0ZW0oYTpjbWQgLiAiICIgLiBiOmd6aXBfY29tcF9hcmcgLiAiICIgLiBzOmVzY2FwZShubXQpKQorCWNhbGwgc3lzdGVtKGE6Y21kIC4gIiAiIC4gYjpnemlwX2NvbXBfYXJnIC4gIiAtLSAiIC4gczplc2NhcGUobm10KSkKICAgICAgIGVsc2UKLQljYWxsIHN5c3RlbShhOmNtZCAuICIgIiAuIHM6ZXNjYXBlKG5tdCkpCisJY2FsbCBzeXN0ZW0oYTpjbWQgLiAiIC0tICIgLiBzOmVzY2FwZShubXQpKQogICAgICAgZW5kaWYKICAgICAgIGNhbGwgcmVuYW1lKG5tdCAuICIuIiAuIGV4cGFuZCgiPGFmaWxlPjplIiksIG5tKQogICAgIGVuZGlmCkBAIC0xODAsMTAgKzE4MCwxMCBAQAogICAgIGlmIHJlbmFtZShubSwgbm10ZSkgPT0gMAogICAgICAgaWYgJnBhdGNobW9kZSAhPSAiIiAmJiBnZXRmc2l6ZShubSAuICZwYXRjaG1vZGUpID09IC0xCiAJIiBDcmVhdGUgcGF0Y2htb2RlIGZpbGUgYnkgY3JlYXRpbmcgdGhlIGRlY29tcHJlc3NlZCBmaWxlIG5ldwotCWNhbGwgc3lzdGVtKGE6Y21kIC4gIiAtYyAiIC4gczplc2NhcGUobm10ZSkgLiAiID4gIiAuIHM6ZXNjYXBlKG5tdCkpCisJY2FsbCBzeXN0ZW0oYTpjbWQgLiAiIC1jIC0tICIgLiBzOmVzY2FwZShubXRlKSAuICIgPiAiIC4gczplc2NhcGUobm10KSkKIAljYWxsIHJlbmFtZShubXRlLCBubSAuICZwYXRjaG1vZGUpCiAgICAgICBlbHNlCi0JY2FsbCBzeXN0ZW0oYTpjbWQgLiAiICIgLiBzOmVzY2FwZShubXRlKSkKKwljYWxsIHN5c3RlbShhOmNtZCAuICIgLS0gIiAuIHM6ZXNjYXBlKG5tdGUpKQogICAgICAgZW5kaWYKICAgICAgIGNhbGwgcmVuYW1lKG5tdCwgbm0pCiAgICAgZW5kaWYKZGlmZiAtLWdpdCBhL3J1bnRpbWUvYXV0b2xvYWQvbmV0cncudmltIGIvcnVudGltZS9hdXRvbG9hZC9uZXRydy52aW0KaW5kZXggNjA2NGE2NS4uNjIyMTI5NCAxMDA2NDQKLS0tIGEvcnVudGltZS9hdXRvbG9hZC9uZXRydy52aW0KKysrIGIvcnVudGltZS9hdXRvbG9hZC9uZXRydy52aW0KQEAgLTEsNyArMSw3IEBACiAiIG5ldHJ3LnZpbTogSGFuZGxlcyBmaWxlIHRyYW5zZmVyIGFuZCByZW1vdGUgZGlyZWN0b3J5IGxpc3RpbmcgYWNyb3NzCiAiICAgICAgICAgICAgQVVUT0xPQUQgU0VDVElPTgotIiBEYXRlOgkJSnVuIDEyLCAyMDA4Ci0iIFZlcnNpb246CTEyNQorIiBEYXRlOgkJSnVsIDEyLCAyMDA4CisiIFZlcnNpb246CTEyNwogIiBNYWludGFpbmVyOglDaGFybGVzIEUgQ2FtcGJlbGwsIEpyIDxOZHJPY2hpcEBTY2FtcGJlbGxQZmFtaWx5LkFiaXpNLU5PU1BBTT4KICIgR2V0TGF0ZXN0VmltU2NyaXB0czogMTA3NSAxIDpBdXRvSW5zdGFsbDogbmV0cncudmltCiAiIENvcHlyaWdodDogICAgQ29weXJpZ2h0IChDKSAxOTk5LTIwMDggQ2hhcmxlcyBFLiBDYW1wYmVsbCwgSnIuIHt7ezEKQEAgLTI3LDE5ICsyNywxMyBAQAogIGxldCBzOldBUk5JTkcgPSAxCiAgbGV0IHM6RVJST1IgICA9IDIKIGVuZGlmCi1sZXQgZzpsb2FkZWRfbmV0cncgPSAidjEyNSIKK2xldCBnOmxvYWRlZF9uZXRydyA9ICJ2MTI3IgogCiAiIHNhbml0eSBjaGVja3MKIGlmIHY6dmVyc2lvbiA8IDcwMAogIGNhbGwgbmV0cncjRXJyb3JNc2coczpXQVJOSU5HLCJ5b3UgbmVlZCB2aW0gdmVyc2lvbiA3LjAgb3IgbGF0ZXIgZm9yIHZlcnNpb24gIi5nOmxvYWRlZF9uZXRydy4iIG9mIG5ldHJ3IiwxKQogIGZpbmlzaAogZW5kaWYKLWlmICFleGlzdHMoIipzaGVsbGVzY2FwZSIpCi0gY2FsbCBuZXRydyNFcnJvck1zZyhzOkVSUk9SLCJ5b3UgbmVlZCB0byB1cGdhZGUgeW91ciB2aW0gc28gdGhhdCBpdCBoYXMgc2hlbGxlc2NhcGUoKSIsNjQpCi1lbmRpZgotaWYgIWV4aXN0cygiKmZuYW1lZXNjYXBlIikKLSBjYWxsIG5ldHJ3I0Vycm9yTXNnKHM6RVJST1IsInlvdSBuZWVkIHRvIHVwZ2FkZSB5b3VyIHZpbSBzbyB0aGF0IGl0IGhhcyBmbmFtZWVzY2FwZSgpIiw2NSkKLWVuZGlmCiAKIGxldCBzOmtlZXBjcG89ICZjcG8KIHNldGxvY2FsIGNwbyZ2aW0KQEAgLTMxMiw2ICszMDYsOSBAQAogICIgYWx0ZXJuYXRpdmVzOiBkYXRlIHNpemUKICBsZXQgZzpuZXRyd19zb3J0X2J5PSAibmFtZSIKIGVuZGlmCitpZiAhZXhpc3RzKCJnOm5ldHJ3X3NvcnRfb3B0aW9ucyIpCisgbGV0IGc6bmV0cndfc29ydF9vcHRpb25zPSAiIgorZW5kaWYKIGlmICFleGlzdHMoImc6bmV0cndfc29ydF9kaXJlY3Rpb24iKQogICIgYWx0ZXJuYXRpdmU6IHJldmVyc2UgICh6IHkgeCAuLi4pCiAgbGV0IGc6bmV0cndfc29ydF9kaXJlY3Rpb249ICJub3JtYWwiCkBAIC00MTUsNyArNDEyLDcgQEAKICAgbGV0IHthOnZ0fW5ldHJ3X3R3a2VlcCAgICA9ICZsOnR3ICAgICAgICAgICAiIHRleHR3aWR0aAogICBsZXQge2E6dnR9bmV0cndfd2lna2VlcCAgID0gJmw6d2lnICAgICAgICAgICIgd2lsZGlnbm9yZQogICBpZiBoYXMoIndpbjMyIikgJiYgIWhhcygid2luOTUiKQotICAgbGV0IHthOnZ0fW5ldHJ3X3N3ZmtlZXA9ICZsOnN3ZiAgICAgICAgICAgICIgc3dhcGZpbGUKKyAgIGxldCB7YTp2dH1uZXRyd19zd2ZrZWVwICA9ICZsOnN3ZiAgICAgICAgICAiIHN3YXBmaWxlCiAgIGVuZGlmCiAgIGlmICZnbyA9fiAnYScgfCBzaWxlbnQhIGxldCB7YTp2dH1uZXRyd19yZWdzdGFyID0gQCogfCBlbmRpZgogICBzaWxlbnQhIGxldCB7YTp2dH1uZXRyd19yZWdzbGFzaD0gQC8KQEAgLTQyOCw3ICs0MjUsNyBAQAogZnVuISBzOk5ldHJ3T3B0aW9uUmVzdG9yZSh2dCkKICIgIGNhbGwgRGZ1bmMoInM6TmV0cndPcHRpb25SZXN0b3JlKHZ0PCIuYTp2dC4iPikgd2luIyIud2lubnIoKS4iIGJ1ZiMiLmJ1Zm5yKCIlIikpCiAgIGlmICFleGlzdHMoInthOnZ0fW5ldHJ3X29wdGlvbnNhdmUiKQotIiAgIGNhbGwgRGVjaG8oInJvPSIuJnJvLiIgbWE9Ii4mbWEuIiBtb2Q9Ii4mbW9kLiIgd3JhcD0iLiZ3cmFwKQorIiAgIGNhbGwgRGVjaG8oInJvPSIuJmw6cm8uIiBtYT0iLiZsOm1hLiIgbW9kPSIuJmw6bW9kLiIgd3JhcD0iLiZsOndyYXApCiAiICAgY2FsbCBEcmV0KCJzOk5ldHJ3T3B0aW9uUmVzdG9yZSA6ICIuYTp2dC4ibmV0cndfb3B0aW9uc2F2ZSBkb2Vzbid0IGV4aXN0IikKICAgIHJldHVybgogICBlbmRpZgpAQCAtNDkyLDcgKzQ4OSw3IEBACiAKICIgIGNhbGwgRGVjaG8oImc6bmV0cndfa2VlcGRpcj0iLmc6bmV0cndfa2VlcGRpci4iOiBnZXRjd2Q8Ii5nZXRjd2QoKS4iPiBhY2Q9Ii4mYWNkKQogIiAgY2FsbCBEZWNobygiZm89Ii4mZm8uKGV4aXN0cygiJmFjZCIpPyAiIGFjZD0iLiZhY2QgOiAiIGFjZCBkb2Vzbid0IGV4aXN0IikpCi0iICBjYWxsIERlY2hvKCJybz0iLiZyby4iIG1hPSIuJm1hLiIgbW9kPSIuJm1vZC4iIHdyYXA9Ii4md3JhcCkKKyIgIGNhbGwgRGVjaG8oInJvPSIuJmw6cm8uIiBtYT0iLiZsOm1hLiIgbW9kPSIuJmw6bW9kLiIgd3JhcD0iLiZsOndyYXApCiAiICBjYWxsIERyZXQoInM6TmV0cndPcHRpb25SZXN0b3JlIDogd2luIyIud2lubnIoKS4iIGJ1ZiMiLmJ1Zm5yKCIlIikpCiBlbmRmdW4KIApAQCAtNTM2LDEyICs1MzMsMTIgQEAKICAgIGZvciBkaXIgaW4gc3BsaXQoJnJ0cCwnLCcpCiAgICAgaWYgZmlsZXJlYWRhYmxlKGRpci4iL3BsdWdpbi9uZXRyd1BsdWdpbi52aW0iKQogIiAgICAgY2FsbCBEZWNobygicmVtb3ZpbmcgbmV0cnctcmVsYXRlZCBmaWxlcyBmcm9tICIuZGlyKQotICAgICBpZiBzOlN5c3RlbSgiZGVsZXRlIixkaXIuIi9wbHVnaW4vbmV0cndQbHVnaW4udmltIikgICAgICAgIHxjYWxsIG5ldHJ3I0Vycm9yTXNnKDEsInVuYWJsZSB0byByZW1vdmUgIi5kaXIuIi9wbHVnaW4vbmV0cndQbHVnaW4udmltIiw1NSkgICAgICAgIHxlbmRpZgotICAgICBpZiBzOlN5c3RlbSgiZGVsZXRlIixkaXIuIi9hdXRvbG9hZC9uZXRyd0ZpbGVIYW5kbGVycy52aW0iKXxjYWxsIG5ldHJ3I0Vycm9yTXNnKDEsInVuYWJsZSB0byByZW1vdmUgIi5kaXIuIi9hdXRvbG9hZC9uZXRyd0ZpbGVIYW5kbGVycy52aW0iLDU1KXxlbmRpZgotICAgICBpZiBzOlN5c3RlbSgiZGVsZXRlIixkaXIuIi9hdXRvbG9hZC9uZXRyd1NldHRpbmdzLnZpbSIpICAgIHxjYWxsIG5ldHJ3I0Vycm9yTXNnKDEsInVuYWJsZSB0byByZW1vdmUgIi5kaXIuIi9hdXRvbG9hZC9uZXRyd1NldHRpbmdzLnZpbSIsNTUpICAgIHxlbmRpZgotICAgICBpZiBzOlN5c3RlbSgiZGVsZXRlIixkaXIuIi9hdXRvbG9hZC9uZXRydy52aW0iKSAgICAgICAgICAgIHxjYWxsIG5ldHJ3I0Vycm9yTXNnKDEsInVuYWJsZSB0byByZW1vdmUgIi5kaXIuIi9hdXRvbG9hZC9uZXRydy52aW0iLDU1KSAgICAgICAgICAgIHxlbmRpZgotICAgICBpZiBzOlN5c3RlbSgiZGVsZXRlIixkaXIuIi9zeW50YXgvbmV0cncudmltIikgICAgICAgICAgICAgIHxjYWxsIG5ldHJ3I0Vycm9yTXNnKDEsInVuYWJsZSB0byByZW1vdmUgIi5kaXIuIi9zeW50YXgvbmV0cncudmltIiw1NSkgICAgICAgICAgICAgIHxlbmRpZgotICAgICBpZiBzOlN5c3RlbSgiZGVsZXRlIixkaXIuIi9zeW50YXgvbmV0cndsaXN0LnZpbSIpICAgICAgICAgIHxjYWxsIG5ldHJ3I0Vycm9yTXNnKDEsInVuYWJsZSB0byByZW1vdmUgIi5kaXIuIi9zeW50YXgvbmV0cndsaXN0LnZpbSIsNTUpICAgICAgICAgIHxlbmRpZgorICAgICBpZiBzOk5ldHJ3RGVsZXRlKGRpci4iL3BsdWdpbi9uZXRyd1BsdWdpbi52aW0iKSAgICAgICAgfGNhbGwgbmV0cncjRXJyb3JNc2coMSwidW5hYmxlIHRvIHJlbW92ZSAiLmRpci4iL3BsdWdpbi9uZXRyd1BsdWdpbi52aW0iLDU1KSAgICAgICAgfGVuZGlmCisgICAgIGlmIHM6TmV0cndEZWxldGUoZGlyLiIvYXV0b2xvYWQvbmV0cndGaWxlSGFuZGxlcnMudmltIil8Y2FsbCBuZXRydyNFcnJvck1zZygxLCJ1bmFibGUgdG8gcmVtb3ZlICIuZGlyLiIvYXV0b2xvYWQvbmV0cndGaWxlSGFuZGxlcnMudmltIiw1NSl8ZW5kaWYKKyAgICAgaWYgczpOZXRyd0RlbGV0ZShkaXIuIi9hdXRvbG9hZC9uZXRyd1NldHRpbmdzLnZpbSIpICAgIHxjYWxsIG5ldHJ3I0Vycm9yTXNnKDEsInVuYWJsZSB0byByZW1vdmUgIi5kaXIuIi9hdXRvbG9hZC9uZXRyd1NldHRpbmdzLnZpbSIsNTUpICAgIHxlbmRpZgorICAgICBpZiBzOk5ldHJ3RGVsZXRlKGRpci4iL2F1dG9sb2FkL25ldHJ3LnZpbSIpICAgICAgICAgICAgfGNhbGwgbmV0cncjRXJyb3JNc2coMSwidW5hYmxlIHRvIHJlbW92ZSAiLmRpci4iL2F1dG9sb2FkL25ldHJ3LnZpbSIsNTUpICAgICAgICAgICAgfGVuZGlmCisgICAgIGlmIHM6TmV0cndEZWxldGUoZGlyLiIvc3ludGF4L25ldHJ3LnZpbSIpICAgICAgICAgICAgICB8Y2FsbCBuZXRydyNFcnJvck1zZygxLCJ1bmFibGUgdG8gcmVtb3ZlICIuZGlyLiIvc3ludGF4L25ldHJ3LnZpbSIsNTUpICAgICAgICAgICAgICB8ZW5kaWYKKyAgICAgaWYgczpOZXRyd0RlbGV0ZShkaXIuIi9zeW50YXgvbmV0cndsaXN0LnZpbSIpICAgICAgICAgIHxjYWxsIG5ldHJ3I0Vycm9yTXNnKDEsInVuYWJsZSB0byByZW1vdmUgIi5kaXIuIi9zeW50YXgvbmV0cndsaXN0LnZpbSIsNTUpICAgICAgICAgIHxlbmRpZgogICAgICBsZXQgZGlkZGlyPSBkaXIKICAgICAgbGV0IGRpZGRlbD0gZGlkZGVsICsgMQogICAgICBpZiAhYTpzeXN8YnJlYWt8ZW5kaWYKQEAgLTcwNCw4ICs3MDEsOCBAQAogICAgICBsZXQgdWlkX21hY2hpbmUgPSBnOm5ldHJ3X21hY2hpbmUKICAgICBlbmRpZgogICAgZW5kaWYKLSIgICBjYWxsIERlY2hvKCJleGVjdXRpbmc6ICEiLmc6bmV0cndfcmNwX2NtZC4iICIuczpuZXRyd19yY3Btb2RlLiIgIi5zaGVsbGVzY2FwZSh1aWRfbWFjaGluZS4iOiIuZXNjYXBlKGI6bmV0cndfZm5hbWUsJyA/JjsnKS4iICIudG1wZmlsZSkKLSAgIGV4ZSBzOm5ldHJ3X3NpbGVudHhmZXIuIiEiLmc6bmV0cndfcmNwX2NtZC4iICIuczpuZXRyd19yY3Btb2RlLiIgIi5zaGVsbGVzY2FwZSh1aWRfbWFjaGluZS4iOiIuZXNjYXBlKGI6bmV0cndfZm5hbWUsJyA/JjsnKS4iICIudG1wZmlsZSkKKyIgICBjYWxsIERlY2hvKCJleGVjdXRpbmc6ICEiLmc6bmV0cndfcmNwX2NtZC4iICIuczpuZXRyd19yY3Btb2RlLiIgIi5zaGVsbGVzY2FwZSh1aWRfbWFjaGluZS4iOiIuYjpuZXRyd19mbmFtZSwxKS4iICIuc2hlbGxlc2NhcGUodG1wZmlsZSwxKSkKKyAgIGV4ZSBzOm5ldHJ3X3NpbGVudHhmZXIuIiEiLmc6bmV0cndfcmNwX2NtZC4iICIuczpuZXRyd19yY3Btb2RlLiIgIi5zaGVsbGVzY2FwZSh1aWRfbWFjaGluZS4iOiIuYjpuZXRyd19mbmFtZSwxKS4iICIuc2hlbGxlc2NhcGUodG1wZmlsZSwxKSkKICAgIGxldCByZXN1bHQgICAgICAgICAgID0gczpOZXRyd0dldEZpbGUocmVhZGNtZCwgdG1wZmlsZSwgYjpuZXRyd19tZXRob2QpCiAgICBsZXQgYjpuZXRyd19sYXN0ZmlsZSA9IGNob2ljZQogCkBAIC03MjUsMTggKzcyMiwxOCBAQAogICAgICBleGUgInB1dCA9JyIuJ2dldCBcIicubmV0cndfZm5hbWUuJ1wiICcudG1wZmlsZS4iJyIKICIgICAgIGNhbGwgRGVjaG8oImZpbHRlciBpbnB1dDogIi5nZXRsaW5lKCcuJykpCiAgICAgIGlmIGV4aXN0cygiZzpuZXRyd19wb3J0IikgJiYgZzpuZXRyd19wb3J0ICE9ICIiCi0iICAgICAgY2FsbCBEZWNobygiZXhlY3V0aW5nOiAlISIuZzpuZXRyd19mdHBfY21kLiIgLWkgIi5nOm5ldHJ3X21hY2hpbmUuIiAiLmc6bmV0cndfcG9ydCkKLSAgICAgIGV4ZSBzOm5ldHJ3X3NpbGVudHhmZXIuIiUhIi5nOm5ldHJ3X2Z0cF9jbWQuIiAtaSAiLmc6bmV0cndfbWFjaGluZS4iICIuZzpuZXRyd19wb3J0CisiICAgICAgY2FsbCBEZWNobygiZXhlY3V0aW5nOiAlISIuZzpuZXRyd19mdHBfY21kLiIgLWkgIi5zaGVsbGVzY2FwZShnOm5ldHJ3X21hY2hpbmUuIiAiLmc6bmV0cndfcG9ydCwxKSkKKyAgICAgIGV4ZSBzOm5ldHJ3X3NpbGVudHhmZXIuIiUhIi5nOm5ldHJ3X2Z0cF9jbWQuIiAtaSAiLnNoZWxsZXNjYXBlKGc6bmV0cndfbWFjaGluZS4iICIuZzpuZXRyd19wb3J0LDEpCiAgICAgIGVsc2UKLSIgICAgICBjYWxsIERlY2hvKCJleGVjdXRpbmc6ICUhIi5nOm5ldHJ3X2Z0cF9jbWQuIiAtaSAiLmc6bmV0cndfbWFjaGluZSkKLSAgICAgIGV4ZSBzOm5ldHJ3X3NpbGVudHhmZXIuIiUhIi5nOm5ldHJ3X2Z0cF9jbWQuIiAtaSAiLmc6bmV0cndfbWFjaGluZQorIiAgICAgIGNhbGwgRGVjaG8oImV4ZWN1dGluZzogJSEiLmc6bmV0cndfZnRwX2NtZC4iIC1pICIuc2hlbGxlc2NhcGUoZzpuZXRyd19tYWNoaW5lLDEpKQorICAgICAgZXhlIHM6bmV0cndfc2lsZW50eGZlci4iJSEiLmc6bmV0cndfZnRwX2NtZC4iIC1pICIuc2hlbGxlc2NhcGUoZzpuZXRyd19tYWNoaW5lLDEpCiAgICAgIGVuZGlmCiAgICAgICIgSWYgdGhlIHJlc3VsdCBvZiB0aGUgZnRwIG9wZXJhdGlvbiBpc24ndCBibGFuaywgc2hvdyBhbiBlcnJvciBtZXNzYWdlICh0bnggdG8gRG91ZyBDbGFhcikKICAgICAgaWYgZ2V0bGluZSgxKSAhfiAiXiQiICYmICFleGlzdHMoImc6bmV0cndfcXVpZXQiKSAmJiBnZXRsaW5lKDEpICF+ICdeVHJ5aW5nICcKLSAgICAgIGxldCBkZWJ1Z2tlZXA9ICZkZWJ1ZworICAgICAgbGV0IGRlYnVna2VlcCA9ICZkZWJ1ZwogICAgICAgc2V0bG9jYWwgZGVidWc9bXNnCiAgICAgICBjYWxsIG5ldHJ3I0Vycm9yTXNnKHM6RVJST1IsZ2V0bGluZSgxKSw0KQotICAgICAgbGV0ICZkZWJ1Zz0gZGVidWdrZWVwCisgICAgICBsZXQgJmRlYnVnICAgID0gZGVidWdrZWVwCiAgICAgIGVuZGlmCiAgICAgIGNhbGwgczpTYXZlQnVmVmFycygpfGJkIXxjYWxsIHM6UmVzdG9yZUJ1ZlZhcnMoKQogICAgICBsZXQgcmVzdWx0ICAgICAgICAgICA9IHM6TmV0cndHZXRGaWxlKHJlYWRjbWQsIHRtcGZpbGUsIGI6bmV0cndfbWV0aG9kKQpAQCAtODA2LDggKzgwMyw4IEBACiAgICAgZWxzZQogICAgICBsZXQgdXNlcG9ydD0gIiIKICAgICBlbmRpZgotIiAgICBjYWxsIERlY2hvKCJleGUgczpuZXRyd19zaWxlbnR4ZmVyLiEiLmc6bmV0cndfc2NwX2NtZC51c2Vwb3J0LiIgIi5zaGVsbGVzY2FwZShnOm5ldHJ3X21hY2hpbmUuIjoiLmVzY2FwZShiOm5ldHJ3X2ZuYW1lLGc6bmV0cndfZm5hbWVfZXNjYXBlKSkuIiAiLnRtcGZpbGUpCi0gICAgZXhlIHM6bmV0cndfc2lsZW50eGZlci4iISIuZzpuZXRyd19zY3BfY21kLnVzZXBvcnQuIiAiLnNoZWxsZXNjYXBlKGc6bmV0cndfbWFjaGluZS4iOiIuZXNjYXBlKGI6bmV0cndfZm5hbWUsZzpuZXRyd19mbmFtZV9lc2NhcGUpKS4iICIudG1wZmlsZQorIiAgICBjYWxsIERlY2hvKCJleGUgczpuZXRyd19zaWxlbnR4ZmVyLiEiLmc6bmV0cndfc2NwX2NtZC51c2Vwb3J0LiIgIi5zaGVsbGVzY2FwZShnOm5ldHJ3X21hY2hpbmUuIjoiLmI6bmV0cndfZm5hbWUsMSkuIiAiLnNoZWxsZXNjYXBlKHRtcGZpbGUsMSkpCisgICAgZXhlIHM6bmV0cndfc2lsZW50eGZlci4iISIuZzpuZXRyd19zY3BfY21kLnVzZXBvcnQuIiAiLnNoZWxsZXNjYXBlKGc6bmV0cndfbWFjaGluZS4iOiIuYjpuZXRyd19mbmFtZSwxKS4iICIuc2hlbGxlc2NhcGUodG1wZmlsZSwxKQogICAgIGxldCByZXN1bHQgICAgICAgICAgID0gczpOZXRyd0dldEZpbGUocmVhZGNtZCwgdG1wZmlsZSwgYjpuZXRyd19tZXRob2QpCiAgICAgbGV0IGI6bmV0cndfbGFzdGZpbGUgPSBjaG9pY2UKIApAQCAtODIzLDIzICs4MjAsMjIgQEAKICAgICAgcmV0dXJuCiAgICAgZW5kaWYKIAotICAgIGxldCBuZXRyd19mbmFtZT0gZXNjYXBlKGI6bmV0cndfZm5hbWUsZzpuZXRyd19mbmFtZV9lc2NhcGUpCiAgICAgaWYgbWF0Y2goYjpuZXRyd19mbmFtZSwiIyIpID09IC0xCi0gICAgICIgc2ltcGxlIHdnZXQKLSIgICAgIGNhbGwgRGVjaG8oJ3VzaW5nIHNpbXBsZSB3Z2V0ICgjIG5vdCBpbiBiOm5ldHJ3X2ZuYW1lPCcuYjpuZXRyd19mbmFtZS4iPikiKQotIiAgICAgY2FsbCBEZWNobygiZXhlICIuczpuZXRyd19zaWxlbnR4ZmVyLiIhIi5nOm5ldHJ3X2h0dHBfY21kLiIgIi5zaGVsbGVzY2FwZSh0bXBmaWxlKS4iICIuc2hlbGxlc2NhcGUoImh0dHA6Ly8iLmc6bmV0cndfbWFjaGluZS5uZXRyd19mbmFtZSkpCi0gICAgIGV4ZSBzOm5ldHJ3X3NpbGVudHhmZXIuIiEiLmc6bmV0cndfaHR0cF9jbWQuIiAiLnNoZWxsZXNjYXBlKHRtcGZpbGUpLiIgIi5zaGVsbGVzY2FwZSgiaHR0cDovLyIuZzpuZXRyd19tYWNoaW5lLm5ldHJ3X2ZuYW1lKQorICAgICAiIHVzaW5nIGc6bmV0cndfaHR0cF9jbWQgKHVzdWFsbHkgd2dldCBvciBjdXJsKQorIiAgICAgY2FsbCBEZWNobygndXNpbmcgJy5nOm5ldHJ3X2h0dHBfY21kLicgKCMgbm90IGluIGI6bmV0cndfZm5hbWU8Jy5iOm5ldHJ3X2ZuYW1lLiI+KSIpCisiICAgICBjYWxsIERlY2hvKCJleGUgIi5zOm5ldHJ3X3NpbGVudHhmZXIuIiEiLmc6bmV0cndfaHR0cF9jbWQuIiAiLnNoZWxsZXNjYXBlKHRtcGZpbGUsMSkuIiAiLnNoZWxsZXNjYXBlKCJodHRwOi8vIi5nOm5ldHJ3X21hY2hpbmUubmV0cndfZm5hbWUsMSkpCisgICAgIGV4ZSBzOm5ldHJ3X3NpbGVudHhmZXIuIiEiLmc6bmV0cndfaHR0cF9jbWQuIiAiLnNoZWxsZXNjYXBlKHRtcGZpbGUsMSkuIiAiLnNoZWxsZXNjYXBlKCJodHRwOi8vIi5nOm5ldHJ3X21hY2hpbmUuYjpuZXRyd19mbmFtZSwxKQogICAgICBsZXQgcmVzdWx0ID0gczpOZXRyd0dldEZpbGUocmVhZGNtZCwgdG1wZmlsZSwgYjpuZXRyd19tZXRob2QpCiAKICAgICBlbHNlCi0gICAgICIgd2dldCBwbHVzIGEganVtcCB0byBhbiBpbi1wYWdlIG1hcmtlciAoaWUuIGh0dHA6Ly9hYmMvZGVmLmh0bWwjYU1hcmtlcikKKyAgICAgIiB3Z2V0L2N1cmwgcGx1cyBhIGp1bXAgdG8gYW4gaW4tcGFnZSBtYXJrZXIgKGllLiBodHRwOi8vYWJjL2RlZi5odG1sI2FNYXJrZXIpCiAiICAgICBjYWxsIERlY2hvKCgid2dldC9jdXJsIHBsdXMganVtcCAoIyBpbiBiOm5ldHJ3X2ZuYW1lPCIuYjpuZXRyd19mbmFtZS4iPikiKQotICAgICBsZXQgbmV0cndfaHRtbD0gc3Vic3RpdHV0ZShuZXRyd19mbmFtZSwiIy4qJCIsIiIsIiIpCi0gICAgIGxldCBuZXRyd190YWcgPSBzdWJzdGl0dXRlKG5ldHJ3X2ZuYW1lLCJeLiojIiwiIiwiIikKKyAgICAgbGV0IG5ldHJ3X2h0bWw9IHN1YnN0aXR1dGUoYjpuZXRyd19mbmFtZSwiIy4qJCIsIiIsIiIpCisgICAgIGxldCBuZXRyd190YWcgPSBzdWJzdGl0dXRlKGI6bmV0cndfZm5hbWUsIl4uKiMiLCIiLCIiKQogIiAgICAgY2FsbCBEZWNobygibmV0cndfaHRtbDwiLm5ldHJ3X2h0bWwuIj4iKQogIiAgICAgY2FsbCBEZWNobygibmV0cndfdGFnIDwiLm5ldHJ3X3RhZy4iPiIpCi0iICAgICBjYWxsIERlY2hvKCJleGUgIi5zOm5ldHJ3X3NpbGVudHhmZXIuIiEiLmc6bmV0cndfaHR0cF9jbWQuIiAiLnNoZWxsZXNjYXBlKHRtcGZpbGUpLiIgIi5zaGVsbGVzY2FwZSgiaHR0cDovLyIuZzpuZXRyd19tYWNoaW5lLm5ldHJ3X2h0bWwpKQotICAgICBleGUgczpuZXRyd19zaWxlbnR4ZmVyLiIhIi5nOm5ldHJ3X2h0dHBfY21kLiIgIi5zaGVsbGVzY2FwZSh0bXBmaWxlKS4iICIuc2hlbGxlc2NhcGUoImh0dHA6Ly8iLmc6bmV0cndfbWFjaGluZS5uZXRyd19odG1sKQorIiAgICAgY2FsbCBEZWNobygiZXhlICIuczpuZXRyd19zaWxlbnR4ZmVyLiIhIi5nOm5ldHJ3X2h0dHBfY21kLiIgIi5zaGVsbGVzY2FwZSh0bXBmaWxlLDEpLiIgIi5zaGVsbGVzY2FwZSgiaHR0cDovLyIuZzpuZXRyd19tYWNoaW5lLm5ldHJ3X2h0bWwsMSkpCisgICAgIGV4ZSBzOm5ldHJ3X3NpbGVudHhmZXIuIiEiLmc6bmV0cndfaHR0cF9jbWQuIiAiLnNoZWxsZXNjYXBlKHRtcGZpbGUsMSkuIiAiLnNoZWxsZXNjYXBlKCJodHRwOi8vIi5nOm5ldHJ3X21hY2hpbmUubmV0cndfaHRtbCwxKQogICAgICBsZXQgcmVzdWx0ID0gczpOZXRyd0dldEZpbGUocmVhZGNtZCwgdG1wZmlsZSwgYjpuZXRyd19tZXRob2QpCiAiICAgICBjYWxsIERlY2hvKCc8XHMqYVxzKm5hbWU9XHMqIicubmV0cndfdGFnLiciLycpCiAgICAgIGV4ZSAnbm9ybSEgMUcvPFxzKmFccypuYW1lPVxzKiInLm5ldHJ3X3RhZy4nIi8nLiJcPENSPiIKQEAgLTg3Nyw5ICs4NzMsOCBAQAogICAgIiByc3luYzogTmV0UmVhZCBNZXRob2QgIzcge3t7MwogICAgZWxzZWlmICAgICBiOm5ldHJ3X21ldGhvZCAgPT0gNwogIiAgICBjYWxsIERlY2hvKCJyZWFkIHZpYSByc3luYyAobWV0aG9kICM3KSIpCi0gICAgbGV0IG5ldHJ3X2ZuYW1lPSBlc2NhcGUoYjpuZXRyd19mbmFtZSxnOm5ldHJ3X2ZuYW1lX2VzY2FwZSkKLSIgICAgY2FsbCBEZWNobygiZXhlICIuczpuZXRyd19zaWxlbnR4ZmVyLiIhIi5nOm5ldHJ3X3JzeW5jX2NtZC4iICIuc2hlbGxlc2NhcGUoZzpuZXRyd19tYWNoaW5lLiI6Ii5uZXRyd19mbmFtZSkuIiAiLnRtcGZpbGUpCi0gICAgZXhlIHM6bmV0cndfc2lsZW50eGZlci4iISIuZzpuZXRyd19yc3luY19jbWQuIiAiLnNoZWxsZXNjYXBlKGc6bmV0cndfbWFjaGluZS4iOiIubmV0cndfZm5hbWUpLiIgIi50bXBmaWxlCisiICAgIGNhbGwgRGVjaG8oImV4ZSAiLnM6bmV0cndfc2lsZW50eGZlci4iISIuZzpuZXRyd19yc3luY19jbWQuIiAiLnNoZWxsZXNjYXBlKGc6bmV0cndfbWFjaGluZS4iOiIuYjpuZXRyd19mbmFtZSwxKS4iICIuc2hlbGxlc2NhcGUodG1wZmlsZSwxKSkKKyAgICBleGUgczpuZXRyd19zaWxlbnR4ZmVyLiIhIi5nOm5ldHJ3X3JzeW5jX2NtZC4iICIuc2hlbGxlc2NhcGUoZzpuZXRyd19tYWNoaW5lLiI6Ii5iOm5ldHJ3X2ZuYW1lLDEpLiIgIi5zaGVsbGVzY2FwZSh0bXBmaWxlLDEpCiAgICAgbGV0IHJlc3VsdAkJID0gczpOZXRyd0dldEZpbGUocmVhZGNtZCx0bXBmaWxlLCBiOm5ldHJ3X21ldGhvZCkKICAgICBsZXQgYjpuZXRyd19sYXN0ZmlsZSA9IGNob2ljZQogCkBAIC04ODgsNyArODgzLDYgQEAKICAgICIgICAgZmV0Y2g6Ly9bdXNlckBdaG9zdFs6aHR0cF0vcGF0aAogICAgZWxzZWlmICAgICBiOm5ldHJ3X21ldGhvZCAgPT0gOAogIiAgICBjYWxsIERlY2hvKCJyZWFkIHZpYSBmZXRjaCAobWV0aG9kICM4KSIpCi0gICAgbGV0IG5ldHJ3X2ZuYW1lPSBlc2NhcGUoYjpuZXRyd19mbmFtZSxnOm5ldHJ3X2ZuYW1lX2VzY2FwZSkKICAgICBpZiBnOm5ldHJ3X2ZldGNoX2NtZCA9PSAiIgogICAgICBpZiAhZXhpc3RzKCJnOm5ldHJ3X3F1aWV0IikKICAgICAgIGNhbGwgbmV0cncjRXJyb3JNc2coczpFUlJPUiwiZmV0Y2ggY29tbWFuZCBub3QgYXZhaWxhYmxlIiw3KQpAQCAtOTAzLDExICs4OTcsMTEgQEAKICIgICAgY2FsbCBEZWNobygicmVhZCB2aWEgZmV0Y2ggZm9yICIubmV0cndfb3B0aW9uKQogCiAgICAgaWYgZXhpc3RzKCJnOm5ldHJ3X3VpZCIpICYmIGc6bmV0cndfdWlkICE9ICIiICYmIGV4aXN0cygiczpuZXRyd19wYXNzd2QiKSAmJiBzOm5ldHJ3X3Bhc3N3ZCAhPSAiIgotIiAgICAgY2FsbCBEZWNobygiZXhlICIuczpuZXRyd19zaWxlbnR4ZmVyLiIhIi5nOm5ldHJ3X2ZldGNoX2NtZC4iICIudG1wZmlsZS4iICIuc2hlbGxlc2NhcGUobmV0cndfb3B0aW9uLiI6Ly8iLmc6bmV0cndfdWlkLic6Jy5zOm5ldHJ3X3Bhc3N3ZC4nQCcuZzpuZXRyd19tYWNoaW5lLiIvIi5uZXRyd19mbmFtZSkpCi0gICAgIGV4ZSBzOm5ldHJ3X3NpbGVudHhmZXIuIiEiLmc6bmV0cndfZmV0Y2hfY21kLiIgIi50bXBmaWxlLiIgIi5zaGVsbGVzY2FwZShuZXRyd19vcHRpb24uIjovLyIuZzpuZXRyd191aWQuJzonLnM6bmV0cndfcGFzc3dkLidAJy5nOm5ldHJ3X21hY2hpbmUuIi8iLm5ldHJ3X2ZuYW1lKQorIiAgICAgY2FsbCBEZWNobygiZXhlICIuczpuZXRyd19zaWxlbnR4ZmVyLiIhIi5nOm5ldHJ3X2ZldGNoX2NtZC4iICIuc2hlbGxlc2NhcGUodG1wZmlsZSwxKS4iICIuc2hlbGxlc2NhcGUobmV0cndfb3B0aW9uLiI6Ly8iLmc6bmV0cndfdWlkLic6Jy5zOm5ldHJ3X3Bhc3N3ZC4nQCcuZzpuZXRyd19tYWNoaW5lLiIvIi5iOm5ldHJ3X2ZuYW1lLDEpKQorICAgICBleGUgczpuZXRyd19zaWxlbnR4ZmVyLiIhIi5nOm5ldHJ3X2ZldGNoX2NtZC4iICIuc2hlbGxlc2NhcGUodG1wZmlsZSwxKS4iICIuc2hlbGxlc2NhcGUobmV0cndfb3B0aW9uLiI6Ly8iLmc6bmV0cndfdWlkLic6Jy5zOm5ldHJ3X3Bhc3N3ZC4nQCcuZzpuZXRyd19tYWNoaW5lLiIvIi5iOm5ldHJ3X2ZuYW1lLDEpCiAgICAgZWxzZQotIiAgICAgY2FsbCBEZWNobygiZXhlICIuczpuZXRyd19zaWxlbnR4ZmVyLiIhIi5nOm5ldHJ3X2ZldGNoX2NtZC4iICIudG1wZmlsZS4iICIuc2hlbGxlc2NhcGUobmV0cndfb3B0aW9uLiI6Ly8iLmc6bmV0cndfbWFjaGluZS4iLyIubmV0cndfZm5hbWUpKQotICAgICBleGUgczpuZXRyd19zaWxlbnR4ZmVyLiIhIi5nOm5ldHJ3X2ZldGNoX2NtZC4iICIudG1wZmlsZS4iICIuc2hlbGxlc2NhcGUobmV0cndfb3B0aW9uLiI6Ly8iLmc6bmV0cndfbWFjaGluZS4iLyIubmV0cndfZm5hbWUpCisiICAgICBjYWxsIERlY2hvKCJleGUgIi5zOm5ldHJ3X3NpbGVudHhmZXIuIiEiLmc6bmV0cndfZmV0Y2hfY21kLiIgIi5zaGVsbGVzY2FwZSh0bXBmaWxlLDEpLiIgIi5zaGVsbGVzY2FwZShuZXRyd19vcHRpb24uIjovLyIuZzpuZXRyd19tYWNoaW5lLiIvIi5iOm5ldHJ3X2ZuYW1lLDEpKQorICAgICBleGUgczpuZXRyd19zaWxlbnR4ZmVyLiIhIi5nOm5ldHJ3X2ZldGNoX2NtZC4iICIuc2hlbGxlc2NhcGUodG1wZmlsZSwxKS4iICIuc2hlbGxlc2NhcGUobmV0cndfb3B0aW9uLiI6Ly8iLmc6bmV0cndfbWFjaGluZS4iLyIuYjpuZXRyd19mbmFtZSwxKQogICAgIGVuZGlmCiAKICAgICBsZXQgcmVzdWx0CQk9IHM6TmV0cndHZXRGaWxlKHJlYWRjbWQsdG1wZmlsZSwgYjpuZXRyd19tZXRob2QpCkBAIC05MTgsOSArOTEyLDggQEAKICAgICIgc2Z0cDogTmV0UmVhZCBNZXRob2QgIzkge3t7MwogICAgZWxzZWlmICAgICBiOm5ldHJ3X21ldGhvZCAgPT0gOQogIiAgICBjYWxsIERlY2hvKCJyZWFkIHZpYSBzZnRwIChtZXRob2QgIzkpIikKLSAgICBsZXQgbmV0cndfZm5hbWU9IGVzY2FwZShiOm5ldHJ3X2ZuYW1lLGc6bmV0cndfZm5hbWVfZXNjYXBlKQotIiAgICBjYWxsIERlY2hvKCJleGUgIi5zOm5ldHJ3X3NpbGVudHhmZXIuIiEiLmc6bmV0cndfc2Z0cF9jbWQuIiAiLnNoZWxsZXNjYXBlKGc6bmV0cndfbWFjaGluZS4iOiIubmV0cndfZm5hbWUpLiIgIi50bXBmaWxlKQotICAgIGV4ZSBzOm5ldHJ3X3NpbGVudHhmZXIuIiEiLmc6bmV0cndfc2Z0cF9jbWQuIiAiLnNoZWxsZXNjYXBlKGc6bmV0cndfbWFjaGluZS4iOiIubmV0cndfZm5hbWUpLiIgIi50bXBmaWxlCisiICAgIGNhbGwgRGVjaG8oImV4ZSAiLnM6bmV0cndfc2lsZW50eGZlci4iISIuZzpuZXRyd19zZnRwX2NtZC4iICIuc2hlbGxlc2NhcGUoZzpuZXRyd19tYWNoaW5lLiI6Ii5iOm5ldHJ3X2ZuYW1lLDEpLiIgIi50bXBmaWxlKQorICAgIGV4ZSBzOm5ldHJ3X3NpbGVudHhmZXIuIiEiLmc6bmV0cndfc2Z0cF9jbWQuIiAiLnNoZWxsZXNjYXBlKGc6bmV0cndfbWFjaGluZS4iOiIuYjpuZXRyd19mbmFtZSwxKS4iICIudG1wZmlsZQogICAgIGxldCByZXN1bHQJCT0gczpOZXRyd0dldEZpbGUocmVhZGNtZCwgdG1wZmlsZSwgYjpuZXRyd19tZXRob2QpCiAgICAgbGV0IGI6bmV0cndfbGFzdGZpbGUgPSBjaG9pY2UKIApAQCAtOTM5LDcgKzkzMiw3IEBACiAgIGVuZGlmCiAgIGlmIHM6RmlsZVJlYWRhYmxlKHRtcGZpbGUpICYmIHRtcGZpbGUgIX4gJy50YXIuYnoyJCcgJiYgdG1wZmlsZSAhfiAnLnRhci5neiQnICYmIHRtcGZpbGUgIX4gJy56aXAnICYmIHRtcGZpbGUgIX4gJy50YXInICYmIHJlYWRjbWQgIT0gJ3QnCiAiICAgY2FsbCBEZWNobygiY2xlYW51cCBieSBkZWxldGluZyB0bXBmaWxlPCIudG1wZmlsZS4iPiIpCi0gICBjYWxsIHM6U3lzdGVtKCJkZWxldGUiLGZuYW1lZXNjYXBlKHRtcGZpbGUpKQorICAgY2FsbCBzOk5ldHJ3RGVsZXRlKGZuYW1lZXNjYXBlKHRtcGZpbGUpKQogICBlbmRpZgogICBjYWxsIHM6TmV0cndPcHRpb25SZXN0b3JlKCJ3OiIpCiAKQEAgLTk3NSwxNyArOTY4LDE3IEBACiAgICAiIEZvciBiaW5hcnkgd3JpdGVzLCBhbHdheXMgd3JpdGUgZW50aXJlIGZpbGUuCiAgICAiIChsaW5lIG51bWJlcnMgZG9uJ3QgcmVhbGx5IG1ha2Ugc2Vuc2UgZm9yIHRoYXQpLgogICAgIiBBbHNvIHN1cHBvcnRzIHRoZSB3cml0aW5nIG9mIHRhciBhbmQgemlwIGZpbGVzLgotIiAgIGNhbGwgRGVjaG8oIih3cml0ZSBlbnRpcmUgZmlsZSkgc2lsZW50IGV4ZSB3ISAiLnY6Y21kYXJnLiIgIi50bXBmaWxlKQotICAgc2lsZW50IGV4ZSAidyEgIi52OmNtZGFyZy4iICIudG1wZmlsZQorIiAgIGNhbGwgRGVjaG8oIih3cml0ZSBlbnRpcmUgZmlsZSkgc2lsZW50IGV4ZSB3ISAiLmZuYW1lZXNjYXBlKHY6Y21kYXJnKS4iICIuZm5hbWVlc2NhcGUodG1wZmlsZSkpCisgICBzaWxlbnQgZXhlICJ3ISAiLmZuYW1lZXNjYXBlKHY6Y21kYXJnKS4iICIuZm5hbWVlc2NhcGUodG1wZmlsZSkKICAgZWxzZWlmIGc6bmV0cndfY3lnd2luCiAgICAiIHdyaXRlIChzZWxlY3RlZCBwb3J0aW9uIG9mKSBmaWxlIHRvIHRlbXBvcmFyeQogICAgbGV0IGN5Z3RtcGZpbGU9IHN1YnN0aXR1dGUodG1wZmlsZSwnL2N5Z2RyaXZlL1woLlwpJywnXDE6JywnJykKLSIgICBjYWxsIERlY2hvKCIod3JpdGUgc2VsZWN0ZWQgcG9ydGlvbikgc2lsZW50IGV4ZSAiLmE6Zmlyc3RsaW5lLiIsIiAuIGE6bGFzdGxpbmUgLiAidyEgIi52OmNtZGFyZy4iICIuY3lndG1wZmlsZSkKLSAgIHNpbGVudCBleGUgYTpmaXJzdGxpbmUuIiwiIC4gYTpsYXN0bGluZSAuICJ3ISAiLnY6Y21kYXJnLiIgIi5jeWd0bXBmaWxlCisiICAgY2FsbCBEZWNobygiKHdyaXRlIHNlbGVjdGVkIHBvcnRpb24pIHNpbGVudCBleGUgIi5hOmZpcnN0bGluZS4iLCIgLiBhOmxhc3RsaW5lIC4gInchICIuZm5hbWVlc2NhcGUodjpjbWRhcmcpLiIgIi5mbmFtZWVzY2FwZShjeWd0bXBmaWxlKSkKKyAgIHNpbGVudCBleGUgYTpmaXJzdGxpbmUuIiwiIC4gYTpsYXN0bGluZSAuICJ3ISAiLmZuYW1lZXNjYXBlKHY6Y21kYXJnKS4iICIuZm5hbWVlc2NhcGUoY3lndG1wZmlsZSkKICAgZWxzZQogICAgIiB3cml0ZSAoc2VsZWN0ZWQgcG9ydGlvbiBvZikgZmlsZSB0byB0ZW1wb3JhcnkKLSIgICBjYWxsIERlY2hvKCIod3JpdGUgc2VsZWN0ZWQgcG9ydGlvbikgc2lsZW50IGV4ZSAiLmE6Zmlyc3RsaW5lLiIsIiAuIGE6bGFzdGxpbmUgLiAidyEgIi52OmNtZGFyZy4iICIudG1wZmlsZSkKLSAgIHNpbGVudCBleGUgYTpmaXJzdGxpbmUuIiwiIC4gYTpsYXN0bGluZSAuICJ3ISAiLnY6Y21kYXJnLiIgIi50bXBmaWxlCisiICAgY2FsbCBEZWNobygiKHdyaXRlIHNlbGVjdGVkIHBvcnRpb24pIHNpbGVudCBleGUgIi5hOmZpcnN0bGluZS4iLCIgLiBhOmxhc3RsaW5lIC4gInchICIuZm5hbWVlc2NhcGUodjpjbWRhcmcpLiIgIi5mbmFtZWVzY2FwZSh0bXBmaWxlKSkKKyAgIHNpbGVudCBleGUgYTpmaXJzdGxpbmUuIiwiIC4gYTpsYXN0bGluZSAuICJ3ISAiLmZuYW1lZXNjYXBlKHY6Y21kYXJnKS4iICIuZm5hbWVlc2NhcGUodG1wZmlsZSkKICAgZW5kaWYKIAogICBpZiBjdXJidWZuYW1lID09ICIiCkBAIC0xMDc5LDkgKzEwNzIsOCBAQAogICAgICAgbGV0IHVpZF9tYWNoaW5lID0gZzpuZXRyd19tYWNoaW5lCiAgICAgIGVuZGlmCiAgICAgZW5kaWYKLSAgICBsZXQgbmV0cndfZm5hbWU9IGVzY2FwZShiOm5ldHJ3X2ZuYW1lLGc6bmV0cndfZm5hbWVfZXNjYXBlKQotIiAgICBjYWxsIERlY2hvKCJleGVjdXRpbmc6ICEiLmc6bmV0cndfcmNwX2NtZC4iICIuczpuZXRyd19yY3Btb2RlLiIgIi5zaGVsbGVzY2FwZSh0bXBmaWxlKS4iICIuc2hlbGxlc2NhcGUodWlkX21hY2hpbmUuIjoiLm5ldHJ3X2ZuYW1lKSkKLSAgICBleGUgczpuZXRyd19zaWxlbnR4ZmVyLiIhIi5nOm5ldHJ3X3JjcF9jbWQuIiAiLnM6bmV0cndfcmNwbW9kZS4iICIuc2hlbGxlc2NhcGUodG1wZmlsZSkuIiAiLnNoZWxsZXNjYXBlKHVpZF9tYWNoaW5lLiI6Ii5uZXRyd19mbmFtZSkKKyIgICAgY2FsbCBEZWNobygiZXhlY3V0aW5nOiAhIi5nOm5ldHJ3X3JjcF9jbWQuIiAiLnM6bmV0cndfcmNwbW9kZS4iICIuc2hlbGxlc2NhcGUodG1wZmlsZSwxKS4iICIuc2hlbGxlc2NhcGUodWlkX21hY2hpbmUuIjoiLmI6bmV0cndfZm5hbWUsMSkpCisgICAgZXhlIHM6bmV0cndfc2lsZW50eGZlci4iISIuZzpuZXRyd19yY3BfY21kLiIgIi5zOm5ldHJ3X3JjcG1vZGUuIiAiLnNoZWxsZXNjYXBlKHRtcGZpbGUsMSkuIiAiLnNoZWxsZXNjYXBlKHVpZF9tYWNoaW5lLiI6Ii5iOm5ldHJ3X2ZuYW1lLDEpCiAgICAgbGV0IGI6bmV0cndfbGFzdGZpbGUgPSBjaG9pY2UKIAogICAgIi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uCkBAIC0xMTAxLDEyICsxMDkzLDEyIEBACiAgICAgZXhlICJwdXQgPSciLidwdXQgXCInLnRtcGZpbGUuJ1wiIFwiJy5uZXRyd19mbmFtZS4nXCInLiInIgogIiAgICBjYWxsIERlY2hvKCJmaWx0ZXIgaW5wdXQ6ICIuZ2V0bGluZSgnLicpKQogICAgIGlmIGV4aXN0cygiZzpuZXRyd19wb3J0IikgJiYgZzpuZXRyd19wb3J0ICE9ICIiCi0iICAgICBjYWxsIERlY2hvKCJleGVjdXRpbmc6ICUhIi5nOm5ldHJ3X2Z0cF9jbWQuIiAtaSAiLmc6bmV0cndfbWFjaGluZS4iICIuZzpuZXRyd19wb3J0KQotICAgICBleGUgczpuZXRyd19zaWxlbnR4ZmVyLiIlISIuZzpuZXRyd19mdHBfY21kLiIgLWkgIi5nOm5ldHJ3X21hY2hpbmUuIiAiLmc6bmV0cndfcG9ydAorIiAgICAgY2FsbCBEZWNobygiZXhlY3V0aW5nOiAlISIuZzpuZXRyd19mdHBfY21kLiIgLWkgIi5zaGVsbGVzY2FwZShnOm5ldHJ3X21hY2hpbmUsMSkuIiAiLnNoZWxsZXNjYXBlKGc6bmV0cndfcG9ydCwxKSkKKyAgICAgZXhlIHM6bmV0cndfc2lsZW50eGZlci4iJSEiLmc6bmV0cndfZnRwX2NtZC4iIC1pICIuc2hlbGxlc2NhcGUoZzpuZXRyd19tYWNoaW5lLDEpLiIgIi5zaGVsbGVzY2FwZShnOm5ldHJ3X3BvcnQsMSkKICAgICBlbHNlCiAiICAgICBjYWxsIERlY2hvKCJmaWx0ZXIgaW5wdXQgd2luZG93IyIud2lubnIoKSkKLSIgICAgIGNhbGwgRGVjaG8oImV4ZWN1dGluZzogJSEiLmc6bmV0cndfZnRwX2NtZC4iIC1pICIuZzpuZXRyd19tYWNoaW5lKQotICAgICBleGUgczpuZXRyd19zaWxlbnR4ZmVyLiIlISIuZzpuZXRyd19mdHBfY21kLiIgLWkgIi5nOm5ldHJ3X21hY2hpbmUKKyIgICAgIGNhbGwgRGVjaG8oImV4ZWN1dGluZzogJSEiLmc6bmV0cndfZnRwX2NtZC4iIC1pICIuc2hlbGxlc2NhcGUoZzpuZXRyd19tYWNoaW5lLDEpKQorICAgICBleGUgczpuZXRyd19zaWxlbnR4ZmVyLiIlISIuZzpuZXRyd19mdHBfY21kLiIgLWkgIi5zaGVsbGVzY2FwZShnOm5ldHJ3X21hY2hpbmUsMSkKICAgICBlbmRpZgogICAgICIgSWYgdGhlIHJlc3VsdCBvZiB0aGUgZnRwIG9wZXJhdGlvbiBpc24ndCBibGFuaywgc2hvdyBhbiBlcnJvciBtZXNzYWdlICh0bnggdG8gRG91ZyBDbGFhcikKICAgICBpZiBnZXRsaW5lKDEpICF+ICJeJCIKQEAgLTExNjcsMTQgKzExNTksMTMgQEAKICAgICIgc2NwOiBOZXRXcml0ZSBNZXRob2QgIzQge3t7NAogICAgZWxzZWlmICAgICBiOm5ldHJ3X21ldGhvZCA9PSA0CiAiICAgIGNhbGwgRGVjaG8oIndyaXRlIHZpYSBzY3AgKG1ldGhvZCAjNCkiKQotICAgIGxldCBuZXRyd19mbmFtZT0gZXNjYXBlKGI6bmV0cndfZm5hbWUsZzpuZXRyd19mbmFtZV9lc2NhcGUpCiAgICAgaWYgZXhpc3RzKCJnOm5ldHJ3X3BvcnQiKSAmJiBnOm5ldHJ3X3BvcnQgIT0gIiIKLSAgICAgbGV0IHVzZXBvcnQ9ICIgIi5nOm5ldHJ3X3NjcHBvcnQuIiAiLmc6bmV0cndfcG9ydAorICAgICBsZXQgdXNlcG9ydD0gIiAiLmc6bmV0cndfc2NwcG9ydC4iICIuZm5hbWVlc2NhcGUoZzpuZXRyd19wb3J0KQogICAgIGVsc2UKICAgICAgbGV0IHVzZXBvcnQ9ICIiCiAgICAgZW5kaWYKLSIgICAgY2FsbCBEZWNobygiZXhlICIuczpuZXRyd19zaWxlbnR4ZmVyLiIhIi5nOm5ldHJ3X3NjcF9jbWQudXNlcG9ydC4iICIuc2hlbGxlc2NhcGUodG1wZmlsZSkuIiAiLnNoZWxsZXNjYXBlKGc6bmV0cndfbWFjaGluZS4iOiIubmV0cndfZm5hbWUpKQotICAgIGV4ZSBzOm5ldHJ3X3NpbGVudHhmZXIuIiEiLmc6bmV0cndfc2NwX2NtZC51c2Vwb3J0LiIgIi5zaGVsbGVzY2FwZSh0bXBmaWxlKS4iICIuc2hlbGxlc2NhcGUoZzpuZXRyd19tYWNoaW5lLiI6Ii5uZXRyd19mbmFtZSkKKyIgICAgY2FsbCBEZWNobygiZXhlICIuczpuZXRyd19zaWxlbnR4ZmVyLiIhIi5nOm5ldHJ3X3NjcF9jbWQudXNlcG9ydC4iICIuc2hlbGxlc2NhcGUodG1wZmlsZSwxKS4iICIuc2hlbGxlc2NhcGUoZzpuZXRyd19tYWNoaW5lLiI6Ii5iOm5ldHJ3X2ZuYW1lLDEpKQorICAgIGV4ZSBzOm5ldHJ3X3NpbGVudHhmZXIuIiEiLmc6bmV0cndfc2NwX2NtZC51c2Vwb3J0LiIgIi5zaGVsbGVzY2FwZSh0bXBmaWxlLDEpLiIgIi5zaGVsbGVzY2FwZShnOm5ldHJ3X21hY2hpbmUuIjoiLmI6bmV0cndfZm5hbWUsMSkKICAgICBsZXQgYjpuZXRyd19sYXN0ZmlsZSA9IGNob2ljZQogCiAgICAiLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4KQEAgLTEyMTUsOSArMTIwNiw4IEBACiAgICAiIHJzeW5jOiBOZXRXcml0ZSBNZXRob2QgIzcge3t7NAogICAgZWxzZWlmICAgICBiOm5ldHJ3X21ldGhvZCA9PSA3CiAiICAgIGNhbGwgRGVjaG8oIndyaXRlIHZpYSByc3luYyAobWV0aG9kICM3KSIpCi0gICAgbGV0IG5ldHJ3X2ZuYW1lPSBlc2NhcGUoYjpuZXRyd19mbmFtZSxnOm5ldHJ3X2ZuYW1lX2VzY2FwZSkKLSIgICAgY2FsbCBEZWNobygiZXhlY3V0aW5nOiAhIi5nOm5ldHJ3X3JzeW5jX2NtZC4iICIudG1wZmlsZS4iICIuZzpuZXRyd19tYWNoaW5lLiI6Ii5uZXRyd19mbmFtZSkKLSAgICBleGUgczpuZXRyd19zaWxlbnR4ZmVyLiIhIi5nOm5ldHJ3X3JzeW5jX2NtZC4iICIudG1wZmlsZS4iICIuZzpuZXRyd19tYWNoaW5lLiI6Ii5uZXRyd19mbmFtZQorIiAgICBjYWxsIERlY2hvKCJleGVjdXRpbmc6ICEiLmc6bmV0cndfcnN5bmNfY21kLiIgIi5zaGVsbGVzY2FwZSh0bXBmaWxlLDEpLiIgIi5zaGVsbGVzY2FwZShnOm5ldHJ3X21hY2hpbmUuIjoiLmI6bmV0cndfZm5hbWUsMSkpCisgICAgZXhlIHM6bmV0cndfc2lsZW50eGZlci4iISIuZzpuZXRyd19yc3luY19jbWQuIiAiLnNoZWxsZXNjYXBlKHRtcGZpbGUsMSkuIiAiLnNoZWxsZXNjYXBlKGc6bmV0cndfbWFjaGluZS4iOiIuYjpuZXRyd19mbmFtZSwxKQogICAgIGxldCBiOm5ldHJ3X2xhc3RmaWxlID0gY2hvaWNlCiAKICAgICIuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLgpAQCAtMTIzNSw4ICsxMjI1LDggQEAKICAgICBwdXQgPSdwdXQgXCInLmVzY2FwZSh0bXBmaWxlLCdcJykuJ1wiICcubmV0cndfZm5hbWUKICIgICAgY2FsbCBEZWNobygiZmlsdGVyIGlucHV0OiAiLmdldGxpbmUoJy4nKSkKICAgICBub3JtISAxR2RkCi0iICAgIGNhbGwgRGVjaG8oImV4ZWN1dGluZzogJSEiLmc6bmV0cndfc2Z0cF9jbWQuJyAnLnVpZF9tYWNoaW5lKQotICAgIGV4ZSBzOm5ldHJ3X3NpbGVudHhmZXIuIiUhIi5nOm5ldHJ3X3NmdHBfY21kLicgJy51aWRfbWFjaGluZQorIiAgICBjYWxsIERlY2hvKCJleGVjdXRpbmc6ICUhIi5nOm5ldHJ3X3NmdHBfY21kLicgJy5zaGVsbGVzY2FwZSh1aWRfbWFjaGluZSwxKSkKKyAgICBleGUgczpuZXRyd19zaWxlbnR4ZmVyLiIlISIuZzpuZXRyd19zZnRwX2NtZC4nICcuc2hlbGxlc2NhcGUodWlkX21hY2hpbmUsMSkKICAgICBiZCEKICAgICBsZXQgYjpuZXRyd19sYXN0ZmlsZT0gY2hvaWNlCiAKQEAgLTEyNTEsNyArMTI0MSw3IEBACiAiICBjYWxsIERlY2hvKCJjbGVhbnVwIikKICAgaWYgczpGaWxlUmVhZGFibGUodG1wZmlsZSkKICIgICBjYWxsIERlY2hvKCJ0bXBmaWxlPCIudG1wZmlsZS4iPiByZWFkYWJsZSwgd2lsbCBub3cgZGVsZXRlIGl0IikKLSAgIGNhbGwgczpTeXN0ZW0oImRlbGV0ZSIsdG1wZmlsZSkKKyAgIGNhbGwgczpOZXRyd0RlbGV0ZSh0bXBmaWxlKQogICBlbmRpZgogICBjYWxsIHM6TmV0cndPcHRpb25SZXN0b3JlKCJ3OiIpCiAKQEAgLTEzMTIsNyArMTMwMiw3IEBACiAKICAgIiByZWFkY21kPT0ndCc6IHNpbXBseSBkbyBub3RoaW5nCiAgIGlmIGE6cmVhZGNtZCA9PSAndCcKLSIgICBjYWxsIERlY2hvKCJybz0iLiZyby4iIG1hPSIuJm1hLiIgbW9kPSIuJm1vZC4iIHdyYXA9Ii4md3JhcCkKKyIgICBjYWxsIERlY2hvKCJybz0iLiZsOnJvLiIgbWE9Ii4mbDptYS4iIG1vZD0iLiZsOm1vZC4iIHdyYXA9Ii4mbDp3cmFwKQogIiAgIGNhbGwgRHJldCgiTmV0cndHZXRGaWxlIDogc2tpcCByZWFkIG9mIDwiLmE6dGZpbGUuIj4iKQogICAgcmV0dXJuCiAgIGVuZGlmCkBAIC0xMzM2LDggKzEzMjYsOCBAQAogICAgZWxzZQogICAgIGxldCB0ZmlsZT0gYTp0ZmlsZQogICAgZW5kaWYKLSIgICAiICAgY2FsbCBEZWNobygiZXhlIHNpbGVudCEga2VlcGFsdCBmaWxlICIudGZpbGUpCi0gICBleGUgInNpbGVudCEga2VlcGFsdCBmaWxlICIudGZpbGUKKyIgICBjYWxsIERlY2hvKCJleGUgc2lsZW50ISBrZWVwYWx0IGZpbGUgIi5mbmFtZWVzY2FwZSh0ZmlsZSkpCisgICBleGUgInNpbGVudCEga2VlcGFsdCBmaWxlICIuZm5hbWVlc2NhcGUodGZpbGUpCiAKICAgICIgZWRpdCB0ZW1wb3JhcnkgZmlsZSAoaWUuIHJlYWQgdGhlIHRlbXBvcmFyeSBmaWxlIGluKQogICAgaWYgICAgIHJmaWxlID1+ICdcLnppcCQnCkBAIC0xMzU4LDggKzEzNDgsOCBAQAogICAgZW5kaWYKIAogICAgIiByZW5hbWUgYnVmZmVyIGJhY2sgdG8gcmVtb3RlIGZpbGVuYW1lCi0iICAgY2FsbCBEZWNobygiZXhlIHNpbGVudCEga2VlcGFsdCBmaWxlICIuZXNjYXBlKHJmaWxlLCcgJykpCi0gICBleGUgInNpbGVudCEga2VlcGFsdCBmaWxlICIuZXNjYXBlKHJmaWxlLCcgJykKKyIgICBjYWxsIERlY2hvKCJleGUgc2lsZW50ISBrZWVwYWx0IGZpbGUgIi5mbmFtZWVzY2FwZShyZmlsZSkpCisgICBleGUgInNpbGVudCEga2VlcGFsdCBmaWxlICIuZm5hbWVlc2NhcGUocmZpbGUpCiAgICBpZiBhOm1ldGhvZCA9PSA1CiAgICAgc2V0IGZ0PWh0bWwKICAgIGVsc2UKQEAgLTEzNzQsMTQgKzEzNjQsMTQgQEAKICIgICBjYWxsIERlY2hvKCJyZWFkIGZpbGU8Ii5hOnRmaWxlLiI+IGFmdGVyIGN1cnJlbnQgbGluZSIpCiAgICBsZXQgY3VybGluZSA9IGxpbmUoIi4iKQogICAgbGV0IGxhc3RsaW5lPSBsaW5lKCIkIikKLSIgICBjYWxsIERlY2hvKCJleGU8Ii5hOnJlYWRjbWQuIiAiLnY6Y21kYXJnLiIgIi5hOnRmaWxlLiI+ICBsaW5lIyIuY3VybGluZSkKLSAgIGV4ZSBhOnJlYWRjbWQuIiAiLnY6Y21kYXJnLiIgIi5hOnRmaWxlCisiICAgY2FsbCBEZWNobygiZXhlPCIuYTpyZWFkY21kLiIgIi5mbmFtZWVzY2FwZSh2OmNtZGFyZykuIiAiLmZuYW1lZXNjYXBlKGE6dGZpbGUpLiI+ICBsaW5lIyIuY3VybGluZSkKKyAgIGV4ZSBhOnJlYWRjbWQuIiAiLmZuYW1lZXNjYXBlKHY6Y21kYXJnKS4iICIuZm5hbWVlc2NhcGUoYTp0ZmlsZSkKICAgIGxldCBsaW5lMT0gY3VybGluZSArIDEKICAgIGxldCBsaW5lMj0gbGluZSgiJCIpIC0gbGFzdGxpbmUgKyAxCiAKICAgZWxzZQogICAgIiBub3QgcmVhZGFibGUKLSIgICBjYWxsIERlY2hvKCJybz0iLiZyby4iIG1hPSIuJm1hLiIgbW9kPSIuJm1vZC4iIHdyYXA9Ii4md3JhcCkKKyIgICBjYWxsIERlY2hvKCJybz0iLiZsOnJvLiIgbWE9Ii4mbDptYS4iIG1vZD0iLiZsOm1vZC4iIHdyYXA9Ii4mbDp3cmFwKQogIiAgIGNhbGwgRGVjaG8oInRmaWxlPCIuYTp0ZmlsZS4iPiBub3QgcmVhZGFibGUiKQogICAgY2FsbCBuZXRydyNFcnJvck1zZyhzOldBUk5JTkcsImZpbGUgPCIuYTp0ZmlsZS4iPiBub3QgcmVhZGFibGUiLDkpCiAiICAgY2FsbCBEcmV0KCJOZXRyd0dldEZpbGUgOiB0ZmlsZTwiLmE6dGZpbGUuIj4gbm90IHJlYWRhYmxlIikKQEAgLTE0MDYsNyArMTM5Niw3IEBACiAgIiBtYWtlIHN1cmUgZmlsZSBpcyBiZWluZyBkaXNwbGF5ZWQKICIgIHJlZHJhdyEKIAotIiAgY2FsbCBEZWNobygicm89Ii4mcm8uIiBtYT0iLiZtYS4iIG1vZD0iLiZtb2QuIiB3cmFwPSIuJndyYXApCisiICBjYWxsIERlY2hvKCJybz0iLiZsOnJvLiIgbWE9Ii4mbDptYS4iIG1vZD0iLiZsOm1vZC4iIHdyYXA9Ii4mbDp3cmFwKQogIiAgY2FsbCBEcmV0KCJOZXRyd0dldEZpbGUiKQogZW5kZnVuCiAKQEAgLTE3MDQsNiArMTY5NCw3IEBACiAgICBubm9yZW1hcCA8YnVmZmVyPiA8c2lsZW50PiBVCQk6PGMtdT5jYWxsIDxTSUQ+TmV0cndCb29rbWFya0Rpcig1LGV4cGFuZCgiJSIpKTxjcj4KICAgIG5ub3JlbWFwIDxidWZmZXI+IDxzaWxlbnQ+IHYJCTpjYWxsIDxTSUQ+TmV0cndTcGxpdCg1KTxjcj4KICAgIG5ub3JlbWFwIDxidWZmZXI+IDxzaWxlbnQ+IHgJCTpjYWxsIG5ldHJ3I05ldHJ3QnJvd3NlWCg8U0lEPk5ldHJ3QnJvd3NlQ2hnRGlyKDEsPFNJRD5OZXRyd0dldFdvcmQoKSwwKSwwKSI8Y3I+CisgICBubm9yZW1hcCA8YnVmZmVyPiA8c2lsZW50PiAlCQk6Y2FsbCA8U0lEPk5ldHJ3T3BlbkZpbGUoMSk8Y3I+CiAgICBpZiAhaGFzbWFwdG8oJzxQbHVnPk5ldHJ3SGlkZUVkaXQnKQogICAgIG5tYXAgPGJ1ZmZlcj4gPHVuaXF1ZT4gPGMtaD4gPFBsdWc+TmV0cndIaWRlRWRpdAogICAgZW5kaWYKQEAgLTE3NzUsNiArMTc2Niw3IEBACiAgICBubm9yZW1hcCA8YnVmZmVyPiA8c2lsZW50PiBVCQk6PGMtdT5jYWxsIDxTSUQ+TmV0cndCb29rbWFya0Rpcig1LGI6bmV0cndfY3VyZGlyKTxjcj4KICAgIG5ub3JlbWFwIDxidWZmZXI+IDxzaWxlbnQ+IHYJCTpjYWxsIDxTSUQ+TmV0cndTcGxpdCgyKTxjcj4KICAgIG5ub3JlbWFwIDxidWZmZXI+IDxzaWxlbnQ+IHgJCTpjYWxsIG5ldHJ3I05ldHJ3QnJvd3NlWCg8U0lEPk5ldHJ3QnJvd3NlQ2hnRGlyKDAsPFNJRD5OZXRyd0dldFdvcmQoKSksMSk8Y3I+CisgICBubm9yZW1hcCA8YnVmZmVyPiA8c2lsZW50PiAlCQk6Y2FsbCA8U0lEPk5ldHJ3T3BlbkZpbGUoMCk8Y3I+CiAgICBpZiAhaGFzbWFwdG8oJzxQbHVnPk5ldHJ3SGlkZUVkaXQnKQogICAgIG5tYXAgPGJ1ZmZlcj4gPGMtaD4gPFBsdWc+TmV0cndIaWRlRWRpdAogICAgZW5kaWYKQEAgLTE3OTcsNyArMTc4OSw3IEBACiAgICBleGUgJ3Zub3JlbWFwIDxidWZmZXI+IDxzaWxlbnQ+IEQJOmNhbGwgPFNJRD5OZXRyd1JlbW90ZVJtKCInLnM6dXNlci5zOm1hY2hpbmUuJyIsIicuczpwYXRoLiciKTxjcj4nCiAgICBleGUgJ25ub3JlbWFwIDxidWZmZXI+IDxzaWxlbnQ+IFIJOmNhbGwgPFNJRD5OZXRyd1JlbW90ZVJlbmFtZSgiJy5zOnVzZXIuczptYWNoaW5lLiciLCInLnM6cGF0aC4nIik8Y3I+JwogICAgZXhlICd2bm9yZW1hcCA8YnVmZmVyPiA8c2lsZW50PiBSCTpjYWxsIDxTSUQ+TmV0cndSZW1vdGVSZW5hbWUoIicuczp1c2VyLnM6bWFjaGluZS4nIiwiJy5zOnBhdGguJyIpPGNyPicKLSAgIG5ub3JlbWFwIDxidWZmZXI+IDxGMT4JCQk6aGUgbmV0cnctYnJvd3NlLWNtZHM8Y3I+CisgICBubm9yZW1hcCA8YnVmZmVyPiA8RjE+CQkJOmhlIG5ldHJ3LXF1aWNraGVscDxjcj4KICAgZW5kaWYKICAgY2FsbCBzOlNldFJleERpcihhOmlzbG9jYWwsYjpuZXRyd19jdXJkaXIpCiAiICBjYWxsIERyZXQoInM6QnJvd3Nlck1hcHMiKQpAQCAtMTkyMSw4ICsxOTEzLDggQEAKICAgICAgc2V0bG9jYWwgbm9tb2QKICIgICAgIGNhbGwgRGVjaG8oInNldGxvY2FsIG5vbW9kIikKICAgICBlbmRpZgotIiAgICBjYWxsIERlY2hvKCJleGUgZSEgIi5nOk5FVFJXX0RJUkhJU1Rfe2c6TkVUUldfRElSSElTVF9DTlR9KQotICAgIGV4ZSAiZSEgIi5nOk5FVFJXX0RJUkhJU1Rfe2c6TkVUUldfRElSSElTVF9DTlR9CisiICAgICIgICAgY2FsbCBEZWNobygiZXhlIGUhICIuZm5hbWVlc2NhcGUoZzpORVRSV19ESVJISVNUX3tnOk5FVFJXX0RJUkhJU1RfQ05UfSkpCisgICAgZXhlICJlISAiLmZuYW1lZXNjYXBlKGc6TkVUUldfRElSSElTVF97ZzpORVRSV19ESVJISVNUX0NOVH0pCiAgICBlbHNlCiAgICAgbGV0IGc6TkVUUldfRElSSElTVF9DTlQ9ICggZzpORVRSV19ESVJISVNUX0NOVCArIDEgKSAlIGc6bmV0cndfZGlyaGlzdG1heAogICAgIGVjaG8gIlNvcnJ5LCBubyBwcmVkZWNlc3NvciBkaXJlY3RvcnkgZXhpc3RzIHlldCIKQEAgLTE5NDIsOCArMTkzNCw4IEBACiAgICAgIHNldGxvY2FsIG5vbW9kCiAiICAgICBjYWxsIERlY2hvKCJzZXRsb2NhbCBub21vZCIpCiAgICAgZW5kaWYKLSIgICAgY2FsbCBEZWNobygiZXhlIGUhICIuZzpORVRSV19ESVJISVNUX3tnOk5FVFJXX0RJUkhJU1RfQ05UfSkKLSAgICBleGUgImUhICIuZzpORVRSV19ESVJISVNUX3tnOk5FVFJXX0RJUkhJU1RfQ05UfQorIiAgICBjYWxsIERlY2hvKCJleGUgZSEgIi5mbmFtZWVzY2FwZShnOk5FVFJXX0RJUkhJU1Rfe2c6TkVUUldfRElSSElTVF9DTlR9KSkKKyAgICBleGUgImUhICIuZm5hbWVlc2NhcGUoZzpORVRSV19ESVJISVNUX3tnOk5FVFJXX0RJUkhJU1RfQ05UfSkKICAgIGVsc2UKICAgICBsZXQgZzpORVRSV19ESVJISVNUX0NOVD0gKCBnOk5FVFJXX0RJUkhJU1RfQ05UIC0gMSApICUgZzpuZXRyd19kaXJoaXN0bWF4CiAgICAgaWYgZzpORVRSV19ESVJISVNUX0NOVCA8IDAKQEAgLTIwMDgsNyArMjAwMCw3IEBACiAKICAgaWYgZXhpc3RzKCJzOm5ldHJ3X3NraXBicm93c2UiKQogICAgdW5sZXQgczpuZXRyd19za2lwYnJvd3NlCi0iICAgY2FsbCBEZWNobygicm89Ii4mcm8uIiBtYT0iLiZtYS4iIG1vZD0iLiZtb2QuIiB3cmFwPSIuJndyYXApCisiICAgY2FsbCBEZWNobygicm89Ii4mbDpyby4iIG1hPSIuJmw6bWEuIiBtb2Q9Ii4mbDptb2QuIiB3cmFwPSIuJmw6d3JhcCkKICIgICBjYWxsIERyZXQoInM6TmV0cndCcm93c2UgOiBzOm5ldHJ3X3NraXBicm93c2U9Ii5zOm5ldHJ3X3NraXBicm93c2UpCiAgICByZXR1cm4KICAgZW5kaWYKQEAgLTIwNTUsMTMgKzIwNDcsMTMgQEAKICAgIHNldGxvY2FsIG1hIG5vcm8KICIgICBjYWxsIERlY2hvKCJzZXRsb2NhbCBtYSBub3JvIikKICAgIGxldCBiOm5ldHJ3X2N1cmRpcj0gYTpkaXJuYW1lCi0iICAgY2FsbCBEZWNobygiZXhlIHNpbGVudCEga2VlcGFsdCBmaWxlICIuczptZXRob2QuIjovLyIuczp1c2VyLnM6bWFjaGluZS4iLyIuZm5hbWVlc2NhcGUoczpwYXRoKS4iIChidD0iLiZidC4iKSIpCi0gICBleGUgInNpbGVudCEga2VlcGFsdCBmaWxlICIuczptZXRob2QuIjovLyIuczp1c2VyLnM6bWFjaGluZS4iLyIuZm5hbWVlc2NhcGUoczpwYXRoKQotICAgZXhlICJzaWxlbnQga2VlcGFsdCBkb2F1IEJ1ZlJlYWRQcmUgIi5zOmZuYW1lCisiICAgY2FsbCBEZWNobygiZXhlIHNpbGVudCEga2VlcGFsdCBmaWxlICIuZm5hbWVlc2NhcGUoczptZXRob2QuIjovLyIuczp1c2VyLnM6bWFjaGluZS4iLyIuczpwYXRoKS4iIChidD0iLiZidC4iKSIpCisgICBleGUgInNpbGVudCEga2VlcGFsdCBmaWxlICIuZm5hbWVlc2NhcGUoczptZXRob2QuIjovLyIuczp1c2VyLnM6bWFjaGluZS4iLyIuczpwYXRoKQorICAgZXhlICJzaWxlbnQga2VlcGFsdCBkb2F1IEJ1ZlJlYWRQcmUgIi5mbmFtZWVzY2FwZShzOmZuYW1lKQogICAgc2lsZW50IGNhbGwgbmV0cncjTmV0UmVhZCgyLHM6bWV0aG9kLiI6Ly8iLnM6dXNlci5zOm1hY2hpbmUuIi8iLnM6cGF0aCkKICAgIGlmIHM6cGF0aCAhfiAnLnRhci5iejIkJyAmJiBzOnBhdGggIX4gJy50YXIuZ3onCiAgICAgIiBuZXRydy52aW0gYW5kIHRhci52aW0gaGF2ZSBhbHJlYWR5IGhhbmRsZWQgZGVjb21wcmVzc2lvbiBvZiB0aGUgdGFyYmFsbDsgYXZvaWRpbmcgZ3ppcC52aW0gZXJyb3IKLSAgICBleGUgInNpbGVudCBrZWVwYWx0IGRvYXUgQnVmUmVhZFBvc3QgIi5zOmZuYW1lCisgICAgZXhlICJzaWxlbnQga2VlcGFsdCBkb2F1IEJ1ZlJlYWRQb3N0ICIuZm5hbWVlc2NhcGUoczpmbmFtZSkKICAgIGVuZGlmCiAKICAgICIgc2F2ZSBjZXJ0YWluIHdpbmRvdy1vcmllbnRlZCB2YXJpYWJsZXMgaW50byBidWZmZXItb3JpZW50ZWQgdmFyaWFibGVzIHt7ezMKQEAgLTIwNjksNyArMjA2MSw3IEBACiAgICBjYWxsIHM6TmV0cndPcHRpb25SZXN0b3JlKCJ3OiIpCiAgICBzZXRsb2NhbCBtYSBub21vZAogCi0iICAgY2FsbCBEZWNobygicm89Ii4mcm8uIiBtYT0iLiZtYS4iIG1vZD0iLiZtb2QuIiB3cmFwPSIuJndyYXApCisiICAgY2FsbCBEZWNobygicm89Ii4mbDpyby4iIG1hPSIuJmw6bWEuIiBtb2Q9Ii4mbDptb2QuIiB3cmFwPSIuJmw6d3JhcCkKICIgICBjYWxsIERyZXQoInM6TmV0cndCcm93c2UgOiBmaWxlPCIuczpmbmFtZS4iPiIpCiAgICByZXR1cm4KICAgZW5kaWYKQEAgLTIwOTksNyArMjA5MSw3IEBACiAgIGlmIHJldXNpbmcKICAgIGNhbGwgczpOZXRyd09wdGlvblJlc3RvcmUoInc6IikKICAgIHNldGxvY2FsIG5vbWEgbm9tb2Qgbm93cmFwCi0iICAgY2FsbCBEZWNobygicm89Ii4mcm8uIiBtYT0iLiZtYS4iIG1vZD0iLiZtb2QuIiB3cmFwPSIuJndyYXApCisiICAgY2FsbCBEZWNobygicm89Ii4mbDpyby4iIG1hPSIuJmw6bWEuIiBtb2Q9Ii4mbDptb2QuIiB3cmFwPSIuJmw6d3JhcCkKICIgICBjYWxsIERyZXQoInM6TmV0cndCcm93c2UgOiByZS11c2luZyBidWZmZXIiKQogICAgcmV0dXJuCiAgIGVuZGlmCkBAIC0yMTUwLDcgKzIxNDIsNyBAQAogICAgICAgIGNhbGwgczpOZXRyd09wdGlvblJlc3RvcmUoInc6IikKICAgICAgICBzZXRsb2NhbCBub21hIG5vbW9kIG5vd3JhcAogICAgICAgIGxldCBiOm5ldHJ3X2N1cmRpcj0gZGlybmFtZQotIiAgICAgICBjYWxsIERlY2hvKCJybz0iLiZyby4iIG1hPSIuJm1hLiIgbW9kPSIuJm1vZC4iIHdyYXA9Ii4md3JhcCkKKyIgICAgICAgY2FsbCBEZWNobygicm89Ii4mbDpyby4iIG1hPSIuJmw6bWEuIiBtb2Q9Ii4mbDptb2QuIiB3cmFwPSIuJmw6d3JhcCkKICIgICAgICAgY2FsbCBEcmV0KCJzOk5ldHJ3QnJvd3NlIDogcmV1c2luZyBidWZmZXIjIi4oZXhpc3RzKCJidWZudW0iKT8gYnVmbnVtIDogJ04vQScpLiI8Ii5kaXJuYW1lLiI+IGdldGN3ZDwiLmdldGN3ZCgpLiI+IikKICAgICAgICByZXR1cm4KICAgICAgIGVuZGlmCkBAIC0yMTg4LDcgKzIxODAsNyBAQAogICAgIGVuZGlmCiAgICAgY2FsbCBzOk5ldHJ3T3B0aW9uUmVzdG9yZSgidzoiKQogICAgIHNldGxvY2FsIG5vbWEgbm9tb2Qgbm93cmFwCi0iICAgIGNhbGwgRGVjaG8oInJvPSIuJnJvLiIgbWE9Ii4mbWEuIiBtb2Q9Ii4mbW9kLiIgd3JhcD0iLiZ3cmFwKQorIiAgICBjYWxsIERlY2hvKCJybz0iLiZsOnJvLiIgbWE9Ii4mbDptYS4iIG1vZD0iLiZsOm1vZC4iIHdyYXA9Ii4mbDp3cmFwKQogIiAgICBjYWxsIERyZXQoInM6TmV0cndCcm93c2UgOiBiYWRseSBmb3JtYXR0ZWQgZGlybmFtZTwiLmRpcm5hbWUuIj4iKQogICAgIHJldHVybgogICAgZW5kaWYKQEAgLTIyMDIsNyArMjE5NCw3IEBACiAgIGNhbGwgczpCcm93c2VyTWFwcyhhOmlzbG9jYWwpCiAgIGNhbGwgczpQZXJmb3JtTGlzdGluZyhhOmlzbG9jYWwpCiAKLSIgIGNhbGwgRGVjaG8oInJvPSIuJnJvLiIgbWE9Ii4mbWEuIiBtb2Q9Ii4mbW9kLiIgd3JhcD0iLiZ3cmFwKQorIiAgY2FsbCBEZWNobygicm89Ii4mbDpyby4iIG1hPSIuJmw6bWEuIiBtb2Q9Ii4mbDptb2QuIiB3cmFwPSIuJmw6d3JhcCkKICIgIGNhbGwgRHJldCgiczpOZXRyd0Jyb3dzZSA6IGRpZCBQZXJmb3JtTGlzdGluZyIpCiAgIHJldHVybgogZW5kZnVuCkBAIC0yMjk5LDE0ICsyMjkxLDE1IEBACiAgICAiIG5vdGU6ICF+IHdhcyB1c2VkIGp1c3QgYmVsb3csIGJ1dCB0aGF0IG1lYW5zIHVzaW5nIC4uLyB0byBnbyBiYWNrIHdvdWxkIG1hdGNoIChpZS4gYWJjL2RlZi8gIGFuZCBhYmMvIG1hdGNoZXMpCiAgICBpZiBidWZudW0gPiAwICYmIGJ1Zm5hbWUoYnVmbnVtKSAhPSBkaXJuYW1lICYmIGJ1Zm5hbWUoYnVmbnVtKSAhPSAnLicKICAgICAiIGhhbmRsZSBhcHByb3hpbWF0ZSBtYXRjaGVzCi0iICAgIGNhbGwgRGVjaG8oIiAgaGFuZGxpbmcgYXBwcm94IG1hdGNoOiBidWZudW0jJWQ8Ii5idWZuYW1lKGJ1Zm51bSkuIj4gYXBwcm94PSBkaXJuYW1lPCIuZGlybmFtZS4iPiIpCisiICAgIGNhbGwgRGVjaG8oIiAgaGFuZGxpbmcgYXBwcm94IG1hdGNoOiBidWZudW0jJWQ8Ii5idWZuYW1lKGJ1Zm51bSkuIj4gYXBwcm94PWRpcm5hbWU8Ii5kaXJuYW1lLiI+IikKICAgICBsZXQgaWJ1ZiAgICA9IDEKICAgICBsZXQgYnVmbGFzdCA9IGJ1Zm5yKCIkIikKICIgICAgY2FsbCBEZWNobygiICBmaW5kYnVmMjogYnVmbGFzdD0iLmJ1Zmxhc3QpCiAgICAgd2hpbGUgaWJ1ZiA8PSBidWZsYXN0CiAgICAgIGxldCBibmFtZT0gc3Vic3RpdHV0ZShidWZuYW1lKGlidWYpLCdcXCcsJy8nLCdnJykKKyAgICAgbGV0IGJuYW1lPSBzdWJzdGl0dXRlKGJuYW1lLCcuXHpzLyQnLCcnLCcnKQogIiAgICAgY2FsbCBEZWNobygiICBmaW5kYnVmMzogZGlybmFtZTwiLmRpcm5hbWUuIj4gYnVmbmFtZSgiLmlidWYuIik8Ii5ibmFtZS4iPiIpCi0gICAgIGlmIGJuYW1lICE9ICcnICYmIGJuYW1lICF+ICcvJyAmJiBkaXJuYW1lID1+ICcvJy5ibmFtZS4nL1w9JCcgfCBicmVhayB8IGVuZGlmCisgICAgIGlmIGJuYW1lICE9ICcnICYmIGRpcm5hbWUgPX4gJy8nLmJuYW1lLicvXD0kJyB8IGJyZWFrIHwgZW5kaWYKICAgICAgaWYgYm5hbWUgICA9fiAnXicuZGlybmFtZS4nL1w9JCcgfCBicmVhayB8IGVuZGlmCiAgICAgIGlmIGRpcm5hbWUgPX4gJ14nLmJuYW1lLicvJCcgICAgIHwgYnJlYWsgfCBlbmRpZgogICAgICBsZXQgaWJ1Zj0gaWJ1ZiArIDEKQEAgLTIzMzYsOCArMjMyOSw4IEBACiAgICAgIGxldCBzOm5ldHJ3X3RyZWVsaXN0bnVtPSBzOm5ldHJ3X3RyZWVsaXN0bnVtICsgMQogICAgIGVuZGlmCiAgICAgbGV0IHc6bmV0cndfdHJlZWJ1Zm5yPSBidWZucigiJSIpCi0iICAgIGNhbGwgRGVjaG8oIiAgZXhlIHNpbGVudCEga2VlcGFsdCBmaWxlIE5ldHJ3VHJlZUxpc3RpbmcgIi5zOm5ldHJ3X3RyZWVsaXN0bnVtKQotICAgIGV4ZSAnc2lsZW50ISBrZWVwYWx0IGZpbGUgTmV0cndUcmVlTGlzdGluZ1wgJy5zOm5ldHJ3X3RyZWVsaXN0bnVtCisiICAgIGNhbGwgRGVjaG8oIiAgZXhlIHNpbGVudCEga2VlcGFsdCBmaWxlIE5ldHJ3VHJlZUxpc3RpbmcgIi5mbmFtZWVzY2FwZShzOm5ldHJ3X3RyZWVsaXN0bnVtKSkKKyAgICBleGUgJ3NpbGVudCEga2VlcGFsdCBmaWxlIE5ldHJ3VHJlZUxpc3RpbmdcICcuZm5hbWVlc2NhcGUoczpuZXRyd190cmVlbGlzdG51bSkKICAgICBubm9yZW1hcCA8c2lsZW50PiA8YnVmZmVyPiBbCTpzaWxlbnQgY2FsbCA8U0lEPlRyZWVMaXN0TW92ZSgnWycpPGNyPgogICAgIG5ub3JlbWFwIDxzaWxlbnQ+IDxidWZmZXI+IF0JOnNpbGVudCBjYWxsIDxTSUQ+VHJlZUxpc3RNb3ZlKCddJyk8Y3I+CiAgICAgbm5vcmVtYXAgPHNpbGVudD4gPGJ1ZmZlcj4gW1sgICAgICAgOnNpbGVudCBjYWxsIDxTSUQ+VHJlZUxpc3RNb3ZlKCdbJyk8Y3I+CkBAIC0yMzQ3LDggKzIzNDAsOCBAQAogIiAgICBsZXQgdjplcnJtc2c9ICIiICIgRGVjaG8KICAgICBsZXQgZXNjZGlybmFtZT0gZm5hbWVlc2NhcGUoZGlybmFtZSkKICIgICAgY2FsbCBEZWNobygiICBlcnJtc2c8Ii52OmVycm1zZy4iPiBidWZucigiLmVzY2Rpcm5hbWUuIik9Ii5idWZucihlc2NkaXJuYW1lKS4iPCIuYnVmbmFtZShidWZucihlc2NkaXJuYW1lKSkuIj4iKQotIiAgICBjYWxsIERlY2hvKCcgIGV4ZSBzaWxlbnQhIGtlZXBhbHQgZmlsZSAnLmVzY2Rpcm5hbWUpCi0gICAgZXhlICdzaWxlbnQhIGtlZXBhbHQgZmlsZSAnLmVzY2Rpcm5hbWUKKyIgICAgY2FsbCBEZWNobygnICBleGUgc2lsZW50ISBrZWVwYWx0IGZpbGUgJy5mbmFtZWVzY2FwZShlc2NkaXJuYW1lKSkKKyAgICBleGUgJ3NpbGVudCEga2VlcGFsdCBmaWxlICcuZm5hbWVlc2NhcGUoZXNjZGlybmFtZSkKICIgICAgY2FsbCBEZWNobygiICBlcnJtc2c8Ii52OmVycm1zZy4iPiBidWZucigiLmVzY2Rpcm5hbWUuIik9Ii5idWZucihlc2NkaXJuYW1lKS4iPCIuYnVmbmFtZShidWZucihlc2NkaXJuYW1lKSkuIj4iKQogICAgZW5kaWYKICIgICBjYWxsIERlY2hvKCIgIG5hbWVkIGVuZXcgYnVmZmVyIyIuYnVmbnIoIiUiKS4iPCIuYnVmbmFtZSgiJSIpLiI+IikKQEAgLTIzNjUsNyArMjM1OCw4IEBACiAgICAgZXhlICJiICIuYnVmbnVtCiAgICBlbmRpZgogICAgaWYgYnVmbmFtZSgiJSIpID09ICcuJwotICAgIGV4ZSAic2lsZW50ISBrZWVwYWx0IGZpbGUgIi5lc2NhcGUoZ2V0Y3dkKCksJyAnKQorIiAgICBjYWxsIERlY2hvKCJleGUgc2lsZW50ISBrZWVwYWx0IGZpbGUgIi5mbmFtZWVzY2FwZShnZXRjd2QoKSkpCisgICAgZXhlICJzaWxlbnQhIGtlZXBhbHQgZmlsZSAiLmZuYW1lZXNjYXBlKGdldGN3ZCgpKQogICAgZW5kaWYKICAgIGxldCAmZWk9IGVpa2VlcAogICAgaWYgbGluZSgiJCIpIDw9IDEKQEAgLTIzOTMsNyArMjM4Nyw4IEBACiAiICBjYWxsIERlY2hvKCItLWRvIG5ldHJ3IHNldHRpbmdzOiBtYWtlIHRoaXMgYnVmZmVyIG5vdC1hLWZpbGUsIG1vZGlmaWFibGUsIG5vdCBsaW5lLW51bWJlcmVkLCBldGMtLSIpCiAgIGxldCBmbmFtZT0gZXhwYW5kKCIlIikKICAgY2FsbCBzOk5ldHJ3TGlzdFNldHRpbmdzKGE6aXNsb2NhbCkKLSAgZXhlICJrZWVwYWx0IGZpbGUgIi5lc2NhcGUoZm5hbWUsJyAnKQorIiAgY2FsbCBEZWNobygiZXhlIGtlZXBhbHQgZmlsZSAiLmZuYW1lZXNjYXBlKGZuYW1lKSkKKyAgZXhlICJrZWVwYWx0IGZpbGUgIi5mbmFtZWVzY2FwZShmbmFtZSkKIAogICAiIGRlbGV0ZSBhbGwgbGluZXMgZnJvbSBidWZmZXIge3t7MwogIiAgY2FsbCBEZWNobygiLS1kZWxldGUgYWxsIGxpbmVzIGZyb20gYnVmZmVyLS0iKQpAQCAtMjUwMiw4ICsyNDk3LDEzIEBACiAgICAgbm9ybSEgbWEKICAgIGVuZGlmCiAgICBsZXQgcmVnYT0gQGEKLSAgIGNhbGwgY3Vyc29yKGxpbmUoIi4iKSxmaWxlc3RhcnQrYjpuZXRyd19jcGYrMSkKLSAgIG5vcm0hICJheWBhCisgICBsZXQgZW9mbmFtZT0gZmlsZXN0YXJ0ICsgYjpuZXRyd19jcGYgKyAxCisgICBpZiBlb2ZuYW1lIDw9IGNvbCgiJCIpCisgICAgY2FsbCBjdXJzb3IobGluZSgiLiIpLGZpbGVzdGFydCtiOm5ldHJ3X2NwZisxKQorICAgIG5vcm0hICJheWBhCisgICBlbHNlCisgICAgbm9ybSEgImF5JAorICAgZW5kaWYKICAgIGxldCBkaXJuYW1lID0gQGEKICAgIGxldCBAYSAgICAgID0gcmVnYQogIiAgIGNhbGwgRGVjaG8oIjI6IGRpcm5hbWU8Ii5kaXJuYW1lLiI+IikKQEAgLTI1MjYsOSArMjUyNiwxMCBAQAogZnVuISBzOk5ldHJ3TGlzdFNldHRpbmdzKGlzbG9jYWwpCiAiICBjYWxsIERmdW5jKCJzOk5ldHJ3TGlzdFNldHRpbmdzKGlzbG9jYWw9Ii5hOmlzbG9jYWwuIikiKQogICBsZXQgZm5hbWU9IGJ1Zm5hbWUoIiUiKQotICBzZXRsb2NhbCBidD1ub2ZpbGUgbm9ibCBtYSBub251IG5vd3JhcCBub3JvCiAiICBjYWxsIERlY2hvKCJzZXRsb2NhbCBidD1ub2ZpbGUgbm9ibCBtYSBub251IG5vd3JhcCBub3JvIikKLSAgZXhlICJrZWVwYWx0IGZpbGUgIi5lc2NhcGUoZm5hbWUsJyAnKQorICBzZXRsb2NhbCBidD1ub2ZpbGUgbm9ibCBtYSBub251IG5vd3JhcCBub3JvCisiICBjYWxsIERlY2hvKCJleGUga2VlcGFsdCBmaWxlICIuZm5hbWVlc2NhcGUoZm5hbWUpKQorICBleGUgImtlZXBhbHQgZmlsZSAiLmZuYW1lZXNjYXBlKGZuYW1lKQogICBpZiBnOm5ldHJ3X3VzZV9ub3N3ZgogICAgc2V0bG9jYWwgbm9zd2YKICAgZW5kaWYKQEAgLTI2NDIsNyArMjY0Myw3IEBACiAgICAgbGV0IGhpc3RjbnQgID0gaGlzdGNudCArIDEKICAgICBsZXQgcHJpb3JpdHkgPSBnOk5FVFJXX0RJUkhJU1RfQ05UICsgaGlzdGNudAogICAgIGlmIGV4aXN0cygiZzpORVRSV19ESVJISVNUX3tjbnR9IikKLSAgICAgbGV0IGJtZGlyPSBlc2NhcGUoZzpORVRSV19ESVJISVNUX3tjbnR9LCcuICcpCisgICAgIGxldCBibWRpcj0gZXNjYXBlKGc6TkVUUldfRElSSElTVF97Y250fSwnLyY/ICcpCiAiICAgICBjYWxsIERlY2hvKCdzaWxlbnQhIG1lbnUgJy5nOk5ldHJ3TWVudVByaW9yaXR5LiIuMy4iLnByaW9yaXR5LiIgIi5nOk5ldHJ3VG9wTHZsTWVudS4nSGlzdG9yeS4nLmJtZGlyLicJOmUgJy5ibWRpcikKICAgICAgZXhlICdzaWxlbnQhIG1lbnUgJy5nOk5ldHJ3TWVudVByaW9yaXR5LiIuMy4iLnByaW9yaXR5LiIgIi5nOk5ldHJ3VG9wTHZsTWVudS4nSGlzdG9yeS4nLmJtZGlyLicJOmUgJy5ibWRpci4iXDxjcj4iCiAgICAgZW5kaWYKQEAgLTI3MTgsNyArMjcxOSw2IEBACiAiICAgY2FsbCBEZWNobygiaGFuZGxpbmcgYSBmaWxlOiBkaXJuYW1lPCIuZGlybmFtZS4iPiAoYTowPSIuYTowLiIpIikKICAgICIgdGhpcyBsZXRzIE5ldHJ3QnJvd3NlWCBhdm9pZCB0aGUgZWRpdAogICAgaWYgYTowIDwgMQotIiAgICBjYWxsIERlY2hvKCJkaXJuYW1lPCIuZGlybmFtZS4iPiBuZXRyd19jZF9lc2NhcGU8Ii5nOm5ldHJ3X2NkX2VzY2FwZS4iPiBicm93c2Vfc3BsaXQ9Ii5nOm5ldHJ3X2Jyb3dzZV9zcGxpdCkKICIgICAgY2FsbCBEZWNobygic2V0IHVwIHdpbmRvd3MgZm9yIGVkaXRpbmc8Ii5mbmFtZWVzY2FwZShkaXJuYW1lKS4iPiAgZGlkc3BsaXQ9Ii4oZXhpc3RzKCJzOmRpZHNwbGl0Iik/IHM6ZGlkc3BsaXQgOiAiZG9lc24ndCBleGlzdCIpKQogICAgIGNhbGwgczpOZXRyd09wdGlvblJlc3RvcmUoInM6IikKICAgICBpZiAhZXhpc3RzKCJzOmRpZHNwbGl0IikKQEAgLTI5MDAsMTUgKzI5MDAsMTMgQEAKICAgaWYgaGFzKCJ3aW4zMiIpIHx8IGhhcygid2luOTUiKSB8fCBoYXMoIndpbjY0IikgfHwgaGFzKCJ3aW4xNiIpCiAgICBsZXQgZXh0ZW49IHN1YnN0aXR1dGUoZXh0ZW4sJ14uKiQnLCdcTCZcRScsJycpCiAgIGVuZGlmCi0gIGxldCBmbmFtZT0gZXNjYXBlKGE6Zm5hbWUsIiUjIikKLSIgIGNhbGwgRGVjaG8oImZuYW1lPCIuZm5hbWUuIj4gYWZ0ZXIgZXNjYXBlKCkiKQogCiAgICIgc2VlbXMga2RlIHN5c3RlbXMgb2Z0ZW4gaGF2ZSBnbm9tZS1vcGVuIGR1ZSB0byBkZXBlbmRlbmNpZXMsIGV2ZW4gdGhvdWdoCiAgICIgZ25vbWUtb3BlbidzIHN1YnNpZGlhcnkgZGlzcGxheSB0b29scyBhcmUgbGFyZ2VseSBhYnNlbnQuICBLZGUgc3lzdGVtcwogICAiIHVzdWFsbHkgaGF2ZSAia2RlaW5pdCIgcnVubmluZywgdGhvdWdoLi4uICAodG54IE1pa29sYWogTWFjaG93c2tpKQogICBpZiAhZXhpc3RzKCJzOmhhc2tkZWluaXQiKQogICAgaWYgaGFzKCJ1bml4IikKLSAgICBsZXQgczpoYXNrZGVpbml0PSBzOlN5c3RlbSgic3lzdGVtIiwncHMgLWUnKSA9fiAna2RlaW5pdCcKKyAgICBsZXQgczpoYXNrZGVpbml0PSBzeXN0ZW0oInBzIC1lIikgPX4gJ2tkZWluaXQnIAogICAgIGlmIHY6c2hlbGxfZXJyb3IKICAgICAgbGV0IHM6aGFza2RlaW5pdCA9IDAKICAgICBlbmRpZgpAQCAtMjkyMSwxMiArMjkxOSwxNCBAQAogICBpZiBhOnJlbW90ZSA9PSAxCiAgICAiIGNyZWF0ZSBhIGxvY2FsIGNvcHkKICAgIGxldCBmbmFtZT0gZm5hbWVtb2RpZnkodGVtcG5hbWUoKSwiOnIiKS4iLiIuZXh0ZW4KLSIgICBjYWxsIERlY2hvKCJhOnJlbW90ZT0iLmE6cmVtb3RlLiI6IGNyZWF0ZSBhIGxvY2FsIGNvcHkgb2YgPCIuYTpmbmFtZS4iPiBhcyA8Ii5mbmFtZS4iPiIpCi0gICBleGUgInNpbGVudCBrZWVwanVtcHMgYm90IDFuZXcgIi5hOmZuYW1lCisiICAgY2FsbCBEZWNobygiYTpyZW1vdGU9Ii5hOnJlbW90ZS4iOiBjcmVhdGUgYSBsb2NhbCBjb3B5IG9mIDwiLmZuYW1lLiI+IGFzIDwiLmZuYW1lLiI+IikKKyAgIGV4ZSAic2lsZW50IGtlZXBqdW1wcyBib3QgMW5ldyAiLmZuYW1lZXNjYXBlKGZuYW1lKQogICAgc2V0bG9jYWwgYmg9ZGVsZXRlCi0iICAgY2FsbCBEZWNobygicmVhZCA8Ii5mbmFtZS4iPiwgbm93IHdyaXRpbmc6IGV4ZSB3ISAiLmZuYW1lKQotICAgZXhlICJzaWxlbnQhIHchICIuZm5hbWUKKyIgICBjYWxsIERlY2hvKCJyZWFkIDwiLmZuYW1lZXNjYXBlKGZuYW1lKS4iPiwgbm93IHdyaXRpbmc6IGV4ZSB3ISAiLmZuYW1lZXNjYXBlKGZuYW1lKSkKKyAgIGV4ZSAic2lsZW50ISB3ISAiLmZuYW1lZXNjYXBlKGZuYW1lKQogICAgcQorICBlbHNlCisgICBsZXQgZm5hbWU9IGE6Zm5hbWUKICAgZW5kaWYKICIgIGNhbGwgRGVjaG8oImV4dGVuPCIuZXh0ZW4uIj4gIi4ibmV0cndGaWxlSGFuZGxlcnMjTkZIXyIuZXh0ZW4uIigpOmV4aXN0cz0iLmV4aXN0cygiKm5ldHJ3RmlsZUhhbmRsZXJzI05GSF8iLmV4dGVuKSkKIApAQCAtMjk3MiwyOSArMjk3MiwyOSBAQAogCiAgIGVsc2VpZiBleGlzdHMoImc6bmV0cndfYnJvd3NleF92aWV3ZXIiKSAmJiBleGVjdXRhYmxlKHZpZXdlcikKICIgICBjYWxsIERlY2hvKCJnOm5ldHJ3X2Jyb3dzZXhfdmlld2VyPCIuZzpuZXRyd19icm93c2V4X3ZpZXdlci4iPiIpCi0iICAgY2FsbCBEZWNobygiZXhlIHNpbGVudCAhIi52aWV3ZXIuIiAiLnZpZXdvcHQuc2hlbGxlc2NhcGUoZm5hbWUpLnJlZGlyKQotICAgZXhlICJzaWxlbnQgISIudmlld2VyLiIgIi52aWV3b3B0LnNoZWxsZXNjYXBlKGZuYW1lKS5yZWRpcgorIiAgIGNhbGwgRGVjaG8oImV4ZSBzaWxlbnQgISIudmlld2VyLiIgIi52aWV3b3B0LnNoZWxsZXNjYXBlKGZuYW1lLDEpLnJlZGlyKQorICAgZXhlICJzaWxlbnQgISIudmlld2VyLiIgIi52aWV3b3B0LnNoZWxsZXNjYXBlKGZuYW1lLDEpLnJlZGlyCiAgICBsZXQgcmV0PSB2OnNoZWxsX2Vycm9yCiAKICAgZWxzZWlmIGhhcygid2luMzIiKSB8fCBoYXMoIndpbjY0IikKLSIgICBjYWxsIERlY2hvKCdleGUgc2lsZW50ICFzdGFydCBydW5kbGwzMiB1cmwuZGxsLEZpbGVQcm90b2NvbEhhbmRsZXIgJy5zaGVsbGVzY2FwZShmbmFtZSkpCi0gICBleGUgJ3NpbGVudCAhc3RhcnQgcnVuZGxsMzIgdXJsLmRsbCxGaWxlUHJvdG9jb2xIYW5kbGVyICcuc2hlbGxlc2NhcGUoZm5hbWUpCisiICAgY2FsbCBEZWNobygnZXhlIHNpbGVudCAhc3RhcnQgcnVuZGxsMzIgdXJsLmRsbCxGaWxlUHJvdG9jb2xIYW5kbGVyICcuc2hlbGxlc2NhcGUoZm5hbWUsMSkpCisgICBleGUgJ3NpbGVudCAhc3RhcnQgcnVuZGxsMzIgdXJsLmRsbCxGaWxlUHJvdG9jb2xIYW5kbGVyICcuc2hlbGxlc2NhcGUoZm5hbWUsMSkKICAgIGNhbGwgaW5wdXRzYXZlKCl8Y2FsbCBpbnB1dCgiUHJlc3MgPGNyPiB0byBjb250aW51ZSIpfGNhbGwgaW5wdXRyZXN0b3JlKCkKICAgIGxldCByZXQ9IHY6c2hlbGxfZXJyb3IKIAogICBlbHNlaWYgaGFzKCJ1bml4IikgJiYgZXhlY3V0YWJsZSgiZ25vbWUtb3BlbiIpICYmICFzOmhhc2tkZWluaXQKLSIgICBjYWxsIERlY2hvKCJleGUgc2lsZW50ICFnbm9tZS1vcGVuICIuc2hlbGxlc2NhcGUoZm5hbWUpLiIgIi5yZWRpcikKLSAgIGV4ZSAic2lsZW50ICFnbm9tZS1vcGVuICIuc2hlbGxlc2NhcGUoZm5hbWUpLnJlZGlyCisiICAgY2FsbCBEZWNobygiZXhlIHNpbGVudCAhZ25vbWUtb3BlbiAiLnNoZWxsZXNjYXBlKGZuYW1lLDEpLiIgIi5yZWRpcikKKyAgIGV4ZSAic2lsZW50ICFnbm9tZS1vcGVuICIuc2hlbGxlc2NhcGUoZm5hbWUsMSkucmVkaXIKICAgIGxldCByZXQ9IHY6c2hlbGxfZXJyb3IKIAogICBlbHNlaWYgaGFzKCJ1bml4IikgJiYgZXhlY3V0YWJsZSgia2ZtY2xpZW50IikgJiYgczpoYXNrZGVpbml0Ci0iICAgY2FsbCBEZWNobygiZXhlIHNpbGVudCAha2ZtY2xpZW50IGV4ZWMgIi5zaGVsbGVzY2FwZShmbmFtZSkuIiAiLnJlZGlyKQotICAgZXhlICJzaWxlbnQgIWtmbWNsaWVudCBleGVjICIuc2hlbGxlc2NhcGUoZm5hbWUpLiIgIi5yZWRpcgorIiAgIGNhbGwgRGVjaG8oImV4ZSBzaWxlbnQgIWtmbWNsaWVudCBleGVjICIuc2hlbGxlc2NhcGUoZm5hbWUsMSkuIiAiLnJlZGlyKQorICAgZXhlICJzaWxlbnQgIWtmbWNsaWVudCBleGVjICIuc2hlbGxlc2NhcGUoZm5hbWUsMSkuIiAiLnJlZGlyCiAgICBsZXQgcmV0PSB2OnNoZWxsX2Vycm9yCiAKICAgZWxzZWlmIGhhcygibWFjdW5peCIpICYmIGV4ZWN1dGFibGUoIm9wZW4iKQotIiAgIGNhbGwgRGVjaG8oImV4ZSBzaWxlbnQgIW9wZW4gIi5zaGVsbGVzY2FwZShmbmFtZSkuIiAiLnJlZGlyKQotICAgZXhlICJzaWxlbnQgIW9wZW4gIi5zaGVsbGVzY2FwZShmbmFtZSkuIiAiLnJlZGlyCisiICAgY2FsbCBEZWNobygiZXhlIHNpbGVudCAhb3BlbiAiLnNoZWxsZXNjYXBlKGZuYW1lLDEpLiIgIi5yZWRpcikKKyAgIGV4ZSAic2lsZW50ICFvcGVuICIuc2hlbGxlc2NhcGUoZm5hbWUsMSkuIiAiLnJlZGlyCiAgICBsZXQgcmV0PSB2OnNoZWxsX2Vycm9yCiAKICAgZWxzZQpAQCAtMzAwNyw3ICszMDA3LDggQEAKICAgIGxldCByZXQ9IG5ldHJ3RmlsZUhhbmRsZXJzI0ludm9rZShleHRlbixmbmFtZSkKICAgZW5kaWYKIAotIiAgcmVkcmF3IQorICAiIHJlc3RvcmluZyByZWRyYXchIGFmdGVyIGV4dGVybmFsIGZpbGUgaGFuZGxlcnMKKyAgcmVkcmF3IQogCiAgICIgY2xlYW51cDogcmVtb3ZlIHRlbXBvcmFyeSBmaWxlLAogICAiICAgICAgICAgIGRlbGV0ZSBjdXJyZW50IGJ1ZmZlciBpZiBzdWNjZXNzIHdpdGggaGFuZGxlciwKQEAgLTMwMTYsNyArMzAxNyw3IEBACiAgICIgICAgICAgICAgdGVtcG9yYXJ5IGZpbGUgYmVjYXVzZSBpdCB3YXNuJ3QgZ2V0dGluZyBzZWVuLgogIiAgaWYgYTpyZW1vdGUgPT0gMSAmJiBmbmFtZSAhPSBhOmZuYW1lCiAiICAgY2FsbCBEZWNobygiZGVsZXRpbmcgdGVtcG9yYXJ5IGZpbGU8Ii5mbmFtZS4iPiIpCi0iICAgY2FsbCBzOlN5c3RlbSgiZGVsZXRlIixmbmFtZSkKKyIgICBjYWxsIHM6TmV0cndEZWxldGUoZm5hbWUpCiAiICBlbmRpZgogCiAgIGlmIGE6cmVtb3RlID09IDEKQEAgLTM2NTIsOCArMzY1Myw4IEBACiAgICAgbGV0IG5ldHJ3X29yaWdkaXI9IHM6TmV0cndHZXRjd2QoMSkKICAgICBleGUgJ2tlZXBqdW1wcyBsY2QgJy5mbmFtZWVzY2FwZShiOm5ldHJ3X2N1cmRpcikKICIgICAgY2FsbCBEZWNobygibmV0cndfb3JpZ2RpcjwiLm5ldHJ3X29yaWdkaXIuIj46IGxjZCBiOm5ldHJ3X2N1cmRpcjwiLmZuYW1lZXNjYXBlKGI6bmV0cndfY3VyZGlyKS4iPiIpCi0iICAgIGNhbGwgRGVjaG8oImV4ZSBzaWxlbnQhICEiLmc6bmV0cndfbG9jYWxfbWtkaXIuJyAnLnNoZWxsZXNjYXBlKG5ld2Rpcm5hbWUpKQotICAgIGV4ZSAic2lsZW50ISAhIi5nOm5ldHJ3X2xvY2FsX21rZGlyLicgJy5zaGVsbGVzY2FwZShuZXdkaXJuYW1lKQorIiAgICBjYWxsIERlY2hvKCJleGUgc2lsZW50ISAhIi5nOm5ldHJ3X2xvY2FsX21rZGlyLicgJy5zaGVsbGVzY2FwZShuZXdkaXJuYW1lLDEpKQorICAgIGV4ZSAic2lsZW50ISAhIi5nOm5ldHJ3X2xvY2FsX21rZGlyLicgJy5zaGVsbGVzY2FwZShuZXdkaXJuYW1lLDEpCiAgICAgaWYgIWc6bmV0cndfa2VlcGRpcgogICAgICBleGUgJ2tlZXBqdW1wcyBsY2QgJy5mbmFtZWVzY2FwZShuZXRyd19vcmlnZGlyKQogIiAgICAgY2FsbCBEZWNobygibmV0cndfa2VlcGRpcj0iLmc6bmV0cndfa2VlcGRpci4iOiBrZWVwanVtcHMgbGNkICIuZm5hbWVlc2NhcGUobmV0cndfb3JpZ2RpcikuIiBnZXRjd2Q8Ii5nZXRjd2QoKS4iPiIpCkBAIC0zNjc2LDggKzM2NzcsOCBAQAogIiAgIGNhbGwgRGVjaG8oInJlbW90ZSBta2RpciIpCiAgICBsZXQgbWtkaXJjbWQgID0gczpNYWtlU3NoQ21kKGc6bmV0cndfbWtkaXJfY21kKQogICAgbGV0IG5ld2Rpcm5hbWU9IHN1YnN0aXR1dGUoYjpuZXRyd19jdXJkaXIsJ15cJSguXHstfS9cKVx7M31cKC4qXCkkJywnXDEnLCcnKS5uZXdkaXJuYW1lCi0iICAgY2FsbCBEZWNobygiZXhlIHNpbGVudCEgISIubWtkaXJjbWQuIiAiLnNoZWxsZXNjYXBlKG5ld2Rpcm5hbWUpKQotICAgZXhlICJzaWxlbnQhICEiLm1rZGlyY21kLiIgIi5zaGVsbGVzY2FwZShuZXdkaXJuYW1lKQorIiAgIGNhbGwgRGVjaG8oImV4ZSBzaWxlbnQhICEiLm1rZGlyY21kLiIgIi5zaGVsbGVzY2FwZShuZXdkaXJuYW1lLDEpKQorICAgZXhlICJzaWxlbnQhICEiLm1rZGlyY21kLiIgIi5zaGVsbGVzY2FwZShuZXdkaXJuYW1lLDEpCiAgICBpZiB2OnNoZWxsX2Vycm9yID09IDAKICAgICAiIHJlZnJlc2ggbGlzdGluZwogICAgIGxldCBzdnBvcz0gbmV0cncjTmV0cndTYXZlUG9zbigpCkBAIC0zODE4LDE0ICszODE5LDE0IEBACiAgICAgZm9yIHNmeCBpbiBzb3J0KGtleXMoZzpuZXRyd19kZWNvbXByZXNzKSkKICAgICAgaWYgZm5hbWUgPX4gJ1wnLnNmeC4nJCcKICAgICAgICIgZm5hbWUgaGFzIGEgc3VmZml4IGluZGljYXRpbmcgdGhhdCBpdHMgY29tcHJlc3NlZDsgYXBwbHkgYXNzb2NpYXRlZCBkZWNvbXByZXNzaW9uIHJvdXRpbmUKLSAgICAgIGxldCBleGU9IGc6bmV0cndfZGVjb21wcmVzc1tzZnhdCisgICAgICBsZXQgZXhlPSBzOldpblBhdGgoZzpuZXRyd19kZWNvbXByZXNzW3NmeF0pCiAiICAgICAgY2FsbCBEZWNobygiZm5hbWU8Ii5mbmFtZS4iPiBpcyBjb21wcmVzc2VkIHNvIGRlY29tcHJlc3Mgd2l0aCA8Ii5leGUuIj4iKQogICAgICAgaWYgYTppc2xvY2FsCiAgICAgICAgaWYgZzpuZXRyd19rZWVwZGlyCi0gICAgICAgIGxldCBmbmFtZT0gczpDb21wb3NlUGF0aChjdXJkaXIsZm5hbWUpCisgICAgICAgIGxldCBmbmFtZT0gc2hlbGxlc2NhcGUoczpDb21wb3NlUGF0aChjdXJkaXIsZm5hbWUpKQogICAgICAgIGVuZGlmCiAgICAgICBlbHNlCi0gICAgICAgbGV0IGZuYW1lPSBiOm5ldHJ3X2N1cmRpci5mbmFtZQorICAgICAgIGxldCBmbmFtZT0gc2hlbGxlc2NhcGUoYjpuZXRyd19jdXJkaXIuZm5hbWUpCiAgICAgICBlbmRpZgogICAgICAgaWYgZXhlY3V0YWJsZShleGUpCiAgICAgICAgaWYgYTppc2xvY2FsCkBAIC0zODQzLDEwICszODQ0LDEwIEBACiAgICAgIHVubGV0IGV4ZQogICAgIGVsc2VpZiBhOmlzbG9jYWwKICAgICAgIiBmbmFtZSBub3QgYSBjb21wcmVzc2VkIGZpbGUsIHNvIGNvbXByZXNzIGl0Ci0gICAgIGNhbGwgc3lzdGVtKGc6bmV0cndfY29tcHJlc3MuIiAiLnM6Q29tcG9zZVBhdGgoYjpuZXRyd19jdXJkaXIsZm5hbWUpKQorICAgICBjYWxsIHN5c3RlbShzOldpblBhdGgoZzpuZXRyd19jb21wcmVzcykuIiAiLnNoZWxsZXNjYXBlKHM6Q29tcG9zZVBhdGgoYjpuZXRyd19jdXJkaXIsZm5hbWUpKSkKICAgICBlbHNlCiAgICAgICIgZm5hbWUgbm90IGEgY29tcHJlc3NlZCBmaWxlLCBzbyBjb21wcmVzcyBpdAotICAgICBjYWxsIHM6UmVtb3RlU3lzdGVtKGc6bmV0cndfY29tcHJlc3MuIiAiLmZuYW1lKQorICAgICBjYWxsIHM6UmVtb3RlU3lzdGVtKHM6V2luUGF0aChnOm5ldHJ3X2NvbXByZXNzKS4iICIuc2hlbGxlc2NhcGUoZm5hbWUpKQogICAgIGVuZGlmCiAgICBlbmRmb3IKICAgIGNhbGwgczpOZXRyd1VubWFya0xpc3QoY3VyYnVmbnIsY3VyZGlyKQpAQCAtMzg4Nyw3ICszODg4LDcgQEAKICIgICBjYWxsIERlY2hvKCJjb3B5IGZyb20gbG9jYWwgdG8gbG9jYWwiKQogICAgbGV0IGFyZ3M9IGpvaW4obWFwKGNvcHkoczpuZXRyd21hcmtmaWxlbGlzdF97YnVmbnIoJyUnKX0pLCJiOm5ldHJ3X2N1cmRpci5cIi9cIi5zaGVsbGVzY2FwZSh2OnZhbCkiKSkKICIgICBjYWxsIERlY2hvKCJzeXN0ZW0oIi5nOm5ldHJ3X2xvY2FsY29weWNtZC4iICIuYXJncy4iICIuc2hlbGxlc2NhcGUoczpuZXRyd21mdGd0KS4iKSIpCi0gICBjYWxsIHN5c3RlbShnOm5ldHJ3X2xvY2FsY29weWNtZC4iICIuYXJncy4iICIuc2hlbGxlc2NhcGUoczpuZXRyd21mdGd0KSkKKyAgIGNhbGwgc3lzdGVtKHM6V2luUGF0aChnOm5ldHJ3X2xvY2FsY29weWNtZCkuIiAiLmFyZ3MuIiAiLnNoZWxsZXNjYXBlKHM6bmV0cndtZnRndCkpCiAKICAgZWxzZWlmICBhOmlzbG9jYWwgJiYgIXM6bmV0cndtZnRndF9pc2xvY2FsCiAgICAiIENvcHkgbWFya2VkIGZpbGVzLCBsb2NhbCBkaXJlY3RvcnkgdG8gcmVtb3RlIGRpcmVjdG9yeQpAQCAtMzkwOCw3ICszOTA5LDcgQEAKICAgIGlmIGV4aXN0cygiKm1rZGlyIikKICAgICBjYWxsIG1rZGlyKHRtcGRpcikKICAgIGVsc2UKLSAgICBleGUgInNpbGVudCEgISIuZzpuZXRyd19sb2NhbF9ta2Rpci4nICcuc2hlbGxlc2NhcGUodG1wZGlyKQorICAgIGV4ZSAic2lsZW50ISAhIi5nOm5ldHJ3X2xvY2FsX21rZGlyLicgJy5zaGVsbGVzY2FwZSh0bXBkaXIsMSkKICAgIGVuZGlmCiAgICBpZiBpc2RpcmVjdG9yeSh0bXBkaXIpCiAgICAgZXhlICJrZWVwanVtcHMgbGNkICIuZm5hbWVlc2NhcGUodG1wZGlyKQpAQCAtMzkxNywxMCArMzkxOCwxMCBAQAogICAgIGNhbGwgczpOZXRyd1VwbG9hZChsb2NhbGZpbGVzLHM6bmV0cndtZnRndCkKICAgICBpZiBnZXRjd2QoKSA9PSB0bXBkaXIKICAgICAgZm9yIGZuYW1lIGluIHM6bmV0cndtYXJrZmlsZWxpc3Rfe2J1Zm5yKCclJyl9Ci0gICAgICBjYWxsIHM6U3lzdGVtKCJkZWxldGUiLGZuYW1lKQorICAgICAgY2FsbCBzOk5ldHJ3RGVsZXRlKGZuYW1lKQogICAgICBlbmRmb3IKICAgICAgZXhlICJrZWVwanVtcHMgbGNkICIuZm5hbWVlc2NhcGUoY3VyZGlyKQotICAgICBleGUgInNpbGVudCAhIi5nOm5ldHJ3X2xvY2FsX3JtZGlyLiIgIi5mbmFtZWVzY2FwZSh0bXBkaXIpCisgICAgIGV4ZSAic2lsZW50ICEiLmc6bmV0cndfbG9jYWxfcm1kaXIuIiAiLnNoZWxsZXNjYXBlKHRtcGRpciwxKQogICAgIGVsc2UKICAgICAgZXhlICJrZWVwanVtcHMgbGNkICIuZm5hbWVlc2NhcGUoY3VyZGlyKQogICAgIGVuZGlmCkBAIC00MDM2LDEwICs0MDM3LDEwIEBACiAgICBmb3IgZm5hbWUgaW4gczpuZXRyd21hcmtmaWxlbGlzdF97Y3VyYnVmbnJ9CiAgICAgaWYgYTppc2xvY2FsCiAgICAgIGlmIGc6bmV0cndfa2VlcGRpcgotICAgICAgbGV0IGZuYW1lPSBzOkNvbXBvc2VQYXRoKGN1cmRpcixmbmFtZSkKKyAgICAgIGxldCBmbmFtZT0gc2hlbGxlc2NhcGUoczpXaW5QYXRoKHM6Q29tcG9zZVBhdGgoY3VyZGlyLGZuYW1lKSkpCiAgICAgIGVuZGlmCiAgICAgZWxzZQotICAgICBsZXQgZm5hbWU9IGI6bmV0cndfY3VyZGlyLmZuYW1lCisgICAgIGxldCBmbmFtZT0gc2hlbGxlc2NhcGUoczpXaW5QYXRoKGI6bmV0cndfY3VyZGlyLmZuYW1lKSkKICAgICBlbmRpZgogICAgIGlmIGNtZCA9fiAnJScKICAgICAgbGV0IHhjbWQ9IHN1YnN0aXR1dGUoY21kLCclJyxmbmFtZSwnZycpCkBAIC00Mzk5LDggKzQ0MDAsOCBAQAogICAgICBsZXQgZm5hbWU9IGN1cmRpci5mbmFtZQogICAgIGVuZGlmCiAgICAgIiB0aGUgYXV0b2NtZHMgd2lsbCBoYW5kbGUgc291cmNpbmcgYm90aCBsb2NhbCBhbmQgcmVtb3RlIGZpbGVzCi0iICAgIGNhbGwgRGVjaG8oImV4ZSBzbyAiLmVzY2FwZShmbmFtZSwnICcpKQotICAgIGV4ZSAic28gIi5lc2NhcGUoZm5hbWUsJyAnKQorIiAgICBjYWxsIERlY2hvKCJleGUgc28gIi5mbmFtZWVzY2FwZShmbmFtZSkpCisgICAgZXhlICJzbyAiLmZuYW1lZXNjYXBlKGZuYW1lKQogICAgZW5kZm9yCiAgICAybWF0Y2ggbm9uZQogICBlbmRpZgpAQCAtNDQzOSw3ICs0NDQwLDcgQEAKICAgICAgY2FsbCBuZXRydyNFcnJvck1zZyhzOkVSUk9SLCJnOm5ldHJ3X2N0YWdzPCIuZzpuZXRyd19jdGFncy4iPiBpcyBub3QgZXhlY3V0YWJsZSEiLDUxKQogICAgIGVuZGlmCiAgICBlbHNlCi0gICAgbGV0IGNtZD0gczpSZW1vdGVTeXN0ZW0oZzpuZXRyd19jdGFncy4iICIubmV0cndtYXJrZmlsZWxpc3QpCisgICAgbGV0IGNtZCAgID0gczpSZW1vdGVTeXN0ZW0oZzpuZXRyd19jdGFncy4iICIubmV0cndtYXJrZmlsZWxpc3QpCiAgICAgY2FsbCBuZXRydyNOZXRyd09idGFpbihhOmlzbG9jYWwsInRhZ3MiKQogICAgIGxldCBjdXJkaXI9IGI6bmV0cndfY3VyZGlyCiAgICAgMXNwbGl0CkBAIC00NTE5LDYgKzQ1MjAsMzYgQEAKIGVuZGZ1bgogCiAiIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIiBzOk5ldHJ3T3BlbkZpbGU6IHF1ZXJ5IHVzZXIgZm9yIGEgZmlsZW5hbWUgYW5kIG9wZW4gaXQge3t7MgorZnVuISBzOk5ldHJ3T3BlbkZpbGUoaXNsb2NhbCkKKyIgIGNhbGwgRGZ1bmMoInM6TmV0cndPcGVuRmlsZShpc2xvY2FsPSIuYTppc2xvY2FsLiIpIikKKyAgY2FsbCBpbnB1dHNhdmUoKQorICBsZXQgZm5hbWU9IGlucHV0KCJFbnRlciBmaWxlbmFtZTogIikKKyAgY2FsbCBpbnB1dHJlc3RvcmUoKQorICBpZiBmbmFtZSAhfiAnWy9cXF0nCisgICBpZiBleGlzdHMoImI6bmV0cndfY3VyZGlyIikKKyAgICBpZiBleGlzdHMoImc6bmV0cndfcXVpZXQiKQorICAgICBsZXQgbmV0cndfcXVpZXRfa2VlcCA9IGc6bmV0cndfcXVpZXQKKyAgICBlbmRpZgorICAgIGxldCBnOm5ldHJ3X3F1aWV0ICAgID0gMQorICAgIGlmIGI6bmV0cndfY3VyZGlyID1+ICcvJCcKKyAgICAgZXhlICJlICIuZm5hbWVlc2NhcGUoYjpuZXRyd19jdXJkaXIuZm5hbWUpCisgICAgZWxzZQorICAgICBleGUgImUgIi5mbmFtZWVzY2FwZShiOm5ldHJ3X2N1cmRpci4iLyIuZm5hbWUpCisgICAgZW5kaWYKKyAgICBpZiBleGlzdHMoIm5ldHJ3X3F1aWV0X2tlZXAiKQorICAgICBsZXQgZzpuZXRyd19xdWlldD0gbmV0cndfcXVpZXRfa2VlcAorICAgIGVsc2UKKyAgICAgdW5sZXQgZzpuZXRyd19xdWlldAorICAgIGVuZGlmCisgICBlbmRpZgorICBlbHNlCisgICBleGUgImUgIi5mbmFtZWVzY2FwZShmbmFtZSkKKyAgZW5kaWYKKyIgIGNhbGwgRHJldCgiczpOZXRyd09wZW5GaWxlIikKK2VuZGZ1bgorCisiIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogIiBzOk5ldHJ3VW5tYXJrTGlzdDogZGVsZXRlIGxvY2FsIG1hcmtlZCBmaWxlIGxpc3RzIGFuZCByZW1vdmUgdGhlaXIgY29udGVudHMgZnJvbSB0aGUgZ2xvYmFsIG1hcmtlZC1maWxlIGxpc3Qge3t7MgogZnVuISBzOk5ldHJ3VW5tYXJrTGlzdChjdXJidWZucixjdXJkaXIpCiAiICBjYWxsIERmdW5jKCJzOk5ldHJ3VW5tYXJrTGlzdChjdXJidWZucj0iLmE6Y3VyYnVmbnIuIiBjdXJkaXI8Ii5hOmN1cmRpci4iPikiKQpAQCAtNDczNSw4ICs0NzY2LDggQEAKICAgICBpZiAoaGFzKCJ3aW4zMiIpIHx8IGhhcygid2luOTUiKSB8fCBoYXMoIndpbjY0IikgfHwgaGFzKCJ3aW4xNiIpKQogICAgICAiIHRyYW5zZmVyIGZpbGVzIG9uZSBhdCB0aW1lCiAgICAgIGZvciBmbmFtZSBpbiBmbmFtZWxpc3QKLSIgICAgICBjYWxsIERlY2hvKCJzeXN0ZW0oIi5nOm5ldHJ3X2xvY2FsY29weWNtZC4iICIuZm5hbWUuIiAiLnNoZWxsZXNjYXBlKHRvcGF0aCkuIikiKQotICAgICAgY2FsbCBzeXN0ZW0oZzpuZXRyd19sb2NhbGNvcHljbWQuIiAiLmZuYW1lLiIgIi5zaGVsbGVzY2FwZSh0b3BhdGgpKQorIiAgICAgIGNhbGwgRGVjaG8oInN5c3RlbSgiLmc6bmV0cndfbG9jYWxjb3B5Y21kLiIgIi5zaGVsbGVzY2FwZShmbmFtZSkuIiAiLnNoZWxsZXNjYXBlKHRvcGF0aCkuIikiKQorICAgICAgY2FsbCBzeXN0ZW0oZzpuZXRyd19sb2NhbGNvcHljbWQuIiAiLnNoZWxsZXNjYXBlKGZuYW1lKS4iICIuc2hlbGxlc2NhcGUodG9wYXRoKSkKICAgICAgZW5kZm9yCiAgICAgZWxzZQogICAgICAiIHRyYW5zZmVyIGZpbGVzIHdpdGggb25lIGNvbW1hbmQKQEAgLTQ3NzAsOSArNDgwMSw5IEBACiAgICAgZWxzZQogICAgICBsZXQgcGF0aD0gIiIKICAgICBlbmRpZgotICAgIGxldCBmaWxlbGlzdD0gam9pbihtYXAoY29weShmbmFtZWxpc3QpLCdzaGVsbGVzY2FwZShnOm5ldHJ3X21hY2hpbmUuIjoiLmVzY2FwZShwYXRoLnY6dmFsLGc6bmV0cndfZm5hbWVfZXNjYXBlKSknKSkKLSIgICAgY2FsbCBEZWNobygiZXhlICIuczpuZXRyd19zaWxlbnR4ZmVyLiIhIi5nOm5ldHJ3X3NjcF9jbWQudXNlcG9ydC4iICIuZmlsZWxpc3QuIiAiLnNoZWxsZXNjYXBlKHRndGRpcikpCi0gICAgZXhlIHM6bmV0cndfc2lsZW50eGZlci4iISIuZzpuZXRyd19zY3BfY21kLnVzZXBvcnQuIiAiLmZpbGVsaXN0LiIgIi5zaGVsbGVzY2FwZSh0Z3RkaXIpCisgICAgbGV0IGZpbGVsaXN0PSBqb2luKG1hcChjb3B5KGZuYW1lbGlzdCksJ3NoZWxsZXNjYXBlKGc6bmV0cndfbWFjaGluZS4iOiIucGF0aC52OnZhbCwxKSknKSkKKyIgICAgY2FsbCBEZWNobygiZXhlICIuczpuZXRyd19zaWxlbnR4ZmVyLiIhIi5nOm5ldHJ3X3NjcF9jbWQuc2hlbGxlc2NhcGUodXNlcG9ydCwxKS4iICIuZmlsZWxpc3QuIiAiLnNoZWxsZXNjYXBlKHRndGRpciwxKSkKKyAgICBleGUgczpuZXRyd19zaWxlbnR4ZmVyLiIhIi5nOm5ldHJ3X3NjcF9jbWQuc2hlbGxlc2NhcGUodXNlcG9ydCwxKS4iICIuZmlsZWxpc3QuIiAiLnNoZWxsZXNjYXBlKHRndGRpciwxKQogCiAgICBlbHNlaWYgYjpuZXRyd19tZXRob2QgPT0gMgogICAgICIgb2J0YWluIGZpbGUgdXNpbmcgZnRwICsgLm5ldHJjCkBAIC00Nzk5LDExICs0ODMwLDExIEBACiAiICAgICAgY2FsbCBEZWNobygiZmlsdGVyIGlucHV0OiAiLmdldGxpbmUoJyQnKSkKICAgICAgZW5kZm9yCiAgICAgIGlmIGV4aXN0cygiZzpuZXRyd19wb3J0IikgJiYgZzpuZXRyd19wb3J0ICE9ICIiCi0iICAgICAgY2FsbCBEZWNobygiZXhlY3V0aW5nOiAlISIuZzpuZXRyd19mdHBfY21kLiIgLWkgIi5nOm5ldHJ3X21hY2hpbmUuIiAiLmc6bmV0cndfcG9ydCkKLSAgICAgIGV4ZSBzOm5ldHJ3X3NpbGVudHhmZXIuIiUhIi5nOm5ldHJ3X2Z0cF9jbWQuIiAtaSAiLmc6bmV0cndfbWFjaGluZS4iICIuZzpuZXRyd19wb3J0CisiICAgICAgY2FsbCBEZWNobygiZXhlY3V0aW5nOiAlISIuZzpuZXRyd19mdHBfY21kLiIgLWkgIi5zaGVsbGVzY2FwZShnOm5ldHJ3X21hY2hpbmUsMSkuIiAiLnNoZWxsZXNjYXBlKGc6bmV0cndfcG9ydCwxKSkKKyAgICAgIGV4ZSBzOm5ldHJ3X3NpbGVudHhmZXIuIiUhIi5nOm5ldHJ3X2Z0cF9jbWQuIiAtaSAiLnNoZWxsZXNjYXBlKGc6bmV0cndfbWFjaGluZSwxKS4iICIuc2hlbGxlc2NhcGUoZzpuZXRyd19wb3J0LDEpCiAgICAgIGVsc2UKLSIgICAgICBjYWxsIERlY2hvKCJleGVjdXRpbmc6ICUhIi5nOm5ldHJ3X2Z0cF9jbWQuIiAtaSAiLmc6bmV0cndfbWFjaGluZSkKLSAgICAgIGV4ZSBzOm5ldHJ3X3NpbGVudHhmZXIuIiUhIi5nOm5ldHJ3X2Z0cF9jbWQuIiAtaSAiLmc6bmV0cndfbWFjaGluZQorIiAgICAgIGNhbGwgRGVjaG8oImV4ZWN1dGluZzogJSEiLmc6bmV0cndfZnRwX2NtZC4iIC1pICIuc2hlbGxlc2NhcGUoZzpuZXRyd19tYWNoaW5lLDEpKQorICAgICAgZXhlIHM6bmV0cndfc2lsZW50eGZlci4iJSEiLmc6bmV0cndfZnRwX2NtZC4iIC1pICIuc2hlbGxlc2NhcGUoZzpuZXRyd19tYWNoaW5lLDEpCiAgICAgIGVuZGlmCiAgICAgICIgSWYgdGhlIHJlc3VsdCBvZiB0aGUgZnRwIG9wZXJhdGlvbiBpc24ndCBibGFuaywgc2hvdyBhbiBlcnJvciBtZXNzYWdlICh0bnggdG8gRG91ZyBDbGFhcikKICAgICAgaWYgZ2V0bGluZSgxKSAhfiAiXiQiICYmICFleGlzdHMoImc6bmV0cndfcXVpZXQiKSAmJiBnZXRsaW5lKDEpICF+ICdeVHJ5aW5nICcKQEAgLTUwMjksMTIgKzUwNjAsMTEgQEAKICAgIGlmIGE6dGd0ID1+ICcvJCcKICAgICBsZXQgd2ZuYW1lPSBzdWJzdGl0dXRlKGE6Zm5hbWUsJ14uKi8nLCcnLCcnKQogICAgIGxldCB3Zm5hbWU9IGVzY2FwZShhOnRndC53Zm5hbWUsZzpuZXRyd19mbmFtZV9lc2NhcGUpCi0iICAgIGNhbGwgRGVjaG8oImV4ZSB3ISAiLndmbmFtZSkKLSAgICBleGUgInchICIud2ZuYW1lCisiICAgIGNhbGwgRGVjaG8oImV4ZSB3ISAiLmZuYW1lZXNjYXBlKHdmbmFtZSkpCisgICAgZXhlICJ3ISAiLmZuYW1lZXNjYXBlKHdmbmFtZSkKICAgIGVsc2UKLSAgICBsZXQgd2ZuYW1lPSBlc2NhcGUoYTp0Z3QsZzpuZXRyd19mbmFtZV9lc2NhcGUpCi0iICAgIGNhbGwgRGVjaG8oIndyaXRpbmcgbG9jYWwtPnJlbW90ZTogZXhlIHcgIi53Zm5hbWUpCi0gICAgZXhlICJ3ICIud2ZuYW1lCisiICAgIGNhbGwgRGVjaG8oIndyaXRpbmcgbG9jYWwtPnJlbW90ZTogZXhlIHcgIi5mbmFtZWVzY2FwZShhOnRndCkpCisgICAgZXhlICJ3ICIuZm5hbWVlc2NhcGUoYTp0Z3QpCiAiICAgIGNhbGwgRGVjaG8oImRvbmUgd3JpdGluZyBsb2NhbC0+cmVtb3RlIikKICAgIGVuZGlmCiAgICBxIQpAQCAtNTA1NCw4ICs1MDg0LDggQEAKICAgICBlbmRpZgogICAgIGxldCBtYWNoaW5lID0gc3Vic3RpdHV0ZShhOnRndCwnXnNjcDovL1woW14vOl1cK1wpLiokJywnXDEnLCcnKQogICAgIGxldCB0Z3QgICAgID0gc3Vic3RpdHV0ZShhOnRndCwnXnNjcDovL1teL11cKy9cKC4qXCkkJywnXDEnLCcnKQotIiAgICBjYWxsIERlY2hvKCJleGUgIi5zOm5ldHJ3X3NpbGVudHhmZXIuIiEiLmc6bmV0cndfc2NwX2NtZC51c2Vwb3J0LiIgIi5hcmdzLiIgIi5zaGVsbGVzY2FwZShtYWNoaW5lLiI6Ii5lc2NhcGUodGd0LGc6bmV0cndfZm5hbWVfZXNjYXBlKSkpCi0gICAgZXhlIHM6bmV0cndfc2lsZW50eGZlci4iISIuZzpuZXRyd19zY3BfY21kLnVzZXBvcnQuIiAiLmFyZ3MuIiAiLnNoZWxsZXNjYXBlKG1hY2hpbmUuIjoiLmVzY2FwZSh0Z3QsZzpuZXRyd19mbmFtZV9lc2NhcGUpKQorIiAgICBjYWxsIERlY2hvKCJleGUgIi5zOm5ldHJ3X3NpbGVudHhmZXIuIiEiLmc6bmV0cndfc2NwX2NtZC5zaGVsbGVzY2FwZSh1c2Vwb3J0LDEpLiIgIi5hcmdzLiIgIi5zaGVsbGVzY2FwZShtYWNoaW5lLiI6Ii50Z3QsMSkpCisgICAgZXhlIHM6bmV0cndfc2lsZW50eGZlci4iISIuZzpuZXRyd19zY3BfY21kLnNoZWxsZXNjYXBlKHVzZXBvcnQsMSkuIiAiLmFyZ3MuIiAiLnNoZWxsZXNjYXBlKG1hY2hpbmUuIjoiLnRndCwxKQogICAgIGV4ZSAia2VlcGp1bXBzIHNpbGVudCBsY2QgIi5mbmFtZWVzY2FwZShjdXJkaXIpCiAKICAgIGVsc2VpZiBhOnRndCA9fiAnXmZ0cDonCkBAIC01MDg3LDEyICs1MTE3LDEyIEBACiAgICAgIGVuZGZvcgogCiAgICAgIGlmIGV4aXN0cygiZzpuZXRyd19wb3J0IikgJiYgZzpuZXRyd19wb3J0ICE9ICIiCi0iICAgICAgY2FsbCBEZWNobygiZXhlY3V0aW5nOiAiLnM6bmV0cndfc2lsZW50eGZlci4iJSEiLmc6bmV0cndfZnRwX2NtZC4iIC1pICIuZzpuZXRyd19tYWNoaW5lLiIgIi5nOm5ldHJ3X3BvcnQpCi0gICAgICBleGUgczpuZXRyd19zaWxlbnR4ZmVyLiIlISIuZzpuZXRyd19mdHBfY21kLiIgLWkgIi5nOm5ldHJ3X21hY2hpbmUuIiAiLmc6bmV0cndfcG9ydAorIiAgICAgIGNhbGwgRGVjaG8oImV4ZWN1dGluZzogIi5zOm5ldHJ3X3NpbGVudHhmZXIuIiUhIi5nOm5ldHJ3X2Z0cF9jbWQuIiAtaSAiLnNoZWxsZXNjYXBlKGc6bmV0cndfbWFjaGluZSwxKS4iICIuc2hlbGxlc2NhcGUoZzpuZXRyd19wb3J0LDEpKQorICAgICAgZXhlIHM6bmV0cndfc2lsZW50eGZlci4iJSEiLmc6bmV0cndfZnRwX2NtZC4iIC1pICIuc2hlbGxlc2NhcGUoZzpuZXRyd19tYWNoaW5lLDEpLiIgIi5zaGVsbGVzY2FwZShnOm5ldHJ3X3BvcnQsMSkKICAgICAgZWxzZQogIiAgICAgIGNhbGwgRGVjaG8oImZpbHRlciBpbnB1dCB3aW5kb3cjIi53aW5ucigpKQotIiAgICAgIGNhbGwgRGVjaG8oImV4ZWN1dGluZzogIi5zOm5ldHJ3X3NpbGVudHhmZXIuIiUhIi5nOm5ldHJ3X2Z0cF9jbWQuIiAtaSAiLmc6bmV0cndfbWFjaGluZSkKLSAgICAgIGV4ZSBzOm5ldHJ3X3NpbGVudHhmZXIuIiUhIi5nOm5ldHJ3X2Z0cF9jbWQuIiAtaSAiLmc6bmV0cndfbWFjaGluZQorIiAgICAgIGNhbGwgRGVjaG8oImV4ZWN1dGluZzogIi5zOm5ldHJ3X3NpbGVudHhmZXIuIiUhIi5nOm5ldHJ3X2Z0cF9jbWQuIiAtaSAiLnNoZWxsZXNjYXBlKGc6bmV0cndfbWFjaGluZSwxKSkKKyAgICAgIGV4ZSBzOm5ldHJ3X3NpbGVudHhmZXIuIiUhIi5nOm5ldHJ3X2Z0cF9jbWQuIiAtaSAiLnNoZWxsZXNjYXBlKGc6bmV0cndfbWFjaGluZSwxKQogICAgICBlbmRpZgogICAgICAiIElmIHRoZSByZXN1bHQgb2YgdGhlIGZ0cCBvcGVyYXRpb24gaXNuJ3QgYmxhbmssIHNob3cgYW4gZXJyb3IgbWVzc2FnZSAodG54IHRvIERvdWcgQ2xhYXIpCiAgICAgIHNpbGVudCBnL0xvY2FsIGRpcmVjdG9yeSBub3cvZApAQCAtNTc5NCwxMCArNTgyNCwxMCBAQAogIiAgICAgIGNhbGwgRGVjaG8oImc6bmV0cndfc29ydF9kaXJlY3Rpb249Ii5nOm5ldHJ3X3NvcnRfZGlyZWN0aW9uLiIgKGJhbm5lcmNudD0iLnc6bmV0cndfYmFubmVyY250LiIpIikKICAgICAgIGlmIGc6bmV0cndfc29ydF9kaXJlY3Rpb24gPX4gJ24nCiAgICAgICAgIiBub3JtYWwgZGlyZWN0aW9uIHNvcnRpbmcKLSAgICAgICBleGUgJ3NpbGVudCBrZWVwanVtcHMgJy53Om5ldHJ3X2Jhbm5lcmNudC4nLCRzb3J0JworICAgICAgIGV4ZSAnc2lsZW50IGtlZXBqdW1wcyAnLnc6bmV0cndfYmFubmVyY250LicsJHNvcnQnLicgJy5nOm5ldHJ3X3NvcnRfb3B0aW9ucwogICAgICAgZWxzZQogICAgICAgICIgcmV2ZXJzZSBkaXJlY3Rpb24gc29ydGluZwotICAgICAgIGV4ZSAnc2lsZW50IGtlZXBqdW1wcyAnLnc6bmV0cndfYmFubmVyY250LicsJHNvcnQhJworICAgICAgIGV4ZSAnc2lsZW50IGtlZXBqdW1wcyAnLnc6bmV0cndfYmFubmVyY250LicsJHNvcnQhJy4nICcuZzpuZXRyd19zb3J0X29wdGlvbnMKICAgICAgIGVuZGlmCiAgICAgIGVuZGlmCiAgICAgICIgcmVtb3ZlIHByaW9yaXR5IHBhdHRlcm4gcHJlZml4CkBAIC01ODEwLDEwICs1ODQwLDEwIEBACiAiICAgICAgY2FsbCBEZWNobygiZzpuZXRyd19zb3J0X2RpcmVjdGlvbj0iLmc6bmV0cndfc29ydF9kaXJlY3Rpb24pCiAgICAgICBpZiBnOm5ldHJ3X3NvcnRfZGlyZWN0aW9uID1+ICduJwogIiAgICAgICBjYWxsIERlY2hvKCdleGUgc2lsZW50IGtlZXBqdW1wcyAnLnc6bmV0cndfYmFubmVyY250LicsJHNvcnQnKQotICAgICAgIGV4ZSAnc2lsZW50IGtlZXBqdW1wcyAnLnc6bmV0cndfYmFubmVyY250LicsJHNvcnQnCisgICAgICAgZXhlICdzaWxlbnQga2VlcGp1bXBzICcudzpuZXRyd19iYW5uZXJjbnQuJywkc29ydCcuJyAnLmc6bmV0cndfc29ydF9vcHRpb25zCiAgICAgICBlbHNlCiAiICAgICAgIGNhbGwgRGVjaG8oJ2V4ZSBzaWxlbnQga2VlcGp1bXBzICcudzpuZXRyd19iYW5uZXJjbnQuJywkc29ydCEnKQotICAgICAgIGV4ZSAnc2lsZW50IGtlZXBqdW1wcyAnLnc6bmV0cndfYmFubmVyY250LicsJHNvcnQhJworICAgICAgIGV4ZSAnc2lsZW50IGtlZXBqdW1wcyAnLnc6bmV0cndfYmFubmVyY250LicsJHNvcnQhJy4nICcuZzpuZXRyd19zb3J0X29wdGlvbnMKICAgICAgIGVuZGlmCiAgICAgIGVuZGlmCiAgICAgIGV4ZSAnc2lsZW50IGtlZXBqdW1wcyAnLnc6bmV0cndfYmFubmVyY250LicsJHMvXlxkXHstfVwvLy9lJwpAQCAtNTk5Nyw4ICs2MDI3LDggQEAKICAgIGxldCBsaXN0Y21kPSBzOk1ha2VTc2hDbWQoZzpuZXRyd19saXN0X2NtZCkKICIgICBjYWxsIERlY2hvKCJsaXN0Y21kPCIubGlzdGNtZC4iPiAodXNpbmcgZzpuZXRyd19saXN0X2NtZCkiKQogICAgaWYgZzpuZXRyd19zY3BfY21kID1+ICdecHNjcCcKLSIgICAgY2FsbCBEZWNobygiMTogZXhlIHNpbGVudCByISAiLmxpc3RjbWQuc2hlbGxlc2NhcGUoczpwYXRoKSkKLSAgICBleGUgInNpbGVudCByISAiLmxpc3RjbWQuc2hlbGxlc2NhcGUoczpwYXRoKQorIiAgICBjYWxsIERlY2hvKCIxOiBleGUgc2lsZW50IHIhICIubGlzdGNtZC5zOnBhdGgpCisgICAgZXhlICJzaWxlbnQgciEgIi5saXN0Y21kLnM6cGF0aAogICAgICIgcmVtb3ZlIHJ1YmJpc2ggYW5kIGFkanVzdCBsaXN0aW5nIGZvcm1hdCBvZiAncHNjcCcgdG8gJ3NzaCBscyAtRkxhJyBsaWtlCiAgICAgZy9eTGlzdGluZyBkaXJlY3RvcnkvZAogICAgIGcvXmRbLXJ3eF1bLXJ3eF1bLXJ3eF0vcyskKy8rZQpAQCAtNjAxMSw4ICs2MDQxLDggQEAKICIgICAgIGNhbGwgRGVjaG8oIjI6IGV4ZSBzaWxlbnQgciEgIi5saXN0Y21kKQogICAgICBleGUgInNpbGVudCByISAiLmxpc3RjbWQKICAgICBlbHNlCi0iICAgICBjYWxsIERlY2hvKCIzOiBleGUgc2lsZW50IHIhICIubGlzdGNtZC4nICInLnNoZWxsZXNjYXBlKHM6cGF0aCkuJyInKQotICAgICBleGUgInNpbGVudCByISAiLmxpc3RjbWQuJyAiJy5zaGVsbGVzY2FwZShzOnBhdGgpLiciJworIiAgICAgY2FsbCBEZWNobygiMzogZXhlIHNpbGVudCByISAiLmxpc3RjbWQuJyAnLnNoZWxsZXNjYXBlKHM6cGF0aCwxKSkKKyAgICAgZXhlICJzaWxlbnQgciEgIi5saXN0Y21kLicgJy5zaGVsbGVzY2FwZShzOnBhdGgsMSkKICIgICAgIGNhbGwgRGVjaG8oImxpc3RjbWQ8Ii5saXN0Y21kLiI+IHBhdGg8Ii5zOnBhdGguIj4iKQogICAgIGVuZGlmCiAgICBlbmRpZgpAQCAtNjIwMywxNyArNjIzMywxNyBAQAogICAgICBjYWxsIHM6TmV0cndSZW1vdGVGdHBDbWQoYTpwYXRoLCJybWRpciAiLmE6cm1maWxlKQogICAgIGVsc2UKICAgICAgbGV0IHJtZmlsZSAgICAgICAgICA9IHN1YnN0aXR1dGUoYTpwYXRoLmE6cm1maWxlLCcvJCcsJycsJycpCi0gICAgIGxldCBuZXRyd19ybWRpcl9jbWQgPSBzOk1ha2VTc2hDbWQoZzpuZXRyd19ybWRpcl9jbWQpLicgJy5ybWZpbGUKKyAgICAgbGV0IG5ldHJ3X3JtZGlyX2NtZCA9IHM6TWFrZVNzaENtZChzOldpblBhdGgoZzpuZXRyd19ybWRpcl9jbWQpKS4nICcuc2hlbGxlc2NhcGUoczpXaW5QYXRoKHJtZmlsZSkpCiAiICAgICAgY2FsbCBEZWNobygiYXR0ZW1wdCB0byByZW1vdmUgZGlyOiBzeXN0ZW0oIi5uZXRyd19ybWRpcl9jbWQuIikiKQotICAgICBsZXQgcmV0PSBzOlN5c3RlbSgic3lzdGVtIixuZXRyd19ybWRpcl9jbWQpCisgICAgIGxldCByZXQ9IHN5c3RlbShuZXRyd19ybWRpcl9jbWQpCiAiICAgICAgY2FsbCBEZWNobygicmV0dXJuZWQ9Ii5yZXQuIiBlcnJjb2RlPSIudjpzaGVsbF9lcnJvcikKIAogICAgICBpZiB2OnNoZWxsX2Vycm9yICE9IDAKLSIgICAgICAgY2FsbCBEZWNobygidjpzaGVsbF9lcnJvciBub3QgMCIpCi0gICAgICBsZXQgbmV0cndfcm1mX2NtZD0gczpNYWtlU3NoQ21kKGc6bmV0cndfcm1mX2NtZCkuJyAnLnN1YnN0aXR1dGUocm1maWxlLCdbXC9dJCcsJycsJ2UnKQotIiAgICAgICBjYWxsIERlY2hvKCIybmQgYXR0ZW1wdCB0byByZW1vdmUgZGlyOiBzeXN0ZW0oIi5uZXRyd19ybWZfY21kLiIpIikKLSAgICAgIGxldCByZXQ9IHM6U3lzdGVtKCJzeXN0ZW0iLG5ldHJ3X3JtZl9jbWQpCi0iICAgICAgIGNhbGwgRGVjaG8oInJldHVybmVkPSIucmV0LiIgZXJyY29kZT0iLnY6c2hlbGxfZXJyb3IpCisiICAgICAgY2FsbCBEZWNobygidjpzaGVsbF9lcnJvciBub3QgMCIpCisgICAgICBsZXQgbmV0cndfcm1mX2NtZD0gczpNYWtlU3NoQ21kKHM6V2luUGF0aChnOm5ldHJ3X3JtZl9jbWQpKS4nICcuc2hlbGxlc2NhcGUoczpXaW5QYXRoKHN1YnN0aXR1dGUocm1maWxlLCdbXC9dJCcsJycsJ2UnKSkpCisiICAgICAgY2FsbCBEZWNobygiMm5kIGF0dGVtcHQgdG8gcmVtb3ZlIGRpcjogc3lzdGVtKCIubmV0cndfcm1mX2NtZC4iKSIpCisgICAgICBsZXQgcmV0PSBzeXN0ZW0obmV0cndfcm1mX2NtZCkKKyIgICAgICBjYWxsIERlY2hvKCJyZXR1cm5lZD0iLnJldC4iIGVycmNvZGU9Ii52OnNoZWxsX2Vycm9yKQogCiAgICAgICBpZiB2OnNoZWxsX2Vycm9yICE9IDAgJiYgIWV4aXN0cygiZzpuZXRyd19xdWlldCIpCiAgICAgICAJY2FsbCBuZXRydyNFcnJvck1zZyhzOkVSUk9SLCJ1bmFibGUgdG8gcmVtb3ZlIGRpcmVjdG9yeTwiLnJtZmlsZS4iPiAtLSBpcyBpdCBlbXB0eT8iLDIyKQpAQCAtNjI2MiwxMSArNjI5MiwxMSBAQAogICAgY2FsbCBzZXRsaW5lKGxpbmUoIiQiKSsxLGE6bGlzdGNtZCkKICIgICBleGUgImtlZXBqdW1wcyAiLnc6bmV0cndfYmFubmVyY250LicsJGcvXi4vY2FsbCBEZWNobygiZnRwIyIubGluZSgiLiIpLiI6ICIuZ2V0bGluZSgiLiIpKScKICAgIGlmIGV4aXN0cygiZzpuZXRyd19wb3J0IikgJiYgZzpuZXRyd19wb3J0ICE9ICIiCi0iICAgIGNhbGwgRGVjaG8oImV4ZSAiLnM6bmV0cndfc2lsZW50eGZlci53Om5ldHJ3X2Jhbm5lcmNudC4iLCQhIi5nOm5ldHJ3X2Z0cF9jbWQuIiAtaSAiLmc6bmV0cndfbWFjaGluZS4iICIuZzpuZXRyd19wb3J0KQotICAgIGV4ZSBzOm5ldHJ3X3NpbGVudHhmZXIuIiBrZWVwanVtcHMgIi53Om5ldHJ3X2Jhbm5lcmNudC4iLCQhIi5nOm5ldHJ3X2Z0cF9jbWQuIiAtaSAiLmc6bmV0cndfbWFjaGluZS4iICIuZzpuZXRyd19wb3J0CisiICAgIGNhbGwgRGVjaG8oImV4ZSAiLnM6bmV0cndfc2lsZW50eGZlci53Om5ldHJ3X2Jhbm5lcmNudC4iLCQhIi5nOm5ldHJ3X2Z0cF9jbWQuIiAtaSAiLnNoZWxsZXNjYXBlKGc6bmV0cndfbWFjaGluZSwxKS4iICIuc2hlbGxlc2NhcGUoZzpuZXRyd19wb3J0LDEpKQorICAgIGV4ZSBzOm5ldHJ3X3NpbGVudHhmZXIuIiBrZWVwanVtcHMgIi53Om5ldHJ3X2Jhbm5lcmNudC4iLCQhIi5nOm5ldHJ3X2Z0cF9jbWQuIiAtaSAiLnNoZWxsZXNjYXBlKGc6bmV0cndfbWFjaGluZSwxKS4iICIuc2hlbGxlc2NhcGUoZzpuZXRyd19wb3J0LDEpCiAgICBlbHNlCi0iICAgIGNhbGwgRGVjaG8oImV4ZSAiLnM6bmV0cndfc2lsZW50eGZlci53Om5ldHJ3X2Jhbm5lcmNudC4iLCQhIi5nOm5ldHJ3X2Z0cF9jbWQuIiAtaSAiLmc6bmV0cndfbWFjaGluZSkKLSAgICBleGUgczpuZXRyd19zaWxlbnR4ZmVyLiIga2VlcGp1bXBzICIudzpuZXRyd19iYW5uZXJjbnQuIiwkISIuZzpuZXRyd19mdHBfY21kLiIgLWkgIi5nOm5ldHJ3X21hY2hpbmUKKyIgICAgY2FsbCBEZWNobygiZXhlICIuczpuZXRyd19zaWxlbnR4ZmVyLnc6bmV0cndfYmFubmVyY250LiIsJCEiLmc6bmV0cndfZnRwX2NtZC4iIC1pICIuc2hlbGxlc2NhcGUoZzpuZXRyd19tYWNoaW5lLDEpKQorICAgIGV4ZSBzOm5ldHJ3X3NpbGVudHhmZXIuIiBrZWVwanVtcHMgIi53Om5ldHJ3X2Jhbm5lcmNudC4iLCQhIi5nOm5ldHJ3X2Z0cF9jbWQuIiAtaSAiLnNoZWxsZXNjYXBlKGc6bmV0cndfbWFjaGluZSwxKQogICAgZW5kaWYKIAogICAgIi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uCkBAIC02MzY4LDEwICs2Mzk4LDEwIEBACiAgICAgaWYgZXhpc3RzKCJ3Om5ldHJ3X21ldGhvZCIpICYmICh3Om5ldHJ3X21ldGhvZCA9PSAyIHx8IHc6bmV0cndfbWV0aG9kID09IDMpCiAgICAgIGNhbGwgczpOZXRyd1JlbW90ZUZ0cENtZChhOnBhdGgsInJlbmFtZSAiLm9sZG5hbWUuIiAiLm5ld25hbWUpCiAgICAgZWxzZQotICAgICBsZXQgb2xkbmFtZT0gYTpwYXRoLm9sZG5hbWUKLSAgICAgbGV0IG5ld25hbWU9IGE6cGF0aC5uZXduYW1lCi0iICAgICBjYWxsIERlY2hvKCJzeXN0ZW0ocmVuYW1lX2NtZCIuJyAiJy5mbmFtZWVzY2FwZShvbGRuYW1lLCIgIikuJyIgIicuZXNjYXBlKG5ld25hbWUpLiciJykKLSAgICAgbGV0IHJldD0gczpTeXN0ZW0oInN5c3RlbSIscmVuYW1lX2NtZC4nICInLmZuYW1lZXNjYXBlKG9sZG5hbWUpLiciICInLmZuYW1lZXNjYXBlKG5ld25hbWUpLiciJykKKyAgICAgbGV0IG9sZG5hbWU9IHNoZWxsZXNjYXBlKGE6cGF0aC5vbGRuYW1lKQorICAgICBsZXQgbmV3bmFtZT0gc2hlbGxlc2NhcGUoYTpwYXRoLm5ld25hbWUpCisiICAgICBjYWxsIERlY2hvKCJzeXN0ZW0oczpXaW5QYXRoKCIucmVuYW1lX2NtZC4iKSAiLm9sZG5hbWUuJyAnLm5ld25hbWUuIikiKQorICAgICBsZXQgcmV0ICAgID0gc3lzdGVtKHM6V2luUGF0aChyZW5hbWVfY21kKS4nICcub2xkbmFtZS4nICcubmV3bmFtZSkKICAgICBlbmRpZgogCiAgICBlbmRmb3IKQEAgLTYzOTMsMTAgKzY0MjMsMTAgQEAKICAgICBpZiBleGlzdHMoInc6bmV0cndfbWV0aG9kIikgJiYgKHc6bmV0cndfbWV0aG9kID09IDIgfHwgdzpuZXRyd19tZXRob2QgPT0gMykKICAgICAgY2FsbCBzOk5ldHJ3UmVtb3RlRnRwQ21kKGE6cGF0aCwicmVuYW1lICIub2xkbmFtZS4iICIubmV3bmFtZSkKICAgICBlbHNlCi0gICAgIGxldCBvbGRuYW1lPSBhOnBhdGgub2xkbmFtZQotICAgICBsZXQgbmV3bmFtZT0gYTpwYXRoLm5ld25hbWUKLSIgICAgY2FsbCBEZWNobygic3lzdGVtKHJlbmFtZV9jbWQiLicgIicuZm5hbWVlc2NhcGUob2xkbmFtZSwiICIpLiciICInLmVzY2FwZShuZXduYW1lKS4nIicpCi0gICAgIGxldCByZXQ9IHM6U3lzdGVtKCJzeXN0ZW0iLHJlbmFtZV9jbWQuJyAiJy5mbmFtZWVzY2FwZShvbGRuYW1lKS4nIiAiJy5mbmFtZWVzY2FwZShuZXduYW1lKS4nIicpCisgICAgIGxldCBvbGRuYW1lPSBzaGVsbGVzY2FwZShhOnBhdGgub2xkbmFtZSkKKyAgICAgbGV0IG5ld25hbWU9IHNoZWxsZXNjYXBlKGE6cGF0aC5uZXduYW1lKQorIiAgICAgY2FsbCBEZWNobygic3lzdGVtKHM6V2luUGF0aCgiLnJlbmFtZV9jbWQuIikgIi5vbGRuYW1lLicgJy5uZXduYW1lLiIpIikKKyAgICAgbGV0IHJldCAgICA9IHN5c3RlbShzOldpblBhdGgocmVuYW1lX2NtZCkuJyAnLm9sZG5hbWUuJyAnLm5ld25hbWUpCiAgICAgZW5kaWYKIAogICAgIGxldCBjdHI9IGN0ciArIDEKQEAgLTY3NTEsNyArNjc4MSw3IEBACiAgICBlbmRpZgogCiAgICBpZiBhbGwgfHwgb2sgPX4gJ3lcJVtlc10nIHx8IG9rID09ICIiCi0gICAgbGV0IHJldD0gczpTeXN0ZW0oImRlbGV0ZSIscm1maWxlKQorICAgIGxldCByZXQ9IHM6TmV0cndEZWxldGUocm1maWxlKQogIiAgICBjYWxsIERlY2hvKCJlcnJjb2RlPSIudjpzaGVsbF9lcnJvci4iIHJldD0iLnJldCkKICAgIGVuZGlmCiAKQEAgLTY3NzMsMTkgKzY4MDMsMTkgQEAKICAgIGxldCBybWZpbGU9IHN1YnN0aXR1dGUocm1maWxlLCdbXC9dJCcsJycsJ2UnKQogCiAgICBpZiBhbGwgfHwgb2sgPX4gJ3lcJVtlc10nIHx8IG9rID09ICIiCi0iICAgIGNhbGwgRGVjaG8oIjFzdCBhdHRlbXB0OiBzeXN0ZW0oIi5nOm5ldHJ3X2xvY2FsX3JtZGlyLicgJy5zaGVsbGVzY2FwZShybWZpbGUpLicpJykKLSAgICBjYWxsIHM6U3lzdGVtKCJzeXN0ZW0iLGc6bmV0cndfbG9jYWxfcm1kaXIuJyAnLnNoZWxsZXNjYXBlKHJtZmlsZSkpCisiICAgIGNhbGwgRGVjaG8oIjFzdCBhdHRlbXB0OiBzeXN0ZW0oczpXaW5QYXRoKCIuZzpuZXRyd19sb2NhbF9ybWRpci4nKSAnLnNoZWxsZXNjYXBlKHJtZmlsZSkuJyknKQorICAgIGNhbGwgc3lzdGVtKHM6V2luUGF0aChnOm5ldHJ3X2xvY2FsX3JtZGlyKS4nICcuc2hlbGxlc2NhcGUocm1maWxlKSkKICIgICAgY2FsbCBEZWNobygidjpzaGVsbF9lcnJvcj0iLnY6c2hlbGxfZXJyb3IpCiAKICAgICBpZiB2OnNoZWxsX2Vycm9yICE9IDAKICIgICAgIGNhbGwgRGVjaG8oIjJuZCBhdHRlbXB0IHRvIHJlbW92ZSBkaXJlY3Rvcnk8Ii5ybWZpbGUuIj4iKQotICAgICBsZXQgZXJyY29kZT0gczpTeXN0ZW0oImRlbGV0ZSIscm1maWxlKQorICAgICBsZXQgZXJyY29kZT0gczpOZXRyd0RlbGV0ZShybWZpbGUpCiAiICAgICBjYWxsIERlY2hvKCJlcnJjb2RlPSIuZXJyY29kZSkKIAogICAgICBpZiBlcnJjb2RlICE9IDAKICAgICAgIGlmIGhhcygidW5peCIpCiAiICAgICAgIGNhbGwgRGVjaG8oIjNyZCBhdHRlbXB0IHRvIHJlbW92ZSBkaXJlY3Rvcnk8Ii5ybWZpbGUuIj4iKQotICAgICAgIGNhbGwgczpTeXN0ZW0oInN5c3RlbSIsInJtICIuc2hlbGxlc2NhcGUocm1maWxlKSkKKyAgICAgICBjYWxsIHN5c3RlbSgicm0gIi5zaGVsbGVzY2FwZShybWZpbGUpKQogICAgICAgIGlmIHY6c2hlbGxfZXJyb3IgIT0gMCAmJiAhZXhpc3RzKCJnOm5ldHJ3X3F1aWV0IikKICAgICAgICAgY2FsbCBuZXRydyNFcnJvck1zZyhzOkVSUk9SLCJ1bmFibGUgdG8gcmVtb3ZlIGRpcmVjdG9yeTwiLnJtZmlsZS4iPiAtLSBpcyBpdCBlbXB0eT8iLDM0KQogCWxldCBvaz0ibm8iCkBAIC02OTM4LDk5ICs2OTY4LDExIEBACiAiIFN1cHBvcnQgRnVuY3Rpb25zOiB7e3sxCiAKICIgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0iIHM6VXBkYXRlQnVmZmVyc01lbnU6IGRvZXMgZW1lbnUgQnVmZmVycy5SZWZyZXNoIChidXQgZHVlIHRvIGxvY2FsZSwgdGhlIG1lbnUgaXRlbSBtYXkgbm90IGJlIGNhbGxlZCB0aGF0KSB7e3syCi0iICAgICAgICAgICAgICAgICAgICAgIFRoZSBCdWZmZXJzLlJlZnJlc2ggbWVudSBjYWxscyBzOkJNU2hvdygpOyB1bmZvcnR1bmF0ZWx5LCB0aGF0IG1lYW5zIHRoYXQgdGhhdCBmdW5jdGlvbgotIiAgICAgICAgICAgICAgICAgICAgICBjYW4ndCBiZSBjYWxsZWQgZXhjZXB0IHZpYSBlbWVudS4gIEJ1dCBkdWUgdG8gbG9jYWxlLCB0aGF0IG1lbnUgbGluZSBtYXkgbm90IGJlIGNhbGxlZAotIiAgICAgICAgICAgICAgICAgICAgICBCdWZmZXJzLlJlZnJlc2g7IGhlbmNlLCBzOk5ldHJ3Qk1TaG93KCkgdXRpbGl6ZXMgYSAiY2hlYXQiIHRvIGNhbGwgdGhhdCBmdW5jdGlvbiBhbnl3YXkuCi1mdW4hIHM6VXBkYXRlQnVmZmVyc01lbnUoKQotIiAgY2FsbCBEZnVuYygiczpVcGRhdGVCdWZmZXJzTWVudSgpIikKLSAgaWYgaGFzKCJndWkiKSAmJiBoYXMoIm1lbnUiKSAmJiBoYXMoImd1aV9ydW5uaW5nIikgJiYgJmdvID1+ICdtJwotICAgdHJ5Ci0gICAgc2lsZW50IGVtZW51IEJ1ZmZlcnMuUmVmcmVzaFwgbWVudQotICAgY2F0Y2ggL15WaW1cJSgoXGFcKylcKVw9OkUvCi0gICAgbGV0IHY6ZXJybXNnPSAiIgotICAgIHNpbGVudCBjYWxsIHM6TmV0cndCTVNob3coKQotICAgZW5kdHJ5Ci0gIGVuZGlmCi0iICBjYWxsIERyZXQoInM6VXBkYXRlQnVmZmVyc01lbnUiKQotZW5kZnVuCi0KLSIgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0iIHM6TmV0cndCTVNob3c6IHt7ezIKLWZ1biEgczpOZXRyd0JNU2hvdygpCi0iICBjYWxsIERmdW5jKCJzOk5ldHJ3Qk1TaG93KCkiKQotICByZWRpciA9PiBibXNob3dyYXcKLSAgIG1lbnUKLSAgcmVkaXIgRU5ECi0gIGxldCBibXNob3dsaXN0ID0gc3BsaXQoYm1zaG93cmF3LCdcbicpCi0gIGlmIGJtc2hvd2xpc3QgIT0gW10KLSAgIGxldCBibXNob3dmdW5jcz0gZmlsdGVyKGJtc2hvd2xpc3QsJ3Y6dmFsID1+ICI8U05SPlxcZFxcK19CTVNob3coKSInKQotICAgaWYgYm1zaG93ZnVuY3MgIT0gW10KLSAgICBsZXQgYm1zaG93ZnVuYyA9IHN1YnN0aXR1dGUoYm1zaG93ZnVuY3NbMF0sJ14uKjpcKGNhbGwuKkJNU2hvdygpXCkuKiQnLCdcMScsJycpCi0gICAgaWYgYm1zaG93ZnVuYyA9fiAnXmNhbGwuKkJNU2hvdygpJwotICAgICBleGUgInNpbGVudCEgIi5ibXNob3dmdW5jCi0gICAgZW5kaWYKLSAgIGVuZGlmCi0gIGVuZGlmCi0iICBjYWxsIERyZXQoInM6TmV0cndCTVNob3cgOiBibXNob3dmdW5jPCIuKGV4aXN0cygiYm1zaG93ZnVuYyIpPyBibXNob3dmdW5jIDogJ24vYScpLiI+IikKLWVuZGZ1bgotCi0iIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIiAgczpDb21wb3NlUGF0aDogQXBwZW5kcyBhIG5ldyBwYXJ0IHRvIGEgcGF0aCB0YWtpbmcgZGlmZmVyZW50IHN5c3RlbXMgaW50byBjb25zaWRlcmF0aW9uIHt7ezIKLWZ1biEgczpDb21wb3NlUGF0aChiYXNlLHN1YmRpcikKLSIgIGNhbGwgRGZ1bmMoInM6Q29tcG9zZVBhdGgoYmFzZTwiLmE6YmFzZS4iPiBzdWJkaXI8Ii5hOnN1YmRpci4iPikiKQotCi0gIGlmKGhhcygiYW1pZ2EiKSkKLSIgICBjYWxsIERlY2hvKCJhbWlnYSIpCi0gICBsZXQgZWMgPSBhOmJhc2Vbc3RybGVuKGE6YmFzZSktMV0KLSAgIGlmIGVjICE9ICcvJyAmJiBlYyAhPSAnOicKLSAgICBsZXQgcmV0ID0gYTpiYXNlIC4gIi8iIC4gYTpzdWJkaXIKLSAgIGVsc2UKLSAgICBsZXQgcmV0ID0gYTpiYXNlIC4gYTpzdWJkaXIKLSAgIGVuZGlmCi0KLSAgZWxzZWlmIGE6c3ViZGlyID1+ICdeXGE6Wy9cXF1bXi9cXF0nICYmIChoYXMoIndpbjMyIikgfHwgaGFzKCJ3aW45NSIpIHx8IGhhcygid2luNjQiKSB8fCBoYXMoIndpbjE2IikpCi0iICAgY2FsbCBEZWNobygid2luZG93cyIpCi0gICBsZXQgcmV0PSBhOnN1YmRpcgotCi0gIGVsc2VpZiBhOmJhc2UgPX4gJ15cYVwrOi8vJwotIiAgIGNhbGwgRGVjaG8oInJlbW90ZSBsaW51eC9tYWNvcyIpCi0gICBsZXQgdXJsYmFzZSA9IHN1YnN0aXR1dGUoYTpiYXNlLCdeXChcYVwrOi8vLlx7LX0vXClcKC4qXCkkJywnXDEnLCcnKQotICAgbGV0IGN1cnBhdGggPSBzdWJzdGl0dXRlKGE6YmFzZSwnXlwoXGFcKzovLy5cey19L1wpXCguKlwpJCcsJ1wyJywnJykKLSAgIGlmIGE6c3ViZGlyID09ICcuLi8nCi0gICAgaWYgY3VycGF0aCA9fiAnW14vXS9bXi9dXCsvJCcKLSAgICAgbGV0IGN1cnBhdGg9IHN1YnN0aXR1dGUoY3VycGF0aCwnW14vXVwrLyQnLCcnLCcnKQotICAgIGVsc2UKLSAgICAgbGV0IGN1cnBhdGg9IiIKLSAgICBlbmRpZgotICAgIGxldCByZXQ9IHVybGJhc2UuY3VycGF0aAotICAgZWxzZQotICAgIGxldCByZXQ9IHVybGJhc2UuY3VycGF0aC5hOnN1YmRpcgotICAgZW5kaWYKLSIgICBjYWxsIERlY2hvKCJ1cmxiYXNlPCIudXJsYmFzZS4iPiIpCi0iICAgY2FsbCBEZWNobygiY3VycGF0aDwiLmN1cnBhdGguIj4iKQotIiAgIGNhbGwgRGVjaG8oInJldDwiLnJldC4iPiIpCi0KLSAgZWxzZQotIiAgIGNhbGwgRGVjaG8oImxvY2FsIGxpbnV4L21hY29zIikKLSAgIGxldCByZXQgPSBzdWJzdGl0dXRlKGE6YmFzZS4iLyIuYTpzdWJkaXIsIi8vIiwiLyIsImciKQotICAgaWYgYTpiYXNlID1+ICdeLy8nCi0gICAgIiBrZWVwaW5nIGluaXRpYWwgJy8vJyBmb3IgdGhlIGJlbmVmaXQgb2YgbmV0d29yayBzaGFyZSBsaXN0aW5nIHN1cHBvcnQKLSAgICBsZXQgcmV0PSAnLycucmV0Ci0gICBlbmRpZgotICAgbGV0IHJldD0gc2ltcGxpZnkocmV0KQotICBlbmRpZgotCi0iICBjYWxsIERyZXQoInM6Q29tcG9zZVBhdGggIi5yZXQpCi0gIHJldHVybiByZXQKLWVuZGZ1bgotCi0iIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogIiBuZXRydyNFcnJvck1zZzoge3t7MgogIiAgIDA9bm90ZSAgICAgPSBzOk5PVEUKICIgICAxPXdhcm5pbmcgID0gczpXQVJOSU5HCiAiICAgMj1lcnJvciAgICA9IHM6RVJST1IKLSIgIEp1biAxMSwgMjAwOCA6IG1heCBlcnJudW0gY3VycmVudGx5IGlzIDcwCisiICBKdWwgMDgsIDIwMDggOiBtYXggZXJybnVtIGN1cnJlbnRseSBpcyA3MQogZnVuISBuZXRydyNFcnJvck1zZyhsZXZlbCxtc2csZXJybnVtKQogIiAgY2FsbCBEZnVuYygibmV0cncjRXJyb3JNc2cobGV2ZWw9Ii5hOmxldmVsLiIgbXNnPCIuYTptc2cuIj4gZXJybnVtPSIuYTplcnJudW0uIikgZzpuZXRyd191c2VfZXJyb3J3aW5kb3c9Ii5nOm5ldHJ3X3VzZV9lcnJvcndpbmRvdykKIApAQCAtNzA5OSw2ICs3MDQxLDY4IEBACiBlbmRmdW4KIAogIiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyIgbmV0cncjTmV0cndSZXN0b3JlUG9zbjogcmVzdG9yZXMgdGhlIGN1cnNvciBhbmQgZmlsZSBwb3NpdGlvbiBhcyBzYXZlZCBieSBOZXRyd1NhdmVQb3NuKCkge3t7MgorZnVuISBuZXRydyNOZXRyd1Jlc3RvcmVQb3NuKC4uLikKKyIgIGNhbGwgRGZ1bmMoIm5ldHJ3I05ldHJ3UmVzdG9yZVBvc24oKSBhOjA9Ii5hOjAuIiB3aW5ucj0iLihleGlzdHMoInc6bmV0cndfd2lubnIiKT8gdzpuZXRyd193aW5uciA6IC0xKS4iIGxpbmU9Ii4oZXhpc3RzKCJ3Om5ldHJ3X2xpbmUiKT8gdzpuZXRyd19saW5lIDogLTEpLiIgY29sPSIuKGV4aXN0cygidzpuZXRyd19jb2wiKT8gdzpuZXRyd19jb2wgOiAtMSkuIiBobGluZT0iLihleGlzdHMoInc6bmV0cndfaGxpbmUiKT8gdzpuZXRyd19obGluZSA6IC0xKSkKKyAgbGV0IGVpa2VlcD0gJmVpCisgIHNldCBlaT1hbGwKKyAgaWYgZXhwYW5kKCIlIikgPT0gIk5ldHJ3TWVzc2FnZSIKKyAgIGV4ZSBzOndpbkJlZm9yZUVyci4id2luY21kIHciCisgIGVuZGlmCisKKyAgaWYgYTowID4gMAorICAgZXhlIGE6MQorICBlbmRpZgorCisgICIgcmVzdG9yZSB3aW5kb3cKKyAgaWYgZXhpc3RzKCJ3Om5ldHJ3X3dpbm5yIikKKyIgICBjYWxsIERlY2hvKCJyZXN0b3JlIHdpbmRvdzogZXhlIHNpbGVudCEgIi53Om5ldHJ3X3dpbm5yLiJ3aW5jbWQgdyIpCisgICBleGUgInNpbGVudCEgIi53Om5ldHJ3X3dpbm5yLiJ3aW5jbWQgdyIKKyAgZW5kaWYKKyAgaWYgdjpzaGVsbF9lcnJvciA9PSAwCisgICAiIGFzIHN1Z2dlc3RlZCBieSBCcmFtIE06IHJlZHJhdyBvbiBubyBlcnJvcgorICAgIiBhbGxvd3MgcHJvdG9jb2wgZXJyb3IgbWVzc2FnZXMgdG8gcmVtYWluIHZpc2libGUKKyIgICByZWRyYXchCisgIGVuZGlmCisKKyAgIiByZXN0b3JlIHRvcC1vZi1zY3JlZW4gbGluZQorICBpZiBleGlzdHMoInc6bmV0cndfaGxpbmUiKQorIiAgIGNhbGwgRGVjaG8oInJlc3RvcmUgdG9wb2ZzY3JlZW46IGV4ZSBub3JtISAiLnc6bmV0cndfaGxpbmUuIkcweiIpCisgICBleGUgIm5vcm0hICIudzpuZXRyd19obGluZS4iRzB6XDxDUj4iCisgIGVuZGlmCisKKyAgIiByZXN0b3JlIHBvc2l0aW9uCisgIGlmIGV4aXN0cygidzpuZXRyd19saW5lIikgJiYgZXhpc3RzKCJ3Om5ldHJ3X2NvbCIpCisiICAgY2FsbCBEZWNobygicmVzdG9yZSBwb3NuOiBleGUgbm9ybSEgIi53Om5ldHJ3X2xpbmUuIkcwIi53Om5ldHJ3X2NvbC4ifCIpCisgICBleGUgIm5vcm0hICIudzpuZXRyd19saW5lLiJHMCIudzpuZXRyd19jb2wuIlw8YmFyPiIKKyAgZW5kaWYKKworICBsZXQgJmVpPSBlaWtlZXAKKyIgIGNhbGwgRHJldCgibmV0cncjTmV0cndSZXN0b3JlUG9zbiIpCitlbmRmdW4KKworIiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyIgbmV0cncjTmV0cndTYXZlUG9zbjogc2F2ZXMgcG9zaXRpb24gb2YgY3Vyc29yIG9uIHNjcmVlbiB7e3syCitmdW4hIG5ldHJ3I05ldHJ3U2F2ZVBvc24oKQorIiAgY2FsbCBEZnVuYygibmV0cncjTmV0cndTYXZlUG9zbigpIikKKyAgIiBTYXZlIGN1cnJlbnQgbGluZSBhbmQgY29sdW1uCisgIGxldCB3Om5ldHJ3X3dpbm5yPSB3aW5ucigpCisgIGxldCB3Om5ldHJ3X2xpbmUgPSBsaW5lKCIuIikKKyAgbGV0IHc6bmV0cndfY29sICA9IHZpcnRjb2woIi4iKQorCisgICIgU2F2ZSB0b3Atb2Ytc2NyZWVuIGxpbmUKKyAgbm9ybSEgSDAKKyAgbGV0IHc6bmV0cndfaGxpbmU9IGxpbmUoIi4iKQorCisgICIgc2V0IHVwIHN0cmluZyBob2xkaW5nIHBvc2l0aW9uIHBhcmFtZXRlcnMKKyAgbGV0IHJldCAgICAgICAgICA9ICJsZXQgdzpuZXRyd193aW5ucj0iLnc6bmV0cndfd2lubnIuInxsZXQgdzpuZXRyd19saW5lPSIudzpuZXRyd19saW5lLiJ8bGV0IHc6bmV0cndfY29sPSIudzpuZXRyd19jb2wuInxsZXQgdzpuZXRyd19obGluZT0iLnc6bmV0cndfaGxpbmUKKworICBjYWxsIG5ldHJ3I05ldHJ3UmVzdG9yZVBvc24oKQorIiAgY2FsbCBEcmV0KCJuZXRydyNOZXRyd1NhdmVQb3NuIDogd2lubnI9Ii53Om5ldHJ3X3dpbm5yLiIgbGluZT0iLnc6bmV0cndfbGluZS4iIGNvbD0iLnc6bmV0cndfY29sLiIgaGxpbmU9Ii53Om5ldHJ3X2hsaW5lKQorICByZXR1cm4gcmV0CitlbmRmdW4KKworIiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICIgIG5ldHJ3I1JGQzIzOTY6IGNvbnZlcnRzICV4eCBpbnRvIGNoYXJhY3RlcnMge3t7MgogZnVuISBuZXRydyNSRkMyMzk2KGZuYW1lKQogIiAgY2FsbCBEZnVuYygibmV0cncjUkZDMjM5NihmbmFtZTwiLmE6Zm5hbWUuIj4pIikKQEAgLTcxMDgsNiArNzExMiw1NiBAQAogZW5kZnVuCiAKICIgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisiICBzOkNvbXBvc2VQYXRoOiBBcHBlbmRzIGEgbmV3IHBhcnQgdG8gYSBwYXRoIHRha2luZyBkaWZmZXJlbnQgc3lzdGVtcyBpbnRvIGNvbnNpZGVyYXRpb24ge3t7MgorZnVuISBzOkNvbXBvc2VQYXRoKGJhc2Usc3ViZGlyKQorIiAgY2FsbCBEZnVuYygiczpDb21wb3NlUGF0aChiYXNlPCIuYTpiYXNlLiI+IHN1YmRpcjwiLmE6c3ViZGlyLiI+KSIpCisKKyAgaWYoaGFzKCJhbWlnYSIpKQorIiAgIGNhbGwgRGVjaG8oImFtaWdhIikKKyAgIGxldCBlYyA9IGE6YmFzZVtzdHJsZW4oYTpiYXNlKS0xXQorICAgaWYgZWMgIT0gJy8nICYmIGVjICE9ICc6JworICAgIGxldCByZXQgPSBhOmJhc2UgLiAiLyIgLiBhOnN1YmRpcgorICAgZWxzZQorICAgIGxldCByZXQgPSBhOmJhc2UgLiBhOnN1YmRpcgorICAgZW5kaWYKKworICBlbHNlaWYgYTpzdWJkaXIgPX4gJ15cYTpbL1xcXVteL1xcXScgJiYgKGhhcygid2luMzIiKSB8fCBoYXMoIndpbjk1IikgfHwgaGFzKCJ3aW42NCIpIHx8IGhhcygid2luMTYiKSkKKyIgICBjYWxsIERlY2hvKCJ3aW5kb3dzIikKKyAgIGxldCByZXQ9IGE6c3ViZGlyCisKKyAgZWxzZWlmIGE6YmFzZSA9fiAnXlxhXCs6Ly8nCisiICAgY2FsbCBEZWNobygicmVtb3RlIGxpbnV4L21hY29zIikKKyAgIGxldCB1cmxiYXNlID0gc3Vic3RpdHV0ZShhOmJhc2UsJ15cKFxhXCs6Ly8uXHstfS9cKVwoLipcKSQnLCdcMScsJycpCisgICBsZXQgY3VycGF0aCA9IHN1YnN0aXR1dGUoYTpiYXNlLCdeXChcYVwrOi8vLlx7LX0vXClcKC4qXCkkJywnXDInLCcnKQorICAgaWYgYTpzdWJkaXIgPT0gJy4uLycKKyAgICBpZiBjdXJwYXRoID1+ICdbXi9dL1teL11cKy8kJworICAgICBsZXQgY3VycGF0aD0gc3Vic3RpdHV0ZShjdXJwYXRoLCdbXi9dXCsvJCcsJycsJycpCisgICAgZWxzZQorICAgICBsZXQgY3VycGF0aD0iIgorICAgIGVuZGlmCisgICAgbGV0IHJldD0gdXJsYmFzZS5jdXJwYXRoCisgICBlbHNlCisgICAgbGV0IHJldD0gdXJsYmFzZS5jdXJwYXRoLmE6c3ViZGlyCisgICBlbmRpZgorIiAgIGNhbGwgRGVjaG8oInVybGJhc2U8Ii51cmxiYXNlLiI+IikKKyIgICBjYWxsIERlY2hvKCJjdXJwYXRoPCIuY3VycGF0aC4iPiIpCisiICAgY2FsbCBEZWNobygicmV0PCIucmV0LiI+IikKKworICBlbHNlCisiICAgY2FsbCBEZWNobygibG9jYWwgbGludXgvbWFjb3MiKQorICAgbGV0IHJldCA9IHN1YnN0aXR1dGUoYTpiYXNlLiIvIi5hOnN1YmRpciwiLy8iLCIvIiwiZyIpCisgICBpZiBhOmJhc2UgPX4gJ14vLycKKyAgICAiIGtlZXBpbmcgaW5pdGlhbCAnLy8nIGZvciB0aGUgYmVuZWZpdCBvZiBuZXR3b3JrIHNoYXJlIGxpc3Rpbmcgc3VwcG9ydAorICAgIGxldCByZXQ9ICcvJy5yZXQKKyAgIGVuZGlmCisgICBsZXQgcmV0PSBzaW1wbGlmeShyZXQpCisgIGVuZGlmCisKKyIgIGNhbGwgRHJldCgiczpDb21wb3NlUGF0aCAiLnJldCkKKyAgcmV0dXJuIHJldAorZW5kZnVuCisKKyIgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAiIHM6RmlsZVJlYWRhYmxlOiBvL3MgaW5kZXBlbmRlbnQgZmlsZXJlYWRhYmxlIHt7ezIKIGZ1biEgczpGaWxlUmVhZGFibGUoZm5hbWUpCiAiICBjYWxsIERmdW5jKCJzOkZpbGVSZWFkYWJsZShmbmFtZTwiLmE6Zm5hbWUuIj4pIikKQEAgLTcxMzQsMTIgKzcxODgsMTIgQEAKICAgIGxldCB0bXBmaWxlPSB0ZW1wbmFtZSgpCiAiICAgY2FsbCBEZWNobygidG1wZmlsZTwiLnRtcGZpbGUuIj4gOiBmcm9tIHRlbXBuYW1lKCkiKQogCi0gICBsZXQgdG1wZmlsZT0gZXNjYXBlKHN1YnN0aXR1dGUodG1wZmlsZSwnXCcsJy8nLCdnZScpLGc6bmV0cndfdG1wZmlsZV9lc2NhcGUpCisgICBsZXQgdG1wZmlsZT0gc3Vic3RpdHV0ZSh0bXBmaWxlLCdcJywnLycsJ2dlJykKICIgICBjYWxsIERlY2hvKCJ0bXBmaWxlPCIudG1wZmlsZS4iPiA6IGNoZ2QgYW55IFxcIC0+IC8iKQogCiAgICAiIHNhbml0eSBjaGVjayAtLSBkb2VzIHRoZSB0ZW1wb3JhcnkgZmlsZSdzIGRpcmVjdG9yeSBleGlzdD8KICAgIGlmICFpc2RpcmVjdG9yeShzdWJzdGl0dXRlKHRtcGZpbGUsJ1teL11cKyQnLCcnLCdlJykpCi0iICAgIGNhbGwgRGVjaG8oInJvPSIuJnJvLiIgbWE9Ii4mbWEuIiBtb2Q9Ii4mbW9kLiIgd3JhcD0iLiZ3cmFwKQorIiAgICBjYWxsIERlY2hvKCJybz0iLiZsOnJvLiIgbWE9Ii4mbDptYS4iIG1vZD0iLiZsOm1vZC4iIHdyYXA9Ii4mbDp3cmFwKQogICAgIGNhbGwgbmV0cncjRXJyb3JNc2coczpFUlJPUiwieW91ciA8Ii5zdWJzdGl0dXRlKHRtcGZpbGUsJ1teL11cKyQnLCcnLCdlJykuIj4gZGlyZWN0b3J5IGlzIG1pc3NpbmchIiwyKQogIiAgICBjYWxsIERyZXQoInM6R2V0VGVtcGZpbGUgZ2V0Y3dkPCIuZ2V0Y3dkKCkuIj4iKQogICAgIHJldHVybiAiIgpAQCAtNzE3Niw3ICs3MjMwLDYgQEAKICAgICBlbHNlCiAgICAgIGxldCBzdWZmaXggPSBzdWJzdGl0dXRlKGE6Zm5hbWUsJ14uKlwoXC5bXi4vXVwrXCkkJywnXDEnLCdlJykKICAgICBlbmRpZgotICAgIGxldCBzdWZmaXggPSBlc2NhcGUoc3VmZml4LGc6bmV0cndfdG1wZmlsZV9lc2NhcGUpCiAiICAgIGNhbGwgRGVjaG8oInN1ZmZpeDwiLnN1ZmZpeC4iPiIpCiAgICAgbGV0IHRtcGZpbGU9IHN1YnN0aXR1dGUodG1wZmlsZSwnXC50bXAkJywnJywnZScpCiAiICAgIGNhbGwgRGVjaG8oImNoZ2QgdG1wZmlsZTwiLnRtcGZpbGUuIj4gKHJlbW92ZWQgYW55IC50bXAgc3VmZml4KSIpCkBAIC03MTg2LDE0ICs3MjM5LDE0IEBACiAgICBlbmRpZgogICBlbmRpZgogCi0iICBjYWxsIERlY2hvKCJybz0iLiZyby4iIG1hPSIuJm1hLiIgbW9kPSIuJm1vZC4iIHdyYXA9Ii4md3JhcCkKKyIgIGNhbGwgRGVjaG8oInJvPSIuJmw6cm8uIiBtYT0iLiZsOm1hLiIgbW9kPSIuJmw6bW9kLiIgd3JhcD0iLiZsOndyYXApCiAiICBjYWxsIERyZXQoInM6R2V0VGVtcGZpbGUgPCIudG1wZmlsZS4iPiIpCiAgIHJldHVybiB0bXBmaWxlCiBlbmRmdW4KIAogIiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICIgczpNYWtlU3NoQ21kOiB0cmFuc2Zvcm1zIGlucHV0IGNvbW1hbmQgdXNpbmcgVVNFUE9SVCBIT1NUTkFNRSBpbnRvIHt7ezIKLSIgICAgICAgICAgICAgICBhIGNvcnJlY3QgY29tbWFuZAorIiAgICAgICAgICAgICAgIGEgY29ycmVjdCBjb21tYW5kIGZvciB1c2Ugd2l0aCBhIHN5c3RlbSgpIGNhbGwKIGZ1biEgczpNYWtlU3NoQ21kKHNzaGNtZCkKICIgIGNhbGwgRGZ1bmMoInM6TWFrZVNzaENtZChzc2hjbWQ8Ii5hOnNzaGNtZC4iPikgdXNlcjwiLnM6dXNlci4iPiBtYWNoaW5lPCIuczptYWNoaW5lLiI+IikKICAgbGV0IHNzaGNtZCA9IHN1YnN0aXR1dGUoYTpzc2hjbWQsJ1w8SE9TVE5BTUVcPicsczp1c2VyLnM6bWFjaGluZSwnJykKQEAgLTcyMDksMjggKzcyNjIsNTQgQEAKIGVuZGZ1bgogCiAiIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIiBzOlJlbW90ZVN5c3RlbTogcnVucyBhIGNvbW1hbmQgb24gYSByZW1vdGUgaG9zdCB1c2luZyBzc2gge3t7MgotIiAgICAgICAgICAgICAgICAgUmV0dXJucyBzdGF0dXMKLWZ1biEgczpSZW1vdGVTeXN0ZW0oY21kKQotIiAgY2FsbCBEZnVuYygiczpSZW1vdGVTeXN0ZW0oY21kPCIuYTpjbWQuIj4pIikKLSAgaWYgIWV4ZWN1dGFibGUoZzpuZXRyd19zc2hfY21kKQotICAgY2FsbCBuZXRydyNFcnJvck1zZyhzOkVSUk9SLCJnOm5ldHJ3X3NzaF9jbWQ8Ii5nOm5ldHJ3X3NzaF9jbWQuIj4gaXMgbm90IGV4ZWN1dGFibGUhIiw1MikKLSAgZWxzZWlmICFleGlzdHMoImI6bmV0cndfY3VyZGlyIikKLSAgIGNhbGwgbmV0cncjRXJyb3JNc2coczpFUlJPUiwiZm9yIHNvbWUgcmVhc29uIGI6bmV0cndfY3VyZGlyIGRvZXNuJ3QgZXhpc3QhIiw1MykKLSAgZWxzZQotICAgbGV0IGNtZCAgICAgID0gczpNYWtlU3NoQ21kKGc6bmV0cndfc3NoX2NtZC4iIFVTRVBPUlQgSE9TVE5BTUUiKQotICAgbGV0IHJlbW90ZWRpcj0gc3Vic3RpdHV0ZShiOm5ldHJ3X2N1cmRpciwnXi4qLy9bXi9dXCsvXCguKlwpJCcsJ1wxJywnJykKLSAgIGlmIHJlbW90ZWRpciAhPSAiIgotICAgIGxldCBjbWQ9IGNtZC4nICJjZCAnLnNoZWxsZXNjYXBlKHJlbW90ZWRpcikuIjsiCi0gICBlbHNlCi0gICAgbGV0IGNtZD0gY21kLicgIicKKyIgczpOZXRyd0JNU2hvdzoge3t7MgorZnVuISBzOk5ldHJ3Qk1TaG93KCkKKyIgIGNhbGwgRGZ1bmMoInM6TmV0cndCTVNob3coKSIpCisgIHJlZGlyID0+IGJtc2hvd3JhdworICAgbWVudQorICByZWRpciBFTkQKKyAgbGV0IGJtc2hvd2xpc3QgPSBzcGxpdChibXNob3dyYXcsJ1xuJykKKyAgaWYgYm1zaG93bGlzdCAhPSBbXQorICAgbGV0IGJtc2hvd2Z1bmNzPSBmaWx0ZXIoYm1zaG93bGlzdCwndjp2YWwgPX4gIjxTTlI+XFxkXFwrX0JNU2hvdygpIicpCisgICBpZiBibXNob3dmdW5jcyAhPSBbXQorICAgIGxldCBibXNob3dmdW5jID0gc3Vic3RpdHV0ZShibXNob3dmdW5jc1swXSwnXi4qOlwoY2FsbC4qQk1TaG93KClcKS4qJCcsJ1wxJywnJykKKyAgICBpZiBibXNob3dmdW5jID1+ICdeY2FsbC4qQk1TaG93KCknCisgICAgIGV4ZSAic2lsZW50ISAiLmJtc2hvd2Z1bmMKKyAgICBlbmRpZgogICAgZW5kaWYKLSAgIGxldCBjbWQ9IGNtZC5hOmNtZC4nIicKLSIgICBjYWxsIERlY2hvKCJjYWxsIHN5c3RlbSgiLmNtZC4iKSIpCi0gICBsZXQgcmV0PSBzeXN0ZW0oY21kKQogICBlbmRpZgotIiAgY2FsbCBEcmV0KCJzOlJlbW90ZVN5c3RlbSAiLnJldCkKLSAgcmV0dXJuIHJldAorIiAgY2FsbCBEcmV0KCJzOk5ldHJ3Qk1TaG93IDogYm1zaG93ZnVuYzwiLihleGlzdHMoImJtc2hvd2Z1bmMiKT8gYm1zaG93ZnVuYyA6ICduL2EnKS4iPiIpCitlbmRmdW4KKworIiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyIgczpOZXRyd0RlbGV0ZTogRGVsZXRlcyBhIGZpbGUuIHt7ezIKKyIgICAgICAgICAgIFVzZXMgU3RldmUgSGFsbCdzIGlkZWEgdG8gaW5zdXJlIHRoYXQgV2luZG93cyBwYXRocyBzdGF5CisiICAgICAgICAgICBhY2NlcHRhYmxlLiAgTm8gZWZmZWN0IG9uIFVuaXggcGF0aHMuCisiICBFeGFtcGxlcyBvZiB1c2U6ICBsZXQgcmVzdWx0PSBzOk5ldHJ3RGVsZXRlKHBhdGgpCitmdW4hIHM6TmV0cndEZWxldGUocGF0aCkKKyIgIGNhbGwgRGZ1bmMoInM6TmV0cndEZWxldGUocGF0aDwiLmE6cGF0aC4iPikiKQorCisgIGxldCBwYXRoID0gczpXaW5QYXRoKGE6cGF0aCkKKyAgaWYgIWc6bmV0cndfY3lnd2luICYmIChoYXMoIndpbjMyIikgfHwgaGFzKCJ3aW45NSIpIHx8IGhhcygid2luNjQiKSB8fCBoYXMoIndpbjE2IikpCisgICBpZiBleGlzdHMoIitzaGVsbHNsYXNoIikKKyAgICBsZXQgc3NrZWVwPSAmc2hlbGxzbGFzaAorICAgIHNldGxvY2FsIG5vc2hlbGxzbGFzaAorICAgIGxldCByZXN1bHQgICAgICA9IGRlbGV0ZShwYXRoKQorICAgIGxldCAmc2hlbGxzbGFzaCA9IHNza2VlcAorICAgZWxzZQorIiAgICBjYWxsIERlY2hvKCJleGUgbGV0IHJlc3VsdD0gIi5hOmNtZC4iKCciLnBhdGguIicpIikKKyAgICBsZXQgcmVzdWx0PSBkZWxldGUocGF0aCkKKyAgIGVuZGlmCisgIGVsc2UKKyIgICBjYWxsIERlY2hvKCJsZXQgcmVzdWx0PSBkZWxldGUoIi5wYXRoLiIpIikKKyAgIGxldCByZXN1bHQ9IGRlbGV0ZShwYXRoKQorICBlbmRpZgorICBpZiByZXN1bHQgPCAwCisgICBjYWxsIE5ldHJ3I0Vycm9yTXNnKHM6V0FSTklORywiZGVsZXRlKCIucGF0aC4iKSBmYWlsZWQhIiw3MSkKKyAgZW5kaWYKKworIiAgY2FsbCBEcmV0KCJzOk5ldHJ3RGVsZXRlICIucmVzdWx0KQorICByZXR1cm4gcmVzdWx0CiBlbmRmdW4KIAogIiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KQEAgLTcyODYsNyArNzM2NSw3IEBACiAgICAgbm5vIDxzaWxlbnQ+IDxidWZmZXI+IFsJOnNpbGVudCBjYWxsIDxTSUQ+VHJlZUxpc3RNb3ZlKCdbJyk8Y3I+CiAgICAgbm5vIDxzaWxlbnQ+IDxidWZmZXI+IF0JOnNpbGVudCBjYWxsIDxTSUQ+VHJlZUxpc3RNb3ZlKCddJyk8Y3I+CiAgICBlbHNlCi0gICAgZXhlICJzaWxlbnQhIGtlZXBhbHQgZmlsZSAiLmI6bmV0cndfY3VyZGlyCisgICAgZXhlICJzaWxlbnQhIGtlZXBhbHQgZmlsZSAiLmZuYW1lZXNjYXBlKGI6bmV0cndfY3VyZGlyKQogICAgZW5kaWYKICAgZW5kaWYKIApAQCAtNzI5NCw2OCArNzM3Myw2IEBACiBlbmRmdW4KIAogIiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSIgbmV0cncjTmV0cndTYXZlUG9zbjogc2F2ZXMgcG9zaXRpb24gb2YgY3Vyc29yIG9uIHNjcmVlbiB7e3syCi1mdW4hIG5ldHJ3I05ldHJ3U2F2ZVBvc24oKQotIiAgY2FsbCBEZnVuYygibmV0cncjTmV0cndTYXZlUG9zbigpIikKLSAgIiBTYXZlIGN1cnJlbnQgbGluZSBhbmQgY29sdW1uCi0gIGxldCB3Om5ldHJ3X3dpbm5yPSB3aW5ucigpCi0gIGxldCB3Om5ldHJ3X2xpbmUgPSBsaW5lKCIuIikKLSAgbGV0IHc6bmV0cndfY29sICA9IHZpcnRjb2woIi4iKQotCi0gICIgU2F2ZSB0b3Atb2Ytc2NyZWVuIGxpbmUKLSAgbm9ybSEgSDAKLSAgbGV0IHc6bmV0cndfaGxpbmU9IGxpbmUoIi4iKQotCi0gICIgc2V0IHVwIHN0cmluZyBob2xkaW5nIHBvc2l0aW9uIHBhcmFtZXRlcnMKLSAgbGV0IHJldCAgICAgICAgICA9ICJsZXQgdzpuZXRyd193aW5ucj0iLnc6bmV0cndfd2lubnIuInxsZXQgdzpuZXRyd19saW5lPSIudzpuZXRyd19saW5lLiJ8bGV0IHc6bmV0cndfY29sPSIudzpuZXRyd19jb2wuInxsZXQgdzpuZXRyd19obGluZT0iLnc6bmV0cndfaGxpbmUKLQotICBjYWxsIG5ldHJ3I05ldHJ3UmVzdG9yZVBvc24oKQotIiAgY2FsbCBEcmV0KCJuZXRydyNOZXRyd1NhdmVQb3NuIDogd2lubnI9Ii53Om5ldHJ3X3dpbm5yLiIgbGluZT0iLnc6bmV0cndfbGluZS4iIGNvbD0iLnc6bmV0cndfY29sLiIgaGxpbmU9Ii53Om5ldHJ3X2hsaW5lKQotICByZXR1cm4gcmV0Ci1lbmRmdW4KLQotIiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSIgbmV0cncjTmV0cndSZXN0b3JlUG9zbjogcmVzdG9yZXMgdGhlIGN1cnNvciBhbmQgZmlsZSBwb3NpdGlvbiBhcyBzYXZlZCBieSBOZXRyd1NhdmVQb3NuKCkge3t7MgotZnVuISBuZXRydyNOZXRyd1Jlc3RvcmVQb3NuKC4uLikKLSIgIGNhbGwgRGZ1bmMoIm5ldHJ3I05ldHJ3UmVzdG9yZVBvc24oKSBhOjA9Ii5hOjAuIiB3aW5ucj0iLihleGlzdHMoInc6bmV0cndfd2lubnIiKT8gdzpuZXRyd193aW5uciA6IC0xKS4iIGxpbmU9Ii4oZXhpc3RzKCJ3Om5ldHJ3X2xpbmUiKT8gdzpuZXRyd19saW5lIDogLTEpLiIgY29sPSIuKGV4aXN0cygidzpuZXRyd19jb2wiKT8gdzpuZXRyd19jb2wgOiAtMSkuIiBobGluZT0iLihleGlzdHMoInc6bmV0cndfaGxpbmUiKT8gdzpuZXRyd19obGluZSA6IC0xKSkKLSAgbGV0IGVpa2VlcD0gJmVpCi0gIHNldCBlaT1hbGwKLSAgaWYgZXhwYW5kKCIlIikgPT0gIk5ldHJ3TWVzc2FnZSIKLSAgIGV4ZSBzOndpbkJlZm9yZUVyci4id2luY21kIHciCi0gIGVuZGlmCi0KLSAgaWYgYTowID4gMAotICAgZXhlIGE6MQotICBlbmRpZgotCi0gICIgcmVzdG9yZSB3aW5kb3cKLSAgaWYgZXhpc3RzKCJ3Om5ldHJ3X3dpbm5yIikKLSIgICBjYWxsIERlY2hvKCJyZXN0b3JlIHdpbmRvdzogZXhlIHNpbGVudCEgIi53Om5ldHJ3X3dpbm5yLiJ3aW5jbWQgdyIpCi0gICBleGUgInNpbGVudCEgIi53Om5ldHJ3X3dpbm5yLiJ3aW5jbWQgdyIKLSAgZW5kaWYKLSAgaWYgdjpzaGVsbF9lcnJvciA9PSAwCi0gICAiIGFzIHN1Z2dlc3RlZCBieSBCcmFtIE06IHJlZHJhdyBvbiBubyBlcnJvcgotICAgIiBhbGxvd3MgcHJvdG9jb2wgZXJyb3IgbWVzc2FnZXMgdG8gcmVtYWluIHZpc2libGUKLSIgICByZWRyYXchCi0gIGVuZGlmCi0KLSAgIiByZXN0b3JlIHRvcC1vZi1zY3JlZW4gbGluZQotICBpZiBleGlzdHMoInc6bmV0cndfaGxpbmUiKQotIiAgIGNhbGwgRGVjaG8oInJlc3RvcmUgdG9wb2ZzY3JlZW46IGV4ZSBub3JtISAiLnc6bmV0cndfaGxpbmUuIkcweiIpCi0gICBleGUgIm5vcm0hICIudzpuZXRyd19obGluZS4iRzB6XDxDUj4iCi0gIGVuZGlmCi0KLSAgIiByZXN0b3JlIHBvc2l0aW9uCi0gIGlmIGV4aXN0cygidzpuZXRyd19saW5lIikgJiYgZXhpc3RzKCJ3Om5ldHJ3X2NvbCIpCi0iICAgY2FsbCBEZWNobygicmVzdG9yZSBwb3NuOiBleGUgbm9ybSEgIi53Om5ldHJ3X2xpbmUuIkcwIi53Om5ldHJ3X2NvbC4ifCIpCi0gICBleGUgIm5vcm0hICIudzpuZXRyd19saW5lLiJHMCIudzpuZXRyd19jb2wuIlw8YmFyPiIKLSAgZW5kaWYKLQotICBsZXQgJmVpPSBlaWtlZXAKLSIgIGNhbGwgRHJldCgibmV0cncjTmV0cndSZXN0b3JlUG9zbiIpCi1lbmRmdW4KLQotIiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICIgczpOZXRyd1NhdmVXb3JkUG9zbjogdXNlZCB0byBrZWVwIGN1cnNvciBvbiBzYW1lIHdvcmQgYWZ0ZXIgcmVmcmVzaCwge3t7MgogIiBjaGFuZ2VkIHNvcnRpbmcsIGV0Yy4gIEFsc28gc2VlIHM6TmV0cndSZXN0b3JlV29yZFBvc24oKS4KIGZ1biEgczpOZXRyd1NhdmVXb3JkUG9zbigpCkBAIC03Mzc0LDYgKzczOTEsMjEgQEAKIGVuZGZ1bgogCiAiIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIiBzOlJlc3RvcmVCdWZWYXJzOiB7e3syCitmdW4hIHM6UmVzdG9yZUJ1ZlZhcnMoKQorIiAgY2FsbCBEZnVuYygiczpSZXN0b3JlQnVmVmFycygpIikKKworICBpZiBleGlzdHMoInM6bmV0cndfY3VyZGlyIikgICAgICAgIHxsZXQgYjpuZXRyd19jdXJkaXIgICAgICAgICA9IHM6bmV0cndfY3VyZGlyICAgICAgICB8ZW5kaWYKKyAgaWYgZXhpc3RzKCJzOm5ldHJ3X2xhc3RmaWxlIikgICAgICB8bGV0IGI6bmV0cndfbGFzdGZpbGUgICAgICAgPSBzOm5ldHJ3X2xhc3RmaWxlICAgICAgfGVuZGlmCisgIGlmIGV4aXN0cygiczpuZXRyd19tZXRob2QiKSAgICAgICAgfGxldCBiOm5ldHJ3X21ldGhvZCAgICAgICAgID0gczpuZXRyd19tZXRob2QgICAgICAgIHxlbmRpZgorICBpZiBleGlzdHMoInM6bmV0cndfZm5hbWUiKSAgICAgICAgIHxsZXQgYjpuZXRyd19mbmFtZSAgICAgICAgICA9IHM6bmV0cndfZm5hbWUgICAgICAgICB8ZW5kaWYKKyAgaWYgZXhpc3RzKCJzOm5ldHJ3X21hY2hpbmUiKSAgICAgICB8bGV0IGI6bmV0cndfbWFjaGluZSAgICAgICAgPSBzOm5ldHJ3X21hY2hpbmUgICAgICAgfGVuZGlmCisgIGlmIGV4aXN0cygiczpuZXRyd19icm93c2VyX2FjdGl2ZSIpfGxldCBiOm5ldHJ3X2Jyb3dzZXJfYWN0aXZlID0gczpuZXRyd19icm93c2VyX2FjdGl2ZXxlbmRpZgorCisiICBjYWxsIERyZXQoInM6UmVzdG9yZUJ1ZlZhcnMiKQorZW5kZnVuCisKKyIgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAiIHM6UmVtb3RlUGF0aEFuYWx5c2lzOiB7e3syCiBmdW4hIHM6UmVtb3RlUGF0aEFuYWx5c2lzKGRpcm5hbWUpCiAiICBjYWxsIERmdW5jKCJzOlJlbW90ZVBhdGhBbmFseXNpcygpIikKQEAgLTczOTcsMTggKzc0MjksMzEgQEAKIGVuZGZ1bgogCiAiIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIiBzOlJlc3RvcmVCdWZWYXJzOiB7e3syCi1mdW4hIHM6UmVzdG9yZUJ1ZlZhcnMoKQotIiAgY2FsbCBEZnVuYygiczpSZXN0b3JlQnVmVmFycygpIikKLQotICBpZiBleGlzdHMoInM6bmV0cndfY3VyZGlyIikgICAgICAgIHxsZXQgYjpuZXRyd19jdXJkaXIgICAgICAgICA9IHM6bmV0cndfY3VyZGlyICAgICAgICB8ZW5kaWYKLSAgaWYgZXhpc3RzKCJzOm5ldHJ3X2xhc3RmaWxlIikgICAgICB8bGV0IGI6bmV0cndfbGFzdGZpbGUgICAgICAgPSBzOm5ldHJ3X2xhc3RmaWxlICAgICAgfGVuZGlmCi0gIGlmIGV4aXN0cygiczpuZXRyd19tZXRob2QiKSAgICAgICAgfGxldCBiOm5ldHJ3X21ldGhvZCAgICAgICAgID0gczpuZXRyd19tZXRob2QgICAgICAgIHxlbmRpZgotICBpZiBleGlzdHMoInM6bmV0cndfZm5hbWUiKSAgICAgICAgIHxsZXQgYjpuZXRyd19mbmFtZSAgICAgICAgICA9IHM6bmV0cndfZm5hbWUgICAgICAgICB8ZW5kaWYKLSAgaWYgZXhpc3RzKCJzOm5ldHJ3X21hY2hpbmUiKSAgICAgICB8bGV0IGI6bmV0cndfbWFjaGluZSAgICAgICAgPSBzOm5ldHJ3X21hY2hpbmUgICAgICAgfGVuZGlmCi0gIGlmIGV4aXN0cygiczpuZXRyd19icm93c2VyX2FjdGl2ZSIpfGxldCBiOm5ldHJ3X2Jyb3dzZXJfYWN0aXZlID0gczpuZXRyd19icm93c2VyX2FjdGl2ZXxlbmRpZgotCi0iICBjYWxsIERyZXQoInM6UmVzdG9yZUJ1ZlZhcnMiKQorIiBzOlJlbW90ZVN5c3RlbTogcnVucyBhIGNvbW1hbmQgb24gYSByZW1vdGUgaG9zdCB1c2luZyBzc2gge3t7MgorIiAgICAgICAgICAgICAgICAgUmV0dXJucyBzdGF0dXMKKyIgUnVucyBzeXN0ZW0oKSBvbgorIiAgICBbY2QgUkVNT1RFRElSUEFUSDtdIGE6Y21kCisiIE5vdGUgdGhhdCBpdCBkb2Vzbid0IGRvIHNoZWxsZXNjYXBlKGE6Y21kKSEKK2Z1biEgczpSZW1vdGVTeXN0ZW0oY21kKQorIiAgY2FsbCBEZnVuYygiczpSZW1vdGVTeXN0ZW0oY21kPCIuYTpjbWQuIj4pIikKKyAgaWYgIWV4ZWN1dGFibGUoZzpuZXRyd19zc2hfY21kKQorICAgY2FsbCBuZXRydyNFcnJvck1zZyhzOkVSUk9SLCJnOm5ldHJ3X3NzaF9jbWQ8Ii5nOm5ldHJ3X3NzaF9jbWQuIj4gaXMgbm90IGV4ZWN1dGFibGUhIiw1MikKKyAgZWxzZWlmICFleGlzdHMoImI6bmV0cndfY3VyZGlyIikKKyAgIGNhbGwgbmV0cncjRXJyb3JNc2coczpFUlJPUiwiZm9yIHNvbWUgcmVhc29uIGI6bmV0cndfY3VyZGlyIGRvZXNuJ3QgZXhpc3QhIiw1MykKKyAgZWxzZQorICAgbGV0IGNtZCAgICAgID0gczpNYWtlU3NoQ21kKGc6bmV0cndfc3NoX2NtZC4iIFVTRVBPUlQgSE9TVE5BTUUiKQorICAgbGV0IHJlbW90ZWRpcj0gc3Vic3RpdHV0ZShiOm5ldHJ3X2N1cmRpciwnXi4qLy9bXi9dXCsvXCguKlwpJCcsJ1wxJywnJykKKyAgIGlmIHJlbW90ZWRpciAhPSAiIgorICAgIGxldCBjbWQ9IGNtZC4nIGNkICcuc2hlbGxlc2NhcGUocmVtb3RlZGlyKS4iOyIKKyAgIGVsc2UKKyAgICBsZXQgY21kPSBjbWQuJyAnCisgICBlbmRpZgorICAgbGV0IGNtZD0gY21kLmE6Y21kCisiICAgY2FsbCBEZWNobygiY2FsbCBzeXN0ZW0oIi5jbWQuIikiKQorICAgbGV0IHJldD0gc3lzdGVtKGNtZCkKKyAgZW5kaWYKKyIgIGNhbGwgRHJldCgiczpSZW1vdGVTeXN0ZW0gIi5yZXQpCisgIHJldHVybiByZXQKIGVuZGZ1bgogCiAiIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpAQCAtNzU4Niw0NCArNzYzMSw2IEBACiBlbmRmdW4KIAogIiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSIgczpTeXN0ZW06IHVzaW5nIFN0ZXZlIEhhbGwncyBpZGVhIHRvIGluc3VyZSB0aGF0IFdpbmRvd3MgcGF0aHMgc3RheSB7e3syCi0iICAgICAgICAgICAgICBhY2NlcHRhYmxlLiAgTm8gZWZmZWN0IG9uIFVuaXggcGF0aHMuCi0iICBFeGFtcGxlcyBvZiB1c2U6ICBsZXQgcmVzdWx0PSBzOlN5c3RlbSgicm0iLHBhdGgpCi0iICAgICAgICAgICAgICAgICAgICBsZXQgcmVzdWx0PSBzOlN5c3RlbSgiZGVsZXRlIixwYXRoKQotZnVuISBuZXRydyNTeXN0ZW0oY21kLHBhdGgpCi0gIGVjaG9tc2cgczpTeXN0ZW0oYTpjbWQsYTpwYXRoKQotZW5kZnVuCi1mdW4hIHM6U3lzdGVtKGNtZCxwYXRoKQotIiAgY2FsbCBEZnVuYygiczpTeXN0ZW0oY21kPCIuYTpjbWQuIj4gcGF0aDwiLmE6cGF0aC4iPikiKQotCi0gIGxldCBwYXRoID0gYTpwYXRoCi0gIGlmICFnOm5ldHJ3X2N5Z3dpbiAmJiAoaGFzKCJ3aW4zMiIpIHx8IGhhcygid2luOTUiKSB8fCBoYXMoIndpbjY0IikgfHwgaGFzKCJ3aW4xNiIpKQotICAgIiBzeXN0ZW0gY2FsbCBwcmVwCi0gICAiIHJlbW92ZSB0cmFpbGluZyBzbGFzaCAoV2luOTUpCi0gICBsZXQgcGF0aCA9IHN1YnN0aXR1dGUocGF0aCwgJ1woXFxcfC9cKSQnLCAnJywgJ2cnKQotICAgIiByZW1vdmUgZXNjYXBlZCBzcGFjZXMKLSAgIGxldCBwYXRoID0gc3Vic3RpdHV0ZShwYXRoLCAnXCAnLCAnICcsICdnJykKLSAgICIgY29udmVydCBzbGFzaGVzIHRvIGJhY2tzbGFzaGVzCi0gICBsZXQgcGF0aCA9IHN1YnN0aXR1dGUocGF0aCwgJy8nLCAnXCcsICdnJykKLSAgIGlmIGV4aXN0cygiK3NoZWxsc2xhc2giKQotICAgIGxldCBzc2tlZXA9ICZzaGVsbHNsYXNoCi0gICAgc2V0bG9jYWwgbm9zaGVsbHNsYXNoCi0gICAgZXhlICJsZXQgcmVzdWx0PSAiLmE6Y21kLiIoJyIucGF0aC4iJykiCi0gICAgbGV0ICZzaGVsbHNsYXNoID0gc3NrZWVwCi0gICBlbHNlCi0iICAgIGNhbGwgRGVjaG8oImV4ZSBsZXQgcmVzdWx0PSAiLmE6Y21kLiIoJyIucGF0aC4iJykiKQotICAgIGV4ZSAibGV0IHJlc3VsdD0gIi5hOmNtZC4iKCciLnBhdGguIicpIgotICAgZW5kaWYKLSAgZWxzZQotIiAgIGNhbGwgRGVjaG8oImV4ZSBsZXQgcmVzdWx0PSAiLmE6Y21kLiIoJyIucGF0aC4iJykiKQotICAgZXhlICJsZXQgcmVzdWx0PSAiLmE6Y21kLiIoJyIucGF0aC4iJykiCi0gIGVuZGlmCi0KLSIgIGNhbGwgRHJldCgiczpTeXN0ZW0gcmVzdWx0PCIucmVzdWx0LiI+IikKLSAgcmV0dXJuIHJlc3VsdAotZW5kZnVuCi0KLSIgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAiIHM6VHJlZUxpc3RNb3ZlOiB7e3syCiBmdW4hIHM6VHJlZUxpc3RNb3ZlKGRpcikKICIgIGNhbGwgRGZ1bmMoInM6VHJlZUxpc3RNb3ZlKGRpcjwiLmE6ZGlyLiI+KSIpCkBAIC03NjgwLDYgKzc2ODcsMjQgQEAKIGVuZGZ1bgogCiAiIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIiBzOlVwZGF0ZUJ1ZmZlcnNNZW51OiBkb2VzIGVtZW51IEJ1ZmZlcnMuUmVmcmVzaCAoYnV0IGR1ZSB0byBsb2NhbGUsIHRoZSBtZW51IGl0ZW0gbWF5IG5vdCBiZSBjYWxsZWQgdGhhdCkge3t7MgorIiAgICAgICAgICAgICAgICAgICAgICBUaGUgQnVmZmVycy5SZWZyZXNoIG1lbnUgY2FsbHMgczpCTVNob3coKTsgdW5mb3J0dW5hdGVseSwgdGhhdCBtZWFucyB0aGF0IHRoYXQgZnVuY3Rpb24KKyIgICAgICAgICAgICAgICAgICAgICAgY2FuJ3QgYmUgY2FsbGVkIGV4Y2VwdCB2aWEgZW1lbnUuICBCdXQgZHVlIHRvIGxvY2FsZSwgdGhhdCBtZW51IGxpbmUgbWF5IG5vdCBiZSBjYWxsZWQKKyIgICAgICAgICAgICAgICAgICAgICAgQnVmZmVycy5SZWZyZXNoOyBoZW5jZSwgczpOZXRyd0JNU2hvdygpIHV0aWxpemVzIGEgImNoZWF0IiB0byBjYWxsIHRoYXQgZnVuY3Rpb24gYW55d2F5LgorZnVuISBzOlVwZGF0ZUJ1ZmZlcnNNZW51KCkKKyIgIGNhbGwgRGZ1bmMoInM6VXBkYXRlQnVmZmVyc01lbnUoKSIpCisgIGlmIGhhcygiZ3VpIikgJiYgaGFzKCJtZW51IikgJiYgaGFzKCJndWlfcnVubmluZyIpICYmICZnbyA9fiAnbScKKyAgIHRyeQorICAgIHNpbGVudCBlbWVudSBCdWZmZXJzLlJlZnJlc2hcIG1lbnUKKyAgIGNhdGNoIC9eVmltXCUoKFxhXCspXClcPTpFLworICAgIGxldCB2OmVycm1zZz0gIiIKKyAgICBzaWxlbnQgY2FsbCBzOk5ldHJ3Qk1TaG93KCkKKyAgIGVuZHRyeQorICBlbmRpZgorIiAgY2FsbCBEcmV0KCJzOlVwZGF0ZUJ1ZmZlcnNNZW51IikKK2VuZGZ1bgorCisiIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogIiBzOlVzZUJ1ZldpblZhcnM6ICh1c2VkIGJ5IE5ldHJ3QnJvd3NlKCkgYW5kIExvY2FsQnJvd3NlQ2hlY2soKSB7e3syCiAiICAgICAgICAgICAgICBNYXRjaGluZyBmdW5jdGlvbiB0byBCdWZmZXJXaW5WYXJzKCkKIGZ1biEgczpVc2VCdWZXaW5WYXJzKCkKQEAgLTc2OTgsNiArNzcyMywyNCBAQAogZW5kZnVuCiAKICIgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisiIHM6V2luUGF0aDoge3t7MgorZnVuISBzOldpblBhdGgocGF0aCkKKyIgIGNhbGwgRGZ1bmMoInM6V2luUGF0aChwYXRoPCIuYTpwYXRoLiI+KSIpCisgIGlmICFnOm5ldHJ3X2N5Z3dpbiAmJiAoaGFzKCJ3aW4zMiIpIHx8IGhhcygid2luOTUiKSB8fCBoYXMoIndpbjY0IikgfHwgaGFzKCJ3aW4xNiIpKQorICAgIiByZW1vdmUgdHJhaWxpbmcgc2xhc2ggKFdpbjk1KQorICAgbGV0IHBhdGggPSBzdWJzdGl0dXRlKGE6cGF0aCwgJ1woXFxcfC9cKSQnLCAnJywgJ2cnKQorICAgIiByZW1vdmUgZXNjYXBlZCBzcGFjZXMKKyAgIGxldCBwYXRoID0gc3Vic3RpdHV0ZShwYXRoLCAnXCAnLCAnICcsICdnJykKKyAgICIgY29udmVydCBzbGFzaGVzIHRvIGJhY2tzbGFzaGVzCisgICBsZXQgcGF0aCA9IHN1YnN0aXR1dGUocGF0aCwgJy8nLCAnXCcsICdnJykKKyAgZWxzZQorICAgbGV0IHBhdGg9IGE6cGF0aAorICBlbmRpZgorIiAgY2FsbCBEcmV0KCJzOldpblBhdGggPCIucGF0aC4iPiIpCisgIHJldHVybiBwYXRoCitlbmRmdW4KKworIiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICIgU2V0dGluZ3MgUmVzdG9yYXRpb246IHt7ezIKIGxldCAmY3BvPSBzOmtlZXBjcG8KIHVubGV0IHM6a2VlcGNwbwpkaWZmIC0tZ2l0IGEvcnVudGltZS9hdXRvbG9hZC9uZXRyd1NldHRpbmdzLnZpbSBiL3J1bnRpbWUvYXV0b2xvYWQvbmV0cndTZXR0aW5ncy52aW0KaW5kZXggZDZhOTM2Mi4uYzA3MDRkNCAxMDA2NDQKLS0tIGEvcnVudGltZS9hdXRvbG9hZC9uZXRyd1NldHRpbmdzLnZpbQorKysgYi9ydW50aW1lL2F1dG9sb2FkL25ldHJ3U2V0dGluZ3MudmltCkBAIC0xLDcgKzEsNyBAQAogIiBuZXRyd1NldHRpbmdzLnZpbTogbWFrZXMgbmV0cncgc2V0dGluZ3Mgc2ltcGxlcgotIiBEYXRlOgkJTWFyIDExLCAyMDA4CisiIERhdGU6CQlKdWwgMDIsIDIwMDgKICIgTWFpbnRhaW5lcjoJQ2hhcmxlcyBFIENhbXBiZWxsLCBKciA8ZHJjaGlwTk9TUEFNIGF0IGNhbXBiZWxsZmFtaWx5IGRvdCBiaXo+Ci0iIFZlcnNpb246CTExCisiIFZlcnNpb246CTEyCiAiIENvcHlyaWdodDogICAgQ29weXJpZ2h0IChDKSAxOTk5LTIwMDcgQ2hhcmxlcyBFLiBDYW1wYmVsbCwgSnIuIHt7ezEKICIgICAgICAgICAgICAgICBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkIHRvIHVzZSBhbmQgZGlzdHJpYnV0ZSB0aGlzIGNvZGUsCiAiICAgICAgICAgICAgICAgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbnMsIHByb3ZpZGVkIHRoYXQgdGhpcyBjb3B5cmlnaHQKQEAgLTE5LDcgKzE5LDcgQEAKIGlmIGV4aXN0cygiZzpsb2FkZWRfbmV0cndTZXR0aW5ncyIpIHx8ICZjcAogICBmaW5pc2gKIGVuZGlmCi1sZXQgZzpsb2FkZWRfbmV0cndTZXR0aW5ncyAgPSAidjExIgorbGV0IGc6bG9hZGVkX25ldHJ3U2V0dGluZ3MgID0gInYxMiIKIAogIiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICIgTmV0cndTZXR0aW5nczoge3t7MQpAQCAtODIsOCArODIsNiBAQAogICBwdXQgPSAnbGV0IGc6bmV0cndfZnRwbW9kZSAgICAgICAgICAgPSAnLmc6bmV0cndfZnRwbW9kZQogICBwdXQgPSAnbGV0IGc6bmV0cndfaWdub3JlbmV0cmMgICAgICAgPSAnLmc6bmV0cndfaWdub3JlbmV0cmMKICAgcHV0ID0gJ2xldCBnOm5ldHJ3X3NzaHBvcnQgICAgICAgICAgID0gJy5nOm5ldHJ3X3NzaHBvcnQKLSAgbGV0IHNocWxpbmU9IGxpbmUoIiQiKQotICBwdXQgPSAnbGV0IGc6bmV0cndfc2hxLi4uJwogICBwdXQgPSAnbGV0IGc6bmV0cndfdXNlX250X3JjcCAgICAgICAgPSAnLmc6bmV0cndfdXNlX250X3JjcAogICBwdXQgPSAnbGV0IGc6bmV0cndfd2luOTVmdHAgICAgICAgICAgPSAnLmc6bmV0cndfd2luOTVmdHAKICAgbGV0IHM6bmV0cndfeGZlcl9zdG9wPSBsaW5lKCIuIikKQEAgLTEwMSw4ICs5OSw2IEBACiAgIGVsc2UKICAgIHB1dCA9ICdsZXQgZzpuZXRyd19icm93c2V4X3ZpZXdlciAgICA9IChub3QgZGVmaW5lZCknCiAgIGVuZGlmCi0gIGxldCBjZGVzY2xpbmU9IGxpbmUoIiQiKQotICBwdXQgPSdsZXQgZzpuZXRyd19jZF9lc2NhcGUuLi4nCiAgIHB1dCA9ICdsZXQgZzpuZXRyd19jb21wcmVzcyAgICAgICAgICA9ICcuZzpuZXRyd19jb21wcmVzcwogICBsZXQgZGVjb21wcmVzc2xpbmU9IGxpbmUoIiQiKQogICBwdXQgPSdsZXQgZzpuZXRyd19kZWNvbXByZXNzLi4uJwpAQCAtMTM3LDYgKzEzMyw3IEBACiAgIHB1dCA9ICdsZXQgZzpuZXRyd19zaWxlbnQgICAgICAgICAgICA9ICcuZzpuZXRyd19zaWxlbnQKICAgcHV0ID0gJ2xldCBnOm5ldHJ3X3NvcnRfYnkgICAgICAgICAgID0gJy5nOm5ldHJ3X3NvcnRfYnkKICAgcHV0ID0gJ2xldCBnOm5ldHJ3X3NvcnRfZGlyZWN0aW9uICAgID0gJy5nOm5ldHJ3X3NvcnRfZGlyZWN0aW9uCisgIHB1dCA9ICdsZXQgZzpuZXRyd19zb3J0X29wdGlvbnMgICAgICA9ICcuZzpuZXRyd19zb3J0X29wdGlvbnMKICAgcHV0ID0gJ2xldCBnOm5ldHJ3X3NvcnRfc2VxdWVuY2UgICAgID0gJy5nOm5ldHJ3X3NvcnRfc2VxdWVuY2UKICAgcHV0ID0gJ2xldCBnOm5ldHJ3X3NwZWNpYWxfc3ludGF4ICAgID0gJy5nOm5ldHJ3X3NwZWNpYWxfc3ludGF4CiAgIHB1dCA9ICdsZXQgZzpuZXRyd19zc2hfYnJvd3NlX3JlamVjdCA9ICcuZzpuZXRyd19zc2hfYnJvd3NlX3JlamVjdApAQCAtMTU5LDE0ICsxNTYsNiBAQAogICBzaWxlbnQgJXMvPSAkLz0gJycvZQogICAxCiAKLSAgIiBQdXQgaW4gZzpuZXRyd19zaHEgc2V0dGluZyBhbmQgZzpuZXRyd19jZF9lc2NhcGUKLSAgIiAoZGVmZXJyZWQgc28gYXMgdG8gYXZvaWQgdGhlIHF1b3RlIG1hbmlwdWxhdGlvbiBqdXN0IHByZWNlZGluZykKLSAgaWYgZzpuZXRyd19zaHEgPT0gIiciCi0gICBjYWxsIHNldGxpbmUoc2hxbGluZSwgICAgICAnbGV0IGc6bmV0cndfc2hxICAgICAgICAgICAgICAgPSAiJy5nOm5ldHJ3X3NocS4nIicpCi0gIGVsc2UKLSAgIGNhbGwgc2V0bGluZShzaHFsaW5lLCAgICAgICJsZXQgZzpuZXRyd19zaHEgICAgICAgICAgICAgICA9ICciLmc6bmV0cndfc2hxLiInIikKLSAgZW5kaWYKLSAgY2FsbCBzZXRsaW5lKGNkZXNjbGluZSwgICAgICJsZXQgZzpuZXRyd19jZF9lc2NhcGUgICAgICAgICA9ICIuJyInLmVzY2FwZShnOm5ldHJ3X2NkX2VzY2FwZSwnXCInKS4nIicpCiAgIGNhbGwgc2V0bGluZShkZWNvbXByZXNzbGluZSwibGV0IGc6bmV0cndfZGVjb21wcmVzcyAgICAgICAgPSAiLnN1YnN0aXR1dGUoc3RyaW5nKGc6bmV0cndfZGVjb21wcmVzcyksIl4nXFwoLipcXCknJCIsJ1wxJywnJykpCiAgIGNhbGwgc2V0bGluZShmbmFtZWVzY2xpbmUsICAibGV0IGc6bmV0cndfZm5hbWVfZXNjYXBlICAgICAgPSAnIi5lc2NhcGUoZzpuZXRyd19mbmFtZV9lc2NhcGUsIiciKS4iJyIpCiAgIGNhbGwgc2V0bGluZShnbG9iZXNjbGluZSwgICAibGV0IGc6bmV0cndfZ2xvYl9lc2NhcGUgICAgICAgPSAnIi5lc2NhcGUoZzpuZXRyd19nbG9iX2VzY2FwZSwiJyIpLiInIikKZGlmZiAtLWdpdCBhL3J1bnRpbWUvYXV0b2xvYWQvcnVieWNvbXBsZXRlLnZpbSBiL3J1bnRpbWUvYXV0b2xvYWQvcnVieWNvbXBsZXRlLnZpbQppbmRleCA0N2M3N2Q5Li44N2U2YzlhIDEwMDY0NAotLS0gYS9ydW50aW1lL2F1dG9sb2FkL3J1Ynljb21wbGV0ZS52aW0KKysrIGIvcnVudGltZS9hdXRvbG9hZC9ydWJ5Y29tcGxldGUudmltCkBAIC0zMDEsNyArMzAxLDcgQEAKIAogICBkZWYgZ2V0X2J1ZmZlcl9lbnRpdHkobmFtZSwgdmltZnVuKQogICAgIGxvYWRpbmdfYWxsb3dlZCA9IFZJTTo6ZXZhbHVhdGUoImV4aXN0cygnZzpydWJ5Y29tcGxldGVfYnVmZmVyX2xvYWRpbmcnKSAmJiBnOnJ1Ynljb21wbGV0ZV9idWZmZXJfbG9hZGluZyIpCi0gICAgcmV0dXJuIG5pbCBpZiBsb2FkaW5nX2FsbG93ZWQgIT0gJzEnCisgICAgcmV0dXJuIG5pbCBpZiBsb2FkaW5nX2FsbG93ZWQudG9faS56ZXJvPwogICAgIHJldHVybiBuaWwgaWYgLyhcInxcJykrLy5tYXRjaCggbmFtZSApCiAgICAgYnVmID0gVklNOjpCdWZmZXIuY3VycmVudAogICAgIG51bXMgPSBldmFsKCBWSU06OmV2YWx1YXRlKCB2aW1mdW4gJSBuYW1lICkgKQpAQCAtMzY4LDcgKzM2OCw3IEBACiAgICAgIyB0aGlzIHdpbGwgYmUgYSBsaXR0bGUgZXhwZW5zaXZlLgogICAgIGxvYWRpbmdfYWxsb3dlZCA9IFZJTTo6ZXZhbHVhdGUoImV4aXN0cygnZzpydWJ5Y29tcGxldGVfYnVmZmVyX2xvYWRpbmcnKSAmJiBnOnJ1Ynljb21wbGV0ZV9idWZmZXJfbG9hZGluZyIpCiAgICAgYWxsb3dfYWdncmVzc2l2ZV9sb2FkID0gVklNOjpldmFsdWF0ZSgiZXhpc3RzKCdnOnJ1Ynljb21wbGV0ZV9jbGFzc2VzX2luX2dsb2JhbCcpICYmIGc6cnVieWNvbXBsZXRlX2NsYXNzZXNfaW5fZ2xvYmFsIikKLSAgICByZXR1cm4gW10gaWYgYWxsb3dfYWdncmVzc2l2ZV9sb2FkICE9ICcxJyB8fCBsb2FkaW5nX2FsbG93ZWQgIT0gJzEnCisgICAgcmV0dXJuIFtdIGlmIGFsbG93X2FnZ3Jlc3NpdmVfbG9hZC50b19pLnplcm8/IHx8IGxvYWRpbmdfYWxsb3dlZC50b19pLnplcm8/CiAKICAgICBidWYgPSBWSU06OkJ1ZmZlci5jdXJyZW50CiAgICAgZW9iID0gYnVmLmxlbmd0aApAQCAtNDAxLDcgKzQwMSw3IEBACiAKICAgZGVmIGxvYWRfcmFpbHMKICAgICBhbGxvd19yYWlscyA9IFZJTTo6ZXZhbHVhdGUoImV4aXN0cygnZzpydWJ5Y29tcGxldGVfcmFpbHMnKSAmJiBnOnJ1Ynljb21wbGV0ZV9yYWlscyIpCi0gICAgcmV0dXJuIGlmIGFsbG93X3JhaWxzICE9ICcxJworICAgIHJldHVybiBpZiBhbGxvd19yYWlscy50b19pLnplcm8/CiAKICAgICBidWZfcGF0aCA9IFZJTTo6ZXZhbHVhdGUoJ2V4cGFuZCgiJTpwIiknKQogICAgIGZpbGVfbmFtZSA9IFZJTTo6ZXZhbHVhdGUoJ2V4cGFuZCgiJTp0IiknKQpAQCAtNDYxLDcgKzQ2MSw3IEBACiAgIGRlZiBnZXRfcmFpbHNfaGVscGVycwogICAgIGFsbG93X3JhaWxzID0gVklNOjpldmFsdWF0ZSgiZXhpc3RzKCdnOnJ1Ynljb21wbGV0ZV9yYWlscycpICYmIGc6cnVieWNvbXBsZXRlX3JhaWxzIikKICAgICByYWlsc19sb2FkZWQgPSBWSU06OmV2YWx1YXRlKCdzOnJ1Ynljb21wbGV0ZV9yYWlsc19sb2FkZWQnKQotICAgIHJldHVybiBbXSBpZiBhbGxvd19yYWlscyAhPSAnMScgfHwgcmFpbHNfbG9hZGVkICE9ICcxJworICAgIHJldHVybiBbXSBpZiBhbGxvd19yYWlscy50b19pLnplcm8/IHx8IHJhaWxzX2xvYWRlZC50b19pLnplcm8/CiAKICAgICBidWZfcGF0aCA9IFZJTTo6ZXZhbHVhdGUoJ2V4cGFuZCgiJTpwIiknKQogICAgIGJ1Zl9wYXRoLmdzdWIhKCAvXFwvLCAiLyIgKQpAQCAtNTExLDcgKzUxMSw3IEBACiAgIGRlZiBhZGRfcmFpbHNfY29sdW1ucyggY2xzICkKICAgICBhbGxvd19yYWlscyA9IFZJTTo6ZXZhbHVhdGUoImV4aXN0cygnZzpydWJ5Y29tcGxldGVfcmFpbHMnKSAmJiBnOnJ1Ynljb21wbGV0ZV9yYWlscyIpCiAgICAgcmFpbHNfbG9hZGVkID0gVklNOjpldmFsdWF0ZSgnczpydWJ5Y29tcGxldGVfcmFpbHNfbG9hZGVkJykKLSAgICByZXR1cm4gW10gaWYgYWxsb3dfcmFpbHMgIT0gJzEnIHx8IHJhaWxzX2xvYWRlZCAhPSAnMScKKyAgICByZXR1cm4gW10gaWYgYWxsb3dfcmFpbHMudG9faS56ZXJvPyB8fCByYWlsc19sb2FkZWQudG9faS56ZXJvPwogCiAgICAgYmVnaW4KICAgICAgICAgZXZhbCggIiN7Y2xzfS5lc3RhYmxpc2hfY29ubmVjdGlvbiIgKQpAQCAtNTM0LDcgKzUzNCw3IEBACiAgIGRlZiBnZXRfcmFpbHNfdmlld19tZXRob2RzCiAgICAgYWxsb3dfcmFpbHMgPSBWSU06OmV2YWx1YXRlKCJleGlzdHMoJ2c6cnVieWNvbXBsZXRlX3JhaWxzJykgJiYgZzpydWJ5Y29tcGxldGVfcmFpbHMiKQogICAgIHJhaWxzX2xvYWRlZCA9IFZJTTo6ZXZhbHVhdGUoJ3M6cnVieWNvbXBsZXRlX3JhaWxzX2xvYWRlZCcpCi0gICAgcmV0dXJuIFtdIGlmIGFsbG93X3JhaWxzICE9ICcxJyB8fCByYWlsc19sb2FkZWQgIT0gJzEnCisgICAgcmV0dXJuIFtdIGlmIGFsbG93X3JhaWxzLnRvX2kuemVybz8gfHwgcmFpbHNfbG9hZGVkLnRvX2kuemVybz8KIAogICAgIGJ1Zl9wYXRoID0gVklNOjpldmFsdWF0ZSgnZXhwYW5kKCIlOnAiKScpCiAgICAgYnVmX3BhdGguZ3N1YiEoIC9cXC8sICIvIiApCkBAIC01ODAsNyArNTgwLDcgQEAKIAogICBkZWYgZ2V0X2NvbXBsZXRpb25zKGJhc2UpCiAgICAgbG9hZGluZ19hbGxvd2VkID0gVklNOjpldmFsdWF0ZSgiZXhpc3RzKCdnOnJ1Ynljb21wbGV0ZV9idWZmZXJfbG9hZGluZycpICYmIGc6cnVieWNvbXBsZXRlX2J1ZmZlcl9sb2FkaW5nIikKLSAgICBpZiBsb2FkaW5nX2FsbG93ZWQgPT0gJzEnCisgICAgaWYgbG9hZGluZ19hbGxvd2VkLnRvX2kgPT0gMQogICAgICAgbG9hZF9yZXF1aXJlcwogICAgICAgbG9hZF9yYWlscwogICAgIGVuZApkaWZmIC0tZ2l0IGEvcnVudGltZS9hdXRvbG9hZC90YXIudmltIGIvcnVudGltZS9hdXRvbG9hZC90YXIudmltCmluZGV4IDM1ZWY3ZmQuLmIxNTI5ZDYgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvYXV0b2xvYWQvdGFyLnZpbQorKysgYi9ydW50aW1lL2F1dG9sb2FkL3Rhci52aW0KQEAgLTEsNyArMSw3IEBACiAiIHRhci52aW06IEhhbmRsZXMgYnJvd3NpbmcgdGFyZmlsZXMKICIgICAgICAgICAgICBBVVRPTE9BRCBQT1JUSU9OCi0iIERhdGU6CQkJSnVuIDEyLCAyMDA4Ci0iIFZlcnNpb246CQkxNgorIiBEYXRlOgkJCUp1bCAxMiwgMjAwOAorIiBWZXJzaW9uOgkJMTkgKyBjaGFuZ2VzIGJ5IEJyYW0KICIgTWFpbnRhaW5lcjoJQ2hhcmxlcyBFIENhbXBiZWxsLCBKciA8TmRyT2NoaXBAU2NhbXBiZWxsUGZhbWlseS5BYml6TS1OT1NQQU0+CiAiIExpY2Vuc2U6CQlWaW0gTGljZW5zZSAgKHNlZSB2aW0ncyA6aGVscCBsaWNlbnNlKQogIgpAQCAtMjQsNyArMjQsNyBAQAogaWYgJmNwIHx8IGV4aXN0cygiZzpsb2FkZWRfdGFyIikgfHwgdjp2ZXJzaW9uIDwgNzAwCiAgZmluaXNoCiBlbmRpZgotbGV0IGc6bG9hZGVkX3Rhcj0gInYxNiIKK2xldCBnOmxvYWRlZF90YXI9ICJ2MTkrYiIKICJjYWxsIERlY2hvKCJsb2FkaW5nIGF1dG9sb2FkL3Rhci52aW0iKQogaWYgdjp2ZXJzaW9uIDwgNzAxIHx8ICh2OnZlcnNpb24gPT0gNzAxICYmICFoYXMoInBhdGNoMjk5IikpCiAgZWNob2VyciAiKGF1dG9sb2FkL3Rhci52aW0pIG5lZWQgdmltIHY3LjEgd2l0aCBwYXRjaGxldmVsIDI5OSIKQEAgLTEzMCwyMSArMTMwLDIxIEBACiAgIGxldCB0YXJmaWxlPSBhOnRhcmZpbGUKICAgaWYgaGFzKCJ3aW4zMiIpICYmIGV4ZWN1dGFibGUoImN5Z3BhdGgiKQogICAgIiBhc3N1bWluZyBjeWd3aW4KLSAgIGxldCB0YXJmaWxlPXN1YnN0aXR1dGUoc3lzdGVtKCJjeWdwYXRoIC11ICIuczpFc2NhcGUodGFyZmlsZSkpLCdcbiQnLCcnLCdlJykKKyAgIGxldCB0YXJmaWxlPXN1YnN0aXR1dGUoc3lzdGVtKCJjeWdwYXRoIC11ICIuczpFc2NhcGUodGFyZmlsZSwwKSksJ1xuJCcsJycsJ2UnKQogICBlbmRpZgogICBsZXQgY3VybGFzdD0gbGluZSgiJCIpCiAgIGlmIHRhcmZpbGUgPX4jICdcLlwoZ3pcfHRnelwpJCcKLSIgICBjYWxsIERlY2hvKCIxOiBleGUgc2lsZW50IHIhIGd6aXAgLWQgLWMgIi5zOkVzY2FwZSh0YXJmaWxlKS4iIHwgIi5nOnRhcl9jbWQuIiAtIi5nOnRhcl9icm93c2VvcHRpb25zLiIgLSAiKQotICAgZXhlICJzaWxlbnQgciEgZ3ppcCAtZCAtYyAtLSAiLnM6RXNjYXBlKHRhcmZpbGUpLiIgfCAiLmc6dGFyX2NtZC4iIC0iLmc6dGFyX2Jyb3dzZW9wdGlvbnMuIiAtICIKKyIgICBjYWxsIERlY2hvKCIxOiBleGUgc2lsZW50IHIhIGd6aXAgLWQgLWMgIi5zOkVzY2FwZSh0YXJmaWxlLDEpLiIgfCAiLmc6dGFyX2NtZC4iIC0iLmc6dGFyX2Jyb3dzZW9wdGlvbnMuIiAtICIpCisgICBleGUgInNpbGVudCByISBnemlwIC1kIC1jIC0tICIuczpFc2NhcGUodGFyZmlsZSwxKS4iIHwgIi5nOnRhcl9jbWQuIiAtIi5nOnRhcl9icm93c2VvcHRpb25zLiIgLSAiCiAgIGVsc2VpZiB0YXJmaWxlID1+IyAnXC5scnAnCi0iICAgY2FsbCBEZWNobygiMjogZXhlIHNpbGVudCByISBjYXQgLS0gIi5zOkVzY2FwZSh0YXJmaWxlKS4ifGd6aXAgLWQgLWMgLXwiLmc6dGFyX2NtZC4iIC0iLmc6dGFyX2Jyb3dzZW9wdGlvbnMuIiAtICIpCi0gICBleGUgInNpbGVudCByISBjYXQgLS0gIi5zOkVzY2FwZSh0YXJmaWxlKS4ifGd6aXAgLWQgLWMgLXwiLmc6dGFyX2NtZC4iIC0iLmc6dGFyX2Jyb3dzZW9wdGlvbnMuIiAtICIKKyIgICBjYWxsIERlY2hvKCIyOiBleGUgc2lsZW50IHIhIGNhdCAtLSAiLnM6RXNjYXBlKHRhcmZpbGUsMSkuInxnemlwIC1kIC1jIC18Ii5nOnRhcl9jbWQuIiAtIi5nOnRhcl9icm93c2VvcHRpb25zLiIgLSAiKQorICAgZXhlICJzaWxlbnQgciEgY2F0IC0tICIuczpFc2NhcGUodGFyZmlsZSwxKS4ifGd6aXAgLWQgLWMgLXwiLmc6dGFyX2NtZC4iIC0iLmc6dGFyX2Jyb3dzZW9wdGlvbnMuIiAtICIKICAgZWxzZWlmIHRhcmZpbGUgPX4jICdcLmJ6MiQnCi0iICAgY2FsbCBEZWNobygiMzogZXhlIHNpbGVudCByISBiemlwMiAtZCAtYyAiLnM6RXNjYXBlKHRhcmZpbGUpLiIgfCAiLmc6dGFyX2NtZC4iIC0iLmc6dGFyX2Jyb3dzZW9wdGlvbnMuIiAtICIpCi0gICBleGUgInNpbGVudCByISBiemlwMiAtZCAtYyAtLSAiLnM6RXNjYXBlKHRhcmZpbGUpLiIgfCAiLmc6dGFyX2NtZC4iIC0iLmc6dGFyX2Jyb3dzZW9wdGlvbnMuIiAtICIKKyIgICBjYWxsIERlY2hvKCIzOiBleGUgc2lsZW50IHIhIGJ6aXAyIC1kIC1jICIuczpFc2NhcGUodGFyZmlsZSwxKS4iIHwgIi5nOnRhcl9jbWQuIiAtIi5nOnRhcl9icm93c2VvcHRpb25zLiIgLSAiKQorICAgZXhlICJzaWxlbnQgciEgYnppcDIgLWQgLWMgLS0gIi5zOkVzY2FwZSh0YXJmaWxlLDEpLiIgfCAiLmc6dGFyX2NtZC4iIC0iLmc6dGFyX2Jyb3dzZW9wdGlvbnMuIiAtICIKICAgZWxzZQotIiAgIGNhbGwgRGVjaG8oIjQ6IGV4ZSBzaWxlbnQgciEgIi5nOnRhcl9jbWQuIiAtIi5nOnRhcl9icm93c2VvcHRpb25zLiIgIi5zOkVzY2FwZSh0YXJmaWxlKSkKLSAgIGV4ZSAic2lsZW50IHIhICIuZzp0YXJfY21kLiIgLSIuZzp0YXJfYnJvd3Nlb3B0aW9ucy4iICIuczpFc2NhcGUodGFyZmlsZSkKKyIgICBjYWxsIERlY2hvKCI0OiBleGUgc2lsZW50IHIhICIuZzp0YXJfY21kLiIgLSIuZzp0YXJfYnJvd3Nlb3B0aW9ucy4iICIuczpFc2NhcGUodGFyZmlsZSwwKSkKKyAgIGV4ZSAic2lsZW50IHIhICIuZzp0YXJfY21kLiIgLSIuZzp0YXJfYnJvd3Nlb3B0aW9ucy4iICIuczpFc2NhcGUodGFyZmlsZSwxKQogICBlbmRpZgogICBpZiB2OnNoZWxsX2Vycm9yICE9IDAKICAgIHJlZHJhdyEKQEAgLTE2MCw3ICsxNjAsNyBAQAogICAgc2lsZW50ICVkCiAgICBsZXQgZWlrZWVwPSAmZWkKICAgIHNldCBlaT1CdWZSZWFkQ21kLEZpbGVSZWFkQ21kCi0gICBleGUgInIgIi5hOnRhcmZpbGUKKyAgIGV4ZSAiciAiLmZuYW1lZXNjYXBlKGE6dGFyZmlsZSkKICAgIGxldCAmZWk9IGVpa2VlcAogICAgMWQKICIgICBjYWxsIERyZXQoInRhciNCcm93c2UgOiBhOnRhcmZpbGU8Ii5hOnRhcmZpbGUuIj4iKQpAQCAtMTk1LDcgKzE5NSw3IEBACiAgIGxldCBjdXJmaWxlPSBleHBhbmQoIiUiKQogICBpZiBoYXMoIndpbjMyIikgJiYgZXhlY3V0YWJsZSgiY3lncGF0aCIpCiAgICAiIGFzc3VtaW5nIGN5Z3dpbgotICAgbGV0IHRhcmZpbGU9c3Vic3RpdHV0ZShzeXN0ZW0oImN5Z3BhdGggLXUgIi5zOkVzY2FwZSh0YXJmaWxlKSksJ1xuJCcsJycsJ2UnKQorICAgbGV0IHRhcmZpbGU9c3Vic3RpdHV0ZShzeXN0ZW0oImN5Z3BhdGggLXUgIi5zOkVzY2FwZSh0YXJmaWxlLDApKSwnXG4kJywnJywnZScpCiAgIGVuZGlmCiAKICAgbmV3CkBAIC0yMjAsNyArMjIwLDcgQEAKICAgbGV0IGZuYW1lICAgPSBzdWJzdGl0dXRlKGE6Zm5hbWUsJ3RhcmZpbGU6Llx7LX06OlwoLipcKSQnLCdcMScsJycpCiAgIGlmIGhhcygid2luMzIiKSAmJiBleGVjdXRhYmxlKCJjeWdwYXRoIikKICAgICIgYXNzdW1pbmcgY3lnd2luCi0gICBsZXQgdGFyZmlsZT1zdWJzdGl0dXRlKHN5c3RlbSgiY3lncGF0aCAtdSAiLnM6RXNjYXBlKHRhcmZpbGUpKSwnXG4kJywnJywnZScpCisgICBsZXQgdGFyZmlsZT1zdWJzdGl0dXRlKHN5c3RlbSgiY3lncGF0aCAtdSAiLnM6RXNjYXBlKHRhcmZpbGUsMCkpLCdcbiQnLCcnLCdlJykKICAgZW5kaWYKICIgIGNhbGwgRGVjaG8oInRhcmZpbGU8Ii50YXJmaWxlLiI+IikKICIgIGNhbGwgRGVjaG8oImZuYW1lPCIuZm5hbWUuIj4iKQpAQCAtMjQwLDE3ICsyNDAsMTcgQEAKICAgZW5kaWYKIAogICBpZiB0YXJmaWxlID1+IyAnXC5cKGd6XHx0Z3pcKSQnCi0iICAgY2FsbCBEZWNobygiNTogZXhlIHNpbGVudCByISBnemlwIC1kIC1jIC0tICIuczpFc2NhcGUodGFyZmlsZSkuInwgIi5nOnRhcl9jbWQuJyAtJy5nOnRhcl9yZWFkb3B0aW9ucy4nIC0gJy5zOkVzY2FwZShmbmFtZSkpCi0gICBleGUgInNpbGVudCByISBnemlwIC1kIC1jIC0tICIuczpFc2NhcGUodGFyZmlsZSkuInwgIi5nOnRhcl9jbWQuIiAtIi5nOnRhcl9yZWFkb3B0aW9ucy4iIC0gIi5zOkVzY2FwZShmbmFtZSkuZGVjbXAKKyIgICBjYWxsIERlY2hvKCI1OiBleGUgc2lsZW50IHIhIGd6aXAgLWQgLWMgLS0gIi5zOkVzY2FwZSh0YXJmaWxlLDEpLiJ8ICIuZzp0YXJfY21kLicgLScuZzp0YXJfcmVhZG9wdGlvbnMuJyAtICcuczpFc2NhcGUoZm5hbWUsMSkpCisgICBleGUgInNpbGVudCByISBnemlwIC1kIC1jIC0tICIuczpFc2NhcGUodGFyZmlsZSwxKS4ifCAiLmc6dGFyX2NtZC4iIC0iLmc6dGFyX3JlYWRvcHRpb25zLiIgLSAiLnM6RXNjYXBlKGZuYW1lLDEpLmRlY21wCiAgIGVsc2VpZiB0YXJmaWxlID1+IyAnXC5scnAkJwotIiAgIGNhbGwgRGVjaG8oIjY6IGV4ZSBzaWxlbnQgciEgY2F0ICIuczpFc2NhcGUodGFyZmlsZSkuIiB8IGd6aXAgLWQgLWMgLSB8ICIuZzp0YXJfY21kLiIgLSIuZzp0YXJfcmVhZG9wdGlvbnMuIiAtICIuczpFc2NhcGUoZm5hbWUpLmRlY21wKQotICAgZXhlICJzaWxlbnQgciEgY2F0IC0tICIuczpFc2NhcGUodGFyZmlsZSkuIiB8IGd6aXAgLWQgLWMgLSB8ICIuZzp0YXJfY21kLiIgLSIuZzp0YXJfcmVhZG9wdGlvbnMuIiAtICIuczpFc2NhcGUoZm5hbWUpLmRlY21wCisiICAgY2FsbCBEZWNobygiNjogZXhlIHNpbGVudCByISBjYXQgIi5zOkVzY2FwZSh0YXJmaWxlLDEpLiIgfCBnemlwIC1kIC1jIC0gfCAiLmc6dGFyX2NtZC4iIC0iLmc6dGFyX3JlYWRvcHRpb25zLiIgLSAiLnM6RXNjYXBlKGZuYW1lLDEpLmRlY21wKQorICAgZXhlICJzaWxlbnQgciEgY2F0IC0tICIuczpFc2NhcGUodGFyZmlsZSwxKS4iIHwgZ3ppcCAtZCAtYyAtIHwgIi5nOnRhcl9jbWQuIiAtIi5nOnRhcl9yZWFkb3B0aW9ucy4iIC0gIi5zOkVzY2FwZShmbmFtZSwxKS5kZWNtcAogICBlbHNlaWYgdGFyZmlsZSA9fiMgJ1wuYnoyJCcKLSIgICBjYWxsIERlY2hvKCI3OiBleGUgc2lsZW50IHIhIGJ6aXAyIC1kIC1jICIuczpFc2NhcGUodGFyZmlsZSkuInwgIi5nOnRhcl9jbWQuIiAtIi5nOnRhcl9yZWFkb3B0aW9ucy4iIC0gIi5zOkVzY2FwZShmbmFtZSkuZGVjbXApCi0gICBleGUgInNpbGVudCByISBiemlwMiAtZCAtYyAtLSAiLnM6RXNjYXBlKHRhcmZpbGUpLiJ8ICIuZzp0YXJfY21kLiIgLSIuZzp0YXJfcmVhZG9wdGlvbnMuIiAtICIuczpFc2NhcGUoZm5hbWUpLmRlY21wCisiICAgY2FsbCBEZWNobygiNzogZXhlIHNpbGVudCByISBiemlwMiAtZCAtYyAiLnM6RXNjYXBlKHRhcmZpbGUsMSkuInwgIi5nOnRhcl9jbWQuIiAtIi5nOnRhcl9yZWFkb3B0aW9ucy4iIC0gIi5zOkVzY2FwZShmbmFtZSwxKS5kZWNtcCkKKyAgIGV4ZSAic2lsZW50IHIhIGJ6aXAyIC1kIC1jIC0tICIuczpFc2NhcGUodGFyZmlsZSwxKS4ifCAiLmc6dGFyX2NtZC4iIC0iLmc6dGFyX3JlYWRvcHRpb25zLiIgLSAiLnM6RXNjYXBlKGZuYW1lLDEpLmRlY21wCiAgIGVsc2UKLSIgICBjYWxsIERlY2hvKCI4OiBleGUgc2lsZW50IHIhICIuZzp0YXJfY21kLiIgLSIuZzp0YXJfcmVhZG9wdGlvbnMuIiAtLSAiLnM6RXNjYXBlKHRhcmZpbGUpLiIgIi5zOkVzY2FwZShmbmFtZSkpCi0gICBleGUgInNpbGVudCByISAiLmc6dGFyX2NtZC4iIC0iLmc6dGFyX3JlYWRvcHRpb25zLiIgIi5zOkVzY2FwZSh0YXJmaWxlKS4iIC0tICIuczpFc2NhcGUoZm5hbWUpLmRlY21wCisiICAgY2FsbCBEZWNobygiODogZXhlIHNpbGVudCByISAiLmc6dGFyX2NtZC4iIC0iLmc6dGFyX3JlYWRvcHRpb25zLiIgLS0gIi5zOkVzY2FwZSh0YXJmaWxlLDEpLiIgIi5zOkVzY2FwZShmbmFtZSwxKSkKKyAgIGV4ZSAic2lsZW50IHIhICIuZzp0YXJfY21kLiIgLSIuZzp0YXJfcmVhZG9wdGlvbnMuIiAiLnM6RXNjYXBlKHRhcmZpbGUsMSkuIiAtLSAiLnM6RXNjYXBlKGZuYW1lLDEpLmRlY21wCiAgIGVuZGlmCiAKICAgaWYgZG9ybwpAQCAtMjU5LDcgKzI1OSw3IEBACiAgIGVuZGlmCiAKICAgbGV0IHc6dGFyZmlsZT0gYTpmbmFtZQotICBleGUgImZpbGUgdGFyZmlsZTo6Ii5mbmFtZQorICBleGUgImZpbGUgdGFyZmlsZTo6Ii5mbmFtZWVzY2FwZShmbmFtZSkKIAogICAiIGNsZWFudXAKICAgMGQKQEAgLTMyOSwxOCArMzI5LDE4IEBACiAKICAgIiBoYW5kbGUgY29tcHJlc3NlZCBhcmNoaXZlcwogICBpZiB0YXJmaWxlID1+IyAnXC5neicKLSAgIGNhbGwgc3lzdGVtKCJnemlwIC1kIC0tICIudGFyZmlsZSkKKyAgIGNhbGwgc3lzdGVtKCJnemlwIC1kIC0tICIuczpFc2NhcGUodGFyZmlsZSwwKSkKICAgIGxldCB0YXJmaWxlID0gc3Vic3RpdHV0ZSh0YXJmaWxlLCdcLmd6JywnJywnZScpCi0gICBsZXQgY29tcHJlc3M9ICJnemlwICIuczpFc2NhcGUodGFyZmlsZSkKKyAgIGxldCBjb21wcmVzcz0gImd6aXAgIi5zOkVzY2FwZSh0YXJmaWxlLDApCiAgIGVsc2VpZiB0YXJmaWxlID1+IyAnXC50Z3onCi0gICBjYWxsIHN5c3RlbSgiZ3ppcCAtZCAtLSAiLnM6RXNjYXBlKHRhcmZpbGUpKQorICAgY2FsbCBzeXN0ZW0oImd6aXAgLWQgLS0gIi5zOkVzY2FwZSh0YXJmaWxlLDApKQogICAgbGV0IHRhcmZpbGUgPSBzdWJzdGl0dXRlKHRhcmZpbGUsJ1wudGd6JywnLnRhcicsJ2UnKQotICAgbGV0IGNvbXByZXNzPSAiZ3ppcCAtLSAiLnM6RXNjYXBlKHRhcmZpbGUpCisgICBsZXQgY29tcHJlc3M9ICJnemlwIC0tICIuczpFc2NhcGUodGFyZmlsZSwwKQogICAgbGV0IHRneiAgICAgPSAxCiAgIGVsc2VpZiB0YXJmaWxlID1+IyAnXC5iejInCi0gICBjYWxsIHN5c3RlbSgiYnppcDIgLWQgLS0gIi5zOkVzY2FwZSh0YXJmaWxlKSkKKyAgIGNhbGwgc3lzdGVtKCJiemlwMiAtZCAtLSAiLnM6RXNjYXBlKHRhcmZpbGUsMCkpCiAgICBsZXQgdGFyZmlsZSA9IHN1YnN0aXR1dGUodGFyZmlsZSwnXC5iejInLCcnLCdlJykKLSAgIGxldCBjb21wcmVzcz0gImJ6aXAyIC0tICIuczpFc2NhcGUodGFyZmlsZSkKKyAgIGxldCBjb21wcmVzcz0gImJ6aXAyIC0tICIuczpFc2NhcGUodGFyZmlsZSwwKQogICBlbmRpZgogIiAgY2FsbCBEZWNobygidGFyZmlsZTwiLnRhcmZpbGUuIj4iKQogIiAgY2FsbCBEZWNobygiY29tcHJlc3M8Ii5jb21wcmVzcy4iPiIpCkBAIC0zNTYsNyArMzU2LDcgQEAKICAgIGlmIGZuYW1lID1+ICcvJwogICAgIGxldCBkaXJwYXRoID0gc3Vic3RpdHV0ZShmbmFtZSwnL1teL11cKyQnLCcnLCdlJykKICAgICBpZiBleGVjdXRhYmxlKCJjeWdwYXRoIikKLSAgICAgbGV0IGRpcnBhdGggPSBzdWJzdGl0dXRlKHN5c3RlbSgiY3lncGF0aCAiLmRpcnBhdGgpLCdcbicsJycsJ2UnKQorICAgICBsZXQgZGlycGF0aCA9IHN1YnN0aXR1dGUoc3lzdGVtKCJjeWdwYXRoICIuczpFc2NhcGUoZGlycGF0aCwgMCkpLCdcbicsJycsJ2UnKQogICAgIGVuZGlmCiAgICAgY2FsbCBta2RpcihkaXJwYXRoLCJwIikKICAgIGVuZGlmCkBAIC0zNjcsMTIgKzM2NywxMiBAQAogIAogICAgZXhlICJ3ISAiLmZuYW1lZXNjYXBlKGZuYW1lKQogICAgaWYgZXhlY3V0YWJsZSgiY3lncGF0aCIpCi0gICAgbGV0IHRhcmZpbGUgPSBzdWJzdGl0dXRlKHN5c3RlbSgiY3lncGF0aCAiLnM6RXNjYXBlKHRhcmZpbGUpKSwnXG4nLCcnLCdlJykKKyAgICBsZXQgdGFyZmlsZSA9IHN1YnN0aXR1dGUoc3lzdGVtKCJjeWdwYXRoICIuczpFc2NhcGUodGFyZmlsZSwwKSksJ1xuJywnJywnZScpCiAgICBlbmRpZgogIAogICAgIiBkZWxldGUgb2xkIGZpbGUgZnJvbSB0YXJmaWxlCi0iICAgY2FsbCBEZWNobygic3lzdGVtKHRhciAtLWRlbGV0ZSAtZiAiLnM6RXNjYXBlKHRhcmZpbGUpLiIgLS0gIi5zOkVzY2FwZShmbmFtZSkuIikiKQotICAgY2FsbCBzeXN0ZW0oInRhciAtLWRlbGV0ZSAtZiAiLnM6RXNjYXBlKHRhcmZpbGUpLiIgLS0gIi5zOkVzY2FwZShmbmFtZSkpCisiICAgY2FsbCBEZWNobygic3lzdGVtKHRhciAtLWRlbGV0ZSAtZiAiLnM6RXNjYXBlKHRhcmZpbGUsMCkuIiAtLSAiLnM6RXNjYXBlKGZuYW1lLDApLiIpIikKKyAgIGNhbGwgc3lzdGVtKCJ0YXIgLS1kZWxldGUgLWYgIi5zOkVzY2FwZSh0YXJmaWxlLDApLiIgLS0gIi5zOkVzY2FwZShmbmFtZSwwKSkKICAgIGlmIHY6c2hlbGxfZXJyb3IgIT0gMAogICAgIHJlZHJhdyEKICAgICBlY2hvaGwgRXJyb3IgfCBlY2hvICIqKiplcnJvcioqKiAodGFyI1dyaXRlKSBzb3JyeSwgdW5hYmxlIHRvIHVwZGF0ZSAiLmZuYW1lZXNjYXBlKHRhcmZpbGUpLiIgd2l0aCAiLmZuYW1lZXNjYXBlKGZuYW1lKSB8IGVjaG9obCBOb25lCkBAIC0zODAsOCArMzgwLDggQEAKICAgIGVsc2UKICAKICAgICAiIHVwZGF0ZSB0YXJmaWxlIHdpdGggbmV3IGZpbGUgCi0iICAgIGNhbGwgRGVjaG8oInRhciAtIi5nOnRhcl93cml0ZW9wdGlvbnMuIiAiLnM6RXNjYXBlKHRhcmZpbGUpLiIgLS0gIi5zOkVzY2FwZShmbmFtZSkpCi0gICAgY2FsbCBzeXN0ZW0oInRhciAtIi5nOnRhcl93cml0ZW9wdGlvbnMuIiAiLnM6RXNjYXBlKHRhcmZpbGUpLiIgLS0gIi5zOkVzY2FwZShmbmFtZSkpCisiICAgIGNhbGwgRGVjaG8oInRhciAtIi5nOnRhcl93cml0ZW9wdGlvbnMuIiAiLnM6RXNjYXBlKHRhcmZpbGUsMCkuIiAtLSAiLnM6RXNjYXBlKGZuYW1lLDApKQorICAgIGNhbGwgc3lzdGVtKCJ0YXIgLSIuZzp0YXJfd3JpdGVvcHRpb25zLiIgIi5zOkVzY2FwZSh0YXJmaWxlLDApLiIgLS0gIi5zOkVzY2FwZShmbmFtZSwwKSkKICAgICBpZiB2OnNoZWxsX2Vycm9yICE9IDAKICAgICAgcmVkcmF3IQogICAgICBlY2hvaGwgRXJyb3IgfCBlY2hvICIqKiplcnJvcioqKiAodGFyI1dyaXRlKSBzb3JyeSwgdW5hYmxlIHRvIHVwZGF0ZSAiLmZuYW1lZXNjYXBlKHRhcmZpbGUpLiIgd2l0aCAiLmZuYW1lZXNjYXBlKGZuYW1lKSB8IGVjaG9obCBOb25lCkBAIC00MDQsNyArNDA0LDcgQEAKICAgICBsZXQgYmlua2VlcD0gJmJpbmFyeQogICAgIGxldCBlaWtlZXAgPSAmZWkKICAgICBzZXQgYmluYXJ5IGVpPWFsbAotICAgIGV4ZSAiZSEgIi50YXJmaWxlCisgICAgZXhlICJlISAiLmZuYW1lZXNjYXBlKHRhcmZpbGUpCiAgICAgY2FsbCBuZXRydyNOZXRXcml0ZSh0YmxmaWxlKQogICAgIGxldCAmZWkgICAgID0gZWlrZWVwCiAgICAgbGV0ICZiaW5hcnkgPSBiaW5rZWVwCkBAIC00MTYsNyArNDE2LDcgQEAKICAgIiBjbGVhbnVwIGFuZCByZXN0b3JlIGN1cnJlbnQgZGlyZWN0b3J5CiAgIGNkIC4uCiAgIGNhbGwgczpSbWRpcigiX1pJUFZJTV8iKQotICBleGUgImNkICIuZXNjYXBlKGN1cmRpciwnIFwnKQorICBleGUgImNkICIuZm5hbWVlc2NhcGUoY3VyZGlyKQogICBzZXRsb2NhbCBub21vZAogCiAgIGxldCAmcmVwb3J0PSByZXBrZWVwCkBAIC00MjgsMTIgKzQyOCwxMiBAQAogZnVuISBzOlJtZGlyKGZuYW1lKQogIiAgY2FsbCBEZnVuYygiUm1kaXIoZm5hbWU8Ii5hOmZuYW1lLiI+KSIpCiAgIGlmIGhhcygidW5peCIpCi0gICBjYWxsIHN5c3RlbSgiL2Jpbi9ybSAtcmYgLS0gIi5zOkVzY2FwZShhOmZuYW1lKSkKKyAgIGNhbGwgc3lzdGVtKCIvYmluL3JtIC1yZiAtLSAiLnM6RXNjYXBlKGE6Zm5hbWUsMCkpCiAgIGVsc2VpZiBoYXMoIndpbjMyIikgfHwgaGFzKCJ3aW45NSIpIHx8IGhhcygid2luNjQiKSB8fCBoYXMoIndpbjE2IikKICAgIGlmICZzaGVsbCA9fj8gInNoJCIKLSAgICBjYWxsIHN5c3RlbSgiL2Jpbi9ybSAtcmYgLS0gIi5zOkVzY2FwZShhOmZuYW1lKSkKKyAgICBjYWxsIHN5c3RlbSgiL2Jpbi9ybSAtcmYgLS0gIi5zOkVzY2FwZShhOmZuYW1lLDApKQogICAgZWxzZQotICAgIGNhbGwgc3lzdGVtKCJkZWwgL1MgIi5zOkVzY2FwZShhOmZuYW1lKSkKKyAgICBjYWxsIHN5c3RlbSgiZGVsIC9TICIuczpFc2NhcGUoYTpmbmFtZSwwKSkKICAgIGVuZGlmCiAgIGVuZGlmCiAiICBjYWxsIERyZXQoIlJtZGlyIikKQEAgLTQ0MSwxMCArNDQxLDE0IEBACiAKICIgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAiIHM6RXNjYXBlOiB7e3syCi1mdW4gczpFc2NhcGUobmFtZSkKK2Z1biBzOkVzY2FwZShuYW1lLGlzZmlsdCkKICAgIiBzaGVsbGVzY2FwZSgpIHdhcyBhZGRlZCBieSBwYXRjaCA3LjAuMTExCiAgIGlmIGV4aXN0cygiKnNoZWxsZXNjYXBlIikKLSAgIGxldCBxbmFtZXE9IHNoZWxsZXNjYXBlKGE6bmFtZSkKKyAgIGlmIGE6aXNmaWx0CisgICAgbGV0IHFuYW1lcT0gc2hlbGxlc2NhcGUoYTpuYW1lLDEpCisgICBlbHNlCisgICAgbGV0IHFuYW1lcT0gc2hlbGxlc2NhcGUoYTpuYW1lKQorICAgZW5kaWYKICAgZWxzZQogICAgbGV0IHFuYW1lcT0gZzp0YXJfc2hxIC4gYTpuYW1lIC4gZzp0YXJfc2hxCiAgIGVuZGlmCmRpZmYgLS1naXQgYS9ydW50aW1lL2F1dG9sb2FkL3ppcC52aW0gYi9ydW50aW1lL2F1dG9sb2FkL3ppcC52aW0KaW5kZXggNTg0Mjc0MS4uYjM1YTQxMSAxMDA2NDQKLS0tIGEvcnVudGltZS9hdXRvbG9hZC96aXAudmltCisrKyBiL3J1bnRpbWUvYXV0b2xvYWQvemlwLnZpbQpAQCAtMSw3ICsxLDcgQEAKICIgemlwLnZpbTogSGFuZGxlcyBicm93c2luZyB6aXBmaWxlcwogIiAgICAgICAgICAgIEFVVE9MT0FEIFBPUlRJT04KLSIgRGF0ZToJCUp1biAxMiwgMjAwOAotIiBWZXJzaW9uOgkxOAorIiBEYXRlOgkJSnVsIDEyLCAyMDA4CisiIFZlcnNpb246CTIxIChtb2RpZmllZCBieSBCcmFtKQogIiBNYWludGFpbmVyOglDaGFybGVzIEUgQ2FtcGJlbGwsIEpyIDxOZHJPY2hpcEBTY2FtcGJlbGxQZmFtaWx5LkFiaXpNLU5PU1BBTT4KICIgTGljZW5zZToJVmltIExpY2Vuc2UgIChzZWUgdmltJ3MgOmhlbHAgbGljZW5zZSkKICIgQ29weXJpZ2h0OiAgICBDb3B5cmlnaHQgKEMpIDIwMDUtMjAwOCBDaGFybGVzIEUuIENhbXBiZWxsLCBKci4ge3t7MQpAQCAtMjIsNyArMjIsNyBAQAogIGZpbmlzaAogZW5kaWYKIAotbGV0IGc6bG9hZGVkX3ppcCAgICAgPSAidjE4IgorbGV0IGc6bG9hZGVkX3ppcCAgICAgPSAidjIxK2IiCiBsZXQgczp6aXBmaWxlX2VzY2FwZSA9ICcgPyY7XCcKIGxldCBzOkVSUk9SICAgICAgICAgID0gMgogbGV0IHM6V0FSTklORyAgICAgICAgPSAxCkBAIC05MSwyMyArOTEsMjQgQEAKICAgc2V0IGZ0PXRhcgogCiAgICIgZ2l2ZSBoZWFkZXIKLSAgZXhlICIkcHV0ID0nIi4nXCInLiIgemlwLnZpbSB2ZXJzaW9uICIuZzpsb2FkZWRfemlwLiInIgotICBleGUgIiRwdXQgPSciLidcIicuIiBCcm93c2luZyB6aXBmaWxlICIuYTp6aXBmaWxlLiInIgotICBleGUgIiRwdXQgPSciLidcIicuIiBTZWxlY3QgYSBmaWxlIHdpdGggY3Vyc29yIGFuZCBwcmVzcyBFTlRFUiIuIiciCisgIGxldCBsYXN0bGluZT0gbGluZSgiJCIpCisgIGNhbGwgc2V0bGluZShsYXN0bGluZSsxLCciIHppcC52aW0gdmVyc2lvbiAnLmc6bG9hZGVkX3ppcCkKKyAgY2FsbCBzZXRsaW5lKGxhc3RsaW5lKzIsJyIgQnJvd3NpbmcgemlwZmlsZSAnLmE6emlwZmlsZSkKKyAgY2FsbCBzZXRsaW5lKGxhc3RsaW5lKzMsJyIgU2VsZWN0IGEgZmlsZSB3aXRoIGN1cnNvciBhbmQgcHJlc3MgRU5URVInKQogICAkcHV0ID0nJwogICAwZAogICAkCiAKLSIgIGNhbGwgRGVjaG8oImV4ZSBzaWxlbnQgciEgIi5nOnppcF91bnppcGNtZC4iIC1sICIuczpRdW90ZUZpbGVEaXIoYTp6aXBmaWxlKSkKLSAgZXhlICJzaWxlbnQgciEgIi5nOnppcF91bnppcGNtZC4iIC1sICIuczpRdW90ZUZpbGVEaXIoYTp6aXBmaWxlKQorIiAgY2FsbCBEZWNobygiZXhlIHNpbGVudCByISAiLmc6emlwX3VuemlwY21kLiIgLWwgIi5zOkVzY2FwZShhOnppcGZpbGUsMSkpCisgIGV4ZSAic2lsZW50IHIhICIuZzp6aXBfdW56aXBjbWQuIiAtbCAiLnM6RXNjYXBlKGE6emlwZmlsZSwxKQogICBpZiB2OnNoZWxsX2Vycm9yICE9IDAKICAgIHJlZHJhdyEKLSAgIGVjaG9obCBXYXJuaW5nTXNnIHwgZWNobyAiKioqd2FybmluZyoqKiAoemlwI0Jyb3dzZSkgIi5hOnppcGZpbGUuIiBpcyBub3QgYSB6aXAgZmlsZSIgfCBlY2hvaGwgTm9uZQorICAgZWNob2hsIFdhcm5pbmdNc2cgfCBlY2hvICIqKip3YXJuaW5nKioqICh6aXAjQnJvd3NlKSAiLmZuYW1lZXNjYXBlKGE6emlwZmlsZSkuIiBpcyBub3QgYSB6aXAgZmlsZSIgfCBlY2hvaGwgTm9uZQogIiAgIGNhbGwgaW5wdXRzYXZlKCl8Y2FsbCBpbnB1dCgiUHJlc3MgPGNyPiB0byBjb250aW51ZSIpfGNhbGwgaW5wdXRyZXN0b3JlKCkKICAgIHNpbGVudCAlZAogICAgbGV0IGVpa2VlcD0gJmVpCiAgICBzZXQgZWk9QnVmUmVhZENtZCxGaWxlUmVhZENtZAotICAgZXhlICJyICIuYTp6aXBmaWxlCisgICBleGUgInIgIi5mbmFtZWVzY2FwZShhOnppcGZpbGUpCiAgICBsZXQgJmVpPSBlaWtlZXAKICAgIDFkCiAiICAgY2FsbCBEcmV0KCJ6aXAjQnJvd3NlIikKQEAgLTE2Niw4ICsxNjcsOCBAQAogICAgd2luY21kIF8KICAgZW5kaWYKICAgbGV0IHM6emlwZmlsZV97d2lubnIoKX09IGN1cmZpbGUKLSIgIGNhbGwgRGVjaG8oImV4ZSBlIHppcGZpbGU6Ii5lc2NhcGUoemlwZmlsZSxzOnppcGZpbGVfZXNjYXBlKS4nOjonLmVzY2FwZShmbmFtZSxzOnppcGZpbGVfZXNjYXBlKSkKLSAgZXhlICJlIHppcGZpbGU6Ii5lc2NhcGUoemlwZmlsZSxzOnppcGZpbGVfZXNjYXBlKS4nOjonLmVzY2FwZShmbmFtZSxzOnppcGZpbGVfZXNjYXBlKQorIiAgY2FsbCBEZWNobygiZXhlIGUgIi5mbmFtZWVzY2FwZSgiemlwZmlsZToiLnppcGZpbGUuJzo6Jy5mbmFtZSkpCisgIGV4ZSAiZSAiLmZuYW1lZXNjYXBlKCJ6aXBmaWxlOiIuemlwZmlsZS4nOjonLmZuYW1lKQogICBmaWxldHlwZSBkZXRlY3QKIAogICBsZXQgJnJlcG9ydD0gcmVwa2VlcApAQCAtMTkyLDggKzE5Myw4IEBACiAiICBjYWxsIERlY2hvKCJ6aXBmaWxlPCIuemlwZmlsZS4iPiIpCiAiICBjYWxsIERlY2hvKCJmbmFtZSAgPCIuZm5hbWUuIj4iKQogCi0iICBjYWxsIERlY2hvKCJleGUgciEgIi5nOnppcF91bnppcGNtZC4iIC1wICIuczpRdW90ZUZpbGVEaXIoemlwZmlsZSkuIiAiLnM6UXVvdGVGaWxlRGlyKGZuYW1lKSkKLSAgZXhlICJzaWxlbnQgciEgIi5nOnppcF91bnppcGNtZC4iIC1wICIuczpRdW90ZUZpbGVEaXIoemlwZmlsZSkuIiAiLnM6UXVvdGVGaWxlRGlyKGZuYW1lKQorIiAgY2FsbCBEZWNobygiZXhlIHIhICIuZzp6aXBfdW56aXBjbWQuIiAtcCAiLnM6RXNjYXBlKHppcGZpbGUsMSkuIiAiLnM6RXNjYXBlKGZuYW1lLDEpKQorICBleGUgInNpbGVudCByISAiLmc6emlwX3VuemlwY21kLiIgLXAgIi5zOkVzY2FwZSh6aXBmaWxlLDEpLiIgIi5zOkVzY2FwZShmbmFtZSwxKQogCiAgICIgY2xlYW51cAogICAwZApAQCAtMjY2LDcgKzI2Nyw3IEBACiAgIGlmIGZuYW1lID1+ICcvJwogICAgbGV0IGRpcnBhdGggPSBzdWJzdGl0dXRlKGZuYW1lLCcvW14vXVwrJCcsJycsJ2UnKQogICAgaWYgZXhlY3V0YWJsZSgiY3lncGF0aCIpCi0gICAgbGV0IGRpcnBhdGggPSBzdWJzdGl0dXRlKHN5c3RlbSgiY3lncGF0aCAiLmRpcnBhdGgpLCdcbicsJycsJ2UnKQorICAgIGxldCBkaXJwYXRoID0gc3Vic3RpdHV0ZShzeXN0ZW0oImN5Z3BhdGggIi5zOkVzY2FwZShkaXJwYXRoLDApKSwnXG4nLCcnLCdlJykKICAgIGVuZGlmCiAiICAgY2FsbCBEZWNobygibWtkaXIoZGlycGF0aDwiLmRpcnBhdGguIj4scCkiKQogICAgY2FsbCBta2RpcihkaXJwYXRoLCJwIikKQEAgLTI3NiwxNyArMjc3LDE3IEBACiAgIGVuZGlmCiAiICBjYWxsIERlY2hvKCJ6aXBmaWxlPCIuemlwZmlsZS4iPiBmbmFtZTwiLmZuYW1lLiI+IikKIAotICBleGUgInchICIuZXNjYXBlKGZuYW1lLHM6emlwZmlsZV9lc2NhcGUpCisgIGV4ZSAidyEgIi5mbmFtZWVzY2FwZShmbmFtZSkKICAgaWYgZXhlY3V0YWJsZSgiY3lncGF0aCIpCi0gICBsZXQgemlwZmlsZSA9IHN1YnN0aXR1dGUoc3lzdGVtKCJjeWdwYXRoICIuemlwZmlsZSksJ1xuJywnJywnZScpCisgICBsZXQgemlwZmlsZSA9IHN1YnN0aXR1dGUoc3lzdGVtKCJjeWdwYXRoICIuczpFc2NhcGUoemlwZmlsZSwwKSksJ1xuJywnJywnZScpCiAgIGVuZGlmCiAKICAgaWYgKGhhcygid2luMzIiKSB8fCBoYXMoIndpbjk1IikgfHwgaGFzKCJ3aW42NCIpIHx8IGhhcygid2luMTYiKSkgJiYgJnNoZWxsICF+PyAnc2gkJwogICAgIGxldCBmbmFtZSA9IHN1YnN0aXR1dGUoZm5hbWUsICdbJywgJ1tbXScsICdnJykKICAgZW5kaWYKIAotIiAgY2FsbCBEZWNobyhnOnppcF96aXBjbWQuIiAtdSAiLnM6UXVvdGVGaWxlRGlyKHppcGZpbGUpLiIgIi5zOlF1b3RlRmlsZURpcihmbmFtZSkpCi0gIGNhbGwgc3lzdGVtKGc6emlwX3ppcGNtZC4iIC11ICIuczpRdW90ZUZpbGVEaXIoemlwZmlsZSkuIiAiLnM6UXVvdGVGaWxlRGlyKGZuYW1lKSkKKyIgIGNhbGwgRGVjaG8oZzp6aXBfemlwY21kLiIgLXUgIi5zOkVzY2FwZSh6aXBmaWxlLDApLiIgIi5zOkVzY2FwZShmbmFtZSwwKSkKKyAgY2FsbCBzeXN0ZW0oZzp6aXBfemlwY21kLiIgLXUgIi5zOkVzY2FwZSh6aXBmaWxlLDApLiIgIi5zOkVzY2FwZShmbmFtZSwwKSkKICAgaWYgdjpzaGVsbF9lcnJvciAhPSAwCiAgICByZWRyYXchCiAgICBlY2hvaGwgRXJyb3IgfCBlY2hvICIqKiplcnJvcioqKiAoemlwI1dyaXRlKSBzb3JyeSwgdW5hYmxlIHRvIHVwZGF0ZSAiLnppcGZpbGUuIiB3aXRoICIuZm5hbWUgfCBlY2hvaGwgTm9uZQpAQCAtMzAwLDcgKzMwMSw3IEBACiAgICBsZXQgYmlua2VlcD0gJmJpbmFyeQogICAgbGV0IGVpa2VlcCA9ICZlaQogICAgc2V0IGJpbmFyeSBlaT1hbGwKLSAgIGV4ZSAiZSEgIi56aXBmaWxlCisgICBleGUgImUhICIuZm5hbWVlc2NhcGUoemlwZmlsZSkKICAgIGNhbGwgbmV0cncjTmV0V3JpdGUobmV0emlwZmlsZSkKICAgIGxldCAmZWkgICAgID0gZWlrZWVwCiAgICBsZXQgJmJpbmFyeSA9IGJpbmtlZXAKQEAgLTMyMCwxMSArMzIxLDE1IEBACiBlbmRmdW4KIAogIiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSIgUXVvdGVGaWxlRGlyOiB7e3syCi1mdW4hIHM6UXVvdGVGaWxlRGlyKGZuYW1lKQotIiAgY2FsbCBEZnVuYygiUXVvdGVGaWxlRGlyKGZuYW1lPCIuYTpmbmFtZS4iPikiKQotICBpZiBoYXMoIipzaGVsbGVzY2FwZSIpCi0gICBsZXQgcW5hbWVxPSBzaGVsbGVzY2FwZShhOmZuYW1lKQorIiBzOkVzY2FwZToge3t7MgorZnVuISBzOkVzY2FwZShmbmFtZSxpc2ZpbHQpCisiICBjYWxsIERmdW5jKCJRdW90ZUZpbGVEaXIoZm5hbWU8Ii5hOmZuYW1lLiI+IGlzZmlsdD0iLmE6aXNmaWx0LiIpIikKKyAgaWYgZXhpc3RzKCIqc2hlbGxlc2NhcGUiKQorICAgaWYgYTppc2ZpbHQKKyAgICBsZXQgcW5hbWVxPSBzaGVsbGVzY2FwZShhOmZuYW1lLDEpCisgICBlbHNlCisgICAgbGV0IHFuYW1lcT0gc2hlbGxlc2NhcGUoYTpmbmFtZSkKKyAgIGVuZGlmCiAgIGVsc2UKICAgIGxldCBxbmFtZXE9IGc6emlwX3NocS5lc2NhcGUoYTpmbmFtZSxnOnppcF9zaHEpLmc6emlwX3NocQogICBlbmRpZgpAQCAtMzM3LDE0ICszNDIsOSBAQAogZnVuISBzOkNoZ0RpcihuZXdkaXIsZXJybHZsLGVycm1zZykKICIgIGNhbGwgRGZ1bmMoIkNoZ0RpcihuZXdkaXI8Ii5hOm5ld2Rpci4iPiBlcnJsdmw9Ii5hOmVycmx2bC4iICBlcnJtc2c8Ii5hOmVycm1zZy4iPikiKQogCi0gIGlmIChoYXMoIndpbjMyIikgfHwgaGFzKCJ3aW45NSIpIHx8IGhhcygid2luNjQiKSB8fCBoYXMoIndpbjE2IikpICYmICZzaGVsbCAhfj8gJ3NoJCcKLSAgIGxldCBuZXdkaXI9IGVzY2FwZShhOm5ld2RpciwnICcpCi0gIGVsc2UKLSAgIGxldCBuZXdkaXI9IGVzY2FwZShhOm5ld2RpciwnXCAnKQotICBlbmRpZgogCiAgIHRyeQotICAgZXhlICJjZCAiLm5ld2RpcgorICAgZXhlICJjZCAiLmZuYW1lZXNjYXBlKG5ld2RpcikKICAgY2F0Y2ggL15WaW1cJSgoXGFcKylcKVw9OkUzNDQvCiAgICByZWRyYXchCiAgICBpZiBhOmVycmx2bCA9PSBzOk5PVEUKQEAgLTM2NCwxMyArMzY0LDEzIEBACiBlbmRmdW4KIAogIiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSIgUm1kaXI6IHt7ezIKKyIgczpSbWRpcjoge3t7MgogZnVuISBzOlJtZGlyKGZuYW1lKQogIiAgY2FsbCBEZnVuYygiUm1kaXIoZm5hbWU8Ii5hOmZuYW1lLiI+KSIpCiAgIGlmIChoYXMoIndpbjMyIikgfHwgaGFzKCJ3aW45NSIpIHx8IGhhcygid2luNjQiKSB8fCBoYXMoIndpbjE2IikpICYmICZzaGVsbCAhfj8gJ3NoJCcKLSAgIGNhbGwgc3lzdGVtKCJybWRpciAvUy9RICIuczpRdW90ZUZpbGVEaXIoYTpmbmFtZSkpCisgICBjYWxsIHN5c3RlbSgicm1kaXIgL1MvUSAiLnM6RXNjYXBlKGE6Zm5hbWUsMCkpCiAgIGVsc2UKLSAgIGNhbGwgc3lzdGVtKCIvYmluL3JtIC1yZiAiLnM6UXVvdGVGaWxlRGlyKGE6Zm5hbWUpKQorICAgY2FsbCBzeXN0ZW0oIi9iaW4vcm0gLXJmICIuczpFc2NhcGUoYTpmbmFtZSwwKSkKICAgZW5kaWYKICIgIGNhbGwgRHJldCgiUm1kaXIiKQogZW5kZnVuCmRpZmYgLS1naXQgYS9ydW50aW1lL2NvbXBpbGVyL2RlY2FkYS52aW0gYi9ydW50aW1lL2NvbXBpbGVyL2RlY2FkYS52aW0KaW5kZXggMWIwOWQzOS4uNGM3NzdmZSAxMDA2NDQKLS0tIGEvcnVudGltZS9jb21waWxlci9kZWNhZGEudmltCisrKyBiL3J1bnRpbWUvY29tcGlsZXIvZGVjYWRhLnZpbQpAQCAtMywxNCArMywxNSBAQAogIiAgICAgTGFuZ3VhZ2U6IEFkYSAoRGVjIEFkYSkKICIgICAgICAgICAgJElkJAogIiAgICBDb3B5cmlnaHQ6IENvcHlyaWdodCAoQykgMjAwNiBNYXJ0aW4gS3Jpc2NoaWsKLSIgICBNYWludGFpbmVyOglNYXJ0aW4gS3Jpc2NoaWsKKyIgICBNYWludGFpbmVyOglNYXJ0aW4gS3Jpc2NoaWsgPGtyaXNjaGlrQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KICIgICAgICAkQXV0aG9yJAogIiAgICAgICAgJERhdGUkCi0iICAgICAgVmVyc2lvbjogNC4yCisiICAgICAgVmVyc2lvbjogNC42CiAiICAgICRSZXZpc2lvbiQKLSIgICAgICRIZWFkVVJMOiBodHRwczovL3N2bi5zb3VyY2Vmb3JnZS5uZXQvc3Zucm9vdC9nbnVhZGEvdHJ1bmsvdG9vbHMvdmltL2NvbXBpbGVyL2RlY2FkYS52aW0gJAorIiAgICAgJEhlYWRVUkw6IGh0dHBzOi8vZ251YWRhLnN2bi5zb3VyY2Vmb3JnZS5uZXQvc3Zucm9vdC9nbnVhZGEvdHJ1bmsvdG9vbHMvdmltL2NvbXBpbGVyL2RlY2FkYS52aW0gJAogIiAgICAgIEhpc3Rvcnk6IDIxLjA3LjIwMDYgTUsgTmV3IERlYyBBZGEKICIgICAgICAgICAgICAgICAxNS4xMC4yMDA2IE1LIEJyYW0ncyBzdWdnZXN0aW9uIGZvciBydW50aW1lIGludGVncmF0aW9uCisiICAgICAgICAgICAgICAgMDguMDkuMjAwNiBNSyBDb3JyZWN0IGRvdWJsZSBsb2FkIHByb3RlY3Rpb24uCiAiICAgIEhlbHAgUGFnZTogY29tcGlsZXItZGVjYWRhCiAiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAKQEAgLTI0LDYgKzI1LDEzIEBACiAKIGlmICFleGlzdHMoImc6ZGVjYWRhIikKICAgIGxldCBnOmRlY2FkYSA9IGRlY2FkYSNOZXcgKCkKKworICAgY2FsbCBhZGEjTWFwX01lbnUgKAorICAgICBcJ0RlYyBBZGEuQnVpbGQnLAorICAgICBcJzxGNz4nLAorICAgICBcJ2NhbGwgZGVjYWRhLk1ha2UgKCknKQorCisgICBjYWxsIGc6ZGVjYWRhLlNldF9TZXNzaW9uICgpCiBlbmRpZgogCiBpZiBleGlzdHMoIjpDb21waWxlclNldCIpICE9IDIKQEAgLTMzLDE2ICs0MSw5IEBACiAgICBjb21tYW5kIC1uYXJncz0qIENvbXBpbGVyU2V0IHNldGxvY2FsIDxhcmdzPgogZW5kaWYKIAotY2FsbCBnOmRlY2FkYS5TZXRfU2Vzc2lvbiAoKQotCiBleGVjdXRlICJDb21waWxlclNldCBtYWtlcHJnPSIgICAgIC4gZXNjYXBlIChnOmRlY2FkYS5NYWtlX0NvbW1hbmQsICcgJykKIGV4ZWN1dGUgIkNvbXBpbGVyU2V0IGVycm9yZm9ybWF0PSIgLiBlc2NhcGUgKGc6ZGVjYWRhLkVycm9yX0Zvcm1hdCwgJyAnKQogCi1jYWxsIGFkYSNNYXBfTWVudSAoCi0gIFwnRGVjIEFkYS5CdWlsZCcsCi0gIFwnPEY3PicsCi0gIFwnY2FsbCBkZWNhZGEuTWFrZSAoKScpCi0KIGZpbmlzaCAiIDF9fX0KIAogIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpkaWZmIC0tZ2l0IGEvcnVudGltZS9jb21waWxlci9lcnVieS52aW0gYi9ydW50aW1lL2NvbXBpbGVyL2VydWJ5LnZpbQppbmRleCBmMzBmY2MzLi40NDE5NGY1IDEwMDY0NAotLS0gYS9ydW50aW1lL2NvbXBpbGVyL2VydWJ5LnZpbQorKysgYi9ydW50aW1lL2NvbXBpbGVyL2VydWJ5LnZpbQpAQCAtMzgsNCArMzgsNCBAQAogbGV0ICZjcG8gPSBzOmNwb19zYXZlCiB1bmxldCBzOmNwb19zYXZlCiAKLSIgdmltOiBub3dyYXAgc3c9MiBzdHM9MjoKKyIgdmltOiBub3dyYXAgc3c9MiBzdHM9MiB0cz04OgpkaWZmIC0tZ2l0IGEvcnVudGltZS9jb21waWxlci9nbmF0LnZpbSBiL3J1bnRpbWUvY29tcGlsZXIvZ25hdC52aW0KaW5kZXggNThlOWNlOC4uYWQxNjk3YSAxMDA2NDQKLS0tIGEvcnVudGltZS9jb21waWxlci9nbmF0LnZpbQorKysgYi9ydW50aW1lL2NvbXBpbGVyL2duYXQudmltCkBAIC0zLDE1ICszLDE3IEBACiAiICAgICBMYW5ndWFnZTogQWRhIChHTkFUKQogIiAgICAgICAgICAkSWQkCiAiICAgIENvcHlyaWdodDogQ29weXJpZ2h0IChDKSAyMDA2IE1hcnRpbiBLcmlzY2hpawotIiAgIE1haW50YWluZXI6CU1hcnRpbiBLcmlzY2hpaworIiAgIE1haW50YWluZXI6CU1hcnRpbiBLcmlzY2hpIDxrcmlzY2hpa0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+aworIgkJTmVkIE9raWUgPG5va2llQHJhZGZvcmQuZWR1PgogIiAgICAgICRBdXRob3IkCiAiICAgICAgICAkRGF0ZSQKLSIgICAgICBWZXJzaW9uOiA0LjIKKyIgICAgICBWZXJzaW9uOiA0LjYKICIgICAgJFJldmlzaW9uJAotIiAgICAgJEhlYWRVUkw6IGh0dHBzOi8vc3ZuLnNvdXJjZWZvcmdlLm5ldC9zdm5yb290L2dudWFkYS90cnVuay90b29scy92aW0vY29tcGlsZXIvZ25hdC52aW0gJAorIiAgICAgJEhlYWRVUkw6IGh0dHBzOi8vZ251YWRhLnN2bi5zb3VyY2Vmb3JnZS5uZXQvc3Zucm9vdC9nbnVhZGEvdHJ1bmsvdG9vbHMvdmltL2NvbXBpbGVyL2duYXQudmltICQKICIgICAgICBIaXN0b3J5OiAyNC4wNS4yMDA2IE1LIFVuaWZpZWQgSGVhZGVycwogIgkJMTYuMDcuMjAwNiBNSyBBZGEtTW9kZSBhcyB2aW0tYmFsbAogIiAgICAgICAgICAgICAgIDE1LjEwLjIwMDYgTUsgQnJhbSdzIHN1Z2dlc3Rpb24gZm9yIHJ1bnRpbWUgaW50ZWdyYXRpb24KKyIJCTE5LjA5LjIwMDcgTk8gdXNlIHByb2plY3QgZmlsZSBvbmx5IHdoZW4gdGhlcmUgaXMgYSBwcm9qZWN0CiAiICAgIEhlbHAgUGFnZTogY29tcGlsZXItZ25hdAogIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogCkBAIC00Niw2ICs0OCw4IEBACiAgICAgICBcICdHTkFULlNldCBQcm9qZWN0ZmlsZVwuXC5cLicsCiAgICAgICBcICc6U2V0UHJvamVjdCcsCiAgICAgICBcICdjYWxsIGduYXQuU2V0X1Byb2plY3RfRmlsZSAoKScpCisKKyAgIGNhbGwgZzpnbmF0LlNldF9TZXNzaW9uICgpCiBlbmRpZgogCiBpZiBleGlzdHMoIjpDb21waWxlclNldCIpICE9IDIKQEAgLTU1LDggKzU5LDYgQEAKICAgIGNvbW1hbmQgLW5hcmdzPSogQ29tcGlsZXJTZXQgc2V0bG9jYWwgPGFyZ3M+CiBlbmRpZgogCi1jYWxsIGc6Z25hdC5TZXRfU2Vzc2lvbiAoKQotCiBleGVjdXRlICJDb21waWxlclNldCBtYWtlcHJnPSIgICAgIC4gZXNjYXBlIChnOmduYXQuR2V0X0NvbW1hbmQoJ01ha2UnKSwgJyAnKQogZXhlY3V0ZSAiQ29tcGlsZXJTZXQgZXJyb3Jmb3JtYXQ9IiAuIGVzY2FwZSAoZzpnbmF0LkVycm9yX0Zvcm1hdCwgJyAnKQogCmRpZmYgLS1naXQgYS9ydW50aW1lL2NvbXBpbGVyL3JzcGVjLnZpbSBiL3J1bnRpbWUvY29tcGlsZXIvcnNwZWMudmltCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE5YzQxMGYKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL2NvbXBpbGVyL3JzcGVjLnZpbQpAQCAtMCwwICsxLDQxIEBACisiIFZpbSBjb21waWxlciBmaWxlCisiIExhbmd1YWdlOgkJUlNwZWMKKyIgTWFpbnRhaW5lcjoJCVRpbSBQb3BlIDx2aW1OT1NQQU1AdHBvcGUuaW5mbz4KKyIgSW5mbzoJCQkkSWQkCisiIFVSTDoJCQlodHRwOi8vdmltLXJ1YnkucnVieWZvcmdlLm9yZworIiBBbm9uIENWUzoJCVNlZSBhYm92ZSBzaXRlCisiIFJlbGVhc2UgQ29vcmRpbmF0b3I6CURvdWcgS2Vhcm5zIDxkb3Vna2Vhcm5zQGdtYWlsLmNvbT4KKworaWYgZXhpc3RzKCJjdXJyZW50X2NvbXBpbGVyIikKKyAgZmluaXNoCitlbmRpZgorbGV0IGN1cnJlbnRfY29tcGlsZXIgPSAicnNwZWMiCisKK2lmIGV4aXN0cygiOkNvbXBpbGVyU2V0IikgIT0gMgkJIiBvbGRlciBWaW0gYWx3YXlzIHVzZWQgOnNldGxvY2FsCisgIGNvbW1hbmQgLW5hcmdzPSogQ29tcGlsZXJTZXQgc2V0bG9jYWwgPGFyZ3M+CitlbmRpZgorCitsZXQgczpjcG9fc2F2ZSA9ICZjcG8KK3NldCBjcG8tPUMKKworQ29tcGlsZXJTZXQgbWFrZXByZz1zcGVjCisKK0NvbXBpbGVyU2V0IGVycm9yZm9ybWF0PQorICAgIFwlK1cnJS4lIydcIEZBSUxFRCwKKyAgICBcJStJJyUuJSMnXCBGSVhFRCwKKyAgICBcJS1DZXhwZWN0ZWQ6JS4lIywKKyAgICBcJS1DXCBcIFwgXCBcIGdvdDolLiUjLAorICAgIFwlRSUuJSM6aW5cIGBsb2FkJzpcICVmOiVsOiVtLAorICAgIFwlQyVmOiVsOiwKKyAgICBcJVclZjolbDpcIHdhcm5pbmc6XCAlbSwKKyAgICBcJUUlZjolbDppblwgJSpbXjpdOlwgJW0sCisgICAgXCVFJWY6JWw6XCAlbSwKKyAgICBcJS1aJVx0ZnJvbVwgJWY6JWwsCisgICAgXCUtWiVwXiUuJSMsCisgICAgXCUtQyUuJSMsCisgICAgXCUtRyUuJSMKKworbGV0ICZjcG8gPSBzOmNwb19zYXZlCit1bmxldCBzOmNwb19zYXZlCisKKyIgdmltOiBub3dyYXAgc3c9MiBzdHM9MiB0cz04OgpkaWZmIC0tZ2l0IGEvcnVudGltZS9kb2MvYXJhYmljLnR4dCBiL3J1bnRpbWUvZG9jL2FyYWJpYy50eHQKaW5kZXggOTQ0NWYyZS4uZGM4ZTliMSAxMDA2NDQKLS0tIGEvcnVudGltZS9kb2MvYXJhYmljLnR4dAorKysgYi9ydW50aW1lL2RvYy9hcmFiaWMudHh0CkBAIC0xLDQgKzEsNCBAQAotKmFyYWJpYy50eHQqCUZvciBWaW0gdmVyc2lvbiA3LjJhLiAgTGFzdCBjaGFuZ2U6IDIwMDUgTWFyIDI5CisqYXJhYmljLnR4dCoJRm9yIFZpbSB2ZXJzaW9uIDcuMmIuICBMYXN0IGNoYW5nZTogMjAwNSBNYXIgMjkKIAogCiAJCSAgVklNIFJFRkVSRU5DRSBNQU5VQUwJICBieSBOYWRpbSBTaGFpa2xpCmRpZmYgLS1naXQgYS9ydW50aW1lL2RvYy9hdXRvY21kLnR4dCBiL3J1bnRpbWUvZG9jL2F1dG9jbWQudHh0CmluZGV4IDgwMDMyZTAuLmU4OTJmNGMgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvZG9jL2F1dG9jbWQudHh0CisrKyBiL3J1bnRpbWUvZG9jL2F1dG9jbWQudHh0CkBAIC0xLDQgKzEsNCBAQAotKmF1dG9jbWQudHh0KiAgIEZvciBWaW0gdmVyc2lvbiA3LjJhLiAgTGFzdCBjaGFuZ2U6IDIwMDggSnVuIDI0CisqYXV0b2NtZC50eHQqICAgRm9yIFZpbSB2ZXJzaW9uIDcuMmIuICBMYXN0IGNoYW5nZTogMjAwOCBKdW4gMjcKIAogCiAJCSAgVklNIFJFRkVSRU5DRSBNQU5VQUwgICAgYnkgQnJhbSBNb29sZW5hYXIKQEAgLTQwNiw5ICs0MDYsMTAgQEAKIAkJCQlEb2VzIG5vdCBoYXBwZW4gZm9yIHw6c3BsaXR8IHdpdGhvdXQKIAkJCQlhcmd1bWVudHMsIHNpbmNlIHlvdSBrZWVwIGVkaXRpbmcgdGhlIHNhbWUKIAkJCQlidWZmZXIsIG9yICI6c3BsaXQiIHdpdGggYSBmaWxlIHRoYXQncyBhbHJlYWR5Ci0JCQkJb3BlbiBpbiBhIHdpbmRvdy4gIEJ1dCBpdCBkb2VzIGhhcHBlbiBmb3IKLQkJCQlhICI6c3BsaXQiIHdpdGggdGhlIG5hbWUgb2YgdGhlIGN1cnJlbnQKLQkJCQlidWZmZXIsIHNpbmNlIGl0IHJlbG9hZHMgdGhhdCBidWZmZXIuCisJCQkJb3BlbiBpbiBhIHdpbmRvdywgYmVjYXVzZSBpdCByZS11c2VzIGFuCisJCQkJZXhpc3RpbmcgYnVmZmVyLiAgQnV0IGl0IGRvZXMgaGFwcGVuIGZvciBhCisJCQkJIjpzcGxpdCIgd2l0aCB0aGUgbmFtZSBvZiB0aGUgY3VycmVudCBidWZmZXIsCisJCQkJc2luY2UgaXQgcmVsb2FkcyB0aGF0IGJ1ZmZlci4KIAkJCQkJCQkqQnVmV2luTGVhdmUqCiBCdWZXaW5MZWF2ZQkJCUJlZm9yZSBhIGJ1ZmZlciBpcyByZW1vdmVkIGZyb20gYSB3aW5kb3cuCiAJCQkJTm90IHdoZW4gaXQncyBzdGlsbCB2aXNpYmxlIGluIGFub3RoZXIgd2luZG93LgpkaWZmIC0tZ2l0IGEvcnVudGltZS9kb2MvY2hhbmdlLnR4dCBiL3J1bnRpbWUvZG9jL2NoYW5nZS50eHQKaW5kZXggMjRjZjNmZS4uNjVhZjVmYyAxMDA2NDQKLS0tIGEvcnVudGltZS9kb2MvY2hhbmdlLnR4dAorKysgYi9ydW50aW1lL2RvYy9jaGFuZ2UudHh0CkBAIC0xLDQgKzEsNCBAQAotKmNoYW5nZS50eHQqICAgIEZvciBWaW0gdmVyc2lvbiA3LjJhLiAgTGFzdCBjaGFuZ2U6IDIwMDggSnVuIDIyCisqY2hhbmdlLnR4dCogICAgRm9yIFZpbSB2ZXJzaW9uIDcuMmIuICBMYXN0IGNoYW5nZTogMjAwOCBKdWwgMDkKIAogCiAJCSAgVklNIFJFRkVSRU5DRSBNQU5VQUwgICAgYnkgQnJhbSBNb29sZW5hYXIKQEAgLTc3Miw5ICs3NzIsOSBAQAogdGhlIGV4cHJlc3Npb24gY2Fubm90IHVzZSAiXD0iIGZvciB0aGUgc3Vic3RpdHV0ZSBzdHJpbmcuCiAKIFRoZSBzcGVjaWFsIG1lYW5pbmcgZm9yIGNoYXJhY3RlcnMgYXMgbWVudGlvbmVkIGF0IHxzdWItcmVwbGFjZS1zcGVjaWFsfCBkb2VzCi1ub3QgYXBwbHkgZXhjZXB0ICI8Q1I+IiwgIlw8Q1I+IiBhbmQgIlxcIi4gIFRodXMgaW4gdGhlIHJlc3VsdCBvZiB0aGUKLWV4cHJlc3Npb24geW91IG5lZWQgdG8gdXNlIHR3byBiYWNrc2xhc2hlcyBnZXQgb25lLCBwdXQgYSBiYWNrc2xhc2ggYmVmb3JlIGEKLTxDUj4geW91IHdhbnQgdG8gaW5zZXJ0IGFuZCB1c2UgYSA8Q1I+IHdpdGhvdXQgYSBiYWNrc2xhc2ggd2hlcmUgeW91IHdhbnQgdG8KK25vdCBhcHBseSBleGNlcHQgZm9yICI8Q1I+IiwgIlw8Q1I+IiBhbmQgIlxcIi4gIFRodXMgaW4gdGhlIHJlc3VsdCBvZiB0aGUKK2V4cHJlc3Npb24geW91IG5lZWQgdG8gdXNlIHR3byBiYWNrc2xhc2hlcyB0byBnZXQgb25lLCBwdXQgYSBiYWNrc2xhc2ggYmVmb3JlIGEKKzxDUj4geW91IHdhbnQgdG8gaW5zZXJ0LCBhbmQgdXNlIGEgPENSPiB3aXRob3V0IGEgYmFja3NsYXNoIHdoZXJlIHlvdSB3YW50IHRvCiBicmVhayB0aGUgbGluZS4KIAogRm9yIGNvbnZlbmllbmNlIGEgPE5MPiBjaGFyYWN0ZXIgaXMgYWxzbyB1c2VkIGFzIGEgbGluZSBicmVhay4gIFByZXBlbmQgYQpAQCAtNzk3LDcgKzc5Nyw3IEBACiBUaGlzIHJlcGxhY2VzIGFuIGVuZC1vZi1saW5lIHdpdGggYSBuZXcgbGluZSBjb250YWluaW5nIHRoZSB2YWx1ZSBvZiAkSE9NRS4gPgogCiAJcy9FL1w9Ilw8Q2hhci0weDIwYWM+Ii9nCi1UaGlzIHJlcGxhY2VzICdFJyBjaGFyYWN0ZXJzIHdpdGggYW4gZXVybyBzaWduLiBSZWFkIG1vcmUgaW4gfDxDaGFyLT58LgorVGhpcyByZXBsYWNlcyBlYWNoICdFJyBjaGFyYWN0ZXIgd2l0aCBhIGV1cm8gc2lnbi4gIFJlYWQgbW9yZSBpbiB8PENoYXItPnwuCiAKIAogNC4zIFNlYXJjaCBhbmQgcmVwbGFjZQkJCQkJKnNlYXJjaC1yZXBsYWNlKgpkaWZmIC0tZ2l0IGEvcnVudGltZS9kb2MvY21kbGluZS50eHQgYi9ydW50aW1lL2RvYy9jbWRsaW5lLnR4dAppbmRleCBiYzZiYmQ3Li44ZjU3N2M4IDEwMDY0NAotLS0gYS9ydW50aW1lL2RvYy9jbWRsaW5lLnR4dAorKysgYi9ydW50aW1lL2RvYy9jbWRsaW5lLnR4dApAQCAtMSw0ICsxLDQgQEAKLSpjbWRsaW5lLnR4dCogICBGb3IgVmltIHZlcnNpb24gNy4yYS4gIExhc3QgY2hhbmdlOiAyMDA4IEp1biAyMQorKmNtZGxpbmUudHh0KiAgIEZvciBWaW0gdmVyc2lvbiA3LjJiLiAgTGFzdCBjaGFuZ2U6IDIwMDggSnVsIDExCiAKIAogCQkgIFZJTSBSRUZFUkVOQ0UgTUFOVUFMICAgIGJ5IEJyYW0gTW9vbGVuYWFyCkBAIC0zNjksNyArMzY5LDkgQEAKIC0gVmFyaWFibGUgYW5kIGZ1bmN0aW9uIG5hbWVzOiBPbmx5IGFmdGVyIGEgIjppZiIsICI6Y2FsbCIgb3Igc2ltaWxhciBjb21tYW5kLgogCiBXaGVuIFZpbSB3YXMgY29tcGlsZWQgd2l0aCB0aGUgfCtjbWRsaW5lX2NvbXBsfCBmZWF0dXJlIGRpc2FibGVkLCBvbmx5IGZpbGUKLW5hbWVzLCBkaXJlY3RvcmllcyBhbmQgaGVscCBpdGVtcyBjYW4gYmUgY29tcGxldGVkLgorbmFtZXMsIGRpcmVjdG9yaWVzIGFuZCBoZWxwIGl0ZW1zIGNhbiBiZSBjb21wbGV0ZWQuICBUaGUgbnVtYmVyIG9mIGhlbHAgaXRlbQorbWF0Y2hlcyBpcyBsaW1pdGVkIChjdXJyZW50bHkgdG8gMzAwKSB0byBhdm9pZCBhIGxvbmcgZGVsYXkgd2hlbiB0aGVyZSBhcmUKK3ZlcnkgbWFueSBtYXRjaGVzLgogCiBUaGVzZSBhcmUgdGhlIGNvbW1hbmRzIHRoYXQgY2FuIGJlIHVzZWQ6CiAKZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL2RlYnVnLnR4dCBiL3J1bnRpbWUvZG9jL2RlYnVnLnR4dAppbmRleCAwZTgzZWM3Li4xZWIyMGFmIDEwMDY0NAotLS0gYS9ydW50aW1lL2RvYy9kZWJ1Zy50eHQKKysrIGIvcnVudGltZS9kb2MvZGVidWcudHh0CkBAIC0xLDQgKzEsNCBAQAotKmRlYnVnLnR4dCogICAgIEZvciBWaW0gdmVyc2lvbiA3LjJhLiAgTGFzdCBjaGFuZ2U6IDIwMDYgTWF5IDAxCisqZGVidWcudHh0KiAgICAgRm9yIFZpbSB2ZXJzaW9uIDcuMmIuICBMYXN0IGNoYW5nZTogMjAwNiBNYXkgMDEKIAogCiAJCSAgVklNIFJFRkVSRU5DRSBNQU5VQUwgICAgYnkgQnJhbSBNb29sZW5hYXIKZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL2RlYnVnZ2VyLnR4dCBiL3J1bnRpbWUvZG9jL2RlYnVnZ2VyLnR4dAppbmRleCAwYTE1MmE2Li5lYTk4NThhIDEwMDY0NAotLS0gYS9ydW50aW1lL2RvYy9kZWJ1Z2dlci50eHQKKysrIGIvcnVudGltZS9kb2MvZGVidWdnZXIudHh0CkBAIC0xLDQgKzEsNCBAQAotKmRlYnVnZ2VyLnR4dCogIEZvciBWaW0gdmVyc2lvbiA3LjJhLiAgTGFzdCBjaGFuZ2U6IDIwMDUgTWFyIDI5CisqZGVidWdnZXIudHh0KiAgRm9yIFZpbSB2ZXJzaW9uIDcuMmIuICBMYXN0IGNoYW5nZTogMjAwNSBNYXIgMjkKIAogCiAJCSAgVklNIFJFRkVSRU5DRSBNQU5VQUwgICAgYnkgR29yZG9uIFByaWV1cgpkaWZmIC0tZ2l0IGEvcnVudGltZS9kb2MvZGV2ZWxvcC50eHQgYi9ydW50aW1lL2RvYy9kZXZlbG9wLnR4dAppbmRleCA2N2FkY2I4Li44NWJmMWM1IDEwMDY0NAotLS0gYS9ydW50aW1lL2RvYy9kZXZlbG9wLnR4dAorKysgYi9ydW50aW1lL2RvYy9kZXZlbG9wLnR4dApAQCAtMSw0ICsxLDQgQEAKLSpkZXZlbG9wLnR4dCogICBGb3IgVmltIHZlcnNpb24gNy4yYS4gIExhc3QgY2hhbmdlOiAyMDA3IE1heSAxMQorKmRldmVsb3AudHh0KiAgIEZvciBWaW0gdmVyc2lvbiA3LjJiLiAgTGFzdCBjaGFuZ2U6IDIwMDcgTWF5IDExCiAKIAogCQkgIFZJTSBSRUZFUkVOQ0UgTUFOVUFMICAgIGJ5IEJyYW0gTW9vbGVuYWFyCmRpZmYgLS1naXQgYS9ydW50aW1lL2RvYy9kaWZmLnR4dCBiL3J1bnRpbWUvZG9jL2RpZmYudHh0CmluZGV4IDFhZGVmNjAuLjM3OWY2YTYgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvZG9jL2RpZmYudHh0CisrKyBiL3J1bnRpbWUvZG9jL2RpZmYudHh0CkBAIC0xLDQgKzEsNCBAQAotKmRpZmYudHh0KiAgICAgIEZvciBWaW0gdmVyc2lvbiA3LjJhLiAgTGFzdCBjaGFuZ2U6IDIwMDYgT2N0IDAyCisqZGlmZi50eHQqICAgICAgRm9yIFZpbSB2ZXJzaW9uIDcuMmIuICBMYXN0IGNoYW5nZTogMjAwNiBPY3QgMDIKIAogCiAJCSAgVklNIFJFRkVSRU5DRSBNQU5VQUwgICAgYnkgQnJhbSBNb29sZW5hYXIKZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL2RpZ3JhcGgudHh0IGIvcnVudGltZS9kb2MvZGlncmFwaC50eHQKaW5kZXggZjViNWNlNy4uYjE1NjUxZCAxMDA2NDQKLS0tIGEvcnVudGltZS9kb2MvZGlncmFwaC50eHQKKysrIGIvcnVudGltZS9kb2MvZGlncmFwaC50eHQKQEAgLTEsNCArMSw0IEBACi0qZGlncmFwaC50eHQqICAgRm9yIFZpbSB2ZXJzaW9uIDcuMmEuICBMYXN0IGNoYW5nZTogMjAwNyBTZXAgMTAKKypkaWdyYXBoLnR4dCogICBGb3IgVmltIHZlcnNpb24gNy4yYi4gIExhc3QgY2hhbmdlOiAyMDA3IFNlcCAxMAogCiAKIAkJICBWSU0gUkVGRVJFTkNFIE1BTlVBTCAgICBieSBCcmFtIE1vb2xlbmFhcgpkaWZmIC0tZ2l0IGEvcnVudGltZS9kb2MvZWRpdGluZy50eHQgYi9ydW50aW1lL2RvYy9lZGl0aW5nLnR4dAppbmRleCAyZWYzZjk2Li42NWExMTM0IDEwMDY0NAotLS0gYS9ydW50aW1lL2RvYy9lZGl0aW5nLnR4dAorKysgYi9ydW50aW1lL2RvYy9lZGl0aW5nLnR4dApAQCAtMSw0ICsxLDQgQEAKLSplZGl0aW5nLnR4dCogICBGb3IgVmltIHZlcnNpb24gNy4yYS4gIExhc3QgY2hhbmdlOiAyMDA4IEFwciAyOQorKmVkaXRpbmcudHh0KiAgIEZvciBWaW0gdmVyc2lvbiA3LjJiLiAgTGFzdCBjaGFuZ2U6IDIwMDggSnVsIDA1CiAKIAogCQkgIFZJTSBSRUZFUkVOQ0UgTUFOVUFMICAgIGJ5IEJyYW0gTW9vbGVuYWFyCkBAIC0zMDIsOSArMzAyLDkgQEAKIAkJCVVzZXMgdGhlICdpc2ZuYW1lJyBvcHRpb24gdG8gZmluZCBvdXQgd2hpY2ggY2hhcmFjdGVycwogCQkJYXJlIHN1cHBvc2VkIHRvIGJlIGluIGEgZmlsZSBuYW1lLiAgVHJhaWxpbmcKIAkJCXB1bmN0dWF0aW9uIGNoYXJhY3RlcnMgIi4sOjshIiBhcmUgaWdub3JlZC4KLQkJCVVzZXMgdGhlICdwYXRoJyBvcHRpb24gYXMgYSBsaXN0IG9mIGRpcmVjdG9yeSBuYW1lcwotCQkJdG8gbG9vayBmb3IgdGhlIGZpbGUuICBBbHNvIGxvb2tzIGZvciB0aGUgZmlsZQotCQkJcmVsYXRpdmUgdG8gdGhlIGN1cnJlbnQgZmlsZS4KKwkJCVVzZXMgdGhlICdwYXRoJyBvcHRpb24gYXMgYSBsaXN0IG9mIGRpcmVjdG9yeSBuYW1lcyB0bworCQkJbG9vayBmb3IgdGhlIGZpbGUuICBTZWUgdGhlICdwYXRoJyBvcHRpb24gZm9yIGRldGFpbHMKKwkJCWFib3V0IHJlbGF0aXZlIGRpcmVjdG9yaWVzIGFuZCB3aWxkY2FyZHMuCiAJCQlVc2VzIHRoZSAnc3VmZml4ZXNhZGQnIG9wdGlvbiB0byBjaGVjayBmb3IgZmlsZSBuYW1lcwogCQkJd2l0aCBhIHN1ZmZpeCBhZGRlZC4KIAkJCUlmIHRoZSBmaWxlIGNhbid0IGJlIGZvdW5kLCAnaW5jbHVkZWV4cHInIGlzIHVzZWQgdG8KQEAgLTM2NywxMyArMzY3LDEzIEBACiBCZXNpZGVzIHRoZSB0aGluZ3MgbWVudGlvbmVkIGhlcmUsIG1vcmUgc3BlY2lhbCBpdGVtcyBmb3Igd2hlcmUgYSBmaWxlbmFtZSBpcwogZXhwZWN0ZWQgYXJlIG1lbnRpb25lZCBhdCB8Y21kbGluZS1zcGVjaWFsfC4KIAotTm90ZSBmb3Igc3lzdGVtcyBvdGhlciB0aGFuIFVuaXggYW5kIE1TLURPUzogV2hlbiB1c2luZyBhIGNvbW1hbmQgdGhhdAotYWNjZXB0cyBhIHNpbmdsZSBmaWxlIG5hbWUgKGxpa2UgIjplZGl0IGZpbGUiKSBzcGFjZXMgaW4gdGhlIGZpbGUgbmFtZSBhcmUKLWFsbG93ZWQsIGJ1dCB0cmFpbGluZyBzcGFjZXMgYXJlIGlnbm9yZWQuICBUaGlzIGlzIHVzZWZ1bCBvbiBzeXN0ZW1zIHRoYXQKLWFsbG93IGZpbGUgbmFtZXMgd2l0aCBlbWJlZGRlZCBzcGFjZXMgKGxpa2UgTVMtV2luZG93cyBhbmQgdGhlIEFtaWdhKS4KLUV4YW1wbGU6IFRoZSBjb21tYW5kICI6ZSAgIExvbmcgRmlsZSBOYW1lICIgd2lsbCBlZGl0IHRoZSBmaWxlICJMb25nIEZpbGUKLU5hbWUiLiAgV2hlbiB1c2luZyBhIGNvbW1hbmQgdGhhdCBhY2NlcHRzIG1vcmUgdGhhbiBvbmUgZmlsZSBuYW1lIChsaWtlICI6bmV4dAotZmlsZTEgZmlsZTIiKSBlbWJlZGRlZCBzcGFjZXMgbXVzdCBiZSBlc2NhcGVkIHdpdGggYSBiYWNrc2xhc2guCitOb3RlIGZvciBzeXN0ZW1zIG90aGVyIHRoYW4gVW5peDogV2hlbiB1c2luZyBhIGNvbW1hbmQgdGhhdCBhY2NlcHRzIGEgc2luZ2xlCitmaWxlIG5hbWUgKGxpa2UgIjplZGl0IGZpbGUiKSBzcGFjZXMgaW4gdGhlIGZpbGUgbmFtZSBhcmUgYWxsb3dlZCwgYnV0Cit0cmFpbGluZyBzcGFjZXMgYXJlIGlnbm9yZWQuICBUaGlzIGlzIHVzZWZ1bCBvbiBzeXN0ZW1zIHRoYXQgcmVndWxhcmx5IGVtYmVkCitzcGFjZXMgaW4gZmlsZSBuYW1lcyAobGlrZSBNUy1XaW5kb3dzIGFuZCB0aGUgQW1pZ2EpLiAgRXhhbXBsZTogVGhlIGNvbW1hbmQKKyI6ZSAgIExvbmcgRmlsZSBOYW1lICIgd2lsbCBlZGl0IHRoZSBmaWxlICJMb25nIEZpbGUgTmFtZSIuICBXaGVuIHVzaW5nIGEKK2NvbW1hbmQgdGhhdCBhY2NlcHRzIG1vcmUgdGhhbiBvbmUgZmlsZSBuYW1lIChsaWtlICI6bmV4dCBmaWxlMSBmaWxlMiIpCitlbWJlZGRlZCBzcGFjZXMgbXVzdCBiZSBlc2NhcGVkIHdpdGggYSBiYWNrc2xhc2guCiAKIAkJCQkJCSp3aWxkY2FyZCogKndpbGRjYXJkcyoKIFdpbGRjYXJkcyBpbiB7ZmlsZX0gYXJlIGV4cGFuZGVkLiAgV2hpY2ggd2lsZGNhcmRzIGFyZSBzdXBwb3J0ZWQgZGVwZW5kcyBvbgpAQCAtMzkxLDYgKzM5MSw4IEBACiAJCQkJCSpzdGFyc3Rhci13aWxkY2FyZCoKIEV4cGFuZGluZyAiKioiIGlzIHBvc3NpYmxlIG9uIFVuaXgsIFdpbjMyLCBNYWMgT1MvWCBhbmQgYSBmZXcgb3RoZXIgc3lzdGVtcy4KIFRoaXMgYWxsb3dzIHNlYXJjaGluZyBhIGRpcmVjdG9yeSB0cmVlLiAgVGhpcyBnb2VzIHVwIHRvIDEwMCBkaXJlY3RvcmllcyBkZWVwLgorTm90ZSB0aGVyZSBhcmUgc29tZSBjb21tYW5kcyB3aGVyZSB0aGlzIHdvcmtzIHNsaWdodGx5IGRpZmZlcmVudCwgc2VlCit8ZmlsZS1zZWFyY2hpbmd8LgogRXhhbXBsZTogPgogCTpuICoqLyoudHh0CiBGaW5kcyBmaWxlczoKQEAgLTE0NzYsMTQgKzE0NzgsMTYgQEAKIHtub3QgYXZhaWxhYmxlIHdoZW4gY29tcGlsZWQgd2l0aG91dCB0aGUgfCtwYXRoX2V4dHJhfCBmZWF0dXJlfQogCiBUaGUgZmlsZSBzZWFyY2hpbmcgaXMgY3VycmVudGx5IHVzZWQgZm9yIHRoZSAncGF0aCcsICdjZHBhdGgnIGFuZCAndGFncycKLW9wdGlvbnMsIGZvciB8ZmluZGRpcigpfCBhbmQgfGZpbmRmaWxlKCl8Lgorb3B0aW9ucywgZm9yIHxmaW5kZGlyKCl8IGFuZCB8ZmluZGZpbGUoKXwuICBPdGhlciBjb21tYW5kcyB1c2UgfHdpbGRjYXJkc3wKK3doaWNoIGlzIHNsaWdodGx5IGRpZmZlcmVudC4KIAogVGhlcmUgYXJlIHRocmVlIGRpZmZlcmVudCB0eXBlcyBvZiBzZWFyY2hpbmc6CiAKIDEpIERvd253YXJkIHNlYXJjaDoJCQkJCSpzdGFyc3RhcioKICAgIERvd253YXJkIHNlYXJjaCB1c2VzIHRoZSB3aWxkY2FyZHMgJyonLCAnKionIGFuZCBwb3NzaWJseSBvdGhlcnMKLSAgIHN1cHBvcnRlZCBieSB5b3VyIG9wZXJhdGluZyBzeXN0ZW0uICAnKicgYW5kICcqKicgYXJlIGhhbmRsZWQgaW5zaWRlIFZpbSwgc28KLSAgIHRoZXkgd29yayBvbiBhbGwgb3BlcmF0aW5nIHN5c3RlbXMuCisgICBzdXBwb3J0ZWQgYnkgeW91ciBvcGVyYXRpbmcgc3lzdGVtLiAgJyonIGFuZCAnKionIGFyZSBoYW5kbGVkIGluc2lkZSBWaW0sCisgICBzbyB0aGV5IHdvcmsgb24gYWxsIG9wZXJhdGluZyBzeXN0ZW1zLiAgTm90ZSB0aGF0ICIqKiIgb25seSBhY3RzIGFzIGEKKyAgIHNwZWNpYWwgd2lsZGNhcmQgd2hlbiBpdCBpcyBhdCB0aGUgc3RhcnQgb2YgYSBuYW1lLgogCiAgICBUaGUgdXNhZ2Ugb2YgJyonIGlzIHF1aXRlIHNpbXBsZTogSXQgbWF0Y2hlcyAwIG9yIG1vcmUgY2hhcmFjdGVycy4gIEluIGEKICAgIHNlYXJjaCBwYXR0ZXJuIHRoaXMgd291bGQgYmUgIi4qIi4gIE5vdGUgdGhhdCB0aGUgIi4iIGlzIG5vdCB1c2VkIGZvciBmaWxlCkBAIC0xNDkxLDggKzE0OTUsOCBAQAogCiAgICAnKionIGlzIG1vcmUgc29waGlzdGljYXRlZDoKICAgICAgIC0gSXQgT05MWSBtYXRjaGVzIGRpcmVjdG9yaWVzLgotICAgICAgLSBJdCBtYXRjaGVzIHVwIHRvIDMwIGRpcmVjdG9yaWVzIGRlZXAsIHNvIHlvdSBjYW4gdXNlIGl0IHRvIHNlYXJjaCBhbgotCWVudGlyZSBkaXJlY3RvcnkgdHJlZQorICAgICAgLSBJdCBtYXRjaGVzIHVwIHRvIDMwIGRpcmVjdG9yaWVzIGRlZXAgYnkgZGVmYXVsdCwgc28geW91IGNhbiB1c2UgaXQgdG8KKwlzZWFyY2ggYW4gZW50aXJlIGRpcmVjdG9yeSB0cmVlCiAgICAgICAtIFRoZSBtYXhpbXVtIG51bWJlciBvZiBsZXZlbHMgbWF0Y2hlZCBjYW4gYmUgZ2l2ZW4gYnkgYXBwZW5kaW5nIGEgbnVtYmVyCiAJdG8gJyoqJy4KIAlUaHVzICcvdXNyLyoqMicgY2FuIG1hdGNoOiA+CkBAIC0xNTA1LDE1ICsxNTA5LDE2IEBACiAJCS4uLi4KIDwJSXQgZG9lcyBOT1QgbWF0Y2ggJy91c3IvaW5jbHVkZS9nKysvc3RkJyBhcyB0aGlzIHdvdWxkIGJlIHRocmVlCiAJbGV2ZWxzLgotCVRoZSBhbGxvd2VkIG51bWJlciByYW5nZSBpcyAwICgnKiowJyBpcyByZW1vdmVkKSB0byAyNTUuCisJVGhlIGFsbG93ZWQgbnVtYmVyIHJhbmdlIGlzIDAgKCcqKjAnIGlzIHJlbW92ZWQpIHRvIDEwMAogCUlmIHRoZSBnaXZlbiBudW1iZXIgaXMgc21hbGxlciB0aGFuIDAgaXQgZGVmYXVsdHMgdG8gMzAsIGlmIGl0J3MKLQliaWdnZXIgdGhhbiAyNTUgdGhlbiAyNTUgaXMgdXNlZC4KKwliaWdnZXIgdGhhbiAxMDAgdGhlbiAxMDAgaXMgdXNlZC4gIFRoZSBzeXN0ZW0gYWxzbyBoYXMgYSBsaW1pdCBvbiB0aGUKKwlwYXRoIGxlbmd0aCwgdXN1YWxseSAyNTYgb3IgMTAyNCBieXRlcy4KICAgICAgIC0gJyoqJyBjYW4gb25seSBiZSBhdCB0aGUgZW5kIG9mIHRoZSBwYXRoIG9yIGJlIGZvbGxvd2VkIGJ5IGEgcGF0aAogCXNlcGFyYXRvciBvciBieSBhIG51bWJlciBhbmQgYSBwYXRoIHNlcGFyYXRvci4KIAogICAgWW91IGNhbiBjb21iaW5lICcqJyBhbmQgJyoqJyBpbiBhbnkgb3JkZXI6ID4KIAkvdXNyLyoqL3N5cy8qCi0JL3Vzci8qL3N5cy8qKgorCS91c3IvKnRvcnkvc3lzLyoqCiAJL3Vzci8qKjIvc3lzLyoKIAogMikgVXB3YXJkIHNlYXJjaDoKZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL2V2YWwudHh0IGIvcnVudGltZS9kb2MvZXZhbC50eHQKaW5kZXggNmZkMGFlMS4uMjBmYTM2MSAxMDA2NDQKLS0tIGEvcnVudGltZS9kb2MvZXZhbC50eHQKKysrIGIvcnVudGltZS9kb2MvZXZhbC50eHQKQEAgLTEsNCArMSw0IEBACi0qZXZhbC50eHQqCUZvciBWaW0gdmVyc2lvbiA3LjJhLiAgTGFzdCBjaGFuZ2U6IDIwMDggSnVuIDI0CisqZXZhbC50eHQqCUZvciBWaW0gdmVyc2lvbiA3LjJiLiAgTGFzdCBjaGFuZ2U6IDIwMDggSnVsIDA5CiAKIAogCQkgIFZJTSBSRUZFUkVOQ0UgTUFOVUFMCSAgYnkgQnJhbSBNb29sZW5hYXIKQEAgLTI1MjQsOSArMjUyNCwxNSBAQAogCQkJCQl8aW50ZXJuYWwtdmFyaWFibGVzfCkuCUFsc28gd29ya3MKIAkJCQkJZm9yIHxjdXJseS1icmFjZXMtbmFtZXN8LCB8RGljdGlvbmFyeXwKIAkJCQkJZW50cmllcywgfExpc3R8IGl0ZW1zLCBldGMuICBCZXdhcmUKLQkJCQkJdGhhdCB0aGlzIG1heSBjYXVzZSBmdW5jdGlvbnMgdG8gYmUKLQkJCQkJaW52b2tlZCBjYXVzZSBhbiBlcnJvciBtZXNzYWdlIGZvciBhbgotCQkJCQlpbnZhbGlkIGV4cHJlc3Npb24uCisJCQkJCXRoYXQgZXZhbHVhdGluZyBhbiBpbmRleCBtYXkgY2F1c2UgYW4KKwkJCQkJZXJyb3IgbWVzc2FnZSBmb3IgYW4gaW52YWxpZAorCQkJCQlleHByZXNzaW9uLiAgRS5nLjogPgorCQkJCQkgICA6bGV0IGwgPSBbMSwgMiwgM10KKwkJCQkJICAgOmVjaG8gZXhpc3RzKCJsWzVdIikKKzwJCQkJCSAgIDAgPgorCQkJCQkgICA6ZWNobyBleGlzdHMoImxbeHhdIikKKzwJCQkJCSAgIEUxMjE6IFVuZGVmaW5lZCB2YXJpYWJsZTogeHgKKwkJCQkJICAgMAogCQkJOmNtZG5hbWUJRXggY29tbWFuZDogYnVpbHQtaW4gY29tbWFuZCwgdXNlcgogCQkJCQljb21tYW5kIG9yIGNvbW1hbmQgbW9kaWZpZXIgfDpjb21tYW5kfC4KIAkJCQkJUmV0dXJuczoKQEAgLTI5NDUsNiArMjk1MSw4IEBACiAJCVRoZSByZXN1bHQgaXMgdGhlIHZhbHVlIG9mIG9wdGlvbiBvciBsb2NhbCBidWZmZXIgdmFyaWFibGUKIAkJe3Zhcm5hbWV9IGluIGJ1ZmZlciB7ZXhwcn0uICBOb3RlIHRoYXQgdGhlIG5hbWUgd2l0aG91dCAiYjoiCiAJCW11c3QgYmUgdXNlZC4KKwkJV2hlbiB7dmFybmFtZX0gaXMgZW1wdHkgcmV0dXJucyBhIGRpY3Rpb25hcnkgd2l0aCBhbGwgdGhlCisJCWJ1ZmZlci1sb2NhbCB2YXJpYWJsZXMuCiAJCVRoaXMgYWxzbyB3b3JrcyBmb3IgYSBnbG9iYWwgb3IgYnVmZmVyLWxvY2FsIG9wdGlvbiwgYnV0IGl0CiAJCWRvZXNuJ3Qgd29yayBmb3IgYSBnbG9iYWwgdmFyaWFibGUsIHdpbmRvdy1sb2NhbCB2YXJpYWJsZSBvcgogCQl3aW5kb3ctbG9jYWwgb3B0aW9uLgpAQCAtMzI5Niw3ICszMzA0LDkgQEAKIAkJRm9yIGV4YW1wbGUsIHRvIGZpbmQgYWxsICJSRUFETUUudHh0IiBmaWxlcyBpbiB0aGUgZGlyZWN0b3JpZXMKIAkJaW4gJ3J1bnRpbWVwYXRoJyBhbmQgYmVsb3c6ID4KIAkJCTplY2hvIGdsb2JwYXRoKCZydHAsICIqKi9SRUFETUUudHh0IikKLTwKKzwJCVVwd2FyZHMgc2VhcmNoIGFuZCBsaW1pdGluZyB0aGUgZGVwdGggb2YgIioqIiBpcyBub3QKKwkJc3VwcG9ydGVkLCB0aHVzIHVzaW5nICdwYXRoJyB3aWxsIG5vdCBhbHdheXMgd29yayBwcm9wZXJseS4KKwogCQkJCQkJCSpoYXMoKSoKIGhhcyh7ZmVhdHVyZX0pCVRoZSByZXN1bHQgaXMgYSBOdW1iZXIsIHdoaWNoIGlzIDEgaWYgdGhlIGZlYXR1cmUge2ZlYXR1cmV9IGlzCiAJCXN1cHBvcnRlZCwgemVybyBvdGhlcndpc2UuICBUaGUge2ZlYXR1cmV9IGFyZ3VtZW50IGlzIGEKQEAgLTMzNjEsMTMgKzMzNzEsMTMgQEAKIAkJQ2xlYXIge2hpc3Rvcnl9LCBpLmUuIGRlbGV0ZSBhbGwgaXRzIGVudHJpZXMuICBTZWUgfGhpc3QtbmFtZXN8CiAJCWZvciB0aGUgcG9zc2libGUgdmFsdWVzIG9mIHtoaXN0b3J5fS4KIAotCQlJZiB0aGUgcGFyYW1ldGVyIHtpdGVtfSBpcyBnaXZlbiBhcyBTdHJpbmcsIHRoaXMgaXMgc2VlbgotCQlhcyByZWd1bGFyIGV4cHJlc3Npb24uCUFsbCBlbnRyaWVzIG1hdGNoaW5nIHRoYXQgZXhwcmVzc2lvbgotCQl3aWxsIGJlIHJlbW92ZWQgZnJvbSB0aGUgaGlzdG9yeSAoaWYgdGhlcmUgYXJlIGFueSkuCisJCUlmIHRoZSBwYXJhbWV0ZXIge2l0ZW19IGV2YWx1YXRlcyB0byBhIFN0cmluZywgaXQgaXMgdXNlZCBhcyBhCisJCXJlZ3VsYXIgZXhwcmVzc2lvbi4gIEFsbCBlbnRyaWVzIG1hdGNoaW5nIHRoYXQgZXhwcmVzc2lvbiB3aWxsCisJCWJlIHJlbW92ZWQgZnJvbSB0aGUgaGlzdG9yeSAoaWYgdGhlcmUgYXJlIGFueSkuCiAJCVVwcGVyL2xvd2VyY2FzZSBtdXN0IG1hdGNoLCB1bmxlc3MgIlxjIiBpcyB1c2VkIHwvXGN8LgotCQlJZiB7aXRlbX0gaXMgYSBOdW1iZXIsIGl0IHdpbGwgYmUgaW50ZXJwcmV0ZWQgYXMgaW5kZXgsIHNlZQotCQl8Omhpc3RvcnktaW5kZXhpbmd8LiAgVGhlIHJlc3BlY3RpdmUgZW50cnkgd2lsbCBiZSByZW1vdmVkCi0JCWlmIGl0IGV4aXN0cy4KKwkJSWYge2l0ZW19IGV2YWx1YXRlcyB0byBhIE51bWJlciwgaXQgd2lsbCBiZSBpbnRlcnByZXRlZCBhcworCQlhbiBpbmRleCwgc2VlIHw6aGlzdG9yeS1pbmRleGluZ3wuICBUaGUgcmVzcGVjdGl2ZSBlbnRyeSB3aWxsCisJCWJlIHJlbW92ZWQgaWYgaXQgZXhpc3RzLgogCiAJCVRoZSByZXN1bHQgaXMgYSBOdW1iZXI6IDEgZm9yIGEgc3VjY2Vzc2Z1bCBvcGVyYXRpb24sCiAJCW90aGVyd2lzZSAwIGlzIHJldHVybmVkLgpAQCAtNDI3OCw5ICs0Mjg4LDExIEBACiAJCSUJQSAnJScgaXMgd3JpdHRlbi4gIE5vIGFyZ3VtZW50IGlzIGNvbnZlcnRlZC4gIFRoZQogCQkJY29tcGxldGUgY29udmVyc2lvbiBzcGVjaWZpY2F0aW9uIGlzICIlJSIuCiAKLQkJRWFjaCBhcmd1bWVudCBjYW4gYmUgTnVtYmVyIG9yIFN0cmluZyBhbmQgaXMgY29udmVydGVkCi0JCWF1dG9tYXRpY2FsbHkgdG8gZml0IHRoZSBjb252ZXJzaW9uIHNwZWNpZmllci4JQW55IG90aGVyCi0JCWFyZ3VtZW50IHR5cGUgcmVzdWx0cyBpbiBhbiBlcnJvciBtZXNzYWdlLgorCQlXaGVuIGEgTnVtYmVyIGFyZ3VtZW50IGlzIGV4cGVjdGVkIGEgU3RyaW5nIGFyZ3VtZW50IGlzIGFsc28KKwkJYWNjZXB0ZWQgYW5kIGF1dG9tYXRpY2FsbHkgY29udmVydGVkLgorCQlXaGVuIGEgRmxvYXQgb3IgU3RyaW5nIGFyZ3VtZW50IGlzIGV4cGVjdGVkIGEgTnVtYmVyIGFyZ3VtZW50CisJCWlzIGFsc28gYWNjZXB0ZWQgYW5kIGF1dG9tYXRpY2FsbHkgY29udmVydGVkLgorCQlBbnkgb3RoZXIgYXJndW1lbnQgdHlwZSByZXN1bHRzIGluIGFuIGVycm9yIG1lc3NhZ2UuCiAKIAkJCQkJCQkqRTc2NiogKkU3NjcqCiAJCVRoZSBudW1iZXIgb2Yge2V4cHJOfSBhcmd1bWVudHMgbXVzdCBleGFjdGx5IG1hdGNoIHRoZSBudW1iZXIKQEAgLTQ1MDYsNyArNDUxOCw3IEBACiAJCQk6bGV0IHJldmxpc3QgPSByZXZlcnNlKGNvcHkobXlsaXN0KSkKIAogcm91bmQoe2V4cHJ9KQkJCQkJCQkqcm91bmQoKSoKLQkJUm91bmQgb2ZmIHtleHByfSB0byBhIHRoZSBuZWFyZXN0IGludGVncmFsIHZhbHVlIGFuZCByZXR1cm4gaXQKKwkJUm91bmQgb2ZmIHtleHByfSB0byB0aGUgbmVhcmVzdCBpbnRlZ3JhbCB2YWx1ZSBhbmQgcmV0dXJuIGl0CiAJCWFzIGEgfEZsb2F0fC4gIElmIHtleHByfSBsaWVzIGhhbGZ3YXkgYmV0d2VlbiB0d28gaW50ZWdyYWwKIAkJdmFsdWVzLCB0aGVuIHVzZSB0aGUgbGFyZ2VyIG9uZSAoYXdheSBmcm9tIHplcm8pLgogCQl7ZXhwcn0gbXVzdCBldmFsdWF0ZSB0byBhIHxGbG9hdHwgb3IgYSB8TnVtYmVyfC4KQEAgLTUwOTgsNiArNTExMCw3IEBACiA8CQkJMTAuMCA+CiAJCQk6ZWNobyBzcXJ0KC00LjAxKQogPAkJCW5hbgorCQkibmFuIiBtYXkgYmUgZGlmZmVyZW50LCBpdCBkZXBlbmRzIG9uIHN5c3RlbSBsaWJyYXJpZXMuCiAJCXtvbmx5IGF2YWlsYWJsZSB3aGVuIGNvbXBpbGVkIHdpdGggdGhlIHwrZmxvYXR8IGZlYXR1cmV9CiAJCQogCkBAIC01NDg0LDcgKzU0OTcsNyBAQAogPAkJcmV0dXJucyAie2Jsb2J9IgogCiB0cnVuYyh7ZXhwcn0pCQkJCQkJCSp0cnVuYygpKgotCQlSZXR1cm4gdGhlIGxhcmdlc3QgaW50ZWdyYWwgdmFsdWUgd2l0aCBtYWduaXR1dGVkIGxlc3MgdGhhbiBvcgorCQlSZXR1cm4gdGhlIGxhcmdlc3QgaW50ZWdyYWwgdmFsdWUgd2l0aCBtYWduaXR1ZGUgbGVzcyB0aGFuIG9yCiAJCWVxdWFsIHRvIHtleHByfSBhcyBhIHxGbG9hdHwgKHRydW5jYXRlIHRvd2FyZHMgemVybykuCiAJCXtleHByfSBtdXN0IGV2YWx1YXRlIHRvIGEgfEZsb2F0fCBvciBhIHxOdW1iZXJ8LgogCQlFeGFtcGxlczogPgpAQCAtNjM5NCw2ICs2NDA3LDExIEBACiA8CQkJT25lIGl0ZW0gZnJvbSBhIHxEaWN0aW9uYXJ5fCBjYW4gYmUgcmVtb3ZlZCBhdCBhIHRpbWU6ID4KIAkJCQk6dW5sZXQgZGljdFsndHdvJ10KIAkJCQk6dW5sZXQgZGljdC50d28KKzwJCQlUaGlzIGlzIGVzcGVjaWFsbHkgdXNlZnVsIHRvIGNsZWFuIHVwIHVzZWQgZ2xvYmFsCisJCQl2YXJpYWJsZXMgYW5kIHNjcmlwdC1sb2NhbCB2YXJpYWJsZXMgKHRoZXNlIGFyZSBub3QKKwkJCWRlbGV0ZWQgd2hlbiB0aGUgc2NyaXB0IGVuZHMpLiAgRnVuY3Rpb24tbG9jYWwKKwkJCXZhcmlhYmxlcyBhcmUgYXV0b21hdGljYWxseSBkZWxldGVkIHdoZW4gdGhlIGZ1bmN0aW9uCisJCQllbmRzLgogCiA6bG9ja3ZbYXJdWyFdIFtkZXB0aF0ge25hbWV9IC4uLgkJCSo6bG9ja3ZhciogKjpsb2NrdioKIAkJCUxvY2sgdGhlIGludGVybmFsIHZhcmlhYmxlIHtuYW1lfS4gIExvY2tpbmcgbWVhbnMgdGhhdApkaWZmIC0tZ2l0IGEvcnVudGltZS9kb2MvZmFyc2kudHh0IGIvcnVudGltZS9kb2MvZmFyc2kudHh0CmluZGV4IGY0ODlhN2EuLjVhNDJlNDMgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvZG9jL2ZhcnNpLnR4dAorKysgYi9ydW50aW1lL2RvYy9mYXJzaS50eHQKQEAgLTEsNCArMSw0IEBACi0qZmFyc2kudHh0KiAgICAgRm9yIFZpbSB2ZXJzaW9uIDcuMmEuICBMYXN0IGNoYW5nZTogMjAwNSBNYXIgMjkKKypmYXJzaS50eHQqICAgICBGb3IgVmltIHZlcnNpb24gNy4yYi4gIExhc3QgY2hhbmdlOiAyMDA1IE1hciAyOQogCiAKIAkJICBWSU0gUkVGRVJFTkNFIE1BTlVBTCAgICBieSBNb3J0YXphIEdoYXNzYWIgU2hpcmFuCmRpZmYgLS1naXQgYS9ydW50aW1lL2RvYy9maWxldHlwZS50eHQgYi9ydW50aW1lL2RvYy9maWxldHlwZS50eHQKaW5kZXggZGIzZmU0ZS4uNGJmZjQyZCAxMDA2NDQKLS0tIGEvcnVudGltZS9kb2MvZmlsZXR5cGUudHh0CisrKyBiL3J1bnRpbWUvZG9jL2ZpbGV0eXBlLnR4dApAQCAtMSw0ICsxLDQgQEAKLSpmaWxldHlwZS50eHQqICBGb3IgVmltIHZlcnNpb24gNy4yYS4gIExhc3QgY2hhbmdlOiAyMDA4IEp1biAyMQorKmZpbGV0eXBlLnR4dCogIEZvciBWaW0gdmVyc2lvbiA3LjJiLiAgTGFzdCBjaGFuZ2U6IDIwMDggSnVuIDI3CiAKIAogCQkgIFZJTSBSRUZFUkVOQ0UgTUFOVUFMICAgIGJ5IEJyYW0gTW9vbGVuYWFyCkBAIC01NSw3ICs1NSw3IEBACiAKIElmIHRoZSBmaWxlIHR5cGUgaXMgbm90IGRldGVjdGVkIGF1dG9tYXRpY2FsbHksIG9yIGl0IGZpbmRzIHRoZSB3cm9uZyB0eXBlLAogeW91IGNhbiBlaXRoZXIgc2V0IHRoZSAnZmlsZXR5cGUnIG9wdGlvbiBtYW51YWxseSwgb3IgYWRkIGEgbW9kZWxpbmUgdG8geW91cgotZmlsZS4gIEV4YW1wbGUsIGZvciBpbiBhbiBJREwgZmlsZSB1c2UgdGhlIGNvbW1hbmQ6ID4KK2ZpbGUuICBFeGFtcGxlLCBmb3IgYW4gSURMIGZpbGUgdXNlIHRoZSBjb21tYW5kOiA+CiAJOnNldCBmaWxldHlwZT1pZGwKIAogb3IgYWRkIHRoaXMgfG1vZGVsaW5lfCB0byB0aGUgZmlsZToKQEAgLTI4NCw4ICsyODQsOCBAQAogCiBUaGlzIHdpbGwgbWF0Y2g6CiAKLS0gQW55IGZpbGUgd2hvc2UgbmFtZSBlbmRzIGluIGAuaHRtbCcKLS0gQW55IGZpbGUgd2hvc2UgdHlwZSBpcyBgJmZhZicgb3IgJ0hUTUwnLCB3aGVyZSB0aGUgbWVhbmluZyBvZiB0aGVzZSB0eXBlcworLSBBbnkgZmlsZSB3aG9zZSBuYW1lIGVuZHMgaW4gIi5odG1sIgorLSBBbnkgZmlsZSB3aG9zZSB0eXBlIGlzICImZmFmIiBvciAiSFRNTCIsIHdoZXJlIHRoZSBtZWFuaW5nIG9mIHRoZXNlIHR5cGVzCiAgIGRlcGVuZHMgb24gd2hpY2ggdmVyc2lvbiBvZiBWaW0geW91IGFyZSB1c2luZy4KICAgVW5rbm93biB0eXBlcyBhcmUgY29uc2lkZXJlZCBOT1QgdG8gbWF0Y2guCiAKQEAgLTI5NCw3ICsyOTQsNyBAQAogCiAJOmF1IEJ1ZlJlYWQgPCZmZmY+ZGlmZioKIAotVGhpcyB3aWxsIG1hdGNoIGZpbGVzIG9mIHR5cGUgYCZmZmYnIHdob3NlIG5hbWVzIHN0YXJ0IHdpdGggYGRpZmYnLgorVGhpcyB3aWxsIG1hdGNoIGZpbGVzIG9mIHR5cGUgIiZmZmYiIHdob3NlIG5hbWVzIHN0YXJ0IHdpdGggImRpZmYiLgogCiBOb3RlIHRoYXQgb3NmaWxldHlwZSBjaGVja2luZyBpcyBza2lwcGVkIGlmIFZpbSBpcyBjb21waWxlZCB3aXRob3V0IHRoZQogfCtvc2ZpbGV0eXBlfCBmZWF0dXJlLgpkaWZmIC0tZ2l0IGEvcnVudGltZS9kb2MvZm9sZC50eHQgYi9ydW50aW1lL2RvYy9mb2xkLnR4dAppbmRleCBjODE0MDkzLi44YThkODAwIDEwMDY0NAotLS0gYS9ydW50aW1lL2RvYy9mb2xkLnR4dAorKysgYi9ydW50aW1lL2RvYy9mb2xkLnR4dApAQCAtMSw0ICsxLDQgQEAKLSpmb2xkLnR4dCogICAgICBGb3IgVmltIHZlcnNpb24gNy4yYS4gIExhc3QgY2hhbmdlOiAyMDA3IE1heSAxMQorKmZvbGQudHh0KiAgICAgIEZvciBWaW0gdmVyc2lvbiA3LjJiLiAgTGFzdCBjaGFuZ2U6IDIwMDcgTWF5IDExCiAKIAogCQkgIFZJTSBSRUZFUkVOQ0UgTUFOVUFMICAgIGJ5IEJyYW0gTW9vbGVuYWFyCmRpZmYgLS1naXQgYS9ydW50aW1lL2RvYy9mdF9hZGEudHh0IGIvcnVudGltZS9kb2MvZnRfYWRhLnR4dAppbmRleCBiZWMwZjc4Li42MjFkNTgzIDEwMDY0NAotLS0gYS9ydW50aW1lL2RvYy9mdF9hZGEudHh0CisrKyBiL3J1bnRpbWUvZG9jL2Z0X2FkYS50eHQKQEAgLTEsNCArMSw0IEBACi0qZnRfYWRhLnR4dCoJRm9yIFZpbSB2ZXJzaW9uIDcuMmEuICBMYXN0IGNoYW5nZTogMjAwOCBKdW4gMjEKKypmdF9hZGEudHh0KglGb3IgVmltIHZlcnNpb24gNy4yYi4gIExhc3QgY2hhbmdlOiAyMDA4IEp1biAyMQogCiAKIAkJICAgIEFEQSBGSUxFIFRZUEUgUExVRy1JTlMgUkVGRVJFTkNFIE1BTlVBTH4KZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL2Z0X3NxbC50eHQgYi9ydW50aW1lL2RvYy9mdF9zcWwudHh0CmluZGV4IDc5NDZjNGYuLjhkMjM2YTEgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvZG9jL2Z0X3NxbC50eHQKKysrIGIvcnVudGltZS9kb2MvZnRfc3FsLnR4dApAQCAtMSw0ICsxLDQgQEAKLSpmdF9zcWwudHh0KglGb3IgVmltIHZlcnNpb24gNy4yYS4gIExhc3QgY2hhbmdlOiBXZWQgQXByIDI2IDIwMDYgMzowNTozMyBQTQorKmZ0X3NxbC50eHQqCUZvciBWaW0gdmVyc2lvbiA3LjJiLiAgTGFzdCBjaGFuZ2U6IFdlZCBBcHIgMjYgMjAwNiAzOjA1OjMzIFBNCiAKIGJ5IERhdmlkIEZpc2hidXJuCiAKZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL2d1aS50eHQgYi9ydW50aW1lL2RvYy9ndWkudHh0CmluZGV4IGQxOTFiYjAuLjU4MTIzYjEgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvZG9jL2d1aS50eHQKKysrIGIvcnVudGltZS9kb2MvZ3VpLnR4dApAQCAtMSw0ICsxLDQgQEAKLSpndWkudHh0KiAgICAgICBGb3IgVmltIHZlcnNpb24gNy4yYS4gIExhc3QgY2hhbmdlOiAyMDA4IEp1biAxNAorKmd1aS50eHQqICAgICAgIEZvciBWaW0gdmVyc2lvbiA3LjJiLiAgTGFzdCBjaGFuZ2U6IDIwMDggSnVuIDE0CiAKIAogCQkgIFZJTSBSRUZFUkVOQ0UgTUFOVUFMICAgIGJ5IEJyYW0gTW9vbGVuYWFyCmRpZmYgLS1naXQgYS9ydW50aW1lL2RvYy9ndWlfdzE2LnR4dCBiL3J1bnRpbWUvZG9jL2d1aV93MTYudHh0CmluZGV4IDk1NGUxMzguLmRiMWY4MzEgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvZG9jL2d1aV93MTYudHh0CisrKyBiL3J1bnRpbWUvZG9jL2d1aV93MTYudHh0CkBAIC0xLDQgKzEsNCBAQAotKmd1aV93MTYudHh0KiAgIEZvciBWaW0gdmVyc2lvbiA3LjJhLiAgTGFzdCBjaGFuZ2U6IDIwMDUgTWFyIDI5CisqZ3VpX3cxNi50eHQqICAgRm9yIFZpbSB2ZXJzaW9uIDcuMmIuICBMYXN0IGNoYW5nZTogMjAwNSBNYXIgMjkKIAogCiAJCSAgVklNIFJFRkVSRU5DRSBNQU5VQUwgICAgYnkgQnJhbSBNb29sZW5hYXIKZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL2d1aV93MzIudHh0IGIvcnVudGltZS9kb2MvZ3VpX3czMi50eHQKaW5kZXggNzhkNjk2ZS4uODViOTEwZiAxMDA2NDQKLS0tIGEvcnVudGltZS9kb2MvZ3VpX3czMi50eHQKKysrIGIvcnVudGltZS9kb2MvZ3VpX3czMi50eHQKQEAgLTEsNCArMSw0IEBACi0qZ3VpX3czMi50eHQqICAgRm9yIFZpbSB2ZXJzaW9uIDcuMmEuICBMYXN0IGNoYW5nZTogMjAwNyBBdWcgMzAKKypndWlfdzMyLnR4dCogICBGb3IgVmltIHZlcnNpb24gNy4yYi4gIExhc3QgY2hhbmdlOiAyMDA3IEF1ZyAzMAogCiAKIAkJICBWSU0gUkVGRVJFTkNFIE1BTlVBTCAgICBieSBCcmFtIE1vb2xlbmFhcgpAQCAtMTI5LDcgKzEyOSw3IEBACiB0aGUgbWFrZWZpbGUuCiAKIFlvdSBjYW4gc2VsZWN0IGFueSBmaWxlcyBhbmQgcmlnaHQtY2xpY2sgdG8gc2VlIGEgbWVudSBvcHRpb24gY2FsbGVkICJFZGl0Ci13aXRoIGd2aW0iLiAgQ2hvc2luZyB0aGlzIG1lbnUgb3B0aW9uIHdpbGwgaW52b2tlIGd2aW0gd2l0aCB0aGUgZmlsZSB5b3UgaGF2ZQord2l0aCBndmltIi4gIENob29zaW5nIHRoaXMgbWVudSBvcHRpb24gd2lsbCBpbnZva2UgZ3ZpbSB3aXRoIHRoZSBmaWxlIHlvdSBoYXZlCiBzZWxlY3RlZC4gIElmIHlvdSBzZWxlY3QgbXVsdGlwbGUgZmlsZXMsIHlvdSB3aWxsIGZpbmQgdHdvIGd2aW0tcmVsYXRlZCBtZW51CiBvcHRpb25zOgogIkVkaXQgd2l0aCBtdWx0aXBsZSBndmltcyIgIC0tIG9uZSBndmltIGZvciBlYWNoIGZpbGUgaW4gdGhlIHNlbGVjdGlvbgpkaWZmIC0tZ2l0IGEvcnVudGltZS9kb2MvZ3VpX3gxMS50eHQgYi9ydW50aW1lL2RvYy9ndWlfeDExLnR4dAppbmRleCA0NTdkMmNjLi5mZjg0ODU2IDEwMDY0NAotLS0gYS9ydW50aW1lL2RvYy9ndWlfeDExLnR4dAorKysgYi9ydW50aW1lL2RvYy9ndWlfeDExLnR4dApAQCAtMSw0ICsxLDQgQEAKLSpndWlfeDExLnR4dCogICBGb3IgVmltIHZlcnNpb24gNy4yYS4gIExhc3QgY2hhbmdlOiAyMDA3IERlYyAwOQorKmd1aV94MTEudHh0KiAgIEZvciBWaW0gdmVyc2lvbiA3LjJiLiAgTGFzdCBjaGFuZ2U6IDIwMDcgRGVjIDA5CiAKIAogCQkgIFZJTSBSRUZFUkVOQ0UgTUFOVUFMICAgIGJ5IEJyYW0gTW9vbGVuYWFyCmRpZmYgLS1naXQgYS9ydW50aW1lL2RvYy9oYW5ndWxpbi50eHQgYi9ydW50aW1lL2RvYy9oYW5ndWxpbi50eHQKaW5kZXggZjFmYTNiMy4uMjlhODI4YSAxMDA2NDQKLS0tIGEvcnVudGltZS9kb2MvaGFuZ3VsaW4udHh0CisrKyBiL3J1bnRpbWUvZG9jL2hhbmd1bGluLnR4dApAQCAtMSw0ICsxLDQgQEAKLSpoYW5ndWxpbi50eHQqICBGb3IgVmltIHZlcnNpb24gNy4yYS4gIExhc3QgY2hhbmdlOiAyMDA2IEFwciAwMgorKmhhbmd1bGluLnR4dCogIEZvciBWaW0gdmVyc2lvbiA3LjJiLiAgTGFzdCBjaGFuZ2U6IDIwMDYgQXByIDAyCiAKIAogCQkgIFZJTSBSRUZFUkVOQ0UgTUFOVUFMICAgIGJ5IENoaS1EZW9rIEh3YW5nIGFuZCBTdW5nLUh5dW4gTmFtCmRpZmYgLS1naXQgYS9ydW50aW1lL2RvYy9oZWJyZXcudHh0IGIvcnVudGltZS9kb2MvaGVicmV3LnR4dAppbmRleCA2MDBmMjc3Li5kMjhjMzNkIDEwMDY0NAotLS0gYS9ydW50aW1lL2RvYy9oZWJyZXcudHh0CisrKyBiL3J1bnRpbWUvZG9jL2hlYnJldy50eHQKQEAgLTEsNCArMSw0IEBACi0qaGVicmV3LnR4dCogICAgRm9yIFZpbSB2ZXJzaW9uIDcuMmEuICBMYXN0IGNoYW5nZTogMjAwNyBKdW4gMTQKKypoZWJyZXcudHh0KiAgICBGb3IgVmltIHZlcnNpb24gNy4yYi4gIExhc3QgY2hhbmdlOiAyMDA3IEp1biAxNAogCiAKIAkgICBWSU0gUkVGRVJFTkNFIE1BTlVBTCAgICBieSBSb24gQWFyb24gKGFuZCBBdm5lciBMb3R0ZW0pCmRpZmYgLS1naXQgYS9ydW50aW1lL2RvYy9oZWxwLnR4dCBiL3J1bnRpbWUvZG9jL2hlbHAudHh0CmluZGV4IDVjYWQyYmYuLmU4MWRkM2EgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvZG9jL2hlbHAudHh0CisrKyBiL3J1bnRpbWUvZG9jL2hlbHAudHh0CkBAIC0xLDQgKzEsNCBAQAotKmhlbHAudHh0KglGb3IgVmltIHZlcnNpb24gNy4yYS4gIExhc3QgY2hhbmdlOiAyMDA4IEp1biAyMQorKmhlbHAudHh0KglGb3IgVmltIHZlcnNpb24gNy4yYi4gIExhc3QgY2hhbmdlOiAyMDA4IEp1biAyMQogCiAJCQlWSU0gLSBtYWluIGhlbHAgZmlsZQogCQkJCQkJCQkJIGsKZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL2hvd3RvLnR4dCBiL3J1bnRpbWUvZG9jL2hvd3RvLnR4dAppbmRleCAzYWQ4ZjRmLi5mYmFkN2JlIDEwMDY0NAotLS0gYS9ydW50aW1lL2RvYy9ob3d0by50eHQKKysrIGIvcnVudGltZS9kb2MvaG93dG8udHh0CkBAIC0xLDQgKzEsNCBAQAotKmhvd3RvLnR4dCoJRm9yIFZpbSB2ZXJzaW9uIDcuMmEuICBMYXN0IGNoYW5nZTogMjAwNiBBcHIgMDIKKypob3d0by50eHQqCUZvciBWaW0gdmVyc2lvbiA3LjJiLiAgTGFzdCBjaGFuZ2U6IDIwMDYgQXByIDAyCiAKIAogCQkgIFZJTSBSRUZFUkVOQ0UgTUFOVUFMCSAgYnkgQnJhbSBNb29sZW5hYXIKZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL2lmX2NzY29wLnR4dCBiL3J1bnRpbWUvZG9jL2lmX2NzY29wLnR4dAppbmRleCA3NDQ4MDYyLi45N2JiNGIxIDEwMDY0NAotLS0gYS9ydW50aW1lL2RvYy9pZl9jc2NvcC50eHQKKysrIGIvcnVudGltZS9kb2MvaWZfY3Njb3AudHh0CkBAIC0xLDQgKzEsNCBAQAotKmlmX2NzY29wLnR4dCogIEZvciBWaW0gdmVyc2lvbiA3LjJhLiAgTGFzdCBjaGFuZ2U6IDIwMDUgTWFyIDI5CisqaWZfY3Njb3AudHh0KiAgRm9yIFZpbSB2ZXJzaW9uIDcuMmIuICBMYXN0IGNoYW5nZTogMjAwNSBNYXIgMjkKIAogCiAJCSAgVklNIFJFRkVSRU5DRSBNQU5VQUwgICAgYnkgQW5keSBLYWhuCmRpZmYgLS1naXQgYS9ydW50aW1lL2RvYy9pZl9tenNjaC50eHQgYi9ydW50aW1lL2RvYy9pZl9tenNjaC50eHQKaW5kZXggZGQ1MzhhYy4uNTU5YzQzOSAxMDA2NDQKLS0tIGEvcnVudGltZS9kb2MvaWZfbXpzY2gudHh0CisrKyBiL3J1bnRpbWUvZG9jL2lmX216c2NoLnR4dApAQCAtMSw0ICsxLDQgQEAKLSppZl9tenNjaC50eHQqICBGb3IgVmltIHZlcnNpb24gNy4yYS4gIExhc3QgY2hhbmdlOiAyMDA3IE1heSAwMworKmlmX216c2NoLnR4dCogIEZvciBWaW0gdmVyc2lvbiA3LjJiLiAgTGFzdCBjaGFuZ2U6IDIwMDggSnVuIDI4CiAKIAogCQkgIFZJTSBSRUZFUkVOQ0UgTUFOVUFMICAgIGJ5IFNlcmdleSBLaG9yZXYKQEAgLTU1LDcgKzU1LDcgQEAKIEluIHRoZSBjYXNlIG9mIDptemZpbGUsIHRoZSBjb2RlIHRvIGV4ZWN1dGUgaXMgdGhlIGNvbnRlbnRzIG9mIHRoZSBnaXZlbiBmaWxlLgogCiBFYWNoIGJ1ZmZlciBoYXMgaXRzIG93biBNelNjaGVtZSBuYW1lc3BhY2UuIEdsb2JhbCBuYW1lc3BhY2UgaXMgYm91bmQgdG8KLXRoZSBgZ2xvYmFsLW5hbWVzcGFjZScgdmFsdWUgZnJvbSB0aGUgJ3ZpbWV4dCcgbW9kdWxlLgordGhlICJnbG9iYWwtbmFtZXNwYWNlIiB2YWx1ZSBmcm9tIHRoZSAndmltZXh0JyBtb2R1bGUuCiBNelNjaGVtZSBpbnRlcmZhY2UgZGVmaW5lcyBleGNlcHRpb24gZXhuOnZpbSwgZGVyaXZlZCBmcm9tIGV4bi4KIEl0IGlzIHJhaXNlZCBmb3IgdmFyaW91cyBWaW0gZXJyb3JzLgogCkBAIC0yMTgsNyArMjE4LDcgQEAKIAkJCQkgICAge2xpbmVucn0uIElmIHtsaW5lbnJ9IGlzIDAsIGxpbmVzIHdpbGwgYmUKIAkJCQkgICAgaW5zZXJ0ZWQgYXQgc3RhcnQuCiAgICAgKGN1cnItYnVmZikJCQkgICAgR2V0IHRoZSBjdXJyZW50IGJ1ZmZlci4gVXNlIHByb2NlZHVyZXMKLQkJCQkgICAgZnJvbSBgdmltY21kJyBtb2R1bGUgdG8gY2hhbmdlIGl0LgorCQkJCSAgICBmcm9tICJ2aW1jbWQiIG1vZHVsZSB0byBjaGFuZ2UgaXQuCiAgICAgKGJ1ZmYtY291bnQpCQkgICAgR2V0IGNvdW50IG9mIHRvdGFsIGJ1ZmZlcnMgaW4gdGhlIGVkaXRvci4KICAgICAoZ2V0LW5leHQtYnVmZiBbYnVmZmVyXSkJICAgIEdldCBuZXh0IGJ1ZmZlci4KICAgICAoZ2V0LXByZXYtYnVmZiBbYnVmZmVyXSkJICAgIEdldCBwcmV2aW91cyBidWZmZXIuIFJldHVybiAjZiB3aGVuIHRoZXJlCmRpZmYgLS1naXQgYS9ydW50aW1lL2RvYy9pZl9vbGUudHh0IGIvcnVudGltZS9kb2MvaWZfb2xlLnR4dAppbmRleCAwOGI0YzQ5Li5kMWEzMDYzIDEwMDY0NAotLS0gYS9ydW50aW1lL2RvYy9pZl9vbGUudHh0CisrKyBiL3J1bnRpbWUvZG9jL2lmX29sZS50eHQKQEAgLTEsNCArMSw0IEBACi0qaWZfb2xlLnR4dCogICAgRm9yIFZpbSB2ZXJzaW9uIDcuMmEuICBMYXN0IGNoYW5nZTogMjAwNyBNYXkgMTAKKyppZl9vbGUudHh0KiAgICBGb3IgVmltIHZlcnNpb24gNy4yYi4gIExhc3QgY2hhbmdlOiAyMDA3IE1heSAxMAogCiAKIAkJICBWSU0gUkVGRVJFTkNFIE1BTlVBTCAgICBieSBQYXVsIE1vb3JlCmRpZmYgLS1naXQgYS9ydW50aW1lL2RvYy9pZl9wZXJsLnR4dCBiL3J1bnRpbWUvZG9jL2lmX3BlcmwudHh0CmluZGV4IDY3NWVkMzcuLjk3ZTk5YjkgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvZG9jL2lmX3BlcmwudHh0CisrKyBiL3J1bnRpbWUvZG9jL2lmX3BlcmwudHh0CkBAIC0xLDQgKzEsNCBAQAotKmlmX3BlcmwudHh0KiAgIEZvciBWaW0gdmVyc2lvbiA3LjJhLiAgTGFzdCBjaGFuZ2U6IDIwMDYgTWFyIDA2CisqaWZfcGVybC50eHQqICAgRm9yIFZpbSB2ZXJzaW9uIDcuMmIuICBMYXN0IGNoYW5nZTogMjAwNiBNYXIgMDYKIAogCiAJCSAgVklNIFJFRkVSRU5DRSBNQU5VQUwgICAgYnkgU3ZlbiBWZXJkb29sYWVnZQpkaWZmIC0tZ2l0IGEvcnVudGltZS9kb2MvaWZfcHl0aC50eHQgYi9ydW50aW1lL2RvYy9pZl9weXRoLnR4dAppbmRleCBmOGIwZjg2Li5lZmRjMzdlIDEwMDY0NAotLS0gYS9ydW50aW1lL2RvYy9pZl9weXRoLnR4dAorKysgYi9ydW50aW1lL2RvYy9pZl9weXRoLnR4dApAQCAtMSw0ICsxLDQgQEAKLSppZl9weXRoLnR4dCogICBGb3IgVmltIHZlcnNpb24gNy4yYS4gIExhc3QgY2hhbmdlOiAyMDA2IEFwciAzMAorKmlmX3B5dGgudHh0KiAgIEZvciBWaW0gdmVyc2lvbiA3LjJiLiAgTGFzdCBjaGFuZ2U6IDIwMDYgQXByIDMwCiAKIAogCQkgIFZJTSBSRUZFUkVOQ0UgTUFOVUFMICAgIGJ5IFBhdWwgTW9vcmUKZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL2lmX3J1YnkudHh0IGIvcnVudGltZS9kb2MvaWZfcnVieS50eHQKaW5kZXggYzM4MWE2My4uNmRlMWYxMCAxMDA2NDQKLS0tIGEvcnVudGltZS9kb2MvaWZfcnVieS50eHQKKysrIGIvcnVudGltZS9kb2MvaWZfcnVieS50eHQKQEAgLTEsNCArMSw0IEBACi0qaWZfcnVieS50eHQqICAgRm9yIFZpbSB2ZXJzaW9uIDcuMmEuICBMYXN0IGNoYW5nZTogMjAwNiBBcHIgMzAKKyppZl9ydWJ5LnR4dCogICBGb3IgVmltIHZlcnNpb24gNy4yYi4gIExhc3QgY2hhbmdlOiAyMDA2IEFwciAzMAogCiAKIAkJICBWSU0gUkVGRVJFTkNFIE1BTlVBTCAgICBieSBTaHVnbyBNYWVkYQpkaWZmIC0tZ2l0IGEvcnVudGltZS9kb2MvaWZfc25pZmYudHh0IGIvcnVudGltZS9kb2MvaWZfc25pZmYudHh0CmluZGV4IDk1Njg5NWQuLjMxMjljMTQgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvZG9jL2lmX3NuaWZmLnR4dAorKysgYi9ydW50aW1lL2RvYy9pZl9zbmlmZi50eHQKQEAgLTEsNCArMSw0IEBACi0qaWZfc25pZmYudHh0KglGb3IgVmltIHZlcnNpb24gNy4yYS4gIExhc3QgY2hhbmdlOiAyMDA1IE1hciAyOQorKmlmX3NuaWZmLnR4dCoJRm9yIFZpbSB2ZXJzaW9uIDcuMmIuICBMYXN0IGNoYW5nZTogMjAwNSBNYXIgMjkKIAogCiAJCSAgVklNIFJFRkVSRU5DRSBNQU5VQUwKZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL2lmX3RjbC50eHQgYi9ydW50aW1lL2RvYy9pZl90Y2wudHh0CmluZGV4IDM0NDU5MmIuLmE5ZjVhZjcgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvZG9jL2lmX3RjbC50eHQKKysrIGIvcnVudGltZS9kb2MvaWZfdGNsLnR4dApAQCAtMSw0ICsxLDQgQEAKLSppZl90Y2wudHh0KiAgICBGb3IgVmltIHZlcnNpb24gNy4yYS4gIExhc3QgY2hhbmdlOiAyMDA2IE1hciAwNgorKmlmX3RjbC50eHQqICAgIEZvciBWaW0gdmVyc2lvbiA3LjJiLiAgTGFzdCBjaGFuZ2U6IDIwMDggSnVuIDI2CiAKIAogCQkgIFZJTSBSRUZFUkVOQ0UgTUFOVUFMICAgIGJ5IEluZ28gV2lsa2VuCkBAIC00MDcsNyArNDA3LDcgQEAKIDwJU2VlIHx0Y2wtd2luZG93LWNtZHN8IGZvciB0aGUgYXZhaWxhYmxlIG9wdGlvbnMuCiAKIAkkYnVmIGNvbW1hbmQgWy1xdWlldF0ge2NtZH0JCQkqdGNsLWJ1ZmZlci1jb21tYW5kKgotCSRidWYgZXhwciB7ZXhyfQkJCQkJKnRjbC1idWZmZXItZXhwcioKKwkkYnVmIGV4cHIge2V4cHJ9CQkJCSp0Y2wtYnVmZmVyLWV4cHIqCiAJJGJ1ZiBvcHRpb24ge29wdH0gW3ZhbF0JCQkJKnRjbC1idWZmZXItb3B0aW9uKgogCVRoZXNlIGFyZSBzaW1pbGFyIHRvICI6OnZpbTo6Y29tbWFuZCIgZXRjLiwgZXhjZXB0IHRoYXQgZXZlcnl0aGluZyBpcwogCWRvbmUgaW4gdGhlIGNvbnRleHQgb2YgdGhlIGJ1ZmZlciByZXByZXNlbnRlZCBieSAkYnVmLCBpbnN0ZWFkIG9mIHRoZQpkaWZmIC0tZ2l0IGEvcnVudGltZS9kb2MvaW5kZW50LnR4dCBiL3J1bnRpbWUvZG9jL2luZGVudC50eHQKaW5kZXggOGU1YjdhMy4uNTQyZTAzZCAxMDA2NDQKLS0tIGEvcnVudGltZS9kb2MvaW5kZW50LnR4dAorKysgYi9ydW50aW1lL2RvYy9pbmRlbnQudHh0CkBAIC0xLDQgKzEsNCBAQAotKmluZGVudC50eHQqICAgIEZvciBWaW0gdmVyc2lvbiA3LjJhLiAgTGFzdCBjaGFuZ2U6IDIwMDggSnVuIDIxCisqaW5kZW50LnR4dCogICAgRm9yIFZpbSB2ZXJzaW9uIDcuMmIuICBMYXN0IGNoYW5nZTogMjAwOCBKdW4gMzAKIAogCiAJCSAgVklNIFJFRkVSRU5DRSBNQU5VQUwgICAgYnkgQnJhbSBNb29sZW5hYXIKQEAgLTUwNiw2ICs1MDYsODEgQEAKIG90aGVyIGV4dGVuc2lvbnMgc3VjaCBhcyAuZm9yLgogCiAKK1BIUAkJCQkqZnQtcGhwLWluZGVudCogKnBocC1pbmRlbnQqICpwaHAtaW5kZW50aW5nKgorCitOT1RFOglQSFAgZmlsZXMgd2lsbCBiZSBpbmRlbnRlZCBjb3JyZWN0bHkgb25seSBpZiBQSFAgfHN5bnRheHwgaXMgYWN0aXZlLgorCitJZiB5b3UgYXJlIGVkaXRpbmcgYSBmaWxlIGluIFVuaXggJ2ZpbGVmb3JtYXQnIGFuZCAnXHInIGNoYXJhY3RlcnMgYXJlIHByZXNlbnQKK2JlZm9yZSBuZXcgbGluZXMsIGluZGVudGF0aW9uIHdvbid0IHByb2NlZWQgY29ycmVjdGx5IDsgeW91IGhhdmUgdG8gcmVtb3ZlCit0aG9zZSB1c2VsZXNzIGNoYXJhY3RlcnMgZmlyc3Qgd2l0aCBhIGNvbW1hbmQgbGlrZTogPgorCisgICAgOiVzIC9cciQvL2cKKworT3IsIHlvdSBjYW4gc2ltcGx5IHw6bGV0fCB0aGUgdmFyaWFibGUgUEhQX3JlbW92ZUNSd2hlblVuaXggdG8gMSBhbmQgdGhlCitzY3JpcHQgd2lsbCBzaWxlbnRseSByZW1vdmUgdGhlbSB3aGVuIFZpbSBsb2FkcyBhIFBIUCBmaWxlIChhdCBlYWNofEJ1ZlJlYWR8KS4KKworT1BUSU9OUzogfgorCitQSFAgaW5kZW50aW5nIGNhbiBiZSBhbHRlcmVkIGluIHNldmVyYWwgd2F5cyBieSBtb2RpZnlpbmcgdGhlIHZhbHVlcyBvZiBzb21lCit2YXJpYWJsZXM6CisKKwkJCQkJCQkJKnBocC1jb21tZW50KgorVG8gbm90IGVuYWJsZSBhdXRvLWZvcm1hdGluZyBvZiBjb21tZW50cyBieSBkZWZhdWx0IChpZiB5b3Ugd2FudCB0byB1c2UgeW91cgorb3duICdmb3JtYXRvcHRpb25zJyk6ID4KKyAgICA6bGV0IGc6UEhQX2F1dG9mb3JtYXRjb21tZW50ID0gMAorCitFbHNlLCAndCcgd2lsbCBiZSByZW1vdmVkIGZyb20gdGhlICdmb3JtYXRvcHRpb25zJyBzdHJpbmcgYW5kICJxcm93Y2IiIHdpbGwgYmUKK2FkZGVkLCBzZWV8Zm8tdGFibGV8Zm9yIG1vcmUgaW5mb3JtYXRpb24uCistLS0tLS0tLS0tLS0tCisKK1RvIGFkZCBhbiBleHRyYSBpbmRlbnQgdG8gZXZlcnkgUEhQIGxpbmVzIHdpdGggTiBiZWluZyB0aGUgbnVtYmVyIG9mCisnc2hpZnR3aWR0aCcgdG8gYWRkOiA+CisgICAgOmxldCBnOlBIUF9kZWZhdWx0X2luZGVudGluZyA9IE4KKworRm9yIGV4YW1wbGUsIHdpdGggTiA9IDEsIHRoaXMgd2lsbCBnaXZlOgorPgorICAgIDw/cGhwCisJaWYgKCFpc3NldCgkSGlzdG9yeV9sc3Rfc2VsKSkKKwkgICAgaWYgKCFpc3NldCgkSGlzdG9yeV9sc3Rfc2VsKSkKKwkJaWYgKCFpc3NldCgkSGlzdG9yeV9sc3Rfc2VsKSkgeworCQkgICAgJEhpc3RvcnlfbHN0X3NlbD0wOworCQl9IGVsc2UKKwkJICAgICRmb289ImJhciI7CisKKwkkY29tbWFuZF9oaXN0ID0gVFJVRTsKKyAgICA/PgorKE5vdGljZSB0aGUgZXh0cmEgaW5kZW50IGJldHdlZW4gdGhlIFBIUCBjb250YWluZXIgbWFya2VycyBhbmQgdGhlIGNvZGUpCistLS0tLS0tLS0tLS0tCisKK1RvIGF1dG9tYXRpY2FsbHkgcmVtb3ZlICdccicgY2hhcmFjdGVycyB3aGVuIHRoZSAnZmlsZWZvcm1hdCcgaXMgc2V0IHRvIFVuaXg6ID4KKyAgICA6bGV0IGc6UEhQX3JlbW92ZUNSd2hlblVuaXggPSAxCistLS0tLS0tLS0tLS0tCisKK1RvIGluZGVudCBicmFjZXMgYXQgdGhlIHNhbWUgbGV2ZWwgdGhhbiB0aGUgY29kZSB0aGV5IGNvbnRhaW46ID4KKyAgICA6bGV0IGc6UEhQX0JyYWNlc0F0Q29kZUxldmVsID0gMQorICAgIAorVGhpcyB3aWxsIGdpdmUgdGhlIGZvbGxvd2luZyByZXN1bHQ6ID4KKyAgICBpZiAoJGZvbykKKwl7CisJZm9vKCk7CisJfQorSW5zdGVhZCBvZjogPgorICAgIGlmICgkZm9vKQorICAgIHsKKwlmb28oKTsKKyAgICB9CisKK05PVEU6CUluZGVudGluZyB3aWxsIGJlIGEgYml0IHNsb3dlciBpZiB0aGlzIG9wdGlvbiBpcyB1c2VkIGJlY2F1c2Ugc29tZQorCW9wdGltaXphdGlvbnMgd29uJ3QgYmUgYXZhaWxhYmxlLgorLS0tLS0tLS0tLS0tLQorCitUbyBpbmRlbnQgJ2Nhc2U6JyBhbmQgJ2RlZmF1bHQ6JyBzdGF0ZW1lbnRzIGluIHN3aXRjaCgpIGJsb2NrczogPgorICAgIDpsZXQgZzpQSFBfdmludGFnZV9jYXNlX2RlZmF1bHRfaW5kZW50ID0gMQorCisoQnkgZGVmYXVsdCB0aGV5IGFyZSBpbmRlbnRlZCBhdCB0aGUgc2FtZSBsZXZlbCB0aGFuIHRoZSAnc3dpdGNoKCknIHRvIGF2b2lkCit1bm5lY2Vzc2FyeSBpbmRlbnRhdGlvbikKKworCiBQWVRIT04JCQkJCQkJKmZ0LXB5dGhvbi1pbmRlbnQqCiAKIFRoZSBhbW91bnQgb2YgaW5kZW50IGNhbiBiZSBzZXQgZm9yIHRoZSBmb2xsb3dpbmcgc2l0dWF0aW9ucy4gIFRoZSBleGFtcGxlcwpkaWZmIC0tZ2l0IGEvcnVudGltZS9kb2MvaW5kZXgudHh0IGIvcnVudGltZS9kb2MvaW5kZXgudHh0CmluZGV4IGY0OTQzMjguLjM1ZjUwNDQgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvZG9jL2luZGV4LnR4dAorKysgYi9ydW50aW1lL2RvYy9pbmRleC50eHQKQEAgLTEsNCArMSw0IEBACi0qaW5kZXgudHh0KiAgICAgRm9yIFZpbSB2ZXJzaW9uIDcuMmEuICBMYXN0IGNoYW5nZTogMjAwOCBNYXkgMDQKKyppbmRleC50eHQqICAgICBGb3IgVmltIHZlcnNpb24gNy4yYi4gIExhc3QgY2hhbmdlOiAyMDA4IE1heSAwNAogCiAKIAkJICBWSU0gUkVGRVJFTkNFIE1BTlVBTCAgICBieSBCcmFtIE1vb2xlbmFhcgpkaWZmIC0tZ2l0IGEvcnVudGltZS9kb2MvaW5zZXJ0LnR4dCBiL3J1bnRpbWUvZG9jL2luc2VydC50eHQKaW5kZXggZGIwYmEwZS4uNjc1MmJhNiAxMDA2NDQKLS0tIGEvcnVudGltZS9kb2MvaW5zZXJ0LnR4dAorKysgYi9ydW50aW1lL2RvYy9pbnNlcnQudHh0CkBAIC0xLDQgKzEsNCBAQAotKmluc2VydC50eHQqICAgIEZvciBWaW0gdmVyc2lvbiA3LjJhLiAgTGFzdCBjaGFuZ2U6IDIwMDggSnVuIDIxCisqaW5zZXJ0LnR4dCogICAgRm9yIFZpbSB2ZXJzaW9uIDcuMmIuICBMYXN0IGNoYW5nZTogMjAwOCBKdW4gMjEKIAogCiAJCSAgVklNIFJFRkVSRU5DRSBNQU5VQUwgICAgYnkgQnJhbSBNb29sZW5hYXIKZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL2ludHJvLnR4dCBiL3J1bnRpbWUvZG9jL2ludHJvLnR4dAppbmRleCBiODMwYzU3Li5hYzc1MGVlIDEwMDY0NAotLS0gYS9ydW50aW1lL2RvYy9pbnRyby50eHQKKysrIGIvcnVudGltZS9kb2MvaW50cm8udHh0CkBAIC0xLDQgKzEsNCBAQAotKmludHJvLnR4dCogICAgIEZvciBWaW0gdmVyc2lvbiA3LjJhLiAgTGFzdCBjaGFuZ2U6IDIwMDggSnVuIDI0CisqaW50cm8udHh0KiAgICAgRm9yIFZpbSB2ZXJzaW9uIDcuMmIuICBMYXN0IGNoYW5nZTogMjAwOCBKdW4gMjQKIAogCiAJCSAgVklNIFJFRkVSRU5DRSBNQU5VQUwgICAgYnkgQnJhbSBNb29sZW5hYXIKQEAgLTIwOCw3ICsyMDgsNyBAQAogCUJpbGwgRm9zdGVyCQlBdGhlbmEgR1VJIHBvcnQKIAlHb29nbGUJCQlMZXRzIG1lIHdvcmsgb24gVmltIG9uZSBkYXkgYSB3ZWVrCiAJTG9pYyBHcmVuaWUJCXh2aW0gKGlkZWFzIGZvciBtdWx0aSB3aW5kb3dzIHZlcnNpb24pCi0JU3ZlbiBHdWNrZXMJCVZpbSBwcm9tb3RvciBhbmQgcHJldmlvdXMgV1dXIHBhZ2UgbWFpbnRhaW5lcgorCVN2ZW4gR3Vja2VzCQlWaW0gcHJvbW90ZXIgYW5kIHByZXZpb3VzIFdXVyBwYWdlIG1haW50YWluZXIKIAlEYXJyZW4gSGllYmVydAkJRXh1YmVyYW50IGN0YWdzCiAJSmFzb24gSGlsZGVicmFuZAlHVEsrIDIgcG9ydAogCUJydWNlIEh1bnNha2VyCQlpbXByb3ZlbWVudHMgZm9yIFZNUyBwb3J0CmRpZmYgLS1naXQgYS9ydW50aW1lL2RvYy9tYXAudHh0IGIvcnVudGltZS9kb2MvbWFwLnR4dAppbmRleCA0MWI5NjE1Li4xMzFlMWJkIDEwMDY0NAotLS0gYS9ydW50aW1lL2RvYy9tYXAudHh0CisrKyBiL3J1bnRpbWUvZG9jL21hcC50eHQKQEAgLTEsNCArMSw0IEBACi0qbWFwLnR4dCogICAgICAgRm9yIFZpbSB2ZXJzaW9uIDcuMmEuICBMYXN0IGNoYW5nZTogMjAwOCBKdW4gMjEKKyptYXAudHh0KiAgICAgICBGb3IgVmltIHZlcnNpb24gNy4yYi4gIExhc3QgY2hhbmdlOiAyMDA4IEp1bCAwOQogCiAKIAkJICBWSU0gUkVGRVJFTkNFIE1BTlVBTCAgICBieSBCcmFtIE1vb2xlbmFhcgpAQCAtMTYyLDggKzE2Miw4IEBACiBvdGhlciBhcmd1bWVudHMuCiAKIAkJCQkqOm1hcC1sb2NhbCogKjptYXAtPGJ1ZmZlcj4qICpFMjI0KiAqRTIyNSoKLUlmIHRoZSBmaXJzdCBhcmd1bWVudCB0byBvbmUgb2YgdGhlc2UgY29tbWFuZHMgaXMgIjxidWZmZXI+IiBpdCB3aWxsIGFwcGx5IHRvCi1tYXBwaW5ncyBsb2NhbGx5IHRvIHRoZSBjdXJyZW50IGJ1ZmZlciBvbmx5LiAgRXhhbXBsZTogPgorSWYgdGhlIGZpcnN0IGFyZ3VtZW50IHRvIG9uZSBvZiB0aGVzZSBjb21tYW5kcyBpcyAiPGJ1ZmZlcj4iIHRoZSBtYXBwaW5nIHdpbGwKK2JlIGVmZmVjdGl2ZSBpbiB0aGUgY3VycmVudCBidWZmZXIgb25seS4gIEV4YW1wbGU6ID4KIAk6bWFwIDxidWZmZXI+ICAsdyAgL1suLDtdPENSPgogVGhlbiB5b3UgY2FuIG1hcCAiLHciIHRvIHNvbWV0aGluZyBlbHNlIGluIGFub3RoZXIgYnVmZmVyOiA+CiAJOm1hcCA8YnVmZmVyPiAgLHcgIC9bIyYhXTxDUj4KZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL21ieXRlLnR4dCBiL3J1bnRpbWUvZG9jL21ieXRlLnR4dAppbmRleCA0ZWFiY2Y3Li42MDQ0NWQxIDEwMDY0NAotLS0gYS9ydW50aW1lL2RvYy9tYnl0ZS50eHQKKysrIGIvcnVudGltZS9kb2MvbWJ5dGUudHh0CkBAIC0xLDQgKzEsNCBAQAotKm1ieXRlLnR4dCogICAgIEZvciBWaW0gdmVyc2lvbiA3LjJhLiAgTGFzdCBjaGFuZ2U6IDIwMDggSnVuIDIxCisqbWJ5dGUudHh0KiAgICAgRm9yIFZpbSB2ZXJzaW9uIDcuMmIuICBMYXN0IGNoYW5nZTogMjAwOCBKdW4gMjEKIAogCiAJCSAgVklNIFJFRkVSRU5DRSBNQU5VQUwJICBieSBCcmFtIE1vb2xlbmFhciBldCBhbC4KZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL21lc3NhZ2UudHh0IGIvcnVudGltZS9kb2MvbWVzc2FnZS50eHQKaW5kZXggOWY4YmJmYi4uNDczMWE3MSAxMDA2NDQKLS0tIGEvcnVudGltZS9kb2MvbWVzc2FnZS50eHQKKysrIGIvcnVudGltZS9kb2MvbWVzc2FnZS50eHQKQEAgLTEsNCArMSw0IEBACi0qbWVzc2FnZS50eHQqICAgRm9yIFZpbSB2ZXJzaW9uIDcuMmEuICBMYXN0IGNoYW5nZTogMjAwNyBBdWcgMTkKKyptZXNzYWdlLnR4dCogICBGb3IgVmltIHZlcnNpb24gNy4yYi4gIExhc3QgY2hhbmdlOiAyMDA3IEF1ZyAxOQogCiAKIAkJICBWSU0gUkVGRVJFTkNFIE1BTlVBTCAgICBieSBCcmFtIE1vb2xlbmFhcgpkaWZmIC0tZ2l0IGEvcnVudGltZS9kb2MvbWxhbmcudHh0IGIvcnVudGltZS9kb2MvbWxhbmcudHh0CmluZGV4IDJlOTRkODUuLmQyMTRjMjcgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvZG9jL21sYW5nLnR4dAorKysgYi9ydW50aW1lL2RvYy9tbGFuZy50eHQKQEAgLTEsNCArMSw0IEBACi0qbWxhbmcudHh0KiAgICAgRm9yIFZpbSB2ZXJzaW9uIDcuMmEuICBMYXN0IGNoYW5nZTogMjAwOCBKdW4gMDgKKyptbGFuZy50eHQqICAgICBGb3IgVmltIHZlcnNpb24gNy4yYi4gIExhc3QgY2hhbmdlOiAyMDA4IEp1biAwOAogCiAKIAkJICBWSU0gUkVGRVJFTkNFIE1BTlVBTCAgICBieSBCcmFtIE1vb2xlbmFhcgpkaWZmIC0tZ2l0IGEvcnVudGltZS9kb2MvbW90aW9uLnR4dCBiL3J1bnRpbWUvZG9jL21vdGlvbi50eHQKaW5kZXggY2RlYjRmOS4uYzFiOGQzOCAxMDA2NDQKLS0tIGEvcnVudGltZS9kb2MvbW90aW9uLnR4dAorKysgYi9ydW50aW1lL2RvYy9tb3Rpb24udHh0CkBAIC0xLDQgKzEsNCBAQAotKm1vdGlvbi50eHQqICAgIEZvciBWaW0gdmVyc2lvbiA3LjJhLiAgTGFzdCBjaGFuZ2U6IDIwMDggTWF5IDAyCisqbW90aW9uLnR4dCogICAgRm9yIFZpbSB2ZXJzaW9uIDcuMmIuICBMYXN0IGNoYW5nZTogMjAwOCBNYXkgMDIKIAogCiAJCSAgVklNIFJFRkVSRU5DRSBNQU5VQUwgICAgYnkgQnJhbSBNb29sZW5hYXIKZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL25ldGJlYW5zLnR4dCBiL3J1bnRpbWUvZG9jL25ldGJlYW5zLnR4dAppbmRleCAzNTM5MTExLi5iODA3NGM3IDEwMDY0NAotLS0gYS9ydW50aW1lL2RvYy9uZXRiZWFucy50eHQKKysrIGIvcnVudGltZS9kb2MvbmV0YmVhbnMudHh0CkBAIC0xLDQgKzEsNCBAQAotKm5ldGJlYW5zLnR4dCogIEZvciBWaW0gdmVyc2lvbiA3LjJhLiAgTGFzdCBjaGFuZ2U6IDIwMDggSnVuIDIyCisqbmV0YmVhbnMudHh0KiAgRm9yIFZpbSB2ZXJzaW9uIDcuMmIuICBMYXN0IGNoYW5nZTogMjAwOCBKdW4gMjgKIAogCiAJCSAgVklNIFJFRkVSRU5DRSBNQU5VQUwgICAgYnkgR29yZG9uIFByaWV1ciBldCBhbC4KQEAgLTY5LDcgKzY5LDcgQEAKIGluIHJlY2VudCByZWxlYXNlcy4KIAogRm9yIG1vcmUgaW5mb3JtYXRpb24gdmlzaXQgdGhlIG1haW4gTmV0QmVhbnMgd2ViIHNpdGUgaHR0cDovL3d3dy5uZXRiZWFucy5vcmcuCi1UaGUgRXh0ZXJuYWwgRWRpdG9yIGlzIG5vdywgdW5mb3J0dW5hdGVseSwgZGVjbGFyZWQgT2Jzb2x0ZS4gIFNlZQorVGhlIEV4dGVybmFsIEVkaXRvciBpcyBub3csIHVuZm9ydHVuYXRlbHksIGRlY2xhcmVkIG9ic29sZXRlLiAgU2VlCiAgaHR0cDovL2V4dGVybmFsZWRpdG9yLm5ldGJlYW5zLm9yZy4KIAogU3VuIE1pY3Jvc3lzdGVtcywgSW5jLiBhbHNvIHNoaXBzIE5ldEJlYW5zIHVuZGVyIHRoZSBuYW1lIFN1biBPTkUgU3R1ZGlvLgpAQCAtNDE4LDcgKzQxOCw3IEBACiAJCU5vdCBpbXBsZW1lbnRlZC4KIAogbmV0YmVhbnNCdWZmZXIgaXNOZXRiZWFuc0J1ZmZlcgotCQlJZiAiaXNOZXRiZWFuc0J1ZmZlciIgaXMgIlQiIHRoZW4gdGhpcyBidWZmZXIgaXMgYGBvd25lZCcnIGJ5CisJCUlmICJpc05ldGJlYW5zQnVmZmVyIiBpcyAiVCIgdGhlbiB0aGlzIGJ1ZmZlciBpcyAib3duZWQiIGJ5CiAJCU5ldEJlYW5zLgogCQlOZXcgaW4gdmVyc2lvbiAyLjIuCiAKZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL29wdGlvbnMudHh0IGIvcnVudGltZS9kb2Mvb3B0aW9ucy50eHQKaW5kZXggNTY4ZGFiNi4uMjJjMDQxOSAxMDA2NDQKLS0tIGEvcnVudGltZS9kb2Mvb3B0aW9ucy50eHQKKysrIGIvcnVudGltZS9kb2Mvb3B0aW9ucy50eHQKQEAgLTEsNCArMSw0IEBACi0qb3B0aW9ucy50eHQqCUZvciBWaW0gdmVyc2lvbiA3LjJhLiAgTGFzdCBjaGFuZ2U6IDIwMDggSnVuIDI0Cisqb3B0aW9ucy50eHQqCUZvciBWaW0gdmVyc2lvbiA3LjJiLiAgTGFzdCBjaGFuZ2U6IDIwMDggSnVsIDA1CiAKIAogCQkgIFZJTSBSRUZFUkVOQ0UgTUFOVUFMCSAgYnkgQnJhbSBNb29sZW5hYXIKQEAgLTEyODAsNyArMTI4MCw4IEBACiAJCQl8K2ZpbGVfaW5fcGF0aHwgZmVhdHVyZX0KIAlUaGlzIGlzIGEgbGlzdCBvZiBkaXJlY3RvcmllcyB3aGljaCB3aWxsIGJlIHNlYXJjaGVkIHdoZW4gdXNpbmcgdGhlCiAJfDpjZHwgYW5kIHw6bGNkfCBjb21tYW5kcywgcHJvdmlkZWQgdGhhdCB0aGUgZGlyZWN0b3J5IGJlaW5nIHNlYXJjaGVkCi0JZm9yIGhhcyBhIHJlbGF0aXZlIHBhdGggKG5vdCBzdGFydGluZyB3aXRoICIvIiwgIi4vIiBvciAiLi4vIikuCisJZm9yIGhhcyBhIHJlbGF0aXZlIHBhdGgsIG5vdCBhbiBhYnNvbHV0ZSBwYXJ0IHN0YXJ0aW5nIHdpdGggIi8iLCAiLi8iCisJb3IgIi4uLyIsIHRoZSAnY2RwYXRoJyBvcHRpb24gaXMgbm90IHVzZWQgdGhlbi4KIAlUaGUgJ2NkcGF0aCcgb3B0aW9uJ3MgdmFsdWUgaGFzIHRoZSBzYW1lIGZvcm0gYW5kIHNlbWFudGljcyBhcwogCXwncGF0aCd8LiAgQWxzbyBzZWUgfGZpbGUtc2VhcmNoaW5nfC4KIAlUaGUgZGVmYXVsdCB2YWx1ZSBpcyB0YWtlbiBmcm9tICRDRFBBVEgsIHdpdGggYSAiLCIgcHJlcGVuZGVkIHRvIGxvb2sKQEAgLTUwMTEsOSArNTAxMiwxMCBAQAogCQkJZ2xvYmFsIG9yIGxvY2FsIHRvIGJ1ZmZlciB8Z2xvYmFsLWxvY2FsfAogCQkJe25vdCBpbiBWaX0KIAlUaGlzIGlzIGEgbGlzdCBvZiBkaXJlY3RvcmllcyB3aGljaCB3aWxsIGJlIHNlYXJjaGVkIHdoZW4gdXNpbmcgdGhlCi0JfGdmfCwgW2YsIF1mLCBeV2YsIHw6ZmluZHwgYW5kIG90aGVyIGNvbW1hbmRzLCBwcm92aWRlZCB0aGF0IHRoZSBmaWxlCi0JYmVpbmcgc2VhcmNoZWQgZm9yIGhhcyBhIHJlbGF0aXZlIHBhdGggKG5vdCBzdGFydGluZyB3aXRoICcvJykuICBUaGUKLQlkaXJlY3RvcmllcyBpbiB0aGUgJ3BhdGgnIG9wdGlvbiBtYXkgYmUgcmVsYXRpdmUgb3IgYWJzb2x1dGUuCisJfGdmfCwgW2YsIF1mLCBeV2YsIHw6ZmluZHwsIHw6c2ZpbmR8LCB8OnRhYmZpbmR8IGFuZCBvdGhlciBjb21tYW5kcywKKwlwcm92aWRlZCB0aGF0IHRoZSBmaWxlIGJlaW5nIHNlYXJjaGVkIGZvciBoYXMgYSByZWxhdGl2ZSBwYXRoIChub3QKKwlzdGFydGluZyB3aXRoICIvIiwgIi4vIiBvciAiLi4vIikuICBUaGUgZGlyZWN0b3JpZXMgaW4gdGhlICdwYXRoJworCW9wdGlvbiBtYXkgYmUgcmVsYXRpdmUgb3IgYWJzb2x1dGUuCiAJLSBVc2UgY29tbWFzIHRvIHNlcGFyYXRlIGRpcmVjdG9yeSBuYW1lczogPgogCQk6c2V0IHBhdGg9LiwvdXNyL2xvY2FsL2luY2x1ZGUsL3Vzci9pbmNsdWRlCiA8CS0gU3BhY2VzIGNhbiBhbHNvIGJlIHVzZWQgdG8gc2VwYXJhdGUgZGlyZWN0b3J5IG5hbWVzIChmb3IgYmFja3dhcmRzCkBAIC01MDMyLDE5ICs1MDM0LDggQEAKIAktIEVudmlyb25tZW50IHZhcmlhYmxlcyBhcmUgZXhwYW5kZWQgfDpzZXRfZW52fC4KIAktIFdoZW4gdXNpbmcgfG5ldHJ3LnZpbXwgVVJMcyBjYW4gYmUgdXNlZC4gIEZvciBleGFtcGxlLCBhZGRpbmcKIAkgICJodHRwOi8vd3d3LnZpbS5vcmciIHdpbGwgbWFrZSAiOmZpbmQgaW5kZXguaHRtbCIgd29yay4KLQktIFNlYXJjaCB1cHdhcmRzIGFuZCBkb3dud2FyZHMgaW4gYSBkaXJlY3RvcnkgdHJlZToKLQkgIDEpICIqIiBtYXRjaGVzIGEgc2VxdWVuY2Ugb2YgY2hhcmFjdGVycywgZS5nLjogPgotCQk6c2V0IHBhdGg9L3Vzci9pbmNsdWRlLyoKLTwJICAgICBtZWFucyBhbGwgc3ViZGlyZWN0b3JpZXMgaW4gL3Vzci9pbmNsdWRlIChidXQgbm90IC91c3IvaW5jbHVkZQotCSAgICAgaXRzZWxmKS4gPgotCQk6c2V0IHBhdGg9L3Vzci8qYwotPAkgICAgIG1hdGNoZXMgL3Vzci9kb2MgYW5kIC91c3Ivc3JjLgotCSAgMikgIioqIiBtYXRjaGVzIGEgc3VidHJlZSwgdXAgdG8gMTAwIGRpcmVjdG9yaWVzIGRlZXAuICBFeGFtcGxlOiA+Ci0JCTpzZXQgcGF0aD0vaG9tZS91c2VyX3gvc3JjLyoqCi08CSAgICAgbWVhbnMgc2VhcmNoIGluIHRoZSB3aG9sZSBzdWJ0cmVlIHVuZGVyICIvaG9tZS91c3JfeC9zcmMiLgotCSAgMykgSWYgdGhlIHBhdGggZW5kcyB3aXRoIGEgJzsnLCB0aGlzIHBhdGggaXMgdGhlIHN0YXJ0cG9pbnQKLQkgICAgIGZvciB1cHdhcmQgc2VhcmNoLgotCSAgU2VlIHxmaWxlLXNlYXJjaGluZ3wgZm9yIG1vcmUgaW5mbyBhbmQgZXhhY3Qgc3ludGF4LgorCS0gU2VhcmNoIHVwd2FyZHMgYW5kIGRvd253YXJkcyBpbiBhIGRpcmVjdG9yeSB0cmVlIHVzaW5nICIqIiwgIioqIiBhbmQKKwkgICI7Ii4gIFNlZSB8ZmlsZS1zZWFyY2hpbmd8IGZvciBpbmZvIGFuZCBzeW50YXguCiAJICB7bm90IGF2YWlsYWJsZSB3aGVuIGNvbXBpbGVkIHdpdGhvdXQgdGhlIHwrcGF0aF9leHRyYXwgZmVhdHVyZX0KIAktIENhcmVmdWwgd2l0aCAnXCcgY2hhcmFjdGVycywgdHlwZSB0d28gdG8gZ2V0IG9uZSBpbiB0aGUgb3B0aW9uOiA+CiAJCTpzZXQgcGF0aD0uLGM6XFxpbmNsdWRlCmRpZmYgLS1naXQgYS9ydW50aW1lL2RvYy9vc18zOTAudHh0IGIvcnVudGltZS9kb2Mvb3NfMzkwLnR4dAppbmRleCA5YzdjMGRjLi41OTA3NGE2IDEwMDY0NAotLS0gYS9ydW50aW1lL2RvYy9vc18zOTAudHh0CisrKyBiL3J1bnRpbWUvZG9jL29zXzM5MC50eHQKQEAgLTEsNCArMSw0IEBACi0qb3NfMzkwLnR4dCogICAgRm9yIFZpbSB2ZXJzaW9uIDcuMmEuICBMYXN0IGNoYW5nZTogMjAwNSBNYXIgMjkKKypvc18zOTAudHh0KiAgICBGb3IgVmltIHZlcnNpb24gNy4yYi4gIExhc3QgY2hhbmdlOiAyMDA1IE1hciAyOQogCiAKIAkJICBWSU0gUkVGRVJFTkNFIE1BTlVBTAkgIGJ5IFJhbGYgU2NoYW5kbApkaWZmIC0tZ2l0IGEvcnVudGltZS9kb2Mvb3NfYW1pZ2EudHh0IGIvcnVudGltZS9kb2Mvb3NfYW1pZ2EudHh0CmluZGV4IDNmMjY0N2YuLjFlMjExMjEgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvZG9jL29zX2FtaWdhLnR4dAorKysgYi9ydW50aW1lL2RvYy9vc19hbWlnYS50eHQKQEAgLTEsNCArMSw0IEBACi0qb3NfYW1pZ2EudHh0KiAgRm9yIFZpbSB2ZXJzaW9uIDcuMmEuICBMYXN0IGNoYW5nZTogMjAwNSBNYXIgMjkKKypvc19hbWlnYS50eHQqICBGb3IgVmltIHZlcnNpb24gNy4yYi4gIExhc3QgY2hhbmdlOiAyMDA1IE1hciAyOQogCiAKIAkJICBWSU0gUkVGRVJFTkNFIE1BTlVBTCAgICBieSBCcmFtIE1vb2xlbmFhcgpkaWZmIC0tZ2l0IGEvcnVudGltZS9kb2Mvb3NfYmVvcy50eHQgYi9ydW50aW1lL2RvYy9vc19iZW9zLnR4dAppbmRleCA2YWQzYTUwLi5jN2JiZjM3IDEwMDY0NAotLS0gYS9ydW50aW1lL2RvYy9vc19iZW9zLnR4dAorKysgYi9ydW50aW1lL2RvYy9vc19iZW9zLnR4dApAQCAtMSw0ICsxLDQgQEAKLSpvc19iZW9zLnR4dCoJRm9yIFZpbSB2ZXJzaW9uIDcuMmEuICBMYXN0IGNoYW5nZTogMjAwNSBNYXIgMjkKKypvc19iZW9zLnR4dCoJRm9yIFZpbSB2ZXJzaW9uIDcuMmIuICBMYXN0IGNoYW5nZTogMjAwNSBNYXIgMjkKIAogCiAJCSAgVklNIFJFRkVSRU5DRSBNQU5VQUwgICAgYnkgQnJhbSBNb29sZW5hYXIKZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL29zX2Rvcy50eHQgYi9ydW50aW1lL2RvYy9vc19kb3MudHh0CmluZGV4IDIxNTZmNjUuLmU0Y2ZiNzAgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvZG9jL29zX2Rvcy50eHQKKysrIGIvcnVudGltZS9kb2Mvb3NfZG9zLnR4dApAQCAtMSw0ICsxLDQgQEAKLSpvc19kb3MudHh0KiAgICBGb3IgVmltIHZlcnNpb24gNy4yYS4gIExhc3QgY2hhbmdlOiAyMDA2IE1hciAzMAorKm9zX2Rvcy50eHQqICAgIEZvciBWaW0gdmVyc2lvbiA3LjJiLiAgTGFzdCBjaGFuZ2U6IDIwMDYgTWFyIDMwCiAKIAogCQkgIFZJTSBSRUZFUkVOQ0UgTUFOVUFMICAgIGJ5IEJyYW0gTW9vbGVuYWFyCmRpZmYgLS1naXQgYS9ydW50aW1lL2RvYy9vc19tYWMudHh0IGIvcnVudGltZS9kb2Mvb3NfbWFjLnR4dAppbmRleCA3Yzg4ZjllLi42OGRiY2ZiIDEwMDY0NAotLS0gYS9ydW50aW1lL2RvYy9vc19tYWMudHh0CisrKyBiL3J1bnRpbWUvZG9jL29zX21hYy50eHQKQEAgLTEsNCArMSw0IEBACi0qb3NfbWFjLnR4dCogICAgRm9yIFZpbSB2ZXJzaW9uIDcuMmEuICBMYXN0IGNoYW5nZTogMjAwNiBBcHIgMzAKKypvc19tYWMudHh0KiAgICBGb3IgVmltIHZlcnNpb24gNy4yYi4gIExhc3QgY2hhbmdlOiAyMDA2IEFwciAzMAogCiAKIAkJICBWSU0gUkVGRVJFTkNFIE1BTlVBTCAgICBieSBCcmFtIE1vb2xlbmFhciBldCBhbC4KZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL29zX21pbnQudHh0IGIvcnVudGltZS9kb2Mvb3NfbWludC50eHQKaW5kZXggYmRhMzU4Ni4uMWFmZDMzNSAxMDA2NDQKLS0tIGEvcnVudGltZS9kb2Mvb3NfbWludC50eHQKKysrIGIvcnVudGltZS9kb2Mvb3NfbWludC50eHQKQEAgLTEsNCArMSw0IEBACi0qb3NfbWludC50eHQqICAgRm9yIFZpbSB2ZXJzaW9uIDcuMmEuICBMYXN0IGNoYW5nZTogMjAwNSBNYXIgMjkKKypvc19taW50LnR4dCogICBGb3IgVmltIHZlcnNpb24gNy4yYi4gIExhc3QgY2hhbmdlOiAyMDA1IE1hciAyOQogCiAKIAkJICBWSU0gUkVGRVJFTkNFIE1BTlVBTCAgICBieSBKZW5zIE0uIEZlbGRlcmhvZmYKZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL29zX21zZG9zLnR4dCBiL3J1bnRpbWUvZG9jL29zX21zZG9zLnR4dAppbmRleCA2YWE4MDcyLi5hOWZkN2JlIDEwMDY0NAotLS0gYS9ydW50aW1lL2RvYy9vc19tc2Rvcy50eHQKKysrIGIvcnVudGltZS9kb2Mvb3NfbXNkb3MudHh0CkBAIC0xLDQgKzEsNCBAQAotKm9zX21zZG9zLnR4dCogIEZvciBWaW0gdmVyc2lvbiA3LjJhLiAgTGFzdCBjaGFuZ2U6IDIwMDUgTWFyIDI5Cisqb3NfbXNkb3MudHh0KiAgRm9yIFZpbSB2ZXJzaW9uIDcuMmIuICBMYXN0IGNoYW5nZTogMjAwNSBNYXIgMjkKIAogCiAJCSAgVklNIFJFRkVSRU5DRSBNQU5VQUwgICAgYnkgQnJhbSBNb29sZW5hYXIKZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL29zX29zMi50eHQgYi9ydW50aW1lL2RvYy9vc19vczIudHh0CmluZGV4IDEzNzQzNDYuLmZiYWU1ZjkgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvZG9jL29zX29zMi50eHQKKysrIGIvcnVudGltZS9kb2Mvb3Nfb3MyLnR4dApAQCAtMSw0ICsxLDQgQEAKLSpvc19vczIudHh0KiAgICBGb3IgVmltIHZlcnNpb24gNy4yYS4gIExhc3QgY2hhbmdlOiAyMDA3IEFwciAyMgorKm9zX29zMi50eHQqICAgIEZvciBWaW0gdmVyc2lvbiA3LjJiLiAgTGFzdCBjaGFuZ2U6IDIwMDcgQXByIDIyCiAKIAogCQkgIFZJTSBSRUZFUkVOQ0UgTUFOVUFMICAgIGJ5IFBhdWwgU2xvb3RtYW4KZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL29zX3FueC50eHQgYi9ydW50aW1lL2RvYy9vc19xbngudHh0CmluZGV4IDZkMTVlNTEuLmMxOTlhOTcgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvZG9jL29zX3FueC50eHQKKysrIGIvcnVudGltZS9kb2Mvb3NfcW54LnR4dApAQCAtMSw0ICsxLDQgQEAKLSpvc19xbngudHh0KiAgICBGb3IgVmltIHZlcnNpb24gNy4yYS4gIExhc3QgY2hhbmdlOiAyMDA1IE1hciAyOQorKm9zX3FueC50eHQqICAgIEZvciBWaW0gdmVyc2lvbiA3LjJiLiAgTGFzdCBjaGFuZ2U6IDIwMDUgTWFyIDI5CiAKIAogCQkgIFZJTSBSRUZFUkVOQ0UgTUFOVUFMICAgIGJ5IEp1bGlhbiBLaW5yYWlkCmRpZmYgLS1naXQgYS9ydW50aW1lL2RvYy9vc19yaXNjLnR4dCBiL3J1bnRpbWUvZG9jL29zX3Jpc2MudHh0CmluZGV4IDBmNmQyYmIuLmU3ZmI4MDYgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvZG9jL29zX3Jpc2MudHh0CisrKyBiL3J1bnRpbWUvZG9jL29zX3Jpc2MudHh0CkBAIC0xLDQgKzEsNCBAQAotKm9zX3Jpc2MudHh0KiAgIEZvciBWaW0gdmVyc2lvbiA3LjJhLiAgTGFzdCBjaGFuZ2U6IDIwMDUgTWFyIDI5Cisqb3NfcmlzYy50eHQqICAgRm9yIFZpbSB2ZXJzaW9uIDcuMmIuICBMYXN0IGNoYW5nZTogMjAwOCBKdW4gMjgKIAogCiAJCSAgVklNIFJFRkVSRU5DRSBNQU5VQUwgICAgYnkgVGhvbWFzIExlb25hcmQKQEAgLTcsNyArNyw3IEBACiAJCQkJCQkqcmlzY29zKiAqUklTQ09TKiAqUklTQy1PUyoKIFRoaXMgZmlsZSBjb250YWlucyB0aGUgcGFydGljdWxhcml0aWVzIGZvciB0aGUgUklTQyBPUyB2ZXJzaW9uIG9mIFZpbS4KIAotVGhlIFJJU0MgT1MgcG9ydCBpcyBhIGNvbXBsZXRlbHkgbmV3IHBvcnQgYW5kIGlzIG5vdCBiYXNlZCBvbiB0aGUgb2xkIGBhcmNoaScKK1RoZSBSSVNDIE9TIHBvcnQgaXMgYSBjb21wbGV0ZWx5IG5ldyBwb3J0IGFuZCBpcyBub3QgYmFzZWQgb24gdGhlIG9sZCAiYXJjaGkiCiBwb3J0LgogCiAxLiAgRmlsZSBsb2NhdGlvbnMJCXxyaXNjb3MtbG9jYXRpb25zfApAQCAtNDYsNyArNDYsNyBAQAogZGlzdHJpYnV0aW9uLCBidXQgbW9kaWZpZWQgc2xpZ2h0bHkgdG8gd29yayB3aXRoaW4gdGhlIGxpbWl0cyBvZiBBREZTLCBwbHVzCiBzb21lIGV4dHJhIGZpbGVzIHN1Y2ggYXMgdGhlIHdpbmRvdyB0ZW1wbGF0ZXMuCiAKLVVzZXIgY2hvaWNlcyBhcmUgcmVhZCBmcm9tIGBDaG9pY2VzOionIGFuZCBhcmUgc2F2ZWQgdG8gYDxDaG9pY2VzJFdyaXRlPi4qJy4KK1VzZXIgY2hvaWNlcyBhcmUgcmVhZCBmcm9tICJDaG9pY2VzOioiIGFuZCBhcmUgc2F2ZWQgdG8gIjxDaG9pY2VzJFdyaXRlPi4qIi4KIElmIHlvdSBoYXZlIHRoZSBuZXcgIUJvb3Qgc3RydWN0dXJlIHRoZW4gdGhlc2Ugc2hvdWxkIGJlIHNldCB1cCBhbHJlYWR5LiAgSWYKIG5vdCwgc2V0IENob2ljZXMkUGF0aCB0byBhIGxpc3Qgb2YgZGlyZWN0b3JpZXMgdG8gc2VhcmNoIHdoZW4gbG9va2luZyBmb3IKIHVzZXIgY29uZmlndXJhdGlvbiBmaWxlcy4gIFNldCBDaG9pY2VzJFdyaXRlIHRvIHRoZSBkaXJlY3RvcnkgeW91IHdhbnQgZmlsZXMKQEAgLTU4LDIyICs1OCwyMiBAQAogMi4gRmlsZW5hbWUgbXVuZ2luZwogCiBBbGwgcGF0aG5hbWUgbXVuZ2luZyBpcyBkaXNhYmxlZCBieSBkZWZhdWx0LCBzbyBWaW0gc2hvdWxkIGJlaGF2ZSBsaWtlIGEKLW5vcm1hbCBSSVNDIE9TIGFwcGxpY2F0aW9uIG5vdy4gIFNvLCBpZiB5b3Ugd2FudCB0byBlZGl0IGBkb2MvaHRtbCcgdGhlbiB5b3UKLWFjdHVhbGx5IHR5cGUgYCp2aSBkb2MvaHRtbCcuCitub3JtYWwgUklTQyBPUyBhcHBsaWNhdGlvbiBub3cuICBTbywgaWYgeW91IHdhbnQgdG8gZWRpdCAiZG9jL2h0bWwiIHRoZW4geW91CithY3R1YWxseSB0eXBlICIqdmkgZG9jL2h0bWwiLgogCiBUaGUgb25seSB0aW1lcyBtdW5naW5nIGlzIGRvbmUgaXMgd2hlbjoKIAogLSBTZWFyY2hpbmcgaW5jbHVkZWQgZmlsZXMgZnJvbSBDIHByb2dyYW1zLCBzaW5jZSB0aGVzZSBhcmUgYWx3YXlzIG11bmdlZC4KICAgU2VlIHxbSXwuCiAgIE5vdGU6IG1ha2Ugc3VyZSB5b3UgYXJlIGluIHRoZSByaWdodCBkaXJlY3Rvcnkgd2hlbiB5b3UgdXNlIHRoaXMKLQljb21tYW5kIChpLmUuIHRoZSBvbmUgd2l0aCBzdWJkaXJlY3RvcmllcyAnYycgYW5kICdoJykuCisJY29tbWFuZCAoaS5lLiB0aGUgb25lIHdpdGggc3ViZGlyZWN0b3JpZXMgImMiIGFuZCAiaCIpLgogCiAtIFNvdXJjaW5nIGZpbGVzIHVzaW5nIHw6c298LgotICBQYXRocyBzdGFydGluZyBgJFZJTS8nIGFyZSBtdW5nZWQgbGlrZSB0aGlzOgorICBQYXRocyBzdGFydGluZyAiJFZJTS8iIGFyZSBtdW5nZWQgbGlrZSB0aGlzOgogCiAgICRWSU0vc3ludGF4L2hlbHAudmltICAtPiAgVmltOnN5bnRheC5oZWxwCiAKLSAgQWxzbywgZmlsZXMgZW5kaW5nIGluIGAudmltJyBoYXZlIHRoZWlyIGV4dGVuc2lvbnMgcmVtb3ZlZCwgYW5kIHNsYXNoZXMKKyAgQWxzbywgZmlsZXMgZW5kaW5nIGluICIudmltIiBoYXZlIHRoZWlyIGV4dGVuc2lvbnMgcmVtb3ZlZCwgYW5kIHNsYXNoZXMKICAgcmVwbGFjZWQgd2l0aCBkb3RzLgogCiBTb21lIHRhZyBmaWxlcyBhbmQgc2NyaXB0IGZpbGVzIG1heSBoYXZlIHRvIGJlIGVkaXRlZCB0byB3b3JrIHVuZGVyIHRoaXMgcG9ydC4KQEAgLTgyLDEwICs4MiwxMCBAQAogCQkJCQkJCSpyaXNjb3MtY29tbWFuZGxpbmUqCiAzLiBDb21tYW5kLWxpbmUgdXNlCiAKLVRvIHVzZSBWaW0gZnJvbSB0aGUgY29tbWFuZC1saW5lIHVzZSB0aGUgYCp2aScgY29tbWFuZCAob3IgJypleCcgZm9yCitUbyB1c2UgVmltIGZyb20gdGhlIGNvbW1hbmQtbGluZSB1c2UgdGhlICIqdmkiIGNvbW1hbmQgKG9yICIqZXgiIGZvcgogfEV4LW1vZGV8KS4KIAotVHlwZSBgKnZpIC1oJyBmb3IgYSBsaXN0IG9mIG9wdGlvbnMuCitUeXBlICIqdmkgLWgiIGZvciBhIGxpc3Qgb2Ygb3B0aW9ucy4KIAogUnVubmluZyB0aGUgY29tbWFuZC1saW5lIHZlcnNpb24gb2YgVmltIGluIGEgbGFyZ2UgaGlnaC1jb2xvciBtb2RlIG1heSBjYXVzZQogdGhlIHNjcm9sbGluZyB0byBiZSB2ZXJ5IHNsb3cuICBFaXRoZXIgY2hhbmdlIHRvIGEgbW9kZSB3aXRoIGZld2VyIGNvbG9ycyBvcgpAQCAtMTQ5LDcgKzE0OSw3IEBACiAJCQlwb2ludCBpcyB1c2VkLgogCiBUaGFua3MgdG8gSm9obiBLb3J0aW5rLCBWaW0gY2FuIHVzZSB0aGUgWmFwUmVkcmF3IG1vZHVsZS4gIFN0YXJ0IHRoZSBmb250IG5hbWUKLXdpdGggJyEnIChvciAnISEnIGZvciBkb3VibGUgaGVpZ2h0KSwgbGlrZSB0aGlzOiA+Cit3aXRoICIhIiAob3IgIiEhIiBmb3IgZG91YmxlIGhlaWdodCksIGxpa2UgdGhpczogPgogCiAgIDpzZXQgZ3VpZm9udD0hIQogPAkJCVVzZSB0aGUgc3lzdGVtIGZvbnQsIGJ1dCB2aWEgWmFwUmVkcmF3LiAgVGhpcyBnaXZlcyBhCkBAIC0xNTgsMTMgKzE1OCwxMyBAQAogPgogICA6c2V0IGd1aWZvbnQ9IXNjcmlwdAogPAkJCVVzZXMgdGhlIG5hbWVkIFphcCBmb250IChhIGRpcmVjdG9yeSBpbiBWaW1Gb250JFBhdGgpLgotCQkJVGhlIHJlZHJhdyBpcyB0aGUgc2FtZSBzcGVlZCBhcyBmb3IgJyEhJywgYnV0IHlvdSBnZXQKKwkJCVRoZSByZWRyYXcgaXMgdGhlIHNhbWUgc3BlZWQgYXMgZm9yICIhISIsIGJ1dCB5b3UgZ2V0CiAJCQlhIG5pY2VyIGxvb2tpbmcgZm9udC4KIAkJCU9ubHkgdGhlICJtYW4rIiBhbmQgInNjcmlwdCIgZm9udHMgYXJlIHN1cHBsaWVkCiAJCQljdXJyZW50bHksIGJ1dCB5b3UgY2FuIHVzZSBhbnkgb2YgdGhlIFphcCBmb250cyBpZgogCQkJdGhleSBhcmUgaW4gVmltRm9udCRQYXRoLgotCQkJVmltIHdpbGwgdHJ5IHRvIGxvYWQgZm9udCBmaWxlcyAnMCcsICdCJywgJ0knIGFuZCAnSUInCi0JCQlmcm9tIHRoZSBuYW1lZCBkaXJlY3RvcnkuICBPbmx5ICcwJyAobm9ybWFsIHN0eWxlKSBNVVNUCisJCQlWaW0gd2lsbCB0cnkgdG8gbG9hZCBmb250IGZpbGVzICIwIiwgIkIiLCAiSSIgYW5kICJJQiIKKwkJCWZyb20gdGhlIG5hbWVkIGRpcmVjdG9yeS4gIE9ubHkgIjAiIChub3JtYWwgc3R5bGUpIE1VU1QKIAkJCWJlIHByZXNlbnQuICBMaW5rIGZpbGVzIGFyZSBub3QgY3VycmVudGx5IHN1cHBvcnRlZC4KIAogTm90ZSB0aGF0IHdoZW4gdXNpbmcgWmFwUmVkcmF3IHRoZSBlZGl0IGJhciBpcyBkcmF3biBpbiBmcm9udCBvZiB0aGUgY2hhcmFjdGVyCkBAIC0xOTEsNyArMTkxLDcgQEAKIEFsdGhvdWdoIEkgZG8gbm90IGhhdmUgYW4gaW50ZXJuZXQgY29ubmVjdGlvbiB0byBteSBBY29ybiwgSSBoYXZlIG1hbmFnZWQgdG8KIHJ1biBWaW0gaW4gYSBGcmVlVGVybSB3aW5kb3cgdXNpbmcgdGhlIGxvb3BiYWNrIGNvbm5lY3Rpb24uCiAKLUl0IHNlZW1zIHRvIHdvcmsgcHJldHR5IHdlbGwgbm93LCB1c2luZyAnKnZpIC1UIGFuc2knLgorSXQgc2VlbXMgdG8gd29yayBwcmV0dHkgd2VsbCBub3csIHVzaW5nICIqdmkgLVQgYW5zaSIuCiAKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogCQkJCQkJCSpyaXNjb3MtdGVtcC1maWxlcyoKQEAgLTIwMyw3ICsyMDMsNyBAQAogZGlyZWN0b3J5IHlvdSB3ZXJlIHNhdmluZyB0by4gIFZpbSB3aWxsIGFsbG93IHlvdSB0byB0cnkgYW5kIHJlY292ZXIgdGhlIGZpbGUKIHdoZW4geW91IG5leHQgdHJ5IHRvIGVkaXQgaXQuCiAKLVRvIHNlZSBhIGxpc3Qgb2Ygc3dhcCBmaWxlcywgcHJlc3MgPEYxMj4gYW5kIHR5cGUgYCp2aSAtcicuCitUbyBzZWUgYSBsaXN0IG9mIHN3YXAgZmlsZXMsIHByZXNzIDxGMTI+IGFuZCB0eXBlICIqdmkgLXIiLgogCiBWaW0gbm8gbG9uZ2VyIGJyaW5ncyB1cCBBVFRFTlRJT04gd2FybmluZ3MgaWYgeW91IHRyeSB0byBlZGl0IHR3byBmaWxlcyB3aXRoCiB0aGUgc2FtZSBuYW1lIGluIGRpZmZlcmVudCBkaXJlY3Rvcmllcy4KQEAgLTIyOCw4ICsyMjgsOCBAQAogZG9lcyBieSBkZWZhdWx0IG9uIHRoZXNlIG1hY2hpbmVzIHNvIEknbSBwbGF5aW5nIHNhZmUuCiAKIEl0IGRvZXNuJ3Qgd29yayBhdCBhbGwgd2VsbCB3aXRob3V0IGR5bmFtaWMgYXJlYXMsIHNpbmNlIGl0IGNhbid0IGNoYW5nZSBpdHMKLW1lbW9yeSBhbGxvY2F0aW9uIG9uY2UgcnVubmluZy4gIEhlbmNlIHlvdSBzaG91bGQgZWRpdCBgIVZpbS5HVmltJyBhbmQKLWAhVmltLiFSdW5UeHQnIHRvIGNob29zZSB0aGUgYmVzdCBzaXplIGZvciB5b3UuICBZb3UgcHJvYmFibHkgbmVlZCBhdCBsZWFzdAorbWVtb3J5IGFsbG9jYXRpb24gb25jZSBydW5uaW5nLiAgSGVuY2UgeW91IHNob3VsZCBlZGl0ICIhVmltLkdWaW0iIGFuZAorIiFWaW0uIVJ1blR4dCIgdG8gY2hvb3NlIHRoZSBiZXN0IHNpemUgZm9yIHlvdS4gIFlvdSBwcm9iYWJseSBuZWVkIGF0IGxlYXN0CiBhYm91dCAxNDAwSy4KIAogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CkBAIC0yNTIsNyArMjUyLDcgQEAKIFNvbWUgZXhhbXBsZXMgbWF5IG1ha2UgdGhpcyBjbGVhcmVyOgogCiAgIEtpbmQgb2YgZmlsZSBsb2FkZWQJb3NmaWxldHlwZQlmaWxldHlwZSB+Ci0gIEMgY29kZSAnYy5oZWxsb3cnCVRleHQgKCZmZmYpCUMKKyAgQyBjb2RlICJjLmhlbGxvdyIJVGV4dCAoJmZmZikJQwogICBMYVRlWCBkb2N1bWVudAlMYVRlWCAoJjJhOCkJVGVYCiAgIERyYXcgZG9jdW1lbnQJCURyYXdGaWxlICgmYWZmKQkobm90IGNoYW5nZWQpCiAKQEAgLTI2Myw3ICsyNjMsNyBAQAogLSBCYW5ncyAoIXMpIGFyZSBvbmx5IHJlcGxhY2VkIGlmIHRoZXkgYXJlIGZvbGxvd2VkIGJ5IGEgc3BhY2Ugb3IgZW5kLW9mLWxpbmUsCiAgIHNpbmNlIG1hbnkgcGF0aG5hbWVzIGNvbnRhaW4gdGhlbS4KIAotLSBZb3UgY2FuIHByZWZpeCB0aGUgY29tbWFuZCB3aXRoICd+Jywgd2hpY2ggc3RvcHMgYW55IG91dHB1dCBmcm9tIGJlaW5nCistIFlvdSBjYW4gcHJlZml4IHRoZSBjb21tYW5kIHdpdGggIn4iLCB3aGljaCBzdG9wcyBhbnkgb3V0cHV0IGZyb20gYmVpbmcKICAgZGlzcGxheWVkLiAgVGhpcyBhbHNvIG1lYW5zIHRoYXQgeW91IGRvbid0IGhhdmUgdG8gcHJlc3MgPEVudGVyPiBhZnRlcndhcmRzLAogICBhbmQgc3RvcHMgdGhlIHNjcmVlbiBmcm9tIGJlaW5nIHJlZHJhd24uIHtvbmx5IGluIHRoZSBHVUkgdmVyc2lvbn0KIApAQCAtMjc1LDcgKzI3NSw3IEBACiAKIC0gR2V0IHRoZSBsYXRlc3Qgc291cmNlIGRpc3RyaWJ1dGlvbiAoc2VlIHd3dy52aW0ub3JnKQogLSBHZXQgdGhlIHJ1bnRpbWUgZW52aXJvbm1lbnQgZmlsZXMgKGUuZy4gdGhlc2UgaGVscCBmaWxlcykKLS0gR2V0IHRoZSBgZXh0cmEnIGFyY2hpdmUgKGNvbnRhaW5zIHRoZSBSSVNDIE9TIHNwZWNpZmljIGJpdHMpCistIEdldCB0aGUgImV4dHJhIiBhcmNoaXZlIChjb250YWlucyB0aGUgUklTQyBPUyBzcGVjaWZpYyBiaXRzKQogLSBHZXQgdGhlIFJJU0MgT1MgYmluYXJ5IGRpc3RyaWJ1dGlvbiAoaWYgcG9zc2libGUpCiAKIApAQCAtMjg5LDE5ICsyODksMTkgQEAKIFJlY29tcGlsaW5nIHRoZSBzb3VyY2VzOgogCiAtIENyZWF0ZSBjLCBzLCBhbmQgaCBkaXJlY3Rvcmllcy4KLS0gUHV0IGFsbCB0aGUgaGVhZGVyIGZpbGVzIGluICdoJy4JICAgICBcCi0tIFB1dCBhbGwgdGhlIEMgZmlsZXMgaW4gYGMnLgkJICAgICB8IEFuZCBsb3NlIHRoZSBleHRlbnNpb25zCi0tIFB1dCB0aGUgYXNzZW1ibGVyIGZpbGUgKGBzd2lzL3MnKSBpbiAncycuICAvCi0tIFJlbmFtZSBhbGwgdGhlIGZpbGVzIGluIGBwcm90bycgdG8gYGgnLCBsaWtlIHRoaXM6CistIFB1dCBhbGwgdGhlIGhlYWRlciBmaWxlcyBpbiAiaCIuCSAgICAgXAorLSBQdXQgYWxsIHRoZSBDIGZpbGVzIGluICJjIi4JCSAgICAgfCBBbmQgbG9zZSB0aGUgZXh0ZW5zaW9ucworLSBQdXQgdGhlIGFzc2VtYmxlciBmaWxlICgic3dpcy9zIikgaW4gInMiLiAgLworLSBSZW5hbWUgYWxsIHRoZSBmaWxlcyBpbiAicHJvdG8iIHRvICJoIiwgbGlrZSB0aGlzOgogICAgIHJhRlM6OlZpbVNyYy5zb3VyY2UucHJvdG8uZmlsZS9wcm8KIAkgIGJlY29tZXMKICAgICByYUZTOjpWaW1TcmMuc291cmNlLmguZmlsZV9wcm8KLS0gSW4gdGhlIGZpbGVzIGBoLnByb3RvJyBhbmQgYGMudGVybWxpYicsIHNlYXJjaCBhbmQgcmVwbGFjZQorLSBJbiB0aGUgZmlsZXMgImgucHJvdG8iIGFuZCAiYy50ZXJtbGliIiwgc2VhcmNoIGFuZCByZXBsYWNlCiAgICAgLnBybyIKICAgICAgICB3aXRoCiAgICAgX3Byby5oIgotLSBDcmVhdGUgYSBzaW1wbGUgTWFrZWZpbGUgaWYgZGVzaXJlZCBhbmQgZG8gJyptYWtlIC1rJy4KLSAgVXNlICdDQyA9IGdjYyAtRFJJU0NPUyAtRFVTRV9HVUkgLU8yIC14IGMnIGluIHRoZSBNYWtlZmlsZS4KKy0gQ3JlYXRlIGEgc2ltcGxlIE1ha2VmaWxlIGlmIGRlc2lyZWQgYW5kIGRvICIqbWFrZSAtayIuCisgIFVzZSAiQ0MgPSBnY2MgLURSSVNDT1MgLURVU0VfR1VJIC1PMiAteCBjIiBpbiB0aGUgTWFrZWZpbGUuCiAtIFNhdmUgdGhlIGJpbmFyeSBhcyAhVmltLlZpbSBpbiB0aGUgYmluYXJ5IGRpc3RyaWJ1dGlvbi4KIAogCkBAIC0zMDksMTUgKzMwOSwxNSBAQAogCiAtIFJlcGxhY2Ugb2xkIG9yIG1pc3NpbmcgZmlsZXMgaW5zaWRlICFWaW0uUmVzb3VyY2VzIHdpdGggdGhlCiAgIG5ldyBmaWxlcy4KLS0gUmVtb3ZlIGZpbGVzIGluIGBkb2MnIG5vdCBlbmRpbmcgaW4gYC90eHQnLCBleGNlcHQgZm9yIGB0YWdzJy4KLS0gTG9zZSB0aGUgZXh0ZW5zaW9ucyBmcm9tIHRoZSBmaWxlcyBpbiBgZG9jJy4KLS0gRWRpdCB0aGUgYGRvYy50YWdzJyBmaWxlLiAgUmVtb3ZlIGV4dGVuc2lvbnMgZnJvbSB0aGUgc2Vjb25kIGNvbHVtbjogPgorLSBSZW1vdmUgZmlsZXMgaW4gImRvYyIgbm90IGVuZGluZyBpbiAiL3R4dCIsIGV4Y2VwdCBmb3IgInRhZ3MiLgorLSBMb3NlIHRoZSBleHRlbnNpb25zIGZyb20gdGhlIGZpbGVzIGluICJkb2MiLgorLSBFZGl0IHRoZSAiZG9jLnRhZ3MiIGZpbGUuICBSZW1vdmUgZXh0ZW5zaW9ucyBmcm9tIHRoZSBzZWNvbmQgY29sdW1uOiA+CiAJOiVzL15cKC5bXlx0XSpcdC4qXClcLnR4dFx0L1wxXHQvCiAtIFJlbW92ZSBleHRlbnNpb25zIGZyb20gdGhlIHN5bnRheCBmaWxlcy4gIFNwbGl0IHRoZW0gaW50byB0d28gZGlyZWN0b3JpZXMKICAgdG8gYXZvaWQgdGhlIDc3IGVudHJ5IGxpbWl0IG9uIG9sZCBBREZTIGZpbGVzeXN0ZW1zLgotLSBFZGl0IGBWaW06RmlsZVR5cGUnIHRvIG1hdGNoIGAqLmMuKicgYXMgd2VsbCBhcyBgKi9jJyBhbmQgc28gb24uCistIEVkaXQgIlZpbTpGaWxlVHlwZSIgdG8gbWF0Y2ggIiouYy4qIiBhcyB3ZWxsIGFzICIqL2MiIGFuZCBzbyBvbi4KICAgQWRkIGZpbGV0eXBlIGNoZWNraW5nIHRvby4KLS0gRWRpdCBgVmltOk1lbnUnIGFuZCByZW1vdmUgYWxsIHRoZSBrZXlzIGZyb20gdGhlIG1lbnVzOiA+CistIEVkaXQgIlZpbTpNZW51IiBhbmQgcmVtb3ZlIGFsbCB0aGUga2V5cyBmcm9tIHRoZSBtZW51czogPgogCTolcy88VGFiPlteIFx0XSovLwogPAogIHZpbTp0dz03ODp0cz04OmZ0PWhlbHA6bm9ybDoKZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL29zX3VuaXgudHh0IGIvcnVudGltZS9kb2Mvb3NfdW5peC50eHQKaW5kZXggY2YyMDBmMC4uMDM2ZjU5NyAxMDA2NDQKLS0tIGEvcnVudGltZS9kb2Mvb3NfdW5peC50eHQKKysrIGIvcnVudGltZS9kb2Mvb3NfdW5peC50eHQKQEAgLTEsNCArMSw0IEBACi0qb3NfdW5peC50eHQqICAgRm9yIFZpbSB2ZXJzaW9uIDcuMmEuICBMYXN0IGNoYW5nZTogMjAwNSBNYXIgMjkKKypvc191bml4LnR4dCogICBGb3IgVmltIHZlcnNpb24gNy4yYi4gIExhc3QgY2hhbmdlOiAyMDA1IE1hciAyOQogCiAKIAkJICBWSU0gUkVGRVJFTkNFIE1BTlVBTCAgICBieSBCcmFtIE1vb2xlbmFhcgpkaWZmIC0tZ2l0IGEvcnVudGltZS9kb2Mvb3Nfdm1zLnR4dCBiL3J1bnRpbWUvZG9jL29zX3Ztcy50eHQKaW5kZXggNjIwOGQ2My4uOGI5NjkyOSAxMDA2NDQKLS0tIGEvcnVudGltZS9kb2Mvb3Nfdm1zLnR4dAorKysgYi9ydW50aW1lL2RvYy9vc192bXMudHh0CkBAIC0xLDQgKzEsNCBAQAotKm9zX3Ztcy50eHQqICAgIEZvciBWaW0gdmVyc2lvbiA3LjJhLiAgTGFzdCBjaGFuZ2U6IDIwMDYgTm92IDE4Cisqb3Nfdm1zLnR4dCogICAgRm9yIFZpbSB2ZXJzaW9uIDcuMmIuICBMYXN0IGNoYW5nZTogMjAwNiBOb3YgMTgKIAogCiAJCSAgVklNIFJFRkVSRU5DRSBNQU5VQUwKZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL29zX3dpbjMyLnR4dCBiL3J1bnRpbWUvZG9jL29zX3dpbjMyLnR4dAppbmRleCBhZmMwNWRkLi43M2Q1NWU5IDEwMDY0NAotLS0gYS9ydW50aW1lL2RvYy9vc193aW4zMi50eHQKKysrIGIvcnVudGltZS9kb2Mvb3Nfd2luMzIudHh0CkBAIC0xLDQgKzEsNCBAQAotKm9zX3dpbjMyLnR4dCogIEZvciBWaW0gdmVyc2lvbiA3LjJhLiAgTGFzdCBjaGFuZ2U6IDIwMDggTWF5IDAyCisqb3Nfd2luMzIudHh0KiAgRm9yIFZpbSB2ZXJzaW9uIDcuMmIuICBMYXN0IGNoYW5nZTogMjAwOCBNYXkgMDIKIAogCiAJCSAgVklNIFJFRkVSRU5DRSBNQU5VQUwgICAgYnkgR2VvcmdlIFJlaWxseQpkaWZmIC0tZ2l0IGEvcnVudGltZS9kb2MvcGF0dGVybi50eHQgYi9ydW50aW1lL2RvYy9wYXR0ZXJuLnR4dAppbmRleCBjYjM2N2QwLi5hZTYwYjgzIDEwMDY0NAotLS0gYS9ydW50aW1lL2RvYy9wYXR0ZXJuLnR4dAorKysgYi9ydW50aW1lL2RvYy9wYXR0ZXJuLnR4dApAQCAtMSw0ICsxLDQgQEAKLSpwYXR0ZXJuLnR4dCogICBGb3IgVmltIHZlcnNpb24gNy4yYS4gIExhc3QgY2hhbmdlOiAyMDA4IEp1biAyMQorKnBhdHRlcm4udHh0KiAgIEZvciBWaW0gdmVyc2lvbiA3LjJiLiAgTGFzdCBjaGFuZ2U6IDIwMDggSnVuIDIxCiAKIAogCQkgIFZJTSBSRUZFUkVOQ0UgTUFOVUFMICAgIGJ5IEJyYW0gTW9vbGVuYWFyCmRpZmYgLS1naXQgYS9ydW50aW1lL2RvYy9waV9nZXRzY3JpcHQudHh0IGIvcnVudGltZS9kb2MvcGlfZ2V0c2NyaXB0LnR4dAppbmRleCA1ZjQ2ZGUwLi4yZDdlZGI4IDEwMDY0NAotLS0gYS9ydW50aW1lL2RvYy9waV9nZXRzY3JpcHQudHh0CisrKyBiL3J1bnRpbWUvZG9jL3BpX2dldHNjcmlwdC50eHQKQEAgLTEsNCArMSw0IEBACi0qcGlfZ2V0c2NyaXB0LnR4dCogIEZvciBWaW0gdmVyc2lvbiA3LjJhLiAgTGFzdCBjaGFuZ2U6IDIwMDggSmFuIDA3CisqcGlfZ2V0c2NyaXB0LnR4dCogIEZvciBWaW0gdmVyc2lvbiA3LjJiLiAgTGFzdCBjaGFuZ2U6IDIwMDggSnVuIDI5CiA+CiAJCUdFVFNDUklQVCBSRUZFUkVOQ0UgTUFOVUFMICBieSBDaGFybGVzIEUuIENhbXBiZWxsLCBKci4KIDwKQEAgLTMzNSw2ICszMzUsOSBAQAogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiA5LiBHZXRMYXRlc3RWaW1TY3JpcHRzIEhpc3RvcnkJCSpnZXRzY3JpcHQtaGlzdG9yeSogKmdsdnMtaGlzdCoge3t7MQogCit2MzEgSnVuIDI5LCAyMDA4IDogKiAoQmlsbCBNY0NhcnRoeSkgZml4ZWQgaGF2aW5nIGhscyBlbmFibGVkIHdpdGggZ2V0c2NyaXB0Cit2MzAgSnVuIDEzLCAyMDA4IDogKiBHTFZTIG5vdyBjaGVja3MgZm9yIGV4aXN0ZW5jZSBvZiBmbmFtZWVzY2FwZSgpIGFuZCB3aWxsCisJCSAgICAgaXNzdWUgYW4gZXJyb3IgbWVzc2FnZSBpZiBpdHMgbm90IHN1cHBvcnRlZAogdjI5IEphbiAwNywgMjAwOCA6ICogQnJhbSBNIHBvaW50ZWQgb3V0IHRoYXQgY3BvIGlzIGEgZ2xvYmFsIG9wdGlvbiBhbmQgdGhhdAogICAgICAgICAgICAgICAgICAgICAgZ2V0c2NyaXB0UGx1Z2luLnZpbSB3YXMgc2V0dGluZyBpdCBidXQgbm90IHJlc3RvcmluZyBpdC4KIHYyOCBKYW4gMDIsIDIwMDggOiAqIGltcHJvdmVkIHNoZWxsIHF1b3RpbmcgY2hhcmFjdGVyIGhhbmRsaW5nLCBjeWd3aW4KZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL3BpX2d6aXAudHh0IGIvcnVudGltZS9kb2MvcGlfZ3ppcC50eHQKaW5kZXggMzMzNDM3OS4uZTllMjI0YiAxMDA2NDQKLS0tIGEvcnVudGltZS9kb2MvcGlfZ3ppcC50eHQKKysrIGIvcnVudGltZS9kb2MvcGlfZ3ppcC50eHQKQEAgLTEsNCArMSw0IEBACi0qcGlfZ3ppcC50eHQqICAgRm9yIFZpbSB2ZXJzaW9uIDcuMmEuICBMYXN0IGNoYW5nZTogMjAwMiBPY3QgMjkKKypwaV9nemlwLnR4dCogICBGb3IgVmltIHZlcnNpb24gNy4yYi4gIExhc3QgY2hhbmdlOiAyMDAyIE9jdCAyOQogCiAKIAkJICBWSU0gUkVGRVJFTkNFIE1BTlVBTCAgICBieSBCcmFtIE1vb2xlbmFhcgpkaWZmIC0tZ2l0IGEvcnVudGltZS9kb2MvcGlfbmV0cncudHh0IGIvcnVudGltZS9kb2MvcGlfbmV0cncudHh0CmluZGV4IDY4YTAyOTkuLjdlMGM1OTcgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvZG9jL3BpX25ldHJ3LnR4dAorKysgYi9ydW50aW1lL2RvYy9waV9uZXRydy50eHQKQEAgLTEsNCArMSw0IEBACi0qcGlfbmV0cncudHh0KiAgRm9yIFZpbSB2ZXJzaW9uIDcuMmEuICBMYXN0IGNoYW5nZTogMjAwOCBKdW4gMjEKKypwaV9uZXRydy50eHQqICBGb3IgVmltIHZlcnNpb24gNy4yYi4gIExhc3QgY2hhbmdlOiAyMDA4IEp1bCAxMwogCiAJICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAJICAgIE5FVFJXIFJFRkVSRU5DRSBNQU5VQUwgICAgYnkgQ2hhcmxlcyBFLiBDYW1wYmVsbCwgSnIuCkBAIC0zMTQsMTMgKzMxNCw2IEBACiAJCQlBbHNvIGFmZmVjdHMgdGhlICJwcmV2aW91cyB3aW5kb3ciIChzZWUgfG5ldHJ3LVB8KSBpbgogCQkJdGhlIHNhbWUgd2F5LgogCi0gKmc6bmV0cndfc2hxKgkJPSAiJyIgZm9yIFVuaXgvTGludXggc3lzdGVtcyAoaWUuIGEgc2luZ2xlIHF1b3RlKQotCQkJPSAiJyIgZm9yIFdpbmRvd3MgKyBjeWd3aW4gc3lzdGVtcyAoaWUuIGEgc2luZ2xlIHF1b3RlKQotCQkJPSAnIicgZm9yIFdpbmRvd3Mgc3lzdGVtcywgbm90IHVzaW5nIGN5Z3dpbgotCQkJICAgICAgKGllLiBhIGRvdWJsZSBxdW90ZSkKLQkJCUNvbnRyb2xzIHRoZSBxdW90aW5nIGNoYXJhY3RlciB1c2VkIGR1cmluZyBzY3AgYW5kIGZ0cAotCQkJY29tbWFuZHMuCi0KICAqZzpuZXRyd19zY3Bwb3J0KiAgICAgID0gIi1QIiA6IG9wdGlvbiB0byB1c2UgdG8gc2V0IHBvcnQgZm9yIHNjcAogICpnOm5ldHJ3X3NzaHBvcnQqICAgICAgPSAiLXAiIDogb3B0aW9uIHRvIHVzZSB0byBzZXQgcG9ydCBmb3Igc3NoCiAKQEAgLTg2NCw2ICs4NTcsNyBAQAogCVNvcnRlZCBieQogCSAgU2VsZWN0IHNvcnRpbmcgc3R5bGUgKG5hbWUvdGltZS9zaXplKS4uLi4uLi4uLnxuZXRydy1zfAogCSAgRWRpdGluZyB0aGUgc29ydGluZyBzZXF1ZW5jZS4uLi4uLi4uLi4uLi4uLi4uLnxuZXRydy1TfAorCSAgU29ydGluZyBvcHRpb25zLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLnxnOm5ldHJ3X3NvcnRfb3B0aW9uc3wKIAkgIEFzc29jaWF0ZWQgc2V0dGluZyB2YXJpYWJsZS4uLi4uLi4uLi4uLi4uLi4uLi58ZzpuZXRyd19zb3J0X3NlcXVlbmNlfAogCSAgUmV2ZXJzZSBzb3J0aW5nIG9yZGVyLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLnxuZXRydy1yfAogCkBAIC05MjEsNiArOTE1LDggQEAKIAkgICAJYnJvd3NlciB3aW5kb3cuICBBIHZlcnRpY2FsIHNwbGl0IGlzIHVzZWQuCiAJICAgeAlWaWV3IGZpbGUgd2l0aCBhbiBhc3NvY2lhdGVkIHByb2dyYW0gICAgICAgICAgICAgICAgIHxuZXRydy14fAogCisJICAgJQlPcGVuIGEgbmV3IGZpbGUgaW4gbmV0cncncyBjdXJyZW50IGRpcmVjdG9yeSAgICAgICAgIHxuZXRydy0lfAorCiAJPGxlZnRtb3VzZT4JKGd2aW0gb25seSkgc2VsZWN0cyB3b3JkIHVuZGVyIG1vdXNlIGFzIGlmIGEgPGNyPgogCQkJaGFkIGJlZW4gcHJlc3NlZCAoaWUuIGVkaXQgZmlsZSwgY2hhbmdlIGRpcmVjdG9yeSkKIAk8bWlkZGxlbW91c2U+CShndmltIG9ubHkpIHNhbWUgYXMgUCBzZWxlY3Rpbmcgd29yZCB1bmRlciBtb3VzZTsKQEAgLTEzNjIsOCArMTM1OCw4IEBACiBnOm5ldHJ3X3NvcnRfc2VxdWVuY2UgdmFyaWFibGUgKGVpdGhlciBtYW51YWxseSBvciBpbiB5b3VyIDwudmltcmM+KSBvciBieQogdXNpbmcgdGhlICJTIiBtYXAuCiAKLVJlbGF0ZWQgdG9waWNzOiAgICAgICAgICAgICAgfG5ldHJ3LXN8Ci1Bc3NvY2lhdGVkIHNldHRpbmcgdmFyaWFibGU6IHxnOm5ldHJ3X3NvcnRfc2VxdWVuY2V8CitSZWxhdGVkIHRvcGljczogICAgICAgICAgICAgICB8bmV0cnctc3wgICAgICAgICAgICAgICB8bmV0cnctU3wKK0Fzc29jaWF0ZWQgc2V0dGluZyB2YXJpYWJsZXM6IHxnOm5ldHJ3X3NvcnRfc2VxdWVuY2V8IHxnOm5ldHJ3X3NvcnRfb3B0aW9uc3wKIAogCiBHT0lORyBVUAkJCQkJCQkqbmV0cnctLSoge3t7MgpAQCAtMTY1Nyw3ICsxNjUzLDcgQEAKIAkgICAgKFNlZSB8bmV0cnctbWZ8IGFuZCB8bmV0cnctbXJ8IGZvciBob3cgdG8gbWFyayBmaWxlcykKIAkJICAgICAgKHVzZXMgdGhlIGdsb2JhbCBtYXJrZWQgZmlsZSBsaXN0KQogCi1UaGUgIm10IiBtYXBwaW5nIHdpbGwgYXBwbHkgdGhlIGNvbW1hbmQgaW4gZzpuZXRyd19jdGFncyAoYnkgZGVmYXVsdCwgaXRzCitUaGUgIm10IiBtYXBwaW5nIHdpbGwgYXBwbHkgdGhlIGNvbW1hbmQgaW4gfGc6bmV0cndfY3RhZ3N8IChieSBkZWZhdWx0LCBpdHMKICJjdGFncyIpIHRvIG1hcmtlZCBmaWxlcy4gIEZvciByZW1vdGUgYnJvd3NpbmcsIGluIG9yZGVyIHRvIGNyZWF0ZSBhIHRhZ3MgZmlsZQogbmV0cncgd2lsbCB1c2Ugc3NoIChzZWUgfGc6bmV0cndfc3NoX2NtZHwpLCBhbmQgc28gc3NoIG11c3QgYmUgYXZhaWxhYmxlIGZvcgogdGhpcyB0byB3b3JrIG9uIHJlbW90ZSBzeXN0ZW1zLiAgRm9yIHlvdXIgbG9jYWwgc3lzdGVtLCBzZWUgfGN0YWdzfCBvbiBob3cgdG8KQEAgLTE2NzYsNyArMTY3Miw3IEBACiB1c2VzIG9uZSBvZiB0aGUgZ28gdG8gdGFnIGFjdGlvbnMgKHx0YWdzfCksIHRoZSB1cmwgd2lsbCBiZSB1c2VkIGJ5IG5ldHJ3IHRvCiBlZGl0IHRoZSBkZXNpcmVkIGZpbGUgYW5kIGdvIHRvIHRoZSB0YWcuCiAKLUFzc29jaWF0ZWQgc2V0dGluZyB2YXJpYWJsZXM6IHxnOm5ldHJ3X3NzaF9jbWR8CitBc3NvY2lhdGVkIHNldHRpbmcgdmFyaWFibGVzOiB8ZzpuZXRyd19jdGFnc3wgfGc6bmV0cndfc3NoX2NtZHwKIAogCiBNQVJLRUQgRklMRVM6IFNFVFRJTkcgVEhFIFRBUkdFVCBESVJFQ1RPUlkJCQkqbmV0cnctbXQqIHt7ezIKQEAgLTE3MzgsMTQgKzE3MzQsMTMgQEAKIAkJCQlhIHNjcmlwdC9mdW5jdGlvbiB0byBoYW5kbGUgdGhlIGdpdmVuCiAJCQkJZXh0ZW5zaW9uLiAgKHNlZSB8bmV0cndfZmlsZWhhbmRsZXJ8KS4KIAotICAqZzpuZXRyd19jZF9lc2NhcGUqCQk9IltdIyokJSdcIiA/YCEmKCk7PD5cXCIKLSAgCQkJCVRoaXMgb3B0aW9uIGlzIHVzZWQgdG8gZXNjYXBlIGRpcmVjdG9yeSBuYW1lcwotCQkJCWJlZm9yZSBjaGFuZ2luZyBkaXJlY3RvcnkgdG8gdGhlbS4KLQogICAqZzpuZXRyd19jb21wcmVzcyoJCT0iZ3ppcCIKIAkJCQkgICAgV2lsbCBjb21wcmVzcyBtYXJrZWQgZmlsZXMgd2l0aCB0aGlzCiAJCQkJICAgIGNvbW1hbmQKIAorICAqZzpuZXRyd19jdGFncyoJCT0iY3RhZ3MiCisJCQkJVGhlIGRlZmF1bHQgZXh0ZXJuYWwgcHJvZ3JhbSB1c2VkIHRvIGNyZWF0ZSB0YWdzCisKICAgKmc6bmV0cndfZGVjb21wcmVzcyoJCT0geyAiLmd6IiA6ICJndW56aXAiICwKIAkJCQkgICAgIi5iejIiIDogImJ1bnppcDIiICwKIAkJCQkgICAgIi56aXAiIDogInVuemlwIiAsCkBAIC0xODg4LDYgKzE4ODMsMTQgQEAKICAgKmc6bmV0cndfc29ydF9kaXJlY3Rpb24qCXNvcnRpbmcgZGlyZWN0aW9uOiAibm9ybWFsIiBvciAicmV2ZXJzZSIKIAkJCQkgZGVmYXVsdDogIm5vcm1hbCIKIAorICAqZzpuZXRyd19zb3J0X29wdGlvbnMqCXNvcnRpbmcgaXMgZG9uZSB1c2luZyB8OnNvcnR8OyB0aGlzCisJCQkJdmFyaWFibGUncyB2YWx1ZSBpcyBhcHBlbmRlZCB0byB0aGUKKwkJCQlzb3J0IGNvbW1hbmQuICBUaHVzIG9uZSBtYXkgaWdub3JlIGNhc2UsCisJCQkJZm9yIGV4YW1wbGUsIHdpdGggdGhlIGZvbGxvd2luZyBpbiB5b3VyCisJCQkJLnZpbXJjOiA+CisJCQkJCWxldCBnOm5ldHJ3X3NvcnRfb3B0aW9ucz0iaSIKKzwJCQkJIGRlZmF1bHQ6ICIiCisKICAgKmc6bmV0cndfc29ydF9zZXF1ZW5jZSoJd2hlbiBzb3J0aW5nIGJ5IG5hbWUsIGZpcnN0IHNvcnQgYnkgdGhlCiAJCQkJY29tbWEtc2VwYXJhdGVkIHBhdHRlcm4gc2VxdWVuY2UKIAkJCQkgZGVmYXVsdDogJ1tcL10kLCosXC5iYWskLFwubyQsXC5oJCwKQEAgLTIwMzEsNiArMjAzNCwxMyBAQAogICAgZGlyZWN0b3J5LCBzZWUgfGc6bmV0cndfa2VlcGRpcnwuCiAKIAorT1BFTiBBIE5FVyBGSUxFIElOIE5FVFJXJ1MgQ1VSUkVOVCBESVJFQ1RPUlkJCSpuZXRydy0lKgorCitUbyBvcGVuIGEgZmlsZSBpbiBuZXRydydzIGN1cnJlbnQgZGlyZWN0b3J5LCBwcmVzcyAiJSIuICBUaGlzIG1hcCB3aWxsCitxdWVyeSB0aGUgdXNlciBmb3IgYSBuZXcgZmlsZW5hbWU7IGFuIGVtcHR5IGZpbGUgYnkgdGhhdCBuYW1lIHdpbGwgYmUKK3BsYWNlZCBpbiB0aGUgbmV0cncncyBjdXJyZW50IGRpcmVjdG9yeSAoaWUuIGI6bmV0cndfY3VyZGlyKS4KKworCiBQUkVWSUVXIFdJTkRPVwkJCQkqbmV0cnctcCogKm5ldHJ3LXByZXZpZXcqIHt7ezIKIAogT25lIG1heSB1c2UgYSBwcmV2aWV3IHdpbmRvdyBieSB1c2luZyB0aGUgInAiIGtleSB3aGVuIHRoZSBjdXJzb3IgaXMgYXRvcCB0aGUKQEAgLTIzNzcsNiArMjM4NywyMyBAQAogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAxMi4gSGlzdG9yeQkJCQkJCSpuZXRydy1oaXN0b3J5KiB7e3sxCiAKKwl2MTI2OiBKdW4gMzAsIDIwMDggKiBhZnRlciBoYXZpbmcgZ29uZSB0byBhIHJlbW90ZSBkaXJlY3RvcnksCisJICAgICAgICAgICAgICAgICAgICAgPGYxPiB3YXMgbm8gbG9uZ2VyIHRha2luZyBvbmUgdG8gdGhlIGNvcnJlY3QKKwkJCSAgICAgZW50cnkgaW4gdGhlIGhlbHAgKHxuZXRydy1xdWlja2hlbHB8KS4gIEZpeGVkLgorCSAgICAgIEp1bCAwMSwgMjAwOCAqIGV4dHJhY3RpbmcgdGhlIGxhc3QgZmlsZW5hbWUgZnJvbSBhIHdpZGUgbGlzdGluZworCQkJICAgICBtaXNzZWQgdGhlIGxhc3QgbGV0dGVyIHdoZW4gfCd2aXJ0dWFsZWRpdCd8IG5vdAorCQkJICAgICBlbmFibGVkLgorCSAgICAgIEp1bCAwMSwgMjAwOCAqIHZpbSBmb28vYmFyICB3YXMgY3JlYXRpbmcgW1NjcmF0Y2hdIGJ1ZmZlcnMsCisJCQkgICAgIHdoZXJlIGJhciB3YXMgYWxzbyBhIGRpcmVjdG9yeQorCSAgICAgIEp1bCAwMSwgMjAwOCAqIG51bWVyb3VzIGFkZGl0aW9uYWwgY2hhbmdlcyB3ZXJlIG1hZGUgdG8gbmV0cncKKwkJCSAgICAgdG8gdXNlIGZuYW1lZXNjYXBlKCkgYW5kIHNoZWxsZXNjYXBlKCkgaW5zdGVhZAorCQkJICAgICBvZiBlc2NhcGUoKS4gIE5vdCBhbGwgY2hhbmdlcyBoYXZlIGJlZW4gdGVzdGVkCisJCQkgICAgIGFzIHlldC4uLgorCSAgICAgIEp1bCAwMSwgMjAwOCAqIChKYW1lcyBWZWdhIHJlcG9ydGVkKSBzb21lIHByb2JsZW1zIHdpdGgKKwkJCSAgICAgOk5ldHJ3U2V0dGluZ3MgKGR1ZSB0byBubyBsb25nZXIgdXNlZCBzZXR0aW5nCisJCQkgICAgIHZhcmlhYmxlcykuCisJICAgICAgSnVsIDA3LCAyMDA4ICogQWRkaXRpb25hbCBudW1lcm91cyBjaGFuZ2VzIHRvIHN1cHBvcnQgc2VjdXJpdHk7CisJICAgICAgICAgICAgICAgICAgICAgc2hlbGxlc2NhcGUoYXJnLDEpLCBldGMuCiAJdjEyNTogQXByIDA3LCAyMDA4ICogKENyaXN0aWFuIFJpZ2Ftb250aSkgQ1IgcHJvdmlkZXMgYSBwYXRjaDsgaGUKIAkJCSAgICAgbm90ZWQgdGhhdCBneCB3YXMgZmFpbGluZyBzaW5jZSBpdHMgY2FsbCB0bwogCQkJICAgICBuZXRydyNOZXRCcm93c2VYKCkgd2Fzbid0IHVwZGF0ZWQgdG8KQEAgLTI1NzAsNyArMjU5Nyw3IEBACiAJdjExMDogTWF5IDEwLCAyMDA3ICogYWRkZWQgWyBhbmQgXSBtYXBzIHRvIE5ldHJ3VHJlZUxpc3RpbmcKIAkgICAgICBNYXkgMjUsIDIwMDcgKiB8ZzpuZXRyd19wcmV2aWV3fCBpbmNsdWRlZAogCSAgICAgIE1heSAyOSwgMjAwNyAqIG1vZGlmZWQgbmV0cncjTmV0QnJvd3NlWCB0byBjb25zaXN0ZW50bHkgdXNlCi0JCQkgICAgfGc6bmV0cndfc2hxfCBpbnN0ZWFkIG9mIGhhcmRjb2RlZCBxdW90ZXMsCisJCQkgICAgIGc6bmV0cndfc2hxIGluc3RlYWQgb2YgaGFyZGNvZGVkIHF1b3RlcywKIAkJCSAgICAgYW5kIG1vZGlmaWVkIHRoZSBzbmlwcGV0IHRoYXQgc2V0cyB1cCByZWRpcgogCQkJICAgICBzbyBXaW5kb3dzIG1hY2hpbmVzIHVzZSAibnVsIiBpbnN0ZWFkIG9mCiAJCQkgICAgICIvZGV2L251bGwiLgpkaWZmIC0tZ2l0IGEvcnVudGltZS9kb2MvcGlfcGFyZW4udHh0IGIvcnVudGltZS9kb2MvcGlfcGFyZW4udHh0CmluZGV4IDgxMDUzMjcuLmZhYTg4OWIgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvZG9jL3BpX3BhcmVuLnR4dAorKysgYi9ydW50aW1lL2RvYy9waV9wYXJlbi50eHQKQEAgLTEsNCArMSw0IEBACi0qcGlfcGFyZW4udHh0KiAgRm9yIFZpbSB2ZXJzaW9uIDcuMmEuICBMYXN0IGNoYW5nZTogMjAwOCBKdW4gMTYKKypwaV9wYXJlbi50eHQqICBGb3IgVmltIHZlcnNpb24gNy4yYi4gIExhc3QgY2hhbmdlOiAyMDA4IEp1biAxNgogCiAKIAkJICBWSU0gUkVGRVJFTkNFIE1BTlVBTCAgICBieSBCcmFtIE1vb2xlbmFhcgpkaWZmIC0tZ2l0IGEvcnVudGltZS9kb2MvcGlfc3BlYy50eHQgYi9ydW50aW1lL2RvYy9waV9zcGVjLnR4dAppbmRleCA5MDBlNzY4Li5lNWNiM2RhIDEwMDY0NAotLS0gYS9ydW50aW1lL2RvYy9waV9zcGVjLnR4dAorKysgYi9ydW50aW1lL2RvYy9waV9zcGVjLnR4dApAQCAtMSw0ICsxLDQgQEAKLSpwaV9zcGVjLnR4dCogICBGb3IgVmltIHZlcnNpb24gNy4yYS4gIExhc3QgY2hhbmdlOiAyMDA2IEFwciAyNAorKnBpX3NwZWMudHh0KiAgIEZvciBWaW0gdmVyc2lvbiA3LjJiLiAgTGFzdCBjaGFuZ2U6IDIwMDYgQXByIDI0CiAKIGJ5IEd1c3Rhdm8gTmllbWV5ZXIgfgogCmRpZmYgLS1naXQgYS9ydW50aW1lL2RvYy9waV90YXIudHh0IGIvcnVudGltZS9kb2MvcGlfdGFyLnR4dAppbmRleCBjNTBlMGQxLi5jNjkyNmNkIDEwMDY0NAotLS0gYS9ydW50aW1lL2RvYy9waV90YXIudHh0CisrKyBiL3J1bnRpbWUvZG9jL3BpX3Rhci50eHQKQEAgLTEsNCArMSw0IEBACi0qcGlfdGFyLnR4dCoJRm9yIFZpbSB2ZXJzaW9uIDcuMmEuICBMYXN0IGNoYW5nZTogMjAwOCBKdW4gMTIKKypwaV90YXIudHh0KglGb3IgVmltIHZlcnNpb24gNy4yYi4gIExhc3QgY2hhbmdlOiAyMDA4IEp1bCAxMwogCiAJCSAgICAgICArPT09PT09PT09PT09PT09PT09PT0rCiAJCSAgICAgICB8IFRhciBGaWxlIEludGVyZmFjZSB8CmRpZmYgLS1naXQgYS9ydW50aW1lL2RvYy9waV92aW1iYWxsLnR4dCBiL3J1bnRpbWUvZG9jL3BpX3ZpbWJhbGwudHh0CmluZGV4IGUzMWY4YTcuLjcyMjBkMGUgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvZG9jL3BpX3ZpbWJhbGwudHh0CisrKyBiL3J1bnRpbWUvZG9jL3BpX3ZpbWJhbGwudHh0CkBAIC0xLDQgKzEsNCBAQAotKnBpX3ZpbWJhbGwudHh0KglGb3IgVmltIHZlcnNpb24gNy4yYS4gIExhc3QgY2hhbmdlOiAyMDA4IEp1biAwNQorKnBpX3ZpbWJhbGwudHh0KglGb3IgVmltIHZlcnNpb24gNy4yYi4gIExhc3QgY2hhbmdlOiAyMDA4IEp1biAwNQogCiAJCQkgICAgICAgLS0tLS0tLS0tLS0tLS0tLQogCQkJICAgICAgIFZpbWJhbGwgQXJjaGl2ZXIKQEAgLTE2NCw3ICsxNjQsNyBAQAogCQkJICAgIHdpbGwgZXh0cmFjdCBwbHVnaW4vc29tZWZpbGUgdG8gdGhlIEFzTmVlZGVkLwogCQkJICAgIGRpcmVjdG9yeQogCTE3IDogSnVuIDI4LCAyMDA2ICogY2hhbmdlcyBhbGwgXHMgdG8gL3MgaW50ZXJuYWxseSBmb3IgV2luZG93cwotCTE2IDogSnVuIDE1LCAyMDA2ICogQS4gTWVjaHlseW5jaydzIGlkZWEgdG8gYWxsb3cgdXNlcnMgdG8gc3BlY2lmeQorCTE2IDogSnVuIDE1LCAyMDA2ICogQS4gTWVjaGVseW5jaydzIGlkZWEgdG8gYWxsb3cgdXNlcnMgdG8gc3BlY2lmeQogCQkJICAgIGluc3RhbGxhdGlvbiByb290IHBhdGhzIGltcGxlbWVudGVkIGZvcgogCQkJICAgIFVzZVZpbWJhbGwsIE1rVmltYmFsbCwgYW5kIFJtVmltYmFsbC4KIAkJCSAgKiBSbVZpbWJhbGwgaW1wbGVtZW50ZWQKZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL3BpX3ppcC50eHQgYi9ydW50aW1lL2RvYy9waV96aXAudHh0CmluZGV4IDgzMGQ1YzYuLmQ0ZTNmNjcgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvZG9jL3BpX3ppcC50eHQKKysrIGIvcnVudGltZS9kb2MvcGlfemlwLnR4dApAQCAtMSw0ICsxLDQgQEAKLSpwaV96aXAudHh0KglGb3IgVmltIHZlcnNpb24gNy4yYS4gIExhc3QgY2hhbmdlOiAyMDA4IEp1biAxMgorKnBpX3ppcC50eHQqCUZvciBWaW0gdmVyc2lvbiA3LjJiLiAgTGFzdCBjaGFuZ2U6IDIwMDggSnVuIDI5CiAKIAkJCQkrPT09PT09PT09PT09PT09PT09PT0rCiAJCQkJfCBaaXAgRmlsZSBJbnRlcmZhY2UgfApAQCAtNzAsNyArNzAsNyBAQAogCiAJYXUgQnVmUmVhZENtZCAqLmphciwqLnhwaSBjYWxsIHppcCNCcm93c2UoZXhwYW5kKCI8YW1hdGNoPiIpKQogPAotICAgT25lIHNpbXBseSBjYW4gZXh0ZW5kIHRoaXMgbGluZSB0byBhY2NvbW9kYXRlIGFkZGl0aW9uYWwgZXh0ZW5zaW9ucyB0aGF0CisgICBPbmUgY2FuIHNpbXBseSBleHRlbmQgdGhpcyBsaW5lIHRvIGFjY29tbW9kYXRlIGFkZGl0aW9uYWwgZXh0ZW5zaW9ucyB0aGF0CiAgICBzaG91bGQgYmUgdHJlYXRlZCBhcyB6aXAgZmlsZXMuCiAKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpkaWZmIC0tZ2l0IGEvcnVudGltZS9kb2MvcHJpbnQudHh0IGIvcnVudGltZS9kb2MvcHJpbnQudHh0CmluZGV4IGNiNGRlNDMuLmFmMWUyYzAgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvZG9jL3ByaW50LnR4dAorKysgYi9ydW50aW1lL2RvYy9wcmludC50eHQKQEAgLTEsNCArMSw0IEBACi0qcHJpbnQudHh0KiAgICAgRm9yIFZpbSB2ZXJzaW9uIDcuMmEuICBMYXN0IGNoYW5nZTogMjAwOCBBcHIgMzAKKypwcmludC50eHQqICAgICBGb3IgVmltIHZlcnNpb24gNy4yYi4gIExhc3QgY2hhbmdlOiAyMDA4IEFwciAzMAogCiAKIAkJICBWSU0gUkVGRVJFTkNFIE1BTlVBTCAgICBieSBCcmFtIE1vb2xlbmFhcgpkaWZmIC0tZ2l0IGEvcnVudGltZS9kb2MvcXVpY2tmaXgudHh0IGIvcnVudGltZS9kb2MvcXVpY2tmaXgudHh0CmluZGV4IDI2ZTJlN2UuLjVjNDhlNjcgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvZG9jL3F1aWNrZml4LnR4dAorKysgYi9ydW50aW1lL2RvYy9xdWlja2ZpeC50eHQKQEAgLTEsNCArMSw0IEBACi0qcXVpY2tmaXgudHh0KiAgRm9yIFZpbSB2ZXJzaW9uIDcuMmEuICBMYXN0IGNoYW5nZTogMjAwOCBNYXIgMTQKKypxdWlja2ZpeC50eHQqICBGb3IgVmltIHZlcnNpb24gNy4yYi4gIExhc3QgY2hhbmdlOiAyMDA4IE1hciAxNAogCiAKIAkJICBWSU0gUkVGRVJFTkNFIE1BTlVBTCAgICBieSBCcmFtIE1vb2xlbmFhcgpkaWZmIC0tZ2l0IGEvcnVudGltZS9kb2MvcXVpY2tyZWYudHh0IGIvcnVudGltZS9kb2MvcXVpY2tyZWYudHh0CmluZGV4IGZjNDljZmEuLjIzMGExMTAgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvZG9jL3F1aWNrcmVmLnR4dAorKysgYi9ydW50aW1lL2RvYy9xdWlja3JlZi50eHQKQEAgLTEsNCArMSw0IEBACi0qcXVpY2tyZWYudHh0KiAgRm9yIFZpbSB2ZXJzaW9uIDcuMmEuICBMYXN0IGNoYW5nZTogMjAwOCBKYW4gMjIKKypxdWlja3JlZi50eHQqICBGb3IgVmltIHZlcnNpb24gNy4yYi4gIExhc3QgY2hhbmdlOiAyMDA4IEphbiAyMgogCiAKIAkJICBWSU0gUkVGRVJFTkNFIE1BTlVBTCAgICBieSBCcmFtIE1vb2xlbmFhcgpkaWZmIC0tZ2l0IGEvcnVudGltZS9kb2MvcXVvdGVzLnR4dCBiL3J1bnRpbWUvZG9jL3F1b3Rlcy50eHQKaW5kZXggMDdiMjEyNi4uYWY4NzQ1MSAxMDA2NDQKLS0tIGEvcnVudGltZS9kb2MvcXVvdGVzLnR4dAorKysgYi9ydW50aW1lL2RvYy9xdW90ZXMudHh0CkBAIC0xLDQgKzEsNCBAQAotKnF1b3Rlcy50eHQqICAgIEZvciBWaW0gdmVyc2lvbiA3LjJhLiAgTGFzdCBjaGFuZ2U6IDIwMDYgQXByIDI0CisqcXVvdGVzLnR4dCogICAgRm9yIFZpbSB2ZXJzaW9uIDcuMmIuICBMYXN0IGNoYW5nZTogMjAwNiBBcHIgMjQKIAogCiAJCSAgVklNIFJFRkVSRU5DRSBNQU5VQUwgICAgYnkgQnJhbSBNb29sZW5hYXIKZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL3JlY292ZXIudHh0IGIvcnVudGltZS9kb2MvcmVjb3Zlci50eHQKaW5kZXggNTc4YzgwMS4uNzVmNWQ3ZSAxMDA2NDQKLS0tIGEvcnVudGltZS9kb2MvcmVjb3Zlci50eHQKKysrIGIvcnVudGltZS9kb2MvcmVjb3Zlci50eHQKQEAgLTEsNCArMSw0IEBACi0qcmVjb3Zlci50eHQqICAgRm9yIFZpbSB2ZXJzaW9uIDcuMmEuICBMYXN0IGNoYW5nZTogMjAwNiBBcHIgMjQKKypyZWNvdmVyLnR4dCogICBGb3IgVmltIHZlcnNpb24gNy4yYi4gIExhc3QgY2hhbmdlOiAyMDA2IEFwciAyNAogCiAKIAkJICBWSU0gUkVGRVJFTkNFIE1BTlVBTCAgICBieSBCcmFtIE1vb2xlbmFhcgpkaWZmIC0tZ2l0IGEvcnVudGltZS9kb2MvcmVtb3RlLnR4dCBiL3J1bnRpbWUvZG9jL3JlbW90ZS50eHQKaW5kZXggODViMDUwNy4uYmJmMWMxMiAxMDA2NDQKLS0tIGEvcnVudGltZS9kb2MvcmVtb3RlLnR4dAorKysgYi9ydW50aW1lL2RvYy9yZW1vdGUudHh0CkBAIC0xLDQgKzEsNCBAQAotKnJlbW90ZS50eHQqICAgIEZvciBWaW0gdmVyc2lvbiA3LjJhLiAgTGFzdCBjaGFuZ2U6IDIwMDggTWF5IDI0CisqcmVtb3RlLnR4dCogICAgRm9yIFZpbSB2ZXJzaW9uIDcuMmIuICBMYXN0IGNoYW5nZTogMjAwOCBNYXkgMjQKIAogCiAJCSAgVklNIFJFRkVSRU5DRSBNQU5VQUwgICAgYnkgQnJhbSBNb29sZW5hYXIKZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL3JlcGVhdC50eHQgYi9ydW50aW1lL2RvYy9yZXBlYXQudHh0CmluZGV4IDM4YTQ4NTcuLjU3N2MwZGUgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvZG9jL3JlcGVhdC50eHQKKysrIGIvcnVudGltZS9kb2MvcmVwZWF0LnR4dApAQCAtMSw0ICsxLDQgQEAKLSpyZXBlYXQudHh0KiAgICBGb3IgVmltIHZlcnNpb24gNy4yYS4gIExhc3QgY2hhbmdlOiAyMDA3IEF1ZyAxMgorKnJlcGVhdC50eHQqICAgIEZvciBWaW0gdmVyc2lvbiA3LjJiLiAgTGFzdCBjaGFuZ2U6IDIwMDcgQXVnIDEyCiAKIAogCQkgIFZJTSBSRUZFUkVOQ0UgTUFOVUFMICAgIGJ5IEJyYW0gTW9vbGVuYWFyCmRpZmYgLS1naXQgYS9ydW50aW1lL2RvYy9yaWxlZnQudHh0IGIvcnVudGltZS9kb2MvcmlsZWZ0LnR4dAppbmRleCBkMjcwNzQwLi40MGYwMGJjIDEwMDY0NAotLS0gYS9ydW50aW1lL2RvYy9yaWxlZnQudHh0CisrKyBiL3J1bnRpbWUvZG9jL3JpbGVmdC50eHQKQEAgLTEsNCArMSw0IEBACi0qcmlsZWZ0LnR4dCogICAgRm9yIFZpbSB2ZXJzaW9uIDcuMmEuICBMYXN0IGNoYW5nZTogMjAwNiBBcHIgMjQKKypyaWxlZnQudHh0KiAgICBGb3IgVmltIHZlcnNpb24gNy4yYi4gIExhc3QgY2hhbmdlOiAyMDA2IEFwciAyNAogCiAKIAkJICBWSU0gUkVGRVJFTkNFIE1BTlVBTCAgICBieSBBdm5lciBMb3R0ZW0KZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL3J1c3NpYW4udHh0IGIvcnVudGltZS9kb2MvcnVzc2lhbi50eHQKaW5kZXggZGFiY2E0Mi4uMGJhOWJlNyAxMDA2NDQKLS0tIGEvcnVudGltZS9kb2MvcnVzc2lhbi50eHQKKysrIGIvcnVudGltZS9kb2MvcnVzc2lhbi50eHQKQEAgLTEsNCArMSw0IEBACi0qcnVzc2lhbi50eHQqICAgRm9yIFZpbSB2ZXJzaW9uIDcuMmEuICBMYXN0IGNoYW5nZTogMjAwNiBBcHIgMjQKKypydXNzaWFuLnR4dCogICBGb3IgVmltIHZlcnNpb24gNy4yYi4gIExhc3QgY2hhbmdlOiAyMDA2IEFwciAyNAogCiAKIAkJICBWSU0gUkVGRVJFTkNFIE1BTlVBTCAgICBieSBWYXNzaWx5IFJhZ29zaW4KZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL3Njcm9sbC50eHQgYi9ydW50aW1lL2RvYy9zY3JvbGwudHh0CmluZGV4IDkxZmM0YzguLjE0MWVlZTYgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvZG9jL3Njcm9sbC50eHQKKysrIGIvcnVudGltZS9kb2Mvc2Nyb2xsLnR4dApAQCAtMSw0ICsxLDQgQEAKLSpzY3JvbGwudHh0KiAgICBGb3IgVmltIHZlcnNpb24gNy4yYS4gIExhc3QgY2hhbmdlOiAyMDA2IEF1ZyAyNworKnNjcm9sbC50eHQqICAgIEZvciBWaW0gdmVyc2lvbiA3LjJiLiAgTGFzdCBjaGFuZ2U6IDIwMDYgQXVnIDI3CiAKIAogCQkgIFZJTSBSRUZFUkVOQ0UgTUFOVUFMICAgIGJ5IEJyYW0gTW9vbGVuYWFyCmRpZmYgLS1naXQgYS9ydW50aW1lL2RvYy9zaWduLnR4dCBiL3J1bnRpbWUvZG9jL3NpZ24udHh0CmluZGV4IDU0MzQyNzkuLjdlMjk1MjAgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvZG9jL3NpZ24udHh0CisrKyBiL3J1bnRpbWUvZG9jL3NpZ24udHh0CkBAIC0xLDQgKzEsNCBAQAotKnNpZ24udHh0KiAgICAgIEZvciBWaW0gdmVyc2lvbiA3LjJhLiAgTGFzdCBjaGFuZ2U6IDIwMDYgQXByIDI0Cisqc2lnbi50eHQqICAgICAgRm9yIFZpbSB2ZXJzaW9uIDcuMmIuICBMYXN0IGNoYW5nZTogMjAwNiBBcHIgMjQKIAogCiAJCSAgVklNIFJFRkVSRU5DRSBNQU5VQUwgICAgYnkgR29yZG9uIFByaWV1cgpkaWZmIC0tZ2l0IGEvcnVudGltZS9kb2Mvc3BlbGwudHh0IGIvcnVudGltZS9kb2Mvc3BlbGwudHh0CmluZGV4IGU2YzQwYzguLmVhNGRhMjUgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvZG9jL3NwZWxsLnR4dAorKysgYi9ydW50aW1lL2RvYy9zcGVsbC50eHQKQEAgLTEsNCArMSw0IEBACi0qc3BlbGwudHh0KglGb3IgVmltIHZlcnNpb24gNy4yYS4gIExhc3QgY2hhbmdlOiAyMDA4IEp1biAyMQorKnNwZWxsLnR4dCoJRm9yIFZpbSB2ZXJzaW9uIDcuMmIuICBMYXN0IGNoYW5nZTogMjAwOCBKdW4gMjEKIAogCiAJCSAgVklNIFJFRkVSRU5DRSBNQU5VQUwJICBieSBCcmFtIE1vb2xlbmFhcgpkaWZmIC0tZ2l0IGEvcnVudGltZS9kb2Mvc3BvbnNvci50eHQgYi9ydW50aW1lL2RvYy9zcG9uc29yLnR4dAppbmRleCBhYzI1ZjQ5Li45ZTY3ZWM0IDEwMDY0NAotLS0gYS9ydW50aW1lL2RvYy9zcG9uc29yLnR4dAorKysgYi9ydW50aW1lL2RvYy9zcG9uc29yLnR4dApAQCAtMSw0ICsxLDQgQEAKLSpzcG9uc29yLnR4dCogICBGb3IgVmltIHZlcnNpb24gNy4yYS4gIExhc3QgY2hhbmdlOiAyMDA4IEp1biAyMQorKnNwb25zb3IudHh0KiAgIEZvciBWaW0gdmVyc2lvbiA3LjJiLiAgTGFzdCBjaGFuZ2U6IDIwMDggSnVuIDIxCiAKIAogCQkgIFZJTSBSRUZFUkVOQ0UgTUFOVUFMICAgIGJ5IEJyYW0gTW9vbGVuYWFyCmRpZmYgLS1naXQgYS9ydW50aW1lL2RvYy9zdGFydGluZy50eHQgYi9ydW50aW1lL2RvYy9zdGFydGluZy50eHQKaW5kZXggYzAxN2ZiNC4uZGZiNDAzYiAxMDA2NDQKLS0tIGEvcnVudGltZS9kb2Mvc3RhcnRpbmcudHh0CisrKyBiL3J1bnRpbWUvZG9jL3N0YXJ0aW5nLnR4dApAQCAtMSw0ICsxLDQgQEAKLSpzdGFydGluZy50eHQqICBGb3IgVmltIHZlcnNpb24gNy4yYS4gIExhc3QgY2hhbmdlOiAyMDA4IEp1biAyMQorKnN0YXJ0aW5nLnR4dCogIEZvciBWaW0gdmVyc2lvbiA3LjJiLiAgTGFzdCBjaGFuZ2U6IDIwMDggSnVuIDIxCiAKIAogCQkgIFZJTSBSRUZFUkVOQ0UgTUFOVUFMICAgIGJ5IEJyYW0gTW9vbGVuYWFyCmRpZmYgLS1naXQgYS9ydW50aW1lL2RvYy9zeW50YXgudHh0IGIvcnVudGltZS9kb2Mvc3ludGF4LnR4dAppbmRleCAwYTBjMGE4Li44MzlhYjM0IDEwMDY0NAotLS0gYS9ydW50aW1lL2RvYy9zeW50YXgudHh0CisrKyBiL3J1bnRpbWUvZG9jL3N5bnRheC50eHQKQEAgLTEsNCArMSw0IEBACi0qc3ludGF4LnR4dCoJRm9yIFZpbSB2ZXJzaW9uIDcuMmEuICBMYXN0IGNoYW5nZTogMjAwOCBKdW4gMjEKKypzeW50YXgudHh0KglGb3IgVmltIHZlcnNpb24gNy4yYi4gIExhc3QgY2hhbmdlOiAyMDA4IEp1biAyMQogCiAKIAkJICBWSU0gUkVGRVJFTkNFIE1BTlVBTAkgIGJ5IEJyYW0gTW9vbGVuYWFyCmRpZmYgLS1naXQgYS9ydW50aW1lL2RvYy90YWJwYWdlLnR4dCBiL3J1bnRpbWUvZG9jL3RhYnBhZ2UudHh0CmluZGV4IDY0MTBiMTEuLjUxOGY5ODAgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvZG9jL3RhYnBhZ2UudHh0CisrKyBiL3J1bnRpbWUvZG9jL3RhYnBhZ2UudHh0CkBAIC0xLDQgKzEsNCBAQAotKnRhYnBhZ2UudHh0KiAgIEZvciBWaW0gdmVyc2lvbiA3LjJhLiAgTGFzdCBjaGFuZ2U6IDIwMDcgTWFyIDExCisqdGFicGFnZS50eHQqICAgRm9yIFZpbSB2ZXJzaW9uIDcuMmIuICBMYXN0IGNoYW5nZTogMjAwNyBNYXIgMTEKIAogCiAJCSAgVklNIFJFRkVSRU5DRSBNQU5VQUwgICAgYnkgQnJhbSBNb29sZW5hYXIKZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL3RhZ3MgYi9ydW50aW1lL2RvYy90YWdzCmluZGV4IDRmOTRmZTUuLmI5NTVhYWYgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvZG9jL3RhZ3MKKysrIGIvcnVudGltZS9kb2MvdGFncwpAQCAtNTQ2MCw2ICs1NDYwLDcgQEAKIGZ0LXBhc2NhbC1zeW50YXgJc3ludGF4LnR4dAkvKmZ0LXBhc2NhbC1zeW50YXgqCiBmdC1wZGYtcGx1Z2luCWZpbGV0eXBlLnR4dAkvKmZ0LXBkZi1wbHVnaW4qCiBmdC1wZXJsLXN5bnRheAlzeW50YXgudHh0CS8qZnQtcGVybC1zeW50YXgqCitmdC1waHAtaW5kZW50CWluZGVudC50eHQJLypmdC1waHAtaW5kZW50KgogZnQtcGhwLW9tbmkJaW5zZXJ0LnR4dAkvKmZ0LXBocC1vbW5pKgogZnQtcGhwLXN5bnRheAlzeW50YXgudHh0CS8qZnQtcGhwLXN5bnRheCoKIGZ0LXBocDMtc3ludGF4CXN5bnRheC50eHQJLypmdC1waHAzLXN5bnRheCoKQEAgLTU1ODMsOCArNTU4NCw4IEBACiBnOm5ldHJ3X2FsdHYJcGlfbmV0cncudHh0CS8qZzpuZXRyd19hbHR2KgogZzpuZXRyd19icm93c2Vfc3BsaXQJcGlfbmV0cncudHh0CS8qZzpuZXRyd19icm93c2Vfc3BsaXQqCiBnOm5ldHJ3X2Jyb3dzZXhfdmlld2VyCXBpX25ldHJ3LnR4dAkvKmc6bmV0cndfYnJvd3NleF92aWV3ZXIqCi1nOm5ldHJ3X2NkX2VzY2FwZQlwaV9uZXRydy50eHQJLypnOm5ldHJ3X2NkX2VzY2FwZSoKIGc6bmV0cndfY29tcHJlc3MJcGlfbmV0cncudHh0CS8qZzpuZXRyd19jb21wcmVzcyoKK2c6bmV0cndfY3RhZ3MJcGlfbmV0cncudHh0CS8qZzpuZXRyd19jdGFncyoKIGc6bmV0cndfY3lnd2luCXBpX25ldHJ3LnR4dAkvKmc6bmV0cndfY3lnd2luKgogZzpuZXRyd19kYXZfY21kCXBpX25ldHJ3LnR4dAkvKmc6bmV0cndfZGF2X2NtZCoKIGc6bmV0cndfZGVjb21wcmVzcwlwaV9uZXRydy50eHQJLypnOm5ldHJ3X2RlY29tcHJlc3MqCkBAIC01NjI1LDEwICs1NjI2LDEwIEBACiBnOm5ldHJ3X3NjcF9jbWQJcGlfbmV0cncudHh0CS8qZzpuZXRyd19zY3BfY21kKgogZzpuZXRyd19zY3Bwb3J0CXBpX25ldHJ3LnR4dAkvKmc6bmV0cndfc2NwcG9ydCoKIGc6bmV0cndfc2Z0cF9jbWQJcGlfbmV0cncudHh0CS8qZzpuZXRyd19zZnRwX2NtZCoKLWc6bmV0cndfc2hxCXBpX25ldHJ3LnR4dAkvKmc6bmV0cndfc2hxKgogZzpuZXRyd19zaWxlbnQJcGlfbmV0cncudHh0CS8qZzpuZXRyd19zaWxlbnQqCiBnOm5ldHJ3X3NvcnRfYnkJcGlfbmV0cncudHh0CS8qZzpuZXRyd19zb3J0X2J5KgogZzpuZXRyd19zb3J0X2RpcmVjdGlvbglwaV9uZXRydy50eHQJLypnOm5ldHJ3X3NvcnRfZGlyZWN0aW9uKgorZzpuZXRyd19zb3J0X29wdGlvbnMJcGlfbmV0cncudHh0CS8qZzpuZXRyd19zb3J0X29wdGlvbnMqCiBnOm5ldHJ3X3NvcnRfc2VxdWVuY2UJcGlfbmV0cncudHh0CS8qZzpuZXRyd19zb3J0X3NlcXVlbmNlKgogZzpuZXRyd19zcGVjaWFsX3N5bnRheAlwaV9uZXRydy50eHQJLypnOm5ldHJ3X3NwZWNpYWxfc3ludGF4KgogZzpuZXRyd19zc2hfYnJvd3NlX3JlamVjdAlwaV9uZXRydy50eHQJLypnOm5ldHJ3X3NzaF9icm93c2VfcmVqZWN0KgpAQCAtNjQ3NSw2ICs2NDc2LDcgQEAKIG5ldGJlYW5zLnR4dAluZXRiZWFucy50eHQJLypuZXRiZWFucy50eHQqCiBuZXRyZWFkZml4dXAJcGlfbmV0cncudHh0CS8qbmV0cmVhZGZpeHVwKgogbmV0cncJcGlfbmV0cncudHh0CS8qbmV0cncqCituZXRydy0lCXBpX25ldHJ3LnR4dAkvKm5ldHJ3LSUqCiBuZXRydy0tCXBpX25ldHJ3LnR4dAkvKm5ldHJ3LS0qCiBuZXRydy1ECXBpX25ldHJ3LnR4dAkvKm5ldHJ3LUQqCiBuZXRydy1PCXBpX25ldHJ3LnR4dAkvKm5ldHJ3LU8qCkBAIC02NzA3LDYgKzY3MDksNyBAQAogbm8tZXZhbC1mZWF0dXJlCWV2YWwudHh0CS8qbm8tZXZhbC1mZWF0dXJlKgogbm9fYnVmZmVyc19tZW51CWd1aS50eHQJLypub19idWZmZXJzX21lbnUqCiBub24tZ3JlZWR5CXBhdHRlcm4udHh0CS8qbm9uLWdyZWVkeSoKK25vbi16ZXJvLWFyZwlldmFsLnR4dAkvKm5vbi16ZXJvLWFyZyoKIG5vcm1hbC1pbmRleAlpbmRleC50eHQJLypub3JtYWwtaW5kZXgqCiBub3QtY29tcGF0aWJsZQl1c3JfMDEudHh0CS8qbm90LWNvbXBhdGlibGUqCiBub3QtZWRpdGVkCWVkaXRpbmcudHh0CS8qbm90LWVkaXRlZCoKQEAgLTY4MTIsNiArNjgxNSw5IEBACiBwaGVhZGVyLW9wdGlvbglwcmludC50eHQJLypwaGVhZGVyLW9wdGlvbioKIHBob3Rvbi1mb250cwlvc19xbngudHh0CS8qcGhvdG9uLWZvbnRzKgogcGhvdG9uLWd1aQlvc19xbngudHh0CS8qcGhvdG9uLWd1aSoKK3BocC1jb21tZW50CWluZGVudC50eHQJLypwaHAtY29tbWVudCoKK3BocC1pbmRlbnQJaW5kZW50LnR4dAkvKnBocC1pbmRlbnQqCitwaHAtaW5kZW50aW5nCWluZGVudC50eHQJLypwaHAtaW5kZW50aW5nKgogcGhwLnZpbQlzeW50YXgudHh0CS8qcGhwLnZpbSoKIHBocDMudmltCXN5bnRheC50eHQJLypwaHAzLnZpbSoKIHBodG1sLnZpbQlzeW50YXgudHh0CS8qcGh0bWwudmltKgpkaWZmIC0tZ2l0IGEvcnVudGltZS9kb2MvdGFnc3JjaC50eHQgYi9ydW50aW1lL2RvYy90YWdzcmNoLnR4dAppbmRleCA0NmRjMThlLi45NTJiYjk2IDEwMDY0NAotLS0gYS9ydW50aW1lL2RvYy90YWdzcmNoLnR4dAorKysgYi9ydW50aW1lL2RvYy90YWdzcmNoLnR4dApAQCAtMSw0ICsxLDQgQEAKLSp0YWdzcmNoLnR4dCogICBGb3IgVmltIHZlcnNpb24gNy4yYS4gIExhc3QgY2hhbmdlOiAyMDA2IEFwciAyNAorKnRhZ3NyY2gudHh0KiAgIEZvciBWaW0gdmVyc2lvbiA3LjJiLiAgTGFzdCBjaGFuZ2U6IDIwMDYgQXByIDI0CiAKIAogCQkgIFZJTSBSRUZFUkVOQ0UgTUFOVUFMICAgIGJ5IEJyYW0gTW9vbGVuYWFyCmRpZmYgLS1naXQgYS9ydW50aW1lL2RvYy90ZXJtLnR4dCBiL3J1bnRpbWUvZG9jL3Rlcm0udHh0CmluZGV4IDU1YTlhZTEuLmNmOTYwYmQgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvZG9jL3Rlcm0udHh0CisrKyBiL3J1bnRpbWUvZG9jL3Rlcm0udHh0CkBAIC0xLDQgKzEsNCBAQAotKnRlcm0udHh0KiAgICAgIEZvciBWaW0gdmVyc2lvbiA3LjJhLiAgTGFzdCBjaGFuZ2U6IDIwMDggSnVuIDIxCisqdGVybS50eHQqICAgICAgRm9yIFZpbSB2ZXJzaW9uIDcuMmIuICBMYXN0IGNoYW5nZTogMjAwOCBKdW4gMjEKIAogCiAJCSAgVklNIFJFRkVSRU5DRSBNQU5VQUwgICAgYnkgQnJhbSBNb29sZW5hYXIKZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL3RpcHMudHh0IGIvcnVudGltZS9kb2MvdGlwcy50eHQKaW5kZXggMGJkY2ZhMC4uZmZlZWEwZiAxMDA2NDQKLS0tIGEvcnVudGltZS9kb2MvdGlwcy50eHQKKysrIGIvcnVudGltZS9kb2MvdGlwcy50eHQKQEAgLTEsNCArMSw0IEBACi0qdGlwcy50eHQqICAgICAgRm9yIFZpbSB2ZXJzaW9uIDcuMmEuICBMYXN0IGNoYW5nZTogMjAwNiBKdWwgMjQKKyp0aXBzLnR4dCogICAgICBGb3IgVmltIHZlcnNpb24gNy4yYi4gIExhc3QgY2hhbmdlOiAyMDA2IEp1bCAyNAogCiAKIAkJICBWSU0gUkVGRVJFTkNFIE1BTlVBTCAgICBieSBCcmFtIE1vb2xlbmFhcgpkaWZmIC0tZ2l0IGEvcnVudGltZS9kb2MvdG9kby50eHQgYi9ydW50aW1lL2RvYy90b2RvLnR4dAppbmRleCBiNjA2OTY4Li4wM2U0OTgxIDEwMDY0NAotLS0gYS9ydW50aW1lL2RvYy90b2RvLnR4dAorKysgYi9ydW50aW1lL2RvYy90b2RvLnR4dApAQCAtMSw0ICsxLDQgQEAKLSp0b2RvLnR4dCogICAgICBGb3IgVmltIHZlcnNpb24gNy4yYS4gIExhc3QgY2hhbmdlOiAyMDA4IEp1biAyNAorKnRvZG8udHh0KiAgICAgIEZvciBWaW0gdmVyc2lvbiA3LjJiLiAgTGFzdCBjaGFuZ2U6IDIwMDggSnVsIDEzCiAKIAogCQkgIFZJTSBSRUZFUkVOQ0UgTUFOVUFMCSAgYnkgQnJhbSBNb29sZW5hYXIKQEAgLTMwLDEwICszMCwyMCBAQAogCQkJCQkJCSprbm93bi1idWdzKgogLS0tLS0tLS0tLS0tLS0tLS0tLS0gS25vd24gYnVncyBhbmQgY3VycmVudCB3b3JrIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAKKyI6cGVkaXQgJSIgd2l0aCBhIEJ1ZlJlYWRQcmUgYXV0b2NvbW1hbmQgY2F1c2VzIHRoZSBjdXJzb3IgdG8gbW92ZSB0byB0aGUKK2ZpcnN0IGxpbmUuIChJbmdvIEthcmthdCwgMjAwOCBKdWwgMSkKKwogSGF2ZSBhIGxvb2sgYXQgcGF0Y2ggZm9yIHV0Zi04IGxpbmUgYnJlYWtpbmcuIChZb25nd2VpIFd1LCAyMDA4IE1hciAxLCBNYXIgMjMpCiAKLURyYXdpbmcgcG9wdXAgbWVudSBpc24ndCBxdWl0ZSByaWdodCB3aGVuIHRoZXJlIGFyZSBkb3VibGUtd2lkZSBjaGFyYWN0ZXJzLgotWXVraWhpcm8gTmFrYWRhaXJhIGlzIHdvcmtpbmcgb24gYSBzb2x1dGlvbiAoMjAwOCBKdW4gMjIpLiAgVXNlIG1iX2ZpeF9jb2woKS4KK1J1bnRpbWUgZmlsZXMgZm9yIENsb2p1cmUuIChUb3JhbGYgV2l0dG5lciwgMjAwOCBKdW4gMjUpCisKK1BhdGNoIHRvIGFkZCBleHRyYSBhcmd1bWVudCB0byBnbG9iKCkgYW5kIGdsb2JwYXRoKCkgdG8gaWdub3JlICd3aWxkaWdub3JlJy4KKyhJbmdvIEthcmthdCwgMjAwOCBKdW4gMjUpCisKK0NyYXNoIHdpdGggZHJhZ24tbi1kcm9wIG9mIGZpbGUgY29tYmluZWQgd2l0aCBuZXRydyAoTWFyaXVzIEdlZG1pbmFzLCAyMDA4IEp1bgorMTEpICBJIGNhbid0IHJlcHJvZHVjZSBpdC4gIEl0J3MgcHJvYmFibHkgY2F1c2VkIGJ5IGEgaGFuZGxlX2Ryb3AoKSBjYWxsCitpbiBjb21iaW5hdGlvbiB3aXRoIGF1dG9jb21tYW5kcyB0aGF0IGludm9rZSBhICI6cmVkcmF3IiBjb21tYW5kLgorQW5vdGhlciB2YWxncmluZCBvdXRwdXQgSnVuIDMwLgogCiBXaGVuIHJlYWxsb2NhdGluZyBjbWRsaW5lIHhwX3BhdHRlcm4gYmVjb21lcyBpbnZhbGlkLiAgTW92ZSBleHBhbmRfVCB4cGMgaW50bwogY2NsaW5lPyAgKERvbWluaXF1ZSBQZWxsZSkKQEAgLTQ0LDE0ICs1NCw5IEBACiAKIEZpeCBmb3IgbWF0Y2hwYXJlbiBITCBkb2Vzbid0IHdvcmsuICBiZWVwLgogCi1DcmFzaCB3aXRoIGRyYWduLW4tZHJvcCBvZiBmaWxlIGNvbWJpbmVkIHdpdGggbmV0cncgKE1hcml1cyBHZWRtaW5hcywgMjAwOCBKdW4KLTExKSAgSSBjYW4ndCByZXByb2R1Y2UgaXQuCi0KIFdpbjMyOiBhc3NvY2lhdGluZyBhIHR5cGUgd2l0aCBWaW0gZG9lc24ndCB0YWtlIGNhcmUgb2Ygc3BhY2UgYWZ0ZXIgYQogYmFja3NsYXNoPyAoUm9iZXJ0IFZpYnJhbnQsIDIwMDggSnVuIDUpCiAKLSI6bGV0ICZnOnR3ID0gNDQiIHNldHMgdGhlIGxvY2FsIG9wdGlvbiB2YWx1ZS4gKEN5cmlsIFNsb2JpbiwgMjAwOCBBcHIgMjUpCi0KIEFmdGVyIHVzaW5nIDxUYWI+IGZvciBjb21tYW5kIGxpbmUgY29tcGxldGlvbiBhZnRlciAiOnRhIGJsYWgiIGFuZCBnZXR0aW5nIEUzMwogKG5vIHRhZ3MgZmlsZSksIGZ1cnRoZXIgZWRpdGluZyB0aGUgY29tbWFuZCB0byBlLmcuLCAiOmVjaG8gJ2JsYWgnIiwgdGhlCiBjb21tYW5kIGlzIG5vdCBleGVjdXRlZC4KQEAgLTY5LDEwICs3NCw4IEBACiAoSXZhbiBUaXNoY2hlbmtvLCBMaXUgWXViYW8pICBTdWdnZXN0ZWQgcGF0Y2ggYnkgQ2hyaXMgTHViaW5za2k6IEF2b2lkCiBlc2NhcGluZyBjaGFyYWN0ZXJzIHdoZXJlIHRoZSBiYWNrc2xhc2ggaXMgbm90IHJlbW92ZWQgbGF0ZXIuICBBc2tlZCBDaHJpcyBmb3IKIGFuIGFsdGVybmF0ZSBzb2x1dGlvbiwgYWxzbyBmb3Igc3JjL2V4X2dldGxuLmMuCi0KLVdoZW4gYWRkaW5nIHBhdGggdG8gJ3RhZ3MnIHdpdGggYSB3aWxkY2FyZCwgaXQgYXBwZWFycyBvbmx5IGEgZmlyc3QgbWF0Y2ggaXMKLXVzZWQuIChFcmlrIEZhbG9yLCAyMDA4IEFwcmlsIDE4KSAgT3IgaXMgaXQgdGhhdCBhIHdpbGRjYXJkIGluIHRoZSBmaWxlIG5hbWUKLWlzIG5vdCBzdXBwb3J0ZWQsIG9ubHkgaW4gdGhlIHBhdGg/CitUaGlzIGFsc28gZmFpbHMgd2hlbiB0aGUgZmlsZSBvciBkaXJlY3RvcnkgbmFtZSBjb250YWlucyAiJSIuIChUaG9tbCwgMjAwOAorSnVseSA3KQogCiBUaGUgc3RyMnNwZWNpYWwoKSBmdW5jdGlvbiBkb2Vzbid0IGhhbmRsZSBtdWx0aS1ieXRlIGNoYXJhY3RlcnMgcHJvcGVybHkuCiBQYXRjaCBmcm9tIFZsYWRpbWlyIFZpY2huaWFrb3YsIDIwMDcgQXByIDI0LgpAQCAtMTAyLDggKzEwNSw2IEBACiBHVUk6IEluIE5vcm1hbCBtb2RlIGNhbid0IHlhbmsgdGhlIG1vZGVsZXNzIHNlbGVjdGlvbi4gIE1ha2UgImd5IiBkbyB0aGlzPwogV29ya3MgbGlrZSBDVFJMLVkgaW4gQ29tbWFuZCBsaW5lIG1vZGUuCiAKLU1hYzogcGF0Y2ggZm9yIG1vdXNlIHdoZWVsIHNjcm9sbCB1bmRlciBMZW9wYXJkLiAoRWNrZWhhcmQgQmVybnMsIDIwMDcgRGVjIDcpCi0KIE1hYzogQWZ0ZXIgYSAiOnZzcGxpdCIgdGhlIGxlZnQgc2Nyb2xsYmFyIGRvZXNuJ3QgYXBwZWFyIHVudGlsICdjb2x1bW5zJyBpcwogY2hhbmdlZCBvciB0aGUgd2luZG93IGlzIHJlc2l6ZWQuCiAKQEAgLTE2Nyw5ICsxNjgsNiBAQAogCiBNb3JlIEFtaWdhT1M0IHBhdGNoZXMuIChQZXRlciBCZW5ndHNzb24sIE5vdiA5KQogCi1nbG9icGF0aCgpIGRvZXNuJ3Qgd29yayBhcyBleHBlY3RlZC4gIFRoZSBleGFtcGxlIHNob3dzIHVzaW5nICdwYXRoJywgYnV0IHRoZQotIioqOCIgZm9ybSBhbmQgdXB3YXJkcyBzZWFyY2ggYXJlIG5vdCBzdXBwb3J0ZWQuCi0KIEVycm9yIHdoZW4gY2FuY2VsbGluZyBjb21wbGV0aW9uIG1lbnUgYW5kIGF1dG8tZm9ybWF0dGluZy4gKFRpbSBXZWJlciwgMjAwOAogQXByIDE3KQogCkBAIC0yMDUsNiArMjAzLDEyIEBACiBDb21wbGV0aW9uOiBTY2FubmluZyBmb3IgdGFncyBkb2Vzbid0IGNoZWNrIGZvciB0eXBlZCBrZXkgbm93IGFuZCB0aGVuPwogSGFuZ3MgZm9yIGFib3V0IDUgc2Vjb25kcy4gIEFwcGVhcnMgdG8gYmUgY2F1c2VkIGJ5IGZpbmRpbmcgaW5jbHVkZSBmaWxlcyB3aXRoCiAiZm9vLyoqIiBpbiAncGF0aCcuICAoS2FsaXNpYWssIDIwMDYgSnVseSAxNSkKK0FkZGl0aW9uYWwgaW5mbzogV2hlbiB1c2luZyB0aGUgfHdpbGRjYXJkc3wgKiogZ2xvYmluZywgdmltIGhhbmdzCitpbmRlZmluaXRlbHkgb24gbG90cyBvZiBkaXJlY3Rvcmllcy4gVGhlIHxmaWxlLXNlYXJjaGluZ3wgZ2xvYmluZywgbGlrZSBpbgorIjpzZXQgcGF0aD0vKioiIGRvZXMgbm90IGhhbmcgYXMgb2Z0ZW4gYXMgd2l0aCBnbG9iaW5nIHdpdGggfHdpbGRjYXJkc3wsIGxpa2UKK2luICI6MWZpbmQgLyoqL2ZpbGUiLiAgVGhpcyBpcyBmb3IgYSBmaWxlcyB0aGF0IHVuaXggImZpbmQiIGNhbiBmaW5kIHZlcnkKK3F1aWNrLiBNZXJnaW5nIHRoZSAyIGtpbmRzIG9mIGdsb2JpbmcgbWlnaHQgbWFrZSB0aGlzIGFuIGVhc2llciBmaXguIChJYW4KK0tlbGxpbmcsIDIwMDggSnVseSA0KQogCiBXaGVuIHRoZSBmaWxlIG5hbWUgaGFzIHBhcmVudGhlc2lzLCBlLmcuLCAiZm9vIChiYXIpLnR4dCIsICI6IWxzICclJyIgaGFzIHRoZQogcGFyZW50aGVzaXMgZXNjYXBlZCBidXQgbm90IHRoZSBzcGFjZS4gIFRoYXQncyBpbmNvbnNpc3RlbnQuICBFaXRoZXIgZXNjYXBlCkBAIC0zMDksNyArMzEzLDcgQEAKICI6bG9ja3ZhciIgc2hvdWxkIHVzZSBjb3B5SUQgdG8gYXZvaWQgZW5kbGVzcyBsb29wLgogCiBXaGVuIHVzaW5nIC0tcmVtb3RlLXNpbGVudCBhbmQgdGhlIGZpbGUgbmFtZSBtYXRjaGVzICd3aWxkaWdub3JlJyBnZXQgYW4gRTQ3OQotZXJyb3IuICB3aXRob3V0IC0tcmVtb2V0ZS1zaWxlbnQgaXQgd29ya3MgZmluZS4gKEJlbiBGcml0eiwgMjAwOCBKdW4gMjApCitlcnJvci4gIHdpdGhvdXQgLS1yZW1vdGUtc2lsZW50IGl0IHdvcmtzIGZpbmUuIChCZW4gRnJpdHosIDIwMDggSnVuIDIwKQogCiBHdmltOiBkaWFsb2cgZm9yIGNsb3NpbmcgVmltIHNob3VsZCBjaGVjayBpZiBWaW0gaXMgYnVzeSB3cml0aW5nIGEgZmlsZS4gIFRoZW4KIHVzZSBhIGRpZmZlcmVudCBkaWFsb2c6ICJidXN5IHNhdmluZywgcmVhbGx5IHF1aXQ/IHllcyAvIG5vIi4KQEAgLTMzMiw3ICszMzYsNyBAQAogVGVzdCA2MSBmYWlscyBzb21ldGltZXMuICBUaGlzIGlzIGEgdGltaW5nIHByb2JsZW06ICJzbGVlcCAyIiBzb21ldGltZXMgdGFrZXMKIGxvbmdlciB0aGFuIDIgc2Vjb25kcy4KIAotQ2hhbmdpbmcgJ2d1aWZvbnQnIGluIHRoZSBjb25zb2xlIGNhdXNlcyBhbiB1bmVjY2Vzc2FyeSByZWRyYXcuCitDaGFuZ2luZyAnZ3VpZm9udCcgaW4gdGhlIGNvbnNvbGUgY2F1c2VzIGFuIHVubmVjZXNzYXJ5IHJlZHJhdy4KIAogInZpbSAtQyIgb2Z0ZW4gaGFzICdub2NvbXBhdGlibGUnLCBiZWNhdXNlIGl0J3Mgc2V0IGluIHNvbWUgc3RhcnR1cCBzY3JpcHQuCiBTZXQgJ2NvbXBhdGlibGUnIGFmdGVyIHN0YXJ0dXAgaXMgZG9uZT8gIFBhdGNoIGJ5IEphbWVzIFZlZ2EsIDIwMDggRmViIDcuCkBAIC0zNjgsNyArMzcyLDcgQEAKIEd2aW1leHQ6IHBhdGNoIHRvIGFkZCAiRWRpdCB3aXRoIHNpbmdsZSBWaW0gJnRhYmJlZCIgbWVudSBlbnRyeS4KIEp1c3QgaGF2ZSB0d28gY2hvaWNlcywgYWx3YXlzIHVzaW5nIG9uZSBWaW0gYW5kIHNlbGVjdGluZyBiZXR3ZWVuIHVzaW5nIGFuCiBhcmd1bWVudCBsaXN0IG9yIG9wZW5pbmcgZWFjaCBmaWxlIGluIGEgc2VwYXJhdGUgdGFiLgotKEVyaWsgRmFsb3IsIDIwMDggTWF5IDIxKQorKEVyaWsgRmFsb3IsIDIwMDggTWF5IDIxLCAyMDA4IEp1biAyNikKIAogR1VJOiBXaGVuIGNvbWJpbmluZyBmZyBlbiBiZyBtYWtlIHN1cmUgdGhleSBhcmUgbm90IGVxdWFsLgogCkBAIC01ODEsNiArNTg1LDkgQEAKIFZFUkFTRSBrZXkgaXMgRGVsZXRlLiAgU2V0IFZFUkFTRSB0byBCYWNrc3BhY2U/IChwYXRjaCBieSBTdGVwaGFuZSBDaGF6ZWxhcywKIDIwMDcgT2N0IDE2KQogCitXaGVuIGVudGVyaW5nIGEgQyAvKiBjb21tZW50LCBhZnRlciB0eXBpbmcgPEVudGVyPiBmb3IgNzAgdGltZXMgdGhlIGluZGVudAorZGlzYXBwZWFycy4gKFZpbmNlbnQgQmVmZmFyYSwgMjAwOCBKdWwgMykKKwogVGVybVJlc3BvbnNlIGF1dG9jb21tYW5kIGlzbid0IGFsd2F5cyB0cmlnZ2VyZWQgd2hlbiB1c2luZyB2aW1kaWZmLiAoQXJvbgogR3JpZmZpcywgMjAwNyBTZXAgMTkpCiAKQEAgLTU5MCw3ICs1OTcsNyBAQAogCiAKIFZpbSA3LjM6Ci0tICAgQWRkIHBhdGNoIGZvciAncmVsYXRpdmVudW1iZXInIG9wdGlvbj8gIE1hcmt1cyBIZWlkZWxiZXJnLCAyMDA4IEZlYiAyMQorLSAgIEFkZCBwYXRjaCBmb3IgJ3JlbGF0aXZlbnVtYmVyJyBvcHRpb24/ICBNYXJrdXMgSGVpZGVsYmVyZywgMjAwOCBKdW4gMjcuCiAtICAgQWRkIGJsb3dmaXNoIGVuY3J5cHRpb24uICBPcGVuc3NsIGhhcyBhbiBpbXBsZW1lbnRhdGlvbi4gIEFsc28gYnkgUGF1bAogICAgIEtvY2hlciAoTEdQTCksIGNsb3NlIHRvIG9yaWdpbmFsLiAgTW9oc2luIGFsc28gaGFzIHNvbWUgaWRlYXMuCiAgICAgVGFrZSBmb3VyIGJ5dGVzIGFuZCB0dXJuIHRoZW0gaW50byB1bnNpZ25lZCB0byBhdm9pZCBieXRlLW9yZGVyIHByb2JsZW1zLgpAQCAtNjcxLDYgKzY3OCw4IEBACiAJCQlTZWFyY2ggaW4gJ3J1bnRpbWVwYXRoJz8KIAkJCU1vcmUgZG9jcyBuZWVkZWQgYWJvdXQgaG93IHRvIHVzZSB0aGlzLgogCQkJSG93IHRvIGdldCB0aGUgbWVzc2FnZXMgaW50byB0aGUgLnBvIGZpbGVzPworICAgIGNoYXJsZW4oKQkJTGlrZSBzdHJsZW4oKSBidXQgY291bnRpbmcgY2hhcmFjdGVycyBpbnN0ZWFkIG9mCisJCQlieXRlcy4KICAgICBjb25maXJtKCkJCWFkZCAiZmxhZ3MiIGFyZ3VtZW50LCB3aXRoICd2JyBmb3IgdmVydGljYWwKIAkJCSAgICBsYXlvdXQgYW5kICdjJyBmb3IgY29uc29sZSBkaWFsb2cuIChIYWVnZykKIAkJCSAgICBGbGVtbWluZyBNYWRzZW4gaGFzIGEgcGF0Y2ggZm9yIHRoZSAnYycgZmxhZwpAQCAtMTE4OSw3ICsxMTk4LDggQEAKIDkgICBGb3IgVHVya2lzaCB2aW1fdG9sb3dlcigpIGFuZCB2aW1fdG91cHBlcigpIGFsc28gbmVlZCB0byB1c2UgdXRmXwogICAgIGZ1bmN0aW9ucyBmb3IgY2hhcmFjdGVycyBiZWxvdyAweDgwLiAoU2VydGFjeWlsZGl6KQogOSAgIFdoZW4gdGhlIGxhc3QgZWRpdGVkIGZpbGUgaXMgYSBoZWxwIGZpbGUsIHVzaW5nICcwIGluIGEgbmV3IFZpbSBkb2Vzbid0Ci0gICAgZWRpdCB0aGUgZmlsZSBhcyBhIGhlbHAgZmlsZS4KKyAgICBlZGl0IHRoZSBmaWxlIGFzIGEgaGVscCBmaWxlLiAgJ2ZpbGV0eXBlJyBpcyBPSywgYnV0ICdpc2tleXdvcmQnIGlzbid0LAorICAgIGZpbGUgaXNuJ3QgcmVhZG9ubHksIGV0Yy4KIDggICBXaGVuIGFuICI6ZWRpdCIgaXMgaW5zaWRlIGEgdHJ5IGNvbW1hbmQgYW5kIHRoZSBBVFRFTlRJT04gcHJvbXB0IGlzIHVzZWQsCiAgICAgdGhlIDpjYXRjaCBjb21tYW5kcyBhcmUgYWx3YXlzIGV4ZWN1dGVkLCBhbHNvIHdoZW4gdGhlIGZpbGUgaXMgZWRpdGVkCiAgICAgbm9ybWFsbHkuICBTaG91bGQgcmVzZXQgZGlkX2Vtc2cgYW5kIHVuZG8gc2lkZSBlZmZlY3RzLiAgQWxzbyBtYWtlIHN1cmUKQEAgLTExOTgsNiArMTIwOCw3IEBACiAgICAgJ2ZpbGVlbmNvZGluZycgc2V0IHRvICJiYXIiLCB0aGVuIGRvX2VjbWQoKSB1c2VzIHRoYXQgYnVmZmVyLCBldmVuIHRob3VnaAogICAgIHRoZSBmaWxlZW5jb2RpbmcgZGlmZmVycy4gIFJlbG9hZCB0aGUgYnVmZmVyIGluIHRoaXMgc2l0dWF0aW9uPyAgTmVlZCB0bwogICAgIGNoZWNrIGZvciB0aGUgYnVmZmVyIHRvIGJlIHVubW9kaWZpZWQuCisgICAgVW5maW5pc2hlZCBwYXRjaCBieSBJYW4gS2VsbGluZywgMjAwOCBKdWwgMTEuCiA4ICAgIjpnLy8iIGdpdmVzICJQYXR0ZXJuIG5vdCBmb3VuZCBlcnJvciIgd2l0aCBFNDg2LiAgU2hvdWxkIG5vdCB1c2UgdGhlCiAgICAgZXJyb3IgbnVtYmVyLCBpdCdzIG5vdCBhIHJlZ3VsYXIgZXJyb3IgbWVzc2FnZS4KIDcgICBWaW10dXRvciBsZWF2ZXMgZXNjYXBlIHNlcXVlbmNlIGluIHRlcm1pbmFsLiBUaGlzIGlzIHRoZSB4dGVybSByZXNwb25zZSB0bwpAQCAtMTI5NiwxNSArMTMwNywxMyBAQAogOSAgIFdoZW4gZWRpdGluZyBhIGZpbGUgd2l0aCAncmVhZG9ubHknIHNldCwgdGhlcmUgaXMgbm8gY2hlY2sgZm9yIGFuIGV4aXN0aW5nCiAgICAgc3dhcCBmaWxlLiAgVGhlbiB1c2luZyAiOndyaXRlIiAod2l0aG91dCBtYWtpbmcgYW55IGNoYW5nZXMpIGRvZXNuJ3QgZ2l2ZQogICAgIGEgd2FybmluZyBlaXRoZXIuICBTaG91bGQgY2hlY2sgZm9yIGFuIGV4aXN0aW5nIHN3YXAgZmlsZSB3aXRob3V0IGNyZWF0aW5nCi0gICAgb25lLgorICAgIG9uZS4gVW5maW5pc2hlZCBwYXRjaCBieSBJYW4gS2VsbGluZywgMjAwOCBKdWx5IDcuCiA3ICAgV2hlbiAnc2hvd2JyZWFrJyBpcyBzZXQsIHRoZSBhbW91bnQgb2Ygc3BhY2UgYSBUYWIgb2NjdXBpZXMgY2hhbmdlcy4KICAgICBTaG91bGQgd29yayBsaWtlICdzaG93YnJlYWsnIGlzIGluc2VydGVkIHdpdGhvdXQgY2hhbmdpbmcgdGhlIFRhYnMuCiA3ICAgV2hlbiAnbW91c2Vmb2N1cycgaXMgc2V0IGFuZCBzd2l0Y2hpbmcgdG8gYW5vdGhlciB3aW5kb3cgd2l0aCBhIHR5cGVkCiAgICAgY29tbWFuZCwgdGhlIG1vdXNlIHBvaW50ZXIgbWF5IGJlIG1vdmVkIHRvIGEgcGFydCBvZiB0aGUgd2luZG93IHRoYXQncwogICAgIGNvdmVyZWQgYnkgYW5vdGhlciB3aW5kb3cgYW5kIHdlIGxvc2UgZm9jdXMuICBPbmx5IG1vdmUgaW4gdGhlIHkKICAgICBkaXJlY3Rpb24sIG5vdCBob3Jpem9udGFsbHk/Ci04ICAgV2hlbiB1c2luZyBDVFJMLUQgYWZ0ZXIgIjpoZWxwIiwgcmVzdHJpY3QgdGhlIG51bWJlciBvZiBtYXRjaGVzIHRvIGEKLSAgICB0aG91c2FuZCwgb3RoZXJ3aXNlIHVzaW5nIENUUkwtRCB3aXRob3V0IGFuIGFyZ3VtZW50IHRha2VzIHRvbyBsb25nLgogOCAgICI6aGFyZGNvcHkiOgogICAgIC0gVXNpbmcgdGhlIGN0ZXJtX2NvbG9yW10gdGFibGUgaXMgd3Jvbmcgd2hlbiB0X2NvbG9ycyBpcyA+IDE2LgogICAgIC0gTmVlZCB0byBoYW5kbGUgdW5wcmludGFibGUgY2hhcmFjdGVycy4KQEAgLTE3MDMsNiArMTcxMiwxMCBAQAogCiAKIFNwZWxsIGNoZWNraW5nOgorLSAgIGhhdmUgc29tZSB3YXkgbm90IHRvIGdpdmUgc3BlbGxpbmcgZXJyb3JzIGZvciBhIHJhbmdlIG9mIGNoYXJhY3RlcnMuCisgICAgRS5nLiBmb3IgQ2hpbmVzZSBhbmQgb3RoZXIgbGFuZ3VhZ2VzIHdpdGggc3BlY2lmaWMgY2hhcmFjdGVycyBmb3Igd2hpY2ggd2UKKyAgICBkb24ndCBoYXZlIGEgc3BlbGwgZmlsZS4gIFVzZWZ1bCB3aGVuIHRoZXJlIGlzIGFsc28gdGV4dCBpbiBvdGhlcgorICAgIGxhbmd1YWdlcyBpbiB0aGUgZmlsZS4KIC0gICBTdXBwb3J0IG1vcmUgcmVnaW9ucz8gQ2FvbGFuIE1jTmFtYXJhIGFyZ3VlcyBpdCdzIG5lZWRlZCBmb3IgZXNfWFguCiAgICAgaHR0cHM6Ly9idWd6aWxsYS5yZWRoYXQuY29tL2J1Z3ppbGxhL3Nob3dfYnVnLmNnaT9pZD0yMTk3NzcgICAgCiAtICAgVW5pY29kZSBkZWZpbmVzIGFub3RoZXIgcXVvdGUgY2hhcmFjdGVyOiAweDIwMTkuICBVc2UgaXQgYXMgYW4gZXF1aXZhbGVudApAQCAtMTcyNyw3ICsxNzQwLDcgQEAKICAgICBXRlBfQ09NUFBFUk1JVCBhbmQgV0ZQX0NPTVBGT1JCSUQKIDggICBpbXBsZW1lbnQgdXNlIG9mIDxjb21wb3B0aW9ucz4gaW4gLnNwbCBmaWxlOgogICAgIGltcGxlbWVudCBDSEVDS0NPTVBPVU5EUkVQOiB3aGVuIGEgY29tcG91bmQgd29yZCBzZWVtcyB0byBiZSBPSyBhcHBseSBSRVAKLSAgICBpdGVtcyBhbmQgdGhlY2sgaWYgdGhlIHJlc3VsdCBpcyBhIHZhbGlkIHdvcmQuCisgICAgaXRlbXMgYW5kIGNoZWNrIGlmIHRoZSByZXN1bHQgaXMgYSB2YWxpZCB3b3JkLgogICAgIGltcGxlbWVudCBDSEVDS0NPTVBPVU5ERFVQCiAgICAgaW1wbGVtZW50IENIRUNLQ09NUE9VTkRUUklQTEUKICAgICBBZGQgQ0hFQ0tDT01QT1VORENBU0U6IHdoZW4gY29tcG91bmRpbmcgbWFrZSBsZWFkaW5nIGNhcGl0YWwgbG93ZXIgY2FzZS4KQEAgLTIyNTEsOCArMjI2NCwxMiBAQAogCiAKIFBlcmZvcm1hbmNlOgotNyAgIEZvciBzdHJpbmdzIHVwIHRvIDMgYnl0ZXMgZG9uJ3QgYWxsb2NhdGUgbWVtb3J5LCB1c2Ugdl9saXN0IGl0c2VsZiBhcyBhCi0gICAgY2hhcmFjdGVyIGFycmF5LiAgVXNlIFZBUl9TU1RSSU5HIChzaG9ydCBzdHJpbmcpLgorNyAgIEZvciBzdHJpbmcgdmFyaWFibGVzIHVwIHRvIDMgYnl0ZXMgZG9uJ3QgYWxsb2NhdGUgbWVtb3J5LCB1c2Ugdl9saXN0CisgICAgaXRzZWxmIGFzIGEgY2hhcmFjdGVyIGFycmF5LiAgVXNlIFZBUl9TU1RSSU5HIChzaG9ydCBzdHJpbmcpLgorOCAgIG1vdmVfbGluZXMoKSBjb3BpZXMgZXZlcnkgbGluZSBpbnRvIGFsbG9jYXRlZCBtZW1vcnksIG1ha2luZyByZWxvYWRpbmcgYQorICAgIGJ1ZmZlciBhIGxvdCBzbG93ZXIgdGhhbiByZS1lZGl0aW5nIHRoZSBmaWxlLiAgQ2FuIHRoZSBtZW1saW5lIGJlIGxvY2tlZAorICAgIHNvIHRoYXQgd2UgZG9uJ3QgbmVlZCB0byBtYWtlIGEgY29weT8gIE9yIGF2b2lkIGludm9raW5nIG1sX3VwZGF0ZWNodW5rKCksCisgICAgdGhhdCBpcyB0YWtpbmcgYSBsb3Qgb2YgdGltZS4gIChSYWxmIFdpbGRlbmh1ZXMsIDIwMDggSnVsIDcpCiA4ICAgSW5zdGVhZCBvZiBsb2FkaW5nIHJnYi50eHQgZXZlcnkgdGltZSBhIGNvbG9yIHdhc24ndCByZWNvZ25pemVkIGxvYWQgaXQKICAgICBvbmNlIGFuZCBrZWVwIGl0IGluIG1lbW9yeS4gIE1vdmUgdGhlIGNvZGUgdG8gYSBjb21tb24gcGxhY2UgdG8gYXZvaWQKICAgICByZXBlYXRpbmcgaXQgaW4gdmFyaW91cyBzeXN0ZW0gZmlsZXMuCkBAIC0yNDcxLDYgKzI0ODgsMTEgQEAKICAgICBtYXRjaC4gIFJlbW92ZSB0YWdfZm5hbWUgZnJvbSB0aGUgbWF0Y2ggYW5kIGNvbWJpbmUgaXQgd2l0aCB0aGUgZm5hbWUgaW4KICAgICB0aGUgbWF0Y2ggKHdpdGhvdXQgZXhwYW5kaW5nIG9yIG90aGVyIHRoaW5ncyB0aGF0IHRha2UgdGltZSkuICBXaGVuCiAgICAgJ3RhZ3JlbGF0aXZlJyBpcyBvZmYgdGFnX2ZuYW1lIGlzbid0IG5lZWRlZCBhdCBhbGwuCis4ICAgRm9yICd0YWdzJyB3aWxkY2FyZCBpbiB0aGUgZmlsZSBuYW1lIGlzIG5vdCBzdXBwb3J0ZWQsIG9ubHkgaW4gdGhlIHBhdGguCisgICAgVGhpcyBpcyBkdWUgdG8gaXQgdXNpbmcgfGZpbGUtc2VhcmNoaW5nfC4gU3Vib3B0aW1hbCBzb2x1dGlvbiB3b3VsZCBiZSB0bworICAgIG1ha2UgdGhlIGZpbGVuYW1lIG9yIHRoZSB3aG9sZSBvcHRpb24gdXNlIHx3aWxkY2FyZHN8IGdsb2JpbmcsIGJldHRlcgorICAgIHdvdWxkIGJlIHRvIG1lcmdlIHRoZSAyIGtpbmRzIG9mIGdsb2JpbmcuIG9yaWdpbmFsbCAoRXJpayBGYWxvciwgMjAwOAorICAgIEFwcmlsIDE4KSwgdXBkYXRlZCAoSWFuIEtlbGxpbmcsIDIwMDggSnVseSA0KQogOCAgIFVzZSBhIG1lY2hhbmlzbSBzaW1pbGFyIHRvIG9tbmkgY29tcGxldGlvbiB0byBmaWd1cmUgb3V0IHRoZSBraW5kIG9mIHRhYgogICAgIGZvciBDVFJMLV0gYW5kIGp1bXAgdG8gdGhlIGFwcHJvcHJpYXRlIG1hdGNoaW5nIHRhZyAoaWYgdGhlcmUgYXJlCiAgICAgc2V2ZXJhbCkuCkBAIC0yNzI0LDYgKzI3NDYsOCBAQAogCiAKIE9tbmkgY29tcGxldGlvbjoKKy0gICBBZGQgYSBmbGFnIHRvICdjb21wbGV0ZScgdG8gYmUgYWJsZSB0byBkbyBvbW5pIGNvbXBsZXRpb24gd2l0aCBDVFJMLU4gKGFuZAorICAgIG1peCBpdCB3aXRoIG90aGVyIGtpbmRzIG9mIGNvbXBsZXRpb24pLgogLSAgIElkZWFzIGZyb20gdGhlIFZpbSA3IEJPRiBhdCBTQU5FOgogCS0gRm9yIGludGVycHJldGVkIGxhbmd1YWdlcywgdXNlIHRoZSBpbnRlcnByZXRlciB0byBvYnRhaW4gaW5mb3JtYXRpb24uCiAJICBTaG91bGQgd29yayBmb3IgSmF2YSAoRWNsaXBzZSBkb2VzIHRoaXMpLCBQeXRob24sIFRjbCwgZXRjLgpAQCAtMjc1NSw2ICsyNzc5LDkgQEAKIC0gICBHVUkgaW1wbGVtZW50YXRpb24gb2YgdGhlIHBvcHVwIG1lbnUuCiA3ICAgV2hlbiBzZWFyY2hpbmcgaW4gb3RoZXIgZmlsZXMgdGhlIG5hbWUgZmxhc2ggYnksIHRvbyBmYXN0IHRvIHJlYWQuICBPbmx5CiAgICAgZGlzcGxheSBhIG5hbWUgZXZlcnkgc2Vjb25kIG9yIHNvLCBsaWtlIHdpdGggIjp2aW1ncmVwIi4KKzcgICBXaGVuIGV4cGFuZGluZyBmaWxlIG5hbWVzIHdpdGggYW4gZW52aXJvbm1lbnQgdmFyaWFibGUsIGFkZCB0aGUgbWF0Y2ggd2l0aAorICAgIHRoZSB1bmV4cGFuZGVkIHZhci4gIFNvICRIT01FL3RtIGV4cGFuZHMgdG8gIi9ob21lL2d1eS90bXAiIGFuZAorICAgICIkSE9NRS90bXAiCiA4ICAgV2hlbiB0aGVyZSBpcyBubyB3b3JkIGJlZm9yZSB0aGUgY3Vyc29yIGJ1dCBzb21ldGhpbmcgbGlrZSAic3lzLiIgY29tcGxldGUKICAgICB3aXRoICJzeXMuIi4gIFdvcmtzIHdlbGwgZm9yIEMgYW5kIHNpbWlsYXIgbGFuZ3VhZ2VzLgogOSAgIF5YXkwgY29tcGxldGlvbiBkb2Vzbid0IHJlcGVhdCBjb3JyZWN0bHkuICBJdCB1c2VzIHRoZSBmaXJzdCBtYXRjaCB3aXRoCkBAIC0yOTAzLDYgKzI5MzAsNyBAQAogICAgIHNhbWUgY2hhbmdlLCBzbyB0aGF0ICIuIiByZXBlYXRzIHRoZSB3aG9sZSBpbnNlcnQuCiA3ICAgVXNlIENUUkwtRyA8Y291bnQ+IHRvIHJlcGVhdCB3aGF0IGZvbGxvd3MuICBVc2VmdWwgZm9yIGluc2VydGluZyBhCiAgICAgY2hhcmFjdGVyIG11bHRpcGxlIHRpbWVzIG9yIHJlcGVhdGluZyBDVFJMLVkuCistICAgTWFrZSAncmV2aW5zJyB3b3JrIGluIFJlcGxhY2UgbW9kZS4KIDcgICBVc2UgJ21hdGNocGFpcnMnIGZvciAnc2hvd21hdGNoJzogV2hlbiBpbnNlcnRpbmcgYSBjaGFyYWN0ZXIgY2hlY2sgaWYgaXQKICAgICBhcHBlYXJzIGluIHRoZSByaHMgb2YgJ21hdGNocGFpcnMnLgogLSAgIEluIEluc2VydCBtb2RlIChhbmQgY29tbWFuZCBsaW5lIGVkaXRpbmc/KTogQWxsb3cgdW5kbyBvZiB0aGUgbGFzdCB0eXBlZApAQCAtMzU1OCw2ICszNTg2LDggQEAKIDcgICBVc2UgQ1RSTC1XIDxUYWI+LCBsaWtlIGFsdC10YWIsIHRvIHN3aXRjaCBiZXR3ZWVuIGJ1ZmZlcnMuICBSZXBlYXQgPFRhYj4KICAgICB0byBzZWxlY3QgYW5vdGhlciBidWZmZXIgKG9ubHkgbG9hZGVkIG9uZXM/KSwgPEJTPiB0byBnbyBiYWNrLCA8RW50ZXI+IHRvCiAgICAgc2VsZWN0IGJ1ZmZlciwgPEVzYz4gdG8gZ28gYmFjayB0byBvcmlnaW5hbCBidWZmZXIuCis3ICAgTWFrZSBpdCBwb3NzaWJsZSB0byBlZGl0IGEgbmV3IGJ1ZmZlciBpbiB0aGUgcHJldmlldyB3aW5kb3cuICBBIHNjcmlwdCBjYW4KKyAgICB0aGVuIGZpbGwgaXQgd2l0aCBzb21ldGhpbmcuICAiOnBvcGVuIj8KIDcgICBBZGQgYSAndG9vbCcgd2luZG93OiBiZWhhdmVzIGxpa2UgYSBwcmV2aWV3IHdpbmRvdyBidXQgdGhlcmUgY2FuIGJlCiAgICAgc2V2ZXJhbC4gIERvbid0IGNvdW50IGl0IGluIG9ubHlfb25lX3dpbmRvdygpLiAoQWxleGVpIEFsZXhhbmRyb3YpCiA2ICAgQWRkIGFuIG9wdGlvbiB0byByZXNpemUgdGhlIHNoZWxsIHdoZW4gc3BsaXR0aW5nIGFuZC9vciBjbG9zaW5nIGEgd2luZG93LgpkaWZmIC0tZ2l0IGEvcnVudGltZS9kb2MvdWdhbmRhLnR4dCBiL3J1bnRpbWUvZG9jL3VnYW5kYS50eHQKaW5kZXggNDg0Mjc2OS4uNjU1NzI1ZiAxMDA2NDQKLS0tIGEvcnVudGltZS9kb2MvdWdhbmRhLnR4dAorKysgYi9ydW50aW1lL2RvYy91Z2FuZGEudHh0CkBAIC0xLDQgKzEsNCBAQAotKnVnYW5kYS50eHQqICAgIEZvciBWaW0gdmVyc2lvbiA3LjJhLiAgTGFzdCBjaGFuZ2U6IDIwMDggSnVuIDIxCisqdWdhbmRhLnR4dCogICAgRm9yIFZpbSB2ZXJzaW9uIDcuMmIuICBMYXN0IGNoYW5nZTogMjAwOCBKdW4gMjEKIAogCiAJCSAgVklNIFJFRkVSRU5DRSBNQU5VQUwgICAgYnkgQnJhbSBNb29sZW5hYXIKZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL3VuZG8udHh0IGIvcnVudGltZS9kb2MvdW5kby50eHQKaW5kZXggMzNkNGUzMS4uNjk0MDEwMiAxMDA2NDQKLS0tIGEvcnVudGltZS9kb2MvdW5kby50eHQKKysrIGIvcnVudGltZS9kb2MvdW5kby50eHQKQEAgLTEsNCArMSw0IEBACi0qdW5kby50eHQqICAgICAgRm9yIFZpbSB2ZXJzaW9uIDcuMmEuICBMYXN0IGNoYW5nZTogMjAwNiBBcHIgMzAKKyp1bmRvLnR4dCogICAgICBGb3IgVmltIHZlcnNpb24gNy4yYi4gIExhc3QgY2hhbmdlOiAyMDA2IEFwciAzMAogCiAKIAkJICBWSU0gUkVGRVJFTkNFIE1BTlVBTCAgICBieSBCcmFtIE1vb2xlbmFhcgpkaWZmIC0tZ2l0IGEvcnVudGltZS9kb2MvdXNyXzAxLnR4dCBiL3J1bnRpbWUvZG9jL3Vzcl8wMS50eHQKaW5kZXggMWUwMGExMS4uM2E1NmFiZSAxMDA2NDQKLS0tIGEvcnVudGltZS9kb2MvdXNyXzAxLnR4dAorKysgYi9ydW50aW1lL2RvYy91c3JfMDEudHh0CkBAIC0xLDQgKzEsNCBAQAotKnVzcl8wMS50eHQqCUZvciBWaW0gdmVyc2lvbiA3LjJhLiAgTGFzdCBjaGFuZ2U6IDIwMDggTWF5IDA3CisqdXNyXzAxLnR4dCoJRm9yIFZpbSB2ZXJzaW9uIDcuMmIuICBMYXN0IGNoYW5nZTogMjAwOCBNYXkgMDcKIAogCQkgICAgIFZJTSBVU0VSIE1BTlVBTCAtIGJ5IEJyYW0gTW9vbGVuYWFyCiAKZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL3Vzcl8wMi50eHQgYi9ydW50aW1lL2RvYy91c3JfMDIudHh0CmluZGV4IDQ0OTA3YjAuLmY0N2M2M2UgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvZG9jL3Vzcl8wMi50eHQKKysrIGIvcnVudGltZS9kb2MvdXNyXzAyLnR4dApAQCAtMSw0ICsxLDQgQEAKLSp1c3JfMDIudHh0KglGb3IgVmltIHZlcnNpb24gNy4yYS4gIExhc3QgY2hhbmdlOiAyMDA3IEZlYiAyOAorKnVzcl8wMi50eHQqCUZvciBWaW0gdmVyc2lvbiA3LjJiLiAgTGFzdCBjaGFuZ2U6IDIwMDcgRmViIDI4CiAKIAkJICAgICBWSU0gVVNFUiBNQU5VQUwgLSBieSBCcmFtIE1vb2xlbmFhcgogCmRpZmYgLS1naXQgYS9ydW50aW1lL2RvYy91c3JfMDMudHh0IGIvcnVudGltZS9kb2MvdXNyXzAzLnR4dAppbmRleCBjNWYxMTRjLi40N2QyNGQ0IDEwMDY0NAotLS0gYS9ydW50aW1lL2RvYy91c3JfMDMudHh0CisrKyBiL3J1bnRpbWUvZG9jL3Vzcl8wMy50eHQKQEAgLTEsNCArMSw0IEBACi0qdXNyXzAzLnR4dCoJRm9yIFZpbSB2ZXJzaW9uIDcuMmEuICBMYXN0IGNoYW5nZTogMjAwNiBKdW4gMjEKKyp1c3JfMDMudHh0KglGb3IgVmltIHZlcnNpb24gNy4yYi4gIExhc3QgY2hhbmdlOiAyMDA2IEp1biAyMQogCiAJCSAgICAgVklNIFVTRVIgTUFOVUFMIC0gYnkgQnJhbSBNb29sZW5hYXIKIApkaWZmIC0tZ2l0IGEvcnVudGltZS9kb2MvdXNyXzA0LnR4dCBiL3J1bnRpbWUvZG9jL3Vzcl8wNC50eHQKaW5kZXggYjhmOWM0ZC4uZGQ2YTg0YyAxMDA2NDQKLS0tIGEvcnVudGltZS9kb2MvdXNyXzA0LnR4dAorKysgYi9ydW50aW1lL2RvYy91c3JfMDQudHh0CkBAIC0xLDQgKzEsNCBAQAotKnVzcl8wNC50eHQqCUZvciBWaW0gdmVyc2lvbiA3LjJhLiAgTGFzdCBjaGFuZ2U6IDIwMDYgSnVuIDIxCisqdXNyXzA0LnR4dCoJRm9yIFZpbSB2ZXJzaW9uIDcuMmIuICBMYXN0IGNoYW5nZTogMjAwNiBKdW4gMjEKIAogCQkgICAgIFZJTSBVU0VSIE1BTlVBTCAtIGJ5IEJyYW0gTW9vbGVuYWFyCiAKZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL3Vzcl8wNS50eHQgYi9ydW50aW1lL2RvYy91c3JfMDUudHh0CmluZGV4IGJmYTM5MjYuLjkzYzM0ZGUgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvZG9jL3Vzcl8wNS50eHQKKysrIGIvcnVudGltZS9kb2MvdXNyXzA1LnR4dApAQCAtMSw0ICsxLDQgQEAKLSp1c3JfMDUudHh0KglGb3IgVmltIHZlcnNpb24gNy4yYS4gIExhc3QgY2hhbmdlOiAyMDA3IE1heSAxMQorKnVzcl8wNS50eHQqCUZvciBWaW0gdmVyc2lvbiA3LjJiLiAgTGFzdCBjaGFuZ2U6IDIwMDcgTWF5IDExCiAKIAkJICAgICBWSU0gVVNFUiBNQU5VQUwgLSBieSBCcmFtIE1vb2xlbmFhcgogCmRpZmYgLS1naXQgYS9ydW50aW1lL2RvYy91c3JfMDYudHh0IGIvcnVudGltZS9kb2MvdXNyXzA2LnR4dAppbmRleCA2MjZhZjNkLi44ZWUzMmM0IDEwMDY0NAotLS0gYS9ydW50aW1lL2RvYy91c3JfMDYudHh0CisrKyBiL3J1bnRpbWUvZG9jL3Vzcl8wNi50eHQKQEAgLTEsNCArMSw0IEBACi0qdXNyXzA2LnR4dCoJRm9yIFZpbSB2ZXJzaW9uIDcuMmEuICBMYXN0IGNoYW5nZTogMjAwNiBBcHIgMjQKKyp1c3JfMDYudHh0KglGb3IgVmltIHZlcnNpb24gNy4yYi4gIExhc3QgY2hhbmdlOiAyMDA2IEFwciAyNAogCiAJCSAgICAgVklNIFVTRVIgTUFOVUFMIC0gYnkgQnJhbSBNb29sZW5hYXIKIApkaWZmIC0tZ2l0IGEvcnVudGltZS9kb2MvdXNyXzA3LnR4dCBiL3J1bnRpbWUvZG9jL3Vzcl8wNy50eHQKaW5kZXggODZhNDZlYy4uYWMyMTY0OSAxMDA2NDQKLS0tIGEvcnVudGltZS9kb2MvdXNyXzA3LnR4dAorKysgYi9ydW50aW1lL2RvYy91c3JfMDcudHh0CkBAIC0xLDQgKzEsNCBAQAotKnVzcl8wNy50eHQqCUZvciBWaW0gdmVyc2lvbiA3LjJhLiAgTGFzdCBjaGFuZ2U6IDIwMDYgQXByIDI0CisqdXNyXzA3LnR4dCoJRm9yIFZpbSB2ZXJzaW9uIDcuMmIuICBMYXN0IGNoYW5nZTogMjAwNiBBcHIgMjQKIAogCQkgICAgIFZJTSBVU0VSIE1BTlVBTCAtIGJ5IEJyYW0gTW9vbGVuYWFyCiAKZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL3Vzcl8wOC50eHQgYi9ydW50aW1lL2RvYy91c3JfMDgudHh0CmluZGV4IDE0NGY2Y2MuLjVjM2E5M2UgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvZG9jL3Vzcl8wOC50eHQKKysrIGIvcnVudGltZS9kb2MvdXNyXzA4LnR4dApAQCAtMSw0ICsxLDQgQEAKLSp1c3JfMDgudHh0KglGb3IgVmltIHZlcnNpb24gNy4yYS4gIExhc3QgY2hhbmdlOiAyMDA2IEp1bCAxOAorKnVzcl8wOC50eHQqCUZvciBWaW0gdmVyc2lvbiA3LjJiLiAgTGFzdCBjaGFuZ2U6IDIwMDYgSnVsIDE4CiAKIAkJICAgICBWSU0gVVNFUiBNQU5VQUwgLSBieSBCcmFtIE1vb2xlbmFhcgogCmRpZmYgLS1naXQgYS9ydW50aW1lL2RvYy91c3JfMDkudHh0IGIvcnVudGltZS9kb2MvdXNyXzA5LnR4dAppbmRleCA2OWE0MzFjLi5kMmM2NTJlIDEwMDY0NAotLS0gYS9ydW50aW1lL2RvYy91c3JfMDkudHh0CisrKyBiL3J1bnRpbWUvZG9jL3Vzcl8wOS50eHQKQEAgLTEsNCArMSw0IEBACi0qdXNyXzA5LnR4dCoJRm9yIFZpbSB2ZXJzaW9uIDcuMmEuICBMYXN0IGNoYW5nZTogMjAwNiBBcHIgMjQKKyp1c3JfMDkudHh0KglGb3IgVmltIHZlcnNpb24gNy4yYi4gIExhc3QgY2hhbmdlOiAyMDA2IEFwciAyNAogCiAJCSAgICAgVklNIFVTRVIgTUFOVUFMIC0gYnkgQnJhbSBNb29sZW5hYXIKIApkaWZmIC0tZ2l0IGEvcnVudGltZS9kb2MvdXNyXzEwLnR4dCBiL3J1bnRpbWUvZG9jL3Vzcl8xMC50eHQKaW5kZXggMTY4YjA4OS4uYjQxOTc2ZiAxMDA2NDQKLS0tIGEvcnVudGltZS9kb2MvdXNyXzEwLnR4dAorKysgYi9ydW50aW1lL2RvYy91c3JfMTAudHh0CkBAIC0xLDQgKzEsNCBAQAotKnVzcl8xMC50eHQqCUZvciBWaW0gdmVyc2lvbiA3LjJhLiAgTGFzdCBjaGFuZ2U6IDIwMDYgTm92IDA1CisqdXNyXzEwLnR4dCoJRm9yIFZpbSB2ZXJzaW9uIDcuMmIuICBMYXN0IGNoYW5nZTogMjAwNiBOb3YgMDUKIAogCQkgICAgIFZJTSBVU0VSIE1BTlVBTCAtIGJ5IEJyYW0gTW9vbGVuYWFyCiAKZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL3Vzcl8xMS50eHQgYi9ydW50aW1lL2RvYy91c3JfMTEudHh0CmluZGV4IGVkYjQ1OTguLmQyMzc0M2EgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvZG9jL3Vzcl8xMS50eHQKKysrIGIvcnVudGltZS9kb2MvdXNyXzExLnR4dApAQCAtMSw0ICsxLDQgQEAKLSp1c3JfMTEudHh0KglGb3IgVmltIHZlcnNpb24gNy4yYS4gIExhc3QgY2hhbmdlOiAyMDA2IEFwciAyNAorKnVzcl8xMS50eHQqCUZvciBWaW0gdmVyc2lvbiA3LjJiLiAgTGFzdCBjaGFuZ2U6IDIwMDYgQXByIDI0CiAKIAkJICAgICBWSU0gVVNFUiBNQU5VQUwgLSBieSBCcmFtIE1vb2xlbmFhcgogCmRpZmYgLS1naXQgYS9ydW50aW1lL2RvYy91c3JfMTIudHh0IGIvcnVudGltZS9kb2MvdXNyXzEyLnR4dAppbmRleCA3ZTJmNDEzLi4zOTg4ZGU4IDEwMDY0NAotLS0gYS9ydW50aW1lL2RvYy91c3JfMTIudHh0CisrKyBiL3J1bnRpbWUvZG9jL3Vzcl8xMi50eHQKQEAgLTEsNCArMSw0IEBACi0qdXNyXzEyLnR4dCoJRm9yIFZpbSB2ZXJzaW9uIDcuMmEuICBMYXN0IGNoYW5nZTogMjAwNyBNYXkgMTEKKyp1c3JfMTIudHh0KglGb3IgVmltIHZlcnNpb24gNy4yYi4gIExhc3QgY2hhbmdlOiAyMDA3IE1heSAxMQogCiAJCSAgICAgVklNIFVTRVIgTUFOVUFMIC0gYnkgQnJhbSBNb29sZW5hYXIKIApkaWZmIC0tZ2l0IGEvcnVudGltZS9kb2MvdXNyXzIwLnR4dCBiL3J1bnRpbWUvZG9jL3Vzcl8yMC50eHQKaW5kZXggODRjNThmNy4uODY0NTU5YyAxMDA2NDQKLS0tIGEvcnVudGltZS9kb2MvdXNyXzIwLnR4dAorKysgYi9ydW50aW1lL2RvYy91c3JfMjAudHh0CkBAIC0xLDQgKzEsNCBAQAotKnVzcl8yMC50eHQqCUZvciBWaW0gdmVyc2lvbiA3LjJhLiAgTGFzdCBjaGFuZ2U6IDIwMDYgQXByIDI0CisqdXNyXzIwLnR4dCoJRm9yIFZpbSB2ZXJzaW9uIDcuMmIuICBMYXN0IGNoYW5nZTogMjAwNiBBcHIgMjQKIAogCQkgICAgIFZJTSBVU0VSIE1BTlVBTCAtIGJ5IEJyYW0gTW9vbGVuYWFyCiAKZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL3Vzcl8yMS50eHQgYi9ydW50aW1lL2RvYy91c3JfMjEudHh0CmluZGV4IDNlYWJiNjguLmIxNWU3ZjAgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvZG9jL3Vzcl8yMS50eHQKKysrIGIvcnVudGltZS9kb2MvdXNyXzIxLnR4dApAQCAtMSw0ICsxLDQgQEAKLSp1c3JfMjEudHh0KglGb3IgVmltIHZlcnNpb24gNy4yYS4gIExhc3QgY2hhbmdlOiAyMDA3IE1heSAwMQorKnVzcl8yMS50eHQqCUZvciBWaW0gdmVyc2lvbiA3LjJiLiAgTGFzdCBjaGFuZ2U6IDIwMDcgTWF5IDAxCiAKIAkJICAgICBWSU0gVVNFUiBNQU5VQUwgLSBieSBCcmFtIE1vb2xlbmFhcgogCmRpZmYgLS1naXQgYS9ydW50aW1lL2RvYy91c3JfMjIudHh0IGIvcnVudGltZS9kb2MvdXNyXzIyLnR4dAppbmRleCA1YTEzYjg3Li5hNjQyYzU5IDEwMDY0NAotLS0gYS9ydW50aW1lL2RvYy91c3JfMjIudHh0CisrKyBiL3J1bnRpbWUvZG9jL3Vzcl8yMi50eHQKQEAgLTEsNCArMSw0IEBACi0qdXNyXzIyLnR4dCoJRm9yIFZpbSB2ZXJzaW9uIDcuMmEuICBMYXN0IGNoYW5nZTogMjAwNyBBdWcgMTQKKyp1c3JfMjIudHh0KglGb3IgVmltIHZlcnNpb24gNy4yYi4gIExhc3QgY2hhbmdlOiAyMDA3IEF1ZyAxNAogCiAJCSAgICAgVklNIFVTRVIgTUFOVUFMIC0gYnkgQnJhbSBNb29sZW5hYXIKIApkaWZmIC0tZ2l0IGEvcnVudGltZS9kb2MvdXNyXzIzLnR4dCBiL3J1bnRpbWUvZG9jL3Vzcl8yMy50eHQKaW5kZXggZTBhYTA1ZC4uZWFkODcxMSAxMDA2NDQKLS0tIGEvcnVudGltZS9kb2MvdXNyXzIzLnR4dAorKysgYi9ydW50aW1lL2RvYy91c3JfMjMudHh0CkBAIC0xLDQgKzEsNCBAQAotKnVzcl8yMy50eHQqCUZvciBWaW0gdmVyc2lvbiA3LjJhLiAgTGFzdCBjaGFuZ2U6IDIwMDYgQXByIDI0CisqdXNyXzIzLnR4dCoJRm9yIFZpbSB2ZXJzaW9uIDcuMmIuICBMYXN0IGNoYW5nZTogMjAwNiBBcHIgMjQKIAogCQkgICAgIFZJTSBVU0VSIE1BTlVBTCAtIGJ5IEJyYW0gTW9vbGVuYWFyCiAKZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL3Vzcl8yNC50eHQgYi9ydW50aW1lL2RvYy91c3JfMjQudHh0CmluZGV4IDM1OTExYmQuLmVhYjhhMzYgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvZG9jL3Vzcl8yNC50eHQKKysrIGIvcnVudGltZS9kb2MvdXNyXzI0LnR4dApAQCAtMSw0ICsxLDQgQEAKLSp1c3JfMjQudHh0KglGb3IgVmltIHZlcnNpb24gNy4yYS4gIExhc3QgY2hhbmdlOiAyMDA2IEp1bCAyMworKnVzcl8yNC50eHQqCUZvciBWaW0gdmVyc2lvbiA3LjJiLiAgTGFzdCBjaGFuZ2U6IDIwMDYgSnVsIDIzCiAKIAkJICAgICBWSU0gVVNFUiBNQU5VQUwgLSBieSBCcmFtIE1vb2xlbmFhcgogCmRpZmYgLS1naXQgYS9ydW50aW1lL2RvYy91c3JfMjUudHh0IGIvcnVudGltZS9kb2MvdXNyXzI1LnR4dAppbmRleCA2MzM3ODcxLi4yMmRkZGRmIDEwMDY0NAotLS0gYS9ydW50aW1lL2RvYy91c3JfMjUudHh0CisrKyBiL3J1bnRpbWUvZG9jL3Vzcl8yNS50eHQKQEAgLTEsNCArMSw0IEBACi0qdXNyXzI1LnR4dCoJRm9yIFZpbSB2ZXJzaW9uIDcuMmEuICBMYXN0IGNoYW5nZTogMjAwNyBNYXkgMTEKKyp1c3JfMjUudHh0KglGb3IgVmltIHZlcnNpb24gNy4yYi4gIExhc3QgY2hhbmdlOiAyMDA3IE1heSAxMQogCiAJCSAgICAgVklNIFVTRVIgTUFOVUFMIC0gYnkgQnJhbSBNb29sZW5hYXIKIApkaWZmIC0tZ2l0IGEvcnVudGltZS9kb2MvdXNyXzI2LnR4dCBiL3J1bnRpbWUvZG9jL3Vzcl8yNi50eHQKaW5kZXggMGM5ZjJjOC4uYjgyNTJkZCAxMDA2NDQKLS0tIGEvcnVudGltZS9kb2MvdXNyXzI2LnR4dAorKysgYi9ydW50aW1lL2RvYy91c3JfMjYudHh0CkBAIC0xLDQgKzEsNCBAQAotKnVzcl8yNi50eHQqCUZvciBWaW0gdmVyc2lvbiA3LjJhLiAgTGFzdCBjaGFuZ2U6IDIwMDYgQXByIDI0CisqdXNyXzI2LnR4dCoJRm9yIFZpbSB2ZXJzaW9uIDcuMmIuICBMYXN0IGNoYW5nZTogMjAwNiBBcHIgMjQKIAogCQkgICAgIFZJTSBVU0VSIE1BTlVBTCAtIGJ5IEJyYW0gTW9vbGVuYWFyCiAKZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL3Vzcl8yNy50eHQgYi9ydW50aW1lL2RvYy91c3JfMjcudHh0CmluZGV4IDcxYmZkZGEuLmQyZDBjYzQgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvZG9jL3Vzcl8yNy50eHQKKysrIGIvcnVudGltZS9kb2MvdXNyXzI3LnR4dApAQCAtMSw0ICsxLDQgQEAKLSp1c3JfMjcudHh0KglGb3IgVmltIHZlcnNpb24gNy4yYS4gIExhc3QgY2hhbmdlOiAyMDA3IE5vdiAxMAorKnVzcl8yNy50eHQqCUZvciBWaW0gdmVyc2lvbiA3LjJiLiAgTGFzdCBjaGFuZ2U6IDIwMDcgTm92IDEwCiAKIAkJICAgICBWSU0gVVNFUiBNQU5VQUwgLSBieSBCcmFtIE1vb2xlbmFhcgogCmRpZmYgLS1naXQgYS9ydW50aW1lL2RvYy91c3JfMjgudHh0IGIvcnVudGltZS9kb2MvdXNyXzI4LnR4dAppbmRleCA3NjY0NGJiLi4wNDVhZWY4IDEwMDY0NAotLS0gYS9ydW50aW1lL2RvYy91c3JfMjgudHh0CisrKyBiL3J1bnRpbWUvZG9jL3Vzcl8yOC50eHQKQEAgLTEsNCArMSw0IEBACi0qdXNyXzI4LnR4dCoJRm9yIFZpbSB2ZXJzaW9uIDcuMmEuICBMYXN0IGNoYW5nZTogMjAwOCBKdW4gMTQKKyp1c3JfMjgudHh0KglGb3IgVmltIHZlcnNpb24gNy4yYi4gIExhc3QgY2hhbmdlOiAyMDA4IEp1biAxNAogCiAJCSAgICAgVklNIFVTRVIgTUFOVUFMIC0gYnkgQnJhbSBNb29sZW5hYXIKIApkaWZmIC0tZ2l0IGEvcnVudGltZS9kb2MvdXNyXzI5LnR4dCBiL3J1bnRpbWUvZG9jL3Vzcl8yOS50eHQKaW5kZXggYTMxNDI1Ni4uMjBmNzJlYSAxMDA2NDQKLS0tIGEvcnVudGltZS9kb2MvdXNyXzI5LnR4dAorKysgYi9ydW50aW1lL2RvYy91c3JfMjkudHh0CkBAIC0xLDQgKzEsNCBAQAotKnVzcl8yOS50eHQqCUZvciBWaW0gdmVyc2lvbiA3LjJhLiAgTGFzdCBjaGFuZ2U6IDIwMDcgTm92IDEwCisqdXNyXzI5LnR4dCoJRm9yIFZpbSB2ZXJzaW9uIDcuMmIuICBMYXN0IGNoYW5nZTogMjAwOCBKdW4gMjgKIAogCQkgICAgIFZJTSBVU0VSIE1BTlVBTCAtIGJ5IEJyYW0gTW9vbGVuYWFyCiAKQEAgLTU5NCw4ICs1OTQsOCBAQAogCiBUaGlzIHdpbGwgZ28gYmFjayB0byB0aGUgc3RhcnQgb2YgdGhlIGN1cnJlbnQgZnVuY3Rpb24gYW5kIGZpbmQgdGhlIGZpcnN0CiBvY2N1cnJlbmNlIG9mIHRoZSB3b3JkIHVuZGVyIHRoZSBjdXJzb3IuICBBY3R1YWxseSwgaXQgc2VhcmNoZXMgYmFja3dhcmRzIHRvCi1hbiBlbXB0eSBsaW5lIGFib3ZlIHRoZSBhICJ7IiBpbiB0aGUgZmlyc3QgY29sdW1uLiAgRnJvbSB0aGVyZSBpdCBzZWFyY2hlcwotZm9yd2FyZCBmb3IgdGhlIGlkZW50aWZpZXIuICBFeGFtcGxlIChjdXJzb3Igb24gImlkeCIpOgorYW4gZW1wdHkgbGluZSBhYm92ZSBhICJ7IiBpbiB0aGUgZmlyc3QgY29sdW1uLiAgRnJvbSB0aGVyZSBpdCBzZWFyY2hlcyBmb3J3YXJkCitmb3IgdGhlIGlkZW50aWZpZXIuICBFeGFtcGxlIChjdXJzb3Igb24gImlkeCIpOgogCiAJCWludCBmaW5kX2VudHJ5KGNoYXIgKm5hbWUpCiAJCXsKZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL3Vzcl8zMC50eHQgYi9ydW50aW1lL2RvYy91c3JfMzAudHh0CmluZGV4IDQ5OTg1MTEuLjUxZmZjZGYgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvZG9jL3Vzcl8zMC50eHQKKysrIGIvcnVudGltZS9kb2MvdXNyXzMwLnR4dApAQCAtMSw0ICsxLDQgQEAKLSp1c3JfMzAudHh0KglGb3IgVmltIHZlcnNpb24gNy4yYS4gIExhc3QgY2hhbmdlOiAyMDA3IE5vdiAxMAorKnVzcl8zMC50eHQqCUZvciBWaW0gdmVyc2lvbiA3LjJiLiAgTGFzdCBjaGFuZ2U6IDIwMDcgTm92IDEwCiAKIAkJICAgICBWSU0gVVNFUiBNQU5VQUwgLSBieSBCcmFtIE1vb2xlbmFhcgogCmRpZmYgLS1naXQgYS9ydW50aW1lL2RvYy91c3JfMzEudHh0IGIvcnVudGltZS9kb2MvdXNyXzMxLnR4dAppbmRleCA5NDFhYjY4Li40MDMwODZmIDEwMDY0NAotLS0gYS9ydW50aW1lL2RvYy91c3JfMzEudHh0CisrKyBiL3J1bnRpbWUvZG9jL3Vzcl8zMS50eHQKQEAgLTEsNCArMSw0IEBACi0qdXNyXzMxLnR4dCoJRm9yIFZpbSB2ZXJzaW9uIDcuMmEuICBMYXN0IGNoYW5nZTogMjAwNyBNYXkgMDgKKyp1c3JfMzEudHh0KglGb3IgVmltIHZlcnNpb24gNy4yYi4gIExhc3QgY2hhbmdlOiAyMDA3IE1heSAwOAogCiAJCSAgICAgVklNIFVTRVIgTUFOVUFMIC0gYnkgQnJhbSBNb29sZW5hYXIKIApkaWZmIC0tZ2l0IGEvcnVudGltZS9kb2MvdXNyXzMyLnR4dCBiL3J1bnRpbWUvZG9jL3Vzcl8zMi50eHQKaW5kZXggZWQ5NWEwZC4uYjA0OTU0MCAxMDA2NDQKLS0tIGEvcnVudGltZS9kb2MvdXNyXzMyLnR4dAorKysgYi9ydW50aW1lL2RvYy91c3JfMzIudHh0CkBAIC0xLDQgKzEsNCBAQAotKnVzcl8zMi50eHQqCUZvciBWaW0gdmVyc2lvbiA3LjJhLiAgTGFzdCBjaGFuZ2U6IDIwMDYgQXByIDMwCisqdXNyXzMyLnR4dCoJRm9yIFZpbSB2ZXJzaW9uIDcuMmIuICBMYXN0IGNoYW5nZTogMjAwNiBBcHIgMzAKIAogCQkgICAgIFZJTSBVU0VSIE1BTlVBTCAtIGJ5IEJyYW0gTW9vbGVuYWFyCiAKZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL3Vzcl80MC50eHQgYi9ydW50aW1lL2RvYy91c3JfNDAudHh0CmluZGV4IGRkOTBiYTkuLmNjOGFjYzEgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvZG9jL3Vzcl80MC50eHQKKysrIGIvcnVudGltZS9kb2MvdXNyXzQwLnR4dApAQCAtMSw0ICsxLDQgQEAKLSp1c3JfNDAudHh0KglGb3IgVmltIHZlcnNpb24gNy4yYS4gIExhc3QgY2hhbmdlOiAyMDA2IEp1biAyMQorKnVzcl80MC50eHQqCUZvciBWaW0gdmVyc2lvbiA3LjJiLiAgTGFzdCBjaGFuZ2U6IDIwMDYgSnVuIDIxCiAKIAkJICAgICBWSU0gVVNFUiBNQU5VQUwgLSBieSBCcmFtIE1vb2xlbmFhcgogCmRpZmYgLS1naXQgYS9ydW50aW1lL2RvYy91c3JfNDEudHh0IGIvcnVudGltZS9kb2MvdXNyXzQxLnR4dAppbmRleCAzOGU1MTFmLi4yNWU5MTFhIDEwMDY0NAotLS0gYS9ydW50aW1lL2RvYy91c3JfNDEudHh0CisrKyBiL3J1bnRpbWUvZG9jL3Vzcl80MS50eHQKQEAgLTEsNCArMSw0IEBACi0qdXNyXzQxLnR4dCoJRm9yIFZpbSB2ZXJzaW9uIDcuMmEuICBMYXN0IGNoYW5nZTogMjAwOCBKdW4gMjEKKyp1c3JfNDEudHh0KglGb3IgVmltIHZlcnNpb24gNy4yYi4gIExhc3QgY2hhbmdlOiAyMDA4IEp1biAyMQogCiAJCSAgICAgVklNIFVTRVIgTUFOVUFMIC0gYnkgQnJhbSBNb29sZW5hYXIKIApkaWZmIC0tZ2l0IGEvcnVudGltZS9kb2MvdXNyXzQyLnR4dCBiL3J1bnRpbWUvZG9jL3Vzcl80Mi50eHQKaW5kZXggYTQwYmYzYi4uYjhjNGVlYSAxMDA2NDQKLS0tIGEvcnVudGltZS9kb2MvdXNyXzQyLnR4dAorKysgYi9ydW50aW1lL2RvYy91c3JfNDIudHh0CkBAIC0xLDQgKzEsNCBAQAotKnVzcl80Mi50eHQqCUZvciBWaW0gdmVyc2lvbiA3LjJhLiAgTGFzdCBjaGFuZ2U6IDIwMDggTWF5IDA1CisqdXNyXzQyLnR4dCoJRm9yIFZpbSB2ZXJzaW9uIDcuMmIuICBMYXN0IGNoYW5nZTogMjAwOCBNYXkgMDUKIAogCQkgICAgIFZJTSBVU0VSIE1BTlVBTCAtIGJ5IEJyYW0gTW9vbGVuYWFyCiAKZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL3Vzcl80My50eHQgYi9ydW50aW1lL2RvYy91c3JfNDMudHh0CmluZGV4IDY1YWM5YjYuLmRiZjNiODYgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvZG9jL3Vzcl80My50eHQKKysrIGIvcnVudGltZS9kb2MvdXNyXzQzLnR4dApAQCAtMSw0ICsxLDQgQEAKLSp1c3JfNDMudHh0KglGb3IgVmltIHZlcnNpb24gNy4yYS4gIExhc3QgY2hhbmdlOiAyMDA2IEFwciAyNAorKnVzcl80My50eHQqCUZvciBWaW0gdmVyc2lvbiA3LjJiLiAgTGFzdCBjaGFuZ2U6IDIwMDYgQXByIDI0CiAKIAkJICAgICBWSU0gVVNFUiBNQU5VQUwgLSBieSBCcmFtIE1vb2xlbmFhcgogCmRpZmYgLS1naXQgYS9ydW50aW1lL2RvYy91c3JfNDQudHh0IGIvcnVudGltZS9kb2MvdXNyXzQ0LnR4dAppbmRleCBiOWYyOWUzLi4xOTE2NWQ0IDEwMDY0NAotLS0gYS9ydW50aW1lL2RvYy91c3JfNDQudHh0CisrKyBiL3J1bnRpbWUvZG9jL3Vzcl80NC50eHQKQEAgLTEsNCArMSw0IEBACi0qdXNyXzQ0LnR4dCoJRm9yIFZpbSB2ZXJzaW9uIDcuMmEuICBMYXN0IGNoYW5nZTogMjAwNiBBcHIgMjQKKyp1c3JfNDQudHh0KglGb3IgVmltIHZlcnNpb24gNy4yYi4gIExhc3QgY2hhbmdlOiAyMDA2IEFwciAyNAogCiAJCSAgICAgVklNIFVTRVIgTUFOVUFMIC0gYnkgQnJhbSBNb29sZW5hYXIKIApkaWZmIC0tZ2l0IGEvcnVudGltZS9kb2MvdXNyXzQ1LnR4dCBiL3J1bnRpbWUvZG9jL3Vzcl80NS50eHQKaW5kZXggNWM4M2QxYy4uNWY2YTE0ZiAxMDA2NDQKLS0tIGEvcnVudGltZS9kb2MvdXNyXzQ1LnR4dAorKysgYi9ydW50aW1lL2RvYy91c3JfNDUudHh0CkBAIC0xLDQgKzEsNCBAQAotKnVzcl80NS50eHQqCUZvciBWaW0gdmVyc2lvbiA3LjJhLiAgTGFzdCBjaGFuZ2U6IDIwMDggQXByIDMwCisqdXNyXzQ1LnR4dCoJRm9yIFZpbSB2ZXJzaW9uIDcuMmIuICBMYXN0IGNoYW5nZTogMjAwOCBBcHIgMzAKIAogCQkgICAgIFZJTSBVU0VSIE1BTlVBTCAtIGJ5IEJyYW0gTW9vbGVuYWFyCiAKZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL3Vzcl85MC50eHQgYi9ydW50aW1lL2RvYy91c3JfOTAudHh0CmluZGV4IGY4MGMwYWYuLjI0ZWZkYTIgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvZG9jL3Vzcl85MC50eHQKKysrIGIvcnVudGltZS9kb2MvdXNyXzkwLnR4dApAQCAtMSw0ICsxLDQgQEAKLSp1c3JfOTAudHh0KglGb3IgVmltIHZlcnNpb24gNy4yYS4gIExhc3QgY2hhbmdlOiAyMDA2IEFwciAyNAorKnVzcl85MC50eHQqCUZvciBWaW0gdmVyc2lvbiA3LjJiLiAgTGFzdCBjaGFuZ2U6IDIwMDYgQXByIDI0CiAKIAkJICAgICBWSU0gVVNFUiBNQU5VQUwgLSBieSBCcmFtIE1vb2xlbmFhcgogCmRpZmYgLS1naXQgYS9ydW50aW1lL2RvYy91c3JfdG9jLnR4dCBiL3J1bnRpbWUvZG9jL3Vzcl90b2MudHh0CmluZGV4IGQ2NDlhY2EuLjc1ZjI5Y2UgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvZG9jL3Vzcl90b2MudHh0CisrKyBiL3J1bnRpbWUvZG9jL3Vzcl90b2MudHh0CkBAIC0xLDQgKzEsNCBAQAotKnVzcl90b2MudHh0KglGb3IgVmltIHZlcnNpb24gNy4yYS4gIExhc3QgY2hhbmdlOiAyMDA2IEFwciAyNAorKnVzcl90b2MudHh0KglGb3IgVmltIHZlcnNpb24gNy4yYi4gIExhc3QgY2hhbmdlOiAyMDA2IEFwciAyNAogCiAJCSAgICAgVklNIFVTRVIgTUFOVUFMIC0gYnkgQnJhbSBNb29sZW5hYXIKIApkaWZmIC0tZ2l0IGEvcnVudGltZS9kb2MvdmFyaW91cy50eHQgYi9ydW50aW1lL2RvYy92YXJpb3VzLnR4dAppbmRleCAxNmIyZDBkLi5lOGY0ZGUxIDEwMDY0NAotLS0gYS9ydW50aW1lL2RvYy92YXJpb3VzLnR4dAorKysgYi9ydW50aW1lL2RvYy92YXJpb3VzLnR4dApAQCAtMSw0ICsxLDQgQEAKLSp2YXJpb3VzLnR4dCogICBGb3IgVmltIHZlcnNpb24gNy4yYS4gIExhc3QgY2hhbmdlOiAyMDA4IEp1biAwOAorKnZhcmlvdXMudHh0KiAgIEZvciBWaW0gdmVyc2lvbiA3LjJiLiAgTGFzdCBjaGFuZ2U6IDIwMDggSnVuIDA4CiAKIAogCQkgIFZJTSBSRUZFUkVOQ0UgTUFOVUFMICAgIGJ5IEJyYW0gTW9vbGVuYWFyCkBAIC04MTYsNyArODE2LDcgQEAKICJpdCIuCiAKIFdoZW4gdXNpbmcgY29tbWFuZC1saW5lIGNvbXBsZXRpb24gZm9yIHRoZSAiOmhlbHAiIGNvbW1hbmQsIHRoZSAiQGVuIgotZXh0ZW50aW9uIGlzIG9ubHkgc2hvd24gd2hlbiBhIHRhZyBleGlzdHMgZm9yIG11bHRpcGxlIGxhbmd1YWdlcy4gIFdoZW4gdGhlCitleHRlbnNpb24gaXMgb25seSBzaG93biB3aGVuIGEgdGFnIGV4aXN0cyBmb3IgbXVsdGlwbGUgbGFuZ3VhZ2VzLiAgV2hlbiB0aGUKIHRhZyBvbmx5IGV4aXN0cyBmb3IgRW5nbGlzaCAiQGVuIiBpcyBvbWl0dGVkLgogCiBXaGVuIHVzaW5nIHxDVFJMLV18IG9yICI6aGVscCEiIGluIGEgbm9uLUVuZ2xpc2ggaGVscCBmaWxlIFZpbSB3aWxsIHRyeSB0bwpkaWZmIC0tZ2l0IGEvcnVudGltZS9kb2MvdmVyc2lvbjQudHh0IGIvcnVudGltZS9kb2MvdmVyc2lvbjQudHh0CmluZGV4IDgyMTFhOGQuLjVlYjYyNDEgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvZG9jL3ZlcnNpb240LnR4dAorKysgYi9ydW50aW1lL2RvYy92ZXJzaW9uNC50eHQKQEAgLTEsNCArMSw0IEBACi0qdmVyc2lvbjQudHh0KiAgRm9yIFZpbSB2ZXJzaW9uIDcuMmEuICBMYXN0IGNoYW5nZTogMjAwNiBBcHIgMjQKKyp2ZXJzaW9uNC50eHQqICBGb3IgVmltIHZlcnNpb24gNy4yYi4gIExhc3QgY2hhbmdlOiAyMDA2IEFwciAyNAogCiAKIAkJICBWSU0gUkVGRVJFTkNFIE1BTlVBTCAgICBieSBCcmFtIE1vb2xlbmFhcgpkaWZmIC0tZ2l0IGEvcnVudGltZS9kb2MvdmVyc2lvbjUudHh0IGIvcnVudGltZS9kb2MvdmVyc2lvbjUudHh0CmluZGV4IDUzOGMyNDUuLjgxMjA1NzcgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvZG9jL3ZlcnNpb241LnR4dAorKysgYi9ydW50aW1lL2RvYy92ZXJzaW9uNS50eHQKQEAgLTEsNCArMSw0IEBACi0qdmVyc2lvbjUudHh0KiAgRm9yIFZpbSB2ZXJzaW9uIDcuMmEuICBMYXN0IGNoYW5nZTogMjAwNyBNYXkgMTEKKyp2ZXJzaW9uNS50eHQqICBGb3IgVmltIHZlcnNpb24gNy4yYi4gIExhc3QgY2hhbmdlOiAyMDA4IEp1biAyOAogCiAKIAkJICBWSU0gUkVGRVJFTkNFIE1BTlVBTCAgICBieSBCcmFtIE1vb2xlbmFhcgpAQCAtMTk5Miw3ICsxOTkyLDcgQEAKIGFscmVhZHkgdGhlcmUsICJtbnVGaWxlIiB3b3VsZCBiZSBza2lwcGVkLiAoTmVncmkpCiAKIFdoZW4gc2Nyb2xsaW5nIHVwL2Rvd24sIGEgc3ludGF4IGl0ZW0gd2l0aCAia2VlcGVuZCIgZGlkbid0IHdvcmsgcHJvcGVybHkuCi1Ob3cgdGhlIGZsYWdzIGFyZSBhbHNvIHN0b3JlZCBmb3IgdGhlIHN5bnRheCBzdGF0ZSBhIHRoZSBzdGFydCBvZiBlYWNoIGxpbmUuCitOb3cgdGhlIGZsYWdzIGFyZSBhbHNvIHN0b3JlZCBmb3IgdGhlIHN5bnRheCBzdGF0ZSBhdCB0aGUgc3RhcnQgb2YgZWFjaCBsaW5lLgogCiBXaGVuICdpYycgd2FzIGNoYW5nZWQgd2hpbGUgJ2hsc2VhcmNoJyBpcyBvbiwgdGhlcmUgd2FzIG5vIHJlZHJhdyB0byBzaG93IHRoZQogZWZmZWN0LgpAQCAtMzA2Nyw3ICszMDY3LDcgQEAKIAogNS4yLjc6IFdpbjMyIEdVSTogc2Nyb2xsYmFyIHdhcyBvbmUgcGl4ZWwgdG9vIGJpZy4KIAotNS4yLjg6IENvbXBsZXRpb24gb2YgIlBvcFVwIiBtZW51IHNob3dlZCB0aGUgZGVyaXZhdGVzICJQb3BVcGMiLCAiUG9wVVBpIiwKKzUuMi44OiBDb21wbGV0aW9uIG9mICJQb3BVcCIgbWVudSBzaG93ZWQgdGhlIGRlcml2YXRpdmVzICJQb3BVcGMiLCAiUG9wVVBpIiwKIGV0Yy4gICI6bWVudSIgYWxzbyBzaG93ZWQgdGhlc2UuCiAKIDUuMi45OiBXaGVuIHVzaW5nIHR3byBpbnB1dCgpIGZ1bmN0aW9ucyBvbiBhIHJvdywgdGhlIHByb21wdCB3b3VsZCBub3QgYmUKZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL3ZlcnNpb242LnR4dCBiL3J1bnRpbWUvZG9jL3ZlcnNpb242LnR4dAppbmRleCAxZjM2OTljLi4wYWI0ZDFkIDEwMDY0NAotLS0gYS9ydW50aW1lL2RvYy92ZXJzaW9uNi50eHQKKysrIGIvcnVudGltZS9kb2MvdmVyc2lvbjYudHh0CkBAIC0xLDQgKzEsNCBAQAotKnZlcnNpb242LnR4dCogIEZvciBWaW0gdmVyc2lvbiA3LjJhLiAgTGFzdCBjaGFuZ2U6IDIwMDcgTWF5IDExCisqdmVyc2lvbjYudHh0KiAgRm9yIFZpbSB2ZXJzaW9uIDcuMmIuICBMYXN0IGNoYW5nZTogMjAwNyBNYXkgMTEKIAogCiAJCSAgVklNIFJFRkVSRU5DRSBNQU5VQUwgICAgYnkgQnJhbSBNb29sZW5hYXIKQEAgLTEzMjM1LDcgKzEzMjM1LDcgQEAKIAogUGF0Y2ggNi4yLjQ5OQogUHJvYmxlbTogICAgV2hlbiB3cml0aW5nIGEgZmlsZSBhbmQgaGFsdGluZyB0aGUgc3lzdGVtLCB0aGUgZmlsZSBtaWdodCBiZSBsb3N0Ci0JICAgIHdoZW4gdXNpbmcgYSBqb3VybmFsbGluZyBmaWxlIHN5c3RlbS4KKwkgICAgd2hlbiB1c2luZyBhIGpvdXJuYWxpbmcgZmlsZSBzeXN0ZW0uCiBTb2x1dGlvbjogICBVc2UgZnN5bmMoKSB0byBmbHVzaCB0aGUgZmlsZSBkYXRhIHRvIGRpc2sgYWZ0ZXIgd3JpdGluZyBhIGZpbGUuCiAJICAgIChSYWRpbSBLb2xhcikKIEZpbGVzOgkgICAgc3JjL2ZpbGVpby5jCmRpZmYgLS1naXQgYS9ydW50aW1lL2RvYy92ZXJzaW9uNy50eHQgYi9ydW50aW1lL2RvYy92ZXJzaW9uNy50eHQKaW5kZXggNzg2YTBiMy4uN2Y0NTBmNCAxMDA2NDQKLS0tIGEvcnVudGltZS9kb2MvdmVyc2lvbjcudHh0CisrKyBiL3J1bnRpbWUvZG9jL3ZlcnNpb243LnR4dApAQCAtMSw0ICsxLDQgQEAKLSp2ZXJzaW9uNy50eHQqICBGb3IgVmltIHZlcnNpb24gNy4yYS4gIExhc3QgY2hhbmdlOiAyMDA4IEp1biAyNAorKnZlcnNpb243LnR4dCogIEZvciBWaW0gdmVyc2lvbiA3LjJiLiAgTGFzdCBjaGFuZ2U6IDIwMDggSnVsIDEzCiAKIAogCQkgIFZJTSBSRUZFUkVOQ0UgTUFOVUFMICAgIGJ5IEJyYW0gTW9vbGVuYWFyCkBAIC0yNjMsNyArMjYzLDcgQEAKIAlSdWJ5CQkJCQl8ZnQtcnVieS1vbW5pfAogCVNRTAkJCQkJfGZ0LXNxbC1vbW5pfAogCVhNTAkJCQkJfGZ0LXhtbC1vbW5pfAotCWFueSBsYW5ndWFnZSB3aWggc3ludGF4IGhpZ2hsaWd0aW5nCXxmdC1zeW50YXgtb21uaXwKKwlhbnkgbGFuZ3VhZ2Ugd2l0aCBzeW50YXggaGlnaGxpZ2h0aW5nCXxmdC1zeW50YXgtb21uaXwKIAogWW91IGNhbiBhZGQgeW91ciBvd24gb21uaSBjb21wbGV0aW9uIHNjcmlwdHMuCiAKQEAgLTMzOTcsNyArMzM5Nyw3IEBACiBGaWxlczoJICAgIHNyYy9pZl9vbGUuY3BwCiAKIFBhdGNoIDcuMC4wNTgKLVByb2JsZW06ICAgIFRoZSBnYmsgYW5kIGFuZCBnYjE4MDMwIGVuY29kaW5ncyBhcmUgbm90IHJlY29nbml6ZWQuCitQcm9ibGVtOiAgICBUaGUgZ2JrIGFuZCBnYjE4MDMwIGVuY29kaW5ncyBhcmUgbm90IHJlY29nbml6ZWQuCiBTb2x1dGlvbjogICBBZGQgYWxpYXNlcyB0byBjcDkzNi4gKEVkd2FyZCBMLiBGb3gpCiBGaWxlczoJICAgIHNyYy9tYnl0ZS5jCiAKQEAgLTQ2NTUsMjcgKzQ2NTUsMzUgQEAKIEludHJvZHVjZSBtYWNybyBTVFJNT1ZFKGQsIHMpLCBsaWtlIFNUUkNQWSgpIGZvciBvdmVybGFwcGluZyBzdHJpbmdzLgogVXNlIGl0IGluc3RlYWQgb2YgbWNoX21lbW1vdmUocCwgcCArIHgsIFNUUkxFTihwICsgeCkgKyAxKS4KIAorUmVtb3ZlZCB0aGUgYnVsZ2FyaWFuLnZpbSBrZXltYXAgZmlsZSwgdHdvIG1vcmUgc3RhbmRhcmQgb25lcyByZXBsYWNlIGl0LgorKEJveWtvIEJhbnRjaGV2KQorCitJbmNyZWFzZWQgdGhlIG1heGltdW0gbnVtYmVyIG9mIHRhZyBtYXRjaGVzIGZvciBjb21tYW5kIGxpbmUgY29tcGxldGlvbiBmcm9tCisyMDAgdG8gMzAwLgorCiAKIEFkZGVkCQkJCQkJCSphZGRlZC03LjIqCiAtLS0tLQogCiBOZXcgc3ludGF4IGZpbGVzOgorCUNVREEgKFRpbW90aHkgQi4gVGVycmliZXJyeSkKIAlDZHJkYW8gY29uZmlnIChOaWtvbGFpIFdlaWJ1bGwpCiAJQ29jby9SIChBc2hpc2ggU2h1a2xhKQotCUNVREEgKFRpbW90aHkgQi4gVGVycmliZXJyeSkKLQlkZW55aG9zdHMgY29uZmlnIChOaWtvbGFpIFdlaWJ1bGwpCiAJRHRyYWNlIHNjcmlwdCAoTmljb2xhcyBXZWJlcikKIAlHaXQgb3V0cHV0LCBjb21taXQsIGNvbmZpZywgcmViYXNlLCBzZW5kLWVtYWlsIChUaW0gUG9wZSkKLQlIQVNURSAoTS4gVHJhbmNoZXJvKQorCUhBU1RFIGFuZCBIYXN0ZVByZVByb2MgKE0uIFRyYW5jaGVybykKKwlIYW1sIChUaW0gUG9wZSkKIAlIb3N0IGNvbmYgKE5pa29sYWkgV2VpYnVsbCkKIAlMaW5kZW4gc2NyaXB0IChUaW1vIEZyZW5heSkKLQlTeW1iaWFuIG1ldGEtbWFrZWZpbGUsIE1NUCAoUm9uIEFhcm9uKQogCU1TIG1lc3NhZ2VzIChLZXZpbiBMb2NrZSkKIAlQREYgKFRpbSBQb3BlKQogCVByb01lTGEgKE1hdXJpemlvIFRyYW5jaGVybykKIAlSZXZhIEZvdGggKFJvbiBBYXJvbikKKwlTYXNzIChUaW0gUG9wZSkKKwlTeW1iaWFuIG1ldGEtbWFrZWZpbGUsIE1NUCAoUm9uIEFhcm9uKQogCVZPUyBDTSBtYWNybyAoQW5kcmV3IE1jR2lsbCkKIAlYQkwgKERvdWcgS2Vhcm5zKQorCWRlbnlob3N0cyBjb25maWcgKE5pa29sYWkgV2VpYnVsbCkKIAogTmV3IHR1dG9yIGZpbGVzOgogCU1hZGUgVVRGLTggdmVyc2lvbnMgb2YgYWxsIHRoZSB0dXRvciBmaWxlcy4KQEAgLTQ2OTAsMjEgKzQ2OTgsMzEgQEAKIAlEb3MgLmluaSBmaWxlIChOaWtvbGFpIFdlaWJ1bGwpCiAJRHRyYWNlIHNjcmlwdCAoTmljb2xhcyBXZWJlcikKIAlHaXQsIEdpdCBjb25maWcsIEdpdCBjb21taXQsIEdpdCByZWJhc2UsIEdpdCBzZW5kLWVtYWlsIChUaW0gUG9wZSkKKwlIYW1sIChUaW0gUG9wZSkKIAlIb3N0IGNvbmYgKE5pa29sYWkgV2VpYnVsbCkKKwlMb2d0YWxrIChQYXVsbyBNb3VyYSkKIAlNUyBtZXNzYWdlcyAoS2V2aW4gTG9ja2UpCiAJUERGIChUaW0gUG9wZSkKIAlSZXZhIEZvcnRoIChSb24gQWFyb24pCisJU2FzcyAoVGltIFBvcGUpCiAKIE5ldyBpbmRlbnQgZmlsZXM6CiAJRHRyYWNlIHNjcmlwdCAoTmljb2xhcyBXZWJlcikKIAlFcmxhbmcgKENzYWJhIEhvY2gpCiAJR2l0IGNvbmZpZyAoVGltIFBvcGUpCisJSGFtbCAoVGltIFBvcGUpCisJTG9ndGFsayAoUGF1bG8gTW91cmEpCisJU2FzcyAoVGltIFBvcGUpCiAJVGlueSBGdWd1ZSAoQ2hyaXN0aWFuIEouIFJvYmluc29uKQogCitOZXcgY29tcGlsZXIgcGx1Z2luczoKKwlSU3BlYyAoVGltIFBvcGUpCisKIE5ldyBrZXltYXAgZmlsZXM6CiAJQ3JvYXRpYW4gKFBhdWwgQi4gTWFob2wpCiAJUnVzc2lhbiBEdm9yYWsgKFNlcmhpeSBCb2lrbykKIAlVa3JhaW5pYW4gRHZvcmFrIChTZXJoaXkgQm9pa28pCisJUmVtb3ZlZCBwbGFpbiBCdWxnYXJpYW4sICJiZHMiIGFuZCBwaG9uZXRpYyBhcmUgc3VmZmljaWVudC4KIAogT3RoZXIgbmV3IHJ1bnRpbWUgZmlsZXM6CiAJRXNwZXJhbnRvIG1lbnVzIGFuZCBtZXNzYWdlIHRyYW5zbGF0aW9ucy4gKERvbWluaXF1ZSBQZWxsZSkKQEAgLTUxMTYsNyArNTEzNCw3IEBACiBGaWxlczoJICAgIHNyYy9taXNjMS5jCiAKIFBhdGNoIDcuMS4wNjMgKGFmdGVyIDcuMS4wNDApCi1Qcm9ibGVtOiAgICBXYXJuaW5nIGZvciB1bml0aWFsaXplZCB2YXJpYWJsZS4KK1Byb2JsZW06ICAgIFdhcm5pbmcgZm9yIHVuaW5pdGlhbGl6ZWQgdmFyaWFibGUuCiBTb2x1dGlvbjogICBJbml0aWFsaXNlIGl0IHRvIE5VTEwuCiBGaWxlczoJICAgIHNyYy9leF9kb2NtZC5jCiAKQEAgLTUxODQsNyArNTIwMiw3IEBACiBGaWxlczoJICAgIHNyYy9taXNjMS5jCiAKIFBhdGNoIDcuMS4wNzQKLVByb2JsZW06ICAgIENyYXNoIHdoZW4gY2FsbGluZyBzdHJpbmcoKSBvbiBhIHJlY3VyaXZlbHkgbmVzdGVkIExpc3QuCitQcm9ibGVtOiAgICBDcmFzaCB3aGVuIGNhbGxpbmcgc3RyaW5nKCkgb24gYSByZWN1cnNpdmVseSBuZXN0ZWQgTGlzdC4KIFNvbHV0aW9uOiAgIENoZWNrIHJlc3VsdCB2YWx1ZSBmb3IgYmVpbmcgTlVMTC4gKFl1a2loaXJvIE5ha2FkYWlyYSkKIEZpbGVzOgkgICAgc3JjL2V2YWwuYwogCkBAIC01NDg3LDcgKzU1MDUsNyBAQAogUHJvYmxlbTogICAgTWFjOiBXaGVuIGRyb3BwaW5nIGEgZmlsZSBvbiBWaW0uYXBwIHRoYXQgaXMgYWxyZWFkeSBpbiB0aGUgYnVmZmVyCiAJICAgIGxpc3QgKGZyb20gLnZpbWluZm8pIHJlc3VsdHMgaW4gZWRpdGluZyBhbiBlbXB0eSwgdW5uYW1lZCBidWZmZXIuCiAJICAgIChBeGVsIEtpZWxob3JuKSAgQWxzbzogd2FybmluZyBmb3IgdW51c2VkIHZhcmlhYmxlLgotU29sdXRpb246ICAgTW92ZSB0byB0aGUgYnVmZmVyIG9mIHRoZSBmaXJzdCBhZ3VtZW50LiAgRGVsZXRlIHVudXNlZCB2YXJpYWJsZS4KK1NvbHV0aW9uOiAgIE1vdmUgdG8gdGhlIGJ1ZmZlciBvZiB0aGUgZmlyc3QgYXJndW1lbnQuICBEZWxldGUgdW51c2VkIHZhcmlhYmxlLgogRmlsZXM6CSAgICBzcmMvZ3VpX21hYy5jCiAKIFBhdGNoIDcuMS4xMjUKQEAgLTYwOTgsNyArNjExNiw3IEBACiBGaWxlczoJICAgIHNyYy9tYWluLmMKIAogUGF0Y2ggNy4xLjIyNQotUHJvYmxlbTogICAgVXNpbmcgdW5pdGlhbGl6ZWQgdmFsdWUgd2hlbiBYR2V0V01Ob3JtYWxIaW50cygpIGZhaWxzLgorUHJvYmxlbTogICAgVXNpbmcgdW5pbml0aWFsaXplZCB2YWx1ZSB3aGVuIFhHZXRXTU5vcm1hbEhpbnRzKCkgZmFpbHMuCiBTb2x1dGlvbjogICBDaGVjayB0aGUgcmV0dXJuIHZhbHVlLiAoRG9taW5pcXVlIFBlbGxlKQogRmlsZXM6CSAgICBzcmMvb3NfdW5peC5jCiAKQEAgLTYxOTUsNyArNjIxMyw3IEBACiAJICAgIG5vdCBjaGFuZ2VkIHRvIFNTIHRoZXJlLgogU29sdXRpb246ICAgTWFrZSBzdXJlIGFsbCB0aGUgY2hhcmFjdGVycyBhcmUgb3BlcmF0ZWQgdXBvbi4gIERldGVjdCB0aGUgc2hhcnAKIAkgICAgcyBpbiBsYXRpbjIuICBBbHNvIGZpeGVzIHRoYXQgY2hhbmdpbmcgY2FzZSBvZiBhIG11bHRpLWJ5dGUKLQkgICAgY2hhcmFjdGVyIHRoYXQgY2hhbmdlcyB0aGUgYnl0ZSBjb3VuZCBkb2Vzbid0IGFsd2F5cyB3b3JrLgorCSAgICBjaGFyYWN0ZXIgdGhhdCBjaGFuZ2VzIHRoZSBieXRlIGNvdW50IGRvZXNuJ3QgYWx3YXlzIHdvcmsuCiBGaWxlczoJICAgIHNyYy9vcHMuYwogCiBQYXRjaCA3LjEuMjQxCkBAIC02MzUwLDcgKzYzNjgsNyBAQAogRmlsZXM6CSAgICBzcmMvdGVybS5jCiAKIFBhdGNoIDcuMS4yNjcKLVByb2JsZW06ICAgIFdoZW4gY2hhbmdpbmcgZm9sZHMgY3Vyc29yIG1heSBiZSBwb3Npb25lZCBpbiB0aGUgd3JvbmcgcGxhY2UuCitQcm9ibGVtOiAgICBXaGVuIGNoYW5naW5nIGZvbGRzIGN1cnNvciBtYXkgYmUgcG9zaXRpb25lZCBpbiB0aGUgd3JvbmcgcGxhY2UuCiBTb2x1dGlvbjogICBDYWxsIGNoYW5nZWRfd2luZG93X3NldHRpbmdfd2luKCkgaW5zdGVhZCBvZgogCSAgICBjaGFuZ2VkX3dpbmRvd19zZXR0aW5nKCkuCiBGaWxlczoJICAgIHNyYy9mb2xkLmMKQEAgLTY2NzYsNyArNjY5NCw3IEBACiBGaWxlczoJICAgIHJ1bnRpbWUvZG9jL2V2YWwudHh0LCBzcmMvZXZhbC5jCiAKIFBhdGNoIDcuMS4zMjMKLVByb2JsZW06ICAgIFRlc3QgMTkgZmFpbHMgd2l0aCBzb21lIHRlcm1jYXBzLiAoRG9taW5xdWUgUGVsbGUpCitQcm9ibGVtOiAgICBUZXN0IDE5IGZhaWxzIHdpdGggc29tZSB0ZXJtY2Fwcy4gKERvbWluaXF1ZSBQZWxsZSkKIFNvbHV0aW9uOiAgIFNldCB0aGUgdF9rYiBhbmQgdF9rRCB0ZXJtY2FwIHZhbHVlcy4KIEZpbGVzOgkgICAgc3JjL3Rlc3RkaXIvdGVzdDE5LmluLCBzcmMvdGVzdGRpci90ZXN0MzguaW4KIApAQCAtNjc3MSw1ICs2Nzg5LDE1MiBAQAogJ2ljJyBhbmQgJ3NtYXJ0Y2FzZScgZG9uJ3Qgd29yayBwcm9wZXJseSB3aGVuIHVzaW5nIFwlViBpbiBhIHNlYXJjaCBwYXR0ZXJuLgogKEthbmEgTmF0c3VubykKIAorUGF0Y2ggNy4yYS4wMDEKK1Byb2JsZW06ICAgIE9uIHNvbWUgc3lzdGVtcyBYMTEvWGxpYi5oIGV4aXN0cyAoZnJvbSBYMTEtZGV2IHBhY2thZ2UpIGJ1dAorCSAgICBYMTEvSW50cmluc2ljLmggZG9lcyBub3QgKGluIFh0LWRldiBwYWNrYWdlKS4gIFRoaXMgYnJlYWtzIHRoZQorCSAgICBidWlsZC4gIEFsc28sIG9uIFNvbGFyaXMgOSBzeXMvcHRlbS5oIGlzbid0IGZvdW5kLgorU29sdXRpb246ICAgSGF2ZSBjb25maWd1cmUgb25seSBhY2NlcHQgWDExIHdoZW4gWDExL0ludHJpbnNpYy5oIGV4aXN0cy4KKwkgICAgQ2hlY2sgZm9yIHN5cy9wdGVtLmggd2hpbGUgaW5jbHVkaW5nIHN5cy9zdHJlYW0uaC4gKFZsYWRpbWlyCisJICAgIE1hcmVrKQorRmlsZXM6CSAgICBzcmMvYXV0by9jb25maWd1cmUsIHNyYy9jb25maWd1cmUuaW4KKworUGF0Y2ggNy4yYS4wMDIKK1Byb2JsZW06ICAgIGdldGJ1ZnZhcihOLCAiIikgZ2V0cyB0aGUgZGljdGlvbmFyeSBvZiB0aGUgY3VycmVudCBidWZmZXIgaW5zdGVhZAorCSAgICBvZiBidWZmZXIgTi4KK1NvbHV0aW9uOiAgIFNldCBjdXJidWYgYmVmb3JlIGNhbGxpbmcgZmluZF92YXJfaW5faHQoKS4gKEthbmEgTmF0c3VubykKK0ZpbGVzOgkgICAgc3JjL2V2YWwuYworCitQYXRjaCA3LjJhLjAwMworUHJvYmxlbTogICAgTGVha2luZyBtZW1vcnkgd2hlbiB1c2luZyAiOmZpbGUgbmFtZSIgYW5kIHVzaW5nIGFjY2VzcyBjb250cm9sCisJICAgIGxpc3RzLgorU29sdXRpb246ICAgSW52b2tlIG1jaF9mcmVlX2FjbCgpIGluIHZpbV9yZW5hbWUoKS4gKERvbWluaXF1ZSBQZWxsZSkKK0ZpbGVzOgkgICAgc3JjL2ZpbGVpby5jCisKK1BhdGNoIDcuMmEuMDA0CitQcm9ibGVtOiAgICBTb21lIHN5c3RlbXMgY2FuJ3QgZ2V0IHNwZWxsIGZpbGVzIGJ5IGZ0cC4KK1NvbHV0aW9uOiAgIFVzZSBodHRwIHdoZW4gaXQgbG9va3MgbGlrZSBpdCdzIHBvc3NpYmxlLiAoSmFtZXMgVmVnYSkKK0ZpbGVzOgkgICAgcnVudGltZS9hdXRvbG9hZC9zcGVsbGZpbGUudmltCisKK1BhdGNoIDcuMmEuMDA1CitQcm9ibGVtOiAgICBBIGZldyBlcnJvciBtZXNzYWdlcyB1c2UgY29uZnVzaW5nIG5hbWVzLiAgTWlzc3BlbGxpbmcuCitTb2x1dGlvbjogICBDaGFuZ2UgImRpc3NhbGxvd3MiIHRvICJkaXNhbGxvd3MiLiAoRG9taW5pcXVlIFBlbGxlKSAgQ2hhbmdlCisJICAgICJudW1iZXIiIHRvICJOdW1iZXIiLgorRmlsZXM6CSAgICBzcmMvZXZhbC5jLCBzcmMvZmlsZWlvLmMKKworUGF0Y2ggNy4yYS4wMDYKK1Byb2JsZW06ICAgIFJlYWRpbmcgcGFzdCBOVUwgaW4gYSBzdHJpbmcuCitTb2x1dGlvbjogICBDaGVjayBmb3IgaW52YWxpZCB1dGYtOCBieXRlIHNlcXVlbmNlLiAoRG9taW5pcXVlIFBlbGxlKQorRmlsZXM6CSAgICBzcmMvY2hhcnNldC5jCisKK1BhdGNoIDcuMmEuMDA3CitQcm9ibGVtOiAgICAiOmxldCB2ID0gMS4yLjMiIHdhcyBPSyBpbiBWaW0gNy4xLCBub3cgaXQgZ2l2ZXMgYW4gZXJyb3IuCitTb2x1dGlvbjogICBEb24ndCBsb29rIGZvciBhIGZsb2F0aW5nIHBvaW50IG51bWJlciBhZnRlciB0aGUgIi4iIG9wZXJhdG9yLgorRmlsZXM6CSAgICBzcmMvZXZhbC5jCisKK1BhdGNoIDcuMmEuMDA4CitQcm9ibGVtOiAgICBwcmludGYoIiVnIiwgMSkgZG9lc24ndCB3b3JrLgorU29sdXRpb246ICAgQ29udmVydCBOdW1iZXIgdG8gRmxvYXQgd2hlbiBuZWVkZWQuCitGaWxlczoJICAgIHNyYy9tZXNzYWdlLmMKKworUGF0Y2ggNy4yYS4wMDkKK1Byb2JsZW06ICAgIGN5Z3dpbl9jb252X3RvX3Bvc2l4X3BhdGgoKSBkb2VzIG5vdCBzcGVjaWZ5IGJ1ZmZlciBzaXplLgorU29sdXRpb246ICAgVXNlIG5ldyBDeWd3aW4gZnVuY3Rpb246IGN5Z3dpbl9jb252X3BhdGgoKS4gKENvcmlubmEgVmluc2NoZW4pCitGaWxlczoJICAgIHNyYy9tYWluLmMsIHNyYy9vc191bml4LmMKKworUGF0Y2ggNy4yYS4wMTAKK1Byb2JsZW06ICAgIFdoZW4gYSBmaWxlIG5hbWUgaGFzIGFuIGlsbGVnYWwgYnl0ZSBzZXF1ZW5jZSBWaW0gbWF5IHJlYWQKKwkgICAgdW5pbml0aWFsaXNlZCBtZW1vcnkuCitTb2x1dGlvbjogICBEb24ndCB1c2UgVVRGX0NPTVBPU0lOR0xJS0UoKSBvbiBhbiBpbGxlZ2FsIGJ5dGUuICBJbgorCSAgICBtc2dfb3V0dHJhbnNfbGVuX2F0dHIoKSB1c2UgY2hhcjJjZWxscygpIGluc3RlYWQgb2YgcHRyMmNlbGxzKCkuCisJICAgIEluIHV0Zl9wdHIyY2hhcigpIGRvbid0IGNoZWNrIHNlY29uZCBieXRlIHdoZW4gZmlyc3QgYnl0ZSBpcworCSAgICBpbGxlZ2EuICAoRG9taW5pcXVlIFBlbGxlKQorRmlsZXM6CSAgICBzcmMvbWJ5dGUuYywgc3JjL21lc3NhZ2UuYworCitQYXRjaCA3LjJhLjAxMQorUHJvYmxlbTogICAgVGhlIEVkaXQvU3RhcnR1cCBTZXR0aW5ncyBtZW51IGRvZXNuJ3Qgd29yay4KK1NvbHV0aW9uOiAgIEV4cGFuZCBlbnZpcm9ubWVudCB2YXJpYWJsZXMuIChCZW4gU2NobWlkdCkKK0ZpbGVzOgkgICAgcnVudGltZS9tZW51LnZpbQorCitQYXRjaCA3LjJhLjAxMgorUHJvYmxlbTogICAgQ29tcGlsZXIgd2FybmluZ3MgZm9yIGNhc3RpbmcgaW50IHRvIHBvaW50ZXIuCitTb2x1dGlvbjogICBBZGQgY2FzdCB0byBsb25nIGluIGJldHdlZW4uIChNYXJ0aW4gVG9mdCkKK0ZpbGVzOgkgICAgc3JjL2d1aV9ndGtfeDExLmMKKworUGF0Y2ggNy4yYS4wMTMKK1Byb2JsZW06ICAgIHNoZWxsZXNjYXBlKCkgZG9lcyBub3QgZXNjYXBlICIlIiBhbmQgIiMiIGNoYXJhY3RlcnMuCitTb2x1dGlvbjogICBBZGQgZmluZF9jbWRsaW5lX3ZhcigpIGFuZCB1c2UgaXQgd2hlbiB0aGUgc2Vjb25kIGFyZ3VtZW50IHRvCisJICAgIHNoZWxsZXNjYXBlKCkgaXMgbm9uLXplcm8uCitGaWxlczoJICAgIHJ1bnRpbWUvZG9jL2V2YWwudHh0LCBzcmMvZXZhbC5jLCBzcmMvZXhfZG9jbWQuYywKKwkgICAgc3JjL3Byb3RvL2V4X2RvY21kLnBybywgc3JjL3Byb3RvL21pc2MyLnBybywgc3JjL21pc2MyLmMKKworUGF0Y2ggNy4yYS4wMTQKK1Byb2JsZW06ICAgIFByb2JsZW0gd2l0aCAlIGluIG1lc3NhZ2UuCitTb2x1dGlvbjogICBQdXQgJSBpbiBzaW5nbGUgcXVvdGVzLgorRmlsZXM6CSAgICBzcmMvZXZhbC5jCisKK1BhdGNoIDcuMmEuMDE1IChhZnRlciA3LjJhLjAxMCkKK1Byb2JsZW06ICAgIE1pc2FsaWduZWQgbWVzc2FnZXMuCitTb2x1dGlvbjogICBDb21wdXRlIGxlbmd0aCBvZiB1bnByaW50YWJsZSBjaGFycyBjb3JyZWN0bHkuCitGaWxlczoJICAgIHNyYy9tZXNzYWdlLmMKKworUGF0Y2ggNy4yYS4wMTYKK1Byb2JsZW06ICAgIFVzaW5nIENUUkwtVyB2IGluIHRoZSBxdWlja2ZpeCB3aW5kb3cgcmVzdWx0cyBpbiB0d28gcXVpY2tmaXgKKwkgICAgd2luZG93cywgd2hpY2ggaXMgbm90IGFsbG93ZWQuICAiOnRhYiBzcGxpdCIgc2hvdWxkIGJlIGFsbG93ZWQgdG8KKwkgICAgb3BlbiBhIG5ldyBxdWlja2ZpeCB3aW5kb3cgaW4gYW5vdGhlciB0YWIuCitTb2x1dGlvbjogICBGb3IgQ1RSTC1XIHYgaW5zdGVhZCBvZiBzcGxpdHRpbmcgdGhlIHdpbmRvdyBvcGVuIGEgbmV3IG9uZS4KKwkgICAgV2hlbiB1c2luZyAiOnRhYiIgZG8gYWxsb3cgc3BsaXR0aW5nIHRoZSBxdWlja2ZpeCB3aW5kb3cgKHdhcworCSAgICBhbHJlYWR5IGluY2x1ZGVkIGluIHBhdGNoIDcuMmEuMDEzKS4KK0ZpbGVzOgkgICAgc3JjL3dpbmRvdy5jCisKK1BhdGNoIDcuMmEuMDE3CitQcm9ibGVtOiAgICAiOmRvYXV0b2FsbCIgZXhlY3V0ZXMgYXV0b2NvbW1hbmRzIGZvciBhbGwgYnVmZmVycyBpbnN0ZWFkIG9mIGp1c3QKKwkgICAgZm9yIGxvYWRlZCBidWZmZXJzLgorU29sdXRpb246ICAgQ2hhbmdlICJjdXJidWYiIHRvICJidWYiLgorRmlsZXM6CSAgICBzcmMvZmlsZWlvLmMKKworUGF0Y2ggNy4yYS4wMTgKK1Byb2JsZW06ICAgIENvbXBpbGVyIHdhcm5pbmdzIHdoZW4gY29tcGlsaW5nIHdpdGggR25vbWUuIChUb255IE1lY2hlbHluY2spCitTb2x1dGlvbjogICBBZGQgdHlwZSBjYXN0cy4KK0ZpbGVzOgkgICAgc3JjL2d1aV9ndGtfeDExLmMKKworUGF0Y2ggNy4yYS4wMTkKK1Byb2JsZW06ICAgICI6bGV0ICZnOnR3ID0gNDQiIHNldHMgdGhlIGxvY2FsIG9wdGlvbiB2YWx1ZS4gKEN5cmlsIFNsb2JpbikKK1NvbHV0aW9uOiAgIFVzZSBnZXRfdmFycF9zY29wZSgpIGluc3RlYWQgb2YgZ2V0X3ZhcnAoKS4gKElhbiBLZWxsaW5nKQorRmlsZXM6CSAgICBzcmMvb3B0aW9uLmMKKworVGhlcmUgaXMgbm8gd2F5IHRvIGF2b2lkIGFkZGluZyAvdXNyL2xvY2FsL3tpbmNsdWRlfGxpYn0gdG8gdGhlIGJ1aWxkCitjb21tYW5kcy4gIEFkZCB0aGUgLS13aXRoLWxvY2FsLWRpciBhcmd1bWVudCB0byBjb25maWd1cmUuIChNaWNoYWVsCitIYXViZW53YWxsbmVyKQorCitXaGVuIHVzaW5nIENUUkwtRCBhZnRlciAiOmhlbHAiLCB0aGUgbnVtYmVyIG9mIG1hdGNoZXMgY291bGQgYmUgdGhvdXNhbmRzLgorUmVzdHJpY3QgdG8gVEFHX01BTlkgdG8gYXZvaWQgdGhpcyB0YWtpbmcgdG9vIGxvbmcuIChJYW4gS2VsbGluZykKKworVGhlIHBvcHVwIG1lbnUgY291bGQgYmUgcGxhY2VkIGF0IGEgd2VpcmQgbG9jYXRpb24uICBDYXVzZWQgYnkgd193Y29sIGNvbXB1dGVkCitieSBjdXJzX2NvbHVtbnMoKS4gIChEb21pbmlxdWUgUGVsbGUpCisKK092ZXJsYXBwaW5nIFNUUkNQWSgpIGFyZ3VtZW50cyB3aGVuIHVzaW5nICVyIGl0ZW0gaW4gJ2Vycm9yZm9ybWF0Jy4gIFVzZQorU1RSTU9WRSgpIGluc3RlYWQuIChSYWxmIFdpbGRlbmh1ZXMpCisKK01hYzogT24gTGVvcGFyZCBndmltLCB3aGVuIHVzaW5nIHRoZSBtb3VzZSB3aGVlbCBub3RoaW5nIHdvdWxkIGhhcHBlbiB1bnRpbAorYW5vdGhlciBldmVudCBvY2N1cmVzLCBzdWNoIGFzIG1vdmluZyB0aGUgbW91c2UuICBUaGVuIHRoZSByZWNvcmRlZCBzY3JvbGxpbmcKK3dvdWxkIHRha2UgcGxhY2UgYWxsIGF0IG9uY2UuIChFY2tlaGFyZCBCZXJucykKKworU29sdXRpb24gZm9yIGN1cnNvciBjb2xvciBub3QgcmVmbGVjdGluZyBJTSBzdGF0dXMgZm9yIEdUSyAyLiAgQWRkCitwcmVlZGl0X2lzX2FjdGl2ZSBmbGFnLiAoU3VuZ0h5dW4gTmFtKQorCitmaWxlcmVhZGFibGUoKSBjYW4gaGFuZyBvbiBhIEZJRk8gb24gTGludXguICBVc2Ugb3BlbigpIGluc3RlYWQgb2YgZm9wZW4oKSwKK3dpdGggT19OT05CTE9DSy4gKHN1Z2dlc3RlZCBieSBMYXJzIEtvdHRob2ZmKQorCitJbmNsdWRlZCBwYXRjaCB0byBzdXBwb3J0IFBlcmwgNS4xMC4gKFlhc3VoaXJvIE1hdHN1bW90bykKKworV2hlbiBmaWxlcyBhcmUgZHJvcHBlZCBvbiBndmltIHdoaWxlIHRoZSBzY3JlZW4gaXMgYmVpbmcgdXBkYXRlZCwgaWdub3JlIHRoZQorZHJvcCBjb21tYW5kIHRvIGF2b2lkIGZyZWVpbmcgbWVtb3J5IHRoYXQgaXMgYmVpbmcgdXNlZC4KKworSW4gYSB0ZXJtaW5hbCwgd2hlbiBkcmF3aW5nIHRoZSBwb3B1cCBtZW51IG92ZXIgZG91YmxlLXdpZGUgY2hhcmFjdGVycywgaGFsZgorY2hhcmFjdGVycyBtYXkgbm90IGJlIGNsZWFyZWQgcHJvcGVybHkuIChZdWtpaGlybyBOYWthZGFpcmEpCisKK1RoZSAjaWZkZWYgZm9yIGluY2x1ZGluZyAidmltaW8uaCIgd2FzIGluY29uc2lzdGVudC4gIEluIGEgZmV3IGZpbGVzIGl0CitkZXBlbmRlZCBvbiBNU1dJTiwgd2hpY2ggaXNuJ3QgZGVmaW5lZCB1bnRpbCBsYXRlci4KKwogCiAgdmltOnR3PTc4OnRzPTg6ZnQ9aGVscDpub3JsOgpkaWZmIC0tZ2l0IGEvcnVudGltZS9kb2MvdmlfZGlmZi50eHQgYi9ydW50aW1lL2RvYy92aV9kaWZmLnR4dAppbmRleCBkZjE0NTJkLi5iZDVkZjY0IDEwMDY0NAotLS0gYS9ydW50aW1lL2RvYy92aV9kaWZmLnR4dAorKysgYi9ydW50aW1lL2RvYy92aV9kaWZmLnR4dApAQCAtMSw0ICsxLDQgQEAKLSp2aV9kaWZmLnR4dCogICBGb3IgVmltIHZlcnNpb24gNy4yYS4gIExhc3QgY2hhbmdlOiAyMDA4IE1heSAwNQorKnZpX2RpZmYudHh0KiAgIEZvciBWaW0gdmVyc2lvbiA3LjJiLiAgTGFzdCBjaGFuZ2U6IDIwMDggSnVuIDI4CiAKIAogCQkgIFZJTSBSRUZFUkVOQ0UgTUFOVUFMICAgIGJ5IEJyYW0gTW9vbGVuYWFyCkBAIC0zODMsNyArMzgzLDcgQEAKIFNlYXJjaGluZyBmb3Igd29yZHMgaW4gaW5jbHVkZWQgZmlsZXMuCQkJfGluY2x1ZGUtc2VhcmNofAogCVRoZSB8W2l8IGNvbW1hbmQgY2FuIGJlIHVzZWQgdG8gc2VhcmNoIGZvciBhIG1hdGNoIG9mIHRoZSB3b3JkIHVuZGVyCiAJdGhlIGN1cnNvciBpbiB0aGUgY3VycmVudCBhbmQgaW5jbHVkZWQgZmlsZXMuICBUaGUgJ2luY2x1ZGUnIG9wdGlvbgotCWNhbiBiZSBzZXQgdGhlIGEgcGF0dGVybiB0aGF0IGRlc2NyaWJlcyBhIGNvbW1hbmQgdG8gaW5jbHVkZSBhIGZpbGUKKwljYW4gYmUgc2V0IHRvIGEgcGF0dGVybiB0aGF0IGRlc2NyaWJlcyBhIGNvbW1hbmQgdG8gaW5jbHVkZSBhIGZpbGUKIAkodGhlIGRlZmF1bHQgaXMgZm9yIEMgcHJvZ3JhbXMpLgogCVRoZSB8W0l8IGNvbW1hbmQgbGlzdHMgYWxsIG1hdGNoZXMsIHRoZSB8W19DVFJMLUl8IGNvbW1hbmQganVtcHMgdG8KIAlhIG1hdGNoLgpkaWZmIC0tZ2l0IGEvcnVudGltZS9kb2MvdmlzdWFsLnR4dCBiL3J1bnRpbWUvZG9jL3Zpc3VhbC50eHQKaW5kZXggNDg1OGJiOC4uZmNhNzFmMyAxMDA2NDQKLS0tIGEvcnVudGltZS9kb2MvdmlzdWFsLnR4dAorKysgYi9ydW50aW1lL2RvYy92aXN1YWwudHh0CkBAIC0xLDQgKzEsNCBAQAotKnZpc3VhbC50eHQqICAgIEZvciBWaW0gdmVyc2lvbiA3LjJhLiAgTGFzdCBjaGFuZ2U6IDIwMDYgU2VwIDI2CisqdmlzdWFsLnR4dCogICAgRm9yIFZpbSB2ZXJzaW9uIDcuMmIuICBMYXN0IGNoYW5nZTogMjAwNiBTZXAgMjYKIAogCiAJCSAgVklNIFJFRkVSRU5DRSBNQU5VQUwgICAgYnkgQnJhbSBNb29sZW5hYXIKZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL3dpbmRvd3MudHh0IGIvcnVudGltZS9kb2Mvd2luZG93cy50eHQKaW5kZXggZGM5YzIwYy4uNDBlOThjNCAxMDA2NDQKLS0tIGEvcnVudGltZS9kb2Mvd2luZG93cy50eHQKKysrIGIvcnVudGltZS9kb2Mvd2luZG93cy50eHQKQEAgLTEsNCArMSw0IEBACi0qd2luZG93cy50eHQqICAgRm9yIFZpbSB2ZXJzaW9uIDcuMmEuICBMYXN0IGNoYW5nZTogMjAwNyBPY3QgMDcKKyp3aW5kb3dzLnR4dCogICBGb3IgVmltIHZlcnNpb24gNy4yYi4gIExhc3QgY2hhbmdlOiAyMDA4IEp1bCAwNQogCiAKIAkJICBWSU0gUkVGRVJFTkNFIE1BTlVBTCAgICBieSBCcmFtIE1vb2xlbmFhcgpAQCAtMTkwLDggKzE5MCw4IEBACiAJCVNhbWUgYXMgIjpzcGxpdCIsIGJ1dCBzZXQgJ3JlYWRvbmx5JyBvcHRpb24gZm9yIHRoaXMgYnVmZmVyLgogCiA6W05dc2ZbaW5kXSBbKytvcHRdIFsrY21kXSB7ZmlsZX0JCSo6c2YqICo6c2ZpbmQqICpzcGxpdGZpbmQqCi0JCVNhbWUgYXMgIjpzcGxpdCIsIGJ1dCBzZWFyY2ggZm9yIHtmaWxlfSBpbiAncGF0aCcuICBEb2Vzbid0Ci0JCXNwbGl0IGlmIHtmaWxlfSBpcyBub3QgZm91bmQuCisJCVNhbWUgYXMgIjpzcGxpdCIsIGJ1dCBzZWFyY2ggZm9yIHtmaWxlfSBpbiAncGF0aCcgbGlrZSBpbgorCQl8OmZpbmR8LiAgRG9lc24ndCBzcGxpdCBpZiB7ZmlsZX0gaXMgbm90IGZvdW5kLgogCiBDVFJMLVcgQ1RSTC1eCQkJCQkqQ1RSTC1XX0NUUkwtXiogKkNUUkwtV19eKgogQ1RSTC1XIF4JRG9lcyAiOnNwbGl0ICMiLCBzcGxpdCB3aW5kb3cgaW4gdHdvIGFuZCBlZGl0IGFsdGVybmF0ZSBmaWxlLgpkaWZmIC0tZ2l0IGEvcnVudGltZS9kb2Mvd29ya3Nob3AudHh0IGIvcnVudGltZS9kb2Mvd29ya3Nob3AudHh0CmluZGV4IGMxNGJmNzEuLmU2NzY4NTIgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvZG9jL3dvcmtzaG9wLnR4dAorKysgYi9ydW50aW1lL2RvYy93b3Jrc2hvcC50eHQKQEAgLTEsNCArMSw0IEBACi0qd29ya3Nob3AudHh0KiAgRm9yIFZpbSB2ZXJzaW9uIDcuMmEuICBMYXN0IGNoYW5nZTogMjAwNiBBcHIgMjQKKyp3b3Jrc2hvcC50eHQqICBGb3IgVmltIHZlcnNpb24gNy4yYi4gIExhc3QgY2hhbmdlOiAyMDA2IEFwciAyNAogCiAKIAkJICBWSU0gUkVGRVJFTkNFIE1BTlVBTCAgICBieSBHb3Jkb24gUHJpZXVyCmRpZmYgLS1naXQgYS9ydW50aW1lL2ZpbGV0eXBlLnZpbSBiL3J1bnRpbWUvZmlsZXR5cGUudmltCmluZGV4IDg5YWYwNGMuLjJiYTJiZmUgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvZmlsZXR5cGUudmltCisrKyBiL3J1bnRpbWUvZmlsZXR5cGUudmltCkBAIC0xLDcgKzEsNyBAQAogIiBWaW0gc3VwcG9ydCBmaWxlIHRvIGRldGVjdCBmaWxlIHR5cGVzCiAiCiAiIE1haW50YWluZXI6CUJyYW0gTW9vbGVuYWFyIDxCcmFtQHZpbS5vcmc+Ci0iIExhc3QgQ2hhbmdlOgkyMDA4IEp1biAyMAorIiBMYXN0IENoYW5nZToJMjAwOCBKdWwgMDgKIAogIiBMaXN0ZW4gdmVyeSBjYXJlZnVsbHksIEkgd2lsbCBzYXkgdGhpcyBvbmx5IG9uY2UKIGlmIGV4aXN0cygiZGlkX2xvYWRfZmlsZXR5cGVzIikKQEAgLTE3LDcgKzE3LDcgQEAKIAogIiBJZ25vcmVkIGV4dGVuc2lvbnMKIGlmIGV4aXN0cygiKmZuYW1lZXNjYXBlIikKLWF1IEJ1Zk5ld0ZpbGUsQnVmUmVhZCA/XCsub3JpZyw/XCsuYmFrLD9cKy5vbGQsP1wrLm5ldyw/XCsucnBtc2F2ZSw/XCsucnBtbmV3CithdSBCdWZOZXdGaWxlLEJ1ZlJlYWQgP1wrLm9yaWcsP1wrLmJhayw/XCsub2xkLD9cKy5uZXcsP1wrLmRwa2ctZGlzdCw/XCsuZHBrZy1vbGQsP1wrLnJwbXNhdmUsP1wrLnJwbW5ldwogCVwgZXhlICJkb2F1IGZpbGV0eXBlZGV0ZWN0IEJ1ZlJlYWQgIiAuIGZuYW1lZXNjYXBlKGV4cGFuZCgiPGFmaWxlPjpyIikpCiBhdSBCdWZOZXdGaWxlLEJ1ZlJlYWQgKn4KIAlcIGxldCBzOm5hbWUgPSBleHBhbmQoIjxhZmlsZT4iKSB8CkBAIC02MzMsNyArNjMzLDcgQEAKIGVuZGZ1bmMKIAogIiBFUmljc3NvbiBMQU5HdWFnZTsgWWF3cyBpcyBlcmxhbmcgdG9vCi1hdSBCdWZOZXdGaWxlLEJ1ZlJlYWQgKi5lcmwsKi55YXdzCQlzZXRmIGVybGFuZworYXUgQnVmTmV3RmlsZSxCdWZSZWFkICouZXJsLCouaHJsLCoueWF3cwlzZXRmIGVybGFuZwogCiAiIEVsbSBGaWx0ZXIgUnVsZXMgZmlsZQogYXUgQnVmTmV3RmlsZSxCdWZSZWFkIGZpbHRlci1ydWxlcwkJc2V0ZiBlbG1maWx0CkBAIC03MzksMTEgKzczOSwxNCBAQAogYXUgQnVmTmV3RmlsZSxCdWZSZWFkICouZ3NwCQkJc2V0ZiBnc3AKIAogIiBHcm91cCBmaWxlCi1hdSBCdWZOZXdGaWxlLEJ1ZlJlYWQgL2V0Yy9ncm91cAkJc2V0ZiBncm91cAorYXUgQnVmTmV3RmlsZSxCdWZSZWFkIC9ldGMvZ3JvdXAsL2V0Yy9ncm91cC0sL2V0Yy9ncm91cC5lZGl0LC9ldGMvZ3NoYWRvdywvZXRjL2dzaGFkb3ctLC9ldGMvZ3NoYWRvdy5lZGl0LC92YXIvYmFja3Vwcy9ncm91cC5iYWssL3Zhci9iYWNrdXBzL2dzaGFkb3cuYmFrCQlzZXRmIGdyb3VwCiAKICIgR1RLIFJDCiBhdSBCdWZOZXdGaWxlLEJ1ZlJlYWQgLmd0a3JjLGd0a3JjCQlzZXRmIGd0a3JjCiAKKyIgSGFtbAorYXUgQnVmTmV3RmlsZSxCdWZSZWFkICouaGFtbAkJCXNldGYgaGFtbAorCiAiIEhhbXN0ZXIgQ2xhc3NpYyB8IFBsYXlncm91bmQgZmlsZXMKIGF1IEJ1Zk5ld0ZpbGUsQnVmUmVhZCAqLmhzYywqLmhzbQkJc2V0ZiBoYW1zdGVyCiAKQEAgLTc1NCw2ICs3NTcsNyBAQAogCiAiIEhhc3RlCiBhdSBCdWZOZXdGaWxlLEJ1ZlJlYWQgKi5odAkJCXNldGYgaGFzdGUKK2F1IEJ1Zk5ld0ZpbGUsQnVmUmVhZCAqLmh0cHAJCQlzZXRmIGhhc3RlcHJlcHJvYwogCiAiIEhlcmN1bGVzCiBhdSBCdWZOZXdGaWxlLEJ1ZlJlYWQgKi52YywqLmV2LCoucnMsKi5zdW0sKi5lcnJzdW0Jc2V0ZiBoZXJjdWxlcwpAQCAtMTAxNiw2ICsxMDIwLDkgQEAKICIgTWFwbGUgVgogYXUgQnVmTmV3RmlsZSxCdWZSZWFkICoubXYsKi5tcGwsKi5td3MJCXNldGYgbWFwbGUKIAorIiBNYXAgKFVNTiBtYXBzZXJ2ZXIgY29uZmlnIGZpbGUpCithdSBCdWZOZXdGaWxlLEJ1ZlJlYWQgKi5tYXAJCQlzZXRmIG1hcAorCiAiIE1hc29uCiBhdSBCdWZOZXdGaWxlLEJ1ZlJlYWQgKi5tYXNvbiwqLm1odG1sCQlzZXRmIG1hc29uCiAKQEAgLTEyMjYsNyArMTIzMyw3IEBACiBhdSBCdWZOZXdGaWxlLEJ1ZlJlYWQgKi5wYXBwLCoucHhtbCwqLnB4c2wJc2V0ZiBwYXBwCiAKICIgUGFzc3dvcmQgZmlsZQotYXUgQnVmTmV3RmlsZSxCdWZSZWFkIC9ldGMvcGFzc3dkLC9ldGMvc2hhZG93LC9ldGMvc2hhZG93LSBzZXRmIHBhc3N3ZAorYXUgQnVmTmV3RmlsZSxCdWZSZWFkIC9ldGMvcGFzc3dkLC9ldGMvcGFzc3dkLSwvZXRjL3Bhc3N3ZC5lZGl0LC9ldGMvc2hhZG93LC9ldGMvc2hhZG93LSwvdmFyL2JhY2t1cHMvcGFzc3dkLmJhaywvdmFyL2JhY2t1cHMvc2hhZG93LmJhayBzZXRmIHBhc3N3ZAogCiAiIFBhc2NhbCAoYWxzbyAqLnApCiBhdSBCdWZOZXdGaWxlLEJ1ZlJlYWQgKi5wYXMJCQlzZXRmIHBhc2NhbApAQCAtMTU3Miw2ICsxNTc5LDkgQEAKICIgU0FTIHNjcmlwdAogYXUgQnVmTmV3RmlsZSxCdWZSZWFkICouc2FzCQkJc2V0ZiBzYXMKIAorIiBTYXNzCithdSBCdWZOZXdGaWxlLEJ1ZlJlYWQgKi5zYXNzCQkJc2V0ZiBzYXNzCisKICIgU2F0aGVyCiBhdSBCdWZOZXdGaWxlLEJ1ZlJlYWQgKi5zYQkJCXNldGYgc2F0aGVyCiAKQEAgLTE3OTYsNyArMTgwNiw3IEBACiAKIGxldCBzOmZ0X3J1bGVzX3VkZXZfcnVsZXNfcGF0dGVybiA9ICdeXHMqXGN1ZGV2X3J1bGVzXHMqPVxzKiJcKFteIl1cey0xLH1cKS8qIi4qJwogZnVuYyEgczpGVFJ1bGVzKCkKLSAgaWYgZXhwYW5kKCc8YW1hdGNoPjpwJykgPX4gJ14vZXRjL3VkZXYvcnVsZXNcLmQvLipcLnJ1bGVzJCcKKyAgaWYgZXhwYW5kKCc8YW1hdGNoPjpwJykgPX4gJ14vZXRjL3VkZXYvXCUocnVsZXNcLmQvXClcPS4qXC5ydWxlcyQnCiAgICAgc2V0ZiB1ZGV2cnVsZXMKICAgICByZXR1cm4KICAgZW5kaWYKQEAgLTIyNTcsNiArMjI2Nyw5IEBACiAiIE1vc3Qgb2YgdGhlc2Ugc2hvdWxkIGNhbGwgczpTdGFyU2V0ZigpIHRvIGF2b2lkIG5hbWVzIGVuZGluZyBpbiAuZ3ogYW5kIHRoZQogIiBsaWtlIGFyZSB1c2VkLgogCisiIE1vcmUgQXBhY2hlIGZpbGVzLgorYXUgQnVmTmV3RmlsZSxCdWZSZWFkIC9ldGMvYXBhY2hlMi9jb25mLiovKiwvZXRjL2FwYWNoZTIvc2l0ZXMtKi8qLC9ldGMvYXBhY2hlMi9tb2RzLSovKgkJY2FsbCBzOlN0YXJTZXRmKCdhcGFjaGUnKQorCiAiIEFzdGVyaXNrIGNvbmZpZyBmaWxlCiBhdSBCdWZOZXdGaWxlLEJ1ZlJlYWQgKmFzdGVyaXNrLyouY29uZioJCWNhbGwgczpTdGFyU2V0ZignYXN0ZXJpc2snKQogYXUgQnVmTmV3RmlsZSxCdWZSZWFkICphc3RlcmlzayovKnZvaWNlbWFpbC5jb25mKiBjYWxsIHM6U3RhclNldGYoJ2FzdGVyaXNrdm0nKQpAQCAtMjI3Niw3ICsyMjg5LDcgQEAKIAlcfGVuZGlmCiAKICIgQ3JvbnRhYgotYXUgQnVmTmV3RmlsZSxCdWZSZWFkIGNyb250YWIsY3JvbnRhYi4qCQljYWxsIHM6U3RhclNldGYoJ2Nyb250YWInKQorYXUgQnVmTmV3RmlsZSxCdWZSZWFkIGNyb250YWIsY3JvbnRhYi4qLC9ldGMvY3Jvbi5kLyoJCWNhbGwgczpTdGFyU2V0ZignY3JvbnRhYicpCiAKICIgRGViaWFuIFNvdXJjZXMubGlzdAogYXUgQnVmTmV3RmlsZSxCdWZSZWFkIC9ldGMvYXB0L3NvdXJjZXMubGlzdC5kLyoJY2FsbCBzOlN0YXJTZXRmKCdkZWJzb3VyY2VzJykKZGlmZiAtLWdpdCBhL3J1bnRpbWUvZnRwbHVnaW4vYWRhLnZpbSBiL3J1bnRpbWUvZnRwbHVnaW4vYWRhLnZpbQppbmRleCA2ODhjZjk3Li4wNDU2NDVkIDEwMDY0NAotLS0gYS9ydW50aW1lL2Z0cGx1Z2luL2FkYS52aW0KKysrIGIvcnVudGltZS9mdHBsdWdpbi9hZGEudmltCkBAIC0yLDEzICsyLDE0IEBACiAiICBEZXNjcmlwdGlvbjogUGVyZm9ybSBBZGEgc3BlY2lmaWMgY29tcGxldGlvbiAmIHRhZ2dpbmcuCiAiICAgICBMYW5ndWFnZTogQWRhICgyMDA1KQogIgkgICAkSWQkCi0iICAgTWFpbnRhaW5lcjogTWFydGluIEtyaXNjaGlrCisiICAgTWFpbnRhaW5lcjogTWFydGluIEtyaXNjaGlrIDxrcmlzY2hpa0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CisiCQlUYXlsb3IgVmVuYWJsZSA8dGF5bG9yQG1ldGFzeW50YXgubmV0PgogIgkJTmVpbCBCaXJkIDxuZWlsQGZueHdlYi5jb20+CiAiICAgICAgJEF1dGhvciQKICIJICREYXRlJAotIiAgICAgIFZlcnNpb246IDQuMgorIiAgICAgIFZlcnNpb246IDQuNgogIiAgICAkUmV2aXNpb24kCi0iICAgICAkSGVhZFVSTDogaHR0cHM6Ly9zdm4uc291cmNlZm9yZ2UubmV0L3N2bnJvb3QvZ251YWRhL3RydW5rL3Rvb2xzL3ZpbS9mdHBsdWdpbi9hZGEudmltICQKKyIgICAgICRIZWFkVVJMOiBodHRwczovL2dudWFkYS5zdm4uc291cmNlZm9yZ2UubmV0L3N2bnJvb3QvZ251YWRhL3RydW5rL3Rvb2xzL3ZpbS9mdHBsdWdpbi9hZGEudmltICQKICIgICAgICBIaXN0b3J5OiAyNC4wNS4yMDA2IE1LIFVuaWZpZWQgSGVhZGVycwogIgkJMjYuMDUuMjAwNiBNSyAnIHNob3VsZCBub3QgYmUgaW4gaXNrZXl3b3JkLgogIgkJMTYuMDcuMjAwNiBNSyBBZGEtTW9kZSBhcyB2aW0tYmFsbApAQCAtMTcsNiArMTgsNyBAQAogIiAgICAgICAgICAgICAgIDA1LjExLjIwMDYgTUsgQnJhbSBzdWdnZXN0ZWQgbm90IHRvIHVzZSBpbmNsdWRlIHByb3RlY3Rpb24gZm9yCiAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdXRvbG9hZAogIgkJMDUuMTEuMjAwNiBNSyBCcmFtIHN1Z2dlc3RlZCB0byBzYXZlIG9uIHNwYWNlcworIgkJMDguMDcuMjAwNyBUViBmaXggZGVmYXVsdCBjb21waWxlciBwcm9ibGVtcy4KICIgICAgSGVscCBQYWdlOiBmdC1hZGEtcGx1Z2luCiAiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAiIFByb3ZpZGVzIG1hcHBpbmcgb3ZlcnJpZGVzIGZvciB0YWcganVtcGluZyB0aGF0IGZpZ3VyZSBvdXQgdGhlIGN1cnJlbnQKQEAgLTMwLDcgKzMyLDcgQEAKIGVuZGlmCiAKICIgRG9uJ3QgbG9hZCBhbm90aGVyIHBsdWdpbiBmb3IgdGhpcyBidWZmZXIKLWxldCBiOmRpZF9mdHBsdWdpbiA9IDM4CitsZXQgYjpkaWRfZnRwbHVnaW4gPSA0NQogCiAiCiAiIFRlbXBvcmFyaWx5IHNldCBjcG9wdGlvbnMgdG8gZW5zdXJlIHRoZSBzY3JpcHQgbG9hZHMgT0sKQEAgLTM4LDEyICs0MCwyMSBAQAogbGV0IHM6Y3BvcHRpb25zID0gJmNwb3B0aW9ucwogc2V0IGNwb3B0aW9ucy09QwogCi0iIFNlY3Rpb246IENvbW1lbnRzIHt7ezEKKyIgU2VjdGlvbjogQ29tbWVudHMgIHt7ezEKICIKIHNldGxvY2FsIGNvbW1lbnRzPU86LS0sOi0tXCBcCiBzZXRsb2NhbCBjb21tZW50c3RyaW5nPS0tXCBcICVzCiBzZXRsb2NhbCBjb21wbGV0ZT0uLHcsYix1LHQsaQogCisiIFNlY3Rpb246IGNhc2UJICAgICB7e3sxCisiCitzZXRsb2NhbCBub3NtYXJ0Y2FzZQorc2V0bG9jYWwgaWdub3JlY2FzZQorCisiIFNlY3Rpb246IGZvcm1hdG9wdGlvbnMge3t7MQorIgorc2V0bG9jYWwgZm9ybWF0b3B0aW9ucys9cm9uCisKICIgU2VjdGlvbjogVGFnZ2luZyB7e3sxCiAiCiBpZiBleGlzdHMgKCJnOmFkYV9leHRlbmRlZF90YWdnaW5nIikKQEAgLTEwNCw4ICsxMTUsMTcgQEAKICAgICAgIFwgczpub3RlbmQgLiAnXDxyZWNvcmRcPjpcPGVuZFw+XHNcK1w8cmVjb3JkXD4nCiBlbmRpZgogCisKICIgU2VjdGlvbjogQ29tcGlsZXIge3t7MQogIgoraWYgISBleGlzdHMoImc6YWRhX2RlZmF1bHRfY29tcGlsZXIiKQorICAgaWYgaGFzKCJ2bXMiKQorICAgICAgbGV0IGc6YWRhX2RlZmF1bHRfY29tcGlsZXIgPSAnZGVjYWRhJworICAgZWxzZQorICAgICAgbGV0IGc6YWRhX2RlZmF1bHRfY29tcGlsZXIgPSAnZ25hdCcKKyAgIGVuZGlmCitlbmRpZgorCiBpZiAhIGV4aXN0cygiY3VycmVudF9jb21waWxlciIpCQkJfHwKICAgIFwgY3VycmVudF9jb21waWxlciAhPSBnOmFkYV9kZWZhdWx0X2NvbXBpbGVyCiAgICBleGVjdXRlICJjb21waWxlciAiIC4gZzphZGFfZGVmYXVsdF9jb21waWxlcgpkaWZmIC0tZ2l0IGEvcnVudGltZS9mdHBsdWdpbi9kZWJjaGFuZ2Vsb2cudmltIGIvcnVudGltZS9mdHBsdWdpbi9kZWJjaGFuZ2Vsb2cudmltCmluZGV4IGNkNWIwNzEuLjAwYTAyNWIgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvZnRwbHVnaW4vZGViY2hhbmdlbG9nLnZpbQorKysgYi9ydW50aW1lL2Z0cGx1Z2luL2RlYmNoYW5nZWxvZy52aW0KQEAgLTcsNiArNyw5IEBACiAiIExpY2Vuc2U6CUdOVSBHUEwsIHZlcnNpb24gMi4wIG9yIGxhdGVyCiAiIFVSTDoJCWh0dHA6Ly9naXQuZGViaWFuLm9yZy8/cD1wa2ctdmltL3ZpbS5naXQ7YT1ibG9iX3BsYWluO2Y9cnVudGltZS9mdHBsdWdpbi9kZWJjaGFuZ2Vsb2cudmltO2hiPWRlYmlhbgogCisiIEJ1ZyBjb21wbGV0aW9uIHJlcXVpcmVzIGFwdC1saXN0YnVncyBpbnN0YWxsZWQgZm9yIERlYmlhbiBwYWNrYWdlcyBvcgorIiBweXRob24tbGF1bmNocGFkLWJ1Z3MgaW5zdGFsbGVkIGZvciBVYnVudHUgcGFja2FnZXMKKwogaWYgZXhpc3RzKCJiOmRpZF9mdHBsdWdpbiIpCiAgIGZpbmlzaAogZW5kaWYKQEAgLTExNiw3ICsxMTksOSBAQAogICAgIG5vcm1hbCBoCiAgICAgbm9ybWFsIAEKICAgICBjYWxsIHNldGxpbmUoMSwgc3Vic3RpdHV0ZShnZXRsaW5lKDEpLCAnLVwkXCQnLCAnLScsICcnKSkKLSAgICBub3JtYWwgem8KKyAgICBpZiBleGlzdHMoImc6ZGViY2hhbmdlbG9nX2ZvbGRfZW5hYmxlIikKKyAgICAgICAgZm9sZG9wZW4KKyAgICBlbmRpZgogICAgIGNhbGwgQWRkRW50cnkoKQogZW5kZnVuY3Rpb24KIApAQCAtMjc5LDcgKzI4NCw5IEBACiAgIHJldHVybiAnPScKIGVuZGZ1bmN0aW9uCiAKLXNpbGVudCEgZm9sZG9wZW4hICAgIiB1bmZvbGQgdGhlIGVudHJ5IHRoZSBjdXJzb3IgaXMgb24gKHVzdWFsbHkgdGhlIGZpcnN0IG9uZSkKK2lmIGV4aXN0cygiZzpkZWJjaGFuZ2Vsb2dfZm9sZF9lbmFibGUiKQorICBzaWxlbnQhIGZvbGRvcGVuISAgICIgdW5mb2xkIHRoZSBlbnRyeSB0aGUgY3Vyc29yIGlzIG9uICh1c3VhbGx5IHRoZSBmaXJzdCBvbmUpCitlbmRpZgogCiAiIH19fQogCkBAIC0yOTEsMjcgKzI5OCw2NSBAQAogCiBmdW4hIERlYkNvbXBsZXRlQnVncyhmaW5kc3RhcnQsIGJhc2UpCiAgIGlmIGE6ZmluZHN0YXJ0Ci0gICAgIiBpdCB3ZSBhcmUganVzdCBhZnRlciBhbiAnIycsIHRoZSBjb21wbGV0aW9uIHNob3VsZCBzdGFydCBhdCB0aGUgJyMnLAotICAgICIgb3RoZXJ3aXNlIG5vIGNvbXBsZXRpb24gaXMgcG9zc2libGUKICAgICBsZXQgbGluZSA9IGdldGxpbmUoJy4nKQotICAgIGxldCBjb2xpZHggPSBjb2woJy4nKQotICAgIGlmIGNvbGlkeCA+IDEgJiYgbGluZVtjb2xpZHggLSAyXSA9fiAnIycKLSAgICAgIGxldCBjb2xpZHggPSBjb2xpZHggLSAyCi0gICAgZWxzZQotICAgICAgbGV0IGNvbGlkeCA9IC0xCi0gICAgZW5kaWYKKworICAgICIgdHJ5IHRvIGRldGVjdCB3aGV0aGVyIHRoaXMgaXMgY2xvc2VzOiBvciBscDoKKyAgICBsZXQgZzpkZWJjaGFuZ2Vsb2dfY29tcGxldGVfbW9kZSA9ICdkZWJidWdzJworICAgIGxldCB0cnlfY29saWR4ID0gY29sKCcuJykgLSAxCisgICAgbGV0IGNvbGlkeCA9IC0xICIgZGVmYXVsdCB0byBuby1jb21wbGV0aW9uLXBvc3NpYmxlCisKKyAgICB3aGlsZSB0cnlfY29saWR4ID4gMCAmJiBsaW5lW3RyeV9jb2xpZHggLSAxXSA9fiAnXHNcfFxkXHwjXHwsXHw6JworICAgICAgbGV0IHRyeV9jb2xpZHggPSB0cnlfY29saWR4IC0gMQorICAgICAgaWYgbGluZVt0cnlfY29saWR4XSA9PSAnIycgJiYgY29saWR4ID09IC0xCisgICAgICAgICIgZm91bmQgaGFzaCwgd2hlcmUgd2UgY29tcGxldGUgZnJvbToKKyAgICAgICAgbGV0IGNvbGlkeCA9IHRyeV9jb2xpZHgKKyAgICAgIGVsc2VpZiBsaW5lW3RyeV9jb2xpZHhdID09ICc6JworICAgICAgICBpZiB0cnlfY29saWR4ID4gMSAmJiBzdHJwYXJ0KGxpbmUsIHRyeV9jb2xpZHggLSAyLCAzKSA9fiAnXGNscDonCisgICAgICAgICAgbGV0IGc6ZGViY2hhbmdlbG9nX2NvbXBsZXRlX21vZGUgPSAnbHAnCisgICAgICAgIGVuZGlmCisgICAgICAgIGJyZWFrCisgICAgICBlbmRpZgorICAgIGVuZHdoaWxlCiAgICAgcmV0dXJuIGNvbGlkeAotICBlbHNlCi0gICAgaWYgISBmaWxlcmVhZGFibGUoJy91c3Ivc2Jpbi9hcHQtbGlzdGJ1Z3MnKQotICAgICAgZWNob2VyciAnYXB0LWxpc3RidWdzIG5vdCBmb3VuZCwgeW91IHNob3VsZCBpbnN0YWxsIGl0IHRvIHVzZSBDbG9zZXMgYnVnIGNvbXBsZXRpb24nCi0gICAgICByZXR1cm4KKyAgZWxzZSAiIHJldHVybiBtYXRjaGVzOgorICAgIGxldCBidWdfbGluZXMgPSBbXQorICAgIGlmIGc6ZGViY2hhbmdlbG9nX2NvbXBsZXRlX21vZGUgPT0gJ2xwJworICAgICAgaWYgISBoYXMoJ3B5dGhvbicpCisgICAgICAgIGVjaG9lcnIgJ3ZpbSBtdXN0IGJlIGJ1aWx0IHdpdGggUHl0aG9uIHN1cHBvcnQgdG8gdXNlIExQIGJ1ZyBjb21wbGV0aW9uJworICAgICAgICByZXR1cm4KKyAgICAgIGVuZGlmCisgICAgICBsZXQgcGtnc3JjID0gRGViR2V0UGtnU3JjTmFtZShsaW5lKCcuJykpCisgICAgICBweXRob24gPDwgRU9GCitpbXBvcnQgdmltCit0cnk6CisgICAgZnJvbSBsYXVuY2hwYWRidWdzIGltcG9ydCBjb25uZWN0b3IKKyAgICBidWdsaXN0ID0gY29ubmVjdG9yLkNvbm5lY3RCdWdMaXN0KCkKKyAgICBibCA9IGxpc3QoYnVnbGlzdCgnaHR0cHM6Ly9idWdzLmxhdW5jaHBhZC5uZXQvdWJ1bnR1Lytzb3VyY2UvJXMnICUgdmltLmV2YWwoJ3BrZ3NyYycpKSkKKyAgICBibC5zb3J0KE5vbmUsIGludCkKKyAgICBsaXN0c3RyID0gJ1snCisgICAgZm9yIGJ1ZyBpbiBibDoKKyAgICAgICAgbGlzdHN0ciArPSAiJyMlZCAtICVzJywiICUgKGludChidWcpLCBidWcuc3VtbWFyeS5yZXBsYWNlKCdcJycsICdcJ1wnJykpCisgICAgbGlzdHN0ciArPSAnXScKKyAgICB2aW0uY29tbWFuZCgnc2lsZW50IGxldCBidWdfbGluZXMgPSAlcycgJSBsaXN0c3RyKQorZXhjZXB0IEltcG9ydEVycm9yOgorICAgIHZpbS5jb21tYW5kKCdlY2hvZXJyIFwncHl0aG9uLWxhdW5jaHBhZC1idWdzIG5lZWRzIHRvIGJlIGluc3RhbGxlZCB0byB1c2UgTGF1bmNocGFkIGJ1ZyBjb21wbGV0aW9uXCcnKQorRU9GCisgICAgZWxzZQorICAgICAgaWYgISBmaWxlcmVhZGFibGUoJy91c3Ivc2Jpbi9hcHQtbGlzdGJ1Z3MnKQorICAgICAgICBlY2hvZXJyICdhcHQtbGlzdGJ1Z3Mgbm90IGZvdW5kLCB5b3Ugc2hvdWxkIGluc3RhbGwgaXQgdG8gdXNlIENsb3NlcyBidWcgY29tcGxldGlvbicKKyAgICAgICAgcmV0dXJuCisgICAgICBlbmRpZgorICAgICAgbGV0IHBrZ3NyYyA9IERlYkdldFBrZ1NyY05hbWUobGluZSgnLicpKQorICAgICAgbGV0IGxpc3RidWdzX291dHB1dCA9IHN5c3RlbSgnL3Vzci9zYmluL2FwdC1saXN0YnVncyAtcyAnIC4gZzpkZWJjaGFuZ2Vsb2dfbGlzdGJ1Z3Nfc2V2ZXJpdGllcyAuICcgbGlzdCAnIC4gcGtnc3JjIC4gJyB8IGdyZXAgIl4gIyIgMj4gL2Rldi9udWxsJykKKyAgICAgIGxldCBidWdfbGluZXMgPSBzcGxpdChsaXN0YnVnc19vdXRwdXQsICdcbicpCiAgICAgZW5kaWYKLSAgICBsZXQgcGtnc3JjID0gRGViR2V0UGtnU3JjTmFtZShsaW5lKCcuJykpCi0gICAgbGV0IGxpc3RidWdzX291dHB1dCA9IHN5c3RlbSgnYXB0LWxpc3RidWdzIC1zICcgLiBnOmRlYmNoYW5nZWxvZ19saXN0YnVnc19zZXZlcml0aWVzIC4gJyBsaXN0ICcgLiBwa2dzcmMgLiAnIHwgZ3JlcCAiXiAjIiAyPiAvZGV2L251bGwnKQotICAgIGxldCBidWdfbGluZXMgPSBzcGxpdChsaXN0YnVnc19vdXRwdXQsICdcbicpCiAgICAgbGV0IGNvbXBsZXRpb25zID0gW10KICAgICBmb3IgbGluZSBpbiBidWdfbGluZXMKICAgICAgIGxldCBwYXJ0cyA9IG1hdGNobGlzdChsaW5lLCAnXlxzKlwoI1xTXCtcKVxzKi1ccypcKC4qXCkkJykKKyAgICAgICIgZmlsdGVyIG9ubHkgdGhvc2Ugd2hpY2ggbWF0Y2ggYTpiYXNlOgorICAgICAgaWYgcGFydHNbMV0gIX4gIl4iIC4gYTpiYXNlCisgICAgICAgIGNvbnRpbnVlCisgICAgICBlbmRpZgogICAgICAgbGV0IGNvbXBsZXRpb24gPSB7fQogICAgICAgbGV0IGNvbXBsZXRpb25bJ3dvcmQnXSA9IHBhcnRzWzFdCiAgICAgICBsZXQgY29tcGxldGlvblsnbWVudSddID0gcGFydHNbMl0KZGlmZiAtLWdpdCBhL3J1bnRpbWUvZnRwbHVnaW4vZXJ1YnkudmltIGIvcnVudGltZS9mdHBsdWdpbi9lcnVieS52aW0KaW5kZXggOGIxODlkZi4uODAyZjU5NiAxMDA2NDQKLS0tIGEvcnVudGltZS9mdHBsdWdpbi9lcnVieS52aW0KKysrIGIvcnVudGltZS9mdHBsdWdpbi9lcnVieS52aW0KQEAgLTI3LDcgKzI3LDcgQEAKICAgbGV0IHM6bGluZXMgPSBnZXRsaW5lKDEpLiJcbiIuZ2V0bGluZSgyKS4iXG4iLmdldGxpbmUoMykuIlxuIi5nZXRsaW5lKDQpLiJcbiIuZ2V0bGluZSg1KS4iXG4iLmdldGxpbmUoIiQiKQogICBsZXQgYjplcnVieV9zdWJ0eXBlID0gbWF0Y2hzdHIoczpsaW5lcywnZXJ1Ynlfc3VidHlwZT1cenNcd1wrJykKICAgaWYgYjplcnVieV9zdWJ0eXBlID09ICcnCi0gICAgbGV0IGI6ZXJ1Ynlfc3VidHlwZSA9IG1hdGNoc3RyKHN1YnN0aXR1dGUoZXhwYW5kKCIlOnQiKSwnXGNcJShcLmVyYlwpXCskJywnJywnJyksJ1wuXHpzXHdcKyQnKQorICAgIGxldCBiOmVydWJ5X3N1YnR5cGUgPSBtYXRjaHN0cihzdWJzdGl0dXRlKGV4cGFuZCgiJTp0IiksJ1xjXCUoXC5lcmJcfFwuZXJ1YnlcKVwrJCcsJycsJycpLCdcLlx6c1x3XCskJykKICAgZW5kaWYKICAgaWYgYjplcnVieV9zdWJ0eXBlID09ICdyaHRtbCcKICAgICBsZXQgYjplcnVieV9zdWJ0eXBlID0gJ2h0bWwnCmRpZmYgLS1naXQgYS9ydW50aW1lL2Z0cGx1Z2luL2dpdC52aW0gYi9ydW50aW1lL2Z0cGx1Z2luL2dpdC52aW0KaW5kZXggMzc4ODhiMS4uZjhkMzMxZiAxMDA2NDQKLS0tIGEvcnVudGltZS9mdHBsdWdpbi9naXQudmltCisrKyBiL3J1bnRpbWUvZnRwbHVnaW4vZ2l0LnZpbQpAQCAtMSw3ICsxLDcgQEAKICIgVmltIGZpbGV0eXBlIHBsdWdpbgogIiBMYW5ndWFnZToJZ2VuZXJpYyBnaXQgb3V0cHV0CiAiIE1haW50YWluZXI6CVRpbSBQb3BlIDx2aW1OT1NQQU1AdHBvcGUuaW5mbz4KLSIgTGFzdCBDaGFuZ2U6CTIwMDggRmViIDI3CisiIExhc3QgQ2hhbmdlOgkyMDA4IEp1biAyMAogCiAiIE9ubHkgZG8gdGhpcyB3aGVuIG5vdCBkb25lIHlldCBmb3IgdGhpcyBidWZmZXIKIGlmIChleGlzdHMoImI6ZGlkX2Z0cGx1Z2luIikpCkBAIC0xNSw3ICsxNSw3IEBACiAgICAgZWxzZWlmICRHSVRfRElSICE9ICcnCiAgICAgICAgIGxldCBiOmdpdF9kaXIgPSAkR0lUX0RJUgogICAgIGVuZGlmCi0gICAgaWYgaGFzKCd3aW4zMicpIHx8IGhhcygnd2luNjQnKQorICAgIGlmIChoYXMoJ3dpbjMyJykgfHwgaGFzKCd3aW42NCcpKSAmJiBleGlzdHMoJ2I6Z2l0X2RpcicpCiAgICAgICAgIGxldCBiOmdpdF9kaXIgPSBzdWJzdGl0dXRlKGI6Z2l0X2RpciwnXFwnLCcvJywnZycpCiAgICAgZW5kaWYKIGVuZGlmCmRpZmYgLS1naXQgYS9ydW50aW1lL2Z0cGx1Z2luL2hhbWwudmltIGIvcnVudGltZS9mdHBsdWdpbi9oYW1sLnZpbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wYTM5ZDVlCi0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS9mdHBsdWdpbi9oYW1sLnZpbQpAQCAtMCwwICsxLDY2IEBACisiIFZpbSBmaWxldHlwZSBwbHVnaW4KKyIgTGFuZ3VhZ2U6CQlIYW1sCisiIE1haW50YWluZXI6CQlUaW0gUG9wZSA8dmltTk9TUEFNQHRwb3BlLmluZm8+CisKKyIgT25seSBkbyB0aGlzIHdoZW4gbm90IGRvbmUgeWV0IGZvciB0aGlzIGJ1ZmZlcgoraWYgZXhpc3RzKCJiOmRpZF9mdHBsdWdpbiIpCisgIGZpbmlzaAorZW5kaWYKKworbGV0IHM6c2F2ZV9jcG8gPSAmY3BvCitzZXQgY3BvLT1DCisKKyIgRGVmaW5lIHNvbWUgZGVmYXVsdHMgaW4gY2FzZSB0aGUgaW5jbHVkZWQgZnRwbHVnaW5zIGRvbid0IHNldCB0aGVtLgorbGV0IHM6dW5kb19mdHBsdWdpbiA9ICIiCitsZXQgczpicm93c2VmaWx0ZXIgPSAiQWxsIEZpbGVzICgqLiopXHQqLipcbiIKK2xldCBzOm1hdGNoX3dvcmRzID0gIiIKKworcnVudGltZSEgZnRwbHVnaW4vaHRtbC52aW0gZnRwbHVnaW4vaHRtbF8qLnZpbSBmdHBsdWdpbi9odG1sLyoudmltCit1bmxldCEgYjpkaWRfZnRwbHVnaW4KKworIiBPdmVycmlkZSBvdXIgZGVmYXVsdHMgaWYgdGhlc2Ugd2VyZSBzZXQgYnkgYW4gaW5jbHVkZWQgZnRwbHVnaW4uCitpZiBleGlzdHMoImI6dW5kb19mdHBsdWdpbiIpCisgIGxldCBzOnVuZG9fZnRwbHVnaW4gPSBiOnVuZG9fZnRwbHVnaW4KKyAgdW5sZXQgYjp1bmRvX2Z0cGx1Z2luCitlbmRpZgoraWYgZXhpc3RzKCJiOmJyb3dzZWZpbHRlciIpCisgIGxldCBzOmJyb3dzZWZpbHRlciA9IGI6YnJvd3NlZmlsdGVyCisgIHVubGV0IGI6YnJvd3NlZmlsdGVyCitlbmRpZgoraWYgZXhpc3RzKCJiOm1hdGNoX3dvcmRzIikKKyAgbGV0IHM6bWF0Y2hfd29yZHMgPSBiOm1hdGNoX3dvcmRzCisgIHVubGV0IGI6bWF0Y2hfd29yZHMKK2VuZGlmCisKK3J1bnRpbWUhIGZ0cGx1Z2luL3J1YnkudmltIGZ0cGx1Z2luL3J1YnlfKi52aW0gZnRwbHVnaW4vcnVieS8qLnZpbQorbGV0IGI6ZGlkX2Z0cGx1Z2luID0gMQorCisiIENvbWJpbmUgdGhlIG5ldyBzZXQgb2YgdmFsdWVzIHdpdGggdGhvc2UgcHJldmlvdXNseSBpbmNsdWRlZC4KK2lmIGV4aXN0cygiYjp1bmRvX2Z0cGx1Z2luIikKKyAgbGV0IHM6dW5kb19mdHBsdWdpbiA9IGI6dW5kb19mdHBsdWdpbiAuICIgfCAiIC4gczp1bmRvX2Z0cGx1Z2luCitlbmRpZgoraWYgZXhpc3RzICgiYjpicm93c2VmaWx0ZXIiKQorICBsZXQgczpicm93c2VmaWx0ZXIgPSBzdWJzdGl0dXRlKGI6YnJvd3NlZmlsdGVyLCdcY0FsbCBGaWxlcyAoXCpcLlwqKVx0XCpcLlwqXG4nLCcnLCcnKSAuIHM6YnJvd3NlZmlsdGVyCitlbmRpZgoraWYgZXhpc3RzKCJiOm1hdGNoX3dvcmRzIikKKyAgbGV0IHM6bWF0Y2hfd29yZHMgPSBiOm1hdGNoX3dvcmRzIC4gJywnIC4gczptYXRjaF93b3JkcworZW5kaWYKKworIiBDaGFuZ2UgdGhlIGJyb3dzZSBkaWFsb2cgb24gV2luMzIgdG8gc2hvdyBtYWlubHkgSGFtbC1yZWxhdGVkIGZpbGVzCitpZiBoYXMoImd1aV93aW4zMiIpCisgIGxldCBiOmJyb3dzZWZpbHRlcj0iSGFtbCBGaWxlcyAoKi5oYW1sKVx0Ki5oYW1sXG5TYXNzIEZpbGVzICgqLnNhc3MpXHQqLnNhc3NcbiIgLiBzOmJyb3dzZWZpbHRlcgorZW5kaWYKKworIiBMb2FkIHRoZSBjb21iaW5lZCBsaXN0IG9mIG1hdGNoX3dvcmRzIGZvciBtYXRjaGl0LnZpbQoraWYgZXhpc3RzKCJsb2FkZWRfbWF0Y2hpdCIpCisgIGxldCBiOm1hdGNoX3dvcmRzID0gczptYXRjaF93b3JkcworZW5kaWYKKworc2V0bG9jYWwgY29tbWVudHN0cmluZz0tI1wgJXMKKworbGV0IGI6dW5kb19mdHBsdWdpbiA9ICJzZXRsIGNtczwgY29tPCAiCisgICAgICBcICIgfCB1bmxldCEgYjpicm93c2VmaWx0ZXIgYjptYXRjaF93b3JkcyB8ICIgLiBzOnVuZG9fZnRwbHVnaW4KKworbGV0ICZjcG8gPSBzOnNhdmVfY3BvCisKKyIgdmltOnNldCBzdz0yOgpkaWZmIC0tZ2l0IGEvcnVudGltZS9mdHBsdWdpbi9sb2d0YWxrLmRpY3QgYi9ydW50aW1lL2Z0cGx1Z2luL2xvZ3RhbGsuZGljdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lM2I5ZTZmCi0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS9mdHBsdWdpbi9sb2d0YWxrLmRpY3QKQEAgLTAsMCArMSwxNjQgQEAKK2VuY29kaW5nCitjYWxscworY2F0ZWdvcnkKK2R5bmFtaWMKK2VuZF9jYXRlZ29yeQorZW5kX29iamVjdAorZW5kX3Byb3RvY29sCitpbmZvCitpbml0aWFsaXphdGlvbgorb2JqZWN0Citwcm90b2NvbAorc3luY2hyb25pemVkCit0aHJlYWRlZAordXNlcworYWxpYXMKK2Rpc2NvbnRpZ3VvdXMKK21ldGFfcHJlZGljYXRlCittb2RlCitvcAorcHJpdmF0ZQorcHJvdGVjdGVkCitwdWJsaWMKK2N1cnJlbnRfb2JqZWN0CitjdXJyZW50X3Byb3RvY29sCitjdXJyZW50X2NhdGVnb3J5CitvYmplY3RfcHJvcGVydHkKK3Byb3RvY29sX3Byb3BlcnR5CitjYXRlZ29yeV9wcm9wZXJ0eQorY3JlYXRlX29iamVjdAorY3JlYXRlX3Byb3RvY29sCitjcmVhdGVfY2F0ZWdvcnkKK2Fib2xpc2hfb2JqZWN0CithYm9saXNoX3Byb3RvY29sCithYm9saXNoX2NhdGVnb3J5Citjb21wbGVtZW50cworY29tcGxlbWVudHNfb2JqZWN0CitleHRlbmRzCitleHRlbmRzX29iamVjdAorZXh0ZW5kc19wcm90b2NvbAorZXh0ZW5kc19jYXRlZ29yeQoraW1wbGVtZW50cworaW1wbGVtZW50c19wcm90b2NvbAoraW1wb3J0cworaW1wb3J0c19jYXRlZ29yeQoraW5zdGFudGlhdGVzCitpbnN0YW50aWF0ZXNfY2xhc3MKK3NwZWNpYWxpemVzCitzcGVjaWFsaXplc19jbGFzcworYWJvbGlzaF9ldmVudHMKK2N1cnJlbnRfZXZlbnQKK2RlZmluZV9ldmVudHMKK2xvZ3RhbGtfbG9hZAorbG9ndGFsa19jb21waWxlCitsb2d0YWxrX2xpYnJhcnlfcGF0aAorY3VycmVudF9sb2d0YWxrX2ZsYWcKK3NldF9sb2d0YWxrX2ZsYWcKK3RocmVhZGVkX2NhbGwKK3RocmVhZGVkX29uY2UKK3RocmVhZGVkX2lnbm9yZQordGhyZWFkZWRfZXhpdAordGhyZWFkZWRfcGVlawordGhyZWFkZWRfd2FpdAordGhyZWFkZWRfbm90aWZ5CitzZWxmCit0aGlzCitzZW5kZXIKK3BhcmFtZXRlcgorYmVmb3JlCithZnRlcgorcGhyYXNlCitleHBhbmRfdGVybQorZ29hbF9leHBhbnNpb24KK3Rlcm1fZXhwYW5zaW9uCit0cnVlCitmYWlsCitjYWxsCitjYXRjaAordGhyb3cKK3VuaWZ5X3dpdGhfb2NjdXJzX2NoZWNrCit2YXIKK2F0b20KK2ludGVnZXIKK2Zsb2F0CithdG9taWMKK2NvbXBvdW5kCitub252YXIKK251bWJlcgorYXJnCitjb3B5X3Rlcm0KK2Z1bmN0b3IKK2N1cnJlbnRfcHJlZGljYXRlCitwcmVkaWNhdGVfcHJvcGVydHkKK2Fib2xpc2gKK2Fzc2VydHoKK2Fzc2VydGEKK2NsYXVzZQorcmV0cmFjdAorcmV0cmFjdGFsbAorYmFnb2YKK2ZpbmRhbGwKK2ZvcmFsbAorc2V0b2YKK2N1cnJlbnRfaW5wdXQKK2N1cnJlbnRfb3V0cHV0CitzZXRfaW5wdXQKK3NldF9vdXRwdXQKK29wZW4KK2Nsb3NlCitmbHVzaF9vdXRwdXQKK3N0cmVhbV9wcm9wZXJ0eQorYXRfZW5kX29mX3N0cmVhbQorc2V0X3N0cmVhbV9wb3NpdGlvbgorZ2V0X2NoYXIKK2dldF9jb2RlCitwZWVrX2NoYXIKK3BlZWtfY29kZQorcHV0X2NoYXIKK3B1dF9jb2RlCitubAorZ2V0X2J5dGUKK3BlZWtfYnl0ZQorcHV0X2J5dGUKK3JlYWQKK3JlYWRfdGVybQord3JpdGUKK3dyaXRlcQord3JpdGVfY2Fub25pY2FsCithdG9tX2NoYXJzCithdG9tX2NvZGVzCithdG9tX2NvbmNhdAorbnVtYmVyX2NoYXJzCitudW1iZXJfY29kZXMKK2N1cnJlbnRfb3AKK2NoYXJfY29udmVyc2lvbgorY3VycmVudF9jaGFyX2NvbnZlcnNpb24KK29uY2UKK3JlcGVhdAorYXRvbV9sZW5ndGgKK2F0b21fY29uY2F0CitzdWJfYXRvbQorYXRvbV9jaGFycworYXRvbV9jb2RlcworY2hhcl9jb2RlCitudW1iZXJfY2hhcnMKK251bWJlcl9jb2Rlcworc2V0X3Byb2xvZ19mbGFnCitjdXJyZW50X3Byb2xvZ19mbGFnCitoYWx0CithYnMKK2F0YW4KK2NlaWxpbmcKK2NvcworZXhwCitmbG9hdF9mcmFjdGlvbmFsX3BhcnQKK2Zsb2F0X2ludGVnZXJfcGFydAorZmxvb3IKK2xvZworbW9kCityZW0KK3JvdW5kCitzaWduCitzaW4KK3NxcnQKK3RydW5jYXRlCmRpZmYgLS1naXQgYS9ydW50aW1lL2Z0cGx1Z2luL2xvZ3RhbGsudmltIGIvcnVudGltZS9mdHBsdWdpbi9sb2d0YWxrLnZpbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNzEzMDdhCi0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS9mdHBsdWdpbi9sb2d0YWxrLnZpbQpAQCAtMCwwICsxLDE4IEBACisiIExvZ3RhbGsgZmlsZXR5cGUgcGx1Z2luIGZpbGUKKyIgTGFuZ3VhZ2U6ICAgICAgICAgTG9ndGFsaworIiBNYWludGFpbmVyOiAgICAgICBQYXVsbyBNb3VyYSA8cG1vdXJhQGxvZ3RhbGsub3JnPgorIiBMYXRlc3QgUmV2aXNpb246ICAyMDA3LTA3LTA2CisKK2lmIGV4aXN0cygiYjpkaWRfZnRwbHVnaW4iKQorICBmaW5pc2gKK2VuZGlmCitsZXQgYjpkaWRfZnRwbHVnaW4gPSAxCisKK2xldCBiOnVuZG9fZnRwbHVnaW4gPSAic2V0bCB0czwgc3c8IGZkbTwgZmRjPCBhaTwgZGljdDwiCisKKyJzZXRsb2NhbCB0cz00CitzZXRsb2NhbCBzdz00CitzZXRsb2NhbCBmZG09c3ludGF4CitzZXRsb2NhbCBmZGM9Mgorc2V0bG9jYWwgYXV0b2luZGVudAorc2V0bG9jYWwgZGljdD0kVklNUlVOVElNRS9mdHBsdWdpbi9sb2d0YWxrLmRpY3QKZGlmZiAtLWdpdCBhL3J1bnRpbWUvZnRwbHVnaW4vc2Fzcy52aW0gYi9ydW50aW1lL2Z0cGx1Z2luL3Nhc3MudmltCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFkMDM5NzcKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL2Z0cGx1Z2luL3Nhc3MudmltCkBAIC0wLDAgKzEsMTggQEAKKyIgVmltIGZpbGV0eXBlIHBsdWdpbgorIiBMYW5ndWFnZToJCVNhc3MKKyIgTWFpbnRhaW5lcjoJCVRpbSBQb3BlIDx2aW1OT1NQQU1AdHBvcGUuaW5mbz4KKworIiBPbmx5IGRvIHRoaXMgd2hlbiBub3QgZG9uZSB5ZXQgZm9yIHRoaXMgYnVmZmVyCitpZiBleGlzdHMoImI6ZGlkX2Z0cGx1Z2luIikKKyAgZmluaXNoCitlbmRpZgorbGV0IGI6ZGlkX2Z0cGx1Z2luID0gMQorCitsZXQgYjp1bmRvX2Z0cGx1Z2luID0gInNldGwgY21zPCBpbmM8IG9mdTwiCisKK3NldGxvY2FsIGNvbW1lbnRzdHJpbmc9Ly9cICVzCitzZXRsb2NhbCBvbW5pZnVuYz1jc3Njb21wbGV0ZSNDb21wbGV0ZUNTUworCitsZXQgJmw6aW5jbHVkZSA9ICdeXHMqQGltcG9ydFxzXCtcJSh1cmwoXClcPScKKworIiB2aW06c2V0IHN3PTI6CmRpZmYgLS1naXQgYS9ydW50aW1lL2luZGVudC9hZGEudmltIGIvcnVudGltZS9pbmRlbnQvYWRhLnZpbQppbmRleCBmMmZjMWFiLi5lNTZhYWZmIDEwMDY0NAotLS0gYS9ydW50aW1lL2luZGVudC9hZGEudmltCisrKyBiL3J1bnRpbWUvaW5kZW50L2FkYS52aW0KQEAgLTMsMTcgKzMsMTkgQEAKICIgICAgIExhbmd1YWdlOiBBZGEgKDIwMDUpCiAiCSAgICRJZCQKICIgICAgQ29weXJpZ2h0OiBDb3B5cmlnaHQgKEMpIDIwMDYgTWFydGluIEtyaXNjaGlrCi0iICAgTWFpbnRhaW5lcjogTWFydGluIEtyaXNjaGlrCisiICAgTWFpbnRhaW5lcjogTWFydGluIEtyaXNjaGlrIDxrcmlzY2hpa0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CiAiCQlOZWlsIEJpcmQgPG5laWxAZm54d2ViLmNvbT4KKyIJCU5lZCBPa2llIDxub2tpZUByYWRmb3JkLmVkdT4KICIgICAgICAkQXV0aG9yJAogIgkgJERhdGUkCi0iICAgICAgVmVyc2lvbjogNC4yCisiICAgICAgVmVyc2lvbjogNC42CiAiICAgICRSZXZpc2lvbiQKLSIgICAgICRIZWFkVVJMOiBodHRwczovL3N2bi5zb3VyY2Vmb3JnZS5uZXQvc3Zucm9vdC9nbnVhZGEvdHJ1bmsvdG9vbHMvdmltL2luZGVudC9hZGEudmltICQKKyIgICAgICRIZWFkVVJMOiBodHRwczovL2dudWFkYS5zdm4uc291cmNlZm9yZ2UubmV0L3N2bnJvb3QvZ251YWRhL3RydW5rL3Rvb2xzL3ZpbS9pbmRlbnQvYWRhLnZpbSAkCiAiICAgICAgSGlzdG9yeTogMjQuMDUuMjAwNiBNSyBVbmlmaWVkIEhlYWRlcnMKICIJCTE2LjA3LjIwMDYgTUsgQWRhLU1vZGUgYXMgdmltLWJhbGwKICIJCTE1LjEwLjIwMDYgTUsgQnJhbSdzIHN1Z2dlc3Rpb24gZm9yIHJ1bnRpbWUgaW50ZWdyYXRpb24KICIJCTA1LjExLjIwMDYgTUsgQnJhbSBzdWdnZXN0ZWQgdG8gc2F2ZSBvbiBzcGFjZXMKKyIJCTE5LjA5LjIwMDcgTk8gZzogbWlzc2luZyBiZWZvcmUgYWRhI0NvbW1lbnQKICIgICAgSGVscCBQYWdlOiBmdC12aW0taW5kZW50CiAiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAiIFRvRG86CkBAIC0yNyw3ICsyOSw3IEBACiAgICBmaW5pc2gKIGVuZGlmCiAKLWxldCBiOmRpZF9pbmRlbnQgPSAxCitsZXQgYjpkaWRfaW5kZW50ID0gNDUKIAogc2V0bG9jYWwgaW5kZW50ZXhwcj1HZXRBZGFJbmRlbnQoKQogc2V0bG9jYWwgaW5kZW50a2V5cy09MHssMH0KQEAgLTU4LDcgKzYwLDcgQEAKICIgU2VlbXMgdG8gd29yayBPSyBhcyBpdCAnc3RhcnRzJyB3aXRoIHRoZSBpbmRlbnQgb2YgdGhlIC9wcmV2aW91cy8gbGluZS4KIGZ1bmN0aW9uIHM6TWFpbkJsb2NrSW5kZW50IChwcmV2X2luZGVudCwgcHJldl9sbnVtLCBibG9ja3N0YXJ0LCBzdG9wX2F0KQogICAgbGV0IGxudW0gPSBhOnByZXZfbG51bQotICAgbGV0IGxpbmUgPSBzdWJzdGl0dXRlKCBnZXRsaW5lKGxudW0pLCBhZGEjQ29tbWVudCwgJycsICcnICkKKyAgIGxldCBsaW5lID0gc3Vic3RpdHV0ZSggZ2V0bGluZShsbnVtKSwgZzphZGEjQ29tbWVudCwgJycsICcnICkKICAgIHdoaWxlIGxudW0gPiAxCiAgICAgICBpZiBhOnN0b3BfYXQgIT0gJycgICYmICBsaW5lID1+ICdeXHMqJyAuIGE6c3RvcF9hdCAgJiYgIGluZGVudChsbnVtKSA8IGE6cHJldl9pbmRlbnQKIAkgcmV0dXJuIGE6cHJldl9pbmRlbnQKQEAgLTcyLDcgKzc0LDcgQEAKICAgICAgIGxldCBsbnVtID0gcHJldm5vbmJsYW5rKGxudW0gLSAxKQogICAgICAgIiBHZXQgcHJldmlvdXMgbm9uLWJsYW5rL25vbi1jb21tZW50LW9ubHkgbGluZQogICAgICAgd2hpbGUgMQotCSBsZXQgbGluZSA9IHN1YnN0aXR1dGUoIGdldGxpbmUobG51bSksIGFkYSNDb21tZW50LCAnJywgJycgKQorCSBsZXQgbGluZSA9IHN1YnN0aXR1dGUoIGdldGxpbmUobG51bSksIGc6YWRhI0NvbW1lbnQsICcnLCAnJyApCiAJIGlmIGxpbmUgIX4gJ15ccyokJyAmJiBsaW5lICF+ICdeXHMqIycKIAkgICAgYnJlYWsKIAkgZW5kaWYKQEAgLTExNiw3ICsxMTgsNyBAQAogICAgICAgIiBHZXQgcHJldmlvdXMgbm9uLWJsYW5rL25vbi1jb21tZW50LW9ubHkgbGluZQogICAgICAgd2hpbGUgMQogCSBsZXQgbGluZSA9IGdldGxpbmUobG51bSkKLQkgbGV0IGxpbmUgPSBzdWJzdGl0dXRlKCBsaW5lLCBhZGEjQ29tbWVudCwgJycsICcnICkKKwkgbGV0IGxpbmUgPSBzdWJzdGl0dXRlKCBsaW5lLCBnOmFkYSNDb21tZW50LCAnJywgJycgKQogCSBpZiBsaW5lICF+ICdeXHMqJCcKIAkgICAgYnJlYWsKIAkgZW5kaWYKQEAgLTE0Myw3ICsxNDUsOCBAQAogICAgICAgbGV0IGxudW0gPSBwcmV2bm9uYmxhbmsobG51bSAtIDEpCiAgICAgICAiIEdldCBwcmV2aW91cyBub24tYmxhbmsvbm9uLWNvbW1lbnQtb25seSBsaW5lCiAgICAgICB3aGlsZSAxCi0JIGxldCBsaW5lID0gc3Vic3RpdHV0ZSggZ2V0bGluZShsbnVtKSwgYWRhI0NvbW1lbnQsICcnLCAnJyApCisJIGxldCBsaW5lID0gc3Vic3RpdHV0ZSggZ2V0bGluZShsbnVtKSwgZzphZGEjQ29tbWVudCwgJycsICcnICkKKwkgCiAJIGlmIGxpbmUgIX4gJ15ccyokJyAmJiBsaW5lICF+ICdeXHMqIycKIAkgICAgYnJlYWsKIAkgZW5kaWYKQEAgLTIyMiw3ICsyMjUsNyBAQAogICAgICAgZXhlIGxudW0KICAgICAgIGV4ZSAnbm9ybWFsISAkRiklJwogICAgICAgaWYgZ2V0bGluZSgnLicpID1+ICdeXHMqKCcKLQkgIiBEaXJlIGxheW91dCAtIHVzZSBwcmV2aW91cyBpbmRlbnQgKGNvdWxkIGNoZWNrIGZvciBhZGEjQ29tbWVudCBoZXJlKQorCSAiIERpcmUgbGF5b3V0IC0gdXNlIHByZXZpb3VzIGluZGVudCAoY291bGQgY2hlY2sgZm9yIGc6YWRhI0NvbW1lbnQgaGVyZSkKIAkgbGV0IGluZCA9IGluZGVudCggcHJldm5vbmJsYW5rKCBsaW5lKCcuJyktMSApICkKICAgICAgIGVsc2UKIAkgbGV0IGluZCA9IGluZGVudCgnLicpCmRpZmYgLS1naXQgYS9ydW50aW1lL2luZGVudC9lcnVieS52aW0gYi9ydW50aW1lL2luZGVudC9lcnVieS52aW0KaW5kZXggODNkMDEwZS4uMzFjYmI4YiAxMDA2NDQKLS0tIGEvcnVudGltZS9pbmRlbnQvZXJ1YnkudmltCisrKyBiL3J1bnRpbWUvaW5kZW50L2VydWJ5LnZpbQpAQCAtMTIsNyArMTIsNyBAQAogCiBydW50aW1lISBpbmRlbnQvcnVieS52aW0KIHVubGV0ISBiOmRpZF9pbmRlbnQKLXNldCBpbmRlbnRleHByPQorc2V0bG9jYWwgaW5kZW50ZXhwcj0KIAogaWYgZXhpc3RzKCJiOmVydWJ5X3N1YnR5cGUiKQogICBleGUgInJ1bnRpbWUhIGluZGVudC8iLmI6ZXJ1Ynlfc3VidHlwZS4iLnZpbSIKQEAgLTQwLDEyICs0MCwxNyBAQAogICBmaW5pc2gKIGVuZGlmCiAKLWZ1bmN0aW9uISBHZXRFcnVieUluZGVudCgpCitmdW5jdGlvbiEgR2V0RXJ1YnlJbmRlbnQoLi4uKQorICBpZiBhOjAgJiYgYToxID09ICcuJworICAgIGxldCB2OmxudW0gPSBsaW5lKCcuJykKKyAgZWxzZWlmIGE6MCAmJiBhOjEgPX4gJ15cZCcKKyAgICBsZXQgdjpsbnVtID0gYToxCisgIGVuZGlmCiAgIGxldCB2Y29sID0gY29sKCcuJykKICAgY2FsbCBjdXJzb3IodjpsbnVtLDEpCiAgIGxldCBpbnJ1YnkgPSBzZWFyY2hwYWlyKCc8JScsJycsJyU+JywnVycpCiAgIGNhbGwgY3Vyc29yKHY6bG51bSx2Y29sKQotICBpZiBpbnJ1YnkgJiYgZ2V0bGluZSh2OmxudW0pICF+ICdePCUnCisgIGlmIGlucnVieSAmJiBnZXRsaW5lKHY6bG51bSkgIX4gJ148JVx8XlxzKi1cPSU+JwogICAgIGxldCBpbmQgPSBHZXRSdWJ5SW5kZW50KCkKICAgZWxzZQogICAgIGV4ZSAibGV0IGluZCA9ICIuYjplcnVieV9zdWJ0eXBlX2luZGVudGV4cHIKQEAgLTUzLDE1ICs1OCwxNSBAQAogICBsZXQgbG51bSA9IHByZXZub25ibGFuayh2OmxudW0tMSkKICAgbGV0IGxpbmUgPSBnZXRsaW5lKGxudW0pCiAgIGxldCBjbGluZSA9IGdldGxpbmUodjpsbnVtKQotICBpZiBjbGluZSA9fiMgJzwlXHMqXCUoZW5kXHxlbHNlXHxcJShlbnN1cmVcfHJlc2N1ZVx8ZWxzaWZcfHdoZW5cKS5cey1cfVwpXHMqXCUoLVw9JT5cfCRcKScKKyAgaWYgY2xpbmUgPX4jICc8JS1cPVxzKlwlKH1cfGVuZFx8ZWxzZVx8XCUoZW5zdXJlXHxyZXNjdWVcfGVsc2lmXHx3aGVuXCkuXHstXH1cKVxzKlwlKC1cPSU+XHwkXCknCiAgICAgbGV0IGluZCA9IGluZCAtICZzdwogICBlbmRpZgotICBpZiBsaW5lID1+IyAnXDxkb1wlKFxzKnxbXnxdKnxcKVw9XHMqLVw9JT4nCisgIGlmIGxpbmUgPX4jICdcJSh7XHxcPGRvXClcJShccyp8W158XSp8XClcPVxzKi1cPSU+JwogICAgIGxldCBpbmQgPSBpbmQgKyAmc3cKLSAgZWxzZWlmIGxpbmUgPX4jICc8JVxzKlwlKG1vZHVsZVx8Y2xhc3NcfGRlZlx8aWZcfGZvclx8d2hpbGVcfHVudGlsXHxlbHNlXHxlbHNpZlx8Y2FzZVx8d2hlblx8dW5sZXNzXHxiZWdpblx8ZW5zdXJlXHxyZXNjdWVcKVw+LiolPicKKyAgZWxzZWlmIGxpbmUgPX4jICc8JS1cPVxzKlwlKG1vZHVsZVx8Y2xhc3NcfGRlZlx8aWZcfGZvclx8d2hpbGVcfHVudGlsXHxlbHNlXHxlbHNpZlx8Y2FzZVx8d2hlblx8dW5sZXNzXHxiZWdpblx8ZW5zdXJlXHxyZXNjdWVcKVw+LiolPicKICAgICBsZXQgaW5kID0gaW5kICsgJnN3CiAgIGVuZGlmCi0gIGlmIGxpbmUgPX4jICdeXHMqPCVbPSNdXD1ccyokJyAmJiBjbGluZSAhfiMgJ15ccyplbmRcPicKKyAgaWYgbGluZSA9fiMgJ15ccyo8JVs9Iy1dXD1ccyokJyAmJiBjbGluZSAhfiMgJ15ccyplbmRcPicKICAgICBsZXQgaW5kID0gaW5kICsgJnN3CiAgIGVuZGlmCiAgIGlmIGNsaW5lID1+IyAnXlxzKi1cPSU+XHMqJCcKZGlmZiAtLWdpdCBhL3J1bnRpbWUvaW5kZW50L2hhbWwudmltIGIvcnVudGltZS9pbmRlbnQvaGFtbC52aW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzFmZWVlMAotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvaW5kZW50L2hhbWwudmltCkBAIC0wLDAgKzEsNzMgQEAKKyIgVmltIGluZGVudCBmaWxlCisiIExhbmd1YWdlOglIQU1MCisiIE1haW50YWluZXI6CVRpbSBQb3BlIDx2aW1OT1NQQU1AdHBvcGUuaW5mbz4KKyIgTGFzdCBDaGFuZ2U6CTIwMDcgRGVjIDE2CisKK2lmIGV4aXN0cygiYjpkaWRfaW5kZW50IikKKyAgZmluaXNoCitlbmRpZgorcnVudGltZSEgaW5kZW50L3J1YnkudmltCit1bmxldCEgYjpkaWRfaW5kZW50CitsZXQgYjpkaWRfaW5kZW50ID0gMQorCitzZXRsb2NhbCBhdXRvaW5kZW50IHN3PTIgZXQKK3NldGxvY2FsIGluZGVudGV4cHI9R2V0SGFtbEluZGVudCgpCitzZXRsb2NhbCBpbmRlbnRrZXlzPW8sTywqPFJldHVybj4sfSxdLDApLCFeRiw9ZW5kLD1lbHNlLD1lbHNpZiw9cmVzY3VlLD1lbnN1cmUsPXdoZW4KKworIiBPbmx5IGRlZmluZSB0aGUgZnVuY3Rpb24gb25jZS4KK2lmIGV4aXN0cygiKkdldEhhbWxJbmRlbnQiKQorICBmaW5pc2gKK2VuZGlmCisKK2xldCBzOmF0dHJpYnV0ZXMgPSAnXCUoey5cey1cfX1cfFxbLlx7LVx9XF1cKScKK2xldCBzOnRhZyA9ICdcJShbJS4jXVtbOmFsbnVtOl1fLV1cK1x8Jy5zOmF0dHJpYnV0ZXMuJ1wpKls8Pl0qJworCitpZiAhZXhpc3RzKCdnOmhhbWxfc2VsZl9jbG9zaW5nX3RhZ3MnKQorICBsZXQgZzpoYW1sX3NlbGZfY2xvc2luZ190YWdzID0gJ21ldGF8bGlua3xpbWd8aHJ8YnInCitlbmRpZgorCitmdW5jdGlvbiEgR2V0SGFtbEluZGVudCgpCisgIGxldCBsbnVtID0gcHJldm5vbmJsYW5rKHY6bG51bS0xKQorICBpZiBsbnVtID09IDAKKyAgICByZXR1cm4gMAorICBlbmRpZgorICBsZXQgbGluZSA9IHN1YnN0aXR1dGUoZ2V0bGluZShsbnVtKSwnXHNcKyQnLCcnLCcnKQorICBsZXQgY2xpbmUgPSBzdWJzdGl0dXRlKHN1YnN0aXR1dGUoZ2V0bGluZSh2OmxudW0pLCdcc1wrJCcsJycsJycpLCdeXHNcKycsJycsJycpCisgIGxldCBsYXN0Y29sID0gc3RybGVuKGxpbmUpCisgIGxldCBsaW5lID0gc3Vic3RpdHV0ZShsaW5lLCdeXHNcKycsJycsJycpCisgIGxldCBpbmRlbnQgPSBpbmRlbnQobG51bSkKKyAgbGV0IGNpbmRlbnQgPSBpbmRlbnQodjpsbnVtKQorICBpZiBjbGluZSA9fiMgJ1x2Xi1ccyolKGVsc2lmfGVsc2V8d2hlbik+JworICAgIGxldCBpbmRlbnQgPSBjaW5kZW50IDwgaW5kZW50ID8gY2luZGVudCA6IGluZGVudCAtICZzdworICBlbmRpZgorICBsZXQgaW5jcmVhc2UgPSBpbmRlbnQgKyAmc3cKKyAgaWYgaW5kZW50ID09IGluZGVudChsbnVtKQorICAgIGxldCBpbmRlbnQgPSBjaW5kZW50IDw9IGluZGVudCA/IC0xIDogaW5jcmVhc2UKKyAgZW5kaWYKKyAgImxldCBpbmRlbnQgPSBpbmRlbnQgPT0gaW5kZW50KGxudW0pID8gLTEgOiBpbmRlbnQKKyAgImxldCBpbmRlbnQgPSBpbmRlbnQgPiBpbmRlbnQobG51bSkgKyAmc3cgPyBpbmRlbnQobG51bSkgKyAmc3cgOiBpbmRlbnQKKworICBsZXQgZ3JvdXAgPSBzeW5JRGF0dHIoc3luSUQobG51bSxsYXN0Y29sLDEpLCduYW1lJykKKworICBpZiBsaW5lID1+ICdeISEhJworICAgIHJldHVybiBpbmRlbnQKKyAgZWxzZWlmIGxpbmUgPX4gJ14vXCUoXFtbXl1dKlxdXClcPSQnCisgICAgcmV0dXJuIGluY3JlYXNlCisgIGVsc2VpZiBsaW5lID1+ICdeOicKKyAgICByZXR1cm4gaW5jcmVhc2UKKyAgZWxzZWlmIGxpbmUgPX4gJ14nLnM6dGFnLidbPX4tXVxzKlwlKFwlKGlmXHxlbHNlXHxlbHNpZlx8dW5sZXNzXHxjYXNlXHx3aGVuXHx3aGlsZVx8dW50aWxcfGZvclx8YmVnaW5cfG1vZHVsZVx8Y2xhc3NcfGRlZlwpXD5cJSguKlw8ZW5kXD5cKVxAIVx8LipkbyB8W158XSp8XHMqJFwpJworICAgIHJldHVybiBpbmNyZWFzZQorICBlbHNlaWYgbGluZSA9PSAnLSMnCisgICAgcmV0dXJuIGluY3JlYXNlCisgIGVsc2VpZiBncm91cCA9fj8gJ1x2XihoYW1sU2VsZkNsb3NlcikkJyB8fCBsaW5lID1+PyAnXiVcdiUoJy5nOmhhbWxfc2VsZl9jbG9zaW5nX3RhZ3MuJyk+JworICAgIHJldHVybiBpbmRlbnQKKyAgZWxzZWlmIGdyb3VwID1+PyAnXHZeJShoYW1sVGFnfGhhbWxBdHRyaWJ1dGVzRGVsaW1pdGVyfGhhbWxPYmplY3REZWxpbWl0ZXJ8aGFtbENsYXNzfGhhbWxJZHxodG1sVGFnTmFtZXxodG1sU3BlY2lhbFRhZ05hbWUpJCcKKyAgICByZXR1cm4gaW5jcmVhc2UKKyAgZWxzZWlmIHN5bklEYXR0cihzeW5JRCh2OmxudW0sMSwxKSwnbmFtZScpID09PyAnaGFtbFJ1YnlGaWx0ZXInCisgICAgcmV0dXJuIEdldFJ1YnlJbmRlbnQoKQorICBlbHNlCisgICAgcmV0dXJuIGluZGVudAorICBlbmRpZgorZW5kZnVuY3Rpb24KKworIiB2aW06c2V0IHN3PTI6CmRpZmYgLS1naXQgYS9ydW50aW1lL2luZGVudC9sb2d0YWxrLnZpbSBiL3J1bnRpbWUvaW5kZW50L2xvZ3RhbGsudmltCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk5ZTZlYzgKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL2luZGVudC9sb2d0YWxrLnZpbQpAQCAtMCwwICsxLDYxIEBACisiICBNYWludGFpbmVyOglQYXVsbyBNb3VyYSA8cG1vdXJhQGxvZ3RhbGsub3JnPgorIiAgUmV2aXNlZCBvbjoJMjAwOC4wNi4wMgorIiAgTGFuZ3VhZ2U6CUxvZ3RhbGsKKworIiBUaGlzIExvZ3RhbGsgaW5kZW50IGZpbGUgaXMgYSBtb2RpZmllZCB2ZXJzaW9uIG9mIHRoZSBQcm9sb2cKKyIgaW5kZW50IGZpbGUgd3JpdHRlbiBieSBHZXJnZWx5IEtvbnRyYQorCisiIE9ubHkgbG9hZCB0aGlzIGluZGVudCBmaWxlIHdoZW4gbm8gb3RoZXIgd2FzIGxvYWRlZC4KK2lmIGV4aXN0cygiYjpkaWRfaW5kZW50IikKKwlmaW5pc2gKK2VuZGlmCisKK2xldCBiOmRpZF9pbmRlbnQgPSAxCisKK3NldGxvY2FsIGluZGVudGV4cHI9R2V0TG9ndGFsa0luZGVudCgpCitzZXRsb2NhbCBpbmRlbnRrZXlzLT06LDAjCitzZXRsb2NhbCBpbmRlbnRrZXlzKz0wJSwtLDA7LD4sMCkKKworIiBPbmx5IGRlZmluZSB0aGUgZnVuY3Rpb24gb25jZS4KK2lmIGV4aXN0cygiKkdldExvZ3RhbGtJbmRlbnQiKQorCWZpbmlzaAorZW5kaWYKKworZnVuY3Rpb24hIEdldExvZ3RhbGtJbmRlbnQoKQorCSIgRmluZCBhIG5vbi1ibGFuayBsaW5lIGFib3ZlIHRoZSBjdXJyZW50IGxpbmUuCisJbGV0IHBudW0gPSBwcmV2bm9uYmxhbmsodjpsbnVtIC0gMSkKKwkiIEhpdCB0aGUgc3RhcnQgb2YgdGhlIGZpbGUsIHVzZSB6ZXJvIGluZGVudC4KKwlpZiBwbnVtID09IDAKKwkJcmV0dXJuIDAKKwllbmRpZgorCWxldCBsaW5lID0gZ2V0bGluZSh2OmxudW0pCisJbGV0IHBsaW5lID0gZ2V0bGluZShwbnVtKQorCisJbGV0IGluZCA9IGluZGVudChwbnVtKQorCSIgUHJldmlvdXMgbGluZSB3YXMgY29tbWVudCAtPiB1c2UgcHJldmlvdXMgbGluZSdzIGluZGVudAorCWlmIHBsaW5lID1+ICdeXHMqJScKKwkJcmV0dSBpbmQKKwllbmRpZgorCSIgQ2hlY2sgZm9yIGVudGl0eSBvcGVuaW5nIGRpcmVjdGl2ZSBvbiBwcmV2aW91cyBsaW5lCisJaWYgcGxpbmUgPX4gJ15ccyo6LVxzXChvYmplY3RcfHByb3RvY29sXHxjYXRlZ29yeVwpXHplKC4qLCQnCisJCWxldCBpbmQgPSBpbmQgKyAmc3cKKwkiIENoZWNrIGZvciBjbGF1c2UgaGVhZCBvbiBwcmV2aW91cyBsaW5lCisJZWxzZWlmIHBsaW5lID1+ICc6LVxzKlwoJS4qXClcPyQnCisJCWxldCBpbmQgPSBpbmQgKyAmc3cKKwkiIENoZWNrIGZvciBlbnRpdHkgY2xvc2luZyBkaXJlY3RpdmUgb24gcHJldmlvdXMgbGluZQorCWVsc2VpZiBwbGluZSA9fiAnXlxzKjotXHNlbmRfXChvYmplY3RcfHByb3RvY29sXHxjYXRlZ29yeVwpXC5cKCUuKlwpXD8kJworCQlsZXQgaW5kID0gaW5kIC0gJnN3CisJIiBDaGVjayBmb3IgZW5kIG9mIGNsYXVzZSBvbiBwcmV2aW91cyBsaW5lCisJZWxzZWlmIHBsaW5lID1+ICdcLlxzKlwoJS4qXClcPyQnCisJCWxldCBpbmQgPSBpbmQgLSAmc3cKKwllbmRpZgorCSIgQ2hlY2sgZm9yIG9wZW5pbmcgY29uZGl0aW9uYWwgb24gcHJldmlvdXMgbGluZQorCWlmIHBsaW5lID1+ICdeXHMqXChbKDtdXHwtPlwpJyAmJiBwbGluZSAhfiAnXC5ccypcKCUuKlwpXD8kJyAmJiBwbGluZSAhfiAnXi4qXChbKV1bLF1ccypcKCUuKlwpXD8kXCknCisJCWxldCBpbmQgPSBpbmQgKyAmc3cKKwllbmRpZgorCSIgQ2hlY2sgZm9yIGNsb3NpbmcgYW4gdW5jbG9zZWQgcGFyZW4sIG9yIG1pZGRsZSA7IG9yIC0+CisJaWYgbGluZSA9fiAnXlxzKlwoWyk7XVx8LT5cKScKKwkJbGV0IGluZCA9IGluZCAtICZzdworCWVuZGlmCisJcmV0dXJuIGluZAorZW5kZnVuY3Rpb24KZGlmZiAtLWdpdCBhL3J1bnRpbWUvaW5kZW50L3BocC52aW0gYi9ydW50aW1lL2luZGVudC9waHAudmltCmluZGV4IGQ3MzQ2MGQuLjYxMjRlYjIgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvaW5kZW50L3BocC52aW0KKysrIGIvcnVudGltZS9pbmRlbnQvcGhwLnZpbQpAQCAtMiwxMSArMiwxNCBAQAogIiBMYW5ndWFnZToJUEhQCiAiIEF1dGhvcjoJSm9obiBXZWxsZXN6IDxKb2huLndlbGxlc3ogKEFUKSB0ZWFzZXIgKERPVCkgZnI+CiAiIFVSTDoJCWh0dHA6Ly93d3cuMjA3MnByb2R1Y3Rpb25zLmNvbS92aW0vaW5kZW50L3BocC52aW0KLSIgTGFzdCBDaGFuZ2U6ICAyMDA3IEp1biAyNAorIiBMYXN0IENoYW5nZTogIDIwMDggSnVuZSA3dGgKICIgTmV3c2xldHRlcjogICBodHRwOi8vd3d3LjIwNzJwcm9kdWN0aW9ucy5jb20vP3RvPXBocC1pbmRlbnQtZm9yLXZpbS1uZXdzbGV0dGVyLnBocAotIiBWZXJzaW9uOgkxLjI0CisiIFZlcnNpb246CTEuMjgKICIKLSIgIFRoZSBjaGFuZ2UgbG9nIGFuZCBhbGwgdGhlIGNvbW1lbnRzIGhhdmUgYmVlbiByZW1vdmVkIGZyb20gdGhpcyBmaWxlLgorIiAgSWYgeW91IGZpbmQgYSBidWcsIHBsZWFzZSBlLW1haWwgbWUgYXQgSm9obi53ZWxsZXN6IChBVCkgdGVhc2VyIChET1QpIGZyCisiICB3aXRoIGFuIGV4YW1wbGUgb2YgY29kZSB0aGF0IGJyZWFrcyB0aGUgYWxnb3JpdGhtLgorIgorIiAgLS0tPiBUaGUgY2hhbmdlIGxvZyBhbmQgYWxsIHRoZSBjb21tZW50cyBoYXZlIGJlZW4gcmVtb3ZlZCBmcm9tIHRoaXMgZmlsZS4KICIKICIgIEZvciBhIGNvbXBsZXRlIGNoYW5nZSBsb2cgYW5kIGZ1bGx5IGNvbW1lbnRlZCBjb2RlLCBkb3dubG9hZCB0aGUgc2NyaXB0IG9uCiAiICAyMDcycHJvZHVjdGlvbnMuY29tIGF0IHRoZSBVUkkgcHJvdmlkZWQgYWJvdmUuCkBAIC0xOSwxMiArMjIsMTUgQEAKICIKICIKICIgTk9URTogVGhpcyBzY3JpcHQgbXVzdCBiZSB1c2VkIHdpdGggUEhQIHN5bnRheCBPTiBhbmQgd2l0aCB0aGUgcGhwIHN5bnRheAotIglzY3JpcHQgYnkgTHV0eiBFeW1lcnMgKCBodHRwOi8vd3d3LmlzcC5kZS9kYXRhL3BocC52aW0gKSB0aGF0J3MgdGhlIHNjcmlwdCBidW5kbGVkIHdpdGggVmltLgorIglzY3JpcHQgYnkgTHV0eiBFeW1lcnMgKGh0dHA6Ly93d3cuaXNwLmRlL2RhdGEvcGhwLnZpbSApIG9yIHdpdGggdGhlCisiCXNjcmlwdCBieSBQZXRlciBIb2RnZSAoaHR0cDovL3d3dy52aW0ub3JnL3NjcmlwdHMvc2NyaXB0LnBocD9zY3JpcHRfaWQ9MTU3MSApCisiCXRoZSBsYXRlciBpcyBidW5iZGxlZCBieSBkZWZhdWx0IHdpdGggdmltIDcuCiAiCiAiCi0iCUluIHRoZSBjYXNlIHlvdSBoYXZlIHN5bnRheCBlcnJvcnMgaW4geW91ciBzY3JpcHQgc3VjaCBhcyBlbmQgb2YgSGVyZURvYwotIgl0YWdzIG5vdCBhdCBjb2wgMSB5b3UnbGwgaGF2ZSB0byBpbmRlbnQgeW91ciBmaWxlIDIgdGltZXMgKFRoaXMgc2NyaXB0Ci0iCXdpbGwgYXV0b21hdGljYWxseSBwdXQgSGVyZURvYyBlbmQgdGFncyBhdCBjb2wgMSkuCisiCUluIHRoZSBjYXNlIHlvdSBoYXZlIHN5bnRheCBlcnJvcnMgaW4geW91ciBzY3JpcHQgc3VjaCBhcyBIZXJlRG9jIGVuZAorIglpZGVudGlmaWVycyBub3QgYXQgY29sIDEgeW91J2xsIGhhdmUgdG8gaW5kZW50IHlvdXIgZmlsZSAyIHRpbWVzIChUaGlzCisiCXNjcmlwdCB3aWxsIGF1dG9tYXRpY2FsbHkgcHV0IEhlcmVEb2MgZW5kIGlkZW50aWZpZXJzIGF0IGNvbCAxIGlmCisiCXRoZXkgYXJlIGZvbGxvd2VkIGJ5IGEgJzsnKS4KICIKICIKICIgTk9URTogSWYgeW91IGFyZSBlZGl0aW5nIGZpbGUgaW4gVW5peCBmaWxlIGZvcm1hdCBhbmQgdGhhdCAoYnkgYWNjaWRlbnQpCkBAIC0zNyw4ICs0Myw4IEBACiAiCiAiIG9yIHNpbXBseSAnbGV0JyB0aGUgb3B0aW9uIFBIUF9yZW1vdmVDUndoZW5Vbml4IHRvIDEgYW5kIHRoZSBzY3JpcHQgd2lsbAogIiBzaWxlbnRseSByZW1vdmUgdGhlbSB3aGVuIFZJTSBsb2FkIHRoaXMgc2NyaXB0IChhdCBlYWNoIGJ1ZnJlYWQpLgotCi0KKyIKKyIKICIgT3B0aW9uczogUEhQX2F1dG9mb3JtYXRjb21tZW50ID0gMCB0byBub3QgZW5hYmxlIGF1dG9mb3JtYXRpbmcgb2YgY29tbWVudCBieQogIgkJICAgIGRlZmF1bHQsIGlmIHNldCB0byAwLCB0aGlzIHNjcmlwdCB3aWxsIGxldCB0aGUgJ2Zvcm1hdG9wdGlvbnMnIHNldHRpbmcgaW50YWN0LgogIgpAQCAtNDgsNyArNTQsNyBAQAogIiBPcHRpb25zOiBQSFBfcmVtb3ZlQ1J3aGVuVW5peCA9IDEgdG8gbWFrZSB0aGUgc2NyaXB0IGF1dG9tYXRpY2FsbHkgcmVtb3ZlIENSCiAiCQkgICBhdCBlbmQgb2YgbGluZXMgKGJ5IGRlZmF1bHQgdGhpcyBvcHRpb24gaXMgdW5zZXQpLCBOT1RFIHRoYXQgeW91CiAiCQkgICBNVVNUIHJlbW92ZSBDUiB3aGVuIHRoZSBmaWxlZm9ybWF0IGlzIFVOSVggZWxzZSB0aGUgaW5kZW50YXRpb24KLSIJCSAgIHdvbid0IGJlIGNvcnJlY3QuLi4KKyIJCSAgIHdvbid0IGJlIGNvcnJlY3QhCiAiCiAiIE9wdGlvbnM6IFBIUF9CcmFjZXNBdENvZGVMZXZlbCA9IDEgdG8gaW5kZW50IHRoZSAneycgYW5kICd9JyBhdCB0aGUgc2FtZQogIgkJICAgbGV2ZWwgdGhhbiB0aGUgY29kZSB0aGV5IGNvbnRhaW4uCkBAIC02Nyw2ICs3MywxMCBAQAogIgogIgkJCU5PVEU6IFRoZSBzY3JpcHQgd2lsbCBiZSBhIGJpdCBzbG93ZXIgaWYgeW91IHVzZSB0aGlzIG9wdGlvbiBiZWNhdXNlCiAiCQkJc29tZSBvcHRpbWl6YXRpb25zIHdvbid0IGJlIGF2YWlsYWJsZS4KKyIKKyIgT3B0aW9uczogUEhQX3ZpbnRhZ2VfY2FzZV9kZWZhdWx0X2luZGVudCA9IDEgKGRlZmF1bHRzIHRvIDApIHRvIGFkZCBhIG1lYW5pbmdsZXNzIGluZGVudAorIgkJICAgIGJlZmFvcmUgJ2Nhc2U6JyBhbmQgJ2RlZmF1bHQiOicgc3RhdGVtZW50IGluIHN3aXRjaCBibG9jaworIgogCiBpZiBleGlzdHMoImI6ZGlkX2luZGVudCIpCiAgICAgZmluaXNoCkBAIC04OSwxMiArOTksMjEgQEAKICAgICBsZXQgYjpQSFBfQnJhY2VzQXRDb2RlTGV2ZWwgPSAwCiBlbmRpZgogCisKIGlmIGV4aXN0cygiUEhQX2F1dG9mb3JtYXRjb21tZW50IikKICAgICBsZXQgYjpQSFBfYXV0b2Zvcm1hdGNvbW1lbnQgPSBQSFBfYXV0b2Zvcm1hdGNvbW1lbnQKIGVsc2UKICAgICBsZXQgYjpQSFBfYXV0b2Zvcm1hdGNvbW1lbnQgPSAxCiBlbmRpZgogCitpZiBleGlzdHMoIlBIUF92aW50YWdlX2Nhc2VfZGVmYXVsdF9pbmRlbnQiKQorICAgIGxldCBiOlBIUF92aW50YWdlX2Nhc2VfZGVmYXVsdF9pbmRlbnQgPSBQSFBfdmludGFnZV9jYXNlX2RlZmF1bHRfaW5kZW50CitlbHNlCisgICAgbGV0IGI6UEhQX3ZpbnRhZ2VfY2FzZV9kZWZhdWx0X2luZGVudCA9IDAKK2VuZGlmCisKKworCiBsZXQgYjpQSFBfbGFzdGluZGVudGVkID0gMAogbGV0IGI6UEhQX2luZGVudGJlZm9yZWxhc3QgPSAwCiBsZXQgYjpQSFBfaW5kZW50aW5naHVnZSA9IDAKQEAgLTE4Miw4ICsyMDEsOCBAQAogCSAgICBlbmRpZgogCiAKLQllbHNlaWYgbGFzdGxpbmUgPX4/ICdeXGFcdyo7JCcgJiYgbGFzdGxpbmUgIX4/IHM6bm90UGhwSGVyZURvYwotCSAgICBsZXQgdG9maW5kPXN1YnN0aXR1dGUoIGxhc3RsaW5lLCAnXChbXjtdXCtcKTsnLCAnPDw8XDEkJywgJycpCisJZWxzZWlmIGxhc3RsaW5lID1+PyAnXlxhXHcqO1w9JCcgJiYgbGFzdGxpbmUgIX4/IHM6bm90UGhwSGVyZURvYyAiIFhYWCAwNjA3CisJICAgIGxldCB0b2ZpbmQ9c3Vic3RpdHV0ZSggbGFzdGxpbmUsICdcKFxhXHcqXCk7XD0nLCAnPDw8JydcXD1cMScnXFw9JCcsICcnKSAiIFhYWCAwNjA3CiAJICAgIHdoaWxlIGdldGxpbmUobG51bSkgIX4/IHRvZmluZCAmJiBsbnVtID4gMQogCQlsZXQgbG51bSA9IGxudW0gLSAxCiAJICAgIGVuZHdoaWxlCkBAIC0yMDksNyArMjI4LDcgQEAKIAogICAgIGxldCBsaW5lID0gZ2V0bGluZSgiLiIpCiAKLSAgIGlmIGxpbmUgPX4gJ1wlKCIuKlwpXEA8PS9cKlwlKC4qIlwpXEA9JyB8fCBsaW5lID1+ICdcJSgvLy4qXClcQDw9L1wqJworICAgaWYgbGluZSA9fiAnXCUoIi4qXClcQDw9L1wqXCUoLioiXClcQD0nIHx8IGxpbmUgPX4gJ1wlKFwlKC8vXHwjXCkuKlwpXEA8PS9cKicKICAgICAgICByZXR1cm4gMQogICAgZWxzZQogICAgICAgIHJldHVybiAwCkBAIC0yMTgsNyArMjM3LDcgQEAKIAogZnVuY3Rpb24hIFNraXBwbWF0Y2goKSAgIiB7e3sKICAgICBsZXQgc3lubmFtZSA9IHN5bklEYXR0cihzeW5JRChsaW5lKCIuIiksIGNvbCgiLiIpLCAwKSwgIm5hbWUiKQotICAgIGlmIHN5bm5hbWUgPT0gIkRlbGltaXRlciIgfHwgc3lubmFtZSA9PSAicGhwUmVnaW9uRGVsaW1pdGVyIiB8fCBzeW5uYW1lID1+IyAiXnBocFBhcmVudCIgfHwgc3lubmFtZSA9PSAicGhwQXJyYXlQYXJlbnMiIHx8IHN5bm5hbWUgPX4jICdecGhwXCUoQmxvY2tcfEJyYWNlXCknIHx8IHN5bm5hbWUgPT0gImphdmFTY3JpcHRCcmFjZXMiIHx8IHN5bm5hbWUgPT0gInBocENvbW1lbnQiICYmIGI6VXNlcklzVHlwaW5nQ29tbWVudAorICAgIGlmIHN5bm5hbWUgPT0gIkRlbGltaXRlciIgfHwgc3lubmFtZSA9PSAicGhwUmVnaW9uRGVsaW1pdGVyIiB8fCBzeW5uYW1lID1+IyAiXnBocFBhcmVudCIgfHwgc3lubmFtZSA9PSAicGhwQXJyYXlQYXJlbnMiIHx8IHN5bm5hbWUgPX4jICdecGhwXCUoQmxvY2tcfEJyYWNlXCknIHx8IHN5bm5hbWUgPT0gImphdmFTY3JpcHRCcmFjZXMiIHx8IHN5bm5hbWUgPX4jICJecGhwQ29tbWVudCIgJiYgYjpVc2VySXNUeXBpbmdDb21tZW50CiAJcmV0dXJuIDAKICAgICBlbHNlCiAJcmV0dXJuIDEKQEAgLTI5NSw4ICszMTQsOCBAQAogICAgIGVuZGlmCiBlbmRmdW5jdGlvbiAiIH19fQogCi1sZXQgczpub3RQaHBIZXJlRG9jID0gJ1wlKGJyZWFrXHxyZXR1cm5cfGNvbnRpbnVlXHxleGl0XCk7JwotbGV0IHM6YmxvY2tzdGFydCA9ICdcJShcJShcJSh9XHMqXClcPWVsc2VcJShcc1wrXClcPVwpXD1pZlw+XHxlbHNlXD5cfHdoaWxlXD5cfHN3aXRjaFw+XHxmb3JcJShlYWNoXClcPVw+XHxkZWNsYXJlXD5cfGNsYXNzXD5cfGludGVyZmFjZVw+XHxhYnN0cmFjdFw+XHx0cnlcPlx8Y2F0Y2hcPlx8W3wmXVwpJworbGV0IHM6bm90UGhwSGVyZURvYyA9ICdcJShicmVha1x8cmV0dXJuXHxjb250aW51ZVx8ZXhpdFx8ZWxzZVwpJworbGV0IHM6YmxvY2tzdGFydCA9ICdcJShcJShcJSh9XHMqXClcPWVsc2VcJShcc1wrXClcPVwpXD1pZlw+XHxlbHNlXD5cfHdoaWxlXD5cfHN3aXRjaFw+XHxmb3JcJShlYWNoXClcPVw+XHxkZWNsYXJlXD5cfGNsYXNzXD5cfGludGVyZmFjZVw+XHxhYnN0cmFjdFw+XHx0cnlcPlx8Y2F0Y2hcPlwpJwogCiBsZXQgczphdXRvcmVzdG9wdGlvbnMgPSAwCiBpZiAhIHM6YXV0b3Jlc3RvcHRpb25zCkBAIC0zMTAsMTEgKzMyOSwxMSBAQAogCiAJICAgIHNldGxvY2FsIGNvbW1lbnRzPXMxOi8qLG1iOiosZXg6Ki8sOi8vLDojCiAKLQkgICAgIiBzZXRsb2NhbCBmb3JtYXRvcHRpb25zLT10CisJICAgIHNldGxvY2FsIGZvcm1hdG9wdGlvbnMtPXQKIAkgICAgc2V0bG9jYWwgZm9ybWF0b3B0aW9ucys9cQogCSAgICBzZXRsb2NhbCBmb3JtYXRvcHRpb25zKz1yCiAJICAgIHNldGxvY2FsIGZvcm1hdG9wdGlvbnMrPW8KLQkgICAgIiBzZXRsb2NhbCBmb3JtYXRvcHRpb25zKz13CisJICAgIHNldGxvY2FsIGZvcm1hdG9wdGlvbnMrPXcKIAkgICAgc2V0bG9jYWwgZm9ybWF0b3B0aW9ucys9YwogCSAgICBzZXRsb2NhbCBmb3JtYXRvcHRpb25zKz1iCiAJZW5kaWYKQEAgLTM0MSw3ICszNjAsNyBAQAogICAgIGlmICFiOlBIUF9pbmRlbnRpbmdodWdlICYmIGI6UEhQX2xhc3RpbmRlbnRlZCA+IGI6UEhQX2luZGVudGJlZm9yZWxhc3QKIAlpZiBiOlBIUF9pbmRlbnRiZWZvcmVsYXN0CiAJICAgIGxldCBiOlBIUF9pbmRlbnRpbmdodWdlID0gMQotCSAgICBlY2hvbSAnTGFyZ2UgaW5kZW50aW5nIGRldGVjdGVkLCBzcGVlZCBvcHRpbWl6YXRpb25zIGVuZ2FnZWQnCisJICAgIGVjaG9tICdMYXJnZSBpbmRlbnRpbmcgZGV0ZWN0ZWQsIHNwZWVkIG9wdGltaXphdGlvbnMgZW5nYWdlZCAodjEuMjgpJwogCWVuZGlmCiAJbGV0IGI6UEhQX2luZGVudGJlZm9yZWxhc3QgPSBiOlBIUF9sYXN0aW5kZW50ZWQKICAgICBlbmRpZgpAQCAtMzgxLDcgKzQwMCw3IEBACiAJCWxldCBiOkluUEhQY29kZSA9IDEKIAkJbGV0IGI6SW5QSFBjb2RlX3RvZmluZCA9ICIiCiAKLQkJaWYgc3lubmFtZSA9PSAicGhwQ29tbWVudCIKKwkJaWYgc3lubmFtZSA9fiMgIl5waHBDb21tZW50IgogCQkgICAgbGV0IGI6VXNlcklzVHlwaW5nQ29tbWVudCA9IDEKIAkJZWxzZQogCQkgICAgbGV0IGI6VXNlcklzVHlwaW5nQ29tbWVudCA9IDAKQEAgLTM5NiwxMSArNDE1LDExIEBACiAJCWxldCBiOlVzZXJJc1R5cGluZ0NvbW1lbnQgPSAwCiAKIAkJbGV0IGxudW0gPSB2OmxudW0gLSAxCi0JCXdoaWxlIGdldGxpbmUobG51bSkgIX4/ICc8PDxcYVx3KiQnICYmIGxudW0gPiAxCisJCXdoaWxlIGdldGxpbmUobG51bSkgIX4/ICc8PDwnJ1w9XGFcdyonJ1w9JCcgJiYgbG51bSA+IDEKIAkJICAgIGxldCBsbnVtID0gbG51bSAtIDEKIAkJZW5kd2hpbGUKIAotCQlsZXQgYjpJblBIUGNvZGVfdG9maW5kID0gc3Vic3RpdHV0ZSggZ2V0bGluZShsbnVtKSwgJ14uKjw8PFwoXGFcdypcKVxjJywgJ15cXHMqXDE7JCcsICcnKQorCQlsZXQgYjpJblBIUGNvZGVfdG9maW5kID0gc3Vic3RpdHV0ZSggZ2V0bGluZShsbnVtKSwgJ14uKjw8PCcnXD1cKFxhXHcqXCknJ1w9JCcsICdeXFxzKlwxO1xcPSQnLCAnJykgIiBYWFggMDYwNwogCSAgICBlbmRpZgogCWVsc2UKIAkgICAgbGV0IGI6SW5QSFBjb2RlID0gMApAQCAtNDUzLDkgKzQ3Miw5IEBACiAJCWxldCBiOkluUEhQY29kZV9hbmRfc2NyaXB0ID0gMQogCSAgICBlbmRpZgogCi0JZWxzZWlmIGxhc3RfbGluZSA9fj8gJzw8PFxhXHcqJCcKKwllbHNlaWYgbGFzdF9saW5lID1+PyAnPDw8JydcPVxhXHcqJydcPSQnICIgWFhYIDA2MDcKIAkgICAgbGV0IGI6SW5QSFBjb2RlID0gMAotCSAgICBsZXQgYjpJblBIUGNvZGVfdG9maW5kID0gc3Vic3RpdHV0ZSggbGFzdF9saW5lLCAnXi4qPDw8XChcYVx3KlwpXGMnLCAnXlxccypcMTskJywgJycpCisJICAgIGxldCBiOkluUEhQY29kZV90b2ZpbmQgPSBzdWJzdGl0dXRlKCBsYXN0X2xpbmUsICdeLio8PDwnJ1w9XChcYVx3KlwpJydcPSQnLCAnXlxccypcMTtcXD0kJywgJycpICIgWFhYIDA2MDcKIAogCWVsc2VpZiAhVXNlcklzRWRpdGluZyAmJiBjbGluZSA9fiAnXlxzKi9cKlwlKC4qXCovXClcQCEnICYmIGdldGxpbmUodjpsbnVtICsgMSkgIX4gJ15ccypcKicKIAkgICAgbGV0IGI6SW5QSFBjb2RlID0gMApAQCAtNTEzLDcgKzUzMiw3IEBACiAJcmV0dXJuIDAKICAgICBlbmRpZgogCi0gICAgaWYgY2xpbmUgPX4/ICdeXHMqXGFcdyo7JCcgJiYgY2xpbmUgIX4/IHM6bm90UGhwSGVyZURvYworICAgIGlmIGNsaW5lID1+PyAnXlxzKlxhXHcqOyRcfF5cYVx3KiQnICYmIGNsaW5lICF+PyBzOm5vdFBocEhlcmVEb2MgIiBYWFggMDYwNwogCXJldHVybiAwCiAgICAgZW5kaWYgIiB9fX0KIApAQCAtNTU4LDcgKzU3Nyw3IEBACiAKICAgICBsZXQgZGVmYXVsdE9SY2FzZSA9ICdeXHMqXCUoZGVmYXVsdFx8Y2FzZVwpLio6JwogCi0gICAgaWYgbGFzdF9saW5lID1+ICdbO31dJy5lbmRsaW5lICYmIGxhc3RfbGluZSAhfiMgZGVmYXVsdE9SY2FzZQorICAgIGlmIGxhc3RfbGluZSA9fiAnWzt9XScuZW5kbGluZSAmJiBsYXN0X2xpbmUgIX4gJ14pJyAmJiBsYXN0X2xpbmUgIX4jIGRlZmF1bHRPUmNhc2UgIiBBZGRlZCAmJiBsYXN0X2xpbmUgIX4gJ14pJyBvbiAyMDA3LTEyLTMwCiAJaWYgaW5kPT1iOlBIUF9kZWZhdWx0X2luZGVudGluZwogCSAgICByZXR1cm4gYjpQSFBfZGVmYXVsdF9pbmRlbnRpbmcKIAllbHNlaWYgYjpQSFBfaW5kZW50aW5naHVnZSAmJiBpbmQ9PWI6UEhQX0N1cnJlbnRJbmRlbnRMZXZlbCAmJiBjbGluZSAhfiMgJ15ccypcJShlbHNlXHxcJShjYXNlXHxkZWZhdWx0XCkuKjpcfFt9KV07XD1cKScgJiYgbGFzdF9saW5lICF+IyAnXlxzKlwlKFwlKH1ccypcKVw9ZWxzZVwpJyAmJiBnZXRsaW5lKEdldExhc3RSZWFsQ29kZUxOdW0obG51bSAtIDEpKT1+JzsnLmVuZGxpbmUKQEAgLTU2OCwyMCArNTg3LDIwIEBACiAKICAgICBsZXQgTGFzdExpbmVDbG9zZWQgPSAwCiAKLSAgICBsZXQgdGVybWluYXRlZCA9ICdcJSg7XCUoXHMqPz5cKVw9XHw8PDxcYVx3Klx8fVwpJy5lbmRsaW5lCisgICAgbGV0IHRlcm1pbmF0ZWQgPSAnXCUoO1wlKFxzKj8+XClcPVx8PDw8JydcPVxhXHcqJydcPSRcfF5ccyp9XCknLmVuZGxpbmUgIiBYWFggMDYwNwogCiAgICAgbGV0IHVuc3RhdGVkICAgPSAnXCUoXlxzKicuczpibG9ja3N0YXJ0LicuKilcfFwlKC8vLipcKVxAPCFcPGUnLidsc2VcPlwpJy5lbmRsaW5lCiAKICAgICBpZiBpbmQgIT0gYjpQSFBfZGVmYXVsdF9pbmRlbnRpbmcgJiYgY2xpbmUgPX4jICdeXHMqZWxzZVwlKGlmXClcPVw+JwogCWxldCBiOlBIUF9DdXJyZW50SW5kZW50TGV2ZWwgPSBiOlBIUF9kZWZhdWx0X2luZGVudGluZwogCXJldHVybiBpbmRlbnQoRmluZFRoZUlmT2ZBbkVsc2UodjpsbnVtLCAxKSkKLSAgICBlbHNlaWYgY2xpbmUgPX4gJ15ccyp7JworICAgIGVsc2VpZiBjbGluZSA9fiAnXlxzKilcPVxzKnsnCiAJbGV0IHByZXZpb3VzX2xpbmUgPSBsYXN0X2xpbmUKIAlsZXQgbGFzdF9saW5lX251bSA9IGxudW0KIAogCXdoaWxlIGxhc3RfbGluZV9udW0gPiAxCiAKLQkgICAgaWYgcHJldmlvdXNfbGluZSA9fiAnXlxzKlwlKCcgLiBzOmJsb2Nrc3RhcnQgLiAnXHxcJShbYS16QS1aXVxzKlwpKmZ1bmN0aW9uXCknICYmIHByZXZpb3VzX2xpbmUgIX4gJ15ccypbfCZdJworCSAgICBpZiBwcmV2aW91c19saW5lID1+ICdeXHMqXCUoJyAuIHM6YmxvY2tzdGFydCAuICdcfFwlKFthLXpBLVpdXHMqXCkqZnVuY3Rpb25cKScKIAogCQlsZXQgaW5kID0gaW5kZW50KGxhc3RfbGluZV9udW0pCiAKQEAgLTU5NiwxMSArNjE1LDExIEBACiAJICAgIGxldCBwcmV2aW91c19saW5lID0gZ2V0bGluZShsYXN0X2xpbmVfbnVtKQogCWVuZHdoaWxlCiAKLSAgICBlbHNlaWYgbGFzdF9saW5lID1+IyB1bnN0YXRlZCAmJiBjbGluZSAhfiAnXlxzKntcfF5ccyopO1w9Jy5lbmRsaW5lCi0JbGV0IGluZCA9IGluZCArICZzdworICAgIGVsc2VpZiBsYXN0X2xpbmUgPX4jIHVuc3RhdGVkICYmIGNsaW5lICF+ICdeXHMqKTtcPScuZW5kbGluZQorCWxldCBpbmQgPSBpbmQgKyAmc3cgIiB3ZSBpbmRlbnQgb25lIGxldmVsIGZ1cnRoZXIgd2hlbiB0aGUgcHJlY2VkaW5nIGxpbmUgaXMgbm90IHN0YXRlZAogCXJldHVybiBpbmQKIAotICAgIGVsc2VpZiBpbmQgIT0gYjpQSFBfZGVmYXVsdF9pbmRlbnRpbmcgJiYgbGFzdF9saW5lID1+IHRlcm1pbmF0ZWQKKyAgICBlbHNlaWYgKGluZCAhPSBiOlBIUF9kZWZhdWx0X2luZGVudGluZyB8fCBsYXN0X2xpbmUgPX4gJ14pJyApICYmIGxhc3RfbGluZSA9fiB0ZXJtaW5hdGVkICIgQWRkZWQgfHwgbGFzdF9saW5lID1+ICdeKScgb24gMjAwNy0xMi0zMCAoYXJyYXkgaW5kZW50aW5nIFtycGJsZW0gYnJva2Ugb3RoZXIgdGhpbmdzKQogCWxldCBwcmV2aW91c19saW5lID0gbGFzdF9saW5lCiAJbGV0IGxhc3RfbGluZV9udW0gPSBsbnVtCiAJbGV0IExhc3RMaW5lQ2xvc2VkID0gMQpAQCAtNjQyLDcgKzY2MSw3IEBACiAJCWVuZGlmCiAKIAkJaWYgb25lX2FoZWFkX2luZGVudCA9PSB0d29fYWhlYWRfaW5kZW50IHx8IGxhc3RfbGluZV9udW0gPCAxCi0JCSAgICBpZiBwcmV2aW91c19saW5lID1+IyAnWzt9XScuZW5kbGluZSB8fCBsYXN0X2xpbmVfbnVtIDwgMQorCQkgICAgaWYgcHJldmlvdXNfbGluZSA9fiMgJ1wlKDtcfF5ccyp9XCknLmVuZGxpbmUgfHwgbGFzdF9saW5lX251bSA8IDEKIAkJCWJyZWFrCiAJCSAgICBlbmRpZgogCQllbmRpZgpAQCAtNjgwLDggKzY5OSw5IEBACiAJCWxldCBpbmQgPSBpbmQgKyAmc3cKIAkgICAgZW5kaWYKIAotCSAgICBpZiBiOlBIUF9CcmFjZXNBdENvZGVMZXZlbCB8fCBjbGluZSAhfiMgZGVmYXVsdE9SY2FzZQorCSAgICBpZiBiOlBIUF9CcmFjZXNBdENvZGVMZXZlbCB8fCBiOlBIUF92aW50YWdlX2Nhc2VfZGVmYXVsdF9pbmRlbnQgPT0gMSB8fCBjbGluZSAhfiMgZGVmYXVsdE9SY2FzZQogCQlsZXQgYjpQSFBfQ3VycmVudEluZGVudExldmVsID0gaW5kCisKIAkJcmV0dXJuIGluZAogCSAgICBlbmRpZgogCkBAIC02OTIsMjEgKzcxMiwyMyBAQAogCSAgICBpZiBvcGVuZWRwYXJlbnQgIT0gbG51bQogCQlsZXQgaW5kID0gaW5kZW50KG9wZW5lZHBhcmVudCkKIAkgICAgZW5kaWYKLQotCi0JZWxzZWlmIGNsaW5lICF+ICdeXHMqeycgJiYgcGxpbmUgPX4gJ1wlKDtcJShccyo/PlwpXD1cfDw8PFxhXHcqXHx7XHxeXHMqJy5zOmJsb2Nrc3RhcnQuJ1xzKiguKilcKScuZW5kbGluZS4nXHxeXHMqfVx8Jy5kZWZhdWx0T1JjYXNlCi0KKwllbHNlaWYgbGFzdF9saW5lID1+ICdeXHMqJy5zOmJsb2Nrc3RhcnQKIAkgICAgbGV0IGluZCA9IGluZCArICZzdwogCisJZWxzZWlmIGxhc3RfbGluZSA9fiMgZGVmYXVsdE9SY2FzZQorCSAgICBsZXQgaW5kID0gaW5kICsgJnN3CisKKworCWVsc2VpZiBwbGluZSA9fiAnXCUoO1wlKFxzKj8+XClcPVx8PDw8JydcPVxhXHcqJydcPSRcfF5ccyp9XHx7XCknLmVuZGxpbmUgLiAnXHwnIC4gZGVmYXVsdE9SY2FzZQorCisJICAgIGxldCBpbmQgPSBpbmQgKyAmc3cKIAllbmRpZgogCi0gICAgZWxzZWlmIGxhc3RfbGluZSA9fiMgZGVmYXVsdE9SY2FzZQotCWxldCBpbmQgPSBpbmQgKyAmc3cKICAgICBlbmRpZgogCiAgICAgaWYgY2xpbmUgPX4gICdeXHMqKTtcPScKIAlsZXQgaW5kID0gaW5kIC0gJnN3Ci0gICAgZWxzZWlmIGNsaW5lID1+IyBkZWZhdWx0T1JjYXNlCisgICAgZWxzZWlmIGNsaW5lID1+IyBkZWZhdWx0T1JjYXNlICYmIGxhc3RfbGluZSAhfiMgZGVmYXVsdE9SY2FzZQogCWxldCBpbmQgPSBpbmQgLSAmc3cKIAogICAgIGVuZGlmCmRpZmYgLS1naXQgYS9ydW50aW1lL2luZGVudC9ydWJ5LnZpbSBiL3J1bnRpbWUvaW5kZW50L3J1YnkudmltCmluZGV4IDBmMmRlNTYuLjhhNTZlNTQgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvaW5kZW50L3J1YnkudmltCisrKyBiL3J1bnRpbWUvaW5kZW50L3J1YnkudmltCkBAIC0zNCwyNiArMzQsMjYgQEAKICIgPT09PT09PT09PT09CiAKICIgUmVnZXggb2Ygc3ludGF4IGdyb3VwIG5hbWVzIHRoYXQgYXJlIG9yIGRlbGltaXQgc3RyaW5nIG9yIGFyZSBjb21tZW50cy4KLWxldCBzOnN5bmdfc3RyY29tID0gJ1w8cnVieVwlKFN0cmluZ1x8U3RyaW5nRGVsaW1pdGVyXHxBU0NJSUNvZGUnIC4KLSAgICAgIFwgJ1x8SW50ZXJwb2xhdGlvblx8Tm9JbnRlcnBvbGF0aW9uXHxFc2NhcGVcfENvbW1lbnRcfERvY3VtZW50YXRpb25cKVw+JworbGV0IHM6c3luZ19zdHJjb20gPSAnXDxydWJ5XCUoU3RyaW5nXHxTdHJpbmdFc2NhcGVcfEFTQ0lJQ29kZScgLgorICAgICAgXCAnXHxJbnRlcnBvbGF0aW9uXHxOb0ludGVycG9sYXRpb25cfENvbW1lbnRcfERvY3VtZW50YXRpb25cKVw+JwogCiAiIFJlZ2V4IG9mIHN5bnRheCBncm91cCBuYW1lcyB0aGF0IGFyZSBzdHJpbmdzLgogbGV0IHM6c3luZ19zdHJpbmcgPQotICAgICAgXCAnXDxydWJ5XCUoU3RyaW5nXHxTdHJpbmdEZWxpbWl0ZXJcfEludGVycG9sYXRpb25cfE5vSW50ZXJwb2xhdGlvblx8RXNjYXBlXClcPicKKyAgICAgIFwgJ1w8cnVieVwlKFN0cmluZ1x8SW50ZXJwb2xhdGlvblx8Tm9JbnRlcnBvbGF0aW9uXHxTdHJpbmdFc2NhcGVcKVw+JwogCiAiIFJlZ2V4IG9mIHN5bnRheCBncm91cCBuYW1lcyB0aGF0IGFyZSBzdHJpbmdzIG9yIGRvY3VtZW50YXRpb24uCiBsZXQgczpzeW5nX3N0cmluZ2RvYyA9Ci0gIFwnXDxydWJ5XCUoU3RyaW5nXHxTdHJpbmdEZWxpbWl0ZXJcfEludGVycG9sYXRpb25cfE5vSW50ZXJwb2xhdGlvblx8RXNjYXBlXHxEb2N1bWVudGF0aW9uXClcPicKKyAgXCdcPHJ1YnlcJShTdHJpbmdcfEludGVycG9sYXRpb25cfE5vSW50ZXJwb2xhdGlvblx8U3RyaW5nRXNjYXBlXHxEb2N1bWVudGF0aW9uXClcPicKIAogIiBFeHByZXNzaW9uIHVzZWQgdG8gY2hlY2sgd2hldGhlciB3ZSBzaG91bGQgc2tpcCBhIG1hdGNoIHdpdGggc2VhcmNocGFpcigpLgogbGV0IHM6c2tpcF9leHByID0KLSAgICAgIFwgInN5bklEYXR0cihzeW5JRChsaW5lKCcuJyksY29sKCcuJyksMCksJ25hbWUnKSA9fiAnIi5zOnN5bmdfc3RyY29tLiInIgorICAgICAgXCAic3luSURhdHRyKHN5bklEKGxpbmUoJy4nKSxjb2woJy4nKSwxKSwnbmFtZScpID1+ICciLnM6c3luZ19zdHJjb20uIiciCiAKICIgUmVnZXggdXNlZCBmb3Igd29yZHMgdGhhdCwgYXQgdGhlIHN0YXJ0IG9mIGEgbGluZSwgYWRkIGEgbGV2ZWwgb2YgaW5kZW50LgogbGV0IHM6cnVieV9pbmRlbnRfa2V5d29yZHMgPSAnXlxzKlx6c1w8XCUobW9kdWxlXHxjbGFzc1x8ZGVmXHxpZlx8Zm9yJyAuCiAgICAgICBcICdcfHdoaWxlXHx1bnRpbFx8ZWxzZVx8ZWxzaWZcfGNhc2VcfHdoZW5cfHVubGVzc1x8YmVnaW5cfGVuc3VyZScgLgogICAgICAgXCAnXHxyZXNjdWVcKVw+JyAuCi0gICAgICBcICdcfFwlKFsqKy8sPTotXVx8PDxcfD4+XClccypcenMnIC4KKyAgICAgIFwgJ1x8XCUoWyorLyw9LV1cfDw8XHw+Plx8OlxzXClccypcenMnIC4KICAgICAgIFwgICAgJ1w8XCUoaWZcfGZvclx8d2hpbGVcfHVudGlsXHxjYXNlXHx1bmxlc3NcfGJlZ2luXClcPicKIAogIiBSZWdleCB1c2VkIGZvciB3b3JkcyB0aGF0LCBhdCB0aGUgc3RhcnQgb2YgYSBsaW5lLCByZW1vdmUgYSBsZXZlbCBvZiBpbmRlbnQuCkBAIC02NSw3ICs2NSw3IEBACiAiIFRPRE86IHRoZSBkbyBoZXJlIHNob3VsZCBiZSByZXN0cmljdGVkIHNvbWV3aGF0IChvbmx5IGF0IGVuZCBvZiBsaW5lKT8KIGxldCBzOmVuZF9zdGFydF9yZWdleCA9ICdeXHMqXHpzXDxcJShtb2R1bGVcfGNsYXNzXHxkZWZcfGlmXHxmb3InIC4KICAgICAgIFwgJ1x8d2hpbGVcfHVudGlsXHxjYXNlXHx1bmxlc3NcfGJlZ2luXClcPicgLgotICAgICAgXCAnXHxcJShbKisvLD06LV1cfDw8XHw+PlwpXHMqXHpzJyAuCisgICAgICBcICdcfFwlKFsqKy8sPS1dXHw8PFx8Pj5cfDpcc1wpXHMqXHpzJyAuCiAgICAgICBcICAgICdcPFwlKGlmXHxmb3JcfHdoaWxlXHx1bnRpbFx8Y2FzZVx8dW5sZXNzXHxiZWdpblwpXD4nIC4KICAgICAgIFwgJ1x8XDxkb1w+JwogCkBAIC03OCwxNSArNzgsMTUgQEAKICIgRXhwcmVzc2lvbiB1c2VkIGZvciBzZWFyY2hwYWlyKCkgY2FsbCBmb3IgZmluZGluZyBtYXRjaCBmb3IgJ2VuZCcga2V5d29yZC4KIGxldCBzOmVuZF9za2lwX2V4cHIgPSBzOnNraXBfZXhwciAuCiAgICAgICBcICcgfHwgKGV4cGFuZCgiPGN3b3JkPiIpID09ICJkbyInIC4KLSAgICAgIFwgJyAmJiBnZXRsaW5lKCIuIikgPX4gIl5cXHMqXFw8d2hpbGVcXHx1bnRpbFxcfGZvclxcPiIpJworICAgICAgXCAnICYmIGdldGxpbmUoIi4iKSA9fiAiXlxccypcXDxcXCh3aGlsZVxcfHVudGlsXFx8Zm9yXFwpXFw+IiknCiAKICIgUmVnZXggdGhhdCBkZWZpbmVzIGNvbnRpbnVhdGlvbiBsaW5lcywgbm90IGluY2x1ZGluZyAoLCB7LCBvciBbLgotbGV0IHM6Y29udGludWF0aW9uX3JlZ2V4ID0gJ1wlKFtcXCorLy4sPTotXVx8XFdbfCY/XVx8fHxcfCYmXClccypcJSgjLipcKVw9JCcKK2xldCBzOmNvbnRpbnVhdGlvbl9yZWdleCA9ICdcJShbXFwqKy8uLDpdXHxcJSg8JVwpXEA8IVs9LV1cfFxXW3wmP11cfHx8XHwmJlwpXHMqXCUoIy4qXClcPSQnCiAKICIgUmVnZXggdGhhdCBkZWZpbmVzIGNvbnRpbnVhdGlvbiBsaW5lcy4KICIgVE9ETzogdGhpcyBuZWVkcyB0byBkZWFsIHdpdGggaWYgLi4uOiBhbmQgc28gb24KIGxldCBzOmNvbnRpbnVhdGlvbl9yZWdleDIgPQotICAgICAgXCAnXCUoW1xcKisvLiw9Oih7Wy1dXHxcV1t8Jj9dXHx8fFx8JiZcKVxzKlwlKCMuKlwpXD0kJworICAgICAgXCAnXCUoW1xcKisvLiw6KHtbXVx8XCUoPCVcKVxAPCFbPS1dXHxcV1t8Jj9dXHx8fFx8JiZcKVxzKlwlKCMuKlwpXD0kJwogCiAiIFJlZ2V4IHRoYXQgZGVmaW5lcyBibG9ja3MuCiBsZXQgczpibG9ja19yZWdleCA9CkBAIC05NywxNyArOTcsMTcgQEAKIAogIiBDaGVjayBpZiB0aGUgY2hhcmFjdGVyIGF0IGxudW06Y29sIGlzIGluc2lkZSBhIHN0cmluZywgY29tbWVudCwgb3IgaXMgYXNjaWkuCiBmdW5jdGlvbiBzOklzSW5TdHJpbmdPckNvbW1lbnQobG51bSwgY29sKQotICByZXR1cm4gc3luSURhdHRyKHN5bklEKGE6bG51bSwgYTpjb2wsIDApLCAnbmFtZScpID1+IHM6c3luZ19zdHJjb20KKyAgcmV0dXJuIHN5bklEYXR0cihzeW5JRChhOmxudW0sIGE6Y29sLCAxKSwgJ25hbWUnKSA9fiBzOnN5bmdfc3RyY29tCiBlbmRmdW5jdGlvbgogCiAiIENoZWNrIGlmIHRoZSBjaGFyYWN0ZXIgYXQgbG51bTpjb2wgaXMgaW5zaWRlIGEgc3RyaW5nLgogZnVuY3Rpb24gczpJc0luU3RyaW5nKGxudW0sIGNvbCkKLSAgcmV0dXJuIHN5bklEYXR0cihzeW5JRChhOmxudW0sIGE6Y29sLCAwKSwgJ25hbWUnKSA9fiBzOnN5bmdfc3RyaW5nCisgIHJldHVybiBzeW5JRGF0dHIoc3luSUQoYTpsbnVtLCBhOmNvbCwgMSksICduYW1lJykgPX4gczpzeW5nX3N0cmluZwogZW5kZnVuY3Rpb24KIAogIiBDaGVjayBpZiB0aGUgY2hhcmFjdGVyIGF0IGxudW06Y29sIGlzIGluc2lkZSBhIHN0cmluZyBvciBkb2N1bWVudGF0aW9uLgogZnVuY3Rpb24gczpJc0luU3RyaW5nT3JEb2N1bWVudGF0aW9uKGxudW0sIGNvbCkKLSAgcmV0dXJuIHN5bklEYXR0cihzeW5JRChhOmxudW0sIGE6Y29sLCAwKSwgJ25hbWUnKSA9fiBzOnN5bmdfc3RyaW5nZG9jCisgIHJldHVybiBzeW5JRGF0dHIoc3luSUQoYTpsbnVtLCBhOmNvbCwgMSksICduYW1lJykgPX4gczpzeW5nX3N0cmluZ2RvYwogZW5kZnVuY3Rpb24KIAogIiBGaW5kIGxpbmUgYWJvdmUgJ2xudW0nIHRoYXQgaXNuJ3QgZW1wdHksIGluIGEgY29tbWVudCwgb3IgaW4gYSBzdHJpbmcuCkBAIC0yNTksNiArMjU5LDExIEBACiAgICIgRmluZCBhIG5vbi1ibGFuaywgbm9uLW11bHRpLWxpbmUgc3RyaW5nIGxpbmUgYWJvdmUgdGhlIGN1cnJlbnQgbGluZS4KICAgbGV0IGxudW0gPSBzOlByZXZOb25CbGFua05vblN0cmluZyh2OmxudW0gLSAxKQogCisgICIgSWYgdGhlIGxpbmUgaXMgZW1wdHkgYW5kIGluc2lkZSBhIHN0cmluZywgdXNlIHRoZSBwcmV2aW91cyBsaW5lLgorICBpZiBsaW5lID1+ICdeXHMqJCcgJiYgbG51bSAhPSBwcmV2bm9uYmxhbmsodjpsbnVtIC0gMSkKKyAgICByZXR1cm4gaW5kZW50KHByZXZub25ibGFuayh2OmxudW0pKQorICBlbmRpZgorCiAgICIgQXQgdGhlIHN0YXJ0IG9mIHRoZSBmaWxlIHVzZSB6ZXJvIGluZGVudC4KICAgaWYgbG51bSA9PSAwCiAgICAgcmV0dXJuIDAKZGlmZiAtLWdpdCBhL3J1bnRpbWUvaW5kZW50L3Nhc3MudmltIGIvcnVudGltZS9pbmRlbnQvc2Fzcy52aW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDVjYTUwZgotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvaW5kZW50L3Nhc3MudmltCkBAIC0wLDAgKzEsMzkgQEAKKyIgVmltIGluZGVudCBmaWxlCisiIExhbmd1YWdlOglTQVNTCisiIE1haW50YWluZXI6CVRpbSBQb3BlIDx2aW1OT1NQQU1AdHBvcGUuaW5mbz4KKyIgTGFzdCBDaGFuZ2U6CTIwMDcgRGVjIDE2CisKK2lmIGV4aXN0cygiYjpkaWRfaW5kZW50IikKKyAgZmluaXNoCitlbmRpZgorbGV0IGI6ZGlkX2luZGVudCA9IDEKKworc2V0bG9jYWwgYXV0b2luZGVudCBzdz0yIGV0CitzZXRsb2NhbCBpbmRlbnRleHByPUdldFNhc3NJbmRlbnQoKQorc2V0bG9jYWwgaW5kZW50a2V5cz1vLE8sKjxSZXR1cm4+LDw6PiwhXkYKKworIiBPbmx5IGRlZmluZSB0aGUgZnVuY3Rpb24gb25jZS4KK2lmIGV4aXN0cygiKkdldFNhc3NJbmRlbnQiKQorICBmaW5pc2gKK2VuZGlmCisKK2xldCBzOnByb3BlcnR5ID0gJ15ccyo6XHxeXHMqW1s6YWxudW06XS1dXCs6JworCitmdW5jdGlvbiEgR2V0U2Fzc0luZGVudCgpCisgIGxldCBsbnVtID0gcHJldm5vbmJsYW5rKHY6bG51bS0xKQorICBsZXQgbGluZSA9IHN1YnN0aXR1dGUoZ2V0bGluZShsbnVtKSwnXHNcKyQnLCcnLCcnKQorICBsZXQgY2xpbmUgPSBzdWJzdGl0dXRlKHN1YnN0aXR1dGUoZ2V0bGluZSh2OmxudW0pLCdcc1wrJCcsJycsJycpLCdeXHNcKycsJycsJycpCisgIGxldCBsYXN0Y29sID0gc3RybGVuKGxpbmUpCisgIGxldCBsaW5lID0gc3Vic3RpdHV0ZShsaW5lLCdeXHNcKycsJycsJycpCisgIGxldCBpbmRlbnQgPSBpbmRlbnQobG51bSkKKyAgbGV0IGNpbmRlbnQgPSBpbmRlbnQodjpsbnVtKQorICBpZiBsaW5lICF+IHM6cHJvcGVydHkgJiYgY2xpbmUgPX4gczpwcm9wZXJ0eQorICAgIHJldHVybiBpbmRlbnQgKyAmc3cKKyAgImVsc2VpZiBsaW5lID1+IHM6cHJvcGVydHkgJiYgY2xpbmUgIX4gczpwcm9wZXJ0eQorICAgICJyZXR1cm4gaW5kZW50IC0gJnN3CisgIGVsc2UKKyAgICByZXR1cm4gLTEKKyAgZW5kaWYKK2VuZGZ1bmN0aW9uCisKKyIgdmltOnNldCBzdz0yOgpkaWZmIC0tZ2l0IGEvcnVudGltZS9rZXltYXAvYnVsZ2FyaWFuLWJkcy52aW0gYi9ydW50aW1lL2tleW1hcC9idWxnYXJpYW4tYmRzLnZpbQppbmRleCBiYjc4OWE5Li5iZjgzN2M4IDEwMDY0NAotLS0gYS9ydW50aW1lL2tleW1hcC9idWxnYXJpYW4tYmRzLnZpbQorKysgYi9ydW50aW1lL2tleW1hcC9idWxnYXJpYW4tYmRzLnZpbQpAQCAtMSwzMSArMSwzOSBAQAotIiBWaW0ga2V5bWFwIGZpbGUgZm9yIEJ1bGdhcmlhbiBhbmQgUnVzc2lhbiBjaGFyYWN0ZXJzLCBgYmRzJyBsYXlvdXQuCi0iIENhbiBiZSB1c2VkIHdpdGggdXRmLTggb3IgY3AxMjUxIGZpbGUgZW5jb2RpbmdzLgotIiBUaGlzIGZpbGUgaXRzZWxmIGlzIGluIHV0Zi04CisiIFZpbSBrZXltYXAgZmlsZSBmb3IgQnVsZ2FyaWFuIGFuZCBSdXNzaWFuIGNoYXJhY3RlcnMsICJiZHMiIGxheW91dC4KKyIgTW9zdCBvZiBpdCBjYW4gYmUgdXNlZCB3aXRoIGJvdGggdXRmLTggYW5kIGNwMTI1MSBmaWxlIGVuY29kaW5ncywgZXhjZXB0CisiIHRoZSBhY2NlbnRlZCB2b3dlbHMgd2hpY2ggY2FuIG9ubHkgYmUgc3RvcmVkIGluIHV0Zi04LgorIiBUaGlzIGZpbGUgaXRzZWxmIGlzIGluIHV0Zi04LgogCiAiIE1haW50YWluZXI6IEJveWtvIEJhbnRjaGV2IDxib3lrb2JiQGdtYWlsLmNvbT4KLSIgVVJJOiBodHRwOi8vd3d3Lm1hdGguYmFzLmJnL3NvZnRlbmcvYmFudGNoZXYvbWlzYy92aW0vYnVsZ2FyaWFuLWJkcy52aW0KLSIgTGFzdCBDaGFuZ2VkOiAyMDA2IE9jdCAxOAorIiBVUkk6IGh0dHA6Ly93d3cubWF0aC5iYXMuYmcvYmFudGNoZXYvdmltL2J1bGdhcmlhbi1iZHMudmltCisiIExhc3QgQ2hhbmdlZDogMjAwOCBKdW5lIDI4CiAKLSIgVGhpcyBrZXltYXAgY29ycmVzcG9uZHMgdG8gd2hhdCBpcyBjYWxsZWQgQnVsZ2FyaWFuIHN0YW5kYXJkLAotIiBvciBCRFMgKNCR0JTQoSkgdHlwZXdyaXRlciBrZXlib2FyZCBsYXlvdXQuCi0iIEluIGFkZGl0aW9uIHRvIHRoZSBCdWxnYXJpYW4gYWxwaGFiZXQsIEJEUyBwcmVzY3JpYmVzIHRoZSBwcmVzZW5jZQotIiBvZiB0aGUgZm9sbG93aW5nIGNoYXJhY3RlcnM6Ci0iICAgICDigJQgIFRoZSBDeXJpbGxpYyBsZXR0ZXJzINCtIChjYXBpdGFsKSwgYW5kINGLIGFuZCDRjSAoc21hbGwpCi0iICAgICAgICAodGhlc2UgYXJlIHByZXNlbnQgaW4gdGhlIFJ1c3NpYW4gYWxwaGFiZXQpLgotIiAgICAg4oCUICBUaGUgbGF0aW4gY2FwaXRhbCBsZXR0ZXJzIEkgYW5kIFYgKHRoZXNlIGFyZSB1c2VkIHRvIHR5cGUKLSIgICAgICAgIFJvbWFuIG51bWVyYWxzIHdpdGhvdXQgaGF2aW5nIHRvIGxlYXZlIEN5cmlsbGljIG1vZGUpLgotIiAgICAg4oCUICDigJ4gYW5kIOKAnCAoQnVsZ2FyaWFuIHF1b3RhdGlvbiBzdHlsZSksIGFuZCDCqyBhbmQgwrsgKFJ1c3NpYW4gcXVvdGF0aW9uCi0iICAgICAgICBzdHlsZSkuCi0iICAgICDigJQgIMKnLCDihJYsIOKAlCwg4oCiLCDCtywgwrEsIMKsLCDCpCwgYW5kIOKCrAorIiBUaGlzIGtleW1hcCBjb3JyZXNwb25kcyB0byB3aGF0IGlzIGNhbGxlZCBCdWxnYXJpYW4gc3RhbmRhcmQgdHlwZXdyaXRlcgorIiBrZXlib2FyZCBsYXlvdXQgKEJEUywg0JHQlNChKS4KICIKLSIgU29tZSBwdW5jdHVhdGlvbiBjaGFyYWN0ZXJzIHRoYXQgYXJlIHByZXNlbnQgaW4gYXNjaWkgYXJlIG1hcHBlZCBpbiBCRFMKLSIgdG8ga2V5cyBkaWZmZXJlbnQgZnJvbSB0aGUgb25lcyB0aGV5IG9jY3VweSBpbiB0aGUgcXdlcnR5IGxheW91dCwgYmVjYXVzZQotIiB0aGUgbGF0dGVyIGFyZSB1c2VkIHRvIHR5cGUgb3RoZXIgY2hhcmFjdGVycy4KKyIgTm90ZSB0aGF0LCBpbiBhZGRpdGlvbiB0byB0aGUgQnVsZ2FyaWFuIGFscGhhYmV0LCB0aGUgQkRTIGxheW91dCBwcmVzY3JpYmVzCisiIHRoZSBwcmVzZW5jZSBvZiB0aGUgZm9sbG93aW5nIGNoYXJhY3RlcnM6CisiICAgICDigJQgIFRoZSBSdXNzaWFuIGxldHRlcnMg0YsgKHNtYWxsKSwgYW5kINCtIGFuZCDRjSAoY2FwaXRhbCBhbmQgc21hbGwpLgorIiAgICAg4oCUICBUaGUgbGF0aW4gY2FwaXRhbCBsZXR0ZXJzIEkgYW5kIFYg4oCTIHVzZWQgdG8gdHlwZSBSb21hbiBudW1lcmFscworIiAgICAgICAgd2l0aG91dCBoYXZpbmcgdG8gbGVhdmUgQ3lyaWxsaWMgbW9kZS4KICIKLSIgSW4gdGhpcyBrZXltYXAgYWxzbyBkZWZpbmVkIChub3QgaW4gQkRTKSBhcmUgdGhlIFJ1c3NpYW4gbGV0dGVycyDQgSAoY2FwaXRhbCkKLSIgYW5kINGRIChzbWFsbCksIGFzIHdlbGwgYXMgdGhlIFJ1c3NpYW4gY2FwaXRhbCBsZXR0ZXIg0KsgKHNlZSBhYm92ZSB0aGUgc21hbGwKLSIgY291bnRlcnBhcnQpLiAgVGhpcyB3YXksIHVzaW5nIHRoZSBidWxnYXJpYW4tYmRzIGtleW1hcCwgb25lIGNhbiBhY2Nlc3MgYm90aAotIiB0aGUgQnVsZ2FyaWFuIGFuZCB0aGUgUnVzc2lhbiBhbHBoYWJldHMuCisiIFNvbWUgcHVuY3R1YXRpb24gY2hhcmFjdGVycyBwcmVzZW50IGluIGFzY2lpIGFyZSBtYXBwZWQgaW4gQkRTIHRvIGtleXMKKyIgZGlmZmVyZW50IGZyb20gdGhlIG9uZXMgdGhleSBvY2N1cHkgaW4gdGhlIHF3ZXJ0eSBsYXlvdXQsIGJlY2F1c2UgdGhlIGxhdHRlcgorIiBrZXlzIGFyZSB1c2VkIHRvIHR5cGUgb3RoZXIgY2hhcmFjdGVycy4KKyIKKyIgSW4gdGhpcyBrZXltYXAsIGFsc28gZGVmaW5lZCAoYmVzaWRlcyBCRFMpIGFyZToKKyIgICAgIOKAlCAgVGhlIFJ1c3NpYW4gbGV0dGVycyDQgSBhbmQg0ZEgKGNhcGl0YWwgYW5kIHNtYWxsKSwgYXMgd2VsbCBhcyB0aGUKKyIgICAgICAgIFJ1c3NpYW4gY2FwaXRhbCBsZXR0ZXIg0KsgKHNlZSBhYm92ZSBmb3IgdGhlIHNtYWxsIGNvdW50ZXJwYXJ0KS4KKyIgICAgICAgIFRoaXMgd2F5LCB1c2luZyB0aGUgYnVsZ2FyaWFuLWJkcyBrZXltYXAsIG9uZSBjYW4gYWNjZXNzIGJvdGgKKyIgICAgICAgIHRoZSBCdWxnYXJpYW4gYW5kIHRoZSBSdXNzaWFuIGFscGhhYmV0cy4KKyIgICAgIOKAlCAgVGhlIHF1b3RhdGlvbiBtYXJrcyDigJ4g4oCcIOKAnSDigJgg4oCZICh1c2VkIGluIHRoZSBCdWxnYXJpYW4gYW5kIEVuZ2xpc2gKKyIgICAgICAgIHF1b3RhdGlvbiBzdHlsZXMpLCBhcyB3ZWxsIGFzIMKrIMK7IChSdXNzaWFuIHF1b3RhdGlvbiBzdHlsZSkuCisiICAgICDigJQgIFRoZSBjaGFyYWN0ZXJzIMKnLCDihJYsIOKAkyAoZW4tZGFzaCksIOKAlCAoZW0tZGFzaCksIOKApiwg4oCiLCDCtywgwrEsIMKwLCDCrCwKKyIgICAgICAgIMKkLCBhbmQg4oKsLgorIgorIiBUaGUga2V5bWFwIGFsc28gZGVmaW5lcyBrZXkgY29tYmluYXRpb25zIGZvciBhY2NlbnRlZCB2b3dlbHMgaW4gQnVsZ2FyaWFuLgorIgorIiBGb3IgZGV0YWlscyBvZiB3aGF0IGtleSBvciBrZXkgY29tYmluYXRpb24gbWFwcyB0byB3aGF0IGNoYXJhY3RlciwgcGxlYXNlCisiIHNlZSBiZWxvdyB0aGUgbWFwIHRhYmxlIGl0c2VsZi4KIAogc2NyaXB0ZW5jb2RpbmcgdXRmLTgKIApAQCAtMTE0LDE0ICsxMjIsMzggQEAKIEAgICAgICAgPyAgICAgICBRVUVTVElPTiBNQVJLCiB9ICAgICAgIMKnICAgICAgIFNFQ1RJT04gU0lHTiAoUEFSQUdSQVBIIFNJR04pCiApICAgICAgIOKEliAgICAgICBOVU1FUk8gU0lHTgotLS0gICAgICDigJQgICAgICAgRU0gREFTSAorLS0gICAgICDigJMgICAgICAgRU4gREFTSAorLS0tICAgICDigJQgICAgICAgRU0gREFTSAorLi4gICAgICDigKYgICAgICAgSE9SSVpPTlRBTCBFTExJUFNJUworYGAgICAgICDigJwgICAgICAgTEVGVCBET1VCTEUgUVVPVEFUSU9OIE1BUksKKycnICAgICAg4oCdICAgICAgIFJJR0hUIERPVUJMRSBRVU9UQVRJT04gTUFSSwogLCwgICAgICDigJ4gICAgICAgRE9VQkxFIExPVy05IFFVT1RBVElPTiBNQVJLCi1gYCAgICAgIOKAnCAgICAgICBMRUZUIERPVUJMRSBRVU9UQVRJT04gIE1BUksKK2AuICAgICAg4oCYICAgICAgIExFRlQgU0lOR0xFIFFVT1RBVElPTiBNQVJLCisnLiAgICAgIOKAmSAgICAgICBSSUdIVCBTSU5HTEUgUVVPVEFUSU9OIE1BUksKIDw8ICAgICAgwqsgICAgICAgTEVGVC1QT0lOVElORyBET1VCTEUgQU5HTEUgUVVPVEFUSU9OIE1BUksKID4+ICAgICAgwrsgICAgICAgUklHSFQtUE9JTlRJTkcgRE9VQkxFIEFOR0xFIFFVT1RBVElPTiBNQVJLCi0wMCAgICAgIOKAoiAgICAgICBCVUxMRVQKLS4uICAgICAgwrcgICAgICAgTUlERExFIERPVCAgICAgIAorKiogICAgICDigKIgICAgICAgQlVMTEVUCissLiAgICAgIMK3ICAgICAgIE1JRERMRSBET1QgICAgICAKICstICAgICAgwrEgICAgICAgUExVUy1NSU5VUyBTSUdOCitebyAgICAgIMKwICAgICAgIERFR1JFRSBTSUdOCiB+fiAgICAgIMKsICAgICAgIE5PVCBTSUdOCiBAQCAgICAgIMKkICAgICAgIENVUlJFTkNZIFNJR04KICQkICAgICAg4oKsICAgICAgIEVVUk8gU0lHTgorCisiIGFjY2VudGVkIHZvd2VscyBjYW5ub3QgbWFwIG9udG8gY3AxMjUxIOKAkyB1c2UgdXRmLTggZmlsZSBlbmNvZGluZworYEQgICAgICDQkMyAICAgICAgIENZUklMTElDIENBUElUQUwgTEVUVEVSIEEgKyBHUkFWRSBBQ0NFTlQgKENPTVBPU0VEKQorYGQgICAgICDQsMyAICAgICAgIENZUklMTElDIFNNQUxMIExFVFRFUiBBICsgR1JBVkUgQUNDRU5UIChDT01QT1NFRCkKK2BFICAgICAg0JXMgCAgICAgICBDWVJJTExJQyBDQVBJVEFMIExFVFRFUiBJRSArIEdSQVZFIEFDQ0VOVCAoQ09NUE9TRUQpCitgZSAgICAgINC1zIAgICAgICAgQ1lSSUxMSUMgU01BTEwgTEVUVEVSIElFICsgR1JBVkUgQUNDRU5UIChDT01QT1NFRCkKK2BSICAgICAg0JjMgCAgICAgICBDWVJJTExJQyBDQVBJVEFMIExFVFRFUiBJICsgR1JBVkUgQUNDRU5UIChDT01QT1NFRCkKK2ByICAgICAg0LjMgCAgICAgICBDWVJJTExJQyBTTUFMTCBMRVRURVIgSSArIEdSQVZFIEFDQ0VOVCAoQ09NUE9TRUQpCitgRiAgICAgINCezIAgICAgICAgQ1lSSUxMSUMgQ0FQSVRBTCBMRVRURVIgTyArIEdSQVZFIEFDQ0VOVCAoQ09NUE9TRUQpCitgZiAgICAgINC+zIAgICAgICAgQ1lSSUxMSUMgU01BTEwgTEVUVEVSIE8gKyBHUkFWRSBBQ0NFTlQgKENPTVBPU0VEKQorYFcgICAgICDQo8yAICAgICAgIENZUklMTElDIENBUElUQUwgTEVUVEVSIFUgKyBHUkFWRSBBQ0NFTlQgKENPTVBPU0VEKQorYHcgICAgICDRg8yAICAgICAgIENZUklMTElDIFNNQUxMIExFVFRFUiBVICsgR1JBVkUgQUNDRU5UIChDT01QT1NFRCkKK2BDICAgICAg0KrMgCAgICAgICBDWVJJTExJQyBDQVBJVEFMIExFVFRFUiBIQVJEIFNJR04gKyBHUkFWRSBBQ0NFTlQgKENPTVBPU0VEKQorYGMgICAgICDRisyAICAgICAgIENZUklMTElDIFNNQUxMIExFVFRFUiBIQVJEIFNJR04gKyBHUkFWRSBBQ0NFTlQgKENPTVBPU0VEKQorYFogICAgICDQrsyAICAgICAgIENZUklMTElDIENBUElUQUwgTEVUVEVSIFlVICsgR1JBVkUgQUNDRU5UIChDT01QT1NFRCkKK2B6ICAgICAg0Y7MgCAgICAgICBDWVJJTExJQyBTTUFMTCBMRVRURVIgWVUgKyBHUkFWRSBBQ0NFTlQgKENPTVBPU0VEKQorYFMgICAgICDQr8yAICAgICAgIENZUklMTElDIENBUElUQUwgTEVUVEVSIFlBICsgR1JBVkUgQUNDRU5UIChDT01QT1NFRCkKK2BzICAgICAg0Y/MgCAgICAgICBDWVJJTExJQyBTTUFMTCBMRVRURVIgWUEgKyBHUkFWRSBBQ0NFTlQgKENPTVBPU0VEKQpkaWZmIC0tZ2l0IGEvcnVudGltZS9rZXltYXAvYnVsZ2FyaWFuLXBob25ldGljLnZpbSBiL3J1bnRpbWUva2V5bWFwL2J1bGdhcmlhbi1waG9uZXRpYy52aW0KaW5kZXggZmVlYzU4Ny4uYmFjMmU3ZSAxMDA2NDQKLS0tIGEvcnVudGltZS9rZXltYXAvYnVsZ2FyaWFuLXBob25ldGljLnZpbQorKysgYi9ydW50aW1lL2tleW1hcC9idWxnYXJpYW4tcGhvbmV0aWMudmltCkBAIC0xLDI2ICsxLDM1IEBACi0iIFZpbSBrZXltYXAgZmlsZSBmb3IgQnVsZ2FyaWFuIGFuZCBSdXNzaWFuIGNoYXJhY3RlcnMsIGBwaG9uZXRpYycgbGF5b3V0LgotIiBDYW4gYmUgdXNlZCB3aXRoIHV0Zi04IG9yIGNwMTI1MSBmaWxlIGVuY29kaW5ncy4KLSIgVGhpcyBmaWxlIGl0c2VsZiBpcyBpbiB1dGYtOAorIiBWaW0ga2V5bWFwIGZpbGUgZm9yIEJ1bGdhcmlhbiBhbmQgUnVzc2lhbiBjaGFyYWN0ZXJzLCAicGhvbmV0aWMiIGxheW91dC4KKyIgTW9zdCBvZiBpdCBjYW4gYmUgdXNlZCB3aXRoIGJvdGggdXRmLTggYW5kIGNwMTI1MSBmaWxlIGVuY29kaW5ncywgZXhjZXB0CisiIHRoZSBhY2NlbnRlZCB2b3dlbHMgd2hpY2ggY2FuIG9ubHkgYmUgc3RvcmVkIGluIHV0Zi04LgorIiBUaGlzIGZpbGUgaXRzZWxmIGlzIGluIHV0Zi04LgogCiAiIE1haW50YWluZXI6ICAgQm95a28gQmFudGNoZXYgPGJveWtvYmJAZ21haWwuY29tPgotIiBVUkk6IGh0dHA6Ly93d3cubWF0aC5iYXMuYmcvc29mdGVuZy9iYW50Y2hldi9taXNjL3ZpbS9idWxnYXJpYW4tcGhvbmV0aWMudmltCi0iIExhc3QgQ2hhbmdlZDogMjAwNiBPY3QgMTgKKyIgVVJJOiBodHRwOi8vd3d3Lm1hdGguYmFzLmJnL2JhbnRjaGV2L3ZpbS9idWxnYXJpYW4tcGhvbmV0aWMudmltCisiIExhc3QgQ2hhbmdlZDogMjAwOCBKdW5lIDI4CiAKLSIgVGhpcyBrZXltYXAgY29ycmVzcG9uZHMgdG8gd2hhdCBpcyBjYWxsZWQgYHBob25ldGljIGxheW91dCcgaW4gQnVsZ2FyaWE6Ci0iIEN5cmlsbGljIGxldHRlcnMgaG9tb3Bob25vdXMgd2l0aCBMYXRpbiBsZXR0ZXJzIHRlbmQgdG8gdGFrZSB0aGUgc2FtZQotIiBwbGFjZXMgYXMgdGhlIGxhdHRlciBvbmVzLiAgTW9zdCBvZiB0aGUga2V5cyBjb3JyZXNwb25kaW5nIHRvIHB1bmN0dWF0aW9uCi0iIGNoYXJhY3RlcnMgYXJlIGxlZnQgdW5tYXBwZWQsIHNvIHRoZXkgcmV0YWluIHRoZWlyIHVzdWFsIChxd2VydHkpIG1lYW5pbmdzCi0iIHdoaWxlIHR5cGluZyBpbiBDeXJpbGxpYy4KKyIgRm9yIGEgcmF0aW9uYWxlIGZvciB0aGUgbGF5b3V0IGFuZCBhZGRpdGlvbmFsIGluZm8gb24gdHlwaW5nIGluIEJ1bGdhcmlhbgorIiB1c2luZyBVbmljb2RlIEN5cmlsbGljIHBsZWFzZSBzZWU6CisKKyIgVGhpcyBrZXltYXAgY29ycmVzcG9uZHMgdG8gd2hhdCBpcyBjYWxsZWQgInBob25ldGljIGxheW91dCIgaW4gQnVsZ2FyaWE6CisiIEN5cmlsbGljIGxldHRlcnMgdGVuZCB0byBiZSBtYXBwZWQgdG8gdGhlaXIgTGF0aW4gaG9tb3Bob25lcywgaWYgcHJlc2VudC4KKyIgTW9zdCBrZXlzIGNvcnJlc3BvbmRpbmcgdG8gcHVuY3R1YXRpb24gY2hhcmFjdGVycyBhcmUgbGVmdCB1bm1hcHBlZCwgc28KKyIgdGhleSByZXRhaW4gdGhlaXIgdXN1YWwgKHF3ZXJ0eSkgbWVhbmluZ3MgaW4gQ3lyaWxsaWMgdHlwaW5nLgogIgotIiBJbiBhZGRpdGlvbiB0byB0aGUgQnVsZ2FyaWFuIGFscGhhYmV0LCB0aGUga2V5bWFwIGRlZmluZXMgdGhlIGZvbGxvd2luZwotIiBjaGFyYWN0ZXJzOgotIiAgICAg4oCUICBUaGUgQ3lyaWxsaWMgbGV0dGVycyDQgSBhbmQg0ZEsINCtIGFuZCDRjSwgYW5kINCrIGFuZCDRiyAoaW4gcGFpcnMgb2YKLSIgICAgICAgIGNhcGl0YWwgYW5kIHNtYWxsKS4gIFRoZXNlIGFyZSB0aGUgbGV0dGVycyBpbiB0aGUgUnVzc2lhbiBhbHBoYWJldAotIiAgICAgICAgdGhhdCBhcmUgbm90IHByZXNlbnQgaW4gQnVsZ2FyaWFuLCBzbyB1c2luZyB0aGUgYnVsZ2FyaWFuLXBob25ldGljCi0iICAgICAgICBrZXltYXAgb25lIGNhbiB0eXBlIGluIFJ1c3NpYW4sIHRvby4KLSIgICAgIOKAlCAg4oCeIGFuZCDigJwgKEJ1bGdhcmlhbiBxdW90YXRpb24gc3R5bGUpLCBhbmQgwqsgYW5kIMK7IChSdXNzaWFuIHF1b3RhdGlvbgotIiAgICAgICAgc3R5bGUpLgotIiAgICAg4oCUICDCpywg4oSWLCDigJQsIOKAoiwgwrcsIMKxLCDCrCwgwqQsIGFuZCDigqwKKyIgSW4gYWRkaXRpb24gdG8gdGhlIEJ1bGdhcmlhbiBhbHBoYWJldCwgdGhlIGtleW1hcCBtYWtlcyBhY2Nlc3NpYmxlIHRoZQorIiBmb2xsb3dpbmcgY2hhcmFjdGVyczoKKyIgICAgIOKAlCAgVGhlIGxldHRlcnMg0IEgYW5kINGRLCDQrSBhbmQg0Y0sIGFuZCDQqyBhbmQg0YsgKGluIHBhaXJzIG9mIGNhcGl0YWwgYW5kCisiICAgICAgICBzbWFsbCkuICBUaGVzZSBhcmUgdGhlIGxldHRlcnMgaW4gdGhlIFJ1c3NpYW4gYWxwaGFiZXQgdGhhdCBhcmUgbm90CisiICAgICAgICBwcmVzZW50IGluIEJ1bGdhcmlhbiwgc28gdXNpbmcgdGhlIGJ1bGdhcmlhbi1waG9uZXRpYyBrZXltYXAgb25lIGNhbgorIiAgICAgICAgdHlwZSBpbiBSdXNzaWFuLCB0b28uCisiICAgICDigJQgIFRoZSBxdW90YXRpb24gbWFya3Mg4oCeIOKAnCDigJ0g4oCYIOKAmSAodXNlZCBpbiB0aGUgQnVsZ2FyaWFuIGFuZCBFbmdsaXNoCisiICAgICAgICBxdW90YXRpb24gc3R5bGVzKSwgYXMgd2VsbCBhcyDCqyDCuyAoUnVzc2lhbiBxdW90YXRpb24gc3R5bGUpLgorIiAgICAg4oCUICBUaGUgY2hhcmFjdGVycyDCpywg4oSWLCDigJMgKGVuLWRhc2gpLCDigJQgKGVtLWRhc2gpLCDigKYsIOKAoiwgwrcsIMKxLCDCsCwgwqwsCisiICAgICAgICDCpCwgYW5kIOKCrC4KKyIKKyIgVGhlIGtleW1hcCBhbHNvIGRlZmluZXMga2V5IGNvbWJpbmF0aW9ucyBmb3IgYWNjZW50ZWQgdm93ZWxzIGluIEJ1bGdhcmlhbi4KKyIKKyIgRm9yIGRldGFpbHMgb2Ygd2hhdCBrZXkgb3Iga2V5IGNvbWJpbmF0aW9uIG1hcHMgdG8gd2hhdCBjaGFyYWN0ZXIsIHBsZWFzZQorIiBzZWUgYmVsb3cgdGhlIG1hcCB0YWJsZSBpdHNlbGYuCiAKIHNjcmlwdGVuY29kaW5nIHV0Zi04CiAKQEAgLTU1LDcgKzY0LDcgQEAKIHsgICAgICAg0KggICAgICAgQ1lSSUxMSUMgQ0FQSVRBTCBMRVRURVIgU0hBCiB9ICAgICAgINCpICAgICAgIENZUklMTElDIENBUElUQUwgTEVUVEVSIFNIQ0hBCiBZICAgICAgINCqICAgICAgIENZUklMTElDIENBUElUQUwgTEVUVEVSIEhBUkQgU0lHTgotWUogICAgICDQqyAgICAgICBDWVJJTExJQyBDQVBJVEFMIExFVFRFUiBZRVJVCitZSSAgICAgINCrICAgICAgIENZUklMTElDIENBUElUQUwgTEVUVEVSIFlFUlUKIFggICAgICAg0KwgICAgICAgQ1lSSUxMSUMgQ0FQSVRBTCBMRVRURVIgU09GVCBTSUdOCiBZRSAgICAgINCtICAgICAgIENZUklMTElDIENBUElUQUwgTEVUVEVSIFJFVkVSU0VEIEUKIHwgICAgICAg0K4gICAgICAgQ1lSSUxMSUMgQ0FQSVRBTCBMRVRURVIgWVUKQEAgLTg4LDIxICs5Nyw0NSBAQAogWyAgICAgICDRiCAgICAgICBDWVJJTExJQyBTTUFMTCBMRVRURVIgU0hBCiBdICAgICAgINGJICAgICAgIENZUklMTElDIFNNQUxMIExFVFRFUiBTSENIQQogeSAgICAgICDRiiAgICAgICBDWVJJTExJQyBTTUFMTCBMRVRURVIgSEFSRCBTSUdOCi15aiAgICAgINGLICAgICAgIENZUklMTElDIFNNQUxMIExFVFRFUiBZRVJVCit5aSAgICAgINGLICAgICAgIENZUklMTElDIFNNQUxMIExFVFRFUiBZRVJVCiB4ICAgICAgINGMICAgICAgIENZUklMTElDIFNNQUxMIExFVFRFUiBTT0ZUIFNJR04KIHllICAgICAg0Y0gICAgICAgQ1lSSUxMSUMgU01BTEwgTEVUVEVSIFJFVkVSU0VEIEUKIFxcICAgICAg0Y4gICAgICAgQ1lSSUxMSUMgU01BTEwgTEVUVEVSIFlVCiBxICAgICAgINGPICAgICAgIENZUklMTElDIFNNQUxMIExFVFRFUiBZQQogISEgICAgICDCpyAgICAgICBTRUNUSU9OIFNJR04gKFBBUkFHUkFQSCBTSUdOKQogIyMgICAgICDihJYgICAgICAgTlVNRVJPIFNJR04KLS0tICAgICAg4oCUICAgICAgIEVNIERBU0gKLSwsICAgICAg4oCeICAgICAgIERPVUJMRSBMT1ctOSBRVU9UQVRJT04gTUFSSworLS0gICAgICDigJMgICAgICAgRU4gREFTSAorLS0tICAgICDigJQgICAgICAgRU0gREFTSAorLi4gICAgICDigKYgICAgICAgSE9SSVpPTlRBTCBFTExJUFNJUwogYGAgICAgICDigJwgICAgICAgTEVGVCBET1VCTEUgUVVPVEFUSU9OICBNQVJLCisnJyAgICAgIOKAnSAgICAgICBSSUdIVCBET1VCTEUgUVVPVEFUSU9OIE1BUksKKywsICAgICAg4oCeICAgICAgIERPVUJMRSBMT1ctOSBRVU9UQVRJT04gTUFSSworYC4gICAgICDigJggICAgICAgTEVGVCBTSU5HTEUgUVVPVEFUSU9OIE1BUksKKycuICAgICAg4oCZICAgICAgIFJJR0hUIFNJTkdMRSBRVU9UQVRJT04gTUFSSwogPDwgICAgICDCqyAgICAgICBMRUZULVBPSU5USU5HIERPVUJMRSBBTkdMRSBRVU9UQVRJT04gTUFSSwogPj4gICAgICDCuyAgICAgICBSSUdIVC1QT0lOVElORyBET1VCTEUgQU5HTEUgUVVPVEFUSU9OIE1BUksKLTAwICAgICAg4oCiICAgICAgIEJVTExFVAotLi4gICAgICDCtyAgICAgICBNSURETEUgRE9UICAgICAgCisqKiAgICAgIOKAoiAgICAgICBCVUxMRVQKKywuICAgICAgwrcgICAgICAgTUlERExFIERPVCAgICAgIAogKy0gICAgICDCsSAgICAgICBQTFVTLU1JTlVTIFNJR04KK15vICAgICAgwrAgICAgICAgREVHUkVFIFNJR04KIH5+ICAgICAgwqwgICAgICAgTk9UIFNJR04KIEBAICAgICAgwqQgICAgICAgQ1VSUkVOQ1kgU0lHTgogJCQgICAgICDigqwgICAgICAgRVVSTyBTSUdOCisKKyIgYWNjZW50ZWQgdm93ZWxzIGNhbm5vdCBtYXAgb250byBjcDEyNTEg4oCTIHVzZSB1dGYtOCBmaWxlIGVuY29kaW5nCisnQSAgICAgINCQzIAgICAgICAgQ1lSSUxMSUMgQ0FQSVRBTCBMRVRURVIgQSArIEdSQVZFIEFDQ0VOVCAoQ09NUE9TRUQpCisnYSAgICAgINCwzIAgICAgICAgQ1lSSUxMSUMgU01BTEwgTEVUVEVSIEEgKyBHUkFWRSBBQ0NFTlQgKENPTVBPU0VEKQorJ0UgICAgICDQlcyAICAgICAgIENZUklMTElDIENBUElUQUwgTEVUVEVSIElFICsgR1JBVkUgQUNDRU5UIChDT01QT1NFRCkKKydlICAgICAg0LXMgCAgICAgICBDWVJJTExJQyBTTUFMTCBMRVRURVIgSUUgKyBHUkFWRSBBQ0NFTlQgKENPTVBPU0VEKQorJ0kgICAgICDQmMyAICAgICAgIENZUklMTElDIENBUElUQUwgTEVUVEVSIEkgKyBHUkFWRSBBQ0NFTlQgKENPTVBPU0VEKQorJ2kgICAgICDQuMyAICAgICAgIENZUklMTElDIFNNQUxMIExFVFRFUiBJICsgR1JBVkUgQUNDRU5UIChDT01QT1NFRCkKKydPICAgICAg0J7MgCAgICAgICBDWVJJTExJQyBDQVBJVEFMIExFVFRFUiBPICsgR1JBVkUgQUNDRU5UIChDT01QT1NFRCkKKydvICAgICAg0L7MgCAgICAgICBDWVJJTExJQyBTTUFMTCBMRVRURVIgTyArIEdSQVZFIEFDQ0VOVCAoQ09NUE9TRUQpCisnVSAgICAgINCjzIAgICAgICAgQ1lSSUxMSUMgQ0FQSVRBTCBMRVRURVIgVSArIEdSQVZFIEFDQ0VOVCAoQ09NUE9TRUQpCisndSAgICAgINGDzIAgICAgICAgQ1lSSUxMSUMgU01BTEwgTEVUVEVSIFUgKyBHUkFWRSBBQ0NFTlQgKENPTVBPU0VEKQorJ1kgICAgICDQqsyAICAgICAgIENZUklMTElDIENBUElUQUwgTEVUVEVSIEhBUkQgU0lHTiArIEdSQVZFIEFDQ0VOVCAoQ09NUE9TRUQpCisneSAgICAgINGKzIAgICAgICAgQ1lSSUxMSUMgU01BTEwgTEVUVEVSIEhBUkQgU0lHTiArIEdSQVZFIEFDQ0VOVCAoQ09NUE9TRUQpCisnfCAgICAgINCuzIAgICAgICAgQ1lSSUxMSUMgQ0FQSVRBTCBMRVRURVIgWVUgKyBHUkFWRSBBQ0NFTlQgKENPTVBPU0VEKQorJ1xcICAgICDRjsyAICAgICAgIENZUklMTElDIFNNQUxMIExFVFRFUiBZVSArIEdSQVZFIEFDQ0VOVCAoQ09NUE9TRUQpCisnUSAgICAgINCvzIAgICAgICAgQ1lSSUxMSUMgQ0FQSVRBTCBMRVRURVIgWUEgKyBHUkFWRSBBQ0NFTlQgKENPTVBPU0VEKQorJ3EgICAgICDRj8yAICAgICAgIENZUklMTElDIFNNQUxMIExFVFRFUiBZQSArIEdSQVZFIEFDQ0VOVCAoQ09NUE9TRUQpCmRpZmYgLS1naXQgYS9ydW50aW1lL2tleW1hcC9idWxnYXJpYW4udmltIGIvcnVudGltZS9rZXltYXAvYnVsZ2FyaWFuLnZpbQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggM2M4MGM5Zi4uMDAwMDAwMAotLS0gYS9ydW50aW1lL2tleW1hcC9idWxnYXJpYW4udmltCisrKyAvZGV2L251bGwKQEAgLTEsOTAgKzAsMCBAQAotIiBWaW0gS2V5bWFwIGZpbGUgZm9yIHJ1c3NpYW4gY2hhcmFjdGVycywgcGhvbmV0aWMgbGF5b3V0ICd5YXdlcnR5JwotIiBVc2VmdWwgbWFpbmx5IHdpdGggdXRmLTggYnV0IG1heSB3b3JrIHdpdGggb3RoZXIgZW5jb2RpbmdzCi0KLSIgTWFpbnRhaW5lcjogICBBbGJlcnRvIE1hcmRlZ2FuIDxtYXJkeUBkZXNwYW1tZWQuY29tPgotIiBMYXN0IENoYW5nZWQ6IDIwMDQgT2N0IDE3Ci0KLSIgQWxsIGNoYXJhY3RlcnMgYXJlIGdpdmVuIGxpdGVyYWxseSwgY29udmVyc2lvbiB0byBhbm90aGVyIGVuY29kaW5nIChlLmcuLAotIiBVVEYtOCkgc2hvdWxkIHdvcmsuCi1zY3JpcHRlbmNvZGluZyB1dGYtOAotCi1sZXQgYjprZXltYXBfbmFtZSA9ICJiZyIKLQotbG9hZGtleW1hcAotQQnQkAlDWVJJTExJQyBDQVBJVEFMIExFVFRFUiBBCi1CCdCRCUNZUklMTElDIENBUElUQUwgTEVUVEVSIEJFCi1XCdCSCUNZUklMTElDIENBUElUQUwgTEVUVEVSIFZFCi1WCdCSCUNZUklMTElDIENBUElUQUwgTEVUVEVSIFZFCi1HCdCTCUNZUklMTElDIENBUElUQUwgTEVUVEVSIEdIRQotRAnQlAlDWVJJTExJQyBDQVBJVEFMIExFVFRFUiBERQotRQnQlQlDWVJJTExJQyBDQVBJVEFMIExFVFRFUiBJRQotWmgJ0JYJQ1lSSUxMSUMgQ0FQSVRBTCBMRVRURVIgWkhFCi1aSAnQlglDWVJJTExJQyBDQVBJVEFMIExFVFRFUiBaSEUKLVoJ0JcJQ1lSSUxMSUMgQ0FQSVRBTCBMRVRURVIgWkUKLUkJ0JgJQ1lSSUxMSUMgQ0FQSVRBTCBMRVRURVIgSQotSgnQmQlDWVJJTExJQyBDQVBJVEFMIExFVFRFUiBTSE9SVCBJCi1LCdCaCUNZUklMTElDIENBUElUQUwgTEVUVEVSIEtBCi1MCdCbCUNZUklMTElDIENBUElUQUwgTEVUVEVSIEVMCi1NCdCcCUNZUklMTElDIENBUElUQUwgTEVUVEVSIEVNCi1OCdCdCUNZUklMTElDIENBUElUQUwgTEVUVEVSIEVOCi1PCdCeCUNZUklMTElDIENBUElUQUwgTEVUVEVSIE8KLVAJ0J8JQ1lSSUxMSUMgQ0FQSVRBTCBMRVRURVIgUEUKLVIJ0KAJQ1lSSUxMSUMgQ0FQSVRBTCBMRVRURVIgRVIKLVMJ0KEJQ1lSSUxMSUMgQ0FQSVRBTCBMRVRURVIgRVMKLVQJ0KIJQ1lSSUxMSUMgQ0FQSVRBTCBMRVRURVIgVEUKLVUJ0KMJQ1lSSUxMSUMgQ0FQSVRBTCBMRVRURVIgVQotRgnQpAlDWVJJTExJQyBDQVBJVEFMIExFVFRFUiBFRgotSAnQpQlDWVJJTExJQyBDQVBJVEFMIExFVFRFUiBIQQotQwnQpglDWVJJTExJQyBDQVBJVEFMIExFVFRFUiBUU0UKLUNoCdCnCUNZUklMTElDIENBUElUQUwgTEVUVEVSIENIRQotQ0gJ0KcJQ1lSSUxMSUMgQ0FQSVRBTCBMRVRURVIgQ0hFCi1TaAnQqAlDWVJJTExJQyBDQVBJVEFMIExFVFRFUiBTSEEKLVNICdCoCUNZUklMTElDIENBUElUQUwgTEVUVEVSIFNIQQotU2h0CdCpCUNZUklMTElDIENBUElUQUwgTEVUVEVSIFNIQ0hBCi1TSHQJ0KkJQ1lSSUxMSUMgQ0FQSVRBTCBMRVRURVIgU0hDSEEKLVNIVAnQqQlDWVJJTExJQyBDQVBJVEFMIExFVFRFUiBTSENIQQotU2oJ0KkJQ1lSSUxMSUMgQ0FQSVRBTCBMRVRURVIgU0hDSEEKLVNKCdCpCUNZUklMTElDIENBUElUQUwgTEVUVEVSIFNIQ0hBCi1ZCdCqCUNZUklMTElDIENBUElUQUwgTEVUVEVSIEhBUkQgU0lHTgotWAnQrAlDWVJJTExJQyBDQVBJVEFMIExFVFRFUiBTT0ZUIFNJR04KLX4J0K4JQ1lSSUxMSUMgQ0FQSVRBTCBMRVRURVIgWVUKLUp1CdCuCUNZUklMTElDIENBUElUQUwgTEVUVEVSIFlVCi1KVQnQrglDWVJJTExJQyBDQVBJVEFMIExFVFRFUiBZVQotUQnQrwlDWVJJTExJQyBDQVBJVEFMIExFVFRFUiBZQQotSmEJ0K8JQ1lSSUxMSUMgQ0FQSVRBTCBMRVRURVIgWUEKLUpBCdCvCUNZUklMTElDIENBUElUQUwgTEVUVEVSIFlBCi1hCdCwCUNZUklMTElDIFNNQUxMIExFVFRFUiBBCi1iCdCxCUNZUklMTElDIFNNQUxMIExFVFRFUiBCRQotdwnQsglDWVJJTExJQyBTTUFMTCBMRVRURVIgVkUKLXYJ0LIJQ1lSSUxMSUMgU01BTEwgTEVUVEVSIFZFCi1nCdCzCUNZUklMTElDIFNNQUxMIExFVFRFUiBHSEUKLWQJ0LQJQ1lSSUxMSUMgU01BTEwgTEVUVEVSIERFCi1lCdC1CUNZUklMTElDIFNNQUxMIExFVFRFUiBJRQotemgJ0LYJQ1lSSUxMSUMgU01BTEwgTEVUVEVSIFpIRQotdwnQtglDWVJJTExJQyBTTUFMTCBMRVRURVIgWkhFCi16CdC3CUNZUklMTElDIFNNQUxMIExFVFRFUiBaRQotaQnQuAlDWVJJTExJQyBTTUFMTCBMRVRURVIgSQotagnQuQlDWVJJTExJQyBTTUFMTCBMRVRURVIgU0hPUlQgSQotawnQuglDWVJJTExJQyBTTUFMTCBMRVRURVIgS0EKLWwJ0LsJQ1lSSUxMSUMgU01BTEwgTEVUVEVSIEVMCi1tCdC8CUNZUklMTElDIFNNQUxMIExFVFRFUiBFTQotbgnQvQlDWVJJTExJQyBTTUFMTCBMRVRURVIgRU4KLW8J0L4JQ1lSSUxMSUMgU01BTEwgTEVUVEVSIE8KLXAJ0L8JQ1lSSUxMSUMgU01BTEwgTEVUVEVSIFBFCi1yCdGACUNZUklMTElDIFNNQUxMIExFVFRFUiBFUgotcwnRgQlDWVJJTExJQyBTTUFMTCBMRVRURVIgRVMKLXQJ0YIJQ1lSSUxMSUMgU01BTEwgTEVUVEVSIFRFCi11CdGDCUNZUklMTElDIFNNQUxMIExFVFRFUiBVCi1mCdGECUNZUklMTElDIFNNQUxMIExFVFRFUiBFRgotaAnRhQlDWVJJTExJQyBTTUFMTCBMRVRURVIgSEEKLWMJ0YYJQ1lSSUxMSUMgU01BTEwgTEVUVEVSIFRTRQotY2gJ0YcJQ1lSSUxMSUMgU01BTEwgTEVUVEVSIENIRQotc2gJ0YgJQ1lSSUxMSUMgU01BTEwgTEVUVEVSIFNIQQotc2h0CdGJCUNZUklMTElDIFNNQUxMIExFVFRFUiBTSENIQQotc2oJ0YkJQ1lSSUxMSUMgU01BTEwgTEVUVEVSIFNIQ0hBCi15CdGKCUNZUklMTElDIFNNQUxMIExFVFRFUiBIQVJEIFNJR04KLXgJ0YwJQ1lSSUxMSUMgU01BTEwgTEVUVEVSIFNPRlQgU0lHTgotYAnRjglDWVJJTExJQyBTTUFMTCBMRVRURVIgWVUKLWp1CdGOCUNZUklMTElDIFNNQUxMIExFVFRFUiBZVQotcQnRjwlDWVJJTExJQyBTTUFMTCBMRVRURVIgWUEKLWphCdGPCUNZUklMTElDIFNNQUxMIExFVFRFUiBZQQpkaWZmIC0tZ2l0IGEvcnVudGltZS9tYWNyb3MvanVzdGlmeS52aW0gYi9ydW50aW1lL21hY3Jvcy9qdXN0aWZ5LnZpbQppbmRleCA0MWQwNTkxLi5hYTRhOWNhIDEwMDY0NAotLS0gYS9ydW50aW1lL21hY3Jvcy9qdXN0aWZ5LnZpbQorKysgYi9ydW50aW1lL21hY3Jvcy9qdXN0aWZ5LnZpbQpAQCAtMjU2LDE3ICsyNTYsMTggQEAKIAlsZXQgc3RyID0gc3Vic3RpdHV0ZShzdHIsICdcc1wrJCcsICcnLCAnJykKIAlsZXQgc3RyID0gc3Vic3RpdHV0ZShzdHIsICdeXHNcKycsICcnLCAnJykKIAlsZXQgc3RyID0gc3Vic3RpdHV0ZShzdHIsICdcc1wrJywgJyAnLCAnZycpCi0JbGV0IHN0cl9uID0gc3RybGVuKHN0cikKKwkiIFVzZSBzdWJzdGl0dXRlKCkgaGFjayB0byBnZXQgc3RybGVuIGluIGNoYXJhY3RlcnMgaW5zdGVhZCBvZiBieXRlcworCWxldCBzdHJfbiA9IHN0cmxlbihzdWJzdGl0dXRlKHN0ciwgJy4nLCAneCcsICdnJykpCiAKIAkiIFBvc3NpYmxlIGFkZGl0aW9uIG9mIHNwYWNlIGFmdGVyIHB1bmN0dWF0aW9uCiAJaWYgZXhpc3RzKCJqb2luX3N0ciIpCiAJICAgIGxldCBzdHIgPSBzdWJzdGl0dXRlKHN0ciwgam9pbl9zdHIsICdcMSAnLCAnZycpCiAJZW5kaWYKLQlsZXQgam9pbl9uID0gc3RybGVuKHN0cikgLSBzdHJfbgorCWxldCBqb2luX24gPSBzdHJsZW4oc3Vic3RpdHV0ZShzdHIsICcuJywgJ3gnLCAnZycpKSAtIHN0cl9uCiAKIAkiIENhbiBleHRyYXNwYWNlcyBiZSBhZGRlZD8KIAkiIE5vdGUgdGhhdCBzdHJfbiBtYXkgYmUgbGVzcyB0aGFuIHN0cmxlbihzdHIpIFtqb2luc3BhY2VzIGFib3ZlXQotCWlmIHN0cmxlbihzdHIpIDwgdHcgLSBpbmRlbnRfbiAmJiBzdHJfbiA+IDAKKwlpZiBzdHJsZW4oc3Vic3RpdHV0ZShzdHIsICcuJywgJ3gnLCAnZycpKSA8IHR3IC0gaW5kZW50X24gJiYgc3RyX24gPiAwCiAJICAgICIgSG93IG1hbnkgc3BhY2VzIHNob3VsZCBiZSBhZGRlZAogCSAgICBsZXQgc19hZGQgPSB0dyAtIHN0cl9uIC0gaW5kZW50X24gLSBqb2luX24KIAkgICAgbGV0IHNfbnIgID0gc3RybGVuKHN1YnN0aXR1dGUoc3RyLCAnXFMnLCAnJywgJ2cnKSApIC0gam9pbl9uCmRpZmYgLS1naXQgYS9ydW50aW1lL21ha2VtZW51LnZpbSBiL3J1bnRpbWUvbWFrZW1lbnUudmltCmluZGV4IDZmYTM0ZTUuLjVmNzg4M2MgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvbWFrZW1lbnUudmltCisrKyBiL3J1bnRpbWUvbWFrZW1lbnUudmltCkBAIC0xLDYgKzEsNiBAQAogIiBTY3JpcHQgdG8gZGVmaW5lIHRoZSBzeW50YXggbWVudSBpbiBzeW5tZW51LnZpbQogIiBNYWludGFpbmVyOglCcmFtIE1vb2xlbmFhciA8QnJhbUB2aW0ub3JnPgotIiBMYXN0IENoYW5nZToJMjAwOCBKdW4gMjQKKyIgTGFzdCBDaGFuZ2U6CTIwMDggSnVsIDEzCiAKICIgVGhpcyBpcyB1c2VkIGJ5ICJtYWtlIG1lbnUiIGluIHRoZSBzcmMgZGlyZWN0b3J5LgogZWRpdCA8c2ZpbGU+OnA6aC9zeW5tZW51LnZpbQpAQCAtMjI4LDExICsyMjgsMTMgQEAKIFN5bk1lbnUgRkcuR3Jvb3Z5Omdyb292eQogU3luTWVudSBGRy5HVEtyYzpndGtyYwogCitTeW5NZW51IEhJSksuSGFtbDpoYW1sCiBTeW5NZW51IEhJSksuSGFtc3RlcjpoYW1zdGVyCiBTeW5NZW51IEhJSksuSGFza2VsbC5IYXNrZWxsOmhhc2tlbGwKIFN5bk1lbnUgSElKSy5IYXNrZWxsLkhhc2tlbGwtYzJoczpjaGFza2VsbAogU3luTWVudSBISUpLLkhhc2tlbGwuSGFza2VsbC1saXRlcmF0ZTpsaGFza2VsbAogU3luTWVudSBISUpLLkhBU1RFOmhhc3RlCitTeW5NZW51IEhJSksuSEFTVEVcIHByZXByb2M6aGFzdGVwcmVwcm9jCiBTeW5NZW51IEhJSksuSGVyY3VsZXM6aGVyY3VsZXMKIFN5bk1lbnUgSElKSy5IZXhcIGR1bXAuWFhEOnh4ZAogU3luTWVudSBISUpLLkhleFwgZHVtcC5JbnRlbFwgTUNTNTE6aGV4CkBAIC00MjYsNiArNDI4LDcgQEAKIFN5bk1lbnUgUi1TZy5TLUxhbmc6c2xhbmcKIFN5bk1lbnUgUi1TZy5TYW1iYVwgY29uZmlnOnNhbWJhCiBTeW5NZW51IFItU2cuU0FTOnNhcworU3luTWVudSBSLVNnLlNhc3M6c2FzcwogU3luTWVudSBSLVNnLlNhdGhlcjpzYXRoZXIKIFN5bk1lbnUgUi1TZy5TY2hlbWU6c2NoZW1lCiBTeW5NZW51IFItU2cuU2NpbGFiOnNjaWxhYgpkaWZmIC0tZ2l0IGEvcnVudGltZS9wbHVnaW4vZ2V0c2NyaXB0UGx1Z2luLnZpbSBiL3J1bnRpbWUvcGx1Z2luL2dldHNjcmlwdFBsdWdpbi52aW0KaW5kZXggN2ZlMTAzZC4uNGZkMzZkYiAxMDA2NDQKLS0tIGEvcnVudGltZS9wbHVnaW4vZ2V0c2NyaXB0UGx1Z2luLnZpbQorKysgYi9ydW50aW1lL3BsdWdpbi9nZXRzY3JpcHRQbHVnaW4udmltCkBAIC0xOSw3ICsxOSw3IEBACiAgZW5kaWYKICBmaW5pc2gKIGVuZGlmCi1sZXQgZzpsb2FkZWRfZ2V0c2NyaXB0UGx1Z2luID0gInYzMCIKK2xldCBnOmxvYWRlZF9nZXRzY3JpcHRQbHVnaW4gPSAidjMxIgogbGV0IHM6a2VlcGNwbyAgICAgICAgICAgICAgICA9ICZjcG8KIHNldCBjcG8mdmltCiAKZGlmZiAtLWdpdCBhL3J1bnRpbWUvcGx1Z2luL25ldHJ3UGx1Z2luLnZpbSBiL3J1bnRpbWUvcGx1Z2luL25ldHJ3UGx1Z2luLnZpbQppbmRleCBiMGEyOWFkLi5mODRhYWRjIDEwMDY0NAotLS0gYS9ydW50aW1lL3BsdWdpbi9uZXRyd1BsdWdpbi52aW0KKysrIGIvcnVudGltZS9wbHVnaW4vbmV0cndQbHVnaW4udmltCkBAIC0yMiw3ICsyMiw3IEBACiBpZiAmY3AgfHwgZXhpc3RzKCJnOmxvYWRlZF9uZXRyd1BsdWdpbiIpCiAgZmluaXNoCiBlbmRpZgotbGV0IGc6bG9hZGVkX25ldHJ3UGx1Z2luID0gInYxMjUiCitsZXQgZzpsb2FkZWRfbmV0cndQbHVnaW4gPSAidjEyNyIKIGxldCBzOmtlZXBjcG8gICAgICAgICAgICA9ICZjcG8KIGlmIHY6dmVyc2lvbiA8IDcwMAogIGVjaG9obCBXYXJuaW5nTXNnIHwgZWNobyAiKioqbmV0cncqKiogeW91IG5lZWQgdmltIHZlcnNpb24gNy4wIGZvciB0aGlzIHZlcnNpb24gb2YgbmV0cnciIHwgZWNob2hsIE5vbmUKZGlmZiAtLWdpdCBhL3J1bnRpbWUvcGx1Z2luL3RhclBsdWdpbi52aW0gYi9ydW50aW1lL3BsdWdpbi90YXJQbHVnaW4udmltCmluZGV4IDQyZmQ5NmEuLjQxMmNlZWQgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvcGx1Z2luL3RhclBsdWdpbi52aW0KKysrIGIvcnVudGltZS9wbHVnaW4vdGFyUGx1Z2luLnZpbQpAQCAtMTQsNyArMTQsNyBAQAogaWYgJmNwIHx8IGV4aXN0cygiZzpsb2FkZWRfdGFyUGx1Z2luIikKICBmaW5pc2gKIGVuZGlmCi1sZXQgZzpsb2FkZWRfdGFyUGx1Z2luID0gInYxNiIKK2xldCBnOmxvYWRlZF90YXJQbHVnaW4gPSAidjE5IgogbGV0IHM6a2VlcGNwbyAgICAgICAgICA9ICZjcG8KIHNldCBjcG8mdmltCiAKZGlmZiAtLWdpdCBhL3J1bnRpbWUvcGx1Z2luL3ppcFBsdWdpbi52aW0gYi9ydW50aW1lL3BsdWdpbi96aXBQbHVnaW4udmltCmluZGV4IGU5ODY4NmIuLmUxOThjNjYgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvcGx1Z2luL3ppcFBsdWdpbi52aW0KKysrIGIvcnVudGltZS9wbHVnaW4vemlwUGx1Z2luLnZpbQpAQCAtMjAsNyArMjAsMTYgQEAKIGlmICZjcCB8fCBleGlzdHMoImc6bG9hZGVkX3ppcFBsdWdpbiIpCiAgZmluaXNoCiBlbmRpZgotbGV0IGc6bG9hZGVkX3ppcFBsdWdpbiA9ICJ2MTgiCisKKyIgRG9uJ3QgdXNlIHRoZSBwbHVnaW4gaWYgZm5hbWVlc2NhcGUoKSBpcyBub3QgYXZhaWxhYmxlCitpZiAhZXhpc3RzKCIqZm5hbWVlc2NhcGUiKQorICBpZiAmdmVyYm9zZSA+IDEKKyAgIGVjaG9lcnIgInppcFBsdWdpbiBub3QgbG9hZGVkIGJlY2F1c2UgZm5hbWVlc2NhcGUoKSBpcyBub3QgYXZhaWxhYmxlIgorIGVuZGlmCisgZmluaXNoCitlbmRpZgorCitsZXQgZzpsb2FkZWRfemlwUGx1Z2luID0gInYyMStiIgogbGV0IHM6a2VlcGNwbyAgICAgICAgICA9ICZjcG8KIHNldCBjcG8mdmltCiAKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc2NyaXB0cy52aW0gYi9ydW50aW1lL3NjcmlwdHMudmltCmluZGV4IDkzNmY1MDguLjIwMWMzNzUgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc2NyaXB0cy52aW0KKysrIGIvcnVudGltZS9zY3JpcHRzLnZpbQpAQCAtMSw3ICsxLDcgQEAKICIgVmltIHN1cHBvcnQgZmlsZSB0byBkZXRlY3QgZmlsZSB0eXBlcyBpbiBzY3JpcHRzCiAiCiAiIE1haW50YWluZXI6CUJyYW0gTW9vbGVuYWFyIDxCcmFtQHZpbS5vcmc+Ci0iIExhc3QgY2hhbmdlOgkyMDA4IEFwciAyOAorIiBMYXN0IGNoYW5nZToJMjAwOCBKdW4gMzAKIAogIiBUaGlzIGZpbGUgaXMgY2FsbGVkIGJ5IGFuIGF1dG9jb21tYW5kIGZvciBldmVyeSBmaWxlIHRoYXQgaGFzIGp1c3QgYmVlbgogIiBsb2FkZWQgaW50byBhIGJ1ZmZlci4gIEl0IGNoZWNrcyBpZiB0aGUgdHlwZSBvZiBmaWxlIGNhbiBiZSByZWNvZ25pemVkIGJ5CkBAIC0xNjgsNyArMTY4LDcgQEAKICAgICBzZXQgZnQ9enNoCiAKICAgIiBFTE0gTWFpbCBmaWxlcwotICBlbHNlaWYgczpsaW5lMSA9fiAnXkZyb20gW2EtekEtWl1bYS16QS1aXzAtOVwuPS1dKlwoQFteIF0qXClcPSAuKlsxMl1bMDldXGRcZCQnCisgIGVsc2VpZiBzOmxpbmUxID1+ICdeRnJvbSBcKFthLXpBLVpdW2EtekEtWl8wLTlcLj0tXSpcKEBbXiBdKlwpXD1cfC1cKSAuKiBcKDE5XHwyMFwpXGRcZCQnCiAgICAgc2V0IGZ0PW1haWwKIAogICAgICIgTWFzb24KZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3lubWVudS52aW0gYi9ydW50aW1lL3N5bm1lbnUudmltCmluZGV4IDY4YTg0MWUuLmMyMTU5NzcgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc3lubWVudS52aW0KKysrIGIvcnVudGltZS9zeW5tZW51LnZpbQpAQCAtMjA4LDUwICsyMDgsNTIgQEAKIGFuIDUwLjQwLjQxMCAmU3ludGF4LkZHLkdyb2ZmIDpjYWwgU2V0U3luKCJncm9mZiIpPENSPgogYW4gNTAuNDAuNDIwICZTeW50YXguRkcuR3Jvb3Z5IDpjYWwgU2V0U3luKCJncm9vdnkiKTxDUj4KIGFuIDUwLjQwLjQzMCAmU3ludGF4LkZHLkdUS3JjIDpjYWwgU2V0U3luKCJndGtyYyIpPENSPgotYW4gNTAuNTAuMTAwICZTeW50YXguSElKSy5IYW1zdGVyIDpjYWwgU2V0U3luKCJoYW1zdGVyIik8Q1I+Ci1hbiA1MC41MC4xMTAgJlN5bnRheC5ISUpLLkhhc2tlbGwuSGFza2VsbCA6Y2FsIFNldFN5bigiaGFza2VsbCIpPENSPgotYW4gNTAuNTAuMTIwICZTeW50YXguSElKSy5IYXNrZWxsLkhhc2tlbGwtYzJocyA6Y2FsIFNldFN5bigiY2hhc2tlbGwiKTxDUj4KLWFuIDUwLjUwLjEzMCAmU3ludGF4LkhJSksuSGFza2VsbC5IYXNrZWxsLWxpdGVyYXRlIDpjYWwgU2V0U3luKCJsaGFza2VsbCIpPENSPgotYW4gNTAuNTAuMTQwICZTeW50YXguSElKSy5IQVNURSA6Y2FsIFNldFN5bigiaGFzdGUiKTxDUj4KLWFuIDUwLjUwLjE1MCAmU3ludGF4LkhJSksuSGVyY3VsZXMgOmNhbCBTZXRTeW4oImhlcmN1bGVzIik8Q1I+Ci1hbiA1MC41MC4xNjAgJlN5bnRheC5ISUpLLkhleFwgZHVtcC5YWEQgOmNhbCBTZXRTeW4oInh4ZCIpPENSPgotYW4gNTAuNTAuMTcwICZTeW50YXguSElKSy5IZXhcIGR1bXAuSW50ZWxcIE1DUzUxIDpjYWwgU2V0U3luKCJoZXgiKTxDUj4KLWFuIDUwLjUwLjE4MCAmU3ludGF4LkhJSksuSFRNTC5IVE1MIDpjYWwgU2V0U3luKCJodG1sIik8Q1I+Ci1hbiA1MC41MC4xOTAgJlN5bnRheC5ISUpLLkhUTUwuSFRNTFwgd2l0aFwgTTQgOmNhbCBTZXRTeW4oImh0bWxtNCIpPENSPgotYW4gNTAuNTAuMjAwICZTeW50YXguSElKSy5IVE1MLkhUTUxcIHdpdGhcIFJ1YnlcIChlUnVieSkgOmNhbCBTZXRTeW4oImVydWJ5Iik8Q1I+Ci1hbiA1MC41MC4yMTAgJlN5bnRheC5ISUpLLkhUTUwuQ2hlZXRhaFwgSFRNTFwgdGVtcGxhdGUgOmNhbCBTZXRTeW4oImh0bWxjaGVldGFoIik8Q1I+Ci1hbiA1MC41MC4yMjAgJlN5bnRheC5ISUpLLkhUTUwuRGphbmdvXCBIVE1MXCB0ZW1wbGF0ZSA6Y2FsIFNldFN5bigiaHRtbGRqYW5nbyIpPENSPgotYW4gNTAuNTAuMjMwICZTeW50YXguSElKSy5IVE1MLkhUTUwvT1MgOmNhbCBTZXRTeW4oImh0bWxvcyIpPENSPgotYW4gNTAuNTAuMjQwICZTeW50YXguSElKSy5IVE1MLlhIVE1MIDpjYWwgU2V0U3luKCJ4aHRtbCIpPENSPgotYW4gNTAuNTAuMjUwICZTeW50YXguSElKSy5Ib3N0XC5jb25mIDpjYWwgU2V0U3luKCJob3N0Y29uZiIpPENSPgotYW4gNTAuNTAuMjYwICZTeW50YXguSElKSy5IeXBlclwgQnVpbGRlciA6Y2FsIFNldFN5bigiaGIiKTxDUj4KLWFuIDUwLjUwLjI4MCAmU3ludGF4LkhJSksuSWNld21cIG1lbnUgOmNhbCBTZXRTeW4oImljZW1lbnUiKTxDUj4KLWFuIDUwLjUwLjI5MCAmU3ludGF4LkhJSksuSWNvbiA6Y2FsIFNldFN5bigiaWNvbiIpPENSPgotYW4gNTAuNTAuMzAwICZTeW50YXguSElKSy5JRExcR2VuZXJpY1wgSURMIDpjYWwgU2V0U3luKCJpZGwiKTxDUj4KLWFuIDUwLjUwLjMxMCAmU3ludGF4LkhJSksuSURMXE1pY3Jvc29mdFwgSURMIDpjYWwgU2V0U3luKCJtc2lkbCIpPENSPgotYW4gNTAuNTAuMzIwICZTeW50YXguSElKSy5JbmRlbnRcIHByb2ZpbGUgOmNhbCBTZXRTeW4oImluZGVudCIpPENSPgotYW4gNTAuNTAuMzMwICZTeW50YXguSElKSy5JbmZvcm0gOmNhbCBTZXRTeW4oImluZm9ybSIpPENSPgotYW4gNTAuNTAuMzQwICZTeW50YXguSElKSy5JbmZvcm1peFwgNEdMIDpjYWwgU2V0U3luKCJmZ2wiKTxDUj4KLWFuIDUwLjUwLjM1MCAmU3ludGF4LkhJSksuSW5pdG5nIDpjYWwgU2V0U3luKCJpbml0bmciKTxDUj4KLWFuIDUwLjUwLjM2MCAmU3ludGF4LkhJSksuSW5pdHRhYiA6Y2FsIFNldFN5bigiaW5pdHRhYiIpPENSPgotYW4gNTAuNTAuMzcwICZTeW50YXguSElKSy5Jbm5vXCBzZXR1cCA6Y2FsIFNldFN5bigiaXNzIik8Q1I+Ci1hbiA1MC41MC4zODAgJlN5bnRheC5ISUpLLkluc3RhbGxTaGllbGRcIHNjcmlwdCA6Y2FsIFNldFN5bigiaXNoZCIpPENSPgotYW4gNTAuNTAuMzkwICZTeW50YXguSElKSy5JbnRlcmFjdGl2ZVwgRGF0YVwgTGFuZyA6Y2FsIFNldFN5bigiaWRsYW5nIik8Q1I+Ci1hbiA1MC41MC40MDAgJlN5bnRheC5ISUpLLklQZmlsdGVyIDpjYWwgU2V0U3luKCJpcGZpbHRlciIpPENSPgotYW4gNTAuNTAuNDIwICZTeW50YXguSElKSy5KQUwgOmNhbCBTZXRTeW4oImphbCIpPENSPgotYW4gNTAuNTAuNDMwICZTeW50YXguSElKSy5KQU0gOmNhbCBTZXRTeW4oImphbSIpPENSPgotYW4gNTAuNTAuNDQwICZTeW50YXguSElKSy5KYXJnb24gOmNhbCBTZXRTeW4oImphcmdvbiIpPENSPgotYW4gNTAuNTAuNDUwICZTeW50YXguSElKSy5KYXZhLkphdmEgOmNhbCBTZXRTeW4oImphdmEiKTxDUj4KLWFuIDUwLjUwLjQ2MCAmU3ludGF4LkhJSksuSmF2YS5KYXZhQ0MgOmNhbCBTZXRTeW4oImphdmFjYyIpPENSPgotYW4gNTAuNTAuNDcwICZTeW50YXguSElKSy5KYXZhLkphdmFcIFNlcnZlclwgUGFnZXMgOmNhbCBTZXRTeW4oImpzcCIpPENSPgotYW4gNTAuNTAuNDgwICZTeW50YXguSElKSy5KYXZhLkphdmFcIFByb3BlcnRpZXMgOmNhbCBTZXRTeW4oImpwcm9wZXJ0aWVzIik8Q1I+Ci1hbiA1MC41MC40OTAgJlN5bnRheC5ISUpLLkphdmFTY3JpcHQgOmNhbCBTZXRTeW4oImphdmFzY3JpcHQiKTxDUj4KLWFuIDUwLjUwLjUwMCAmU3ludGF4LkhJSksuSmVzcyA6Y2FsIFNldFN5bigiamVzcyIpPENSPgotYW4gNTAuNTAuNTEwICZTeW50YXguSElKSy5KZ3JhcGggOmNhbCBTZXRTeW4oImpncmFwaCIpPENSPgotYW4gNTAuNTAuNTMwICZTeW50YXguSElKSy5LY29uZmlnIDpjYWwgU2V0U3luKCJrY29uZmlnIik8Q1I+Ci1hbiA1MC41MC41NDAgJlN5bnRheC5ISUpLLktERVwgc2NyaXB0IDpjYWwgU2V0U3luKCJrc2NyaXB0Iik8Q1I+Ci1hbiA1MC41MC41NTAgJlN5bnRheC5ISUpLLktpbXdpdHUrKyA6Y2FsIFNldFN5bigia3d0Iik8Q1I+Ci1hbiA1MC41MC41NjAgJlN5bnRheC5ISUpLLktpeFRhcnQgOmNhbCBTZXRTeW4oImtpeCIpPENSPgorYW4gNTAuNTAuMTAwICZTeW50YXguSElKSy5IYW1sIDpjYWwgU2V0U3luKCJoYW1sIik8Q1I+CithbiA1MC41MC4xMTAgJlN5bnRheC5ISUpLLkhhbXN0ZXIgOmNhbCBTZXRTeW4oImhhbXN0ZXIiKTxDUj4KK2FuIDUwLjUwLjEyMCAmU3ludGF4LkhJSksuSGFza2VsbC5IYXNrZWxsIDpjYWwgU2V0U3luKCJoYXNrZWxsIik8Q1I+CithbiA1MC41MC4xMzAgJlN5bnRheC5ISUpLLkhhc2tlbGwuSGFza2VsbC1jMmhzIDpjYWwgU2V0U3luKCJjaGFza2VsbCIpPENSPgorYW4gNTAuNTAuMTQwICZTeW50YXguSElKSy5IYXNrZWxsLkhhc2tlbGwtbGl0ZXJhdGUgOmNhbCBTZXRTeW4oImxoYXNrZWxsIik8Q1I+CithbiA1MC41MC4xNTAgJlN5bnRheC5ISUpLLkhBU1RFIDpjYWwgU2V0U3luKCJoYXN0ZSIpPENSPgorYW4gNTAuNTAuMTYwICZTeW50YXguSElKSy5IQVNURVwgcHJlcHJvYyA6Y2FsIFNldFN5bigiaGFzdGVwcmVwcm9jIik8Q1I+CithbiA1MC41MC4xNzAgJlN5bnRheC5ISUpLLkhlcmN1bGVzIDpjYWwgU2V0U3luKCJoZXJjdWxlcyIpPENSPgorYW4gNTAuNTAuMTgwICZTeW50YXguSElKSy5IZXhcIGR1bXAuWFhEIDpjYWwgU2V0U3luKCJ4eGQiKTxDUj4KK2FuIDUwLjUwLjE5MCAmU3ludGF4LkhJSksuSGV4XCBkdW1wLkludGVsXCBNQ1M1MSA6Y2FsIFNldFN5bigiaGV4Iik8Q1I+CithbiA1MC41MC4yMDAgJlN5bnRheC5ISUpLLkhUTUwuSFRNTCA6Y2FsIFNldFN5bigiaHRtbCIpPENSPgorYW4gNTAuNTAuMjEwICZTeW50YXguSElKSy5IVE1MLkhUTUxcIHdpdGhcIE00IDpjYWwgU2V0U3luKCJodG1sbTQiKTxDUj4KK2FuIDUwLjUwLjIyMCAmU3ludGF4LkhJSksuSFRNTC5IVE1MXCB3aXRoXCBSdWJ5XCAoZVJ1YnkpIDpjYWwgU2V0U3luKCJlcnVieSIpPENSPgorYW4gNTAuNTAuMjMwICZTeW50YXguSElKSy5IVE1MLkNoZWV0YWhcIEhUTUxcIHRlbXBsYXRlIDpjYWwgU2V0U3luKCJodG1sY2hlZXRhaCIpPENSPgorYW4gNTAuNTAuMjQwICZTeW50YXguSElKSy5IVE1MLkRqYW5nb1wgSFRNTFwgdGVtcGxhdGUgOmNhbCBTZXRTeW4oImh0bWxkamFuZ28iKTxDUj4KK2FuIDUwLjUwLjI1MCAmU3ludGF4LkhJSksuSFRNTC5IVE1ML09TIDpjYWwgU2V0U3luKCJodG1sb3MiKTxDUj4KK2FuIDUwLjUwLjI2MCAmU3ludGF4LkhJSksuSFRNTC5YSFRNTCA6Y2FsIFNldFN5bigieGh0bWwiKTxDUj4KK2FuIDUwLjUwLjI3MCAmU3ludGF4LkhJSksuSG9zdFwuY29uZiA6Y2FsIFNldFN5bigiaG9zdGNvbmYiKTxDUj4KK2FuIDUwLjUwLjI4MCAmU3ludGF4LkhJSksuSHlwZXJcIEJ1aWxkZXIgOmNhbCBTZXRTeW4oImhiIik8Q1I+CithbiA1MC41MC4zMDAgJlN5bnRheC5ISUpLLkljZXdtXCBtZW51IDpjYWwgU2V0U3luKCJpY2VtZW51Iik8Q1I+CithbiA1MC41MC4zMTAgJlN5bnRheC5ISUpLLkljb24gOmNhbCBTZXRTeW4oImljb24iKTxDUj4KK2FuIDUwLjUwLjMyMCAmU3ludGF4LkhJSksuSURMXEdlbmVyaWNcIElETCA6Y2FsIFNldFN5bigiaWRsIik8Q1I+CithbiA1MC41MC4zMzAgJlN5bnRheC5ISUpLLklETFxNaWNyb3NvZnRcIElETCA6Y2FsIFNldFN5bigibXNpZGwiKTxDUj4KK2FuIDUwLjUwLjM0MCAmU3ludGF4LkhJSksuSW5kZW50XCBwcm9maWxlIDpjYWwgU2V0U3luKCJpbmRlbnQiKTxDUj4KK2FuIDUwLjUwLjM1MCAmU3ludGF4LkhJSksuSW5mb3JtIDpjYWwgU2V0U3luKCJpbmZvcm0iKTxDUj4KK2FuIDUwLjUwLjM2MCAmU3ludGF4LkhJSksuSW5mb3JtaXhcIDRHTCA6Y2FsIFNldFN5bigiZmdsIik8Q1I+CithbiA1MC41MC4zNzAgJlN5bnRheC5ISUpLLkluaXRuZyA6Y2FsIFNldFN5bigiaW5pdG5nIik8Q1I+CithbiA1MC41MC4zODAgJlN5bnRheC5ISUpLLkluaXR0YWIgOmNhbCBTZXRTeW4oImluaXR0YWIiKTxDUj4KK2FuIDUwLjUwLjM5MCAmU3ludGF4LkhJSksuSW5ub1wgc2V0dXAgOmNhbCBTZXRTeW4oImlzcyIpPENSPgorYW4gNTAuNTAuNDAwICZTeW50YXguSElKSy5JbnN0YWxsU2hpZWxkXCBzY3JpcHQgOmNhbCBTZXRTeW4oImlzaGQiKTxDUj4KK2FuIDUwLjUwLjQxMCAmU3ludGF4LkhJSksuSW50ZXJhY3RpdmVcIERhdGFcIExhbmcgOmNhbCBTZXRTeW4oImlkbGFuZyIpPENSPgorYW4gNTAuNTAuNDIwICZTeW50YXguSElKSy5JUGZpbHRlciA6Y2FsIFNldFN5bigiaXBmaWx0ZXIiKTxDUj4KK2FuIDUwLjUwLjQ0MCAmU3ludGF4LkhJSksuSkFMIDpjYWwgU2V0U3luKCJqYWwiKTxDUj4KK2FuIDUwLjUwLjQ1MCAmU3ludGF4LkhJSksuSkFNIDpjYWwgU2V0U3luKCJqYW0iKTxDUj4KK2FuIDUwLjUwLjQ2MCAmU3ludGF4LkhJSksuSmFyZ29uIDpjYWwgU2V0U3luKCJqYXJnb24iKTxDUj4KK2FuIDUwLjUwLjQ3MCAmU3ludGF4LkhJSksuSmF2YS5KYXZhIDpjYWwgU2V0U3luKCJqYXZhIik8Q1I+CithbiA1MC41MC40ODAgJlN5bnRheC5ISUpLLkphdmEuSmF2YUNDIDpjYWwgU2V0U3luKCJqYXZhY2MiKTxDUj4KK2FuIDUwLjUwLjQ5MCAmU3ludGF4LkhJSksuSmF2YS5KYXZhXCBTZXJ2ZXJcIFBhZ2VzIDpjYWwgU2V0U3luKCJqc3AiKTxDUj4KK2FuIDUwLjUwLjUwMCAmU3ludGF4LkhJSksuSmF2YS5KYXZhXCBQcm9wZXJ0aWVzIDpjYWwgU2V0U3luKCJqcHJvcGVydGllcyIpPENSPgorYW4gNTAuNTAuNTEwICZTeW50YXguSElKSy5KYXZhU2NyaXB0IDpjYWwgU2V0U3luKCJqYXZhc2NyaXB0Iik8Q1I+CithbiA1MC41MC41MjAgJlN5bnRheC5ISUpLLkplc3MgOmNhbCBTZXRTeW4oImplc3MiKTxDUj4KK2FuIDUwLjUwLjUzMCAmU3ludGF4LkhJSksuSmdyYXBoIDpjYWwgU2V0U3luKCJqZ3JhcGgiKTxDUj4KK2FuIDUwLjUwLjU1MCAmU3ludGF4LkhJSksuS2NvbmZpZyA6Y2FsIFNldFN5bigia2NvbmZpZyIpPENSPgorYW4gNTAuNTAuNTYwICZTeW50YXguSElKSy5LREVcIHNjcmlwdCA6Y2FsIFNldFN5bigia3NjcmlwdCIpPENSPgorYW4gNTAuNTAuNTcwICZTeW50YXguSElKSy5LaW13aXR1KysgOmNhbCBTZXRTeW4oImt3dCIpPENSPgorYW4gNTAuNTAuNTgwICZTeW50YXguSElKSy5LaXhUYXJ0IDpjYWwgU2V0U3luKCJraXgiKTxDUj4KIGFuIDUwLjYwLjEwMCAmU3ludGF4LkwtTWEuTGFjZSA6Y2FsIFNldFN5bigibGFjZSIpPENSPgogYW4gNTAuNjAuMTEwICZTeW50YXguTC1NYS5MYW1kYVByb2xvZyA6Y2FsIFNldFN5bigibHByb2xvZyIpPENSPgogYW4gNTAuNjAuMTIwICZTeW50YXguTC1NYS5MYXR0ZSA6Y2FsIFNldFN5bigibGF0dGUiKTxDUj4KQEAgLTQwMiwyNCArNDA0LDI1IEBACiBhbiA1MC45MC4zNTAgJlN5bnRheC5SLVNnLlMtTGFuZyA6Y2FsIFNldFN5bigic2xhbmciKTxDUj4KIGFuIDUwLjkwLjM2MCAmU3ludGF4LlItU2cuU2FtYmFcIGNvbmZpZyA6Y2FsIFNldFN5bigic2FtYmEiKTxDUj4KIGFuIDUwLjkwLjM3MCAmU3ludGF4LlItU2cuU0FTIDpjYWwgU2V0U3luKCJzYXMiKTxDUj4KLWFuIDUwLjkwLjM4MCAmU3ludGF4LlItU2cuU2F0aGVyIDpjYWwgU2V0U3luKCJzYXRoZXIiKTxDUj4KLWFuIDUwLjkwLjM5MCAmU3ludGF4LlItU2cuU2NoZW1lIDpjYWwgU2V0U3luKCJzY2hlbWUiKTxDUj4KLWFuIDUwLjkwLjQwMCAmU3ludGF4LlItU2cuU2NpbGFiIDpjYWwgU2V0U3luKCJzY2lsYWIiKTxDUj4KLWFuIDUwLjkwLjQxMCAmU3ludGF4LlItU2cuU2NyZWVuXCBSQyA6Y2FsIFNldFN5bigic2NyZWVuIik8Q1I+Ci1hbiA1MC45MC40MjAgJlN5bnRheC5SLVNnLlNETCA6Y2FsIFNldFN5bigic2RsIik8Q1I+Ci1hbiA1MC45MC40MzAgJlN5bnRheC5SLVNnLlNlZCA6Y2FsIFNldFN5bigic2VkIik8Q1I+Ci1hbiA1MC45MC40NDAgJlN5bnRheC5SLVNnLlNlbmRtYWlsXC5jZiA6Y2FsIFNldFN5bigic20iKTxDUj4KLWFuIDUwLjkwLjQ1MCAmU3ludGF4LlItU2cuU2VuZC1wciA6Y2FsIFNldFN5bigic2VuZHByIik8Q1I+Ci1hbiA1MC45MC40NjAgJlN5bnRheC5SLVNnLlNlbnNvcnNcLmNvbmYgOmNhbCBTZXRTeW4oInNlbnNvcnMiKTxDUj4KLWFuIDUwLjkwLjQ3MCAmU3ludGF4LlItU2cuU2VydmljZVwgTG9jYXRpb25cIGNvbmZpZyA6Y2FsIFNldFN5bigic2xwY29uZiIpPENSPgotYW4gNTAuOTAuNDgwICZTeW50YXguUi1TZy5TZXJ2aWNlXCBMb2NhdGlvblwgcmVnaXN0cmF0aW9uIDpjYWwgU2V0U3luKCJzbHByZWciKTxDUj4KLWFuIDUwLjkwLjQ5MCAmU3ludGF4LlItU2cuU2VydmljZVwgTG9jYXRpb25cIFNQSSA6Y2FsIFNldFN5bigic2xwc3BpIik8Q1I+Ci1hbiA1MC45MC41MDAgJlN5bnRheC5SLVNnLlNlcnZpY2VzIDpjYWwgU2V0U3luKCJzZXJ2aWNlcyIpPENSPgotYW4gNTAuOTAuNTEwICZTeW50YXguUi1TZy5TZXRzZXJpYWxcIGNvbmZpZyA6Y2FsIFNldFN5bigic2V0c2VyaWFsIik8Q1I+Ci1hbiA1MC45MC41MjAgJlN5bnRheC5SLVNnLlNHTUwuU0dNTFwgY2F0YWxvZyA6Y2FsIFNldFN5bigiY2F0YWxvZyIpPENSPgotYW4gNTAuOTAuNTMwICZTeW50YXguUi1TZy5TR01MLlNHTUxcIERURCA6Y2FsIFNldFN5bigic2dtbCIpPENSPgotYW4gNTAuOTAuNTQwICZTeW50YXguUi1TZy5TR01MLlNHTUxcIERlY2xhcmF0aW9uIDpjYWwgU2V0U3luKCJzZ21sZGVjbCIpPENSPgotYW4gNTAuOTAuNTUwICZTeW50YXguUi1TZy5TR01MLlNHTUwtbGludXhkb2MgOmNhbCBTZXRTeW4oInNnbWxsbngiKTxDUj4KK2FuIDUwLjkwLjM4MCAmU3ludGF4LlItU2cuU2FzcyA6Y2FsIFNldFN5bigic2FzcyIpPENSPgorYW4gNTAuOTAuMzkwICZTeW50YXguUi1TZy5TYXRoZXIgOmNhbCBTZXRTeW4oInNhdGhlciIpPENSPgorYW4gNTAuOTAuNDAwICZTeW50YXguUi1TZy5TY2hlbWUgOmNhbCBTZXRTeW4oInNjaGVtZSIpPENSPgorYW4gNTAuOTAuNDEwICZTeW50YXguUi1TZy5TY2lsYWIgOmNhbCBTZXRTeW4oInNjaWxhYiIpPENSPgorYW4gNTAuOTAuNDIwICZTeW50YXguUi1TZy5TY3JlZW5cIFJDIDpjYWwgU2V0U3luKCJzY3JlZW4iKTxDUj4KK2FuIDUwLjkwLjQzMCAmU3ludGF4LlItU2cuU0RMIDpjYWwgU2V0U3luKCJzZGwiKTxDUj4KK2FuIDUwLjkwLjQ0MCAmU3ludGF4LlItU2cuU2VkIDpjYWwgU2V0U3luKCJzZWQiKTxDUj4KK2FuIDUwLjkwLjQ1MCAmU3ludGF4LlItU2cuU2VuZG1haWxcLmNmIDpjYWwgU2V0U3luKCJzbSIpPENSPgorYW4gNTAuOTAuNDYwICZTeW50YXguUi1TZy5TZW5kLXByIDpjYWwgU2V0U3luKCJzZW5kcHIiKTxDUj4KK2FuIDUwLjkwLjQ3MCAmU3ludGF4LlItU2cuU2Vuc29yc1wuY29uZiA6Y2FsIFNldFN5bigic2Vuc29ycyIpPENSPgorYW4gNTAuOTAuNDgwICZTeW50YXguUi1TZy5TZXJ2aWNlXCBMb2NhdGlvblwgY29uZmlnIDpjYWwgU2V0U3luKCJzbHBjb25mIik8Q1I+CithbiA1MC45MC40OTAgJlN5bnRheC5SLVNnLlNlcnZpY2VcIExvY2F0aW9uXCByZWdpc3RyYXRpb24gOmNhbCBTZXRTeW4oInNscHJlZyIpPENSPgorYW4gNTAuOTAuNTAwICZTeW50YXguUi1TZy5TZXJ2aWNlXCBMb2NhdGlvblwgU1BJIDpjYWwgU2V0U3luKCJzbHBzcGkiKTxDUj4KK2FuIDUwLjkwLjUxMCAmU3ludGF4LlItU2cuU2VydmljZXMgOmNhbCBTZXRTeW4oInNlcnZpY2VzIik8Q1I+CithbiA1MC45MC41MjAgJlN5bnRheC5SLVNnLlNldHNlcmlhbFwgY29uZmlnIDpjYWwgU2V0U3luKCJzZXRzZXJpYWwiKTxDUj4KK2FuIDUwLjkwLjUzMCAmU3ludGF4LlItU2cuU0dNTC5TR01MXCBjYXRhbG9nIDpjYWwgU2V0U3luKCJjYXRhbG9nIik8Q1I+CithbiA1MC45MC41NDAgJlN5bnRheC5SLVNnLlNHTUwuU0dNTFwgRFREIDpjYWwgU2V0U3luKCJzZ21sIik8Q1I+CithbiA1MC45MC41NTAgJlN5bnRheC5SLVNnLlNHTUwuU0dNTFwgRGVjbGFyYXRpb24gOmNhbCBTZXRTeW4oInNnbWxkZWNsIik8Q1I+CithbiA1MC45MC41NjAgJlN5bnRheC5SLVNnLlNHTUwuU0dNTC1saW51eGRvYyA6Y2FsIFNldFN5bigic2dtbGxueCIpPENSPgogYW4gNTAuMTAwLjEwMCAmU3ludGF4LlNoLVMuU2hlbGxcIHNjcmlwdC5zaFwgYW5kXCBrc2ggOmNhbCBTZXRTeW4oInNoIik8Q1I+CiBhbiA1MC4xMDAuMTEwICZTeW50YXguU2gtUy5TaGVsbFwgc2NyaXB0LmNzaCA6Y2FsIFNldFN5bigiY3NoIik8Q1I+CiBhbiA1MC4xMDAuMTIwICZTeW50YXguU2gtUy5TaGVsbFwgc2NyaXB0LnRjc2ggOmNhbCBTZXRTeW4oInRjc2giKTxDUj4KZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L2FkYS52aW0gYi9ydW50aW1lL3N5bnRheC9hZGEudmltCmluZGV4IGYzMTc3MDAuLjhkNzZmYjggMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc3ludGF4L2FkYS52aW0KKysrIGIvcnVudGltZS9zeW50YXgvYWRhLnZpbQpAQCAtOSw5ICs5LDkgQEAKICIgQ29udHJpYnV0b3JzOiBQcmViZW4gUmFuZGhvbC4KICIgICAgICAkQXV0aG9yJAogIgkgJERhdGUkCi0iICAgICAgVmVyc2lvbjogNC4yCisiICAgICAgVmVyc2lvbjogNC42CiAiICAgICRSZXZpc2lvbiQKLSIgICAgICRIZWFkVVJMOiBodHRwczovL3N2bi5zb3VyY2Vmb3JnZS5uZXQvc3Zucm9vdC9nbnVhZGEvdHJ1bmsvdG9vbHMvdmltL3N5bnRheC9hZGEudmltICQKKyIgICAgICRIZWFkVVJMOiBodHRwczovL2dudWFkYS5zdm4uc291cmNlZm9yZ2UubmV0L3N2bnJvb3QvZ251YWRhL3RydW5rL3Rvb2xzL3ZpbS9zeW50YXgvYWRhLnZpbSAkCiAiCQlodHRwOi8vd3d3LmR3aGVlbGVyLmNvbS92aW0KICIgICAgICBIaXN0b3J5OiAyNC4wNS4yMDA2IE1LIFVuaWZpZWQgSGVhZGVycwogIgkJMjYuMDUuMjAwNiBNSyAnIHNob3VsZCBub3QgYmUgaW4gaXNrZXl3b3JkLgpAQCAtMzgsOCArMzgsNiBAQAogIiBTZWN0aW9uOiBBZGEgaXMgZW50aXJlbHkgY2FzZS1pbnNlbnNpdGl2ZS4ge3t7MQogIgogc3ludGF4ICAgY2FzZSBpZ25vcmUKLXNldGxvY2FsIG5vc21hcnRjYXNlCi1zZXRsb2NhbCBpZ25vcmVjYXNlCiAKICIgU2VjdGlvbjogSGlnaGxpZ2h0aW5nIGNvbW1hbmRzIHt7ezEKICIKQEAgLTk4LDcgKzk2LDggQEAKICIKIGlmIGV4aXN0cygiZzphZGFfcmFpbmJvd19jb2xvciIpCiAgICAgc3ludGF4IG1hdGNoCWFkYVNwZWNpYWwJICJbOjsuLF0iCi0gICAgcnVudGltZSBwbHVnaW4vUmFpbmJvd19QYXJlbnRoc2lzLnZpbQorICAgIGNhbGwgcmFpbmJvd19wYXJlbnRoc2lzI0xvYWRSb3VuZCAoKQorICAgIGNhbGwgcmFpbmJvd19wYXJlbnRoc2lzI0FjdGl2YXRlICgpCiBlbHNlCiAgICAgc3ludGF4IG1hdGNoCWFkYVNwZWNpYWwJICJbOjsoKS4sXSIKIGVuZGlmCkBAIC0xNTksNyArMTU4LDcgQEAKICIgU2VjdGlvbjogZW5kIHt7ezEKICIgVW5sZXNzIHNwZWNpYWwgKCJlbmQgbG9vcCIsICJlbmQgaWYiLCBldGMuKSwgImVuZCIgbWFya3MgdGhlIGVuZCBvZiBhCiAiIGJlZ2luLCBwYWNrYWdlLCB0YXNrIGV0Yy4gQXNzaWdpbmcgaXQgdG8gYWRhRW5kLgotc3ludGF4IG1hdGNoICAgIGFkYUVuZAkiXDxlbmRcPiIKK3N5bnRheCBtYXRjaCAgICBhZGFFbmQJL1w8ZW5kXD4vCiAKIHN5bnRheCBrZXl3b3JkICBhZGFQcmVwcm9jCQkgcHJhZ21hCiAKQEAgLTM0Niw5ICszNDUsNiBAQAogZW5kaWYKIAogCi0iIFNlY3Rpb246IGZvcm1hdG9wdGlvbnMge3t7MQotIgotc2V0bG9jYWwgZm9ybWF0b3B0aW9ucys9cm9uCiAKICIgU2VjdGlvbjogc3luYyB7e3sxCiAiCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9kZWJjaGFuZ2Vsb2cudmltIGIvcnVudGltZS9zeW50YXgvZGViY2hhbmdlbG9nLnZpbQppbmRleCAyOGZlODU0Li5lNzUxZmJjIDEwMDY0NAotLS0gYS9ydW50aW1lL3N5bnRheC9kZWJjaGFuZ2Vsb2cudmltCisrKyBiL3J1bnRpbWUvc3ludGF4L2RlYmNoYW5nZWxvZy52aW0KQEAgLTE5LDcgKzE5LDcgQEAKICIgRGVmaW5lIHNvbWUgY29tbW9uIGV4cHJlc3Npb25zIHdlIGNhbiB1c2UgbGF0ZXIgb24KIHN5biBtYXRjaCBkZWJjaGFuZ2Vsb2dOYW1lCWNvbnRhaW5lZCAiXltbOmFscGhhOl1dW1s6YWxudW06XS4rLV1cKyAiCiBzeW4gbWF0Y2ggZGViY2hhbmdlbG9nVXJnZW5jeQljb250YWluZWQgIjsgdXJnZW5jeT1cKGxvd1x8bWVkaXVtXHxoaWdoXHxjcml0aWNhbFx8ZW1lcmdlbmN5XClcKCBcUy4qXClcPSIKLXN5biBtYXRjaCBkZWJjaGFuZ2Vsb2dUYXJnZXQJY29udGFpbmVkICJcKCBcKG9sZFwpXD1zdGFibGVcfCBmcm96ZW5cfCB1bnN0YWJsZVx8IHRlc3RpbmctcHJvcG9zZWQtdXBkYXRlc1x8IGV4cGVyaW1lbnRhbFx8IFwlKHNhcmdlXHxldGNoXHxsZW5ueVwpLVwlKGJhY2twb3J0c1x8LXZvbGF0aWxlXClcfCBcKG9sZFwpXD1zdGFibGUtc2VjdXJpdHlcfCB0ZXN0aW5nLXNlY3VyaXR5XHwgXChkYXBwZXJcfGVkZ3lcfGZlaXN0eVx8Z3V0c3lcfGhhcmR5XClcKC1cKHNlY3VyaXR5XHxwcm9wb3NlZFx8dXBkYXRlc1x8YmFja3BvcnRzXHxjb21tZXJjaWFsXHxwYXJ0bmVyXClcKVw/XClcKyIKK3N5biBtYXRjaCBkZWJjaGFuZ2Vsb2dUYXJnZXQJY29udGFpbmVkICJcdiAlKCUob2xkKT1zdGFibGV8ZnJvemVufHVuc3RhYmxlfCUodGVzdGluZy18JShvbGQpPXN0YWJsZS0pPXByb3Bvc2VkLXVwZGF0ZXN8ZXhwZXJpbWVudGFsfCUoc2FyZ2V8ZXRjaHxsZW5ueSktJShiYWNrcG9ydHN8dm9sYXRpbGUpfCUodGVzdGluZ3wlKG9sZCk9c3RhYmxlKS1zZWN1cml0eXwlKGRhcHBlcnxmZWlzdHl8Z3V0c3l8aGFyZHl8aW50cmVwaWQpJSgtJShzZWN1cml0eXxwcm9wb3NlZHx1cGRhdGVzfGJhY2twb3J0c3xjb21tZXJjaWFsfHBhcnRuZXIpKT0pKyIKIHN5biBtYXRjaCBkZWJjaGFuZ2Vsb2dWZXJzaW9uCWNvbnRhaW5lZCAiKC5cey19KSIKIHN5biBtYXRjaCBkZWJjaGFuZ2Vsb2dDbG9zZXMJY29udGFpbmVkICJjbG9zZXM6XF9zKlwoYnVnXClcPSNcPVxfc1w9XGRcK1woLFxfcypcKGJ1Z1wpXD0jXD1cX3NcPVxkXCtcKSoiCiBzeW4gbWF0Y2ggZGViY2hhbmdlbG9nTFAJY29udGFpbmVkICJcY2xwOlxzXCsjXGRcK1woLFxzKiNcZFwrXCkqIgpkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvZGViY29udHJvbC52aW0gYi9ydW50aW1lL3N5bnRheC9kZWJjb250cm9sLnZpbQppbmRleCAzYjAxZmI1Li5kNTZhMzQyIDEwMDY0NAotLS0gYS9ydW50aW1lL3N5bnRheC9kZWJjb250cm9sLnZpbQorKysgYi9ydW50aW1lL3N5bnRheC9kZWJjb250cm9sLnZpbQpAQCAtMzQsNiArMzQsNyBAQAogc3luIG1hdGNoIGRlYmNvbnRyb2xTZWN0aW9uIGNvbnRhaW5lZCAiXChcKGNvbnRyaWJcfG5vbi1mcmVlXHxub24tVVMvbWFpblx8bm9uLVVTL2NvbnRyaWJcfG5vbi1VUy9ub24tZnJlZVx8cmVzdHJpY3RlZFx8dW5pdmVyc2VcfG11bHRpdmVyc2VcKS9cKVw9XChhZG1pblx8YmFzZVx8Y29tbVx8ZGV2ZWxcfGRvY1x8ZWRpdG9yc1x8ZWxlY3Ryb25pY3NcfGVtYmVkZGVkXHxnYW1lc1x8Z25vbWVcfGdyYXBoaWNzXHxoYW1yYWRpb1x8aW50ZXJwcmV0ZXJzXHxrZGVcfGxpYnNcfGxpYmRldmVsXHxtYWlsXHxtYXRoXHxtaXNjXHxuZXRcfG5ld3NcfG9sZGxpYnNcfG90aGVyb3Nmc1x8cGVybFx8cHl0aG9uXHxzY2llbmNlXHxzaGVsbHNcfHNvdW5kXHx0ZXh0XHx0ZXhcfHV0aWxzXHx3ZWJcfHgxMVx8ZGViaWFuLWluc3RhbGxlclwpIgogc3luIG1hdGNoIGRlYmNvbnRyb2xQYWNrYWdlVHlwZSBjb250YWluZWQgInVcP2RlYiIKIHN5biBtYXRjaCBkZWJjb250cm9sVmFyaWFibGUgY29udGFpbmVkICJcJHsuXHstfX0iCitzeW4gbWF0Y2ggZGViY29udHJvbERtVXBsb2FkIGNvbnRhaW5lZCAiXGN5ZXMiCiAKICIgQSBVUkwgKHVzaW5nIHRoZSBkb21haW4gbmFtZSBkZWZpbml0aW9ucyBmcm9tIFJGQyAxMDM0IGFuZCAxNzM4KSwgcmlnaHQgbm93CiAiIG9ubHkgZW5mb3JjZSBwcm90b2NvbCBhbmQgc29tZSBzYW5pdHkgb24gdGhlIHNlcnZlci9wYXRoIHBhcnQ7CkBAIC01Miw3ICs1Myw3IEBACiBzeW4gY2FzZSBpZ25vcmUKIAogIiBMaXN0IG9mIGFsbCBsZWdhbCBrZXlzCi1zeW4gbWF0Y2ggZGViY29udHJvbEtleSBjb250YWluZWQgIl5cKFNvdXJjZVx8UGFja2FnZVx8U2VjdGlvblx8UHJpb3JpdHlcfE1haW50YWluZXJcfFVwbG9hZGVyc1x8QnVpbGQtRGVwZW5kc1x8QnVpbGQtQ29uZmxpY3RzXHxCdWlsZC1EZXBlbmRzLUluZGVwXHxCdWlsZC1Db25mbGljdHMtSW5kZXBcfFN0YW5kYXJkcy1WZXJzaW9uXHxQcmUtRGVwZW5kc1x8RGVwZW5kc1x8UmVjb21tZW5kc1x8U3VnZ2VzdHNcfFByb3ZpZGVzXHxSZXBsYWNlc1x8Q29uZmxpY3RzXHxFc3NlbnRpYWxcfEFyY2hpdGVjdHVyZVx8RGVzY3JpcHRpb25cfEJ1Z3NcfE9yaWdpblx8RW5oYW5jZXNcfEhvbWVwYWdlXHxcKFhTLVwpXD1WY3MtXChCcm93c2VyXHxBcmNoXHxCenJcfEN2c1x8RGFyY3NcfEdpdFx8SGdcfE10blx8U3ZuXClcfFhDLVBhY2thZ2UtVHlwZVwpOiAqIgorc3luIG1hdGNoIGRlYmNvbnRyb2xLZXkgY29udGFpbmVkICJeXChTb3VyY2VcfFBhY2thZ2VcfFNlY3Rpb25cfFByaW9yaXR5XHxNYWludGFpbmVyXHxVcGxvYWRlcnNcfEJ1aWxkLURlcGVuZHNcfEJ1aWxkLUNvbmZsaWN0c1x8QnVpbGQtRGVwZW5kcy1JbmRlcFx8QnVpbGQtQ29uZmxpY3RzLUluZGVwXHxTdGFuZGFyZHMtVmVyc2lvblx8UHJlLURlcGVuZHNcfERlcGVuZHNcfFJlY29tbWVuZHNcfFN1Z2dlc3RzXHxQcm92aWRlc1x8UmVwbGFjZXNcfENvbmZsaWN0c1x8RXNzZW50aWFsXHxBcmNoaXRlY3R1cmVcfERlc2NyaXB0aW9uXHxCdWdzXHxPcmlnaW5cfEVuaGFuY2VzXHxIb21lcGFnZVx8XChYUy1cKVw9VmNzLVwoQnJvd3Nlclx8QXJjaFx8QnpyXHxDdnNcfERhcmNzXHxHaXRcfEhnXHxNdG5cfFN2blwpXHxYQy1QYWNrYWdlLVR5cGVcfFwlKFhTLVwpXD1ETS1VcGxvYWQtQWxsb3dlZFwpOiAqIgogCiAiIEZpZWxkcyBmb3Igd2hpY2ggd2UgZG8gc3RyaWN0IHN5bnRheCBjaGVja2luZwogc3luIHJlZ2lvbiBkZWJjb250cm9sU3RyaWN0RmllbGQgc3RhcnQ9Il5BcmNoaXRlY3R1cmUiIGVuZD0iJCIgY29udGFpbnM9ZGViY29udHJvbEtleSxkZWJjb250cm9sQXJjaGl0ZWN0dXJlLGRlYmNvbnRyb2xTcGFjZSBvbmVsaW5lCkBAIC02NSw2ICs2Niw3IEBACiBzeW4gcmVnaW9uIGRlYmNvbnRyb2xTdHJpY3RGaWVsZCBzdGFydD0iXlwlKFhTLVwpXD9WY3MtU3ZuIiBlbmQ9IiQiIGNvbnRhaW5zPWRlYmNvbnRyb2xLZXksZGViY29udHJvbFZjc1N2bixkZWJjb250cm9sSFRUUFVybCBvbmVsaW5lIGtlZXBlbmQKIHN5biByZWdpb24gZGViY29udHJvbFN0cmljdEZpZWxkIHN0YXJ0PSJeXCUoWFMtXClcP1Zjcy1DdnMiIGVuZD0iJCIgY29udGFpbnM9ZGViY29udHJvbEtleSxkZWJjb250cm9sVmNzQ3ZzIG9uZWxpbmUga2VlcGVuZAogc3luIHJlZ2lvbiBkZWJjb250cm9sU3RyaWN0RmllbGQgc3RhcnQ9Il5cJShYUy1cKVw/VmNzLUdpdCIgZW5kPSIkIiBjb250YWlucz1kZWJjb250cm9sS2V5LGRlYmNvbnRyb2xWY3NHaXQgb25lbGluZSBrZWVwZW5kCitzeW4gcmVnaW9uIGRlYmNvbnRyb2xTdHJpY3RGaWVsZCBzdGFydD0iXlwlKFhTLVwpXD9ETS1VcGxvYWQtQWxsb3dlZCIgZW5kPSIkIiBjb250YWlucz1kZWJjb250cm9sS2V5LGRlYmNvbnRyb2xEbVVwbG9hZCBvbmVsaW5lCiAKICIgQ2F0Y2gtYWxsIGZvciB0aGUgb3RoZXIgbGVnYWwgZmllbGRzCiBzeW4gcmVnaW9uIGRlYmNvbnRyb2xGaWVsZCBzdGFydD0iXlwoTWFpbnRhaW5lclx8U3RhbmRhcmRzLVZlcnNpb25cfEVzc2VudGlhbFx8QnVnc1x8T3JpZ2luXHxYXChTXHxCXCktUHl0aG9uLVZlcnNpb25cfFhTQkMtT3JpZ2luYWwtTWFpbnRhaW5lclx8XChYUy1cKVw/VmNzLU10blwpOiIgZW5kPSIkIiBjb250YWlucz1kZWJjb250cm9sS2V5LGRlYmNvbnRyb2xWYXJpYWJsZSxkZWJjb250cm9sRW1haWwgb25lbGluZQpAQCAtOTQsNiArOTYsNyBAQAogICBIaUxpbmsgZGViY29udHJvbFZjc0N2cwlJZGVudGlmaWVyCiAgIEhpTGluayBkZWJjb250cm9sVmNzR2l0CUlkZW50aWZpZXIKICAgSGlMaW5rIGRlYmNvbnRyb2xIVFRQVXJsCUlkZW50aWZpZXIKKyAgSGlMaW5rIGRlYmNvbnRyb2xEbVVwbG9hZAlJZGVudGlmaWVyCiAgIEhpTGluayBkZWJjb250cm9sQ29tbWVudAlDb21tZW50CiAgIEhpTGluayBkZWJjb250cm9sRWxzZQkJU3BlY2lhbAogCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9kZWJzb3VyY2VzLnZpbSBiL3J1bnRpbWUvc3ludGF4L2RlYnNvdXJjZXMudmltCmluZGV4IGM5NTJlZDguLjBhZTA1YWIgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc3ludGF4L2RlYnNvdXJjZXMudmltCisrKyBiL3J1bnRpbWUvc3ludGF4L2RlYnNvdXJjZXMudmltCkBAIC0xLDEyICsxLDkgQEAKICIgVmltIHN5bnRheCBmaWxlCi0iIExhbmd1YWdlOglEZWJpYW4gc291cmNlcy5saXN0Ci0iIE1haW50YWluZXI6CU1hdHRoaWpzIE1vaGxtYW5uIDxtYXR0aGlqc0BjYWNob2xvbmcubmw+Ci0iIExhc3QgQ2hhbmdlOgkkRGF0ZSQKLSIgVVJMOiBodHRwOi8vd3d3LmNhY2hvbG9uZy5ubC9+bWF0dGhpanMvdmltL3N5bnRheC9kZWJzb3VyY2VzLnZpbQotIiAkUmV2aXNpb24kCi0KLSIgdGhpcyBpcyBhIHZlcnkgc2ltcGxlIHN5bnRheCBmaWxlIC0gSSB3aWxsIGJlIGltcHJvdmluZyBpdAotIiBhZGQgZW50aXJlIERFRklORSBzeW50YXgKKyIgTGFuZ3VhZ2U6ICAgICBEZWJpYW4gc291cmNlcy5saXN0CisiIE1haW50YWluZXI6ICAgRGViaWFuIFZpbSBNYWludGFpbmVycyA8cGtnLXZpbS1tYWludGFpbmVyc0BsaXN0cy5hbGlvdGguZGViaWFuLm9yZz4KKyIgRm9ybWVyIE1haW50YWluZXI6IE1hdHRoaWpzIE1vaGxtYW5uIDxtYXR0aGlqc0BjYWNob2xvbmcubmw+CisiIExhc3QgQ2hhbmdlOiAyMDA4LTA0LTI1CisiIFVSTDogaHR0cDovL2dpdC5kZWJpYW4ub3JnLz9wPXBrZy12aW0vdmltLmdpdDthPWJsb2JfcGxhaW47Zj1ydW50aW1lL3N5bnRheC9kZWJzb3VyY2VzLnZpbTtoYj1kZWJpYW4KIAogIiBTdGFuZGFyZCBzeW50YXggaW5pdGlhbGl6YXRpb24KIGlmIHZlcnNpb24gPCA2MDAKQEAgLTE5LDE0ICsxNiwxNCBAQAogc3luIGNhc2UgbWF0Y2gKIAogIiBBIGJ1bmNoIG9mIHVzZWZ1bCBrZXl3b3Jkcwotc3luIG1hdGNoIGRlYnNvdXJjZXNLZXl3b3JkICAgICAgICAvXChkZWItc3JjXHxkZWJcfG1haW5cfGNvbnRyaWJcfG5vbi1mcmVlXCkvCitzeW4gbWF0Y2ggZGVic291cmNlc0tleXdvcmQgICAgICAgIC9cKGRlYi1zcmNcfGRlYlx8bWFpblx8Y29udHJpYlx8bm9uLWZyZWVcfHJlc3RyaWN0ZWRcfHVuaXZlcnNlXHxtdWx0aXZlcnNlXCkvCiAKICIgTWF0Y2ggY29tbWVudHMKIHN5biBtYXRjaCBkZWJzb3VyY2VzQ29tbWVudCAgICAgICAgLyMuKi8KIAogIiBNYXRjaCB1cmkncwotc3luIG1hdGNoIGRlYnNvdXJjZXNVcmkgICAgICAgICAgICArXChodHRwOi8vXHxmdHA6Ly9cfGZpbGU6Ly8vXClbXicgCTw+Il1cKysKLXN5biBtYXRjaCBkZWJzb3VyY2VzRGlzdHJLZXl3b3JkICAgK1woW1s6YWxudW06XV8uL10qXClcKHdvb2R5XHxzYXJnZVx8ZXRjaFx8b2xkLXN0YWJsZVx8c3RhYmxlXHx0ZXN0aW5nXHx1bnN0YWJsZVx8c2lkXHxleHBlcmltZW50YWxcfHdhcnR5XHxob2FyeVx8YnJlZXp5XClcKFtbOmFsbnVtOl1fLi9dKlwpKworc3luIG1hdGNoIGRlYnNvdXJjZXNVcmkgICAgICAgICAgICArXChodHRwOi8vXHxmdHA6Ly9cfFtyc11zaDovL1x8ZGVidG9ycmVudDovL1x8XChjZHJvbVx8Y29weVx8ZmlsZVwpOlwpW14nIAk8PiJdXCsrCitzeW4gbWF0Y2ggZGVic291cmNlc0Rpc3RyS2V5d29yZCAgICtcKFtbOmFsbnVtOl1fLi9dKlwpXChzYXJnZVx8ZXRjaFx8bGVubnlcfFwob2xkXClcPXN0YWJsZVx8dGVzdGluZ1x8dW5zdGFibGVcfHNpZFx8ZXhwZXJpbWVudGFsXHxkYXBwZXJcfGZlaXN0eVx8Z3V0c3lcfGhhcmR5XHxpbnRyZXBpZFwpXChbLVs6YWxudW06XV8uL10qXCkrCiAKICIgQXNzb2NpYXRlIG91ciBtYXRjaGVzIGFuZCByZWdpb25zIHdpdGggcHJldHR5IGNvbG91cnMKIGhpIGRlZiBsaW5rIGRlYnNvdXJjZXNMaW5lICAgICAgICAgICAgRXJyb3IKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L2VydWJ5LnZpbSBiL3J1bnRpbWUvc3ludGF4L2VydWJ5LnZpbQppbmRleCAyMmE4NDUzLi40NmU1NzA0IDEwMDY0NAotLS0gYS9ydW50aW1lL3N5bnRheC9lcnVieS52aW0KKysrIGIvcnVudGltZS9zeW50YXgvZXJ1YnkudmltCkBAIC0yMiw3ICsyMiw3IEBACiAgIGxldCBzOmxpbmVzID0gZ2V0bGluZSgxKS4iXG4iLmdldGxpbmUoMikuIlxuIi5nZXRsaW5lKDMpLiJcbiIuZ2V0bGluZSg0KS4iXG4iLmdldGxpbmUoNSkuIlxuIi5nZXRsaW5lKCIkIikKICAgbGV0IGI6ZXJ1Ynlfc3VidHlwZSA9IG1hdGNoc3RyKHM6bGluZXMsJ2VydWJ5X3N1YnR5cGU9XHpzXHdcKycpCiAgIGlmIGI6ZXJ1Ynlfc3VidHlwZSA9PSAnJwotICAgIGxldCBiOmVydWJ5X3N1YnR5cGUgPSBtYXRjaHN0cihzdWJzdGl0dXRlKGV4cGFuZCgiJTp0IiksJ1xjXCUoXC5lcmJcKVwrJCcsJycsJycpLCdcLlx6c1x3XCskJykKKyAgICBsZXQgYjplcnVieV9zdWJ0eXBlID0gbWF0Y2hzdHIoc3Vic3RpdHV0ZShleHBhbmQoIiU6dCIpLCdcY1wlKFwuZXJiXHxcLmVydWJ5XClcKyQnLCcnLCcnKSwnXC5cenNcd1wrJCcpCiAgIGVuZGlmCiAgIGlmIGI6ZXJ1Ynlfc3VidHlwZSA9PSAncmh0bWwnCiAgICAgbGV0IGI6ZXJ1Ynlfc3VidHlwZSA9ICdodG1sJwpAQCAtNTUsMzEgKzU1LDIwIEBACiAKIHN5biBjbHVzdGVyIGVydWJ5UmVnaW9ucyBjb250YWlucz1lcnVieU9uZUxpbmVyLGVydWJ5QmxvY2ssZXJ1YnlFeHByZXNzaW9uLGVydWJ5Q29tbWVudAogCi1leGUgJ3N5biByZWdpb24gIGVydWJ5T25lTGluZXIgICBtYXRjaGdyb3VwPWVydWJ5RGVsaW1pdGVyIHN0YXJ0PSJeJVx7MSwnLmI6ZXJ1YnlfbmVzdF9sZXZlbC4nXH0lXEAhIiAgICBlbmQ9IiQiICAgICBjb250YWlucz1AcnVieVRvcAkgICAgIGNvbnRhaW5lZGluPUFMTEJVVCxAZXJiUmVnaW9ucyBrZWVwZW5kIG9uZWxpbmUnCi1leGUgJ3N5biByZWdpb24gIGVydWJ5QmxvY2sgICAgICBtYXRjaGdyb3VwPWVydWJ5RGVsaW1pdGVyIHN0YXJ0PSI8JVx7MSwnLmI6ZXJ1YnlfbmVzdF9sZXZlbC4nXH0lXEAhLVw9IiBlbmQ9Ii1cPSU+IiBjb250YWlucz1AcnVieVRvcAkgICAgIGNvbnRhaW5lZGluPUFMTEJVVCxAZXJiUmVnaW9ucycKLWV4ZSAnc3luIHJlZ2lvbiAgZXJ1YnlFeHByZXNzaW9uIG1hdGNoZ3JvdXA9ZXJ1YnlEZWxpbWl0ZXIgc3RhcnQ9IjwlXHsxLCcuYjplcnVieV9uZXN0X2xldmVsLidcfT0iICAgICAgIGVuZD0iLVw9JT4iIGNvbnRhaW5zPUBydWJ5VG9wCSAgICAgY29udGFpbmVkaW49QUxMQlVULEBlcmJSZWdpb25zJwotZXhlICdzeW4gcmVnaW9uICBlcnVieUNvbW1lbnQgICAgbWF0Y2hncm91cD1lcnVieURlbGltaXRlciBzdGFydD0iPCVcezEsJy5iOmVydWJ5X25lc3RfbGV2ZWwuJ1x9IyIgICAgICAgZW5kPSItXD0lPiIgY29udGFpbnM9cnVieVRvZG8sQFNwZWxsIGNvbnRhaW5lZGluPUFMTEJVVCxAZXJiUmVnaW9ucyBrZWVwZW5kJworZXhlICdzeW4gcmVnaW9uICBlcnVieU9uZUxpbmVyICAgbWF0Y2hncm91cD1lcnVieURlbGltaXRlciBzdGFydD0iXiVcezEsJy5iOmVydWJ5X25lc3RfbGV2ZWwuJ1x9JVxAISIgICAgZW5kPSIkIiAgICAgY29udGFpbnM9QHJ1YnlUb3AJICAgICBjb250YWluZWRpbj1BTExCVVQsQGVydWJ5UmVnaW9ucyBrZWVwZW5kIG9uZWxpbmUnCitleGUgJ3N5biByZWdpb24gIGVydWJ5QmxvY2sgICAgICBtYXRjaGdyb3VwPWVydWJ5RGVsaW1pdGVyIHN0YXJ0PSI8JVx7MSwnLmI6ZXJ1YnlfbmVzdF9sZXZlbC4nXH0lXEAhLVw9IiBlbmQ9Ii1cPSVcQDwhJVx7MSwnLmI6ZXJ1YnlfbmVzdF9sZXZlbC4nXH0+IiBjb250YWlucz1AcnVieVRvcCAgICAgICAgY29udGFpbmVkaW49QUxMQlVULEBlcnVieVJlZ2lvbnMga2VlcGVuZCcKK2V4ZSAnc3luIHJlZ2lvbiAgZXJ1YnlFeHByZXNzaW9uIG1hdGNoZ3JvdXA9ZXJ1YnlEZWxpbWl0ZXIgc3RhcnQ9IjwlXHsxLCcuYjplcnVieV9uZXN0X2xldmVsLidcfT0iICAgICAgIGVuZD0iLVw9JVxAPCElXHsxLCcuYjplcnVieV9uZXN0X2xldmVsLidcfT4iIGNvbnRhaW5zPUBydWJ5VG9wICAgICAgICBjb250YWluZWRpbj1BTExCVVQsQGVydWJ5UmVnaW9ucyBrZWVwZW5kJworZXhlICdzeW4gcmVnaW9uICBlcnVieUNvbW1lbnQgICAgbWF0Y2hncm91cD1lcnVieURlbGltaXRlciBzdGFydD0iPCVcezEsJy5iOmVydWJ5X25lc3RfbGV2ZWwuJ1x9IyIgICAgICAgZW5kPSItXD0lXEA8ISVcezEsJy5iOmVydWJ5X25lc3RfbGV2ZWwuJ1x9PiIgY29udGFpbnM9cnVieVRvZG8sQFNwZWxsIGNvbnRhaW5lZGluPUFMTEJVVCxAZXJ1YnlSZWdpb25zIGtlZXBlbmQnCiAKICIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KLSIgRm9yIHZlcnNpb24gNS43IGFuZCBlYXJsaWVyOiBvbmx5IHdoZW4gbm90IGRvbmUgYWxyZWFkeQotIiBGb3IgdmVyc2lvbiA1LjggYW5kIGxhdGVyOiBvbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAotaWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX2VydWJ5X3N5bnRheF9pbml0cyIpCi0gIGlmIHZlcnNpb24gPCA1MDgKLSAgICBsZXQgZGlkX3J1Ynlfc3ludGF4X2luaXRzID0gMQotICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+Ci0gIGVsc2UKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KLSAgZW5kaWYKIAotICBIaUxpbmsgZXJ1YnlEZWxpbWl0ZXIJCURlbGltaXRlcgotICBIaUxpbmsgZXJ1YnlDb21tZW50CQlDb21tZW50CitoaSBkZWYgbGluayBlcnVieURlbGltaXRlcgkJRGVsaW1pdGVyCitoaSBkZWYgbGluayBlcnVieUNvbW1lbnQJCUNvbW1lbnQKIAotICBkZWxjb21tYW5kIEhpTGluawotZW5kaWYKIGxldCBiOmN1cnJlbnRfc3ludGF4ID0gJ2VydWJ5JwogCiBpZiBtYWluX3N5bnRheCA9PSAnZXJ1YnknCiAgIHVubGV0IG1haW5fc3ludGF4CiBlbmRpZgogCi0iIHZpbTogbm93cmFwIHN3PTIgc3RzPTIgdHM9OCA6CisiIHZpbTogbm93cmFwIHN3PTIgc3RzPTIgdHM9ODoKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L2hhbWwudmltIGIvcnVudGltZS9zeW50YXgvaGFtbC52aW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGIyMmQ4YwotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvc3ludGF4L2hhbWwudmltCkBAIC0wLDAgKzEsODUgQEAKKyIgVmltIHN5bnRheCBmaWxlCisiIExhbmd1YWdlOiAgICAgSGFtbAorIiBNYWludGFpbmVyOiAgIFRpbSBQb3BlIDx2aW1OT1NQQU1AdHBvcGUuaW5mbz4KKyIgRmlsZW5hbWVzOiAgICAqLmhhbWwKKworaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyAgZmluaXNoCitlbmRpZgorCitpZiAhZXhpc3RzKCJtYWluX3N5bnRheCIpCisgIGxldCBtYWluX3N5bnRheCA9ICdoYW1sJworZW5kaWYKK2xldCBiOnJ1Ynlfbm9fZXhwZW5zaXZlID0gMQorCitydW50aW1lISBzeW50YXgvaHRtbC52aW0KK3VubGV0ISBiOmN1cnJlbnRfc3ludGF4CitzaWxlbnQhIHN5biBpbmNsdWRlIEBoYW1sU2Fzc1RvcCBzeW50YXgvc2Fzcy52aW0KK3VubGV0ISBiOmN1cnJlbnRfc3ludGF4CitzeW4gaW5jbHVkZSBAaGFtbFJ1YnlUb3Agc3ludGF4L3J1YnkudmltCisKK3N5biBjYXNlIG1hdGNoCisKK3N5biBjbHVzdGVyIGhhbWxDb21wb25lbnQgICAgY29udGFpbnM9aGFtbEF0dHJpYnV0ZXMsaGFtbENsYXNzQ2hhcixoYW1sSWRDaGFyLGhhbWxPYmplY3QsaGFtbERlc3BhY2VyLGhhbWxTZWxmQ2xvc2VyLGhhbWxSdWJ5LGhhbWxQbGFpbkNoYXIsaGFtbEludGVycG9sYXRhYmxlCitzeW4gY2x1c3RlciBoYW1sRW1iZWRkZWRSdWJ5IGNvbnRhaW5zPWhhbWxBdHRyaWJ1dGVzLGhhbWxPYmplY3QsaGFtbFJ1YnksaGFtbFJ1YnlGaWx0ZXIKK3N5biBjbHVzdGVyIGhhbWxUb3AgICAgICAgICAgY29udGFpbnM9aGFtbEJlZ2luLGhhbWxQbGFpbkZpbHRlcixoYW1sUnVieUZpbHRlcixoYW1sU2Fzc0ZpbHRlcixoYW1sQ29tbWVudCxoYW1sSHRtbENvbW1lbnQKKworc3luIG1hdGNoICAgaGFtbEJlZ2luICJeXHMqWzw+Jl1cQCEiIG5leHRncm91cD1oYW1sVGFnLGhhbWxBdHRyaWJ1dGVzLGhhbWxDbGFzc0NoYXIsaGFtbElkQ2hhcixoYW1sT2JqZWN0LGhhbWxSdWJ5LGhhbWxQbGFpbkNoYXIsaGFtbEludGVycG9sYXRhYmxlCisKK3N5biBtYXRjaCAgIGhhbWxUYWcgICAgICAgICIlXHdcKyIgY29udGFpbmVkIGNvbnRhaW5zPWh0bWxUYWdOYW1lLGh0bWxTcGVjaWFsVGFnTmFtZSBuZXh0Z3JvdXA9QGhhbWxDb21wb25lbnQKK3N5biByZWdpb24gIGhhbWxBdHRyaWJ1dGVzIG1hdGNoZ3JvdXA9aGFtbEF0dHJpYnV0ZXNEZWxpbWl0ZXIgc3RhcnQ9InsiIGVuZD0ifSIgY29udGFpbmVkIGNvbnRhaW5zPUBoYW1sUnVieVRvcCBuZXh0Z3JvdXA9QGhhbWxDb21wb25lbnQKK3N5biByZWdpb24gIGhhbWxPYmplY3QgICAgIG1hdGNoZ3JvdXA9aGFtbE9iamVjdERlbGltaXRlciAgIHN0YXJ0PSJcWyIgZW5kPSJcXSIgY29udGFpbmVkIGNvbnRhaW5zPUBoYW1sUnVieVRvcCBuZXh0Z3JvdXA9QGhhbWxDb21wb25lbnQKK3N5biBtYXRjaCAgIGhhbWxEZXNwYWNlciAiWzw+XSIgY29udGFpbmVkIG5leHRncm91cD1oYW1sRGVzcGFjZXIsaGFtbFNlbGZDbG9zZXIsaGFtbFJ1YnksaGFtbFBsYWluQ2hhcixoYW1sSW50ZXJwb2xhdGFibGUKK3N5biBtYXRjaCAgIGhhbWxTZWxmQ2xvc2VyICIvIiBjb250YWluZWQKK3N5biBtYXRjaCAgIGhhbWxDbGFzc0NoYXIgIlwuIiBjb250YWluZWQgbmV4dGdyb3VwPWhhbWxDbGFzcworc3luIG1hdGNoICAgaGFtbElkQ2hhciAgICAiIyIgIGNvbnRhaW5lZCBuZXh0Z3JvdXA9aGFtbElkCitzeW4gbWF0Y2ggICBoYW1sQ2xhc3MgIlwlKFx3XHwtXClcKyIgY29udGFpbmVkIG5leHRncm91cD1AaGFtbENvbXBvbmVudAorc3luIG1hdGNoICAgaGFtbElkICAgICJcJShcd1x8LVwpXCsiIGNvbnRhaW5lZCBuZXh0Z3JvdXA9QGhhbWxDb21wb25lbnQKK3N5biByZWdpb24gIGhhbWxEb2NUeXBlIHN0YXJ0PSJeXHMqISEhIiBlbmQ9IiQiCisKK3N5biByZWdpb24gIGhhbWxSdWJ5ICAgbWF0Y2hncm91cD1oYW1sUnVieU91dHB1dENoYXIgc3RhcnQ9Ils9fl0iIGVuZD0iJCIgY29udGFpbmVkIGNvbnRhaW5zPUBoYW1sUnVieVRvcCBrZWVwZW5kCitzeW4gcmVnaW9uICBoYW1sUnVieSAgIG1hdGNoZ3JvdXA9aGFtbFJ1YnlDaGFyICAgICAgIHN0YXJ0PSItIiAgICBlbmQ9IiQiIGNvbnRhaW5lZCBjb250YWlucz1AaGFtbFJ1YnlUb3Aga2VlcGVuZAorc3luIG1hdGNoICAgaGFtbFBsYWluQ2hhciAiXFwiIGNvbnRhaW5lZAorc3luIHJlZ2lvbiBoYW1sSW50ZXJwb2xhdGFibGUgbWF0Y2hncm91cD1oYW1sSW50ZXJwb2xhdGFibGVDaGFyIHN0YXJ0PSI9PSIgZW5kPSIkIiBrZWVwZW5kIGNvbnRhaW5lZCBjb250YWlucz1oYW1sSW50ZXJwb2xhdGlvbgorc3luIHJlZ2lvbiBoYW1sSW50ZXJwb2xhdGlvbiBtYXRjaGdyb3VwPWhhbWxJbnRlcnBvbGF0aW9uRGVsaW1pdGVyIHN0YXJ0PSIjeyIgZW5kPSJ9IiBjb250YWluZWQgY29udGFpbnM9QGhhbWxSdWJ5VG9wCisKK3N5biBtYXRjaCAgIGhhbWxIZWxwZXIgICJcPGFjdGlvbl92aWV3P1x8XC5cQDwhXDxcJShmbGF0dGVuXHxvcGVuXHxwdXRzXCkiIGNvbnRhaW5lZCBjb250YWluZWRpbj1AaGFtbEVtYmVkZGVkUnVieSxAaGFtbFJ1YnlUb3AscnVieUludGVycG9sYXRpb24KK3N5biBrZXl3b3JkIGhhbWxIZWxwZXIgICBjYXB0dXJlX2hhbWwgZmluZF9hbmRfcHJlc2VydmUgIGh0bWxfYXR0cnMgaW5pdF9oYW1sX2hlbHBlcnMgbGlzdF9vZiBwcmVjZWQgcHJlc2VydmUgc3VjY2VlZCBzdXJyb3VuZCB0YWJfZG93biB0YWJfdXAgcGFnZV9jbGFzcyBjb250YWluZWQgY29udGFpbmVkaW49QGhhbWxFbWJlZGRlZFJ1YnksQGhhbWxSdWJ5VG9wLHJ1YnlJbnRlcnBvbGF0aW9uCisKK3N5biByZWdpb24gIGhhbWxQbGFpbkZpbHRlciBtYXRjaGdyb3VwPWhhbWxGaWx0ZXIgc3RhcnQ9Il5ceihccypcKTpcJShwbGFpblx8cHJlc2VydmVcfGVyYlx8cmVkY2xvdGhcfHRleHRpbGVcfG1hcmtkb3duXClccyokIiBlbmQ9Il5cJShcejEgXClcQCEiIGNvbnRhaW5zPWh0bWxUYWcsaHRtbEVuZFRhZyxodG1sU3BlY2lhbENoYXIsaHRtbENvbW1lbnQsQGh0bWxUb3AKK3N5biByZWdpb24gIGhhbWxSdWJ5RmlsdGVyICBtYXRjaGdyb3VwPWhhbWxGaWx0ZXIgc3RhcnQ9Il5ceihccypcKTpydWJ5XHMqJCIgZW5kPSJeXCUoXHoxIFwpXEAhIiBjb250YWlucz1AaGFtbFJ1YnlUb3AKK3N5biByZWdpb24gIGhhbWxTYXNzRmlsdGVyICBtYXRjaGdyb3VwPWhhbWxGaWx0ZXIgc3RhcnQ9Il5ceihccypcKTpzYXNzXHMqJCIgZW5kPSJeXCUoXHoxIFwpXEAhIiBjb250YWlucz1AaGFtbFNhc3NUb3AKKworc3luIHJlZ2lvbiAgaGFtbEphdmFzY3JpcHRCbG9jayBzdGFydD0iXlx6KFxzKlwpJXNjcmlwdCIgbmV4dGdyb3VwPUBoYW1sQ29tcG9uZW50LGhhbWxFcnJvciBlbmQ9Il5cJShcejEgXClcQCEiIGNvbnRhaW5zPUBoYW1sVG9wLEBodG1sSmF2YVNjcmlwdCBrZWVwZW5kCitzeW4gcmVnaW9uICBoYW1sQ3NzQmxvY2sgICAgICAgIHN0YXJ0PSJeXHooXHMqXCklc3R5bGUiIG5leHRncm91cD1AaGFtbENvbXBvbmVudCxoYW1sRXJyb3IgZW5kPSJeXCUoXHoxIFwpXEAhIiBjb250YWlucz1AaGFtbFRvcCxAaHRtbENzcyBrZWVwZW5kCitzeW4gbWF0Y2ggICBoYW1sRXJyb3IgIlwkIiBjb250YWluZWQKKworc3luIHJlZ2lvbiAgaGFtbENvbW1lbnQgICAgIHN0YXJ0PSJeXHooXHMqXCktIyIgZW5kPSJeXCUoXHoxIFwpXEAhIiBjb250YWlucz1ydWJ5VG9kbworc3luIHJlZ2lvbiAgaGFtbEh0bWxDb21tZW50IHN0YXJ0PSJeXHooXHMqXCkvIiBlbmQ9Il5cJShcejEgXClcQCEiIGNvbnRhaW5zPUBoYW1sVG9wLHJ1YnlUb2RvCitzeW4gbWF0Y2ggICBoYW1sSUVDb25kaXRpb25hbCAiXCUoXlxzKi9cKVxAPD1cW2lmXD5bXl1dKl0iIGNvbnRhaW5lZCBjb250YWluZWRpbj1oYW1sSHRtbENvbW1lbnQKKworaGkgZGVmIGxpbmsgaGFtbFNlbGZDbG9zZXIgICAgICAgICAgICAgU3BlY2lhbAoraGkgZGVmIGxpbmsgaGFtbERlc3BhY2VyICAgICAgICAgICAgICAgU3BlY2lhbAoraGkgZGVmIGxpbmsgaGFtbENsYXNzQ2hhciAgICAgICAgICAgICAgU3BlY2lhbAoraGkgZGVmIGxpbmsgaGFtbElkQ2hhciAgICAgICAgICAgICAgICAgU3BlY2lhbAoraGkgZGVmIGxpbmsgaGFtbFRhZyAgICAgICAgICAgICAgICAgICAgU3BlY2lhbAoraGkgZGVmIGxpbmsgaGFtbENsYXNzICAgICAgICAgICAgICAgICAgVHlwZQoraGkgZGVmIGxpbmsgaGFtbElkICAgICAgICAgICAgICAgICAgICAgSWRlbnRpZmllcgoraGkgZGVmIGxpbmsgaGFtbFBsYWluQ2hhciAgICAgICAgICAgICAgU3BlY2lhbAoraGkgZGVmIGxpbmsgaGFtbEludGVycG9sYXRhYmxlQ2hhciAgICAgaGFtbFJ1YnlDaGFyCitoaSBkZWYgbGluayBoYW1sUnVieU91dHB1dENoYXIgICAgICAgICBoYW1sUnVieUNoYXIKK2hpIGRlZiBsaW5rIGhhbWxSdWJ5Q2hhciAgICAgICAgICAgICAgIFNwZWNpYWwKK2hpIGRlZiBsaW5rIGhhbWxJbnRlcnBvbGF0aW9uRGVsaW1pdGVyIERlbGltaXRlcgoraGkgZGVmIGxpbmsgaGFtbERvY1R5cGUgICAgICAgICAgICAgICAgUHJlUHJvYworaGkgZGVmIGxpbmsgaGFtbEZpbHRlciAgICAgICAgICAgICAgICAgUHJlUHJvYworaGkgZGVmIGxpbmsgaGFtbEF0dHJpYnV0ZXNEZWxpbWl0ZXIgICAgRGVsaW1pdGVyCitoaSBkZWYgbGluayBoYW1sT2JqZWN0RGVsaW1pdGVyICAgICAgICBEZWxpbWl0ZXIKK2hpIGRlZiBsaW5rIGhhbWxIZWxwZXIgICAgICAgICAgICAgICAgIEZ1bmN0aW9uCitoaSBkZWYgbGluayBoYW1sSHRtbENvbW1lbnQgICAgICAgICAgICBoYW1sQ29tbWVudAoraGkgZGVmIGxpbmsgaGFtbENvbW1lbnQgICAgICAgICAgICAgICAgQ29tbWVudAoraGkgZGVmIGxpbmsgaGFtbElFQ29uZGl0aW9uYWwgICAgICAgICAgU3BlY2lhbENvbW1lbnQKK2hpIGRlZiBsaW5rIGhhbWxFcnJvciAgICAgICAgICAgICAgICAgIEVycm9yCisKK2xldCBiOmN1cnJlbnRfc3ludGF4ID0gImhhbWwiCisKKyIgdmltOnNldCBzdz0yOgpkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvaGFzdGUudmltIGIvcnVudGltZS9zeW50YXgvaGFzdGUudmltCmluZGV4IGNmOTQzZjEuLmI4ODljNWMgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc3ludGF4L2hhc3RlLnZpbQorKysgYi9ydW50aW1lL3N5bnRheC9oYXN0ZS52aW0KQEAgLTEsOSArMSwxMiBAQAogIiBWaW0gc3ludGF4IGZpbGUKLSIgTGFuZ3VhZ2U6CUhBU1RFCisiIExhbmd1YWdlOglIQVNURSAtIGEgbGFuZ3VhZ2UgZm9yIFZMU0kgSUMgcHJvZ3JhbW1pbmcKICIgTWFpbnRhaW5lcjoJTS4gVHJhbmNoZXJvIC0gbWF1cml6aW8udHJhbmNoZXJvP2dtYWlsLmNvbQogIiBDcmVkaXRzOglzb21lIHBhcnRzIGhhdmUgYmVlbiB0YWtlbiBmcm9tIHZoZGwsIHZlcmlsb2csIGFuZCBDIHN5bnRheAogIgkJZmlsZXMKLSIgdmVyc2lvbjogMC41CisiIFZlcnNpb246CTAuOQorIiBMYXN0IENoYW5nZToJMC45IGltcHJvdmVtZW50IG9mIGhhc3RlIG51bWJlcnMgZGV0ZWN0aW9uCisiIENoYW5nZToJMC44IGVycm9yIG1hdGNoaW5nIGZvciB3cm9uZyBoaWVyYXJjaGljYWwgY29ubmVjdGlvbnMgCisiIENoYW5nZToJMC43IGFkZGVkIG1vcmUgcnVsZXMgdG8gaGlnaGxpZ2h0IHByZS1wcm9jZXNzb3IgZGlyZWN0aXZlcwogCiAiIEhBU1RFCiBpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQpAQCAtNTAsNiArNTMsNyBAQAogc3luIG1hdGNoICAgaGFzdGVTdGF0ZW1lbnQJIlw8XChkb1x8b3JcfG9kXClcPiIKIHN5biBtYXRjaCAgIGhhc3RlU3RhdGVtZW50CSJcPFwoc2VsXHxsZXNcKVw+Igogc3luIG1hdGNoICAgaGFzdGVFcnJvcgkJIlw8XGRcK1tfYS16QS1aXVwrXD4iCitzeW4gbWF0Y2ggICBoYXN0ZUVycm9yCQkiXChcKFtbOmFsbnVtOl1dXCtccyooXHNcK1x8KVxzKixcKVwpXHMqXChbWzphbG51bTpdXVwrXHMqKFwpIgogCiAiIFByZWRpZmluZWQgSGFzdGUgdHlwZXMKIHN5biBrZXl3b3JkIGhhc3RlVHlwZSBib29sCkBAIC02MCwzOSArNjQsMjggQEAKIHN5biBtYXRjaCAgaGFzdGVWZWN0b3IgIjBiXCJbMDFfXVwrXCIiCiBzeW4gbWF0Y2ggIGhhc3RlVmVjdG9yICIweFwiWzAtOWEtZl9dXCtcIiIKIHN5biBtYXRjaCAgaGFzdGVDaGFyYWN0ZXIgIicuJyIKLXN5biByZWdpb24gaGFzdGVTdHJpbmcgc3RhcnQ9KyIrICBlbmQ9KyIrCi0iIEMgcHJlLXByb2Nlc3NvciBkaXJlY3RpdmVzCi0ic3luIHJlZ2lvbiBoYXN0ZUluY2x1ZGVkCWRpc3BsYXkgY29udGFpbmVkIHN0YXJ0PSsiKyBza2lwPStcXFxcXHxcXCIrIGVuZD0rIisKKyIgc3luIHJlZ2lvbiBoYXN0ZVN0cmluZyBzdGFydD0rIisgIGVuZD0rIisKIHN5biBtYXRjaCAgaGFzdGVJbmNsdWRlZAlkaXNwbGF5IGNvbnRhaW5lZCAiPFtePl0qPiIKIHN5biBtYXRjaCAgaGFzdGVJbmNsdWRlZAlkaXNwbGF5IGNvbnRhaW5lZCAiPFteIl0qPiIKLXN5biBtYXRjaCAgaGFzdGVJbmNsdWRlCQlkaXNwbGF5ICJeXHMqI2luY2x1ZGVcPlxzKlsiPF0iIGNvbnRhaW5zPWhhc3RlSW5jbHVkZWQKLXN5biByZWdpb24gaGFzdGVEZWZpbmUJc3RhcnQ9Il5ccypcKCU6XHwjXClccypcKGRlZmluZVx8dW5kZWZcKVw+IiBza2lwPSJcXCQiIGVuZD0iJCIgZW5kPSIvLyJtZT1zLTEgY29udGFpbnM9QUxMQlVULEBoYXN0ZVByZVByb2NHcm91cCxAU3BlbGwKLXN5biByZWdpb24gaGFzdGVEZWZpbmUJc3RhcnQ9Il5ccypcKCU6XHwjXClccypcKGlmbmRlZlx8aWZkZWZcfGVuZGlmXClcPiIgc2tpcD0iXFwkIiBlbmQ9IiQiIGVuZD0iLy8ibWU9cy0xIGNvbnRhaW5zPUBTcGVsbAotc3luIHJlZ2lvbiBoYXN0ZVByZUNvbmRpdAlzdGFydD0iXlxzKlwoJTpcfCNcKVxzKlwoaWZcfGlmZGVmXHxpZm5kZWZcfGVsaWZcKVw+IiBza2lwPSJcXCQiIGVuZD0iJCIgZW5kPSIvLyJtZT1zLTEgY29udGFpbnM9aGFzdGVDb21tZW50LGhhc3RlQ3BwU3RyaW5nLGhhc3RlQ2hhcmFjdGVyLGhhc3RlQ3BwUGFyZW4saGFzdGVQYXJlbkVycm9yLGhhc3RlTnVtYmVycyxoYXN0ZUNvbW1lbnRFcnJvcixoYXN0ZVNwYWNlRXJyb3IKLXN5biByZWdpb24gaGFzdGVQcmVQcm9jCXN0YXJ0PSJeXHMqXCglOlx8I1wpXHMqXChwcmFnbWFcPlx8bGluZVw+XHx3YXJuaW5nXD5cfHdhcm5cPlx8ZXJyb3JcPlwpIiBza2lwPSJcXCQiIGVuZD0iJCIga2VlcGVuZCBjb250YWlucz1BTExCVVQsQGhhc3RlUHJlUHJvY0dyb3VwLEBTcGVsbAotc3luIGNsdXN0ZXIgaGFzdGVQcmVQcm9jR3JvdXAJY29udGFpbnM9aGFzdGVJbmNsdWRlZCxoYXN0ZUluY2x1ZGUsaGFzdGVEZWZpbmUKLXN5biByZWdpb24gaGFzdGVDcHBTa2lwCWNvbnRhaW5lZCBzdGFydD0iXlxzKlwoJTpcfCNcKVxzKlwoaWZcPlx8aWZkZWZcPlx8aWZuZGVmXD5cKSIgc2tpcD0iXFwkIiBlbmQ9Il5ccypcKCU6XHwjXClccyplbmRpZlw+IiBjb250YWlucz1oYXN0ZVNwYWNlRXJyb3IsaGFzdGVDcHBTa2lwCitzeW4gcmVnaW9uIGhhc3RlSW5jbHVkZQlzdGFydD0iXlxzKiNpbmNsdWRlXD5ccyoiIGVuZD0iJCIgY29udGFpbnM9aGFzdGVJbmNsdWRlZCxoYXN0ZVN0cmluZwogCi0iIGZsb2F0aW5nIG51bWJlcnMKLXN5biBtYXRjaCBoYXN0ZU51bWJlciAiLVw9XDxcZFwrXC5cZFwrXChFWytcLV1cPVxkXCtcKVw+Igotc3luIG1hdGNoIGhhc3RlTnVtYmVyICItXD1cPFxkXCtcLlxkXCtcPiIKLXN5biBtYXRjaCBoYXN0ZU51bWJlciAiMCoyI1swMV9dXCtcLlswMV9dXCsjXChFWytcLV1cPVxkXCtcKVw9Igotc3luIG1hdGNoIGhhc3RlTnVtYmVyICIwKjE2I1swLTlhLWZfXVwrXC5bMC05YS1mX11cKyNcKEVbK1wtXVw9XGRcK1wpXD0iCiAiIGludGVnZXIgbnVtYmVycwotc3luIG1hdGNoIGhhc3RlTnVtYmVyICItXD1cPFxkXCtcKEVbK1wtXVw9XGRcK1wpXD4iCitzeW4gbWF0Y2ggaGFzdGVOdW1iZXIgIlxkXCtcXltbOmFsbnVtOl1dKlstK11cezAsMVx9W1s6YWxudW06XV0qIgorc3luIG1hdGNoIGhhc3RlTnVtYmVyICItXD1cPFxkXCtcKFxeWytcLV1cPVxkXCtcKVw+Igogc3luIG1hdGNoIGhhc3RlTnVtYmVyICItXD1cPFxkXCtcPiIKLXN5biBtYXRjaCBoYXN0ZU51bWJlciAiMCoyI1swMV9dXCsjXChFWytcLV1cPVxkXCtcKVw9Igotc3luIG1hdGNoIGhhc3RlTnVtYmVyICIwKjE2I1swLTlhLWZfXVwrI1woRVsrXC1dXD1cZFwrXClcPSIKKyIgc3luIG1hdGNoIGhhc3RlTnVtYmVyICIwKjIjWzAxX11cKyNcKFxeWytcLV1cPVxkXCtcKVw9IgorIiBzeW4gbWF0Y2ggaGFzdGVOdW1iZXIgIjAqMTYjWzAtOWEtZl9dXCsjXChcXlsrXC1dXD1cZFwrXClcPSIKICIgb3BlcmF0b3JzCi1zeW4ga2V5d29yZCBoYXN0ZVNlcGFyYXRvcnMJJiAsIC4gXHwgOiAKK3N5biBrZXl3b3JkIGhhc3RlU2VwYXJhdG9ycwkmICwgLiBcfCAKIHN5biBrZXl3b3JkIGhhc3RlRXhlY3V0aW9uCVx8XHwgOyBACi1zeW4ga2V5d29yZCBoYXN0ZU9wZXJhdG9yCTo9ID8gIQorc3luIGtleXdvcmQgaGFzdGVPcGVyYXRvcgk6PSA/ICEgOgogc3luIGtleXdvcmQgaGFzdGVUeXBlQ29uc3RyCSJbIiA8PCA+PiAuLiAiXSIgfgogc3luIGtleXdvcmQgaGFzdGVFeHByT3AJCTwgPD0gPj0gPiA9ICMgPD4gKyAtICogPT0gIyMKIHN5biBrZXl3b3JkIGhhc3RlTWlzYwkJKCApIDB4IDBiCiAiCiBzeW4gbWF0Y2ggICBoYXN0ZVNlcGFyYXRvcnMJIlsmOlx8LC5dIgogc3luIG1hdGNoICAgaGFzdGVPcGVyYXRvcgkiOj0iCitzeW4gbWF0Y2ggICBoYXN0ZU9wZXJhdG9yCSI6Igogc3luIG1hdGNoICAgaGFzdGVPcGVyYXRvcgkiPyIKIHN5biBtYXRjaCAgIGhhc3RlT3BlcmF0b3IJIiEiCiBzeW4gbWF0Y2ggICBoYXN0ZUV4ZWN1dGlvbgkifHwiCkBAIC0xMTAsNyArMTAzLDcgQEAKIHN5biBtYXRjaCAgIGhhc3RlRXhwck9wCQkiPSIKIHN5biBtYXRjaCAgIGhhc3RlRXhwck9wCQkiPT0iCiBzeW4gbWF0Y2ggICBoYXN0ZUV4cHJPcAkJIiMjIgotc3luIG1hdGNoICAgaGFzdGVFeHByT3AJCSIjIgorIiBzeW4gbWF0Y2ggICBoYXN0ZUV4cHJPcAkJIiMiCiBzeW4gbWF0Y2ggICBoYXN0ZUV4cHJPcAkJIioiCiBzeW4gbWF0Y2ggICBoYXN0ZUV4cHJPcAkJIisiCiAKQEAgLTEzMyw2ICsxMjYsNyBAQAogaGkgZGVmIGxpbmsgaGFzdGVHbG9iYWwJCUVycm9yCiBoaSBkZWYgbGluayBoYXN0ZUVycm9yCQlFcnJvcgogaGkgZGVmIGxpbmsgaGFzdGVBdHRyaWJ1dGUJVHlwZQorIgogaGkgZGVmIGxpbmsgaGFzdGVTZXBhcmF0b3JzCVNwZWNpYWwKIGhpIGRlZiBsaW5rIGhhc3RlRXhlY3V0aW9uCVNwZWNpYWwKIGhpIGRlZiBsaW5rIGhhc3RlVHlwZUNvbnN0cglTcGVjaWFsCkBAIC0xNDMsNyArMTM3LDggQEAKIGhpIGRlZiBsaW5rIGhhc3RlVmVyaWxvZwlFcnJvcgogaGkgZGVmIGxpbmsgaGFzdGVEZWZpbmUJCU1hY3JvCiBoaSBkZWYgbGluayBoYXN0ZUluY2x1ZGUJSW5jbHVkZQotaGkgZGVmIGxpbmsgaGFzdGVQcmVQcm9jCVByZVByb2MKKyIgaGkgZGVmIGxpbmsgaGFzdGVQcmVQcm9jCVByZXByb2MKKyIgaGkgZGVmIGxpbmsgaGFzdGVQcmVQcm9jVmFyCVNwZWNpYWwKIAogbGV0IGI6Y3VycmVudF9zeW50YXggPSAiaGFzdGUiCiAKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L2hhc3RlcHJlcHJvYy52aW0gYi9ydW50aW1lL3N5bnRheC9oYXN0ZXByZXByb2MudmltCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNmY2I4ZGQKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL3N5bnRheC9oYXN0ZXByZXByb2MudmltCkBAIC0wLDAgKzEsNDkgQEAKKyIgVmltIHN5bnRheCBmaWxlCisiIExhbmd1YWdlOglIYXN0ZSBwcmVwcm9jZXNzb3IgZmlsZXMgCisiIE1haW50YWluZXI6CU0uIFRyYW5jaGVybyAtIG1hdXJpemlvLnRyYW5jaGVyb0BnbWFpbC5jb20KKyIgQ3JlZGl0czoJc29tZSBwYXJ0cyBoYXZlIGJlZW4gdGFrZW4gZnJvbSB2aGRsLCB2ZXJpbG9nLCBhbmQgQyBzeW50YXgKKyIJCWZpbGVzCisiIFZlcnNpb246CTAuNQorCisiIEhBU1RFCitpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorICAgIGZpbmlzaAorZW5kaWYKKyIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCisiIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiB2ZXJzaW9uIDwgNjAwCisgIHN5bnRheCBjbGVhcgorZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisgIGZpbmlzaAorZW5kaWYKKyIgUmVhZCB0aGUgQyBzeW50YXggdG8gc3RhcnQgd2l0aAoraWYgdmVyc2lvbiA8IDYwMAorICAgIHNvIDxzZmlsZT46cDpoL2hhc3RlLnZpbQorZWxzZQorICAgIHJ1bnRpbWUhIHN5bnRheC9oYXN0ZS52aW0KKyAgICB1bmxldCBiOmN1cnJlbnRfc3ludGF4CitlbmRpZgorCisiIGNhc2UgaXMgc2lnbmlmaWNhbnQKK3N5biBjYXNlIG1hdGNoCisKKyIgQyBwcmUtcHJvY2Vzc29yIGRpcmVjdGl2ZXMKK3N5biBtYXRjaCAgaGFzdGVwcmVwcm9jVmFyIAlkaXNwbGF5ICJcJFtbOmFsbnVtOl1fXSoiCitzeW4gcmVnaW9uIGhhc3RlcHJlcHJvY1ZhcglzdGFydD0iXCR7IiBlbmQ9In0iIGNvbnRhaW5zPWhhc3RlcHJlcHJvY1ZhcgorIgorInN5biByZWdpb24gaGFzdGVwcmVwcm9jCQlzdGFydD0iI1xbXHMqdGdbOmFsbnVtOl0qIiBlbmQ9Il0jIiBjb250YWlucz1oYXN0ZXByZXByb2NWYXIsaGFzdGVwcmVwcm9jLGhhc3RlcHJlcHJvY0Vycm9yLEBTcGVsbAorc3luIHJlZ2lvbiBoYXN0ZXByZXByb2MJCXN0YXJ0PSIjXFtccypcKFx8dGdmb3JcfHRnaWZcKSIgZW5kPSIkIiBjb250YWlucz1oYXN0ZXByZXByb2NWYXIsaGFzdGVwcmVwcm9jLEBTcGVsbAorc3luIHJlZ2lvbiBoYXN0ZXByZXByb2MJCXN0YXJ0PSJ9XHNcKGVsc2VcKVxzeyIgZW5kPSIkIiBjb250YWlucz1oYXN0ZXByZXByb2NWYXIsaGFzdGVwcmVwcm9jLEBTcGVsbAorc3luIHJlZ2lvbiBoYXN0ZXByZXByb2MJCXN0YXJ0PSJeXHMqI1xzKlwoaWZuZGVmXHxpZmRlZlx8ZWxzZVx8ZW5kaWZcKVw+IiBlbmQ9IiQiIGNvbnRhaW5zPUBoYXN0ZXByZXByb2NHcm91cCxAU3BlbGwKK3N5biByZWdpb24gaGFzdGVwcmVwcm9jCQlzdGFydD0iXHMqIyNccypcKGRlZmluZVx8dW5kZWZcKVw+IiBlbmQ9IiQiIGNvbnRhaW5zPUBoYXN0ZXByZXByb2NHcm91cCxAU3BlbGwKK3N5biBtYXRjaCBoYXN0ZXByZXByb2MJCSJ9XHswLDF9XHMqXSMiCisKKyIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KKyIgT25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKK2hpIGRlZiBsaW5rIGhhc3RlcHJlcHJvYwlQcmVwcm9jCitoaSBkZWYgbGluayBoYXN0ZXByZXByb2NWYXIJU3BlY2lhbAoraGkgZGVmIGxpbmsgaGFzdGVwcmVwcm9jRXJyb3IJRXJyb3IKKworbGV0IGI6Y3VycmVudF9zeW50YXggPSAiaGFzdGVwcmVwcm9jIgorCisiIHZpbTogdHM9OApkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvbGhhc2tlbGwudmltIGIvcnVudGltZS9zeW50YXgvbGhhc2tlbGwudmltCmluZGV4IGQ2ZjIxYWUuLjdmZjA5ZTcgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc3ludGF4L2xoYXNrZWxsLnZpbQorKysgYi9ydW50aW1lL3N5bnRheC9saGFza2VsbC52aW0KQEAgLTQsOCArNCw4IEBACiAiCQkJXGJlZ2lue2NvZGV9IFxlbmR7Y29kZX0gYmxvY2tzCiAiIE1haW50YWluZXI6CQlIYXNrZWxsIENhZmUgbWFpbGluZ2xpc3QgPGhhc2tlbGwtY2FmZUBoYXNrZWxsLm9yZz4KICIgT3JpZ2luYWwgQXV0aG9yOglBcnRodXIgdmFuIExlZXV3ZW4gPGFydGh1cnZsQGNzLnV1Lm5sPgotIiBMYXN0IENoYW5nZToJCTIwMDQgQXVnIDMxCi0iIFZlcnNpb246CQkxLjAxCisiIExhc3QgQ2hhbmdlOgkJMjAwOCBKdWwgMDEKKyIgVmVyc2lvbjoJCTEuMDIKICIKICIgVGhhbmtzIHRvIElhbiBMeW5hZ2ggZm9yIHRob3VnaHRmdWwgY29tbWVudHMgb24gaW5pdGlhbCB2ZXJzaW9ucyBhbmQKICIgZm9yIHRoZSBpbnNwaXJhdGlvbiBmb3Igd3JpdGluZyB0aGlzIGluIHRoZSBmaXJzdCBwbGFjZS4KQEAgLTI5LDYgKzI5LDggQEAKICIgMjAwNCBGZWJydWFyeSAyMDogQ2xlYW5lZCB1cCB0aGUgZ3Vlc3NpbmcgYW5kIG92ZXJyaWRpbmcgYSBiaXQKICIgMjAwNCBGZWJydWFyeSAyMzogQ2xlYW5lZCB1cCBzeW50YXggaGlnaGxpZ2h0aW5nIGZvciBcYmVnaW57Y29kZX0gYW5kCiAiCQkgICAgXGVuZHtjb2RlfSwgYWRkZWQgc29tZSBjbGFyaWZpY2F0aW9uIHRvIHRoZSBhdHRyaWJ1dGlvbnMKKyIgMjAwOCBKdWx5IDE6ICAgICAgUmVtb3ZlZCAlIGZyb20gZ3Vlc3MgbGlzdCwgYXMgaXQgdG90YWxseSBicmVha3MgIHBsYWluCisiCQkgICAgdGV4dCBtYXJrdXAgZ3Vlc3NpbmcKICIKIAogCkBAIC03MSwxNCArNzMsMTQgQEAKICIgICAtIFxiZWdpbntlbnZ9ICAgICAgIChmb3IgZW52ICE9IGNvZGUpCiAiICAgLSBccGFydCwgXGNoYXB0ZXIsIFxzZWN0aW9uLCBcc3Vic2VjdGlvbiwgXHN1YnN1YnNlY3Rpb24sIGV0YwogaWYgYjpsaHNfbWFya3VwID09ICJ1bmtub3duIgotICAgIGlmIHNlYXJjaCgnJVx8XFxkb2N1bWVudGNsYXNzXHxcXGJlZ2lue1woY29kZX1cKVxAIVx8XFxcKHN1YlwpKnNlY3Rpb25cfFxcY2hhcHRlcnxcXHBhcnQnLCdXJykgIT0gMAorICAgIGlmIHNlYXJjaCgnXFxkb2N1bWVudGNsYXNzXHxcXGJlZ2lue1woY29kZX1cKVxAIVx8XFxcKHN1YiBcKSpzZWN0aW9uXHxcXGNoYXB0ZXJ8XFxwYXJ0JywnVycpICE9IDAKIAlsZXQgYjpsaHNfbWFya3VwID0gInRleCIKICAgICBlbHNlCiAJbGV0IGI6bGhzX21hcmt1cCA9ICJwbGFpbiIKICAgICBlbmRpZgogZW5kaWYKIAotIiBJZiB1c2VyIHdhbnRzIHVzIHRvIGhpZ2hsaWdodCBUZVggc3ludGF4LCByZWFkIGl0LgorIiBJZiB1c2VyIHdhbnRzIHVzIHRvIGhpZ2hsaWdodCBUZVggc3ludGF4IG9yIGd1ZXNzIHRoaW5rcyBpdCdzIFRlWCwgIHJlYWQgaXQuCiBpZiBiOmxoc19tYXJrdXAgPT0gInRleCIKICAgICBpZiB2ZXJzaW9uIDwgNjAwCiAJc291cmNlIDxzZmlsZT46cDpoL3RleC52aW0KZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L2xvZ3RhbGsudmltIGIvcnVudGltZS9zeW50YXgvbG9ndGFsay52aW0KaW5kZXggNmZhZjU5Ni4uNWZjYmIwOSAxMDA2NDQKLS0tIGEvcnVudGltZS9zeW50YXgvbG9ndGFsay52aW0KKysrIGIvcnVudGltZS9zeW50YXgvbG9ndGFsay52aW0KQEAgLTIsNyArMiw3IEBACiAiCiAiIExhbmd1YWdlOglMb2d0YWxrCiAiIE1haW50YWluZXI6CVBhdWxvIE1vdXJhIDxwbW91cmFAbG9ndGFsay5vcmc+Ci0iIExhc3QgQ2hhbmdlOglGZWJydWFyeSAyNCwgMjAwNgorIiBMYXN0IENoYW5nZToJSnVuZSAxNiwgMjAwOAogCiAKICIgUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkOgpAQCAtMzIsMTIgKzMyLDE1IEBACiAiIExvZ3RhbGsgcXVvdGVkIGF0b21zIGFuZCBzdHJpbmdzCiAKIHN5biByZWdpb24JbG9ndGFsa1N0cmluZwkJc3RhcnQ9KyIrCXNraXA9K1xcIisJZW5kPSsiKwotc3luIHJlZ2lvbglsb2d0YWxrQXRvbQkJc3RhcnQ9KycrCXNraXA9K1xcJysJZW5kPSsnKworc3luIHJlZ2lvbglsb2d0YWxrQXRvbQkJc3RhcnQ9KycrCXNraXA9K1xcJysJZW5kPSsnKwkJY29udGFpbnM9bG9ndGFsa0VzY2FwZVNlcXVlbmNlCisKK3N5biBtYXRjaAlsb2d0YWxrRXNjYXBlU2VxdWVuY2UJY29udGFpbmVkCSJcXFwoW1xcYWJmbnJ0dlwiXCddXHxcKHhbYS1mQS1GMC05XVwrXHxbMC03XVwrXClcXFwpIgogCiAKICIgTG9ndGFsayBtZXNzYWdlIHNlbmRpbmcgb3BlcmF0b3JzCiAKIHN5biBtYXRjaAlsb2d0YWxrT3BlcmF0b3IJCSI6OiIKK3N5biBtYXRjaAlsb2d0YWxrT3BlcmF0b3IJCSI6Igogc3luIG1hdGNoCWxvZ3RhbGtPcGVyYXRvcgkJIlxeXF4iCiAKIApAQCAtNDgsNyArNTEsNyBAQAogCiAiIExvZ3RhbGsgb3BlbmluZyBlbnRpdHkgZGlyZWN0aXZlcwogCi1zeW4gcmVnaW9uCWxvZ3RhbGtPcGVuRW50aXR5RGlyCW1hdGNoZ3JvdXA9bG9ndGFsa09wZW5FbnRpdHlEaXJUYWcJc3RhcnQ9IjotIG9iamVjdCgiCW1hdGNoZ3JvdXA9bG9ndGFsa09wZW5FbnRpdHlEaXJUYWcJZW5kPSIpXC4iCWNvbnRhaW5zPWxvZ3RhbGtFbnRpdHksbG9ndGFsa1ZhcmlhYmxlLGxvZ3RhbGtOdW1iZXIsbG9ndGFsa09wZXJhdG9yLGxvZ3RhbGtFbnRpdHlSZWwKK3N5biByZWdpb24JbG9ndGFsa09wZW5FbnRpdHlEaXIJbWF0Y2hncm91cD1sb2d0YWxrT3BlbkVudGl0eURpclRhZwlzdGFydD0iOi0gb2JqZWN0KCIJbWF0Y2hncm91cD1sb2d0YWxrT3BlbkVudGl0eURpclRhZwllbmQ9IilcLiIJY29udGFpbnM9bG9ndGFsa0VudGl0eSxsb2d0YWxrVmFyaWFibGUsbG9ndGFsa051bWJlcixsb2d0YWxrT3BlcmF0b3IsbG9ndGFsa1N0cmluZyxsb2d0YWxrQXRvbSxsb2d0YWxrRW50aXR5UmVsCiBzeW4gcmVnaW9uCWxvZ3RhbGtPcGVuRW50aXR5RGlyCW1hdGNoZ3JvdXA9bG9ndGFsa09wZW5FbnRpdHlEaXJUYWcJc3RhcnQ9IjotIHByb3RvY29sKCIJbWF0Y2hncm91cD1sb2d0YWxrT3BlbkVudGl0eURpclRhZwllbmQ9IilcLiIJY29udGFpbnM9bG9ndGFsa0VudGl0eSxsb2d0YWxrVmFyaWFibGUsbG9ndGFsa051bWJlcixsb2d0YWxrT3BlcmF0b3IsbG9ndGFsa0VudGl0eVJlbAogc3luIHJlZ2lvbglsb2d0YWxrT3BlbkVudGl0eURpcgltYXRjaGdyb3VwPWxvZ3RhbGtPcGVuRW50aXR5RGlyVGFnCXN0YXJ0PSI6LSBjYXRlZ29yeSgiCW1hdGNoZ3JvdXA9bG9ndGFsa09wZW5FbnRpdHlEaXJUYWcJZW5kPSIpXC4iCWNvbnRhaW5zPWxvZ3RhbGtFbnRpdHksbG9ndGFsa1ZhcmlhYmxlLGxvZ3RhbGtOdW1iZXIsbG9ndGFsa09wZXJhdG9yLGxvZ3RhbGtFbnRpdHlSZWwKIApAQCAtNjIsMTcgKzY1LDE5IEBACiAKICIgTG9ndGFsayBlbnRpdHkgcmVsYXRpb25zCiAKLXN5biByZWdpb24JbG9ndGFsa0VudGl0eVJlbAltYXRjaGdyb3VwPWxvZ3RhbGtFbnRpdHlSZWxUYWcJc3RhcnQ9Imluc3RhbnRpYXRlcygiCW1hdGNoZ3JvdXA9bG9ndGFsa0VudGl0eVJlbFRhZwllbmQ9IikiCQljb250YWlucz1sb2d0YWxrRW50aXR5LGxvZ3RhbGtWYXJpYWJsZSxsb2d0YWxrTnVtYmVyLGxvZ3RhbGtPcGVyYXRvcgljb250YWluZWQKLXN5biByZWdpb24JbG9ndGFsa0VudGl0eVJlbAltYXRjaGdyb3VwPWxvZ3RhbGtFbnRpdHlSZWxUYWcJc3RhcnQ9InNwZWNpYWxpemVzKCIJbWF0Y2hncm91cD1sb2d0YWxrRW50aXR5UmVsVGFnCWVuZD0iKSIJCWNvbnRhaW5zPWxvZ3RhbGtFbnRpdHksbG9ndGFsa1ZhcmlhYmxlLGxvZ3RhbGtOdW1iZXIsbG9ndGFsa09wZXJhdG9yCWNvbnRhaW5lZAotc3luIHJlZ2lvbglsb2d0YWxrRW50aXR5UmVsCW1hdGNoZ3JvdXA9bG9ndGFsa0VudGl0eVJlbFRhZwlzdGFydD0iZXh0ZW5kcygiCW1hdGNoZ3JvdXA9bG9ndGFsa0VudGl0eVJlbFRhZwllbmQ9IikiCQljb250YWlucz1sb2d0YWxrRW50aXR5LGxvZ3RhbGtWYXJpYWJsZSxsb2d0YWxrTnVtYmVyLGxvZ3RhbGtPcGVyYXRvcgljb250YWluZWQKLXN5biByZWdpb24JbG9ndGFsa0VudGl0eVJlbAltYXRjaGdyb3VwPWxvZ3RhbGtFbnRpdHlSZWxUYWcJc3RhcnQ9ImltcG9ydHMoIgltYXRjaGdyb3VwPWxvZ3RhbGtFbnRpdHlSZWxUYWcJZW5kPSIpIgkJY29udGFpbnM9bG9ndGFsa0VudGl0eSxsb2d0YWxrVmFyaWFibGUsbG9ndGFsa051bWJlcixsb2d0YWxrT3BlcmF0b3IJY29udGFpbmVkCi1zeW4gcmVnaW9uCWxvZ3RhbGtFbnRpdHlSZWwJbWF0Y2hncm91cD1sb2d0YWxrRW50aXR5UmVsVGFnCXN0YXJ0PSJpbXBsZW1lbnRzKCIJbWF0Y2hncm91cD1sb2d0YWxrRW50aXR5UmVsVGFnCWVuZD0iKSIJCWNvbnRhaW5zPWxvZ3RhbGtFbnRpdHksbG9ndGFsa1ZhcmlhYmxlLGxvZ3RhbGtOdW1iZXIsbG9ndGFsa09wZXJhdG9yCWNvbnRhaW5lZAorc3luIHJlZ2lvbglsb2d0YWxrRW50aXR5UmVsCW1hdGNoZ3JvdXA9bG9ndGFsa0VudGl0eVJlbFRhZwlzdGFydD0iaW5zdGFudGlhdGVzKCIJbWF0Y2hncm91cD1sb2d0YWxrRW50aXR5UmVsVGFnCWVuZD0iKSIJCWNvbnRhaW5zPWxvZ3RhbGtFbnRpdHksbG9ndGFsa1ZhcmlhYmxlLGxvZ3RhbGtOdW1iZXIsbG9ndGFsa09wZXJhdG9yLGxvZ3RhbGtTdHJpbmcsbG9ndGFsa0F0b20JY29udGFpbmVkCitzeW4gcmVnaW9uCWxvZ3RhbGtFbnRpdHlSZWwJbWF0Y2hncm91cD1sb2d0YWxrRW50aXR5UmVsVGFnCXN0YXJ0PSJzcGVjaWFsaXplcygiCW1hdGNoZ3JvdXA9bG9ndGFsa0VudGl0eVJlbFRhZwllbmQ9IikiCQljb250YWlucz1sb2d0YWxrRW50aXR5LGxvZ3RhbGtWYXJpYWJsZSxsb2d0YWxrTnVtYmVyLGxvZ3RhbGtPcGVyYXRvcixsb2d0YWxrU3RyaW5nLGxvZ3RhbGtBdG9tCWNvbnRhaW5lZAorc3luIHJlZ2lvbglsb2d0YWxrRW50aXR5UmVsCW1hdGNoZ3JvdXA9bG9ndGFsa0VudGl0eVJlbFRhZwlzdGFydD0iZXh0ZW5kcygiCW1hdGNoZ3JvdXA9bG9ndGFsa0VudGl0eVJlbFRhZwllbmQ9IikiCQljb250YWlucz1sb2d0YWxrRW50aXR5LGxvZ3RhbGtWYXJpYWJsZSxsb2d0YWxrTnVtYmVyLGxvZ3RhbGtPcGVyYXRvcixsb2d0YWxrU3RyaW5nLGxvZ3RhbGtBdG9tCWNvbnRhaW5lZAorc3luIHJlZ2lvbglsb2d0YWxrRW50aXR5UmVsCW1hdGNoZ3JvdXA9bG9ndGFsa0VudGl0eVJlbFRhZwlzdGFydD0iaW1wb3J0cygiCW1hdGNoZ3JvdXA9bG9ndGFsa0VudGl0eVJlbFRhZwllbmQ9IikiCQljb250YWlucz1sb2d0YWxrRW50aXR5LGxvZ3RhbGtWYXJpYWJsZSxsb2d0YWxrTnVtYmVyLGxvZ3RhbGtPcGVyYXRvcixsb2d0YWxrU3RyaW5nLGxvZ3RhbGtBdG9tCWNvbnRhaW5lZAorc3luIHJlZ2lvbglsb2d0YWxrRW50aXR5UmVsCW1hdGNoZ3JvdXA9bG9ndGFsa0VudGl0eVJlbFRhZwlzdGFydD0iaW1wbGVtZW50cygiCW1hdGNoZ3JvdXA9bG9ndGFsa0VudGl0eVJlbFRhZwllbmQ9IikiCQljb250YWlucz1sb2d0YWxrRW50aXR5LGxvZ3RhbGtWYXJpYWJsZSxsb2d0YWxrTnVtYmVyLGxvZ3RhbGtPcGVyYXRvcixsb2d0YWxrU3RyaW5nLGxvZ3RhbGtBdG9tCWNvbnRhaW5lZAorc3luIHJlZ2lvbglsb2d0YWxrRW50aXR5UmVsCW1hdGNoZ3JvdXA9bG9ndGFsa0VudGl0eVJlbFRhZwlzdGFydD0iY29tcGxlbWVudHMoIgltYXRjaGdyb3VwPWxvZ3RhbGtFbnRpdHlSZWxUYWcJZW5kPSIpIgkJY29udGFpbnM9bG9ndGFsa0VudGl0eSxsb2d0YWxrVmFyaWFibGUsbG9ndGFsa051bWJlcixsb2d0YWxrT3BlcmF0b3IsbG9ndGFsa1N0cmluZyxsb2d0YWxrQXRvbQljb250YWluZWQKIAogCiAiIExvZ3RhbGsgZGlyZWN0aXZlcwogCiBzeW4gcmVnaW9uCWxvZ3RhbGtEaXIJCW1hdGNoZ3JvdXA9bG9ndGFsa0RpclRhZwlzdGFydD0iOi0gYWxpYXMoIgkJbWF0Y2hncm91cD1sb2d0YWxrRGlyVGFnCWVuZD0iKVwuIgljb250YWlucz1BTEwKLXN5biByZWdpb24JbG9ndGFsa0RpcgkJbWF0Y2hncm91cD1sb2d0YWxrRGlyVGFnCXN0YXJ0PSI6LSBlbmNvZGluZygiCW1hdGNoZ3JvdXA9bG9ndGFsa0RpclRhZwllbmQ9IilcLiIJY29udGFpbnM9QUxMCitzeW4gcmVnaW9uCWxvZ3RhbGtEaXIJCW1hdGNoZ3JvdXA9bG9ndGFsa0RpclRhZwlzdGFydD0iOi0gY2FsbHMoIgkJbWF0Y2hncm91cD1sb2d0YWxrRGlyVGFnCWVuZD0iKVwuIgljb250YWlucz1BTEwKK3N5biByZWdpb24JbG9ndGFsa0RpcgkJbWF0Y2hncm91cD1sb2d0YWxrRGlyVGFnCXN0YXJ0PSI6LSBlbmNvZGluZygiCQltYXRjaGdyb3VwPWxvZ3RhbGtEaXJUYWcJZW5kPSIpXC4iCWNvbnRhaW5zPUFMTAogc3luIHJlZ2lvbglsb2d0YWxrRGlyCQltYXRjaGdyb3VwPWxvZ3RhbGtEaXJUYWcJc3RhcnQ9IjotIGluaXRpYWxpemF0aW9uKCIJbWF0Y2hncm91cD1sb2d0YWxrRGlyVGFnCWVuZD0iKVwuIgljb250YWlucz1BTEwKIHN5biByZWdpb24JbG9ndGFsa0RpcgkJbWF0Y2hncm91cD1sb2d0YWxrRGlyVGFnCXN0YXJ0PSI6LSBpbmZvKCIJCW1hdGNoZ3JvdXA9bG9ndGFsa0RpclRhZwllbmQ9IilcLiIJY29udGFpbnM9QUxMCiBzeW4gcmVnaW9uCWxvZ3RhbGtEaXIJCW1hdGNoZ3JvdXA9bG9ndGFsa0RpclRhZwlzdGFydD0iOi0gbW9kZSgiCQltYXRjaGdyb3VwPWxvZ3RhbGtEaXJUYWcJZW5kPSIpXC4iCWNvbnRhaW5zPWxvZ3RhbGtPcGVyYXRvciwgbG9ndGFsa0F0b20KQEAgLTgzLDE3ICs4OCwxOCBAQAogc3luIHJlZ2lvbglsb2d0YWxrRGlyCQltYXRjaGdyb3VwPWxvZ3RhbGtEaXJUYWcJc3RhcnQ9IjotIHB1YmxpYygiCQltYXRjaGdyb3VwPWxvZ3RhbGtEaXJUYWcJZW5kPSIpXC4iCWNvbnRhaW5zPUFMTAogc3luIHJlZ2lvbglsb2d0YWxrRGlyCQltYXRjaGdyb3VwPWxvZ3RhbGtEaXJUYWcJc3RhcnQ9IjotIHByb3RlY3RlZCgiCQltYXRjaGdyb3VwPWxvZ3RhbGtEaXJUYWcJZW5kPSIpXC4iCWNvbnRhaW5zPUFMTAogc3luIHJlZ2lvbglsb2d0YWxrRGlyCQltYXRjaGdyb3VwPWxvZ3RhbGtEaXJUYWcJc3RhcnQ9IjotIHByaXZhdGUoIgkJbWF0Y2hncm91cD1sb2d0YWxrRGlyVGFnCWVuZD0iKVwuIgljb250YWlucz1BTEwKLXN5biByZWdpb24JbG9ndGFsa0RpcgkJbWF0Y2hncm91cD1sb2d0YWxrRGlyVGFnCXN0YXJ0PSI6LSBtZXRhcHJlZGljYXRlKCIJbWF0Y2hncm91cD1sb2d0YWxrRGlyVGFnCWVuZD0iKVwuIgljb250YWlucz1BTEwKK3N5biByZWdpb24JbG9ndGFsa0RpcgkJbWF0Y2hncm91cD1sb2d0YWxrRGlyVGFnCXN0YXJ0PSI6LSBtZXRhX3ByZWRpY2F0ZSgiCW1hdGNoZ3JvdXA9bG9ndGFsa0RpclRhZwllbmQ9IilcLiIJY29udGFpbnM9QUxMCiBzeW4gcmVnaW9uCWxvZ3RhbGtEaXIJCW1hdGNoZ3JvdXA9bG9ndGFsa0RpclRhZwlzdGFydD0iOi0gb3AoIgkJCW1hdGNoZ3JvdXA9bG9ndGFsa0RpclRhZwllbmQ9IilcLiIJY29udGFpbnM9QUxMCi1zeW4gcmVnaW9uCWxvZ3RhbGtEaXIJCW1hdGNoZ3JvdXA9bG9ndGFsa0RpclRhZwlzdGFydD0iOi0gY2FsbHMoIgkJbWF0Y2hncm91cD1sb2d0YWxrRGlyVGFnCWVuZD0iKVwuIgljb250YWlucz1BTEwKK3N5biByZWdpb24JbG9ndGFsa0RpcgkJbWF0Y2hncm91cD1sb2d0YWxrRGlyVGFnCXN0YXJ0PSI6LSBzeW5jaHJvbml6ZWQoIgltYXRjaGdyb3VwPWxvZ3RhbGtEaXJUYWcJZW5kPSIpXC4iCWNvbnRhaW5zPUFMTAorc3luIG1hdGNoCWxvZ3RhbGtEaXJUYWcJCSI6LSBzeW5jaHJvbml6ZWRcLiIKIHN5biByZWdpb24JbG9ndGFsa0RpcgkJbWF0Y2hncm91cD1sb2d0YWxrRGlyVGFnCXN0YXJ0PSI6LSB1c2VzKCIJCW1hdGNoZ3JvdXA9bG9ndGFsa0RpclRhZwllbmQ9IilcLiIJY29udGFpbnM9QUxMCitzeW4gbWF0Y2gJbG9ndGFsa0RpclRhZwkJIjotIHRocmVhZGVkXC4iCiAKIAogIiBNb2R1bGUgZGlyZWN0aXZlcwogCiBzeW4gcmVnaW9uCWxvZ3RhbGtEaXIJCW1hdGNoZ3JvdXA9bG9ndGFsa0RpclRhZwlzdGFydD0iOi0gbW9kdWxlKCIJCW1hdGNoZ3JvdXA9bG9ndGFsa0RpclRhZwllbmQ9IilcLiIJY29udGFpbnM9QUxMCiBzeW4gcmVnaW9uCWxvZ3RhbGtEaXIJCW1hdGNoZ3JvdXA9bG9ndGFsa0RpclRhZwlzdGFydD0iOi0gZXhwb3J0KCIJCW1hdGNoZ3JvdXA9bG9ndGFsa0RpclRhZwllbmQ9IilcLiIJY29udGFpbnM9QUxMCi1zeW4gcmVnaW9uCWxvZ3RhbGtEaXIJCW1hdGNoZ3JvdXA9bG9ndGFsa0RpclRhZwlzdGFydD0iOi0gbWV0YV9wcmVkaWNhdGUoIgkJbWF0Y2hncm91cD1sb2d0YWxrRGlyVGFnCWVuZD0iKVwuIgljb250YWlucz1BTEwKIHN5biByZWdpb24JbG9ndGFsa0RpcgkJbWF0Y2hncm91cD1sb2d0YWxrRGlyVGFnCXN0YXJ0PSI6LSB1c2VfbW9kdWxlKCIJCW1hdGNoZ3JvdXA9bG9ndGFsa0RpclRhZwllbmQ9IilcLiIJY29udGFpbnM9QUxMCiAKIApAQCAtMTAzLDE5ICsxMDksMjIgQEAKIAogc3luIG1hdGNoCWxvZ3RhbGtCdWlsdEluCQkiXDxcKG9iamVjdFx8cHJvdG9jb2xcfGNhdGVnb3J5XClfcHJvcGVydHlcemUoIgogCi1zeW4gbWF0Y2gJbG9ndGFsa0J1aWx0SW4JCSJcPGV4dGVuZHNfXChvYmplY3RcfHByb3RvY29sXClcemUoIgorc3luIG1hdGNoCWxvZ3RhbGtCdWlsdEluCQkiXDxjb21wbGVtZW50c19vYmplY3RcemUoIgorc3luIG1hdGNoCWxvZ3RhbGtCdWlsdEluCQkiXDxleHRlbmRzX1wob2JqZWN0XHxwcm90b2NvbFx8Y2F0ZWdvcnlcKVx6ZSgiCiBzeW4gbWF0Y2gJbG9ndGFsa0J1aWx0SW4JCSJcPGltcFwob3J0c19jYXRlZ29yeVx8bGVtZW50c19wcm90b2NvbFwpXHplKCIKLXN5biBtYXRjaAlsb2d0YWxrQnVpbHRJbgkJIlw8XChpbnN0YW50aWF0ZXNcfHNwZWNpYWxpemVzXClfY2xhc3NcemUoIgorc3luIG1hdGNoCWxvZ3RhbGtCdWlsdEluCQkiXDxcKGluc3RhbnRpYXRcfHNwZWNpYWxpelwpZXNfY2xhc3NcemUoIgogCiBzeW4gbWF0Y2gJbG9ndGFsa0J1aWx0SW4JCSJcPFwoYWJvbGlzaFx8ZGVmaW5lXClfZXZlbnRzXHplKCIKIHN5biBtYXRjaAlsb2d0YWxrQnVpbHRJbgkJIlw8Y3VycmVudF9ldmVudFx6ZSgiCiAKLXN5biBtYXRjaAlsb2d0YWxrQnVpbHRJbgkJIlw8XChjdXJyZW50XHxzZXRcKV9sb2d0YWxrX2ZsYWdcemUoIgorc3luIG1hdGNoCWxvZ3RhbGtCdWlsdEluCQkiXDxcKGN1cnJlblx8c2VcKXRfbG9ndGFsa19mbGFnXHplKCIKIAogc3luIG1hdGNoCWxvZ3RhbGtCdWlsdEluCQkiXDxsb2d0YWxrX1woY29tcGlsZVx8bFwoaWJyYXJ5X3BhdGhcfG9hZFwpXClcemUoIgogCiBzeW4gbWF0Y2gJbG9ndGFsa0J1aWx0SW4JCSJcPFwoZm9yXHxyZXRyYWN0XClhbGxcemUoIgogCitzeW4gbWF0Y2gJbG9ndGFsa0J1aWx0SW4JCSJcPHRocmVhZGVkXChfXChjYWxsXHxvbmNlXHxpZ25vcmVcfGV4aXRcfHBlZWtcfHdhaXRcfG5vdGlmeVwpXClcP1x6ZSgiCisKIAogIiBMb2d0YWxrIGJ1aWx0LWluIG1ldGhvZHMKIApAQCAtMTM3LDcgKzE0Niw3IEBACiBzeW4gbWF0Y2gJbG9ndGFsa0J1aWx0SW5NZXRob2QJIlw8YWZ0ZXJcemUoIgogCiBzeW4gbWF0Y2gJbG9ndGFsa0J1aWx0SW5NZXRob2QJIlw8ZXhwYW5kX3Rlcm1cemUoIgotc3luIG1hdGNoCWxvZ3RhbGtCdWlsdEluTWV0aG9kCSJcPHRlcm1fZXhwYW5zaW9uXHplKCIKK3N5biBtYXRjaAlsb2d0YWxrQnVpbHRJbk1ldGhvZAkiXDxcKGdvYWxcfHRlcm1cKV9leHBhbnNpb25cemUoIgogc3luIG1hdGNoCWxvZ3RhbGtCdWlsdEluTWV0aG9kCSJcPHBocmFzZVx6ZSgiCiAKIApAQCAtMjEyLDcgKzIyMSw3IEBACiAKICIgU3RyZWFtIHNlbGVjdGlvbiBhbmQgY29udHJvbAogCi1zeW4gbWF0Y2gJbG9ndGFsa0tleXdvcmQJCSJcPFwoY3VycmVudFx8c2V0XClfXChpblx8b3V0XClwdXRcemUoIgorc3luIG1hdGNoCWxvZ3RhbGtLZXl3b3JkCQkiXDxcKGN1cnJlblx8c2VcKXRfXChpblx8b3V0XClwdXRcemUoIgogc3luIG1hdGNoCWxvZ3RhbGtLZXl3b3JkCQkiXDxvcGVuXHplKCIKIHN5biBtYXRjaAlsb2d0YWxrS2V5d29yZAkJIlw8Y2xvc2VcemUoIgogc3luIG1hdGNoCWxvZ3RhbGtLZXl3b3JkCQkiXDxmbHVzaF9vdXRwdXRcemUoIgpAQCAtMjM1LDcgKzI0NCw3IEBACiBzeW4gbWF0Y2gJbG9ndGFsa0tleXdvcmQJCSJcPHJlYWRcKF90ZXJtXClcP1x6ZSgiCiBzeW4gbWF0Y2gJbG9ndGFsa0tleXdvcmQJCSJcPHdyaXRlXChxXHxfXChjYW5vbmljYWxcfHRlcm1cKVwpXD9cemUoIgogc3luIG1hdGNoCWxvZ3RhbGtLZXl3b3JkCQkiXDxcKGN1cnJlbnRfXClcP29wXHplKCIKLXN5biBtYXRjaAlsb2d0YWxrS2V5d29yZAkJIlw8XChjdXJyZW50XClcP2NoYXJfY29udmVyc2lvblx6ZSgiCitzeW4gbWF0Y2gJbG9ndGFsa0tleXdvcmQJCSJcPFwoY3VycmVudF9cKVw/Y2hhcl9jb252ZXJzaW9uXHplKCIKIAogCiAiIExvZ2ljIGFuZCBjb250cm9sCkBAIC0yNTAsMTIgKzI1OSwxMiBAQAogc3luIG1hdGNoCWxvZ3RhbGtLZXl3b3JkCQkiXDxhdG9tX1wobGVuZ3RoXHxjXChoYXJzXHxvXChuY2F0XHxkZXNcKVwpXClcemUoIgogc3luIG1hdGNoCWxvZ3RhbGtLZXl3b3JkCQkiXDxzdWJfYXRvbVx6ZSgiCiBzeW4gbWF0Y2gJbG9ndGFsa0tleXdvcmQJCSJcPGNoYXJfY29kZVx6ZSgiCi1zeW4gbWF0Y2gJbG9ndGFsa0tleXdvcmQJCSJcPG51bWJlcl9cKGNcKGhhcnNcfG9kZXNcKVwpXHplKCIKK3N5biBtYXRjaAlsb2d0YWxrS2V5d29yZAkJIlw8bnVtYmVyX2NcKGhhclx8b2RlXClzXHplKCIKIAogCiAiIEltcGxlbWVudGF0aW9uIGRlZmluZWQgaG9va3MgZnVuY3Rpb25zCiAKLXN5biBtYXRjaAlsb2d0YWxrS2V5d29yZAkJIlw8XChjdXJyZW50XHxzZXRcKV9wcm9sb2dfZmxhZ1x6ZSgiCitzeW4gbWF0Y2gJbG9ndGFsa0tleXdvcmQJCSJcPFwoY3VycmVuXHxzZVwpdF9wcm9sb2dfZmxhZ1x6ZSgiCiBzeW4gbWF0Y2gJbG9ndGFsa0tleXdvcmQJCSJcPGhhbHRcemUoIgogc3luIG1hdGNoCWxvZ3RhbGtLZXl3b3JkCQkiXDxoYWx0XD4iCiAKQEAgLTMwMiwxMyArMzExLDEzIEBACiBzeW4gbWF0Y2gJbG9ndGFsa09wZXJhdG9yCQkifCIKIAogCi0iIExvZ3RhbGsgbnVtYmVycyAKKyIgTG9ndGFsayBudW1iZXJzCiAKIHN5biBtYXRjaAlsb2d0YWxrTnVtYmVyCQkiXDxcZFwrXD4iCiBzeW4gbWF0Y2gJbG9ndGFsa051bWJlcgkJIlw8XGRcK1wuXGRcK1w+Igogc3luIG1hdGNoCWxvZ3RhbGtOdW1iZXIJCSJcPFxkXCtbZUVdWy0rXVw9XGRcK1w+Igogc3luIG1hdGNoCWxvZ3RhbGtOdW1iZXIJCSJcPFxkXCtcLlxkXCtbZUVdWy0rXVw9XGRcK1w+Igotc3luIG1hdGNoCWxvZ3RhbGtOdW1iZXIJCSJcPDAnLlw+Igorc3luIG1hdGNoCWxvZ3RhbGtOdW1iZXIJCSJcPDAnLlx8MCcnXHwwJ1wiXD4iCiBzeW4gbWF0Y2gJbG9ndGFsa051bWJlcgkJIlw8MGJbMC0xXVwrXD4iCiBzeW4gbWF0Y2gJbG9ndGFsa051bWJlcgkJIlw8MG9cb1wrXD4iCiBzeW4gbWF0Y2gJbG9ndGFsa051bWJlcgkJIlw8MHhceFwrXD4iCkBAIC0zNDYsNyArMzU1LDcgQEAKIAllbHNlCiAJCWNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgogCWVuZGlmCi0JCisKIAlIaUxpbmsJbG9ndGFsa0Jsb2NrQ29tbWVudAlDb21tZW50CiAJSGlMaW5rCWxvZ3RhbGtMaW5lQ29tbWVudAlDb21tZW50CiAKQEAgLTM2NSw2ICszNzQsNyBAQAogCiAJSGlMaW5rCWxvZ3RhbGtBdG9tCQlTdHJpbmcKIAlIaUxpbmsJbG9ndGFsa1N0cmluZwkJU3RyaW5nCisJSGlMaW5rCWxvZ3RhbGtFc2NhcGVTZXF1ZW5jZQlTcGVjaWFsQ2hhcgogCiAJSGlMaW5rCWxvZ3RhbGtOdW1iZXIJCU51bWJlcgogCkBAIC0zODYsNyArMzk2LDMgQEAKIAogCiBsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJsb2d0YWxrIgotCi1zZXRsb2NhbCB0cz00Ci1zZXRsb2NhbCBmZG09c3ludGF4Ci1zZXRsb2NhbCBmZGM9MgpkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvbWVzc2FnZXMudmltIGIvcnVudGltZS9zeW50YXgvbWVzc2FnZXMudmltCmluZGV4IDJkYmFhNWEuLjQ2NDhlOTQgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc3ludGF4L21lc3NhZ2VzLnZpbQorKysgYi9ydW50aW1lL3N5bnRheC9tZXNzYWdlcy52aW0KQEAgLTEsNyArMSw4IEBACiAiIFZpbSBzeW50YXggZmlsZQogIiBMYW5ndWFnZTogICAgICAgICAvdmFyL2xvZy9tZXNzYWdlcyBmaWxlCiAiIE1haW50YWluZXI6ICAgICAgIFlha292IExlcm5lciA8aWxlci5tbEBnbWFpbC5jb20+Ci0iIExhdGVzdCBSZXZpc2lvbjogIDIwMDYtMDYtMTkKKyIgTGF0ZXN0IFJldmlzaW9uOiAgMjAwOC0wNi0yOQorIiBDaGFuZ2VzOiAgICAgICAgICAyMDA4LTA2LTI5IHN1cHBvcnQgZm9yIFJGQzMzMzkgdHVpbWVzdGFtcHMgSmFtZXMgVmVnYQogCiBpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQogICBmaW5pc2gKQEAgLTEwLDcgKzExLDcgQEAKIGxldCBzOmNwb19zYXZlID0gJmNwbwogc2V0IGNwbyZ2aW0KIAotc3luIG1hdGNoICAgbWVzc2FnZXNCZWdpbiAgICAgICBkaXNwbGF5ICdeJyBuZXh0Z3JvdXA9bWVzc2FnZXNEYXRlCitzeW4gbWF0Y2ggICBtZXNzYWdlc0JlZ2luICAgICAgIGRpc3BsYXkgJ14nIG5leHRncm91cD1tZXNzYWdlc0RhdGUsbWVzc2FnZXNEYXRlUkZDMzMzOQogCiBzeW4gbWF0Y2ggICBtZXNzYWdlc0RhdGUgICAgICAgIGNvbnRhaW5lZCBkaXNwbGF5ICdcYVxhXGEgWyAwLTldXGQgKicKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBuZXh0Z3JvdXA9bWVzc2FnZXNIb3VyCkBAIC0xOCw2ICsxOSwxNSBAQAogc3luIG1hdGNoICAgbWVzc2FnZXNIb3VyICAgICAgICBjb250YWluZWQgZGlzcGxheSAnXGRcZDpcZFxkOlxkXGRccyonCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgbmV4dGdyb3VwPW1lc3NhZ2VzSG9zdAogCitzeW4gbWF0Y2ggICBtZXNzYWdlc0RhdGVSRkMzMzM5IGNvbnRhaW5lZCBkaXNwbGF5ICdcZFx7NH0tXGRcZC1cZFxkJworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIG5leHRncm91cD1tZXNzYWdlc1JGQzMzMzlUCisKK3N5biBtYXRjaCAgIG1lc3NhZ2VzUkZDMzMzOVQgICAgY29udGFpbmVkIGRpc3BsYXkgJ1xjVCcKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBuZXh0Z3JvdXA9bWVzc2FnZXNIb3VyUkZDMzMzOQorCitzeW4gbWF0Y2ggICBtZXNzYWdlc0hvdXJSRkMzMzM5IGNvbnRhaW5lZCBkaXNwbGF5ICdcY1xkXGQ6XGRcZDpcZFxkXChcLlxkXCtcKVw9XChbKy1dXGRcZDpcZFxkXHxaXCknCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgbmV4dGdyb3VwPW1lc3NhZ2VzSG9zdAorCiBzeW4gbWF0Y2ggICBtZXNzYWdlc0hvc3QgICAgICAgIGNvbnRhaW5lZCBkaXNwbGF5ICdcUypccyonCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgbmV4dGdyb3VwPW1lc3NhZ2VzTGFiZWwKIApAQCAtNDMsNiArNTMsOSBAQAogCiBoaSBkZWYgbGluayBtZXNzYWdlc0RhdGUgICAgICAgIENvbnN0YW50CiBoaSBkZWYgbGluayBtZXNzYWdlc0hvdXIgICAgICAgIFR5cGUKK2hpIGRlZiBsaW5rIG1lc3NhZ2VzRGF0ZVJGQzMzMzkgQ29uc3RhbnQKK2hpIGRlZiBsaW5rIG1lc3NhZ2VzSG91clJGQzMzMzkgVHlwZQoraGkgZGVmIGxpbmsgbWVzc2FnZXNSRkMzMzM5VCAgICBOb3JtYWwKIGhpIGRlZiBsaW5rIG1lc3NhZ2VzSG9zdCAgICAgICAgSWRlbnRpZmllcgogaGkgZGVmIGxpbmsgbWVzc2FnZXNMYWJlbCAgICAgICBPcGVyYXRvcgogaGkgZGVmIGxpbmsgbWVzc2FnZXNQSUQgICAgICAgICBDb25zdGFudApkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvbXV0dHJjLnZpbSBiL3J1bnRpbWUvc3ludGF4L211dHRyYy52aW0KaW5kZXggMGIxZDE2MS4uMDY4NjA5YyAxMDA2NDQKLS0tIGEvcnVudGltZS9zeW50YXgvbXV0dHJjLnZpbQorKysgYi9ydW50aW1lL3N5bnRheC9tdXR0cmMudmltCkBAIC0yLDkgKzIsOSBAQAogIiBMYW5ndWFnZToJTXV0dCBzZXR1cCBmaWxlcwogIiBPcmlnaW5hbDoJUHJlYmVuICdQZXBwZScgR3VsZGJlcmcgPHBlcHBlLXZpbUB3aWVsZGVycy5vcmc+CiAiIE1haW50YWluZXI6CUt5bGUgV2hlZWxlciA8a3lsZS1tdXR0cmMudmltQG1lbW9yeWhvbGUubmV0PgotIiBMYXN0IENoYW5nZToJMTUgQXVnIDIwMDcKKyIgTGFzdCBDaGFuZ2U6CTEyIEp1biAyMDA4CiAKLSIgVGhpcyBmaWxlIGNvdmVycyBtdXR0IHZlcnNpb24gMS41LjE2IChhbmQgbW9zdCBvZiBDVlMgSEVBRCkKKyIgVGhpcyBmaWxlIGNvdmVycyBtdXR0IHZlcnNpb24gMS41LjE4IChhbmQgbW9zdCBvZiB0aGUgbWVyY3VyaWFsIHRpcCkKICIgSW5jbHVkZWQgYXJlIGFsc28gYSBmZXcgZmVhdHVyZXMgZnJvbSAxLjQuMi4xCiAKICIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCkBAIC03Niw2ICs3Niw3IEBACiBzeW4gbWF0Y2ggICBtdXR0cmNLZXlOYW1lCWNvbnRhaW5lZCAiXDxmXCUoXGRcfDEwXClcPiIKIHN5biBtYXRjaCAgIG11dHRyY0tleU5hbWUJY29udGFpbmVkICJcXFt0cm5lXSIKIHN5biBtYXRjaCAgIG11dHRyY0tleU5hbWUJY29udGFpbmVkICJcYzxcJShCYWNrU3BhY2VcfERlbGV0ZVx8RG93blx8RW5kXHxFbnRlclx8RXNjXHxIb21lXHxJbnNlcnRcfExlZnRcfFBhZ2VEb3duXHxQYWdlVXBcfFJldHVyblx8UmlnaHRcfFNwYWNlXHxUYWJcfFVwXCk+Igorc3luIG1hdGNoICAgbXV0dHJjS2V5TmFtZQljb250YWluZWQgIjxGWzAtOV1cKz4iCiAKIHN5biBrZXl3b3JkIG11dHRyY1ZhckJvb2wJY29udGFpbmVkIGFsbG93XzhiaXQgYWxsb3dfYW5zaSBhcnJvd19jdXJzb3IgYXNjaWlfY2hhcnMgYXNrYmNjCiBzeW4ga2V5d29yZCBtdXR0cmNWYXJCb29sCWNvbnRhaW5lZCBhc2tjYyBhdHRhY2hfc3BsaXQgYXV0b190YWcgYXV0b2VkaXQgYmVlcCBiZWVwX25ldwpAQCAtMjE3LDYgKzIxOCw3IEBACiAKIHN5biByZWdpb24gbXV0dHJjSW5kZXhGb3JtYXRTdHIJY29udGFpbmVkIGtlZXBlbmQgc3RhcnQ9KyIrIHNraXA9K1xcIisgZW5kPSsiKyBjb250YWlucz1tdXR0cmNJbmRleEZvcm1hdEVzY2FwZXMsbXV0dHJjSW5kZXhGb3JtYXRDb25kaXRpb25hbHMsbXV0dHJjRm9ybWF0RXJyb3JzLG11dHRyY1RpbWVFc2NhcGVzCiBzeW4gcmVnaW9uIG11dHRyY0luZGV4Rm9ybWF0U3RyCWNvbnRhaW5lZCBrZWVwZW5kIHN0YXJ0PSsnKyBza2lwPStcXCcrIGVuZD0rJysgY29udGFpbnM9bXV0dHJjSW5kZXhGb3JtYXRFc2NhcGVzLG11dHRyY0luZGV4Rm9ybWF0Q29uZGl0aW9uYWxzLG11dHRyY0Zvcm1hdEVycm9ycyxtdXR0cmNUaW1lRXNjYXBlcworc3luIHJlZ2lvbiBtdXR0cmNRdWVyeUZvcm1hdFN0ciBjb250YWluZWQga2VlcGVuZCBzdGFydD0rIisgc2tpcD0rXFwiKyBlbmQ9KyIrIGNvbnRhaW5zPW11dHRyY1F1ZXJ5Rm9ybWF0RXNjYXBlcyxtdXR0cmNRdWVyeUZvcm1hdENvbmRpdGlvbmFscyxtdXR0cmNGb3JtYXRFcnJvcnMKIHN5biByZWdpb24gbXV0dHJjQWxpYXNGb3JtYXRTdHIJY29udGFpbmVkIGtlZXBlbmQgc3RhcnQ9KyIrIHNraXA9K1xcIisgZW5kPSsiKyBjb250YWlucz1tdXR0cmNBbGlhc0Zvcm1hdEVzY2FwZXMsbXV0dHJjRm9ybWF0RXJyb3JzCiBzeW4gcmVnaW9uIG11dHRyY0FsaWFzRm9ybWF0U3RyCWNvbnRhaW5lZCBrZWVwZW5kIHN0YXJ0PSsnKyBza2lwPStcXCcrIGVuZD0rJysgY29udGFpbnM9bXV0dHJjQWxpYXNGb3JtYXRFc2NhcGVzLG11dHRyY0Zvcm1hdEVycm9ycwogc3luIHJlZ2lvbiBtdXR0cmNBdHRhY2hGb3JtYXRTdHIJY29udGFpbmVkIGtlZXBlbmQgc3RhcnQ9KyIrIHNraXA9K1xcIisgZW5kPSsiKyBjb250YWlucz1tdXR0cmNBdHRhY2hGb3JtYXRFc2NhcGVzLG11dHRyY0F0dGFjaEZvcm1hdENvbmRpdGlvbmFscyxtdXR0cmNGb3JtYXRFcnJvcnMKQEAgLTI0Myw2ICsyNDUsOSBAQAogc3luIG1hdGNoIG11dHRyY0luZGV4Rm9ybWF0Q29uZGl0aW9uYWxzIGNvbnRhaW5lZCAvJT9bRUZIbExNTk9YeVldPy8gbmV4dGdyb3VwPW11dHRyY0Zvcm1hdENvbmRpdGlvbmFsczIKICIgVGhlIGZvbGxvd2luZyBpbmZvIHdhcyBwdWxsZWQgZnJvbSBhbGlhc19mb3JtYXRfc3RyIGluIGFkZHJib29rLmMKIHN5biBtYXRjaCBtdXR0cmNBbGlhc0Zvcm1hdEVzY2FwZXMgY29udGFpbmVkIC8lXCUoXCUoLVw/WzAtOV1cK1wpXD9cJShcLlswLTldXCtcKVw/XClcP1s6X11cP1thZm5ydCVdLworIiBUaGUgZm9sbG93aW5nIGluZm8gd2FzIHB1bGxlZCBmcm9tIHF1ZXJ5X2Zvcm1hdF9zdHIgaW4gcXVlcnkuYworc3luIG1hdGNoIG11dHRyY1F1ZXJ5Rm9ybWF0RXNjYXBlcyBjb250YWluZWQgLyVcJShcJSgtXD9bMC05XVwrXClcP1wlKFwuWzAtOV1cK1wpXD9cKVw/WzpfXVw/W2FjZW50JV0vCitzeW4gbWF0Y2ggbXV0dHJjUXVlcnlGb3JtYXRDb25kaXRpb25hbHMgY29udGFpbmVkIC8lP1tlXT8vIG5leHRncm91cD1tdXR0cmNGb3JtYXRDb25kaXRpb25hbHMyCiAiIFRoZSBmb2xsb3dpbmcgaW5mbyB3YXMgcHVsbGVkIGZyb20gbXV0dF9hdHRhY2hfZm10IGluIHJlY3ZhdHRhY2guYwogc3luIG1hdGNoIG11dHRyY0F0dGFjaEZvcm1hdEVzY2FwZXMgY29udGFpbmVkIC8lXCUoXCUoLVw/WzAtOV1cK1wpXD9cJShcLlswLTldXCtcKVw/XClcP1s6X11cP1tDY0RkZWZJbU1uUXN0VHVYJV0vCiBzeW4gbWF0Y2ggbXV0dHJjQXR0YWNoRm9ybWF0RXNjYXBlcyBjb250YWluZWQgLyVbPnwqXS4vCkBAIC0yODcsMjcgKzI5MiwyOSBAQAogc3luIHJlZ2lvbiBtdXR0cmNQR1BUaW1lRXNjYXBlcyBjb250YWluZWQgc3RhcnQ9KyVcWysgZW5kPStcXSsgY29udGFpbnM9bXV0dHJjU3RyZnRpbWVFc2NhcGVzCiAKIHN5biBrZXl3b3JkIG11dHRyY1ZhclN0cgljb250YWluZWQgYXR0cmlidXRpb24gaW5kZXhfZm9ybWF0IG1lc3NhZ2VfZm9ybWF0IHBhZ2VyX2Zvcm1hdCBuZXh0Z3JvdXA9bXV0dHJjVmFyRXF1YWxzSWR4Rm10Ci1zeW4gbWF0Y2ggbXV0dHJjVmFyRXF1YWxzSWR4Rm10IGNvbnRhaW5lZCAiPSIgbmV4dGdyb3VwPW11dHRyY0luZGV4Rm9ybWF0U3RyCitzeW4gbWF0Y2ggbXV0dHJjVmFyRXF1YWxzSWR4Rm10IGNvbnRhaW5lZCAiICo9ICoiIG5leHRncm91cD1tdXR0cmNJbmRleEZvcm1hdFN0cgogc3luIGtleXdvcmQgbXV0dHJjVmFyU3RyCWNvbnRhaW5lZCBhbGlhc19mb3JtYXQgbmV4dGdyb3VwPW11dHRyY1ZhckVxdWFsc0FsaWFzRm10Ci1zeW4gbWF0Y2ggbXV0dHJjVmFyRXF1YWxzQWxpYXNGbXQgY29udGFpbmVkICI9IiBuZXh0Z3JvdXA9bXV0dHJjQWxpYXNGb3JtYXRTdHIKK3N5biBtYXRjaCBtdXR0cmNWYXJFcXVhbHNBbGlhc0ZtdCBjb250YWluZWQgIiAqPSAqIiBuZXh0Z3JvdXA9bXV0dHJjQWxpYXNGb3JtYXRTdHIKIHN5biBrZXl3b3JkIG11dHRyY1ZhclN0cgljb250YWluZWQgYXR0YWNoX2Zvcm1hdCBuZXh0Z3JvdXA9bXV0dHJjVmFyRXF1YWxzQXR0YWNoRm10Ci1zeW4gbWF0Y2ggbXV0dHJjVmFyRXF1YWxzQXR0YWNoRm10IGNvbnRhaW5lZCAiPSIgbmV4dGdyb3VwPW11dHRyY0F0dGFjaEZvcm1hdFN0cgorc3luIG1hdGNoIG11dHRyY1ZhckVxdWFsc0F0dGFjaEZtdCBjb250YWluZWQgIiAqPSAqIiBuZXh0Z3JvdXA9bXV0dHJjQXR0YWNoRm9ybWF0U3RyCiBzeW4ga2V5d29yZCBtdXR0cmNWYXJTdHIJY29udGFpbmVkIGNvbXBvc2VfZm9ybWF0IG5leHRncm91cD1tdXR0cmNWYXJFcXVhbHNDb21wb3NlRm10Ci1zeW4gbWF0Y2ggbXV0dHJjVmFyRXF1YWxzQ29tcG9zZUZtdCBjb250YWluZWQgIj0iIG5leHRncm91cD1tdXR0cmNDb21wb3NlRm9ybWF0U3RyCitzeW4gbWF0Y2ggbXV0dHJjVmFyRXF1YWxzQ29tcG9zZUZtdCBjb250YWluZWQgIiAqPSAqIiBuZXh0Z3JvdXA9bXV0dHJjQ29tcG9zZUZvcm1hdFN0cgogc3luIGtleXdvcmQgbXV0dHJjVmFyU3RyCWNvbnRhaW5lZCBmb2xkZXJfZm9ybWF0IG5leHRncm91cD1tdXR0cmNWYXJFcXVhbHNGb2xkZXJGbXQKLXN5biBtYXRjaCBtdXR0cmNWYXJFcXVhbHNGb2xkZXJGbXQgY29udGFpbmVkICI9IiBuZXh0Z3JvdXA9bXV0dHJjRm9sZGVyRm9ybWF0U3RyCitzeW4gbWF0Y2ggbXV0dHJjVmFyRXF1YWxzRm9sZGVyRm10IGNvbnRhaW5lZCAiICo9ICoiIG5leHRncm91cD1tdXR0cmNGb2xkZXJGb3JtYXRTdHIKIHN5biBrZXl3b3JkIG11dHRyY1ZhclN0cgljb250YWluZWQgbWl4X2VudHJ5X2Zvcm1hdCBuZXh0Z3JvdXA9bXV0dHJjVmFyRXF1YWxzTWl4Rm10Ci1zeW4gbWF0Y2ggbXV0dHJjVmFyRXF1YWxzTWl4Rm10IGNvbnRhaW5lZCAiPSIgbmV4dGdyb3VwPW11dHRyY01peEZvcm1hdFN0cgorc3luIG1hdGNoIG11dHRyY1ZhckVxdWFsc01peEZtdCBjb250YWluZWQgIiAqPSAqIiBuZXh0Z3JvdXA9bXV0dHJjTWl4Rm9ybWF0U3RyCiBzeW4ga2V5d29yZCBtdXR0cmNWYXJTdHIJY29udGFpbmVkIHBncF9lbnRyeV9mb3JtYXQgbmV4dGdyb3VwPW11dHRyY1ZhckVxdWFsc1BHUEZtdAotc3luIG1hdGNoIG11dHRyY1ZhckVxdWFsc1BHUEZtdCBjb250YWluZWQgIj0iIG5leHRncm91cD1tdXR0cmNQR1BGb3JtYXRTdHIKK3N5biBtYXRjaCBtdXR0cmNWYXJFcXVhbHNQR1BGbXQgY29udGFpbmVkICIgKj0gKiIgbmV4dGdyb3VwPW11dHRyY1BHUEZvcm1hdFN0cgorc3luIGtleXdvcmQgbXV0dHJjVmFyU3RyCWNvbnRhaW5lZCBxdWVyeV9mb3JtYXQgbmV4dGdyb3VwPW11dHRyY1ZhckVxdWFsc1F1ZXJ5Rm10CitzeW4gbWF0Y2ggbXV0dHJjVmFyRXF1YWxzUXVlcnlGbXQgY29udGFpbmVkICIgKj0gKiIgbmV4dGdyb3VwPW11dHRyY1F1ZXJ5Rm9ybWF0U3RyCiBzeW4ga2V5d29yZCBtdXR0cmNWYXJTdHIJY29udGFpbmVkIHBncF9kZWNvZGVfY29tbWFuZCBwZ3BfdmVyaWZ5X2NvbW1hbmQgcGdwX2RlY3J5cHRfY29tbWFuZCBwZ3BfY2xlYXJzaWduX2NvbW1hbmQgcGdwX3NpZ25fY29tbWFuZCBwZ3BfZW5jcnlwdF9zaWduX2NvbW1hbmQgcGdwX2VuY3J5cHRfb25seV9jb21tYW5kIHBncF9pbXBvcnRfY29tbWFuZCBwZ3BfZXhwb3J0X2NvbW1hbmQgcGdwX3ZlcmlmeV9rZXlfY29tbWFuZCBwZ3BfbGlzdF9zZWNyaW5nX2NvbW1hbmQgcGdwX2xpc3RfcHVicmluZ19jb21tYW5kIG5leHRncm91cD1tdXR0cmNWYXJFcXVhbHNQR1BDbWRGbXQKLXN5biBtYXRjaCBtdXR0cmNWYXJFcXVhbHNQR1BDbWRGbXQgY29udGFpbmVkICI9IiBuZXh0Z3JvdXA9bXV0dHJjUEdQQ21kRm9ybWF0U3RyCitzeW4gbWF0Y2ggbXV0dHJjVmFyRXF1YWxzUEdQQ21kRm10IGNvbnRhaW5lZCAiICo9ICoiIG5leHRncm91cD1tdXR0cmNQR1BDbWRGb3JtYXRTdHIKIHN5biBrZXl3b3JkIG11dHRyY1ZhclN0cgljb250YWluZWQgc3RhdHVzX2Zvcm1hdCBuZXh0Z3JvdXA9bXV0dHJjVmFyRXF1YWxzU3RhdHVzRm10Ci1zeW4gbWF0Y2ggbXV0dHJjVmFyRXF1YWxzU3RhdHVzRm10IGNvbnRhaW5lZCAiPSIgbmV4dGdyb3VwPW11dHRyY1N0YXR1c0Zvcm1hdFN0cgorc3luIG1hdGNoIG11dHRyY1ZhckVxdWFsc1N0YXR1c0ZtdCBjb250YWluZWQgIiAqPSAqIiBuZXh0Z3JvdXA9bXV0dHJjU3RhdHVzRm9ybWF0U3RyCiBzeW4ga2V5d29yZCBtdXR0cmNWYXJTdHIJY29udGFpbmVkIHBncF9nZXRrZXlzX2NvbW1hbmQgbmV4dGdyb3VwPW11dHRyY1ZhckVxdWFsc1BHUEdldEtleXNGbXQKLXN5biBtYXRjaCBtdXR0cmNWYXJFcXVhbHNQR1BHZXRLZXlzRm10IGNvbnRhaW5lZCAiPSIgbmV4dGdyb3VwPW11dHRyY1BHUEdldEtleXNGb3JtYXRTdHIKK3N5biBtYXRjaCBtdXR0cmNWYXJFcXVhbHNQR1BHZXRLZXlzRm10IGNvbnRhaW5lZCAiICo9ICoiIG5leHRncm91cD1tdXR0cmNQR1BHZXRLZXlzRm9ybWF0U3RyCiBzeW4ga2V5d29yZCBtdXR0cmNWYXJTdHIJY29udGFpbmVkIHNtaW1lX2RlY3J5cHRfY29tbWFuZCBzbWltZV92ZXJpZnlfY29tbWFuZCBzbWltZV92ZXJpZnlfb3BhcXVlX2NvbW1hbmQgc21pbWVfc2lnbl9jb21tYW5kIHNtaW1lX3NpZ25fb3BhcXVlX2NvbW1hbmQgc21pbWVfZW5jcnlwdF9jb21tYW5kIHNtaW1lX3BrN291dF9jb21tYW5kIHNtaW1lX2dldF9jZXJ0X2NvbW1hbmQgc21pbWVfZ2V0X3NpZ25lcl9jZXJ0X2NvbW1hbmQgc21pbWVfaW1wb3J0X2NlcnRfY29tbWFuZCBzbWltZV9nZXRfY2VydF9lbWFpbF9jb21tYW5kIG5leHRncm91cD1tdXR0cmNWYXJFcXVhbHNTbWltZUZtdAotc3luIG1hdGNoIG11dHRyY1ZhckVxdWFsc1NtaW1lRm10IGNvbnRhaW5lZCAiPSIgbmV4dGdyb3VwPW11dHRyY1NtaW1lRm9ybWF0U3RyCitzeW4gbWF0Y2ggbXV0dHJjVmFyRXF1YWxzU21pbWVGbXQgY29udGFpbmVkICIgKj0gKiIgbmV4dGdyb3VwPW11dHRyY1NtaW1lRm9ybWF0U3RyCiAKIHN5biBtYXRjaCBtdXR0cmNWYXJTdHIJCWNvbnRhaW5lZCAnbXlfW2EtekEtWjAtOV9dXCsnCiBzeW4ga2V5d29yZCBtdXR0cmNWYXJTdHIJY29udGFpbmVkIGFsaWFzX2ZpbGUgYXNzdW1lZF9jaGFyc2V0IGF0dGFjaF9jaGFyc2V0IGF0dGFjaF9zZXAKQEAgLTM3Myw3ICszODAsNyBAQAogc3luIG1hdGNoIG11dHRyY1ZhcmlhYmxlCSJcJFthLXpBLVpfLV1cKyIKIAogc3luIG1hdGNoIG11dHRyY0JhZEFjdGlvbgljb250YWluZWQgIltePD5dXCsiIGNvbnRhaW5zPW11dHRyY0VtYWlsCi1zeW4gbWF0Y2ggbXV0dHJjRnVuY3Rpb24JY29udGFpbmVkICJcPFwlKGF0dGFjaFx8Ym91bmNlXHxjb3B5XHxkZWxldGVcfGRpc3BsYXlcfGZsYWdcfGZvcndhcmRcfHBhcmVudFx8cGlwZVx8cG9zdHBvbmVcfHByaW50XHxyZWNhbGxcfHJlc2VudFx8c2F2ZVx8c2VuZFx8dGFnXHx1bmRlbGV0ZVwpLW1lc3NhZ2VcPiIKK3N5biBtYXRjaCBtdXR0cmNGdW5jdGlvbgljb250YWluZWQgIlw8XCUoYXR0YWNoXHxib3VuY2VcfGNvcHlcfGRlbGV0ZVx8ZGlzcGxheVx8ZmxhZ1x8Zm9yd2FyZFx8cGFyZW50XHxwaXBlXHxwb3N0cG9uZVx8cHJpbnRcfHJlY2FsbFx8cmVzZW5kXHxzYXZlXHxzZW5kXHx0YWdcfHVuZGVsZXRlXCktbWVzc2FnZVw+Igogc3luIG1hdGNoIG11dHRyY0Z1bmN0aW9uCWNvbnRhaW5lZCAiXDxcJShkZWxldGVcfG5leHRcfHByZXZpb3VzXHxyZWFkXHx0YWdcfHVuZGVsZXRlXCktdGhyZWFkXD4iCiBzeW4gbWF0Y2ggbXV0dHJjRnVuY3Rpb24JY29udGFpbmVkICJcPFwlKGJhY2t3YXJkXHxjYXBpdGFsaXplXHxkb3duY2FzZVx8Zm9yd2FyZFx8a2lsbFx8dXBjYXNlXCktd29yZFw+Igogc3luIG1hdGNoIG11dHRyY0Z1bmN0aW9uCWNvbnRhaW5lZCAiXDxcJShkZWxldGVcfGZpbHRlclx8Zmlyc3RcfGxhc3RcfG5leHRcfHBpcGVcfHByZXZpb3VzXHxwcmludFx8c2F2ZVx8c2VsZWN0XHx0YWdcfHVuZGVsZXRlXCktZW50cnlcPiIKQEAgLTM4OSw3ICszOTYsNyBAQAogc3luIG1hdGNoIG11dHRyY0Z1bmN0aW9uCWNvbnRhaW5lZCAiXDxoYWxmLVwlKHVwXHxkb3duXClcPiIKIHN5biBtYXRjaCBtdXR0cmNGdW5jdGlvbgljb250YWluZWQgIlw8aGlzdG9yeS1cJSh1cFx8ZG93blwpXD4iCiBzeW4gbWF0Y2ggbXV0dHJjRnVuY3Rpb24JY29udGFpbmVkICJcPGtpbGwtXCUoZW9sXHxlb3dcfGxpbmVcKVw+Igotc3luIG1hdGNoIG11dHRyY0Z1bmN0aW9uCWNvbnRhaW5lZCAiXDxuZXh0LVwlKGxpbmVcfG5ld1x8cGFnZVx8c3VidGhyZWFkXHx1bmRlbGV0ZWRcfHVucmVhZFwpXD4iCitzeW4gbWF0Y2ggbXV0dHJjRnVuY3Rpb24JY29udGFpbmVkICJcPG5leHQtXCUobGluZVx8bmV3XHxwYWdlXHxzdWJ0aHJlYWRcfHVuZGVsZXRlZFx8dW5yZWFkXHx1bnJlYWQtbWFpbGJveFwpXD4iCiBzeW4gbWF0Y2ggbXV0dHJjRnVuY3Rpb24JY29udGFpbmVkICJcPHByZXZpb3VzLVwlKGxpbmVcfG5ld1x8cGFnZVx8c3VidGhyZWFkXHx1bmRlbGV0ZWRcfHVucmVhZFwpXD4iCiBzeW4gbWF0Y2ggbXV0dHJjRnVuY3Rpb24JY29udGFpbmVkICJcPHNlYXJjaFwlKC1cJShuZXh0XHxvcHBvc2l0ZVx8cmV2ZXJzZVx8dG9nZ2xlXClcKVw/XD4iCiBzeW4gbWF0Y2ggbXV0dHJjRnVuY3Rpb24JY29udGFpbmVkICJcPHNob3ctXCUobGltaXRcfHZlcnNpb25cKVw+IgpAQCAtNDI4LDggKzQzNSw4IEBACiBzeW4gcmVnaW9uIG11dHRyY01hY3JvRGVzY3IJY29udGFpbmVkIGtlZXBlbmQgc2tpcHdoaXRlIHN0YXJ0PSsiK21zPWUgc2tpcD0rXFwiKyBlbmQ9KyIrbWU9cwogc3luIG1hdGNoIG11dHRyY01hY3JvRGVzY3JOTAljb250YWluZWQgL1xzKlxcJC8gc2tpcHdoaXRlIHNraXBubCBuZXh0Z3JvdXA9bXV0dHJjTWFjcm9EZXNjcixtdXR0cmNNYWNyb0Rlc2NyTkwKIHN5biByZWdpb24gbXV0dHJjTWFjcm9Cb2R5CWNvbnRhaW5lZCBza2lwd2hpdGUgc3RhcnQ9IlxTIiBza2lwPSdcXCBcfFxcJCcgZW5kPScgXHwkJyBjb250YWlucz1tdXR0cmNFc2NhcGUsbXV0dHJjU2V0LG11dHRyY1Vuc2V0LG11dHRyY1Jlc2V0LG11dHRyY1RvZ2dsZSxtdXR0cmNDb21tYW5kLG11dHRyY0FjdGlvbiBuZXh0Z3JvdXA9bXV0dHJjTWFjcm9EZXNjcixtdXR0cmNNYWNyb0Rlc2NyTkwKLXN5biByZWdpb24gbXV0dHJjTWFjcm9Cb2R5IG1hdGNoZ3JvdXA9VHlwZSBjb250YWluZWQgc2tpcHdoaXRlIHN0YXJ0PSsnK21zPWUgc2tpcD0rXFwnKyBlbmQ9KycrbWU9cyBjb250YWlucz1tdXR0cmNFc2NhcGUsbXV0dHJjU2V0LG11dHRyY1Vuc2V0LG11dHRyY1Jlc2V0LG11dHRyY1RvZ2dsZSxtdXR0cmNDb21tYW5kLG11dHRyY0FjdGlvbiBuZXh0Z3JvdXA9bXV0dHJjTWFjcm9EZXNjcixtdXR0cmNNYWNyb0Rlc2NyTkwKLXN5biByZWdpb24gbXV0dHJjTWFjcm9Cb2R5IG1hdGNoZ3JvdXA9VHlwZSBjb250YWluZWQgc2tpcHdoaXRlIHN0YXJ0PSsiK21zPWUgc2tpcD0rXFwiKyBlbmQ9KyIrbWU9cyBjb250YWlucz1tdXR0cmNFc2NhcGUsbXV0dHJjU2V0LG11dHRyY1Vuc2V0LG11dHRyY1Jlc2V0LG11dHRyY1RvZ2dsZSxtdXR0cmNDb21tYW5kLG11dHRyY0FjdGlvbiBuZXh0Z3JvdXA9bXV0dHJjTWFjcm9EZXNjcixtdXR0cmNNYWNyb0Rlc2NyTkwKK3N5biByZWdpb24gbXV0dHJjTWFjcm9Cb2R5IG1hdGNoZ3JvdXA9VHlwZSBjb250YWluZWQgc2tpcHdoaXRlIHN0YXJ0PSsnK21zPWUgc2tpcD0rXFwnXHxcXCQrIGVuZD0rJ1x8JCttZT1zIGNvbnRhaW5zPW11dHRyY0VzY2FwZSxtdXR0cmNTZXQsbXV0dHJjVW5zZXQsbXV0dHJjUmVzZXQsbXV0dHJjVG9nZ2xlLG11dHRyY0NvbW1hbmQsbXV0dHJjQWN0aW9uIG5leHRncm91cD1tdXR0cmNNYWNyb0Rlc2NyLG11dHRyY01hY3JvRGVzY3JOTAorc3luIHJlZ2lvbiBtdXR0cmNNYWNyb0JvZHkgbWF0Y2hncm91cD1UeXBlIGNvbnRhaW5lZCBza2lwd2hpdGUgc3RhcnQ9KyIrbXM9ZSBza2lwPStcXCJcfFxcJCsgZW5kPSsiXHwkK21lPXMgY29udGFpbnM9bXV0dHJjRXNjYXBlLG11dHRyY1NldCxtdXR0cmNVbnNldCxtdXR0cmNSZXNldCxtdXR0cmNUb2dnbGUsbXV0dHJjQ29tbWFuZCxtdXR0cmNBY3Rpb24gbmV4dGdyb3VwPW11dHRyY01hY3JvRGVzY3IsbXV0dHJjTWFjcm9EZXNjck5MCiBzeW4gbWF0Y2ggbXV0dHJjTWFjcm9Cb2R5TkwJY29udGFpbmVkIC9ccypcXCQvIHNraXB3aGl0ZSBza2lwbmwgbmV4dGdyb3VwPW11dHRyY01hY3JvQm9keSxtdXR0cmNNYWNyb0JvZHlOTAogc3luIG1hdGNoIG11dHRyY01hY3JvS2V5CWNvbnRhaW5lZCAvXFNcKy8gc2tpcHdoaXRlIGNvbnRhaW5zPW11dHRyY0tleSBuZXh0Z3JvdXA9bXV0dHJjTWFjcm9Cb2R5LG11dHRyY01hY3JvQm9keU5MCiBzeW4gbWF0Y2ggbXV0dHJjTWFjcm9LZXlOTAljb250YWluZWQgL1xzKlxcJC8gc2tpcHdoaXRlIHNraXBubCBuZXh0Z3JvdXA9bXV0dHJjTWFjcm9LZXksbXV0dHJjTWFjcm9LZXlOTApkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvcnVieS52aW0gYi9ydW50aW1lL3N5bnRheC9ydWJ5LnZpbQppbmRleCBmNjhkN2Y0Li5hNWExMThlIDEwMDY0NAotLS0gYS9ydW50aW1lL3N5bnRheC9ydWJ5LnZpbQorKysgYi9ydW50aW1lL3N5bnRheC9ydWJ5LnZpbQpAQCAtMTksNiArMTksOCBAQAogICBzZXRsb2NhbCBmb2xkbWV0aG9kPXN5bnRheAogZW5kaWYKIAorc3luIGNsdXN0ZXIgcnVieU5vdFRvcAkJCWNvbnRhaW5zPUBydWJ5RXh0ZW5kZWRTdHJpbmdTcGVjaWFsLEBydWJ5UmVnZXhwU3BlY2lhbCxAcnVieURlY2xhcmF0aW9uLHJ1YnlDb25kaXRpb25hbCxydWJ5VG9kbworCiBpZiBleGlzdHMoInJ1Ynlfc3BhY2VfZXJyb3JzIikKICAgaWYgIWV4aXN0cygicnVieV9ub190cmFpbF9zcGFjZV9lcnJvciIpCiAgICAgc3luIG1hdGNoIHJ1YnlTcGFjZUVycm9yIGRpc3BsYXkgZXhjbHVkZW5sICJcc1wrJCIKQEAgLTMyLDE0ICszNCwxNCBAQAogaWYgZXhpc3RzKCJydWJ5X29wZXJhdG9ycyIpCiAgIHN5biBtYXRjaCAgcnVieU9wZXJhdG9yCSAiXCUoW34hXiZ8Ki8lKy1dXHxcJShjbGFzc1xzKlwpXEA8ITw8XHw8PT5cfDw9XHxcJSg8XHxcPGNsYXNzXHNcK1x1XHcqXHMqXClcQDwhPFtePF1cQD1cfD09PVx8PT1cfD1cflx8Pj5cfD49XHw9XEA8IT5cfFwqXCpcfFwuXC5cLlx8XC5cLlx8OjpcKSIKICAgc3luIG1hdGNoICBydWJ5UHNldWRvT3BlcmF0b3IgICJcJSgtPVx8Lz1cfFwqXCo9XHxcKj1cfCYmPVx8Jj1cfCYmXHx8fD1cfHw9XHx8fFx8JT1cfCs9XHwhXH5cfCE9XCkiCi0gIHN5biByZWdpb24gcnVieUJyYWNrZXRPcGVyYXRvciBtYXRjaGdyb3VwPXJ1YnlPcGVyYXRvciBzdGFydD0iXCUoW19bOmxvd2VyOl1dXHcqWz8hPV1cPVx8W30pXVwpXEA8PVxbXHMqIiBlbmQ9IlxzKl0iIGNvbnRhaW5zPVRPUAorICBzeW4gcmVnaW9uIHJ1YnlCcmFja2V0T3BlcmF0b3IgbWF0Y2hncm91cD1ydWJ5T3BlcmF0b3Igc3RhcnQ9IlwlKFx3Wz8hXVw9XHxbXX0pXVwpXEA8PVxbXHMqIiBlbmQ9IlxzKl0iIGNvbnRhaW5zPUFMTEJVVCxAcnVieU5vdFRvcAogZW5kaWYKIAogIiBFeHByZXNzaW9uIFN1YnN0aXR1dGlvbiBhbmQgQmFja3NsYXNoIE5vdGF0aW9uCi1zeW4gbWF0Y2ggcnVieUVzY2FwZQkiXFxcXFx8XFxbYWJlZm5yc3R2XVx8XFxcb1x7MSwzfVx8XFx4XHhcezEsMn0iCQkJCQkJCSBjb250YWluZWQgZGlzcGxheQotc3luIG1hdGNoIHJ1YnlFc2NhcGUJIlwlKFxcTS1cXEMtXHxcXEMtXFxNLVx8XFxNLVxcY1x8XFxjXFxNLVx8XFxjXHxcXEMtXHxcXE0tXClcJShcXFxvXHsxLDN9XHxcXHhceFx7MSwyfVx8XFxcPVxTXCkiIGNvbnRhaW5lZCBkaXNwbGF5CitzeW4gbWF0Y2ggcnVieVN0cmluZ0VzY2FwZQkiXFxcXFx8XFxbYWJlZm5yc3R2XVx8XFxcb1x7MSwzfVx8XFx4XHhcezEsMn0iCQkJCQkJCSBjb250YWluZWQgZGlzcGxheQorc3luIG1hdGNoIHJ1YnlTdHJpbmdFc2NhcGUJIlwlKFxcTS1cXEMtXHxcXEMtXFxNLVx8XFxNLVxcY1x8XFxjXFxNLVx8XFxjXHxcXEMtXHxcXE0tXClcJShcXFxvXHsxLDN9XHxcXHhceFx7MSwyfVx8XFxcPVxTXCkiIGNvbnRhaW5lZCBkaXNwbGF5CiAKLXN5biByZWdpb24gcnVieUludGVycG9sYXRpb24JICAgICAgbWF0Y2hncm91cD1ydWJ5SW50ZXJwb2xhdGlvbkRlbGltaXRlciBzdGFydD0iI3siIGVuZD0ifSIgY29udGFpbmVkIGNvbnRhaW5zPVRPUAorc3luIHJlZ2lvbiBydWJ5SW50ZXJwb2xhdGlvbgkgICAgICBtYXRjaGdyb3VwPXJ1YnlJbnRlcnBvbGF0aW9uRGVsaW1pdGVyIHN0YXJ0PSIjeyIgZW5kPSJ9IiBjb250YWluZWQgY29udGFpbnM9QUxMQlVULEBydWJ5Tm90VG9wCiBzeW4gbWF0Y2ggIHJ1YnlJbnRlcnBvbGF0aW9uCSAgICAgICIjXCUoXCRcfEBAXD1cKVx3XCsiICAgIGRpc3BsYXkgY29udGFpbmVkICBjb250YWlucz1ydWJ5SW50ZXJwb2xhdGlvbkRlbGltaXRlcixydWJ5SW5zdGFuY2VWYXJpYWJsZSxydWJ5Q2xhc3NWYXJpYWJsZSxydWJ5R2xvYmFsVmFyaWFibGUscnVieVByZWRlZmluZWRWYXJpYWJsZQogc3luIG1hdGNoICBydWJ5SW50ZXJwb2xhdGlvbkRlbGltaXRlciAiI1x6ZVwlKFwkXHxAQFw9XClcd1wrIiBkaXNwbGF5IGNvbnRhaW5lZAogc3luIG1hdGNoICBydWJ5SW50ZXJwb2xhdGlvbgkgICAgICAiI1wkXCUoLVx3XHxcV1wpIiAgICAgICBkaXNwbGF5IGNvbnRhaW5lZCAgY29udGFpbnM9cnVieUludGVycG9sYXRpb25EZWxpbWl0ZXIscnVieVByZWRlZmluZWRWYXJpYWJsZSxydWJ5SW52YWxpZFZhcmlhYmxlCkBAIC01MSwxNyArNTMsMzIgQEAKIAogc3luIG1hdGNoIHJ1YnlEZWxpbUVzY2FwZQkiXFxbKDx7XFspPn1cXV0iIHRyYW5zcGFyZW50IGRpc3BsYXkgY29udGFpbmVkIGNvbnRhaW5zPU5PTkUKIAotc3luIHJlZ2lvbiBydWJ5TmVzdGVkUGFyZW50aGVzZXMJc3RhcnQ9IigiCWVuZD0iKSIJCXNraXA9IlxcXFxcfFxcKSIJdHJhbnNwYXJlbnQgY29udGFpbmVkIGNvbnRhaW5zPUBydWJ5U3RyaW5nU3BlY2lhbCxydWJ5TmVzdGVkUGFyZW50aGVzZXMscnVieURlbGltRXNjYXBlCi1zeW4gcmVnaW9uIHJ1YnlOZXN0ZWRDdXJseUJyYWNlcwlzdGFydD0ieyIJZW5kPSJ9IgkJc2tpcD0iXFxcXFx8XFx9Igl0cmFuc3BhcmVudCBjb250YWluZWQgY29udGFpbnM9QHJ1YnlTdHJpbmdTcGVjaWFsLHJ1YnlOZXN0ZWRDdXJseUJyYWNlcyxydWJ5RGVsaW1Fc2NhcGUKLXN5biByZWdpb24gcnVieU5lc3RlZEFuZ2xlQnJhY2tldHMJc3RhcnQ9IjwiCWVuZD0iPiIJCXNraXA9IlxcXFxcfFxcPiIJdHJhbnNwYXJlbnQgY29udGFpbmVkIGNvbnRhaW5zPUBydWJ5U3RyaW5nU3BlY2lhbCxydWJ5TmVzdGVkQW5nbGVCcmFja2V0cyxydWJ5RGVsaW1Fc2NhcGUKLWlmIGV4aXN0cygicnVieV9vcGVyYXRvcnMiKQotICBzeW4gcmVnaW9uIHJ1YnlOZXN0ZWRTcXVhcmVCcmFja2V0cwlzdGFydD0iXFsiCWVuZD0iXF0iCXNraXA9IlxcXFxcfFxcXF0iCXRyYW5zcGFyZW50IGNvbnRhaW5lZCBjb250YWlucz1AcnVieVN0cmluZ1NwZWNpYWwscnVieU5lc3RlZFNxdWFyZUJyYWNrZXRzLHJ1YnlEZWxpbUVzY2FwZQotZWxzZQotICBzeW4gcmVnaW9uIHJ1YnlOZXN0ZWRTcXVhcmVCcmFja2V0cwlzdGFydD0iXFsiCWVuZD0iXF0iCXNraXA9IlxcXFxcfFxcXF0iCXRyYW5zcGFyZW50IGNvbnRhaW5lZGluPXJ1YnlBcnJheUxpdGVyYWwgY29udGFpbmVkIGNvbnRhaW5zPUBydWJ5U3RyaW5nU3BlY2lhbCxydWJ5TmVzdGVkU3F1YXJlQnJhY2tldHMscnVieURlbGltRXNjYXBlCi1lbmRpZgorc3luIHJlZ2lvbiBydWJ5TmVzdGVkUGFyZW50aGVzZXMJc3RhcnQ9IigiCXNraXA9IlxcXFxcfFxcKSIJbWF0Y2hncm91cD1ydWJ5U3RyaW5nIGVuZD0iKSIJdHJhbnNwYXJlbnQgY29udGFpbmVkCitzeW4gcmVnaW9uIHJ1YnlOZXN0ZWRDdXJseUJyYWNlcwlzdGFydD0ieyIJc2tpcD0iXFxcXFx8XFx9IgltYXRjaGdyb3VwPXJ1YnlTdHJpbmcgZW5kPSJ9Igl0cmFuc3BhcmVudCBjb250YWluZWQKK3N5biByZWdpb24gcnVieU5lc3RlZEFuZ2xlQnJhY2tldHMJc3RhcnQ9IjwiCXNraXA9IlxcXFxcfFxcPiIJbWF0Y2hncm91cD1ydWJ5U3RyaW5nIGVuZD0iPiIJdHJhbnNwYXJlbnQgY29udGFpbmVkCitzeW4gcmVnaW9uIHJ1YnlOZXN0ZWRTcXVhcmVCcmFja2V0cwlzdGFydD0iXFsiCXNraXA9IlxcXFxcfFxcXF0iCW1hdGNoZ3JvdXA9cnVieVN0cmluZyBlbmQ9IlxdIgl0cmFuc3BhcmVudCBjb250YWluZWQKIAotc3luIGNsdXN0ZXIgcnVieVN0cmluZ1NwZWNpYWwJCWNvbnRhaW5zPXJ1YnlJbnRlcnBvbGF0aW9uLHJ1YnlOb0ludGVycG9sYXRpb24scnVieUVzY2FwZQorIiBUaGVzZSBhcmUgbW9zdGx5IE9uaWd1cnVtYSByZWFkeQorc3luIHJlZ2lvbiBydWJ5UmVnZXhwQ29tbWVudAltYXRjaGdyb3VwPXJ1YnlSZWdleHBTcGVjaWFsICAgc3RhcnQ9Iig/IyIJCQkJCQkJCQlza2lwPSJcXCkiICBlbmQ9IikiICBjb250YWluZWQKK3N5biByZWdpb24gcnVieVJlZ2V4cFBhcmVucwltYXRjaGdyb3VwPXJ1YnlSZWdleHBTcGVjaWFsICAgc3RhcnQ9IihcKD86XHw/PFw9Wz0hXVx8Pz5cfD88W2Etel9dXHcqPlx8P1tpbXhdKi1baW14XSo6XD1cfFwlKD8jXClcQCFcKSIJc2tpcD0iXFwpIiAgZW5kPSIpIiAgY29udGFpbmVkIHRyYW5zcGFyZW50IGNvbnRhaW5zPUBydWJ5UmVnZXhwU3BlY2lhbAorc3luIHJlZ2lvbiBydWJ5UmVnZXhwQnJhY2tldHMJbWF0Y2hncm91cD1ydWJ5UmVnZXhwQ2hhckNsYXNzIHN0YXJ0PSJcW1xeXD0iCQkJCQkJCQkJc2tpcD0iXFxcXSIgZW5kPSJcXSIgY29udGFpbmVkIHRyYW5zcGFyZW50IGNvbnRhaW5zPXJ1YnlTdHJpbmdFc2NhcGUscnVieVJlZ2V4cEVzY2FwZSxydWJ5UmVnZXhwQ2hhckNsYXNzIG9uZWxpbmUKK3N5biBtYXRjaCAgcnVieVJlZ2V4cENoYXJDbGFzcwkiXFxbRGRIaFNzV3ddIgkJY29udGFpbmVkIGRpc3BsYXkKK3N5biBtYXRjaCAgcnVieVJlZ2V4cENoYXJDbGFzcwkiXFs6XF5cPVwlKGFsbnVtXHxhbHBoYVx8YXNjaWlcfGJsYW5rXHxjbnRybFx8ZGlnaXRcfGdyYXBoXHxsb3dlclx8cHJpbnRcfHB1bmN0XHxzcGFjZVx8dXBwZXJcfHhkaWdpdFwpOlxdIgkJY29udGFpbmVkCitzeW4gbWF0Y2ggIHJ1YnlSZWdleHBFc2NhcGUJIlxcW10uKj8rXiR8XFwvKCl7fVtdIgljb250YWluZWQgZGlzcGxheQorc3luIG1hdGNoICBydWJ5UmVnZXhwUXVhbnRpZmllcgkiWyo/K11bPytdXD0iCQljb250YWluZWQgZGlzcGxheQorc3luIG1hdGNoICBydWJ5UmVnZXhwUXVhbnRpZmllcgkie1xkXCtcJSgsXGQqXClcPX0/XD0iCWNvbnRhaW5lZCBkaXNwbGF5CitzeW4gbWF0Y2ggIHJ1YnlSZWdleHBBbmNob3IJIlskXl1cfFxcW0FCYkdael0iCWNvbnRhaW5lZCBkaXNwbGF5CitzeW4gbWF0Y2ggIHJ1YnlSZWdleHBEb3QJIlwuIgkJCWNvbnRhaW5lZCBkaXNwbGF5CitzeW4gbWF0Y2ggIHJ1YnlSZWdleHBTcGVjaWFsCSJ8IgkJCWNvbnRhaW5lZCBkaXNwbGF5CitzeW4gbWF0Y2ggIHJ1YnlSZWdleHBTcGVjaWFsCSJcXFsxLTldXGRcPVxkXEAhIgljb250YWluZWQgZGlzcGxheQorc3luIG1hdGNoICBydWJ5UmVnZXhwU3BlY2lhbAkiXFxrPFwlKFthLXpfXVx3Klx8LVw9XGRcK1wpXCUoWystXVxkXCtcKVw9PiIgY29udGFpbmVkIGRpc3BsYXkKK3N5biBtYXRjaCAgcnVieVJlZ2V4cFNwZWNpYWwJIlxcaydcJShbYS16X11cdypcfC1cPVxkXCtcKVwlKFsrLV1cZFwrXClcPSciIGNvbnRhaW5lZCBkaXNwbGF5CitzeW4gbWF0Y2ggIHJ1YnlSZWdleHBTcGVjaWFsCSJcXGc8XCUoW2Etel9dXHcqXHwtXD1cZFwrXCk+IiBjb250YWluZWQgZGlzcGxheQorc3luIG1hdGNoICBydWJ5UmVnZXhwU3BlY2lhbAkiXFxnJ1wlKFthLXpfXVx3Klx8LVw9XGRcK1wpJyIgY29udGFpbmVkIGRpc3BsYXkKKworc3luIGNsdXN0ZXIgcnVieVN0cmluZ1NwZWNpYWwJCWNvbnRhaW5zPXJ1YnlJbnRlcnBvbGF0aW9uLHJ1YnlOb0ludGVycG9sYXRpb24scnVieVN0cmluZ0VzY2FwZQogc3luIGNsdXN0ZXIgcnVieUV4dGVuZGVkU3RyaW5nU3BlY2lhbAljb250YWlucz1AcnVieVN0cmluZ1NwZWNpYWwscnVieU5lc3RlZFBhcmVudGhlc2VzLHJ1YnlOZXN0ZWRDdXJseUJyYWNlcyxydWJ5TmVzdGVkQW5nbGVCcmFja2V0cyxydWJ5TmVzdGVkU3F1YXJlQnJhY2tldHMKK3N5biBjbHVzdGVyIHJ1YnlSZWdleHBTcGVjaWFsCQljb250YWlucz1ydWJ5SW50ZXJwb2xhdGlvbixydWJ5Tm9JbnRlcnBvbGF0aW9uLHJ1YnlTdHJpbmdFc2NhcGUscnVieVJlZ2V4cFNwZWNpYWwscnVieVJlZ2V4cEVzY2FwZSxydWJ5UmVnZXhwQnJhY2tldHMscnVieVJlZ2V4cENoYXJDbGFzcyxydWJ5UmVnZXhwRG90LHJ1YnlSZWdleHBRdWFudGlmaWVyLHJ1YnlSZWdleHBBbmNob3IscnVieVJlZ2V4cFBhcmVucyxydWJ5UmVnZXhwQ29tbWVudAogCiAiIE51bWJlcnMgYW5kIEFTQ0lJIENvZGVzCiBzeW4gbWF0Y2ggcnVieUFTQ0lJQ29kZQkiXCUoXHdcfFtdfSlcIicvXVwpXEA8IVwlKD9cJShcXE0tXFxDLVx8XFxDLVxcTS1cfFxcTS1cXGNcfFxcY1xcTS1cfFxcY1x8XFxDLVx8XFxNLVwpXD1cJShcXFxvXHsxLDN9XHxcXHhceFx7MSwyfVx8XFxcPVxTXClcKSIKQEAgLTgzLDE0ICsxMDAsMTQgQEAKIHN5biBtYXRjaCAgcnVieVN5bWJvbAkJCSJbXX0pXCInOl1cQDwhOlwlKFxeXHxcflx8PDxcfDw9Plx8PD1cfDxcfD09PVx8PT1cfD1cflx8Pj5cfD49XHw+XHx8XHwtQFx8LVx8L1x8XFtdPVx8XFtdXHxcKlwqXHxcKlx8Jlx8JVx8K0BcfCtcfGBcKSIKIHN5biBtYXRjaCAgcnVieVN5bWJvbAkJCSJbXX0pXCInOl1cQDwhOlwkXCUoLS5cfFtgfjw9Pl8sOzohPy8uJyJAJCpcJiswXVwpIgogc3luIG1hdGNoICBydWJ5U3ltYm9sCQkJIltdfSlcIic6XVxAPCE6XCUoXCRcfEBAXD1cKVw9XGhcdyoiCi1zeW4gbWF0Y2ggIHJ1YnlTeW1ib2wJCQkiW119KVwiJzpdXEA8ITpcaFx3Kls/IT1dXD0iCitzeW4gbWF0Y2ggIHJ1YnlTeW1ib2wJCQkiW119KVwiJzpdXEA8ITpcaFx3KlwlKFs/IT1dPlxAIVwpXD0iCiBzeW4gcmVnaW9uIHJ1YnlTeW1ib2wJCQlzdGFydD0iW119KVwiJzpdXEA8ITpcIiIgZW5kPSJcIiIgc2tpcD0iXFxcXFx8XFxcIiIKIHN5biByZWdpb24gcnVieVN5bWJvbAkJCXN0YXJ0PSJbXX0pXCInOl1cQDwhOlwiIiBlbmQ9IlwiIiBza2lwPSJcXFxcXHxcXFwiIiBjb250YWlucz1AcnVieVN0cmluZ1NwZWNpYWwgZm9sZAogCiBzeW4gbWF0Y2ggIHJ1YnlCbG9ja1BhcmFtZXRlcgkJIlxoXHcqIiBjb250YWluZWQKIHN5biByZWdpb24gcnVieUJsb2NrUGFyYW1ldGVyTGlzdAlzdGFydD0iXCUoXCUoXDxkb1w+XHx7XClccypcKVxAPD18IiBlbmQ9InwiIG9uZWxpbmUgZGlzcGxheSBjb250YWlucz1ydWJ5QmxvY2tQYXJhbWV0ZXIKIAotc3luIG1hdGNoIHJ1YnlJbnZhbGlkVmFyaWFibGUgICAgIiRbXiBBLVphLXotXSIKK3N5biBtYXRjaCBydWJ5SW52YWxpZFZhcmlhYmxlICAgICIkW14gQS1aYS16Xy1dIgogc3luIG1hdGNoIHJ1YnlQcmVkZWZpbmVkVmFyaWFibGUgIyRbISQmIicqKywuLzA6Ozw9Pj9AXGB+MS05XSMKIHN5biBtYXRjaCBydWJ5UHJlZGVmaW5lZFZhcmlhYmxlICIkX1w+IgkJCQkJCQkJCQkJICAgZGlzcGxheQogc3luIG1hdGNoIHJ1YnlQcmVkZWZpbmVkVmFyaWFibGUgIiQtWzBGSUthZGlscHZ3XVw+IgkJCQkJCQkJCSAgIGRpc3BsYXkKQEAgLTEwNCwzMiArMTIxLDMyIEBACiAic3luIG1hdGNoIHJ1YnlQcmVkZWZpbmVkQ29uc3RhbnQgIlwlKDo6XClcPVx6c1wlKE5vdEltcGxlbWVudEVycm9yXClcPiIKIAogIiBOb3JtYWwgUmVndWxhciBFeHByZXNzaW9uCi1zeW4gcmVnaW9uIHJ1YnlSZWdleHAgbWF0Y2hncm91cD1ydWJ5UmVnZXhwRGVsaW1pdGVyIHN0YXJ0PSJcJShcJSheXHxcPFwlKGFuZFx8b3JcfHdoaWxlXHx1bnRpbFx8dW5sZXNzXHxpZlx8ZWxzaWZcfHdoZW5cfG5vdFx8dGhlblx8ZWxzZVwpXHxbO1x+PSF8JigsWz5dXClccypcKVxAPD0vIiBlbmQ9Ii9baW9teG5ldXNdKiIgc2tpcD0iXFxcXFx8XFwvIiBjb250YWlucz1AcnVieVN0cmluZ1NwZWNpYWwgZm9sZAotc3luIHJlZ2lvbiBydWJ5UmVnZXhwIG1hdGNoZ3JvdXA9cnVieVJlZ2V4cERlbGltaXRlciBzdGFydD0iXCUoXDxcJShzcGxpdFx8c2Nhblx8Z3N1Ylx8c3ViXClccypcKVxAPD0vIiBlbmQ9Ii9baW9teG5ldXNdKiIgc2tpcD0iXFxcXFx8XFwvIiBjb250YWlucz1AcnVieVN0cmluZ1NwZWNpYWwgZm9sZAorc3luIHJlZ2lvbiBydWJ5UmVnZXhwIG1hdGNoZ3JvdXA9cnVieVJlZ2V4cERlbGltaXRlciBzdGFydD0iXCUoXCUoXlx8XDxcJShhbmRcfG9yXHx3aGlsZVx8dW50aWxcfHVubGVzc1x8aWZcfGVsc2lmXHx3aGVuXHxub3RcfHRoZW5cfGVsc2VcKVx8Wztcfj0hfCYoLFs+XVwpXHMqXClcQDw9LyIgZW5kPSIvW2lvbXhuZXVzXSoiIHNraXA9IlxcXFxcfFxcLyIgY29udGFpbnM9QHJ1YnlSZWdleHBTcGVjaWFsIGtlZXBlbmQgZm9sZAorc3luIHJlZ2lvbiBydWJ5UmVnZXhwIG1hdGNoZ3JvdXA9cnVieVJlZ2V4cERlbGltaXRlciBzdGFydD0iXCUoXGhcaypcc1wrXClcQDw9L1sgXHQ9XVxAISIgZW5kPSIvW2lvbXhuZXVzXSoiIHNraXA9IlxcXFxcfFxcLyIgY29udGFpbnM9QHJ1YnlSZWdleHBTcGVjaWFsIGZvbGQKKworIiBHZW5lcmFsaXplZCBSZWd1bGFyIEV4cHJlc3Npb24KK3N5biByZWdpb24gcnVieVJlZ2V4cCBtYXRjaGdyb3VwPXJ1YnlSZWdleHBEZWxpbWl0ZXIgc3RhcnQ9IiVyXHooW35gIUAjJCVeJipfXC0rPXxcOjsiJywuPy9dXCkiCWVuZD0iXHoxW2lvbXhuZXVzXSoiCSBza2lwPSJcXFxcXHxcXFx6MSIgY29udGFpbnM9QHJ1YnlSZWdleHBTcGVjaWFsIGZvbGQKK3N5biByZWdpb24gcnVieVJlZ2V4cCBtYXRjaGdyb3VwPXJ1YnlSZWdleHBEZWxpbWl0ZXIgc3RhcnQ9IiVyeyIJCQkJZW5kPSJ9W2lvbXhuZXVzXSoiCSBza2lwPSJcXFxcXHxcXH0iICAgY29udGFpbnM9QHJ1YnlSZWdleHBTcGVjaWFsIGZvbGQKK3N5biByZWdpb24gcnVieVJlZ2V4cCBtYXRjaGdyb3VwPXJ1YnlSZWdleHBEZWxpbWl0ZXIgc3RhcnQ9IiVyPCIJCQkJZW5kPSI+W2lvbXhuZXVzXSoiCSBza2lwPSJcXFxcXHxcXD4iICAgY29udGFpbnM9QHJ1YnlSZWdleHBTcGVjaWFsLHJ1YnlOZXN0ZWRBbmdsZUJyYWNrZXRzLHJ1YnlEZWxpbUVzY2FwZSBmb2xkCitzeW4gcmVnaW9uIHJ1YnlSZWdleHAgbWF0Y2hncm91cD1ydWJ5UmVnZXhwRGVsaW1pdGVyIHN0YXJ0PSIlclxbIgkJCQllbmQ9IlxdW2lvbXhuZXVzXSoiCSBza2lwPSJcXFxcXHxcXFxdIiAgY29udGFpbnM9QHJ1YnlSZWdleHBTcGVjaWFsIGZvbGQKK3N5biByZWdpb24gcnVieVJlZ2V4cCBtYXRjaGdyb3VwPXJ1YnlSZWdleHBEZWxpbWl0ZXIgc3RhcnQ9IiVyKCIJCQkJZW5kPSIpW2lvbXhuZXVzXSoiCSBza2lwPSJcXFxcXHxcXCkiICAgY29udGFpbnM9QHJ1YnlSZWdleHBTcGVjaWFsIGZvbGQKIAogIiBOb3JtYWwgU3RyaW5nIGFuZCBTaGVsbCBDb21tYW5kIE91dHB1dAogc3luIHJlZ2lvbiBydWJ5U3RyaW5nIG1hdGNoZ3JvdXA9cnVieVN0cmluZ0RlbGltaXRlciBzdGFydD0iXCIiIGVuZD0iXCIiIHNraXA9IlxcXFxcfFxcXCIiIGNvbnRhaW5zPUBydWJ5U3RyaW5nU3BlY2lhbCBmb2xkCiBzeW4gcmVnaW9uIHJ1YnlTdHJpbmcgbWF0Y2hncm91cD1ydWJ5U3RyaW5nRGVsaW1pdGVyIHN0YXJ0PSInIgllbmQ9IiciICBza2lwPSJcXFxcXHxcXCciCQkJICAgICAgIGZvbGQKIHN5biByZWdpb24gcnVieVN0cmluZyBtYXRjaGdyb3VwPXJ1YnlTdHJpbmdEZWxpbWl0ZXIgc3RhcnQ9ImAiCWVuZD0iYCIgIHNraXA9IlxcXFxcfFxcYCIgIGNvbnRhaW5zPUBydWJ5U3RyaW5nU3BlY2lhbCBmb2xkCiAKLSIgR2VuZXJhbGl6ZWQgUmVndWxhciBFeHByZXNzaW9uCi1zeW4gcmVnaW9uIHJ1YnlSZWdleHAgbWF0Y2hncm91cD1ydWJ5UmVnZXhwRGVsaW1pdGVyIHN0YXJ0PSIlclx6KFt+YCFAIyQlXiYqX1wtKz18XDo7IicsLj8vXVwpIgllbmQ9Ilx6MVtpb214bmV1c10qIiBza2lwPSJcXFxcXHxcXFx6MSIgY29udGFpbnM9QHJ1YnlTdHJpbmdTcGVjaWFsIGZvbGQKLXN5biByZWdpb24gcnVieVJlZ2V4cCBtYXRjaGdyb3VwPXJ1YnlSZWdleHBEZWxpbWl0ZXIgc3RhcnQ9IiVyeyIJCQkJZW5kPSJ9W2lvbXhuZXVzXSoiCSBza2lwPSJcXFxcXHxcXH0iICAgY29udGFpbnM9QHJ1YnlTdHJpbmdTcGVjaWFsLHJ1YnlOZXN0ZWRDdXJseUJyYWNlcyxydWJ5RGVsaW1Fc2NhcGUgZm9sZAotc3luIHJlZ2lvbiBydWJ5UmVnZXhwIG1hdGNoZ3JvdXA9cnVieVJlZ2V4cERlbGltaXRlciBzdGFydD0iJXI8IgkJCQllbmQ9Ij5baW9teG5ldXNdKiIJIHNraXA9IlxcXFxcfFxcPiIgICBjb250YWlucz1AcnVieVN0cmluZ1NwZWNpYWwscnVieU5lc3RlZEFuZ2xlQnJhY2tldHMscnVieURlbGltRXNjYXBlIGZvbGQKLXN5biByZWdpb24gcnVieVJlZ2V4cCBtYXRjaGdyb3VwPXJ1YnlSZWdleHBEZWxpbWl0ZXIgc3RhcnQ9IiVyXFsiCQkJCWVuZD0iXF1baW9teG5ldXNdKiIJIHNraXA9IlxcXFxcfFxcXF0iICBjb250YWlucz1AcnVieVN0cmluZ1NwZWNpYWwscnVieU5lc3RlZFNxdWFyZUJyYWNrZXRzLHJ1YnlEZWxpbUVzY2FwZSBmb2xkCi1zeW4gcmVnaW9uIHJ1YnlSZWdleHAgbWF0Y2hncm91cD1ydWJ5UmVnZXhwRGVsaW1pdGVyIHN0YXJ0PSIlcigiCQkJCWVuZD0iKVtpb214bmV1c10qIgkgc2tpcD0iXFxcXFx8XFwpIiAgIGNvbnRhaW5zPUBydWJ5U3RyaW5nU3BlY2lhbCxydWJ5TmVzdGVkUGFyZW50aGVzZXMscnVieURlbGltRXNjYXBlIGZvbGQKLQogIiBHZW5lcmFsaXplZCBTaW5nbGUgUXVvdGVkIFN0cmluZywgU3ltYm9sIGFuZCBBcnJheSBvZiBTdHJpbmdzCiBzeW4gcmVnaW9uIHJ1YnlTdHJpbmcgbWF0Y2hncm91cD1ydWJ5U3RyaW5nRGVsaW1pdGVyIHN0YXJ0PSIlW3F3XVx6KFt+YCFAIyQlXiYqX1wtKz18XDo7IicsLj8vXVwpIiAgZW5kPSJcejEiIHNraXA9IlxcXFxcfFxcXHoxIiBmb2xkCiBzeW4gcmVnaW9uIHJ1YnlTdHJpbmcgbWF0Y2hncm91cD1ydWJ5U3RyaW5nRGVsaW1pdGVyIHN0YXJ0PSIlW3F3XXsiCQkJCSAgICBlbmQ9In0iICAgc2tpcD0iXFxcXFx8XFx9IgkgZm9sZAljb250YWlucz1ydWJ5TmVzdGVkQ3VybHlCcmFjZXMscnVieURlbGltRXNjYXBlCiBzeW4gcmVnaW9uIHJ1YnlTdHJpbmcgbWF0Y2hncm91cD1ydWJ5U3RyaW5nRGVsaW1pdGVyIHN0YXJ0PSIlW3F3XTwiCQkJCSAgICBlbmQ9Ij4iICAgc2tpcD0iXFxcXFx8XFw+IgkgZm9sZAljb250YWlucz1ydWJ5TmVzdGVkQW5nbGVCcmFja2V0cyxydWJ5RGVsaW1Fc2NhcGUKIHN5biByZWdpb24gcnVieVN0cmluZyBtYXRjaGdyb3VwPXJ1YnlTdHJpbmdEZWxpbWl0ZXIgc3RhcnQ9IiVbcXddXFsiCQkJCSAgICBlbmQ9IlxdIiAgc2tpcD0iXFxcXFx8XFxcXSIJIGZvbGQJY29udGFpbnM9cnVieU5lc3RlZFNxdWFyZUJyYWNrZXRzLHJ1YnlEZWxpbUVzY2FwZQogc3luIHJlZ2lvbiBydWJ5U3RyaW5nIG1hdGNoZ3JvdXA9cnVieVN0cmluZ0RlbGltaXRlciBzdGFydD0iJVtxd10oIgkJCQkgICAgZW5kPSIpIiAgIHNraXA9IlxcXFxcfFxcKSIJIGZvbGQJY29udGFpbnM9cnVieU5lc3RlZFBhcmVudGhlc2VzLHJ1YnlEZWxpbUVzY2FwZQotc3luIHJlZ2lvbiBydWJ5U3ltYm9sCQkJCSAgICAgc3RhcnQ9IiVbc11ceihbfmAhQCMkJV4mKl9cLSs9fFw6OyInLC4/L11cKSIgICBlbmQ9Ilx6MSIgc2tpcD0iXFxcXFx8XFxcejEiIGZvbGQKLXN5biByZWdpb24gcnVieVN5bWJvbAkJCQkgICAgIHN0YXJ0PSIlW3NdeyIJCQkJICAgIGVuZD0ifSIgICBza2lwPSJcXFxcXHxcXH0iCSBmb2xkCWNvbnRhaW5zPXJ1YnlOZXN0ZWRDdXJseUJyYWNlcyxydWJ5RGVsaW1Fc2NhcGUKLXN5biByZWdpb24gcnVieVN5bWJvbAkJCQkgICAgIHN0YXJ0PSIlW3NdPCIJCQkJICAgIGVuZD0iPiIgICBza2lwPSJcXFxcXHxcXD4iCSBmb2xkCWNvbnRhaW5zPXJ1YnlOZXN0ZWRBbmdsZUJyYWNrZXRzLHJ1YnlEZWxpbUVzY2FwZQotc3luIHJlZ2lvbiBydWJ5U3ltYm9sCQkJCSAgICAgc3RhcnQ9IiVbc11cWyIJCQkJICAgIGVuZD0iXF0iICBza2lwPSJcXFxcXHxcXFxdIgkgZm9sZAljb250YWlucz1ydWJ5TmVzdGVkU3F1YXJlQnJhY2tldHMscnVieURlbGltRXNjYXBlCi1zeW4gcmVnaW9uIHJ1YnlTeW1ib2wJCQkJICAgICBzdGFydD0iJVtzXSgiCQkJCSAgICBlbmQ9IikiICAgc2tpcD0iXFxcXFx8XFwpIgkgZm9sZAljb250YWlucz1ydWJ5TmVzdGVkUGFyZW50aGVzZXMscnVieURlbGltRXNjYXBlCitzeW4gcmVnaW9uIHJ1YnlTeW1ib2wgbWF0Y2hncm91cD1ydWJ5U3ltYm9sRGVsaW1pdGVyIHN0YXJ0PSIlW3NdXHooW35gIUAjJCVeJipfXC0rPXxcOjsiJywuPy9dXCkiICAgZW5kPSJcejEiIHNraXA9IlxcXFxcfFxcXHoxIiBmb2xkCitzeW4gcmVnaW9uIHJ1YnlTeW1ib2wgbWF0Y2hncm91cD1ydWJ5U3ltYm9sRGVsaW1pdGVyIHN0YXJ0PSIlW3NdeyIJCQkJICAgIGVuZD0ifSIgICBza2lwPSJcXFxcXHxcXH0iCSBmb2xkCWNvbnRhaW5zPXJ1YnlOZXN0ZWRDdXJseUJyYWNlcyxydWJ5RGVsaW1Fc2NhcGUKK3N5biByZWdpb24gcnVieVN5bWJvbCBtYXRjaGdyb3VwPXJ1YnlTeW1ib2xEZWxpbWl0ZXIgc3RhcnQ9IiVbc108IgkJCQkgICAgZW5kPSI+IiAgIHNraXA9IlxcXFxcfFxcPiIJIGZvbGQJY29udGFpbnM9cnVieU5lc3RlZEFuZ2xlQnJhY2tldHMscnVieURlbGltRXNjYXBlCitzeW4gcmVnaW9uIHJ1YnlTeW1ib2wgbWF0Y2hncm91cD1ydWJ5U3ltYm9sRGVsaW1pdGVyIHN0YXJ0PSIlW3NdXFsiCQkJCSAgICBlbmQ9IlxdIiAgc2tpcD0iXFxcXFx8XFxcXSIJIGZvbGQJY29udGFpbnM9cnVieU5lc3RlZFNxdWFyZUJyYWNrZXRzLHJ1YnlEZWxpbUVzY2FwZQorc3luIHJlZ2lvbiBydWJ5U3ltYm9sIG1hdGNoZ3JvdXA9cnVieVN5bWJvbERlbGltaXRlciBzdGFydD0iJVtzXSgiCQkJCSAgICBlbmQ9IikiICAgc2tpcD0iXFxcXFx8XFwpIgkgZm9sZAljb250YWlucz1ydWJ5TmVzdGVkUGFyZW50aGVzZXMscnVieURlbGltRXNjYXBlCiAKICIgR2VuZXJhbGl6ZWQgRG91YmxlIFF1b3RlZCBTdHJpbmcgYW5kIEFycmF5IG9mIFN0cmluZ3MgYW5kIFNoZWxsIENvbW1hbmQgT3V0cHV0CiAiIE5vdGU6ICU9IGlzIG5vdCBtYXRjaGVkIGhlcmUgYXMgdGhlIGJlZ2lubmluZyBvZiBhIGRvdWJsZSBxdW90ZWQgc3RyaW5nCkBAIC0xNDEsMTAgKzE1OCwxMCBAQAogc3luIHJlZ2lvbiBydWJ5U3RyaW5nIG1hdGNoZ3JvdXA9cnVieVN0cmluZ0RlbGltaXRlciBzdGFydD0iJVtRV3hdXD0oIgkJCQkgICAgZW5kPSIpIiAgIHNraXA9IlxcXFxcfFxcKSIJIGNvbnRhaW5zPUBydWJ5U3RyaW5nU3BlY2lhbCxydWJ5TmVzdGVkUGFyZW50aGVzZXMscnVieURlbGltRXNjYXBlIGZvbGQKIAogIiBIZXJlIERvY3VtZW50Ci1zeW4gcmVnaW9uIHJ1YnlIZXJlZG9jU3RhcnQgbWF0Y2hncm91cD1ydWJ5U3RyaW5nRGVsaW1pdGVyIHN0YXJ0PStcJShcJShjbGFzc1xzKlx8XCUoW119KSInLl1cfDo6XClcKVxfcypcfFx3XClcQDwhPDwtXD1cenNcJShcaFx3KlwpKyAgIGVuZD0rJCsgb25lbGluZSBjb250YWlucz1UT1AKLXN5biByZWdpb24gcnVieUhlcmVkb2NTdGFydCBtYXRjaGdyb3VwPXJ1YnlTdHJpbmdEZWxpbWl0ZXIgc3RhcnQ9K1wlKFwlKGNsYXNzXHMqXHxcJShbXX0pIicuXVx8OjpcKVwpXF9zKlx8XHdcKVxAPCE8PC1cPVx6cyJcJShbXiJdKlwpIisgZW5kPSskKyBvbmVsaW5lIGNvbnRhaW5zPVRPUAotc3luIHJlZ2lvbiBydWJ5SGVyZWRvY1N0YXJ0IG1hdGNoZ3JvdXA9cnVieVN0cmluZ0RlbGltaXRlciBzdGFydD0rXCUoXCUoY2xhc3NccypcfFwlKFtdfSkiJy5dXHw6OlwpXClcX3MqXHxcd1wpXEA8ITw8LVw9XHpzJ1wlKFteJ10qXCknKyBlbmQ9KyQrIG9uZWxpbmUgY29udGFpbnM9VE9QCi1zeW4gcmVnaW9uIHJ1YnlIZXJlZG9jU3RhcnQgbWF0Y2hncm91cD1ydWJ5U3RyaW5nRGVsaW1pdGVyIHN0YXJ0PStcJShcJShjbGFzc1xzKlx8XCUoW119KSInLl1cfDo6XClcKVxfcypcfFx3XClcQDwhPDwtXD1cenNgXCUoW15gXSpcKWArIGVuZD0rJCsgb25lbGluZSBjb250YWlucz1UT1AKK3N5biByZWdpb24gcnVieUhlcmVkb2NTdGFydCBtYXRjaGdyb3VwPXJ1YnlTdHJpbmdEZWxpbWl0ZXIgc3RhcnQ9K1wlKFwlKGNsYXNzXHMqXHxcJShbXX0pIicuXVx8OjpcKVwpXF9zKlx8XHdcKVxAPCE8PC1cPVx6c1wlKFxoXHcqXCkrICAgZW5kPSskKyBvbmVsaW5lIGNvbnRhaW5zPUFMTEJVVCxAcnVieU5vdFRvcAorc3luIHJlZ2lvbiBydWJ5SGVyZWRvY1N0YXJ0IG1hdGNoZ3JvdXA9cnVieVN0cmluZ0RlbGltaXRlciBzdGFydD0rXCUoXCUoY2xhc3NccypcfFwlKFtdfSkiJy5dXHw6OlwpXClcX3MqXHxcd1wpXEA8ITw8LVw9XHpzIlwlKFteIl0qXCkiKyBlbmQ9KyQrIG9uZWxpbmUgY29udGFpbnM9QUxMQlVULEBydWJ5Tm90VG9wCitzeW4gcmVnaW9uIHJ1YnlIZXJlZG9jU3RhcnQgbWF0Y2hncm91cD1ydWJ5U3RyaW5nRGVsaW1pdGVyIHN0YXJ0PStcJShcJShjbGFzc1xzKlx8XCUoW119KSInLl1cfDo6XClcKVxfcypcfFx3XClcQDwhPDwtXD1cenMnXCUoW14nXSpcKScrIGVuZD0rJCsgb25lbGluZSBjb250YWlucz1BTExCVVQsQHJ1YnlOb3RUb3AKK3N5biByZWdpb24gcnVieUhlcmVkb2NTdGFydCBtYXRjaGdyb3VwPXJ1YnlTdHJpbmdEZWxpbWl0ZXIgc3RhcnQ9K1wlKFwlKGNsYXNzXHMqXHxcJShbXX0pIicuXVx8OjpcKVwpXF9zKlx8XHdcKVxAPCE8PC1cPVx6c2BcJShbXmBdKlwpYCsgZW5kPSskKyBvbmVsaW5lIGNvbnRhaW5zPUFMTEJVVCxAcnVieU5vdFRvcAogCiBzeW4gcmVnaW9uIHJ1YnlTdHJpbmcgc3RhcnQ9K1wlKFwlKGNsYXNzXHMqXHxcJShbXX0pIicuXVx8OjpcKVwpXF9zKlx8XHdcKVxAPCE8PFx6KFxoXHcqXClcemUraHM9cysyICAgIG1hdGNoZ3JvdXA9cnVieVN0cmluZ0RlbGltaXRlciBlbmQ9K15cejEkKyBjb250YWlucz1ydWJ5SGVyZWRvY1N0YXJ0LEBydWJ5U3RyaW5nU3BlY2lhbCBmb2xkIGtlZXBlbmQKIHN5biByZWdpb24gcnVieVN0cmluZyBzdGFydD0rXCUoXCUoY2xhc3NccypcfFwlKFtdfSkiJy5dXHw6OlwpXClcX3MqXHxcd1wpXEA8ITw8Ilx6KFteIl0qXCkiXHplK2hzPXMrMiAgbWF0Y2hncm91cD1ydWJ5U3RyaW5nRGVsaW1pdGVyIGVuZD0rXlx6MSQrIGNvbnRhaW5zPXJ1YnlIZXJlZG9jU3RhcnQsQHJ1YnlTdHJpbmdTcGVjaWFsIGZvbGQga2VlcGVuZApAQCAtMTYzLDQzICsxODAsNDYgQEAKIHN5biBtYXRjaCAgcnVieUFsaWFzRGVjbGFyYXRpb24gICAgIlteWzpzcGFjZTpdOyMuKCldXCsiICBjb250YWluZWQgY29udGFpbnM9cnVieVN5bWJvbCxydWJ5R2xvYmFsVmFyaWFibGUscnVieVByZWRlZmluZWRWYXJpYWJsZSBuZXh0Z3JvdXA9cnVieUFsaWFzRGVjbGFyYXRpb24yIHNraXB3aGl0ZQogc3luIG1hdGNoICBydWJ5QWxpYXNEZWNsYXJhdGlvbjIgICAiW15bOnNwYWNlOl07Iy4oKV1cKyIgIGNvbnRhaW5lZCBjb250YWlucz1ydWJ5U3ltYm9sLHJ1YnlHbG9iYWxWYXJpYWJsZSxydWJ5UHJlZGVmaW5lZFZhcmlhYmxlCiBzeW4gbWF0Y2ggIHJ1YnlNZXRob2REZWNsYXJhdGlvbiAgICJbXls6c3BhY2U6XTsjKF1cKyIJICBjb250YWluZWQgY29udGFpbnM9cnVieUNvbnN0YW50LHJ1YnlCb29sZWFuLHJ1YnlQc2V1ZG9WYXJpYWJsZSxydWJ5SW5zdGFuY2VWYXJpYWJsZSxydWJ5Q2xhc3NWYXJpYWJsZSxydWJ5R2xvYmFsVmFyaWFibGUKLXN5biBtYXRjaCAgcnVieUNsYXNzRGVjbGFyYXRpb24gICAgIlteWzpzcGFjZTpdOyM8XVwrIgkgIGNvbnRhaW5lZCBjb250YWlucz1ydWJ5Q29uc3RhbnQKLXN5biBtYXRjaCAgcnVieU1vZHVsZURlY2xhcmF0aW9uICAgIlteWzpzcGFjZTpdOyNdXCsiCSAgY29udGFpbmVkIGNvbnRhaW5zPXJ1YnlDb25zdGFudAorc3luIG1hdGNoICBydWJ5Q2xhc3NEZWNsYXJhdGlvbiAgICAiW15bOnNwYWNlOl07IzxdXCsiCSAgY29udGFpbmVkIGNvbnRhaW5zPXJ1YnlDb25zdGFudCxydWJ5T3BlcmF0b3IKK3N5biBtYXRjaCAgcnVieU1vZHVsZURlY2xhcmF0aW9uICAgIlteWzpzcGFjZTpdOyM8XVwrIgkgIGNvbnRhaW5lZCBjb250YWlucz1ydWJ5Q29uc3RhbnQscnVieU9wZXJhdG9yCiBzeW4gbWF0Y2ggIHJ1YnlGdW5jdGlvbiAiXDxbX1s6YWxwaGE6XV1bX1s6YWxudW06XV0qWz8hPV1cPVtbOmFsbnVtOl0uOj8hPV1cQCEiIGNvbnRhaW5lZCBjb250YWluZWRpbj1ydWJ5TWV0aG9kRGVjbGFyYXRpb24KIHN5biBtYXRjaCAgcnVieUZ1bmN0aW9uICJcJShcc1x8XlwpXEA8PVtfWzphbHBoYTpdXVtfWzphbG51bTpdXSpbPyE9XVw9XCUoXHNcfCRcKVxAPSIgY29udGFpbmVkIGNvbnRhaW5lZGluPXJ1YnlBbGlhc0RlY2xhcmF0aW9uLHJ1YnlBbGlhc0RlY2xhcmF0aW9uMgogc3luIG1hdGNoICBydWJ5RnVuY3Rpb24gIlwlKFtbOnNwYWNlOl0uXVx8XlwpXEA8PVwlKFxbXF09XD1cfFwqXCpcfFsrLV1AXD1cfFsqLyV8Jl5+XVx8PDxcfD4+XHxbPD5dPVw9XHw8PT5cfD09PVx8PT1cfD1cflx8YFwpXCUoW1s6c3BhY2U6XTsjKF1cfCRcKVxAPSIgY29udGFpbmVkIGNvbnRhaW5lZGluPXJ1YnlBbGlhc0RlY2xhcmF0aW9uLHJ1YnlBbGlhc0RlY2xhcmF0aW9uMixydWJ5TWV0aG9kRGVjbGFyYXRpb24KIAorc3luIGNsdXN0ZXIgcnVieURlY2xhcmF0aW9uCWNvbnRhaW5zPXJ1YnlBbGlhc0RlY2xhcmF0aW9uLHJ1YnlBbGlhc0RlY2xhcmF0aW9uMixydWJ5TWV0aG9kRGVjbGFyYXRpb24scnVieU1vZHVsZURlY2xhcmF0aW9uLHJ1YnlDbGFzc0RlY2xhcmF0aW9uLHJ1YnlGdW5jdGlvbixydWJ5QmxvY2tQYXJhbWV0ZXIKKwogIiBFeHBlbnNpdmUgTW9kZSAtIG1hdGNoICdlbmQnIHdpdGggdGhlIGFwcHJvcHJpYXRlIG9wZW5pbmcga2V5d29yZCBmb3Igc3ludGF4CiAiIGJhc2VkIGZvbGRpbmcgYW5kIHNwZWNpYWwgaGlnaGxpZ2h0aW5nIG9mIG1vZHVsZS9jbGFzcy9tZXRob2QgZGVmaW5pdGlvbnMKIGlmICFleGlzdHMoImI6cnVieV9ub19leHBlbnNpdmUiKSAmJiAhZXhpc3RzKCJydWJ5X25vX2V4cGVuc2l2ZSIpCiAgIHN5biBtYXRjaCAgcnVieURlZmluZSAiXDxhbGlhc1w+IgkJbmV4dGdyb3VwPXJ1YnlBbGlhc0RlY2xhcmF0aW9uCXNraXB3aGl0ZSBza2lwbmwKICAgc3luIG1hdGNoICBydWJ5RGVmaW5lICJcPGRlZlw+IgkJbmV4dGdyb3VwPXJ1YnlNZXRob2REZWNsYXJhdGlvbiBza2lwd2hpdGUgc2tpcG5sCisgIHN5biBtYXRjaCAgcnVieURlZmluZSAiXDx1bmRlZlw+IgkJbmV4dGdyb3VwPXJ1YnlGdW5jdGlvbiBza2lwd2hpdGUgc2tpcG5sCiAgIHN5biBtYXRjaCAgcnVieUNsYXNzCSJcPGNsYXNzXD4iCQluZXh0Z3JvdXA9cnVieUNsYXNzRGVjbGFyYXRpb24Jc2tpcHdoaXRlIHNraXBubAogICBzeW4gbWF0Y2ggIHJ1YnlNb2R1bGUgIlw8bW9kdWxlXD4iCQluZXh0Z3JvdXA9cnVieU1vZHVsZURlY2xhcmF0aW9uIHNraXB3aGl0ZSBza2lwbmwKLSAgc3luIHJlZ2lvbiBydWJ5QmxvY2sgc3RhcnQ9Ilw8ZGVmXD4iCQltYXRjaGdyb3VwPXJ1YnlEZWZpbmUgZW5kPSJcJShcPGRlZlxfc1wrXClcQDwhXDxlbmRcPiIgY29udGFpbnM9VE9QIGZvbGQKLSAgc3luIHJlZ2lvbiBydWJ5QmxvY2sgc3RhcnQ9Ilw8Y2xhc3NcPiIJbWF0Y2hncm91cD1ydWJ5Q2xhc3MgIGVuZD0iXDxlbmRcPiIgY29udGFpbnM9VE9QIGZvbGQKLSAgc3luIHJlZ2lvbiBydWJ5QmxvY2sgc3RhcnQ9Ilw8bW9kdWxlXD4iCW1hdGNoZ3JvdXA9cnVieU1vZHVsZSBlbmQ9Ilw8ZW5kXD4iIGNvbnRhaW5zPVRPUCBmb2xkCisgIHN5biByZWdpb24gcnVieUJsb2NrIHN0YXJ0PSJcPGRlZlw+IgkJbWF0Y2hncm91cD1ydWJ5RGVmaW5lIGVuZD0iXCUoXDxkZWZcX3NcK1wpXEA8IVw8ZW5kXD4iIGNvbnRhaW5zPUFMTEJVVCxAcnVieU5vdFRvcCBmb2xkCisgIHN5biByZWdpb24gcnVieUJsb2NrIHN0YXJ0PSJcPGNsYXNzXD4iCW1hdGNoZ3JvdXA9cnVieUNsYXNzICBlbmQ9Ilw8ZW5kXD4iIGNvbnRhaW5zPUFMTEJVVCxAcnVieU5vdFRvcCBmb2xkCisgIHN5biByZWdpb24gcnVieUJsb2NrIHN0YXJ0PSJcPG1vZHVsZVw+IgltYXRjaGdyb3VwPXJ1YnlNb2R1bGUgZW5kPSJcPGVuZFw+IiBjb250YWlucz1BTExCVVQsQHJ1YnlOb3RUb3AgZm9sZAogCiAgICIgbW9kaWZpZXJzCiAgIHN5biBtYXRjaCAgcnVieUNvbmRpdGlvbmFsTW9kaWZpZXIgIlw8XCUoaWZcfHVubGVzc1wpXD4iICAgZGlzcGxheQogICBzeW4gbWF0Y2ggIHJ1YnlSZXBlYXRNb2RpZmllcgkgICAgICJcPFwlKHdoaWxlXHx1bnRpbFwpXD4iIGRpc3BsYXkKIAotICBzeW4gcmVnaW9uIHJ1YnlEb0Jsb2NrIG1hdGNoZ3JvdXA9cnVieUNvbnRyb2wgc3RhcnQ9Ilw8ZG9cPiIgZW5kPSJcPGVuZFw+IiBjb250YWlucz1UT1AgZm9sZAorICBzeW4gcmVnaW9uIHJ1YnlEb0Jsb2NrIG1hdGNoZ3JvdXA9cnVieUNvbnRyb2wgc3RhcnQ9Ilw8ZG9cPiIgZW5kPSJcPGVuZFw+IiBjb250YWlucz1BTExCVVQsQHJ1YnlOb3RUb3AgZm9sZAogICAiIGN1cmx5IGJyYWNrZXQgYmxvY2sgb3IgaGFzaCBsaXRlcmFsCi0gIHN5biByZWdpb24gcnVieUN1cmx5QmxvY2sgICBzdGFydD0ieyIgZW5kPSJ9IiBjb250YWlucz1UT1AgZm9sZAotICBzeW4gcmVnaW9uIHJ1YnlBcnJheUxpdGVyYWwgbWF0Y2hncm91cD1ydWJ5QXJyYXlEZWxpbWl0ZXIgc3RhcnQ9IlwlKFx3XHxbXF19KV1cKVxAPCFcWyIgZW5kPSJdIiBjb250YWlucz1UT1AgZm9sZAorICBzeW4gcmVnaW9uIHJ1YnlDdXJseUJsb2NrICAgc3RhcnQ9InsiIGVuZD0ifSIgY29udGFpbnM9QUxMQlVULEBydWJ5Tm90VG9wIGZvbGQKKyAgc3luIHJlZ2lvbiBydWJ5QXJyYXlMaXRlcmFsIG1hdGNoZ3JvdXA9cnVieUFycmF5RGVsaW1pdGVyIHN0YXJ0PSJcJShcd1x8W1xdfSldXClcQDwhXFsiIGVuZD0iXSIgY29udGFpbnM9QUxMQlVULEBydWJ5Tm90VG9wIGZvbGQKIAogICAiIHN0YXRlbWVudHMgd2l0aG91dCAnZG8nCi0gIHN5biByZWdpb24gcnVieUJsb2NrRXhwcmVzc2lvbiAgICAgICBtYXRjaGdyb3VwPXJ1YnlDb250cm9sCSAgc3RhcnQ9Ilw8YmVnaW5cPiIgZW5kPSJcPGVuZFw+IiBjb250YWlucz1UT1AgZm9sZAotICBzeW4gcmVnaW9uIHJ1YnlDYXNlRXhwcmVzc2lvbgkgICAgICAgbWF0Y2hncm91cD1ydWJ5Q29uZGl0aW9uYWwgc3RhcnQ9Ilw8Y2FzZVw+IiAgZW5kPSJcPGVuZFw+IiBjb250YWlucz1UT1AgZm9sZAotICBzeW4gcmVnaW9uIHJ1YnlDb25kaXRpb25hbEV4cHJlc3Npb24gbWF0Y2hncm91cD1ydWJ5Q29uZGl0aW9uYWwgc3RhcnQ9IlwlKFwlKF5cfFwuXC5cLlw9XHxbezosOyhbPD5+XCovJSZefCs9LV1cfFwlKFw8W19bOmxvd2VyOl1dW19bOmFsbnVtOl1dKlwpXEA8IVshP11cKVxzKlwpXEA8PVwlKGlmXHx1bmxlc3NcKVw+IiBlbmQ9Ilw8ZW5kXD4iIGNvbnRhaW5zPVRPUCBmb2xkCisgIHN5biByZWdpb24gcnVieUJsb2NrRXhwcmVzc2lvbiAgICAgICBtYXRjaGdyb3VwPXJ1YnlDb250cm9sCSAgc3RhcnQ9Ilw8YmVnaW5cPiIgZW5kPSJcPGVuZFw+IiBjb250YWlucz1BTExCVVQsQHJ1YnlOb3RUb3AgZm9sZAorICBzeW4gcmVnaW9uIHJ1YnlDYXNlRXhwcmVzc2lvbgkgICAgICAgbWF0Y2hncm91cD1ydWJ5Q29uZGl0aW9uYWwgc3RhcnQ9Ilw8Y2FzZVw+IiAgZW5kPSJcPGVuZFw+IiBjb250YWlucz1BTExCVVQsQHJ1YnlOb3RUb3AgZm9sZAorICBzeW4gcmVnaW9uIHJ1YnlDb25kaXRpb25hbEV4cHJlc3Npb24gbWF0Y2hncm91cD1ydWJ5Q29uZGl0aW9uYWwgc3RhcnQ9IlwlKFwlKF5cfFwuXC5cLlw9XHxbezosOyhbPD5+XCovJSZefCs9LV1cfFwlKFw8W19bOmxvd2VyOl1dW19bOmFsbnVtOl1dKlwpXEA8IVs/IV1cKVxzKlwpXEA8PVwlKGlmXHx1bmxlc3NcKVw+IiBlbmQ9Ilw8ZW5kXD4iIGNvbnRhaW5zPUFMTEJVVCxAcnVieU5vdFRvcCBmb2xkCiAKLSAgc3luIGtleXdvcmQgcnVieUNvbmRpdGlvbmFsIHRoZW4gZWxzZSB3aGVuICBjb250YWluZWQgY29udGFpbmVkaW49cnVieUNhc2VFeHByZXNzaW9uCi0gIHN5biBrZXl3b3JkIHJ1YnlDb25kaXRpb25hbCB0aGVuIGVsc2UgZWxzaWYgY29udGFpbmVkIGNvbnRhaW5lZGluPXJ1YnlDb25kaXRpb25hbEV4cHJlc3Npb24KKyAgc3luIG1hdGNoIHJ1YnlDb25kaXRpb25hbCAiXDxcJSh0aGVuXHxlbHNlXHx3aGVuXClcPls/IV1cQCEiICBjb250YWluZWQgY29udGFpbmVkaW49cnVieUNhc2VFeHByZXNzaW9uCisgIHN5biBtYXRjaCBydWJ5Q29uZGl0aW9uYWwgIlw8XCUodGhlblx8ZWxzZVx8ZWxzaWZcKVw+Wz8hXVxAISIgY29udGFpbmVkIGNvbnRhaW5lZGluPXJ1YnlDb25kaXRpb25hbEV4cHJlc3Npb24KIAogICAiIHN0YXRlbWVudHMgd2l0aCBvcHRpb25hbCAnZG8nCi0gIHN5biByZWdpb24gcnVieU9wdGlvbmFsRG9MaW5lICAgbWF0Y2hncm91cD1ydWJ5UmVwZWF0IHN0YXJ0PSJcPGZvclw+IiBzdGFydD0iXCUoXCUoXlx8XC5cLlwuXD1cfFt7Oiw7KFs8Pn5cKi8lJl58Ky1dXHxcJShcPFtfWzpsb3dlcjpdXVtfWzphbG51bTpdXSpcKVxAPCFbIT0/XVwpXHMqXClcQDw9XDxcJSh1bnRpbFx8d2hpbGVcKVw+IiBtYXRjaGdyb3VwPXJ1YnlPcHRpb25hbERvIGVuZD0iXCUoXDxkb1w+XCkiIGVuZD0iXHplXCUoO1x8JFwpIiBvbmVsaW5lIGNvbnRhaW5zPVRPUAotICBzeW4gcmVnaW9uIHJ1YnlSZXBlYXRFeHByZXNzaW9uIHN0YXJ0PSJcPGZvclw+IiBzdGFydD0iXCUoXCUoXlx8XC5cLlwuXD1cfFt7Oiw7KFs8Pn5cKi8lJl58Ky1dXHxcJShcPFtfWzpsb3dlcjpdXVtfWzphbG51bTpdXSpcKVxAPCFbIT0/XVwpXHMqXClcQDw9XDxcJSh1bnRpbFx8d2hpbGVcKVw+IiBtYXRjaGdyb3VwPXJ1YnlSZXBlYXQgZW5kPSJcPGVuZFw+IiBjb250YWlucz1UT1AgbmV4dGdyb3VwPXJ1YnlPcHRpb25hbERvTGluZSBmb2xkCisgIHN5biByZWdpb24gcnVieU9wdGlvbmFsRG9MaW5lICAgbWF0Y2hncm91cD1ydWJ5UmVwZWF0IHN0YXJ0PSJcPGZvclw+Wz8hXVxAISIgc3RhcnQ9IlwlKFwlKF5cfFwuXC5cLlw9XHxbezosOyhbPD5+XCovJSZefCstXVx8XCUoXDxbX1s6bG93ZXI6XV1bX1s6YWxudW06XV0qXClcQDwhWyE9P11cKVxzKlwpXEA8PVw8XCUodW50aWxcfHdoaWxlXClcPiIgbWF0Y2hncm91cD1ydWJ5T3B0aW9uYWxEbyBlbmQ9IlwlKFw8ZG9cPlwpIiBlbmQ9Ilx6ZVwlKDtcfCRcKSIgb25lbGluZSBjb250YWlucz1BTExCVVQsQHJ1YnlOb3RUb3AKKyAgc3luIHJlZ2lvbiBydWJ5UmVwZWF0RXhwcmVzc2lvbiBzdGFydD0iXDxmb3JcPls/IV1cQCEiIHN0YXJ0PSJcJShcJSheXHxcLlwuXC5cPVx8W3s6LDsoWzw+flwqLyUmXnwrLV1cfFwlKFw8W19bOmxvd2VyOl1dW19bOmFsbnVtOl1dKlwpXEA8IVshPT9dXClccypcKVxAPD1cPFwlKHVudGlsXHx3aGlsZVwpXD4iIG1hdGNoZ3JvdXA9cnVieVJlcGVhdCBlbmQ9Ilw8ZW5kXD4iIGNvbnRhaW5zPUFMTEJVVCxAcnVieU5vdFRvcCBuZXh0Z3JvdXA9cnVieU9wdGlvbmFsRG9MaW5lIGZvbGQKIAogICBpZiAhZXhpc3RzKCJydWJ5X21pbmxpbmVzIikKICAgICBsZXQgcnVieV9taW5saW5lcyA9IDUwCkBAIC0yMDcsMzEgKzIyNywzNSBAQAogICBleGVjICJzeW4gc3luYyBtaW5saW5lcz0iIC4gcnVieV9taW5saW5lcwogCiBlbHNlCi0gIHN5biBtYXRjaCAgIHJ1YnlDb250cm9sICJcPGRlZlw+IgluZXh0Z3JvdXA9cnVieU1ldGhvZERlY2xhcmF0aW9uIHNraXB3aGl0ZSBza2lwbmwKLSAgc3luIG1hdGNoICAgcnVieUNvbnRyb2wgIlw8Y2xhc3NcPiIJbmV4dGdyb3VwPXJ1YnlDbGFzc0RlY2xhcmF0aW9uCXNraXB3aGl0ZSBza2lwbmwKLSAgc3luIG1hdGNoICAgcnVieUNvbnRyb2wgIlw8bW9kdWxlXD4iCW5leHRncm91cD1ydWJ5TW9kdWxlRGVjbGFyYXRpb24gc2tpcHdoaXRlIHNraXBubAotICBzeW4ga2V5d29yZCBydWJ5Q29udHJvbCBjYXNlIGJlZ2luIGRvIGZvciBpZiB1bmxlc3Mgd2hpbGUgdW50aWwgZWxzZSBlbHNpZiB0aGVuIHdoZW4gZW5kCi0gIHN5biBrZXl3b3JkIHJ1YnlLZXl3b3JkIGFsaWFzCisgIHN5biBtYXRjaCAgIHJ1YnlDb250cm9sICJcPGRlZlw+Wz8hXVxAISIJbmV4dGdyb3VwPXJ1YnlNZXRob2REZWNsYXJhdGlvbiBza2lwd2hpdGUgc2tpcG5sCisgIHN5biBtYXRjaCAgIHJ1YnlDb250cm9sICJcPGNsYXNzXD5bPyFdXEAhIgluZXh0Z3JvdXA9cnVieUNsYXNzRGVjbGFyYXRpb24Jc2tpcHdoaXRlIHNraXBubAorICBzeW4gbWF0Y2ggICBydWJ5Q29udHJvbCAiXDxtb2R1bGVcPls/IV1cQCEiCW5leHRncm91cD1ydWJ5TW9kdWxlRGVjbGFyYXRpb24gc2tpcHdoaXRlIHNraXBubAorICBzeW4gbWF0Y2ggICBydWJ5Q29udHJvbCAiXDxcJShjYXNlXHxiZWdpblx8ZG9cfGZvclx8aWZcfHVubGVzc1x8d2hpbGVcfHVudGlsXHxlbHNlXHxlbHNpZlx8dGhlblx8d2hlblx8ZW5kXClcPls/IV1cQCEiCisgIHN5biBtYXRjaCAgIHJ1YnlLZXl3b3JkICJcPFwlKGFsaWFzXHx1bmRlZlwpXD5bPyFdXEAhIgogZW5kaWYKIAogIiBLZXl3b3JkcwogIiBOb3RlOiB0aGUgZm9sbG93aW5nIGtleXdvcmRzIGhhdmUgYWxyZWFkeSBiZWVuIGRlZmluZWQ6CiAiIGJlZ2luIGNhc2UgY2xhc3MgZGVmIGRvIGVuZCBmb3IgaWYgbW9kdWxlIHVubGVzcyB1bnRpbCB3aGlsZQotc3luIGtleXdvcmQgcnVieUNvbnRyb2wJCWFuZCBicmVhayBlbnN1cmUgaW4gbmV4dCBub3Qgb3IgcmVkbyByZXNjdWUgcmV0cnkgcmV0dXJuCitzeW4gbWF0Y2ggICBydWJ5Q29udHJvbAkJIlw8XCUoYW5kXHxicmVha1x8ZW5zdXJlXHxpblx8bmV4dFx8bm90XHxvclx8cmVkb1x8cmVzY3VlXHxyZXRyeVx8cmV0dXJuXClcPls/IV1cQCEiCiBzeW4gbWF0Y2ggICBydWJ5T3BlcmF0b3IJIlw8ZGVmaW5lZD8iIGRpc3BsYXkKLXN5biBrZXl3b3JkIHJ1YnlLZXl3b3JkCQlzdXBlciB1bmRlZiB5aWVsZAotc3luIGtleXdvcmQgcnVieUJvb2xlYW4JCXRydWUgZmFsc2UKLXN5biBrZXl3b3JkIHJ1YnlQc2V1ZG9WYXJpYWJsZQluaWwgc2VsZiBfX0ZJTEVfXyBfX0xJTkVfXwotc3luIGtleXdvcmQgcnVieUJlZ2luRW5kCUJFR0lOIEVORAorc3luIG1hdGNoICAgcnVieUtleXdvcmQJCSJcPFwlKHN1cGVyXHx5aWVsZFwpXD5bPyFdXEAhIgorc3luIG1hdGNoICAgcnVieUJvb2xlYW4JCSJcPFwlKHRydWVcfGZhbHNlXClcPls/IV1cQCEiCitzeW4gbWF0Y2ggICBydWJ5UHNldWRvVmFyaWFibGUJIlw8XCUobmlsXHxzZWxmXHxfX0ZJTEVfX1x8X19MSU5FX19cKVw+Wz8hXVxAISIKK3N5biBtYXRjaCAgIHJ1YnlCZWdpbkVuZAkiXDxcJShCRUdJTlx8RU5EXClcPls/IV1cQCEiCiAKICIgU3BlY2lhbCBNZXRob2RzCiBpZiAhZXhpc3RzKCJydWJ5X25vX3NwZWNpYWxfbWV0aG9kcyIpCi0gIHN5biBrZXl3b3JkIHJ1YnlBY2Nlc3MgICAgcHVibGljIHByb3RlY3RlZCBwcml2YXRlCi0gIHN5biBrZXl3b3JkIHJ1YnlBdHRyaWJ1dGUgYXR0ciBhdHRyX2FjY2Vzc29yIGF0dHJfcmVhZGVyIGF0dHJfd3JpdGVyCi0gIHN5biBtYXRjaCAgIHJ1YnlDb250cm9sICAgIlw8XCUoZXhpdCFcfFwlKGFib3J0XHxhdF9leGl0XHxleGl0XHxmb3JrXHxsb29wXHx0cmFwXClcPlwpIgorICBzeW4ga2V5d29yZCBydWJ5QWNjZXNzICAgIHB1YmxpYyBwcm90ZWN0ZWQgcHJpdmF0ZSBtb2R1bGVfZnVuY3Rpb24KKyAgIiBhdHRyIGlzIGEgY29tbW9uIHZhcmlhYmxlIG5hbWUKKyAgc3luIG1hdGNoICAgcnVieUF0dHJpYnV0ZSAiXCUoXCUoXlx8O1wpXHMqXClcQDw9YXR0clw+XChccypbLj1dXClcQCEiCisgIHN5biBrZXl3b3JkIHJ1YnlBdHRyaWJ1dGUgYXR0cl9hY2Nlc3NvciBhdHRyX3JlYWRlciBhdHRyX3dyaXRlcgorICBzeW4gbWF0Y2ggICBydWJ5Q29udHJvbCAgICJcPFwlKGV4aXQhXHxcJShhYm9ydFx8YXRfZXhpdFx8ZXhpdFx8Zm9ya1x8bG9vcFx8dHJhcFwpXD5bPyFdXEAhXCkiCiAgIHN5biBrZXl3b3JkIHJ1YnlFdmFsCSAgICBldmFsIGNsYXNzX2V2YWwgaW5zdGFuY2VfZXZhbCBtb2R1bGVfZXZhbAogICBzeW4ga2V5d29yZCBydWJ5RXhjZXB0aW9uIHJhaXNlIGZhaWwgY2F0Y2ggdGhyb3cKLSAgc3luIGtleXdvcmQgcnVieUluY2x1ZGUgICBhdXRvbG9hZCBleHRlbmQgaW5jbHVkZSBsb2FkIHJlcXVpcmUKKyAgIiBmYWxzZSBwb3NpdGl2ZSB3aXRoICdpbmNsdWRlPycKKyAgc3luIG1hdGNoICAgcnVieUluY2x1ZGUgICAiXDxpbmNsdWRlXD5bPyFdXEAhIgorICBzeW4ga2V5d29yZCBydWJ5SW5jbHVkZSAgIGF1dG9sb2FkIGV4dGVuZCBsb2FkIHJlcXVpcmUKICAgc3luIGtleXdvcmQgcnVieUtleXdvcmQgICBjYWxsY2MgY2FsbGVyIGxhbWJkYSBwcm9jCiBlbmRpZgogCkBAIC0yNTIsNiArMjc2LDkgQEAKIHN5biBtYXRjaCBydWJ5S2V5d29yZEFzTWV0aG9kICJcJShcJShcLlxAPCFcLlwpXHw6OlwpXF9zKlwlKG5vdFx8b3JcfHJlZG9cfHJlc2N1ZVx8cmV0cnlcfHJldHVyblx8c2VsZlx8c3VwZXJcfHRoZW5cfHRydWVcKVw+IgkJCXRyYW5zcGFyZW50IGNvbnRhaW5zPU5PTkUKIHN5biBtYXRjaCBydWJ5S2V5d29yZEFzTWV0aG9kICJcJShcJShcLlxAPCFcLlwpXHw6OlwpXF9zKlwlKHVuZGVmXHx1bmxlc3NcfHVudGlsXHx3aGVuXHx3aGlsZVx8eWllbGRcfEJFR0lOXHxFTkRcfF9fRklMRV9fXHxfX0xJTkVfX1wpXD4iCXRyYW5zcGFyZW50IGNvbnRhaW5zPU5PTkUKIAorc3luIG1hdGNoIHJ1YnlLZXl3b3JkQXNNZXRob2QgIlw8XCUoYWxpYXNcfGJlZ2luXHxjYXNlXHxjbGFzc1x8ZGVmXHxkb1x8ZW5kXClbPyFdIgkJdHJhbnNwYXJlbnQgY29udGFpbnM9Tk9ORQorc3luIG1hdGNoIHJ1YnlLZXl3b3JkQXNNZXRob2QgIlw8XCUoaWZcfG1vZHVsZVx8dW5kZWZcfHVubGVzc1x8dW50aWxcfHdoaWxlXClbPyFdIgkJdHJhbnNwYXJlbnQgY29udGFpbnM9Tk9ORQorCiBzeW4gbWF0Y2ggcnVieUtleXdvcmRBc01ldGhvZCAiXCUoXCUoXC5cQDwhXC5cKVx8OjpcKVxfcypcJShhYm9ydFx8YXRfZXhpdFx8YXR0clx8YXR0cl9hY2Nlc3Nvclx8YXR0cl9yZWFkZXJcKVw+Igl0cmFuc3BhcmVudCBjb250YWlucz1OT05FCiBzeW4gbWF0Y2ggcnVieUtleXdvcmRBc01ldGhvZCAiXCUoXCUoXC5cQDwhXC5cKVx8OjpcKVxfcypcJShhdHRyX3dyaXRlclx8YXV0b2xvYWRcfGNhbGxjY1x8Y2F0Y2hcfGNhbGxlclwpXD4iCQl0cmFuc3BhcmVudCBjb250YWlucz1OT05FCiBzeW4gbWF0Y2ggcnVieUtleXdvcmRBc01ldGhvZCAiXCUoXCUoXC5cQDwhXC5cKVx8OjpcKVxfcypcJShldmFsXHxjbGFzc19ldmFsXHxpbnN0YW5jZV9ldmFsXHxtb2R1bGVfZXZhbFx8ZXhpdFwpXD4iCXRyYW5zcGFyZW50IGNvbnRhaW5zPU5PTkUKQEAgLTMwNSwxNSArMzMyLDI0IEBACiBoaSBkZWYgbGluayBydWJ5RGF0YQkJCUNvbW1lbnQKIGhpIGRlZiBsaW5rIHJ1YnlEYXRhRGlyZWN0aXZlCQlEZWxpbWl0ZXIKIGhpIGRlZiBsaW5rIHJ1YnlEb2N1bWVudGF0aW9uCQlDb21tZW50Ci1oaSBkZWYgbGluayBydWJ5RXNjYXBlCQkJU3BlY2lhbAoraGkgZGVmIGxpbmsgcnVieVRvZG8JCQlUb2RvCisKK2hpIGRlZiBsaW5rIHJ1YnlTdHJpbmdFc2NhcGUJCVNwZWNpYWwKIGhpIGRlZiBsaW5rIHJ1YnlJbnRlcnBvbGF0aW9uRGVsaW1pdGVyCURlbGltaXRlcgogaGkgZGVmIGxpbmsgcnVieU5vSW50ZXJwb2xhdGlvbgkJcnVieVN0cmluZwogaGkgZGVmIGxpbmsgcnVieVNoYXJwQmFuZwkJUHJlUHJvYwogaGkgZGVmIGxpbmsgcnVieVJlZ2V4cERlbGltaXRlcgkJcnVieVN0cmluZ0RlbGltaXRlcgoraGkgZGVmIGxpbmsgcnVieVN5bWJvbERlbGltaXRlcgkJcnVieVN0cmluZ0RlbGltaXRlcgogaGkgZGVmIGxpbmsgcnVieVN0cmluZ0RlbGltaXRlcgkJRGVsaW1pdGVyCi1oaSBkZWYgbGluayBydWJ5UmVnZXhwCQkJcnVieVN0cmluZwogaGkgZGVmIGxpbmsgcnVieVN0cmluZwkJCVN0cmluZwotaGkgZGVmIGxpbmsgcnVieVRvZG8JCQlUb2RvCitoaSBkZWYgbGluayBydWJ5UmVnZXhwRXNjYXBlCQlydWJ5UmVnZXhwU3BlY2lhbAoraGkgZGVmIGxpbmsgcnVieVJlZ2V4cFF1YW50aWZpZXIJcnVieVJlZ2V4cFNwZWNpYWwKK2hpIGRlZiBsaW5rIHJ1YnlSZWdleHBBbmNob3IJCXJ1YnlSZWdleHBTcGVjaWFsCitoaSBkZWYgbGluayBydWJ5UmVnZXhwRG90CQlydWJ5UmVnZXhwQ2hhckNsYXNzCitoaSBkZWYgbGluayBydWJ5UmVnZXhwQ2hhckNsYXNzCQlydWJ5UmVnZXhwU3BlY2lhbAoraGkgZGVmIGxpbmsgcnVieVJlZ2V4cFNwZWNpYWwJCVNwZWNpYWwKK2hpIGRlZiBsaW5rIHJ1YnlSZWdleHBDb21tZW50CQlDb21tZW50CitoaSBkZWYgbGluayBydWJ5UmVnZXhwCQkJcnVieVN0cmluZwogCiBoaSBkZWYgbGluayBydWJ5SW52YWxpZFZhcmlhYmxlCQlFcnJvcgogaGkgZGVmIGxpbmsgcnVieUVycm9yCQkJRXJyb3IKQEAgLTMyMSw0ICszNTcsNCBAQAogCiBsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJydWJ5IgogCi0iIHZpbTogbm93cmFwIHN3PTIgc3RzPTIgdHM9OCBub2V0IDoKKyIgdmltOiBub3dyYXAgc3c9MiBzdHM9MiB0cz04IG5vZXQ6CmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9zYXNzLnZpbSBiL3J1bnRpbWUvc3ludGF4L3Nhc3MudmltCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFhMmU3YTQKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL3N5bnRheC9zYXNzLnZpbQpAQCAtMCwwICsxLDU2IEBACisiIFZpbSBzeW50YXggZmlsZQorIiBMYW5ndWFnZTogICAgIFNhc3MKKyIgTWFpbnRhaW5lcjogICBUaW0gUG9wZSA8dmltTk9TUEFNQHRwb3BlLmluZm8+CisiIEZpbGVuYW1lczogICAgKi5zYXNzCisKK2lmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisgIGZpbmlzaAorZW5kaWYKKworcnVudGltZSEgc3ludGF4L2Nzcy52aW0KKworc3luIGNhc2UgaWdub3JlCisKK3N5biBjbHVzdGVyIHNhc3NDc3NQcm9wZXJ0aWVzIGNvbnRhaW5zPWNzc0ZvbnRQcm9wLGNzc0ZvbnREZXNjcmlwdG9yUHJvcCxjc3NDb2xvclByb3AsY3NzVGV4dFByb3AsY3NzQm94UHJvcCxjc3NHZW5lcmF0ZWRDb250ZW50UHJvcCxjc3NQYWdpbmdQcm9wLGNzc1VJUHJvcCxjc3NSZW5kZXJQcm9wLGNzc0F1cmFsUHJvcCxjc3NUYWJsZVByb3AKK3N5biBjbHVzdGVyIHNhc3NDc3NBdHRyaWJ1dGVzIGNvbnRhaW5zPWNzcy4qQXR0cixjc3NDb21tZW50LGNzc1ZhbHVlLiosY3NzQ29sb3IsY3NzVVJMLGNzc0ltcG9ydGFudCxjc3NFcnJvcixjc3NTdHJpbmdRLGNzc1N0cmluZ1FRLGNzc0Z1bmN0aW9uLGNzc1VuaWNvZGVFc2NhcGUsY3NzUmVuZGVyUHJvcAorCitzeW4gbWF0Y2ggc2Fzc1Byb3BlcnR5ICJeXHMqXHpzXHNcJShbWzphbG51bTpdLV1cKzpcfDpbWzphbG51bTpdLV1cK1wpImhzPXMrMSBjb250YWlucz1jc3MuKlByb3Agc2tpcHdoaXRlIG5leHRncm91cD1zYXNzQ3NzQXR0cmlidXRlCitzeW4gbWF0Y2ggc2Fzc0Nzc0F0dHJpYnV0ZSAiLiokIiBjb250YWluZWQgY29udGFpbnM9QHNhc3NDc3NBdHRyaWJ1dGVzLHNhc3NDb25zdGFudAorc3luIG1hdGNoIHNhc3NDb25zdGFudCAiIVtbOmFsbnVtOl1fLV1cKyIKK3N5biBtYXRjaCBzYXNzQ29uc3RhbnRBc3NpZ25tZW50ICJcJSghW1s6YWxudW06XV9dXCtccypcKVxAPD09IiBuZXh0Z3JvdXA9c2Fzc0Nzc0F0dHJpYnV0ZSBza2lwd2hpdGUKK3N5biBtYXRjaCBzYXNzTWl4aW4gICJePS4qIgorc3luIG1hdGNoIHNhc3NNaXhpbmcgIl5cc1wrXHpzKy4qIgorCitzeW4gbWF0Y2ggc2Fzc0VzY2FwZSAgICAgIl5ccypcenNcXCIKK3N5biBtYXRjaCBzYXNzSWRDaGFyICAgICAiI1tbOmFsbnVtOl1fLV1cQD0iIG5leHRncm91cD1zYXNzSWQKK3N5biBtYXRjaCBzYXNzSWQgICAgICAgICAiW1s6YWxudW06XV8tXVwrIiBjb250YWluZWQKK3N5biBtYXRjaCBzYXNzQ2xhc3NDaGFyICAiXC5bWzphbG51bTpdXy1dXEA9IiBuZXh0Z3JvdXA9c2Fzc0NsYXNzCitzeW4gbWF0Y2ggc2Fzc0NsYXNzICAgICAgIltbOmFsbnVtOl1fLV1cKyIgY29udGFpbmVkCitzeW4gbWF0Y2ggc2Fzc0FtcGVyc2FuZCAgIiYiCisKKyIgVE9ETzogQXR0cmlidXRlIG5hbWVzcGFjZXMKKyIgVE9ETzogQXJpdGhtZXRpYyAoaW5jbHVkaW5nIHN0cmluZ3MgYW5kIGNvbmNhdGVuYXRpb24pCisKK3N5biByZWdpb24gc2Fzc0luY2x1ZGUgc3RhcnQ9IkBpbXBvcnQiIGVuZD0iO1x8JCIgY29udGFpbnM9Y3NzQ29tbWVudCxjc3NVUkwsY3NzVW5pY29kZUVzY2FwZSxjc3NNZWRpYVR5cGUKKworc3luIGtleXdvcmQgc2Fzc1RvZG8gICAgICAgIEZJWE1FIE5PVEUgVE9ETyBPUFRJTUlaRSBYWFggY29udGFpbmVkCitzeW4gcmVnaW9uICBzYXNzQ29tbWVudCAgICAgc3RhcnQ9Il5ceihccypcKS8vIiAgZW5kPSJeXCUoXHoxIFwpXEAhIiBjb250YWlucz1zYXNzVG9kbworc3luIHJlZ2lvbiAgc2Fzc0Nzc0NvbW1lbnQgIHN0YXJ0PSJeXHooXHMqXCkvXCoiIGVuZD0iXlwlKFx6MSBcKVxAISIgY29udGFpbnM9c2Fzc1RvZG8KKworaGkgZGVmIGxpbmsgc2Fzc0Nzc0NvbW1lbnQgICAgICAgICAgICAgIHNhc3NDb21tZW50CitoaSBkZWYgbGluayBzYXNzQ29tbWVudCAgICAgICAgICAgICAgICAgQ29tbWVudAoraGkgZGVmIGxpbmsgc2Fzc0NvbnN0YW50ICAgICAgICAgICAgICAgIElkZW50aWZpZXIKK2hpIGRlZiBsaW5rIHNhc3NNaXhpbmcgICAgICAgICAgICAgICAgICBQcmVQcm9jCitoaSBkZWYgbGluayBzYXNzTWl4aW4gICAgICAgICAgICAgICAgICAgUHJlUHJvYworaGkgZGVmIGxpbmsgc2Fzc1RvZG8gICAgICAgICAgICAgICAgICAgIFRvZG8KK2hpIGRlZiBsaW5rIHNhc3NJbmNsdWRlICAgICAgICAgICAgICAgICBJbmNsdWRlCitoaSBkZWYgbGluayBzYXNzRXNjYXBlICAgICAgICAgICAgICAgICAgU3BlY2lhbAoraGkgZGVmIGxpbmsgc2Fzc0lkQ2hhciAgICAgICAgICAgICAgICAgIFNwZWNpYWwKK2hpIGRlZiBsaW5rIHNhc3NDbGFzc0NoYXIgICAgICAgICAgICAgICBTcGVjaWFsCitoaSBkZWYgbGluayBzYXNzQW1wZXJzYW5kICAgICAgICAgICAgICAgQ2hhcmFjdGVyCitoaSBkZWYgbGluayBzYXNzSWQgICAgICAgICAgICAgICAgICAgICAgSWRlbnRpZmllcgoraGkgZGVmIGxpbmsgc2Fzc0NsYXNzICAgICAgICAgICAgICAgICAgIFR5cGUKKworbGV0IGI6Y3VycmVudF9zeW50YXggPSAic2FzcyIKKworIiB2aW06c2V0IHN3PTI6CmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9zaC52aW0gYi9ydW50aW1lL3N5bnRheC9zaC52aW0KaW5kZXggYmRkZmUxYy4uY2I5MmJiZCAxMDA2NDQKLS0tIGEvcnVudGltZS9zeW50YXgvc2gudmltCisrKyBiL3J1bnRpbWUvc3ludGF4L3NoLnZpbQpAQCAtMiwyMiArMiwxMCBAQAogIiBMYW5ndWFnZToJCXNoZWxsIChzaCkgS29ybiBzaGVsbCAoa3NoKSBiYXNoIChzaCkKICIgTWFpbnRhaW5lcjoJCURyLiBDaGFybGVzIEUuIENhbXBiZWxsLCBKci4gIDxOZHJPY2hpcFNAUGNhbXBiZWxsQWZhbWlseS5NYml6PgogIiBQcmV2aW91cyBNYWludGFpbmVyOglMZW5uYXJ0IFNjaHVsdHogPExlbm5hcnQuU2NodWx0ekBlY213Zi5pbnQ+Ci0iIExhc3QgQ2hhbmdlOgkJQXByIDI0LCAyMDA4Ci0iIFZlcnNpb246CQk5MAorIiBMYXN0IENoYW5nZToJCUp1bCAwMSwgMjAwOAorIiBWZXJzaW9uOgkJMTAwCiAiIFVSTDoJCWh0dHA6Ly9teXNpdGUudmVyaXpvbi5uZXQvYXN0cm9uYXV0L3ZpbS9pbmRleC5odG1sI3ZpbWxpbmtzX3N5bnRheAotIgotIiBVc2luZyB0aGUgZm9sbG93aW5nIFZJTSB2YXJpYWJsZXM6IHt7ezEKLSIgZzppc19iYXNoCQlpZiBub25lIG9mIHRoZSBwcmV2aW91cyB0aHJlZSB2YXJpYWJsZXMgYXJlCi0iCQlkZWZpbmVkLCB0aGVuIGlmIGc6aXNfYmFzaCBpcyBzZXQgZW5oYW5jZSB3aXRoCi0iCQliYXNoIHN5bnRheCBoaWdobGlnaHRpbmcKLSIgZzppc19rb3Juc2hlbGwJaWYgbmVpdGhlciBiOmlzX2tvcm5zaGVsbCBvciBiOmlzX2Jhc2ggaXMKLSIJCWRlZmluZWQsIHRoZW4gaWYgZzppc19rb3Juc2hlbGwgaXMgc2V0Ci0iCQllbmhhbmNlIHdpdGgga29ybnNoZWxsL1BPU0lYIHN5bnRheCBoaWdobGlnaHRpbmcKLSIgZzppc19wb3NpeCAgICAgICAgICAgICAgICAgICAgdGhpcyB2YXJpYWJsZSBpcyB0aGUgc2FtZSBhcyBnOmlzX2tvcm5zaGVsbAotIiBnOnNoX2ZvbGRfZW5hYmxlZAlpZiBub24temVybywgc3ludGF4IGZvbGRpbmcgaXMgZW5hYmxlZAotIiBnOnNoX21pbmxpbmVzCQlzZXRzIHVwIHN5biBzeW5jIG1pbmxpbmVzIChkZmx0OiAyMDApCi0iIGc6c2hfbWF4bGluZXMJCXNldHMgdXAgc3luIHN5bmMgbWF4bGluZXMgKGRmbHQ6IDJ4IHNoX21pbmxpbmVzKQotIgorIiBGb3Igb3B0aW9ucyBhbmQgc2V0dGluZ3MsIHBsZWFzZSB1c2U6ICAgICAgOmhlbHAgZnQtc2gtc3ludGF4CiAiIFRoaXMgZmlsZSBpbmNsdWRlcyBtYW55IGlkZWFzIGZyb20gyXJpYyBCcnVuZXQgKGVyaWMuYnJ1bmV0QGVucy5mcikKIAogIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMge3t7MQpAQCAtNTQsNiArNDIsOSBAQAogICBlbmRpZgogZW5kaWYKIAorIiBhZGp1c3QgaXNrZXl3b3JkIGZvciBzaGVsbCBjaGFyYWN0ZXJzCisic2V0bG9jYWwgaXNrPUAsNDgtNTcsXywxOTItMjU1LCMsLiwvCisKICIgc2V0IHVwIGRlZmF1bHQgZzpzaF9mb2xkX2VuYWJsZWQge3t7MQogaWYgIWV4aXN0cygiZzpzaF9mb2xkX2VuYWJsZWQiKQogIGxldCBnOnNoX2ZvbGRfZW5hYmxlZD0gMApAQCAtNjEsNiArNTIsMTUgQEAKICBsZXQgZzpzaF9mb2xkX2VuYWJsZWQ9IDAKICBlY2hvbXNnICJJZ25vcmluZyBnOnNoX2ZvbGRfZW5hYmxlZD0iLmc6c2hfZm9sZF9lbmFibGVkLiI7IG5lZWQgdG8gcmUtY29tcGlsZSB2aW0gZm9yICtmb2xkIHN1cHBvcnQiCiBlbmRpZgoraWYgIWV4aXN0cygiczpzaF9mb2xkX2Z1bmN0aW9ucyIpCisgbGV0IHM6c2hfZm9sZF9mdW5jdGlvbnMgPSAxCitlbmRpZgoraWYgIWV4aXN0cygiczpzaF9mb2xkX2hlcmVkb2MiKQorIGxldCBzOnNoX2ZvbGRfaGVyZWRvYyAgID0gMgorZW5kaWYKK2lmICFleGlzdHMoInM6c2hfZm9sZF9pZmRvZm9yIikKKyBsZXQgczpzaF9mb2xkX2lmZG9mb3IgICA9IDQKK2VuZGlmCiBpZiBnOnNoX2ZvbGRfZW5hYmxlZCAmJiAmZmRtID09ICJtYW51YWwiCiAgc2V0IGZkbT1zeW50YXgKIGVuZGlmCkBAIC03MCwyNiArNzAsMzMgQEAKIAogIiBDbHVzdGVyczogY29udGFpbnM9QC4uLiBjbHVzdGVycyB7e3sxCiAiPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotc3luIGNsdXN0ZXIgc2hDYXNlRXNhY0xpc3QJY29udGFpbnM9c2hDYXNlU3RhcnQsc2hDYXNlLHNoQ2FzZUJhcixzaENhc2VJbixzaENvbW1lbnQsc2hEZXJlZixzaERlcmVmU2ltcGxlLHNoQ2FzZUNvbW1hbmRTdWIsc2hDYXNlRXhTaW5nbGVRdW90ZSxzaENhc2VTaW5nbGVRdW90ZSxzaENhc2VEb3VibGVRdW90ZSxzaEN0cmxTZXEKK3N5biBjbHVzdGVyIHNoRXJyb3JMaXN0CWNvbnRhaW5zPXNoRG9FcnJvcixzaElmRXJyb3Isc2hJbkVycm9yLHNoQ2FzZUVycm9yLHNoRXNhY0Vycm9yLHNoQ3VybHlFcnJvcixzaFBhcmVuRXJyb3Isc2hUZXN0RXJyb3IKK2lmIGV4aXN0cygiYjppc19rb3Juc2hlbGwiKQorIHN5biBjbHVzdGVyIEVycm9yTGlzdCBhZGQ9c2hEVGVzdEVycm9yCitlbmRpZgorc3luIGNsdXN0ZXIgc2hBcml0aFBhcmVuTGlzdAljb250YWlucz1zaEFyaXRobWV0aWMsc2hEZXJlZixzaERlcmVmU2ltcGxlLHNoRXNjYXBlLHNoTnVtYmVyLHNoT3BlcmF0b3Isc2hQb3NuUGFybSxzaEV4U2luZ2xlUXVvdGUsc2hTaW5nbGVRdW90ZSxzaERvdWJsZVF1b3RlLHNoU3RhdGVtZW50LHNoVmFyaWFibGUsc2hBbGlhcyxzaFRlc3Qsc2hDdHJsU2VxLHNoU3BlY2lhbCxzaFBhcmVuCitzeW4gY2x1c3RlciBzaEFyaXRoTGlzdAljb250YWlucz1Ac2hBcml0aFBhcmVuTGlzdCxzaFBhcmVuRXJyb3IKK3N5biBjbHVzdGVyIHNoQ2FzZUVzYWNMaXN0CWNvbnRhaW5zPXNoQ2FzZVN0YXJ0LHNoQ2FzZSxzaENhc2VCYXIsc2hDYXNlSW4sc2hDb21tZW50LHNoRGVyZWYsc2hEZXJlZlNpbXBsZSxzaENhc2VDb21tYW5kU3ViLHNoQ2FzZUV4U2luZ2xlUXVvdGUsc2hDYXNlU2luZ2xlUXVvdGUsc2hDYXNlRG91YmxlUXVvdGUsc2hDdHJsU2VxLEBzaEVycm9yTGlzdCxzaFN0cmluZ1NwZWNpYWwKIHN5biBjbHVzdGVyIHNoQ2FzZUxpc3QJY29udGFpbnM9QHNoQ29tbWFuZFN1Ykxpc3Qsc2hDYXNlRXNhYyxzaENvbG9uLHNoQ29tbWFuZFN1YixzaENvbW1hbmRTdWIsc2hDb21tZW50LHNoRG8sc2hFY2hvLHNoRXhwcixzaEZvcixzaEhlcmVEb2Msc2hJZixzaFJlZGlyLHNoU2V0TGlzdCxzaFNvdXJjZSxzaFN0YXRlbWVudCxzaFZhcmlhYmxlLHNoQ3RybFNlcQogc3luIGNsdXN0ZXIgc2hDb2xvbkxpc3QJY29udGFpbnM9QHNoQ2FzZUxpc3QKLXN5biBjbHVzdGVyIHNoQ29tbWFuZFN1Ykxpc3QJY29udGFpbnM9c2hBcml0aG1ldGljLHNoRGVyZWYsc2hEZXJlZlNpbXBsZSxzaE51bWJlcixzaE9wZXJhdG9yLHNoUG9zblBhcm0sc2hFeFNpbmdsZVF1b3RlLHNoU2luZ2xlUXVvdGUsc2hEb3VibGVRdW90ZSxzaFN0YXRlbWVudCxzaFZhcmlhYmxlLHNoU3ViU2gsc2hBbGlhcyxzaFRlc3Qsc2hDdHJsU2VxCitzeW4gY2x1c3RlciBzaENvbW1hbmRTdWJMaXN0CWNvbnRhaW5zPXNoQXJpdGhtZXRpYyxzaERlcmVmLHNoRGVyZWZTaW1wbGUsc2hFc2NhcGUsc2hOdW1iZXIsc2hPcGVyYXRvcixzaFBvc25QYXJtLHNoRXhTaW5nbGVRdW90ZSxzaFNpbmdsZVF1b3RlLHNoRG91YmxlUXVvdGUsc2hTdGF0ZW1lbnQsc2hWYXJpYWJsZSxzaFN1YlNoLHNoQWxpYXMsc2hUZXN0LHNoQ3RybFNlcSxzaFNwZWNpYWwKIHN5biBjbHVzdGVyIHNoQ3VybHlMaXN0CWNvbnRhaW5zPXNoTnVtYmVyLHNoQ29tbWEsc2hEZXJlZixzaERlcmVmU2ltcGxlLHNoRGVyZWZTcGVjaWFsCiBzeW4gY2x1c3RlciBzaERibFF1b3RlTGlzdAljb250YWlucz1zaENvbW1hbmRTdWIsc2hEZXJlZixzaERlcmVmU2ltcGxlLHNoUG9zblBhcm0sc2hFeFNpbmdsZVF1b3RlLHNoQ3RybFNlcSxzaFNwZWNpYWwKIHN5biBjbHVzdGVyIHNoRGVyZWZMaXN0CWNvbnRhaW5zPXNoRGVyZWYsc2hEZXJlZlNpbXBsZSxzaERlcmVmVmFyLHNoRGVyZWZTcGVjaWFsLHNoRGVyZWZXb3JkRXJyb3Isc2hEZXJlZlBQUwogc3luIGNsdXN0ZXIgc2hEZXJlZlZhckxpc3QJY29udGFpbnM9c2hEZXJlZk9wLHNoRGVyZWZWYXJBcnJheSxzaERlcmVmT3BFcnJvcgotc3luIGNsdXN0ZXIgc2hFY2hvTGlzdAljb250YWlucz1zaEFyaXRobWV0aWMsc2hDb21tYW5kU3ViLHNoRGVyZWYsc2hEZXJlZlNpbXBsZSxzaEV4cHIsc2hFeFNpbmdsZVF1b3RlLHNoU2luZ2xlUXVvdGUsc2hEb3VibGVRdW90ZSxzaEN0cmxTZXEKK3N5biBjbHVzdGVyIHNoRWNob0xpc3QJY29udGFpbnM9c2hBcml0aG1ldGljLHNoQ29tbWFuZFN1YixzaERlcmVmLHNoRGVyZWZTaW1wbGUsc2hFeHByLHNoRXhTaW5nbGVRdW90ZSxzaFNpbmdsZVF1b3RlLHNoRG91YmxlUXVvdGUsc2hDdHJsU2VxLHNoRWNob1F1b3RlCiBzeW4gY2x1c3RlciBzaEV4cHJMaXN0MQljb250YWlucz1zaENoYXJDbGFzcyxzaE51bWJlcixzaE9wZXJhdG9yLHNoRXhTaW5nbGVRdW90ZSxzaFNpbmdsZVF1b3RlLHNoRG91YmxlUXVvdGUsc2hFeHByLHNoRGJsQnJhY2Usc2hEZXJlZixzaERlcmVmU2ltcGxlLHNoQ3RybFNlcQogc3luIGNsdXN0ZXIgc2hFeHByTGlzdDIJY29udGFpbnM9QHNoRXhwckxpc3QxLEBzaENhc2VMaXN0LHNoVGVzdAotc3luIGNsdXN0ZXIgc2hGdW5jdGlvbkxpc3QJY29udGFpbnM9QHNoQ29tbWFuZFN1Ykxpc3Qsc2hDYXNlRXNhYyxzaENvbG9uLHNoQ29tbWFuZFN1YixzaENvbW1hbmRTdWIsc2hDb21tZW50LHNoRG8sc2hFY2hvLHNoRXhwcixzaEZvcixzaEhlcmVEb2Msc2hJZixzaFJlZGlyLHNoU2V0TGlzdCxzaFNvdXJjZSxzaFN0YXRlbWVudCxzaFZhcmlhYmxlLHNoT3BlcmF0b3Isc2hGdW5jdGlvblN0YXJ0LHNoQ3RybFNlcQorc3luIGNsdXN0ZXIgc2hGdW5jdGlvbkxpc3QJY29udGFpbnM9QHNoQ29tbWFuZFN1Ykxpc3Qsc2hDYXNlRXNhYyxzaENvbG9uLHNoQ29tbWFuZFN1YixzaENvbW1hbmRTdWIsc2hDb21tZW50LHNoRG8sc2hFY2hvLHNoRXhwcixzaEZvcixzaEhlcmVEb2Msc2hJZixzaFJlZGlyLHNoU2V0TGlzdCxzaFNvdXJjZSxzaFN0YXRlbWVudCxzaFZhcmlhYmxlLHNoT3BlcmF0b3Isc2hDdHJsU2VxCiBpZiBleGlzdHMoImI6aXNfa29ybnNoZWxsIikgfHwgZXhpc3RzKCJiOmlzX2Jhc2giKQorIHN5biBjbHVzdGVyIHNoRnVuY3Rpb25MaXN0CWFkZD1zaFJlcGVhdAogIHN5biBjbHVzdGVyIHNoRnVuY3Rpb25MaXN0CWFkZD1zaERibEJyYWNlLHNoRGJsUGFyZW4KIGVuZGlmCiBzeW4gY2x1c3RlciBzaEhlcmVCZWdpbkxpc3QJY29udGFpbnM9QHNoQ29tbWFuZFN1Ykxpc3QKIHN5biBjbHVzdGVyIHNoSGVyZUxpc3QJY29udGFpbnM9c2hCZWdpbkhlcmUsc2hIZXJlUGF5bG9hZAogc3luIGNsdXN0ZXIgc2hIZXJlTGlzdERRCWNvbnRhaW5zPXNoQmVnaW5IZXJlLEBzaERibFF1b3RlTGlzdCxzaEhlcmVQYXlsb2FkCi1zeW4gY2x1c3RlciBzaElkTGlzdAljb250YWlucz1zaENvbW1hbmRTdWIsc2hXcmFwTGluZU9wZXJhdG9yLHNoSWRXaGl0ZVNwYWNlLHNoRGVyZWYsc2hEZXJlZlNpbXBsZSxzaFJlZGlyLHNoRXhTaW5nbGVRdW90ZSxzaFNpbmdsZVF1b3RlLHNoRG91YmxlUXVvdGUsc2hFeHByLHNoQ3RybFNlcQotc3luIGNsdXN0ZXIgc2hMb29wTGlzdAljb250YWlucz1Ac2hDYXNlTGlzdCxzaFRlc3RPcHIsc2hFeHByLHNoRGJsQnJhY2Usc2hDb25kaXRpb25hbCxzaENhc2VFc2FjLHNoVGVzdAorc3luIGNsdXN0ZXIgc2hJZExpc3QJY29udGFpbnM9c2hDb21tYW5kU3ViLHNoV3JhcExpbmVPcGVyYXRvcixzaFNldE9wdGlvbixzaERlcmVmLHNoRGVyZWZTaW1wbGUsc2hSZWRpcixzaEV4U2luZ2xlUXVvdGUsc2hTaW5nbGVRdW90ZSxzaERvdWJsZVF1b3RlLHNoRXhwcixzaEN0cmxTZXEsc2hTdHJpbmdTcGVjaWFsCitzeW4gY2x1c3RlciBzaExvb3BMaXN0CWNvbnRhaW5zPUBzaENhc2VMaXN0LHNoVGVzdE9wcixzaEV4cHIsc2hEYmxCcmFjZSxzaENvbmRpdGlvbmFsLHNoQ2FzZUVzYWMsc2hUZXN0LEBzaEVycm9yTGlzdCxzaFNldAogc3luIGNsdXN0ZXIgc2hTdWJTaExpc3QJY29udGFpbnM9QHNoQ2FzZUxpc3Qsc2hPcGVyYXRvcgogc3luIGNsdXN0ZXIgc2hUZXN0TGlzdAljb250YWlucz1zaENoYXJDbGFzcyxzaENvbW1lbnQsc2hDb21tYW5kU3ViLHNoRGVyZWYsc2hEZXJlZlNpbXBsZSxzaERvdWJsZVF1b3RlLHNoRXhwcixzaEV4cHIsc2hOdW1iZXIsc2hPcGVyYXRvcixzaEV4U2luZ2xlUXVvdGUsc2hTaW5nbGVRdW90ZSxzaFRlc3RPcHIsc2hUZXN0LHNoQ3RybFNlcQogCkBAIC05NywxMCArMTA0LDExIEBACiAiIEVjaG86IHt7ezEKICIgPT09PQogIiBUaGlzIG9uZSBpcyBuZWVkZWQgSU5TSURFIGEgQ29tbWFuZFN1Yiwgc28gdGhhdCBgZWNobyBibGFgIGJlIGNvcnJlY3QKLXN5biByZWdpb24gc2hFY2hvIG1hdGNoZ3JvdXA9c2hTdGF0ZW1lbnQgc3RhcnQ9Ilw8ZWNob1w+IiAgc2tpcD0iXFwkIiBtYXRjaGdyb3VwPXNoT3BlcmF0b3IgZW5kPSIkIiBtYXRjaGdyb3VwPU5PTkUgZW5kPSJbPD47JnwoKV0ibWU9ZS0xIGVuZD0iXGRbPD5dIm1lPWUtMiBlbmQ9IiMibWU9ZS0xIGNvbnRhaW5zPUBzaEVjaG9MaXN0Ci1zeW4gcmVnaW9uIHNoRWNobyBtYXRjaGdyb3VwPXNoU3RhdGVtZW50IHN0YXJ0PSJcPHByaW50XD4iIHNraXA9IlxcJCIgbWF0Y2hncm91cD1zaE9wZXJhdG9yIGVuZD0iJCIgbWF0Y2hncm91cD1OT05FIGVuZD0iWzw+OyZ8KCldIm1lPWUtMSBlbmQ9IlxkWzw+XSJtZT1lLTIgZW5kPSIjIm1lPWUtMSBjb250YWlucz1Ac2hFY2hvTGlzdAorc3luIHJlZ2lvbiBzaEVjaG8gbWF0Y2hncm91cD1zaFN0YXRlbWVudCBzdGFydD0iXDxlY2hvXD4iICBza2lwPSJcXCQiIG1hdGNoZ3JvdXA9c2hPcGVyYXRvciBlbmQ9IiQiIG1hdGNoZ3JvdXA9Tk9ORSBlbmQ9Ils8PjsmfCgpXSJtZT1lLTEgZW5kPSJcZFs8Pl0ibWU9ZS0yIGVuZD0iIyJtZT1lLTEgY29udGFpbnM9QHNoRWNob0xpc3Qgc2tpcHdoaXRlIG5leHRncm91cD1zaFF1aWNrQ29tbWVudAorc3luIHJlZ2lvbiBzaEVjaG8gbWF0Y2hncm91cD1zaFN0YXRlbWVudCBzdGFydD0iXDxwcmludFw+IiBza2lwPSJcXCQiIG1hdGNoZ3JvdXA9c2hPcGVyYXRvciBlbmQ9IiQiIG1hdGNoZ3JvdXA9Tk9ORSBlbmQ9Ils8PjsmfCgpXSJtZT1lLTEgZW5kPSJcZFs8Pl0ibWU9ZS0yIGVuZD0iIyJtZT1lLTEgY29udGFpbnM9QHNoRWNob0xpc3Qgc2tpcHdoaXRlIG5leHRncm91cD1zaFF1aWNrQ29tbWVudAorc3luIG1hdGNoICBzaEVjaG9RdW90ZSBjb250YWluZWQJJ1wlKFxcXFxcKSpcXFsiYCddJwogCi0iIFRoaXMgbXVzdCBiZSBhZnRlciB0aGUgc3RyaW5ncywgc28gdGhhdCBibGEgXCIgYmUgY29ycmVjdAorIiBUaGlzIG11c3QgYmUgYWZ0ZXIgdGhlIHN0cmluZ3MsIHNvIHRoYXQgLi4uIFwiIHdpbGwgYmUgY29ycmVjdAogc3luIHJlZ2lvbiBzaEVtYmVkZGVkRWNobyBjb250YWluZWQgbWF0Y2hncm91cD1zaFN0YXRlbWVudCBzdGFydD0iXDxwcmludFw+IiBza2lwPSJcXCQiIG1hdGNoZ3JvdXA9c2hPcGVyYXRvciBlbmQ9IiQiIG1hdGNoZ3JvdXA9Tk9ORSBlbmQ9Ils8PjsmfGApXSJtZT1lLTEgZW5kPSJcZFs8Pl0ibWU9ZS0yIGVuZD0iIyJtZT1lLTEgY29udGFpbnM9c2hOdW1iZXIsc2hFeFNpbmdsZVF1b3RlLHNoU2luZ2xlUXVvdGUsc2hEZXJlZixzaERlcmVmU2ltcGxlLHNoU3BlY2lhbFZhcixzaE9wZXJhdG9yLHNoRG91YmxlUXVvdGUsc2hDaGFyQ2xhc3Msc2hDdHJsU2VxCiAKICIgQWxpYXM6IHt7ezEKQEAgLTEyNSwxMCArMTMzLDEwIEBACiBlbmRpZgogc3luIG1hdGNoICAgICBzaFRlc3RFcnJvciAiXSIKIAotIiBPcHRpb25zIEludGVyY2VwdG9yOiB7e3sxCisiIE9wdGlvbnM6IHt7ezEKICIgPT09PT09PT09PT09PT09PT09PT0KLXN5biBtYXRjaCAgIHNoT3B0aW9uICAiXHNbXC0rXVthLXpBLVowLTldXCtcPiJtcz1zKzEKLXN5biBtYXRjaCAgIHNoT3B0aW9uICAiXHMtLVteIFx0JGAnInxdXCsibXM9cysxCitzeW4gbWF0Y2ggICBzaE9wdGlvbgkiXHNcenNbLStdW2EtekEtWjAtOV1cK1w+Igorc3luIG1hdGNoICAgc2hPcHRpb24JIlxzXHpzLS1bXiBcdCRgJyJ8XVwrIgogCiAiIEZpbGUgUmVkaXJlY3Rpb24gSGlnaGxpZ2h0ZWQgQXMgT3BlcmF0b3JzOiB7e3sxCiAiPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpAQCAtMTQwLDggKzE0OCw4IEBACiAiIE9wZXJhdG9yczoge3t7MQogIiA9PT09PT09PT09CiBzeW4gbWF0Y2ggICBzaE9wZXJhdG9yCSI8PFx8Pj4iCQljb250YWluZWQKLXN5biBtYXRjaCAgIHNoT3BlcmF0b3IJIlshJjt8XSIKLXN5biBtYXRjaCAgIHNoT3BlcmF0b3IJIlxbW1teOl1cfFxdXSIKK3N5biBtYXRjaCAgIHNoT3BlcmF0b3IJIlshJjt8XSIJCWNvbnRhaW5lZAorc3luIG1hdGNoICAgc2hPcGVyYXRvcgkiXFtbW146XVx8XF1dIgkJY29udGFpbmVkCiBzeW4gbWF0Y2ggICBzaE9wZXJhdG9yCSIhXD09IgkJc2tpcHdoaXRlIG5leHRncm91cD1zaFBhdHRlcm4KIHN5biBtYXRjaCAgIHNoUGF0dGVybgkiXDxcU1wrXCgpKVwpXEA9Igljb250YWluZWQgY29udGFpbnM9c2hFeFNpbmdsZVF1b3RlLHNoU2luZ2xlUXVvdGUsc2hEb3VibGVRdW90ZSxzaERlcmVmCiAKQEAgLTE3MiwzMyArMTgwLDM0IEBACiAKICIgTG9vcHM6IGRvLCBpZiwgd2hpbGUsIHVudGlsIHt7ezEKICIgPT09PT09Ci1pZiBnOnNoX2ZvbGRfZW5hYmxlZAoraWYgKGc6c2hfZm9sZF9lbmFibGVkICUgKHM6c2hfZm9sZF9pZmRvZm9yICogMikpL3M6c2hfZm9sZF9pZmRvZm9yCiAgc3luIHJlZ2lvbiBzaERvCWZvbGQgdHJhbnNwYXJlbnQgbWF0Y2hncm91cD1zaENvbmRpdGlvbmFsIHN0YXJ0PSJcPGRvXD4iIG1hdGNoZ3JvdXA9c2hDb25kaXRpb25hbCBlbmQ9Ilw8ZG9uZVw+IiBjb250YWlucz1Ac2hMb29wTGlzdAotIHN5biByZWdpb24gc2hJZglmb2xkIHRyYW5zcGFyZW50IG1hdGNoZ3JvdXA9c2hDb25kaXRpb25hbCBzdGFydD0iXDxpZlw+IiBtYXRjaGdyb3VwPXNoQ29uZGl0aW9uYWwgZW5kPSJcPDtcX3MqdGhlblw+IiBlbmQ9Ilw8ZmlcPiIgICBjb250YWlucz1Ac2hMb29wTGlzdCxzaERibEJyYWNlLHNoRGJsUGFyZW4sc2hGdW5jdGlvbktleQotIHN5biByZWdpb24gc2hGb3IJZm9sZCBtYXRjaGdyb3VwPXNoTG9vcCBzdGFydD0iXDxmb3JcPiIgZW5kPSJcPGluXD4iIGVuZD0iXDxkb1w+Im1lPWUtMgljb250YWlucz1Ac2hMb29wTGlzdCxzaERibFBhcmVuIHNraXB3aGl0ZSBuZXh0Z3JvdXA9c2hDdXJseUluCisgc3luIHJlZ2lvbiBzaElmCWZvbGQgdHJhbnNwYXJlbnQgbWF0Y2hncm91cD1zaENvbmRpdGlvbmFsIHN0YXJ0PSJcPGlmXF9zIiBtYXRjaGdyb3VwPXNoQ29uZGl0aW9uYWwgZW5kPSJcPDtcX3MqdGhlblw+IiBlbmQ9Ilw8ZmlcPiIgICBjb250YWlucz1Ac2hMb29wTGlzdCxzaERibEJyYWNlLHNoRGJsUGFyZW4sc2hGdW5jdGlvbktleQorIHN5biByZWdpb24gc2hGb3IJZm9sZCBtYXRjaGdyb3VwPXNoTG9vcCBzdGFydD0iXDxmb3JcX3MiIGVuZD0iXDxpblxfcyIgZW5kPSJcPGRvXD4ibWU9ZS0yCWNvbnRhaW5zPUBzaExvb3BMaXN0LHNoRGJsUGFyZW4gc2tpcHdoaXRlIG5leHRncm91cD1zaEN1cmx5SW4KIGVsc2UKICBzeW4gcmVnaW9uIHNoRG8JdHJhbnNwYXJlbnQgbWF0Y2hncm91cD1zaENvbmRpdGlvbmFsIHN0YXJ0PSJcPGRvXD4iIG1hdGNoZ3JvdXA9c2hDb25kaXRpb25hbCBlbmQ9Ilw8ZG9uZVw+IiBjb250YWlucz1Ac2hMb29wTGlzdAotIHN5biByZWdpb24gc2hJZgl0cmFuc3BhcmVudCBtYXRjaGdyb3VwPXNoQ29uZGl0aW9uYWwgc3RhcnQ9Ilw8aWZcPiIgbWF0Y2hncm91cD1zaENvbmRpdGlvbmFsIGVuZD0iXDw7XF9zKnRoZW5cPiIgZW5kPSJcPGZpXD4iICAgY29udGFpbnM9QHNoTG9vcExpc3Qsc2hEYmxCcmFjZSxzaERibFBhcmVuLHNoRnVuY3Rpb25LZXkKLSBzeW4gcmVnaW9uIHNoRm9yCW1hdGNoZ3JvdXA9c2hMb29wIHN0YXJ0PSJcPGZvclw+IiBlbmQ9Ilw8aW5cPiIgZW5kPSJcPGRvXD4ibWU9ZS0yCWNvbnRhaW5zPUBzaExvb3BMaXN0LHNoRGJsUGFyZW4gc2tpcHdoaXRlIG5leHRncm91cD1zaEN1cmx5SW4KKyBzeW4gcmVnaW9uIHNoSWYJdHJhbnNwYXJlbnQgbWF0Y2hncm91cD1zaENvbmRpdGlvbmFsIHN0YXJ0PSJcPGlmXF9zIiBtYXRjaGdyb3VwPXNoQ29uZGl0aW9uYWwgZW5kPSJcPDtcX3MqdGhlblw+IiBlbmQ9Ilw8ZmlcPiIgICBjb250YWlucz1Ac2hMb29wTGlzdCxzaERibEJyYWNlLHNoRGJsUGFyZW4sc2hGdW5jdGlvbktleQorIHN5biByZWdpb24gc2hGb3IJbWF0Y2hncm91cD1zaExvb3Agc3RhcnQ9Ilw8Zm9yXF9zIiBlbmQ9Ilw8aW5cPiIgZW5kPSJcPGRvXD4ibWU9ZS0yCWNvbnRhaW5zPUBzaExvb3BMaXN0LHNoRGJsUGFyZW4gc2tpcHdoaXRlIG5leHRncm91cD1zaEN1cmx5SW4KIGVuZGlmCiBpZiBleGlzdHMoImI6aXNfa29ybnNoZWxsIikgfHwgZXhpc3RzKCJiOmlzX2Jhc2giKQotIHN5biBjbHVzdGVyIHNoQ2FzZUxpc3QgYWRkPXNoUmVwZWF0Ci0gc3luIHJlZ2lvbiBzaFJlcGVhdCAgIG1hdGNoZ3JvdXA9c2hMb29wICAgc3RhcnQ9Ilw8d2hpbGVcPiIgZW5kPSJcPGluXD4iIGVuZD0iXDxkb1w+Im1lPWUtMgljb250YWlucz1Ac2hMb29wTGlzdCxzaERibFBhcmVuLHNoRGJsQnJhY2UKLSBzeW4gcmVnaW9uIHNoUmVwZWF0ICAgbWF0Y2hncm91cD1zaExvb3AgICBzdGFydD0iXDx1bnRpbFw+IiBlbmQ9Ilw8aW5cPiIgZW5kPSJcPGRvXD4ibWU9ZS0yCWNvbnRhaW5zPUBzaExvb3BMaXN0LHNoRGJsUGFyZW4sc2hEYmxCcmFjZQotIHN5biByZWdpb24gc2hDYXNlRXNhYyBtYXRjaGdyb3VwPXNoQ29uZGl0aW9uYWwgc3RhcnQ9Ilw8c2VsZWN0XD4iIG1hdGNoZ3JvdXA9c2hDb25kaXRpb25hbCBlbmQ9Ilw8aW5cPiIgZW5kPSJcPGRvXD4iIGNvbnRhaW5zPUBzaExvb3BMaXN0Cisgc3luIGNsdXN0ZXIgc2hDYXNlTGlzdAlhZGQ9c2hSZXBlYXQKKyBzeW4gY2x1c3RlciBzaEZ1bmN0aW9uTGlzdAlhZGQ9c2hSZXBlYXQKKyBzeW4gcmVnaW9uIHNoUmVwZWF0ICAgbWF0Y2hncm91cD1zaExvb3AgICBzdGFydD0iXDx3aGlsZVxfcyIgZW5kPSJcPGluXF9zIiBlbmQ9Ilw8ZG9cPiJtZT1lLTIJY29udGFpbnM9QHNoTG9vcExpc3Qsc2hEYmxQYXJlbixzaERibEJyYWNlCisgc3luIHJlZ2lvbiBzaFJlcGVhdCAgIG1hdGNoZ3JvdXA9c2hMb29wICAgc3RhcnQ9Ilw8dW50aWxcX3MiIGVuZD0iXDxpblxfcyIgZW5kPSJcPGRvXD4ibWU9ZS0yCWNvbnRhaW5zPUBzaExvb3BMaXN0LHNoRGJsUGFyZW4sc2hEYmxCcmFjZQorIHN5biByZWdpb24gc2hDYXNlRXNhYyBtYXRjaGdyb3VwPXNoQ29uZGl0aW9uYWwgc3RhcnQ9Ilw8c2VsZWN0XHMiIG1hdGNoZ3JvdXA9c2hDb25kaXRpb25hbCBlbmQ9Ilw8aW5cPiIgZW5kPSJcPGRvXD4iIGNvbnRhaW5zPUBzaExvb3BMaXN0CiBlbHNlCi0gc3luIHJlZ2lvbiBzaFJlcGVhdCAgIG1hdGNoZ3JvdXA9c2hMb29wICAgc3RhcnQ9Ilw8d2hpbGVcPiIgZW5kPSJcPGRvXD4ibWU9ZS0yCQljb250YWlucz1Ac2hMb29wTGlzdAotIHN5biByZWdpb24gc2hSZXBlYXQgICBtYXRjaGdyb3VwPXNoTG9vcCAgIHN0YXJ0PSJcPHVudGlsXD4iIGVuZD0iXDxkb1w+Im1lPWUtMgkJY29udGFpbnM9QHNoTG9vcExpc3QKKyBzeW4gcmVnaW9uIHNoUmVwZWF0ICAgbWF0Y2hncm91cD1zaExvb3AgICBzdGFydD0iXDx3aGlsZVxfcyIgZW5kPSJcPGRvXD4ibWU9ZS0yCQljb250YWlucz1Ac2hMb29wTGlzdAorIHN5biByZWdpb24gc2hSZXBlYXQgICBtYXRjaGdyb3VwPXNoTG9vcCAgIHN0YXJ0PSJcPHVudGlsXF9zIiBlbmQ9Ilw8ZG9cPiJtZT1lLTIJCWNvbnRhaW5zPUBzaExvb3BMaXN0CiBlbmRpZgogc3luIHJlZ2lvbiBzaEN1cmx5SW4gICBjb250YWluZWQJbWF0Y2hncm91cD1EZWxpbWl0ZXIgc3RhcnQ9InsiIGVuZD0ifSIgY29udGFpbnM9QHNoQ3VybHlMaXN0CiBzeW4gbWF0Y2ggIHNoQ29tbWEgICAgIGNvbnRhaW5lZAkiLCIKIAogIiBDYXNlOiBjYXNlLi4uZXNhYyB7e3sxCiAiID09PT0KLXN5biBtYXRjaCAgIHNoQ2FzZUJhcgljb250YWluZWQgc2tpcHdoaXRlICJbXnwiYCcoKV1cey19fCJocz1lCQluZXh0Z3JvdXA9c2hDYXNlLHNoQ2FzZVN0YXJ0LHNoQ2FzZUJhcixzaENvbW1lbnQsc2hDYXNlRXhTaW5nbGVRdW90ZSxzaENhc2VTaW5nbGVRdW90ZSxzaENhc2VEb3VibGVRdW90ZQorc3luIG1hdGNoICAgc2hDYXNlQmFyCWNvbnRhaW5lZCBza2lwd2hpdGUgIlwoXlx8W15cXF1cKVwoXFxcXFwpKlx6c3wiCQluZXh0Z3JvdXA9c2hDYXNlLHNoQ2FzZVN0YXJ0LHNoQ2FzZUJhcixzaENvbW1lbnQsc2hDYXNlRXhTaW5nbGVRdW90ZSxzaENhc2VTaW5nbGVRdW90ZSxzaENhc2VEb3VibGVRdW90ZQogc3luIG1hdGNoICAgc2hDYXNlU3RhcnQJY29udGFpbmVkIHNraXB3aGl0ZSBza2lwbmwgIigiCQkJbmV4dGdyb3VwPXNoQ2FzZSxzaENhc2VCYXIKLXN5biByZWdpb24gIHNoQ2FzZQljb250YWluZWQgc2tpcHdoaXRlIHNraXBubCBtYXRjaGdyb3VwPXNoU25nbENhc2Ugc3RhcnQ9IlwoW14jJCgpJyIgXHRdXHxcXC5cKVx7LX0pIm1zPXMsaHM9ZSAgZW5kPSI7OyIgZW5kPSJlc2FjIm1lPXMtMSBjb250YWlucz1Ac2hDYXNlTGlzdCBuZXh0Z3JvdXA9c2hDYXNlU3RhcnQsc2hDYXNlLHNoQ29tbWVudAotaWYgZzpzaF9mb2xkX2VuYWJsZWQKK3N5biByZWdpb24gIHNoQ2FzZQljb250YWluZWQgc2tpcHdoaXRlIHNraXBubCBtYXRjaGdyb3VwPXNoU25nbENhc2Ugc3RhcnQ9IlwlKFxcLlx8W14jJCgpJyIgXHRdXClcey19XHpzKSIgIGVuZD0iOzsiIGVuZD0iZXNhYyJtZT1zLTEgY29udGFpbnM9QHNoQ2FzZUxpc3QgbmV4dGdyb3VwPXNoQ2FzZVN0YXJ0LHNoQ2FzZSxzaENvbW1lbnQKK2lmIChnOnNoX2ZvbGRfZW5hYmxlZCAlIChzOnNoX2ZvbGRfaWZkb2ZvciAqIDIpKS9zOnNoX2ZvbGRfaWZkb2ZvcgogIHN5biByZWdpb24gIHNoQ2FzZUVzYWMJZm9sZCBtYXRjaGdyb3VwPXNoQ29uZGl0aW9uYWwgc3RhcnQ9Ilw8Y2FzZVw+IiBlbmQ9Ilw8ZXNhY1w+Igljb250YWlucz1Ac2hDYXNlRXNhY0xpc3QKIGVsc2UKICBzeW4gcmVnaW9uICBzaENhc2VFc2FjCW1hdGNoZ3JvdXA9c2hDb25kaXRpb25hbCBzdGFydD0iXDxjYXNlXD4iIGVuZD0iXDxlc2FjXD4iCWNvbnRhaW5zPUBzaENhc2VFc2FjTGlzdApAQCAtMjA2LDcgKzIxNSw2IEBACiBzeW4ga2V5d29yZCBzaENhc2VJbgljb250YWluZWQgc2tpcHdoaXRlIHNraXBubCBpbgkJCW5leHRncm91cD1zaENhc2Usc2hDYXNlU3RhcnQsc2hDYXNlQmFyLHNoQ29tbWVudCxzaENhc2VFeFNpbmdsZVF1b3RlLHNoQ2FzZVNpbmdsZVF1b3RlLHNoQ2FzZURvdWJsZVF1b3RlCiBpZiBleGlzdHMoImI6aXNfYmFzaCIpCiAgc3luIHJlZ2lvbiAgc2hDYXNlRXhTaW5nbGVRdW90ZQltYXRjaGdyb3VwPXNoT3BlcmF0b3Igc3RhcnQ9K1wkJysgc2tpcD0rXFxcXFx8XFwuKyBlbmQ9KycrCWNvbnRhaW5zPXNoU3RyaW5nU3BlY2lhbCxzaFNwZWNpYWwJc2tpcHdoaXRlIHNraXBubCBuZXh0Z3JvdXA9c2hDYXNlQmFyCWNvbnRhaW5lZAotIHN5biByZWdpb24gIHNoQ2FzZUV4RG91YmxlUXVvdGUJbWF0Y2hncm91cD1zaE9wZXJhdG9yIHN0YXJ0PStcJCIrIHNraXA9K1xcXFxcfFxcLisgZW5kPSsiKwljb250YWlucz1zaFN0cmluZ1NwZWNpYWwsc2hTcGVjaWFsLHNoQ29tbWFuZFN1YixzaERlcmVmCXNraXB3aGl0ZSBza2lwbmwgbmV4dGdyb3VwPXNoQ2FzZUJhcgljb250YWluZWQKIGVsc2UKICBzeW4gcmVnaW9uICBzaENhc2VFeFNpbmdsZVF1b3RlCW1hdGNoZ3JvdXA9RXJyb3Igc3RhcnQ9K1wkJysgc2tpcD0rXFxcXFx8XFwuKyBlbmQ9KycrCWNvbnRhaW5zPXNoU3RyaW5nU3BlY2lhbAlza2lwd2hpdGUgc2tpcG5sIG5leHRncm91cD1zaENhc2VCYXIJY29udGFpbmVkCiBlbmRpZgpAQCAtMjE4LDYgKzIyNiw3IEBACiAiPT09PT09CiBzeW4gbWF0Y2ggICBzaFdyYXBMaW5lT3BlcmF0b3IgIlxcJCIKIHN5biByZWdpb24gIHNoQ29tbWFuZFN1YiAgIHN0YXJ0PSJgIiBza2lwPSJcXFxcXHxcXC4iIGVuZD0iYCIgY29udGFpbnM9QHNoQ29tbWFuZFN1Ykxpc3QKK3N5biBtYXRjaCAgIHNoRXNjYXBlCWNvbnRhaW5lZAknXFwuJwogCiAiICQoKSBhbmQgJCgoKSk6IHt7ezEKICIgJCguLikgaXMgbm90IHN1cHBvcnRlZCBieSBzaCAoQm91cm5lIHNoZWxsKS4gIEhvd2V2ZXIsIGFwcGFyZW50bHkKQEAgLTIyNyw3ICsyMzYsNyBAQAogIiBhbiBFcnJvciB1bmRlciAvYmluL3NoLiAgQnkgY29uc2Vuc3VzIG9mIHZpbWRldidlcnMhCiBpZiBleGlzdHMoImI6aXNfa29ybnNoZWxsIikgfHwgZXhpc3RzKCJiOmlzX2Jhc2giKQogIHN5biByZWdpb24gc2hDb21tYW5kU3ViIG1hdGNoZ3JvdXA9c2hDbWRTdWJSZWdpb24gc3RhcnQ9IlwkKCIgIHNraXA9J1xcXFxcfFxcLicgZW5kPSIpIiAgY29udGFpbnM9QHNoQ29tbWFuZFN1Ykxpc3QKLSBzeW4gcmVnaW9uIHNoQXJpdGhtZXRpYyBtYXRjaGdyb3VwPXNoQXJpdGhSZWdpb24gIHN0YXJ0PSJcJCgoIiBza2lwPSdcXFxcXHxcXC4nIGVuZD0iKSkiIGNvbnRhaW5zPUBzaENvbW1hbmRTdWJMaXN0Cisgc3luIHJlZ2lvbiBzaEFyaXRobWV0aWMgbWF0Y2hncm91cD1zaEFyaXRoUmVnaW9uICBzdGFydD0iXCQoKCIgc2tpcD0nXFxcXFx8XFwuJyBlbmQ9IikpIiBjb250YWlucz1Ac2hBcml0aExpc3QKICBzeW4gbWF0Y2ggIHNoU2tpcEluaXRXUyBjb250YWluZWQJIl5cc1wrIgogZWxzZQogIHN5biByZWdpb24gc2hDb21tYW5kU3ViIG1hdGNoZ3JvdXA9RXJyb3Igc3RhcnQ9IlwkKCIgZW5kPSIpIiBjb250YWlucz1Ac2hDb21tYW5kU3ViTGlzdApAQCAtMjYxLDcgKzI3MCw2IEBACiBlbmRpZgogaWYgZXhpc3RzKCJiOmlzX2Jhc2giKQogIHN5biByZWdpb24gIHNoRXhTaW5nbGVRdW90ZQltYXRjaGdyb3VwPXNoT3BlcmF0b3Igc3RhcnQ9K1wkJysgc2tpcD0rXFxcXFx8XFwuKyBlbmQ9KycrCWNvbnRhaW5zPXNoU3RyaW5nU3BlY2lhbCxzaFNwZWNpYWwKLSBzeW4gcmVnaW9uICBzaEV4RG91YmxlUXVvdGUJbWF0Y2hncm91cD1zaE9wZXJhdG9yIHN0YXJ0PStcJCIrIHNraXA9K1xcXFxcfFxcLisgZW5kPSsiKwljb250YWlucz1zaFN0cmluZ1NwZWNpYWwsc2hTcGVjaWFsLHNoQ29tbWFuZFN1YixzaERlcmVmCiBlbHNlCiAgc3luIHJlZ2lvbiAgc2hFeFNpbmdsZVF1b3RlCW1hdGNoR3JvdXA9RXJyb3Igc3RhcnQ9K1wkJysgc2tpcD0rXFxcXFx8XFwuKyBlbmQ9KycrCWNvbnRhaW5zPXNoU3RyaW5nU3BlY2lhbAogZW5kaWYKQEAgLTI3Nyw3ICsyODUsOCBAQAogc3luIGNsdXN0ZXIgICAgc2hDb21tZW50R3JvdXAJY29udGFpbnM9c2hUb2RvLEBTcGVsbAogc3luIGtleXdvcmQgICAgc2hUb2RvCWNvbnRhaW5lZAlDT01CQUsgRklYTUUgVE9ETyBYWFgKIHN5biBtYXRjaCAgICAgIHNoQ29tbWVudAkiXlxzKlx6cyMuKiQiCWNvbnRhaW5zPUBzaENvbW1lbnRHcm91cAotc3luIG1hdGNoICAgICAgc2hDb21tZW50CSIjLiokIgljb250YWlucz1Ac2hDb21tZW50R3JvdXAKK3N5biBtYXRjaCAgICAgIHNoQ29tbWVudAkiXHNcenMjLiokIgljb250YWlucz1Ac2hDb21tZW50R3JvdXAKK3N5biBtYXRjaCAgICAgIHNoUXVpY2tDb21tZW50CWNvbnRhaW5lZAkiIy4qJCIKIAogIiBIZXJlIERvY3VtZW50czoge3t7MQogIiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpAQCAtMjg5LDcgKzI5OCw3IEBACiAgc3luIHJlZ2lvbiBzaEhlcmVEb2MgbWF0Y2hncm91cD1zaFJlZGlyIHN0YXJ0PSI8PFxzKlwqKlwuXCoqIgltYXRjaGdyb3VwPXNoUmVkaXIJZW5kPSJeXC4kIgljb250YWlucz1Ac2hEYmxRdW90ZUxpc3QKICBzeW4gcmVnaW9uIHNoSGVyZURvYyBtYXRjaGdyb3VwPXNoUmVkaXIgc3RhcnQ9Ijw8LVxzKlwqKlwuXCoqIgltYXRjaGdyb3VwPXNoUmVkaXIJZW5kPSJeXHMqXC4kIgljb250YWlucz1Ac2hEYmxRdW90ZUxpc3QKIAotZWxzZWlmIGc6c2hfZm9sZF9lbmFibGVkCitlbHNlaWYgKGc6c2hfZm9sZF9lbmFibGVkICUgKHM6c2hfZm9sZF9oZXJlZG9jICogMikpL3M6c2hfZm9sZF9oZXJlZG9jCiAgc3luIHJlZ2lvbiBzaEhlcmVEb2MgbWF0Y2hncm91cD1zaFJlZGlyIGZvbGQgc3RhcnQ9Ijw8XHMqXHooXFMqXCkiCQltYXRjaGdyb3VwPXNoUmVkaXIgZW5kPSJeXHoxXHMqJCIJY29udGFpbnM9QHNoRGJsUXVvdGVMaXN0CiAgc3luIHJlZ2lvbiBzaEhlcmVEb2MgbWF0Y2hncm91cD1zaFJlZGlyIGZvbGQgc3RhcnQ9Ijw8XHMqXCJceihcUypcKVwiIgkJbWF0Y2hncm91cD1zaFJlZGlyIGVuZD0iXlx6MVxzKiQiCiAgc3luIHJlZ2lvbiBzaEhlcmVEb2MgbWF0Y2hncm91cD1zaFJlZGlyIGZvbGQgc3RhcnQ9Ijw8XHMqJ1x6KFxTKlwpJyIJCW1hdGNoZ3JvdXA9c2hSZWRpciBlbmQ9Il5cejFccyokIgpAQCAtMzI4LDMyICszMzcsNDAgQEAKIAogIiBJZGVudGlmaWVyczoge3t7MQogIj09PT09PT09PT09PT0KLXN5biBtYXRjaCAgc2hWYXJpYWJsZSAiXDxcKFtid2dsc2F2XTpcKVw9W2EtekEtWjAtOS4hQF8lKyxdKlx6ZT0iCW5leHRncm91cD1zaFNldElkZW50aWZpZXIKLXN5biBtYXRjaCAgc2hJZFdoaXRlU3BhY2UgIGNvbnRhaW5lZAkiXHMiCi1zeW4gbWF0Y2ggIHNoU2V0SWRlbnRpZmllciBjb250YWluZWQJIj0iCW5leHRncm91cD1zaFBhdHRlcm4sc2hEZXJlZixzaERlcmVmU2ltcGxlLHNoRG91YmxlUXVvdGUsc2hTaW5nbGVRdW90ZSxzaEV4U2luZ2xlUXVvdGUKK3N5biBtYXRjaCAgc2hTZXRPcHRpb24JIlxzXHpzWy0rXVthLXpBLVowLTldXCtcPiIJY29udGFpbmVkCitzeW4gbWF0Y2ggIHNoVmFyaWFibGUJIlw8XChbYndnbHNhdl06XClcPVthLXpBLVowLTkuIUBfJSssXSpcemU9IgluZXh0Z3JvdXA9c2hTZXRJZGVudGlmaWVyCitzeW4gbWF0Y2ggIHNoU2V0SWRlbnRpZmllcgkiPSIJCWNvbnRhaW5lZAluZXh0Z3JvdXA9c2hQYXR0ZXJuLHNoRGVyZWYsc2hEZXJlZlNpbXBsZSxzaERvdWJsZVF1b3RlLHNoU2luZ2xlUXVvdGUsc2hFeFNpbmdsZVF1b3RlCiBpZiBleGlzdHMoImI6aXNfYmFzaCIpCi0gIHN5biByZWdpb24gc2hTZXRMaXN0IG1hdGNoZ3JvdXA9c2hTZXQgc3RhcnQ9Ilw8XChkZWNsYXJlXHx0eXBlc2V0XHxsb2NhbFx8ZXhwb3J0XHx1bnNldFwpXD5cemVbXi9dIiBlbmQ9IiQiCW1hdGNoZ3JvdXA9c2hPcGVyYXRvciBlbmQ9Ilx6ZVt8KTsmXSJtZT1lLTEgbWF0Y2hncm91cD1OT05FIGVuZD0iI1x8PSJtZT1lLTEgY29udGFpbnM9QHNoSWRMaXN0Ci0gIHN5biByZWdpb24gc2hTZXRMaXN0IG1hdGNoZ3JvdXA9c2hTZXQgc3RhcnQ9Ilw8c2V0XD5bXi9dIm1lPWUtMSBlbmQ9IiQiIGVuZD0iXFx6ZVt8KV0iCQltYXRjaGdyb3VwPXNoT3BlcmF0b3IgZW5kPSJcemVbfCk7Jl0ibWU9ZS0xIG1hdGNoZ3JvdXA9Tk9ORSBlbmQ9IlsjPV0ibWU9ZS0xIGNvbnRhaW5zPUBzaElkTGlzdAotICBzeW4gbWF0Y2ggIHNoU2V0ICJcPFwoZGVjbGFyZVx8dHlwZXNldFx8bG9jYWxcfGV4cG9ydFx8c2V0XHx1bnNldFwpXD4iCisgc3luIHJlZ2lvbiBzaFNldExpc3Qgb25lbGluZSBtYXRjaGdyb3VwPXNoU2V0IHN0YXJ0PSJcPFwoZGVjbGFyZVx8dHlwZXNldFx8bG9jYWxcfGV4cG9ydFx8dW5zZXRcKVw+XHplW14vXSIgZW5kPSIkIgltYXRjaGdyb3VwPXNoT3BlcmF0b3IgZW5kPSJcemVbfXwpOyZdIiBtYXRjaGdyb3VwPU5PTkUgZW5kPSJcemUjXHw9IiBjb250YWlucz1Ac2hJZExpc3QKKyBzeW4gcmVnaW9uIHNoU2V0TGlzdCBvbmVsaW5lIG1hdGNoZ3JvdXA9c2hTZXQgc3RhcnQ9Ilw8c2V0XD5cemVbXi9dIiBlbmQ9Ilx6ZVs7fCldXHwkIgkJCW1hdGNoZ3JvdXA9c2hPcGVyYXRvciBlbmQ9Ilx6ZVt9fCk7Jl0iIG1hdGNoZ3JvdXA9Tk9ORSBlbmQ9Ilx6ZVsjPV0iIGNvbnRhaW5zPUBzaElkTGlzdAogZWxzZWlmIGV4aXN0cygiYjppc19rb3Juc2hlbGwiKQotICBzeW4gcmVnaW9uIHNoU2V0TGlzdCBtYXRjaGdyb3VwPXNoU2V0IHN0YXJ0PSJcPFwodHlwZXNldFx8ZXhwb3J0XHx1bnNldFwpXD5cemVbXi9dIiBlbmQ9IiQiCQltYXRjaGdyb3VwPXNoT3BlcmF0b3IgZW5kPSJcemVbfCk7Jl0ibWU9ZS0xIG1hdGNoZ3JvdXA9Tk9ORSBlbmQ9IlsjPV0ibWU9ZS0xIGNvbnRhaW5zPUBzaElkTGlzdAotICBzeW4gcmVnaW9uIHNoU2V0TGlzdCBtYXRjaGdyb3VwPXNoU2V0IHN0YXJ0PSJcPHNldFw+XHplW14vXSIgZW5kPSIkXHxcemVbfSldIgkJCW1hdGNoZ3JvdXA9c2hPcGVyYXRvciBlbmQ9Ilx6ZVt8KTsmXSJtZT1lLTEgbWF0Y2hncm91cD1OT05FIGVuZD0iWyM9XSJtZT1lLTEgY29udGFpbnM9QHNoSWRMaXN0Ci0gIHN5biBtYXRjaCAgc2hTZXQgIlw8XCh0eXBlc2V0XHxzZXRcfGV4cG9ydFx8dW5zZXRcKVw+IgorIHN5biByZWdpb24gc2hTZXRMaXN0IG9uZWxpbmUgbWF0Y2hncm91cD1zaFNldCBzdGFydD0iXDxcKHR5cGVzZXRcfGV4cG9ydFx8dW5zZXRcKVw+XHplW14vXSIgZW5kPSIkIgkJbWF0Y2hncm91cD1zaE9wZXJhdG9yIGVuZD0iXHplW318KTsmXSIgbWF0Y2hncm91cD1OT05FIGVuZD0iXHplWyM9XSIgY29udGFpbnM9QHNoSWRMaXN0Cisgc3luIHJlZ2lvbiBzaFNldExpc3Qgb25lbGluZSBtYXRjaGdyb3VwPXNoU2V0IHN0YXJ0PSJcPHNldFw+XHplW14vXSIgZW5kPSIkIgkJCQltYXRjaGdyb3VwPXNoT3BlcmF0b3IgZW5kPSJcemVbfXwpOyZdIiBtYXRjaGdyb3VwPU5PTkUgZW5kPSJcemVbIz1dIiBjb250YWlucz1Ac2hJZExpc3QKIGVsc2UKLSAgc3luIHJlZ2lvbiBzaFNldExpc3QgbWF0Y2hncm91cD1zaFNldCBzdGFydD0iXDxcKHNldFx8ZXhwb3J0XHx1bnNldFwpXD5cemVbXi9dIiBlbmQ9IiRcfFx6ZVt8KV0iCW1hdGNoZ3JvdXA9c2hPcGVyYXRvciBlbmQ9Ilx6ZVt8KTsmXSIgbWF0Y2hncm91cD1OT05FIGVuZD0iWyM9XSJtZT1lLTEgY29udGFpbnM9QHNoSWRMaXN0Ci0gIHN5biBtYXRjaCAgc2hTdGF0ZW1lbnQgIlw8XChzZXRcfGV4cG9ydFx8dW5zZXRcKVw+IgorIHN5biByZWdpb24gc2hTZXRMaXN0IG9uZWxpbmUgbWF0Y2hncm91cD1zaFNldCBzdGFydD0iXDxcKHNldFx8ZXhwb3J0XHx1bnNldFwpXD5cemVbXi9dIiBlbmQ9IiQiCQltYXRjaGdyb3VwPXNoT3BlcmF0b3IgZW5kPSJcemVbfXwpOyZdIiBtYXRjaGdyb3VwPU5PTkUgZW5kPSJcemVbIz1dIiBjb250YWlucz1Ac2hJZExpc3QKIGVuZGlmCiAKICIgRnVuY3Rpb25zOiB7e3sxCi1zeW4ga2V5d29yZCBzaEZ1bmN0aW9uS2V5IGZ1bmN0aW9uCXNraXB3aGl0ZSBza2lwbmwgbmV4dGdyb3VwPXNoRnVuY3Rpb25Ud28KLSIgQ09NQkFLIC0tIGxvb2sgYXQgYmFzaDA5LiAgZnVuY3Rpb24gZm9vKCkgKGxpbmUjMzUpIGlzIGZvbGRpbmcgMzggbGluZXMuICBOb3QgYmVpbmcgdGVybWluYXRlZCBwcm9wZXJseQotInN5biBtYXRjaCAgIHNoRnVuY3Rpb25TdGFydAkieyIJY29udGFpbmVkCi1pZiBnOnNoX2ZvbGRfZW5hYmxlZAotIHN5biByZWdpb24gc2hGdW5jdGlvbk9uZSB0cmFuc3BhcmVudCBmb2xkCXN0YXJ0PSJeXHMqXGhcdypccyooKVxfcypcemV7IiAgICBtYXRjaGdyb3VwPXNoRnVuY3Rpb25TdGFydCBlbmQ9In0iCWNvbnRhaW5zPUBzaEZ1bmN0aW9uTGlzdAkJCXNraXB3aGl0ZSBza2lwbmwgbmV4dGdyb3VwPXNoRnVuY3Rpb25TdGFydAotIHN5biByZWdpb24gc2hGdW5jdGlvblR3byB0cmFuc3BhcmVudCBmb2xkCXN0YXJ0PSJcaFx3KlxzKlwlKCgpXClcPVxfcypcemV7IiBtYXRjaGdyb3VwPXNoRnVuY3Rpb25TdGFydCBlbmQ9In0iCWNvbnRhaW5zPXNoRnVuY3Rpb25LZXksQHNoRnVuY3Rpb25MaXN0IGNvbnRhaW5lZAlza2lwd2hpdGUgc2tpcG5sIG5leHRncm91cD1zaEZ1bmN0aW9uU3RhcnQKK2lmICFleGlzdHMoImc6aXNfcG9zaXgiKQorIHN5biBrZXl3b3JkIHNoRnVuY3Rpb25LZXkgZnVuY3Rpb24Jc2tpcHdoaXRlIHNraXBubCBuZXh0Z3JvdXA9c2hGdW5jdGlvblR3bworZW5kaWYKKworaWYgZXhpc3RzKCJiOmlzX2Jhc2giKQorIGlmIChnOnNoX2ZvbGRfZW5hYmxlZCAlIChzOnNoX2ZvbGRfZnVuY3Rpb25zICogMikpL3M6c2hfZm9sZF9mdW5jdGlvbnMKKyAgc3luIHJlZ2lvbiBzaEZ1bmN0aW9uT25lIGZvbGQJbWF0Y2hncm91cD1zaEZ1bmN0aW9uIHN0YXJ0PSJeXHMqXGhbLWEtekEtWl8wLTldKlxzKigpXF9zKnsiIGVuZD0ifSIJY29udGFpbnM9QHNoRnVuY3Rpb25MaXN0CQkJc2tpcHdoaXRlIHNraXBubCBuZXh0Z3JvdXA9c2hGdW5jdGlvblN0YXJ0LHNoUXVpY2tDb21tZW50CisgIHN5biByZWdpb24gc2hGdW5jdGlvblR3byBmb2xkCW1hdGNoZ3JvdXA9c2hGdW5jdGlvbiBzdGFydD0iXGhbLWEtekEtWl8wLTldKlxzKlwlKCgpXClcPVxfcyp7IgllbmQ9In0iCWNvbnRhaW5zPXNoRnVuY3Rpb25LZXksQHNoRnVuY3Rpb25MaXN0IGNvbnRhaW5lZAlza2lwd2hpdGUgc2tpcG5sIG5leHRncm91cD1zaEZ1bmN0aW9uU3RhcnQsc2hRdWlja0NvbW1lbnQKKyBlbHNlCisgIHN5biByZWdpb24gc2hGdW5jdGlvbk9uZQltYXRjaGdyb3VwPXNoRnVuY3Rpb24gc3RhcnQ9Il5ccypcaFstYS16QS1aXzAtOV0qXHMqKClcX3MqeyIJZW5kPSJ9Igljb250YWlucz1Ac2hGdW5jdGlvbkxpc3QKKyAgc3luIHJlZ2lvbiBzaEZ1bmN0aW9uVHdvCW1hdGNoZ3JvdXA9c2hGdW5jdGlvbiBzdGFydD0iXGhbLWEtekEtWl8wLTldKlxzKlwlKCgpXClcPVxfcyp7IgllbmQ9In0iCWNvbnRhaW5zPXNoRnVuY3Rpb25LZXksQHNoRnVuY3Rpb25MaXN0IGNvbnRhaW5lZAorIGVuZGlmCiBlbHNlCi0gc3luIHJlZ2lvbiBzaEZ1bmN0aW9uT25lIHRyYW5zcGFyZW50CXN0YXJ0PSJeXHMqXGhcdypccyooKVxfcypcemV7IiAgICBtYXRjaGdyb3VwPXNoRnVuY3Rpb25TdGFydCBlbmQ9In0iCWNvbnRhaW5zPUBzaEZ1bmN0aW9uTGlzdAotIHN5biByZWdpb24gc2hGdW5jdGlvblR3byB0cmFuc3BhcmVudAlzdGFydD0iXGhcdypccypcJSgoKVwpXD1cX3MqXHpleyIgbWF0Y2hncm91cD1zaEZ1bmN0aW9uU3RhcnQgZW5kPSJ9Igljb250YWlucz1zaEZ1bmN0aW9uS2V5LEBzaEZ1bmN0aW9uTGlzdCBjb250YWluZWQKKyBpZiAoZzpzaF9mb2xkX2VuYWJsZWQgJSAoczpzaF9mb2xkX2Z1bmN0aW9ucyAqIDIpKS9zOnNoX2ZvbGRfZnVuY3Rpb25zCisgIHN5biByZWdpb24gc2hGdW5jdGlvbk9uZSBmb2xkCW1hdGNoZ3JvdXA9c2hGdW5jdGlvbiBzdGFydD0iXlxzKlxoXHcqXHMqKClcX3MqeyIgZW5kPSJ9Igljb250YWlucz1Ac2hGdW5jdGlvbkxpc3QJCQlza2lwd2hpdGUgc2tpcG5sIG5leHRncm91cD1zaEZ1bmN0aW9uU3RhcnQsc2hRdWlja0NvbW1lbnQKKyAgc3luIHJlZ2lvbiBzaEZ1bmN0aW9uVHdvIGZvbGQJbWF0Y2hncm91cD1zaEZ1bmN0aW9uIHN0YXJ0PSJcaFx3KlxzKlwlKCgpXClcPVxfcyp7IgllbmQ9In0iCWNvbnRhaW5zPXNoRnVuY3Rpb25LZXksQHNoRnVuY3Rpb25MaXN0IGNvbnRhaW5lZAlza2lwd2hpdGUgc2tpcG5sIG5leHRncm91cD1zaEZ1bmN0aW9uU3RhcnQsc2hRdWlja0NvbW1lbnQKKyBlbHNlCisgIHN5biByZWdpb24gc2hGdW5jdGlvbk9uZQltYXRjaGdyb3VwPXNoRnVuY3Rpb24gc3RhcnQ9Il5ccypcaFx3KlxzKigpXF9zKnsiCWVuZD0ifSIJY29udGFpbnM9QHNoRnVuY3Rpb25MaXN0CisgIHN5biByZWdpb24gc2hGdW5jdGlvblR3bwltYXRjaGdyb3VwPXNoRnVuY3Rpb24gc3RhcnQ9IlxoXHcqXHMqXCUoKClcKVw9XF9zKnsiCWVuZD0ifSIJY29udGFpbnM9c2hGdW5jdGlvbktleSxAc2hGdW5jdGlvbkxpc3QgY29udGFpbmVkCisgZW5kaWYKIGVuZGlmCiAKICIgUGFyYW1ldGVyIERlcmVmZXJlbmNpbmc6IHt7ezEKQEAgLTM2NSw2ICszODIsNyBAQAogc3luIG1hdGNoICBzaERlcmVmU2ltcGxlCSJcJFwkIgogaWYgZXhpc3RzKCJiOmlzX2Jhc2giKSB8fCBleGlzdHMoImI6aXNfa29ybnNoZWxsIikKICBzeW4gcmVnaW9uIHNoRGVyZWYJbWF0Y2hncm91cD1QcmVQcm9jIHN0YXJ0PSJcJHsjI1w9IiBlbmQ9In0iCWNvbnRhaW5zPUBzaERlcmVmTGlzdAorIHN5biByZWdpb24gc2hEZXJlZgltYXRjaGdyb3VwPVByZVByb2Mgc3RhcnQ9Ilwke1wkXCQiIGVuZD0ifSIJY29udGFpbnM9QHNoRGVyZWZMaXN0CiBlbmRpZgogCiAiIGJhc2g6ICR7IXByZWZpeCp9IGFuZCAkeyNwYXJhbWV0ZXJ9OiB7e3sxCkBAIC00MDEsOSArNDE5LDkgQEAKICBzeW4gcmVnaW9uIHNoRGVyZWZQYXR0ZXJuCWNvbnRhaW5lZAlzdGFydD0ieyIgZW5kPSJ9Igljb250YWlucz1zaERlcmVmLHNoRGVyZWZTaW1wbGUsc2hEZXJlZlN0cmluZyxzaENvbW1hbmRTdWIgbmV4dGdyb3VwPXNoRGVyZWZQYXR0ZXJuCiAgc3luIG1hdGNoICBzaERlcmVmRXNjYXBlCWNvbnRhaW5lZAknXCUoXFxcXFwpKlxcLicKIGVuZGlmCi1zeW4gcmVnaW9uIHNoRGVyZWZTdHJpbmcJY29udGFpbmVkCW1hdGNoZ3JvdXA9c2hPcGVyYXRvciBzdGFydD0rJysgZW5kPSsnKwkJY29udGFpbnM9c2hTdHJpbmdTcGVjaWFsCi1zeW4gcmVnaW9uIHNoRGVyZWZTdHJpbmcJY29udGFpbmVkCW1hdGNoZ3JvdXA9c2hPcGVyYXRvciBzdGFydD0rIisgc2tpcD0rXFwiKyBlbmQ9KyIrCWNvbnRhaW5zPUBzaERibFF1b3RlTGlzdCxzaFN0cmluZ1NwZWNpYWwKLXN5biBtYXRjaCAgc2hEZXJlZlN0cmluZwljb250YWluZWQJIlxcWyInXSIKK3N5biByZWdpb24gc2hEZXJlZlN0cmluZwljb250YWluZWQJbWF0Y2hncm91cD1zaE9wZXJhdG9yIHN0YXJ0PStcJShcXFwpXEA8IScrIGVuZD0rJysJCWNvbnRhaW5zPXNoU3RyaW5nU3BlY2lhbAorc3luIHJlZ2lvbiBzaERlcmVmU3RyaW5nCWNvbnRhaW5lZAltYXRjaGdyb3VwPXNoT3BlcmF0b3Igc3RhcnQ9K1wlKFxcXClcQDwhIisgc2tpcD0rXFwiKyBlbmQ9KyIrCWNvbnRhaW5zPUBzaERibFF1b3RlTGlzdCxzaFN0cmluZ1NwZWNpYWwKK3N5biBtYXRjaCAgc2hEZXJlZlN0cmluZwljb250YWluZWQJIlxcWyInXSIJbmV4dGdyb3VwPXNoRGVyZWZQYXR0ZXJuCiAKIGlmIGV4aXN0cygiYjppc19iYXNoIikKICAiIGJhc2ggOiAke3BhcmFtZXRlcjpvZmZzZXR9CkBAIC00MTgsNiArNDM2LDkgQEAKICBzeW4gcmVnaW9uIHNoRGVyZWZQUFNyaWdodAljb250YWluZWQJc3RhcnQ9Jy4nCWVuZD0nXHplfScJY29udGFpbnM9QHNoQ29tbWFuZFN1Ykxpc3QKIGVuZGlmCiAKKyIgQXJpdGhtZXRpYyBQYXJlbnRoZXNpemVkIEV4cHJlc3Npb25zOiB7e3sxCitzeW4gcmVnaW9uIHNoUGFyZW4gbWF0Y2hncm91cD1zaEFyaXRoUmVnaW9uIHN0YXJ0PScoXHplW14oXScgZW5kPScpJyBjb250YWlucz1Ac2hBcml0aFBhcmVuTGlzdAorCiAiIFVzZWZ1bCBzaCBLZXl3b3Jkczoge3t7MQogIiA9PT09PT09PT09PT09PT09PT09CiBzeW4ga2V5d29yZCBzaFN0YXRlbWVudCBicmVhayBjZCBjaGRpciBjb250aW51ZSBldmFsIGV4ZWMgZXhpdCBraWxsIG5ld2dycCBwd2QgcmVhZCByZWFkb25seSByZXR1cm4gc2hpZnQgdGVzdCB0cmFwIHVsaW1pdCB1bWFzayB3YWl0CkBAIC00MjcsNyArNDQ4LDEyIEBACiAiIFVzZWZ1bCBrc2ggS2V5d29yZHM6IHt7ezEKICIgPT09PT09PT09PT09PT09PT09PT0KIGlmIGV4aXN0cygiYjppc19rb3Juc2hlbGwiKSB8fCBleGlzdHMoImI6aXNfYmFzaCIpCi0gc3luIGtleXdvcmQgc2hTdGF0ZW1lbnQgYXV0b2xvYWQgYmcgZmFsc2UgZmMgZmcgZnVuY3Rpb25zIGdldG9wdHMgaGFzaCBoaXN0b3J5IGludGVnZXIgam9icyBsZXQgbm9odXAgcHJpbnQgcHJpbnRmIHIgc3RvcCBzdXNwZW5kIHRpbWUgdGltZXMgdHJ1ZSB0eXBlIHVuYWxpYXMgd2hlbmNlCisgc3luIGtleXdvcmQgc2hTdGF0ZW1lbnQgYXV0b2xvYWQgYmcgZmFsc2UgZmMgZmcgZnVuY3Rpb25zIGdldG9wdHMgaGFzaCBoaXN0b3J5IGludGVnZXIgam9icyBsZXQgbm9odXAgcHJpbnQgcHJpbnRmIHIgc3RvcCBzdXNwZW5kIHRpbWVzIHRydWUgdHlwZSB1bmFsaWFzIHdoZW5jZQorIGlmIGV4aXN0cygiZzppc19wb3NpeCIpCisgIHN5biBrZXl3b3JkIHNoU3RhdGVtZW50IGNvbW1hbmQKKyBlbHNlCisgIHN5biBrZXl3b3JkIHNoU3RhdGVtZW50IHRpbWUKKyBlbmRpZgogCiAiIFVzZWZ1bCBiYXNoIEtleXdvcmRzOiB7e3sxCiAiID09PT09PT09PT09PT09PT09PT09PQpAQCAtNDY3LDcgKzQ5Myw2IEBACiBoaSBkZWYgbGluayBzaENhc2VEb3VibGVRdW90ZQlzaERvdWJsZVF1b3RlCiBoaSBkZWYgbGluayBzaENhc2VJbglzaENvbmRpdGlvbmFsCiBoaSBkZWYgbGluayBzaENhc2VTaW5nbGVRdW90ZQlzaFNpbmdsZVF1b3RlCi1oaSBkZWYgbGluayBzaENhc2VEb3VibGVRdW90ZQlzaFNpbmdsZVF1b3RlCiBoaSBkZWYgbGluayBzaENhc2VTdGFydAlzaENvbmRpdGlvbmFsCiBoaSBkZWYgbGluayBzaENtZFN1YlJlZ2lvbglzaFNoZWxsVmFyaWFibGVzCiBoaSBkZWYgbGluayBzaENvbG9uCXNoU3RhdGVtZW50CkBAIC00ODEsMTggKzUwNiwyMiBAQAogaGkgZGVmIGxpbmsgc2hEZXJlZlZhcglzaERlcmVmCiBoaSBkZWYgbGluayBzaERvdWJsZVF1b3RlCXNoU3RyaW5nCiBoaSBkZWYgbGluayBzaEVjaG8Jc2hTdHJpbmcKK2hpIGRlZiBsaW5rIHNoRWNob1F1b3RlCXNoU3RyaW5nCiBoaSBkZWYgbGluayBzaEVtYmVkZGVkRWNobwlzaFN0cmluZworaGkgZGVmIGxpbmsgc2hFc2NhcGUJc2hDb21tYW5kU3ViCiBoaSBkZWYgbGluayBzaEV4U2luZ2xlUXVvdGUJc2hTaW5nbGVRdW90ZQotaGkgZGVmIGxpbmsgc2hFeERvdWJsZVF1b3RlCXNoU2luZ2xlUXVvdGUKLWhpIGRlZiBsaW5rIHNoRnVuY3Rpb25TdGFydAlEZWxpbWl0ZXIKK2hpIGRlZiBsaW5rIHNoRnVuY3Rpb24JRnVuY3Rpb24KIGhpIGRlZiBsaW5rIHNoSGVyZURvYwlzaFN0cmluZwogaGkgZGVmIGxpbmsgc2hIZXJlUGF5bG9hZAlzaEhlcmVEb2MKIGhpIGRlZiBsaW5rIHNoTG9vcAlzaFN0YXRlbWVudAogaGkgZGVmIGxpbmsgc2hPcHRpb24Jc2hDb21tYW5kU3ViCiBoaSBkZWYgbGluayBzaFBhdHRlcm4Jc2hTdHJpbmcKK2hpIGRlZiBsaW5rIHNoUGFyZW4Jc2hBcml0aG1ldGljCiBoaSBkZWYgbGluayBzaFBvc25QYXJtCXNoU2hlbGxWYXJpYWJsZXMKK2hpIGRlZiBsaW5rIHNoUXVpY2tDb21tZW50CXNoQ29tbWVudAogaGkgZGVmIGxpbmsgc2hSYW5nZQlzaE9wZXJhdG9yCiBoaSBkZWYgbGluayBzaFJlZGlyCXNoT3BlcmF0b3IKK2hpIGRlZiBsaW5rIHNoU2V0T3B0aW9uCXNoT3B0aW9uCiBoaSBkZWYgbGluayBzaFNpbmdsZVF1b3RlCXNoU3RyaW5nCiBoaSBkZWYgbGluayBzaFNvdXJjZQlzaE9wZXJhdG9yCiBoaSBkZWYgbGluayBzaFN0cmluZ1NwZWNpYWwJc2hTcGVjaWFsCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC92aW0udmltIGIvcnVudGltZS9zeW50YXgvdmltLnZpbQppbmRleCBiYmYzMWY3Li5jMjIwZjlkIDEwMDY0NAotLS0gYS9ydW50aW1lL3N5bnRheC92aW0udmltCisrKyBiL3J1bnRpbWUvc3ludGF4L3ZpbS52aW0KQEAgLTEsOCArMSw4IEBACiAiIFZpbSBzeW50YXggZmlsZQotIiBMYW5ndWFnZToJVmltIDcuMSBzY3JpcHQKKyIgTGFuZ3VhZ2U6CVZpbSA3LjIgc2NyaXB0CiAiIE1haW50YWluZXI6CURyLiBDaGFybGVzIEUuIENhbXBiZWxsLCBKci4gPE5kck9jaGlwU0BQY2FtcGJlbGxBZmFtaWx5Lk1iaXo+Ci0iIExhc3QgQ2hhbmdlOglBcHIgMDgsIDIwMDgKLSIgVmVyc2lvbjoJNy4xLTc3CisiIExhc3QgQ2hhbmdlOglKdWwgMTAsIDIwMDgKKyIgVmVyc2lvbjoJNy4yLTc5KwogIiBBdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBrZXl3b3JkIGxpc3RzOiB7e3sxCiAKICIgUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkIHt7ezIKQEAgLTI1LDEyICsyNSwxMiBAQAogCiAiIHZpbU9wdGlvbnMgYXJlIGNhdWdodCBvbmx5IHdoZW4gY29udGFpbmVkIGluIGEgdmltU2V0IHt7ezIKIHN5biBrZXl3b3JkIHZpbU9wdGlvbiBjb250YWluZWQJYWNkIGFtYml3aWR0aCBhcmFiaWNzaGFwZSBhdXRvd3JpdGVhbGwgYmFja3VwZGlyIGJkbGF5IGJpbmFyeSBicmVha2F0IGJ1ZmhpZGRlbiBjZHBhdGggY2luIGNpbndvcmRzIGNvbHVtbnMgY29tcGxldGVvcHQgY3BvIGNzY29wZXRhZ29yZGVyIGNzdmVyYiBkZWNvIGRpY3Rpb25hcnkgZGlyZWN0b3J5IGVkIGVuY29kaW5nIGVycm9yZmlsZSBleHJjIGZkbHMgZmVuY3MgZmlsZWZvcm1hdHMgZm1yIGZvbGRsZXZlbCBmb2xkdGV4dCBmc3luYyBnZnMgZ3RsIGd1aW9wdGlvbnMgaGYgaGsgaGxzZWFyY2ggaW1hayBpbXMgaW5kZW50ZXhwciBpcyBpc3Aga2V5d29yZHByZyBsYXp5cmVkcmF3IGxpc3B3b3JkcyBscyBtYWtlZWYgbWF4bWFwZGVwdGggbWZkIG1tZCBtb2RpZmllZCBtb3VzZW1vZGVsIG1zbSBudW1iZXJ3aWR0aCBvcGVyYXRvcmZ1bmMgcGFzdGV0b2dnbGUgcGV4cHIgcG1iZm4gcHJpbnRleHByIHB0IHJlYWRvbmx5IHJpZ2h0bGVmdCBydHAgc2Igc2Nyb2xsIHNlY3Qgc2Vzc2lvbm9wdGlvbnMgc2hlbGxwaXBlIHNoZWxseHF1b3RlIHNob3dicmVhayBzaHEgc2xtIHNtZCBzcGMgc3BmIHNyIHN0YSBzdHMgc3dhcGZpbGUgc3hxIHRhYnBhZ2VtYXggdGFncyB0YmlzIHRlcnNlIHRoZXNhdXJ1cyB0aXRsZW9sZCB0b29sYmFyaWNvbnNpemUgdHNyIHR0eWZhc3QgdHggdXQgdmVyYm9zZWZpbGUgdmlydHVhbGVkaXQgd2Igd2Z3IHdpbGRjaGFybSB3aW5hbHRrZXlzIHdpbm1pbndpZHRoIHdtbnUgd3JpdGUKLXN5biBrZXl3b3JkIHZpbU9wdGlvbiBjb250YWluZWQJYWkgYW1idyBhcmkgYXcgYmFja3VwZXh0IGJldmFsIGJpb3NrIGJyayBidWZsaXN0ZWQgY2VkaXQgY2luZGVudCBjbGlwYm9hcmQgY29tIGNvbmZpcm0gY3BvcHRpb25zIGNzY29wZXZlcmJvc2UgY3VjIGRlZiBkaWZmIGRpc3BsYXkgZWRjb21wYXRpYmxlIGVuZG9mbGluZSBlcnJvcmZvcm1hdCBmY2wgZmRtIGZleCBmaWxldHlwZSBmbyBmb2xkbGV2ZWxzdGFydCBmb3JtYXRleHByIGZ0IGdmdyBndHQgZ3VpcHR5IGhoIGhrbWFwIGljIGltYyBpbXNlYXJjaCBpbmRlbnRrZXlzIGlzZiBpc3ByaW50IGttIGxiciBsaXN0IGxzcCBtYWtlcHJnIG1heG1lbSBtaCBtbXAgbW9yZSBtb3VzZXMgbXpxIG51dyBvcGZ1bmMgcGF0Y2hleHByIHBmbiBwb3B0IHByaW50Zm9udCBwdW1oZWlnaHQgcmVtYXAgcmlnaHRsZWZ0Y21kIHJ1IHNibyBzY3JvbGxiaW5kIHNlY3Rpb25zIHNmdCBzaGVsbHF1b3RlIHNoaWZ0cm91bmQgc2hvd2NtZCBzaSBzbSBzbiBzcGVsbCBzcGwgc3JyIHN0YWwgc3Ugc3dhcHN5bmMgc3luIHRhYnN0b3AgdGFnc3RhY2sgdGJzIHRleHRhdXRvIHRpbGRlb3AgdGl0bGVzdHJpbmcgdG9wIHR0aW1lb3V0IHR0eW0gdWMgdmIgdmZpbGUgdmlzdWFsYmVsbCB3YyB3aCB3aWxkaWdub3JlIHdpbmRvdyB3aW53aWR0aCB3bXcgd3JpdGVhbnkKLXN5biBrZXl3b3JkIHZpbU9wdGlvbiBjb250YWluZWQJYWttIGFudGkgYXJzaGFwZSBhd2EgYmFja3Vwc2tpcCBiZXggYmlvc2tleSBicm93c2VkaXIgYnVmdHlwZSBjZiBjaW5rIGNtZGhlaWdodCBjb21tZW50cyBjb25zayBjcHQgY3NwYyBjdWwgZGVmaW5lIGRpZmZleHByIGR5IGVmIGVvbCBlc2NrZXlzIGZjcyBmZG4gZmYgZmlsbGNoYXJzIGZvbGRjbG9zZSBmb2xkbWFya2VyIGZvcm1hdGxpc3RwYXQgZ2NyIGdociBndWljdXJzb3IgZ3VpdGFibGFiZWwgaGkgaGttYXBwIGljb24gaW1jbWRsaW5lIGluYyBpbmRrIGlzZm5hbWUgam9pbnNwYWNlcyBrbXAgbGNzIGxpc3RjaGFycyBsdyBtYXQgbWF4bWVtcGF0dGVybiBtaXMgbW10IG1vdXNlIG1vdXNlc2hhcGUgbXpxdWFudHVtIG9kZXYgb3NmaWxldHlwZSBwYXRjaG1vZGUgcGggcHJlc2VydmVpbmRlbnQgcHJpbnRoZWFkZXIgcHZoIHJlcG9ydCBybCBydWYgc2JyIHNjcm9sbGp1bXAgc2VjdXJlIHNoIHNoZWxscmVkaXIgc2hpZnR3aWR0aCBzaG93ZnVsbHRhZyBzaWRlc2Nyb2xsIHNtYXJ0Y2FzZSBzbyBzcGVsbGNhcGNoZWNrIHNwbGl0YmVsb3cgc3Mgc3RhcnRvZmxpbmUgc3VhIHN3YiBzeW5tYXhjb2wgdGFnIHRhbCB0ZW5jIHRleHRtb2RlIHRpbWVvdXQgdGwgdHBtIHR0aW1lb3V0bGVuIHR0eW1vdXNlIHVsIHZicyB2aSB2b3Agd2NtIHdoaWNod3JhcCB3aWxkbWVudSB3aW5maXhoZWlnaHQgd2l2IHdvcCB3cml0ZWJhY2t1cAotc3luIGtleXdvcmQgdmltT3B0aW9uIGNvbnRhaW5lZAlhbCBhbnRpYWxpYXMgYXV0b2NoZGlyIGJhY2tncm91bmQgYmFsbG9vbmRlbGF5IGJleHByIGJrIGJzIGNhc2VtYXAgY2Z1IGNpbmtleXMgY21kd2luaGVpZ2h0IGNvbW1lbnRzdHJpbmcgY29uc2tleSBjc2NvcGVwYXRoY29tcCBjc3ByZyBjdXJzb3Jjb2x1bW4gZGVsY29tYmluZSBkaWZmb3B0IGVhIGVmbSBlcCBldCBmZGMgZmRvIGZmcyBmayBmb2xkY29sdW1uIGZvbGRtZXRob2QgZm9ybWF0b3B0aW9ucyBnZCBnbyBndWlmb250IGd1aXRhYnRvb2x0aXAgaGlkIGhrcCBpY29uc3RyaW5nIGltZCBpbmNsdWRlIGluZXggaXNpIGpzIGtwIGxpbmVicmVhayBsbSBseiBtYXRjaHBhaXJzIG1heG1lbXRvdCBta3NwZWxsbWVtIG1vZCBtb3VzZWYgbW91c2V0IG5mIG9mdCBwYSBwYXRoIHBoZWFkZXIgcHJldmlld2hlaWdodCBwcmludG1iY2hhcnNldCBwdncgcmVzdG9yZXNjcmVlbiBybGMgcnVsZXIgc2Mgc2Nyb2xsb2ZmIHNlbCBzaGNmIHNoZWxsc2xhc2ggc2htIHNob3dtYXRjaCBzaWRlc2Nyb2xsb2ZmIHNtYXJ0aW5kZW50IHNvZnR0YWJzdG9wIHNwZWxsZmlsZSBzcGxpdHJpZ2h0IHNzbCBzdGF0dXNsaW5lIHN1ZmZpeGVzIHN3ZiBzeW50YXggdGFnYnNlYXJjaCB0YiB0ZXJtIHRleHR3aWR0aCB0aW1lb3V0bGVuIHRtIHRyIHR0bSB0dHlzY3JvbGwgdW5kb2xldmVscyB2ZGlyIHZpZXdkaXIgd2Egd2Qgd2kgd2lsZG1vZGUgd2luZml4d2lkdGggd2l3IHdyYXAgd3JpdGVkZWxheQotc3luIGtleXdvcmQgdmltT3B0aW9uIGNvbnRhaW5lZAlhbGVwaCBhciBhdXRvaW5kZW50IGJhY2tzcGFjZSBiYWxsb29uZXZhbCBiZyBia2MgYnNkaXIgY2IgY2ggY2lubyBjbXAgY29tcGF0aWJsZSBjb3B5aW5kZW50IGNzY29wZXByZyBjc3FmIGN1cnNvcmxpbmUgZGV4IGRpZ3JhcGggZWFkIGVpIGVxdWFsYWx3YXlzIGV2ZW50aWdub3JlIGZkZSBmZHQgZmlsZWVuY29kaW5nIGZrbWFwIGZvbGRlbmFibGUgZm9sZG1pbmxpbmVzIGZvcm1hdHByZyBnZGVmYXVsdCBncCBndWlmb250c2V0IGhlbHBmaWxlIGhpZGRlbiBobCBpZ25vcmVjYXNlIGltZGlzYWJsZSBpbmNsdWRlZXhwciBpbmYgaXNpZGVudCBrZXkgbGFuZ21hcCBsaW5lcyBsbWFwIG1hIG1hdGNodGltZSBtY28gbWwgbW9kZWxpbmUgbW91c2Vmb2N1cyBtb3VzZXRpbWUgbnJmb3JtYXRzIG9mdSBwYXJhIHBkZXYgcGkgcHJldmlld3dpbmRvdyBwcmludG1iZm9udCBxZSByZXZpbnMgcm8gcnVsZXJmb3JtYXQgc2NiIHNjcm9sbG9wdCBzZWxlY3Rpb24gc2hlbGwgc2hlbGx0ZW1wIHNob3J0bWVzcyBzaG93bW9kZSBzaXNvIHNtYXJ0dGFiIHNvbCBzcGVsbGxhbmcgc3ByIHNzb3Agc3RsIHN1ZmZpeGVzYWRkIHN3aXRjaGJ1ZiB0YSB0YWdsZW5ndGggdGJpIHRlcm1iaWRpIHRmIHRpdGxlIHRvIHRzIHR0eSB0dHl0eXBlIHVwZGF0ZWNvdW50IHZlIHZpZXdvcHRpb25zIHdhayB3ZWlyZGludmVydCB3aWcgd2lsZG9wdGlvbnMgd2luaGVpZ2h0IHdtIHdyYXBtYXJnaW4gd3MKLXN5biBrZXl3b3JkIHZpbU9wdGlvbiBjb250YWluZWQJYWxsb3dyZXZpbnMgYXJhYiBhdXRvcmVhZCBiYWNrdXAgYmFsbG9vbmV4cHIgYmggYmwgYnNrIGNjdiBjaGFyY29udmVydCBjaW5vcHRpb25zIGNtcyBjb21wbGV0ZSBjb3QgY3Njb3BlcXVpY2tmaXggY3N0IGN3aCBkZyBkaXAgZWFkaXJlY3Rpb24gZWsgZXF1YWxwcmcgZXggZmRpIGZlbiBmaWxlZW5jb2RpbmdzIGZscCBmb2xkZXhwciBmb2xkbmVzdG1heCBmcCBnZm0gZ3JlcGZvcm1hdCBndWlmb250d2lkZSBoZWxwaGVpZ2h0IGhpZ2hsaWdodCBobGcgaW0gaW1pIGluY3NlYXJjaCBpbmZlcmNhc2UgaXNrIGtleW1hcCBsYW5nbWVudSBsaW5lc3BhY2UgbG9hZHBsdWdpbnMgbWFjYXRzdWkgbWF4Y29tYmluZSBtZWYgbWxzIG1vZGVsaW5lcyBtb3VzZWhpZGUgbXAgbnUgb21uaWZ1bmMgcGFyYWdyYXBocyBwZW5jIHBtIHByaW50ZGV2aWNlIHByaW50b3B0aW9ucyBxdW90ZWVzY2FwZSByaSBycyBydW50aW1lcGF0aCBzY3Igc2NzIHNlbGVjdG1vZGUgc2hlbGxjbWRmbGFnIHNoZWxsdHlwZSBzaG9ydG5hbWUgc2hvd3RhYmxpbmUgc2ogc21jIHNwIHNwZWxsc3VnZ2VzdCBzcHMgc3Qgc3RtcCBzdyBzd3MgdGFibGluZSB0YWdyZWxhdGl2ZSB0YmlkaSB0ZXJtZW5jb2RpbmcgdGdzdCB0aXRsZWxlbiB0b29sYmFyIHRzbCB0dHlidWlsdGluIHR3IHVwZGF0ZXRpbWUgdmVyYm9zZSB2aW1pbmZvIHdhcm4gd2ZoIHdpbGRjaGFyIHdpbSB3aW5taW5oZWlnaHQgd21oIHdyYXBzY2FuIHd3Ci1zeW4ga2V5d29yZCB2aW1PcHRpb24gY29udGFpbmVkCWFsdGtleW1hcCBhcmFiaWMgYXV0b3dyaXRlIGJhY2t1cGNvcHkgYmRpciBiaW4gYm9tYiBidCBjZCBjaSBjaW53IGNvIGNvbXBsZXRlZnVuYyBjcCBjc2NvcGV0YWcgY3N0byBkZWJ1ZyBkaWN0IGRpciBlYiBlbmMgZXJyb3JiZWxscyBleHBhbmR0YWIgZmRsIGZlbmMgZmlsZWZvcm1hdCBmbWwgZm9sZGlnbm9yZSBmb2xkb3BlbiBmcyBnZm4gZ3JlcHByZyBndWloZWFkcm9vbSBoZWxwbGFuZyBoaXN0b3J5IGhscyBpbWFjdGl2YXRla2V5IGltaW5zZXJ0IGluZGUgaW5zZXJ0bW9kZSBpc2tleXdvcmQga2V5bW9kZWwgbGFzdHN0YXR1cyBsaXNwIGxwbCBtYWdpYyBtYXhmdW5jZGVwdGggbWVudWl0ZW1zIG1tIG1vZGlmaWFibGUgbW91c2VtIG1wcyBudW1iZXIgb3BlbmRldmljZSBwYXN0ZSBwZXggcG1iY3MgcHJpbnRlbmNvZGluZyBwcm9tcHQgCitzeW4ga2V5d29yZCB2aW1PcHRpb24gY29udGFpbmVkCWFpIGFtYncgYXJpIGF3IGJhY2t1cGV4dCBiZXZhbCBiaW9zayBicmsgYnVmbGlzdGVkIGNlZGl0IGNpbmRlbnQgY2xpcGJvYXJkIGNvbSBjb25maXJtIGNwb3B0aW9ucyBjc2NvcGV2ZXJib3NlIGN1YyBkZWYgZGlmZiBkaXNwbGF5IGVkY29tcGF0aWJsZSBlbmRvZmxpbmUgZXJyb3Jmb3JtYXQgZmNsIGZkbSBmZXggZmlsZXR5cGUgZm8gZm9sZGxldmVsc3RhcnQgZm9ybWF0ZXhwciBmdCBnZncgZ3R0IGd1aXB0eSBoaCBoa21hcCBpYyBpbWMgaW1zZWFyY2ggaW5kZW50a2V5cyBpc2YgaXNwcmludCBrbSBsYnIgbGlzdCBsc3AgbWFrZXByZyBtYXhtZW0gbWggbW1wIG1vcmUgbW91c2VzIG16cSBudXcgb3BmdW5jIHBhdGNoZXhwciBwZm4gcG9wdCBwcmludGZvbnQgcHVtaGVpZ2h0IHJlZHJhd3RpbWUgcmlnaHRsZWZ0Y21kIHJ1IHNibyBzY3JvbGxiaW5kIHNlY3Rpb25zIHNmdCBzaGVsbHF1b3RlIHNoaWZ0cm91bmQgc2hvd2NtZCBzaSBzbSBzbiBzcGVsbCBzcGwgc3JyIHN0YWwgc3Ugc3dhcHN5bmMgc3luIHRhYnN0b3AgdGFnc3RhY2sgdGJzIHRleHRhdXRvIHRpbGRlb3AgdGl0bGVzdHJpbmcgdG9wIHR0aW1lb3V0IHR0eW0gdWMgdmIgdmZpbGUgdmlzdWFsYmVsbCB3YyB3aCB3aWxkaWdub3JlIHdpbmRvdyB3aW53aWR0aCB3bXcgd3JpdGVhbnkKK3N5biBrZXl3b3JkIHZpbU9wdGlvbiBjb250YWluZWQJYWttIGFudGkgYXJzaGFwZSBhd2EgYmFja3Vwc2tpcCBiZXggYmlvc2tleSBicm93c2VkaXIgYnVmdHlwZSBjZiBjaW5rIGNtZGhlaWdodCBjb21tZW50cyBjb25zayBjcHQgY3NwYyBjdWwgZGVmaW5lIGRpZmZleHByIGR5IGVmIGVvbCBlc2NrZXlzIGZjcyBmZG4gZmYgZmlsbGNoYXJzIGZvbGRjbG9zZSBmb2xkbWFya2VyIGZvcm1hdGxpc3RwYXQgZ2NyIGdociBndWljdXJzb3IgZ3VpdGFibGFiZWwgaGkgaGttYXBwIGljb24gaW1jbWRsaW5lIGluYyBpbmRrIGlzZm5hbWUgam9pbnNwYWNlcyBrbXAgbGNzIGxpc3RjaGFycyBsdyBtYXQgbWF4bWVtcGF0dGVybiBtaXMgbW10IG1vdXNlIG1vdXNlc2hhcGUgbXpxdWFudHVtIG9kZXYgb3NmaWxldHlwZSBwYXRjaG1vZGUgcGggcHJlc2VydmVpbmRlbnQgcHJpbnRoZWFkZXIgcHZoIHJlbWFwIHJsIHJ1ZiBzYnIgc2Nyb2xsanVtcCBzZWN1cmUgc2ggc2hlbGxyZWRpciBzaGlmdHdpZHRoIHNob3dmdWxsdGFnIHNpZGVzY3JvbGwgc21hcnRjYXNlIHNvIHNwZWxsY2FwY2hlY2sgc3BsaXRiZWxvdyBzcyBzdGFydG9mbGluZSBzdWEgc3diIHN5bm1heGNvbCB0YWcgdGFsIHRlbmMgdGV4dG1vZGUgdGltZW91dCB0bCB0cG0gdHRpbWVvdXRsZW4gdHR5bW91c2UgdWwgdmJzIHZpIHZvcCB3Y20gd2hpY2h3cmFwIHdpbGRtZW51IHdpbmZpeGhlaWdodCB3aXYgd29wIHdyaXRlYmFja3VwCitzeW4ga2V5d29yZCB2aW1PcHRpb24gY29udGFpbmVkCWFsIGFudGlhbGlhcyBhdXRvY2hkaXIgYmFja2dyb3VuZCBiYWxsb29uZGVsYXkgYmV4cHIgYmsgYnMgY2FzZW1hcCBjZnUgY2lua2V5cyBjbWR3aW5oZWlnaHQgY29tbWVudHN0cmluZyBjb25za2V5IGNzY29wZXBhdGhjb21wIGNzcHJnIGN1cnNvcmNvbHVtbiBkZWxjb21iaW5lIGRpZmZvcHQgZWEgZWZtIGVwIGV0IGZkYyBmZG8gZmZzIGZrIGZvbGRjb2x1bW4gZm9sZG1ldGhvZCBmb3JtYXRvcHRpb25zIGdkIGdvIGd1aWZvbnQgZ3VpdGFidG9vbHRpcCBoaWQgaGtwIGljb25zdHJpbmcgaW1kIGluY2x1ZGUgaW5leCBpc2kganMga3AgbGluZWJyZWFrIGxtIGx6IG1hdGNocGFpcnMgbWF4bWVtdG90IG1rc3BlbGxtZW0gbW9kIG1vdXNlZiBtb3VzZXQgbmYgb2Z0IHBhIHBhdGggcGhlYWRlciBwcmV2aWV3aGVpZ2h0IHByaW50bWJjaGFyc2V0IHB2dyByZXBvcnQgcmxjIHJ1bGVyIHNjIHNjcm9sbG9mZiBzZWwgc2hjZiBzaGVsbHNsYXNoIHNobSBzaG93bWF0Y2ggc2lkZXNjcm9sbG9mZiBzbWFydGluZGVudCBzb2Z0dGFic3RvcCBzcGVsbGZpbGUgc3BsaXRyaWdodCBzc2wgc3RhdHVzbGluZSBzdWZmaXhlcyBzd2Ygc3ludGF4IHRhZ2JzZWFyY2ggdGIgdGVybSB0ZXh0d2lkdGggdGltZW91dGxlbiB0bSB0ciB0dG0gdHR5c2Nyb2xsIHVuZG9sZXZlbHMgdmRpciB2aWV3ZGlyIHdhIHdkIHdpIHdpbGRtb2RlIHdpbmZpeHdpZHRoIHdpdyB3cmFwIHdyaXRlZGVsYXkKK3N5biBrZXl3b3JkIHZpbU9wdGlvbiBjb250YWluZWQJYWxlcGggYXIgYXV0b2luZGVudCBiYWNrc3BhY2UgYmFsbG9vbmV2YWwgYmcgYmtjIGJzZGlyIGNiIGNoIGNpbm8gY21wIGNvbXBhdGlibGUgY29weWluZGVudCBjc2NvcGVwcmcgY3NxZiBjdXJzb3JsaW5lIGRleCBkaWdyYXBoIGVhZCBlaSBlcXVhbGFsd2F5cyBldmVudGlnbm9yZSBmZGUgZmR0IGZpbGVlbmNvZGluZyBma21hcCBmb2xkZW5hYmxlIGZvbGRtaW5saW5lcyBmb3JtYXRwcmcgZ2RlZmF1bHQgZ3AgZ3VpZm9udHNldCBoZWxwZmlsZSBoaWRkZW4gaGwgaWdub3JlY2FzZSBpbWRpc2FibGUgaW5jbHVkZWV4cHIgaW5mIGlzaWRlbnQga2V5IGxhbmdtYXAgbGluZXMgbG1hcCBtYSBtYXRjaHRpbWUgbWNvIG1sIG1vZGVsaW5lIG1vdXNlZm9jdXMgbW91c2V0aW1lIG5yZm9ybWF0cyBvZnUgcGFyYSBwZGV2IHBpIHByZXZpZXd3aW5kb3cgcHJpbnRtYmZvbnQgcWUgcmVzdG9yZXNjcmVlbiBybyBydWxlcmZvcm1hdCBzY2Igc2Nyb2xsb3B0IHNlbGVjdGlvbiBzaGVsbCBzaGVsbHRlbXAgc2hvcnRtZXNzIHNob3dtb2RlIHNpc28gc21hcnR0YWIgc29sIHNwZWxsbGFuZyBzcHIgc3NvcCBzdGwgc3VmZml4ZXNhZGQgc3dpdGNoYnVmIHRhIHRhZ2xlbmd0aCB0YmkgdGVybWJpZGkgdGYgdGl0bGUgdG8gdHMgdHR5IHR0eXR5cGUgdXBkYXRlY291bnQgdmUgdmlld29wdGlvbnMgd2FrIHdlaXJkaW52ZXJ0IHdpZyB3aWxkb3B0aW9ucyB3aW5oZWlnaHQgd20gd3JhcG1hcmdpbiB3cworc3luIGtleXdvcmQgdmltT3B0aW9uIGNvbnRhaW5lZAlhbGxvd3JldmlucyBhcmFiIGF1dG9yZWFkIGJhY2t1cCBiYWxsb29uZXhwciBiaCBibCBic2sgY2N2IGNoYXJjb252ZXJ0IGNpbm9wdGlvbnMgY21zIGNvbXBsZXRlIGNvdCBjc2NvcGVxdWlja2ZpeCBjc3QgY3doIGRnIGRpcCBlYWRpcmVjdGlvbiBlayBlcXVhbHByZyBleCBmZGkgZmVuIGZpbGVlbmNvZGluZ3MgZmxwIGZvbGRleHByIGZvbGRuZXN0bWF4IGZwIGdmbSBncmVwZm9ybWF0IGd1aWZvbnR3aWRlIGhlbHBoZWlnaHQgaGlnaGxpZ2h0IGhsZyBpbSBpbWkgaW5jc2VhcmNoIGluZmVyY2FzZSBpc2sga2V5bWFwIGxhbmdtZW51IGxpbmVzcGFjZSBsb2FkcGx1Z2lucyBtYWNhdHN1aSBtYXhjb21iaW5lIG1lZiBtbHMgbW9kZWxpbmVzIG1vdXNlaGlkZSBtcCBudSBvbW5pZnVuYyBwYXJhZ3JhcGhzIHBlbmMgcG0gcHJpbnRkZXZpY2UgcHJpbnRvcHRpb25zIHF1b3RlZXNjYXBlIHJldmlucyBycyBydW50aW1lcGF0aCBzY3Igc2NzIHNlbGVjdG1vZGUgc2hlbGxjbWRmbGFnIHNoZWxsdHlwZSBzaG9ydG5hbWUgc2hvd3RhYmxpbmUgc2ogc21jIHNwIHNwZWxsc3VnZ2VzdCBzcHMgc3Qgc3RtcCBzdyBzd3MgdGFibGluZSB0YWdyZWxhdGl2ZSB0YmlkaSB0ZXJtZW5jb2RpbmcgdGdzdCB0aXRsZWxlbiB0b29sYmFyIHRzbCB0dHlidWlsdGluIHR3IHVwZGF0ZXRpbWUgdmVyYm9zZSB2aW1pbmZvIHdhcm4gd2ZoIHdpbGRjaGFyIHdpbSB3aW5taW5oZWlnaHQgd21oIHdyYXBzY2FuIHd3CitzeW4ga2V5d29yZCB2aW1PcHRpb24gY29udGFpbmVkCWFsdGtleW1hcCBhcmFiaWMgYXV0b3dyaXRlIGJhY2t1cGNvcHkgYmRpciBiaW4gYm9tYiBidCBjZCBjaSBjaW53IGNvIGNvbXBsZXRlZnVuYyBjcCBjc2NvcGV0YWcgY3N0byBkZWJ1ZyBkaWN0IGRpciBlYiBlbmMgZXJyb3JiZWxscyBleHBhbmR0YWIgZmRsIGZlbmMgZmlsZWZvcm1hdCBmbWwgZm9sZGlnbm9yZSBmb2xkb3BlbiBmcyBnZm4gZ3JlcHByZyBndWloZWFkcm9vbSBoZWxwbGFuZyBoaXN0b3J5IGhscyBpbWFjdGl2YXRla2V5IGltaW5zZXJ0IGluZGUgaW5zZXJ0bW9kZSBpc2tleXdvcmQga2V5bW9kZWwgbGFzdHN0YXR1cyBsaXNwIGxwbCBtYWdpYyBtYXhmdW5jZGVwdGggbWVudWl0ZW1zIG1tIG1vZGlmaWFibGUgbW91c2VtIG1wcyBudW1iZXIgb3BlbmRldmljZSBwYXN0ZSBwZXggcG1iY3MgcHJpbnRlbmNvZGluZyBwcm9tcHQgcmR0IHJpIAogCiAiIHZpbU9wdGlvbnM6IFRoZXNlIGFyZSB0aGUgdHVybi1vZmYgc2V0dGluZyB2YXJpYW50cyB7e3syCiBzeW4ga2V5d29yZCB2aW1PcHRpb24gY29udGFpbmVkCW5vYWNkIG5vYWxsb3dyZXZpbnMgbm9hbnRpYWxpYXMgbm9hcmFiaWMgbm9hcnNoYXBlIG5vYXV0b3JlYWQgbm9hdyBub2JhbGxvb25ldmFsIG5vYmluYXJ5IG5vYmsgbm9idWZsaXN0ZWQgbm9jaW4gbm9jb25maXJtIG5vY29weWluZGVudCBub2NzY29wZXZlcmJvc2Ugbm9jdWMgbm9jdXJzb3JsaW5lIG5vZGcgbm9kaXNhYmxlIG5vZWIgbm9lZGNvbXBhdGlibGUgbm9lbmRvZmxpbmUgbm9lcXVhbGFsd2F5cyBub2VzY2tleXMgbm9leCBub2V4cmMgbm9mayBub2ZvbGRlbmFibGUgbm9nZGVmYXVsdCBub2hpZCBub2hrIG5vaGttYXBwIG5vaGxzIG5vaWMgbm9pZ25vcmVjYXNlIG5vaW1jIG5vaW1kIG5vaW5mIG5vaW5zZXJ0bW9kZSBub2pvaW5zcGFjZXMgbm9sYXp5cmVkcmF3IG5vbGluZWJyZWFrIG5vbGlzdCBub2xwbCBub21hIG5vbWFnaWMgbm9tbCBub21vZGVsaW5lIG5vbW9kaWZpZWQgbm9tb3VzZWYgbm9tb3VzZWhpZGUgbm9udW1iZXIgbm9vcGVuZGV2aWNlIG5vcGkgbm9wcmV2aWV3d2luZG93IG5vcHZ3IG5vcmVtYXAgbm9yZXZpbnMgbm9yaWdodGxlZnQgbm9ybCBub3JvIG5vcnUgbm9zYiBub3NjYiBub3NjcyBub3NmdCBub3NoZWxsdGVtcCBub3Nob3J0bmFtZSBub3Nob3dmdWxsdGFnIG5vc2hvd21vZGUgbm9zbSBub3NtYXJ0aW5kZW50IG5vc21kIG5vc29sIG5vc3BsaXRiZWxvdyBub3NwciBub3NzbCBub3N0YXJ0b2ZsaW5lIG5vc3dhcGZpbGUgbm90YSBub3RhZ3JlbGF0aXZlIG5vdGJpIG5vdGJzIG5vdGVyc2Ugbm90ZXh0bW9kZSBub3Rnc3Qgbm90aW1lb3V0IG5vdG8gbm90ciBub3R0eWJ1aWx0aW4gbm90eCBub3Zpc3VhbGJlbGwgbm93YXJuIG5vd2VpcmRpbnZlcnQgbm93Zncgbm93aW5maXhoZWlnaHQgbm93aXYgbm93cmFwIG5vd3JpdGUgbm93cml0ZWJhY2t1cApAQCAtNzAsOSArNzAsOSBAQAogc3luIGNhc2UgbWF0Y2gKIAogIiBGdW5jdGlvbiBOYW1lcyB7e3syCi1zeW4ga2V5d29yZCB2aW1GdW5jTmFtZSBjb250YWluZWQJYWRkIGFyZ2lkeCBicm93c2VkaXIgYnVmbG9hZGVkIGJ1Zndpbm5yIGNhbGwgY2luZGVudCBjb21wbGV0ZSBjb25maXJtIGNzY29wZV9jb25uZWN0aW9uIGRlbGV0ZSBkaWZmX2hsSUQgZXZhbCBleGlzdHMgZXhwcjggZmVlZGtleXMgZmlsZXdyaXRhYmxlIGZpbmRkaXIgZm5hbWVtb2RpZnkgZm9sZGNsb3NlZGVuZCBmb2xkdGV4dCBmb3JlZ3JvdW5kIGdhcmJhZ2Vjb2xsZWN0IGdldGJ1ZmxpbmUgZ2V0Y2hhciBnZXRjbWRsaW5lIGdldGNtZHR5cGUgZ2V0Zm9udG5hbWUgZ2V0ZnNpemUgZ2V0ZnR5cGUgZ2V0bG9jbGlzdCBnZXRwb3MgZ2V0cmVnIGdldHRhYndpbnZhciBnZXR3aW5wb3N5IGdsb2IgaGFzIGhhc2xvY2FsZGlyIGhpc3RhZGQgaGlzdGdldCBobGV4aXN0cyBob3N0bmFtZSBpbmRlbnQgaW5wdXQgaW5wdXRsaXN0IGlucHV0c2F2ZSBpbnNlcnQgaXNsb2NrZWQgam9pbiBsZW4gbGliY2FsbG5yIGxpbmUyYnl0ZSBsb2NhbHRpbWUgbWFwYXJnIG1hdGNoIG1hdGNoYXJnIG1hdGNoZW5kIG1hdGNoc3RyIG1pbiBtb2RlIG5yMmNoYXIgcHJldm5vbmJsYW5rIHB1bXZpc2libGUgcmVhZGZpbGUgcmVsdGltZXN0ciByZW1vdGVfZm9yZWdyb3VuZCByZW1vdGVfcmVhZCByZW1vdmUgcmVwZWF0IHJldmVyc2Ugc2VhcmNoZGVjbCBzZWFyY2hwYWlycG9zIHNlcnZlcjJjbGllbnQgc2V0YnVmdmFyIHNldGxpbmUgc2V0bWF0Y2hlcyBzZXRxZmxpc3Qgc2V0dGFid2ludmFyIHNoZWxsZXNjYXBlIHNvcnQgc3BlbGxiYWR3b3JkIHNwbGl0IHN0cmZ0aW1lIHN0cmluZyBzdHJwYXJ0IHN0cnRyYW5zIHN1YnN0aXR1dGUgc3luSURhdHRyIHN5c3RlbSB0YWJwYWdlbnIgdGFnZmlsZXMgdGVtcG5hbWUgdG91cHBlciB0eXBlIHZpcnRjb2wgd2luYnVmbnIgd2luaGVpZ2h0IHdpbm5yIHdpbnJlc3R2aWV3IHdpbndpZHRoCi1zeW4ga2V5d29yZCB2aW1GdW5jTmFtZSBjb250YWluZWQJYXBwZW5kIGFyZ3YgYnVmZXhpc3RzIGJ1Zm5hbWUgYnl0ZTJsaW5lIGNoYW5nZW5yIGNsZWFybWF0Y2hlcyBjb21wbGV0ZV9hZGQgY29weSBjdXJzb3IgZGlkX2ZpbGV0eXBlIGVtcHR5IGV2ZW50aGFuZGxlciBleHBhbmQgZXh0ZW5kIGZpbGVyZWFkYWJsZSBmaWx0ZXIgZmluZGZpbGUgZm9sZGNsb3NlZCBmb2xkbGV2ZWwgZm9sZHRleHRyZXN1bHQgZnVuY3Rpb24gZ2V0IGdldGJ1ZnZhciBnZXRjaGFybW9kIGdldGNtZHBvcyBnZXRjd2QgZ2V0ZnBlcm0gZ2V0ZnRpbWUgZ2V0bGluZSBnZXRtYXRjaGVzIGdldHFmbGlzdCBnZXRyZWd0eXBlIGdldHdpbnBvc3ggZ2V0d2ludmFyIGdsb2JwYXRoIGhhc19rZXkgaGFzbWFwdG8gaGlzdGRlbCBoaXN0bnIgaGxJRCBpY29udiBpbmRleCBpbnB1dGRpYWxvZyBpbnB1dHJlc3RvcmUgaW5wdXRzZWNyZXQgaXNkaXJlY3RvcnkgaXRlbXMga2V5cyBsaWJjYWxsIGxpbmUgbGlzcGluZGVudCBtYXAgbWFwY2hlY2sgbWF0Y2hhZGQgbWF0Y2hkZWxldGUgbWF0Y2hsaXN0IG1heCBta2RpciBuZXh0bm9uYmxhbmsgcGF0aHNob3J0ZW4gcHJpbnRmIHJhbmdlIHJlbHRpbWUgcmVtb3RlX2V4cHIgcmVtb3RlX3BlZWsgcmVtb3RlX3NlbmQgcmVuYW1lIHJlc29sdmUgc2VhcmNoIHNlYXJjaHBhaXIgc2VhcmNocG9zIHNlcnZlcmxpc3Qgc2V0Y21kcG9zIHNldGxvY2xpc3Qgc2V0cG9zIHNldHJlZyBzZXR3aW52YXIgc2ltcGxpZnkgc291bmRmb2xkIHNwZWxsc3VnZ2VzdCBzdHIybnIgc3RyaWR4IHN0cmxlbiBzdHJyaWR4IHN1Ym1hdGNoIHN5bklEIHN5bklEdHJhbnMgdGFicGFnZWJ1Zmxpc3QgdGFicGFnZXdpbm5yIHRhZ2xpc3QgdG9sb3dlciB0ciB2YWx1ZXMgdmlzdWFsbW9kZSB3aW5jb2wgd2lubGluZSB3aW5yZXN0Y21kIHdpbnNhdmV2aWV3IHdyaXRlZmlsZQotc3luIGtleXdvcmQgdmltRnVuY05hbWUgY29udGFpbmVkCWFyZ2MgYnJvd3NlIGJ1Zmxpc3RlZCBidWZuciBieXRlaWR4IGNoYXIybnIgY29sIGNvbXBsZXRlX2NoZWNrIGNvdW50IGRlZXBjb3B5IGRpZmZfZmlsbGVyIGVzY2FwZSBleGVjdXRhYmxlIAorc3luIGtleXdvcmQgdmltRnVuY05hbWUgY29udGFpbmVkCWFicyBhcmdjIGF0YW4gYnVmZXhpc3RzIGJ1Zm5hbWUgYnl0ZTJsaW5lIGNlaWwgY2luZGVudCBjb21wbGV0ZSBjb25maXJtIGNvdW50IGRlZXBjb3B5IGRpZmZfZmlsbGVyIGVzY2FwZSBleGVjdXRhYmxlIGV4cHI4IGZpbGVyZWFkYWJsZSBmaW5kZGlyIGZsb29yIGZvbGRjbG9zZWQgZm9sZHRleHQgZnVuY3Rpb24gZ2V0YnVmbGluZSBnZXRjaGFybW9kIGdldGNtZHR5cGUgZ2V0ZnBlcm0gZ2V0ZnR5cGUgZ2V0bWF0Y2hlcyBnZXRxZmxpc3QgZ2V0dGFid2ludmFyIGdldHdpbnBvc3kgZ2xvYiBoYXMgaGFzbG9jYWxkaXIgaGlzdGFkZCBoaXN0Z2V0IGhsZXhpc3RzIGhvc3RuYW1lIGluZGVudCBpbnB1dCBpbnB1dGxpc3QgaW5wdXRzYXZlIGluc2VydCBpc2xvY2tlZCBqb2luIGxlbiBsaWJjYWxsbnIgbGluZTJieXRlIGxvY2FsdGltZSBtYXAgbWFwY2hlY2sgbWF0Y2hhZGQgbWF0Y2hkZWxldGUgbWF0Y2hsaXN0IG1heCBta2RpciBuZXh0bm9uYmxhbmsgcGF0aHNob3J0ZW4gcHJldm5vbmJsYW5rIHB1bXZpc2libGUgcmVhZGZpbGUgcmVsdGltZXN0ciByZW1vdGVfZm9yZWdyb3VuZCByZW1vdGVfcmVhZCByZW1vdmUgcmVwZWF0IHJldmVyc2Ugc2VhcmNoIHNlYXJjaHBhaXIgc2VhcmNocG9zIHNlcnZlcmxpc3Qgc2V0Y21kcG9zIHNldGxvY2xpc3Qgc2V0cG9zIHNldHJlZyBzZXR3aW52YXIgc2ltcGxpZnkgc29ydCBzcGVsbGJhZHdvcmQgc3BsaXQgc3RyMmZsb2F0IHN0cmZ0aW1lIHN0cmluZyBzdHJwYXJ0IHN0cnRyYW5zIHN1YnN0aXR1dGUgc3luSURhdHRyIHN5bnN0YWNrIHRhYnBhZ2VidWZsaXN0IHRhYnBhZ2V3aW5uciB0YWdsaXN0IHRvbG93ZXIgdHIgdHlwZSB2aXJ0Y29sIHdpbmJ1Zm5yIHdpbmhlaWdodCB3aW5uciB3aW5yZXN0dmlldyB3aW53aWR0aAorc3luIGtleXdvcmQgdmltRnVuY05hbWUgY29udGFpbmVkCWFkZCBhcmdpZHggYnJvd3NlIGJ1Zmxpc3RlZCBidWZuciBieXRlaWR4IGNoYW5nZW5yIGNsZWFybWF0Y2hlcyBjb21wbGV0ZV9hZGQgY29weSBjc2NvcGVfY29ubmVjdGlvbiBkZWxldGUgZGlmZl9obElEIGV2YWwgZXhpc3RzIGV4dGVuZCBmaWxld3JpdGFibGUgZmluZGZpbGUgZm5hbWVlc2NhcGUgZm9sZGNsb3NlZGVuZCBmb2xkdGV4dHJlc3VsdCBnYXJiYWdlY29sbGVjdCBnZXRidWZ2YXIgZ2V0Y21kbGluZSBnZXRjd2QgZ2V0ZnNpemUgZ2V0bGluZSBnZXRwaWQgZ2V0cmVnIGdldHdpbnBvc3ggZ2V0d2ludmFyIGdsb2JwYXRoIGhhc19rZXkgaGFzbWFwdG8gaGlzdGRlbCBoaXN0bnIgaGxJRCBpY29udiBpbmRleCBpbnB1dGRpYWxvZyBpbnB1dHJlc3RvcmUgaW5wdXRzZWNyZXQgaXNkaXJlY3RvcnkgaXRlbXMga2V5cyBsaWJjYWxsIGxpbmUgbGlzcGluZGVudCBsb2cxMCBtYXBhcmcgbWF0Y2ggbWF0Y2hhcmcgbWF0Y2hlbmQgbWF0Y2hzdHIgbWluIG1vZGUgbnIyY2hhciBwb3cgcHJpbnRmIHJhbmdlIHJlbHRpbWUgcmVtb3RlX2V4cHIgcmVtb3RlX3BlZWsgcmVtb3RlX3NlbmQgcmVuYW1lIHJlc29sdmUgcm91bmQgc2VhcmNoZGVjbCBzZWFyY2hwYWlycG9zIHNlcnZlcjJjbGllbnQgc2V0YnVmdmFyIHNldGxpbmUgc2V0bWF0Y2hlcyBzZXRxZmxpc3Qgc2V0dGFid2ludmFyIHNoZWxsZXNjYXBlIHNpbiBzb3VuZGZvbGQgc3BlbGxzdWdnZXN0IHNxcnQgc3RyMm5yIHN0cmlkeCBzdHJsZW4gc3RycmlkeCBzdWJtYXRjaCBzeW5JRCBzeW5JRHRyYW5zIHN5c3RlbSB0YWJwYWdlbnIgdGFnZmlsZXMgdGVtcG5hbWUgdG91cHBlciB0cnVuYyB2YWx1ZXMgdmlzdWFsbW9kZSB3aW5jb2wgd2lubGluZSB3aW5yZXN0Y21kIHdpbnNhdmV2aWV3IHdyaXRlZmlsZQorc3luIGtleXdvcmQgdmltRnVuY05hbWUgY29udGFpbmVkCWFwcGVuZCBhcmd2IGJyb3dzZWRpciBidWZsb2FkZWQgYnVmd2lubnIgY2FsbCBjaGFyMm5yIGNvbCBjb21wbGV0ZV9jaGVjayBjb3MgY3Vyc29yIGRpZF9maWxldHlwZSBlbXB0eSBldmVudGhhbmRsZXIgZXhwYW5kIGZlZWRrZXlzIGZpbHRlciBmbG9hdDJuciBmbmFtZW1vZGlmeSBmb2xkbGV2ZWwgZm9yZWdyb3VuZCBnZXQgZ2V0Y2hhciBnZXRjbWRwb3MgZ2V0Zm9udG5hbWUgZ2V0ZnRpbWUgZ2V0bG9jbGlzdCBnZXRwb3MgZ2V0cmVndHlwZSAKIAogIi0tLSBzeW50YXggYWJvdmUgZ2VuZXJhdGVkIGJ5IG1rdmltdmltIC0tLQogIiBTcGVjaWFsIFZpbSBIaWdobGlnaHRpbmcgKG5vdCBhdXRvbWF0aWMpIHt7ezEKQEAgLTE1Nyw3ICsxNTcsNyBAQAogaWYgIWV4aXN0cygiZzp2aW1zeW5fbm9lcnJvciIpCiAgc3luIG1hdGNoICAgdmltRnVuY3Rpb25FcnJvcgkiXDxmdVwlW25jdGlvbl0hXD1cc1wrXHpzXFVcaVx7LX1cemVccyooIiAgICAgICAgICAgICAgICAJY29udGFpbnM9dmltRnVuY0tleSx2aW1GdW5jQmxhbmsgbmV4dGdyb3VwPXZpbUZ1bmNCb2R5CiBlbmRpZgotc3luIG1hdGNoICAgdmltRnVuY3Rpb24JIlw8ZnVcJVtuY3Rpb25dIVw9XHNcK1woXCg8W3NTXVtpSV1bZERdPlx8W1NzXTpcfFx1XHxcaVwrI1wpXGkqXHxnOlwoXElcaSpcLlwpXCtcSVxpKlwpXHplXHMqKCIJY29udGFpbnM9QHZpbUZ1bmNMaXN0IG5leHRncm91cD12aW1GdW5jQm9keQorc3luIG1hdGNoICAgdmltRnVuY3Rpb24JIlw8ZnVcJVtuY3Rpb25dIVw9XHNcK1woXCg8W3NTXVtpSV1bZERdPlx8W1NzXTpcfFx1XHxcaVwrI1wpXGkqXHxcKGc6XClcPVwoXElcaSpcLlwpXCtcSVxpKlwpXHplXHMqKCIJY29udGFpbnM9QHZpbUZ1bmNMaXN0IG5leHRncm91cD12aW1GdW5jQm9keQogaWYgZXhpc3RzKCJnOnZpbXN5bl9mb2xkaW5nIikgJiYgZzp2aW1zeW5fZm9sZGluZyA9fiAnZicKICBzeW4gcmVnaW9uICB2aW1GdW5jQm9keSAgY29udGFpbmVkCWZvbGQgc3RhcnQ9Ilx6ZSgiCW1hdGNoZ3JvdXA9dmltQ29tbWFuZCBlbmQ9Ilw8XChlbmRmXD5cfGVuZGZ1XCVbbmN0aW9uXVw+XCkiCQljb250YWlucz1AdmltRnVuY0JvZHlMaXN0CiBlbHNlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIApAQCAtNTQ3LDYgKzU0Nyw5IEBACiAgIHN5biByZWdpb24gdmltUGVybFJlZ2lvbiBtYXRjaGdyb3VwPXZpbVNjcmlwdERlbGltIHN0YXJ0PStwZVwlW3JsXVxzKjw8XHMqXHooLipcKSQrIGVuZD0rXlx6MSQrIGNvbnRhaW5zPUB2aW1QZXJsU2NyaXB0CiAgIHN5biByZWdpb24gdmltUGVybFJlZ2lvbiBtYXRjaGdyb3VwPXZpbVNjcmlwdERlbGltIHN0YXJ0PStwZVwlW3JsXVxzKjw8XHMqJCsgZW5kPStcLiQrIGNvbnRhaW5zPUB2aW1QZXJsU2NyaXB0CiAgZW5kaWYKK2Vsc2UKKyBzeW4gcmVnaW9uIHZpbUVtYmVkRXJyb3Igc3RhcnQ9K3BlXCVbcmxdXHMqPDxccypceiguKlwpJCsgZW5kPSteXHoxJCsKKyBzeW4gcmVnaW9uIHZpbUVtYmVkRXJyb3Igc3RhcnQ9K3BlXCVbcmxdXHMqPDxccyokKyBlbmQ9K1wuJCsKIGVuZGlmCiAKICIgWy0tIHJ1YnkgLS1dIHt7ezMKQEAgLTU1Niw5ICs1NTksMTIgQEAKICBpZiBleGlzdHMoImc6dmltc3luX2ZvbGRpbmciKSAmJiBnOnZpbXN5bl9mb2xkaW5nID1+ICdyJwogICBzeW4gcmVnaW9uIHZpbVJ1YnlSZWdpb24gZm9sZCBtYXRjaGdyb3VwPXZpbVNjcmlwdERlbGltIHN0YXJ0PStydWJbeV1ccyo8PFxzKlx6KC4qXCkkKyBlbmQ9K15cejEkKyBjb250YWlucz1AdmltUnVieVNjcmlwdAogIGVsc2UKLSAgc3luIHJlZ2lvbiB2aW1SdWJ5UmVnaW9uIGZvbGQgbWF0Y2hncm91cD12aW1TY3JpcHREZWxpbSBzdGFydD0rcnViW3ldXHMqPDxccypceiguKlwpJCsgZW5kPSteXHoxJCsgY29udGFpbnM9QHZpbVJ1YnlTY3JpcHQKKyAgc3luIHJlZ2lvbiB2aW1SdWJ5UmVnaW9uIG1hdGNoZ3JvdXA9dmltU2NyaXB0RGVsaW0gc3RhcnQ9K3J1Ylt5XVxzKjw8XHMqXHooLipcKSQrIGVuZD0rXlx6MSQrIGNvbnRhaW5zPUB2aW1SdWJ5U2NyaXB0CiAgZW5kaWYKICBzeW4gcmVnaW9uIHZpbVJ1YnlSZWdpb24gbWF0Y2hncm91cD12aW1TY3JpcHREZWxpbSBzdGFydD0rcnViW3ldXHMqPDxccyokKyBlbmQ9K1wuJCsgY29udGFpbnM9QHZpbVJ1YnlTY3JpcHQKK2Vsc2UKKyBzeW4gcmVnaW9uIHZpbUVtYmVkRXJyb3Igc3RhcnQ9K3J1Ylt5XVxzKjw8XHMqXHooLipcKSQrIGVuZD0rXlx6MSQrCisgc3luIHJlZ2lvbiB2aW1FbWJlZEVycm9yIHN0YXJ0PStydWJbeV1ccyo8PFxzKiQrIGVuZD0rXC4kKwogZW5kaWYKIAogIiBbLS0gcHl0aG9uIC0tXSB7e3szCkBAIC01NzIsNiArNTc4LDkgQEAKICAgc3luIHJlZ2lvbiB2aW1QeXRob25SZWdpb24gbWF0Y2hncm91cD12aW1TY3JpcHREZWxpbSBzdGFydD0rcHlcJVt0aG9uXVxzKjw8XHMqXHooLipcKSQrIGVuZD0rXlx6MSQrIGNvbnRhaW5zPUB2aW1QeXRob25TY3JpcHQKICAgc3luIHJlZ2lvbiB2aW1QeXRob25SZWdpb24gbWF0Y2hncm91cD12aW1TY3JpcHREZWxpbSBzdGFydD0rcHlcJVt0aG9uXVxzKjw8XHMqJCsgZW5kPStcLiQrIGNvbnRhaW5zPUB2aW1QeXRob25TY3JpcHQKICBlbmRpZgorZWxzZQorIHN5biByZWdpb24gdmltRW1iZWRFcnJvciBzdGFydD0rcHlcJVt0aG9uXVxzKjw8XHMqXHooLipcKSQrIGVuZD0rXlx6MSQrCisgc3luIHJlZ2lvbiB2aW1FbWJlZEVycm9yIHN0YXJ0PStweVwlW3Rob25dXHMqPDxccyokKyBlbmQ9K1wuJCsKIGVuZGlmCiAKICIgWy0tIHRjbCAtLV0ge3t7MwpAQCAtNTkzLDYgKzYwMiw5IEBACiAgICBzeW4gcmVnaW9uIHZpbVRjbFJlZ2lvbiBtYXRjaGdyb3VwPXZpbVNjcmlwdERlbGltIHN0YXJ0PSt0Y1tsXVw9XHMqPDxccyokKyBlbmQ9K1wuJCsgY29udGFpbnM9QHZpbVRjbFNjcmlwdAogICBlbmRpZgogIGVuZGlmCitlbHNlCisgc3luIHJlZ2lvbiB2aW1FbWJlZEVycm9yIHN0YXJ0PSt0Y1tsXVw9XHMqPDxccypceiguKlwpJCsgZW5kPSteXHoxJCsKKyBzeW4gcmVnaW9uIHZpbUVtYmVkRXJyb3Igc3RhcnQ9K3RjW2xdXD1ccyo8PFxzKiQrIGVuZD0rXC4kKwogZW5kaWYKIHVubGV0IHRyeXRjbAogCkBAIC02MDIsMTMgKzYxNCwxNiBAQAogIGxldCBpc2tLZWVwPSAmaXNrCiAgc3luIGluY2x1ZGUgQHZpbU16U2NoZW1lU2NyaXB0IDxzZmlsZT46cDpoL3NjaGVtZS52aW0KICBsZXQgJmlzaz0gaXNrS2VlcAotIGlmIGV4aXN0cygiZzp2aW1zeW5fZm9sZGluZyIpICYmIGc6dmltc3luX2ZvbGRpbmcgPX4gJ3QnCisgaWYgZXhpc3RzKCJnOnZpbXN5bl9mb2xkaW5nIikgJiYgZzp2aW1zeW5fZm9sZGluZyA9fiAnbScKICAgc3luIHJlZ2lvbiB2aW1NelNjaGVtZVJlZ2lvbiBmb2xkIG1hdGNoZ3JvdXA9dmltU2NyaXB0RGVsaW0gc3RhcnQ9K216XCVbc2NoZW1lXVxzKjw8XHMqXHooLipcKSQrIGVuZD0rXlx6MSQrIGNvbnRhaW5zPUB2aW1NelNjaGVtZVNjcmlwdAogICBzeW4gcmVnaW9uIHZpbU16U2NoZW1lUmVnaW9uIGZvbGQgbWF0Y2hncm91cD12aW1TY3JpcHREZWxpbSBzdGFydD0rbXpcJVtzY2hlbWVdXHMqPDxccyokKyBlbmQ9K1wuJCsgY29udGFpbnM9QHZpbU16U2NoZW1lU2NyaXB0CiAgZWxzZQogICBzeW4gcmVnaW9uIHZpbU16U2NoZW1lUmVnaW9uIG1hdGNoZ3JvdXA9dmltU2NyaXB0RGVsaW0gc3RhcnQ9K216XCVbc2NoZW1lXVxzKjw8XHMqXHooLipcKSQrIGVuZD0rXlx6MSQrIGNvbnRhaW5zPUB2aW1NelNjaGVtZVNjcmlwdAogICBzeW4gcmVnaW9uIHZpbU16U2NoZW1lUmVnaW9uIG1hdGNoZ3JvdXA9dmltU2NyaXB0RGVsaW0gc3RhcnQ9K216XCVbc2NoZW1lXVxzKjw8XHMqJCsgZW5kPStcLiQrIGNvbnRhaW5zPUB2aW1NelNjaGVtZVNjcmlwdAogIGVuZGlmCitlbHNlCisgc3luIHJlZ2lvbiB2aW1FbWJlZEVycm9yIHN0YXJ0PSttelwlW3NjaGVtZV1ccyo8PFxzKlx6KC4qXCkkKyBlbmQ9K15cejEkKworIHN5biByZWdpb24gdmltRW1iZWRFcnJvciBzdGFydD0rbXpcJVtzY2hlbWVdXHMqPDxccyokKyBlbmQ9K1wuJCsKIGVuZGlmCiAKICIgU3luY2hyb25pemUgKHNwZWVkKSB7e3syCkBAIC02MzUsNiArNjUwLDcgQEAKICBoaSBkZWYgbGluayB2aW1CZWhhdmVFcnJvcgl2aW1FcnJvcgogIGhpIGRlZiBsaW5rIHZpbUNvbGxDbGFzc0Vycgl2aW1FcnJvcgogIGhpIGRlZiBsaW5rIHZpbUVyclNldHRpbmcJdmltRXJyb3IKKyBoaSBkZWYgbGluayB2aW1FbWJlZEVycm9yCXZpbUVycm9yCiAgaGkgZGVmIGxpbmsgdmltRlRFcnJvcgl2aW1FcnJvcgogIGhpIGRlZiBsaW5rIHZpbUZ1bmN0aW9uRXJyb3IJdmltRXJyb3IKICBoaSBkZWYgbGluayB2aW1GdW5jICAgICAgICAgCXZpbUVycm9yCmRpZmYgLS1naXQgYS9ydW50aW1lL3R1dG9yL3R1dG9yLnBsIGIvcnVudGltZS90dXRvci90dXRvci5wbAppbmRleCA3ZjM5ZjM4Li40YWU1MzU1IDEwMDY0NAotLS0gYS9ydW50aW1lL3R1dG9yL3R1dG9yLnBsCisrKyBiL3J1bnRpbWUvdHV0b3IvdHV0b3IucGwKQEAgLTE0MiwxMiArMTQyLDEyIEBACiB+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KIAkJCSAgTGVrY2phIDEuNi46IEVEWUNKQSBQTElLVQogCi0KIAkJICAqKiBVv3lqICA6d3EgIGFieSB6YXBpc2HmIHBsaWsgaSB3eWq25i4gKioKIAogICAgISEgVVdBR0E6IHphbmltIHd5a29uYXN6IGpha2lla29sd2llayBwb2xlY2VuaWEgcHJ6ZWN6eWFqIGNhs7EgbGVrY2rqICEhCiAKICAgMS4gWmFrb/FjeiB0dXRvcmlhbCB0YWsgamFrIHcgbGVrY2ppIDEuMi46ICA6cSEKKyAgICAgTHViIGpltmxpIG1hc3ogZG9zdOpwIGRvIGlubmVnbyB0ZXJtaW5hbGEgenLzYiBrb2xlam5lIGtyb2tpIHRhbS4KIAogICAyLiBXIHBvd7NvY2Ugd3lkYWogcG9sZWNlbmllOiAgdmltIHR1dG9yPEVOVEVSPgogICAgICAidmltIiBqZXN0IHBvbGVjZW5pZW0gdXJ1Y2hhbWlharFjeW0gZWR5dG9yIFZpbS4gJ3R1dG9yJyB0byBuYXp3YSBwbGlrdQpAQCAtMTU3LDExICsxNTcsMTEgQEAKIAogICA0LiBaYXBpc3ogcGxpayB6ZSB6bWlhbmFtaSBpIG9wdbbmIFZpbWE6ICA6d3E8RU5URVI+CiAKLSAgNS4gVXJ1Y2hvbSBwb25vd25pZSB2aW10dXRvciBpIHByemVqZLwgZG8gcG9kc3Vtb3dhbmlhIGxla2NqaS4KKyAgNS4gSmW2bGkgemFrb/FjenmzZbYgdmltdHV0b3IgdyBrcm9rdSAxLiB1cnVjaG9tIGdvIHBvbm93bmllIGkgcHJ6ZWpkvAorICAgICBkbyBwb2RzdW1vd2FuaWEgcG9uab9lai4KIAogICA2LiBQbyBwcnplY3p5dGFuaXUgd3N6eXN0a2ljaCBrcm9r83cgaSBpY2ggenJvenVtaWVuaXU6IHd5a29uYWogamUuCiAKLQogfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CiAJCQkgICAgIExFS0NKQSAxLiBQT0RTVU1PV0FOSUUKIApkaWZmIC0tZ2l0IGEvcnVudGltZS90dXRvci90dXRvci5wbC5jcDEyNTAgYi9ydW50aW1lL3R1dG9yL3R1dG9yLnBsLmNwMTI1MAppbmRleCAyYzYyYjc1Li45ODk3MWQwIDEwMDY0NAotLS0gYS9ydW50aW1lL3R1dG9yL3R1dG9yLnBsLmNwMTI1MAorKysgYi9ydW50aW1lL3R1dG9yL3R1dG9yLnBsLmNwMTI1MApAQCAtMTQyLDEyICsxNDIsMTIgQEAKIH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgogCQkJICBMZWtjamEgMS42LjogRURZQ0pBIFBMSUtVCiAKLQogCQkgICoqIFW/eWogIDp3cSAgYWJ5IHphcGlzYeYgcGxpayBpIHd5apzmLiAqKgogCiAgICAhISBVV0FHQTogemFuaW0gd3lrb25hc3ogamFraWVrb2x3aWVrIHBvbGVjZW5pYSBwcnplY3p5YWogY2GzuSBsZWtjauogISEKIAogICAxLiBaYWtv8WN6IHR1dG9yaWFsIHRhayBqYWsgdyBsZWtjamkgMS4yLjogIDpxIQorICAgICBMdWIgamWcbGkgbWFzeiBkb3N06nAgZG8gaW5uZWdvIHRlcm1pbmFsYSB6cvNiIGtvbGVqbmUga3Jva2kgdGFtLgogCiAgIDIuIFcgcG93s29jZSB3eWRhaiBwb2xlY2VuaWU6ICB2aW0gdHV0b3I8RU5URVI+CiAgICAgICJ2aW0iIGplc3QgcG9sZWNlbmllbSB1cnVjaGFtaWFquWN5bSBlZHl0b3IgVmltLiAndHV0b3InIHRvIG5hendhIHBsaWt1CkBAIC0xNTcsMTEgKzE1NywxMSBAQAogCiAgIDQuIFphcGlzeiBwbGlrIHplIHptaWFuYW1pIGkgb3B1nOYgVmltYTogIDp3cTxFTlRFUj4KIAotICA1LiBVcnVjaG9tIHBvbm93bmllIHZpbXR1dG9yIGkgcHJ6ZWpknyBkbyBwb2RzdW1vd2FuaWEgbGVrY2ppLgorICA1LiBKZZxsaSB6YWtv8WN6ebNlnCB2aW10dXRvciB3IGtyb2t1IDEuIHVydWNob20gZ28gcG9ub3duaWUgaSBwcnplamSfCisgICAgIGRvIHBvZHN1bW93YW5pYSBwb25pv2VqLgogCiAgIDYuIFBvIHByemVjenl0YW5pdSB3c3p5c3RraWNoIGtyb2vzdyBpIGljaCB6cm96dW1pZW5pdTogd3lrb25haiBqZS4KIAotCiB+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KIAkJCSAgICAgTEVLQ0pBIDEuIFBPRFNVTU9XQU5JRQogCmRpZmYgLS1naXQgYS9ydW50aW1lL3R1dG9yL3R1dG9yLnBsLnV0Zi04IGIvcnVudGltZS90dXRvci90dXRvci5wbC51dGYtOAppbmRleCA0NTkwYzQ1Li44OGY5NWQxIDEwMDY0NAotLS0gYS9ydW50aW1lL3R1dG9yL3R1dG9yLnBsLnV0Zi04CisrKyBiL3J1bnRpbWUvdHV0b3IvdHV0b3IucGwudXRmLTgKQEAgLTE0MiwxMiArMTQyLDEyIEBACiB+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KIAkJCSAgTGVrY2phIDEuNi46IEVEWUNKQSBQTElLVQogCi0KIAkJICAqKiBVxbx5aiAgOndxICBhYnkgemFwaXNhxIcgcGxpayBpIHd5asWbxIcuICoqCiAKICAgICEhIFVXQUdBOiB6YW5pbSB3eWtvbmFzeiBqYWtpZWtvbHdpZWsgcG9sZWNlbmlhIHByemVjenlhaiBjYcWCxIUgbGVrY2rEmSAhIQogCiAgIDEuIFpha2/FhGN6IHR1dG9yaWFsIHRhayBqYWsgdyBsZWtjamkgMS4yLjogIDpxIQorICAgICBMdWIgamXFm2xpIG1hc3ogZG9zdMSZcCBkbyBpbm5lZ28gdGVybWluYWxhIHpyw7NiIGtvbGVqbmUga3Jva2kgdGFtLgogCiAgIDIuIFcgcG93xYJvY2Ugd3lkYWogcG9sZWNlbmllOiAgdmltIHR1dG9yPEVOVEVSPgogICAgICAidmltIiBqZXN0IHBvbGVjZW5pZW0gdXJ1Y2hhbWlhasSFY3ltIGVkeXRvciBWaW0uICd0dXRvcicgdG8gbmF6d2EgcGxpa3UKQEAgLTE1NywxMSArMTU3LDExIEBACiAKICAgNC4gWmFwaXN6IHBsaWsgemUgem1pYW5hbWkgaSBvcHXFm8SHIFZpbWE6ICA6d3E8RU5URVI+CiAKLSAgNS4gVXJ1Y2hvbSBwb25vd25pZSB2aW10dXRvciBpIHByemVqZMW6IGRvIHBvZHN1bW93YW5pYSBsZWtjamkuCisgIDUuIEplxZtsaSB6YWtvxYRjennFgmXFmyB2aW10dXRvciB3IGtyb2t1IDEuIHVydWNob20gZ28gcG9ub3duaWUgaSBwcnplamTFugorICAgICBkbyBwb2RzdW1vd2FuaWEgcG9uacW8ZWouCiAKICAgNi4gUG8gcHJ6ZWN6eXRhbml1IHdzenlzdGtpY2gga3Jva8OzdyBpIGljaCB6cm96dW1pZW5pdTogd3lrb25haiBqZS4KIAotCiB+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KIAkJCSAgICAgTEVLQ0pBIDEuIFBPRFNVTU9XQU5JRQogCmRpZmYgLS1naXQgYS9ydW50aW1lL3ZpbXJjX2V4YW1wbGUudmltIGIvcnVudGltZS92aW1yY19leGFtcGxlLnZpbQppbmRleCBhMmE4OTFjLi4yYzBkZTNkIDEwMDY0NAotLS0gYS9ydW50aW1lL3ZpbXJjX2V4YW1wbGUudmltCisrKyBiL3J1bnRpbWUvdmltcmNfZXhhbXBsZS52aW0KQEAgLTEsNyArMSw3IEBACiAiIEFuIGV4YW1wbGUgZm9yIGEgdmltcmMgZmlsZS4KICIKICIgTWFpbnRhaW5lcjoJQnJhbSBNb29sZW5hYXIgPEJyYW1AdmltLm9yZz4KLSIgTGFzdCBjaGFuZ2U6CTIwMDggSnVuIDE2CisiIExhc3QgY2hhbmdlOgkyMDA4IEp1bCAwMgogIgogIiBUbyB1c2UgaXQsIGNvcHkgaXQgdG8KICIgICAgIGZvciBVbml4IGFuZCBPUy8yOiAgfi8udmltcmMKQEAgLTQyLDcgKzQyLDkgQEAKIGlub3JlbWFwIDxDLVU+IDxDLUc+dTxDLVU+CiAKICIgSW4gbWFueSB0ZXJtaW5hbCBlbXVsYXRvcnMgdGhlIG1vdXNlIHdvcmtzIGp1c3QgZmluZSwgdGh1cyBlbmFibGUgaXQuCi1zZXQgbW91c2U9YQoraWYgaGFzKCdtb3VzZScpCisgIHNldCBtb3VzZT1hCitlbmRpZgogCiAiIFN3aXRjaCBzeW50YXggaGlnaGxpZ2h0aW5nIG9uLCB3aGVuIHRoZSB0ZXJtaW5hbCBoYXMgY29sb3JzCiAiIEFsc28gc3dpdGNoIG9uIGhpZ2hsaWdodGluZyB0aGUgbGFzdCB1c2VkIHNlYXJjaCBwYXR0ZXJuLgpkaWZmIC0tZ2l0IGEvc3JjL0d2aW1FeHQvR3ZpbUV4dC5yZWcgYi9zcmMvR3ZpbUV4dC9HdmltRXh0LnJlZwppbmRleCAwMmIxNzQ3Li43Yjc0ODBlIDEwMDY0NAotLS0gYS9zcmMvR3ZpbUV4dC9HdmltRXh0LnJlZworKysgYi9zcmMvR3ZpbUV4dC9HdmltRXh0LnJlZwpAQCAtMTUsNiArMTUsNiBAQAogW0hLRVlfTE9DQUxfTUFDSElORVxTb2Z0d2FyZVxWaW1cR3ZpbV0KICAgICJwYXRoIj0iZ3ZpbS5leGUiCiAKLVtIS0VZX0xPQ0FMX01BQ0hJTkVcU29mdHdhcmVcTWljcm9zb2Z0XFdpbmRvd3NcQ3VycmVudFZlcnNpb25cVW5pbnN0YWxsXFZpbSA3LjJhXQotICAgIkRpc3BsYXlOYW1lIj0iVmltIDcuMmE6IEVkaXQgd2l0aCBWaW0gcG9wdXAgbWVudSBlbnRyeSIKK1tIS0VZX0xPQ0FMX01BQ0hJTkVcU29mdHdhcmVcTWljcm9zb2Z0XFdpbmRvd3NcQ3VycmVudFZlcnNpb25cVW5pbnN0YWxsXFZpbSA3LjJiXQorICAgIkRpc3BsYXlOYW1lIj0iVmltIDcuMmI6IEVkaXQgd2l0aCBWaW0gcG9wdXAgbWVudSBlbnRyeSIKICAgICJVbmluc3RhbGxTdHJpbmciPSJ1bmluc3RhbC5leGUiCmRpZmYgLS1naXQgYS9zcmMvSU5TVEFMTCBiL3NyYy9JTlNUQUxMCmluZGV4IDIxMGQ3NzMuLmE0YTk5MjUgMTAwNjQ0Ci0tLSBhL3NyYy9JTlNUQUxMCisrKyBiL3NyYy9JTlNUQUxMCkBAIC0xNjMsNiArMTYzLDE2IEBACiAJZXhwb3J0IENDPSdjYyAtcG9zaXgnIChzaCkKIEFuZCBydW4gY29uZmlndXJlIHdpdGggIi0tZGlzYWJsZS1tb3RpZi1jaGVjayIuCiAKK1VuaXg6IExPQ0FMIEhFQURFUlMgQU5EIExJQlJBUklFUyBOT1QgSU4gL3Vzci9sb2NhbAorCitTb21ldGltZXMgaXQgaXMgbmVjZXNzYXJ5IHRvIHNlYXJjaCBkaWZmZXJlbnQgcGF0aCB0aGFuIC91c3IvbG9jYWwgZm9yIGxvY2FsbHkKK2luc3RhbGxlZCBoZWFkZXJzICgvdXNyL2xvY2FsL2luY2x1ZGUpIGFuZCBsaWJyYXJpZXMgKC91c3IvbG9jYWwvbGliKS4KK1RvIHNlYXJjaCAvc3RyYW5nZXIvaW5jbHVkZSBhbmQgL3N0cmFuZ2VyL2xpYiBmb3IgbG9jYWxseSBpbnN0YWxsZWQKK2hlYWRlcnMgYW5kIGxpYnJhcmllcywgdXNlOgorCS4vY29uZmlndXJlIC0td2l0aC1sb2NhbC1kaXI9L3N0cmFuZ2VyCitBbmQgdG8gbm90IHNlYXJjaCBmb3IgbG9jYWxseSBpbnN0YWxsZWQgaGVhZGVycyBhbmQgbGlicmFyaWVzIGF0IGFsbCwgdXNlOgorCS4vY29uZmlndXJlIC0td2l0aG91dC1sb2NhbC1kaXIKKwogCiAzLiBSSVNDIE9TCiA9PT09PT09PT09PT09CmRpZmYgLS1naXQgYS9zcmMvSU5TVEFMTHBjLnR4dCBiL3NyYy9JTlNUQUxMcGMudHh0CmluZGV4IGEyZWU5NTQuLjc1NWVhM2IgMTAwNjQ0Ci0tLSBhL3NyYy9JTlNUQUxMcGMudHh0CisrKyBiL3NyYy9JTlNUQUxMcGMudHh0CkBAIC0yNyw3ICsyNyw5IEBACiA4LiBXaW5kb3dzIDMuMQogOS4gTVMtRE9TCiAKLVRoZSBjdXJyZW50bHkgcHJlZmVycmVkIG1ldGhvZCBpcyB1c2luZyB0aGUgZnJlZSBWaXN1YWwgQysrIFRvb2xraXQgMjAwMy4KK1RoZSBjdXJyZW50bHkgcHJlZmVycmVkIG1ldGhvZCBpcyB1c2luZyB0aGUgZnJlZSBWaXN1YWwgQysrIFRvb2xraXQgMjAwOAorfG1zdmMtMjAwOC1leHByZXNzfC4gIElmIHlvdSBuZWVkIHRoZSBleGVjdXRhYmxlIHRvIHJ1biBvbiBXaW5kb3dzIDk4IG9yIE1FLAordXNlIHRoZSAyMDAzIG9uZSB8bXN2Yy0yMDAzLXRvb2xraXR8LgogCiAKIDEuIE1pY3Jvc29mdCBWaXN1YWwgQysrCkBAIC03MSwxMSArNzMsMTYgQEAKIFJvbiBBYXJvbjsgdGhleSBoYXZlIGJlZW4gdGVzdGVkLgogCiAKLVZpc3VhbCBDKysgVG9vbGtpdCAyMDAzCitWaXN1YWwgQysrIFRvb2xraXQgMjAwMwkJCQkqbXN2Yy0yMDAzLXRvb2xraXQqCiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogCi1Zb3UgY2FuIGRvd25sb2FkIHRoZSBNaWNyb3NvZnQgVmlzdWFsIEMrKyBUb29sa2l0IDIwMDMgZnJvbQorWW91IGNvdWxkIGRvd25sb2FkIHRoZSBNaWNyb3NvZnQgVmlzdWFsIEMrKyBUb29sa2l0IDIwMDMgZnJvbQogICAgIGh0dHA6Ly9tc2RuLm1pY3Jvc29mdC5jb20vdmlzdWFsYy92Y3Rvb2xraXQyMDAzLworVW5mb3J0dW5hdGVseSB0aGlzIFVSTCBpcyBubyBsb25nZXIgdmFsaWQuICBJbm9mZmljaWFsIGRvd25sb2FkcyBhcHBlYXIgdG8gYmUKK2F2YWlsYWJsZSBmcm9tIGxpbmtzIG1lbnRpb25lZCBvbiB0aGVzZSBwYWdlcyAodXNlIGF0IHlvdXIgb3duIHJpc2spOgorICAgaHR0cDovL3d3dy5maWxld2F0Y2hlci5jb20vbS9WQ1Rvb2xraXRTZXR1cC5leGUuMzI5NTI0ODguMC4wLmh0bWwKKyAgIGh0dHA6Ly9mZWFyZ2FtZS5uZXQvd2lraS9pbmRleC5waHA/dGl0bGU9QnVpbGRpbmdfU291cmNlX3dpdGhfdGhlX1ZDMjAwM19Ub29sa2l0CisKIFRoaXMgY29udGFpbnMgdGhlIGNvbW1hbmQtbGluZSB0b29scyAoY29tcGlsZXIsIGxpbmtlciwgQ1JUIGhlYWRlcnMsCiBhbmQgbGlicmFyaWVzKSBmb3IgVmlzdWFsIFN0dWRpbyAuTkVUIDIwMDMsIGJ1dCBub3QgdGhlIFZpc3VhbCBTdHVkaW8gSURFLgogVG8gY29tcGlsZSBhbmQgZGVidWcgVmltIHdpdGggdGhlIFZDMjAwMyBUb29sa2l0LCB5b3Ugd2lsbCBhbHNvIG5lZWQKZGlmZiAtLWdpdCBhL3NyYy9NYWtlX212Yy5tYWsgYi9zcmMvTWFrZV9tdmMubWFrCmluZGV4IDE4ZmQzMjcuLmMyNTY3ZDcgMTAwNjQ0Ci0tLSBhL3NyYy9NYWtlX212Yy5tYWsKKysrIGIvc3JjL01ha2VfbXZjLm1hawpAQCAtMTkzLDEwICsxOTMsNiBAQAogQ1BVID0gaTM4NgogIWVuZGlmICMgIVBST0NFU1NPUl9BUkNISVRFQ1RVUkUKIAotIWlmICgiJChDUFUpIiA9PSAiQU1ENjQiKSB8fCAoIiQoQ1BVKSIgPT0gIklBNjQiKQotREVGSU5FUz0kKERFRklORVMpIC9XcDY0Ci0hZW5kaWYKLQogIyBCdWlsZCBhIHJldGFpbCB2ZXJzaW9uIGJ5IGRlZmF1bHQKIAogIWlmICIkKERFQlVHKSIgIT0gInllcyIKQEAgLTIxMSw2ICsyMDcsMTEgQEAKIAogIWluY2x1ZGUgPFdpbjMyLm1haz4KIAorIyBUdXJuIG9uIFdpbjY0IGNvbXBhdGliaWxpdHkgd2FybmluZ3MgZm9yIDMyLWJpdCBjb21waWxlciBpbiBWQzguICgvV3A2NCBpcworIyBkZXByZWNhdGVkIGluIFZDOS4pCishaWYgKCIkKE1TVkNWRVIpIiA9PSAiOC4wIikgCitERUZJTkVTPSQoREVGSU5FUykgL1dwNjQKKyFlbmRpZgogCiAjPj4+Pj4gcGF0aCBvZiB0aGUgY29tcGlsZXIgYW5kIGxpbmtlcjsgbmFtZSBvZiBpbmNsdWRlIGFuZCBsaWIgZGlyZWN0b3JpZXMKICMgUEFUSCA9IGM6XG1zdmMyMFxiaW47JChQQVRIKQpkaWZmIC0tZ2l0IGEvc3JjL01ha2VmaWxlIGIvc3JjL01ha2VmaWxlCmluZGV4IGNjYTJlZWYuLjY5ZjA5MWIgMTAwNjQ0Ci0tLSBhL3NyYy9NYWtlZmlsZQorKysgYi9zcmMvTWFrZWZpbGUKQEAgLTMxMCw2ICszMTAsOCBAQAogI0NPTkZfQVJHUyA9IC0tZXhlYy1wcmVmaXg9L3VzcgogI0NPTkZfQVJHUyA9IC0td2l0aC12aW0tbmFtZT12aW03IC0td2l0aC1leC1uYW1lPWV4NyAtLXdpdGgtdmlldy1uYW1lPXZpZXc3CiAjQ09ORl9BUkdTID0gLS13aXRoLWdsb2JhbC1ydW50aW1lPS9ldGMvdmltCisjQ09ORl9BUkdTID0gLS13aXRoLWxvY2FsLWRpcj0vdXNyL3NoYXJlCisjQ09ORl9BUkdTID0gLS13aXRob3V0LWxvY2FsLWRpcgogCiAjIFVzZSB0aGlzIG9uZSBpZiB5b3UgZGlzdHJpYnV0ZSBhIG1vZGlmaWVkIHZlcnNpb24gb2YgVmltLgogI0NPTkZfQVJHUyA9IC0td2l0aC1tb2RpZmllZC1ieT0iSm9obiBEb2UiCkBAIC04OTksNyArOTAxLDcgQEAKIAogIyMjIFZpbSB2ZXJzaW9uIChhZGp1c3RlZCBieSBhIHNjcmlwdCkKIFZJTU1BSk9SID0gNwotVklNTUlOT1IgPSAyYQorVklNTUlOT1IgPSAyYgogCiAjIyMgTG9jYXRpb24gb2YgVmltIGZpbGVzIChzaG91bGQgbm90IG5lZWQgdG8gYmUgY2hhbmdlZCwgYW5kICB7e3sxCiAjIyMgc29tZSB0aGluZ3MgbWlnaHQgbm90IHdvcmsgd2hlbiB0aGV5IGFyZSBjaGFuZ2VkISkKQEAgLTE3NDIsNyArMTc0NCw3IEBACiAJLWlmIHRlc3QgLW4gIiQoTUFLRU1PKSIgLWEgLWYgJChQT0RJUikvTWFrZWZpbGU7IHRoZW4gXAogCQljZCAkKFBPRElSKTsgJChNQUtFKSAtZiBNYWtlZmlsZSBjaGVjayBWSU09Li4vJChWSU1UQVJHRVQpOyBcCiAJZmkKLQktaWYgdGVzdCAkKFZJTVRBUkdFVCkgIT0gdmltIC1hICEgLWUgdmltOyB0aGVuIFwKKwktaWYgdGVzdCAkKFZJTVRBUkdFVCkgIT0gdmltIC1hICEgLXIgdmltOyB0aGVuIFwKIAkJbG4gLXMgJChWSU1UQVJHRVQpIHZpbTsgXAogCWZpCiAJY2QgdGVzdGRpcjsgJChNQUtFKSAtZiBNYWtlZmlsZSAkKEdVSV9URVNUVEFSR0VUKSBWSU1QUk9HPS4uLyQoVklNVEFSR0VUKSAkKEdVSV9URVNUQVJHKQpkaWZmIC0tZ2l0IGEvc3JjL2F1dG8vY29uZmlndXJlIGIvc3JjL2F1dG8vY29uZmlndXJlCmluZGV4IGNjOTAxNjMuLmJhNjU2MTIgMTAwNzU1Ci0tLSBhL3NyYy9hdXRvL2NvbmZpZ3VyZQorKysgYi9zcmMvYXV0by9jb25maWd1cmUKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvc3JjL2NvbmZpZ3VyZS5pbiBiL3NyYy9jb25maWd1cmUuaW4KaW5kZXggMzVkY2U3Zi4uN2M2NWZhYiAxMDA2NDQKLS0tIGEvc3JjL2NvbmZpZ3VyZS5pbgorKysgYi9zcmMvY29uZmlndXJlLmluCkBAIC0xOTIsMjUgKzE5Miw0MyBAQAogZG5sIEZvciBnY2MgZG9uJ3QgZG8gdGhpcyB3aGVuIGl0IGlzIGFscmVhZHkgaW4gdGhlIGRlZmF1bHQgc2VhcmNoIHBhdGguCiBkbmwgU2tpcCBhbGwgb2YgdGhpcyB3aGVuIGNyb3NzLWNvbXBpbGluZy4KIGlmIHRlc3QgIiRjcm9zc19jb21waWxpbmciID0gbm87IHRoZW4KKyAgQUNfTVNHX0NIRUNLSU5HKC0td2l0aC1sb2NhbC1kaXIgYXJndW1lbnQpCiAgIGhhdmVfbG9jYWxfaW5jbHVkZT0nJwogICBoYXZlX2xvY2FsX2xpYj0nJwotICBpZiB0ZXN0ICIkR0NDIiA9IHllczsgdGhlbgorICBBQ19BUkdfV0lUSChbbG9jYWwtZGlyXSwgWyAgLS13aXRoLWxvY2FsLWRpcj1QQVRIICAgc2VhcmNoIFBBVEggaW5zdGVhZCBvZiAvdXNyL2xvY2FsIGZvciBsb2NhbCBsaWJyYXJpZXMuCisgIC0td2l0aG91dC1sb2NhbC1kaXIgICAgIGRvIG5vdCBzZWFyY2ggL3Vzci9sb2NhbCBmb3IgbG9jYWwgbGlicmFyaWVzLl0sIFsKKyAgICBsb2NhbF9kaXI9IiR3aXRodmFsIgorICAgIGNhc2UgIiR3aXRodmFsIiBpbgorICAgICovKikgOzsKKyAgICBubykKKyAgICAgICMgYXZvaWQgYWRkaW5nIGxvY2FsIGRpciB0byBMREZMQUdTIGFuZCBDUFBGTEFHUworICAgICAgaGF2ZV9sb2NhbF9kaXI9eWVzCisgICAgICBoYXZlX2xvY2FsX2xpYj15ZXMKKyAgICAgIDs7CisgICAgKikgQUNfTVNHX0VSUk9SKG11c3QgcGFzcyBwYXRoIGFyZ3VtZW50IHRvIC0td2l0aC1sb2NhbC1kaXIpIDs7CisgICAgZXNhYworCUFDX01TR19SRVNVTFQoJGxvY2FsX2RpcikKKyAgXSwgWworICAgIGxvY2FsX2Rpcj0vdXNyL2xvY2FsCisgICAgQUNfTVNHX1JFU1VMVChEZWZhdWx0aW5nIHRvICRsb2NhbF9kaXIpCisgIF0pCisgIGlmIHRlc3QgIiRHQ0MiID0geWVzIC1hICIkbG9jYWxfZGlyIiAhPSBubzsgdGhlbgogICAgIGVjaG8gJ3ZvaWQgZigpe30nID4gY29uZnRlc3QuYwogICAgIGRubCAtbm8tY3BwLXByZWNvbXAgaXMgbmVlZGVkIGZvciBPUyBYIDEwLjIgKEJlbiBGb3dsZXIpCi0gICAgaGF2ZV9sb2NhbF9pbmNsdWRlPWAke0NDLWNjfSAtbm8tY3BwLXByZWNvbXAgLWMgLXYgY29uZnRlc3QuYyAyPiYxIHwgZ3JlcCAnL3Vzci9sb2NhbC9pbmNsdWRlJ2AKLSAgICBoYXZlX2xvY2FsX2xpYj1gJHtDQy1jY30gLWMgLXYgY29uZnRlc3QuYyAyPiYxIHwgZ3JlcCAnL3Vzci9sb2NhbC9saWInYAorICAgIGhhdmVfbG9jYWxfaW5jbHVkZT1gJHtDQy1jY30gLW5vLWNwcC1wcmVjb21wIC1jIC12IGNvbmZ0ZXN0LmMgMj4mMSB8IGdyZXAgIiR7bG9jYWxfZGlyfS9pbmNsdWRlImAKKyAgICBoYXZlX2xvY2FsX2xpYj1gJHtDQy1jY30gLWMgLXYgY29uZnRlc3QuYyAyPiYxIHwgZ3JlcCAiJHtsb2NhbF9kaXJ9L2xpYiJgCiAgICAgcm0gLWYgY29uZnRlc3QuYyBjb25mdGVzdC5vCiAgIGZpCi0gIGlmIHRlc3QgLXogIiRoYXZlX2xvY2FsX2xpYiIgLWEgLWQgL3Vzci9sb2NhbC9saWI7IHRoZW4KLSAgICB0dD1gZWNobyAiJExERkxBR1MiIHwgc2VkIC1lICdzKy1ML3Vzci9sb2NhbC9saWIgKytnJyAtZSAncystTC91c3IvbG9jYWwvbGliJCsrZydgCisgIGlmIHRlc3QgLXogIiRoYXZlX2xvY2FsX2xpYiIgLWEgLWQgIiR7bG9jYWxfZGlyfS9saWIiOyB0aGVuCisgICAgdHQ9YGVjaG8gIiRMREZMQUdTIiB8IHNlZCAtZSAicystTCR7bG9jYWxfZGlyfS9saWIgKytnIiAtZSAicystTCR7bG9jYWxfZGlyfS9saWIkKytnImAKICAgICBpZiB0ZXN0ICIkdHQiID0gIiRMREZMQUdTIjsgdGhlbgotICAgICAgTERGTEFHUz0iJExERkxBR1MgLUwvdXNyL2xvY2FsL2xpYiIKKyAgICAgIExERkxBR1M9IiRMREZMQUdTIC1MJHtsb2NhbF9kaXJ9L2xpYiIKICAgICBmaQogICBmaQotICBpZiB0ZXN0IC16ICIkaGF2ZV9sb2NhbF9pbmNsdWRlIiAtYSAtZCAvdXNyL2xvY2FsL2luY2x1ZGU7IHRoZW4KLSAgICB0dD1gZWNobyAiJENQUEZMQUdTIiB8IHNlZCAtZSAncystSS91c3IvbG9jYWwvaW5jbHVkZSArK2cnIC1lICdzKy1JL3Vzci9sb2NhbC9pbmNsdWRlJCsrZydgCisgIGlmIHRlc3QgLXogIiRoYXZlX2xvY2FsX2luY2x1ZGUiIC1hIC1kICIke2xvY2FsX2Rpcn0vaW5jbHVkZSI7IHRoZW4KKyAgICB0dD1gZWNobyAiJENQUEZMQUdTIiB8IHNlZCAtZSAicystSSR7bG9jYWxfZGlyfS9pbmNsdWRlICsrZyIgLWUgInMrLUkke2xvY2FsX2Rpcn0vaW5jbHVkZSQrK2ciYAogICAgIGlmIHRlc3QgIiR0dCIgPSAiJENQUEZMQUdTIjsgdGhlbgotICAgICAgQ1BQRkxBR1M9IiRDUFBGTEFHUyAtSS91c3IvbG9jYWwvaW5jbHVkZSIKKyAgICAgIENQUEZMQUdTPSIkQ1BQRkxBR1MgLUkke2xvY2FsX2Rpcn0vaW5jbHVkZSIKICAgICBmaQogICBmaQogZmkKZGlmZiAtLWdpdCBhL3NyYy9ldmFsLmMgYi9zcmMvZXZhbC5jCmluZGV4IDdlYmFhMDguLjE4YzgzMjkgMTAwNjQ0Ci0tLSBhL3NyYy9ldmFsLmMKKysrIGIvc3JjL2V2YWwuYwpAQCAtMTAsNyArMTAsNyBAQAogLyoKICAqIGV2YWwuYzogRXhwcmVzc2lvbiBldmFsdWF0aW9uLgogICovCi0jaWYgZGVmaW5lZChNU0RPUykgfHwgZGVmaW5lZChNU1dJTikKKyNpZiBkZWZpbmVkKE1TRE9TKSB8fCBkZWZpbmVkKFdJTjE2KSB8fCBkZWZpbmVkKFdJTjMyKSB8fCBkZWZpbmVkKF9XSU42NCkKICMgaW5jbHVkZSAidmltaW8uaCIJLyogZm9yIG1jaF9vcGVuKCksIG11c3QgYmUgYmVmb3JlIHZpbS5oICovCiAjZW5kaWYKIApAQCAtOTY5NywxNSArOTY5NywxOSBAQAogICAgIHR5cHZhbF9UCSphcmd2YXJzOwogICAgIHR5cHZhbF9UCSpyZXR0djsKIHsKLSAgICBGSUxFCSpmZDsKKyAgICBpbnQJCWZkOwogICAgIGNoYXJfdQkqcDsKICAgICBpbnQJCW47CiAKKyNpZm5kZWYgT19OT05CTE9DSworIyBkZWZpbmUgT19OT05CTE9DSyAwCisjZW5kaWYKICAgICBwID0gZ2V0X3R2X3N0cmluZygmYXJndmFyc1swXSk7Ci0gICAgaWYgKCpwICYmICFtY2hfaXNkaXIocCkgJiYgKGZkID0gbWNoX2ZvcGVuKChjaGFyICopcCwgInIiKSkgIT0gTlVMTCkKKyAgICBpZiAoKnAgJiYgIW1jaF9pc2RpcihwKSAmJiAoZmQgPSBtY2hfb3BlbigoY2hhciAqKXAsCisJCQkJCSAgICAgIE9fUkRPTkxZIHwgT19OT05CTE9DSywgMCkpID49IDApCiAgICAgewogCW4gPSBUUlVFOwotCWZjbG9zZShmZCk7CisJY2xvc2UoZmQpOwogICAgIH0KICAgICBlbHNlCiAJbiA9IEZBTFNFOwpAQCAtMjE5NzUsNyArMjE5NzksNyBAQAogCWNoID0gKmVuZHA7CiAJKmVuZHAgPSAwOwogCXNob3J0X2ZuYW1lID0gc2F2ZV9mbmFtZTsKLQlsZW4gPSBTVFJMRU4oc2hvcnRfZm5hbWUpICsgMTsKKwlsZW4gPSAoaW50KVNUUkxFTihzaG9ydF9mbmFtZSkgKyAxOwogCWlmIChnZXRfc2hvcnRfcGF0aG5hbWUoJnNob3J0X2ZuYW1lLCAmcGJ1Zl91bnVzZWQsICZsZW4pID09IEZBSUwpCiAJewogCSAgICByZXR2YWwgPSBGQUlMOwpkaWZmIC0tZ2l0IGEvc3JjL2V4X2NtZHMuYyBiL3NyYy9leF9jbWRzLmMKaW5kZXggNjQyNWFjMC4uNzYwNTMzZCAxMDA2NDQKLS0tIGEvc3JjL2V4X2NtZHMuYworKysgYi9zcmMvZXhfY21kcy5jCkBAIC0xMSw3ICsxMSw3IEBACiAgKiBleF9jbWRzLmM6IHNvbWUgZnVuY3Rpb25zIGZvciBjb21tYW5kIGxpbmUgY29tbWFuZHMKICAqLwogCi0jaWYgZGVmaW5lZChNU0RPUykgfHwgZGVmaW5lZChNU1dJTikKKyNpZiBkZWZpbmVkKE1TRE9TKSB8fCBkZWZpbmVkKFdJTjE2KSB8fCBkZWZpbmVkKFdJTjMyKSB8fCBkZWZpbmVkKF9XSU42NCkKICMgaW5jbHVkZSAidmltaW8uaCIJLyogZm9yIG1jaF9vcGVuKCksIG11c3QgYmUgYmVmb3JlIHZpbS5oICovCiAjZW5kaWYKIApAQCAtNTg5Miw3ICs1ODkyLDcgQEAKICAgICBmbGFncyA9IFRBR19IRUxQIHwgVEFHX1JFR0VYUCB8IFRBR19OQU1FUyB8IFRBR19WRVJCT1NFOwogICAgIGlmIChrZWVwX2xhbmcpCiAJZmxhZ3MgfD0gVEFHX0tFRVBfTEFORzsKLSAgICBpZiAoZmluZF90YWdzKElPYnVmZiwgbnVtX21hdGNoZXMsIG1hdGNoZXMsIGZsYWdzLCAoaW50KU1BWENPTCwgTlVMTCkgPT0gT0sKKyAgICBpZiAoZmluZF90YWdzKElPYnVmZiwgbnVtX21hdGNoZXMsIG1hdGNoZXMsIGZsYWdzLCBUQUdfTUFOWSwgTlVMTCkgPT0gT0sKIAkgICAgJiYgKm51bV9tYXRjaGVzID4gMCkKIAkvKiBTb3J0IHRoZSBtYXRjaGVzIGZvdW5kIG9uIHRoZSBoZXVyaXN0aWMgbnVtYmVyIHRoYXQgaXMgYWZ0ZXIgdGhlCiAJICogdGFnIG5hbWUuICovCmRpZmYgLS1naXQgYS9zcmMvZXhfY21kczIuYyBiL3NyYy9leF9jbWRzMi5jCmluZGV4IDU4MjYxM2UuLmY4NmU2ZWUgMTAwNjQ0Ci0tLSBhL3NyYy9leF9jbWRzMi5jCisrKyBiL3NyYy9leF9jbWRzMi5jCkBAIC0xMSw3ICsxMSw3IEBACiAgKiBleF9jbWRzMi5jOiBzb21lIG1vcmUgZnVuY3Rpb25zIGZvciBjb21tYW5kIGxpbmUgY29tbWFuZHMKICAqLwogCi0jaWYgZGVmaW5lZChXSU4zMikgJiYgZGVmaW5lZChGRUFUX0NTQ09QRSkKKyNpZiBkZWZpbmVkKE1TRE9TKSB8fCBkZWZpbmVkKFdJTjE2KSB8fCBkZWZpbmVkKFdJTjMyKSB8fCBkZWZpbmVkKF9XSU42NCkKICMgaW5jbHVkZSAidmltaW8uaCIJLyogZm9yIG1jaF9vcGVuKCksIG11c3QgYmUgYmVmb3JlIHZpbS5oICovCiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvc3JjL2V4X2RvY21kLmMgYi9zcmMvZXhfZG9jbWQuYwppbmRleCA4M2NmZmMxLi4yNDZjNGMwIDEwMDY0NAotLS0gYS9zcmMvZXhfZG9jbWQuYworKysgYi9zcmMvZXhfZG9jbWQuYwpAQCAtNjcyOCw2ICs2NzI4LDEwIEBACiAgICAgaWYgKGN1cmJ1Zl9sb2NrZWQoKSkKIAlyZXR1cm47CiAjZW5kaWYKKyAgICAvKiBXaGVuIHRoZSBzY3JlZW4gaXMgYmVpbmcgdXBkYXRlZCB3ZSBzaG91bGQgbm90IGNoYW5nZSBidWZmZXJzIGFuZAorICAgICAqIHdpbmRvd3Mgc3RydWN0dXJlcywgaXQgbWF5IGNhdXNlIGZyZWVkIG1lbW9yeSB0byBiZSB1c2VkLiAqLworICAgIGlmICh1cGRhdGluZ19zY3JlZW4pCisJcmV0dXJuOwogCiAgICAgLyogQ2hlY2sgd2hldGhlciB0aGUgY3VycmVudCBidWZmZXIgaXMgY2hhbmdlZC4gSWYgc28sIHdlIHdpbGwgbmVlZAogICAgICAqIHRvIHNwbGl0IHRoZSBjdXJyZW50IHdpbmRvdyBvciBkYXRhIGNvdWxkIGJlIGxvc3QuCmRpZmYgLS1naXQgYS9zcmMvZ3VpLmMgYi9zcmMvZ3VpLmMKaW5kZXggMDljMzAyNy4uODU2OGQzMyAxMDA2NDQKLS0tIGEvc3JjL2d1aS5jCisrKyBiL3NyYy9ndWkuYwpAQCAtOTU4LDcgKzk1OCwxMyBAQAogCQlzdGF0aWMgaW50IGlpZDsKIAkJZ3VpY29sb3JfVCBmZywgYmc7CiAKLQkJaWYgKGltX2dldF9zdGF0dXMoKSkKKwkJaWYgKAorIyBpZmRlZiBIQVZFX0dUSzIKKwkJCXByZWVkaXRfZ2V0X3N0YXR1cygpCisjIGVsc2UKKwkJCWltX2dldF9zdGF0dXMoKQorIyBlbmRpZgorCQkJKQogCQl7CiAJCSAgICBpaWQgPSBzeW5fbmFtZTJpZCgoY2hhcl91ICopIkN1cnNvcklNIik7CiAJCSAgICBpZiAoaWlkID4gMCkKQEAgLTUxMjQsNiArNTEzMCwxNiBAQAogewogICAgIGludAkJaTsKICAgICBjaGFyX3UJKnA7CisgICAgc3RhdGljIGludAllbnRlcmVkID0gRkFMU0U7CisKKyAgICAvKgorICAgICAqIFRoaXMgZnVuY3Rpb24gaXMgY2FsbGVkIGJ5IGV2ZW50IGhhbmRsZXJzLiAgSnVzdCBpbiBjYXNlIHdlIGdldCBhCisgICAgICogc2Vjb25kIGV2ZW50IGJlZm9yZSB0aGUgZmlyc3Qgb25lIGlzIGhhbmRsZWQsIGlnbm9yZSB0aGUgc2Vjb25kIG9uZS4KKyAgICAgKiBOb3Qgc3VyZSBpZiB0aGlzIGNhbiBldmVyIGhhcHBlbiwganVzdCBpbiBjYXNlLgorICAgICAqLworICAgIGlmIChlbnRlcmVkKQorCXJldHVybjsKKyAgICBlbnRlcmVkID0gVFJVRTsKIAogICAgIC8qCiAgICAgICogV2hlbiB0aGUgY3Vyc29yIGlzIGF0IHRoZSBjb21tYW5kIGxpbmUsIGFkZCB0aGUgZmlsZSBuYW1lcyB0byB0aGUKQEAgLTUyMDcsNSArNTIyMyw3IEBACiAJZ3VpX3VwZGF0ZV9jdXJzb3IoRkFMU0UsIEZBTFNFKTsKIAlndWlfbWNoX2ZsdXNoKCk7CiAgICAgfQorCisgICAgZW50ZXJlZCA9IEZBTFNFOwogfQogI2VuZGlmCmRpZmYgLS1naXQgYS9zcmMvZ3VpX21hYy5jIGIvc3JjL2d1aV9tYWMuYwppbmRleCAxZWY1ODIwLi43N2NkNWNhIDEwMDY0NAotLS0gYS9zcmMvZ3VpX21hYy5jCisrKyBiL3NyYy9ndWlfbWFjLmMKQEAgLTI1NDMsNyArMjU0Myw2IEBACiBndWlfbWFjX21vdXNlX3doZWVsKEV2ZW50SGFuZGxlckNhbGxSZWYgbmV4dEhhbmRsZXIsIEV2ZW50UmVmIHRoZUV2ZW50LAogCQkJCQkJCQkgICB2b2lkICpkYXRhKQogewotICAgIEV2ZW50UmVmCWJvZ3VzRXZlbnQ7CiAgICAgUG9pbnQJcG9pbnQ7CiAgICAgUmVjdAlib3VuZHM7CiAgICAgVUludDMyCW1vZDsKQEAgLTI1NzQsMTYgKzI1NzMsNiBAQAogICAgIGlmIChtb2QgJiBvcHRpb25LZXkpCiAJdmltX21vZCB8PSBNT1VTRV9BTFQ7CiAKLSAgICAvKiBwb3N0IGEgYm9ndXMgZXZlbnQgdG8gd2FrZSB1cCBXYWl0TmV4dEV2ZW50ICovCi0gICAgaWYgKG5vRXJyICE9IENyZWF0ZUV2ZW50KE5VTEwsIGtFdmVudENsYXNzTW91c2UsIGtFdmVudE1vdXNlTW92ZWQsIDAsCi0JCQkJCSAgICBrRXZlbnRBdHRyaWJ1dGVOb25lLCAmYm9ndXNFdmVudCkpCi0JZ290byBiYWlsOwotICAgIGlmIChub0VyciAhPSBQb3N0RXZlbnRUb1F1ZXVlKEdldE1haW5FdmVudFF1ZXVlKCksIGJvZ3VzRXZlbnQsCi0JCQkJCQkJICAga0V2ZW50UHJpb3JpdHlMb3cpKQotCWdvdG8gYmFpbDsKLQotICAgIFJlbGVhc2VFdmVudChib2d1c0V2ZW50KTsKLQogICAgIGlmIChub0VyciA9PSBHZXRXaW5kb3dCb3VuZHMoZ3VpLlZpbVdpbmRvdywga1dpbmRvd0NvbnRlbnRSZ24sICZib3VuZHMpKQogICAgIHsKIAlwb2ludC5oIC09IGJvdW5kcy5sZWZ0OwpAQCAtMjU5Myw2ICsyNTgyLDkgQEAKICAgICBndWlfc2VuZF9tb3VzZV9ldmVudCgoZGVsdGEgPiAwKSA/IE1PVVNFXzQgOiBNT1VTRV81LAogCQkJCQkgICAgcG9pbnQuaCwgcG9pbnQudiwgRkFMU0UsIHZpbV9tb2QpOwogCisgICAgLyogcG9zdCBhIGJvZ3VzIGV2ZW50IHRvIHdha2UgdXAgV2FpdE5leHRFdmVudCAqLworICAgIFBvc3RFdmVudChrZXlVcCwgMCk7CisKICAgICByZXR1cm4gbm9FcnI7CiAKIGJhaWw6CmRpZmYgLS1naXQgYS9zcmMvaWZfcGVybC54cyBiL3NyYy9pZl9wZXJsLnhzCmluZGV4IGFjZjdmODYuLmE2OTk0ZjYgMTAwNjQ0Ci0tLSBhL3NyYy9pZl9wZXJsLnhzCisrKyBiL3NyYy9pZl9wZXJsLnhzCkBAIC0xNjMsNiArMTYzLDIzIEBACiAjIGRlZmluZSBQZXJsX0lzdl95ZXNfcHRyIGRsbF9QZXJsX0lzdl95ZXNfcHRyCiAjIGRlZmluZSBib290X0R5bmFMb2FkZXIgZGxsX2Jvb3RfRHluYUxvYWRlcgogCisjIGRlZmluZSBQZXJsX3N5c19pbml0MyBkbGxfUGVybF9zeXNfaW5pdDMKKyMgZGVmaW5lIFBlcmxfc3lzX3Rlcm0gZGxsX1Blcmxfc3lzX3Rlcm0KKyMgZGVmaW5lIFBlcmxfSVN2X3B0ciBkbGxfUGVybF9JU3ZfcHRyCisjIGRlZmluZSBQZXJsX0lzdGFja19tYXhfcHRyIGRsbF9QZXJsX0lzdGFja19tYXhfcHRyCisjIGRlZmluZSBQZXJsX0lzdGFja19iYXNlX3B0ciBkbGxfUGVybF9Jc3RhY2tfYmFzZV9wdHIKKyMgZGVmaW5lIFBlcmxfSXRtcHNfaXhfcHRyIGRsbF9QZXJsX0l0bXBzX2l4X3B0cgorIyBkZWZpbmUgUGVybF9JdG1wc19mbG9vcl9wdHIgZGxsX1BlcmxfSXRtcHNfZmxvb3JfcHRyCisjIGRlZmluZSBQZXJsX0lYcHZfcHRyIGRsbF9QZXJsX0lYcHZfcHRyCisjIGRlZmluZSBQZXJsX0luYV9wdHIgZGxsX1BlcmxfSW5hX3B0cgorIyBkZWZpbmUgUGVybF9JbWFya3N0YWNrX3B0cl9wdHIgZGxsX1BlcmxfSW1hcmtzdGFja19wdHJfcHRyCisjIGRlZmluZSBQZXJsX0ltYXJrc3RhY2tfbWF4X3B0ciBkbGxfUGVybF9JbWFya3N0YWNrX21heF9wdHIKKyMgZGVmaW5lIFBlcmxfSXN0YWNrX3NwX3B0ciBkbGxfUGVybF9Jc3RhY2tfc3BfcHRyCisjIGRlZmluZSBQZXJsX0lvcF9wdHIgZGxsX1BlcmxfSW9wX3B0cgorIyBkZWZpbmUgUGVybF9jYWxsX2xpc3QgZGxsX1BlcmxfY2FsbF9saXN0CisjIGRlZmluZSBQZXJsX0lzY29wZXN0YWNrX2l4X3B0ciBkbGxfUGVybF9Jc2NvcGVzdGFja19peF9wdHIKKyMgZGVmaW5lIFBlcmxfSXVuaXRjaGVja2F2X3B0ciBkbGxfUGVybF9JdW5pdGNoZWNrYXZfcHRyCisKICNpZm5kZWYgRFlOQU1JQ19QRVJMIC8qIGp1c3QgZ2VuZXJhdGluZyBwcm90b3R5cGVzICovCiB0eXBlZGVmIGludCBIQU5ETEU7CiB0eXBlZGVmIGludCBYU0lOSVRfdDsKQEAgLTI1MCw2ICsyNjcsMjQgQEAKIHN0YXRpYyBTViogKCpQZXJsX0lzdl95ZXNfcHRyKShyZWdpc3RlciBQZXJsSW50ZXJwcmV0ZXIqKTsKIHN0YXRpYyB2b2lkICgqYm9vdF9EeW5hTG9hZGVyKV8oKHBUSFhfIENWKikpOwogCisjaWYgKFBFUkxfUkVWSVNJT04gPT0gNSkgJiYgKFBFUkxfVkVSU0lPTiA+PSAxMCkKK3N0YXRpYyB2b2lkICgqUGVybF9zeXNfaW5pdDMpKGludCogYXJnYywgY2hhcioqKiBhcmd2LCBjaGFyKioqIGVudik7CitzdGF0aWMgdm9pZCAoKlBlcmxfc3lzX3Rlcm0pKHZvaWQpOworc3RhdGljIFNWKiogKCpQZXJsX0lTdl9wdHIpKHJlZ2lzdGVyIFBlcmxJbnRlcnByZXRlciopOworc3RhdGljIFNWKioqICgqUGVybF9Jc3RhY2tfbWF4X3B0cikocmVnaXN0ZXIgUGVybEludGVycHJldGVyKik7CitzdGF0aWMgU1YqKiogKCpQZXJsX0lzdGFja19iYXNlX3B0cikocmVnaXN0ZXIgUGVybEludGVycHJldGVyKik7CitzdGF0aWMgWFBWKiogKCpQZXJsX0lYcHZfcHRyKShyZWdpc3RlciBQZXJsSW50ZXJwcmV0ZXIqKTsKK3N0YXRpYyBJMzIqICgqUGVybF9JdG1wc19peF9wdHIpKHJlZ2lzdGVyIFBlcmxJbnRlcnByZXRlciopOworc3RhdGljIEkzMiogKCpQZXJsX0l0bXBzX2Zsb29yX3B0cikocmVnaXN0ZXIgUGVybEludGVycHJldGVyKik7CitzdGF0aWMgU1RSTEVOKiAoKlBlcmxfSW5hX3B0cikocmVnaXN0ZXIgUGVybEludGVycHJldGVyKik7CitzdGF0aWMgSTMyKiogKCpQZXJsX0ltYXJrc3RhY2tfcHRyX3B0cikocmVnaXN0ZXIgUGVybEludGVycHJldGVyKik7CitzdGF0aWMgSTMyKiogKCpQZXJsX0ltYXJrc3RhY2tfbWF4X3B0cikocmVnaXN0ZXIgUGVybEludGVycHJldGVyKik7CitzdGF0aWMgU1YqKiogKCpQZXJsX0lzdGFja19zcF9wdHIpKHJlZ2lzdGVyIFBlcmxJbnRlcnByZXRlciopOworc3RhdGljIE9QKiogKCpQZXJsX0lvcF9wdHIpKHJlZ2lzdGVyIFBlcmxJbnRlcnByZXRlciopOworc3RhdGljIHZvaWQgKCpQZXJsX2NhbGxfbGlzdCkocFRIWF8gSTMyLCBBViopOworc3RhdGljIEkzMiogKCpQZXJsX0lzY29wZXN0YWNrX2l4X3B0cikocmVnaXN0ZXIgUGVybEludGVycHJldGVyKik7CitzdGF0aWMgQVYqKiAoKlBlcmxfSXVuaXRjaGVja2F2X3B0cikocmVnaXN0ZXIgUGVybEludGVycHJldGVyKik7CisjZW5kaWYKIAogLyoKICAqIFRhYmxlIG9mIG5hbWUgdG8gZnVuY3Rpb24gcG9pbnRlciBvZiBwZXJsLgpAQCAtMzE5LDYgKzM1NCw3IEBACiAgICAgeyJQZXJsX3N2X3NldHN2IiwgKFBFUkxfUFJPQyopJlBlcmxfc3Zfc2V0c3Z9LAogI2VuZGlmCiAgICAgeyJQZXJsX3N2X3VwZ3JhZGUiLCAoUEVSTF9QUk9DKikmUGVybF9zdl91cGdyYWRlfSwKKyNpZiAoUEVSTF9SRVZJU0lPTiA9PSA1KSAmJiAoUEVSTF9WRVJTSU9OIDwgMTApCiAgICAgeyJQZXJsX1RzdGFja19zcF9wdHIiLCAoUEVSTF9QUk9DKikmUGVybF9Uc3RhY2tfc3BfcHRyfSwKICAgICB7IlBlcmxfVG9wX3B0ciIsIChQRVJMX1BST0MqKSZQZXJsX1RvcF9wdHJ9LAogICAgIHsiUGVybF9Uc3RhY2tfYmFzZV9wdHIiLCAoUEVSTF9QUk9DKikmUGVybF9Uc3RhY2tfYmFzZV9wdHJ9LApAQCAtMzMwLDYgKzM2NiwyNSBAQAogICAgIHsiUGVybF9UU3ZfcHRyIiwgKFBFUkxfUFJPQyopJlBlcmxfVFN2X3B0cn0sCiAgICAgeyJQZXJsX1RYcHZfcHRyIiwgKFBFUkxfUFJPQyopJlBlcmxfVFhwdl9wdHJ9LAogICAgIHsiUGVybF9UbmFfcHRyIiwgKFBFUkxfUFJPQyopJlBlcmxfVG5hX3B0cn0sCisjZWxzZQorICAgIHsiUGVybF9zeXNfaW5pdDMiLCAoUEVSTF9QUk9DKikmUGVybF9zeXNfaW5pdDN9LAorICAgIHsiUGVybF9zeXNfdGVybSIsIChQRVJMX1BST0MqKSZQZXJsX3N5c190ZXJtfSwKKyAgICB7IlBlcmxfSVN2X3B0ciIsIChQRVJMX1BST0MqKSZQZXJsX0lTdl9wdHJ9LAorICAgIHsiUGVybF9Jc3RhY2tfc3BfcHRyIiwgKFBFUkxfUFJPQyopJlBlcmxfSXN0YWNrX3NwX3B0cn0sCisgICAgeyJQZXJsX0lvcF9wdHIiLCAoUEVSTF9QUk9DKikmUGVybF9Jb3BfcHRyfSwKKyAgICB7IlBlcmxfSXN0YWNrX2Jhc2VfcHRyIiwgKFBFUkxfUFJPQyopJlBlcmxfSXN0YWNrX2Jhc2VfcHRyfSwKKyAgICB7IlBlcmxfSXN0YWNrX21heF9wdHIiLCAoUEVSTF9QUk9DKikmUGVybF9Jc3RhY2tfbWF4X3B0cn0sCisgICAgeyJQZXJsX0l0bXBzX2l4X3B0ciIsIChQRVJMX1BST0MqKSZQZXJsX0l0bXBzX2l4X3B0cn0sCisgICAgeyJQZXJsX0l0bXBzX2Zsb29yX3B0ciIsIChQRVJMX1BST0MqKSZQZXJsX0l0bXBzX2Zsb29yX3B0cn0sCisgICAgeyJQZXJsX0ltYXJrc3RhY2tfcHRyX3B0ciIsIChQRVJMX1BST0MqKSZQZXJsX0ltYXJrc3RhY2tfcHRyX3B0cn0sCisgICAgeyJQZXJsX0ltYXJrc3RhY2tfbWF4X3B0ciIsIChQRVJMX1BST0MqKSZQZXJsX0ltYXJrc3RhY2tfbWF4X3B0cn0sCisgICAgeyJQZXJsX0lTdl9wdHIiLCAoUEVSTF9QUk9DKikmUGVybF9JU3ZfcHRyfSwKKyAgICB7IlBlcmxfSVhwdl9wdHIiLCAoUEVSTF9QUk9DKikmUGVybF9JWHB2X3B0cn0sCisgICAgeyJQZXJsX0luYV9wdHIiLCAoUEVSTF9QUk9DKikmUGVybF9JbmFfcHRyfSwKKyAgICB7IlBlcmxfY2FsbF9saXN0IiwgKFBFUkxfUFJPQyopJlBlcmxfY2FsbF9saXN0fSwKKyAgICB7IlBlcmxfSXNjb3Blc3RhY2tfaXhfcHRyIiwgKFBFUkxfUFJPQyopJlBlcmxfSXNjb3Blc3RhY2tfaXhfcHRyfSwKKyAgICB7IlBlcmxfSXVuaXRjaGVja2F2X3B0ciIsIChQRVJMX1BST0MqKSZQZXJsX0l1bml0Y2hlY2thdl9wdHJ9LAorI2VuZGlmCiAgICAgeyJQZXJsX0lkZWZndl9wdHIiLCAoUEVSTF9QUk9DKikmUGVybF9JZGVmZ3ZfcHRyfSwKICAgICB7IlBlcmxfSWVycmd2X3B0ciIsIChQRVJMX1BST0MqKSZQZXJsX0llcnJndl9wdHJ9LAogICAgIHsiUGVybF9Jc3ZfeWVzX3B0ciIsIChQRVJMX1BST0MqKSZQZXJsX0lzdl95ZXNfcHRyfSwKQEAgLTM5NSwxMiArNDUwLDE2IEBACiAgICAgc3RhdGljIHZvaWQKIHBlcmxfaW5pdCgpCiB7Ci0gICAgY2hhcgkqYm9vdGFyZ3NbXSA9IHsgIlZJIiwgTlVMTCB9OwotICAgIHN0YXRpYyBjaGFyICphcmdzW10gPSB7ICIiLCAiLWUiLCAiIiB9OworICAgIGNoYXIgKmJvb3RhcmdzW10gPSB7ICJWSSIsIE5VTEwgfTsKKyAgICBpbnQgYXJnYyA9IDM7CisgICAgc3RhdGljIGNoYXIgKmFyZ3ZbXSA9IHsgIiIsICItZSIsICIiIH07CiAKKyNpZiAoUEVSTF9SRVZJU0lPTiA9PSA1KSAmJiAoUEVSTF9WRVJTSU9OID49IDEwKQorICAgIFBlcmxfc3lzX2luaXQzKCZhcmdjLCAoY2hhcioqKikmYXJndiwgTlVMTCk7CisjZW5kaWYKICAgICBwZXJsX2ludGVycCA9IHBlcmxfYWxsb2MoKTsKICAgICBwZXJsX2NvbnN0cnVjdChwZXJsX2ludGVycCk7Ci0gICAgcGVybF9wYXJzZShwZXJsX2ludGVycCwgeHNfaW5pdCwgMywgYXJncywgMCk7CisgICAgcGVybF9wYXJzZShwZXJsX2ludGVycCwgeHNfaW5pdCwgYXJnYywgYXJndiwgMCk7CiAgICAgcGVybF9jYWxsX2FyZ3YoIlZJTTo6Ym9vdHN0cmFwIiwgKGxvbmcpR19ESVNDQVJELCBib290YXJncyk7CiAgICAgVklNX2luaXQoKTsKICNpZmRlZiBVU0VfU0ZJTwpAQCAtNDIzLDYgKzQ4Miw5IEBACiAJcGVybF9kZXN0cnVjdChwZXJsX2ludGVycCk7CiAJcGVybF9mcmVlKHBlcmxfaW50ZXJwKTsKIAlwZXJsX2ludGVycCA9IE5VTEw7CisjaWYgKFBFUkxfUkVWSVNJT04gPT0gNSkgJiYgKFBFUkxfVkVSU0lPTiA+PSAxMCkKKyAgICAgICAgUGVybF9zeXNfdGVybSgpOworI2VuZGlmCiAgICAgfQogI2lmZGVmIERZTkFNSUNfUEVSTAogICAgIGlmIChoUGVybExpYikKZGlmZiAtLWdpdCBhL3NyYy9pZl9weXRob24uYyBiL3NyYy9pZl9weXRob24uYwppbmRleCA4ZmNiMTA5Li42NmU3OTJiIDEwMDY0NAotLS0gYS9zcmMvaWZfcHl0aG9uLmMKKysrIGIvc3JjL2lmX3B5dGhvbi5jCkBAIC0xNzY0LDcgKzE3NjQsNyBAQAogCiAJaWYgKG5hbWUgPT0gTlVMTCkKIAkgICAgbmFtZSA9ICIiOwotCWxlbiA9IHN0cmxlbihuYW1lKTsKKwlsZW4gPSAoaW50KXN0cmxlbihuYW1lKTsKIAogCWlmIChsZW4gPiA0NSkKIAkgICAgbmFtZSA9IG5hbWUgKyAoNDUgLSBsZW4pOwpkaWZmIC0tZ2l0IGEvc3JjL21haW4uYyBiL3NyYy9tYWluLmMKaW5kZXggNTNkMTg0OC4uNTg3MDgxYiAxMDA2NDQKLS0tIGEvc3JjL21haW4uYworKysgYi9zcmMvbWFpbi5jCkBAIC03LDcgKzcsNyBAQAogICogU2VlIFJFQURNRS50eHQgZm9yIGFuIG92ZXJ2aWV3IG9mIHRoZSBWaW0gc291cmNlIGNvZGUuCiAgKi8KIAotI2lmIGRlZmluZWQoTVNET1MpIHx8IGRlZmluZWQoV0lOMzIpIHx8IGRlZmluZWQoX1dJTjY0KQorI2lmIGRlZmluZWQoTVNET1MpIHx8IGRlZmluZWQoV0lOMTYpIHx8IGRlZmluZWQoV0lOMzIpIHx8IGRlZmluZWQoX1dJTjY0KQogIyBpbmNsdWRlICJ2aW1pby5oIgkJLyogZm9yIGNsb3NlKCkgYW5kIGR1cCgpICovCiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvc3JjL21ieXRlLmMgYi9zcmMvbWJ5dGUuYwppbmRleCBkNmVkZjIwLi4zOGJlYzlkIDEwMDY0NAotLS0gYS9zcmMvbWJ5dGUuYworKysgYi9zcmMvbWJ5dGUuYwpAQCAtMzQ1NCw2ICszNDU0LDcgQEAKICMgaWYgZGVmaW5lZChIQVZFX0dUSzIpICYmICFkZWZpbmVkKFBST1RPKQogCiBzdGF0aWMgaW50IGltX2lzX2FjdGl2ZQkgICAgICAgPSBGQUxTRTsJLyogSU0gaXMgZW5hYmxlZCBmb3IgY3VycmVudCBtb2RlICAgICovCitzdGF0aWMgaW50IHByZWVkaXRfaXNfYWN0aXZlICAgPSBGQUxTRTsKIHN0YXRpYyBpbnQgaW1fcHJlZWRpdF9jdXJzb3IgICA9IDA7CS8qIGN1cnNvciBvZmZzZXQgaW4gY2hhcmFjdGVycyAgICAgICAqLwogc3RhdGljIGludCBpbV9wcmVlZGl0X3RyYWlsaW5nID0gMDsJLyogbnVtYmVyIG9mIGNoYXJhY3RlcnMgYWZ0ZXIgY3Vyc29yICovCiAKQEAgLTM2ODYsNyArMzY4Nyw5IEBACiAjZW5kaWYKIAogICAgIGltX2lzX2FjdGl2ZSA9IFRSVUU7CisgICAgcHJlZWRpdF9pc19hY3RpdmUgPSBUUlVFOwogICAgIGd1aV91cGRhdGVfY3Vyc29yKFRSVUUsIEZBTFNFKTsKKyAgICBpbV9zaG93X2luZm8oKTsKIH0KIAogLyoKQEAgLTM3MDcsOSArMzcxMCwxMSBAQAogCiAjaWYgMAogICAgIC8qIFJlbW92YWwgb2YgdGhpcyBsaW5lIHN1Z2dlc3RlZCBieSBUYWt1aGlybyBOaXNoaW9rYS4gIEZpeGVzIHRoYXQgSU0gd2FzCi0gICAgICogc3dpdGNoZWQgb2ZmIHVuaW50ZW50aW9uYWxseS4gKi8KKyAgICAgKiBzd2l0Y2hlZCBvZmYgdW5pbnRlbnRpb25hbGx5LiAgV2Ugbm93IHVzZSBwcmVlZGl0X2lzX2FjdGl2ZSAoYWRkZWQgYnkKKyAgICAgKiBTdW5nSHl1biBOYW0pLiAqLwogICAgIGltX2lzX2FjdGl2ZSA9IEZBTFNFOwogI2VuZGlmCisgICAgcHJlZWRpdF9pc19hY3RpdmUgPSBGQUxTRTsKICAgICBndWlfdXBkYXRlX2N1cnNvcihUUlVFLCBGQUxTRSk7CiAgICAgaW1fc2hvd19pbmZvKCk7CiB9CkBAIC01NzIzLDYgKzU3MjgsMTQgQEAKIAogIyBlbmRpZiAvKiAhSEFWRV9HVEsyICovCiAKKyMgaWYgZGVmaW5lZChIQVZFX0dUSzIpIHx8IGRlZmluZWQoUFJPVE8pCisgICAgaW50CitwcmVlZGl0X2dldF9zdGF0dXModm9pZCkKK3sKKyAgICByZXR1cm4gcHJlZWRpdF9pc19hY3RpdmU7Cit9CisjIGVuZGlmCisKICMgaWYgZGVmaW5lZChGRUFUX0dVSV9HVEspIHx8IGRlZmluZWQoUFJPVE8pCiAgICAgaW50CiBpbV9pc19wcmVlZGl0aW5nKCkKZGlmZiAtLWdpdCBhL3NyYy9tZW1maWxlLmMgYi9zcmMvbWVtZmlsZS5jCmluZGV4IGRkOGRjMTMuLjBiM2NkZDkgMTAwNjQ0Ci0tLSBhL3NyYy9tZW1maWxlLmMKKysrIGIvc3JjL21lbWZpbGUuYwpAQCAtMzIsNyArMzIsNyBAQAogICogZmlsZSBpcyBvcGVuZWQuCiAgKi8KIAotI2lmIGRlZmluZWQgTVNET1MgfHwgZGVmaW5lZChXSU4zMikgfHwgZGVmaW5lZChfV0lONjQpCisjaWYgZGVmaW5lZChNU0RPUykgfHwgZGVmaW5lZChXSU4xNikgfHwgZGVmaW5lZChXSU4zMikgfHwgZGVmaW5lZChfV0lONjQpCiAjIGluY2x1ZGUgInZpbWlvLmgiCS8qIGZvciBsc2VlaygpLCBtdXN0IGJlIGJlZm9yZSB2aW0uaCAqLwogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL3NyYy9tZW1saW5lLmMgYi9zcmMvbWVtbGluZS5jCmluZGV4IDk5MjkzODAuLmY1YTY4YjEgMTAwNjQ0Ci0tLSBhL3NyYy9tZW1saW5lLmMKKysrIGIvc3JjL21lbWxpbmUuYwpAQCAtNDIsNyArNDIsNyBAQAogICogIG1mX2dldCgpLgogICovCiAKLSNpZiBkZWZpbmVkKE1TRE9TKSB8fCBkZWZpbmVkKFdJTjMyKSB8fCBkZWZpbmVkKF9XSU42NCkKKyNpZiBkZWZpbmVkKE1TRE9TKSB8fCBkZWZpbmVkKFdJTjE2KSB8fCBkZWZpbmVkKFdJTjMyKSB8fCBkZWZpbmVkKF9XSU42NCkKICMgaW5jbHVkZSAidmltaW8uaCIJLyogZm9yIG1jaF9vcGVuKCksIG11c3QgYmUgYmVmb3JlIHZpbS5oICovCiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvc3JjL21lc3NhZ2UuYyBiL3NyYy9tZXNzYWdlLmMKaW5kZXggNDFkZmZmYi4uYmYzNDBkMCAxMDA2NDQKLS0tIGEvc3JjL21lc3NhZ2UuYworKysgYi9zcmMvbWVzc2FnZS5jCkBAIC0xMzkwLDcgKzEzOTAsNyBAQAogCQkJCQkJCQkJYXR0cik7CiAJCXBsYWluX3N0YXJ0ID0gc3RyICsgMTsKIAkJbXNnX3B1dHNfYXR0cihzLCBhdHRyID09IDAgPyBobF9hdHRyKEhMRl84KSA6IGF0dHIpOwotCQlyZXR2YWwgKz0gU1RSTEVOKHMpOworCQlyZXR2YWwgKz0gKGludClTVFJMRU4ocyk7CiAJICAgIH0KIAkgICAgZWxzZQogCQkrK3JldHZhbDsKZGlmZiAtLWdpdCBhL3NyYy9tb3ZlLmMgYi9zcmMvbW92ZS5jCmluZGV4IGYyMWY1ZTkuLmM1NDdkOWIgMTAwNjQ0Ci0tLSBhL3NyYy9tb3ZlLmMKKysrIGIvc3JjL21vdmUuYwpAQCAtODc2LDcgKzg3Niw3IEBACiB9CiAKIC8qCi0gKiB2YWxpZGF0ZSB3X3djb2wgYW5kIHdfdmlydGNvbCBvbmx5LglPbmx5IGNvcnJlY3Qgd2hlbiAnd3JhcCcgb24hCisgKiBWYWxpZGF0ZSB3X3djb2wgYW5kIHdfdmlydGNvbCBvbmx5LgogICovCiAgICAgdm9pZAogdmFsaWRhdGVfY3Vyc29yX2NvbCgpCkBAIC04OTIsMTMgKzg5MiwxOSBAQAogCWNvbCArPSBvZmY7CiAKIAkvKiBsb25nIGxpbmUgd3JhcHBpbmcsIGFkanVzdCBjdXJ3aW4tPndfd3JvdyAqLwotCWlmIChjdXJ3aW4tPndfcF93cmFwICYmIGNvbCA+PSAoY29sbnJfVClXX1dJRFRIKGN1cndpbikKKwlpZiAoY3Vyd2luLT53X3Bfd3JhcAorCQkmJiBjb2wgPj0gKGNvbG5yX1QpV19XSURUSChjdXJ3aW4pCiAJCSYmIFdfV0lEVEgoY3Vyd2luKSAtIG9mZiArIGN1cndpbl9jb2xfb2ZmMigpID4gMCkKIAl7CiAJICAgIGNvbCAtPSBXX1dJRFRIKGN1cndpbik7CiAJICAgIGNvbCA9IGNvbCAlIChXX1dJRFRIKGN1cndpbikgLSBvZmYgKyBjdXJ3aW5fY29sX29mZjIoKSk7CiAJfQorCWlmIChjb2wgPiAoaW50KWN1cndpbi0+d19sZWZ0Y29sKQorCSAgICBjb2wgLT0gY3Vyd2luLT53X2xlZnRjb2w7CisJZWxzZQorCSAgICBjb2wgPSAwOwogCWN1cndpbi0+d193Y29sID0gY29sOworCiAJY3Vyd2luLT53X3ZhbGlkIHw9IFZBTElEX1dDT0w7CiAgICAgfQogfQpkaWZmIC0tZ2l0IGEvc3JjL25ldGJlYW5zLmMgYi9zcmMvbmV0YmVhbnMuYwppbmRleCBkM2ZhNGIwLi44MGExYjQzIDEwMDY0NAotLS0gYS9zcmMvbmV0YmVhbnMuYworKysgYi9zcmMvbmV0YmVhbnMuYwpAQCAtMTYsNyArMTYsNyBAQAogICogU2VlICI6aGVscCBuZXRiZWFucy1wcm90b2NvbCIgZm9yIGV4cGxhbmF0aW9uLgogICovCiAKLSNpZiBkZWZpbmVkKE1TRE9TKSB8fCBkZWZpbmVkKE1TV0lOKQorI2lmIGRlZmluZWQoTVNET1MpIHx8IGRlZmluZWQoV0lOMTYpIHx8IGRlZmluZWQoV0lOMzIpIHx8IGRlZmluZWQoX1dJTjY0KQogIyBpbmNsdWRlICJ2aW1pby5oIgkvKiBmb3IgbWNoX29wZW4oKSwgbXVzdCBiZSBiZWZvcmUgdmltLmggKi8KICNlbmRpZgogCkBAIC0yOSw3ICsyOSw2IEBACiAjIGlmZGVmIERFQlVHCiAjICBpbmNsdWRlIDx0Y2hhci5oPgkvKiBmb3IgX1QgZGVmaW5pdGlvbiBmb3IgVFJBQ0VuIG1hY3JvcyAqLwogIyBlbmRpZgotIyBpbmNsdWRlICJ2aW1pby5oIgogLyogV2luU29jayBBUEkgaXMgc2VwYXJhdGVkIGZyb20gQyBBUEksIHRodXMgd2UgY2FuJ3QgdXNlIHJlYWQoKSwgd3JpdGUoKSwKICAqIGVycm5vLi4uICovCiAjIGRlZmluZSBzb2NrX2Vycm5vIFdTQUdldExhc3RFcnJvcigpCmRpZmYgLS1naXQgYS9zcmMvcG8vYWYucG8gYi9zcmMvcG8vYWYucG8KaW5kZXggYzQxMjI1ZC4uMGFjZTcxZCAxMDA2NDQKLS0tIGEvc3JjL3BvL2FmLnBvCisrKyBiL3NyYy9wby9hZi5wbwpAQCAtMTMzNyw3ICsxMzM3LDcgQEAKIG1zZ2lkICJFMjA0OiBBdXRvY29tbWFuZCBjaGFuZ2VkIG51bWJlciBvZiBsaW5lcyBpbiB1bmV4cGVjdGVkIHdheSIKIG1zZ3N0ciAiRTIwNDogT3V0b2JldmVsIGhldCBldGxpa2UgcmXrbHMgb3Agb252ZXJ3YWdzZSB3eXNlIHZlcmFuZGVyICIKIAotbXNnaWQgIk5ldEJlYW5zIGRpc3NhbGxvd3Mgd3JpdGVzIG9mIHVubW9kaWZpZWQgYnVmZmVycyIKK21zZ2lkICJOZXRCZWFucyBkaXNhbGxvd3Mgd3JpdGVzIG9mIHVubW9kaWZpZWQgYnVmZmVycyIKIG1zZ3N0ciAiTmV0QmVhbnMgbGFhdCBuaWUgc2tyeWYgdG9lIHZhbiBvbnZlcmFuZGVyZGUgYnVmZmVycyBuaWUiCiAKIG1zZ2lkICJQYXJ0aWFsIHdyaXRlcyBkaXNhbGxvd2VkIGZvciBOZXRCZWFucyBidWZmZXJzIgpAQCAtNDQ4NSwxNCArNDQ4NSwxNCBAQAogIy4gT25seSBNUyBWQyA0LjEgYW5kIGVhcmxpZXIgY2FuIGRvIFdpbjMycwogbXNnaWQgIiIKICJcbiIKLSJNUy1XaW5kb3dzIDE2LzMyIGJpdCBHVUkgdmVyc2lvbiIKKyJNUy1XaW5kb3dzIDE2LzMyLWJpdCBHVUkgdmVyc2lvbiIKIG1zZ3N0ciAiIgogIlxuIgogIk1TLVdpbmRvd3MgMTYvMzItYmlzIEdVSSB3ZWVyZ2F3ZSIKIAogbXNnaWQgIiIKICJcbiIKLSJNUy1XaW5kb3dzIDMyIGJpdCBHVUkgdmVyc2lvbiIKKyJNUy1XaW5kb3dzIDMyLWJpdCBHVUkgdmVyc2lvbiIKIG1zZ3N0ciAiIgogIlxuIgogIk1TLVdpbmRvd3MgMzItYmlzIEdVSSB2ZXJzaW9uIgpAQCAtNDUwNSwyOCArNDUwNSwyOCBAQAogCiBtc2dpZCAiIgogIlxuIgotIk1TLVdpbmRvd3MgMzIgYml0IGNvbnNvbGUgdmVyc2lvbiIKKyJNUy1XaW5kb3dzIDMyLWJpdCBjb25zb2xlIHZlcnNpb24iCiBtc2dzdHIgIiIKICJcbiIKICJNUy1XaW5kb3dzIDMyLWJpcyBrb25zb2xlIHdlZXJnYXdlIgogCiBtc2dpZCAiIgogIlxuIgotIk1TLVdpbmRvd3MgMTYgYml0IHZlcnNpb24iCisiTVMtV2luZG93cyAxNi1iaXQgdmVyc2lvbiIKIG1zZ3N0ciAiIgogIlxuIgogIk1TLVdpbmRvd3MgMTYtYmlzIHdlZXJnYXdlIgogCiBtc2dpZCAiIgogIlxuIgotIjMyIGJpdCBNUy1ET1MgdmVyc2lvbiIKKyIzMi1iaXQgTVMtRE9TIHZlcnNpb24iCiBtc2dzdHIgIiIKICJcbiIKICIzMi1iaXMgTVMtRE9TIHdlZXJnYXdlIgogCiBtc2dpZCAiIgogIlxuIgotIjE2IGJpdCBNUy1ET1MgdmVyc2lvbiIKKyIxNi1iaXQgTVMtRE9TIHZlcnNpb24iCiBtc2dzdHIgIiIKICJcbiIKICIxNi1iaXMgTVMtRE9TIHdlZXJnYXdlIgpkaWZmIC0tZ2l0IGEvc3JjL3BvL2NhLnBvIGIvc3JjL3BvL2NhLnBvCmluZGV4IDU0NjIzYjIuLjQ0MWQ4NTggMTAwNjQ0Ci0tLSBhL3NyYy9wby9jYS5wbworKysgYi9zcmMvcG8vY2EucG8KQEAgLTYwOCwxMyArNjA4LDEzIEBACiBtc2dpZCAiRTY3NzogRXJyb3Igd3JpdGluZyB0ZW1wIGZpbGUiCiBtc2dzdHIgIkU2Nzc6IEVycm9yIGVuIGVzY3JpdXJlIGVsIGZpdHhlciB0ZW1wb3JhbCIKIAotbXNnaWQgIkU3MDM6IFVzaW5nIGEgRnVuY3JlZiBhcyBhIG51bWJlciIKK21zZ2lkICJFNzAzOiBVc2luZyBhIEZ1bmNyZWYgYXMgYSBOdW1iZXIiCiBtc2dzdHIgIkU3MDM6INpzIGQndW5hIHJlZmVy6G5jaWEgZGUgZnVuY2nzIGNvbSBhIG76bWVybyIKIAotbXNnaWQgIkU3NDU6IFVzaW5nIGEgTGlzdCBhcyBhIG51bWJlciIKK21zZ2lkICJFNzQ1OiBVc2luZyBhIExpc3QgYXMgYSBOdW1iZXIiCiBtc2dzdHIgIkU3NDU6INpzIGQndW5hIGxsaXN0YSBjb20gYSBu+m1lcm8iCiAKLW1zZ2lkICJFNzI4OiBVc2luZyBhIERpY3Rpb25hcnkgYXMgYSBudW1iZXIiCittc2dpZCAiRTcyODogVXNpbmcgYSBEaWN0aW9uYXJ5IGFzIGEgTnVtYmVyIgogbXNnc3RyICJFNzI4OiDacyBkJ3VuIGRpY2Npb25hcmkgY29tIGEgbvptZXJvIgogCiBtc2dpZCAiRTcyOTogdXNpbmcgRnVuY3JlZiBhcyBhIFN0cmluZyIKQEAgLTE1OTIsNyArMTU5Miw3IEBACiBtc2dpZCAiRTIwNDogQXV0b2NvbW1hbmQgY2hhbmdlZCBudW1iZXIgb2YgbGluZXMgaW4gdW5leHBlY3RlZCB3YXkiCiBtc2dzdHIgIkUyMDQ6IFVuYSBhdXRvLW9yZHJlIGhhIGNhbnZpYXQgZWwgbm9tYnJlIGRlIGztbmllcyBkZSBmb3JtYSBpbmVzcGVyYWRhIgogCi1tc2dpZCAiTmV0QmVhbnMgZGlzc2FsbG93cyB3cml0ZXMgb2YgdW5tb2RpZmllZCBidWZmZXJzIgorbXNnaWQgIk5ldEJlYW5zIGRpc2FsbG93cyB3cml0ZXMgb2YgdW5tb2RpZmllZCBidWZmZXJzIgogbXNnc3RyICJOZXRCZWFucyBubyBwZXJtZXQgZXNjcml1cmUgYnVmZmVycyBubyBtb2RpZmljYXRzIgogCiBtc2dpZCAiUGFydGlhbCB3cml0ZXMgZGlzYWxsb3dlZCBmb3IgTmV0QmVhbnMgYnVmZmVycyIKQEAgLTU0MzMsMjEgKzU0MzMsMjEgQEAKICMuIE9ubHkgTVMgVkMgNC4xIGFuZCBlYXJsaWVyIGNhbiBkbyBXaW4zMnMKIG1zZ2lkICIiCiAiXG4iCi0iTVMtV2luZG93cyAxNi8zMiBiaXQgR1VJIHZlcnNpb24iCisiTVMtV2luZG93cyAxNi8zMi1iaXQgR1VJIHZlcnNpb24iCiBtc2dzdHIgIiIKICJcbiIKICJWZXJzafMgR1VJIHBlciBNUy1XaW5kb3dzIDE2LzMyIGJpdHMiCiAKIG1zZ2lkICIiCiAiXG4iCi0iTVMtV2luZG93cyA2NCBiaXQgR1VJIHZlcnNpb24iCisiTVMtV2luZG93cyA2NC1iaXQgR1VJIHZlcnNpb24iCiBtc2dzdHIgIiIKICJcbiIKICJWZXJzafMgR1VJIHBlciBhIE1TLVdpbmRvd3MgNjQgYml0cyIKIAogbXNnaWQgIiIKICJcbiIKLSJNUy1XaW5kb3dzIDMyIGJpdCBHVUkgdmVyc2lvbiIKKyJNUy1XaW5kb3dzIDMyLWJpdCBHVUkgdmVyc2lvbiIKIG1zZ3N0ciAiIgogIlxuIgogIlZlcnNp8yBHVUkgcGVyIE1TLVdpbmRvd3MgMzIgYml0cyIKQEAgLTU0NjAsMjggKzU0NjAsMjggQEAKIAogbXNnaWQgIiIKICJcbiIKLSJNUy1XaW5kb3dzIDMyIGJpdCBjb25zb2xlIHZlcnNpb24iCisiTVMtV2luZG93cyAzMi1iaXQgY29uc29sZSB2ZXJzaW9uIgogbXNnc3RyICIiCiAiXG4iCiAiVmVyc2nzIGNvbnNvbGEgcGVyIE1TLVdpbmRvd3MgMzIgYml0cyIKIAogbXNnaWQgIiIKICJcbiIKLSJNUy1XaW5kb3dzIDE2IGJpdCB2ZXJzaW9uIgorIk1TLVdpbmRvd3MgMTYtYml0IHZlcnNpb24iCiBtc2dzdHIgIiIKICJcbiIKICJWZXJzafMgcGVyIE1TLVdpbmRvd3MgMTYgYml0cyIKIAogbXNnaWQgIiIKICJcbiIKLSIzMiBiaXQgTVMtRE9TIHZlcnNpb24iCisiMzItYml0IE1TLURPUyB2ZXJzaW9uIgogbXNnc3RyICIiCiAiXG4iCiAiVmVyc2nzIHBlciBNUy1ET1MgMzIgYml0cyIKIAogbXNnaWQgIiIKICJcbiIKLSIxNiBiaXQgTVMtRE9TIHZlcnNpb24iCisiMTYtYml0IE1TLURPUyB2ZXJzaW9uIgogbXNnc3RyICIiCiAiXG4iCiAiVmVyc2nzIHBlciBNUy1ET1MgMTYgYml0cyIKZGlmZiAtLWdpdCBhL3NyYy9wby9jcy5jcDEyNTAucG8gYi9zcmMvcG8vY3MuY3AxMjUwLnBvCmluZGV4IGEwNjUwY2YuLjIzODAyMjEgMTAwNjQ0Ci0tLSBhL3NyYy9wby9jcy5jcDEyNTAucG8KKysrIGIvc3JjL3BvL2NzLmNwMTI1MC5wbwpAQCAtNDEyMSwxNCArNDEyMSwxNCBAQAogIy4gT25seSBNUyBWQyA0LjEgYW5kIGVhcmxpZXIgY2FuIGRvIFdpbjMycwogbXNnaWQgIiIKICJcbiIKLSJNUy1XaW5kb3dzIDE2LzMyIGJpdCBHVUkgdmVyc2lvbiIKKyJNUy1XaW5kb3dzIDE2LzMyLWJpdCBHVUkgdmVyc2lvbiIKIG1zZ3N0ciAiIgogIlxuIgogIjE2LzMyIGJpdG924SBHVUkgdmVyemUgcHJvIE1TIFdpbmRvd3MiCiAKIG1zZ2lkICIiCiAiXG4iCi0iTVMtV2luZG93cyAzMiBiaXQgR1VJIHZlcnNpb24iCisiTVMtV2luZG93cyAzMi1iaXQgR1VJIHZlcnNpb24iCiBtc2dzdHIgIiIKICJcbiIKICIzMiBiaXRvduEgR1VJIHZlcnplIHBybyBNUyBXaW5kb3dzIgpAQCAtNDE0MSwyOCArNDE0MSwyOCBAQAogCiBtc2dpZCAiIgogIlxuIgotIk1TLVdpbmRvd3MgMzIgYml0IGNvbnNvbGUgdmVyc2lvbiIKKyJNUy1XaW5kb3dzIDMyLWJpdCBjb25zb2xlIHZlcnNpb24iCiBtc2dzdHIgIiIKICJcbiIKICIzMiBiaXRvduEgdmVyemUgcHJvIE1TIFdpbmRvd3Mga29uem9sdSIKIAogbXNnaWQgIiIKICJcbiIKLSJNUy1XaW5kb3dzIDE2IGJpdCB2ZXJzaW9uIgorIk1TLVdpbmRvd3MgMTYtYml0IHZlcnNpb24iCiBtc2dzdHIgIiIKICJcbiIKICIxNiBiaXRvduEgdmVyemUgcHJvIE1TIFdpbmRvd3MiCiAKIG1zZ2lkICIiCiAiXG4iCi0iMzIgYml0IE1TLURPUyB2ZXJzaW9uIgorIjMyLWJpdCBNUy1ET1MgdmVyc2lvbiIKIG1zZ3N0ciAiIgogIlxuIgogIjMyIGJpdG924SB2ZXJ6ZSBwcm8gTVMgV2luZG93cyIKIAogbXNnaWQgIiIKICJcbiIKLSIxNiBiaXQgTVMtRE9TIHZlcnNpb24iCisiMTYtYml0IE1TLURPUyB2ZXJzaW9uIgogbXNnc3RyICIiCiAiXG4iCiAiMTYgYml0b3bhIE1TLURPUyB2ZXJ6ZSIKZGlmZiAtLWdpdCBhL3NyYy9wby9jcy5wbyBiL3NyYy9wby9jcy5wbwppbmRleCAwNDYzMmZjLi41YzIzMmY2IDEwMDY0NAotLS0gYS9zcmMvcG8vY3MucG8KKysrIGIvc3JjL3BvL2NzLnBvCkBAIC00MTIxLDE0ICs0MTIxLDE0IEBACiAjLiBPbmx5IE1TIFZDIDQuMSBhbmQgZWFybGllciBjYW4gZG8gV2luMzJzCiBtc2dpZCAiIgogIlxuIgotIk1TLVdpbmRvd3MgMTYvMzIgYml0IEdVSSB2ZXJzaW9uIgorIk1TLVdpbmRvd3MgMTYvMzItYml0IEdVSSB2ZXJzaW9uIgogbXNnc3RyICIiCiAiXG4iCiAiMTYvMzIgYml0b3bhIEdVSSB2ZXJ6ZSBwcm8gTVMgV2luZG93cyIKIAogbXNnaWQgIiIKICJcbiIKLSJNUy1XaW5kb3dzIDMyIGJpdCBHVUkgdmVyc2lvbiIKKyJNUy1XaW5kb3dzIDMyLWJpdCBHVUkgdmVyc2lvbiIKIG1zZ3N0ciAiIgogIlxuIgogIjMyIGJpdG924SBHVUkgdmVyemUgcHJvIE1TIFdpbmRvd3MiCkBAIC00MTQxLDI4ICs0MTQxLDI4IEBACiAKIG1zZ2lkICIiCiAiXG4iCi0iTVMtV2luZG93cyAzMiBiaXQgY29uc29sZSB2ZXJzaW9uIgorIk1TLVdpbmRvd3MgMzItYml0IGNvbnNvbGUgdmVyc2lvbiIKIG1zZ3N0ciAiIgogIlxuIgogIjMyIGJpdG924SB2ZXJ6ZSBwcm8gTVMgV2luZG93cyBrb256b2x1IgogCiBtc2dpZCAiIgogIlxuIgotIk1TLVdpbmRvd3MgMTYgYml0IHZlcnNpb24iCisiTVMtV2luZG93cyAxNi1iaXQgdmVyc2lvbiIKIG1zZ3N0ciAiIgogIlxuIgogIjE2IGJpdG924SB2ZXJ6ZSBwcm8gTVMgV2luZG93cyIKIAogbXNnaWQgIiIKICJcbiIKLSIzMiBiaXQgTVMtRE9TIHZlcnNpb24iCisiMzItYml0IE1TLURPUyB2ZXJzaW9uIgogbXNnc3RyICIiCiAiXG4iCiAiMzIgYml0b3bhIHZlcnplIHBybyBNUyBXaW5kb3dzIgogCiBtc2dpZCAiIgogIlxuIgotIjE2IGJpdCBNUy1ET1MgdmVyc2lvbiIKKyIxNi1iaXQgTVMtRE9TIHZlcnNpb24iCiBtc2dzdHIgIiIKICJcbiIKICIxNiBiaXRvduEgTVMtRE9TIHZlcnplIgpkaWZmIC0tZ2l0IGEvc3JjL3BvL2RlLnBvIGIvc3JjL3BvL2RlLnBvCmluZGV4IDNhODk3ZjIuLjYwMmUzZWEgMTAwNjQ0Ci0tLSBhL3NyYy9wby9kZS5wbworKysgYi9zcmMvcG8vZGUucG8KQEAgLTU2NiwxMyArNTY2LDEzIEBACiBtc2dpZCAiRTY3NzogRXJyb3Igd3JpdGluZyB0ZW1wIGZpbGUiCiBtc2dzdHIgIkU2Nzc6IEZlaGxlciBiZWltIFNjaHJlaWJlbiBlaW5lciB0ZW1wb3LkcmVuIERhdGVpIgogCi1tc2dpZCAiRTcwMzogVXNpbmcgYSBGdW5jcmVmIGFzIGEgbnVtYmVyIgorbXNnaWQgIkU3MDM6IFVzaW5nIGEgRnVuY3JlZiBhcyBhIE51bWJlciIKIG1zZ3N0ciAiRTcwMzogRnVua3Rpb25zcmVmZXJlbnogYWxzIFphaGwgdmVyd2VuZGV0IgogCi1tc2dpZCAiRTc0NTogVXNpbmcgYSBMaXN0IGFzIGEgbnVtYmVyIgorbXNnaWQgIkU3NDU6IFVzaW5nIGEgTGlzdCBhcyBhIE51bWJlciIKIG1zZ3N0ciAiRTc0NTogTGlzdGUgYWxzIFphaGwgdmVyd2VuZGV0IgogCi1tc2dpZCAiRTcyODogVXNpbmcgYSBEaWN0aW9uYXJ5IGFzIGEgbnVtYmVyIgorbXNnaWQgIkU3Mjg6IFVzaW5nIGEgRGljdGlvbmFyeSBhcyBhIE51bWJlciIKIG1zZ3N0ciAiRTcyODogV/ZydGVyYnVjaCBhbHMgWmFobCB2ZXJ3ZW5kZXQiCiAKIG1zZ2lkICJFNzI5OiB1c2luZyBGdW5jcmVmIGFzIGEgU3RyaW5nIgpAQCAtMTUwOSw3ICsxNTA5LDcgQEAKIG1zZ2lkICJFMjA0OiBBdXRvY29tbWFuZCBjaGFuZ2VkIG51bWJlciBvZiBsaW5lcyBpbiB1bmV4cGVjdGVkIHdheSIKIG1zZ3N0ciAiRTIwNDogQXV0b2tvbW1hbmRvcyBoYWJlbiBkaWUgQW56YWhsIGRlciBaZWlsZW4gaW4gdW5lcndhcnRldGVyIFdlaXNlIHZlcuRuZGVydCIKIAotbXNnaWQgIk5ldEJlYW5zIGRpc3NhbGxvd3Mgd3JpdGVzIG9mIHVubW9kaWZpZWQgYnVmZmVycyIKK21zZ2lkICJOZXRCZWFucyBkaXNhbGxvd3Mgd3JpdGVzIG9mIHVubW9kaWZpZWQgYnVmZmVycyIKIG1zZ3N0ciAiTmV0QmVhbnMgdmVyd2VpZ2VydCBkYXMgU2NocmVpYmVuIHZvbiB1bnZlcuRuZGVydGVuIFB1ZmZlcm4iCiAKIG1zZ2lkICJQYXJ0aWFsIHdyaXRlcyBkaXNhbGxvd2VkIGZvciBOZXRCZWFucyBidWZmZXJzIgpAQCAtNTI5MCwxNCArNTI5MCwxNCBAQAogIy4gT25seSBNUyBWQyA0LjEgYW5kIGVhcmxpZXIgY2FuIGRvIFdpbjMycwogbXNnaWQgIiIKICJcbiIKLSJNUy1XaW5kb3dzIDE2LzMyIGJpdCBHVUkgdmVyc2lvbiIKKyJNUy1XaW5kb3dzIDE2LzMyLWJpdCBHVUkgdmVyc2lvbiIKIG1zZ3N0ciAiIgogIlxuIgogIk1TLVdpbmRvd3MgMTYvMzIgQml0IEdVSSBWZXJzaW9uIgogCiBtc2dpZCAiIgogIlxuIgotIk1TLVdpbmRvd3MgMzIgYml0IEdVSSB2ZXJzaW9uIgorIk1TLVdpbmRvd3MgMzItYml0IEdVSSB2ZXJzaW9uIgogbXNnc3RyICIiCiAiXG4iCiAiTVMtV2luZG93cyAzMiBCaXQgR1VJIFZlcnNpb24iCkBAIC01MzEwLDI4ICs1MzEwLDI4IEBACiAKIG1zZ2lkICIiCiAiXG4iCi0iTVMtV2luZG93cyAzMiBiaXQgY29uc29sZSB2ZXJzaW9uIgorIk1TLVdpbmRvd3MgMzItYml0IGNvbnNvbGUgdmVyc2lvbiIKIG1zZ3N0ciAiIgogIlxuIgogIk1TLVdpbmRvd3MgMzIgQml0IEtvbnNvbGVuLVZlcnNpb24iCiAKIG1zZ2lkICIiCiAiXG4iCi0iTVMtV2luZG93cyAxNiBiaXQgdmVyc2lvbiIKKyJNUy1XaW5kb3dzIDE2LWJpdCB2ZXJzaW9uIgogbXNnc3RyICIiCiAiXG4iCiAiTVMtV2luZG93cyAxNiBCaXQgVmVyc2lvbiIKIAogbXNnaWQgIiIKICJcbiIKLSIzMiBiaXQgTVMtRE9TIHZlcnNpb24iCisiMzItYml0IE1TLURPUyB2ZXJzaW9uIgogbXNnc3RyICIiCiAiXG4iCiAiMzIgQml0IE1TLURPUyBWZXJzaW9uIgogCiBtc2dpZCAiIgogIlxuIgotIjE2IGJpdCBNUy1ET1MgdmVyc2lvbiIKKyIxNi1iaXQgTVMtRE9TIHZlcnNpb24iCiBtc2dzdHIgIiIKICJcbiIKICIxNiBCaXQgTVMtRE9TIFZlcnNpb24iCmRpZmYgLS1naXQgYS9zcmMvcG8vZW8ucG8gYi9zcmMvcG8vZW8ucG8KaW5kZXggM2FhMWJhMy4uZmM4OTcwNiAxMDA2NDQKLS0tIGEvc3JjL3BvL2VvLnBvCisrKyBiL3NyYy9wby9lby5wbwpAQCAtOCw4ICs4LDYgQEAKICMgICAgICAgICAgICAgICAgIEFudG9ubyBNRUNIRUxZTkNLIDxhbnRvaW5lLm1lY2hlbHluY2sgxIllIHNreW5ldC5iZT4KICMgICAgICAgICAgICAgICAgIFl2ZXMgTkVWRUxTVEVFTgogIwotIyBMYXN0YSDFnWFuxJ1vOiAyNiBBcHIgMjAwOAotIwogIyBVeml0YWogdm9ydGFyb2oga2FqIGZha3ZvcnRhcm9qOgogIyAgIFJldm86ICAgICAgICAgICAgICAgIGh0dHA6Ly93d3cucmV0YS12b3J0YXJvLmRlL3Jldm8vCiAjICAgS29tcHV0ZWtvOiAgICAgICAgICAgaHR0cDovL2tvbXB1dGVrby5uZXQvaW5kZXhfZW8ucGhwCkBAIC0yNSw4ICsyMyw4IEBACiBtc2dzdHIgIiIKICJQcm9qZWN0LUlkLVZlcnNpb246IFZpbShFc3BlcmFudG8pXG4iCiAiUmVwb3J0LU1zZ2lkLUJ1Z3MtVG86IFxuIgotIlBPVC1DcmVhdGlvbi1EYXRlOiAyMDA4LTAxLTEyIDE4OjA1KzAxMDBcbiIKLSJQTy1SZXZpc2lvbi1EYXRlOiAyMDA4LTA0LTI2IDE4OjE0KzAxMDBcbiIKKyJQT1QtQ3JlYXRpb24tRGF0ZTogMjAwOC0wNi0yNyAyMjo1MiswMjAwXG4iCisiUE8tUmV2aXNpb24tRGF0ZTogMjAwOC0wNi0yNyAyMzowMSswMjAwXG4iCiAiTGFzdC1UcmFuc2xhdG9yOiBEb21pbmlxdWUgUEVMTMOJIDxkb21pbmlxdWUucGVsbGVAZ21haWwuY29tPlxuIgogIkxhbmd1YWdlLVRlYW06IFxuIgogIk1JTUUtVmVyc2lvbjogMS4wXG4iCkBAIC00NzAsNiArNDY4LDkgQEAKIG1zZ2lkICJFNjk0OiBJbnZhbGlkIG9wZXJhdGlvbiBmb3IgRnVuY3JlZnMiCiBtc2dzdHIgIkU2OTQ6IE5ldmFsaWRhIG9wZXJhY2lvIGRlIEZ1bmNyZWYtb2oiCiAKK21zZ2lkICJFODA0OiBDYW5ub3QgdXNlICclJyB3aXRoIEZsb2F0IgorbXNnc3RyICJFODA0OiBOZSBlYmxhcyB1emkgJyUnIGt1biBnbGl0cHVua3Rub21icm8iCisKIG1zZ2lkICJFMTEwOiBNaXNzaW5nICcpJyIKIG1zZ3N0ciAiRTExMDogTWFua2FzICcpJyIKIApAQCAtNTM1LDYgKzUzNiw5IEBACiBtc2dpZCAiRTcyNTogQ2FsbGluZyBkaWN0IGZ1bmN0aW9uIHdpdGhvdXQgRGljdGlvbmFyeTogJXMiCiBtc2dzdHIgIkU3MjU6IEFsdm9rbyBkZSBmdW5rY2lvIGRpY3Qgc2VuIFZvcnRhcm86ICVzIgogCittc2dpZCAiRTgwODogTnVtYmVyIG9yIEZsb2F0IHJlcXVpcmVkIgorbXNnc3RyICJFODA4OiBOb21icm8gYcWtIEdsaXRwdW5rdG5vbWJybyBiZXpvbmF0YSIKKwogbXNnaWQgIkU2OTk6IFRvbyBtYW55IGFyZ3VtZW50cyIKIG1zZ3N0ciAiRTY5OTogVHJvIGRhIGFyZ3VtZW50b2oiCiAKQEAgLTYxMSwxNyArNjE1LDIwIEBACiBtc2dpZCAiRTY3NzogRXJyb3Igd3JpdGluZyB0ZW1wIGZpbGUiCiBtc2dzdHIgIkU2Nzc6IEVyYXJvIGR1bSBza3JpYm8gZGUgcHJvdml6b3JhIGRvc2llcm8iCiAKLW1zZ2lkICJFNzAzOiBVc2luZyBhIEZ1bmNyZWYgYXMgYSBudW1iZXIiCi1tc2dzdHIgIkU3MDM6IFV6byBkZSBGdW5jcmVmIGtpZWwgbm9tYnJvIgorbXNnaWQgIkU4MDU6IFVzaW5nIGEgRmxvYXQgYXMgYSBOdW1iZXIiCittc2dzdHIgIkU4MDU6IFV6byBkZSBHbGl0cHVua3Rub21icm8ga2llbCBOb21icm8iCiAKLW1zZ2lkICJFNzQ1OiBVc2luZyBhIExpc3QgYXMgYSBudW1iZXIiCi1tc2dzdHIgIkU3NDU6IFV6byBkZSBMaXN0byBraWVsIG5vbWJybyIKK21zZ2lkICJFNzAzOiBVc2luZyBhIEZ1bmNyZWYgYXMgYSBOdW1iZXIiCittc2dzdHIgIkU3MDM6IFV6byBkZSBGdW5jcmVmIGtpZWwgTm9tYnJvIgogCi1tc2dpZCAiRTcyODogVXNpbmcgYSBEaWN0aW9uYXJ5IGFzIGEgbnVtYmVyIgotbXNnc3RyICJFNzI4OiBVem8gZGUgVm9ydGFybyBraWVsIG5vbWJybyIKK21zZ2lkICJFNzQ1OiBVc2luZyBhIExpc3QgYXMgYSBOdW1iZXIiCittc2dzdHIgIkU3NDU6IFV6byBkZSBMaXN0byBraWVsIE5vbWJybyIKKworbXNnaWQgIkU3Mjg6IFVzaW5nIGEgRGljdGlvbmFyeSBhcyBhIE51bWJlciIKK21zZ3N0ciAiRTcyODogVXpvIGRlIFZvcnRhcm8ga2llbCBOb21icm8iCiAKIG1zZ2lkICJFNzI5OiB1c2luZyBGdW5jcmVmIGFzIGEgU3RyaW5nIgotbXNnc3RyICJFNzI5OiB1em8gZGUgRnVuY3JlZiBraWVsIMSJZW5vIgorbXNnc3RyICJFNzI5OiB1em8gZGUgRnVuY3JlZiBraWVsIMSIZW5vIgogCiBtc2dpZCAiRTczMDogdXNpbmcgTGlzdCBhcyBhIFN0cmluZyIKIG1zZ3N0ciAiRTczMDogdXpvIGRlIExpc3RvIGtpZWwgxIhlbm8iCkBAIC02MjksNiArNjM2LDkgQEAKIG1zZ2lkICJFNzMxOiB1c2luZyBEaWN0aW9uYXJ5IGFzIGEgU3RyaW5nIgogbXNnc3RyICJFNzMxOiB1em8gZGUgVm9ydGFybyBraWVsIMSIZW5vIgogCittc2dpZCAiRTgwNjogdXNpbmcgRmxvYXQgYXMgYSBTdHJpbmciCittc2dzdHIgIkU4MDY6IHV6byBkZSBHbGl0cHVua3RudW1icm8ga2llbCDEiGVubyIKKwogIywgYy1mb3JtYXQKIG1zZ2lkICJFNzA0OiBGdW5jcmVmIHZhcmlhYmxlIG5hbWUgbXVzdCBzdGFydCB3aXRoIGEgY2FwaXRhbDogJXMiCiBtc2dzdHIgIkU3MDQ6IE5vbW8gZGUgdmFyaWFibG8gRnVuY3JlZiBla2VuZGFzIHBlciBtYWp1c2tsbzogJXMiCkBAIC0xMzI4LDcgKzEzMzgsOCBAQAogIyBEUDogbWkgbmUgY2VydGFzLCDEiXUgPGFidWY+IHRyYWR1a2VibGFzCiAjIEFNOiBsYcWtIG1pIG5lCiBtc2dpZCAiRTQ5Njogbm8gYXV0b2NvbW1hbmQgYnVmZmVyIG51bWJlciB0byBzdWJzdGl0dXRlIGZvciBcIjxhYnVmPlwiIgotbXNnc3RyICJFNDk2OiBuZW5pdSBudW1lcm8gZGUgYnVmcm8gZGUgYcWtdG9rb21hbmRvIHBvciBhbnN0YXRhxa1pZ2kgYWwgXCI8YWJ1Zj5cIiIKK21zZ3N0ciAiIgorIkU0OTY6IG5lbml1IG51bWVybyBkZSBidWZybyBkZSBhxa10b2tvbWFuZG8gcG9yIGFuc3RhdGHFrWlnaSBhbCBcIjxhYnVmPlwiIgogCiAjIERQOiBtaSBuZSBjZXJ0YXMsIMSJdSA8YW1hdGNoPiB0cmFkdWtlYmxhcwogIyBBTTogbGHFrSBtaSBuZQpAQCAtMTYwNCw3ICsxNjE1LDcgQEAKIG1zZ2lkICJFMjA0OiBBdXRvY29tbWFuZCBjaGFuZ2VkIG51bWJlciBvZiBsaW5lcyBpbiB1bmV4cGVjdGVkIHdheSIKIG1zZ3N0ciAiRTIwNDogQcWtdG9rb21hbmRvIMWdYW7EnWlzIGxhIG5vbWJyb24gZGUgbGluaW9qIG5lYXRlbmRpdGUiCiAKLW1zZ2lkICJOZXRCZWFucyBkaXNzYWxsb3dzIHdyaXRlcyBvZiB1bm1vZGlmaWVkIGJ1ZmZlcnMiCittc2dpZCAiTmV0QmVhbnMgZGlzYWxsb3dzIHdyaXRlcyBvZiB1bm1vZGlmaWVkIGJ1ZmZlcnMiCiBtc2dzdHIgIk5ldEJlYW5zIG1hbHBlcm1lc2FzIHNrcmlib2puIGRlIG5lxZ1hbsSdaXRhaiBidWZyb2oiCiAKIG1zZ2lkICJQYXJ0aWFsIHdyaXRlcyBkaXNhbGxvd2VkIGZvciBOZXRCZWFucyBidWZmZXJzIgpAQCAtMjUzOSw4ICsyNTUwLDggQEAKIG1zZ3N0ciAibnVtZXJvIGRlIGxpbmlvIGVrc3RlciBsaW1vaiIKIAogIywgYy1mb3JtYXQKLW1zZ2lkICI8YnVmZmVyIG9iamVjdCAoZGVsZXRlZCkgYXQgJThsWD4iCi1tc2dzdHIgIjxidWZyYSBvYmpla3RvIChmb3J2acWdaXRhKSDEiWUgJThsWD4iCittc2dpZCAiPGJ1ZmZlciBvYmplY3QgKGRlbGV0ZWQpIGF0ICVwPiIKK21zZ3N0ciAiPGJ1ZnJhIG9iamVrdG8gKGZvcnZpxZ1pdGEpIMSJZSAlcD4iCiAKIG1zZ2lkICJpbnZhbGlkIG1hcmsgbmFtZSIKIG1zZ3N0ciAibmV2YWxpZGEgbm9tbyBkZSBtYXJrbyIKQEAgLTI1NTgsMTIgKzI1NjksMTIgQEAKIG1zZ3N0ciAia3Vyc29ybyBwb3ppY2lpdGEgZWtzdGVyIGJ1ZnJvIgogCiAjLCBjLWZvcm1hdAotbXNnaWQgIjx3aW5kb3cgb2JqZWN0IChkZWxldGVkKSBhdCAlLjhsWD4iCi1tc2dzdHIgIjxmZW5lc3RyYSBvYmpla3RvIChmb3J2acWdaXRhKSDEiWUgJS44bFg+IgorbXNnaWQgIjx3aW5kb3cgb2JqZWN0IChkZWxldGVkKSBhdCAlcD4iCittc2dzdHIgIjxmZW5lc3RyYSBvYmpla3RvIChmb3J2acWdaXRhKSDEiWUgJXA+IgogCiAjLCBjLWZvcm1hdAotbXNnaWQgIjx3aW5kb3cgb2JqZWN0ICh1bmtub3duKSBhdCAlLjhsWD4iCi1tc2dzdHIgIjxvYmpla3RhIGZlbmVzdHJvIChuZWtvbmF0YSkgxIllICUuOGxYPiIKK21zZ2lkICI8d2luZG93IG9iamVjdCAodW5rbm93bikgYXQgJXA+IgorbXNnc3RyICI8b2JqZWt0YSBmZW5lc3RybyAobmVrb25hdGEpIMSJZSAlcD4iCiAKICMsIGMtZm9ybWF0CiBtc2dpZCAiPHdpbmRvdyAlZD4iCkBAIC0yOTAzLDcgKzI5MTQsNyBAQAogbXNnc3RyICItZ1x0XHRcdFJ1bGkgcGVyIGdyYWZpa2EgaW50ZXJmYWNvIChraWVsIFwiZ3ZpbVwiKSIKIAogbXNnaWQgIi1mICBvciAgLS1ub2ZvcmtcdEZvcmVncm91bmQ6IERvbid0IGZvcmsgd2hlbiBzdGFydGluZyBHVUkiCi1tc2dzdHIgIi1mLCAtLW5vZm9ya1x0TWFsZm9ubzogbmUgZm9ya2kga2lhbSBsYW7EiWFzIGdyYWZpa2FuIGludGVyZmFjb24iCittc2dzdHIgIi1mICBhxa0gIC0tbm9mb3JrXHRNYWxmb25vOiBuZSBmb3JraSBraWFtIGxhbsSJYXMgZ3JhZmlrYW4gaW50ZXJmYWNvbiIKIAogbXNnaWQgIi12XHRcdFx0VmkgbW9kZSAobGlrZSBcInZpXCIpIgogbXNnc3RyICItdlx0XHRcdFJlxJ1pbW8gVmkgKGtpZWwgXCJ2aVwiKSIKQEAgLTMwNTcsNyArMzA2OCw4IEBACiBtc2dpZCAiIgogIi0tcmVtb3RlLXRhYlstd2FpdF1bLXNpbGVudF0gPGZpbGVzPiAgQXMgLS1yZW1vdGUgYnV0IHVzZSB0YWIgcGFnZSBwZXIgZmlsZSIKIG1zZ3N0ciAiIgotIi0tcmVtb3RlLXRhYlstd2FpdF1bLXNpbGVudF0gPGRvc2llcm9qPiBLaWVsIC0tcmVtb3RlIHNlZCB1emkgbGFuZ2V0b24gcG9yIMSJaXUgZG9zaWVybyIKKyItLXJlbW90ZS10YWJbLXdhaXRdWy1zaWxlbnRdIDxkb3NpZXJvaj4gS2llbCAtLXJlbW90ZSBzZWQgdXppIGxhbmdldG9uIHBvciAiCisixIlpdSBkb3NpZXJvIgogCiBtc2dpZCAiLS1yZW1vdGUtc2VuZCA8a2V5cz5cdFNlbmQgPGtleXM+IHRvIGEgVmltIHNlcnZlciBhbmQgZXhpdCIKIG1zZ3N0ciAiLS1yZW1vdGUtc2VuZCA8a2xhdm9qPiBTZW5kaSA8a2xhdm9qPi1uIGFsIFZpbS1zZXJ2aWxvIGthaiBlbGlyaSIKQEAgLTMxNDcsNyArMzE1OSw3IEBACiBtc2dzdHIgIi1yZXZlcnNlXHRcdFV6aSBpbnZlcnNhbiB2aWRlb24gKGFua2HFrTogLXJ2KSIKIAogbXNnaWQgIityZXZlcnNlXHRcdERvbid0IHVzZSByZXZlcnNlIHZpZGVvIChhbHNvOiArcnYpIgotbXNnc3RyICIrcmV2ZXJzZVx0XHRcdCBOZSB1emkgaW52ZXJzYW4gdmlkZW9uIChhbmthxa06ICtydikiCittc2dzdHIgIityZXZlcnNlXHRcdE5lIHV6aSBpbnZlcnNhbiB2aWRlb24gKGFua2HFrTogK3J2KSIKIAogbXNnaWQgIi14cm0gPHJlc291cmNlPlx0U2V0IHRoZSBzcGVjaWZpZWQgcmVzb3VyY2UiCiBtc2dzdHIgIi14cm0gPHJpbWVkbz5cdEFnb3JkaSBsYSBzcGVjaWZpdGFuIDxyaW1lZG8+LW4iCkBAIC0zMzM0LDcgKzMzNDYsOCBAQAogCiAjLCBjLWZvcm1hdAogbXNnaWQgIkUzMDM6IFVuYWJsZSB0byBvcGVuIHN3YXAgZmlsZSBmb3IgXCIlc1wiLCByZWNvdmVyeSBpbXBvc3NpYmxlIgotbXNnc3RyICJFMzAzOiBOZSBlYmxhcyBtYWxmZXJtaSBwZXJtdXRvZG9zaWVyb24gLnN3cCBkZSBcIiVzXCIsIHJlc3Rhxa1ybyBuZWVibGFzIgorbXNnc3RyICIiCisiRTMwMzogTmUgZWJsYXMgbWFsZmVybWkgcGVybXV0b2Rvc2llcm9uIC5zd3AgZGUgXCIlc1wiLCByZXN0YcWtcm8gbmVlYmxhcyIKIAogbXNnaWQgIkUzMDQ6IG1sX3VwZF9ibG9jazAoKTogRGlkbid0IGdldCBibG9jayAwPz8iCiBtc2dzdHIgIkUzMDQ6IG1sX3VwZF9ibG9jazAoKTogTmUgYWtpcmlzIGJsb2tvbiAwPz8iCkBAIC0zODQyLDYgKzM4NTUsOSBAQAogbXNnaWQgIkU3NjY6IEluc3VmZmljaWVudCBhcmd1bWVudHMgZm9yIHByaW50ZigpIgogbXNnc3RyICJFNzY2OiBOZSBzdWZpxIlhaiBhcmd1bWVudG9qIHBvciBwcmludGYoKSIKIAorbXNnaWQgIkU4MDc6IEV4cGVjdGVkIEZsb2F0IGFyZ3VtZW50IGZvciBwcmludGYoKSIKK21zZ3N0ciAiRTgwNzogQXRlbmRpcyBHbGl0cHVua3Rub21icm9uIGtpZWwgYXJndW1lbnRvIGRlIHByaW50ZigpIgorCiBtc2dpZCAiRTc2NzogVG9vIG1hbnkgYXJndW1lbnRzIHRvIHByaW50ZigpIgogbXNnc3RyICJFNzY3OiBUcm8gZGEgYXJndW1lbnRvaiBhbCBwcmludGYoKSIKIApAQCAtMzk2NSw3ICszOTgxLDYgQEAKIG1zZ2lkICJFMzQ3OiBObyBtb3JlIGZpbGUgXCIlc1wiIGZvdW5kIGluIHBhdGgiCiBtc2dzdHIgIkUzNDc6IE5lIHBsdSB0cm92aXMgZG9zaWVyb24gXCIlc1wiIGVuIHNlcsSJdm9qbyIKIAotIy4gR2V0IGhlcmUgd2hlbiB0aGUgc2VydmVyIGNhbid0IGJlIGZvdW5kLgogbXNnaWQgIkNhbm5vdCBjb25uZWN0IHRvIE5ldGJlYW5zICMyIgogbXNnc3RyICJOZSBlYmxhcyBrb25la3RpIGFsIE5ldGJlYW5zIG4tcm8gMiIKIApAQCAtMzk3NCw3ICszOTg5LDggQEAKIAogIywgYy1mb3JtYXQKIG1zZ2lkICJFNjY4OiBXcm9uZyBhY2Nlc3MgbW9kZSBmb3IgTmV0QmVhbnMgY29ubmVjdGlvbiBpbmZvIGZpbGU6IFwiJXNcIiIKLW1zZ3N0ciAiRTY2ODogTmV2YWxpZGEgcGVybWVzbyBkZSBkb3NpZXJvIGRlIGluZm9ybW8gZGUga29uZWt0byBOZXRCZWFuczogXCIlc1wiIgorbXNnc3RyICIiCisiRTY2ODogTmV2YWxpZGEgcGVybWVzbyBkZSBkb3NpZXJvIGRlIGluZm9ybW8gZGUga29uZWt0byBOZXRCZWFuczogXCIlc1wiIgogCiBtc2dpZCAicmVhZCBmcm9tIE5ldGJlYW5zIHNvY2tldCIKIG1zZ3N0ciAibGVnbyBlbCBrb250YWt0b3NrYXRvbG8gZGUgTmV0YmVhbnMiCkBAIC00NDExLDYgKzQ0MjcsMjAgQEAKIAogbXNnaWQgIiIKICJcbiIKKyJDb3VsZCBub3QgZ2V0IHNlY3VyaXR5IGNvbnRleHQgZm9yICIKK21zZ3N0ciAiIgorIlxuIgorIk5lIHBvdmlzIGFraXJpIGt1bnRla3N0b24gZGUgc2VrdXJlY28gcG9yICIKKworbXNnaWQgIiIKKyJcbiIKKyJDb3VsZCBub3Qgc2V0IHNlY3VyaXR5IGNvbnRleHQgZm9yICIKK21zZ3N0ciAiIgorIlxuIgorIk5lIHBvdmlzIMWdYWx0aSBrdW50ZWtzdG9uIGRlIHNla3VyZWNvIHBvciAiCisKK21zZ2lkICIiCisiXG4iCiAiQ2Fubm90IGV4ZWN1dGUgc2hlbGwgIgogbXNnc3RyICIiCiAiXG4iCkBAIC01NTM0LDI0ICs1NTY0LDI0IEBACiAjLiBPbmx5IE1TIFZDIDQuMSBhbmQgZWFybGllciBjYW4gZG8gV2luMzJzCiBtc2dpZCAiIgogIlxuIgotIk1TLVdpbmRvd3MgMTYvMzIgYml0IEdVSSB2ZXJzaW9uIgorIk1TLVdpbmRvd3MgMTYvMzItYml0IEdVSSB2ZXJzaW9uIgogbXNnc3RyICIiCiAiXG4iCi0iR3JhZmlrYSB2ZXJzaW8gTVMtVmluZG96byAxNi8zMiBiaXRvaiIKKyJHcmFmaWthIHZlcnNpbyBNUy1WaW5kb3pvIDE2LzMyLWJpdG9qIgogCiBtc2dpZCAiIgogIlxuIgotIk1TLVdpbmRvd3MgNjQgYml0IEdVSSB2ZXJzaW9uIgorIk1TLVdpbmRvd3MgNjQtYml0IEdVSSB2ZXJzaW9uIgogbXNnc3RyICIiCiAiXG4iCi0iR3JhZmlrYSB2ZXJzaW8gTVMtVmluZG96byA2NCBiaXRvaiIKKyJHcmFmaWthIHZlcnNpbyBNUy1WaW5kb3pvIDY0LWJpdG9qIgogCiBtc2dpZCAiIgogIlxuIgotIk1TLVdpbmRvd3MgMzIgYml0IEdVSSB2ZXJzaW9uIgorIk1TLVdpbmRvd3MgMzItYml0IEdVSSB2ZXJzaW9uIgogbXNnc3RyICIiCiAiXG4iCi0iR3JhZmlrYSB2ZXJzaW8gTVMtVmluZG96byAzMiBiaXRvaiIKKyJHcmFmaWthIHZlcnNpbyBNUy1WaW5kb3pvIDMyLWJpdG9qIgogCiBtc2dpZCAiIGluIFdpbjMycyBtb2RlIgogbXNnc3RyICIgZW4gcmXEnWltbyBXaW4zMnMiCkBAIC01NTYxLDMxICs1NTkxLDM4IEBACiAKIG1zZ2lkICIiCiAiXG4iCi0iTVMtV2luZG93cyAzMiBiaXQgY29uc29sZSB2ZXJzaW9uIgorIk1TLVdpbmRvd3MgNjQtYml0IGNvbnNvbGUgdmVyc2lvbiIKIG1zZ3N0ciAiIgogIlxuIgotIlZlcnNpbyBrb256b2xhIE1TLVZpbmRvem8gMzIgYml0b2oiCisiVmVyc2lvIGtvbnpvbGEgTVMtVmluZG96byA2NC1iaXRvaiIKIAogbXNnaWQgIiIKICJcbiIKLSJNUy1XaW5kb3dzIDE2IGJpdCB2ZXJzaW9uIgorIk1TLVdpbmRvd3MgMzItYml0IGNvbnNvbGUgdmVyc2lvbiIKIG1zZ3N0ciAiIgogIlxuIgotIlZlcnNpbyBNUy1WaW5kb3pvIDE2IGJpdG9qIgorIlZlcnNpbyBrb256b2xhIE1TLVZpbmRvem8gMzItYml0b2oiCiAKIG1zZ2lkICIiCiAiXG4iCi0iMzIgYml0IE1TLURPUyB2ZXJzaW9uIgorIk1TLVdpbmRvd3MgMTYtYml0IHZlcnNpb24iCiBtc2dzdHIgIiIKICJcbiIKLSJWZXJzaW8gTVMtRE9TIDMyIGJpdG9qIgorIlZlcnNpbyBNUy1WaW5kb3pvIDE2LWJpdG9qIgogCiBtc2dpZCAiIgogIlxuIgotIjE2IGJpdCBNUy1ET1MgdmVyc2lvbiIKKyIzMi1iaXQgTVMtRE9TIHZlcnNpb24iCiBtc2dzdHIgIiIKICJcbiIKLSJWZXJzaW8gTVMtRE9TIDE2IGJpdG9qIgorIlZlcnNpbyBNUy1ET1MgMzItYml0b2oiCisKK21zZ2lkICIiCisiXG4iCisiMTYtYml0IE1TLURPUyB2ZXJzaW9uIgorbXNnc3RyICIiCisiXG4iCisiVmVyc2lvIE1TLURPUyAxNi1iaXRvaiIKIAogbXNnaWQgIiIKICJcbiIKZGlmZiAtLWdpdCBhL3NyYy9wby9lcy5wbyBiL3NyYy9wby9lcy5wbwppbmRleCAzZjM2MmViLi40ZjIwMGJjIDEwMDY0NAotLS0gYS9zcmMvcG8vZXMucG8KKysrIGIvc3JjL3BvL2VzLnBvCkBAIC0xNDIzLDcgKzE0MjMsNyBAQAogbXNnc3RyICIiCiAiRTIwNDogRWwgYXV0b2NvbWFuZG8gaGEgY2FtYmlhZG8gZWwgbvptZXJvIGRlIGztbmVhcyBlbiBmb3JtYSBpbmVzcGVyYWRhLiIKIAotbXNnaWQgIk5ldEJlYW5zIGRpc3NhbGxvd3Mgd3JpdGVzIG9mIHVubW9kaWZpZWQgYnVmZmVycyIKK21zZ2lkICJOZXRCZWFucyBkaXNhbGxvd3Mgd3JpdGVzIG9mIHVubW9kaWZpZWQgYnVmZmVycyIKIG1zZ3N0ciAiTmV0QmVhbnMgbm8gcGVybWl0ZSBxdWUgc2UgZXNjcmliYSBzb2JyZSCrYnVmZmVyc7sgc2luIG1vZGlmaWNhci4iCiAKIG1zZ2lkICJQYXJ0aWFsIHdyaXRlcyBkaXNhbGxvd2VkIGZvciBOZXRCZWFucyBidWZmZXJzIgpAQCAtNDc2MSwxNCArNDc2MSwxNCBAQAogIy4gT25seSBNUyBWQyA0LjEgYW5kIGVhcmxpZXIgY2FuIGRvIFdpbjMycwogbXNnaWQgIiIKICJcbiIKLSJNUy1XaW5kb3dzIDE2LzMyIGJpdCBHVUkgdmVyc2lvbiIKKyJNUy1XaW5kb3dzIDE2LzMyLWJpdCBHVUkgdmVyc2lvbiIKIG1zZ3N0ciAiIgogIlxuIgogIlZlcnNp824gR1VJIGRlIDE2LzMyIGJpdHMgcGFyYSBNUy1XaW5kb3dzIgogCiBtc2dpZCAiIgogIlxuIgotIk1TLVdpbmRvd3MgMzIgYml0IEdVSSB2ZXJzaW9uIgorIk1TLVdpbmRvd3MgMzItYml0IEdVSSB2ZXJzaW9uIgogbXNnc3RyICIiCiAiXG4iCiAiVmVyc2nzbiBHVUkgZGUgMzIgYml0cyBwYXJhIE1TLVdpbmRvd3MiCkBAIC00NzgxLDI4ICs0NzgxLDI4IEBACiAKIG1zZ2lkICIiCiAiXG4iCi0iTVMtV2luZG93cyAzMiBiaXQgY29uc29sZSB2ZXJzaW9uIgorIk1TLVdpbmRvd3MgMzItYml0IGNvbnNvbGUgdmVyc2lvbiIKIG1zZ3N0ciAiIgogIlxuIgogIlZlcnNp824gZGUgMzIgYml0cyBwYXJhIGNvbnNvbGEgZGUgTVMtV2luZG93cyIKIAogbXNnaWQgIiIKICJcbiIKLSJNUy1XaW5kb3dzIDE2IGJpdCB2ZXJzaW9uIgorIk1TLVdpbmRvd3MgMTYtYml0IHZlcnNpb24iCiBtc2dzdHIgIiIKICJcbiIKICJWZXJzafNuIGRlIDE2IGJpdHMgcGFyYSBNUy1XaW5kb3dzIgogCiBtc2dpZCAiIgogIlxuIgotIjMyIGJpdCBNUy1ET1MgdmVyc2lvbiIKKyIzMi1iaXQgTVMtRE9TIHZlcnNpb24iCiBtc2dzdHIgIiIKICJcbiIKICJWZXJzafNuIGRlIDMyIGJpdHMgcGFyYSBNUy1ET1MiCiAKIG1zZ2lkICIiCiAiXG4iCi0iMTYgYml0IE1TLURPUyB2ZXJzaW9uIgorIjE2LWJpdCBNUy1ET1MgdmVyc2lvbiIKIG1zZ3N0ciAiIgogIlxuIgogIlZlcnNp824gZGUgMTYgYml0cyBwYXJhIE1TLURPUyIKZGlmZiAtLWdpdCBhL3NyYy9wby9maS5wbyBiL3NyYy9wby9maS5wbwppbmRleCBlZjE2NzI0Li42ZWM0NjM1IDEwMDY0NAotLS0gYS9zcmMvcG8vZmkucG8KKysrIGIvc3JjL3BvL2ZpLnBvCkBAIC02MDYsMTMgKzYwNiwxMyBAQAogbXNnaWQgIkU2Nzc6IEVycm9yIHdyaXRpbmcgdGVtcCBmaWxlIgogbXNnc3RyICJFNjc3OiBW5GxpYWlrYWlzdGllZG9zdG9vbiBraXJqb2l0dGFtaW5lbiBlaSBvbm5pc3R1bnV0IgogCi1tc2dpZCAiRTcwMzogVXNpbmcgYSBGdW5jcmVmIGFzIGEgbnVtYmVyIgorbXNnaWQgIkU3MDM6IFVzaW5nIGEgRnVuY3JlZiBhcyBhIE51bWJlciIKIG1zZ3N0ciAiRTcwMzogRnVuY3JlZiBlaSBr5HkgbnVtZXJvc3RhIgogCi1tc2dpZCAiRTc0NTogVXNpbmcgYSBMaXN0IGFzIGEgbnVtYmVyIgorbXNnaWQgIkU3NDU6IFVzaW5nIGEgTGlzdCBhcyBhIE51bWJlciIKIG1zZ3N0ciAiRTc0NTogTGlzdGEgZWkga+R5IG51bWVyb3N0YSIKIAotbXNnaWQgIkU3Mjg6IFVzaW5nIGEgRGljdGlvbmFyeSBhcyBhIG51bWJlciIKK21zZ2lkICJFNzI4OiBVc2luZyBhIERpY3Rpb25hcnkgYXMgYSBOdW1iZXIiCiBtc2dzdHIgIkU3Mjg6IFNhbmFraXJqYSBlaSBr5HkgbnVtZXJvc3RhIgogCiBtc2dpZCAiRTcyOTogdXNpbmcgRnVuY3JlZiBhcyBhIFN0cmluZyIKQEAgLTE1OTEsNyArMTU5MSw3IEBACiBtc2dpZCAiRTIwNDogQXV0b2NvbW1hbmQgY2hhbmdlZCBudW1iZXIgb2YgbGluZXMgaW4gdW5leHBlY3RlZCB3YXkiCiBtc2dzdHIgIkUyMDQ6IEF1dG9jb21tYW5kLWtvbWVudG8gbXV1dHRpIHJpdmllbiBt5ORy5CBvZG90dGFtYXR0YSIKIAotbXNnaWQgIk5ldEJlYW5zIGRpc3NhbGxvd3Mgd3JpdGVzIG9mIHVubW9kaWZpZWQgYnVmZmVycyIKK21zZ2lkICJOZXRCZWFucyBkaXNhbGxvd3Mgd3JpdGVzIG9mIHVubW9kaWZpZWQgYnVmZmVycyIKIG1zZ3N0ciAiTmV0QmVhbnMgZWkgc2FsbGkga2lyam9pdHRhYSBtdW9ra2FhbWF0dG9taWluIHB1c2t1cmVpaGluIgogCiBtc2dpZCAiUGFydGlhbCB3cml0ZXMgZGlzYWxsb3dlZCBmb3IgTmV0QmVhbnMgYnVmZmVycyIKQEAgLTU0OTksMjEgKzU0OTksMjEgQEAKICMuIE9ubHkgTVMgVkMgNC4xIGFuZCBlYXJsaWVyIGNhbiBkbyBXaW4zMnMKIG1zZ2lkICIiCiAiXG4iCi0iTVMtV2luZG93cyAxNi8zMiBiaXQgR1VJIHZlcnNpb24iCisiTVMtV2luZG93cyAxNi8zMi1iaXQgR1VJIHZlcnNpb24iCiBtc2dzdHIgIiIKICJcbiIKICJNUy1XaW5kb3dzIDE2LSB0LiAzMi1iaXR0aW5lbiBHVUktdmVyc2lvIgogCiBtc2dpZCAiIgogIlxuIgotIk1TLVdpbmRvd3MgNjQgYml0IEdVSSB2ZXJzaW9uIgorIk1TLVdpbmRvd3MgNjQtYml0IEdVSSB2ZXJzaW9uIgogbXNnc3RyICIiCiAiXG4iCiAiTVMtV2luZG93cyA2NC1iaXR0aW5lbiBHVUktdmVyc2lvIgogCiBtc2dpZCAiIgogIlxuIgotIk1TLVdpbmRvd3MgMzIgYml0IEdVSSB2ZXJzaW9uIgorIk1TLVdpbmRvd3MgMzItYml0IEdVSSB2ZXJzaW9uIgogbXNnc3RyICIiCiAiXG4iCiAiTVMtV2luZG93cyAzMi1iaXRhcnMgR1VJLXZlcnNpb24iCkBAIC01NTI2LDI4ICs1NTI2LDI4IEBACiAKIG1zZ2lkICIiCiAiXG4iCi0iTVMtV2luZG93cyAzMiBiaXQgY29uc29sZSB2ZXJzaW9uIgorIk1TLVdpbmRvd3MgMzItYml0IGNvbnNvbGUgdmVyc2lvbiIKIG1zZ3N0ciAiIgogIlxuIgogIk1TLVdpbmRvd3MgMzItYml0YXJzIGtvbnNvbGx2ZXJzaW9uIgogCiBtc2dpZCAiIgogIlxuIgotIk1TLVdpbmRvd3MgMTYgYml0IHZlcnNpb24iCisiTVMtV2luZG93cyAxNi1iaXQgdmVyc2lvbiIKIG1zZ3N0ciAiIgogIlxuIgogIk1TLVdpbmRvd3MgMTYtYml0YXJzIHZlcnNpb24iCiAKIG1zZ2lkICIiCiAiXG4iCi0iMzIgYml0IE1TLURPUyB2ZXJzaW9uIgorIjMyLWJpdCBNUy1ET1MgdmVyc2lvbiIKIG1zZ3N0ciAiIgogIlxuIgogIjMyLWJpdGFycyBNUy1ET1MtdmVyc2lvbiIKIAogbXNnaWQgIiIKICJcbiIKLSIxNiBiaXQgTVMtRE9TIHZlcnNpb24iCisiMTYtYml0IE1TLURPUyB2ZXJzaW9uIgogbXNnc3RyICIiCiAiXG4iCiAiMTYtYml0YXJzIE1TLURPUy12ZXJzaW9uIgpkaWZmIC0tZ2l0IGEvc3JjL3BvL2ZyLnBvIGIvc3JjL3BvL2ZyLnBvCmluZGV4IDVlNGU4NjYuLjc5NzFkYmYgMTAwNjQ0Ci0tLSBhL3NyYy9wby9mci5wbworKysgYi9zcmMvcG8vZnIucG8KQEAgLTg3LDE5ICs4NywxNyBAQAogIyAgICAgICAgICAgICAgICAgICAgICAgICAtIDE0IG5ldyBtZXNzYWdlcy4KICMgICAgICAgICAgICAgICAgICAgICAgICAgLSBGaXhlZCBlcnJvciBudW1iZXIgbWlzdGFrZXMgKERvbWluaXF1ZSBQZWxsZSkKICMgICAgICAgICAgICAgICAgICAgICAgICAgLSBGaXhlZCBzcGVsbGluZyBtaXN0YWtlcyAoUGF0cmljayBUZXhpZXIpCisjIDIwMDgtMDctMDEgICAgREIgICAgICBWSU0gNy4yYQorIyAgICAgICAgICAgICAgICAgICAgICAgICAtIFVwZGF0ZWQgbWVzc2FnZXMuCisjICAgICAgICAgICAgICAgICAgICAgICAgIC0gNiBuZXcgbWVzc2FnZXMuCiAjCi0jIFRyYW5zbGF0ZWQ6CSAxNzA4LzE3MDggKDEwMC4wMCUpCi0jCi0jIE5vdGF0aW9ucyB1c2VkIGluIHRoZSBjb21tZW50cyBvZiB0aGUgdW5wb2xpc2hlZCBwYXJ0IG9mIHRoaXMgZmlsZToKLSMgVE9ETwkJVGhlcmUncyB3b3JrIHRvIGRvIHRoZXJlLCBhbmQgaXQncyBpbXBvcnRhbnQKLSMgdG9kbwkJVGhlcmUncyB3b3JrIHRvIGRvIHRoZXJlLCBidXQgaXQncyBsZXNzIGltcG9ydGFudAotIyAobm8gY29tbWVudCkJUGVyaGFwcyB0aGVyZSdzIHdvcmsgdG8gZG8gdGhlcmU/CisjIFRyYW5zbGF0ZWQ6CSAxNzE0LzE3MTQgKDEwMC4wMCUpCiAjCiBtc2dpZCAiIgogbXNnc3RyICIiCiAiUHJvamVjdC1JZC1WZXJzaW9uOiBWaW0oRnJhbudhaXMpXG4iCiAiUmVwb3J0LU1zZ2lkLUJ1Z3MtVG86IFxuIgotIlBPVC1DcmVhdGlvbi1EYXRlOiAyMDA4LTA1LTI4IDIzOjA3KzAyMDBcbiIKKyJQT1QtQ3JlYXRpb24tRGF0ZTogMjAwOC0wNy0wMSAyMjowOCswMjAwXG4iCiAiUE8tUmV2aXNpb24tRGF0ZTogMjAwNi0wNS0wMiAxNDoxNSswMjAwXG4iCiAiTGFzdC1UcmFuc2xhdG9yOiBEYXZpZCBCbGFuY2hldCA8ZGF2aWQuYmxhbmNoZXRAZnJlZS5mcj5cbiIKICJMYW5ndWFnZS1UZWFtOiBBZHJpZW4gQmVhdSA8dmVyc2lvbi5mcmFuY2Fpc2VAZnJlZS5mcj5cbiIKQEAgLTYxNyw2ICs2MTUsOSBAQAogbXNnaWQgIkU2OTQ6IEludmFsaWQgb3BlcmF0aW9uIGZvciBGdW5jcmVmcyIKIG1zZ3N0ciAiRTY5NDogT3DpcmF0aW9uIGludmFsaWRlIGF2ZWMgbGVzIEZ1bmNyZWZzIgogCittc2dpZCAiRTgwNDogQ2Fubm90IHVzZSAnJScgd2l0aCBGbG9hdCIKK21zZ3N0ciAiRTgwNDogSW1wb3NzaWJsZSBkJ3V0aWxpc2VyICclJyBhdmVjIHVuIEZsb3R0YW50IgorCiBtc2dpZCAiRTExMDogTWlzc2luZyAnKSciCiBtc2dzdHIgIkUxMTA6ICcpJyBtYW5xdWFudCIKIApAQCAtNjg3LDYgKzY4OCw5IEBACiBtc2dpZCAiRTcyNTogQ2FsbGluZyBkaWN0IGZ1bmN0aW9uIHdpdGhvdXQgRGljdGlvbmFyeTogJXMiCiBtc2dzdHIgIkU3MjU6IEFwcGVsIGQndW5lIGZvbmN0aW9uIKsgZGljdCC7IHNhbnMgRGljdGlvbm5haXJlIDogJXMiCiAKK21zZ2lkICJFODA4OiBOdW1iZXIgb3IgRmxvYXQgcmVxdWlyZWQiCittc2dzdHIgIkU4MDg6IE5vbWJyZSBvdSBGbG90dGFudCByZXF1aXMiCisKIG1zZ2lkICJFNjk5OiBUb28gbWFueSBhcmd1bWVudHMiCiBtc2dzdHIgIkU2OTk6IFRyb3AgZCdhcmd1bWVudHMiCiAKQEAgLTc3MSwxMyArNzc1LDE2IEBACiBtc2dpZCAiRTY3NzogRXJyb3Igd3JpdGluZyB0ZW1wIGZpbGUiCiBtc2dzdHIgIkU2Nzc6IEVycmV1ciBsb3JzIGRlIGwn6WNyaXR1cmUgZHUgZmljaGllciB0ZW1wb3JhaXJlIgogCi1tc2dpZCAiRTcwMzogVXNpbmcgYSBGdW5jcmVmIGFzIGEgbnVtYmVyIgorbXNnaWQgIkU4MDU6IFVzaW5nIGEgRmxvYXQgYXMgYSBOdW1iZXIiCittc2dzdHIgIkU4MDU6IFV0aWxpc2F0aW9uIGQndW4gRmxvdHRhbnQgY29tbWUgdW4gTm9tYnJlIgorCittc2dpZCAiRTcwMzogVXNpbmcgYSBGdW5jcmVmIGFzIGEgTnVtYmVyIgogbXNnc3RyICJFNzAzOiBVdGlsaXNhdGlvbiBkJ3VuZSBGdW5jcmVmIGNvbW1lIHVuIE5vbWJyZSIKIAotbXNnaWQgIkU3NDU6IFVzaW5nIGEgTGlzdCBhcyBhIG51bWJlciIKK21zZ2lkICJFNzQ1OiBVc2luZyBhIExpc3QgYXMgYSBOdW1iZXIiCiBtc2dzdHIgIkU3NDU6IFV0aWxpc2F0aW9uIGQndW5lIExpc3RlIGNvbW1lIHVuIE5vbWJyZSIKIAotbXNnaWQgIkU3Mjg6IFVzaW5nIGEgRGljdGlvbmFyeSBhcyBhIG51bWJlciIKK21zZ2lkICJFNzI4OiBVc2luZyBhIERpY3Rpb25hcnkgYXMgYSBOdW1iZXIiCiBtc2dzdHIgIkU3Mjg6IFV0aWxpc2F0aW9uIGQndW4gRGljdGlvbm5haXJlIGNvbW1lIHVuIE5vbWJyZSIKIAogbXNnaWQgIkU3Mjk6IHVzaW5nIEZ1bmNyZWYgYXMgYSBTdHJpbmciCkBAIC03ODksNiArNzk2LDkgQEAKIG1zZ2lkICJFNzMxOiB1c2luZyBEaWN0aW9uYXJ5IGFzIGEgU3RyaW5nIgogbXNnc3RyICJFNzMxOiBVdGlsaXNhdGlvbiBkJ3VuIERpY3Rpb25uYWlyZSBjb21tZSB1bmUgQ2hh7m5lIgogCittc2dpZCAiRTgwNjogdXNpbmcgRmxvYXQgYXMgYSBTdHJpbmciCittc2dzdHIgIkU4MDY6IFV0aWxpc2F0aW9uIGQndW4gRmxvdHRhbnQgY29tbWUgdW5lIENoYe5uZSIKKwogIywgYy1mb3JtYXQKIG1zZ2lkICJFNzA0OiBGdW5jcmVmIHZhcmlhYmxlIG5hbWUgbXVzdCBzdGFydCB3aXRoIGEgY2FwaXRhbDogJXMiCiBtc2dzdHIgIkU3MDQ6IExlIG5vbSBkJ3VuZSBGdW5jcmVmIGRvaXQgY29tbWVuY2VyIHBhciB1bmUgbWFqdXNjdWxlIDogJXMiCkBAIC0xODc3LDcgKzE4ODcsNyBAQAogbXNnc3RyICIiCiAiRTIwNDogTCdhdXRvY29tbWFuZGUgYSBtb2RpZmnpIGxlIG5vbWJyZSBkZSBsaWduZXMgZGUgbWFuaehyZSBpbmF0dGVuZHVlIgogCi1tc2dpZCAiTmV0QmVhbnMgZGlzc2FsbG93cyB3cml0ZXMgb2YgdW5tb2RpZmllZCBidWZmZXJzIgorbXNnaWQgIk5ldEJlYW5zIGRpc2FsbG93cyB3cml0ZXMgb2YgdW5tb2RpZmllZCBidWZmZXJzIgogbXNnc3RyICJOZXRCZWFucyBpbnRlcmRpdCBsJ+ljcml0dXJlIGRlcyB0YW1wb25zIG5vbiBtb2RpZmnpcyIKIAogbXNnaWQgIlBhcnRpYWwgd3JpdGVzIGRpc2FsbG93ZWQgZm9yIE5ldEJlYW5zIGJ1ZmZlcnMiCkBAIC0yODQ4LDggKzI4NTgsOCBAQAogbXNnc3RyICJudW3pcm8gZGUgbGlnbmUgaG9ycyBsaW1pdGVzIgogCiAjLCBjLWZvcm1hdAotbXNnaWQgIjxidWZmZXIgb2JqZWN0IChkZWxldGVkKSBhdCAlOGxYPiIKLW1zZ3N0ciAiPG9iamV0IHRhbXBvbiAoZWZmYWPpKSDgICU4bFg+IgorbXNnaWQgIjxidWZmZXIgb2JqZWN0IChkZWxldGVkKSBhdCAlcD4iCittc2dzdHIgIjxvYmpldCB0YW1wb24gKGVmZmFj6Skg4CAlcD4iCiAKIG1zZ2lkICJpbnZhbGlkIG1hcmsgbmFtZSIKIG1zZ3N0ciAibm9tIGRlIG1hcnF1ZSBpbnZhbGlkZSIKQEAgLTI4NjcsMTIgKzI4NzcsMTIgQEAKIG1zZ3N0ciAiY3Vyc2V1ciBwb3NpdGlvbm7pIGVuIGRlaG9ycyBkdSB0YW1wb24iCiAKICMsIGMtZm9ybWF0Ci1tc2dpZCAiPHdpbmRvdyBvYmplY3QgKGRlbGV0ZWQpIGF0ICUuOGxYPiIKLW1zZ3N0ciAiPG9iamV0IGZlbup0cmUgKGVmZmFj6Skg4CAlLjhsWD4iCittc2dpZCAiPHdpbmRvdyBvYmplY3QgKGRlbGV0ZWQpIGF0ICVwPiIKK21zZ3N0ciAiPG9iamV0IGZlbup0cmUgKGVmZmFj6Skg4CAlcD4iCiAKICMsIGMtZm9ybWF0Ci1tc2dpZCAiPHdpbmRvdyBvYmplY3QgKHVua25vd24pIGF0ICUuOGxYPiIKLW1zZ3N0ciAiPG9iamV0IGZlbup0cmUgKGluY29ubnUpIOAgJS44bFg+IgorbXNnaWQgIjx3aW5kb3cgb2JqZWN0ICh1bmtub3duKSBhdCAlcD4iCittc2dzdHIgIjxvYmpldCBmZW7qdHJlIChpbmNvbm51KSDgICVwPiIKIAogIywgYy1mb3JtYXQKIG1zZ2lkICI8d2luZG93ICVkPiIKQEAgLTMzNjMsNyArMzM3Myw4IEBACiBtc2dpZCAiIgogIi0tcmVtb3RlLXRhYlstd2FpdF1bLXNpbGVudF0gPGZpbGVzPiAgQXMgLS1yZW1vdGUgYnV0IHVzZSB0YWIgcGFnZSBwZXIgZmlsZSIKIG1zZ3N0ciAiIgotIi0tcmVtb3RlLXRhYlstd2FpdF1bLXNpbGVudF0gPGZpY2g+XHRDb21tZSAtLXJlbW90ZSBtYWlzIG91dnJpciB1biBvbmdsZXQgcG91ciBjaGFxdWUgZmljaGllciIKKyItLXJlbW90ZS10YWJbLXdhaXRdWy1zaWxlbnRdIDxmaWNoPlx0Q29tbWUgLS1yZW1vdGUgbWFpcyBvdXZyaXIgdW4gb25nbGV0ICIKKyJwb3VyIGNoYXF1ZSBmaWNoaWVyIgogCiBtc2dpZCAiLS1yZW1vdGUtc2VuZCA8a2V5cz5cdFNlbmQgPGtleXM+IHRvIGEgVmltIHNlcnZlciBhbmQgZXhpdCIKIG1zZ3N0ciAiLS1yZW1vdGUtc2VuZCA8dGNoZT5cdEVudm95ZXIgPHRvdWNoZXM+IOAgdW4gc2VydmV1ciBWaW0gcHVpcyBxdWl0dGVyIgpAQCAtNDE2MSw2ICs0MTcyLDkgQEAKIG1zZ2lkICJFNzY2OiBJbnN1ZmZpY2llbnQgYXJndW1lbnRzIGZvciBwcmludGYoKSIKIG1zZ3N0ciAiRTc2NjogUGFzIGFzc2V6IGQnYXJndW1lbnRzIHBvdXIgcHJpbnRmKCkiCiAKK21zZ2lkICJFODA3OiBFeHBlY3RlZCBGbG9hdCBhcmd1bWVudCBmb3IgcHJpbnRmKCkiCittc2dzdHIgIkU4MDc6IHByaW50ZigpIGF0dGVuZCB1biBhcmd1bWVudCBkZSB0eXBlIEZsb3R0YW50IgorCiBtc2dpZCAiRTc2NzogVG9vIG1hbnkgYXJndW1lbnRzIHRvIHByaW50ZigpIgogbXNnc3RyICJFNzY3OiBUcm9wIGQnYXJndW1lbnRzIHBvdXIgcHJpbnRmKCkiCiAKQEAgLTQyODMsNyArNDI5Nyw2IEBACiBtc2dpZCAiRTM0NzogTm8gbW9yZSBmaWxlIFwiJXNcIiBmb3VuZCBpbiBwYXRoIgogbXNnc3RyICJFMzQ3OiBQbHVzIGRlIGZpY2hpZXIgXCIlc1wiIGRhbnMgJ3BhdGgnIgogCi0jLiBHZXQgaGVyZSB3aGVuIHRoZSBzZXJ2ZXIgY2FuJ3QgYmUgZm91bmQuCiBtc2dpZCAiQ2Fubm90IGNvbm5lY3QgdG8gTmV0YmVhbnMgIzIiCiBtc2dzdHIgIkltcG9zc2libGUgZGUgc2UgY29ubmVjdGVyIOAgTmV0YmVhbnMgbrAyIgogCkBAIC00NDM5LDggKzQ0NTIsOCBAQAogIlNlbGVjdGVkICVzJWxkIG9mICVsZCBMaW5lczsgJWxkIG9mICVsZCBXb3JkczsgJWxkIG9mICVsZCBDaGFyczsgJWxkIG9mICVsZCAiCiAiQnl0ZXMiCiBtc2dzdHIgIiIKLSIlcyVsZCBzdXIgJWxkIExpZ25lcyA7ICVsZCBzdXIgJWxkIE1vdHMgOyAlbGQgc3VyICVsZCBDYXJhY3TocmVzIDsgJWxkIHN1ciAiCi0iJWxkIG9jdGV0cyBz6WxlY3Rpb25u6XMiCisiJXMlbGQgc3VyICVsZCBMaWduZXMgOyAlbGQgc3VyICVsZCBNb3RzIDsgJWxkIHN1ciAlbGQgQ2FyYWN06HJlcyA7ICVsZCBzdXIgJSIKKyJsZCBvY3RldHMgc+lsZWN0aW9ubulzIgogCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvbCAlcyBvZiAlczsgTGluZSAlbGQgb2YgJWxkOyBXb3JkICVsZCBvZiAlbGQ7IEJ5dGUgJWxkIG9mICVsZCIKQEAgLTQ0NTIsOCArNDQ2NSw4IEBACiAiQ29sICVzIG9mICVzOyBMaW5lICVsZCBvZiAlbGQ7IFdvcmQgJWxkIG9mICVsZDsgQ2hhciAlbGQgb2YgJWxkOyBCeXRlICVsZCBvZiAiCiAiJWxkIgogbXNnc3RyICIiCi0iQ29sb25uZSAlcyBzdXIgJXMgOyBMaWduZSAlbGQgc3VyICVsZCA7IE1vdCAlbGQgc3VyICVsZCA7IENhcmFjdOhyZSAlbGQgc3VyICIKLSIlbGQgOyBPY3RldCAlbGQgc3VyICVsZCIKKyJDb2xvbm5lICVzIHN1ciAlcyA7IExpZ25lICVsZCBzdXIgJWxkIDsgTW90ICVsZCBzdXIgJWxkIDsgQ2FyYWN06HJlICVsZCBzdXIgJSIKKyJsZCA7IE9jdGV0ICVsZCBzdXIgJWxkIgogCiAjLCBjLWZvcm1hdAogbXNnaWQgIigrJWxkIGZvciBCT00pIgpAQCAtNTg4OSwyMSArNTkwMiwyMSBAQAogIy4gT25seSBNUyBWQyA0LjEgYW5kIGVhcmxpZXIgY2FuIGRvIFdpbjMycwogbXNnaWQgIiIKICJcbiIKLSJNUy1XaW5kb3dzIDE2LzMyIGJpdCBHVUkgdmVyc2lvbiIKKyJNUy1XaW5kb3dzIDE2LzMyLWJpdCBHVUkgdmVyc2lvbiIKIG1zZ3N0ciAiIgogIlxuIgogIlZlcnNpb24gZ3JhcGhpcXVlIE1TLVdpbmRvd3MgMTYvMzIgYml0cyIKIAogbXNnaWQgIiIKICJcbiIKLSJNUy1XaW5kb3dzIDY0IGJpdCBHVUkgdmVyc2lvbiIKKyJNUy1XaW5kb3dzIDY0LWJpdCBHVUkgdmVyc2lvbiIKIG1zZ3N0ciAiIgogIlxuIgogIlZlcnNpb24gZ3JhcGhpcXVlIE1TLVdpbmRvd3MgNjQgYml0cyIKIAogbXNnaWQgIiIKICJcbiIKLSJNUy1XaW5kb3dzIDMyIGJpdCBHVUkgdmVyc2lvbiIKKyJNUy1XaW5kb3dzIDMyLWJpdCBHVUkgdmVyc2lvbiIKIG1zZ3N0ciAiIgogIlxuIgogIlZlcnNpb24gZ3JhcGhpcXVlIE1TLVdpbmRvd3MgMzIgYml0cyIKQEAgLTU5MTYsMjggKzU5MjksMzUgQEAKIAogbXNnaWQgIiIKICJcbiIKLSJNUy1XaW5kb3dzIDMyIGJpdCBjb25zb2xlIHZlcnNpb24iCisiTVMtV2luZG93cyA2NC1iaXQgY29uc29sZSB2ZXJzaW9uIgorbXNnc3RyICIiCisiXG4iCisiVmVyc2lvbiBjb25zb2xlIE1TLVdpbmRvd3MgNjQgYml0cyIKKworbXNnaWQgIiIKKyJcbiIKKyJNUy1XaW5kb3dzIDMyLWJpdCBjb25zb2xlIHZlcnNpb24iCiBtc2dzdHIgIiIKICJcbiIKICJWZXJzaW9uIGNvbnNvbGUgTVMtV2luZG93cyAzMiBiaXRzIgogCiBtc2dpZCAiIgogIlxuIgotIk1TLVdpbmRvd3MgMTYgYml0IHZlcnNpb24iCisiTVMtV2luZG93cyAxNi1iaXQgdmVyc2lvbiIKIG1zZ3N0ciAiIgogIlxuIgogIlZlcnNpb24gTVMtV2luZG93cyAxNiBiaXRzIgogCiBtc2dpZCAiIgogIlxuIgotIjMyIGJpdCBNUy1ET1MgdmVyc2lvbiIKKyIzMi1iaXQgTVMtRE9TIHZlcnNpb24iCiBtc2dzdHIgIiIKICJcbiIKICJWZXJzaW9uIE1TLURPUyAzMiBiaXRzIgogCiBtc2dpZCAiIgogIlxuIgotIjE2IGJpdCBNUy1ET1MgdmVyc2lvbiIKKyIxNi1iaXQgTVMtRE9TIHZlcnNpb24iCiBtc2dzdHIgIiIKICJcbiIKICJWZXJzaW9uIE1TLURPUyAxNiBiaXRzIgpkaWZmIC0tZ2l0IGEvc3JjL3BvL2dhLnBvIGIvc3JjL3BvL2dhLnBvCmluZGV4IDYyYWU3NmYuLmNjZTAwODcgMTAwNjQ0Ci0tLSBhL3NyYy9wby9nYS5wbworKysgYi9zcmMvcG8vZ2EucG8KQEAgLTU5MSwxMyArNTkxLDEzIEBACiBtc2dpZCAiRTY3NzogRXJyb3Igd3JpdGluZyB0ZW1wIGZpbGUiCiBtc2dzdHIgIkU2Nzc6IEVhcnLhaWQgYWd1cyBjb21oYWQgc2VhbGFkYWNoIOEgc2Ny7W9iaCIKIAotbXNnaWQgIkU3MDM6IFVzaW5nIGEgRnVuY3JlZiBhcyBhIG51bWJlciIKK21zZ2lkICJFNzAzOiBVc2luZyBhIEZ1bmNyZWYgYXMgYSBOdW1iZXIiCiBtc2dzdHIgIkU3MDM6IEZ1bmNyZWYg4SD6c+FpZCBtYXIgdWltaGlyIgogCi1tc2dpZCAiRTc0NTogVXNpbmcgYSBMaXN0IGFzIGEgbnVtYmVyIgorbXNnaWQgIkU3NDU6IFVzaW5nIGEgTGlzdCBhcyBhIE51bWJlciIKIG1zZ3N0ciAiRTc0NTogTGlvc3RhIOEg+nPhaWQgbWFyIHVpbWhpciIKIAotbXNnaWQgIkU3Mjg6IFVzaW5nIGEgRGljdGlvbmFyeSBhcyBhIG51bWJlciIKK21zZ2lkICJFNzI4OiBVc2luZyBhIERpY3Rpb25hcnkgYXMgYSBOdW1iZXIiCiBtc2dzdHIgIkU3Mjg6IEZvY2zzaXIg4SD6c+FpZCBtYXIgdWltaGlyIgogCiBtc2dpZCAiRTcyOTogdXNpbmcgRnVuY3JlZiBhcyBhIFN0cmluZyIKQEAgLTE1ODUsNyArMTU4NSw3IEBACiBtc2dpZCAiRTIwNDogQXV0b2NvbW1hbmQgY2hhbmdlZCBudW1iZXIgb2YgbGluZXMgaW4gdW5leHBlY3RlZCB3YXkiCiBtc2dzdHIgIkUyMDQ6IEQnYXRocmFpZ2ggdWF0aG9yZPogbO1vbiBuYSBs7W50ZSBnYW4gY2hvaW5uZSIKIAotbXNnaWQgIk5ldEJlYW5zIGRpc3NhbGxvd3Mgd3JpdGVzIG9mIHVubW9kaWZpZWQgYnVmZmVycyIKK21zZ2lkICJOZXRCZWFucyBkaXNhbGxvd3Mgd3JpdGVzIG9mIHVubW9kaWZpZWQgYnVmZmVycyIKIG1zZ3N0ciAiTu0gY2hlYWRh7W9ubiBOZXRCZWFucyBtYW9s4WluIGdhbiBhdGhy+iBhIGJoZWl0aCBzY3Ltb2ZhIgogCiBtc2dpZCAiUGFydGlhbCB3cml0ZXMgZGlzYWxsb3dlZCBmb3IgTmV0QmVhbnMgYnVmZmVycyIKQEAgLTU1NTksMjEgKzU1NTksMjEgQEAKICMuIE9ubHkgTVMgVkMgNC4xIGFuZCBlYXJsaWVyIGNhbiBkbyBXaW4zMnMKIG1zZ2lkICIiCiAiXG4iCi0iTVMtV2luZG93cyAxNi8zMiBiaXQgR1VJIHZlcnNpb24iCisiTVMtV2luZG93cyAxNi8zMi1iaXQgR1VJIHZlcnNpb24iCiBtc2dzdHIgIiIKICJcbiIKICJMZWFnYW4gR1VJIDE2LzMyIGdpb3ThbiBNUy1XaW5kb3dzIgogCiBtc2dpZCAiIgogIlxuIgotIk1TLVdpbmRvd3MgNjQgYml0IEdVSSB2ZXJzaW9uIgorIk1TLVdpbmRvd3MgNjQtYml0IEdVSSB2ZXJzaW9uIgogbXNnc3RyICIiCiAiXG4iCiAiTGVhZ2FuIEdVSSA2NCBnaW904W4gTVMtV2luZG93cyIKIAogbXNnaWQgIiIKICJcbiIKLSJNUy1XaW5kb3dzIDMyIGJpdCBHVUkgdmVyc2lvbiIKKyJNUy1XaW5kb3dzIDMyLWJpdCBHVUkgdmVyc2lvbiIKIG1zZ3N0ciAiIgogIlxuIgogIkxlYWdhbiBHVUkgMzIgZ2lvdOFuIE1TLVdpbmRvd3MiCkBAIC01NTg2LDI4ICs1NTg2LDI4IEBACiAKIG1zZ2lkICIiCiAiXG4iCi0iTVMtV2luZG93cyAzMiBiaXQgY29uc29sZSB2ZXJzaW9uIgorIk1TLVdpbmRvd3MgMzItYml0IGNvbnNvbGUgdmVyc2lvbiIKIG1zZ3N0ciAiIgogIlxuIgogIkxlYWdhbiBjb25z82lsIDMyIGdpb3ThbiBNUy1XaW5kb3dzIgogCiBtc2dpZCAiIgogIlxuIgotIk1TLVdpbmRvd3MgMTYgYml0IHZlcnNpb24iCisiTVMtV2luZG93cyAxNi1iaXQgdmVyc2lvbiIKIG1zZ3N0ciAiIgogIlxuIgogIkxlYWdhbiAxNiBnaW904W4gTVMtV2luZG93cyIKIAogbXNnaWQgIiIKICJcbiIKLSIzMiBiaXQgTVMtRE9TIHZlcnNpb24iCisiMzItYml0IE1TLURPUyB2ZXJzaW9uIgogbXNnc3RyICIiCiAiXG4iCiAiTGVhZ2FuIDMyIGdpb3ThbiBNUy1ET1MiCiAKIG1zZ2lkICIiCiAiXG4iCi0iMTYgYml0IE1TLURPUyB2ZXJzaW9uIgorIjE2LWJpdCBNUy1ET1MgdmVyc2lvbiIKIG1zZ3N0ciAiIgogIlxuIgogIkxlYWdhbiAxNiBnaW904W4gTVMtRE9TIgpkaWZmIC0tZ2l0IGEvc3JjL3BvL2l0LnBvIGIvc3JjL3BvL2l0LnBvCmluZGV4IGMwNDM4M2MuLmQ5NzdiOTQgMTAwNjQ0Ci0tLSBhL3NyYy9wby9pdC5wbworKysgYi9zcmMvcG8vaXQucG8KQEAgLTExLDkgKzExLDkgQEAKICMKIG1zZ2lkICIiCiBtc2dzdHIgIiIKLSJQcm9qZWN0LUlkLVZlcnNpb246IHZpbSA3LjFcbiIKLSJQT1QtQ3JlYXRpb24tRGF0ZTogMjAwOC0wNi0yMCAyMzo1OCswMjAwXG4iCi0iUE8tUmV2aXNpb24tRGF0ZTogIDIwMDgtMDYtMjEgMDY6MDArMDIwMFxuIgorIlByb2plY3QtSWQtVmVyc2lvbjogdmltIDcuMlxuIgorIlBPVC1DcmVhdGlvbi1EYXRlOiAyMDA4LTA2LTI1IDA5OjEwKzAyMDBcbiIKKyJQTy1SZXZpc2lvbi1EYXRlOiAgMjAwOC0wNi0yNyAyMzowMCswMjAwXG4iCiAiTGFzdC1UcmFuc2xhdG9yOiAgIFZsYWQgU2FuZHJpbmkgICA8dmxhZC5nZW50bHlAZ21haWwuY29tPlxuIgogIkxhbmd1YWdlLVRlYW06ICAgICBJdGFsaWFuIgogIiAgICAgICAgICAgICAgICAgICBBbnRvbmlvIENvbG9tYm8gPGF6YzEwMEBnbWFpbC5jb20+IgpAQCAtNDUyLDYgKzQ1Miw5IEBACiBtc2dpZCAiRTY5NDogSW52YWxpZCBvcGVyYXRpb24gZm9yIEZ1bmNyZWZzIgogbXNnc3RyICJFNjk0OiBPcGVyYXppb25lIG5vbiB2YWxpZGEgcGVyIEZ1bmNyZWYiCiAKK21zZ2lkICJFODA0OiBDYW5ub3QgdXNlICclJyB3aXRoIEZsb2F0IgorbXNnc3RyICJFODA0OiBOb24gc2kgcHXyIHVzYXJlICclJyBjb24gdW4gbnVtZXJvIGNvbiB2aXJnb2xhIgorCiBtc2dpZCAiRTExMDogTWlzc2luZyAnKSciCiBtc2dzdHIgIkUxMTA6IE1hbmNhICcpJyIKIApAQCAtNTE3LDYgKzUyMCw5IEBACiBtc2dpZCAiRTcyNTogQ2FsbGluZyBkaWN0IGZ1bmN0aW9uIHdpdGhvdXQgRGljdGlvbmFyeTogJXMiCiBtc2dzdHIgIkU3MjU6IENoaWFtYXRhIGRpIGZ1bnppb25lIGRpY3QgaW4gYXNzZW56YSBkaSBEaXppb25hcmlvOiAlcyIKIAorbXNnaWQgIkU4MDg6IE51bWJlciBvciBGbG9hdCByZXF1aXJlZCIKK21zZ3N0ciAiRTgwODogQ2kgdnVvbGUgdW4gbnVtZXJvIGludGVybyBvIGNvbiB2aXJnb2xhIgorCiBtc2dpZCAiRTY5OTogVG9vIG1hbnkgYXJndW1lbnRzIgogbXNnc3RyICJFNjk5OiBUcm9wcGkgYXJnb21lbnRpIgogCkBAIC01OTMsNiArNTk5LDkgQEAKIG1zZ2lkICJFNjc3OiBFcnJvciB3cml0aW5nIHRlbXAgZmlsZSIKIG1zZ3N0ciAiRTY3NzogRXJyb3JlIGluIHNjcml0dHVyYSBzdSBmaWxlIHRlbXBvcmFuZW8iCiAKK21zZ2lkICJFODA1OiBVc2luZyBhIEZsb2F0IGFzIGEgbnVtYmVyIgorbXNnc3RyICJFODA1OiBVc28gZGkgdW4gbnVtZXJvIGNvbiB2aXJnb2xhIGNvbWUgaW50ZXJvIgorCiBtc2dpZCAiRTcwMzogVXNpbmcgYSBGdW5jcmVmIGFzIGEgbnVtYmVyIgogbXNnc3RyICJFNzAzOiBVc28gZGkgRnVuY3JlZiBjb21lIG51bWVybyIKIApAQCAtNjExLDYgKzYyMCw5IEBACiBtc2dpZCAiRTczMTogdXNpbmcgRGljdGlvbmFyeSBhcyBhIFN0cmluZyIKIG1zZ3N0ciAiRTczMTogdXNvIGRpIERpemlvbmFyaW8gY29tZSBTdHJpbmdhIgogCittc2dpZCAiRTgwNjogdXNpbmcgRmxvYXQgYXMgYSBTdHJpbmciCittc2dzdHIgIkU4MDY6IHVzbyBkaSB1biBudW1lcm8gY29uIHZpcmdvbGEgY29tZSBzdHJpbmdhIgorCiAjLCBjLWZvcm1hdAogbXNnaWQgIkU3MDQ6IEZ1bmNyZWYgdmFyaWFibGUgbmFtZSBtdXN0IHN0YXJ0IHdpdGggYSBjYXBpdGFsOiAlcyIKIG1zZ3N0ciAiIgpAQCAtMTU4MCw3ICsxNTkyLDcgQEAKIG1zZ2lkICJFMjA0OiBBdXRvY29tbWFuZCBjaGFuZ2VkIG51bWJlciBvZiBsaW5lcyBpbiB1bmV4cGVjdGVkIHdheSIKIG1zZ3N0ciAiRTIwNDogTCdhdXRvY29tYW5kbyBoYSBtb2RpZmljYXRvIG51bWVybyBsaW5lZSBpbiBtYW5pZXJhIGltcHJldmlzdGEiCiAKLW1zZ2lkICJOZXRCZWFucyBkaXNzYWxsb3dzIHdyaXRlcyBvZiB1bm1vZGlmaWVkIGJ1ZmZlcnMiCittc2dpZCAiTmV0QmVhbnMgZGlzYWxsb3dzIHdyaXRlcyBvZiB1bm1vZGlmaWVkIGJ1ZmZlcnMiCiBtc2dzdHIgIk5ldEJlYW5zIG5vbiBwZXJtZXR0ZSBsYSBzY3JpdHR1cmEgZGkgdW4gYnVmZmVyIG5vbiBtb2RpZmljYXRvIgogCiBtc2dpZCAiUGFydGlhbCB3cml0ZXMgZGlzYWxsb3dlZCBmb3IgTmV0QmVhbnMgYnVmZmVycyIKQEAgLTI0OTAsMTkgKzI1MDIsNiBAQAogbXNnaWQgIm5vdCBhbGxvd2VkIGluIHRoZSBWaW0gc2FuZGJveCIKIG1zZ3N0ciAibm9uIGFtbWVzc28gaW4gYW1iaWVudGUgcHJvdGV0dG8iCiAKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiRTM3MDogQ291bGQgbm90IGxvYWQgbGlicmFyeSAlcyIKLW1zZ3N0ciAiRTM3MDogTm9uIHBvc3NvIGNhcmljYXJlIGxhIGxpYnJlcmlhICVzIgotCi1tc2dpZCAiU29ycnksIHRoaXMgY29tbWFuZCBpcyBkaXNhYmxlZDogdGhlIFBlcmwgbGlicmFyeSBjb3VsZCBub3QgYmUgbG9hZGVkLiIKLW1zZ3N0ciAiIgotIlNwaWFjZW50ZSwgY29tYW5kbyBub24gZGlzcG9uaWJpbGUsIG5vbiByaWVzY28gYSBjYXJpY2FyZSBsaWJyZXJpYSBwcm9ncmFtbWkgIgotIlBlcmwuIgotCi1tc2dpZCAiRTI5OTogUGVybCBldmFsdWF0aW9uIGZvcmJpZGRlbiBpbiBzYW5kYm94IHdpdGhvdXQgdGhlIFNhZmUgbW9kdWxlIgotbXNnc3RyICIiCi0iRTI5OTogVmFsb3JpenphemlvbmUgUGVybCB2aWV0YXRhIGluIGFtYmllbnRlIHByb3RldHRvIHNlbnphIGlsIG1vZHVsbyBTYWZlIgotCiBtc2dpZCAiIgogIkUyNjM6IFNvcnJ5LCB0aGlzIGNvbW1hbmQgaXMgZGlzYWJsZWQsIHRoZSBQeXRob24gbGlicmFyeSBjb3VsZCBub3QgYmUgIgogImxvYWRlZC4iCkBAIC0zODI5LDYgKzM4MjgsOSBAQAogbXNnaWQgIkU3NjY6IEluc3VmZmljaWVudCBhcmd1bWVudHMgZm9yIHByaW50ZigpIgogbXNnc3RyICJFNzY2OiBBcmdvbWVudGkgbm9uIHN1ZmZpY2llbnRpIHBlciBwcmludGYoKSIKIAorbXNnaWQgIkU4MDc6IEV4cGVjdGVkIEZsb2F0IGFyZ3VtZW50IGZvciBwcmludGYoKSIKK21zZ3N0ciAiRTgwNzogTnVtZXJvIGNvbiB2aXJnb2xhIGF0dGVzbyBjb21lIGFyZ29tZW50byBwZXIgcHJpbnRmKCkiCisKIG1zZ2lkICJFNzY3OiBUb28gbWFueSBhcmd1bWVudHMgdG8gcHJpbnRmKCkiCiBtc2dzdHIgIkU3Njc6IFRyb3BwaSBhcmdvbWVudGkgcGVyIHByaW50ZigpIgogCkBAIC0zOTUwLDcgKzM5NTIsNiBAQAogbXNnaWQgIkUzNDc6IE5vIG1vcmUgZmlsZSBcIiVzXCIgZm91bmQgaW4gcGF0aCIKIG1zZ3N0ciAiRTM0NzogTmVzc3VuIGFsdHJvIGZpbGUgXCIlc1wiIHRyb3ZhdG8gbmVsIHBlcmNvcnNvIgogCi0jLiBHZXQgaGVyZSB3aGVuIHRoZSBzZXJ2ZXIgY2FuJ3QgYmUgZm91bmQuCiBtc2dpZCAiQ2Fubm90IGNvbm5lY3QgdG8gTmV0YmVhbnMgIzIiCiBtc2dzdHIgIk5vbiBwb3NzbyBjb25uZXR0ZXJtaSBhIE5ldGJlYW5zICMyIgogCkBAIC01ODUwLDYgKzU4NTEsMTkgQEAKIG1zZ2lkICJFNDQ3OiBDYW4ndCBmaW5kIGZpbGUgXCIlc1wiIGluIHBhdGgiCiBtc2dzdHIgIkU0NDc6IE5vbiByaWVzY28gYSB0cm92YXJlIGlsIGZpbGUgXCIlc1wiIG5lbCBwZXJjb3JzbyIKIAorIywgYy1mb3JtYXQKK21zZ2lkICJFMzcwOiBDb3VsZCBub3QgbG9hZCBsaWJyYXJ5ICVzIgorbXNnc3RyICJFMzcwOiBOb24gcG9zc28gY2FyaWNhcmUgbGEgbGlicmVyaWEgJXMiCisKK21zZ2lkICJTb3JyeSwgdGhpcyBjb21tYW5kIGlzIGRpc2FibGVkOiB0aGUgUGVybCBsaWJyYXJ5IGNvdWxkIG5vdCBiZSBsb2FkZWQuIgorbXNnc3RyICIiCisiU3BpYWNlbnRlLCBjb21hbmRvIG5vbiBkaXNwb25pYmlsZSwgbm9uIHJpZXNjbyBhIGNhcmljYXJlIGxpYnJlcmlhIHByb2dyYW1taSAiCisiUGVybC4iCisKK21zZ2lkICJFMjk5OiBQZXJsIGV2YWx1YXRpb24gZm9yYmlkZGVuIGluIHNhbmRib3ggd2l0aG91dCB0aGUgU2FmZSBtb2R1bGUiCittc2dzdHIgIiIKKyJFMjk5OiBWYWxvcml6emF6aW9uZSBQZXJsIHZpZXRhdGEgaW4gYW1iaWVudGUgcHJvdGV0dG8gc2VuemEgaWwgbW9kdWxvIFNhZmUiCisKIG1zZ2lkICJFZGl0IHdpdGggJm11bHRpcGxlIFZpbXMiCiBtc2dzdHIgIkFwcmkgY29uICZtb2x0aSBWaW0iCiAKZGlmZiAtLWdpdCBhL3NyYy9wby9qYS5wbyBiL3NyYy9wby9qYS5wbwppbmRleCAwNTM4OTQwLi43NjlhMmVjIDEwMDY0NAotLS0gYS9zcmMvcG8vamEucG8KKysrIGIvc3JjL3BvL2phLnBvCkBAIC01OTQsMTMgKzU5NCwxMyBAQAogbXNnaWQgIkU2Nzc6IEVycm9yIHdyaXRpbmcgdGVtcCBmaWxlIgogbXNnc3RyICJFNjc3OiCw7Lv+pdWloaWkpeu98bn+w+aky6WopemhvKSsyK/AuKS3pN6kt6S/IgogCi1tc2dpZCAiRTcwMzogVXNpbmcgYSBGdW5jcmVmIGFzIGEgbnVtYmVyIgorbXNnaWQgIkU3MDM6IFVzaW5nIGEgRnVuY3JlZiBhcyBhIE51bWJlciIKIG1zZ3N0ciAiRTcwMzogtNi/9Luyvsi3v6Tyv/TDzaTIpLekxrC3pMOkxqSkpN6kuaGjIgogCi1tc2dpZCAiRTc0NTogVXNpbmcgYSBMaXN0IGFzIGEgbnVtYmVyIgorbXNnaWQgIkU3NDU6IFVzaW5nIGEgTGlzdCBhcyBhIE51bWJlciIKIG1zZ3N0ciAiRTc0NTogpeqluaXIt7+k8r/0w82kyKS3pMawt6TDpMakpKTepLkiCiAKLW1zZ2lkICJFNzI4OiBVc2luZyBhIERpY3Rpb25hcnkgYXMgYSBudW1iZXIiCittc2dpZCAiRTcyODogVXNpbmcgYSBEaWN0aW9uYXJ5IGFzIGEgTnVtYmVyIgogbXNnc3RyICJFNzI4OiC8rb3xt7+k8r/0w82kyKS3pMawt6TDpMakpKTepLkiCiAKIG1zZ2lkICJFNzI5OiB1c2luZyBGdW5jcmVmIGFzIGEgU3RyaW5nIgpAQCAtMTU3NSw3ICsxNTc1LDcgQEAKIG1zZ3N0ciAiRTIwNDogYXV0b2NvbW1hbmSkrM29tPyku6TMyv3LoaTHudS/9KTyytG5uaS3pN6kt6S/IgogCiAjIEFkZGVkIGF0IDE5LUphbi0yMDA0LgotbXNnaWQgIk5ldEJlYW5zIGRpc3NhbGxvd3Mgd3JpdGVzIG9mIHVubW9kaWZpZWQgYnVmZmVycyIKK21zZ2lkICJOZXRCZWFucyBkaXNhbGxvd3Mgd3JpdGVzIG9mIHVubW9kaWZpZWQgYnVmZmVycyIKIG1zZ3N0ciAiTmV0QmVhbnOkz8ykytG5uaTOpdClw6XVpaGk8r7lvfGkuaTrpLOkyKTPtfayxKS3pMakpKTepLuk8yIKIAogbXNnaWQgIlBhcnRpYWwgd3JpdGVzIGRpc2FsbG93ZWQgZm9yIE5ldEJlYW5zIGJ1ZmZlcnMiCkBAIC01NTAwLDIxICs1NTAwLDIxIEBACiAjLiBPbmx5IE1TIFZDIDQuMSBhbmQgZWFybGllciBjYW4gZG8gV2luMzJzCiBtc2dpZCAiIgogIlxuIgotIk1TLVdpbmRvd3MgMTYvMzIgYml0IEdVSSB2ZXJzaW9uIgorIk1TLVdpbmRvd3MgMTYvMzItYml0IEdVSSB2ZXJzaW9uIgogbXNnc3RyICIiCiAiXG4iCiAiTVMtV2luZG93cyAxNi8zMiCl06XDpcggR1VJIMjHIgogCiBtc2dpZCAiIgogIlxuIgotIk1TLVdpbmRvd3MgNjQgYml0IEdVSSB2ZXJzaW9uIgorIk1TLVdpbmRvd3MgNjQtYml0IEdVSSB2ZXJzaW9uIgogbXNnc3RyICIiCiAiXG4iCiAiTVMtV2luZG93cyA2NCCl06XDpcggR1VJIMjHIgogCiBtc2dpZCAiIgogIlxuIgotIk1TLVdpbmRvd3MgMzIgYml0IEdVSSB2ZXJzaW9uIgorIk1TLVdpbmRvd3MgMzItYml0IEdVSSB2ZXJzaW9uIgogbXNnc3RyICIiCiAiXG4iCiAiTVMtV2luZG93cyAzMiCl06XDpcggR1VJIMjHIgpAQCAtNTUyNywyOCArNTUyNywyOCBAQAogCiBtc2dpZCAiIgogIlxuIgotIk1TLVdpbmRvd3MgMzIgYml0IGNvbnNvbGUgdmVyc2lvbiIKKyJNUy1XaW5kb3dzIDMyLWJpdCBjb25zb2xlIHZlcnNpb24iCiBtc2dzdHIgIiIKICJcbiIKICJNUy1XaW5kb3dzIDMyIKXTpcOlyCCls6Xzpb2hvKXrIMjHIgogCiBtc2dpZCAiIgogIlxuIgotIk1TLVdpbmRvd3MgMTYgYml0IHZlcnNpb24iCisiTVMtV2luZG93cyAxNi1iaXQgdmVyc2lvbiIKIG1zZ3N0ciAiIgogIlxuIgogIk1TLVdpbmRvd3MgMTYgpdOlw6XIIMjHIgogCiBtc2dpZCAiIgogIlxuIgotIjMyIGJpdCBNUy1ET1MgdmVyc2lvbiIKKyIzMi1iaXQgTVMtRE9TIHZlcnNpb24iCiBtc2dzdHIgIiIKICJcbiIKICIzMiCl06XDpcggTVMtRE9TIMjHIgogCiBtc2dpZCAiIgogIlxuIgotIjE2IGJpdCBNUy1ET1MgdmVyc2lvbiIKKyIxNi1iaXQgTVMtRE9TIHZlcnNpb24iCiBtc2dzdHIgIiIKICJcbiIKICIxNiCl06XDpcggTVMtRE9TIMjHIgpkaWZmIC0tZ2l0IGEvc3JjL3BvL2phLnNqaXMucG8gYi9zcmMvcG8vamEuc2ppcy5wbwppbmRleCA5YjllYTIzLi45MGEzNzMxIDEwMDY0NAotLS0gYS9zcmMvcG8vamEuc2ppcy5wbworKysgYi9zcmMvcG8vamEuc2ppcy5wbwpAQCAtNTk0LDEzICs1OTQsMTMgQEAKIG1zZ2lkICJFNjc3OiBFcnJvciB3cml0aW5nIHRlbXAgZmlsZSIKIG1zZ3N0ciAiRTY3NzogiOqOnoN0g0CDQ4OLj5GNnpKGgsmDR4OJgVuCqpStkLaCtYLcgrWCvSIKIAotbXNnaWQgIkU3MDM6IFVzaW5nIGEgRnVuY3JlZiBhcyBhIG51bWJlciIKK21zZ2lkICJFNzAzOiBVc2luZyBhIEZ1bmNyZWYgYXMgYSBOdW1iZXIiCiBtc2dzdHIgIkU3MDM6IIrWkJSOUY/GjF6C8JCUkmyCxoK1gsSItYLBgsSCooLcgreBQiIKIAotbXNnaWQgIkU3NDU6IFVzaW5nIGEgTGlzdCBhcyBhIG51bWJlciIKK21zZ2lkICJFNzQ1OiBVc2luZyBhIExpc3QgYXMgYSBOdW1iZXIiCiBtc2dzdHIgIkU3NDU6IIOKg1iDZ4xegvCQlJJsgsaCtYLEiLWCwYLEgqKC3IK3IgogCi1tc2dpZCAiRTcyODogVXNpbmcgYSBEaWN0aW9uYXJ5IGFzIGEgbnVtYmVyIgorbXNnaWQgIkU3Mjg6IFVzaW5nIGEgRGljdGlvbmFyeSBhcyBhIE51bWJlciIKIG1zZ3N0ciAiRTcyODogjquPkYxegvCQlJJsgsaCtYLEiLWCwYLEgqKC3IK3IgogCiBtc2dpZCAiRTcyOTogdXNpbmcgRnVuY3JlZiBhcyBhIFN0cmluZyIKQEAgLTE1NzUsNyArMTU3NSw3IEBACiBtc2dzdHIgIkUyMDQ6IGF1dG9jb21tYW5kgqqXXFyK+oK5gsqV+5ZAgsWNc5CUgvCVz41YgrWC3IK1gr0iCiAKICMgQWRkZWQgYXQgMTktSmFuLTIwMDQuCi1tc2dpZCAiTmV0QmVhbnMgZGlzc2FsbG93cyB3cml0ZXMgb2YgdW5tb2RpZmllZCBidWZmZXJzIgorbXNnaWQgIk5ldEJlYW5zIGRpc2FsbG93cyB3cml0ZXMgb2YgdW5tb2RpZmllZCBidWZmZXJzIgogbXNnc3RyICJOZXRCZWFuc4LNlqKVz41YgsyDb4Nig3SDQILwj+OPkYK3gumCsYLGgs2LlonCgrWCxIKigtyCuYLxIgogCiBtc2dpZCAiUGFydGlhbCB3cml0ZXMgZGlzYWxsb3dlZCBmb3IgTmV0QmVhbnMgYnVmZmVycyIKQEAgLTU1MDAsMjEgKzU1MDAsMjEgQEAKICMuIE9ubHkgTVMgVkMgNC4xIGFuZCBlYXJsaWVyIGNhbiBkbyBXaW4zMnMKIG1zZ2lkICIiCiAiXG4iCi0iTVMtV2luZG93cyAxNi8zMiBiaXQgR1VJIHZlcnNpb24iCisiTVMtV2luZG93cyAxNi8zMi1iaXQgR1VJIHZlcnNpb24iCiBtc2dzdHIgIiIKICJcbiIKICJNUy1XaW5kb3dzIDE2LzMyIINyg2KDZyBHVUkglMUiCiAKIG1zZ2lkICIiCiAiXG4iCi0iTVMtV2luZG93cyA2NCBiaXQgR1VJIHZlcnNpb24iCisiTVMtV2luZG93cyA2NC1iaXQgR1VJIHZlcnNpb24iCiBtc2dzdHIgIiIKICJcbiIKICJNUy1XaW5kb3dzIDY0IINyg2KDZyBHVUkglMUiCiAKIG1zZ2lkICIiCiAiXG4iCi0iTVMtV2luZG93cyAzMiBiaXQgR1VJIHZlcnNpb24iCisiTVMtV2luZG93cyAzMi1iaXQgR1VJIHZlcnNpb24iCiBtc2dzdHIgIiIKICJcbiIKICJNUy1XaW5kb3dzIDMyIINyg2KDZyBHVUkglMUiCkBAIC01NTI3LDI4ICs1NTI3LDI4IEBACiAKIG1zZ2lkICIiCiAiXG4iCi0iTVMtV2luZG93cyAzMiBiaXQgY29uc29sZSB2ZXJzaW9uIgorIk1TLVdpbmRvd3MgMzItYml0IGNvbnNvbGUgdmVyc2lvbiIKIG1zZ3N0ciAiIgogIlxuIgogIk1TLVdpbmRvd3MgMzIgg3KDYoNnIINSg5ODXFyBW4OLIJTFIgogCiBtc2dpZCAiIgogIlxuIgotIk1TLVdpbmRvd3MgMTYgYml0IHZlcnNpb24iCisiTVMtV2luZG93cyAxNi1iaXQgdmVyc2lvbiIKIG1zZ3N0ciAiIgogIlxuIgogIk1TLVdpbmRvd3MgMTYgg3KDYoNnIJTFIgogCiBtc2dpZCAiIgogIlxuIgotIjMyIGJpdCBNUy1ET1MgdmVyc2lvbiIKKyIzMi1iaXQgTVMtRE9TIHZlcnNpb24iCiBtc2dzdHIgIiIKICJcbiIKICIzMiCDcoNig2cgTVMtRE9TIJTFIgogCiBtc2dpZCAiIgogIlxuIgotIjE2IGJpdCBNUy1ET1MgdmVyc2lvbiIKKyIxNi1iaXQgTVMtRE9TIHZlcnNpb24iCiBtc2dzdHIgIiIKICJcbiIKICIxNiCDcoNig2cgTVMtRE9TIJTFIgpkaWZmIC0tZ2l0IGEvc3JjL3BvL2tvLnBvIGIvc3JjL3BvL2tvLnBvCmluZGV4IGU3Y2RmMzYuLjVhNTE0ZjUgMTAwNjQ0Ci0tLSBhL3NyYy9wby9rby5wbworKysgYi9zcmMvcG8va28ucG8KQEAgLTEzMzksNyArMTMzOSw3IEBACiBtc2dpZCAiRTIwNDogQXV0b2NvbW1hbmQgY2hhbmdlZCBudW1iZXIgb2YgbGluZXMgaW4gdW5leHBlY3RlZCB3YXkiCiBtc2dzdHIgIkUyMDQ6IEF1dG9jb21tYW5ksKEgwN+4+LXIILnmuf3AuLfOIMHZwLsgudmy2b76vcC0z7TZIgogCi1tc2dpZCAiTmV0QmVhbnMgZGlzc2FsbG93cyB3cml0ZXMgb2YgdW5tb2RpZmllZCBidWZmZXJzIgorbXNnaWQgIk5ldEJlYW5zIGRpc2FsbG93cyB3cml0ZXMgb2YgdW5tb2RpZmllZCBidWZmZXJzIgogbXNnc3RyICJOZXRCZWFuc7+hvK20wiC52bLuwfYgvsrAuiC59sbbuKYgvrUgvPYgvvi9wLTPtNkiCiAKIG1zZ2lkICJQYXJ0aWFsIHdyaXRlcyBkaXNhbGxvd2VkIGZvciBOZXRCZWFucyBidWZmZXJzIgpAQCAtNDQ4OCwxNCArNDQ4OCwxNCBAQAogIy4gT25seSBNUyBWQyA0LjEgYW5kIGVhcmxpZXIgY2FuIGRvIFdpbjMycwogbXNnaWQgIiIKICJcbiIKLSJNUy1XaW5kb3dzIDE2LzMyIGJpdCBHVUkgdmVyc2lvbiIKKyJNUy1XaW5kb3dzIDE2LzMyLWJpdCBHVUkgdmVyc2lvbiIKIG1zZ3N0ciAiIgogIlxuIgogIk1TLVdpbmRvd3MgMTYvMzIguvHGriBHVUkgxsciCiAKIG1zZ2lkICIiCiAiXG4iCi0iTVMtV2luZG93cyAzMiBiaXQgR1VJIHZlcnNpb24iCisiTVMtV2luZG93cyAzMi1iaXQgR1VJIHZlcnNpb24iCiBtc2dzdHIgIiIKICJcbiIKICJNUy1XaW5kb3dzIDMyILrxxq4gR1VJIMbHIgpAQCAtNDUwOCwyOCArNDUwOCwyOCBAQAogCiBtc2dpZCAiIgogIlxuIgotIk1TLVdpbmRvd3MgMzIgYml0IGNvbnNvbGUgdmVyc2lvbiIKKyJNUy1XaW5kb3dzIDMyLWJpdCBjb25zb2xlIHZlcnNpb24iCiBtc2dzdHIgIiIKICJcbiIKICJNUy1XaW5kb3dzIDMyILrxxq4gxNy81iDGxyIKIAogbXNnaWQgIiIKICJcbiIKLSJNUy1XaW5kb3dzIDE2IGJpdCB2ZXJzaW9uIgorIk1TLVdpbmRvd3MgMTYtYml0IHZlcnNpb24iCiBtc2dzdHIgIiIKICJcbiIKICJNUy1XaW5kb3dzIDE2ILrxxq4gxsciCiAKIG1zZ2lkICIiCiAiXG4iCi0iMzIgYml0IE1TLURPUyB2ZXJzaW9uIgorIjMyLWJpdCBNUy1ET1MgdmVyc2lvbiIKIG1zZ3N0ciAiIgogIlxuIgogIjMyILrxxq4gTVMtRE9TIMbHIgogCiBtc2dpZCAiIgogIlxuIgotIjE2IGJpdCBNUy1ET1MgdmVyc2lvbiIKKyIxNi1iaXQgTVMtRE9TIHZlcnNpb24iCiBtc2dzdHIgIiIKICJcbiIKICIxNiC68cauIE1TLURPUyDGxyIKZGlmZiAtLWdpdCBhL3NyYy9wby9uby5wbyBiL3NyYy9wby9uby5wbwppbmRleCBkMDFkYzkzLi5jMTQxYzNmIDEwMDY0NAotLS0gYS9zcmMvcG8vbm8ucG8KKysrIGIvc3JjL3BvL25vLnBvCkBAIC02MTIsMTMgKzYxMiwxMyBAQAogbXNnaWQgIkU2Nzc6IEVycm9yIHdyaXRpbmcgdGVtcCBmaWxlIgogbXNnc3RyICJFNjc3OiBGZWlsIHVuZGVyIHNrcml2aW5nIHRpbCBtaWRsZXJ0aWRpZyBmaWwiCiAKLW1zZ2lkICJFNzAzOiBVc2luZyBhIEZ1bmNyZWYgYXMgYSBudW1iZXIiCittc2dpZCAiRTcwMzogVXNpbmcgYSBGdW5jcmVmIGFzIGEgTnVtYmVyIgogbXNnc3RyICJFNzAzOiBCcnVrZXIgZW4gZnVua3Nqb25zcmVmZXJhbnNlIHNvbSBldCBudW1tZXIiCiAKLW1zZ2lkICJFNzQ1OiBVc2luZyBhIExpc3QgYXMgYSBudW1iZXIiCittc2dpZCAiRTc0NTogVXNpbmcgYSBMaXN0IGFzIGEgTnVtYmVyIgogbXNnc3RyICJFNzQ1OiBCcnVrZXIgZW4gbGlzdGUgc29tIGV0IG51bW1lciIKIAotbXNnaWQgIkU3Mjg6IFVzaW5nIGEgRGljdGlvbmFyeSBhcyBhIG51bWJlciIKK21zZ2lkICJFNzI4OiBVc2luZyBhIERpY3Rpb25hcnkgYXMgYSBOdW1iZXIiCiBtc2dzdHIgIkU3Mjg6IEJydWtlciBlbiBvcmRsaXN0ZSBzb20gZXQgbnVtbWVyIgogCiBtc2dpZCAiRTcyOTogdXNpbmcgRnVuY3JlZiBhcyBhIFN0cmluZyIKQEAgLTE1ODIsNyArMTU4Miw3IEBACiBtc2dpZCAiRTIwNDogQXV0b2NvbW1hbmQgY2hhbmdlZCBudW1iZXIgb2YgbGluZXMgaW4gdW5leHBlY3RlZCB3YXkiCiBtc2dzdHIgIkUyMDQ6IEF1dG9rb21tYW5kbyBmb3JhbmRyZXQgbGluamVhbnRhbGwgcOUgZW4gdXZlbnRldCBt5XRlIgogCi1tc2dpZCAiTmV0QmVhbnMgZGlzc2FsbG93cyB3cml0ZXMgb2YgdW5tb2RpZmllZCBidWZmZXJzIgorbXNnaWQgIk5ldEJlYW5zIGRpc2FsbG93cyB3cml0ZXMgb2YgdW5tb2RpZmllZCBidWZmZXJzIgogbXNnc3RyICJOZXRCZWFucyBmb3JieXIgbGFncmluZyBhdiBidWZmZXJlIHNvbSBpa2tlIGVyIGZvcmFuZHJldCIKIAogbXNnaWQgIlBhcnRpYWwgd3JpdGVzIGRpc2FsbG93ZWQgZm9yIE5ldEJlYW5zIGJ1ZmZlcnMiCkBAIC01NDczLDIxICs1NDczLDIxIEBACiAjLiBPbmx5IE1TIFZDIDQuMSBhbmQgZWFybGllciBjYW4gZG8gV2luMzJzCiBtc2dpZCAiIgogIlxuIgotIk1TLVdpbmRvd3MgMTYvMzIgYml0IEdVSSB2ZXJzaW9uIgorIk1TLVdpbmRvd3MgMTYvMzItYml0IEdVSSB2ZXJzaW9uIgogbXNnc3RyICIiCiAiXG4iCiAiTVMgV2luZG93cyAxNi8zMi1iaXRzIGdyYWZpc2sgdmVyc2pvbiIKIAogbXNnaWQgIiIKICJcbiIKLSJNUy1XaW5kb3dzIDY0IGJpdCBHVUkgdmVyc2lvbiIKKyJNUy1XaW5kb3dzIDY0LWJpdCBHVUkgdmVyc2lvbiIKIG1zZ3N0ciAiIgogIlxuIgogIk1TIFdpbmRvd3MgNjQtYml0cyBncmFmaXNrIHZlcnNqb24iCiAKIG1zZ2lkICIiCiAiXG4iCi0iTVMtV2luZG93cyAzMiBiaXQgR1VJIHZlcnNpb24iCisiTVMtV2luZG93cyAzMi1iaXQgR1VJIHZlcnNpb24iCiBtc2dzdHIgIiIKICJcbiIKICJNUy1XaW5kb3dzIDMyLWJpdHMgR1VJLXZlcnNqb24iCkBAIC01NTAwLDI4ICs1NTAwLDI4IEBACiAKIG1zZ2lkICIiCiAiXG4iCi0iTVMtV2luZG93cyAzMiBiaXQgY29uc29sZSB2ZXJzaW9uIgorIk1TLVdpbmRvd3MgMzItYml0IGNvbnNvbGUgdmVyc2lvbiIKIG1zZ3N0ciAiIgogIlxuIgogIk1TLVdpbmRvd3MgMzItYml0cyBrb25zb2xsdmVyc2pvbiIKIAogbXNnaWQgIiIKICJcbiIKLSJNUy1XaW5kb3dzIDE2IGJpdCB2ZXJzaW9uIgorIk1TLVdpbmRvd3MgMTYtYml0IHZlcnNpb24iCiBtc2dzdHIgIiIKICJcbiIKICJNUy1XaW5kb3dzIDE2LWJpdHMgdmVyc2pvbiIKIAogbXNnaWQgIiIKICJcbiIKLSIzMiBiaXQgTVMtRE9TIHZlcnNpb24iCisiMzItYml0IE1TLURPUyB2ZXJzaW9uIgogbXNnc3RyICIiCiAiXG4iCiAiMzItYml0cyBNUy1ET1MtdmVyc2pvbiIKIAogbXNnaWQgIiIKICJcbiIKLSIxNiBiaXQgTVMtRE9TIHZlcnNpb24iCisiMTYtYml0IE1TLURPUyB2ZXJzaW9uIgogbXNnc3RyICIiCiAiXG4iCiAiMTYtYml0cyBNUy1ET1MtdmVyc2pvbiIKZGlmZiAtLWdpdCBhL3NyYy9wby9wbC5VVEYtOC5wbyBiL3NyYy9wby9wbC5VVEYtOC5wbwppbmRleCBlMTNjODU1Li4wMTYxZjVjIDEwMDY0NAotLS0gYS9zcmMvcG8vcGwuVVRGLTgucG8KKysrIGIvc3JjL3BvL3BsLlVURi04LnBvCkBAIC0xLDE4ICsxLDE4IEBACiAjIHRyYW5zbGF0aW9uIG9mIHBsLnBvIHRvIFBvbGlzaAogIyBQb2xpc2ggVHJhbnNsYXRpb24gZm9yIFZpbQogIwotIyB1cGRhdGVkIDIwMDcgZm9yIHZpbS03LjAKKyMgdXBkYXRlZCAyMDA4IGZvciB2aW0tNy4yCiAjCiAjIEZJUlNUIEFVVEhPUiBNYXJjaW4gRGFsZWNraSA8bWFydGluQGRhbGVja2kuZGU+LCAyMDAwLgotIyBNaWtvbGFqIE1hY2hvd3NraSA8bWlrbWFjaEB3cC5wbD4sIDIwMDQsIDIwMDUsIDIwMDYsIDIwMDcuCisjIE1pa29sYWogTWFjaG93c2tpIDxtaWttYWNoQHdwLnBsPiwgMjAwNCwgMjAwNSwgMjAwNiwgMjAwNywgMjAwOC4KIG1zZ2lkICIiCiBtc2dzdHIgIiIKICJQcm9qZWN0LUlkLVZlcnNpb246IHBsXG4iCiAiUmVwb3J0LU1zZ2lkLUJ1Z3MtVG86IFxuIgotIlBPVC1DcmVhdGlvbi1EYXRlOiAyMDA3LTA0LTMwIDIwOjAzKzAyMDBcbiIKLSJQTy1SZXZpc2lvbi1EYXRlOiAyMDA3LTA0LTMwIDIwOjA3KzAyMDBcbiIKKyJQT1QtQ3JlYXRpb24tRGF0ZTogMjAwOC0wNi0yNSAxOTo0MCswMjAwXG4iCisiUE8tUmV2aXNpb24tRGF0ZTogMjAwOC0wNi0yNSAxOTo1NSswMjAwXG4iCiAiTGFzdC1UcmFuc2xhdG9yOiBNaWtvbGFqIE1hY2hvd3NraSA8bWlrbWFjaEB3cC5wbD5cbiIKLSJMYW5ndWFnZS1UZWFtOiBQb2xpc2ggPGtkZS10cmFuc2xAbWVyLmNoZW1pYS5wb2xzbC5nbGl3aWNlLnBsPlxuIgorIkxhbmd1YWdlLVRlYW06IFBvbGlzaCA8bWlrbWFjaEB3cC5wbD5cbiIKICJNSU1FLVZlcnNpb246IDEuMFxuIgogIkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD11dGYtOFxuIgogIkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXRcbiIKQEAgLTQ1MCw2ICs0NTAsOSBAQAogbXNnaWQgIkU2OTQ6IEludmFsaWQgb3BlcmF0aW9uIGZvciBGdW5jcmVmcyIKIG1zZ3N0ciAiRTY5NDogTmllcHJhd2lkxYJvd2Egb3BlcmFjamEgZGxhIEZ1bmNyZWYiCiAKK21zZ2lkICJFODA0OiBDYW5ub3QgdXNlICclJyB3aXRoIEZsb2F0IgorbXNnc3RyICJFODA0OiBOaWUgbW9nxJkgdcW8ecSHICclJyB3IFptaWVubm9wcnplY2lua293ZWoiCisKIG1zZ2lkICJFMTEwOiBNaXNzaW5nICcpJyIKIG1zZ3N0ciAiRTExMDogQnJhayAnKSciCiAKQEAgLTUxNSw2ICs1MTgsOSBAQAogbXNnaWQgIkU3MjU6IENhbGxpbmcgZGljdCBmdW5jdGlvbiB3aXRob3V0IERpY3Rpb25hcnk6ICVzIgogbXNnc3RyICJFNzI1OiBXeXdvxYJhbmllIGZ1bmtjamkgXCJkaWN0XCIgYmV6IFPFgm93bmlrYTogJXMiCiAKK21zZ2lkICJFODA4OiBOdW1iZXIgb3IgRmxvYXQgcmVxdWlyZWQiCittc2dzdHIgIkU4MDg6IFd5bWFnYW5hIExpY3piYSBsdWIgWm1pZW5ub3ByemVjaW5rb3dhIgorCiBtc2dpZCAiRTY5OTogVG9vIG1hbnkgYXJndW1lbnRzIgogbXNnc3RyICJFNjk5OiBaYSBkdcW8byBhcmd1bWVudMOzdyIKIApAQCAtNTkxLDIzICs1OTcsMjkgQEAKIG1zZ2lkICJFNjc3OiBFcnJvciB3cml0aW5nIHRlbXAgZmlsZSIKIG1zZ3N0ciAiRTY3NzogQsWCxIVkIHphcGlzeXdhbmlhIHBsaWt1IHR5bWN6YXNvd2VnbyIKIAorbXNnaWQgIkU4MDU6IFVzaW5nIGEgRmxvYXQgYXMgYSBOdW1iZXIiCittc2dzdHIgIkU4MDU6IFXFvHljaWUgWm1pZW5ub3ByemVjaW5rb3dlaiBqYWtvIExpY3pieSIKKwogbXNnaWQgIkU3MDM6IFVzaW5nIGEgRnVuY3JlZiBhcyBhIG51bWJlciIKIG1zZ3N0ciAiRTcwMzogVcW8eWNpZSBGdW5jcmVmIGpha28gbGljemJ5IgogCi1tc2dpZCAiRTc0NTogVXNpbmcgYSBMaXN0IGFzIGEgbnVtYmVyIgotbXNnc3RyICJFNzQ1OiBVxbx5Y2llIExpc3R5IGpha28gbGljemJ5IgorbXNnaWQgIkU3NDU6IFVzaW5nIGEgTGlzdCBhcyBhIE51bWJlciIKK21zZ3N0ciAiRTc0NTogVcW8eWNpZSBMaXN0eSBqYWtvIExpY3pieSIKIAotbXNnaWQgIkU3Mjg6IFVzaW5nIGEgRGljdGlvbmFyeSBhcyBhIG51bWJlciIKLW1zZ3N0ciAiRTcyODogVcW8eWNpZSBTxYJvd25pa2EgamFrbyBsaWN6YnkiCittc2dpZCAiRTcyODogVXNpbmcgYSBEaWN0aW9uYXJ5IGFzIGEgTnVtYmVyIgorbXNnc3RyICJFNzI4OiBVxbx5Y2llIFPFgm93bmlrYSBqYWtvIExpY3pieSIKIAogbXNnaWQgIkU3Mjk6IHVzaW5nIEZ1bmNyZWYgYXMgYSBTdHJpbmciCi1tc2dzdHIgIkU3Mjk6IFXFvHljaWUgRnVuY3JlZiBqYWtvIMWCYcWEY3VjaGEiCittc2dzdHIgIkU3Mjk6IFXFvHljaWUgRnVuY3JlZiBqYWtvIMWBYcWEY3VjaGEiCiAKIG1zZ2lkICJFNzMwOiB1c2luZyBMaXN0IGFzIGEgU3RyaW5nIgotbXNnc3RyICJFNzMwOiBVxbx5Y2llIExpc3R5IGpha28gxYJhxYRjdWNoYSIKK21zZ3N0ciAiRTczMDogVcW8eWNpZSBMaXN0eSBqYWtvIMWBYcWEY3VjaGEiCiAKIG1zZ2lkICJFNzMxOiB1c2luZyBEaWN0aW9uYXJ5IGFzIGEgU3RyaW5nIgotbXNnc3RyICJFNzMxOiBVxbx5Y2llIFPFgm93bmlrYSBqYWtvIMWCYcWEY3VjaGEiCittc2dzdHIgIkU3MzE6IFXFvHljaWUgU8WCb3duaWthIGpha28gxYFhxYRjdWNoYSIKKworbXNnaWQgIkU4MDY6IHVzaW5nIEZsb2F0IGFzIGEgU3RyaW5nIgorbXNnc3RyICJFODA2OiBVxbx5Y2llIFptaWVubm9wcnplY2lua293ZWogamFrbyDFgWHFhGN1Y2hhIgogCiAjLCBjLWZvcm1hdAogbXNnaWQgIkU3MDQ6IEZ1bmNyZWYgdmFyaWFibGUgbmFtZSBtdXN0IHN0YXJ0IHdpdGggYSBjYXBpdGFsOiAlcyIKQEAgLTk1Niw2ICs5NjgsMjAgQEAKICJvcGNqYSAncmVhZG9ubHknIG5hc3Rhd2lvbmEgZGxhIFwiJXNcIi5cbiIKICJDenkgY2hjZXN6IGdvIHBvbWltbyB0ZWdvIHphcGlzYcSHPyIKIAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiRmlsZSBwZXJtaXNzaW9ucyBvZiBcIiVzXCIgYXJlIHJlYWQtb25seS5cbiIKKyJJdCBtYXkgc3RpbGwgYmUgcG9zc2libGUgdG8gd3JpdGUgaXQuXG4iCisiRG8geW91IHdpc2ggdG8gdHJ5PyIKK21zZ3N0ciAiIgorIlByYXdhIHBsaWt1IFwiJXNcIiBzxIUgdHlsa28gZG8gb2Rjenl0dS5cbiIKKyJNaW1vIHRvIGJ5xIcgbW/FvGUgdWRhIHNpxJkgem1pZW5pxIcgdGVuIHBsaWsuXG4iCisiQ2hjZXN6IHNwcsOzYm93YcSHPyIKKworIywgYy1mb3JtYXQKK21zZ2lkICJFNTA1OiBcIiVzXCIgaXMgcmVhZC1vbmx5IChhZGQgISB0byBvdmVycmlkZSkiCittc2dzdHIgIkU1MDU6IFwiJXNcIiBqZXN0IHR5bGtvIGRvIG9kY3p5dHUgKGRvZGFqICEgYWJ5IHd5bXVzacSHKSIKKwogbXNnaWQgIkVkaXQgRmlsZSIKIG1zZ3N0ciAiRWR5dHVqIFBsaWsiCiAKQEAgLTE1MDUsNiArMTUzMSw5IEBACiBtc2dpZCAiW3NvY2tldF0iCiBtc2dzdHIgIltzb2NrZXRdIgogCittc2dpZCAiW2NoYXJhY3RlciBzcGVjaWFsXSIKK21zZ3N0ciAiW3NwZWNqYWxueSB6bmFrXSIKKwogbXNnaWQgIltST10iCiBtc2dzdHIgIltST10iCiAKQEAgLTE1NTUsNyArMTU4NCw3IEBACiBtc2dpZCAiRTIwNDogQXV0b2NvbW1hbmQgY2hhbmdlZCBudW1iZXIgb2YgbGluZXMgaW4gdW5leHBlY3RlZCB3YXkiCiBtc2dzdHIgIkUyMDQ6IEF1dG9rb21lbmRhIHptaWVuacWCYSBsaWN6YsSZIHdpZXJzenkgdyBuaWVvY3pla2l3YW55IHNwb3PDs2IiCiAKLW1zZ2lkICJOZXRCZWFucyBkaXNzYWxsb3dzIHdyaXRlcyBvZiB1bm1vZGlmaWVkIGJ1ZmZlcnMiCittc2dpZCAiTmV0QmVhbnMgZGlzYWxsb3dzIHdyaXRlcyBvZiB1bm1vZGlmaWVkIGJ1ZmZlcnMiCiBtc2dzdHIgIk5ldEJlYW5zIG5pZSBwb3p3YWxhIG5hIHphcGlzIG5pZXptb2R5Zmlrb3dhbnljaCBidWZvcsOzdyIKIAogbXNnaWQgIlBhcnRpYWwgd3JpdGVzIGRpc2FsbG93ZWQgZm9yIE5ldEJlYW5zIGJ1ZmZlcnMiCkBAIC0yMzE3LDE1ICsyMzQ2LDE1IEBACiBtc2dpZCAiY3NfY3JlYXRlX2Nvbm5lY3Rpb24gZXhlYyBmYWlsZWQiCiBtc2dzdHIgInd5a29uYW5pZSBjc19jcmVhdGVfY29ubmVjdGlvbiBuaWUgcG93aW9kxYJvIHNpxJkiCiAKLW1zZ2lkICJFNjIzOiBDb3VsZCBub3Qgc3Bhd24gY3Njb3BlIHByb2Nlc3MiCi1tc2dzdHIgIkU2MjM6IE5pZSBtb2fFgmVtIHN0d29yennEhyBwcm9jZXN1IGNzY29wZSIKLQogbXNnaWQgImNzX2NyZWF0ZV9jb25uZWN0aW9uOiBmZG9wZW4gZm9yIHRvX2ZwIGZhaWxlZCIKIG1zZ3N0ciAiY3NfY3JlYXRlX2Nvbm5lY3Rpb246IGZkb3BlbiBkbGEgdG9fZnAgbmllIHBvd2lvZMWCbyBzacSZIgogCiBtc2dpZCAiY3NfY3JlYXRlX2Nvbm5lY3Rpb246IGZkb3BlbiBmb3IgZnJfZnAgZmFpbGVkIgogbXNnc3RyICJjc19jcmVhdGVfY29ubmVjdGlvbjogZmRvcGVuIGRsYSBmcl9mcCBuaWUgcG93aW9kxYJvIHNpxJkiCiAKK21zZ2lkICJFNjIzOiBDb3VsZCBub3Qgc3Bhd24gY3Njb3BlIHByb2Nlc3MiCittc2dzdHIgIkU2MjM6IE5pZSBtb2fFgmVtIHN0d29yennEhyBwcm9jZXN1IGNzY29wZSIKKwogbXNnaWQgIkU1Njc6IG5vIGNzY29wZSBjb25uZWN0aW9ucyIKIG1zZ3N0ciAiRTU2NzogYnJhayBwb8WCxIVjemVuaWEgeiBjc2NvcGUiCiAKQEAgLTI0ODYsOCArMjUxNSw4IEBACiBtc2dzdHIgIm51bWVyIHdpZXJzemEgcG96YSB6YWtyZXNlbSIKIAogIywgYy1mb3JtYXQKLW1zZ2lkICI8YnVmZmVyIG9iamVjdCAoZGVsZXRlZCkgYXQgJThsWD4iCi1tc2dzdHIgIjxvYmlla3QgYnVmb3JhIChza2Fzb3dhbnkpIHcgJThsWD4iCittc2dpZCAiPGJ1ZmZlciBvYmplY3QgKGRlbGV0ZWQpIGF0ICVwPiIKK21zZ3N0ciAiPG9iaWVrdCBidWZvcmEgKHNrYXNvd2FueSkgdyAlcD4iCiAKIG1zZ2lkICJpbnZhbGlkIG1hcmsgbmFtZSIKIG1zZ3N0ciAibmllcG9wcmF3bmEgbmF6d2EgemFrxYJhZGtpIgpAQCAtMjUwNSwxMiArMjUzNCwxMiBAQAogbXNnc3RyICJwb3p5Y2phIGt1cnNvcmEgcG96YSBidWZvcmVtIgogCiAjLCBjLWZvcm1hdAotbXNnaWQgIjx3aW5kb3cgb2JqZWN0IChkZWxldGVkKSBhdCAlLjhsWD4iCi1tc2dzdHIgIjxvYmlla3Qgb2tuYSAoc2thc293YW55KSB3ICUuOGxYPiIKK21zZ2lkICI8d2luZG93IG9iamVjdCAoZGVsZXRlZCkgYXQgJXA+IgorbXNnc3RyICI8b2JpZWt0IG9rbmEgKHNrYXNvd2FueSkgdyAlcD4iCiAKICMsIGMtZm9ybWF0Ci1tc2dpZCAiPHdpbmRvdyBvYmplY3QgKHVua25vd24pIGF0ICUuOGxYPiIKLW1zZ3N0ciAiPG9iaWVrdCBva25hIChuaWV6bmFueSkgdyAlLjhsWD4iCittc2dpZCAiPHdpbmRvdyBvYmplY3QgKHVua25vd24pIGF0ICVwPiIKK21zZ3N0ciAiPG9iaWVrdCBva25hIChuaWV6bmFueSkgdyAlcD4iCiAKICMsIGMtZm9ybWF0CiBtc2dpZCAiPHdpbmRvdyAlZD4iCkBAIC0yNTIzLDcgKzI1NTIsOCBAQAogbXNnc3RyICJFMjY1OiAkXyBtdXNpIGJ5xIcgcmVwcmV6ZW50YWNqxIUgxYFhxYRjdWNoYSIKIAogbXNnaWQgIkUyNjY6IFNvcnJ5LCB0aGlzIGNvbW1hbmQgaXMgZGlzYWJsZWQsIHRoZSBSdWJ5IGxpYnJhcnkgY291bGQgbm90IGJlIGxvYWRlZC4iCi1tc2dzdHIgIkUyNjY6IFByenlrcm8gbWksIHRhIGtvbWVuZGEgamVzdCB3ecWCxIVjem9uYSwgYm8gbmllIG1vxbxuYSB6YcWCYWRvd2HEhyAiCittc2dzdHIgIiIKKyJFMjY2OiBQcnp5a3JvIG1pLCB0YSBrb21lbmRhIGplc3Qgd3nFgsSFY3pvbmEsIGJvIG5pZSBtb8W8bmEgemHFgmFkb3dhxIcgIgogImJpYmxpb3Rla2kgUnVieS4iCiAKIG1zZ2lkICJFMjY3OiB1bmV4cGVjdGVkIHJldHVybiIKQEAgLTI2OTEsNyArMjcyMSw5IEBACiAiYnVmb3JhL29rbmEiCiAKIG1zZ2lkICJFNTcxOiBTb3JyeSwgdGhpcyBjb21tYW5kIGlzIGRpc2FibGVkOiB0aGUgVGNsIGxpYnJhcnkgY291bGQgbm90IGJlIGxvYWRlZC4iCi1tc2dzdHIgIkU1NzE6IFByenlrcm8gbWksIHRhIGtvbWVuZGEgamVzdCB3ecWCxIVjem9uYSwgYm8gbmllIG1vxbxuYSB6YcWCYWRvd2HEhyBiaWJsaW90ZWtpIFRjbC4iCittc2dzdHIgIiIKKyJFNTcxOiBQcnp5a3JvIG1pLCB0YSBrb21lbmRhIGplc3Qgd3nFgsSFY3pvbmEsIGJvIG5pZSBtb8W8bmEgemHFgmFkb3dhxIcgIgorImJpYmxpb3Rla2kgVGNsLiIKIAogbXNnaWQgIkUyODE6IFRDTCBFUlJPUjogZXhpdCBjb2RlIGlzIG5vdCBpbnQhPyBQbGVhc2UgcmVwb3J0IHRoaXMgdG8gdmltLWRldkB2aW0ub3JnIgogbXNnc3RyICIiCkBAIC0yODA3LDggKzI4MzksMTEgQEAKICJcbiIKICIgICBsdWI6IgogCi1tc2dpZCAid2hlcmUgY2FzZSBpcyBpZ25vcmVkIHByZXBlbmQgLyB0byBtYWtlIGZsYWcgdXBwZXIgY2FzZSIKK21zZ2lkICIiCisiXG4iCisiV2hlcmUgY2FzZSBpcyBpZ25vcmVkIHByZXBlbmQgLyB0byBtYWtlIGZsYWcgdXBwZXIgY2FzZSIKIG1zZ3N0ciAiIgorIlxuIgogImdkemllIHdpZWxrb8WbxIcgem5ha8OzdyBqZXN0IGlnbm9yb3dhbmEgZG9kYWogbmEgcG9jesSFdGt1IC8gYnkgZmxhZ2EgYnnFgmEgIgogIndpZWxrxIUgbGl0ZXLEhSIKIApAQCAtMjg3OCw4ICsyOTEzLDggQEAKIG1zZ2lkICItTlx0XHRcdE5vdCBmdWxseSBWaSBjb21wYXRpYmxlOiAnbm9jb21wYXRpYmxlJyIKIG1zZ3N0ciAiLU5cdFx0XHRCxIVkxbogbmllenVwZcWCbmllIHpnb2RueSB6IFZpOiAnbm9jb21wYXRpYmxlJyIKIAotbXNnaWQgIi1WW05dXHRcdFZlcmJvc2UgbGV2ZWwiCi1tc2dzdHIgIi1WW05dXHRcdFN0b3BpZcWEIGdhZGF0bGl3b8WbY2kiCittc2dpZCAiLVZbTl1bZm5hbWVdXHRcdEJlIHZlcmJvc2UgW2xldmVsIE5dIFtsb2cgbWVzc2FnZXMgdG8gZm5hbWVdIgorbXNnc3RyICItVltOXVtuYXp3YXBdXHRcdEdhZGF0bGl3eSBbcG96aW9tIE5dIFt6YXBpc3VqIHdpYWRvbW/Fm2NpIGRvIG5hendhcF0iCiAKIG1zZ2lkICItRFx0XHRcdERlYnVnZ2luZyBtb2RlIgogbXNnc3RyICItRFx0XHRcdFRyeWIgb2RwbHVza3dpYW5pYSIKQEAgLTI5NzksMTAgKzMwMTQsOCBAQAogbXNnaWQgIi0tcmVtb3RlLXdhaXQtc2lsZW50IDxmaWxlcz4gIFNhbWUsIGRvbid0IGNvbXBsYWluIGlmIHRoZXJlIGlzIG5vIHNlcnZlciIKIG1zZ3N0ciAiLS1yZW1vdGUtd2FpdC1zaWxlbnQgPHBsaWtpPiAgVG8gc2FtbywgbmllIG5hcnpla2FqIGplxZtsaSBuaWUgbWEgc2Vyd2VyYSIKIAotbXNnaWQgIi0tcmVtb3RlLXRhYiA8ZmlsZXM+ICBBcyAtLXJlbW90ZSBidXQgb3BlbiB0YWIgcGFnZSBmb3IgZWFjaCBmaWxlIgotbXNnc3RyICIiCi0iLS1yZW1vdGUtdGFiIDxwbGlraT5cdFRhayBqYWsgLS1yZW1vdGUgYWxlIG90d8OzcnogamVkbsSFIGthcnTEmSBkbGEga2HFvGRlZ28gIgotInBsaWt1IgorbXNnaWQgIi0tcmVtb3RlLXRhYlstd2FpdF1bLXNpbGVudF0gPGZpbGVzPiAgQXMgLS1yZW1vdGUgYnV0IHVzZSB0YWIgcGFnZSBwZXIgZmlsZSIKK21zZ3N0ciAiLS1yZW1vdGUtdGFiWy13YWl0XVstc2lsZW50XSA8cGxpa2k+ICB0YWsgamFrIC0tcmVtb3RlIGFsZSB1xbx5d2EgamVkbmVqIGthcnR5IG5hIHBsaWsiCiAKIG1zZ2lkICItLXJlbW90ZS1zZW5kIDxrZXlzPlx0U2VuZCA8a2V5cz4gdG8gYSBWaW0gc2VydmVyIGFuZCBleGl0IgogbXNnc3RyICItLXJlbW90ZS1zZW5kIDxrbGF3aXN6ZT5cdFd5xZtsaWogPGtsYXdpc3plPiBkbyBzZXJ3ZXJhIFZpbWEgaSB6YWtvxYRjeiIKQEAgLTMxMDYsNiArMzEzOSw5IEBACiBtc2dpZCAiLVAgPHBhcmVudCB0aXRsZT5cdE9wZW4gVmltIGluc2lkZSBwYXJlbnQgYXBwbGljYXRpb24iCiBtc2dzdHIgIi1QIDx0eXR1xYIgcm9kemljYT5cdE90d8OzcnogVmltYSB3ZXduxIV0cnogcm9kemljaWVsc2tpZWogYXBsaWthY2ppIgogCittc2dpZCAiLS13aW5kb3dpZCA8SFdORD5cdE9wZW4gVmltIGluc2lkZSBhbm90aGVyIHdpbjMyIHdpZGdldCIKK21zZ3N0ciAiLS13aW5kb3dpZCA8SFdORD5cdE90d8OzcnogVmltYSB3ZXduxIV0cnogaW5uZWdvIGVsZW1lbnR1IHdpbjMyIgorCiBtc2dpZCAiTm8gZGlzcGxheSIKIG1zZ3N0ciAiQnJhayBkaXNwbGF5IgogCkBAIC0zNzU0LDYgKzM3OTAsOSBAQAogbXNnaWQgIkU3NjY6IEluc3VmZmljaWVudCBhcmd1bWVudHMgZm9yIHByaW50ZigpIgogbXNnc3RyICJFNzY2OiBaYSBtYcWCbyBhcmd1bWVudMOzdyBkbGEgcHJpbnRmKCkiCiAKK21zZ2lkICJFODA3OiBFeHBlY3RlZCBGbG9hdCBhcmd1bWVudCBmb3IgcHJpbnRmKCkiCittc2dzdHIgIkU4MDc6IFNwb2R6aWV3YW55IGFyZ3VtZW50IFptaWVubm9wcnplY2lua293eSB3IHByaW50ZigpIgorCiBtc2dpZCAiRTc2NzogVG9vIG1hbnkgYXJndW1lbnRzIHRvIHByaW50ZigpIgogbXNnc3RyICJFNzY3OiBaYSBkdcW8byBhcmd1bWVudMOzdyBkbGEgcHJpbnRmKCkiCiAKQEAgLTM4NzcsNyArMzkxNiw2IEBACiBtc2dpZCAiRTM0NzogTm8gbW9yZSBmaWxlIFwiJXNcIiBmb3VuZCBpbiBwYXRoIgogbXNnc3RyICJFMzQ3OiBQbGlrdSBcIiVzXCIgbmllIG1hIHdpxJljZWogdyB0cm9waWUiCiAKLSMuIEdldCBoZXJlIHdoZW4gdGhlIHNlcnZlciBjYW4ndCBiZSBmb3VuZC4KIG1zZ2lkICJDYW5ub3QgY29ubmVjdCB0byBOZXRiZWFucyAjMiIKIG1zZ3N0ciAiTmllIG1vxbxuYSBwb8WCxIVjennEhyB6IE5ldGJlYW5zICMyIgogCkBAIC00MTYxLDYgKzQxOTksMTMgQEAKIG1zZ2lkICJFMzU1OiBVbmtub3duIG9wdGlvbjogJXMiCiBtc2dzdHIgIkUzNTU6IE5pZXpuYW5hIG9wY2phOiAlcyIKIAorIy4gVGhlcmUncyBhbm90aGVyIGNoYXJhY3RlciBhZnRlciB6ZXJvcyBvciB0aGUgc3RyaW5nCisjLiAqIGlzIGVtcHR5LiAgSW4gYm90aCBjYXNlcywgd2UgYXJlIHRyeWluZyB0byBzZXQgYQorIy4gKiBudW0gb3B0aW9uIHVzaW5nIGEgc3RyaW5nLgorIywgYy1mb3JtYXQKK21zZ2lkICJFNTIxOiBOdW1iZXIgcmVxdWlyZWQ6ICYlcyA9ICclcyciCittc2dzdHIgIkU1MjE6IFd5bWFnYW5hIExpY3piYTogJiVzID0gJyVzJyIKKwogbXNnaWQgIiIKICJcbiIKICItLS0gVGVybWluYWwgY29kZXMgLS0tIgpAQCAtNDMxNCw2ICs0MzU5LDIwIEBACiAKIG1zZ2lkICIiCiAiXG4iCisiQ291bGQgbm90IGdldCBzZWN1cml0eSBjb250ZXh0IGZvciAiCittc2dzdHIgIiIKKyJcbiIKKyJOaWUgbW9nxJkgdXp5c2thxIcga29udGVrc3R1IGJlenBpZWN6ZcWEc3R3YSBkbGEiCisKK21zZ2lkICIiCisiXG4iCisiQ291bGQgbm90IHNldCBzZWN1cml0eSBjb250ZXh0IGZvciAiCittc2dzdHIgIiIKKyJcbiIKKyJOaWUgbW/FvG5hIHV6eXNrYcSHIGtvbnRla3N0dSBiZXpwaWVjemXFhHN0d2EgZGxhIgorCittc2dpZCAiIgorIlxuIgogIkNhbm5vdCBleGVjdXRlIHNoZWxsICIKIG1zZ3N0ciAiIgogIlxuIgpAQCAtNTQzNywyMSArNTQ5NiwyMSBAQAogIy4gT25seSBNUyBWQyA0LjEgYW5kIGVhcmxpZXIgY2FuIGRvIFdpbjMycwogbXNnaWQgIiIKICJcbiIKLSJNUy1XaW5kb3dzIDE2LzMyIGJpdCBHVUkgdmVyc2lvbiIKKyJNUy1XaW5kb3dzIDE2LzMyLWJpdCBHVUkgdmVyc2lvbiIKIG1zZ3N0ciAiIgogIlxuIgotIjE2LzMyIGJpdG93YSB3ZXJzamEgR1VJIGRsYSBNUy1XaW5kb3dzIgorIjE2LzMyLWJpdCB3ZXJzamEgR1VJIGRsYSBNUy1XaW5kb3dzIgogCiBtc2dpZCAiIgogIlxuIgotIk1TLVdpbmRvd3MgNjQgYml0IEdVSSB2ZXJzaW9uIgorIk1TLVdpbmRvd3MgNjQtYml0IEdVSSB2ZXJzaW9uIgogbXNnc3RyICIiCiAiXG4iCiAiNjQgYml0b3dhIHdlcnNqYSBHVUkgZGxhIE1TLVdpbmRvd3MiCiAKIG1zZ2lkICIiCiAiXG4iCi0iTVMtV2luZG93cyAzMiBiaXQgR1VJIHZlcnNpb24iCisiTVMtV2luZG93cyAzMi1iaXQgR1VJIHZlcnNpb24iCiBtc2dzdHIgIiIKICJcbiIKICIzMiBiaXRvd2Egd2Vyc2phIEdVSSBkbGEgTVMtV2luZG93cyIKQEAgLTU0NjQsMjggKzU1MjMsMzUgQEAKIAogbXNnaWQgIiIKICJcbiIKLSJNUy1XaW5kb3dzIDMyIGJpdCBjb25zb2xlIHZlcnNpb24iCisiTVMtV2luZG93cyA2NC1iaXQgY29uc29sZSB2ZXJzaW9uIgogbXNnc3RyICIiCiAiXG4iCiAiMzIgYml0b3dhIHdlcnNqYSBuYSBrb25zb2zEmSBkbGEgTVMtV2luZG93cyIKIAogbXNnaWQgIiIKICJcbiIKLSJNUy1XaW5kb3dzIDE2IGJpdCB2ZXJzaW9uIgorIk1TLVdpbmRvd3MgMzItYml0IGNvbnNvbGUgdmVyc2lvbiIKK21zZ3N0ciAiIgorIlxuIgorIjMyIGJpdG93YSB3ZXJzamEgbmEga29uc29sxJkgZGxhIE1TLVdpbmRvd3MiCisKK21zZ2lkICIiCisiXG4iCisiTVMtV2luZG93cyAxNi1iaXQgdmVyc2lvbiIKIG1zZ3N0ciAiIgogIlxuIgogIjE2IGJpdG93YSB3ZXJzamEgZGxhIE1TLVdpbmRvd3MiCiAKIG1zZ2lkICIiCiAiXG4iCi0iMzIgYml0IE1TLURPUyB2ZXJzaW9uIgorIjMyLWJpdCBNUy1ET1MgdmVyc2lvbiIKIG1zZ3N0ciAiIgogIlxuIgogIjMyIGJpdG93YSB3ZXJzamEgZGxhIE1TLURPUyIKIAogbXNnaWQgIiIKICJcbiIKLSIxNiBiaXQgTVMtRE9TIHZlcnNpb24iCisiMTYtYml0IE1TLURPUyB2ZXJzaW9uIgogbXNnc3RyICIiCiAiXG4iCiAiMTYgYml0b3dhIHdlcnNqYSBkbGEgTVMtRE9TIgpAQCAtNTcwMyw3ICs1NzY5LDcgQEAKIG1zZ3N0ciAid3Byb3dhZMW6IDpoZWxwIGNwLWRlZmF1bHQ8RW50ZXI+ICBkbGEgaW5mb3JtYWNqaSB0byB0eW0gICIKIAogbXNnaWQgIm1lbnUgIEhlbHAtPk9ycGhhbnMgICAgICAgICAgIGZvciBpbmZvcm1hdGlvbiAgICAiCi1tc2dzdHIgIndwcm93YWTFuiA6aGVscCBpY2NmPEVudGVyPiAgICAgICAgZGxhIGluZm9ybWFjamkgdG8gdHltICAiCittc2dzdHIgIm1lbnUgUG9tb2MtPlNpZXJvdHkgICAgICAgIGRsYSBpbmZvcm1hY2ppIHRvIHR5bSAgIgogCiBtc2dpZCAiUnVubmluZyBtb2RlbGVzcywgdHlwZWQgdGV4dCBpcyBpbnNlcnRlZCIKIG1zZ3N0ciAiVXJ1Y2hvbWlvbnkgYmV6IHRyeWLDs3csIHdwaXNhbnkgdGVrc3QgamVzdCB3cHJvd2FkemFueSIKZGlmZiAtLWdpdCBhL3NyYy9wby9wbC5jcDEyNTAucG8gYi9zcmMvcG8vcGwuY3AxMjUwLnBvCmluZGV4IDFiYmM3ZmMuLjMxZDA4NGYgMTAwNjQ0Ci0tLSBhL3NyYy9wby9wbC5jcDEyNTAucG8KKysrIGIvc3JjL3BvL3BsLmNwMTI1MC5wbwpAQCAtMSwxOCArMSwxOCBAQAogIyB0cmFuc2xhdGlvbiBvZiBwbC5wbyB0byBQb2xpc2gKICMgUG9saXNoIFRyYW5zbGF0aW9uIGZvciBWaW0KICMKLSMgdXBkYXRlZCAyMDA3IGZvciB2aW0tNy4wCisjIHVwZGF0ZWQgMjAwOCBmb3IgdmltLTcuMgogIwogIyBGSVJTVCBBVVRIT1IgTWFyY2luIERhbGVja2kgPG1hcnRpbkBkYWxlY2tpLmRlPiwgMjAwMC4KLSMgTWlrb2xhaiBNYWNob3dza2kgPG1pa21hY2hAd3AucGw+LCAyMDA0LCAyMDA1LCAyMDA2LCAyMDA3LgorIyBNaWtvbGFqIE1hY2hvd3NraSA8bWlrbWFjaEB3cC5wbD4sIDIwMDQsIDIwMDUsIDIwMDYsIDIwMDcsIDIwMDguCiBtc2dpZCAiIgogbXNnc3RyICIiCiAiUHJvamVjdC1JZC1WZXJzaW9uOiBwbFxuIgogIlJlcG9ydC1Nc2dpZC1CdWdzLVRvOiBcbiIKLSJQT1QtQ3JlYXRpb24tRGF0ZTogMjAwNy0wNC0zMCAyMDowMyswMjAwXG4iCi0iUE8tUmV2aXNpb24tRGF0ZTogMjAwNy0wNC0zMCAyMDowNyswMjAwXG4iCisiUE9ULUNyZWF0aW9uLURhdGU6IDIwMDgtMDYtMjUgMTk6NDArMDIwMFxuIgorIlBPLVJldmlzaW9uLURhdGU6IDIwMDgtMDYtMjUgMTk6NTUrMDIwMFxuIgogIkxhc3QtVHJhbnNsYXRvcjogTWlrb2xhaiBNYWNob3dza2kgPG1pa21hY2hAd3AucGw+XG4iCi0iTGFuZ3VhZ2UtVGVhbTogUG9saXNoIDxrZGUtdHJhbnNsQG1lci5jaGVtaWEucG9sc2wuZ2xpd2ljZS5wbD5cbiIKKyJMYW5ndWFnZS1UZWFtOiBQb2xpc2ggPG1pa21hY2hAd3AucGw+XG4iCiAiTUlNRS1WZXJzaW9uOiAxLjBcbiIKICJDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9Y3AxMjUwXG4iCiAiQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdFxuIgpAQCAtNDUwLDYgKzQ1MCw5IEBACiBtc2dpZCAiRTY5NDogSW52YWxpZCBvcGVyYXRpb24gZm9yIEZ1bmNyZWZzIgogbXNnc3RyICJFNjk0OiBOaWVwcmF3aWSzb3dhIG9wZXJhY2phIGRsYSBGdW5jcmVmIgogCittc2dpZCAiRTgwNDogQ2Fubm90IHVzZSAnJScgd2l0aCBGbG9hdCIKK21zZ3N0ciAiRTgwNDogTmllIG1vZ+ogdb955iAnJScgdyBabWllbm5vcHJ6ZWNpbmtvd2VqIgorCiBtc2dpZCAiRTExMDogTWlzc2luZyAnKSciCiBtc2dzdHIgIkUxMTA6IEJyYWsgJyknIgogCkBAIC01MTUsNiArNTE4LDkgQEAKIG1zZ2lkICJFNzI1OiBDYWxsaW5nIGRpY3QgZnVuY3Rpb24gd2l0aG91dCBEaWN0aW9uYXJ5OiAlcyIKIG1zZ3N0ciAiRTcyNTogV3l3b7NhbmllIGZ1bmtjamkgXCJkaWN0XCIgYmV6IFOzb3duaWthOiAlcyIKIAorbXNnaWQgIkU4MDg6IE51bWJlciBvciBGbG9hdCByZXF1aXJlZCIKK21zZ3N0ciAiRTgwODogV3ltYWdhbmEgTGljemJhIGx1YiBabWllbm5vcHJ6ZWNpbmtvd2EiCisKIG1zZ2lkICJFNjk5OiBUb28gbWFueSBhcmd1bWVudHMiCiBtc2dzdHIgIkU2OTk6IFphIGR1v28gYXJndW1lbnTzdyIKIApAQCAtNTkxLDIzICs1OTcsMjkgQEAKIG1zZ2lkICJFNjc3OiBFcnJvciB3cml0aW5nIHRlbXAgZmlsZSIKIG1zZ3N0ciAiRTY3NzogQrO5ZCB6YXBpc3l3YW5pYSBwbGlrdSB0eW1jemFzb3dlZ28iCiAKK21zZ2lkICJFODA1OiBVc2luZyBhIEZsb2F0IGFzIGEgTnVtYmVyIgorbXNnc3RyICJFODA1OiBVv3ljaWUgWm1pZW5ub3ByemVjaW5rb3dlaiBqYWtvIExpY3pieSIKKwogbXNnaWQgIkU3MDM6IFVzaW5nIGEgRnVuY3JlZiBhcyBhIG51bWJlciIKIG1zZ3N0ciAiRTcwMzogVb95Y2llIEZ1bmNyZWYgamFrbyBsaWN6YnkiCiAKLW1zZ2lkICJFNzQ1OiBVc2luZyBhIExpc3QgYXMgYSBudW1iZXIiCi1tc2dzdHIgIkU3NDU6IFW/eWNpZSBMaXN0eSBqYWtvIGxpY3pieSIKK21zZ2lkICJFNzQ1OiBVc2luZyBhIExpc3QgYXMgYSBOdW1iZXIiCittc2dzdHIgIkU3NDU6IFW/eWNpZSBMaXN0eSBqYWtvIExpY3pieSIKIAotbXNnaWQgIkU3Mjg6IFVzaW5nIGEgRGljdGlvbmFyeSBhcyBhIG51bWJlciIKLW1zZ3N0ciAiRTcyODogVb95Y2llIFOzb3duaWthIGpha28gbGljemJ5IgorbXNnaWQgIkU3Mjg6IFVzaW5nIGEgRGljdGlvbmFyeSBhcyBhIE51bWJlciIKK21zZ3N0ciAiRTcyODogVb95Y2llIFOzb3duaWthIGpha28gTGljemJ5IgogCiBtc2dpZCAiRTcyOTogdXNpbmcgRnVuY3JlZiBhcyBhIFN0cmluZyIKLW1zZ3N0ciAiRTcyOTogVb95Y2llIEZ1bmNyZWYgamFrbyCzYfFjdWNoYSIKK21zZ3N0ciAiRTcyOTogVb95Y2llIEZ1bmNyZWYgamFrbyCjYfFjdWNoYSIKIAogbXNnaWQgIkU3MzA6IHVzaW5nIExpc3QgYXMgYSBTdHJpbmciCi1tc2dzdHIgIkU3MzA6IFW/eWNpZSBMaXN0eSBqYWtvILNh8WN1Y2hhIgorbXNnc3RyICJFNzMwOiBVv3ljaWUgTGlzdHkgamFrbyCjYfFjdWNoYSIKIAogbXNnaWQgIkU3MzE6IHVzaW5nIERpY3Rpb25hcnkgYXMgYSBTdHJpbmciCi1tc2dzdHIgIkU3MzE6IFW/eWNpZSBTs293bmlrYSBqYWtvILNh8WN1Y2hhIgorbXNnc3RyICJFNzMxOiBVv3ljaWUgU7Nvd25pa2EgamFrbyCjYfFjdWNoYSIKKworbXNnaWQgIkU4MDY6IHVzaW5nIEZsb2F0IGFzIGEgU3RyaW5nIgorbXNnc3RyICJFODA2OiBVv3ljaWUgWm1pZW5ub3ByemVjaW5rb3dlaiBqYWtvIKNh8WN1Y2hhIgogCiAjLCBjLWZvcm1hdAogbXNnaWQgIkU3MDQ6IEZ1bmNyZWYgdmFyaWFibGUgbmFtZSBtdXN0IHN0YXJ0IHdpdGggYSBjYXBpdGFsOiAlcyIKQEAgLTk1Niw2ICs5NjgsMjAgQEAKICJvcGNqYSAncmVhZG9ubHknIG5hc3Rhd2lvbmEgZGxhIFwiJXNcIi5cbiIKICJDenkgY2hjZXN6IGdvIHBvbWltbyB0ZWdvIHphcGlzYeY/IgogCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJGaWxlIHBlcm1pc3Npb25zIG9mIFwiJXNcIiBhcmUgcmVhZC1vbmx5LlxuIgorIkl0IG1heSBzdGlsbCBiZSBwb3NzaWJsZSB0byB3cml0ZSBpdC5cbiIKKyJEbyB5b3Ugd2lzaCB0byB0cnk/IgorbXNnc3RyICIiCisiUHJhd2EgcGxpa3UgXCIlc1wiIHO5IHR5bGtvIGRvIG9kY3p5dHUuXG4iCisiTWltbyB0byBieeYgbW+/ZSB1ZGEgc2nqIHptaWVuaeYgdGVuIHBsaWsuXG4iCisiQ2hjZXN6IHNwcvNib3dh5j8iCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiRTUwNTogXCIlc1wiIGlzIHJlYWQtb25seSAoYWRkICEgdG8gb3ZlcnJpZGUpIgorbXNnc3RyICJFNTA1OiBcIiVzXCIgamVzdCB0eWxrbyBkbyBvZGN6eXR1IChkb2RhaiAhIGFieSB3eW11c2nmKSIKKwogbXNnaWQgIkVkaXQgRmlsZSIKIG1zZ3N0ciAiRWR5dHVqIFBsaWsiCiAKQEAgLTE1MDUsNiArMTUzMSw5IEBACiBtc2dpZCAiW3NvY2tldF0iCiBtc2dzdHIgIltzb2NrZXRdIgogCittc2dpZCAiW2NoYXJhY3RlciBzcGVjaWFsXSIKK21zZ3N0ciAiW3NwZWNqYWxueSB6bmFrXSIKKwogbXNnaWQgIltST10iCiBtc2dzdHIgIltST10iCiAKQEAgLTE1NTUsNyArMTU4NCw3IEBACiBtc2dpZCAiRTIwNDogQXV0b2NvbW1hbmQgY2hhbmdlZCBudW1iZXIgb2YgbGluZXMgaW4gdW5leHBlY3RlZCB3YXkiCiBtc2dzdHIgIkUyMDQ6IEF1dG9rb21lbmRhIHptaWVuabNhIGxpY3pi6iB3aWVyc3p5IHcgbmllb2N6ZWtpd2FueSBzcG9z82IiCiAKLW1zZ2lkICJOZXRCZWFucyBkaXNzYWxsb3dzIHdyaXRlcyBvZiB1bm1vZGlmaWVkIGJ1ZmZlcnMiCittc2dpZCAiTmV0QmVhbnMgZGlzYWxsb3dzIHdyaXRlcyBvZiB1bm1vZGlmaWVkIGJ1ZmZlcnMiCiBtc2dzdHIgIk5ldEJlYW5zIG5pZSBwb3p3YWxhIG5hIHphcGlzIG5pZXptb2R5Zmlrb3dhbnljaCBidWZvcvN3IgogCiBtc2dpZCAiUGFydGlhbCB3cml0ZXMgZGlzYWxsb3dlZCBmb3IgTmV0QmVhbnMgYnVmZmVycyIKQEAgLTIzMTcsMTUgKzIzNDYsMTUgQEAKIG1zZ2lkICJjc19jcmVhdGVfY29ubmVjdGlvbiBleGVjIGZhaWxlZCIKIG1zZ3N0ciAid3lrb25hbmllIGNzX2NyZWF0ZV9jb25uZWN0aW9uIG5pZSBwb3dpb2SzbyBzaeoiCiAKLW1zZ2lkICJFNjIzOiBDb3VsZCBub3Qgc3Bhd24gY3Njb3BlIHByb2Nlc3MiCi1tc2dzdHIgIkU2MjM6IE5pZSBtb2ezZW0gc3R3b3J6eeYgcHJvY2VzdSBjc2NvcGUiCi0KIG1zZ2lkICJjc19jcmVhdGVfY29ubmVjdGlvbjogZmRvcGVuIGZvciB0b19mcCBmYWlsZWQiCiBtc2dzdHIgImNzX2NyZWF0ZV9jb25uZWN0aW9uOiBmZG9wZW4gZGxhIHRvX2ZwIG5pZSBwb3dpb2SzbyBzaeoiCiAKIG1zZ2lkICJjc19jcmVhdGVfY29ubmVjdGlvbjogZmRvcGVuIGZvciBmcl9mcCBmYWlsZWQiCiBtc2dzdHIgImNzX2NyZWF0ZV9jb25uZWN0aW9uOiBmZG9wZW4gZGxhIGZyX2ZwIG5pZSBwb3dpb2SzbyBzaeoiCiAKK21zZ2lkICJFNjIzOiBDb3VsZCBub3Qgc3Bhd24gY3Njb3BlIHByb2Nlc3MiCittc2dzdHIgIkU2MjM6IE5pZSBtb2ezZW0gc3R3b3J6eeYgcHJvY2VzdSBjc2NvcGUiCisKIG1zZ2lkICJFNTY3OiBubyBjc2NvcGUgY29ubmVjdGlvbnMiCiBtc2dzdHIgIkU1Njc6IGJyYWsgcG+zuWN6ZW5pYSB6IGNzY29wZSIKIApAQCAtMjQ4Niw4ICsyNTE1LDggQEAKIG1zZ3N0ciAibnVtZXIgd2llcnN6YSBwb3phIHpha3Jlc2VtIgogCiAjLCBjLWZvcm1hdAotbXNnaWQgIjxidWZmZXIgb2JqZWN0IChkZWxldGVkKSBhdCAlOGxYPiIKLW1zZ3N0ciAiPG9iaWVrdCBidWZvcmEgKHNrYXNvd2FueSkgdyAlOGxYPiIKK21zZ2lkICI8YnVmZmVyIG9iamVjdCAoZGVsZXRlZCkgYXQgJXA+IgorbXNnc3RyICI8b2JpZWt0IGJ1Zm9yYSAoc2thc293YW55KSB3ICVwPiIKIAogbXNnaWQgImludmFsaWQgbWFyayBuYW1lIgogbXNnc3RyICJuaWVwb3ByYXduYSBuYXp3YSB6YWuzYWRraSIKQEAgLTI1MDUsMTIgKzI1MzQsMTIgQEAKIG1zZ3N0ciAicG96eWNqYSBrdXJzb3JhIHBvemEgYnVmb3JlbSIKIAogIywgYy1mb3JtYXQKLW1zZ2lkICI8d2luZG93IG9iamVjdCAoZGVsZXRlZCkgYXQgJS44bFg+IgotbXNnc3RyICI8b2JpZWt0IG9rbmEgKHNrYXNvd2FueSkgdyAlLjhsWD4iCittc2dpZCAiPHdpbmRvdyBvYmplY3QgKGRlbGV0ZWQpIGF0ICVwPiIKK21zZ3N0ciAiPG9iaWVrdCBva25hIChza2Fzb3dhbnkpIHcgJXA+IgogCiAjLCBjLWZvcm1hdAotbXNnaWQgIjx3aW5kb3cgb2JqZWN0ICh1bmtub3duKSBhdCAlLjhsWD4iCi1tc2dzdHIgIjxvYmlla3Qgb2tuYSAobmllem5hbnkpIHcgJS44bFg+IgorbXNnaWQgIjx3aW5kb3cgb2JqZWN0ICh1bmtub3duKSBhdCAlcD4iCittc2dzdHIgIjxvYmlla3Qgb2tuYSAobmllem5hbnkpIHcgJXA+IgogCiAjLCBjLWZvcm1hdAogbXNnaWQgIjx3aW5kb3cgJWQ+IgpAQCAtMjUyMyw3ICsyNTUyLDggQEAKIG1zZ3N0ciAiRTI2NTogJF8gbXVzaSBieeYgcmVwcmV6ZW50YWNquSCjYfFjdWNoYSIKIAogbXNnaWQgIkUyNjY6IFNvcnJ5LCB0aGlzIGNvbW1hbmQgaXMgZGlzYWJsZWQsIHRoZSBSdWJ5IGxpYnJhcnkgY291bGQgbm90IGJlIGxvYWRlZC4iCi1tc2dzdHIgIkUyNjY6IFByenlrcm8gbWksIHRhIGtvbWVuZGEgamVzdCB3ebO5Y3pvbmEsIGJvIG5pZSBtb79uYSB6YbNhZG93YeYgIgorbXNnc3RyICIiCisiRTI2NjogUHJ6eWtybyBtaSwgdGEga29tZW5kYSBqZXN0IHd5s7ljem9uYSwgYm8gbmllIG1vv25hIHphs2Fkb3dh5iAiCiAiYmlibGlvdGVraSBSdWJ5LiIKIAogbXNnaWQgIkUyNjc6IHVuZXhwZWN0ZWQgcmV0dXJuIgpAQCAtMjY5MSw3ICsyNzIxLDkgQEAKICJidWZvcmEvb2tuYSIKIAogbXNnaWQgIkU1NzE6IFNvcnJ5LCB0aGlzIGNvbW1hbmQgaXMgZGlzYWJsZWQ6IHRoZSBUY2wgbGlicmFyeSBjb3VsZCBub3QgYmUgbG9hZGVkLiIKLW1zZ3N0ciAiRTU3MTogUHJ6eWtybyBtaSwgdGEga29tZW5kYSBqZXN0IHd5s7ljem9uYSwgYm8gbmllIG1vv25hIHphs2Fkb3dh5iBiaWJsaW90ZWtpIFRjbC4iCittc2dzdHIgIiIKKyJFNTcxOiBQcnp5a3JvIG1pLCB0YSBrb21lbmRhIGplc3Qgd3mzuWN6b25hLCBibyBuaWUgbW+/bmEgemGzYWRvd2HmICIKKyJiaWJsaW90ZWtpIFRjbC4iCiAKIG1zZ2lkICJFMjgxOiBUQ0wgRVJST1I6IGV4aXQgY29kZSBpcyBub3QgaW50IT8gUGxlYXNlIHJlcG9ydCB0aGlzIHRvIHZpbS1kZXZAdmltLm9yZyIKIG1zZ3N0ciAiIgpAQCAtMjgwNyw4ICsyODM5LDExIEBACiAiXG4iCiAiICAgbHViOiIKIAotbXNnaWQgIndoZXJlIGNhc2UgaXMgaWdub3JlZCBwcmVwZW5kIC8gdG8gbWFrZSBmbGFnIHVwcGVyIGNhc2UiCittc2dpZCAiIgorIlxuIgorIldoZXJlIGNhc2UgaXMgaWdub3JlZCBwcmVwZW5kIC8gdG8gbWFrZSBmbGFnIHVwcGVyIGNhc2UiCiBtc2dzdHIgIiIKKyJcbiIKICJnZHppZSB3aWVsa2+c5iB6bmFr83cgamVzdCBpZ25vcm93YW5hIGRvZGFqIG5hIHBvY3q5dGt1IC8gYnkgZmxhZ2EgYnmzYSAiCiAid2llbGu5IGxpdGVyuSIKIApAQCAtMjg3OCw4ICsyOTEzLDggQEAKIG1zZ2lkICItTlx0XHRcdE5vdCBmdWxseSBWaSBjb21wYXRpYmxlOiAnbm9jb21wYXRpYmxlJyIKIG1zZ3N0ciAiLU5cdFx0XHRCuWSfIG5pZXp1cGWzbmllIHpnb2RueSB6IFZpOiAnbm9jb21wYXRpYmxlJyIKIAotbXNnaWQgIi1WW05dXHRcdFZlcmJvc2UgbGV2ZWwiCi1tc2dzdHIgIi1WW05dXHRcdFN0b3BpZfEgZ2FkYXRsaXdvnGNpIgorbXNnaWQgIi1WW05dW2ZuYW1lXVx0XHRCZSB2ZXJib3NlIFtsZXZlbCBOXSBbbG9nIG1lc3NhZ2VzIHRvIGZuYW1lXSIKK21zZ3N0ciAiLVZbTl1bbmF6d2FwXVx0XHRHYWRhdGxpd3kgW3BvemlvbSBOXSBbemFwaXN1aiB3aWFkb21vnGNpIGRvIG5hendhcF0iCiAKIG1zZ2lkICItRFx0XHRcdERlYnVnZ2luZyBtb2RlIgogbXNnc3RyICItRFx0XHRcdFRyeWIgb2RwbHVza3dpYW5pYSIKQEAgLTI5NzksMTAgKzMwMTQsOCBAQAogbXNnaWQgIi0tcmVtb3RlLXdhaXQtc2lsZW50IDxmaWxlcz4gIFNhbWUsIGRvbid0IGNvbXBsYWluIGlmIHRoZXJlIGlzIG5vIHNlcnZlciIKIG1zZ3N0ciAiLS1yZW1vdGUtd2FpdC1zaWxlbnQgPHBsaWtpPiAgVG8gc2FtbywgbmllIG5hcnpla2FqIGplnGxpIG5pZSBtYSBzZXJ3ZXJhIgogCi1tc2dpZCAiLS1yZW1vdGUtdGFiIDxmaWxlcz4gIEFzIC0tcmVtb3RlIGJ1dCBvcGVuIHRhYiBwYWdlIGZvciBlYWNoIGZpbGUiCi1tc2dzdHIgIiIKLSItLXJlbW90ZS10YWIgPHBsaWtpPlx0VGFrIGphayAtLXJlbW90ZSBhbGUgb3R383J6IGplZG65IGthcnTqIGRsYSBrYb9kZWdvICIKLSJwbGlrdSIKK21zZ2lkICItLXJlbW90ZS10YWJbLXdhaXRdWy1zaWxlbnRdIDxmaWxlcz4gIEFzIC0tcmVtb3RlIGJ1dCB1c2UgdGFiIHBhZ2UgcGVyIGZpbGUiCittc2dzdHIgIi0tcmVtb3RlLXRhYlstd2FpdF1bLXNpbGVudF0gPHBsaWtpPiAgdGFrIGphayAtLXJlbW90ZSBhbGUgdb95d2EgamVkbmVqIGthcnR5IG5hIHBsaWsiCiAKIG1zZ2lkICItLXJlbW90ZS1zZW5kIDxrZXlzPlx0U2VuZCA8a2V5cz4gdG8gYSBWaW0gc2VydmVyIGFuZCBleGl0IgogbXNnc3RyICItLXJlbW90ZS1zZW5kIDxrbGF3aXN6ZT5cdFd5nGxpaiA8a2xhd2lzemU+IGRvIHNlcndlcmEgVmltYSBpIHpha2/xY3oiCkBAIC0zMTA2LDYgKzMxMzksOSBAQAogbXNnaWQgIi1QIDxwYXJlbnQgdGl0bGU+XHRPcGVuIFZpbSBpbnNpZGUgcGFyZW50IGFwcGxpY2F0aW9uIgogbXNnc3RyICItUCA8dHl0dbMgcm9kemljYT5cdE90d/NyeiBWaW1hIHdld265dHJ6IHJvZHppY2llbHNraWVqIGFwbGlrYWNqaSIKIAorbXNnaWQgIi0td2luZG93aWQgPEhXTkQ+XHRPcGVuIFZpbSBpbnNpZGUgYW5vdGhlciB3aW4zMiB3aWRnZXQiCittc2dzdHIgIi0td2luZG93aWQgPEhXTkQ+XHRPdHfzcnogVmltYSB3ZXduuXRyeiBpbm5lZ28gZWxlbWVudHUgd2luMzIiCisKIG1zZ2lkICJObyBkaXNwbGF5IgogbXNnc3RyICJCcmFrIGRpc3BsYXkiCiAKQEAgLTM3NTQsNiArMzc5MCw5IEBACiBtc2dpZCAiRTc2NjogSW5zdWZmaWNpZW50IGFyZ3VtZW50cyBmb3IgcHJpbnRmKCkiCiBtc2dzdHIgIkU3NjY6IFphIG1hs28gYXJndW1lbnTzdyBkbGEgcHJpbnRmKCkiCiAKK21zZ2lkICJFODA3OiBFeHBlY3RlZCBGbG9hdCBhcmd1bWVudCBmb3IgcHJpbnRmKCkiCittc2dzdHIgIkU4MDc6IFNwb2R6aWV3YW55IGFyZ3VtZW50IFptaWVubm9wcnplY2lua293eSB3IHByaW50ZigpIgorCiBtc2dpZCAiRTc2NzogVG9vIG1hbnkgYXJndW1lbnRzIHRvIHByaW50ZigpIgogbXNnc3RyICJFNzY3OiBaYSBkdb9vIGFyZ3VtZW5083cgZGxhIHByaW50ZigpIgogCkBAIC0zODc3LDcgKzM5MTYsNiBAQAogbXNnaWQgIkUzNDc6IE5vIG1vcmUgZmlsZSBcIiVzXCIgZm91bmQgaW4gcGF0aCIKIG1zZ3N0ciAiRTM0NzogUGxpa3UgXCIlc1wiIG5pZSBtYSB3aepjZWogdyB0cm9waWUiCiAKLSMuIEdldCBoZXJlIHdoZW4gdGhlIHNlcnZlciBjYW4ndCBiZSBmb3VuZC4KIG1zZ2lkICJDYW5ub3QgY29ubmVjdCB0byBOZXRiZWFucyAjMiIKIG1zZ3N0ciAiTmllIG1vv25hIHBvs7ljennmIHogTmV0YmVhbnMgIzIiCiAKQEAgLTQxNjEsNiArNDE5OSwxMyBAQAogbXNnaWQgIkUzNTU6IFVua25vd24gb3B0aW9uOiAlcyIKIG1zZ3N0ciAiRTM1NTogTmllem5hbmEgb3BjamE6ICVzIgogCisjLiBUaGVyZSdzIGFub3RoZXIgY2hhcmFjdGVyIGFmdGVyIHplcm9zIG9yIHRoZSBzdHJpbmcKKyMuICogaXMgZW1wdHkuICBJbiBib3RoIGNhc2VzLCB3ZSBhcmUgdHJ5aW5nIHRvIHNldCBhCisjLiAqIG51bSBvcHRpb24gdXNpbmcgYSBzdHJpbmcuCisjLCBjLWZvcm1hdAorbXNnaWQgIkU1MjE6IE51bWJlciByZXF1aXJlZDogJiVzID0gJyVzJyIKK21zZ3N0ciAiRTUyMTogV3ltYWdhbmEgTGljemJhOiAmJXMgPSAnJXMnIgorCiBtc2dpZCAiIgogIlxuIgogIi0tLSBUZXJtaW5hbCBjb2RlcyAtLS0iCkBAIC00MzE0LDYgKzQzNTksMjAgQEAKIAogbXNnaWQgIiIKICJcbiIKKyJDb3VsZCBub3QgZ2V0IHNlY3VyaXR5IGNvbnRleHQgZm9yICIKK21zZ3N0ciAiIgorIlxuIgorIk5pZSBtb2fqIHV6eXNrYeYga29udGVrc3R1IGJlenBpZWN6ZfFzdHdhIGRsYSIKKworbXNnaWQgIiIKKyJcbiIKKyJDb3VsZCBub3Qgc2V0IHNlY3VyaXR5IGNvbnRleHQgZm9yICIKK21zZ3N0ciAiIgorIlxuIgorIk5pZSBtb79uYSB1enlza2HmIGtvbnRla3N0dSBiZXpwaWVjemXxc3R3YSBkbGEiCisKK21zZ2lkICIiCisiXG4iCiAiQ2Fubm90IGV4ZWN1dGUgc2hlbGwgIgogbXNnc3RyICIiCiAiXG4iCkBAIC01NDM3LDIxICs1NDk2LDIxIEBACiAjLiBPbmx5IE1TIFZDIDQuMSBhbmQgZWFybGllciBjYW4gZG8gV2luMzJzCiBtc2dpZCAiIgogIlxuIgotIk1TLVdpbmRvd3MgMTYvMzIgYml0IEdVSSB2ZXJzaW9uIgorIk1TLVdpbmRvd3MgMTYvMzItYml0IEdVSSB2ZXJzaW9uIgogbXNnc3RyICIiCiAiXG4iCi0iMTYvMzIgYml0b3dhIHdlcnNqYSBHVUkgZGxhIE1TLVdpbmRvd3MiCisiMTYvMzItYml0IHdlcnNqYSBHVUkgZGxhIE1TLVdpbmRvd3MiCiAKIG1zZ2lkICIiCiAiXG4iCi0iTVMtV2luZG93cyA2NCBiaXQgR1VJIHZlcnNpb24iCisiTVMtV2luZG93cyA2NC1iaXQgR1VJIHZlcnNpb24iCiBtc2dzdHIgIiIKICJcbiIKICI2NCBiaXRvd2Egd2Vyc2phIEdVSSBkbGEgTVMtV2luZG93cyIKIAogbXNnaWQgIiIKICJcbiIKLSJNUy1XaW5kb3dzIDMyIGJpdCBHVUkgdmVyc2lvbiIKKyJNUy1XaW5kb3dzIDMyLWJpdCBHVUkgdmVyc2lvbiIKIG1zZ3N0ciAiIgogIlxuIgogIjMyIGJpdG93YSB3ZXJzamEgR1VJIGRsYSBNUy1XaW5kb3dzIgpAQCAtNTQ2NCwyOCArNTUyMywzNSBAQAogCiBtc2dpZCAiIgogIlxuIgotIk1TLVdpbmRvd3MgMzIgYml0IGNvbnNvbGUgdmVyc2lvbiIKKyJNUy1XaW5kb3dzIDY0LWJpdCBjb25zb2xlIHZlcnNpb24iCiBtc2dzdHIgIiIKICJcbiIKICIzMiBiaXRvd2Egd2Vyc2phIG5hIGtvbnNvbOogZGxhIE1TLVdpbmRvd3MiCiAKIG1zZ2lkICIiCiAiXG4iCi0iTVMtV2luZG93cyAxNiBiaXQgdmVyc2lvbiIKKyJNUy1XaW5kb3dzIDMyLWJpdCBjb25zb2xlIHZlcnNpb24iCittc2dzdHIgIiIKKyJcbiIKKyIzMiBiaXRvd2Egd2Vyc2phIG5hIGtvbnNvbOogZGxhIE1TLVdpbmRvd3MiCisKK21zZ2lkICIiCisiXG4iCisiTVMtV2luZG93cyAxNi1iaXQgdmVyc2lvbiIKIG1zZ3N0ciAiIgogIlxuIgogIjE2IGJpdG93YSB3ZXJzamEgZGxhIE1TLVdpbmRvd3MiCiAKIG1zZ2lkICIiCiAiXG4iCi0iMzIgYml0IE1TLURPUyB2ZXJzaW9uIgorIjMyLWJpdCBNUy1ET1MgdmVyc2lvbiIKIG1zZ3N0ciAiIgogIlxuIgogIjMyIGJpdG93YSB3ZXJzamEgZGxhIE1TLURPUyIKIAogbXNnaWQgIiIKICJcbiIKLSIxNiBiaXQgTVMtRE9TIHZlcnNpb24iCisiMTYtYml0IE1TLURPUyB2ZXJzaW9uIgogbXNnc3RyICIiCiAiXG4iCiAiMTYgYml0b3dhIHdlcnNqYSBkbGEgTVMtRE9TIgpAQCAtNTcwMyw3ICs1NzY5LDcgQEAKIG1zZ3N0ciAid3Byb3dhZJ8gOmhlbHAgY3AtZGVmYXVsdDxFbnRlcj4gIGRsYSBpbmZvcm1hY2ppIHRvIHR5bSAgIgogCiBtc2dpZCAibWVudSAgSGVscC0+T3JwaGFucyAgICAgICAgICAgZm9yIGluZm9ybWF0aW9uICAgICIKLW1zZ3N0ciAid3Byb3dhZJ8gOmhlbHAgaWNjZjxFbnRlcj4gICAgICAgIGRsYSBpbmZvcm1hY2ppIHRvIHR5bSAgIgorbXNnc3RyICJtZW51IFBvbW9jLT5TaWVyb3R5ICAgICAgICBkbGEgaW5mb3JtYWNqaSB0byB0eW0gICIKIAogbXNnaWQgIlJ1bm5pbmcgbW9kZWxlc3MsIHR5cGVkIHRleHQgaXMgaW5zZXJ0ZWQiCiBtc2dzdHIgIlVydWNob21pb255IGJleiB0cnli83csIHdwaXNhbnkgdGVrc3QgamVzdCB3cHJvd2FkemFueSIKZGlmZiAtLWdpdCBhL3NyYy9wby9wbC5wbyBiL3NyYy9wby9wbC5wbwppbmRleCA2OTYzNTVkLi4wZTQ1MjJkIDEwMDY0NAotLS0gYS9zcmMvcG8vcGwucG8KKysrIGIvc3JjL3BvL3BsLnBvCkBAIC0xLDE4ICsxLDE4IEBACiAjIHRyYW5zbGF0aW9uIG9mIHBsLnBvIHRvIFBvbGlzaAogIyBQb2xpc2ggVHJhbnNsYXRpb24gZm9yIFZpbQogIwotIyB1cGRhdGVkIDIwMDcgZm9yIHZpbS03LjAKKyMgdXBkYXRlZCAyMDA4IGZvciB2aW0tNy4yCiAjCiAjIEZJUlNUIEFVVEhPUiBNYXJjaW4gRGFsZWNraSA8bWFydGluQGRhbGVja2kuZGU+LCAyMDAwLgotIyBNaWtvbGFqIE1hY2hvd3NraSA8bWlrbWFjaEB3cC5wbD4sIDIwMDQsIDIwMDUsIDIwMDYsIDIwMDcuCisjIE1pa29sYWogTWFjaG93c2tpIDxtaWttYWNoQHdwLnBsPiwgMjAwNCwgMjAwNSwgMjAwNiwgMjAwNywgMjAwOC4KIG1zZ2lkICIiCiBtc2dzdHIgIiIKICJQcm9qZWN0LUlkLVZlcnNpb246IHBsXG4iCiAiUmVwb3J0LU1zZ2lkLUJ1Z3MtVG86IFxuIgotIlBPVC1DcmVhdGlvbi1EYXRlOiAyMDA3LTA0LTMwIDIwOjAzKzAyMDBcbiIKLSJQTy1SZXZpc2lvbi1EYXRlOiAyMDA3LTA0LTMwIDIwOjA3KzAyMDBcbiIKKyJQT1QtQ3JlYXRpb24tRGF0ZTogMjAwOC0wNi0yNSAxOTo0MCswMjAwXG4iCisiUE8tUmV2aXNpb24tRGF0ZTogMjAwOC0wNi0yNSAxOTo1NSswMjAwXG4iCiAiTGFzdC1UcmFuc2xhdG9yOiBNaWtvbGFqIE1hY2hvd3NraSA8bWlrbWFjaEB3cC5wbD5cbiIKLSJMYW5ndWFnZS1UZWFtOiBQb2xpc2ggPGtkZS10cmFuc2xAbWVyLmNoZW1pYS5wb2xzbC5nbGl3aWNlLnBsPlxuIgorIkxhbmd1YWdlLVRlYW06IFBvbGlzaCA8bWlrbWFjaEB3cC5wbD5cbiIKICJNSU1FLVZlcnNpb246IDEuMFxuIgogIkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1JU08tODg1OS0yXG4iCiAiQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdFxuIgpAQCAtNDUwLDYgKzQ1MCw5IEBACiBtc2dpZCAiRTY5NDogSW52YWxpZCBvcGVyYXRpb24gZm9yIEZ1bmNyZWZzIgogbXNnc3RyICJFNjk0OiBOaWVwcmF3aWSzb3dhIG9wZXJhY2phIGRsYSBGdW5jcmVmIgogCittc2dpZCAiRTgwNDogQ2Fubm90IHVzZSAnJScgd2l0aCBGbG9hdCIKK21zZ3N0ciAiRTgwNDogTmllIG1vZ+ogdb955iAnJScgdyBabWllbm5vcHJ6ZWNpbmtvd2VqIgorCiBtc2dpZCAiRTExMDogTWlzc2luZyAnKSciCiBtc2dzdHIgIkUxMTA6IEJyYWsgJyknIgogCkBAIC01MTUsNiArNTE4LDkgQEAKIG1zZ2lkICJFNzI1OiBDYWxsaW5nIGRpY3QgZnVuY3Rpb24gd2l0aG91dCBEaWN0aW9uYXJ5OiAlcyIKIG1zZ3N0ciAiRTcyNTogV3l3b7NhbmllIGZ1bmtjamkgXCJkaWN0XCIgYmV6IFOzb3duaWthOiAlcyIKIAorbXNnaWQgIkU4MDg6IE51bWJlciBvciBGbG9hdCByZXF1aXJlZCIKK21zZ3N0ciAiRTgwODogV3ltYWdhbmEgTGljemJhIGx1YiBabWllbm5vcHJ6ZWNpbmtvd2EiCisKIG1zZ2lkICJFNjk5OiBUb28gbWFueSBhcmd1bWVudHMiCiBtc2dzdHIgIkU2OTk6IFphIGR1v28gYXJndW1lbnTzdyIKIApAQCAtNTkxLDIzICs1OTcsMjkgQEAKIG1zZ2lkICJFNjc3OiBFcnJvciB3cml0aW5nIHRlbXAgZmlsZSIKIG1zZ3N0ciAiRTY3NzogQrOxZCB6YXBpc3l3YW5pYSBwbGlrdSB0eW1jemFzb3dlZ28iCiAKK21zZ2lkICJFODA1OiBVc2luZyBhIEZsb2F0IGFzIGEgTnVtYmVyIgorbXNnc3RyICJFODA1OiBVv3ljaWUgWm1pZW5ub3ByemVjaW5rb3dlaiBqYWtvIExpY3pieSIKKwogbXNnaWQgIkU3MDM6IFVzaW5nIGEgRnVuY3JlZiBhcyBhIG51bWJlciIKIG1zZ3N0ciAiRTcwMzogVb95Y2llIEZ1bmNyZWYgamFrbyBsaWN6YnkiCiAKLW1zZ2lkICJFNzQ1OiBVc2luZyBhIExpc3QgYXMgYSBudW1iZXIiCi1tc2dzdHIgIkU3NDU6IFW/eWNpZSBMaXN0eSBqYWtvIGxpY3pieSIKK21zZ2lkICJFNzQ1OiBVc2luZyBhIExpc3QgYXMgYSBOdW1iZXIiCittc2dzdHIgIkU3NDU6IFW/eWNpZSBMaXN0eSBqYWtvIExpY3pieSIKIAotbXNnaWQgIkU3Mjg6IFVzaW5nIGEgRGljdGlvbmFyeSBhcyBhIG51bWJlciIKLW1zZ3N0ciAiRTcyODogVb95Y2llIFOzb3duaWthIGpha28gbGljemJ5IgorbXNnaWQgIkU3Mjg6IFVzaW5nIGEgRGljdGlvbmFyeSBhcyBhIE51bWJlciIKK21zZ3N0ciAiRTcyODogVb95Y2llIFOzb3duaWthIGpha28gTGljemJ5IgogCiBtc2dpZCAiRTcyOTogdXNpbmcgRnVuY3JlZiBhcyBhIFN0cmluZyIKLW1zZ3N0ciAiRTcyOTogVb95Y2llIEZ1bmNyZWYgamFrbyCzYfFjdWNoYSIKK21zZ3N0ciAiRTcyOTogVb95Y2llIEZ1bmNyZWYgamFrbyCjYfFjdWNoYSIKIAogbXNnaWQgIkU3MzA6IHVzaW5nIExpc3QgYXMgYSBTdHJpbmciCi1tc2dzdHIgIkU3MzA6IFW/eWNpZSBMaXN0eSBqYWtvILNh8WN1Y2hhIgorbXNnc3RyICJFNzMwOiBVv3ljaWUgTGlzdHkgamFrbyCjYfFjdWNoYSIKIAogbXNnaWQgIkU3MzE6IHVzaW5nIERpY3Rpb25hcnkgYXMgYSBTdHJpbmciCi1tc2dzdHIgIkU3MzE6IFW/eWNpZSBTs293bmlrYSBqYWtvILNh8WN1Y2hhIgorbXNnc3RyICJFNzMxOiBVv3ljaWUgU7Nvd25pa2EgamFrbyCjYfFjdWNoYSIKKworbXNnaWQgIkU4MDY6IHVzaW5nIEZsb2F0IGFzIGEgU3RyaW5nIgorbXNnc3RyICJFODA2OiBVv3ljaWUgWm1pZW5ub3ByemVjaW5rb3dlaiBqYWtvIKNh8WN1Y2hhIgogCiAjLCBjLWZvcm1hdAogbXNnaWQgIkU3MDQ6IEZ1bmNyZWYgdmFyaWFibGUgbmFtZSBtdXN0IHN0YXJ0IHdpdGggYSBjYXBpdGFsOiAlcyIKQEAgLTk1Niw2ICs5NjgsMjAgQEAKICJvcGNqYSAncmVhZG9ubHknIG5hc3Rhd2lvbmEgZGxhIFwiJXNcIi5cbiIKICJDenkgY2hjZXN6IGdvIHBvbWltbyB0ZWdvIHphcGlzYeY/IgogCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJGaWxlIHBlcm1pc3Npb25zIG9mIFwiJXNcIiBhcmUgcmVhZC1vbmx5LlxuIgorIkl0IG1heSBzdGlsbCBiZSBwb3NzaWJsZSB0byB3cml0ZSBpdC5cbiIKKyJEbyB5b3Ugd2lzaCB0byB0cnk/IgorbXNnc3RyICIiCisiUHJhd2EgcGxpa3UgXCIlc1wiIHOxIHR5bGtvIGRvIG9kY3p5dHUuXG4iCisiTWltbyB0byBieeYgbW+/ZSB1ZGEgc2nqIHptaWVuaeYgdGVuIHBsaWsuXG4iCisiQ2hjZXN6IHNwcvNib3dh5j8iCisKKyMsIGMtZm9ybWF0Cittc2dpZCAiRTUwNTogXCIlc1wiIGlzIHJlYWQtb25seSAoYWRkICEgdG8gb3ZlcnJpZGUpIgorbXNnc3RyICJFNTA1OiBcIiVzXCIgamVzdCB0eWxrbyBkbyBvZGN6eXR1IChkb2RhaiAhIGFieSB3eW11c2nmKSIKKwogbXNnaWQgIkVkaXQgRmlsZSIKIG1zZ3N0ciAiRWR5dHVqIFBsaWsiCiAKQEAgLTE1MDUsNiArMTUzMSw5IEBACiBtc2dpZCAiW3NvY2tldF0iCiBtc2dzdHIgIltzb2NrZXRdIgogCittc2dpZCAiW2NoYXJhY3RlciBzcGVjaWFsXSIKK21zZ3N0ciAiW3NwZWNqYWxueSB6bmFrXSIKKwogbXNnaWQgIltST10iCiBtc2dzdHIgIltST10iCiAKQEAgLTE1NTUsNyArMTU4NCw3IEBACiBtc2dpZCAiRTIwNDogQXV0b2NvbW1hbmQgY2hhbmdlZCBudW1iZXIgb2YgbGluZXMgaW4gdW5leHBlY3RlZCB3YXkiCiBtc2dzdHIgIkUyMDQ6IEF1dG9rb21lbmRhIHptaWVuabNhIGxpY3pi6iB3aWVyc3p5IHcgbmllb2N6ZWtpd2FueSBzcG9z82IiCiAKLW1zZ2lkICJOZXRCZWFucyBkaXNzYWxsb3dzIHdyaXRlcyBvZiB1bm1vZGlmaWVkIGJ1ZmZlcnMiCittc2dpZCAiTmV0QmVhbnMgZGlzYWxsb3dzIHdyaXRlcyBvZiB1bm1vZGlmaWVkIGJ1ZmZlcnMiCiBtc2dzdHIgIk5ldEJlYW5zIG5pZSBwb3p3YWxhIG5hIHphcGlzIG5pZXptb2R5Zmlrb3dhbnljaCBidWZvcvN3IgogCiBtc2dpZCAiUGFydGlhbCB3cml0ZXMgZGlzYWxsb3dlZCBmb3IgTmV0QmVhbnMgYnVmZmVycyIKQEAgLTIzMTcsMTUgKzIzNDYsMTUgQEAKIG1zZ2lkICJjc19jcmVhdGVfY29ubmVjdGlvbiBleGVjIGZhaWxlZCIKIG1zZ3N0ciAid3lrb25hbmllIGNzX2NyZWF0ZV9jb25uZWN0aW9uIG5pZSBwb3dpb2SzbyBzaeoiCiAKLW1zZ2lkICJFNjIzOiBDb3VsZCBub3Qgc3Bhd24gY3Njb3BlIHByb2Nlc3MiCi1tc2dzdHIgIkU2MjM6IE5pZSBtb2ezZW0gc3R3b3J6eeYgcHJvY2VzdSBjc2NvcGUiCi0KIG1zZ2lkICJjc19jcmVhdGVfY29ubmVjdGlvbjogZmRvcGVuIGZvciB0b19mcCBmYWlsZWQiCiBtc2dzdHIgImNzX2NyZWF0ZV9jb25uZWN0aW9uOiBmZG9wZW4gZGxhIHRvX2ZwIG5pZSBwb3dpb2SzbyBzaeoiCiAKIG1zZ2lkICJjc19jcmVhdGVfY29ubmVjdGlvbjogZmRvcGVuIGZvciBmcl9mcCBmYWlsZWQiCiBtc2dzdHIgImNzX2NyZWF0ZV9jb25uZWN0aW9uOiBmZG9wZW4gZGxhIGZyX2ZwIG5pZSBwb3dpb2SzbyBzaeoiCiAKK21zZ2lkICJFNjIzOiBDb3VsZCBub3Qgc3Bhd24gY3Njb3BlIHByb2Nlc3MiCittc2dzdHIgIkU2MjM6IE5pZSBtb2ezZW0gc3R3b3J6eeYgcHJvY2VzdSBjc2NvcGUiCisKIG1zZ2lkICJFNTY3OiBubyBjc2NvcGUgY29ubmVjdGlvbnMiCiBtc2dzdHIgIkU1Njc6IGJyYWsgcG+zsWN6ZW5pYSB6IGNzY29wZSIKIApAQCAtMjQ4Niw4ICsyNTE1LDggQEAKIG1zZ3N0ciAibnVtZXIgd2llcnN6YSBwb3phIHpha3Jlc2VtIgogCiAjLCBjLWZvcm1hdAotbXNnaWQgIjxidWZmZXIgb2JqZWN0IChkZWxldGVkKSBhdCAlOGxYPiIKLW1zZ3N0ciAiPG9iaWVrdCBidWZvcmEgKHNrYXNvd2FueSkgdyAlOGxYPiIKK21zZ2lkICI8YnVmZmVyIG9iamVjdCAoZGVsZXRlZCkgYXQgJXA+IgorbXNnc3RyICI8b2JpZWt0IGJ1Zm9yYSAoc2thc293YW55KSB3ICVwPiIKIAogbXNnaWQgImludmFsaWQgbWFyayBuYW1lIgogbXNnc3RyICJuaWVwb3ByYXduYSBuYXp3YSB6YWuzYWRraSIKQEAgLTI1MDUsMTIgKzI1MzQsMTIgQEAKIG1zZ3N0ciAicG96eWNqYSBrdXJzb3JhIHBvemEgYnVmb3JlbSIKIAogIywgYy1mb3JtYXQKLW1zZ2lkICI8d2luZG93IG9iamVjdCAoZGVsZXRlZCkgYXQgJS44bFg+IgotbXNnc3RyICI8b2JpZWt0IG9rbmEgKHNrYXNvd2FueSkgdyAlLjhsWD4iCittc2dpZCAiPHdpbmRvdyBvYmplY3QgKGRlbGV0ZWQpIGF0ICVwPiIKK21zZ3N0ciAiPG9iaWVrdCBva25hIChza2Fzb3dhbnkpIHcgJXA+IgogCiAjLCBjLWZvcm1hdAotbXNnaWQgIjx3aW5kb3cgb2JqZWN0ICh1bmtub3duKSBhdCAlLjhsWD4iCi1tc2dzdHIgIjxvYmlla3Qgb2tuYSAobmllem5hbnkpIHcgJS44bFg+IgorbXNnaWQgIjx3aW5kb3cgb2JqZWN0ICh1bmtub3duKSBhdCAlcD4iCittc2dzdHIgIjxvYmlla3Qgb2tuYSAobmllem5hbnkpIHcgJXA+IgogCiAjLCBjLWZvcm1hdAogbXNnaWQgIjx3aW5kb3cgJWQ+IgpAQCAtMjUyMyw3ICsyNTUyLDggQEAKIG1zZ3N0ciAiRTI2NTogJF8gbXVzaSBieeYgcmVwcmV6ZW50YWNqsSCjYfFjdWNoYSIKIAogbXNnaWQgIkUyNjY6IFNvcnJ5LCB0aGlzIGNvbW1hbmQgaXMgZGlzYWJsZWQsIHRoZSBSdWJ5IGxpYnJhcnkgY291bGQgbm90IGJlIGxvYWRlZC4iCi1tc2dzdHIgIkUyNjY6IFByenlrcm8gbWksIHRhIGtvbWVuZGEgamVzdCB3ebOxY3pvbmEsIGJvIG5pZSBtb79uYSB6YbNhZG93YeYgIgorbXNnc3RyICIiCisiRTI2NjogUHJ6eWtybyBtaSwgdGEga29tZW5kYSBqZXN0IHd5s7Fjem9uYSwgYm8gbmllIG1vv25hIHphs2Fkb3dh5iAiCiAiYmlibGlvdGVraSBSdWJ5LiIKIAogbXNnaWQgIkUyNjc6IHVuZXhwZWN0ZWQgcmV0dXJuIgpAQCAtMjY5MSw3ICsyNzIxLDkgQEAKICJidWZvcmEvb2tuYSIKIAogbXNnaWQgIkU1NzE6IFNvcnJ5LCB0aGlzIGNvbW1hbmQgaXMgZGlzYWJsZWQ6IHRoZSBUY2wgbGlicmFyeSBjb3VsZCBub3QgYmUgbG9hZGVkLiIKLW1zZ3N0ciAiRTU3MTogUHJ6eWtybyBtaSwgdGEga29tZW5kYSBqZXN0IHd5s7Fjem9uYSwgYm8gbmllIG1vv25hIHphs2Fkb3dh5iBiaWJsaW90ZWtpIFRjbC4iCittc2dzdHIgIiIKKyJFNTcxOiBQcnp5a3JvIG1pLCB0YSBrb21lbmRhIGplc3Qgd3mzsWN6b25hLCBibyBuaWUgbW+/bmEgemGzYWRvd2HmICIKKyJiaWJsaW90ZWtpIFRjbC4iCiAKIG1zZ2lkICJFMjgxOiBUQ0wgRVJST1I6IGV4aXQgY29kZSBpcyBub3QgaW50IT8gUGxlYXNlIHJlcG9ydCB0aGlzIHRvIHZpbS1kZXZAdmltLm9yZyIKIG1zZ3N0ciAiIgpAQCAtMjgwNyw4ICsyODM5LDExIEBACiAiXG4iCiAiICAgbHViOiIKIAotbXNnaWQgIndoZXJlIGNhc2UgaXMgaWdub3JlZCBwcmVwZW5kIC8gdG8gbWFrZSBmbGFnIHVwcGVyIGNhc2UiCittc2dpZCAiIgorIlxuIgorIldoZXJlIGNhc2UgaXMgaWdub3JlZCBwcmVwZW5kIC8gdG8gbWFrZSBmbGFnIHVwcGVyIGNhc2UiCiBtc2dzdHIgIiIKKyJcbiIKICJnZHppZSB3aWVsa2+25iB6bmFr83cgamVzdCBpZ25vcm93YW5hIGRvZGFqIG5hIHBvY3qxdGt1IC8gYnkgZmxhZ2EgYnmzYSAiCiAid2llbGuxIGxpdGVysSIKIApAQCAtMjg3OCw4ICsyOTEzLDggQEAKIG1zZ2lkICItTlx0XHRcdE5vdCBmdWxseSBWaSBjb21wYXRpYmxlOiAnbm9jb21wYXRpYmxlJyIKIG1zZ3N0ciAiLU5cdFx0XHRCsWS8IG5pZXp1cGWzbmllIHpnb2RueSB6IFZpOiAnbm9jb21wYXRpYmxlJyIKIAotbXNnaWQgIi1WW05dXHRcdFZlcmJvc2UgbGV2ZWwiCi1tc2dzdHIgIi1WW05dXHRcdFN0b3BpZfEgZ2FkYXRsaXdvtmNpIgorbXNnaWQgIi1WW05dW2ZuYW1lXVx0XHRCZSB2ZXJib3NlIFtsZXZlbCBOXSBbbG9nIG1lc3NhZ2VzIHRvIGZuYW1lXSIKK21zZ3N0ciAiLVZbTl1bbmF6d2FwXVx0XHRHYWRhdGxpd3kgW3BvemlvbSBOXSBbemFwaXN1aiB3aWFkb21vtmNpIGRvIG5hendhcF0iCiAKIG1zZ2lkICItRFx0XHRcdERlYnVnZ2luZyBtb2RlIgogbXNnc3RyICItRFx0XHRcdFRyeWIgb2RwbHVza3dpYW5pYSIKQEAgLTI5NzksMTAgKzMwMTQsOCBAQAogbXNnaWQgIi0tcmVtb3RlLXdhaXQtc2lsZW50IDxmaWxlcz4gIFNhbWUsIGRvbid0IGNvbXBsYWluIGlmIHRoZXJlIGlzIG5vIHNlcnZlciIKIG1zZ3N0ciAiLS1yZW1vdGUtd2FpdC1zaWxlbnQgPHBsaWtpPiAgVG8gc2FtbywgbmllIG5hcnpla2FqIGpltmxpIG5pZSBtYSBzZXJ3ZXJhIgogCi1tc2dpZCAiLS1yZW1vdGUtdGFiIDxmaWxlcz4gIEFzIC0tcmVtb3RlIGJ1dCBvcGVuIHRhYiBwYWdlIGZvciBlYWNoIGZpbGUiCi1tc2dzdHIgIiIKLSItLXJlbW90ZS10YWIgPHBsaWtpPlx0VGFrIGphayAtLXJlbW90ZSBhbGUgb3R383J6IGplZG6xIGthcnTqIGRsYSBrYb9kZWdvICIKLSJwbGlrdSIKK21zZ2lkICItLXJlbW90ZS10YWJbLXdhaXRdWy1zaWxlbnRdIDxmaWxlcz4gIEFzIC0tcmVtb3RlIGJ1dCB1c2UgdGFiIHBhZ2UgcGVyIGZpbGUiCittc2dzdHIgIi0tcmVtb3RlLXRhYlstd2FpdF1bLXNpbGVudF0gPHBsaWtpPiAgdGFrIGphayAtLXJlbW90ZSBhbGUgdb95d2EgamVkbmVqIGthcnR5IG5hIHBsaWsiCiAKIG1zZ2lkICItLXJlbW90ZS1zZW5kIDxrZXlzPlx0U2VuZCA8a2V5cz4gdG8gYSBWaW0gc2VydmVyIGFuZCBleGl0IgogbXNnc3RyICItLXJlbW90ZS1zZW5kIDxrbGF3aXN6ZT5cdFd5tmxpaiA8a2xhd2lzemU+IGRvIHNlcndlcmEgVmltYSBpIHpha2/xY3oiCkBAIC0zMTA2LDYgKzMxMzksOSBAQAogbXNnaWQgIi1QIDxwYXJlbnQgdGl0bGU+XHRPcGVuIFZpbSBpbnNpZGUgcGFyZW50IGFwcGxpY2F0aW9uIgogbXNnc3RyICItUCA8dHl0dbMgcm9kemljYT5cdE90d/NyeiBWaW1hIHdld26xdHJ6IHJvZHppY2llbHNraWVqIGFwbGlrYWNqaSIKIAorbXNnaWQgIi0td2luZG93aWQgPEhXTkQ+XHRPcGVuIFZpbSBpbnNpZGUgYW5vdGhlciB3aW4zMiB3aWRnZXQiCittc2dzdHIgIi0td2luZG93aWQgPEhXTkQ+XHRPdHfzcnogVmltYSB3ZXdusXRyeiBpbm5lZ28gZWxlbWVudHUgd2luMzIiCisKIG1zZ2lkICJObyBkaXNwbGF5IgogbXNnc3RyICJCcmFrIGRpc3BsYXkiCiAKQEAgLTM3NTQsNiArMzc5MCw5IEBACiBtc2dpZCAiRTc2NjogSW5zdWZmaWNpZW50IGFyZ3VtZW50cyBmb3IgcHJpbnRmKCkiCiBtc2dzdHIgIkU3NjY6IFphIG1hs28gYXJndW1lbnTzdyBkbGEgcHJpbnRmKCkiCiAKK21zZ2lkICJFODA3OiBFeHBlY3RlZCBGbG9hdCBhcmd1bWVudCBmb3IgcHJpbnRmKCkiCittc2dzdHIgIkU4MDc6IFNwb2R6aWV3YW55IGFyZ3VtZW50IFptaWVubm9wcnplY2lua293eSB3IHByaW50ZigpIgorCiBtc2dpZCAiRTc2NzogVG9vIG1hbnkgYXJndW1lbnRzIHRvIHByaW50ZigpIgogbXNnc3RyICJFNzY3OiBaYSBkdb9vIGFyZ3VtZW5083cgZGxhIHByaW50ZigpIgogCkBAIC0zODc3LDcgKzM5MTYsNiBAQAogbXNnaWQgIkUzNDc6IE5vIG1vcmUgZmlsZSBcIiVzXCIgZm91bmQgaW4gcGF0aCIKIG1zZ3N0ciAiRTM0NzogUGxpa3UgXCIlc1wiIG5pZSBtYSB3aepjZWogdyB0cm9waWUiCiAKLSMuIEdldCBoZXJlIHdoZW4gdGhlIHNlcnZlciBjYW4ndCBiZSBmb3VuZC4KIG1zZ2lkICJDYW5ub3QgY29ubmVjdCB0byBOZXRiZWFucyAjMiIKIG1zZ3N0ciAiTmllIG1vv25hIHBvs7FjennmIHogTmV0YmVhbnMgIzIiCiAKQEAgLTQxNjEsNiArNDE5OSwxMyBAQAogbXNnaWQgIkUzNTU6IFVua25vd24gb3B0aW9uOiAlcyIKIG1zZ3N0ciAiRTM1NTogTmllem5hbmEgb3BjamE6ICVzIgogCisjLiBUaGVyZSdzIGFub3RoZXIgY2hhcmFjdGVyIGFmdGVyIHplcm9zIG9yIHRoZSBzdHJpbmcKKyMuICogaXMgZW1wdHkuICBJbiBib3RoIGNhc2VzLCB3ZSBhcmUgdHJ5aW5nIHRvIHNldCBhCisjLiAqIG51bSBvcHRpb24gdXNpbmcgYSBzdHJpbmcuCisjLCBjLWZvcm1hdAorbXNnaWQgIkU1MjE6IE51bWJlciByZXF1aXJlZDogJiVzID0gJyVzJyIKK21zZ3N0ciAiRTUyMTogV3ltYWdhbmEgTGljemJhOiAmJXMgPSAnJXMnIgorCiBtc2dpZCAiIgogIlxuIgogIi0tLSBUZXJtaW5hbCBjb2RlcyAtLS0iCkBAIC00MzE0LDYgKzQzNTksMjAgQEAKIAogbXNnaWQgIiIKICJcbiIKKyJDb3VsZCBub3QgZ2V0IHNlY3VyaXR5IGNvbnRleHQgZm9yICIKK21zZ3N0ciAiIgorIlxuIgorIk5pZSBtb2fqIHV6eXNrYeYga29udGVrc3R1IGJlenBpZWN6ZfFzdHdhIGRsYSIKKworbXNnaWQgIiIKKyJcbiIKKyJDb3VsZCBub3Qgc2V0IHNlY3VyaXR5IGNvbnRleHQgZm9yICIKK21zZ3N0ciAiIgorIlxuIgorIk5pZSBtb79uYSB1enlza2HmIGtvbnRla3N0dSBiZXpwaWVjemXxc3R3YSBkbGEiCisKK21zZ2lkICIiCisiXG4iCiAiQ2Fubm90IGV4ZWN1dGUgc2hlbGwgIgogbXNnc3RyICIiCiAiXG4iCkBAIC01NDM3LDIxICs1NDk2LDIxIEBACiAjLiBPbmx5IE1TIFZDIDQuMSBhbmQgZWFybGllciBjYW4gZG8gV2luMzJzCiBtc2dpZCAiIgogIlxuIgotIk1TLVdpbmRvd3MgMTYvMzIgYml0IEdVSSB2ZXJzaW9uIgorIk1TLVdpbmRvd3MgMTYvMzItYml0IEdVSSB2ZXJzaW9uIgogbXNnc3RyICIiCiAiXG4iCi0iMTYvMzIgYml0b3dhIHdlcnNqYSBHVUkgZGxhIE1TLVdpbmRvd3MiCisiMTYvMzItYml0IHdlcnNqYSBHVUkgZGxhIE1TLVdpbmRvd3MiCiAKIG1zZ2lkICIiCiAiXG4iCi0iTVMtV2luZG93cyA2NCBiaXQgR1VJIHZlcnNpb24iCisiTVMtV2luZG93cyA2NC1iaXQgR1VJIHZlcnNpb24iCiBtc2dzdHIgIiIKICJcbiIKICI2NCBiaXRvd2Egd2Vyc2phIEdVSSBkbGEgTVMtV2luZG93cyIKIAogbXNnaWQgIiIKICJcbiIKLSJNUy1XaW5kb3dzIDMyIGJpdCBHVUkgdmVyc2lvbiIKKyJNUy1XaW5kb3dzIDMyLWJpdCBHVUkgdmVyc2lvbiIKIG1zZ3N0ciAiIgogIlxuIgogIjMyIGJpdG93YSB3ZXJzamEgR1VJIGRsYSBNUy1XaW5kb3dzIgpAQCAtNTQ2NCwyOCArNTUyMywzNSBAQAogCiBtc2dpZCAiIgogIlxuIgotIk1TLVdpbmRvd3MgMzIgYml0IGNvbnNvbGUgdmVyc2lvbiIKKyJNUy1XaW5kb3dzIDY0LWJpdCBjb25zb2xlIHZlcnNpb24iCiBtc2dzdHIgIiIKICJcbiIKICIzMiBiaXRvd2Egd2Vyc2phIG5hIGtvbnNvbOogZGxhIE1TLVdpbmRvd3MiCiAKIG1zZ2lkICIiCiAiXG4iCi0iTVMtV2luZG93cyAxNiBiaXQgdmVyc2lvbiIKKyJNUy1XaW5kb3dzIDMyLWJpdCBjb25zb2xlIHZlcnNpb24iCittc2dzdHIgIiIKKyJcbiIKKyIzMiBiaXRvd2Egd2Vyc2phIG5hIGtvbnNvbOogZGxhIE1TLVdpbmRvd3MiCisKK21zZ2lkICIiCisiXG4iCisiTVMtV2luZG93cyAxNi1iaXQgdmVyc2lvbiIKIG1zZ3N0ciAiIgogIlxuIgogIjE2IGJpdG93YSB3ZXJzamEgZGxhIE1TLVdpbmRvd3MiCiAKIG1zZ2lkICIiCiAiXG4iCi0iMzIgYml0IE1TLURPUyB2ZXJzaW9uIgorIjMyLWJpdCBNUy1ET1MgdmVyc2lvbiIKIG1zZ3N0ciAiIgogIlxuIgogIjMyIGJpdG93YSB3ZXJzamEgZGxhIE1TLURPUyIKIAogbXNnaWQgIiIKICJcbiIKLSIxNiBiaXQgTVMtRE9TIHZlcnNpb24iCisiMTYtYml0IE1TLURPUyB2ZXJzaW9uIgogbXNnc3RyICIiCiAiXG4iCiAiMTYgYml0b3dhIHdlcnNqYSBkbGEgTVMtRE9TIgpAQCAtNTcwMyw3ICs1NzY5LDcgQEAKIG1zZ3N0ciAid3Byb3dhZLwgOmhlbHAgY3AtZGVmYXVsdDxFbnRlcj4gIGRsYSBpbmZvcm1hY2ppIHRvIHR5bSAgIgogCiBtc2dpZCAibWVudSAgSGVscC0+T3JwaGFucyAgICAgICAgICAgZm9yIGluZm9ybWF0aW9uICAgICIKLW1zZ3N0ciAid3Byb3dhZLwgOmhlbHAgaWNjZjxFbnRlcj4gICAgICAgIGRsYSBpbmZvcm1hY2ppIHRvIHR5bSAgIgorbXNnc3RyICJtZW51IFBvbW9jLT5TaWVyb3R5ICAgICAgICBkbGEgaW5mb3JtYWNqaSB0byB0eW0gICIKIAogbXNnaWQgIlJ1bm5pbmcgbW9kZWxlc3MsIHR5cGVkIHRleHQgaXMgaW5zZXJ0ZWQiCiBtc2dzdHIgIlVydWNob21pb255IGJleiB0cnli83csIHdwaXNhbnkgdGVrc3QgamVzdCB3cHJvd2FkemFueSIKZGlmZiAtLWdpdCBhL3NyYy9wby9ydS5jcDEyNTEucG8gYi9zcmMvcG8vcnUuY3AxMjUxLnBvCmluZGV4IDM0MTVjYWQuLmVmYmUwNjAgMTAwNjQ0Ci0tLSBhL3NyYy9wby9ydS5jcDEyNTEucG8KKysrIGIvc3JjL3BvL3J1LmNwMTI1MS5wbwpAQCAtMTM0OCw3ICsxMzQ4LDcgQEAKIG1zZ2lkICJFMjA0OiBBdXRvY29tbWFuZCBjaGFuZ2VkIG51bWJlciBvZiBsaW5lcyBpbiB1bmV4cGVjdGVkIHdheSIKIG1zZ3N0ciAiRTIwNDogyu7r6Pfl8fLi7iDx8vDu6iDo5+zl7eXt7iDg4vLu6u7s4O3k7ukg7eXu5ujk4O3t++wg7uHw4Ofu7CIKIAotbXNnaWQgIk5ldEJlYW5zIGRpc3NhbGxvd3Mgd3JpdGVzIG9mIHVubW9kaWZpZWQgYnVmZmVycyIKK21zZ2lkICJOZXRCZWFucyBkaXNhbGxvd3Mgd3JpdGVzIG9mIHVubW9kaWZpZWQgYnVmZmVycyIKIG1zZ3N0ciAiTmV0QmVhbnMg7eUg7+7n4u7r/+XyIOL77+7r7f/y/CDn4O/o8fwg7eXo5+zl7bjt7fv1IOHz9OXw7uIiCiAKIG1zZ2lkICJQYXJ0aWFsIHdyaXRlcyBkaXNhbGxvd2VkIGZvciBOZXRCZWFucyBidWZmZXJzIgpAQCAtNDU2MywxNCArNDU2MywxNCBAQAogIy4gT25seSBNUyBWQyA0LjEgYW5kIGVhcmxpZXIgY2FuIGRvIFdpbjMycwogbXNnaWQgIiIKICJcbiIKLSJNUy1XaW5kb3dzIDE2LzMyIGJpdCBHVUkgdmVyc2lvbiIKKyJNUy1XaW5kb3dzIDE2LzMyLWJpdCBHVUkgdmVyc2lvbiIKIG1zZ3N0ciAiIgogIlxuIgogIsLl8PHo/yDxIOPw4PTo9+Xx6ujsIOjt8uXw9OXp8e7sIOTr/yBNUy1XaW5kb3dzIDE2LzMyIOHo8iIKIAogbXNnaWQgIiIKICJcbiIKLSJNUy1XaW5kb3dzIDMyIGJpdCBHVUkgdmVyc2lvbiIKKyJNUy1XaW5kb3dzIDMyLWJpdCBHVUkgdmVyc2lvbiIKIG1zZ3N0ciAiIgogIlxuIgogIsLl8PHo/yDxIOPw4PTo9+Xx6ujsIOjt8uXw9OXp8e7sIOTr/yBNUy1XaW5kb3dzIDMyIOHo8iIKQEAgLTQ1ODMsMjggKzQ1ODMsMjggQEAKIAogbXNnaWQgIiIKICJcbiIKLSJNUy1XaW5kb3dzIDMyIGJpdCBjb25zb2xlIHZlcnNpb24iCisiTVMtV2luZG93cyAzMi1iaXQgY29uc29sZSB2ZXJzaW9uIgogbXNnc3RyICIiCiAiXG4iCiAiyu7t8e7r/O3g/yDi5fDx6P8g5Ov/IE1TLVdpbmRvd3MgMzIg4ejyIgogCiBtc2dpZCAiIgogIlxuIgotIk1TLVdpbmRvd3MgMTYgYml0IHZlcnNpb24iCisiTVMtV2luZG93cyAxNi1iaXQgdmVyc2lvbiIKIG1zZ3N0ciAiIgogIlxuIgogIsLl8PHo/yDk6/8gTVMtV2luZG93cyAxNiDh6PIiCiAKIG1zZ2lkICIiCiAiXG4iCi0iMzIgYml0IE1TLURPUyB2ZXJzaW9uIgorIjMyLWJpdCBNUy1ET1MgdmVyc2lvbiIKIG1zZ3N0ciAiIgogIlxuIgogIsLl8PHo/yDk6/8gTVMtRE9TIDMyIOHo8iIKIAogbXNnaWQgIiIKICJcbiIKLSIxNiBiaXQgTVMtRE9TIHZlcnNpb24iCisiMTYtYml0IE1TLURPUyB2ZXJzaW9uIgogbXNnc3RyICIiCiAiXG4iCiAiwuXw8ej/IOTr/yBNUy1ET1MgMTYg4ejyIgpkaWZmIC0tZ2l0IGEvc3JjL3BvL3J1LnBvIGIvc3JjL3BvL3J1LnBvCmluZGV4IDlhNjMxMDcuLjc5Nzg1MmIgMTAwNjQ0Ci0tLSBhL3NyYy9wby9ydS5wbworKysgYi9zcmMvcG8vcnUucG8KQEAgLTEzNDgsNyArMTM0OCw3IEBACiBtc2dpZCAiRTIwNDogQXV0b2NvbW1hbmQgY2hhbmdlZCBudW1iZXIgb2YgbGluZXMgaW4gdW5leHBlY3RlZCB3YXkiCiBtc2dzdHIgIkUyMDQ6INCa0L7Qu9C40YfQtdGB0YLQstC+INGB0YLRgNC+0Log0LjQt9C80LXQvdC10L3QviDQsNCy0YLQvtC60L7QvNCw0L3QtNC+0Lkg0L3QtdC+0LbQuNC00LDQvdC90YvQvCDQvtCx0YDQsNC30L7QvCIKIAotbXNnaWQgIk5ldEJlYW5zIGRpc3NhbGxvd3Mgd3JpdGVzIG9mIHVubW9kaWZpZWQgYnVmZmVycyIKK21zZ2lkICJOZXRCZWFucyBkaXNhbGxvd3Mgd3JpdGVzIG9mIHVubW9kaWZpZWQgYnVmZmVycyIKIG1zZ3N0ciAiTmV0QmVhbnMg0L3QtSDQv9C+0LfQstC+0LvRj9C10YIg0LLRi9C/0L7Qu9C90Y/RgtGMINC30LDQv9C40YHRjCDQvdC10LjQt9C80LXQvdGR0L3QvdGL0YUg0LHRg9GE0LXRgNC+0LIiCiAKIG1zZ2lkICJQYXJ0aWFsIHdyaXRlcyBkaXNhbGxvd2VkIGZvciBOZXRCZWFucyBidWZmZXJzIgpAQCAtNDU2MywxNCArNDU2MywxNCBAQAogIy4gT25seSBNUyBWQyA0LjEgYW5kIGVhcmxpZXIgY2FuIGRvIFdpbjMycwogbXNnaWQgIiIKICJcbiIKLSJNUy1XaW5kb3dzIDE2LzMyIGJpdCBHVUkgdmVyc2lvbiIKKyJNUy1XaW5kb3dzIDE2LzMyLWJpdCBHVUkgdmVyc2lvbiIKIG1zZ3N0ciAiIgogIlxuIgogItCS0LXRgNGB0LjRjyDRgSDQs9GA0LDRhNC40YfQtdGB0LrQuNC8INC40L3RgtC10YDRhNC10LnRgdC+0Lwg0LTQu9GPIE1TLVdpbmRvd3MgMTYvMzIg0LHQuNGCIgogCiBtc2dpZCAiIgogIlxuIgotIk1TLVdpbmRvd3MgMzIgYml0IEdVSSB2ZXJzaW9uIgorIk1TLVdpbmRvd3MgMzItYml0IEdVSSB2ZXJzaW9uIgogbXNnc3RyICIiCiAiXG4iCiAi0JLQtdGA0YHQuNGPINGBINCz0YDQsNGE0LjRh9C10YHQutC40Lwg0LjQvdGC0LXRgNGE0LXQudGB0L7QvCDQtNC70Y8gTVMtV2luZG93cyAzMiDQsdC40YIiCkBAIC00NTgzLDI4ICs0NTgzLDI4IEBACiAKIG1zZ2lkICIiCiAiXG4iCi0iTVMtV2luZG93cyAzMiBiaXQgY29uc29sZSB2ZXJzaW9uIgorIk1TLVdpbmRvd3MgMzItYml0IGNvbnNvbGUgdmVyc2lvbiIKIG1zZ3N0ciAiIgogIlxuIgogItCa0L7QvdGB0L7Qu9GM0L3QsNGPINCy0LXRgNGB0LjRjyDQtNC70Y8gTVMtV2luZG93cyAzMiDQsdC40YIiCiAKIG1zZ2lkICIiCiAiXG4iCi0iTVMtV2luZG93cyAxNiBiaXQgdmVyc2lvbiIKKyJNUy1XaW5kb3dzIDE2LWJpdCB2ZXJzaW9uIgogbXNnc3RyICIiCiAiXG4iCiAi0JLQtdGA0YHQuNGPINC00LvRjyBNUy1XaW5kb3dzIDE2INCx0LjRgiIKIAogbXNnaWQgIiIKICJcbiIKLSIzMiBiaXQgTVMtRE9TIHZlcnNpb24iCisiMzItYml0IE1TLURPUyB2ZXJzaW9uIgogbXNnc3RyICIiCiAiXG4iCiAi0JLQtdGA0YHQuNGPINC00LvRjyBNUy1ET1MgMzIg0LHQuNGCIgogCiBtc2dpZCAiIgogIlxuIgotIjE2IGJpdCBNUy1ET1MgdmVyc2lvbiIKKyIxNi1iaXQgTVMtRE9TIHZlcnNpb24iCiBtc2dzdHIgIiIKICJcbiIKICLQktC10YDRgdC40Y8g0LTQu9GPIE1TLURPUyAxNiDQsdC40YIiCmRpZmYgLS1naXQgYS9zcmMvcG8vc2suY3AxMjUwLnBvIGIvc3JjL3BvL3NrLmNwMTI1MC5wbwppbmRleCBlYjRlM2IwLi4yNjJhOTYzIDEwMDY0NAotLS0gYS9zcmMvcG8vc2suY3AxMjUwLnBvCisrKyBiL3NyYy9wby9zay5jcDEyNTAucG8KQEAgLTU0NCwxMyArNTQ0LDEzIEBACiBtc2dpZCAiRTY3NzogRXJyb3Igd3JpdGluZyB0ZW1wIGZpbGUiCiBtc2dzdHIgIkU2Nzc6IENoeWJhIHByaSB64XBpc2UgZG/oYXNu6WhvIHP6Ym9ydSIKIAotbXNnaWQgIkU3MDM6IFVzaW5nIGEgRnVuY3JlZiBhcyBhIG51bWJlciIKK21zZ2lkICJFNzAzOiBVc2luZyBhIEZ1bmNyZWYgYXMgYSBOdW1iZXIiCiBtc2dzdHIgIkU3MDM6IFBvdZ5pdP0gb2RrYXogbmEgRnVua2NpdSAoRnVuY3JlZikgYWtvIOjtc2xvIgogCi1tc2dpZCAiRTc0NTogVXNpbmcgYSBMaXN0IGFzIGEgbnVtYmVyIgorbXNnaWQgIkU3NDU6IFVzaW5nIGEgTGlzdCBhcyBhIE51bWJlciIKIG1zZ3N0ciAiRTc0NTogWm96bmFtIChMaXN0KSBwb3WeaXT9IGFrbyDo7XNsbyIKIAotbXNnaWQgIkU3Mjg6IFVzaW5nIGEgRGljdGlvbmFyeSBhcyBhIG51bWJlciIKK21zZ2lkICJFNzI4OiBVc2luZyBhIERpY3Rpb25hcnkgYXMgYSBOdW1iZXIiCiBtc2dzdHIgIkU3Mjg6IFNsb3Zu7WsgKERpY3Rpb25hcnkpIHBvdZ5pdP0gYWtvIOjtc2xvIgogCiBtc2dpZCAiRTcyOTogdXNpbmcgRnVuY3JlZiBhcyBhIFN0cmluZyIKQEAgLTE0MzksNyArMTQzOSw3IEBACiBtc2dpZCAiRTIwNDogQXV0b2NvbW1hbmQgY2hhbmdlZCBudW1iZXIgb2YgbGluZXMgaW4gdW5leHBlY3RlZCB3YXkiCiBtc2dzdHIgIkUyMDQ6IEF1dG9tYXRpY2v9IHBy7WtheiBuZW/oYWvhdmFu/W0gc3D0c29ib20gem1lbmlsIHBv6GV0IHJpYWRrb3YiCiAKLW1zZ2lkICJOZXRCZWFucyBkaXNzYWxsb3dzIHdyaXRlcyBvZiB1bm1vZGlmaWVkIGJ1ZmZlcnMiCittc2dpZCAiTmV0QmVhbnMgZGlzYWxsb3dzIHdyaXRlcyBvZiB1bm1vZGlmaWVkIGJ1ZmZlcnMiCiBtc2dzdHIgIk5ldEJlYW5zIHJvemhyYW5pZSBuZWRvdm9saWxvIHphcO1zYZ0gbmVtb2RpZmlrb3ZhbukgYnVmZnJlIgogCiBtc2dpZCAiUGFydGlhbCB3cml0ZXMgZGlzYWxsb3dlZCBmb3IgTmV0QmVhbnMgYnVmZmVycyIKQEAgLTUxMjYsMTQgKzUxMjYsMTQgQEAKICMuIE9ubHkgTVMgVkMgNC4xIGFuZCBlYXJsaWVyIGNhbiBkbyBXaW4zMnMKIG1zZ2lkICIiCiAiXG4iCi0iTVMtV2luZG93cyAxNi8zMiBiaXQgR1VJIHZlcnNpb24iCisiTVMtV2luZG93cyAxNi8zMi1iaXQgR1VJIHZlcnNpb24iCiBtc2dzdHIgIiIKICJcbiIKICIxNi8zMiBiaXRvduEgR1VJIHZlcnppYSBwcmUgTVMgV2luZG93cyIKIAogbXNnaWQgIiIKICJcbiIKLSJNUy1XaW5kb3dzIDMyIGJpdCBHVUkgdmVyc2lvbiIKKyJNUy1XaW5kb3dzIDMyLWJpdCBHVUkgdmVyc2lvbiIKIG1zZ3N0ciAiIgogIlxuIgogIjMyIGJpdG924SBHVUkgdmVyemlhIHByZSBNUyBXaW5kb3dzIgpAQCAtNTE0NiwyOCArNTE0NiwyOCBAQAogCiBtc2dpZCAiIgogIlxuIgotIk1TLVdpbmRvd3MgMzIgYml0IGNvbnNvbGUgdmVyc2lvbiIKKyJNUy1XaW5kb3dzIDMyLWJpdCBjb25zb2xlIHZlcnNpb24iCiBtc2dzdHIgIiIKICJcbiIKICIzMiBiaXRvduEgdmVyemlhIHByZSBNUyBXaW5kb3dzIGtvbnpvbHUiCiAKIG1zZ2lkICIiCiAiXG4iCi0iTVMtV2luZG93cyAxNiBiaXQgdmVyc2lvbiIKKyJNUy1XaW5kb3dzIDE2LWJpdCB2ZXJzaW9uIgogbXNnc3RyICIiCiAiXG4iCiAiMTYgYml0b3bhIHZlcnppYSBwcmUgTVMgV2luZG93cyIKIAogbXNnaWQgIiIKICJcbiIKLSIzMiBiaXQgTVMtRE9TIHZlcnNpb24iCisiMzItYml0IE1TLURPUyB2ZXJzaW9uIgogbXNnc3RyICIiCiAiXG4iCiAiMzIgYml0b3bhIHZlcnppYSBwcmUgTVMtRE9TIgogCiBtc2dpZCAiIgogIlxuIgotIjE2IGJpdCBNUy1ET1MgdmVyc2lvbiIKKyIxNi1iaXQgTVMtRE9TIHZlcnNpb24iCiBtc2dzdHIgIiIKICJcbiIKICIxNiBiaXRvduEgTVMtRE9TIHZlcnppYSIKZGlmZiAtLWdpdCBhL3NyYy9wby9zay5wbyBiL3NyYy9wby9zay5wbwppbmRleCA4ZDYyZDNiLi45YmMyYjk0IDEwMDY0NAotLS0gYS9zcmMvcG8vc2sucG8KKysrIGIvc3JjL3BvL3NrLnBvCkBAIC01NDQsMTMgKzU0NCwxMyBAQAogbXNnaWQgIkU2Nzc6IEVycm9yIHdyaXRpbmcgdGVtcCBmaWxlIgogbXNnc3RyICJFNjc3OiBDaHliYSBwcmkgeuFwaXNlIGRv6GFzbulobyBz+mJvcnUiCiAKLW1zZ2lkICJFNzAzOiBVc2luZyBhIEZ1bmNyZWYgYXMgYSBudW1iZXIiCittc2dpZCAiRTcwMzogVXNpbmcgYSBGdW5jcmVmIGFzIGEgTnVtYmVyIgogbXNnc3RyICJFNzAzOiBQb3W+aXT9IG9ka2F6IG5hIEZ1bmtjaXUgKEZ1bmNyZWYpIGFrbyDo7XNsbyIKIAotbXNnaWQgIkU3NDU6IFVzaW5nIGEgTGlzdCBhcyBhIG51bWJlciIKK21zZ2lkICJFNzQ1OiBVc2luZyBhIExpc3QgYXMgYSBOdW1iZXIiCiBtc2dzdHIgIkU3NDU6IFpvem5hbSAoTGlzdCkgcG91vml0/SBha28g6O1zbG8iCiAKLW1zZ2lkICJFNzI4OiBVc2luZyBhIERpY3Rpb25hcnkgYXMgYSBudW1iZXIiCittc2dpZCAiRTcyODogVXNpbmcgYSBEaWN0aW9uYXJ5IGFzIGEgTnVtYmVyIgogbXNnc3RyICJFNzI4OiBTbG92bu1rIChEaWN0aW9uYXJ5KSBwb3W+aXT9IGFrbyDo7XNsbyIKIAogbXNnaWQgIkU3Mjk6IHVzaW5nIEZ1bmNyZWYgYXMgYSBTdHJpbmciCkBAIC0xNDM5LDcgKzE0MzksNyBAQAogbXNnaWQgIkUyMDQ6IEF1dG9jb21tYW5kIGNoYW5nZWQgbnVtYmVyIG9mIGxpbmVzIGluIHVuZXhwZWN0ZWQgd2F5IgogbXNnc3RyICJFMjA0OiBBdXRvbWF0aWNr/SBwcu1rYXogbmVv6GFr4XZhbv1tIHNw9HNvYm9tIHptZW5pbCBwb+hldCByaWFka292IgogCi1tc2dpZCAiTmV0QmVhbnMgZGlzc2FsbG93cyB3cml0ZXMgb2YgdW5tb2RpZmllZCBidWZmZXJzIgorbXNnaWQgIk5ldEJlYW5zIGRpc2FsbG93cyB3cml0ZXMgb2YgdW5tb2RpZmllZCBidWZmZXJzIgogbXNnc3RyICJOZXRCZWFucyByb3pocmFuaWUgbmVkb3ZvbGlsbyB6YXDtc2G7IG5lbW9kaWZpa292YW7pIGJ1ZmZyZSIKIAogbXNnaWQgIlBhcnRpYWwgd3JpdGVzIGRpc2FsbG93ZWQgZm9yIE5ldEJlYW5zIGJ1ZmZlcnMiCkBAIC01MTI2LDE0ICs1MTI2LDE0IEBACiAjLiBPbmx5IE1TIFZDIDQuMSBhbmQgZWFybGllciBjYW4gZG8gV2luMzJzCiBtc2dpZCAiIgogIlxuIgotIk1TLVdpbmRvd3MgMTYvMzIgYml0IEdVSSB2ZXJzaW9uIgorIk1TLVdpbmRvd3MgMTYvMzItYml0IEdVSSB2ZXJzaW9uIgogbXNnc3RyICIiCiAiXG4iCiAiMTYvMzIgYml0b3bhIEdVSSB2ZXJ6aWEgcHJlIE1TIFdpbmRvd3MiCiAKIG1zZ2lkICIiCiAiXG4iCi0iTVMtV2luZG93cyAzMiBiaXQgR1VJIHZlcnNpb24iCisiTVMtV2luZG93cyAzMi1iaXQgR1VJIHZlcnNpb24iCiBtc2dzdHIgIiIKICJcbiIKICIzMiBiaXRvduEgR1VJIHZlcnppYSBwcmUgTVMgV2luZG93cyIKQEAgLTUxNDYsMjggKzUxNDYsMjggQEAKIAogbXNnaWQgIiIKICJcbiIKLSJNUy1XaW5kb3dzIDMyIGJpdCBjb25zb2xlIHZlcnNpb24iCisiTVMtV2luZG93cyAzMi1iaXQgY29uc29sZSB2ZXJzaW9uIgogbXNnc3RyICIiCiAiXG4iCiAiMzIgYml0b3bhIHZlcnppYSBwcmUgTVMgV2luZG93cyBrb256b2x1IgogCiBtc2dpZCAiIgogIlxuIgotIk1TLVdpbmRvd3MgMTYgYml0IHZlcnNpb24iCisiTVMtV2luZG93cyAxNi1iaXQgdmVyc2lvbiIKIG1zZ3N0ciAiIgogIlxuIgogIjE2IGJpdG924SB2ZXJ6aWEgcHJlIE1TIFdpbmRvd3MiCiAKIG1zZ2lkICIiCiAiXG4iCi0iMzIgYml0IE1TLURPUyB2ZXJzaW9uIgorIjMyLWJpdCBNUy1ET1MgdmVyc2lvbiIKIG1zZ3N0ciAiIgogIlxuIgogIjMyIGJpdG924SB2ZXJ6aWEgcHJlIE1TLURPUyIKIAogbXNnaWQgIiIKICJcbiIKLSIxNiBiaXQgTVMtRE9TIHZlcnNpb24iCisiMTYtYml0IE1TLURPUyB2ZXJzaW9uIgogbXNnc3RyICIiCiAiXG4iCiAiMTYgYml0b3bhIE1TLURPUyB2ZXJ6aWEiCmRpZmYgLS1naXQgYS9zcmMvcG8vc3YucG8gYi9zcmMvcG8vc3YucG8KaW5kZXggN2E2MWU0MC4uY2RjZjYwNyAxMDA2NDQKLS0tIGEvc3JjL3BvL3N2LnBvCisrKyBiL3NyYy9wby9zdi5wbwpAQCAtNTg5LDEzICs1ODksMTMgQEAKIG1zZ2lkICJFNjc3OiBFcnJvciB3cml0aW5nIHRlbXAgZmlsZSIKIG1zZ3N0ciAiRTY3NzogRmVsIHZpZCBza3Jpdm5pbmcgYXYgdGVtcG9y5HIgZmlsIgogCi1tc2dpZCAiRTcwMzogVXNpbmcgYSBGdW5jcmVmIGFzIGEgbnVtYmVyIgorbXNnaWQgIkU3MDM6IFVzaW5nIGEgRnVuY3JlZiBhcyBhIE51bWJlciIKIG1zZ3N0ciAiRTcwMzogQW525G5kZXIgZW4gRnVuY3JlZiBzb20gZW4gc2lmZnJhIgogCi1tc2dpZCAiRTc0NTogVXNpbmcgYSBMaXN0IGFzIGEgbnVtYmVyIgorbXNnaWQgIkU3NDU6IFVzaW5nIGEgTGlzdCBhcyBhIE51bWJlciIKIG1zZ3N0ciAiRTc0NTogQW525G5kZXIgZW4gTGlzdGEgc29tIGVuIHNpZmZyYSIKIAotbXNnaWQgIkU3Mjg6IFVzaW5nIGEgRGljdGlvbmFyeSBhcyBhIG51bWJlciIKK21zZ2lkICJFNzI4OiBVc2luZyBhIERpY3Rpb25hcnkgYXMgYSBOdW1iZXIiCiBtc2dzdHIgIkU3Mjg6IEFuduRuZGVyIGVuIFRhYmVsbCBzb20gZW4gc2lmZnJhIgogCiBtc2dpZCAiRTcyOTogdXNpbmcgRnVuY3JlZiBhcyBhIFN0cmluZyIKQEAgLTE1NTEsNyArMTU1MSw3IEBACiBtc2dpZCAiRTIwNDogQXV0b2NvbW1hbmQgY2hhbmdlZCBudW1iZXIgb2YgbGluZXMgaW4gdW5leHBlY3RlZCB3YXkiCiBtc2dzdHIgIkUyMDQ6IEF1dG9rb21tYWRvIORuZHJhZGUgYW50YWwgcmFkZXIgcOUgZXR0IG925G50YXQgc+R0dCIKIAotbXNnaWQgIk5ldEJlYW5zIGRpc3NhbGxvd3Mgd3JpdGVzIG9mIHVubW9kaWZpZWQgYnVmZmVycyIKK21zZ2lkICJOZXRCZWFucyBkaXNhbGxvd3Mgd3JpdGVzIG9mIHVubW9kaWZpZWQgYnVmZmVycyIKIG1zZ3N0ciAiTmV0QmVhbnMgdGlsbOV0ZXIgaW50ZSBza3Jpdm5pbmcgYXYgb21vZGlmaWVyYWRlIGJ1ZmZlcnRhciIKIAogbXNnaWQgIlBhcnRpYWwgd3JpdGVzIGRpc2FsbG93ZWQgZm9yIE5ldEJlYW5zIGJ1ZmZlcnMiCkBAIC01NDU0LDIxICs1NDU0LDIxIEBACiAjLiBPbmx5IE1TIFZDIDQuMSBhbmQgZWFybGllciBjYW4gZG8gV2luMzJzCiBtc2dpZCAiIgogIlxuIgotIk1TLVdpbmRvd3MgMTYvMzIgYml0IEdVSSB2ZXJzaW9uIgorIk1TLVdpbmRvd3MgMTYvMzItYml0IEdVSSB2ZXJzaW9uIgogbXNnc3RyICIiCiAiXG4iCiAiTVMtV2luZG93cyAxNi8zMi1iaXRhcnMgR1VJLXZlcnNpb24iCiAKIG1zZ2lkICIiCiAiXG4iCi0iTVMtV2luZG93cyA2NCBiaXQgR1VJIHZlcnNpb24iCisiTVMtV2luZG93cyA2NC1iaXQgR1VJIHZlcnNpb24iCiBtc2dzdHIgIiIKICJcbiIKICJNUy1XaW5kb3dzIDY0LWJpdGFycyBHVUktdmVyc2lvbiIKIAogbXNnaWQgIiIKICJcbiIKLSJNUy1XaW5kb3dzIDMyIGJpdCBHVUkgdmVyc2lvbiIKKyJNUy1XaW5kb3dzIDMyLWJpdCBHVUkgdmVyc2lvbiIKIG1zZ3N0ciAiIgogIlxuIgogIk1TLVdpbmRvd3MgMzItYml0YXJzIEdVSS12ZXJzaW9uIgpAQCAtNTQ4MSwyOCArNTQ4MSwyOCBAQAogCiBtc2dpZCAiIgogIlxuIgotIk1TLVdpbmRvd3MgMzIgYml0IGNvbnNvbGUgdmVyc2lvbiIKKyJNUy1XaW5kb3dzIDMyLWJpdCBjb25zb2xlIHZlcnNpb24iCiBtc2dzdHIgIiIKICJcbiIKICJNUy1XaW5kb3dzIDMyLWJpdGFycyBrb25zb2xsdmVyc2lvbiIKIAogbXNnaWQgIiIKICJcbiIKLSJNUy1XaW5kb3dzIDE2IGJpdCB2ZXJzaW9uIgorIk1TLVdpbmRvd3MgMTYtYml0IHZlcnNpb24iCiBtc2dzdHIgIiIKICJcbiIKICJNUy1XaW5kb3dzIDE2LWJpdGFycyB2ZXJzaW9uIgogCiBtc2dpZCAiIgogIlxuIgotIjMyIGJpdCBNUy1ET1MgdmVyc2lvbiIKKyIzMi1iaXQgTVMtRE9TIHZlcnNpb24iCiBtc2dzdHIgIiIKICJcbiIKICIzMi1iaXRhcnMgTVMtRE9TLXZlcnNpb24iCiAKIG1zZ2lkICIiCiAiXG4iCi0iMTYgYml0IE1TLURPUyB2ZXJzaW9uIgorIjE2LWJpdCBNUy1ET1MgdmVyc2lvbiIKIG1zZ3N0ciAiIgogIlxuIgogIjE2LWJpdGFycyBNUy1ET1MtdmVyc2lvbiIKZGlmZiAtLWdpdCBhL3NyYy9wby91ay5jcDEyNTEucG8gYi9zcmMvcG8vdWsuY3AxMjUxLnBvCmluZGV4IGU3N2Y5MzAuLjcyMzA3MmMgMTAwNjQ0Ci0tLSBhL3NyYy9wby91ay5jcDEyNTEucG8KKysrIGIvc3JjL3BvL3VrLmNwMTI1MS5wbwpAQCAtNjA3LDEzICs2MDcsMTMgQEAKIG1zZ2lkICJFNjc3OiBFcnJvciB3cml0aW5nIHRlbXAgZmlsZSIKIG1zZ3N0ciAiRTY3NzogzeUg4uTg6+7x/yDn4O/o8eDy6CDy6Oz34PHu4ujpIPTg6esiCiAKLW1zZ2lkICJFNzAzOiBVc2luZyBhIEZ1bmNyZWYgYXMgYSBudW1iZXIiCittc2dpZCAiRTcwMzogVXNpbmcgYSBGdW5jcmVmIGFzIGEgTnVtYmVyIgogbXNnc3RyICJFNzAzOiDU8+3q9rP+IOLm6PLuIP/qIPfo8evuIgogCi1tc2dpZCAiRTc0NTogVXNpbmcgYSBMaXN0IGFzIGEgbnVtYmVyIgorbXNnaWQgIkU3NDU6IFVzaW5nIGEgTGlzdCBhcyBhIE51bWJlciIKIG1zZ3N0ciAiRTc0NTog0e/o8e7qIOLm6PLuIP/qIPfo8evuIgogCi1tc2dpZCAiRTcyODogVXNpbmcgYSBEaWN0aW9uYXJ5IGFzIGEgbnVtYmVyIgorbXNnaWQgIkU3Mjg6IFVzaW5nIGEgRGljdGlvbmFyeSBhcyBhIE51bWJlciIKIG1zZ3N0ciAiRTcyODog0evu4u3o6iDi5ujy7iD/6iD36PHr7iIKIAogbXNnaWQgIkU3Mjk6IHVzaW5nIEZ1bmNyZWYgYXMgYSBTdHJpbmciCkBAIC0xNjExLDcgKzE2MTEsNyBAQAogbXNnaWQgIkUyMDQ6IEF1dG9jb21tYW5kIGNoYW5nZWQgbnVtYmVyIG9mIGxpbmVzIGluIHVuZXhwZWN0ZWQgd2F5IgogbXNnc3RyICJFMjA0OiDA4vLu6u7s4O3k4CDt5fHv7uSz4uDt6Owg9+jt7uwg5+yz7ejr4CDqs+v86rPx8vwg8P/k6rPiIgogCi1tc2dpZCAiTmV0QmVhbnMgZGlzc2FsbG93cyB3cml0ZXMgb2YgdW5tb2RpZmllZCBidWZmZXJzIgorbXNnaWQgIk5ldEJlYW5zIGRpc2FsbG93cyB3cml0ZXMgb2YgdW5tb2RpZmllZCBidWZmZXJzIgogbXNnc3RyICJOZXRCZWFucyDt5SDk7ufi7uv/uiDn4O/o8fPi4PLoIPMg7eXn7LPt5e2zIOHz9OXw6CIKIAogIyBtc2dzdHIgIkUzOTE6ICIKQEAgLTU2MDEsMjEgKzU2MDEsMjEgQEAKICMuIE9ubHkgTVMgVkMgNC4xIGFuZCBlYXJsaWVyIGNhbiBkbyBXaW4zMnMKIG1zZ2lkICIiCiAiXG4iCi0iTVMtV2luZG93cyAxNi8zMiBiaXQgR1VJIHZlcnNpb24iCisiTVMtV2luZG93cyAxNi8zMi1iaXQgR1VJIHZlcnNpb24iCiBtc2dzdHIgIiIKICJcbiIKICLC5fDxs/8g5Ov/IDE2LzMyLfDu5/D/5O3uvyBXaW5kb3dzIOcgR1VJIgogCiBtc2dpZCAiIgogIlxuIgotIk1TLVdpbmRvd3MgNjQgYml0IEdVSSB2ZXJzaW9uIgorIk1TLVdpbmRvd3MgNjQtYml0IEdVSSB2ZXJzaW9uIgogbXNnc3RyICIiCiAiXG4iCiAiwuXw8bP/IOcgR1VJIOTr/yA2NC3w7ufw/+Tt7r8gTVMtV2luZG93cyIKIAogbXNnaWQgIiIKICJcbiIKLSJNUy1XaW5kb3dzIDMyIGJpdCBHVUkgdmVyc2lvbiIKKyJNUy1XaW5kb3dzIDMyLWJpdCBHVUkgdmVyc2lvbiIKIG1zZ3N0ciAiIgogIlxuIgogIsLl8PGz/yDk6/8gMzIt8O7n8P/k7e6/IFdpbmRvd3Mg5yBHVUkiCkBAIC01NjI4LDI4ICs1NjI4LDI4IEBACiAKIG1zZ2lkICIiCiAiXG4iCi0iTVMtV2luZG93cyAzMiBiaXQgY29uc29sZSB2ZXJzaW9uIgorIk1TLVdpbmRvd3MgMzItYml0IGNvbnNvbGUgdmVyc2lvbiIKIG1zZ3N0ciAiIgogIlxuIgogIsru7fHu6/zt4CDi5fDxs/8g5Ov/IDMyLfDu5/D/5O3uvyBXaW5kb3dzIgogCiBtc2dpZCAiIgogIlxuIgotIk1TLVdpbmRvd3MgMTYgYml0IHZlcnNpb24iCisiTVMtV2luZG93cyAxNi1iaXQgdmVyc2lvbiIKIG1zZ3N0ciAiIgogIlxuIgogIsLl8PGz/yDk6/8gMTYt8O7n8P/k7e6/IFdpbmRvd3MiCiAKIG1zZ2lkICIiCiAiXG4iCi0iMzIgYml0IE1TLURPUyB2ZXJzaW9uIgorIjMyLWJpdCBNUy1ET1MgdmVyc2lvbiIKIG1zZ3N0ciAiIgogIlxuIgogIsLl8PGz/yDk6/8gMzIt8O7n8P/k7e6/IE1TLURPUyIKIAogbXNnaWQgIiIKICJcbiIKLSIxNiBiaXQgTVMtRE9TIHZlcnNpb24iCisiMTYtYml0IE1TLURPUyB2ZXJzaW9uIgogbXNnc3RyICIiCiAiXG4iCiAiwuXw8bP/IOTr/yAxNi3w7ufw/+Tt7r8gTVMtRE9TIgpkaWZmIC0tZ2l0IGEvc3JjL3BvL3VrLnBvIGIvc3JjL3BvL3VrLnBvCmluZGV4IGQzNjljOGUuLmU0MzE1M2YgMTAwNjQ0Ci0tLSBhL3NyYy9wby91ay5wbworKysgYi9zcmMvcG8vdWsucG8KQEAgLTYwNywxMyArNjA3LDEzIEBACiBtc2dpZCAiRTY3NzogRXJyb3Igd3JpdGluZyB0ZW1wIGZpbGUiCiBtc2dzdHIgIkU2Nzc6INCd0LUg0LLQtNCw0LvQvtGB0Y8g0LfQsNC/0LjRgdCw0YLQuCDRgtC40LzRh9Cw0YHQvtCy0LjQuSDRhNCw0LnQuyIKIAotbXNnaWQgIkU3MDM6IFVzaW5nIGEgRnVuY3JlZiBhcyBhIG51bWJlciIKK21zZ2lkICJFNzAzOiBVc2luZyBhIEZ1bmNyZWYgYXMgYSBOdW1iZXIiCiBtc2dzdHIgIkU3MDM6INCk0YPQvdC60YbRltGOINCy0LbQuNGC0L4g0Y/QuiDRh9C40YHQu9C+IgogCi1tc2dpZCAiRTc0NTogVXNpbmcgYSBMaXN0IGFzIGEgbnVtYmVyIgorbXNnaWQgIkU3NDU6IFVzaW5nIGEgTGlzdCBhcyBhIE51bWJlciIKIG1zZ3N0ciAiRTc0NTog0KHQv9C40YHQvtC6INCy0LbQuNGC0L4g0Y/QuiDRh9C40YHQu9C+IgogCi1tc2dpZCAiRTcyODogVXNpbmcgYSBEaWN0aW9uYXJ5IGFzIGEgbnVtYmVyIgorbXNnaWQgIkU3Mjg6IFVzaW5nIGEgRGljdGlvbmFyeSBhcyBhIE51bWJlciIKIG1zZ3N0ciAiRTcyODog0KHQu9C+0LLQvdC40Log0LLQttC40YLQviDRj9C6INGH0LjRgdC70L4iCiAKIG1zZ2lkICJFNzI5OiB1c2luZyBGdW5jcmVmIGFzIGEgU3RyaW5nIgpAQCAtMTYxMSw3ICsxNjExLDcgQEAKIG1zZ2lkICJFMjA0OiBBdXRvY29tbWFuZCBjaGFuZ2VkIG51bWJlciBvZiBsaW5lcyBpbiB1bmV4cGVjdGVkIHdheSIKIG1zZ3N0ciAiRTIwNDog0JDQstGC0L7QutC+0LzQsNC90LTQsCDQvdC10YHQv9C+0LTRltCy0LDQvdC40Lwg0YfQuNC90L7QvCDQt9C80ZbQvdC40LvQsCDQutGW0LvRjNC60ZbRgdGC0Ywg0YDRj9C00LrRltCyIgogCi1tc2dpZCAiTmV0QmVhbnMgZGlzc2FsbG93cyB3cml0ZXMgb2YgdW5tb2RpZmllZCBidWZmZXJzIgorbXNnaWQgIk5ldEJlYW5zIGRpc2FsbG93cyB3cml0ZXMgb2YgdW5tb2RpZmllZCBidWZmZXJzIgogbXNnc3RyICJOZXRCZWFucyDQvdC1INC00L7Qt9Cy0L7Qu9GP0ZQg0LfQsNC/0LjRgdGD0LLQsNGC0Lgg0YMg0L3QtdC30LzRltC90LXQvdGWINCx0YPRhNC10YDQuCIKIAogIyBtc2dzdHIgIkUzOTE6ICIKQEAgLTU2MDEsMjEgKzU2MDEsMjEgQEAKICMuIE9ubHkgTVMgVkMgNC4xIGFuZCBlYXJsaWVyIGNhbiBkbyBXaW4zMnMKIG1zZ2lkICIiCiAiXG4iCi0iTVMtV2luZG93cyAxNi8zMiBiaXQgR1VJIHZlcnNpb24iCisiTVMtV2luZG93cyAxNi8zMi1iaXQgR1VJIHZlcnNpb24iCiBtc2dzdHIgIiIKICJcbiIKICLQktC10YDRgdGW0Y8g0LTQu9GPIDE2LzMyLdGA0L7Qt9GA0Y/QtNC90L7RlyBXaW5kb3dzINC3IEdVSSIKIAogbXNnaWQgIiIKICJcbiIKLSJNUy1XaW5kb3dzIDY0IGJpdCBHVUkgdmVyc2lvbiIKKyJNUy1XaW5kb3dzIDY0LWJpdCBHVUkgdmVyc2lvbiIKIG1zZ3N0ciAiIgogIlxuIgogItCS0LXRgNGB0ZbRjyDQtyBHVUkg0LTQu9GPIDY0LdGA0L7Qt9GA0Y/QtNC90L7RlyBNUy1XaW5kb3dzIgogCiBtc2dpZCAiIgogIlxuIgotIk1TLVdpbmRvd3MgMzIgYml0IEdVSSB2ZXJzaW9uIgorIk1TLVdpbmRvd3MgMzItYml0IEdVSSB2ZXJzaW9uIgogbXNnc3RyICIiCiAiXG4iCiAi0JLQtdGA0YHRltGPINC00LvRjyAzMi3RgNC+0LfRgNGP0LTQvdC+0ZcgV2luZG93cyDQtyBHVUkiCkBAIC01NjI4LDI4ICs1NjI4LDI4IEBACiAKIG1zZ2lkICIiCiAiXG4iCi0iTVMtV2luZG93cyAzMiBiaXQgY29uc29sZSB2ZXJzaW9uIgorIk1TLVdpbmRvd3MgMzItYml0IGNvbnNvbGUgdmVyc2lvbiIKIG1zZ3N0ciAiIgogIlxuIgogItCa0L7QvdGB0L7Qu9GM0L3QsCDQstC10YDRgdGW0Y8g0LTQu9GPIDMyLdGA0L7Qt9GA0Y/QtNC90L7RlyBXaW5kb3dzIgogCiBtc2dpZCAiIgogIlxuIgotIk1TLVdpbmRvd3MgMTYgYml0IHZlcnNpb24iCisiTVMtV2luZG93cyAxNi1iaXQgdmVyc2lvbiIKIG1zZ3N0ciAiIgogIlxuIgogItCS0LXRgNGB0ZbRjyDQtNC70Y8gMTYt0YDQvtC30YDRj9C00L3QvtGXIFdpbmRvd3MiCiAKIG1zZ2lkICIiCiAiXG4iCi0iMzIgYml0IE1TLURPUyB2ZXJzaW9uIgorIjMyLWJpdCBNUy1ET1MgdmVyc2lvbiIKIG1zZ3N0ciAiIgogIlxuIgogItCS0LXRgNGB0ZbRjyDQtNC70Y8gMzIt0YDQvtC30YDRj9C00L3QvtGXIE1TLURPUyIKIAogbXNnaWQgIiIKICJcbiIKLSIxNiBiaXQgTVMtRE9TIHZlcnNpb24iCisiMTYtYml0IE1TLURPUyB2ZXJzaW9uIgogbXNnc3RyICIiCiAiXG4iCiAi0JLQtdGA0YHRltGPINC00LvRjyAxNi3RgNC+0LfRgNGP0LTQvdC+0ZcgTVMtRE9TIgpkaWZmIC0tZ2l0IGEvc3JjL3BvL3ZpLnBvIGIvc3JjL3BvL3ZpLnBvCmluZGV4IGYxYmZiMzEuLmQ1ZWE2ZTEgMTAwNjQ0Ci0tLSBhL3NyYy9wby92aS5wbworKysgYi9zcmMvcG8vdmkucG8KQEAgLTEzMzcsNyArMTMzNyw3IEBACiBtc2dpZCAiRTIwNDogQXV0b2NvbW1hbmQgY2hhbmdlZCBudW1iZXIgb2YgbGluZXMgaW4gdW5leHBlY3RlZCB3YXkiCiBtc2dzdHIgIkUyMDQ6IEPDonUgbOG7h25oIHThu7EgxJHhu5luZyDEkcOjIHRoYXkgxJHhu5Ugc+G7kSBkw7JuZyB0aGVvIGPDoWNoIGtow7RuZyBtb25nIG114buRbiIKIAotbXNnaWQgIk5ldEJlYW5zIGRpc3NhbGxvd3Mgd3JpdGVzIG9mIHVubW9kaWZpZWQgYnVmZmVycyIKK21zZ2lkICJOZXRCZWFucyBkaXNhbGxvd3Mgd3JpdGVzIG9mIHVubW9kaWZpZWQgYnVmZmVycyIKIG1zZ3N0ciAiTmV0QmVhbnMga2jDtG5nIGNobyBwaMOpcCBnaGkgbmjhu5sgYuG7mSDEkeG7h20gY2jGsGEgY8OzIHRoYXkgxJHhu5VpIG7DoG8iCiAKIG1zZ2lkICJQYXJ0aWFsIHdyaXRlcyBkaXNhbGxvd2VkIGZvciBOZXRCZWFucyBidWZmZXJzIgpAQCAtNDU0MywxNCArNDU0MywxNCBAQAogIy4gT25seSBNUyBWQyA0LjEgYW5kIGVhcmxpZXIgY2FuIGRvIFdpbjMycwogbXNnaWQgIiIKICJcbiIKLSJNUy1XaW5kb3dzIDE2LzMyIGJpdCBHVUkgdmVyc2lvbiIKKyJNUy1XaW5kb3dzIDE2LzMyLWJpdCBHVUkgdmVyc2lvbiIKIG1zZ3N0ciAiIgogIlxuIgogIlBoacOqbiBi4bqjbiB24bubaSBnaWFvIGRp4buHbiDEkeG7kyBo4buNYSBHVUkgY2hvIE1TLVdpbmRvd3MgMTYvMzIgYml0IgogCiBtc2dpZCAiIgogIlxuIgotIk1TLVdpbmRvd3MgMzIgYml0IEdVSSB2ZXJzaW9uIgorIk1TLVdpbmRvd3MgMzItYml0IEdVSSB2ZXJzaW9uIgogbXNnc3RyICIiCiAiXG4iCiAiUGhpw6puIGLhuqNuIHbhu5tpIGdpYW8gZGnhu4duIMSR4buTIGjhu41hIEdVSSBjaG8gTVMtV2luZG93cyAzMiBiaXQiCkBAIC00NTYzLDI4ICs0NTYzLDI4IEBACiAKIG1zZ2lkICIiCiAiXG4iCi0iTVMtV2luZG93cyAzMiBiaXQgY29uc29sZSB2ZXJzaW9uIgorIk1TLVdpbmRvd3MgMzItYml0IGNvbnNvbGUgdmVyc2lvbiIKIG1zZ3N0ciAiIgogIlxuIgogIlBoacOqbiBi4bqjbiBjb25zb2xlIGNobyBNUy1XaW5kb3dzIDMyIGJpdCIKIAogbXNnaWQgIiIKICJcbiIKLSJNUy1XaW5kb3dzIDE2IGJpdCB2ZXJzaW9uIgorIk1TLVdpbmRvd3MgMTYtYml0IHZlcnNpb24iCiBtc2dzdHIgIiIKICJcbiIKICJQaGnDqm4gYuG6o24gY2hvIE1TLVdpbmRvd3MgMTYgYml0IgogCiBtc2dpZCAiIgogIlxuIgotIjMyIGJpdCBNUy1ET1MgdmVyc2lvbiIKKyIzMi1iaXQgTVMtRE9TIHZlcnNpb24iCiBtc2dzdHIgIiIKICJcbiIKICJQaGnDqm4gYuG6o24gY2hvIE1TLURPUyAzMiBiaXQiCiAKIG1zZ2lkICIiCiAiXG4iCi0iMTYgYml0IE1TLURPUyB2ZXJzaW9uIgorIjE2LWJpdCBNUy1ET1MgdmVyc2lvbiIKIG1zZ3N0ciAiIgogIlxuIgogIlBoacOqbiBi4bqjbiBjaG8gTVMtRE9TIDE2IGJpdCIKZGlmZiAtLWdpdCBhL3NyYy9wby96aF9DTi5VVEYtOC5wbyBiL3NyYy9wby96aF9DTi5VVEYtOC5wbwppbmRleCAwMTgyMzE4Li44MGViMDZhIDEwMDY0NAotLS0gYS9zcmMvcG8vemhfQ04uVVRGLTgucG8KKysrIGIvc3JjL3BvL3poX0NOLlVURi04LnBvCkBAIC01NzUsMTMgKzU3NSwxMyBAQAogbXNnaWQgIkU2Nzc6IEVycm9yIHdyaXRpbmcgdGVtcCBmaWxlIgogbXNnc3RyICJFNjc3OiDlhpnkuLTml7bmlofku7blh7rplJkiCiAKLW1zZ2lkICJFNzAzOiBVc2luZyBhIEZ1bmNyZWYgYXMgYSBudW1iZXIiCittc2dpZCAiRTcwMzogVXNpbmcgYSBGdW5jcmVmIGFzIGEgTnVtYmVyIgogbXNnc3RyICJFNzAzOiDlsIYgRnVuY3JlZiDkvZzmlbDlrZfkvb/nlKgiCiAKLW1zZ2lkICJFNzQ1OiBVc2luZyBhIExpc3QgYXMgYSBudW1iZXIiCittc2dpZCAiRTc0NTogVXNpbmcgYSBMaXN0IGFzIGEgTnVtYmVyIgogbXNnc3RyICJFNzQ1OiDlsIYgTGlzdCDkvZzmlbDlrZfkvb/nlKgiCiAKLW1zZ2lkICJFNzI4OiBVc2luZyBhIERpY3Rpb25hcnkgYXMgYSBudW1iZXIiCittc2dpZCAiRTcyODogVXNpbmcgYSBEaWN0aW9uYXJ5IGFzIGEgTnVtYmVyIgogbXNnc3RyICJFNzI4OiDlsIYgRGljdGlvbmFyeSDkvZzmlbDlrZfkvb/nlKgiCiAKIG1zZ2lkICJFNzI5OiB1c2luZyBGdW5jcmVmIGFzIGEgU3RyaW5nIgpAQCAtMTUzOCw3ICsxNTM4LDcgQEAKIG1zZ2lkICJFMjA0OiBBdXRvY29tbWFuZCBjaGFuZ2VkIG51bWJlciBvZiBsaW5lcyBpbiB1bmV4cGVjdGVkIHdheSIKIG1zZ3N0ciAiRTIwNDog6Ieq5Yqo5ZG95Luk5oSP5aSW5Zyw5pS55Y+Y5LqG6KGM5pWwIgogCi1tc2dpZCAiTmV0QmVhbnMgZGlzc2FsbG93cyB3cml0ZXMgb2YgdW5tb2RpZmllZCBidWZmZXJzIgorbXNnaWQgIk5ldEJlYW5zIGRpc2FsbG93cyB3cml0ZXMgb2YgdW5tb2RpZmllZCBidWZmZXJzIgogbXNnc3RyICJOZXRCZWFucyDkuI3lhYHorrjmnKrkv67mlLnnmoTnvJPlhrLljLrlhpnlhaUiCiAKIG1zZ2lkICJQYXJ0aWFsIHdyaXRlcyBkaXNhbGxvd2VkIGZvciBOZXRCZWFucyBidWZmZXJzIgpAQCAtNTM2MCwxNCArNTM2MCwxNCBAQAogIy4gT25seSBNUyBWQyA0LjEgYW5kIGVhcmxpZXIgY2FuIGRvIFdpbjMycwogbXNnaWQgIiIKICJcbiIKLSJNUy1XaW5kb3dzIDE2LzMyIGJpdCBHVUkgdmVyc2lvbiIKKyJNUy1XaW5kb3dzIDE2LzMyLWJpdCBHVUkgdmVyc2lvbiIKIG1zZ3N0ciAiIgogIlxuIgogIk1TLVdpbmRvd3MgMTYvMzIg5L2N5Zu+5b2i55WM6Z2i54mI5pysIgogCiBtc2dpZCAiIgogIlxuIgotIk1TLVdpbmRvd3MgMzIgYml0IEdVSSB2ZXJzaW9uIgorIk1TLVdpbmRvd3MgMzItYml0IEdVSSB2ZXJzaW9uIgogbXNnc3RyICIiCiAiXG4iCiAiTVMtV2luZG93cyAzMiDkvY3lm77lvaLnlYzpnaLniYjmnKwiCkBAIC01MzgwLDI4ICs1MzgwLDI4IEBACiAKIG1zZ2lkICIiCiAiXG4iCi0iTVMtV2luZG93cyAzMiBiaXQgY29uc29sZSB2ZXJzaW9uIgorIk1TLVdpbmRvd3MgMzItYml0IGNvbnNvbGUgdmVyc2lvbiIKIG1zZ3N0ciAiIgogIlxuIgogIk1TLVdpbmRvd3MgMzIg5L2N5o6n5Yi25Y+w54mI5pysIgogCiBtc2dpZCAiIgogIlxuIgotIk1TLVdpbmRvd3MgMTYgYml0IHZlcnNpb24iCisiTVMtV2luZG93cyAxNi1iaXQgdmVyc2lvbiIKIG1zZ3N0ciAiIgogIlxuIgogIk1TLVdpbmRvd3MgMTYg5L2N5o6n5Yi25Y+w54mI5pysIgogCiBtc2dpZCAiIgogIlxuIgotIjMyIGJpdCBNUy1ET1MgdmVyc2lvbiIKKyIzMi1iaXQgTVMtRE9TIHZlcnNpb24iCiBtc2dzdHIgIiIKICJcbiIKICIzMiDkvY0gTVMtRE9TIOeJiOacrCIKIAogbXNnaWQgIiIKICJcbiIKLSIxNiBiaXQgTVMtRE9TIHZlcnNpb24iCisiMTYtYml0IE1TLURPUyB2ZXJzaW9uIgogbXNnc3RyICIiCiAiXG4iCiAiMTYg5L2NIE1TLURPUyDniYjmnKwiCmRpZmYgLS1naXQgYS9zcmMvcG8vemhfQ04uY3A5MzYucG8gYi9zcmMvcG8vemhfQ04uY3A5MzYucG8KaW5kZXggOTZiMjUyNy4uYTE3ZDMxYSAxMDA2NDQKLS0tIGEvc3JjL3BvL3poX0NOLmNwOTM2LnBvCisrKyBiL3NyYy9wby96aF9DTi5jcDkzNi5wbwpAQCAtNTc1LDEzICs1NzUsMTMgQEAKIG1zZ2lkICJFNjc3OiBFcnJvciB3cml0aW5nIHRlbXAgZmlsZSIKIG1zZ3N0ciAiRTY3Nzog0LTB2cqxzsS8/rP2tO0iCiAKLW1zZ2lkICJFNzAzOiBVc2luZyBhIEZ1bmNyZWYgYXMgYSBudW1iZXIiCittc2dpZCAiRTcwMzogVXNpbmcgYSBGdW5jcmVmIGFzIGEgTnVtYmVyIgogbXNnc3RyICJFNzAzOiC9qyBGdW5jcmVmINf3yv3X1sq508MiCiAKLW1zZ2lkICJFNzQ1OiBVc2luZyBhIExpc3QgYXMgYSBudW1iZXIiCittc2dpZCAiRTc0NTogVXNpbmcgYSBMaXN0IGFzIGEgTnVtYmVyIgogbXNnc3RyICJFNzQ1OiC9qyBMaXN0INf3yv3X1sq508MiCiAKLW1zZ2lkICJFNzI4OiBVc2luZyBhIERpY3Rpb25hcnkgYXMgYSBudW1iZXIiCittc2dpZCAiRTcyODogVXNpbmcgYSBEaWN0aW9uYXJ5IGFzIGEgTnVtYmVyIgogbXNnc3RyICJFNzI4OiC9qyBEaWN0aW9uYXJ5INf3yv3X1sq508MiCiAKIG1zZ2lkICJFNzI5OiB1c2luZyBGdW5jcmVmIGFzIGEgU3RyaW5nIgpAQCAtMTUzOCw3ICsxNTM4LDcgQEAKIG1zZ2lkICJFMjA0OiBBdXRvY29tbWFuZCBjaGFuZ2VkIG51bWJlciBvZiBsaW5lcyBpbiB1bmV4cGVjdGVkIHdheSIKIG1zZ3N0ciAiRTIwNDog19S2r8P8we7S4s3itdi4xLHkwcvQ0Mr9IgogCi1tc2dpZCAiTmV0QmVhbnMgZGlzc2FsbG93cyB3cml0ZXMgb2YgdW5tb2RpZmllZCBidWZmZXJzIgorbXNnaWQgIk5ldEJlYW5zIGRpc2FsbG93cyB3cml0ZXMgb2YgdW5tb2RpZmllZCBidWZmZXJzIgogbXNnc3RyICJOZXRCZWFucyCyu9TK0O3OtNDeuMS1xLu6s+XH+NC0yOsiCiAKIG1zZ2lkICJQYXJ0aWFsIHdyaXRlcyBkaXNhbGxvd2VkIGZvciBOZXRCZWFucyBidWZmZXJzIgpAQCAtNTM2MCwxNCArNTM2MCwxNCBAQAogIy4gT25seSBNUyBWQyA0LjEgYW5kIGVhcmxpZXIgY2FuIGRvIFdpbjMycwogbXNnaWQgIiIKICJcbiIKLSJNUy1XaW5kb3dzIDE2LzMyIGJpdCBHVUkgdmVyc2lvbiIKKyJNUy1XaW5kb3dzIDE2LzMyLWJpdCBHVUkgdmVyc2lvbiIKIG1zZ3N0ciAiIgogIlxuIgogIk1TLVdpbmRvd3MgMTYvMzIgzrvNvNDOvefD5rDmsb4iCiAKIG1zZ2lkICIiCiAiXG4iCi0iTVMtV2luZG93cyAzMiBiaXQgR1VJIHZlcnNpb24iCisiTVMtV2luZG93cyAzMi1iaXQgR1VJIHZlcnNpb24iCiBtc2dzdHIgIiIKICJcbiIKICJNUy1XaW5kb3dzIDMyIM67zbzQzr3nw+aw5rG+IgpAQCAtNTM4MCwyOCArNTM4MCwyOCBAQAogCiBtc2dpZCAiIgogIlxuIgotIk1TLVdpbmRvd3MgMzIgYml0IGNvbnNvbGUgdmVyc2lvbiIKKyJNUy1XaW5kb3dzIDMyLWJpdCBjb25zb2xlIHZlcnNpb24iCiBtc2dzdHIgIiIKICJcbiIKICJNUy1XaW5kb3dzIDMyIM67v9jWxsyosOaxviIKIAogbXNnaWQgIiIKICJcbiIKLSJNUy1XaW5kb3dzIDE2IGJpdCB2ZXJzaW9uIgorIk1TLVdpbmRvd3MgMTYtYml0IHZlcnNpb24iCiBtc2dzdHIgIiIKICJcbiIKICJNUy1XaW5kb3dzIDE2IM67v9jWxsyosOaxviIKIAogbXNnaWQgIiIKICJcbiIKLSIzMiBiaXQgTVMtRE9TIHZlcnNpb24iCisiMzItYml0IE1TLURPUyB2ZXJzaW9uIgogbXNnc3RyICIiCiAiXG4iCiAiMzIgzrsgTVMtRE9TILDmsb4iCiAKIG1zZ2lkICIiCiAiXG4iCi0iMTYgYml0IE1TLURPUyB2ZXJzaW9uIgorIjE2LWJpdCBNUy1ET1MgdmVyc2lvbiIKIG1zZ3N0ciAiIgogIlxuIgogIjE2IM67IE1TLURPUyCw5rG+IgpkaWZmIC0tZ2l0IGEvc3JjL3BvL3poX0NOLnBvIGIvc3JjL3BvL3poX0NOLnBvCmluZGV4IDVkOWFjZWIuLjExNDg0MGUgMTAwNjQ0Ci0tLSBhL3NyYy9wby96aF9DTi5wbworKysgYi9zcmMvcG8vemhfQ04ucG8KQEAgLTU3NSwxMyArNTc1LDEzIEBACiBtc2dpZCAiRTY3NzogRXJyb3Igd3JpdGluZyB0ZW1wIGZpbGUiCiBtc2dzdHIgIkU2Nzc6INC0wdnKsc7EvP6z9rTtIgogCi1tc2dpZCAiRTcwMzogVXNpbmcgYSBGdW5jcmVmIGFzIGEgbnVtYmVyIgorbXNnaWQgIkU3MDM6IFVzaW5nIGEgRnVuY3JlZiBhcyBhIE51bWJlciIKIG1zZ3N0ciAiRTcwMzogvasgRnVuY3JlZiDX98r919bKudPDIgogCi1tc2dpZCAiRTc0NTogVXNpbmcgYSBMaXN0IGFzIGEgbnVtYmVyIgorbXNnaWQgIkU3NDU6IFVzaW5nIGEgTGlzdCBhcyBhIE51bWJlciIKIG1zZ3N0ciAiRTc0NTogvasgTGlzdCDX98r919bKudPDIgogCi1tc2dpZCAiRTcyODogVXNpbmcgYSBEaWN0aW9uYXJ5IGFzIGEgbnVtYmVyIgorbXNnaWQgIkU3Mjg6IFVzaW5nIGEgRGljdGlvbmFyeSBhcyBhIE51bWJlciIKIG1zZ3N0ciAiRTcyODogvasgRGljdGlvbmFyeSDX98r919bKudPDIgogCiBtc2dpZCAiRTcyOTogdXNpbmcgRnVuY3JlZiBhcyBhIFN0cmluZyIKQEAgLTE1MzgsNyArMTUzOCw3IEBACiBtc2dpZCAiRTIwNDogQXV0b2NvbW1hbmQgY2hhbmdlZCBudW1iZXIgb2YgbGluZXMgaW4gdW5leHBlY3RlZCB3YXkiCiBtc2dzdHIgIkUyMDQ6INfUtq/D/MHu0uLN4rXYuMSx5MHL0NDK/SIKIAotbXNnaWQgIk5ldEJlYW5zIGRpc3NhbGxvd3Mgd3JpdGVzIG9mIHVubW9kaWZpZWQgYnVmZmVycyIKK21zZ2lkICJOZXRCZWFucyBkaXNhbGxvd3Mgd3JpdGVzIG9mIHVubW9kaWZpZWQgYnVmZmVycyIKIG1zZ3N0ciAiTmV0QmVhbnMgsrvUytDtzrTQ3rjEtcS7urPlx/jQtMjrIgogCiBtc2dpZCAiUGFydGlhbCB3cml0ZXMgZGlzYWxsb3dlZCBmb3IgTmV0QmVhbnMgYnVmZmVycyIKQEAgLTUzNjAsMTQgKzUzNjAsMTQgQEAKICMuIE9ubHkgTVMgVkMgNC4xIGFuZCBlYXJsaWVyIGNhbiBkbyBXaW4zMnMKIG1zZ2lkICIiCiAiXG4iCi0iTVMtV2luZG93cyAxNi8zMiBiaXQgR1VJIHZlcnNpb24iCisiTVMtV2luZG93cyAxNi8zMi1iaXQgR1VJIHZlcnNpb24iCiBtc2dzdHIgIiIKICJcbiIKICJNUy1XaW5kb3dzIDE2LzMyIM67zbzQzr3nw+aw5rG+IgogCiBtc2dpZCAiIgogIlxuIgotIk1TLVdpbmRvd3MgMzIgYml0IEdVSSB2ZXJzaW9uIgorIk1TLVdpbmRvd3MgMzItYml0IEdVSSB2ZXJzaW9uIgogbXNnc3RyICIiCiAiXG4iCiAiTVMtV2luZG93cyAzMiDOu8280M6958PmsOaxviIKQEAgLTUzODAsMjggKzUzODAsMjggQEAKIAogbXNnaWQgIiIKICJcbiIKLSJNUy1XaW5kb3dzIDMyIGJpdCBjb25zb2xlIHZlcnNpb24iCisiTVMtV2luZG93cyAzMi1iaXQgY29uc29sZSB2ZXJzaW9uIgogbXNnc3RyICIiCiAiXG4iCiAiTVMtV2luZG93cyAzMiDOu7/Y1sbMqLDmsb4iCiAKIG1zZ2lkICIiCiAiXG4iCi0iTVMtV2luZG93cyAxNiBiaXQgdmVyc2lvbiIKKyJNUy1XaW5kb3dzIDE2LWJpdCB2ZXJzaW9uIgogbXNnc3RyICIiCiAiXG4iCiAiTVMtV2luZG93cyAxNiDOu7/Y1sbMqLDmsb4iCiAKIG1zZ2lkICIiCiAiXG4iCi0iMzIgYml0IE1TLURPUyB2ZXJzaW9uIgorIjMyLWJpdCBNUy1ET1MgdmVyc2lvbiIKIG1zZ3N0ciAiIgogIlxuIgogIjMyIM67IE1TLURPUyCw5rG+IgogCiBtc2dpZCAiIgogIlxuIgotIjE2IGJpdCBNUy1ET1MgdmVyc2lvbiIKKyIxNi1iaXQgTVMtRE9TIHZlcnNpb24iCiBtc2dzdHIgIiIKICJcbiIKICIxNiDOuyBNUy1ET1MgsOaxviIKZGlmZiAtLWdpdCBhL3NyYy9wby96aF9UVy5VVEYtOC5wbyBiL3NyYy9wby96aF9UVy5VVEYtOC5wbwppbmRleCAzZWYwNThkLi5hMDQ2ODE2IDEwMDY0NAotLS0gYS9zcmMvcG8vemhfVFcuVVRGLTgucG8KKysrIGIvc3JjL3BvL3poX1RXLlVURi04LnBvCkBAIC0xMzc0LDcgKzEzNzQsNyBAQAogbXNnaWQgIkUyMDQ6IEF1dG9jb21tYW5kIGNoYW5nZWQgbnVtYmVyIG9mIGxpbmVzIGluIHVuZXhwZWN0ZWQgd2F5IgogbXNnc3RyICJFMjA0OiBBdXRvY29tbWFuZCDmhI/lpJblnLDmlLnororkuobooYzomZ8iCiAKLW1zZ2lkICJOZXRCZWFucyBkaXNzYWxsb3dzIHdyaXRlcyBvZiB1bm1vZGlmaWVkIGJ1ZmZlcnMiCittc2dpZCAiTmV0QmVhbnMgZGlzYWxsb3dzIHdyaXRlcyBvZiB1bm1vZGlmaWVkIGJ1ZmZlcnMiCiBtc2dzdHIgIk5ldEJlYW5zIOS4jeiDveWvq+WHuuacquS/ruaUueeahOe3qeihneWNgCIKIAogbXNnaWQgIlBhcnRpYWwgd3JpdGVzIGRpc2FsbG93ZWQgZm9yIE5ldEJlYW5zIGJ1ZmZlcnMiCkBAIC00NTI4LDE0ICs0NTI4LDE0IEBACiAjLiBPbmx5IE1TIFZDIDQuMSBhbmQgZWFybGllciBjYW4gZG8gV2luMzJzCiBtc2dpZCAiIgogIlxuIgotIk1TLVdpbmRvd3MgMTYvMzIgYml0IEdVSSB2ZXJzaW9uIgorIk1TLVdpbmRvd3MgMTYvMzItYml0IEdVSSB2ZXJzaW9uIgogbXNnc3RyICIiCiAiXG4iCiAiTVMtV2luZG93cyAxNi8zMiBCaXQg5ZyW5Z6L55WM6Z2i54mI5pysIgogCiBtc2dpZCAiIgogIlxuIgotIk1TLVdpbmRvd3MgMzIgYml0IEdVSSB2ZXJzaW9uIgorIk1TLVdpbmRvd3MgMzItYml0IEdVSSB2ZXJzaW9uIgogbXNnc3RyICIiCiAiXG4iCiAiTVMtV2luZG93cyAzMiBCaXQg5ZyW5Z6L55WM6Z2i54mI5pysIgpAQCAtNDU0OCwyOCArNDU0OCwyOCBAQAogCiBtc2dpZCAiIgogIlxuIgotIk1TLVdpbmRvd3MgMzIgYml0IGNvbnNvbGUgdmVyc2lvbiIKKyJNUy1XaW5kb3dzIDMyLWJpdCBjb25zb2xlIHZlcnNpb24iCiBtc2dzdHIgIiIKICJcbiIKICJNUy1XaW5kb3dzIDMyIEJpdCBjb25zb2xlIOeJiOacrCIKIAogbXNnaWQgIiIKICJcbiIKLSJNUy1XaW5kb3dzIDE2IGJpdCB2ZXJzaW9uIgorIk1TLVdpbmRvd3MgMTYtYml0IHZlcnNpb24iCiBtc2dzdHIgIiIKICJcbiIKICJNUy1XaW5kb3dzIDMyIEJpdCBjb25zb2xlIOeJiOacrCIKIAogbXNnaWQgIiIKICJcbiIKLSIzMiBiaXQgTVMtRE9TIHZlcnNpb24iCisiMzItYml0IE1TLURPUyB2ZXJzaW9uIgogbXNnc3RyICIiCiAiXG4iCiAiMzIgQml0IE1TLURPUyDniYjmnKwiCiAKIG1zZ2lkICIiCiAiXG4iCi0iMTYgYml0IE1TLURPUyB2ZXJzaW9uIgorIjE2LWJpdCBNUy1ET1MgdmVyc2lvbiIKIG1zZ3N0ciAiIgogIlxuIgogIjE2IEJpdCBNUy1ET1Mg54mI5pysIgpkaWZmIC0tZ2l0IGEvc3JjL3BvL3poX1RXLnBvIGIvc3JjL3BvL3poX1RXLnBvCmluZGV4IDZkYmEzYTIuLmIzYWYyOWEgMTAwNjQ0Ci0tLSBhL3NyYy9wby96aF9UVy5wbworKysgYi9zcmMvcG8vemhfVFcucG8KQEAgLTEzNjcsNyArMTM2Nyw3IEBACiBtc2dpZCAiRTIwNDogQXV0b2NvbW1hbmQgY2hhbmdlZCBudW1iZXIgb2YgbGluZXMgaW4gdW5leHBlY3RlZCB3YXkiCiBtc2dzdHIgIkUyMDQ6IEF1dG9jb21tYW5kILdOpX6mYafvxdykRqbmuLkiCiAKLW1zZ2lkICJOZXRCZWFucyBkaXNzYWxsb3dzIHdyaXRlcyBvZiB1bm1vZGlmaWVkIGJ1ZmZlcnMiCittc2dpZCAiTmV0QmVhbnMgZGlzYWxsb3dzIHdyaXRlcyBvZiB1bm1vZGlmaWVkIGJ1ZmZlcnMiCiBtc2dzdHIgIk5ldEJlYW5zIKSjr+C8Z6VYpbyt16fvqrq9d73EsM8iCiAKIG1zZ2lkICJQYXJ0aWFsIHdyaXRlcyBkaXNhbGxvd2VkIGZvciBOZXRCZWFucyBidWZmZXJzIgpAQCAtNDUyMSwxNCArNDUyMSwxNCBAQAogIy4gT25seSBNUyBWQyA0LjEgYW5kIGVhcmxpZXIgY2FuIGRvIFdpbjMycwogbXNnaWQgIiIKICJcbiIKLSJNUy1XaW5kb3dzIDE2LzMyIGJpdCBHVUkgdmVyc2lvbiIKKyJNUy1XaW5kb3dzIDE2LzMyLWJpdCBHVUkgdmVyc2lvbiIKIG1zZ3N0ciAiIgogIlxuIgogIk1TLVdpbmRvd3MgMTYvMzIgQml0ILnPq6ysya2xqqmluyIKIAogbXNnaWQgIiIKICJcbiIKLSJNUy1XaW5kb3dzIDMyIGJpdCBHVUkgdmVyc2lvbiIKKyJNUy1XaW5kb3dzIDMyLWJpdCBHVUkgdmVyc2lvbiIKIG1zZ3N0ciAiIgogIlxuIgogIk1TLVdpbmRvd3MgMzIgQml0ILnPq6ysya2xqqmluyIKQEAgLTQ1NDEsMjggKzQ1NDEsMjggQEAKIAogbXNnaWQgIiIKICJcbiIKLSJNUy1XaW5kb3dzIDMyIGJpdCBjb25zb2xlIHZlcnNpb24iCisiTVMtV2luZG93cyAzMi1iaXQgY29uc29sZSB2ZXJzaW9uIgogbXNnc3RyICIiCiAiXG4iCiAiTVMtV2luZG93cyAzMiBCaXQgY29uc29sZSCqqaW7IgogCiBtc2dpZCAiIgogIlxuIgotIk1TLVdpbmRvd3MgMTYgYml0IHZlcnNpb24iCisiTVMtV2luZG93cyAxNi1iaXQgdmVyc2lvbiIKIG1zZ3N0ciAiIgogIlxuIgogIk1TLVdpbmRvd3MgMzIgQml0IGNvbnNvbGUgqqmluyIKIAogbXNnaWQgIiIKICJcbiIKLSIzMiBiaXQgTVMtRE9TIHZlcnNpb24iCisiMzItYml0IE1TLURPUyB2ZXJzaW9uIgogbXNnc3RyICIiCiAiXG4iCiAiMzIgQml0IE1TLURPUyCqqaW7IgogCiBtc2dpZCAiIgogIlxuIgotIjE2IGJpdCBNUy1ET1MgdmVyc2lvbiIKKyIxNi1iaXQgTVMtRE9TIHZlcnNpb24iCiBtc2dzdHIgIiIKICJcbiIKICIxNiBCaXQgTVMtRE9TIKqppbsiCmRpZmYgLS1naXQgYS9zcmMvcG9wdXBtbnUuYyBiL3NyYy9wb3B1cG1udS5jCmluZGV4IGZjYzdkODUuLjEwYTVlZGYgMTAwNjQ0Ci0tLSBhL3NyYy9wb3B1cG1udS5jCisrKyBiL3NyYy9wb3B1cG1udS5jCkBAIC0xODMsMTEgKzE4MywxMCBAQAogICAgIC8qIENhbGN1bGF0ZSBjb2x1bW4gKi8KICNpZmRlZiBGRUFUX1JJR0hUTEVGVAogICAgIGlmIChjdXJ3aW4tPndfcF9ybCkKLQljb2wgPSBXX1dJTkNPTChjdXJ3aW4pICsgV19XSURUSChjdXJ3aW4pIC0gY3Vyd2luLT53X3djb2wgLQotCQkJCQkJCWN1cndpbi0+d19sZWZ0Y29sIC0gMTsKKwljb2wgPSBXX1dJTkNPTChjdXJ3aW4pICsgV19XSURUSChjdXJ3aW4pIC0gY3Vyd2luLT53X3djb2wgLSAxOwogICAgIGVsc2UKICNlbmRpZgotCWNvbCA9IFdfV0lOQ09MKGN1cndpbikgKyBjdXJ3aW4tPndfd2NvbCAtIGN1cndpbi0+d19sZWZ0Y29sOworCWNvbCA9IFdfV0lOQ09MKGN1cndpbikgKyBjdXJ3aW4tPndfd2NvbDsKIAogICAgIC8qIGlmIHRoZXJlIGFyZSBtb3JlIGl0ZW1zIHRoYW4gcm9vbSB3ZSBuZWVkIGEgc2Nyb2xsYmFyICovCiAgICAgaWYgKHB1bV9oZWlnaHQgPCBzaXplKQpkaWZmIC0tZ2l0IGEvc3JjL3Byb3RvL21ieXRlLnBybyBiL3NyYy9wcm90by9tYnl0ZS5wcm8KaW5kZXggZWYxMWRjNy4uY2FjOWJhOCAxMDA2NDQKLS0tIGEvc3JjL3Byb3RvL21ieXRlLnBybworKysgYi9zcmMvcHJvdG8vbWJ5dGUucHJvCkBAIC04Miw2ICs4Miw3IEBACiB2b2lkIGltX3NodXRkb3duIF9fQVJHUygodm9pZCkpOwogaW50IHhpbV9nZXRfc3RhdHVzX2FyZWFfaGVpZ2h0IF9fQVJHUygodm9pZCkpOwogaW50IGltX2dldF9zdGF0dXMgX19BUkdTKCh2b2lkKSk7CitpbnQgcHJlZWRpdF9nZXRfc3RhdHVzIF9fQVJHUygodm9pZCkpOwogaW50IGltX2lzX3ByZWVkaXRpbmcgX19BUkdTKCh2b2lkKSk7CiBpbnQgY29udmVydF9zZXR1cCBfX0FSR1MoKHZpbWNvbnZfVCAqdmNwLCBjaGFyX3UgKmZyb20sIGNoYXJfdSAqdG8pKTsKIGludCBjb252ZXJ0X2lucHV0IF9fQVJHUygoY2hhcl91ICpwdHIsIGludCBsZW4sIGludCBtYXhsZW4pKTsKZGlmZiAtLWdpdCBhL3NyYy9xdWlja2ZpeC5jIGIvc3JjL3F1aWNrZml4LmMKaW5kZXggODg0MGRkNS4uNmQ2N2RkNyAxMDA2NDQKLS0tIGEvc3JjL3F1aWNrZml4LmMKKysrIGIvc3JjL3F1aWNrZml4LmMKQEAgLTc3NCw3ICs3NzQsNyBAQAogCQkgICAgKm5hbWVidWYgPSBOVUw7CiAJCSAgICBpZiAodGFpbCAmJiAqdGFpbCkKIAkJICAgIHsKLQkJCVNUUkNQWShJT2J1ZmYsIHNraXB3aGl0ZSh0YWlsKSk7CisJCQlTVFJNT1ZFKElPYnVmZiwgc2tpcHdoaXRlKHRhaWwpKTsKIAkJCW11bHRpc2NhbiA9IFRSVUU7CiAJCQlnb3RvIHJlc3RvZmxpbmU7CiAJCSAgICB9CmRpZmYgLS1naXQgYS9zcmMvc2NyZWVuLmMgYi9zcmMvc2NyZWVuLmMKaW5kZXggNzhkZDI3Ny4uZWM0MDc3ZiAxMDA2NDQKLS0tIGEvc3JjL3NjcmVlbi5jCisrKyBiL3NyYy9zY3JlZW4uYwpAQCAtNjI2MSw2ICs2MjYxLDE3IEBACiAgICAgaWYgKFNjcmVlbkxpbmVzID09IE5VTEwgfHwgcm93ID49IHNjcmVlbl9Sb3dzKQkvKiBzYWZldHkgY2hlY2sgKi8KIAlyZXR1cm47CiAKKyNpZmRlZiBGRUFUX01CWVRFCisgICAgLyogV2hlbiBkcmF3aW5nIG92ZXIgdGhlIHJpZ2h0IGhhbHZlIG9mIGEgZG91YmxlLXdpZGUgY2hhciBjbGVhciBvdXQgdGhlCisgICAgICogbGVmdCBoYWx2ZS4gIE9ubHkgbmVlZGVkIGluIGEgdGVybWluYWwuICovCisgICAgaWYgKGhhc19tYnl0ZQorIyBpZmRlZiBGRUFUX0dVSQorCSAgICAmJiAhZ3VpLmluX3VzZQorIyBlbmRpZgorCSAgICAmJiBtYl9maXhfY29sKGNvbCwgcm93KSAhPSBjb2wpCisJc2NyZWVuX3B1dHNfbGVuKCIgIiwgMSwgcm93LCBjb2wgLSAxLCAwKTsKKyNlbmRpZgorCiAgICAgb2ZmID0gTGluZU9mZnNldFtyb3ddICsgY29sOwogI2lmZGVmIEZFQVRfTUJZVEUKICAgICBtYXhfb2ZmID0gTGluZU9mZnNldFtyb3ddICsgc2NyZWVuX0NvbHVtbnM7CkBAIC03MTE2LDYgKzcxMjcsMjMgQEAKIAkJCSAgICB0X2NvbG9ycyA8PSAxKTsKICAgICBmb3IgKHJvdyA9IHN0YXJ0X3Jvdzsgcm93IDwgZW5kX3JvdzsgKytyb3cpCiAgICAgeworI2lmZGVmIEZFQVRfTUJZVEUKKwlpZiAoaGFzX21ieXRlCisjIGlmZGVmIEZFQVRfR1VJCisJCSYmICFndWkuaW5fdXNlCisjIGVuZGlmCisJICAgKQorCXsKKwkgICAgLyogV2hlbiBkcmF3aW5nIG92ZXIgdGhlIHJpZ2h0IGhhbHZlIG9mIGEgZG91YmxlLXdpZGUgY2hhciBjbGVhcgorCSAgICAgKiBvdXQgdGhlIGxlZnQgaGFsdmUuICBXaGVuIGRyYXdpbmcgb3ZlciB0aGUgbGVmdCBoYWx2ZSBvZiBhCisJICAgICAqIGRvdWJsZSB3aWRlLWNoYXIgY2xlYXIgb3V0IHRoZSByaWdodCBoYWx2ZS4gIE9ubHkgbmVlZGVkIGluIGEKKwkgICAgICogdGVybWluYWwuICovCisJICAgIGlmIChtYl9maXhfY29sKHN0YXJ0X2NvbCwgcm93KSAhPSBzdGFydF9jb2wpCisJCXNjcmVlbl9wdXRzX2xlbigiICIsIDEsIHJvdywgc3RhcnRfY29sIC0gMSwgMCk7CisJICAgIGlmIChtYl9maXhfY29sKGVuZF9jb2wsIHJvdykgIT0gZW5kX2NvbCkKKwkJc2NyZWVuX3B1dHNfbGVuKCIgIiwgMSwgcm93LCBlbmRfY29sLCAwKTsKKwl9CisjZW5kaWYKIAkvKgogCSAqIFRyeSB0byB1c2UgZGVsZXRlLWxpbmUgdGVybWNhcCBjb2RlLCB3aGVuIG5vIGF0dHJpYnV0ZXMgb3IgaW4gYQogCSAqICJub3JtYWwiIHRlcm1pbmFsLCB3aGVyZSBhIGJvbGQvaXRhbGljIHNwYWNlIGlzIGp1c3QgYQpAQCAtODg1NSw4ICs4ODgzLDE4IEBACiAJewogCSAgICBNU0dfUFVUU19BVFRSKCItLSIsIGF0dHIpOwogI2lmIGRlZmluZWQoRkVBVF9YSU0pCisjIGlmIDAgIC8qIG9sZCB2ZXJzaW9uLCBjaGFuZ2VkIGJ5IFN1bmdIeXVuIE5hbSBKdWx5IDIwMDggKi8KIAkgICAgaWYgKHhpYyAhPSBOVUxMICYmIGltX2dldF9zdGF0dXMoKSAmJiAhcF9pbWRpc2FibGUKIAkJCQkJJiYgY3VyYnVmLT5iX3BfaW1pbnNlcnQgPT0gQl9JTU9ERV9JTSkKKyMgZWxzZQorCSAgICBpZiAoCisjICBpZmRlZiBIQVZFX0dUSzIKKwkJICAgIHByZWVkaXRfZ2V0X3N0YXR1cygpCisjICBlbHNlCisJCSAgICBpbV9nZXRfc3RhdHVzKCkKKyMgIGVuZGlmCisJICAgICAgICkKKyMgZW5kaWYKICMgaWZkZWYgSEFWRV9HVEsyIC8qIG1vc3Qgb2YgdGhlIHRpbWUsIGl0J3Mgbm90IFhJTSBiZWluZyB1c2VkICovCiAJCU1TR19QVVRTX0FUVFIoIiBJTSIsIGF0dHIpOwogIyBlbHNlCmRpZmYgLS1naXQgYS9zcmMvdGFnLmMgYi9zcmMvdGFnLmMKaW5kZXggMjk4OTNkZS4uN2Q3OWU4MCAxMDA2NDQKLS0tIGEvc3JjL3RhZy5jCisrKyBiL3NyYy90YWcuYwpAQCAtMTEsNyArMTEsNyBAQAogICogQ29kZSB0byBoYW5kbGUgdGFncyBhbmQgdGhlIHRhZyBzdGFjawogICovCiAKLSNpZiBkZWZpbmVkIE1TRE9TIHx8IGRlZmluZWQgV0lOMzIgfHwgZGVmaW5lZChfV0lONjQpCisjaWYgZGVmaW5lZChNU0RPUykgfHwgZGVmaW5lZChXSU4xNikgfHwgZGVmaW5lZChXSU4zMikgfHwgZGVmaW5lZChfV0lONjQpCiAjIGluY2x1ZGUgInZpbWlvLmgiCS8qIGZvciBsc2VlaygpLCBtdXN0IGJlIGJlZm9yZSB2aW0uaCAqLwogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL3NyYy90ZXN0ZGlyL3Rlc3QzMC5pbiBiL3NyYy90ZXN0ZGlyL3Rlc3QzMC5pbgppbmRleCA5ZDliODliLi4yODE1YzFhIDEwMDY0NAotLS0gYS9zcmMvdGVzdGRpci90ZXN0MzAuaW4KKysrIGIvc3JjL3Rlc3RkaXIvdGVzdDMwLmluCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3NyYy92ZXJzaW9uLmMgYi9zcmMvdmVyc2lvbi5jCmluZGV4IGQ0NDA4M2EuLjIxZDdiMTQgMTAwNjQ0Ci0tLSBhL3NyYy92ZXJzaW9uLmMKKysrIGIvc3JjL3ZlcnNpb24uYwpAQCAtNjc3LDQ0ICs2NzcsNiBAQAogc3RhdGljIGludCBpbmNsdWRlZF9wYXRjaGVzW10gPQogeyAgIC8qIEFkZCBuZXcgcGF0Y2ggbnVtYmVyIGJlbG93IHRoaXMgbGluZSAqLwogLyoqLwotICAgIDE5LAotLyoqLwotICAgIDE4LAotLyoqLwotICAgIDE3LAotLyoqLwotICAgIDE2LAotLyoqLwotICAgIDE1LAotLyoqLwotICAgIDE0LAotLyoqLwotICAgIDEzLAotLyoqLwotICAgIDEyLAotLyoqLwotICAgIDExLAotLyoqLwotICAgIDEwLAotLyoqLwotICAgIDksCi0vKiovCi0gICAgOCwKLS8qKi8KLSAgICA3LAotLyoqLwotICAgIDYsCi0vKiovCi0gICAgNSwKLS8qKi8KLSAgICA0LAotLyoqLwotICAgIDMsCi0vKiovCi0gICAgMiwKLS8qKi8KLSAgICAxLAotLyoqLwogICAgIDAKIH07CiAKZGlmZiAtLWdpdCBhL3NyYy92ZXJzaW9uLmggYi9zcmMvdmVyc2lvbi5oCmluZGV4IDI4YWY4NWEuLjlmMTA0MjkgMTAwNjQ0Ci0tLSBhL3NyYy92ZXJzaW9uLmgKKysrIGIvc3JjL3ZlcnNpb24uaApAQCAtMTksOSArMTksOSBAQAogI2RlZmluZSBWSU1fVkVSU0lPTl9NSU5PUl9TVFIJCSIyIgogI2RlZmluZSBWSU1fVkVSU0lPTl8xMDAJICAgIChWSU1fVkVSU0lPTl9NQUpPUiAqIDEwMCArIFZJTV9WRVJTSU9OX01JTk9SKQogCi0jZGVmaW5lIFZJTV9WRVJTSU9OX0JVSUxECQkgMjY2Ci0jZGVmaW5lIFZJTV9WRVJTSU9OX0JVSUxEX0JDRAkJMHgxMGEKLSNkZWZpbmUgVklNX1ZFUlNJT05fQlVJTERfU1RSCQkiMjY2IgorI2RlZmluZSBWSU1fVkVSU0lPTl9CVUlMRAkJIDI2NworI2RlZmluZSBWSU1fVkVSU0lPTl9CVUlMRF9CQ0QJCTB4MTBiCisjZGVmaW5lIFZJTV9WRVJTSU9OX0JVSUxEX1NUUgkJIjI2NyIKICNkZWZpbmUgVklNX1ZFUlNJT05fUEFUQ0hMRVZFTAkJIDAKICNkZWZpbmUgVklNX1ZFUlNJT05fUEFUQ0hMRVZFTF9TVFIJIjAiCiAvKiBVc2VkIGJ5IE1hY09TIHBvcnQgc2hvdWxkIGJlIG9uZSBvZjogZGV2ZWxvcG1lbnQsIGFscGhhLCBiZXRhLCBmaW5hbCAqLwpAQCAtMzMsOCArMzMsOCBAQAogICogVklNX1ZFUlNJT05fTUVESVVNIGlzIHVzZWQgZm9yIHRoZSBzdGFydHVwLXNjcmVlbi4KICAqIFZJTV9WRVJTSU9OX0xPTkcgaXMgdXNlZCBmb3IgdGhlICI6dmVyc2lvbiIgY29tbWFuZCBhbmQgIlZpbSAtaCIuCiAgKi8KLSNkZWZpbmUgVklNX1ZFUlNJT05fTk9ET1QJInZpbTcyYSIKLSNkZWZpbmUgVklNX1ZFUlNJT05fU0hPUlQJIjcuMmEiCi0jZGVmaW5lIFZJTV9WRVJTSU9OX01FRElVTQkiNy4yYSBCRVRBIgotI2RlZmluZSBWSU1fVkVSU0lPTl9MT05HCSJWSU0gLSBWaSBJTXByb3ZlZCA3LjJhIEJFVEEgKDIwMDggSnVuIDI0KSIKLSNkZWZpbmUgVklNX1ZFUlNJT05fTE9OR19EQVRFCSJWSU0gLSBWaSBJTXByb3ZlZCA3LjJhIEJFVEEgKDIwMDggSnVuIDI0LCBjb21waWxlZCAiCisjZGVmaW5lIFZJTV9WRVJTSU9OX05PRE9UCSJ2aW03MmIiCisjZGVmaW5lIFZJTV9WRVJTSU9OX1NIT1JUCSI3LjJiIgorI2RlZmluZSBWSU1fVkVSU0lPTl9NRURJVU0JIjcuMmIgQkVUQSIKKyNkZWZpbmUgVklNX1ZFUlNJT05fTE9ORwkiVklNIC0gVmkgSU1wcm92ZWQgNy4yYiBCRVRBICgyMDA4IEp1bCAxMykiCisjZGVmaW5lIFZJTV9WRVJTSU9OX0xPTkdfREFURQkiVklNIC0gVmkgSU1wcm92ZWQgNy4yYiBCRVRBICgyMDA4IEp1bCAxMywgY29tcGlsZWQgIgpkaWZmIC0tZ2l0IGEvc3JjL3ZpbS5kZWYgYi9zcmMvdmltLmRlZgppbmRleCBhZWVhNjY3Li4yZDMwODdhIDEwMDY0NAotLS0gYS9zcmMvdmltLmRlZgorKysgYi9zcmMvdmltLmRlZgpAQCAtMSw0ICsxLDQgQEAKIENPREUgUFJFTE9BRCBFWEVDVVRFT05MWQogREFUQSBNVUxUSVBMRSBTSEFSRUQKLURFU0NSSVBUSU9OICdWaW0gNy4yYScKK0RFU0NSSVBUSU9OICdWaW0gNy4yYicKIEhFQVBTSVpFIDAsMApkaWZmIC0tZ2l0IGEvc3JjL3ZpbS5oIGIvc3JjL3ZpbS5oCmluZGV4IGQ3N2Q0YjcuLjExMTcyM2YgMTAwNjQ0Ci0tLSBhL3NyYy92aW0uaAorKysgYi9zcmMvdmltLmgKQEAgLTEwMDgsNyArMTAwOCw3IEBACiAjZGVmaW5lIFRBR19JTlNfQ09NUAk2NAkvKiBDdXJyZW50bHkgZG9pbmcgaW5zZXJ0IGNvbXBsZXRpb24gKi8KICNkZWZpbmUgVEFHX0tFRVBfTEFORwkxMjgJLyoga2VlcCBjdXJyZW50IGxhbmd1YWdlICovCiAKLSNkZWZpbmUgVEFHX01BTlkJMjAwCS8qIFdoZW4gZmluZGluZyBtYW55IHRhZ3MgKGZvciBjb21wbGV0aW9uKSwKKyNkZWZpbmUgVEFHX01BTlkJMzAwCS8qIFdoZW4gZmluZGluZyBtYW55IHRhZ3MgKGZvciBjb21wbGV0aW9uKSwKIAkJCQkgICBmaW5kIHVwIHRvIHRoaXMgbWFueSB0YWdzICovCiAKIC8qCmRpZmYgLS1naXQgYS9zcmMvdmltMTYuZGVmIGIvc3JjL3ZpbTE2LmRlZgppbmRleCAyMjNkZGFmLi5iZWFhYWE3IDEwMDY0NAotLS0gYS9zcmMvdmltMTYuZGVmCisrKyBiL3NyYy92aW0xNi5kZWYKQEAgLTEsNSArMSw1IEBACiBDT0RFIFBSRUxPQUQgRVhFQ1VURU9OTFkKIERBVEEgTVVMVElQTEUgU0hBUkVECi1ERVNDUklQVElPTiAnVmltIDcuMmEnCitERVNDUklQVElPTiAnVmltIDcuMmInCiBTVEFDS1NJWkUgMTYwMDAKIEhFQVBTSVpFIDEwMDAwCg==