Help
RSS
API
Feed
Maltego
Contact
Domain > www.hollandfuneralservice.com
×
More information on this domain is in
AlienVault OTX
Is this malicious?
Yes
No
DNS Resolutions
Date
IP Address
2023-08-24
34.204.162.106
(
ClassC
)
2024-11-06
34.224.186.158
(
ClassC
)
Port 80
HTTP/1.1 301 Moved PermanentlyDate: Wed, 06 Nov 2024 02:40:37 GMTContent-Type: text/html; charsetutf-8Content-Length: 155Connection: keep-aliveSet-Cookie: AWSALBaWxshPzZKhfU5qrNzbFxoaLDE/9h3Ee76YkZwjJw70DoCFgha4THnJZytoDlSi6nPZrAteXDdknomM73ik6SLTGVVHHDADh86fim7vqEkhUdJ5hv/EhA3jL7zYsm; ExpiresWed, 13 Nov 2024 02:40:37 GMT; Path/Set-Cookie: AWSALBCORSaWxshPzZKhfU5qrNzbFxoaLDE/9h3Ee76YkZwjJw70DoCFgha4THnJZytoDlSi6nPZrAteXDdknomM73ik6SLTGVVHHDADh86fim7vqEkhUdJ5hv/EhA3jL7zYsm; ExpiresWed, 13 Nov 2024 02:40:37 GMT; Path/; SameSiteNoneCache-Control: private, no-cacheSet-Cookie, stale-while-revalidate60, stale-if-error86400Location: https://www.hollandfuneralservice.com/Server: Microsoft-IIS/10.0X-Powered-By: ASP.NET html>head>title>Object moved/title>/head>body>h2>Object moved to a hrefhttps://www.hollandfuneralservice.com/>here/a>./h2>/body>/html>
Port 443
HTTP/1.1 200 OKDate: Wed, 06 Nov 2024 02:40:38 GMTContent-Type: text/html; charsetutf-8Content-Length: 235496Connection: keep-aliveSet-Cookie: AWSALBooBGGKbaERSNxBtnupUrfIyRhM5670ufwzKCKexzPwhD3wL2whNQw9lwn3NG7dx6/bnpIVTSiELF1NlM1OmWf74ziIXjIygCMGDc2lNBE5CMO0uNGBDhhDUwl7Ec; ExpiresWed, 13 Nov 2024 02:40:37 GMT; Path/Set-Cookie: AWSALBCORSooBGGKbaERSNxBtnupUrfIyRhM5670ufwzKCKexzPwhD3wL2whNQw9lwn3NG7dx6/bnpIVTSiELF1NlM1OmWf74ziIXjIygCMGDc2lNBE5CMO0uNGBDhhDUwl7Ec; ExpiresWed, 13 Nov 2024 02:40:37 GMT; Path/; SameSiteNone; SecureCache-Control: public, no-cacheSet-Cookie, stale-while-revalidate60, stale-if-error86400, max-age30Expires: Wed, 06 Nov 2024 02:41:08 GMTLast-Modified: Wed, 06 Nov 2024 02:40:38 GMTVary: *Server: Microsoft-IIS/10.0X-AspNetMvc-Version: 5.2X-AspNet-Version: 4.0.30319X-Powered-By: ASP.NET !DOCTYPE html>html xmlnshttps://www.w3.org/1999/xhtml dirltr langen-US xmlns:fbhttps://www.facebook.com/2008/fbml classsia>head> meta charsetutf-8 /> meta nameformat-detection contenttelephoneno /> meta http-equivX-UA-Compatible contentIEedge>script typetext/javascript>window.NREUM||(NREUM{});NREUM.info {beacon:bam.nr-data.net,errorBeacon:bam.nr-data.net,licenseKey:NRJS-aa09c362d4e8d43900e,applicationID:1286138286,transactionName:MV1QZkFVChJUAENdDAgXf2RwGzEMVxFWVwwlV1xGQVsIDVARGH0NAl1K,queueTime:0,applicationTime:50,agent:,atts:}/script>script typetext/javascript>(window.NREUM||(NREUM{})).init{privacy:{cookies_enabled:true},ajax:{deny_list:bam.nr-data.net},distributed_tracing:{enabled:true}};(window.NREUM||(NREUM{})).loader_config{agentID:1286138370,accountID:3087713,trustKey:3080060,xpid:VwYPVlFSCxABVllUBgIPVFwH,licenseKey:NRJS-aa09c362d4e8d43900e,applicationID:1286138286};;/*! For license information please see nr-loader-spa-1.271.0.min.js.LICENSE.txt */(()>{var e,t,r{8122:(e,t,r)>{use strict;r.d(t,{a:()>i});var nr(944);function i(e,t){try{if(!e||object!typeof e)return(0,n.R)(3);if(!t||object!typeof t)return(0,n.R)(4);const rObject.create(Object.getPrototypeOf(t),Object.getOwnPropertyDescriptors(t)),o0Object.keys(r).length?e:r;for(let a in o)if(void 0!ea)try{if(nullea){ranull;continue}Array.isArray(ea)&&Array.isArray(ta)?raArray.from(new Set(...ea,...ta)):objecttypeof ea&&objecttypeof ta?rai(ea,ta):raea}catch(e){(0,n.R)(1,e)}return r}catch(e){(0,n.R)(2,e)}}},2555:(e,t,r)>{use strict;r.d(t,{Vp:()>c,fn:()>s,x1:()>u});var nr(384),ir(8122);const o{beacon:n.NT.beacon,errorBeacon:n.NT.errorBeacon,licenseKey:void 0,applicationID:void 0,sa:void 0,queueTime:void 0,applicationTime:void 0,ttGuid:void 0,user:void 0,account:void 0,product:void 0,extra:void 0,jsAttributes:{},userAttributes:void 0,atts:void 0,transactionName:void 0,tNamePlain:void 0},a{};function s(e){try{const tc(e);return!!t.licenseKey&&!!t.errorBeacon&&!!t.applicationID}catch(e){return!1}}function c(e){if(!e)throw new Error(All info objects require an agent identifier!);if(!ae)throw new Error(Info for .concat(e, was never set));return ae}function u(e,t){if(!e)throw new Error(All info objects require an agent identifier!);ae(0,i.a)(t,o);const r(0,n.nY)(e);r&&(r.infoae)}},9417:(e,t,r)>{use strict;r.d(t,{D0:()>h,gD:()>g,xN:()>p});var nr(993);const ie>{if(!e||string!typeof e)return!1;try{document.createDocumentFragment().querySelector(e)}catch{return!1}return!0};var or(2614),ar(944),sr(384),cr(8122);const udata-nr-mask,d()>{const e{mask_selector:*,block_selector:data-nr-block,mask_input_options:{color:!1,date:!1,datetime-local:!1,email:!1,month:!1,number:!1,range:!1,search:!1,tel:!1,text:!1,time:!1,url:!1,week:!1,textarea:!1,select:!1,password:!0}};return{ajax:{deny_list:void 0,block_internal:!0,enabled:!0,harvestTimeSeconds:10,autoStart:!0},distributed_tracing:{enabled:void 0,exclude_newrelic_header:void 0,cors_use_newrelic_header:void 0,cors_use_tracecontext_headers:void 0,allowed_origins:void 0},feature_flags:,generic_events:{enabled:!0,harvestTimeSeconds:30,autoStart:!0},harvest:{tooManyRequestsDelay:60},jserrors:{enabled:!0,harvestTimeSeconds:10,autoStart:!0},logging:{enabled:!0,harvestTimeSeconds:10,autoStart:!0,level:n.p_.INFO},metrics:{enabled:!0,autoStart:!0},obfuscate:void 0,page_action:{enabled:!0},user_actions:{enabled:!0},page_view_event:{enabled:!0,autoStart:!0},page_view_timing:{enabled:!0,harvestTimeSeconds:30,autoStart:!0},privacy:{cookies_enabled:!0},proxy:{assets:void 0,beacon:void 0},session:{expiresMs:o.wk,inactiveMs:o.BB},session_replay:{autoStart:!0,enabled:!1,harvestTimeSeconds:60,preload:!1,sampling_rate:10,error_sampling_rate:100,collect_fonts:!1,inline_images:!1,fix_stylesheets:!0,mask_all_inputs:!0,get mask_text_selector(){return e.mask_selector},set mask_text_selector(t){i(t)?e.mask_selector.concat(t,,).concat(u):t||nullt?e.mask_selectoru:(0,a.R)(5,t)},get block_class(){returnnr-block},get ignore_class(){returnnr-ignore},get mask_text_class(){returnnr-mask},get block_selector(){return e.block_selector},set block_selector(t){i(t)?e.block_selector+,.concat(t):!t&&(0,a.R)(6,t)},get mask_input_options(){return e.mask_input_options},set mask_input_options(t){t&&objecttypeof t?e.mask_input_options{...t,password:!0}:(0,a.R)(7,t)}},session_trace:{enabled:!0,harvestTimeSeconds:10,autoStart:!0},soft_navigations:{enabled:!0,harvestTimeSeconds:10,autoStart:!0},spa:{enabled:!0,harvestTimeSeconds:10,autoStart:!0},ssl:void 0}},l{},fAll configuration objects require an agent identifier!;function h(e){if(!e)throw new Error(f);if(!le)throw new Error(Configuration for .concat(e, was never set));return le}function p(e,t){if(!e)throw new Error(f);le(0,c.a)(t,d());const r(0,s.nY)(e);r&&(r.initle)}function g(e,t){if(!e)throw new Error(f);var rh(e);if(r){for(var nt.split(.),i0;in.length-1;i++)if(object!typeof(rrni))return;rrnn.length-1}return r}},5603:(e,t,r)>{use strict;r.d(t,{a:()>c,o:()>s});var nr(384),ir(8122);const o{accountID:void 0,trustKey:void 0,agentID:void 0,licenseKey:void 0,applicationID:void 0,xpid:void 0},a{};function s(e){if(!e)throw new Error(All loader-config objects require an agent identifier!);if(!ae)throw new Error(LoaderConfig for .concat(e, was never set));return ae}function c(e,t){if(!e)throw new Error(All loader-config objects require an agent identifier!);ae(0,i.a)(t,o);const r(0,n.nY)(e);r&&(r.loader_configae)}},3371:(e,t,r)>{use strict;r.d(t,{V:()>f,f:()>l});var nr(8122),ir(384),or(6154),ar(9324);let s0;const c{buildEnv:a.F3,distMethod:a.Xs,version:a.xv,originTime:o.WN},u{customTransaction:void 0,disabled:!1,isolatedBacklog:!1,loaderType:void 0,maxBytes:3e4,onerror:void 0,ptid:void 0,releaseIds:{},appMetadata:{},session:void 0,denyList:void 0,timeKeeper:void 0,obfuscator:void 0},d{};function l(e){if(!e)throw new Error(All runtime objects require an agent identifier!);if(!de)throw new Error(Runtime for .concat(e, was never set));return de}function f(e,t){if(!e)throw new Error(All runtime objects require an agent identifier!);de{...(0,n.a)(t,u),...c},Object.hasOwnProperty.call(de,harvestCount)||Object.defineProperty(de,harvestCount,{get:()>++s});const r(0,i.nY)(e);r&&(r.runtimede)}},9324:(e,t,r)>{use strict;r.d(t,{F3:()>i,Xs:()>o,Yq:()>a,xv:()>n});const n1.271.0,iPROD,oCDN,a2.0.0-alpha.12},6154:(e,t,r)>{use strict;r.d(t,{A4:()>s,OF:()>d,RI:()>i,WN:()>h,bv:()>o,gm:()>a,lR:()>f,m:()>u,mw:()>c,sb:()>l});var nr(1863);const iundefined!typeof window&&!!window.document,oundefined!typeof WorkerGlobalScope&&(undefined!typeof self&&self instanceof WorkerGlobalScope&&self.navigator instanceof WorkerNavigator||undefined!typeof globalThis&&globalThis instanceof WorkerGlobalScope&&globalThis.navigator instanceof WorkerNavigator),ai?window:undefined!typeof WorkerGlobalScope&&(undefined!typeof self&&self instanceof WorkerGlobalScope&&self||undefined!typeof globalThis&&globalThis instanceof WorkerGlobalScope&&globalThis),scompletea?.document?.readyState,cBoolean(hiddena?.document?.visibilityState),u+a?.location,d/iPad|iPhone|iPod/.test(a.navigator?.userAgent),ld&&undefinedtypeof SharedWorker,f(()>{const ea.navigator?.userAgent?.match(/Firefox/\s(\d+\.\d+)/);return Array.isArray(e)&&e.length>2?+e1:0})(),hDate.now()-(0,n.t)()},7295:(e,t,r)>{use strict;r.d(t,{Xv:()>a,gX:()>i,iW:()>o});var n;function i(e){if(!e||o(e))return!1;if(0n.length)return!0;for(var t0;tn.length;t++){var rnt;if(*r.hostname)return!1;if(s(r.hostname,e.hostname)&&c(r.pathname,e.pathname))return!1}return!0}function o(e){return void 0e.hostname}function a(e){if(n,e&&e.length)for(var t0;te.length;t++){let ret;if(!r)continue;0r.indexOf(http://)?rr.substring(7):0r.indexOf(https://)&&(rr.substring(8));const ir.indexOf(/);let o,a;i>0?(or.substring(0,i),ar.substring(i)):(or,a);letso.split(:);n.push({hostname:s,pathname:a})}}function s(e,t){return!(e.length>t.length)&&t.indexOf(e)t.length-e.length}function c(e,t){return 0e.indexOf(/)&&(ee.substring(1)),0t.indexOf(/)&&(tt.substring(1)),e||et}},1687:(e,t,r)>{use strict;r.d(t,{Ak:()>c,Ze:()>l,x3:()>u});var nr(7836),ir(3606),or(860),ar(2646);const s{};function c(e,t){const r{staged:!1,priority:o.Pt||0};d(e),se.get(t)||se.set(t,r)}function u(e,t){e&&se&&(se.get(t)&&se.delete(t),h(e,t,!1),se.size&&f(e))}function d(e){if(!e)throw new Error(agentIdentifier required);se||(senew Map)}function l(e,tfeature,r!1){if(d(e),!e||!se.get(t)||r)return h(e,t);se.get(t).staged!0,f(e)}function f(e){const tArray.from(se);t.every(((e,t)>t.staged))&&(t.sort(((e,t)>e1.priority-t1.priority)),t.forEach(((t)>{se.delete(t),h(e,t)})))}function h(e,t,r!0){const oe?n.ee.get(e):n.ee,si.i.handlers;if(!o.aborted&&o.backlog&&s){if(r){const eo.backlogt,rst;if(r){for(let t0;e&&te.length;++t)p(et,r);Object.entries(r).forEach(((e,t)>{Object.values(t||{}).forEach((t>{t0?.on&&t0?.context()instanceof a.y&&t0.on(e,t1)}))}))}}o.isolatedBacklog||delete st,o.backlogtnull,o.emit(drain-+t,)}}function p(e,t){var re1;Object.values(tr||{}).forEach((t>{var re0;if(t0r){var nt1,ie3,oe2;n.apply(i,o)}}))}},7836:(e,t,r)>{use strict;r.d(t,{P:()>c,ee:()>u});var nr(384),ir(8990),or(3371),ar(2646),sr(5607);const cnr@context:.concat(s.W),ufunction e(t,r){var n{},s{},d{},l!1;try{l16r.length&&(0,o.f)(r).isolatedBacklog}catch(e){}var f{on:p,addEventListener:p,removeEventListener:function(e,t){var rne;if(!r)return;for(var i0;ir.length;i++)rit&&r.splice(i,1)},emit:function(e,r,n,i,o){!1!o&&(o!0);if(u.aborted&&!i)return;t&&o&&t.emit(e,r,n);for(var ah(n),cg(e),dc.length,l0;ld;l++)cl.apply(a,r);var pv()se;p&&p.push(f,e,r,a);return a},get:m,listeners:g,context:h,buffer:function(e,t){const rv();if(tt||feature,f.aborted)return;Object.entries(e||{}).forEach(((e,n)>{snt,t in r||(rt)}))},abort:function(){f._aborted!0,Object.keys(f.backlog).forEach((e>{delete f.backloge}))},isBuffering:function(e){return!!v()se},debugId:r,backlog:l?{}:t&&objecttypeof t.backlog?t.backlog:{},isolatedBacklog:l};return Object.defineProperty(f,aborted,{get:()>{let ef._aborted||!1;return e||(t&&(et.aborted),e)}}),f;function h(e){return e&&e instanceof a.y?e:e?(0,i.I)(e,c,(()>new a.y(c))):new a.y(c)}function p(e,t){neg(e).concat(t)}function g(e){return ne||}function m(t){return dtdt||e(f,t)}function v(){return f.backlog}}(void 0,globalEE),d(0,n.Zm)();d.ee||(d.eeu)},2646:(e,t,r)>{use strict;r.d(t,{y:()>n});class n{constructor(e){this.contextIde}}},9908:(e,t,r)>{use strict;r.d(t,{d:()>n,p:()>i});var nr(7836).ee.get(handle);function i(e,t,r,i,o){o?(o.buffer(e,i),o.emit(e,t,r)):(n.buffer(e,i),n.emit(e,t,r))}},3606:(e,t,r)>{use strict;r.d(t,{i:()>o});var nr(9908);o.ona;var io.handlers{};function o(e,t,r,o){a(o||n.d,i,e,t,r)}function a(e,t,r,i,o){o||(ofeature),e||(en.d);var atoto||{};(arar||).push(e,i)}},3878:(e,t,r)>{use strict;function n(e,t){return{capture:e,passive:!1,signal:t}}function i(e,t,r!1,i){window.addEventListener(e,t,n(r,i))}function o(e,t,r!1,i){document.addEventListener(e,t,n(r,i))}r.d(t,{DD:()>o,jT:()>n,sp:()>i})},5607:(e,t,r)>{use strict;r.d(t,{W:()>n});const n(0,r(9566).bz)()},9566:(e,t,r)>{use strict;r.d(t,{LA:()>s,ZF:()>c,bz:()>a,el:()>u});var nr(6154);const ixxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx;function o(e,t){return e?15&et:16*Math.random()|0}function a(){const en.gm?.crypto||n.gm?.msCrypto;let t,r0;return e&&e.getRandomValues&&(te.getRandomValues(new Uint8Array(30))),i.split().map((e>xe?o(t,r++).toString(16):ye?(3&o()|8).toString(16):e)).join()}function s(e){const tn.gm?.crypto||n.gm?.msCrypto;let r,i0;t&&t.getRandomValues&&(rt.getRandomValues(new Uint8Array(e)));const a;for(var s0;se;s++)a.push(o(r,i++).toString(16));return a.join()}function c(){return s(16)}function u(){return s(32)}},2614:(e,t,r)>{use strict;r.d(t,{BB:()>a,H3:()>n,g:()>u,iL:()>c,tS:()>s,uh:()>i,wk:()>o});const nNRBA,iSESSION,o144e5,a18e5,s{STARTED:session-started,PAUSE:session-pause,RESET:session-reset,RESUME:session-resume,UPDATE:session-update},c{SAME_TAB:same-tab,CROSS_TAB:cross-tab},u{OFF:0,FULL:1,ERROR:2}},1863:(e,t,r)>{use strict;function n(){return Math.floor(performance.now())}r.d(t,{t:()>n})},7485:(e,t,r)>{use strict;r.d(t,{D:()>i});var nr(6154);function i(e){if(0(e||).indexOf(data:))return{protocol:data};try{const tnew URL(e,location.href),r{port:t.port,hostname:t.hostname,pathname:t.pathname,search:t.search,protocol:t.protocol.slice(0,t.protocol.indexOf(:)),sameOrigin:t.protocoln.gm?.location?.protocol&&t.hostn.gm?.location?.host};return r.port&&!r.port||(http:t.protocol&&(r.port80),https:t.protocol&&(r.port443)),r.pathname&&!r.pathname?r.pathname.startsWith(/)||(r.pathname/.concat(r.pathname)):r.pathname/,r}catch(e){return{}}}},944:(e,t,r)>{use strict;function n(e,t){functiontypeof console.debug&&console.debug(New Relic Warning: https://github.com/newrelic/newrelic-browser-agent/blob/main/docs/warning-codes.md#.concat(e),t)}r.d(t,{R:()>n})},5284:(e,t,r)>{use strict;r.d(t,{t:()>c,B:()>s});var nr(7836),ir(6154);const onewrelic;const anew Set,s{};function c(e,t){const rn.ee.get(t);st??{},e&&objecttypeof e&&(a.has(t)||(r.emit(rumresp,e),ste,a.add(t),function(e{}){try{i.gm.dispatchEvent(new CustomEvent(o,{detail:e}))}catch(e){}}({loaded:!0})))}},8990:(e,t,r)>{use strict;r.d(t,{I:()>i});var nObject.prototype.hasOwnProperty;function i(e,t,r){if(n.call(e,t))return et;var ir();if(Object.defineProperty&&Object.keys)try{return Object.defineProperty(e,t,{value:i,writable:!0,enumerable:!1}),i}catch(e){}return eti,i}},6389:(e,t,r)>{use strict;function n(e,t500,r{}){const nr?.leading||!1;let i;return(...r)>{n&&void 0i&&(e.apply(this,r),isetTimeout((()>{iclearTimeout(i)}),t)),n||(clearTimeout(i),isetTimeout((()>{e.apply(this,r)}),t))}}function i(e){let t!1;return(...r)>{t||(t!0,e.apply(this,r))}}r.d(t,{J:()>i,s:()>n})},3304:(e,t,r)>{use strict;r.d(t,{A:()>o});var nr(7836);const i()>{const enew WeakSet;return(t,r)>{if(objecttypeof r&&null!r){if(e.has(r))return;e.add(r)}return r}};function o(e){try{return JSON.stringify(e,i())??}catch(e){try{n.ee.emit(internal-error,e)}catch(e){}return}}},5289:(e,t,r)>{use strict;r.d(t,{GG:()>o,sB:()>a});var nr(3878);function i(){returnundefinedtypeof document||completedocument.readyState}function o(e,t){if(i())return e();(0,n.sp)(load,e,t)}function a(e){if(i())return e();(0,n.DD)(DOMContentLoaded,e)}},384:(e,t,r)>{use strict;r.d(t,{NT:()>o,US:()>d,Zm:()>a,bQ:()>c,dV:()>s,nY:()>u,pV:()>l});var nr(6154),ir(1863);const o{beacon:bam.nr-data.net,errorBeacon:bam.nr-data.net};function a(){return n.gm.NREUM||(n.gm.NREUM{}),void 0n.gm.newrelic&&(n.gm.newrelicn.gm.NREUM),n.gm.NREUM}function s(){let ea();return e.o||(e.o{ST:n.gm.setTimeout,SI:n.gm.setImmediate,CT:n.gm.clearTimeout,XHR:n.gm.XMLHttpRequest,REQ:n.gm.Request,EV:n.gm.Event,PR:n.gm.Promise,MO:n.gm.MutationObserver,FETCH:n.gm.fetch,WS:n.gm.WebSocket}),e}function c(e,t){let ra();r.initializedAgents??{},t.initializedAt{ms:(0,i.t)(),date:new Date},r.initializedAgentset}function u(e){let ta();return t.initializedAgents?.e}function d(e,t){a()et}function l(){return function(){let ea();const te.info||{};e.info{beacon:o.beacon,errorBeacon:o.errorBeacon,...t}}(),function(){let ea();const te.init||{};e.init{...t}}(),s(),function(){let ea();const te.loader_config||{};e.loader_config{...t}}(),a()}},2843:(e,t,r)>{use strict;r.d(t,{u:()>i});var nr(3878);function i(e,t!1,r,i){(0,n.DD)(visibilitychange,(function(){if(t)return void(hiddendocument.visibilityState&&e());e(document.visibilityState)}),r,i)}},8139:(e,t,r)>{use strict;r.d(t,{u:()>f});var nr(7836),ir(3434),or(8990),ar(6154);const s{},ca.gm.XMLHttpRequest,uaddEventListener,dremoveEventListener,lnr@wrapped:.concat(n.P);function f(e){var tfunction(e){return(e||n.ee).get(events)}(e);if(st.debugId++)return t;st.debugId1;var r(0,i.YM)(t,!0);function f(e){r.inPlace(e,u,d,-,p)}function p(e,t){return e1}returngetPrototypeOfin Object&&(a.RI&&h(document,f),h(a.gm,f),h(c.prototype,f)),t.on(u+-start,(function(e,t){var ne1;if(null!n&&(functiontypeof n||objecttypeof n)){var i(0,o.I)(n,l,(function(){var e{object:function(){if(function!typeof n.handleEvent)return;return n.handleEvent.apply(n,arguments)},function:n}typeof n;return e?r(e,fn-,null,e.name||anonymous):n}));this.wrappede1i}})),t.on(d+-start,(function(e){e1this.wrapped||e1})),t}function h(e,t,...r){let ne;for(;objecttypeof n&&!Object.prototype.hasOwnProperty.call(n,u);)nObject.getPrototypeOf(n);n&&t(n,...r)}},3434:(e,t,r)>{use strict;r.d(t,{Jt:()>o,YM:()>c});var nr(7836),ir(5607);const onr@original:.concat(i.W);var aObject.prototype.hasOwnProperty,s!1;function c(e,t){return e||(en.ee),r.inPlacefunction(e,t,n,i,o){n||(n);const a-n.charAt(0);for(let s0;st.length;s++){const cts,uec;d(u)||(ecr(u,a?c+n:n,i,c,o))}},r.flago,r;function r(t,r,n,s,c){return d(t)?t:(r||(r),nrWrapperot,function(e,t,r){if(Object.defineProperty&&Object.keys)try{return Object.keys(e).forEach((function(r){Object.defineProperty(t,r,{get:function(){return er},set:function(t){return ert,t}})})),t}catch(e){u(e,r)}for(var n in e)a.call(e,n)&&(tnen)}(t,nrWrapper,e),nrWrapper);function nrWrapper(){var o,a,d,l;try{athis,o...arguments,dfunctiontypeof n?n(o,a):n||{}}catch(t){u(t,,o,a,s,d,e)}i(r+start,o,a,s,d,c);try{return lt.apply(a,o)}catch(e){throw i(r+err,o,a,e,d,c),e}finally{i(r+end,o,a,l,d,c)}}}function i(r,n,i,o){if(!s||t){var as;s!0;try{e.emit(r,n,i,t,o)}catch(t){u(t,r,n,i,e)}sa}}}function u(e,t){t||(tn.ee);try{t.emit(internal-error,e)}catch(e){}}function d(e){return!(e&&functiontypeof e&&e.apply&&!eo)}},9300:(e,t,r)>{use strict;r.d(t,{T:()>n});const nr(860).K.ajax},3333:(e,t,r)>{use strict;r.d(t,{TZ:()>n,Zp:()>i,mq:()>s,nf:()>a,qN:()>o});const nr(860).K.genericEvents,iauxclick,click,copy,keydown,paste,scrollend,ofocus,blur,a4,s1e3},6774:(e,t,r)>{use strict;r.d(t,{T:()>n});const nr(860).K.jserrors},993:(e,t,r)>{use strict;r.d(t,{ET:()>o,TZ:()>a,p_:()>i});var nr(860);const i{ERROR:ERROR,WARN:WARN,INFO:INFO,DEBUG:DEBUG,TRACE:TRACE},olog,an.K.logging},3785:(e,t,r)>{use strict;r.d(t,{R:()>c,b:()>u});var nr(9908),ir(1863),or(860),ar(3969),sr(993);function c(e,t,r{},cs.p_.INFO){(0,n.p)(a.xV,API/logging/.concat(c.toLowerCase(),/called),void 0,o.K.metrics,e),(0,n.p)(s.ET,(0,i.t)(),t,r,c,void 0,o.K.logging,e)}function u(e){returnstringtypeof e&&Object.values(s.p_).some((t>te.toUpperCase().trim()))}},3969:(e,t,r)>{use strict;r.d(t,{TZ:()>n,XG:()>s,rs:()>i,xV:()>a,z_:()>o});const nr(860).K.metrics,ism,ocm,astoreSupportabilityMetrics,sstoreEventMetrics},6630:(e,t,r)>{use strict;r.d(t,{T:()>n});const nr(860).K.pageViewEvent},782:(e,t,r)>{use strict;r.d(t,{T:()>n});const nr(860).K.pageViewTiming},6344:(e,t,r)>{use strict;r.d(t,{BB:()>d,G4:()>o,Qb:()>l,TZ:()>i,Ug:()>a,_s:()>s,bc:()>u,yP:()>c});var nr(2614);const ir(860).K.sessionReplay,o{RECORD:recordReplay,PAUSE:pauseReplay,REPLAY_RUNNING:replayRunning,ERROR_DURING_REPLAY:errorDuringReplay},a.12,s{DomContentLoaded:0,Load:1,FullSnapshot:2,IncrementalSnapshot:3,Meta:4,Custom:5},c{n.g.ERROR:15e3,n.g.FULL:3e5,n.g.OFF:0},u{RESET:{message:Session was reset,sm:Reset},IMPORT:{message:Recorder failed to import,sm:Import},TOO_MANY:{message:429: Too Many Requests,sm:Too-Many},TOO_BIG:{message:Payload was too large,sm:Too-Big},CROSS_TAB:{message:Session Entity was set to OFF on another tab,sm:Cross-Tab},ENTITLEMENTS:{message:Session Replay is not allowed and will not be started,sm:Entitlement}},d5e3,l{API:api}},5270:(e,t,r)>{use strict;r.d(t,{Aw:()>c,CT:()>u,SR:()>s});var nr(384),ir(9417),or(7767),ar(6154);function s(e){return!!(0,n.dV)().o.MO&&(0,o.V)(e)&&!0(0,i.gD)(e,session_trace.enabled)}function c(e){return!0(0,i.gD)(e,session_replay.preload)&&s(e)}function u(e,t){const rt.correctAbsoluteTimestamp(e);return{originalTimestamp:e,correctedTimestamp:r,timestampDiff:e-r,originTime:a.WN,correctedOriginTime:t.correctedOriginTime,originTimeDiff:Math.floor(a.WN-t.correctedOriginTime)}}},3738:(e,t,r)>{use strict;r.d(t,{He:()>i,Kp:()>s,Lc:()>u,Rz:()>d,TZ:()>n,bD:()>o,d3:()>a,jx:()>l,uP:()>c});const nr(860).K.sessionTrace,ibstResource,oresource,a-start,s-end,cfn+a,ufn+s,dpushState,l1e3},3962:(e,t,r)>{use strict;r.d(t,{AM:()>o,O2:()>s,Qu:()>c,TZ:()>a,ih:()>u,tC:()>i});var nr(860);const iclick,keydown,submit,oapi,an.K.softNav,s{INITIAL_PAGE_LOAD:,ROUTE_CHANGE:1,UNSPECIFIED:2},c{INTERACTION:1,AJAX:2,CUSTOM_END:3,CUSTOM_TRACER:4},u{IP:in progress,FIN:finished,CAN:cancelled}},7378:(e,t,r)>{use strict;r.d(t,{$p:()>x,BR:()>b,Kp:()>R,L3:()>y,Lc:()>c,NC:()>o,SG:()>d,TZ:()>i,U6:()>p,UT:()>m,d3:()>w,dT:()>f,e5:()>A,gx:()>v,l9:()>l,oW:()>h,op:()>g,rw:()>u,tH:()>E,uP:()>s,wW:()>T,xq:()>a});var nr(384);const ir(860).K.spa,oclick,submit,keypress,keydown,keyup,change,a999,sfn-start,cfn-end,ucb-start,dapi-ixn-,lremaining,finteraction,hspaNode,pjsonpNode,gfetch-start,mfetch-done,vfetch-body-,bjsonp-end,y(0,n.dV)().o.ST,w-start,R-end,x-body,Tcb+R,AjsTime,Efetch},4234:(e,t,r)>{use strict;r.d(t,{W:()>o});var nr(7836),ir(1687);class o{constructor(e,t){this.agentIdentifiere,this.een.ee.get(e),this.featureNamet,this.blocked!1}deregisterDrain(){(0,i.x3)(this.agentIdentifier,this.featureName)}}},7767:(e,t,r)>{use strict;r.d(t,{V:()>o});var nr(9417),ir(6154);const oe>i.RI&&!0(0,n.gD)(e,privacy.cookies_enabled)},425:(e,t,r)>{use strict;r.d(t,{j:()>j});var nr(860),ir(2555),or(3371),ar(9908),sr(7836),cr(1687),ur(5289),dr(6154),lr(944),fr(3969),hr(384),pr(6344);const gsetErrorHandler,finished,addToTrace,addRelease,addPageAction,setCurrentRouteName,setPageViewName,setCustomAttribute,interaction,noticeError,setUserId,setApplicationVersion,start,p.G4.RECORD,p.G4.PAUSE,log,wrapLogger,msetErrorHandler,finished,addToTrace,addRelease;var vr(1863),br(2614),yr(993),wr(3785),Rr(2646),xr(3434);function T(e,t,r,n){if(object!typeof t||!t||string!typeof r||!r||function!typeof tr)return(0,l.R)(29);const ifunction(e){return(e||s.ee).get(logger)}(e),o(0,x.YM)(i),anew R.y(s.P);return a.leveln.level,a.customAttributesn.customAttributes,o.inPlace(t,r,wrap-logger-,a),i}function A(){const e(0,h.pV)();g.forEach((t>{et(...r)>function(t,...r){let n;return Object.values(e.initializedAgents).forEach((e>{e&&e.api?e.exposed&&e.apit&&n.push(e.apit(...r)):(0,l.R)(38,t)})),n.length>1?n:n0}(t,...r)}))}const E{};var Sr(9417),Nr(5603),Or(5284);const Ie>{const te.startsWith(http);e+/,r.pt?e:https://+e};let _!1;function j(e,t{},g,R){let{init:x,info:j,loader_config:P,runtime:C{},exposed:k!0}t;C.loaderTypeg;const L(0,h.pV)();j||(xL.init,jL.info,PL.loader_config),(0,S.xN)(e.agentIdentifier,x||{}),(0,N.a)(e.agentIdentifier,P||{}),j.jsAttributes??{},d.bv&&(j.jsAttributes.isWorker!0),(0,i.x1)(e.agentIdentifier,j);const H(0,S.D0)(e.agentIdentifier),Dj.beacon,j.errorBeacon;_||(H.proxy.assets&&(I(H.proxy.assets),D.push(H.proxy.assets)),H.proxy.beacon&&D.push(H.proxy.beacon),A(),(0,h.US)(activatedFeatures,O.B),e.runSoftNavOverSpa&&!0H.soft_navigations.enabled&&H.feature_flags.includes(soft_nav)),C.denyList...H.ajax.deny_list||,...H.ajax.block_internal?D:,C.ptide.agentIdentifier,(0,o.V)(e.agentIdentifier,C),e.ees.ee.get(e.agentIdentifier),void 0e.api&&(e.apifunction(e,t,h!1){t||(0,c.Ak)(e,api);const g{};var Rs.ee.get(e),xR.get(tracer);Eeb.g.OFF,R.on(p.G4.REPLAY_RUNNING,(t>{Eet}));var Aapi-,SA+ixn-;function N(t,r,n,o){const a(0,i.Vp)(e);return nullr?delete a.jsAttributest:(0,i.x1)(e,{...a,jsAttributes:{...a.jsAttributes,t:r}}),_(A,n,!0,o||nullr?session:void 0)(t,r)}function O(){}g.logfunction(e,{customAttributes:t{},level:ry.p_.INFO}{}){(0,a.p)(f.xV,API/log/called,void 0,n.K.metrics,R),(0,w.R)(R,e,t,r)},g.wrapLogger(e,t,{customAttributes:r{},level:iy.p_.INFO}{})>{(0,a.p)(f.xV,API/wrapLogger/called,void 0,n.K.metrics,R),T(R,e,t,{customAttributes:r,level:i})},m.forEach((e>{ge_(A,e,!0,api)})),g.addPageAction_(A,addPageAction,!0,n.K.genericEvents),g.setPageViewNamefunction(t,r){if(stringtypeof t)return/!t.charAt(0)&&(t/+t),(0,o.f)(e).customTransaction(r||http://custom.transaction)+t,_(A,setPageViewName,!0)()},g.setCustomAttributefunction(e,t,r!1){if(stringtypeof e){if(string,number,boolean.includes(typeof t)||nullt)return N(e,t,setCustomAttribute,r);(0,l.R)(40,typeof t)}else(0,l.R)(39,typeof e)},g.setUserIdfunction(e){if(stringtypeof e||nulle)return N(enduser.id,e,setUserId,!0);(0,l.R)(41,typeof e)},g.setApplicationVersionfunction(e){if(stringtypeof e||nulle)return N(application.version,e,setApplicationVersion,!1);(0,l.R)(42,typeof e)},g.start()>{try{(0,a.p)(f.xV,API/start/called,void 0,n.K.metrics,R),R.emit(manual-start-all)}catch(e){(0,l.R)(23,e)}},gp.G4.RECORDfunction(){(0,a.p)(f.xV,API/recordReplay/called,void 0,n.K.metrics,R),(0,a.p)(p.G4.RECORD,,void 0,n.K.sessionReplay,R)},gp.G4.PAUSEfunction(){(0,a.p)(f.xV,API/pauseReplay/called,void 0,n.K.metrics,R),(0,a.p)(p.G4.PAUSE,,void 0,n.K.sessionReplay,R)},g.interactionfunction(e){return(new O).get(objecttypeof e?e:{})};const IO.prototype{createTracer:function(e,t){var r{},ithis,ofunctiontypeof t;return(0,a.p)(f.xV,API/createTracer/called,void 0,n.K.metrics,R),h||(0,a.p)(S+tracer,(0,v.t)(),e,r,i,n.K.spa,R),function(){if(x.emit((o?:no-)+fn-start,(0,v.t)(),i,o,r),o)try{return t.apply(this,arguments)}catch(e){const tstringtypeof e?new Error(e):e;throw x.emit(fn-err,arguments,this,t,r),t}finally{x.emit(fn-end,(0,v.t)(),r)}}}};function _(e,t,r,i){return function(){return(0,a.p)(f.xV,API/+t+/called,void 0,n.K.metrics,R),i&&(0,a.p)(e+t,(0,v.t)(),...arguments,r?null:this,i,R),r?void 0:this}}function j(){r.e(478).then(r.bind(r,8778)).then((({setAPI:t})>{t(e),(0,c.Ze)(e,api)})).catch((e>{(0,l.R)(27,e),R.abort()}))}returnactionText,setName,setAttribute,save,ignore,onEnd,getContext,end,get.forEach((e>{Ie_(S,e,void 0,h?n.K.softNav:n.K.spa)})),g.setCurrentRouteNameh?_(S,routeName,void 0,n.K.softNav):_(A,routeName,!0,n.K.spa),g.noticeErrorfunction(t,r){stringtypeof t&&(tnew Error(t)),(0,a.p)(f.xV,API/noticeError/called,void 0,n.K.metrics,R),(0,a.p)(err,t,(0,v.t)(),!1,r,!!Ee,void 0,n.K.jserrors,R)},d.RI?(0,u.GG)((()>j()),!0):j(),g}(e.agentIdentifier,R,e.runSoftNavOverSpa)),void 0e.exposed&&(e.exposedk),_!0}},8374:(e,t,r)>{r.nc(()>{try{return document?.currentScript?.nonce}catch(e){}return})()},860:(e,t,r)>{use strict;r.d(t,{K:()>n,P:()>i});const n{ajax:ajax,genericEvents:generic_events,jserrors:jserrors,logging:logging,metrics:metrics,pageAction:page_action,pageViewEvent:page_view_event,pageViewTiming:page_view_timing,sessionReplay:session_replay,sessionTrace:session_trace,softNav:soft_navigations,spa:spa},i{n.pageViewEvent:1,n.pageViewTiming:2,n.metrics:3,n.jserrors:4,n.spa:5,n.ajax:6,n.sessionTrace:7,n.softNav:8,n.sessionReplay:9,n.logging:10,n.genericEvents:11}}},n{};function i(e){var tne;if(void 0!t)return t.exports;var one{exports:{}};return re(o,o.exports,i),o.exports}i.mr,i.d(e,t)>{for(var r in t)i.o(t,r)&&!i.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:tr})},i.f{},i.ee>Promise.all(Object.keys(i.f).reduce(((t,r)>(i.fr(e,t),t)),)),i.ue>({212:nr-spa-compressor,249:nr-spa-recorder,478:nr-spa}e+-1.271.0.min.js),i.o(e,t)>Object.prototype.hasOwnProperty.call(e,t),e{},tNRBA-1.271.0.PROD:,i.l(r,n,o,a)>{if(er)er.push(n);else{var s,c;if(void 0!o)for(var udocument.getElementsByTagName(script),d0;du.length;d++){var lud;if(l.getAttribute(src)r||l.getAttribute(data-webpack)t+o){sl;break}}if(!s){c!0;var f{478:sha512-Ju42UKn3bed+LffSzRHB8eYie0+biqRzN7k8HHw2TRTLGeoFxsvOa56QdvzNHoF3m0+rq5TyW6FCkg7QyLWd9g,249:sha512-MF9h/cTFIEQE9X72v8MxkXraxwTipoKap/TxXV5L5lsTx9c5YgSNfyFlEXl1lktyx7CAGvwFbSGNK0SJj4mlDw,212:sha512-OIG474PJEDkknZqm52iQ9BencLstvJ6kSCLi+ZxjbMB15iAx3XyQwzc1zmr6Fz+aWuEnZD/s3zqe8O09v3nLvg};(sdocument.createElement(script)).charsetutf-8,s.timeout120,i.nc&&s.setAttribute(nonce,i.nc),s.setAttribute(data-webpack,t+o),s.srcr,0!s.src.indexOf(window.location.origin+/)&&(s.crossOriginanonymous),fa&&(s.integrityfa)}ern;var h(t,n)>{s.onerrors.onloadnull,clearTimeout(p);var ier;if(delete er,s.parentNode&&s.parentNode.removeChild(s),i&&i.forEach((e>e(n))),t)return t(n)},psetTimeout(h.bind(null,void 0,{type:timeout,target:s}),12e4);s.onerrorh.bind(null,s.onerror),s.onloadh.bind(null,s.onload),c&&document.head.appendChild(s)}},i.re>{undefined!typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:Module}),Object.defineProperty(e,__esModule,{value:!0})},i.phttps://js-agent.newrelic.com/,(()>{var e{38:0,788:0};i.f.j(t,r)>{var ni.o(e,t)?et:void 0;if(0!n)if(n)r.push(n2);else{var onew Promise(((r,i)>netr,i));r.push(n2o);var ai.p+i.u(t),snew Error;i.l(a,(r>{if(i.o(e,t)&&(0!(net)&&(etvoid 0),n)){var or&&(loadr.type?missing:r.type),ar&&r.target&&r.target.src;s.messageLoading chunk +t+ failed.\n(+o+: +a+),s.nameChunkLoadError,s.typeo,s.requesta,n1(s)}}),chunk-+t,t)}};var t(t,r)>{var n,o,a,s,cr,u0;if(a.some((t>0!et))){for(n in s)i.o(s,n)&&(i.mnsn);if(c)c(i)}for(t&&t(r);ua.length;u++)oau,i.o(e,o)&&eo&&eo0(),eo0},rselfwebpackChunk:NRBA-1.271.0.PRODselfwebpackChunk:NRBA-1.271.0.PROD||;r.forEach(t.bind(null,0)),r.pusht.bind(null,r.push.bind(r))})(),(()>{use strict;i(8374);var ei(944),ti(6344),ri(9566);class n{agentIdentifier;constructor(e(0,r.LA)(16)){this.agentIdentifiere}#e(t,...r){if(functiontypeof this.api?.t)return this.apit(...r);(0,e.R)(35,t)}addPageAction(e,t){return this.#e(addPageAction,e,t)}setPageViewName(e,t){return this.#e(setPageViewName,e,t)}setCustomAttribute(e,t,r){return this.#e(setCustomAttribute,e,t,r)}noticeError(e,t){return this.#e(noticeError,e,t)}setUserId(e){return this.#e(setUserId,e)}setApplicationVersion(e){return this.#e(setApplicationVersion,e)}setErrorHandler(e){return this.#e(setErrorHandler,e)}finished(e){return this.#e(finished,e)}addRelease(e,t){return this.#e(addRelease,e,t)}start(e){return this.#e(start,e)}recordReplay(){return this.#e(t.G4.RECORD)}pauseReplay(){return this.#e(t.G4.PAUSE)}addToTrace(e){return this.#e(addToTrace,e)}setCurrentRouteName(e){return this.#e(setCurrentRouteName,e)}interaction(){return this.#e(interaction)}log(e,t){return this.#e(log,e,t)}wrapLogger(e,t,r){return this.#e(wrapLogger,e,t,r)}}var oi(860),ai(9417);const sObject.values(o.K);function c(e){const t{};return s.forEach((r>{trfunction(e,t){return!0(0,a.gD)(t,.concat(e,.enabled))}(r,e)})),t}var ui(425);var di(1687),li(4234),fi(5289),hi(6154),pi(5270),gi(7767),mi(6389);class v extends l.W{constructor(e,t,r!0){super(e.agentIdentifier,t),this.autor,this.abortHandlervoid 0,this.featAggregatevoid 0,this.onAggregateImportedvoid 0,!1e.initthis.featureName.autoStart&&(this.auto!1),this.auto?(0,d.Ak)(e.agentIdentifier,t):this.ee.on(manual-start-all,(0,m.J)((()>{(0,d.Ak)(e.agentIdentifier,this.featureName),this.auto!0,this.importAggregator(e)})))}importAggregator(t,r{}){if(this.featAggregate||!this.auto)return;let n;this.onAggregateImportednew Promise((e>{ne}));const aasync()>{let a;try{if((0,g.V)(this.agentIdentifier)){const{setupAgentSession:e}await i.e(478).then(i.bind(i,6526));ae(this.agentIdentifier)}}catch(t){(0,e.R)(20,t),this.ee.emit(internal-error,t),this.featureNameo.K.sessionReplay&&this.abortHandler?.()}try{if(t.sharedAggregator)await t.sharedAggregator;else{t.sharedAggregatori.e(478).then(i.bind(i,5987));const{Aggregator:e}await t.sharedAggregator;t.sharedAggregatornew e}if(!this.#t(this.featureName,a))return(0,d.Ze)(this.agentIdentifier,this.featureName),void n(!1);const{lazyFeatureLoader:e}await i.e(478).then(i.bind(i,6103)),{Aggregate:o}await e(this.featureName,aggregate);this.featAggregatenew o(t,r),n(!0)}catch(t){(0,e.R)(34,t),this.abortHandler?.(),(0,d.Ze)(this.agentIdentifier,this.featureName,!0),n(!1),this.ee&&this.ee.abort()}};h.RI?(0,f.GG)((()>a()),!0):a()}#t(e,t){switch(e){case o.K.sessionReplay:return(0,p.SR)(this.agentIdentifier)&&!!t;case o.K.sessionTrace:return!!t;default:return!0}}}var bi(6630);class y extends v{static featureNameb.T;constructor(e,t!0){super(e,b.T,t),this.importAggregator(e)}}var wi(384);var Ri(9908),xi(2843),Ti(3878),Ai(782),Ei(1863);class S extends v{static featureNameA.T;constructor(e,t!0){super(e,A.T,t),h.RI&&((0,x.u)((()>(0,R.p)(docHidden,(0,E.t)(),void 0,A.T,this.ee)),!0),(0,T.sp)(pagehide,(()>(0,R.p)(winPagehide,(0,E.t)(),void 0,A.T,this.ee))),this.importAggregator(e))}}var Ni(3969);class O extends v{static featureNameN.TZ;constructor(e,t!0){super(e,N.TZ,t),this.importAggregator(e)}}var Ii(6774),_i(3304);class j{constructor(e,t,r,n,i){this.nameUncaughtError,this.messagestringtypeof e?e:(0,_.A)(e),this.sourceURLt,this.liner,this.columnn,this.__newrelici}}function P(e){return L(e)?e:new j(void 0!e?.message?e.message:e,e?.filename||e?.sourceURL,e?.lineno||e?.line,e?.colno||e?.col,e?.__newrelic)}function C(e){const tUnhandled Promise Rejection;if(!e?.reason)return;if(L(e.reason))try{return e.reason.messaget+: +e.reason.message,P(e.reason)}catch(t){return P(e.reason)}const rP(e.reason);return r.messaget+: +r?.message,r}function k(e){if(e.error instanceof SyntaxError&&!/:\d+$/.test(e.error.stack?.trim())){const tnew j(e.message,e.filename,e.lineno,e.colno,e.error.__newrelic);return t.nameSyntaxError.name,t}return L(e.error)?e.error:P(e)}function L(e){return e instanceof Error&&!!e.stack}class H extends v{static featureNameI.T;#r!1;constructor(e,r!0){super(e,I.T,r);try{this.removeOnAbortnew AbortController}catch(e){}this.ee.on(internal-error,(e>{this.abortHandler&&(0,R.p)(ierr,P(e),(0,E.t)(),!0,{},this.#r,void 0,this.featureName,this.ee)})),this.ee.on(t.G4.REPLAY_RUNNING,(e>{this.#re})),h.gm.addEventListener(unhandledrejection,(e>{this.abortHandler&&(0,R.p)(err,C(e),(0,E.t)(),!1,{unhandledPromiseRejection:1},this.#r,void 0,this.featureName,this.ee)}),(0,T.jT)(!1,this.removeOnAbort?.signal)),h.gm.addEventListener(error,(e>{this.abortHandler&&(0,R.p)(err,k(e),(0,E.t)(),!1,{},this.#r,void 0,this.featureName,this.ee)}),(0,T.jT)(!1,this.removeOnAbort?.signal)),this.abortHandlerthis.#n,this.importAggregator(e)}#n(){this.removeOnAbort?.abort(),this.abortHandlervoid 0}}var Di(8990);let M1;const Knr@id;function U(e){const ttypeof e;return!e||object!t&&function!t?-1:eh.gm?0:(0,D.I)(e,K,(function(){return M++}))}function V(e){if(stringtypeof e&&e.length)return e.length;if(objecttypeof e){if(undefined!typeof ArrayBuffer&&e instanceof ArrayBuffer&&e.byteLength)return e.byteLength;if(undefined!typeof Blob&&e instanceof Blob&&e.size)return e.size;if(!(undefined!typeof FormData&&e instanceof FormData))try{return(0,_.A)(e).length}catch(e){return}}}var Gi(8139),Fi(7836),Bi(3434);const W{},zopen,send;function q(t){var rt||F.ee;const nfunction(e){return(e||F.ee).get(xhr)}(r);if(Wn.debugId++)return n;Wn.debugId1,(0,G.u)(r);var i(0,B.YM)(n),oh.gm.XMLHttpRequest,ah.gm.MutationObserver,sh.gm.Promise,ch.gm.setInterval,ureadystatechange,donload,onerror,onabort,onloadstart,onloadend,onprogress,ontimeout,l,fh.gm.XMLHttpRequestfunction(t){const rnew o(t),an.context(r);try{n.emit(new-xhr,r,a),r.addEventListener(u,(sa,function(){var ethis;e.readyState>3&&!s.resolved&&(s.resolved!0,n.emit(xhr-resolved,,e)),i.inPlace(e,d,fn-,y)}),(0,T.jT)(!1))}catch(t){(0,e.R)(15,t);try{n.emit(internal-error,t)}catch(e){}}var s;return r};function p(e,t){i.inPlace(t,onreadystatechange,fn-,y)}if(function(e,t){for(var r in e)trer}(o,f),f.prototypeo.prototype,i.inPlace(f.prototype,z,-xhr-,y),n.on(send-xhr-start,(function(e,t){p(e,t),function(e){l.push(e),a&&(g?g.then(b):c?c(b):(m-m,v.datam))}(t)})),n.on(open-xhr-start,p),a){var gs&&s.resolve();if(!c&&!s){var m1,vdocument.createTextNode(m);new a(b).observe(v,{characterData:!0})}}else r.on(fn-end,(function(e){e0&&e0.typeu||b()}));function b(){for(var e0;el.length;e++)p(0,le);l.length&&(l)}function y(e,t){return t}return n}var Zfetch-,YZ+body-,XarrayBuffer,blob,json,text,formData,Jh.gm.Request,Qh.gm.Response,eeprototype;const te{};function re(e){const tfunction(e){return(e||F.ee).get(fetch)}(e);if(!(J&&Q&&h.gm.fetch))return t;if(tet.debugId++)return t;function r(e,r,n){var ier;functiontypeof i&&(erfunction(){var e,r...arguments,o{};t.emit(n+before-start,r,o),oF.P&&oF.P.dt&&(eoF.P.dt);var ai.apply(this,r);return t.emit(n+start,r,e,a),a.then((function(e){return t.emit(n+end,null,e,a),e}),(function(e){throw t.emit(n+end,e,a),e}))})}return tet.debugId1,X.forEach((e>{r(Jee,e,Y),r(Qee,e,Y)})),r(h.gm,fetch,Z),t.on(Z+end,(function(e,r){var nthis;if(r){var ir.headers.get(content-length);null!i&&(n.rxSizei),t.emit(Z+done,null,r,n)}else t.emit(Z+done,e,n)})),t}var nei(7485),iei(5603);class oe{constructor(e){this.agentIdentifiere}generateTracePayload(e){if(!this.shouldGenerateTrace(e))return null;var t(0,ie.o)(this.agentIdentifier);if(!t)return null;var n(t.accountID||).toString()||null,i(t.agentID||).toString()||null,o(t.trustKey||).toString()||null;if(!n||!i)return null;var a(0,r.ZF)(),s(0,r.el)(),cDate.now(),u{spanId:a,traceId:s,timestamp:c};return(e.sameOrigin||this.isAllowedOrigin(e)&&this.useTraceContextHeadersForCors())&&(u.traceContextParentHeaderthis.generateTraceContextParentHeader(a,s),u.traceContextStateHeaderthis.generateTraceContextStateHeader(a,c,n,i,o)),(e.sameOrigin&&!this.excludeNewrelicHeader()||!e.sameOrigin&&this.isAllowedOrigin(e)&&this.useNewrelicHeaderForCors())&&(u.newrelicHeaderthis.generateTraceHeader(a,s,c,n,i,o)),u}generateTraceContextParentHeader(e,t){return00-+t+-+e+-01}generateTraceContextStateHeader(e,t,r,n,i){return i+@nr0-1-+r+-+n+-+e+----+t}generateTraceHeader(e,t,r,n,i,o){if(!(functiontypeof h.gm?.btoa))return null;var a{v:0,1,d:{ty:Browser,ac:n,ap:i,id:e,tr:t,ti:r}};return o&&n!o&&(a.d.tko),btoa((0,_.A)(a))}shouldGenerateTrace(e){return this.isDtEnabled()&&this.isAllowedOrigin(e)}isAllowedOrigin(e){var t!1,r{};if((0,a.gD)(this.agentIdentifier,distributed_tracing)&&(r(0,a.D0)(this.agentIdentifier).distributed_tracing),e.sameOrigin)t!0;else if(r.allowed_origins instanceof Array)for(var n0;nr.allowed_origins.length;n++){var i(0,ne.D)(r.allowed_originsn);if(e.hostnamei.hostname&&e.protocoli.protocol&&e.porti.port){t!0;break}}return t}isDtEnabled(){var e(0,a.gD)(this.agentIdentifier,distributed_tracing);return!!e&&!!e.enabled}excludeNewrelicHeader(){var e(0,a.gD)(this.agentIdentifier,distributed_tracing);return!!e&&!!e.exclude_newrelic_header}useNewrelicHeaderForCors(){var e(0,a.gD)(this.agentIdentifier,distributed_tracing);return!!e&&!1!e.cors_use_newrelic_header}useTraceContextHeadersForCors(){var e(0,a.gD)(this.agentIdentifier,distributed_tracing);return!!e&&!!e.cors_use_tracecontext_headers}}var aei(9300),sei(7295),ceload,error,abort,timeout,uece.length,de(0,w.dV)().o.REQ,le(0,w.dV)().o.XHR;class fe extends v{static featureNameae.T;constructor(e,t!0){super(e,ae.T,t),this.dtnew oe(e.agentIdentifier),this.handler(e,t,r,n)>(0,R.p)(e,t,r,n,this.ee);try{const e{xmlhttprequest:xhr,fetch:fetch,beacon:beacon};h.gm?.performance?.getEntriesByType(resource).forEach((t>{if(t.initiatorType in e&&0!t.responseStatus){const r{status:t.responseStatus},n{rxSize:t.transferSize,duration:Math.floor(t.duration),cbTime:0};he(r,t.name),this.handler(xhr,r,n,t.startTime,t.responseEnd,et.initiatorType,void 0,o.K.ajax)}}))}catch(e){}re(this.ee),q(this.ee),function(e,t,r,n){function i(e){var tthis;t.totalCbs0,t.called0,t.cbTime0,t.endx,t.ended!1,t.xhrGuids{},t.lastSizenull,t.loadCaptureCalled!1,t.paramsthis.params||{},t.metricsthis.metrics||{},e.addEventListener(load,(function(r){A(t,e)}),(0,T.jT)(!1)),h.lR||e.addEventListener(progress,(function(e){t.lastSizee.loaded}),(0,T.jT)(!1))}function a(e){this.params{method:e0},he(this,e1),this.metrics{}}function s(t,r){e.loader_config.xpid&&this.sameOrigin&&r.setRequestHeader(X-NewRelic-ID,e.loader_config.xpid);var in.generateTracePayload(this.parsedOrigin);if(i){var o!1;i.newrelicHeader&&(r.setRequestHeader(newrelic,i.newrelicHeader),o!0),i.traceContextParentHeader&&(r.setRequestHeader(traceparent,i.traceContextParentHeader),i.traceContextStateHeader&&r.setRequestHeader(tracestate,i.traceContextStateHeader),o!0),o&&(this.dti)}}function c(e,r){var nthis.metrics,ie0,othis;if(n&&i){var aV(i);a&&(n.txSizea)}this.startTime(0,E.t)(),this.bodyi,this.listenerfunction(e){try{abort!e.type||o.loadCaptureCalled||(o.params.aborted!0),(load!e.type||o.calledo.totalCbs&&(o.onloadCalled||function!typeof r.onload)&&functiontypeof o.end)&&o.end(r)}catch(e){try{t.emit(internal-error,e)}catch(e){}}};for(var s0;sue;s++)r.addEventListener(ces,this.listener,(0,T.jT)(!1))}function u(e,t,r){this.cbTime+e,t?this.onloadCalled!0:this.called+1,this.called!this.totalCbs||!this.onloadCalled&&functiontypeof r.onload||function!typeof this.end||this.end(r)}function d(e,t){var r+U(e)+!!t;this.xhrGuids&&!this.xhrGuidsr&&(this.xhrGuidsr!0,this.totalCbs+1)}function l(e,t){var r+U(e)+!!t;this.xhrGuids&&this.xhrGuidsr&&(delete this.xhrGuidsr,this.totalCbs-1)}function f(){this.endTime(0,E.t)()}function p(e,r){r instanceof le&&loade0&&t.emit(xhr-load-added,e1,e2,r)}function g(e,r){r instanceof le&&loade0&&t.emit(xhr-load-removed,e1,e2,r)}function m(e,t,r){t instanceof le&&(onloadr&&(this.onload!0),(load(e0&&e0.type)||this.onload)&&(this.xhrCbStart(0,E.t)()))}function v(e,r){this.xhrCbStart&&t.emit(xhr-cb-time,(0,E.t)()-this.xhrCbStart,this.onload,r,r)}function b(e){var t,re1||{};if(stringtypeof e0?0(te0).length&&h.RI&&(t+h.gm.location.href):e0&&e0.url?te0.url:h.gm?.URL&&e0&&e0instanceof URL?te0.href:functiontypeof e0.toString&&(te0.toString()),stringtypeof t&&0!t.length){t&&(this.parsedOrigin(0,ne.D)(t),this.sameOriginthis.parsedOrigin.sameOrigin);var in.generateTracePayload(this.parsedOrigin);if(i&&(i.newrelicHeader||i.traceContextParentHeader))if(e0&&e0.headers)s(e0.headers,i)&&(this.dti);else{var o{};for(var a in r)oara;o.headersnew Headers(r.headers||{}),s(o.headers,i)&&(this.dti),e.length>1?e1o:e.push(o)}}function s(e,t){var r!1;return t.newrelicHeader&&(e.set(newrelic,t.newrelicHeader),r!0),t.traceContextParentHeader&&(e.set(traceparent,t.traceContextParentHeader),t.traceContextStateHeader&&e.set(tracestate,t.traceContextStateHeader),r!0),r}}function y(e,t){this.params{},this.metrics{},this.startTime(0,E.t)(),this.dtt,e.length>1&&(this.targete0),e.length>2&&(this.optse1);var r,nthis.opts||{},ithis.target;stringtypeof i?ri:objecttypeof i&&i instanceof de?ri.url:h.gm?.URL&&objecttypeof i&&i instanceof URL&&(ri.href),he(this,r);var o(+(i&&i instanceof de&&i.method||n.method||GET)).toUpperCase();this.params.methodo,this.bodyn.body,this.txSizeV(n.body)||0}function w(e,t){if(this.endTime(0,E.t)(),this.params||(this.params{}),(0,se.iW)(this.params))return;let n;this.params.statust?t.status:0,stringtypeof this.rxSize&&this.rxSize.length>0&&(n+this.rxSize);const i{txSize:this.txSize,rxSize:n,duration:(0,E.t)()-this.startTime};r(xhr,this.params,i,this.startTime,this.endTime,fetch,this,o.K.ajax)}function x(e){const tthis.params,nthis.metrics;if(!this.ended){this.ended!0;for(let t0;tue;t++)e.removeEventListener(cet,this.listener,!1);t.aborted||(0,se.iW)(t)||(n.duration(0,E.t)()-this.startTime,this.loadCazptureCalled||4!e.readyState?nullt.status&&(t.status0):A(this,e),n.cbTimethis.cbTime,r(xhr,t,n,this.startTime,this.endTime,xhr,this,o.K.ajax))}}function A(e,r){e.params.statusr.status;var nfunction(e,t){var re.responseType;returnjsonr&&null!t?t:arraybufferr||blobr||jsonr?V(e.response):textr||r||void 0r?V(e.responseText):void 0}(r,e.lastSize);if(n&&(e.metrics.rxSizen),e.sameOrigin){var ir.getResponseHeader(X-NewRelic-App-Data);i&&((0,R.p)(N.rs,Ajax/CrossApplicationTracing/Header/Seen,void 0,o.K.metrics,t),e.params.cati.split(, ).pop())}e.loadCaptureCalled!0}t.on(new-xhr,i),t.on(open-xhr-start,a),t.on(open-xhr-end,s),t.on(send-xhr-start,c),t.on(xhr-cb-time,u),t.on(xhr-load-added,d),t.on(xhr-load-removed,l),t.on(xhr-resolved,f),t.on(addEventListener-end,p),t.on(removeEventListener-end,g),t.on(fn-end,v),t.on(fetch-before-start,b),t.on(fetch-start,y),t.on(fn-start,m),t.on(fetch-done,w)}(e,this.ee,this.handler,this.dt),this.importAggregator(e)}}function he(e,t){var r(0,ne.D)(t),ne.params||e;n.hostnamer.hostname,n.portr.port,n.protocolr.protocol,n.hostr.hostname+:+r.port,n.pathnamer.pathname,e.parsedOriginr,e.sameOriginr.sameOrigin}const pe{},gepushState,replaceState;function me(e){const tfunction(e){return(e||F.ee).get(history)}(e);return!h.RI||pet.debugId++||(pet.debugId1,(0,B.YM)(t).inPlace(window.history,ge,-)),t}var vei(3738);const{He:be,bD:ye,d3:we,Kp:Re,TZ:xe,Lc:Te,uP:Ae,Rz:Ee}ve;class Se extends v{static featureNamexe;constructor(e,t!0){super(e,xe,t);if(!(0,g.V)(this.agentIdentifier))return void this.deregisterDrain();const rthis.ee;let n;me(r),this.eventsEE(0,G.u)(r),this.eventsEE.on(Ae,(function(e,t){this.bstStart(0,E.t)()})),this.eventsEE.on(Te,(function(e,t){(0,R.p)(bst,e0,t,this.bstStart,(0,E.t)(),void 0,o.K.sessionTrace,r)})),r.on(Ee+we,(function(e){this.time(0,E.t)(),this.startPathlocation.pathname+location.hash})),r.on(Ee+Re,(function(e){(0,R.p)(bstHist,location.pathname+location.hash,this.startPath,this.time,void 0,o.K.sessionTrace,r)}));try{nnew PerformanceObserver((e>{const te.getEntries();(0,R.p)(be,t,void 0,o.K.sessionTrace,r)})),n.observe({type:ye,buffered:!0})}catch(e){}this.importAggregator(e,{resourceObserver:n})}}var Nei(2614);class Oe extends v{static featureNamet.TZ;#i;#o;constructor(e,r!0){let n;super(e,t.TZ,r),this.replayRunning!1,this.#oe;try{nJSON.parse(localStorage.getItem(.concat(Ne.H3,_).concat(Ne.uh)))}catch(e){}(0,p.SR)(e.agentIdentifier)&&this.ee.on(t.G4.RECORD,(()>this.#a())),this.#s(n)?(this.#in?.sessionReplayMode,this.#c()):this.importAggregator(e),this.ee.on(err,(e>{this.replayRunning&&(this.errorNoticed!0,(0,R.p)(t.G4.ERROR_DURING_REPLAY,e,void 0,this.featureName,this.ee))})),this.ee.on(t.G4.REPLAY_RUNNING,(e>{this.replayRunninge}))}#s(e){return e&&(e.sessionReplayModeNe.g.FULL||e.sessionReplayModeNe.g.ERROR)||(0,p.Aw)(this.agentIdentifier)}#u!1;async#c(e){if(!this.#u){this.#u!0;try{const{Recorder:t}await Promise.all(i.e(478),i.e(249)).then(i.bind(i,2496));this.recorder??new t({mode:this.#i,agentIdentifier:this.agentIdentifier,trigger:e,ee:this.ee}),this.recorder.startRecording(),this.abortHandlerthis.recorder.stopRecording}catch(e){}this.importAggregator(this.#o,{recorder:this.recorder,errorNoticed:this.errorNoticed})}}#a(){this.featAggregate?this.featAggregate.mode!Ne.g.FULL&&this.featAggregate.initializeRecording(Ne.g.FULL,!0):(this.#iNe.g.FULL,this.#c(t.Qb.API),this.recorder&&this.recorder.parent.mode!Ne.g.FULL&&(this.recorder.parent.modeNe.g.FULL,this.recorder.stopRecording(),this.recorder.startRecording(),this.abortHandlerthis.recorder.stopRecording))}}var Iei(3962);class _e extends v{static featureNameIe.TZ;constructor(e,t!0){if(super(e,Ie.TZ,t),!h.RI||!(0,w.dV)().o.MO)return;const rme(this.ee),n(0,G.u)(this.ee),i()>(0,R.p)(newURL,(0,E.t)(),+window.location,void 0,this.featureName,this.ee);r.on(pushState-end,i),r.on(replaceState-end,i);try{this.removeOnAbortnew AbortController}catch(e){}(0,T.sp)(popstate,(e>(0,R.p)(newURL,e.timeStamp,+window.location,void 0,this.featureName,this.ee)),!0,this.removeOnAbort?.signal);let o!1;const anew((0,w.dV)().o.MO)(((e,t)>{o||(o!0,requestAnimationFrame((()>{(0,R.p)(newDom,(0,E.t)(),void 0,this.featureName,this.ee),o!1})))})),s(0,m.s)((e>{(0,R.p)(newUIEvent,e,void 0,this.featureName,this.ee),a.observe(document.body,{attributes:!0,childList:!0,subtree:!0,characterData:!0})}),100,{leading:!0});n.on(fn-start,((e)>{Ie.tC.includes(e?.type)&&s(e)}));for(let e of Ie.tC)document.addEventListener(e,(()>{}));this.abortHandlerfunction(){this.removeOnAbort?.abort(),a.disconnect(),this.abortHandlervoid 0},this.importAggregator(e,{domObserver:a})}}var jei(7378);const Pe{},CeappendChild,insertBefore,replaceChild;function ke(e){const tfunction(e){return(e||F.ee).get(jsonp)}(e);if(!h.RI||Pet.debugId)return t;Pet.debugId!0;var r(0,B.YM)(t),n/?&(?:callback|cb)(^+)/,i/(.*)\.(^.+)/,o/^(\w+)(\.|$)(.*)$/;function a(e,t){if(!e)return t;const re.match(o),nr1;return a(r3,tn)}return r.inPlace(Node.prototype,Ce,dom-),t.on(dom-start,(function(e){!function(e){if(!e||string!typeof e.nodeName||script!e.nodeName.toLowerCase())return;if(function!typeof e.addEventListener)return;var o(se.src,cs.match(n),c?c1:null);var s,c;if(!o)return;var ufunction(e){var te.match(i);if(t&&t.length>3)return{key:t2,parent:a(t1,window)};return{key:e,parent:window}}(o);if(function!typeof u.parentu.key)return;var d{};function l(){t.emit(jsonp-end,,d),e.removeEventListener(load,l,(0,T.jT)(!1)),e.removeEventListener(error,f,(0,T.jT)(!1))}function f(){t.emit(jsonp-error,,d),t.emit(jsonp-end,,d),e.removeEventListener(load,l,(0,T.jT)(!1)),e.removeEventListener(error,f,(0,T.jT)(!1))}r.inPlace(u.parent,u.key,cb-,d),e.addEventListener(load,l,(0,T.jT)(!1)),e.addEventListener(error,f,(0,T.jT)(!1)),t.emit(new-jsonp,e.src,d)}(e0)})),t}const Le{};function He(e){const tfunction(e){return(e||F.ee).get(promise)}(e);if(Let.debugId)return t;Let.debugId!0;var rt.context,n(0,B.YM)(t),ih.gm.Promise;return i&&function(){function e(r){var ot.context(),an(r,executor-,o,null,!1);const sReflect.construct(i,a,e);return t.context(s).getCtxfunction(){return o},s}h.gm.Promisee,Object.defineProperty(e,name,{value:Promise}),e.toStringfunction(){return i.toString()},Object.setPrototypeOf(e,i),all,race.forEach((function(r){const nir;erfunction(e){let i!1;...e||.forEach((e>{this.resolve(e).then(a(allr),a(!1))}));const on.apply(this,arguments);return o;function a(e){return function(){t.emit(propagate,null,!i,o,!1,!1),ii||!e}}}})),resolve,reject.forEach((function(r){const nir;erfunction(e){const rn.apply(this,arguments);return e!r&&t.emit(propagate,e,!0,r,!1,!1),r}})),e.prototypei.prototype;const oi.prototype.then;i.prototype.thenfunction(...e){var ithis,ar(i);a.promisei,e0n(e0,cb-,a,null,!1),e1n(e1,cb-,a,null,!1);const so.apply(this,e);return a.nextPromises,t.emit(propagate,i,!0,s,!1,!1),s},i.prototype.thenB.Jto,t.on(executor-start,(function(e){e0n(e0,resolve-,this,null,!1),e1n(e1,resolve-,this,null,!1)})),t.on(executor-err,(function(e,t,r){e1(r)})),t.on(cb-end,(function(e,r,n){t.emit(propagate,n,!0,this.nextPromise,!1,!1)})),t.on(propagate,(function(e,r,n){this.getCtx&&!r||(this.getCtxfunction(){if(e instanceof Promise)var rt.context(e);return r&&r.getCtx?r.getCtx():this})}))}(),t}const De{},MesetTimeout,KesetInterval,UeclearTimeout,Ve-start,GeMe,setImmediate,Ke,Ue,clearImmediate;function Fe(e){const tfunction(e){return(e||F.ee).get(timer)}(e);if(Det.debugId++)return t;Det.debugId1;var r(0,B.YM)(t);return r.inPlace(h.gm,Ge.slice(0,2),Me+-),r.inPlace(h.gm,Ge.slice(2,3),Ke+-),r.inPlace(h.gm,Ge.slice(3),Ue+-),t.on(Ke+Ve,(function(e,t,n){e0r(e0,fn-,null,n)})),t.on(Me+Ve,(function(e,t,n){this.methodn,this.timerDurationisNaN(e1)?0:+e1,e0r(e0,fn-,this,n)})),t}const Be{};function We(e){const tfunction(e){return(e||F.ee).get(mutation)}(e);if(!h.RI||Bet.debugId)return t;Bet.debugId!0;var r(0,B.YM)(t),nh.gm.MutationObserver;return n&&(window.MutationObserverfunction(e){return this instanceof n?new n(r(e,fn-)):n.apply(this,arguments)},MutationObserver.prototypen.prototype),t}const{TZ:ze,d3:qe,Kp:Ze,$p:Ye,wW:Xe,e5:Je,tH:Qe,uP:$e,rw:et,Lc:tt}je;class rt extends v{static featureNameze;constructor(e,t!0){if(super(e,ze,t),!h.RI)return;try{this.removeOnAbortnew AbortController}catch(e){}let r,n0;const ithis.ee.get(tracer),oke(this.ee),aHe(this.ee),sFe(this.ee),cq(this.ee),uthis.ee.get(events),dre(this.ee),lme(this.ee),fWe(this.ee);function p(e,t){l.emit(newURL,+window.location,t)}function g(){n++,rwindow.location.hash,this$e(0,E.t)()}function m(){n--,window.location.hash!r&&p(0,!0);var e(0,E.t)();thisJe~~thisJe+e-this$e,thistte}function v(e,t){e.on(t,(function(){thist(0,E.t)()}))}this.ee.on($e,g),a.on(et,g),o.on(et,g),this.ee.on(tt,m),a.on(Xe,m),o.on(Xe,m),this.ee.on(fn-err,((...t)>{t2?.__newrelic?.e.agentIdentifier||(0,R.p)(function-err,...t,void 0,this.featureName,this.ee)})),this.ee.buffer($e,tt,xhr-resolved,this.featureName),u.buffer($e,this.featureName),s.buffer(setTimeout+Ze,clearTimeout+qe,$e,this.featureName),c.buffer($e,new-xhr,send-xhr+qe,this.featureName),d.buffer(Qe+qe,Qe+-done,Qe+Ye+qe,Qe+Ye+Ze,this.featureName),l.buffer(newURL,this.featureName),f.buffer($e,this.featureName),a.buffer(propagate,et,Xe,executor-err,resolve+qe,this.featureName),i.buffer($e,no-+$e,this.featureName),o.buffer(new-jsonp,cb-start,jsonp-error,jsonp-end,this.featureName),v(d,Qe+qe),v(d,Qe+-done),v(o,new-jsonp),v(o,jsonp-end),v(o,cb-start),l.on(pushState-end,p),l.on(replaceState-end,p),window.addEventListener(hashchange,p,(0,T.jT)(!0,this.removeOnAbort?.signal)),window.addEventListener(load,p,(0,T.jT)(!0,this.removeOnAbort?.signal)),window.addEventListener(popstate,(function(){p(0,n>1)}),(0,T.jT)(!0,this.removeOnAbort?.signal)),this.abortHandlerthis.#n,this.importAggregator(e)}#n(){this.removeOnAbort?.abort(),this.abortHandlervoid 0}}var nti(3333);class it extends v{static featureNament.TZ;constructor(e,t!0){super(e,nt.TZ,t);const re.init.page_action.enabled,e.init.user_actions.enabled;h.RI&&e.init.user_actions.enabled&&(nt.Zp.forEach((e>(0,T.sp)(e,(e>(0,R.p)(ua,e,void 0,this.featureName,this.ee)),!0))),nt.qN.forEach((e>(0,T.sp)(e,(e>(0,R.p)(ua,e,void 0,this.featureName,this.ee)))))),r.some((e>e))?this.importAggregator(e):this.deregisterDrain()}}var oti(993),ati(3785);class st extends v{static featureNameot.TZ;constructor(e,t!0){super(e,ot.TZ,t);const rthis.ee;this.ee.on(wrap-logger-end,(function(e){const{level:t,customAttributes:n}this;(0,at.R)(r,e,n,t)})),this.importAggregator(e)}}new class extends n{constructor(t,r){super(r),h.gm?(this.features{},(0,w.bQ)(this.agentIdentifier,this),this.desiredFeaturesnew Set(t.features||),this.desiredFeatures.add(y),this.runSoftNavOverSpa...this.desiredFeatures.some((e>e.featureNameo.K.softNav)),(0,u.j)(this,t,t.loaderType||agent),this.run()):(0,e.R)(21)}get config(){return{info:this.info,init:this.init,loader_config:this.loader_config,runtime:this.runtime}}run(){try{const tc(this.agentIdentifier),r...this.desiredFeatures;r.sort(((e,t)>o.Pe.featureName-o.Pt.featureName)),r.forEach((r>{if(!tr.featureName&&r.featureName!o.K.pageViewEvent)return;if(this.runSoftNavOverSpa&&r.featureNameo.K.spa)return;if(!this.runSoftNavOverSpa&&r.featureNameo.K.softNav)return;const nfunction(e){switch(e){case o.K.ajax:returno.K.jserrors;case o.K.sessionTrace:returno.K.ajax,o.K.pageViewEvent;case o.K.sessionReplay:returno.K.sessionTrace;case o.K.pageViewTiming:returno.K.pageViewEvent;default:return}}(r.featureName).filter((e>!(e in this.features)));n.length>0&&(0,e.R)(36,{targetFeature:r.featureName,missingDependencies:n}),this.featuresr.featureNamenew r(this)}))}catch(t){(0,e.R)(22,t);for(const e in this.features)this.featurese.abortHandler?.();const r(0,w.Zm)();delete r.initializedAgentsthis.agentIdentifier?.api,delete r.initializedAgentsthis.agentIdentifier?.features,delete this.sharedAggregator;return r.ee.get(this.agentIdentifier).abort(),!1}}}({features:fe,y,S,Se,Oe,O,H,it,st,_e,rt,loaderType:spa})})()})();/script> 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> !-- 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) > { 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) } });}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 });}pushPageInfo (tcoObitId, brandObitId, obitDays, productsOffered, backgroundImage, profilePhoto, obitLength, funeralHomeGeo, countObitVideos, countTreePurchases, countFreeTrees, countFlowerPurchases, countDonations, countCharityDonations, obitCDays, obitHours, obitCreatedHour, pin, flag, fbPost, wallPostActions, obitPublishDate, storeName, deathNotice, donations) > { 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), ltPin: replaceUndefined(pin), ltFlag: replaceUndefined(flag), fbPost: replaceUndefined(fbPost), wallPostActions: replaceUndefined(wallPostActions), obitPublishDate: replaceUndefined(obitPublishDate), store: replaceUndefined(storeName), deathNotice: replaceUndefined(deathNotice), donations: replaceUndefined(donations) } });}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.getGaCookieSession (googleTageId) > { const regexCookie new RegExp(`(^| )${googleTageId}(^;+)`); const gaCookie document.cookie.match(regexCookie); if (!gaCookie) { return; } const cdxArr gaCookie2.split(.); return (cdxArr && cdxArr2) ? cdxArr2 : ; } 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 }, custom: { families: Linearicons, Linearicons-Free , urls: https://d1v2hfhsvnke6s.cloudfront.net/Content/Fonts/Linearicons/styles-custom.min.css, https://d1v2hfhsvnke6s.cloudfront.net/Content/Fonts/Linearicons-Free-v1.0.0/style.min.css } }; 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, ); /script> meta nameviewport contentwidthdevice-width, initial-scale1.0> link relshortcut icon hrefhttps://s3.amazonaws.com/fh-content/release/Content/Media/HollandFuneralServiceandCrematory/favicon.ico typeimage/x-icon> title>Holland Funeral Service & Crematory | Monroe, NC Funeral .../title>meta namedescription contentHolland Funeral Service & Crematory in Monroe, NC provides funeral, memorial, aftercare, pre-planning, and cremation services to o... Learn More /> script typeapplication/ld+json> { @context: https://schema.org, @type: Organization, name: Holland Funeral Service & Crematory, url: https://www.hollandfuneralservice.com, logo: https://www.hollandfuneralservice.com/Content/Media/HollandFuneralServiceandCrematory/logo4_1a5f63f12b424988b523939941196f59.png, contactPoint: { @type: ContactPoint, telephone: (704) 283-9366 } }, sameAs: https://www.facebook.com/hollandfsl/ } } /script> link hrefhttps://d2zeeo94hsmapq.cloudfront.net/release/themes/014ada0/Content/Themes/Shared/css/common.css typetext/css relstylesheet/>link hrefhttps://d2zeeo94hsmapq.cloudfront.net/release/themes/014ada0/Content/Themes/Shared/css/tribute-pay-panel.css typetext/css relstylesheet/>link hrefhttps://d2zeeo94hsmapq.cloudfront.net/release/themes/014ada0/Content/Themes/Shared/css/lightbox.css typetext/css relstylesheet/>link href/DependencyHandler.axd/2ea18e93d7b4278a63e09a302acc095a.513.css typetext/css relstylesheet/>link hrefhttps://d2zeeo94hsmapq.cloudfront.net/release/themes/014ada0/Content/Themes/Shared/css/rotatingBanner/rotating-banner.css typetext/css relstylesheet/>link href/DependencyHandler.axd/8577586dc142bd1cbb54c69235ec0888.513.css typetext/css relstylesheet/>link hrefhttps://d2zeeo94hsmapq.cloudfront.net/release/themes/014ada0/Content/Themes/Shared/css/obituaries-homepage.css typetext/css relstylesheet/>link href/DependencyHandler.axd/feeefa511254c061e8ad7d0fbd7de833.513.css typetext/css relstylesheet/>link hrefhttps://d2zeeo94hsmapq.cloudfront.net/release/themes/014ada0/Content/Themes/Shared/css/shared.css typetext/css relstylesheet/>link hrefhttps://d2zeeo94hsmapq.cloudfront.net/release/themes/014ada0/Content/Themes/Shared/css/fonts.css typetext/css relstylesheet/>link href/DependencyHandler.axd/0c28e5df75513ba69612ad23749e7fe0.513.css typetext/css relstylesheet/>link hrefhttps://d2zeeo94hsmapq.cloudfront.net/release/themes/014ada0/Content/Themes/Shared/css/DynamicForms.css typetext/css relstylesheet/>link href/DependencyHandler.axd/679da333f9a713965154d43db16f6c39.513.css typetext/css relstylesheet/>link hrefhttps://d2zeeo94hsmapq.cloudfront.net/release/themes/014ada0/Content/Themes/Shared/lib/aos/dist/aos.css typetext/css relstylesheet/> script src/Scripts/client.js typetext/javascript>/script> script src/DependencyHandler.axd/0a599583b6638b129fac13f6a740f24b.513.js typetext/javascript>/script>script srchttps://d2zeeo94hsmapq.cloudfront.net/release/themes/014ada0/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 hrefhttps://d2zeeo94hsmapq.cloudfront.net/release/themes/014ada0/Content/Themes/Sia/Holland/css/site.css relstylesheet typetext/css /> script idsubscribe-form typetext/html> form data-typedynamic data-domainid411049cf07cd4468a8741e10e92fd525 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> $(function () { if (typeof DynamicForms ! undefined) { DynamicForms.setDomainId(content$empty_root$$_p__nhibernate$_v__guid$_411049cf07cd4468a8741e10e92fd525); } }); /script> script async srchttps://www.googletagmanager.com/gtag/js?idUA-129765116-5>/script> script> window.dataLayer window.dataLayer || ; function gtag() { dataLayer.push(arguments); } gtag(js, new Date()); gtag(config, UA-129765116-5); /script> script typetext/javascript> window.aciveAnim true; (function () { window.API window.API || {}; API.domainId 411049cf-07cd-4468-a874-1e10e92fd525; 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.hollandfuneralservice.com + API.tcoAppPath; API.tcoSecureBaseUrl https://www.hollandfuneralservice.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}); API.moderatorName Holland Funeral Service & Crematory; API.xPending false; API.ajax function (httpMethod, controller, method, data, contentType, isApi, success, error) { 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); if (controller.toLowerCase() comments && method.toLowerCase() create) authCallback.showRelationship true; if (resp.type && resp.type 1) { error(User is blocked); } else if (Funeral.BeforePostData(authCallback)) { return authCallback(); } } 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 { DomainId: API.domainId }; 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) { return API.ajax(POST, controller, method, data, application/json, true, success, error); }; 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 hrefjavascript:void(0); classsubscribe onclickfuneralModal.init({ selector: #subscribe-form, init: subscribeObituariesModalInit });>Subscribe to Obituaries/a> span classphone x-ms-format-detectionnone>a hreftel:7042839366>(704) 283-9366/a>/span> /div> script typetext/javascript stylemargin-left: 0;> (function () { var telArr ; var findNumber function (model) { var y ; for (var i 0; i model.length; i++) { if (!isNaN(parseInt(modeli))) { y + modeli; if (y.length 10) { telArr.push(y); y ; } } } } })(); /script> 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/HollandFuneralServiceandCrematory/logo4_1a5f63f12b424988b523939941196f59.png altsite logo classsite-logo />/a> /div> ul idnavbar classnavbar-collapse collapse aria-expandedfalse styleposition: absolute; > li>ul classnav navbar-nav navbar-right dropdowns show-dropdown-menu-by-hover hide-arrows-in-dropdown-menu> 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 span classcaret>/span>/a> ul classdropdown-menu> li class> a onclicksendGTMInfo(Obituary Banner, Click, Obituary Navigation) href/services/where-to-begin target_self>Where to Begin/a> /li> li class> a onclicksendGTMInfo(Obituary Banner, Click, Obituary Navigation) href/services/service-options target_self>Service Options/a> /li> li class> a onclicksendGTMInfo(Obituary Banner, Click, Obituary Navigation) href/services/personalization target_self>Personalization/a> /li> li class> a onclicksendGTMInfo(Obituary Banner, Click, Obituary Navigation) href/services/honoring-veterans target_self>Honoring Veterans/a> /li> li class> a onclicksendGTMInfo(Obituary Banner, Click, Obituary Navigation) href/services/pet-services target_self>Pet Services/a> /li> li class> a onclicksendGTMInfo(Obituary Banner, Click, Obituary Navigation) href/services/payment-center target_self>Payment Center/a> /li> /ul> /li> li class> a onclicksendGTMInfo(Obituary Banner, Click, Obituary Navigation) href/on-site-crematory/on-site-crematory target_self> On-Site Crematory /a> /li> li classdropdown > a href# classdropdown-toggle data-toggledropdown rolebutton aria-haspopuptrue aria-expandedfalse>Preplan span classcaret>/span>/a> ul classdropdown-menu> li class> a onclicksendGTMInfo(Obituary Banner, Click, Obituary Navigation) href/preplan/why-plan-ahead target_self>Why Plan Ahead/a> /li> li class> a onclicksendGTMInfo(Obituary Banner, Click, Obituary Navigation) href/preplan/have-the-talk-of-a-lifetime target_self>Have the Talk of a Lifetime/a> /li> li class> a onclicksendGTMInfo(Obituary Banner, Click, Obituary Navigation) href/preplan/preplanning-checklist target_self>Preplanning Checklist/a> /li> li class> a onclicksendGTMInfo(Obituary Banner, Click, Obituary Navigation) href/preplan/preplan-online target_self>Preplan Online/a> /li> /ul> /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/grief-support target_self>Grief Support/a> /li> li class> a onclicksendGTMInfo(Obituary Banner, Click, Obituary Navigation) href/resources/faqs target_self>FAQs/a> /li> li class> a onclicksendGTMInfo(Obituary Banner, Click, Obituary Navigation) href/resources/etiquette-tips target_self>Etiquette Tips/a> /li> li class> a onclicksendGTMInfo(Obituary Banner, Click, Obituary Navigation) href/resources/social-security-benefits target_self>Social Security Benefits/a> /li> /ul> /li> li classdropdown > a href# classdropdown-toggle data-toggledropdown rolebutton aria-haspopuptrue aria-expandedfalse>Who We Are span classcaret>/span>/a> ul classdropdown-menu> li class> a onclicksendGTMInfo(Obituary Banner, Click, Obituary Navigation) href/who-we-are/history target_self>History/a> /li> li class> a onclicksendGTMInfo(Obituary Banner, Click, Obituary Navigation) href/who-we-are/staff target_self>Staff/a> /li> li class> a onclicksendGTMInfo(Obituary Banner, Click, Obituary Navigation) href/who-we-are/testimonials target_self>Testimonials/a> /li> li class> a onclicksendGTMInfo(Obituary Banner, Click, Obituary Navigation) href/who-we-are/facilities target_self>Facilities/a> /li> /ul> /li> li class> a onclicksendGTMInfo(Obituary Banner, Click, Obituary Navigation) href/contact/monroe-nc target_self> Contact /a> /li>/ul>/li> li> ul classnav navbar-nav mobile> li> a hrefjavascript:void(0); classsubscribe btn inverse onclickfuneralModal.init({selector:#subscribe-form,init:subscribeObituariesModalInit});>Subscribe to Obituaries/a> /li> li>span classphone x-ms-format-detectionnone>(704) 283-9366/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> li data-target#slideShowCarousel data-slide-to3 class>/li> li data-target#slideShowCarousel data-slide-to4 class>/li> /ol> !-- Wrapper for slides --> div classcarousel-inner> div classgradient item active> img src//tributecenteronline.s3-accelerate.amazonaws.com/Media/Slides/8c1c16d7-7a5b-47f6-9bbd-be810e8dd628.webp alt22229 classslideImage data-aosfade> div classcarousel-headers > !-- 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 src//tributecenteronline.s3-accelerate.amazonaws.com/Media/Slides/fd695e4a-ff84-4c38-8706-bbbcb8057c26.webp alt22228 classslideImage data-aosfade> div classcarousel-headers > !-- 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 src//tributecenteronline.s3-accelerate.amazonaws.com/Media/Slides/25816dca-792a-4cf2-b131-d32343400837.webp alt19969 classslideImage data-aosfade> div classcarousel-headers > h1 >Compassionate/h1> h3 >Service in your time of need/h3> div classheader-link>a href/services/service-options>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 src//tributecenteronline.s3-accelerate.amazonaws.com/Media/Slides/9531d76e-665f-42fb-9bda-1c8b7fed1c8c.webp alt19968 classslideImage data-aosfade> div classcarousel-headers > h1 >On-Site Crematory/h1> div classheader-link>a href/on-site-crematory/on-site-crematory>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 src//tributecenteronline.s3-accelerate.amazonaws.com/Media/Slides/a49eb193-f824-4819-840f-f279d55135bf.webp alt19506 classslideImage data-aosfade> div classcarousel-headers > h1 >Honoring/h1> h3 >Those who have served/h3> div classheader-link>a href/services/honoring-veterans>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>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> 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 classcontainer no-padding> div classhomepage-container additional-navigation-heightmargin-top> h1 styletext-align: center; margin-bottom: 20px;>span stylefont-size: 14pt; font-family: georgia, palatino;>strong>FAMILY OWNED AND OPERATED BY JONATHAN & GARRETT HOLLAND/strong>/span>/h1>p styletext-align: center;>When you have experienced the loss of a loved one, you can trust Holland Funeral Service & Crematory to guide you through the process of honoring their life. At Holland Funeral Service & Crematory, we pride ourselves on serving families in Monroe and the surrounding areas with dignity, respect, and compassion. Our staff is experienced in a variety of funeral services and can help you celebrate your loved one no matter your religion, culture, or budget./p> /div>/div>div classobituariesColumnWrapper container no-padding> div classobituariesColumn> div classobituaries-header>div classline>/div>div classtext>span>Recent Obituaries/span>/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/Mr-Jorge-Sanchez-Sanchez?obId33622447#/obituaryInfo> div classob-image-wr> img altobituary image classlazyOwl https://d1q40j6jx1d8h6.cloudfront.net/Obituaries/33622447/Thumbnail.jpg data-srchttps://d1q40j6jx1d8h6.cloudfront.net/Obituaries/33622447/Thumbnail.webp onerrorthis.srchttps://d1v2hfhsvnke6s.cloudfront.net/Shared/images/no_avatar.webp /> /div> div classobituary-caption> h1>Mr. Jorge Sanchez Sanchez/h1> /div> /a> /div> /div> div> div classitem-border> a href/obituaries/Mr-James-Arthur-Carnahan?obId33605657#/obituaryInfo> div classob-image-wr> img altobituary image classlazyOwl https://d1q40j6jx1d8h6.cloudfront.net/Obituaries/33605657/Thumbnail.jpg data-srchttps://d1q40j6jx1d8h6.cloudfront.net/Obituaries/33605657/Thumbnail.webp onerrorthis.srchttps://d1v2hfhsvnke6s.cloudfront.net/Shared/images/no_avatar.webp /> /div> div classobituary-caption> h1>Mr. James Arthur Carnahan/h1> /div> /a> /div> /div> /div> div classitem> div> div classitem-border> a href/obituaries/Ms-Carolyn-Leen-Jones?obId33609908#/obituaryInfo> div classob-image-wr> img altobituary image classlazyOwl https://d1q40j6jx1d8h6.cloudfront.net/Obituaries/33609908/Thumbnail.jpg data-srchttps://d1q40j6jx1d8h6.cloudfront.net/Obituaries/33609908/Thumbnail.webp onerrorthis.srchttps://d1v2hfhsvnke6s.cloudfront.net/Shared/images/no_avatar.webp /> /div> div classobituary-caption> h1>Ms. Carolyn Leen Jones/h1> /div> /a> /div> /div> div> div classitem-border> a href/obituaries/Mrs-Doris-Yocum-Turner?obId33617509#/obituaryInfo> div classob-image-wr> img altobituary image classlazyOwl https://d1q40j6jx1d8h6.cloudfront.net/Obituaries/33617509/Thumbnail_1.jpg data-srchttps://d1q40j6jx1d8h6.cloudfront.net/Obituaries/33617509/Thumbnail_1.webp onerrorthis.srchttps://d1v2hfhsvnke6s.cloudfront.net/Shared/images/no_avatar.webp /> /div> div classobituary-caption> h1>Mrs. Doris Yocum Turner/h1> /div> /a> /div> /div> /div> div classitem> div> div classitem-border> a href/obituaries/Mrs-Barbara-Ann-Watkins?obId33598677#/obituaryInfo> div classob-image-wr> img altobituary image classlazyOwl https://d1q40j6jx1d8h6.cloudfront.net/Obituaries/33598677/Thumbnail.jpg data-srchttps://d1q40j6jx1d8h6.cloudfront.net/Obituaries/33598677/Thumbnail.webp onerrorthis.srchttps://d1v2hfhsvnke6s.cloudfront.net/Shared/images/no_avatar.webp /> /div> div classobituary-caption> h1>Mrs. Barbara Ann Watkins/h1> /div> /a> /div> /div> div> div classitem-border> a href/obituaries/Hansaben-Shah?obId33594284#/obituaryInfo> div classob-image-wr> img altobituary image classlazyOwl https://d1q40j6jx1d8h6.cloudfront.net/Obituaries/33594284/Thumbnail.jpg data-srchttps://d1q40j6jx1d8h6.cloudfront.net/Obituaries/33594284/Thumbnail.webp onerrorthis.srchttps://d1v2hfhsvnke6s.cloudfront.net/Shared/images/no_avatar.webp /> /div> div classobituary-caption> h1>Hansaben Shah/h1> /div> /a> /div> /div> /div> div classitem> div> div classitem-border> a href/obituaries/Mary-Ann-Surdi?obId33610765#/obituaryInfo> div classob-image-wr> img altobituary image classlazyOwl https://d1q40j6jx1d8h6.cloudfront.net/Obituaries/33610765/Thumbnail.jpg data-srchttps://d1q40j6jx1d8h6.cloudfront.net/Obituaries/33610765/Thumbnail.webp onerrorthis.srchttps://d1v2hfhsvnke6s.cloudfront.net/Shared/images/no_avatar.webp /> /div> div classobituary-caption> h1>Mary Ann Surdi/h1> /div> /a> /div> /div> div> div classitem-border> a href/obituaries/Joe-Franklin-Revels?obId33602108#/obituaryInfo> div classob-image-wr> img altobituary image classlazyOwl https://d1q40j6jx1d8h6.cloudfront.net/Obituaries/33602108/Thumbnail.jpg data-srchttps://d1q40j6jx1d8h6.cloudfront.net/Obituaries/33602108/Thumbnail.webp onerrorthis.srchttps://d1v2hfhsvnke6s.cloudfront.net/Shared/images/no_avatar.webp /> /div> div classobituary-caption> h1>Joe Franklin Revels/h1> /div> /a> /div> /div> /div> div classitem> div> div classitem-border> a href/obituaries/Mr-Donnie-Gene-Starnes?obId33560617#/obituaryInfo> div classob-image-wr> img altobituary image classlazyOwl https://d1q40j6jx1d8h6.cloudfront.net/Obituaries/33560617/Thumbnail.jpg data-srchttps://d1q40j6jx1d8h6.cloudfront.net/Obituaries/33560617/Thumbnail.webp onerrorthis.srchttps://d1v2hfhsvnke6s.cloudfront.net/Shared/images/no_avatar.webp /> /div> div classobituary-caption> h1>Mr. Donnie Gene Starnes /h1> /div> /a> /div> /div> div> div classitem-border> a href/obituaries/Mr-James-Cardell-Mccoy?obId33561451#/obituaryInfo> div classob-image-wr> img altobituary image classlazyOwl https://d1q40j6jx1d8h6.cloudfront.net/Obituaries/33561451/Thumbnail.jpg data-srchttps://d1q40j6jx1d8h6.cloudfront.net/Obituaries/33561451/Thumbnail.webp onerrorthis.srchttps://d1v2hfhsvnke6s.cloudfront.net/Shared/images/no_avatar.webp /> /div> div classobituary-caption> h1>Mr. James "Cardell" McCoy/h1> /div> /a> /div> /div> /div> div classitem> div> div classitem-border> a href/obituaries/Roy-Hewitt?obId33572081#/obituaryInfo> div classob-image-wr> img altobituary image classlazyOwl https://d1q40j6jx1d8h6.cloudfront.net/Obituaries/33572081/Thumbnail.png data-srchttps://d1q40j6jx1d8h6.cloudfront.net/Obituaries/33572081/Thumbnail.webp onerrorthis.srchttps://d1v2hfhsvnke6s.cloudfront.net/Shared/images/no_avatar.webp /> /div> div classobituary-caption> h1>Roy Hewitt/h1> /div> /a> /div> /div> div> div classitem-border> a href/obituaries/Mr-Robert-Donald-Scott?obId33549979#/obituaryInfo> div classob-image-wr> img altobituary image classlazyOwl https://d1q40j6jx1d8h6.cloudfront.net/Obituaries/33549979/Thumbnail.jpg data-srchttps://d1q40j6jx1d8h6.cloudfront.net/Obituaries/33549979/Thumbnail.webp onerrorthis.srchttps://d1v2hfhsvnke6s.cloudfront.net/Shared/images/no_avatar.webp /> /div> div classobituary-caption> h1>Mr. Robert Donald Scott/h1> /div> /a> /div> /div> /div> div classitem> div> div classitem-border> a href/obituaries/Ms-Ruth-Faye-Deal-Snow?obId33526662#/obituaryInfo> div classob-image-wr> img altobituary image classlazyOwl https://d1q40j6jx1d8h6.cloudfront.net/Obituaries/33526662/Thumbnail_1.jpg data-srchttps://d1q40j6jx1d8h6.cloudfront.net/Obituaries/33526662/Thumbnail_1.webp onerrorthis.srchttps://d1v2hfhsvnke6s.cloudfront.net/Shared/images/no_avatar.webp /> /div> div classobituary-caption> h1>Ms. Ruth Faye Deal Snow/h1> /div> /a> /div> /div> div> div classitem-border> a href/obituaries/Mr-Boyce-Richard-Craig-Sr?obId33507857#/obituaryInfo> div classob-image-wr> img altobituary image classlazyOwl https://d1q40j6jx1d8h6.cloudfront.net/Obituaries/33507857/Thumbnail.png data-srchttps://d1q40j6jx1d8h6.cloudfront.net/Obituaries/33507857/Thumbnail.webp onerrorthis.srchttps://d1v2hfhsvnke6s.cloudfront.net/Shared/images/no_avatar.webp /> /div> div classobituary-caption> h1>Mr. Boyce Richard Craig Sr. /h1> /div> /a> /div> /div> /div> div classitem> div> div classitem-border> a href/obituaries/Mr-Darrin-Rea-Holcomb?obId33520733#/obituaryInfo> div classob-image-wr> img altobituary image classlazyOwl https://d1q40j6jx1d8h6.cloudfront.net/Obituaries/33520733/Thumbnail.jpg data-srchttps://d1q40j6jx1d8h6.cloudfront.net/Obituaries/33520733/Thumbnail.webp onerrorthis.srchttps://d1v2hfhsvnke6s.cloudfront.net/Shared/images/no_avatar.webp /> /div> div classobituary-caption> h1>Mr. Darrin Rea Holcomb/h1> /div> /a> /div> /div> div> div classitem-border> a href/obituaries/Mr-Bruce-Kepley?obId33506801#/obituaryInfo> div classob-image-wr> img altobituary image classlazyOwl https://d1q40j6jx1d8h6.cloudfront.net/Obituaries/33506801/Thumbnail.png data-srchttps://d1q40j6jx1d8h6.cloudfront.net/Obituaries/33506801/Thumbnail.webp onerrorthis.srchttps://d1v2hfhsvnke6s.cloudfront.net/Shared/images/no_avatar.webp /> /div> div classobituary-caption> h1>Mr. Bruce Kepley/h1> /div> /a> /div> /div> /div> div classitem> div> div classitem-border> a href/obituaries/Ms-Robin-Williams-Tallent?obId33502933#/obituaryInfo> div classob-image-wr> img altobituary image classlazyOwl https://d1q40j6jx1d8h6.cloudfront.net/Obituaries/33502933/Thumbnail.png data-srchttps://d1q40j6jx1d8h6.cloudfront.net/Obituaries/33502933/Thumbnail.webp onerrorthis.srchttps://d1v2hfhsvnke6s.cloudfront.net/Shared/images/no_avatar.webp /> /div> div classobituary-caption> h1>Ms. Robin Williams Tallent/h1> /div> /a> /div> /div> div> div classitem-border> a href/obituaries/Mr-David-Plyler?obId33485711#/obituaryInfo> div classob-image-wr> img altobituary image classlazyOwl https://d1q40j6jx1d8h6.cloudfront.net/Obituaries/33485711/Thumbnail.jpg data-srchttps://d1q40j6jx1d8h6.cloudfront.net/Obituaries/33485711/Thumbnail.webp onerrorthis.srchttps://d1v2hfhsvnke6s.cloudfront.net/Shared/images/no_avatar.webp /> /div> div classobituary-caption> h1>Mr. David Plyler/h1> /div> /a> /div> /div> /div> div classitem> div> div classitem-border> a href/obituaries/Mr-Taylor-Oryan-Barnes?obId33549686#/obituaryInfo> div classob-image-wr> img altobituary image classlazyOwl https://d1q40j6jx1d8h6.cloudfront.net/Obituaries/33549686/Thumbnail_1.jpg data-srchttps://d1q40j6jx1d8h6.cloudfront.net/Obituaries/33549686/Thumbnail_1.webp onerrorthis.srchttps://d1v2hfhsvnke6s.cloudfront.net/Shared/images/no_avatar.webp /> /div> div classobituary-caption> h1>Mr. Taylor O'Ryan Barnes/h1> /div> /a> /div> /div> div> div classitem-border> a href/obituaries/Mr-Neil-Eric-Berger?obId33417903#/obituaryInfo> div classob-image-wr> img altobituary image classlazyOwl https://d1q40j6jx1d8h6.cloudfront.net/Obituaries/33417903/Thumbnail.jpg data-srchttps://d1q40j6jx1d8h6.cloudfront.net/Obituaries/33417903/Thumbnail.webp onerrorthis.srchttps://d1v2hfhsvnke6s.cloudfront.net/Shared/images/no_avatar.webp /> /div> div classobituary-caption> h1>Mr. Neil Eric Berger/h1> /div> /a> /div> /div> /div> div classitem> div> div classitem-border> a href/obituaries/Mr-Richard-Alford-Lancaster-Jr?obId33397300#/obituaryInfo> div classob-image-wr> img altobituary image classlazyOwl https://d1q40j6jx1d8h6.cloudfront.net/Obituaries/33397300/Thumbnail.jpg data-srchttps://d1q40j6jx1d8h6.cloudfront.net/Obituaries/33397300/Thumbnail.webp onerrorthis.srchttps://d1v2hfhsvnke6s.cloudfront.net/Shared/images/no_avatar.webp /> /div> div classobituary-caption> h1>Mr. Richard Alford Lancaster Jr./h1> /div> /a> /div> /div> div> div classitem-border> a href/obituaries/Ms-Ellen-Porter-Hinson-Simpson?obId33367782#/obituaryInfo> div classob-image-wr> img altobituary image classlazyOwl https://d1q40j6jx1d8h6.cloudfront.net/Obituaries/33367782/Thumbnail.png data-srchttps://d1q40j6jx1d8h6.cloudfront.net/Obituaries/33367782/Thumbnail.webp onerrorthis.srchttps://d1v2hfhsvnke6s.cloudfront.net/Shared/images/no_avatar.webp /> /div> div classobituary-caption> h1>Ms. Ellen Porter Hinson Simpson/h1> /div> /a> /div> /div> /div> div classitem> div> div classitem-border> a href/obituaries/Mr-Jack-Tomberlin?obId33367328#/obituaryInfo> div classob-image-wr> img altobituary image classlazyOwl https://d1q40j6jx1d8h6.cloudfront.net/Obituaries/33367328/Thumbnail.jpg data-srchttps://d1q40j6jx1d8h6.cloudfront.net/Obituaries/33367328/Thumbnail.webp onerrorthis.srchttps://d1v2hfhsvnke6s.cloudfront.net/Shared/images/no_avatar.webp /> /div> div classobituary-caption> h1>Mr. Jack Tomberlin/h1> /div> /a> /div> /div> div> div classitem-border> a href/obituaries/Mrs-Teena-Marie-Griffin?obId33342524#/obituaryInfo> div classob-image-wr> img altobituary image classlazyOwl https://d1q40j6jx1d8h6.cloudfront.net/Obituaries/33342524/Thumbnail.jpg data-srchttps://d1q40j6jx1d8h6.cloudfront.net/Obituaries/33342524/Thumbnail.webp onerrorthis.srchttps://d1v2hfhsvnke6s.cloudfront.net/Shared/images/no_avatar.webp /> /div> div classobituary-caption> h1>Mrs. Teena Marie Griffin/h1> /div> /a> /div> /div> /div> div classitem> div> div classitem-border> a href/obituaries/Mr-Samuel-Sam-Houston-Pressley-Jr?obId33310415#/obituaryInfo> div classob-image-wr> img altobituary image classlazyOwl https://d1q40j6jx1d8h6.cloudfront.net/Obituaries/33310415/Thumbnail.png data-srchttps://d1q40j6jx1d8h6.cloudfront.net/Obituaries/33310415/Thumbnail.webp onerrorthis.srchttps://d1v2hfhsvnke6s.cloudfront.net/Shared/images/no_avatar.webp /> /div> div classobituary-caption> h1>Mr. Samuel "Sam" Houston Pressley Jr./h1> /div> /a> /div> /div> div> div classitem-border> a href/obituaries/Mr-Hiwathia-Jones?obId33344024#/obituaryInfo> div classob-image-wr> img altobituary image classlazyOwl https://d1q40j6jx1d8h6.cloudfront.net/Obituaries/33344024/Thumbnail_2.jpg data-srchttps://d1q40j6jx1d8h6.cloudfront.net/Obituaries/33344024/Thumbnail_2.webp onerrorthis.srchttps://d1v2hfhsvnke6s.cloudfront.net/Shared/images/no_avatar.webp /> /div> div classobituary-caption> h1>Mr. Hiwathia Jones/h1> /div> /a> /div> /div> /div> div classitem> div> div classitem-border> a href/obituaries/MrsDeborah-Atkins?obId33286168#/obituaryInfo> div classob-image-wr> img altobituary image classlazyOwl https://d1q40j6jx1d8h6.cloudfront.net/Obituaries/33286168/Thumbnail.png data-srchttps://d1q40j6jx1d8h6.cloudfront.net/Obituaries/33286168/Thumbnail.webp onerrorthis.srchttps://d1v2hfhsvnke6s.cloudfront.net/Shared/images/no_avatar.webp /> /div> div classobituary-caption> h1>Mrs.Deborah Atkins/h1> /div> /a> /div> /div> div> div classitem-border> a href/obituaries/Mr-Terry-Layne-Bradley?obId33296563#/obituaryInfo> div classob-image-wr> img altobituary image classlazyOwl https://d1q40j6jx1d8h6.cloudfront.net/Obituaries/33296563/Thumbnail_1.JPG data-srchttps://d1q40j6jx1d8h6.cloudfront.net/Obituaries/33296563/Thumbnail_1.webp onerrorthis.srchttps://d1v2hfhsvnke6s.cloudfront.net/Shared/images/no_avatar.webp /> /div> div classobituary-caption> h1>Mr. Terry Layne Bradley/h1> /div> /a> /div> /div> /div> div classitem> div> div classitem-border> a href/obituaries/Mr-Christopher-Lee-Moser?obId33236157#/obituaryInfo> div classob-image-wr> img altobituary image classlazyOwl https://d1q40j6jx1d8h6.cloudfront.net/Obituaries/33236157/Thumbnail.jpg data-srchttps://d1q40j6jx1d8h6.cloudfront.net/Obituaries/33236157/Thumbnail.webp onerrorthis.srchttps://d1v2hfhsvnke6s.cloudfront.net/Shared/images/no_avatar.webp /> /div> div classobituary-caption> h1>Mr. Christopher Lee Moser/h1> /div> /a> /div> /div> div> div classitem-border> a href/obituaries/Elizabeth-Irene-Clark?obId33215805#/obituaryInfo> div classob-image-wr> img altobituary image classlazyOwl https://d1q40j6jx1d8h6.cloudfront.net/Obituaries/33215805/Thumbnail.jpg data-srchttps://d1q40j6jx1d8h6.cloudfront.net/Obituaries/33215805/Thumbnail.webp onerrorthis.srchttps://d1v2hfhsvnke6s.cloudfront.net/Shared/images/no_avatar.webp /> /div> div classobituary-caption> h1>Elizabeth Irene Clark/h1> /div> /a> /div> /div> /div> div classitem> div> div classitem-border> a href/obituaries/Mrs-Linda-Elisabeth-Stedje-Larsen?obId33176650#/obituaryInfo> div classob-image-wr> img altobituary image classlazyOwl https://d1q40j6jx1d8h6.cloudfront.net/Obituaries/33176650/Thumbnail.jpg data-srchttps://d1q40j6jx1d8h6.cloudfront.net/Obituaries/33176650/Thumbnail.webp onerrorthis.srchttps://d1v2hfhsvnke6s.cloudfront.net/Shared/images/no_avatar.webp /> /div> div classobituary-caption> h1>Mrs. Linda Elisabeth Stedje-Larsen/h1> /div> /a> /div> /div> div> div classitem-border> a href/obituaries/Mrs-Janet-Piercy-Roberts?obId33177014#/obituaryInfo> div classob-image-wr> img altobituary image classlazyOwl https://d1q40j6jx1d8h6.cloudfront.net/Obituaries/33177014/Thumbnail.jpg data-srchttps://d1q40j6jx1d8h6.cloudfront.net/Obituaries/33177014/Thumbnail.webp onerrorthis.srchttps://d1v2hfhsvnke6s.cloudfront.net/Shared/images/no_avatar.webp /> /div> div classobituary-caption> h1>Mrs. Janet Piercy Roberts/h1> /div> /a> /div> /div> /div> div classitem> div> div classitem-border> a href/obituaries/Mrs-Polly-Helms-Driggers?obId33154951#/obituaryInfo> div classob-image-wr> img altobituary image classlazyOwl https://d1q40j6jx1d8h6.cloudfront.net/Obituaries/33154951/Thumbnail.jpg data-srchttps://d1q40j6jx1d8h6.cloudfront.net/Obituaries/33154951/Thumbnail.webp onerrorthis.srchttps://d1v2hfhsvnke6s.cloudfront.net/Shared/images/no_avatar.webp /> /div> div classobituary-caption> h1>Mrs. Polly Helms Driggers/h1> /div> /a> /div> /div> div> div classitem-border> a href/obituaries/Mr-Curtis-Benton-Eudy?obId33140636#/obituaryInfo> div classob-image-wr> img altobituary image classlazyOwl https://d1q40j6jx1d8h6.cloudfront.net/Obituaries/33140636/Thumbnail.png data-srchttps://d1q40j6jx1d8h6.cloudfront.net/Obituaries/33140636/Thumbnail.webp onerrorthis.srchttps://d1v2hfhsvnke6s.cloudfront.net/Shared/images/no_avatar.webp /> /div> div classobituary-caption> h1>Mr. Curtis Benton Eudy/h1> /div> /a> /div> /div> /div> div classitem> div> div classitem-border> a href/obituaries/Mr-Jerry-Capobianco?obId33136402#/obituaryInfo> div classob-image-wr> img altobituary image classlazyOwl https://d1q40j6jx1d8h6.cloudfront.net/Obituaries/33136402/Thumbnail.jpg data-srchttps://d1q40j6jx1d8h6.cloudfront.net/Obituaries/33136402/Thumbnail.webp onerrorthis.srchttps://d1v2hfhsvnke6s.cloudfront.net/Shared/images/no_avatar.webp /> /div> div classobituary-caption> h1>Mr. Jerry Capobianco/h1> /div> /a> /div> /div> div> div classitem-border> a href/obituaries/Mr-Gilbert-Buddy-Hall-Efird-Jr?obId33399145#/obituaryInfo> div classob-image-wr> img altobituary image classlazyOwl https://d1q40j6jx1d8h6.cloudfront.net/Obituaries/33399145/Thumbnail.png data-srchttps://d1q40j6jx1d8h6.cloudfront.net/Obituaries/33399145/Thumbnail.webp onerrorthis.srchttps://d1v2hfhsvnke6s.cloudfront.net/Shared/images/no_avatar.webp /> /div> div classobituary-caption> h1>Mr. Gilbert "Buddy" Hall Efird, Jr./h1> /div> /a> /div> /div> /div> div classitem> div> div classitem-border> a href/obituaries/Mrs-Mary-Ann-Hamby-Ruggiero?obId33121155#/obituaryInfo> div classob-image-wr> img altobituary image classlazyOwl https://d1q40j6jx1d8h6.cloudfront.net/Obituaries/33121155/Thumbnail_1.png data-srchttps://d1q40j6jx1d8h6.cloudfront.net/Obituaries/33121155/Thumbnail_1.webp onerrorthis.srchttps://d1v2hfhsvnke6s.cloudfront.net/Shared/images/no_avatar.webp /> /div> div classobituary-caption> h1>Mrs. Mary Ann Hamby Ruggiero/h1> /div> /a> /div> /div> div> div classitem-border> a href/obituaries/Mr-Richardo-Coccia?obId33121501#/obituaryInfo> div classob-image-wr> img altobituary image classlazyOwl https://d1q40j6jx1d8h6.cloudfront.net/Obituaries/33121501/Thumbnail_1.jpg data-srchttps://d1q40j6jx1d8h6.cloudfront.net/Obituaries/33121501/Thumbnail_1.webp onerrorthis.srchttps://d1v2hfhsvnke6s.cloudfront.net/Shared/images/no_avatar.webp /> /div> div classobituary-caption> h1>Mr. Richardo Coccia/h1> /div> /a> /div> /div> /div> div classitem> div> div classitem-border> a href/obituaries/Mrs-Edith-Carolyn-Pressley?obId33104692#/obituaryInfo> div classob-image-wr> img altobituary image classlazyOwl https://d1q40j6jx1d8h6.cloudfront.net/Obituaries/33104692/Thumbnail.jpg data-srchttps://d1q40j6jx1d8h6.cloudfront.net/Obituaries/33104692/Thumbnail.webp onerrorthis.srchttps://d1v2hfhsvnke6s.cloudfront.net/Shared/images/no_avatar.webp /> /div> div classobituary-caption> h1>Mrs. Edith Carolyn Pressley/h1> /div> /a> /div> /div> div> div classitem-border> a href/obituaries/Ms-Linda-Carol-Rhodes?obId33088577#/obituaryInfo> div classob-image-wr> img altobituary image classlazyOwl https://d1q40j6jx1d8h6.cloudfront.net/Obituaries/33088577/Thumbnail.png data-srchttps://d1q40j6jx1d8h6.cloudfront.net/Obituaries/33088577/Thumbnail.webp onerrorthis.srchttps://d1v2hfhsvnke6s.cloudfront.net/Shared/images/no_avatar.webp /> /div> div classobituary-caption> h1>Ms. Linda Carol Rhodes/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: 411049cf-07cd-4468-a874-1e10e92fd525, 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 classobituariesFooter text-center> div classline>/div> div classobituariesFooterInnerWrapper> div classsearchBox> input typetext idobituarySearch placeholderSearch... titleSearch... autocompleteoff> /div> a href../obituaries/obituary-listings aria-labelView All classfun-button>View All/a> /div> /div> /div>/div>div classhome-services> h2>How we can help/h2> 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) / 1); width: calc((100% - 1px) / 1); } } .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> div classclearfix>/div>/div>/div>div classcontainer no-padding homepage-boxes> div classflowers-shop vertical-align-container> div classvertical-middle-block> h3>Say It With Flowers/h3> div classtext>Fresh flowers delivered from a local florist a hrefhttp://holland-funeral-service-crematory.tributestore.com?srcorder-flowers>shop now/a>/div> /div>/div>/div>div classhomepage-boxes fill-background>div classcontainer no-padding >div classrow-fluid flex>div classcol-md-6 col-sm-6 col-xs-12 who-we-are> /div>div classcol-md-6 col-sm-6 col-xs-12>h1>Who We Are/h1>p>Our compassionate staff is committed to serving you in your time of need. We will do everything in our power to make your experience meaningful and memorable, and each family is treated the way we would want our families to be treated./p>div>a href../who-we-are/staff>Meet Our Staff/a>/div>/div>/div>/div>/div>div classcontainer no-padding homepage-boxes>div classcontainer>div classrow-fluid flex>div classhidden-lg col-md-6 hidden-md col-sm-6 hidden-sm col-xs-12 visible-sx our-facility> /div>div classcol-md-6 col-sm-6 col-xs-12>h1>On-Site Crematory/h1>p>Our funeral home offers a warm, comfortable, family-oriented environment with traditional architecture and tasteful interior decor. Our facilities accommodate all types of funerals and memorials large and small, public or private./p>div>a href../on-site-crematory/on-site-crematory>On-Site Crematory/a>/div>/div>div classcol-md-6 col-sm-6 hidden-xs our-facility> /div>/div>/div>/div>div classhomepage-boxes fill-background>div classcontainer no-padding>div classrow-fluid flex>div classcol-md-6 col-sm-6 col-xs-12 services> /div>div classcol-md-6 col-sm-6 col-xs-12>h1>Services We Offer/h1>p>We offer personalized, professional, and compassionate services to you and your family. Our goal is to lessen the burden on your family so that you can focus on celebrating your loved ones life and beginning your grief journey towards healing./p>div>a href../services/service-options>Service Options/a>/div>/div>/div>/div>/div> script typetext/javascript> var locations {address:806 Circle Dr. ,lat:34.9748415000000000,lng:-80.5327540999999900,name:Holland Funeral Service \u0026 Crematory,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 }); } } }); if (API.showFuneralHomeName) { FrazerMaps.ShowEmbed($(#map_canvas), { address: locations0.address, name: locations0.name}); } else { FrazerMaps.ShowEmbed($(#map_canvas), { lan: locations0.lat, lng: locations0.lng }); } }); /* 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>Holland Funeral Service & Crematory/p> p>806 Circle Dr. /p> p>Monroe, NC 28112 /p> p>Phone: (704) 283-9366/p> p>Fax: (704) 283-9360/p> a hrefhttps://www.google.com/maps/dir//34.9748415000000000,-80.5327540999999900/@34.9748415000000000,-80.5327540999999900 classbutton target_blank relnoopener>Get directions/a> div iddivMapAndDrivingDirection1502688 styledisplay: none;> input classaddress-string typehidden value806 Circle Dr. , Monroe, NC 28112 /> input classaddress-coordinate-latitude typehidden value34.9748415000000000 /> input classaddress-coordinate-longitude typehidden value-80.5327540999999900 /> div classhome-map>/div> div classmap-info> div classcontactInfo> p>Holland Funeral Service & Crematory/p> p>806 Circle Dr. /p> p>Monroe, NC 28112 /p> p>Phone: (704) 283-9366/p> p>Fax: (704) 283-9360/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//34.9748415000000000,-80.5327540999999900/@34.9748415000000000,-80.5327540999999900); /> /div> /div> div classclear>/div> /div> /div> /div> /div> !-- Indicators --> /div> /div> /div> script typetext/javascript> $(.parallax .layer-back).parallax({ speed: 0.6 }); $(document).ready(function () { obituariesInit(); $(#locationsCarousel).carousel(pause); }); function obituariesInit() { var owl $(.obituaries-carousel); owl.owlCarousel({ lazyLoad: true, itemsCustom: 0, 1, 400, 2, 500, 3, 600, 4, 1200, 5 , navigation: true, pagination: false, scrollPerPage: true, autoHeight: false }); }; $(function () { if ($(#helpPanel).length > 0) { $(#helpPanel).tabs().removeClass(ui-corner-all).addClass(ui-tabs-vertical ui-helper-clearfix); $(#helpPanel ul).removeClass(ui-corner-all); $(#helpPanel li).removeClass(ui-corner-top); } }); /script>div classcopyrights text-center> div classbottom-navigation> a target_blank relnoopener hrefhttps://www.facebook.com/hollandfsl/ classfab fa-facebook facebook aria-labelLink to Facebook page > /a>/div> div classcopyrights> p>Holland Funeral Service & Crematorybr />Phone: a hreftel:7042839366>(704) 283-9366/a>br />806 Circle Dr., Monroe, NC 28112br />br />/p>div classrow>div classcol-md-6 col-md-offset-3 col-sm-6 col-sm-offset-3 col-xs-12- col-xs-offset-0>hr />/div>/div>p styletext-align: center;>© Holland Funeral Service & Crematorybr />Crafted with care by a classunderline hrefhttp://www.frazerconsultants.com/ target_blank relnofollow noopener noreferrer>Frazer Consultants/a> and a classunderline hrefhttps://www.tributearchive.com/ target_blank relnoopener noreferrer>TA/a>/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( Prata, Satisfy, Arizonia, Rouge+Script, Josefin+Sans:400,600,700, Roboto+Slab:400,100,300,700, Open+Sans+Condensed:300,300italic,700, Roboto:400,400italic,500,500italic,700,700italic,300italic,300); /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> 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) { scrollToTop(); } 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#Holland-Funeral-Service-and-Crematory).css(display, block); $(body).scrollspy({ target: .page-sub-menu, offset: 185 }); } function DailySubscribeInit() { $(.dailySubsControls button).click(function() { subscribeToDailyEmails(this, 411049cf-07cd-4468-a874-1e10e92fd525, /FunHelper/SubscribeToDailyEmails); }); } function sendGTMInfo(category, action, label) { dataLayer.push({ event: gaEvent, category: category, action: action, label: label }); } /script> script typetext/javascript stylemargin-left: 0;> (function () { var telArr ; var findNumber function (model) { var y ; for (var i 0; i model.length; i++) { if (!isNaN(parseInt(modeli))) { y + modeli; if (y.length 10) { telArr.push(y); y ; } } } } })(); /script> script typeapplication/ld+json> { @context: https://schema.org, @type: BreadcrumbList, name: Site Navigation, itemListElement: { @type: ListItem, position: 1, item: https://www.hollandfuneralservice.com, name: Home }, { @type: ListItem, position: 2, item: https://www.hollandfuneralservice.com/obituaries/obituary-listings, name: Obituaries }, { @type: ListItem, position: 3, item: https://www.hollandfuneralservice.com/services/where-to-begin, name: Services }, { @type: ListItem, position: 4, item: https://www.hollandfuneralservice.com/on-site-crematory/on-site-crematory, name: On-Site Crematory }, { @type: ListItem, position: 5, item: https://www.hollandfuneralservice.com/preplan/why-plan-ahead, name: Preplan }, { @type: ListItem, position: 6, item: https://www.hollandfuneralservice.com/resources/grief-support, name: Resources }, { @type: ListItem, position: 7, item: https://www.hollandfuneralservice.com/who-we-are/history, name: Who We Are }, { @type: ListItem, position: 8, item: https://www.hollandfuneralservice.com/contact/overview, name: Contact } } /script> script typeapplication/ld+json> { @context: https://schema.org, @type: LocalBusiness, name: Holland Funeral Service & Crematory, url: https://www.hollandfuneralservice.com/, address: { @type: PostalAddress, addressCountry: United States, addressLocality: Monroe, addressRegion: NC, postalCode: 28112, streetAddress: 806 Circle Dr. }, email: info@hollandfuneralservice.com, telephone: (704) 283-9366, faxNumber: (704) 283-9360, image: https://d1cq4ou4t4y4do.cloudfront.net/images/no-logo-image.png, geo: { @type: GeoCoordinates, latitude: 34.9748415000000000, longitude: -80.5327540999999900 } } /script> div classprintable>/div> 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, ) + -1502688; window.pushSessionInfo(window.getGAuuid()); pushSiteInfo( window.API.domainId.replace(/-/g, ), locationIdValue, Funeral Home, window.API.brand.name, Responsive, External, Home Page, Other, Holland Funeral Service and Crematory, Frazer Floral Network.replace(Frazer Floral Network, FFN) ); // 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(411049cf-07cd-4468-a874-1e10e92fd525); }); /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>
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
]