CINXE.COM

Medical Students

<!DOCTYPE html> <html lang="en"> <head> <style> html { visibility: hidden; opacity: 0; } </style> <link rel="shortcut icon" href="/Images/Favicon/AAP-Favicon-4_Black.png" type="image/x-icon"> <meta name="viewport" content="width=device-width" /> <meta http-equiv="X-UA-Compatible" content="IE=11;IE=Edge,chrome=1" /> <meta name="referrer" content="always" /> <meta property="og:title" content="Medical Students" /> <meta property="og:type" content="website" /> <meta property="og:url" content="https://www.aap.org/en/career-resources/medical-students/" /> <meta property="og:image" content="" /> <meta property="og:description" /> <meta name="twitter:card" content="summary" /> <meta name="twitter:title" content="Medical Students" /> <meta name="twitter:description" /> <meta name="twitter:image" content="" /> <meta name="robots" /> <meta name="description" content="Medical school is an exciting and challenging step towards becoming a physician. Here are some helpful resources from the AAP that can help guide you." /> <meta name="keywords" content="pediatric medical students, pediatric interest groups, pediatric research, pediatric research during medical school, pediatric clerkship, pediatric residency, pediatric residency interview, resources for pediatric medical students" /> <meta name="publish_date" content="2021-01-07"> <meta name="publish_image" content="https://www.aap.org/globalassets/aap-img-placeholder.png"> <meta name="vertex_keywords" content="pediatric medical students, pediatric interest groups, pediatric research, pediatric research during medical school, pediatric clerkship, pediatric residency, pediatric residency interview, resources for pediatric medical students"> <title>Medical Students</title> <!-- CookiePro Cookies Consent Notice start for www.aap.org --> <script src="https://cookie-cdn.cookiepro.com/scripttemplates/otSDKStub.js" type="text/javascript" charset="UTF-8" data-domain-script="3e68ef05-4f6d-4004-898a-78b94ce0823e" ></script> <script type="text/javascript"> function OptanonWrapper() { } </script> <!-- CookiePro Cookies Consent Notice end for www.aap.org --> <!-- Google Tag Manager --> <script> (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= 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window, document, 'script', 'dataLayer', 'GTM-N2RV28J'); </script> <!-- End Google Tag Manager --> <script async src="https://securepubads.g.doubleclick.net/tag/js/gpt.js"></script> <script> var googletag = googletag || {}; googletag.cmd = googletag.cmd || []; </script> <script type='text/javascript'> googletag.cmd.push(function() { var AAPorg = googletag.sizeMapping(). addSize([730, 0], [728, 90]) //desktop .build(); var gptAdSlots = []; gptAdSlots[0] =googletag.defineSlot('/22410314033/aap_leadert', [728, 90], 'div-gpt-ad-1633540336787-0').defineSizeMapping(AAPorg).addService(googletag.pubads()); googletag.pubads().enableSingleRequest(); googletag.pubads().collapseEmptyDivs(); googletag.enableServices(); }); </script> <!-- Donate Widget Script --> <script>(function(w,d,s,n,a){if(!w[n]){var l='call,catch,on,once,set,then,track'.split(','),i,o=function(n){return'function'==typeof n?o.l.push([arguments])&&o:function(){return o.l.push([n,arguments])&&o}},t=d.getElementsByTagName(s)[0],j=d.createElement(s);j.async=!0;j.src='https://cdn.fundraiseup.com/widget/'+a; t.parentNode.insertBefore(j,t);o.s=Date.now();o.v=4;o.h=w.location.href;o.l=[];for(i=0;i<7;i++)o[l[i]]=o(l[i]);w[n]=o}})(window,document,'script','FundraiseUp','ADAHKUXY');</script> <!-- End Donate Widget Script --> <!-- Magnet Mail --> <script type="text/javascript" src="https://tracking.magnetmail.net/MagnetLeads.js"> </script> <script type="text/javascript"> com.realmagnet.MagnetLeads.init('hXdIOUQOZEy77inoSnCQWg'); com.realmagnet.MagnetLeads.visitPage(); </script> <!-- share this script --> <script type='text/javascript' src='https://platform-api.sharethis.com/js/sharethis.js#property=6480b01ae58f550012ea9faa&product=sop' async='async'></script> <!--New Relic --> <script type = "text/javascript" > ; window.NREUM || (NREUM = {}); NREUM.init = { distributed_tracing: { enabled: true }, privacy: { cookies_enabled: true } }; ; NREUM.loader_config = { accountID: "1613493", trustKey: "1613493", agentID: "342119000", licenseKey: "0c3b4b61ad", applicationID: "342118967" };; NREUM.info = { beacon: "bam.nr-data.net", errorBeacon: "bam.nr-data.net", licenseKey: "0c3b4b61ad", applicationID: "342118967", sa: 1 };; /*! For license information please see nr-loader-spa-1.246.0.min.js.LICENSE.txt */ (() => { "use strict"; var e, t, r = { 234: (e, t, r) => { r.d(t, { P_: () => g, Mt: () => v, C5: () => s, DL: () => A, OP: () => D, lF: () => N, Yu: () => x, Dg: () => m, CX: () => c, GE: () => w, sU: () => j }); var n = r(8632), i = r(9567); const o = { beacon: n.ce.beacon, errorBeacon: n.ce.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) { 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 c(e, t) { if (!e) throw new Error("All info objects require an agent identifier!"); a[e] = (0, i.D)(t, o), (0, n.Qy)(e, a[e], "info") } const u = e => { if (!e || "string" != typeof e) return !1; try { document.createDocumentFragment().querySelector(e) } catch { return !1 } return !0 }; var d = r(7056), l = r(50); const f = () => { const e = { mask_selector: "*", block_selector: "[data-nr-block]", mask_input_options: { color: !1, date: !1, "datetime-local": !1, email: !1, month: !1, number: !1, range: !1, search: !1, tel: !1, text: !1, time: !1, url: !1, week: !1, textarea: !1, select: !1, password: !0 } }; return { feature_flags: [], proxy: { assets: void 0, beacon: void 0 }, privacy: { cookies_enabled: !0 }, ajax: { deny_list: void 0, block_internal: !0, enabled: !0, harvestTimeSeconds: 10, autoStart: !0 }, distributed_tracing: { enabled: void 0, exclude_newrelic_header: void 0, cors_use_newrelic_header: void 0, cors_use_tracecontext_headers: void 0, allowed_origins: void 0 }, session: { domain: void 0, expiresMs: d.oD, inactiveMs: d.Hb }, ssl: void 0, obfuscate: void 0, jserrors: { enabled: !0, harvestTimeSeconds: 10, autoStart: !0 }, metrics: { enabled: !0, autoStart: !0 }, page_action: { enabled: !0, harvestTimeSeconds: 30, autoStart: !0 }, page_view_event: { enabled: !0, autoStart: !0 }, page_view_timing: { enabled: !0, harvestTimeSeconds: 30, long_task: !1, autoStart: !0 }, session_trace: { enabled: !0, harvestTimeSeconds: 10, autoStart: !0 }, harvest: { tooManyRequestsDelay: 60 }, session_replay: { autoStart: !0, enabled: !1, harvestTimeSeconds: 60, sampling_rate: 50, error_sampling_rate: 50, collect_fonts: !1, inline_images: !1, inline_stylesheet: !0, mask_all_inputs: !0, get mask_text_selector() { return e.mask_selector }, set mask_text_selector(t) { u(t) ? e.mask_selector = t + ",[data-nr-mask]" : null === t ? e.mask_selector = t : (0, l.Z)("An invalid session_replay.mask_selector was provided and will not be used", 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) { u(t) ? e.block_selector += ",".concat(t) : "" !== t && (0, l.Z)("An invalid session_replay.block_selector was provided and will not be used", 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, l.Z)("An invalid session_replay.mask_input_option was provided and will not be used", t) } }, spa: { enabled: !0, harvestTimeSeconds: 10, autoStart: !0 } } }, h = {}, p = "All configuration objects require an agent identifier!"; function g(e) { if (!e) throw new Error(p); if (!h[e]) throw new Error("Configuration for ".concat(e, " was never set")); return h[e] } function m(e, t) { if (!e) throw new Error(p); h[e] = (0, i.D)(t, f()), (0, n.Qy)(e, h[e], "config") } function v(e, t) { if (!e) throw new Error(p); var r = g(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 } const b = { accountID: void 0, trustKey: void 0, agentID: void 0, licenseKey: void 0, applicationID: void 0, xpid: void 0 }, y = {}; function A(e) { if (!e) throw new Error("All loader-config objects require an agent identifier!"); if (!y[e]) throw new Error("LoaderConfig for ".concat(e, " was never set")); return y[e] } function w(e, t) { if (!e) throw new Error("All loader-config objects require an agent identifier!"); y[e] = (0, i.D)(t, b), (0, n.Qy)(e, y[e], "loader_config") } const x = (0, n.mF)().o; var E = r(385), _ = r(6818); const T = { buildEnv: _.Re, customTransaction: void 0, disabled: !1, distMethod: _.gF, isolatedBacklog: !1, loaderType: void 0, maxBytes: 3e4, offset: Math.floor(E._A?.performance?.timeOrigin || E._A?.performance?.timing?.navigationStart || Date.now()), onerror: void 0, origin: "" + E._A.location, ptid: void 0, releaseIds: {}, session: void 0, xhrWrappable: "function" == typeof E._A.XMLHttpRequest?.prototype?.addEventListener, version: _.q4, denyList: void 0 }, S = {}; function D(e) { if (!e) throw new Error("All runtime objects require an agent identifier!"); if (!S[e]) throw new Error("Runtime for ".concat(e, " was never set")); return S[e] } function j(e, t) { if (!e) throw new Error("All runtime objects require an agent identifier!"); S[e] = (0, i.D)(t, T), (0, n.Qy)(e, S[e], "runtime") } function N(e) { return function (e) { try { const t = s(e); return !!t.licenseKey && !!t.errorBeacon && !!t.applicationID } catch (e) { return !1 } }(e) } }, 9567: (e, t, r) => { r.d(t, { D: () => i }); var n = r(50); function i(e, t) { try { if (!e || "object" != typeof e) return (0, n.Z)("Setting a Configurable requires an object as input"); if (!t || "object" != typeof t) return (0, n.Z)("Setting a Configurable requires a model to set its initial properties"); 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 { 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.Z)("An error occurred while setting a property of a Configurable", e) } return r } catch (e) { (0, n.Z)("An error occured while setting a Configurable", e) } } }, 6818: (e, t, r) => { r.d(t, { Re: () => i, gF: () => o, lF: () => a, q4: () => n }); const n = "1.246.0", i = "PROD", o = "CDN", a = "2.0.0-alpha.11" }, 385: (e, t, r) => { r.d(t, { FN: () => s, IF: () => d, Nk: () => f, Tt: () => c, _A: () => o, cv: () => h, iS: () => a, il: () => n, ux: () => u, v6: () => i, w1: () => l }); const n = "undefined" != typeof window && !!window.document, i = "undefined" != typeof WorkerGlobalScope && ("undefined" != typeof self && self instanceof WorkerGlobalScope && self.navigator instanceof WorkerNavigator || "undefined" != typeof globalThis && globalThis instanceof WorkerGlobalScope && globalThis.navigator instanceof WorkerNavigator), o = n ? window : "undefined" != typeof WorkerGlobalScope && ("undefined" != typeof self && self instanceof WorkerGlobalScope && self || "undefined" != typeof globalThis && globalThis instanceof WorkerGlobalScope && globalThis), a = Boolean("hidden" === o?.document?.visibilityState), s = "" + o?.location, c = /iPad|iPhone|iPod/.test(o.navigator?.userAgent), u = c && "undefined" == typeof SharedWorker, d = (() => { const e = o.navigator?.userAgent?.match(/Firefox[/\s](\d+\.\d+)/); return Array.isArray(e) && e.length >= 2 ? +e[1] : 0 })(), l = Boolean(n && window.document.documentMode), f = !!o.navigator?.sendBeacon, h = Math.floor(o?.performance?.timeOrigin || o?.performance?.timing?.navigationStart || Date.now()) }, 1117: (e, t, r) => { r.d(t, { w: () => o }); var n = r(50); const i = { agentIdentifier: "", ee: void 0 }; class o { constructor(e) { try { if ("object" != typeof e) return (0, n.Z)("shared context requires an object as input"); this.sharedContext = {}, Object.assign(this.sharedContext, i), Object.entries(e).forEach((e => { let [t, r] = e; Object.keys(i).includes(t) && (this.sharedContext[t] = r) })) } catch (e) { (0, n.Z)("An error occured while setting SharedContext", e) } } } }, 8e3: (e, t, r) => { r.d(t, { L: () => d, R: () => c }); var n = r(8325), i = r(1284), o = r(4322), a = r(3325); const s = {}; function c(e, t) { const r = { staged: !1, priority: a.p[t] || 0 }; u(e), s[e].get(t) || s[e].set(t, r) } function u(e) { e && (s[e] || (s[e] = new Map)) } function d() { let e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : "", t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : "feature"; if (u(e), !e || !s[e].get(t)) return a(t); s[e].get(t).staged = !0; const r = [...s[e]]; function a(t) { const r = e ? n.ee.get(e) : n.ee, a = o.X.handlers; if (r.backlog && a) { var s = r.backlog[t], c = a[t]; if (c) { for (var u = 0; s && u < s.length; ++u) l(s[u], c); (0, i.D)(c, (function (e, t) { (0, i.D)(t, (function (t, r) { r[0].on(e, r[1]) })) })) } delete a[t], r.backlog[t] = null, r.emit("drain-" + t, []) } } r.every((e => { let [t, r] = e; return r.staged })) && (r.sort(((e, t) => e[1].priority - t[1].priority)), r.forEach((t => { let [r] = t; s[e].delete(r), a(r) }))) } function l(e, t) { var r = e[1]; (0, i.D)(t[r], (function (t, r) { var n = e[0]; if (r[0] === n) { var i = r[1], o = e[3], a = e[2]; i.apply(o, a) } })) } }, 8325: (e, t, r) => { r.d(t, { A: () => c, ee: () => u }); var n = r(8632), i = r(2210), o = r(234); class a { constructor(e) { this.contextId = e } } var s = r(3117); const c = "nr@context:".concat(s.a), u = function e(t, r) { var n = {}, s = {}, d = {}, f = !1; try { f = 16 === r.length && (0, o.OP)(r).isolatedBacklog } catch (e) {} var h = { on: g, addEventListener: g, 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 = p(n), c = m(e), d = c.length, l = 0; l < d; l++) c[l].apply(a, r); var f = b()[s[e]]; f && f.push([h, e, r, a]); return a }, get: v, listeners: m, context: p, buffer: function (e, t) { const r = b(); if (t = t || "feature", h.aborted) return; Object.entries(e || {}).forEach((e => { let [n, i] = e; s[i] = t, t in r || (r[t] = []) })) }, abort: l, aborted: !1, isBuffering: function (e) { return !!b()[s[e]] }, debugId: r, backlog: f ? {} : t && "object" == typeof t.backlog ? t.backlog : {} }; return h; function p(e) { return e && e instanceof a ? e : e ? (0, i.X)(e, c, (() => new a(c))) : new a(c) } function g(e, t) { n[e] = m(e).concat(t) } function m(e) { return n[e] || [] } function v(t) { return d[t] = d[t] || e(h, t) } function b() { return h.backlog } }(void 0, "globalEE"), d = (0, n.fP)(); function l() { u.aborted = !0, u.backlog = {} } d.ee || (d.ee = u) }, 5546: (e, t, r) => { r.d(t, { E: () => n, p: () => i }); var n = r(8325).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)) } }, 4322: (e, t, r) => { r.d(t, { X: () => o }); var n = r(5546); o.on = a; var i = o.handlers = {}; function o(e, t, r, o) { a(o || n.E, i, e, t, r) } function a(e, t, r, i, o) { o || (o = "feature"), e || (e = n.E); var a = t[o] = t[o] || {}; (a[r] = a[r] || []).push([e, i]) } }, 3239: (e, t, r) => { r.d(t, { bP: () => s, iz: () => c, m$: () => a }); var n = r(385); let i = !1, o = !1; try { const e = { get passive() { return i = !0, !1 }, get signal() { return o = !0, !1 } }; n._A.addEventListener("test", null, e), n._A.removeEventListener("test", null, e) } catch (e) {} function a(e, t) { return i || o ? { capture: !!e, passive: i, signal: t } : !!e } function s(e, t) { let r = arguments.length > 2 && void 0 !== arguments[2] && arguments[2], n = arguments.length > 3 ? arguments[3] : void 0; window.addEventListener(e, t, a(r, n)) } function c(e, t) { let r = arguments.length > 2 && void 0 !== arguments[2] && arguments[2], n = arguments.length > 3 ? arguments[3] : void 0; document.addEventListener(e, t, a(r, n)) } }, 3117: (e, t, r) => { r.d(t, { a: () => n }); const n = (0, r(4402).Rl)() }, 4402: (e, t, r) => { r.d(t, { Ht: () => u, M: () => c, Rl: () => a, ky: () => s }); var n = r(385); 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._A?.crypto || n._A?.msCrypto; let t, r = 0; return e && e.getRandomValues && (t = e.getRandomValues(new Uint8Array(31))), 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._A?.crypto || n._A?.msCrypto; let r, i = 0; t && t.getRandomValues && (r = t.getRandomValues(new Uint8Array(31))); 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) } }, 7056: (e, t, r) => { r.d(t, { Bq: () => n, Hb: () => o, oD: () => i }); const n = "NRBA", i = 144e5, o = 18e5 }, 7894: (e, t, r) => { function n() { return Math.round(performance.now()) } r.d(t, { z: () => n }) }, 7243: (e, t, r) => { r.d(t, { e: () => i }); var n = r(385); 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._A?.location?.protocol && t.host === n._A?.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 {} } } }, 50: (e, t, r) => { function n(e, t) { "function" == typeof console.warn && (console.warn("New Relic: ".concat(e)), t && console.warn(t)) } r.d(t, { Z: () => n }) }, 2587: (e, t, r) => { r.d(t, { N: () => c, T: () => u }); var n = r(8325), i = r(5546), o = r(3325); const a = { stn: [o.D.sessionTrace], err: [o.D.jserrors, o.D.metrics], ins: [o.D.pageAction], spa: [o.D.spa], sr: [o.D.sessionReplay, o.D.sessionTrace] }, s = new Set; function c(e, t) { const r = n.ee.get(t); e && "object" == typeof e && (s.has(t) || Object.entries(e).forEach((e => { let [t, n] = e; a[t] ? a[t].forEach((e => { n ? (0, i.p)("feat-" + t, [], void 0, e, r) : (0, i.p)("block-" + t, [], void 0, e, r), (0, i.p)("rumresp-" + t, [Boolean(n)], void 0, e, r) })) : n && (0, i.p)("feat-" + t, [], void 0, void 0, r), u[t] = Boolean(n) })), Object.keys(a).forEach((e => { void 0 === u[e] && (a[e]?.forEach((t => (0, i.p)("rumresp-" + e, [!1], void 0, t, r))), u[e] = !1) })), s.add(t)) } const u = {} }, 2210: (e, t, r) => { r.d(t, { X: () => 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 } }, 1284: (e, t, r) => { r.d(t, { D: () => n }); const n = (e, t) => Object.entries(e || {}).map((e => { let [r, n] = e; return t(r, n) })) }, 4351: (e, t, r) => { r.d(t, { P: () => o }); var n = r(8325); 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) {} } } }, 3960: (e, t, r) => { r.d(t, { K: () => a, b: () => o }); var n = r(3239); function i() { return "undefined" == typeof document || "complete" === document.readyState } function o(e, t) { if (i()) return e(); (0, n.bP)("load", e, t) } function a(e) { if (i()) return e(); (0, n.iz)("DOMContentLoaded", e) } }, 8632: (e, t, r) => { r.d(t, { EZ: () => u, Qy: () => c, ce: () => o, fP: () => a, gG: () => d, mF: () => s }); var n = r(7894), i = r(385); const o = { beacon: "bam.nr-data.net", errorBeacon: "bam.nr-data.net" }; function a() { return i._A.NREUM || (i._A.NREUM = {}), void 0 === i._A.newrelic && (i._A.newrelic = i._A.NREUM), i._A.NREUM } function s() { let e = a(); return e.o || (e.o = { ST: i._A.setTimeout, SI: i._A.setImmediate, CT: i._A.clearTimeout, XHR: i._A.XMLHttpRequest, REQ: i._A.Request, EV: i._A.Event, PR: i._A.Promise, MO: i._A.MutationObserver, FETCH: i._A.fetch }), e } function c(e, t, r) { let i = a(); const o = i.initializedAgents || {}, s = o[e] || {}; return Object.keys(s).length || (s.initializedAt = { ms: (0, n.z)(), date: new Date }), i.initializedAgents = { ...o, [e]: { ...s, [r]: t } }, i } function u(e, t) { a()[e] = t } function d() { 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() } }, 7956: (e, t, r) => { r.d(t, { N: () => i }); var n = r(3239); function i(e) { let t = arguments.length > 1 && void 0 !== arguments[1] && arguments[1], r = arguments.length > 2 ? arguments[2] : void 0, i = arguments.length > 3 ? arguments[3] : void 0; (0, n.iz)("visibilitychange", (function () { if (t) return void("hidden" === document.visibilityState && e()); e(document.visibilityState) }), r, i) } }, 1214: (e, t, r) => { r.d(t, { em: () => b, u5: () => D, QU: () => C, _L: () => I, Gm: () => H, Lg: () => L, BV: () => G, Kf: () => K }); var n = r(8325), i = r(3117); const o = "nr@original:".concat(i.a); 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]) } var l = r(2210), f = r(385); const h = {}, p = f._A.XMLHttpRequest, g = "addEventListener", m = "removeEventListener", v = "nr@wrapped:".concat(n.A); function b(e) { var t = function (e) { return (e || n.ee).get("events") }(e); if (h[t.debugId]++) return t; h[t.debugId] = 1; var r = c(t, !0); function i(e) { r.inPlace(e, [g, m], "-", o) } function o(e, t) { return e[1] } return "getPrototypeOf" in Object && (f.il && y(document, i), y(f._A, i), y(p.prototype, i)), t.on(g + "-start", (function (e, t) { var n = e[1]; if (null !== n && ("function" == typeof n || "object" == typeof n)) { var i = (0, l.X)(n, v, (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(m + "-start", (function (e) { e[1] = this.wrapped || e[1] })), t } function y(e, t) { let r = e; for (; "object" == typeof r && !Object.prototype.hasOwnProperty.call(r, g);) r = Object.getPrototypeOf(r); for (var n = arguments.length, i = new Array(n > 2 ? n - 2 : 0), o = 2; o < n; o++) i[o - 2] = arguments[o]; r && t(r, ...i) } var A = "fetch-", w = A + "body-", x = ["arrayBuffer", "blob", "json", "text", "formData"], E = f._A.Request, _ = f._A.Response, T = "prototype"; const S = {}; function D(e) { const t = function (e) { return (e || n.ee).get("fetch") }(e); if (!(E && _ && f._A.fetch)) return t; if (S[t.debugId]++) return t; function r(e, r, i) { var o = e[r]; "function" == typeof o && (e[r] = function () { var e, r = [...arguments], a = {}; t.emit(i + "before-start", [r], a), a[n.A] && a[n.A].dt && (e = a[n.A].dt); var s = o.apply(this, r); return t.emit(i + "start", [r, e], s), s.then((function (e) { return t.emit(i + "end", [null, e], s), e }), (function (e) { throw t.emit(i + "end", [e], s), e })) }) } return S[t.debugId] = 1, x.forEach((e => { r(E[T], e, w), r(_[T], e, w) })), r(f._A, "fetch", A), t.on(A + "end", (function (e, r) { var n = this; if (r) { var i = r.headers.get("content-length"); null !== i && (n.rxSize = i), t.emit(A + "done", [null, r], n) } else t.emit(A + "done", [e], n) })), t } const j = {}, N = ["pushState", "replaceState"]; function C(e) { const t = function (e) { return (e || n.ee).get("history") }(e); return !f.il || j[t.debugId]++ || (j[t.debugId] = 1, c(t).inPlace(window.history, N, "-")), t } var O = r(3239); const P = {}, R = ["appendChild", "insertBefore", "replaceChild"]; function I(e) { const t = function (e) { return (e || n.ee).get("jsonp") }(e); if (!f.il || P[t.debugId]) return t; P[t.debugId] = !0; var r = c(t), i = /[?&](?:callback|cb)=([^&#]+)/, o = /(.*)\.([^.]+)/, a = /^(\w+)(\.|$)(.*)$/; function s(e, t) { if (!e) return t; const r = e.match(a), n = r[1]; return s(r[3], t[n]) } return r.inPlace(Node.prototype, R, "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 n = (a = e.src, c = a.match(i), c ? c[1] : null); var a, c; if (!n) return; var u = function (e) { var t = e.match(o); if (t && t.length >= 3) return { key: t[2], parent: s(t[1], window) }; return { key: e, parent: window } }(n); if ("function" != typeof u.parent[u.key]) return; var d = {}; function l() { t.emit("jsonp-end", [], d), e.removeEventListener("load", l, (0, O.m$)(!1)), e.removeEventListener("error", f, (0, O.m$)(!1)) } function f() { t.emit("jsonp-error", [], d), t.emit("jsonp-end", [], d), e.removeEventListener("load", l, (0, O.m$)(!1)), e.removeEventListener("error", f, (0, O.m$)(!1)) } r.inPlace(u.parent, [u.key], "cb-", d), e.addEventListener("load", l, (0, O.m$)(!1)), e.addEventListener("error", f, (0, O.m$)(!1)), t.emit("new-jsonp", [e.src], d) }(e[0]) })), t } const k = {}; function H(e) { const t = function (e) { return (e || n.ee).get("mutation") }(e); if (!f.il || k[t.debugId]) return t; k[t.debugId] = !0; var r = c(t), i = f._A.MutationObserver; return i && (window.MutationObserver = function (e) { return this instanceof i ? new i(r(e, "fn-")) : i.apply(this, arguments) }, MutationObserver.prototype = i.prototype), t } const z = {}; function L(e) { const t = function (e) { return (e || n.ee).get("promise") }(e); if (z[t.debugId]) return t; z[t.debugId] = !0; var r = t.context, i = c(t), a = f._A.Promise; return a && function () { function e(r) { var n = t.context(), o = i(r, "executor-", n, null, !1); const s = Reflect.construct(a, [o], e); return t.context(s).getCtx = function () { return n }, s } f._A.Promise = e, Object.defineProperty(e, "name", { value: "Promise" }), e.toString = function () { return a.toString() }, Object.setPrototypeOf(e, a), ["all", "race"].forEach((function (r) { const n = a[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 = a[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 = a.prototype; const n = a.prototype.then; a.prototype.then = function () { var e = this, o = r(e); o.promise = e; for (var a = arguments.length, s = new Array(a), c = 0; c < a; c++) s[c] = arguments[c]; s[0] = i(s[0], "cb-", o, null, !1), s[1] = i(s[1], "cb-", o, null, !1); const u = n.apply(this, s); return o.nextPromise = u, t.emit("propagate", [e, !0], u, !1, !1), u }, a.prototype.then[o] = n, t.on("executor-start", (function (e) { e[0] = i(e[0], "resolve-", this, null, !1), e[1] = i(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 M = {}, F = "setTimeout", B = "setInterval", U = "clearTimeout", Z = "-start", V = "-", q = [F, "setImmediate", B, U, "clearImmediate"]; function G(e) { const t = function (e) { return (e || n.ee).get("timer") }(e); if (M[t.debugId]++) return t; M[t.debugId] = 1; var r = c(t); return r.inPlace(f._A, q.slice(0, 2), F + V), r.inPlace(f._A, q.slice(2, 3), B + V), r.inPlace(f._A, q.slice(3), U + V), t.on(B + Z, (function (e, t, n) { e[0] = r(e[0], "fn-", null, n) })), t.on(F + Z, (function (e, t, n) { this.method = n, this.timerDuration = isNaN(e[1]) ? 0 : +e[1], e[0] = r(e[0], "fn-", this, n) })), t } var W = r(50); const X = {}, Q = ["open", "send"]; function K(e) { var t = e || n.ee; const r = function (e) { return (e || n.ee).get("xhr") }(t); if (X[r.debugId]++) return r; X[r.debugId] = 1, b(t); var i = c(r), o = f._A.XMLHttpRequest, a = f._A.MutationObserver, s = f._A.Promise, u = f._A.setInterval, d = "readystatechange", l = ["onload", "onerror", "onabort", "onloadstart", "onloadend", "onprogress", "ontimeout"], h = [], p = f._A.XMLHttpRequest = function (e) { const t = new o(e), n = r.context(t); try { r.emit("new-xhr", [t], n), t.addEventListener(d, (a = n, function () { var e = this; e.readyState > 3 && !a.resolved && (a.resolved = !0, r.emit("xhr-resolved", [], e)), i.inPlace(e, l, "fn-", w) }), (0, O.m$)(!1)) } catch (e) { (0, W.Z)("An error occurred while intercepting XHR", e); try { r.emit("internal-error", [e]) } catch (e) {} } var a; return t }; function g(e, t) { i.inPlace(t, ["onreadystatechange"], "fn-", w) } if (function (e, t) { for (var r in e) t[r] = e[r] }(o, p), p.prototype = o.prototype, i.inPlace(p.prototype, Q, "-xhr-", w), r.on("send-xhr-start", (function (e, t) { g(e, t), function (e) { h.push(e), a && (m ? m.then(A) : u ? u(A) : (v = -v, y.data = v)) }(t) })), r.on("open-xhr-start", g), a) { var m = s && s.resolve(); if (!u && !s) { var v = 1, y = document.createTextNode(v); new a(A).observe(y, { characterData: !0 }) } } else t.on("fn-end", (function (e) { e[0] && e[0].type === d || A() })); function A() { for (var e = 0; e < h.length; e++) g(0, h[e]); h.length && (h = []) } function w(e, t) { return t } return r } }, 7825: (e, t, r) => { r.d(t, { t: () => n }); const n = r(3325).D.ajax }, 6660: (e, t, r) => { r.d(t, { t: () => n }); const n = r(3325).D.jserrors }, 3081: (e, t, r) => { r.d(t, { gF: () => o, mY: () => i, t9: () => n, vz: () => s, xS: () => a }); const n = r(3325).D.metrics, i = "sm", o = "cm", a = "storeSupportabilityMetrics", s = "storeEventMetrics" }, 4649: (e, t, r) => { r.d(t, { t: () => n }); const n = r(3325).D.pageAction }, 7633: (e, t, r) => { r.d(t, { t: () => n }); const n = r(3325).D.pageViewEvent }, 9251: (e, t, r) => { r.d(t, { t: () => n }); const n = r(3325).D.pageViewTiming }, 7144: (e, t, r) => { r.d(t, { t: () => n }); const n = r(3325).D.sessionReplay }, 3614: (e, t, r) => { r.d(t, { BST_RESOURCE: () => i, END: () => s, FEATURE_NAME: () => n, FN_END: () => u, FN_START: () => c, PUSH_STATE: () => d, RESOURCE: () => o, START: () => a }); const n = r(3325).D.sessionTrace, i = "bstResource", o = "resource", a = "-start", s = "-end", c = "fn" + a, u = "fn" + s, d = "pushState" }, 7836: (e, t, r) => { r.d(t, { BODY: () => x, CB_END: () => E, CB_START: () => u, END: () => w, FEATURE_NAME: () => i, FETCH: () => T, FETCH_BODY: () => v, FETCH_DONE: () => m, FETCH_START: () => g, FN_END: () => c, FN_START: () => s, INTERACTION: () => f, INTERACTION_API: () => d, INTERACTION_EVENTS: () => o, JSONP_END: () => b, JSONP_NODE: () => p, JS_TIME: () => _, MAX_TIMER_BUDGET: () => a, REMAINING: () => l, SPA_NODE: () => h, START: () => A, originalSetTimeout: () => y }); var n = r(234); const i = r(3325).D.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 = n.Yu.ST, A = "-start", w = "-end", x = "-body", E = "cb" + w, _ = "jsTime", T = "fetch" }, 5938: (e, t, r) => { r.d(t, { W: () => i }); var n = r(8325); class i { constructor(e, t, r) { this.agentIdentifier = e, this.aggregator = t, this.ee = n.ee.get(e), this.featureName = r, this.blocked = !1 } } }, 7530: (e, t, r) => { r.d(t, { j: () => b }); var n = r(3325), i = r(234), o = r(5546), a = r(8325), s = r(7894), c = r(8e3), u = r(3960), d = r(385), l = r(50), f = r(3081), h = r(8632); function p() { const e = (0, h.gG)(); ["setErrorHandler", "finished", "addToTrace", "addRelease", "addPageAction", "setCurrentRouteName", "setPageViewName", "setCustomAttribute", "interaction", "noticeError", "setUserId", "setApplicationVersion", "start"].forEach((t => { e[t] = function () { for (var r = arguments.length, n = new Array(r), i = 0; i < r; i++) n[i] = arguments[i]; return function (t) { for (var r = arguments.length, n = new Array(r > 1 ? r - 1 : 0), i = 1; i < r; i++) n[i - 1] = arguments[i]; let o = []; return Object.values(e.initializedAgents).forEach((e => { e.exposed && e.api[t] && o.push(e.api[t](...n)) })), o.length > 1 ? o : o[0] }(t, ...n) } })) } var g = r(2587); const m = e => { const t = e.startsWith("http"); e += "/", r.p = t ? e : "https://" + e }; let v = !1; function b(e) { let t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {}, b = arguments.length > 2 ? arguments[2] : void 0, y = arguments.length > 3 ? arguments[3] : void 0, { init: A, info: w, loader_config: x, runtime: E = { loaderType: b }, exposed: _ = !0 } = t; const T = (0, h.gG)(); w || (A = T.init, w = T.info, x = T.loader_config), (0, i.Dg)(e, A || {}), (0, i.GE)(e, x || {}), w.jsAttributes ??= {}, d.v6 && (w.jsAttributes.isWorker = !0), (0, i.CX)(e, w); const S = (0, i.P_)(e), D = [w.beacon, w.errorBeacon]; v || (v = !0, S.proxy.assets && (m(S.proxy.assets), D.push(S.proxy.assets)), S.proxy.beacon && D.push(S.proxy.beacon)), E.denyList = [...S.ajax.deny_list || [], ...S.ajax.block_internal ? D : []], (0, i.sU)(e, E), p(); const j = function (e, t) { t || (0, c.R)(e, "api"); const h = {}; var p = a.ee.get(e), g = p.get("tracer"), m = "api-", v = m + "ixn-"; function b(t, r, n, o) { const a = (0, i.C5)(e); return null === r ? delete a.jsAttributes[t] : (0, i.CX)(e, { ...a, jsAttributes: { ...a.jsAttributes, [t]: r } }), w(m, n, !0, o || null === r ? "session" : void 0)(t, r) } function y() {} ["setErrorHandler", "finished", "addToTrace", "addRelease"].forEach((e => { h[e] = w(m, e, !0, "api") })), h.addPageAction = w(m, "addPageAction", !0, n.D.pageAction), h.setCurrentRouteName = w(m, "routeName", !0, n.D.spa), h.setPageViewName = function (t, r) { if ("string" == typeof t) return "/" !== t.charAt(0) && (t = "/" + t), (0, i.OP)(e).customTransaction = (r || "http://custom.transaction") + t, w(m, "setPageViewName", !0)() }, h.setCustomAttribute = function (e, t) { let r = arguments.length > 2 && void 0 !== arguments[2] && arguments[2]; if ("string" == typeof e) { if (["string", "number", "boolean"].includes(typeof t) || null === t) return b(e, t, "setCustomAttribute", r); (0, l.Z)("Failed to execute setCustomAttribute.\nNon-null value must be a string, number or boolean type, but a type of <".concat(typeof t, "> was provided.")) } else(0, l.Z)("Failed to execute setCustomAttribute.\nName must be a string type, but a type of <".concat(typeof e, "> was provided.")) }, h.setUserId = function (e) { if ("string" == typeof e || null === e) return b("enduser.id", e, "setUserId", !0); (0, l.Z)("Failed to execute setUserId.\nNon-null value must be a string type, but a type of <".concat(typeof e, "> was provided.")) }, h.setApplicationVersion = function (e) { if ("string" == typeof e || null === e) return b("application.version", e, "setApplicationVersion", !1); (0, l.Z)("Failed to execute setApplicationVersion. Expected <String | null>, but got <".concat(typeof e, ">.")) }, h.start = e => { try { const t = e ? "defined" : "undefined"; (0, o.p)(f.xS, ["API/start/".concat(t, "/called")], void 0, n.D.metrics, p); const r = Object.values(n.D); if (void 0 === e) e = r; else { if ((e = Array.isArray(e) && e.length ? e : [e]).some((e => !r.includes(e)))) return (0, l.Z)("Invalid feature name supplied. Acceptable feature names are: ".concat(r)); e.includes(n.D.pageViewEvent) || e.push(n.D.pageViewEvent) } e.forEach((e => { p.emit("".concat(e, "-opt-in")) })) } catch (e) { (0, l.Z)("An unexpected issue occurred", e) } }, h.interaction = function () { return (new y).get() }; var A = y.prototype = { createTracer: function (e, t) { var r = {}, i = this, a = "function" == typeof t; return (0, o.p)(v + "tracer", [(0, s.z)(), e, r], i, n.D.spa, p), function () { if (g.emit((a ? "" : "no-") + "fn-start", [(0, s.z)(), i, a], r), a) try { return t.apply(this, arguments) } catch (e) { throw g.emit("fn-err", [arguments, this, e], r), e } finally { g.emit("fn-end", [(0, s.z)()], r) } } } }; function w(e, t, r, i) { return function () { return (0, o.p)(f.xS, ["API/" + t + "/called"], void 0, n.D.metrics, p), i && (0, o.p)(e + t, [(0, s.z)(), ...arguments], r ? null : this, i, p), r ? void 0 : this } } function x() { r.e(111).then(r.bind(r, 7438)).then((t => { let { setAPI: r } = t; r(e), (0, c.L)(e, "api") })).catch((() => (0, l.Z)("Downloading runtime APIs failed..."))) } return ["actionText", "setName", "setAttribute", "save", "ignore", "onEnd", "getContext", "end", "get"].forEach((e => { A[e] = w(v, e, void 0, n.D.spa) })), h.noticeError = function (e, t) { "string" == typeof e && (e = new Error(e)), (0, o.p)(f.xS, ["API/noticeError/called"], void 0, n.D.metrics, p), (0, o.p)("err", [e, (0, s.z)(), !1, t], void 0, n.D.jserrors, p) }, d.il ? (0, u.b)((() => x()), !0) : x(), h }(e, y); return (0, h.Qy)(e, j, "api"), (0, h.Qy)(e, _, "exposed"), (0, h.EZ)("activatedFeatures", g.T), j } }, 3325: (e, t, r) => { r.d(t, { D: () => n, p: () => i }); const n = { ajax: "ajax", jserrors: "jserrors", metrics: "metrics", pageAction: "page_action", pageViewEvent: "page_view_event", pageViewTiming: "page_view_timing", sessionReplay: "session_replay", sessionTrace: "session_trace", spa: "spa" }, i = { [n.pageViewEvent]: 1, [n.pageViewTiming]: 2, [n.metrics]: 3, [n.jserrors]: 4, [n.ajax]: 5, [n.sessionTrace]: 6, [n.pageAction]: 7, [n.spa]: 8, [n.sessionReplay]: 9 } } }, 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 => ({ 111: "nr-spa", 164: "nr-spa-compressor", 433: "nr-spa-recorder" } [e] + "-1.246.0.min.js"), i.o = (e, t) => Object.prototype.hasOwnProperty.call(e, t), e = {}, t = "NRBA-1.246.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 } } s || (c = !0, (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), e[r] = [n]; var f = (t, n) => { s.onerror = s.onload = null, clearTimeout(h); var i = e[r]; if (delete e[r], s.parentNode && s.parentNode.removeChild(s), i && i.forEach((e => e(n))), t) return t(n) }, h = setTimeout(f.bind(null, void 0, { type: "timeout", target: s }), 12e4); s.onerror = f.bind(null, s.onerror), s.onload = f.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 = { 801: 0, 92: 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.246.0.PROD"] = self["webpackChunk:NRBA-1.246.0.PROD"] || []; r.forEach(t.bind(null, 0)), r.push = t.bind(null, r.push.bind(r)) })(), (() => { var e = i(50); class t { addPageAction(t, r) { (0, e.Z)("Call to agent api addPageAction failed. The page action feature is not currently initialized.") } setPageViewName(t, r) { (0, e.Z)("Call to agent api setPageViewName failed. The page view feature is not currently initialized.") } setCustomAttribute(t, r, n) { (0, e.Z)("Call to agent api setCustomAttribute failed. The js errors feature is not currently initialized.") } noticeError(t, r) { (0, e.Z)("Call to agent api noticeError failed. The js errors feature is not currently initialized.") } setUserId(t) { (0, e.Z)("Call to agent api setUserId failed. The js errors feature is not currently initialized.") } setApplicationVersion(t) { (0, e.Z)("Call to agent api setApplicationVersion failed. The agent is not currently initialized.") } setErrorHandler(t) { (0, e.Z)("Call to agent api setErrorHandler failed. The js errors feature is not currently initialized.") } finished(t) { (0, e.Z)("Call to agent api finished failed. The page action feature is not currently initialized.") } addRelease(t, r) { (0, e.Z)("Call to agent api addRelease failed. The js errors feature is not currently initialized.") } start(t) { (0, e.Z)("Call to agent api addRelease failed. The agent is not currently initialized.") } } var r = i(3325), n = i(234); const o = Object.values(r.D); function a(e) { const t = {}; return o.forEach((r => { t[r] = function (e, t) { return !1 !== (0, n.Mt)(t, "".concat(e, ".enabled")) }(r, e) })), t } var s = i(7530); var c = i(8e3), u = i(5938), d = i(3960), l = i(385); class f extends u.W { constructor(e, t, r) { let i = !(arguments.length > 3 && void 0 !== arguments[3]) || arguments[3]; super(e, t, r), this.auto = i, this.abortHandler = void 0, this.featAggregate = void 0, this.onAggregateImported = void 0, !1 === (0, n.Mt)(this.agentIdentifier, "".concat(this.featureName, ".autoStart")) && (this.auto = !1), this.auto && (0, c.R)(e, r) } importAggregator() { let t = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {}; if (this.featAggregate) return; if (!this.auto) return void this.ee.on("".concat(this.featureName, "-opt-in"), (() => { (0, c.R)(this.agentIdentifier, this.featureName), this.auto = !0, this.importAggregator() })); const r = l.il && !0 === (0, n.Mt)(this.agentIdentifier, "privacy.cookies_enabled"); let o; this.onAggregateImported = new Promise((e => { o = e })); const a = async () => { let n; try { if (r) { const { setupAgentSession: e } = await i.e(111).then(i.bind(i, 3228)); n = e(this.agentIdentifier) } } catch (t) { (0, e.Z)("A problem occurred when starting up session manager. This page will not start or extend any session.", t) } try { if (!this.shouldImportAgg(this.featureName, n)) return (0, c.L)(this.agentIdentifier, this.featureName), void o(!1); const { lazyFeatureLoader: e } = await i.e(111).then(i.bind(i, 8582)), { Aggregate: r } = await e(this.featureName, "aggregate"); this.featAggregate = new r(this.agentIdentifier, this.aggregator, t), o(!0) } catch (t) { (0, e.Z)("Downloading and initializing ".concat(this.featureName, " failed..."), t), this.abortHandler?.(), (0, c.L)(this.agentIdentifier, this.featureName), o(!1) } }; l.il ? (0, d.b)((() => a()), !0) : a() } shouldImportAgg(e, t) { return e !== r.D.sessionReplay || !!n.Yu.MO && (!1 !== (0, n.Mt)(this.agentIdentifier, "session_trace.enabled") && (!!t?.isNew || !!t?.state.sessionReplayMode)) } } var h = i(7633); class p extends f { static featureName = h.t; constructor(e, t) { let r = !(arguments.length > 2 && void 0 !== arguments[2]) || arguments[2]; super(e, t, h.t, r), this.importAggregator() } } var g = i(1117), m = i(1284); class v extends g.w { constructor(e) { super(e), this.aggregatedData = {} } store(e, t, r, n, i) { var o = this.getBucket(e, t, r, i); return o.metrics = function (e, t) { t || (t = { count: 0 }); return t.count += 1, (0, m.D)(e, (function (e, r) { t[e] = b(r, t[e]) })), t }(n, o.metrics), o } merge(e, t, r, n, i) { var o = this.getBucket(e, t, n, i); if (o.metrics) { var a = o.metrics; a.count += r.count, (0, m.D)(r, (function (e, t) { if ("count" !== e) { var n = a[e], i = r[e]; i && !i.c ? a[e] = b(i.t, n) : a[e] = function (e, t) { if (!t) return e; t.c || (t = y(t.t)); return t.min = Math.min(e.min, t.min), t.max = Math.max(e.max, t.max), t.t += e.t, t.sos += e.sos, t.c += e.c, t }(i, a[e]) } })) } else o.metrics = r } storeMetric(e, t, r, n) { var i = this.getBucket(e, t, r); return i.stats = b(n, i.stats), i } getBucket(e, t, r, n) { this.aggregatedData[e] || (this.aggregatedData[e] = {}); var i = this.aggregatedData[e][t]; return i || (i = this.aggregatedData[e][t] = { params: r || {} }, n && (i.custom = n)), i } get(e, t) { return t ? this.aggregatedData[e] && this.aggregatedData[e][t] : this.aggregatedData[e] } take(e) { for (var t = {}, r = "", n = !1, i = 0; i < e.length; i++) t[r = e[i]] = A(this.aggregatedData[r]), t[r].length && (n = !0), delete this.aggregatedData[r]; return n ? t : null } } function b(e, t) { return null == e ? function (e) { e ? e.c++ : e = { c: 1 }; return e }(t) : t ? (t.c || (t = y(t.t)), t.c += 1, t.t += e, t.sos += e * e, e > t.max && (t.max = e), e < t.min && (t.min = e), t) : { t: e } } function y(e) { return { t: e, min: e, max: e, sos: e * e, c: 1 } } function A(e) { return "object" != typeof e ? [] : (0, m.D)(e, w) } function w(e, t) { return t } var x = i(8632), E = i(4402), _ = i(4351); var T = i(5546), S = i(7956), D = i(3239), j = i(7894), N = i(9251); class C extends f { static featureName = N.t; constructor(e, t) { let r = !(arguments.length > 2 && void 0 !== arguments[2]) || arguments[2]; super(e, t, N.t, r), l.il && ((0, S.N)((() => (0, T.p)("docHidden", [(0, j.z)()], void 0, N.t, this.ee)), !0), (0, D.bP)("pagehide", (() => (0, T.p)("winPagehide", [(0, j.z)()], void 0, N.t, this.ee))), this.importAggregator()) } } var O = i(3081); class P extends f { static featureName = O.t9; constructor(e, t) { let r = !(arguments.length > 2 && void 0 !== arguments[2]) || arguments[2]; super(e, t, O.t9, r), this.importAggregator() } } var R = i(6660); class I { constructor(e, t, r, n) { this.name = "UncaughtError", this.message = e, this.sourceURL = t, this.line = r, this.column = n } } class k extends f { static featureName = R.t; #e = new Set; constructor(e, t) { let n = !(arguments.length > 2 && void 0 !== arguments[2]) || arguments[2]; super(e, t, R.t, n); try { this.removeOnAbort = new AbortController } catch (e) {} this.ee.on("fn-err", ((e, t, n) => { this.abortHandler && !this.#e.has(n) && (this.#e.add(n), (0, T.p)("err", [this.#t(n), (0, j.z)()], void 0, r.D.jserrors, this.ee)) })), this.ee.on("internal-error", (e => { this.abortHandler && (0, T.p)("ierr", [this.#t(e), (0, j.z)(), !0], void 0, r.D.jserrors, this.ee) })), l._A.addEventListener("unhandledrejection", (e => { this.abortHandler && (0, T.p)("err", [this.#r(e), (0, j.z)(), !1, { unhandledPromiseRejection: 1 }], void 0, r.D.jserrors, this.ee) }), (0, D.m$)(!1, this.removeOnAbort?.signal)), l._A.addEventListener("error", (e => { this.abortHandler && (this.#e.has(e.error) ? this.#e.delete(e.error) : (0, T.p)("err", [this.#n(e), (0, j.z)()], void 0, r.D.jserrors, this.ee)) }), (0, D.m$)(!1, this.removeOnAbort?.signal)), this.abortHandler = this.#i, this.importAggregator() } #i() { this.removeOnAbort?.abort(), this.#e.clear(), this.abortHandler = void 0 } #t(e) { return e instanceof Error ? e : void 0 !== e?.message ? new I(e.message, e.filename || e.sourceURL, e.lineno || e.line, e.colno || e.col) : new I("string" == typeof e ? e : (0, _.P)(e)) } #r(e) { let t = "Unhandled Promise Rejection: "; if (e?.reason instanceof Error) try { return e.reason.message = t + e.reason.message, e.reason } catch (t) { return e.reason } if (void 0 === e.reason) return new I(t); const r = this.#t(e.reason); return r.message = t + r.message, r } #n(e) { return e.error instanceof Error ? e.error : new I(e.message, e.filename, e.lineno, e.colno) } } var H = i(2210); let z = 1; const L = "nr@id"; function M(e) { const t = typeof e; return !e || "object" !== t && "function" !== t ? -1 : e === l._A ? 0 : (0, H.X)(e, L, (function () { return z++ })) } function F(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)(e).length } catch (e) { return } } } var B = i(1214), U = i(7243); class Z { constructor(e) { this.agentIdentifier = e } generateTracePayload(e) { if (!this.shouldGenerateTrace(e)) return null; var t = (0, n.DL)(this.agentIdentifier); if (!t) return null; var r = (t.accountID || "").toString() || null, i = (t.agentID || "").toString() || null, o = (t.trustKey || "").toString() || null; if (!r || !i) return null; var a = (0, E.M)(), s = (0, E.Ht)(), 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, r, i, o)), (e.sameOrigin && !this.excludeNewrelicHeader() || !e.sameOrigin && this.isAllowedOrigin(e) && this.useNewrelicHeaderForCors()) && (u.newrelicHeader = this.generateTraceHeader(a, s, c, r, 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 l._A?.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)) } shouldGenerateTrace(e) { return this.isDtEnabled() && this.isAllowedOrigin(e) } isAllowedOrigin(e) { var t = !1, r = {}; if ((0, n.Mt)(this.agentIdentifier, "distributed_tracing") && (r = (0, n.P_)(this.agentIdentifier).distributed_tracing), e.sameOrigin) t = !0; else if (r.allowed_origins instanceof Array) for (var i = 0; i < r.allowed_origins.length; i++) { var o = (0, U.e)(r.allowed_origins[i]); if (e.hostname === o.hostname && e.protocol === o.protocol && e.port === o.port) { t = !0; break } } return t } isDtEnabled() { var e = (0, n.Mt)(this.agentIdentifier, "distributed_tracing"); return !!e && !!e.enabled } excludeNewrelicHeader() { var e = (0, n.Mt)(this.agentIdentifier, "distributed_tracing"); return !!e && !!e.exclude_newrelic_header } useNewrelicHeaderForCors() { var e = (0, n.Mt)(this.agentIdentifier, "distributed_tracing"); return !!e && !1 !== e.cors_use_newrelic_header } useTraceContextHeadersForCors() { var e = (0, n.Mt)(this.agentIdentifier, "distributed_tracing"); return !!e && !!e.cors_use_tracecontext_headers } } var V = i(7825), q = ["load", "error", "abort", "timeout"], G = q.length, W = n.Yu.REQ, X = n.Yu.XHR; class Q extends f { static featureName = V.t; constructor(e, t) { let i = !(arguments.length > 2 && void 0 !== arguments[2]) || arguments[2]; if (super(e, t, V.t, i), (0, n.OP)(e).xhrWrappable) { this.dt = new Z(e), this.handler = (e, t, r, n) => (0, T.p)(e, t, r, n, this.ee); try { const e = { xmlhttprequest: "xhr", fetch: "fetch", beacon: "beacon" }; l._A?.performance?.getEntriesByType("resource").forEach((t => { if (t.initiatorType in e && 0 !== t.responseStatus) { const n = { status: t.responseStatus }, i = { rxSize: t.transferSize, duration: Math.floor(t.duration), cbTime: 0 }; K(n, t.name), this.handler("xhr", [n, i, t.startTime, t.responseEnd, e[t.initiatorType]], void 0, r.D.ajax) } })) } catch (e) {}(0, B.u5)(this.ee), (0, B.Kf)(this.ee), function (e, t, i, o) { function a(e) { var t = this; t.totalCbs = 0, t.called = 0, t.cbTime = 0, t.end = x, 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, D.m$)(!1)), l.IF || e.addEventListener("progress", (function (e) { t.lastSize = e.loaded }), (0, D.m$)(!1)) } function s(e) { this.params = { method: e[0] }, K(this, e[1]), this.metrics = {} } function c(t, r) { var i = (0, n.DL)(e); i.xpid && this.sameOrigin && r.setRequestHeader("X-NewRelic-ID", i.xpid); var a = o.generateTracePayload(this.parsedOrigin); if (a) { var s = !1; a.newrelicHeader && (r.setRequestHeader("newrelic", a.newrelicHeader), s = !0), a.traceContextParentHeader && (r.setRequestHeader("traceparent", a.traceContextParentHeader), a.traceContextStateHeader && r.setRequestHeader("tracestate", a.traceContextStateHeader), s = !0), s && (this.dt = a) } } function u(e, r) { var n = this.metrics, i = e[0], o = this; if (n && i) { var a = F(i); a && (n.txSize = a) } this.startTime = (0, j.z)(), 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 < G; s++) r.addEventListener(q[s], this.listener, (0, D.m$)(!1)) } function d(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 f(e, t) { var r = "" + M(e) + !!t; this.xhrGuids && !this.xhrGuids[r] && (this.xhrGuids[r] = !0, this.totalCbs += 1) } function h(e, t) { var r = "" + M(e) + !!t; this.xhrGuids && this.xhrGuids[r] && (delete this.xhrGuids[r], this.totalCbs -= 1) } function p() { this.endTime = (0, j.z)() } function g(e, r) { r instanceof X && "load" === e[0] && t.emit("xhr-load-added", [e[1], e[2]], r) } function m(e, r) { r instanceof X && "load" === e[0] && t.emit("xhr-load-removed", [e[1], e[2]], r) } function v(e, t, r) { t instanceof X && ("onload" === r && (this.onload = !0), ("load" === (e[0] && e[0].type) || this.onload) && (this.xhrCbStart = (0, j.z)())) } function b(e, r) { this.xhrCbStart && t.emit("xhr-cb-time", [(0, j.z)() - this.xhrCbStart, this.onload, r], r) } function y(e) { var t, r = e[1] || {}; if ("string" == typeof e[0] ? 0 === (t = e[0]).length && l.il && (t = "" + l._A.location.href) : e[0] && e[0].url ? t = e[0].url : l._A?.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, U.e)(t), this.sameOrigin = this.parsedOrigin.sameOrigin); var n = o.generateTracePayload(this.parsedOrigin); if (n && (n.newrelicHeader || n.traceContextParentHeader)) if (e[0] && e[0].headers) s(e[0].headers, n) && (this.dt = n); else { var i = {}; for (var a in r) i[a] = r[a]; i.headers = new Headers(r.headers || {}), s(i.headers, n) && (this.dt = n), e.length > 1 ? e[1] = i : e.push(i) } } 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 A(e, t) { this.params = {}, this.metrics = {}, this.startTime = (0, j.z)(), 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 W ? r = i.url : l._A?.URL && "object" == typeof i && i instanceof URL && (r = i.href), K(this, r); var o = ("" + (i && i instanceof W && i.method || n.method || "GET")).toUpperCase(); this.params.method = o, this.body = n.body, this.txSize = F(n.body) || 0 } function w(e, t) { var n; this.endTime = (0, j.z)(), this.params || (this.params = {}), this.params.status = t ? t.status : 0, "string" == typeof this.rxSize && this.rxSize.length > 0 && (n = +this.rxSize); var o = { txSize: this.txSize, rxSize: n, duration: (0, j.z)() - this.startTime }; i("xhr", [this.params, o, this.startTime, this.endTime, "fetch"], this, r.D.ajax) } function x(e) { var t = this.params, n = this.metrics; if (!this.ended) { this.ended = !0; for (var o = 0; o < G; o++) e.removeEventListener(q[o], this.listener, !1); t.aborted || (n.duration = (0, j.z)() - this.startTime, this.loadCaptureCalled || 4 !== e.readyState ? null == t.status && (t.status = 0) : E(this, e), n.cbTime = this.cbTime, i("xhr", [t, n, this.startTime, this.endTime, "xhr"], this, r.D.ajax)) } } function E(e, t) { e.params.status = t.status; var r = function (e, t) { var r = e.responseType; return "json" === r && null !== t ? t : "arraybuffer" === r || "blob" === r || "json" === r ? F(e.response) : "text" === r || "" === r || void 0 === r ? F(e.responseText) : void 0 }(t, e.lastSize); if (r && (e.metrics.rxSize = r), e.sameOrigin) { var n = t.getResponseHeader("X-NewRelic-App-Data"); n && (e.params.cat = n.split(", ").pop()) } e.loadCaptureCalled = !0 } t.on("new-xhr", a), t.on("open-xhr-start", s), t.on("open-xhr-end", c), t.on("send-xhr-start", u), t.on("xhr-cb-time", d), t.on("xhr-load-added", f), t.on("xhr-load-removed", h), t.on("xhr-resolved", p), t.on("addEventListener-end", g), t.on("removeEventListener-end", m), t.on("fn-end", b), t.on("fetch-before-start", y), t.on("fetch-start", A), t.on("fn-start", v), t.on("fetch-done", w) }(e, this.ee, this.handler, this.dt), this.importAggregator() } } } function K(e, t) { var r = (0, U.e)(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 } var Y = i(3614); const { BST_RESOURCE: J, RESOURCE: ee, START: te, END: re, FEATURE_NAME: ne, FN_END: ie, FN_START: oe, PUSH_STATE: ae } = Y; var se = i(7144); class ce extends f { static featureName = se.t; constructor(e, t) { let r = !(arguments.length > 2 && void 0 !== arguments[2]) || arguments[2]; super(e, t, se.t, r), this.importAggregator() } } var ue = i(7836); const { FEATURE_NAME: de, START: le, END: fe, BODY: he, CB_END: pe, JS_TIME: ge, FETCH: me, FN_START: ve, CB_START: be, FN_END: ye } = ue; var Ae = i(4649); class we extends f { static featureName = Ae.t; constructor(e, t) { let r = !(arguments.length > 2 && void 0 !== arguments[2]) || arguments[2]; super(e, t, Ae.t, r), this.importAggregator() } } new class extends t { constructor(t) { let r = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : (0, E.ky)(16); super(), l._A ? (this.agentIdentifier = r, this.sharedAggregator = new v({ agentIdentifier: this.agentIdentifier }), this.features = {}, this.desiredFeatures = new Set(t.features || []), this.desiredFeatures.add(p), Object.assign(this, (0, s.j)(this.agentIdentifier, t, t.loaderType || "agent")), this.run()) : (0, e.Z)("Failed to initial the agent. Could not determine the runtime environment.") } get config() { return { info: (0, n.C5)(this.agentIdentifier), init: (0, n.P_)(this.agentIdentifier), loader_config: (0, n.DL)(this.agentIdentifier), runtime: (0, n.OP)(this.agentIdentifier) } } run() { const t = "features"; try { const n = a(this.agentIdentifier), i = [...this.desiredFeatures]; i.sort(((e, t) => r.p[e.featureName] - r.p[t.featureName])), i.forEach((t => { if (n[t.featureName] || t.featureName === r.D.pageViewEvent) { const i = function (e) { switch (e) { case r.D.ajax: return [r.D.jserrors]; case r.D.sessionTrace: return [r.D.ajax, r.D.pageViewEvent]; case r.D.sessionReplay: return [r.D.sessionTrace]; case r.D.pageViewTiming: return [r.D.pageViewEvent]; default: return [] } }(t.featureName); i.every((e => n[e])) || (0, e.Z)("".concat(t.featureName, " is enabled but one or more dependent features has been disabled (").concat((0, _.P)(i), "). This may cause unintended consequences or missing data...")), this.features[t.featureName] = new t(this.agentIdentifier, this.sharedAggregator) } })), (0, x.Qy)(this.agentIdentifier, this.features, t) } catch (r) { (0, e.Z)("Failed to initialize all enabled instrument classes (agent aborted) -", r); for (const e in this.features) this.features[e].abortHandler?.(); const n = (0, x.fP)(); return delete n.initializedAgents[this.agentIdentifier]?.api, delete n.initializedAgents[this.agentIdentifier]?.[t], delete this.sharedAggregator, n.ee?.abort(), delete n.ee?.get(this.agentIdentifier), !1 } } addToTrace(t) { (0, e.Z)("Call to agent api addToTrace failed. The session trace feature is not currently initialized.") } setCurrentRouteName(t) { (0, e.Z)("Call to agent api setCurrentRouteName failed. The spa feature is not currently initialized.") } interaction() { (0, e.Z)("Call to agent api interaction failed. The spa feature is not currently initialized.") } }({ features: [Q, p, C, class extends f { static featureName = ne; constructor(e, t) { if (super(e, t, ne, !(arguments.length > 2 && void 0 !== arguments[2]) || arguments[2]), !l.il) return; const n = this.ee; let i; (0, B.QU)(n), this.eventsEE = (0, B.em)(n), this.eventsEE.on(oe, (function (e, t) { this.bstStart = (0, j.z)() })), this.eventsEE.on(ie, (function (e, t) { (0, T.p)("bst", [e[0], t, this.bstStart, (0, j.z)()], void 0, r.D.sessionTrace, n) })), n.on(ae + te, (function (e) { this.time = (0, j.z)(), this.startPath = location.pathname + location.hash })), n.on(ae + re, (function (e) { (0, T.p)("bstHist", [location.pathname + location.hash, this.startPath, this.time], void 0, r.D.sessionTrace, n) })); try { i = new PerformanceObserver((e => { const t = e.getEntries(); (0, T.p)(J, [t], void 0, r.D.sessionTrace, n) })), i.observe({ type: ee, buffered: !0 }) } catch (e) {} this.importAggregator({ resourceObserver: i }) } }, ce, P, we, k, class extends f { static featureName = de; constructor(e, t) { if (super(e, t, de, !(arguments.length > 2 && void 0 !== arguments[2]) || arguments[2]), !l.il) return; if (!(0, n.OP)(e).xhrWrappable) return; try { this.removeOnAbort = new AbortController } catch (e) {} let r, i = 0; const o = this.ee.get("tracer"), a = (0, B._L)(this.ee), s = (0, B.Lg)(this.ee), c = (0, B.BV)(this.ee), u = (0, B.Kf)(this.ee), d = this.ee.get("events"), f = (0, B.u5)(this.ee), h = (0, B.QU)(this.ee), p = (0, B.Gm)(this.ee); function g(e, t) { h.emit("newURL", ["" + window.location, t]) } function m() { i++, r = window.location.hash, this[ve] = (0, j.z)() } function v() { i--, window.location.hash !== r && g(0, !0); var e = (0, j.z)(); this[ge] = ~~this[ge] + e - this[ve], this[ye] = e } function b(e, t) { e.on(t, (function () { this[t] = (0, j.z)() })) } this.ee.on(ve, m), s.on(be, m), a.on(be, m), this.ee.on(ye, v), s.on(pe, v), a.on(pe, v), this.ee.buffer([ve, ye, "xhr-resolved"], this.featureName), d.buffer([ve], this.featureName), c.buffer(["setTimeout" + fe, "clearTimeout" + le, ve], this.featureName), u.buffer([ve, "new-xhr", "send-xhr" + le], this.featureName), f.buffer([me + le, me + "-done", me + he + le, me + he + fe], this.featureName), h.buffer(["newURL"], this.featureName), p.buffer([ve], this.featureName), s.buffer(["propagate", be, pe, "executor-err", "resolve" + le], this.featureName), o.buffer([ve, "no-" + ve], this.featureName), a.buffer(["new-jsonp", "cb-start", "jsonp-error", "jsonp-end"], this.featureName), b(f, me + le), b(f, me + "-done"), b(a, "new-jsonp"), b(a, "jsonp-end"), b(a, "cb-start"), h.on("pushState-end", g), h.on("replaceState-end", g), window.addEventListener("hashchange", g, (0, D.m$)(!0, this.removeOnAbort?.signal)), window.addEventListener("load", g, (0, D.m$)(!0, this.removeOnAbort?.signal)), window.addEventListener("popstate", (function () { g(0, i > 1) }), (0, D.m$)(!0, this.removeOnAbort?.signal)), this.abortHandler = this.#i, this.importAggregator() } #i() { this.removeOnAbort?.abort(), this.abortHandler = void 0 } }], loaderType: "spa" }) })() })(); </script> <script> function mobileGlobalNav(elementName) { var icon = document.getElementsByClassName(elementName)[0]; icon.classList.toggle('active'); } </script> <meta charset="utf-8" /> <meta name="theme-color" content="#00247F"> <link href="/Bundles/css/main.css?v=9bb4293ac6fd77ddc0b82d05ed8ade6d89dbfeef4106a308882478ae5bc1adff" rel="stylesheet" /> <style> .preload-hide { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: #fff; z-index: 900; overflow: hidden; } </style> <script src='/Bundles/js/recommended-courses-bundle.js?v=c14132f570a0b529f454eb87d0c553923beb5cafaf7ad0fb719b8885534c7857'></script> </head> <body class="theme-aap " style="padding-top:0"> <div class="browser-message-container " data-browser-message-container> <div class="browser-alert ie"> <div class="browser-alert-inner"> <div class="browser-alert-title"> <svg class="svg-icon" aria-hidden="true" focusable="false"> <use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#icon-warning" /> </svg> <p class="browser-alert-title-text"> Internet Explorer Alert </p> </div> <div class="browser-alert-content"> <p>It appears you are using Internet Explorer as your web browser. Please note, Internet Explorer is no longer up-to-date and can cause problems in how this website functions<br />This site functions best using the latest versions of any of the following browsers: <strong>Edge, Firefox, Chrome, Opera, or Safari</strong>. <br />You can find the latest versions of these browsers at <a href="https://browsehappy.com/" target="_blank" rel="noopener">https://browsehappy.com</a></p> </div> </div> <svg class="svg-icon" aria-hidden="true" focusable="false" data-browser-message-close="ie"> <use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#icon-close" /> </svg> </div> </div> <header> </header> <!-- Google Tag Manager (noscript) --> <noscript> <iframe src="https://www.googletagmanager.com/ns.html?id=GTM-N2RV28J" height="0" width="0" style="display:none;visibility:hidden"></iframe> </noscript> <!-- End Google Tag Manager (noscript) --> <div class="header-advertisement"> <a class="header-advertisement-disclaimer" target="_blank" href="/en/pages/ad-disclaimer/">Advertisement Disclaimer</a> <!-- /22410314033/aap_leadert --> <div id='div-gpt-ad-1633540336787-0'> <script> googletag.cmd.push(function() { googletag.display('div-gpt-ad-1633540336787-0'); }); </script> </div> </div> <header class="mobile-header print-hide"> <div class="mobile-header-top"> <div class="mobile-header-left"> <div class="mobile-header-top-trigger"> <svg class="mobile-header-top-trigger-open"> <use xlink:href="#mobile-menu-open"></use> </svg> <svg class="mobile-header-top-trigger-close"> <use xlink:href="#mobile-menu-close"></use> </svg> </div> <svg class="mobile-header-logo"> <use xlink:href="#Seal_Pos"></use> </svg> </div> <div class="utility-nav"> <div class="utility-nav-item utility-nav-search"> <svg class="utility-nav-search-icon"> <use xlink:href="#info-magnifying-glass"></use> </svg> <svg class="utility-nav-close"> <use xlink:href="#mobile-menu-close"></use> </svg> </div> <a class="utility-nav-item utility-nav-cart" data-cart-popup-button-mobile aria-expanded="false" href="javascript:;"> <svg> <use xlink:href="#icon-cart"></use> </svg> <div class="utility-nav-cart-amount hidden" data-cart-amount-mobile></div> </a> <div class="utility-nav-item utility-nav-account"> <svg id="mobile-my-account-link"> <use xlink:href="#icon-profile"></use> </svg> <svg id="mobile-my-account-close" style="display: none;"> <use xlink:href="#mobile-menu-close"></use> </svg> <div id="mobile-my-account-menu" class="utility-my-account-menu"> <a class="utility-my-account-menu-logout" href="/en/my-account/login/">Login</a> </div> </div> <div class="utility-nav-item utility-nav-explore explore-aap-mobile" explore-nav-mobile> <a href="javascript:;" class="explore-aap-mobile-trigger" explore-nav-button aria-controls="explore-aap-nav-mobile" aria-expanded="false"> <svg id="mobile-explore-aap-link" class="explore-icon"> <use xlink:href="#icon-explore"></use> </svg> <svg id="mobile-explore-close" class="close-icon"> <use xlink:href="#mobile-menu-close"></use> </svg> </a> <div id="explore-aap-nav-mobile" class="explore-aap-links-wrap" explore-nav-menu aria-hidden="true"> <div class="explore-aap-links-wrap-inner"> <ul class="explore-aap-links"> <li class="explore-aap-links-list-item"> <a class="explore-aap-links-list-item-link" href="https://publications.aap.org/" target="_blank"> Publications </a> </li> <li class="explore-aap-links-list-item"> <a class="explore-aap-links-list-item-link" href="/en/shopaap/" target=""> shopAAP </a> </li> <li class="explore-aap-links-list-item"> <a class="explore-aap-links-list-item-link" href="/en/pedialink/" target=""> PediaLink </a> </li> <li class="explore-aap-links-list-item"> <a class="explore-aap-links-list-item-link" href="https://www.healthychildren.org/" target="_blank"> HealthyChildren.org </a> </li> </ul> </div> </div> </div> </div> </div> <div class="popup-cart popup-cart-mobile" data-cart-popup-mobile aria-hidden="true"> <div class="popup-cart-header"> <div class="popup-cart-header-content"><h3>Shopping cart</h3> <p data-cart-popup-item-number></p></div> <button class="unbutton" type="button" data-cart-popup-button-close-mobile><svg> <use xlink:href="#icon-close"></use> </svg></button> </div> <div class="popup-cart-warning popup-cart-warning-mobile" data-cart-validation-messages></div> <div class="popup-cart-wrapper" data-cart-popup-cart> <div class="popup-cart-buttons"> <a class="button-secondary" href="/en/shopaap/cart/"><svg><use xlink:href="#icon-cart"></use></svg>Go to Cart</a> <a class="button-primary" id="cart-popup-checkout-cta-mobile" href="/en/shopaap/cart/shipping/">Checkout</a> </div> <div class="popup-cart-item-list" data-cart-popup-items></div> <div class="popup-cart-more" data-cart-popup-overflow></div> <button type="button" class="unbutton button-link" data-cart-clear-cart-cta id="cart-popup-clear-cart-cta-mobile">Clear Cart</button> <div class="popup-cart-total"><p class="paragraph-large">Order Subtotal</p><p class="paragraph-large" data-cart-popup-subtotal></p></div> </div> <div data-cart-popup-empty class="popup-cart-empty active"> <svg> <use xlink:href="#icon-cart"></use> </svg> <p class="popup-cart-empty-title">Your cart is empty.</p> <p class="popup-cart-empty-subtitle">Looks like you haven&#x27;t added anything to your cart.</p> <div class="popup-cart-buttons"> <a class="button-secondary" href="/en/shopaap/cart/">View Saved Items</a> <a class="button-primary" href="https://www.aap.org/en/shopaap">Go Shopping</a></div> </div> <div data-cart-popup-loading class="popup-cart-empty active"> <p>Loading</p> <div class="loader"> <div class="loader-circle"> <svg class="spin" viewBox="25 25 50 50"> <circle class="path" cx="50" cy="50" r="20" fill="none" strokeWidth="3" strokeMiterlimit="10" /> </svg> <svg class="base" viewBox="25 25 50 50"> <circle class="path" cx="50" cy="50" r="20" fill="none" strokeWidth="3" strokeMiterlimit="10" /> </svg> </div> </div> </div> </div> <div class="mobile-search-wrapper"> <div id="mobile-search-bar-component"></div> </div> <div class="mobile-global-nav"> <ul class="mobile-global-nav-menu unlisted" id="main-nav-menu-mobile"> <li class="main-nav-menu-item aaphome "> <div class="main-nav-menu-item-top"> <a class="" href="/en/" target="" data-testid="link-aaphome"> AAP Home </a> <div class="mobile-header-trigger"> <svg onclick="mobileGlobalNav('aaphome')" class="mobile-header-trigger-open"> <use xlink:href="#arrow-down"></use> </svg> </div> </div> <ul class="mobile-header-context-link-list"> <li class="mobile-nav-context-link"> <a class="" href="/en/news-room/"> News </a> </li> <li class="mobile-nav-context-link"> <a class="" href="/en/membership-application/join-aap/"> Membership </a> </li> <li class="mobile-nav-context-link"> <a class="" href="/en/career-resources/"> Career Resources </a> </li> <li class="mobile-nav-context-link"> <a class="" href="/en/research/"> Research </a> </li> <li class="mobile-nav-context-link"> <a class="" href="/en/philanthropy/"> Philanthropy </a> </li> <li class="mobile-nav-context-link"> <a class="" href="/en/about-the-aap/"> About the AAP </a> </li> </ul> </li> <li class="main-nav-menu-item policy "> <div class="main-nav-menu-item-top"> <a class="" href="/en/policy/" target="" data-testid="link-policy"> Policy </a> <div class="mobile-header-trigger"> <svg onclick="mobileGlobalNav('policy')" class="mobile-header-trigger-open"> <use xlink:href="#arrow-down"></use> </svg> </div> </div> <ul class="mobile-header-context-link-list"> <li class="mobile-nav-context-link"> <a class="" href="https://doi.org/10.1542/peds.2024-069987"> Recommended Childhood and Adolescent Immunization Schedule: United States, 2025: Policy Statement </a> </li> <li class="mobile-nav-context-link"> <a class="" href="https://publications.aap.org/aapnews/news/30742"> CDC Releases 2025 Immunization Schedules </a> </li> <li class="mobile-nav-context-link"> <a class="" href="https://www.healthychildren.org/English/ages-stages/teen/substance-abuse/Pages/dangers-of-prescription-drug-misuse-tips-to-keep-your-teen-safe.aspx"> Dangers of Prescription Drug Misuse: Tips to Keep Your Teen Safe </a> </li> <li class="mobile-nav-context-link"> <a class="" href="/en/news-room/news-releases-from-the-aap/"> News Releases </a> </li> <li class="mobile-nav-context-link"> <a class="" href="https://pediatrics.aappublications.org/collection"> Policy Collections </a> </li> </ul> </li> <li class="main-nav-menu-item advocacy "> <div class="main-nav-menu-item-top"> <a class="" href="/en/advocacy/" target="" data-testid="link-advocacy"> Advocacy </a> <div class="mobile-header-trigger"> <svg onclick="mobileGlobalNav('advocacy')" class="mobile-header-trigger-open"> <use xlink:href="#arrow-down"></use> </svg> </div> </div> <ul class="mobile-header-context-link-list"> <li class="mobile-nav-context-link"> <a class="" href="/en/advocacy/blueprint-for-children/the-state-of-children-in-2020/"> The State of Children in 2020 </a> </li> <li class="mobile-nav-context-link"> <a class="" href="/en/advocacy/blueprint-for-children/healthy-children/"> Healthy Children </a> </li> <li class="mobile-nav-context-link"> <a class="" href="/en/advocacy/blueprint-for-children/secure-families/"> Secure Families </a> </li> <li class="mobile-nav-context-link"> <a class="" href="/en/advocacy/blueprint-for-children/strong-communities/"> Strong Communities </a> </li> <li class="mobile-nav-context-link"> <a class="" href="/en/advocacy/blueprint-for-children/a-leading-nation-for-youth/"> A Leading Nation for Youth </a> </li> <li class="mobile-nav-context-link"> <a class="" href="/en/advocacy/transition-plan-2020/"> Transition Plan: Advancing Child Health in the Biden-Harris Administration </a> </li> <li class="mobile-nav-context-link"> <a class="" href="/en/advocacy/health-care-access-coverage/"> Health Care Access &amp; Coverage </a> </li> <li class="mobile-nav-context-link"> <a class="" href="/en/advocacy/immigrant-child-health/"> Immigrant Child Health </a> </li> <li class="mobile-nav-context-link"> <a class="" href="/en/advocacy/gun-violence-prevention/"> Gun Violence Prevention </a> </li> <li class="mobile-nav-context-link"> <a class="" href="/en/advocacy/tobacco-e-cigarettes/"> Tobacco &amp; E-Cigarettes </a> </li> <li class="mobile-nav-context-link"> <a class="" href="/en/advocacy/vaccines/"> Vaccines </a> </li> <li class="mobile-nav-context-link"> <a class="" href="/en/advocacy/child-nutrition/"> Child Nutrition </a> </li> <li class="mobile-nav-context-link"> <a class="" href="/en/advocacy/state-advocacy/assault-weapons-bans/"> Assault Weapons Bans </a> </li> <li class="mobile-nav-context-link"> <a class="" href="/en/advocacy/state-advocacy/childhood-immunizations/"> Childhood Immunizations </a> </li> <li class="mobile-nav-context-link"> <a class="" href="/en/advocacy/state-advocacy/flavored-e-cigarette-and-tobacco-products/"> E-Cigarette and Tobacco Products </a> </li> <li class="mobile-nav-context-link"> <a class="" href="/en/advocacy/childrens-health-care-coverage-fact-sheets/"> Children&#x2019;s Health Care Coverage Fact Sheets </a> </li> <li class="mobile-nav-context-link"> <a class="" href="/en/advocacy/opioid-fact-sheets/"> Opioid Fact Sheets </a> </li> <li class="mobile-nav-context-link"> <a class="" href="/en/advocacy/advocacy-training-modules/"> Advocacy Training Modules </a> </li> <li class="mobile-nav-context-link"> <a class="" href="/en/my-account/login/Authenticate?returnurl=/globalassets/documents/academic-and-subspecialty-advocacy-washington-report_march-2020.pdf"> Subspecialty Advocacy Report </a> </li> <li class="mobile-nav-context-link"> <a class="" href="/en/advocacy/aap-advocacy-internship-program/"> AAP Washington Office Internship </a> </li> </ul> </li> <li class="main-nav-menu-item pedialink "> <div class="main-nav-menu-item-top"> <a class="" href="/en/pedialink/" target="" data-testid="link-pedialink"> PediaLink </a> <div class="mobile-header-trigger"> <svg onclick="mobileGlobalNav('pedialink')" class="mobile-header-trigger-open"> <use xlink:href="#arrow-down"></use> </svg> </div> </div> <ul class="mobile-header-context-link-list"> <li class="mobile-nav-context-link"> <a class="" href="https://shop.aap.org/professional-education/online-courses/"> Online Courses </a> </li> <li class="mobile-nav-context-link"> <a class="" href="https://shop.aap.org/professional-education/live-activities/"> Live and Virtual Activities </a> </li> <li class="mobile-nav-context-link"> <a class="" href="https://aapexperience.org/"> National Conference and Exhibition </a> </li> <li class="mobile-nav-context-link"> <a class="" href="https://shop.aap.org/professional-education/self-assessments/"> Prep&#xAE;- Pediatric Review and Education Programs </a> </li> <li class="mobile-nav-context-link"> <a class="" href="https://shop.aap.org/publications/journals/"> Journals and Publications </a> </li> <li class="mobile-nav-context-link"> <a class="" href="/en/pedialink/neonatal-resuscitation-program/"> NRP </a> </li> <li class="mobile-nav-context-link"> <a class="" href="https://login.healthstream.com/hstmsts/login.aspx"> NRP LMS Login </a> </li> </ul> </li> <li class="main-nav-menu-item patientcare "> <div class="main-nav-menu-item-top"> <a class="" href="/en/patient-care/" target="" data-testid="link-patientcare"> Patient Care </a> </div> <ul class="mobile-header-context-link-list"> </ul> </li> <li class="main-nav-menu-item practicemanagement "> <div class="main-nav-menu-item-top"> <a class="" href="/en/practice-management/" target="" data-testid="link-practicemanagement"> Practice Management </a> </div> <ul class="mobile-header-context-link-list"> </ul> </li> <li class="main-nav-menu-item community "> <div class="main-nav-menu-item-top"> <a class="" href="/en/community/" target="" data-testid="link-community"> Community </a> <div class="mobile-header-trigger"> <svg onclick="mobileGlobalNav('community')" class="mobile-header-trigger-open"> <use xlink:href="#arrow-down"></use> </svg> </div> </div> <ul class="mobile-header-context-link-list"> <li class="mobile-nav-context-link"> <a class="" href="/en/community/aap-committees/"> AAP Committees </a> </li> <li class="mobile-nav-context-link"> <a class="" href="/en/community/aap-councils/"> AAP Councils </a> </li> <li class="mobile-nav-context-link"> <a class="" href="/en/community/aap-sections/"> AAP Sections </a> </li> <li class="mobile-nav-context-link"> <a class="" href="https://collaborate.aap.org/AAP-Volunteer-Network/Pages/Volunteer-Board-National.aspx"> Volunteer Network </a> </li> <li class="mobile-nav-context-link"> <a class="" href="/en/community/join-your-chapter/"> Join a Chapter </a> </li> <li class="mobile-nav-context-link"> <a class="" href="/en/community/chapter-websites/"> Chapter Websites </a> </li> <li class="mobile-nav-context-link"> <a class="" href="/en/members/home/directories-and-rosters/chapter-district-leadership-rosters/chapter-and-district-executive-directors/"> Chapter Executive Directors </a> </li> <li class="mobile-nav-context-link"> <a class="" href="/en/community/district-map/"> District Map </a> </li> </ul> </li> <li class="main-nav-menu-item healthychildren "> <div class="main-nav-menu-item-top"> <a class="" href="http://healthychildren.org/" target="_blank" data-testid="link-healthychildren"> Healthy Children </a> </div> <ul class="mobile-header-context-link-list"> </ul> </li> <li class="main-nav-menu-item shopaap main-nav-menu-item-mobile-only "> <div class="main-nav-menu-item-top"> <a class="" href="/en/shopaap/" target="" data-testid="link-shopaap"> shopAAP </a> </div> <ul class="mobile-header-context-link-list"> </ul> </li> </ul> </div> </header> <header class="global-header "> <div class="global-header-top"> <div class="main-nav print-hide" id="main-nav"> <div class="main-nav-wrapper" id="main-nav-wrapper"> <div class="main-nav-left-wrapper"> <ul class="main-nav-menu unlisted" id="main-nav-menu"> <li class="main-nav-menu-item aaphome "> <div class="main-nav-menu-item-top"> <a class="" href="/en/" target="" data-testid="link-aaphome"> AAP Home </a> <div class="mobile-header-trigger"> <svg onclick="mobileGlobalNav('aaphome')" class="mobile-header-trigger-open"> <use xlink:href="#arrow-down"></use> </svg> </div> </div> <ul class="mobile-header-context-link-list"> <li class="mobile-nav-context-link"> <a class="" href="/en/news-room/"> News </a> </li> <li class="mobile-nav-context-link"> <a class="" href="/en/membership-application/join-aap/"> Membership </a> </li> <li class="mobile-nav-context-link"> <a class="" href="/en/career-resources/"> Career Resources </a> </li> <li class="mobile-nav-context-link"> <a class="" href="/en/research/"> Research </a> </li> <li class="mobile-nav-context-link"> <a class="" href="/en/philanthropy/"> Philanthropy </a> </li> <li class="mobile-nav-context-link"> <a class="" href="/en/about-the-aap/"> About the AAP </a> </li> </ul> </li> <li class="main-nav-menu-item policy "> <div class="main-nav-menu-item-top"> <a class="" href="/en/policy/" target="" data-testid="link-policy"> Policy </a> <div class="mobile-header-trigger"> <svg onclick="mobileGlobalNav('policy')" class="mobile-header-trigger-open"> <use xlink:href="#arrow-down"></use> </svg> </div> </div> <ul class="mobile-header-context-link-list"> <li class="mobile-nav-context-link"> <a class="" href="https://doi.org/10.1542/peds.2024-069987"> Recommended Childhood and Adolescent Immunization Schedule: United States, 2025: Policy Statement </a> </li> <li class="mobile-nav-context-link"> <a class="" href="https://publications.aap.org/aapnews/news/30742"> CDC Releases 2025 Immunization Schedules </a> </li> <li class="mobile-nav-context-link"> <a class="" href="https://www.healthychildren.org/English/ages-stages/teen/substance-abuse/Pages/dangers-of-prescription-drug-misuse-tips-to-keep-your-teen-safe.aspx"> Dangers of Prescription Drug Misuse: Tips to Keep Your Teen Safe </a> </li> <li class="mobile-nav-context-link"> <a class="" href="/en/news-room/news-releases-from-the-aap/"> News Releases </a> </li> <li class="mobile-nav-context-link"> <a class="" href="https://pediatrics.aappublications.org/collection"> Policy Collections </a> </li> </ul> </li> <li class="main-nav-menu-item advocacy "> <div class="main-nav-menu-item-top"> <a class="" href="/en/advocacy/" target="" data-testid="link-advocacy"> Advocacy </a> <div class="mobile-header-trigger"> <svg onclick="mobileGlobalNav('advocacy')" class="mobile-header-trigger-open"> <use xlink:href="#arrow-down"></use> </svg> </div> </div> <ul class="mobile-header-context-link-list"> <li class="mobile-nav-context-link"> <a class="" href="/en/advocacy/blueprint-for-children/the-state-of-children-in-2020/"> The State of Children in 2020 </a> </li> <li class="mobile-nav-context-link"> <a class="" href="/en/advocacy/blueprint-for-children/healthy-children/"> Healthy Children </a> </li> <li class="mobile-nav-context-link"> <a class="" href="/en/advocacy/blueprint-for-children/secure-families/"> Secure Families </a> </li> <li class="mobile-nav-context-link"> <a class="" href="/en/advocacy/blueprint-for-children/strong-communities/"> Strong Communities </a> </li> <li class="mobile-nav-context-link"> <a class="" href="/en/advocacy/blueprint-for-children/a-leading-nation-for-youth/"> A Leading Nation for Youth </a> </li> <li class="mobile-nav-context-link"> <a class="" href="/en/advocacy/transition-plan-2020/"> Transition Plan: Advancing Child Health in the Biden-Harris Administration </a> </li> <li class="mobile-nav-context-link"> <a class="" href="/en/advocacy/health-care-access-coverage/"> Health Care Access &amp; Coverage </a> </li> <li class="mobile-nav-context-link"> <a class="" href="/en/advocacy/immigrant-child-health/"> Immigrant Child Health </a> </li> <li class="mobile-nav-context-link"> <a class="" href="/en/advocacy/gun-violence-prevention/"> Gun Violence Prevention </a> </li> <li class="mobile-nav-context-link"> <a class="" href="/en/advocacy/tobacco-e-cigarettes/"> Tobacco &amp; E-Cigarettes </a> </li> <li class="mobile-nav-context-link"> <a class="" href="/en/advocacy/vaccines/"> Vaccines </a> </li> <li class="mobile-nav-context-link"> <a class="" href="/en/advocacy/child-nutrition/"> Child Nutrition </a> </li> <li class="mobile-nav-context-link"> <a class="" href="/en/advocacy/state-advocacy/assault-weapons-bans/"> Assault Weapons Bans </a> </li> <li class="mobile-nav-context-link"> <a class="" href="/en/advocacy/state-advocacy/childhood-immunizations/"> Childhood Immunizations </a> </li> <li class="mobile-nav-context-link"> <a class="" href="/en/advocacy/state-advocacy/flavored-e-cigarette-and-tobacco-products/"> E-Cigarette and Tobacco Products </a> </li> <li class="mobile-nav-context-link"> <a class="" href="/en/advocacy/childrens-health-care-coverage-fact-sheets/"> Children&#x2019;s Health Care Coverage Fact Sheets </a> </li> <li class="mobile-nav-context-link"> <a class="" href="/en/advocacy/opioid-fact-sheets/"> Opioid Fact Sheets </a> </li> <li class="mobile-nav-context-link"> <a class="" href="/en/advocacy/advocacy-training-modules/"> Advocacy Training Modules </a> </li> <li class="mobile-nav-context-link"> <a class="" href="/en/my-account/login/Authenticate?returnurl=/globalassets/documents/academic-and-subspecialty-advocacy-washington-report_march-2020.pdf"> Subspecialty Advocacy Report </a> </li> <li class="mobile-nav-context-link"> <a class="" href="/en/advocacy/aap-advocacy-internship-program/"> AAP Washington Office Internship </a> </li> </ul> </li> <li class="main-nav-menu-item pedialink "> <div class="main-nav-menu-item-top"> <a class="" href="/en/pedialink/" target="" data-testid="link-pedialink"> PediaLink </a> <div class="mobile-header-trigger"> <svg onclick="mobileGlobalNav('pedialink')" class="mobile-header-trigger-open"> <use xlink:href="#arrow-down"></use> </svg> </div> </div> <ul class="mobile-header-context-link-list"> <li class="mobile-nav-context-link"> <a class="" href="https://shop.aap.org/professional-education/online-courses/"> Online Courses </a> </li> <li class="mobile-nav-context-link"> <a class="" href="https://shop.aap.org/professional-education/live-activities/"> Live and Virtual Activities </a> </li> <li class="mobile-nav-context-link"> <a class="" href="https://aapexperience.org/"> National Conference and Exhibition </a> </li> <li class="mobile-nav-context-link"> <a class="" href="https://shop.aap.org/professional-education/self-assessments/"> Prep&#xAE;- Pediatric Review and Education Programs </a> </li> <li class="mobile-nav-context-link"> <a class="" href="https://shop.aap.org/publications/journals/"> Journals and Publications </a> </li> <li class="mobile-nav-context-link"> <a class="" href="/en/pedialink/neonatal-resuscitation-program/"> NRP </a> </li> <li class="mobile-nav-context-link"> <a class="" href="https://login.healthstream.com/hstmsts/login.aspx"> NRP LMS Login </a> </li> </ul> </li> <li class="main-nav-menu-item patientcare "> <div class="main-nav-menu-item-top"> <a class="" href="/en/patient-care/" target="" data-testid="link-patientcare"> Patient Care </a> </div> <ul class="mobile-header-context-link-list"> </ul> </li> <li class="main-nav-menu-item practicemanagement "> <div class="main-nav-menu-item-top"> <a class="" href="/en/practice-management/" target="" data-testid="link-practicemanagement"> Practice Management </a> </div> <ul class="mobile-header-context-link-list"> </ul> </li> <li class="main-nav-menu-item community "> <div class="main-nav-menu-item-top"> <a class="" href="/en/community/" target="" data-testid="link-community"> Community </a> <div class="mobile-header-trigger"> <svg onclick="mobileGlobalNav('community')" class="mobile-header-trigger-open"> <use xlink:href="#arrow-down"></use> </svg> </div> </div> <ul class="mobile-header-context-link-list"> <li class="mobile-nav-context-link"> <a class="" href="/en/community/aap-committees/"> AAP Committees </a> </li> <li class="mobile-nav-context-link"> <a class="" href="/en/community/aap-councils/"> AAP Councils </a> </li> <li class="mobile-nav-context-link"> <a class="" href="/en/community/aap-sections/"> AAP Sections </a> </li> <li class="mobile-nav-context-link"> <a class="" href="https://collaborate.aap.org/AAP-Volunteer-Network/Pages/Volunteer-Board-National.aspx"> Volunteer Network </a> </li> <li class="mobile-nav-context-link"> <a class="" href="/en/community/join-your-chapter/"> Join a Chapter </a> </li> <li class="mobile-nav-context-link"> <a class="" href="/en/community/chapter-websites/"> Chapter Websites </a> </li> <li class="mobile-nav-context-link"> <a class="" href="/en/members/home/directories-and-rosters/chapter-district-leadership-rosters/chapter-and-district-executive-directors/"> Chapter Executive Directors </a> </li> <li class="mobile-nav-context-link"> <a class="" href="/en/community/district-map/"> District Map </a> </li> </ul> </li> <li class="main-nav-menu-item healthychildren "> <div class="main-nav-menu-item-top"> <a class="" href="http://healthychildren.org/" target="_blank" data-testid="link-healthychildren"> Healthy Children </a> </div> <ul class="mobile-header-context-link-list"> </ul> </li> <li class="main-nav-menu-item shopaap main-nav-menu-item-mobile-only "> <div class="main-nav-menu-item-top"> <a class="" href="/en/shopaap/" target="" data-testid="link-shopaap"> shopAAP </a> </div> <ul class="mobile-header-context-link-list"> </ul> </li> </ul> <div class="main-nav-dropdown" id="main-nav-dropdown"> <div class="main-nav-dropdown-button" id="main-nav-dropdown-button"> <span>More</span> <svg> <use xlink:href="#arrow-down"></use> </svg> </div> <ul class="main-nav-dropdown-menu unlisted" id="main-nav-dropdown-menu"></ul> </div> </div> <ul class="main-nav-menu unlisted" id="main-nav-menu-utility"> <li class="main-nav-menu-item main-nav-menu-item-right utility-nav-item utility-nav-cart " id="li-shop-link"> <a href="https://www.aap.org/en/shopaap">shopAAP</a> </li> <li class="main-nav-menu-item main-nav-menu-item-right utility-nav-item utility-nav-cart" id="li-shop-cart"> <a class="utility-nav-item utility-nav-cart" data-cart-popup-button aria-expanded="false" href="javascript:;"> <svg> <use xlink:href="#icon-cart"></use> </svg> <div class="utility-nav-cart-amount hidden" data-cart-amount></div> </a> <div class="popup-cart" data-cart-popup aria-hidden="true"> <div class="popup-cart-header"> <div class="popup-cart-header-content"> <h3>Shopping cart</h3> <p data-cart-popup-item-number></p> </div> <button class="unbutton" type="button" data-cart-popup-button-close> <svg> <use xlink:href="#icon-close"></use> </svg> </button> </div> <div class="popup-cart-warning" data-cart-validation-messages></div> <div class="popup-cart-wrapper" data-cart-popup-cart> <div class="popup-cart-buttons"> <a class="button-secondary" href="/en/shopaap/cart/"><svg><use xlink:href="#icon-cart"></use></svg>Go to Cart</a> <a class="button-primary" id="cart-popup-checkout-cta" href="/en/shopaap/cart/shipping/">Checkout</a> </div> <div class="popup-cart-item-list" data-cart-popup-items></div> <div class="popup-cart-more" data-cart-popup-overflow></div> <button type="button" class="unbutton button-link" data-cart-clear-cart-cta id="cart-popup-clear-cart-cta">Clear Cart</button> <div class="popup-cart-total"><p class="paragraph-large">Order Subtotal</p><p class="paragraph-large" data-cart-popup-subtotal></p></div> </div> <div data-cart-popup-empty class="popup-cart-empty active"> <svg> <use xlink:href="#icon-cart"></use> </svg> <p class="popup-cart-empty-title">Your cart is empty.</p> <p class="popup-cart-empty-subtitle">Looks like you haven&#x27;t added anything to your cart.</p> <div class="popup-cart-buttons"> <a class="button-secondary" href="/en/shopaap/cart/">View Saved Items</a> <a class="button-primary" href="https://www.aap.org/en/shopaap">Go Shopping</a> </div> </div> <div data-cart-popup-loading class="popup-cart-empty active"> <p>Loading</p> <div class="loader"> <div class="loader-circle"> <svg class="spin" viewBox="25 25 50 50"> <circle class="path" cx="50" cy="50" r="20" fill="none" strokeWidth="3" strokeMiterlimit="10" /> </svg> <svg class="base" viewBox="25 25 50 50"> <circle class="path" cx="50" cy="50" r="20" fill="none" strokeWidth="3" strokeMiterlimit="10" /> </svg> </div> </div> </div> </div> </li> <li class="main-nav-menu-item main-nav-menu-item-right utility-nav-item utility-nav-cart" id="li-utilitynav-create-account-link"> <a href="/en/my-account/create-account-landing-page/">Create Account</a> </li> <li class="main-nav-menu-item main-nav-menu-item-right-bullet utility-nav-item utility-nav-cart" id="li-utilitynav-login-link"> <a href="/en/my-account/login/?ReturnUrl=https://www.aap.org/en/career-resources/medical-students/"> Login </a> </li> <!--Explore AAP Button --> <div class="explore-aap-wrap" explore-nav> <a href="javascript:;" class="explore-aap-trigger" explore-nav-button aria-controls="explore-aap-nav" aria-expanded="false"> <span class="explore-icon"> <svg class="icon-explore"><use xlink:href="#icon-explore"></use></svg><span class="explore-aap-text">Explore AAP</span> </span> <span class="explore-aap-close"> <i class="icon-general-close"> <span class="screen-reader-only">Close</span> </i> </span> </a> <div id="explore-aap-nav" class="explore-aap-links-wrap" explore-nav-menu aria-hidden="true"> <div class="explore-aap-links-wrap-inner"> <ul class="explore-aap-links"> <li class="explore-aap-links-list-item"> <a class="explore-aap-links-list-item-link" href="https://publications.aap.org/" target="_blank"> Publications </a> </li> <li class="explore-aap-links-list-item"> <a class="explore-aap-links-list-item-link" href="/en/shopaap/" target=""> shopAAP </a> </li> <li class="explore-aap-links-list-item"> <a class="explore-aap-links-list-item-link" href="/en/pedialink/" target=""> PediaLink </a> </li> <li class="explore-aap-links-list-item"> <a class="explore-aap-links-list-item-link" href="https://www.healthychildren.org/" target="_blank"> HealthyChildren.org </a> </li> </ul> </div> </div> </div> </ul> </div> </div> <div class="global-search-wrapper"> <a href="https://www.aap.org"> <div class="global-logo-aap"> <svg class="icon icon-AAP-Logo_1-Line_Black"> <use xlink:href="#icon-AAP-Logo_2-Line_Black"></use> </svg> </div> </a> <div id="search-bar-component"></div> </div> </div> <div class="global-header-contextual-nav "> <div class="global-header-wrapper"> <a class="global-header-contextual-nav-current" href="/link/8c1a6ab6d0094177800d596b90cd68d5.aspx"> Home </a> <ul class="global-header-contextual-nav-links unlisted"> <li class="main-nav-menu-item news " onmouseenter="onMegaNavHover('news')" onmouseleave="onMegaNavLeave()"> <div class="main-nav-menu-item-top"> <a class="" href="#" > News </a> </div> <div class="mega-nav"> <div class="mega-nav-inner" > <div class="mega-nav-inner-item mega-nav-inner-item-content"> <div class="title">News</div> <div class="description">Get the latest news from the AAP including press statements, the AAP Voices Blog, the Pediatrics OnCall Podcast and more!</div> <div class="cta"> <a href="/en/news-room/"> News </a> </div> </div> <div class="mega-nav-inner-item mega-nav-inner-item-links"> <div class="mega-nav-inner-item-links-wrapper"> <div class="mega-nav-link-list title">Our News Sources</div> <div class="mega-nav-link-list title"></div> </div> <div class="mega-nav-inner-item-links-wrapper"> <div class="mega-nav-link-list"> <ul> <li> <a href="/en/news-room/news-releases-from-the-aap/" title="News from the AAP">News from the AAP</a> </li> <li> <a href="/en/news-room/news-releases-from-pediatrics/" title="Latest Studies in Pediatrics">Latest Studies in Pediatrics</a> </li> <li> <a href="/en/pages/podcast/" title="Pediatrics OnCall Podcast">Pediatrics OnCall Podcast</a> </li> <li> <a href="https://publications.aap.org/aapnews" target="_blank" title="AAP News">AAP News</a> </li> </ul> </div> <div class="mega-nav-link-list"> <ul> <li> <a href="/en/news-room/aap-voices/" title="AAP Voices Blog">AAP Voices Blog</a> </li> <li> <a href="/en/news-room/campaigns-and-toolkits/" title="Campaigns and Toolkits">Campaigns and Toolkits</a> </li> <li> <a href="/en/news-room/working-with-the-media/" title="Spokesperson Resources">Spokesperson Resources</a> </li> </ul> </div> </div> </div> </div> </div> </li> <li class="main-nav-menu-item membership " onmouseenter="onMegaNavHover('membership')" onmouseleave="onMegaNavLeave()"> <div class="main-nav-menu-item-top"> <a class="" href="#" > Membership </a> </div> <div class="mega-nav"> <div class="mega-nav-inner" > <div class="mega-nav-inner-item mega-nav-inner-item-content"> <div class="title">Membership</div> <div class="description">There&#x2019;s a place for you in the Academy no matter where you are in your career. Learn more about all our membership categories.</div> <div class="cta"> <a href="/en/membership-application/join-aap/"> Membership </a> </div> </div> <div class="mega-nav-inner-item mega-nav-inner-item-links"> <div class="mega-nav-inner-item-links-wrapper"> <div class="mega-nav-link-list title">Be a Part of the AAP</div> <div class="mega-nav-link-list title"></div> </div> <div class="mega-nav-inner-item-links-wrapper"> <div class="mega-nav-link-list"> <ul> <li> <a href="/en/membership-application/join-aap/" title="Join the AAP">Join the AAP</a> </li> <li> <a href="/en/membership-application/join-aap/join-the-aap-enterprise-membership/">Join the AAP &#x2013; Enterprise Membership</a> </li> <li> <a href="/en/members/home/" title="Exclusive for Members">Exclusive for Members</a> </li> <li> <a href="/en/membership-application/faq/" title="Membership FAQs">Membership FAQs</a> </li> <li> <a href="/en/members/home/directories-and-rosters/" title="AAP Membership Directory">AAP Membership Directory</a> </li> <li> <a href="/en/members/home/member-advantage-programs/" title="Member Advantage Programs">Member Advantage Programs</a> </li> <li> <a href="/en/shopaap/shop-by-product/getredbook/?utm_source=aap-ecommerce&amp;utm_medium=link&amp;utm_campaign=getredbook-membership-dropdown-menu&amp;utm_content=2024-04-09" title="Red Book Member Benefit">Red Book Member Benefit</a> </li> </ul> </div> <div class="mega-nav-link-list"> <ul> <li> <a href="/en/my-account/my-membership/" target="_blank" title="My Membership">My Membership</a> </li> <li> <a href="/en/community/aap-councils/" title="Join a Council">Join a Council</a> </li> <li> <a href="/en/community/aap-sections/" title="Join a Section">Join a Section</a> </li> <li> <a href="/en/community/join-your-chapter/" title="Join a Chapter">Join a Chapter</a> </li> <li> <a href="/en/members/home/national-aap-election-center/" title="National Election Center">National Election Center</a> </li> </ul> </div> </div> </div> </div> </div> </li> <li class="main-nav-menu-item careerresources " onmouseenter="onMegaNavHover('careerresources')" onmouseleave="onMegaNavLeave()"> <div class="main-nav-menu-item-top"> <a class="" href="#" > Career Resources </a> </div> <div class="mega-nav"> <div class="mega-nav-inner" > <div class="mega-nav-inner-item mega-nav-inner-item-content"> <div class="title">Career Resources</div> <div class="description">Find valuable resources to assist you in your pediatrics career from pre-med and training to finding a job and growing a thriving practice.</div> <div class="cta"> <a href="/en/career-resources/"> Career Resources </a> </div> </div> <div class="mega-nav-inner-item mega-nav-inner-item-links"> <div class="mega-nav-inner-item-links-wrapper"> <div class="mega-nav-link-list title">Path to Pediatrics</div> <div class="mega-nav-link-list title"></div> </div> <div class="mega-nav-inner-item-links-wrapper"> <div class="mega-nav-link-list"> <ul> <li> <a href="/en/career-resources/pre-med/" title="Pre-Med">Pre-Med</a> </li> <li> <a href="/en/career-resources/medical-students/" title="Medical Students">Medical Students</a> </li> <li> <a href="/en/career-resources/pediatric-residents/" title="Pediatric Residents">Pediatric Residents</a> </li> <li> <a href="/en/career-resources/fellowship-trainees/" title="Fellowship Trainees">Fellowship Trainees</a> </li> </ul> </div> <div class="mega-nav-link-list"> <ul> <li> <a href="/en/career-resources/planning-your-career/" title="Planning Your Career">Planning Your Career</a> </li> <li> <a href="/en/career-resources/conducting-your-job-search/" title="Conducting Your Job Search">Conducting Your Job Search</a> </li> <li> <a href="/en/career-resources/making-career-transitions/" title="Making Career Transitions">Making Career Transitions</a> </li> <li> <a href="/en/career-resources/retiring-from-pediatrics/" title="Retirement">Retirement</a> </li> </ul> </div> </div> </div> </div> </div> </li> <li class="main-nav-menu-item research " onmouseenter="onMegaNavHover('research')" onmouseleave="onMegaNavLeave()"> <div class="main-nav-menu-item-top"> <a class="" href="#" > Research </a> </div> <div class="mega-nav"> <div class="mega-nav-inner" > <div class="mega-nav-inner-item mega-nav-inner-item-content"> <div class="title">Research</div> <div class="description">AAP original research, including a robust practice-based research network, addresses important questions regarding pediatric practice and the health and well being of children.</div> <div class="cta"> <a href="/en/research/"> Research </a> </div> </div> <div class="mega-nav-inner-item mega-nav-inner-item-links"> <div class="mega-nav-inner-item-links-wrapper"> <div class="mega-nav-link-list title">AAP Research</div> <div class="mega-nav-link-list title"></div> </div> <div class="mega-nav-inner-item-links-wrapper"> <div class="mega-nav-link-list"> <ul> <li> <a href="/en/pages/2019-novel-coronavirus-covid-19-infections/children-and-covid-19-state-level-data-report/" title="COVID-19 State-Level Data Reports">COVID-19 State-Level Data Reports</a> </li> <li> <a href="/en/pages/2019-novel-coronavirus-covid-19-infections/children-and-covid-19-vaccination-trends/" title="Children and COVID-19 Vaccination Trends">Children and COVID-19 Vaccination Trends</a> </li> <li> <a href="/en/research/pediatric-research-in-office-settings-pros/" title="Practice Research in the Office Setting (PROS)">Practice Research in the Office Setting (PROS)</a> </li> <li> <a href="/en/research/pediatrician-life-and-career-experience-study-places/" title="Pediatrician Life and Career Experience Study (PLACES)">Pediatrician Life and Career Experience Study (PLACES)</a> </li> <li> <a href="/en/research/periodic-survey-of-us-aap-members/" title="Periodic Survey">Periodic Survey</a> </li> </ul> </div> <div class="mega-nav-link-list"> <ul> <li> <a href="/en/research/annual-survey-of-graduating-residents/" title="Annual Survey of Graduating Residents">Annual Survey of Graduating Residents</a> </li> <li> <a href="https://downloads.aap.org/AAP/PDF/CHT_Child Population Characteristics.pdf" target="_blank" title="Child Population Characteristics Trends">Child Population Characteristics Trends</a> </li> <li> <a href="https://downloads.aap.org/AAP/PDF/CHT_Child Health.pdf" target="_blank" title="Child Health Trends">Child Health Trends</a> </li> <li> <a href="https://downloads.aap.org/AAP/PDF/CHT_Child Health Care.pdf" target="_blank" title="Child Health Care Trends">Child Health Care Trends</a> </li> </ul> </div> </div> </div> </div> </div> </li> <li class="main-nav-menu-item philanthropy " onmouseenter="onMegaNavHover('philanthropy')" onmouseleave="onMegaNavLeave()"> <div class="main-nav-menu-item-top"> <a class="" href="#" > Philanthropy </a> </div> <div class="mega-nav"> <div class="mega-nav-inner" > <div class="mega-nav-inner-item mega-nav-inner-item-content"> <div class="title">Philanthropy</div> <div class="description">The AAP is dedicated to the health of all children and the pediatric professionals who care for them. Learn how your gifts makes that possible.</div> <div class="cta"> <a href="/en/philanthropy/"> Philanthropy </a> </div> </div> <div class="mega-nav-inner-item mega-nav-inner-item-links"> <div class="mega-nav-inner-item-links-wrapper"> <div class="mega-nav-link-list title"></div> <div class="mega-nav-link-list title"></div> </div> <div class="mega-nav-inner-item-links-wrapper"> <div class="mega-nav-link-list"> <ul> <li> <a href="/en/philanthropy/friends-of-children-fund/" title="Friends of Children Fund">Friends of Children Fund</a> </li> <li> <a href="/en/philanthropy/tomorrows-children-endowment/" title=" Tomorrow&#x2019;s Children Endowment">Tomorrow&#x2019;s Children Endowment</a> </li> <li> <a href="/en/philanthropy/disaster-recovery-fund/" title="Disaster Recovery Fund">Disaster Recovery Fund</a> </li> <li> <a href="/en/philanthropy/donate/">Donate</a> </li> </ul> </div> <div class="mega-nav-link-list"> <ul> <li> <a href="http://donate.aap.org/" title="Monthly Giving Plans">Monthly Giving Plans</a> </li> <li> <a href="/en/philanthropy/tribute-giving/" title="Honor a Person You Care About">Honor a Person You Care About</a> </li> <li> <a href="https://aap.planmygift.org/donor-advised-funds" title="Donor-Advised Funds">Donor-Advised Funds</a> </li> <li> <a href="https://aap.planmygift.org/wills-and-living-trusts" title="AAP in Your Will">AAP in Your Will</a> </li> <li> <a href="/en/philanthropy/corporate-and-organizational-partners/" title="Become a Corporate Partner">Become a Corporate Partner</a> </li> </ul> </div> </div> </div> </div> </div> </li> <li class="main-nav-menu-item abouttheaap " onmouseenter="onMegaNavHover('abouttheaap')" onmouseleave="onMegaNavLeave()"> <div class="main-nav-menu-item-top"> <a class="" href="#" > About the AAP </a> </div> <div class="mega-nav"> <div class="mega-nav-inner" > <div class="mega-nav-inner-item mega-nav-inner-item-content"> <div class="title">About the AAP</div> <div class="description">Learn more about the American Academy of Pediatrics including our mission, leadership and commitment to the optimal health and well-being of all children.</div> <div class="cta"> <a href="/en/about-the-aap/"> About the AAP </a> </div> </div> <div class="mega-nav-inner-item mega-nav-inner-item-links"> <div class="mega-nav-inner-item-links-wrapper"> <div class="mega-nav-link-list title">Learn More About Us</div> <div class="mega-nav-link-list title"></div> </div> <div class="mega-nav-inner-item-links-wrapper"> <div class="mega-nav-link-list"> <ul> <li> <a href="/en/support-center/" title="Contact Us">Contact Us</a> </li> <li> <a href="/en/about-the-aap/employment-opportunities/" title="Employment Opportunities">Employment Opportunities</a> </li> <li> <a href="/en/about-the-aap/american-academy-of-pediatrics-equity-and-inclusion-efforts/" title="Equity and Inclusion Efforts">Equity and Inclusion Efforts</a> </li> <li> <a href="/en/about-the-aap/rfp-opportunities/" title="RFP Opportunities">RFP Opportunities</a> </li> </ul> </div> <div class="mega-nav-link-list"> <ul> <li> <a href="/en/about-the-aap/aap-leadership/board-of-directors/" title="Board of Directors">Board of Directors</a> </li> <li> <a href="/en/about-the-aap/aap-leadership/senior-leadership-team/" title="Senior Leadership Team">Senior Leadership Team</a> </li> <li> <a href="https://downloads.aap.org/AAP/PDF/Const-and-Bylaws-2020.pdf" title="Constitution &amp; By-Laws">Constitution &amp; By-Laws</a> </li> <li> <a href="/en/about-the-aap/strategic-plan/" title="Strategic Plan">Strategic Plan</a> </li> </ul> </div> </div> </div> </div> </div> </li> </ul> </div> </div> <div class="global-header-contextual-mobile-nav " > <div class="global-header-contextual-mobile-wrapper" data-horizontal-scroll-container> <nav class="sub-nav"> <ul class="global-header-contextual-mobile-nav-links unlisted tabbed sub-nav-contents" data-horizontal-scroll-content> <li class="main-nav-menu-item news"> <div class="main-nav-menu-item-top"> <a class="" href="/en/news-room/" > News </a> </div> </li> <li class="main-nav-menu-item membership"> <div class="main-nav-menu-item-top"> <a class="" href="/en/membership-application/join-aap/" > Membership </a> </div> </li> <li class="main-nav-menu-item careerresources"> <div class="main-nav-menu-item-top"> <a class="" href="/en/career-resources/" > Career Resources </a> </div> </li> <li class="main-nav-menu-item research"> <div class="main-nav-menu-item-top"> <a class="" href="/en/research/" > Research </a> </div> </li> <li class="main-nav-menu-item philanthropy"> <div class="main-nav-menu-item-top"> <a class="" href="/en/philanthropy/" > Philanthropy </a> </div> </li> <li class="main-nav-menu-item abouttheaap"> <div class="main-nav-menu-item-top"> <a class="" href="/en/about-the-aap/" > About the AAP </a> </div> </li> </ul> </nav> <button id="subNavAdvancerLeft" class="sub-nav-advancer sub-nav-advancer-left" type="button"> <svg class="sub-nav-advancer-icon sub-nav-advancer-icon-left" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 551 1024"><path d="M445.44 38.183L-2.53 512l447.97 473.817 85.857-81.173-409.6-433.23v81.172l409.6-433.23L445.44 38.18z"></path></svg> </button> <button id="subNavAdvancerRight" class="sub-nav-advancer sub-nav-advancer-right" type="button"> <svg class="sub-nav-advancer-icon sub-nav-advancer-icon-right" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 551 1024"><path d="M105.56 985.817L553.53 512 105.56 38.183l-85.857 81.173 409.6 433.23v-81.172l-409.6 433.23 85.856 81.174z"></path></svg> </button> </div> </div> <script type="text/javascript"> // Get all links inside of the mega-nav and add onclick listeners var links = document.querySelectorAll(".mega-nav-inner * a"); if (links && links.length > 0) { links.forEach(function (link, index, list) { link.addEventListener("click", () => onMegaNavLinkClick(link)); }); } // Send tag for clicking mega-nav links onMegaNavLinkClick = (link) => { var dataLayer = window.dataLayer || []; const event = "MegaNavLinkClickEvent"; const tag = { event, megaNavLinkName: link.innerText, magaNavLinkUrl: link.href }; console.log(`Sending tag to data layer: ${JSON.stringify(tag)}`); dataLayer.push(tag); } var hoverTimer; var waitTime = 500; // Using timer to weed out momentary/incidental mouse enter events onMegaNavHover = (name) => { hoverTimer = setTimeout(function() { var dataLayer = window.dataLayer || []; const event = "MegaNavHoverEvent"; const tag = { event, megaNavItem: name, }; console.log(`Sending tag to data layer: ${JSON.stringify(tag)}`); dataLayer.push(tag); }, waitTime); } onMegaNavLeave = () => { clearTimeout(hoverTimer); } </script> <div class="page-header-global " data-page-header-global> <div class="page-header-global-body"> <h1 data-testid="welcome-name">Medical Students</h1> <div class="breadcrumbs"> <a href="https://www.aap.org/en/">Home</a> <span class="breadcrumbs-divider"> &nbsp;/&nbsp; </span> <a href="https://www.aap.org/en/career-resources/">Career Resources</a> <span class="breadcrumbs-divider"> &nbsp;/&nbsp; </span> <span class="breadcrumb-page-name">Medical Students</span> </div> </div> </div> </header> <div class="preload-hide"></div> <div class="container main-body" id="main-body"> <div class="content-container"> <div class="main-content"> <div><div class="row row0"><div class="block fiftyfiftyblock"> <section class="adage-block adage-block-full-bleed client-view"> <div class="adage-fiftyfifty"> <div class="adage-fiftyfifty-inner ratio-standard"> <article class="adage-fiftyfifty-item adage-theme-default non-media" data-full-bleed-image> <div class="adage-wysiwyg-block"> <p>Medical school is an exciting and challenging step towards becoming a physician. If you think you are interested in pediatrics, there are lots of opportunities to expose you to the field and help you make decisions about your future. Below are some helpful resources from the AAP that can help guide you.</p> </div> </article> <article class="adage-fiftyfifty-item adage-theme-default " data-full-bleed-image> <section class="adage-block"> <figure class="adage-block-inner adage-image-block"> <img src="/globalassets/career-resources/pediatrician_examining_infant_girl.jpg" /> </figure> </section> </article> </div> </div> </section> </div></div><div class="row row1"><div class="block cardblock col-xxl-3 col-xl-3 col-lg-3 col-md-6 col-sm-12"> <a href="/en/career-resources/medical-students/pediatric-interest-groups/"> <div class="card-block"> <div class="card-block-content rich-text"> <h3 class="card-block-header">Pediatric Interest Groups</h3> <p class="paragraph-caption"> Pediatric Interest Groups (PIGs) provide the opportunity to learn about and experience the field of pediatrics starting in the first year of medical school. </p> </div> </div> </a></div><div class="block cardblock col-xxl-3 col-xl-3 col-lg-3 col-md-6 col-sm-12"> <a href="/en/career-resources/medical-students/what-to-expect-in-medical-school-years-1-and-2/"> <div class="card-block"> <div class="card-block-content rich-text"> <h3 class="card-block-header">What to Expect in Medical School: Years 1-2</h3> <p class="paragraph-caption"> From clinical rotations to exploring specialty interests, here&#x27;s some of what you can expect during the first two years of medical school. </p> </div> </div> </a></div><div class="block cardblock col-xxl-3 col-xl-3 col-lg-3 col-md-6 col-sm-12"> <a href="/en/career-resources/medical-students/having-a-successful-summer-after-year-1/"> <div class="card-block"> <div class="card-block-content rich-text"> <h3 class="card-block-header">Having a Successful Summer after Year 1</h3> <p class="paragraph-caption"> The summer after your first year of medical school is an excellent time to explore different fields of medicine. Make the most of your summer by following these recommendations. </p> </div> </div> </a></div><div class="block cardblock col-xxl-3 col-xl-3 col-lg-3 col-md-6 col-sm-12"> <a href="/en/career-resources/medical-students/medical-licensure-starts-in-medical-school/"> <div class="card-block"> <div class="card-block-content rich-text"> <h3 class="card-block-header">Medical Licensure Starts in Medical School</h3> <p class="paragraph-caption"> You begin to work towards your medical license in medical school. Get some tips on how and when to get started. </p> </div> </div> </a></div></div><div class="row row2"><div class="block cardblock col-xxl-3 col-xl-3 col-lg-3 col-md-6 col-sm-12"> <a href="/en/career-resources/medical-students/surviving-pediatric-clerkship/"> <div class="card-block"> <div class="card-block-content rich-text"> <h3 class="card-block-header">Surviving Pediatric Clerkship</h3> <p class="paragraph-caption"> Information on what you can expect during your pediatric clerkship. </p> </div> </div> </a></div><div class="block cardblock col-xxl-3 col-xl-3 col-lg-3 col-md-6 col-sm-12"> <a href="/en/career-resources/medical-students/tips-for-successful-clerkships/"> <div class="card-block"> <div class="card-block-content rich-text"> <h3 class="card-block-header">Tips for Successful Clerkships</h3> <p class="paragraph-caption"> Communication, professionalism and honing your patient care skills are among the tips highlighted here to ensure a successful clerkship. </p> </div> </div> </a></div><div class="block cardblock col-xxl-3 col-xl-3 col-lg-3 col-md-6 col-sm-12"> <a href="/en/career-resources/medical-students/pediatric-research-during-medical-school/"> <div class="card-block"> <div class="card-block-content rich-text"> <h3 class="card-block-header">Pediatric Research During Medical School</h3> <p class="paragraph-caption"> Research during medical school is a highly valuable part of the overall education of a physician. View common questions about pediatric research during medical school. </p> </div> </div> </a></div><div class="block cardblock col-xxl-3 col-xl-3 col-lg-3 col-md-6 col-sm-12"> <a href="/en/career-resources/medical-students/working-closely-with-your-pediatric-advisor/"> <div class="card-block"> <div class="card-block-content rich-text"> <h3 class="card-block-header">Working Closely with Your Pediatric Advisor</h3> <p class="paragraph-caption"> From specific topics you should discuss to questions you should ask as you enter your fourth year. </p> </div> </div> </a></div></div><div class="row row3"><div class="block cardblock col-xxl-3 col-xl-3 col-lg-3 col-md-6 col-sm-12"> <a href="/en/career-resources/medical-students/finding-the-right-pediatric-residency/"> <div class="card-block"> <div class="card-block-content rich-text"> <h3 class="card-block-header">Finding the Right Pediatric Residency</h3> <p class="paragraph-caption"> Resources to help inform your decision as you start considering pediatric residency options. </p> </div> </div> </a></div><div class="block cardblock col-xxl-3 col-xl-3 col-lg-3 col-md-6 col-sm-12"> <a href="/en/career-resources/medical-students/the-residency-application-process-and-timeline/"> <div class="card-block"> <div class="card-block-content rich-text"> <h3 class="card-block-header">The Application Process &amp; Timeline</h3> <p class="paragraph-caption"> From how applications are submitted to what you should be including in your application, details on the residency application process. </p> </div> </div> </a></div><div class="block cardblock col-xxl-3 col-xl-3 col-lg-3 col-md-6 col-sm-12"> <a href="/en/career-resources/medical-students/the-pediatric-residency-interview/"> <div class="card-block"> <div class="card-block-content rich-text"> <h3 class="card-block-header">The Pediatric Residency Interview</h3> <p class="paragraph-caption"> Preparing for the pediatric residency interview is crucial. Tips and advice to help ensure a smooth interview process. </p> </div> </div> </a></div><div class="block cardblock col-xxl-3 col-xl-3 col-lg-3 col-md-6 col-sm-12"> <a href="/en/career-resources/medical-students/after-interviews-the-match/"> <div class="card-block"> <div class="card-block-content rich-text"> <h3 class="card-block-header">After Interviews, the Match</h3> <p class="paragraph-caption"> Here&#x27;s what you can expect during the National Resident Matching Program (NRMP) match. </p> </div> </div> </a></div></div><div class="row row4"><div class="block fullwidthctablock"> <div class="adage-fwcta-container blue"> <section class="adage-block adage-block-full-bleed adage-fwcta-section"> <div class="adage-fwcta-spacer"></div> <div class="adage-fwcta center"> <div class="adage-fwcta-inner"> <h2 class="adage-block-heading adage-fwcta-heading">AAP Resources During Medical School</h2> <div class="adage-fwcta-content"> <p>Connect with other medical students, residents, and fellowship trainees as you build a solid foundation for your career as a pediatrician!</p> </div> <div class="adage-fwcta-cta"> <a href="/en/career-resources/medical-students/medical-student-membership/" class="btn button-primary">View Student Member Benefits</a> </div> </div> </div> </section> </div></div></div></div> </div> </div> <div class="back-to-top" tabindex="0" id="backToTop"> <svg class="back-to-top-arrow"> <use xlink:href="#back-to-top-arrow"></use> </svg> </div> </div> <script type="text/javascript"> window.searchBox = { searchBoxText: 'Search All AAP', searchButtonText: 'Search', findIndexUrl: 'https://es-us-api01.episerver.com/3fu1nB75NF5xwBMuzJdHOF0KFePbaflM/aaop_index00214/', searchPageUrl: '/en/search/', shopSearchBoxText: 'Search shopAAP' }; </script> <script type="text/javascript"> window.GoogleAnalyticsBootstrap = { sendUserInformationtoGA: 'False', lockedContentUniqueUserId: '', userVisitorGroupName: '', } </script> <script> window.errorText = { dismissButtonText: 'Dismiss', requiredErrorText: 'This is a required field', invalidErrorText: 'This field is invalid', invalidPasswordText: 'Password must be at least 10 characters long', passwordMatchErrorText: 'Passwords must match', } window.passwordValidation = { passwordRequiredLength: 10, passwordRequireNonLetterOrDigit: false, passwordRequireDigit: false, passwordRequireUpperCase: false, passwordRequireLowerCase: false, } </script> <script> window.loginInfo = { loginUrl: '/en/my-account/login/' } </script> <footer class="footer" id="footer"> <div class="footer-top"> <div class="footer-top-wrapper"> <div class="footer-aap-logo"> <svg> <use xlink:href="#Seal_Pos"></use> </svg> </div> <div class="row"> <div class="col-xxl-6 col-sm-12"> <div class="footer-top-about"> We&#x27;re 67&#x200B;,000 pediatricians committed to the optimal physical, mental, and social health and well-being for all infants, children, adolescents, and young adults. </div> </div> <div class="col-xxl-6 col-sm-12"> <div class="footer-top-nav"> <div class="row"> <ul class="col-xxl-4 unlisted"> <li class="main-nav-menu-item aaphome "> <div class="main-nav-menu-item-top"> <a class="" href="/en/" target="" data-testid="link-aaphome"> AAP Home </a> </div> <ul class="mobile-header-context-link-list"> </ul> </li> <li class="main-nav-menu-item policy "> <div class="main-nav-menu-item-top"> <a class="" href="/en/policy/" target="" data-testid="link-policy"> Policy </a> </div> <ul class="mobile-header-context-link-list"> </ul> </li> <li class="main-nav-menu-item advocacy "> <div class="main-nav-menu-item-top"> <a class="" href="/en/advocacy/" target="" data-testid="link-advocacy"> Advocacy </a> </div> <ul class="mobile-header-context-link-list"> </ul> </li> </ul> <ul class="col-xxl-4 unlisted"> <li class="main-nav-menu-item pedialink "> <div class="main-nav-menu-item-top"> <a class="" href="/en/pedialink/" target="" data-testid="link-pedialink"> PediaLink </a> </div> <ul class="mobile-header-context-link-list"> </ul> </li> <li class="main-nav-menu-item practicemanagement "> <div class="main-nav-menu-item-top"> <a class="" href="/en/practice-management/" target="" data-testid="link-practicemanagement"> Practice Management </a> </div> <ul class="mobile-header-context-link-list"> </ul> </li> <li class="main-nav-menu-item patientcare "> <div class="main-nav-menu-item-top"> <a class="" href="/en/patient-care/" target="" data-testid="link-patientcare"> Patient Care </a> </div> <ul class="mobile-header-context-link-list"> </ul> </li> </ul> <ul class="col-xxl-4 unlisted"> <li class="main-nav-menu-item community "> <div class="main-nav-menu-item-top"> <a class="" href="/en/community/" target="" data-testid="link-community"> Community </a> </div> <ul class="mobile-header-context-link-list"> </ul> </li> <li class="main-nav-menu-item healthychildren "> <div class="main-nav-menu-item-top"> <a class="" href="http://healthychildren.org/" target="" data-testid="link-healthychildren"> Healthy Children </a> </div> <ul class="mobile-header-context-link-list"> </ul> </li> <li class="main-nav-menu-item shopaap "> <div class="main-nav-menu-item-top"> <a class="" href="/en/shopaap/" target="" data-testid="link-shopaap"> shopAAP </a> </div> <ul class="mobile-header-context-link-list"> </ul> </li> </ul> </div> </div> <div class="footer-top-mobile-nav"> <div class="row"> <ul class="col-sm-6 unlisted"> </ul> <ul class="col-sm-6 unlisted"> </ul> </div> </div> </div> </div> </div> </div> <div class="footer-links-wrapper"> <div class="footer-links" id="footer-links"> <div class="footer-links-main"> <ul class="unlisted col-sm-6"> <li class="main-nav-menu-item privacystatement "> <div class="main-nav-menu-item-top"> <a class="" href="/en/pages/privacy-statement/" target="" data-testid="link-privacystatement"> Privacy Statement </a> </div> <ul class="mobile-header-context-link-list"> </ul> </li> <li class="main-nav-menu-item termsofuse "> <div class="main-nav-menu-item-top"> <a class="" href="/en/pages/terms-of-use/" target="" data-testid="link-termsofuse"> Terms of Use </a> </div> <ul class="mobile-header-context-link-list"> </ul> </li> <li class="main-nav-menu-item supportcenter "> <div class="main-nav-menu-item-top"> <a class="" href="/en/support-center/" target="" data-testid="link-supportcenter"> Support Center </a> </div> <ul class="mobile-header-context-link-list"> </ul> </li> <li class="main-nav-menu-item codeofconduct "> <div class="main-nav-menu-item-top"> <a class="" href="/en/about-the-aap/american-academy-of-pediatrics-equity-and-inclusion-efforts/code-of-conduct/" target="" data-testid="link-codeofconduct"> Code of Conduct </a> </div> <ul class="mobile-header-context-link-list"> </ul> </li> <li class="main-nav-menu-item contactus "> <div class="main-nav-menu-item-top"> <a class="" href="/en/pages/contact-us/" target="" data-testid="link-contactus"> Contact Us </a> </div> <ul class="mobile-header-context-link-list"> </ul> </li> </ul> <ul class="unlisted col-sm-6"> </ul> </div> <ul class="footer-links-social unlisted"> <li class="main-nav-menu-item"> <a href="https://www.facebook.com/AmerAcadPeds" target="_blank"> <svg> <use xlink:href="#facebook-icon"></use> </svg> </a> </li> <li class="main-nav-menu-item"> <a href="https://www.linkedin.com/company/american-academy-of-pediatrics" target="_blank"> <svg> <use xlink:href="#linkedin-icon"></use> </svg> </a> </li> <li class="main-nav-menu-item"> <a href="https://twitter.com/AmerAcadPeds" target="_blank"> <svg> <use xlink:href="#twitter-icon"></use> </svg> </a> </li> <li class="main-nav-menu-item"> <a href="https://www.youtube.com/channel/UClR8YIQX5Fb8J2wmsUKLhvQ" target="_blank"> <svg> <use xlink:href="#youtube-icon"></use> </svg> </a> </li> <li class="main-nav-menu-item"> <a href="https://www.instagram.com/ameracadpeds/" target="_blank"> <svg> <use xlink:href="#instagram-icon"></use> </svg> </a> </li> </ul> </div> </div> <div class="footer-copyright-wrapper"> <div class="footer-copyright"> <p class="paragraph-caption">&#xA9; Copyright 2024 American Academy of Pediatrics. All rights reserved.</p> </div> </div> </footer> <a class="feedback-form-link" target="_blank" href="/en/forms/feedback-form/"> Feedback Form </a> <script src="https://ajax.googleapis.com/ajax/libs/webfont/1.5.18/webfont.js"></script> <script> WebFont.load({ google: { families: ['Alegreya Sans:400,400italic,700,700italic', 'Alegreya:400,400italic,700,700italic'] } }); </script> <script src="https://players.brightcove.net/6056665225001/default_default/index.js"></script> <script src='/Bundles/js/common-bundle.js?v=a99dc922fdeee0f0be9b7e610920b0b2b3609c493afbd24db398782b8ec36907'></script> <script src='/Bundles/js/global-bundle.js?v=ffb0def9c7d266bafde611283b5de61e1d091a7c546960a8832b86692eacb4b9'></script> <script src='/Bundles/js/date-picker-bundle.js?v=5607472c79b4b8cf1231917918b9acd002bc7181ff9f2f508d9d2b29ce5f2b3c'></script> <script src='/Bundles/js/shop-carousel-bundle.js?v=e0b81793f12e054ce9f69548a6b10fe1db02a9df3ca353bd3723b471ae686e4c'></script> <script src='/Bundles/js/content-page-google-analytics-bundle.js?v=19e841c3eaf293a969f34673ac96c9095ea2b5216f650c5c0f9626dc80188b16'></script> <footer> <script defer="true" src="/Util/Find/epi-util/find.js"></script> <script> document.addEventListener('DOMContentLoaded',function(){if(typeof FindApi === 'function'){var api = new FindApi();api.setApplicationUrl('/');api.setServiceApiBaseUrl('/find_v2/');api.processEventFromCurrentUri();api.bindWindowEvents();api.bindAClickEvent();api.sendBufferedEvents();}}) </script> </footer> <!-- Custom Lucky Orange User Data --> </body> </html>

Pages: 1 2 3 4 5 6 7 8 9 10