dHJlZSBkNjVkZmUxNDFlNjA0ZmM3ODJjMTcyY2VhMWNlYTM1NmY1Yzc1NWRmCnBhcmVudCAyZjQ3NjUxMjgwNTZiODk1YjAyZWEzNGNkYjFiMDIyMzFiMTYzY2FhCmF1dGhvciBXaWxseSBUYXJyZWF1IDx3QDF3dC5ldT4gMTM2NDI1NjUwMSArMDEwMApjb21taXR0ZXIgV2lsbHkgVGFycmVhdSA8d0Axd3QuZXU+IDEzNjQyNTczMDcgKzAxMDAKZW5jb2RpbmcgbGF0aW4xCgpCVUcvTUVESVVNOiBodHRwOiBmaXggYW5vdGhlciBpc3N1ZSBjYXVzZWQgYnkgaHR0cC1zZW5kLW5hbWUtaGVhZGVyCgpBbiBpc3N1ZSByZXBvcnRlZCBieSBEYXZpZCBDb3Vsc29uIGlzIHRoYXQgd2hlbiB1c2luZyBodHRwLXNlbmQtbmFtZS1oZWFkZXIsCnRoZSByZXNwb25zZSBwcm9jZXNzaW5nIHdvdWxkIHJhbmRvbWx5IGJlIHBlcmZvcm1lZC4gVGhlIGlzc3VlIHdhcyBmaXJzdApkaWFnbm9zZWQgYnkgQ3lyaWwgQm9udOkgYXMgYmVpbmcgcmVsYXRlZCB0byBhIHRpbWUgcmFjZSB3aGVuIHByb2Nlc3NpbmcKdGhlIGNsb3Npbmcgb2YgdGhlIHJlc3BvbnNlLgoKSW4gcHJhY3RpY2UsIHRoZSBpc3N1ZSBpcyBhIGJpdCB0cmlja2llci4gSXQgaGFwcGVucyB0aGF0Cmh0dHBfc2VuZF9uYW1lX2hlYWRlcigpIGRpZCBub3QgdXBkYXRlIG1zZy0+c29sIGFmdGVyIGEgcmV3cml0ZS4gVGhpcwpjb3VudGVyIGlzIHN1cHBvc2VkIHRvIHBvaW50IHRvIHRoZSBiZWdpbm5pbmcgb2YgdGhlIG1lc3NhZ2UncyBib2R5Cm9uY2UgaGVhZGVycyBhcmUgc2NoZWR1bGVkIGZvciBiZWluZyBmb3J3YXJkZWQuIEFuZCBub3QgdXBkYXRpbmcgaXQKbWVhbnMgdGhhdCB0aGUgZmlyc3QgZm9yd2FyZGluZyBvZiB0aGUgcmVxdWVzdCBoZWFkZXJzIGluCmh0dHBfcmVxdWVzdF9mb3J3YXJkX2JvZHkoKSBkb2VzIG5vdCBzZW5kIHRoZSBjb3JyZWN0IGNvdW50LCBsZWF2aW5nCnNvbWUgYnl0ZXMgaW4gY2huLT50b19mb3J3YXJkLgoKVGhlbiBpZiB0aGUgc2VydmVyIHNlbmRzIGl0cyByZXNwb25zZSBpbiBhIHNpbmdsZSBwYWNrZXQgd2l0aCB0aGUKY2xvc2UsIHRoZSBzdHJlYW0gaW50ZXJmYWNlIHN3aXRjaGVzIHRvIHN0YXRlIFNJX1NUX0RJUyB3aGljaCBpbgp0dXJuIG1vdmVzIHRvIFNJX1NUX0NMTyBpbiBwcm9jZXNzX3Nlc3Npb24oKSwgYW5kIHRvIGNsb3NlIHRoZQpvdXRnb2luZyBjb25uZWN0aW9uLiBUaGlzIGlzIGRldGVjdGVkIGJ5IGh0dHBfcmVxdWVzdF9mb3J3YXJkX2JvZHkoKSwKd2hpY2ggdGhlbiBzd2l0Y2hlcyB0aGUgcmVxdWVzdCBtZXNzYWdlIHRvIHRoZSBlcnJvciBzdGF0ZSwgYW5kIHN5bmNzCmFsbCBGU01zIGFuZCByZW1vdmVzIGFueSByZXNwb25zZSBhbmFseXNlci4KClRoZSByZXNwb25zZSBhbmFseXNlciBiZWluZyByZW1vdmVkLCBubyBwcm9jZXNzaW5nIGlzIHBlcmZvcm1lZCBvbgp0aGUgcmVzcG9uc2UgYnVmZmVyLCB3aGljaCBpcyB0dW5uZWxsZWQgYXMtaXMgdG8gdGhlIGNsaWVudC4KCk9mIGNvdXJzZSwgdGhlIGNvcnJlY3QgZml4IGNvbnNpc3RzIGluIGhhdmluZyBodHRwX3NlbmRfbmFtZV9oZWFkZXIoKQp1cGRhdGUgbXNnLT5zb2wuIE5vcm1hbGx5IHRoaXMgb3VnaHQgbm90IHRvIGhhdmUgYmVlbiBuZWVkZWQsIGJ1dCBpdAppcyBhbiBhYnVzZSB0byBtb2RpZnkgZGF0YSBhbHJlYWR5IHNjaGVkdWxlZCBmb3IgYmVpbmcgZm9yd2FyZGVkLCBzbwppdCBpcyBleHBlY3RlZCB0aGF0IHN1Y2ggc3BlY2lmaWMgaGFuZGxpbmcgaGFzIHRvIGJlIGRvbmUgdGhlcmUuIEJldHRlcgpub3QgaGF2ZSBnZW5lcmljIGZ1bmN0aW9ucyBkZWFsIHdpdGggc3VjaCBjYXNlcywgc28gdGhhdCBpdCBkb2VzIG5vdApiZWNvbWUgdGhlIHN0YW5kYXJkLgoKTm90ZTogMS40IGRvZXMgbm90IGhhdmUgdGhpcyBpc3N1ZSBldmVuIGlmIGl0IGRvZXMgbm90IHVwZGF0ZSB0aGUKcG9pbnRlciBlaXRoZXIsIGJlY2F1c2UgaXQgZm9yd2FyZHMgZnJvbSBtc2ctPnNvbSB3aGljaCBpcyBub3QKdXBkYXRlZCBhdCB0aGUgbW9tZW50IHRoZSBjb25uZWN0KCkgc3VjY2VlZHMuIFNvIG5vIGJhY2twb3J0IGlzCnJlcXVpcmVkLgo=