CINXE.COM
Trailhead | The fun way to learn
<!DOCTYPE html> <html lang='en'> <head> <script src="/packs/js/error-reporting-790035bee8c66f496e22.js"></script> <script type="importmap" data-turbo-track="reload">{ "imports": { "application": "/assets/application-43e67554b65a3d71cb2cc4e0bfb000eab664a98f2dacc01d456aeb8c49e7aab2.js", "@hotwired/turbo-rails": "/assets/@hotwired--turbo-rails-adc29aa8f8a030ffa92ade5b553f89b1a4ae10676c3e4a0b01d9748c133b3942.js", "@hotwired/turbo": "/assets/@hotwired--turbo-b61d77ef2858c8bd38af6c8930b19807d2005934fb8ce48bc2446277639325bf.js", "@rails/actioncable/src": "/assets/@rails--actioncable--src-afd872b90019e6e7e78bc2dccb876c7cb89626d3f9bedc1c781579eae9b8a05b.js", "@hotwired/stimulus": "/assets/stimulus.min-d0cc09fde2fe26e659ee153c59c6838a8d8cbc9bb2ca9116a7d5c0cb6d8c2def.js", "@hotwired/stimulus-loading": "/assets/stimulus-loading-b3a1143d54e5e70612a391e9046013c47906eea23924a86ca6aaf46b77c383f9.js", "controllers/application": "/assets/controllers/application-412b06f3638c99a754e598dabb79f85f16c261c52f019b2f412934dc0bb86071.js", "controllers/button_link_controller": "/assets/controllers/button_link_controller-3c8b84956078dc6e943a3c0443fe75d00da028768915a81a8cb05125f2817415.js", "controllers": "/assets/controllers/index-b3f0ee67c2a150ddd7258bd94e78ae00fa1a134507f969aceb055bb08f678c6d.js", "controllers/modal_controller": "/assets/controllers/modal_controller-6c969d7c3248e7b6310fd85cc94377ad8fefa6475849d91ad3813c37ae3066cf.js", "controllers/sfdc_product_links_controller": "/assets/controllers/sfdc_product_links_controller-35d937002aa5afce0e47eee98354e2f8efd021b85e264d014166026798abeed4.js" } }</script> <link rel="modulepreload" href="/assets/application-43e67554b65a3d71cb2cc4e0bfb000eab664a98f2dacc01d456aeb8c49e7aab2.js"> <link rel="modulepreload" href="/assets/@hotwired--turbo-rails-adc29aa8f8a030ffa92ade5b553f89b1a4ae10676c3e4a0b01d9748c133b3942.js"> <link rel="modulepreload" href="/assets/@hotwired--turbo-b61d77ef2858c8bd38af6c8930b19807d2005934fb8ce48bc2446277639325bf.js"> <link rel="modulepreload" href="/assets/@rails--actioncable--src-afd872b90019e6e7e78bc2dccb876c7cb89626d3f9bedc1c781579eae9b8a05b.js"> <link rel="modulepreload" href="/assets/stimulus.min-d0cc09fde2fe26e659ee153c59c6838a8d8cbc9bb2ca9116a7d5c0cb6d8c2def.js"> <link rel="modulepreload" href="/assets/stimulus-loading-b3a1143d54e5e70612a391e9046013c47906eea23924a86ca6aaf46b77c383f9.js"> <link rel="modulepreload" href="/assets/controllers/application-412b06f3638c99a754e598dabb79f85f16c261c52f019b2f412934dc0bb86071.js"> <link rel="modulepreload" href="/assets/controllers/button_link_controller-3c8b84956078dc6e943a3c0443fe75d00da028768915a81a8cb05125f2817415.js"> <link rel="modulepreload" href="/assets/controllers/index-b3f0ee67c2a150ddd7258bd94e78ae00fa1a134507f969aceb055bb08f678c6d.js"> <link rel="modulepreload" href="/assets/controllers/modal_controller-6c969d7c3248e7b6310fd85cc94377ad8fefa6475849d91ad3813c37ae3066cf.js"> <link rel="modulepreload" href="/assets/controllers/sfdc_product_links_controller-35d937002aa5afce0e47eee98354e2f8efd021b85e264d014166026798abeed4.js"> <script type="module">import "application"</script> <!-- = OneTrust Cookies Consent Notice --> <script src="/assets/cookie_consent-8c8312a57ff2dee1287aa6cb165f161b18dfe6c37fbb3185b3d0075550244858.js"></script> <script src="https://a.sfdcstatic.com/digital/one-trust/core/stable/scripttemplates/otSDKStub.js" crossorigin="" data-domain-script="8e783e8c-0ad0-475d-8fca-4a03afa0a02a" async="async"></script> <meta content='text/html; charset=UTF-8' http-equiv='Content-Type'> <script type="text/javascript">window.NREUM||(NREUM={});NREUM.info={"beacon":"bam.nr-data.net","errorBeacon":"bam.nr-data.net","licenseKey":"NRBR-b554e5db741e07abbb3","applicationID":"506536273","transactionName":"cFxaREcJCVsARk4OWV5WF1lbAgBPX0EPB0NHW2tYWgsA","queueTime":1,"applicationTime":58,"agent":""}</script> <script type="text/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:"594513438",accountID:"533461",trustKey:"194015",xpid:"UQUEVVBSGwYAUlRRAQMAVQ==",licenseKey:"NRBR-b554e5db741e07abbb3",applicationID:"506536273"};;/*! For license information please see nr-loader-spa-1.281.0.min.js.LICENSE.txt */ (()=>{var e,t,r={8122:(e,t,r)=>{"use strict";r.d(t,{a:()=>i});var n=r(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 r=Object.create(Object.getPrototypeOf(t),Object.getOwnPropertyDescriptors(t)),o=0===Object.keys(r).length?e:r;for(let a in o)if(void 0!==e[a])try{if(null===e[a]){r[a]=null;continue}Array.isArray(e[a])&&Array.isArray(t[a])?r[a]=Array.from(new Set([...e[a],...t[a]])):"object"==typeof e[a]&&"object"==typeof t[a]?r[a]=i(e[a],t[a]):r[a]=e[a]}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 n=r(384),i=r(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 t=c(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(!a[e])throw new Error("Info for ".concat(e," was never set"));return a[e]}function u(e,t){if(!e)throw new Error("All info objects require an agent identifier!");a[e]=(0,i.a)(t,o);const r=(0,n.nY)(e);r&&(r.info=a[e])}},9417:(e,t,r)=>{"use strict";r.d(t,{D0:()=>p,gD:()=>m,xN:()=>g});var n=r(3333),i=r(993);const o=e=>{if(!e||"string"!=typeof e)return!1;try{document.createDocumentFragment().querySelector(e)}catch{return!1}return!0};var a=r(2614),s=r(944),c=r(384),u=r(8122);const d="[data-nr-mask]",l=()=>{const e={feature_flags:[],experimental:{marks:!1,measures:!1,resources:!1},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,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},get feature_flags(){return e.feature_flags},set feature_flags(t){e.feature_flags=t},generic_events:{enabled:!0,autoStart:!0},harvest:{interval:30},jserrors:{enabled:!0,autoStart:!0},logging:{enabled:!0,autoStart:!0,level:i.p_.INFO},metrics:{enabled:!0,autoStart:!0},obfuscate:void 0,page_action:{enabled:!0},page_view_event:{enabled:!0,autoStart:!0},page_view_timing:{enabled:!0,autoStart:!0},performance:{get capture_marks(){return e.feature_flags.includes(n.$v.MARKS)||e.experimental.marks},set capture_marks(t){e.experimental.marks=t},get capture_measures(){return e.feature_flags.includes(n.$v.MEASURES)||e.experimental.measures},set capture_measures(t){e.experimental.measures=t},capture_detail:!0,resources:{get enabled(){return e.feature_flags.includes(n.$v.RESOURCES)||e.experimental.resources},set enabled(t){e.experimental.resources=t},asset_types:[],first_party_domains:[],ignore_newrelic:!0}},privacy:{cookies_enabled:!0},proxy:{assets:void 0,beacon:void 0},session:{expiresMs:a.wk,inactiveMs:a.BB},session_replay:{autoStart:!0,enabled:!1,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){o(t)?e.mask_selector="".concat(t,",").concat(d):""===t||null===t?e.mask_selector=d:(0,s.R)(5,t)},get block_class(){return"nr-block"},get ignore_class(){return"nr-ignore"},get mask_text_class(){return"nr-mask"},get block_selector(){return e.block_selector},set block_selector(t){o(t)?e.block_selector+=",".concat(t):""!==t&&(0,s.R)(6,t)},get mask_input_options(){return e.mask_input_options},set mask_input_options(t){t&&"object"==typeof t?e.mask_input_options={...t,password:!0}:(0,s.R)(7,t)}},session_trace:{enabled:!0,autoStart:!0},soft_navigations:{enabled:!0,autoStart:!0},spa:{enabled:!0,autoStart:!0},ssl:void 0,user_actions:{enabled:!0,elementAttributes:["id","className","tagName","type"]}}},f={},h="All configuration objects require an agent identifier!";function p(e){if(!e)throw new Error(h);if(!f[e])throw new Error("Configuration for ".concat(e," was never set"));return f[e]}function g(e,t){if(!e)throw new Error(h);f[e]=(0,u.a)(t,l());const r=(0,c.nY)(e);r&&(r.init=f[e])}function m(e,t){if(!e)throw new Error(h);var r=p(e);if(r){for(var n=t.split("."),i=0;i<n.length-1;i++)if("object"!=typeof(r=r[n[i]]))return;r=r[n[n.length-1]]}return r}},5603:(e,t,r)=>{"use strict";r.d(t,{a:()=>c,o:()=>s});var n=r(384),i=r(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(!a[e])throw new Error("LoaderConfig for ".concat(e," was never set"));return a[e]}function c(e,t){if(!e)throw new Error("All loader-config objects require an agent identifier!");a[e]=(0,i.a)(t,o);const r=(0,n.nY)(e);r&&(r.loader_config=a[e])}},3371:(e,t,r)=>{"use strict";r.d(t,{V:()=>f,f:()=>l});var n=r(8122),i=r(384),o=r(6154),a=r(9324);let s=0;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,harvester:void 0},d={};function l(e){if(!e)throw new Error("All runtime objects require an agent identifier!");if(!d[e])throw new Error("Runtime for ".concat(e," was never set"));return d[e]}function f(e,t){if(!e)throw new Error("All runtime objects require an agent identifier!");d[e]={...(0,n.a)(t,u),...c},Object.hasOwnProperty.call(d[e],"harvestCount")||Object.defineProperty(d[e],"harvestCount",{get:()=>++s});const r=(0,i.nY)(e);r&&(r.runtime=d[e])}},9324:(e,t,r)=>{"use strict";r.d(t,{F3:()=>i,Xs:()=>o,Yq:()=>a,xv:()=>n});const n="1.281.0",i="PROD",o="CDN",a="^2.0.0-alpha.17"},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 n=r(1863);const i="undefined"!=typeof window&&!!window.document,o="undefined"!=typeof WorkerGlobalScope&&("undefined"!=typeof self&&self instanceof WorkerGlobalScope&&self.navigator instanceof WorkerNavigator||"undefined"!=typeof globalThis&&globalThis instanceof WorkerGlobalScope&&globalThis.navigator instanceof WorkerNavigator),a=i?window:"undefined"!=typeof WorkerGlobalScope&&("undefined"!=typeof self&&self instanceof WorkerGlobalScope&&self||"undefined"!=typeof globalThis&&globalThis instanceof WorkerGlobalScope&&globalThis),s="complete"===a?.document?.readyState,c=Boolean("hidden"===a?.document?.visibilityState),u=""+a?.location,d=/iPad|iPhone|iPod/.test(a.navigator?.userAgent),l=d&&"undefined"==typeof SharedWorker,f=(()=>{const e=a.navigator?.userAgent?.match(/Firefox[/\s](\d+\.\d+)/);return Array.isArray(e)&&e.length>=2?+e[1]:0})(),h=Date.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(0===n.length)return!0;for(var t=0;t<n.length;t++){var r=n[t];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 0===e.hostname}function a(e){if(n=[],e&&e.length)for(var t=0;t<e.length;t++){let r=e[t];if(!r)continue;0===r.indexOf("http://")?r=r.substring(7):0===r.indexOf("https://")&&(r=r.substring(8));const i=r.indexOf("/");let o,a;i>0?(o=r.substring(0,i),a=r.substring(i)):(o=r,a="");let[s]=o.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 0===e.indexOf("/")&&(e=e.substring(1)),0===t.indexOf("/")&&(t=t.substring(1)),""===e||e===t}},1687:(e,t,r)=>{"use strict";r.d(t,{Ak:()=>c,Ze:()=>l,x3:()=>u});var n=r(7836),i=r(3606),o=r(860),a=r(2646);const s={};function c(e,t){const r={staged:!1,priority:o.P3[t]||0};d(e),s[e].get(t)||s[e].set(t,r)}function u(e,t){e&&s[e]&&(s[e].get(t)&&s[e].delete(t),h(e,t,!1),s[e].size&&f(e))}function d(e){if(!e)throw new Error("agentIdentifier required");s[e]||(s[e]=new Map)}function l(e="",t="feature",r=!1){if(d(e),!e||!s[e].get(t)||r)return h(e,t);s[e].get(t).staged=!0,f(e)}function f(e){const t=Array.from(s[e]);t.every((([e,t])=>t.staged))&&(t.sort(((e,t)=>e[1].priority-t[1].priority)),t.forEach((([t])=>{s[e].delete(t),h(e,t)})))}function h(e,t,r=!0){const o=e?n.ee.get(e):n.ee,s=i.i.handlers;if(!o.aborted&&o.backlog&&s){if(r){const e=o.backlog[t],r=s[t];if(r){for(let t=0;e&&t<e.length;++t)p(e[t],r);Object.entries(r).forEach((([e,t])=>{Object.values(t||{}).forEach((t=>{t[0]?.on&&t[0]?.context()instanceof a.y&&t[0].on(e,t[1])}))}))}}o.isolatedBacklog||delete s[t],o.backlog[t]=null,o.emit("drain-"+t,[])}}function p(e,t){var r=e[1];Object.values(t[r]||{}).forEach((t=>{var r=e[0];if(t[0]===r){var n=t[1],i=e[3],o=e[2];n.apply(i,o)}}))}},7836:(e,t,r)=>{"use strict";r.d(t,{P:()=>c,ee:()=>u});var n=r(384),i=r(8990),o=r(3371),a=r(2646),s=r(5607);const c="nr@context:".concat(s.W),u=function e(t,r){var n={},s={},d={},l=!1;try{l=16===r.length&&(0,o.f)(r).isolatedBacklog}catch(e){}var f={on:p,addEventListener:p,removeEventListener:function(e,t){var r=n[e];if(!r)return;for(var i=0;i<r.length;i++)r[i]===t&&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 a=h(n),c=g(e),d=c.length,l=0;l<d;l++)c[l].apply(a,r);var p=v()[s[e]];p&&p.push([f,e,r,a]);return a},get:m,listeners:g,context:h,buffer:function(e,t){const r=v();if(t=t||"feature",f.aborted)return;Object.entries(e||{}).forEach((([e,n])=>{s[n]=t,t in r||(r[t]=[])}))},abort:function(){f._aborted=!0,Object.keys(f.backlog).forEach((e=>{delete f.backlog[e]}))},isBuffering:function(e){return!!v()[s[e]]},debugId:r,backlog:l?{}:t&&"object"==typeof t.backlog?t.backlog:{},isolatedBacklog:l};return Object.defineProperty(f,"aborted",{get:()=>{let e=f._aborted||!1;return e||(t&&(e=t.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){n[e]=g(e).concat(t)}function g(e){return n[e]||[]}function m(t){return d[t]=d[t]||e(f,t)}function v(){return f.backlog}}(void 0,"globalEE"),d=(0,n.Zm)();d.ee||(d.ee=u)},2646:(e,t,r)=>{"use strict";r.d(t,{y:()=>n});class n{constructor(e){this.contextId=e}}},9908:(e,t,r)=>{"use strict";r.d(t,{d:()=>n,p:()=>i});var n=r(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 n=r(9908);o.on=a;var i=o.handlers={};function o(e,t,r,o){a(o||n.d,i,e,t,r)}function a(e,t,r,i,o){o||(o="feature"),e||(e=n.d);var a=t[o]=t[o]||{};(a[r]=a[r]||[]).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 n=r(6154);const i="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx";function o(e,t){return e?15&e[t]:16*Math.random()|0}function a(){const e=n.gm?.crypto||n.gm?.msCrypto;let t,r=0;return e&&e.getRandomValues&&(t=e.getRandomValues(new Uint8Array(30))),i.split("").map((e=>"x"===e?o(t,r++).toString(16):"y"===e?(3&o()|8).toString(16):e)).join("")}function s(e){const t=n.gm?.crypto||n.gm?.msCrypto;let r,i=0;t&&t.getRandomValues&&(r=t.getRandomValues(new Uint8Array(e)));const a=[];for(var s=0;s<e;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 n="NRBA",i="SESSION",o=144e5,a=18e5,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 n=r(6154);function i(e){if(0===(e||"").indexOf("data:"))return{protocol:"data"};try{const t=new 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.protocol===n.gm?.location?.protocol&&t.host===n.gm?.location?.host};return r.port&&""!==r.port||("http:"===t.protocol&&(r.port="80"),"https:"===t.protocol&&(r.port="443")),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){"function"==typeof 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 n=r(7836),i=r(6154);const o="newrelic";const a=new Set,s={};function c(e,t){const r=n.ee.get(t);s[t]??={},e&&"object"==typeof e&&(a.has(t)||(r.emit("rumresp",[e]),s[t]=e,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 n=Object.prototype.hasOwnProperty;function i(e,t,r){if(n.call(e,t))return e[t];var i=r();if(Object.defineProperty&&Object.keys)try{return Object.defineProperty(e,t,{value:i,writable:!0,enumerable:!1}),i}catch(e){}return e[t]=i,i}},6389:(e,t,r)=>{"use strict";function n(e,t=500,r={}){const n=r?.leading||!1;let i;return(...r)=>{n&&void 0===i&&(e.apply(this,r),i=setTimeout((()=>{i=clearTimeout(i)}),t)),n||(clearTimeout(i),i=setTimeout((()=>{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 n=r(7836);const i=()=>{const e=new WeakSet;return(t,r)=>{if("object"==typeof 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 n=r(3878);function i(){return"undefined"==typeof document||"complete"===document.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 n=r(6154),i=r(1863);const o={beacon:"bam.nr-data.net",errorBeacon:"bam.nr-data.net"};function a(){return n.gm.NREUM||(n.gm.NREUM={}),void 0===n.gm.newrelic&&(n.gm.newrelic=n.gm.NREUM),n.gm.NREUM}function s(){let e=a();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 r=a();r.initializedAgents??={},t.initializedAt={ms:(0,i.t)(),date:new Date},r.initializedAgents[e]=t}function u(e){let t=a();return t.initializedAgents?.[e]}function d(e,t){a()[e]=t}function l(){return function(){let e=a();const t=e.info||{};e.info={beacon:o.beacon,errorBeacon:o.errorBeacon,...t}}(),function(){let e=a();const t=e.init||{};e.init={...t}}(),s(),function(){let e=a();const t=e.loader_config||{};e.loader_config={...t}}(),a()}},2843:(e,t,r)=>{"use strict";r.d(t,{u:()=>i});var n=r(3878);function i(e,t=!1,r,i){(0,n.DD)("visibilitychange",(function(){if(t)return void("hidden"===document.visibilityState&&e());e(document.visibilityState)}),r,i)}},8139:(e,t,r)=>{"use strict";r.d(t,{u:()=>f});var n=r(7836),i=r(3434),o=r(8990),a=r(6154);const s={},c=a.gm.XMLHttpRequest,u="addEventListener",d="removeEventListener",l="nr@wrapped:".concat(n.P);function f(e){var t=function(e){return(e||n.ee).get("events")}(e);if(s[t.debugId]++)return t;s[t.debugId]=1;var r=(0,i.YM)(t,!0);function f(e){r.inPlace(e,[u,d],"-",p)}function p(e,t){return e[1]}return"getPrototypeOf"in Object&&(a.RI&&h(document,f),c&&h(c.prototype,f),h(a.gm,f)),t.on(u+"-start",(function(e,t){var n=e[1];if(null!==n&&("function"==typeof n||"object"==typeof 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.wrapped=e[1]=i}})),t.on(d+"-start",(function(e){e[1]=this.wrapped||e[1]})),t}function h(e,t,...r){let n=e;for(;"object"==typeof n&&!Object.prototype.hasOwnProperty.call(n,u);)n=Object.getPrototypeOf(n);n&&t(n,...r)}},3434:(e,t,r)=>{"use strict";r.d(t,{Jt:()=>o,YM:()=>c});var n=r(7836),i=r(5607);const o="nr@original:".concat(i.W);var a=Object.prototype.hasOwnProperty,s=!1;function c(e,t){return e||(e=n.ee),r.inPlace=function(e,t,n,i,o){n||(n="");const a="-"===n.charAt(0);for(let s=0;s<t.length;s++){const c=t[s],u=e[c];d(u)||(e[c]=r(u,a?c+n:n,i,c,o))}},r.flag=o,r;function r(t,r,n,s,c){return d(t)?t:(r||(r=""),nrWrapper[o]=t,function(e,t,r){if(Object.defineProperty&&Object.keys)try{return Object.keys(e).forEach((function(r){Object.defineProperty(t,r,{get:function(){return e[r]},set:function(t){return e[r]=t,t}})})),t}catch(e){u([e],r)}for(var n in e)a.call(e,n)&&(t[n]=e[n])}(t,nrWrapper,e),nrWrapper);function nrWrapper(){var o,a,d,l;try{a=this,o=[...arguments],d="function"==typeof n?n(o,a):n||{}}catch(t){u([t,"",[o,a,s],d],e)}i(r+"start",[o,a,s],d,c);try{return l=t.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 a=s;s=!0;try{e.emit(r,n,i,t,o)}catch(t){u([t,r,n,i],e)}s=a}}}function u(e,t){t||(t=n.ee);try{t.emit("internal-error",e)}catch(e){}}function d(e){return!(e&&"function"==typeof e&&e.apply&&!e[o])}},9300:(e,t,r)=>{"use strict";r.d(t,{T:()=>n});const n=r(860).K7.ajax},3333:(e,t,r)=>{"use strict";r.d(t,{$v:()=>u,TZ:()=>n,Zp:()=>i,kd:()=>c,mq:()=>s,nf:()=>a,qN:()=>o});const n=r(860).K7.genericEvents,i=["auxclick","click","copy","keydown","paste","scrollend"],o=["focus","blur"],a=4,s=1e3,c=["PageAction","UserAction","BrowserPerformance"],u={MARKS:"experimental.marks",MEASURES:"experimental.measures",RESOURCES:"experimental.resources"}},6774:(e,t,r)=>{"use strict";r.d(t,{T:()=>n});const n=r(860).K7.jserrors},993:(e,t,r)=>{"use strict";r.d(t,{ET:()=>o,TZ:()=>a,p_:()=>i});var n=r(860);const i={ERROR:"ERROR",WARN:"WARN",INFO:"INFO",DEBUG:"DEBUG",TRACE:"TRACE"},o="log",a=n.K7.logging},3785:(e,t,r)=>{"use strict";r.d(t,{R:()=>c,b:()=>u});var n=r(9908),i=r(1863),o=r(860),a=r(3969),s=r(993);function c(e,t,r={},c=s.p_.INFO){(0,n.p)(a.xV,["API/logging/".concat(c.toLowerCase(),"/called")],void 0,o.K7.metrics,e),(0,n.p)(s.ET,[(0,i.t)(),t,r,c],void 0,o.K7.logging,e)}function u(e){return"string"==typeof e&&Object.values(s.p_).some((t=>t===e.toUpperCase().trim()))}},3969:(e,t,r)=>{"use strict";r.d(t,{TZ:()=>n,XG:()=>s,rs:()=>i,xV:()=>a,z_:()=>o});const n=r(860).K7.metrics,i="sm",o="cm",a="storeSupportabilityMetrics",s="storeEventMetrics"},6630:(e,t,r)=>{"use strict";r.d(t,{T:()=>n});const n=r(860).K7.pageViewEvent},782:(e,t,r)=>{"use strict";r.d(t,{T:()=>n});const n=r(860).K7.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 n=r(2614);const i=r(860).K7.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"}},d=5e3,l={API:"api"}},5270:(e,t,r)=>{"use strict";r.d(t,{Aw:()=>c,CT:()=>u,SR:()=>s});var n=r(384),i=r(9417),o=r(7767),a=r(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 r=t.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 n=r(860).K7.sessionTrace,i="bstResource",o="resource",a="-start",s="-end",c="fn"+a,u="fn"+s,d="pushState",l=1e3},3962:(e,t,r)=>{"use strict";r.d(t,{AM:()=>o,O2:()=>c,Qu:()=>u,TZ:()=>s,ih:()=>d,pP:()=>a,tC:()=>i});var n=r(860);const i=["click","keydown","submit","popstate"],o="api",a="initialPageLoad",s=n.K7.softNav,c={INITIAL_PAGE_LOAD:"",ROUTE_CHANGE:1,UNSPECIFIED:2},u={INTERACTION:1,AJAX:2,CUSTOM_END:3,CUSTOM_TRACER:4},d={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:()=>T,gx:()=>v,l9:()=>l,oW:()=>h,op:()=>g,rw:()=>u,tH:()=>A,uP:()=>s,wW:()=>E,xq:()=>a});var n=r(384);const i=r(860).K7.spa,o=["click","submit","keypress","keydown","keyup","change"],a=999,s="fn-start",c="fn-end",u="cb-start",d="api-ixn-",l="remaining",f="interaction",h="spaNode",p="jsonpNode",g="fetch-start",m="fetch-done",v="fetch-body-",b="jsonp-end",y=(0,n.dV)().o.ST,w="-start",R="-end",x="-body",E="cb"+R,T="jsTime",A="fetch"},4234:(e,t,r)=>{"use strict";r.d(t,{W:()=>o});var n=r(7836),i=r(1687);class o{constructor(e,t){this.agentIdentifier=e,this.ee=n.ee.get(e),this.featureName=t,this.blocked=!1}deregisterDrain(){(0,i.x3)(this.agentIdentifier,this.featureName)}}},7767:(e,t,r)=>{"use strict";r.d(t,{V:()=>o});var n=r(9417),i=r(6154);const o=e=>i.RI&&!0===(0,n.gD)(e,"privacy.cookies_enabled")},425:(e,t,r)=>{"use strict";r.d(t,{j:()=>j});var n=r(860),i=r(2555),o=r(3371),a=r(9908),s=r(7836),c=r(1687),u=r(5289),d=r(6154),l=r(944),f=r(3969),h=r(384),p=r(6344);const g=["setErrorHandler","finished","addToTrace","addRelease","recordCustomEvent","addPageAction","setCurrentRouteName","setPageViewName","setCustomAttribute","interaction","noticeError","setUserId","setApplicationVersion","start",p.G4.RECORD,p.G4.PAUSE,"log","wrapLogger"],m=["setErrorHandler","finished","addToTrace","addRelease"];var v=r(1863),b=r(2614),y=r(993),w=r(3785),R=r(2646),x=r(3434);const E=new Map;function T(e,t,r,n){if("object"!=typeof t||!t||"string"!=typeof r||!r||"function"!=typeof t[r])return(0,l.R)(29);const i=function(e){return(e||s.ee).get("logger")}(e),o=(0,x.YM)(i),a=new R.y(s.P);a.level=n.level,a.customAttributes=n.customAttributes;const c=t[r]?.[x.Jt]||t[r];return E.set(c,a),o.inPlace(t,[r],"wrap-logger-",(()=>E.get(c))),i}function A(){const e=(0,h.pV)();g.forEach((t=>{e[t]=(...r)=>function(t,...r){let n=[];return Object.values(e.initializedAgents).forEach((e=>{e&&e.api?e.exposed&&e.api[t]&&n.push(e.api[t](...r)):(0,l.R)(38,t)})),n.length>1?n:n[0]}(t,...r)}))}const S={};var N=r(9417),_=r(5603),O=r(5284);const I=e=>{const t=e.startsWith("http");e+="/",r.p=t?e:"https://"+e};let P=!1;function j(e,t={},g,R){let{init:x,info:E,loader_config:j,runtime:C={},exposed:k=!0}=t;C.loaderType=g;const L=(0,h.pV)();E||(x=L.init,E=L.info,j=L.loader_config),(0,N.xN)(e.agentIdentifier,x||{}),(0,_.a)(e.agentIdentifier,j||{}),E.jsAttributes??={},d.bv&&(E.jsAttributes.isWorker=!0),(0,i.x1)(e.agentIdentifier,E);const H=(0,N.D0)(e.agentIdentifier),M=[E.beacon,E.errorBeacon];P||(H.proxy.assets&&(I(H.proxy.assets),M.push(H.proxy.assets)),H.proxy.beacon&&M.push(H.proxy.beacon),A(),(0,h.US)("activatedFeatures",O.B),e.runSoftNavOverSpa&&=!0===H.soft_navigations.enabled&&H.feature_flags.includes("soft_nav")),C.denyList=[...H.ajax.deny_list||[],...H.ajax.block_internal?M:[]],C.ptid=e.agentIdentifier,(0,o.V)(e.agentIdentifier,C),e.ee=s.ee.get(e.agentIdentifier),void 0===e.api&&(e.api=function(e,t,h=!1){t||(0,c.Ak)(e,"api");const g={};var R=s.ee.get(e),x=R.get("tracer");S[e]=b.g.OFF,R.on(p.G4.REPLAY_RUNNING,(t=>{S[e]=t}));var E="api-",A=E+"ixn-";function N(t,r,n,o){const a=(0,i.Vp)(e);return null===r?delete a.jsAttributes[t]:(0,i.x1)(e,{...a,jsAttributes:{...a.jsAttributes,[t]:r}}),I(E,n,!0,o||null===r?"session":void 0)(t,r)}function _(){}g.log=function(e,{customAttributes:t={},level:r=y.p_.INFO}={}){(0,a.p)(f.xV,["API/log/called"],void 0,n.K7.metrics,R),(0,w.R)(R,e,t,r)},g.wrapLogger=(e,t,{customAttributes:r={},level:i=y.p_.INFO}={})=>{(0,a.p)(f.xV,["API/wrapLogger/called"],void 0,n.K7.metrics,R),T(R,e,t,{customAttributes:r,level:i})},m.forEach((e=>{g[e]=I(E,e,!0,"api")})),g.addPageAction=I(E,"addPageAction",!0,n.K7.genericEvents),g.recordCustomEvent=I(E,"recordCustomEvent",!0,n.K7.genericEvents),g.setPageViewName=function(t,r){if("string"==typeof t)return"/"!==t.charAt(0)&&(t="/"+t),(0,o.f)(e).customTransaction=(r||"http://custom.transaction")+t,I(E,"setPageViewName",!0)()},g.setCustomAttribute=function(e,t,r=!1){if("string"==typeof e){if(["string","number","boolean"].includes(typeof t)||null===t)return N(e,t,"setCustomAttribute",r);(0,l.R)(40,typeof t)}else(0,l.R)(39,typeof e)},g.setUserId=function(e){if("string"==typeof e||null===e)return N("enduser.id",e,"setUserId",!0);(0,l.R)(41,typeof e)},g.setApplicationVersion=function(e){if("string"==typeof e||null===e)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.K7.metrics,R),R.emit("manual-start-all")}catch(e){(0,l.R)(23,e)}},g[p.G4.RECORD]=function(){(0,a.p)(f.xV,["API/recordReplay/called"],void 0,n.K7.metrics,R),(0,a.p)(p.G4.RECORD,[],void 0,n.K7.sessionReplay,R)},g[p.G4.PAUSE]=function(){(0,a.p)(f.xV,["API/pauseReplay/called"],void 0,n.K7.metrics,R),(0,a.p)(p.G4.PAUSE,[],void 0,n.K7.sessionReplay,R)},g.interaction=function(e){return(new _).get("object"==typeof e?e:{})};const O=_.prototype={createTracer:function(e,t){var r={},i=this,o="function"==typeof t;return(0,a.p)(f.xV,["API/createTracer/called"],void 0,n.K7.metrics,R),h||(0,a.p)(A+"tracer",[(0,v.t)(),e,r],i,n.K7.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 t="string"==typeof 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 I(e,t,r,i){return function(){return(0,a.p)(f.xV,["API/"+t+"/called"],void 0,n.K7.metrics,R),i&&(0,a.p)(e+t,[r?(0,v.t)():performance.now(),...arguments],r?null:this,i,R),r?void 0:this}}function P(){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()}))}return["actionText","setName","setAttribute","save","ignore","onEnd","getContext","end","get"].forEach((e=>{O[e]=I(A,e,void 0,h?n.K7.softNav:n.K7.spa)})),g.setCurrentRouteName=h?I(A,"routeName",void 0,n.K7.softNav):I(E,"routeName",!0,n.K7.spa),g.noticeError=function(t,r){"string"==typeof t&&(t=new Error(t)),(0,a.p)(f.xV,["API/noticeError/called"],void 0,n.K7.metrics,R),(0,a.p)("err",[t,(0,v.t)(),!1,r,!!S[e]],void 0,n.K7.jserrors,R)},d.RI?(0,u.GG)((()=>P()),!0):P(),g}(e.agentIdentifier,R,e.runSoftNavOverSpa)),void 0===e.exposed&&(e.exposed=k),P=!0}},8374:(e,t,r)=>{r.nc=(()=>{try{return document?.currentScript?.nonce}catch(e){}return""})()},860:(e,t,r)=>{"use strict";r.d(t,{$J:()=>u,K7:()=>s,P3:()=>c,XX:()=>i,qY:()=>n,v4:()=>a});const n="events",i="jserrors",o="browser/blobs",a="rum",s={ajax:"ajax",genericEvents:"generic_events",jserrors:i,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"},c={[s.pageViewEvent]:1,[s.pageViewTiming]:2,[s.metrics]:3,[s.jserrors]:4,[s.spa]:5,[s.ajax]:6,[s.sessionTrace]:7,[s.softNav]:8,[s.sessionReplay]:9,[s.logging]:10,[s.genericEvents]:11},u={[s.pageViewEvent]:a,[s.pageViewTiming]:n,[s.ajax]:n,[s.spa]:n,[s.softNav]:n,[s.metrics]:i,[s.jserrors]:i,[s.sessionTrace]:o,[s.sessionReplay]:o,[s.logging]:"browser/logs",[s.genericEvents]:"ins"}}},n={};function i(e){var t=n[e];if(void 0!==t)return t.exports;var o=n[e]={exports:{}};return r[e](o,o.exports,i),o.exports}i.m=r,i.d=(e,t)=>{for(var r in t)i.o(t,r)&&!i.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},i.f={},i.e=e=>Promise.all(Object.keys(i.f).reduce(((t,r)=>(i.f[r](e,t),t)),[])),i.u=e=>({212:"nr-spa-compressor",249:"nr-spa-recorder",478:"nr-spa"}[e]+"-1.281.0.min.js"),i.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),e={},t="NRBA-1.281.0.PROD:",i.l=(r,n,o,a)=>{if(e[r])e[r].push(n);else{var s,c;if(void 0!==o)for(var u=document.getElementsByTagName("script"),d=0;d<u.length;d++){var l=u[d];if(l.getAttribute("src")==r||l.getAttribute("data-webpack")==t+o){s=l;break}}if(!s){c=!0;var f={478:"sha512-jmvAlmjCn64ans8tLueqHRlBI/iWekylsDWb94A77CG0ukSriVDvgD3dThx+XjUSBBBMYhFn8B1a18fViyBPEQ==",249:"sha512-ICY/ZrcytM/86t5KFy+9OAWVYmNNJy10EBtxoSUGjQWuZx53p/eLo+L8HfrGjvHuRHRnutqLTGSnvNttffJkaA==",212:"sha512-pQSn+X/RfBOvx/49HvlghaiXMLhhDQXTi13n1N2XMpDquWJgs9U0pbqE3RbAnYC9nsdaTu/RVGvneEPv1fpCxA=="};(s=document.createElement("script")).charset="utf-8",s.timeout=120,i.nc&&s.setAttribute("nonce",i.nc),s.setAttribute("data-webpack",t+o),s.src=r,0!==s.src.indexOf(window.location.origin+"/")&&(s.crossOrigin="anonymous"),f[a]&&(s.integrity=f[a])}e[r]=[n];var h=(t,n)=>{s.onerror=s.onload=null,clearTimeout(p);var i=e[r];if(delete e[r],s.parentNode&&s.parentNode.removeChild(s),i&&i.forEach((e=>e(n))),t)return t(n)},p=setTimeout(h.bind(null,void 0,{type:"timeout",target:s}),12e4);s.onerror=h.bind(null,s.onerror),s.onload=h.bind(null,s.onload),c&&document.head.appendChild(s)}},i.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.p="https://js-agent.newrelic.com/",(()=>{var e={38:0,788:0};i.f.j=(t,r)=>{var n=i.o(e,t)?e[t]:void 0;if(0!==n)if(n)r.push(n[2]);else{var o=new Promise(((r,i)=>n=e[t]=[r,i]));r.push(n[2]=o);var a=i.p+i.u(t),s=new Error;i.l(a,(r=>{if(i.o(e,t)&&(0!==(n=e[t])&&(e[t]=void 0),n)){var o=r&&("load"===r.type?"missing":r.type),a=r&&r.target&&r.target.src;s.message="Loading chunk "+t+" failed.\n("+o+": "+a+")",s.name="ChunkLoadError",s.type=o,s.request=a,n[1](s)}}),"chunk-"+t,t)}};var t=(t,r)=>{var n,o,[a,s,c]=r,u=0;if(a.some((t=>0!==e[t]))){for(n in s)i.o(s,n)&&(i.m[n]=s[n]);if(c)c(i)}for(t&&t(r);u<a.length;u++)o=a[u],i.o(e,o)&&e[o]&&e[o][0](),e[o]=0},r=self["webpackChunk:NRBA-1.281.0.PROD"]=self["webpackChunk:NRBA-1.281.0.PROD"]||[];r.forEach(t.bind(null,0)),r.push=t.bind(null,r.push.bind(r))})(),(()=>{"use strict";i(8374);var e=i(944),t=i(6344),r=i(9566);class n{agentIdentifier;constructor(){this.agentIdentifier=(0,r.LA)(16)}#e(t,...r){if("function"==typeof this.api?.[t])return this.api[t](...r);(0,e.R)(35,t)}addPageAction(e,t){return this.#e("addPageAction",e,t)}recordCustomEvent(e,t){return this.#e("recordCustomEvent",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)}addRelease(e,t){return this.#e("addRelease",e,t)}log(e,t){return this.#e("log",e,t)}}class o extends n{#e(t,...r){if("function"==typeof this.api?.[t])return this.api[t](...r);(0,e.R)(35,t)}start(){return this.#e("start")}finished(e){return this.#e("finished",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")}wrapLogger(e,t,r){return this.#e("wrapLogger",e,t,r)}}var a=i(860),s=i(9417);const c=Object.values(a.K7);function u(e){const t={};return c.forEach((r=>{t[r]=function(e,t){return!0===(0,s.gD)(t,"".concat(e,".enabled"))}(r,e)})),t}var d=i(425);var l=i(1687),f=i(4234),h=i(5289),p=i(6154),g=i(5270),m=i(7767),v=i(6389);class b extends f.W{constructor(e,t,r=!0){super(e.agentIdentifier,t),this.auto=r,this.abortHandler=void 0,this.featAggregate=void 0,this.onAggregateImported=void 0,!1===e.init[this.featureName].autoStart&&(this.auto=!1),this.auto?(0,l.Ak)(e.agentIdentifier,t):this.ee.on("manual-start-all",(0,v.J)((()=>{(0,l.Ak)(e.agentIdentifier,this.featureName),this.auto=!0,this.importAggregator(e)})))}importAggregator(t,r={}){if(this.featAggregate||!this.auto)return;let n;this.onAggregateImported=new Promise((e=>{n=e}));const o=async()=>{let o;try{if((0,m.V)(this.agentIdentifier)){const{setupAgentSession:e}=await i.e(478).then(i.bind(i,6526));o=e(t)}}catch(t){(0,e.R)(20,t),this.ee.emit("internal-error",[t]),this.featureName===a.K7.sessionReplay&&this.abortHandler?.()}try{if(!this.#t(this.featureName,o))return(0,l.Ze)(this.agentIdentifier,this.featureName),void n(!1);const{lazyFeatureLoader:e}=await i.e(478).then(i.bind(i,6103)),{Aggregate:a}=await e(this.featureName,"aggregate");this.featAggregate=new a(t,r),t.runtime.harvester.initializedAggregates.push(this.featAggregate),n(!0)}catch(t){(0,e.R)(34,t),this.abortHandler?.(),(0,l.Ze)(this.agentIdentifier,this.featureName,!0),n(!1),this.ee&&this.ee.abort()}};p.RI?(0,h.GG)((()=>o()),!0):o()}#t(e,t){switch(e){case a.K7.sessionReplay:return(0,g.SR)(this.agentIdentifier)&&!!t;case a.K7.sessionTrace:return!!t;default:return!0}}}var y=i(6630);class w extends b{static featureName=y.T;constructor(e,t=!0){super(e,y.T,t),this.importAggregator(e)}}var R=i(384);var x=i(9908),E=i(2843),T=i(3878),A=i(782),S=i(1863);class N extends b{static featureName=A.T;constructor(e,t=!0){super(e,A.T,t),p.RI&&((0,E.u)((()=>(0,x.p)("docHidden",[(0,S.t)()],void 0,A.T,this.ee)),!0),(0,T.sp)("pagehide",(()=>(0,x.p)("winPagehide",[(0,S.t)()],void 0,A.T,this.ee))),this.importAggregator(e))}}var _=i(3969);class O extends b{static featureName=_.TZ;constructor(e,t=!0){super(e,_.TZ,t),this.importAggregator(e)}}var I=i(6774),P=i(3304);class j{constructor(e,t,r,n,i){this.name="UncaughtError",this.message="string"==typeof e?e:(0,P.A)(e),this.sourceURL=t,this.line=r,this.column=n,this.__newrelic=i}}function C(e){return H(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 k(e){const t="Unhandled Promise Rejection";if(!e?.reason)return;if(H(e.reason))try{return e.reason.message=t+": "+e.reason.message,C(e.reason)}catch(t){return C(e.reason)}const r=C(e.reason);return r.message=t+": "+r?.message,r}function L(e){if(e.error instanceof SyntaxError&&!/:\d+$/.test(e.error.stack?.trim())){const t=new j(e.message,e.filename,e.lineno,e.colno,e.error.__newrelic);return t.name=SyntaxError.name,t}return H(e.error)?e.error:C(e)}function H(e){return e instanceof Error&&!!e.stack}class M extends b{static featureName=I.T;#r=!1;constructor(e,r=!0){super(e,I.T,r);try{this.removeOnAbort=new AbortController}catch(e){}this.ee.on("internal-error",((e,t)=>{this.abortHandler&&(0,x.p)("ierr",[C(e),(0,S.t)(),!0,{},this.#r,t],void 0,this.featureName,this.ee)})),this.ee.on(t.G4.REPLAY_RUNNING,(e=>{this.#r=e})),p.gm.addEventListener("unhandledrejection",(e=>{this.abortHandler&&(0,x.p)("err",[k(e),(0,S.t)(),!1,{unhandledPromiseRejection:1},this.#r],void 0,this.featureName,this.ee)}),(0,T.jT)(!1,this.removeOnAbort?.signal)),p.gm.addEventListener("error",(e=>{this.abortHandler&&(0,x.p)("err",[L(e),(0,S.t)(),!1,{},this.#r],void 0,this.featureName,this.ee)}),(0,T.jT)(!1,this.removeOnAbort?.signal)),this.abortHandler=this.#n,this.importAggregator(e)}#n(){this.removeOnAbort?.abort(),this.abortHandler=void 0}}var D=i(8990);let K=1;const U="nr@id";function V(e){const t=typeof e;return!e||"object"!==t&&"function"!==t?-1:e===p.gm?0:(0,D.I)(e,U,(function(){return K++}))}function G(e){if("string"==typeof e&&e.length)return e.length;if("object"==typeof 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,P.A)(e).length}catch(e){return}}}var F=i(8139),B=i(7836),W=i(3434);const z={},q=["open","send"];function Z(t){var r=t||B.ee;const n=function(e){return(e||B.ee).get("xhr")}(r);if(void 0===p.gm.XMLHttpRequest)return n;if(z[n.debugId]++)return n;z[n.debugId]=1,(0,F.u)(r);var i=(0,W.YM)(n),o=p.gm.XMLHttpRequest,a=p.gm.MutationObserver,s=p.gm.Promise,c=p.gm.setInterval,u="readystatechange",d=["onload","onerror","onabort","onloadstart","onloadend","onprogress","ontimeout"],l=[],f=p.gm.XMLHttpRequest=function(t){const r=new o(t),a=n.context(r);try{n.emit("new-xhr",[r],a),r.addEventListener(u,(s=a,function(){var e=this;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 h(e,t){i.inPlace(t,["onreadystatechange"],"fn-",y)}if(function(e,t){for(var r in e)t[r]=e[r]}(o,f),f.prototype=o.prototype,i.inPlace(f.prototype,q,"-xhr-",y),n.on("send-xhr-start",(function(e,t){h(e,t),function(e){l.push(e),a&&(g?g.then(b):c?c(b):(m=-m,v.data=m))}(t)})),n.on("open-xhr-start",h),a){var g=s&&s.resolve();if(!c&&!s){var m=1,v=document.createTextNode(m);new a(b).observe(v,{characterData:!0})}}else r.on("fn-end",(function(e){e[0]&&e[0].type===u||b()}));function b(){for(var e=0;e<l.length;e++)h(0,l[e]);l.length&&(l=[])}function y(e,t){return t}return n}var Y="fetch-",X=Y+"body-",J=["arrayBuffer","blob","json","text","formData"],Q=p.gm.Request,ee=p.gm.Response,te="prototype";const re={};function ne(e){const t=function(e){return(e||B.ee).get("fetch")}(e);if(!(Q&&ee&&p.gm.fetch))return t;if(re[t.debugId]++)return t;function r(e,r,n){var i=e[r];"function"==typeof i&&(e[r]=function(){var e,r=[...arguments],o={};t.emit(n+"before-start",[r],o),o[B.P]&&o[B.P].dt&&(e=o[B.P].dt);var a=i.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 re[t.debugId]=1,J.forEach((e=>{r(Q[te],e,X),r(ee[te],e,X)})),r(p.gm,"fetch",Y),t.on(Y+"end",(function(e,r){var n=this;if(r){var i=r.headers.get("content-length");null!==i&&(n.rxSize=i),t.emit(Y+"done",[null,r],n)}else t.emit(Y+"done",[e],n)})),t}var ie=i(7485),oe=i(5603);class ae{constructor(e){this.agentIdentifier=e}generateTracePayload(e){if(!this.shouldGenerateTrace(e))return null;var t=(0,oe.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)(),c=Date.now(),u={spanId:a,traceId:s,timestamp:c};return(e.sameOrigin||this.isAllowedOrigin(e)&&this.useTraceContextHeadersForCors())&&(u.traceContextParentHeader=this.generateTraceContextParentHeader(a,s),u.traceContextStateHeader=this.generateTraceContextStateHeader(a,c,n,i,o)),(e.sameOrigin&&!this.excludeNewrelicHeader()||!e.sameOrigin&&this.isAllowedOrigin(e)&&this.useNewrelicHeaderForCors())&&(u.newrelicHeader=this.generateTraceHeader(a,s,c,n,i,o)),u}generateTraceContextParentHeader(e,t){return"00-"+t+"-"+e+"-01"}generateTraceContextStateHeader(e,t,r,n,i){return i+"@nr=0-1-"+r+"-"+n+"-"+e+"----"+t}generateTraceHeader(e,t,r,n,i,o){if(!("function"==typeof p.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.tk=o),btoa((0,P.A)(a))}shouldGenerateTrace(e){return this.isDtEnabled()&&this.isAllowedOrigin(e)}isAllowedOrigin(e){var t=!1,r={};if((0,s.gD)(this.agentIdentifier,"distributed_tracing")&&(r=(0,s.D0)(this.agentIdentifier).distributed_tracing),e.sameOrigin)t=!0;else if(r.allowed_origins instanceof Array)for(var n=0;n<r.allowed_origins.length;n++){var i=(0,ie.D)(r.allowed_origins[n]);if(e.hostname===i.hostname&&e.protocol===i.protocol&&e.port===i.port){t=!0;break}}return t}isDtEnabled(){var e=(0,s.gD)(this.agentIdentifier,"distributed_tracing");return!!e&&!!e.enabled}excludeNewrelicHeader(){var e=(0,s.gD)(this.agentIdentifier,"distributed_tracing");return!!e&&!!e.exclude_newrelic_header}useNewrelicHeaderForCors(){var e=(0,s.gD)(this.agentIdentifier,"distributed_tracing");return!!e&&!1!==e.cors_use_newrelic_header}useTraceContextHeadersForCors(){var e=(0,s.gD)(this.agentIdentifier,"distributed_tracing");return!!e&&!!e.cors_use_tracecontext_headers}}var se=i(9300),ce=i(7295),ue=["load","error","abort","timeout"],de=ue.length,le=(0,R.dV)().o.REQ,fe=(0,R.dV)().o.XHR;class he extends b{static featureName=se.T;constructor(e,t=!0){super(e,se.T,t),this.dt=new ae(e.agentIdentifier),this.handler=(e,t,r,n)=>(0,x.p)(e,t,r,n,this.ee);try{const e={xmlhttprequest:"xhr",fetch:"fetch",beacon:"beacon"};p.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};pe(r,t.name),this.handler("xhr",[r,n,t.startTime,t.responseEnd,e[t.initiatorType]],void 0,a.K7.ajax)}}))}catch(e){}ne(this.ee),Z(this.ee),function(e,t,r,n){function i(e){var t=this;t.totalCbs=0,t.called=0,t.cbTime=0,t.end=R,t.ended=!1,t.xhrGuids={},t.lastSize=null,t.loadCaptureCalled=!1,t.params=this.params||{},t.metrics=this.metrics||{},e.addEventListener("load",(function(r){E(t,e)}),(0,T.jT)(!1)),p.lR||e.addEventListener("progress",(function(e){t.lastSize=e.loaded}),(0,T.jT)(!1))}function o(e){this.params={method:e[0]},pe(this,e[1]),this.metrics={}}function s(t,r){e.loader_config.xpid&&this.sameOrigin&&r.setRequestHeader("X-NewRelic-ID",e.loader_config.xpid);var i=n.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.dt=i)}}function c(e,r){var n=this.metrics,i=e[0],o=this;if(n&&i){var a=G(i);a&&(n.txSize=a)}this.startTime=(0,S.t)(),this.body=i,this.listener=function(e){try{"abort"!==e.type||o.loadCaptureCalled||(o.params.aborted=!0),("load"!==e.type||o.called===o.totalCbs&&(o.onloadCalled||"function"!=typeof r.onload)&&"function"==typeof o.end)&&o.end(r)}catch(e){try{t.emit("internal-error",[e])}catch(e){}}};for(var s=0;s<de;s++)r.addEventListener(ue[s],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&&"function"==typeof r.onload||"function"!=typeof this.end||this.end(r)}function d(e,t){var r=""+V(e)+!!t;this.xhrGuids&&!this.xhrGuids[r]&&(this.xhrGuids[r]=!0,this.totalCbs+=1)}function l(e,t){var r=""+V(e)+!!t;this.xhrGuids&&this.xhrGuids[r]&&(delete this.xhrGuids[r],this.totalCbs-=1)}function f(){this.endTime=(0,S.t)()}function h(e,r){r instanceof fe&&"load"===e[0]&&t.emit("xhr-load-added",[e[1],e[2]],r)}function g(e,r){r instanceof fe&&"load"===e[0]&&t.emit("xhr-load-removed",[e[1],e[2]],r)}function m(e,t,r){t instanceof fe&&("onload"===r&&(this.onload=!0),("load"===(e[0]&&e[0].type)||this.onload)&&(this.xhrCbStart=(0,S.t)()))}function v(e,r){this.xhrCbStart&&t.emit("xhr-cb-time",[(0,S.t)()-this.xhrCbStart,this.onload,r],r)}function b(e){var t,r=e[1]||{};if("string"==typeof e[0]?0===(t=e[0]).length&&p.RI&&(t=""+p.gm.location.href):e[0]&&e[0].url?t=e[0].url:p.gm?.URL&&e[0]&&e[0]instanceof URL?t=e[0].href:"function"==typeof e[0].toString&&(t=e[0].toString()),"string"==typeof t&&0!==t.length){t&&(this.parsedOrigin=(0,ie.D)(t),this.sameOrigin=this.parsedOrigin.sameOrigin);var i=n.generateTracePayload(this.parsedOrigin);if(i&&(i.newrelicHeader||i.traceContextParentHeader))if(e[0]&&e[0].headers)s(e[0].headers,i)&&(this.dt=i);else{var o={};for(var a in r)o[a]=r[a];o.headers=new Headers(r.headers||{}),s(o.headers,i)&&(this.dt=i),e.length>1?e[1]=o: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,S.t)(),this.dt=t,e.length>=1&&(this.target=e[0]),e.length>=2&&(this.opts=e[1]);var r,n=this.opts||{},i=this.target;"string"==typeof i?r=i:"object"==typeof i&&i instanceof le?r=i.url:p.gm?.URL&&"object"==typeof i&&i instanceof URL&&(r=i.href),pe(this,r);var o=(""+(i&&i instanceof le&&i.method||n.method||"GET")).toUpperCase();this.params.method=o,this.body=n.body,this.txSize=G(n.body)||0}function w(e,t){if(this.endTime=(0,S.t)(),this.params||(this.params={}),(0,ce.iW)(this.params))return;let n;this.params.status=t?t.status:0,"string"==typeof this.rxSize&&this.rxSize.length>0&&(n=+this.rxSize);const i={txSize:this.txSize,rxSize:n,duration:(0,S.t)()-this.startTime};r("xhr",[this.params,i,this.startTime,this.endTime,"fetch"],this,a.K7.ajax)}function R(e){const t=this.params,n=this.metrics;if(!this.ended){this.ended=!0;for(let t=0;t<de;t++)e.removeEventListener(ue[t],this.listener,!1);t.aborted||(0,ce.iW)(t)||(n.duration=(0,S.t)()-this.startTime,this.loadCaptureCalled||4!==e.readyState?null==t.status&&(t.status=0):E(this,e),n.cbTime=this.cbTime,r("xhr",[t,n,this.startTime,this.endTime,"xhr"],this,a.K7.ajax))}}function E(e,r){e.params.status=r.status;var n=function(e,t){var r=e.responseType;return"json"===r&&null!==t?t:"arraybuffer"===r||"blob"===r||"json"===r?G(e.response):"text"===r||""===r||void 0===r?G(e.responseText):void 0}(r,e.lastSize);if(n&&(e.metrics.rxSize=n),e.sameOrigin){var i=r.getResponseHeader("X-NewRelic-App-Data");i&&((0,x.p)(_.rs,["Ajax/CrossApplicationTracing/Header/Seen"],void 0,a.K7.metrics,t),e.params.cat=i.split(", ").pop())}e.loadCaptureCalled=!0}t.on("new-xhr",i),t.on("open-xhr-start",o),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",h),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 pe(e,t){var r=(0,ie.D)(t),n=e.params||e;n.hostname=r.hostname,n.port=r.port,n.protocol=r.protocol,n.host=r.hostname+":"+r.port,n.pathname=r.pathname,e.parsedOrigin=r,e.sameOrigin=r.sameOrigin}const ge={},me=["pushState","replaceState"];function ve(e){const t=function(e){return(e||B.ee).get("history")}(e);return!p.RI||ge[t.debugId]++||(ge[t.debugId]=1,(0,W.YM)(t).inPlace(window.history,me,"-")),t}var be=i(3738);const{He:ye,bD:we,d3:Re,Kp:xe,TZ:Ee,Lc:Te,uP:Ae,Rz:Se}=be;class Ne extends b{static featureName=Ee;constructor(e,t=!0){super(e,Ee,t);if(!(0,m.V)(this.agentIdentifier))return void this.deregisterDrain();const r=this.ee;let n;ve(r),this.eventsEE=(0,F.u)(r),this.eventsEE.on(Ae,(function(e,t){this.bstStart=(0,S.t)()})),this.eventsEE.on(Te,(function(e,t){(0,x.p)("bst",[e[0],t,this.bstStart,(0,S.t)()],void 0,a.K7.sessionTrace,r)})),r.on(Se+Re,(function(e){this.time=(0,S.t)(),this.startPath=location.pathname+location.hash})),r.on(Se+xe,(function(e){(0,x.p)("bstHist",[location.pathname+location.hash,this.startPath,this.time],void 0,a.K7.sessionTrace,r)}));try{n=new PerformanceObserver((e=>{const t=e.getEntries();(0,x.p)(ye,[t],void 0,a.K7.sessionTrace,r)})),n.observe({type:we,buffered:!0})}catch(e){}this.importAggregator(e,{resourceObserver:n})}}var _e=i(2614);class Oe extends b{static featureName=t.TZ;#i;#o;constructor(e,r=!0){let n;super(e,t.TZ,r),this.replayRunning=!1,this.#o=e;try{n=JSON.parse(localStorage.getItem("".concat(_e.H3,"_").concat(_e.uh)))}catch(e){}(0,g.SR)(e.agentIdentifier)&&this.ee.on(t.G4.RECORD,(()=>this.#a())),this.#s(n)?(this.#i=n?.sessionReplayMode,this.#c()):this.importAggregator(e),this.ee.on("err",(e=>{this.replayRunning&&(this.errorNoticed=!0,(0,x.p)(t.G4.ERROR_DURING_REPLAY,[e],void 0,this.featureName,this.ee))})),this.ee.on(t.G4.REPLAY_RUNNING,(e=>{this.replayRunning=e}))}#s(e){return e&&(e.sessionReplayMode===_e.g.FULL||e.sessionReplayMode===_e.g.ERROR)||(0,g.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,8589));this.recorder??=new t({mode:this.#i,agentIdentifier:this.agentIdentifier,trigger:e,ee:this.ee,agentRef:this.#o}),this.recorder.startRecording(),this.abortHandler=this.recorder.stopRecording}catch(e){}this.importAggregator(this.#o,{recorder:this.recorder,errorNoticed:this.errorNoticed})}}#a(){this.featAggregate?this.featAggregate.mode!==_e.g.FULL&&this.featAggregate.initializeRecording(_e.g.FULL,!0):(this.#i=_e.g.FULL,this.#c(t.Qb.API),this.recorder&&this.recorder.parent.mode!==_e.g.FULL&&(this.recorder.parent.mode=_e.g.FULL,this.recorder.stopRecording(),this.recorder.startRecording(),this.abortHandler=this.recorder.stopRecording))}}var Ie=i(3962);class Pe extends b{static featureName=Ie.TZ;constructor(e,t=!0){if(super(e,Ie.TZ,t),!p.RI||!(0,R.dV)().o.MO)return;const r=ve(this.ee);Ie.tC.forEach((e=>{(0,T.sp)(e,(e=>{a(e)}),!0)}));const n=()=>(0,x.p)("newURL",[(0,S.t)(),""+window.location],void 0,this.featureName,this.ee);r.on("pushState-end",n),r.on("replaceState-end",n);try{this.removeOnAbort=new AbortController}catch(e){}(0,T.sp)("popstate",(e=>(0,x.p)("newURL",[e.timeStamp,""+window.location],void 0,this.featureName,this.ee)),!0,this.removeOnAbort?.signal);let i=!1;const o=new((0,R.dV)().o.MO)(((e,t)=>{i||(i=!0,requestAnimationFrame((()=>{(0,x.p)("newDom",[(0,S.t)()],void 0,this.featureName,this.ee),i=!1})))})),a=(0,v.s)((e=>{(0,x.p)("newUIEvent",[e],void 0,this.featureName,this.ee),o.observe(document.body,{attributes:!0,childList:!0,subtree:!0,characterData:!0})}),100,{leading:!0});this.abortHandler=function(){this.removeOnAbort?.abort(),o.disconnect(),this.abortHandler=void 0},this.importAggregator(e,{domObserver:o})}}var je=i(7378);const Ce={},ke=["appendChild","insertBefore","replaceChild"];function Le(e){const t=function(e){return(e||B.ee).get("jsonp")}(e);if(!p.RI||Ce[t.debugId])return t;Ce[t.debugId]=!0;var r=(0,W.YM)(t),n=/[?&](?:callback|cb)=([^&#]+)/,i=/(.*)\.([^.]+)/,o=/^(\w+)(\.|$)(.*)$/;function a(e,t){if(!e)return t;const r=e.match(o),n=r[1];return a(r[3],t[n])}return r.inPlace(Node.prototype,ke,"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=(s=e.src,c=s.match(n),c?c[1]:null);var s,c;if(!o)return;var u=function(e){var t=e.match(i);if(t&&t.length>=3)return{key:t[2],parent:a(t[1],window)};return{key:e,parent:window}}(o);if("function"!=typeof u.parent[u.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)}(e[0])})),t}const He={};function Me(e){const t=function(e){return(e||B.ee).get("promise")}(e);if(He[t.debugId])return t;He[t.debugId]=!0;var r=t.context,n=(0,W.YM)(t),i=p.gm.Promise;return i&&function(){function e(r){var o=t.context(),a=n(r,"executor-",o,null,!1);const s=Reflect.construct(i,[a],e);return t.context(s).getCtx=function(){return o},s}p.gm.Promise=e,Object.defineProperty(e,"name",{value:"Promise"}),e.toString=function(){return i.toString()},Object.setPrototypeOf(e,i),["all","race"].forEach((function(r){const n=i[r];e[r]=function(e){let i=!1;[...e||[]].forEach((e=>{this.resolve(e).then(a("all"===r),a(!1))}));const o=n.apply(this,arguments);return o;function a(e){return function(){t.emit("propagate",[null,!i],o,!1,!1),i=i||!e}}}})),["resolve","reject"].forEach((function(r){const n=i[r];e[r]=function(e){const r=n.apply(this,arguments);return e!==r&&t.emit("propagate",[e,!0],r,!1,!1),r}})),e.prototype=i.prototype;const o=i.prototype.then;i.prototype.then=function(...e){var i=this,a=r(i);a.promise=i,e[0]=n(e[0],"cb-",a,null,!1),e[1]=n(e[1],"cb-",a,null,!1);const s=o.apply(this,e);return a.nextPromise=s,t.emit("propagate",[i,!0],s,!1,!1),s},i.prototype.then[W.Jt]=o,t.on("executor-start",(function(e){e[0]=n(e[0],"resolve-",this,null,!1),e[1]=n(e[1],"resolve-",this,null,!1)})),t.on("executor-err",(function(e,t,r){e[1](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.getCtx=function(){if(e instanceof Promise)var r=t.context(e);return r&&r.getCtx?r.getCtx():this})}))}(),t}const De={},Ke="setTimeout",Ue="setInterval",Ve="clearTimeout",Ge="-start",Fe=[Ke,"setImmediate",Ue,Ve,"clearImmediate"];function Be(e){const t=function(e){return(e||B.ee).get("timer")}(e);if(De[t.debugId]++)return t;De[t.debugId]=1;var r=(0,W.YM)(t);return r.inPlace(p.gm,Fe.slice(0,2),Ke+"-"),r.inPlace(p.gm,Fe.slice(2,3),Ue+"-"),r.inPlace(p.gm,Fe.slice(3),Ve+"-"),t.on(Ue+Ge,(function(e,t,n){e[0]=r(e[0],"fn-",null,n)})),t.on(Ke+Ge,(function(e,t,n){this.method=n,this.timerDuration=isNaN(e[1])?0:+e[1],e[0]=r(e[0],"fn-",this,n)})),t}const We={};function ze(e){const t=function(e){return(e||B.ee).get("mutation")}(e);if(!p.RI||We[t.debugId])return t;We[t.debugId]=!0;var r=(0,W.YM)(t),n=p.gm.MutationObserver;return n&&(window.MutationObserver=function(e){return this instanceof n?new n(r(e,"fn-")):n.apply(this,arguments)},MutationObserver.prototype=n.prototype),t}const{TZ:qe,d3:Ze,Kp:Ye,$p:Xe,wW:$e,e5:Je,tH:Qe,uP:et,rw:tt,Lc:rt}=je;class nt extends b{static featureName=qe;constructor(e,t=!0){if(super(e,qe,t),!p.RI)return;try{this.removeOnAbort=new AbortController}catch(e){}let r,n=0;const i=this.ee.get("tracer"),o=Le(this.ee),a=Me(this.ee),s=Be(this.ee),c=Z(this.ee),u=this.ee.get("events"),d=ne(this.ee),l=ve(this.ee),f=ze(this.ee);function h(e,t){l.emit("newURL",[""+window.location,t])}function g(){n++,r=window.location.hash,this[et]=(0,S.t)()}function m(){n--,window.location.hash!==r&&h(0,!0);var e=(0,S.t)();this[Je]=~~this[Je]+e-this[et],this[rt]=e}function v(e,t){e.on(t,(function(){this[t]=(0,S.t)()}))}this.ee.on(et,g),a.on(tt,g),o.on(tt,g),this.ee.on(rt,m),a.on($e,m),o.on($e,m),this.ee.on("fn-err",((...t)=>{t[2]?.__newrelic?.[e.agentIdentifier]||(0,x.p)("function-err",[...t],void 0,this.featureName,this.ee)})),this.ee.buffer([et,rt,"xhr-resolved"],this.featureName),u.buffer([et],this.featureName),s.buffer(["setTimeout"+Ye,"clearTimeout"+Ze,et],this.featureName),c.buffer([et,"new-xhr","send-xhr"+Ze],this.featureName),d.buffer([Qe+Ze,Qe+"-done",Qe+Xe+Ze,Qe+Xe+Ye],this.featureName),l.buffer(["newURL"],this.featureName),f.buffer([et],this.featureName),a.buffer(["propagate",tt,$e,"executor-err","resolve"+Ze],this.featureName),i.buffer([et,"no-"+et],this.featureName),o.buffer(["new-jsonp","cb-start","jsonp-error","jsonp-end"],this.featureName),v(d,Qe+Ze),v(d,Qe+"-done"),v(o,"new-jsonp"),v(o,"jsonp-end"),v(o,"cb-start"),l.on("pushState-end",h),l.on("replaceState-end",h),window.addEventListener("hashchange",h,(0,T.jT)(!0,this.removeOnAbort?.signal)),window.addEventListener("load",h,(0,T.jT)(!0,this.removeOnAbort?.signal)),window.addEventListener("popstate",(function(){h(0,n>1)}),(0,T.jT)(!0,this.removeOnAbort?.signal)),this.abortHandler=this.#n,this.importAggregator(e)}#n(){this.removeOnAbort?.abort(),this.abortHandler=void 0}}var it=i(3333);class ot extends b{static featureName=it.TZ;constructor(e,t=!0){super(e,it.TZ,t);const r=[e.init.page_action.enabled,e.init.performance.capture_marks,e.init.performance.capture_measures,e.init.user_actions.enabled,e.init.performance.resources.enabled];if(p.RI&&(e.init.user_actions.enabled&&(it.Zp.forEach((e=>(0,T.sp)(e,(e=>(0,x.p)("ua",[e],void 0,this.featureName,this.ee)),!0))),it.qN.forEach((e=>{const t=(0,v.s)((e=>{(0,x.p)("ua",[e],void 0,this.featureName,this.ee)}),500,{leading:!0});(0,T.sp)(e,t)}))),e.init.performance.resources.enabled&&p.gm.PerformanceObserver?.supportedEntryTypes.includes("resource"))){new PerformanceObserver((e=>{e.getEntries().forEach((e=>{(0,x.p)("browserPerformance.resource",[e],void 0,this.featureName,this.ee)}))})).observe({type:"resource",buffered:!0})}r.some((e=>e))?this.importAggregator(e):this.deregisterDrain()}}var at=i(993),st=i(3785);class ct extends b{static featureName=at.TZ;constructor(e,t=!0){super(e,at.TZ,t);const r=this.ee;this.ee.on("wrap-logger-end",(function([e]){const{level:t,customAttributes:n}=this;(0,st.R)(r,e,n,t)})),this.importAggregator(e)}}new class extends o{constructor(t){super(),p.gm?(this.features={},(0,R.bQ)(this.agentIdentifier,this),this.desiredFeatures=new Set(t.features||[]),this.desiredFeatures.add(w),this.runSoftNavOverSpa=[...this.desiredFeatures].some((e=>e.featureName===a.K7.softNav)),(0,d.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 t=u(this.agentIdentifier),r=[...this.desiredFeatures];r.sort(((e,t)=>a.P3[e.featureName]-a.P3[t.featureName])),r.forEach((r=>{if(!t[r.featureName]&&r.featureName!==a.K7.pageViewEvent)return;if(this.runSoftNavOverSpa&&r.featureName===a.K7.spa)return;if(!this.runSoftNavOverSpa&&r.featureName===a.K7.softNav)return;const n=function(e){switch(e){case a.K7.ajax:return[a.K7.jserrors];case a.K7.sessionTrace:return[a.K7.ajax,a.K7.pageViewEvent];case a.K7.sessionReplay:return[a.K7.sessionTrace];case a.K7.pageViewTiming:return[a.K7.pageViewEvent];default:return[]}}(r.featureName).filter((e=>!(e in this.features)));n.length>0&&(0,e.R)(36,{targetFeature:r.featureName,missingDependencies:n}),this.features[r.featureName]=new r(this)}))}catch(t){(0,e.R)(22,t);for(const e in this.features)this.features[e].abortHandler?.();const r=(0,R.Zm)();delete r.initializedAgents[this.agentIdentifier]?.api,delete r.initializedAgents[this.agentIdentifier]?.features,delete this.sharedAggregator;return r.ee.get(this.agentIdentifier).abort(),!1}}}({features:[he,w,N,Ne,Oe,O,M,ot,ct,Pe,nt],loaderType:"spa"})})()})();</script> <meta content='width=device-width, initial-scale=1.0, user-scalable=yes, maximum-scale=5.0' name='viewport'> <meta content='en-us' http-equiv='content-language'> <link href='https://trailhead.salesforce.com/' hreflang='en' rel='alternate'> <link href='https://trailhead.salesforce.com/de' hreflang='de' rel='alternate'> <link href='https://trailhead.salesforce.com/it' hreflang='it' rel='alternate'> <link href='https://trailhead.salesforce.com/fr' hreflang='fr' rel='alternate'> <link href='https://trailhead.salesforce.com/es' hreflang='es' rel='alternate'> <link href='https://trailhead.salesforce.com/es-MX' hreflang='es-mx' rel='alternate'> <link href='https://trailhead.salesforce.com/pt-BR' hreflang='pt-br' rel='alternate'> <link href='https://trailhead.salesforce.com/ja' hreflang='ja' rel='alternate'> <link href='https://trailhead.salesforce.com/ko' hreflang='ko' rel='alternate'> <link href='https://trailhead.salesforce.com/zh-CN' hreflang='zh-cn' rel='alternate'> <link href='https://trailhead.salesforce.com/' hreflang='x-default' rel='alternate'> <link rel="canonical" href="https://trailhead.salesforce.com/"> <meta content='#ffffff' name='msapplication-TileColor'> <meta content='browserconfig.xml' name='msapplication-config'> <meta content='#ffffff' name='theme-color'> <link href='/apple-touch-icon-57x57.png' rel='apple-touch-icon' sizes='57x57'> <link href='/apple-touch-icon-60x60.png' rel='apple-touch-icon' sizes='60x60'> <link href='/apple-touch-icon-72x72.png' rel='apple-touch-icon' sizes='72x72'> <link href='/apple-touch-icon-76x76.png' rel='apple-touch-icon' sizes='76x76'> <link href='/apple-touch-icon-114x114.png' rel='apple-touch-icon' sizes='114x114'> <link href='/apple-touch-icon-120x120.png' rel='apple-touch-icon' sizes='120x120'> <link href='/apple-touch-icon-144x144.png' rel='apple-touch-icon' sizes='144x144'> <link href='/apple-touch-icon-152x152.png' rel='apple-touch-icon' sizes='152x152'> <link href='/apple-touch-icon-180x180.png' rel='apple-touch-icon' sizes='180x180'> <link href='/android-chrome-192x192.png' rel='icon' sizes='192x192' type='image/png'> <link href='/site.webmanifest' rel='manifest'> <link color='#ffffff' href='/safari-pinned-tab.svg' rel='mask-icon'> <link href='/favicon-32x32.png' rel='icon' sizes='32x32' type='image/png'> <link href='/favicon-16x16.png' rel='icon' sizes='16x16' type='image/png'> <link href='/favicon.ico' rel='shortcut icon'> <title>Trailhead | The fun way to learn</title> <meta name="description" content="Everyone can learn Salesforce. Whether you are an admin, user, or developer, there is a trail for you."> <meta name="twitter:card" content="summary"> <meta name="twitter:site" content="@trailhead"> <meta property="fb:app_id" content="140586622674265"> <meta property="og:site_name" content="Trailhead"> <meta property="og:description" content="Everyone can learn Salesforce. Whether you are an admin, user, or developer, there is a trail for you."> <meta property="og:image" content="https://trailhead.salesforce.com/assets/trailhead-og-flogo-9ac90ab0d1b86ea359e1f7b60f6081fa56f0e7d8b61abfffbf572fac2f5ace5a.png"> <meta property="og:image:url" content="https://trailhead.salesforce.com/assets/trailhead-og-flogo-9ac90ab0d1b86ea359e1f7b60f6081fa56f0e7d8b61abfffbf572fac2f5ace5a.png"> <meta property="og:image:height" content="250"> <meta property="og:image:width" content="250"> <meta property="og:type" content="website"> <meta property="og:url" content="https://trailhead.salesforce.com/"> <meta name="url" content="https://trailhead.salesforce.com/"> <meta name="csrf-param" content="authenticity_token" /> <meta name="csrf-token" content="FbomrEaANtmrTB2i_IPr4prLF8aiPK5ZRW3vr41A2FEjUboW4kQyKxI2Pxk5nqNk2OECJclufCSuOv8_27C9ng" /> <meta name="apple-itunes-app" content="app-id=1478801670"></meta> <meta name="slack-app-id" content="A02CBL2KKDE"></meta> <link rel="stylesheet" href="/assets/digital_header-763679351ac504f162674ef0f3ed4ecd88569f0ea287e7a012ece01462413bda.css" media="screen" /> <link rel="preload" as="style" href="/static/vendor/pbc/style.css"> <link rel="stylesheet" href="/static/vendor/pbc/style.css" media="screen"> <link rel="preload" as="style" href="/assets/pbc-df2c77edd1df8c2a513227cda407bb7725563c082ca1e4060e39896e9a7ea3b2.css"> <link rel="stylesheet" href="/assets/pbc-df2c77edd1df8c2a513227cda407bb7725563c082ca1e4060e39896e9a7ea3b2.css" media="screen"> <script type='module'> import { set } from "https://ui.trailhead.com/components/v6.6.6/modules/trailhead-client-env.js"; import { setLocale } from "https://ui.trailhead.com/components/v6.6.6/modules/trailhead-client-locale.js"; set("DEBUG", false); setLocale("en"); </script> <script type='module'> import { set } from "https://ui.trailhead.com/components/v6.6.6/modules/trailhead-client-env.js"; set("API_HOST", "https://trailhead.salesforce.com"); </script> <script type='module'> import { set } from "https://ui.trailhead.com/components/v6.6.6/modules/trailhead-client-env.js"; set("EXPERIENCE_API_HOST", "https://mobile.api.trailhead.com/graphql"); </script> <script type='module'> import { set } from "https://ui.trailhead.com/components/v6.6.6/modules/trailhead-client-env.js"; set("TBID_COMMUNITY_URL", "https://trailblazer.me"); </script> <script type='module'> import { set } from "https://ui.trailhead.com/components/v6.6.6/modules/trailhead-client-env.js"; set("TBID_PROFILE_URL", "https://www.salesforce.com/trailblazer/"); </script> <script id="sf_access_token_script"> try { window.localStorage.removeItem("sf_access_token"); } catch (e) { console.error('Error setting/removing access token:', e); } document.getElementById("sf_access_token_script").remove(); </script> <script src='/api/v1/ui/auth.js'></script> <script> window.thComponentsUrl = function(path) { return "https://ui.trailhead.com/components/v6.6.6" + path; } </script> <div id='https://ui.trailhead.com/lx-components/v1.13.19'></div> <link href='https://ui.trailhead.com/components/v6.6.6/css/tds.css' rel='stylesheet'> <link href='https://ui.trailhead.com/components/v6.6.6/css/tds-theme-provider.css' rel='stylesheet'> <script src='https://ui.trailhead.com/components/v6.6.6/modules/thexternal-collection.js' type='module'></script> <script src='https://ui.trailhead.com/components/v6.6.6/modules/th-alert.js' type='module'></script> <script src='https://ui.trailhead.com/components/v6.6.6/modules/th-footer.js' type='module'></script> <style> :root { --tds-z-index-tooltip: 90000; --tds-z-index-overlay: 29998; --tds-z-index-modal: 29999; } </style> <meta content='2e3ce4a3-c891-4cec-b71b-20477e3bf222' name='ua:temp_visitor_id'> <meta content='public_homepage_viewed' name='ua:event_name'> <meta content='{"lang":"en"}' name='ua:event_properties'> <script id="tbid_script"> try { window.localStorage.removeItem("tbid"); } catch (e) { console.error('Error setting/removing tbid:', e); } document.getElementById("tbid_script").remove(); </script> <style> * { margin: 0; padding: 0; } </style> </head> <body> <style> :root { --tds-z-index-toast: 90000; --tds-toaster-offset-top: 150px; } </style> <tds-toaster></tds-toaster> <script src="/packs/js/toaster-fa0548b8875f17f60642.js" defer="defer"></script> <script src="/packs/js/digital-nav-3e6b0fec04d1167a32f0.js"></script> <a class="skip-nav" href="#main">Skip to main content</a> <div id="global-nav-container"> </div> <script src="https://a.sfdcstatic.com/digital/xsf/components/v1-stable/navs.js" type="module"></script> <script src="/assets/digital_header-e886c8498fb58f554ada02cb6e441974f6a941ba88f0ba9d6368321298f321e3.js" async="async" data-property-name="trailhead" data-community-uri="https://trailblazer.me" data-community-api-url="https://community.api.trailhead.com" data-context-nav-config="{"ID":1,"newWindowAlt":"link opens in new window","isLogoEnabled":false,"variation":"static","propertyTitle":{"ID":2,"label":"Trailhead","url":"/"},"propertyLogo":{"ID":3,"alt":"Trailhead"},"menuGroup":{"ID":4,"menuItems":[{"ID":5,"link":{"ID":6,"label":"Home","url":"/"}},{"ID":7,"title":"Learn","submenu":[{"ID":8,"menuItems":[{"ID":9,"link":{"ID":10,"label":"Trails","url":"/trails"},"description":"Follow guided learning paths"},{"ID":11,"link":{"ID":12,"label":"Modules","url":"/modules"},"description":"Learn new skills in bite-sized units"},{"ID":13,"link":{"ID":14,"label":"Projects","url":"/projects"},"description":"Get hands-on with step-by-step instructions"},{"ID":15,"link":{"ID":16,"label":"Trailmixes","url":"/trailmixes"},"description":"Create and follow custom learning playlists"}],"eyebrowHeading":"Grow your Salesforce expertise","hasSeparator":true},{"ID":17,"menuItems":[{"link":{"label":"Become an Agentblazer","url":"/agentblazer"},"description":"Learn in-demand AI skills to build the future"},{"ID":18,"link":{"ID":19,"label":"Trailblazer Quests","url":"/quests"},"description":"Learn new skills and win fun prizes"},{"ID":20,"link":{"ID":21,"label":"Trailhead Mobile App","url":"/trailhead-go"},"description":"Skill up anytime, anywhere"},{"ID":22,"link":{"ID":23,"label":"Instructor-led Training","url":"https://trailheadacademy.salesforce.com/","target":"_blank"},"description":"Learn directly from experts"}],"eyebrowHeading":"Other learning tools","hasSeparator":true}]},{"ID":24,"title":"Community","submenu":[{"ID":25,"menuItems":[{"ID":26,"link":{"ID":27,"label":"Feed","url":"/trailblazer-community/feed"},"description":"Ask and answer questions to build your skills"},{"ID":28,"link":{"ID":29,"label":"Groups","url":"/trailblazer-community/groups"},"description":"Meet and collaborate with Trailblazers to grow your network"},{"ID":30,"link":{"ID":31,"label":"Topics","url":"/trailblazer-community/topics"},"description":"Discover featured and trending topics"},{"ID":32,"link":{"ID":33,"label":"Group Meetings","url":"/trailblazer-community/meetings","target":""},"description":"Join local community group meetings"},{"ID":34,"link":{"ID":35,"label":"360 Blog","url":"https://www.salesforce.com/blog/category/trailblazer/","target":"_blank"},"description":"Learn about new Salesforce innovations"}],"eyebrowHeading":"Connect with the Trailblazer Community"}]},{"ID":36,"title":"Career Growth","submenu":[{"ID":37,"menuItems":[{"ID":38,"link":{"ID":39,"label":"Trailblazer Career Marketplace","url":"/careers/overview"},"description":"Showcase your Salesforce expertise, connect with employers, and browse resources to grow your career"}],"eyebrowHeading":"Build your Salesforce career","hasSeparator":true},{"ID":40,"menuItems":[{"ID":41,"link":{"ID":42,"label":"Role-Based Career Paths","url":"/career-path"},"description":"Explore which career is right for you and learn role-based skills"}],"eyebrowHeading":"Career resources","hasSeparator":true}]},{"ID":43,"title":"Credentials","submenu":[{"ID":44,"menuItems":[{"ID":45,"link":{"ID":46,"label":"Certifications","url":"/credentials/administratoroverview"},"description":"Prove your product expertise with globally recognized credentials"},{"ID":47,"link":{"ID":48,"label":"Superbadges \u0026 Super Sets","url":"/superbadges"},"description":"Prove your skills with real world business challenges"}],"eyebrowHeading":"Earn resume-worthy credentials","hasSeparator":true},{"ID":49,"menuItems":[{"ID":50,"link":{"ID":51,"label":"Maintain Certifications","url":"/content/learn/trails/maintain-your-salesforce-certifications"},"description":"Annual renewal of your certifications"},{"ID":52,"link":{"ID":53,"label":"Verify Certifications","url":"/credentials/verification"},"description":"Confirm certification status"},{"ID":54,"link":{"ID":55,"label":"Certification-focused Trails","url":"/search/learning?sort=RELEVANCE\u0026tab=LEARNING\u0026intent=earn-a-certification"},"description":"Prepare for your certification"}],"eyebrowHeading":"Trailblazer resources"}]},{"ID":56,"title":"Help","submenu":[{"ID":57,"menuItems":[{"ID":58,"link":{"ID":59,"label":"Salesforce Help","url":"https://help.salesforce.com/services/auth/sso/trailheadlogincommunity?startURL=/s","target":"_blank"},"description":"Get help with Trailhead, Instructor-led Training, Certifications, Salesforce products, and more"},{"ID":60,"link":{"ID":61,"label":"My Cases","url":"https://help.salesforce.com/services/auth/sso/trailheadlogincommunity?startURL=/s/cases","target":"_blank"},"description":"Review and receive updates about submitted cases"},{"ID":62,"link":{"ID":63,"label":"Hands-On Challenge Help","url":"/trailblazer-community/topics/trailheadchallenges?sort=LAST_MODIFIED_DATE_DESC\u0026ref=nav"},"description":"Get guidance from experts in the Trailblazer Community"},{"ID":64,"link":{"ID":65,"label":"Trailhead Knowledge Articles","url":"/search/learning?sort=RELEVANCE\u0026tab=DOCUMENTATION\u0026object_type=trailhead_knowledge_articles"},"description":"Search knowledge articles and troubleshoot issues"}],"eyebrowHeading":"All support","hasSeparator":true},{"ID":66,"menuItems":[{"ID":67,"link":{"ID":68,"label":"IdeaExchange","url":"https://ideas.salesforce.com/","target":"_blank"},"description":"Share and vote on ideas for improving Salesforce products"},{"ID":69,"link":{"ID":70,"label":"Be A Trailblazer","url":"https://www.salesforce.com/company/be-a-trailblazer/?sfdc-redirect=387","target":"_blank"},"description":"Learn what it means to be a Trailblazer"}],"eyebrowHeading":"Trailblazer resources"}]}]},"utilityNavigation":{"ID":71,"ctamain":{"ID":72,"cta":{"ID":73,"label":"Sign Up","ariaLabel":"Sign Up","url":"/sessions/users/new?type=tbidsignup","variant":"primary","target":"_blank"},"inMobileHeader":false}}}" data-global-nav-config="{"id":"global-nav","hideContent":"false","origin":"https://wp.sfdcdigital.com/en-US/wp-json","tbidModuleOverride":"https://trailhead.salesforce.com/assets/iis-tbid-45ca03ad5930d87d209d07efe9321ed3e51325405a9b6e795e29e923ef4f08b0.js","contextNavEnabled":"true","contextMenuOverride":"true","search":"true","searchOrganizationId":"org62salesforce","searchAccessToken":"xx358122e7-f516-40e1-8467-8837d29c6998","searchPlaceholder":"Search Trailhead","searchSiteUrl":"https://trailhead.salesforce.com/search/learning?tab=LEARNING","searchSite":"th","searchHub":"TrailheadUnified","searchPipeline":"Trailhead","locale":"","searchWithQuickLinks":"false","searchLocale":"en","contactMenuOverride":"true","contactLinksOverride":"[{\"label\":\"Contact Sales\",\"url\":\"https://www.salesforce.com/company/contact-us/?d=cta-header-9\",\"target\":\"_self\"},{\"label\":\"Contact Support\",\"url\":\"https://help.salesforce.com/s/support\",\"target\":\"_self\"},{\"label\":\"Contact Trailhead\",\"url\":\"https://trailhead.salesforce.com/help?support=home\",\"target\":\"_self\"}]","loginTrailblazerLabel":"Trailhead","searchOriginLevelTwo":"null"}" data-subnav-present="false"></script> <script> window.Trailhead = window.Trailhead || {}; window.Trailhead.ContentService = window.Trailhead.ContentService || {}; window.Trailhead.ContentService.inPreview = false </script> <th-alert cookie-key='notifier_5e2d899f74667c63d220860ca8312f5c' variant='info'> Join us at TDX in San Francisco or on Salesforce+ on March 5-6 for the Developer Conference for the AI Agent Era. <a href='https://www.salesforce.com/tdx/?d=701ed00000CO4LKAA1' target='_blank' rel='noopener'>Register now</a>. </th-alert> <main id='main'> <section class="relative marquee--blade marquee--right-image"> <div class="container"> <article class="grid grid_main grid--threebytwo theme--light_gradient"> <div class="image__wrapper mobile-hidden"> <img loading="eager" src="/assets/unauth_homepage/hero@1280-d1fbb353a76d8dab8c1b96ef4e886ec3699f5da2602b7061164a60b9b9e71788.png" class="image__asset" alt="Learn to apply AI with Agentforce on Trailhead" sizes="100vw" srcset=" /assets/unauth_homepage/hero@1280-d1fbb353a76d8dab8c1b96ef4e886ec3699f5da2602b7061164a60b9b9e71788.png 1280w, /assets/unauth_homepage/hero@300-eeb0f75117662993ff29de5dea6bb799ceca6c218fba835fbd84cbba28ad5171.png 300w, /assets/unauth_homepage/hero@768-58559756be377865ff2e0af4100c0e45a5e4824ae117ec5a0b5fcf6968a28788.png 768w, /assets/unauth_homepage/hero@1024-2db9d4c38aac39319b9446769cdb24846333726ae61171ba77a040bc20040e76.png 1024w " height="340" width="510" /> </div> <div class="content__wrapper"> <header class="marquee__blade-heading eyebrow--standard"> <div class="eyebrow eyebrow-display-2"> <div class="eyebrow__image"> <img loading="lazy" src="/assets/trailhead-logo-no-text-a2df2574a49d32f9c6633a09d7bfabec743f88d43a76258cc185e709d3b917c4.svg" alt="Trailhead logo" sizes="100vw"> </div> </div> <h1 class="headline marquee__headline--standard"> Skill up for the <span style="color: #9050E9">Agentforce</span> era with Trailhead </h1> <div class="blade__description" style="font-size: 22px; line-height: 30px;"> <p>Learn in-demand skills for free to drive your company and career forward. Anyone can get hands-on experience building intuitive AI agents that handle everyday tasks, enhance the customer experience, and create business impact. Be an Agentblazer and transform how work gets done.</p> </div> </header> <div class="cta_container flex flex--right ctas__2"> <a class="cta_button" data-variant="primary" data-stacking="default" data-track-cta data-track-type="marquee_signup" data-track-label="marquee.primary_cta" data-track-location="unauth_home" href="/sessions/users/new?type=tbidsignup"> Sign Up </a> <a class="cta_button" data-variant="secondary" data-stacking="default" data-track-cta data-track-type="marquee_login" data-track-label="marquee.secondary_cta" data-track-location="unauth_home" href="/login"> Login </a> </div> </div> </article> </div> </section> <section class="relative productportfolio--blade layout-- productportfolio--product_category_group"> <div class="container background__present"> <div class="grid grid_main productportfolio productportfolio__ productportfolio__gridThree theme--light_gradient"> <header class="productportfolio__blade-heading text--center"> <h2 class="headline">Learn the skills companies need</h2> </header> <div class="single--category cards section--secondary"> <div class="cards-grid__wrapper"> <article class="card card__1 card__wrapper theme--light_gradient" data-module-type="card_productaddon" style="margin-left: 0px; margin-right: 0px;"> <div class="card--card_productaddon pbc-g-elevation-2 flex border-rad-16" > <div class="card__content__wrapper" style="border-top: #401075 solid 8px" > <div class="card__text__wrapper"> <div class="card__copy__wrapper"> <h3 class="card__headline" style="font-size: 24px; line-height: 32px;"> Experiential Learning </h3> <p class="card__description">Get hands-on experience with Salesforce products and AI agent technology to understand the functionality so you can work smarter.</p> </div> </div> </div> </div> </article> <article class="card card__1 card__wrapper theme--light_gradient" data-module-type="card_productaddon" style="margin-left: 0px; margin-right: 0px;"> <div class="card--card_productaddon pbc-g-elevation-2 flex border-rad-16" > <div class="card__content__wrapper" style="border-top: #401075 solid 8px" > <div class="card__text__wrapper"> <div class="card__copy__wrapper"> <h3 class="card__headline" style="font-size: 24px; line-height: 32px;"> Gamified Platform </h3> <p class="card__description">Get rewarded with points and badges when you learn new skills. Climb the Trailblazer Ranks to showcase your expertise.</p> </div> </div> </div> </div> </article> <article class="card card__1 card__wrapper theme--light_gradient" data-module-type="card_productaddon" style="margin-left: 0px; margin-right: 0px;"> <div class="card--card_productaddon pbc-g-elevation-2 flex border-rad-16" > <div class="card__content__wrapper" style="border-top: #401075 solid 8px" > <div class="card__text__wrapper"> <div class="card__copy__wrapper"> <h3 class="card__headline" style="font-size: 24px; line-height: 32px;"> Content for All Levels </h3> <p class="card__description">Whether you're brand new to Salesforce or a seasoned pro, Trailhead has learning across every role and level empowering you to keep pace with innovation and succeed.</p> </div> </div> </div> </div> </article> </div> </div> </div> </div> <div class="blade__background blade__background--partial-overlap" aria-hidden="true" > <div class="background__graphics background__graphics--overlap background__graphics--with-background-image" > <div class="blade__background-image"> <img loading="lazy" src="/assets/unauth_homepage/skills_bg-5d36f29dc4d92cdda9d22141558a3bfb374393f9afdd94518bfabbc6a66f75cf.png" class="background__image" alt="" sizes="100vw" srcset="" width="100%" /> </div> </div> <div class="background__padding--partial-overlap"></div> </div> </section> <section class="relative thmfe--blade thmfe--link_below layout--3 thmfe--"> <div class="container background__present"> <div class="grid grid_main thmfe thmfe__3 thmfe__gridThree theme--light_gradient" style="margin-bottom: 64px;" > <header class="thmfe__blade-heading text--center"> <h2 class="headline"> Discover how to build the future with Agentforce </h2> <div class="blade__description pbc-g-text-body-1-2 pbc-g-text-body-1-2-ul-checkmark-spacing" > Agentforce is what AI was meant to be. It goes beyond chatbots and copilots. Agentforce executes end-to-end tasks to scale work across all business functions, like resolving customer cases or qualifying sales leads. And companies need Agentblazers who can leverage the power of AI to make their visions a reality. With Trailhead, you can learn to build customizable autonomous agents and create a digital workforce across any role, any industry, or any use case. </div> </header> <div class="cards"> <div class="thcontent-blade-wrapper thcontent-wrapper_personalized-learning" > <article class="card card__wrapper theme--light_gradient"> <div id="learning-mfe-cards"></div> </article> </div> </div> <div class="thmfe_cta"> <div class="cta_container flex flex--center ctas__2"> <a class="cta_button" data-variant="primary" data-track-cta data-track-type="mfe_cta" data-track-label="learning_mfe.primary_cta" data-track-location="unauth_home" href="/search/learning?tab=LEARNING&keywords=agentforce" > Explore All Agentforce Learning </a> </div> </div> </div> </div> <div class="blade__background blade__background--partial-overlap" aria-hidden="true" > <div class="background__graphics background__graphics--overlap background__graphics--with-background-image" > <div class="blade__background-image"> <img loading="lazy" src="/assets/unauth_homepage/learning_mfe_bg-4e7996449266cce5977f4e59307422e747df8a21d3225bd928893b15b9d3ea15.png" class="background__image" alt="" sizes="100vw" srcset="" width="100%" aria-hidden="true" /> </div> </div> <div class="background__padding--partial-overlap"></div> </div> </section> <script> window.customElements.whenDefined('thexternal-collection').then(() => { const mfe = document.createElement('thexternal-collection'); mfe.variant = 'learning'; mfe.clientName = 'th-web'; mfe.config = { card: { layout: "grid", variant: "transparent" }, item: { hideAction: true, hideMetaLeft: true, hideMetaRight: true, variant: "tile", dynamicCta: true, } }; mfe.locale = "en"; mfe.items = [{"name":"introduction-to-agentforce","type":"MODULE"},{"name":"introduction-to-agent-builder","type":"MODULE"},{"name":"quick-start-build-your-first-agent-with-agentforce","type":"PROJECT"}]; mfe.trackingDisabled = true; // TODO: use global from OneTrust mfe.envApiHost = "https://mobile.api.trailhead.com/graphql"; document.getElementById('learning-mfe-cards').append(mfe); }); </script> <section class="relative nup--blade nup--link_above layout--3 nup--card_quote"> <div class="container background__present"> <div class="grid grid_main nup nup__3 nup__gridThree theme--light_gradient" style="margin-bottom: 64px;" > <header class="nup__blade-heading text--center"> <h2 class="headline"> Hear from fellow Trailblazers </h2> </header> <div class="cards cards--standard"> <article class="card card__1 card__wrapper theme--light_gradient" data-module-type="card_quote"> <div class="card--card_quote pbc-g-elevation-2 flex border-rad-16"> <div class="card_quote_align--left"> <div class="card__image__wrapper"> <img loading="lazy" src="/assets/unauth_homepage/aaron@1280-f8cc8f7678b5c61fe4fbe278aa23bf60d1c3f3fa5aa898fc1ec4166fc0c48b2f.png" class="card__image" alt="Photo of Aaron McGriff" sizes="100vw" srcset=" /assets/unauth_homepage/aaron@1280-f8cc8f7678b5c61fe4fbe278aa23bf60d1c3f3fa5aa898fc1ec4166fc0c48b2f.png 1280w, /assets/unauth_homepage/aaron@300-b3ef5bc0c948e5e0dcf7e964252e5401f46f70831a228e10ca5a7894da845352.png 300w, /assets/unauth_homepage/aaron@768-e76dd6d9ce34e2150f94dee854d00a38e7614f64a59d1d3792c8cf2a5a8f9e96.png 768w, /assets/unauth_homepage/aaron@1024-49b090399352d4e0659fa0ebe0c557e8f6440d0b84fe55a85ca00fc7a34f29a2.png 1024w " width="224" /> </div> <div class="card__content__wrapper"> <blockquote class="card__copy__wrapper"> <div class="card__quote-mark card__quote--us" aria-hidden="true" ></div> <h3 class="card__headline" style="color: #1E1E1E; font-size: 20px; line-height: 28px;"> Trailhead is my go-to resource for hands-on experience with Agentforce. I've learned the skills needed to improve efficiency and deliver better customer satisfaction with AI agents. </h3> <div class="tagline_wrapper" style="font-size: 16px; line-height: 24px; margin-bottom: 24px;"> <div class="name" style="font-size: inherit; line-height: inherit;">Aaron McGriff</div> <div class="role_company" style="font-size: inherit; line-height: inherit;">Sr. Administrator, IBM</div> </div> </blockquote> <div class="cta_container flex"> <a class="cta_button" data-size="" data-variant="cardText" data-stacking="wideM" data-track-cta data-track-type="trailblazers_card_0" data-track-label="trailblazers.card_link_text" data-track-location="unauth_home" href="https://www.salesforce.com/trailblazer-stories/aaron-mcgriff/" target="_blank" rel="noopener" > View Profile <svg width="18" height="18" viewBox="0 0 18 18" xmlns="http://www.w3.org/2000/svg" fill="currentColor" style="margin-left: 8px;" > <path fill-rule="evenodd" clip-rule="evenodd" d="M10.0977 2.16345H14.5237L6.8804 9.80671C6.69002 9.99709 6.69002 10.3058 6.8804 10.4961L7.34002 10.9558C7.5304 11.1461 7.83906 11.1461 8.02945 10.9558L15.6717 3.31348V7.73848C15.6717 8.00772 15.89 8.22598 16.1592 8.22598H16.8092C17.0785 8.22598 17.2967 8.00772 17.2967 7.73848V1.47595C17.2967 0.958186 16.877 0.538452 16.3592 0.538452H10.0977C9.82847 0.538452 9.61021 0.756713 9.61021 1.02595V1.67595C9.61021 1.94519 9.82847 2.16345 10.0977 2.16345ZM2.97559 4.03905C1.62939 4.03905 0.538086 5.13036 0.538086 6.47655V14.8516C0.538086 16.1977 1.62939 17.2891 2.97559 17.2891H11.3506C12.6968 17.2891 13.7881 16.1977 13.7881 14.8516L13.7881 8.88513C13.7881 8.59574 13.4383 8.45066 13.2335 8.65509L12.4493 9.43768C12.2661 9.62059 12.1631 9.86888 12.1631 10.1278V14.8516C12.1631 15.3003 11.7993 15.6641 11.3506 15.6641H2.97559C2.52686 15.6641 2.16309 15.3003 2.16309 14.8516V6.47655C2.16309 6.02782 2.52685 5.66405 2.97559 5.66405H7.79909C8.07127 5.66405 8.33106 5.55029 8.51564 5.35026L9.2223 4.58446C9.41442 4.37626 9.26675 4.03905 8.98345 4.03905H2.97559Z" ></path> </svg> </a> </div> </div> </div> </article> <article class="card card__1 card__wrapper theme--light_gradient" data-module-type="card_quote"> <div class="card--card_quote pbc-g-elevation-2 flex border-rad-16"> <div class="card_quote_align--left"> <div class="card__image__wrapper"> <img loading="lazy" src="/assets/unauth_homepage/zarina@1280-5450794a2709784445c45cfba0b06d5b617f125c914c1c88aecbdab1246bfe09.png" class="card__image" alt="Photo of Zarina Varley Scott" sizes="100vw" srcset=" /assets/unauth_homepage/zarina@1280-5450794a2709784445c45cfba0b06d5b617f125c914c1c88aecbdab1246bfe09.png 1280w, /assets/unauth_homepage/zarina@300-24bd0c3226fa72c05b458ff81ce99ceeed7cf7b526839a5df24df72146ec5385.png 300w, /assets/unauth_homepage/zarina@768-2ae1412807bd2d4b0739bb417e1e7940f6fec8a8cfba3f7c68c0b2fb2d8bb3d1.png 768w, /assets/unauth_homepage/zarina@1024-740e0b2773010762ce3e57493ee8826826eb3c4cf4458d91e0d79adc4f47ba17.png 1024w " width="224" /> </div> <div class="card__content__wrapper"> <blockquote class="card__copy__wrapper"> <div class="card__quote-mark card__quote--us" aria-hidden="true" ></div> <h3 class="card__headline" style="color: #1E1E1E; font-size: 20px; line-height: 28px;"> Through Trailhead, I gained a solid understanding of Agentforce, the ability to build my first agent, and the skills to deliver greater value to our customers. </h3> <div class="tagline_wrapper" style="font-size: 16px; line-height: 24px; margin-bottom: 24px;"> <div class="name" style="font-size: inherit; line-height: inherit;">Zarina Varley Scott</div> <div class="role_company" style="font-size: inherit; line-height: inherit;">Associate Salesforce Consultant, Brightmark</div> </div> </blockquote> <div class="cta_container flex"> <a class="cta_button" data-size="" data-variant="cardText" data-stacking="wideM" data-track-cta data-track-type="trailblazers_card_1" data-track-label="trailblazers.card_link_text" data-track-location="unauth_home" href="https://www.salesforce.com/trailblazer/zazamataz" target="_blank" rel="noopener" > View Profile <svg width="18" height="18" viewBox="0 0 18 18" xmlns="http://www.w3.org/2000/svg" fill="currentColor" style="margin-left: 8px;" > <path fill-rule="evenodd" clip-rule="evenodd" d="M10.0977 2.16345H14.5237L6.8804 9.80671C6.69002 9.99709 6.69002 10.3058 6.8804 10.4961L7.34002 10.9558C7.5304 11.1461 7.83906 11.1461 8.02945 10.9558L15.6717 3.31348V7.73848C15.6717 8.00772 15.89 8.22598 16.1592 8.22598H16.8092C17.0785 8.22598 17.2967 8.00772 17.2967 7.73848V1.47595C17.2967 0.958186 16.877 0.538452 16.3592 0.538452H10.0977C9.82847 0.538452 9.61021 0.756713 9.61021 1.02595V1.67595C9.61021 1.94519 9.82847 2.16345 10.0977 2.16345ZM2.97559 4.03905C1.62939 4.03905 0.538086 5.13036 0.538086 6.47655V14.8516C0.538086 16.1977 1.62939 17.2891 2.97559 17.2891H11.3506C12.6968 17.2891 13.7881 16.1977 13.7881 14.8516L13.7881 8.88513C13.7881 8.59574 13.4383 8.45066 13.2335 8.65509L12.4493 9.43768C12.2661 9.62059 12.1631 9.86888 12.1631 10.1278V14.8516C12.1631 15.3003 11.7993 15.6641 11.3506 15.6641H2.97559C2.52686 15.6641 2.16309 15.3003 2.16309 14.8516V6.47655C2.16309 6.02782 2.52685 5.66405 2.97559 5.66405H7.79909C8.07127 5.66405 8.33106 5.55029 8.51564 5.35026L9.2223 4.58446C9.41442 4.37626 9.26675 4.03905 8.98345 4.03905H2.97559Z" ></path> </svg> </a> </div> </div> </div> </article> <article class="card card__1 card__wrapper theme--light_gradient" data-module-type="card_quote"> <div class="card--card_quote pbc-g-elevation-2 flex border-rad-16"> <div class="card_quote_align--left"> <div class="card__image__wrapper"> <img loading="lazy" src="/assets/unauth_homepage/gaurav@1280-3f3def07e7df82218dd48298c5fd39246530fd0bb260633758bcb19f7d49f41f.png" class="card__image" alt="Photo of Gaurav Kheterpal" sizes="100vw" srcset=" /assets/unauth_homepage/gaurav@1280-3f3def07e7df82218dd48298c5fd39246530fd0bb260633758bcb19f7d49f41f.png 1280w, /assets/unauth_homepage/gaurav@300-a284793834a78e823d26da52fd76b55baad21a236edd734c8dcd2a02555c6cbe.png 300w, /assets/unauth_homepage/gaurav@768-70ee5eefbfc779b04ef65b81003fd198cbcc96c66bb96321f6094e1ea776c98c.png 768w, /assets/unauth_homepage/gaurav@1024-fc3a45e52bd3aac0be8073d9b519c9d0bac2c5961de991eeb0cf09e3d954702e.png 1024w " width="224" /> </div> <div class="card__content__wrapper"> <blockquote class="card__copy__wrapper"> <div class="card__quote-mark card__quote--us" aria-hidden="true" ></div> <h3 class="card__headline" style="color: #1E1E1E; font-size: 20px; line-height: 28px;"> Becoming Salesforce certified has transformed my career. And with additional certifications, I now hold the knowledge to leverage AI technology, including how to handle AI and data ethically. </h3> <div class="tagline_wrapper" style="font-size: 16px; line-height: 24px; margin-bottom: 24px;"> <div class="name" style="font-size: inherit; line-height: inherit;">Gaurav Kheterpal</div> <div class="role_company" style="font-size: inherit; line-height: inherit;">Founder & CEO, Vanshiv Technologies</div> </div> </blockquote> <div class="cta_container flex"> <a class="cta_button" data-size="" data-variant="cardText" data-stacking="wideM" data-track-cta data-track-type="trailblazers_card_2" data-track-label="trailblazers.card_link_text" data-track-location="unauth_home" href="https://www.salesforce.com/trailblazer/gauravkheterpal" target="_blank" rel="noopener" > View Profile <svg width="18" height="18" viewBox="0 0 18 18" xmlns="http://www.w3.org/2000/svg" fill="currentColor" style="margin-left: 8px;" > <path fill-rule="evenodd" clip-rule="evenodd" d="M10.0977 2.16345H14.5237L6.8804 9.80671C6.69002 9.99709 6.69002 10.3058 6.8804 10.4961L7.34002 10.9558C7.5304 11.1461 7.83906 11.1461 8.02945 10.9558L15.6717 3.31348V7.73848C15.6717 8.00772 15.89 8.22598 16.1592 8.22598H16.8092C17.0785 8.22598 17.2967 8.00772 17.2967 7.73848V1.47595C17.2967 0.958186 16.877 0.538452 16.3592 0.538452H10.0977C9.82847 0.538452 9.61021 0.756713 9.61021 1.02595V1.67595C9.61021 1.94519 9.82847 2.16345 10.0977 2.16345ZM2.97559 4.03905C1.62939 4.03905 0.538086 5.13036 0.538086 6.47655V14.8516C0.538086 16.1977 1.62939 17.2891 2.97559 17.2891H11.3506C12.6968 17.2891 13.7881 16.1977 13.7881 14.8516L13.7881 8.88513C13.7881 8.59574 13.4383 8.45066 13.2335 8.65509L12.4493 9.43768C12.2661 9.62059 12.1631 9.86888 12.1631 10.1278V14.8516C12.1631 15.3003 11.7993 15.6641 11.3506 15.6641H2.97559C2.52686 15.6641 2.16309 15.3003 2.16309 14.8516V6.47655C2.16309 6.02782 2.52685 5.66405 2.97559 5.66405H7.79909C8.07127 5.66405 8.33106 5.55029 8.51564 5.35026L9.2223 4.58446C9.41442 4.37626 9.26675 4.03905 8.98345 4.03905H2.97559Z" ></path> </svg> </a> </div> </div> </div> </article> </div> </div> </div> <div class="blade__background blade__background--partial-overlap" aria-hidden="true" > <div class="background__graphics background__graphics--overlap background__graphics--with-background-image" > <div class="blade__background-image"> <img loading="lazy" src="/assets/unauth_homepage/trailblazers_bg-e5335b0d90ccf1ae7b1722fd09fe833158337ffc4bdf676b4aab40da6daaa743.png" class="background__image" alt="" sizes="100vw" srcset="" width="100%" aria-hidden="true" /> </div> </div> <div class="background__padding--partial-overlap"></div> </div> </div> </section> <section class="relative oneup--blade oneup--right-image"> <div class="container pb-64 mobile-pb-48 pt-64 mobile-pt-48"> <article class="grid grid_main grid--onebyone"> <div class="image__wrapper mobile-hidden"> <img loading="lazy" src="/assets/unauth_homepage/interactive_content@1280-1b3178b5a77508e927d210ec731bd94dba177e5b24817516e3ed94186e720971.png" class="image__asset" alt="Recommended in-demand learning" sizes="100vw" srcset=" /assets/unauth_homepage/interactive_content@1280-1b3178b5a77508e927d210ec731bd94dba177e5b24817516e3ed94186e720971.png 1280w, /assets/unauth_homepage/interactive_content@300-c07d3e6754027f7a88e666f7a3f957b52cb1f385c737981bcbae7c38b6229ccf.png 300w, /assets/unauth_homepage/interactive_content@768-07751d811c9b52085d6966222cb979ca81e8bfc81bd4e9235ac851db2616f26d.png 768w, /assets/unauth_homepage/interactive_content@1024-51d9d082e6950e4421543c86334ace520a8644412837060b42d9506ebdfad169.png 1024w " height="340" width="510" /> </div> <div class="content__wrapper"> <div class="content__container"> <header class="oneup__blade-heading"> <h2 class="headline"> Learn with interactive content </h2> <div class="blade__description"> <p>Build the in-demand Agentforce, data, and CRM skills that empower you to achieve more with less. Create your own learning journey with AI-powered recommendations and guided pathways on Trailhead. Grow your expertise with bite-sized modules, hands-on practice, and real-world scenarios.</p> </div> </header> <div class="cta_container flex flex--right ctas__2"> <a class="cta_button" data-variant="primary" data-stacking="default" data-track-cta data-track-type="interactive_content_cta" data-track-label="interactive_content.primary_cta" data-track-location="unauth_home" href="/modules"> Start Learning </a> </div> </div> </div> </article> </div> </section> <section class="relative oneup--blade oneup--left-image"> <div class="container pb-64 mobile-pb-48 pt-64 mobile-pt-48"> <article class="grid grid_main grid--onebyone"> <div class="image__wrapper mobile-hidden" style="align-items: start"> <img loading="lazy" src="/assets/unauth_homepage/connect@1280-4cdc67476013c81e7b09f97ae22f4d274f6162ca3b99665c5dea47af366da6fb.png" class="image__asset" alt="Connect with the Trailblazer Community" sizes="100vw" srcset=" /assets/unauth_homepage/connect@1280-4cdc67476013c81e7b09f97ae22f4d274f6162ca3b99665c5dea47af366da6fb.png 1280w, /assets/unauth_homepage/connect@300-a7c7ac9d0e002effb346c8c2522fd57cf32c27249e94d2c528e955123191060e.png 300w, /assets/unauth_homepage/connect@768-461fe1571e7b7e28c26b44bd59a97d2dcb9b59ea686b44d55e32f983ef9907b4.png 768w, /assets/unauth_homepage/connect@1024-400c2cdf908cdce79e2afd21651b6a36e06a013dc7bc820b386c3a8c38a451f7.png 1024w " height="340" width="510" /> </div> <div class="content__wrapper"> <div class="content__container"> <header class="oneup__blade-heading"> <h2 class="headline"> Connect with Trailblazers </h2> <div class="blade__description"> Tap into an amazing network of millions who help each other learn and succeed with the global Trailblazer Community. Share knowledge, ask questions, and solve problems with the help of Salesforce customers, partners, employees, and product specialists. From Agentblazers to Datablazers and beyond, there鈥檚 a community for you. </div> </header> <div class="cta_container flex flex--left ctas__2"> <a class="cta_button" data-variant="primary" data-stacking="default" data-track-cta data-track-type="connect_cta" data-track-label="connect.primary_cta" data-track-location="unauth_home" href="https://trailhead.salesforce.com/auth/tbidlogin?state=%2Ftrailblazer-community%2Ffeed"> Join the Community </a> </div> </div> </div> </article> </div> </section> <section class="relative oneup--blade oneup--right-image"> <div class="container pb-64 mobile-pb-48 pt-64 mobile-pt-48"> <article class="grid grid_main grid--onebyone"> <div class="image__wrapper mobile-hidden" style="align-items: start"> <img loading="lazy" src="/assets/unauth_homepage/certifications@1280-1fea26bf2586473104e11576125d75fe41bebd9ebc6a3cacaf2dd42bb763ebc4.png" class="image__asset" alt="Get the AI Specialist certification" sizes="100vw" srcset=" /assets/unauth_homepage/certifications@1280-1fea26bf2586473104e11576125d75fe41bebd9ebc6a3cacaf2dd42bb763ebc4.png 1280w, /assets/unauth_homepage/certifications@300-bc6807f10c35e3b7f7d36b621fa5ee9145e6c0d1cb77c46693907dd2b994721a.png 300w, /assets/unauth_homepage/certifications@768-95050d50bf9219465a6cdf91d6eefb09b57b016a355c9873807591fcfca644cb.png 768w, /assets/unauth_homepage/certifications@1024-8e21a251deb2ff3a589da130b55c61a26822345a7090db79058593429c1024fe.png 1024w " height="340" width="510" /> </div> <div class="content__wrapper"> <div class="content__container"> <header class="oneup__blade-heading"> <h2 class="headline"> Earn globally-recognized certifications </h2> <div class="blade__description"> Validate your knowledge, highlight your skills, and prove your hands-on expertise with 60+ Salesforce Certifications. Earn certifications to grow your resume and open the door to new possibilities. </div> </header> <div class="cta_container flex flex--right ctas__2"> <a class="cta_button" data-variant="primary" data-stacking="default" data-track-cta data-track-type="certifications_cta" data-track-label="certifications.primary_cta" data-track-location="unauth_home" href="/credentials/administratoroverview"> Explore Certifications </a> </div> </div> </div> </article> </div> </section> <section class="relative oneup--blade oneup--left-image"> <div class="container pb-64 mobile-pb-48 pt-64 mobile-pt-48"> <article class="grid grid_main grid--sixteenbynine"> <div class="image__wrapper mobile-hidden" style="align-items: start"> <img loading="lazy" src="/assets/unauth_homepage/trailhead_go@1280-028a22b7bdf71a8ae85f3d1eff622956db1c28ab057e9deaacea15c4130f81e7.png" class="image__asset" alt="Learn about AI with Trailhead on your mobile device" sizes="100vw" srcset=" /assets/unauth_homepage/trailhead_go@1280-028a22b7bdf71a8ae85f3d1eff622956db1c28ab057e9deaacea15c4130f81e7.png 1280w, /assets/unauth_homepage/trailhead_go@300-49208290a79f14c02816f37b91b6e98b90279412f38a386ea7b228e77afd9d55.png 300w, /assets/unauth_homepage/trailhead_go@768-e208ba8496637b61f9ed828369bc2b0368888d31fe7f225e467defc444948f9c.png 768w, /assets/unauth_homepage/trailhead_go@1024-04d4a7f27ad8dec195dc0937e7d731c0209f5907490d47a240ead0fd871caf2a.png 1024w " height="340" width="510" /> </div> <div class="content__wrapper"> <div class="content__container"> <header class="oneup__blade-heading"> <h2 class="headline"> Trailhead GO </h2> <div class="blade__description"> Learn new skills and connect with Trailblazers from anywhere. Download the Trailhead GO mobile app for iOS or Android today. </div> </header> <div class="cta_container flex flex--left ctas__2"> <a class="cta_button" data-variant="primary" data-stacking="default" data-track-cta data-track-type="trailhead_go_cta" data-track-label="trailhead_go.primary_cta" data-track-location="unauth_home" href="/trailhead-go"> Download Now </a> </div> </div> </div> </article> </div> </section> <script src="/packs/js/cta-listener-04b3335074c4fe52139b.js" type="module"></script> </main> <th-footer api-path="/api/v1/ui/footer.js" locale=""></th-footer> <script> if (typeof dataLayer === 'undefined') { dataLayer = []; } </script> <noscript> <iframe height='0' src='//www.googletagmanager.com/ns.html?id=GTM-KJPMZK' style='display:none;visibility:hidden' width='0'></iframe> </noscript> <script type="text/plain" class="optanon-category-1" charset="UTF-8">(function(w,d,s,l,i){w[l]=w[l]||[];w[l].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= '//www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-KJPMZK'); </script> <script> (function(global) { if(!global.Trailhead) { global.Trailhead = {}; } global.Trailhead.gtmDebugging = false; })(window); </script> <script src="/assets/metrics/interaction_tracking-855ada6c1cb4b23a59e6f2b594bd51edf698d582656ea18eb52c1f57c75f2152.js"></script> <script type='module'> import { setTbidUserInfoResolver } from "https://www.salesforce.com/c/public/app/mjs/identity.js"; setTbidUserInfoResolver( async () => { const tbid = window.localStorage.getItem('tbid'); return { id: tbid }; }); </script> <div id='interaction-studio-placeholder'></div> <script type="text/plain" class="optanon-category-4" charset="UTF-8">let addInteractionStudioBeacon = () => { let isTagSrc = "//cdn.evgnet.com/beacon/salesforce/sf_shared_prod/scripts/evergage.min.js"; let isPlaceholder = document.getElementById("interaction-studio-placeholder"); let isTag = document.createElement("script"); isTag.setAttribute("src", isTagSrc); isTag.setAttribute("defer", true); isPlaceholder.replaceWith(isTag); } let checkIfGaLoaded = () => { return new Promise((resolve, reject) => { let timeStart = Date.now(); const TIMEOUT = 5000; let _isLoaded = function() { if (Date.now() - timeStart > TIMEOUT) { reject('Timeout. Google analytics expected but not loaded'); return; } if (window.ga && ga.create) { resolve(); return; } else { setTimeout(_isLoaded, 500); } }; _isLoaded(); }); } checkIfGaLoaded().then(addInteractionStudioBeacon, console.error); </script> <script src="/packs/js/handleLocaleChange-2853d964cb835a68ec22.js"></script> <script src="/packs/js/ua-tracking-c2774f574c348ba01e3c.js"></script> <script src="/packs/js/mobile-a11y-c2f696713eee6ec33da1.js"></script> </body> </html>