Ly89PT0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tPT09Ly8NLy8NLy8gysrKysrKysrKysrKysrKysrKyspUaGUgTExWTSBDb21waWxlciBJbmZyYXN0cnVjdHVyZQ0vLw0vLyBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIFVuaXZlcnNpdHkgb2YgSWxsaW5vaXMgT3BlbiBTb3VyY2UNLy8gTGljZW5zZS4gU2VlIExJQ0VOU0UuVFhUIGZvciBkZXRhaWxzLg0vLw0vLz09PS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS09PT0vLw0NLy8gPGZ1bmN0aW9uYWw+DQ0vLyBiaW5hcnlfZnVuY3Rpb24NDSNpbmNsdWRlIDxmdW5jdGlvbmFsPg0jaW5jbHVkZSA8dHlwZV90cmFpdHM+DQ1pbnQgbWFpbigpDXsNICAgIHR5cGVkZWYgc3RkOjpiaW5hcnlfZnVuY3Rpb248aW50LCBzaG9ydCwgYm9vbD4gYmY7DSAgICBzdGF0aWNfYXNzZXJ0KChzdGQ6OmlzX3NhbWU8YmY6OmZpcnN0X2FyZ3VtZW50X3R5cGUsIGludD46OnZhbHVlKSwgIiIpOw0gICAgc3RhdGljX2Fzc2VydCgoc3RkOjppc19zYW1lPGJmOjpzZWNvbmRfYXJndW1lbnRfdHlwZSwgc2hvcnQ+Ojp2YWx1ZSksICIiKTsNICAgIHN0YXRpY19hc3NlcnQoKHN0ZDo6aXNfc2FtZTxiZjo6cmVzdWx0X3R5cGUsIGJvb2w+Ojp2YWx1ZSksICIiKTsNfQ0=