VGhlIGZvbGxvd2luZyBwZW9wbGUgKGluIGFscGhhYmV0aWNhbCBvcmRlcikgaGF2ZSBjb250cmlidXRlZCB0byB0aGUKZGV2ZWxvcG1lbnQgYW5kIHBvcnRzIG9mIHRoZSBYTUw0QyBzb3VyY2UgY29kZSwgd2hpY2ggd2FzIHN1Ym1pdHRlZCB0bwp0aGUgQXBhY2hlIFNvZnR3YXJlIEZvdW5kYXRpb24uCgoKTmFkYXYgQWhhcm9uaQpDdXJ0IEFybm9sZApBbnVwYW0gQmFnY2hpClRvcmJq9nJuIELkY2tzdHL2bQpNYXR0aGV3IEJha2VyCkRldmluIEJhcm5oYXJ0CkphbWVzIEJlcnJ5CkRhdmlkIEJlcnRvbmkKSm9obiBCZWxsYXJkbwpBcnVuZGhhdGkgQmhvd21pY2sKRWR3YXJkIEJvcnRuZXIKU2VhbiBCcmlnaHQKU3VtaXQgQ2hhd2xhCk5pY2sgQ2hpYW5nCkNoaWggSHNpYW5nIENob3UKUmFkb3ZhbiBDaHl0cmFjZWsKSGlyYW0gQ2xhd3NvbgpKb2huIENsYXl0b24KVG9kZCBDb2xsaW5zCk1pY2hhZWwgQ3Jhd2ZvcmQKTXVycmF5IEN1bW1pbmcKSGVsbXV0IEVpa2VuCk1hcmsgRXZlcmxpbmUKU2ltb24gRmVsbApQYXVsIEZlcmd1c29uClBpZXJwYW9sbyBGdW1hZ2FsbGkKR2FyeSBHYWxlClBldHIgR290dGhhcmQKU3VzYW4gSGFyZGVuYnJvb2sKSmVmZiBIYXJyZWxsCkFuZHkgSGVuaW5nZXIKV2lsbGlhbSBMLiBIb3BwZXIKUmFodWwgSmFpbgpUb20gSm9yZGFobApDaHJpc3RvcGhlciBKdXN0Ck1hcnRpbiBLYWxlbgpKb2UgS2Vzc2VsbWFuCkFydHVyIEtsYXVzZXIKQm9iIEtsaW5lClJpY2hhcmQgS28KUGF1bCBLcmFtZXIKVm9sa2VyIEtyYXVzZQpBcm5hdWQgTGVIb3JzCkFuZHkgTGV2aW5lCkplZmYgTGV3aXMKTWF0dCBMb3ZldHQKU2VhbiBNYWNSb2liZWFpcmQKQWxiZXJ0byBNYXNzYXJpCkRvbiBNYXN0cm92aXRvCkRhdmlkIE1jQ3JlZWR5CkpvcmRhbiBOYWZ0b2xpbgpUaW5ueSBOZwpEYXZpZCBOaWNrZXJzb24KS2hhbGVkIE5vYW1hbgpNaWNoYWVsIE90dGF0aQpLZXZpbiBQaGlsaXBzCk1pa2UgUG9ndWUKSm9lIFBvbGFzdHJlCkpvaG4gUG9uem8KU2hlbmdrYWkgUXUKR2FyZXRoIFJlYWtlcwpKaW0gUmVpdHoKRGVhbiBSb2RkZXkKSm9obiBSb3BlcgpTdGV2ZW4gUm9zZW50aGFsCkVyaWsgUnlkZ3JlbgpCaWxsIFNjaGluZGxlcgpFcmlrIFNjaHJvZWRlcgpDaHJpc3RpYW4gU2NodWhlZ2dlcgpKb2huIFNtaXJsCkFuZHJlaSBTbWlybm92CkdlcmVvbiBTdGVmZmVucwpKYXNvbiBTdGV3YXJ0ClJpY2sgSi4gU3RldmVucwpSb21hbiBTdWx6aHlrCkxpbmRhIE0uIFN3YW4KUGlldGVyIFZhbi1EeWNrCkN1cnRpcyBXYWxrZXIKVG9tIFdhdHNvbgpKb2huIFdhcnJpZXIKTWFyayBXZWF2ZXIKUm9nZXIgV2Vic3RlcgpSb2JlcnQgV2VpcgpLYXJpIFdoaXRjb21iCkRpZXRyaWNoIFdvbGYKS2lyayBXeWxpZQpQZXRlciBBLiBWb2xjaGVrCkdyYWNlIFlhbgpQZWlZb25nIFpoYW5nCkhlbnJ5IFpvbmdhcm8K