PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iSVNPLTg4NTktMSI/Pg0KPCEtLQ0KLyogICBDb3B5cmlnaHQgMjAwNCBUaGUgQXBhY2hlIFNvZnR3YXJlIEZvdW5kYXRpb24NCiAqDQogKiAgIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpOw0KICogICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuDQogKiAgIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdA0KICoNCiAqICAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMA0KICoNCiAqICAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQ0KICogICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLA0KICogICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4NCiAqICAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZA0KICogIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLg0KICovDQotLT4NCjx4czpzY2hlbWEgeG1sbnM6dmR4PSJ1cm46ZWhkL3ZkeC8wMDEiIHhtbG5zPSJ1cm46ZWhkLzAwMSIgeG1sbnM6eHM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hIiB4bWxuczplaGQ9InVybjplaGQvMDAxIiB0YXJnZXROYW1lc3BhY2U9InVybjplaGQvMDAxIiBlbGVtZW50Rm9ybURlZmF1bHQ9InF1YWxpZmllZCIgYXR0cmlidXRlRm9ybURlZmF1bHQ9InVucXVhbGlmaWVkIiBibG9ja0RlZmF1bHQ9InN1YnN0aXR1dGlvbiI+DQoJPCEtLSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSANCglFaW5iaW5kZW4gZGVyIGVoZC1CaWJsaW90aGVrZW4NCgk9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAtLT4NCgk8eHM6aW5jbHVkZSBzY2hlbWFMb2NhdGlvbj0ieG1sYmVhbnNfMTg0X2VoZF9yb290X1YxLjMwLnhzZF8iLz4NCgk8IS0tID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IA0KCUVpbmJpbmRlbiBkZXIgdmR4LUJpYmxpb3RoZWtlbg0KCT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC0tPg0KCTx4czppbmNsdWRlIHNjaGVtYUxvY2F0aW9uPSJ4bWxiZWFuc18xODRfdmR4X2hlYWRlcl9WMS4wNC54c2RfIi8+DQoJPHhzOmltcG9ydCBuYW1lc3BhY2U9InVybjplaGQvdmR4LzAwMSIgc2NoZW1hTG9jYXRpb249InhtbGJlYW5zXzE4NF92ZHhfZGF0YV9WMS4wNC54c2RfIi8+DQoJPCEtLSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSANCglFSEQtcm9vdA0KCWhpZXIgaXN0IGRlcyBFSEQtcm9vdC1FbGVtZW50IGRlZmluaWVydCwgd2VsY2hlcyBkYXMgImhlYWRlciIgdW5kICJib2R5IiBzb3dpZSAia2V5dGFicyINCglFbGVtbnRlIGVudGjkbHQuDQoJPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gLS0+DQoJPHhzOmVsZW1lbnQgbmFtZT0iZWhkIiB0eXBlPSJ2ZHhfcm9vdF90eXAiPg0KCQk8eHM6YW5ub3RhdGlvbj4NCgkJCTx4czpkb2N1bWVudGF0aW9uPnJvb3QgZWxlbWVudCBlaGQgImVIZWFsdGhEYXRhIjwveHM6ZG9jdW1lbnRhdGlvbj4NCgkJPC94czphbm5vdGF0aW9uPg0KCTwveHM6ZWxlbWVudD4NCgk8IS0tID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IA0KCXZkeF9yb290X3R5cA0KCWRhcyBhYmdlbGVpdGV0ZSB2ZHhfcm9vdF90eXAgZGVzIEJhc2lzdHlwczogZWhkX3Jvb3RfdHlwDQoJPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gLS0+DQoJPHhzOmNvbXBsZXhUeXBlIG5hbWU9InZkeF9yb290X3R5cCI+DQoJCTx4czpjb21wbGV4Q29udGVudD4NCgkJCTx4czpyZXN0cmljdGlvbiBiYXNlPSJlaGRfcm9vdF90eXAiPg0KCQkJCTx4czpzZXF1ZW5jZT4NCgkJCQkJPHhzOmVsZW1lbnQgbmFtZT0iaGVhZGVyIiB0eXBlPSJ2ZHhfaGVhZGVyX3R5cCI+DQoJCQkJCQk8eHM6YW5ub3RhdGlvbj4NCgkJCQkJCQk8eHM6ZG9jdW1lbnRhdGlvbj5hbGxlIE1ldGFpbmZvcm1hdGlvbmVuIHp1IGRlbiBEYXRlbjwveHM6ZG9jdW1lbnRhdGlvbj4NCgkJCQkJCTwveHM6YW5ub3RhdGlvbj4NCgkJCQkJPC94czplbGVtZW50Pg0KCQkJCQk8eHM6ZWxlbWVudCBuYW1lPSJib2R5IiB0eXBlPSJ2ZHhfYm9keV90eXAiPg0KCQkJCQkJPHhzOmFubm90YXRpb24+DQoJCQkJCQkJPHhzOmRvY3VtZW50YXRpb24+ZGllIGVpZ2VudGxpY2hlbiBEYXRlbjwveHM6ZG9jdW1lbnRhdGlvbj4NCgkJCQkJCTwveHM6YW5ub3RhdGlvbj4NCgkJCQkJPC94czplbGVtZW50Pg0KCQkJCTwveHM6c2VxdWVuY2U+DQoJCQk8L3hzOnJlc3RyaWN0aW9uPg0KCQk8L3hzOmNvbXBsZXhDb250ZW50Pg0KCTwveHM6Y29tcGxleFR5cGU+DQoJPCEtLSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSANCgl2ZHhfYm9keV90eXANCglkYXMgYWJnZWxlaXRldGUgdmR4X2JvZHlfdHlwIGRlcyBCYXNpc3R5cHM6IGVoZF9ib2R5X3R5cA0KCT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IC0tPg0KCTx4czpjb21wbGV4VHlwZSBuYW1lPSJ2ZHhfYm9keV90eXAiPg0KCQk8eHM6Y29tcGxleENvbnRlbnQ+DQoJCQk8eHM6cmVzdHJpY3Rpb24gYmFzZT0iZWhkX2JvZHlfdHlwIj4NCgkJCQk8eHM6c2VxdWVuY2U+DQoJCQkJCTx4czplbGVtZW50IHJlZj0idmR4OnZkeF9kYXRhIiBtYXhPY2N1cnM9InVuYm91bmRlZCIvPg0KCQkJCTwveHM6c2VxdWVuY2U+DQoJCQk8L3hzOnJlc3RyaWN0aW9uPg0KCQk8L3hzOmNvbXBsZXhDb250ZW50Pg0KCTwveHM6Y29tcGxleFR5cGU+DQo8L3hzOnNjaGVtYT4NCg==