{"id":21,"date":"2025-12-04T19:18:49","date_gmt":"2025-12-04T13:18:49","guid":{"rendered":"https:\/\/rajshahi.wordcamp.org\/2026\/code-of-conduct\/"},"modified":"2026-05-11T23:53:45","modified_gmt":"2026-05-11T17:53:45","slug":"code-of-conduct","status":"publish","type":"page","link":"https:\/\/rajshahi.wordcamp.org\/2026\/code-of-conduct\/","title":{"rendered":"Code of Conduct"},"content":{"rendered":"\n<div class=\"wp-block-group has-global-padding is-layout-constrained wp-container-core-group-is-layout-66042007 wp-block-group-is-layout-constrained\">\n<div class=\"wp-block-group has-global-padding is-layout-constrained wp-container-core-group-is-layout-991d01f5 wp-block-group-is-layout-constrained\">\n<h3 class=\"wp-block-heading\">1. Purpose<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><span style=\"color: red;text-decoration: underline\">WordCamp Rajshahi<\/span> believes our community should be truly open for everyone. As such, we are committed to providing a friendly, safe and welcoming environment for all, regardless of gender, sexual orientation, disability, ethnicity, religion, age, caste, social class, preferred operating system, programming language, or text editor, among other identifying characteristics.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This code of conduct outlines our expectations for participant behavior as well as the consequences for unacceptable behavior.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">We invite all sponsors, volunteers, speakers, attendees, and other participants to help us realize a safe and positive conference experience for everyone.<\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-group has-global-padding is-layout-constrained wp-container-core-group-is-layout-991d01f5 wp-block-group-is-layout-constrained\">\n<h3 class=\"wp-block-heading\">2. Open Source Citizenship<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">A supplemental goal of this code of conduct is to increase open source citizenship by encouraging participants to recognize and strengthen the relationships between what we do and the community at large.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In service of this goal, <span style=\"color: red;text-decoration: underline\">WordCamp <span style=\"color: red;text-decoration: underline\">Rajshahi<\/span><\/span> organizers will be taking nominations for exemplary citizens throughout the event and will recognize select participants after the conference on the website.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">If you see someone who is making an extra effort to ensure our community is welcoming, friendly, and encourages all participants to contribute to the fullest extent, we want to know. <span style=\"color: red;text-decoration: underline\">Email us at: rajshahi@wordcamp.org.<\/span><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-group has-global-padding is-layout-constrained wp-container-core-group-is-layout-991d01f5 wp-block-group-is-layout-constrained\">\n<h3 class=\"wp-block-heading\">3. Expected Behavior<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Be considerate, respectful, and collaborative.<\/li>\n\n\n\n<li>Refrain from demeaning, discriminatory or harassing behavior and speech.<\/li>\n\n\n\n<li>Be mindful of your surroundings and of your fellow participants. Alert conference organizers if you notice a dangerous situation or someone in distress.<\/li>\n\n\n\n<li>Participate in an authentic and active way. In doing so, you help to create <span style=\"color: red;text-decoration: underline\">WordCamp <span style=\"color: red;text-decoration: underline\">Rajshahi<\/span><\/span> and make it your own.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-group has-global-padding is-layout-constrained wp-container-core-group-is-layout-991d01f5 wp-block-group-is-layout-constrained\">\n<h3 class=\"wp-block-heading\">4. Unacceptable Behavior<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Unacceptable behaviors include: intimidating, harassing, abusive, discriminatory, derogatory or demeaning conduct by any attendees of <span style=\"color: red;text-decoration: underline\">WordCamp <span style=\"color: red;text-decoration: underline\">Rajshahi<\/span><\/span> and related events. All <span style=\"color: red;text-decoration: underline\">WordCamp <span style=\"color: red;text-decoration: underline\">Rajshahi<\/span><\/span> venues may be shared with members of the public; please be respectful to all patrons of these locations.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Harassment includes: offensive verbal comments related to gender, sexual orientation, race, religion, disability; inappropriate use of nudity and\/or sexual images in public spaces (including presentation slides); deliberate intimidation, stalking or following; harassing photography or recording; sustained disruption of talks or other events; inappropriate physical contact, and unwelcome sexual attention.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-group has-global-padding is-layout-constrained wp-container-core-group-is-layout-991d01f5 wp-block-group-is-layout-constrained\">\n<h3 class=\"wp-block-heading\">5. Consequences Of Unacceptable Behavior<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Unacceptable behavior will not be tolerated whether by other attendees, organizers, venue staff, sponsors, or other patrons of <span style=\"color: red;text-decoration: underline\">WordCamp <span style=\"color: red;text-decoration: underline\">Rajshahi<\/span><\/span> venues.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Anyone asked to stop unacceptable behavior is expected to comply immediately.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">If a participant engages in unacceptable behavior, the conference organizers may take any action they deem appropriate, up to and including expulsion from the conference without warning or refund.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-group has-global-padding is-layout-constrained wp-container-core-group-is-layout-991d01f5 wp-block-group-is-layout-constrained\">\n<h3 class=\"wp-block-heading\">6. What To Do If You Witness Or Are Subject To Unacceptable Behavior<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">If you are subject to unacceptable behavior, notice that someone else is being subject to unacceptable behavior, or have any other concerns, please notify a conference organizer as soon as possible.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The <span style=\"color: red;text-decoration: underline\">WordCamp <span style=\"color: red;text-decoration: underline\">Rajshahi<\/span><\/span> team will be available to help participants contact venue security or local law enforcement, to provide escorts, or to otherwise assist those experiencing unacceptable behavior to feel safe for the duration of the conference. <span style=\"color: red;text-decoration: underline\">Volunteers will be wearing Yellow Tshirts and Organizers will be wearing Red Tshirts.<\/span> Any volunteer can connect you with a conference organizer. You can also come to the special registration desk in the lobby and ask for the organizers.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-group has-global-padding is-layout-constrained wp-container-core-group-is-layout-991d01f5 wp-block-group-is-layout-constrained\">\n<h3 class=\"wp-block-heading\">7. Scope<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">We expect all conference participants (sponsors, volunteers, speakers, attendees, and other guests) to abide by this code of conduct at all conference venues and conference-related social events.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-group has-global-padding is-layout-constrained wp-container-core-group-is-layout-991d01f5 wp-block-group-is-layout-constrained\">\n<h3 class=\"wp-block-heading\">8. Contact Information<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><span style=\"color: red;text-decoration: underline\">Reach out to any volunteer or organizer at the event\u00a0or simply email us at:<\/span> rajshahi@wordcamp.org<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-group has-global-padding is-layout-constrained wp-container-core-group-is-layout-991d01f5 wp-block-group-is-layout-constrained\">\n<h3 class=\"wp-block-heading\">9. License And Attribution<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">This Code of Conduct is a direct swipe from the awesome work of Open Source Bridge, but with our event information substituted. The original is available at <a href=\"http:\/\/web.archive.org\/web\/20191206083557\/http:\/\/opensourcebridge.org\/about\/code-of-conduct\/\">Open Source Bridge 2018 [archived]<\/a> and is released under a <a href=\"http:\/\/creativecommons.org\/licenses\/by-sa\/3.0\/\">Creative Commons Attribution-ShareAlike<\/a> license.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-group has-global-padding is-layout-constrained wp-container-core-group-is-layout-991d01f5 wp-block-group-is-layout-constrained\">\n<h3 class=\"wp-block-heading\">Statement about Socials or Supplemental Events (where applicable)<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Social and supplemental events are intended to provide networking and additional educational opportunities, as well as an opportunity to unwind after a full WordCamp. They should also be places where attendees can feel safe and secure.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">We want you to enjoy yourself at these events, and we want you to do so safely. If you experience a Code of Conduct violation, see a violation, are concerned about the well-being, safety or behavior of another attendee, or have a general question (we understand that violations are not always obvious!) contact us immediately by notifying a WordCamp organizer or emailing <a href=\"mailto:report@wordcamp.org\">report@wordcamp.org<\/a>. For in-person events, if you need help or are unable to comfortably or safely remove yourself from a situation you do not want to be in, organizers will prioritize assisting you immediately and discretely. Some examples are: not feeling well; your transportation arrangements fall through; you are intoxicated, you are alone or with someone you do not trust, you are overwhelmed, you have experienced or witnessed a Code of Conduct violation. Please ask any nearby event volunteer or organizer to help you.<\/p>\n<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>1. Purpose WordCamp Rajshahi believes our community should be truly open for everyone. As such, we are committed to providing a friendly, safe and welcoming environment for all, regardless of gender, sexual orientation, disability, ethnicity, religion, age, caste, social class, preferred operating system, programming language, or text editor, among other identifying characteristics. This code of [&hellip;]<\/p>\n","protected":false},"author":15569738,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"{\"document\":\"AAC6Ap\/rgOcSytvk4QcCn+uA5xKK2+ThB5\/rgOcSitvk4Qef64DnEsrb5OEHAp\/rgOcSytvk4Qcgn+uA5xLK2+ThBxKr8KvKCMrb5OEHA+vwq8oI9QKK2+ThB+vwq8oIWsrb5OEHAKvwq8oIytvk4QcU6\/CrygjDAorb5OEHq\/CrygiK2+ThB6vwq8oIytvk4QcDq\/CrygjK2+ThBwOr8KvKCMrb5OEHA6vwq8oIytvk4QcDq\/CrygjK2+ThBwOr8KvKCMrb5OEHA6vwq8oIytvk4QcDq\/CrygiK2+ThB+vwq8oICcrb5OEHAOvwq8oIAIrb5OEHq\/CrygiK2+ThB6vwq8oIitvk4Qer8KvKCIrb5OEHq\/CrygiK2+ThB6vwq8oIitvk4Qer8KvKCIrb5OEHq\/CrygjK2+ThB5UE2guu1wLuA\/jTApICApTVAgDolwIcBhQaBAIIDKjyAsb0AYiGAgMADgMA\/L0DrL4D4uwBJoQBDAcAEiAQvkUGAgAa2qQCAQEIAkJIACQBAQgCQkgAsg0BAQgCQkgAjAQBAQgCQkgAhAUBAQgASAAQAQEIAkJIAIQBAQEIAkJIAKYGAQEIAkJIAIwKAQEIAkJIALoIAQEIAEgAEAEBCAJCSAA4AQEIAEgOAgECCgJMAKwBAQIKAkwAoAIBAgoCTACABQECCgJM3Am+EAEBCABIABABAQgCQkgAgAEBAQgCQkgAvBABAQgCQkgAvgwBAQgASAAQAQEIAkJIAKABAQEIAkJIAKwIAQEIAkJIAKoCAQEIAkJIAJgGAQEIAEgAEAEBCAJCSACYAgEBCAJCSACcBgEBCAJCSAC6FAEBCABIABABAQgCQkgAIAEBCAJCSACWBgEBCABIABABAQgCQkgAPAEBCAJCSACIBQEBCABIABABAQgCQkgAhAEBAQgCQkgAsA0BAQgASAAQAQEIAEgAEAEBCAJCSACSAgEBCAJCSACmBwEBCAJCSLhn0IwCSAQC7BcEAgAasNkBAQEIAkJIACQBAQgCQkgAsg0BAQgCQkgAjAQBAQgCQkj81AEEAgA6iNkBAQEIAkJIAIQBAQEIAkJIAKYGAQEIAkJIAIwKAQEIAkJIALoIAQEIAEjCjAK6kQLy8wEOEj4DABCYJAMAnN4B4AzI5AEEAgAuguQBAQEIAkJIADgBAQgASA4CAQIKAkwArAEBAgoCTACgAgECCgJMAIAFAQIKAkzcCb4QAQEIAEjm5AEEAgA2guQBAQEIAkJIAIABAQEIAkJIALwQAQEIAkJIAL4MAQEIAEju5AEEAgCWAarjAQEBCAJCSACgAQEBCAJCSACsCAEBCAJCSACqAgEBCAJCSACYBgEBCABI9uQBBAIAjgK64gEBAQgCQkgAmAIBAQgCQkgAnAYBAQgCQkgAuhQBAQgASP7kAQQCABa65AEBAQgCQkgAIAEBCAJCSACWBgEBCABIxuUBBAIAMqbkAQEBCAJCSAA8AQEIAkJIAIgFAQEIAEjO5QEEAgA6puQBAQEIAkJIAIQBAQEIAkJIALANAQEIAEgAEAEBCABI1uUBBAIAiAKg4wEBAQgCQkgAkgIBAQgCQkgApgcBAQgCQkjwoQOYvwPu5QGy5QHyqAGIsgHu5gIwvuoC7sUCML7JAv6uAjCOswLMkAIwnJQC7IgCMLyMAsqCAjCahgLA8QEwkPUB+tQBwv8BgBuGEoofnhO+HYYHlAaUD+KSAbz2AfazAYAmsBuyI6AMoguKFuz2ASAQiB4DAAoGCAQDAQoOAh4DAA4Clh8UAgQCBAMADAYCFAQDAQYCCAQmsgIDAIABiBwuAoABkCQuAoABgBouAoABnhowtAYuAoABsAouAoABuAQIBA4CCAIMAgYCBgIeCAoDAgYOAwAMFAIOtgEuAoABmhQuAoABhCwABgIBAgoCQkoAJgECCgJCSgC0DQECCgJCSgCOBAECCgJCSgCGBQECCgBKABIBAgoCQkoAhgEBAgoCQkoAqAYBAgoCQkoAjgoBAgoCuAWuAwLqCUoAiAoBAgoASgASAQIKAkJKADoBAgoAShACAQIKAkwArAEBAgoCTACgAgECCgJMAIAFAQIKAkzeCYARAQIKAEoAEgECCgJCSgCCAQECCgJCSgC+EAECCgJCSgCADQECCgBKABIBAgoCQkoAogEBAgoCQkoArggBAgoCQkoArAIBAgoCQkoAmgYBAgoASgASAQIKAkJKAJoCAQIKAkJKAJ4GAQIKAroNMOwOSgC6EwECCgBKABIBAgoCQkoAIgECCgJCSgCYBgECCgBKABIBAgoCQkoAPgECCgKoAb4BAwAOAwAi4ARKAL4EAQIKAEoAEgECCgJCSgCGAQECCgJCSgCyDQECCgBKABIBAgoASgASAQIKAkJKAJQCAQIKAkJKAKgHAQIKAkJKbrDXAu4DrgMBAALM1QKkPRwGFBoEAggMqPICxvQBiIYCAwAOAwAA8usBJoQBDAcAEiAQzN0BAIgeDhI+AwAQmCQDAOZEpkQAiB0wAJAlMACAGzAAgiMwALALMACyCjAAmhUwAJYgyvcBnKcDgQUF9Q0oAMEAxAHBAMQTwQCEAMQIIQCoASgBBwAoAicBBAAoACcAhwAoAicBBAAoACcAhwAoAicBBAAoACcAhwAoAicBBAAoACcAhwAoAicBKAAnAIcAKAInAQQAKAAnAIcAKAInAQQAKAAnAIcAKAInAQQAKAAnAIcAKAInAQQAKAAnAIcAKAInASgAJwCHACgCJwEEACgAJwCHACgCJwAoAScABwAoAycBBAAnAIcAKAMnAQQAJwCHACgDJwEEACcAhwAoAycBBAAnAIcAKAInASgAJwCHACgCJwEEACgAJwCHACgCJwEEACgAJwCHACgCJwEEACgAJwCHACgCJwEoACcAhwAoAicBBAAoACcAhwAoAicBBAAoACcAhwAoAicBBAAoACcAhwAoAicBBAAoACcAhwAoAicBKAAnAIcAKAInAQQAKAAnAIcAKAInAQQAKAAnAIcAKAInAQQAKAAnAIcAKAInASgAJwCHACgCJwEEACgAJwCHACgCJwEEACgAJwCHACgCJwEoACcAhwAoAicBBAAoACcAhwAoAicBBAAoACcAhwAoAicBKAAnAIcAKAInAQQAKAAnAIcAKAInAQQAKAAnAIcAKAInASgAJwCHACgCJwEoACcAhwAoAicBBAAoACcAhwAoAicBBAAoACcAhwAoAicBBAAoACcAKAAEAKgBKACoASgBBwAoAicBBAAoACcAhwAoAicBBAAoACcAhwAoAicBBAAoACcAhwAoAicBBAAoACcAqAEoAQcAKAInAQQAKAAnAIcAKAInAQQAKAAnAIcAKAInAQQAKAAnAIcAKAInAQQAKAAnAIcAKAInASgAJwDBAMQDwQLEA4QBqAEoAQcAKAInAQQAKAAnAIcAKAInACgBJwAHACgDJwEEACcAhwAoAycBBAAnAIcAKAMnAQQAJwCHACgDJwEEACcAhwAoAicBKAAnAKgBKAEHACgCJwEEACgAJwCHACgCJwEEACgAJwCHACgCJwEEACgAJwCHACgCJwEoACcAqAEoAQcAKAInAQQAKAAnAIcAKAInAQQAKAAnAIcAKAInAQQAKAAnAIcAKAInAQQAKAAnAIcAKAInASgAJwCoASgBBwAoAicBBAAoACcAhwAoAicBBAAoACcAhwAoAicBBAAoACcAhwAoAicBKAAnAKgBKAEHACgCJwEEACgAJwCHACgCJwEEACgAJwCHACgCJwEoACcAqAEoAQcAKAInAQQAKAAnAIcAKAInAQQAKAAnAIcAKAInASgAJwCoASgBBwAoAicBBAAoACcAhwAoAicBBAAoACcAhwAoAicBKAAnAIcAKAInASgAJwCoASgBBwAoAicBBAAoACcAhwAoAicBBAAoACcAhwAoAicBBAAoACcAKACoAkQAwQDEAcEAxAHBAMQBwQDEAcEAxAHBAMQBwQDEAcEAxAEoCMQIIQAoAicABAAnAAEAhAGBAIQBgQCEAIEAhACBAIQAgQCEAIEDhAGBAIQAgQCEAIEAhAGBAIQBgQCEAIEAhAGBAIQAgQCEAIEAhAKBAIQAgQCEAIEAhACBAIQAgQCEAIEAhACBAIQAgQCEAIEAhACBAIQAgQCEAIEAhACBAIQAgQCEAIEAhACBAIQAgQCEAIEAhACBAIQAgQCEAYEAhAKBAIQAgQCEAIEAhAGBAIQAgQCEAIEAhACBAIQAJwAoBCcAKAEnAAcAKAMnAQQAKAAnAIcAKAMnAQQAKAAnAIcAKAMnAQQAKAAnAIcAKAMnAQQAKAAnAIcAKAMnASgAJwCHACgDJwEEACgAJwCHACgDJwEEACgAJwCHACgDJwEEACgAJwCHACgDJwEEAIEAhAEoACcAhwAoAycBKAAnAIcAKAMnAQQAKAAnAIcAKAMnACgBJwAHACgDJwEEACcAhwAoAycBBAAnAIcAKAMnAQQAJwCHACgDJwEEACcAhwAoAycBKAAnAIcAKAMnAQQAKAAnAIcAKAMnAQQAKAAnAIcAKAMnAQQAKAAnAIcAKAMnASgAJwCHACgDJwEEACgAJwCHACgDJwEEACgAJwCHACgDJwEEACgAJwCHACgDJwEEACgAJwCHACgDJwEoACcAhwAoAycBBAAoACcAhwAoAycBBAAoACcAhwAoAycBBACBAIQAKAAnAIcAKAMnASgAJwCHACgDJwEEACgAJwCHACgDJwEEACgAJwCHACgDJwEoACcAhwAoAycBBAAoACcAhwAoAycBBACBAIQEgQCEACgAJwCHACgDJwEoACcAhwAoAycBBAAoACcAhwAoAycBBAAoACcAhwAoAycBKAAnAIcAKAMnASgAJwCHACgDJwEEACgAJwCHACgDJwEEACgAJwCHACgDJwEEACgAJ7i6AqawAnN0YXRldmVyc2lvbiBzdHlsZT0iY29sb3I6IHJlZDt0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSI+RW1haWwgdXMgYXQ6IHJhanNoYWhpQHdvcmRjYW1wLm9yZ0VpbHU6anNoYWhAd3JkY21wLmdZZWxsb3cgVHNoaXJ0cyBhbmQgT3JnYW5pemVycyB3aWxsIGJlIHdlYXJpbmcgUmVkIFRzaGlydHNZZWxsb3cgVHNoaXJ0cyBhbmQgT3JnYW5pemVycyB3aWxsIGJlIHdlYXJpbmcgUmVkIFRzaGlydHNSZWFjaCB1dCB0byBhbnkgdm9sdW50ZWUgb3Igb3IgYXQgdGhlIGV2ZW50wqBvciBpbXBseWVtYWlsIHVzIGF0OiByYWpzaGFoaUB3b3JkY2FtcC5vcmdSZW9ueXZvbHVuZXIgb3JhdMKgb3Igc2ltcGx5IGVtYWlsIHVzIGF0OiByYWpzaGFoaUB3b3JkY2FtcC5vcmdzdGF0ZXZlcnNpb250YWdOYW1lbGF5b3V0Y2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50MS4gUHVycG9zZWxldmVsaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnQ8c3BhbiBzdHlsZT0iY29sb3I6IHJlZDt0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSI+V29yZENhbXAgUmFqc2hhaGk8L3NwYW4+IGJlbGlldmVzIG91ciBjb21tdW5pdHkgc2hvdWxkIGJlIHRydWx5IG9wZW4gZm9yIGV2ZXJ5b25lLiBBcyBzdWNoLCB3ZSBhcmUgY29tbWl0dGVkIHRvIHByb3ZpZGluZyBhIGZyaWVuZGx5LCBzYWZlIGFuZCB3ZWxjb21pbmcgZW52aXJvbm1lbnQgZm9yIGFsbCwgcmVnYXJkbGVzcyBvZiBnZW5kZXIsIHNleHVhbCBvcmllbnRhdGlvbiwgZGlzYWJpbGl0eSwgZXRobmljaXR5LCByZWxpZ2lvbiwgYWdlLCBjYXN0ZSwgc29jaWFsIGNsYXNzLCBwcmVmZXJyZWQgb3BlcmF0aW5nIHN5c3RlbSwgcHJvZ3JhbW1pbmcgbGFuZ3VhZ2UsIG9yIHRleHQgZWRpdG9yLCBhbW9uZyBvdGhlciBpZGVudGlmeWluZyBjaGFyYWN0ZXJpc3RpY3MuZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50VGhpcyBjb2RlIG9mIGNvbmR1Y3Qgb3V0bGluZXMgb3VyIGV4cGVjdGF0aW9ucyBmb3IgcGFydGljaXBhbnQgYmVoYXZpb3IgYXMgd2VsbCBhcyB0aGUgY29uc2VxdWVuY2VzIGZvciB1bmFjY2VwdGFibGUgYmVoYXZpb3IuZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50V2UgaW52aXRlIGFsbCBzcG9uc29ycywgdm9sdW50ZWVycywgc3BlYWtlcnMsIGF0dGVuZGVlcywgYW5kIG90aGVyIHBhcnRpY2lwYW50cyB0byBoZWxwIHVzIHJlYWxpemUgYSBzYWZlIGFuZCBwb3NpdGl2ZSBjb25mZXJlbmNlIGV4cGVyaWVuY2UgZm9yIGV2ZXJ5b25lLmRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudGRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudDIuIE9wZW4gU291cmNlIENpdGl6ZW5zaGlwbGV2ZWxpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudEEgc3VwcGxlbWVudGFsIGdvYWwgb2YgdGhpcyBjb2RlIG9mIGNvbmR1Y3QgaXMgdG8gaW5jcmVhc2Ugb3BlbiBzb3VyY2UgY2l0aXplbnNoaXAgYnkgZW5jb3VyYWdpbmcgcGFydGljaXBhbnRzIHRvIHJlY29nbml6ZSBhbmQgc3RyZW5ndGhlbiB0aGUgcmVsYXRpb25zaGlwcyBiZXR3ZWVuIHdoYXQgd2UgZG8gYW5kIHRoZSBjb21tdW5pdHkgYXQgbGFyZ2UuZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50SW4gc2VydmljZSBvZiB0aGlzIGdvYWwsIDxzcGFuIHN0eWxlPSJjb2xvcjogcmVkO3RleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIj5Xb3JkQ2FtcCA8c3BhbiBzdHlsZT0iY29sb3I6IHJlZDt0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSI+UmFqc2hhaGk8L3NwYW4+PC9zcGFuPiBvcmdhbml6ZXJzIHdpbGwgYmUgdGFraW5nIG5vbWluYXRpb25zIGZvciBleGVtcGxhcnkgY2l0aXplbnMgdGhyb3VnaG91dCB0aGUgZXZlbnQgYW5kIHdpbGwgcmVjb2duaXplIHNlbGVjdCBwYXJ0aWNpcGFudHMgYWZ0ZXIgdGhlIGNvbmZlcmVuY2Ugb24gdGhlIHdlYnNpdGUuZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50SWYgeW91IHNlZSBzb21lb25lIHdobyBpcyBtYWtpbmcgYW4gZXh0cmEgZWZmb3J0IHRvIGVuc3VyZSBvdXIgY29tbXVuaXR5IGlzIHdlbGNvbWluZywgZnJpZW5kbHksIGFuZCBlbmNvdXJhZ2VzIGFsbCBwYXJ0aWNpcGFudHMgdG8gY29udHJpYnV0ZSB0byB0aGUgZnVsbGVzdCBleHRlbnQsIHdlIHdhbnQgdG8ga25vdy4gPHNwYW4gc3R5bGU9ImNvbG9yOiByZWQ7dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUiPkVtYWlsIHVzIGF0OiByYWpzaGFoaUB3b3JkY2FtcC5vcmcuPC9zcGFuPmRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudGRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudDMuIEV4cGVjdGVkIEJlaGF2aW9ybGV2ZWxpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzb3JkZXJlZHZhbHVlc2lubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkb3JpZ2luYWxDb250ZW50bmFtZWF0dHJpYnV0ZXNjb250ZW50QmUgY29uc2lkZXJhdGUsIHJlc3BlY3RmdWwsIGFuZCBjb2xsYWJvcmF0aXZlLmlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkb3JpZ2luYWxDb250ZW50bmFtZWF0dHJpYnV0ZXNjb250ZW50UmVmcmFpbiBmcm9tIGRlbWVhbmluZywgZGlzY3JpbWluYXRvcnkgb3IgaGFyYXNzaW5nIGJlaGF2aW9yIGFuZCBzcGVlY2guaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRvcmlnaW5hbENvbnRlbnRuYW1lYXR0cmlidXRlc2NvbnRlbnRCZSBtaW5kZnVsIG9mIHlvdXIgc3Vycm91bmRpbmdzIGFuZCBvZiB5b3VyIGZlbGxvdyBwYXJ0aWNpcGFudHMuIEFsZXJ0IGNvbmZlcmVuY2Ugb3JnYW5pemVycyBpZiB5b3Ugbm90aWNlIGEgZGFuZ2Vyb3VzIHNpdHVhdGlvbiBvciBzb21lb25lIGluIGRpc3RyZXNzLmlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkb3JpZ2luYWxDb250ZW50bmFtZWF0dHJpYnV0ZXNjb250ZW50UGFydGljaXBhdGUgaW4gYW4gYXV0aGVudGljIGFuZCBhY3RpdmUgd2F5LiBJbiBkb2luZyBzbywgeW91IGhlbHAgdG8gY3JlYXRlIDxzcGFuIHN0eWxlPSJjb2xvcjogcmVkO3RleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIj5Xb3JkQ2FtcCA8c3BhbiBzdHlsZT0iY29sb3I6IHJlZDt0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSI+UmFqc2hhaGk8L3NwYW4+PC9zcGFuPiBhbmQgbWFrZSBpdCB5b3VyIG93bi5pbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudGRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudDQuIFVuYWNjZXB0YWJsZSBCZWhhdmlvcmxldmVsaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRVbmFjY2VwdGFibGUgYmVoYXZpb3JzIGluY2x1ZGU6IGludGltaWRhdGluZywgaGFyYXNzaW5nLCBhYnVzaXZlLCBkaXNjcmltaW5hdG9yeSwgZGVyb2dhdG9yeSBvciBkZW1lYW5pbmcgY29uZHVjdCBieSBhbnkgYXR0ZW5kZWVzIG9mIDxzcGFuIHN0eWxlPSJjb2xvcjogcmVkO3RleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIj5Xb3JkQ2FtcCA8c3BhbiBzdHlsZT0iY29sb3I6IHJlZDt0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSI+UmFqc2hhaGk8L3NwYW4+PC9zcGFuPiBhbmQgcmVsYXRlZCBldmVudHMuIEFsbCA8c3BhbiBzdHlsZT0iY29sb3I6IHJlZDt0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSI+V29yZENhbXAgPHNwYW4gc3R5bGU9ImNvbG9yOiByZWQ7dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUiPlJhanNoYWhpPC9zcGFuPjwvc3Bhbj4gdmVudWVzIG1heSBiZSBzaGFyZWQgd2l0aCBtZW1iZXJzIG9mIHRoZSBwdWJsaWM7IHBsZWFzZSBiZSByZXNwZWN0ZnVsIHRvIGFsbCBwYXRyb25zIG9mIHRoZXNlIGxvY2F0aW9ucy5kcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRIYXJhc3NtZW50IGluY2x1ZGVzOiBvZmZlbnNpdmUgdmVyYmFsIGNvbW1lbnRzIHJlbGF0ZWQgdG8gZ2VuZGVyLCBzZXh1YWwgb3JpZW50YXRpb24sIHJhY2UsIHJlbGlnaW9uLCBkaXNhYmlsaXR5OyBpbmFwcHJvcHJpYXRlIHVzZSBvZiBudWRpdHkgYW5kL29yIHNleHVhbCBpbWFnZXMgaW4gcHVibGljIHNwYWNlcyAoaW5jbHVkaW5nIHByZXNlbnRhdGlvbiBzbGlkZXMpOyBkZWxpYmVyYXRlIGludGltaWRhdGlvbiwgc3RhbGtpbmcgb3IgZm9sbG93aW5nOyBoYXJhc3NpbmcgcGhvdG9ncmFwaHkgb3IgcmVjb3JkaW5nOyBzdXN0YWluZWQgZGlzcnVwdGlvbiBvZiB0YWxrcyBvciBvdGhlciBldmVudHM7IGluYXBwcm9wcmlhdGUgcGh5c2ljYWwgY29udGFjdCwgYW5kIHVud2VsY29tZSBzZXh1YWwgYXR0ZW50aW9uLmRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudGRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudDUuIENvbnNlcXVlbmNlcyBPZiBVbmFjY2VwdGFibGUgQmVoYXZpb3JsZXZlbGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50VW5hY2NlcHRhYmxlIGJlaGF2aW9yIHdpbGwgbm90IGJlIHRvbGVyYXRlZCB3aGV0aGVyIGJ5IG90aGVyIGF0dGVuZGVlcywgb3JnYW5pemVycywgdmVudWUgc3RhZmYsIHNwb25zb3JzLCBvciBvdGhlciBwYXRyb25zIG9mIDxzcGFuIHN0eWxlPSJjb2xvcjogcmVkO3RleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIj5Xb3JkQ2FtcCA8c3BhbiBzdHlsZT0iY29sb3I6IHJlZDt0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSI+UmFqc2hhaGk8L3NwYW4+PC9zcGFuPiB2ZW51ZXMuZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50QW55b25lIGFza2VkIHRvIHN0b3AgdW5hY2NlcHRhYmxlIGJlaGF2aW9yIGlzIGV4cGVjdGVkIHRvIGNvbXBseSBpbW1lZGlhdGVseS5kcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRJZiBhIHBhcnRpY2lwYW50IGVuZ2FnZXMgaW4gdW5hY2NlcHRhYmxlIGJlaGF2aW9yLCB0aGUgY29uZmVyZW5jZSBvcmdhbml6ZXJzIG1heSB0YWtlIGFueSBhY3Rpb24gdGhleSBkZWVtIGFwcHJvcHJpYXRlLCB1cCB0byBhbmQgaW5jbHVkaW5nIGV4cHVsc2lvbiBmcm9tIHRoZSBjb25mZXJlbmNlIHdpdGhvdXQgd2FybmluZyBvciByZWZ1bmQuZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50ZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50Ni4gV2hhdCBUbyBEbyBJZiBZb3UgV2l0bmVzcyBPciBBcmUgU3ViamVjdCBUbyBVbmFjY2VwdGFibGUgQmVoYXZpb3JsZXZlbGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50SWYgeW91IGFyZSBzdWJqZWN0IHRvIHVuYWNjZXB0YWJsZSBiZWhhdmlvciwgbm90aWNlIHRoYXQgc29tZW9uZSBlbHNlIGlzIGJlaW5nIHN1YmplY3QgdG8gdW5hY2NlcHRhYmxlIGJlaGF2aW9yLCBvciBoYXZlIGFueSBvdGhlciBjb25jZXJucywgcGxlYXNlIG5vdGlmeSBhIGNvbmZlcmVuY2Ugb3JnYW5pemVyIGFzIHNvb24gYXMgcG9zc2libGUuZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50VGhlIDxzcGFuIHN0eWxlPSJjb2xvcjogcmVkO3RleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIj5Xb3JkQ2FtcCA8c3BhbiBzdHlsZT0iY29sb3I6IHJlZDt0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSI+UmFqc2hhaGk8L3NwYW4+PC9zcGFuPiB0ZWFtIHdpbGwgYmUgYXZhaWxhYmxlIHRvIGhlbHAgcGFydGljaXBhbnRzIGNvbnRhY3QgdmVudWUgc2VjdXJpdHkgb3IgbG9jYWwgbGF3IGVuZm9yY2VtZW50LCB0byBwcm92aWRlIGVzY29ydHMsIG9yIHRvIG90aGVyd2lzZSBhc3Npc3QgdGhvc2UgZXhwZXJpZW5jaW5nIHVuYWNjZXB0YWJsZSBiZWhhdmlvciB0byBmZWVsIHNhZmUgZm9yIHRoZSBkdXJhdGlvbiBvZiB0aGUgY29uZmVyZW5jZS4gPHNwYW4gc3R5bGU9ImNvbG9yOiByZWQ7dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUiPlZvbHVudGVlcnMgd2lsbCBiZSB3ZWFyaW5nIFllbGxvdyBUc2hpcnRzIGFuZCBPcmdhbml6ZXJzIHdpbGwgYmUgd2VhcmluZyBSZWQgVHNoaXJ0cy48L3NwYW4+IEFueSB2b2x1bnRlZXIgY2FuIGNvbm5lY3QgeW91IHdpdGggYSBjb25mZXJlbmNlIG9yZ2FuaXplci4gWW91IGNhbiBhbHNvIGNvbWUgdG8gdGhlIHNwZWNpYWwgcmVnaXN0cmF0aW9uIGRlc2sgaW4gdGhlIGxvYmJ5IGFuZCBhc2sgZm9yIHRoZSBvcmdhbml6ZXJzLmRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudGRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudDcuIFNjb3BlbGV2ZWxpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudFdlIGV4cGVjdCBhbGwgY29uZmVyZW5jZSBwYXJ0aWNpcGFudHMgKHNwb25zb3JzLCB2b2x1bnRlZXJzLCBzcGVha2VycywgYXR0ZW5kZWVzLCBhbmQgb3RoZXIgZ3Vlc3RzKSB0byBhYmlkZSBieSB0aGlzIGNvZGUgb2YgY29uZHVjdCBhdCBhbGwgY29uZmVyZW5jZSB2ZW51ZXMgYW5kIGNvbmZlcmVuY2UtcmVsYXRlZCBzb2NpYWwgZXZlbnRzLmRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudGRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudDguIENvbnRhY3QgSW5mb3JtYXRpb25sZXZlbGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50PHNwYW4gc3R5bGU9ImNvbG9yOiByZWQ7dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUiPlJlYWNoIG91dCB0byBhbnkgdm9sdW50ZWVyIG9yIG9yZ2FuaXplciBhdCB0aGUgZXZlbnTCoG9yIHNpbXBseSBlbWFpbCB1cyBhdDo8L3NwYW4+IHJhanNoYWhpQHdvcmRjYW1wLm9yZ2Ryb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudGRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudDkuIExpY2Vuc2UgQW5kIEF0dHJpYnV0aW9ubGV2ZWxpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudFRoaXMgQ29kZSBvZiBDb25kdWN0IGlzIGEgZGlyZWN0IHN3aXBlIGZyb20gdGhlIGF3ZXNvbWUgd29yayBvZiBPcGVuIFNvdXJjZSBCcmlkZ2UsIGJ1dCB3aXRoIG91ciBldmVudCBpbmZvcm1hdGlvbiBzdWJzdGl0dXRlZC4gVGhlIG9yaWdpbmFsIGlzIGF2YWlsYWJsZSBhdCA8YSBocmVmPSJodHRwOi8vd2ViLmFyY2hpdmUub3JnL3dlYi8yMDE5MTIwNjA4MzU1Ny9odHRwOi8vb3BlbnNvdXJjZWJyaWRnZS5vcmcvYWJvdXQvY29kZS1vZi1jb25kdWN0LyI+T3BlbiBTb3VyY2UgQnJpZGdlIDIwMTggW2FyY2hpdmVkXTwvYT4gYW5kIGlzIHJlbGVhc2VkIHVuZGVyIGEgPGEgaHJlZj0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbGljZW5zZXMvYnktc2EvMy4wLyI+Q3JlYXRpdmUgQ29tbW9ucyBBdHRyaWJ1dGlvbi1TaGFyZUFsaWtlPC9hPiBsaWNlbnNlLmRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudGRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudGRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudFN0YXRlbWVudCBhYm91dCBTb2NpYWxzIG9yIFN1cHBsZW1lbnRhbCBFdmVudHMgKHdoZXJlIGFwcGxpY2FibGUpbGV2ZWxpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudFNvY2lhbCBhbmQgc3VwcGxlbWVudGFsIGV2ZW50cyBhcmUgaW50ZW5kZWQgdG8gcHJvdmlkZSBuZXR3b3JraW5nIGFuZCBhZGRpdGlvbmFsIGVkdWNhdGlvbmFsIG9wcG9ydHVuaXRpZXMsIGFzIHdlbGwgYXMgYW4gb3Bwb3J0dW5pdHkgdG8gdW53aW5kIGFmdGVyIGEgZnVsbCBXb3JkQ2FtcC4gVGhleSBzaG91bGQgYWxzbyBiZSBwbGFjZXMgd2hlcmUgYXR0ZW5kZWVzIGNhbiBmZWVsIHNhZmUgYW5kIHNlY3VyZS5kcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRXZSB3YW50IHlvdSB0byBlbmpveSB5b3Vyc2VsZiBhdCB0aGVzZSBldmVudHMsIGFuZCB3ZSB3YW50IHlvdSB0byBkbyBzbyBzYWZlbHkuIElmIHlvdSBleHBlcmllbmNlIGEgQ29kZSBvZiBDb25kdWN0IHZpb2xhdGlvbiwgc2VlIGEgdmlvbGF0aW9uLCBhcmUgY29uY2VybmVkIGFib3V0IHRoZSB3ZWxsLWJlaW5nLCBzYWZldHkgb3IgYmVoYXZpb3Igb2YgYW5vdGhlciBhdHRlbmRlZSwgb3IgaGF2ZSBhIGdlbmVyYWwgcXVlc3Rpb24gKHdlIHVuZGVyc3RhbmQgdGhhdCB2aW9sYXRpb25zIGFyZSBub3QgYWx3YXlzIG9idmlvdXMhKSBjb250YWN0IHVzIGltbWVkaWF0ZWx5IGJ5IG5vdGlmeWluZyBhIFdvcmRDYW1wIG9yZ2FuaXplciBvciBlbWFpbGluZyA8YSBocmVmPSJtYWlsdG86cmVwb3J0QHdvcmRjYW1wLm9yZyI+cmVwb3J0QHdvcmRjYW1wLm9yZzwvYT4uIEZvciBpbi1wZXJzb24gZXZlbnRzLCBpZiB5b3UgbmVlZCBoZWxwIG9yIGFyZSB1bmFibGUgdG8gY29tZm9ydGFibHkgb3Igc2FmZWx5IHJlbW92ZSB5b3Vyc2VsZiBmcm9tIGEgc2l0dWF0aW9uIHlvdSBkbyBub3Qgd2FudCB0byBiZSBpbiwgb3JnYW5pemVycyB3aWxsIHByaW9yaXRpemUgYXNzaXN0aW5nIHlvdSBpbW1lZGlhdGVseSBhbmQgZGlzY3JldGVseS4gU29tZSBleGFtcGxlcyBhcmU6IG5vdCBmZWVsaW5nIHdlbGw7IHlvdXIgdHJhbnNwb3J0YXRpb24gYXJyYW5nZW1lbnRzIGZhbGwgdGhyb3VnaDsgeW91IGFyZSBpbnRveGljYXRlZCwgeW91IGFyZSBhbG9uZSBvciB3aXRoIHNvbWVvbmUgeW91IGRvIG5vdCB0cnVzdCwgeW91IGFyZSBvdmVyd2hlbG1lZCwgeW91IGhhdmUgZXhwZXJpZW5jZWQgb3Igd2l0bmVzc2VkIGEgQ29kZSBvZiBDb25kdWN0IHZpb2xhdGlvbi4gUGxlYXNlIGFzayBhbnkgbmVhcmJ5IGV2ZW50IHZvbHVudGVlciBvciBvcmdhbml6ZXIgdG8gaGVscCB5b3UuZHJvcENhcGlubmVyQmxvY2tzc3R5bGUvc2FwY2VwaGVpZ2h0dGFnTmFtZWxheW91dGNsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudDEuIFB1cnBvc2VsZXZlbGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50PHNwYW4gc3R5bGU9ImNvbG9yOiByZWQ7dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUiPldvcmRDYW1wIFJhanNoYWhpPC9zcGFuPiBiZWxpZXZlcyBvdXIgY29tbXVuaXR5IHNob3VsZCBiZSB0cnVseSBvcGVuIGZvciBldmVyeW9uZS4gQXMgc3VjaCwgd2UgYXJlIGNvbW1pdHRlZCB0byBwcm92aWRpbmcgYSBmcmllbmRseSwgc2FmZSBhbmQgd2VsY29taW5nIGVudmlyb25tZW50IGZvciBhbGwsIHJlZ2FyZGxlc3Mgb2YgZ2VuZGVyLCBzZXh1YWwgb3JpZW50YXRpb24sIGRpc2FiaWxpdHksIGV0aG5pY2l0eSwgcmVsaWdpb24sIGFnZSwgY2FzdGUsIHNvY2lhbCBjbGFzcywgcHJlZmVycmVkIG9wZXJhdGluZyBzeXN0ZW0sIHByb2dyYW1taW5nIGxhbmd1YWdlLCBvciB0ZXh0IGVkaXRvciwgYW1vbmcgb3RoZXIgaWRlbnRpZnlpbmcgY2hhcmFjdGVyaXN0aWNzLmRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudFRoaXMgY29kZSBvZiBjb25kdWN0IG91dGxpbmVzIG91ciBleHBlY3RhdGlvbnMgZm9yIHBhcnRpY2lwYW50IGJlaGF2aW9yIGFzIHdlbGwgYXMgdGhlIGNvbnNlcXVlbmNlcyBmb3IgdW5hY2NlcHRhYmxlIGJlaGF2aW9yLmRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudFdlIGludml0ZSBhbGwgc3BvbnNvcnMsIHZvbHVudGVlcnMsIHNwZWFrZXJzLCBhdHRlbmRlZXMsIGFuZCBvdGhlciBwYXJ0aWNpcGFudHMgdG8gaGVscCB1cyByZWFsaXplIGEgc2FmZSBhbmQgcG9zaXRpdmUgY29uZmVyZW5jZSBleHBlcmllbmNlIGZvciBldmVyeW9uZS5kcm9wQ2FwaW5uZXJCbG9ja3N0YWdOYW1lbGF5b3V0Y2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50Mi4gT3BlbiBTb3VyY2UgQ2l0aXplbnNoaXBsZXZlbGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50QSBzdXBwbGVtZW50YWwgZ29hbCBvZiB0aGlzIGNvZGUgb2YgY29uZHVjdCBpcyB0byBpbmNyZWFzZSBvcGVuIHNvdXJjZSBjaXRpemVuc2hpcCBieSBlbmNvdXJhZ2luZyBwYXJ0aWNpcGFudHMgdG8gcmVjb2duaXplIGFuZCBzdHJlbmd0aGVuIHRoZSByZWxhdGlvbnNoaXBzIGJldHdlZW4gd2hhdCB3ZSBkbyBhbmQgdGhlIGNvbW11bml0eSBhdCBsYXJnZS5kcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRJbiBzZXJ2aWNlIG9mIHRoaXMgZ29hbCwgPHNwYW4gc3R5bGU9ImNvbG9yOiByZWQ7dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUiPldvcmRDYW1wIDxzcGFuIHN0eWxlPSJjb2xvcjogcmVkO3RleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIj5SYWpzaGFoaTwvc3Bhbj48L3NwYW4+IG9yZ2FuaXplcnMgd2lsbCBiZSB0YWtpbmcgbm9taW5hdGlvbnMgZm9yIGV4ZW1wbGFyeSBjaXRpemVucyB0aHJvdWdob3V0IHRoZSBldmVudCBhbmQgd2lsbCByZWNvZ25pemUgc2VsZWN0IHBhcnRpY2lwYW50cyBhZnRlciB0aGUgY29uZmVyZW5jZSBvbiB0aGUgd2Vic2l0ZS5kcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRJZiB5b3Ugc2VlIHNvbWVvbmUgd2hvIGlzIG1ha2luZyBhbiBleHRyYSBlZmZvcnQgdG8gZW5zdXJlIG91ciBjb21tdW5pdHkgaXMgd2VsY29taW5nLCBmcmllbmRseSwgYW5kIGVuY291cmFnZXMgYWxsIHBhcnRpY2lwYW50cyB0byBjb250cmlidXRlIHRvIHRoZSBmdWxsZXN0IGV4dGVudCwgd2Ugd2FudCB0byBrbm93LiA8c3BhbiBzdHlsZT0iY29sb3I6IHJlZDt0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSI+RW1haWwgdXMgYXQ6IHJhanNoYWhpQHdvcmRjYW1wLm9yZy48L3NwYW4+ZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50ZHJvcENhcGlubmVyQmxvY2tzPGRpdiBjbGFzcz0id3AtYmxvY2stZ3JvdXAiPjwhLS0gd3A6PC9kaXY+L291ZGl2IGNsYXNzPSJ3cC1ibG9jay1ncm91cCI+PDwvZGl2PjwhLS0gL3dwOmdyb3VwIC0tPgo8L2Rpdj4KPCEtLSAvd3A6Z3JvdXAgLS0+dGFnTmFtZWxheW91dGNsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudDMuIEV4cGVjdGVkIEJlaGF2aW9ybGV2ZWxpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzb3JkZXJlZHZhbHVlc2lubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkb3JpZ2luYWxDb250ZW50bmFtZWF0dHJpYnV0ZXNjb250ZW50QmUgY29uc2lkZXJhdGUsIHJlc3BlY3RmdWwsIGFuZCBjb2xsYWJvcmF0aXZlLmlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkb3JpZ2luYWxDb250ZW50bmFtZWF0dHJpYnV0ZXNjb250ZW50UmVmcmFpbiBmcm9tIGRlbWVhbmluZywgZGlzY3JpbWluYXRvcnkgb3IgaGFyYXNzaW5nIGJlaGF2aW9yIGFuZCBzcGVlY2guaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRvcmlnaW5hbENvbnRlbnRuYW1lYXR0cmlidXRlc2NvbnRlbnRCZSBtaW5kZnVsIG9mIHlvdXIgc3Vycm91bmRpbmdzIGFuZCBvZiB5b3VyIGZlbGxvdyBwYXJ0aWNpcGFudHMuIEFsZXJ0IGNvbmZlcmVuY2Ugb3JnYW5pemVycyBpZiB5b3Ugbm90aWNlIGEgZGFuZ2Vyb3VzIHNpdHVhdGlvbiBvciBzb21lb25lIGluIGRpc3RyZXNzLmlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkb3JpZ2luYWxDb250ZW50bmFtZWF0dHJpYnV0ZXNjb250ZW50UGFydGljaXBhdGUgaW4gYW4gYXV0aGVudGljIGFuZCBhY3RpdmUgd2F5LiBJbiBkb2luZyBzbywgeW91IGhlbHAgdG8gY3JlYXRlIDxzcGFuIHN0eWxlPSJjb2xvcjogcmVkO3RleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIj5Xb3JkQ2FtcCA8c3BhbiBzdHlsZT0iY29sb3I6IHJlZDt0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSI+UmFqc2hhaGk8L3NwYW4+PC9zcGFuPiBhbmQgbWFrZSBpdCB5b3VyIG93bi5pbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudGRyb3BDYXBpbm5lckJsb2Nrc3RhZ05hbWVsYXlvdXRjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnQ0LiBVbmFjY2VwdGFibGUgQmVoYXZpb3JsZXZlbGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50VW5hY2NlcHRhYmxlIGJlaGF2aW9ycyBpbmNsdWRlOiBpbnRpbWlkYXRpbmcsIGhhcmFzc2luZywgYWJ1c2l2ZSwgZGlzY3JpbWluYXRvcnksIGRlcm9nYXRvcnkgb3IgZGVtZWFuaW5nIGNvbmR1Y3QgYnkgYW55IGF0dGVuZGVlcyBvZiA8c3BhbiBzdHlsZT0iY29sb3I6IHJlZDt0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSI+V29yZENhbXAgPHNwYW4gc3R5bGU9ImNvbG9yOiByZWQ7dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUiPlJhanNoYWhpPC9zcGFuPjwvc3Bhbj4gYW5kIHJlbGF0ZWQgZXZlbnRzLiBBbGwgPHNwYW4gc3R5bGU9ImNvbG9yOiByZWQ7dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUiPldvcmRDYW1wIDxzcGFuIHN0eWxlPSJjb2xvcjogcmVkO3RleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIj5SYWpzaGFoaTwvc3Bhbj48L3NwYW4+IHZlbnVlcyBtYXkgYmUgc2hhcmVkIHdpdGggbWVtYmVycyBvZiB0aGUgcHVibGljOyBwbGVhc2UgYmUgcmVzcGVjdGZ1bCB0byBhbGwgcGF0cm9ucyBvZiB0aGVzZSBsb2NhdGlvbnMuZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50SGFyYXNzbWVudCBpbmNsdWRlczogb2ZmZW5zaXZlIHZlcmJhbCBjb21tZW50cyByZWxhdGVkIHRvIGdlbmRlciwgc2V4dWFsIG9yaWVudGF0aW9uLCByYWNlLCByZWxpZ2lvbiwgZGlzYWJpbGl0eTsgaW5hcHByb3ByaWF0ZSB1c2Ugb2YgbnVkaXR5IGFuZC9vciBzZXh1YWwgaW1hZ2VzIGluIHB1YmxpYyBzcGFjZXMgKGluY2x1ZGluZyBwcmVzZW50YXRpb24gc2xpZGVzKTsgZGVsaWJlcmF0ZSBpbnRpbWlkYXRpb24sIHN0YWxraW5nIG9yIGZvbGxvd2luZzsgaGFyYXNzaW5nIHBob3RvZ3JhcGh5IG9yIHJlY29yZGluZzsgc3VzdGFpbmVkIGRpc3J1cHRpb24gb2YgdGFsa3Mgb3Igb3RoZXIgZXZlbnRzOyBpbmFwcHJvcHJpYXRlIHBoeXNpY2FsIGNvbnRhY3QsIGFuZCB1bndlbGNvbWUgc2V4dWFsIGF0dGVudGlvbi5kcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRkcm9wQ2FwaW5uZXJCbG9ja3N0YWdOYW1lbGF5b3V0Y2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50NS4gQ29uc2VxdWVuY2VzIE9mIFVuYWNjZXB0YWJsZSBCZWhhdmlvcmxldmVsaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRVbmFjY2VwdGFibGUgYmVoYXZpb3Igd2lsbCBub3QgYmUgdG9sZXJhdGVkIHdoZXRoZXIgYnkgb3RoZXIgYXR0ZW5kZWVzLCBvcmdhbml6ZXJzLCB2ZW51ZSBzdGFmZiwgc3BvbnNvcnMsIG9yIG90aGVyIHBhdHJvbnMgb2YgPHNwYW4gc3R5bGU9ImNvbG9yOiByZWQ7dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUiPldvcmRDYW1wIDxzcGFuIHN0eWxlPSJjb2xvcjogcmVkO3RleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIj5SYWpzaGFoaTwvc3Bhbj48L3NwYW4+IHZlbnVlcy5kcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRBbnlvbmUgYXNrZWQgdG8gc3RvcCB1bmFjY2VwdGFibGUgYmVoYXZpb3IgaXMgZXhwZWN0ZWQgdG8gY29tcGx5IGltbWVkaWF0ZWx5LmRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudElmIGEgcGFydGljaXBhbnQgZW5nYWdlcyBpbiB1bmFjY2VwdGFibGUgYmVoYXZpb3IsIHRoZSBjb25mZXJlbmNlIG9yZ2FuaXplcnMgbWF5IHRha2UgYW55IGFjdGlvbiB0aGV5IGRlZW0gYXBwcm9wcmlhdGUsIHVwIHRvIGFuZCBpbmNsdWRpbmcgZXhwdWxzaW9uIGZyb20gdGhlIGNvbmZlcmVuY2Ugd2l0aG91dCB3YXJuaW5nIG9yIHJlZnVuZC5kcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRkcm9wQ2FwaW5uZXJCbG9ja3N0YWdOYW1lbGF5b3V0Y2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50Ni4gV2hhdCBUbyBEbyBJZiBZb3UgV2l0bmVzcyBPciBBcmUgU3ViamVjdCBUbyBVbmFjY2VwdGFibGUgQmVoYXZpb3JsZXZlbGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50SWYgeW91IGFyZSBzdWJqZWN0IHRvIHVuYWNjZXB0YWJsZSBiZWhhdmlvciwgbm90aWNlIHRoYXQgc29tZW9uZSBlbHNlIGlzIGJlaW5nIHN1YmplY3QgdG8gdW5hY2NlcHRhYmxlIGJlaGF2aW9yLCBvciBoYXZlIGFueSBvdGhlciBjb25jZXJucywgcGxlYXNlIG5vdGlmeSBhIGNvbmZlcmVuY2Ugb3JnYW5pemVyIGFzIHNvb24gYXMgcG9zc2libGUuZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50VGhlIDxzcGFuIHN0eWxlPSJjb2xvcjogcmVkO3RleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIj5Xb3JkQ2FtcCA8c3BhbiBzdHlsZT0iY29sb3I6IHJlZDt0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSI+UmFqc2hhaGk8L3NwYW4+PC9zcGFuPiB0ZWFtIHdpbGwgYmUgYXZhaWxhYmxlIHRvIGhlbHAgcGFydGljaXBhbnRzIGNvbnRhY3QgdmVudWUgc2VjdXJpdHkgb3IgbG9jYWwgbGF3IGVuZm9yY2VtZW50LCB0byBwcm92aWRlIGVzY29ydHMsIG9yIHRvIG90aGVyd2lzZSBhc3Npc3QgdGhvc2UgZXhwZXJpZW5jaW5nIHVuYWNjZXB0YWJsZSBiZWhhdmlvciB0byBmZWVsIHNhZmUgZm9yIHRoZSBkdXJhdGlvbiBvZiB0aGUgY29uZmVyZW5jZS4gPHNwYW4gc3R5bGU9ImNvbG9yOiByZWQ7dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUiPlZvbHVudGVlcnMgd2lsbCBiZSB3ZWFyaW5nIFllbGxvdyBUc2hpcnRzIGFuZCBPcmdhbml6ZXJzIHdpbGwgYmUgd2VhcmluZyBSZWQgVHNoaXJ0cy48L3NwYW4+IEFueSB2b2x1bnRlZXIgY2FuIGNvbm5lY3QgeW91IHdpdGggYSBjb25mZXJlbmNlIG9yZ2FuaXplci4gWW91IGNhbiBhbHNvIGNvbWUgdG8gdGhlIHNwZWNpYWwgcmVnaXN0cmF0aW9uIGRlc2sgaW4gdGhlIGxvYmJ5IGFuZCBhc2sgZm9yIHRoZSBvcmdhbml6ZXJzLmRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudGRyb3BDYXBpbm5lckJsb2Nrc3RhZ05hbWVsYXlvdXRjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnQ3LiBTY29wZWxldmVsaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRXZSBleHBlY3QgYWxsIGNvbmZlcmVuY2UgcGFydGljaXBhbnRzIChzcG9uc29ycywgdm9sdW50ZWVycywgc3BlYWtlcnMsIGF0dGVuZGVlcywgYW5kIG90aGVyIGd1ZXN0cykgdG8gYWJpZGUgYnkgdGhpcyBjb2RlIG9mIGNvbmR1Y3QgYXQgYWxsIGNvbmZlcmVuY2UgdmVudWVzIGFuZCBjb25mZXJlbmNlLXJlbGF0ZWQgc29jaWFsIGV2ZW50cy5kcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRkcm9wQ2FwaW5uZXJCbG9ja3N0YWdOYW1lbGF5b3V0Y2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50OC4gQ29udGFjdCBJbmZvcm1hdGlvbmxldmVsaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnQ8c3BhbiBzdHlsZT0iY29sb3I6IHJlZDt0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSI+UmVhY2ggb3V0IHRvIGFueSB2b2x1bnRlZXIgb3Igb3JnYW5pemVyIGF0IHRoZSBldmVudMKgb3Igc2ltcGx5IGVtYWlsIHVzIGF0Ojwvc3Bhbj4gcmFqc2hhaGlAd29yZGNhbXAub3JnZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50ZHJvcENhcGlubmVyQmxvY2tzdGFnTmFtZWxheW91dGNsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudDkuIExpY2Vuc2UgQW5kIEF0dHJpYnV0aW9ubGV2ZWxpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudFRoaXMgQ29kZSBvZiBDb25kdWN0IGlzIGEgZGlyZWN0IHN3aXBlIGZyb20gdGhlIGF3ZXNvbWUgd29yayBvZiBPcGVuIFNvdXJjZSBCcmlkZ2UsIGJ1dCB3aXRoIG91ciBldmVudCBpbmZvcm1hdGlvbiBzdWJzdGl0dXRlZC4gVGhlIG9yaWdpbmFsIGlzIGF2YWlsYWJsZSBhdCA8YSBocmVmPSJodHRwOi8vd2ViLmFyY2hpdmUub3JnL3dlYi8yMDE5MTIwNjA4MzU1Ny9odHRwOi8vb3BlbnNvdXJjZWJyaWRnZS5vcmcvYWJvdXQvY29kZS1vZi1jb25kdWN0LyI+T3BlbiBTb3VyY2UgQnJpZGdlIDIwMTggW2FyY2hpdmVkXTwvYT4gYW5kIGlzIHJlbGVhc2VkIHVuZGVyIGEgPGEgaHJlZj0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbGljZW5zZXMvYnktc2EvMy4wLyI+Q3JlYXRpdmUgQ29tbW9ucyBBdHRyaWJ1dGlvbi1TaGFyZUFsaWtlPC9hPiBsaWNlbnNlLmRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudGRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzY29udGVudGRyb3BDYXBpbm5lckJsb2Nrc3RhZ05hbWVsYXlvdXRjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRTdGF0ZW1lbnQgYWJvdXQgU29jaWFscyBvciBTdXBwbGVtZW50YWwgRXZlbnRzICh3aGVyZSBhcHBsaWNhYmxlKWxldmVsaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2NvbnRlbnRTb2NpYWwgYW5kIHN1cHBsZW1lbnRhbCBldmVudHMgYXJlIGludGVuZGVkIHRvIHByb3ZpZGUgbmV0d29ya2luZyBhbmQgYWRkaXRpb25hbCBlZHVjYXRpb25hbCBvcHBvcnR1bml0aWVzLCBhcyB3ZWxsIGFzIGFuIG9wcG9ydHVuaXR5IHRvIHVud2luZCBhZnRlciBhIGZ1bGwgV29yZENhbXAuIFRoZXkgc2hvdWxkIGFsc28gYmUgcGxhY2VzIHdoZXJlIGF0dGVuZGVlcyBjYW4gZmVlbCBzYWZlIGFuZCBzZWN1cmUuZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50V2Ugd2FudCB5b3UgdG8gZW5qb3kgeW91cnNlbGYgYXQgdGhlc2UgZXZlbnRzLCBhbmQgd2Ugd2FudCB5b3UgdG8gZG8gc28gc2FmZWx5LiBJZiB5b3UgZXhwZXJpZW5jZSBhIENvZGUgb2YgQ29uZHVjdCB2aW9sYXRpb24sIHNlZSBhIHZpb2xhdGlvbiwgYXJlIGNvbmNlcm5lZCBhYm91dCB0aGUgd2VsbC1iZWluZywgc2FmZXR5IG9yIGJlaGF2aW9yIG9mIGFub3RoZXIgYXR0ZW5kZWUsIG9yIGhhdmUgYSBnZW5lcmFsIHF1ZXN0aW9uICh3ZSB1bmRlcnN0YW5kIHRoYXQgdmlvbGF0aW9ucyBhcmUgbm90IGFsd2F5cyBvYnZpb3VzISkgY29udGFjdCB1cyBpbW1lZGlhdGVseSBieSBub3RpZnlpbmcgYSBXb3JkQ2FtcCBvcmdhbml6ZXIgb3IgZW1haWxpbmcgPGEgaHJlZj0ibWFpbHRvOnJlcG9ydEB3b3JkY2FtcC5vcmciPnJlcG9ydEB3b3JkY2FtcC5vcmc8L2E+LiBGb3IgaW4tcGVyc29uIGV2ZW50cywgaWYgeW91IG5lZWQgaGVscCBvciBhcmUgdW5hYmxlIHRvIGNvbWZvcnRhYmx5IG9yIHNhZmVseSByZW1vdmUgeW91cnNlbGYgZnJvbSBhIHNpdHVhdGlvbiB5b3UgZG8gbm90IHdhbnQgdG8gYmUgaW4sIG9yZ2FuaXplcnMgd2lsbCBwcmlvcml0aXplIGFzc2lzdGluZyB5b3UgaW1tZWRpYXRlbHkgYW5kIGRpc2NyZXRlbHkuIFNvbWUgZXhhbXBsZXMgYXJlOiBub3QgZmVlbGluZyB3ZWxsOyB5b3VyIHRyYW5zcG9ydGF0aW9uIGFycmFuZ2VtZW50cyBmYWxsIHRocm91Z2g7IHlvdSBhcmUgaW50b3hpY2F0ZWQsIHlvdSBhcmUgYWxvbmUgb3Igd2l0aCBzb21lb25lIHlvdSBkbyBub3QgdHJ1c3QsIHlvdSBhcmUgb3ZlcndoZWxtZWQsIHlvdSBoYXZlIGV4cGVyaWVuY2VkIG9yIHdpdG5lc3NlZCBhIENvZGUgb2YgQ29uZHVjdCB2aW9sYXRpb24uIFBsZWFzZSBhc2sgYW55IG5lYXJieSBldmVudCB2b2x1bnRlZXIgb3Igb3JnYW5pemVyIHRvIGhlbHAgeW91LmRyb3BDYXBpbm5lckJsb2Nrc3N0eWxlPCEtLSB3cDpncm91cCB7InN0eWxlIjp7InNwYWNpbmciOnsiYmxvY2tHYXAiOiJ2YXI6cHJlc2V0fHNwYWNpbmd8MzAifX0sImxheW91dCI6eyJ0eXBlIjoiY29uc3RyYWluZWQifX0gLS0+CjxkaXYgY2xhc3M9IndwLWJsb2NrLWdyb3VwIj48IS0tIHdwOmdyb3VwIHsic3R5bGUiOnsic3BhY2luZyI6eyJibG9ja0dhcCI6InZhcjpwcmVzZXR8c3BhY2luZ3wxMCJ9fSwibGF5b3V0Ijp7InR5cGUiOiJjb25zdHJhaW5lZCJ9fSAtLT4KPGRpdiBjbGFzcz0id3AtYmxvY2stZ3JvdXAiPjwhLS0gd3A6aGVhZGluZyB7ImxldmVsIjozfSAtLT4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPjwvZGl2Pgo8IS0tIC93cDpncm91cCAtLT4KPGRpdiBjbGFzcz0id3AtYmxvY2stZ3JvdXAiPjwhLS0gd3A6aGVhZGluZyB7ImxldmVsIjozfSAtLT4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPjwvZGl2Pgo8IS0tIC93cDpncm91cCAtLT4KPGRpdiBjbGFzcz0id3AtYmxvY2stZ3JvdXAiPjwhLS0gd3A6aGVhZGluZyB7ImxldmVsIjozfSAtLT4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPjwvZGl2Pgo8IS0tIC93cDpncm91cCAtLT4KPGRpdiBjbGFzcz0id3AtYmxvY2stZ3JvdXAiPjwhLS0gd3A6aGVhZGluZyB7ImxldmVsIjozfSAtLT4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPjwvZGl2Pgo8IS0tIC93cDpncm91cCAtLT4KPGRpdiBjbGFzcz0id3AtYmxvY2stZ3JvdXAiPjwhLS0gd3A6aGVhZGluZyB7ImxldmVsIjozfSAtLT4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPjwvZGl2Pgo8IS0tIC93cDpncm91cCAtLT4KPGRpdiBjbGFzcz0id3AtYmxvY2stZ3JvdXAiPjwhLS0gd3A6aGVhZGluZyB7ImxldmVsIjozfSAtLT4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPjwvZGl2Pgo8IS0tIC93cDpncm91cCAtLT4KPGRpdiBjbGFzcz0id3AtYmxvY2stZ3JvdXAiPjwhLS0gd3A6aGVhZGluZyB7ImxldmVsIjozfSAtLT4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPjwvZGl2Pgo8IS0tIC93cDpncm91cCAtLT4KPGRpdiBjbGFzcz0id3AtYmxvY2stZ3JvdXAiPjwhLS0gd3A6aGVhZGluZyB7ImxldmVsIjozfSAtLT4KPCEtLSAvd3A6Z3JvdXAgLS0+PC9kaXY+CnN0eWxlc3R5bGVzdHlsZXN0eWxlc3R5bGVzdHlsZXN0eWxlc3R5bGVzdHlsZTwhLS0gd3A6Z3JvdXAgeyJzdHlsZSI6eyJzcGFjaW5nIjp7ImJsb2NrR2FwIjoidmFyOnByZXNldHxzcGFjaW5nfDEwIn19LCJsYXlvdXQiOnsidHlwZSI6ImNvbnN0cmFpbmVkIn19IC0tPgo8IS0tIHdwOmdyb3VwIHsic3R5bGUiOnsic3BhY2luZyI6eyJibG9ja0dhcCI6InZhcjpwcmVzZXR8c3BhY2luZ3wxMCJ9fSwibGF5b3V0Ijp7InR5cGUiOiJjb25zdHJhaW5lZCJ9fSAtLT4KPCEtLSB3cDpncm91cCB7InN0eWxlIjp7InNwYWNpbmciOnsiYmxvY2tHYXAiOiJ2YXI6cHJlc2V0fHNwYWNpbmd8MTAifX0sImxheW91dCI6eyJ0eXBlIjoiY29uc3RyYWluZWQifX0gLS0+CjwhLS0gd3A6Z3JvdXAgeyJzdHlsZSI6eyJzcGFjaW5nIjp7ImJsb2NrR2FwIjoidmFyOnByZXNldHxzcGFjaW5nfDEwIn19LCJsYXlvdXQiOnsidHlwZSI6ImNvbnN0cmFpbmVkIn19IC0tPgo8IS0tIHdwOmdyb3VwIHsic3R5bGUiOnsic3BhY2luZyI6eyJibG9ja0dhcCI6InZhcjpwcmVzZXR8c3BhY2luZ3wxMCJ9fSwibGF5b3V0Ijp7InR5cGUiOiJjb25zdHJhaW5lZCJ9fSAtLT4KPCEtLSB3cDpncm91cCB7InN0eWxlIjp7InNwYWNpbmciOnsiYmxvY2tHYXAiOiJ2YXI6cHJlc2V0fHNwYWNpbmd8MTAifX0sImxheW91dCI6eyJ0eXBlIjoiY29uc3RyYWluZWQifX0gLS0+CjwhLS0gd3A6Z3JvdXAgeyJzdHlsZSI6eyJzcGFjaW5nIjp7ImJsb2NrR2FwIjoidmFyOnByZXNldHxzcGFjaW5nfDEwIn19LCJsYXlvdXQiOnsidHlwZSI6ImNvbnN0cmFpbmVkIn19IC0tPgo8IS0tIHdwOmdyb3VwIHsic3R5bGUiOnsic3BhY2luZyI6eyJibG9ja0dhcCI6InZhcjpwcmVzZXR8c3BhY2luZ3wxMCJ9fSwibGF5b3V0Ijp7InR5cGUiOiJjb25zdHJhaW5lZCJ9fSAtLT4KPCEtLSB3cDpncm91cCB7InN0eWxlIjp7InNwYWNpbmciOnsiYmxvY2tHYXAiOiJ2YXI6cHJlc2V0fHNwYWNpbmd8MTAifX0sImxheW91dCI6eyJ0eXBlIjoiY29uc3RyYWluZWQifX0gLS0+CnN0YXRldmVyc2lvbmRvY3VtZW50ZGF0ZWRvY3VtZW50c2x1Z2RvY3VtZW50c3RhdHVzZG9jdW1lbnR0aXRsZUNvZGUgb2YgQ29uZHVjdGRvY3VtZW50Y29udGVudGhlYWRpbmcgeyJsZXZlbCI6M30gLS0+CjxoMyBjbGFzcz0id3AtYmxvY2staGVhZGluZyI+MS4gUHVycG9zZTwvaDM+CjwhLS0gL3dwOmhlYWRpbmcgLS0+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+PHNwYW4gc3R5bGU9ImNvbG9yOiByZWQ7dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUiPldvcmRDYW1wIFJhanNoYWhpPC9zcGFuPiBiZWxpZXZlcyBvdXIgY29tbXVuaXR5IHNob3VsZCBiZSB0cnVseSBvcGVuIGZvciBldmVyeW9uZS4gQXMgc3VjaCwgd2UgYXJlIGNvbW1pdHRlZCB0byBwcm92aWRpbmcgYSBmcmllbmRseSwgc2FmZSBhbmQgd2VsY29taW5nIGVudmlyb25tZW50IGZvciBhbGwsIHJlZ2FyZGxlc3Mgb2YgZ2VuZGVyLCBzZXh1YWwgb3JpZW50YXRpb24sIGRpc2FiaWxpdHksIGV0aG5pY2l0eSwgcmVsaWdpb24sIGFnZSwgY2FzdGUsIHNvY2lhbCBjbGFzcywgcHJlZmVycmVkIG9wZXJhdGluZyBzeXN0ZW0sIHByb2dyYW1taW5nIGxhbmd1YWdlLCBvciB0ZXh0IGVkaXRvciwgYW1vbmcgb3RoZXIgaWRlbnRpZnlpbmcgY2hhcmFjdGVyaXN0aWNzLjwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPlRoaXMgY29kZSBvZiBjb25kdWN0IG91dGxpbmVzIG91ciBleHBlY3RhdGlvbnMgZm9yIHBhcnRpY2lwYW50IGJlaGF2aW9yIGFzIHdlbGwgYXMgdGhlIGNvbnNlcXVlbmNlcyBmb3IgdW5hY2NlcHRhYmxlIGJlaGF2aW9yLjwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPldlIGludml0ZSBhbGwgc3BvbnNvcnMsIHZvbHVudGVlcnMsIHNwZWFrZXJzLCBhdHRlbmRlZXMsIGFuZCBvdGhlciBwYXJ0aWNpcGFudHMgdG8gaGVscCB1cyByZWFsaXplIGEgc2FmZSBhbmQgcG9zaXRpdmUgY29uZmVyZW5jZSBleHBlcmllbmNlIGZvciBldmVyeW9uZS48L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KPCEtLSB3cDpncnAgLS0+Cgo8IS0tIHdwOmhlYWRpbmcgeyJsZXZlbCI6M30gLS0+CjxoMyBjbGFzcz0id3AtYmxvY2staGVhZGluZyI+Mi4gT3BlbiBTb3VyY2UgQ2l0aXplbnNoaXA8L2gzPgo8IS0tIC93cDpoZWFkaW5nIC0tPgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPkEgc3VwcGxlbWVudGFsIGdvYWwgb2YgdGhpcyBjb2RlIG9mIGNvbmR1Y3QgaXMgdG8gaW5jcmVhc2Ugb3BlbiBzb3VyY2UgY2l0aXplbnNoaXAgYnkgZW5jb3VyYWdpbmcgcGFydGljaXBhbnRzIHRvIHJlY29nbml6ZSBhbmQgc3RyZW5ndGhlbiB0aGUgcmVsYXRpb25zaGlwcyBiZXR3ZWVuIHdoYXQgd2UgZG8gYW5kIHRoZSBjb21tdW5pdHkgYXQgbGFyZ2UuPC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+SW4gc2VydmljZSBvZiB0aGlzIGdvYWwsIDxzcGFuIHN0eWxlPSJjb2xvcjogcmVkO3RleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIj5Xb3JkQ2FtcCA8c3BhbiBzdHlsZT0iY29sb3I6IHJlZDt0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSI+UmFqc2hhaGk8L3NwYW4+PC9zcGFuPiBvcmdhbml6ZXJzIHdpbGwgYmUgdGFraW5nIG5vbWluYXRpb25zIGZvciBleGVtcGxhcnkgY2l0aXplbnMgdGhyb3VnaG91dCB0aGUgZXZlbnQgYW5kIHdpbGwgcmVjb2duaXplIHNlbGVjdCBwYXJ0aWNpcGFudHMgYWZ0ZXIgdGhlIGNvbmZlcmVuY2Ugb24gdGhlIHdlYnNpdGUuPC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+SWYgeW91IHNlZSBzb21lb25lIHdobyBpcyBtYWtpbmcgYW4gZXh0cmEgZWZmb3J0IHRvIGVuc3VyZSBvdXIgY29tbXVuaXR5IGlzIHdlbGNvbWluZywgZnJpZW5kbHksIGFuZCBlbmNvdXJhZ2VzIGFsbCBwYXJ0aWNpcGFudHMgdG8gY29udHJpYnV0ZSB0byB0aGUgZnVsbGVzdCBleHRlbnQsIHdlIHdhbnQgdG8ga25vdy4gPHNwYW4gc3R5bGU9ImNvbG9yOiByZWQ7dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUiPm1hIHMgYXQgcmFpb2Fvci48L3NwYW4+PC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+PC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8aDMgY2xhc3M9IndwLWJsb2NrLWhlYWRpbmciPjMuIEV4cGVjdGVkIEJlaGF2aW9yPC9oMz4KPCEtLSAvd3A6aGVhZGluZyAtLT4KCjwhLS0gd3A6bGlzdCAtLT4KPHVsIGNsYXNzPSJ3cC1ibG9jay1saXN0Ij48IS0tIHdwOmxpc3QtaXRlbSAtLT4KPGxpPkJlIGNvbnNpZGVyYXRlLCByZXNwZWN0ZnVsLCBhbmQgY29sbGFib3JhdGl2ZS48L2xpPgo8IS0tIC93cDpsaXN0LWl0ZW0gLS0+Cgo8IS0tIHdwOmxpc3QtaXRlbSAtLT4KPGxpPlJlZnJhaW4gZnJvbSBkZW1lYW5pbmcsIGRpc2NyaW1pbmF0b3J5IG9yIGhhcmFzc2luZyBiZWhhdmlvciBhbmQgc3BlZWNoLjwvbGk+CjwhLS0gL3dwOmxpc3QtaXRlbSAtLT4KCjwhLS0gd3A6bGlzdC1pdGVtIC0tPgo8bGk+QmUgbWluZGZ1bCBvZiB5b3VyIHN1cnJvdW5kaW5ncyBhbmQgb2YgeW91ciBmZWxsb3cgcGFydGljaXBhbnRzLiBBbGVydCBjb25mZXJlbmNlIG9yZ2FuaXplcnMgaWYgeW91IG5vdGljZSBhIGRhbmdlcm91cyBzaXR1YXRpb24gb3Igc29tZW9uZSBpbiBkaXN0cmVzcy48L2xpPgo8IS0tIC93cDpsaXN0LWl0ZW0gLS0+Cgo8IS0tIHdwOmxpc3QtaXRlbSAtLT4KPGxpPlBhcnRpY2lwYXRlIGluIGFuIGF1dGhlbnRpYyBhbmQgYWN0aXZlIHdheS4gSW4gZG9pbmcgc28sIHlvdSBoZWxwIHRvIGNyZWF0ZSA8c3BhbiBzdHlsZT0iY29sb3I6IHJlZDt0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSI+V29yZENhbXAgPHNwYW4gc3R5bGU9ImNvbG9yOiByZWQ7dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUiPlJhanNoYWhpPC9zcGFuPjwvc3Bhbj4gYW5kIG1ha2UgaXQgeW91ciBvd24uPC9saT4KPCEtLSAvd3A6bGlzdC1pdGVtIC0tPjwvdWw+CjwhLS0gL3dwOmxpc3QgLS0+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+PC9wPgoKPGgzIGNsYXNzPSJ3cC1ibG9jay1oZWFkaW5nIj40LiBVbmFjY2VwdGFibGUgQmVoYXZpb3I8L2gzPgo8IS0tIC93cDpoZWFkaW5nIC0tPgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPlVuYWNjZXB0YWJsZSBiZWhhdmlvcnMgaW5jbHVkZTogaW50aW1pZGF0aW5nLCBoYXJhc3NpbmcsIGFidXNpdmUsIGRpc2NyaW1pbmF0b3J5LCBkZXJvZ2F0b3J5IG9yIGRlbWVhbmluZyBjb25kdWN0IGJ5IGFueSBhdHRlbmRlZXMgb2YgPHNwYW4gc3R5bGU9ImNvbG9yOiByZWQ7dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUiPldvcmRDYW1wIDxzcGFuIHN0eWxlPSJjb2xvcjogcmVkO3RleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIj5SYWpzaGFoaTwvc3Bhbj48L3NwYW4+IGFuZCByZWxhdGVkIGV2ZW50cy4gQWxsIDxzcGFuIHN0eWxlPSJjb2xvcjogcmVkO3RleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIj5Xb3JkQ2FtcCA8c3BhbiBzdHlsZT0iY29sb3I6IHJlZDt0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSI+UmFqc2hhaGk8L3NwYW4+PC9zcGFuPiB2ZW51ZXMgbWF5IGJlIHNoYXJlZCB3aXRoIG1lbWJlcnMgb2YgdGhlIHB1YmxpYzsgcGxlYXNlIGJlIHJlc3BlY3RmdWwgdG8gYWxsIHBhdHJvbnMgb2YgdGhlc2UgbG9jYXRpb25zLjwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPkhhcmFzc21lbnQgaW5jbHVkZXM6IG9mZmVuc2l2ZSB2ZXJiYWwgY29tbWVudHMgcmVsYXRlZCB0byBnZW5kZXIsIHNleHVhbCBvcmllbnRhdGlvbiwgcmFjZSwgcmVsaWdpb24sIGRpc2FiaWxpdHk7IGluYXBwcm9wcmlhdGUgdXNlIG9mIG51ZGl0eSBhbmQvb3Igc2V4dWFsIGltYWdlcyBpbiBwdWJsaWMgc3BhY2VzIChpbmNsdWRpbmcgcHJlc2VudGF0aW9uIHNsaWRlcyk7IGRlbGliZXJhdGUgaW50aW1pZGF0aW9uLCBzdGFsa2luZyBvciBmb2xsb3dpbmc7IGhhcmFzc2luZyBwaG90b2dyYXBoeSBvciByZWNvcmRpbmc7IHN1c3RhaW5lZCBkaXNydXB0aW9uIG9mIHRhbGtzIG9yIG90aGVyIGV2ZW50czsgaW5hcHByb3ByaWF0ZSBwaHlzaWNhbCBjb250YWN0LCBhbmQgdW53ZWxjb21lIHNleHVhbCBhdHRlbnRpb24uPC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+PC9wPgoKPGgzIGNsYXNzPSJ3cC1ibG9jay1oZWFkaW5nIj41LiBDb25zZXF1ZW5jZXMgT2YgVW5hY2NlcHRhYmxlIEJlaGF2aW9yPC9oMz4KPCEtLSAvd3A6aGVhZGluZyAtLT4KCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD5VbmFjY2VwdGFibGUgYmVoYXZpb3Igd2lsbCBub3QgYmUgdG9sZXJhdGVkIHdoZXRoZXIgYnkgb3RoZXIgYXR0ZW5kZWVzLCBvcmdhbml6ZXJzLCB2ZW51ZSBzdGFmZiwgc3BvbnNvcnMsIG9yIG90aGVyIHBhdHJvbnMgb2YgPHNwYW4gc3R5bGU9ImNvbG9yOiByZWQ7dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUiPldvcmRDYW1wIDxzcGFuIHN0eWxlPSJjb2xvcjogcmVkO3RleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIj5SYWpzaGFoaTwvc3Bhbj48L3NwYW4+IHZlbnVlcy48L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD5BbnlvbmUgYXNrZWQgdG8gc3RvcCB1bmFjY2VwdGFibGUgYmVoYXZpb3IgaXMgZXhwZWN0ZWQgdG8gY29tcGx5IGltbWVkaWF0ZWx5LjwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPklmIGEgcGFydGljaXBhbnQgZW5nYWdlcyBpbiB1bmFjY2VwdGFibGUgYmVoYXZpb3IsIHRoZSBjb25mZXJlbmNlIG9yZ2FuaXplcnMgbWF5IHRha2UgYW55IGFjdGlvbiB0aGV5IGRlZW0gYXBwcm9wcmlhdGUsIHVwIHRvIGFuZCBpbmNsdWRpbmcgZXhwdWxzaW9uIGZyb20gdGhlIGNvbmZlcmVuY2Ugd2l0aG91dCB3YXJuaW5nIG9yIHJlZnVuZC48L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD48L3A+Cgo8aDMgY2xhc3M9IndwLWJsb2NrLWhlYWRpbmciPjYuIFdoYXQgVG8gRG8gSWYgWW91IFdpdG5lc3MgT3IgQXJlIFN1YmplY3QgVG8gVW5hY2NlcHRhYmxlIEJlaGF2aW9yPC9oMz4KPCEtLSAvd3A6aGVhZGluZyAtLT4KCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD5JZiB5b3UgYXJlIHN1YmplY3QgdG8gdW5hY2NlcHRhYmxlIGJlaGF2aW9yLCBub3RpY2UgdGhhdCBzb21lb25lIGVsc2UgaXMgYmVpbmcgc3ViamVjdCB0byB1bmFjY2VwdGFibGUgYmVoYXZpb3IsIG9yIGhhdmUgYW55IG90aGVyIGNvbmNlcm5zLCBwbGVhc2Ugbm90aWZ5IGEgY29uZmVyZW5jZSBvcmdhbml6ZXIgYXMgc29vbiBhcyBwb3NzaWJsZS48L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT4KCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD5UaGUgPHNwYW4gc3R5bGU9ImNvbG9yOiByZWQ7dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUiPldvcmRDYW1wIDxzcGFuIHN0eWxlPSJjb2xvcjogcmVkO3RleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIj5SYWpzaGFoaTwvc3Bhbj48L3NwYW4+IHRlYW0gd2lsbCBiZSBhdmFpbGFibGUgdG8gaGVscCBwYXJ0aWNpcGFudHMgY29udGFjdCB2ZW51ZSBzZWN1cml0eSBvciBsb2NhbCBsYXcgZW5mb3JjZW1lbnQsIHRvIHByb3ZpZGUgZXNjb3J0cywgb3IgdG8gb3RoZXJ3aXNlIGFzc2lzdCB0aG9zZSBleHBlcmllbmNpbmcgdW5hY2NlcHRhYmxlIGJlaGF2aW9yIHRvIGZlZWwgc2FmZSBmb3IgdGhlIGR1cmF0aW9uIG9mIHRoZSBjb25mZXJlbmNlLiA8c3BhbiBzdHlsZT0iY29sb3I6IHJlZDt0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSI+Vm9sdW50ZWVycyB3aWxsIGJlIHdlYXJpbmcgLjwvc3Bhbj4gQW55IHZvbHVudGVlciBjYW4gY29ubmVjdCB5b3Ugd2l0aCBhIGNvbmZlcmVuY2Ugb3JnYW5pemVyLiBZb3UgY2FuIGFsc28gY29tZSB0byB0aGUgc3BlY2lhbCByZWdpc3RyYXRpb24gZGVzayBpbiB0aGUgbG9iYnkgYW5kIGFzayBmb3IgdGhlIG9yZ2FuaXplcnMuPC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+PC9wPgoKPGgzIGNsYXNzPSJ3cC1ibG9jay1oZWFkaW5nIj43LiBTY29wZTwvaDM+CjwhLS0gL3dwOmhlYWRpbmcgLS0+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+V2UgZXhwZWN0IGFsbCBjb25mZXJlbmNlIHBhcnRpY2lwYW50cyAoc3BvbnNvcnMsIHZvbHVudGVlcnMsIHNwZWFrZXJzLCBhdHRlbmRlZXMsIGFuZCBvdGhlciBndWVzdHMpIHRvIGFiaWRlIGJ5IHRoaXMgY29kZSBvZiBjb25kdWN0IGF0IGFsbCBjb25mZXJlbmNlIHZlbnVlcyBhbmQgY29uZmVyZW5jZS1yZWxhdGVkIHNvY2lhbCBldmVudHMuPC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+PC9wPgoKPGgzIGNsYXNzPSJ3cC1ibG9jay1oZWFkaW5nIj44LiBDb250YWN0IEluZm9ybWF0aW9uPC9oMz4KPCEtLSAvd3A6aGVhZGluZyAtLT4KCjwhLS0gd3A6cGFyYWdyYXBoIC0tPgo8cD48c3BhbiBzdHlsZT0iY29sb3I6IHJlZDt0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSI+YWNoIHV0IHRvIGEgdGUgb3JnYW5pemVyICB0aGUgZXZlbnQ8L3NwYW4+PC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+PC9wPgoKPGgzIGNsYXNzPSJ3cC1ibG9jay1oZWFkaW5nIj45LiBMaWNlbnNlIEFuZCBBdHRyaWJ1dGlvbjwvaDM+CjwhLS0gL3dwOmhlYWRpbmcgLS0+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+VGhpcyBDb2RlIG9mIENvbmR1Y3QgaXMgYSBkaXJlY3Qgc3dpcGUgZnJvbSB0aGUgYXdlc29tZSB3b3JrIG9mIE9wZW4gU291cmNlIEJyaWRnZSwgYnV0IHdpdGggb3VyIGV2ZW50IGluZm9ybWF0aW9uIHN1YnN0aXR1dGVkLiBUaGUgb3JpZ2luYWwgaXMgYXZhaWxhYmxlIGF0IDxhIGhyZWY9Imh0dHA6Ly93ZWIuYXJjaGl2ZS5vcmcvd2ViLzIwMTkxMjA2MDgzNTU3L2h0dHA6Ly9vcGVuc291cmNlYnJpZGdlLm9yZy9hYm91dC9jb2RlLW9mLWNvbmR1Y3QvIj5PcGVuIFNvdXJjZSBCcmlkZ2UgMjAxOCBbYXJjaGl2ZWRdPC9hPiBhbmQgaXMgcmVsZWFzZWQgdW5kZXIgYSA8YSBocmVmPSJodHRwOi8vY3JlYXRpdmVjb21tb25zLm9yZy9saWNlbnNlcy9ieS1zYS8zLjAvIj5DcmVhdGl2ZSBDb21tb25zIEF0dHJpYnV0aW9uLVNoYXJlQWxpa2U8L2E+IGxpY2Vuc2UuPC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+PC9wPgo8IS0tIC93cDpwYXJhZ3JhcGggLS0+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+PC9wPgoKPGgzIGNsYXNzPSJ3cC1ibG9jay1oZWFkaW5nIj5TdGF0ZW1lbnQgYWJvdXQgU29jaWFscyBvciBTdXBwbGVtZW50YWwgRXZlbnRzICh3aGVyZSBhcHBsaWNhYmxlKTwvaDM+CjwhLS0gL3dwOmhlYWRpbmcgLS0+Cgo8IS0tIHdwOnBhcmFncmFwaCAtLT4KPHA+U29jaWFsIGFuZCBzdXBwbGVtZW50YWwgZXZlbnRzIGFyZSBpbnRlbmRlZCB0byBwcm92aWRlIG5ldHdvcmtpbmcgYW5kIGFkZGl0aW9uYWwgZWR1Y2F0aW9uYWwgb3Bwb3J0dW5pdGllcywgYXMgd2VsbCBhcyBhbiBvcHBvcnR1bml0eSB0byB1bndpbmQgYWZ0ZXIgYSBmdWxsIFdvcmRDYW1wLiBUaGV5IHNob3VsZCBhbHNvIGJlIHBsYWNlcyB3aGVyZSBhdHRlbmRlZXMgY2FuIGZlZWwgc2FmZSBhbmQgc2VjdXJlLjwvcD4KPCEtLSAvd3A6cGFyYWdyYXBoIC0tPgoKPCEtLSB3cDpwYXJhZ3JhcGggLS0+CjxwPldlIHdhbnQgeW91IHRvIGVuam95IHlvdXJzZWxmIGF0IHRoZXNlIGV2ZW50cywgYW5kIHdlIHdhbnQgeW91IHRvIGRvIHNvIHNhZmVseS4gSWYgeW91IGV4cGVyaWVuY2UgYSBDb2RlIG9mIENvbmR1Y3QgdmlvbGF0aW9uLCBzZWUgYSB2aW9sYXRpb24sIGFyZSBjb25jZXJuZWQgYWJvdXQgdGhlIHdlbGwtYmVpbmcsIHNhZmV0eSBvciBiZWhhdmlvciBvZiBhbm90aGVyIGF0dGVuZGVlLCBvciBoYXZlIGEgZ2VuZXJhbCBxdWVzdGlvbiAod2UgdW5kZXJzdGFuZCB0aGF0IHZpb2xhdGlvbnMgYXJlIG5vdCBhbHdheXMgb2J2aW91cyEpIGNvbnRhY3QgdXMgaW1tZWRpYXRlbHkgYnkgbm90aWZ5aW5nIGEgV29yZENhbXAgb3JnYW5pemVyIG9yIGVtYWlsaW5nIDxhIGhyZWY9Im1haWx0bzpyZXBvcnRAd29yZGNhbXAub3JnIj5yZXBvcnRAd29yZGNhbXAub3JnPC9hPi4gRm9yIGluLXBlcnNvbiBldmVudHMsIGlmIHlvdSBuZWVkIGhlbHAgb3IgYXJlIHVuYWJsZSB0byBjb21mb3J0YWJseSBvciBzYWZlbHkgcmVtb3ZlIHlvdXJzZWxmIGZyb20gYSBzaXR1YXRpb24geW91IGRvIG5vdCB3YW50IHRvIGJlIGluLCBvcmdhbml6ZXJzIHdpbGwgcHJpb3JpdGl6ZSBhc3Npc3RpbmcgeW91IGltbWVkaWF0ZWx5IGFuZCBkaXNjcmV0ZWx5LiBTb21lIGV4YW1wbGVzIGFyZTogbm90IGZlZWxpbmcgd2VsbDsgeW91ciB0cmFuc3BvcnRhdGlvbiBhcnJhbmdlbWVudHMgZmFsbCB0aHJvdWdoOyB5b3UgYXJlIGludG94aWNhdGVkLCB5b3UgYXJlIGFsb25lIG9yIHdpdGggc29tZW9uZSB5b3UgZG8gbm90IHRydXN0LCB5b3UgYXJlIG92ZXJ3aGVsbWVkLCB5b3UgaGF2ZSBleHBlcmllbmNlZCBvciB3aXRuZXNzZWQgYSBDb2RlIG9mIENvbmR1Y3QgdmlvbGF0aW9uLiBQbGVhc2UgYXNrIGFueSBuZWFyYnkgZXZlbnQgdm9sdW50ZWVyIG9yIG9yZ2FuaXplciB0byBoZWxwIHlvdS48L3A+CjwhLS0gL3dwOnBhcmFncmFwaCAtLT5kb2N1bWVudGV4Y2VycHRkb2N1bWVudGF1dGhvcmRvY3VtZW50ZmVhdHVyZWRfbWVkaWFkb2N1bWVudGNvbW1lbnRfc3RhdHVzZG9jdW1lbnRwaW5nX3N0YXR1c2RvY3VtZW50dGVtcGxhdGVkb2N1bWVudG1ldGFqZXRwYWNrX3Bvc3Rfd2FzX2V2ZXJfcHVibGlzaGVkZm9vdG5vdGVzZG9jdW1lbnRibG9ja3NjbGllbnRJZGlzVmFsaWRvcmlnaW5hbENvbnRlbnRuYW1lYXR0cmlidXRlc2NvbnRlbnQxLiBQdXJwb3NlbGV2ZWxpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG9yaWdpbmFsQ29udGVudG5hbWVhdHRyaWJ1dGVzY29udGVudDxzcGFuIHN0eWxlPSJjb2xvcjogcmVkO3RleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIj5Xb3JkQ2FtcCBSYWpzaGFoaTwvc3Bhbj4gYmVsaWV2ZXMgb3VyIGNvbW11bml0eSBzaG91bGQgYmUgdHJ1bHkgb3BlbiBmb3IgZXZlcnlvbmUuIEFzIHN1Y2gsIHdlIGFyZSBjb21taXR0ZWQgdG8gcHJvdmlkaW5nIGEgZnJpZW5kbHksIHNhZmUgYW5kIHdlbGNvbWluZyBlbnZpcm9ubWVudCBmb3IgYWxsLCByZWdhcmRsZXNzIG9mIGdlbmRlciwgc2V4dWFsIG9yaWVudGF0aW9uLCBkaXNhYmlsaXR5LCBldGhuaWNpdHksIHJlbGlnaW9uLCBhZ2UsIGNhc3RlLCBzb2NpYWwgY2xhc3MsIHByZWZlcnJlZCBvcGVyYXRpbmcgc3lzdGVtLCBwcm9ncmFtbWluZyBsYW5ndWFnZSwgb3IgdGV4dCBlZGl0b3IsIGFtb25nIG90aGVyIGlkZW50aWZ5aW5nIGNoYXJhY3RlcmlzdGljcy5kcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRvcmlnaW5hbENvbnRlbnRuYW1lYXR0cmlidXRlc2NvbnRlbnRUaGlzIGNvZGUgb2YgY29uZHVjdCBvdXRsaW5lcyBvdXIgZXhwZWN0YXRpb25zIGZvciBwYXJ0aWNpcGFudCBiZWhhdmlvciBhcyB3ZWxsIGFzIHRoZSBjb25zZXF1ZW5jZXMgZm9yIHVuYWNjZXB0YWJsZSBiZWhhdmlvci5kcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRvcmlnaW5hbENvbnRlbnRuYW1lYXR0cmlidXRlc2NvbnRlbnRXZSBpbnZpdGUgYWxsIHNwb25zb3JzLCB2b2x1bnRlZXJzLCBzcGVha2VycywgYXR0ZW5kZWVzLCBhbmQgb3RoZXIgcGFydGljaXBhbnRzIHRvIGhlbHAgdXMgcmVhbGl6ZSBhIHNhZmUgYW5kIHBvc2l0aXZlIGNvbmZlcmVuY2UgZXhwZXJpZW5jZSBmb3IgZXZlcnlvbmUuZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkb3JpZ2luYWxDb250ZW50bmFtZWF0dHJpYnV0ZXNjb250ZW50ZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkb3JpZ2luYWxDb250ZW50bmFtZWF0dHJpYnV0ZXNjb250ZW50Mi4gT3BlbiBTb3VyY2UgQ2l0aXplbnNoaXBsZXZlbGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkb3JpZ2luYWxDb250ZW50bmFtZWF0dHJpYnV0ZXNjb250ZW50QSBzdXBwbGVtZW50YWwgZ29hbCBvZiB0aGlzIGNvZGUgb2YgY29uZHVjdCBpcyB0byBpbmNyZWFzZSBvcGVuIHNvdXJjZSBjaXRpemVuc2hpcCBieSBlbmNvdXJhZ2luZyBwYXJ0aWNpcGFudHMgdG8gcmVjb2duaXplIGFuZCBzdHJlbmd0aGVuIHRoZSByZWxhdGlvbnNoaXBzIGJldHdlZW4gd2hhdCB3ZSBkbyBhbmQgdGhlIGNvbW11bml0eSBhdCBsYXJnZS5kcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRvcmlnaW5hbENvbnRlbnRuYW1lYXR0cmlidXRlc2NvbnRlbnRJbiBzZXJ2aWNlIG9mIHRoaXMgZ29hbCwgPHNwYW4gc3R5bGU9ImNvbG9yOiByZWQ7dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUiPldvcmRDYW1wIDxzcGFuIHN0eWxlPSJjb2xvcjogcmVkO3RleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIj5SYWpzaGFoaTwvc3Bhbj48L3NwYW4+IG9yZ2FuaXplcnMgd2lsbCBiZSB0YWtpbmcgbm9taW5hdGlvbnMgZm9yIGV4ZW1wbGFyeSBjaXRpemVucyB0aHJvdWdob3V0IHRoZSBldmVudCBhbmQgd2lsbCByZWNvZ25pemUgc2VsZWN0IHBhcnRpY2lwYW50cyBhZnRlciB0aGUgY29uZmVyZW5jZSBvbiB0aGUgd2Vic2l0ZS5kcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRvcmlnaW5hbENvbnRlbnRuYW1lYXR0cmlidXRlc2NvbnRlbnRJZiB5b3Ugc2VlIHNvbWVvbmUgd2hvIGlzIG1ha2luZyBhbiBleHRyYSBlZmZvcnQgdG8gZW5zdXJlIG91ciBjb21tdW5pdHkgaXMgd2VsY29taW5nLCBmcmllbmRseSwgYW5kIGVuY291cmFnZXMgYWxsIHBhcnRpY2lwYW50cyB0byBjb250cmlidXRlIHRvIHRoZSBmdWxsZXN0IGV4dGVudCwgd2Ugd2FudCB0byBrbm93LiA8c3Bhbi48L3NwYW4+ZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkb3JpZ2luYWxDb250ZW50bmFtZWF0dHJpYnV0ZXNjb250ZW50ZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkb3JpZ2luYWxDb250ZW50bmFtZWF0dHJpYnV0ZXNjb250ZW50My4gRXhwZWN0ZWQgQmVoYXZpb3JsZXZlbGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkb3JpZ2luYWxDb250ZW50bmFtZWF0dHJpYnV0ZXNvcmRlcmVkdmFsdWVzaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRvcmlnaW5hbENvbnRlbnRuYW1lYXR0cmlidXRlc2NvbnRlbnRCZSBjb25zaWRlcmF0ZSwgcmVzcGVjdGZ1bCwgYW5kIGNvbGxhYm9yYXRpdmUuaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRvcmlnaW5hbENvbnRlbnRuYW1lYXR0cmlidXRlc2NvbnRlbnRSZWZyYWluIGZyb20gZGVtZWFuaW5nLCBkaXNjcmltaW5hdG9yeSBvciBoYXJhc3NpbmcgYmVoYXZpb3IgYW5kIHNwZWVjaC5pbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG9yaWdpbmFsQ29udGVudG5hbWVhdHRyaWJ1dGVzY29udGVudEJlIG1pbmRmdWwgb2YgeW91ciBzdXJyb3VuZGluZ3MgYW5kIG9mIHlvdXIgZmVsbG93IHBhcnRpY2lwYW50cy4gQWxlcnQgY29uZmVyZW5jZSBvcmdhbml6ZXJzIGlmIHlvdSBub3RpY2UgYSBkYW5nZXJvdXMgc2l0dWF0aW9uIG9yIHNvbWVvbmUgaW4gZGlzdHJlc3MuaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRvcmlnaW5hbENvbnRlbnRuYW1lYXR0cmlidXRlc2NvbnRlbnRQYXJ0aWNpcGF0ZSBpbiBhbiBhdXRoZW50aWMgYW5kIGFjdGl2ZSB3YXkuIEluIGRvaW5nIHNvLCB5b3UgaGVscCB0byBjcmVhdGUgPHNwYW4gc3R5bGU9ImNvbG9yOiByZWQ7dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUiPldvcmRDYW1wIDxzcGFuIHN0eWxlPSJjb2xvcjogcmVkO3RleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIj5SYWpzaGFoaTwvc3Bhbj48L3NwYW4+IGFuZCBtYWtlIGl0IHlvdXIgb3duLmlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkb3JpZ2luYWxDb250ZW50bmFtZWF0dHJpYnV0ZXNjb250ZW50ZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkb3JpZ2luYWxDb250ZW50bmFtZWF0dHJpYnV0ZXNjb250ZW50NC4gVW5hY2NlcHRhYmxlIEJlaGF2aW9ybGV2ZWxpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG9yaWdpbmFsQ29udGVudG5hbWVhdHRyaWJ1dGVzY29udGVudFVuYWNjZXB0YWJsZSBiZWhhdmlvcnMgaW5jbHVkZTogaW50aW1pZGF0aW5nLCBoYXJhc3NpbmcsIGFidXNpdmUsIGRpc2NyaW1pbmF0b3J5LCBkZXJvZ2F0b3J5IG9yIGRlbWVhbmluZyBjb25kdWN0IGJ5IGFueSBhdHRlbmRlZXMgb2YgPHNwYW4gc3R5bGU9ImNvbG9yOiByZWQ7dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUiPldvcmRDYW1wIDxzcGFuIHN0eWxlPSJjb2xvcjogcmVkO3RleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIj5SYWpzaGFoaTwvc3Bhbj48L3NwYW4+IGFuZCByZWxhdGVkIGV2ZW50cy4gQWxsIDxzcGFuIHN0eWxlPSJjb2xvcjogcmVkO3RleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIj5Xb3JkQ2FtcCA8c3BhbiBzdHlsZT0iY29sb3I6IHJlZDt0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSI+UmFqc2hhaGk8L3NwYW4+PC9zcGFuPiB2ZW51ZXMgbWF5IGJlIHNoYXJlZCB3aXRoIG1lbWJlcnMgb2YgdGhlIHB1YmxpYzsgcGxlYXNlIGJlIHJlc3BlY3RmdWwgdG8gYWxsIHBhdHJvbnMgb2YgdGhlc2UgbG9jYXRpb25zLmRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG9yaWdpbmFsQ29udGVudG5hbWVhdHRyaWJ1dGVzY29udGVudEhhcmFzc21lbnQgaW5jbHVkZXM6IG9mZmVuc2l2ZSB2ZXJiYWwgY29tbWVudHMgcmVsYXRlZCB0byBnZW5kZXIsIHNleHVhbCBvcmllbnRhdGlvbiwgcmFjZSwgcmVsaWdpb24sIGRpc2FiaWxpdHk7IGluYXBwcm9wcmlhdGUgdXNlIG9mIG51ZGl0eSBhbmQvb3Igc2V4dWFsIGltYWdlcyBpbiBwdWJsaWMgc3BhY2VzIChpbmNsdWRpbmcgcHJlc2VudGF0aW9uIHNsaWRlcyk7IGRlbGliZXJhdGUgaW50aW1pZGF0aW9uLCBzdGFsa2luZyBvciBmb2xsb3dpbmc7IGhhcmFzc2luZyBwaG90b2dyYXBoeSBvciByZWNvcmRpbmc7IHN1c3RhaW5lZCBkaXNydXB0aW9uIG9mIHRhbGtzIG9yIG90aGVyIGV2ZW50czsgaW5hcHByb3ByaWF0ZSBwaHlzaWNhbCBjb250YWN0LCBhbmQgdW53ZWxjb21lIHNleHVhbCBhdHRlbnRpb24uZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkb3JpZ2luYWxDb250ZW50bmFtZWF0dHJpYnV0ZXNjb250ZW50ZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkb3JpZ2luYWxDb250ZW50bmFtZWF0dHJpYnV0ZXNjb250ZW50NS4gQ29uc2VxdWVuY2VzIE9mIFVuYWNjZXB0YWJsZSBCZWhhdmlvcmxldmVsaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRvcmlnaW5hbENvbnRlbnRuYW1lYXR0cmlidXRlc2NvbnRlbnRVbmFjY2VwdGFibGUgYmVoYXZpb3Igd2lsbCBub3QgYmUgdG9sZXJhdGVkIHdoZXRoZXIgYnkgb3RoZXIgYXR0ZW5kZWVzLCBvcmdhbml6ZXJzLCB2ZW51ZSBzdGFmZiwgc3BvbnNvcnMsIG9yIG90aGVyIHBhdHJvbnMgb2YgPHNwYW4gc3R5bGU9ImNvbG9yOiByZWQ7dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUiPldvcmRDYW1wIDxzcGFuIHN0eWxlPSJjb2xvcjogcmVkO3RleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIj5SYWpzaGFoaTwvc3Bhbj48L3NwYW4+IHZlbnVlcy5kcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRvcmlnaW5hbENvbnRlbnRuYW1lYXR0cmlidXRlc2NvbnRlbnRBbnlvbmUgYXNrZWQgdG8gc3RvcCB1bmFjY2VwdGFibGUgYmVoYXZpb3IgaXMgZXhwZWN0ZWQgdG8gY29tcGx5IGltbWVkaWF0ZWx5LmRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG9yaWdpbmFsQ29udGVudG5hbWVhdHRyaWJ1dGVzY29udGVudElmIGEgcGFydGljaXBhbnQgZW5nYWdlcyBpbiB1bmFjY2VwdGFibGUgYmVoYXZpb3IsIHRoZSBjb25mZXJlbmNlIG9yZ2FuaXplcnMgbWF5IHRha2UgYW55IGFjdGlvbiB0aGV5IGRlZW0gYXBwcm9wcmlhdGUsIHVwIHRvIGFuZCBpbmNsdWRpbmcgZXhwdWxzaW9uIGZyb20gdGhlIGNvbmZlcmVuY2Ugd2l0aG91dCB3YXJuaW5nIG9yIHJlZnVuZC5kcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRvcmlnaW5hbENvbnRlbnRuYW1lYXR0cmlidXRlc2NvbnRlbnRkcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRvcmlnaW5hbENvbnRlbnRuYW1lYXR0cmlidXRlc2NvbnRlbnQ2LiBXaGF0IFRvIERvIElmIFlvdSBXaXRuZXNzIE9yIEFyZSBTdWJqZWN0IFRvIFVuYWNjZXB0YWJsZSBCZWhhdmlvcmxldmVsaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRvcmlnaW5hbENvbnRlbnRuYW1lYXR0cmlidXRlc2NvbnRlbnRJZiB5b3UgYXJlIHN1YmplY3QgdG8gdW5hY2NlcHRhYmxlIGJlaGF2aW9yLCBub3RpY2UgdGhhdCBzb21lb25lIGVsc2UgaXMgYmVpbmcgc3ViamVjdCB0byB1bmFjY2VwdGFibGUgYmVoYXZpb3IsIG9yIGhhdmUgYW55IG90aGVyIGNvbmNlcm5zLCBwbGVhc2Ugbm90aWZ5IGEgY29uZmVyZW5jZSBvcmdhbml6ZXIgYXMgc29vbiBhcyBwb3NzaWJsZS5kcm9wQ2FwaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRvcmlnaW5hbENvbnRlbnRuYW1lYXR0cmlidXRlc2NvbnRlbnRUaGUgPHNwYW4gc3R5bGU9ImNvbG9yOiByZWQ7dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUiPldvcmRDYW1wIDxzcGFuIHN0eWxlPSJjb2xvcjogcmVkO3RleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIj5SYWpzaGFoaTwvc3Bhbj48L3NwYW4+IHRlYW0gd2lsbCBiZSBhdmFpbGFibGUgdG8gaGVscCBwYXJ0aWNpcGFudHMgY29udGFjdCB2ZW51ZSBzZWN1cml0eSBvciBsb2NhbCBsYXcgZW5mb3JjZW1lbnQsIHRvIHByb3ZpZGUgZXNjb3J0cywgb3IgdG8gb3RoZXJ3aXNlIGFzc2lzdCB0aG9zZSBleHBlcmllbmNpbmcgdW5hY2NlcHRhYmxlIGJlaGF2aW9yIHRvIGZlZWwgc2FmZSBmb3IgdGhlIGR1cmF0aW9uIG9mIHRoZSBjb25mZXJlbmNlLiA8c3BhbiBzdHlsZT0iY29sb3I6IHJlZDt0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSI+Vm9sdW50ZWVycyB3aWxsIGJlIHdlYXJpbmcgLjwvc3Bhbj4gQW55IHZvbHVudGVlciBjYW4gY29ubmVjdCB5b3Ugd2l0aCBhIGNvbmZlcmVuY2Ugb3JnYW5pemVyLiBZb3UgY2FuIGFsc28gY29tZSB0byB0aGUgc3BlY2lhbCByZWdpc3RyYXRpb24gZGVzayBpbiB0aGUgbG9iYnkgYW5kIGFzayBmb3IgdGhlIG9yZ2FuaXplcnMuZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkb3JpZ2luYWxDb250ZW50bmFtZWF0dHJpYnV0ZXNjb250ZW50ZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkb3JpZ2luYWxDb250ZW50bmFtZWF0dHJpYnV0ZXNjb250ZW50Ny4gU2NvcGVsZXZlbGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkb3JpZ2luYWxDb250ZW50bmFtZWF0dHJpYnV0ZXNjb250ZW50V2UgZXhwZWN0IGFsbCBjb25mZXJlbmNlIHBhcnRpY2lwYW50cyAoc3BvbnNvcnMsIHZvbHVudGVlcnMsIHNwZWFrZXJzLCBhdHRlbmRlZXMsIGFuZCBvdGhlciBndWVzdHMpIHRvIGFiaWRlIGJ5IHRoaXMgY29kZSBvZiBjb25kdWN0IGF0IGFsbCBjb25mZXJlbmNlIHZlbnVlcyBhbmQgY29uZmVyZW5jZS1yZWxhdGVkIHNvY2lhbCBldmVudHMuZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkb3JpZ2luYWxDb250ZW50bmFtZWF0dHJpYnV0ZXNjb250ZW50ZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkb3JpZ2luYWxDb250ZW50bmFtZWF0dHJpYnV0ZXNjb250ZW50OC4gQ29udGFjdCBJbmZvcm1hdGlvbmxldmVsaW5uZXJCbG9ja3NjbGllbnRJZGlzVmFsaWRvcmlnaW5hbENvbnRlbnRuYW1lYXR0cmlidXRlc2NvbnRlbnQ8c3BhbiBzdHlsZT0iY29sb3I6IHJlZDt0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSI+b3JnYW5pemVycyA8L3NwYW4+ZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkb3JpZ2luYWxDb250ZW50bmFtZWF0dHJpYnV0ZXNjb250ZW50ZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkb3JpZ2luYWxDb250ZW50bmFtZWF0dHJpYnV0ZXNjb250ZW50OS4gTGljZW5zZSBBbmQgQXR0cmlidXRpb25sZXZlbGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkb3JpZ2luYWxDb250ZW50bmFtZWF0dHJpYnV0ZXNjb250ZW50VGhpcyBDb2RlIG9mIENvbmR1Y3QgaXMgYSBkaXJlY3Qgc3dpcGUgZnJvbSB0aGUgYXdlc29tZSB3b3JrIG9mIE9wZW4gU291cmNlIEJyaWRnZSwgYnV0IHdpdGggb3VyIGV2ZW50IGluZm9ybWF0aW9uIHN1YnN0aXR1dGVkLiBUaGUgb3JpZ2luYWwgaXMgYXZhaWxhYmxlIGF0IDxhIGhyZWY9Imh0dHA6Ly93ZWIuYXJjaGl2ZS5vcmcvd2ViLzIwMTkxMjA2MDgzNTU3L2h0dHA6Ly9vcGVuc291cmNlYnJpZGdlLm9yZy9hYm91dC9jb2RlLW9mLWNvbmR1Y3QvIj5PcGVuIFNvdXJjZSBCcmlkZ2UgMjAxOCBbYXJjaGl2ZWRdPC9hPiBhbmQgaXMgcmVsZWFzZWQgdW5kZXIgYSA8YSBocmVmPSJodHRwOi8vY3JlYXRpdmVjb21tb25zLm9yZy9saWNlbnNlcy9ieS1zYS8zLjAvIj5DcmVhdGl2ZSBDb21tb25zIEF0dHJpYnV0aW9uLVNoYXJlQWxpa2U8L2E+IGxpY2Vuc2UuZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkb3JpZ2luYWxDb250ZW50bmFtZWF0dHJpYnV0ZXNjb250ZW50ZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkb3JpZ2luYWxDb250ZW50bmFtZWF0dHJpYnV0ZXNjb250ZW50ZHJvcENhcGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkb3JpZ2luYWxDb250ZW50bmFtZWF0dHJpYnV0ZXNjb250ZW50U3RhdGVtZW50IGFib3V0IFNvY2lhbHMgb3IgU3VwcGxlbWVudGFsIEV2ZW50cyAod2hlcmUgYXBwbGljYWJsZSlsZXZlbGlubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkb3JpZ2luYWxDb250ZW50bmFtZWF0dHJpYnV0ZXNjb250ZW50U29jaWFsIGFuZCBzdXBwbGVtZW50YWwgZXZlbnRzIGFyZSBpbnRlbmRlZCB0byBwcm92aWRlIG5ldHdvcmtpbmcgYW5kIGFkZGl0aW9uYWwgZWR1Y2F0aW9uYWwgb3Bwb3J0dW5pdGllcywgYXMgd2VsbCBhcyBhbiBvcHBvcnR1bml0eSB0byB1bndpbmQgYWZ0ZXIgYSBmdWxsIFdvcmRDYW1wLiBUaGV5IHNob3VsZCBhbHNvIGJlIHBsYWNlcyB3aGVyZSBhdHRlbmRlZXMgY2FuIGZlZWwgc2FmZSBhbmQgc2VjdXJlLmRyb3BDYXBpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG9yaWdpbmFsQ29udGVudG5hbWVhdHRyaWJ1dGVzY29udGVudFdlIHdhbnQgeW91IHRvIGVuam95IHlvdXJzZWxmIGF0IHRoZXNlIGV2ZW50cywgYW5kIHdlIHdhbnQgeW91IHRvIGRvIHNvIHNhZmVseS4gSWYgeW91IGV4cGVyaWVuY2UgYSBDb2RlIG9mIENvbmR1Y3QgdmlvbGF0aW9uLCBzZWUgYSB2aW9sYXRpb24sIGFyZSBjb25jZXJuZWQgYWJvdXQgdGhlIHdlbGwtYmVpbmcsIHNhZmV0eSBvciBiZWhhdmlvciBvZiBhbm90aGVyIGF0dGVuZGVlLCBvciBoYXZlIGEgZ2VuZXJhbCBxdWVzdGlvbiAod2UgdW5kZXJzdGFuZCB0aGF0IHZpb2xhdGlvbnMgYXJlIG5vdCBhbHdheXMgb2J2aW91cyEpIGNvbnRhY3QgdXMgaW1tZWRpYXRlbHkgYnkgbm90aWZ5aW5nIGEgV29yZENhbXAgb3JnYW5pemVyIG9yIGVtYWlsaW5nIDxhIGhyZWY9Im1haWx0bzpyZXBvcnRAd29yZGNhbXAub3JnIj5yZXBvcnRAd29yZGNhbXAub3JnPC9hPi4gRm9yIGluLXBlcnNvbiBldmVudHMsIGlmIHlvdSBuZWVkIGhlbHAgb3IgYXJlIHVuYWJsZSB0byBjb21mb3J0YWJseSBvciBzYWZlbHkgcmVtb3ZlIHlvdXJzZWxmIGZyb20gYSBzaXR1YXRpb24geW91IGRvIG5vdCB3YW50IHRvIGJlIGluLCBvcmdhbml6ZXJzIHdpbGwgcHJpb3JpdGl6ZSBhc3Npc3RpbmcgeW91IGltbWVkaWF0ZWx5IGFuZCBkaXNjcmV0ZWx5LiBTb21lIGV4YW1wbGVzIGFyZTogbm90IGZlZWxpbmcgd2VsbDsgeW91ciB0cmFuc3BvcnRhdGlvbiBhcnJhbmdlbWVudHMgZmFsbCB0aHJvdWdoOyB5b3UgYXJlIGludG94aWNhdGVkLCB5b3UgYXJlIGFsb25lIG9yIHdpdGggc29tZW9uZSB5b3UgZG8gbm90IHRydXN0LCB5b3UgYXJlIG92ZXJ3aGVsbWVkLCB5b3UgaGF2ZSBleHBlcmllbmNlZCBvciB3aXRuZXNzZWQgYSBDb2RlIG9mIENvbmR1Y3QgdmlvbGF0aW9uLiBQbGVhc2UgYXNrIGFueSBuZWFyYnkgZXZlbnQgdm9sdW50ZWVyIG9yIG9yZ2FuaXplciB0byBoZWxwIHlvdS5kcm9wQ2FwaW5uZXJCbG9ja3MFBzUUBAEDAQJBAAUCQwABeQAGEgYRBQwWAgECBQIDAhcWBUcABggHBAoHCgULCAcECgexBgcLCAcECge+AQcLCAcECgeaAgcLCAcECkcACwgHBAoHGgULCAcECgeLAwcLCAcECge+BAcLCAcECgeVBAcLCAcECkcACwgHBAoHFAULCAcECgcGCwgHDwQKBy4LCAcPBAoHiAELCAcPBAoHmAILCAcPBAoHqQMLCAcECkcACwgHBAoHGAULCAcECgeWCAcLCAcECgeXBgcLCAcECkcACwgHBAoHKAULCAcECgeOBAcLCAcECgeNAQcLCAcECgeEAwcLCAcECkcACwgHBAoHhAEFCwgHBAoHhgMHCwgHBAoHlQoHCwgHBApHAAsIBwQKBwgFCwgHBAoHgwMHCwgHBApHAAsIBwQKBxYFCwgHBAoHnAIHCwgHBApHAAsIBwQKBxoFCwgHBAoHsAYHCwgHBApHAAsIBwQKRwALCAcECgeBAQULCAcECgerAwcLCAcECgesDgcLBQcGBwYIBwQKBwoFCwgHBAoHsQYHCwgHBAoHvgEHCwgHBAoHmgIHCwcGCAcECgcaBQsIBwQKB4sDBwsIBwQKB74EBwsIBwQKB5UEBwsIBwQKRwALJAYBAhwGEgEHEgcGCAcECgcUBQsIBwQKBwYLCAcPBAoHLgsIBw8ECgeIAQsIBw8ECgeYAgsIBw8ECgepAwsIBwQKRwALBwYIBwQKBxgFCwgHBAoHlggHCwgHBAoHlwYHCwgHBApHAAsHBggHBAoHKAULCAcECgeOBAcLCAcECgeNAQcLCAcECgeEAwcLCAcECkcACwcGCAcECgeEAQULCAcECgeGAwcLCAcECgeVCgcLCAcECkcACwcGCAcECgcIBQsIBwQKB4MDBwsIBwQKRwALBwYIBwQKBxYFCwgHBAoHnAIHCwgHBApHAAsHBggHBAoHGgULCAcECgewBgcLCAcECkcACwgHBApHAAsHBggHBAoHgQEFCwgHBAoHqwMHCwgHBAoHrA4HCwW2AzwwPDA8MDwwPDA8MDwwPBlFB+0BBwUHCAQIBAgGCAUPCAeEDwEFAwIBBUEAqw9BAgMBAkEBApkBQQCEDgGIEgGADQGPDZoDAZgFAZwCAkEDBEEBAwcBCgc7AY0KAbsVCAcIBggOCA4IC0gBBB8JCAYIBw8ECgcKBQsIBw8ECgexBgcLCAcPBAoHvgEHCwgHDwQKB5oCBwsIBw8ECkcACwgHDwQKBxoFCwgHDwQKB4sDBwsIBw8ECge+BAcLCAcPBAoHvAIBRwALCAcPBApHAAsIBw8ECgcUBQsIBw8ECgcGCwgHDwQKBy4LCAcPBAoHiAELCAcPBAoHmAILCAcPBAoHqQMLCAcPBApHAAsIBw8ECgcYBQsIBw8ECgeWCAcLCAcPBAoHlwYHCwgHDwQKRwALCAcPBAoHKAULCAcPBAoHjgQHCwgHDwQKB40BBwsIBw8ECgeEAwcLCAcPBApHAAsIBw8ECgeEAQULCAcPBAoHhgMHCwgHDwQKB70GnwIHCwgHDwQKRwALCAcPBAoHCAULCAcPBAoHgwMHCwgHDwQKRwALCAcPBAoHFgULCAcPBAoHNEEAB0EARwALCAcPBApHAAsIBw8ECgcaBQsIBw8ECgewBgcLCAcPBApHAAsIBw8ECkcACwgHDwQKB4EBBQsIBw8ECgerAwcLCAcPBAoHrA4HCxQBAQDCBQEEAAABAAAAAQYAAQEAAIEEQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAABBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBCAQEAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAABBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAQQACAEEAAgBBAAIAVQEEAQtBsAECQQACQSq1AgcKEkGnAXQGQQsIAQRBAAcPQQAHCkIABgoBAwQTIBcgFyAXIBgXIBcgBAcEBkMADwVBAAYBFyAXIEExtwFBXxhBHD8RQScDJAB9AdcGAHckM2NmNGQ5NzgtNjFhNi00YTc4LWI0MGEtN2VkNWViNDM5Y2Nidwpjb3JlL2dyb3VwdwNkaXZ2AQR0eXBldwtjb25zdHJhaW5lZHckNGFjODQ2NTgtMDg0Mi00OTQyLWJiNDUtYTgzMWY4ZjM3OGE4eHcMY29yZS9oZWFkaW5nfQN3JDMzM2VjZjA2LTBjM2YtNDJhOS04M2U4LTA2MTk0YjFlOWM5N3h3DmNvcmUvcGFyYWdyYXBoeXckMTFhNTY5NWItZWIxYS00Nzc0LWIxY2QtNzAwNjU1MTVkMTg3eHcOY29yZS9wYXJhZ3JhcGh5dyQ2ZmFkYzZjMS02ZDdmLTQyNWItYmMxYS0zZjczNjdiMDZkOTN4dw5jb3JlL3BhcmFncmFwaHl3JDkzNzlmNzYzLTg0NDQtNDhmZC05YmU2LTliMjAxYzBhMmZjN3h3DmNvcmUvcGFyYWdyYXBoeXckOGVmYTdhZjMtMWUwNC00YmQ4LTkxYmEtZTdjZWNlZjkxNTM2eHcMY29yZS9oZWFkaW5nfQN3JDBlNTE1ZGQ1LTkzODAtNDVmMS1iN2VhLTgxNGY1ZDhlODU0OXh3DmNvcmUvcGFyYWdyYXBoeXckZjM0ZTc2ODUtZWI4NC00OTRkLWI3ZTMtZGVhYzI1NTYxNzc1eHcOY29yZS9wYXJhZ3JhcGh5dyQ5NTM5Mzk0MS1mNmNjLTQ5ZWEtYjRkMi0zNjUzZDQ0YzRmMTR4dw5jb3JlL3BhcmFncmFwaHl3JGM3NGFkNTNlLTkxYWItNDgzNy1hYTY0LTVkNGNkZWY1ZGJkNHh3DmNvcmUvcGFyYWdyYXBoeXckZmY0ZjVmYzYtYzBjZC00MjlmLWEwZDYtODBlMzA0MjRlOWZheHcMY29yZS9oZWFkaW5nfQN3JGZhNDQ2ODljLWEyNTYtNGU4Yy1iZGJlLWZmNzk5YWNlNjI2Znh3CWNvcmUvbGlzdHl3AHckYmZmMGE1MzYtODM5Mi00N2FjLTg2MTYtODFjZmZjM2RkMzljeHc3PGxpPkJlIGNvbnNpZGVyYXRlLCByZXNwZWN0ZnVsLCBhbmQgY29sbGFib3JhdGl2ZS48L2xpPncOY29yZS9saXN0LWl0ZW13JDBhODRhMzMwLTRkM2MtNDdlMS04MWJmLTUyOTQ4YTVlMGE2ZHh3UTxsaT5SZWZyYWluIGZyb20gZGVtZWFuaW5nLCBkaXNjcmltaW5hdG9yeSBvciBoYXJhc3NpbmcgYmVoYXZpb3IgYW5kIHNwZWVjaC48L2xpPncOY29yZS9saXN0LWl0ZW13JDM0ZmIwYjk1LTAxYWYtNDI0MC05YmQ1LTA2ZjQ2ZGQyOWUwOHh3oQE8bGk+QmUgbWluZGZ1bCBvZiB5b3VyIHN1cnJvdW5kaW5ncyBhbmQgb2YgeW91ciBmZWxsb3cgcGFydGljaXBhbnRzLiBBbGVydCBjb25mZXJlbmNlIG9yZ2FuaXplcnMgaWYgeW91IG5vdGljZSBhIGRhbmdlcm91cyBzaXR1YXRpb24gb3Igc29tZW9uZSBpbiBkaXN0cmVzcy48L2xpPncOY29yZS9saXN0LWl0ZW13JDZkNzJmYjZkLTY5ZDktNGQ0Zi1hNDQzLWVhZjc0ZTVmMjhiY3h38gE8bGk+UGFydGljaXBhdGUgaW4gYW4gYXV0aGVudGljIGFuZCBhY3RpdmUgd2F5LiBJbiBkb2luZyBzbywgeW91IGhlbHAgdG8gY3JlYXRlIDxzcGFuIHN0eWxlPSJjb2xvcjogcmVkO3RleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIj5Xb3JkQ2FtcCA8c3BhbiBzdHlsZT0iY29sb3I6IHJlZDt0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSI+UmFqc2hhaGk8L3NwYW4+PC9zcGFuPiBhbmQgbWFrZSBpdCB5b3VyIG93bi48L2xpPncOY29yZS9saXN0LWl0ZW13JGZmMjcwNTZhLWUwMmEtNDc4Yi1iZTEzLTAxYzU1MWU0YzFlZHh3DmNvcmUvcGFyYWdyYXBoeXckODA0Yjc0OTAtY2NjNy00MjdiLWIyM2UtNmMzZTFmNjcyM2Y3eHcMY29yZS9oZWFkaW5nfQN3JGQxZTY2N2IxLTc2ODYtNDU3Zi05NGZkLWJiMzg3OTRiNmM5Y3h3DmNvcmUvcGFyYWdyYXBoeXckZDcwOGVhMTAtZTA3Mi00OGFiLWEzZTgtZmVhNmJlMDBhNTkyeHcOY29yZS9wYXJhZ3JhcGh5dyQ3MjMxMDg4Ni0xMGJhLTQ3OTktOTkxNS05MTljZWZkZmM5NTN4dw5jb3JlL3BhcmFncmFwaHl3JDBlMzQyOTgyLWQzNzAtNGNlOC1iODEwLTMyYzM1NWVjNzYyOHh3DGNvcmUvaGVhZGluZ30DdyQzNTIyZjg4My04MDg3LTQyMjktODFkNS1hNTNhMDNjZjJhOGN4dw5jb3JlL3BhcmFncmFwaHl3JGU2MjBhNTAzLTA0N2ItNDRkNy05MzAyLTc1NWZmODZiNzc2Nnh3DmNvcmUvcGFyYWdyYXBoeXckZDFmNDdiNTktMGNiMC00YWY5LTgyNDAtOWRhZGFjYTBmMGRieHcOY29yZS9wYXJhZ3JhcGh5dyQzZWU4MDNmYi04Y2UyLTQwYTItYWFlYi0xNTA1MTRhOTA4NGJ4dw5jb3JlL3BhcmFncmFwaHl3JGNlNWJhMmE5LWFhMDUtNGUwMy1iZjAyLTc2ODc5YTg0ZTM5Mnh3DGNvcmUvaGVhZGluZ30DdyRlZGMzYTlhYS1iZTg5LTRhZTYtOGM4Ny1hOTAwOWNjYmM1NGN4dw5jb3JlL3BhcmFncmFwaHl3JGFmMDIzYjZkLTM4M2EtNDEyNi1hNTk3LTMzMzUzZGQzZDM4NXh3DmNvcmUvcGFyYWdyYXBoeXckYjdiNzQzNTMtNzA3Ni00NjU5LWE4ZjMtOWNmYmY4OWY0YWY1eHcOY29yZS9wYXJhZ3JhcGh5dyRiMTM5ZjIxMi1iYzYyLTQ1YjItOTJhYi00MmI1Y2QwNzg3MTJ4dwxjb3JlL2hlYWRpbmd9A3ckNDM3M2E2YjUtNGZkNC00NjM2LTlmODYtZGM3MWRjNjdmY2EweHcOY29yZS9wYXJhZ3JhcGh5dyRlMzQ5ZDI4Yy1kZWM5LTQ0OTMtYTEwYS1kOTVhMGU0YThjMmV4dw5jb3JlL3BhcmFncmFwaHl3JDY5YmU4Y2M3LTQ3YjctNGQ4MS1iOGZmLTVkZjBjYWJhYTQ2MHh3DGNvcmUvaGVhZGluZ30DdyRiZmU0MTg2Zi1mM2Q3LTRiZDItYjc1My1hMmE4ZTk1NWMzOGZ4dw5jb3JlL3BhcmFncmFwaHl3JDY0ZmQ5NTMwLTJlMzktNGE5OC1hZjQ4LTkxYTJkMDc0M2I3OHh3DmNvcmUvcGFyYWdyYXBoeXckODQ2NzExMzctZjFhNy00NzFiLTlkNjgtZTJlNTBjMzgzMTU2eHcMY29yZS9oZWFkaW5nfQN3JDM3ZmFmMTQwLTc1ZTQtNGM1ZC1iMTMxLWZmYzQ2ODAzNDE4Y3h3DmNvcmUvcGFyYWdyYXBoeXckNzM2YjY5YzQtMGUyOS00MzMxLTg1NzctNDllN2FlMjJiYzdmeHcOY29yZS9wYXJhZ3JhcGh5dyQ1ZGJlMjI2NC1kOWFkLTRjMDgtYjNlYS1kZjVhZGM5MzY4MWN4dw5jb3JlL3BhcmFncmFwaHl3JDUyZTQzYzRhLTZkOWEtNDQ1YS1iNThmLTYxM2Y4NGIwMjg1Nnh3DGNvcmUvaGVhZGluZ30DdyQyMDIxMWRkZC1jOTFmLTRhOGItOTJiYy0xMmFiZDRlZTA2YTV4dw5jb3JlL3BhcmFncmFwaHl3JDBmMTcyNjNkLTc1OTUtNDE0OS1iNTk4LWYyODkyNDQzZGYwN3h3DmNvcmUvcGFyYWdyYXBoeXYBB3NwYWNpbmd2AQhibG9ja0dhcHcBMHYBB3NwYWNpbmd2AQhibG9ja0dhcHcVdmFyOnByZXNldHxzcGFjaW5nfDEwdyRjOWY2Mzc1MC0wYjc3LTQzNjItOThlOS02MTA4MTQyZTE1YmR3C2NvcmUvc3BhY2VydwUxMDBweHcEMzBweHckYTJjMmI4N2EtNDg1MC00NTQ0LTgzZTgtZTM5ZjhkMmZjYjcwdwpjb3JlL2dyb3VwdwNkaXZ2AQR0eXBldwtjb25zdHJhaW5lZHckYzg2N2Q4MmEtMmMzNC00YTZlLThhZjEtYmNiZTE0ODM3YTBleHcMY29yZS9oZWFkaW5nfQN3JDQ5Nzk5MDdjLTg5ODktNGM4Ni05OWVlLWNkNTczOTRmYzllZnh3DmNvcmUvcGFyYWdyYXBoeXckMDI4ZWE5MDItYTVkNy00YTNkLWJkYWEtNjU4MzAwOTQzZjAzeHcOY29yZS9wYXJhZ3JhcGh5dyRkNWQwMDlkMy00OGVjLTRhNzctODBlNi0wMDBmOTIyZGE3OWN4dw5jb3JlL3BhcmFncmFwaHl3JDYyZjgxNDdjLTRhNjQtNDBmYS1iYjc4LTVhY2MwYWJjOWQyY3cKY29yZS9ncm91cHcDZGl2dgEEdHlwZXcLY29uc3RyYWluZWR3JDI1M2ZjYzhjLTM1ZjItNDg5Ni04NjMxLTJhZjJkZDNiMGVjNXh3DGNvcmUvaGVhZGluZ30DdyQwZDcwYWI3Mi1lNTFjLTQ3NGEtOGVlNS0zYWMwNzI1NDJkYzN4dw5jb3JlL3BhcmFncmFwaHl3JGRlZmNlMWI4LTZjOGYtNDFmNS04MTFiLTYwMTIwYTZhODY0YXh3DmNvcmUvcGFyYWdyYXBoeXckZTk3NGM5MTktODhkNS00YzZlLTljZTctMzg0MWRmOTUyNzFheHcOY29yZS9wYXJhZ3JhcGh5dyQ5NjliMjI3Ny1kNDhmLTRmN2ItOTRlNy1hZjdiZGFiZmI2YjB4dw5jb3JlL3BhcmFncmFwaHl3JGNhM2E5YjI5LWE3MDMtNDNjNy1iZTc2LTdhNmNjM2Y3ZDFlYXcKY29yZS9ncm91cHcDZGl2dgEEdHlwZXcLY29uc3RyYWluZWR3JGFmNzBjYTJkLWI4NmMtNGZiMS05MDMwLTg2NjVkNDdjMTRiMHh3DGNvcmUvaGVhZGluZ30DdyRkNmJmN2I3My02MzExLTQwMzAtYmVlOC1jZThmZjlmNmM2MTV4dwljb3JlL2xpc3R5dwB3JGJmZjBhNTM2LTgzOTItNDdhYy04NjE2LTgxY2ZmYzNkZDM5Y3h3NzxsaT5CZSBjb25zaWRlcmF0ZSwgcmVzcGVjdGZ1bCwgYW5kIGNvbGxhYm9yYXRpdmUuPC9saT53DmNvcmUvbGlzdC1pdGVtdyQwYTg0YTMzMC00ZDNjLTQ3ZTEtODFiZi01Mjk0OGE1ZTBhNmR4d1E8bGk+UmVmcmFpbiBmcm9tIGRlbWVhbmluZywgZGlzY3JpbWluYXRvcnkgb3IgaGFyYXNzaW5nIGJlaGF2aW9yIGFuZCBzcGVlY2guPC9saT53DmNvcmUvbGlzdC1pdGVtdyQzNGZiMGI5NS0wMWFmLTQyNDAtOWJkNS0wNmY0NmRkMjllMDh4d6EBPGxpPkJlIG1pbmRmdWwgb2YgeW91ciBzdXJyb3VuZGluZ3MgYW5kIG9mIHlvdXIgZmVsbG93IHBhcnRpY2lwYW50cy4gQWxlcnQgY29uZmVyZW5jZSBvcmdhbml6ZXJzIGlmIHlvdSBub3RpY2UgYSBkYW5nZXJvdXMgc2l0dWF0aW9uIG9yIHNvbWVvbmUgaW4gZGlzdHJlc3MuPC9saT53DmNvcmUvbGlzdC1pdGVtdyQ2ZDcyZmI2ZC02OWQ5LTRkNGYtYTQ0My1lYWY3NGU1ZjI4YmN4d\/IBPGxpPlBhcnRpY2lwYXRlIGluIGFuIGF1dGhlbnRpYyBhbmQgYWN0aXZlIHdheS4gSW4gZG9pbmcgc28sIHlvdSBoZWxwIHRvIGNyZWF0ZSA8c3BhbiBzdHlsZT0iY29sb3I6IHJlZDt0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSI+V29yZENhbXAgPHNwYW4gc3R5bGU9ImNvbG9yOiByZWQ7dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUiPlJhanNoYWhpPC9zcGFuPjwvc3Bhbj4gYW5kIG1ha2UgaXQgeW91ciBvd24uPC9saT53DmNvcmUvbGlzdC1pdGVtdyQ1MzVlMzhkZi00NGFlLTQyYzUtYmQ0Yi05MzRmZDM5Nzg1OWR4dw5jb3JlL3BhcmFncmFwaHl3JGMyMjI3YmFjLWY1NDEtNGU3NC1hOTVhLTZlOTYyNWFlMDliZHcKY29yZS9ncm91cHcDZGl2dgEEdHlwZXcLY29uc3RyYWluZWR3JGY0ZWEyOGI4LTA4ZTgtNDFlZi1iNGVhLWFhZTlhODM3Y2Y3ZXh3DGNvcmUvaGVhZGluZ30DdyRmNDdjZjExNy1iMmY3LTRmNjUtYjZhOC1jZmViNjE2YWYzZGZ4dw5jb3JlL3BhcmFncmFwaHl3JGM0NWY4ZWUzLTU0ZDUtNDRkMS1hMjBjLWFjYzIyZTBiMDdjMXh3DmNvcmUvcGFyYWdyYXBoeXckZTE2YWRjNDQtMzg3Ny00YmE1LWJlNmEtMjZhOWRjNWM1Y2FmeHcOY29yZS9wYXJhZ3JhcGh5dyRlYWQxZTc4Zi1jMjNjLTQzNGUtYTQ0MS1lNjg3NmQ3YjJjYjJ3CmNvcmUvZ3JvdXB3A2RpdnYBBHR5cGV3C2NvbnN0cmFpbmVkdyQxNDFmMTcyNi0zOWI0LTQ4NzctOTQxNi01NTc1YWEzYmMxMTR4dwxjb3JlL2hlYWRpbmd9A3ckZGYyY2E3NTktZTI1NC00ZTU5LWJmOWMtNDYwMTRmNTMzZWIxeHcOY29yZS9wYXJhZ3JhcGh5dyQ1YjdlYzRlMC00NGZlLTRhOWQtODIwOS1hMzQ5NGY3Y2NlYTd4dw5jb3JlL3BhcmFncmFwaHl3JGRlMDFjNjgzLWNiNjEtNDY3Zi05Nzk1LWE2NzU4ZjBmOTA2MHh3DmNvcmUvcGFyYWdyYXBoeXckYzM1MzA5NTUtMjVkYi00ZTU4LWI5MGQtYjUzZDJlMDE1NGEyeHcOY29yZS9wYXJhZ3JhcGh5dyRiY2E0NDk2MC0zNGIwLTRmZGMtODU2My0wZDRkZjA1YjViNjl3CmNvcmUvZ3JvdXB3A2RpdnYBBHR5cGV3C2NvbnN0cmFpbmVkdyQxZjA5ZGFhOS00NTkyLTQ5MmYtODJkZC1mNDEwMTY4YjNlNjl4dwxjb3JlL2hlYWRpbmd9A3ckNjE5MWViZTMtZmU0MS00NjM3LWJkNjItNWQzMWNhNTAzODYyeHcOY29yZS9wYXJhZ3JhcGh5dyQzYWMxN2JmYS05MDU1LTQ2MmEtYjliYS03YmZjMTI1NTM5NmJ4dw5jb3JlL3BhcmFncmFwaHl3JGIwYjA3OGM1LWZiZTctNGE0MS05NjU4LTJlNDg4OTg0NTJmNHh3DmNvcmUvcGFyYWdyYXBoeXckM2QwZmFlZTMtODI2Ny00OTMzLWIwNzgtM2ZmM2M2ZDA5ZjIzdwpjb3JlL2dyb3VwdwNkaXZ2AQR0eXBldwtjb25zdHJhaW5lZHckNzE4MjBiODktZGJiZC00MzQ0LWJkMTItMTZiNTI2MzFkY2VheHcMY29yZS9oZWFkaW5nfQN3JGU1YzZiZDk1LTZjYzYtNGYwMS1iMWM3LTg5NGNiMzc1YjcxNnh3DmNvcmUvcGFyYWdyYXBoeXckYWM5MjhkOTYtOTRmOC00OTk0LThhNTctNjczNmNmNGI1MTY5eHcOY29yZS9wYXJhZ3JhcGh5dyQ0ZjY3M2I5YS04N2IwLTRkMGUtODliYi0xYWIwOGRhZjE5ODV3CmNvcmUvZ3JvdXB3A2RpdnYBBHR5cGV3C2NvbnN0cmFpbmVkdyQ3M2Q0ZDY0ZS1lY2Q2LTQ5OTEtYjFjYS1jNjUwYmM3YWU2YjZ4dwxjb3JlL2hlYWRpbmd9A3ckZjQyNzlhNGUtZDBjMi00MDc2LWJmMmItNmY2MDNlYzc0ZWMyeHcOY29yZS9wYXJhZ3JhcGh5dyQyYzg4MjRkMy00YTQzLTQ1MjQtYWVmNC0xYmY5MzhlOGUxYWF4dw5jb3JlL3BhcmFncmFwaHl3JGY3NzU3YTJlLTg0YjYtNGI0MS05ZmUyLTM0NDU0NDc3MzllMHcKY29yZS9ncm91cHcDZGl2dgEEdHlwZXcLY29uc3RyYWluZWR3JDkyZDJiNzMwLWM2YjUtNGUwNS1hODdiLTc4NDJkNDM0OTM0MXh3DGNvcmUvaGVhZGluZ30DdyQ2NzdlY2MyYy1jOTY4LTRmOGItYTNkNS1kMGUyMWUyZjFiY2F4dw5jb3JlL3BhcmFncmFwaHl3JDEzNmI5MTVhLWY5MmEtNGMzZS05N2Y0LTNiZDhiZWIwM2E1ZHh3DmNvcmUvcGFyYWdyYXBoeXckOTFiYzk5NDQtMDM0Ni00N2I1LWFiNDQtOWY2ZjRkMmE1NWRleHcOY29yZS9wYXJhZ3JhcGh5dyQ1OTVmYWE0Yy1lMjExLTRkNzUtYTczOS1mOTE5YTQzOWFjM2J3CmNvcmUvZ3JvdXB3A2RpdnYBBHR5cGV3C2NvbnN0cmFpbmVkdyQ3ZDZmZWNlYy0zMmI4LTQ3NzEtYTRjZS0wYmJhYmMxYzZjNTl4dwxjb3JlL2hlYWRpbmd9A3ckOTYwMTNkN2UtMzFhNy00ZjQyLWFlM2QtNzk0MzBkMjkyMWM3eHcOY29yZS9wYXJhZ3JhcGh5dyQxNDk5MWZhOS1kNmQ4LTRhODgtYmNlMC1hMGUyM2I4ZWY2MzJ4dw5jb3JlL3BhcmFncmFwaHl2AQdzcGFjaW5ndgEIYmxvY2tHYXB3ATB2AQdzcGFjaW5ndgEIYmxvY2tHYXB3FXZhcjpwcmVzZXR8c3BhY2luZ3wxMHYBB3NwYWNpbmd2AQhibG9ja0dhcHcVdmFyOnByZXNldHxzcGFjaW5nfDIwdgEHc3BhY2luZ3YBCGJsb2NrR2FwdxV2YXI6cHJlc2V0fHNwYWNpbmd8MzB2AQdzcGFjaW5ndgEIYmxvY2tHYXB3FXZhcjpwcmVzZXR8c3BhY2luZ3wxMHYBB3NwYWNpbmd2AQhibG9ja0dhcHcVdmFyOnByZXNldHxzcGFjaW5nfDEwdgEHc3BhY2luZ3YBCGJsb2NrR2FwdxV2YXI6cHJlc2V0fHNwYWNpbmd8MTB2AQdzcGFjaW5ndgEIYmxvY2tHYXB3FXZhcjpwcmVzZXR8c3BhY2luZ3wxMHYBB3NwYWNpbmd2AQhibG9ja0dhcHcVdmFyOnByZXNldHxzcGFjaW5nfDEwdgEHc3BhY2luZ3YBCGJsb2NrR2FwdxV2YXI6cHJlc2V0fHNwYWNpbmd8MTB2AQdzcGFjaW5ndgEIYmxvY2tHYXB3FXZhcjpwcmVzZXR8c3BhY2luZ3wxMHYBB3NwYWNpbmd2AQhibG9ja0dhcHcVdmFyOnByZXNldHxzcGFjaW5nfDEwdgEHc3BhY2luZ3YBCGJsb2NrR2FwdxV2YXI6cHJlc2V0fHNwYWNpbmd8MTCkBAB3EzIwMjUtMTItMDRUMTk6MTg6NDl3D2NvZGUtb2YtY29uZHVjdHcHcHVibGlzaH2KzewOfQB3BmNsb3NlZHcGY2xvc2VkdwB4dwB3JDM1ZmY3YTA4LWE2NWUtNDNmYi04NDBjLTNhYzE0ZjI5ZjdjY3h3LDxoMyBjbGFzcz0id3AtYmxvY2staGVhZGluZyI+MS4gUHVycG9zZTwvaDM+dwxjb3JlL2hlYWRpbmd9A3ckOTcwNmZiMmItZGVmMi00NzNmLWFlOGYtY2I5YzczY2RiMGQ5eHe4AzxwPjxzcGFuIHN0eWxlPSJjb2xvcjogcmVkO3RleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIj5Xb3JkQ2FtcCBSYWpzaGFoaTwvc3Bhbj4gYmVsaWV2ZXMgb3VyIGNvbW11bml0eSBzaG91bGQgYmUgdHJ1bHkgb3BlbiBmb3IgZXZlcnlvbmUuIEFzIHN1Y2gsIHdlIGFyZSBjb21taXR0ZWQgdG8gcHJvdmlkaW5nIGEgZnJpZW5kbHksIHNhZmUgYW5kIHdlbGNvbWluZyBlbnZpcm9ubWVudCBmb3IgYWxsLCByZWdhcmRsZXNzIG9mIGdlbmRlciwgc2V4dWFsIG9yaWVudGF0aW9uLCBkaXNhYmlsaXR5LCBldGhuaWNpdHksIHJlbGlnaW9uLCBhZ2UsIGNhc3RlLCBzb2NpYWwgY2xhc3MsIHByZWZlcnJlZCBvcGVyYXRpbmcgc3lzdGVtLCBwcm9ncmFtbWluZyBsYW5ndWFnZSwgb3IgdGV4dCBlZGl0b3IsIGFtb25nIG90aGVyIGlkZW50aWZ5aW5nIGNoYXJhY3RlcmlzdGljcy48L3A+dw5jb3JlL3BhcmFncmFwaHl3JDYzYzJkZGRjLTI3NDEtNGE2MS1iZDYwLTQ5ODY5MmViYzBkYXh3hQE8cD5UaGlzIGNvZGUgb2YgY29uZHVjdCBvdXRsaW5lcyBvdXIgZXhwZWN0YXRpb25zIGZvciBwYXJ0aWNpcGFudCBiZWhhdmlvciBhcyB3ZWxsIGFzIHRoZSBjb25zZXF1ZW5jZXMgZm9yIHVuYWNjZXB0YWJsZSBiZWhhdmlvci48L3A+dw5jb3JlL3BhcmFncmFwaHl3JDBjMGRmMmVmLWZmMDgtNDYxOC1iYWM4LWNhM2NiMGM1MWQ4NHh3oQE8cD5XZSBpbnZpdGUgYWxsIHNwb25zb3JzLCB2b2x1bnRlZXJzLCBzcGVha2VycywgYXR0ZW5kZWVzLCBhbmQgb3RoZXIgcGFydGljaXBhbnRzIHRvIGhlbHAgdXMgcmVhbGl6ZSBhIHNhZmUgYW5kIHBvc2l0aXZlIGNvbmZlcmVuY2UgZXhwZXJpZW5jZSBmb3IgZXZlcnlvbmUuPC9wPncOY29yZS9wYXJhZ3JhcGh5dyRhNTdkMWNmNS02ZGExLTQ0ZmMtOWU2MC00NmUxMDg3ZTUwNzl4dwc8cD48L3A+dw5jb3JlL3BhcmFncmFwaHl3JDlkNGFhNzFjLWQ5MGYtNDU5Mi1hNmQzLWFmY2MyOTcwMWU5Mnh3PDxoMyBjbGFzcz0id3AtYmxvY2staGVhZGluZyI+Mi4gT3BlbiBTb3VyY2UgQ2l0aXplbnNoaXA8L2gzPncMY29yZS9oZWFkaW5nfQN3JGQyMjAxZThjLWQ0MTUtNDhmZC04YmY2LWIyOTc3YjhkNzEzMHh30gE8cD5BIHN1cHBsZW1lbnRhbCBnb2FsIG9mIHRoaXMgY29kZSBvZiBjb25kdWN0IGlzIHRvIGluY3JlYXNlIG9wZW4gc291cmNlIGNpdGl6ZW5zaGlwIGJ5IGVuY291cmFnaW5nIHBhcnRpY2lwYW50cyB0byByZWNvZ25pemUgYW5kIHN0cmVuZ3RoZW4gdGhlIHJlbGF0aW9uc2hpcHMgYmV0d2VlbiB3aGF0IHdlIGRvIGFuZCB0aGUgY29tbXVuaXR5IGF0IGxhcmdlLjwvcD53DmNvcmUvcGFyYWdyYXBoeXckZjkzZTFjN2ItYzllZC00NDg3LWJiYTgtZTc4NDRkM2UwYzc0eHfFAjxwPkluIHNlcnZpY2Ugb2YgdGhpcyBnb2FsLCA8c3BhbiBzdHlsZT0iY29sb3I6IHJlZDt0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSI+V29yZENhbXAgPHNwYW4gc3R5bGU9ImNvbG9yOiByZWQ7dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUiPlJhanNoYWhpPC9zcGFuPjwvc3Bhbj4gb3JnYW5pemVycyB3aWxsIGJlIHRha2luZyBub21pbmF0aW9ucyBmb3IgZXhlbXBsYXJ5IGNpdGl6ZW5zIHRocm91Z2hvdXQgdGhlIGV2ZW50IGFuZCB3aWxsIHJlY29nbml6ZSBzZWxlY3QgcGFydGljaXBhbnRzIGFmdGVyIHRoZSBjb25mZXJlbmNlIG9uIHRoZSB3ZWJzaXRlLjwvcD53DmNvcmUvcGFyYWdyYXBoeXckOTc1YTAyOTQtYmNhMi00YmQ2LWEwOGQtNDVjMjU2NGFhYjU1eHfCAjxwPklmIHlvdSBzZWUgc29tZW9uZSB3aG8gaXMgbWFraW5nIGFuIGV4dHJhIGVmZm9ydCB0byBlbnN1cmUgb3VyIGNvbW11bml0eSBpcyB3ZWxjb21pbmcsIGZyaWVuZGx5LCBhbmQgZW5jb3VyYWdlcyBhbGwgcGFydGljaXBhbnRzIHRvIGNvbnRyaWJ1dGUgdG8gdGhlIGZ1bGxlc3QgZXh0ZW50LCB3ZSB3YW50IHRvIGtub3cuIDxzcGFuIHN0eWxlPSJjb2xvcjogcmVkO3RleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIj5Zb3UgY2FuIG5vbWluYXRlIHNvbWVvbmUgYXQgdGhlIFJlZ2lzdHJhdGlvbiB0YWJsZSBvciBvbmxpbmUgYXQgVVJMIEhFUkUuPC9zcGFuPjwvcD53DmNvcmUvcGFyYWdyYXBoeXckNWU2MjYwYWQtNWFiMS00YWM2LTljNjEtYjg3YmFjYWEwNDFkeHcHPHA+PC9wPncOY29yZS9wYXJhZ3JhcGh5dyQwMGQxNGYzMC02MmIyLTRmM2ItYTViNC00MWY5MTI3ZDc3NzZ4dzY8aDMgY2xhc3M9IndwLWJsb2NrLWhlYWRpbmciPjMuIEV4cGVjdGVkIEJlaGF2aW9yPC9oMz53DGNvcmUvaGVhZGluZ30DdyQyMjUzOWM1Mi01NzU3LTRhYWUtYjc0NS04MWM1MTA4MDgxZmN4dyU8dWwgY2xhc3M9IndwLWJsb2NrLWxpc3QiPgoKCgoKCjwvdWw+dwljb3JlL2xpc3R5dwB3JGJmZjBhNTM2LTgzOTItNDdhYy04NjE2LTgxY2ZmYzNkZDM5Y3h3NzxsaT5CZSBjb25zaWRlcmF0ZSwgcmVzcGVjdGZ1bCwgYW5kIGNvbGxhYm9yYXRpdmUuPC9saT53DmNvcmUvbGlzdC1pdGVtdyQwYTg0YTMzMC00ZDNjLTQ3ZTEtODFiZi01Mjk0OGE1ZTBhNmR4d1E8bGk+UmVmcmFpbiBmcm9tIGRlbWVhbmluZywgZGlzY3JpbWluYXRvcnkgb3IgaGFyYXNzaW5nIGJlaGF2aW9yIGFuZCBzcGVlY2guPC9saT53DmNvcmUvbGlzdC1pdGVtdyQzNGZiMGI5NS0wMWFmLTQyNDAtOWJkNS0wNmY0NmRkMjllMDh4d6EBPGxpPkJlIG1pbmRmdWwgb2YgeW91ciBzdXJyb3VuZGluZ3MgYW5kIG9mIHlvdXIgZmVsbG93IHBhcnRpY2lwYW50cy4gQWxlcnQgY29uZmVyZW5jZSBvcmdhbml6ZXJzIGlmIHlvdSBub3RpY2UgYSBkYW5nZXJvdXMgc2l0dWF0aW9uIG9yIHNvbWVvbmUgaW4gZGlzdHJlc3MuPC9saT53DmNvcmUvbGlzdC1pdGVtdyQ2ZDcyZmI2ZC02OWQ5LTRkNGYtYTQ0My1lYWY3NGU1ZjI4YmN4d\/IBPGxpPlBhcnRpY2lwYXRlIGluIGFuIGF1dGhlbnRpYyBhbmQgYWN0aXZlIHdheS4gSW4gZG9pbmcgc28sIHlvdSBoZWxwIHRvIGNyZWF0ZSA8c3BhbiBzdHlsZT0iY29sb3I6IHJlZDt0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSI+V29yZENhbXAgPHNwYW4gc3R5bGU9ImNvbG9yOiByZWQ7dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUiPlJhanNoYWhpPC9zcGFuPjwvc3Bhbj4gYW5kIG1ha2UgaXQgeW91ciBvd24uPC9saT53DmNvcmUvbGlzdC1pdGVtdyQxODJkMWM3Ni05NmQxLTQzZGEtODUzOS00OTFhNjliMDI3NTd4dwc8cD48L3A+dw5jb3JlL3BhcmFncmFwaHl3JDIyMDZmNzBlLTQ4YWItNDE0Yy04MzFmLTVhY2Y3MTAxZTBhZnh3OjxoMyBjbGFzcz0id3AtYmxvY2staGVhZGluZyI+NC4gVW5hY2NlcHRhYmxlIEJlaGF2aW9yPC9oMz53DGNvcmUvaGVhZGluZ30DdyRmOGYxYmE5MC1lODI2LTQxZTAtYjU1ZC05MWJkZmU2YTgyYjZ4d50EPHA+VW5hY2NlcHRhYmxlIGJlaGF2aW9ycyBpbmNsdWRlOiBpbnRpbWlkYXRpbmcsIGhhcmFzc2luZywgYWJ1c2l2ZSwgZGlzY3JpbWluYXRvcnksIGRlcm9nYXRvcnkgb3IgZGVtZWFuaW5nIGNvbmR1Y3QgYnkgYW55IGF0dGVuZGVlcyBvZiA8c3BhbiBzdHlsZT0iY29sb3I6IHJlZDt0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSI+V29yZENhbXAgPHNwYW4gc3R5bGU9ImNvbG9yOiByZWQ7dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUiPlJhanNoYWhpPC9zcGFuPjwvc3Bhbj4gYW5kIHJlbGF0ZWQgZXZlbnRzLiBBbGwgPHNwYW4gc3R5bGU9ImNvbG9yOiByZWQ7dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUiPldvcmRDYW1wIDxzcGFuIHN0eWxlPSJjb2xvcjogcmVkO3RleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIj5SYWpzaGFoaTwvc3Bhbj48L3NwYW4+IHZlbnVlcyBtYXkgYmUgc2hhcmVkIHdpdGggbWVtYmVycyBvZiB0aGUgcHVibGljOyBwbGVhc2UgYmUgcmVzcGVjdGZ1bCB0byBhbGwgcGF0cm9ucyBvZiB0aGVzZSBsb2NhdGlvbnMuPC9wPncOY29yZS9wYXJhZ3JhcGh5dyRlOWIwYTM4OS1lZjdlLTQzZDMtYmQ5My0zYWJiMDIyMDk1N2V4d54DPHA+SGFyYXNzbWVudCBpbmNsdWRlczogb2ZmZW5zaXZlIHZlcmJhbCBjb21tZW50cyByZWxhdGVkIHRvIGdlbmRlciwgc2V4dWFsIG9yaWVudGF0aW9uLCByYWNlLCByZWxpZ2lvbiwgZGlzYWJpbGl0eTsgaW5hcHByb3ByaWF0ZSB1c2Ugb2YgbnVkaXR5IGFuZC9vciBzZXh1YWwgaW1hZ2VzIGluIHB1YmxpYyBzcGFjZXMgKGluY2x1ZGluZyBwcmVzZW50YXRpb24gc2xpZGVzKTsgZGVsaWJlcmF0ZSBpbnRpbWlkYXRpb24sIHN0YWxraW5nIG9yIGZvbGxvd2luZzsgaGFyYXNzaW5nIHBob3RvZ3JhcGh5IG9yIHJlY29yZGluZzsgc3VzdGFpbmVkIGRpc3J1cHRpb24gb2YgdGFsa3Mgb3Igb3RoZXIgZXZlbnRzOyBpbmFwcHJvcHJpYXRlIHBoeXNpY2FsIGNvbnRhY3QsIGFuZCB1bndlbGNvbWUgc2V4dWFsIGF0dGVudGlvbi48L3A+dw5jb3JlL3BhcmFncmFwaHl3JDg4NWNmMmIzLWI4OTEtNDEzYS1iYTM3LTU4YmZjMzVhNWU3Znh3BzxwPjwvcD53DmNvcmUvcGFyYWdyYXBoeXckZWUwMTI2NWItM2I0ZS00ODcxLWE4NTgtMmQwMTM0M2MzODY2eHdKPGgzIGNsYXNzPSJ3cC1ibG9jay1oZWFkaW5nIj41LiBDb25zZXF1ZW5jZXMgT2YgVW5hY2NlcHRhYmxlIEJlaGF2aW9yPC9oMz53DGNvcmUvaGVhZGluZ30DdyQ3MWFjNjA3NS03ZjM3LTQ3ZDQtOTVhYS1iYzY0ODRiNGE4MTJ4d5UCPHA+VW5hY2NlcHRhYmxlIGJlaGF2aW9yIHdpbGwgbm90IGJlIHRvbGVyYXRlZCB3aGV0aGVyIGJ5IG90aGVyIGF0dGVuZGVlcywgb3JnYW5pemVycywgdmVudWUgc3RhZmYsIHNwb25zb3JzLCBvciBvdGhlciBwYXRyb25zIG9mIDxzcGFuIHN0eWxlPSJjb2xvcjogcmVkO3RleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIj5Xb3JkQ2FtcCA8c3BhbiBzdHlsZT0iY29sb3I6IHJlZDt0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSI+UmFqc2hhaGk8L3NwYW4+PC9zcGFuPiB2ZW51ZXMuPC9wPncOY29yZS9wYXJhZ3JhcGh5dyQ5MTgzZTA3Ni0zMDhlLTRmZmQtYmIwNy1jMjliYjQxMDYzNTl4d1Q8cD5BbnlvbmUgYXNrZWQgdG8gc3RvcCB1bmFjY2VwdGFibGUgYmVoYXZpb3IgaXMgZXhwZWN0ZWQgdG8gY29tcGx5IGltbWVkaWF0ZWx5LjwvcD53DmNvcmUvcGFyYWdyYXBoeXckMGI0NWYzMmUtNjNiYy00NzM0LThjMTYtMDliZGYyZTM2MzUzeHfLATxwPklmIGEgcGFydGljaXBhbnQgZW5nYWdlcyBpbiB1bmFjY2VwdGFibGUgYmVoYXZpb3IsIHRoZSBjb25mZXJlbmNlIG9yZ2FuaXplcnMgbWF5IHRha2UgYW55IGFjdGlvbiB0aGV5IGRlZW0gYXBwcm9wcmlhdGUsIHVwIHRvIGFuZCBpbmNsdWRpbmcgZXhwdWxzaW9uIGZyb20gdGhlIGNvbmZlcmVuY2Ugd2l0aG91dCB3YXJuaW5nIG9yIHJlZnVuZC48L3A+dw5jb3JlL3BhcmFncmFwaHl3JDAzNjZmNTViLWEyMDgtNDM4MC04OTU2LTc0NTY5Njg1ZDE2OXh3BzxwPjwvcD53DmNvcmUvcGFyYWdyYXBoeXckMzBlMzk5ZmEtYmFkMy00MTRiLTk2NWMtZmI2ZTM3ZGZlNDQ0eHdmPGgzIGNsYXNzPSJ3cC1ibG9jay1oZWFkaW5nIj42LiBXaGF0IFRvIERvIElmIFlvdSBXaXRuZXNzIE9yIEFyZSBTdWJqZWN0IFRvIFVuYWNjZXB0YWJsZSBCZWhhdmlvcjwvaDM+dwxjb3JlL2hlYWRpbmd9A3ckYjEwZjE0YmEtMmE4My00MTQwLTk0NDItMWMwNDg2NjlkN2VheHfNATxwPklmIHlvdSBhcmUgc3ViamVjdCB0byB1bmFjY2VwdGFibGUgYmVoYXZpb3IsIG5vdGljZSB0aGF0IHNvbWVvbmUgZWxzZSBpcyBiZWluZyBzdWJqZWN0IHRvIHVuYWNjZXB0YWJsZSBiZWhhdmlvciwgb3IgaGF2ZSBhbnkgb3RoZXIgY29uY2VybnMsIHBsZWFzZSBub3RpZnkgYSBjb25mZXJlbmNlIG9yZ2FuaXplciBhcyBzb29uIGFzIHBvc3NpYmxlLjwvcD53DmNvcmUvcGFyYWdyYXBoeXckYTYzZjI1MTItZTIyNi00ZjYxLWEzNmItOTgwNGM5Nzk4NjRjeHf7BDxwPlRoZSA8c3BhbiBzdHlsZT0iY29sb3I6IHJlZDt0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSI+V29yZENhbXAgPHNwYW4gc3R5bGU9ImNvbG9yOiByZWQ7dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUiPlJhanNoYWhpPC9zcGFuPjwvc3Bhbj4gdGVhbSB3aWxsIGJlIGF2YWlsYWJsZSB0byBoZWxwIHBhcnRpY2lwYW50cyBjb250YWN0IHZlbnVlIHNlY3VyaXR5IG9yIGxvY2FsIGxhdyBlbmZvcmNlbWVudCwgdG8gcHJvdmlkZSBlc2NvcnRzLCBvciB0byBvdGhlcndpc2UgYXNzaXN0IHRob3NlIGV4cGVyaWVuY2luZyB1bmFjY2VwdGFibGUgYmVoYXZpb3IgdG8gZmVlbCBzYWZlIGZvciB0aGUgZHVyYXRpb24gb2YgdGhlIGNvbmZlcmVuY2UuIDxzcGFuIHN0eWxlPSJjb2xvcjogcmVkO3RleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIj5Wb2x1bnRlZXJzIHdpbGwgYmUgd2VhcmluZyBYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFguPC9zcGFuPiBBbnkgdm9sdW50ZWVyIGNhbiBjb25uZWN0IHlvdSB3aXRoIGEgY29uZmVyZW5jZSBvcmdhbml6ZXIuIFlvdSBjYW4gYWxzbyBjb21lIHRvIHRoZSBzcGVjaWFsIHJlZ2lzdHJhdGlvbiBkZXNrIGluIHRoZSBsb2JieSBhbmQgYXNrIGZvciB0aGUgb3JnYW5pemVycy48L3A+dw5jb3JlL3BhcmFncmFwaHl3JGYzNzZlMzU5LThjZmEtNDBiZi05YTEwLTRmODRjNTRmZTA0Y3h3BzxwPjwvcD53DmNvcmUvcGFyYWdyYXBoeXckOTZiY2ExNGUtMGY0MS00ZGQ4LTk4OTItYWI1NzZiYTUxOTUzeHcqPGgzIGNsYXNzPSJ3cC1ibG9jay1oZWFkaW5nIj43LiBTY29wZTwvaDM+dwxjb3JlL2hlYWRpbmd9A3ckY2I3NmRiZDAtYTBjMC00NjdjLWE5YjctNWJkZGM5ZGVhYWMyeHfKATxwPldlIGV4cGVjdCBhbGwgY29uZmVyZW5jZSBwYXJ0aWNpcGFudHMgKHNwb25zb3JzLCB2b2x1bnRlZXJzLCBzcGVha2VycywgYXR0ZW5kZWVzLCBhbmQgb3RoZXIgZ3Vlc3RzKSB0byBhYmlkZSBieSB0aGlzIGNvZGUgb2YgY29uZHVjdCBhdCBhbGwgY29uZmVyZW5jZSB2ZW51ZXMgYW5kIGNvbmZlcmVuY2UtcmVsYXRlZCBzb2NpYWwgZXZlbnRzLjwvcD53DmNvcmUvcGFyYWdyYXBoeXckNjg2M2VjZmYtZDgxYi00ZjY0LThjYTYtMTEzNTU1ZjM4YTQ5eHcHPHA+PC9wPncOY29yZS9wYXJhZ3JhcGh5dyRiZGI1NGM2ZS1hMjk1LTQ4NDEtYTZmMC01Yjk3NmVlZDFkZWN4dzg8aDMgY2xhc3M9IndwLWJsb2NrLWhlYWRpbmciPjguIENvbnRhY3QgSW5mb3JtYXRpb248L2gzPncMY29yZS9oZWFkaW5nfQN3JDdlNmU3NjNkLTdhZGEtNDJkZS04OTExLWI5NGY5MTRmZDdlMHh3nQE8cD48c3BhbiBzdHlsZT0iY29sb3I6IHJlZDt0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSI+Q29udGFjdCBpbmZvIGhlcmUhIE1ha2Ugc3VyZSB0aGlzIGluY2x1ZGVzIGEgd2F5IHRvIGFjY2VzcyB0aGUgb3JnYW5pemVycyBkdXJpbmcgdGhlIGV2ZW50Ljwvc3Bhbj48L3A+dw5jb3JlL3BhcmFncmFwaHl3JDJkZGFlZmVkLThlNWQtNGQxNi05ZGFiLWNhZGNjZmUzOTQ5MHh3BzxwPjwvcD53DmNvcmUvcGFyYWdyYXBoeXckNmNjYTA5MWYtYTllNi00ZTBiLTk5ZDQtNjc5M2IxYmUwZGIweHc8PGgzIGNsYXNzPSJ3cC1ibG9jay1oZWFkaW5nIj45LiBMaWNlbnNlIEFuZCBBdHRyaWJ1dGlvbjwvaDM+dwxjb3JlL2hlYWRpbmd9A3ckZmVhY2Y5YTMtNDdiZi00ODJmLWE1YjQtODFkZTBiMWU2MTFjeHe3AzxwPlRoaXMgQ29kZSBvZiBDb25kdWN0IGlzIGEgZGlyZWN0IHN3aXBlIGZyb20gdGhlIGF3ZXNvbWUgd29yayBvZiBPcGVuIFNvdXJjZSBCcmlkZ2UsIGJ1dCB3aXRoIG91ciBldmVudCBpbmZvcm1hdGlvbiBzdWJzdGl0dXRlZC4gVGhlIG9yaWdpbmFsIGlzIGF2YWlsYWJsZSBhdCA8YSBocmVmPSJodHRwOi8vd2ViLmFyY2hpdmUub3JnL3dlYi8yMDE5MTIwNjA4MzU1Ny9odHRwOi8vb3BlbnNvdXJjZWJyaWRnZS5vcmcvYWJvdXQvY29kZS1vZi1jb25kdWN0LyI+T3BlbiBTb3VyY2UgQnJpZGdlIDIwMTggW2FyY2hpdmVkXTwvYT4gYW5kIGlzIHJlbGVhc2VkIHVuZGVyIGEgPGEgaHJlZj0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbGljZW5zZXMvYnktc2EvMy4wLyI+Q3JlYXRpdmUgQ29tbW9ucyBBdHRyaWJ1dGlvbi1TaGFyZUFsaWtlPC9hPiBsaWNlbnNlLjwvcD53DmNvcmUvcGFyYWdyYXBoeXckODI1YjM1YzUtZTdhNy00NjMyLWExOTQtY2M2MDcyMTFiMDhheHcHPHA+PC9wPncOY29yZS9wYXJhZ3JhcGh5dyRmNjE2MDI2MS1iMjBkLTRlOTMtYWI2Ni0zZTdmZWY5MzU2NDB4dwc8cD48L3A+dw5jb3JlL3BhcmFncmFwaHl3JDE3MWYzYWRlLTNiYTAtNDhlYS05OWJkLTA4YzU4N2RkMWE0OXh3YzxoMyBjbGFzcz0id3AtYmxvY2staGVhZGluZyI+U3RhdGVtZW50IGFib3V0IFNvY2lhbHMgb3IgU3VwcGxlbWVudGFsIEV2ZW50cyAod2hlcmUgYXBwbGljYWJsZSk8L2gzPncMY29yZS9oZWFkaW5nfQN3JDVkMDY3MWM1LTYyYjUtNGE5My1hYWFjLWYyMDk5ZjVlYWQyMnh38gE8cD5Tb2NpYWwgYW5kIHN1cHBsZW1lbnRhbCBldmVudHMgYXJlIGludGVuZGVkIHRvIHByb3ZpZGUgbmV0d29ya2luZyBhbmQgYWRkaXRpb25hbCBlZHVjYXRpb25hbCBvcHBvcnR1bml0aWVzLCBhcyB3ZWxsIGFzIGFuIG9wcG9ydHVuaXR5IHRvIHVud2luZCBhZnRlciBhIGZ1bGwgV29yZENhbXAuIFRoZXkgc2hvdWxkIGFsc28gYmUgcGxhY2VzIHdoZXJlIGF0dGVuZGVlcyBjYW4gZmVlbCBzYWZlIGFuZCBzZWN1cmUuPC9wPncOY29yZS9wYXJhZ3JhcGh5dyQyMjVkNTk3Ni1mY2VmLTRjNWItODVhMi00NWUwOTg2YjJiZTJ4d7MHPHA+V2Ugd2FudCB5b3UgdG8gZW5qb3kgeW91cnNlbGYgYXQgdGhlc2UgZXZlbnRzLCBhbmQgd2Ugd2FudCB5b3UgdG8gZG8gc28gc2FmZWx5LiBJZiB5b3UgZXhwZXJpZW5jZSBhIENvZGUgb2YgQ29uZHVjdCB2aW9sYXRpb24sIHNlZSBhIHZpb2xhdGlvbiwgYXJlIGNvbmNlcm5lZCBhYm91dCB0aGUgd2VsbC1iZWluZywgc2FmZXR5IG9yIGJlaGF2aW9yIG9mIGFub3RoZXIgYXR0ZW5kZWUsIG9yIGhhdmUgYSBnZW5lcmFsIHF1ZXN0aW9uICh3ZSB1bmRlcnN0YW5kIHRoYXQgdmlvbGF0aW9ucyBhcmUgbm90IGFsd2F5cyBvYnZpb3VzISkgY29udGFjdCB1cyBpbW1lZGlhdGVseSBieSBub3RpZnlpbmcgYSBXb3JkQ2FtcCBvcmdhbml6ZXIgb3IgZW1haWxpbmcgPGEgaHJlZj0ibWFpbHRvOnJlcG9ydEB3b3JkY2FtcC5vcmciPnJlcG9ydEB3b3JkY2FtcC5vcmc8L2E+LiBGb3IgaW4tcGVyc29uIGV2ZW50cywgaWYgeW91IG5lZWQgaGVscCBvciBhcmUgdW5hYmxlIHRvIGNvbWZvcnRhYmx5IG9yIHNhZmVseSByZW1vdmUgeW91cnNlbGYgZnJvbSBhIHNpdHVhdGlvbiB5b3UgZG8gbm90IHdhbnQgdG8gYmUgaW4sIG9yZ2FuaXplcnMgd2lsbCBwcmlvcml0aXplIGFzc2lzdGluZyB5b3UgaW1tZWRpYXRlbHkgYW5kIGRpc2NyZXRlbHkuIFNvbWUgZXhhbXBsZXMgYXJlOiBub3QgZmVlbGluZyB3ZWxsOyB5b3VyIHRyYW5zcG9ydGF0aW9uIGFycmFuZ2VtZW50cyBmYWxsIHRocm91Z2g7IHlvdSBhcmUgaW50b3hpY2F0ZWQsIHlvdSBhcmUgYWxvbmUgb3Igd2l0aCBzb21lb25lIHlvdSBkbyBub3QgdHJ1c3QsIHlvdSBhcmUgb3ZlcndoZWxtZWQsIHlvdSBoYXZlIGV4cGVyaWVuY2VkIG9yIHdpdG5lc3NlZCBhIENvZGUgb2YgQ29uZHVjdCB2aW9sYXRpb24uIFBsZWFzZSBhc2sgYW55IG5lYXJieSBldmVudCB2b2x1bnRlZXIgb3Igb3JnYW5pemVyIHRvIGhlbHAgeW91LjwvcD53DmNvcmUvcGFyYWdyYXBoeQPftcCzCQMBVRM4OWCr+JWlBDUAAAUAAQABCwHoBQEAAQABGwG9BgEAAQABFQGmBAEAAQABGQHEBwEAAQABKQG+BAEAAQABRQHyBgEAAQABCQHSAQEAAQABFwGrAQEAAQABGwHHAwEAAQABQgGzCdsMtAEtIssqAAEA9wEzbDNsM2wzbDNsM2wzbDPKrfLwAzEAABQHxQcACAMCAAEABQYBF+wHCQEBAQECBQQJAgACAgEDAhJbH4QHFgEfiAkWAR\/ABhYBH88GF9oBFgEf2AIWAR+cAQMCBgEDAQUBAgECAQ4EBAIACwABBQoAQhYBH40FFgEfhgsAAQEBCwHKNg==\",\"updateId\":135290798}","jetpack_post_was_ever_published":true,"footnotes":""},"class_list":["post-21","page","type-page","status-publish","hentry"],"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/rajshahi.wordcamp.org\/2026\/wp-json\/wp\/v2\/pages\/21","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/rajshahi.wordcamp.org\/2026\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/rajshahi.wordcamp.org\/2026\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/rajshahi.wordcamp.org\/2026\/wp-json\/wp\/v2\/users\/15569738"}],"replies":[{"embeddable":true,"href":"https:\/\/rajshahi.wordcamp.org\/2026\/wp-json\/wp\/v2\/comments?post=21"}],"version-history":[{"count":5,"href":"https:\/\/rajshahi.wordcamp.org\/2026\/wp-json\/wp\/v2\/pages\/21\/revisions"}],"predecessor-version":[{"id":1439,"href":"https:\/\/rajshahi.wordcamp.org\/2026\/wp-json\/wp\/v2\/pages\/21\/revisions\/1439"}],"wp:attachment":[{"href":"https:\/\/rajshahi.wordcamp.org\/2026\/wp-json\/wp\/v2\/media?parent=21"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}