CINXE.COM
Joint Medical Program | Berkeley Public Health
<!doctype html> <html lang="en-US"> <head> <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-MCVMVTF');</script> <meta charset="UTF-8" /> <meta name="description" content="More than 75 years of transformational research and hands-on social impact for a better world."> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <meta http-equiv="X-UA-Compatible" content="IE=edge"><script type="text/javascript">(window.NREUM||(NREUM={})).init={privacy:{cookies_enabled:true},ajax:{deny_list:["bam.nr-data.net"]},distributed_tracing:{enabled:true}};(window.NREUM||(NREUM={})).loader_config={agentID:"601448630",accountID:"4354282",trustKey:"66686",xpid:"UAUCVVRbChAFVlRXBAUBXlU=",licenseKey:"NRJS-948474cd618f8781141",applicationID:"525534681"};;/*! For license information please see nr-loader-spa-1.274.0.min.js.LICENSE.txt */ (()=>{var e,t,r={8122:(e,t,r)=>{"use strict";r.d(t,{a:()=>i});var n=r(944);function i(e,t){try{if(!e||"object"!=typeof e)return(0,n.R)(3);if(!t||"object"!=typeof t)return(0,n.R)(4);const r=Object.create(Object.getPrototypeOf(t),Object.getOwnPropertyDescriptors(t)),o=0===Object.keys(r).length?e:r;for(let a in o)if(void 0!==e[a])try{if(null===e[a]){r[a]=null;continue}Array.isArray(e[a])&&Array.isArray(t[a])?r[a]=Array.from(new Set([...e[a],...t[a]])):"object"==typeof e[a]&&"object"==typeof t[a]?r[a]=i(e[a],t[a]):r[a]=e[a]}catch(e){(0,n.R)(1,e)}return r}catch(e){(0,n.R)(2,e)}}},2555:(e,t,r)=>{"use strict";r.d(t,{Vp:()=>c,fn:()=>s,x1:()=>u});var n=r(384),i=r(8122);const o={beacon:n.NT.beacon,errorBeacon:n.NT.errorBeacon,licenseKey:void 0,applicationID:void 0,sa:void 0,queueTime:void 0,applicationTime:void 0,ttGuid:void 0,user:void 0,account:void 0,product:void 0,extra:void 0,jsAttributes:{},userAttributes:void 0,atts:void 0,transactionName:void 0,tNamePlain:void 0},a={};function s(e){try{const t=c(e);return!!t.licenseKey&&!!t.errorBeacon&&!!t.applicationID}catch(e){return!1}}function c(e){if(!e)throw new Error("All info objects require an agent identifier!");if(!a[e])throw new Error("Info for ".concat(e," was never set"));return a[e]}function u(e,t){if(!e)throw new Error("All info objects require an agent identifier!");a[e]=(0,i.a)(t,o);const r=(0,n.nY)(e);r&&(r.info=a[e])}},9417:(e,t,r)=>{"use strict";r.d(t,{D0:()=>h,gD:()=>g,xN:()=>p});var n=r(993);const i=e=>{if(!e||"string"!=typeof e)return!1;try{document.createDocumentFragment().querySelector(e)}catch{return!1}return!0};var o=r(2614),a=r(944),s=r(384),c=r(8122);const u="[data-nr-mask]",d=()=>{const e={mask_selector:"*",block_selector:"[data-nr-block]",mask_input_options:{color:!1,date:!1,"datetime-local":!1,email:!1,month:!1,number:!1,range:!1,search:!1,tel:!1,text:!1,time:!1,url:!1,week:!1,textarea:!1,select:!1,password:!0}};return{ajax:{deny_list:void 0,block_internal:!0,enabled:!0,harvestTimeSeconds:10,autoStart:!0},distributed_tracing:{enabled:void 0,exclude_newrelic_header:void 0,cors_use_newrelic_header:void 0,cors_use_tracecontext_headers:void 0,allowed_origins:void 0},feature_flags:[],generic_events:{enabled:!0,harvestTimeSeconds:30,autoStart:!0},harvest:{tooManyRequestsDelay:60},jserrors:{enabled:!0,harvestTimeSeconds:10,autoStart:!0},logging:{enabled:!0,harvestTimeSeconds:10,autoStart:!0,level:n.p_.INFO},metrics:{enabled:!0,autoStart:!0},obfuscate:void 0,page_action:{enabled:!0},page_view_event:{enabled:!0,autoStart:!0},page_view_timing:{enabled:!0,harvestTimeSeconds:30,autoStart:!0},performance:{capture_marks:!1,capture_measures:!1},privacy:{cookies_enabled:!0},proxy:{assets:void 0,beacon:void 0},session:{expiresMs:o.wk,inactiveMs:o.BB},session_replay:{autoStart:!0,enabled:!1,harvestTimeSeconds:60,preload:!1,sampling_rate:10,error_sampling_rate:100,collect_fonts:!1,inline_images:!1,fix_stylesheets:!0,mask_all_inputs:!0,get mask_text_selector(){return e.mask_selector},set mask_text_selector(t){i(t)?e.mask_selector="".concat(t,",").concat(u):""===t||null===t?e.mask_selector=u:(0,a.R)(5,t)},get block_class(){return"nr-block"},get ignore_class(){return"nr-ignore"},get mask_text_class(){return"nr-mask"},get block_selector(){return e.block_selector},set block_selector(t){i(t)?e.block_selector+=",".concat(t):""!==t&&(0,a.R)(6,t)},get mask_input_options(){return e.mask_input_options},set mask_input_options(t){t&&"object"==typeof t?e.mask_input_options={...t,password:!0}:(0,a.R)(7,t)}},session_trace:{enabled:!0,harvestTimeSeconds:10,autoStart:!0},soft_navigations:{enabled:!0,harvestTimeSeconds:10,autoStart:!0},spa:{enabled:!0,harvestTimeSeconds:10,autoStart:!0},ssl:void 0,user_actions:{enabled:!0}}},l={},f="All configuration objects require an agent identifier!";function h(e){if(!e)throw new Error(f);if(!l[e])throw new Error("Configuration for ".concat(e," was never set"));return l[e]}function p(e,t){if(!e)throw new Error(f);l[e]=(0,c.a)(t,d());const r=(0,s.nY)(e);r&&(r.init=l[e])}function g(e,t){if(!e)throw new Error(f);var r=h(e);if(r){for(var n=t.split("."),i=0;i<n.length-1;i++)if("object"!=typeof(r=r[n[i]]))return;r=r[n[n.length-1]]}return r}},5603:(e,t,r)=>{"use strict";r.d(t,{a:()=>c,o:()=>s});var n=r(384),i=r(8122);const o={accountID:void 0,trustKey:void 0,agentID:void 0,licenseKey:void 0,applicationID:void 0,xpid:void 0},a={};function s(e){if(!e)throw new Error("All loader-config objects require an agent identifier!");if(!a[e])throw new Error("LoaderConfig for ".concat(e," was never set"));return a[e]}function c(e,t){if(!e)throw new Error("All loader-config objects require an agent identifier!");a[e]=(0,i.a)(t,o);const r=(0,n.nY)(e);r&&(r.loader_config=a[e])}},3371:(e,t,r)=>{"use strict";r.d(t,{V:()=>f,f:()=>l});var n=r(8122),i=r(384),o=r(6154),a=r(9324);let s=0;const c={buildEnv:a.F3,distMethod:a.Xs,version:a.xv,originTime:o.WN},u={customTransaction:void 0,disabled:!1,isolatedBacklog:!1,loaderType:void 0,maxBytes:3e4,onerror:void 0,ptid:void 0,releaseIds:{},appMetadata:{},session:void 0,denyList:void 0,timeKeeper:void 0,obfuscator:void 0},d={};function l(e){if(!e)throw new Error("All runtime objects require an agent identifier!");if(!d[e])throw new Error("Runtime for ".concat(e," was never set"));return d[e]}function f(e,t){if(!e)throw new Error("All runtime objects require an agent identifier!");d[e]={...(0,n.a)(t,u),...c},Object.hasOwnProperty.call(d[e],"harvestCount")||Object.defineProperty(d[e],"harvestCount",{get:()=>++s});const r=(0,i.nY)(e);r&&(r.runtime=d[e])}},9324:(e,t,r)=>{"use strict";r.d(t,{F3:()=>i,Xs:()=>o,Yq:()=>a,xv:()=>n});const n="1.274.0",i="PROD",o="CDN",a="^2.0.0-alpha.17"},6154:(e,t,r)=>{"use strict";r.d(t,{A4:()=>s,OF:()=>d,RI:()=>i,WN:()=>h,bv:()=>o,gm:()=>a,lR:()=>f,m:()=>u,mw:()=>c,sb:()=>l});var n=r(1863);const i="undefined"!=typeof window&&!!window.document,o="undefined"!=typeof WorkerGlobalScope&&("undefined"!=typeof self&&self instanceof WorkerGlobalScope&&self.navigator instanceof WorkerNavigator||"undefined"!=typeof globalThis&&globalThis instanceof WorkerGlobalScope&&globalThis.navigator instanceof WorkerNavigator),a=i?window:"undefined"!=typeof WorkerGlobalScope&&("undefined"!=typeof self&&self instanceof WorkerGlobalScope&&self||"undefined"!=typeof globalThis&&globalThis instanceof WorkerGlobalScope&&globalThis),s="complete"===a?.document?.readyState,c=Boolean("hidden"===a?.document?.visibilityState),u=""+a?.location,d=/iPad|iPhone|iPod/.test(a.navigator?.userAgent),l=d&&"undefined"==typeof SharedWorker,f=(()=>{const e=a.navigator?.userAgent?.match(/Firefox[/\s](\d+\.\d+)/);return Array.isArray(e)&&e.length>=2?+e[1]:0})(),h=Date.now()-(0,n.t)()},7295:(e,t,r)=>{"use strict";r.d(t,{Xv:()=>a,gX:()=>i,iW:()=>o});var n=[];function i(e){if(!e||o(e))return!1;if(0===n.length)return!0;for(var t=0;t<n.length;t++){var r=n[t];if("*"===r.hostname)return!1;if(s(r.hostname,e.hostname)&&c(r.pathname,e.pathname))return!1}return!0}function o(e){return void 0===e.hostname}function a(e){if(n=[],e&&e.length)for(var t=0;t<e.length;t++){let r=e[t];if(!r)continue;0===r.indexOf("http://")?r=r.substring(7):0===r.indexOf("https://")&&(r=r.substring(8));const i=r.indexOf("/");let o,a;i>0?(o=r.substring(0,i),a=r.substring(i)):(o=r,a="");let[s]=o.split(":");n.push({hostname:s,pathname:a})}}function s(e,t){return!(e.length>t.length)&&t.indexOf(e)===t.length-e.length}function c(e,t){return 0===e.indexOf("/")&&(e=e.substring(1)),0===t.indexOf("/")&&(t=t.substring(1)),""===e||e===t}},1687:(e,t,r)=>{"use strict";r.d(t,{Ak:()=>c,Ze:()=>l,x3:()=>u});var n=r(7836),i=r(3606),o=r(860),a=r(2646);const s={};function c(e,t){const r={staged:!1,priority:o.P3[t]||0};d(e),s[e].get(t)||s[e].set(t,r)}function u(e,t){e&&s[e]&&(s[e].get(t)&&s[e].delete(t),h(e,t,!1),s[e].size&&f(e))}function d(e){if(!e)throw new Error("agentIdentifier required");s[e]||(s[e]=new Map)}function l(e="",t="feature",r=!1){if(d(e),!e||!s[e].get(t)||r)return h(e,t);s[e].get(t).staged=!0,f(e)}function f(e){const t=Array.from(s[e]);t.every((([e,t])=>t.staged))&&(t.sort(((e,t)=>e[1].priority-t[1].priority)),t.forEach((([t])=>{s[e].delete(t),h(e,t)})))}function h(e,t,r=!0){const o=e?n.ee.get(e):n.ee,s=i.i.handlers;if(!o.aborted&&o.backlog&&s){if(r){const e=o.backlog[t],r=s[t];if(r){for(let t=0;e&&t<e.length;++t)p(e[t],r);Object.entries(r).forEach((([e,t])=>{Object.values(t||{}).forEach((t=>{t[0]?.on&&t[0]?.context()instanceof a.y&&t[0].on(e,t[1])}))}))}}o.isolatedBacklog||delete s[t],o.backlog[t]=null,o.emit("drain-"+t,[])}}function p(e,t){var r=e[1];Object.values(t[r]||{}).forEach((t=>{var r=e[0];if(t[0]===r){var n=t[1],i=e[3],o=e[2];n.apply(i,o)}}))}},7836:(e,t,r)=>{"use strict";r.d(t,{P:()=>c,ee:()=>u});var n=r(384),i=r(8990),o=r(3371),a=r(2646),s=r(5607);const c="nr@context:".concat(s.W),u=function e(t,r){var n={},s={},d={},l=!1;try{l=16===r.length&&(0,o.f)(r).isolatedBacklog}catch(e){}var f={on:p,addEventListener:p,removeEventListener:function(e,t){var r=n[e];if(!r)return;for(var i=0;i<r.length;i++)r[i]===t&&r.splice(i,1)},emit:function(e,r,n,i,o){!1!==o&&(o=!0);if(u.aborted&&!i)return;t&&o&&t.emit(e,r,n);for(var a=h(n),c=g(e),d=c.length,l=0;l<d;l++)c[l].apply(a,r);var p=v()[s[e]];p&&p.push([f,e,r,a]);return a},get:m,listeners:g,context:h,buffer:function(e,t){const r=v();if(t=t||"feature",f.aborted)return;Object.entries(e||{}).forEach((([e,n])=>{s[n]=t,t in r||(r[t]=[])}))},abort:function(){f._aborted=!0,Object.keys(f.backlog).forEach((e=>{delete f.backlog[e]}))},isBuffering:function(e){return!!v()[s[e]]},debugId:r,backlog:l?{}:t&&"object"==typeof t.backlog?t.backlog:{},isolatedBacklog:l};return Object.defineProperty(f,"aborted",{get:()=>{let e=f._aborted||!1;return e||(t&&(e=t.aborted),e)}}),f;function h(e){return e&&e instanceof a.y?e:e?(0,i.I)(e,c,(()=>new a.y(c))):new a.y(c)}function p(e,t){n[e]=g(e).concat(t)}function g(e){return n[e]||[]}function m(t){return d[t]=d[t]||e(f,t)}function v(){return f.backlog}}(void 0,"globalEE"),d=(0,n.Zm)();d.ee||(d.ee=u)},2646:(e,t,r)=>{"use strict";r.d(t,{y:()=>n});class n{constructor(e){this.contextId=e}}},9908:(e,t,r)=>{"use strict";r.d(t,{d:()=>n,p:()=>i});var n=r(7836).ee.get("handle");function i(e,t,r,i,o){o?(o.buffer([e],i),o.emit(e,t,r)):(n.buffer([e],i),n.emit(e,t,r))}},3606:(e,t,r)=>{"use strict";r.d(t,{i:()=>o});var n=r(9908);o.on=a;var i=o.handlers={};function o(e,t,r,o){a(o||n.d,i,e,t,r)}function a(e,t,r,i,o){o||(o="feature"),e||(e=n.d);var a=t[o]=t[o]||{};(a[r]=a[r]||[]).push([e,i])}},3878:(e,t,r)=>{"use strict";function n(e,t){return{capture:e,passive:!1,signal:t}}function i(e,t,r=!1,i){window.addEventListener(e,t,n(r,i))}function o(e,t,r=!1,i){document.addEventListener(e,t,n(r,i))}r.d(t,{DD:()=>o,jT:()=>n,sp:()=>i})},5607:(e,t,r)=>{"use strict";r.d(t,{W:()=>n});const n=(0,r(9566).bz)()},9566:(e,t,r)=>{"use strict";r.d(t,{LA:()=>s,ZF:()=>c,bz:()=>a,el:()=>u});var n=r(6154);const i="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx";function o(e,t){return e?15&e[t]:16*Math.random()|0}function a(){const e=n.gm?.crypto||n.gm?.msCrypto;let t,r=0;return e&&e.getRandomValues&&(t=e.getRandomValues(new Uint8Array(30))),i.split("").map((e=>"x"===e?o(t,r++).toString(16):"y"===e?(3&o()|8).toString(16):e)).join("")}function s(e){const t=n.gm?.crypto||n.gm?.msCrypto;let r,i=0;t&&t.getRandomValues&&(r=t.getRandomValues(new Uint8Array(e)));const a=[];for(var s=0;s<e;s++)a.push(o(r,i++).toString(16));return a.join("")}function c(){return s(16)}function u(){return s(32)}},2614:(e,t,r)=>{"use strict";r.d(t,{BB:()=>a,H3:()=>n,g:()=>u,iL:()=>c,tS:()=>s,uh:()=>i,wk:()=>o});const n="NRBA",i="SESSION",o=144e5,a=18e5,s={STARTED:"session-started",PAUSE:"session-pause",RESET:"session-reset",RESUME:"session-resume",UPDATE:"session-update"},c={SAME_TAB:"same-tab",CROSS_TAB:"cross-tab"},u={OFF:0,FULL:1,ERROR:2}},1863:(e,t,r)=>{"use strict";function n(){return Math.floor(performance.now())}r.d(t,{t:()=>n})},7485:(e,t,r)=>{"use strict";r.d(t,{D:()=>i});var n=r(6154);function i(e){if(0===(e||"").indexOf("data:"))return{protocol:"data"};try{const t=new URL(e,location.href),r={port:t.port,hostname:t.hostname,pathname:t.pathname,search:t.search,protocol:t.protocol.slice(0,t.protocol.indexOf(":")),sameOrigin:t.protocol===n.gm?.location?.protocol&&t.host===n.gm?.location?.host};return r.port&&""!==r.port||("http:"===t.protocol&&(r.port="80"),"https:"===t.protocol&&(r.port="443")),r.pathname&&""!==r.pathname?r.pathname.startsWith("/")||(r.pathname="/".concat(r.pathname)):r.pathname="/",r}catch(e){return{}}}},944:(e,t,r)=>{"use strict";function n(e,t){"function"==typeof console.debug&&console.debug("New Relic Warning: https://github.com/newrelic/newrelic-browser-agent/blob/main/docs/warning-codes.md#".concat(e),t)}r.d(t,{R:()=>n})},5284:(e,t,r)=>{"use strict";r.d(t,{t:()=>c,B:()=>s});var n=r(7836),i=r(6154);const o="newrelic";const a=new Set,s={};function c(e,t){const r=n.ee.get(t);s[t]??={},e&&"object"==typeof e&&(a.has(t)||(r.emit("rumresp",[e]),s[t]=e,a.add(t),function(e={}){try{i.gm.dispatchEvent(new CustomEvent(o,{detail:e}))}catch(e){}}({loaded:!0})))}},8990:(e,t,r)=>{"use strict";r.d(t,{I:()=>i});var n=Object.prototype.hasOwnProperty;function i(e,t,r){if(n.call(e,t))return e[t];var i=r();if(Object.defineProperty&&Object.keys)try{return Object.defineProperty(e,t,{value:i,writable:!0,enumerable:!1}),i}catch(e){}return e[t]=i,i}},6389:(e,t,r)=>{"use strict";function n(e,t=500,r={}){const n=r?.leading||!1;let i;return(...r)=>{n&&void 0===i&&(e.apply(this,r),i=setTimeout((()=>{i=clearTimeout(i)}),t)),n||(clearTimeout(i),i=setTimeout((()=>{e.apply(this,r)}),t))}}function i(e){let t=!1;return(...r)=>{t||(t=!0,e.apply(this,r))}}r.d(t,{J:()=>i,s:()=>n})},3304:(e,t,r)=>{"use strict";r.d(t,{A:()=>o});var n=r(7836);const i=()=>{const e=new WeakSet;return(t,r)=>{if("object"==typeof r&&null!==r){if(e.has(r))return;e.add(r)}return r}};function o(e){try{return JSON.stringify(e,i())??""}catch(e){try{n.ee.emit("internal-error",[e])}catch(e){}return""}}},5289:(e,t,r)=>{"use strict";r.d(t,{GG:()=>o,sB:()=>a});var n=r(3878);function i(){return"undefined"==typeof document||"complete"===document.readyState}function o(e,t){if(i())return e();(0,n.sp)("load",e,t)}function a(e){if(i())return e();(0,n.DD)("DOMContentLoaded",e)}},384:(e,t,r)=>{"use strict";r.d(t,{NT:()=>o,US:()=>d,Zm:()=>a,bQ:()=>c,dV:()=>s,nY:()=>u,pV:()=>l});var n=r(6154),i=r(1863);const o={beacon:"bam.nr-data.net",errorBeacon:"bam.nr-data.net"};function a(){return n.gm.NREUM||(n.gm.NREUM={}),void 0===n.gm.newrelic&&(n.gm.newrelic=n.gm.NREUM),n.gm.NREUM}function s(){let e=a();return e.o||(e.o={ST:n.gm.setTimeout,SI:n.gm.setImmediate,CT:n.gm.clearTimeout,XHR:n.gm.XMLHttpRequest,REQ:n.gm.Request,EV:n.gm.Event,PR:n.gm.Promise,MO:n.gm.MutationObserver,FETCH:n.gm.fetch,WS:n.gm.WebSocket}),e}function c(e,t){let r=a();r.initializedAgents??={},t.initializedAt={ms:(0,i.t)(),date:new Date},r.initializedAgents[e]=t}function u(e){let t=a();return t.initializedAgents?.[e]}function d(e,t){a()[e]=t}function l(){return function(){let e=a();const t=e.info||{};e.info={beacon:o.beacon,errorBeacon:o.errorBeacon,...t}}(),function(){let e=a();const t=e.init||{};e.init={...t}}(),s(),function(){let e=a();const t=e.loader_config||{};e.loader_config={...t}}(),a()}},2843:(e,t,r)=>{"use strict";r.d(t,{u:()=>i});var n=r(3878);function i(e,t=!1,r,i){(0,n.DD)("visibilitychange",(function(){if(t)return void("hidden"===document.visibilityState&&e());e(document.visibilityState)}),r,i)}},8139:(e,t,r)=>{"use strict";r.d(t,{u:()=>f});var n=r(7836),i=r(3434),o=r(8990),a=r(6154);const s={},c=a.gm.XMLHttpRequest,u="addEventListener",d="removeEventListener",l="nr@wrapped:".concat(n.P);function f(e){var t=function(e){return(e||n.ee).get("events")}(e);if(s[t.debugId]++)return t;s[t.debugId]=1;var r=(0,i.YM)(t,!0);function f(e){r.inPlace(e,[u,d],"-",p)}function p(e,t){return e[1]}return"getPrototypeOf"in Object&&(a.RI&&h(document,f),h(a.gm,f),h(c.prototype,f)),t.on(u+"-start",(function(e,t){var n=e[1];if(null!==n&&("function"==typeof n||"object"==typeof n)){var i=(0,o.I)(n,l,(function(){var e={object:function(){if("function"!=typeof n.handleEvent)return;return n.handleEvent.apply(n,arguments)},function:n}[typeof n];return e?r(e,"fn-",null,e.name||"anonymous"):n}));this.wrapped=e[1]=i}})),t.on(d+"-start",(function(e){e[1]=this.wrapped||e[1]})),t}function h(e,t,...r){let n=e;for(;"object"==typeof n&&!Object.prototype.hasOwnProperty.call(n,u);)n=Object.getPrototypeOf(n);n&&t(n,...r)}},3434:(e,t,r)=>{"use strict";r.d(t,{Jt:()=>o,YM:()=>c});var n=r(7836),i=r(5607);const o="nr@original:".concat(i.W);var a=Object.prototype.hasOwnProperty,s=!1;function c(e,t){return e||(e=n.ee),r.inPlace=function(e,t,n,i,o){n||(n="");const a="-"===n.charAt(0);for(let s=0;s<t.length;s++){const c=t[s],u=e[c];d(u)||(e[c]=r(u,a?c+n:n,i,c,o))}},r.flag=o,r;function r(t,r,n,s,c){return d(t)?t:(r||(r=""),nrWrapper[o]=t,function(e,t,r){if(Object.defineProperty&&Object.keys)try{return Object.keys(e).forEach((function(r){Object.defineProperty(t,r,{get:function(){return e[r]},set:function(t){return e[r]=t,t}})})),t}catch(e){u([e],r)}for(var n in e)a.call(e,n)&&(t[n]=e[n])}(t,nrWrapper,e),nrWrapper);function nrWrapper(){var o,a,d,l;try{a=this,o=[...arguments],d="function"==typeof n?n(o,a):n||{}}catch(t){u([t,"",[o,a,s],d],e)}i(r+"start",[o,a,s],d,c);try{return l=t.apply(a,o)}catch(e){throw i(r+"err",[o,a,e],d,c),e}finally{i(r+"end",[o,a,l],d,c)}}}function i(r,n,i,o){if(!s||t){var a=s;s=!0;try{e.emit(r,n,i,t,o)}catch(t){u([t,r,n,i],e)}s=a}}}function u(e,t){t||(t=n.ee);try{t.emit("internal-error",e)}catch(e){}}function d(e){return!(e&&"function"==typeof e&&e.apply&&!e[o])}},9300:(e,t,r)=>{"use strict";r.d(t,{T:()=>n});const n=r(860).K7.ajax},3333:(e,t,r)=>{"use strict";r.d(t,{TZ:()=>n,Zp:()=>i,mq:()=>s,nf:()=>a,qN:()=>o});const n=r(860).K7.genericEvents,i=["auxclick","click","copy","keydown","paste","scrollend"],o=["focus","blur"],a=4,s=1e3},6774:(e,t,r)=>{"use strict";r.d(t,{T:()=>n});const n=r(860).K7.jserrors},993:(e,t,r)=>{"use strict";r.d(t,{ET:()=>o,TZ:()=>a,p_:()=>i});var n=r(860);const i={ERROR:"ERROR",WARN:"WARN",INFO:"INFO",DEBUG:"DEBUG",TRACE:"TRACE"},o="log",a=n.K7.logging},3785:(e,t,r)=>{"use strict";r.d(t,{R:()=>c,b:()=>u});var n=r(9908),i=r(1863),o=r(860),a=r(3969),s=r(993);function c(e,t,r={},c=s.p_.INFO){(0,n.p)(a.xV,["API/logging/".concat(c.toLowerCase(),"/called")],void 0,o.K7.metrics,e),(0,n.p)(s.ET,[(0,i.t)(),t,r,c],void 0,o.K7.logging,e)}function u(e){return"string"==typeof e&&Object.values(s.p_).some((t=>t===e.toUpperCase().trim()))}},3969:(e,t,r)=>{"use strict";r.d(t,{TZ:()=>n,XG:()=>s,rs:()=>i,xV:()=>a,z_:()=>o});const n=r(860).K7.metrics,i="sm",o="cm",a="storeSupportabilityMetrics",s="storeEventMetrics"},6630:(e,t,r)=>{"use strict";r.d(t,{T:()=>n});const n=r(860).K7.pageViewEvent},782:(e,t,r)=>{"use strict";r.d(t,{T:()=>n});const n=r(860).K7.pageViewTiming},6344:(e,t,r)=>{"use strict";r.d(t,{BB:()=>d,G4:()=>o,Qb:()=>l,TZ:()=>i,Ug:()=>a,_s:()=>s,bc:()=>u,yP:()=>c});var n=r(2614);const i=r(860).K7.sessionReplay,o={RECORD:"recordReplay",PAUSE:"pauseReplay",REPLAY_RUNNING:"replayRunning",ERROR_DURING_REPLAY:"errorDuringReplay"},a=.12,s={DomContentLoaded:0,Load:1,FullSnapshot:2,IncrementalSnapshot:3,Meta:4,Custom:5},c={[n.g.ERROR]:15e3,[n.g.FULL]:3e5,[n.g.OFF]:0},u={RESET:{message:"Session was reset",sm:"Reset"},IMPORT:{message:"Recorder failed to import",sm:"Import"},TOO_MANY:{message:"429: Too Many Requests",sm:"Too-Many"},TOO_BIG:{message:"Payload was too large",sm:"Too-Big"},CROSS_TAB:{message:"Session Entity was set to OFF on another tab",sm:"Cross-Tab"},ENTITLEMENTS:{message:"Session Replay is not allowed and will not be started",sm:"Entitlement"}},d=5e3,l={API:"api"}},5270:(e,t,r)=>{"use strict";r.d(t,{Aw:()=>c,CT:()=>u,SR:()=>s});var n=r(384),i=r(9417),o=r(7767),a=r(6154);function s(e){return!!(0,n.dV)().o.MO&&(0,o.V)(e)&&!0===(0,i.gD)(e,"session_trace.enabled")}function c(e){return!0===(0,i.gD)(e,"session_replay.preload")&&s(e)}function u(e,t){const r=t.correctAbsoluteTimestamp(e);return{originalTimestamp:e,correctedTimestamp:r,timestampDiff:e-r,originTime:a.WN,correctedOriginTime:t.correctedOriginTime,originTimeDiff:Math.floor(a.WN-t.correctedOriginTime)}}},3738:(e,t,r)=>{"use strict";r.d(t,{He:()=>i,Kp:()=>s,Lc:()=>u,Rz:()=>d,TZ:()=>n,bD:()=>o,d3:()=>a,jx:()=>l,uP:()=>c});const n=r(860).K7.sessionTrace,i="bstResource",o="resource",a="-start",s="-end",c="fn"+a,u="fn"+s,d="pushState",l=1e3},3962:(e,t,r)=>{"use strict";r.d(t,{AM:()=>o,O2:()=>s,Qu:()=>c,TZ:()=>a,ih:()=>u,tC:()=>i});var n=r(860);const i=["click","keydown","submit"],o="api",a=n.K7.softNav,s={INITIAL_PAGE_LOAD:"",ROUTE_CHANGE:1,UNSPECIFIED:2},c={INTERACTION:1,AJAX:2,CUSTOM_END:3,CUSTOM_TRACER:4},u={IP:"in progress",FIN:"finished",CAN:"cancelled"}},7378:(e,t,r)=>{"use strict";r.d(t,{$p:()=>x,BR:()=>b,Kp:()=>R,L3:()=>y,Lc:()=>c,NC:()=>o,SG:()=>d,TZ:()=>i,U6:()=>p,UT:()=>m,d3:()=>w,dT:()=>f,e5:()=>A,gx:()=>v,l9:()=>l,oW:()=>h,op:()=>g,rw:()=>u,tH:()=>E,uP:()=>s,wW:()=>T,xq:()=>a});var n=r(384);const i=r(860).K7.spa,o=["click","submit","keypress","keydown","keyup","change"],a=999,s="fn-start",c="fn-end",u="cb-start",d="api-ixn-",l="remaining",f="interaction",h="spaNode",p="jsonpNode",g="fetch-start",m="fetch-done",v="fetch-body-",b="jsonp-end",y=(0,n.dV)().o.ST,w="-start",R="-end",x="-body",T="cb"+R,A="jsTime",E="fetch"},4234:(e,t,r)=>{"use strict";r.d(t,{W:()=>o});var n=r(7836),i=r(1687);class o{constructor(e,t){this.agentIdentifier=e,this.ee=n.ee.get(e),this.featureName=t,this.blocked=!1}deregisterDrain(){(0,i.x3)(this.agentIdentifier,this.featureName)}}},7767:(e,t,r)=>{"use strict";r.d(t,{V:()=>o});var n=r(9417),i=r(6154);const o=e=>i.RI&&!0===(0,n.gD)(e,"privacy.cookies_enabled")},425:(e,t,r)=>{"use strict";r.d(t,{j:()=>j});var n=r(860),i=r(2555),o=r(3371),a=r(9908),s=r(7836),c=r(1687),u=r(5289),d=r(6154),l=r(944),f=r(3969),h=r(384),p=r(6344);const g=["setErrorHandler","finished","addToTrace","addRelease","addPageAction","setCurrentRouteName","setPageViewName","setCustomAttribute","interaction","noticeError","setUserId","setApplicationVersion","start",p.G4.RECORD,p.G4.PAUSE,"log","wrapLogger"],m=["setErrorHandler","finished","addToTrace","addRelease"];var v=r(1863),b=r(2614),y=r(993),w=r(3785),R=r(2646),x=r(3434);function T(e,t,r,n){if("object"!=typeof t||!t||"string"!=typeof r||!r||"function"!=typeof t[r])return(0,l.R)(29);const i=function(e){return(e||s.ee).get("logger")}(e),o=(0,x.YM)(i),a=new R.y(s.P);return a.level=n.level,a.customAttributes=n.customAttributes,o.inPlace(t,[r],"wrap-logger-",a),i}function A(){const e=(0,h.pV)();g.forEach((t=>{e[t]=(...r)=>function(t,...r){let n=[];return Object.values(e.initializedAgents).forEach((e=>{e&&e.api?e.exposed&&e.api[t]&&n.push(e.api[t](...r)):(0,l.R)(38,t)})),n.length>1?n:n[0]}(t,...r)}))}const E={};var S=r(9417),N=r(5603),O=r(5284);const _=e=>{const t=e.startsWith("http");e+="/",r.p=t?e:"https://"+e};let I=!1;function j(e,t={},g,R){let{init:x,info:j,loader_config:P,runtime:C={},exposed:k=!0}=t;C.loaderType=g;const L=(0,h.pV)();j||(x=L.init,j=L.info,P=L.loader_config),(0,S.xN)(e.agentIdentifier,x||{}),(0,N.a)(e.agentIdentifier,P||{}),j.jsAttributes??={},d.bv&&(j.jsAttributes.isWorker=!0),(0,i.x1)(e.agentIdentifier,j);const H=(0,S.D0)(e.agentIdentifier),D=[j.beacon,j.errorBeacon];I||(H.proxy.assets&&(_(H.proxy.assets),D.push(H.proxy.assets)),H.proxy.beacon&&D.push(H.proxy.beacon),A(),(0,h.US)("activatedFeatures",O.B),e.runSoftNavOverSpa&&=!0===H.soft_navigations.enabled&&H.feature_flags.includes("soft_nav")),C.denyList=[...H.ajax.deny_list||[],...H.ajax.block_internal?D:[]],C.ptid=e.agentIdentifier,(0,o.V)(e.agentIdentifier,C),e.ee=s.ee.get(e.agentIdentifier),void 0===e.api&&(e.api=function(e,t,h=!1){t||(0,c.Ak)(e,"api");const g={};var R=s.ee.get(e),x=R.get("tracer");E[e]=b.g.OFF,R.on(p.G4.REPLAY_RUNNING,(t=>{E[e]=t}));var A="api-",S=A+"ixn-";function N(t,r,n,o){const a=(0,i.Vp)(e);return null===r?delete a.jsAttributes[t]:(0,i.x1)(e,{...a,jsAttributes:{...a.jsAttributes,[t]:r}}),I(A,n,!0,o||null===r?"session":void 0)(t,r)}function O(){}g.log=function(e,{customAttributes:t={},level:r=y.p_.INFO}={}){(0,a.p)(f.xV,["API/log/called"],void 0,n.K7.metrics,R),(0,w.R)(R,e,t,r)},g.wrapLogger=(e,t,{customAttributes:r={},level:i=y.p_.INFO}={})=>{(0,a.p)(f.xV,["API/wrapLogger/called"],void 0,n.K7.metrics,R),T(R,e,t,{customAttributes:r,level:i})},m.forEach((e=>{g[e]=I(A,e,!0,"api")})),g.addPageAction=I(A,"addPageAction",!0,n.K7.genericEvents),g.setPageViewName=function(t,r){if("string"==typeof t)return"/"!==t.charAt(0)&&(t="/"+t),(0,o.f)(e).customTransaction=(r||"http://custom.transaction")+t,I(A,"setPageViewName",!0)()},g.setCustomAttribute=function(e,t,r=!1){if("string"==typeof e){if(["string","number","boolean"].includes(typeof t)||null===t)return N(e,t,"setCustomAttribute",r);(0,l.R)(40,typeof t)}else(0,l.R)(39,typeof e)},g.setUserId=function(e){if("string"==typeof e||null===e)return N("enduser.id",e,"setUserId",!0);(0,l.R)(41,typeof e)},g.setApplicationVersion=function(e){if("string"==typeof e||null===e)return N("application.version",e,"setApplicationVersion",!1);(0,l.R)(42,typeof e)},g.start=()=>{try{(0,a.p)(f.xV,["API/start/called"],void 0,n.K7.metrics,R),R.emit("manual-start-all")}catch(e){(0,l.R)(23,e)}},g[p.G4.RECORD]=function(){(0,a.p)(f.xV,["API/recordReplay/called"],void 0,n.K7.metrics,R),(0,a.p)(p.G4.RECORD,[],void 0,n.K7.sessionReplay,R)},g[p.G4.PAUSE]=function(){(0,a.p)(f.xV,["API/pauseReplay/called"],void 0,n.K7.metrics,R),(0,a.p)(p.G4.PAUSE,[],void 0,n.K7.sessionReplay,R)},g.interaction=function(e){return(new O).get("object"==typeof e?e:{})};const _=O.prototype={createTracer:function(e,t){var r={},i=this,o="function"==typeof t;return(0,a.p)(f.xV,["API/createTracer/called"],void 0,n.K7.metrics,R),h||(0,a.p)(S+"tracer",[(0,v.t)(),e,r],i,n.K7.spa,R),function(){if(x.emit((o?"":"no-")+"fn-start",[(0,v.t)(),i,o],r),o)try{return t.apply(this,arguments)}catch(e){const t="string"==typeof e?new Error(e):e;throw x.emit("fn-err",[arguments,this,t],r),t}finally{x.emit("fn-end",[(0,v.t)()],r)}}}};function I(e,t,r,i){return function(){return(0,a.p)(f.xV,["API/"+t+"/called"],void 0,n.K7.metrics,R),i&&(0,a.p)(e+t,[(0,v.t)(),...arguments],r?null:this,i,R),r?void 0:this}}function j(){r.e(478).then(r.bind(r,8778)).then((({setAPI:t})=>{t(e),(0,c.Ze)(e,"api")})).catch((e=>{(0,l.R)(27,e),R.abort()}))}return["actionText","setName","setAttribute","save","ignore","onEnd","getContext","end","get"].forEach((e=>{_[e]=I(S,e,void 0,h?n.K7.softNav:n.K7.spa)})),g.setCurrentRouteName=h?I(S,"routeName",void 0,n.K7.softNav):I(A,"routeName",!0,n.K7.spa),g.noticeError=function(t,r){"string"==typeof t&&(t=new Error(t)),(0,a.p)(f.xV,["API/noticeError/called"],void 0,n.K7.metrics,R),(0,a.p)("err",[t,(0,v.t)(),!1,r,!!E[e]],void 0,n.K7.jserrors,R)},d.RI?(0,u.GG)((()=>j()),!0):j(),g}(e.agentIdentifier,R,e.runSoftNavOverSpa)),void 0===e.exposed&&(e.exposed=k),I=!0}},8374:(e,t,r)=>{r.nc=(()=>{try{return document?.currentScript?.nonce}catch(e){}return""})()},860:(e,t,r)=>{"use strict";r.d(t,{$J:()=>o,K7:()=>n,P3:()=>i});const n={ajax:"ajax",genericEvents:"generic_events",jserrors:"jserrors",logging:"logging",metrics:"metrics",pageAction:"page_action",pageViewEvent:"page_view_event",pageViewTiming:"page_view_timing",sessionReplay:"session_replay",sessionTrace:"session_trace",softNav:"soft_navigations",spa:"spa"},i={[n.pageViewEvent]:1,[n.pageViewTiming]:2,[n.metrics]:3,[n.jserrors]:4,[n.spa]:5,[n.ajax]:6,[n.sessionTrace]:7,[n.softNav]:8,[n.sessionReplay]:9,[n.logging]:10,[n.genericEvents]:11},o={[n.pageViewTiming]:"events",[n.ajax]:"events",[n.spa]:"events",[n.softNav]:"events",[n.metrics]:"jserrors",[n.jserrors]:"jserrors",[n.sessionTrace]:"browser/blobs",[n.sessionReplay]:"browser/blobs",[n.logging]:"browser/logs",[n.genericEvents]:"ins"}}},n={};function i(e){var t=n[e];if(void 0!==t)return t.exports;var o=n[e]={exports:{}};return r[e](o,o.exports,i),o.exports}i.m=r,i.d=(e,t)=>{for(var r in t)i.o(t,r)&&!i.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},i.f={},i.e=e=>Promise.all(Object.keys(i.f).reduce(((t,r)=>(i.f[r](e,t),t)),[])),i.u=e=>({212:"nr-spa-compressor",249:"nr-spa-recorder",478:"nr-spa"}[e]+"-1.274.0.min.js"),i.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),e={},t="NRBA-1.274.0.PROD:",i.l=(r,n,o,a)=>{if(e[r])e[r].push(n);else{var s,c;if(void 0!==o)for(var u=document.getElementsByTagName("script"),d=0;d<u.length;d++){var l=u[d];if(l.getAttribute("src")==r||l.getAttribute("data-webpack")==t+o){s=l;break}}if(!s){c=!0;var f={478:"sha512-1vUqEfJPB8Pihje9mv5CfYgkitO1FWcS+UQb84DbXqP8oYctRv4/lzl/MzNLPlRhcY1WVDBGL20I8vm6s2VV7g==",249:"sha512-Y/BeZAh6VSTmUtUNmS5XdyKxL92s30Fyyj8xVW76HSPxcKItL4+x2+kGMZc8pMJnUpZDz1L4eftZQAJh3D8NnA==",212:"sha512-Gn2tQ3qog5Yhrx/gRutkSTYPp+7nkKFt4/mIXg99LxcNpMDAYJZDBYmAACdoHNM86+iq1F3cBcQotFNzjIX8bw=="};(s=document.createElement("script")).charset="utf-8",s.timeout=120,i.nc&&s.setAttribute("nonce",i.nc),s.setAttribute("data-webpack",t+o),s.src=r,0!==s.src.indexOf(window.location.origin+"/")&&(s.crossOrigin="anonymous"),f[a]&&(s.integrity=f[a])}e[r]=[n];var h=(t,n)=>{s.onerror=s.onload=null,clearTimeout(p);var i=e[r];if(delete e[r],s.parentNode&&s.parentNode.removeChild(s),i&&i.forEach((e=>e(n))),t)return t(n)},p=setTimeout(h.bind(null,void 0,{type:"timeout",target:s}),12e4);s.onerror=h.bind(null,s.onerror),s.onload=h.bind(null,s.onload),c&&document.head.appendChild(s)}},i.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.p="https://js-agent.newrelic.com/",(()=>{var e={38:0,788:0};i.f.j=(t,r)=>{var n=i.o(e,t)?e[t]:void 0;if(0!==n)if(n)r.push(n[2]);else{var o=new Promise(((r,i)=>n=e[t]=[r,i]));r.push(n[2]=o);var a=i.p+i.u(t),s=new Error;i.l(a,(r=>{if(i.o(e,t)&&(0!==(n=e[t])&&(e[t]=void 0),n)){var o=r&&("load"===r.type?"missing":r.type),a=r&&r.target&&r.target.src;s.message="Loading chunk "+t+" failed.\n("+o+": "+a+")",s.name="ChunkLoadError",s.type=o,s.request=a,n[1](s)}}),"chunk-"+t,t)}};var t=(t,r)=>{var n,o,[a,s,c]=r,u=0;if(a.some((t=>0!==e[t]))){for(n in s)i.o(s,n)&&(i.m[n]=s[n]);if(c)c(i)}for(t&&t(r);u<a.length;u++)o=a[u],i.o(e,o)&&e[o]&&e[o][0](),e[o]=0},r=self["webpackChunk:NRBA-1.274.0.PROD"]=self["webpackChunk:NRBA-1.274.0.PROD"]||[];r.forEach(t.bind(null,0)),r.push=t.bind(null,r.push.bind(r))})(),(()=>{"use strict";i(8374);var e=i(944),t=i(6344),r=i(9566);class n{agentIdentifier;constructor(e=(0,r.LA)(16)){this.agentIdentifier=e}#e(t,...r){if("function"==typeof this.api?.[t])return this.api[t](...r);(0,e.R)(35,t)}addPageAction(e,t){return this.#e("addPageAction",e,t)}setPageViewName(e,t){return this.#e("setPageViewName",e,t)}setCustomAttribute(e,t,r){return this.#e("setCustomAttribute",e,t,r)}noticeError(e,t){return this.#e("noticeError",e,t)}setUserId(e){return this.#e("setUserId",e)}setApplicationVersion(e){return this.#e("setApplicationVersion",e)}setErrorHandler(e){return this.#e("setErrorHandler",e)}addRelease(e,t){return this.#e("addRelease",e,t)}log(e,t){return this.#e("log",e,t)}}class o extends n{#e(t,...r){if("function"==typeof this.api?.[t])return this.api[t](...r);(0,e.R)(35,t)}start(){return this.#e("start")}finished(e){return this.#e("finished",e)}recordReplay(){return this.#e(t.G4.RECORD)}pauseReplay(){return this.#e(t.G4.PAUSE)}addToTrace(e){return this.#e("addToTrace",e)}setCurrentRouteName(e){return this.#e("setCurrentRouteName",e)}interaction(){return this.#e("interaction")}wrapLogger(e,t,r){return this.#e("wrapLogger",e,t,r)}}var a=i(860),s=i(9417);const c=Object.values(a.K7);function u(e){const t={};return c.forEach((r=>{t[r]=function(e,t){return!0===(0,s.gD)(t,"".concat(e,".enabled"))}(r,e)})),t}var d=i(425);var l=i(1687),f=i(4234),h=i(5289),p=i(6154),g=i(5270),m=i(7767),v=i(6389);class b extends f.W{constructor(e,t,r=!0){super(e.agentIdentifier,t),this.auto=r,this.abortHandler=void 0,this.featAggregate=void 0,this.onAggregateImported=void 0,!1===e.init[this.featureName].autoStart&&(this.auto=!1),this.auto?(0,l.Ak)(e.agentIdentifier,t):this.ee.on("manual-start-all",(0,v.J)((()=>{(0,l.Ak)(e.agentIdentifier,this.featureName),this.auto=!0,this.importAggregator(e)})))}importAggregator(t,r={}){if(this.featAggregate||!this.auto)return;let n;this.onAggregateImported=new Promise((e=>{n=e}));const o=async()=>{let o;try{if((0,m.V)(this.agentIdentifier)){const{setupAgentSession:e}=await i.e(478).then(i.bind(i,6526));o=e(t)}}catch(t){(0,e.R)(20,t),this.ee.emit("internal-error",[t]),this.featureName===a.K7.sessionReplay&&this.abortHandler?.()}try{if(t.sharedAggregator)await t.sharedAggregator;else{t.sharedAggregator=i.e(478).then(i.bind(i,9337));const{EventAggregator:e}=await t.sharedAggregator;t.sharedAggregator=new e}if(!this.#t(this.featureName,o))return(0,l.Ze)(this.agentIdentifier,this.featureName),void n(!1);const{lazyFeatureLoader:e}=await i.e(478).then(i.bind(i,6103)),{Aggregate:a}=await e(this.featureName,"aggregate");this.featAggregate=new a(t,r),n(!0)}catch(t){(0,e.R)(34,t),this.abortHandler?.(),(0,l.Ze)(this.agentIdentifier,this.featureName,!0),n(!1),this.ee&&this.ee.abort()}};p.RI?(0,h.GG)((()=>o()),!0):o()}#t(e,t){switch(e){case a.K7.sessionReplay:return(0,g.SR)(this.agentIdentifier)&&!!t;case a.K7.sessionTrace:return!!t;default:return!0}}}var y=i(6630);class w extends b{static featureName=y.T;constructor(e,t=!0){super(e,y.T,t),this.importAggregator(e)}}var R=i(384);var x=i(9908),T=i(2843),A=i(3878),E=i(782),S=i(1863);class N extends b{static featureName=E.T;constructor(e,t=!0){super(e,E.T,t),p.RI&&((0,T.u)((()=>(0,x.p)("docHidden",[(0,S.t)()],void 0,E.T,this.ee)),!0),(0,A.sp)("pagehide",(()=>(0,x.p)("winPagehide",[(0,S.t)()],void 0,E.T,this.ee))),this.importAggregator(e))}}var O=i(3969);class _ extends b{static featureName=O.TZ;constructor(e,t=!0){super(e,O.TZ,t),this.importAggregator(e)}}var I=i(6774),j=i(3304);class P{constructor(e,t,r,n,i){this.name="UncaughtError",this.message="string"==typeof e?e:(0,j.A)(e),this.sourceURL=t,this.line=r,this.column=n,this.__newrelic=i}}function C(e){return H(e)?e:new P(void 0!==e?.message?e.message:e,e?.filename||e?.sourceURL,e?.lineno||e?.line,e?.colno||e?.col,e?.__newrelic)}function k(e){const t="Unhandled Promise Rejection";if(!e?.reason)return;if(H(e.reason))try{return e.reason.message=t+": "+e.reason.message,C(e.reason)}catch(t){return C(e.reason)}const r=C(e.reason);return r.message=t+": "+r?.message,r}function L(e){if(e.error instanceof SyntaxError&&!/:\d+$/.test(e.error.stack?.trim())){const t=new P(e.message,e.filename,e.lineno,e.colno,e.error.__newrelic);return t.name=SyntaxError.name,t}return H(e.error)?e.error:C(e)}function H(e){return e instanceof Error&&!!e.stack}class D extends b{static featureName=I.T;#r=!1;constructor(e,r=!0){super(e,I.T,r);try{this.removeOnAbort=new AbortController}catch(e){}this.ee.on("internal-error",(e=>{this.abortHandler&&(0,x.p)("ierr",[C(e),(0,S.t)(),!0,{},this.#r],void 0,this.featureName,this.ee)})),this.ee.on(t.G4.REPLAY_RUNNING,(e=>{this.#r=e})),p.gm.addEventListener("unhandledrejection",(e=>{this.abortHandler&&(0,x.p)("err",[k(e),(0,S.t)(),!1,{unhandledPromiseRejection:1},this.#r],void 0,this.featureName,this.ee)}),(0,A.jT)(!1,this.removeOnAbort?.signal)),p.gm.addEventListener("error",(e=>{this.abortHandler&&(0,x.p)("err",[L(e),(0,S.t)(),!1,{},this.#r],void 0,this.featureName,this.ee)}),(0,A.jT)(!1,this.removeOnAbort?.signal)),this.abortHandler=this.#n,this.importAggregator(e)}#n(){this.removeOnAbort?.abort(),this.abortHandler=void 0}}var M=i(8990);let K=1;const U="nr@id";function V(e){const t=typeof e;return!e||"object"!==t&&"function"!==t?-1:e===p.gm?0:(0,M.I)(e,U,(function(){return K++}))}function G(e){if("string"==typeof e&&e.length)return e.length;if("object"==typeof e){if("undefined"!=typeof ArrayBuffer&&e instanceof ArrayBuffer&&e.byteLength)return e.byteLength;if("undefined"!=typeof Blob&&e instanceof Blob&&e.size)return e.size;if(!("undefined"!=typeof FormData&&e instanceof FormData))try{return(0,j.A)(e).length}catch(e){return}}}var F=i(8139),B=i(7836),W=i(3434);const z={},q=["open","send"];function Z(t){var r=t||B.ee;const n=function(e){return(e||B.ee).get("xhr")}(r);if(z[n.debugId]++)return n;z[n.debugId]=1,(0,F.u)(r);var i=(0,W.YM)(n),o=p.gm.XMLHttpRequest,a=p.gm.MutationObserver,s=p.gm.Promise,c=p.gm.setInterval,u="readystatechange",d=["onload","onerror","onabort","onloadstart","onloadend","onprogress","ontimeout"],l=[],f=p.gm.XMLHttpRequest=function(t){const r=new o(t),a=n.context(r);try{n.emit("new-xhr",[r],a),r.addEventListener(u,(s=a,function(){var e=this;e.readyState>3&&!s.resolved&&(s.resolved=!0,n.emit("xhr-resolved",[],e)),i.inPlace(e,d,"fn-",y)}),(0,A.jT)(!1))}catch(t){(0,e.R)(15,t);try{n.emit("internal-error",[t])}catch(e){}}var s;return r};function h(e,t){i.inPlace(t,["onreadystatechange"],"fn-",y)}if(function(e,t){for(var r in e)t[r]=e[r]}(o,f),f.prototype=o.prototype,i.inPlace(f.prototype,q,"-xhr-",y),n.on("send-xhr-start",(function(e,t){h(e,t),function(e){l.push(e),a&&(g?g.then(b):c?c(b):(m=-m,v.data=m))}(t)})),n.on("open-xhr-start",h),a){var g=s&&s.resolve();if(!c&&!s){var m=1,v=document.createTextNode(m);new a(b).observe(v,{characterData:!0})}}else r.on("fn-end",(function(e){e[0]&&e[0].type===u||b()}));function b(){for(var e=0;e<l.length;e++)h(0,l[e]);l.length&&(l=[])}function y(e,t){return t}return n}var Y="fetch-",X=Y+"body-",J=["arrayBuffer","blob","json","text","formData"],Q=p.gm.Request,ee=p.gm.Response,te="prototype";const re={};function ne(e){const t=function(e){return(e||B.ee).get("fetch")}(e);if(!(Q&&ee&&p.gm.fetch))return t;if(re[t.debugId]++)return t;function r(e,r,n){var i=e[r];"function"==typeof i&&(e[r]=function(){var e,r=[...arguments],o={};t.emit(n+"before-start",[r],o),o[B.P]&&o[B.P].dt&&(e=o[B.P].dt);var a=i.apply(this,r);return t.emit(n+"start",[r,e],a),a.then((function(e){return t.emit(n+"end",[null,e],a),e}),(function(e){throw t.emit(n+"end",[e],a),e}))})}return re[t.debugId]=1,J.forEach((e=>{r(Q[te],e,X),r(ee[te],e,X)})),r(p.gm,"fetch",Y),t.on(Y+"end",(function(e,r){var n=this;if(r){var i=r.headers.get("content-length");null!==i&&(n.rxSize=i),t.emit(Y+"done",[null,r],n)}else t.emit(Y+"done",[e],n)})),t}var ie=i(7485),oe=i(5603);class ae{constructor(e){this.agentIdentifier=e}generateTracePayload(e){if(!this.shouldGenerateTrace(e))return null;var t=(0,oe.o)(this.agentIdentifier);if(!t)return null;var n=(t.accountID||"").toString()||null,i=(t.agentID||"").toString()||null,o=(t.trustKey||"").toString()||null;if(!n||!i)return null;var a=(0,r.ZF)(),s=(0,r.el)(),c=Date.now(),u={spanId:a,traceId:s,timestamp:c};return(e.sameOrigin||this.isAllowedOrigin(e)&&this.useTraceContextHeadersForCors())&&(u.traceContextParentHeader=this.generateTraceContextParentHeader(a,s),u.traceContextStateHeader=this.generateTraceContextStateHeader(a,c,n,i,o)),(e.sameOrigin&&!this.excludeNewrelicHeader()||!e.sameOrigin&&this.isAllowedOrigin(e)&&this.useNewrelicHeaderForCors())&&(u.newrelicHeader=this.generateTraceHeader(a,s,c,n,i,o)),u}generateTraceContextParentHeader(e,t){return"00-"+t+"-"+e+"-01"}generateTraceContextStateHeader(e,t,r,n,i){return i+"@nr=0-1-"+r+"-"+n+"-"+e+"----"+t}generateTraceHeader(e,t,r,n,i,o){if(!("function"==typeof p.gm?.btoa))return null;var a={v:[0,1],d:{ty:"Browser",ac:n,ap:i,id:e,tr:t,ti:r}};return o&&n!==o&&(a.d.tk=o),btoa((0,j.A)(a))}shouldGenerateTrace(e){return this.isDtEnabled()&&this.isAllowedOrigin(e)}isAllowedOrigin(e){var t=!1,r={};if((0,s.gD)(this.agentIdentifier,"distributed_tracing")&&(r=(0,s.D0)(this.agentIdentifier).distributed_tracing),e.sameOrigin)t=!0;else if(r.allowed_origins instanceof Array)for(var n=0;n<r.allowed_origins.length;n++){var i=(0,ie.D)(r.allowed_origins[n]);if(e.hostname===i.hostname&&e.protocol===i.protocol&&e.port===i.port){t=!0;break}}return t}isDtEnabled(){var e=(0,s.gD)(this.agentIdentifier,"distributed_tracing");return!!e&&!!e.enabled}excludeNewrelicHeader(){var e=(0,s.gD)(this.agentIdentifier,"distributed_tracing");return!!e&&!!e.exclude_newrelic_header}useNewrelicHeaderForCors(){var e=(0,s.gD)(this.agentIdentifier,"distributed_tracing");return!!e&&!1!==e.cors_use_newrelic_header}useTraceContextHeadersForCors(){var e=(0,s.gD)(this.agentIdentifier,"distributed_tracing");return!!e&&!!e.cors_use_tracecontext_headers}}var se=i(9300),ce=i(7295),ue=["load","error","abort","timeout"],de=ue.length,le=(0,R.dV)().o.REQ,fe=(0,R.dV)().o.XHR;class he extends b{static featureName=se.T;constructor(e,t=!0){super(e,se.T,t),this.dt=new ae(e.agentIdentifier),this.handler=(e,t,r,n)=>(0,x.p)(e,t,r,n,this.ee);try{const e={xmlhttprequest:"xhr",fetch:"fetch",beacon:"beacon"};p.gm?.performance?.getEntriesByType("resource").forEach((t=>{if(t.initiatorType in e&&0!==t.responseStatus){const r={status:t.responseStatus},n={rxSize:t.transferSize,duration:Math.floor(t.duration),cbTime:0};pe(r,t.name),this.handler("xhr",[r,n,t.startTime,t.responseEnd,e[t.initiatorType]],void 0,a.K7.ajax)}}))}catch(e){}ne(this.ee),Z(this.ee),function(e,t,r,n){function i(e){var t=this;t.totalCbs=0,t.called=0,t.cbTime=0,t.end=R,t.ended=!1,t.xhrGuids={},t.lastSize=null,t.loadCaptureCalled=!1,t.params=this.params||{},t.metrics=this.metrics||{},e.addEventListener("load",(function(r){T(t,e)}),(0,A.jT)(!1)),p.lR||e.addEventListener("progress",(function(e){t.lastSize=e.loaded}),(0,A.jT)(!1))}function o(e){this.params={method:e[0]},pe(this,e[1]),this.metrics={}}function s(t,r){e.loader_config.xpid&&this.sameOrigin&&r.setRequestHeader("X-NewRelic-ID",e.loader_config.xpid);var i=n.generateTracePayload(this.parsedOrigin);if(i){var o=!1;i.newrelicHeader&&(r.setRequestHeader("newrelic",i.newrelicHeader),o=!0),i.traceContextParentHeader&&(r.setRequestHeader("traceparent",i.traceContextParentHeader),i.traceContextStateHeader&&r.setRequestHeader("tracestate",i.traceContextStateHeader),o=!0),o&&(this.dt=i)}}function c(e,r){var n=this.metrics,i=e[0],o=this;if(n&&i){var a=G(i);a&&(n.txSize=a)}this.startTime=(0,S.t)(),this.body=i,this.listener=function(e){try{"abort"!==e.type||o.loadCaptureCalled||(o.params.aborted=!0),("load"!==e.type||o.called===o.totalCbs&&(o.onloadCalled||"function"!=typeof r.onload)&&"function"==typeof o.end)&&o.end(r)}catch(e){try{t.emit("internal-error",[e])}catch(e){}}};for(var s=0;s<de;s++)r.addEventListener(ue[s],this.listener,(0,A.jT)(!1))}function u(e,t,r){this.cbTime+=e,t?this.onloadCalled=!0:this.called+=1,this.called!==this.totalCbs||!this.onloadCalled&&"function"==typeof r.onload||"function"!=typeof this.end||this.end(r)}function d(e,t){var r=""+V(e)+!!t;this.xhrGuids&&!this.xhrGuids[r]&&(this.xhrGuids[r]=!0,this.totalCbs+=1)}function l(e,t){var r=""+V(e)+!!t;this.xhrGuids&&this.xhrGuids[r]&&(delete this.xhrGuids[r],this.totalCbs-=1)}function f(){this.endTime=(0,S.t)()}function h(e,r){r instanceof fe&&"load"===e[0]&&t.emit("xhr-load-added",[e[1],e[2]],r)}function g(e,r){r instanceof fe&&"load"===e[0]&&t.emit("xhr-load-removed",[e[1],e[2]],r)}function m(e,t,r){t instanceof fe&&("onload"===r&&(this.onload=!0),("load"===(e[0]&&e[0].type)||this.onload)&&(this.xhrCbStart=(0,S.t)()))}function v(e,r){this.xhrCbStart&&t.emit("xhr-cb-time",[(0,S.t)()-this.xhrCbStart,this.onload,r],r)}function b(e){var t,r=e[1]||{};if("string"==typeof e[0]?0===(t=e[0]).length&&p.RI&&(t=""+p.gm.location.href):e[0]&&e[0].url?t=e[0].url:p.gm?.URL&&e[0]&&e[0]instanceof URL?t=e[0].href:"function"==typeof e[0].toString&&(t=e[0].toString()),"string"==typeof t&&0!==t.length){t&&(this.parsedOrigin=(0,ie.D)(t),this.sameOrigin=this.parsedOrigin.sameOrigin);var i=n.generateTracePayload(this.parsedOrigin);if(i&&(i.newrelicHeader||i.traceContextParentHeader))if(e[0]&&e[0].headers)s(e[0].headers,i)&&(this.dt=i);else{var o={};for(var a in r)o[a]=r[a];o.headers=new Headers(r.headers||{}),s(o.headers,i)&&(this.dt=i),e.length>1?e[1]=o:e.push(o)}}function s(e,t){var r=!1;return t.newrelicHeader&&(e.set("newrelic",t.newrelicHeader),r=!0),t.traceContextParentHeader&&(e.set("traceparent",t.traceContextParentHeader),t.traceContextStateHeader&&e.set("tracestate",t.traceContextStateHeader),r=!0),r}}function y(e,t){this.params={},this.metrics={},this.startTime=(0,S.t)(),this.dt=t,e.length>=1&&(this.target=e[0]),e.length>=2&&(this.opts=e[1]);var r,n=this.opts||{},i=this.target;"string"==typeof i?r=i:"object"==typeof i&&i instanceof le?r=i.url:p.gm?.URL&&"object"==typeof i&&i instanceof URL&&(r=i.href),pe(this,r);var o=(""+(i&&i instanceof le&&i.method||n.method||"GET")).toUpperCase();this.params.method=o,this.body=n.body,this.txSize=G(n.body)||0}function w(e,t){if(this.endTime=(0,S.t)(),this.params||(this.params={}),(0,ce.iW)(this.params))return;let n;this.params.status=t?t.status:0,"string"==typeof this.rxSize&&this.rxSize.length>0&&(n=+this.rxSize);const i={txSize:this.txSize,rxSize:n,duration:(0,S.t)()-this.startTime};r("xhr",[this.params,i,this.startTime,this.endTime,"fetch"],this,a.K7.ajax)}function R(e){const t=this.params,n=this.metrics;if(!this.ended){this.ended=!0;for(let t=0;t<de;t++)e.removeEventListener(ue[t],this.listener,!1);t.aborted||(0,ce.iW)(t)||(n.duration=(0,S.t)()-this.startTime,this.loadCazptureCalled||4!==e.readyState?null==t.status&&(t.status=0):T(this,e),n.cbTime=this.cbTime,r("xhr",[t,n,this.startTime,this.endTime,"xhr"],this,a.K7.ajax))}}function T(e,r){e.params.status=r.status;var n=function(e,t){var r=e.responseType;return"json"===r&&null!==t?t:"arraybuffer"===r||"blob"===r||"json"===r?G(e.response):"text"===r||""===r||void 0===r?G(e.responseText):void 0}(r,e.lastSize);if(n&&(e.metrics.rxSize=n),e.sameOrigin){var i=r.getResponseHeader("X-NewRelic-App-Data");i&&((0,x.p)(O.rs,["Ajax/CrossApplicationTracing/Header/Seen"],void 0,a.K7.metrics,t),e.params.cat=i.split(", ").pop())}e.loadCaptureCalled=!0}t.on("new-xhr",i),t.on("open-xhr-start",o),t.on("open-xhr-end",s),t.on("send-xhr-start",c),t.on("xhr-cb-time",u),t.on("xhr-load-added",d),t.on("xhr-load-removed",l),t.on("xhr-resolved",f),t.on("addEventListener-end",h),t.on("removeEventListener-end",g),t.on("fn-end",v),t.on("fetch-before-start",b),t.on("fetch-start",y),t.on("fn-start",m),t.on("fetch-done",w)}(e,this.ee,this.handler,this.dt),this.importAggregator(e)}}function pe(e,t){var r=(0,ie.D)(t),n=e.params||e;n.hostname=r.hostname,n.port=r.port,n.protocol=r.protocol,n.host=r.hostname+":"+r.port,n.pathname=r.pathname,e.parsedOrigin=r,e.sameOrigin=r.sameOrigin}const ge={},me=["pushState","replaceState"];function ve(e){const t=function(e){return(e||B.ee).get("history")}(e);return!p.RI||ge[t.debugId]++||(ge[t.debugId]=1,(0,W.YM)(t).inPlace(window.history,me,"-")),t}var be=i(3738);const{He:ye,bD:we,d3:Re,Kp:xe,TZ:Te,Lc:Ae,uP:Ee,Rz:Se}=be;class Ne extends b{static featureName=Te;constructor(e,t=!0){super(e,Te,t);if(!(0,m.V)(this.agentIdentifier))return void this.deregisterDrain();const r=this.ee;let n;ve(r),this.eventsEE=(0,F.u)(r),this.eventsEE.on(Ee,(function(e,t){this.bstStart=(0,S.t)()})),this.eventsEE.on(Ae,(function(e,t){(0,x.p)("bst",[e[0],t,this.bstStart,(0,S.t)()],void 0,a.K7.sessionTrace,r)})),r.on(Se+Re,(function(e){this.time=(0,S.t)(),this.startPath=location.pathname+location.hash})),r.on(Se+xe,(function(e){(0,x.p)("bstHist",[location.pathname+location.hash,this.startPath,this.time],void 0,a.K7.sessionTrace,r)}));try{n=new PerformanceObserver((e=>{const t=e.getEntries();(0,x.p)(ye,[t],void 0,a.K7.sessionTrace,r)})),n.observe({type:we,buffered:!0})}catch(e){}this.importAggregator(e,{resourceObserver:n})}}var Oe=i(2614);class _e extends b{static featureName=t.TZ;#i;#o;constructor(e,r=!0){let n;super(e,t.TZ,r),this.replayRunning=!1,this.#o=e;try{n=JSON.parse(localStorage.getItem("".concat(Oe.H3,"_").concat(Oe.uh)))}catch(e){}(0,g.SR)(e.agentIdentifier)&&this.ee.on(t.G4.RECORD,(()=>this.#a())),this.#s(n)?(this.#i=n?.sessionReplayMode,this.#c()):this.importAggregator(e),this.ee.on("err",(e=>{this.replayRunning&&(this.errorNoticed=!0,(0,x.p)(t.G4.ERROR_DURING_REPLAY,[e],void 0,this.featureName,this.ee))})),this.ee.on(t.G4.REPLAY_RUNNING,(e=>{this.replayRunning=e}))}#s(e){return e&&(e.sessionReplayMode===Oe.g.FULL||e.sessionReplayMode===Oe.g.ERROR)||(0,g.Aw)(this.agentIdentifier)}#u=!1;async#c(e){if(!this.#u){this.#u=!0;try{const{Recorder:t}=await Promise.all([i.e(478),i.e(249)]).then(i.bind(i,8589));this.recorder??=new t({mode:this.#i,agentIdentifier:this.agentIdentifier,trigger:e,ee:this.ee}),this.recorder.startRecording(),this.abortHandler=this.recorder.stopRecording}catch(e){}this.importAggregator(this.#o,{recorder:this.recorder,errorNoticed:this.errorNoticed})}}#a(){this.featAggregate?this.featAggregate.mode!==Oe.g.FULL&&this.featAggregate.initializeRecording(Oe.g.FULL,!0):(this.#i=Oe.g.FULL,this.#c(t.Qb.API),this.recorder&&this.recorder.parent.mode!==Oe.g.FULL&&(this.recorder.parent.mode=Oe.g.FULL,this.recorder.stopRecording(),this.recorder.startRecording(),this.abortHandler=this.recorder.stopRecording))}}var Ie=i(3962);class je extends b{static featureName=Ie.TZ;constructor(e,t=!0){if(super(e,Ie.TZ,t),!p.RI||!(0,R.dV)().o.MO)return;const r=ve(this.ee);Ie.tC.forEach((e=>{(0,A.sp)(e,(e=>{a(e)}),!0)}));const n=()=>(0,x.p)("newURL",[(0,S.t)(),""+window.location],void 0,this.featureName,this.ee);r.on("pushState-end",n),r.on("replaceState-end",n);try{this.removeOnAbort=new AbortController}catch(e){}(0,A.sp)("popstate",(e=>(0,x.p)("newURL",[e.timeStamp,""+window.location],void 0,this.featureName,this.ee)),!0,this.removeOnAbort?.signal);let i=!1;const o=new((0,R.dV)().o.MO)(((e,t)=>{i||(i=!0,requestAnimationFrame((()=>{(0,x.p)("newDom",[(0,S.t)()],void 0,this.featureName,this.ee),i=!1})))})),a=(0,v.s)((e=>{(0,x.p)("newUIEvent",[e],void 0,this.featureName,this.ee),o.observe(document.body,{attributes:!0,childList:!0,subtree:!0,characterData:!0})}),100,{leading:!0});this.abortHandler=function(){this.removeOnAbort?.abort(),o.disconnect(),this.abortHandler=void 0},this.importAggregator(e,{domObserver:o})}}var Pe=i(7378);const Ce={},ke=["appendChild","insertBefore","replaceChild"];function Le(e){const t=function(e){return(e||B.ee).get("jsonp")}(e);if(!p.RI||Ce[t.debugId])return t;Ce[t.debugId]=!0;var r=(0,W.YM)(t),n=/[?&](?:callback|cb)=([^&#]+)/,i=/(.*)\.([^.]+)/,o=/^(\w+)(\.|$)(.*)$/;function a(e,t){if(!e)return t;const r=e.match(o),n=r[1];return a(r[3],t[n])}return r.inPlace(Node.prototype,ke,"dom-"),t.on("dom-start",(function(e){!function(e){if(!e||"string"!=typeof e.nodeName||"script"!==e.nodeName.toLowerCase())return;if("function"!=typeof e.addEventListener)return;var o=(s=e.src,c=s.match(n),c?c[1]:null);var s,c;if(!o)return;var u=function(e){var t=e.match(i);if(t&&t.length>=3)return{key:t[2],parent:a(t[1],window)};return{key:e,parent:window}}(o);if("function"!=typeof u.parent[u.key])return;var d={};function l(){t.emit("jsonp-end",[],d),e.removeEventListener("load",l,(0,A.jT)(!1)),e.removeEventListener("error",f,(0,A.jT)(!1))}function f(){t.emit("jsonp-error",[],d),t.emit("jsonp-end",[],d),e.removeEventListener("load",l,(0,A.jT)(!1)),e.removeEventListener("error",f,(0,A.jT)(!1))}r.inPlace(u.parent,[u.key],"cb-",d),e.addEventListener("load",l,(0,A.jT)(!1)),e.addEventListener("error",f,(0,A.jT)(!1)),t.emit("new-jsonp",[e.src],d)}(e[0])})),t}const He={};function De(e){const t=function(e){return(e||B.ee).get("promise")}(e);if(He[t.debugId])return t;He[t.debugId]=!0;var r=t.context,n=(0,W.YM)(t),i=p.gm.Promise;return i&&function(){function e(r){var o=t.context(),a=n(r,"executor-",o,null,!1);const s=Reflect.construct(i,[a],e);return t.context(s).getCtx=function(){return o},s}p.gm.Promise=e,Object.defineProperty(e,"name",{value:"Promise"}),e.toString=function(){return i.toString()},Object.setPrototypeOf(e,i),["all","race"].forEach((function(r){const n=i[r];e[r]=function(e){let i=!1;[...e||[]].forEach((e=>{this.resolve(e).then(a("all"===r),a(!1))}));const o=n.apply(this,arguments);return o;function a(e){return function(){t.emit("propagate",[null,!i],o,!1,!1),i=i||!e}}}})),["resolve","reject"].forEach((function(r){const n=i[r];e[r]=function(e){const r=n.apply(this,arguments);return e!==r&&t.emit("propagate",[e,!0],r,!1,!1),r}})),e.prototype=i.prototype;const o=i.prototype.then;i.prototype.then=function(...e){var i=this,a=r(i);a.promise=i,e[0]=n(e[0],"cb-",a,null,!1),e[1]=n(e[1],"cb-",a,null,!1);const s=o.apply(this,e);return a.nextPromise=s,t.emit("propagate",[i,!0],s,!1,!1),s},i.prototype.then[W.Jt]=o,t.on("executor-start",(function(e){e[0]=n(e[0],"resolve-",this,null,!1),e[1]=n(e[1],"resolve-",this,null,!1)})),t.on("executor-err",(function(e,t,r){e[1](r)})),t.on("cb-end",(function(e,r,n){t.emit("propagate",[n,!0],this.nextPromise,!1,!1)})),t.on("propagate",(function(e,r,n){this.getCtx&&!r||(this.getCtx=function(){if(e instanceof Promise)var r=t.context(e);return r&&r.getCtx?r.getCtx():this})}))}(),t}const Me={},Ke="setTimeout",Ue="setInterval",Ve="clearTimeout",Ge="-start",Fe=[Ke,"setImmediate",Ue,Ve,"clearImmediate"];function Be(e){const t=function(e){return(e||B.ee).get("timer")}(e);if(Me[t.debugId]++)return t;Me[t.debugId]=1;var r=(0,W.YM)(t);return r.inPlace(p.gm,Fe.slice(0,2),Ke+"-"),r.inPlace(p.gm,Fe.slice(2,3),Ue+"-"),r.inPlace(p.gm,Fe.slice(3),Ve+"-"),t.on(Ue+Ge,(function(e,t,n){e[0]=r(e[0],"fn-",null,n)})),t.on(Ke+Ge,(function(e,t,n){this.method=n,this.timerDuration=isNaN(e[1])?0:+e[1],e[0]=r(e[0],"fn-",this,n)})),t}const We={};function ze(e){const t=function(e){return(e||B.ee).get("mutation")}(e);if(!p.RI||We[t.debugId])return t;We[t.debugId]=!0;var r=(0,W.YM)(t),n=p.gm.MutationObserver;return n&&(window.MutationObserver=function(e){return this instanceof n?new n(r(e,"fn-")):n.apply(this,arguments)},MutationObserver.prototype=n.prototype),t}const{TZ:qe,d3:Ze,Kp:Ye,$p:Xe,wW:Je,e5:Qe,tH:$e,uP:et,rw:tt,Lc:rt}=Pe;class nt extends b{static featureName=qe;constructor(e,t=!0){if(super(e,qe,t),!p.RI)return;try{this.removeOnAbort=new AbortController}catch(e){}let r,n=0;const i=this.ee.get("tracer"),o=Le(this.ee),a=De(this.ee),s=Be(this.ee),c=Z(this.ee),u=this.ee.get("events"),d=ne(this.ee),l=ve(this.ee),f=ze(this.ee);function h(e,t){l.emit("newURL",[""+window.location,t])}function g(){n++,r=window.location.hash,this[et]=(0,S.t)()}function m(){n--,window.location.hash!==r&&h(0,!0);var e=(0,S.t)();this[Qe]=~~this[Qe]+e-this[et],this[rt]=e}function v(e,t){e.on(t,(function(){this[t]=(0,S.t)()}))}this.ee.on(et,g),a.on(tt,g),o.on(tt,g),this.ee.on(rt,m),a.on(Je,m),o.on(Je,m),this.ee.on("fn-err",((...t)=>{t[2]?.__newrelic?.[e.agentIdentifier]||(0,x.p)("function-err",[...t],void 0,this.featureName,this.ee)})),this.ee.buffer([et,rt,"xhr-resolved"],this.featureName),u.buffer([et],this.featureName),s.buffer(["setTimeout"+Ye,"clearTimeout"+Ze,et],this.featureName),c.buffer([et,"new-xhr","send-xhr"+Ze],this.featureName),d.buffer([$e+Ze,$e+"-done",$e+Xe+Ze,$e+Xe+Ye],this.featureName),l.buffer(["newURL"],this.featureName),f.buffer([et],this.featureName),a.buffer(["propagate",tt,Je,"executor-err","resolve"+Ze],this.featureName),i.buffer([et,"no-"+et],this.featureName),o.buffer(["new-jsonp","cb-start","jsonp-error","jsonp-end"],this.featureName),v(d,$e+Ze),v(d,$e+"-done"),v(o,"new-jsonp"),v(o,"jsonp-end"),v(o,"cb-start"),l.on("pushState-end",h),l.on("replaceState-end",h),window.addEventListener("hashchange",h,(0,A.jT)(!0,this.removeOnAbort?.signal)),window.addEventListener("load",h,(0,A.jT)(!0,this.removeOnAbort?.signal)),window.addEventListener("popstate",(function(){h(0,n>1)}),(0,A.jT)(!0,this.removeOnAbort?.signal)),this.abortHandler=this.#n,this.importAggregator(e)}#n(){this.removeOnAbort?.abort(),this.abortHandler=void 0}}var it=i(3333);class ot extends b{static featureName=it.TZ;constructor(e,t=!0){super(e,it.TZ,t);const r=[e.init.page_action.enabled,e.init.performance.capture_marks,e.init.performance.capture_measures,e.init.user_actions.enabled];p.RI&&e.init.user_actions.enabled&&(it.Zp.forEach((e=>(0,A.sp)(e,(e=>(0,x.p)("ua",[e],void 0,this.featureName,this.ee)),!0))),it.qN.forEach((e=>(0,A.sp)(e,(e=>(0,x.p)("ua",[e],void 0,this.featureName,this.ee)))))),r.some((e=>e))?this.importAggregator(e):this.deregisterDrain()}}var at=i(993),st=i(3785);class ct extends b{static featureName=at.TZ;constructor(e,t=!0){super(e,at.TZ,t);const r=this.ee;this.ee.on("wrap-logger-end",(function([e]){const{level:t,customAttributes:n}=this;(0,st.R)(r,e,n,t)})),this.importAggregator(e)}}new class extends o{constructor(t,r){super(r),p.gm?(this.features={},(0,R.bQ)(this.agentIdentifier,this),this.desiredFeatures=new Set(t.features||[]),this.desiredFeatures.add(w),this.runSoftNavOverSpa=[...this.desiredFeatures].some((e=>e.featureName===a.K7.softNav)),(0,d.j)(this,t,t.loaderType||"agent"),this.run()):(0,e.R)(21)}get config(){return{info:this.info,init:this.init,loader_config:this.loader_config,runtime:this.runtime}}run(){try{const t=u(this.agentIdentifier),r=[...this.desiredFeatures];r.sort(((e,t)=>a.P3[e.featureName]-a.P3[t.featureName])),r.forEach((r=>{if(!t[r.featureName]&&r.featureName!==a.K7.pageViewEvent)return;if(this.runSoftNavOverSpa&&r.featureName===a.K7.spa)return;if(!this.runSoftNavOverSpa&&r.featureName===a.K7.softNav)return;const n=function(e){switch(e){case a.K7.ajax:return[a.K7.jserrors];case a.K7.sessionTrace:return[a.K7.ajax,a.K7.pageViewEvent];case a.K7.sessionReplay:return[a.K7.sessionTrace];case a.K7.pageViewTiming:return[a.K7.pageViewEvent];default:return[]}}(r.featureName).filter((e=>!(e in this.features)));n.length>0&&(0,e.R)(36,{targetFeature:r.featureName,missingDependencies:n}),this.features[r.featureName]=new r(this)}))}catch(t){(0,e.R)(22,t);for(const e in this.features)this.features[e].abortHandler?.();const r=(0,R.Zm)();delete r.initializedAgents[this.agentIdentifier]?.api,delete r.initializedAgents[this.agentIdentifier]?.features,delete this.sharedAggregator;return r.ee.get(this.agentIdentifier).abort(),!1}}}({features:[he,w,N,Ne,_e,_,D,ot,ct,je,nt],loaderType:"spa"})})()})();</script> <meta name="viewport" content="width=device-width, initial-scale=1"> <!-- <link rel="pingback" href="https://publichealth.berkeley.edu/wp/xmlrpc.php" /> --> <meta name="application-name" content="Berkeley Public Health"> <meta name="msapplication-TileColor" content="#003262"> <meta name="theme-color" media="(prefers-color-scheme: light)" content="#3b7da0" /> <meta name="theme-color" media="(prefers-color-scheme: dark)" content="#003262" /> <title>Joint Medical Program | Berkeley Public Health</title> <meta name="robots" content="max-snippet:-1,max-image-preview:large,max-video-preview:-1" /> <link rel="canonical" href="https://publichealth.berkeley.edu/academics/joint-medical-program" /> <meta name="description" content="The UC Berkeley-UCSF JMP advances health equity and social justice by educating a workforce of diverse, antiracist physicians." /> <meta name="theme-color" content="#3b7ea1" /> <meta property="og:type" content="website" /> <meta property="og:locale" content="en_US" /> <meta property="og:site_name" content="Berkeley Public Health" /> <meta property="og:title" content="Joint Medical Program" /> <meta property="og:description" content="The UC Berkeley-UCSF JMP advances health equity and social justice by educating a workforce of diverse, antiracist physicians." /> <meta property="og:url" content="https://publichealth.berkeley.edu/academics/joint-medical-program" /> <meta property="og:image" content="https://publichealth.berkeley.edu/app/uploads/Joint-Medical-Program.jpg" /> <meta property="og:image:width" content="1620" /> <meta property="og:image:height" content="1080" /> <meta name="twitter:card" content="summary_large_image" /> <meta name="twitter:site" content="@UCBerkeleySPH" /> <meta name="twitter:title" content="Joint Medical Program" /> <meta name="twitter:description" content="The UC Berkeley-UCSF JMP advances health equity and social justice by educating a workforce of diverse, antiracist physicians." /> <meta name="twitter:image" content="https://publichealth.berkeley.edu/app/uploads/Joint-Medical-Program.jpg" /> <script type="application/ld+json">{"@context":"https://schema.org","@graph":[{"@type":"WebSite","@id":"https://publichealth.berkeley.edu/#/schema/WebSite","url":"https://publichealth.berkeley.edu/","name":"Berkeley Public Health","alternateName":"UC Berkeley School of Public Health","description":"More than 75 years of transformational research and hands-on social impact for a better world.","inLanguage":"en-US","potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://publichealth.berkeley.edu/search/{search_term_string}"},"query-input":"required name=search_term_string"},"publisher":{"@type":"Organization","@id":"https://publichealth.berkeley.edu/#/schema/Organization","name":"UC Berkeley School of Public Health","url":"https://publichealth.berkeley.edu/","logo":{"@type":"ImageObject","url":"https://publichealth.berkeley.edu/app/uploads/cropped-favicon-3.jpg","contentUrl":"https://publichealth.berkeley.edu/app/uploads/cropped-favicon-3.jpg","width":512,"height":512,"contentSize":"29301"}}},{"@type":"WebPage","@id":"https://publichealth.berkeley.edu/academics/joint-medical-program","url":"https://publichealth.berkeley.edu/academics/joint-medical-program","name":"Joint Medical Program | Berkeley Public Health","description":"The UC Berkeley-UCSF JMP advances health equity and social justice by educating a workforce of diverse, antiracist physicians.","inLanguage":"en-US","isPartOf":{"@id":"https://publichealth.berkeley.edu/#/schema/WebSite"},"breadcrumb":{"@type":"BreadcrumbList","@id":"https://publichealth.berkeley.edu/#/schema/BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"item":"https://publichealth.berkeley.edu/","name":"Berkeley Public Health"},{"@type":"ListItem","position":2,"item":"https://publichealth.berkeley.edu/academics","name":"Academics"},{"@type":"ListItem","position":3,"name":"Joint Medical Program"}]},"potentialAction":{"@type":"ReadAction","target":"https://publichealth.berkeley.edu/academics/joint-medical-program"}}]}</script> <link rel='dns-prefetch' href='//publichealth.berkeley.edu' /> <link rel='dns-prefetch' href='//siteimproveanalytics.com' /> <script type="text/javascript"> /* <![CDATA[ */ window._wpemojiSettings = {"baseUrl":"https:\/\/s.w.org\/images\/core\/emoji\/15.0.3\/72x72\/","ext":".png","svgUrl":"https:\/\/s.w.org\/images\/core\/emoji\/15.0.3\/svg\/","svgExt":".svg","source":{"concatemoji":"https:\/\/publichealth.berkeley.edu\/wp\/wp-includes\/js\/wp-emoji-release.min.js?ver=6.5.3"}}; /*! This file is auto-generated */ !function(i,n){var o,s,e;function c(e){try{var t={supportTests:e,timestamp:(new Date).valueOf()};sessionStorage.setItem(o,JSON.stringify(t))}catch(e){}}function p(e,t,n){e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(t,0,0);var t=new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data),r=(e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(n,0,0),new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data));return t.every(function(e,t){return e===r[t]})}function u(e,t,n){switch(t){case"flag":return n(e,"\ud83c\udff3\ufe0f\u200d\u26a7\ufe0f","\ud83c\udff3\ufe0f\u200b\u26a7\ufe0f")?!1:!n(e,"\ud83c\uddfa\ud83c\uddf3","\ud83c\uddfa\u200b\ud83c\uddf3")&&!n(e,"\ud83c\udff4\udb40\udc67\udb40\udc62\udb40\udc65\udb40\udc6e\udb40\udc67\udb40\udc7f","\ud83c\udff4\u200b\udb40\udc67\u200b\udb40\udc62\u200b\udb40\udc65\u200b\udb40\udc6e\u200b\udb40\udc67\u200b\udb40\udc7f");case"emoji":return!n(e,"\ud83d\udc26\u200d\u2b1b","\ud83d\udc26\u200b\u2b1b")}return!1}function f(e,t,n){var r="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?new OffscreenCanvas(300,150):i.createElement("canvas"),a=r.getContext("2d",{willReadFrequently:!0}),o=(a.textBaseline="top",a.font="600 32px Arial",{});return e.forEach(function(e){o[e]=t(a,e,n)}),o}function t(e){var t=i.createElement("script");t.src=e,t.defer=!0,i.head.appendChild(t)}"undefined"!=typeof Promise&&(o="wpEmojiSettingsSupports",s=["flag","emoji"],n.supports={everything:!0,everythingExceptFlag:!0},e=new Promise(function(e){i.addEventListener("DOMContentLoaded",e,{once:!0})}),new Promise(function(t){var n=function(){try{var e=JSON.parse(sessionStorage.getItem(o));if("object"==typeof e&&"number"==typeof e.timestamp&&(new Date).valueOf()<e.timestamp+604800&&"object"==typeof e.supportTests)return e.supportTests}catch(e){}return null}();if(!n){if("undefined"!=typeof Worker&&"undefined"!=typeof OffscreenCanvas&&"undefined"!=typeof URL&&URL.createObjectURL&&"undefined"!=typeof Blob)try{var e="postMessage("+f.toString()+"("+[JSON.stringify(s),u.toString(),p.toString()].join(",")+"));",r=new Blob([e],{type:"text/javascript"}),a=new Worker(URL.createObjectURL(r),{name:"wpTestEmojiSupports"});return void(a.onmessage=function(e){c(n=e.data),a.terminate(),t(n)})}catch(e){}c(n=f(s,u,p))}t(n)}).then(function(e){for(var t in e)n.supports[t]=e[t],n.supports.everything=n.supports.everything&&n.supports[t],"flag"!==t&&(n.supports.everythingExceptFlag=n.supports.everythingExceptFlag&&n.supports[t]);n.supports.everythingExceptFlag=n.supports.everythingExceptFlag&&!n.supports.flag,n.DOMReady=!1,n.readyCallback=function(){n.DOMReady=!0}}).then(function(){return e}).then(function(){var e;n.supports.everything||(n.readyCallback(),(e=n.source||{}).concatemoji?t(e.concatemoji):e.wpemoji&&e.twemoji&&(t(e.twemoji),t(e.wpemoji)))}))}((window,document),window._wpemojiSettings); /* ]]> */ </script> <style id='wp-emoji-styles-inline-css' type='text/css'> img.wp-smiley, img.emoji { display: inline !important; border: none !important; box-shadow: none !important; height: 1em !important; width: 1em !important; margin: 0 0.07em !important; vertical-align: -0.1em !important; background: none !important; padding: 0 !important; } </style> <style id='classic-theme-styles-inline-css' type='text/css'> /*! This file is auto-generated */ .wp-block-button__link{color:#fff;background-color:#32373c;border-radius:9999px;box-shadow:none;text-decoration:none;padding:calc(.667em + 2px) calc(1.333em + 2px);font-size:1.125em}.wp-block-file__button{background:#32373c;color:#fff;text-decoration:none} </style> <style id='global-styles-inline-css' type='text/css'> body{--wp--preset--color--black: #000000;--wp--preset--color--cyan-bluish-gray: #abb8c3;--wp--preset--color--white: #ffffff;--wp--preset--color--pale-pink: #f78da7;--wp--preset--color--vivid-red: #cf2e2e;--wp--preset--color--luminous-vivid-orange: #ff6900;--wp--preset--color--luminous-vivid-amber: #fcb900;--wp--preset--color--light-green-cyan: #7bdcb5;--wp--preset--color--vivid-green-cyan: #00d084;--wp--preset--color--pale-cyan-blue: #8ed1fc;--wp--preset--color--vivid-cyan-blue: #0693e3;--wp--preset--color--vivid-purple: #9b51e0;--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(135deg,rgba(6,147,227,1) 0%,rgb(155,81,224) 100%);--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan: linear-gradient(135deg,rgb(122,220,180) 0%,rgb(0,208,130) 100%);--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange: linear-gradient(135deg,rgba(252,185,0,1) 0%,rgba(255,105,0,1) 100%);--wp--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(135deg,rgba(255,105,0,1) 0%,rgb(207,46,46) 100%);--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray: linear-gradient(135deg,rgb(238,238,238) 0%,rgb(169,184,195) 100%);--wp--preset--gradient--cool-to-warm-spectrum: linear-gradient(135deg,rgb(74,234,220) 0%,rgb(151,120,209) 20%,rgb(207,42,186) 40%,rgb(238,44,130) 60%,rgb(251,105,98) 80%,rgb(254,248,76) 100%);--wp--preset--gradient--blush-light-purple: linear-gradient(135deg,rgb(255,206,236) 0%,rgb(152,150,240) 100%);--wp--preset--gradient--blush-bordeaux: linear-gradient(135deg,rgb(254,205,165) 0%,rgb(254,45,45) 50%,rgb(107,0,62) 100%);--wp--preset--gradient--luminous-dusk: linear-gradient(135deg,rgb(255,203,112) 0%,rgb(199,81,192) 50%,rgb(65,88,208) 100%);--wp--preset--gradient--pale-ocean: linear-gradient(135deg,rgb(255,245,203) 0%,rgb(182,227,212) 50%,rgb(51,167,181) 100%);--wp--preset--gradient--electric-grass: linear-gradient(135deg,rgb(202,248,128) 0%,rgb(113,206,126) 100%);--wp--preset--gradient--midnight: linear-gradient(135deg,rgb(2,3,129) 0%,rgb(40,116,252) 100%);--wp--preset--font-size--small: 13px;--wp--preset--font-size--medium: 20px;--wp--preset--font-size--large: 36px;--wp--preset--font-size--x-large: 42px;--wp--preset--spacing--20: 0.44rem;--wp--preset--spacing--30: 0.67rem;--wp--preset--spacing--40: 1rem;--wp--preset--spacing--50: 1.5rem;--wp--preset--spacing--60: 2.25rem;--wp--preset--spacing--70: 3.38rem;--wp--preset--spacing--80: 5.06rem;--wp--preset--shadow--natural: 6px 6px 9px rgba(0, 0, 0, 0.2);--wp--preset--shadow--deep: 12px 12px 50px rgba(0, 0, 0, 0.4);--wp--preset--shadow--sharp: 6px 6px 0px rgba(0, 0, 0, 0.2);--wp--preset--shadow--outlined: 6px 6px 0px -3px rgba(255, 255, 255, 1), 6px 6px rgba(0, 0, 0, 1);--wp--preset--shadow--crisp: 6px 6px 0px rgba(0, 0, 0, 1);}:where(.is-layout-flex){gap: 0.5em;}:where(.is-layout-grid){gap: 0.5em;}body .is-layout-flex{display: flex;}body .is-layout-flex{flex-wrap: wrap;align-items: center;}body .is-layout-flex > *{margin: 0;}body .is-layout-grid{display: grid;}body .is-layout-grid > *{margin: 0;}:where(.wp-block-columns.is-layout-flex){gap: 2em;}:where(.wp-block-columns.is-layout-grid){gap: 2em;}:where(.wp-block-post-template.is-layout-flex){gap: 1.25em;}:where(.wp-block-post-template.is-layout-grid){gap: 1.25em;}.has-black-color{color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-color{color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-color{color: var(--wp--preset--color--white) !important;}.has-pale-pink-color{color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-color{color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-color{color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-color{color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-color{color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-color{color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-color{color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-color{color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-color{color: var(--wp--preset--color--vivid-purple) !important;}.has-black-background-color{background-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-background-color{background-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-background-color{background-color: var(--wp--preset--color--white) !important;}.has-pale-pink-background-color{background-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-background-color{background-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-background-color{background-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-background-color{background-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-background-color{background-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-background-color{background-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-background-color{background-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-background-color{background-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-background-color{background-color: var(--wp--preset--color--vivid-purple) !important;}.has-black-border-color{border-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-border-color{border-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-border-color{border-color: var(--wp--preset--color--white) !important;}.has-pale-pink-border-color{border-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-border-color{border-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-border-color{border-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-border-color{border-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-border-color{border-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-border-color{border-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-border-color{border-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-border-color{border-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-border-color{border-color: var(--wp--preset--color--vivid-purple) !important;}.has-vivid-cyan-blue-to-vivid-purple-gradient-background{background: var(--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple) !important;}.has-light-green-cyan-to-vivid-green-cyan-gradient-background{background: var(--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan) !important;}.has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange) !important;}.has-luminous-vivid-orange-to-vivid-red-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-orange-to-vivid-red) !important;}.has-very-light-gray-to-cyan-bluish-gray-gradient-background{background: var(--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray) !important;}.has-cool-to-warm-spectrum-gradient-background{background: var(--wp--preset--gradient--cool-to-warm-spectrum) !important;}.has-blush-light-purple-gradient-background{background: var(--wp--preset--gradient--blush-light-purple) !important;}.has-blush-bordeaux-gradient-background{background: var(--wp--preset--gradient--blush-bordeaux) !important;}.has-luminous-dusk-gradient-background{background: var(--wp--preset--gradient--luminous-dusk) !important;}.has-pale-ocean-gradient-background{background: var(--wp--preset--gradient--pale-ocean) !important;}.has-electric-grass-gradient-background{background: var(--wp--preset--gradient--electric-grass) !important;}.has-midnight-gradient-background{background: var(--wp--preset--gradient--midnight) !important;}.has-small-font-size{font-size: var(--wp--preset--font-size--small) !important;}.has-medium-font-size{font-size: var(--wp--preset--font-size--medium) !important;}.has-large-font-size{font-size: var(--wp--preset--font-size--large) !important;}.has-x-large-font-size{font-size: var(--wp--preset--font-size--x-large) !important;} .wp-block-navigation a:where(:not(.wp-element-button)){color: inherit;} :where(.wp-block-post-template.is-layout-flex){gap: 1.25em;}:where(.wp-block-post-template.is-layout-grid){gap: 1.25em;} :where(.wp-block-columns.is-layout-flex){gap: 2em;}:where(.wp-block-columns.is-layout-grid){gap: 2em;} .wp-block-pullquote{font-size: 1.5em;line-height: 1.6;} </style> <link rel='stylesheet' id='global-css' href='https://publichealth.berkeley.edu/app/themes/berkeley-public-health/dist/global.css?ver=1716588399562' type='text/css' media='all' /> <link rel='stylesheet' id='fonts-css' href='https://publichealth.berkeley.edu/app/themes/berkeley-public-health/dist/fonts.css?ver=1.0' type='text/css' media='all' /> <script type="text/javascript" src="https://publichealth.berkeley.edu/app/themes/berkeley-public-health/dist/app.js?ver=1716588399562" id="app-js"></script> <link rel="https://api.w.org/" href="https://publichealth.berkeley.edu/wp-json/" /><link rel="alternate" type="application/json" href="https://publichealth.berkeley.edu/wp-json/wp/v2/pages/8365" /><link rel="EditURI" type="application/rsd+xml" title="RSD" href="https://publichealth.berkeley.edu/wp/xmlrpc.php?rsd" /> <link rel="alternate" type="application/json+oembed" href="https://publichealth.berkeley.edu/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fpublichealth.berkeley.edu%2Facademics%2Fjoint-medical-program" /> <link rel="alternate" type="text/xml+oembed" href="https://publichealth.berkeley.edu/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fpublichealth.berkeley.edu%2Facademics%2Fjoint-medical-program&format=xml" /> <noscript><style>.lazyload[data-src]{display:none !important;}</style></noscript><style>.lazyload{background-image:none !important;}.lazyload:before{background-image:none !important;}</style><link rel="icon" href="https://publichealth.berkeley.edu/app/uploads/cropped-favicon-3-60x60.jpg" sizes="32x32" /> <link rel="icon" href="https://publichealth.berkeley.edu/app/uploads/cropped-favicon-3-300x300.jpg" sizes="192x192" /> <link rel="apple-touch-icon" href="https://publichealth.berkeley.edu/app/uploads/cropped-favicon-3-300x300.jpg" /> <meta name="msapplication-TileImage" content="https://publichealth.berkeley.edu/app/uploads/cropped-favicon-3-300x300.jpg" /> </head> <body class="page-template-default page page-id-8365 page-parent page-child parent-pageid-8357 bph-microsite-jmp" > <a href="#main-content" class="skip-to-main-content-link">Skip to main content</a> <header id="bphGlobalHeader" class="bph-global-header" > <section id="bphGlobalHeaderNavigation" class="bph-global-header-navigation" > <div class="x" uk-sticky=" cls-active: uk-navbar-sticky; sel-target: .uk-navbar-container;"> <div class=" uk-background-muted uk-visible@m" > <div class=" uk-container uk-container-large" > <div class=" bph-padding-xsmall uk-flex uk-flex-between uk-padding-remove-horizontal uk-text-small" > <div> <a class="uk-link-text" href="https://berkeley.edu" target="_blank" >U<span class="uk-visible@l">niversity of </span>C<span class="uk-visible@l">alifornia,</span> Berkeley</a> </div> <div> <ul class=" uk-child-width-auto uk-grid-divider uk-grid-small" uk-grid > <li><a class="uk-link-text" href="https://publichealth.berkeley.edu/events" >Events</a></li> <li><a class="uk-link-text" href="https://publichealth.berkeley.edu/giving" >Giving</a></li> <li><a class="uk-link-text" href="https://publichealth.berkeley.edu/students" >Current Students</a></li> <li><a class="uk-link-text" href="https://publichealth.berkeley.edu/workplace" >Workplace</a></li> </ul> </div> </div> </div> </div> <div > <!-- uk-sticky=" cls-active: uk-navbar-sticky; sel-target: .uk-navbar-container;" --> <nav class=" uk-box-shadow-small uk-navbar-container" > <div class=" uk-container uk-container-large" > <div uk-navbar="mode: click;"> <div class="uk-navbar-left"> <a aria-label="Back to BPH Home" class="uk-padding-remove-left" href="https://publichealth.berkeley.edu" ><img alt="Berkeley Public Health" class="uk-logo uk-preserve uk-width-auto lazyload" width="auto" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" uk-svg data-src="https://publichealth.berkeley.edu/app/themes/berkeley-public-health/dist/img/logo-bph.svg" decoding="async"><noscript><img alt="Berkeley Public Health" class="uk-logo uk-preserve uk-width-auto" width="auto" src="https://publichealth.berkeley.edu/app/themes/berkeley-public-health/dist/img/logo-bph.svg" uk-svg data-eio="l"></noscript> </a> </div> <div class="uk-navbar-right"> <ul class=" uk-height-1-1 uk-navbar-nav" > <li class=" uk-flex uk-flex-middle uk-visible@m" > <a href="#"><span class="uk-text-small uk-text-bold"><span class="uk-visible@l">Explore </span>Programs</span> <span uk-navbar-parent-icon></span></a> <div class="bph-border-rounded-bottom-left-large bph-border-rounded-bottom-right-large uk-box-shadow-xlarge uk-navbar-dropdown uk-width-auto" > <ul class=" bph-border-rounded-bottom-left-large bph-border-rounded-bottom-right-large uk-nav uk-navbar-dropdown-nav uk-text-small" > <li><a href="https://publichealth.berkeley.edu/academics/programs?location=campus" >On-Campus Programs</a></li> <li><a href="https://publichealth.berkeley.edu/academics/online" >Berkeley Public Health Online</a></li> <li><a href="https://publichealth.berkeley.edu/academics/joint-medical-program" ><div>Joint Medical Program<div class="uk-nav-subtitle">MA/MD with UCSF</div></div></a></li> <li><a href="https://publichealth.berkeley.edu/academics/programs?category=concurrent" ><div>Concurrent MPH Programs<div class="uk-nav-subtitle">MBA / MCP / MJ / MPP / MSW</div></div></a></li> <li><a href="https://publichealth.berkeley.edu/academics/undergraduate" >Undergraduate</a></li> <li class=" uk-margin-remove uk-nav-divider" ></li> <li class=" bph-border-rounded-bottom-left-large bph-border-rounded-bottom-right-large" ><a class=" bph-border-rounded-bottom-left-large bph-border-rounded-bottom-right-large" href="https://publichealth.berkeley.edu/academics/programs" ><strong>Browse All Programs</strong></a></li> </ul> </div> </li> <li class=" uk-flex uk-flex-middle uk-visible@m" > <a id="bphRequestModalFull" href="#" ><span class="uk-text-small uk-text-bold">Request Info<span class="uk-visible@l">rmation</span></span></a> </li> <li class=" uk-flex uk-flex-middle uk-visible@m"> <a href="https://publichealth.berkeley.edu/admissions" ><span class="uk-text-small uk-text-bold">Apply</span></a> </li> <li class=" uk-flex uk-flex-middle uk-visible@s" > <a class="bph-navigation-search-icon uk-navbar-toggle uk-navbar-toggle-animate " href="#" ><span uk-search-icon></span><span class="uk-hidden-visually">Toggle Search</span></a> <div class="uk-background-primary uk-width-1-1 uk-padding-small" uk-drop=" animation: reveal-top; animate-out: true; bg-scroll: true; duration: 100; mode: click; stretch: x; offset: 0; target: .uk-navbar-container" > <div class="uk-container uk-container-large"> <div class="uk-padding-small uk-padding-remove-horizontal"> <form role="search" method="get" class="uk-search uk-search-navbar" action="https://publichealth.berkeley.edu/"> <div class="uk-flex uk-width-1-1"> <div class="uk-width-1-1"> <span uk-search-icon></span> <input aria-label="Search for:" class="uk-width-1-1 uk-search-input bph-border-rounded-top-left bph-border-rounded-bottom-left" type="search" placeholder="Search:" value="" name="s" required> </div> <div> <input class="uk-height-1-1" type="submit" value="Submit" /> </div> </div> </form> </div> </div> </div> </li> <li class=" uk-flex uk-flex-middle" > <a class=" uk-border-rounded uk-height-1-1 uk-navbar-toggle uk-navbar-toggle-animate uk-margin-small-left" href="#" uk-navbar-toggle-icon ><span class=" uk-text-small uk-visible@s uk-text-uppercase">Menu </span></a> <div class="uk-dropbar uk-drop" uk-drop=" animation: reveal-top; animate-out: true; bg-scroll: false; duration: 100; mode: click; stretch: true; target: .uk-navbar-container;" > <div class="uk-container uk-container-large"> <div class="uk-padding uk-padding-remove-horizontal"> <div class="uk-child-width-expand@m uk-grid-smatch uk-grid-large" uk-grid> <div class="uk-visible@l"> <div class="uk-nav-primary uk-nav-primary-bph-card-margin" uk-nav> <p class="uk-nav-header">Featured Article</p> </div> <a aria-labelledby="bphCardTitle_Blackstudentsarepunishedmoreoften5366" class="uk-link-toggle" href="https://publichealth.berkeley.edu/news-media/research-highlights/black-students-are-punished-more-often" > <div class="bph-card uk-flex uk-flex-between bph-border-rounded-large uk-card uk-margin uk-grid-collapse uk-card-small uk-flex-column bph-card-dark uk-card-secondary uk-box-shadow-small uk-box-shadow-hover-small " uk-grid > <div class=" uk-card-media-top bph-border-rounded-top-left-large bph-border-rounded-top-right-large "> <div class=" bph-border-rounded-large uk-width-1-1 "> <div class=" uk-background-cover uk-background-top-center uk-height-1-1 uk-background-blend-luminosity bph-navbar-dropdown-background bph-card-filter-image" data-src="https://publichealth.berkeley.edu/app/uploads/BPH-website-news-image-23-600x400.jpg" uk-img > <canvas width="420" height="280" ></canvas> </div> </div> </div> <div class="uk-card-body uk-flex uk-flex-column uk-width-expand uk-flex-between " > <div> <p id="bphCardTitle_Blackstudentsarepunishedmoreoften5366" class="bph-text-serif uk-card-title uk-link-text uk-margin-remove-top uk-text-small uk-margin-small-bottom " > Black students are punished more often </p> </div> <div> <span class="uk-text-meta" >November 25, 2024</span> </div> </div> </div> </a> </div> <div> <div class="uk-hidden@m uk-margin-bottom"> <div class="uk-hidden@s"> <form role="search" method="get" class="uk-search uk-search-navbar" action="https://publichealth.berkeley.edu/"> <div class="uk-flex uk-width-1-1"> <div class="bph-search-navigation-mobile uk-width-1-1"> <span uk-search-icon style="color: #fff;"></span><!-- TODO add as css --> <input aria-label="Search for:" class="uk-width-1-1 uk-search-input bph-border-rounded-top-left-large bph-border-rounded-bottom-left-large" type="search" placeholder="Enter search term:" value="" name="s" required /> </div> <div> <input class="uk-height-1-1" type="submit" value="Search" /> </div> </div> </form> </div> <div class="uk-margin-top"> <a class="uk-button uk-button-default uk-width-1-1 uk-margin-small-bottom" id="bphRequestModalMobile" href="#" >Request Information</a> <!-- TODO additional classes for wrapper and button, if add more classes is selected --> <div class="uk-border-rounded uk-margin-small uk-margin-remove-bottom"> <a class="uk-button uk-button-default uk-box-shadow-small uk-box-shadow-hover-medium uk-width-1-1" href="https://publichealth.berkeley.edu/admissions" target="_self" > Apply Now </a> </div> </div> </div> <ul class="uk-nav-primary" uk-nav> <li class="uk-nav-header">Academics</li> <li class="uk-nav-divider"></li> <li class="uk-parent"> <a href="#">Academic Programs <span uk-nav-parent-icon></span></a> <ul class="uk-nav-sub"> <li><a href="https://publichealth.berkeley.edu/academics/programs">Browse All Programs</a></li> <li><a href="https://publichealth.berkeley.edu/academics/online">BPH Online</a></li> <li><a href="https://publichealth.berkeley.edu/academics/joint-medical-program">Joint Medical Program</a></li> <li><a href="https://publichealth.berkeley.edu/academics/programs?category=concurrent">Concurrent MPH Programs</a></li> <li><a href="https://publichealth.berkeley.edu/academics/undergraduate">Undergraduate</a></li> <li><a href="https://publichealth.berkeley.edu/academics">Academics Overview</a></li> </ul> </li> <li><a href="https://publichealth.berkeley.edu/academics/online">Online MPH</a></li> <li class="uk-parent"> <a href="#">Divisions <span uk-nav-parent-icon></span></a> <ul class="uk-nav-sub"> <li><a href="https://publichealth.berkeley.edu/academics/biostatistics">Biostatistics</a></li> <li><a href="https://publichealth.berkeley.edu/academics/community-health-sciences">Community Health Sciences</a></li> <li><a href="https://publichealth.berkeley.edu/academics/environmental-health-sciences">Environmental Health Sciences</a></li> <li><a href="https://publichealth.berkeley.edu/academics/epidemiology">Epidemiology</a></li> <li><a href="https://publichealth.berkeley.edu/academics/health-policy">Health Policy and Management</a></li> <li><a href="https://publichealth.berkeley.edu/academics/infectious-diseases-and-vaccinology">Infectious Diseases and Vaccinology</a></li> <!-- <li><a href="#">Interdisciplinary</a></li> --> </ul> </li> </ul> <ul class="uk-nav-primary uk-margin-medium-top" uk-nav> <li class="uk-nav-header">Admissions and Aid</li> <li class="uk-nav-divider"></li> <li><a href="https://publichealth.berkeley.edu/admissions">Admissions Requirements</a></li> <li><a href="https://publichealth.berkeley.edu/admissions">Dates and Deadlines</a></li> <li><a href="https://publichealth.berkeley.edu/admissions">Application Instructions</a></li> <li><a href="https://publichealth.berkeley.edu/admissions">Fees and Financial Aid</a></li> </ul> </div> <div> <ul class="uk-nav-primary" uk-nav> <li class="uk-nav-header">Research and Practice</li> <li class="uk-nav-divider"></li> <li><a href="https://publichealth.berkeley.edu/research">Research</a></li> <li><a href="https://publichealth.berkeley.edu/research">Community Engagement</a></li> <li><a href="https://publichealth.berkeley.edu/research#bphScrollAnchor___research-centers">Centers and Labs</a></li> </ul> <ul class="uk-nav-primary uk-margin-medium-top" uk-nav> <li class="uk-nav-header">Student Life</li> <li class="uk-nav-divider"></li> <li><a href="https://publichealth.berkeley.edu/students/rise">RISE: Career and Leadership Development</a></li> <li><a href="https://publichealth.berkeley.edu/students/dream">Dream Office: Diversity and Inclusion</a></li> <li class="uk-parent"> <a href="#">Student Organizations <span uk-nav-parent-icon></span></a> <ul class="uk-nav-sub"> <li><a href="https://publichealth.berkeley.edu/students/student-groups">Student Groups</a></li> <li><a href="https://publichealth.berkeley.edu/students/student-government">Student Government</a></li> </ul> </li> </ul> </div> <div> <ul class="uk-nav-primary" uk-nav> <li class="uk-nav-header">People</li> <li class="uk-nav-divider"></li> <li><a href="https://publichealth.berkeley.edu/people">Faculty & Researchers</a></li> <li><a href="https://publichealth.berkeley.edu/about/leadership">Leadership</a></li> <li><a href="https://publichealth.berkeley.edu/contact">Staff Directory</a></li> <li class="uk-hidden@m"><a href="https://publichealth.berkeley.edu/workplace">Workplace</a></li> </ul> <ul class="uk-margin-medium-top uk-nav-primary" uk-nav> <li class="uk-nav-header">About</li> <li class="uk-nav-divider"></li> <li class="uk-parent"> <a href="#">About BPH <span uk-nav-parent-icon></span></a> <ul class="uk-nav-sub"> <li><a href="https://publichealth.berkeley.edu/about">Summary and Strengths</a></li> <li><a href="https://publichealth.berkeley.edu/about/mission-and-vision">Mission, Vision, and Values</a></li> <li><a href="https://publichealth.berkeley.edu/about/anti-racism">Anti-Racism Plan and Progress</a></li> </ul> </li> <li><a href="https://publichealth.berkeley.edu/alumni">Alumni</a></li> <li><a href="https://publichealth.berkeley.edu/giving">Support BPH</a></li> <li><a href="https://publichealth.berkeley.edu/news">News & Media</a></li> <li class="uk-hidden@m"><a href="https://publichealth.berkeley.edu/events">Events</a></li> </ul> <div class="uk-margin-top uk-hidden@m"> <a href="https://www.linkedin.com/company/uc-berkeley-school-of-public-health" class=" uk-icon-button uk-margin-small-right" target="_blank" uk-icon="linkedin" ></a> <a href="https://www.instagram.com/berkeleypublichealth/" class=" uk-icon-button uk-margin-small-right" target="_blank" uk-icon="instagram" ></a> <a href="https://www.tiktok.com/@berkeley.public.health" class=" uk-icon-button uk-margin-small-right" target="_blank" uk-icon="tiktok" ></a> <a href="https://www.youtube.com/user/BerkeleyHealthOnline" class=" uk-icon-button uk-margin-small-right" target="_blank" uk-icon="youtube" ></a> <a href="https://www.facebook.com/UCBerkeleySPH/" class=" uk-icon-button uk-margin-small-right" target="_blank" uk-icon="facebook" ></a> <a href="https://www.threads.net/@berkeleypublichealth" class=" uk-icon-button uk-margin-small-right" target="_blank" uk-icon="threads" ></a> <a href="https://twitter.com/UCBerkeleySPH" class="uk-icon-button" target="_blank" uk-icon="x" ></a> </div> </div> </div> </div> </div> </div> </li> </ul> </div> </div> </div> </nav> <div class="bph-microsite-nav uk-box-shadow-small"> <div class="uk-container uk-container-large bph-padding-xsmall-bottom"> <a href="https://publichealth.berkeley.edu/academics/joint-medical-program" class="uk-link-text"><span class="uk-text-small" ><span class="uk-visible@m">UC Berkeley / UCSF</span> <strong>Joint Medical Program</strong> </span></a> </div> </div> </div> </div> </section> <!-- TODO handbook link in current students menu TODO handbook link is an ACF field so it can be pulled to the main handbooks page --> </header> <main id="main-content"> <!-- TODO - conditional meta information, like different fallback image for online program TODO - uk-img="loading: eager" for hero --> <section class="bph-block-hero bph-layout-full bph-margin-top-none uk-section-default uk-padding-remove-vertical " id="bphBlockHero-3491" uk-scrollspy="cls: uk-animation-fade; target: .bph-block-section-scrollspy-target"style="background-image: url(https://publichealth.berkeley.edu/app/uploads/Joint-Medical-Program.jpg); background-size: cover; background-position: top center;"> <div class="bph-background-spectrum-blue uk-padding-large uk-padding-remove-horizontal" ><!-- 1 --> <div class=""><!-- 2 optional extra padding--> <div class="uk-container uk-container-large"><!-- outer container --> <div class="bph-hero-content-border"> <div class="uk-container"> <div class="uk-flex-bottom" uk-grid> <div class="uk-width-3-5@l"> <div class="bph-hero-content-padding"> <div class="uk-margin-medium-top"> <img class="uk-width-1-2 uk-width-2-5@s lazyload" alt = "UC Berkeley | UCSF" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAzQAAACTAQAAAABw+GERAAAAAnRSTlMAAHaTzTgAAAAmSURBVGje7cExAQAAAMKg9U9tCF+gAAAAAAAAAAAAAAAAAACA1wA7uAABzIHIJwAAAABJRU5ErkJggg==" data-src="https://publichealth.berkeley.edu/app/uploads/BPH_JMP-UCB-USCF-Logos.png" decoding="async" width="820" height="147" data-eio-rwidth="820" data-eio-rheight="147" /><noscript><img class="uk-width-1-2 uk-width-2-5@s" alt = "UC Berkeley | UCSF" src = "https://publichealth.berkeley.edu/app/uploads/BPH_JMP-UCB-USCF-Logos.png" data-eio="l" /></noscript> </div> <h1 class="bph-text-serif uk-heading-small uk-margin-remove-bottom uk-margin-medium-top" >Joint Medical Program</h1> <div class=" bph-hero-subheading uk-text-lead uk-margin-medium-top uk-margin-remove-bottom" ><p>Two world-class public universities. Two degrees.</p> </div> </div><!-- left content --> </div><!-- flex left --> <div id="anchor__cta" class="uk-width-expand"> <div class=""> </div> </div><!-- flex right --> </div> </div> </div> </div><!-- outer container --> </div><!-- 2 --> </div><!-- 1 --> </section> <!-- TODO global error message with web@ email address instructions --> <section class="bph-block-tile bph-layout-full bph-margin-top-none uk-section-muted uk-section-small " id="bphBlockTile-1942" uk-scrollspy="cls: uk-animation-fade; target: .bph-block-section-scrollspy-target"> <div class="bph-block-section-scrollspy-target"> <div class=" bphAnchorDefaultId-9713 uk-container" id="bphAnchorDefaultId-9713" > <div class="uk-flex-center" uk-grid > <div class="uk-width-4-5@s uk-width-5-6@m uk-width-1-1@l"> <div> <div class="uk-child-width-1-2@s uk-child-width-1-2@m uk-grid-divider uk-grid-large" uk-grid uk-height-match="target: .bph-tile-match-content"> <div> <div > <div class="bph-tile-match-content " > <div class="bph-tile-match-heading"> <div class="uk-flex uk-flex-between"> <div class="uk-margin-right uk-width-expand"> <h2 class=" bph-text-serif uk-margin-remove-bottom uk-link-heading uk-text-default "> Vision: </h2> </div> </div> </div> <div class="uk-margin-top uk-margin-top uk-text-small "> The UC Berkeley-UCSF Joint Medical Program (JMP) advances health equity and social justice by educating a workforce of diverse, antiracist physicians who practice at the intersection of medicine, public health and community health. </div> </div> <div> </div> </div> </div> <div> <div > <div class="bph-tile-match-content " > <div class="bph-tile-match-heading"> <div class="uk-flex uk-flex-between"> <div class="uk-margin-right uk-width-expand"> <h2 class=" bph-text-serif uk-margin-remove-bottom uk-link-heading uk-text-default "> Mission: </h2> </div> </div> </div> <div class="uk-margin-top uk-margin-top uk-text-small "> The JMP provides a unique integrated medical and research curriculum that develops outstanding physicians and collaborative changemakers with the skills to solve public health and health equity challenges and improve the wellbeing of patients and communities. </div> </div> <div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </section> <div class="bph-border-bottom uk-padding-small"> <section class="bph-block-subpages bph-layout-full bph-margin-top-none uk-section-default uk-padding-remove-vertical " id="bphBlockSubpages-1338" uk-scrollspy="cls: uk-animation-fade; target: .bph-block-section-scrollspy-target"> <div class=" bphAnchorDefaultId-2498 uk-container" id="bphAnchorDefaultId-2498" > <div class="uk-flex-center" uk-grid > <div class="uk-width-4-5@s uk-width-5-6@m uk-width-1-1@l"> <div> <ul class="uk-grid-row-small uk-child-width-1-2@s uk-child-width-1-4@m uk-child-width-1-5@l" uk-grid> <li class="uk-text-small"> <a class="uk-link-toggle" href="https://publichealth.berkeley.edu/academics/joint-medical-program/curriculum"> <div class="bph-border-color-lawrence bph-border-top bph-border-width-2-top"> <div class="uk-width-1-1 uk-margin-small-top"> <div class="uk-flex"> <div class="uk-width-expand"> <p class="uk-margin-remove-bottom bph-padding-xsmall-bottom uk-text-bold uk-link-text">Curriculum</p> </div> <div class="uk-width-auto uk-text-right uk-margin-small-left"> <span class="bph-slidenav-link" uk-slidenav-next></span> </div> </div> </div> <div class="uk-width-1-1"> </div> </div> </a> </li> <li class="uk-text-small"> <a class="uk-link-toggle" href="https://publichealth.berkeley.edu/academics/joint-medical-program/residency"> <div class="bph-border-color-lawrence bph-border-top bph-border-width-2-top"> <div class="uk-width-1-1 uk-margin-small-top"> <div class="uk-flex"> <div class="uk-width-expand"> <p class="uk-margin-remove-bottom bph-padding-xsmall-bottom uk-text-bold uk-link-text">Residency Placements and Matches</p> </div> <div class="uk-width-auto uk-text-right uk-margin-small-left"> <span class="bph-slidenav-link" uk-slidenav-next></span> </div> </div> </div> <div class="uk-width-1-1"> </div> </div> </a> </li> <li class="uk-text-small"> <a class="uk-link-toggle" href="https://publichealth.berkeley.edu/academics/joint-medical-program/faq"> <div class="bph-border-color-lawrence bph-border-top bph-border-width-2-top"> <div class="uk-width-1-1 uk-margin-small-top"> <div class="uk-flex"> <div class="uk-width-expand"> <p class="uk-margin-remove-bottom bph-padding-xsmall-bottom uk-text-bold uk-link-text">Questions and Answers</p> </div> <div class="uk-width-auto uk-text-right uk-margin-small-left"> <span class="bph-slidenav-link" uk-slidenav-next></span> </div> </div> </div> <div class="uk-width-1-1"> </div> </div> </a> </li> <li class="uk-text-small"> <a class="uk-link-toggle" href="https://publichealth.berkeley.edu/academics/joint-medical-program/people"> <div class="bph-border-color-lawrence bph-border-top bph-border-width-2-top"> <div class="uk-width-1-1 uk-margin-small-top"> <div class="uk-flex"> <div class="uk-width-expand"> <p class="uk-margin-remove-bottom bph-padding-xsmall-bottom uk-text-bold uk-link-text">Leadership, Faculty, and Staff</p> </div> <div class="uk-width-auto uk-text-right uk-margin-small-left"> <span class="bph-slidenav-link" uk-slidenav-next></span> </div> </div> </div> <div class="uk-width-1-1"> </div> </div> </a> </li> <li class="uk-text-small"> <a class="uk-link-toggle" href="https://publichealth.berkeley.edu/admissions/joint-medical-program"> <div class="bph-border-color-lawrence bph-border-top bph-border-width-2-top"> <div class="uk-width-1-1 uk-margin-small-top"> <div class="uk-flex"> <div class="uk-width-expand"> <p class="uk-margin-remove-bottom bph-padding-xsmall-bottom uk-text-bold uk-link-text">Admissions and Financial Information</p> </div> <div class="uk-width-auto uk-text-right uk-margin-small-left"> <span class="bph-slidenav-link" uk-slidenav-next></span> </div> </div> </div> <div class="uk-width-1-1"> </div> </div> </a> </li> </ul> </div> </div> </div> </div> </section> </div> <section class="bph-block-text bph-layout-standard uk-margin-large-top uk-section-default uk-padding-remove-vertical " id="bphBlockText-2311" uk-scrollspy="cls: uk-animation-fade; target: .bph-block-section-scrollspy-target"> <div class="bph-block-section-scrollspy-target"> <div class=" bphAnchorDefaultId-3749 uk-container uk-container-large uk-flex uk-flex-center uk-flex-left@l" id="bphAnchorDefaultId-3749" > <div class=" uk-visible@l uk-width-1-4@l" ></div> <div class=" uk-width-3-4@s uk-width-1-2@l" > <div> <div class="bph-block-text-content "> <p>The UC Berkeley–UCSF Joint Medical Program (JMP) is a five-year graduate/medical degree program. Students spend their pre-clerkship years at UC Berkeley engaging in a unique medical curriculum centered around student-led inquiry while simultaneously earning a master’s degree (MS) in the Health and Medical Sciences at Berkeley Public Health. After two and a half years, students move across the Bay to UCSF to finish their medical education and receive their medical doctorate (MD).</p> <p>The JMP attracts students who are dedicated to improving the world’s health through scholarly self-directed yet collaborative inquiry. This is reflected in both the <a href="https://publichealth.berkeley.edu/academics/joint-medical-program/curriculum">medical curriculum</a> and <a href="https://publichealth.berkeley.edu/academics/joint-medical-program/curriculum/masters">master’s program</a>.</p> <p>The Master’s program in Health and Medical Sciences (HMS MS) supports the JMP curriculum’s vision by adding to the traditional scientific education a framework of critical inquiry and humanism that affords students the intellectual, practical, and ethical skills to promote and lead change processes aimed at improving the health and wellbeing of individuals and communities. Concurrently, students participate in an innovative student-led, faculty-supported Foundational Sciences curriculum through small group learning strategies like <a href="https://publichealth.berkeley.edu/academics/joint-medical-program/curriculum/foundational-medical-sciences">Problem-Based Learning</a> (PBL) and Team-Based Learning (TBL), as well as a Clinical Skills curriculum, which integrates a structural and systems approach to patient care.</p> <p>As part of the UC Berkeley campus community, each class of 16 students is supported by a multidisciplinary, close-knit, and inter-professional <a href="https://publichealth.berkeley.edu/academics/joint-medical-program/people">team of faculty and staff</a>, committed to individualized support for students’ success.</p> <p>Upon completion of the five-year program, JMP physicians are strong clinical thinkers, able to engage in understanding the broader issues surrounding medicine through inquiry. They have the skills to: 1.) conduct and interpret research, 2.) work well in multi-disciplinary teams, 3.) teach, and 4.) challenge and change assumptions for how we think about, contextualize and practice medicine within larger systems.</p> </div> </div> </div> </div> </div> </section> <section class="bph-block-stories bph-layout-full uk-margin-large-top uk-section-muted bph-section-medium " id="bphBlockStories-5356" uk-scrollspy="cls: uk-animation-fade; target: .bph-block-section-scrollspy-target"> <div class="bph-block-section-scrollspy-target"> <div class=" bphAnchorDefaultId-5459 uk-container" id="bphAnchorDefaultId-5459" > <div class="uk-flex-center" uk-grid > <div class="uk-width-4-5@s uk-width-5-6@m uk-width-1-1@l"> <div> <h2 class="bph-text-serif uk-h2 uk-margin-medium-bottom bph-scrollnav-anchor">JMP News and Media</h2> <div class="uk-hidden@m"><a aria-labelledby="bphCardTitle_Futuredoctorsdiveintohealthpolicyinwashingtondc5125" class="uk-link-toggle" href="https://publichealth.berkeley.edu/news-media/school-news/future-doctors-learn-public-health-advocacy-on-a-trip-to-washington" > <div class="bph-card uk-flex uk-flex-between bph-border-rounded-large uk-card uk-margin uk-grid-collapse uk-card-default uk-box-shadow-small uk-box-shadow-hover-small " uk-grid > <div class="uk-card-body uk-flex uk-flex-column uk-width-expand uk-padding " > <div> <span class=" uk-inline-clip uk-margin-small-bottom uk-text-meta uk-text-truncate" > School News</span> <h3 id="bphCardTitle_Futuredoctorsdiveintohealthpolicyinwashingtondc5125" class="bph-text-serif uk-card-title uk-link-text uk-margin-remove-top uk-h3 uk-margin-small-bottom " > Future doctors dive into health policy in Washington, DC </h3> </div> <div> <span class="uk-text-meta" >May 29, 2024</span> </div> </div> </div> </a><a aria-labelledby="bphCardTitle_Jointmedicalprogramsdanielwoolridgewinsemerginghealth-activistaward7283" class="uk-link-toggle" href="https://publichealth.berkeley.edu/news-media/faculty-honors/joint-medical-programs-daniel-woolridge-wins-emerging-health-activist-award" > <div class="bph-card uk-flex uk-flex-between bph-border-rounded-large uk-card uk-margin uk-grid-collapse uk-card-default uk-box-shadow-small uk-box-shadow-hover-small " uk-grid > <div class="uk-card-body uk-flex uk-flex-column uk-width-expand uk-padding " > <div> <span class=" uk-inline-clip uk-margin-small-bottom uk-text-meta uk-text-truncate" > Faculty Honors</span> <h3 id="bphCardTitle_Jointmedicalprogramsdanielwoolridgewinsemerginghealth-activistaward7283" class="bph-text-serif uk-card-title uk-link-text uk-margin-remove-top uk-h3 uk-margin-small-bottom " > Joint Medical Program’s Daniel Woolridge wins Emerging Health-Activist Award </h3> </div> <div> <span class="uk-text-meta" >October 17, 2023</span> </div> </div> </div> </a><a aria-labelledby="bphCardTitle_Professorosagiek.obasogieconfrontstheintersectionofracelawandpublichealth8442" class="uk-link-toggle" href="https://publichealth.berkeley.edu/news-media/school-news/professor-osagie-k-obasogie-confronts-the-intersection-of-race-law-and-public-health" > <div class="bph-card uk-flex uk-flex-between bph-border-rounded-large uk-card uk-margin uk-grid-collapse uk-card-default uk-box-shadow-small uk-box-shadow-hover-small " uk-grid > <div class="uk-card-body uk-flex uk-flex-column uk-width-expand uk-padding " > <div> <span class=" uk-inline-clip uk-margin-small-bottom uk-text-meta uk-text-truncate" > School News</span> <h3 id="bphCardTitle_Professorosagiek.obasogieconfrontstheintersectionofracelawandpublichealth8442" class="bph-text-serif uk-card-title uk-link-text uk-margin-remove-top uk-h3 uk-margin-small-bottom " > Professor Osagie K. Obasogie confronts the intersection of race, law, and public health </h3> </div> <div> <span class="uk-text-meta" >December 8, 2022</span> </div> </div> </div> </a></div> <div class="uk-visible@m" uk-slider="sets: true" > <div class="uk-position-relative"> <div class="uk-slider-container"> <div class=" uk-child-width-1-2@s uk-child-width-1-3@m uk-child-width-1-4s@l uk-grid-match uk-slider-items" uk-grid > <a aria-labelledby="bphCardTitle_Futuredoctorsdiveintohealthpolicyinwashingtondc2742" class="uk-link-toggle" href="https://publichealth.berkeley.edu/news-media/school-news/future-doctors-learn-public-health-advocacy-on-a-trip-to-washington" > <div class="bph-card uk-flex uk-flex-between bph-border-rounded-large uk-card uk-margin uk-grid-collapse uk-card-small uk-flex-column bph-card-border-bottom uk-card-default " uk-grid > <div class=" uk-card-media-top bph-border-rounded-top-left-large bph-border-rounded-top-right-large "> <div class=" bph-border-rounded-large uk-width-1-1 "> <div class=" uk-background-cover uk-background-top-center uk-height-1-1 uk-background-blend-luminosity bph-navbar-dropdown-background bph-card-filter-image" data-src="https://publichealth.berkeley.edu/app/uploads/4-600x400.png" uk-img > <canvas width="420" height="280" ></canvas> </div> </div> </div> <div class="uk-card-body uk-flex uk-flex-column uk-width-expand uk-flex-between " > <div> <span class=" uk-inline-clip uk-margin-small-bottom uk-text-meta uk-text-truncate" > School News</span> <h3 id="bphCardTitle_Futuredoctorsdiveintohealthpolicyinwashingtondc2742" class="bph-text-serif uk-card-title uk-link-text uk-margin-remove-top uk-text-default uk-margin-medium-bottom " > Future doctors dive into health policy in Washington, DC </h3> </div> <div> <span class="uk-text-meta" >May 29, 2024</span> </div> </div> </div> </a><a aria-labelledby="bphCardTitle_Jointmedicalprogramsdanielwoolridgewinsemerginghealth-activistaward7050" class="uk-link-toggle" href="https://publichealth.berkeley.edu/news-media/faculty-honors/joint-medical-programs-daniel-woolridge-wins-emerging-health-activist-award" > <div class="bph-card uk-flex uk-flex-between bph-border-rounded-large uk-card uk-margin uk-grid-collapse uk-card-small uk-flex-column bph-card-border-bottom uk-card-default " uk-grid > <div class=" uk-card-media-top bph-border-rounded-top-left-large bph-border-rounded-top-right-large "> <div class=" bph-border-rounded-large uk-width-1-1 "> <div class=" uk-background-cover uk-background-top-center uk-height-1-1 uk-background-blend-luminosity bph-navbar-dropdown-background bph-card-filter-image" data-src="https://publichealth.berkeley.edu/app/uploads/Woolridge-600x400.png" uk-img > <canvas width="420" height="280" ></canvas> </div> </div> </div> <div class="uk-card-body uk-flex uk-flex-column uk-width-expand uk-flex-between " > <div> <span class=" uk-inline-clip uk-margin-small-bottom uk-text-meta uk-text-truncate" > Faculty Honors</span> <h3 id="bphCardTitle_Jointmedicalprogramsdanielwoolridgewinsemerginghealth-activistaward7050" class="bph-text-serif uk-card-title uk-link-text uk-margin-remove-top uk-text-default uk-margin-medium-bottom " > Joint Medical Program’s Daniel Woolridge wins Emerging Health-Activist Award </h3> </div> <div> <span class="uk-text-meta" >October 17, 2023</span> </div> </div> </div> </a><a aria-labelledby="bphCardTitle_Professorosagiek.obasogieconfrontstheintersectionofracelawandpublichealth4611" class="uk-link-toggle" href="https://publichealth.berkeley.edu/news-media/school-news/professor-osagie-k-obasogie-confronts-the-intersection-of-race-law-and-public-health" > <div class="bph-card uk-flex uk-flex-between bph-border-rounded-large uk-card uk-margin uk-grid-collapse uk-card-small uk-flex-column bph-card-border-bottom uk-card-default " uk-grid > <div class=" uk-card-media-top bph-border-rounded-top-left-large bph-border-rounded-top-right-large "> <div class=" bph-border-rounded-large uk-width-1-1 "> <div class=" uk-background-cover uk-background-top-center uk-height-1-1 uk-background-blend-luminosity bph-navbar-dropdown-background bph-card-filter-image" data-src="https://publichealth.berkeley.edu/app/uploads/oo-featured-600x400.jpg" uk-img > <canvas width="420" height="280" ></canvas> </div> </div> </div> <div class="uk-card-body uk-flex uk-flex-column uk-width-expand uk-flex-between " > <div> <span class=" uk-inline-clip uk-margin-small-bottom uk-text-meta uk-text-truncate" > School News</span> <h3 id="bphCardTitle_Professorosagiek.obasogieconfrontstheintersectionofracelawandpublichealth4611" class="bph-text-serif uk-card-title uk-link-text uk-margin-remove-top uk-text-default uk-margin-medium-bottom " > Professor Osagie K. Obasogie confronts the intersection of race, law, and public health </h3> </div> <div> <span class="uk-text-meta" >December 8, 2022</span> </div> </div> </div> </a><a aria-labelledby="bphCardTitle_Latinxheritagemonthanewconnectionwithmyculture3164" class="uk-link-toggle" href="https://publichealth.berkeley.edu/news-media/school-news/latinx-heritage-month-a-new-connection-with-my-culture" > <div class="bph-card uk-flex uk-flex-between bph-border-rounded-large uk-card uk-margin uk-grid-collapse uk-card-small uk-flex-column bph-card-border-bottom uk-card-default " uk-grid > <div class=" uk-card-media-top bph-border-rounded-top-left-large bph-border-rounded-top-right-large "> <div class=" bph-border-rounded-large uk-width-1-1 "> <div class=" uk-background-cover uk-background-top-center uk-height-1-1 uk-background-blend-luminosity bph-navbar-dropdown-background bph-card-filter-image" data-src="https://publichealth.berkeley.edu/app/uploads/gustavo-Valbuena-Website-600x400.jpg" uk-img > <canvas width="420" height="280" ></canvas> </div> </div> </div> <div class="uk-card-body uk-flex uk-flex-column uk-width-expand uk-flex-between " > <div> <span class=" uk-inline-clip uk-margin-small-bottom uk-text-meta uk-text-truncate" > School News</span> <h3 id="bphCardTitle_Latinxheritagemonthanewconnectionwithmyculture3164" class="bph-text-serif uk-card-title uk-link-text uk-margin-remove-top uk-text-default uk-margin-medium-bottom " > Latinx Heritage Month: A new connection with my culture </h3> </div> <div> <span class="uk-text-meta" >October 13, 2022</span> </div> </div> </div> </a><a aria-labelledby="bphCardTitle_Alumnachristinehennebergonherjourneytobecominganabortiondoctor8677" class="uk-link-toggle" href="https://publichealth.berkeley.edu/alumni/alumna-christine-henneberg-on-her-journey-to-becoming-an-abortion-doctor" > <div class="bph-card uk-flex uk-flex-between bph-border-rounded-large uk-card uk-margin uk-grid-collapse uk-card-small uk-flex-column bph-card-border-bottom uk-card-default " uk-grid > <div class=" uk-card-media-top bph-border-rounded-top-left-large bph-border-rounded-top-right-large "> <div class=" bph-border-rounded-large uk-width-1-1 "> <div class=" uk-background-cover uk-background-top-center uk-height-1-1 uk-background-blend-luminosity bph-navbar-dropdown-background bph-card-filter-image" data-src="https://publichealth.berkeley.edu/app/uploads/boundless-600x400.jpg" uk-img > <canvas width="420" height="280" ></canvas> </div> </div> </div> <div class="uk-card-body uk-flex uk-flex-column uk-width-expand uk-flex-between " > <div> <span class=" uk-inline-clip uk-margin-small-bottom uk-text-meta uk-text-truncate" > Alumni</span> <h3 id="bphCardTitle_Alumnachristinehennebergonherjourneytobecominganabortiondoctor8677" class="bph-text-serif uk-card-title uk-link-text uk-margin-remove-top uk-text-default uk-margin-medium-bottom " > Alumna Christine Henneberg on her journey to becoming an abortion doctor </h3> </div> <div> <span class="uk-text-meta" >September 30, 2022</span> </div> </div> </div> </a><a aria-labelledby="bphCardTitle_Berkeleypublichealthfacultyreceivecovetedguggenheimfellowships9284" class="uk-link-toggle" href="https://publichealth.berkeley.edu/news-media/faculty-honors/guggenheim-fellowships-awarded-to-three-uc-berkeley-faculty" > <div class="bph-card uk-flex uk-flex-between bph-border-rounded-large uk-card uk-margin uk-grid-collapse uk-card-small uk-flex-column bph-card-border-bottom uk-card-default " uk-grid > <div class=" uk-card-media-top bph-border-rounded-top-left-large bph-border-rounded-top-right-large "> <div class=" bph-border-rounded-large uk-width-1-1 "> <div class=" uk-background-cover uk-background-top-center uk-height-1-1 uk-background-blend-luminosity bph-navbar-dropdown-background bph-card-filter-image" data-src="https://publichealth.berkeley.edu/app/uploads/Triptych_BN-600x400.jpeg" uk-img > <canvas width="420" height="280" ></canvas> </div> </div> </div> <div class="uk-card-body uk-flex uk-flex-column uk-width-expand uk-flex-between " > <div> <span class=" uk-inline-clip uk-margin-small-bottom uk-text-meta uk-text-truncate" > Faculty Honors</span> <h3 id="bphCardTitle_Berkeleypublichealthfacultyreceivecovetedguggenheimfellowships9284" class="bph-text-serif uk-card-title uk-link-text uk-margin-remove-top uk-text-default uk-margin-medium-bottom " > Berkeley Public Health faculty receive coveted Guggenheim fellowships </h3> </div> <div> <span class="uk-text-meta" >April 11, 2022</span> </div> </div> </div> </a><a aria-labelledby="bphCardTitle_Ucberkeleyucsfjointmedicalprogramcelebrates50years2000" class="uk-link-toggle" href="https://publichealth.berkeley.edu/news-media/school-news/uc-berkeley-ucsf-joint-medical-program-celebrates-50-years" > <div class="bph-card uk-flex uk-flex-between bph-border-rounded-large uk-card uk-margin uk-grid-collapse uk-card-small uk-flex-column bph-card-border-bottom uk-card-default " uk-grid > <div class=" uk-card-media-top bph-border-rounded-top-left-large bph-border-rounded-top-right-large "> <div class=" bph-border-rounded-large uk-width-1-1 "> <div class=" uk-background-cover uk-background-top-center uk-height-1-1 uk-background-blend-luminosity bph-navbar-dropdown-background bph-card-filter-image" data-src="https://publichealth.berkeley.edu/app/uploads/jmp-story-600x400.png" uk-img > <canvas width="420" height="280" ></canvas> </div> </div> </div> <div class="uk-card-body uk-flex uk-flex-column uk-width-expand uk-flex-between " > <div> <span class=" uk-inline-clip uk-margin-small-bottom uk-text-meta uk-text-truncate" > School News</span> <h3 id="bphCardTitle_Ucberkeleyucsfjointmedicalprogramcelebrates50years2000" class="bph-text-serif uk-card-title uk-link-text uk-margin-remove-top uk-text-default uk-margin-medium-bottom " > UC Berkeley/UCSF Joint Medical Program celebrates 50 years </h3> </div> <div> <span class="uk-text-meta" >March 31, 2022</span> </div> </div> </div> </a><a aria-labelledby="bphCardTitle_Adoctorwhostryingtofixwhatsbroken6368" class="uk-link-toggle" href="https://publichealth.berkeley.edu/students/a-doctor-whos-trying-to-fix-whats-broken" > <div class="bph-card uk-flex uk-flex-between bph-border-rounded-large uk-card uk-margin uk-grid-collapse uk-card-small uk-flex-column bph-card-border-bottom uk-card-default " uk-grid > <div class=" uk-card-media-top bph-border-rounded-top-left-large bph-border-rounded-top-right-large "> <div class=" bph-border-rounded-large uk-width-1-1 "> <div class=" uk-background-cover uk-background-top-center uk-height-1-1 uk-background-blend-luminosity bph-navbar-dropdown-background bph-card-filter-image" data-src="https://publichealth.berkeley.edu/app/uploads/jmp-story-600x400.jpg" uk-img > <canvas width="420" height="280" ></canvas> </div> </div> </div> <div class="uk-card-body uk-flex uk-flex-column uk-width-expand uk-flex-between " > <div> <span class=" uk-inline-clip uk-margin-small-bottom uk-text-meta uk-text-truncate" > Students</span> <h3 id="bphCardTitle_Adoctorwhostryingtofixwhatsbroken6368" class="bph-text-serif uk-card-title uk-link-text uk-margin-remove-top uk-text-default uk-margin-medium-bottom " > A doctor who’s trying to fix what’s broken </h3> </div> <div> <span class="uk-text-meta" >February 23, 2022</span> </div> </div> </div> </a><a aria-labelledby="bphCardTitle_Howcrisprischangingtheroleofresearchers4071" class="uk-link-toggle" href="https://publichealth.berkeley.edu/news-media/research-highlights/how-crispr-is-changing-the-role-of-researchers" > <div class="bph-card uk-flex uk-flex-between bph-border-rounded-large uk-card uk-margin uk-grid-collapse uk-card-small uk-flex-column bph-card-border-bottom uk-card-default " uk-grid > <div class=" uk-card-media-top bph-border-rounded-top-left-large bph-border-rounded-top-right-large "> <div class=" bph-border-rounded-large uk-width-1-1 "> <div class=" uk-background-cover uk-background-top-center uk-height-1-1 uk-background-blend-luminosity bph-navbar-dropdown-background bph-card-filter-image" data-src="https://publichealth.berkeley.edu/app/uploads/photo-1628595351029-c2bf17511435-scaled-1-600x400.jpeg" uk-img > <canvas width="420" height="280" ></canvas> </div> </div> </div> <div class="uk-card-body uk-flex uk-flex-column uk-width-expand uk-flex-between " > <div> <span class=" uk-inline-clip uk-margin-small-bottom uk-text-meta uk-text-truncate" > Research Highlights</span> <h3 id="bphCardTitle_Howcrisprischangingtheroleofresearchers4071" class="bph-text-serif uk-card-title uk-link-text uk-margin-remove-top uk-text-default uk-margin-medium-bottom " > How CRISPR is changing the role of researchers </h3> </div> <div> <span class="uk-text-meta" >November 12, 2021</span> </div> </div> </div> </a><a aria-labelledby="bphCardTitle_Jointmedicalprogramstudentnamed2021pisacanoscholar4988" class="uk-link-toggle" href="https://publichealth.berkeley.edu/students/jmp-student-named-2021-pisacano-scholar" > <div class="bph-card uk-flex uk-flex-between bph-border-rounded-large uk-card uk-margin uk-grid-collapse uk-card-small uk-flex-column bph-card-border-bottom uk-card-default " uk-grid > <div class=" uk-card-media-top bph-border-rounded-top-left-large bph-border-rounded-top-right-large "> <div class=" bph-border-rounded-large uk-width-1-1 "> <div class=" uk-background-cover uk-background-top-center uk-height-1-1 uk-background-blend-luminosity bph-navbar-dropdown-background bph-card-filter-image" data-src="https://publichealth.berkeley.edu/app/uploads/Emiliano-Lemus-Hufstedler-600x400.jpg" uk-img > <canvas width="420" height="280" ></canvas> </div> </div> </div> <div class="uk-card-body uk-flex uk-flex-column uk-width-expand uk-flex-between " > <div> <span class=" uk-inline-clip uk-margin-small-bottom uk-text-meta uk-text-truncate" > Students</span> <h3 id="bphCardTitle_Jointmedicalprogramstudentnamed2021pisacanoscholar4988" class="bph-text-serif uk-card-title uk-link-text uk-margin-remove-top uk-text-default uk-margin-medium-bottom " > Joint Medical Program student named 2021 Pisacano Scholar </h3> </div> <div> <span class="uk-text-meta" >October 1, 2021</span> </div> </div> </div> </a><a aria-labelledby="bphCardTitle_Aichatbotsdontmeetstandardsformedicalcarenewstudyfinds7111" class="uk-link-toggle" href="https://publichealth.berkeley.edu/news-media/research-highlights/ai-chatbots-dont-meet-standards-for-medical-care-new-study-finds" > <div class="bph-card uk-flex uk-flex-between bph-border-rounded-large uk-card uk-margin uk-grid-collapse uk-card-small uk-flex-column bph-card-border-bottom uk-card-default " uk-grid > <div class=" uk-card-media-top bph-border-rounded-top-left-large bph-border-rounded-top-right-large "> <div class=" bph-border-rounded-large uk-width-1-1 "> <div class=" uk-background-cover uk-background-top-center uk-height-1-1 uk-background-blend-luminosity bph-navbar-dropdown-background bph-card-filter-image" data-src="https://publichealth.berkeley.edu/app/uploads/halpern-story.jpeg" uk-img > <canvas width="420" height="280" ></canvas> </div> </div> </div> <div class="uk-card-body uk-flex uk-flex-column uk-width-expand uk-flex-between " > <div> <span class=" uk-inline-clip uk-margin-small-bottom uk-text-meta uk-text-truncate" > Research Highlights</span> <h3 id="bphCardTitle_Aichatbotsdontmeetstandardsformedicalcarenewstudyfinds7111" class="bph-text-serif uk-card-title uk-link-text uk-margin-remove-top uk-text-default uk-margin-medium-bottom " > AI chatbots don’t meet standards for medical care, new study finds </h3> </div> <div> <span class="uk-text-meta" >September 27, 2021</span> </div> </div> </div> </a><a aria-labelledby="bphCardTitle_Dr.cocoauerswaldhelpshomelessyouthfindtheirfooting7497" class="uk-link-toggle" href="https://publichealth.berkeley.edu/news-media/school-news/dr-coco-auerswald-helps-homeless-youth-find-their-footing" > <div class="bph-card uk-flex uk-flex-between bph-border-rounded-large uk-card uk-margin uk-grid-collapse uk-card-small uk-flex-column bph-card-border-bottom uk-card-default " uk-grid > <div class=" uk-card-media-top bph-border-rounded-top-left-large bph-border-rounded-top-right-large "> <div class=" bph-border-rounded-large uk-width-1-1 "> <div class=" uk-background-cover uk-background-top-center uk-height-1-1 uk-background-blend-luminosity bph-navbar-dropdown-background bph-card-filter-image" data-src="https://publichealth.berkeley.edu/app/uploads/auerswald-story-featured-600x400.jpg" uk-img > <canvas width="420" height="280" ></canvas> </div> </div> </div> <div class="uk-card-body uk-flex uk-flex-column uk-width-expand uk-flex-between " > <div> <span class=" uk-inline-clip uk-margin-small-bottom uk-text-meta uk-text-truncate" > School News</span> <h3 id="bphCardTitle_Dr.cocoauerswaldhelpshomelessyouthfindtheirfooting7497" class="bph-text-serif uk-card-title uk-link-text uk-margin-remove-top uk-text-default uk-margin-medium-bottom " > Dr. Coco Auerswald helps homeless youth find their footing </h3> </div> <div> <span class="uk-text-meta" >September 13, 2021</span> </div> </div> </div> </a><a aria-labelledby="bphCardTitle_Sistersanducberkeleystudentscreatehealtheducationinitiativeforafghanrefugees7488" class="uk-link-toggle" href="https://publichealth.berkeley.edu/students/students-create-health-education-initiative-for-afghan-refugees" > <div class="bph-card uk-flex uk-flex-between bph-border-rounded-large uk-card uk-margin uk-grid-collapse uk-card-small uk-flex-column bph-card-border-bottom uk-card-default " uk-grid > <div class=" uk-card-media-top bph-border-rounded-top-left-large bph-border-rounded-top-right-large "> <div class=" bph-border-rounded-large uk-width-1-1 "> <div class=" uk-background-cover uk-background-top-center uk-height-1-1 uk-background-blend-luminosity bph-navbar-dropdown-background bph-card-filter-image" data-src="https://publichealth.berkeley.edu/app/uploads/afclinic-600x400.jpg" uk-img > <canvas width="420" height="280" ></canvas> </div> </div> </div> <div class="uk-card-body uk-flex uk-flex-column uk-width-expand uk-flex-between " > <div> <span class=" uk-inline-clip uk-margin-small-bottom uk-text-meta uk-text-truncate" > Students</span> <h3 id="bphCardTitle_Sistersanducberkeleystudentscreatehealtheducationinitiativeforafghanrefugees7488" class="bph-text-serif uk-card-title uk-link-text uk-margin-remove-top uk-text-default uk-margin-medium-bottom " > Sisters and UC Berkeley students create health education initiative for Afghan refugees </h3> </div> <div> <span class="uk-text-meta" >August 13, 2021</span> </div> </div> </div> </a><a aria-labelledby="bphCardTitle_Canwereplacehumanempathyinhealthcare1244" class="uk-link-toggle" href="https://publichealth.berkeley.edu/news-media/research-highlights/can-we-replace-human-empathy-in-healthcare" > <div class="bph-card uk-flex uk-flex-between bph-border-rounded-large uk-card uk-margin uk-grid-collapse uk-card-small uk-flex-column bph-card-border-bottom uk-card-default " uk-grid > <div class=" uk-card-media-top bph-border-rounded-top-left-large bph-border-rounded-top-right-large "> <div class=" bph-border-rounded-large uk-width-1-1 "> <div class=" uk-background-cover uk-background-top-center uk-height-1-1 uk-background-blend-luminosity bph-navbar-dropdown-background bph-card-filter-image" data-src="https://publichealth.berkeley.edu/app/uploads/photo-1569396116180-210c182bedb8-600x400.jpeg" uk-img > <canvas width="420" height="280" ></canvas> </div> </div> </div> <div class="uk-card-body uk-flex uk-flex-column uk-width-expand uk-flex-between " > <div> <span class=" uk-inline-clip uk-margin-small-bottom uk-text-meta uk-text-truncate" > Research Highlights</span> <h3 id="bphCardTitle_Canwereplacehumanempathyinhealthcare1244" class="bph-text-serif uk-card-title uk-link-text uk-margin-remove-top uk-text-default uk-margin-medium-bottom " > Can we replace human empathy in healthcare? </h3> </div> <div> <span class="uk-text-meta" >June 11, 2021</span> </div> </div> </div> </a><a aria-labelledby="bphCardTitle_Howhascovid-19affectedclinicalempathy3704" class="uk-link-toggle" href="https://publichealth.berkeley.edu/news-media/research-highlights/how-has-covid-19-affected-clinical-empathy" > <div class="bph-card uk-flex uk-flex-between bph-border-rounded-large uk-card uk-margin uk-grid-collapse uk-card-small uk-flex-column bph-card-border-bottom uk-card-default " uk-grid > <div class=" uk-card-media-top bph-border-rounded-top-left-large bph-border-rounded-top-right-large "> <div class=" bph-border-rounded-large uk-width-1-1 "> <div class=" uk-background-cover uk-background-top-center uk-height-1-1 uk-background-blend-luminosity bph-navbar-dropdown-background bph-card-filter-image" data-src="https://publichealth.berkeley.edu/app/uploads/photo-1605684954998-685c79d6a018-scaled-1-600x400.jpeg" uk-img > <canvas width="420" height="280" ></canvas> </div> </div> </div> <div class="uk-card-body uk-flex uk-flex-column uk-width-expand uk-flex-between " > <div> <span class=" uk-inline-clip uk-margin-small-bottom uk-text-meta uk-text-truncate" > Research Highlights</span> <h3 id="bphCardTitle_Howhascovid-19affectedclinicalempathy3704" class="bph-text-serif uk-card-title uk-link-text uk-margin-remove-top uk-text-default uk-margin-medium-bottom " > How has COVID-19 affected clinical empathy? </h3> </div> <div> <span class="uk-text-meta" >May 5, 2021</span> </div> </div> </div> </a><a aria-labelledby="bphCardTitle_Fourwaystoreduceinequityinheartfailurerates3289" class="uk-link-toggle" href="https://publichealth.berkeley.edu/racism-and-health/four-ways-to-reduce-inequity-in-heart-failure" > <div class="bph-card uk-flex uk-flex-between bph-border-rounded-large uk-card uk-margin uk-grid-collapse uk-card-small uk-flex-column bph-card-border-bottom uk-card-default " uk-grid > <div class=" uk-card-media-top bph-border-rounded-top-left-large bph-border-rounded-top-right-large "> <div class=" bph-border-rounded-large uk-width-1-1 "> <div class=" uk-background-cover uk-background-top-center uk-height-1-1 uk-background-blend-luminosity bph-navbar-dropdown-background bph-card-filter-image" data-src="https://publichealth.berkeley.edu/app/uploads/pexels-photo-7088479-scaled-1-600x400.jpeg" uk-img > <canvas width="420" height="280" ></canvas> </div> </div> </div> <div class="uk-card-body uk-flex uk-flex-column uk-width-expand uk-flex-between " > <div> <span class=" uk-inline-clip uk-margin-small-bottom uk-text-meta uk-text-truncate" > Racism and Health</span> <h3 id="bphCardTitle_Fourwaystoreduceinequityinheartfailurerates3289" class="bph-text-serif uk-card-title uk-link-text uk-margin-remove-top uk-text-default uk-margin-medium-bottom " > Four ways to reduce inequity in heart failure rates </h3> </div> <div> <span class="uk-text-meta" >April 19, 2021</span> </div> </div> </div> </a><a aria-labelledby="bphCardTitle_Jointmedicalprogramalumna038studentnamed40under40leadersinminorityhealth5066" class="uk-link-toggle" href="https://publichealth.berkeley.edu/alumni/joint-medical-program-student-alumna-named-40-under-40-leaders-in-minority-health" > <div class="bph-card uk-flex uk-flex-between bph-border-rounded-large uk-card uk-margin uk-grid-collapse uk-card-small uk-flex-column bph-card-border-bottom uk-card-default " uk-grid > <div class=" uk-card-media-top bph-border-rounded-top-left-large bph-border-rounded-top-right-large "> <div class=" bph-border-rounded-large uk-width-1-1 "> <div class=" uk-background-cover uk-background-top-center uk-height-1-1 uk-background-blend-luminosity bph-navbar-dropdown-background bph-card-filter-image" data-src="https://publichealth.berkeley.edu/app/uploads/jmp-cover.jpg" uk-img > <canvas width="420" height="280" ></canvas> </div> </div> </div> <div class="uk-card-body uk-flex uk-flex-column uk-width-expand uk-flex-between " > <div> <span class=" uk-inline-clip uk-margin-small-bottom uk-text-meta uk-text-truncate" > Alumni</span> <h3 id="bphCardTitle_Jointmedicalprogramalumna038studentnamed40under40leadersinminorityhealth5066" class="bph-text-serif uk-card-title uk-link-text uk-margin-remove-top uk-text-default uk-margin-medium-bottom " > Joint Medical Program alumna & student named 40 Under 40 Leaders in Minority Health </h3> </div> <div> <span class="uk-text-meta" >March 23, 2021</span> </div> </div> </div> </a> </div> </div> <div class="uk-hidden@s"> <a class="uk-position-center-left-out" href="#" uk-slidenav-previous uk-slider-item="previous" ><span class="uk-hidden-visually">Previous</span></a> <a class="uk-position-center-right-out" href="#" uk-slidenav-next uk-slider-item="next"><span class="uk-hidden-visually">Next</span></a> </div> <div class="uk-visible@s"> <a class="uk-position-center-left-out uk-position-small" href="#" uk-slidenav-previous uk-slider-item="previous" ><span class="uk-hidden-visually">Previous</span></a> <a class="uk-position-center-right-out uk-position-small" href="#" uk-slidenav-next uk-slider-item="next"><span class="uk-hidden-visually">Next</span></a> </div> </div> <ul class=" uk-dotnav uk-flex-center uk-margin uk-margin-remove-bottom uk-slider-nav"></ul> </div> </div> </div> </div> </div> </div> </section> <section class="bph-block-text bph-layout-full uk-margin-medium-top uk-section-default uk-padding-remove-vertical " id="bphBlockText-6608" uk-scrollspy="cls: uk-animation-fade; target: .bph-block-section-scrollspy-target"> <div class="bph-block-section-scrollspy-target"> <div class=" bphAnchorDefaultId-8856 uk-container" id="bphAnchorDefaultId-8856" > <div class="uk-flex-center" uk-grid > <div class="uk-width-4-5@s uk-width-5-6@m uk-width-1-1@l"> <div> <h2 class="bph-text-serif uk-h2 uk-margin-medium-bottom bph-scrollnav-anchor">Join Us!</h2> <div class="bph-block-text-content uk-width-3-4@m uk-width-2-3@l "> <p><a class="bph-link-inline-cta" href="https://publichealth.berkeley.edu/admissions/joint-medical-program">Apply</a></p> </div> </div> </div> </div> </div> </div> </section> <section class="bph-block-embed bph-layout-full uk-margin-large-top uk-section-default uk-padding-remove-vertical " id="bphBlockEmbed-9038" uk-scrollspy="cls: uk-animation-fade; target: .bph-block-section-scrollspy-target"> <div class="bph-block-section-scrollspy-target"> <div class=" bphAnchorDefaultId-5728 uk-container" id="bphAnchorDefaultId-5728" > <div class="uk-flex-center" uk-grid > <div class="uk-width-4-5@s uk-width-5-6@m uk-width-1-1@l"> <div> <img class="uk-width-1-1@s lazyload" alt = "" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABaAAAAKUAQAAAADal6JQAAAAAnRSTlMAAHaTzTgAAACKSURBVHja7cEBDQAAAMKg90/t7AEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAD0rMAAbWJKlQAAAAASUVORK5CYII=" data-src="https://publichealth.berkeley.edu/app/uploads/JMP-class.jpg" decoding="async" width="1440" height="660" data-eio-rwidth="1440" data-eio-rheight="660" /><noscript><img class=" uk-width-1-1@s" alt = "" src = "https://publichealth.berkeley.edu/app/uploads/JMP-class.jpg" data-eio="l" /></noscript> </div> </div> </div> </div> </div> </section> <section class="bph-block-text bph-layout-full uk-margin-large-top uk-section-secondary bph-section-medium " id="bphBlockText-5435" uk-scrollspy="cls: uk-animation-fade; target: .bph-block-section-scrollspy-target"> <div class="bph-block-section-scrollspy-target"> <div class=" bphAnchorDefaultId-9032 uk-container" id="bphAnchorDefaultId-9032" > <div class="uk-flex-center" uk-grid > <div class="uk-width-4-5@s uk-width-5-6@m uk-width-1-1@l"> <div> <h2 class="bph-text-serif uk-h2 uk-margin-medium-bottom bph-scrollnav-anchor">Support the JMP</h2> <div class="bph-block-text-content uk-width-3-4@m uk-width-2-3@l "> <p>Help us to train outstanding physicians committed to health equity and social justice through a variety of funds, including the JMP Diversity Fund, the JMP Student Services Fund, and the Kevin Mack Medical Education Leadership Support fund.</p> <p><a class="bph-link-inline-cta" href="https://give.berkeley.edu/fund/FU0913000" target="_blank" rel="noopener">Give now</a></p> </div> </div> </div> </div> </div> </div> </section> <div class="bph-layout-sidebar-end" hidden></div> <!-- TODO running acf field to log latest updates. Date and summary Latest row exposed, rest in accordion Enable and disable by page. Off for posts. Off by default for pages TODO add <longdesc> tags where needed? TODO add SiteImprove before launch --> </main> <section id="bphGlobalFooter" class=" bph-border-top bph-border-width-3-top bph-global-footer " uk-scrollspy="cls: uk-animation-fade;" role="region" aria-label="Contact Information" > <footer> <div class="uk-container uk-container-large"> <div class="bph-border-bottom uk-padding uk-padding-remove-horizontal"> <div class="uk-flex uk-flex-between uk-flex-wrap uk-text-small" uk-margin> <div class="uk-margin-right"> <span class="uk-text-bold">Get Our Newsletter!</span><br /> Sign up to receive news and views from Berkeley Public Health in your inbox. </div> <div> <div class=""> <!-- TODO additional classes for wrapper and button, if add more classes is selected --> <div class="uk-border-rounded"> <a class="uk-button uk-button-default uk-box-shadow-small uk-box-shadow-hover-medium uk-button-small" href="https://publichealth.berkeley.edu/contact/newsletter" target="_self" > Subscribe to the newsletter </a> </div> </div> </div> </div> </div> <div class="uk-padding uk-padding-remove-horizontal uk-text-small"> <div class="uk-grid-divider" uk-grid> <div class="uk-width-3-5@s uk-width-2-3@m"> <div class="uk-child-width-1-2@m" uk-grid> <div> <img alt="University of California, Berkeley" class="uk-margin-remove-top uk-width-auto lazyload" height="auto" width="182" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" style="width: 182px; height: auto; fill: #003262;" uk-svg data-src="https://publichealth.berkeley.edu/app/themes/berkeley-public-health/dist/img/logo-ucb.svg" decoding="async"><noscript><img alt="University of California, Berkeley" class="uk-margin-remove-top uk-width-auto" height="auto" width="182" src="https://publichealth.berkeley.edu/app/themes/berkeley-public-health/dist/img/logo-ucb.svg" style="width: 182px; height: auto; fill: #003262;" uk-svg data-eio="l"></noscript> <div class="uk-margin-medium-top"> <!-- TODO additional classes for wrapper and button, if add more classes is selected --> <div class="uk-border-rounded"> <a class="uk-button uk-button-secondary uk-box-shadow-small uk-box-shadow-hover-medium uk-button-small" href="https://publichealth.berkeley.edu/giving" target="_self" > Support Berkeley Public Health </a> </div> </div> </div> <div> <div class="uk-child-width-1-2@s" uk-grid> <div> <ul class="uk-link-text uk-list uk-list-large"> <li><a href="https://publichealth.berkeley.edu/contact">Contact Us</a></li> <li><a href="https://publichealth.berkeley.edu/about/jobs">Job Openings</a></li> <li><a href="https://publichealth.berkeley.edu/about/leadership">School Leadership</a></li> <li><a href="https://publichealth.berkeley.edu/events">Events</a></li> </ul> </div> <div> <ul class="uk-link-text uk-list uk-list-large"> <li><a href="https://publichealth.berkeley.edu/students/handbook">Student Handbook</a></li> <li><a href="https://dap.berkeley.edu/get-help/report-web-accessibility-issue" target="_blank">Accessibility Compliance</a></li> <li><a href="https://ophd.berkeley.edu/policies-and-procedures/nondiscrimination-policy-statement" target="_blank">Nondiscrimination</a></li> <li><a href="https://security.berkeley.edu/policy/campus-online-activities-policy#priv" target="_blank">Privacy statement</a></li> </ul> </div> </div> </div> </div> </div> <div class="uk-width-2-5@s uk-width-1-3@m"> <div class="uk-flex uk-flex-between"> <div> <div class="uk-margin-bottom"> <div class="uk-margin uk-flex uk-flex-wrap uk-grid-small" uk-grid> <div><a href="https://www.linkedin.com/company/uc-berkeley-school-of-public-health" class="uk-icon-button" target="_blank" uk-icon="linkedin"><span class="uk-hidden-visually">LinkedIn</span></a></div> <div><a href="https://www.instagram.com/berkeleypublichealth/" class="uk-icon-button" target="_blank" uk-icon="instagram"><span class="uk-hidden-visually">Instagram</span></a></div> <div><a href="https://www.tiktok.com/@berkeley.public.health" class="uk-icon-button" target="_blank" uk-icon="tiktok"><span class="uk-hidden-visually">TikTok</span></a></div> <div><a href="https://www.youtube.com/user/BerkeleyHealthOnline" class="uk-icon-button" target="_blank" uk-icon="youtube"><span class="uk-hidden-visually">YouTube</span></a></div> <div><a href="https://www.facebook.com/UCBerkeleySPH/" class="uk-icon-button" target="_blank" uk-icon="facebook"><span class="uk-hidden-visually">Facebook</span></a></div> <div><a href="https://www.threads.net/@berkeleypublichealth" class="uk-icon-button" target="_blank" uk-icon="threads"><span class="uk-hidden-visually">Threads</span></a></div> <div><a href="https://twitter.com/UCBerkeleySPH" class="uk-icon-button" target="_blank" uk-icon="x"><span class="uk-hidden-visually">X (formally Twitter)</span></a></div> </div> </div> <div> 2121 Berkeley Way<br /> Berkeley, CA 94720-7360 </div> <p class="uk-margin-remove-bottom"><a class="" href="mailto:publichealth@berkeley.edu">publichealth@berkeley.edu</a></p> </div> <div> <a href="#" uk-totop uk-scroll><span class="uk-hidden-visually">Back to top</span></a> </div> </div> </div> </div> </div> </footer> <div class="uk-background-muted uk-margin-top uk-text-small"> <div class="uk-container uk-container-large uk-padding-small uk-text-center"> ©2024 UC Regents; all rights reserved </div> </div> </section> <script type="text/javascript" id="eio-lazy-load-js-before"> /* <![CDATA[ */ var eio_lazy_vars = {"exactdn_domain":"","skip_autoscale":0,"threshold":0}; /* ]]> */ </script> <script type="text/javascript" src="https://publichealth.berkeley.edu/app/plugins/ewww-image-optimizer/includes/lazysizes.min.js?ver=760" id="eio-lazy-load-js"></script> <script type="text/javascript" src="//siteimproveanalytics.com/js/siteanalyze_8343.js?ver=1.0" id="siteimprove-js"></script> <script type="text/javascript">window.NREUM||(NREUM={});NREUM.info={"beacon":"bam.nr-data.net","licenseKey":"NRJS-948474cd618f8781141","applicationID":"525534681","transactionName":"ZVJUZEIAWUdXVhJcDlwYd1NECFhaGVwIUQRK","queueTime":0,"applicationTime":534,"atts":"SRVXEgoaSkk=","errorBeacon":"bam.nr-data.net","agent":""}</script></body> </html> <!-- plugin=object-cache-pro client=phpredis metric#hits=4035 metric#misses=223 metric#hit-ratio=94.8 metric#bytes=1537978 metric#prefetches=554 metric#store-reads=98 metric#store-writes=21 metric#store-hits=562 metric#store-misses=219 metric#sql-queries=20 metric#ms-total=445.22 metric#ms-cache=56.59 metric#ms-cache-avg=0.4796 metric#ms-cache-ratio=12.7 -->