CINXE.COM

School of Public Health | University of California, Berkeley

<!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.281.0.min.js.LICENSE.txt */ (()=>{var e,t,r={8122:(e,t,r)=>{"use strict";r.d(t,{a:()=>i});var n=r(944);function i(e,t){try{if(!e||"object"!=typeof e)return(0,n.R)(3);if(!t||"object"!=typeof t)return(0,n.R)(4);const r=Object.create(Object.getPrototypeOf(t),Object.getOwnPropertyDescriptors(t)),o=0===Object.keys(r).length?e:r;for(let a in o)if(void 0!==e[a])try{if(null===e[a]){r[a]=null;continue}Array.isArray(e[a])&&Array.isArray(t[a])?r[a]=Array.from(new Set([...e[a],...t[a]])):"object"==typeof e[a]&&"object"==typeof t[a]?r[a]=i(e[a],t[a]):r[a]=e[a]}catch(e){(0,n.R)(1,e)}return r}catch(e){(0,n.R)(2,e)}}},2555:(e,t,r)=>{"use strict";r.d(t,{Vp:()=>c,fn:()=>s,x1:()=>u});var n=r(384),i=r(8122);const o={beacon:n.NT.beacon,errorBeacon:n.NT.errorBeacon,licenseKey:void 0,applicationID:void 0,sa:void 0,queueTime:void 0,applicationTime:void 0,ttGuid:void 0,user:void 0,account:void 0,product:void 0,extra:void 0,jsAttributes:{},userAttributes:void 0,atts:void 0,transactionName:void 0,tNamePlain:void 0},a={};function s(e){try{const t=c(e);return!!t.licenseKey&&!!t.errorBeacon&&!!t.applicationID}catch(e){return!1}}function c(e){if(!e)throw new Error("All info objects require an agent identifier!");if(!a[e])throw new Error("Info for ".concat(e," was never set"));return a[e]}function u(e,t){if(!e)throw new Error("All info objects require an agent identifier!");a[e]=(0,i.a)(t,o);const r=(0,n.nY)(e);r&&(r.info=a[e])}},9417:(e,t,r)=>{"use strict";r.d(t,{D0:()=>p,gD:()=>m,xN:()=>g});var n=r(3333),i=r(993);const o=e=>{if(!e||"string"!=typeof e)return!1;try{document.createDocumentFragment().querySelector(e)}catch{return!1}return!0};var a=r(2614),s=r(944),c=r(384),u=r(8122);const d="[data-nr-mask]",l=()=>{const e={feature_flags:[],experimental:{marks:!1,measures:!1,resources:!1},mask_selector:"*",block_selector:"[data-nr-block]",mask_input_options:{color:!1,date:!1,"datetime-local":!1,email:!1,month:!1,number:!1,range:!1,search:!1,tel:!1,text:!1,time:!1,url:!1,week:!1,textarea:!1,select:!1,password:!0}};return{ajax:{deny_list:void 0,block_internal:!0,enabled:!0,autoStart:!0},distributed_tracing:{enabled:void 0,exclude_newrelic_header:void 0,cors_use_newrelic_header:void 0,cors_use_tracecontext_headers:void 0,allowed_origins:void 0},get feature_flags(){return e.feature_flags},set feature_flags(t){e.feature_flags=t},generic_events:{enabled:!0,autoStart:!0},harvest:{interval:30},jserrors:{enabled:!0,autoStart:!0},logging:{enabled:!0,autoStart:!0,level:i.p_.INFO},metrics:{enabled:!0,autoStart:!0},obfuscate:void 0,page_action:{enabled:!0},page_view_event:{enabled:!0,autoStart:!0},page_view_timing:{enabled:!0,autoStart:!0},performance:{get capture_marks(){return e.feature_flags.includes(n.$v.MARKS)||e.experimental.marks},set capture_marks(t){e.experimental.marks=t},get capture_measures(){return e.feature_flags.includes(n.$v.MEASURES)||e.experimental.measures},set capture_measures(t){e.experimental.measures=t},capture_detail:!0,resources:{get enabled(){return e.feature_flags.includes(n.$v.RESOURCES)||e.experimental.resources},set enabled(t){e.experimental.resources=t},asset_types:[],first_party_domains:[],ignore_newrelic:!0}},privacy:{cookies_enabled:!0},proxy:{assets:void 0,beacon:void 0},session:{expiresMs:a.wk,inactiveMs:a.BB},session_replay:{autoStart:!0,enabled:!1,preload:!1,sampling_rate:10,error_sampling_rate:100,collect_fonts:!1,inline_images:!1,fix_stylesheets:!0,mask_all_inputs:!0,get mask_text_selector(){return e.mask_selector},set mask_text_selector(t){o(t)?e.mask_selector="".concat(t,",").concat(d):""===t||null===t?e.mask_selector=d:(0,s.R)(5,t)},get block_class(){return"nr-block"},get ignore_class(){return"nr-ignore"},get mask_text_class(){return"nr-mask"},get block_selector(){return e.block_selector},set block_selector(t){o(t)?e.block_selector+=",".concat(t):""!==t&&(0,s.R)(6,t)},get mask_input_options(){return e.mask_input_options},set mask_input_options(t){t&&"object"==typeof t?e.mask_input_options={...t,password:!0}:(0,s.R)(7,t)}},session_trace:{enabled:!0,autoStart:!0},soft_navigations:{enabled:!0,autoStart:!0},spa:{enabled:!0,autoStart:!0},ssl:void 0,user_actions:{enabled:!0,elementAttributes:["id","className","tagName","type"]}}},f={},h="All configuration objects require an agent identifier!";function p(e){if(!e)throw new Error(h);if(!f[e])throw new Error("Configuration for ".concat(e," was never set"));return f[e]}function g(e,t){if(!e)throw new Error(h);f[e]=(0,u.a)(t,l());const r=(0,c.nY)(e);r&&(r.init=f[e])}function m(e,t){if(!e)throw new Error(h);var r=p(e);if(r){for(var n=t.split("."),i=0;i<n.length-1;i++)if("object"!=typeof(r=r[n[i]]))return;r=r[n[n.length-1]]}return r}},5603:(e,t,r)=>{"use strict";r.d(t,{a:()=>c,o:()=>s});var n=r(384),i=r(8122);const o={accountID:void 0,trustKey:void 0,agentID:void 0,licenseKey:void 0,applicationID:void 0,xpid:void 0},a={};function s(e){if(!e)throw new Error("All loader-config objects require an agent identifier!");if(!a[e])throw new Error("LoaderConfig for ".concat(e," was never set"));return a[e]}function c(e,t){if(!e)throw new Error("All loader-config objects require an agent identifier!");a[e]=(0,i.a)(t,o);const r=(0,n.nY)(e);r&&(r.loader_config=a[e])}},3371:(e,t,r)=>{"use strict";r.d(t,{V:()=>f,f:()=>l});var n=r(8122),i=r(384),o=r(6154),a=r(9324);let s=0;const c={buildEnv:a.F3,distMethod:a.Xs,version:a.xv,originTime:o.WN},u={customTransaction:void 0,disabled:!1,isolatedBacklog:!1,loaderType:void 0,maxBytes:3e4,onerror:void 0,ptid:void 0,releaseIds:{},appMetadata:{},session:void 0,denyList:void 0,timeKeeper:void 0,obfuscator:void 0,harvester:void 0},d={};function l(e){if(!e)throw new Error("All runtime objects require an agent identifier!");if(!d[e])throw new Error("Runtime for ".concat(e," was never set"));return d[e]}function f(e,t){if(!e)throw new Error("All runtime objects require an agent identifier!");d[e]={...(0,n.a)(t,u),...c},Object.hasOwnProperty.call(d[e],"harvestCount")||Object.defineProperty(d[e],"harvestCount",{get:()=>++s});const r=(0,i.nY)(e);r&&(r.runtime=d[e])}},9324:(e,t,r)=>{"use strict";r.d(t,{F3:()=>i,Xs:()=>o,Yq:()=>a,xv:()=>n});const n="1.281.0",i="PROD",o="CDN",a="^2.0.0-alpha.17"},6154:(e,t,r)=>{"use strict";r.d(t,{A4:()=>s,OF:()=>d,RI:()=>i,WN:()=>h,bv:()=>o,gm:()=>a,lR:()=>f,m:()=>u,mw:()=>c,sb:()=>l});var n=r(1863);const i="undefined"!=typeof window&&!!window.document,o="undefined"!=typeof WorkerGlobalScope&&("undefined"!=typeof self&&self instanceof WorkerGlobalScope&&self.navigator instanceof WorkerNavigator||"undefined"!=typeof globalThis&&globalThis instanceof WorkerGlobalScope&&globalThis.navigator instanceof WorkerNavigator),a=i?window:"undefined"!=typeof WorkerGlobalScope&&("undefined"!=typeof self&&self instanceof WorkerGlobalScope&&self||"undefined"!=typeof globalThis&&globalThis instanceof WorkerGlobalScope&&globalThis),s="complete"===a?.document?.readyState,c=Boolean("hidden"===a?.document?.visibilityState),u=""+a?.location,d=/iPad|iPhone|iPod/.test(a.navigator?.userAgent),l=d&&"undefined"==typeof SharedWorker,f=(()=>{const e=a.navigator?.userAgent?.match(/Firefox[/\s](\d+\.\d+)/);return Array.isArray(e)&&e.length>=2?+e[1]:0})(),h=Date.now()-(0,n.t)()},7295:(e,t,r)=>{"use strict";r.d(t,{Xv:()=>a,gX:()=>i,iW:()=>o});var n=[];function i(e){if(!e||o(e))return!1;if(0===n.length)return!0;for(var t=0;t<n.length;t++){var r=n[t];if("*"===r.hostname)return!1;if(s(r.hostname,e.hostname)&&c(r.pathname,e.pathname))return!1}return!0}function o(e){return void 0===e.hostname}function a(e){if(n=[],e&&e.length)for(var t=0;t<e.length;t++){let r=e[t];if(!r)continue;0===r.indexOf("http://")?r=r.substring(7):0===r.indexOf("https://")&&(r=r.substring(8));const i=r.indexOf("/");let o,a;i>0?(o=r.substring(0,i),a=r.substring(i)):(o=r,a="");let[s]=o.split(":");n.push({hostname:s,pathname:a})}}function s(e,t){return!(e.length>t.length)&&t.indexOf(e)===t.length-e.length}function c(e,t){return 0===e.indexOf("/")&&(e=e.substring(1)),0===t.indexOf("/")&&(t=t.substring(1)),""===e||e===t}},1687:(e,t,r)=>{"use strict";r.d(t,{Ak:()=>c,Ze:()=>l,x3:()=>u});var n=r(7836),i=r(3606),o=r(860),a=r(2646);const s={};function c(e,t){const r={staged:!1,priority:o.P3[t]||0};d(e),s[e].get(t)||s[e].set(t,r)}function u(e,t){e&&s[e]&&(s[e].get(t)&&s[e].delete(t),h(e,t,!1),s[e].size&&f(e))}function d(e){if(!e)throw new Error("agentIdentifier required");s[e]||(s[e]=new Map)}function l(e="",t="feature",r=!1){if(d(e),!e||!s[e].get(t)||r)return h(e,t);s[e].get(t).staged=!0,f(e)}function f(e){const t=Array.from(s[e]);t.every((([e,t])=>t.staged))&&(t.sort(((e,t)=>e[1].priority-t[1].priority)),t.forEach((([t])=>{s[e].delete(t),h(e,t)})))}function h(e,t,r=!0){const o=e?n.ee.get(e):n.ee,s=i.i.handlers;if(!o.aborted&&o.backlog&&s){if(r){const e=o.backlog[t],r=s[t];if(r){for(let t=0;e&&t<e.length;++t)p(e[t],r);Object.entries(r).forEach((([e,t])=>{Object.values(t||{}).forEach((t=>{t[0]?.on&&t[0]?.context()instanceof a.y&&t[0].on(e,t[1])}))}))}}o.isolatedBacklog||delete s[t],o.backlog[t]=null,o.emit("drain-"+t,[])}}function p(e,t){var r=e[1];Object.values(t[r]||{}).forEach((t=>{var r=e[0];if(t[0]===r){var n=t[1],i=e[3],o=e[2];n.apply(i,o)}}))}},7836:(e,t,r)=>{"use strict";r.d(t,{P:()=>c,ee:()=>u});var n=r(384),i=r(8990),o=r(3371),a=r(2646),s=r(5607);const c="nr@context:".concat(s.W),u=function e(t,r){var n={},s={},d={},l=!1;try{l=16===r.length&&(0,o.f)(r).isolatedBacklog}catch(e){}var f={on:p,addEventListener:p,removeEventListener:function(e,t){var r=n[e];if(!r)return;for(var i=0;i<r.length;i++)r[i]===t&&r.splice(i,1)},emit:function(e,r,n,i,o){!1!==o&&(o=!0);if(u.aborted&&!i)return;t&&o&&t.emit(e,r,n);for(var a=h(n),c=g(e),d=c.length,l=0;l<d;l++)c[l].apply(a,r);var p=v()[s[e]];p&&p.push([f,e,r,a]);return a},get:m,listeners:g,context:h,buffer:function(e,t){const r=v();if(t=t||"feature",f.aborted)return;Object.entries(e||{}).forEach((([e,n])=>{s[n]=t,t in r||(r[t]=[])}))},abort:function(){f._aborted=!0,Object.keys(f.backlog).forEach((e=>{delete f.backlog[e]}))},isBuffering:function(e){return!!v()[s[e]]},debugId:r,backlog:l?{}:t&&"object"==typeof t.backlog?t.backlog:{},isolatedBacklog:l};return Object.defineProperty(f,"aborted",{get:()=>{let e=f._aborted||!1;return e||(t&&(e=t.aborted),e)}}),f;function h(e){return e&&e instanceof a.y?e:e?(0,i.I)(e,c,(()=>new a.y(c))):new a.y(c)}function p(e,t){n[e]=g(e).concat(t)}function g(e){return n[e]||[]}function m(t){return d[t]=d[t]||e(f,t)}function v(){return f.backlog}}(void 0,"globalEE"),d=(0,n.Zm)();d.ee||(d.ee=u)},2646:(e,t,r)=>{"use strict";r.d(t,{y:()=>n});class n{constructor(e){this.contextId=e}}},9908:(e,t,r)=>{"use strict";r.d(t,{d:()=>n,p:()=>i});var n=r(7836).ee.get("handle");function i(e,t,r,i,o){o?(o.buffer([e],i),o.emit(e,t,r)):(n.buffer([e],i),n.emit(e,t,r))}},3606:(e,t,r)=>{"use strict";r.d(t,{i:()=>o});var n=r(9908);o.on=a;var i=o.handlers={};function o(e,t,r,o){a(o||n.d,i,e,t,r)}function a(e,t,r,i,o){o||(o="feature"),e||(e=n.d);var a=t[o]=t[o]||{};(a[r]=a[r]||[]).push([e,i])}},3878:(e,t,r)=>{"use strict";function n(e,t){return{capture:e,passive:!1,signal:t}}function i(e,t,r=!1,i){window.addEventListener(e,t,n(r,i))}function o(e,t,r=!1,i){document.addEventListener(e,t,n(r,i))}r.d(t,{DD:()=>o,jT:()=>n,sp:()=>i})},5607:(e,t,r)=>{"use strict";r.d(t,{W:()=>n});const n=(0,r(9566).bz)()},9566:(e,t,r)=>{"use strict";r.d(t,{LA:()=>s,ZF:()=>c,bz:()=>a,el:()=>u});var n=r(6154);const i="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx";function o(e,t){return e?15&e[t]:16*Math.random()|0}function a(){const e=n.gm?.crypto||n.gm?.msCrypto;let t,r=0;return e&&e.getRandomValues&&(t=e.getRandomValues(new Uint8Array(30))),i.split("").map((e=>"x"===e?o(t,r++).toString(16):"y"===e?(3&o()|8).toString(16):e)).join("")}function s(e){const t=n.gm?.crypto||n.gm?.msCrypto;let r,i=0;t&&t.getRandomValues&&(r=t.getRandomValues(new Uint8Array(e)));const a=[];for(var s=0;s<e;s++)a.push(o(r,i++).toString(16));return a.join("")}function c(){return s(16)}function u(){return s(32)}},2614:(e,t,r)=>{"use strict";r.d(t,{BB:()=>a,H3:()=>n,g:()=>u,iL:()=>c,tS:()=>s,uh:()=>i,wk:()=>o});const n="NRBA",i="SESSION",o=144e5,a=18e5,s={STARTED:"session-started",PAUSE:"session-pause",RESET:"session-reset",RESUME:"session-resume",UPDATE:"session-update"},c={SAME_TAB:"same-tab",CROSS_TAB:"cross-tab"},u={OFF:0,FULL:1,ERROR:2}},1863:(e,t,r)=>{"use strict";function n(){return Math.floor(performance.now())}r.d(t,{t:()=>n})},7485:(e,t,r)=>{"use strict";r.d(t,{D:()=>i});var n=r(6154);function i(e){if(0===(e||"").indexOf("data:"))return{protocol:"data"};try{const t=new URL(e,location.href),r={port:t.port,hostname:t.hostname,pathname:t.pathname,search:t.search,protocol:t.protocol.slice(0,t.protocol.indexOf(":")),sameOrigin:t.protocol===n.gm?.location?.protocol&&t.host===n.gm?.location?.host};return r.port&&""!==r.port||("http:"===t.protocol&&(r.port="80"),"https:"===t.protocol&&(r.port="443")),r.pathname&&""!==r.pathname?r.pathname.startsWith("/")||(r.pathname="/".concat(r.pathname)):r.pathname="/",r}catch(e){return{}}}},944:(e,t,r)=>{"use strict";function n(e,t){"function"==typeof console.debug&&console.debug("New Relic Warning: https://github.com/newrelic/newrelic-browser-agent/blob/main/docs/warning-codes.md#".concat(e),t)}r.d(t,{R:()=>n})},5284:(e,t,r)=>{"use strict";r.d(t,{t:()=>c,B:()=>s});var n=r(7836),i=r(6154);const o="newrelic";const a=new Set,s={};function c(e,t){const r=n.ee.get(t);s[t]??={},e&&"object"==typeof e&&(a.has(t)||(r.emit("rumresp",[e]),s[t]=e,a.add(t),function(e={}){try{i.gm.dispatchEvent(new CustomEvent(o,{detail:e}))}catch(e){}}({loaded:!0})))}},8990:(e,t,r)=>{"use strict";r.d(t,{I:()=>i});var n=Object.prototype.hasOwnProperty;function i(e,t,r){if(n.call(e,t))return e[t];var i=r();if(Object.defineProperty&&Object.keys)try{return Object.defineProperty(e,t,{value:i,writable:!0,enumerable:!1}),i}catch(e){}return e[t]=i,i}},6389:(e,t,r)=>{"use strict";function n(e,t=500,r={}){const n=r?.leading||!1;let i;return(...r)=>{n&&void 0===i&&(e.apply(this,r),i=setTimeout((()=>{i=clearTimeout(i)}),t)),n||(clearTimeout(i),i=setTimeout((()=>{e.apply(this,r)}),t))}}function i(e){let t=!1;return(...r)=>{t||(t=!0,e.apply(this,r))}}r.d(t,{J:()=>i,s:()=>n})},3304:(e,t,r)=>{"use strict";r.d(t,{A:()=>o});var n=r(7836);const i=()=>{const e=new WeakSet;return(t,r)=>{if("object"==typeof r&&null!==r){if(e.has(r))return;e.add(r)}return r}};function o(e){try{return JSON.stringify(e,i())??""}catch(e){try{n.ee.emit("internal-error",[e])}catch(e){}return""}}},5289:(e,t,r)=>{"use strict";r.d(t,{GG:()=>o,sB:()=>a});var n=r(3878);function i(){return"undefined"==typeof document||"complete"===document.readyState}function o(e,t){if(i())return e();(0,n.sp)("load",e,t)}function a(e){if(i())return e();(0,n.DD)("DOMContentLoaded",e)}},384:(e,t,r)=>{"use strict";r.d(t,{NT:()=>o,US:()=>d,Zm:()=>a,bQ:()=>c,dV:()=>s,nY:()=>u,pV:()=>l});var n=r(6154),i=r(1863);const o={beacon:"bam.nr-data.net",errorBeacon:"bam.nr-data.net"};function a(){return n.gm.NREUM||(n.gm.NREUM={}),void 0===n.gm.newrelic&&(n.gm.newrelic=n.gm.NREUM),n.gm.NREUM}function s(){let e=a();return e.o||(e.o={ST:n.gm.setTimeout,SI:n.gm.setImmediate,CT:n.gm.clearTimeout,XHR:n.gm.XMLHttpRequest,REQ:n.gm.Request,EV:n.gm.Event,PR:n.gm.Promise,MO:n.gm.MutationObserver,FETCH:n.gm.fetch,WS:n.gm.WebSocket}),e}function c(e,t){let r=a();r.initializedAgents??={},t.initializedAt={ms:(0,i.t)(),date:new Date},r.initializedAgents[e]=t}function u(e){let t=a();return t.initializedAgents?.[e]}function d(e,t){a()[e]=t}function l(){return function(){let e=a();const t=e.info||{};e.info={beacon:o.beacon,errorBeacon:o.errorBeacon,...t}}(),function(){let e=a();const t=e.init||{};e.init={...t}}(),s(),function(){let e=a();const t=e.loader_config||{};e.loader_config={...t}}(),a()}},2843:(e,t,r)=>{"use strict";r.d(t,{u:()=>i});var n=r(3878);function i(e,t=!1,r,i){(0,n.DD)("visibilitychange",(function(){if(t)return void("hidden"===document.visibilityState&&e());e(document.visibilityState)}),r,i)}},8139:(e,t,r)=>{"use strict";r.d(t,{u:()=>f});var n=r(7836),i=r(3434),o=r(8990),a=r(6154);const s={},c=a.gm.XMLHttpRequest,u="addEventListener",d="removeEventListener",l="nr@wrapped:".concat(n.P);function f(e){var t=function(e){return(e||n.ee).get("events")}(e);if(s[t.debugId]++)return t;s[t.debugId]=1;var r=(0,i.YM)(t,!0);function f(e){r.inPlace(e,[u,d],"-",p)}function p(e,t){return e[1]}return"getPrototypeOf"in Object&&(a.RI&&h(document,f),c&&h(c.prototype,f),h(a.gm,f)),t.on(u+"-start",(function(e,t){var n=e[1];if(null!==n&&("function"==typeof n||"object"==typeof n)){var i=(0,o.I)(n,l,(function(){var e={object:function(){if("function"!=typeof n.handleEvent)return;return n.handleEvent.apply(n,arguments)},function:n}[typeof n];return e?r(e,"fn-",null,e.name||"anonymous"):n}));this.wrapped=e[1]=i}})),t.on(d+"-start",(function(e){e[1]=this.wrapped||e[1]})),t}function h(e,t,...r){let n=e;for(;"object"==typeof n&&!Object.prototype.hasOwnProperty.call(n,u);)n=Object.getPrototypeOf(n);n&&t(n,...r)}},3434:(e,t,r)=>{"use strict";r.d(t,{Jt:()=>o,YM:()=>c});var n=r(7836),i=r(5607);const o="nr@original:".concat(i.W);var a=Object.prototype.hasOwnProperty,s=!1;function c(e,t){return e||(e=n.ee),r.inPlace=function(e,t,n,i,o){n||(n="");const a="-"===n.charAt(0);for(let s=0;s<t.length;s++){const c=t[s],u=e[c];d(u)||(e[c]=r(u,a?c+n:n,i,c,o))}},r.flag=o,r;function r(t,r,n,s,c){return d(t)?t:(r||(r=""),nrWrapper[o]=t,function(e,t,r){if(Object.defineProperty&&Object.keys)try{return Object.keys(e).forEach((function(r){Object.defineProperty(t,r,{get:function(){return e[r]},set:function(t){return e[r]=t,t}})})),t}catch(e){u([e],r)}for(var n in e)a.call(e,n)&&(t[n]=e[n])}(t,nrWrapper,e),nrWrapper);function nrWrapper(){var o,a,d,l;try{a=this,o=[...arguments],d="function"==typeof n?n(o,a):n||{}}catch(t){u([t,"",[o,a,s],d],e)}i(r+"start",[o,a,s],d,c);try{return l=t.apply(a,o)}catch(e){throw i(r+"err",[o,a,e],d,c),e}finally{i(r+"end",[o,a,l],d,c)}}}function i(r,n,i,o){if(!s||t){var a=s;s=!0;try{e.emit(r,n,i,t,o)}catch(t){u([t,r,n,i],e)}s=a}}}function u(e,t){t||(t=n.ee);try{t.emit("internal-error",e)}catch(e){}}function d(e){return!(e&&"function"==typeof e&&e.apply&&!e[o])}},9300:(e,t,r)=>{"use strict";r.d(t,{T:()=>n});const n=r(860).K7.ajax},3333:(e,t,r)=>{"use strict";r.d(t,{$v:()=>u,TZ:()=>n,Zp:()=>i,kd:()=>c,mq:()=>s,nf:()=>a,qN:()=>o});const n=r(860).K7.genericEvents,i=["auxclick","click","copy","keydown","paste","scrollend"],o=["focus","blur"],a=4,s=1e3,c=["PageAction","UserAction","BrowserPerformance"],u={MARKS:"experimental.marks",MEASURES:"experimental.measures",RESOURCES:"experimental.resources"}},6774:(e,t,r)=>{"use strict";r.d(t,{T:()=>n});const n=r(860).K7.jserrors},993:(e,t,r)=>{"use strict";r.d(t,{ET:()=>o,TZ:()=>a,p_:()=>i});var n=r(860);const i={ERROR:"ERROR",WARN:"WARN",INFO:"INFO",DEBUG:"DEBUG",TRACE:"TRACE"},o="log",a=n.K7.logging},3785:(e,t,r)=>{"use strict";r.d(t,{R:()=>c,b:()=>u});var n=r(9908),i=r(1863),o=r(860),a=r(3969),s=r(993);function c(e,t,r={},c=s.p_.INFO){(0,n.p)(a.xV,["API/logging/".concat(c.toLowerCase(),"/called")],void 0,o.K7.metrics,e),(0,n.p)(s.ET,[(0,i.t)(),t,r,c],void 0,o.K7.logging,e)}function u(e){return"string"==typeof e&&Object.values(s.p_).some((t=>t===e.toUpperCase().trim()))}},3969:(e,t,r)=>{"use strict";r.d(t,{TZ:()=>n,XG:()=>s,rs:()=>i,xV:()=>a,z_:()=>o});const n=r(860).K7.metrics,i="sm",o="cm",a="storeSupportabilityMetrics",s="storeEventMetrics"},6630:(e,t,r)=>{"use strict";r.d(t,{T:()=>n});const n=r(860).K7.pageViewEvent},782:(e,t,r)=>{"use strict";r.d(t,{T:()=>n});const n=r(860).K7.pageViewTiming},6344:(e,t,r)=>{"use strict";r.d(t,{BB:()=>d,G4:()=>o,Qb:()=>l,TZ:()=>i,Ug:()=>a,_s:()=>s,bc:()=>u,yP:()=>c});var n=r(2614);const i=r(860).K7.sessionReplay,o={RECORD:"recordReplay",PAUSE:"pauseReplay",REPLAY_RUNNING:"replayRunning",ERROR_DURING_REPLAY:"errorDuringReplay"},a=.12,s={DomContentLoaded:0,Load:1,FullSnapshot:2,IncrementalSnapshot:3,Meta:4,Custom:5},c={[n.g.ERROR]:15e3,[n.g.FULL]:3e5,[n.g.OFF]:0},u={RESET:{message:"Session was reset",sm:"Reset"},IMPORT:{message:"Recorder failed to import",sm:"Import"},TOO_MANY:{message:"429: Too Many Requests",sm:"Too-Many"},TOO_BIG:{message:"Payload was too large",sm:"Too-Big"},CROSS_TAB:{message:"Session Entity was set to OFF on another tab",sm:"Cross-Tab"},ENTITLEMENTS:{message:"Session Replay is not allowed and will not be started",sm:"Entitlement"}},d=5e3,l={API:"api"}},5270:(e,t,r)=>{"use strict";r.d(t,{Aw:()=>c,CT:()=>u,SR:()=>s});var n=r(384),i=r(9417),o=r(7767),a=r(6154);function s(e){return!!(0,n.dV)().o.MO&&(0,o.V)(e)&&!0===(0,i.gD)(e,"session_trace.enabled")}function c(e){return!0===(0,i.gD)(e,"session_replay.preload")&&s(e)}function u(e,t){const r=t.correctAbsoluteTimestamp(e);return{originalTimestamp:e,correctedTimestamp:r,timestampDiff:e-r,originTime:a.WN,correctedOriginTime:t.correctedOriginTime,originTimeDiff:Math.floor(a.WN-t.correctedOriginTime)}}},3738:(e,t,r)=>{"use strict";r.d(t,{He:()=>i,Kp:()=>s,Lc:()=>u,Rz:()=>d,TZ:()=>n,bD:()=>o,d3:()=>a,jx:()=>l,uP:()=>c});const n=r(860).K7.sessionTrace,i="bstResource",o="resource",a="-start",s="-end",c="fn"+a,u="fn"+s,d="pushState",l=1e3},3962:(e,t,r)=>{"use strict";r.d(t,{AM:()=>o,O2:()=>c,Qu:()=>u,TZ:()=>s,ih:()=>d,pP:()=>a,tC:()=>i});var n=r(860);const i=["click","keydown","submit","popstate"],o="api",a="initialPageLoad",s=n.K7.softNav,c={INITIAL_PAGE_LOAD:"",ROUTE_CHANGE:1,UNSPECIFIED:2},u={INTERACTION:1,AJAX:2,CUSTOM_END:3,CUSTOM_TRACER:4},d={IP:"in progress",FIN:"finished",CAN:"cancelled"}},7378:(e,t,r)=>{"use strict";r.d(t,{$p:()=>x,BR:()=>b,Kp:()=>R,L3:()=>y,Lc:()=>c,NC:()=>o,SG:()=>d,TZ:()=>i,U6:()=>p,UT:()=>m,d3:()=>w,dT:()=>f,e5:()=>T,gx:()=>v,l9:()=>l,oW:()=>h,op:()=>g,rw:()=>u,tH:()=>A,uP:()=>s,wW:()=>E,xq:()=>a});var n=r(384);const i=r(860).K7.spa,o=["click","submit","keypress","keydown","keyup","change"],a=999,s="fn-start",c="fn-end",u="cb-start",d="api-ixn-",l="remaining",f="interaction",h="spaNode",p="jsonpNode",g="fetch-start",m="fetch-done",v="fetch-body-",b="jsonp-end",y=(0,n.dV)().o.ST,w="-start",R="-end",x="-body",E="cb"+R,T="jsTime",A="fetch"},4234:(e,t,r)=>{"use strict";r.d(t,{W:()=>o});var n=r(7836),i=r(1687);class o{constructor(e,t){this.agentIdentifier=e,this.ee=n.ee.get(e),this.featureName=t,this.blocked=!1}deregisterDrain(){(0,i.x3)(this.agentIdentifier,this.featureName)}}},7767:(e,t,r)=>{"use strict";r.d(t,{V:()=>o});var n=r(9417),i=r(6154);const o=e=>i.RI&&!0===(0,n.gD)(e,"privacy.cookies_enabled")},425:(e,t,r)=>{"use strict";r.d(t,{j:()=>j});var n=r(860),i=r(2555),o=r(3371),a=r(9908),s=r(7836),c=r(1687),u=r(5289),d=r(6154),l=r(944),f=r(3969),h=r(384),p=r(6344);const g=["setErrorHandler","finished","addToTrace","addRelease","recordCustomEvent","addPageAction","setCurrentRouteName","setPageViewName","setCustomAttribute","interaction","noticeError","setUserId","setApplicationVersion","start",p.G4.RECORD,p.G4.PAUSE,"log","wrapLogger"],m=["setErrorHandler","finished","addToTrace","addRelease"];var v=r(1863),b=r(2614),y=r(993),w=r(3785),R=r(2646),x=r(3434);const E=new Map;function T(e,t,r,n){if("object"!=typeof t||!t||"string"!=typeof r||!r||"function"!=typeof t[r])return(0,l.R)(29);const i=function(e){return(e||s.ee).get("logger")}(e),o=(0,x.YM)(i),a=new R.y(s.P);a.level=n.level,a.customAttributes=n.customAttributes;const c=t[r]?.[x.Jt]||t[r];return E.set(c,a),o.inPlace(t,[r],"wrap-logger-",(()=>E.get(c))),i}function A(){const e=(0,h.pV)();g.forEach((t=>{e[t]=(...r)=>function(t,...r){let n=[];return Object.values(e.initializedAgents).forEach((e=>{e&&e.api?e.exposed&&e.api[t]&&n.push(e.api[t](...r)):(0,l.R)(38,t)})),n.length>1?n:n[0]}(t,...r)}))}const S={};var N=r(9417),_=r(5603),O=r(5284);const I=e=>{const t=e.startsWith("http");e+="/",r.p=t?e:"https://"+e};let P=!1;function j(e,t={},g,R){let{init:x,info:E,loader_config:j,runtime:C={},exposed:k=!0}=t;C.loaderType=g;const L=(0,h.pV)();E||(x=L.init,E=L.info,j=L.loader_config),(0,N.xN)(e.agentIdentifier,x||{}),(0,_.a)(e.agentIdentifier,j||{}),E.jsAttributes??={},d.bv&&(E.jsAttributes.isWorker=!0),(0,i.x1)(e.agentIdentifier,E);const H=(0,N.D0)(e.agentIdentifier),M=[E.beacon,E.errorBeacon];P||(H.proxy.assets&&(I(H.proxy.assets),M.push(H.proxy.assets)),H.proxy.beacon&&M.push(H.proxy.beacon),A(),(0,h.US)("activatedFeatures",O.B),e.runSoftNavOverSpa&&=!0===H.soft_navigations.enabled&&H.feature_flags.includes("soft_nav")),C.denyList=[...H.ajax.deny_list||[],...H.ajax.block_internal?M:[]],C.ptid=e.agentIdentifier,(0,o.V)(e.agentIdentifier,C),e.ee=s.ee.get(e.agentIdentifier),void 0===e.api&&(e.api=function(e,t,h=!1){t||(0,c.Ak)(e,"api");const g={};var R=s.ee.get(e),x=R.get("tracer");S[e]=b.g.OFF,R.on(p.G4.REPLAY_RUNNING,(t=>{S[e]=t}));var E="api-",A=E+"ixn-";function N(t,r,n,o){const a=(0,i.Vp)(e);return null===r?delete a.jsAttributes[t]:(0,i.x1)(e,{...a,jsAttributes:{...a.jsAttributes,[t]:r}}),I(E,n,!0,o||null===r?"session":void 0)(t,r)}function _(){}g.log=function(e,{customAttributes:t={},level:r=y.p_.INFO}={}){(0,a.p)(f.xV,["API/log/called"],void 0,n.K7.metrics,R),(0,w.R)(R,e,t,r)},g.wrapLogger=(e,t,{customAttributes:r={},level:i=y.p_.INFO}={})=>{(0,a.p)(f.xV,["API/wrapLogger/called"],void 0,n.K7.metrics,R),T(R,e,t,{customAttributes:r,level:i})},m.forEach((e=>{g[e]=I(E,e,!0,"api")})),g.addPageAction=I(E,"addPageAction",!0,n.K7.genericEvents),g.recordCustomEvent=I(E,"recordCustomEvent",!0,n.K7.genericEvents),g.setPageViewName=function(t,r){if("string"==typeof t)return"/"!==t.charAt(0)&&(t="/"+t),(0,o.f)(e).customTransaction=(r||"http://custom.transaction")+t,I(E,"setPageViewName",!0)()},g.setCustomAttribute=function(e,t,r=!1){if("string"==typeof e){if(["string","number","boolean"].includes(typeof t)||null===t)return N(e,t,"setCustomAttribute",r);(0,l.R)(40,typeof t)}else(0,l.R)(39,typeof e)},g.setUserId=function(e){if("string"==typeof e||null===e)return N("enduser.id",e,"setUserId",!0);(0,l.R)(41,typeof e)},g.setApplicationVersion=function(e){if("string"==typeof e||null===e)return N("application.version",e,"setApplicationVersion",!1);(0,l.R)(42,typeof e)},g.start=()=>{try{(0,a.p)(f.xV,["API/start/called"],void 0,n.K7.metrics,R),R.emit("manual-start-all")}catch(e){(0,l.R)(23,e)}},g[p.G4.RECORD]=function(){(0,a.p)(f.xV,["API/recordReplay/called"],void 0,n.K7.metrics,R),(0,a.p)(p.G4.RECORD,[],void 0,n.K7.sessionReplay,R)},g[p.G4.PAUSE]=function(){(0,a.p)(f.xV,["API/pauseReplay/called"],void 0,n.K7.metrics,R),(0,a.p)(p.G4.PAUSE,[],void 0,n.K7.sessionReplay,R)},g.interaction=function(e){return(new _).get("object"==typeof e?e:{})};const O=_.prototype={createTracer:function(e,t){var r={},i=this,o="function"==typeof t;return(0,a.p)(f.xV,["API/createTracer/called"],void 0,n.K7.metrics,R),h||(0,a.p)(A+"tracer",[(0,v.t)(),e,r],i,n.K7.spa,R),function(){if(x.emit((o?"":"no-")+"fn-start",[(0,v.t)(),i,o],r),o)try{return t.apply(this,arguments)}catch(e){const t="string"==typeof e?new Error(e):e;throw x.emit("fn-err",[arguments,this,t],r),t}finally{x.emit("fn-end",[(0,v.t)()],r)}}}};function I(e,t,r,i){return function(){return(0,a.p)(f.xV,["API/"+t+"/called"],void 0,n.K7.metrics,R),i&&(0,a.p)(e+t,[r?(0,v.t)():performance.now(),...arguments],r?null:this,i,R),r?void 0:this}}function P(){r.e(478).then(r.bind(r,8778)).then((({setAPI:t})=>{t(e),(0,c.Ze)(e,"api")})).catch((e=>{(0,l.R)(27,e),R.abort()}))}return["actionText","setName","setAttribute","save","ignore","onEnd","getContext","end","get"].forEach((e=>{O[e]=I(A,e,void 0,h?n.K7.softNav:n.K7.spa)})),g.setCurrentRouteName=h?I(A,"routeName",void 0,n.K7.softNav):I(E,"routeName",!0,n.K7.spa),g.noticeError=function(t,r){"string"==typeof t&&(t=new Error(t)),(0,a.p)(f.xV,["API/noticeError/called"],void 0,n.K7.metrics,R),(0,a.p)("err",[t,(0,v.t)(),!1,r,!!S[e]],void 0,n.K7.jserrors,R)},d.RI?(0,u.GG)((()=>P()),!0):P(),g}(e.agentIdentifier,R,e.runSoftNavOverSpa)),void 0===e.exposed&&(e.exposed=k),P=!0}},8374:(e,t,r)=>{r.nc=(()=>{try{return document?.currentScript?.nonce}catch(e){}return""})()},860:(e,t,r)=>{"use strict";r.d(t,{$J:()=>u,K7:()=>s,P3:()=>c,XX:()=>i,qY:()=>n,v4:()=>a});const n="events",i="jserrors",o="browser/blobs",a="rum",s={ajax:"ajax",genericEvents:"generic_events",jserrors:i,logging:"logging",metrics:"metrics",pageAction:"page_action",pageViewEvent:"page_view_event",pageViewTiming:"page_view_timing",sessionReplay:"session_replay",sessionTrace:"session_trace",softNav:"soft_navigations",spa:"spa"},c={[s.pageViewEvent]:1,[s.pageViewTiming]:2,[s.metrics]:3,[s.jserrors]:4,[s.spa]:5,[s.ajax]:6,[s.sessionTrace]:7,[s.softNav]:8,[s.sessionReplay]:9,[s.logging]:10,[s.genericEvents]:11},u={[s.pageViewEvent]:a,[s.pageViewTiming]:n,[s.ajax]:n,[s.spa]:n,[s.softNav]:n,[s.metrics]:i,[s.jserrors]:i,[s.sessionTrace]:o,[s.sessionReplay]:o,[s.logging]:"browser/logs",[s.genericEvents]:"ins"}}},n={};function i(e){var t=n[e];if(void 0!==t)return t.exports;var o=n[e]={exports:{}};return r[e](o,o.exports,i),o.exports}i.m=r,i.d=(e,t)=>{for(var r in t)i.o(t,r)&&!i.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},i.f={},i.e=e=>Promise.all(Object.keys(i.f).reduce(((t,r)=>(i.f[r](e,t),t)),[])),i.u=e=>({212:"nr-spa-compressor",249:"nr-spa-recorder",478:"nr-spa"}[e]+"-1.281.0.min.js"),i.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),e={},t="NRBA-1.281.0.PROD:",i.l=(r,n,o,a)=>{if(e[r])e[r].push(n);else{var s,c;if(void 0!==o)for(var u=document.getElementsByTagName("script"),d=0;d<u.length;d++){var l=u[d];if(l.getAttribute("src")==r||l.getAttribute("data-webpack")==t+o){s=l;break}}if(!s){c=!0;var f={478:"sha512-jmvAlmjCn64ans8tLueqHRlBI/iWekylsDWb94A77CG0ukSriVDvgD3dThx+XjUSBBBMYhFn8B1a18fViyBPEQ==",249:"sha512-ICY/ZrcytM/86t5KFy+9OAWVYmNNJy10EBtxoSUGjQWuZx53p/eLo+L8HfrGjvHuRHRnutqLTGSnvNttffJkaA==",212:"sha512-pQSn+X/RfBOvx/49HvlghaiXMLhhDQXTi13n1N2XMpDquWJgs9U0pbqE3RbAnYC9nsdaTu/RVGvneEPv1fpCxA=="};(s=document.createElement("script")).charset="utf-8",s.timeout=120,i.nc&&s.setAttribute("nonce",i.nc),s.setAttribute("data-webpack",t+o),s.src=r,0!==s.src.indexOf(window.location.origin+"/")&&(s.crossOrigin="anonymous"),f[a]&&(s.integrity=f[a])}e[r]=[n];var h=(t,n)=>{s.onerror=s.onload=null,clearTimeout(p);var i=e[r];if(delete e[r],s.parentNode&&s.parentNode.removeChild(s),i&&i.forEach((e=>e(n))),t)return t(n)},p=setTimeout(h.bind(null,void 0,{type:"timeout",target:s}),12e4);s.onerror=h.bind(null,s.onerror),s.onload=h.bind(null,s.onload),c&&document.head.appendChild(s)}},i.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.p="https://js-agent.newrelic.com/",(()=>{var e={38:0,788:0};i.f.j=(t,r)=>{var n=i.o(e,t)?e[t]:void 0;if(0!==n)if(n)r.push(n[2]);else{var o=new Promise(((r,i)=>n=e[t]=[r,i]));r.push(n[2]=o);var a=i.p+i.u(t),s=new Error;i.l(a,(r=>{if(i.o(e,t)&&(0!==(n=e[t])&&(e[t]=void 0),n)){var o=r&&("load"===r.type?"missing":r.type),a=r&&r.target&&r.target.src;s.message="Loading chunk "+t+" failed.\n("+o+": "+a+")",s.name="ChunkLoadError",s.type=o,s.request=a,n[1](s)}}),"chunk-"+t,t)}};var t=(t,r)=>{var n,o,[a,s,c]=r,u=0;if(a.some((t=>0!==e[t]))){for(n in s)i.o(s,n)&&(i.m[n]=s[n]);if(c)c(i)}for(t&&t(r);u<a.length;u++)o=a[u],i.o(e,o)&&e[o]&&e[o][0](),e[o]=0},r=self["webpackChunk:NRBA-1.281.0.PROD"]=self["webpackChunk:NRBA-1.281.0.PROD"]||[];r.forEach(t.bind(null,0)),r.push=t.bind(null,r.push.bind(r))})(),(()=>{"use strict";i(8374);var e=i(944),t=i(6344),r=i(9566);class n{agentIdentifier;constructor(){this.agentIdentifier=(0,r.LA)(16)}#e(t,...r){if("function"==typeof this.api?.[t])return this.api[t](...r);(0,e.R)(35,t)}addPageAction(e,t){return this.#e("addPageAction",e,t)}recordCustomEvent(e,t){return this.#e("recordCustomEvent",e,t)}setPageViewName(e,t){return this.#e("setPageViewName",e,t)}setCustomAttribute(e,t,r){return this.#e("setCustomAttribute",e,t,r)}noticeError(e,t){return this.#e("noticeError",e,t)}setUserId(e){return this.#e("setUserId",e)}setApplicationVersion(e){return this.#e("setApplicationVersion",e)}setErrorHandler(e){return this.#e("setErrorHandler",e)}addRelease(e,t){return this.#e("addRelease",e,t)}log(e,t){return this.#e("log",e,t)}}class o extends n{#e(t,...r){if("function"==typeof this.api?.[t])return this.api[t](...r);(0,e.R)(35,t)}start(){return this.#e("start")}finished(e){return this.#e("finished",e)}recordReplay(){return this.#e(t.G4.RECORD)}pauseReplay(){return this.#e(t.G4.PAUSE)}addToTrace(e){return this.#e("addToTrace",e)}setCurrentRouteName(e){return this.#e("setCurrentRouteName",e)}interaction(){return this.#e("interaction")}wrapLogger(e,t,r){return this.#e("wrapLogger",e,t,r)}}var a=i(860),s=i(9417);const c=Object.values(a.K7);function u(e){const t={};return c.forEach((r=>{t[r]=function(e,t){return!0===(0,s.gD)(t,"".concat(e,".enabled"))}(r,e)})),t}var d=i(425);var l=i(1687),f=i(4234),h=i(5289),p=i(6154),g=i(5270),m=i(7767),v=i(6389);class b extends f.W{constructor(e,t,r=!0){super(e.agentIdentifier,t),this.auto=r,this.abortHandler=void 0,this.featAggregate=void 0,this.onAggregateImported=void 0,!1===e.init[this.featureName].autoStart&&(this.auto=!1),this.auto?(0,l.Ak)(e.agentIdentifier,t):this.ee.on("manual-start-all",(0,v.J)((()=>{(0,l.Ak)(e.agentIdentifier,this.featureName),this.auto=!0,this.importAggregator(e)})))}importAggregator(t,r={}){if(this.featAggregate||!this.auto)return;let n;this.onAggregateImported=new Promise((e=>{n=e}));const o=async()=>{let o;try{if((0,m.V)(this.agentIdentifier)){const{setupAgentSession:e}=await i.e(478).then(i.bind(i,6526));o=e(t)}}catch(t){(0,e.R)(20,t),this.ee.emit("internal-error",[t]),this.featureName===a.K7.sessionReplay&&this.abortHandler?.()}try{if(!this.#t(this.featureName,o))return(0,l.Ze)(this.agentIdentifier,this.featureName),void n(!1);const{lazyFeatureLoader:e}=await i.e(478).then(i.bind(i,6103)),{Aggregate:a}=await e(this.featureName,"aggregate");this.featAggregate=new a(t,r),t.runtime.harvester.initializedAggregates.push(this.featAggregate),n(!0)}catch(t){(0,e.R)(34,t),this.abortHandler?.(),(0,l.Ze)(this.agentIdentifier,this.featureName,!0),n(!1),this.ee&&this.ee.abort()}};p.RI?(0,h.GG)((()=>o()),!0):o()}#t(e,t){switch(e){case a.K7.sessionReplay:return(0,g.SR)(this.agentIdentifier)&&!!t;case a.K7.sessionTrace:return!!t;default:return!0}}}var y=i(6630);class w extends b{static featureName=y.T;constructor(e,t=!0){super(e,y.T,t),this.importAggregator(e)}}var R=i(384);var x=i(9908),E=i(2843),T=i(3878),A=i(782),S=i(1863);class N extends b{static featureName=A.T;constructor(e,t=!0){super(e,A.T,t),p.RI&&((0,E.u)((()=>(0,x.p)("docHidden",[(0,S.t)()],void 0,A.T,this.ee)),!0),(0,T.sp)("pagehide",(()=>(0,x.p)("winPagehide",[(0,S.t)()],void 0,A.T,this.ee))),this.importAggregator(e))}}var _=i(3969);class O extends b{static featureName=_.TZ;constructor(e,t=!0){super(e,_.TZ,t),this.importAggregator(e)}}var I=i(6774),P=i(3304);class j{constructor(e,t,r,n,i){this.name="UncaughtError",this.message="string"==typeof e?e:(0,P.A)(e),this.sourceURL=t,this.line=r,this.column=n,this.__newrelic=i}}function C(e){return H(e)?e:new j(void 0!==e?.message?e.message:e,e?.filename||e?.sourceURL,e?.lineno||e?.line,e?.colno||e?.col,e?.__newrelic)}function k(e){const t="Unhandled Promise Rejection";if(!e?.reason)return;if(H(e.reason))try{return e.reason.message=t+": "+e.reason.message,C(e.reason)}catch(t){return C(e.reason)}const r=C(e.reason);return r.message=t+": "+r?.message,r}function L(e){if(e.error instanceof SyntaxError&&!/:\d+$/.test(e.error.stack?.trim())){const t=new j(e.message,e.filename,e.lineno,e.colno,e.error.__newrelic);return t.name=SyntaxError.name,t}return H(e.error)?e.error:C(e)}function H(e){return e instanceof Error&&!!e.stack}class M extends b{static featureName=I.T;#r=!1;constructor(e,r=!0){super(e,I.T,r);try{this.removeOnAbort=new AbortController}catch(e){}this.ee.on("internal-error",((e,t)=>{this.abortHandler&&(0,x.p)("ierr",[C(e),(0,S.t)(),!0,{},this.#r,t],void 0,this.featureName,this.ee)})),this.ee.on(t.G4.REPLAY_RUNNING,(e=>{this.#r=e})),p.gm.addEventListener("unhandledrejection",(e=>{this.abortHandler&&(0,x.p)("err",[k(e),(0,S.t)(),!1,{unhandledPromiseRejection:1},this.#r],void 0,this.featureName,this.ee)}),(0,T.jT)(!1,this.removeOnAbort?.signal)),p.gm.addEventListener("error",(e=>{this.abortHandler&&(0,x.p)("err",[L(e),(0,S.t)(),!1,{},this.#r],void 0,this.featureName,this.ee)}),(0,T.jT)(!1,this.removeOnAbort?.signal)),this.abortHandler=this.#n,this.importAggregator(e)}#n(){this.removeOnAbort?.abort(),this.abortHandler=void 0}}var D=i(8990);let K=1;const U="nr@id";function V(e){const t=typeof e;return!e||"object"!==t&&"function"!==t?-1:e===p.gm?0:(0,D.I)(e,U,(function(){return K++}))}function G(e){if("string"==typeof e&&e.length)return e.length;if("object"==typeof e){if("undefined"!=typeof ArrayBuffer&&e instanceof ArrayBuffer&&e.byteLength)return e.byteLength;if("undefined"!=typeof Blob&&e instanceof Blob&&e.size)return e.size;if(!("undefined"!=typeof FormData&&e instanceof FormData))try{return(0,P.A)(e).length}catch(e){return}}}var F=i(8139),B=i(7836),W=i(3434);const z={},q=["open","send"];function Z(t){var r=t||B.ee;const n=function(e){return(e||B.ee).get("xhr")}(r);if(void 0===p.gm.XMLHttpRequest)return n;if(z[n.debugId]++)return n;z[n.debugId]=1,(0,F.u)(r);var i=(0,W.YM)(n),o=p.gm.XMLHttpRequest,a=p.gm.MutationObserver,s=p.gm.Promise,c=p.gm.setInterval,u="readystatechange",d=["onload","onerror","onabort","onloadstart","onloadend","onprogress","ontimeout"],l=[],f=p.gm.XMLHttpRequest=function(t){const r=new o(t),a=n.context(r);try{n.emit("new-xhr",[r],a),r.addEventListener(u,(s=a,function(){var e=this;e.readyState>3&&!s.resolved&&(s.resolved=!0,n.emit("xhr-resolved",[],e)),i.inPlace(e,d,"fn-",y)}),(0,T.jT)(!1))}catch(t){(0,e.R)(15,t);try{n.emit("internal-error",[t])}catch(e){}}var s;return r};function h(e,t){i.inPlace(t,["onreadystatechange"],"fn-",y)}if(function(e,t){for(var r in e)t[r]=e[r]}(o,f),f.prototype=o.prototype,i.inPlace(f.prototype,q,"-xhr-",y),n.on("send-xhr-start",(function(e,t){h(e,t),function(e){l.push(e),a&&(g?g.then(b):c?c(b):(m=-m,v.data=m))}(t)})),n.on("open-xhr-start",h),a){var g=s&&s.resolve();if(!c&&!s){var m=1,v=document.createTextNode(m);new a(b).observe(v,{characterData:!0})}}else r.on("fn-end",(function(e){e[0]&&e[0].type===u||b()}));function b(){for(var e=0;e<l.length;e++)h(0,l[e]);l.length&&(l=[])}function y(e,t){return t}return n}var Y="fetch-",X=Y+"body-",J=["arrayBuffer","blob","json","text","formData"],Q=p.gm.Request,ee=p.gm.Response,te="prototype";const re={};function ne(e){const t=function(e){return(e||B.ee).get("fetch")}(e);if(!(Q&&ee&&p.gm.fetch))return t;if(re[t.debugId]++)return t;function r(e,r,n){var i=e[r];"function"==typeof i&&(e[r]=function(){var e,r=[...arguments],o={};t.emit(n+"before-start",[r],o),o[B.P]&&o[B.P].dt&&(e=o[B.P].dt);var a=i.apply(this,r);return t.emit(n+"start",[r,e],a),a.then((function(e){return t.emit(n+"end",[null,e],a),e}),(function(e){throw t.emit(n+"end",[e],a),e}))})}return re[t.debugId]=1,J.forEach((e=>{r(Q[te],e,X),r(ee[te],e,X)})),r(p.gm,"fetch",Y),t.on(Y+"end",(function(e,r){var n=this;if(r){var i=r.headers.get("content-length");null!==i&&(n.rxSize=i),t.emit(Y+"done",[null,r],n)}else t.emit(Y+"done",[e],n)})),t}var ie=i(7485),oe=i(5603);class ae{constructor(e){this.agentIdentifier=e}generateTracePayload(e){if(!this.shouldGenerateTrace(e))return null;var t=(0,oe.o)(this.agentIdentifier);if(!t)return null;var n=(t.accountID||"").toString()||null,i=(t.agentID||"").toString()||null,o=(t.trustKey||"").toString()||null;if(!n||!i)return null;var a=(0,r.ZF)(),s=(0,r.el)(),c=Date.now(),u={spanId:a,traceId:s,timestamp:c};return(e.sameOrigin||this.isAllowedOrigin(e)&&this.useTraceContextHeadersForCors())&&(u.traceContextParentHeader=this.generateTraceContextParentHeader(a,s),u.traceContextStateHeader=this.generateTraceContextStateHeader(a,c,n,i,o)),(e.sameOrigin&&!this.excludeNewrelicHeader()||!e.sameOrigin&&this.isAllowedOrigin(e)&&this.useNewrelicHeaderForCors())&&(u.newrelicHeader=this.generateTraceHeader(a,s,c,n,i,o)),u}generateTraceContextParentHeader(e,t){return"00-"+t+"-"+e+"-01"}generateTraceContextStateHeader(e,t,r,n,i){return i+"@nr=0-1-"+r+"-"+n+"-"+e+"----"+t}generateTraceHeader(e,t,r,n,i,o){if(!("function"==typeof p.gm?.btoa))return null;var a={v:[0,1],d:{ty:"Browser",ac:n,ap:i,id:e,tr:t,ti:r}};return o&&n!==o&&(a.d.tk=o),btoa((0,P.A)(a))}shouldGenerateTrace(e){return this.isDtEnabled()&&this.isAllowedOrigin(e)}isAllowedOrigin(e){var t=!1,r={};if((0,s.gD)(this.agentIdentifier,"distributed_tracing")&&(r=(0,s.D0)(this.agentIdentifier).distributed_tracing),e.sameOrigin)t=!0;else if(r.allowed_origins instanceof Array)for(var n=0;n<r.allowed_origins.length;n++){var i=(0,ie.D)(r.allowed_origins[n]);if(e.hostname===i.hostname&&e.protocol===i.protocol&&e.port===i.port){t=!0;break}}return t}isDtEnabled(){var e=(0,s.gD)(this.agentIdentifier,"distributed_tracing");return!!e&&!!e.enabled}excludeNewrelicHeader(){var e=(0,s.gD)(this.agentIdentifier,"distributed_tracing");return!!e&&!!e.exclude_newrelic_header}useNewrelicHeaderForCors(){var e=(0,s.gD)(this.agentIdentifier,"distributed_tracing");return!!e&&!1!==e.cors_use_newrelic_header}useTraceContextHeadersForCors(){var e=(0,s.gD)(this.agentIdentifier,"distributed_tracing");return!!e&&!!e.cors_use_tracecontext_headers}}var se=i(9300),ce=i(7295),ue=["load","error","abort","timeout"],de=ue.length,le=(0,R.dV)().o.REQ,fe=(0,R.dV)().o.XHR;class he extends b{static featureName=se.T;constructor(e,t=!0){super(e,se.T,t),this.dt=new ae(e.agentIdentifier),this.handler=(e,t,r,n)=>(0,x.p)(e,t,r,n,this.ee);try{const e={xmlhttprequest:"xhr",fetch:"fetch",beacon:"beacon"};p.gm?.performance?.getEntriesByType("resource").forEach((t=>{if(t.initiatorType in e&&0!==t.responseStatus){const r={status:t.responseStatus},n={rxSize:t.transferSize,duration:Math.floor(t.duration),cbTime:0};pe(r,t.name),this.handler("xhr",[r,n,t.startTime,t.responseEnd,e[t.initiatorType]],void 0,a.K7.ajax)}}))}catch(e){}ne(this.ee),Z(this.ee),function(e,t,r,n){function i(e){var t=this;t.totalCbs=0,t.called=0,t.cbTime=0,t.end=R,t.ended=!1,t.xhrGuids={},t.lastSize=null,t.loadCaptureCalled=!1,t.params=this.params||{},t.metrics=this.metrics||{},e.addEventListener("load",(function(r){E(t,e)}),(0,T.jT)(!1)),p.lR||e.addEventListener("progress",(function(e){t.lastSize=e.loaded}),(0,T.jT)(!1))}function o(e){this.params={method:e[0]},pe(this,e[1]),this.metrics={}}function s(t,r){e.loader_config.xpid&&this.sameOrigin&&r.setRequestHeader("X-NewRelic-ID",e.loader_config.xpid);var i=n.generateTracePayload(this.parsedOrigin);if(i){var o=!1;i.newrelicHeader&&(r.setRequestHeader("newrelic",i.newrelicHeader),o=!0),i.traceContextParentHeader&&(r.setRequestHeader("traceparent",i.traceContextParentHeader),i.traceContextStateHeader&&r.setRequestHeader("tracestate",i.traceContextStateHeader),o=!0),o&&(this.dt=i)}}function c(e,r){var n=this.metrics,i=e[0],o=this;if(n&&i){var a=G(i);a&&(n.txSize=a)}this.startTime=(0,S.t)(),this.body=i,this.listener=function(e){try{"abort"!==e.type||o.loadCaptureCalled||(o.params.aborted=!0),("load"!==e.type||o.called===o.totalCbs&&(o.onloadCalled||"function"!=typeof r.onload)&&"function"==typeof o.end)&&o.end(r)}catch(e){try{t.emit("internal-error",[e])}catch(e){}}};for(var s=0;s<de;s++)r.addEventListener(ue[s],this.listener,(0,T.jT)(!1))}function u(e,t,r){this.cbTime+=e,t?this.onloadCalled=!0:this.called+=1,this.called!==this.totalCbs||!this.onloadCalled&&"function"==typeof r.onload||"function"!=typeof this.end||this.end(r)}function d(e,t){var r=""+V(e)+!!t;this.xhrGuids&&!this.xhrGuids[r]&&(this.xhrGuids[r]=!0,this.totalCbs+=1)}function l(e,t){var r=""+V(e)+!!t;this.xhrGuids&&this.xhrGuids[r]&&(delete this.xhrGuids[r],this.totalCbs-=1)}function f(){this.endTime=(0,S.t)()}function h(e,r){r instanceof fe&&"load"===e[0]&&t.emit("xhr-load-added",[e[1],e[2]],r)}function g(e,r){r instanceof fe&&"load"===e[0]&&t.emit("xhr-load-removed",[e[1],e[2]],r)}function m(e,t,r){t instanceof fe&&("onload"===r&&(this.onload=!0),("load"===(e[0]&&e[0].type)||this.onload)&&(this.xhrCbStart=(0,S.t)()))}function v(e,r){this.xhrCbStart&&t.emit("xhr-cb-time",[(0,S.t)()-this.xhrCbStart,this.onload,r],r)}function b(e){var t,r=e[1]||{};if("string"==typeof e[0]?0===(t=e[0]).length&&p.RI&&(t=""+p.gm.location.href):e[0]&&e[0].url?t=e[0].url:p.gm?.URL&&e[0]&&e[0]instanceof URL?t=e[0].href:"function"==typeof e[0].toString&&(t=e[0].toString()),"string"==typeof t&&0!==t.length){t&&(this.parsedOrigin=(0,ie.D)(t),this.sameOrigin=this.parsedOrigin.sameOrigin);var i=n.generateTracePayload(this.parsedOrigin);if(i&&(i.newrelicHeader||i.traceContextParentHeader))if(e[0]&&e[0].headers)s(e[0].headers,i)&&(this.dt=i);else{var o={};for(var a in r)o[a]=r[a];o.headers=new Headers(r.headers||{}),s(o.headers,i)&&(this.dt=i),e.length>1?e[1]=o:e.push(o)}}function s(e,t){var r=!1;return t.newrelicHeader&&(e.set("newrelic",t.newrelicHeader),r=!0),t.traceContextParentHeader&&(e.set("traceparent",t.traceContextParentHeader),t.traceContextStateHeader&&e.set("tracestate",t.traceContextStateHeader),r=!0),r}}function y(e,t){this.params={},this.metrics={},this.startTime=(0,S.t)(),this.dt=t,e.length>=1&&(this.target=e[0]),e.length>=2&&(this.opts=e[1]);var r,n=this.opts||{},i=this.target;"string"==typeof i?r=i:"object"==typeof i&&i instanceof le?r=i.url:p.gm?.URL&&"object"==typeof i&&i instanceof URL&&(r=i.href),pe(this,r);var o=(""+(i&&i instanceof le&&i.method||n.method||"GET")).toUpperCase();this.params.method=o,this.body=n.body,this.txSize=G(n.body)||0}function w(e,t){if(this.endTime=(0,S.t)(),this.params||(this.params={}),(0,ce.iW)(this.params))return;let n;this.params.status=t?t.status:0,"string"==typeof this.rxSize&&this.rxSize.length>0&&(n=+this.rxSize);const i={txSize:this.txSize,rxSize:n,duration:(0,S.t)()-this.startTime};r("xhr",[this.params,i,this.startTime,this.endTime,"fetch"],this,a.K7.ajax)}function R(e){const t=this.params,n=this.metrics;if(!this.ended){this.ended=!0;for(let t=0;t<de;t++)e.removeEventListener(ue[t],this.listener,!1);t.aborted||(0,ce.iW)(t)||(n.duration=(0,S.t)()-this.startTime,this.loadCaptureCalled||4!==e.readyState?null==t.status&&(t.status=0):E(this,e),n.cbTime=this.cbTime,r("xhr",[t,n,this.startTime,this.endTime,"xhr"],this,a.K7.ajax))}}function E(e,r){e.params.status=r.status;var n=function(e,t){var r=e.responseType;return"json"===r&&null!==t?t:"arraybuffer"===r||"blob"===r||"json"===r?G(e.response):"text"===r||""===r||void 0===r?G(e.responseText):void 0}(r,e.lastSize);if(n&&(e.metrics.rxSize=n),e.sameOrigin){var i=r.getResponseHeader("X-NewRelic-App-Data");i&&((0,x.p)(_.rs,["Ajax/CrossApplicationTracing/Header/Seen"],void 0,a.K7.metrics,t),e.params.cat=i.split(", ").pop())}e.loadCaptureCalled=!0}t.on("new-xhr",i),t.on("open-xhr-start",o),t.on("open-xhr-end",s),t.on("send-xhr-start",c),t.on("xhr-cb-time",u),t.on("xhr-load-added",d),t.on("xhr-load-removed",l),t.on("xhr-resolved",f),t.on("addEventListener-end",h),t.on("removeEventListener-end",g),t.on("fn-end",v),t.on("fetch-before-start",b),t.on("fetch-start",y),t.on("fn-start",m),t.on("fetch-done",w)}(e,this.ee,this.handler,this.dt),this.importAggregator(e)}}function pe(e,t){var r=(0,ie.D)(t),n=e.params||e;n.hostname=r.hostname,n.port=r.port,n.protocol=r.protocol,n.host=r.hostname+":"+r.port,n.pathname=r.pathname,e.parsedOrigin=r,e.sameOrigin=r.sameOrigin}const ge={},me=["pushState","replaceState"];function ve(e){const t=function(e){return(e||B.ee).get("history")}(e);return!p.RI||ge[t.debugId]++||(ge[t.debugId]=1,(0,W.YM)(t).inPlace(window.history,me,"-")),t}var be=i(3738);const{He:ye,bD:we,d3:Re,Kp:xe,TZ:Ee,Lc:Te,uP:Ae,Rz:Se}=be;class Ne extends b{static featureName=Ee;constructor(e,t=!0){super(e,Ee,t);if(!(0,m.V)(this.agentIdentifier))return void this.deregisterDrain();const r=this.ee;let n;ve(r),this.eventsEE=(0,F.u)(r),this.eventsEE.on(Ae,(function(e,t){this.bstStart=(0,S.t)()})),this.eventsEE.on(Te,(function(e,t){(0,x.p)("bst",[e[0],t,this.bstStart,(0,S.t)()],void 0,a.K7.sessionTrace,r)})),r.on(Se+Re,(function(e){this.time=(0,S.t)(),this.startPath=location.pathname+location.hash})),r.on(Se+xe,(function(e){(0,x.p)("bstHist",[location.pathname+location.hash,this.startPath,this.time],void 0,a.K7.sessionTrace,r)}));try{n=new PerformanceObserver((e=>{const t=e.getEntries();(0,x.p)(ye,[t],void 0,a.K7.sessionTrace,r)})),n.observe({type:we,buffered:!0})}catch(e){}this.importAggregator(e,{resourceObserver:n})}}var _e=i(2614);class Oe extends b{static featureName=t.TZ;#i;#o;constructor(e,r=!0){let n;super(e,t.TZ,r),this.replayRunning=!1,this.#o=e;try{n=JSON.parse(localStorage.getItem("".concat(_e.H3,"_").concat(_e.uh)))}catch(e){}(0,g.SR)(e.agentIdentifier)&&this.ee.on(t.G4.RECORD,(()=>this.#a())),this.#s(n)?(this.#i=n?.sessionReplayMode,this.#c()):this.importAggregator(e),this.ee.on("err",(e=>{this.replayRunning&&(this.errorNoticed=!0,(0,x.p)(t.G4.ERROR_DURING_REPLAY,[e],void 0,this.featureName,this.ee))})),this.ee.on(t.G4.REPLAY_RUNNING,(e=>{this.replayRunning=e}))}#s(e){return e&&(e.sessionReplayMode===_e.g.FULL||e.sessionReplayMode===_e.g.ERROR)||(0,g.Aw)(this.agentIdentifier)}#u=!1;async#c(e){if(!this.#u){this.#u=!0;try{const{Recorder:t}=await Promise.all([i.e(478),i.e(249)]).then(i.bind(i,8589));this.recorder??=new t({mode:this.#i,agentIdentifier:this.agentIdentifier,trigger:e,ee:this.ee,agentRef:this.#o}),this.recorder.startRecording(),this.abortHandler=this.recorder.stopRecording}catch(e){}this.importAggregator(this.#o,{recorder:this.recorder,errorNoticed:this.errorNoticed})}}#a(){this.featAggregate?this.featAggregate.mode!==_e.g.FULL&&this.featAggregate.initializeRecording(_e.g.FULL,!0):(this.#i=_e.g.FULL,this.#c(t.Qb.API),this.recorder&&this.recorder.parent.mode!==_e.g.FULL&&(this.recorder.parent.mode=_e.g.FULL,this.recorder.stopRecording(),this.recorder.startRecording(),this.abortHandler=this.recorder.stopRecording))}}var Ie=i(3962);class Pe extends b{static featureName=Ie.TZ;constructor(e,t=!0){if(super(e,Ie.TZ,t),!p.RI||!(0,R.dV)().o.MO)return;const r=ve(this.ee);Ie.tC.forEach((e=>{(0,T.sp)(e,(e=>{a(e)}),!0)}));const n=()=>(0,x.p)("newURL",[(0,S.t)(),""+window.location],void 0,this.featureName,this.ee);r.on("pushState-end",n),r.on("replaceState-end",n);try{this.removeOnAbort=new AbortController}catch(e){}(0,T.sp)("popstate",(e=>(0,x.p)("newURL",[e.timeStamp,""+window.location],void 0,this.featureName,this.ee)),!0,this.removeOnAbort?.signal);let i=!1;const o=new((0,R.dV)().o.MO)(((e,t)=>{i||(i=!0,requestAnimationFrame((()=>{(0,x.p)("newDom",[(0,S.t)()],void 0,this.featureName,this.ee),i=!1})))})),a=(0,v.s)((e=>{(0,x.p)("newUIEvent",[e],void 0,this.featureName,this.ee),o.observe(document.body,{attributes:!0,childList:!0,subtree:!0,characterData:!0})}),100,{leading:!0});this.abortHandler=function(){this.removeOnAbort?.abort(),o.disconnect(),this.abortHandler=void 0},this.importAggregator(e,{domObserver:o})}}var je=i(7378);const Ce={},ke=["appendChild","insertBefore","replaceChild"];function Le(e){const t=function(e){return(e||B.ee).get("jsonp")}(e);if(!p.RI||Ce[t.debugId])return t;Ce[t.debugId]=!0;var r=(0,W.YM)(t),n=/[?&](?:callback|cb)=([^&#]+)/,i=/(.*)\.([^.]+)/,o=/^(\w+)(\.|$)(.*)$/;function a(e,t){if(!e)return t;const r=e.match(o),n=r[1];return a(r[3],t[n])}return r.inPlace(Node.prototype,ke,"dom-"),t.on("dom-start",(function(e){!function(e){if(!e||"string"!=typeof e.nodeName||"script"!==e.nodeName.toLowerCase())return;if("function"!=typeof e.addEventListener)return;var o=(s=e.src,c=s.match(n),c?c[1]:null);var s,c;if(!o)return;var u=function(e){var t=e.match(i);if(t&&t.length>=3)return{key:t[2],parent:a(t[1],window)};return{key:e,parent:window}}(o);if("function"!=typeof u.parent[u.key])return;var d={};function l(){t.emit("jsonp-end",[],d),e.removeEventListener("load",l,(0,T.jT)(!1)),e.removeEventListener("error",f,(0,T.jT)(!1))}function f(){t.emit("jsonp-error",[],d),t.emit("jsonp-end",[],d),e.removeEventListener("load",l,(0,T.jT)(!1)),e.removeEventListener("error",f,(0,T.jT)(!1))}r.inPlace(u.parent,[u.key],"cb-",d),e.addEventListener("load",l,(0,T.jT)(!1)),e.addEventListener("error",f,(0,T.jT)(!1)),t.emit("new-jsonp",[e.src],d)}(e[0])})),t}const He={};function Me(e){const t=function(e){return(e||B.ee).get("promise")}(e);if(He[t.debugId])return t;He[t.debugId]=!0;var r=t.context,n=(0,W.YM)(t),i=p.gm.Promise;return i&&function(){function e(r){var o=t.context(),a=n(r,"executor-",o,null,!1);const s=Reflect.construct(i,[a],e);return t.context(s).getCtx=function(){return o},s}p.gm.Promise=e,Object.defineProperty(e,"name",{value:"Promise"}),e.toString=function(){return i.toString()},Object.setPrototypeOf(e,i),["all","race"].forEach((function(r){const n=i[r];e[r]=function(e){let i=!1;[...e||[]].forEach((e=>{this.resolve(e).then(a("all"===r),a(!1))}));const o=n.apply(this,arguments);return o;function a(e){return function(){t.emit("propagate",[null,!i],o,!1,!1),i=i||!e}}}})),["resolve","reject"].forEach((function(r){const n=i[r];e[r]=function(e){const r=n.apply(this,arguments);return e!==r&&t.emit("propagate",[e,!0],r,!1,!1),r}})),e.prototype=i.prototype;const o=i.prototype.then;i.prototype.then=function(...e){var i=this,a=r(i);a.promise=i,e[0]=n(e[0],"cb-",a,null,!1),e[1]=n(e[1],"cb-",a,null,!1);const s=o.apply(this,e);return a.nextPromise=s,t.emit("propagate",[i,!0],s,!1,!1),s},i.prototype.then[W.Jt]=o,t.on("executor-start",(function(e){e[0]=n(e[0],"resolve-",this,null,!1),e[1]=n(e[1],"resolve-",this,null,!1)})),t.on("executor-err",(function(e,t,r){e[1](r)})),t.on("cb-end",(function(e,r,n){t.emit("propagate",[n,!0],this.nextPromise,!1,!1)})),t.on("propagate",(function(e,r,n){this.getCtx&&!r||(this.getCtx=function(){if(e instanceof Promise)var r=t.context(e);return r&&r.getCtx?r.getCtx():this})}))}(),t}const De={},Ke="setTimeout",Ue="setInterval",Ve="clearTimeout",Ge="-start",Fe=[Ke,"setImmediate",Ue,Ve,"clearImmediate"];function Be(e){const t=function(e){return(e||B.ee).get("timer")}(e);if(De[t.debugId]++)return t;De[t.debugId]=1;var r=(0,W.YM)(t);return r.inPlace(p.gm,Fe.slice(0,2),Ke+"-"),r.inPlace(p.gm,Fe.slice(2,3),Ue+"-"),r.inPlace(p.gm,Fe.slice(3),Ve+"-"),t.on(Ue+Ge,(function(e,t,n){e[0]=r(e[0],"fn-",null,n)})),t.on(Ke+Ge,(function(e,t,n){this.method=n,this.timerDuration=isNaN(e[1])?0:+e[1],e[0]=r(e[0],"fn-",this,n)})),t}const We={};function ze(e){const t=function(e){return(e||B.ee).get("mutation")}(e);if(!p.RI||We[t.debugId])return t;We[t.debugId]=!0;var r=(0,W.YM)(t),n=p.gm.MutationObserver;return n&&(window.MutationObserver=function(e){return this instanceof n?new n(r(e,"fn-")):n.apply(this,arguments)},MutationObserver.prototype=n.prototype),t}const{TZ:qe,d3:Ze,Kp:Ye,$p:Xe,wW:$e,e5:Je,tH:Qe,uP:et,rw:tt,Lc:rt}=je;class nt extends b{static featureName=qe;constructor(e,t=!0){if(super(e,qe,t),!p.RI)return;try{this.removeOnAbort=new AbortController}catch(e){}let r,n=0;const i=this.ee.get("tracer"),o=Le(this.ee),a=Me(this.ee),s=Be(this.ee),c=Z(this.ee),u=this.ee.get("events"),d=ne(this.ee),l=ve(this.ee),f=ze(this.ee);function h(e,t){l.emit("newURL",[""+window.location,t])}function g(){n++,r=window.location.hash,this[et]=(0,S.t)()}function m(){n--,window.location.hash!==r&&h(0,!0);var e=(0,S.t)();this[Je]=~~this[Je]+e-this[et],this[rt]=e}function v(e,t){e.on(t,(function(){this[t]=(0,S.t)()}))}this.ee.on(et,g),a.on(tt,g),o.on(tt,g),this.ee.on(rt,m),a.on($e,m),o.on($e,m),this.ee.on("fn-err",((...t)=>{t[2]?.__newrelic?.[e.agentIdentifier]||(0,x.p)("function-err",[...t],void 0,this.featureName,this.ee)})),this.ee.buffer([et,rt,"xhr-resolved"],this.featureName),u.buffer([et],this.featureName),s.buffer(["setTimeout"+Ye,"clearTimeout"+Ze,et],this.featureName),c.buffer([et,"new-xhr","send-xhr"+Ze],this.featureName),d.buffer([Qe+Ze,Qe+"-done",Qe+Xe+Ze,Qe+Xe+Ye],this.featureName),l.buffer(["newURL"],this.featureName),f.buffer([et],this.featureName),a.buffer(["propagate",tt,$e,"executor-err","resolve"+Ze],this.featureName),i.buffer([et,"no-"+et],this.featureName),o.buffer(["new-jsonp","cb-start","jsonp-error","jsonp-end"],this.featureName),v(d,Qe+Ze),v(d,Qe+"-done"),v(o,"new-jsonp"),v(o,"jsonp-end"),v(o,"cb-start"),l.on("pushState-end",h),l.on("replaceState-end",h),window.addEventListener("hashchange",h,(0,T.jT)(!0,this.removeOnAbort?.signal)),window.addEventListener("load",h,(0,T.jT)(!0,this.removeOnAbort?.signal)),window.addEventListener("popstate",(function(){h(0,n>1)}),(0,T.jT)(!0,this.removeOnAbort?.signal)),this.abortHandler=this.#n,this.importAggregator(e)}#n(){this.removeOnAbort?.abort(),this.abortHandler=void 0}}var it=i(3333);class ot extends b{static featureName=it.TZ;constructor(e,t=!0){super(e,it.TZ,t);const r=[e.init.page_action.enabled,e.init.performance.capture_marks,e.init.performance.capture_measures,e.init.user_actions.enabled,e.init.performance.resources.enabled];if(p.RI&&(e.init.user_actions.enabled&&(it.Zp.forEach((e=>(0,T.sp)(e,(e=>(0,x.p)("ua",[e],void 0,this.featureName,this.ee)),!0))),it.qN.forEach((e=>{const t=(0,v.s)((e=>{(0,x.p)("ua",[e],void 0,this.featureName,this.ee)}),500,{leading:!0});(0,T.sp)(e,t)}))),e.init.performance.resources.enabled&&p.gm.PerformanceObserver?.supportedEntryTypes.includes("resource"))){new PerformanceObserver((e=>{e.getEntries().forEach((e=>{(0,x.p)("browserPerformance.resource",[e],void 0,this.featureName,this.ee)}))})).observe({type:"resource",buffered:!0})}r.some((e=>e))?this.importAggregator(e):this.deregisterDrain()}}var at=i(993),st=i(3785);class ct extends b{static featureName=at.TZ;constructor(e,t=!0){super(e,at.TZ,t);const r=this.ee;this.ee.on("wrap-logger-end",(function([e]){const{level:t,customAttributes:n}=this;(0,st.R)(r,e,n,t)})),this.importAggregator(e)}}new class extends o{constructor(t){super(),p.gm?(this.features={},(0,R.bQ)(this.agentIdentifier,this),this.desiredFeatures=new Set(t.features||[]),this.desiredFeatures.add(w),this.runSoftNavOverSpa=[...this.desiredFeatures].some((e=>e.featureName===a.K7.softNav)),(0,d.j)(this,t,t.loaderType||"agent"),this.run()):(0,e.R)(21)}get config(){return{info:this.info,init:this.init,loader_config:this.loader_config,runtime:this.runtime}}run(){try{const t=u(this.agentIdentifier),r=[...this.desiredFeatures];r.sort(((e,t)=>a.P3[e.featureName]-a.P3[t.featureName])),r.forEach((r=>{if(!t[r.featureName]&&r.featureName!==a.K7.pageViewEvent)return;if(this.runSoftNavOverSpa&&r.featureName===a.K7.spa)return;if(!this.runSoftNavOverSpa&&r.featureName===a.K7.softNav)return;const n=function(e){switch(e){case a.K7.ajax:return[a.K7.jserrors];case a.K7.sessionTrace:return[a.K7.ajax,a.K7.pageViewEvent];case a.K7.sessionReplay:return[a.K7.sessionTrace];case a.K7.pageViewTiming:return[a.K7.pageViewEvent];default:return[]}}(r.featureName).filter((e=>!(e in this.features)));n.length>0&&(0,e.R)(36,{targetFeature:r.featureName,missingDependencies:n}),this.features[r.featureName]=new r(this)}))}catch(t){(0,e.R)(22,t);for(const e in this.features)this.features[e].abortHandler?.();const r=(0,R.Zm)();delete r.initializedAgents[this.agentIdentifier]?.api,delete r.initializedAgents[this.agentIdentifier]?.features,delete this.sharedAggregator;return r.ee.get(this.agentIdentifier).abort(),!1}}}({features:[he,w,N,Ne,Oe,O,M,ot,ct,Pe,nt],loaderType:"spa"})})()})();</script> <meta name="viewport" content="width=device-width, initial-scale=1"> <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" /> <meta name="yandex-verification" content="c2997c66da02b9ac" /> <title>School of Public Health | University of California, Berkeley</title> <style>img:is([sizes="auto" i], [sizes^="auto," i]) { contain-intrinsic-size: 3000px 1500px }</style> <meta name="robots" content="max-snippet:-1,max-image-preview:large,max-video-preview:-1" /> <link rel="canonical" href="https://publichealth.berkeley.edu/" /> <meta name="description" content="More than 75 years of transformational research and hands&#x2d;on social impact for a better world." /> <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="UC Berkeley Public Health" /> <meta property="og:title" content="School of Public Health | University of California, Berkeley" /> <meta property="og:description" content="More than 75 years of transformational research and hands&#x2d;on social impact for a better world." /> <meta property="og:url" content="https://publichealth.berkeley.edu/" /> <meta property="og:image" content="https://publichealth.berkeley.edu/app/uploads/BPH_Giving.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="School of Public Health | University of California, Berkeley" /> <meta name="twitter:description" content="More than 75 years of transformational research and hands&#x2d;on social impact for a better world." /> <meta name="twitter:image" content="https://publichealth.berkeley.edu/app/uploads/BPH_Giving.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":"UC Berkeley Public Health","alternateName":"UC Berkeley School of Public Health","description":"More than 75 years of transformational research and hands&#x2d;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":{"@id":"https://publichealth.berkeley.edu/#/schema/Organization"}},{"@type":"WebPage","@id":"https://publichealth.berkeley.edu/","url":"https://publichealth.berkeley.edu/","name":"School of Public Health | University of California, Berkeley","description":"More than 75 years of transformational research and hands&#x2d;on social impact for a better world.","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,"name":"UC Berkeley Public Health"}},"potentialAction":{"@type":"ReadAction","target":"https://publichealth.berkeley.edu/"},"about":{"@id":"https://publichealth.berkeley.edu/#/schema/Organization"}},{"@type":"Organization","@id":"https://publichealth.berkeley.edu/#/schema/Organization","name":"UC Berkeley School of Public Health","url":"https://publichealth.berkeley.edu/","sameAs":["https://www.facebook.com/UCBerkeleySPH/","https://twitter.com/UCBerkeleySPH","https://www.instagram.com/berkeleypublichealth/","https://www.youtube.com/user/BerkeleyHealthOnline","https://www.linkedin.com/company/uc-berkeley-school-of-public-health"],"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"}}]}</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.7.2"}}; /*! 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'> :root{--wp--preset--aspect-ratio--square: 1;--wp--preset--aspect-ratio--4-3: 4/3;--wp--preset--aspect-ratio--3-4: 3/4;--wp--preset--aspect-ratio--3-2: 3/2;--wp--preset--aspect-ratio--2-3: 2/3;--wp--preset--aspect-ratio--16-9: 16/9;--wp--preset--aspect-ratio--9-16: 9/16;--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;}.is-layout-flex{flex-wrap: wrap;align-items: center;}.is-layout-flex > :is(*, div){margin: 0;}body .is-layout-grid{display: grid;}.is-layout-grid > :is(*, div){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;} :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;} :root :where(.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=1739497060645' 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=1739497060645" id="app-js"></script> <link rel="https://api.w.org/" href="https://publichealth.berkeley.edu/wp-json/" /><link rel="alternate" title="JSON" type="application/json" href="https://publichealth.berkeley.edu/wp-json/wp/v2/pages/7" /><link rel="EditURI" type="application/rsd+xml" title="RSD" href="https://publichealth.berkeley.edu/wp/xmlrpc.php?rsd" /> <link rel="alternate" title="oEmbed (JSON)" type="application/json+oembed" href="https://publichealth.berkeley.edu/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fpublichealth.berkeley.edu%2F" /> <link rel="alternate" title="oEmbed (XML)" type="text/xml+oembed" href="https://publichealth.berkeley.edu/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fpublichealth.berkeley.edu%2F&#038;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="home page-template-default page page-id-7" > <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"> <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> </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" >Online Master of Public Health</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-margin-remove-top" uk-drop=" animation: reveal-top; animate-out: true; bg-scroll: true; duration: 100; mode: click; stretch: x; 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&nbsp;</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-hidden@s uk-margin-medium-bottom"> <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 class="uk-child-width-1-1 uk-child-width-1-3@m uk-flex uk-grid-large" uk-grid> <div class="uk-margin-remove-top"> <h2 class="uk-nav-header bph-nav-header" id="menu-label-academics">Academics</h2> <hr role="presentation"> <ul aria-labelledby="menu-label-academics" class="uk-nav-primary uk-margin-remove-top uk-margin-medium-bottom" uk-nav> <!-- <li class="uk-hidden@m"><a id="bphRequestModalFull" href="#">Request Program Information</a></li> --> <li><a href="https://publichealth.berkeley.edu/academics/programs">All Degrees & Programs</a></li> <li><a href="https://publichealth.berkeley.edu/academics/online">Online MPH</a></li> <li><a href="https://publichealth.berkeley.edu/academics/undergraduate">Undergraduate</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/admissions">Admissions</a></li> </ul> </div> <div class="uk-margin-remove-top"> <h2 class="uk-nav-header bph-nav-header" id="menu-label-research">Research and Practice</h2> <hr role="presentation"> <ul aria-labelledby="menu-label-research" class="uk-nav-primary uk-margin-remove-top uk-margin-medium-bottom" uk-nav> <li><a href="https://publichealth.berkeley.edu/research">Research</a></li> <li><a href="https://publichealth.berkeley.edu/people">Faculty</a></li> <li><a href="https://publichealth.berkeley.edu/research/social-impact">Social Impact</a></li> </ul> <h2 class="uk-nav-header bph-nav-header" id="menu-label-about">About</h2> <hr role="presentation"> <ul aria-labelledby="menu-label-about" class="uk-nav-primary uk-margin-remove-top uk-margin-medium-bottom" uk-nav> <li><a href="https://publichealth.berkeley.edu/about">About UCBPH</a></li> <li><a href="https://publichealth.berkeley.edu/about/leadership">Leadership</a></li> <li><a href="https://publichealth.berkeley.edu/giving">Support UCBPH</a></li> </ul> </div> <div class="uk-margin-remove-top"> <h2 class="uk-nav-header bph-nav-header" id="menu-label-community">Community</h2> <hr role="presentation"> <ul aria-labelledby="menu-label-community" class="uk-nav-primary uk-margin-remove-top uk-margin-medium-bottom" uk-nav> <li><a href="https://publichealth.berkeley.edu/students">Student Life</a></li> <li><a href="https://publichealth.berkeley.edu/students/rise">Career and Leadership Development</a></li> <li><a href="https://publichealth.berkeley.edu/students/dream">Diversity and Inclusion</a></li> <li><a href="https://publichealth.berkeley.edu/alumni">Alumni</a></li> </ul> <h2 class="uk-nav-header bph-nav-header" id="menu-label-spotlight">Spotlight</h2> <hr role="presentation"> <ul aria-labelledby="menu-label-spotlight" class="uk-nav-primary uk-margin-remove-top uk-margin-medium-bottom" uk-nav> <li><a href="https://publichealth.berkeley.edu/news">News & Media</a></li> <li><a href="https://publichealth.berkeley.edu/events">Events</a></li> </ul> </div> </div> </div> </div> </div> </li> </ul> </div> </div> </div> </nav> </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-9182" uk-scrollspy="cls: uk-animation-fade; target: .bph-block-section-scrollspy-target"style="background-image: url(https://publichealth.berkeley.edu/app/uploads/BPH_About.jpg); background-size: cover; background-position: center center;"> <div class="bph-background-spectrum-rainbow uk-padding-large uk-padding-remove-horizontal" ><!-- 1 --> <div class="uk-padding-large uk-padding-remove-horizontal"><!-- 2 optional extra padding--> <div class="uk-container uk-container-large"><!-- outer container --> <div class=""> <div class="uk-container"> <div class="uk-flex-bottom" uk-grid> <div class="uk-width-3-5@l"> <div class="bph-hero-content-padding"> <h1 class=" uk-heading-medium uk-margin-remove-bottom bph-text-weight-800" >Health Equity and Social Justice for All</h1> <div class=" bph-hero-subheading uk-text-lead uk-margin-medium-top uk-margin-remove-bottom" ><p>More than 75 years of transformational research and hands-on social impact for a better world.</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 uk-margin-large-top uk-section-default uk-padding-remove-vertical " id="bphBlockTile-4323" uk-scrollspy="cls: uk-animation-fade; target: .bph-block-section-scrollspy-target"> <div class="bph-block-section-scrollspy-target"> <div class=" bphAnchorDefaultId-6570 uk-container" id="bphAnchorDefaultId-6570" > <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">At Berkeley Public Health we are:</h2> <div class="uk-child-width-1-2@s uk-child-width-1-3@m 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"> <h3 class=" bph-text-serif uk-margin-remove-bottom uk-link-heading uk-text-default "> Innovators </h3> </div> </div> </div> <div class="uk-margin-top uk-margin-top "> We innovate solutions to the most pressing public health threats of our time: climate change, pandemic threats, chronic diseases, and social inequity. </div> </div> <div> <div class="bph-tile-match-link uk-margin-top"> <a class="bph-link-inline-cta " href="https://publichealth.berkeley.edu/research" target="_self" >Research and Practice</a> </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"> <h3 class=" bph-text-serif uk-margin-remove-bottom uk-link-heading uk-text-default "> Changemakers </h3> </div> </div> </div> <div class="uk-margin-top uk-margin-top "> We prepare the next generation of public health changemakers to ensure they have the tools and skills they need to effect global change. </div> </div> <div> <div class="bph-tile-match-link uk-margin-top"> <a class="bph-link-inline-cta " href="https://publichealth.berkeley.edu/academics" target="_self" >Academics</a> </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"> <h3 class=" bph-text-serif uk-margin-remove-bottom uk-link-heading uk-text-default "> Arc-Benders </h3> </div> </div> </div> <div class="uk-margin-top uk-margin-top "> We strive to bend the arc of the moral universe toward health equity and social justice. </div> </div> <div> <div class="bph-tile-match-link uk-margin-top"> <a class="bph-link-inline-cta " href="https://publichealth.berkeley.edu/about" target="_self" >About Berkeley Public Health</a> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </section> <section class="bph-block-stories bph-layout-full uk-margin-large-top uk-section-muted uk-section-small " id="bphBlockStories-4334" uk-scrollspy="cls: uk-animation-fade; target: .bph-block-section-scrollspy-target"> <div class="bph-block-section-scrollspy-target"> <div class=" bphScrollAnchor___news-and-views uk-container" id="bphScrollAnchor___news-and-views" > <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">News and Views</h2> <a aria-labelledby="bphCardTitle_Increasedriskofvalleyfeverlinkedtofinemineraldustexposure7570" class="uk-link-toggle bph-display-inherit" href="https://publichealth.berkeley.edu/news-media/research-highlights/increased-risk-of-valley-fever-linked-to-fine-mineral-dust-exposure" > <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=" bph-card-media-left-rounded uk-card-media-left uk-width-1-2@m "> <div class=" bph-border-rounded-large uk-width-1-1 uk-height-1-1 "> <div class=" uk-background-cover uk-background-top-center uk-height-1-1 bph-card-media-left-rounded uk-background-blend-luminosity bph-navbar-dropdown-background bph-card-filter-image" data-src="https://publichealth.berkeley.edu/app/uploads/1024px-Bakersfield_aerial_with_Kern_River-600x400.jpg" uk-img > <canvas width="720" height="480" ></canvas> </div> </div> </div> <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" > Research Highlights</span> <h3 id="bphCardTitle_Increasedriskofvalleyfeverlinkedtofinemineraldustexposure7570" class=" uk-card-title uk-link-text uk-margin-remove-top uk-h3 uk-margin-small-bottom " > Increased risk of Valley fever linked to fine mineral dust exposure </h3> </div> <div> <span class="uk-text-meta" >February 18, 2025</span> </div> </div> </div> </a><hr class="uk-visible@m"><div class="uk-hidden@m"><a aria-labelledby="bphCardTitle_Lonniesnowdenwhoshapednationalmentalhealthpolicydiesatage778811" class="uk-link-toggle bph-display-inherit" href="https://publichealth.berkeley.edu/news-media/school-news/lonnie-snowden-dies-at-age-77" > <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_Lonniesnowdenwhoshapednationalmentalhealthpolicydiesatage778811" class=" uk-card-title uk-link-text uk-margin-remove-top uk-h3 uk-margin-small-bottom " > Lonnie Snowden, who shaped national mental health policy, dies at age 77 </h3> </div> <div> <span class="uk-text-meta" >February 13, 2025</span> </div> </div> </div> </a><a aria-labelledby="bphCardTitle_Prop65givestoxicingredientstheboot7770" class="uk-link-toggle bph-display-inherit" href="https://publichealth.berkeley.edu/news-media/research-highlights/prop-65-gives-toxic-ingredients-the-boot" > <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" > Research Highlights</span> <h3 id="bphCardTitle_Prop65givestoxicingredientstheboot7770" class=" uk-card-title uk-link-text uk-margin-remove-top uk-h3 uk-margin-small-bottom " > Prop 65 gives toxic ingredients the boot </h3> </div> <div> <span class="uk-text-meta" >February 12, 2025</span> </div> </div> </div> </a><a aria-labelledby="bphCardTitle_Aninterviewwithpublichealthalumniassociationboardmemberskatshamandwhitneykennedy3132" class="uk-link-toggle bph-display-inherit" href="https://publichealth.berkeley.edu/alumni/phaa-interview-kat-sham-and-whitney-kennedy" > <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" > Alumni</span> <h3 id="bphCardTitle_Aninterviewwithpublichealthalumniassociationboardmemberskatshamandwhitneykennedy3132" class=" uk-card-title uk-link-text uk-margin-remove-top uk-h3 uk-margin-small-bottom " > An interview with Public Health Alumni Association Board Members Kat Sham and Whitney Kennedy </h3> </div> <div> <span class="uk-text-meta" >February 11, 2025</span> </div> </div> </div> </a></div> <div class=" uk-child-width-1-2@s uk-child-width-1-3@m uk-child-width-1-s4@l uk-grid-match uk-visible@m" uk-grid > <div><a aria-labelledby="bphCardTitle_Lonniesnowdenwhoshapednationalmentalhealthpolicydiesatage779247" class="uk-link-toggle bph-display-inherit" href="https://publichealth.berkeley.edu/news-media/school-news/lonnie-snowden-dies-at-age-77" > <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/BPH-website-news-image-8-3-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_Lonniesnowdenwhoshapednationalmentalhealthpolicydiesatage779247" class=" uk-card-title uk-link-text uk-margin-remove-top uk-text-default uk-margin-medium-bottom " > Lonnie Snowden, who shaped national mental health policy, dies at age 77 </h3> </div> <div> <span class="uk-text-meta" >February 13, 2025</span> </div> </div> </div> </a></div><div><a aria-labelledby="bphCardTitle_Prop65givestoxicingredientstheboot1086" class="uk-link-toggle bph-display-inherit" href="https://publichealth.berkeley.edu/news-media/research-highlights/prop-65-gives-toxic-ingredients-the-boot" > <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/BPH-website-news-image-3-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" > Research Highlights</span> <h3 id="bphCardTitle_Prop65givestoxicingredientstheboot1086" class=" uk-card-title uk-link-text uk-margin-remove-top uk-text-default uk-margin-medium-bottom " > Prop 65 gives toxic ingredients the boot </h3> </div> <div> <span class="uk-text-meta" >February 12, 2025</span> </div> </div> </div> </a></div><div><a aria-labelledby="bphCardTitle_Aninterviewwithpublichealthalumniassociationboardmemberskatshamandwhitneykennedy2196" class="uk-link-toggle bph-display-inherit" href="https://publichealth.berkeley.edu/alumni/phaa-interview-kat-sham-and-whitney-kennedy" > <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/BPH-website-news-image-11-5-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_Aninterviewwithpublichealthalumniassociationboardmemberskatshamandwhitneykennedy2196" class=" uk-card-title uk-link-text uk-margin-remove-top uk-text-default uk-margin-medium-bottom " > An interview with Public Health Alumni Association Board Members Kat Sham and Whitney Kennedy </h3> </div> <div> <span class="uk-text-meta" >February 11, 2025</span> </div> </div> </div> </a></div><div><a aria-labelledby="bphCardTitle_Sevenstudentteamsawardedsocialimpactfunding3818" class="uk-link-toggle bph-display-inherit" href="https://publichealth.berkeley.edu/news-media/school-news/seven-student-teams-awarded-social-impact-funding" > <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/BPH-website-news-image-14-1-1-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_Sevenstudentteamsawardedsocialimpactfunding3818" class=" uk-card-title uk-link-text uk-margin-remove-top uk-text-default uk-margin-medium-bottom " > Seven student teams awarded social impact funding </h3> </div> <div> <span class="uk-text-meta" >February 10, 2025</span> </div> </div> </div> </a></div><div><a aria-labelledby="bphCardTitle_Howworriedshouldyoubeaboutbirdflu7560" class="uk-link-toggle bph-display-inherit" href="https://publichealth.berkeley.edu/news-media/opinion/how-worried-should-you-be-about-bird-flu" > <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-cottonbro-4911687-1-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" > BPH Opinions</span> <h3 id="bphCardTitle_Howworriedshouldyoubeaboutbirdflu7560" class=" uk-card-title uk-link-text uk-margin-remove-top uk-text-default uk-margin-medium-bottom " > How worried should you be about bird flu? </h3> </div> <div> <span class="uk-text-meta" >February 3, 2025</span> </div> </div> </div> </a></div><div><a aria-labelledby="bphCardTitle_Whenstudentstresslevelsarehighthisucberkeleyprogramturnstoexerciseasmedicine8762" class="uk-link-toggle bph-display-inherit" href="https://publichealth.berkeley.edu/news-media/school-news/uc-berkeley-program-turns-to-exercise-as-medicine" > <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/EIMOC_V3-1536x1024-1-600x400.webp" 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_Whenstudentstresslevelsarehighthisucberkeleyprogramturnstoexerciseasmedicine8762" class=" uk-card-title uk-link-text uk-margin-remove-top uk-text-default uk-margin-medium-bottom " > When student stress levels are high, this UC Berkeley program turns to exercise as medicine </h3> </div> <div> <span class="uk-text-meta" >January 30, 2025</span> </div> </div> </div> </a></div> </div> </div> </div> </div> </div> </div> </section> <section class="bph-block-events bph-layout-full uk-margin-large-top uk-section-default uk-padding-remove-vertical " id="bphBlockEvents-9420" uk-scrollspy="cls: uk-animation-fade; target: .bph-block-section-scrollspy-target"> <div class="bph-block-section-scrollspy-target"> <div class=" bphAnchorDefaultId-9990 uk-container" id="bphAnchorDefaultId-9990" > <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">Upcoming Events</h2> <div class="uk-column-1-2@l"> <div class="uk-flex uk-flex-column uk-width-1-1 uk-grid-row-small" uk-grid> <a class="uk-link-toggle" href="https://events.berkeley.edu/bph/event/286548-the-future-of-health-services-research-equity" target="_blank"><div> <div class="bph-border-top uk-background-default uk-padding-small uk-padding-remove-horizontal"> <div class="uk-width-1-1"> <div class="uk-flex"> <div class="uk-margin-right"> <div class="uk-border-circle uk-background-muted uk-inline" style="width: 65px; height: 65px; background-color: #B9D3B6; coslor: #fff;"> <div class="bph-base-line-height-1 uk-position-center uk-text-center"> <span class="uk-text-small uk-text-bold uk-text-uppercase">Feb</span><br /><span class="uk-text-bolder bph-text-unbranded">18</span> </div> </div> </div> <div> <span class="uk-text-small">Tue, Feb 18 &nbsp;<span class="uk-text-muted">|</span>&nbsp; 12:10 - 1 p.m.</span><br /> <span class="uk-link-heading">The Future of Health Services Research: Equity, Engagement, Impact</span> </div> </div> </div> </div> </div></a> <a class="uk-link-toggle" href="https://events.berkeley.edu/bph/event/271189-coffee-connection" target="_blank"><div> <div class="bph-border-top uk-background-default uk-padding-small uk-padding-remove-horizontal"> <div class="uk-width-1-1"> <div class="uk-flex"> <div class="uk-margin-right"> <div class="uk-border-circle uk-background-muted uk-inline" style="width: 65px; height: 65px; background-color: #B9D3B6; coslor: #fff;"> <div class="bph-base-line-height-1 uk-position-center uk-text-center"> <span class="uk-text-small uk-text-bold uk-text-uppercase">Feb</span><br /><span class="uk-text-bolder bph-text-unbranded">19</span> </div> </div> </div> <div> <span class="uk-text-small">Wed, Feb 19 &nbsp;<span class="uk-text-muted">|</span>&nbsp; 9 a.m.</span><br /> <span class="uk-link-heading">Coffee Connection</span> </div> </div> </div> </div> </div></a> <a class="uk-link-toggle" href="https://events.berkeley.edu/bph/event/285799-naming-and-addressing-microaggressions" target="_blank"><div> <div class="bph-border-top uk-background-default uk-padding-small uk-padding-remove-horizontal"> <div class="uk-width-1-1"> <div class="uk-flex"> <div class="uk-margin-right"> <div class="uk-border-circle uk-background-muted uk-inline" style="width: 65px; height: 65px; background-color: #B9D3B6; coslor: #fff;"> <div class="bph-base-line-height-1 uk-position-center uk-text-center"> <span class="uk-text-small uk-text-bold uk-text-uppercase">Feb</span><br /><span class="uk-text-bolder bph-text-unbranded">19</span> </div> </div> </div> <div> <span class="uk-text-small">Wed, Feb 19 &nbsp;<span class="uk-text-muted">|</span>&nbsp; Noon</span><br /> <span class="uk-link-heading">Naming and Addressing microAggressions</span> </div> </div> </div> </div> </div></a> <a class="uk-link-toggle" href="https://events.berkeley.edu/bph/event/288576-the-california-janitor-workload-study-a-time-study" target="_blank"><div> <div class="bph-border-top uk-background-default uk-padding-small uk-padding-remove-horizontal"> <div class="uk-width-1-1"> <div class="uk-flex"> <div class="uk-margin-right"> <div class="uk-border-circle uk-background-muted uk-inline" style="width: 65px; height: 65px; background-color: #B9D3B6; coslor: #fff;"> <div class="bph-base-line-height-1 uk-position-center uk-text-center"> <span class="uk-text-small uk-text-bold uk-text-uppercase">Feb</span><br /><span class="uk-text-bolder bph-text-unbranded">19</span> </div> </div> </div> <div> <span class="uk-text-small">Wed, Feb 19 &nbsp;<span class="uk-text-muted">|</span>&nbsp; Noon</span><br /> <span class="uk-link-heading">The California Janitor Workload Study: A Time Study and Physical Risk Assessment of Common&nbsp;[&hellip;]</span> </div> </div> </div> </div> </div></a> <a class="uk-link-toggle" href="https://events.berkeley.edu/bph/event/291765-debunk-with-empathy-book-launch" target="_blank"><div> <div class="bph-border-top uk-background-default uk-padding-small uk-padding-remove-horizontal"> <div class="uk-width-1-1"> <div class="uk-flex"> <div class="uk-margin-right"> <div class="uk-border-circle uk-background-muted uk-inline" style="width: 65px; height: 65px; background-color: #B9D3B6; coslor: #fff;"> <div class="bph-base-line-height-1 uk-position-center uk-text-center"> <span class="uk-text-small uk-text-bold uk-text-uppercase">Feb</span><br /><span class="uk-text-bolder bph-text-unbranded">19</span> </div> </div> </div> <div> <span class="uk-text-small">Wed, Feb 19 &nbsp;<span class="uk-text-muted">|</span>&nbsp; 5 p.m.</span><br /> <span class="uk-link-heading">Debunk with Empathy Book Launch</span> </div> </div> </div> </div> </div></a> <a class="uk-link-toggle" href="https://events.berkeley.edu/live/events/291223-political-archery-and-moving-targets-how-canada" target="_blank"><div> <div class="bph-border-top uk-background-default uk-padding-small uk-padding-remove-horizontal"> <div class="uk-width-1-1"> <div class="uk-flex"> <div class="uk-margin-right"> <div class="uk-border-circle uk-background-muted uk-inline" style="width: 65px; height: 65px; background-color: #B9D3B6; coslor: #fff;"> <div class="bph-base-line-height-1 uk-position-center uk-text-center"> <span class="uk-text-small uk-text-bold uk-text-uppercase">Feb</span><br /><span class="uk-text-bolder bph-text-unbranded">20</span> </div> </div> </div> <div> <span class="uk-text-small">Thu, Feb 20 &nbsp;<span class="uk-text-muted">|</span>&nbsp; Noon - 1:30 p.m.</span><br /> <span class="uk-link-heading">Political archery and moving targets: How Canada made it a crime to perpetrate&nbsp;[&hellip;]</span> </div> </div> </div> </div> </div></a> </div> </div> <div class="uk-margin-medium-top"> <!-- TODO additional classes for wrapper and button, if add more classes is selected --> <div class="uk-border-rounded uk-text-center"> <a class="uk-button uk-button-default" href="https://publichealth.berkeley.edu/events" target="_self" > View All UCBPH Events </a> </div> </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-margin-xlarge-top" 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="220" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAg4AAABkAQAAAADGMIWBAAAAAnRSTlMAAHaTzTgAAAAcSURBVFjD7cEBAQAAAIIg/69uSEABAAAAAADwahosAAE/vhnEAAAAAElFTkSuQmCC" style="width: 220px; height: auto;" uk-svg data-src="https://publichealth.berkeley.edu/app/themes/berkeley-public-health/dist/img/berkeley-logo.png" decoding="async" data-eio-rwidth="526" data-eio-rheight="100"><noscript><img alt="University of California, Berkeley" class="uk-margin-remove-top uk-width-auto" height="auto" width="220" src="https://publichealth.berkeley.edu/app/themes/berkeley-public-health/dist/img/berkeley-logo.png" style="width: 220px; height: auto;" 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://bsky.app/profile/berkeleypublichlth.bsky.social" class="uk-icon-button" target="_blank" uk-icon="bluesky"><span class="uk-hidden-visually">Bluesky</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"> &copy;2025 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,"use_dpr":1}; /* ]]> */ </script> <script type="text/javascript" src="https://publichealth.berkeley.edu/app/plugins/ewww-image-optimizer/includes/lazysizes.min.js?ver=800" id="eio-lazy-load-js" async="async" data-wp-strategy="async"></script> <script type="text/javascript" src="//siteimproveanalytics.com/js/siteanalyze_6294756.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":727,"atts":"SRVXEgoaSkk=","errorBeacon":"bam.nr-data.net","agent":""}</script></body> </html> <!-- plugin=object-cache-pro client=phpredis metric#hits=3154 metric#misses=38 metric#hit-ratio=98.8 metric#bytes=1521547 metric#prefetches=530 metric#store-reads=52 metric#store-writes=2 metric#store-hits=548 metric#store-misses=34 metric#sql-queries=5 metric#ms-total=720.20 metric#ms-cache=30.64 metric#ms-cache-avg=0.5781 metric#ms-cache-ratio=4.3 -->

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