ZGlmZiAtLWdpdCBhL3J1bnRpbWUvaW5kZW50L3JwbC52aW0gYi9ydW50aW1lL2luZGVudC9ycGwudmltCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM0MWY1ZjkKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL2luZGVudC9ycGwudmltCkBAIC0wLDAgKzEsNjAgQEAKKyIgVmltIGluZGVudCBmaWxlCisiIExhbmd1YWdlOglSUEwvMgorIiBWZXJzaW9uOgkwLjIKKyIgTGFzdCBDaGFuZ2U6CTIwMDIgQXVndXN0IDE2CisiIE1haW50YWluZXI6CUJFUlRSQU5EIEpv62wgPHJwbDJAZnJlZS5mcj4KKworIiBPbmx5IGxvYWQgdGhpcyBpbmRlbnQgZmlsZSB3aGVuIG5vIG90aGVyIHdhcyBsb2FkZWQuCitpZiBleGlzdHMoImI6ZGlkX2luZGVudCIpCisgIGZpbmlzaAorZW5kaWYKK2xldCBiOmRpZF9pbmRlbnQgPSAxCisKK3NldGxvY2FsIGluZGVudGtleXMrPT1+ZW5kLD1+Y2FzZSw9fmlmLD1+dGhlbiw9fmVsc2UsPX5kbyw9fnVudGlsLD1+d2hpbGUsPX5yZXBlYXQsPX5zZWxlY3QsPX5kZWZhdWx0LD1+Zm9yLD1+c3RhcnQsPX5uZXh0LD1+c3RlcCw8PD4sPD4+CisKKyIgRGVmaW5lIHRoZSBhcHByb3ByaWF0ZSBpbmRlbnQgZnVuY3Rpb24gYnV0IG9ubHkgb25jZQorc2V0bG9jYWwgaW5kZW50ZXhwcj1ScGxHZXRGcmVlSW5kZW50KCkKK2lmIGV4aXN0cygiKlJwbEdldEZyZWVJbmRlbnQiKQorICBmaW5pc2gKK2VuZGlmCisKK2Z1bmN0aW9uIFJwbEdldEluZGVudChsbnVtKQorICBsZXQgaW5kID0gaW5kZW50KGE6bG51bSkKKyAgbGV0IHByZXZsaW5lPWdldGxpbmUoYTpsbnVtKQorICAiIFN0cmlwIHRhaWwgY29tbWVudAorICBsZXQgcHJldnN0YXQ9c3Vic3RpdHV0ZShwcmV2bGluZSwgJyEuKiQnLCAnJywgJycpCisKKyAgIiBBZGQgYSBzaGlmdHdpZHRoIHRvIHN0YXRlbWVudHMgZm9sbG93aW5nIGlmLCBpZmVyciwgdGhlbiwgZWxzZSwgZWxzZWlmLAorICAiIGNhc2UsIHNlbGVjdCwgZGVmYXVsdCwgZG8sIHVudGlsLCB3aGlsZSwgcmVwZWF0LCBmb3IsIHN0YXJ0CisgIGlmIHByZXZzdGF0ID1+PyAnXDxcKGlmXHxpZmVyclx8ZG9cfHdoaWxlXClcPicgJiYgcHJldnN0YXQgPX4/ICdcPGVuZFw+JworICBlbHNlaWYgcHJldnN0YXQgPX4/ICdcKF5cfFxzXCtcKTw8XCgkXHxcc1wrXCknICYmIHByZXZzdGF0ID1+PyAnXHNcKz4+XCgkXHxcc1wrXCknCisgIGVsc2VpZiBwcmV2c3RhdCA9fj8gJ1w8XChpZlx8aWZlcnJcfHRoZW5cfGVsc2VcfGVsc2VpZlx8c2VsZWN0XHxjYXNlXHxkb1x8dW50aWxcfHdoaWxlXHxyZXBlYXRcfGZvclx8c3RhcnRcfGRlZmF1bHRcKVw+JyB8fCBwcmV2c3RhdCA9fj8gJ1woXlx8XHNcK1wpPDxcKCRcfFxzXCtcKScKKyAgICBsZXQgaW5kID0gaW5kICsgJnN3CisgIGVuZGlmCisKKyAgIiBTdWJ0cmFjdCBhIHNoaWZ0d2lkdGggZnJvbSB0aGVuLCBlbHNlLCBlbHNlaWYsIGVuZCwgdW50aWwsIHJlcGVhdCwgbmV4dCwKKyAgIiBzdGVwCisgIGxldCBsaW5lID0gZ2V0bGluZSh2OmxudW0pCisgIGlmIGxpbmUgPX4/ICdeXHMqXCh0aGVuXHxlbHNlXHxlbHNlaWZcfHVudGlsXHxyZXBlYXRcfG5leHRcfHN0ZXBcfGRlZmF1bHRcfGVuZFwpXD4nCisgICAgbGV0IGluZCA9IGluZCAtICZzdworICBlbHNlaWYgbGluZSA9fj8gJ15ccyo+PlwoJFx8XHNcK1wpJworICAgIGxldCBpbmQgPSBpbmQgLSAmc3cKKyAgZW5kaWYKKworICByZXR1cm4gaW5kCitlbmRmdW5jdGlvbgorCitmdW5jdGlvbiBScGxHZXRGcmVlSW5kZW50KCkKKyAgIiBGaW5kIHRoZSBwcmV2aW91cyBub24tYmxhbmsgbGluZQorICBsZXQgbG51bSA9IHByZXZub25ibGFuayh2OmxudW0gLSAxKQorCisgICIgVXNlIHplcm8gaW5kZW50IGF0IHRoZSB0b3Agb2YgdGhlIGZpbGUKKyAgaWYgbG51bSA9PSAwCisgICAgcmV0dXJuIDAKKyAgZW5kaWYKKworICBsZXQgaW5kPVJwbEdldEluZGVudChsbnVtKQorICByZXR1cm4gaW5kCitlbmRmdW5jdGlvbgorCisiIHZpbTpzdz0yIHR3PTEzMAo=