Help
RSS
API
Feed
Maltego
Contact
Domain > www.harnessfuneralhome.com
×
More information on this domain is in
AlienVault OTX
Is this malicious?
Yes
No
DNS Resolutions
Date
IP Address
2024-11-05
54.235.131.171
(
ClassC
)
2025-12-09
98.82.64.239
(
ClassC
)
Port 80
HTTP/1.1 301 Moved PermanentlyServer: awselb/2.0Date: Tue, 09 Dec 2025 04:59:00 GMTContent-Type: text/htmlContent-Length: 134Connection: keep-aliveLocation: https://www.harnessfuneralhome.com:443/ html>head>title>301 Moved Permanently/title>/head>body>center>h1>301 Moved Permanently/h1>/center>/body>/html>
Port 443
HTTP/1.1 200 OKDate: Tue, 09 Dec 2025 04:59:00 GMTContent-Type: text/html; charsetutf-8Content-Length: 169428Connection: keep-aliveSet-Cookie: AWSALBUMpaidKeI7uGxMv84u1pubwbA+OWgzE12CO64DHA/jKflgx9nzhumK1TUa2h67SmGwjTtlzd/xtoJ89+OZrNk1qsIpMGqs/a163JVVCBzfat1/kobus0D1som1It; ExpiresTue, 16 Dec 2025 04:59:00 GMT; Path/Set-Cookie: AWSALBCORSUMpaidKeI7uGxMv84u1pubwbA+OWgzE12CO64DHA/jKflgx9nzhumK1TUa2h67SmGwjTtlzd/xtoJ89+OZrNk1qsIpMGqs/a163JVVCBzfat1/kobus0D1som1It; ExpiresTue, 16 Dec 2025 04:59:00 GMT; Path/; SameSiteNone; SecureCache-Control: public, no-cacheSet-Cookie, stale-while-revalidate60, stale-if-error86400, max-age30Expires: Tue, 09 Dec 2025 04:59:30 GMTLast-Modified: Tue, 09 Dec 2025 04:59:00 GMTVary: *Server: Microsoft-IIS/10.0X-AspNetMvc-Version: 5.2X-AspNet-Version: 4.0.30319X-Powered-By: ASP.NETX-Content-Type-Options: nosniff !DOCTYPE html>html xmlnshttps://www.w3.org/1999/xhtml dirltr langen-US xmlns:fbhttps://www.facebook.com/2008/fbml classclarity>head> meta charsetutf-8 /> meta nameformat-detection contenttelephoneno /> meta http-equivX-UA-Compatible contentIEedge> link relpreconnect hrefhttps://cdnjs.cloudflare.com crossorigin> link reldns-prefetch hrefhttps://fonts.googleapis.com> link relpreconnect hrefhttps://fonts.gstatic.com crossorigin> link relpreconnect hrefhttps://www.google-analytics.com crossorigin> link relpreconnect hrefhttps://d1v2hfhsvnke6s.cloudfront.net crossorigin> link relpreconnect hrefhttps://s3.amazonaws.com crossorigin> link relpreconnect hrefhttps://ajax.googleapis.com crossorigin> link relpreconnect hrefhttps://www.google.com crossorigin> link relpreconnect hrefhttps://cmp.osano.com crossorigin> link relpreload hrefhttps://d1v2hfhsvnke6s.cloudfront.net/Content/Fonts/Linearicons-Free-v1.0.0/Linearicons-Free.woff2?w118d asfont typefont/woff2 crossoriginanonymous> link relpreload hrefhttps://d1v2hfhsvnke6s.cloudfront.net/Content/Fonts/Linearicons/Linearicons.woff2 asfont typefont/woff2 crossoriginanonymous> link relstylesheet hrefhttps://d1v2hfhsvnke6s.cloudfront.net/Content/Fonts/Linearicons/styles-custom.min.css mediaprint onloadthis.mediaall> link relstylesheet hrefhttps://d1v2hfhsvnke6s.cloudfront.net/Content/Fonts/Linearicons-Free-v1.0.0/style.min.css mediaprint onloadthis.mediaall> link relstylesheet hrefhttps://d2zeeo94hsmapq.cloudfront.net/release/themes/7093751/Content/Themes/Shared/css/tribute-pay-panel.css mediaprint onloadthis.mediaall> link relstylesheet hrefhttps://d2zeeo94hsmapq.cloudfront.net/release/themes/7093751/Content/Themes/Shared/css/lightbox.css mediaprint onloadthis.mediaall> link relstylesheet href/Content/Styles/fontawesome_v5.min.css mediaprint onloadthis.mediaall> script> (function (w, o, d) { wo wo || function () { wod.push(arguments); }; wod wod || ; })(window, Osano, data); /script> script async srchttps://cmp.osano.com/6oqE1UQ1Qwdt1CDn/dbf97c4d-bcbd-4619-a747-b14746192ff8/osano.js>/script> script typetext/javascript> document.addEventListener(DOMContentLoaded, function () { const targetSelector .osano-cm-window__dialog:not(.osano-cm-dialog--hidden); let observer new MutationObserver(function (mutations, obs) { const elem document.querySelector(targetSelector); if (elem) { sendNiEvent( Support, Cookie Banner, niEvent - View Cookie Banner, View Cookie Banner ); // Attach click handlers here if needed $(document).on(click, .osano-cm-button, function () { var $btn $(this); var text $btn.text().trim(); if ($btn.hasClass(osano-cm-button--type_accept)) { sendGa4Event(Support, Cookie Banner, Obituary, Accept All Click, text + - Cookie Banner); } else if ($btn.hasClass(osano-cm-button--type_denyAll)) { sendGa4Event(Support, Cookie Banner, Obituary, Reject All Click, text + - Cookie Banner); } }); $(document).on(click, .osano-cm-storage-policy, function () { var text $(this).text().trim(); sendGa4Event(Support, Cookie Banner, Obituary, Privacy Policy, text + - Cookie Banner); }); obs.disconnect(); // Stop observing after found } }); observer.observe(document.body, { childList: true, subtree: true }); }); /script> link relalternate typeapplication/rss+xml titleRSS Feed href/rss.xml /> !-- Google Tag Manager --> script> (function (w, d, s, l, i) { wl wl || ; wl.push({ gtm.start: new Date().getTime(), event: gtm.js }); var f d.getElementsByTagName(s)0, j d.createElement(s), dl l ! dataLayer ? &l + l : ; j.async true; j.src https://www.googletagmanager.com/gtm.js?id + i + dl; f.parentNode.insertBefore(j, f); })(window, document, script, dataLayer, GTM-PCDJ3WG); /script> !-- End Google Tag Manager -->!-- Google Tag Manager -->script> (function (w, d, s, l, i) { wl wl || ; wl.push({ gtm.start: new Date().getTime(), event: gtm.js }); var f d.getElementsByTagName(s)0, j d.createElement(s), dl l ! dataLayer ? &l + l : ; j.async true; j.src https://www.googletagmanager.com/gtm.js?id + i + dl; f.parentNode.insertBefore(j, f); })(window, document, script, dataLayer, GTM-PLKZ973);/script>!-- End Google Tag Manager --> script typetext/javascript>var pushData (data) > { dataLayer.push(data);}var replaceUndefined (value) > { return value ? value : Null;}pushDeceasedInfo (days, age, type) > { pushData({ dInfo: { dDays: replaceUndefined(days), dAge: replaceUndefined(age), mType: replaceUndefined(type) } });}pushEventInfo (timeUntilFirst, timeUntilLast) > { pushData({ eventInfo: { timeUntilFirst: replaceUndefined(timeUntilFirst), timeUntilLast: replaceUndefined(timeUntilLast) } });}pushWallInfo (condolencesCount, photosCount, videosCount) > { pushData({ wall: { countCondolences: replaceUndefined(condolencesCount), countPhotos: replaceUndefined(photosCount), countVideos: replaceUndefined(videosCount) } });}pushSiteInfo (siteId, locationId, websiteType, brandName, version, userType, pageType, codeBase, fhName, floralNetwork, seoStatus, osanoKey) > { pushData({ siteInfo: { siteId: replaceUndefined(siteId), locationId: replaceUndefined(locationId), websiteType: replaceUndefined(websiteType), brandName: replaceUndefined(brandName), version: replaceUndefined(version), userType: replaceUndefined(userType), pageType: replaceUndefined(pageType), codeBase: replaceUndefined(codeBase), fhName: replaceUndefined(fhName), floralNetwork: replaceUndefined(floralNetwork), seoStatus: replaceUndefined(seoStatus), osanoKey: replaceUndefined(osanoKey) } });}pushAbTestInfo (templateId, templateVersion, storeTemplateVersion, obitEvents, serverId, testName) > { pushData({ abTestInfo: { templateId: replaceUndefined(templateId), templateVersion: replaceUndefined(templateVersion), storeTemplateVersion: replaceUndefined(storeTemplateVersion), obitEvents: replaceUndefined(obitEvents), serverId: replaceUndefined(serverId), testName: replaceUndefined(testName) } });}sendGTMInfo (category, action, label) > { dataLayer.push({ event: gaEvent, category: category, action: action, label: label });} sendNiEvent (purpose, location, action, label) > { window.dataLayer window.dataLayer || ; const pageType typeof getSitePageType function ? getSitePageType() : Other; dataLayer.push({ event: niEvent, ga4.category: pageType, ga4.purpose: purpose, ga4.location: location, ga4.action: action, ga4.label: label });}sendGa4Event (purpose, location, category, action, label) > { dataLayer.push({ event: ga4Event, ga4.purpose: purpose, a4.location: location, a4.category: category, a4.action: action, a4.label: label, });}getSitePageType () > { const item window.dataLayer.find(element > element.siteInfo ! null); if (item && item.siteInfo && item.siteInfo.pageType) { return item.siteInfo.pageType; } return Other;}pushPageInfo (tcoObitId, brandObitId, obitDays, productsOffered, backgroundImage, profilePhoto, obitLength, funeralHomeGeo, countObitVideos, countTreePurchases, countFreeTrees, countFlowerPurchases, countDonations, countCharityDonations, obitCDays, obitHours, obitCreatedHour, deliveryLocation, pin, flag, fbPost, wallPostActions, obitPublishDate, storeName, deathNotice, donations, daysSinceDeath, deceasedAge, hoursToFirstEvent, hoursToLastEvent, aiFlag) > { pushData({ pageInfo: { tcoObitId: replaceUndefined(tcoObitId), brandObitId: replaceUndefined(brandObitId), obitDays: replaceUndefined(obitDays), productsOffered: replaceUndefined(productsOffered), backgroundImage: replaceUndefined(backgroundImage), profilePhoto: replaceUndefined(profilePhoto), obitLength: replaceUndefined(obitLength), funeralHomeGeo: replaceUndefined(funeralHomeGeo), countObitVideos: replaceUndefined(countObitVideos), countTreePurchases: replaceUndefined(countTreePurchases), countFreeTrees: replaceUndefined(countFreeTrees), countFlowerPurchases: replaceUndefined(countFlowerPurchases), countDonations: replaceUndefined(countDonations), countCharityDonations: replaceUndefined(countCharityDonations), obitCDays: replaceUndefined(obitCDays), obitHours: replaceUndefined(obitHours), obitCreatedHour: replaceUndefined(obitCreatedHour), deliveryLocation: replaceUndefined(deliveryLocation), ltPin: replaceUndefined(pin), ltFlag: replaceUndefined(flag), fbPost: replaceUndefined(fbPost), wallPostActions: replaceUndefined(wallPostActions), obitPublishDate: replaceUndefined(obitPublishDate), store: replaceUndefined(storeName), deathNotice: replaceUndefined(deathNotice), donations: replaceUndefined(donations), daysSinceDeath: replaceUndefined(daysSinceDeath), deceasedAge: replaceUndefined(deceasedAge), hoursToFirstEvent: replaceUndefined(hoursToFirstEvent), hoursToLastEvent: replaceUndefined(hoursToLastEvent), aiFlag: replaceUndefined(aiFlag) } });}window.getGAuuid () > { const uuidKeyCookie tcouuid; const regexCookie new RegExp(`(^| )${uuidKeyCookie}(^;+)`); const gaUUidCookieArr document.cookie.match(regexCookie); if (!gaUUidCookieArr) { const now new Date(); let uuid crypto in window && window.crypto.randomUUID && window.crypto.randomUUID(); if (!uuid) { uuid String(now.getTime().toString(32) + Math.random().toString(16)).replace(/\./g, -); } now.setTime(now.getTime() + 3600 * 1000);// 1 hour document.cookie `${uuidKeyCookie}${uuid};expires${now.toUTCString()};path/`; return uuid; } return gaUUidCookieArr2;};window.pushSessionInfo (sessionID) > { pushData({ sessionInfo: { sessionID } });}/script> script typetext/javascript> document.addEventListener(touchstart, {}, { passive: true }); WebFontConfig { google: { families: Lato:400,400italic,700,700italic,900,900italic,300,100,100italic,300italic , text: ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzÁÉÍÓÚáéíóúÑñÜüĆćČčĐđĎďŠšŽžŸÿ0123456789IVXLCDM!?.,:;@#$%^&*()-_+>{}|\\/„“”‘’‹›«»€£¥±×÷≠→←↑↓•◦¿¡ } }; var doRedirect (function(agent, addr) { //matches only smartphones if (/(Android.+Mobile)|iPhone|Opera\sMobi/i.test(agent)) { return function() { if (addr) { window.location (addr.indexOf(http://)) -1 ? (http:// + addr) : addr; } }; } return null; })(navigator.userAgent || navigator.vendor || window.opera, ); //dynamic forms var _getDfLoginUrl /Forms/LoginToPreplanning; var _getDfPostUrl /Forms/DynamicForm; var _getDFStepUrl /Forms/DynamicFormStep; var _getObitSubsUrl /FunHelper/SubscribeToObituaryEmails; var _gApiKey AIzaSyAJePqBpBIkgD-XWaEODqqSpEKUFIcbVow; /script> meta nameviewport contentwidthdevice-width, initial-scale1.0> link relshortcut icon hrefhttps://s3.amazonaws.com/fh-content/release/Content/Media/HarnessFuneralHomeandCremationServices/favicon.ico typeimage/x-icon> link relstylesheet hrefhttps://d2zeeo94hsmapq.cloudfront.net/release/themes/7093751/Content/Themes/Shared/css/common.css mediaprint onloadthis.mediaall> link relstylesheet href/Content/Styles/DynamicBanners/DynamicBanners.min.css mediaprint onloadthis.mediaall> link relstylesheet hrefhttps://d2zeeo94hsmapq.cloudfront.net/release/themes/7093751/Content/Themes/Shared/css/rotatingBanner/rotating-banner.css mediaprint onloadthis.mediaall> link relstylesheet href/Content/Styles/hover-effects.min.css mediaprint onloadthis.mediaall> link relstylesheet href/Content/Styles/media-content.min.css mediaprint onloadthis.mediaall> link relstylesheet hrefhttps://d2zeeo94hsmapq.cloudfront.net/release/themes/7093751/Content/Themes/Shared/css/obituaries-homepage.css mediaprint onloadthis.mediaall> title>Harness Funeral Home & Cremation Services | Buffalo WY/title>meta namedescription contentHarness Funeral Home & Cremation Services provides funeral, memorial, personalization, aftercare, pre-planning and cremation services in Buffalo, WY. /> script typetext/javascript>document.addEventListener(DOMContentLoaded, function () { // Select the element with class home-services var homeServicesElement document.querySelector(.home-services); // Check if the element exists before inserting the new link if (homeServicesElement) { // Create a new link element var obituaryWriterLink document.createElement(a); obituaryWriterLink.className fun-button; obituaryWriterLink.href https://www.harnessfuneralhome.com/resources/obituary-writer; obituaryWriterLink.textContent Obituary Writer; // Insert the new link before the element with class home-services homeServicesElement.parentNode.insertBefore(obituaryWriterLink, homeServicesElement); }}); /script> script typeapplication/ld+json> { @context: https://schema.org, @type: Organization, name: Harness Funeral Home & Cremation Services | Buffalo WY, url: https://www.harnessfuneralhome.com, logo: https://www.harnessfuneralhome.com/Content/Media/HarnessFuneralHomeandCremationServices/logo2_5d86bc3a302a4b8a891074c71d6b2d9f.png, contactPoint: { @type: ContactPoint, telephone: (307) 684-2251 } } sameAs: } } /script> script src/DependencyHandler.axd/1df68f60cda0adc2d5192c18c1114daf.513.js typetext/javascript>/script>script srchttps://d2zeeo94hsmapq.cloudfront.net/release/themes/7093751/Content/Themes/Shared/lib/aos/dist/aos.js typetext/javascript>/script> script typetext/javascript> AC_FL_RunContent 0; $(html).addClass($.browser.name).addClass(version- + $.browser.versionNumber); if ($.browser.name msie) { $(#msie-banner).css(display, block); setTimeout(function(){$(#msie-banner).fadeOut(1000);}, 5000); } FrazerMaps.Init({ apiKey: AIzaSyAJePqBpBIkgD-XWaEODqqSpEKUFIcbVow }); /script> link relstylesheet hrefhttps://d2zeeo94hsmapq.cloudfront.net/release/themes/7093751/Content/Themes/Shared/css/fonts.css mediaprint onloadthis.mediaall> link relstylesheet href/Content/Styles/jquery-ui-1.8.18.custom.min.css mediaprint onloadthis.mediaall> link relstylesheet hrefhttps://d2zeeo94hsmapq.cloudfront.net/release/themes/7093751/Content/Themes/Shared/css/DynamicForms.css mediaprint onloadthis.mediaall> link relstylesheet href/Content/Styles/coolDropDown.min.css mediaprint onloadthis.mediaall> link relstylesheet href/Content/Styles/jqtransform.min.css mediaprint onloadthis.mediaall> link relstylesheet href/Content/Styles/jquery.superbox.min.css mediaprint onloadthis.mediaall> link relstylesheet href/Content/Styles/hover-effects.min.css mediaprint onloadthis.mediaall> link relstylesheet hrefhttps://d2zeeo94hsmapq.cloudfront.net/release/themes/7093751/Content/Themes/Shared/lib/aos/dist/aos.css mediaprint onloadthis.mediaall> script typetext/javascript> $(function () { if (typeof DynamicForms ! undefined) { DynamicForms.setDomainId(content$empty_root$$_p__nhibernate$_v__guid$_87bff9ed88dc46a38961a536b45dc6bb); } }); /script> link hrefhttps://d2zeeo94hsmapq.cloudfront.net/release/themes/7093751/Content/Themes/Clarity/Harness/css/site.css relstylesheet typetext/css /> script idsubscribe-form typetext/html> form data-typedynamic data-domainid87bff9ed88dc46a38961a536b45dc6bb classobituary-subs obituary-subs-popup jqtransformdone novalidatenovalidate action/FunHelper/SubscribeToObituaryEmails> a hrefjavascript:void(0); classclose-popup>/a> div classdescription> h1>Subscribe to Obituaries/h1> p classsubmited-none>Receive emails when new obituariesbr />are published to our website./p> p classsubmited-block>Thank you!/p> /div> div classfields submited-none> input typetext placeholderFirst Name classobituary-subs-name bg-icon-user titleFirst Name> input typetext placeholderEmail Address classobituary-subs-email bg-icon-letter titleEmail Address> div classicon-info>div classinfo-wrapper>We promise not to spam or share your email/div>/div> input typesubmit valueSubscribe classfun-button primary ui-button ui-widget ui-state-default ui-corner-all rolebutton aria-disabledfalse /> /div> /form> /script> script typetext/javascript> var funeralModal { init: function (modalData) { var $container $(div classoverlay-content-container>div classoverlay>/div>div classcontent>/div>/div>), $content $(.content, $container), $overlay $(.overlay, $container), $body $(body), html $(modalData.selector).html(); var remove function () { $container.remove(); } var init function () { $content.append(html); $overlay .on(click, remove); $(.close-popup, $content) .on(click, remove); $container .hide() .appendTo($body) .fadeIn(fast); funeralModalmodalData.init($content.children().first()); } init(); } } funeralModal.subscribeObituariesModalInit function (self) { var $form $(self), $formChildren $form.children(); $formChildren.find(input).first().focus(); $form.on(submit, function () { dynSubscribeToObituaryEmails($formChildren.first(), $form.attr(action), $form.data(domainid), function () { $form.addClass(submited); }); return false; }); } /script> script typetext/javascript> window.aciveAnim true; (function () { window.API window.API || {}; API.domainId 87bff9ed-88dc-46a3-8961-a536b45dc6bb; API.apiBaseUrl https://api.secure.tributecenteronline.com + /ClientApi/; API.apiBuilderBaseUrl https://api.secure.tributecenteronline.com + /BuilderApi; API.recaptchaV3PublicKey 6Leawu0UAAAAAF0V79rsne6v5D0ciHG9B8519VFe; API.tcoAppPath //; if (API.tcoAppPath //) API.tcoAppPath /; API.isLocal False True; API.tcoBaseUrl https://www.harnessfuneralhome.com + API.tcoAppPath; API.tcoSecureBaseUrl https://www.harnessfuneralhome.com + API.tcoAppPath; API.s3Path //tributecenteronline.s3-accelerate.amazonaws.com/; API.TCOCloudfrontDomain https://d1q40j6jx1d8h6.cloudfront.net/; API.isLocal false true; window.API.brand { id: 1, name: Frazer Consultants, LLC, obitStyle: 0, providerId: 0}; API.brands JSON.parse({0:Frazer,1:SRS,2:Osiris,3:Mortware,4:TMS,5:Ionic,6:Passare,7:ContinentalComputersCorp,8:FuneralNet,9:Aurora,10:FuneralDecisions,11:Halcyon,12:FuneralSync,13:FuneralCall,14:InsuranceAssignments,15:FrontRunner,16:TownNews,17:AdPerfect,18:TCO,20:FuneralTech,21:ObituaryHub,22:FuneraLogic,23:FrontRunnerNewspaper,24:GeneralStore,25:FuneralDataManager,26:CFS,27:ConnecticutPublicBroadcasting,28:FuneralInnovations,29:FreedomSoftware,30:MIMS,31:WedLFD,33:WhiteLabelTraining,34:MKJ,39:Carriage}); API.moderatorName Harness Funeral Home; API.xPending false; API.ajax function (httpMethod, controller, method, data, contentType, isApi, success, error, customHeader {}) { var baseUrl isApi ? API.apiBaseUrl : API.tcoAppPath; var currentUser localStorage.getItem(currentUser); function filterError(data, textStatus, jqXHR) { if (data && data.status 403) { var resp JSON.parse(data.responseText); var isCommentMethods create, createcomment; if (controller.toLowerCase() comments && isCommentMethods.includes(method.toLowerCase())) authCallback.showRelationship true; if (resp.type && resp.type 1) { error(User is blocked); } else if (typeof Funeral ! undefined && Funeral.BeforePostData(authCallback)) { return authCallback(); } else { typeof error function && error(data.responseText); } } else if ($.isFunction(error)) error(data.responseText); }; function authCallback() { jQuery.ajax({ method: httpMethod, contentType: contentType, dataType: json, url: baseUrl + controller + / + method, xhrFields: { withCredentials: isApi }, headers: { DomainId: API.domainId, x-wall-user: currentUser }, data: JSON.stringify(data) }).done(success).error(filterError); } var headers $.extend({}, { DomainId: API.domainId, }, customHeader); if (currentUser ! null) headersx-wall-user currentUser var settings { method: httpMethod, cache: false, url: baseUrl + controller + / + method, xhrFields: { withCredentials: isApi }, headers: headers, data: data, success: function(res, status, xhr) { if(Array.isArray(res) && res.length > 0) { API.xPending xhr.getResponseHeader(X-Pending); } } }; if (httpMethod.toUpperCase() POST) { var form $(#__AjaxAntiForgeryForm); if (form) { var token $(inputname__RequestVerificationToken, form).val(); if (token) settings.headers__RequestVerificationToken token; } if (!isApi) { settings.data JSON.stringify(settings.data); settings.dataType json; settings.contentType application/json; } } jQuery.ajax(settings).done(success).error(filterError); }; API.post function (controller, method, data, success, error, customHeader {}) { return API.ajax(POST, controller, method, data, application/json, true, success, error, customHeader); }; API.get function(controller, method, data, success, error) { return API.ajax(GET, controller, method, data, application/json, true, success, error); }; API.postMedia function (controller, method, data, success, error) { return API.ajax(POST, controller, method, data, multipart/form-data, true, success, error); }; API.postTco function(controller, method, data, success, error) { return API.ajax(POST, controller, method, data, application/json, false, success, error); }; API.getTco function(controller, method, data, success, error) { return API.ajax(GET, controller, method, data, application/json, false, success, error); }; API.ensureHttps function(hash) { if (window.location.protocol ! https: && API.tcoSecureBaseUrl && API.tcoSecureBaseUrl.indexOf(https) > -1) { if (hash) { window.location.hash hash; } window.location.href API.tcoSecureBaseUrl.slice(0, -1) + window.location.pathname + window.location.search + window.location.hash; } }; API.showFuneralHomeName false; jQuery.ajaxSetup({ beforeSend: function (e) { if (!window.aciveAnim) setTimeout(function () { $(.page-loader-wrapper).addClass(active); }, 500); }, complete: function (e) { if (!window.aciveAnim) setTimeout(function () { $(.page-loader-wrapper).removeClass(active); }, 500); }, success: function () { } }); })();/script> meta namegoogle-site-verification contentzPZfRyd85WrWoxeoDWG0NwLekAg5lywtAGapdYlpB2g />/head>body > !-- Google Tag Manager (noscript) --> noscript> iframe srchttps://www.googletagmanager.com/ns.html?idGTM-PCDJ3WG height0 width0 styledisplay:none;visibility:hidden>/iframe> /noscript> !-- End Google Tag Manager (noscript) -->!-- Google Tag Manager (noscript) -->noscript> iframe srchttps://www.googletagmanager.com/ns.html?idGTM-PLKZ973 height0 width0 styledisplay:none;visibility:hidden>/iframe>/noscript>!-- End Google Tag Manager (noscript) --> nav classsite-header navbar navbar-default head-menu logo-above navbar-fixed-top> div classsite-header__wrapper> div classheader-top-line> a hrefhttps://harness-funeral-home-buffalo.tributestore.com?srcorder-flowers classflowers>Send Flowers/a> a hrefhttps://www.harnessfuneralhome.com/resources/payment-center>Payment Center/a> a href#subscribe-obituaries classsubscribe onclickfuneralModal.init({ selector: #subscribe-form, init: subscribeObituariesModalInit });>Subscribe to Obituaries/a> span classphone x-ms-format-detectionnone>a hreftel:3076842251>(307) 684-2251/a>/span> /div> div classnavbar-header> button onclicksendGTMInfo(Obituary Banner, Click, Obituary Navigation) typebutton classnavbar-toggle data-togglecollapse data-target aria-expandedfalse aria-controlsnavbar> span classicon-bar>/span> span classicon-bar>/span> span classicon-bar>/span> span classsr-only>Toggle navigation/span> /button> a onclicksendGTMInfo(Obituary Banner, Click, Funeral Home) classnavbar-brand href/ aria-labelLink to Home page>img src/Content/Media/HarnessFuneralHomeandCremationServices/logo2_5d86bc3a302a4b8a891074c71d6b2d9f.png altsite logo classsite-logo />/a> /div> ul idnavbar classnavbar-collapse collapse aria-expandedfalse> li>ul classnav navbar-nav navbar-right dropdowns show-dropdown-menu-by-hover > li class> a onclicksendGTMInfo(Obituary Banner, Click, Obituary Navigation) href/obituaries/obituary-listings target_self> Obituaries /a> /li> li classdropdown > a href# classdropdown-toggle data-toggledropdown rolebutton aria-haspopuptrue aria-expandedfalse>Services We Offer span classcaret>/span>/a> ul classdropdown-menu> li class> a onclicksendGTMInfo(Obituary Banner, Click, Obituary Navigation) href/services-we-offer/where-to-start target_self>Where to Start/a> /li> li class> a onclicksendGTMInfo(Obituary Banner, Click, Obituary Navigation) href/services-we-offer/service-options target_self>Service Options/a> /li> li class> a onclicksendGTMInfo(Obituary Banner, Click, Obituary Navigation) href/services-we-offer/celebrating-life target_self>Celebrating Life/a> /li> li class> a onclicksendGTMInfo(Obituary Banner, Click, Obituary Navigation) href/services-we-offer/final-interment target_self>Final Interment/a> /li> /ul> /li> li classdropdown > a href# classdropdown-toggle data-toggledropdown rolebutton aria-haspopuptrue aria-expandedfalse>Pre-Plan span classcaret>/span>/a> ul classdropdown-menu> li class> a onclicksendGTMInfo(Obituary Banner, Click, Obituary Navigation) href/pre-plan/why-plan-ahead target_self>Why Plan Ahead?/a> /li> li class> a onclicksendGTMInfo(Obituary Banner, Click, Obituary Navigation) href/pre-plan/pre-planning-checklist target_self>Pre-Planning Checklist/a> /li> li class> a onclicksendGTMInfo(Obituary Banner, Click, Obituary Navigation) href/pre-plan/pre-plan-online target_self>Pre-Plan Online/a> /li> /ul> /li> li classdropdown > a href# classdropdown-toggle data-toggledropdown rolebutton aria-haspopuptrue aria-expandedfalse>Aftercare span classcaret>/span>/a> ul classdropdown-menu> li class> a onclicksendGTMInfo(Obituary Banner, Click, Obituary Navigation) href/aftercare/grief-resources target_self>Grief Resources/a> /li> li class> a onclicksendGTMInfo(Obituary Banner, Click, Obituary Navigation) href/aftercare/children-and-grief target_self>Children & Grief/a> /li> li class> a onclicksendGTMInfo(Obituary Banner, Click, Obituary Navigation) href/aftercare/365-days-of-healing target_self>365 Days of Healing/a> /li> /ul> /li> li class> a onclicksendGTMInfo(Obituary Banner, Click, Obituary Navigation) href/monuments/monuments target_self> Monuments /a> /li> li classdropdown > a href# classdropdown-toggle data-toggledropdown rolebutton aria-haspopuptrue aria-expandedfalse>Resources span classcaret>/span>/a> ul classdropdown-menu> li class> a onclicksendGTMInfo(Obituary Banner, Click, Obituary Navigation) href/resources/payment-center target_self>Payment Center/a> /li> li class> a onclicksendGTMInfo(Obituary Banner, Click, Obituary Navigation) href/resources/honoring-veterans target_self>Honoring Veterans/a> /li> li class> a onclicksendGTMInfo(Obituary Banner, Click, Obituary Navigation) href/resources/when-death-occurs target_self>When Death Occurs/a> /li> li class> a onclicksendGTMInfo(Obituary Banner, Click, Obituary Navigation) href/resources/funeral-decorum target_self>Funeral Decorum/a> /li> li class> a onclicksendGTMInfo(Obituary Banner, Click, Obituary Navigation) href/resources/cemetery-etiquette target_self>Cemetery Etiquette/a> /li> li class> a onclicksendGTMInfo(Obituary Banner, Click, Obituary Navigation) href/resources/social-security-benefits target_self>Social Security Benefits/a> /li> li class> a onclicksendGTMInfo(Obituary Banner, Click, Obituary Navigation) href/resources/faqs target_self>FAQs/a> /li> /ul> /li> li classdropdown > a href# classdropdown-toggle data-toggledropdown rolebutton aria-haspopuptrue aria-expandedfalse>About Us span classcaret>/span>/a> ul classdropdown-menu> li class> a onclicksendGTMInfo(Obituary Banner, Click, Obituary Navigation) href/about-us/why-choose-us target_self>Why Choose Us/a> /li> li class> a onclicksendGTMInfo(Obituary Banner, Click, Obituary Navigation) href/about-us/staff target_self>Staff/a> /li> li class> a onclicksendGTMInfo(Obituary Banner, Click, Obituary Navigation) href/about-us/testimonials target_self>Testimonials/a> /li> /ul> /li> li class> a onclicksendGTMInfo(Obituary Banner, Click, Obituary Navigation) href/contact/contact-us target_self> Contact /a> /li>/ul>/li> li> ul classnav navbar-nav mobile> li>a hrefhttps://harness-funeral-home-buffalo.tributestore.com?srcorder-flowers classflowers btn>Send Flowers/a>/li> li> a href#subscribe-obituaries classsubscribe btn inverse onclickfuneralModal.init({selector:#subscribe-form,init:subscribeObituariesModalInit});>Subscribe to Obituaries/a> /li> li> a hrefhttps://www.harnessfuneralhome.com/resources/payment-center classbtn inverse>Payment Center/a> /li> li>span classphone x-ms-format-detectionnone>(307) 684-2251/span>/li> /ul> /li> /ul> /div>/nav>div classpage-loader-wrapper> div classpage-loader>Loading.../div>/div>div classparallax> div classlayer-back-wraper> div classlayer-back> div idslideShowCarousel classcarousel slide carousel-fade data-ridecarousel> !-- Indicators --> ol classcarousel-indicators> li data-target#slideShowCarousel data-slide-to0 classactive>/li> li data-target#slideShowCarousel data-slide-to1 class>/li> li data-target#slideShowCarousel data-slide-to2 class>/li> /ol> !-- Wrapper for slides --> div classcarousel-inner> div classgradient item active> img srchttps://d1q40j6jx1d8h6.cloudfront.net/Media/Slides/aa351fc2-42ae-4aa7-9616-bbe5fa2a2bb4.webp alt9575 classslideImage data-aosfade> div classcarousel-headers > h1 data-aoszoom-in >HARNESS FUNERAL HOME/h1> h3 data-aosfade-up data-aos-easingease data-aos-delay400 >Family owned for five generations/h3> div data-aosfade-up data-aos-easingease data-aos-delay800 classheader-link>a hrefhttp://harnessfuneralhome.tributecenteronline.com/services/overview>LEARN MORE/a> /div> !-- Left and right controls --> a classleft carousel-control href#slideShowCarousel rolebutton data-slideprev> span classglyphicon glyphicon-chevron-left aria-hiddentrue>/span> span classsr-only>Previous/span> /a> a classright carousel-control href#slideShowCarousel rolebutton data-slidenext> span classglyphicon glyphicon-chevron-right aria-hiddentrue>/span> span classsr-only>Next/span> /a> /div> /div> div classgradient item> img srchttps://d1q40j6jx1d8h6.cloudfront.net/Media/Slides/9a55c806-8c64-413d-9ab2-5c21c3add7c2.webp alt9570 classslideImage data-aosfade> div classcarousel-headers > h1 data-aoszoom-in >PRE-PLANNING/h1> h3 data-aosfade-up data-aos-easingease data-aos-delay400 >plan ahead now/h3> div data-aosfade-up data-aos-easingease data-aos-delay800 classheader-link>a href/pre-plan/overview>LEARN MORE/a> /div> !-- Left and right controls --> a classleft carousel-control href#slideShowCarousel rolebutton data-slideprev> span classglyphicon glyphicon-chevron-left aria-hiddentrue>/span> span classsr-only>Previous/span> /a> a classright carousel-control href#slideShowCarousel rolebutton data-slidenext> span classglyphicon glyphicon-chevron-right aria-hiddentrue>/span> span classsr-only>Next/span> /a> /div> /div> div classgradient item> img srchttps://d1q40j6jx1d8h6.cloudfront.net/Media/Slides/598f54f4-7602-4aa8-b389-3adea1549a33.webp alt9111 classslideImage data-aosfade> div classcarousel-headers > h1 data-aoszoom-in >PROVIDING SUPPORT/h1> h3 data-aosfade-up data-aos-easingease data-aos-delay400 >to those facing loss/h3> div data-aosfade-up data-aos-easingease data-aos-delay800 classheader-link>a href/aftercare/overview>LEARN MORE/a> /div> !-- Left and right controls --> a classleft carousel-control href#slideShowCarousel rolebutton data-slideprev> span classglyphicon glyphicon-chevron-left aria-hiddentrue>/span> span classsr-only>Previous/span> /a> a classright carousel-control href#slideShowCarousel rolebutton data-slidenext> span classglyphicon glyphicon-chevron-right aria-hiddentrue>/span> span classsr-only>Next/span> /a> /div> /div> /div>/div>link relstylesheet href/Scripts/owl-carousel/owl.theme.min.css mediaprint onloadthis.mediaall>link relstylesheet href/Scripts/owl-carousel/owl.carousel.min.css mediaprint onloadthis.mediaall>script typetext/javascript> var interval 0; $(document).ready(function () { if (interval > 0) { $(.carousel).carousel({ interval: interval * 1000 }); } else { $(.carousel).carousel({ pause: false }); } $(video).prop(volume, 0); $(video).on(click, function () { $(this).get(0).pause(); $(.videoPlayButton).removeClass(playing); }); $(.videoPlayButton).on(click, function () { $(video).get(0).play(); $(this).addClass(playing); }); $(video).on(ended, function () { $(this).get(0).load(); $(.videoPlayButton).removeClass(playing); }); $(.sound-button).on(click, function () { var HTMLVideoElement document.getElementById(slideVideo); var video $(HTMLVideoElement); if (video.prop(volume) 0) { HTMLVideoElement.controls true; // allow video controls HTMLVideoElement.muted false; HTMLVideoElement.volume 1 video.prop(volume, 1); HTMLVideoElement.controls false // hide controls after chnging $(this).find(i).removeClass(fa-volume-off).addClass(fa-volume-up); } else { HTMLVideoElement.controls false; HTMLVideoElement.muted true; HTMLVideoElement.volume 0; video.prop(volume, 0); $(this).find(i).removeClass(fa-volume-up).addClass(fa-volume-off); } }); $(.size-button).on(click, function () { var videoContainer $(.layer-back .item); if (videoContainer.hasClass(full-screen)) { videoContainer.removeClass(full-screen); $(body).removeClass(full-screen); $(.parallax).removeClass(full-screen); $(.parallax .layer-back).removeClass(full-screen); $(this).find(i).removeClass(fa-compress).addClass(fa-expand); } else { videoContainer.addClass(full-screen); $(body).addClass(full-screen); $(.parallax).addClass(full-screen); $(.parallax .layer-back).addClass(full-screen); $(this).find(i).removeClass(fa-expand).addClass(fa-compress); } }); $(window).on(scroll, function () { var btm ($(.layer-back .item).height() - $(window).scrollTop()) - $(.head-menu.navbar).height(); $(.videoPlayButton).css(bottom, (btm > 78) ? (btm / 2 - 34) : 10); }); });/script>script src/Scripts/owl-carousel/owl.carousel.js typetext/javascript>/script> style> .slide-preview .slide-text-wrapper.effect-5 { margin: 0 auto; left:0; right: 0; top: 0; bottom: 0; } /style>div classclear>/div> /div> /div> div classlayer-base> div classcotainer-fluid no-padding homepage-container> div classhomepage-intro-container> div classcontainer> div classcontainer>div classrow>div classcol-sm-4 col-sm-push-8 styletext-align: center;>div classcol-sm-12 styletext-align: center;>span stylefont-size: 14pt;> em>Dave & Kate Harness/em> /span>/div>img srchttps://s3.amazonaws.com/fh-content/release/Content/Media/HarnessFuneralHomeandCremationServices/DaveKate2.jpg width332 height219>/div>div classcol-sm-8 col-sm-pull-4>h1 styletext-align: center;>Family Owned & Operated/h1>p styletext-align: center;>“strong>It has always been, and will always be, our goal to be a service to this community./strong> Our family has been serving your families for over a hundred years through 5 generations. We always do our very best to provide service that is beyond expectation, delivered with the compassion and professionalism, that will make the hardest of times a little easier. We guide you through the necessary planning and take care of every detail. We won’t compromise quality and pledge our honesty and integrity. We are very proud of what we do and promise that we will take care of your loved ones with the respect and dignity that we would want our own loved ones to be treated.” /p>p styletext-align: center;>img srchttps://s3.amazonaws.com/fh-content/release/Content/Media/HarnessFuneralHomeandCremationServices/Shawn1.jpg width180 height180>img srchttps://s3.amazonaws.com/fh-content/release/Content/Media/HarnessFuneralHomeandCremationServices/Shane1.jpg width180 height180> img srchttps://s3.amazonaws.com/fh-content/release/Content/Media/HarnessFuneralHomeandCremationServices/Traci1.jpg width180 height180> /p>p styletext-align: center;>em> Shawn Sullivan /em>em>Shane Schrader Traci Chesterman /em>/p>/div>/div>/div> /div> /div> div classobituariesColumnWrapper container no-padding> div classobituariesColumn> div classheader data-aosfade-up>div classclearfix>div classcol-xs-12 text-center>h2>Recent Obituaries/h2>/div>/div>/div> div classcontainer-fluid no-padding> div classobituaries-carousel owl-carousel owl-theme obituariesList rowMode-2-Line> div classitem> div> div classitem-border> a href/obituaries/Larry-Richard-Smith?obId46558523#/obituaryInfo> div classob-image-wr> img altobituary image classlazyOwl https://d1q40j6jx1d8h6.cloudfront.net/Obituaries/46558523/Thumbnail.jpg data-srchttps://d1q40j6jx1d8h6.cloudfront.net/Obituaries/46558523/Thumbnail.webp onerrorthis.srchttps://d1v2hfhsvnke6s.cloudfront.net/Shared/images/no_avatar.webp /> /div> div classobituary-caption> h1>Larry Richard Smith/h1> /div> /a> /div> /div> div> div classitem-border> a href/obituaries/Dale-Leroy-Davis?obId46483309#/obituaryInfo> div classob-image-wr> img altobituary image classlazyOwl https://d1q40j6jx1d8h6.cloudfront.net/Obituaries/46483309/Thumbnail.jpg data-srchttps://d1q40j6jx1d8h6.cloudfront.net/Obituaries/46483309/Thumbnail.webp onerrorthis.srchttps://d1v2hfhsvnke6s.cloudfront.net/Shared/images/no_avatar.webp /> /div> div classobituary-caption> h1>Dale LeRoy Davis/h1> /div> /a> /div> /div> /div> div classitem> div> div classitem-border> a href/obituaries/Jacqueline-Butler?obId46448171#/obituaryInfo> div classob-image-wr> img altobituary image classlazyOwl https://d1q40j6jx1d8h6.cloudfront.net/Obituaries/46448171/Thumbnail.jpg data-srchttps://d1q40j6jx1d8h6.cloudfront.net/Obituaries/46448171/Thumbnail.webp onerrorthis.srchttps://d1v2hfhsvnke6s.cloudfront.net/Shared/images/no_avatar.webp /> /div> div classobituary-caption> h1>Jacqueline Butler/h1> /div> /a> /div> /div> div> div classitem-border> a href/obituaries/Marilyn-Mae-Morrison?obId46511790#/obituaryInfo> div classob-image-wr> img altobituary image classlazyOwl https://d1q40j6jx1d8h6.cloudfront.net/Obituaries/46511790/Thumbnail_1.jpg data-srchttps://d1q40j6jx1d8h6.cloudfront.net/Obituaries/46511790/Thumbnail_1.webp onerrorthis.srchttps://d1v2hfhsvnke6s.cloudfront.net/Shared/images/no_avatar.webp /> /div> div classobituary-caption> h1>Marilyn Mae Morrison/h1> /div> /a> /div> /div> /div> div classitem> div> div classitem-border> a href/obituaries/David-Lowell-Rockafellow?obId46448245#/obituaryInfo> div classob-image-wr> img altobituary image classlazyOwl https://d1q40j6jx1d8h6.cloudfront.net/Obituaries/46448245/Thumbnail.png data-srchttps://d1q40j6jx1d8h6.cloudfront.net/Obituaries/46448245/Thumbnail.webp onerrorthis.srchttps://d1v2hfhsvnke6s.cloudfront.net/Shared/images/no_avatar.webp /> /div> div classobituary-caption> h1>David Lowell Rockafellow/h1> /div> /a> /div> /div> div> div classitem-border> a href/obituaries/Beatrice-Noteboom?obId46510259#/obituaryInfo> div classob-image-wr> img altobituary image classlazyOwl https://d1q40j6jx1d8h6.cloudfront.net/Obituaries/46510259/Thumbnail.JPG data-srchttps://d1q40j6jx1d8h6.cloudfront.net/Obituaries/46510259/Thumbnail.webp onerrorthis.srchttps://d1v2hfhsvnke6s.cloudfront.net/Shared/images/no_avatar.webp /> /div> div classobituary-caption> h1>Beatrice Noteboom/h1> /div> /a> /div> /div> /div> div classitem> div> div classitem-border> a href/obituaries/Mary-Edna-Fowlkes?obId46354561#/obituaryInfo> div classob-image-wr> img altobituary image classlazyOwl https://d1q40j6jx1d8h6.cloudfront.net/Obituaries/46354561/Thumbnail.jpg data-srchttps://d1q40j6jx1d8h6.cloudfront.net/Obituaries/46354561/Thumbnail.webp onerrorthis.srchttps://d1v2hfhsvnke6s.cloudfront.net/Shared/images/no_avatar.webp /> /div> div classobituary-caption> h1>Mary Edna Fowlkes/h1> /div> /a> /div> /div> div> div classitem-border> a href/obituaries/Monte-Clark-Green?obId46471323#/obituaryInfo> div classob-image-wr> img altobituary image classlazyOwl https://d1q40j6jx1d8h6.cloudfront.net/Obituaries/46471323/Thumbnail.jpg data-srchttps://d1q40j6jx1d8h6.cloudfront.net/Obituaries/46471323/Thumbnail.webp onerrorthis.srchttps://d1v2hfhsvnke6s.cloudfront.net/Shared/images/no_avatar.webp /> /div> div classobituary-caption> h1>Monte Clark Green/h1> /div> /a> /div> /div> /div> div classitem> div> div classitem-border> a href/obituaries/Charles-Kenneth-Hood?obId46266755#/obituaryInfo> div classob-image-wr> img altobituary image classlazyOwl https://d1q40j6jx1d8h6.cloudfront.net/Obituaries/46266755/Thumbnail.jpg data-srchttps://d1q40j6jx1d8h6.cloudfront.net/Obituaries/46266755/Thumbnail.webp onerrorthis.srchttps://d1v2hfhsvnke6s.cloudfront.net/Shared/images/no_avatar.webp /> /div> div classobituary-caption> h1>Charles Kenneth Hood/h1> /div> /a> /div> /div> div> div classitem-border> a href/obituaries/Kasandra-Rose-Brewer?obId46225407#/obituaryInfo> div classob-image-wr> img altobituary image classlazyOwl https://d1q40j6jx1d8h6.cloudfront.net/Obituaries/46225407/Thumbnail.png data-srchttps://d1q40j6jx1d8h6.cloudfront.net/Obituaries/46225407/Thumbnail.webp onerrorthis.srchttps://d1v2hfhsvnke6s.cloudfront.net/Shared/images/no_avatar.webp /> /div> div classobituary-caption> h1>Kasandra Rose Brewer/h1> /div> /a> /div> /div> /div> div classitem> div> div classitem-border> a href/obituaries/James-Lee-Causey?obId46490162#/obituaryInfo> div classob-image-wr> img altobituary image classlazyOwl https://d1q40j6jx1d8h6.cloudfront.net/Obituaries/46490162/Thumbnail.jpg data-srchttps://d1q40j6jx1d8h6.cloudfront.net/Obituaries/46490162/Thumbnail.webp onerrorthis.srchttps://d1v2hfhsvnke6s.cloudfront.net/Shared/images/no_avatar.webp /> /div> div classobituary-caption> h1>James Lee Causey/h1> /div> /a> /div> /div> div> div classitem-border> a href/obituaries/Walter-Burnham-Buckingham?obId46264006#/obituaryInfo> div classob-image-wr> img altobituary image classlazyOwl https://d1q40j6jx1d8h6.cloudfront.net/Obituaries/46264006/Thumbnail.jpg data-srchttps://d1q40j6jx1d8h6.cloudfront.net/Obituaries/46264006/Thumbnail.webp onerrorthis.srchttps://d1v2hfhsvnke6s.cloudfront.net/Shared/images/no_avatar.webp /> /div> div classobituary-caption> h1>Walter Burnham Buckingham/h1> /div> /a> /div> /div> /div> div classitem> div> div classitem-border> a href/obituaries/Lloyd-Steven-Roduner?obId46410090#/obituaryInfo> div classob-image-wr> img altobituary image classlazyOwl https://d1q40j6jx1d8h6.cloudfront.net/Obituaries/46410090/Thumbnail.jpg data-srchttps://d1q40j6jx1d8h6.cloudfront.net/Obituaries/46410090/Thumbnail.webp onerrorthis.srchttps://d1v2hfhsvnke6s.cloudfront.net/Shared/images/no_avatar.webp /> /div> div classobituary-caption> h1>Lloyd Steven Roduner/h1> /div> /a> /div> /div> div> div classitem-border> a href/obituaries/Roland-Llewellyn-Pritchard?obId46332240#/obituaryInfo> div classob-image-wr> img altobituary image classlazyOwl https://d1q40j6jx1d8h6.cloudfront.net/Obituaries/46332240/Thumbnail.jpg data-srchttps://d1q40j6jx1d8h6.cloudfront.net/Obituaries/46332240/Thumbnail.webp onerrorthis.srchttps://d1v2hfhsvnke6s.cloudfront.net/Shared/images/no_avatar.webp /> /div> div classobituary-caption> h1>Roland Llewellyn Pritchard/h1> /div> /a> /div> /div> /div> div classitem> div> div classitem-border> a href/obituaries/Vicky-Lee-Westberg?obId46312687#/obituaryInfo> div classob-image-wr> img altobituary image classlazyOwl https://d1q40j6jx1d8h6.cloudfront.net/Obituaries/46312687/Thumbnail.jpg data-srchttps://d1q40j6jx1d8h6.cloudfront.net/Obituaries/46312687/Thumbnail.webp onerrorthis.srchttps://d1v2hfhsvnke6s.cloudfront.net/Shared/images/no_avatar.webp /> /div> div classobituary-caption> h1>Vicky Lee Westberg/h1> /div> /a> /div> /div> div> div classitem-border> a href/obituaries/Silverio-Maya?obId45891696#/obituaryInfo> div classob-image-wr> img altobituary image classlazyOwl https://d1q40j6jx1d8h6.cloudfront.net/Obituaries/45891696/Thumbnail.JPG data-srchttps://d1q40j6jx1d8h6.cloudfront.net/Obituaries/45891696/Thumbnail.webp onerrorthis.srchttps://d1v2hfhsvnke6s.cloudfront.net/Shared/images/no_avatar.webp /> /div> div classobituary-caption> h1>Silverio Maya/h1> /div> /a> /div> /div> /div> div classitem> div> div classitem-border> a href/obituaries/Francine-Lee-Johannson?obId45832523#/obituaryInfo> div classob-image-wr> img altobituary image classlazyOwl https://d1q40j6jx1d8h6.cloudfront.net/Obituaries/45832523/Thumbnail_1.JPG data-srchttps://d1q40j6jx1d8h6.cloudfront.net/Obituaries/45832523/Thumbnail_1.webp onerrorthis.srchttps://d1v2hfhsvnke6s.cloudfront.net/Shared/images/no_avatar.webp /> /div> div classobituary-caption> h1>Francine Lee Johannson/h1> /div> /a> /div> /div> div> div classitem-border> a href/obituaries/Alyssa-Paige-Reardon?obId45809419#/obituaryInfo> div classob-image-wr> img altobituary image classlazyOwl https://d1q40j6jx1d8h6.cloudfront.net/Obituaries/45809419/Thumbnail.jpg data-srchttps://d1q40j6jx1d8h6.cloudfront.net/Obituaries/45809419/Thumbnail.webp onerrorthis.srchttps://d1v2hfhsvnke6s.cloudfront.net/Shared/images/no_avatar.webp /> /div> div classobituary-caption> h1>Alyssa Paige Reardon/h1> /div> /a> /div> /div> /div> div classitem> div> div classitem-border> a href/obituaries/Jerry-Dee-Gladson?obId45613617#/obituaryInfo> div classob-image-wr> img altobituary image classlazyOwl https://d1q40j6jx1d8h6.cloudfront.net/Obituaries/45613617/Thumbnail_1.jpg data-srchttps://d1q40j6jx1d8h6.cloudfront.net/Obituaries/45613617/Thumbnail_1.webp onerrorthis.srchttps://d1v2hfhsvnke6s.cloudfront.net/Shared/images/no_avatar.webp /> /div> div classobituary-caption> h1>Jerry Dee Gladson/h1> /div> /a> /div> /div> div> div classitem-border> a href/obituaries/Billie-Charlene-Little?obId45514275#/obituaryInfo> div classob-image-wr> img altobituary image classlazyOwl https://d1q40j6jx1d8h6.cloudfront.net/Obituaries/45514275/Thumbnail_1.jpg data-srchttps://d1q40j6jx1d8h6.cloudfront.net/Obituaries/45514275/Thumbnail_1.webp onerrorthis.srchttps://d1v2hfhsvnke6s.cloudfront.net/Shared/images/no_avatar.webp /> /div> div classobituary-caption> h1>Billie Charlene Little/h1> /div> /a> /div> /div> /div> /div> /div>script typetext/javascript> $(function () { var $this this; this.search $(#obituarySearch); this.search.unbind(blur.search).bind(blur.search, function () { clearTimeout($this.searchTimeout); }).unbind(keydown.search).bind(keydown.search, function (e) { clearTimeout($this.searchTimeout); if (e.keyCode 38 || e.keyCode 40) e.preventDefault(); }).unbind(keyup.search).bind(keyup.search, function () { clearTimeout($this.searchTimeout); $this.searchTimeout setTimeout(function () { if ($this.search.val().trim().length > 2) { $(.obituaries-carousel).addClass(searching); $.ajax({ type: GET, url: /FunHelper/Obituaries_QuickSearch, processData: true, contentType: application/json; charsetutf-8, data: { domainId: 87bff9ed-88dc-46a3-8961-a536b45dc6bb, text: $this.search.val() }, dataType: text, success: function (json) { var obituaries eval(json); var owl $(.obituaries-carousel).removeClass(searching); owl.html(); if (obituaries.length > 0) { for (var i 0; i obituaries.length; i++) { var obituaryUrl /obituaries/ + obituariesi.fullName.urlifyString() + ?obId + obituariesi.id + #/obituaryInfo; var item div classitem> + div classitem-border> + div> + a href + obituaryUrl + >div classob-image-wr>img classlazyOwl altalt data-src + obituariesi.src + >/div>/a> + /div> + div classobituary-caption>h1> + obituariesi.fullName + /h1>/div> + /div> + /div>; owl.append(item); } } else { var item div classitem not-found>...No results found for span classtext> + $this.search.val() + /span>/div>; owl.append(item); } owl.data(owl-init, false); if (typeof obituariesInit function) { obituariesInit(); } } }); } }, 300); }); if ($.fn.owlCarousel) { $.fn.owlCarousel.options.beforeInit function () { this.updateItems(); var rowCount 2; if (rowCount 0) return; var colCount this.options.items; var items $(.obituaries-carousel .item-border); var groupSize rowCount * colCount; var groupLength Math.ceil(items.length / groupSize); var $items ; var itemsLength $(.obituaries-carousel .item).length; for (var i 0; i itemsLength; i++) { $items.push($(div>).addClass(item)); } for (var g 0; g groupLength; g++) { var resX 0; var resY 0; for (var x 0; x colCount; x++) { for (var y 0; y rowCount; y++) { var absX g * colCount + x; var absResX g * colCount + resX; var el $(.obituaries-carousel>.item:eq( + absX + )>div:eq( + y + )); if (el.length) { $itemsabsResX.append(el.clone()); resX++; absResX g * colCount + resX if (resX colCount || absResX itemsLength) { resY++; resX 0; } } } } } $(.obituaries-carousel).empty(); $(.obituaries-carousel).append($items); }; } });/script> div classcol-xs-12 obituariesFooter text-center> div classsearchBox> input typetext idobituarySearch placeholderSearch... titleSearch... autocompleteoff> /div> a href../obituaries/obituary-listings classfun-button>View All/a> /div> /div> /div> div classcontainer-fluid no-padding> div classrow flex> div classcol-xs-12 col-md-6 home-flowers-email flowers> div> span classsub-header data-aosfade-up>Show your support/span>span classheader data-aosfade-up>Order Flowers/span>span classcontent data-aosfade-up>We offer a full range of gifts to help comfort and support those who need it the most delivered direct from your local florist./span>a classfun-button hrefhttps://harness-funeral-home-buffalo.tributestore.com?srcorder-flowers data-aosfade-up>Shop Now/a> /div> /div> div classcol-xs-12 col-md-6 home-flowers-email email-signup> div classdailySubsControls iddays365> span classsub-header>365 Days of Grief & Healing/span> span classheader>Email Sign-up/span> span classcontent>Receive consistent support through our daily email to help you cope, heal, and grieve./span> input typetext classfun-form-control dailySubsName watermark titleName placeholderName> input typetext classfun-form-control dailySubsEmail watermark titleEmail placeholderEmail Address> button classfun-button email-button>Sign Up/button> div classclear>/div> div classtip>We wont share your email/div> /div> /div> /div> /div> div classhome-services> h2>How we can help/h2> div classrow> style typetext/css> @media only screen and (max-width: 500px) { .interactive-block { width: 100%; } } @media only screen and (min-width: 501px) { .interactive-block { float: left; width: -webkit-calc((100% - 1px) / 2); width: calc((100% - 1px) / 2); } } @media only screen and (min-width: 992px) { .interactive-block { float: left; width: -webkit-calc((100% - 1px) / 5); width: calc((100% - 1px) / 5); } } .interactive-block-2, .interactive-block-3 { width: 100%; float: left; } @media (min-width: 501px) { .interactive-block-2 { width: 50%; } .interactive-block-3 { width: 33.33333333%; } } @media (max-width: 500px) { .interactive-block-2 > div, .interactive-block-3 > div { padding: 0 !important; } }/style>div classgeneral-summary-wrapper> div stylemargin: 0 -10px 0 -10px; width: calc(100% + 20px)> div classinteractive-block no-padding data-aos'fade-left' data-aos-delay'300'> div stylepadding: 20px 10px 0px 10px> a href/services-we-offer/where-to-start> div classgrid> figure classeffect-ming> img srchttps://d1q40j6jx1d8h6.cloudfront.net/Images/GeneralSummary/f2ad9a9e-e20a-4e8f-a322-c9b66af37794.webp?date:639008315404437570 altWHERE TO START loadinglazy /> figcaption> h2>WHERE TO START/h2> p>Learn More/p> /figcaption> /figure> /div> /a> /div> /div> div classinteractive-block no-padding data-aos'fade-left' data-aos-delay'300'> div stylepadding: 20px 10px 0px 10px> a href/pre-plan/why-plan-ahead> div classgrid> figure classeffect-ming> img srchttps://d1q40j6jx1d8h6.cloudfront.net/Images/GeneralSummary/1cdec325-bd13-4e88-8496-101696c6f65f.webp?date:639008315404466332 altWHY PLAN AHEAD? loadinglazy /> figcaption> h2>WHY PLAN AHEAD?/h2> p>Learn More/p> /figcaption> /figure> /div> /a> /div> /div> div classinteractive-block no-padding data-aos'fade-left' data-aos-delay'300'> div stylepadding: 20px 10px 0px 10px> a href/resources/faqs> div classgrid> figure classeffect-ming> img srchttps://d1q40j6jx1d8h6.cloudfront.net/Images/GeneralSummary/0041810b-28fd-4f6e-9e7d-5c90d77f4380.webp?date:639008315404495156 altFAQS loadinglazy /> figcaption> h2>FAQS/h2> p>Learn More/p> /figcaption> /figure> /div> /a> /div> /div> div classinteractive-block no-padding data-aos'fade-left' data-aos-delay'300'> div stylepadding: 20px 10px 0px 10px> a href/about-us/testimonials> div classgrid> figure classeffect-ming> img srchttps://d1q40j6jx1d8h6.cloudfront.net/Images/GeneralSummary/4540630e-bfb4-4bb3-8c1b-49eac7fce2e4.webp?date:639008315404535118 altTESTIMONIALS loadinglazy /> figcaption> h2>TESTIMONIALS/h2> p>Learn More/p> /figcaption> /figure> /div> /a> /div> /div> div classinteractive-block no-padding data-aos'fade-left' data-aos-delay'300'> div stylepadding: 20px 10px 0px 10px> a href/services-we-offer/final-interment> div classgrid> figure classeffect-none> img srchttps://d1q40j6jx1d8h6.cloudfront.net/Images/GeneralSummary/fa32eccb-a9a4-4d8c-8b18-ae9303911b95.webp?date:639008315404563900 altFinal Interment loadinglazy /> figcaption> h2>Final Interment/h2> /figcaption> /figure> /div> /a> /div> /div> /div> div classclearfix>/div>/div> /div> /div>/div> script typetext/javascript> var locations {address:351 N Adams Avenue,lat:44.3512121000000000,lng:-106.7000909999999900,name:Harness Funeral Home,index:0}; $(document).ready(function() { var settings { beforeOpen: function() { var $superbox $(#superbox); var address $(.address-string, $superbox).val(); var lat $(.address-coordinate-latitude, $superbox).val() * 1; var lng $(.address-coordinate-longitude, $superbox).val() * 1; var map $(.home-map, $superbox)0; if (lat && lng) { FrazerMaps.ShowEmbed(map, { lan: lat, lng: lng }); } else { FrazerMaps.ShowEmbed(map, { address: address }); } }, boxWidth: 760, // Default width of the box boxHeight: 320 // Default height of the box }; $(a.homeMap).each(function() { this._relSettings ; if (!!$.fn.superbox) $(this).superbox(content, settings); }); $(#locationsCarousel .carousel-indicators li).click(function(e) { var num $(e.target).attr(data-slide-to); if (locations.length > num) { if (API.showFuneralHomeName) { FrazerMaps.UpdateMap($(#map_canvas), { address: locationsnum.address, name: locationsnum.name}); } else { FrazerMaps.UpdateMap($(#map_canvas), { lan: locationsnum.lat, lng: locationsnum.lng }); } } }); const mapCanvas document.getElementById(map_canvas); const observer new IntersectionObserver((entries, observer) > { entries.forEach(entry > { if (entry.isIntersecting) { if (API.showFuneralHomeName) { FrazerMaps.ShowEmbed($(#map_canvas), { address: locations0.address, name: locations0.name }); } else { FrazerMaps.ShowEmbed($(#map_canvas), { lan: locations0.lat, lng: locations0.lng }); } observer.unobserve(mapCanvas); } }); }, { threshold: 0.1 }); observer.observe(mapCanvas); }); /* functions */ function setDirection(address) { window.open(https://maps.google.com/maps?fd&sources_d&saddr + $(#superbox .fromAddress).val() +&daddr +address); } /script> div classlocations> div idmap_wrapper classlocations> div idmap_canvas classmapping col-lg-9 col-md-8 col-sm-6 col-xs-12>/div> div idlocationsCarousel classcarousel slide col-lg-3 col-md-4 col-sm-6 col-xs-12 data-ridecarousel data-intervalfalse> !-- Wrapper for slides --> div classcarousel-inner> div classitem active> div classcontent> h5>Our Location/h5> p>Harness Funeral Home/p> p>351 N Adams Avenue/p> p>Buffalo, WY 82834 /p> p>Phone: (307) 684-2251/p> p>Fax: (307) 684-7107/p> a hrefhttps://www.google.com/maps/dir//44.3512121000000000,-106.7000909999999900/@44.3512121000000000,-106.7000909999999900 classbutton target_blank relnoopener>Get directions/a> div iddivMapAndDrivingDirection532076 styledisplay: none;> input classaddress-string typehidden value351 N Adams Avenue, Buffalo, WY 82834 /> input classaddress-coordinate-latitude typehidden value44.3512121000000000 /> input classaddress-coordinate-longitude typehidden value-106.7000909999999900 /> div classhome-map>/div> div classmap-info> div classcontactInfo> p>Harness Funeral Home/p> p>351 N Adams Avenue/p> p>Buffalo, WY 82834 /p> p>Phone: (307) 684-2251/p> p>Fax: (307) 684-7107/p> /div> h5>Driving Directions/h5> div classfind-direction> label>From:/label> input typetext classfromAddress titleAddres /> input classdirectionButton typebutton valueSubmit onclicksetDirection(https://www.google.com/maps/dir//44.3512121000000000,-106.7000909999999900/@44.3512121000000000,-106.7000909999999900); /> /div> /div> div classclear>/div> /div> /div> /div> /div> !-- Indicators --> /div> /div> /div> script typetext/javascript> $(document).ready(function () { $(.parallax .layer-back).parallax({ speed: 0.6 }); obituariesInit(); $(#locationsCarousel).carousel(pause); }); function obituariesInit() { var owl $(.obituaries-carousel); owl.owlCarousel({ lazyLoad: true, navigation: true, scrollPerPage: true, autoHeight: false, itemsCustom: 0, 1, 400, 2, 500, 3, 600, 4, 800, 5, 900, 6, 1200, 7, 1800, 8 }); }; function ObituariesLayoutFix() { $(#obitSearch); } function onSubscribeSuccess() { $(.email-button).html(Thank You!).css(background, none).css(cursor, default).css(border, none).attr(onclick, return false;).unbind(); } /script>div classcopyrights text-center> div classbottom-navigation> /div> div classcopyrights> p>script typetext/javascript>// !CDATA$(.home-services).before( p styletext-align:center;>a classfun-button hrefhttps://www.harnessfuneralhome.com/resources/obituary-writer>Obituary Writer/a>/p>);// >/script>/p> div classterms> script> $(function() { $(a.privacyPolicy, a.termsOfUse, a.accessibility).click(function() { var id $(this).attr(class); var popup $(# + id); if (popup.hasClass(base64)) { popup.html(atob(popup.html())).removeClass(base64); } }); }); window.setTermsHandler function () { setTimeout(function() { $(.modal-login-terms a, .donate-form__bottom-text a).click(function() { var id $(this).attr(href); var popup $(id); if (popup.hasClass(base64)) { popup.html(atob(popup.html())).removeClass(base64); } }); }, 500); } /script> a classprivacyPolicy relsuperboxcontent href#privacyPolicy>Privacy Policy/a> & a classtermsOfUse relsuperboxcontent href#termsOfUse>Terms of Use/a> | a classaccessibility relsuperboxcontent href#accessibility>Accessibility/a> div classbase64 styledisplay: none idprivacyPolicy> PHA+PHN0cm9uZz5UcmlidXRlIFRlY2hub2xvZ3kgUHJpdmFjeSBQb2xpY3k8L3N0cm9uZz48L3A+DQo8cD48ZW0+TGFzdCB1cGRhdGVkOiBBcHJpbCAyMCwgMjAyMzwvZW0+PGJyPjxicj5UcmlidXRlIFRlY2hub2xvZ3kgaXMgY29tbWl0dGVkIHRvIHByb3RlY3RpbmcgeW91ciBwZXJzb25hbCBpbmZvcm1hdGlvbi4gVGhpcyBQcml2YWN5IE5vdGljZSBkZXNjcmliZXMgdGhlIHBlcnNvbmFsIGluZm9ybWF0aW9uIHRoYXQgd2UgY29sbGVjdCBhYm91dCB5b3UsIGhvdyB3ZSB1c2UgYW5kIGRpc2Nsb3NlIHRoaXMgaW5mb3JtYXRpb24sIGFuZCB0aGUgc3RlcHMgd2UgdGFrZSB0byBwcm90ZWN0IHRoaXMgaW5mb3JtYXRpb24uIEZvciBwdXJwb3NlcyBvZiB0aGlzIFByaXZhY3kgTm90aWNlLCAoYSkgJmxkcXVvO3BlcnNvbmFsIGluZm9ybWF0aW9uJnJkcXVvOyBtZWFucyBhbnkgaW5mb3JtYXRpb24gdGhhdCByZWxhdGVzIHRvIHlvdSBhcyBhbiBpbmRpdmlkdWFsIGFuZCBjb3VsZCByZWFzb25hYmx5IGJlIHVzZWQgdG8gaWRlbnRpZnkgeW91IGFuZCAoYikgJmxkcXVvO1RyaWJ1dGUgVGVjaG5vbG9neSwmcmRxdW87ICZsZHF1bzt3ZSwmcmRxdW87ICZsZHF1bzt1cyZyZHF1bzsgYW5kICZsZHF1bztvdXImcmRxdW87IGVhY2ggcmVmZXIgdG8gdGhlIGxlZ2FsIGVudGl0eSBzcGVjaWZpZWQgaW4gdGhlICZsZHF1bztBcHBsaWNhYmxlIEVudGl0eSZyZHF1bzsgc2VjdGlvbiB0aGlzIFByaXZhY3kgTm90aWNlIGJlbG93LiBUaGlzIFByaXZhY3kgTm90aWNlIGFwcGxpZXMgdG8gb3VyIGNvbGxlY3Rpb24gYW5kIHVzZSBvZiBwZXJzb25hbCBpbmZvcm1hdGlvbiB0aHJvdWdoIHRoaXMgd2Vic2l0ZSBhbmQgYW55IHJlbGF0ZWQgd2Vic2l0ZXMsIGFwcGxpY2F0aW9ucywgdG9vbHMsIG9yIHBsYXRmb3JtcyAodGhlICZsZHF1bztTZXJ2aWNlcyZyZHF1bzspLCBhcyB3ZWxsIGFzIHRocm91Z2ggYW55IG90aGVyIG1lYW5zIHdoZXJlIGEgbGluayBvciByZWZlcmVuY2UgdG8gdGhpcyBQcml2YWN5IE5vdGljZSBpcyBwcm92aWRlZCBhdCB0aGUgdGltZSBvZiBjb2xsZWN0aW9uLjwvcD4NCjxwPjxzdHJvbmc+Jm5ic3A7PC9zdHJvbmc+PC9wPg0KPHA+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiB2ZXJkYW5hLCBnZW5ldmEsIHNhbnMtc2VyaWY7Ij48c3Ryb25nPk91ciBTZXJ2aWNlczwvc3Ryb25nPjwvc3Bhbj48L3A+DQo8cD48YnI+VHJpYnV0ZSBUZWNobm9sb2d5JnJzcXVvO3MgcHJpbWFyeSBidXNpbmVzcyBpcyBhcyBhIHNvZnR3YXJlLWFzLWEtc2VydmljZSBwcm92aWRlciBvZiBmdW5lcmFsIHRlY2hub2xvZ3kgc2VydmljZXMsIGluY2x1ZGluZyB3ZWJzaXRlLCBwYXltZW50IHByb2Nlc3NpbmcsIGxpZmUgaW5zdXJhbmNlIGFzc2lnbm1lbnRzLCBzZWFyY2ggZW5naW5lIG9wdGltaXphdGlvbiwgbWFya2V0aW5nIGFuZCBlY29tbWVyY2Ugc2VydmljZXMsIHRvIGZ1bmVyYWwgaG9tZXMgYW5kIG90aGVyIGZ1bmVyYWwgcHJvZmVzc2lvbmFscyAob3VyICZsZHF1bztDbGllbnRzJnJkcXVvOykuIEluIGNvbm5lY3Rpb24gd2l0aCB0aGlzIGZhY2V0IG9mIFRyaWJ1dGUgVGVjaG5vbG9neSZyc3F1bztzIGJ1c2luZXNzLCBUcmlidXRlIFRlY2hub2xvZ3kgY29sbGVjdHMgYW5kIHN0b3JlcyBwZXJzb25hbCBpbmZvcm1hdGlvbiByZWdhcmRpbmcgaW5kaXZpZHVhbHMgd2hvIHZpc2l0IGFuZCB1dGlsaXplIGNlcnRhaW4gZnVuY3Rpb25zIG9yIGZlYXR1cmVzIG9mIG91ciBhbmQgb3VyIENsaWVudHMmcnNxdW87IHdlYnNpdGVzICgmbGRxdW87RW5kIFVzZXJzJnJkcXVvOykuIFRoaXMgUHJpdmFjeSBOb3RpY2UgYXBwbGllcyB0byBUcmlidXRlIFRlY2hub2xvZ3kmcnNxdW87cyBjb2xsZWN0aW9uIGFuZCB1c2Ugb2YgQ2xpZW50IGFuZCBFbmQgVXNlciBwZXJzb25hbCBpbmZvcm1hdGlvbiBidXQgbm90IHRvIG91ciBDbGllbnRzJnJzcXVvOyBvciBhbnkgb3RoZXIgdGhpcmQgcGFydHkmcnNxdW87cyBjb2xsZWN0aW9uIG9yIHVzZSBvZiBzdWNoIHBlcnNvbmFsIGluZm9ybWF0aW9uLjxicj48YnI+VHJpYnV0ZSBUZWNobm9sb2d5IGFsc28gbWFpbnRhaW5zIGEgd2ViIHJlcG9zaXRvcnksIHRoZSBUcmlidXRlIEFyY2hpdmUsIGNvbnRhaW5pbmcgb2JpdHVhcmllcywgYSBsaXN0aW5nIG9mIGZ1bmVyYWwgaG9tZXMsIGFuZCBvdGhlciBmdW5lcmFsLXJlbGF0ZWQgY29udGVudCBpbiBjb25uZWN0aW9uIHdpdGggd2hpY2ggcGVyc29uYWwgaW5mb3JtYXRpb24gbWF5IGJlIGNvbGxlY3RlZCBmcm9tIGluZGl2aWR1YWxzICgmbGRxdW87VHJpYnV0ZSBVc2VycyZyZHF1bzspLiBUaGlzIFByaXZhY3kgTm90aWNlIGFsc28gYXBwbGllcyB0byBUcmlidXRlIFRlY2hub2xvZ3kmcnNxdW87cyBjb2xsZWN0aW9uIGFuZCB1c2Ugb2YgcGVyc29uYWwgaW5mb3JtYXRpb24gZnJvbSBUcmlidXRlIFVzZXJzIGFuZCBvdGhlciBpbmRpdmlkdWFscyB3aG8gaW50ZXJhY3QgZGlyZWN0bHkgd2l0aCBUcmlidXRlIFRlY2hub2xvZ3kuPC9wPg0KPHA+Jm5ic3A7PC9wPg0KPHA+PHN0cm9uZz5QZXJzb25hbCBJbmZvcm1hdGlvbiBXZSBDb2xsZWN0PC9zdHJvbmc+PC9wPg0KPHA+PGJyPldoZW4geW91IGFjY2VzcyBvciB1c2UgdGhlIFNlcnZpY2VzIG9yIG90aGVyd2lzZSBpbnRlcmFjdCB3aXRoIHVzLCB3aGV0aGVyIGFzIGEgQ2xpZW50LCBFbmQgVXNlciwgVHJpYnV0ZSBVc2VyIG9yIG90aGVyIGluZGl2aWR1YWwsIHdlIG1heSBjb2xsZWN0IGNlcnRhaW4gY2F0ZWdvcmllcyBvZiBwZXJzb25hbCBpbmZvcm1hdGlvbiBhYm91dCB5b3UgZnJvbSBhIHZhcmlldHkgb2Ygc291cmNlcy48YnI+PGJyPkNhdGVnb3JpZXMgb2YgcGVyc29uYWwgaW5mb3JtYXRpb24gdGhhdCB3ZSBtYXkgY29sbGVjdCBmcm9tIHlvdSBkaXJlY3RseSBpbmNsdWRlOjwvcD4NCjx1bD4NCjxsaT5Db250YWN0IGluZm9ybWF0aW9uIChmb3IgZXhhbXBsZSwgbmFtZSwgcGhvbmUgbnVtYmVyLCBtYWlsaW5nIGFkZHJlc3MsIGVtYWlsIGFkZHJlc3MpPC9saT4NCjxsaT5QYXltZW50LXJlbGF0ZWQgZGV0YWlscyAoZm9yIGV4YW1wbGUsIGJpbGxpbmcgYWRkcmVzcyBhbmQgb3RoZXIgY3JlZGl0IGNhcmQgZGV0YWlscyk8L2xpPg0KPGxpPkFjY291bnQgaW5mb3JtYXRpb24gKGZvciBleGFtcGxlLCB1c2VybmFtZSBhbmQgcGFzc3dvcmQgYW5kIHRyYW5zYWN0aW9uIGhpc3RvcnkpPC9saT4NCjxsaT5Db21tdW5pY2F0aW9ucyAoZm9yIGV4YW1wbGUsIHN1Ym1pdHRlZCBxdWVzdGlvbnMgb3Igb3RoZXIgcG9zdHMsIG1hcmtldGluZyBwcmVmZXJlbmNlcyBhbmQgdXNlciBnZW5lcmF0ZWQgY29udGVudCBsaWtlIHBob3RvcyBhbmQgdmlkZW9zKTwvbGk+DQo8L3VsPg0KPHA+PGJyPkNhdGVnb3JpZXMgb2YgcGVyc29uYWwgaW5mb3JtYXRpb24gdGhhdCB3ZSBtYXkgY29sbGVjdCBhdXRvbWF0aWNhbGx5IHdoZW4geW91IHVzZSB0aGUgU2VydmljZXMgaW5jbHVkZTo8L3A+DQo8dWw+DQo8bGk+VGVjaG5pY2FsIGluZm9ybWF0aW9uIChmb3IgZXhhbXBsZSwgYnJvd3NlciB0eXBlLCBJUCBhZGRyZXNzLCBjb29raWVzLCBhbmQgb3BlcmF0aW5nIHN5c3RlbSk8L2xpPg0KPGxpPlVzYWdlIGluZm9ybWF0aW9uIChmb3IgZXhhbXBsZSwgcGFnZXMgdmlzaXRlZCwgc2VhcmNoIHRlcm1zIGVudGVyZWQsIGFuZCBmcmVxdWVuY3kgb2YgdmlzaXRzKTwvbGk+DQo8L3VsPg0KPHA+PGJyPkNhdGVnb3JpZXMgb2YgcGVyc29uYWwgaW5mb3JtYXRpb24gdGhhdCB3ZSBtYXkgY29sbGVjdCBmcm9tIG90aGVyIHNvdXJjZXMsIGluY2x1ZGluZyBmcm9tIG91ciBDbGllbnRzIGluIGNvbm5lY3Rpb24gd2l0aCB0aGVpciB1c2Ugb2YgdGhlIFNlcnZpY2VzLCBpbmNsdWRlOjwvcD4NCjx1bD4NCjxsaT5FbmQgVXNlciBjb250YWN0IGluZm9ybWF0aW9uIChmb3IgZXhhbXBsZSwgbmFtZSwgcGhvbmUgbnVtYmVyLCBtYWlsaW5nIGFkZHJlc3MsIGVtYWlsIGFkZHJlc3MpPC9saT4NCjxsaT5FbmQgVXNlciBwYXltZW50LXJlbGF0ZWQgZGV0YWlscyAoZm9yIGV4YW1wbGUsIGJpbGxpbmcgYWRkcmVzcyBhbmQgb3RoZXIgY3JlZGl0IGNhcmQgZGV0YWlscyk8L2xpPg0KPGxpPkVuZCBVc2VyIGZ1bmVyYWwgY29udHJpYnV0aW9ucywgaW5jbHVkaW5nIHRyaWJ1dGUgdmlkZW8gZGF0YSwgZGF0YSBlbnRlcmVkIGluIGZ1bmVyYWwgcmVnaXN0ZXIgYm9va3MsIG9iaXR1YXJpZXMgYW5kIHBvc3RzIGFuZCBjb21tZW50czwvbGk+DQo8bGk+RW5kIFVzZXIgZnVuZXJhbCBhZG1pbmlzdHJhdGlvbiBkYXRhLCBpbmNsdWRpbmcgbGlmZSBpbnN1cmFuY2UgY2xhaW0gZm9ybXMgYW5kIGFmZmlkYXZpdHMgdG8gZW5zdXJlIGRpc3BlcnNhbCBvZiBmdW5kcyB0byBjb3ZlciBmdW5lcmFsIGNvc3RzIGFuZCBkYXRhIHJlcXVpcmVkIHRvIGZpbGUgZGVhdGggY2VydGlmaWNhdGVzPC9saT4NCjwvdWw+DQo8cD48YnI+V2UgdXNlIEdvb2dsZSBBbmFseXRpY3MgdG8gY29sbGVjdCBhbmQgYW5hbHl6ZSBpbmZvcm1hdGlvbiBhYm91dCB1c2Ugb2YgdGhlIFNlcnZpY2VzIGFuZCB0byBoZWxwIHVzIHVuZGVyc3RhbmQgYWN0aXZpdGllcyBhbmQgdHJlbmRzLiBUaGlzIGluY2x1ZGVzIHVzZSBvZiBHb29nbGUgQW5hbHl0aWNzIHBlcmZvcm1hbmNlIHJlcG9ydHMgcmVsYXRpbmcgdG8gZGVtb2dyYXBoaWNzIGFuZCBpbnRlcmVzdHMuIEFzIHBhcnQgb2YgdGhpcyBzZXJ2aWNlLCB3ZSBzaGFyZSBhIHVuaXF1ZSBpZGVudGlmaWVyIHdpdGggR29vZ2xlIEFuYWx5dGljcy4gWW91IG1heSBvcHQtb3V0IG9mIEdvb2dsZSBBbmFseXRpY3MgYnkgaW5zdGFsbGluZyBhIEdvb2dsZSBBbmFseXRpY3Mgb3B0LW91dCBicm93c2VyIGFkZC1vbiBhdmFpbGFibGUgZm9yIGRvd25sb2FkIGhlcmU6Jm5ic3A7PGEgaHJlZj0iaHR0cHM6Ly90b29scy5nb29nbGUuY29tL2RscGFnZS9nYW9wdG91dCI+aHR0cHM6Ly90b29scy5nb29nbGUuY29tL2RscGFnZS9nYW9wdG91dDwvYT4uPGJyPjxicj5GaW5hbGx5LCB3ZSBtYXkgY29sbGVjdCBwZXJzb25hbCBpbmZvcm1hdGlvbiBwdXJzdWFudCB0byBhIGxlZ2FsIG9yIGNvbnRyYWN0dWFsIHJlcXVpcmVtZW50LCBhbmQgZmFpbHVyZSB0byBwcm92aWRlIHN1Y2ggaW5mb3JtYXRpb24gbWF5IGltcGFjdCBvdXIgYWJpbGl0eSB0byBmdWxmaWxsIG91ciBvYmxpZ2F0aW9ucy48L3A+DQo8cD48c3Ryb25nPiZuYnNwOzwvc3Ryb25nPjwvcD4NCjxwPjxzdHJvbmc+SG93IFdlIFVzZSBZb3VyIFBlcnNvbmFsIEluZm9ybWF0aW9uPC9zdHJvbmc+PC9wPg0KPHA+PGJyPldlIG1heSB1c2UgdGhlIHBlcnNvbmFsIGluZm9ybWF0aW9uIHdlIGNvbGxlY3QgZm9yIHRoZSBmb2xsb3dpbmcgcHVycG9zZXM6PC9wPg0KPHA+Jm5ic3A7PC9wPg0KPHVsPg0KPGxpPjxzdHJvbmc+UHJvdmlkZSBhbmQgaW1wcm92ZSB0aGUgU2VydmljZXMuJm5ic3A7PC9zdHJvbmc+V2UgbWF5IHVzZSB5b3VyIHBlcnNvbmFsIGluZm9ybWF0aW9uIHRvIHByb3ZpZGUgYW5kIGltcHJvdmUgdGhlIFNlcnZpY2VzLCBpbmNsdWRpbmcgdG8gZnVsZmlsbCB5b3VyIG9yZGVycyBhbmQgcmVxdWVzdHMgYW5kIHRvIHBvc3QgeW91ciBjb21tZW50cyBhbmQgb3RoZXIgZnVuZXJhbCBjb250cmlidXRpb25zLiBXZSBtYXkgYWxzbyB1c2UgeW91ciBwZXJzb25hbCBpbmZvcm1hdGlvbiBmb3IgdGhlIGFkbWluaXN0cmF0aW9uIG9mIG91ciBidXNpbmVzcywgZm9yIGJ1c2luZXNzIGRldmVsb3BtZW50IHB1cnBvc2VzLCBhbmQgdG8gZnVsZmlsbCBvdXIgY29udHJhY3R1YWwgb2JsaWdhdGlvbnMuPC9saT4NCjwvdWw+DQo8cD4mbmJzcDs8L3A+DQo8dWw+DQo8bGk+PHN0cm9uZz5SaXNrIG1pdGlnYXRpb24gYW5kIHNlY3VyaXR5LiZuYnNwOzwvc3Ryb25nPldlIG1heSB1c2UgeW91ciBwZXJzb25hbCBpbmZvcm1hdGlvbiBmb3IgcmlzayBtaXRpZ2F0aW9uIGFuZCBzZWN1cml0eSBwdXJwb3NlcywgaW5jbHVkaW5nIHRvIG1haW50YWluIHRoZSBwcml2YWN5IGFuZCBzZWN1cml0eSBvZiBvdXIgZGF0YSwgdG8gY29uZHVjdCBpbnRlcm5hbCBhdWRpdHMgb3IgaW52ZXN0aWdhdGlvbnMsIGZvciBkYXRhIHNlY3VyaXR5IHRlc3RpbmcgYW5kIGJ1c2luZXNzIGNvbnRpbnVpdHkgcGxhbm5pbmcgcHVycG9zZXMsIGFuZCB0byBlbnN1cmUgdGhlIHNhZmV0eSBhbmQgc2VjdXJpdHkgb2Ygb3VyIGFuZCBvdXIgYWZmaWxpYXRlcyZyc3F1bzsgQ2xpZW50cywgc3RhZmYgYW5kIGFzc2V0cy48L2xpPg0KPC91bD4NCjxwPiZuYnNwOzwvcD4NCjx1bD4NCjxsaT48c3Ryb25nPkNvbW11bmljYXRpb24gYW5kIG1hcmtldGluZy48L3N0cm9uZz4mbmJzcDtXZSBtYXkgdXNlIHlvdXIgcGVyc29uYWwgaW5mb3JtYXRpb24gdG8gY29tbXVuaWNhdGUgd2l0aCB5b3UgYWJvdXQgdGhlIFNlcnZpY2VzLCByZXNwb25kIHRvIHlvdXIgcXVlc3Rpb25zLCBvciBvZmZlciB5b3UgYWRkaXRpb25hbCBwcm9kdWN0cyBvciBzZXJ2aWNlcy48L2xpPg0KPC91bD4NCjxwPiZuYnNwOzwvcD4NCjx1bD4NCjxsaT48c3Ryb25nPkNvbXBseSB3aXRoIHRoZSBsYXcgYW5kIGV4ZXJjaXNlIG91ciByaWdodHMuJm5ic3A7PC9zdHJvbmc+V2UgbWF5IHVzZSB5b3VyIHBlcnNvbmFsIGluZm9ybWF0aW9uIGFzIHJlYXNvbmFibHkgbmVjZXNzYXJ5IHRvIGFzc2VzcyBhbmQgZW5zdXJlIGNvbXBsaWFuY2Ugd2l0aCBhcHBsaWNhYmxlIGxhd3MsIGxlZ2FsIHJlcXVpcmVtZW50cywgYW5kIGNvbXBhbnkgcG9saWNpZXM7IHRvIHByb3RlY3Qgb3VyIGFuZCBvdXIgYWZmaWxpYXRlcyZyc3F1bzsgYXNzZXRzIG9yIHRvIGludmVzdGlnYXRlIG9yIGRlZmVuZCBhZ2FpbnN0IGFueSBjbGFpbXMgb2YgaWxsZWdhbGl0eSBvciB3cm9uZ2RvaW5nIChpbmNsdWRpbmcgdG8gb2J0YWluIGxlZ2FsIGFkdmljZSBvciB0byBlc3RhYmxpc2gsIGV4ZXJjaXNlIG9yIGRlZmVuZCBsZWdhbCByaWdodHMpOyBhbmQgaW4gcmVzcG9uc2UgdG8gYSBjb3VydCBvcmRlciBvciBqdWRpY2lhbCBvciBvdGhlciBnb3Zlcm5tZW50IHN1YnBvZW5hIG9yIHdhcnJhbnQuPC9saT4NCjwvdWw+DQo8cD4mbmJzcDs8L3A+DQo8dWw+DQo8bGk+PHN0cm9uZz5Db3Jwb3JhdGUgdHJhbnNhY3Rpb24uJm5ic3A7PC9zdHJvbmc+V2UgbWF5IHVzZSB5b3VyIHBlcnNvbmFsIGluZm9ybWF0aW9uIGluIHRoZSBldmVudCB3ZSB1bmRlcnRha2Ugb3IgYXJlIGludm9sdmVkIGluIG9yIGNvbnRlbXBsYXRpbmcgYW55IG1lcmdlciwgYWNxdWlzaXRpb24sIHJlb3JnYW5pemF0aW9uLCBzYWxlIG9mIGFzc2V0cywgYmFua3J1cHRjeSwgb3IgaW5zb2x2ZW5jeSBldmVudC48L2xpPg0KPC91bD4NCjxwPiZuYnNwOzwvcD4NCjxwPldlIG1heSBhbHNvIGFnZ3JlZ2F0ZSwgYW5vbnltaXplLCBvciBvdGhlcndpc2UgZGUtaWRlbnRpZnkgeW91ciBwZXJzb25hbCBpbmZvcm1hdGlvbiBhbmQgdXNlIGl0IGZvciBhbnkgcHVycG9zZSBwZXJtaXR0ZWQgYnkgYXBwbGljYWJsZSBsYXcuPGJyPjxicj5Tb21lIGp1cmlzZGljdGlvbnMgcmVxdWlyZSB0aGF0IHdlIGRldGVybWluZSBhICZsZHF1bztsYXdmdWwgYmFzaXMmcmRxdW87IGZvciBwcm9jZXNzaW5nIHBlcnNvbmFsIGluZm9ybWF0aW9uLiBXaGVyZSBzdWNoIHJlcXVpcmVtZW50cyBleGlzdCwgd2UgcmVseSBvbiB0aGUgZm9sbG93aW5nIGxhd2Z1bCBiYXNlcyBmb3Igb3VyIHByb2Nlc3NpbmcgYWN0aXZpdGllczogdGhhdCB5b3UgaGF2ZSBjb25zZW50ZWQgdG8gdGhlIHByb2Nlc3Npbmc7IHRoYXQgdGhlIHByb2Nlc3NpbmcgaXMgbmVjZXNzYXJ5IGZvciB0aGUgcGVyZm9ybWFuY2Ugb2Ygb3VyIGNvbnRyYWN0IHdpdGggeW91OyB0aGF0IHdlIGhhdmUgYSBsZWdhbCBvYmxpZ2F0aW9uOyBvciB0aGF0IHdlIGhhdmUgYSBsZWdpdGltYXRlIGludGVyZXN0IGluIHByb3ZpZGluZyBhbmQgaW1wcm92aW5nIHRoZSBTZXJ2aWNlcyBhbmQgbWFuYWdpbmcgb3VyIGJ1c2luZXNzIG9wZXJhdGlvbnMuIE91ciBDbGllbnRzIGRldGVybWluZSB0aGUgbGF3ZnVsIGJhc2lzIGZvciBwcm9jZXNzaW5nIEVuZCBVc2VyIHBlcnNvbmFsIGluZm9ybWF0aW9uLjwvcD4NCjxwPiZuYnNwOzwvcD4NCjxwPjxzdHJvbmc+VXNlIG9mIENvb2tpZXM8L3N0cm9uZz48L3A+DQo8cD48YnI+V2hlbiB5b3UgdXNlIHRoZSBTZXJ2aWNlcywgd2UgbWF5IHNlbmQgb25lIG9yIG1vcmUgY29va2llcyAod2hpY2ggYXJlIHNtYWxsIHRleHQgZmlsZXMgY29udGFpbmluZyBhIHN0cmluZyBvZiBhbHBoYW51bWVyaWMgY2hhcmFjdGVycykgdG8geW91ciBjb21wdXRlciBvciBtb2JpbGUgZGV2aWNlLCB0byBoZWxwIGFuYWx5emUgb3VyIHdlYiBwYWdlIGZsb3csIGN1c3RvbWl6ZSBvdXIgY29udGVudCwgbWVhc3VyZSBwcm9tb3Rpb25hbCBlZmZlY3RpdmVuZXNzLCBhbmQgcHJvbW90ZSB0cnVzdCBhbmQgc2FmZXR5LiBZb3UgYXJlIGFsd2F5cyBmcmVlIHRvIGRlY2xpbmUgb3VyIGNvb2tpZXMgaWYgeW91ciBicm93c2VyIHBlcm1pdHMsIGFsdGhvdWdoIGRvaW5nIHNvIG1heSBpbnRlcmZlcmUgd2l0aCB5b3VyIGFiaWxpdHkgdG8gdXNlIHRoZSBTZXJ2aWNlcyBvciBjZXJ0YWluIGZlYXR1cmVzIG9mIHRoZSBTZXJ2aWNlcy4gV2UgbWF5IGFsc28gdXNlIEdvb2dsZSBBbmFseXRpY3Mgb3IgYSBzaW1pbGFyIHNlcnZpY2UgdGhhdCB1c2VzIGNvb2tpZXMgdG8gaGVscCB1cyBhbmFseXplIGhvdyB1c2VycyB1c2UgdGhlIFNlcnZpY2VzLjxicj48YnI+V2UgbWF5IGFsc28gYWxsb3cgY2VydGFpbiB0aGlyZCBwYXJ0aWVzIHN1Y2ggYXMgYWR2ZXJ0aXNpbmcsIGFuYWx5dGljcyBwcm92aWRlcnMsIGFuZCB3aWRnZXQgcHJvdmlkZXJzIHRvIHBsYWNlIGNvb2tpZXMgaW4gb3JkZXIgdG8gY29sbGVjdCBpbmZvcm1hdGlvbiBhYm91dCB5b3VyIG9ubGluZSBhY3Rpdml0aWVzIG92ZXIgdGltZSBhbmQgYWNyb3NzIGRpZmZlcmVudCB3ZWJzaXRlcyB3aGVuIHlvdSBhY2Nlc3Mgb3IgdXNlIHRoZSBTZXJ2aWNlcy4gQ3VycmVudGx5LCB2YXJpb3VzIGJyb3dzZXJzIG9mZmVyIGEgJmxkcXVvO0RvIE5vdCBUcmFjayZyZHF1bzsgb3B0aW9uLCBidXQgdGhlcmUgaXMgbm8gc3RhbmRhcmQgZm9yIGhvdyAmbGRxdW87RG8gTm90IFRyYWNrJnJkcXVvOyBzaG91bGQgd29yayBvbiBjb21tZXJjaWFsIHdlYnNpdGVzLiBEdWUgdG8gdGhlIGxhY2sgb2Ygc3VjaCBzdGFuZGFyZHMsIHRoZSBTZXJ2aWNlcywgaW5jbHVkaW5nIHRoaXMgd2Vic2l0ZSwgZG8gbm90IHJlc3BvbmQgdG8gJmxkcXVvO0RvIE5vdCBUcmFjayZyZHF1bzsgY29uc3VtZXIgYnJvd3NlciBzZXR0aW5ncy48L3A+DQo8cD4mbmJzcDs8L3A+DQo8cD48c3Ryb25nPkhvdyBhbmQgV2hlbiBXZSBEaXNjbG9zZSBZb3VyIFBlcnNvbmFsIEluZm9ybWF0aW9uPC9zdHJvbmc+PC9wPg0KPHA+PGJyPldlIG1heSBkaXNjbG9zZSB5b3VyIHBlcnNvbmFsIGluZm9ybWF0aW9uIHRvIHRoZSBmb2xsb3dpbmcgY2F0ZWdvcmllcyBvZiByZWNpcGllbnRzLCB0byBiZSB1c2VkIG9ubHkgZm9yIGxlZ2l0aW1hdGUgcHVycG9zZXMgaW4ga2VlcGluZyB3aXRoIHRoaXMgUHJpdmFjeSBOb3RpY2U6PC9wPg0KPHA+Jm5ic3A7PC9wPg0KPHVsPg0KPGxpPjxzdHJvbmc+R3JvdXAgY29tcGFuaWVzIGFuZCBhZmZpbGlhdGVzPC9zdHJvbmc+LiBXZSBtYXkgZGlzY2xvc2UsIHNoYXJlLCBvciB0cmFuc2ZlciB5b3VyIGluZm9ybWF0aW9uIHRvIGFueSBidXNpbmVzcyBlbnRpdHkgdGhhdCBpcyBwYXJ0IG9mIG91ciBjb3Jwb3JhdGUgZmFtaWx5LjwvbGk+DQo8L3VsPg0KPHA+Jm5ic3A7PC9wPg0KPHVsPg0KPGxpPjxzdHJvbmc+Q2xpZW50czwvc3Ryb25nPi4gV2UgbWF5IHNoYXJlIHlvdXIgaW5mb3JtYXRpb24gd2l0aCBvdXIgQ2xpZW50cyBpbiBjb25uZWN0aW9uIHdpdGggb3VyIENsaWVudHMmcnNxdW87IHByb3Zpc2lvbiBvZiBzZXJ2aWNlcyB0byB5b3UuPC9saT4NCjwvdWw+DQo8cD4mbmJzcDs8L3A+DQo8dWw+DQo8bGk+PHN0cm9uZz5TZXJ2aWNlIHByb3ZpZGVycyBhbmQgcHJvZmVzc2lvbmFsIGFkdmlzb3JzPC9zdHJvbmc+LiBXZSBtYXkgZGlzY2xvc2UgeW91ciBpbmZvcm1hdGlvbiB0byB0aGlyZCBwYXJ0eSB2ZW5kb3JzIHdobyBwcm92aWRlIHNlcnZpY2VzIGluIHN1cHBvcnQgb2Ygb3VyIGJ1c2luZXNzIG9wZXJhdGlvbnMsIHN1Y2ggYXMgd2Vic2l0ZSBkZXZlbG9wbWVudCBhbmQgaG9zdGluZywgcGF5bWVudCBwcm9jZXNzaW5nLCBtYXJrZXRpbmcgbWFuYWdlbWVudCwgc2VydmljZSBvcHRpbWl6YXRpb24sIHZlbmRvcnMgdGhhdCBmdWxmaWxsIG9yZGVycyBmb3IgZnVuZXJhbC1yZWxhdGVkIGl0ZW1zIHN1Y2ggYXMgZmxvd2VycywgYW5kIGRhdGEgYW5hbHl0aWNzLiBXZSBtYXkgYWxzbyBkaXNjbG9zZSB5b3VyIHBlcnNvbmFsIGluZm9ybWF0aW9uIHRvIHByb2Zlc3Npb25hbCBhZHZpc29ycyBzdWNoIGFzIG91ciBhdHRvcm5leXMsIGFjY291bnRhbnRzLCBhbmQgb3VycyBvciBFbmQgVXNlcnMmcnNxdW87IGluc3VyYW5jZSBwcm92aWRlcnMuPC9saT4NCjwvdWw+DQo8cD4mbmJzcDs8L3A+DQo8dWw+DQo8bGk+PHN0cm9uZz5QYXJ0aWVzIGludm9sdmVkIGluIGEgY29ycG9yYXRlIHRyYW5zYWN0aW9uPC9zdHJvbmc+LiBXZSBtYXkgZGlzY2xvc2UgeW91ciBpbmZvcm1hdGlvbiB0byByZWxldmFudCB0aGlyZCBwYXJ0aWVzIGluIHRoZSBldmVudCBvZiBhIGRpdmVzdGl0dXJlLCBtZXJnZXIsIGNvbnNvbGlkYXRpb24sIG9yIGFzc2V0IHNhbGUsIG9yIGluIHRoZSB1bmxpa2VseSBldmVudCBvZiBhIGJhbmtydXB0Y3kuPC9saT4NCjwvdWw+DQo8cD4mbmJzcDs8L3A+DQo8dWw+DQo8bGk+PHN0cm9uZz5MYXcgZW5mb3JjZW1lbnQgb3Igb3RoZXIgZ292ZXJubWVudGFsIGVudGl0aWVzPC9zdHJvbmc+LiBXZSBtYXkgZGlzY2xvc2UgeW91ciBpbmZvcm1hdGlvbiBpZiByZXF1aXJlZCB0byBkbyBzbyBieSBsYXcgb3IgaWYgd2UgYmVsaWV2ZSBpbiBnb29kIGZhaXRoIHRoYXQgc3VjaCBhY3Rpb24gaXMgbmVjZXNzYXJ5IHRvIGNvbXBseSB3aXRoIHRoZSBsYXcsIHByZXZlbnQgdW5sYXdmdWwgYWN0aXZpdHksIGRlZmVuZCBvdXIgcmlnaHRzLCBvciBtYWludGFpbiBzZWN1cml0eS48L2xpPg0KPC91bD4NCjxwPiZuYnNwOzwvcD4NCjx1bD4NCjxsaT48c3Ryb25nPk90aGVyIHRoaXJkIHBhcnRpZXMgd2l0aCB5b3VyIGNvbnNlbnQ8L3N0cm9uZz4uIFdlIG1heSBkaXNjbG9zZSB5b3VyIGluZm9ybWF0aW9uIHRvIGFueSBvdGhlciB0aGlyZCBwYXJ0eSB3aGVyZSB5b3UgaGF2ZSBwcm92aWRlZCBjb25zZW50IHRvIHN1Y2ggZGlzY2xvc3VyZS48L2xpPg0KPC91bD4NCjxwPjxzdHJvbmc+Jm5ic3A7PC9zdHJvbmc+PC9wPg0KPHA+PHN0cm9uZz5TZWN1cml0eSwgUmV0ZW50aW9uICZhbXA7IFRyYW5zZmVyIG9mIFBlcnNvbmFsIEluZm9ybWF0aW9uPC9zdHJvbmc+PC9wPg0KPHA+PGJyPldlIGhhdmUgaW1wbGVtZW50ZWQgYW5kIG1haW50YWluIGNvbW1lcmNpYWxseSByZWFzb25hYmxlIGFuZCBhcHByb3ByaWF0ZSB0ZWNobmljYWwgYW5kIG9yZ2FuaXphdGlvbmFsIG1lYXN1cmVzIGRlc2lnbmVkIHRvIHByb3RlY3QgdGhlIGNvbmZpZGVudGlhbGl0eSwgaW50ZWdyaXR5LCBhbmQgc2VjdXJpdHkgb2YgeW91ciBwZXJzb25hbCBpbmZvcm1hdGlvbi4gUGxlYXNlIG5vdGUsIGhvd2V2ZXIsIHRoYXQgbm8gc2VjdXJpdHkgbWVhc3VyZXMgYXJlIHBlcmZlY3Qgb3IgaW1wZW5ldHJhYmxlLiBXZSB0aGVyZWZvcmUgY2Fubm90IGd1YXJhbnR5IGFuZCBkbyBub3Qgd2FycmFudCB0aGUgYWJzb2x1dGUgc2VjdXJpdHkgb2YgeW91ciBwZXJzb25hbCBpbmZvcm1hdGlvbi4gV2UgcmV0YWluIHlvdXIgcGVyc29uYWwgaW5mb3JtYXRpb24gZm9yIG5vIGxvbmdlciB0aGFuIHJlYXNvbmFibHkgbmVjZXNzYXJ5IHRvIGZ1bGZpbGwgdGhlIHB1cnBvc2VzIGZvciB3aGljaCB3ZSBjb2xsZWN0ZWQgaXQgb3IgdG8gY29tcGx5IHdpdGggdGhlIGxhdywgcHJldmVudCBmcmF1ZCwgZmFjaWxpdGF0ZSBhbiBpbnZlc3RpZ2F0aW9uLCBkZWZlbmQgYWdhaW5zdCBsZWdhbCBjbGFpbXMsIG9yIGV4ZXJjaXNlIG91ciBsZWdhbCByaWdodHMuPGJyPjxicj5EZXBlbmRpbmcgb24geW91ciBsb2NhdGlvbiwgdGhlIHBlcnNvbmFsIGluZm9ybWF0aW9uIHdlIGNvbGxlY3QgYWJvdXQgeW91IG1heSBiZSB0cmFuc2ZlcnJlZCB0byBhIGp1cmlzZGljdGlvbiB0aGF0IGRvZXMgbm90IHByb3ZpZGUgdGhlIHNhbWUgbGV2ZWwgb2YgcHJvdGVjdGlvbiBvZiBwZXJzb25hbCBpbmZvcm1hdGlvbiBhcyB0aGUganVyaXNkaWN0aW9uIGluIHdoaWNoIHlvdSByZXNpZGUuIEFtb25nIG90aGVyIHBsYWNlcywgcGVyc29uYWwgaW5mb3JtYXRpb24gbWF5IGJlIHRyYW5zZmVycmVkIHRvLCBhbmQgc3RvcmVkIGluLCBDYW5hZGEsIEF1c3RyYWxpYSBhbmQgdGhlIFVuaXRlZCBTdGF0ZXMuIFRyYW5zZmVycyBmcm9tIHRoZSBFdXJvcGVhbiBVbmlvbiB0byBDYW5hZGEgYXJlIG1hZGUgcHVyc3VhbnQgdG8gRXVyb3BlYW4gQ29tbWlzc2lvbiBEZWNpc2lvbiAyMDAyLzIvRUMsIHdoaWNoIGRldGVybWluZWQgdGhhdCBDYW5hZGEgaXMgY29uc2lkZXJlZCBhcyBwcm92aWRpbmcgYW4gYWRlcXVhdGUgbGV2ZWwgb2YgcHJvdGVjdGlvbiBvZiBwZXJzb25hbCBpbmZvcm1hdGlvbi48L3A+DQo8cD4mbmJzcDs8L3A+DQo8cD48c3Ryb25nPllvdXIgQ2hvaWNlcyAmYW1wOyBSaWdodHM8L3N0cm9uZz48L3A+DQo8cD48YnI+WW91IG1heSBkZWNsaW5lIHRvIHNoYXJlIGNlcnRhaW4gaW5mb3JtYXRpb24gd2l0aCB1cywgaW4gd2hpY2ggY2FzZSB3ZSBtYXkgbm90IGJlIGFibGUgdG8gcHJvdmlkZSB0byB5b3Ugc29tZSBvZiB0aGUgZmVhdHVyZXMgYW5kIGZ1bmN0aW9uYWxpdHkgb2YgdGhlIFNlcnZpY2VzLiBPbmNlIHlvdSBoYXZlIHJlZ2lzdGVyZWQgZm9yIGFuIGFjY291bnQgd2l0aCB1cywgeW91IG1heSB1cGRhdGUsIGNvcnJlY3QsIG9yIGRlbGV0ZSB5b3VyIHByb2ZpbGUgaW5mb3JtYXRpb24gYW5kIHByZWZlcmVuY2VzIGF0IGFueSB0aW1lIGJ5IGFjY2Vzc2luZyB5b3VyIGFjY291bnQgcHJlZmVyZW5jZXMgcGFnZSB0aHJvdWdoIHRoZSBTZXJ2aWNlcy4gSWYgeW91IGRvIG5vdCB3aXNoIHRvIHJlY2VpdmUgbWFya2V0aW5nIGNvbW11bmljYXRpb25zIGZyb20gdXMsIHlvdSBjYW4gb3B0LW91dCBieSB1c2luZyB0aGUgdW5zdWJzY3JpYmUgcHJvY2VzcyBwcm92aWRlZCBvciBkZXNjcmliZWQgaW4gYW55IHN1Y2ggY29tbXVuaWNhdGlvbiwgYnV0IHlvdSBtYXkgc3RpbGwgcmVjZWl2ZSB0cmFuc2FjdGlvbmFsIG9yIGFkbWluaXN0cmF0aXZlIGNvbW11bmljYXRpb25zIGZyb20gdXMuIEFsdGhvdWdoIHlvdXIgY2hhbmdlcyBhcmUgcmVmbGVjdGVkIHByb21wdGx5IGluIGFjdGl2ZSB1c2VyIGRhdGFiYXNlcywgd2UgbWF5IHJldGFpbiBhbGwgaW5mb3JtYXRpb24geW91IHN1Ym1pdCBmb3IgYSB2YXJpZXR5IG9mIHB1cnBvc2VzLCBpbmNsdWRpbmcgYmFja3VwcyBhbmQgYXJjaGl2aW5nLCBwcmV2ZW50aW9uIG9mIGZyYXVkIGFuZCBhYnVzZSwgYW5kIGFuYWx5dGljcy48YnI+PGJyPkRlcGVuZGluZyBvbiB5b3VyIGxvY2F0aW9uIGFuZCBzdWJqZWN0IHRvIGxvY2FsIGxhdywgeW91IG1heSBoYXZlIGNlcnRhaW4gcmlnaHRzIHdpdGggcmVzcGVjdCB0byB5b3VyIHBlcnNvbmFsIGluZm9ybWF0aW9uLiBUaGVzZSBtYXkgaW5jbHVkZTogdGhlIHJpZ2h0IHRvIGFjY2VzcywgY29ycmVjdCwgYW5kIGRlbGV0ZSB5b3VyIHBlcnNvbmFsIGluZm9ybWF0aW9uOyB0aGUgcmlnaHQgdG8gcmVzdHJpY3Qgb3Igb2JqZWN0IHRvIG91ciB1c2Ugb2YgeW91ciBwZXJzb25hbCBpbmZvcm1hdGlvbjsgYW5kIHRoZSByaWdodCB0byByZWNlaXZlIGEgcG9ydGFibGUgY29weSBvZiB5b3VyIHBlcnNvbmFsIGluZm9ybWF0aW9uIGluIGEgdXNhYmxlIGZvcm1hdC4gSWYgeW91IHByb3ZpZGUgdXMgd2l0aCBjb25zZW50IHRvIHVzZSB5b3VyIHBlcnNvbmFsIGluZm9ybWF0aW9uLCB5b3UgbWF5IHdpdGhkcmF3IHRoYXQgY29uc2VudCBhdCBhbnkgdGltZSwgaG93ZXZlciwgc3VjaCB3aXRoZHJhd2FsIHdpbGwgbm90IGltcGFjdCB0aGUgbGF3ZnVsbmVzcyBvZiBvdXIgdXNlIG9mIHlvdXIgcGVyc29uYWwgaW5mb3JtYXRpb24gYmFzZWQgb24geW91ciBjb25zZW50IHVwIHRvIHRoYXQgcG9pbnQuPGJyPjxicj5UbyBtYWtlIGEgcmVxdWVzdCByZWxhdGVkIHRvIHlvdXIgcGVyc29uYWwgaW5mb3JtYXRpb24gb3Igb3RoZXJ3aXNlIGV4ZXJjaXNlIHlvdXIgcmlnaHRzLCB5b3UgbWF5IGNvbnRhY3QgdXMgdXNpbmcgdGhlIGNvbnRhY3QgaW5mb3JtYXRpb24gcHJvdmlkZWQgYmVsb3cuIEluIG9yZGVyIHRvIGZ1bGZpbGwgeW91ciByZXF1ZXN0LCB3ZSBtYXkgcmVxdWlyZSBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIGZyb20geW91LiBXZSB3aWxsIHJlc3BvbmQgdG8gcmVxdWVzdHMgd2l0aGluIHRoZSByZWxldmFudCB0aW1lIHBlcmlvZHMgZXN0YWJsaXNoZWQgYnkgYXBwbGljYWJsZSBsYXcuIFdlIGFyZSBjb21taXR0ZWQgdG8gZmluZGluZyBhIGZhaXIgYW5kIHJlYXNvbmFibGUgcmVzb2x1dGlvbiB0byBhbnkgcmVxdWVzdCwgY29uY2Vybiwgb3IgY29tcGxhaW50IHlvdSBicmluZyB0byBvdXIgYXR0ZW50aW9uLiBIb3dldmVyLCBpZiB5b3UgYXJlIHVuc2F0aXNmaWVkIHdpdGggb3VyIHJlc3BvbnNlIHRvIHlvdXIgcmVxdWVzdCwgeW91IG1heSBoYXZlIHRoZSByaWdodCB0byBsb2RnZSBhIGNvbXBsYWludCB3aXRoIGFwcGxpY2FibGUgZ292ZXJubWVudGFsIGF1dGhvcml0aWVzLCBzdWJqZWN0IHRvIGxvY2FsIGxhdy48L3A+DQo8cD4mbmJzcDs8L3A+DQo8cD48c3Ryb25nPkNoaWxkcmVuJnJzcXVvO3MgUHJpdmFjeTwvc3Ryb25nPjwvcD4NCjxwPjxicj5XZSBkbyBub3Qga25vd2luZ2x5IGNvbGxlY3Qgb3IgbWFpbnRhaW4gaW5mb3JtYXRpb24gZnJvbSBwZXJzb25zIHVuZGVyIDE2IHllYXJzIG9mIGFnZSAoJmxkcXVvO2NoaWxkcmVuJnJkcXVvOyksIGFuZCBubyBwYXJ0IG9mIHRoZSBTZXJ2aWNlcyBpcyBkaXJlY3RlZCB0byBjaGlsZHJlbi4gSWYgeW91IGFyZSB1bmRlciAxNiB5ZWFycyBvZiBhZ2UsIHRoZW4gcGxlYXNlIGRvIG5vdCB1c2Ugb3IgYWNjZXNzIHRoZSBTZXJ2aWNlcyBhdCBhbnkgdGltZSBvciBpbiBhbnkgbWFubmVyLiBJZiB3ZSBsZWFybiB0aGF0IGluZm9ybWF0aW9uIGhhcyBiZWVuIGNvbGxlY3RlZCB0aHJvdWdoIHRoZSBTZXJ2aWNlcyBmcm9tIGNoaWxkcmVuIGFuZCB3aXRob3V0IHZlcmlmaWFibGUgcGFyZW50YWwgY29uc2VudCwgdGhlbiB3ZSB3aWxsIHRha2UgdGhlIGFwcHJvcHJpYXRlIHN0ZXBzIHRvIGRlbGV0ZSB0aGlzIGluZm9ybWF0aW9uLiBJZiB5b3UgYXJlIGEgcGFyZW50IG9yIGd1YXJkaWFuIGFuZCBkaXNjb3ZlciB0aGF0IHlvdXIgY2hpbGQgaGFzIHByb3ZpZGVkIHVzIHdpdGggcGVyc29uYWwgaW5mb3JtYXRpb24gd2l0aG91dCB5b3VyIGNvbnNlbnQsIHBsZWFzZSBjb250YWN0IHVzIHVzaW5nIHRoZSBjb250YWN0IGluZm9ybWF0aW9uIGJlbG93IHRvIHJlcXVlc3QgdGhhdCB3ZSBkZWxldGUgdGhlIGluZm9ybWF0aW9uIGZyb20gb3VyIHN5c3RlbXMuPC9wPg0KPHA+Jm5ic3A7PC9wPg0KPHA+PHN0cm9uZz5BcHBsaWNhYmxlIEVudGl0eTwvc3Ryb25nPjwvcD4NCjxwPjxicj5BbGwgcmVmZXJlbmNlcyB0byAmbGRxdW87VHJpYnV0ZSBUZWNobm9sb2d5LCZyZHF1bzsgJmxkcXVvO3dlLCZyZHF1bzsgJmxkcXVvO3VzJnJkcXVvOyBvciAmbGRxdW87b3VyJnJkcXVvOyBpbiB0aGlzIFByaXZhY3kgTm90aWNlIHJlZmVyIHRvIHRoZSBhcHBsaWNhYmxlIGVudGl0eSBzcGVjaWZpZWQgaW4gdGhlIHRhYmxlIGJlbG93LCB3aGljaCBpcyBiYXNlZCBvbiB0aGUgbG9jYXRpb24gb2YgdGhlIGJ1c2luZXNzIGFkZHJlc3Mgb2YgdGhlIENsaWVudCBvciBvdGhlciBidXNpbmVzcyBvbiB3aG9zZSB3ZWJzaXRlIHRoaXMgUHJpdmFjeSBOb3RpY2UgYXBwZWFycyAoYXMgcG9zdGVkIG9uIHN1Y2ggd2Vic2l0ZSk6PC9wPg0KPHA+Jm5ic3A7PC9wPg0KPHRhYmxlPg0KPHRib2R5Pg0KPHRyPg0KPHRkIHdpZHRoPSIxODYiPg0KPHA+PHN0cm9uZz5Mb2NhdGlvbiBvZiBCdXNpbmVzcyBBZGRyZXNzPC9zdHJvbmc+PC9wPg0KPC90ZD4NCjx0ZCB3aWR0aD0iMjEwIj4NCjxwPjxzdHJvbmc+QXBwbGljYWJsZSBFbnRpdHk8L3N0cm9uZz48L3A+DQo8L3RkPg0KPC90cj4NCjx0cj4NCjx0ZCB3aWR0aD0iMTg2Ij4NCjxwPkNhbmFkYTwvcD4NCjwvdGQ+DQo8dGQgd2lkdGg9IjIxMCI+DQo8cD5UcmlidXRlIFRlY2hub2xvZ3kgQ2FuYWRhLCBVTEMsIGEgQnJpdGlzaCBDb2x1bWJpYSB1bmxpbWl0ZWQgbGlhYmlsaXR5IGNvbXBhbnk8L3A+DQo8L3RkPg0KPC90cj4NCjx0cj4NCjx0ZCB3aWR0aD0iMTg2Ij4NCjxwPlVuaXRlZCBTdGF0ZXMgYW5kIHRoZSByZXN0IG9mIHRoZSB3b3JsZCBvdXRzaWRlIENhbmFkYTwvcD4NCjwvdGQ+DQo8dGQgd2lkdGg9IjIxMCI+DQo8cD5UcmlidXRlIFRlY2hub2xvZ3kgVVMsIExMQywgYSBEZWxhd2FyZSBsaW1pdGVkIGxpYWJpbGl0eSBjb21wYW55PC9wPg0KPC90ZD4NCjwvdHI+DQo8L3Rib2R5Pg0KPC90YWJsZT4NCjxwPiZuYnNwOzwvcD4NCjxwPjxzdHJvbmc+Q2FsaWZvcm5pYSBSZXNpZGVudHM8L3N0cm9uZz48L3A+DQo8cD48YnI+U3VwcGxlbWVudGFsIHRvIHRoZSBhYm92ZSwgdGhlIGZvbGxvd2luZyBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIHBlcnRhaW5zIHRvIENhbGlmb3JuaWEgcmVzaWRlbnRzIG9ubHk6PGJyPjxicj48ZW0+PHU+Q29sbGVjdGlvbiBhbmQgVXNlIG9mIFBlcnNvbmFsIEluZm9ybWF0aW9uPC91PjwvZW0+PC9wPg0KPHVsPg0KPGxpPkNhdGVnb3JpZXMgb2YgcGVyc29uYWwgaW5mb3JtYXRpb24gY29sbGVjdGVkIGFib3V0IENhbGlmb3JuaWEgcmVzaWRlbnRzIGluIHRoZSBwYXN0IHR3ZWx2ZSBtb250aHMgaW5jbHVkZSBpZGVudGlmaWVycywgb3RoZXIgaWRlbnRpZnlpbmcgaW5mb3JtYXRpb24sIGNoYXJhY3RlcmlzdGljcyBvZiBwcm90ZWN0ZWQgY2xhc3MsIGNvbW1lcmNpYWwgaW5mb3JtYXRpb24sIEludGVybmV0IG9yIG90aGVyIGVsZWN0cm9uaWMgbmV0d29yayBhY3Rpdml0eSBpbmZvcm1hdGlvbiwgcHJvZmVzc2lvbmFsIG9yIGVtcGxveW1lbnQtcmVsYXRlZCBpbmZvcm1hdGlvbiwgZWR1Y2F0aW9uIGluZm9ybWF0aW9uLCBhbmQgaW5mZXJlbmNlcyBkcmF3biBmcm9tIHN1Y2ggaW5mb3JtYXRpb24uIEZvciBleGFtcGxlcyBvZiBzcGVjaWZpYyBwaWVjZXMgb2YgcGVyc29uYWwgaW5mb3JtYXRpb24gY29sbGVjdGVkLCBwbGVhc2Ugc2VlIHRoZSAmbGRxdW87UGVyc29uYWwgSW5mb3JtYXRpb24gV2UgQ29sbGVjdCZyZHF1bzsgc2VjdGlvbiBhYm92ZS48L2xpPg0KPC91bD4NCjxwPiZuYnNwOzwvcD4NCjx1bD4NCjxsaT5DYXRlZ29yaWVzIG9mIHBlcnNvbmFsIGluZm9ybWF0aW9uIGRpc2Nsb3NlZCBmb3IgYSBidXNpbmVzcyBwdXJwb3NlIGFib3V0IENhbGlmb3JuaWEgcmVzaWRlbnRzIGluIHRoZSBwYXN0IHR3ZWx2ZSBtb250aHMgaW5jbHVkZSBpZGVudGlmaWVycywgb3RoZXIgaWRlbnRpZnlpbmcgaW5mb3JtYXRpb24sIGNoYXJhY3RlcmlzdGljcyBvZiBwcm90ZWN0ZWQgY2xhc3MsIGNvbW1lcmNpYWwgaW5mb3JtYXRpb24sIEludGVybmV0IG9yIG90aGVyIGVsZWN0cm9uaWMgbmV0d29yayBhY3Rpdml0eSBpbmZvcm1hdGlvbiwgcHJvZmVzc2lvbmFsIG9yIGVtcGxveW1lbnQtcmVsYXRlZCBpbmZvcm1hdGlvbiwgYW5kIGVkdWNhdGlvbiBpbmZvcm1hdGlvbi48L2xpPg0KPC91bD4NCjxwPiZuYnNwOzwvcD4NCjx1bD4NCjxsaT5XZSBkbyBub3Qgc2VsbCBwZXJzb25hbCBpbmZvcm1hdGlvbiwgbm9yIGRvIHdlIHNoYXJlIHBlcnNvbmFsIGluZm9ybWF0aW9uIHdpdGggdGhpcmQgcGFydGllcyBmb3IgdGhvc2UgdGhpcmQgcGFydGllcyZyc3F1bzsgZGlyZWN0IG1hcmtldGluZyBwdXJwb3Nlcy48L2xpPg0KPC91bD4NCjxwPjxicj48ZW0+PHU+WW91ciBDYWxpZm9ybmlhIFByaXZhY3kgUmlnaHRzPC91PjwvZW0+PGJyPkFzIGEgQ2FsaWZvcm5pYSByZXNpZGVudCwgeW91IGhhdmUgdGhlIGZvbGxvd2luZyByaWdodHMgd2l0aCByZXNwZWN0IHRvIHlvdXIgcGVyc29uYWwgaW5mb3JtYXRpb246PC9wPg0KPHA+Jm5ic3A7PC9wPg0KPHVsPg0KPGxpPllvdSBoYXZlIHRoZSByaWdodCB0byByZXF1ZXN0IHRvIGtub3cgYWJvdXQgcGVyc29uYWwgaW5mb3JtYXRpb24gY29sbGVjdGVkLCBkaXNjbG9zZWQsIG9yIHNvbGQuPC9saT4NCjwvdWw+DQo8cD4mbmJzcDs8L3A+DQo8dWw+DQo8bGk+WW91IGhhdmUgdGhlIHJpZ2h0IHRvIHJlcXVlc3QgdGhlIGRlbGV0aW9uIG9mIHBlcnNvbmFsIGluZm9ybWF0aW9uLjwvbGk+DQo8L3VsPg0KPHA+Jm5ic3A7PC9wPg0KPHVsPg0KPGxpPllvdSBoYXZlIHRoZSByaWdodCB0byBvcHQtb3V0IG9mIHRoZSBzYWxlIG9mIHlvdXIgcGVyc29uYWwgaW5mb3JtYXRpb24gYXQgYW55IHRpbWUuIE5vdGUgdGhhdCB3ZSBkbyBub3QgY3VycmVudGx5IHNlbGwgcGVyc29uYWwgaW5mb3JtYXRpb24uPC9saT4NCjwvdWw+DQo8cD48YnI+RmluYWxseSwgeW91IGhhdmUgdGhlIHJpZ2h0IHRvIG5vdCBiZSBkaXNjcmltaW5hdGVkIGFnYWluc3QgYXMgYSByZXN1bHQgb2YgZXhlcmNpc2luZyB5b3VyIHByaXZhY3kgcmlnaHRzLiBBY2NvcmRpbmdseSwgdW5sZXNzIHBlcm1pdHRlZCBieSBsYXcsIHdlIHdpbGwgbm90IGRlbnkgeW91IGdvb2RzIG9yIHNlcnZpY2VzLCBjaGFyZ2UgeW91IGRpZmZlcmVudCBwcmljZXMgb3IgcmF0ZXMgZm9yIGdvb2RzIG9yIHNlcnZpY2VzLCBwcm92aWRlIHlvdSBhIGRpZmZlcmVudCBsZXZlbCBvciBxdWFsaXR5IG9mIGdvb2RzIG9yIHNlcnZpY2VzLCBvciBzdWdnZXN0IHlvdSB3aWxsIHJlY2VpdmUgYSBkaWZmZXJlbnQgcHJpY2Ugb3IgcmF0ZSBmb3IgZ29vZHMgb3Igc2VydmljZXMgb3IgYSBkaWZmZXJlbnQgbGV2ZWwgb3IgcXVhbGl0eSBvZiBnb29kcyBvciBzZXJ2aWNlcy48YnI+PGJyPlRvIGV4ZXJjaXNlIHlvdXIgcmlnaHRzLCB5b3UgbWF5IGNvbnRhY3QgdXMgdXNpbmcgdGhlIGNvbnRhY3QgaW5mb3JtYXRpb24gcHJvdmlkZWQgYmVsb3cgb3IgY2FsbCAxLTgzMy0zMDMtMTg4MC4gSW4gb3JkZXIgdG8gZnVsZmlsbCB5b3VyIHJlcXVlc3QsIHdlIG1heSByZXF1aXJlIGFkZGl0aW9uYWwgcGVyc29uYWwgaW5mb3JtYXRpb24gZm9yIHB1cnBvc2VzIG9mIHZlcmlmeWluZyB5b3VyIGlkZW50aXR5LiBJZiB5b3UgbWFrZSBhIHJlcXVlc3QgdGhyb3VnaCBhbiBhdXRob3JpemVkIGFnZW50LCB3ZSBtYXkgcmVxdWlyZSBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIHRvIHZlcmlmeSB5b3VyIGF1dGhvcml6YXRpb24gb2YgdGhlIGFnZW50LjwvcD4NCjxwPjxzdHJvbmc+Jm5ic3A7PC9zdHJvbmc+PC9wPg0KPHA+PHN0cm9uZz5DaGFuZ2VzIHRvIFByaXZhY3kgTm90aWNlPC9zdHJvbmc+PC9wPg0KPHA+PGJyPldlIHJlc2VydmUgdGhlIHJpZ2h0IHRvIG1ha2UgY2hhbmdlcyB0byB0aGlzIFByaXZhY3kgTm90aWNlIGF0IGFueSB0aW1lLCB3aXRob3V0IG5vdGljZS4gV2Ugd2lsbCBub3RpZnkgeW91IGFib3V0IGNoYW5nZXMgdGhhdCBzaWduaWZpY2FudGx5IGltcGFjdCBvdXIgdXNlIG9mIHlvdXIgcGVyc29uYWwgaW5mb3JtYXRpb24gYnkgcGxhY2luZyBhIHByb21pbmVudCBub3RpY2Ugb24gdGhpcyB3ZWJzaXRlIG9yIGJ5IHNlbmRpbmcgeW91IGFuIGVtYWlsLiBQbGVhc2UgcmV2aXNpdCB0aGlzIHBhZ2UgcGVyaW9kaWNhbGx5IHRvIHN0YXkgYXdhcmUgb2YgYW55IGNoYW5nZXMgdG8gdGhpcyBQcml2YWN5IE5vdGljZS4gRm9yIHRoZSBhdm9pZGFuY2Ugb2YgZG91YnQsIGRpc3B1dGVzIGFyaXNpbmcgaGVyZXVuZGVyIHdpbGwgYmUgcmVzb2x2ZWQgaW4gYWNjb3JkYW5jZSB3aXRoIHRoZSBQcml2YWN5IE5vdGljZSBpbiBlZmZlY3QgYXQgdGhlIHRpbWUgdGhlIGRpc3B1dGUgYXJvc2UuPC9wPg0KPHA+Jm5ic3A7PC9wPg0KPHA+PHN0cm9uZz5Db250YWN0IFVzPC9zdHJvbmc+PC9wPg0KPHA+PGJyPlBsZWFzZSBjb250YWN0IHVzIHdpdGggYW55IHF1ZXN0aW9ucywgY29tbWVudHMgb3IgY29uY2VybnMgYWJvdXQgdGhpcyBQcml2YWN5IE5vdGljZSBvciBvdXIgdXNlIG9mIHlvdXIgcGVyc29uYWwgaW5mb3JtYXRpb24gYnkgZW1haWwgYXQgcHJpdmFjeUB0cmlidXRldGVjaC5jb20gb3IgYnkgbWFpbCBhdDo8L3A+DQo8cD48YnI+VHJpYnV0ZSBUZWNobm9sb2d5PGJyPjI1MDEgUGFybWVudGVyIFN0cmVldCwgU3VpdGUgMzAwQzxicj5NaWRkbGV0b24sIFdJIDUzNTYyPC9wPg0KPHA+Jm5ic3A7PC9wPg/div> div classbase64 styledisplay: none idtermsOfUse> PGRpdiBpZD0iMTc3ODY4MTk4NiIgY2xhc3M9InVfMTc3ODY4MTk4NiBkbU5ld1BhcmFncmFwaCIgZGF0YS1lbGVtZW50LXR5cGU9InBhcmFncmFwaCIgZGF0YS12ZXJzaW9uPSI1IiBkYXRhLWFuaW0tZXh0ZW5kZWQ9ImV5SmtaWE5yZEc5d0lqcDdJblJ5YVdkblpYSWlPaUpsYm5SeVlXNWpaU0lzSW1GdWFXMWhkR2x2YmlJNkltWmhaR1ZKYmtOdmJXSnZJaXdpWkhWeVlYUnBiMjRpT2pFc0ltUmxiR0Y1SWpvd0xqVXNJbWx1ZEdWdWMybDBlU0k2TVN3aWNtVjJaWEp6WlNJNlptRnNjMlVzSW1ScGNpSTZJbWx1TFhCc1lXTmxJbjE5IiBkYXRhLWFuaW0tZGVza3RvcD0iZmFkZUluQ29tYm8iPg0KPHA+PHN0cm9uZz5UcmlidXRlIFRlY2hub2xvZ3kgVGVybXMgb2YgVXNlPC9zdHJvbmc+PC9wPg0KPHA+PGVtPkxhc3QgVXBkYXRlZDogQXByaWwgMjAsIDIwMjM8L2VtPjxicj48YnI+VGhlc2UgVGVybXMgb2YgVXNlLCB0b2dldGhlciB3aXRoIFRyaWJ1dGUgVGVjaG5vbG9neSdzIDxhIGhyZWY9Imh0dHBzOi8vd3d3LnRyaWJ1dGV0ZWNoLmNvbS9wcml2YWN5LXBvbGljeSIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9vcGVuZXIiPjx1PlByaXZhY3kgUG9saWN5PC91PjwvYT4sIChjb2xsZWN0aXZlbHksIHRoZSAiVGVybXMiKSBzZXQgZm9ydGggdGhlIHRlcm1zIGFuZCBjb25kaXRpb25zIHRoYXQgYXBwbHkgdG8geW91ciBhY2Nlc3MgYW5kIHVzZSBvZiB0aGUgd2Vic2l0ZSBvZiBUcmlidXRlIFRlY2hub2xvZ3kgKGh0dHBzOi8vd3d3LnRyaWJ1dGV0ZWNoLmNvbS8pIGFuZCBvdXIgYXNzb2NpYXRlZCBzZXJ2aWNlcywgaW5jbHVkaW5nIFRyaWJ1dGUgVGVjaG5vbG9neSBzZXJ2aWNlcyB0aGF0IGFyZSBhdmFpbGFibGUgdGhyb3VnaCB0aGUgd2Vic2l0ZXMgb2Ygb3VyIGNsaWVudCBmdW5lcmFsIGhvbWVzIGFuZCBvdGhlciBmdW5lcmFsIHByb2Zlc3Npb25hbHMgKGVhY2gsIGEgJmxkcXVvO0NsaWVudCZyZHF1bzspIGFuZCBhbnkgb3RoZXIgd2Vic2l0ZXMgd2hlcmUgd2UgbGluayB0byB0aGVzZSBUZXJtcyAodG9nZXRoZXIsIHRoZSAiU2l0ZXMiKSwgd2hldGhlciBhcyBhIENsaWVudCwgZW5kIHVzZXIgb3IgY3VzdG9tZXIgb2YgYSBDbGllbnQsIG9yIG90aGVyd2lzZS4gU3VjaCBUcmlidXRlIFRlY2hub2xvZ3kgc2VydmljZXMgYXJlIHJlZmVycmVkIHRvIGhlcmVpbiBjb2xsZWN0aXZlbHkgYXMgdGhlICZsZHF1bztTZXJ2aWNlcy4mcmRxdW87IENlcnRhaW4gU2VydmljZXMgYWNjZXNzaWJsZSB0aHJvdWdoIHRoZSBTaXRlcyBtYXkgaGF2ZSB0aGVpciBvd24gdGVybXMgYW5kIGNvbmRpdGlvbnMgdGhhdCBhcHBseSB0byB5b3VyIHVzZSBvZiB0aG9zZSBwYXJ0aWN1bGFyIFNlcnZpY2VzLiZuYnNwOyBUaGVzZSBUZXJtcyBjb25zdGl0dXRlIGEgbGVnYWxseSBiaW5kaW5nIGFncmVlbWVudCBiZXR3ZWVuIHlvdSwgd2hldGhlciBwZXJzb25hbGx5IG9yIG9uIGJlaGFsZiBvZiBhbiBlbnRpdHkgKCJ5b3UiKSwgYW5kIHRoZSBhcHBsaWNhYmxlIGVudGl0eSByZWZlcnJlZCB0byBpbiBTZWN0aW9uIDEzIG9mIHRoZXNlIFRlcm1zICgiVHJpYnV0ZSBUZWNobm9sb2d5LCIgIndlLCIgInVzIiBhbmQgJmxkcXVvO291ciZyZHF1bzspIGNvbmNlcm5pbmcgeW91ciBhY2Nlc3MgdG8gYW5kIHVzZSBvZiB0aGUgU2VydmljZXMuPGJyPjxicj5CeSB1c2luZyBvciBhY2Nlc3NpbmcgdGhlIFNlcnZpY2VzLCB5b3UgYWdyZWUgdG8gdGhlc2UgVGVybXMsIGFzIG1heSBiZSB1cGRhdGVkIGZyb20gdGltZSB0byB0aW1lIGluIGFjY29yZGFuY2Ugd2l0aCBTZWN0aW9uIDkgYmVsb3cuIElmIHlvdSBkbyBub3QgYWdyZWUgdG8gdGhlIGZvbGxvd2luZyBUZXJtcywgZG8gbm90IGFjY2VzcyBvciB1c2UgdGhlIFNlcnZpY2VzLjwvcD4NCjxwPiZuYnNwOzwvcD4NCjxwPjxzdHJvbmc+PHU+Tm90aWNlIG9mIEJpbmRpbmcgQXJiaXRyYXRpb248L3U+PC9zdHJvbmc+PHN0cm9uZz4uJm5ic3A7IFRoZXNlIFRlcm1zIHByb3ZpZGUgdGhhdCBhbGwgZGlzcHV0ZXMgYmV0d2VlbiB5b3UgYW5kIHVzIHRoYXQgaW4gYW55IHdheSByZWxhdGUgdG8gdGhlc2UgVGVybXMgb3IgeW91ciB1c2Ugb2YgdGhlIFNlcnZpY2VzIHdpbGwgYmUgcmVzb2x2ZWQgYnkgQklORElORyBBUkJJVFJBVElPTi4gQUNDT1JESU5HTFksIFlPVSBBR1JFRSBUTyBHSVZFIFVQIFlPVVIgUklHSFQgVE8gR08gVE8gQ09VUlQgKElOQ0xVRElORyBJTiBBIENMQVNTIEFDVElPTiBQUk9DRUVESU5HKSB0byBhc3NlcnQgb3IgZGVmZW5kIHlvdXIgcmlnaHRzIHVuZGVyIHRoZXNlIFRlcm1zLiBZb3VyIHJpZ2h0cyB3aWxsIGJlIGRldGVybWluZWQgYnkgYSBORVVUUkFMIEFSQklUUkFUT1IgYW5kIE5PVCBhIGp1ZGdlIG9yIGp1cnkgYW5kIHlvdXIgY2xhaW1zIGNhbm5vdCBiZSBicm91Z2h0IGFzIGEgY2xhc3MgYWN0aW9uLiBQbGVhc2UgcmV2aWV3IFNlY3Rpb24gMTIgYmVsb3cgZW50aXRsZWQgJmxkcXVvO0ludGVycHJldGF0aW9ucyBhbmQgRGlzcHV0ZXMmcmRxdW87IGZvciB0aGUgZGV0YWlscyByZWdhcmRpbmcgeW91ciBhZ3JlZW1lbnQgdG8gYXJiaXRyYXRlIGFueSBkaXNwdXRlcyB3aXRoIHVzLjwvc3Ryb25nPjwvcD4NCjxwPiZuYnNwOzwvcD4NCjxvbD4NCjxsaT48c3Ryb25nPkFjY291bnQgU2VjdXJpdHkuPC9zdHJvbmc+Jm5ic3A7VG8gdXNlIHRoZSBTZXJ2aWNlcyB5b3UgbXVzdCAoaSkgYmUgYXQgbGVhc3QgZWlnaHRlZW4gKDE4KSB5ZWFycyBvZiBhZ2U7IChpaSkgaGF2ZSBub3QgcHJldmlvdXNseSBiZWVuIHN1c3BlbmRlZCBvciByZW1vdmVkIGZyb20gdGhlIFNlcnZpY2VzOyBhbmQgKGlpaSkgcmVnaXN0ZXIgZm9yIGFuZCB1c2UgdGhlIFNlcnZpY2VzIGluIGNvbXBsaWFuY2Ugd2l0aCBhbnkgYW5kIGFsbCBhcHBsaWNhYmxlIGxhd3MgYW5kIHJlZ3VsYXRpb25zLjwvbGk+DQo8L29sPg0KPHA+Jm5ic3A7PC9wPg0KPG9sPg0KPGxpPjxzdHJvbmc+QWNjb3VudCBSZWdpc3RyYXRpb24uPC9zdHJvbmc+Jm5ic3A7VG8gYWNjZXNzIHNvbWUgZmVhdHVyZXMgb2YgdGhlIFNlcnZpY2VzLCB5b3UgbWF5IGJlIHJlcXVpcmVkIHRvIHJlZ2lzdGVyIGZvciBhbiBhY2NvdW50LiBXaGVuIHlvdSByZWdpc3RlciBmb3IgYW4gYWNjb3VudCwgd2UgbWF5IGFzayB5b3UgdG8gZ2l2ZSB1cyBjZXJ0YWluIGlkZW50aWZ5aW5nIGluZm9ybWF0aW9uIGFib3V0IHlvdXJzZWxmLCBpbmNsdWRpbmcgYnV0IG5vdCBsaW1pdGVkIHRvIHlvdXIgZW1haWwgYWRkcmVzcyBhbmQgb3RoZXIgY29udGFjdCBpbmZvcm1hdGlvbiwgYW5kIHRvIGNyZWF0ZSBhIHVzZXIgbmFtZSBhbmQgcGFzc3dvcmQgKCJSZWdpc3RyYXRpb24gSW5mb3JtYXRpb24iKS4gV2hlbiByZWdpc3RlcmluZyBmb3IgYW5kIG1haW50YWluaW5nIGFuIGFjY291bnQsIHlvdSBhZ3JlZSB0byBwcm92aWRlIHRydWUsIGFjY3VyYXRlLCBjdXJyZW50LCBhbmQgY29tcGxldGUgaW5mb3JtYXRpb24gYWJvdXQgeW91cnNlbGYuIFlvdSBhbHNvIGFncmVlIG5vdCB0byBpbXBlcnNvbmF0ZSBhbnlvbmUsIG1pc3JlcHJlc2VudCBhbnkgYWZmaWxpYXRpb24gd2l0aCBhbnlvbmUgZWxzZSwgdXNlIGZhbHNlIGluZm9ybWF0aW9uLCBvciBvdGhlcndpc2UgY29uY2VhbCB5b3VyIGlkZW50aXR5IGZyb20gVHJpYnV0ZSBUZWNobm9sb2d5IGZvciBhbnkgcHVycG9zZS4gWW91IGFyZSBzb2xlbHkgcmVzcG9uc2libGUgZm9yIG1haW50YWluaW5nIHRoZSBjb25maWRlbnRpYWxpdHkgYW5kIHNlY3VyaXR5IG9mIHlvdXIgcGFzc3dvcmQgYW5kIG90aGVyIFJlZ2lzdHJhdGlvbiBJbmZvcm1hdGlvbi4gRm9yIHlvdXIgcHJvdGVjdGlvbiBhbmQgdGhlIHByb3RlY3Rpb24gb2Ygb3RoZXIgdXNlcnMsIHdlIGFzayB5b3Ugbm90IHRvIHNoYXJlIHlvdXIgUmVnaXN0cmF0aW9uIEluZm9ybWF0aW9uIHdpdGggYW55b25lIGVsc2UuIElmIHlvdSBkbyBzaGFyZSB0aGlzIGluZm9ybWF0aW9uIHdpdGggYW55b25lLCB3ZSB3aWxsIGNvbnNpZGVyIHRoZWlyIGFjdGl2aXRpZXMgdG8gaGF2ZSBiZWVuIGF1dGhvcml6ZWQgYnkgeW91LiBJZiB5b3UgaGF2ZSByZWFzb24gdG8gYmVsaWV2ZSB0aGF0IHlvdXIgYWNjb3VudCBpcyBubyBsb25nZXIgc2VjdXJlLCB5b3UgbXVzdCBpbW1lZGlhdGVseSBub3RpZnkgdXMgYXQmbmJzcDt3ZWJzaXRlc0B0cmlidXRldGVjaC5jb20uPC9saT4NCjwvb2w+DQo8cD4mbmJzcDs8L3A+DQo8b2w+DQo8bGk+PHN0cm9uZz5Zb3VyIFVzZSBvZiB0aGUgU2VydmljZXMgYW5kIFByb2hpYml0ZWQgQ29uZHVjdC48L3N0cm9uZz4mbmJzcDtZb3UgYXJlIGdyYW50ZWQgYSBsaW1pdGVkLCBub24tZXhjbHVzaXZlLCByZXZvY2FibGUgcmlnaHQgdG8gYWNjZXNzIGFuZCB1c2UgdGhlIFNlcnZpY2VzIHNvbGVseSBmb3IgeW91ciBwZXJzb25hbCBvciBub24tY29tbWVyY2lhbCB1c2U7IHByb3ZpZGVkLCB0aGF0IGlmIHlvdSBhcmUgYSBDbGllbnQsIHlvdXIgY29tbWVyY2lhbCB1c2UgaW4gY29ubmVjdGlvbiB3aXRoIHlvdXIgU2l0ZSBpcyBwZXJtaXR0ZWQgZm9yIHlvdXIgYnVzaW5lc3MuJm5ic3A7IEV4Y2VwdCBmb3IgdGhlIGxpbWl0ZWQgcmlnaHQgZXhwcmVzc2x5IGdyYW50ZWQgdG8geW91IGluIHRoZXNlIFRlcm1zLCBUcmlidXRlIFRlY2hub2xvZ3kgYW5kIGl0cyBsaWNlbnNvcnMgZXhwcmVzc2x5IHJlc2VydmUgYWxsIG90aGVyIHJpZ2h0cyBhbmQgbGljZW5zZXMgdG8gdGhlIFNlcnZpY2VzIGFuZCB0aGVpciBjb250ZW50LiBZb3UgYWdyZWUgbm90IHRvOjwvbGk+DQo8L29sPg0KPHA+Jm5ic3A7PC9wPg0KPG9sPg0KPG9sPg0KPGxpPlVzZSB0aGUgU2VydmljZXMgZm9yIGFueSBpbGxlZ2FsIHB1cnBvc2UsIG9yIGluIHZpb2xhdGlvbiBvZiBhbnkgbG9jYWwsIHN0YXRlLCBuYXRpb25hbCwgb3IgaW50ZXJuYXRpb25hbCBsYXc7PC9saT4NCjwvb2w+DQo8L29sPg0KPHA+Jm5ic3A7PC9wPg0KPG9sPg0KPG9sPg0KPGxpPlZpb2xhdGUgb3IgZW5jb3VyYWdlIG90aGVycyB0byB2aW9sYXRlIHRoZSByaWdodHMgb2YgdGhpcmQgcGFydGllcywgaW5jbHVkaW5nIGludGVsbGVjdHVhbCBwcm9wZXJ0eSByaWdodHM7PC9saT4NCjwvb2w+DQo8L29sPg0KPHA+Jm5ic3A7PC9wPg0KPG9sPg0KPG9sPg0KPGxpPlBvc3QsIHVwbG9hZCwgb3IgZGlzdHJpYnV0ZSBhbnkgY29udGVudCB0aGF0IGlzIHVubGF3ZnVsLCBkZWZhbWF0b3J5LCBsaWJlbG91cywgaW5hY2N1cmF0ZSwgb3IgdGhhdCBhIHJlYXNvbmFibGUgcGVyc29uIGNvdWxkIGRlZW0gdG8gYmUgb2JqZWN0aW9uYWJsZSwgcHJvZmFuZSwgaW5kZWNlbnQsIHBvcm5vZ3JhcGhpYywgaGFyYXNzaW5nLCB0aHJlYXRlbmluZywgaGF0ZWZ1bCwgb3Igb3RoZXJ3aXNlIGluYXBwcm9wcmlhdGUsIG9yIHRoYXQgdmlvbGF0ZXMgb3IgaW5mcmluZ2VzIHRoZSBwcml2YWN5LCBjb3B5cmlnaHQsIHRyYWRlbWFyaywgdHJhZGUgZHJlc3MsIHRyYWRlIHNlY3JldHMgb3IgaW50ZWxsZWN0dWFsIHByb3BlcnR5IHJpZ2h0cyBvZiBhbnkgcGVyc29uIG9yIGVudGl0eTs8L2xpPg0KPC9vbD4NCjwvb2w+DQo8cD4mbmJzcDs8L3A+DQo8b2w+DQo8b2w+DQo8bGk+SW50ZXJmZXJlIGluIGFueSB3YXkgd2l0aCwgYnlwYXNzIG9yIGF0dGVtcHQgdG8gYnlwYXNzIGFueSBzZWN1cml0eS1yZWxhdGVkIGZlYXR1cmVzIG9mIHRoZSBTZXJ2aWNlczs8L2xpPg0KPC9vbD4NCjwvb2w+DQo8cD4mbmJzcDs8L3A+DQo8b2w+DQo8b2w+DQo8bGk+SW50ZXJmZXJlIHdpdGggdGhlIG9wZXJhdGlvbiBvciBhbnkgdXNlcidzIGVuam95bWVudCBvZiB0aGUgU2VydmljZXMsIGluY2x1ZGluZyBieSB1cGxvYWRpbmcgb3Igb3RoZXJ3aXNlIGRpc3NlbWluYXRpbmcgdmlydXNlcywgYWR3YXJlLCBzcHl3YXJlLCB3b3Jtcywgb3Igb3RoZXIgbWFsaWNpb3VzIGNvZGUsIG1ha2luZyB1bnNvbGljaXRlZCBvZmZlcnMgb3IgYWR2ZXJ0aXNlbWVudHMgdG8gb3RoZXIgdXNlcnMsIG9yIGF0dGVtcHRpbmcgdG8gY29sbGVjdCBwZXJzb25hbCBpbmZvcm1hdGlvbiBhYm91dCB1c2VycyBvciB0aGlyZCBwYXJ0aWVzIHdpdGhvdXQgdGhlaXIgY29uc2VudDs8L2xpPg0KPC9vbD4NCjwvb2w+DQo8cD4mbmJzcDs8L3A+DQo8b2w+DQo8b2w+DQo8bGk+RGVlcC1saW5rIHRvIGFueSBmZWF0dXJlIG9yIGNvbnRlbnQgb24gdGhlIFNlcnZpY2VzLCBvciBhY2Nlc3MsIG1vbml0b3Igb3IgY29weSBhbnkgY29udGVudCBvciBpbmZvcm1hdGlvbiBvZiB0aGUgU2VydmljZXMgdXNpbmcgYW55IHJvYm90LCBzcGlkZXIsIHNjcmFwZXIsIGNyYXdsZXIgb3Igb3RoZXIgYXV0b21hdGVkIG1lYW5zIG9yIGFueSBtYW51YWwgcHJvY2VzcyBmb3IgYW55IHB1cnBvc2Ugd2l0aG91dCBUcmlidXRlIFRlY2hub2xvZ3kmcnNxdW87cyBleHByZXNzIHdyaXR0ZW4gcGVybWlzc2lvbjs8L2xpPg0KPC9vbD4NCjwvb2w+DQo8cD4mbmJzcDs8L3A+DQo8b2w+DQo8b2w+DQo8bGk+VXNlLCByZXByb2R1Y2UsIG1vZGlmeSwgZGlzdHJpYnV0ZSBvciBzdG9yZSBhbnkgcGFydCBvZiB0aGUgU2VydmljZXMgKGluY2x1ZGluZyBvYml0dWFyaWVzLCBldmVudCBpbmZvcm1hdGlvbiwgb3Igb3RoZXIgY29udGVudCkgZm9yIGFueSBwdXJwb3NlIHdpdGhvdXQgdGhlIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbiBvZiBUcmlidXRlIFRlY2hub2xvZ3k7PC9saT4NCjwvb2w+DQo8L29sPg0KPHA+Jm5ic3A7PC9wPg0KPG9sPg0KPG9sPg0KPGxpPlBlcmZvcm0gYW55IGZyYXVkdWxlbnQgYWN0aXZpdHksIGluY2x1ZGluZyBpbXBlcnNvbmF0aW5nIGFueSBwZXJzb24gb3IgZW50aXR5LCBjbGFpbWluZyBmYWxzZSBhZmZpbGlhdGlvbnMsIGFjY2Vzc2luZyB0aGUgYWNjb3VudHMgb2Ygb3RoZXIgdXNlcnMgd2l0aG91dCBwZXJtaXNzaW9uLCBvciBmYWxzaWZ5aW5nIHlvdXIgaWRlbnRpdHkgb3IgYW55IGluZm9ybWF0aW9uIGFib3V0IHlvdSwgaW5jbHVkaW5nIGFnZSBvciBkYXRlIG9mIGJpcnRoOzwvbGk+DQo8L29sPg0KPC9vbD4NCjxwPiZuYnNwOzwvcD4NCjxvbD4NCjxvbD4NCjxsaT5Qb3N0LCBkaXNzZW1pbmF0ZSwgc3VibWl0LCB0cmFuc21pdCwgaG9zdCwgc2hhcmUsIGFuZC9vciBwdWJsaXNoIGFkdmVydGlzZW1lbnRzIG9yIHNvbGljaXRhdGlvbnMgb2YgYnVzaW5lc3M7IG9yPC9saT4NCjwvb2w+DQo8L29sPg0KPHA+Jm5ic3A7PC9wPg0KPG9sPg0KPG9sPg0KPGxpPlNlbGwgb3Igb3RoZXJ3aXNlIHRyYW5zZmVyIHRoZSBhY2Nlc3MgZ3JhbnRlZCBoZXJlaW4uPC9saT4NCjwvb2w+DQo8L29sPg0KPHA+Jm5ic3A7PC9wPg0KPG9sPg0KPGxpPjxzdHJvbmc+VGhpcmQgUGFydHkgQ29udGVudC48L3N0cm9uZz4mbmJzcDtUaGUgU2VydmljZXMgbWF5IGNvbnRhaW4gbGlua3MgdG8gdGhpcmQgcGFydHkgd2Vic2l0ZXMgYW5kIHNlcnZpY2VzLiBUcmlidXRlIFRlY2hub2xvZ3kgcHJvdmlkZXMgc3VjaCBsaW5rcyBhcyBhIGNvbnZlbmllbmNlLCBhbmQgZG9lcyBub3QgY29udHJvbCBvciBlbmRvcnNlIHRoZXNlIHdlYnNpdGVzIGFuZCBzZXJ2aWNlcy4gWW91IGFja25vd2xlZGdlIGFuZCBhZ3JlZSB0aGF0IFRyaWJ1dGUgVGVjaG5vbG9neSBoYXMgbm90IHJldmlld2VkIHRoZSBjb250ZW50LCBhZHZlcnRpc2luZywgcHJvZHVjdHMsIHNlcnZpY2VzLCBvciBvdGhlciBtYXRlcmlhbHMgdGhhdCBhcHBlYXIgb24gc3VjaCB0aGlyZCBwYXJ0eSB3ZWJzaXRlcyBvciBzZXJ2aWNlcywgYW5kIGlzIG5vdCByZXNwb25zaWJsZSBmb3IgdGhlIGxlZ2FsaXR5LCBhY2N1cmFjeSwgb3IgYXBwcm9wcmlhdGVuZXNzIG9mIGFueSBzdWNoIGNvbnRlbnQsIGFuZCBzaGFsbCBub3QgYmUgcmVzcG9uc2libGUgb3IgbGlhYmxlLCBkaXJlY3RseSBvciBpbmRpcmVjdGx5LCBmb3IgYW55IGRhbWFnZSBvciBsb3NzIGNhdXNlZCBvciBhbGxlZ2VkIHRvIGJlIGNhdXNlZCBieSBvciBpbiBjb25uZWN0aW9uIHdpdGggdGhlIHVzZSBvZiBhbnkgc3VjaCB0aGlyZCBwYXJ0eSB3ZWJzaXRlcyBvciBzZXJ2aWNlcy48L2xpPg0KPC9vbD4NCjxwPiZuYnNwOzwvcD4NCjxvbD4NCjxsaT48c3Ryb25nPkludGVsbGVjdHVhbCBQcm9wZXJ0eS48L3N0cm9uZz4mbmJzcDtZb3UgYWNrbm93bGVkZ2UgYW5kIGFncmVlIHRoYXQgd2hlbiB5b3Ugc3VibWl0IGFuIG9iaXR1YXJ5LCBwb3N0IGNvbW1lbnRzLCBzdWJtaXQgYSB0cmlidXRlIHZpZGVvIG9yIGltYWdlLCBvciBwb3N0IG9yIHN1Ym1pdCBvdGhlciBjb250ZW50ICh0b2dldGhlciwgIkNvbnRlbnQiKSB0byBUcmlidXRlIFRlY2hub2xvZ3kgb3IgdmlhIHRoZSBTZXJ2aWNlcywgaW5jbHVkaW5nIHRvIGFueSB3ZWJzaXRlIG9mIGFueSBmdW5lcmFsIGhvbWUgb3Igb3RoZXIgZnVuZXJhbCBwcm9mZXNzaW9uYWxzIHByb3ZpZGVkIGJ5IFRyaWJ1dGUgVGVjaG5vbG9neSwgc3VjaCBDb250ZW50IHdpbGwgYmUgc2hhcmVkIHdpdGggYW5kIHN0b3JlZCBieSBUcmlidXRlIFRlY2hub2xvZ3kgYW5kIGl0cyBhZmZpbGlhdGVzIGFuZCBwYXJ0bmVycywgaW5jbHVkaW5nIGJ1dCBub3QgbGltaXRlZCB0byBUcmlidXRlIEFyY2hpdmUgKHRyaWJ1dGVhcmNoaXZlLmNvbSksIGFuZCBtYXkgYWxzbyBiZSB1c2VkIGluIGNvbm5lY3Rpb24gd2l0aCBvdGhlciBwcm9kdWN0cyBhbmQgc2VydmljZXMgcHJvdmlkZWQgYnkgVHJpYnV0ZSBUZWNobm9sb2d5IGFuZCBpdHMgYWZmaWxpYXRlcyBhbmQgcGFydG5lcnMgaW4gY29ubmVjdGlvbiB3aXRoIHRoZSBTaXRlcywgaW5jbHVkaW5nIHByb2R1Y3RzIHN1Y2ggYXMgVHJpYnV0ZSBCb29rLiBXaXRoIHJlc3BlY3QgdG8gYW55IGltYWdlcyBvciB2aWRlb3MgdGhhdCB5b3UgcG9zdCBvciBwcm92aWRlIGluIGNvbm5lY3Rpb24gd2l0aCB0aGUgU2VydmljZXMsIHlvdSByZXByZXNlbnQgYW5kIHdhcnJhbnQgdGhhdCB5b3UgaGF2ZSBzZWN1cmVkIHRoZSBwZXJtaXNzaW9uIG9mIGFueSBsaXZpbmcgcGVyc29ucyBkZXBpY3RlZCB0aGVyZWluIHRvIChpKSBwb3N0IHRoZW0sIGFuZCAoaWkpIHRoZSB1c2Ugb2Ygc3VjaCBDb250ZW50IGFzIHNldCBvdXQgaW4gdGhlc2UgVGVybXMuIFlvdSBoZXJlYnkgZ3JhbnQgdG8gVHJpYnV0ZSBUZWNobm9sb2d5IGFuZCBpdHMgYWdlbnRzLCBhdHRvcm5leXMsIHJlcHJlc2VudGF0aXZlcywgcHJlZGVjZXNzb3JzLCBzdWNjZXNzb3JzLCBhZmZpbGlhdGVzLCBwYXJlbnRzLCBzdWJzaWRpYXJpZXMsIG5vbWluZWVzLCBsaWNlbnNlZXMsIGV4ZWN1dG9ycywgYWRtaW5pc3RyYXRvcnMsIGFzc2lnbnMsIGZ1bmVyYWwgaG9tZXMgb3Igb3RoZXIgZnVuZXJhbCBwcm9mZXNzaW9uYWxzIHRoYXQgYXJlIG91ciBDbGllbnRzLCBhbmQgdGhvc2UgYWN0aW5nIHdpdGggYXV0aG9yaXR5IG9mIHRoZSBmb3JlZ29pbmcgKGNvbGxlY3RpdmVseSwgJmxkcXVvO1RyaWJ1dGUgVGVjaG5vbG9neSBQYXJ0aWVzJnJkcXVvOyksIGEgd29ybGR3aWRlLCBub24tZXhjbHVzaXZlLCBwZXJwZXR1YWwsIGlycmV2b2NhYmxlLCByb3lhbHR5IGZyZWUsIHRyYW5zZmVyYWJsZSwgYW5kIHN1YmxpY2Vuc2FibGUgcmlnaHQgYW5kIGxpY2Vuc2UgdG8gdXNlLCBzaGFyZSwgcmVwcm9kdWNlLCBkaXN0cmlidXRlLCBzZWxsLCBwcmVwYXJlIGRlcml2YXRpdmUgd29ya3Mgb2YsIGV4Y2VycHQsIHB1YmxpY2x5IGRpc3BsYXksIHB1YmxpY2x5IHBlcmZvcm0sIGhvc3QsIGNhY2hlLCByb3V0ZSwgdHJhbnNtaXQsIHN0b3JlLCByZWZvcm1hdCwgZXhjZXJwdCwgZWRpdCwgYXJjaGl2ZSwgaW5kZXgsIGNyZWF0ZSBhbGdvcml0aG1zIGJhc2VkIG9uLCBtb2RpZnksIGFuZC9vciB0cmFuc2NvZGUgc3VjaCBDb250ZW50IGluIGFueSBhbmQgYWxsIGZvcm1hdHMgYW5kIHRocm91Z2ggYW55IGFuZCBhbGwgbWVhbnMgYW5kIGNoYW5uZWxzLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRocm91Z2ggZG93bmxvYWRpbmcgdGVjaG5vbG9naWVzLCBvbiB0aGUgaW50ZXJuZXQsIGFuZCBpbiBwdWJsaWNhdGlvbnMgYW5kIGFkdmVydGlzZW1lbnRzLiZuYnNwOyBZb3UgYWxzbyBoZXJlYnkgaXJyZXZvY2FibHkgd2FpdmUsIGFzIGFnYWluc3QgdGhlIFRyaWJ1dGUgVGVjaG5vbG9neSBQYXJ0aWVzLCBhbGwgbW9yYWwgcmlnaHRzIGFuZCByaWdodHMgb2YgcmVzdHJhaW50IGluIHN1Y2ggQ29udGVudC4mbmJzcDsgVGhlIGxpY2Vuc2UsIGNvbnNlbnQsIGFuZCByZWxlYXNlIGhlcmVpbiBhcmUgYmluZGluZyB1cG9uIHlvdSBhbmQgeW91ciBoZWlycywgZXhlY3V0b3JzLCBhZG1pbmlzdHJhdG9ycywgc3VjY2Vzc29ycywgbGljZW5zZWVzLCBhbmQgYXNzaWducy48L2xpPg0KPC9vbD4NCjxwPiZuYnNwOzwvcD4NCjxwPkV4Y2VwdCBmb3IgQ29udGVudCwgYWxsIHRleHQsIGdyYXBoaWNzLCBwaG90b2dyYXBocywgdmlkZW9zLCB1c2VyIGludGVyZmFjZXMsIHRyYWRlbWFya3MsIGxvZ29zLCB0YWdsaW5lcywgYW5pbWF0aW9ucywgc291bmRzLCBtdXNpYyBhbmQgb3RoZXIgbWF0ZXJpYWxzIGNvbnRhaW5lZCBvbiBvciBjb21wcmlzaW5nIHRoZSBTZXJ2aWNlcywgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgZGVzaWduLCBzdHJ1Y3R1cmUsIHNlbGVjdGlvbiwgb3JnYW5pemF0aW9uLCBjb21waWxhdGlvbiwgZGlzcGxheSwgYXJyYW5nZW1lbnQsIGV4cHJlc3Npb24sIGFuZCAmbGRxdW87bG9vayBhbmQgZmVlbCZyZHF1bzsgb2YgdGhlIFNpdGVzIGFuZCBTZXJ2aWNlcywgYW5kIHRoZSBzb2Z0d2FyZSBjb21wcmlzaW5nIGFuZC9vciBlbWJvZHlpbmcgdGhlIGZvcmVnb2luZyAoY29sbGVjdGl2ZWx5LCB0aGUgJmxkcXVvO1RyaWJ1dGUgVGVjaG5vbG9neSBNYXRlcmlhbHMmcmRxdW87KSwgYXJlIG93bmVkLCBjb250cm9sbGVkLCBvciBsaWNlbnNlZCBieSBvciB0byBUcmlidXRlIFRlY2hub2xvZ3ksIGFuZCBhcmUgcHJvdGVjdGVkIHVuZGVyIGFwcGxpY2FibGUgaW50ZWxsZWN0dWFsIHByb3BlcnR5IGxhd3MsIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gY29weXJpZ2h0LCB0cmFkZSBkcmVzcywgdHJhZGVtYXJrLCBhbmQvb3IgcGF0ZW50IGxhd3MuJm5ic3A7IFlvdXIgdXNlIG9mIHRoZSBTZXJ2aWNlcyBnaXZlcyB5b3Ugbm8gb3duZXJzaGlwIHJpZ2h0cyBpbiB0aGUgVHJpYnV0ZSBUZWNobm9sb2d5IE1hdGVyaWFscy48L3A+DQo8cD4mbmJzcDs8L3A+DQo8cD5UcmlidXRlIFRlY2hub2xvZ3ksIG9yIHRoaXJkIHBhcnRpZXMgZnJvbSB3aG9tIFRyaWJ1dGUgVGVjaG5vbG9neSBoYXMgcGVybWlzc2lvbiwgb3duIHRoZSB0cmFkZW1hcmtzIGFuZCBzZXJ2aWNlIG1hcmtzIHRoYXQgYXJlIHVzZWQgaW4gdGhlIFNlcnZpY2VzLiZuYnNwOyBBbGwgcmlnaHRzIGFyZSByZXNlcnZlZCBieSBUcmlidXRlIFRlY2hub2xvZ3kgYW5kIHNhaWQgdGhpcmQgcGFydGllcywgYW5kIG5vIGltcGxpZWQgcmlnaHRzIGFyZSBncmFudGVkIHRvIHlvdSBvciBhbnkgdGhpcmQgcGFydGllcy4mbmJzcDsgVGhlc2UgYW5kIG90aGVyIGdyYXBoaWNzLCBsb2dvcywgc2VydmljZSBtYXJrcywgdHJhZGVtYXJrcywgYW5kIHRyYWRlIGRyZXNzIG9mIFRyaWJ1dGUgVGVjaG5vbG9neSBhbmQgaXRzIGxpY2Vuc29ycyBtYXkgbm90IGJlIHVzZWQgd2l0aG91dCBwcmlvciB3cml0dGVuIGNvbnNlbnQgb2YgVHJpYnV0ZSBUZWNobm9sb2d5IG9yIGl0cyBsaWNlbnNvciwgYXMgdGhlIGNhc2UgbWF5IGJlLiZuYnNwOyBXaXRob3V0IGxpbWl0aW5nIHRoZSBmb3JlZ29pbmcsIG5vIFRyaWJ1dGUgVGVjaG5vbG9neSB0cmFkZW1hcmsgb3IgdHJhZGUgZHJlc3MgbWF5IGJlIHVzZWQgaW4gY29ubmVjdGlvbiB3aXRoIGFueSBwcm9kdWN0IG9yIHNlcnZpY2UgdGhhdCBpcyBub3QgVHJpYnV0ZSBUZWNobm9sb2d5J3MgaW4gYW55IG1hbm5lciB0aGF0IGlzIGxpa2VseSB0byBjYXVzZSBjb25mdXNpb24gYW1vbmcgdXNlcnMsIG9yIGluIGFueSBtYW5uZXIgdGhhdCBkaXNwYXJhZ2VzIG9yIGRpc2NyZWRpdHMgVHJpYnV0ZSBUZWNobm9sb2d5LiZuYnNwOzwvcD4NCjxwPiZuYnNwOzwvcD4NCjxwPllvdSBncmFudCBUcmlidXRlIFRlY2hub2xvZ3kgYSBwZXJwZXR1YWwsIHJveWFsdHkgZnJlZSwgaXJyZXZvY2FibGUsIHN1Yi1saWNlbnNhYmxlLCBhc3NpZ25hYmxlLCBhbmQgdHJhbnNmZXJhYmxlIGxpY2Vuc2UgdG8gYW55IGZlZWRiYWNrLCBzdWJtaXNzaW9ucywgaWRlYXMsIGNvbmNlcHRzLCBrbm93IGhvdywgb3IgdGVjaG5pcXVlcyB0aGF0IHlvdSBzdWJtaXQgYWJvdXQgdGhlIFNlcnZpY2VzIG9yIFRyaWJ1dGUgVGVjaG5vbG9neSBNYXRlcmlhbHMgZm9yIGFueSBwdXJwb3NlIChpbmNsdWRpbmcsIHdpdGhvdXQgbGltaXRhdGlvbiwgY29tbWVyY2lhbGl6YXRpb24pIGFuZCB3aXRob3V0IGNvbXBlbnNhdGlvbiB0byB5b3UuPC9wPg0KPHA+Jm5ic3A7PC9wPg0KPG9sPg0KPGxpPjxzdHJvbmc+VXNlciBDb250ZW50Ljwvc3Ryb25nPiZuYnNwO1lvdSByZXByZXNlbnQgYW5kIHdhcnJhbnQgdGhhdCB5b3Ugb3duIG9yIG90aGVyd2lzZSBoYXZlIHRoZSByaWdodHMsIGxpY2Vuc2VzLCBjb25zZW50cyBhbmQgcGVybWlzc2lvbnMgbmVjZXNzYXJ5IHRvIHByb3ZpZGUgVHJpYnV0ZSBUZWNobm9sb2d5IHRoZSBDb250ZW50IHlvdSBwcm92aWRlIGluIGNvbm5lY3Rpb24gd2l0aCB0aGUgU2VydmljZXMuIElmIHlvdSBiZWxpZXZlIHRoYXQgeW91ciBDb250ZW50IG9yIGFueSBvdGhlciBtYXRlcmlhbCBwb3N0ZWQgaW4gY29ubmVjdGlvbiB3aXRoIHRoZSBTZXJ2aWNlcyBoYXMgYmVlbiB1c2VkIGluIGEgd2F5IHRoYXQgY29uc3RpdHV0ZXMgY29weXJpZ2h0IGluZnJpbmdlbWVudCwgcGxlYXNlIG5vdGlmeSB1cyBmb2xsb3dpbmcgdGhlIHByb2NlZHVyZXMgc2V0IGZvcnRoIGluIHRoaXMgU2VjdGlvbi48L2xpPg0KPC9vbD4NCjxwPjxzdHJvbmc+Jm5ic3A7PC9zdHJvbmc+PC9wPg0KPHA+V2UgcmVzcGVjdCB0aGUgaW50ZWxsZWN0dWFsIHByb3BlcnR5IHJpZ2h0cyBvZiBvdGhlcnMgYW5kIGV4cGVjdCBvdXIgdXNlcnMgdG8gZG8gdGhlIHNhbWUuIEluIGFjY29yZGFuY2Ugd2l0aCB0aGUgRGlnaXRhbCBNaWxsZW5uaXVtIENvcHlyaWdodCBBY3QsIHdlIHdpbGwgcmVzcG9uZCBwcm9tcHRseSB0byBub3RpY2VzIG9mIGFsbGVnZWQgaW5mcmluZ2VtZW50IHRoYXQgYXJlIHJlcG9ydGVkIHRvIG91ciBkZXNpZ25hdGVkIENvcHlyaWdodCBBZ2VudCwgaWRlbnRpZmllZCBiZWxvdy48L3A+DQo8cD4mbmJzcDs8L3A+DQo8cD48dT5Ob3RpY2VzIG9mIEFsbGVnZWQgSW5mcmluZ2VtZW50PC91Pjo8L3A+DQo8cD4mbmJzcDs8L3A+DQo8cD5JZiB5b3UgYXJlIGEgY29weXJpZ2h0IG93bmVyLCBhdXRob3JpemVkIHRvIGFjdCBvbiBiZWhhbGYgb2Ygb25lLCBvciBhdXRob3JpemVkIHRvIGFjdCB1bmRlciBhbnkgZXhjbHVzaXZlIHJpZ2h0IHVuZGVyIGNvcHlyaWdodCwgcGxlYXNlIHJlcG9ydCBhbGxlZ2VkIGNvcHlyaWdodCBpbmZyaW5nZW1lbnRzIHRha2luZyBwbGFjZSBvbiBvciB0aHJvdWdoIG91ciBTZXJ2aWNlcyBieSBzZW5kaW5nIHVzIGEgbm90aWNlICgmbGRxdW87Tm90aWNlJnJkcXVvOykgY29tcGx5aW5nIHdpdGggdGhlIGZvbGxvd2luZyByZXF1aXJlbWVudHMuPC9wPg0KPHA+Jm5ic3A7PC9wPg0KPG9sPg0KPGxpPklkZW50aWZ5IHRoZSBjb3B5cmlnaHRlZCB3b3JrcyB0aGF0IHlvdSBjbGFpbSBoYXZlIGJlZW4gaW5mcmluZ2VkLjwvbGk+DQo8L29sPg0KPHA+Jm5ic3A7PC9wPg0KPG9sPg0KPGxpPklkZW50aWZ5IHRoZSBtYXRlcmlhbCBvciBsaW5rIHlvdSBjbGFpbSBpcyBpbmZyaW5naW5nIChvciB0aGUgc3ViamVjdCBvZiBpbmZyaW5naW5nIGFjdGl2aXR5KSBhbmQgdGhhdCBhY2Nlc3MgdG8gd2hpY2ggaXMgdG8gYmUgZGlzYWJsZWQsIGluY2x1ZGluZyBhdCBhIG1pbmltdW0sIGlmIGFwcGxpY2FibGUsIHRoZSBVUkwgb2YgdGhlIGxpbmsgc2hvd24gb24gdGhlIFNpdGUgd2hlcmUgc3VjaCBtYXRlcmlhbCBtYXkgYmUgZm91bmQuPC9saT4NCjwvb2w+DQo8cD4mbmJzcDs8L3A+DQo8b2w+DQo8bGk+UHJvdmlkZSB5b3VyIG1haWxpbmcgYWRkcmVzcywgdGVsZXBob25lIG51bWJlciwgYW5kLCBpZiBhdmFpbGFibGUsIGVtYWlsIGFkZHJlc3MuPC9saT4NCjwvb2w+DQo8cD4mbmJzcDs8L3A+DQo8b2w+DQo8bGk+SW5jbHVkZSBib3RoIG9mIHRoZSBmb2xsb3dpbmcgc3RhdGVtZW50cyBpbiB0aGUgYm9keSBvZiB0aGUgTm90aWNlOjwvbGk+DQo8L29sPg0KPHA+Jm5ic3A7PC9wPg0KPHA+IkkgaGVyZWJ5IHN0YXRlIHRoYXQgSSBoYXZlIGEgZ29vZCBmYWl0aCBiZWxpZWYgdGhhdCB0aGUgZGlzcHV0ZWQgdXNlIG9mIHRoZSBjb3B5cmlnaHRlZCBtYXRlcmlhbCBpcyBub3QgYXV0aG9yaXplZCBieSB0aGUgY29weXJpZ2h0IG93bmVyLCBpdHMgYWdlbnQsIG9yIHRoZSBsYXcgKGUuZy4sIGFzIGEgZmFpciB1c2UpLiI8L3A+DQo8cD4mbmJzcDs8L3A+DQo8cD4iSSBoZXJlYnkgc3RhdGUgdGhhdCB0aGUgaW5mb3JtYXRpb24gaW4gdGhpcyBOb3RpY2UgaXMgYWNjdXJhdGUgYW5kLCB1bmRlciBwZW5hbHR5IG9mIHBlcmp1cnksIHRoYXQgSSBhbSB0aGUgb3duZXIsIG9yIGF1dGhvcml6ZWQgdG8gYWN0IG9uIGJlaGFsZiBvZiB0aGUgb3duZXIsIG9mIHRoZSBjb3B5cmlnaHQgb3Igb2YgYW4gZXhjbHVzaXZlIHJpZ2h0IHVuZGVyIHRoZSBjb3B5cmlnaHQgdGhhdCBpcyBhbGxlZ2VkbHkgaW5mcmluZ2VkLiI8L3A+DQo8cD4mbmJzcDs8L3A+DQo8b2w+DQo8bGk+UHJvdmlkZSB5b3VyIGZ1bGwgbGVnYWwgbmFtZSBhbmQgeW91ciBlbGVjdHJvbmljIG9yIHBoeXNpY2FsIHNpZ25hdHVyZS48L2xpPg0KPC9vbD4NCjxwPiZuYnNwOzwvcD4NCjxwPlBsZWFzZSBkZWxpdmVyIHRoaXMgTm90aWNlLCB3aXRoIGFsbCBpdGVtcyBjb21wbGV0ZWQsIHRvIG91ciBkZXNpZ25hdGVkIENvcHlyaWdodCBBZ2VudCBhdCB0aGUgZm9sbG93aW5nIGFkZHJlc3M6PC9wPg0KPHA+Jm5ic3A7PC9wPg0KPHA+Q29weXJpZ2h0IEFnZW50PC9wPg0KPHA+Yy9vIFRyaWJ1dGUgVGVjaG5vbG9neTwvcD4NCjxwPjI1MDEgUGFybWVudGVyIFN0cmVldCwgU3VpdGUgMzAwQzwvcD4NCjxwPk1pZGRsZXRvbiwgV0kgNTM1NjI8L3A+DQo8cD5QaG9uZTogODY2LTMwMy0xODgwPC9wPg0KPHA+RW1haWw6IGNvcHlyaWdodEB0cmlidXRldGVjaC5jb208L3A+DQo8cD4mbmJzcDs8L3A+DQo8cD5UcmlidXRlIFRlY2hub2xvZ3kgaGFzIGFkb3B0ZWQgYW5kIGltcGxlbWVudHMgYSBwb2xpY3kgdGhhdCBwcm92aWRlcyBmb3IgdGVybWluYXRpb24gaW4gYXBwcm9wcmlhdGUgY2lyY3Vtc3RhbmNlcyBvZiBhY2NvdW50cyBvZiB1c2VycyB3aG8gcmVwZWF0ZWRseSBpbmZyaW5nZSBjb3B5cmlnaHQgb3Igb3RoZXIgaW50ZWxsZWN0dWFsIHByb3BlcnR5IHJpZ2h0cyBvZiBUcmlidXRlIFRlY2hub2xvZ3kgb3Igb3RoZXJzLiZuYnNwOzwvcD4NCjxwPiZuYnNwOzwvcD4NCjxvbD4NCjxsaT48c3Ryb25nPkluZGVtbmlmaWNhdGlvbi48L3N0cm9uZz4mbmJzcDtZb3UgYWdyZWUgdGhhdCB5b3Ugd2lsbCBiZSBwZXJzb25hbGx5IHJlc3BvbnNpYmxlIGZvciB5b3VyIHVzZSBvZiB0aGUgU2VydmljZXMsIGFuZCB5b3UgYWdyZWUgdG8gZGVmZW5kLCBpbmRlbW5pZnksIGFuZCBob2xkIGhhcm1sZXNzIFRyaWJ1dGUgVGVjaG5vbG9neSwgaXRzIGFmZmlsaWF0ZXMsIGFuZCBlYWNoIG9mIHRoZWlyIHJlc3BlY3RpdmUgZGlyZWN0b3JzLCBvZmZpY2VycywgZW1wbG95ZWVzIGFuZCBhZ2VudHMgZnJvbSBhbmQgYWdhaW5zdCBhbnkgYW5kIGFsbCBjbGFpbXMsIGxpYWJpbGl0aWVzLCBkYW1hZ2VzLCBsb3NzZXMsIGFuZCBleHBlbnNlcyAoaW5jbHVkaW5nIGF0dG9ybmV5cycgYW5kIGFjY291bnRpbmcgZmVlcyBhbmQgY29zdHMpLCBhcmlzaW5nIG91dCBvZiBvciBpbiBhbnkgd2F5IGNvbm5lY3RlZCB3aXRoIChpKSB5b3VyIGFjY2VzcyB0bywgdXNlIG9mLCBvciBhbGxlZ2VkIHVzZSBvZiB0aGUgU2VydmljZXMsIGluY2x1ZGluZywgd2l0aG91dCBsaW1pdGF0aW9uLCBpbnZvbHZpbmcgYW55IENvbnRlbnQgeW91IHBvc3Qgb3Igc3VibWl0IHRvIHVzIG9yIGluIGNvbm5lY3Rpb24gd2l0aCB0aGUgU2VydmljZXM7IChpaSkgeW91ciB2aW9sYXRpb24gb2YgdGhlIFRlcm1zIG9yIGFueSBhcHBsaWNhYmxlIGxhdyBvciByZWd1bGF0aW9uOyAoaWlpKSB5b3VyIHZpb2xhdGlvbiBvZiBhbnkgdGhpcmQgcGFydHkgcmlnaHQsIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gYW55IGludGVsbGVjdHVhbCBwcm9wZXJ0eSByaWdodCwgcHVibGljaXR5LCBjb25maWRlbnRpYWxpdHksIHByb3BlcnR5LCBvciBwcml2YWN5IHJpZ2h0OyAoaXYpIGFueSBkaXNwdXRlcyBvciBpc3N1ZXMgYmV0d2VlbiB5b3UgYW5kIGFueSB0aGlyZCBwYXJ0eTsgb3IgKHYpIGFjY2VzcyB0bywgdXNlIG9mLCBvciBhbGxlZ2VkIHVzZSBvZiB0aGUgU2VydmljZXMgYnkgYW55b25lIGFjY2Vzc2luZyB0aGUgU2VydmljZXMgdXNpbmcgeW91ciB1c2VyIG5hbWUgYW5kIHBhc3N3b3JkLiBUcmlidXRlIFRlY2hub2xvZ3kgcmVzZXJ2ZXMgdGhlIHJpZ2h0LCBhdCBvdXIgb3duIGV4cGVuc2UsIHRvIGFzc3VtZSB0aGUgZXhjbHVzaXZlIGRlZmVuc2UgYW5kIGNvbnRyb2wgb2YgYW55IG1hdHRlciBvdGhlcndpc2Ugc3ViamVjdCB0byBpbmRlbW5pZmljYXRpb24gYnkgeW91LCBhbmQgaW4gc3VjaCBjYXNlLCB5b3UgYWdyZWUgdG8gY29vcGVyYXRlIHdpdGggb3VyIGRlZmVuc2Ugb2Ygc3VjaCBjbGFpbS4gRm9yIHRoZSBhdm9pZGFuY2Ugb2YgZG91YnQgYW5kIHdpdGhvdXQgbGltaXRpbmcgdGhlIGZvcmVnb2luZywgeW91IGFncmVlIHRvIGluZGVtbmlmeSBUcmlidXRlIFRlY2hub2xvZ3kgYWdhaW5zdCBhbnkgY2xhaW1zIHRoYXQgQ29udGVudCB5b3Ugc3VibWl0IHRvIFRyaWJ1dGUgVGVjaG5vbG9neSB2aW9sYXRlcyB0aGUgaW50ZWxsZWN0dWFsIHByb3BlcnR5IGFuZC9vciBwcml2YWN5IHJpZ2h0cyBvZiBhbnkgcGVyc29uIG9yIHRoaXJkIHBhcnR5LjwvbGk+DQo8L29sPg0KPHA+Jm5ic3A7PC9wPg0KPG9sPg0KPGxpPjxzdHJvbmc+VGVybWluYXRpb24uPC9zdHJvbmc+Jm5ic3A7SWYgeW91IHZpb2xhdGUgdGhlc2UgVGVybXMsIHlvdXIgcGVybWlzc2lvbiB0byB1c2UgdGhlIFNlcnZpY2VzIHdpbGwgYXV0b21hdGljYWxseSB0ZXJtaW5hdGUuIEluIGFkZGl0aW9uLCBUcmlidXRlIFRlY2hub2xvZ3kgaW4gaXRzIHNvbGUgZGlzY3JldGlvbiBtYXkgc3VzcGVuZCBvciB0ZXJtaW5hdGUgeW91ciB1c2VyIGFjY291bnQgYW5kL29yIHN1c3BlbmQgb3IgdGVybWluYXRlIHNvbWUgb3IgYWxsIG9mIHlvdXIgYWNjZXNzIHRvIHRoZSBTZXJ2aWNlcyBhdCBhbnkgdGltZSwgd2l0aCBvciB3aXRob3V0IG5vdGljZSB0byB5b3UuIFlvdSBtYXkgdGVybWluYXRlIHlvdXIgYWNjb3VudCBhdCBhbnkgdGltZSBieSBjb250YWN0aW5nIFRyaWJ1dGUgVGVjaG5vbG9neSBhdCZuYnNwO3dlYnNpdGVzQHRyaWJ1dGV0ZWNoLmNvbS4gQWZ0ZXIgeW91ciBhY2NvdW50IGlzIHRlcm1pbmF0ZWQsIGluZm9ybWF0aW9uIGFuZCBjb250ZW50IHByZXZpb3VzbHkgcHJvdmlkZWQgYnkgeW91IHdpbGwgbm8gbG9uZ2VyIGJlIGFjY2Vzc2libGUgdGhyb3VnaCB5b3VyIGFjY291bnQsIGJ1dCBUcmlidXRlIFRlY2hub2xvZ3kgbWF5IGNvbnRpbnVlIHRvIHN0b3JlIHN1Y2ggaW5mb3JtYXRpb24gYW5kIGNvbnRlbnQsIGFuZCBpdCBtYXkgYWxzbyBiZSBzdG9yZWQgYnkgdGhpcmQgcGFydGllcyB0byB3aG9tIGl0IGhhcyBiZWVuIHRyYW5zZmVycmVkIHRocm91Z2ggeW91ciB1c2Ugb2YgdGhlIFNlcnZpY2VzLjwvbGk+DQo8L29sPg0KPHA+Jm5ic3A7PC9wPg0KPG9sPg0KPGxpPjxzdHJvbmc+TW9kaWZpY2F0aW9uIG9mIHRoZSBUZXJtcy48L3N0cm9uZz4mbmJzcDtUcmlidXRlIFRlY2hub2xvZ3kgcmVzZXJ2ZXMgdGhlIHJpZ2h0IGF0IGFueSB0aW1lIHRvIG1vZGlmeSB0aGVzZSBUZXJtcyBhbmQgdG8gaW1wb3NlIG5ldyBvciBhZGRpdGlvbmFsIHRlcm1zIG9yIGNvbmRpdGlvbnMgb24geW91ciB1c2Ugb2YgdGhlIFNlcnZpY2VzLiBTdWNoIG1vZGlmaWNhdGlvbnMgYW5kIGFkZGl0aW9uYWwgdGVybXMgYW5kIGNvbmRpdGlvbnMgd2lsbCBiZSBlZmZlY3RpdmUgaW1tZWRpYXRlbHkgYW5kIGluY29ycG9yYXRlZCBpbnRvIHRoZXNlIFRlcm1zIHVwb24gdXBkYXRpbmcgdGhlIHBvc3Rpbmcgb2YgdGhlc2UgVGVybXMuIFdlIHdpbGwgbWFrZSByZWFzb25hYmxlIGVmZm9ydHMgdG8gbm90aWZ5IHlvdSBvZiBhbnkgbWF0ZXJpYWwgY2hhbmdlcyB0byB0aGUgVGVybXMsIGluY2x1ZGluZyBieSB1cGRhdGluZyB0aGlzIHBvc3RpbmcuIFlvdSBzaG91bGQsIHRoZXJlZm9yZSwgcGVyaW9kaWNhbGx5IHZpc2l0IHRoaXMgcGFnZSB0byByZXZpZXcgdGhlIGN1cnJlbnQgVGVybXMsIHNvIHlvdSBhcmUgYXdhcmUgb2YgYW55IHN1Y2ggcmV2aXNpb25zIHRvIHdoaWNoIHlvdSBhcmUgYm91bmQuIFlvdXIgY29udGludWVkIHVzZSBvZiB0aGUgU2VydmljZXMgZm9sbG93aW5nIHJldmlzaW9ucyB0byB0aGVzZSBUZXJtcyB3aWxsIGJlIGRlZW1lZCBhY2NlcHRhbmNlIG9mIGFueSBtb2RpZmljYXRpb25zIHRvIHRoZSBUZXJtcy48L2xpPg0KPC9vbD4NCjxwPiZuYnNwOzwvcD4NCjxvbD4NCjxsaT48c3Ryb25nPkRpc2NsYWltZXJzIG9mIFdhcnJhbnRpZXMuPC9zdHJvbmc+Jm5ic3A7VEhFIFNFUlZJQ0VTIEFSRSBQUk9WSURFRCAmbGRxdW87QVMgSVMmcmRxdW87IEFORCBPTiBBTiAmbGRxdW87QVMgQVZBSUxBQkxFJnJkcXVvOyBCQVNJUywgV0lUSE9VVCBXQVJSQU5UWSBPUiBDT05ESVRJT04gT0YgQU5ZIEtJTkQsIEVJVEhFUiBFWFBSRVNTIE9SIElNUExJRUQuJm5ic3A7IEFsdGhvdWdoIFRyaWJ1dGUgVGVjaG5vbG9neSBzZWVrcyB0byBtYWludGFpbiBzYWZlLCBzZWN1cmUsIGFjY3VyYXRlLCBhbmQgd2VsbC1mdW5jdGlvbmluZyBzZXJ2aWNlcywgd2UgY2Fubm90IGd1YXJhbnRlZSB0aGUgY29udGludW91cyBvcGVyYXRpb24gb2Ygb3IgYWNjZXNzIHRvIG91ciBTZXJ2aWNlcywgYW5kIHRoZXJlIG1heSBhdCB0aW1lcyBiZSBpbmFkdmVydGVudCB0ZWNobmljYWwgb3IgZmFjdHVhbCBlcnJvcnMgb3IgaW5hY2N1cmFjaWVzLiZuYnNwOyBUUklCVVRFIFRFQ0hOT0xPR1kgU1BFQ0lGSUNBTExZIChCVVQgV0lUSE9VVCBMSU1JVEFUSU9OKSBESVNDTEFJTVMgKEkpIEFOWSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSwgUVVBTElUWSBPRiBJTkZPUk1BVElPTiwgUVVJRVQgRU5KT1lNRU5ULCBBTkQgVElUTEUvTk9OLUlORlJJTkdFTUVOVDsgQU5EIChJSSkgQU5ZIFdBUlJBTlRJRVMgQVJJU0lORyBPVVQgT0YgQ09VUlNFLU9GLURFQUxJTkcsIFVTQUdFLCBPUiBUUkFERS4mbmJzcDsgWU9VIEFTU1VNRSBBTEwgUklTSyBGT1IgQU5ZL0FMTCBEQU1BR0VTIFRIQVQgTUFZIFJFU1VMVCBGUk9NIFlPVVIgVVNFIE9GIE9SIEFDQ0VTUyBUTyBUSEUgU0lURVMgQU5EIFRIRSBTRVJWSUNFUy4mbmJzcDsgVFJJQlVURSBURUNITk9MT0dZIERPRVMgTk9UIFdBUlJBTlQgT1IgR1VBUkFOVEVFIFRIRSBBQ0NVUkFDWSwgQ09NUExFVEVORVNTIE9SIFRJTUVMSU5FU1MgT0YsIEFORCBESVNDTEFJTVMgQUxMIExJQUJJTElUWSBGT1IsIEFOWSBFUlJPUlMgT1IgT1RIRVIgSU5BQ0NVUkFDSUVTIElOIFRIRSBJTkZPUk1BVElPTiwgQ09OVEVOVCwgUkVDT01NRU5EQVRJT05TIEFORCBNQVRFUklBTFMgTUFERSBBVkFJTEFCTEUgVEhST1VHSCBUSEUgU0lURVMgT1IgVEhFIFNFUlZJQ0VTLiBUUklCVVRFIFRFQ0hOT0xPR1kgRE9FUyBOT1QgV0FSUkFOVCBUSEFUIEZJTEVTIEFWQUlMQUJMRSBGT1IgRE9XTkxPQUQgV0lMTCBCRSBGUkVFIE9GIFZJUlVTRVMsIFdPUk1TLCBUUk9KQU4gSE9SU0VTIE9SIE9USEVSIERFU1RSVUNUSVZFIFBST0dSQU1NSU5HLiBZT1UgQVJFIFJFU1BPTlNJQkxFIEZPUiBJTVBMRU1FTlRJTkcgUFJPQ0VEVVJFUyBTVUZGSUNJRU5UIFRPIFNBVElTRlkgWU9VUiBORUVEUyBGT1IgREFUQSBCQUNLIFVQIEFORCBTRUNVUklUWS48L2xpPg0KPC9vbD4NCjxwPiZuYnNwOzwvcD4NCjxvbD4NCjxsaT48c3Ryb25nPkxpbWl0YXRpb24gb2YgTGlhYmlsaXR5Ljwvc3Ryb25nPiZuYnNwO0lOIE5PIEVWRU5UIFdJTEwgVFJJQlVURSBURUNITk9MT0dZIE9SIElUUyBBRkZJTElBVEVTLCBWRU5ET1JTLCBTVVBQTElFUlMsIE9SIFBBUlRORVJTIEJFIExJQUJMRSBUTyBZT1UgRk9SIEFOWSBJTkNJREVOVEFMLCBTUEVDSUFMLCBDT05TRVFVRU5USUFMLCBJTkRJUkVDVCwgRVhFTVBMQVJZIE9SIFBVTklUSVZFIERBTUFHRVMgKElOQ0xVRElORywgV0lUSE9VVCBMSU1JVEFUSU9OLCBUSE9TRSBSRVNVTFRJTkcgRlJPTSBMT1NUIFBST0ZJVFMsIExPU1QgREFUQSwgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSwgV0hFVEhFUiBCQVNFRCBPTiBXQVJSQU5UWSwgQ09OVFJBQ1QsIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFKSwgU1RBVFVURSwgT1IgQU5ZIE9USEVSIExFR0FMIFRIRU9SWSwgV0hFVEhFUiBPUiBOT1QgVFJJQlVURSBURUNITk9MT0dZIEhBUyBCRUVOIElORk9STUVEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS48L2xpPg0KPC9vbD4NCjxwPiZuYnNwOzwvcD4NCjxwPk5PVFdJVEhTVEFORElORyBBTllUSElORyBUTyBUSEUgQ09OVFJBUlkgSU4gVEhFU0UgVEVSTVMsIFVOREVSIE5PIENJUkNVTVNUQU5DRVMgU0hBTEwgVFJJQlVURSBURUNITk9MT0dZJnJzcXVvO1MsIE9SIElUUyBBRkZJTElBVEUmcnNxdW87UywgVkVORE9SJnJzcXVvO1MsIFNVUFBMSUVSJnJzcXVvO1MsIE9SIFBBUlRORVImcnNxdW87UywgQUdHUkVHQVRFIExJQUJJTElUWSBUTyBZT1UgRVhDRUVEIFRIRSBMRVNTRVIgT0YgVEhFIEFNT1VOVCBZT1UgUEFJRCBUTyBVUyBGT1IgVEhFIFBST0RVQ1QgT1IgU0VSVklDRSBSRUxBVEVEIFRPIFRIRSBDTEFJTSwgSUYgQU5ZLCBPUiBPTkUgSFVORFJFRCBET0xMQVJTICgkMTAwKS4mbmJzcDsgU09NRSBKVVJJU0RJQ1RJT05TIERPIE5PVCBBTExPVyBUSEUgRElTQ0xBSU1FUiBPRiBXQVJSQU5USUVTIE9SIExJTUlUQVRJT04gT0YgTElBQklMSVRZIElOIENFUlRBSU4gQ0lSQ1VNU1RBTkNFUy4mbmJzcDsgQUNDT1JESU5HTFksIFNPTUUgT0YgVEhFIEFCT1ZFIExJTUlUQVRJT05TIE1BWSBOT1QgQVBQTFkgVE8gWU9VLjwvcD4NCjxwPiZuYnNwOzwvcD4NCjxvbD4NCjxsaT48c3Ryb25nPkludGVycHJldGF0aW9ucyBhbmQgRGlzcHV0ZXMuPC9zdHJvbmc+Jm5ic3A7WU9VIEFORCBUUklCVVRFIFRFQ0hOT0xPR1kgQVJFIEFHUkVFSU5HIFRPIEdJVkUgVVAgQU5ZIFJJR0hUUyBUTyBMSVRJR0FURSBDTEFJTVMgSU4gQSBDT1VSVCBPUiBCRUZPUkUgQSBKVVJZLCBPUiBUTyBQQVJUSUNJUEFURSBJTiBBIENMQVNTIEFDVElPTiBPUiBSRVBSRVNFTlRBVElWRSBBQ1RJT04gV0lUSCBSRVNQRUNUIFRPIEEgQ0xBSU0uJm5ic3A7IE9USEVSIFJJR0hUUyBUSEFUIFlPVSBXT1VMRCBIQVZFIElGIFlPVSBXRU5UIFRPIENPVVJUIE1BWSBBTFNPIEJFIFVOQVZBSUxBQkxFIE9SIE1BWSBCRSBMSU1JVEVEIElOIEFSQklUUkFUSU9OLjwvbGk+DQo8L29sPg0KPHA+Jm5ic3A7PC9wPg0KPG9sPg0KPGxpPkFOWSBDTEFJTSwgRElTUFVURSBPUiBDT05UUk9WRVJTWSAoV0hFVEhFUiBJTiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIFdIRVRIRVIgUFJFLUVYSVNUSU5HLCBQUkVTRU5UIE9SIEZVVFVSRSwgQU5EIElOQ0xVRElORyBTVEFUVVRPUlksIENPTlNVTUVSIFBST1RFQ1RJT04sIENPTU1PTiBMQVcsIElOVEVOVElPTkFMIFRPUlQsIElOSlVOQ1RJVkUgQU5EIEVRVUlUQUJMRSBDTEFJTVMpIEJFVFdFRU4gWU9VIEFORCBVUyBBUklTSU5HIEZST00gT1IgUkVMQVRJTkcgSU4gQU5ZIFdBWSBUTyBUSEVTRSBURVJNUyBPUiBZT1VSIFVTRSBPRiBUSEUgU0lURSBPUiBTRVJWSUNFUywgSU5DTFVESU5HIEFOWSBQVVJDSEFTRSBPUiBVU0UgT0YgT1VSIFNFUlZJQ0VTIE9SIFBST0RVQ1RTLCBXSUxMIEJFIFJFU09MVkVEIEVYQ0xVU0lWRUxZIEFORCBGSU5BTExZIEJZIEJJTkRJTkcgQVJCSVRSQVRJT04uPC9saT4NCjwvb2w+DQo8cD4mbmJzcDs8L3A+DQo8b2wgc3RhcnQ9Ijc4NzkiPg0KPGxpPklmIHRoZSBsb2NhdGlvbiBvZiB0aGUgYnVzaW5lc3MgYWRkcmVzcyBvZiB0aGUgQ2xpZW50LCBvciBvdGhlciBidXNpbmVzcyBvbiB3aG9zZSB3ZWJzaXRlIHRoZXNlIFRlcm1zIGFwcGVhciwgaXMgaW4gdGhlIFVuaXRlZCBTdGF0ZXMgb3IgYW55d2hlcmUgZWxzZSBpbiB0aGUgd29ybGQgb3V0c2lkZSBvZiBDYW5hZGEsIGFyYml0cmF0aW9uIHdpbGwgYmUgYWRtaW5pc3RlcmVkIGJ5IHRoZSBBbWVyaWNhbiBBcmJpdHJhdGlvbiBBc3NvY2lhdGlvbiAoJmxkcXVvO0FBQSZyZHF1bzspIGluIGFjY29yZGFuY2Ugd2l0aCBlaXRoZXIgdGhlIENvbnN1bWVyIEFyYml0cmF0aW9uIFJ1bGVzIG9yIHRoZSBDb21tZXJjaWFsIEFyYml0cmF0aW9uIFJ1bGVzIGFzIGFwcGxpY2FibGUgKHRoZSAmbGRxdW87QUFBIFJ1bGVzJnJkcXVvOykgdGhlbiBpbiBlZmZlY3QsIGV4Y2VwdCBhcyBtb2RpZmllZCBieSB0aGlzIFNlY3Rpb24gMTIsIGFuZCB0aGUgRmVkZXJhbCBBcmJpdHJhdGlvbiBBY3QgKCZsZHF1bztGQUEmcmRxdW87KSB3aWxsIGdvdmVybiB0aGUgaW50ZXJwcmV0YXRpb24gYW5kIGVuZm9yY2VtZW50IG9mIHRoaXMgU2VjdGlvbiAxMjsgcHJvdmlkZWQsIHRoYXQgaWYgdGhlIEZBQSBpcyBpbmFwcGxpY2FibGUgZm9yIGFueSByZWFzb24sIHRoZSBhcHBsaWNhYmxlIGdvdmVybmluZyBsYXcgaWRlbnRpZmllZCBpbiB0aGUgdGFibGUgaW4gU2VjdGlvbiAxMyBzaGFsbCBhcHBseSwgaW5jbHVkaW5nIHdpdGggcmVzcGVjdCB0byBEZWxhd2FyZSBsYXcsIERlbC4gQ29kZSB0aXQuIDEwICZzZWN0OyA1NzAxIGV0IHNlcSwgd2l0aG91dCByZWdhcmQgdG8gY2hvaWNlIG9mIGxhdyBwcmluY2lwbGVzLiAoVGhlIEFBQSBSdWxlcyBhcmUgYXZhaWxhYmxlIGF0IGFkci5vcmcgb3IgYnkgY2FsbGluZyB0aGUgQUFBIGF0IDEtODAwLTc3OC03ODc5LikgVW5sZXNzIHlvdSBhbmQgd2UgbXV0dWFsbHkgYWdyZWUgb3RoZXJ3aXNlLCBhbnkgaW4tcGVyc29uIGFyYml0cmF0aW9uIGhlYXJpbmdzIGJldHdlZW4geW91IGFuZCB1cyB3aWxsIHRha2UgcGxhY2UgaW4gdGhlIGFwcGxpY2FibGUganVyaXNkaWN0aW9uIGxpc3RlZCBpbiB0aGUgdGFibGUgaW4gU2VjdGlvbiAxMyBiZWxvdy48L2xpPg0KPC9vbD4NCjxwPiZuYnNwOzwvcD4NCjxvbCBzdGFydD0iODQ1Ij4NCjxsaT5JZiB0aGUgbG9jYXRpb24gb2YgdGhlIGJ1c2luZXNzIGFkZHJlc3Mgb2YgdGhlIENsaWVudCwgb3Igb3RoZXIgYnVzaW5lc3Mgb24gd2hvc2Ugd2Vic2l0ZSB0aGVzZSBUZXJtcyBhcHBlYXIsIGlzIGluIENhbmFkYSwgYXJiaXRyYXRpb24gd2lsbCBiZSBhZG1pbmlzdGVyZWQgYnkgdGhlIEludGVybmF0aW9uYWwgQ2VudHJlIGZvciBEaXNwdXRlIFJlc29sdXRpb24gQ2FuYWRhICgmbGRxdW87SUNEUiBDYW5hZGEmcmRxdW87KSBpbiBhY2NvcmRhbmNlIHdpdGggdGhlIENhbmFkaWFuIEFyYml0cmF0aW9uIFJ1bGVzICh0aGUgJmxkcXVvO0lDRFIgQ2FuYWRhIEFyYml0cmF0aW9uIFJ1bGVzJnJkcXVvOykgdGhlbiBpbiBlZmZlY3QsIGV4Y2VwdCBhcyBtb2RpZmllZCBieSB0aGlzIFNlY3Rpb24uIChUaGUgSUNEUiBDYW5hZGEgQXJiaXRyYXRpb24gUnVsZXMgYXJlIGF2YWlsYWJsZSBhdCBJQ0RSLm9yZyBvciBieSBjYWxsaW5nIHRoZSBJQ0RSIENhbmFkYSBhdCAxLTg0NC04NTktMDg0NS4pIFRoZSBzZWF0IG9mIGFyYml0cmF0aW9uIHNoYWxsIGJlIFRvcm9udG8sIE9udGFyaW8uIFVubGVzcyB5b3UgYW5kIHdlIG11dHVhbGx5IGFncmVlIG90aGVyd2lzZSwgYW55IGluLXBlcnNvbiBhcmJpdHJhdGlvbiBoZWFyaW5ncyBiZXR3ZWVuIHlvdSBhbmQgdXMgd2lsbCB0YWtlIHBsYWNlIGluIHRoZSBhcHBsaWNhYmxlIGp1cmlzZGljdGlvbiBsaXN0ZWQgaW4gdGhlIHRhYmxlIGluIFNlY3Rpb24gMTMgYmVsb3cuPC9saT4NCjwvb2w+DQo8cD4mbmJzcDs8L3A+DQo8b2w+DQo8bGk+RXhjZXB0IGFzIHByb3ZpZGVkIGhlcmVpbiwgdGhlIGFyYml0cmF0b3Igd2lsbCBoYXZlIGV4Y2x1c2l2ZSBhdXRob3JpdHkgdG8gcmVzb2x2ZSBhbnkgZGlzcHV0ZSByZWxhdGluZyB0byBhcmJpdHJhYmlsaXR5IGFuZC9vciBlbmZvcmNlYWJpbGl0eSBvZiB0aGlzIGFyYml0cmF0aW9uIHByb3Zpc2lvbiwgaW5jbHVkaW5nIGFueSB1bmNvbnNjaW9uYWJpbGl0eSBjaGFsbGVuZ2Ugb3IgYW55IG90aGVyIGNoYWxsZW5nZSB0aGF0IHRoZSBhcmJpdHJhdGlvbiBwcm92aXNpb24gb3IgdGhlIFRlcm1zIGFyZSB2b2lkLCB2b2lkYWJsZSBvciBvdGhlcndpc2UgaW52YWxpZC4gVGhlIGFyYml0cmF0b3Igd2lsbCBiZSBlbXBvd2VyZWQgdG8gZ3JhbnQgd2hhdGV2ZXIgcmVsaWVmIHdvdWxkIGJlIGF2YWlsYWJsZSBpbiBjb3VydCB1bmRlciBsYXcgb3IgaW4gZXF1aXR5LiZuYnNwOyBBbnkgYXdhcmQgb2YgdGhlIGFyYml0cmF0b3Iocykgd2lsbCBiZSBmaW5hbCBhbmQgYmluZGluZyBvbiBlYWNoIG9mIHRoZSBwYXJ0aWVzIGFuZCBtYXkgYmUgZW50ZXJlZCBhcyBhIGp1ZGdtZW50IGluIGFueSBjb3VydCBvZiBjb21wZXRlbnQganVyaXNkaWN0aW9uLiBZb3UgYW5kIHdlIGFncmVlIHRoYXQgbmVpdGhlciBwYXJ0eSBzaGFsbCBhcHBlYWwgYW55IGF3YXJkIG9mIHRoZSBhcmJpdHJhdG9yLCBpbmNsdWRpbmcgYW55IGFwcGVhbCBvbiBhIHF1ZXN0aW9uIG9mIGxhdywgcXVlc3Rpb24gb2YgZmFjdCBvciBxdWVzdGlvbiBvZiBtaXhlZCBmYWN0IGFuZCBsYXcuJm5ic3A7PC9saT4NCjwvb2w+DQo8cD4mbmJzcDs8L3A+DQo8b2w+DQo8bGk+V2Ugd2lsbCBiZSByZXNwb25zaWJsZSBmb3IgcGF5aW5nIGFueSBpbmRpdmlkdWFsIGNvbnN1bWVyJnJzcXVvO3MgYXJiaXRyYXRpb24vYXJiaXRyYXRvciBmZWVzLiBJZiBhbiBpbmRpdmlkdWFsIGNvbnN1bWVyIHByZXZhaWxzIG9uIGFueSBjbGFpbSB0aGF0IGFmZm9yZHMgdGhlIHByZXZhaWxpbmcgcGFydHkgYXR0b3JuZXlzJyBmZWVzLCB0aGUgYXJiaXRyYXRvciBtYXkgYXdhcmQgcmVhc29uYWJsZSBmZWVzIHRvIHlvdSB1bmRlciB0aGUgc3RhbmRhcmRzIGZvciBmZWUgc2hpZnRpbmcgcHJvdmlkZWQgYnkgbGF3LiZuYnNwOyBGb3IgdGhlIGF2b2lkYW5jZSBvZiBkb3VidCwgdGhpcyBTZWN0aW9uIDEyKEUpIHNoYWxsIG9ubHkgYXBwbHkgdG8gaW5kaXZpZHVhbCBjb25zdW1lcnMuJm5ic3A7PC9saT4NCjwvb2w+DQo8cD4mbmJzcDs8L3A+DQo8b2w+DQo8bGk+WW91IGFncmVlIHRvIGFuIGFyYml0cmF0aW9uIG9uIGFuIGluZGl2aWR1YWwgYmFzaXMuIEluIGFueSBkaXNwdXRlLCBORUlUSEVSIFlPVSBOT1IgVFJJQlVURSBURUNITk9MT0dZIFdJTEwgQkUgRU5USVRMRUQgVE8gSk9JTiBPUiBDT05TT0xJREFURSBDTEFJTVMgQlkgT1IgQUdBSU5TVCBPVEhFUiBDVVNUT01FUlMgSU4gQ09VUlQgT1IgSU4gQVJCSVRSQVRJT04gT1IgT1RIRVJXSVNFIFBBUlRJQ0lQQVRFIElOIEFOWSBDTEFJTSBBUyBBIENMQVNTIFJFUFJFU0VOVEFUSVZFLCBDTEFTUyBNRU1CRVIgT1IgSU4gQSBQUklWQVRFIEFUVE9STkVZIEdFTkVSQUwgQ0FQQUNJVFkuJm5ic3A7IFRoZSBhcmJpdHJhbCB0cmlidW5hbCBzaGFsbCBub3QgY29uc29saWRhdGUgbW9yZSB0aGFuIG9uZSBwZXJzb24ncyBjbGFpbXMgYW5kIHNoYWxsIG5vdCBvdGhlcndpc2UgcHJlc2lkZSBvdmVyIGFueSBmb3JtIG9mIGEgcmVwcmVzZW50YXRpdmUgb3IgY2xhc3MgcHJvY2VlZGluZy4mbmJzcDsgVGhlIGFyYml0cmFsIHRyaWJ1bmFsIGhhcyBubyBwb3dlciB0byBjb25zaWRlciB0aGUgZW5mb3JjZWFiaWxpdHkgb2YgdGhpcyBjbGFzcyBhcmJpdHJhdGlvbiB3YWl2ZXIgYW5kIGFueSBjaGFsbGVuZ2UgdG8gdGhlIGNsYXNzIGFyYml0cmF0aW9uIHdhaXZlciBtYXkgb25seSBiZSByYWlzZWQgaW4gYSBjb3VydCBvZiBjb21wZXRlbnQganVyaXNkaWN0aW9uIGxvY2F0ZWQgaW4gdGhlIGp1cmlzZGljdGlvbiBzZXQgZm9ydGggaW4gU2VjdGlvbiAxMyBiZWxvdy4mbmJzcDs8L2xpPg0KPC9vbD4NCjxwPiZuYnNwOzwvcD4NCjxvbD4NCjxsaT5JZiBhbnkgcHJvdmlzaW9uIG9mIHRoaXMgU2VjdGlvbiBpcyBmb3VuZCB1bmVuZm9yY2VhYmxlLCB0aGUgdW5lbmZvcmNlYWJsZSBwcm92aXNpb24gd2lsbCBiZSBzZXZlcmVkIGFuZCB0aGUgcmVtYWluaW5nIGFyYml0cmF0aW9uIHRlcm1zIHdpbGwgYmUgZW5mb3JjZWQ7IHByb3ZpZGVkLCB0aGF0IGluIHRoZSBldmVudCBzdWJzZWN0aW9uIChGKSBpcyBmb3VuZCB0byBiZSB1bmVuZm9yY2VhYmxlLCBhbGwgb2YgdGhpcyBTZWN0aW9uIDEyIHNoYWxsIGJlIGRlZW1lZCBudWxsIGFuZCB2b2lkIGFuZCBvZiBubyBlZmZlY3QuPC9saT4NCjwvb2w+DQo8cD4mbmJzcDs8L3A+DQo8b2w+DQo8bGk+PHN0cm9uZz5Db250cmFjdGluZyBFbnRpdHk7IEdvdmVybmluZyBMYXcuPC9zdHJvbmc+Jm5ic3A7IEFsbCByZWZlcmVuY2VzIHRvICZsZHF1bztUcmlidXRlIFRlY2hub2xvZ3ksJnJkcXVvOyAmbGRxdW87d2UsJnJkcXVvOyAmbGRxdW87dXMmcmRxdW87IG9yICZsZHF1bztvdXImcmRxdW87IGluIHRoZSBUZXJtcyByZWZlciB0byB0aGUgYXBwbGljYWJsZSBlbnRpdHkgc3BlY2lmaWVkIGluIHRoZSB0YWJsZSBiZWxvdywgd2hpY2ggaXMgYmFzZWQgb24gdGhlIGxvY2F0aW9uIG9mIHRoZSBidXNpbmVzcyBhZGRyZXNzIG9mIHRoZSBDbGllbnQgb3Igb3RoZXIgYnVzaW5lc3Mgb24gd2hvc2Ugd2Vic2l0ZSB0aGVzZSBUZXJtcyBhcHBlYXIsIGFzIHBvc3RlZCBvbiBzdWNoIHdlYnNpdGUuIEFkZGl0aW9uYWxseSwgdGhlc2UgVGVybXMgYXJlIGdvdmVybmVkIGJ5IHRoZSBsYXdzIG9mIHRoZSBzdGF0ZSBvciBwcm92aW5jZSBpZGVudGlmaWVkIGluIHRoZSB0YWJsZSBiZWxvdywgYWdhaW4gYmFzZWQgb24gdGhlIGxvY2F0aW9uIG9mIHRoZSBidXNpbmVzcyBhZGRyZXNzIG9mIHRoZSBDbGllbnQgb3Igb3RoZXIgYnVzaW5lc3Mgb24gd2hvc2Ugd2Vic2l0ZSB0aGVzZSBUZXJtcyBhcHBlYXIsIGFuZCB3aXRob3V0IHJlZ2FyZCB0byBjb25mbGljdCBvZiBsYXcgcHJpbmNpcGxlcy4mbmJzcDsgVG8gdGhlIGV4dGVudCB0aGF0IGFueSBsYXdzdWl0IG9yIGNvdXJ0IHByb2NlZWRpbmcgaXMgcGVybWl0dGVkIGhlcmV1bmRlciwgeW91IGFuZCBUcmlidXRlIFRlY2hub2xvZ3kgYWdyZWUgdG8gc3VibWl0IHRvIHRoZSBleGNsdXNpdmUgcGVyc29uYWwganVyaXNkaWN0aW9uIG9mIHRoZSBjb3VydHMgbG9jYXRlZCBpbiBhbmQgZm9yIHRoZSAmcmRxdW87RXhjbHVzaXZlIEp1cmlzZGljdGlvbiZyZHF1bzsgaWRlbnRpZmllZCBpbiB0aGUgdGFibGUgYmVsb3csIGZvciB0aGUgcHVycG9zZSBvZiBsaXRpZ2F0aW5nIGFsbCBzdWNoIGRpc3B1dGVzLiZuYnNwOyBBbnkgY2F1c2Ugb2YgYWN0aW9uIG9yIGNsYWltIHdpdGggcmVzcGVjdCB0byB0aGUgU2l0ZXMgb3IgdGhlIFNlcnZpY2VzIG11c3QgYmUgY29tbWVuY2VkIHdpdGhpbiB0d28gKDIpIHllYXJzIGFmdGVyIHRoZSBhY3Rpb24gb3IgY2xhaW0gYXJpc2VzIG9yIGlzIGRpc2NvdmVyZWQuPC9saT4NCjwvb2w+DQo8cD4mbmJzcDs8L3A+DQo8dGFibGU+DQo8dGJvZHk+DQo8dHI+DQo8dGQgd2lkdGg9IjEzNiI+DQo8cD48c3Ryb25nPkxvY2F0aW9uIG9mIEJ1c2luZXNzIEFkZHJlc3M8L3N0cm9uZz48L3A+DQo8L3RkPg0KPHRkIHdpZHRoPSIxNjEiPg0KPHA+PHN0cm9uZz5BcHBsaWNhYmxlIENvbnRyYWN0aW5nIEVudGl0eTwvc3Ryb25nPjwvcD4NCjwvdGQ+DQo8dGQgd2lkdGg9IjEwNyI+DQo8cD48c3Ryb25nPkdvdmVybmluZyBMYXc8L3N0cm9uZz48L3A+DQo8L3RkPg0KPHRkIHdpZHRoPSIxNjAiPg0KPHA+PHN0cm9uZz5FeGNsdXNpdmUgSnVyaXNkaWN0aW9uPC9zdHJvbmc+PC9wPg0KPC90ZD4NCjwvdHI+DQo8dHI+DQo8dGQgd2lkdGg9IjEzNiI+DQo8cD5DYW5hZGE8L3A+DQo8L3RkPg0KPHRkIHdpZHRoPSIxNjEiPg0KPHA+VHJpYnV0ZSBUZWNobm9sb2d5IENhbmFkYSwgVUxDLCBhIEJyaXRpc2ggQ29sdW1iaWEgdW5saW1pdGVkIGxpYWJpbGl0eSBjb21wYW55PC9wPg0KPC90ZD4NCjx0ZCB3aWR0aD0iMTA3Ij4NCjxwPk9udGFyaW88L3A+DQo8L3RkPg0KPHRkIHdpZHRoPSIxNjAiPg0KPHA+VG9yb250bywgT250YXJpbzwvcD4NCjwvdGQ+DQo8L3RyPg0KPHRyPg0KPHRkIHdpZHRoPSIxMzYiPg0KPHA+VW5pdGVkIFN0YXRlcyBhbmQgdGhlIHJlc3Qgb2YgdGhlIHdvcmxkIG91dHNpZGUgQ2FuYWRhPC9wPg0KPC90ZD4NCjx0ZCB3aWR0aD0iMTYxIj4NCjxwPlRyaWJ1dGUgVGVjaG5vbG9neSBVUywgTExDLCBhIERlbGF3YXJlIGxpbWl0ZWQgbGlhYmlsaXR5IGNvbXBhbnk8L3A+DQo8L3RkPg0KPHRkIHdpZHRoPSIxMDciPg0KPHA+RGVsYXdhcmU8L3A+DQo8L3RkPg0KPHRkIHdpZHRoPSIxNjAiPg0KPHA+TWFkaXNvbiwgV2lzY29uc2luPC9wPg0KPC90ZD4NCjwvdHI+DQo8L3Rib2R5Pg0KPC90YWJsZT4NCjxwPiZuYnNwOzwvcD4NCjxwPiZuYnNwOzwvcD4NCjxvbD4NCjxsaT48c3Ryb25nPk1vZGlmaWNhdGlvbiBvZiB0aGUgU2l0ZXMgYW5kIFNlcnZpY2VzLjwvc3Ryb25nPiZuYnNwO1RyaWJ1dGUgVGVjaG5vbG9neSByZXNlcnZlcyB0aGUgcmlnaHQgdG8gbW9kaWZ5IG9yIGRpc2NvbnRpbnVlLCB0ZW1wb3JhcmlseSBvciBwZXJtYW5lbnRseSwgc29tZSBvciBhbGwgb2YgdGhlIFNpdGVzIGFuZCBTZXJ2aWNlcyBhdCBhbnkgdGltZSB3aXRob3V0IGFueSBub3RpY2Ugb3IgZnVydGhlciBvYmxpZ2F0aW9uIHRvIHlvdS4gWW91IGFncmVlIHRoYXQgVHJpYnV0ZSBUZWNobm9sb2d5IHdpbGwgbm90IGJlIGxpYWJsZSB0byB5b3Ugb3IgdG8gYW55IHRoaXJkIHBhcnR5IGZvciBhbnkgbW9kaWZpY2F0aW9uLCBzdXNwZW5zaW9uLCBvciBkaXNjb250aW51YW5jZSBvZiBhbnkgb2YgdGhlIFNpdGVzIG9yIFNlcnZpY2VzLjwvbGk+DQo8L29sPg0KPHA+Jm5ic3A7PC9wPg0KPG9sPg0KPGxpPjxzdHJvbmc+R2VuZXJhbC48L3N0cm9uZz48L2xpPg0KPC9vbD4NCjxvbD4NCjxvbD4NCjxsaT48dT5FbnRpcmUgQWdyZWVtZW50PC91Pi4gVW5sZXNzIG90aGVyd2lzZSBleHByZXNzbHkgc3RhdGVkIGhlcmVpbiBvciBhbm90aGVyIHdyaXR0ZW4gYWdyZWVtZW50IGJldHdlZW4geW91IGFuZCBUcmlidXRlIFRlY2hub2xvZ3ksIHRoZXNlIFRlcm1zIGNvbnN0aXR1dGUgdGhlIGVudGlyZSBhbmQgZXhjbHVzaXZlIHVuZGVyc3RhbmRpbmcgYW5kIGFncmVlbWVudCBiZXR3ZWVuIHlvdSBhbmQgVHJpYnV0ZSBUZWNobm9sb2d5IHJlZ2FyZGluZyB5b3VyIHVzZSBvZiBhbmQgYWNjZXNzIHRvIHRoZSBTaXRlcyBhbmQgU2VydmljZXMsIGFuZCBleGNlcHQgYXMgZXhwcmVzc2x5IHBlcm1pdHRlZCBhYm92ZSBtYXkgb25seSBiZSBhbWVuZGVkIGJ5IGEgd3JpdHRlbiBhZ3JlZW1lbnQgc2lnbmVkIGJ5IGF1dGhvcml6ZWQgcmVwcmVzZW50YXRpdmVzIG9mIHRoZSBwYXJ0aWVzLjwvbGk+DQo8bGk+PHU+Tm8gV2FpdmVyPC91Pi4gVGhlIGZhaWx1cmUgdG8gcmVxdWlyZSBwZXJmb3JtYW5jZSBvZiBhbnkgcHJvdmlzaW9uIHNoYWxsIG5vdCBhZmZlY3Qgb3VyIHJpZ2h0IHRvIHJlcXVpcmUgcGVyZm9ybWFuY2UgYXQgYW55IHRpbWUgdGhlcmVhZnRlciwgbm9yIHNoYWxsIGEgd2FpdmVyIG9mIGFueSBicmVhY2ggb3IgZGVmYXVsdCBvZiB0aGUgVGVybXMgY29uc3RpdHV0ZSBhIHdhaXZlciBvZiBhbnkgc3Vic2VxdWVudCBicmVhY2ggb3IgZGVmYXVsdCBvciBhIHdhaXZlciBvZiB0aGUgcHJvdmlzaW9uIGl0c2VsZi48L2xpPg0KPGxpPjx1PlBhcmFncmFwaCBIZWFkZXJzPC91Pi4gVXNlIG9mIHBhcmFncmFwaCBoZWFkZXJzIGluIHRoZSBUZXJtcyBpcyBmb3IgY29udmVuaWVuY2Ugb25seSBhbmQgc2hhbGwgbm90IGhhdmUgYW55IGltcGFjdCBvbiB0aGUgaW50ZXJwcmV0YXRpb24gb2YgcGFydGljdWxhciBwcm92aXNpb25zLjwvbGk+DQo8bGk+PHU+U2V2ZXJhYmlsaXR5PC91Pi4gSW4gdGhlIGV2ZW50IHRoYXQgYW55IHBhcnQgb2YgdGhlIFRlcm1zIGlzIGhlbGQgdG8gYmUgaW52YWxpZCBvciB1bmVuZm9yY2VhYmxlLCB0aGUgdW5lbmZvcmNlYWJsZSBwYXJ0IHNoYWxsIGJlIGdpdmVuIGVmZmVjdCB0byB0aGUgZ3JlYXRlc3QgZXh0ZW50IHBvc3NpYmxlIGFuZCB0aGUgcmVtYWluaW5nIHBhcnRzIHdpbGwgcmVtYWluIGluIGZ1bGwgZm9yY2UgYW5kIGVmZmVjdC48L2xpPg0KPC9vbD4NCjwvb2w+DQo8cD4mbmJzcDs8L3A+DQo8b2w+DQo8bGk+PHN0cm9uZz5Ob3RpY2UgdG8gQ2FsaWZvcm5pYSBSZXNpZGVudHMuPC9zdHJvbmc+Jm5ic3A7VW5kZXIgQ2FsaWZvcm5pYSBDaXZpbCBDb2RlIFNlY3Rpb24gMTc4OS4zLCB5b3UgbWF5IGNvbnRhY3QgdGhlIENvbXBsYWludCBBc3Npc3RhbmNlIFVuaXQgb2YgdGhlIERpdmlzaW9uIG9mIENvbnN1bWVyIFNlcnZpY2VzIG9mIHRoZSBDYWxpZm9ybmlhIERlcGFydG1lbnQgb2YgQ29uc3VtZXIgQWZmYWlycyBpbiB3cml0aW5nIGF0IDE2MjUgTi4gTWFya2V0IEJsdmQuLCBTdWl0ZSBOLTExMiwgU2FjcmFtZW50bywgQ2FsaWZvcm5pYSA5NTgzNCwgb3IgYnkgdGVsZXBob25lIGF0ICg4MDApIDk1Mi01MjEwIGluIG9yZGVyIHRvIHJlc29sdmUgYSBjb21wbGFpbnQgcmVnYXJkaW5nIHRoZSBzZXJ2aWNlIG9yIHRvIHJlY2VpdmUgZnVydGhlciBpbmZvcm1hdGlvbiByZWdhcmRpbmcgdXNlIG9mIHRoZSBzZXJ2aWNlLjwvbGk+DQo8L29sPg0KPHA+Jm5ic3A7PC9wPg0KPC9kaXY+DQo8ZGl2IGlkPSIxNTc1OTQ5NjI0IiBjbGFzcz0iZG1OZXdQYXJhZ3JhcGgiIGRhdGEtZWxlbWVudC10eXBlPSJwYXJhZ3JhcGgiIGRhdGEtdmVyc2lvbj0iNSI+PC9kaXY+/div> div classbase64 styledisplay: none idaccessibility> PHA+V2UgYXJlIGNvbW1pdHRlZCB0byBpbXByb3ZpbmcgYW5kIG1haW50YWluaW5nIGEgd2Vic2l0ZSB0aGF0IGlzIGFjY2Vzc2libGUgdG8gdGhlIHdpZGVzdCBwb3NzaWJsZSBhdWRpZW5jZSwgcmVnYXJkbGVzcyBvZiB0ZWNobm9sb2d5IG9yIGFiaWxpdHkuIElmIHlvdSBleHBlcmllbmNlIGFueSBkaWZmaWN1bHR5IGluIGFjY2Vzc2luZyBhbnkgcGFydCBvZiB0aGlzIHdlYnNpdGUsIHBsZWFzZSBmZWVsIGZyZWUgdG8gY2FsbCBvdXIgd2Vic2l0ZSBwcm92aWRlciBhdCA4NDQtMjAwLTYwMjAgb3IgZW1haWwgdGhlbSBhdCB3ZWJzaXRlc0B0cmlidXRldGVjaC5jb20sIG9yIGNvbnRhY3QgdXMgZGlyZWN0bHkuIE5vdGUgdGhhdCBvdXIgZWZmb3J0cyBhcmUgb25nb2luZywgYW5kIHdlIGFyZSBjb21taXR0ZWQgdG8gcHJvdmlkaW5nIHRoZSBpbmZvcm1hdGlvbiwgaXRlbSwgb3IgdHJhbnNhY3Rpb24geW91IHNlZWsgdGhyb3VnaCBhbiBhbHRlcm5hdGUgY29tbXVuaWNhdGlvbiBtZXRob2QgdGhhdCBpcyBhY2Nlc3NpYmxlIGZvciB5b3UuPC9wPg/div>/div> /div>/div> script> WebFontConfig.google.families.push(Rouge+Script, Satisfy, Roboto+Slab:400,700,300,100, Roboto); /script> /div>/div>div classobit-popups-container>/div>script typetext/javascript> jQuery(document).ready(function () { /* hide loader */ setTimeout(function () { $(.page-loader-wrapper).removeClass(active); }, 1000); }); if (jQuery(window).width() 1200) { jQuery(window).load(function () { /* menu hotfix */ setTimeout(removeMenuCalc(), 1000); }); } else { removeMenuCalc(); } function removeMenuCalc() { jQuery(#navbar).css({ position: , visibility: }); }/script> div classprintable>/div> script typetext/javascript> jQuery(document).ready(function() { $(.navbar-toggle).click(function() { $(.navbar-toggle).toggleClass(active); $(#navbar).toggleClass(active); }); $(document).click(function(e) { closeOpenMobileMenu(e); }); $(document).keyup(function(e) { if (e.keyCode 27) closeOpenMobileMenu($(body)); // esc }); if ($(.additional-content-item)) { resetHeight(); setMaxHeight($(.additional-content-item)); $(window).resize(function() { resetHeight(); setMaxHeight($(.additional-content-item)); }); } if (!!$(.head-menu)) { $(.head-menu).responsiveNavigation({ SubMenu: $(.top-sub-menu), Fixed_Submenu: false, ShowMore_Buttons: true, NavigationMode: 2, SubmenuStyle: 0, MainMenuStyle: 1 }); } setTimeout(function () { $(.layerHasBanner).css({ overflow: auto, max-height: auto }); $(window).resize(); }, 2000); if (false true) { scrollSpyInit(); } DailySubscribeInit(); FrazerMaps.ShowMaps($(.map-box)); if (!window.location.hash) { $(html, body).animate({ scrollTop: 0 }, 500, linear); } if (!!$.fn.superbox) $.superbox(); AOS.init({ easing: ease-out-back, duration: 1000, disable: mobile }); }); function closeOpenMobileMenu(e) { if ($(e.target).closest(.navbar).length 0 && !!$(.navbar-toggle.active).length && !!$(#navbar.active).length) { $(.navbar-toggle).removeClass(active); $(#navbar).removeClass(active); } } function resetHeight() { $(.additional-content-item).each(function(i, e) { $(e).find(.item-body).height(); }); }; function setMaxHeight(items) { $(items).each(function(i, e) { $(e).find(.item-body).height(calculateMaxHeight); }); }; function calculateMaxHeight() { var whyChoseUsItems ; $(.additional-content-item).each(function(i, e) { whyChoseUsItems.push($(e).find(.item-body).height()); }); return Math.max.apply(Math, whyChoseUsItems); }; function scrollSpyInit() { $(body).css(position, relative); $(body).attr(data-spy, scroll); $(.page-sub-menu .navbar-nav).attr(data-offset, 185); $(href#Harness-Funeral-Home-and-Cremation-Services).css(display, block); $(body).scrollspy({ target: .page-sub-menu, offset: 185 }); } function DailySubscribeInit() { $(.dailySubsControls button).click(function() { subscribeToDailyEmails(this, 87bff9ed-88dc-46a3-8961-a536b45dc6bb, /FunHelper/SubscribeToDailyEmails); }); } function sendGTMInfo(category, action, label) { dataLayer.push({ event: gaEvent, category: category, action: action, label: label }); } /script> script typeapplication/ld+json> { @context: https://schema.org, @type: BreadcrumbList, name: Site Navigation, itemListElement: { @type: ListItem, position: 1, item: https://www.harnessfuneralhome.com, name: Home }, { @type: ListItem, position: 2, item: https://www.harnessfuneralhome.com/obituaries/obituary-listings, name: Obituaries }, { @type: ListItem, position: 3, item: https://www.harnessfuneralhome.com/services-we-offer/overview, name: Services We Offer }, { @type: ListItem, position: 4, item: https://www.harnessfuneralhome.com/pre-plan/overview, name: Pre-Plan }, { @type: ListItem, position: 5, item: https://www.harnessfuneralhome.com/aftercare/overview, name: Aftercare }, { @type: ListItem, position: 6, item: https://www.harnessfuneralhome.com/monuments/monuments, name: Monuments }, { @type: ListItem, position: 7, item: https://www.harnessfuneralhome.com/resources/overview, name: Resources }, { @type: ListItem, position: 8, item: https://www.harnessfuneralhome.com/about-us/overview, name: About Us }, { @type: ListItem, position: 9, item: https://www.harnessfuneralhome.com/contact/contact-us, name: Contact } } /script> script typeapplication/ld+json> { @context: https://schema.org, @type: LocalBusiness, name: Harness Funeral Home, url: http://www.harnessfuneralhome.com/, address: { @type: PostalAddress, addressCountry: United States, addressLocality: Buffalo, addressRegion: WY, postalCode: 82834, streetAddress: 351 N Adams Avenue }, email: office@dharness.com, telephone: (307) 684-2251, faxNumber: (307) 684-7107, image: https://d1cq4ou4t4y4do.cloudfront.net/images/no-logo-image.png, geo: { @type: GeoCoordinates, latitude: 44.3512121000000000, longitude: -106.7000909999999900 } } /script> script> function loadScript(src, callback) { let script document.createElement(script); script.src src; script.onload () > callback(null, script); script.onerror () > callback(new Error(Script load error for + src)); document.head.append(script); } (function () { var wf document.createElement(script); wf.src (https: document.location.protocol ? https : http) + ://ajax.googleapis.com/ajax/libs/webfont/1/webfont.js; wf.type text/javascript; wf.async true; var s document.getElementsByTagName(script)0; s.parentNode.insertBefore(wf, s); var galleriaItem document.getElementsByClassName(galleria); if (galleriaItem.length ! 0) { loadScript(https://cdnjs.cloudflare.com/ajax/libs/galleria/1.6.1/galleria.min.js, function (error, script) { if (error) { // handle error } else { Galleria.loadTheme(https://cdnjs.cloudflare.com/ajax/libs/galleria/1.6.1/themes/classic/galleria.classic.min.js); Galleria.run(.galleria); } }); } })(); const locationIdValue Home Page Obituary ? window.API.domainId.replace(/-/g, ) + (window.MaterialData && window.MaterialData.pageSettings ? - + window.MaterialData.pageSettings.ServingLocationId : ) : window.API.domainId.replace(/-/g, ) + -532076; window.pushSessionInfo(window.getGAuuid()); pushSiteInfo( window.API.domainId.replace(/-/g, ), locationIdValue, Funeral Home, window.API.brand.name, Responsive, External, Home Page, Other, Harness Funeral Home and Cremation Services, Frazer Floral Network.replace(Frazer Floral Network, FFN), Title:NotEdited|Desc:NotEdited, dbf97c4d-bcbd-4619-a747-b14746192ff8 ); // Travel Insurance link function utf8Encode(string) { const encoder new TextEncoder() return encoder.encode(lid + string) } function base64Encode(uint8Array) { uint8Array utf8Encode(uint8Array) return btoa(String.fromCharCode.apply(null, uint8Array)) } function replaceDomainIdToEncodedLid (id) { var button document.getElementById(travelInsuranceLink); if (button && button.href) { button.href button.href.replace({{DOMAINLID}}, base64Encode(id)); } } // Travel Insurance link change parameter document.addEventListener(DOMContentLoaded, function () { replaceDomainIdToEncodedLid(87bff9ed-88dc-46a3-8961-a536b45dc6bb); }); /script> style typetext/css> #msie-banner { position: fixed; top: 0; left: 0; width: 100%; padding: 19px; z-index: 43; font-size: 16px; font-weight: 700; letter-spacing: .5px; color: #fff; background-color: #d86a6a; text-align: center; } #msie-banner p { margin: 0; } #msie-banner a { color: #fff; } /style> div idmsie-banner styledisplay:none;> p>Your browser may not work with certain site. a hrefhttps://www.microsoft.com/edge>Upgrade now./a>/p> /div> script> // Cant find variable: _AutofillCallbackHandler fix window._AutofillCallbackHandler window._AutofillCallbackHandler || function () { } /script> /body>/html>
Subdomains
Date
Domain
IP
m.harnessfuneralhome.com
2025-09-05
54.80.25.211
www.harnessfuneralhome.com
2025-12-09
98.82.64.239
View on OTX
|
View on ThreatMiner
Please enable JavaScript to view the
comments powered by Disqus.
Data with thanks to
AlienVault OTX
,
VirusTotal
,
Malwr
and
others
. [
Sitemap
]