What should I say when I run into the bereaved in public? if (popup.hasClass("base64")) By preserving the body through embalming, we can give you and your family time to make personalized and meaningful arrangements. 35 Funeral Home jobs available in Brentwood, TN on Indeed.com. See reviews, pricing, contact info, answers to FAQs and more. $('a.privacyPolicy, a.termsOfUse').click(function() { Get information about Brentwood-Roesch-Patton Funeral Home, a Funeral Home near Brentwood, Tennessee. Her passion for helping others is second to none, and her desire of service before self is obviously her calling. Get information about Brentwood-Roesch-Patton Funeral Home in Brentwood, Tennessee. Toggle navigation. 37027 (615) 373-3040: Antioch, TN: New Generation Funeral Home 2930 Murfreesboro Pike Antioch, TN. if (popup.hasClass("base64")) Welcome to All U.S. View 204 homes for sale in Brentwood, TN at a median listing price of $692,500. 37013 (615) 365-7105: Heritage Funeral Home And Creamation Svc: 105 Se Parkway Franklin, TN. Embalming is a process used to sanitize and temporarily preserve the body of a person who has passed away. 9010 Church St E, Brentwood, TN 37027 Or send flowers directly to a service happening at Austin Funeral & Cremation Services. If you don't see the obituary or death record that you are looking for, use this form to search our entire database. In Lieu of flowers , Memorials contributions may be made to the Building Fund of Brenthaven Cumberland Presbyterian Church, 516 Franklin Road, Brentwood, TN 37027-5905 or Hospice & Palliative Care Compassus, 1805 N Jackson St, Suite 11, … We'd be happy to give you more information and clarify any of your concerns. 37064 (615) 472-8581: Patton Brothers Funeral Drctrs var id = $(this).attr('class'); Drop a note, make a phone call, and continue to invite them when you make social plans; they’ll let you know if and when they are ready to participate. }); Lori Gregory is a native of Nashville and has been a Funeral Director for over 20 years. View All Funeral Homes in Tennessee. A columbarium is a place for the interment of urns containing cremated remains. We are a fifth-generation, family-owned funeral home and have proudly served Rutherford and surrounding counties for over 120 years. Absolutely! 153 Hilldene Avenue, Harold Hill, Romford, RM3 8DL Available on 01708 342 573. Funeral Home; Browse Obituaries and Death Records in Brentwood, Tennessee. To inquire about a specific funeral service by Brentwood-Roesch-Patton Funeral Home, contact the funeral director at 615-373-3040. The procession will then go through downtown Franklin to the square and right onto 3 rd Ave. South, which turns into Hwy 96 to Interstate 65 North. $('a.privacyPolicy, a.termsOfUse').click(function() { Privacy Policy & Terms of Use. About Brentwood, TN Funeral Homes and Mortuaries Listed Brentwood, TN Funeral Homes is brought to you by FSN Funeral Homes. We are here for you 24 hours a day, 7 days a week, 365 days a year. popup.html(atob(popup.html())).removeClass("base64"); Spanish. 37013 (615) 365-7105: Heritage Funeral Home And Creamation Svc: 105 Se Parkway Franklin, TN. Brentwood, TN: Brentwood Funeral Home 9010 Church St E Brentwood, TN. Brentwood Roesch Patton Funeral Home. How can I be sure that the remains I receive are those of my loved one? What can I do to help the bereaved after services? In fact, we encourage you to do so. 37027 (615) 373-3040: New Generation Funeral Home: 2930 Murfreesboro Pike Antioch, TN. BBB Start with Trust ®. Your browser may not work with certain site. A licensed funeral director will assist you in making the proper funeral arrangements for your loved one. Brentwood, TN 37027 ... Brentwood, TN 37027 . They provide support to the family, guide the arrangement of visitations and funeral ceremonies, prepare the deceased according to the family’s wishes, and ensure that everything goes according to plan. Brentwood Roesch Patton Funeral Home 9010 Church Street East Brentwood, TN 37027. 9/18/1950 - 1/14/2021. Having their loved one present often helps family and friends to accept the reality of their loss, especially for those who may not have seen him or her in a while. Mabeline Scribner. } ----- BRENTWOOD FUNERAL HOME (BFH): Our son's wife had her Celebration of Life (COL) at the Brentwood Funeral Home (BFH). Austin Funeral & Cremation Services, LLCPhone: (615) 377-07755115 Maryland Way, Brentwood, TN 37027, We Are On Call 24/7(615) 609-0202 | (615) 430-4817, © Austin Funeral & Cremation Services, LLCCrafted with care by Frazer Consultants and TA, $(function () { If you don't see the answer to your question here, feel free to contact us. 37027 (615) 373-3040: Antioch, TN: New Generation Funeral Home 2930 Murfreesboro Pike Antioch, TN. Then, use free funeral planning tools to organize the best service for your loved one. Survived by husband, James Martin sister, Rosa Hester sister-in-law, Jeanie Herbert several loving nieces and nephews. Are there any restrictions? Lori Gregory is a native of Nashville and has been a Funeral Director for over 20 years. Get reviews, hours, directions, coupons and more for Brentwood-Roesch-Patton Funeral Home at 9010 Church St E, Brentwood, TN 37027. Compare burial and cremation costs to other local funeral providers. Our staff is experienced in a variety of funeral services and can help you celebrate your loved one no matter your religion, culture, or budget. If you opt to not use embalming, usually we can offer a private viewing prior to cremation with minimal preparation excluding embalming. 37027 (615) 373-3040: New Generation Funeral Home: 2930 Murfreesboro Pike Antioch, TN. Funeral Homes in Our Delivery Area: Name Address Phone; Brentwood Funeral Home: 9010 Church St E Brentwood, TN. When you have experienced the loss of a loved one, you can trust Austin Funeral & Cremation Services to guide you through the process of honoring their life. BBB Directory of Funeral Homes near Brentwood, TN. Find the Best Brentwood, TN Funeral Homes on Superpages. 37013 (615) 365-7105: Franklin, TN: Heritage Funeral Home And Creamation Svc 105 Se Parkway Franklin, TN… View upcoming funeral services, obituaries, and funeral flowers for Austin Funeral & Cremation Services, LLC in Brentwood, TN, US. Why have a viewing? The family will need your support for months to come, so make sure to check in on a regular basis. Suite 100. Find all locations, funeral service information, and begin any funeral pre-planning needed. { If you are looking for a funeral home in Brentwood TN state are included with reviews. Claim this funeral home. Churches dot com - the best way to find funeral home in Brentwood TN. The phones are always answered locally by one of our directors. If for any reason you are unable to get through on this line, please call (615) 609-0202 or (615) 430-4817. All necessary paperwork and fees must be completed with local authorities, and then a checklist is completed at the crematory. Brentwood Roesch Patton Funeral Home 9010 Church Street East Brentwood, TN 37027. Except in rare circumstances, embalming is not required by law. This page shows only the 20 most recent obituaries in Brentwood, Tennessee. However, most funeral homes do not permit public viewing without embalming. If your child becomes cranky or noisy, remove them promptly to avoid disturbing those who are mourning. Find contact information, view maps, and more. Get information about Austin Funeral & Cremation Services in Brentwood, Tennessee. It also can enhance the appearance of a person that has suffered damage from an accident or illness. } Search for other Funeral Directors in Brentwood … English. ... Funeral homes curate a final ceremony that provides space for guests to begin the journey through grief together. Ever Loved makes it easy to compare funeral homes and find the best fit. 37013 (615) 365-7105: Franklin, TN: Heritage Funeral Home And Creamation Svc 105 Se Parkway Franklin, TN… Brentwood Roesch Patton Funeral Home. Polly Herbert Martin Age 90 of Brentwood, TN. The grieving process doesn’t end with the funeral, and it will take time for the bereaved to heal. At Austin Funeral & Cremation Services, we pride ourselves on serving families in Brentwood and the surrounding areas with dignity, respect, and compassion. How to Put Together a Funeral in Brentwood(TN) Funeral homes in Brentwood(TN) have a wide experience in dealing with people after someone close to them has died. var popup = $('#' + id); ... Funeral homes curate a final ceremony that provides space for guests to begin the journey through grief together. Compare funeral homes in Brentwood, Williamson County, TN and read verified reviews on Funeral Guide, America's online funeral resource With two small children, our son had to plan a … Planning a Celebration of Life ceremony for a loved one is daunting, but Opie, Allie, Michael, and Bentley helped us every step of the way. var id = $(this).attr('class'); Read recent obituaries, find service information, & send flowers. If this is your first meeting since the death and you’re in a public setting, it’s best not to bring up the death directly. Send Flowers Phone: (615) 255-5412. Whenever you call, you will speak with a staff member, not an answering service. We’ve provided a list of answers to questions we frequently receive regarding our services and other activities related to funerals. Whether you’d like to arrange a funeral service before cremation, or wait and hold the service after the cremation, we’re happy to help you design a meaningful service to accompany the cremation. Browse the most recent Brentwood, Tennessee obituaries and condolences. Nashville, TN 37211 615-832-1948 Woodbine Funeral Home- Hickory Chapel 5852 Nolensville Rd. This will vary depending on the individual and the casket or container used, but usually takes about 3-5 hours. 35 Funeral Home jobs available in Brentwood, TN on Indeed.com. We transformed the space with plush contemporary furniture, beautiful gray tones, new hardwood-style tile flooring and modern art. If you’ve already offered your condolences, or attended the visitation or service, simply greet the bereaved warmly and express an interest in their wellbeing. How to Put Together a Funeral in Brentwood(TN) Funeral homes in Brentwood(TN) have a wide experience in dealing with people after someone close to them has died. Funeral Home; Browse Obituaries and Death Records in Brentwood, Tennessee. In addition, cremation is a regulated process with strict procedures we follow to ensure we’re holding our services to the highest standard possible. Lori is a mother of 3 and grandmother of 3 and simply can’t imagine doing anything else in life. If you have an immediate need, please call (615) 377-0775. Autopsies and organ donation do not affect your ability to have an open-casket viewing. Get directions and contact details for Brentwood Funeral Home, Brentwood in Williamson County on Funeral Guide, the UK's most popular funeral director comparison site. View all Brentwood funeral homes and find a funeral service near you. 1187 Old Hickory Blvd. Zillow has 129 homes for sale in Brentwood TN. Find funeral homes and directors in Brentwood, TN on Yellowbook. Powered by Tributearchive.com Service Manager and Funeral Director . See reviews, photos, directions, phone numbers and more for Brentwood Roesch Patton Funeral Home locations in Brentwood, TN. Brentwood Roesch Patton Funeral Home | Funeral Home Brentwood TN . Definitely! It is easy to become extremely confused immediately after the death of a loved one and it is often difficult to know what you need to do, particularly, if this experience is your first. If you opt to not use embalming, usually we can offer a private viewing prior to cremation with minimal preparation excluding embalming. LOCAL FUNERAL HOMES Brentwood Roesch Patton Funeral Home | Funeral Home Brentwood TN . Can I still have viewing and funeral services with cremation? PGRpdj4NCiAgICA8aDE+RnJhemVyIENvbnN1bHRhbnRzIFByaXZhY3kgUG9saWN5PC9oMT4NCiAgICA8cD4mbmJzcDs8L3A+DQogICAgPGRpdj4NCiAgICAgICAgPGRpdj4NCiAgICAgICAgICAgIDxkaXY+DQogICAgICAgICAgICAgICAgPGRpdj4NCiAgICAgICAgICAgICAgICAgICAgPHA+TGFzdCBVcGRhdGVkOiAwOS8wNC8yMDIwPC9wPg0KICAgICAgICAgICAgICAgICAgICA8cD5GcmF6ZXIgQ29uc3VsdGFudHMsIExMQyAoIkZyYXplciwiICJ3ZSwiICJ1cywiICJvdXIiKSBpcyBjb21taXR0ZWQgdG8gcHJvdGVjdGluZyB5b3VyIHBlcnNvbmFsIGluZm9ybWF0aW9uLiBUaGlzIFByaXZhY3kgTm90aWNlIGRlc2NyaWJlcyB0aGUgcGVyc29uYWwgaW5mb3JtYXRpb24gdGhhdCB3ZSBjb2xsZWN0IGFib3V0IHlvdSwgaG93IHdlIHVzZSBhbmQgZGlzY2xvc2UgdGhpcyBpbmZvcm1hdGlvbiwgYW5kIHRoZSBzdGVwcyB3ZSB0YWtlIHRvIHByb3RlY3QgdGhpcyBpbmZvcm1hdGlvbi4gRm9yIHB1cnBvc2VzIG9mIHRoaXMgUHJpdmFjeSBOb3RpY2UsICJwZXJzb25hbCBpbmZvcm1hdGlvbiIgbWVhbnMgYW55IGluZm9ybWF0aW9uIHRoYXQgcmVsYXRlcyB0byB5b3UgYXMgYW4gaW5kaXZpZHVhbCBhbmQgY291bGQgcmVhc29uYWJseSBiZSB1c2VkIHRvIGlkZW50aWZ5IHlvdS4gVGhpcyBQcml2YWN5IE5vdGljZSBhcHBsaWVzIHRvIG91ciBjb2xsZWN0aW9uIGFuZCB1c2Ugb2YgcGVyc29uYWwgaW5mb3JtYXRpb24gdGhyb3VnaCB0aGlzIHdlYnNpdGUgYW5kIGFueSByZWxhdGVkIHdlYnNpdGVzLCBhcHBsaWNhdGlvbnMsIHRvb2xzLCBvciBwbGF0Zm9ybXMgKHRoZSAiU2VydmljZXMiKSwgYXMgd2VsbCBhcyB0aHJvdWdoIGFueSBvdGhlciBtZWFucyB3aGVyZSBhIGxpbmsgb3IgcmVmZXJlbmNlIHRvIHRoaXMgUHJpdmFjeSBOb3RpY2UgaXMgcHJvdmlkZWQgYXQgdGhlIHRpbWUgb2YgY29sbGVjdGlvbi48L3A+DQogICAgICAgICAgICAgICAgICAgIDxwPiZuYnNwOzwvcD4NCiAgICAgICAgICAgICAgICAgICAgPGgyPk91ciBTZXJ2aWNlczwvaDI+DQogICAgICAgICAgICAgICAgICAgIDxwPiZuYnNwOzwvcD4NCiAgICAgICAgICAgICAgICAgICAgPHA+RnJhemVyJ3MgcHJpbWFyeSBidXNpbmVzcyBpcyBhcyBhIHNvZnR3YXJlLWFzLWEtc2VydmljZSBwcm92aWRlciBvZiBmdW5lcmFsIHRlY2hub2xvZ3kgc2VydmljZXMsIGluY2x1ZGluZyB3ZWJzaXRlLCBwYXltZW50IHByb2Nlc3NpbmcsIGluc3VyYW5jZSwgc2VhcmNoIGVuZ2luZSBvcHRpbWl6YXRpb24sIG1hcmtldGluZyBhbmQgZWNvbW1lcmNlIHNlcnZpY2VzLCB0byBmdW5lcmFsIGhvbWVzIGFuZCBvdGhlciBmdW5lcmFsIHByb2Zlc3Npb25hbHMgKG91ciAiQ2xpZW50cyIpLiBJbiBjb25uZWN0aW9uIHdpdGggdGhpcyBmYWNldCBvZiBGcmF6ZXIncyBidXNpbmVzcywgRnJhemVyIGNvbGxlY3RzIGFuZCBzdG9yZXMgcGVyc29uYWwgaW5mb3JtYXRpb24gcmVnYXJkaW5nIGluZGl2aWR1YWxzIHdobyB2aXNpdCBhbmQgdXRpbGl6ZSBjZXJ0YWluIGZ1bmN0aW9ucyBvciBmZWF0dXJlcyBvZiBvdXIgQ2xpZW50cycgd2Vic2l0ZXMgKCJFbmQgVXNlcnMiKS4gVGhpcyBQcml2YWN5IE5vdGljZSBhcHBsaWVzIHRvIEZyYXplcidzIGNvbGxlY3Rpb24gYW5kIHVzZSBvZiBDbGllbnQgYW5kIEVuZCBVc2VyIHBlcnNvbmFsIGluZm9ybWF0aW9uIGJ1dCBub3QgdG8gb3VyIENsaWVudHMgdXNlIG9mIHN1Y2ggcGVyc29uYWwgaW5mb3JtYXRpb24uPC9wPg0KICAgICAgICAgICAgICAgICAgICA8cD5GcmF6ZXIgYWxzbyBtYWludGFpbnMgYW4gb25saW5lIHByZXNlbmNlLCBpbmNsdWRpbmcgYW4gZWNvbW1lcmNlIHN0b3JlLCB0aGUgVHJpYnV0ZSBTdG9yZSwgb2ZmZXJpbmcgY2VydGFpbiBmdW5lcmFsIHBhcmFwaGVybmFsaWEgYW5kIHJlbGF0ZWQgcHJvZHVjdHMsIGFuZCBhIHdlYiByZXBvc2l0b3J5LCB0aGUgVHJpYnV0ZSBBcmNoaXZlLCBjb250YWluaW5nIG9iaXR1YXJpZXMsIGEgbGlzdGluZyBvZiBmdW5lcmFsIGhvbWVzLCBhbmQgb3RoZXIgZnVuZXJhbC1yZWxhdGVkIGNvbnRlbnQgaW4gY29ubmVjdGlvbiB3aXRoIHdoaWNoIHBlcnNvbmFsIGluZm9ybWF0aW9uIG1heSBiZSBjb2xsZWN0ZWQgZnJvbSBpbmRpdmlkdWFscyAoIlRyaWJ1dGUgVXNlcnMiKS4gVGhpcyBQcml2YWN5IE5vdGljZSBhbHNvIGFwcGxpZXMgdG8gRnJhemVyJ3MgY29sbGVjdGlvbiBhbmQgdXNlIG9mIHBlcnNvbmFsIGluZm9ybWF0aW9uIGZyb20gVHJpYnV0ZSBVc2VycyBhbmQgb3RoZXIgaW5kaXZpZHVhbHMgd2hvIGludGVyYWN0IGRpcmVjdGx5IHdpdGggRnJhemVyLjwvcD4NCiAgICAgICAgICAgICAgICAgICAgPHA+Jm5ic3A7PC9wPg0KICAgICAgICAgICAgICAgICAgICA8aDI+UGVyc29uYWwgSW5mb3JtYXRpb24gV2UgQ29sbGVjdDwvaDI+DQogICAgICAgICAgICAgICAgICAgIDxwPiZuYnNwOzwvcD4NCiAgICAgICAgICAgICAgICAgICAgPHA+V2hlbiB5b3UgYWNjZXNzIG9yIHVzZSB0aGUgU2VydmljZXMgb3Igb3RoZXJ3aXNlIGludGVyYWN0IHdpdGggdXMsIHdoZXRoZXIgYXMgYSBDbGllbnQsIEVuZCBVc2VyLCBUcmlidXRlIFVzZXIgb3Igb3RoZXIgaW5kaXZpZHVhbCwgd2UgbWF5IGNvbGxlY3QgY2VydGFpbiBjYXRlZ29yaWVzIG9mIHBlcnNvbmFsIGluZm9ybWF0aW9uIGFib3V0IHlvdSBmcm9tIGEgdmFyaWV0eSBvZiBzb3VyY2VzLjwvcD4NCiAgICAgICAgICAgICAgICAgICAgPHA+Q2F0ZWdvcmllcyBvZiBwZXJzb25hbCBpbmZvcm1hdGlvbiB0aGF0IHdlIG1heSBjb2xsZWN0IGZyb20geW91IGRpcmVjdGx5IGluY2x1ZGU6PC9wPg0KICAgICAgICAgICAgICAgICAgICA8dWw+DQogICAgICAgICAgICAgICAgICAgICAgICA8bGk+Q29udGFjdCBpbmZvcm1hdGlvbiAoZm9yIGV4YW1wbGUsIG5hbWUsIHBob25lIG51bWJlciwgbWFpbGluZyBhZGRyZXNzLCBlbWFpbCBhZGRyZXNzKTwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICA8bGk+UGF5bWVudC1yZWxhdGVkIGRldGFpbHMgKGZvciBleGFtcGxlLCBiaWxsaW5nIGFkZHJlc3MgYW5kIG90aGVyIGNyZWRpdCBjYXJkIGRldGFpbHMpPC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxsaT5BY2NvdW50IGluZm9ybWF0aW9uIChmb3IgZXhhbXBsZSwgdXNlcm5hbWUgYW5kIHBhc3N3b3JkIGFuZCB0cmFuc2FjdGlvbiBoaXN0b3J5KTwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICA8bGk+Q29tbXVuaWNhdGlvbnMgKGZvciBleGFtcGxlLCBzdWJtaXR0ZWQgcXVlc3Rpb25zIG9yIG90aGVyIHBvc3RzIGFuZCBtYXJrZXRpbmcgcHJlZmVyZW5jZXMpPC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxsaT5SZWNydWl0bWVudCBkYXRhIChmb3IgZXhhbXBsZSwgcmVzdW1lcyBhbmQgb3RoZXIgZGV0YWlscyByZWdhcmRpbmcgYW4gYXBwbGljYW50J3MgcXVhbGlmaWNhdGlvbnMpPC9saT4NCiAgICAgICAgICAgICAgICAgICAgPC91bD4NCiAgICAgICAgICAgICAgICAgICAgPHA+Q2F0ZWdvcmllcyBvZiBwZXJzb25hbCBpbmZvcm1hdGlvbiB0aGF0IHdlIG1heSBjb2xsZWN0IGF1dG9tYXRpY2FsbHkgd2hlbiB5b3UgdXNlIHRoZSBTZXJ2aWNlcyBpbmNsdWRlOjwvcD4NCiAgICAgICAgICAgICAgICAgICAgPHVsPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGxpPlRlY2huaWNhbCBpbmZvcm1hdGlvbiAoZm9yIGV4YW1wbGUsIGJyb3dzZXIgdHlwZSwgSVAgYWRkcmVzcywgY29va2llcywgYW5kIG9wZXJhdGluZyBzeXN0ZW0pPC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxsaT5Vc2FnZSBpbmZvcm1hdGlvbiAoZm9yIGV4YW1wbGUsIHBhZ2VzIHZpc2l0ZWQsIHNlYXJjaCB0ZXJtcyBlbnRlcmVkLCBhbmQgZnJlcXVlbmN5IG9mIHZpc2l0cyk8L2xpPg0KICAgICAgICAgICAgICAgICAgICA8L3VsPg0KICAgICAgICAgICAgICAgICAgICA8cD5DYXRlZ29yaWVzIG9mIHBlcnNvbmFsIGluZm9ybWF0aW9uIHRoYXQgd2UgbWF5IGNvbGxlY3QgZnJvbSBvdGhlciBzb3VyY2VzLCBpbmNsdWRpbmcgZnJvbSBvdXIgQ2xpZW50cyBpbiBjb25uZWN0aW9uIHdpdGggdGhlaXIgdXNlIG9mIHRoZSBTZXJ2aWNlcywgaW5jbHVkZTo8L3A+DQogICAgICAgICAgICAgICAgICAgIDx1bD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxsaT5FbmQgVXNlciBjb250YWN0IGluZm9ybWF0aW9uIChmb3IgZXhhbXBsZSwgbmFtZSwgcGhvbmUgbnVtYmVyLCBtYWlsaW5nIGFkZHJlc3MsIGVtYWlsIGFkZHJlc3MpPC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxsaT5FbmQgVXNlciBwYXltZW50LXJlbGF0ZWQgZGV0YWlscyAoZm9yIGV4YW1wbGUsIGJpbGxpbmcgYWRkcmVzcyBhbmQgb3RoZXIgY3JlZGl0IGNhcmQgZGV0YWlscyk8L2xpPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGxpPkVuZCBVc2VyIGZ1bmVyYWwgY29udHJpYnV0aW9ucywgaW5jbHVkaW5nIHRyaWJ1dGUgdmlkZW8gZGF0YSwgZGF0YSBlbnRlcmVkIGluIGZ1bmVyYWwgcmVnaXN0ZXIgYm9va3MsIG9iaXR1YXJpZXMgYW5kIHBvc3RzIGFuZCBjb21tZW50czwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICA8bGk+RW5kIFVzZXIgZnVuZXJhbCBhZG1pbmlzdHJhdGlvbiBkYXRhLCBpbmNsdWRpbmcgbGlmZSBpbnN1cmFuY2UgY2xhaW0gZm9ybXMgYW5kIGFmZmlkYXZpdHMgdG8gZW5zdXJlIGRpc3BlcnNhbCBvZiBmdW5kcyB0byBjb3ZlciBmdW5lcmFsIGNvc3RzIGFuZCBkYXRhIHJlcXVpcmVkIHRvIGZpbGUgZGVhdGggY2VydGlmaWNhdGVzPC9saT4NCiAgICAgICAgICAgICAgICAgICAgPC91bD4NCiAgICAgICAgICAgICAgICAgICAgPHA+RmluYWxseSwgd2UgbWF5IGNvbGxlY3QgcGVyc29uYWwgaW5mb3JtYXRpb24gcHVyc3VhbnQgdG8gYSBsZWdhbCBvciBjb250cmFjdHVhbCByZXF1aXJlbWVudCwgYW5kIGZhaWx1cmUgdG8gcHJvdmlkZSBzdWNoIGluZm9ybWF0aW9uIG1heSBpbXBhY3Qgb3VyIGFiaWxpdHkgdG8gZnVsZmlsbCBvdXIgb2JsaWdhdGlvbnMuPC9wPg0KICAgICAgICAgICAgICAgICAgICA8cD4mbmJzcDs8L3A+DQogICAgICAgICAgICAgICAgICAgIDxoMj5Ib3cgV2UgVXNlIFlvdXIgUGVyc29uYWwgSW5mb3JtYXRpb248L2gyPg0KICAgICAgICAgICAgICAgICAgICA8cD4mbmJzcDs8L3A+DQogICAgICAgICAgICAgICAgICAgIDxwPldlIG1heSB1c2UgdGhlIHBlcnNvbmFsIGluZm9ybWF0aW9uIHdlIGNvbGxlY3QgZm9yIHRoZSBmb2xsb3dpbmcgcHVycG9zZXM6PC9wPg0KICAgICAgICAgICAgICAgICAgICA8dWw+DQogICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGI+UHJvdmlkZSBhbmQgaW1wcm92ZSB0aGUgU2VydmljZXMuPC9iPiBXZSBtYXkgdXNlIHlvdXIgcGVyc29uYWwgaW5mb3JtYXRpb24gdG8gcHJvdmlkZSBhbmQgaW1wcm92ZSB0aGUgU2VydmljZXMsIGluY2x1ZGluZyB0byBmdWxmaWxsIHlvdXIgb3JkZXJzIGFuZCByZXF1ZXN0cyBhbmQgdG8gcG9zdCB5b3VyIGNvbW1lbnRzIGFuZCBvdGhlciBmdW5lcmFsIGNvbnRyaWJ1dGlvbnMuIFdlIG1heSBhbHNvIHVzZSB5b3VyIHBlcnNvbmFsIGluZm9ybWF0aW9uIGZvciB0aGUgYWRtaW5pc3RyYXRpb24gb2Ygb3VyIGJ1c2luZXNzLCBmb3IgYnVzaW5lc3MgZGV2ZWxvcG1lbnQgcHVycG9zZXMsIGFuZCB0byBmdWxmaWxsIG91ciBjb250cmFjdHVhbCBvYmxpZ2F0aW9ucy48L2xpPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxiPlJpc2sgbWl0aWdhdGlvbiBhbmQgc2VjdXJpdHkuPC9iPiBXZSBtYXkgdXNlIHlvdXIgcGVyc29uYWwgaW5mb3JtYXRpb24gZm9yIHJpc2sgbWl0aWdhdGlvbiBhbmQgc2VjdXJpdHkgcHVycG9zZXMsIGluY2x1ZGluZyB0byBtYWludGFpbiB0aGUgcHJpdmFjeSBhbmQgc2VjdXJpdHkgb2Ygb3VyIGRhdGEsIHRvIGNvbmR1Y3QgaW50ZXJuYWwgYXVkaXRzIG9yIGludmVzdGlnYXRpb25zLCBmb3IgZGF0YSBzZWN1cml0eSB0ZXN0aW5nIGFuZCBidXNpbmVzcyBjb250aW51aXR5IHBsYW5uaW5nIHB1cnBvc2VzLCBhbmQgdG8gZW5zdXJlIHRoZSBzYWZldHkgYW5kIHNlY3VyaXR5IG9mIG91ciBDbGllbnRzLCBzdGFmZiBhbmQgYXNzZXRzLjwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGI+Q29tbXVuaWNhdGlvbiBhbmQgbWFya2V0aW5nLjwvYj4gV2UgbWF5IHVzZSB5b3VyIHBlcnNvbmFsIGluZm9ybWF0aW9uIHRvIGNvbW11bmljYXRlIHdpdGggeW91IGFib3V0IHRoZSBTZXJ2aWNlcywgcmVzcG9uZCB0byB5b3VyIHF1ZXN0aW9ucywgb3Igb2ZmZXIgeW91IGFkZGl0aW9uYWwgcHJvZHVjdHMgb3Igc2VydmljZXMuPC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48Yj5Db21wbHkgd2l0aCB0aGUgbGF3IGFuZCBleGVyY2lzZSBvdXIgcmlnaHRzLjwvYj4gV2UgbWF5IHVzZSB5b3VyIHBlcnNvbmFsIGluZm9ybWF0aW9uIGFzIHJlYXNvbmFibHkgbmVjZXNzYXJ5IHRvIGFzc2VzcyBhbmQgZW5zdXJlIGNvbXBsaWFuY2Ugd2l0aCBhcHBsaWNhYmxlIGxhd3MsIGxlZ2FsIHJlcXVpcmVtZW50cywgYW5kIGNvbXBhbnkgcG9saWNpZXM7IHRvIHByb3RlY3Qgb3VyIGFzc2V0cyBvciB0byBpbnZlc3RpZ2F0ZSBvciBkZWZlbmQgYWdhaW5zdCBhbnkgY2xhaW1zIG9mIGlsbGVnYWxpdHkgb3Igd3Jvbmdkb2luZyAoaW5jbHVkaW5nIHRvIG9idGFpbiBsZWdhbCBhZHZpY2Ugb3IgdG8gZXN0YWJsaXNoLCBleGVyY2lzZSBvciBkZWZlbmQgbGVnYWwgcmlnaHRzKTsgYW5kIGluIHJlc3BvbnNlIHRvIGEgY291cnQgb3JkZXIgb3IganVkaWNpYWwgb3Igb3RoZXIgZ292ZXJubWVudCBzdWJwb2VuYSBvciB3YXJyYW50LjwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGI+Q29ycG9yYXRlIHRyYW5zYWN0aW9uLjwvYj4gV2UgbWF5IHVzZSB5b3VyIHBlcnNvbmFsIGluZm9ybWF0aW9uIGluIHRoZSBldmVudCB3ZSB1bmRlcnRha2Ugb3IgYXJlIGludm9sdmVkIGluIG9yIGNvbnRlbXBsYXRpbmcgYW55IG1lcmdlciwgYWNxdWlzaXRpb24sIHJlb3JnYW5pemF0aW9uLCBzYWxlIG9mIGFzc2V0cywgYmFua3J1cHRjeSwgb3IgaW5zb2x2ZW5jeSBldmVudC48L2xpPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxiPlJlY3J1aXRtZW50IGFuZCBoaXJpbmcuPC9iPiBXZSBtYXkgdXNlIHlvdXIgcGVyc29uYWwgaW5mb3JtYXRpb24gdG8gZXZhbHVhdGUgeW91ciBjYW5kaWRhY3kgd2hlbiB5b3UgYXBwbHkgZm9yIGEgam9iIHdpdGggdXMuPC9saT4NCiAgICAgICAgICAgICAgICAgICAgPC91bD4NCiAgICAgICAgICAgICAgICAgICAgPHA+V2UgbWF5IGFsc28gYWdncmVnYXRlLCBhbm9ueW1pemUsIG9yIG90aGVyd2lzZSBkZS1pZGVudGlmeSB5b3VyIHBlcnNvbmFsIGluZm9ybWF0aW9uIGFuZCB1c2UgaXQgZm9yIGFueSBwdXJwb3NlIHBlcm1pdHRlZCBieSBhcHBsaWNhYmxlIGxhdy48L3A+DQogICAgICAgICAgICAgICAgICAgIDxwPlNvbWUganVyaXNkaWN0aW9ucyByZXF1aXJlIHRoYXQgd2UgZGV0ZXJtaW5lIGEgImxhd2Z1bCBiYXNpcyIgZm9yIHByb2Nlc3NpbmcgcGVyc29uYWwgaW5mb3JtYXRpb24uIFdoZXJlIHN1Y2ggcmVxdWlyZW1lbnRzIGV4aXN0LCB3ZSByZWx5IG9uIHRoZSBmb2xsb3dpbmcgbGF3ZnVsIGJhc2VzIGZvciBvdXIgcHJvY2Vzc2luZyBhY3Rpdml0aWVzOiB0aGF0IHlvdSBoYXZlIGNvbnNlbnRlZCB0byB0aGUgcHJvY2Vzc2luZzsgdGhhdCB0aGUgcHJvY2Vzc2luZyBpcyBuZWNlc3NhcnkgZm9yIHRoZSBwZXJmb3JtYW5jZSBvZiBvdXIgY29udHJhY3Qgd2l0aCB5b3U7IHRoYXQgd2UgaGF2ZSBhIGxlZ2FsIG9ibGlnYXRpb247IG9yIHRoYXQgd2UgaGF2ZSBhIGxlZ2l0aW1hdGUgaW50ZXJlc3QgaW4gcHJvdmlkaW5nIGFuZCBpbXByb3ZpbmcgdGhlIFNlcnZpY2VzIGFuZCBtYW5hZ2luZyBvdXIgYnVzaW5lc3Mgb3BlcmF0aW9ucy4gT3VyIENsaWVudHMgZGV0ZXJtaW5lIHRoZSBsYXdmdWwgYmFzaXMgZm9yIHByb2Nlc3NpbmcgRW5kIFVzZXIgcGVyc29uYWwgaW5mb3JtYXRpb24uPC9wPg0KICAgICAgICAgICAgICAgICAgICA8cD4mbmJzcDs8L3A+DQogICAgICAgICAgICAgICAgICAgIDxoMj5Vc2Ugb2YgQ29va2llczwvaDI+DQogICAgICAgICAgICAgICAgICAgIDxwPiZuYnNwOzwvcD4NCiAgICAgICAgICAgICAgICAgICAgPHA+V2hlbiB5b3UgdXNlIHRoZSBTZXJ2aWNlcywgd2UgbWF5IHNlbmQgb25lIG9yIG1vcmUgY29va2llcyAod2hpY2ggYXJlIHNtYWxsIHRleHQgZmlsZXMgY29udGFpbmluZyBhIHN0cmluZyBvZiBhbHBoYW51bWVyaWMgY2hhcmFjdGVycykgdG8geW91ciBjb21wdXRlciBvciBtb2JpbGUgZGV2aWNlLCB0byBoZWxwIGFuYWx5emUgb3VyIHdlYiBwYWdlIGZsb3csIGN1c3RvbWl6ZSBvdXIgY29udGVudCwgbWVhc3VyZSBwcm9tb3Rpb25hbCBlZmZlY3RpdmVuZXNzLCBhbmQgcHJvbW90ZSB0cnVzdCBhbmQgc2FmZXR5LiBZb3UgYXJlIGFsd2F5cyBmcmVlIHRvIGRlY2xpbmUgb3VyIGNvb2tpZXMgaWYgeW91ciBicm93c2VyIHBlcm1pdHMsIGFsdGhvdWdoIGRvaW5nIHNvIG1heSBpbnRlcmZlcmUgd2l0aCB5b3VyIGFiaWxpdHkgdG8gdXNlIHRoZSBTZXJ2aWNlcyBvciBjZXJ0YWluIGZlYXR1cmVzIG9mIHRoZSBTZXJ2aWNlcy4gV2UgbWF5IGFsc28gdXNlIEdvb2dsZSBBbmFseXRpY3Mgb3IgYSBzaW1pbGFyIHNlcnZpY2UgdGhhdCB1c2VzIGNvb2tpZXMgdG8gaGVscCB1cyBhbmFseXplIGhvdyB1c2VycyB1c2UgdGhlIFNlcnZpY2VzLjwvcD4NCiAgICAgICAgICAgICAgICAgICAgPHA+V2UgbWF5IGFsc28gYWxsb3cgY2VydGFpbiB0aGlyZCBwYXJ0aWVzIHN1Y2ggYXMgYWR2ZXJ0aXNpbmcsIGFuYWx5dGljcyBwcm92aWRlcnMsIGFuZCB3aWRnZXQgcHJvdmlkZXJzIHRvIHBsYWNlIGNvb2tpZXMgaW4gb3JkZXIgdG8gY29sbGVjdCBpbmZvcm1hdGlvbiBhYm91dCB5b3VyIG9ubGluZSBhY3Rpdml0aWVzIG92ZXIgdGltZSBhbmQgYWNyb3NzIGRpZmZlcmVudCB3ZWJzaXRlcyB3aGVuIHlvdSBhY2Nlc3Mgb3IgdXNlIHRoZSBTZXJ2aWNlcy4gQ3VycmVudGx5LCB2YXJpb3VzIGJyb3dzZXJzIG9mZmVyIGEgIkRvIE5vdCBUcmFjayIgb3B0aW9uLCBidXQgdGhlcmUgaXMgbm8gc3RhbmRhcmQgZm9yIGhvdyAiRG8gTm90IFRyYWNrIiBzaG91bGQgd29yayBvbiBjb21tZXJjaWFsIHdlYnNpdGVzLiBEdWUgdG8gdGhlIGxhY2sgb2Ygc3VjaCBzdGFuZGFyZHMsIHRoaXMgd2Vic2l0ZSBkb2VzIG5vdCByZXNwb25kIHRvICJEbyBOb3QgVHJhY2siIGNvbnN1bWVyIGJyb3dzZXIgc2V0dGluZ3MuPC9wPg0KICAgICAgICAgICAgICAgICAgICA8cD4mbmJzcDs8L3A+DQogICAgICAgICAgICAgICAgICAgIDxoMj5Ib3cgYW5kIFdoZW4gV2UgRGlzY2xvc2UgWW91ciBQZXJzb25hbCBJbmZvcm1hdGlvbjwvaDI+DQogICAgICAgICAgICAgICAgICAgIDxwPiZuYnNwOzwvcD4NCiAgICAgICAgICAgICAgICAgICAgPHA+V2UgbWF5IGRpc2Nsb3NlIHlvdXIgcGVyc29uYWwgaW5mb3JtYXRpb24gdG8gdGhlIGZvbGxvd2luZyBjYXRlZ29yaWVzIG9mIHJlY2lwaWVudHMsIHRvIGJlIHVzZWQgb25seSBmb3IgbGVnaXRpbWF0ZSBwdXJwb3NlcyBpbiBrZWVwaW5nIHdpdGggdGhpcyBQcml2YWN5IE5vdGljZTo8L3A+DQogICAgICAgICAgICAgICAgICAgIDx1bD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48Yj5Hcm91cCBjb21wYW5pZXMgYW5kIGFmZmlsaWF0ZXMuPC9iPiBXZSBtYXkgZGlzY2xvc2UsIHNoYXJlLCBvciB0cmFuc2ZlciB5b3VyIGluZm9ybWF0aW9uIHRvIGFueSBidXNpbmVzcyBlbnRpdHkgdGhhdCBpcyBwYXJ0IG9mIG91ciBjb3Jwb3JhdGUgZmFtaWx5LjwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGI+Q2xpZW50cy48L2I+IFdlIG1heSBzaGFyZSB5b3VyIGluZm9ybWF0aW9uIHdpdGggb3VyIENsaWVudHMgaW4gY29ubmVjdGlvbiB3aXRoIG91ciBDbGllbnRzIHByb3Zpc2lvbiBvZiBzZXJ2aWNlcyB0byB5b3UuPC9saT4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48Yj5TZXJ2aWNlIHByb3ZpZGVycyBhbmQgcHJvZmVzc2lvbmFsIGFkdmlzb3JzLjwvYj4gV2UgbWF5IGRpc2Nsb3NlIHlvdXIgaW5mb3JtYXRpb24gdG8gdGhpcmQgcGFydHkgdmVuZG9ycyB3aG8gcHJvdmlkZSBzZXJ2aWNlcyBpbiBzdXBwb3J0IG9mIG91ciBidXNpbmVzcyBvcGVyYXRpb25zLCBzdWNoIGFzIHdlYnNpdGUgZGV2ZWxvcG1lbnQgYW5kIGhvc3RpbmcsIHBheW1lbnQgcHJvY2Vzc2luZywgcmVjcnVpdG1lbnQgYW5kIGhpcmluZywgbWFya2V0aW5nIG1hbmFnZW1lbnQsIHNlcnZpY2Ugb3B0aW1pemF0aW9uLCB2ZW5kb3JzIHRoYXQgZnVsZmlsbCBvcmRlcnMgZm9yIGZ1bmVyYWwtcmVsYXRlZCBpdGVtcyBzdWNoIGFzIGZsb3dlcnMsIGFuZCBkYXRhIGFuYWx5dGljcy4gV2UgbWF5IGFsc28gZGlzY2xvc2UgeW91ciBwZXJzb25hbCBpbmZvcm1hdGlvbiB0byBwcm9mZXNzaW9uYWwgYWR2aXNvcnMgc3VjaCBhcyBvdXIgYXR0b3JuZXlzLCBhY2NvdW50YW50cywgYW5kIG91cnMgb3IgRW5kIFVzZXJzJyBpbnN1cmFuY2UgcHJvdmlkZXJzLjwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGI+UGFydGllcyBpbnZvbHZlZCBpbiBhIGNvcnBvcmF0ZSB0cmFuc2FjdGlvbi48L2I+IFdlIG1heSBkaXNjbG9zZSB5b3VyIGluZm9ybWF0aW9uIHRvIHJlbGV2YW50IHRoaXJkIHBhcnRpZXMgaW4gdGhlIGV2ZW50IG9mIGEgZGl2ZXN0aXR1cmUsIG1lcmdlciwgY29uc29saWRhdGlvbiwgb3IgYXNzZXQgc2FsZSwgb3IgaW4gdGhlIHVubGlrZWx5IGV2ZW50IG9mIGEgYmFua3J1cHRjeS48L2xpPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxiPkxhdyBlbmZvcmNlbWVudCBvciBvdGhlciBnb3Zlcm5tZW50YWwgZW50aXRpZXMuPC9iPiBXZSBtYXkgZGlzY2xvc2UgeW91ciBpbmZvcm1hdGlvbiBpZiByZXF1aXJlZCB0byBkbyBzbyBieSBsYXcgb3IgaWYgd2UgYmVsaWV2ZSBpbiBnb29kIGZhaXRoIHRoYXQgc3VjaCBhY3Rpb24gaXMgbmVjZXNzYXJ5IHRvIGNvbXBseSB3aXRoIHRoZSBsYXcsIHByZXZlbnQgdW5sYXdmdWwgYWN0aXZpdHksIGRlZmVuZCBvdXIgcmlnaHRzLCBvciBtYWludGFpbiBzZWN1cml0eS48L2xpPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxiPk90aGVyIHRoaXJkIHBhcnRpZXMgd2l0aCB5b3VyIGNvbnNlbnQuPC9iPiBXZSBtYXkgZGlzY2xvc2UgeW91ciBpbmZvcm1hdGlvbiB0byBhbnkgb3RoZXIgdGhpcmQgcGFydHkgd2hlcmUgeW91IGhhdmUgcHJvdmlkZWQgY29uc2VudCB0byBzdWNoIGRpc2Nsb3N1cmUuPC9saT4NCiAgICAgICAgICAgICAgICAgICAgPC91bD4NCiAgICAgICAgICAgICAgICAgICAgPHA+Jm5ic3A7PC9wPg0KICAgICAgICAgICAgICAgICAgICA8aDI+U2VjdXJpdHksIFJldGVudGlvbiAmYW1wOyBUcmFuc2ZlciBvZiBQZXJzb25hbCBJbmZvcm1hdGlvbjwvaDI+DQogICAgICAgICAgICAgICAgICAgIDxwPiZuYnNwOzwvcD4NCiAgICAgICAgICAgICAgICAgICAgPHA+V2UgaGF2ZSBpbXBsZW1lbnRlZCBhbmQgbWFpbnRhaW4gY29tbWVyY2lhbGx5IHJlYXNvbmFibGUgYW5kIGFwcHJvcHJpYXRlIHRlY2huaWNhbCBhbmQgb3JnYW5pemF0aW9uYWwgbWVhc3VyZXMgZGVzaWduZWQgdG8gcHJvdGVjdCB0aGUgY29uZmlkZW50aWFsaXR5LCBpbnRlZ3JpdHksIGFuZCBzZWN1cml0eSBvZiB5b3VyIHBlcnNvbmFsIGluZm9ybWF0aW9uLiBQbGVhc2Ugbm90ZSwgaG93ZXZlciwgdGhhdCBubyBzZWN1cml0eSBtZWFzdXJlcyBhcmUgcGVyZmVjdCBvciBpbXBlbmV0cmFibGUuIFdlIHRoZXJlZm9yZSBjYW5ub3QgZ3VhcmFudHkgYW5kIGRvIG5vdCB3YXJyYW50IHRoZSBhYnNvbHV0ZSBzZWN1cml0eSBvZiB5b3VyIHBlcnNvbmFsIGluZm9ybWF0aW9uLiBXZSByZXRhaW4geW91ciBwZXJzb25hbCBpbmZvcm1hdGlvbiBmb3Igbm8gbG9uZ2VyIHRoYW4gcmVhc29uYWJseSBuZWNlc3NhcnkgdG8gZnVsZmlsbCB0aGUgcHVycG9zZXMgZm9yIHdoaWNoIHdlIGNvbGxlY3RlZCBpdCBvciB0byBjb21wbHkgd2l0aCB0aGUgbGF3LCBwcmV2ZW50IGZyYXVkLCBmYWNpbGl0YXRlIGFuIGludmVzdGlnYXRpb24sIGRlZmVuZCBhZ2FpbnN0IGxlZ2FsIGNsYWltcywgb3IgZXhlcmNpc2Ugb3VyIGxlZ2FsIHJpZ2h0cy48L3A+DQogICAgICAgICAgICAgICAgICAgIDxwPkRlcGVuZGluZyBvbiB5b3VyIGxvY2F0aW9uLCB0aGUgcGVyc29uYWwgaW5mb3JtYXRpb24gd2UgY29sbGVjdCBhYm91dCB5b3UgbWF5IGJlIHRyYW5zZmVycmVkIHRvIGEganVyaXNkaWN0aW9uIHRoYXQgZG9lcyBub3QgcHJvdmlkZSB0aGUgc2FtZSBsZXZlbCBvZiBwcm90ZWN0aW9uIG9mIHBlcnNvbmFsIGluZm9ybWF0aW9uIGFzIHRoZSBqdXJpc2RpY3Rpb24gaW4gd2hpY2ggeW91IHJlc2lkZS4gQW1vbmcgb3RoZXIgcGxhY2VzLCBwZXJzb25hbCBpbmZvcm1hdGlvbiBtYXkgYmUgdHJhbnNmZXJyZWQgdG8sIGFuZCBzdG9yZWQgaW4sIENhbmFkYSwgQXVzdHJhbGlhIGFuZCB0aGUgVW5pdGVkIFN0YXRlcy4gVHJhbnNmZXJzIGZyb20gdGhlIEV1cm9wZWFuIFVuaW9uIHRvIENhbmFkYSBhcmUgbWFkZSBwdXJzdWFudCB0byBFdXJvcGVhbiBDb21taXNzaW9uIERlY2lzaW9uIDIwMDIvMi9FQywgd2hpY2ggZGV0ZXJtaW5lZCB0aGF0IENhbmFkYSBpcyBjb25zaWRlcmVkIGFzIHByb3ZpZGluZyBhbiBhZGVxdWF0ZSBsZXZlbCBvZiBwcm90ZWN0aW9uIG9mIHBlcnNvbmFsIGluZm9ybWF0aW9uLjwvcD4NCiAgICAgICAgICAgICAgICAgICAgPHA+Jm5ic3A7PC9wPg0KICAgICAgICAgICAgICAgICAgICA8aDI+WW91ciBDaG9pY2VzICZhbXA7IFJpZ2h0czwvaDI+DQogICAgICAgICAgICAgICAgICAgIDxwPiZuYnNwOzwvcD4NCiAgICAgICAgICAgICAgICAgICAgPHA+WW91IG1heSBkZWNsaW5lIHRvIHNoYXJlIGNlcnRhaW4gaW5mb3JtYXRpb24gd2l0aCB1cywgaW4gd2hpY2ggY2FzZSB3ZSBtYXkgbm90IGJlIGFibGUgdG8gcHJvdmlkZSB0byB5b3Ugc29tZSBvZiB0aGUgZmVhdHVyZXMgYW5kIGZ1bmN0aW9uYWxpdHkgb2YgdGhlIFNlcnZpY2VzLiBPbmNlIHlvdSBoYXZlIHJlZ2lzdGVyZWQgZm9yIGFuIGFjY291bnQgd2l0aCB1cywgeW91IG1heSB1cGRhdGUsIGNvcnJlY3QsIG9yIGRlbGV0ZSB5b3VyIHByb2ZpbGUgaW5mb3JtYXRpb24gYW5kIHByZWZlcmVuY2VzIGF0IGFueSB0aW1lIGJ5IGFjY2Vzc2luZyB5b3VyIGFjY291bnQgcHJlZmVyZW5jZXMgcGFnZSB0aHJvdWdoIHRoZSBTZXJ2aWNlcy4gSWYgeW91IGRvIG5vdCB3aXNoIHRvIHJlY2VpdmUgbWFya2V0aW5nIGNvbW11bmljYXRpb25zIGZyb20gdXMsIHlvdSBjYW4gb3B0LW91dCBieSB1c2luZyB0aGUgdW5zdWJzY3JpYmUgcHJvY2VzcyBwcm92aWRlZCBvciBkZXNjcmliZWQgaW4gYW55IHN1Y2ggY29tbXVuaWNhdGlvbiwgYnV0IHlvdSBtYXkgc3RpbGwgcmVjZWl2ZSB0cmFuc2FjdGlvbmFsIG9yIGFkbWluaXN0cmF0aXZlIGNvbW11bmljYXRpb25zIGZyb20gdXMuIEFsdGhvdWdoIHlvdXIgY2hhbmdlcyBhcmUgcmVmbGVjdGVkIHByb21wdGx5IGluIGFjdGl2ZSB1c2VyIGRhdGFiYXNlcywgd2UgbWF5IHJldGFpbiBhbGwgaW5mb3JtYXRpb24geW91IHN1Ym1pdCBmb3IgYSB2YXJpZXR5IG9mIHB1cnBvc2VzLCBpbmNsdWRpbmcgYmFja3VwcyBhbmQgYXJjaGl2aW5nLCBwcmV2ZW50aW9uIG9mIGZyYXVkIGFuZCBhYnVzZSwgYW5kIGFuYWx5dGljcy48L3A+DQogICAgICAgICAgICAgICAgICAgIDxwPkRlcGVuZGluZyBvbiB5b3VyIGxvY2F0aW9uIGFuZCBzdWJqZWN0IHRvIGxvY2FsIGxhdywgeW91IG1heSBoYXZlIGNlcnRhaW4gcmlnaHRzIHdpdGggcmVzcGVjdCB0byB5b3VyIHBlcnNvbmFsIGluZm9ybWF0aW9uLiBUaGVzZSBtYXkgaW5jbHVkZTogdGhlIHJpZ2h0IHRvIGFjY2VzcywgY29ycmVjdCwgYW5kIGRlbGV0ZSB5b3VyIHBlcnNvbmFsIGluZm9ybWF0aW9uOyB0aGUgcmlnaHQgdG8gcmVzdHJpY3Qgb3Igb2JqZWN0IHRvIG91ciB1c2Ugb2YgeW91ciBwZXJzb25hbCBpbmZvcm1hdGlvbjsgYW5kIHRoZSByaWdodCB0byByZWNlaXZlIGEgcG9ydGFibGUgY29weSBvZiB5b3VyIHBlcnNvbmFsIGluZm9ybWF0aW9uIGluIGEgdXNhYmxlIGZvcm1hdC4gSWYgeW91IHByb3ZpZGUgdXMgd2l0aCBjb25zZW50IHRvIHVzZSB5b3VyIHBlcnNvbmFsIGluZm9ybWF0aW9uLCB5b3UgbWF5IHdpdGhkcmF3IHRoYXQgY29uc2VudCBhdCBhbnkgdGltZSwgaG93ZXZlciwgc3VjaCB3aXRoZHJhd2FsIHdpbGwgbm90IGltcGFjdCB0aGUgbGF3ZnVsbmVzcyBvZiBvdXIgdXNlIG9mIHlvdXIgcGVyc29uYWwgaW5mb3JtYXRpb24gYmFzZWQgb24geW91ciBjb25zZW50IHVwIHRvIHRoYXQgcG9pbnQuPC9wPg0KICAgICAgICAgICAgICAgICAgICA8cD5UbyBtYWtlIGEgcmVxdWVzdCByZWxhdGVkIHRvIHlvdXIgcGVyc29uYWwgaW5mb3JtYXRpb24gb3Igb3RoZXJ3aXNlIGV4ZXJjaXNlIHlvdXIgcmlnaHRzLCB5b3UgbWF5IGNvbnRhY3QgdXMgdXNpbmcgdGhlIGNvbnRhY3QgaW5mb3JtYXRpb24gcHJvdmlkZWQgYmVsb3cuIEluIG9yZGVyIHRvIGZ1bGZpbGwgeW91ciByZXF1ZXN0LCB3ZSBtYXkgcmVxdWlyZSBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIGZyb20geW91LiBXZSB3aWxsIHJlc3BvbmQgdG8gcmVxdWVzdHMgd2l0aGluIHRoZSByZWxldmFudCB0aW1lIHBlcmlvZHMgZXN0YWJsaXNoZWQgYnkgYXBwbGljYWJsZSBsYXcuIFdlIGFyZSBjb21taXR0ZWQgdG8gZmluZGluZyBhIGZhaXIgYW5kIHJlYXNvbmFibGUgcmVzb2x1dGlvbiB0byBhbnkgcmVxdWVzdCwgY29uY2Vybiwgb3IgY29tcGxhaW50IHlvdSBicmluZyB0byBvdXIgYXR0ZW50aW9uLiBIb3dldmVyLCBpZiB5b3UgYXJlIHVuc2F0aXNmaWVkIHdpdGggb3VyIHJlc3BvbnNlIHRvIHlvdXIgcmVxdWVzdCwgeW91IG1heSBoYXZlIHRoZSByaWdodCB0byBsb2RnZSBhIGNvbXBsYWludCB3aXRoIGFwcGxpY2FibGUgZ292ZXJubWVudGFsIGF1dGhvcml0aWVzLCBzdWJqZWN0IHRvIGxvY2FsIGxhdy48L3A+DQogICAgICAgICAgICAgICAgICAgIDxwPiZuYnNwOzwvcD4NCiAgICAgICAgICAgICAgICAgICAgPGgyPkNoaWxkcmVuJ3MgUHJpdmFjeTwvaDI+DQogICAgICAgICAgICAgICAgICAgIDxwPiZuYnNwOzwvcD4NCiAgICAgICAgICAgICAgICAgICAgPHA+V2UgZG8gbm90IGtub3dpbmdseSBjb2xsZWN0IG9yIG1haW50YWluIGluZm9ybWF0aW9uIGZyb20gcGVyc29ucyB1bmRlciAxNiB5ZWFycyBvZiBhZ2UgKCJjaGlsZHJlbiIpLCBhbmQgbm8gcGFydCBvZiB0aGUgU2VydmljZXMgaXMgZGlyZWN0ZWQgdG8gY2hpbGRyZW4uIElmIHlvdSBhcmUgdW5kZXIgMTYgeWVhcnMgb2YgYWdlLCB0aGVuIHBsZWFzZSBkbyBub3QgdXNlIG9yIGFjY2VzcyB0aGUgU2VydmljZXMgYXQgYW55IHRpbWUgb3IgaW4gYW55IG1hbm5lci4gSWYgd2UgbGVhcm4gdGhhdCBpbmZvcm1hdGlvbiBoYXMgYmVlbiBjb2xsZWN0ZWQgdGhyb3VnaCB0aGUgU2VydmljZXMgZnJvbSBjaGlsZHJlbiBhbmQgd2l0aG91dCB2ZXJpZmlhYmxlIHBhcmVudGFsIGNvbnNlbnQsIHRoZW4gd2Ugd2lsbCB0YWtlIHRoZSBhcHByb3ByaWF0ZSBzdGVwcyB0byBkZWxldGUgdGhpcyBpbmZvcm1hdGlvbi4gSWYgeW91IGFyZSBhIHBhcmVudCBvciBndWFyZGlhbiBhbmQgZGlzY292ZXIgdGhhdCB5b3VyIGNoaWxkIGhhcyBwcm92aWRlZCB1cyB3aXRoIHBlcnNvbmFsIGluZm9ybWF0aW9uIHdpdGhvdXQgeW91ciBjb25zZW50LCBwbGVhc2UgY29udGFjdCB1cyB1c2luZyB0aGUgY29udGFjdCBpbmZvcm1hdGlvbiBiZWxvdyB0byByZXF1ZXN0IHRoYXQgd2UgZGVsZXRlIHRoZSBpbmZvcm1hdGlvbiBmcm9tIG91ciBzeXN0ZW1zLjwvcD4NCiAgICAgICAgICAgICAgICAgICAgPHA+Jm5ic3A7PC9wPg0KICAgICAgICAgICAgICAgICAgICA8aDI+Q2FsaWZvcm5pYSBSZXNpZGVudHM8L2gyPg0KICAgICAgICAgICAgICAgICAgICA8cD4mbmJzcDs8L3A+DQogICAgICAgICAgICAgICAgICAgIDxwPlN1cHBsZW1lbnRhbCB0byB0aGUgYWJvdmUsIHRoZSBmb2xsb3dpbmcgYWRkaXRpb25hbCBpbmZvcm1hdGlvbiBwZXJ0YWlucyB0byBDYWxpZm9ybmlhIHJlc2lkZW50cyBvbmx5OjwvcD4NCiAgICAgICAgICAgICAgICAgICAgPHA+PGI+Q29sbGVjdGlvbiBhbmQgVXNlIG9mIFBlcnNvbmFsIEluZm9ybWF0aW9uPC9iPjwvcD4NCiAgICAgICAgICAgICAgICAgICAgPHVsPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGxpPkNhdGVnb3JpZXMgb2YgcGVyc29uYWwgaW5mb3JtYXRpb24gY29sbGVjdGVkIGFib3V0IENhbGlmb3JuaWEgcmVzaWRlbnRzIGluIHRoZSBwYXN0IHR3ZWx2ZSBtb250aHMgaW5jbHVkZSBpZGVudGlmaWVycywgb3RoZXIgaWRlbnRpZnlpbmcgaW5mb3JtYXRpb24sIGNoYXJhY3RlcmlzdGljcyBvZiBwcm90ZWN0ZWQgY2xhc3MsIGNvbW1lcmNpYWwgaW5mb3JtYXRpb24sIEludGVybmV0IG9yIG90aGVyIGVsZWN0cm9uaWMgbmV0d29yayBhY3Rpdml0eSBpbmZvcm1hdGlvbiwgcHJvZmVzc2lvbmFsIG9yIGVtcGxveW1lbnQtcmVsYXRlZCBpbmZvcm1hdGlvbiwgZWR1Y2F0aW9uIGluZm9ybWF0aW9uLCBhbmQgaW5mZXJlbmNlcyBkcmF3biBmcm9tIHN1Y2ggaW5mb3JtYXRpb24uIEZvciBleGFtcGxlcyBvZiBzcGVjaWZpYyBwaWVjZXMgb2YgcGVyc29uYWwgaW5mb3JtYXRpb24gY29sbGVjdGVkLCBwbGVhc2Ugc2VlIHRoZSAiUGVyc29uYWwgSW5mb3JtYXRpb24gV2UgQ29sbGVjdCIgc2VjdGlvbiBhYm92ZS48L2xpPg0KICAgICAgICAgICAgICAgICAgICAgICAgPGxpPkNhdGVnb3JpZXMgb2YgcGVyc29uYWwgaW5mb3JtYXRpb24gZGlzY2xvc2VkIGZvciBhIGJ1c2luZXNzIHB1cnBvc2UgYWJvdXQgQ2FsaWZvcm5pYSByZXNpZGVudHMgaW4gdGhlIHBhc3QgdHdlbHZlIG1vbnRocyBpbmNsdWRlIGlkZW50aWZpZXJzLCBvdGhlciBpZGVudGlmeWluZyBpbmZvcm1hdGlvbiwgY2hhcmFjdGVyaXN0aWNzIG9mIHByb3RlY3RlZCBjbGFzcywgY29tbWVyY2lhbCBpbmZvcm1hdGlvbiwgSW50ZXJuZXQgb3Igb3RoZXIgZWxlY3Ryb25pYyBuZXR3b3JrIGFjdGl2aXR5IGluZm9ybWF0aW9uLCBwcm9mZXNzaW9uYWwgb3IgZW1wbG95bWVudC1yZWxhdGVkIGluZm9ybWF0aW9uLCBhbmQgZWR1Y2F0aW9uIGluZm9ybWF0aW9uLjwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICA8bGk+V2UgZG8gbm90IHNlbGwgcGVyc29uYWwgaW5mb3JtYXRpb24sIG5vciBkbyB3ZSBzaGFyZSBwZXJzb25hbCBpbmZvcm1hdGlvbiB3aXRoIHRoaXJkIHBhcnRpZXMgZm9yIHRob3NlIHRoaXJkIHBhcnRpZXMnIGRpcmVjdCBtYXJrZXRpbmcgcHVycG9zZXMuPC9saT4NCiAgICAgICAgICAgICAgICAgICAgPC91bD4NCiAgICAgICAgICAgICAgICAgICAgPHA+PGI+WW91ciBDYWxpZm9ybmlhIFByaXZhY3kgUmlnaHRzPC9iPjwvcD4NCiAgICAgICAgICAgICAgICAgICAgPHA+QXMgYSBDYWxpZm9ybmlhIHJlc2lkZW50LCB5b3UgaGF2ZSB0aGUgZm9sbG93aW5nIHJpZ2h0cyB3aXRoIHJlc3BlY3QgdG8geW91ciBwZXJzb25hbCBpbmZvcm1hdGlvbjo8L3A+DQogICAgICAgICAgICAgICAgICAgIDx1bD4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxsaT5Zb3UgaGF2ZSB0aGUgcmlnaHQgdG8gcmVxdWVzdCB0byBrbm93IGFib3V0IHBlcnNvbmFsIGluZm9ybWF0aW9uIGNvbGxlY3RlZCwgZGlzY2xvc2VkLCBvciBzb2xkLjwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICA8bGk+WW91IGhhdmUgdGhlIHJpZ2h0IHRvIHJlcXVlc3QgdGhlIGRlbGV0aW9uIG9mIHBlcnNvbmFsIGluZm9ybWF0aW9uLjwvbGk+DQogICAgICAgICAgICAgICAgICAgICAgICA8bGk+WW91IGhhdmUgdGhlIHJpZ2h0IHRvIG9wdC1vdXQgb2YgdGhlIHNhbGUgb2YgeW91ciBwZXJzb25hbCBpbmZvcm1hdGlvbiBhdCBhbnkgdGltZS4gTm90ZSB0aGF0IHdlIGRvIG5vdCBjdXJyZW50bHkgc2VsbCBwZXJzb25hbCBpbmZvcm1hdGlvbi48L2xpPg0KICAgICAgICAgICAgICAgICAgICA8L3VsPg0KICAgICAgICAgICAgICAgICAgICA8cD5GaW5hbGx5LCB5b3UgaGF2ZSB0aGUgcmlnaHQgdG8gbm90IGJlIGRpc2NyaW1pbmF0ZWQgYWdhaW5zdCBhcyBhIHJlc3VsdCBvZiBleGVyY2lzaW5nIHlvdXIgcHJpdmFjeSByaWdodHMuIEFjY29yZGluZ2x5LCB1bmxlc3MgcGVybWl0dGVkIGJ5IGxhdywgd2Ugd2lsbCBub3QgZGVueSB5b3UgZ29vZHMgb3Igc2VydmljZXMsIGNoYXJnZSB5b3UgZGlmZmVyZW50IHByaWNlcyBvciByYXRlcyBmb3IgZ29vZHMgb3Igc2VydmljZXMsIHByb3ZpZGUgeW91IGEgZGlmZmVyZW50IGxldmVsIG9yIHF1YWxpdHkgb2YgZ29vZCBvciBzZXJ2aWNlcywgb3Igc3VnZ2VzdCB5b3Ugd2lsbCByZWNlaXZlIGEgZGlmZmVyZW50IHByaWNlIG9yIHJhdGUgZm9yIGdvb2RzIG9yIHNlcnZpY2VzIG9yIGEgZGlmZmVyZW50IGxldmVsIG9yIHF1YWxpdHkgb2YgZ29vZHMgb3Igc2VydmljZXMuPC9wPg0KICAgICAgICAgICAgICAgICAgICA8cD5UbyBleGVyY2lzZSB5b3VyIHJpZ2h0cywgeW91IG1heSBjb250YWN0IHVzIHVzaW5nIHRoZSBjb250YWN0IGluZm9ybWF0aW9uIHByb3ZpZGVkIGJlbG93IG9yIGNhbGwgPCEtLWdvb2dsZW9mZjogYWxsLS0+MS04NjYtMzcyLTkzNzI8IS0tZ29vZ2xlb246IGFsbC0tPi4gSW4gb3JkZXIgdG8gZnVsZmlsbCB5b3VyIHJlcXVlc3QsIHdlIG1heSByZXF1aXJlIGFkZGl0aW9uYWwgcGVyc29uYWwgaW5mb3JtYXRpb24gZm9yIHB1cnBvc2VzIG9mIHZlcmlmeWluZyB5b3VyIGlkZW50aXR5LiBJZiB5b3UgbWFrZSBhIHJlcXVlc3QgdGhyb3VnaCBhbiBhdXRob3JpemVkIGFnZW50LCB3ZSBtYXkgcmVxdWlyZSBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIHRvIHZlcmlmeSB5b3VyIGF1dGhvcml6YXRpb24gb2YgdGhlIGFnZW50LjwvcD4NCiAgICAgICAgICAgICAgICAgICAgPHA+Jm5ic3A7PC9wPg0KICAgICAgICAgICAgICAgICAgICA8aDI+Q2hhbmdlcyB0byBQcml2YWN5IE5vdGljZTwvaDI+DQogICAgICAgICAgICAgICAgICAgIDxwPiZuYnNwOzwvcD4NCiAgICAgICAgICAgICAgICAgICAgPHA+V2UgcmVzZXJ2ZSB0aGUgcmlnaHQgdG8gbWFrZSBjaGFuZ2VzIHRvIHRoaXMgUHJpdmFjeSBOb3RpY2UgYXQgYW55IHRpbWUsIHdpdGhvdXQgbm90aWNlLiBXZSB3aWxsIG5vdGlmeSB5b3UgYWJvdXQgY2hhbmdlcyB0aGF0IHNpZ25pZmljYW50bHkgaW1wYWN0IG91ciB1c2Ugb2YgeW91ciBwZXJzb25hbCBpbmZvcm1hdGlvbiBieSBwbGFjaW5nIGEgcHJvbWluZW50IG5vdGljZSBvbiB0aGlzIHdlYnNpdGUgb3IgYnkgc2VuZGluZyB5b3UgYW4gZW1haWwuIFBsZWFzZSByZXZpc2l0IHRoaXMgcGFnZSBwZXJpb2RpY2FsbHkgdG8gc3RheSBhd2FyZSBvZiBhbnkgY2hhbmdlcyB0byB0aGlzIFByaXZhY3kgTm90aWNlLiBGb3IgdGhlIGF2b2lkYW5jZSBvZiBkb3VidCwgZGlzcHV0ZXMgYXJpc2luZyBoZXJldW5kZXIgd2lsbCBiZSByZXNvbHZlZCBpbiBhY2NvcmRhbmNlIHdpdGggdGhlIFByaXZhY3kgTm90aWNlIGluIGVmZmVjdCBhdCB0aGUgdGltZSB0aGUgZGlzcHV0ZSBhcm9zZS48L3A+DQogICAgICAgICAgICAgICAgICAgIDxwPiZuYnNwOzwvcD4NCiAgICAgICAgICAgICAgICAgICAgPGgyPkNvbnRhY3QgVXM8L2gyPg0KICAgICAgICAgICAgICAgICAgICA8cD4mbmJzcDs8L3A+DQogICAgICAgICAgICAgICAgICAgIDxwPlBsZWFzZSBjb250YWN0IHVzIHdpdGggYW55IHF1ZXN0aW9ucywgY29tbWVudHMgb3IgY29uY2VybnMgYWJvdXQgdGhpcyBQcml2YWN5IE5vdGljZSBvciBvdXIgdXNlIG9mIHlvdXIgcGVyc29uYWwgaW5mb3JtYXRpb24gYnkgZS1tYWlsIGF0IDxhIGhyZWY9Im1haWx0bzpwcml2YWN5QGZyYXplcmNvbnN1bHRhbnRzLmNvbSI+cHJpdmFjeUBmcmF6ZXJjb25zdWx0YW50cy5jb208L2E+IG9yIGJ5IG1haWwgYXQ6PC9wPg0KICAgICAgICAgICAgICAgICAgICA8cD5GcmF6ZXIgQ29uc3VsdGFudHMgTExDPGJyPiAyNTAxIFBhcm1lbnRlciBTdHJlZXQsIFN1aXRlIDMwMEE8YnI+IE1pZGRsZXRvbiwgV0kgNTM1NjI8L3A+DQogICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgPC9kaXY+DQogICAgPC9kaXY+DQo8L2Rpdj4=, PGRpdj4NCiAgICA8aDE+RnJhemVyIENvbnN1bHRhbnRzIFRlcm1zIG9mIFVzZTwvaDE+DQogICAgPHA+Jm5ic3A7PC9wPg0KICAgIDxkaXY+DQogICAgICAgIFRoZXNlIFRlcm1zIG9mIFVzZSwgdG9nZXRoZXIgd2l0aCBGcmF6ZXIgQ29uc3VsdGFudHMnIDxhIGhyZWY9Imh0dHBzOi8vZnJhemVyY29uc3VsdGFudHMuY29tL3ByaXZhY3ktcG9saWN5LyI+UHJpdmFjeSBQb2xpY3k8L2E+LCAoY29sbGVjdGl2ZWx5LCB0aGUgIlRlcm1zIikgc2V0IGZvcnRoIHRoZSB0ZXJtcyBhbmQgY29uZGl0aW9ucyB0aGF0IGFwcGx5IHRvIHlvdXIgYWNjZXNzIGFuZCB1c2Ugb2YgdGhlIHdlYnNpdGUgb2YgRnJhemVyIENvbnN1bHRhbnRzIExMQyAoaHR0cHM6Ly93d3cuZnJhemVyY29uc3VsdGFudHMuY29tLykgKCJGcmF6ZXIiICJ3ZSIgb3IgInVzIikgYW5kIGFzc29jaWF0ZWQgc2VydmljZXMsIGluY2x1ZGluZyBGcmF6ZXIgc2VydmljZXMgdGhhdCBhcmUgYXZhaWxhYmxlIHRocm91Z2ggdGhlIHdlYnNpdGVzIG9mIG91ciBjbGllbnQgZnVuZXJhbCBob21lcyBhbmQgb3RoZXIgZnVuZXJhbCBwcm9mZXNzaW9uYWxzICh0b2dldGhlciwgdGhlICJTaXRlcyIpLCB3aGV0aGVyIGFzIGEgY2xpZW50LCBlbmQgdXNlciBvciBjdXN0b21lciBvZiBhIGNsaWVudCwgb3Igb3RoZXJ3aXNlLiAiRnJhemVyIiBpbmNsdWRlcyBhbGwgb2ZmaWNlcnMsIGRpcmVjdG9ycywgZW1wbG95ZWVzLCBjb25zdWx0YW50cywgYWZmaWxpYXRlcywgc3Vic2lkaWFyaWVzLCBhbmQgYWdlbnRzLiBUaGUgVGVybXMgY29uc3RpdHV0ZSBhIGxlZ2FsbHkgYmluZGluZyBhZ3JlZW1lbnQgYmV0d2VlbiB5b3UsIHdoZXRoZXIgcGVyc29uYWxseSBvciBvbiBiZWhhbGYgb2YgYW4gZW50aXR5ICgieW91IikgYW5kIEZyYXplciBjb25jZXJuaW5nIHlvdXIgYWNjZXNzIHRvIGFuZCB1c2Ugb2YgdGhlIFNpdGVzLg0KICAgICAgICA8cD48L3A+DQogICAgICAgIDxwPkJ5IHVzaW5nIG9yIGFjY2Vzc2luZyB0aGUgU2l0ZXMsIHlvdSBhZ3JlZSB0byB0aGVzZSBUZXJtcywgYXMgbWF5IGJlIHVwZGF0ZWQgZnJvbSB0aW1lIHRvIHRpbWUgaW4gYWNjb3JkYW5jZSB3aXRoIFNlY3Rpb24gOSBiZWxvdy48L3A+DQogICAgICAgIDxvbD4NCiAgICAgICAgICAgIDxsaT48c3Ryb25nPkFjY291bnQgU2VjdXJpdHkuPC9zdHJvbmc+IFRvIHVzZSB0aGUgU2l0ZXMgeW91IG11c3QgKGkpIGJlIGF0IGxlYXN0IGVpZ2h0ZWVuICgxOCkgeWVhcnMgb2YgYWdlOyAoaWkpIGhhdmUgbm90IHByZXZpb3VzbHkgYmVlbiBzdXNwZW5kZWQgb3IgcmVtb3ZlZCBmcm9tIHRoZSBTaXRlczsgYW5kIChpaWkpIHJlZ2lzdGVyIGZvciBhbmQgdXNlIHRoZSBTaXRlcyBpbiBjb21wbGlhbmNlIHdpdGggYW55IGFuZCBhbGwgYXBwbGljYWJsZSBsYXdzIGFuZCByZWd1bGF0aW9ucy48L2xpPg0KICAgICAgICAgICAgPGxpPjxzdHJvbmc+QWNjb3VudCBSZWdpc3RyYXRpb24uPC9zdHJvbmc+IFRvIGFjY2VzcyBzb21lIGZlYXR1cmVzIG9mIHRoZSBTaXRlcywgeW91IG1heSBiZSByZXF1aXJlZCB0byByZWdpc3RlciBmb3IgYW4gYWNjb3VudC4gV2hlbiB5b3UgcmVnaXN0ZXIgZm9yIGFuIGFjY291bnQsIHdlIG1heSBhc2sgeW91IHRvIGdpdmUgdXMgY2VydGFpbiBpZGVudGlmeWluZyBpbmZvcm1hdGlvbiBhYm91dCB5b3Vyc2VsZiwgaW5jbHVkaW5nIGJ1dCBub3QgbGltaXRlZCB0byB5b3VyIGVtYWlsIGFkZHJlc3MgYW5kIG90aGVyIGNvbnRhY3QgaW5mb3JtYXRpb24sIGFuZCB0byBjcmVhdGUgYSB1c2VyIG5hbWUgYW5kIHBhc3N3b3JkICgiUmVnaXN0cmF0aW9uIEluZm9ybWF0aW9uIikuIFdoZW4gcmVnaXN0ZXJpbmcgZm9yIGFuZCBtYWludGFpbmluZyBhbiBhY2NvdW50LCB5b3UgYWdyZWUgdG8gcHJvdmlkZSB0cnVlLCBhY2N1cmF0ZSwgY3VycmVudCwgYW5kIGNvbXBsZXRlIGluZm9ybWF0aW9uIGFib3V0IHlvdXJzZWxmLiBZb3UgYWxzbyBhZ3JlZSBub3QgdG8gaW1wZXJzb25hdGUgYW55b25lLCBtaXNyZXByZXNlbnQgYW55IGFmZmlsaWF0aW9uIHdpdGggYW55b25lIGVsc2UsIHVzZSBmYWxzZSBpbmZvcm1hdGlvbiwgb3Igb3RoZXJ3aXNlIGNvbmNlYWwgeW91ciBpZGVudGl0eSBmcm9tIEZyYXplciBmb3IgYW55IHB1cnBvc2UuIFlvdSBhcmUgc29sZWx5IHJlc3BvbnNpYmxlIGZvciBtYWludGFpbmluZyB0aGUgY29uZmlkZW50aWFsaXR5IGFuZCBzZWN1cml0eSBvZiB5b3VyIHBhc3N3b3JkIGFuZCBvdGhlciBSZWdpc3RyYXRpb24gSW5mb3JtYXRpb24uIEZvciB5b3VyIHByb3RlY3Rpb24gYW5kIHRoZSBwcm90ZWN0aW9uIG9mIG90aGVyIHVzZXJzLCB3ZSBhc2sgeW91IG5vdCB0byBzaGFyZSB5b3VyIFJlZ2lzdHJhdGlvbiBJbmZvcm1hdGlvbiB3aXRoIGFueW9uZSBlbHNlLiBJZiB5b3UgZG8gc2hhcmUgdGhpcyBpbmZvcm1hdGlvbiB3aXRoIGFueW9uZSwgd2Ugd2lsbCBjb25zaWRlciB0aGVpciBhY3Rpdml0aWVzIHRvIGhhdmUgYmVlbiBhdXRob3JpemVkIGJ5IHlvdS4gSWYgeW91IGhhdmUgcmVhc29uIHRvIGJlbGlldmUgdGhhdCB5b3VyIGFjY291bnQgaXMgbm8gbG9uZ2VyIHNlY3VyZSwgeW91IG11c3QgaW1tZWRpYXRlbHkgbm90aWZ5IHVzIGF0IGhlbHBAZnJhemVyY29uc3VsdGFudHMuY29tLjwvbGk+DQogICAgICAgICAgICA8bGk+DQogICAgICAgICAgICAgICAgPHN0cm9uZz5Qcm9oaWJpdGVkLjwvc3Ryb25nPiBZb3UgYWdyZWUgbm90IHRvOg0KICAgICAgICAgICAgICAgIDxvbCB0eXBlPSJBIj4NCiAgICAgICAgICAgICAgICAgICAgPGxpIHR5cGU9IkEiPlVzZSB0aGUgU2l0ZXMgZm9yIGFueSBpbGxlZ2FsIHB1cnBvc2UsIG9yIGluIHZpb2xhdGlvbiBvZiBhbnkgbG9jYWwsIHN0YXRlLCBuYXRpb25hbCwgb3IgaW50ZXJuYXRpb25hbCBsYXc7PC9saT4NCiAgICAgICAgICAgICAgICAgICAgPGxpIHR5cGU9IkEiPlZpb2xhdGUgb3IgZW5jb3VyYWdlIG90aGVycyB0byB2aW9sYXRlIHRoZSByaWdodHMgb2YgdGhpcmQgcGFydGllcywgaW5jbHVkaW5nIGludGVsbGVjdHVhbCBwcm9wZXJ0eSByaWdodHM7PC9saT4NCiAgICAgICAgICAgICAgICAgICAgPGxpIHR5cGU9IkEiPlBvc3QsIHVwbG9hZCwgb3IgZGlzdHJpYnV0ZSBhbnkgY29udGVudCB0aGF0IGlzIHVubGF3ZnVsLCBkZWZhbWF0b3J5LCBsaWJlbG91cywgaW5hY2N1cmF0ZSwgb3IgdGhhdCBhIHJlYXNvbmFibGUgcGVyc29uIGNvdWxkIGRlZW0gdG8gYmUgb2JqZWN0aW9uYWJsZSwgcHJvZmFuZSwgaW5kZWNlbnQsIHBvcm5vZ3JhcGhpYywgaGFyYXNzaW5nLCB0aHJlYXRlbmluZywgaGF0ZWZ1bCwgb3Igb3RoZXJ3aXNlIGluYXBwcm9wcmlhdGU7PC9saT4NCiAgICAgICAgICAgICAgICAgICAgPGxpIHR5cGU9IkEiPkludGVyZmVyZSBpbiBhbnkgd2F5IHdpdGggc2VjdXJpdHktcmVsYXRlZCBmZWF0dXJlcyBvZiB0aGUgU2l0ZXM7PC9saT4NCiAgICAgICAgICAgICAgICAgICAgPGxpIHR5cGU9IkEiPkludGVyZmVyZSB3aXRoIHRoZSBvcGVyYXRpb24gb3IgYW55IHVzZXIncyBlbmpveW1lbnQgb2YgdGhlIFNpdGVzLCBpbmNsdWRpbmcgYnkgdXBsb2FkaW5nIG9yIG90aGVyd2lzZSBkaXNzZW1pbmF0aW5nIHZpcnVzZXMsIGFkd2FyZSwgc3B5d2FyZSwgd29ybXMsIG9yIG90aGVyIG1hbGljaW91cyBjb2RlLCBtYWtpbmcgdW5zb2xpY2l0ZWQgb2ZmZXJzIG9yIGFkdmVydGlzZW1lbnRzIHRvIG90aGVyIHVzZXJzLCBvciBhdHRlbXB0aW5nIHRvIGNvbGxlY3QgcGVyc29uYWwgaW5mb3JtYXRpb24gYWJvdXQgdXNlcnMgb3IgdGhpcmQgcGFydGllcyB3aXRob3V0IHRoZWlyIGNvbnNlbnQ7PC9saT4NCiAgICAgICAgICAgICAgICAgICAgPGxpIHR5cGU9IkEiPkFjY2VzcywgbW9uaXRvciBvciBjb3B5IGFueSBjb250ZW50IG9yIGluZm9ybWF0aW9uIG9mIHRoZSBTaXRlcyB1c2luZyBhbnkgcm9ib3QsIHNwaWRlciwgc2NyYXBlciwgb3Igb3RoZXIgYXV0b21hdGVkIG1lYW5zIG9yIGFueSBtYW51YWwgcHJvY2VzcyBmb3IgYW55IHB1cnBvc2Ugd2l0aG91dCBGcmF6ZXIncyBleHByZXNzIHdyaXR0ZW4gcGVybWlzc2lvbjs8L2xpPg0KICAgICAgICAgICAgICAgICAgICA8bGkgdHlwZT0iQSI+VXNlLCByZXByb2R1Y2UsIG1vZGlmeSwgZGlzdHJpYnV0ZSBvciBzdG9yZSBhbnkgcGFydCBvZiB0aGUgU2l0ZXMgKGluY2x1ZGluZyBvYml0dWFyaWVzLCBldmVudCBpbmZvcm1hdGlvbiwgb3Igb3RoZXIgY29udGVudCkgZm9yIGFueSBwdXJwb3NlIHdpdGhvdXQgdGhlIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbiBvZiBGcmF6ZXI7PC9saT4NCiAgICAgICAgICAgICAgICAgICAgPGxpIHR5cGU9IkEiPlBlcmZvcm0gYW55IGZyYXVkdWxlbnQgYWN0aXZpdHksIGluY2x1ZGluZyBpbXBlcnNvbmF0aW5nIGFueSBwZXJzb24gb3IgZW50aXR5LCBjbGFpbWluZyBmYWxzZSBhZmZpbGlhdGlvbnMsIGFjY2Vzc2luZyB0aGUgYWNjb3VudHMgb2Ygb3RoZXIgdXNlcnMgd2l0aG91dCBwZXJtaXNzaW9uLCBvciBmYWxzaWZ5aW5nIHlvdXIgaWRlbnRpdHkgb3IgYW55IGluZm9ybWF0aW9uIGFib3V0IHlvdSwgaW5jbHVkaW5nIGFnZSBvciBkYXRlIG9mIGJpcnRoOyBvcjwvbGk+DQogICAgICAgICAgICAgICAgICAgIDxsaSB0eXBlPSJBIj5TZWxsIG9yIG90aGVyd2lzZSB0cmFuc2ZlciB0aGUgYWNjZXNzIGdyYW50ZWQgaGVyZWluLjwvbGk+DQogICAgICAgICAgICAgICAgPC9vbD4NCiAgICAgICAgICAgIDwvbGk+DQogICAgICAgICAgICA8bGk+PHN0cm9uZz5UaGlyZCBQYXJ0eSBDb250ZW50Ljwvc3Ryb25nPiBUaGUgU2l0ZXMgbWF5IGNvbnRhaW4gbGlua3MgdG8gdGhpcmQgcGFydHkgd2Vic2l0ZXMgYW5kIHNlcnZpY2VzLiZuYnNwOyBGcmF6ZXIgcHJvdmlkZXMgc3VjaCBsaW5rcyBhcyBhIGNvbnZlbmllbmNlLCBhbmQgZG9lcyBub3QgY29udHJvbCBvciBlbmRvcnNlIHRoZXNlIHdlYnNpdGVzIGFuZCBzZXJ2aWNlcy4mbmJzcDsgWW91IGFja25vd2xlZGdlIGFuZCBhZ3JlZSB0aGF0IEZyYXplciBoYXMgbm90IHJldmlld2VkIHRoZSBjb250ZW50LCBhZHZlcnRpc2luZywgcHJvZHVjdHMsIHNlcnZpY2VzLCBvciBvdGhlciBtYXRlcmlhbHMgdGhhdCBhcHBlYXIgb24gc3VjaCB0aGlyZCBwYXJ0eSB3ZWJzaXRlcyBvciBzZXJ2aWNlcywgYW5kIGlzIG5vdCByZXNwb25zaWJsZSBmb3IgdGhlIGxlZ2FsaXR5LCBhY2N1cmFjeSwgb3IgYXBwcm9wcmlhdGVuZXNzIG9mIGFueSBzdWNoIGNvbnRlbnQsIGFuZCBzaGFsbCBub3QgYmUgcmVzcG9uc2libGUgb3IgbGlhYmxlLCBkaXJlY3RseSBvciBpbmRpcmVjdGx5LCBmb3IgYW55IGRhbWFnZSBvciBsb3NzIGNhdXNlZCBvciBhbGxlZ2VkIHRvIGJlIGNhdXNlZCBieSBvciBpbiBjb25uZWN0aW9uIHdpdGggdGhlIHVzZSBvZiBhbnkgc3VjaCB0aGlyZCBwYXJ0eSB3ZWJzaXRlcyBvciBzZXJ2aWNlcy48L2xpPg0KICAgICAgICAgICAgPGxpPjxzdHJvbmc+SW50ZWxsZWN0dWFsIFByb3BlcnR5Ljwvc3Ryb25nPiBZb3UgYWNrbm93bGVkZ2UgYW5kIGFncmVlIHRoYXQgd2hlbiB5b3Ugc3VibWl0IGFuIG9iaXR1YXJ5LCBwb3N0IGNvbW1lbnRzLCBzdWJtaXQgYSB0cmlidXRlIHZpZGVvLCBvciBwb3N0IG9yIHN1Ym1pdCBvdGhlciBjb250ZW50ICh0b2dldGhlciwgImNvbnRlbnQiKSB0byBGcmF6ZXIgb3IgYW55IHdlYnNpdGUgb2YgYW55IGZ1bmVyYWwgaG9tZSBvcGVyYXRlZCBieSBGcmF6ZXIsIHN1Y2ggY29udGVudCB3aWxsIGJlIHNoYXJlZCB3aXRoIGFuZCBzdG9yZWQgYnkgRnJhemVyIGFuZCBpdHMgYWZmaWxpYXRlcyBhbmQgcGFydG5lcnMsIGluY2x1ZGluZyBidXQgbm90IGxpbWl0ZWQgdG8gVHJpYnV0ZSBBcmNoaXZlICh0cmlidXRlYXJjaGl2ZS5jb20pLiZuYnNwO1lvdSBmdXJ0aGVyIGFja25vd2xlZGdlIGFuZCBhZ3JlZSB0aGF0IHlvdSByZWxpbnF1aXNoIGFsbCBvd25lcnNoaXAgcmlnaHRzIGluIGFueSBpZGVhcyBvciBzdWdnZXN0aW9ucyB0aGF0IHlvdSBzdWJtaXQgdG8gRnJhemVyIHRocm91Z2ggdGhlIFNpdGVzLiZuYnNwO1RoZSBTaXRlcyBhcmUgcHJvdGVjdGVkIGJ5IGFwcGxpY2FibGUgY29weXJpZ2h0IGFuZCBvdGhlciBpbnRlbGxlY3R1YWwgcHJvcGVydHkgbGF3cywgYW5kIG5vIG1hdGVyaWFscyBmcm9tIHRoZSBTaXRlcyBtYXkgYmUgY29waWVkLCByZXByb2R1Y2VkLCByZXB1Ymxpc2hlZCwgdXBsb2FkZWQsIHBvc3RlZCwgdHJhbnNtaXR0ZWQsIG9yIGRpc3RyaWJ1dGVkIGluIGFueSB3YXkgd2l0aG91dCBvdXIgZXhwcmVzcyBwZXJtaXNzaW9uLiZuYnNwO0FsbCB0cmFkZW1hcmtzIGFuZCBzZXJ2aWNlIG1hcmtzIG9uIHRoZSBTaXRlcyBiZWxvbmcgdG8gRnJhemVyLCBleGNlcHQgdGhpcmQtcGFydHkgdHJhZGVtYXJrcyBvciBzZXJ2aWNlIG1hcmtzLCB3aGljaCBhcmUgdGhlIHByb3BlcnR5IG9mIHRoZWlyIHJlc3BlY3RpdmUgb3duZXJzLjwvbGk+DQogICAgICAgICAgICA8bGk+PHN0cm9uZz5Vc2VyIENvbnRlbnQuPC9zdHJvbmc+IFlvdSByZXByZXNlbnQgYW5kIHdhcnJhbnQgdGhhdCB5b3Ugb3duIG9yIG90aGVyd2lzZSBoYXZlIHRoZSByaWdodCB0byB1c2UgYW55IGNvbnRlbnQgeW91IHBvc3QgdG8gdGhlIFNpdGVzLiZuYnNwO0lmIHlvdSBiZWxpZXZlIHRoYXQgeW91ciBjb250ZW50IGhhcyBiZWVuIHVzZWQgaW4gYSB3YXkgdGhhdCBjb25zdGl0dXRlcyBjb3B5cmlnaHQgaW5mcmluZ2VtZW50LCB5b3UgbWF5IGNvbnRhY3Qgb3VyIERlc2lnbmF0ZWQgQWdlbnQ6PC9saT4NCiAgICAgICAgPC9vbD4NCiAgICAgICAgPCEtLWdvb2dsZW9mZjogYWxsLS0+DQogICAgICAgIDxwIHN0eWxlPSJtYXJnaW4tbGVmdDogNDBweCI+DQogICAgICAgICAgICBBZGFtIEhvdmV5PGJyPg0KICAgICAgICAgICAgRnJhemVyIENvbnN1bHRhbnRzLCBMTEM8YnI+DQogICAgICAgICAgICAyNTAxIFBhcm1lbnRlciBTdHJlZXQgLSBTdWl0ZSAzMDBBPGJyPg0KICAgICAgICAgICAgTWlkZGxldG9uLCBXSSA1MzU2Mjxicj4NCiAgICAgICAgICAgIFBob25lOiA2MDgtNTg4LTg1MjI8YnI+DQogICAgICAgICAgICBGYXg6IDg2Ni00NDctMDMxMTxicj4NCiAgICAgICAgICAgIEVtYWlsOiBhZGFtQGZyYXplcmNvbnN1bHRhbnRzLmNvbQ0KICAgICAgICA8L3A+DQogICAgICAgIDwhLS1nb29nbGVvbjogYWxsLS0+DQogICAgICAgIDxwPllvdSBtdXN0IHByb3ZpZGUgdGhlIGZvbGxvd2luZyBpbmZvcm1hdGlvbjogYW4gZWxlY3Ryb25pYyBvciBwaHlzaWNhbCBzaWduYXR1cmUgb2YgdGhlIGNvcHlyaWdodCBvd25lciBvciB0aGUgcGVyc29uIGF1dGhvcml6ZWQgdG8gYWN0IG9uIGJlaGFsZiBvZiB0aGUgY29weXJpZ2h0IG93bmVyOyBhIGRlc2NyaXB0aW9uIG9mIHRoZSBjb3B5cmlnaHRlZCB3b3JrIHRoYXQgeW91IGNsYWltIGhhcyBiZWVuIGluZnJpbmdlZDsgYSBkZXNjcmlwdGlvbiBvZiB3aGVyZSB0aGUgbWF0ZXJpYWwgdGhhdCB5b3UgY2xhaW0gaXMgaW5mcmluZ2luZyBpcyBsb2NhdGVkOyB5b3VyIGFkZHJlc3MsIHRlbGVwaG9uZSBudW1iZXIsIGFuZCBlbWFpbCBhZGRyZXNzOyBhIHdyaXR0ZW4gc3RhdGVtZW50IHRoYXQgeW91IGhhdmUgYSBnb29kIGZhaXRoIGJlbGllZiB0aGF0IHRoZSBkaXNwdXRlZCB1c2UgaXMgbm90IGF1dGhvcml6ZWQgYnkgdGhlIGNvcHlyaWdodCBvd25lciwgaXRzIGFnZW50LCBvciB0aGUgbGF3OyBhIHN0YXRlbWVudCBieSB5b3UsIG1hZGUgdW5kZXIgcGVuYWx0eSBvZiBwZXJqdXJ5LCB0aGF0IHRoZSBhYm92ZSBpbmZvcm1hdGlvbiBpbiB5b3VyIG5vdGljZSBpcyBhY2N1cmF0ZSBhbmQgdGhhdCB5b3UgYXJlIHRoZSBjb3B5cmlnaHQgb3duZXIgb3IgYXV0aG9yaXplZCB0byBhY3Qgb24gdGhlIGNvcHlyaWdodCBvd25lcidzIGJlaGFsZi4mbmJzcDtGcmF6ZXIgaGFzIGFkb3B0ZWQgYW5kIGltcGxlbWVudHMgYSBwb2xpY3kgdGhhdCBwcm92aWRlcyBmb3IgdGVybWluYXRpb24gaW4gYXBwcm9wcmlhdGUgY2lyY3Vtc3RhbmNlcyBvZiBhY2NvdW50cyBvZiB1c2VycyB3aG8gcmVwZWF0ZWRseSBpbmZyaW5nZSBjb3B5cmlnaHQgb3Igb3RoZXIgaW50ZWxsZWN0dWFsIHByb3BlcnR5IHJpZ2h0cyBvZiBGcmF6ZXIgb3Igb3RoZXJzLjwvcD4NCiAgICAgICAgPG9sIHN0YXJ0PSI3Ij4NCiAgICAgICAgICAgIDxsaT48c3Ryb25nPkluZGVtbmlmaWNhdGlvbi48L3N0cm9uZz4gWW91IGFncmVlIHRoYXQgeW91IHdpbGwgYmUgcGVyc29uYWxseSByZXNwb25zaWJsZSBmb3IgeW91ciB1c2Ugb2YgdGhlIFNpdGVzLCBhbmQgeW91IGFncmVlIHRvIGRlZmVuZCwgaW5kZW1uaWZ5LCBhbmQgaG9sZCBoYXJtbGVzcyBGcmF6ZXIgZnJvbSBhbmQgYWdhaW5zdCBhbnkgYW5kIGFsbCBjbGFpbXMsIGxpYWJpbGl0aWVzLCBkYW1hZ2VzLCBsb3NzZXMsIGFuZCBleHBlbnNlcyAoaW5jbHVkaW5nIGF0dG9ybmV5cycgYW5kIGFjY291bnRpbmcgZmVlcyBhbmQgY29zdHMpLCBhcmlzaW5nIG91dCBvZiBvciBpbiBhbnkgd2F5IGNvbm5lY3RlZCB3aXRoIChpKSB5b3VyIGFjY2VzcyB0bywgdXNlIG9mLCBvciBhbGxlZ2VkIHVzZSBvZiB0aGUgU2l0ZXM7IChpaSkgeW91ciB2aW9sYXRpb24gb2YgdGhlIFRlcm1zIG9yIGFueSBhcHBsaWNhYmxlIGxhdyBvciByZWd1bGF0aW9uOyAoaWlpKSB5b3VyIHZpb2xhdGlvbiBvZiBhbnkgdGhpcmQgcGFydHkgcmlnaHQsIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gYW55IGludGVsbGVjdHVhbCBwcm9wZXJ0eSByaWdodCwgcHVibGljaXR5LCBjb25maWRlbnRpYWxpdHksIHByb3BlcnR5LCBvciBwcml2YWN5IHJpZ2h0OyBvciAoaXYpIGFueSBkaXNwdXRlcyBvciBpc3N1ZXMgYmV0d2VlbiB5b3UgYW5kIGFueSB0aGlyZCBwYXJ0eS4gRnJhemVyIHJlc2VydmVzIHRoZSByaWdodCwgYXQgb3VyIG93biBleHBlbnNlLCB0byBhc3N1bWUgdGhlIGV4Y2x1c2l2ZSBkZWZlbnNlIGFuZCBjb250cm9sIG9mIGFueSBtYXR0ZXIgb3RoZXJ3aXNlIHN1YmplY3QgdG8gaW5kZW1uaWZpY2F0aW9uIGJ5IHlvdSwgYW5kIGluIHN1Y2ggY2FzZSwgeW91IGFncmVlIHRvIGNvb3BlcmF0ZSB3aXRoIG91ciBkZWZlbnNlIG9mIHN1Y2ggY2xhaW0uPC9saT4NCiAgICAgICAgICAgIDxsaT48c3Ryb25nPlRlcm1pbmF0aW9uLjwvc3Ryb25nPiBJZiB5b3UgdmlvbGF0ZSB0aGVzZSBUZXJtcywgeW91ciBwZXJtaXNzaW9uIHRvIHVzZSB0aGUgU2l0ZXMgd2lsbCBhdXRvbWF0aWNhbGx5IHRlcm1pbmF0ZS4mbmJzcDtJbiBhZGRpdGlvbiwgRnJhemVyIGluIGl0cyBzb2xlIGRpc2NyZXRpb24gbWF5IHN1c3BlbmQgb3IgdGVybWluYXRlIHlvdXIgdXNlciBhY2NvdW50IGFuZC9vciBzdXNwZW5kIG9yIHRlcm1pbmF0ZSBzb21lIG9yIGFsbCBvZiB5b3VyIGFjY2VzcyB0byB0aGUgU2l0ZXMgYXQgYW55IHRpbWUsIHdpdGggb3Igd2l0aG91dCBub3RpY2UgdG8geW91LiZuYnNwO1lvdSBtYXkgdGVybWluYXRlIHlvdXIgYWNjb3VudCBhdCBhbnkgdGltZSBieSBjb250YWN0aW5nIEZyYXplciBhdCBoZWxwQGZyYXplcmNvbnN1bHRhbnRzLmNvbS4gQWZ0ZXIgeW91ciBhY2NvdW50IGlzIHRlcm1pbmF0ZWQsIGluZm9ybWF0aW9uIGFuZCBjb250ZW50IHByZXZpb3VzbHkgcHJvdmlkZWQgYnkgeW91IHdpbGwgbm8gbG9uZ2VyIGJlIGFjY2Vzc2libGUgdGhyb3VnaCB5b3VyIGFjY291bnQsIGJ1dCBGcmF6ZXIgbWF5IGNvbnRpbnVlIHRvIHN0b3JlIHN1Y2ggaW5mb3JtYXRpb24gYW5kIGNvbnRlbnQsIGFuZCBpdCBtYXkgYWxzbyBiZSBzdG9yZWQgYnkgdGhpcmQgcGFydGllcyB0byB3aG9tIGl0IGhhcyBiZWVuIHRyYW5zZmVycmVkIHRocm91Z2ggeW91ciB1c2Ugb2YgdGhlIFNpdGVzLjwvbGk+DQogICAgICAgICAgICA8bGk+PHN0cm9uZz5Nb2RpZmljYXRpb24gb2YgdGhlIFRlcm1zLjwvc3Ryb25nPiBGcmF6ZXIgcmVzZXJ2ZXMgdGhlIHJpZ2h0IGF0IGFueSB0aW1lIHRvIG1vZGlmeSB0aGVzZSBUZXJtcyBhbmQgdG8gaW1wb3NlIG5ldyBvciBhZGRpdGlvbmFsIHRlcm1zIG9yIGNvbmRpdGlvbnMgb24geW91ciB1c2Ugb2YgdGhlIFNpdGVzLiBTdWNoIG1vZGlmaWNhdGlvbnMgYW5kIGFkZGl0aW9uYWwgdGVybXMgYW5kIGNvbmRpdGlvbnMgd2lsbCBiZSBlZmZlY3RpdmUgaW1tZWRpYXRlbHkgdXBvbiBub3RpY2UgYW5kIGluY29ycG9yYXRlZCBpbnRvIHRoZXNlIFRlcm1zLiZuYnNwO1dlIHdpbGwgbWFrZSByZWFzb25hYmxlIGVmZm9ydHMgdG8gbm90aWZ5IHlvdSBvZiBhbnkgbWF0ZXJpYWwgY2hhbmdlcyB0byB0aGUgVGVybXMsIGluY2x1ZGluZywgYnV0IG5vdCBsaW1pdGVkIHRvLCBieSBwb3N0aW5nIGEgbm90aWNlIHRvIG91ciB3ZWJzaXRlIG9yIGJ5IHNlbmRpbmcgYW4gZW1haWwgdG8gYW55IGFkZHJlc3MgeW91IG1heSBoYXZlIHByb3ZpZGVkIHRvIHVzLiZuYnNwO1lvdXIgY29udGludWVkIHVzZSBvZiB0aGUgU2l0ZXMgZm9sbG93aW5nIG5vdGljZSB3aWxsIGJlIGRlZW1lZCBhY2NlcHRhbmNlIG9mIGFueSBtb2RpZmljYXRpb25zIHRvIHRoZSBUZXJtcy48L2xpPg0KICAgICAgICAgICAgPGxpPjxzdHJvbmc+RGlzY2xhaW1lcnMgb2YgV2FycmFudGllcy48L3N0cm9uZz4gVGhlIFNpdGVzIGFyZSBwcm92aWRlZCAiYXMgaXMiIGFuZCBvbiBhbiAiYXMgYXZhaWxhYmxlIiBiYXNpcywgd2l0aG91dCB3YXJyYW50eSBvciBjb25kaXRpb24gb2YgYW55IGtpbmQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuIEFsdGhvdWdoIEZyYXplciBzZWVrcyB0byBtYWludGFpbiBzYWZlLCBzZWN1cmUsIGFjY3VyYXRlLCBhbmQgd2VsbC1mdW5jdGlvbmluZyBzZXJ2aWNlcywgd2UgY2Fubm90IGd1YXJhbnRlZSB0aGUgY29udGludW91cyBvcGVyYXRpb24gb2Ygb3IgYWNjZXNzIHRvIG91ciBTaXRlcywgYW5kIHRoZXJlIG1heSBhdCB0aW1lcyBiZSBpbmFkdmVydGVudCB0ZWNobmljYWwgb3IgZmFjdHVhbCBlcnJvcnMgb3IgaW5hY2N1cmFjaWVzLiBGcmF6ZXIgc3BlY2lmaWNhbGx5IChidXQgd2l0aG91dCBsaW1pdGF0aW9uKSBkaXNjbGFpbXMgKGkpIGFueSBpbXBsaWVkIHdhcnJhbnRpZXMgb2YgbWVyY2hhbnRhYmlsaXR5LCBmaXRuZXNzIGZvciBhIHBhcnRpY3VsYXIgcHVycG9zZSwgcXVpZXQgZW5qb3ltZW50LCBvciBub24taW5mcmluZ2VtZW50OyBhbmQgKGlpKSBhbnkgd2FycmFudGllcyBhcmlzaW5nIG91dCBvZiBjb3Vyc2Utb2YtZGVhbGluZywgdXNhZ2UsIG9yIHRyYWRlLiBZb3UgYXNzdW1lIGFsbCByaXNrIGZvciBhbnkvYWxsIGRhbWFnZXMgdGhhdCBtYXkgcmVzdWx0IGZyb20geW91ciB1c2Ugb2Ygb3IgYWNjZXNzIHRvIHRoZSBTaXRlcy4mbmJzcDtGcmF6ZXIgZG9lcyBub3QgZ3VhcmFudGVlIHRoZSBhY2N1cmFjeSBvZiwgYW5kIGRpc2NsYWltcyBhbGwgbGlhYmlsaXR5IGZvciwgYW55IGVycm9ycyBvciBvdGhlciBpbmFjY3VyYWNpZXMgaW4gdGhlIGluZm9ybWF0aW9uLCBjb250ZW50LCByZWNvbW1lbmRhdGlvbnMsIGFuZCBtYXRlcmlhbHMgbWFkZSBhdmFpbGFibGUgdGhyb3VnaCB0aGUgU2l0ZXMuPC9saT4NCiAgICAgICAgICAgIDxsaT48c3Ryb25nPkxpbWl0YXRpb24gb2YgTGlhYmlsaXR5Ljwvc3Ryb25nPiBJbiBubyBldmVudCB3aWxsIEZyYXplciBiZSBsaWFibGUgdG8geW91IGZvciBhbnkgaW5jaWRlbnRhbCwgc3BlY2lhbCwgY29uc2VxdWVudGlhbCwgZGlyZWN0LCBpbmRpcmVjdCwgb3IgcHVuaXRpdmUgZGFtYWdlcywgd2hldGhlciBiYXNlZCBvbiB3YXJyYW50eSwgY29udHJhY3QsIHRvcnQgKGluY2x1ZGluZyBuZWdsaWdlbmNlKSwgc3RhdHV0ZSwgb3IgYW55IG90aGVyIGxlZ2FsIHRoZW9yeSwgd2hldGhlciBvciBub3QgRnJhemVyIGhhcyBiZWVuIGluZm9ybWVkIG9mIHRoZSBwb3NzaWJpbGl0eSBvZiBzdWNoIGRhbWFnZS4mbmJzcDtTb21lIGp1cmlzZGljdGlvbnMgZG8gbm90IGFsbG93IHRoZSBkaXNjbGFpbWVyIG9mIHdhcnJhbnRpZXMgb3IgbGltaXRhdGlvbiBvZiBsaWFiaWxpdHkgaW4gY2VydGFpbiBjaXJjdW1zdGFuY2VzLiBBY2NvcmRpbmdseSwgc29tZSBvZiB0aGUgYWJvdmUgbGltaXRhdGlvbnMgbWF5IG5vdCBhcHBseSB0byB5b3UuPC9saT4NCiAgICAgICAgICAgIDxsaT48c3Ryb25nPkdvdmVybmluZyBMYXcuPC9zdHJvbmc+IFRoZXNlIFRlcm1zIGFyZSBnb3Zlcm5lZCBieSB0aGUgbGF3cyBvZiB0aGUgU3RhdGUgb2YgV2lzY29uc2luLCB3aXRob3V0IHJlZ2FyZCB0byBjb25mbGljdCBvZiBsYXcgcHJpbmNpcGxlcy4mbmJzcDtUbyB0aGUgZXh0ZW50IHRoYXQgYW55IGxhd3N1aXQgb3IgY291cnQgcHJvY2VlZGluZyBpcyBwZXJtaXR0ZWQgaGVyZXVuZGVyLCB5b3UgYW5kIEZyYXplciBhZ3JlZSB0byBzdWJtaXQgdG8gdGhlIGV4Y2x1c2l2ZSBwZXJzb25hbCBqdXJpc2RpY3Rpb24gb2YgdGhlIHN0YXRlIGNvdXJ0cyBvZiBXaXNjb25zaW4sIG9yLCBpZiBzdWNoIGNvdXJ0IHNoYWxsIG5vdCBoYXZlIGp1cmlzZGljdGlvbiwgYW55IGZlZGVyYWwgY291cnQgb2YgdGhlIFVuaXRlZCBTdGF0ZXMsIGFuZCBhcHByb3ByaWF0ZSBhcHBlbGxhdGUgY291cnRzIHRoZXJlZnJvbSwgZm9yIHRoZSBwdXJwb3NlIG9mIGxpdGlnYXRpbmcgYWxsIHN1Y2ggZGlzcHV0ZXMuPC9saT4NCiAgICAgICAgICAgIDxsaT48c3Ryb25nPk1vZGlmaWNhdGlvbiBvZiB0aGUgU2l0ZXMuPC9zdHJvbmc+IEZyYXplciByZXNlcnZlcyB0aGUgcmlnaHQgdG8gbW9kaWZ5IG9yIGRpc2NvbnRpbnVlLCB0ZW1wb3JhcmlseSBvciBwZXJtYW5lbnRseSwgc29tZSBvciBhbGwgb2YgdGhlIFNpdGVzIGF0IGFueSB0aW1lIHdpdGhvdXQgYW55IG5vdGljZSBvciBmdXJ0aGVyIG9ibGlnYXRpb24gdG8geW91LiZuYnNwO1lvdSBhZ3JlZSB0aGF0IEZyYXplciB3aWxsIG5vdCBiZSBsaWFibGUgdG8geW91IG9yIHRvIGFueSB0aGlyZCBwYXJ0eSBmb3IgYW55IG1vZGlmaWNhdGlvbiwgc3VzcGVuc2lvbiwgb3IgZGlzY29udGludWFuY2Ugb2YgYW55IG9mIHRoZSBTaXRlcy48L2xpPg0KICAgICAgICAgICAgPGxpPg0KICAgICAgICAgICAgICAgIDxzdHJvbmc+R2VuZXJhbC48L3N0cm9uZz4NCiAgICAgICAgICAgICAgICA8b2w+DQogICAgICAgICAgICAgICAgICAgIDxsaSB0eXBlPSJBIj48dT5FbnRpcmUgQWdyZWVtZW50PC91Pi4gVGhlc2UgVGVybXMgY29uc3RpdHV0ZSB0aGUgZW50aXJlIGFuZCBleGNsdXNpdmUgdW5kZXJzdGFuZGluZyBhbmQgYWdyZWVtZW50IGJldHdlZW4geW91IGFuZCBGcmF6ZXIgcmVnYXJkaW5nIHlvdXIgdXNlIG9mIGFuZCBhY2Nlc3MgdG8gdGhlIFNpdGVzLCBhbmQgZXhjZXB0IGFzIGV4cHJlc3NseSBwZXJtaXR0ZWQgYWJvdmUgbWF5IG9ubHkgYmUgYW1lbmRlZCBieSBhIHdyaXR0ZW4gYWdyZWVtZW50IHNpZ25lZCBieSBhdXRob3JpemVkIHJlcHJlc2VudGF0aXZlcyBvZiB0aGUgcGFydGllcy48L2xpPg0KICAgICAgICAgICAgICAgICAgICA8bGkgdHlwZT0iQSI+PHU+Tm8gV2FpdmVyPC91Pi4gVGhlIGZhaWx1cmUgdG8gcmVxdWlyZSBwZXJmb3JtYW5jZSBvZiBhbnkgcHJvdmlzaW9uIHNoYWxsIG5vdCBhZmZlY3Qgb3VyIHJpZ2h0IHRvIHJlcXVpcmUgcGVyZm9ybWFuY2UgYXQgYW55IHRpbWUgdGhlcmVhZnRlciwgbm9yIHNoYWxsIGEgd2FpdmVyIG9mIGFueSBicmVhY2ggb3IgZGVmYXVsdCBvZiB0aGUgVGVybXMgY29uc3RpdHV0ZSBhIHdhaXZlciBvZiBhbnkgc3Vic2VxdWVudCBicmVhY2ggb3IgZGVmYXVsdCBvciBhIHdhaXZlciBvZiB0aGUgcHJvdmlzaW9uIGl0c2VsZi48L2xpPg0KICAgICAgICAgICAgICAgICAgICA8bGkgdHlwZT0iQSI+PHU+UGFyYWdyYXBoIEhlYWRlcnM8L3U+LiBVc2Ugb2YgcGFyYWdyYXBoIGhlYWRlcnMgaW4gdGhlIFRlcm1zIGlzIGZvciBjb252ZW5pZW5jZSBvbmx5IGFuZCBzaGFsbCBub3QgaGF2ZSBhbnkgaW1wYWN0IG9uIHRoZSBpbnRlcnByZXRhdGlvbiBvZiBwYXJ0aWN1bGFyIHByb3Zpc2lvbnMuPC9saT4NCiAgICAgICAgICAgICAgICAgICAgPGxpIHR5cGU9IkEiPjx1PlNldmVyYWJpbGl0eTwvdT4uIEluIHRoZSBldmVudCB0aGF0IGFueSBwYXJ0IG9mIHRoZSBUZXJtcyBpcyBoZWxkIHRvIGJlIGludmFsaWQgb3IgdW5lbmZvcmNlYWJsZSwgdGhlIHVuZW5mb3JjZWFibGUgcGFydCBzaGFsbCBiZSBnaXZlbiBlZmZlY3QgdG8gdGhlIGdyZWF0ZXN0IGV4dGVudCBwb3NzaWJsZSBhbmQgdGhlIHJlbWFpbmluZyBwYXJ0cyB3aWxsIHJlbWFpbiBpbiBmdWxsIGZvcmNlIGFuZCBlZmZlY3QuPC9saT4NCiAgICAgICAgICAgICAgICA8L29sPg0KICAgICAgICAgICAgPC9saT4NCiAgICAgICAgICAgIDxsaT48c3Ryb25nPk5vdGljZSB0byBDYWxpZm9ybmlhIFJlc2lkZW50cy48L3N0cm9uZz4gVW5kZXIgQ2FsaWZvcm5pYSBDaXZpbCBDb2RlIFNlY3Rpb24gMTc4OS4zLCB5b3UgbWF5IGNvbnRhY3QgdGhlIENvbXBsYWludCBBc3Npc3RhbmNlIFVuaXQgb2YgdGhlIERpdmlzaW9uIG9mIENvbnN1bWVyIFNlcnZpY2VzIG9mIHRoZSBDYWxpZm9ybmlhIERlcGFydG1lbnQgb2YgQ29uc3VtZXIgQWZmYWlycyBpbiB3cml0aW5nIGF0IDE2MjUgTi4gTWFya2V0IEJsdmQuLCBTdWl0ZSBTLTIwMiwgU2FjcmFtZW50bywgQ2FsaWZvcm5pYSA5NTgzNCwgb3IgYnkgdGVsZXBob25lIGF0ICg4MDApIDk1Mi01MjEwIGluIG9yZGVyIHRvIHJlc29sdmUgYSBjb21wbGFpbnQgcmVnYXJkaW5nIHRoZSBzZXJ2aWNlIG9yIHRvIHJlY2VpdmUgZnVydGhlciBpbmZvcm1hdGlvbiByZWdhcmRpbmcgdXNlIG9mIHRoZSBzZXJ2aWNlLjwvbGk+DQogICAgICAgIDwvb2w+DQogICAgICAgIDxwPkxhc3QgVXBkYXRlZDogMDkvMDQvMjAyMDwvcD4NCiAgICA8L2Rpdj4NCjwvZGl2Pg==.