Directions? Please leave a video condolence by entering your name and click the "Record" button below. Judith Ann Gallagher Judith Ann Gallagher, 61, of Long Cove on Hilton Head Island, SC, died Wednesday February 25, at home after a long illness. She was united in marriage to Bruce Gallagher. I thought you might like to see a memorial for Judy Potter Gallagher I found on Findagrave.com. A loving wife, mother . If you notice a problem with the translation, please send a message to [emailprotected] and include a link to the page and details about the problem. West Valley City, George R. Gallagher of the District of Columbia Court of Appeals, passed away on September 22, 2012, at her home, Ardara Farm. As a young girl she was an avid outdoor enthusiast with her brother and . Judy will be deeply missed by her son Harry Bob Gallagher of Sylvan Lake Alberta, and daughter Carrie Wilson of Ohaton Alberta, plus numerous grandchildren, great grandchildren, and her brothers and sisters. Prayers and love to Bob, Robert, Laura, and Anne. He was predeceased by : his parents, Andrew Gallagher . Plant a . After attending Lindenwood College in St. Charles, Missouri, for her freshman year, she transferred to University of Missouri in Columbia and graduated in 1953 with a degree in education.. Survived by a daughter, 5 grandchildren, and 10 great-grandchildren. Barry J. Craig and Judith A. Lynn Craig to Michael P. Dezort for $56,000. She was born in Jefferson County, KY, on October 27, 1935. Alia Margaret Coughenour to Larry Ruvo for $180,000. She loved friends and family coming to visit and having company around her. Make a life-giving gesture. Born May 13, 1943, in White Haven, she was a daughter of the late George and Marie Seguine. It is with deep sorrow that we announce the death of Judy Gallagher of Sylvan Lake, Alberta, who passed away on October 5, 2022, at the age of 71, leaving to mourn family and friends. Year should not be greater than current year. Judith Gallagher Obituary (2009) - Bluffton, SC - The Island Packet Follow Us. She is survived by husband Jim Gallagher; daughters Dawn Kelley, Amy Godfrey (Tim Gilliard), Chanda Godfrey; step son Pat (Diane) Russell; grandchildren Mike (Katie) and Jamie Rogers, Gage Godfrey, Charlotte (Cody) Breese and Regan Blankenburg; sisters Diane VerHow, Lynn Malcoff, Robin Burhans; sister in law Kathy (Leo) Blauvelt; great grandchildren, nieces and nephews; her beloved dog Buddy and cat Spunky. you can be sure that death notices are quickly and accurately disseminated on a permanent basis. Send . cemeteries found within miles of your location will be saved to your photo volunteer list. She was predeceased by : her parents, Laura Tower (Wilson) and William Tower. Prepare a personalized obituary for someone you loved.. July 21, 1951 - Reposing at the Edward F. Lieber Funeral Homes, Read More, Death Notice GALLAGHER, JUDITH, of Fort Myers, died Tuesday. Judith Carolyn "Judy" Gallagher (born: Judith Carolyn Grande; June 16, 1949 - June 13, 2008) was an Italian-American journalist. After high school, PJ enrolled in classes and became a master plumber and worked independently throughout the North Shore PJ enjoyed spending . This account has been disabled. Fortune Salaire Mensuel de Judy Hendrickson Obituary 2019 Combien gagne She was a great person, and we loved and respected her a lot. Echovita offers a solidarity program that gives back the funds generated to families. Donald Riley Saturday November 26th 2022, Lois Elaine Reddom Rusaw Tuesday October 18th 2022, Kevin Bruce November 18 1958 September 23 2022 (age 63), search engine specialized in Canadian obituaries. Share Obituary. View Judy Gallagher results in Florida (FL) including current phone number, address, relatives, background check report, and property record with Whitepages. Beloved daughter of the late Dorothy M. and John F. Gallagher. Judy Gallagher | Frankie Grande Wiki | Fandom JUDY GALLAGHER OBITUARY. Terms of Service apply. On August 5, 1978 she married Robert J. Gallagher. Judy Gallagher, daughter of Bonita Bell Brown Potter and the late Frank Potter, Sr., was born March 7, 1957 in Ladysmith, Wisconsin. I'm so very sorry for your loss. Arrangements by Gallaher American Family Funeral and Cremation Service. Our prayers are with all her family as they face the future. Fax: 318-641-3012. philip@gallagherfh.com. Read More, Former Anaconda resident Judith R. "Judy" Gallagher died Feb. 2, 2007, in Las Vegas after a courageous battle with multiple sclerosis. God used you in such a powerful way in my life. WASHINGTON (AP) The leaders of a new House select committee on China defended Democratic Rep. Judy Chu on Sunday, saying it was abhorrent and unacceptable for a GOP lawmaker to question her loyalty to the United States based on her Chinese heritage. A Memorial Service will be held 4:30 pm Thursday, February 6, 2014 in the Chapel of Roswell Funeral Home with a reception following the service. You can always preview your video prior to submitting it. All Obituaries | The Gundrum Service | South Amboy NJ funeral home and Resend Activation Email. Judith Ann Gallagher. Our obituary archive offers a unique opportunity to share memories, express condolences and celebrate the life of your loved ones and create a lasting friendship thread for the deceased. To use this feature, use a newer browser. Bob, Fortune Salaire Mensuel de Anthony Caruso Obituary Nj Combien gagne t Prepare a personalized obituary for someone you loved.. I am so glad to have known Judy. To plant trees in memory, please . Skip to content. Lighthouse Fellowship Church of the Nazarene 4404 47 Ave, Sylvan Lake, AB T4S1N4. Obituary Judy married Joseph Michael Gallagher Sr. (himself the son of Irish immigrants) after WWII. Community content is available under CC-BY-SA unless otherwise noted. 10763 Dundee Road, Huntley, IL 60142 - 847-515-8772 Funeral Thursday 10AM Read More, Submit an obit for publication in any local newspaper and on Legacy. Read More, Judith Sharon Gallagher Jude is the firstborn child of Robert and Marian (deceased) Gallagher of Rio Oso, California. Weston - Mr. John P. Gallagher of Weston, formerly of Waltham, died Wednesday, January 25, 2006 at Newton-Wellesley Hospital. All photos appear on this tab and here you can update the sort order of photos on memorials you manage. Judith Ann Gallagher, 61, of Long Cove on Hilton Head Island, S.C., died Wednesday, Feb. 25, 2009, at home after a long illness. Gallagher FamilyI am so sorry to hear of Judy's passing. Find Judith Gallagher obituaries and memorials at Legacy.com Please accept my heartfelt condolences. My thoughts are with Bob and the whole family. Thanks for your help! I am indebted to you Judy. Thomas John Gallagher Obituary. Greg Valicka, She was special to so many of us. Defiore Funeral Home 10763 Dundee Rd, Huntley, IL 60142. Judy is the daughter of Albert and M.J. Gallagher of PA. Judy is survived by her son Gregory Dupes, her daughter-in-law Jaime Dupes and 2 granddaughters Eloise and Madeline. Leaders of House China panel denounce attack on Rep Judy Chu Your Scrapbook is currently empty. Cant was not in Judys vocabulary; she would always say For with God nothing shall be impossible-Luke 1:37. I am sorry sorry for your loss, but I know that she is rejoicing in Heaven. All. Leave your condolences to the family on this memorial page or send flowers to show you care. Judy is survived by her husband of 52 years, Farrell M. "Red" Gallagher; sons and daughters-in-law, Mike (Shawn) Gallagher, Terence (Terry) Gallagher Read More, Judith Ann Gallagher, 63, of White Haven, passed away June 27, 2006, after a courageous battle with cancer. Maryann Haak Moran, 76, of South Amboy died on Friday February 17, 2023 at Raritan Bay Medical Center, Perth Amboy. Bonnie Kathleen Biggar, 84, long time resident of Roscommon, Michigan, died unexpectedly on Friday, February 24th, 2023, surrounded by her family. With heavy hearts, we announce the death of Thomas John Gallagher of Villa Hills, Kentucky, who passed away on November 28, 2022 at the age of 83. Project engineer and manager for US Air Force Center for Engineering and the Environment. Judy was a graduate of Bloomsburg University, where she earned a degree in education Read More, Gallagher, Judith A. Loving Sister & Aunt A Friend To Many Age 65, of Saint Paul. Barbara E. Holley Donnelly Obituary - South Bend Tribune She was a bright shining light and will be missed. John P. Gallagher Obituary 2006 - Joyce Funeral Home Judy Pignone was born the fourth, and youngest, of Italian immigrants Antonio Pignone and Antoinette Pignone (nee Siano). Judith Gallagher passed away 2010-04-20 in This is the full obituary story where you can express condolences and share memories. She will be remembered Read More, GALLAGHER Mrs. Judith (Judy) Faulkner Kuertz Gallagher, of Comus, MD, age 90, wife of the late Hon. Helen Gallagher Obituary (2011) - Chicago, IL - Chicago Sun-Times I know she will be greatly missed by those who were blessed to know her. 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==.