ZGlmZiAtLWdpdCBhL2FwL2FwcC9TY3JpcHQvc2NyaXB0cy9wc2V4dF91cC5zaCBiL2FwL2FwcC9TY3JpcHQvc2NyaXB0cy9wc2V4dF91cC5zaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi44ODQ2Y2NiCi0tLSAvZGV2L251bGwKKysrIGIvYXAvYXBwL1NjcmlwdC9zY3JpcHRzL3BzZXh0X3VwLnNoCkBAIC0wLDAgKzEsMTA0IEBACisjIS9iaW4vc2gKK3Rlc3RfbG9nPWBudiBnZXQgdGVsb2dfcGF0aGAKK2lmIFsgIiR0ZXN0X2xvZyIgPT0gIiIgXTsgdGhlbgorCXRlc3RfbG9nPWBudiBnZXQgcGF0aF9sb2dgInRlLmxvZyIKK2ZpCitlY2hvICJJbmZvOiBwc2V4dF91cC5zaCAkMSBzdGFydCIgPj4gJHRlc3RfbG9nCitwYXRoX2NvbmY9YG52IGdldCBwYXRoX2NvbmZgCisKK2VjaG8gMSA+IC9wcm9jL3N5cy9uZXQvaXB2NC9pcF9mb3J3YXJkCitjX2lkPSQxCitwc19pZj1gbnYgZ2V0IHBzd2FuYCRjX2lkCitldGhfaWY9YG52IGdldCAicHNfZXh0IiRjX2lkYAorZXh0X2JyPSJiciIkY19pZAorcGlkZmlsZT0kcGF0aF9jb25mIi91ZGhjcGQiJGNfaWQiLnBpZCIKK2NvbmZpbGU9JHBhdGhfY29uZiIvdWRoY3BkIiRjX2lkIi5jb25mIgorbGVhc2VzPSRwYXRoX2NvbmYiL3VkaGNwZCIkY19pZCIubGVhc2VzIgorCithcnBfcHJveHlfc2V0KCkKK3sKKwkoenRlX2FycF9wcm94eSAtaSAkZXh0X2JyIDI+PiAkdGVzdF9sb2cgfHwgZWNobyAiRXJyb3I6IHp0ZV9hcnBfcHJveHkgLWkgJGV4dF9iciBmYWlsZWQuIiA+PiAkdGVzdF9sb2cpICYKK30KKworZGhjcF9zZXQoKQoreworCW1hc2s9YG52IGdldCAkZXh0X2JyIl9ubSJgCisJaWZjb25maWcgJGV4dF9iciBuZXRtYXNrICRtYXNrIDI+PiR0ZXN0X2xvZworCWlmIFsgJD8gLW5lIDAgXTt0aGVuCisJICAgIGVjaG8gIkVycm9yOiBpZmNvbmZpZyAkZXRoX2JyIG5ldG1hc2sgJG1hc2sgZmFpbGVkLiIgPj4gJHRlc3RfbG9nCisJZmkKKyAgICBpZiBbIC1lICR7cGlkZmlsZX0gXTsgdGhlbgorICAgICAga2lsbCBgY2F0ICRwaWRmaWxlYAorCSAgcm0gLWYgJHBpZGZpbGUKKyAgICBmaQorCXRvdWNoICRsZWFzZXMKKwl1ZGhjcGQgLWYgJGNvbmZpbGUgJgorfQorCisju/HIoWlwsqLF5NbDcHOhomV0aAorZ2V0X2lwYWRkcigpCit7CisgICAgcGRwX2lwPWBudiBnZXQgJHBzX2lmIl9wZHBfaXAiYAorCXBzX2lwPWBudiBnZXQgJHBzX2lmIl9pcCJgCisJYnJfaXA9YG52IGdldCAkZXh0X2JyIl9pcCJgCisJaWZjb25maWcgJHBzX2lmICRwc19pcCBuZXRtYXNrIDI1NS4yNTUuMjU1LjAgdXAgMj4+JHRlc3RfbG9nCisJaWYgWyAkPyAtbmUgMCBdO3RoZW4KKwkgICAgZWNobyAiRXJyb3I6IGlmY29uZmlnICRwc19pZiAkcHNfaXAgdXAgZmFpbGVkLiIgPj4gJHRlc3RfbG9nCisgICAgZmkKKwludiBzZXQgZGVmYXVsdF93YW5fcmVsPSRwc19pZgorCW52IHNldCBkZWZhdWx0X2NpZD0kY19pZAorCW52IHNldCAkZXh0X2JyIl9pcCI9JGJyX2lwCisJaWZjb25maWcgJGV4dF9iciAkYnJfaXAgMj4+JHRlc3RfbG9nCisJaWYgWyAkPyAtbmUgMCBdO3RoZW4KKwkgICAgZWNobyAiRXJyb3I6IGlmY29uZmlnICRleHRfYnIgJGJyX2lwIHVwIGZhaWxlZC4iID4+ICR0ZXN0X2xvZworICAgIGZpCit9CisjwrfTybnm1PKjrHBz0+tldGi8tsGqCityb3V0ZV9zZXQoKQoreworICAgIG1hcmtudW09YGV4cHIgJGNfaWQgKyAyMGAKKyAgICBpcHRhYmxlcyAtdCBtYW5nbGUgLUEgUFJFUk9VVElORyAtaSAkcHNfaWYgLWogTUFSSyAtLXNldC1tYXJrICRtYXJrbnVtCisJcnRfbnVtPWBleHByICRjX2lkICsgMTIwYAorICAgIAorICAgIGlwIHJvdXRlIGFkZCBkZWZhdWx0IGRldiAkZXh0X2JyIHRhYmxlICRydF9udW0gCQorCQkKKwlpcCBydWxlIGFkZCB0byAkcGRwX2lwIGZ3bWFyayAkbWFya251bSB0YWJsZSAkcnRfbnVtCisJCisJbWFya251bT1gZXhwciAkY19pZCArIDEwYAorICAgIGlwdGFibGVzIC10IG1hbmdsZSAtQSBQUkVST1VUSU5HIC1pICRleHRfYnIgLWogTUFSSyAtLXNldC1tYXJrICRtYXJrbnVtCisJcnRfbnVtPWBleHByICRjX2lkICsgMTAwYAorCisgICAgaXAgcm91dGUgYWRkIGRlZmF1bHQgZGV2ICRwc19pZiB0YWJsZSAkcnRfbnVtCisJaXAgcnVsZSBhZGQgZnJvbSAkcGRwX2lwIGZ3bWFyayAkbWFya251bSB0YWJsZSAkcnRfbnVtCisKKwlpcCByb3V0ZSBmbHVzaCBjYWNoZQorICAgIAorICAgICOxvrXYzfjC58Xk1sMKKyAgICBpcHRhYmxlcyAtdCBuYXQgLUkgUE9TVFJPVVRJTkcgLXMgJHBzX2lwIC1vICRwc19pZiAtaiBTTkFUIC0tdG8gJHBkcF9pcAorICAgIAorCXJvdXRlX2luZm89YHJvdXRlfGdyZXAgZGVmYXVsdGAKKwkKKwlpZiBbICIkcm91dGVfaW5mbyIgPT0gIiIgXTt0aGVuCisJCXJvdXRlIGFkZCBkZWZhdWx0IGRldiAkcHNfaWYKKwllbHNlCisJCWVjaG8gIkRlYnVnOiBkZWZhdWx0IHJvdXRlIGFscmVhZHkgZXhpc3QuIiA+PiAkdGVzdF9sb2cKKwlmaQorfQorCittdHU9YG52IGdldCBtdHVgCitpZmNvbmZpZyAkcHNfaWYgbXR1ICRtdHUKK2JyY3RsIGFkZGJyICRleHRfYnIKK2JyY3RsIHNldGZkICRleHRfYnIgMC4xCiticmN0bCBhZGRpZiAkZXh0X2JyICRldGhfaWYKK2lmY29uZmlnICRleHRfYnIgdXAKK2dldF9pcGFkZHIKK2RoY3Bfc2V0Cityb3V0ZV9zZXQKK2FycF9wcm94eV9zZXQKK2lmY29uZmlnICRldGhfaWYgdXAKK2lzbWJpbT1gcHMgfGdyZXAgLXYgZ3JlcCB8Z3JlcCAtdyBtYmltIHxhd2sgJ3twcmludGYgJDF9J2AKK2lmIFsgIi0kaXNtYmltIiAhPSAiLSIgXTsgdGhlbgorCWV0aF9tYWM9YGNhdCAiL3N5cy9jbGFzcy9uZXQvIiRldGhfaWYiL2FkZHJlc3MiYAorCWFycCAtcyAkcGRwX2lwICRldGhfbWFjIC1pICRleHRfYnIgMj4+JHRlc3RfbG9nCitmaQordGNfdGJmLnNoIHVwICRjX2lkCg==