He was a huge sports fan and enjoyed watching football.


Visitation Tuesday March 29, 3:00pm - 9:00pm at Countryside Funeral Home and Crematory 950 South Bartlett Road (at Stearns Road) Bartlett. Echovita offers a solidarity program that gives back the funds generated to families. Special memories include prom and homecomings with Cali, the Notre Dame Sandy, Ken, Lauren: Love you all so much. Write your message of sympathy today. Patrick was one of a kind and will never be forgotten. Avenida Maric 1.250 78.520-000 Guarant do Norte, MT, Brazil. View Patrick Jonathan McKay's obituary, contribute to their memorial, see their funeral service details, and more. Authorize the publication of the original written obituary with the accompanying photo. Pat: God Bless You and may you rest in peace. He was a naturally gifted athlete who graduated from Ennis high school in 2002. He was preceded in death by his father, Donald McKay, his mother Phyllis McKay, and his. Plant a tree In loving Memory of Pat , may you rest in peace Lil bro. | All testimonials are written by persons unlicensed and not qualified to make funeral arrangements, embalm or conduct a funeral. Ken, Sandy, and Lauren, words cannot express how deeply sorry we are for your loss. Patrick Eugene McKay, 66, of Kokomo, Indiana passed away on September 1, 2022. Burial will follow at Resurrection Cemetery. Leave a memory or share a photo or video below to show your support. July 10, 1924 - January 27, 2009 San Antonio, Texas Set a Reminder for the Anniversary of Patrick's Passing Forward to Family & Friends Share a Memory Add a Photo Print Contact Us Resources Arrangements made by Porter Loring Mortuary 1101 McCullough Avenue San Antonio, TX 78212 Get Directions Born in the Bronx, NY on December 13, 1942 to. Send flowers. Funeral services will be 7:00 PM Wednesday, September 7, 2022 at Sunset Memory Garden Funeral Home 2097 West Alto Road Kokomo, Indiana 46902. The Dignity Memorial brand name is used to identify a network of licensed funeral, cremation and cemetery providers that include affiliates of Service Corporation International, 1929 Allen Parkway, Houston, Texas. Prepare a personalized obituary for someone you loved.. Echovita offers a solidarity program that gives back the funds generated to families. Surviving relatives include six children, Robert McKay (Tia) of Kokomo; Gerald McKay (Brandi) of Peru, IN; Amanda McKay of Kokomo; Anthony Martin of Kokomo; Andrew Martin of Kokomo; Aaron Martin of Kokomo; grandchildren, Tyler McKay; Braydon McKay; William McKay; Breanna McKay; Mckinzie Rayl; Talon Rayl; Shiana Varnado; Tykashmirae Nix; Gabriella Casteel; Mason Casteel; Aarabella Martin; great grandchildren, Kash'den Tyler; Ma'liyah Varnado; Guinevere McKay; Cameron McKay; several brothers, sisters, aunts, uncles, cousins, nieces and nephews. Would you like to offer Patrick J. McKays loved ones a condolence message? He was a beautiful soul who grew up surrounded by nature and loved to spend time in it. Authorize the publication of the original written obituary with the accompanying photo. After high school he went on to work with his Dad in the insulation business. A unique and lasting tribute for a loved one. 2017-2023 Tribute Archive. The importance of saying "I love you" during COVID-19, Effective ways of dealing with the grieving process, Solutions to show your sympathy safely during the Covid-19 pandemic. He was predeceased by his wife of 68 years, Muriel. Patrick Eugene McKay, 66, of Kokomo, Indiana passed away on September 1, 2022. Patrick was the cherished son of Ken and Sandy McKay; loving brother of Lauren McKay; dear grandson of the late Ann and Bob Cords, and the late Juanita McKay; dear nephew of Theresa (John), Karen and Sherry, Bob (Debbie) and Dan. On Saturday, February 25, 2023, Kenneth L. McKay, loving husband and father of four children, passed away at the age of 91.Kenneth was born on September 14, 19311931, in Park Springs, TX, to Calvin Lu A tree was also planted in memory of Patrick Tyler McKay. He would say his children were the biggest accomplishments of his life. Let others know about your loved one's death. ALL RIGHTS RESERVED. Copyright 2023 Echovita Inc. All rights reserved. Patrick T. McKay, 25, of South Elgin, died March 25, 2022. All rights reserved. He received his master's degree from Brown . Help tell the story of your loved ones unique life. Bopp ChapelPhone: (314) 965-768010610 Manchester Road, Kirkwood, MO 63122-1308, Bopp ChapelSupported by SRS Computing and TA. After high school he went on to work with his Dad in the insulation business. (78 years old).

Patrick T. McKay, 25, of South Elgin, died March 25, 2022. Shawn Patrick McKay, on October 2, 2020, of Mt. Sign up for service and obituary updates. Your browser may not work with certain site. July 10, 1924 - January 27, 2009 San Antonio, Texas Set a Reminder for the Anniversary of Patrick's Passing. He was born on May 31, 1956 in Tipton, Indiana the son of Jesse and Etta McKay (Ryan). Here's everything you need to know: It is with great sadness that we announce the passing of Clifford Patrick MacKay (age 74) on October 25, 2020 at the QEII. Robert was born March 17, 1944 to the late Aloysius and Pauline McKay. It may take up to 1 hour for your comment to appear on the website. Visitation will be 4:00 PM - 7:00 PM Wednesday, September 7, 2022 at the funeral home. After high school he went on to work with his Dad in the insulation business. 2017-2023 Tribute Archive. Your entry has exceeded the maximum character limit. Leave a memory or share a photo below to show your support. Kenneth was born on September 14, 19311931, in Park Springs, TX, to . January 19, 2021 Ken. 2 Trees have been planted in memory of Patrick McKay. Visitation will be 4:00 PM - 7:00 PM Wednesday, September 7, 2022 at the funeral home. 5 trees planted in memory of Patrick Tyler McKay. Neptune Society is the largest provider of affordable cremation services in the nation. CANDLE HAS BEEN LIT CANDLES HAVE BEEN LIT, We are reviewing your submission. He was a naturally gifted athlete who graduated from Ennis high school in 2002. Until we meet again. Following services cremation will be private. Bopp Chapel Phone: (314) 965-7680 10610 . He was loved and cherished by many people including : his parents, Joseph McKay and Anne McKay; his children, Christian McKay (Catherine), Courtney McKay, Patrick McKay and Tracy McDonald; and his brother Noel McKay. Our family was so saddened to learn of Patrick's passing. Funeral services will be 7:00 PM Wednesday, September 7, 2022 at Sunset Memory Garden Funeral Home 2097 West Alto Road Kokomo, Indiana 46902. Obituary. From your AM Court Reporting Partner and fellow Mass of Christian Burial will be held on Tuesday, October 23 at 11:00 a.m. at Cure of Ars Catholic Church, 9401 Mission Road Leawood, KS. As such, in the State of Oregon Preneed Crematory Sales and Services are conducted under the trade name Neptune Cremation Service. . Kenneth L. McKay. There is no photo or video of Patrick McKay.Be the first to share a memory to pay tribute. Help tell the story of your loved ones unique life. Beloved son of Mary Beth Donnelly (Kevin Donnelly) and Dennis McKay. ALL RIGHTS RESERVED. Funeral arrangement under the care ofCountryside Funeral Home and Crematory. OBITUARY Robert Patrick McKay March 17, 1944 - May 1, 2018. . He was a beautiful soul who grew up surrounded by nature and loved to spend time in it. Upgrade now. Patrick was a very loyal friend who had a passion for food and enjoyed spending time cooking for his loved ones. A unique and lasting tribute for a loved one. Patrick was a talented musician. Plant a tree in memory of Patrick An environmentally friendly option Plant a tree 5 trees planted in memory of Patrick Tyler McKay. In loving Memory of Pat , may you rest in peace Lil bro. Visitation Tuesday March 29, 3:00pm - 9:00pm at Countryside Funeral Home and Crematory 950 South Bartlett Road (at Stearns Road) Bartlett. Patrick was preceded in death by his Grandparents, Uncle Bob Dolan, Cousin Meghan Dolan and Daughter Brooks Harmony Greco-McKay. Family and friends can send flowers and condolences in memory of the loved one. He was a huge sports fan and enjoyed watching football. His affection for music and adventure brought Patrick to Austin, Texas. He was loved and cherished by many people including : his parents, Ken McKay and Sandy McKay; his sibling Lauren McKay; his grandparents, Ann, Bob Cords and Juanita McKay; and his aunts and uncles, Theresa (John), Karen, Sherry, Bob (Debbie) and Dan. By News Staff on Friday, March 3, 2023. Leave a memory or share a photo or video below to show your support. 2023 Neptune Society. Following services cremation will be private. Send a note, share a story or upload a photo. Patrick Gerald McKay October 29, 1929 - September 28, 2022 IN THE CARE OF Kaul Funeral Home Patrick Gerald McKay, age 92, of Clinton Twp, Michigan passed away on Wednesday, September 28, 2022. Patrick Jonathan McKay. 436 likes. The planting of 1 memorial tree in the honor of Patrick Robert McKay has been arranged by Tom & Marilyn. He is survived by his loving children: Kevin (BetteJo), the late Diane (Garry) Kalinsky, Kenneth (Sarah); dear grandchildren: Bryan, Ken, Patrick, Scott, Erin, Daniel, Kelly, Miriam, Kasey; and great-grandchildren: Owyn, Henryk, John, James, Connor, Colleen, Patrick, Kevin, Robert, Elizabeth Lizzy, Adalynn, Nolan, Aiden, Jackson, Ella and Michael. On Saturday, Feb, 25, 2023, Kenneth L. McKay, loving husband and father of four children, passed away at the age of 91. It may take up to 1 hour for your comment to appear on the website. He enjoyed playing and sharing his favorite instrument with anyone who was interested. OBITUARY Patrick Eugene McKay May 31, 1956 - September 1, 2022. 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==.