Hall-Wynne and Gentry-Newell & Vaughan Funeral Home in Durham & Oxford, NC provides funeral, memorial, aftercare, pre-planning, and cremation services to our community and the surrounding areas. Eakes Funeral Homes Inc. . Eakes Funeral Home 106 Clement Avenue Oxford, NC MISSY COTTRELL OBITUARY Missy Cottrell January 11, 1960 - July 25, 2022 Oxford, North Carolina - Missy Cottrell, 62, died peacefully. every life has a storyhonoring tradition. A unique and lasting tribute for a loved one. View obituary. All four currently hired staff members Jenny Reed, Hubert Cox and Huey and Debra Thomerson will remain, Sossamon said. http://www.eakesfuneralhome.com/, Eakes Funeral Home Incorporated History Page Patricia was born in Granville County on June 16, 1948 to the late Foster Fleming Henley and Rosa Ball Henley. If so, claim your Forever Free Basic Listing today! The location at 106 Clement Ave. in Oxford is getting a facelift in the form of a new paint job. Winds light and variable. Visit website. Eakes Funeral Home Inc. provides funeral and cremation services to families of Oxford, North Carolina and the surrounding area. Hall-Wynne Funeral Service & Crematory Phone: (919) 688-6387 1113 W Main St Durham, NC 27701 CONNECT ON FACEBOOK. February 24, 2023 (61 years old) View obituary. Before living at Hillside, Dorothy resided in Creedmoor, North Carolina. Promotional Rates were found for your code. HENDERSON Eakes Funeral Home's locations in Oxford and Creedmoor are getting a new name after a sale that closed last Friday. If you are thinking about sending funeral flowers to a family who may have a loved one here}, you can send funeral bouquets to Eakes Funeral Home Incorporated right now. Our staff has experience planning a variety of funeral services and can assist your family in honoring your loved one no matter your personal preference, budget, culture, or religion. Born in Granville County, he was the son of the late Henry Jackson Whitt and Annie Adcock Whitt. 106 Clement Avenue, Oxford NC 27565. A graveside service will be held Friday, November 4, 2022 at 2:00 p.m. at Meadowview Read life story Bettie Fuller Parham Our History; Our Staff; Flowers & Gifts; Contact Us; Obituaries Eakes Funeral Home Helping Families and Friends Honor Their Loved One 106 Clement Avenue, Oxford NC 27565 Eakes Funeral HomeFamily Owned and Operated Since 1950 (919) 693-8186 We are available 24 hours a day, 7 days a week Home Obituaries Planning & Services Our Services Plan Ahead About Our History Our Staff Flowers & Gifts Contact Us Thats about the extent of the changes Sossamon is making to the two locations. To be able to help you contact Eakes Funeral Home Incorporated or perhaps if you need the address for Eakes Funeral Home Incorporated, their particular information is listed above. He was born in Granvil Lee Ann Vivian Kelly, age 61 of Stovall, passed away unexpectedly on Sunday, February 26th, 2023. The purchase was something Ive been wanting to do and the timing was just right, Sossamon said. Subscribe . We are available 24 hours a day, 7 days a week. Click here for directions to Eakes Funeral Home Inc. James Butch Kenneth Bass James Butch Kenneth Bass, 64, of Oxford, NC passed away Monday, October 31, 2022 at his home. You can click this link to create an obituary. Vernon was born on April 21, 1940 to the late Willard Lee Strickland and Irene Bullock. To inquire about a specific funeral service by Eakes Funeral Home Inc., contact the funeral director at 919-528-2323. Echovita Inc is a registered trademark. Mr. James Lumpkin, age 78, of Oxford, NC died peacefully on February 27, 2023, at Hock Pavilion. http://www.eakesfuneralhome.com/aboutus.html, Eakes Funeral Home Incorporated Contac Information For individuals cared for through Eakes Funeral Home Incorporated, Eakes Funeral Home Incorporated Home Page . He was a 1962 graduate of North Carolina State University and a member of Providence Baptist Church. John Sossamon, owner of Hendersons Sossamon Funeral Home, bought the two properties in Granville County. Upgrade now. Creedmoor Location (919)528-2323. The Eakes Funeral Home Family Eakes Funeral Homes Inc. Our funeral home has paid tribute to the time-honored traditions of Oxford and Creedmoor http://www.eakesfuneralhome.com/aboutus.html, Eakes Funeral Home Incorporated Obituaries Order Flowers. Our Services; Plan Ahead; About. 106 Clement Avenue Oxford, North Carolina 27565. Copyright 2023 Echovita Inc. All rights reserved. A licensed funeral director will assist you in making the proper funeral arrangements for your loved one. Eakes Funeral Home - Eakes Funeral Home, Inc We are working diligently on redirecting you to our main homepage. We are available 24 hours a day, 7 days a week. STEM, N.C. William Crowder, age 79, died Sunday, January 1, 2023 . Born in Durham County, he was the son of Carolyn Delores Rhew Brown and the late James Linwood Bass. Thelma Naomi Keith Thelma Naomi Keith, 96, a longtime resident of Granville County passed away Thursday, Oct. 19, 2022 at Hock Family Pavilion in Durham. Born in Durham County, he was the son of Carolyn Delores Rhew Brown and the late James Linwood Bass. Simply browse the Oxfords obituaries listing you can find on this page or conduct a search on the web site with your loved ones name. A licensed funeral director will assist you in making the proper funeral arrangements for your loved one. Eakes Funeral Home Incorporated Oxford, North Carolina Home North Carolina Oxford Funeral Homes Eakes Funeral Home Incorporated Eakes Funeral Home Incorporated in Oxford 106 Clement Ave Oxford, NC 27565 (919) 693-8186 Click to show location on map Zoom About Eakes Funeral Home Incorporated http://www.eakesfuneralhome.com/, Eakes Funeral Home Incorporated Obituaries There are no services planned at this time. As he and his family live in Oxford, an expansion to a nearby area made sense, he said. Linda Carol Carver McGarr Linda Carol Carver McGarr, 71, of Stem passed away Sunday, November 6, 2022 at her home. Survivors include three daughters, Dianne Dixon (Randy), Cheryl DeBurkarte, Katherine Dunavant Kitty White Katherine Dunavant Kitty White, 90, passed away Monday, October 3, 2022 at Whitmore Retirement Center in Oxford. Eakes Funeral Home Family Owned and Operated Since 1950 (919) 693-8186 We are available 24 hours a day, 7 days a week. A memorial service will be held Saturday, Ernest Henry Cooke Jr. Ernest Henry Cooke Jr., 94, of Oxford passed away Tuesday, November 1, 2022 at Granville Medical Center. Born in Richmond, Virginia, she was the daughter of the late Preston Payne Dunavant Sr. and Ethel Condrey Dunavant. Do you own or work for this funeral home? After losing a loved one, you can trust the funeral directors at Hall-Wynne and Gentry-Newell & Vaughan Funeral Home to help you celebrate your loved one's life. http://www.eakesfuneralhome.com/obituaries.html, http://www.eakesfuneralhome.com/aboutus.html, http://www.eakesfuneralhome.com/contact.html. Michael K. Allen. Dortothy was born in Nash County Dr. Glen Ray Martin Dr. Glen Ray Martin, 93, Bullock, passed away October 23, 2022, from cancer at Hock Family Pavilion in Durham. Sunny. Larry graduated from North Scott Mr. James Lumpkin, age 78, of Oxford, NC died peacefully on February 27, 2023, at Hock Pavilion. A native of Wake County she was the daughter of the late Marion and Geneva Carpenter Keith Vernon Lee Strickland Vernon Lee Strickland, 82, of Oxford passed away Sunday, October 16, 2022 at Universal Healthcare in Oxford. Select from these locations within 5 miles. When death comes we all need someone to be there for us. Funeral services will be held Saturday, November 12, 2022 at 11:00 a.m. at Sossamon, Patricia Rose Henley Goss Patricia Rose Henley Goss, 74, of Creedmoor passed away Sunday, November 6, 2022 at Duke University Medical Center. The Reverend Earl George Dulaney, Jr., age 79, of Oxford, NC, went to his heavenly home, Tuesday, February 7, 2023, afte PGgxIHN0eWxlPSJ0ZXh0LWFsaWduOiBsZWZ0OyBmb250LXNpemU6IDI1cHg7Ij5Qcml2YWN5IE5vdGljZTwvaDE+DQo8cCBzdHlsZT0idGV4dC1hbGlnbjogbGVmdDsgbWFyZ2luLWJvdHRvbTogMTVweDsiPjxlbT5MYXN0IHVwZGF0ZWQ6IFNlcHRlbWJlciAxNCwgMjAyMDwvZW0+PGJyIC8+PGJyIC8+U1JTIENvbXB1dGluZyBTb2x1dGlvbnMsIExMQyAoIlNSUywiICJ3ZSwiICJ1cywiICJvdXIiKSBpcyBjb21taXR0ZWQgdG8gcHJvdGVjdGluZyB5b3VyIHBlcnNvbmFsIGluZm9ybWF0aW9uLiBUaGlzIFByaXZhY3kgTm90aWNlIGRlc2NyaWJlcyB0aGUgcGVyc29uYWwgaW5mb3JtYXRpb24gdGhhdCB3ZSBjb2xsZWN0IGFib3V0IHlvdSwgaG93IHdlIHVzZSBhbmQgZGlzY2xvc2UgdGhpcyBpbmZvcm1hdGlvbiwgYW5kIHRoZSBzdGVwcyB3ZSB0YWtlIHRvIHByb3RlY3QgdGhpcyBpbmZvcm1hdGlvbi4gRm9yIHB1cnBvc2VzIG9mIHRoaXMgUHJpdmFjeSBOb3RpY2UsICJwZXJzb25hbCBpbmZvcm1hdGlvbiIgbWVhbnMgYW55IGluZm9ybWF0aW9uIHRoYXQgcmVsYXRlcyB0byB5b3UgYXMgYW4gaW5kaXZpZHVhbCBhbmQgY291bGQgcmVhc29uYWJseSBiZSB1c2VkIHRvIGlkZW50aWZ5IHlvdS4gVGhpcyBQcml2YWN5IE5vdGljZSBhcHBsaWVzIHRvIG91ciBjb2xsZWN0aW9uIGFuZCB1c2Ugb2YgcGVyc29uYWwgaW5mb3JtYXRpb24gdGhyb3VnaCB0aGlzIHdlYnNpdGUgYW5kIGFueSByZWxhdGVkIHdlYnNpdGVzLCBhcHBsaWNhdGlvbnMsIHRvb2xzLCBvciBwbGF0Zm9ybXMgKHRoZSAiU2VydmljZXMiKSwgYXMgd2VsbCBhcyB0aHJvdWdoIGFueSBvdGhlciBtZWFucyB3aGVyZSBhIGxpbmsgb3IgcmVmZXJlbmNlIHRvIHRoaXMgUHJpdmFjeSBOb3RpY2UgaXMgcHJvdmlkZWQgYXQgdGhlIHRpbWUgb2YgY29sbGVjdGlvbi48L3A+DQo8aDIgc3R5bGU9InRleHQtYWxpZ246IGxlZnQ7IGZvbnQtc2l6ZTogMjBweDsgcGFkZGluZy10b3A6IDQ1cHg7Ij5PdXIgU2VydmljZXM8L2gyPg0KPHAgc3R5bGU9InRleHQtYWxpZ246IGxlZnQ7IG1hcmdpbi1ib3R0b206IDE1cHg7Ij48YnIgLz5TUlMgaXMgYSBwcm92aWRlciBvZiBzb2Z0d2FyZSBtYW5hZ2VtZW50IHNlcnZpY2VzLCBpbmNsdWRpbmcgd2Vic2l0ZSwgcGF5bWVudCBwcm9jZXNzaW5nLCBpbnN1cmFuY2UgYW5kIGVjb21tZXJjZSBzZXJ2aWNlcywgdG8gZnVuZXJhbCwgY2VtZXRlcnkgYW5kIGNyZW1hdG9yeSBjb3Jwb3JhdGlvbnMgKG91ciAiQ2xpZW50cyIpLiBJbiBjb25uZWN0aW9uIHdpdGggdGhlIHByb3Zpc2lvbiBvZiB0aGVzZSBzZXJ2aWNlcywgU1JTIGNvbGxlY3RzIGFuZCBzdG9yZXMgcGVyc29uYWwgaW5mb3JtYXRpb24gcmVnYXJkaW5nIGluZGl2aWR1YWxzIHdobyB2aXNpdCBhbmQgdXRpbGl6ZSBjZXJ0YWluIGZ1bmN0aW9ucyBvciBmZWF0dXJlcyBvZiBvdXIgQ2xpZW50cycgd2Vic2l0ZXMgKCJFbmQgVXNlcnMiKS4gVGhpcyBQcml2YWN5IE5vdGljZSBhcHBsaWVzIHRvIFNSUydzIGNvbGxlY3Rpb24gYW5kIHVzZSBvZiBDbGllbnQgYW5kIEVuZCBVc2VyIHBlcnNvbmFsIGluZm9ybWF0aW9uIGJ1dCBub3QgdG8gb3VyIENsaWVudHMgdXNlIG9mIHN1Y2ggcGVyc29uYWwgaW5mb3JtYXRpb24uVGhpcyBQcml2YWN5IE5vdGljZSBhbHNvIGFwcGxpZXMgdG8gb3RoZXIgcGVyc29uYWwgaW5mb3JtYXRpb24gY29sbGVjdGVkIGRpcmVjdGx5IGJ5IFNSUywgaW5jbHVkaW5nIHRocm91Z2ggdXNlIG9mIG91ciB3ZWJzaXRlIG9yIG90aGVyd2lzZSBpbiBjb25uZWN0aW9uIHdpdGggdGhlIFNlcnZpY2VzLjwvcD4NCjxoMiBzdHlsZT0idGV4dC1hbGlnbjogbGVmdDsgZm9udC1zaXplOiAyMHB4OyBwYWRkaW5nLXRvcDogNDVweDsiPlBlcnNvbmFsIEluZm9ybWF0aW9uIFdlIENvbGxlY3Q8L2gyPg0KPHAgc3R5bGU9InRleHQtYWxpZ246IGxlZnQ7IG1hcmdpbi1ib3R0b206IDE1cHg7Ij48YnIgLz5XaGVuIHlvdSBhY2Nlc3Mgb3IgdXNlIHRoZSBTZXJ2aWNlcyBvciBvdGhlcndpc2UgaW50ZXJhY3Qgd2l0aCB1cywgd2hldGhlciBhcyBhIENsaWVudCwgRW5kIFVzZXIsIG9yIG90aGVyIGluZGl2aWR1YWwsIHdlIG1heSBjb2xsZWN0IGNlcnRhaW4gY2F0ZWdvcmllcyBvZiBwZXJzb25hbCBpbmZvcm1hdGlvbiBhYm91dCB5b3UgZnJvbSBhIHZhcmlldHkgb2Ygc291cmNlcy48YnIgLz48YnIgLz5DYXRlZ29yaWVzIG9mIHBlcnNvbmFsIGluZm9ybWF0aW9uIHRoYXQgd2UgbWF5IGNvbGxlY3QgZnJvbSB5b3UgZGlyZWN0bHkgaW5jbHVkZTo8L3A+DQo8dWwgc3R5bGU9InRleHQtYWxpZ246IGxlZnQ7IHBhZGRpbmctbGVmdDogMzBweDsiPg0KPGxpIHR5cGU9ImNpcmNsZSI+Q29udGFjdCBpbmZvcm1hdGlvbiAoZm9yIGV4YW1wbGUsIG5hbWUsIHBob25lIG51bWJlciwgbWFpbGluZyBhZGRyZXNzLCBlbWFpbCBhZGRyZXNzKTwvbGk+DQo8bGkgc3R5bGU9Im1hcmdpbi10b3A6IDE1cHg7IiB0eXBlPSJjaXJjbGUiPlBheW1lbnQtcmVsYXRlZCBkZXRhaWxzIChmb3IgZXhhbXBsZSwgYmFua2luZyBpbmZvcm1hdGlvbiwgYmlsbGluZyBhZGRyZXNzIGFuZCBvdGhlciBjcmVkaXQgY2FyZCBkZXRhaWxzKTwvbGk+DQo8bGkgc3R5bGU9Im1hcmdpbi10b3A6IDE1cHg7IiB0eXBlPSJjaXJjbGUiPkNvbW11bmljYXRpb25zIChmb3IgZXhhbXBsZSwgc3VibWl0dGVkIHF1ZXN0aW9ucyBvciBvdGhlciBwb3N0cyBhbmQgbWFya2V0aW5nIHByZWZlcmVuY2VzKTwvbGk+DQo8bGkgc3R5bGU9Im1hcmdpbi10b3A6IDE1cHg7IiB0eXBlPSJjaXJjbGUiPlJlY3J1aXRtZW50IGRhdGEgKGZvciBleGFtcGxlLCByZXN1bWVzIGFuZCBvdGhlciBkZXRhaWxzIHJlZ2FyZGluZyBhbiBhcHBsaWNhbnQncyBxdWFsaWZpY2F0aW9ucyk8L2xpPg0KPC91bD4NCjxwIHN0eWxlPSJ0ZXh0LWFsaWduOiBsZWZ0OyBtYXJnaW46IDVweCAwIDE1cHggMDsiPjxiciAvPkNhdGVnb3JpZXMgb2YgcGVyc29uYWwgaW5mb3JtYXRpb24gdGhhdCB3ZSBtYXkgY29sbGVjdCBhdXRvbWF0aWNhbGx5IHdoZW4geW91IHVzZSB0aGUgU2VydmljZXMgaW5jbHVkZTo8L3A+DQo8dWwgc3R5bGU9InRleHQtYWxpZ246IGxlZnQ7IHBhZGRpbmctbGVmdDogMzBweDsiPg0KPGxpIHR5cGU9ImNpcmNsZSI+VGVjaG5pY2FsIGluZm9ybWF0aW9uIChmb3IgZXhhbXBsZSwgYnJvd3NlciB0eXBlLCBJUCBhZGRyZXNzLCBjb29raWVzLCBhbmQgb3BlcmF0aW5nIHN5c3RlbSk8L2xpPg0KPGxpIHN0eWxlPSJtYXJnaW4tdG9wOiAxNXB4OyIgdHlwZT0iY2lyY2xlIj5Vc2FnZSBpbmZvcm1hdGlvbiAoZm9yIGV4YW1wbGUsIHBhZ2VzIHZpc2l0ZWQsIHNlYXJjaCB0ZXJtcyBlbnRlcmVkLCBhbmQgZnJlcXVlbmN5IG9mIHZpc2l0cyk8L2xpPg0KPC91bD4NCjxwIHN0eWxlPSJ0ZXh0LWFsaWduOiBsZWZ0OyBtYXJnaW46IDVweCAwIDE1cHggMDsiPjxiciAvPkNhdGVnb3JpZXMgb2YgcGVyc29uYWwgaW5mb3JtYXRpb24gdGhhdCB3ZSBtYXkgY29sbGVjdCBmcm9tIG90aGVyIHNvdXJjZXMsIGluY2x1ZGluZyBmcm9tIG91ciBDbGllbnRzIGluIGNvbm5lY3Rpb24gd2l0aCB0aGVpciB1c2Ugb2YgdGhlIFNlcnZpY2VzLCBpbmNsdWRlOjwvcD4NCjx1bCBzdHlsZT0idGV4dC1hbGlnbjogbGVmdDsgcGFkZGluZy1sZWZ0OiAzMHB4OyI+DQo8bGkgdHlwZT0iY2lyY2xlIj5FbmQgVXNlciBjb250YWN0IGluZm9ybWF0aW9uIChmb3IgZXhhbXBsZSwgbmFtZSwgcGhvbmUgbnVtYmVyLCBtYWlsaW5nIGFkZHJlc3MsIGVtYWlsIGFkZHJlc3MpPC9saT4NCjxsaSBzdHlsZT0ibWFyZ2luLXRvcDogMTVweDsiIHR5cGU9ImNpcmNsZSI+RW5kIFVzZXIgYWNjb3VudCBpbmZvcm1hdGlvbiAoZm9yIGV4YW1wbGUsIHVzZXJuYW1lIGFuZCBwYXNzd29yZCBhbmQgdHJhbnNhY3Rpb24gaGlzdG9yeSk8L2xpPg0KPGxpIHN0eWxlPSJtYXJnaW4tdG9wOiAxNXB4OyIgdHlwZT0iY2lyY2xlIj5FbmQgVXNlciBwYXltZW50LXJlbGF0ZWQgZGV0YWlscyAoZm9yIGV4YW1wbGUsIGJpbGxpbmcgYWRkcmVzcyBhbmQgb3RoZXIgY3JlZGl0IGNhcmQgZGV0YWlscyk8L2xpPg0KPGxpIHN0eWxlPSJtYXJnaW4tdG9wOiAxNXB4OyIgdHlwZT0iY2lyY2xlIj5FbmQgVXNlciBmdW5lcmFsIGNvbnRyaWJ1dGlvbnMsIGluY2x1ZGluZyB0cmlidXRlIHZpZGVvIGRhdGEsIGRhdGEgZW50ZXJlZCBpbiBmdW5lcmFsIHJlZ2lzdGVyIGJvb2tzLCBvYml0dWFyaWVzIGFuZCBwb3N0cyBhbmQgY29tbWVudHM8L2xpPg0KPGxpIHN0eWxlPSJtYXJnaW4tdG9wOiAxNXB4OyIgdHlwZT0iY2lyY2xlIj5FbmQgVXNlciBmdW5lcmFsIGFkbWluaXN0cmF0aW9uIGRhdGEsIGluY2x1ZGluZyBwZXJzb25hbCBkZXRhaWxzIHJlZ2FyZGluZyB0aGUgZGVjZWFzZWQgc3VjaCBhcyBTb2NpYWwgU2VjdXJpdHkgTnVtYmVycyBhbmQgU29jaWFsIEluc3VyYW5jZSBOdW1iZXJzLCBsaWZlIGluc3VyYW5jZSBjbGFpbSBmb3JtcyBhbmQgYWZmaWRhdml0cyB0byBlbnN1cmUgZGlzcGVyc2FsIG9mIGZ1bmRzIHRvIGNvdmVyIGZ1bmVyYWwgY29zdHMgYW5kIG90aGVyIG1lZGljYWwgY29zdHMgb3IgbGl2aW5nIGV4cGVuc2VzLCBhbmQgZGF0YSByZXF1aXJlZCB0byBmaWxlIGRlYXRoIGNlcnRpZmljYXRlcyBhbmQgb2J0YWluIGJ1cmlhbCBwZXJtaXRzPC9saT4NCjwvdWw+DQo8aDIgc3R5bGU9InRleHQtYWxpZ246IGxlZnQ7IGZvbnQtc2l6ZTogMjBweDsgcGFkZGluZy10b3A6IDQ1cHg7Ij5Ib3cgV2UgVXNlIFlvdXIgUGVyc29uYWwgSW5mb3JtYXRpb248L2gyPg0KPHAgc3R5bGU9InRleHQtYWxpZ246IGxlZnQ7IG1hcmdpbi1ib3R0b206IDE1cHg7Ij48YnIgLz5XZSBtYXkgdXNlIHRoZSBwZXJzb25hbCBpbmZvcm1hdGlvbiB3ZSBjb2xsZWN0IGZvciB0aGUgZm9sbG93aW5nIHB1cnBvc2VzOjwvcD4NCjx1bCBzdHlsZT0idGV4dC1hbGlnbjogbGVmdDsgcGFkZGluZy1sZWZ0OiAzMHB4OyI+DQo8bGkgdHlwZT0iY2lyY2xlIj48c3Ryb25nPlByb3ZpZGUgYW5kIGltcHJvdmUgdGhlIFNlcnZpY2VzLiA8L3N0cm9uZz5XZSBtYXkgdXNlIHlvdXIgcGVyc29uYWwgaW5mb3JtYXRpb24gdG8gcHJvdmlkZSBhbmQgaW1wcm92ZSB0aGUgU2VydmljZXMsIGluY2x1ZGluZyB0byBmdWxmaWxsIHlvdXIgb3JkZXJzIGFuZCByZXF1ZXN0cyBhbmQgdG8gcG9zdCB5b3VyIGNvbW1lbnRzIGFuZCBvdGhlciBmdW5lcmFsIGNvbnRyaWJ1dGlvbnMuIFdlIG1heSBhbHNvIHVzZSB5b3VyIHBlcnNvbmFsIGluZm9ybWF0aW9uIGZvciB0aGUgYWRtaW5pc3RyYXRpb24gb2Ygb3VyIGJ1c2luZXNzLCBmb3IgYnVzaW5lc3MgZGV2ZWxvcG1lbnQgcHVycG9zZXMsIGFuZCB0byBmdWxmaWxsIG91ciBjb250cmFjdHVhbCBvYmxpZ2F0aW9ucy48L2xpPg0KPGxpIHN0eWxlPSJtYXJnaW4tdG9wOiAxNXB4OyIgdHlwZT0iY2lyY2xlIj48c3Ryb25nPlJpc2sgbWl0aWdhdGlvbiBhbmQgc2VjdXJpdHkuIDwvc3Ryb25nPldlIG1heSB1c2UgeW91ciBwZXJzb25hbCBpbmZvcm1hdGlvbiBmb3IgcmlzayBtaXRpZ2F0aW9uIGFuZCBzZWN1cml0eSBwdXJwb3NlcywgaW5jbHVkaW5nIHRvIG1haW50YWluIHRoZSBwcml2YWN5IGFuZCBzZWN1cml0eSBvZiBvdXIgZGF0YSwgdG8gY29uZHVjdCBpbnRlcm5hbCBhdWRpdHMgb3IgaW52ZXN0aWdhdGlvbnMsIGZvciBkYXRhIHNlY3VyaXR5IHRlc3RpbmcgYW5kIGJ1c2luZXNzIGNvbnRpbnVpdHkgcGxhbm5pbmcgcHVycG9zZXMsIGFuZCB0byBlbnN1cmUgdGhlIHNhZmV0eSBhbmQgc2VjdXJpdHkgb2Ygb3VyIENsaWVudHMsIHN0YWZmIGFuZCBhc3NldHMuPC9saT4NCjxsaSBzdHlsZT0ibWFyZ2luLXRvcDogMTVweDsiIHR5cGU9ImNpcmNsZSI+PHN0cm9uZz5Db21tdW5pY2F0aW9uIGFuZCBtYXJrZXRpbmcuIDwvc3Ryb25nPiBXaXRoIHJlc3BlY3QgdG8gQ2xpZW50cyBhbmQgb3RoZXIgaW5kaXZpZHVhbHMgdGhhdCBzdWJtaXQgaW5mb3JtYXRpb24gZGlyZWN0bHkgdG8gU1JTLCB3ZSBtYXkgdXNlIHlvdXIgcGVyc29uYWwgaW5mb3JtYXRpb24gdG8gY29tbXVuaWNhdGUgd2l0aCB5b3UgYWJvdXQgdGhlIFNlcnZpY2VzLCByZXNwb25kIHRvIHlvdXIgcXVlc3Rpb25zLCBvciBvZmZlciB5b3UgYWRkaXRpb25hbCBwcm9kdWN0cyBvciBzZXJ2aWNlcy48L2xpPg0KPGxpIHN0eWxlPSJtYXJnaW4tdG9wOiAxNXB4OyIgdHlwZT0iY2lyY2xlIj48c3Ryb25nPkNvbXBseSB3aXRoIHRoZSBsYXcgYW5kIGV4ZXJjaXNlIG91ciByaWdodHMuIDwvc3Ryb25nPldlIG1heSB1c2UgeW91ciBwZXJzb25hbCBpbmZvcm1hdGlvbiBhcyByZWFzb25hYmx5IG5lY2Vzc2FyeSB0byBhc3Nlc3MgYW5kIGVuc3VyZSBjb21wbGlhbmNlIHdpdGggYXBwbGljYWJsZSBsYXdzLCBsZWdhbCByZXF1aXJlbWVudHMsIGFuZCBjb21wYW55IHBvbGljaWVzOyB0byBwcm90ZWN0IG91ciBhc3NldHMgb3IgdG8gaW52ZXN0aWdhdGUgb3IgZGVmZW5kIGFnYWluc3QgYW55IGNsYWltcyBvZiBpbGxlZ2FsaXR5IG9yIHdyb25nZG9pbmcgKGluY2x1ZGluZyB0byBvYnRhaW4gbGVnYWwgYWR2aWNlIG9yIHRvIGVzdGFibGlzaCwgZXhlcmNpc2Ugb3IgZGVmZW5kIGxlZ2FsIHJpZ2h0cyk7IGFuZCBpbiByZXNwb25zZSB0byBhIGNvdXJ0IG9yZGVyIG9yIGp1ZGljaWFsIG9yIG90aGVyIGdvdmVybm1lbnQgc3VicG9lbmEgb3Igd2FycmFudC48L2xpPg0KPGxpIHN0eWxlPSJtYXJnaW4tdG9wOiAxNXB4OyIgdHlwZT0iY2lyY2xlIj48c3Ryb25nPkNvcnBvcmF0ZSB0cmFuc2FjdGlvbi4gPC9zdHJvbmc+V2UgbWF5IHVzZSB5b3VyIHBlcnNvbmFsIGluZm9ybWF0aW9uIGluIHRoZSBldmVudCB3ZSB1bmRlcnRha2Ugb3IgYXJlIGludm9sdmVkIGluIG9yIGNvbnRlbXBsYXRpbmcgYW55IG1lcmdlciwgYWNxdWlzaXRpb24sIHJlb3JnYW5pemF0aW9uLCBzYWxlIG9mIGFzc2V0cywgYmFua3J1cHRjeSwgb3IgaW5zb2x2ZW5jeSBldmVudC48L2xpPg0KPGxpIHN0eWxlPSJtYXJnaW4tdG9wOiAxNXB4OyIgdHlwZT0iY2lyY2xlIj48c3Ryb25nPlJlY3J1aXRtZW50IGFuZCBoaXJpbmcuIDwvc3Ryb25nPldlIG1heSB1c2UgeW91ciBwZXJzb25hbCBpbmZvcm1hdGlvbiB0byBldmFsdWF0ZSB5b3VyIGNhbmRpZGFjeSB3aGVuIHlvdSBhcHBseSBmb3IgYSBqb2Igd2l0aCB1cy48L2xpPg0KPC91bD4NCjxwIHN0eWxlPSJ0ZXh0LWFsaWduOiBsZWZ0OyBtYXJnaW4tYm90dG9tOiAxNXB4OyI+PGJyIC8+V2UgbWF5IGFsc28gYWdncmVnYXRlLCBhbm9ueW1pemUsIG9yIG90aGVyd2lzZSBkZS1pZGVudGlmeSB5b3VyIHBlcnNvbmFsIGluZm9ybWF0aW9uIGFuZCB1c2UgaXQgZm9yIGFueSBwdXJwb3NlIHBlcm1pdHRlZCBieSBhcHBsaWNhYmxlIGxhdy48L3A+DQo8aDIgc3R5bGU9InRleHQtYWxpZ246IGxlZnQ7IGZvbnQtc2l6ZTogMjBweDsgcGFkZGluZy10b3A6IDQ1cHg7Ij5Vc2Ugb2YgQ29va2llczwvaDI+DQo8cCBzdHlsZT0idGV4dC1hbGlnbjogbGVmdDsgbWFyZ2luLWJvdHRvbTogMTVweDsiPjxiciAvPldoZW4geW91IHVzZSB0aGUgU2VydmljZXMsIHdlIG1heSBzZW5kIG9uZSBvciBtb3JlIGNvb2tpZXMgKHdoaWNoIGFyZSBzbWFsbCB0ZXh0IGZpbGVzIGNvbnRhaW5pbmcgYSBzdHJpbmcgb2YgYWxwaGFudW1lcmljIGNoYXJhY3RlcnMpIHRvIHlvdXIgY29tcHV0ZXIgb3IgbW9iaWxlIGRldmljZSwgdG8gaGVscCBhbmFseXplIG91ciB3ZWIgcGFnZSBmbG93LCBjdXN0b21pemUgb3VyIGNvbnRlbnQsIG1lYXN1cmUgcHJvbW90aW9uYWwgZWZmZWN0aXZlbmVzcywgYW5kIHByb21vdGUgdHJ1c3QgYW5kIHNhZmV0eS4gWW91IGFyZSBhbHdheXMgZnJlZSB0byBkZWNsaW5lIG91ciBjb29raWVzIGlmIHlvdXIgYnJvd3NlciBwZXJtaXRzLCBhbHRob3VnaCBkb2luZyBzbyBtYXkgaW50ZXJmZXJlIHdpdGggeW91ciBhYmlsaXR5IHRvIHVzZSB0aGUgU2VydmljZXMgb3IgY2VydGFpbiBmZWF0dXJlcyBvZiB0aGUgU2VydmljZXMuIFdlIG1heSBhbHNvIHVzZSBHb29nbGUgQW5hbHl0aWNzIG9yIGEgc2ltaWxhciBzZXJ2aWNlIHRoYXQgdXNlcyBjb29raWVzIHRvIGhlbHAgdXMgYW5hbHl6ZSBob3cgdXNlcnMgdXNlIHRoZSBTZXJ2aWNlcy48YnIgLz48YnIgLz5XZSBhbHNvIGFsbG93IGNlcnRhaW4gdGhpcmQgcGFydGllcyBzdWNoIGFzIGFkdmVydGlzaW5nIG5ldHdvcmtzLCBhbmFseXRpY3MgcHJvdmlkZXJzLCBhbmQgd2lkZ2V0IHByb3ZpZGVycyB0byBwbGFjZSBjb29raWVzIGluIG9yZGVyIHRvIGNvbGxlY3QgaW5mb3JtYXRpb24gYWJvdXQgeW91ciBvbmxpbmUgYWN0aXZpdGllcyBvdmVyIHRpbWUgYW5kIGFjcm9zcyBkaWZmZXJlbnQgd2Vic2l0ZXMgd2hlbiB5b3UgYWNjZXNzIG9yIHVzZSB0aGUgU2VydmljZXMuIEN1cnJlbnRseSwgdmFyaW91cyBicm93c2VycyBvZmZlciBhICJEbyBOb3QgVHJhY2siIG9wdGlvbiwgYnV0IHRoZXJlIGlzIG5vIHN0YW5kYXJkIGZvciBob3cgIkRvIE5vdCBUcmFjayIgc2hvdWxkIHdvcmsgb24gY29tbWVyY2lhbCB3ZWJzaXRlcy4gRHVlIHRvIHRoZSBsYWNrIG9mIHN1Y2ggc3RhbmRhcmRzLCB0aGlzIHdlYnNpdGUgZG9lcyBub3QgcmVzcG9uZCB0byAiRG8gTm90IFRyYWNrIiBjb25zdW1lciBicm93c2VyIHNldHRpbmdzLjwvcD4NCjxoMiBzdHlsZT0idGV4dC1hbGlnbjogbGVmdDsgZm9udC1zaXplOiAyMHB4OyBwYWRkaW5nLXRvcDogNDVweDsiPkhvdyBhbmQgV2hlbiBXZSBEaXNjbG9zZSBZb3VyIFBlcnNvbmFsIEluZm9ybWF0aW9uPC9oMj4NCjxwIHN0eWxlPSJ0ZXh0LWFsaWduOiBsZWZ0OyBtYXJnaW4tYm90dG9tOiAxNXB4OyI+PGJyIC8+V2UgbWF5IGRpc2Nsb3NlIHlvdXIgcGVyc29uYWwgaW5mb3JtYXRpb24gdG8gdGhlIGZvbGxvd2luZyBjYXRlZ29yaWVzIG9mIHJlY2lwaWVudHMsIHRvIGJlIHVzZWQgb25seSBmb3IgbGVnaXRpbWF0ZSBwdXJwb3NlcyBpbiBrZWVwaW5nIHdpdGggdGhpcyBQcml2YWN5IE5vdGljZTo8L3A+DQo8dWwgc3R5bGU9InRleHQtYWxpZ246IGxlZnQ7IHBhZGRpbmctbGVmdDogMzBweDsiPg0KPGxpIHR5cGU9ImNpcmNsZSI+PHN0cm9uZz5Hcm91cCBjb21wYW5pZXMgYW5kIGFmZmlsaWF0ZXM8L3N0cm9uZz4uIFdlIG1heSBkaXNjbG9zZSwgc2hhcmUsIG9yIHRyYW5zZmVyIHlvdXIgaW5mb3JtYXRpb24gdG8gYW55IGJ1c2luZXNzIGVudGl0eSB0aGF0IGlzIHBhcnQgb2Ygb3VyIGNvcnBvcmF0ZSBmYW1pbHkuPC9saT4NCjxsaSBzdHlsZT0ibWFyZ2luLXRvcDogMTVweDsiIHR5cGU9ImNpcmNsZSI+PHN0cm9uZz5DbGllbnRzPC9zdHJvbmc+LiBJZiB5b3Ugc3VibWl0IGRhdGEgdG8gdXMgdGhyb3VnaCB5b3VyIHVzZSBvZiBvbmUgb2Ygb3VyIENsaWVudCdzIHNlcnZpY2VzLCB3ZSBtYXkgc2hhcmUgeW91ciBpbmZvcm1hdGlvbiB3aXRoIHRoYXQgcmVzcGVjdGl2ZSBDbGllbnQgaW4gY29ubmVjdGlvbiB3aXRoIHRoYXQgQ2xpZW50J3MgcHJvdmlzaW9uIG9mIHNlcnZpY2VzIHRvIHlvdS48L2xpPg0KPGxpIHN0eWxlPSJtYXJnaW4tdG9wOiAxNXB4OyIgdHlwZT0iY2lyY2xlIj48c3Ryb25nPlNlcnZpY2UgcHJvdmlkZXJzIGFuZCBwcm9mZXNzaW9uYWwgYWR2aXNvcnM8L3N0cm9uZz4uIFdlIG1heSBkaXNjbG9zZSB5b3VyIGluZm9ybWF0aW9uIHRvIHRoaXJkIHBhcnR5IHZlbmRvcnMgd2hvIHByb3ZpZGUgc2VydmljZXMgaW4gc3VwcG9ydCBvZiBvdXIgYnVzaW5lc3Mgb3BlcmF0aW9ucywgc3VjaCBhcyB3ZWJzaXRlIGRldmVsb3BtZW50IGFuZCBob3N0aW5nLCBwYXltZW50IHByb2Nlc3NpbmcsIG1hcmtldGluZyBtYW5hZ2VtZW50LCByZWNydWl0bWVudCBhbmQgaGlyaW5nLCBzZXJ2aWNlIG9wdGltaXphdGlvbiwgdmVuZG9ycyB0aGF0IGZ1bGZpbGwgb3JkZXJzIGZvciBmdW5lcmFsLXJlbGF0ZWQgaXRlbXMgc3VjaCBhcyBmbG93ZXJzLCBhbmQgZGF0YSBhbmFseXRpY3MuIFdlIG1heSBhbHNvIGRpc2Nsb3NlIHlvdXIgcGVyc29uYWwgaW5mb3JtYXRpb24gdG8gb3VyIHByb2Zlc3Npb25hbCBhZHZpc29ycyBzdWNoIGFzIG91ciBhdHRvcm5leXMsIGFjY291bnRhbnRzLCBhbmQgaW5zdXJhbmNlIHByb3ZpZGVycy48L2xpPg0KPGxpIHN0eWxlPSJtYXJnaW4tdG9wOiAxNXB4OyIgdHlwZT0iY2lyY2xlIj48c3Ryb25nPlBhcnRpZXMgaW52b2x2ZWQgaW4gYSBjb3Jwb3JhdGUgdHJhbnNhY3Rpb248L3N0cm9uZz4uIFdlIG1heSBkaXNjbG9zZSB5b3VyIGluZm9ybWF0aW9uIHRvIHJlbGV2YW50IHRoaXJkIHBhcnRpZXMgaW4gdGhlIGV2ZW50IG9mIGEgZGl2ZXN0aXR1cmUsIG1lcmdlciwgY29uc29saWRhdGlvbiwgb3IgYXNzZXQgc2FsZSwgb3IgaW4gdGhlIHVubGlrZWx5IGV2ZW50IG9mIGEgYmFua3J1cHRjeS48L2xpPg0KPGxpIHN0eWxlPSJtYXJnaW4tdG9wOiAxNXB4OyIgdHlwZT0iY2lyY2xlIj48c3Ryb25nPkxhdyBlbmZvcmNlbWVudCBvciBvdGhlciBnb3Zlcm5tZW50YWwgZW50aXRpZXM8L3N0cm9uZz4uIFdlIG1heSBkaXNjbG9zZSB5b3VyIGluZm9ybWF0aW9uIGlmIHJlcXVpcmVkIHRvIGRvIHNvIGJ5IGxhdyBvciBpZiB3ZSBiZWxpZXZlIGluIGdvb2QgZmFpdGggdGhhdCBzdWNoIGFjdGlvbiBpcyBuZWNlc3NhcnkgdG8gY29tcGx5IHdpdGggdGhlIGxhdywgcHJldmVudCB1bmxhd2Z1bCBhY3Rpdml0eSwgZGVmZW5kIG91ciByaWdodHMsIG9yIG1haW50YWluIHNlY3VyaXR5LjwvbGk+DQo8bGkgc3R5bGU9Im1hcmdpbi10b3A6IDE1cHg7IiB0eXBlPSJjaXJjbGUiPjxzdHJvbmc+T3RoZXIgdGhpcmQgcGFydGllcyB3aXRoIHlvdXIgY29uc2VudDwvc3Ryb25nPi4gV2UgbWF5IGRpc2Nsb3NlIHlvdXIgaW5mb3JtYXRpb24gdG8gYW55IG90aGVyIHRoaXJkIHBhcnR5IHdoZXJlIHlvdSBoYXZlIHByb3ZpZGVkIGNvbnNlbnQgdG8gc3VjaCBkaXNjbG9zdXJlLjwvbGk+DQo8L3VsPg0KPGgyIHN0eWxlPSJ0ZXh0LWFsaWduOiBsZWZ0OyBmb250LXNpemU6IDIwcHg7IHBhZGRpbmctdG9wOiA0NXB4OyI+U2VjdXJpdHksIFJldGVudGlvbiAmYW1wOyBUcmFuc2ZlciBvZiBQZXJzb25hbCBJbmZvcm1hdGlvbjwvaDI+DQo8cCBzdHlsZT0idGV4dC1hbGlnbjogbGVmdDsgbWFyZ2luLWJvdHRvbTogMTVweDsiPjxiciAvPldlIGhhdmUgaW1wbGVtZW50ZWQgYW5kIG1haW50YWluIGNvbW1lcmNpYWxseSByZWFzb25hYmxlIGFuZCBhcHByb3ByaWF0ZSB0ZWNobmljYWwgYW5kIG9yZ2FuaXphdGlvbmFsIG1lYXN1cmVzIGRlc2lnbmVkIHRvIHByb3RlY3QgdGhlIGNvbmZpZGVudGlhbGl0eSwgaW50ZWdyaXR5LCBhbmQgc2VjdXJpdHkgb2YgeW91ciBwZXJzb25hbCBpbmZvcm1hdGlvbi4gUGxlYXNlIG5vdGUsIGhvd2V2ZXIsIHRoYXQgbm8gc2VjdXJpdHkgbWVhc3VyZXMgYXJlIHBlcmZlY3Qgb3IgaW1wZW5ldHJhYmxlLiBXZSB0aGVyZWZvcmUgY2Fubm90IGd1YXJhbnR5IGFuZCBkbyBub3Qgd2FycmFudCB0aGUgYWJzb2x1dGUgc2VjdXJpdHkgb2YgeW91ciBwZXJzb25hbCBpbmZvcm1hdGlvbi4gV2UgcmV0YWluIHlvdXIgcGVyc29uYWwgaW5mb3JtYXRpb24gZm9yIG5vIGxvbmdlciB0aGFuIHJlYXNvbmFibHkgbmVjZXNzYXJ5IHRvIGZ1bGZpbGwgdGhlIHB1cnBvc2VzIGZvciB3aGljaCB3ZSBjb2xsZWN0ZWQgaXQgb3IgdG8gY29tcGx5IHdpdGggdGhlIGxhdywgcHJldmVudCBmcmF1ZCwgZmFjaWxpdGF0ZSBhbiBpbnZlc3RpZ2F0aW9uLCBkZWZlbmQgYWdhaW5zdCBsZWdhbCBjbGFpbXMsIG9yIGV4ZXJjaXNlIG91ciBsZWdhbCByaWdodHMuPGJyIC8+PGJyIC8+RGVwZW5kaW5nIG9uIHlvdXIgbG9jYXRpb24sIHRoZSBwZXJzb25hbCBpbmZvcm1hdGlvbiB3ZSBjb2xsZWN0IGFib3V0IHlvdSBtYXkgYmUgdHJhbnNmZXJyZWQgdG8gYSBqdXJpc2RpY3Rpb24gdGhhdCBkb2VzIG5vdCBwcm92aWRlIHRoZSBzYW1lIGxldmVsIG9mIHByb3RlY3Rpb24gb2YgcGVyc29uYWwgaW5mb3JtYXRpb24gYXMgdGhlIGp1cmlzZGljdGlvbiBpbiB3aGljaCB5b3UgcmVzaWRlLiBBbW9uZyBvdGhlciBwbGFjZXMsIHBlcnNvbmFsIGluZm9ybWF0aW9uIG1heSBiZSB0cmFuc2ZlcnJlZCB0bywgYW5kIHN0b3JlZCBpbiwgQXVzdHJhbGlhLCBDYW5hZGEgYW5kIHRoZSBVbml0ZWQgU3RhdGVzLjwvcD4NCjxoMiBzdHlsZT0idGV4dC1hbGlnbjogbGVmdDsgZm9udC1zaXplOiAyMHB4OyBwYWRkaW5nLXRvcDogNDVweDsiPllvdXIgQ2hvaWNlcyAmYW1wOyBSaWdodHM8L2gyPg0KPHAgc3R5bGU9InRleHQtYWxpZ246IGxlZnQ7IG1hcmdpbi1ib3R0b206IDE1cHg7Ij48YnIgLz5Zb3UgbWF5IGRlY2xpbmUgdG8gc2hhcmUgY2VydGFpbiBpbmZvcm1hdGlvbiB3aXRoIHVzLCBpbiB3aGljaCBjYXNlIHdlIG1heSBub3QgYmUgYWJsZSB0byBwcm92aWRlIHRvIHlvdSBzb21lIG9mIHRoZSBmZWF0dXJlcyBhbmQgZnVuY3Rpb25hbGl0eSBvZiB0aGUgU2VydmljZXMuIElmIHlvdSBoYXZlIHJlZ2lzdGVyZWQgZm9yIGFuIGFjY291bnQgaW4gY29ubmVjdGlvbiB3aXRoIHRoZSBTZXJ2aWNlcywgeW91IG1heSB1cGRhdGUsIGNvcnJlY3QsIG9yIGRlbGV0ZSB5b3VyIHByb2ZpbGUgaW5mb3JtYXRpb24gYW5kIHByZWZlcmVuY2VzIGF0IGFueSB0aW1lIGJ5IGFjY2Vzc2luZyB5b3VyIGFjY291bnQgcHJlZmVyZW5jZXMgcGFnZSB0aHJvdWdoIHRoZSBTZXJ2aWNlcy4gSWYgeW91IGRvIG5vdCB3aXNoIHRvIHJlY2VpdmUgbWFya2V0aW5nIGNvbW11bmljYXRpb25zIGZyb20gdXMsIHlvdSBjYW4gb3B0LW91dCBieSB1c2luZyB0aGUgdW5zdWJzY3JpYmUgcHJvY2VzcyBwcm92aWRlZCBvciBkZXNjcmliZWQgaW4gYW55IHN1Y2ggY29tbXVuaWNhdGlvbiwgYnV0IHlvdSBtYXkgc3RpbGwgcmVjZWl2ZSB0cmFuc2FjdGlvbmFsIG9yIGFkbWluaXN0cmF0aXZlIGNvbW11bmljYXRpb25zIGZyb20gdXMuIEFsdGhvdWdoIHlvdXIgY2hhbmdlcyBhcmUgcmVmbGVjdGVkIHByb21wdGx5IGluIGFjdGl2ZSB1c2VyIGRhdGFiYXNlcywgd2UgbWF5IHJldGFpbiBhbGwgaW5mb3JtYXRpb24geW91IHN1Ym1pdCBmb3IgYSB2YXJpZXR5IG9mIHB1cnBvc2VzLCBpbmNsdWRpbmcgYmFja3VwcyBhbmQgYXJjaGl2aW5nLCBwcmV2ZW50aW9uIG9mIGZyYXVkIGFuZCBhYnVzZSwgYW5kIGFuYWx5dGljcy48YnIgLz48YnIgLz5EZXBlbmRpbmcgb24geW91ciBsb2NhdGlvbiBhbmQgc3ViamVjdCB0byBsb2NhbCBsYXcsIHlvdSBtYXkgaGF2ZSBjZXJ0YWluIHJpZ2h0cyB3aXRoIHJlc3BlY3QgdG8geW91ciBwZXJzb25hbCBpbmZvcm1hdGlvbi4gVGhlc2UgbWF5IGluY2x1ZGUgdGhlIHJpZ2h0IHRvIGFjY2VzcyBhbmQgY29ycmVjdCB5b3VyIHBlcnNvbmFsIGluZm9ybWF0aW9uLjxiciAvPjxiciAvPlRvIG1ha2UgYSByZXF1ZXN0IHJlbGF0ZWQgdG8geW91ciBwZXJzb25hbCBpbmZvcm1hdGlvbiBvciBvdGhlcndpc2UgZXhlcmNpc2UgYW55IHJpZ2h0cyB5b3UgbWF5IGhhdmUgdW5kZXIgYXBwbGljYWJsZSBsYXcsIHlvdSBtYXkgY29udGFjdCB1cyB1c2luZyB0aGUgY29udGFjdCBpbmZvcm1hdGlvbiBwcm92aWRlZCBiZWxvdy4gSW4gb3JkZXIgdG8gZnVsZmlsbCB5b3VyIHJlcXVlc3QsIHdlIG1heSByZXF1aXJlIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gZnJvbSB5b3UuIFdlIHdpbGwgcmVzcG9uZCB0byByZXF1ZXN0cywgYXMgYXBwbGljYWJsZSwgd2l0aGluIHRoZSByZWxldmFudCB0aW1lIHBlcmlvZHMgZXN0YWJsaXNoZWQgYnkgYXBwbGljYWJsZSBsYXcuIFdlIGFyZSBjb21taXR0ZWQgdG8gZmluZGluZyBhIGZhaXIgYW5kIHJlYXNvbmFibGUgcmVzb2x1dGlvbiB0byBhbnkgcmVxdWVzdCwgY29uY2Vybiwgb3IgY29tcGxhaW50IHlvdSBicmluZyB0byBvdXIgYXR0ZW50aW9uLiBIb3dldmVyLCBpZiB5b3UgYXJlIHVuc2F0aXNmaWVkIHdpdGggb3VyIHJlc3BvbnNlIHRvIHlvdXIgcmVxdWVzdCwgeW91IG1heSBoYXZlIHRoZSByaWdodCB0byBsb2RnZSBhIGNvbXBsYWludCB3aXRoIGFwcGxpY2FibGUgZ292ZXJubWVudGFsIGF1dGhvcml0aWVzLCBzdWJqZWN0IHRvIGxvY2FsIGxhdy48L3A+DQo8aDIgc3R5bGU9InRleHQtYWxpZ246IGxlZnQ7IGZvbnQtc2l6ZTogMjBweDsgcGFkZGluZy10b3A6IDQ1cHg7Ij5DaGlsZHJlbidzIFByaXZhY3k8L2gyPg0KPHAgc3R5bGU9InRleHQtYWxpZ246IGxlZnQ7IG1hcmdpbi1ib3R0b206IDE1cHg7Ij48YnIgLz5XZSBkbyBub3Qga25vd2luZ2x5IGNvbGxlY3Qgb3IgbWFpbnRhaW4gaW5mb3JtYXRpb24gZnJvbSBwZXJzb25zIHVuZGVyIDEzIHllYXJzIG9mIGFnZSAoImNoaWxkcmVuIiksIGFuZCBubyBwYXJ0IG9mIHRoZSBTZXJ2aWNlcyBpcyBkaXJlY3RlZCB0byBjaGlsZHJlbi4gSWYgeW91IGFyZSB1bmRlciAxMyB5ZWFycyBvZiBhZ2UsIHRoZW4gcGxlYXNlIGRvIG5vdCB1c2Ugb3IgYWNjZXNzIHRoZSBTZXJ2aWNlcyBhdCBhbnkgdGltZSBvciBpbiBhbnkgbWFubmVyLiBJZiB3ZSBsZWFybiB0aGF0IGluZm9ybWF0aW9uIGhhcyBiZWVuIGNvbGxlY3RlZCB0aHJvdWdoIHRoZSBTZXJ2aWNlcyBmcm9tIGNoaWxkcmVuIGFuZCB3aXRob3V0IHZlcmlmaWFibGUgcGFyZW50YWwgY29uc2VudCwgdGhlbiB3ZSB3aWxsIHRha2UgdGhlIGFwcHJvcHJpYXRlIHN0ZXBzIHRvIGRlbGV0ZSB0aGlzIGluZm9ybWF0aW9uLiBJZiB5b3UgYXJlIGEgcGFyZW50IG9yIGd1YXJkaWFuIGFuZCBkaXNjb3ZlciB0aGF0IHlvdXIgY2hpbGQgaGFzIHByb3ZpZGVkIHVzIHdpdGggcGVyc29uYWwgaW5mb3JtYXRpb24gd2l0aG91dCB5b3VyIGNvbnNlbnQsIHBsZWFzZSBjb250YWN0IHVzIHVzaW5nIHRoZSBjb250YWN0IGluZm9ybWF0aW9uIGJlbG93IHRvIHJlcXVlc3QgdGhhdCB3ZSBkZWxldGUgdGhlIGluZm9ybWF0aW9uIGZyb20gb3VyIHN5c3RlbXMuPC9wPg0KPGgyIHN0eWxlPSJ0ZXh0LWFsaWduOiBsZWZ0OyBmb250LXNpemU6IDIwcHg7IHBhZGRpbmctdG9wOiA0NXB4OyI+Q2FsaWZvcm5pYSBSZXNpZGVudHM8L2gyPg0KPHAgc3R5bGU9InRleHQtYWxpZ246IGxlZnQ7IG1hcmdpbi1ib3R0b206IDE1cHg7Ij48YnIgLz5TdXBwbGVtZW50YWwgdG8gdGhlIGFib3ZlLCB0aGUgZm9sbG93aW5nIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gcGVydGFpbnMgdG8gQ2FsaWZvcm5pYSByZXNpZGVudHMgb25seTo8YnIgLz48YnIgLz48c3BhbiBzdHlsZT0idGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7Ij48c3Ryb25nPkNvbGxlY3Rpb24gYW5kIFVzZSBvZiBQZXJzb25hbCBJbmZvcm1hdGlvbiA8L3N0cm9uZz48L3NwYW4+PC9wPg0KPHVsIHN0eWxlPSJ0ZXh0LWFsaWduOiBsZWZ0OyBwYWRkaW5nLWxlZnQ6IDMwcHg7Ij4NCjxsaSB0eXBlPSJjaXJjbGUiPkNhdGVnb3JpZXMgb2YgcGVyc29uYWwgaW5mb3JtYXRpb24gY29sbGVjdGVkIGFib3V0IENhbGlmb3JuaWEgcmVzaWRlbnRzIGluIHRoZSBwYXN0IHR3ZWx2ZSBtb250aHMgaW5jbHVkZSBpZGVudGlmaWVycywgb3RoZXIgaWRlbnRpZnlpbmcgaW5mb3JtYXRpb24sIGNoYXJhY3RlcmlzdGljcyBvZiBwcm90ZWN0ZWQgY2xhc3MsIGNvbW1lcmNpYWwgaW5mb3JtYXRpb24sIEludGVybmV0IG9yIG90aGVyIGVsZWN0cm9uaWMgbmV0d29yayBhY3Rpdml0eSBpbmZvcm1hdGlvbiwgcHJvZmVzc2lvbmFsIG9yIGVtcGxveW1lbnQtcmVsYXRlZCBpbmZvcm1hdGlvbiwgZWR1Y2F0aW9uIGluZm9ybWF0aW9uLCBhbmQgaW5mZXJlbmNlcyBkcmF3biBmcm9tIHN1Y2ggaW5mb3JtYXRpb24uIEZvciBleGFtcGxlcyBvZiBzcGVjaWZpYyBwaWVjZXMgb2YgcGVyc29uYWwgaW5mb3JtYXRpb24gY29sbGVjdGVkLCBwbGVhc2Ugc2VlIHRoZSAiUGVyc29uYWwgSW5mb3JtYXRpb24gV2UgQ29sbGVjdCIgc2VjdGlvbiBhYm92ZS48L2xpPg0KPGxpIHN0eWxlPSJtYXJnaW4tdG9wOiAxNXB4OyIgdHlwZT0iY2lyY2xlIj5DYXRlZ29yaWVzIG9mIHBlcnNvbmFsIGluZm9ybWF0aW9uIGRpc2Nsb3NlZCBmb3IgYSBidXNpbmVzcyBwdXJwb3NlIGFib3V0IENhbGlmb3JuaWEgcmVzaWRlbnRzIGluIHRoZSBwYXN0IHR3ZWx2ZSBtb250aHMgaW5jbHVkZSBpZGVudGlmaWVycywgb3RoZXIgaWRlbnRpZnlpbmcgaW5mb3JtYXRpb24sIGNoYXJhY3RlcmlzdGljcyBvZiBwcm90ZWN0ZWQgY2xhc3MsIGNvbW1lcmNpYWwgaW5mb3JtYXRpb24sIEludGVybmV0IG9yIG90aGVyIGVsZWN0cm9uaWMgbmV0d29yayBhY3Rpdml0eSBpbmZvcm1hdGlvbiwgcHJvZmVzc2lvbmFsIG9yIGVtcGxveW1lbnQtcmVsYXRlZCBpbmZvcm1hdGlvbiwgYW5kIGVkdWNhdGlvbiBpbmZvcm1hdGlvbi48L2xpPg0KPGxpIHN0eWxlPSJtYXJnaW4tdG9wOiAxNXB4OyIgdHlwZT0iY2lyY2xlIj5XZSBkbyBub3Qgc2VsbCBwZXJzb25hbCBpbmZvcm1hdGlvbiwgbm9yIGRvIHdlIHNoYXJlIHBlcnNvbmFsIGluZm9ybWF0aW9uIHdpdGggdGhpcmQgcGFydGllcyBmb3IgdGhvc2UgdGhpcmQgcGFydGllcycgb3duIGRpcmVjdCBtYXJrZXRpbmcgcHVycG9zZXMuPC9saT4NCjwvdWw+DQo8cCBzdHlsZT0idGV4dC1hbGlnbjogbGVmdDsgbWFyZ2luLWJvdHRvbTogMTVweDsiPjxiciAvPjxzcGFuIHN0eWxlPSJ0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsiPjxzdHJvbmc+WW91ciBDYWxpZm9ybmlhIFByaXZhY3kgUmlnaHRzIDwvc3Ryb25nPjwvc3Bhbj48YnIgLz5BcyBhIENhbGlmb3JuaWEgcmVzaWRlbnQsIHlvdSBoYXZlIHRoZSBmb2xsb3dpbmcgcmlnaHRzIHdpdGggcmVzcGVjdCB0byB5b3VyIHBlcnNvbmFsIGluZm9ybWF0aW9uOjwvcD4NCjx1bCBzdHlsZT0idGV4dC1hbGlnbjogbGVmdDsgcGFkZGluZy1sZWZ0OiAzMHB4OyI+DQo8bGkgdHlwZT0iY2lyY2xlIj5Zb3UgaGF2ZSB0aGUgcmlnaHQgdG8gcmVxdWVzdCB0byBrbm93IGFib3V0IHBlcnNvbmFsIGluZm9ybWF0aW9uIGNvbGxlY3RlZCwgZGlzY2xvc2VkLCBvciBzb2xkLjwvbGk+DQo8bGkgc3R5bGU9Im1hcmdpbi10b3A6IDE1cHg7IiB0eXBlPSJjaXJjbGUiPllvdSBoYXZlIHRoZSByaWdodCB0byByZXF1ZXN0IHRoZSBkZWxldGlvbiBvZiBwZXJzb25hbCBpbmZvcm1hdGlvbi48L2xpPg0KPGxpIHN0eWxlPSJtYXJnaW4tdG9wOiAxNXB4OyIgdHlwZT0iY2lyY2xlIj5Zb3UgaGF2ZSB0aGUgcmlnaHQgdG8gb3B0LW91dCBvZiB0aGUgc2FsZSBvZiB5b3VyIHBlcnNvbmFsIGluZm9ybWF0aW9uIGF0IGFueSB0aW1lLiBOb3RlIHRoYXQgd2UgZG8gbm90IGN1cnJlbnRseSBzZWxsIHBlcnNvbmFsIGluZm9ybWF0aW9uLjwvbGk+DQo8L3VsPg0KPHAgc3R5bGU9InRleHQtYWxpZ246IGxlZnQ7IG1hcmdpbi1ib3R0b206IDE1cHg7Ij48YnIgLz5GaW5hbGx5LCB5b3UgaGF2ZSB0aGUgcmlnaHQgdG8gbm90IGJlIGRpc2NyaW1pbmF0ZWQgYWdhaW5zdCBhcyBhIHJlc3VsdCBvZiBleGVyY2lzaW5nIHlvdXIgcHJpdmFjeSByaWdodHMuQWNjb3JkaW5nbHksIHVubGVzcyBwZXJtaXR0ZWQgYnkgbGF3LCB3ZSB3aWxsIG5vdCBkZW55IHlvdSBnb29kcyBvciBzZXJ2aWNlcywgY2hhcmdlIHlvdSBkaWZmZXJlbnQgcHJpY2VzIG9yIHJhdGVzIGZvciBnb29kcyBvciBzZXJ2aWNlcywgcHJvdmlkZSB5b3UgYSBkaWZmZXJlbnQgbGV2ZWwgb3IgcXVhbGl0eSBvZiBnb29kIG9yIHNlcnZpY2VzLCBvciBzdWdnZXN0IHlvdSB3aWxsIHJlY2VpdmUgYSBkaWZmZXJlbnQgcHJpY2Ugb3IgcmF0ZSBmb3IgZ29vZHMgb3Igc2VydmljZXMgb3IgYSBkaWZmZXJlbnQgbGV2ZWwgb3IgcXVhbGl0eSBvZiBnb29kcyBvciBzZXJ2aWNlcy48YnIgLz48YnIgLz5UbyBleGVyY2lzZSB5b3VyIHJpZ2h0cywgeW91IG1heSBjb250YWN0IHVzIHVzaW5nIHRoZSBjb250YWN0IGluZm9ybWF0aW9uIHByb3ZpZGVkIGJlbG93IG9yIGNhbGwgPGEgaHJlZj0idGVsOjgwMDc5NzQ4NjEiPig4MDApIDc5Ny00ODYxPC9hPi4gSW4gb3JkZXIgdG8gZnVsZmlsbCB5b3VyIHJlcXVlc3QsIHdlIG1heSByZXF1aXJlIGFkZGl0aW9uYWwgcGVyc29uYWwgaW5mb3JtYXRpb24gZm9yIHB1cnBvc2VzIG9mIHZlcmlmeWluZyB5b3VyIGlkZW50aXR5LiBJZiB5b3UgbWFrZSBhIHJlcXVlc3QgdGhyb3VnaCBhbiBhdXRob3JpemVkIGFnZW50LCB3ZSBtYXkgcmVxdWlyZSBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIHRvIHZlcmlmeSB5b3VyIGF1dGhvcml6YXRpb24gb2YgdGhlIGFnZW50LjwvcD4NCjxoMiBzdHlsZT0idGV4dC1hbGlnbjogbGVmdDsgZm9udC1zaXplOiAyMHB4OyBwYWRkaW5nLXRvcDogNDVweDsiPkNoYW5nZXMgdG8gUHJpdmFjeSBOb3RpY2U8L2gyPg0KPHAgc3R5bGU9InRleHQtYWxpZ246IGxlZnQ7IG1hcmdpbi1ib3R0b206IDE1cHg7Ij48YnIgLz5XZSByZXNlcnZlIHRoZSByaWdodCB0byBtYWtlIGNoYW5nZXMgdG8gdGhpcyBQcml2YWN5IE5vdGljZSBhdCBhbnkgdGltZSwgd2l0aG91dCBub3RpY2UuIFdlIHdpbGwgbm90aWZ5IHlvdSBhYm91dCBjaGFuZ2VzIHRoYXQgc2lnbmlmaWNhbnRseSBpbXBhY3Qgb3VyIHVzZSBvZiB5b3VyIHBlcnNvbmFsIGluZm9ybWF0aW9uIGJ5IHBsYWNpbmcgYSBwcm9taW5lbnQgbm90aWNlIG9uIHRoaXMgd2Vic2l0ZSBvciBieSBzZW5kaW5nIHlvdSBhbiBlbWFpbC4gUGxlYXNlIHJldmlzaXQgdGhpcyBwYWdlIHBlcmlvZGljYWxseSB0byBzdGF5IGF3YXJlIG9mIGFueSBjaGFuZ2VzIHRvIHRoaXMgUHJpdmFjeSBOb3RpY2UuIEZvciB0aGUgYXZvaWRhbmNlIG9mIGRvdWJ0LCBkaXNwdXRlcyBhcmlzaW5nIGhlcmV1bmRlciB3aWxsIGJlIHJlc29sdmVkIGluIGFjY29yZGFuY2Ugd2l0aCB0aGUgUHJpdmFjeSBOb3RpY2UgaW4gZWZmZWN0IGF0IHRoZSB0aW1lIHRoZSBkaXNwdXRlIGFyb3NlLjwvcD4NCjxoMiBzdHlsZT0idGV4dC1hbGlnbjogbGVmdDsgZm9udC1zaXplOiAyMHB4OyBwYWRkaW5nLXRvcDogNDVweDsiPkNvbnRhY3QgVXM8L2gyPg0KPHAgc3R5bGU9InRleHQtYWxpZ246IGxlZnQ7IG1hcmdpbi1ib3R0b206IDE1cHg7Ij48YnIgLz5QbGVhc2UgY29udGFjdCB1cyB3aXRoIGFueSBxdWVzdGlvbnMsIGNvbW1lbnRzIG9yIGNvbmNlcm5zIGFib3V0IHRoaXMgUHJpdmFjeSBOb3RpY2Ugb3Igb3VyIHVzZSBvZiB5b3VyIHBlcnNvbmFsIGluZm9ybWF0aW9uIGJ5IGUtbWFpbCBhdCA8YSBocmVmPSJtYWlsdG86c3NpbW9uc0BzcnNjb21wdXRpbmcuY29tIj5zc2ltb25zQHNyc2NvbXB1dGluZy5jb208L2E+IG9yIGJ5IG1haWwgYXQ6PC9wPg0KPHAgc3R5bGU9Im1hcmdpbi1ib3R0b206IDA7IHRleHQtYWxpZ246IGNlbnRlcjsiPjxiciAvPlNSUyBDb21wdXRpbmcgU29sdXRpb25zLCBMTEM8YnIgLz42MjAxIFdhbGxhY2UgUmQuIEV4dC4sIFN1aXRlIDIwMTxiciAvPldleGZvcmQsIFBBIDE1MDkwPC9wPg==, PGgxIHN0eWxlPSJ0ZXh0LWFsaWduOiBsZWZ0OyBmb250LXNpemU6IDI1cHg7Ij5TUlMgQ29tcHV0aW5nIFNvbHV0aW9ucywgTExDIFRlcm1zIG9mIFVzZTwvaDE+DQo8cCBzdHlsZT0idGV4dC1hbGlnbjogbGVmdDsgbWFyZ2luLWJvdHRvbTogMTVweDsiPjxlbT5MYXN0IHVwZGF0ZWQ6IFNlcHRlbWJlciAxNCwgMjAyMCAqKio8L2VtPjxiciAvPjxiciAvPlRoZXNlIFRlcm1zIG9mIFVzZSwgdG9nZXRoZXIgd2l0aCBTUlMgQ29tcHV0aW5nIFNvbHV0aW9ucywgTExDJ3MgUHJpdmFjeSBQb2xpY3kgKGNvbGxlY3RpdmVseSwgdGhlICJUZXJtcyIpIHNldCBmb3J0aCB0aGUgdGVybXMgYW5kIGNvbmRpdGlvbnMgdGhhdCBhcHBseSB0byB5b3VyIGFjY2VzcyBhbmQgdXNlIG9mIHRoZSB3ZWJzaXRlIG9mIFNSUyBDb21wdXRpbmcgU29sdXRpb25zLCBMTEMgKGh0dHBzOi8vd3d3LnNyc2NvbXB1dGluZy5jb20vKSAoIlNSUyIgIndlIiBvciAidXMiKSBhbmQgYXNzb2NpYXRlZCBzZXJ2aWNlcywgaW5jbHVkaW5nIFNSUyBzZXJ2aWNlcyB0aGF0IGFyZSBhdmFpbGFibGUgdGhyb3VnaCB0aGUgd2Vic2l0ZXMgb2Ygb3VyIGNsaWVudCBmdW5lcmFsLCBjZW1ldGVyeSBhbmQgY3JlbWF0b3J5IGNvcnBvcmF0aW9ucyAodG9nZXRoZXIsIHRoZSAiU2l0ZXMiKSwgd2hldGhlciB5b3UgYWNjZXNzIGFuZCB1c2UgdGhlIFNpdGVzIGFzIGEgY2xpZW50LCBlbmQgdXNlciBvciBjdXN0b21lciBvZiBhIGNsaWVudCwgb3Igb3RoZXJ3aXNlLiAiU1JTIiBpbmNsdWRlcyBhbGwgb2ZmaWNlcnMsIGRpcmVjdG9ycywgZW1wbG95ZWVzLCBjb25zdWx0YW50cywgYWZmaWxpYXRlcywgcGFyZW50IGVudGl0aWVzLCBzdWJzaWRpYXJpZXMsIGFuZCBhZ2VudHMuIFRoZSBUZXJtcyBjb25zdGl0dXRlIGEgbGVnYWxseSBiaW5kaW5nIGFncmVlbWVudCBiZXR3ZWVuIHlvdSwgd2hldGhlciBwZXJzb25hbGx5IG9yIG9uIGJlaGFsZiBvZiBhbiBlbnRpdHkgKCJ5b3UiKSBhbmQgU1JTIGNvbmNlcm5pbmcgeW91ciBhY2Nlc3MgdG8gYW5kIHVzZSBvZiB0aGUgU2l0ZXMuPGJyIC8+PGJyIC8+QnkgdXNpbmcgb3IgYWNjZXNzaW5nIHRoZSBTaXRlcywgeW91IGFncmVlIHRvIHRoZXNlIFRlcm1zLCBhcyBtYXkgYmUgdXBkYXRlZCBmcm9tIHRpbWUgdG8gdGltZSBpbiBhY2NvcmRhbmNlIHdpdGggU2VjdGlvbiA5IGJlbG93LjwvcD4NCjxvbCBzdHlsZT0idGV4dC1hbGlnbjogbGVmdDsgcGFkZGluZy1sZWZ0OiAzMHB4OyI+DQo8bGkgdHlwZT0iMSI+PHN0cm9uZz5BY2NvdW50IFNlY3VyaXR5Ljwvc3Ryb25nPiBUbyB1c2UgdGhlIFNpdGVzIHlvdSBtdXN0IChpKSBiZSBhdCBsZWFzdCBlaWdodGVlbiAoMTgpIHllYXJzIG9mIGFnZTsgKGlpKSBoYXZlIG5vdCBwcmV2aW91c2x5IGJlZW4gc3VzcGVuZGVkIG9yIHJlbW92ZWQgZnJvbSB0aGUgU2l0ZXM7IGFuZCAoaWlpKSByZWdpc3RlciBmb3IgYW5kIHVzZSB0aGUgU2l0ZXMgaW4gY29tcGxpYW5jZSB3aXRoIGFueSBhbmQgYWxsIGFwcGxpY2FibGUgbGF3cyBhbmQgcmVndWxhdGlvbnMuPC9saT4NCjxsaSBzdHlsZT0ibWFyZ2luLXRvcDogMTVweDsiIHR5cGU9IjEiPjxzdHJvbmc+QWNjb3VudCBSZWdpc3RyYXRpb24uPC9zdHJvbmc+IFRvIGFjY2VzcyBzb21lIGZlYXR1cmVzIG9mIHRoZSBTaXRlcywgeW91IG1heSBiZSByZXF1aXJlZCB0byByZWdpc3RlciBmb3IgYW4gYWNjb3VudC4gV2hlbiB5b3UgcmVnaXN0ZXIgZm9yIGFuIGFjY291bnQsIHdlIG1heSBhc2sgeW91IHRvIGdpdmUgdXMgY2VydGFpbiBpZGVudGlmeWluZyBpbmZvcm1hdGlvbiBhYm91dCB5b3Vyc2VsZiwgaW5jbHVkaW5nIGJ1dCBub3QgbGltaXRlZCB0byB5b3VyIGVtYWlsIGFkZHJlc3MgYW5kIG90aGVyIGNvbnRhY3QgaW5mb3JtYXRpb24sIGFuZCB0byBjcmVhdGUgYSB1c2VyIG5hbWUgYW5kIHBhc3N3b3JkICgiUmVnaXN0cmF0aW9uIEluZm9ybWF0aW9uIikuIFdoZW4gcmVnaXN0ZXJpbmcgZm9yIGFuZCBtYWludGFpbmluZyBhbiBhY2NvdW50LCB5b3UgYWdyZWUgdG8gcHJvdmlkZSB0cnVlLCBhY2N1cmF0ZSwgY3VycmVudCwgYW5kIGNvbXBsZXRlIGluZm9ybWF0aW9uIGFib3V0IHlvdXJzZWxmLiBZb3UgYWxzbyBhZ3JlZSBub3QgdG8gaW1wZXJzb25hdGUgYW55b25lLCBtaXNyZXByZXNlbnQgYW55IGFmZmlsaWF0aW9uIHdpdGggYW55b25lIGVsc2UsIHVzZSBmYWxzZSBpbmZvcm1hdGlvbiwgb3Igb3RoZXJ3aXNlIGNvbmNlYWwgeW91ciBpZGVudGl0eSBmcm9tIFNSUyBmb3IgYW55IHB1cnBvc2UuIFlvdSBhcmUgc29sZWx5IHJlc3BvbnNpYmxlIGZvciBtYWludGFpbmluZyB0aGUgY29uZmlkZW50aWFsaXR5IGFuZCBzZWN1cml0eSBvZiB5b3VyIHBhc3N3b3JkIGFuZCBvdGhlciBSZWdpc3RyYXRpb24gSW5mb3JtYXRpb24uIEZvciB5b3VyIHByb3RlY3Rpb24gYW5kIHRoZSBwcm90ZWN0aW9uIG9mIG90aGVyIHVzZXJzLCB3ZSBhc2sgeW91IG5vdCB0byBzaGFyZSB5b3VyIFJlZ2lzdHJhdGlvbiBJbmZvcm1hdGlvbiB3aXRoIGFueW9uZSBlbHNlLiBJZiB5b3UgZG8gc2hhcmUgdGhpcyBpbmZvcm1hdGlvbiB3aXRoIGFueW9uZSwgd2Ugd2lsbCBjb25zaWRlciB0aGVpciBhY3Rpdml0aWVzIHRvIGhhdmUgYmVlbiBhdXRob3JpemVkIGJ5IHlvdS4gSWYgeW91IGhhdmUgcmVhc29uIHRvIGJlbGlldmUgdGhhdCB5b3VyIGFjY291bnQgaXMgbm8gbG9uZ2VyIHNlY3VyZSwgeW91IG11c3QgaW1tZWRpYXRlbHkgbm90aWZ5IHVzIGF0IDxhIGhyZWY9Im1haWx0bzpzc2ltb25zQHNyc2NvbXB1dGluZy5jb20iPnNzaW1vbnNAc3JzY29tcHV0aW5nLmNvbTwvYT4uPC9saT4NCjxsaSBzdHlsZT0ibWFyZ2luLXRvcDogMTVweDsiIHR5cGU9IjEiPjxzdHJvbmc+UHJvaGliaXRlZCBDb25kdWN0Ljwvc3Ryb25nPiBZb3UgYWdyZWUgbm90IHRvOg0KPG9sIHN0eWxlPSJwYWRkaW5nLWxlZnQ6IDIwcHg7Ij4NCjxsaSBzdHlsZT0ibWFyZ2luLXRvcDogNXB4OyIgdHlwZT0iQSI+VXNlIHRoZSBTaXRlcyBmb3IgYW55IGlsbGVnYWwgcHVycG9zZSwgb3IgaW4gdmlvbGF0aW9uIG9mIGFueSBsb2NhbCwgc3RhdGUsIG5hdGlvbmFsLCBvciBpbnRlcm5hdGlvbmFsIGxhdzs8L2xpPg0KPGxpIHN0eWxlPSJtYXJnaW4tdG9wOiA1cHg7IiB0eXBlPSJBIj5WaW9sYXRlIG9yIGVuY291cmFnZSBvdGhlcnMgdG8gdmlvbGF0ZSB0aGUgcmlnaHRzIG9mIHRoaXJkIHBhcnRpZXMsIGluY2x1ZGluZyBpbnRlbGxlY3R1YWwgcHJvcGVydHkgcmlnaHRzOzwvbGk+DQo8bGkgc3R5bGU9Im1hcmdpbi10b3A6IDVweDsiIHR5cGU9IkEiPlBvc3QsIHVwbG9hZCwgb3IgZGlzdHJpYnV0ZSBhbnkgY29udGVudCB0aGF0IGlzIHVubGF3ZnVsLCBkZWZhbWF0b3J5LCBsaWJlbG91cywgaW5hY2N1cmF0ZSwgb3IgdGhhdCBhIHJlYXNvbmFibGUgcGVyc29uIGNvdWxkIGRlZW0gdG8gYmUgb2JqZWN0aW9uYWJsZSwgcHJvZmFuZSwgaW5kZWNlbnQsIHBvcm5vZ3JhcGhpYywgaGFyYXNzaW5nLCB0aHJlYXRlbmluZywgaGF0ZWZ1bCwgb3Igb3RoZXJ3aXNlIGluYXBwcm9wcmlhdGU7PC9saT4NCjxsaSBzdHlsZT0ibWFyZ2luLXRvcDogNXB4OyIgdHlwZT0iQSI+SW50ZXJmZXJlIGluIGFueSB3YXkgd2l0aCBzZWN1cml0eS1yZWxhdGVkIGZlYXR1cmVzIG9mIHRoZSBTaXRlczs8L2xpPg0KPGxpIHN0eWxlPSJtYXJnaW4tdG9wOiA1cHg7IiB0eXBlPSJBIj5JbnRlcmZlcmUgd2l0aCB0aGUgb3BlcmF0aW9uIG9yIGFueSB1c2VyJ3MgZW5qb3ltZW50IG9mIHRoZSBTaXRlcywgaW5jbHVkaW5nIGJ5IHVwbG9hZGluZyBvciBvdGhlcndpc2UgZGlzc2VtaW5hdGluZyB2aXJ1c2VzLCBhZHdhcmUsIHNweXdhcmUsIHdvcm1zLCBvciBvdGhlciBtYWxpY2lvdXMgY29kZSwgbWFraW5nIHVuc29saWNpdGVkIG9mZmVycyBvciBhZHZlcnRpc2VtZW50cyB0byBvdGhlciB1c2Vycywgb3IgYXR0ZW1wdGluZyB0byBjb2xsZWN0IHBlcnNvbmFsIGluZm9ybWF0aW9uIGFib3V0IHVzZXJzIG9yIHRoaXJkIHBhcnRpZXMgd2l0aG91dCB0aGVpciBjb25zZW50OzwvbGk+DQo8bGkgc3R5bGU9Im1hcmdpbi10b3A6IDVweDsiIHR5cGU9IkEiPkFjY2VzcywgbW9uaXRvciBvciBjb3B5IGFueSBjb250ZW50IG9yIGluZm9ybWF0aW9uIG9mIHRoZSBTaXRlcyB1c2luZyBhbnkgcm9ib3QsIHNwaWRlciwgc2NyYXBlciwgb3Igb3RoZXIgYXV0b21hdGVkIG1lYW5zIG9yIGFueSBtYW51YWwgcHJvY2VzcyBmb3IgYW55IHB1cnBvc2Ugd2l0aG91dCBTUlMncyBleHByZXNzIHdyaXR0ZW4gcGVybWlzc2lvbjs8L2xpPg0KPGxpIHN0eWxlPSJtYXJnaW4tdG9wOiA1cHg7IiB0eXBlPSJBIj5Vc2UsIHJlcHJvZHVjZSwgbW9kaWZ5LCBkaXN0cmlidXRlIG9yIHN0b3JlIGFueSBwYXJ0IG9mIHRoZSBTaXRlcyAoaW5jbHVkaW5nIG9iaXR1YXJpZXMsIGV2ZW50IGluZm9ybWF0aW9uLCBvciBvdGhlciBjb250ZW50KSBmb3IgYW55IHB1cnBvc2Ugd2l0aG91dCB0aGUgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uIG9mIFNSUzs8L2xpPg0KPGxpIHN0eWxlPSJtYXJnaW4tdG9wOiA1cHg7IiB0eXBlPSJBIj5QZXJmb3JtIGFueSBmcmF1ZHVsZW50IGFjdGl2aXR5LCBpbmNsdWRpbmcgaW1wZXJzb25hdGluZyBhbnkgcGVyc29uIG9yIGVudGl0eSwgY2xhaW1pbmcgZmFsc2UgYWZmaWxpYXRpb25zLCBhY2Nlc3NpbmcgdGhlIGFjY291bnRzIG9mIG90aGVyIHVzZXJzIHdpdGhvdXQgcGVybWlzc2lvbiwgb3IgZmFsc2lmeWluZyB5b3VyIGlkZW50aXR5IG9yIGFueSBpbmZvcm1hdGlvbiBhYm91dCB5b3UsIGluY2x1ZGluZyBhZ2Ugb3IgZGF0ZSBvZiBiaXJ0aDsgb3I8L2xpPg0KPGxpIHN0eWxlPSJtYXJnaW4tdG9wOiA1cHg7IiB0eXBlPSJBIj5TZWxsIG9yIG90aGVyd2lzZSB0cmFuc2ZlciB0aGUgYWNjZXNzIGdyYW50ZWQgaGVyZWluLjwvbGk+DQo8L29sPg0KPC9saT4NCjxsaSBzdHlsZT0ibWFyZ2luLXRvcDogMTVweDsiIHR5cGU9IjEiPjxzdHJvbmc+VGhpcmQgUGFydHkgQ29udGVudC48L3N0cm9uZz4gVGhlIFNpdGVzIG1heSBjb250YWluIGxpbmtzIHRvIHRoaXJkIHBhcnR5IHdlYnNpdGVzIGFuZCBzZXJ2aWNlcy4gU1JTIHByb3ZpZGVzIHN1Y2ggbGlua3MgYXMgYSBjb252ZW5pZW5jZSwgYW5kIGRvZXMgbm90IGNvbnRyb2wgb3IgZW5kb3JzZSB0aGVzZSB3ZWJzaXRlcyBhbmQgc2VydmljZXMuIFlvdSBhY2tub3dsZWRnZSBhbmQgYWdyZWUgdGhhdCBTUlMgaGFzIG5vdCByZXZpZXdlZCB0aGUgY29udGVudCwgYWR2ZXJ0aXNpbmcsIHByb2R1Y3RzLCBzZXJ2aWNlcywgb3Igb3RoZXIgbWF0ZXJpYWxzIHRoYXQgYXBwZWFyIG9uIHN1Y2ggdGhpcmQgcGFydHkgd2Vic2l0ZXMgb3Igc2VydmljZXMsIGFuZCBpcyBub3QgcmVzcG9uc2libGUgZm9yIHRoZSBsZWdhbGl0eSwgYWNjdXJhY3ksIG9yIGFwcHJvcHJpYXRlbmVzcyBvZiBhbnkgc3VjaCBjb250ZW50LCBhbmQgc2hhbGwgbm90IGJlIHJlc3BvbnNpYmxlIG9yIGxpYWJsZSwgZGlyZWN0bHkgb3IgaW5kaXJlY3RseSwgZm9yIGFueSBkYW1hZ2Ugb3IgbG9zcyBjYXVzZWQgb3IgYWxsZWdlZCB0byBiZSBjYXVzZWQgYnkgb3IgaW4gY29ubmVjdGlvbiB3aXRoIHRoZSB1c2Ugb2YgYW55IHN1Y2ggdGhpcmQgcGFydHkgd2Vic2l0ZXMgb3Igc2VydmljZXMuPC9saT4NCjxsaSBzdHlsZT0ibWFyZ2luLXRvcDogMTVweDsiIHR5cGU9IjEiPjxzdHJvbmc+SW50ZWxsZWN0dWFsIFByb3BlcnR5Ljwvc3Ryb25nPiBZb3UgYWNrbm93bGVkZ2UgYW5kIGFncmVlIHRoYXQgd2hlbiB5b3Ugc3VibWl0IGFuIG9iaXR1YXJ5LCBwb3N0IGNvbW1lbnRzLCBzdWJtaXQgYSB0cmlidXRlIHZpZGVvLCBvciBwb3N0IG9yIHN1Ym1pdCBvdGhlciBjb250ZW50ICh0b2dldGhlciwgImNvbnRlbnQiKSB0byBTUlMgb3IgYW55IHdlYnNpdGUgb2YgYW55IENsaWVudCBvcGVyYXRlZCBieSBTUlMsIHN1Y2ggY29udGVudCB3aWxsIGJlIHNoYXJlZCB3aXRoIGFuZCBzdG9yZWQgYnkgU1JTIGFuZCBpdHMgYWZmaWxpYXRlcyBhbmQgcGFydG5lcnMuIFlvdSBmdXJ0aGVyIGFja25vd2xlZGdlIGFuZCBhZ3JlZSB0aGF0IHlvdSByZWxpbnF1aXNoIGFsbCBvd25lcnNoaXAgcmlnaHRzIGluIGFueSBpZGVhcyBvciBzdWdnZXN0aW9ucyB0aGF0IHlvdSBzdWJtaXQgdG8gU1JTIHRocm91Z2ggdGhlIFNpdGVzLiBUaGUgU2l0ZXMgYXJlIHByb3RlY3RlZCBieSBhcHBsaWNhYmxlIGNvcHlyaWdodCBhbmQgb3RoZXIgaW50ZWxsZWN0dWFsIHByb3BlcnR5IGxhd3MsIGFuZCBubyBtYXRlcmlhbHMgZnJvbSB0aGUgU2l0ZXMgbWF5IGJlIGNvcGllZCwgcmVwcm9kdWNlZCwgcmVwdWJsaXNoZWQsIHVwbG9hZGVkLCBwb3N0ZWQsIHRyYW5zbWl0dGVkLCBvciBkaXN0cmlidXRlZCBpbiBhbnkgd2F5IHdpdGhvdXQgb3VyIGV4cHJlc3MgcGVybWlzc2lvbi4gQWxsIHRyYWRlbWFya3MgYW5kIHNlcnZpY2UgbWFya3Mgb24gdGhlIFNpdGVzIGJlbG9uZyB0byBTUlMsIGV4Y2VwdCB0aGlyZC1wYXJ0eSB0cmFkZW1hcmtzIG9yIHNlcnZpY2UgbWFya3MsIHdoaWNoIGFyZSB0aGUgcHJvcGVydHkgb2YgdGhlaXIgcmVzcGVjdGl2ZSBvd25lcnMuPC9saT4NCjxsaSBzdHlsZT0ibWFyZ2luLXRvcDogMTVweDsiIHR5cGU9IjEiPjxzdHJvbmc+VXNlciBDb250ZW50Ljwvc3Ryb25nPiBZb3UgcmVwcmVzZW50IGFuZCB3YXJyYW50IHRoYXQgeW91IG93biBvciBvdGhlcndpc2UgaGF2ZSB0aGUgcmlnaHQgdG8gdXNlIGFueSBjb250ZW50IHlvdSBwb3N0IHRvIHRoZSBTaXRlcy4gSWYgeW91IGJlbGlldmUgdGhhdCB5b3VyIGNvbnRlbnQgaGFzIGJlZW4gdXNlZCBpbiBhIHdheSB0aGF0IGNvbnN0aXR1dGVzIGNvcHlyaWdodCBpbmZyaW5nZW1lbnQsIHlvdSBtYXkgY29udGFjdCBvdXIgRGVzaWduYXRlZCBBZ2VudDo8L2xpPg0KPC9vbD4NCjxwIHN0eWxlPSJtYXJnaW4tYm90dG9tOiAwOyI+PGJyIC8+U2NvdHQgU2ltb25zPGJyIC8+U1JTIENvbXB1dGluZzxiciAvPjYwMjEgV2FsbGFjZSBSZC4gRXh0LiwgU3VpdGUgMjAxPGJyIC8+UGhvbmU6IDxhIGhyZWY9InRlbDo4MDA3OTc0ODYxIj4oODAwKSA3OTctNDg2MTwvYT48YnIgLz5FbWFpbDogPGEgaHJlZj0ibWFpbHRvOnNzaW1vbnNAc3JzY29tcHV0aW5nLmNvbSI+c3NpbW9uc0BzcnNjb21wdXRpbmcuY29tPC9hPjwvcD4NCjxwIHN0eWxlPSJ0ZXh0LWFsaWduOiBsZWZ0OyI+PGJyIC8+WW91IG11c3QgcHJvdmlkZSB0aGUgZm9sbG93aW5nIGluZm9ybWF0aW9uOiBhbiBlbGVjdHJvbmljIG9yIHBoeXNpY2FsIHNpZ25hdHVyZSBvZiB0aGUgY29weXJpZ2h0IG93bmVyIG9yIHRoZSBwZXJzb24gYXV0aG9yaXplZCB0byBhY3Qgb24gYmVoYWxmIG9mIHRoZSBjb3B5cmlnaHQgb3duZXI7IGEgZGVzY3JpcHRpb24gb2YgdGhlIGNvcHlyaWdodGVkIHdvcmsgdGhhdCB5b3UgY2xhaW0gaGFzIGJlZW4gaW5mcmluZ2VkOyBhIGRlc2NyaXB0aW9uIG9mIHdoZXJlIHRoZSBtYXRlcmlhbCB0aGF0IHlvdSBjbGFpbSBpcyBpbmZyaW5naW5nIGlzIGxvY2F0ZWQ7IHlvdXIgYWRkcmVzcywgdGVsZXBob25lIG51bWJlciwgYW5kIGVtYWlsIGFkZHJlc3M7IGEgd3JpdHRlbiBzdGF0ZW1lbnQgdGhhdCB5b3UgaGF2ZSBhIGdvb2QgZmFpdGggYmVsaWVmIHRoYXQgdGhlIGRpc3B1dGVkIHVzZSBpcyBub3QgYXV0aG9yaXplZCBieSB0aGUgY29weXJpZ2h0IG93bmVyLCBpdHMgYWdlbnQsIG9yIHRoZSBsYXc7IGEgc3RhdGVtZW50IGJ5IHlvdSwgbWFkZSB1bmRlciBwZW5hbHR5IG9mIHBlcmp1cnksIHRoYXQgdGhlIGFib3ZlIGluZm9ybWF0aW9uIGluIHlvdXIgbm90aWNlIGlzIGFjY3VyYXRlIGFuZCB0aGF0IHlvdSBhcmUgdGhlIGNvcHlyaWdodCBvd25lciBvciBhdXRob3JpemVkIHRvIGFjdCBvbiB0aGUgY29weXJpZ2h0IG93bmVyJ3MgYmVoYWxmLiBTUlMgaGFzIGFkb3B0ZWQgYW5kIGltcGxlbWVudHMgYSBwb2xpY3kgdGhhdCBwcm92aWRlcyBmb3IgdGVybWluYXRpb24gaW4gYXBwcm9wcmlhdGUgY2lyY3Vtc3RhbmNlcyBvZiBhY2NvdW50cyBvZiB1c2VycyB3aG8gcmVwZWF0ZWRseSBpbmZyaW5nZSBjb3B5cmlnaHQgb3Igb3RoZXIgaW50ZWxsZWN0dWFsIHByb3BlcnR5IHJpZ2h0cyBvZiBTUlMgb3Igb3RoZXJzLjwvcD4NCjxvbCBzdHlsZT0idGV4dC1hbGlnbjogbGVmdDsgcGFkZGluZy1sZWZ0OiAzMHB4OyI+DQo8bGkgdHlwZT0iMSI+PHN0cm9uZz5JbmRlbW5pZmljYXRpb24uPC9zdHJvbmc+IFlvdSBhZ3JlZSB0aGF0IHlvdSB3aWxsIGJlIHBlcnNvbmFsbHkgcmVzcG9uc2libGUgZm9yIHlvdXIgdXNlIG9mIHRoZSBTaXRlcywgYW5kIHlvdSBhZ3JlZSB0byBkZWZlbmQsIGluZGVtbmlmeSwgYW5kIGhvbGQgaGFybWxlc3MgU1JTIGZyb20gYW5kIGFnYWluc3QgYW55IGFuZCBhbGwgY2xhaW1zLCBsaWFiaWxpdGllcywgZGFtYWdlcywgbG9zc2VzLCBhbmQgZXhwZW5zZXMgKGluY2x1ZGluZyBhdHRvcm5leXMnIGFuZCBhY2NvdW50aW5nIGZlZXMgYW5kIGNvc3RzKSwgYXJpc2luZyBvdXQgb2Ygb3IgaW4gYW55IHdheSBjb25uZWN0ZWQgd2l0aCAoaSkgeW91ciBhY2Nlc3MgdG8sIHVzZSBvZiwgb3IgYWxsZWdlZCB1c2Ugb2YgdGhlIFNpdGVzOyAoaWkpIHlvdXIgdmlvbGF0aW9uIG9mIHRoZSBUZXJtcyBvciBhbnkgYXBwbGljYWJsZSBsYXcgb3IgcmVndWxhdGlvbjsgKGlpaSkgeW91ciB2aW9sYXRpb24gb2YgYW55IHRoaXJkIHBhcnR5IHJpZ2h0LCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIGFueSBpbnRlbGxlY3R1YWwgcHJvcGVydHkgcmlnaHQsIHB1YmxpY2l0eSwgY29uZmlkZW50aWFsaXR5LCBwcm9wZXJ0eSwgb3IgcHJpdmFjeSByaWdodDsgb3IgKGl2KSBhbnkgZGlzcHV0ZXMgb3IgaXNzdWVzIGJldHdlZW4geW91IGFuZCBhbnkgdGhpcmQgcGFydHkuIFNSUyByZXNlcnZlcyB0aGUgcmlnaHQsIGF0IG91ciBvd24gZXhwZW5zZSwgdG8gYXNzdW1lIHRoZSBleGNsdXNpdmUgZGVmZW5zZSBhbmQgY29udHJvbCBvZiBhbnkgbWF0dGVyIG90aGVyd2lzZSBzdWJqZWN0IHRvIGluZGVtbmlmaWNhdGlvbiBieSB5b3UsIGFuZCBpbiBzdWNoIGNhc2UsIHlvdSBhZ3JlZSB0byBjb29wZXJhdGUgd2l0aCBvdXIgZGVmZW5zZSBvZiBzdWNoIGNsYWltLjwvbGk+DQo8bGkgc3R5bGU9Im1hcmdpbi10b3A6IDE1cHg7IiB0eXBlPSIxIj48c3Ryb25nPlRlcm1pbmF0aW9uLjwvc3Ryb25nPiBJZiB5b3UgdmlvbGF0ZSB0aGVzZSBUZXJtcywgeW91ciBwZXJtaXNzaW9uIHRvIHVzZSB0aGUgU2l0ZXMgd2lsbCBhdXRvbWF0aWNhbGx5IHRlcm1pbmF0ZS4gSW4gYWRkaXRpb24sIFNSUyBpbiBpdHMgc29sZSBkaXNjcmV0aW9uIG1heSBzdXNwZW5kIG9yIHRlcm1pbmF0ZSB5b3VyIHVzZXIgYWNjb3VudCBhbmQvb3Igc3VzcGVuZCBvciB0ZXJtaW5hdGUgc29tZSBvciBhbGwgb2YgeW91ciBhY2Nlc3MgdG8gdGhlIFNpdGVzIGF0IGFueSB0aW1lLCB3aXRoIG9yIHdpdGhvdXQgbm90aWNlIHRvIHlvdS4gWW91IG1heSB0ZXJtaW5hdGUgeW91ciBhY2NvdW50IGF0IGFueSB0aW1lIGJ5IGNvbnRhY3RpbmcgU1JTIGF0IDxhIGhyZWY9Im1haWx0bzpzc2ltb25zQHNyc2NvbXB1dGluZy5jb20iPnNzaW1vbnNAc3JzY29tcHV0aW5nLmNvbTwvYT4uIEFmdGVyIHlvdXIgYWNjb3VudCBpcyB0ZXJtaW5hdGVkLCBpbmZvcm1hdGlvbiBhbmQgY29udGVudCBwcmV2aW91c2x5IHByb3ZpZGVkIGJ5IHlvdSB3aWxsIG5vIGxvbmdlciBiZSBhY2Nlc3NpYmxlIHRocm91Z2ggeW91ciBhY2NvdW50LCBidXQgU1JTIG1heSBjb250aW51ZSB0byBzdG9yZSBzdWNoIGluZm9ybWF0aW9uIGFuZCBjb250ZW50LCBhbmQgaXQgbWF5IGFsc28gYmUgc3RvcmVkIGJ5IHRoaXJkIHBhcnRpZXMgdG8gd2hvbSBpdCBoYXMgYmVlbiB0cmFuc2ZlcnJlZCB0aHJvdWdoIHlvdXIgdXNlIG9mIHRoZSBTaXRlcy48L2xpPg0KPGxpIHN0eWxlPSJtYXJnaW4tdG9wOiAxNXB4OyIgdHlwZT0iMSI+PHN0cm9uZz5Nb2RpZmljYXRpb24gb2YgdGhlIFRlcm1zLjwvc3Ryb25nPiBTUlMgcmVzZXJ2ZXMgdGhlIHJpZ2h0IGF0IGFueSB0aW1lIHRvIG1vZGlmeSB0aGVzZSBUZXJtcyBhbmQgdG8gaW1wb3NlIG5ldyBvciBhZGRpdGlvbmFsIHRlcm1zIG9yIGNvbmRpdGlvbnMgb24geW91ciB1c2Ugb2YgdGhlIFNpdGVzLiBTdWNoIG1vZGlmaWNhdGlvbnMgYW5kIGFkZGl0aW9uYWwgdGVybXMgYW5kIGNvbmRpdGlvbnMgd2lsbCBiZSBlZmZlY3RpdmUgaW1tZWRpYXRlbHkgdXBvbiBub3RpY2UgYW5kIGluY29ycG9yYXRlZCBpbnRvIHRoZXNlIFRlcm1zLiBXZSB3aWxsIG1ha2UgcmVhc29uYWJsZSBlZmZvcnRzIHRvIG5vdGlmeSB5b3Ugb2YgYW55IG1hdGVyaWFsIGNoYW5nZXMgdG8gdGhlIFRlcm1zLCBpbmNsdWRpbmcsIGJ1dCBub3QgbGltaXRlZCB0bywgYnkgcG9zdGluZyBhIG5vdGljZSB0byBvdXIgd2Vic2l0ZSBvciBieSBzZW5kaW5nIGFuIGVtYWlsIHRvIGFueSBhZGRyZXNzIHlvdSBtYXkgaGF2ZSBwcm92aWRlZCB0byB1cy4gWW91ciBjb250aW51ZWQgdXNlIG9mIHRoZSBTaXRlcyBmb2xsb3dpbmcgbm90aWNlIHdpbGwgYmUgZGVlbWVkIGFjY2VwdGFuY2Ugb2YgYW55IG1vZGlmaWNhdGlvbnMgdG8gdGhlIFRlcm1zLjwvbGk+DQo8bGkgc3R5bGU9Im1hcmdpbi10b3A6IDE1cHg7IiB0eXBlPSIxIj48c3Ryb25nPkRpc2NsYWltZXJzIG9mIFdhcnJhbnRpZXMuPC9zdHJvbmc+IFRoZSBTaXRlcyBhcmUgcHJvdmlkZWQgImFzIGlzIiBhbmQgb24gYW4gImFzIGF2YWlsYWJsZSIgYmFzaXMsIHdpdGhvdXQgd2FycmFudHkgb3IgY29uZGl0aW9uIG9mIGFueSBraW5kLCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLiBBbHRob3VnaCBTUlMgc2Vla3MgdG8gbWFpbnRhaW4gc2FmZSwgc2VjdXJlLCBhY2N1cmF0ZSwgYW5kIHdlbGwtZnVuY3Rpb25pbmcgc2VydmljZXMsIHdlIGNhbm5vdCBndWFyYW50ZWUgdGhlIGNvbnRpbnVvdXMgb3BlcmF0aW9uIG9mIG9yIGFjY2VzcyB0byBvdXIgU2l0ZXMsIGFuZCB0aGVyZSBtYXkgYXQgdGltZXMgYmUgaW5hZHZlcnRlbnQgdGVjaG5pY2FsIG9yIGZhY3R1YWwgZXJyb3JzIG9yIGluYWNjdXJhY2llcy4gU1JTIHNwZWNpZmljYWxseSAoYnV0IHdpdGhvdXQgbGltaXRhdGlvbikgZGlzY2xhaW1zIChpKSBhbnkgaW1wbGllZCB3YXJyYW50aWVzIG9mIG1lcmNoYW50YWJpbGl0eSwgZml0bmVzcyBmb3IgYSBwYXJ0aWN1bGFyIHB1cnBvc2UsIHF1aWV0IGVuam95bWVudCwgb3Igbm9uLWluZnJpbmdlbWVudDsgYW5kIChpaSkgYW55IHdhcnJhbnRpZXMgYXJpc2luZyBvdXQgb2YgY291cnNlLW9mLWRlYWxpbmcsIHVzYWdlLCBvciB0cmFkZS4gWW91IGFzc3VtZSBhbGwgcmlzayBmb3IgYW55L2FsbCBkYW1hZ2VzIHRoYXQgbWF5IHJlc3VsdCBmcm9tIHlvdXIgdXNlIG9mIG9yIGFjY2VzcyB0byB0aGUgU2l0ZXMuIFNSUyBkb2VzIG5vdCBndWFyYW50ZWUgdGhlIGFjY3VyYWN5IG9mLCBhbmQgZGlzY2xhaW1zIGFsbCBsaWFiaWxpdHkgZm9yLCBhbnkgZXJyb3JzIG9yIG90aGVyIGluYWNjdXJhY2llcyBpbiB0aGUgaW5mb3JtYXRpb24sIGNvbnRlbnQsIHJlY29tbWVuZGF0aW9ucywgYW5kIG1hdGVyaWFscyBtYWRlIGF2YWlsYWJsZSB0aHJvdWdoIHRoZSBTaXRlcy48L2xpPg0KPGxpIHN0eWxlPSJtYXJnaW4tdG9wOiAxNXB4OyIgdHlwZT0iMSI+PHN0cm9uZz5MaW1pdGF0aW9uIG9mIExpYWJpbGl0eS48L3N0cm9uZz4gSW4gbm8gZXZlbnQgd2lsbCBTUlMgYmUgbGlhYmxlIHRvIHlvdSBmb3IgYW55IGluY2lkZW50YWwsIHNwZWNpYWwsIGNvbnNlcXVlbnRpYWwsIGRpcmVjdCwgaW5kaXJlY3QsIG9yIHB1bml0aXZlIGRhbWFnZXMsIHdoZXRoZXIgYmFzZWQgb24gd2FycmFudHksIGNvbnRyYWN0LCB0b3J0IChpbmNsdWRpbmcgbmVnbGlnZW5jZSksIHN0YXR1dGUsIG9yIGFueSBvdGhlciBsZWdhbCB0aGVvcnksIHdoZXRoZXIgb3Igbm90IFNSUyBoYXMgYmVlbiBpbmZvcm1lZCBvZiB0aGUgcG9zc2liaWxpdHkgb2Ygc3VjaCBkYW1hZ2UuIFNvbWUganVyaXNkaWN0aW9ucyBkbyBub3QgYWxsb3cgdGhlIGRpc2NsYWltZXIgb2Ygd2FycmFudGllcyBvciBsaW1pdGF0aW9uIG9mIGxpYWJpbGl0eSBpbiBjZXJ0YWluIGNpcmN1bXN0YW5jZXMuIEFjY29yZGluZ2x5LCBzb21lIG9mIHRoZSBhYm92ZSBsaW1pdGF0aW9ucyBtYXkgbm90IGFwcGx5IHRvIHlvdS48L2xpPg0KPGxpIHN0eWxlPSJtYXJnaW4tdG9wOiAxNXB4OyIgdHlwZT0iMSI+PHN0cm9uZz5Hb3Zlcm5pbmcgTGF3Ljwvc3Ryb25nPiBUaGVzZSBUZXJtcyBhcmUgZ292ZXJuZWQgYnkgdGhlIGxhd3Mgb2YgdGhlIFN0YXRlIG9mIFBlbm5zeWx2YW5pYSwgd2l0aG91dCByZWdhcmQgdG8gY29uZmxpY3Qgb2YgbGF3IHByaW5jaXBsZXMuIFRvIHRoZSBleHRlbnQgdGhhdCBhbnkgbGF3c3VpdCBvciBjb3VydCBwcm9jZWVkaW5nIGlzIHBlcm1pdHRlZCBoZXJldW5kZXIsIHlvdSBhbmQgU1JTIGFncmVlIHRvIHN1Ym1pdCB0byB0aGUgZXhjbHVzaXZlIHBlcnNvbmFsIGp1cmlzZGljdGlvbiBvZiB0aGUgQWxsZWdoZW55IENvdW50eSwgUGVubnN5bHZhbmlhIGNvdXJ0cywgb3IsIGlmIHN1Y2ggY291cnQgc2hhbGwgbm90IGhhdmUganVyaXNkaWN0aW9uLCBhbnkgZmVkZXJhbCBjb3VydCBvZiB0aGUgVW5pdGVkIFN0YXRlcyBvciBvdGhlciBQZW5uc3lsdmFuaWEgc3RhdGUgY291cnQsIGFuZCBhcHByb3ByaWF0ZSBhcHBlbGxhdGUgY291cnRzIHRoZXJlZnJvbSwgZm9yIHRoZSBwdXJwb3NlIG9mIGxpdGlnYXRpbmcgYWxsIHN1Y2ggZGlzcHV0ZXMuPC9saT4NCjxsaSBzdHlsZT0ibWFyZ2luLXRvcDogMTVweDsiIHR5cGU9IjEiPjxzdHJvbmc+TW9kaWZpY2F0aW9uIG9mIHRoZSBTaXRlcy48L3N0cm9uZz4gU1JTIHJlc2VydmVzIHRoZSByaWdodCB0byBtb2RpZnkgb3IgZGlzY29udGludWUsIHRlbXBvcmFyaWx5IG9yIHBlcm1hbmVudGx5LCBzb21lIG9yIGFsbCBvZiB0aGUgU2l0ZXMgYXQgYW55IHRpbWUgd2l0aG91dCBhbnkgbm90aWNlIG9yIGZ1cnRoZXIgb2JsaWdhdGlvbiB0byB5b3UuIFlvdSBhZ3JlZSB0aGF0IFNSUyB3aWxsIG5vdCBiZSBsaWFibGUgdG8geW91IG9yIHRvIGFueSB0aGlyZCBwYXJ0eSBmb3IgYW55IG1vZGlmaWNhdGlvbiwgc3VzcGVuc2lvbiwgb3IgZGlzY29udGludWFuY2Ugb2YgYW55IG9mIHRoZSBTaXRlcy48L2xpPg0KPGxpIHN0eWxlPSJtYXJnaW4tdG9wOiAxNXB4OyIgdHlwZT0iMSI+PHN0cm9uZz5HZW5lcmFsLjwvc3Ryb25nPg0KPG9sIHN0eWxlPSJwYWRkaW5nLWxlZnQ6IDIwcHg7Ij4NCjxsaSBzdHlsZT0ibWFyZ2luLXRvcDogNXB4OyIgdHlwZT0iQSI+PHU+RW50aXJlIEFncmVlbWVudC48L3U+IFRoZXNlIFRlcm1zIGNvbnN0aXR1dGUgdGhlIGVudGlyZSBhbmQgZXhjbHVzaXZlIHVuZGVyc3RhbmRpbmcgYW5kIGFncmVlbWVudCBiZXR3ZWVuIHlvdSBhbmQgU1JTIHJlZ2FyZGluZyB5b3VyIHVzZSBvZiBhbmQgYWNjZXNzIHRvIHRoZSBTaXRlcywgYW5kIGV4Y2VwdCBhcyBleHByZXNzbHkgcGVybWl0dGVkIGFib3ZlIG1heSBvbmx5IGJlIGFtZW5kZWQgYnkgYSB3cml0dGVuIGFncmVlbWVudCBzaWduZWQgYnkgYXV0aG9yaXplZCByZXByZXNlbnRhdGl2ZXMgb2YgdGhlIHBhcnRpZXMuPC9saT4NCjxsaSBzdHlsZT0ibWFyZ2luLXRvcDogNXB4OyIgdHlwZT0iQSI+PHU+Tm8gV2FpdmVyLjwvdT4gVGhlIGZhaWx1cmUgdG8gcmVxdWlyZSBwZXJmb3JtYW5jZSBvZiBhbnkgcHJvdmlzaW9uIHNoYWxsIG5vdCBhZmZlY3Qgb3VyIHJpZ2h0IHRvIHJlcXVpcmUgcGVyZm9ybWFuY2UgYXQgYW55IHRpbWUgdGhlcmVhZnRlciwgbm9yIHNoYWxsIGEgd2FpdmVyIG9mIGFueSBicmVhY2ggb3IgZGVmYXVsdCBvZiB0aGUgVGVybXMgY29uc3RpdHV0ZSBhIHdhaXZlciBvZiBhbnkgc3Vic2VxdWVudCBicmVhY2ggb3IgZGVmYXVsdCBvciBhIHdhaXZlciBvZiB0aGUgcHJvdmlzaW9uIGl0c2VsZi48L2xpPg0KPGxpIHN0eWxlPSJtYXJnaW4tdG9wOiA1cHg7IiB0eXBlPSJBIj48dT5QYXJhZ3JhcGggSGVhZGVycy48L3U+IFVzZSBvZiBwYXJhZ3JhcGggaGVhZGVycyBpbiB0aGUgVGVybXMgaXMgZm9yIGNvbnZlbmllbmNlIG9ubHkgYW5kIHNoYWxsIG5vdCBoYXZlIGFueSBpbXBhY3Qgb24gdGhlIGludGVycHJldGF0aW9uIG9mIHBhcnRpY3VsYXIgcHJvdmlzaW9ucy48L2xpPg0KPGxpIHN0eWxlPSJtYXJnaW4tdG9wOiA1cHg7IiB0eXBlPSJBIj48dT5TZXZlcmFiaWxpdHkuPC91PiBJbiB0aGUgZXZlbnQgdGhhdCBhbnkgcGFydCBvZiB0aGUgVGVybXMgaXMgaGVsZCB0byBiZSBpbnZhbGlkIG9yIHVuZW5mb3JjZWFibGUsIHRoZSB1bmVuZm9yY2VhYmxlIHBhcnQgc2hhbGwgYmUgZ2l2ZW4gZWZmZWN0IHRvIHRoZSBncmVhdGVzdCBleHRlbnQgcG9zc2libGUgYW5kIHRoZSByZW1haW5pbmcgcGFydHMgd2lsbCByZW1haW4gaW4gZnVsbCBmb3JjZSBhbmQgZWZmZWN0LjwvbGk+DQo8L29sPg0KPC9saT4NCjxsaSBzdHlsZT0ibWFyZ2luLXRvcDogMTVweDsiIHR5cGU9IjEiPjxzdHJvbmc+Tm90aWNlIHRvIENhbGlmb3JuaWEgUmVzaWRlbnRzLjwvc3Ryb25nPiBVbmRlciBDYWxpZm9ybmlhIENpdmlsIENvZGUgU2VjdGlvbiAxNzg5LjMsIHlvdSBtYXkgY29udGFjdCB0aGUgQ29tcGxhaW50IEFzc2lzdGFuY2UgVW5pdCBvZiB0aGUgRGl2aXNpb24gb2YgQ29uc3VtZXIgU2VydmljZXMgb2YgdGhlIENhbGlmb3JuaWEgRGVwYXJ0bWVudCBvZiBDb25zdW1lciBBZmZhaXJzIGluIHdyaXRpbmcgYXQgMTYyNSBOLiBNYXJrZXQgQmx2ZC4sIFN1aXRlIFMtMjAyLCBTYWNyYW1lbnRvLCBDYWxpZm9ybmlhIDk1ODM0LCBvciBieSB0ZWxlcGhvbmUgYXQgKDgwMCkgOTUyLTUyMTAgaW4gb3JkZXIgdG8gcmVzb2x2ZSBhIGNvbXBsYWludCByZWdhcmRpbmcgdGhlIHNlcnZpY2Ugb3IgdG8gcmVjZWl2ZSBmdXJ0aGVyIGluZm9ybWF0aW9uIHJlZ2FyZGluZyB1c2Ugb2YgdGhlIHNlcnZpY2UuPC9saT4NCjwvb2w+, PGgxIHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxOHB0OyI+PHN0cm9uZz5BY2Nlc3NpYmlsaXR5PC9zdHJvbmc+PC9zcGFuPjwvaDE+DQo8cCBzdHlsZT0idGV4dC1hbGlnbjogbGVmdDsgcGFkZGluZy10b3A6IDEwcHg7Ij5XZSBhcmUgY29tbWl0dGVkIHRvIGltcHJvdmluZyBhbmQgbWFpbnRhaW5pbmcgYSB3ZWJzaXRlIHRoYXQgaXMgYWNjZXNzaWJsZSB0byB0aGUgd2lkZXN0IHBvc3NpYmxlIGF1ZGllbmNlLCByZWdhcmRsZXNzIG9mIHRlY2hub2xvZ3kgb3IgYWJpbGl0eS4gVG8gYWNoaWV2ZSB0aGlzIGdvYWwsIHdlIHBhcnRuZXIgd2l0aCBTUlMgQ29tcHV0aW5nIHRvIGNvbXBseSB3aXRoIGFwcGxpY2FibGUgd2Vic2l0ZSBhY2Nlc3NpYmlsaXR5IHN0YW5kYXJkcy4gSWYgeW91IGV4cGVyaWVuY2UgYW55IGRpZmZpY3VsdHkgaW4gYWNjZXNzaW5nIGFueSBwYXJ0IG9mIHRoaXMgd2Vic2l0ZSwgcGxlYXNlIGZlZWwgZnJlZSB0byBjYWxsIDgwMC03OTctNDg2MSBvciBlbWFpbCBzdXBwb3J0QHNyc2NvbXB1dGluZy5jb20sIG9yIGNvbnRhY3QgdXMgZGlyZWN0bHkuIE5vdGUgdGhhdCBvdXIgZWZmb3J0cyBhcmUgb25nb2luZywgYW5kIHdlIGFyZSBjb21taXR0ZWQgdG8gcHJvdmlkaW5nIHRoZSBpbmZvcm1hdGlvbiwgaXRlbSwgb3IgdHJhbnNhY3Rpb24geW91IHNlZWsgdGhyb3VnaCBhbiBhbHRlcm5hdGUgY29tbXVuaWNhdGlvbiBtZXRob2QgdGhhdCBpcyBhY2Nlc3NpYmxlIGZvciB5b3UuPC9wPg==.