HTML Report for https://www.phillymag.com/news/2024/04/06/allan-domb-philadelphia-economy/
This tool is an ongoing experiment in better HTML checking, and its behavior remains subject to changeShowing results for https://www.phillymag.com/news/2024/04/06/allan-domb-philadelphia-economy/
You can view the notes...
view-source:https://www.phillymag.com/news/2024/04/06/allan-domb-philadelphia-economy/
| # | results |
|---|---|
| 1 |
Error
On line 1, column 9 <https://www.ph |
| 2 |
Error
On line 1, column 10 <https://www.phi |
| 3 |
Error
On line 1, column 28 <https://www.phillymag.com/wp-json |
| 4 |
Error
On line 1, column 36 ymag.com/wp-json/>; rel= |
| 5 |
Info
On line 1, column 36 ymag.com/wp-json/>; rel= |
| 6 |
Error
On line 1, column 36 ymag.com/wp-json/>; rel= |
| 7 |
Error
On line 2, column 15 /wp-json/>; rel="https://api.w.org/" link: <https://www.ph |
| 8 |
Error
On line 2, column 16 <https://www.phi |
| 9 |
Error
On line 2, column 34 <https://www.phillymag.com/wp-json |
| 10 |
Error
On line 2, column 42 ymag.com/wp-json/wp/v2/p |
| 11 |
Error
On line 2, column 45 /wp-json/wp/v2/post |
| 12 |
Error
On line 2, column 48 -json/wp/v2/posts/4 |
| 13 |
Error
On line 2, column 54 on/wp/v2/posts/4043856 |
| 14 |
Info
On line 2, column 61 v2/posts/4043856>; rel= |
| 15 |
Info
On line 2, column 61 v2/posts/4043856>; rel= |
| 16 |
Error
On line 3, column 15 s/4043856>; rel="alternate"; type="application/json" link: <https://www.ph |
| 17 |
Error
On line 3, column 16 <https://www.phi |
| 18 |
Error
On line 3, column 34 <https://www.phillymag.com/?p=4043 |
| 19 |
Info
On line 3, column 44 ymag.com/?p=4043856>; rel= |
| 20 |
Info
On line 3, column 44 ymag.com/?p=4043856>; rel= |
| 21 |
Error
On line 18, column 15 p=4043856>; rel=shortlink access-control-allow-origin: * x-cache-key: https://_desktop_www.phillymag.comGET/news/2024/04/06/allan-domb-philadelphia-economy/prestitial x-zephr-cache: miss set-cookie: blaize_session=3191b8c5-ba97-44ca-a462-2bf8028249cc; Expires=Wed, 28 Aug 2024 08:37:35 GMT; Path=/; set-cookie: blaize_tracking_id=d5834765-f992-4553-a160-4423fa9c45bf; Expires=Tue, 12 Aug 3023 08:37:36 GMT; Path=/; cache-control: no-store, no-transform content-encoding: gzip vary: Accept-Encoding,Cookie x-cache: Miss from cloudfront via: 1.1 193687a1494164e896692c48d6b989c2.cloudfront.net (CloudFront) x-amz-cf-pop: WAW51-P3 alt-svc: h3=":443"; ma=86400 x-amz-cf-id: 9cdS5JLd8wyTUCxE5sozieN76xqyx89sajh0Rj909UIUTilzW_dHxg== <!doctype html> <html |
| 22 |
Error
On line 19, column 19 type html> <html lang="en-US"> <hea |
| 23 |
Error
On line 20, column 7 g="en-US"> <head> <me |
| 24 |
Error
On line 245, column 8 "> <head> <meta name="viewport" content="width=device-width, initial-scale=1"> <meta content="text/html;charset=utf-8" http-equiv="Content-Type"> <meta content="utf-8" http-equiv="encoding"> <link rel="preconnect" href="https://securepubads.g.doubleclick.net"><link rel="preconnect" href="https://www.googleadservices.com"><link rel="preconnect" href="https://s.ntv.io"><link rel="preconnect" href="https://ib.adnxs.com"><link rel="preconnect" href="https://ap.lijit.com"><link rel="preconnect" href="https://static.criteo.net"><link rel="preconnect" href="https://cdn10.bostonmagazine.com/"><link rel="preconnect" href="https://s.ntv.io/"><meta name="robots" content="index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1"> <!-- This site is optimized with the Yoast SEO Premium plugin v21.7 (Yoast SEO v21.7) - https://yoast.com/wordpress/plugins/seo/ --> <title>Why Allan Domb Is Upbeat About Philadelphia's Economy</title> <meta name="description" content="The developer and former City Councilperson knows a thing or two about finances. Here’s why he’s bullish on the economy in Philadelphia"> <link rel="canonical" href="https://www.phillymag.com/news/2024/04/06/allan-domb-philadelphia-economy/"> <meta property="og:locale" content="en_US"> <meta property="og:type" content="article"> <meta property="og:title" content="Allan Domb Is Upbeat About Philly’s Economy (And You Should Be, Too)"> <meta property="og:description" content="The developer and former City Councilperson knows a thing or two about finances. Here’s why he’s bullish on the economy in Philadelphia"> <meta property="og:url" content="https://www.phillymag.com/news/2024/04/06/allan-domb-philadelphia-economy/"> <meta property="og:site_name" content="Philadelphia Magazine"> <meta property="article:published_time" content="2024-04-07T00:00:32+00:00"> <meta property="article:modified_time" content="2024-04-06T16:52:22+00:00"> <meta property="og:image" content="https://cdn10.phillymag.com/wp-content/uploads/sites/3/2024/04/1200-domb-key-social.jpg"> <meta property="og:image:width" content="1200"> <meta property="og:image:height" content="630"> <meta property="og:image:type" content="image/jpeg"> <meta name="author" content="Allan Domb"> <meta name="twitter:card" content="summary_large_image"> <meta name="twitter:title" content="Allan Domb Is Upbeat About Philly’s Economy (And You Should Be, Too)"> <meta name="twitter:description" content="The developer and former City Councilperson knows a thing or two about finances. Here’s why he’s bullish on the economy in Philadelphia"> <meta name="twitter:image" content="https://cdn10.phillymag.com/wp-content/uploads/sites/3/2024/04/1200-domb-key-social.jpg"> <meta name="twitter:label1" content="Written by"> <meta name="twitter:data1" content="Allan Domb"> <meta name="twitter:label2" content="Est. reading time"> <meta name="twitter:data2" content="4 minutes"> <!-- / Yoast SEO Premium plugin. --> <link rel="dns-prefetch" href="//securepubads.g.doubleclick.net"> <link rel="dns-prefetch" href="//static.criteo.net"> <link rel="dns-prefetch" href="//s.ntv.io"> <link rel="dns-prefetch" href="//cloud.typography.com"> <script type="text/javascript"> /* <![CDATA[ */ window._wpemojiSettings = {"baseUrl":"https:\/\/s.w.org\/images\/core\/emoji\/14.0.0\/72x72\/","ext":".png","svgUrl":"https:\/\/s.w.org\/images\/core\/emoji\/14.0.0\/svg\/","svgExt":".svg","source":{"concatemoji":"https:\/\/cdn10.phillymag.com\/wp-includes\/js\/wp-emoji-release.min.js?ver=6.4.3"}}; /*! This file is auto-generated */ !function(i,n){var o,s,e;function c(e){try{var t={supportTests:e,timestamp:(new Date).valueOf()};sessionStorage.setItem(o,JSON.stringify(t))}catch(e){}}function p(e,t,n){e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(t,0,0);var t=new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data),r=(e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(n,0,0),new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data));return t.every(function(e,t){return e===r[t]})}function u(e,t,n){switch(t){case"flag":return n(e,"\ud83c\udff3\ufe0f\u200d\u26a7\ufe0f","\ud83c\udff3\ufe0f\u200b\u26a7\ufe0f")?!1:!n(e,"\ud83c\uddfa\ud83c\uddf3","\ud83c\uddfa\u200b\ud83c\uddf3")&&!n(e,"\ud83c\udff4\udb40\udc67\udb40\udc62\udb40\udc65\udb40\udc6e\udb40\udc67\udb40\udc7f","\ud83c\udff4\u200b\udb40\udc67\u200b\udb40\udc62\u200b\udb40\udc65\u200b\udb40\udc6e\u200b\udb40\udc67\u200b\udb40\udc7f");case"emoji":return!n(e,"\ud83e\udef1\ud83c\udffb\u200d\ud83e\udef2\ud83c\udfff","\ud83e\udef1\ud83c\udffb\u200b\ud83e\udef2\ud83c\udfff")}return!1}function f(e,t,n){var r="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?new OffscreenCanvas(300,150):i.createElement("canvas"),a=r.getContext("2d",{willReadFrequently:!0}),o=(a.textBaseline="top",a.font="600 32px Arial",{});return e.forEach(function(e){o[e]=t(a,e,n)}),o}function t(e){var t=i.createElement("script");t.src=e,t.defer=!0,i.head.appendChild(t)}"undefined"!=typeof Promise&&(o="wpEmojiSettingsSupports",s=["flag","emoji"],n.supports={everything:!0,everythingExceptFlag:!0},e=new Promise(function(e){i.addEventListener("DOMContentLoaded",e,{once:!0})}),new Promise(function(t){var n=function(){try{var e=JSON.parse(sessionStorage.getItem(o));if("object"==typeof e&&"number"==typeof e.timestamp&&(new Date).valueOf()<e.timestamp+604800&&"object"==typeof e.supportTests)return e.supportTests}catch(e){}return null}();if(!n){if("undefined"!=typeof Worker&&"undefined"!=typeof OffscreenCanvas&&"undefined"!=typeof URL&&URL.createObjectURL&&"undefined"!=typeof Blob)try{var e="postMessage("+f.toString()+"("+[JSON.stringify(s),u.toString(),p.toString()].join(",")+"));",r=new Blob([e],{type:"text/javascript"}),a=new Worker(URL.createObjectURL(r),{name:"wpTestEmojiSupports"});return void(a.onmessage=function(e){c(n=e.data),a.terminate(),t(n)})}catch(e){}c(n=f(s,u,p))}t(n)}).then(function(e){for(var t in e)n.supports[t]=e[t],n.supports.everything=n.supports.everything&&n.supports[t],"flag"!==t&&(n.supports.everythingExceptFlag=n.supports.everythingExceptFlag&&n.supports[t]);n.supports.everythingExceptFlag=n.supports.everythingExceptFlag&&!n.supports.flag,n.DOMReady=!1,n.readyCallback=function(){n.DOMReady=!0}}).then(function(){return e}).then(function(){var e;n.supports.everything||(n.readyCallback(),(e=n.source||{}).concatemoji?t(e.concatemoji):e.wpemoji&&e.twemoji&&(t(e.twemoji),t(e.wpemoji)))}))}((window,document),window._wpemojiSettings); /* ]]> */ </script> <style id="wp-emoji-styles-inline-css" type="text/css"> img.wp-smiley, img.emoji { display: inline !important; border: none !important; box-shadow: none !important; height: 1em !important; width: 1em !important; margin: 0 0.07em !important; vertical-align: -0.1em !important; background: none !important; padding: 0 !important; } </style> <style id="classic-theme-styles-inline-css" type="text/css"> /*! This file is auto-generated */ .wp-block-button__link{color:#fff;background-color:#32373c;border-radius:9999px;box-shadow:none;text-decoration:none;padding:calc(.667em + 2px) calc(1.333em + 2px);font-size:1.125em}.wp-block-file__button{background:#32373c;color:#fff;text-decoration:none} </style> <style id="global-styles-inline-css" type="text/css"> body{--wp--preset--color--black: #000000;--wp--preset--color--cyan-bluish-gray: #abb8c3;--wp--preset--color--white: #ffffff;--wp--preset--color--pale-pink: #f78da7;--wp--preset--color--vivid-red: #cf2e2e;--wp--preset--color--luminous-vivid-orange: #ff6900;--wp--preset--color--luminous-vivid-amber: #fcb900;--wp--preset--color--light-green-cyan: #7bdcb5;--wp--preset--color--vivid-green-cyan: #00d084;--wp--preset--color--pale-cyan-blue: #8ed1fc;--wp--preset--color--vivid-cyan-blue: #0693e3;--wp--preset--color--vivid-purple: #9b51e0;--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(135deg,rgba(6,147,227,1) 0%,rgb(155,81,224) 100%);--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan: linear-gradient(135deg,rgb(122,220,180) 0%,rgb(0,208,130) 100%);--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange: linear-gradient(135deg,rgba(252,185,0,1) 0%,rgba(255,105,0,1) 100%);--wp--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(135deg,rgba(255,105,0,1) 0%,rgb(207,46,46) 100%);--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray: linear-gradient(135deg,rgb(238,238,238) 0%,rgb(169,184,195) 100%);--wp--preset--gradient--cool-to-warm-spectrum: linear-gradient(135deg,rgb(74,234,220) 0%,rgb(151,120,209) 20%,rgb(207,42,186) 40%,rgb(238,44,130) 60%,rgb(251,105,98) 80%,rgb(254,248,76) 100%);--wp--preset--gradient--blush-light-purple: linear-gradient(135deg,rgb(255,206,236) 0%,rgb(152,150,240) 100%);--wp--preset--gradient--blush-bordeaux: linear-gradient(135deg,rgb(254,205,165) 0%,rgb(254,45,45) 50%,rgb(107,0,62) 100%);--wp--preset--gradient--luminous-dusk: linear-gradient(135deg,rgb(255,203,112) 0%,rgb(199,81,192) 50%,rgb(65,88,208) 100%);--wp--preset--gradient--pale-ocean: linear-gradient(135deg,rgb(255,245,203) 0%,rgb(182,227,212) 50%,rgb(51,167,181) 100%);--wp--preset--gradient--electric-grass: linear-gradient(135deg,rgb(202,248,128) 0%,rgb(113,206,126) 100%);--wp--preset--gradient--midnight: linear-gradient(135deg,rgb(2,3,129) 0%,rgb(40,116,252) 100%);--wp--preset--font-size--small: 13px;--wp--preset--font-size--medium: 20px;--wp--preset--font-size--large: 36px;--wp--preset--font-size--x-large: 42px;--wp--preset--spacing--20: 0.44rem;--wp--preset--spacing--30: 0.67rem;--wp--preset--spacing--40: 1rem;--wp--preset--spacing--50: 1.5rem;--wp--preset--spacing--60: 2.25rem;--wp--preset--spacing--70: 3.38rem;--wp--preset--spacing--80: 5.06rem;--wp--preset--shadow--natural: 6px 6px 9px rgba(0, 0, 0, 0.2);--wp--preset--shadow--deep: 12px 12px 50px rgba(0, 0, 0, 0.4);--wp--preset--shadow--sharp: 6px 6px 0px rgba(0, 0, 0, 0.2);--wp--preset--shadow--outlined: 6px 6px 0px -3px rgba(255, 255, 255, 1), 6px 6px rgba(0, 0, 0, 1);--wp--preset--shadow--crisp: 6px 6px 0px rgba(0, 0, 0, 1);}:where(.is-layout-flex){gap: 0.5em;}:where(.is-layout-grid){gap: 0.5em;}body .is-layout-flow > .alignleft{float: left;margin-inline-start: 0;margin-inline-end: 2em;}body .is-layout-flow > .alignright{float: right;margin-inline-start: 2em;margin-inline-end: 0;}body .is-layout-flow > .aligncenter{margin-left: auto !important;margin-right: auto !important;}body .is-layout-constrained > .alignleft{float: left;margin-inline-start: 0;margin-inline-end: 2em;}body .is-layout-constrained > .alignright{float: right;margin-inline-start: 2em;margin-inline-end: 0;}body .is-layout-constrained > .aligncenter{margin-left: auto !important;margin-right: auto !important;}body .is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)){max-width: var(--wp--style--global--content-size);margin-left: auto !important;margin-right: auto !important;}body .is-layout-constrained > .alignwide{max-width: var(--wp--style--global--wide-size);}body .is-layout-flex{display: flex;}body .is-layout-flex{flex-wrap: wrap;align-items: center;}body .is-layout-flex > *{margin: 0;}body .is-layout-grid{display: grid;}body .is-layout-grid > *{margin: 0;}:where(.wp-block-columns.is-layout-flex){gap: 2em;}:where(.wp-block-columns.is-layout-grid){gap: 2em;}:where(.wp-block-post-template.is-layout-flex){gap: 1.25em;}:where(.wp-block-post-template.is-layout-grid){gap: 1.25em;}.has-black-color{color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-color{color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-color{color: var(--wp--preset--color--white) !important;}.has-pale-pink-color{color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-color{color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-color{color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-color{color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-color{color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-color{color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-color{color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-color{color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-color{color: var(--wp--preset--color--vivid-purple) !important;}.has-black-background-color{background-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-background-color{background-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-background-color{background-color: var(--wp--preset--color--white) !important;}.has-pale-pink-background-color{background-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-background-color{background-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-background-color{background-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-background-color{background-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-background-color{background-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-background-color{background-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-background-color{background-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-background-color{background-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-background-color{background-color: var(--wp--preset--color--vivid-purple) !important;}.has-black-border-color{border-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-border-color{border-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-border-color{border-color: var(--wp--preset--color--white) !important;}.has-pale-pink-border-color{border-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-border-color{border-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-border-color{border-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-border-color{border-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-border-color{border-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-border-color{border-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-border-color{border-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-border-color{border-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-border-color{border-color: var(--wp--preset--color--vivid-purple) !important;}.has-vivid-cyan-blue-to-vivid-purple-gradient-background{background: var(--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple) !important;}.has-light-green-cyan-to-vivid-green-cyan-gradient-background{background: var(--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan) !important;}.has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange) !important;}.has-luminous-vivid-orange-to-vivid-red-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-orange-to-vivid-red) !important;}.has-very-light-gray-to-cyan-bluish-gray-gradient-background{background: var(--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray) !important;}.has-cool-to-warm-spectrum-gradient-background{background: var(--wp--preset--gradient--cool-to-warm-spectrum) !important;}.has-blush-light-purple-gradient-background{background: var(--wp--preset--gradient--blush-light-purple) !important;}.has-blush-bordeaux-gradient-background{background: var(--wp--preset--gradient--blush-bordeaux) !important;}.has-luminous-dusk-gradient-background{background: var(--wp--preset--gradient--luminous-dusk) !important;}.has-pale-ocean-gradient-background{background: var(--wp--preset--gradient--pale-ocean) !important;}.has-electric-grass-gradient-background{background: var(--wp--preset--gradient--electric-grass) !important;}.has-midnight-gradient-background{background: var(--wp--preset--gradient--midnight) !important;}.has-small-font-size{font-size: var(--wp--preset--font-size--small) !important;}.has-medium-font-size{font-size: var(--wp--preset--font-size--medium) !important;}.has-large-font-size{font-size: var(--wp--preset--font-size--large) !important;}.has-x-large-font-size{font-size: var(--wp--preset--font-size--x-large) !important;} .wp-block-navigation a:where(:not(.wp-element-button)){color: inherit;} :where(.wp-block-post-template.is-layout-flex){gap: 1.25em;}:where(.wp-block-post-template.is-layout-grid){gap: 1.25em;} :where(.wp-block-columns.is-layout-flex){gap: 2em;}:where(.wp-block-columns.is-layout-grid){gap: 2em;} .wp-block-pullquote{font-size: 1.5em;line-height: 1.6;} </style> <link rel="stylesheet" id="phillymag-css" href="https://cdn10.phillymag.com/wp-content/themes/metrocorp/dist/css/philly.min.css?ver=87" type="text/css" media="all"> <link rel="stylesheet" id="phillymag-countdown-css-css" href="https://cdn10.phillymag.com/wp-content/themes/metrocorp-phillymag/countdown-clock/countdown.css?ver=0.4.37" type="text/css" media="all"> <script type="text/javascript" id="gpt-js-extra"> /* <![CDATA[ */ var mcAds = {"advertiserSlug":"","currentSite":"phillymag","doPrebid":"true","gptNetworkID":"\/307442\/a.site195.tmus\/","hasBannerThree":"false","isArchive":"false","isGeodir":"false","isSingle":"1","postType":"post","prebidTimeout":"2000","prebidFailsafeTimeout":"3000","slots":{"banner-1":{"adUnit":"banner","adSizes":"[[728, 90], [320, 100], [970, 250], [320, 50], [970, 90]]","id":"banner-1","mapping":"bannerOneMapping","hasSettings":true,"isPrebid":"true","isRefresh":"true","targeting":{"pos":"1"},"isLazy":"false"},"banner-2":{"adUnit":"banner","adSizes":"[[728, 90], [320, 100], [970, 250], [300, 250], [320, 50], [970, 90]]","id":"banner-2","mapping":"bannerMapping","hasSettings":true,"isLazy":"true","isRefresh":"true","isPrebid":"true","targeting":{"pos":"2"}},"native_related":{"adUnit":"native_related","adSizes":"fluid","id":"native_related","targeting":{"pos":"2"}},"directory_edl-1":{"adUnit":"directory_edl","adSizes":"fluid","id":"directory_edl-1","targeting":{"pos":"1"}},"directory_edl-2":{"adUnit":"directory_edl","adSizes":"fluid","id":"directory_edl-2","targeting":{"pos":"2"}},"curated_module-1":{"adUnit":"curated_module","adSizes":"fluid","id":"curated_module-1","hasSettings":true,"isLazy":"true","targeting":{"pos":"1"},"isRefresh":"false","isPrebid":"false"},"curated_module-2":{"adUnit":"curated_module","adSizes":"fluid","id":"curated_module-2","hasSettings":true,"isLazy":"true","targeting":{"pos":"2"},"isRefresh":"false","isPrebid":"false"},"curated_module-3":{"adUnit":"curated_module","adSizes":"fluid","id":"curated_module-3","hasSettings":true,"isLazy":"true","targeting":{"pos":"3"},"isRefresh":"false","isPrebid":"false"},"rail-1":{"adUnit":"rail","adSizes":"[[320, 100], [320, 50], [300, 250], [300, 600], [1,1]]","id":"rail-1","mapping":"railMapping","hasSettings":true,"isLazy":"true","isPrebid":"true","isRefresh":"true","targeting":{"pos":"1"}},"toprailsponsor-1":{"adUnit":"toprailsponsor","adSizes":"[[300, 150], [300, 90], [1,1]]","id":"toprailsponsor-1","mapping":"toprailMapping","targeting":{"pos":"1"}},"interstitial":{"adUnit":"interstitial","id":"interstitial","outOfPage":true},"skin":{"adUnit":"skin","adSizes":"[1, 1]","id":"skin"},"teads-video-oop":{"adUnit":"teads-video-oop","id":"teads-video-oop","outOfPage":true},"in_content":{"adUnit":"in_content","adSizes":"fluid","id":"in_content"},"in_content_2":{"adUnit":"in_content_2","adSizes":"fluid","id":"in_content_2"},"native_sidebar":{"adUnit":"native_sidebar","adSizes":"fluid","id":"native_sidebar","targeting":{"pos":"1"}},"ad-reveal":{"adUnit":"ad-reveal","adSizes":"[[1300, 500], [780, 300], [360, 585]]","id":"ad-reveal","hasSettings":true,"mapping":"adrevealMapping","isPrebid":"false","isRefresh":"false","isLazy":"false"},"bottom-anchor":{"adUnit":"BOTTOM_ANCHOR","id":"bottom-anchor","isMobile":true,"isRefresh":"true","outOfPage":true,"outOfPageFormat":"BOTTOM_ANCHOR","targeting":{"test":"outofpage"}}},"slotsFired":[],"slotsViewed":[],"slotsPrebid":[],"targeting":{"vertical":"news","post_ID":"4043856","cat":["opinion"],"environment":"production","post_type":"article"},"debug":""}; /* ]]> */ </script> <script type="text/javascript" id="gpt-js-before"> /* <![CDATA[ */ /* prebid.js v6.23.0 Updated : 2022-05-06*/ /*! For license information please see prebid-core.js.LICENSE.txt */ !function(){var e,n={4877:function(e,n,t){"use strict";t.d(n,{Pd:function(){return s},Th:function(){return u},_U:function(){return d}});var r=t(6996),i=t(9853),o=t(265),a=t(1879),c="outstream";function u(e){var n=this,t=e.url,o=e.config,a=e.id,u=e.callback,s=e.loaded,d=e.adUnitCode;this.url=t,this.config=o,this.handlers={},this.id=a,this.loaded=s,this.cmd=[],this.push=function(e){"function"==typeof e?n.loaded?e.call():n.cmd.push(e):(0,i.logError)("Commands given to Renderer.push must be wrapped in a function")},this.callback=u||function(){n.loaded=!0,n.process()},this.render=function(){var e=this,n=arguments,o=function(){e._render?e._render.apply(e,n):(0,i.logWarn)("No render function was provided, please use .setRender on the renderer")};f(d)?((0,i.logWarn)("External Js not loaded by Renderer since renderer url and callback is already defined on adUnit ".concat(d)),o()):(this.cmd.unshift(o),(0,r.B)(t,c,this.callback,this.documentContext))}.bind(this)}function s(e){return!(!e||!e.url)}function d(e,n,t){var r=null;e.config&&e.config.documentResolver&&(r=e.config.documentResolver(n,document,t)),r||(r=document),e.documentContext=r,e.render(n,e.documentContext)}function f(e){var n=pbjs.adUnits,t=(0,a.sE)(n,(function(n){return n.code===e}));if(!t)return!1;var r=(0,o.Z)(t,"renderer"),i=!!(r&&r.url&&r.render),c=(0,o.Z)(t,"mediaTypes.video.renderer"),u=!!(c&&c.url&&c.render);return!!(i&&!0!==r.backupOnly||u&&!0!==c.backupOnly)}u.install=function(e){return new u({url:e.url,config:e.config,id:e.id,callback:e.callback,loaded:e.loaded,adUnitCode:e.adUnitCode})},u.prototype.getConfig=function(){return this.config},u.prototype.setRender=function(e){this._render=e},u.prototype.setEventHandlers=function(e){this.handlers=e},u.prototype.handleVideoEvent=function(e){var n=e.id,t=e.eventName;"function"==typeof this.handlers[t]&&this.handlers[t](),(0,i.logMessage)("Prebid Renderer event for id ".concat(n," type ").concat(t))},u.prototype.process=function(){for(;this.cmd.length>0;)try{this.cmd.shift().call()}catch(e){(0,i.logError)("Error processing Renderer command: ",e)}}},7263:function(e,n,t){"use strict";t.d(n,{f:function(){return a}});var r=t(265),i={};function o(e,n,t){var r=function(e,n){var t=i[e]=i[e]||{bidders:{}};return n?t.bidders[n]=t.bidders[n]||{}:t}(e,t);return r[n]=(r[n]||0)+1,r[n]}var a={incrementRequestsCounter:function(e){return o(e,"requestsCounter")},incrementBidderRequestsCounter:function(e,n){return o(e,"requestsCounter",n)},incrementBidderWinsCounter:function(e,n){return o(e,"winsCounter",n)},getRequestsCounter:function(e){return(0,r.Z)(i,"".concat(e,".requestsCounter"))||0},getBidderRequestsCounter:function(e,n){return(0,r.Z)(i,"".concat(e,".bidders.").concat(n,".requestsCounter"))||0},getBidderWinsCounter:function(e,n){return(0,r.Z)(i,"".concat(e,".bidders.").concat(n,".winsCounter"))||0}}},2801:function(e,n,t){"use strict";function r(e){var n=e;return{callBids:function(){},setBidderCode:function(e){n=e},getBidderCode:function(){return n}}}t.d(n,{Z:function(){return r}})},7602:function(e,n,t){"use strict";t.d(n,{qJ:function(){return G},VP:function(){return X},ZP:function(){return re},JO:function(){return Y},rp:function(){return J},uV:function(){return ee},Ct:function(){return ne},nX:function(){return Q}});var r=t(9853),i=t(265),o=t(1269),a=t(9017),c=t(1609),u=t(5755),s=t(8962),d=t(3494),f=t(1879),l=t(7263),g=t(2661);function p(e){return p="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},p(e)}function v(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),n&&y(e,n)}function y(e,n){return y=Object.setPrototypeOf||function(e,n){return e.__proto__=n,e},y(e,n)}function b(e){var n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var t,r=m(e);if(n){var i=m(this).constructor;t=Reflect.construct(r,arguments,i)}else t=r.apply(this,arguments);return h(this,t)}}function h(e,n){if(n&&("object"===p(n)||"function"==typeof n))return n;if(void 0!==n)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}function m(e){return m=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)},m(e)}function E(e,n){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}function S(e,n){for(var t=0;t<n.length;t++){var r=n[t];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function A(e,n,t){return n&&S(e.prototype,n),t&&S(e,t),Object.defineProperty(e,"prototype",{writable:!1}),e}function T(e,n,t){!function(e,n){if(n.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e,n),n.set(e,t)}function I(e,n){return function(e,n){return n.get?n.get.call(e):n.value}(e,w(e,n,"get"))}function C(e,n,t){return function(e,n,t){if(n.set)n.set.call(e,t);else{if(!n.writable)throw new TypeError("attempted to set read only private field");n.value=t}}(e,w(e,n,"set"),t),t}function w(e,n,t){if(!n.has(e))throw new TypeError("attempted to "+t+" private field on non-instance");return n.get(e)}var O=new WeakMap,B=new WeakMap,_=new WeakMap,U=new WeakMap,R=new WeakMap,D=function(){function e(){var n,t;E(this,e),T(this,O,{writable:!0,value:void 0}),T(this,B,{writable:!0,value:void 0}),T(this,_,{writable:!0,value:void 0}),T(this,U,{writable:!0,value:void 0}),T(this,R,{writable:!0,value:void 0}),t=void 0,(n="generatedTime")in this?Object.defineProperty(this,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):this[n]=t,this.reset()}return A(e,[{key:"reset",value:function(){var e=this;C(this,_,new Promise((function(n){C(e,U,(function(t){C(e,R,!0),C(e,B,t),n(t)}))}))),C(this,O,!1),C(this,B,null),C(this,R,!1),this.generatedTime=null}},{key:"enable",value:function(){C(this,O,!0)}},{key:"enabled",get:function(){return I(this,O)}},{key:"ready",get:function(){return I(this,R)}},{key:"promise",get:function(){return I(this,R)?Promise.resolve(I(this,B)):(I(this,O)||I(this,U).call(this,null),I(this,_))}},{key:"setConsentData",value:function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:(0,r.timestamp)();this.generatedTime=n,I(this,U).call(this,e)}},{key:"getConsentData",value:function(){return I(this,B)}}]),e}(),k=function(e){v(t,e);var n=b(t);function t(){return E(this,t),n.apply(this,arguments)}return A(t,[{key:"getConsentMeta",value:function(){var e=this.getConsentData();if(e&&this.generatedTime)return{usp:e,generatedAt:this.generatedTime}}}]),t}(D),j=function(e){v(t,e);var n=b(t);function t(){return E(this,t),n.apply(this,arguments)}return A(t,[{key:"getConsentMeta",value:function(){var e=this.getConsentData();if(e&&e.vendorData&&this.generatedTime)return{gdprApplies:e.gdprApplies,consentStringSize:(0,r.isStr)(e.vendorData.tcString)?e.vendorData.tcString.length:0,generatedAt:this.generatedTime,apiVersion:e.apiVersion}}}]),t}(D);function N(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,r)}return t}function P(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?N(Object(t),!0).forEach((function(n){q(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):N(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}function x(e,n){(null==n||n>e.length)&&(n=e.length);for(var t=0,r=new Array(n);t<n;t++)r[t]=e[t];return r}function q(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function M(){return M=Object.assign||function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])}return e},M.apply(this,arguments)}var G={CLIENT:"client",SERVER:"server"},W=t(5644),F=t(2319),z={},L=z.bidderRegistry={},K=z.aliasRegistry={},V=[];s.vc.getConfig("s2sConfig",(function(e){e&&e.s2sConfig&&(V=(0,r.isArray)(e.s2sConfig)?e.s2sConfig:[e.s2sConfig])}));var H={},Z=(0,d.z3)("sync",(function(e){var n=e.bidderCode,t=e.auctionId,o=e.bidderRequestId,a=e.adUnits,c=e.src;return a.reduce((function(e,a){return e.push(a.bids.filter((function(e){return e.bidder===n})).reduce((function(e,n){var u=null==(n=M({},n,(0,r.getDefinedParams)(a,["nativeParams","ortb2Imp","mediaType","renderer","storedAuctionResponse"]))).mediaTypes?a.mediaTypes:n.mediaTypes;return(0,r.isValidMediaTypes)(u)?n=M({},n,{mediaTypes:u}):(0,r.logError)("mediaTypes is not correctly configured for adunit ".concat(a.code)),e.push(M({},n,{adUnitCode:a.code,transactionId:a.transactionId,sizes:(0,i.Z)(u,"banner.sizes")||(0,i.Z)(u,"video.playerSize")||[],bidId:n.bid_id||(0,r.getUniqueIdentifierStr)(),bidderRequestId:o,auctionId:t,src:c,bidRequestsCount:l.f.getRequestsCounter(a.code),bidderRequestsCount:l.f.getBidderRequestsCounter(a.code,n.bidder),bidderWinsCount:l.f.getBidderWinsCounter(a.code,n.bidder)})),e}),[])),e}),[]).reduce(r.flatten,[]).filter((function(e){return""!==e}))}),"getBids"),Y=(0,d.z3)("sync",(function(e,n){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=t.getS2SBidders,i=void 0===r?ee:r;if(null==n)return e;var o=i(n);return e.filter((function(e){return o.has(e.bidder)}))}),"filterBidsForAdUnit"),J=new j,Q=new k,X={getCoppa:function(){return!!s.vc.getConfig("coppa")}},$=(0,d.z3)("sync",(function(e,n){return(0,o.UB)(e,n)}),"setupAdUnitMediaTypes");function ee(e){(0,r.isArray)(e)||(e=[e]);var n=new Set([null]);return e.filter((function(e){return e&&e.enabled})).flatMap((function(e){return e.bidders})).forEach((function(e){return n.add(e)})),n}var ne=(0,d.z3)("sync",(function(e,n){var t,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},o=i.getS2SBidders,a=void 0===o?ee:o,c=a(n);return(0,r.getBidderCodes)(e).reduce((function(e,n){return e[c.has(n)?G.SERVER:G.CLIENT].push(n),e}),(q(t={},G.CLIENT,[]),q(t,G.SERVER,[]),t))}),"partitionBidders");function te(e,n,t){try{var i=L[e].getSpec();i&&i[n]&&"function"==typeof i[n]&&((0,r.logInfo)("Invoking ".concat(e,".").concat(n)),s.vc.runWithBidder(e,r.bind.call(i[n],i,t)))}catch(t){(0,r.logWarn)("Error calling ".concat(n," of ").concat(e))}}z.makeBidRequests=(0,d.z3)("sync",(function(e,n,t,i,o){F.emit(W.EVENTS.BEFORE_REQUEST_BIDS,e),(0,a.Fb)(e),e=$(e,o);var c=ne(e,V),u=c[G.CLIENT],d=c[G.SERVER];s.vc.getConfig("bidderSequence")===s.FD&&(u=(0,r.shuffle)(u));var l=(0,g.n)(),p=[];V.forEach((function(i){if(i&&i.enabled){var o=function(e,n){var t=(0,r.deepClone)(e);return t.forEach((function(e){e.bids=Y(e.bids,n).map((function(e){return e.bid_id=(0,r.getUniqueIdentifierStr)(),e}))})),t.filter((function(e){return 0!==e.bids.length}))}(e,i),a=(0,r.generateUUID)();d.forEach((function(e){var c=(0,r.getUniqueIdentifierStr)(),u={bidderCode:e,auctionId:t,bidderRequestId:c,uniquePbsTid:a,bids:Z({bidderCode:e,auctionId:t,bidderRequestId:c,adUnits:(0,r.deepClone)(o),src:W.S2S.SRC}),auctionStart:n,timeout:i.timeout,src:W.S2S.SRC,refererInfo:l};0!==u.bids.length&&p.push(u)})),o.forEach((function(e){var n=e.bids.filter((function(e){return(0,f.sE)(p,(function(n){return(0,f.sE)(n.bids,(function(n){return n.bidId===e.bid_id}))}))}));e.bids=n})),p.forEach((function(e){void 0===e.adUnitsS2SCopy&&(e.adUnitsS2SCopy=o.filter((function(e){return e.bids.length>0})))}))}}));var v=function(e){var n=(0,r.deepClone)(e);return n.forEach((function(e){e.bids=Y(e.bids,null)})),n.filter((function(e){return 0!==e.bids.length}))}(e);return u.forEach((function(e){var a=(0,r.getUniqueIdentifierStr)(),c={bidderCode:e,auctionId:t,bidderRequestId:a,bids:Z({bidderCode:e,auctionId:t,bidderRequestId:a,adUnits:(0,r.deepClone)(v),labels:o,src:"client"}),auctionStart:n,timeout:i,refererInfo:l},u=L[e];u||(0,r.logError)("Trying to make a request for bidder that does not exist: ".concat(e)),u&&c.bids&&0!==c.bids.length&&p.push(c)})),J.getConsentData()&&p.forEach((function(e){e.gdprConsent=J.getConsentData()})),Q.getConsentData()&&p.forEach((function(e){e.uspConsent=Q.getConsentData()})),p}),"makeBidRequests"),z.callBids=function(e,n,t,i,o,a,c){if(n.length){var d=(y=n.reduce((function(e,n){return e[Number(void 0!==n.src&&n.src===W.S2S.SRC)].push(n),e}),[[],[]]),b=2,function(e){if(Array.isArray(e))return e}(y)||function(e,n){var t=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=t){var r,i,o=[],a=!0,c=!1;try{for(t=t.call(e);!(a=(r=t.next()).done)&&(o.push(r.value),!n||o.length!==n);a=!0);}catch(e){c=!0,i=e}finally{try{a||null==t.return||t.return()}finally{if(c)throw i}}return o}}(y,b)||function(e,n){if(e){if("string"==typeof e)return x(e,n);var t=Object.prototype.toString.call(e).slice(8,-1);return"Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t?Array.from(e):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?x(e,n):void 0}}(y,b)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),f=d[0],l=d[1],g=[];l.forEach((function(e){for(var n=-1,t=0;t<g.length;++t)if(e.uniquePbsTid===g[t].uniquePbsTid){n=t;break}n<=-1&&g.push(e)}));var p=0,v=(0,r.generateUUID)();V.forEach((function(e){if(e&&g[p]&&ee(e).has(g[p].bidderCode)){var n=(0,u.O)(a,o?{request:o.request.bind(null,"s2s"),done:o.done}:void 0),c=e.bidders,s=L[e.adapter],d=g[p].uniquePbsTid,f=g[p].adUnitsS2SCopy,y=l.filter((function(e){return e.uniquePbsTid===d}));if(s){var b={tid:v,ad_units:f,s2sConfig:e};if(b.ad_units.length){var h=y.map((function(e){return e.start=(0,r.timestamp)(),i.bind(e)})),m=(0,r.getBidderCodes)(b.ad_units).filter((function(e){return c.includes(e)}));(0,r.logMessage)("CALLING S2S HEADER BIDDERS ==== ".concat(m.length>0?m.join(", "):'No bidder specified, using "ortb2Imp" definition(s) only')),y.forEach((function(e){F.emit(W.EVENTS.BID_REQUESTED,P(P({},e),{},{tid:v}))})),s.callBids(b,l,t,(function(){return h.forEach((function(e){return e()}))}),n)}}else(0,r.logError)("missing "+e.adapter);p++}})),f.forEach((function(e){e.start=(0,r.timestamp)();var n=L[e.bidderCode];s.vc.runWithBidder(e.bidderCode,(function(){(0,r.logMessage)("CALLING BIDDER"),F.emit(W.EVENTS.BID_REQUESTED,e)}));var d=(0,u.O)(a,o?{request:o.request.bind(null,e.bidderCode),done:o.done}:void 0),f=i.bind(e);try{s.vc.runWithBidder(e.bidderCode,r.bind.call(n.callBids,n,e,t,f,d,c,s.vc.callbackWithBidder(e.bidderCode)))}catch(n){(0,r.logError)("".concat(e.bidderCode," Bid Adapter emitted an uncaught error when parsing their bidRequest"),{e:n,bidRequest:e}),f()}}))}else(0,r.logWarn)("callBids executed with no bidRequests. Were they filtered by labels or sizing?");var y,b},z.videoAdapters=[],z.registerBidAdapter=function(e,n){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=t.supportedMediaTypes,o=void 0===i?[]:i;e&&n?"function"==typeof e.callBids?(L[n]=e,(0,f.q9)(o,"video")&&z.videoAdapters.push(n),(0,f.q9)(o,"native")&&a.Sg.push(n)):(0,r.logError)("Bidder adaptor error for bidder code: "+n+"bidder must implement a callBids() function"):(0,r.logError)("bidAdapter or bidderCode not specified")},z.aliasBidAdapter=function(e,n,t){if(void 0===L[n]){var i=L[e];if(void 0===i){var o=[];V.forEach((function(t){if(t.bidders&&t.bidders.length){var r=t&&t.bidders;t&&(0,f.q9)(r,n)?K[n]=e:o.push(e)}})),o.forEach((function(e){(0,r.logError)('bidderCode "'+e+'" is not an existing bidder.',"adapterManager.aliasBidAdapter")}))}else try{var u,s=function(e){var n=[];return(0,f.q9)(z.videoAdapters,e)&&n.push("video"),(0,f.q9)(a.Sg,e)&&n.push("native"),n}(e);if(i.constructor.prototype!=Object.prototype)(u=new i.constructor).setBidderCode(n);else{var d=i.getSpec(),l=t&&t.gvlid,g=t&&t.skipPbsAliasing;u=(0,c.newBidder)(M({},d,{code:n,gvlid:l,skipPbsAliasing:g})),K[n]=e}z.registerBidAdapter(u,n,{supportedMediaTypes:s})}catch(n){(0,r.logError)(e+" bidder does not currently support aliasing.","adapterManager.aliasBidAdapter")}}else(0,r.logMessage)('alias name "'+n+'" has been already specified.')},z.registerAnalyticsAdapter=function(e){var n=e.adapter,t=e.code,i=e.gvlid;n&&t?"function"==typeof n.enableAnalytics?(n.code=t,H[t]={adapter:n,gvlid:i}):(0,r.logError)('Prebid Error: Analytics adaptor error for analytics "'.concat(t,'"\n analytics adapter must implement an enableAnalytics() function')):(0,r.logError)("Prebid Error: analyticsAdapter or analyticsCode not specified")},z.enableAnalytics=function(e){(0,r.isArray)(e)||(e=[e]),(0,r._each)(e,(function(e){var n=H[e.provider];n&&n.adapter?n.adapter.enableAnalytics(e):(0,r.logError)("Prebid Error: no analytics adapter found in registry for '".concat(e.provider,"'."))}))},z.getBidAdapter=function(e){return L[e]},z.getAnalyticsAdapter=function(e){return H[e]},z.callTimedOutBidders=function(e,n,t){n=n.map((function(n){return n.params=(0,r.getUserConfiguredParams)(e,n.adUnitCode,n.bidder),n.timeout=t,n})),n=(0,r.groupBy)(n,"bidder"),Object.keys(n).forEach((function(e){te(e,"onTimeout",n[e])}))},z.callBidWonBidder=function(e,n,t){n.params=(0,r.getUserConfiguredParams)(t,n.adUnitCode,n.bidder),l.f.incrementBidderWinsCounter(n.adUnitCode,n.bidder),te(e,"onBidWon",n)},z.callSetTargetingBidder=function(e,n){te(e,"onSetTargeting",n)},z.callBidViewableBidder=function(e,n){te(e,"onBidViewable",n)},z.callBidderError=function(e,n,t){te(e,"onBidderError",{error:n,bidderRequest:t})};var re=z},1609:function(e,n,t){"use strict";t.r(n),t.d(n,{getIabSubCategory:function(){return D},isValid:function(){return j},newBidder:function(){return B},preloadBidderMappingFile:function(){return R},processBidderRequests:function(){return _},registerBidder:function(){return O},registerSyncInner:function(){return U},storage:function(){return C}});var r=t(2801),i=t(7602),o=t(8962),a=t(1477),c=t(7112),u=t(9017),s=t(1929),d=t(5644),f=t(2319),l=t(1879),g=t(5755),p=t(9853),v=t(265),y=t(8265),b=t(3494),h=t(5849),m=t(4766),E=t(9624);function S(e,n){return function(e){if(Array.isArray(e))return e}(e)||function(e,n){var t=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=t){var r,i,o=[],a=!0,c=!1;try{for(t=t.call(e);!(a=(r=t.next()).done)&&(o.push(r.value),!n||o.length!==n);a=!0);}catch(e){c=!0,i=e}finally{try{a||null==t.return||t.return()}finally{if(c)throw i}}return o}}(e,n)||function(e,n){if(e){if("string"==typeof e)return A(e,n);var t=Object.prototype.toString.call(e).slice(8,-1);return"Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t?Array.from(e):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?A(e,n):void 0}}(e,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function A(e,n){(null==n||n>e.length)&&(n=e.length);for(var t=0,r=new Array(n);t<n;t++)r[t]=e[t];return r}function T(e){return T="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},T(e)}function I(){return I=Object.assign||function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])}return e},I.apply(this,arguments)}var C=(0,h.eA)("bidderFactory"),w=["cpm","ttl","creativeId","netRevenue","currency"];function O(e){var n=Array.isArray(e.supportedMediaTypes)?{supportedMediaTypes:e.supportedMediaTypes}:void 0;function t(e){var t=B(e);i.ZP.registerBidAdapter(t,e.code,n)}t(e),Array.isArray(e.aliases)&&e.aliases.forEach((function(n){var r,o,a=n;(0,p.isPlainObject)(n)&&(a=n.code,r=n.gvlid,o=n.skipPbsAliasing),i.ZP.aliasRegistry[a]=e.code,t(I({},e,{code:a,gvlid:r,skipPbsAliasing:o}))}))}function B(e){return I(new r.Z(e.code),{getSpec:function(){return Object.freeze(e)},registerSyncs:n,callBids:function(r,c,u,s,l,g){if(Array.isArray(r.bids)){var v={},y=[],b=r.bids.filter(t);if(0!==b.length){var h={};b.forEach((function(e){h[e.bidId]=e,e.adUnitCode||(e.adUnitCode=e.placementCode)})),_(e,b,r,s,g,{onRequest:function(e){return f.emit(d.EVENTS.BEFORE_BIDDER_HTTP,r,e)},onResponse:function(n){l(e.code),y.push(n)},onError:function(n,t){l(e.code),i.ZP.callBidderError(e.code,t,r),f.emit(d.EVENTS.BIDDER_ERROR,{error:t,bidderRequest:r}),(0,p.logError)("Server call for ".concat(e.code," failed: ").concat(n," ").concat(t.status,". Continuing without bids."))},onBid:function(n){var t,r,i,o,u=h[n.requestId];if(u){if(n.adapterCode=u.bidder,t=n.bidderCode,r=u.bidder,i=E.S.get(r,"allowAlternateBidderCodes"),o=E.S.get(r,"allowedAlternateBidderCodes"),t&&r&&r!==t&&(void 0!==i&&!i||(0,p.isArray)(o)&&"*"!==o[0]&&!o.includes(t)))return void(0,p.logWarn)("".concat(n.bidderCode," is not a registered partner or known bidder of ").concat(u.bidder,", hence continuing without bid. If you wish to support this bidder, please mark allowAlternateBidderCodes as true in bidderSettings."));n.originalCpm=n.cpm,n.originalCurrency=n.currency,n.meta=n.meta||I({},n[u.bidder]);var s=I((0,a.m)(d.STATUS.GOOD,u),n);!function(e,n){v[e]=!0,j(e,n)&&c(e,n)}(u.adUnitCode,s)}else(0,p.logWarn)("Bidder ".concat(e.code," made bid for unknown request ID: ").concat(n.requestId,". Ignoring."))},onCompletion:m})}else m()}function m(){u(),o.vc.runWithBidder(e.code,(function(){f.emit(d.EVENTS.BIDDER_DONE,r),n(y,r.gdprConsent,r.uspConsent)}))}}});function n(n,t,r){U(e,n,t,r)}function t(n){return!!e.isBidRequestValid(n)||((0,p.logWarn)("Invalid bid sent to bidder ".concat(e.code,": ").concat(JSON.stringify(n))),!1)}}var _=(0,b.z3)("sync",(function(e,n,t,r,i,o){var a=o.onRequest,c=o.onResponse,u=o.onError,s=o.onBid,d=o.onCompletion,f=e.buildRequests(n,t);if(f&&0!==f.length){Array.isArray(f)||(f=[f]);var l=(0,p.delayExecution)(d,f.length);f.forEach((function(n){var t,o=i((function(t,r){try{t=JSON.parse(t)}catch(e){}var i;t={body:t,headers:{get:r.getResponseHeader.bind(r)}},c(t);try{i=e.interpretResponse(t,n)}catch(n){return(0,p.logError)("Bidder ".concat(e.code," failed to interpret the server's response. Continuing without bids"),null,n),void l()}i&&((0,p.isArray)(i)?i.forEach(s):s(i)),l()})),d=i((function(e,n){u(e,n),l()}));switch(a(n),n.method){case"GET":r("".concat(n.url).concat((t=n.data)?"?".concat("object"===T(t)?(0,p.parseQueryStringParameters)(t):t):""),{success:o,error:d},void 0,I({method:"GET",withCredentials:!0},n.options));break;case"POST":r(n.url,{success:o,error:d},"string"==typeof n.data?n.data:JSON.stringify(n.data),I({method:"POST",contentType:"text/plain",withCredentials:!0},n.options));break;default:(0,p.logWarn)("Skipping invalid request from ".concat(e.code,". Request type ").concat(n.type," must be GET or POST")),l()}}))}else d()}),"processBidderRequests"),U=(0,b.z3)("async",(function(e,n,t,r){var a=o.vc.getConfig("userSync.aliasSyncEnabled");if(e.getUserSyncs&&(a||!i.ZP.aliasRegistry[e.code])){var u=o.vc.getConfig("userSync.filterSettings"),s=e.getUserSyncs({iframeEnabled:!(!u||!u.iframe&&!u.all),pixelEnabled:!(!u||!u.image&&!u.all)},n,t,r);s&&(Array.isArray(s)||(s=[s]),s.forEach((function(n){c.k_.registerSync(n.type,e.code,n.url)})))}}),"registerSyncs");function R(e,n){if(!o.vc.getConfig("adpod.brandCategoryExclusion"))return e.call(this,n);n.filter((function(e){return(0,v.Z)(e,"mediaTypes.video.context")===y.Oh})).map((function(e){return e.bids.map((function(e){return e.bidder}))})).reduce(p.flatten,[]).filter(p.uniques).forEach((function(e){var n=i.ZP.getBidAdapter(e);if(n.getSpec().getMappingFileInfo){var t=n.getSpec().getMappingFileInfo(),r=t.refreshInDays?t.refreshInDays:1,o=t.localStorageKey?t.localStorageKey:n.getSpec().code,a=C.getDataFromLocalStorage(o);try{(!(a=a?JSON.parse(a):void 0)||(0,p.timestamp)()>a.lastUpdated+24*r*60*60*1e3)&&(0,g.h)(t.url,{success:function(n){try{n=JSON.parse(n);var t={lastUpdated:(0,p.timestamp)(),mapping:n.mapping};C.setDataInLocalStorage(o,JSON.stringify(t))}catch(n){(0,p.logError)("Failed to parse ".concat(e," bidder translation mapping file"))}},error:function(){(0,p.logError)("Failed to load ".concat(e," bidder translation file"))}})}catch(n){(0,p.logError)("Failed to parse ".concat(e," bidder translation mapping file"))}}})),e.call(this,n)}function D(e,n){var t=i.ZP.getBidAdapter(e);if(t.getSpec().getMappingFileInfo){var r=t.getSpec().getMappingFileInfo(),o=r.localStorageKey?r.localStorageKey:t.getBidderCode(),a=C.getDataFromLocalStorage(o);if(a){try{a=JSON.parse(a)}catch(n){(0,p.logError)("Failed to parse ".concat(e," mapping data stored in local storage"))}return a.mapping[n]?a.mapping[n]:null}}}function k(e,n){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=t.index,i=void 0===r?m.K.index:r;if((n.width||0===parseInt(n.width,10))&&(n.height||0===parseInt(n.height,10)))return n.width=parseInt(n.width,10),n.height=parseInt(n.height,10),!0;var o=i.getBidRequest(n),a=i.getMediaTypes(n),c=o&&o.sizes||a&&a.banner&&a.banner.sizes,u=(0,p.parseSizesInput)(c);if(1===u.length){var s=u[0].split("x"),d=S(s,2),f=d[0],l=d[1];return n.width=parseInt(f,10),n.height=parseInt(l,10),!0}return!1}function j(e,n){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=t.index,i=void 0===r?m.K.index:r;function o(){var e=Object.keys(n);return w.every((function(t){return(0,l.q9)(e,t)&&!(0,l.q9)([void 0,null],n[t])}))}function a(e){return"Invalid bid from ".concat(n.bidderCode,". Ignoring bid: ").concat(e)}return e?n?o()?"native"!==n.mediaType||(0,u.r4)(n,{index:i})?"video"!==n.mediaType||(0,s.Dn)(n,{index:i})?!("banner"===n.mediaType&&!k(e,n,{index:i})&&((0,p.logError)(a("Banner bids require a width and height")),1)):((0,p.logError)(a("Video bid does not have required vastUrl or renderer property")),!1):((0,p.logError)(a("Native bid missing some required properties.")),!1):((0,p.logError)(a("Bidder ".concat(n.bidderCode," is missing required params. Check http://prebid.org/dev-docs/bidder-adapter-1.html for list of params."))),!1):((0,p.logWarn)("Some adapter tried to add an undefined bid for ".concat(e,".")),!1):((0,p.logWarn)("No adUnitCode was supplied to addBidResponse."),!1)}(0,b.v5)("checkAdUnitSetup").before(R)},6996:function(e,n,t){"use strict";t.d(n,{B:function(){return c}});var r=t(1879),i=t(9853),o=new WeakMap,a=["adloox","criteo","outstream","adagio","browsi","brandmetrics","justtag"];function c(e,n,t,c){if(n&&e){if((0,r.q9)(a,n)){c||(c=document);var u=f(c,e);if(u)return t&&"function"==typeof t&&(u.loaded?t():u.callbacks.push(t)),u.tag;var s=o.get(c)||{},d={loaded:!1,tag:null,callbacks:[]};return s[e]=d,o.set(c,s),t&&"function"==typeof t&&d.callbacks.push(t),(0,i.logWarn)("module ".concat(n," is loading external JavaScript")),function(n,t,r){r||(r=document);var o=r.createElement("script");o.type="text/javascript",o.async=!0;var a=f(r,e);return a&&(a.tag=o),o.readyState?o.onreadystatechange=function(){"loaded"!==o.readyState&&"complete"!==o.readyState||(o.onreadystatechange=null,t())}:o.onload=function(){t()},o.src=n,(0,i.insertElement)(o,r),o}(e,(function(){d.loaded=!0;try{for(var e=0;e<d.callbacks.length;e++)d.callbacks[e]()}catch(e){(0,i.logError)("Error executing callback","adloader.js:loadExternalScript",e)}}),c)}(0,i.logError)("".concat(n," not whitelisted for loading external JavaScript"))}else(0,i.logError)("cannot load external script without url and moduleCode");function f(e,n){var t=o.get(e);return t&&t[n]?t[n]:null}}},5755:function(e,n,t){"use strict";t.d(n,{O:function(){return u},h:function(){return c}});var r=t(8962),i=t(9853);function o(){return o=Object.assign||function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])}return e},o.apply(this,arguments)}function a(e){return a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},a(e)}var c=u();function u(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:3e3,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},t=n.request,c=n.done;return function(n,u,s){var d=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};try{var f,l=d.method||(s?"POST":"GET"),g=document.createElement("a");g.href=n;var p="object"===a(u)&&null!==u?u:{success:function(){(0,i.logMessage)("xhr success")},error:function(e){(0,i.logError)("xhr error",null,e)}};if("function"==typeof u&&(p.success=u),(f=new window.XMLHttpRequest).onreadystatechange=function(){if(4===f.readyState){"function"==typeof c&&c(g.origin);var e=f.status;e>=200&&e<300||304===e?p.success(f.responseText,f):p.error(f.statusText,f)}},r.vc.getConfig("disableAjaxTimeout")||(f.ontimeout=function(){(0,i.logError)(" xhr timeout after ",f.timeout,"ms")}),"GET"===l&&s){var v=(0,i.parseUrl)(n,d);o(v.search,s),n=(0,i.buildUrl)(v)}f.open(l,n,!0),r.vc.getConfig("disableAjaxTimeout")||(f.timeout=e),d.withCredentials&&(f.withCredentials=!0),(0,i._each)(d.customHeaders,(function(e,n){f.setRequestHeader(n,e)})),d.preflight&&f.setRequestHeader("X-Requested-With","XMLHttpRequest"),f.setRequestHeader("Content-Type",d.contentType||"text/plain"),"function"==typeof t&&t(g.origin),"POST"===l&&s?f.send(s):f.send()}catch(e){(0,i.logError)("xhr construction",e),"object"===a(u)&&null!==u&&u.error(e)}}}},4892:function(e,n,t){"use strict";t.d(n,{D$:function(){return N},LX:function(){return W},RH:function(){return q},Yt:function(){return _},Yw:function(){return T},dg:function(){return M},e0:function(){return U},lU:function(){return k},mv:function(){return I},sq:function(){return D},vO:function(){return B}});var r=t(9853),i=t(265),o=t(5553),a=t(9017),c=t(905),u=t(4877),s=t(8962),d=t(7112),f=t(3494),l=t(1879),g=t(1929),p=t(8265),v=t(4766),y=t(9624);function b(e){return b="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},b(e)}function h(){return h=Object.assign||function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])}return e},h.apply(this,arguments)}var m=d.k_.syncUsers,E=t(7602).ZP,S=t(2319),A=t(5644),T="inProgress",I="completed";S.on(A.EVENTS.BID_ADJUSTMENT,(function(e){!function(e){var n=e.bidderCode,t=e.cpm,i=y.S.get(n||null,"bidCpmAdjustment");if(i&&"function"==typeof i)try{t=i(e.cpm,h({},e))}catch(e){(0,r.logError)("Error during bid adjustment","bidmanager.js",e)}t>=0&&(e.cpm=t)}(e)}));var C={},w={},O=[];function B(e){var n,t,i,o,a=e.adUnits,c=e.adUnitCodes,u=e.callback,d=e.cbTimeout,f=e.labels,g=e.auctionId,p=a,y=f,b=c,h=[],B=[],D=[],N=g||(0,r.generateUUID)(),x=u,q=d,M=[],G=new Set;function W(){return{auctionId:N,timestamp:n,auctionEnd:t,auctionStatus:i,adUnits:p,adUnitCodes:b,labels:y,bidderRequests:h,noBids:D,bidsReceived:B,winningBids:M,timeout:q}}function F(e,n){if(n&&clearTimeout(o),void 0===t){var c=[];e&&((0,r.logMessage)("Auction ".concat(N," timedOut")),u=G,(c=h.map((function(e){return(e.bids||[]).filter((function(e){return!u.has(e.bidder)}))})).reduce(r.flatten,[])).length&&S.emit(A.EVENTS.BID_TIMEOUT,c)),i=I,t=Date.now(),S.emit(A.EVENTS.AUCTION_END,W()),R(p,(function(){try{if(null!=x){var n=b,t=B.filter(r.bind.call(r.adUnitsFilter,this,n)).reduce(z,{});x.apply(pbjs,[t,e,N]),x=null}}catch(e){(0,r.logError)("Error executing bidsBackHandler",null,e)}finally{c.length&&E.callTimedOutBidders(a,c,q);var i=s.vc.getConfig("userSync")||{};i.enableOverride||m(i.syncDelay)}}))}var u}function L(){s.vc.resetBidder(),(0,r.logInfo)("Bids Received for Auction with id: ".concat(N),B),i=I,F(!1,!0)}function K(e){G.add(e)}function V(e){var n=this;e.forEach((function(e){var n;n=e,h=h.concat(n)}));var t={},a={bidRequests:e,run:function(){var a,d;a=F.bind(null,!0),d=setTimeout(a,q),o=d,i=T,S.emit(A.EVENTS.AUCTION_INIT,W());var f=function(e,n){var t=(arguments.length>2&&void 0!==arguments[2]?arguments[2]:{}).index,i=void 0===t?v.K.index:t,o=0,a=!1,c=new Set,u={},d={};function f(e,n){null==d[e]&&(d[e]=Promise.resolve()),d[e]=d[e].then((function(){return Promise.resolve(n).catch((function(){}))}))}function g(e,t){var r=e.timeout;(null==r||r>n.getTimeout())&&(r=n.getTimeout());var i=n.getAuctionStart()+r-Date.now(),o=d[e.bidderRequestId],a=d[""];(null!=o||null!=a)&&i>0?Promise.race([new Promise((function(e){return setTimeout(e,i)})),Promise.resolve(a).then((function(){return o}))]).then(t):t()}function p(){o--,a&&0===o&&e()}function y(e,t){u[t.requestId]=!0,o++;var r=P({adUnitCode:e,bid:t,auctionId:n.getAuctionId()});"video"===r.mediaType?j(n,r,p):(k(n,r),p())}function b(){var t=n.getBidRequests(),i=s.vc.getConfig("auctionOptions");if(c.add(this),i&&!(0,r.isEmpty)(i)){var d=i.secondaryBidders;d&&!t.every((function(e){return(0,l.q9)(d,e.bidderCode)}))&&(t=t.filter((function(e){return!(0,l.q9)(d,e.bidderCode)})))}a=t.every((function(e){return c.has(e)})),this.bids.forEach((function(e){u[e.bidId]||(n.addNoBid(e),S.emit(A.EVENTS.NO_BID,e))})),a&&0===o&&e()}return{addBidResponse:function(e,n){var t=i.getBidderRequest(n);f(t&&t.bidderRequestId||"",_.call({dispatch:y},e,n))},adapterDone:function(){g(this,b.bind(this))}}}(L,n);E.callBids(p,e,f.addBidResponse,f.adapterDone,{request:function(e,n){u(C,n),u(t,e),w[e]||(w[e]={SRA:!0,origin:n}),t[e]>1&&(w[e].SRA=!1)},done:function(e){C[e]--,O[0]&&c(O[0])&&O.shift()}},q,K)}};function c(e){var n=!0,t=s.vc.getConfig("maxRequestsPerOrigin")||4;return e.bidRequests.some((function(e){var r=1,i=void 0!==e.src&&e.src===A.S2S.SRC?"s2s":e.bidderCode;return w[i]&&(!1===w[i].SRA&&(r=Math.min(e.bids.length,t)),C[w[i].origin]+r>t&&(n=!1)),!n})),n&&e.run(),n}function u(e,n){void 0===e[n]?e[n]=1:e[n]++}c(a)||((0,r.logWarn)("queueing auction due to limited endpoint capacity"),O.push(a))}return{addBidReceived:function(e){B=B.concat(e)},addNoBid:function(e){D=D.concat(e)},executeCallback:F,callBids:function(){i="started",n=Date.now();var e=E.makeBidRequests(p,n,N,q,y);(0,r.logInfo)("Bids Requested for Auction with id: ".concat(N),e),e.length<1?((0,r.logWarn)("No valid bid requests returned for auction"),L()):U.call({dispatch:V,context:this},e)},addWinningBid:function(e){M=M.concat(e),E.callBidWonBidder(e.bidder,e,a)},setBidTargeting:function(e){E.callSetTargetingBidder(e.bidder,e)},getWinningBids:function(){return M},getAuctionStart:function(){return n},getTimeout:function(){return q},getAuctionId:function(){return N},getAuctionStatus:function(){return i},getAdUnits:function(){return p},getAdUnitCodes:function(){return b},getBidRequests:function(){return h},getBidsReceived:function(){return B},getNoBids:function(){return D}}}var _=(0,f.z3)("sync",(function(e,n){this.dispatch.call(null,e,n)}),"addBidResponse"),U=(0,f.z3)("sync",(function(e){this.dispatch.call(this.context,e)}),"addBidderRequests"),R=(0,f.z3)("async",(function(e,n){n&&n()}),"bidsBackCallback");function D(e,n){n.timeToRespond>e.getTimeout()+s.vc.getConfig("timeoutBuffer")&&e.executeCallback(!0)}function k(e,n){var t,r,i;t=n,i=!0===y.S.get(t.bidderCode,"allowZeroCpmBids")?t.cpm>=0:t.cpm>0,t.bidderCode&&(i||t.dealId)&&(r=function(e,n){var t=(arguments.length>2&&void 0!==arguments[2]?arguments[2]:{}).index,r=void 0===t?v.K.index:t;if(!n)return{};var i=r.getBidRequest(n),o={},c=W(n.mediaType,e);return F(o,c,n,i),e&&y.S.getOwn(e,A.JSON_MAPPING.ADSERVER_TARGETING)&&(F(o,y.S.ownSettingsFor(e),n,i),n.sendStandardTargeting=y.S.get(e,"sendStandardTargeting")),n.native&&(o=h({},o,(0,a.Ur)(n))),o}(t.bidderCode,t)),t.adserverTargeting=h(t.adserverTargeting||{},r),S.emit(A.EVENTS.BID_RESPONSE,n),e.addBidReceived(n),D(e,n)}function j(e,n,t){var o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},a=o.index,c=void 0===a?v.K.index:a,u=!0,d=(0,i.Z)(c.getMediaTypes({requestId:n.originalRequestId||n.requestId,transactionId:n.transactionId}),"video"),f=d&&(0,i.Z)(d,"context");s.vc.getConfig("cache.url")&&f!==g.gZ&&(!n.videoCacheKey||s.vc.getConfig("cache.ignoreBidderCacheKey")?(u=!1,N(e,n,t,d)):n.vastUrl||((0,r.logError)("videoCacheKey specified but not required vastUrl for video bid"),u=!1)),u&&(k(e,n),t())}var N=(0,f.z3)("async",(function(e,n,t,i){(0,c.h)([n],(function(i,o){i?((0,r.logWarn)("Failed to save to the video cache: ".concat(i,". Video bid must be discarded.")),D(e,n)):""===o[0].uuid?((0,r.logWarn)("Supplied video cache key was already in use by Prebid Cache; caching attempt was rejected. Video bid must be discarded."),D(e,n)):(n.videoCacheKey=o[0].uuid,n.vastUrl||(n.vastUrl=(0,c.z)(n.videoCacheKey)),k(e,n),t())}))}),"callPrebidCache");function P(e){var n=e.adUnitCode,t=e.bid,i=e.auctionId,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},c=a.index,d=void 0===c?v.K.index:c,f=d.getBidderRequest(t),l=f&&f.start||t.requestTimestamp,g=h({},t,{auctionId:i,responseTimestamp:(0,r.timestamp)(),requestTimestamp:l,cpm:parseFloat(t.cpm)||0,bidder:t.bidderCode,adUnitCode:n});g.timeToRespond=g.responseTimestamp-g.requestTimestamp,S.emit(A.EVENTS.BID_ADJUSTMENT,g);var p=d.getAdUnit(g).renderer,y=g.mediaType,m=d.getMediaTypes(g),E=m&&m[y],T=E&&E.renderer,I=null;T&&T.url&&T.render&&(!0!==T.backupOnly||!t.renderer)?I=T:p&&p.url&&p.render&&(!0!==p.backupOnly||!t.renderer)&&(I=p),I&&(g.renderer=u.Th.install({url:I.url,config:I.options}),g.renderer.setRender(I.render));var C=x(t.mediaType,m,s.vc.getConfig("mediaTypePriceGranularity")),w=(0,o.D)(g.cpm,"object"===b(C)?C:s.vc.getConfig("customPriceBucket"),s.vc.getConfig("currency.granularityMultiplier"));return g.pbLg=w.low,g.pbMg=w.med,g.pbHg=w.high,g.pbAg=w.auto,g.pbDg=w.dense,g.pbCg=w.custom,g}function x(e,n,t){if(e&&t){if(e===p.pX){var r=(0,i.Z)(n,"".concat(p.pX,".context"),"instream");if(t["".concat(p.pX,"-").concat(r)])return t["".concat(p.pX,"-").concat(r)]}return t[e]}}var q=function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},t=n.index,r=void 0===t?v.K.index:t,i=x(e.mediaType,r.getMediaTypes(e),s.vc.getConfig("mediaTypePriceGranularity")),o="string"==typeof e.mediaType&&i?"string"==typeof i?i:"custom":s.vc.getConfig("priceGranularity");return o},M=function(e){return function(n){var t=e||q(n);return t===A.GRANULARITY_OPTIONS.AUTO?n.pbAg:t===A.GRANULARITY_OPTIONS.DENSE?n.pbDg:t===A.GRANULARITY_OPTIONS.LOW?n.pbLg:t===A.GRANULARITY_OPTIONS.MEDIUM?n.pbMg:t===A.GRANULARITY_OPTIONS.HIGH?n.pbHg:t===A.GRANULARITY_OPTIONS.CUSTOM?n.pbCg:void 0}};function G(e,n){return{key:e,val:"function"==typeof n?function(e,t){return n(e,t)}:function(e){return(0,r.getValue)(e,n)}}}function W(e,n){var t=A.TARGETING_KEYS,o=h({},y.S.settingsFor(null));if(o[A.JSON_MAPPING.ADSERVER_TARGETING]||(o[A.JSON_MAPPING.ADSERVER_TARGETING]=function(){var e=A.TARGETING_KEYS;return[G(e.BIDDER,"bidderCode"),G(e.AD_ID,"adId"),G(e.PRICE_BUCKET,M()),G(e.SIZE,"size"),G(e.DEAL,"dealId"),G(e.SOURCE,"source"),G(e.FORMAT,"mediaType"),G(e.ADOMAIN,(function(e){return e.meta&&e.meta.advertiserDomains&&e.meta.advertiserDomains.length>0?e.meta.advertiserDomains[0]:""}))]}()),"video"===e){var a=o[A.JSON_MAPPING.ADSERVER_TARGETING].slice();if(o[A.JSON_MAPPING.ADSERVER_TARGETING]=a,[t.UUID,t.CACHE_ID].forEach((function(e){void 0===(0,l.sE)(a,(function(n){return n.key===e}))&&a.push(G(e,"videoCacheKey"))})),s.vc.getConfig("cache.url")&&(!n||!1!==y.S.get(n,"sendStandardTargeting"))){var c=(0,r.parseUrl)(s.vc.getConfig("cache.url"));void 0===(0,l.sE)(a,(function(e){return e.key===t.CACHE_HOST}))&&a.push(G(t.CACHE_HOST,(function(e){return(0,i.Z)(e,"adserverTargeting.".concat(t.CACHE_HOST))?e.adserverTargeting[t.CACHE_HOST]:c.hostname})))}}return o}function F(e,n,t,i){var o=n[A.JSON_MAPPING.ADSERVER_TARGETING];return t.size=t.getSize(),(0,r._each)(o,(function(o){var a=o.key,c=o.val;if(e[a]&&(0,r.logWarn)("The key: "+a+" is being overwritten"),(0,r.isFn)(c))try{c=c(t,i)}catch(e){(0,r.logError)("bidmanager","ERROR",e)}(void 0===n.suppressEmptyKeys||!0!==n.suppressEmptyKeys)&&a!==A.TARGETING_KEYS.DEAL||!(0,r.isEmptyStr)(c)&&null!=c?e[a]=c:(0,r.logInfo)("suppressing empty key '"+a+"' from adserver targeting")})),e}function z(e,n){return e[n.adUnitCode]||(e[n.adUnitCode]={bids:[]}),e[n.adUnitCode].bids.push(n),e}},4766:function(e,n,t){"use strict";t.d(n,{K:function(){return s}});var r=t(9853),i=t(4892),o=t(1879);function a(){return a=Object.assign||function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])}return e},a.apply(this,arguments)}function c(e){a(this,{getAuction:function(n){var t=n.auctionId;if(null!=t)return e().find((function(e){return e.getAuctionId()===t}))},getAdUnit:function(n){var t=n.transactionId;if(null!=t)return e().flatMap((function(e){return e.getAdUnits()})).find((function(e){return e.transactionId===t}))},getMediaTypes:function(e){var n=e.transactionId,t=e.requestId;if(null!=t){var r=this.getBidRequest({requestId:t});if(null!=r&&(null==n||r.transactionId===n))return r.mediaTypes}else if(null!=n){var i=this.getAdUnit({transactionId:n});if(null!=i)return i.mediaTypes}},getBidderRequest:function(n){var t=n.requestId,r=n.bidderRequestId;if(null!=t||null!=r){var i=e().flatMap((function(e){return e.getBidRequests()}));return null!=r&&(i=i.filter((function(e){return e.bidderRequestId===r}))),null==t?i[0]:i.find((function(e){return e.bids&&null!=e.bids.find((function(e){return e.bidId===t}))}))}},getBidRequest:function(n){var t=n.requestId;if(null!=t)return e().flatMap((function(e){return e.getBidRequests()})).flatMap((function(e){return e.bids})).find((function(e){return e&&e.bidId===t}))}})}var u=t(5644),s=function(){var e=[],n={addWinningBid:function(n){var t=(0,o.sE)(e,(function(e){return e.getAuctionId()===n.auctionId}));t?(n.status=u.BID_STATUS.RENDERED,t.addWinningBid(n)):(0,r.logWarn)("Auction not found when adding winning bid")},getAllWinningBids:function(){return e.map((function(e){return e.getWinningBids()})).reduce(r.flatten,[])},getBidsRequested:function(){return e.map((function(e){return e.getBidRequests()})).reduce(r.flatten,[])},getNoBids:function(){return e.map((function(e){return e.getNoBids()})).reduce(r.flatten,[])},getBidsReceived:function(){return e.map((function(e){if(e.getAuctionStatus()===i.mv)return e.getBidsReceived()})).reduce(r.flatten,[]).filter((function(e){return e}))},getAllBidsForAdUnitCode:function(n){return e.map((function(e){return e.getBidsReceived()})).reduce(r.flatten,[]).filter((function(e){return e&&e.adUnitCode===n}))},getAdUnits:function(){return e.map((function(e){return e.getAdUnits()})).reduce(r.flatten,[])},getAdUnitCodes:function(){return e.map((function(e){return e.getAdUnitCodes()})).reduce(r.flatten,[]).filter(r.uniques)},createAuction:function(n){var t=n.adUnits,r=n.adUnitCodes,o=n.callback,a=n.cbTimeout,c=n.labels,u=n.auctionId,s=(0,i.vO)({adUnits:t,adUnitCodes:r,callback:o,cbTimeout:a,labels:c,auctionId:u});return function(n){e.push(n)}(s),s},findBidByAdId:function(n){return(0,o.sE)(e.map((function(e){return e.getBidsReceived()})).reduce(r.flatten,[]),(function(e){return e.adId===n}))},getStandardBidderAdServerTargeting:function(){return(0,i.LX)()[u.JSON_MAPPING.ADSERVER_TARGETING]},setStatusForBids:function(t,r){var i=n.findBidByAdId(t);if(i&&(i.status=r),i&&r===u.BID_STATUS.BID_TARGETING_SET){var a=(0,o.sE)(e,(function(e){return e.getAuctionId()===i.auctionId}));a&&a.setBidTargeting(i)}},getLastAuctionId:function(){return e.length&&e[e.length-1].getAuctionId()},clearAllAuctions:function(){e.length=0}};return n.index=new c((function(){return e})),n}()},9624:function(e,n,t){"use strict";t.d(n,{S:function(){return f}});var r=t(265),i=t(9853),o=t(2528);function a(e,n){for(var t=0;t<n.length;t++){var r=n[t];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function c(e,n,t){if(!n.has(e))throw new TypeError("attempted to get private field on non-instance");return t}var u=t(5644),s=new WeakSet;function d(e){return null==e?this.defaultScope:e}var f=new(function(){function e(n,t){var r,i;!function(e,n){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this,e),function(e,n){if(n.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(r=this,i=s),i.add(r),this.getSettings=n,this.defaultScope=t}var n,t;return n=e,(t=[{key:"get",value:function(e,n){var t=this.getOwn(e,n);return void 0===t&&(t=this.getOwn(null,n)),t}},{key:"getOwn",value:function(e,n){return e=c(this,s,d).call(this,e),(0,r.Z)(this.getSettings(),"".concat(e,".").concat(n))}},{key:"getScopes",value:function(){var e=this;return Object.keys(this.getSettings()).filter((function(n){return n!==e.defaultScope}))}},{key:"settingsFor",value:function(e){return(0,i.mergeDeep)({},this.ownSettingsFor(null),this.ownSettingsFor(e))}},{key:"ownSettingsFor",value:function(e){return e=c(this,s,d).call(this,e),this.getSettings()[e]||{}}}])&&a(n.prototype,t),Object.defineProperty(n,"prototype",{writable:!1}),e}())((function(){return(0,o.R)().bidderSettings||{}}),u.JSON_MAPPING.BD_SETTING_STANDARD)},1477:function(e,n,t){"use strict";t.d(n,{m:function(){return o}});var r=t(9853);function i(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},t=n.src,i=void 0===t?"client":t,o=n.bidder,a=void 0===o?"":o,c=n.bidId,u=n.transactionId,s=n.auctionId,d=i,f=e||0;function l(){switch(f){case 0:return"Pending";case 1:return"Bid available";case 2:return"Bid returned empty or error response";case 3:return"Bid timed out"}}this.bidderCode=a,this.width=0,this.height=0,this.statusMessage=l(),this.adId=(0,r.getUniqueIdentifierStr)(),this.requestId=c,this.transactionId=u,this.auctionId=s,this.mediaType="banner",this.source=d,this.getStatusCode=function(){return f},this.getSize=function(){return this.width+"x"+this.height},this.getIdentifiers=function(){return{src:this.source,bidder:this.bidderCode,bidId:this.requestId,transactionId:this.transactionId,auctionId:this.auctionId}}}function o(e,n){return new i(e,n)}},8962:function(e,n,t){"use strict";t.d(n,{FD:function(){return v},vc:function(){return m}});var r=t(5553),i=t(1879),o=t(9853),a=t(265),c=["fpd"];function u(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,r)}return t}function s(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function d(e){return d="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},d(e)}function f(){return f=Object.assign||function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])}return e},f.apply(this,arguments)}var l=t(5644),g="TRUE"===(0,o.getParameterByName)(l.DEBUG_MODE).toUpperCase(),p=window.location.origin,v="random",y={};y[v]=!0,y.fixed=!0;var b=v,h={LOW:"low",MEDIUM:"medium",HIGH:"high",AUTO:"auto",DENSE:"dense",CUSTOM:"custom"},m=function(){var e,n,t,l=[],v=null;function m(){e={};var a={_debug:g,get debug(){return this._debug},set debug(e){this._debug=e},_bidderTimeout:3e3,get bidderTimeout(){return this._bidderTimeout},set bidderTimeout(e){this._bidderTimeout=e},_publisherDomain:p,get publisherDomain(){return this._publisherDomain},set publisherDomain(e){this._publisherDomain=e},_priceGranularity:h.MEDIUM,set priceGranularity(e){u(e)&&("string"==typeof e?this._priceGranularity=c(e)?e:h.MEDIUM:(0,o.isPlainObject)(e)&&(this._customPriceBucket=e,this._priceGranularity=h.CUSTOM,(0,o.logMessage)("Using custom price granularity")))},get priceGranularity(){return this._priceGranularity},_customPriceBucket:{},get customPriceBucket(){return this._customPriceBucket},_mediaTypePriceGranularity:{},get mediaTypePriceGranularity(){return this._mediaTypePriceGranularity},set mediaTypePriceGranularity(e){var n=this;this._mediaTypePriceGranularity=Object.keys(e).reduce((function(t,r){return u(e[r])?"string"==typeof e?t[r]=c(e[r])?e[r]:n._priceGranularity:(0,o.isPlainObject)(e)&&(t[r]=e[r],(0,o.logMessage)("Using custom price granularity for ".concat(r))):(0,o.logWarn)("Invalid price granularity for media type: ".concat(r)),t}),{})},_sendAllBids:!0,get enableSendAllBids(){return this._sendAllBids},set enableSendAllBids(e){this._sendAllBids=e},_useBidCache:!1,get useBidCache(){return this._useBidCache},set useBidCache(e){this._useBidCache=e},_deviceAccess:!0,get deviceAccess(){return this._deviceAccess},set deviceAccess(e){this._deviceAccess=e},_bidderSequence:b,get bidderSequence(){return this._bidderSequence},set bidderSequence(e){y[e]?this._bidderSequence=e:(0,o.logWarn)("Invalid order: ".concat(e,". Bidder Sequence was not set."))},_timeoutBuffer:400,get timeoutBuffer(){return this._timeoutBuffer},set timeoutBuffer(e){this._timeoutBuffer=e},_disableAjaxTimeout:!1,get disableAjaxTimeout(){return this._disableAjaxTimeout},set disableAjaxTimeout(e){this._disableAjaxTimeout=e},_maxNestedIframes:10,get maxNestedIframes(){return this._maxNestedIframes},set maxNestedIframes(e){this._maxNestedIframes=e},_auctionOptions:{},get auctionOptions(){return this._auctionOptions},set auctionOptions(e){(function(e){if(!(0,o.isPlainObject)(e))return(0,o.logWarn)("Auction Options must be an object"),!1;for(var n=0,t=Object.keys(e);n<t.length;n++){var r=t[n];if("secondaryBidders"!==r&&"suppressStaleRender"!==r)return(0,o.logWarn)("Auction Options given an incorrect param: ".concat(r)),!1;if("secondaryBidders"===r){if(!(0,o.isArray)(e[r]))return(0,o.logWarn)("Auction Options ".concat(r," must be of type Array")),!1;if(!e[r].every(o.isStr))return(0,o.logWarn)("Auction Options ".concat(r," must be only string")),!1}else if("suppressStaleRender"===r&&!(0,o.isBoolean)(e[r]))return(0,o.logWarn)("Auction Options ".concat(r," must be of type boolean")),!1}return!0})(e)&&(this._auctionOptions=e)}};function c(e){return(0,i.sE)(Object.keys(h),(function(n){return e===h[n]}))}function u(e){if(!e)return(0,o.logError)("Prebid Error: no value passed to `setPriceGranularity()`"),!1;if("string"==typeof e)c(e)||(0,o.logWarn)("Prebid Warning: setPriceGranularity was called with invalid setting, using `medium` as default.");else if((0,o.isPlainObject)(e)&&!(0,r.t)(e))return(0,o.logError)("Invalid custom price value passed to `setPriceGranularity()`"),!1;return!0}n&&C(Object.keys(n).reduce((function(e,t){return n[t]!==a[t]&&(e[t]=a[t]||{}),e}),{})),n=a,t={}}function E(){if(v&&t&&(0,o.isPlainObject)(t[v])){var e=t[v],r=new Set(Object.keys(n).concat(Object.keys(e)));return(0,i.Oc)(r).reduce((function(t,r){return void 0===e[r]?t[r]=n[r]:void 0===n[r]?t[r]=e[r]:(0,o.isPlainObject)(e[r])?t[r]=(0,o.mergeDeep)({},n[r],e[r]):t[r]=e[r],t}),{})}return f({},n)}function S(e){var n={};return Object.keys(e).forEach((function(t){var r="context"===t?"site":t;n[r]="site"===r||"user"===r?Object.keys(e[t]).reduce((function(n,r){return"data"===r?(0,o.mergeDeep)(n,{ext:{data:e[t][r]}}):(0,o.mergeDeep)(n,s({},r,e[t][r])),n}),{}):e[t]})),n}function A(e){var n={};return Object.keys(e).filter((function(e){return"context"===e})).forEach((function(t){Object.keys(e[t]).forEach((function(r){"data"===r?(0,o.mergeDeep)(n,{ext:{data:e[t][r]}}):"object"!==d(e[t][r])||Array.isArray(e[t][r])?(0,o.mergeDeep)(n,{ext:{data:s({},r.toLowerCase(),e[t][r])}}):Object.keys(e[t][r]).forEach((function(i){(0,o.mergeDeep)(n,{ext:{data:s({},r.toLowerCase(),s({},i.toLowerCase(),e[t][r][i]))}})}))}))})),n}function T(t){if((0,o.isPlainObject)(t)){var r=Object.keys(t),i={};r.forEach((function(r){var a="fpd"===r?"ortb2":r,c="fpd"===r?S(t[r]):t[r];(0,o.isPlainObject)(e[a])&&(0,o.isPlainObject)(c)&&(c=f({},e[a],c)),i[a]=n[a]=c})),C(i)}else(0,o.logError)("setConfig options must be an object")}function I(e,n){var t=n;if("string"!=typeof e&&(t=e,e="*"),"function"==typeof t){var r={topic:e,callback:t};return l.push(r),function(){l.splice(l.indexOf(r),1)}}(0,o.logError)("listener must be a function")}function C(e){var n=Object.keys(e);l.filter((function(e){return(0,i.q9)(n,e.topic)})).forEach((function(n){n.callback(s({},n.topic,e[n.topic]))})),l.filter((function(e){return"*"===e.topic})).forEach((function(n){return n.callback(e)}))}function w(e){var n=arguments.length>1&&void 0!==arguments[1]&&arguments[1];try{r(e),e.bidders.forEach((function(r){t[r]||(t[r]={}),Object.keys(e.config).forEach((function(i){var a="fpd"===i?"ortb2":i,c="fpd"===i?S(e.config[i]):e.config[i];if((0,o.isPlainObject)(c)){var u=n?o.mergeDeep:Object.assign;t[r][a]=u({},t[r][a]||{},c)}else t[r][a]=c}))}))}catch(e){(0,o.logError)(e)}function r(e){if(!(0,o.isPlainObject)(e))throw"setBidderConfig bidder options must be an object";if(!Array.isArray(e.bidders)||!e.bidders.length)throw"setBidderConfig bidder options must contain a bidders list with at least 1 bidder";if(!(0,o.isPlainObject)(e.config))throw"setBidderConfig bidder options must contain a config object"}}function O(e,n){v=e;try{return n()}finally{B()}}function B(){v=null}return m(),{getCurrentBidder:function(){return v},resetBidder:B,getConfig:function(){if(arguments.length<=1&&"function"!=typeof(arguments.length<=0?void 0:arguments[0])){var e=arguments.length<=0?void 0:arguments[0];return e?(0,a.Z)(E(),e):E()}return I.apply(void 0,arguments)},readConfig:function(){if(arguments.length<=1&&"function"!=typeof(arguments.length<=0?void 0:arguments[0])){var e=arguments.length<=0?void 0:arguments[0],n=(0,o.deepClone)(E());return e?(0,a.Z)(n,e):n}return I.apply(void 0,arguments)},setConfig:T,mergeConfig:function(e){if((0,o.isPlainObject)(e)){var n=Object.keys(e).reduce((function(n,t){var r=E()[t]||{};return n[t]=(0,o.mergeDeep)(r,e[t]),n}),{});return T(function(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?u(Object(t),!0).forEach((function(n){s(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):u(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}({},n)),n}(0,o.logError)("mergeConfig input must be an object")},setDefaults:function(t){(0,o.isPlainObject)(e)?(f(e,t),f(n,t)):(0,o.logError)("defaults must be an object")},resetConfig:m,runWithBidder:O,callbackWithBidder:function(e){return function(n){return function(){if("function"==typeof n){for(var t=arguments.length,r=new Array(t),i=0;i<t;i++)r[i]=arguments[i];return O(e,o.bind.call.apply(o.bind,[n,this].concat(r)))}(0,o.logWarn)("config.callbackWithBidder callback is not a function")}}},setBidderConfig:w,getBidderConfig:function(){return t},mergeBidderConfig:function(e){return w(e,!0)},convertAdUnitFpd:function(e){var n=[];return e.forEach((function(e){var t;e.fpd?(e.ortb2Imp?(0,o.mergeDeep)(e.ortb2Imp,A(e.fpd)):e.ortb2Imp=A(e.fpd),n.push(((t=e).fpd,function(e,n){if(null==e)return{};var t,r,i=function(e,n){if(null==e)return{};var t,r,i={},o=Object.keys(e);for(r=0;r<o.length;r++)t=o[r],n.indexOf(t)>=0||(i[t]=e[t]);return i}(e,n);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r<o.length;r++)t=o[r],n.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(i[t]=e[t])}return i}(t,c)))):n.push(e)})),n},getLegacyFpd:function(e){if("object"===d(e)){var n={};return Object.keys(e).forEach((function(t){var r="site"===t?"context":t;n[r]="context"===r||"user"===r?Object.keys(e[t]).filter((function(e){return"data"!==e})).reduce((function(n,r){return"ext"===r?(0,o.mergeDeep)(n,e[t][r]):(0,o.mergeDeep)(n,s({},r,e[t][r])),n}),{}):e[t]})),n}},getLegacyImpFpd:function(e){if("object"===d(e)){var n={};return(0,a.Z)(e,"ext.data")&&Object.keys(e.ext.data).forEach((function(t){"pbadslot"===t?(0,o.mergeDeep)(n,{context:{pbAdSlot:e.ext.data[t]}}):"adserver"===t?(0,o.mergeDeep)(n,{context:{adServer:e.ext.data[t]}}):(0,o.mergeDeep)(n,{context:{data:s({},t,e.ext.data[t])}})})),n}}}}()},5553:function(e,n,t){"use strict";t.d(n,{D:function(){return d},t:function(){return l}});var r=t(1879),i=t(9853),o={buckets:[{max:5,increment:.5}]},a={buckets:[{max:20,increment:.1}]},c={buckets:[{max:20,increment:.01}]},u={buckets:[{max:3,increment:.01},{max:8,increment:.05},{max:20,increment:.5}]},s={buckets:[{max:5,increment:.05},{max:10,increment:.1},{max:20,increment:.5}]};function d(e,n){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,r=parseFloat(e);return isNaN(r)&&(r=""),{low:""===r?"":f(e,o,t),med:""===r?"":f(e,a,t),high:""===r?"":f(e,c,t),auto:""===r?"":f(e,s,t),dense:""===r?"":f(e,u,t),custom:""===r?"":f(e,n,t)}}function f(e,n,t){var i="";if(!l(n))return i;var o=n.buckets.reduce((function(e,n){return e.max>n.max?e:n}),{max:0}),a=0,c=(0,r.sE)(n.buckets,(function(n){if(e>o.max*t){var r=n.precision;void 0===r&&(r=2),i=(n.max*t).toFixed(r)}else{if(e<=n.max*t&&e>=a*t)return n.min=a,n;a=n.max}}));return c&&(i=function(e,n,t){var r=void 0!==n.precision?n.precision:2,i=n.increment*t,o=n.min*t,a=Math.pow(10,r+2),c=(e*a-o*a)/(i*a),u=Math.floor(c)*i+o;return(u=Number(u.toFixed(10))).toFixed(r)}(e,c,t)),i}function l(e){if((0,i.isEmpty)(e)||!e.buckets||!Array.isArray(e.buckets))return!1;var n=!0;return e.buckets.forEach((function(e){e.max&&e.increment||(n=!1)})),n}},3636:function(e,n,t){"use strict";t.d(n,{$8:function(){return A},JI:function(){return l},gF:function(){return g},wt:function(){return T}});var r,i,o=t(8962),a=t(4892),c=t(3494),u=(0,t(9853).prefixLog)("DEBUG:"),s=u.logWarn,d=u.logMessage,f="pbjs:debugging",l=[function(e){p(),function(e){r=E.bind(e),a.Yt.before(r,5),i=S.bind(e),a.e0.before(i,5)}(e)}],g=[p];function p(){a.Yt.getHooks({hook:r}).remove(),a.e0.getHooks({hook:i}).remove()}function v(e){var n=arguments.length>1&&void 0!==arguments[1]&&arguments[1];o.vc.setConfig({debug:!0}),l.forEach((function(n){return n(e)})),d("bidder overrides enabled".concat(n?" from session":""))}function y(){g.forEach((function(e){return e()})),d("bidder overrides disabled")}function b(e,n,t){return!(!e.bidder||e.bidder===n)||!(!e.adUnitCode||e.adUnitCode===t)}function h(e,n){return Array.isArray(e)&&-1===e.indexOf(n)}function m(e,n,t){return Object.keys(e).filter((function(e){return-1===["adUnitCode","bidder"].indexOf(e)})).reduce((function(n,r){return d("bidder overrides changed '".concat(n.adUnitCode,"/").concat(n.bidderCode,"' ").concat(t,".").concat(r," from '").concat(n[r],".js' to '").concat(e[r],"'")),n[r]=e[r],n.isDebug=!0,n}),n)}function E(e,n,t){var r=this;h(r.bidders,t.bidderCode)?s("bidder '".concat(t.bidderCode,"' excluded from auction by bidder overrides")):(Array.isArray(r.bids)&&r.bids.forEach((function(e){b(e,t.bidderCode,n)||m(e,t,"bidder")})),e(n,t))}function S(e,n){var t=this,r=n.filter((function(e){return!h(t.bidders,e.bidderCode)||(s("bidRequest '".concat(e.bidderCode,"' excluded from auction by bidder overrides")),!1)}));Array.isArray(t.bidRequests)&&r.forEach((function(e){t.bidRequests.forEach((function(n){e.bids.forEach((function(t){b(n,e.bidderCode,t.adUnitCode)||m(n,t,"bidRequest")}))}))})),e(r)}var A=(0,c.z3)("sync",(function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},t=n.sessionStorage,r=void 0===t?window.sessionStorage:t;if(e.enabled)try{r.setItem(f,JSON.stringify(e))}catch(e){}else try{r.removeItem(f)}catch(e){}}));function T(e){var n;try{e=e||window.sessionStorage,n=JSON.parse(e.getItem(f))}catch(e){}n&&v(n,!0)}o.vc.getConfig("debugging",(function(e){return function(e){var n=(arguments.length>1&&void 0!==arguments[1]?arguments[1]:{}).sessionStorage,t=void 0===n?window.sessionStorage:n;A(e,{sessionStorage:t}),e.enabled?v(e):y()}(e.debugging)}))},2319:function(e,n,t){"use strict";function r(){return r=Object.assign||function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])}return e},r.apply(this,arguments)}t.r(n),t.d(n,{emit:function(){return y},get:function(){return p},getEvents:function(){return v},off:function(){return g},on:function(){return l}});var i=t(9853),o=t(5644),a=Array.prototype.slice,c=Array.prototype.push,u=i._map(o.EVENTS,(function(e){return e})),s=o.EVENT_ID_PATHS,d=[],f=function(){var e={},n={};function t(n,t){i.logMessage("Emitting event for: "+n);var r=t[0]||{},o=r[s[n]],a=e[n]||{que:[]},u=i._map(a,(function(e,n){return n})),f=[];d.push({eventType:n,args:r,id:o,elapsedTime:i.getPerformanceNow()}),o&&i.contains(u,o)&&c.apply(f,a[o].que),c.apply(f,a.que),i._each(f,(function(e){if(e)try{e.apply(null,t)}catch(e){i.logError("Error executing handler:","events.js",e)}}))}return n.on=function(n,t,r){if(function(e){return i.contains(u,e)}(n)){var o=e[n]||{que:[]};r?(o[r]=o[r]||{que:[]},o[r].que.push(t)):o.que.push(t),e[n]=o}else i.logError("Wrong event name : "+n+" Valid event names :"+u)},n.emit=function(e){var n=a.call(arguments,1);t(e,n)},n.off=function(n,t,r){var o=e[n];i.isEmpty(o)||i.isEmpty(o.que)&&i.isEmpty(o[r])||r&&(i.isEmpty(o[r])||i.isEmpty(o[r].que))||(r?i._each(o[r].que,(function(e){var n=o[r].que;e===t&&n.splice(n.indexOf(e),1)})):i._each(o.que,(function(e){var n=o.que;e===t&&n.splice(n.indexOf(e),1)})),e[n]=o)},n.get=function(){return e},n.getEvents=function(){var e=[];return i._each(d,(function(n){var t=r({},n);e.push(t)})),e},n}(),l=f.on,g=f.off,p=f.get,v=f.getEvents,y=f.emit},3494:function(e,n,t){"use strict";t.d(n,{Bx:function(){return l},bA:function(){return f},o0:function(){return s},v5:function(){return u},z3:function(){return c}});var r=t(1432),i=t.n(r);function o(e){return function(e){if(Array.isArray(e))return a(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,n){if(e){if("string"==typeof e)return a(e,n);var t=Object.prototype.toString.call(e).slice(8,-1);return"Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t?Array.from(e):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?a(e,n):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function a(e,n){(null==n||n>e.length)&&(n=e.length);for(var t=0,r=new Array(n);t<n;t++)r[t]=e[t];return r}var c=i()({ready:i().SYNC|i().ASYNC|i().QUEUE}),u=c.get;function s(e,n){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:15,r=e.getHooks({hook:n});0===r.length&&e.before(n,t)}var d={};function f(e,n){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=t.postInstallAllowed,i=void 0!==r&&r;c("async",(function(t){t.forEach((function(e){return n.apply(void 0,o(e))})),i&&(d[e]=n)}),e)([])}function l(e){for(var n=arguments.length,t=new Array(n>1?n-1:0),r=1;r<n;r++)t[r-1]=arguments[r];var i=d[e];if(i)return i.apply(void 0,t);u(e).before((function(e,n){n.push(t),e(n)}))}},8265:function(e,n,t){"use strict";t.d(n,{B5:function(){return r},Mk:function(){return o},Oh:function(){return a},pX:function(){return i}});var r="native",i="video",o="banner",a="adpod"},9017:function(e,n,t){"use strict";t.d(n,{Fb:function(){return v},JL:function(){return E},Sg:function(){return l},Ur:function(){return h},e6:function(){return b},eK:function(){return m},r4:function(){return y},xc:function(){return g}});var r=t(265),i=t(9853),o=t(1879),a=t(4766);function c(e){return c="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},c(e)}function u(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,r)}return t}function s(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?u(Object(t),!0).forEach((function(n){d(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):u(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}function d(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}var f=t(5644),l=[],g=Object.keys(f.NATIVE_KEYS).map((function(e){return f.NATIVE_KEYS[e]})),p={image:{image:{required:!0},title:{required:!0},sponsoredBy:{required:!0},clickUrl:{required:!0},body:{required:!1},icon:{required:!1}}};function v(e){e.forEach((function(e){var n,t,a=e.nativeParams||(0,r.Z)(e,"mediaTypes.native");a&&(e.nativeParams=(n=a)&&n.type&&((t=n.type)&&(0,o.q9)(Object.keys(p),t)||((0,i.logError)("".concat(t," nativeParam is not supported")),0))?p[n.type]:n)}))}function y(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},t=n.index,i=void 0===t?a.K.index:t;if(!(0,r.Z)(e,"native.clickUrl"))return!1;var c=i.getAdUnit(e).nativeParams;if(!c)return!0;var u=Object.keys(c).filter((function(e){return c[e].required})),s=Object.keys(e.native).filter((function(n){return e.native[n]}));return u.every((function(e){return(0,o.q9)(s,e)}))}function b(e,n){var t;return"click"===e.action?t=n.native&&n.native.clickTrackers:(t=n.native&&n.native.impressionTrackers,n.native&&n.native.javascriptTrackers&&(0,i.insertHtmlIntoIframe)(n.native.javascriptTrackers)),(t||[]).forEach(i.triggerPixel),e.action}function h(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},t=n.index,i=void 0===t?a.K.index:t,o={},c=i.getAdUnit(e);(0,r.Z)(c,"nativeParams.rendererUrl")?e.native.rendererUrl=S(c.nativeParams.rendererUrl):(0,r.Z)(c,"nativeParams.adTemplate")&&(e.native.adTemplate=S(c.nativeParams.adTemplate));var u=!1!==(0,r.Z)(c,"nativeParams.sendTargetingKeys"),d=A(c),f=s(s({},e.native),e.native.ext);return delete f.ext,Object.keys(f).forEach((function(n){var t=d[n],i=S(e.native[n])||S((0,r.Z)(e,"native.ext.".concat(n)));if("adTemplate"!==n&&t&&i){var a=(0,r.Z)(c,"nativeParams.".concat(n,".sendId"));"boolean"!=typeof a&&(a=(0,r.Z)(c,"nativeParams.ext.".concat(n,".sendId"))),a&&(i="".concat(t,":").concat(e.adId));var s=(0,r.Z)(c,"nativeParams.".concat(n,".sendTargetingKeys"));"boolean"!=typeof s&&(s=(0,r.Z)(c,"nativeParams.ext.".concat(n,".sendTargetingKeys"))),("boolean"==typeof s?s:u)&&(o[t]=i)}})),o}function m(e,n){var t={message:"assetResponse",adId:e.adId,assets:[]};return n.native.hasOwnProperty("adTemplate")&&(t.adTemplate=S(n.native.adTemplate)),n.native.hasOwnProperty("rendererUrl")&&(t.rendererUrl=S(n.native.rendererUrl)),e.assets.forEach((function(e){var r=(0,i.getKeyByValue)(f.NATIVE_KEYS,e),o=S(n.native[r]);t.assets.push({key:r,value:o})})),t}function E(e,n){var t={message:"assetResponse",adId:e.adId,assets:[]};return Object.keys(n.native).forEach((function(e,r){if("adTemplate"===e&&n.native[e])t.adTemplate=S(n.native[e]);else if("rendererUrl"===e&&n.native[e])t.rendererUrl=S(n.native[e]);else if("ext"===e)Object.keys(n.native[e]).forEach((function(r){if(n.native[e][r]){var i=S(n.native[e][r]);t.assets.push({key:r,value:i})}}));else if(n.native[e]&&f.NATIVE_KEYS.hasOwnProperty(e)){var i=S(n.native[e]);t.assets.push({key:e,value:i})}})),t}function S(e){return"object"===c(e)&&e.url?e.url:e}function A(e){var n={};return(0,r.Z)(e,"nativeParams.ext")&&Object.keys(e.nativeParams.ext).forEach((function(e){n[e]="hb_native_".concat(e)})),s(s({},f.NATIVE_KEYS),n)}},1879:function(e,n,t){"use strict";function r(e,n,t){return e&&e.includes(n,t)||!1}function i(){return Array.from.apply(Array,arguments)}function o(e,n,t){return e&&e.find(n,t)}function a(e,n,t){return e&&e.findIndex(n,t)}t.d(n,{Oc:function(){return i},cx:function(){return a},q9:function(){return r},sE:function(){return o}})},2786:function(e,n,t){"use strict";t.d(n,{zh:function(){return oe},O5:function(){return ae}});var r=t(2528),i=t(9853),o=t(265),a=t(2319),c=t(9017),u=t(5644),s=t(4766),d=t(1879),f=t(4877),l=t(8962),g=u.EVENTS,p=g.AD_RENDER_FAILED,v=g.AD_RENDER_SUCCEEDED;function y(e){var n=e.reason,t=e.message,r=e.bid,o=e.id,c={reason:n,message:t};r&&(c.bid=r),o&&(c.adId=o),(0,i.logError)(t),a.emit(p,c)}function b(e){var n=e.doc,t=e.bid,r=e.id,i={doc:n};t&&(i.bid=t),r&&(i.adId=r),a.emit(v,i)}var h=u.EVENTS.BID_WON,m=u.EVENTS.STALE_RENDER,E={"Prebid Request":function(e,n,t){if(null!=t){if(t.status!==u.BID_STATUS.RENDERED||((0,i.logWarn)("Ad id ".concat(t.adId," has been rendered before")),a.emit(m,t),!(0,o.Z)(l.vc.getConfig("auctionOptions"),"suppressStaleRender"))){try{!function(e,n){var t=e.adId,r=e.ad,o=e.adUrl,a=e.width,c=e.height,u=e.renderer,s=e.cpm,d=e.originalCpm;(0,f.Pd)(u)?(0,f._U)(u,e):t&&(A(e),n({message:"Prebid Response",ad:(0,i.replaceAuctionPrice)(r,d||s),adUrl:(0,i.replaceAuctionPrice)(o,d||s),adId:t,width:a,height:c}))}(t,e)}catch(e){return void y({reason:u.AD_RENDER_FAILED_REASON.EXCEPTION,message:e.message,id:n.adId,bid:t})}s.K.addWinningBid(t),a.emit(h,t)}}else y({reason:u.AD_RENDER_FAILED_REASON.CANNOT_FIND_AD,message:"Cannot find ad '".concat(n.adId,"' for cross-origin render request"),id:n.adId})},"Prebid Native":function(e,n,t){if(null!=t)switch(n.action){case"assetRequest":e((0,c.eK)(n,t));break;case"allAssetRequest":e((0,c.JL)(n,t));break;case"resizeNativeHeight":t.height=n.height,t.width=n.width,A(t);break;default:if("click"===(0,c.e6)(n,t))return;s.K.addWinningBid(t),a.emit(h,t)}else(0,i.logError)("Cannot find ad '".concat(n.adId,"' for x-origin event request"))},"Prebid Event":function(e,n,t){if(null!=t)if(t.status===u.BID_STATUS.RENDERED)switch(n.event){case u.EVENTS.AD_RENDER_FAILED:y({bid:t,id:n.adId,reason:n.info.reason,message:n.info.message});break;case u.EVENTS.AD_RENDER_SUCCEEDED:b({doc:null,bid:t,id:n.adId});break;default:(0,i.logError)("Received x-origin event request for unsupported event: '".concat(n.event,"' (adId: '").concat(n.adId,"')"))}else(0,i.logWarn)("Received x-origin event request without corresponding render request for ad '".concat(n.adId,"'"));else(0,i.logError)("Cannot find ad '".concat(n.adId,"' for x-origin event request"))}};function S(e){var n=e.message?"message":"data",t={};try{t=JSON.parse(e[n])}catch(e){return}if(t&&t.adId&&t.message){var r=(0,d.sE)(s.K.getBidsReceived(),(function(e){return e.adId===t.adId}));E.hasOwnProperty(t.message)&&E[t.message](function(e){return null==e.origin&&0===e.ports.length?function(){var e="Cannot post message to a frame with null origin. Please update creatives to use MessageChannel, see https://github.com/prebid/Prebid.js/issues/7870";throw(0,i.logError)(e),new Error(e)}:e.ports.length>0?function(n){e.ports[0].postMessage(JSON.stringify(n))}:function(n){e.source.postMessage(JSON.stringify(n),e.origin)}}(e),t,r)}}function A(e){var n=e.adId,t=e.adUnitCode,r=e.width,o=e.height;["div","iframe"].forEach((function(e){var a=function(e){var r=function(e,n){return(0,i.isGptPubadsDefined)()?function(e){var n=(0,d.sE)(window.googletag.pubads().getSlots(),(function(n){return(0,d.sE)(n.getTargetingKeys(),(function(t){return(0,d.q9)(n.getTargeting(t),e)}))}));return n?n.getSlotElementId():null}(e):(0,i.isApnGetTagDefined)()?function(e){var n=window.apntag.getTag(e);return n&&n.targetId}(n):n}(n,t),o=document.getElementById(r);return o&&o.querySelector(e)}(e+':not([style*="display: none"])');if(a){var c=a.style;c.width=r+"px",c.height=o+"px"}else(0,i.logWarn)("Unable to locate matching page element for adUnitCode ".concat(t,". Can't resize it to ad's dimensions. Please review setup."))}))}var T=t(7112),I=t(9742),C=t(3494),w=t(3636),O=t(7263),B=t(1477),_=t(5849),U=t(7602);function R(e){return function(e){if(Array.isArray(e))return D(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,n){if(e){if("string"==typeof e)return D(e,n);var t=Object.prototype.toString.call(e).slice(8,-1);return"Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t?Array.from(e):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?D(e,n):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function D(e,n){(null==n||n>e.length)&&(n=e.length);for(var t=0,r=new Array(n);t<n;t++)r[t]=e[t];return r}function k(){return k=Object.assign||function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])}return e},k.apply(this,arguments)}var j=(0,r.R)(),N=t(5644),P=t(7602).ZP,x=t(2319),q=T.k_.triggerUserSyncs,M=N.EVENTS,G=M.ADD_AD_UNITS,W=M.BID_WON,F=M.REQUEST_BIDS,z=M.SET_TARGETING,L=M.STALE_RENDER,K=N.AD_RENDER_FAILED_REASON,V=K.PREVENT_WRITING_ON_MAIN_DOCUMENT,H=K.NO_AD,Z=K.EXCEPTION,Y=K.CANNOT_FIND_AD,J=K.MISSING_DOC_OR_ADID,Q={bidWon:function(e){var n=s.K.getBidsRequested().map((function(e){return e.bids.map((function(e){return e.adUnitCode}))})).reduce(i.flatten).filter(i.uniques);if((0,i.contains)(n,e))return!0;(0,i.logError)('The "'+e+'" placement is not defined.')}};function X(e,n,t){e.defaultView&&e.defaultView.frameElement&&(e.defaultView.frameElement.width=n,e.defaultView.frameElement.height=t)}function $(e,n){var t=[];return(0,i.isArray)(e)&&(n?e.length===n:e.length>0)&&(e.every((function(e){return(0,i.isArrayOfNums)(e,2)}))?t=e:(0,i.isArrayOfNums)(e,2)&&t.push(e)),t}function ee(e){var n=(0,i.deepClone)(e),t=n.mediaTypes.banner,r=$(t.sizes);return r.length>0?(t.sizes=r,n.sizes=r):((0,i.logError)("Detected a mediaTypes.banner object without a proper sizes field. Please ensure the sizes are listed like: [[300, 250], ...]. Removing invalid mediaTypes.banner object from request."),delete n.mediaTypes.banner),n}function ne(e){var n=(0,i.deepClone)(e),t=n.mediaTypes.video;if(t.playerSize){var r="number"==typeof t.playerSize[0]?2:1,o=$(t.playerSize,r);o.length>0?(2===r&&(0,i.logInfo)("Transforming video.playerSize from [640,480] to [[640,480]] so it's in the proper format."),t.playerSize=o,n.sizes=o):((0,i.logError)("Detected incorrect configuration of mediaTypes.video.playerSize. Please specify only one set of dimensions in a format like: [[640, 480]]. Removing invalid mediaTypes.video.playerSize property from request."),delete n.mediaTypes.video.playerSize)}return n}function te(e){var n=(0,i.deepClone)(e),t=n.mediaTypes.native;return t.image&&t.image.sizes&&!Array.isArray(t.image.sizes)&&((0,i.logError)("Please use an array of sizes for native.image.sizes field. Removing invalid mediaTypes.native.image.sizes property from request."),delete n.mediaTypes.native.image.sizes),t.image&&t.image.aspect_ratios&&!Array.isArray(t.image.aspect_ratios)&&((0,i.logError)("Please use an array of sizes for native.image.aspect_ratios field. Removing invalid mediaTypes.native.image.aspect_ratios property from request."),delete n.mediaTypes.native.image.aspect_ratios),t.icon&&t.icon.sizes&&!Array.isArray(t.icon.sizes)&&((0,i.logError)("Please use an array of sizes for native.icon.sizes field. Removing invalid mediaTypes.native.icon.sizes property from request."),delete n.mediaTypes.native.icon.sizes),n}function re(e,n){var t=(0,o.Z)(e,"mediaTypes.".concat(n,".pos"));if(!(0,i.isNumber)(t)||isNaN(t)||!isFinite(t)){var r="Value of property 'pos' on ad unit ".concat(e.code," should be of type: Number");(0,i.logWarn)(r),x.emit(N.EVENTS.AUCTION_DEBUG,{type:"WARNING",arguments:r}),delete e.mediaTypes[n].pos}return e}function ie(e){var n=function(n){return"adUnit.code '".concat(e.code,"' ").concat(n)},t=e.mediaTypes,r=e.bids;return null==r||(0,i.isArray)(r)?null==r&&null==e.ortb2Imp?((0,i.logError)(n("has no 'adUnit.bids' and no 'adUnit.ortb2Imp'. Removing adUnit from auction")),null):t&&0!==Object.keys(t).length?(null==e.ortb2Imp||null!=r&&0!==r.length||(e.bids=[{bidder:null}],(0,i.logMessage)(n("defines 'adUnit.ortb2Imp' with no 'adUnit.bids'; it will be seen only by S2S adapters"))),e):((0,i.logError)(n("does not define a 'mediaTypes' object. This is a required field for the auction, so this adUnit has been removed.")),null):((0,i.logError)(n("defines 'adUnit.bids' that is not an array. Removing adUnit from auction")),null)}(0,w.wt)(),j.bidderSettings=j.bidderSettings||{},j.libLoaded=!0,j.version="v6.23.0",(0,i.logInfo)("Prebid.js v6.23.0 loaded"),j.installedModules=j.installedModules||[],j.adUnits=j.adUnits||[],j.triggerUserSyncs=q;var oe={validateAdUnit:ie,validateBannerMediaType:ee,validateVideoMediaType:ne,validateNativeMediaType:te,validateSizes:$},ae=(0,C.z3)("sync",(function(e){var n=[];return e.forEach((function(e){if(null!=(e=ie(e))){var t,r,i,o=e.mediaTypes;o.banner&&(t=ee(e),o.banner.hasOwnProperty("pos")&&(t=re(t,"banner"))),o.video&&(r=ne(t||e),o.video.hasOwnProperty("pos")&&(r=re(r,"video"))),o.native&&(i=te(r||t||e));var a=k({},t,r,i);n.push(a)}})),n}),"checkAdUnitSetup");function ce(e){var n=s.K[e]().filter(i.bind.call(i.adUnitsFilter,this,s.K.getAdUnitCodes())),t=s.K.getLastAuctionId();return n.map((function(e){return e.adUnitCode})).filter(i.uniques).map((function(e){return n.filter((function(n){return n.auctionId===t&&n.adUnitCode===e}))})).filter((function(e){return e&&e[0]&&e[0].adUnitCode})).map((function(e){return n={},r={bids:e},(t=e[0].adUnitCode)in n?Object.defineProperty(n,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):n[t]=r,n;var n,t,r})).reduce((function(e,n){return k(e,n)}),{})}function ue(e,n,t){var r=n.querySelector(t);e.parentNode&&e.parentNode===r||(0,i.insertElement)(e,n,t)}j.getAdserverTargetingForAdUnitCodeStr=function(e){if((0,i.logInfo)("Invoking pbjs.getAdserverTargetingForAdUnitCodeStr",arguments),e){var n=j.getAdserverTargetingForAdUnitCode(e);return(0,i.transformAdServerTargetingObj)(n)}(0,i.logMessage)("Need to call getAdserverTargetingForAdUnitCodeStr with adunitCode")},j.getHighestUnusedBidResponseForAdUnitCode=function(e){if(e){var n=s.K.getAllBidsForAdUnitCode(e).filter(I.u8.isUnusedBid).filter(I.u8.isBidNotExpired);return n.length?n.reduce(i.getHighestCpm):{}}(0,i.logMessage)("Need to call getHighestUnusedBidResponseForAdUnitCode with adunitCode")},j.getAdserverTargetingForAdUnitCode=function(e){return j.getAdserverTargeting(e)[e]},j.getAdserverTargeting=function(e){return(0,i.logInfo)("Invoking pbjs.getAdserverTargeting",arguments),I.q0.getAllTargeting(e)},j.getConsentMetadata=function(){return(0,i.logInfo)("Invoking pbjs.getConsentMetadata"),{gdpr:U.rp.getConsentMeta(),usp:U.nX.getConsentMeta(),coppa:!!l.vc.getConfig("coppa")}},j.getNoBids=function(){return(0,i.logInfo)("Invoking pbjs.getNoBids",arguments),ce("getNoBids")},j.getNoBidsForAdUnitCode=function(e){return{bids:s.K.getNoBids().filter((function(n){return n.adUnitCode===e}))}},j.getBidResponses=function(){return(0,i.logInfo)("Invoking pbjs.getBidResponses",arguments),ce("getBidsReceived")},j.getBidResponsesForAdUnitCode=function(e){return{bids:s.K.getBidsReceived().filter((function(n){return n.adUnitCode===e}))}},j.setTargetingForGPTAsync=function(e,n){if((0,i.logInfo)("Invoking pbjs.setTargetingForGPTAsync",arguments),(0,i.isGptPubadsDefined)()){var t=I.q0.getAllTargeting(e);I.q0.resetPresetTargeting(e,n),I.q0.setTargetingForGPT(t,n),Object.keys(t).forEach((function(e){Object.keys(t[e]).forEach((function(n){"hb_adid"===n&&s.K.setStatusForBids(t[e][n],N.BID_STATUS.BID_TARGETING_SET)}))})),x.emit(z,t)}else(0,i.logError)("window.googletag is not defined on the page")},j.setTargetingForAst=function(e){(0,i.logInfo)("Invoking pbjs.setTargetingForAn",arguments),I.q0.isApntagDefined()?(I.q0.setTargetingForAst(e),x.emit(z,I.q0.getAllTargeting())):(0,i.logError)("window.apntag is not defined on the page")},j.renderAd=(0,C.z3)("async",(function(e,n,t){if((0,i.logInfo)("Invoking pbjs.renderAd",arguments),(0,i.logMessage)("Calling renderAd with adId :"+n),e&&n)try{var r=s.K.findBidByAdId(n);if(r){var a=!0;if(r&&r.status===N.BID_STATUS.RENDERED&&((0,i.logWarn)("Ad id ".concat(r.adId," has been rendered before")),x.emit(L,r),(0,o.Z)(l.vc.getConfig("auctionOptions"),"suppressStaleRender")&&(a=!1)),a){if(r.ad=(0,i.replaceAuctionPrice)(r.ad,r.originalCpm||r.cpm),r.adUrl=(0,i.replaceAuctionPrice)(r.adUrl,r.originalCpm||r.cpm),t&&t.clickThrough){var c=t.clickThrough;r.ad=(0,i.replaceClickThrough)(r.ad,c),r.adUrl=(0,i.replaceClickThrough)(r.adUrl,c)}s.K.addWinningBid(r),x.emit(W,r);var u=r.height,d=r.width,g=r.ad,p=r.mediaType,v=r.adUrl,h=r.renderer,m=document.createComment("Creative ".concat(r.creativeId," served by ").concat(r.bidder," Prebid.js Header Bidding"));if((0,i.insertElement)(m,e,"html"),(0,f.Pd)(h))(0,f._U)(h,r,e),ue(m,e,"html"),b({doc:e,bid:r,id:n});else if(e===document&&!(0,i.inIframe)()||"video"===p){var E="Error trying to write ad. Ad render call ad id ".concat(n," was prevented from writing to the main document.");y({reason:V,message:E,bid:r,id:n})}else if(g)e.write(g),e.close(),X(e,d,u),ue(m,e,"html"),(0,i.callBurl)(r),b({doc:e,bid:r,id:n});else if(v){var S=(0,i.createInvisibleIframe)();S.height=u,S.width=d,S.style.display="inline",S.style.overflow="hidden",S.src=v,(0,i.insertElement)(S,e,"body"),X(e,d,u),ue(m,e,"html"),(0,i.callBurl)(r),b({doc:e,bid:r,id:n})}else{var A="Error trying to write ad. No ad for bid response id: ".concat(n);y({reason:H,message:A,bid:r,id:n})}}}else{var T="Error trying to write ad. Cannot find ad by given id : ".concat(n);y({reason:Y,message:T,id:n})}}catch(e){var I="Error trying to write ad Id :".concat(n," to the page:").concat(e.message);y({reason:Z,message:I,id:n})}else{var C="Error trying to write ad Id :".concat(n," to the page. Missing document or adId");y({reason:J,message:C,id:n})}})),j.removeAdUnit=function(e){(0,i.logInfo)("Invoking pbjs.removeAdUnit",arguments),e?((0,i.isArray)(e)?e:[e]).forEach((function(e){for(var n=j.adUnits.length-1;n>=0;n--)j.adUnits[n].code===e&&j.adUnits.splice(n,1)})):j.adUnits=[]},j.requestBids=(0,C.z3)("async",(function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=e.bidsBackHandler,t=e.timeout,r=e.adUnits,o=e.adUnitCodes,a=e.labels,c=e.auctionId;x.emit(F);var u=t||l.vc.getConfig("bidderTimeout");r=r&&l.vc.convertAdUnitFpd((0,i.isArray)(r)?r:[r])||j.adUnits,(0,i.logInfo)("Invoking pbjs.requestBids",arguments);var f=[],g=[];if(l.vc.getConfig("s2sConfig",(function(e){e&&e.s2sConfig&&(f=Array.isArray(e.s2sConfig)?e.s2sConfig:[e.s2sConfig])})),f.forEach((function(e){g.push.apply(g,R(e.bidders))})),r=ae(r),o&&o.length?r=r.filter((function(e){return(0,d.q9)(o,e.code)})):o=r&&r.map((function(e){return e.code})),r.forEach((function(e){var n=Object.keys(e.mediaTypes||{banner:"banner"}),t=e.bids.map((function(e){return e.bidder})),r=P.bidderRegistry,o=g?t.filter((function(e){return!(0,d.q9)(g,e)})):t;e.transactionId=(0,i.generateUUID)(),o.forEach((function(t){var o=r[t],a=o&&o.getSpec&&o.getSpec(),c=a&&a.supportedMediaTypes||["banner"];n.some((function(e){return(0,d.q9)(c,e)}))?O.f.incrementBidderRequestsCounter(e.code,t):((0,i.logWarn)((0,i.unsupportedBidderMessage)(e,t)),e.bids=e.bids.filter((function(e){return e.bidder!==t})))})),O.f.incrementRequestsCounter(e.code)})),r&&0!==r.length){var p=s.K.createAuction({adUnits:r,adUnitCodes:o,callback:n,cbTimeout:u,labels:a,auctionId:c}),v=r.length;v>15&&(0,i.logInfo)("Current auction ".concat(p.getAuctionId()," contains ").concat(v," adUnits."),r),o.forEach((function(e){return I.q0.setLatestAuctionForAdUnit(e,p.getAuctionId())})),p.callBids()}else if((0,i.logMessage)("No adUnits configured. No bids requested."),"function"==typeof n)try{n()}catch(e){(0,i.logError)("Error executing bidsBackHandler",null,e)}})),j.requestBids.before((function(e,n){function t(e){for(var n;n=e.shift();)n()}t(_.Ld),t(se),e.call(this,n)}),49),j.addAdUnits=function(e){(0,i.logInfo)("Invoking pbjs.addAdUnits",arguments),j.adUnits.push.apply(j.adUnits,l.vc.convertAdUnitFpd((0,i.isArray)(e)?e:[e])),x.emit(G)},j.onEvent=function(e,n,t){(0,i.logInfo)("Invoking pbjs.onEvent",arguments),(0,i.isFn)(n)?!t||Q[e].call(null,t)?x.on(e,n,t):(0,i.logError)('The id provided is not valid for event "'+e+'" and no handler was set.'):(0,i.logError)('The event handler provided is not a function and was not set on event "'+e+'".')},j.offEvent=function(e,n,t){(0,i.logInfo)("Invoking pbjs.offEvent",arguments),t&&!Q[e].call(null,t)||x.off(e,n,t)},j.getEvents=function(){return(0,i.logInfo)("Invoking pbjs.getEvents"),x.getEvents()},j.registerBidAdapter=function(e,n){(0,i.logInfo)("Invoking pbjs.registerBidAdapter",arguments);try{P.registerBidAdapter(e(),n)}catch(e){(0,i.logError)("Error registering bidder adapter : "+e.message)}},j.registerAnalyticsAdapter=function(e){(0,i.logInfo)("Invoking pbjs.registerAnalyticsAdapter",arguments);try{P.registerAnalyticsAdapter(e)}catch(e){(0,i.logError)("Error registering analytics adapter : "+e.message)}},j.createBid=function(e){return(0,i.logInfo)("Invoking pbjs.createBid",arguments),(0,B.m)(e)};var se=[],de=(0,C.z3)("async",(function(e){e&&!(0,i.isEmpty)(e)?((0,i.logInfo)("Invoking pbjs.enableAnalytics for: ",e),P.enableAnalytics(e)):(0,i.logError)("pbjs.enableAnalytics should be called with option {}")}),"enableAnalyticsCb");function fe(e){e.forEach((function(e){if(void 0===e.called)try{e.call(),e.called=!0}catch(e){(0,i.logError)("Error processing command :","prebid.js",e)}}))}j.enableAnalytics=function(e){se.push(de.bind(this,e))},j.aliasBidder=function(e,n,t){(0,i.logInfo)("Invoking pbjs.aliasBidder",arguments),e&&n?P.aliasBidAdapter(e,n,t):(0,i.logError)("bidderCode and alias must be passed as arguments","pbjs.aliasBidder")},j.getAllWinningBids=function(){return s.K.getAllWinningBids()},j.getAllPrebidWinningBids=function(){return s.K.getBidsReceived().filter((function(e){return e.status===N.BID_STATUS.BID_TARGETING_SET}))},j.getHighestCpmBids=function(e){return I.q0.getWinningBids(e)},j.markWinningBidAsUsed=function(e){var n=[];e.adUnitCode&&e.adId?n=s.K.getBidsReceived().filter((function(n){return n.adId===e.adId&&n.adUnitCode===e.adUnitCode})):e.adUnitCode?n=I.q0.getWinningBids(e.adUnitCode):e.adId?n=s.K.getBidsReceived().filter((function(n){return n.adId===e.adId})):(0,i.logWarn)("Improper use of markWinningBidAsUsed. It needs an adUnitCode or an adId to function."),n.length>0&&(n[0].status=N.BID_STATUS.RENDERED)},j.getConfig=l.vc.getConfig,j.readConfig=l.vc.readConfig,j.mergeConfig=l.vc.mergeConfig,j.mergeBidderConfig=l.vc.mergeBidderConfig,j.setConfig=l.vc.setConfig,j.setBidderConfig=l.vc.setBidderConfig,j.que.push((function(){window.addEventListener("message",S,!1)})),j.cmd.push=function(e){if("function"==typeof e)try{e.call()}catch(e){(0,i.logError)("Error processing command :",e.message,e.stack)}else(0,i.logError)("Commands written into pbjs.cmd.push must be wrapped in a function")},j.que.push=j.cmd.push,j.processQueue=function(){C.z3.ready(),fe(j.que),fe(j.cmd)}},2528:function(e,n,t){"use strict";function r(){return window.pbjs}t.d(n,{R:function(){return r}}),window.pbjs=window.pbjs||{},window.pbjs.cmd=window.pbjs.cmd||[],window.pbjs.que=window.pbjs.que||[],window._pbjsGlobals=window._pbjsGlobals||[],window._pbjsGlobals.push("pbjs")},2661:function(e,n,t){"use strict";t.d(n,{n:function(){return o}});var r=t(8962),i=t(9853),o=function(e){function n(e){var n=r.vc.getConfig("pageUrl");if(n)return n;try{var t=e.querySelector("link[rel='canonical']");if(null!==t)return t.href}catch(e){}return null}return function(){var t,o,a,c=[],u=function(e){try{if(!e.location.ancestorOrigins)return;return e.location.ancestorOrigins}catch(e){}}(e),s=r.vc.getConfig("maxNestedIframes"),d=!1,f=0,l=!1,g=!1;do{var p=t,v=g,y=void 0,b=!1,h=null;g=!1,t=t?t.parent:e;try{y=t.location.href||null}catch(e){b=!0}if(b)if(v){var m=p.context;try{o=h=m.sourceUrl,l=!0,t===e.top&&(d=!0),m.canonicalUrl&&(a=m.canonicalUrl)}catch(e){}}else{(0,i.logWarn)("Trying to access cross domain iframe. Continuing without referrer and location");try{var E=p.document.referrer;E&&(h=E,t===e.top&&(d=!0))}catch(e){}!h&&u&&u[f-1]&&(h=u[f-1]),h&&!l&&(o=h)}else{if(y&&(o=h=y,l=!1,t===e.top)){d=!0;var S=n(t.document);S&&(a=S)}t.context&&t.context.sourceUrl&&(g=!0)}c.push(h),f++}while(t!==e.top&&f<s);return c.reverse(),{referer:o||null,reachedTop:d,isAmp:l,numIframes:f-1,stack:c,canonicalUrl:a||null}}}(window)},1269:function(e,n,t){"use strict";t.d(n,{UB:function(){return g},lO:function(){return d}});var r=t(8962),i=t(9853),o=t(265),a=t(1879);function c(e){return c="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},c(e)}var u=[];function s(e,n){return e.labelAll?{labelAll:!0,labels:e.labelAll,activeLabels:n}:{labelAll:!1,labels:e.labelAny,activeLabels:n}}function d(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:u,t=l(n);return!t.shouldFilter||!!t.sizesSupported[e]}function f(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=e.labels,t=void 0===n?[]:n,r=e.labelAll,c=void 0!==r&&r,s=e.activeLabels,d=void 0===s?[]:s,f=arguments.length>1?arguments[1]:void 0,g=arguments.length>2?arguments[2]:void 0,p=arguments.length>3&&void 0!==arguments[3]?arguments[3]:u,v=l(p);f=(0,i.isPlainObject)(f)?(0,i.deepClone)(f):g?{banner:{sizes:g}}:{};var y=(0,o.Z)(f,"banner.sizes");v.shouldFilter&&y&&(f.banner.sizes=y.filter((function(e){return v.sizesSupported[e]})));var b=Object.keys(f),h={active:b.every((function(e){return"banner"!==e}))||b.some((function(e){return"banner"===e}))&&(0,o.Z)(f,"banner.sizes.length")>0&&(0===t.length||!c&&(t.some((function(e){return v.labels[e]}))||t.some((function(e){return(0,a.q9)(d,e)})))||c&&t.reduce((function(e,n){return e?v.labels[n]||(0,a.q9)(d,n):e}),!0)),mediaTypes:f};return y&&y.length!==f.banner.sizes.length&&(h.filterResults={before:y,after:f.banner.sizes}),h}function l(e){return e.reduce((function(e,n){if("object"===c(n)&&"string"==typeof n.mediaQuery&&n.mediaQuery.length>0){var t=!1;try{t=(0,i.getWindowTop)().matchMedia(n.mediaQuery).matches}catch(e){(0,i.logWarn)("Unfriendly iFrame blocks sizeConfig from being correctly evaluated"),t=matchMedia(n.mediaQuery).matches}t&&(Array.isArray(n.sizesSupported)&&(e.shouldFilter=!0),["labels","sizesSupported"].forEach((function(t){return(n[t]||[]).forEach((function(n){return e[t][n]=!0}))})))}else(0,i.logWarn)('sizeConfig rule missing required property "mediaQuery"');return e}),{labels:{},sizesSupported:{},shouldFilter:!1})}function g(e,n){return e.reduce((function(e,t){var r=f(s(t,n),t.mediaTypes,t.sizes),o=r.active,a=r.mediaTypes,c=r.filterResults;return o?(c&&(0,i.logInfo)('Size mapping filtered adUnit "'.concat(t.code,'" banner sizes from '),c.before,"to ",c.after),t.mediaTypes=a,t.bids=t.bids.reduce((function(e,r){var o=f(s(r,n),t.mediaTypes),a=o.active,c=o.mediaTypes,u=o.filterResults;return a?(u&&((0,i.logInfo)('Size mapping filtered adUnit "'.concat(t.code,'" bidder "').concat(r.bidder,'" banner sizes from '),u.before,"to ",u.after),r.mediaTypes=c),e.push(r)):(0,i.logInfo)('Size mapping deactivated adUnit "'.concat(t.code,'" bidder "').concat(r.bidder,'"')),e}),[]),e.push(t)):(0,i.logInfo)('Size mapping disabled adUnit "'.concat(t.code,'"')),e}),[])}r.vc.getConfig("sizeConfig",(function(e){return function(e){u=e}(e.sizeConfig)}))},5849:function(e,n,t){"use strict";t.d(n,{Ld:function(){return u},S6:function(){return d},df:function(){return l},eA:function(){return f}});var r=t(3494),i=t(9853),o=t(1879),a=t(9624),c=["core","prebid-module"],u=[];function s(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=e.gvlid,t=e.moduleName,r=e.bidderCode,s=e.moduleType,f=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},l=f.bidderSettings,g=void 0===l?a.S:l;function p(){if(null==r)return!1;var e=g.get(r,"storageAllowed");return null!=e&&!e}function v(e){return(0,o.q9)(c,s)?e({valid:!0}):p()?((0,i.logInfo)("bidderSettings denied access to device storage for bidder '".concat(r,"'")),e({valid:!1})):(d(n,r||t,{hasEnforcementHook:!1},(function(n){if(n&&n.hasEnforcementHook)a=e(n);else{var t={hasEnforcementHook:!1,valid:(0,i.hasDeviceAccess)()};a=e(t)}})),a);var a}var y=function(e,n,t,r,i,o){var a=function(o){if(o&&o.valid){var a=i&&""!==i?" ;domain=".concat(encodeURIComponent(i)):"",c=t&&""!==t?" ;expires=".concat(t):"",u=null!=r&&"none"==r.toLowerCase()?"; Secure":"";document.cookie="".concat(e,"=").concat(encodeURIComponent(n)).concat(c,"; path=/").concat(a).concat(r?"; SameSite=".concat(r):"").concat(u)}};if(!o||"function"!=typeof o)return v(a);u.push((function(){var e=v(a);o(e)}))},b=function(e,n){var t=function(n){if(n&&n.valid){var t=window.document.cookie.match("(^|;)\\s*"+e+"\\s*=\\s*([^;]*)\\s*(;|$)");return t?decodeURIComponent(t[2]):null}return null};if(!n||"function"!=typeof n)return v(t);u.push((function(){var e=v(t);n(e)}))},h=function(e){var n=function(e){if(e&&e.valid)try{return localStorage.setItem("prebid.cookieTest","1"),"1"===localStorage.getItem("prebid.cookieTest")}catch(e){}finally{try{localStorage.removeItem("prebid.cookieTest")}catch(e){}}return!1};if(!e||"function"!=typeof e)return v(n);u.push((function(){var t=v(n);e(t)}))},m=function(e){var n=function(e){return!(!e||!e.valid||!(0,i.checkCookieSupport)()&&(window.document.cookie="prebid.cookieTest",-1===window.document.cookie.indexOf("prebid.cookieTest")))};if(!e||"function"!=typeof e)return v(n);u.push((function(){var t=v(n);e(t)}))},E=function(e,n,t){var r=function(t){t&&t.valid&&T()&&window.localStorage.setItem(e,n)};if(!t||"function"!=typeof t)return v(r);u.push((function(){var e=v(r);t(e)}))},S=function(e,n){var t=function(n){return n&&n.valid&&T()?window.localStorage.getItem(e):null};if(!n||"function"!=typeof n)return v(t);u.push((function(){var e=v(t);n(e)}))},A=function(e,n){var t=function(n){n&&n.valid&&T()&&window.localStorage.removeItem(e)};if(!n||"function"!=typeof n)return v(t);u.push((function(){var e=v(t);n(e)}))},T=function(e){var n=function(e){if(e&&e.valid)try{return!!window.localStorage}catch(e){(0,i.logError)("Local storage api disabled")}return!1};if(!e||"function"!=typeof e)return v(n);u.push((function(){var t=v(n);e(t)}))},I=function(e,n){var t=function(n){if(n&&n.valid){var t=[];if((0,i.hasDeviceAccess)())for(var r=document.cookie.split(";");r.length;){var o=r.pop(),a=o.indexOf("=");a=a<0?o.length:a,decodeURIComponent(o.slice(0,a).replace(/^\s+/,"")).indexOf(e)>=0&&t.push(decodeURIComponent(o.slice(a+1)))}return t}};if(!n||"function"!=typeof n)return v(t);u.push((function(){var e=v(t);n(e)}))};return{setCookie:y,getCookie:b,localStorageIsEnabled:h,cookiesAreEnabled:m,setDataInLocalStorage:E,getDataFromLocalStorage:S,removeDataFromLocalStorage:A,hasLocalStorage:T,findSimilarCookies:I}}var d=(0,r.z3)("async",(function(e,n,t,r){r(t)}),"validateStorageEnforcement");function f(e){return s({moduleName:e,moduleType:"core"})}function l(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=e.gvlid,t=e.moduleName,r=e.bidderCode;if(arguments.length>1||arguments.length>0&&!(0,i.isPlainObject)(arguments[0]))throw new Error("Invalid invocation for getStorageManager");return s({gvlid:n,moduleName:t,bidderCode:r})}},9742:function(e,n,t){"use strict";t.d(n,{bP:function(){return C},ol:function(){return I},q0:function(){return w},u8:function(){return T}});var r=t(9853),i=t(265),o=t(8962),a=t(9017),c=t(4766),u=t(1269),s=t(8265),d=t(3494),f=t(9624),l=t(1879);function g(){return g=Object.assign||function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])}return e},g.apply(this,arguments)}function p(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function v(e){return function(e){if(Array.isArray(e))return y(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,n){if(e){if("string"==typeof e)return y(e,n);var t=Object.prototype.toString.call(e).slice(8,-1);return"Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t?Array.from(e):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?y(e,n):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function y(e,n){(null==n||n>e.length)&&(n=e.length);for(var t=0,r=new Array(n);t<n;t++)r[t]=e[t];return r}var b=t(5644),h=[],m="targetingControls.allowTargetingKeys",E="targetingControls.addTargetingKeys",S='Only one of "'.concat(m,'" or "').concat(E,'" can be set'),A=Object.keys(b.TARGETING_KEYS).map((function(e){return b.TARGETING_KEYS[e]})),T={isBidNotExpired:function(e){return e.responseTimestamp+1e3*e.ttl-1e3>(0,r.timestamp)()},isUnusedBid:function(e){return e&&(e.status&&!(0,l.q9)([b.BID_STATUS.RENDERED],e.status)||!e.status)}},I=(0,d.z3)("sync",(function(e,n){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,i=arguments.length>3&&void 0!==arguments[3]&&arguments[3];if(!i){var a=[],c=o.vc.getConfig("sendBidsControl.dealPrioritization"),u=(0,r.groupBy)(e,"adUnitCode");return Object.keys(u).forEach((function(e){var i=[],o=(0,r.groupBy)(u[e],"bidderCode");Object.keys(o).forEach((function(e){return i.push(o[e].reduce(n))})),t>0?(i=c?i.sort(C(!0)):i.sort((function(e,n){return n.cpm-e.cpm})),a.push.apply(a,v(i.slice(0,t)))):a.push.apply(a,v(i))})),a}return e}));function C(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return function(n,t){return void 0!==n.adserverTargeting.hb_deal&&void 0===t.adserverTargeting.hb_deal?-1:void 0===n.adserverTargeting.hb_deal&&void 0!==t.adserverTargeting.hb_deal?1:e?t.cpm-n.cpm:t.adserverTargeting.hb_pb-n.adserverTargeting.hb_pb}}var w=function(e){var n={},t={};function c(e,n){return e.adserverTargeting&&n&&((0,r.isArray)(n)&&(0,l.q9)(n,e.adUnitCode)||"string"==typeof n&&e.adUnitCode===n)}function d(e,n){if(!0===o.vc.getConfig("targetingControls.alwaysIncludeDeals")){var t=A.concat(a.xc);return I(n,r.getHighestCpm).map((function(n){if(n.dealId&&c(n,e))return p({},n.adUnitCode,x(n,t.filter((function(e){return void 0!==n.adserverTargeting[e]}))))})).filter((function(e){return e}))}return[]}function y(e,n){var t=g({},b.TARGETING_KEYS,b.NATIVE_KEYS),i=Object.keys(t),o={};(0,r.logInfo)("allowTargetingKeys - allowed keys [ ".concat(n.map((function(e){return t[e]})).join(", ")," ]")),e.map((function(e){var r=Object.keys(e)[0],a=e[r].filter((function(e){var r=Object.keys(e)[0],a=0===i.filter((function(e){return 0===r.indexOf(t[e])})).length||(0,l.sE)(n,(function(e){var n=t[e];return 0===r.indexOf(n)}));return o[r]=!a,a}));e[r]=a}));var a=Object.keys(o).filter((function(e){return o[e]}));return(0,r.logInfo)("allowTargetingKeys - removed keys [ ".concat(a.join(", ")," ]")),e.filter((function(e){return e[Object.keys(e)[0]].length>0}))}function w(e,n){var t=(0,r.deepClone)(e);return Object.keys(t).map((function(e){return{adUnitCode:e,adserverTargeting:t[e]}})).sort(C()).reduce((function(e,i,o,a){var c,u=(c=i.adserverTargeting,Object.keys(c).reduce((function(e,n){return e+"".concat(n,"%3d").concat(encodeURIComponent(c[n]),"%26")}),""));o+1===a.length&&(u=u.slice(0,-3));var s=i.adUnitCode,d=u.length;return d<=n?(n-=d,(0,r.logInfo)("AdUnit '".concat(s,"' auction keys comprised of ").concat(d," characters. Deducted from running threshold; new limit is ").concat(n),t[s]),e[s]=t[s]):(0,r.logWarn)("The following keys for adUnitCode '".concat(s,"' exceeded the current limit of the 'auctionKeyMaxChars' setting.\nThe key-set size was ").concat(d,", the current allotted amount was ").concat(n,".\n"),t[s]),o+1===a.length&&0===Object.keys(e).length&&(0,r.logError)("No auction targeting keys were permitted due to the setting in setConfig(targetingControls.auctionKeyMaxChars). Please review setup and consider adjusting."),e}),{})}function O(e){var n=e.map((function(e){return p({},Object.keys(e)[0],e[Object.keys(e)[0]].map((function(e){return p({},Object.keys(e)[0],e[Object.keys(e)[0]].join(","))})).reduce((function(e,n){return g(n,e)}),{}))})).reduce((function(e,n){var t=Object.keys(n)[0];return e[t]=g({},e[t],n[t]),e}),{});return n}function B(n){return"string"==typeof n?[n]:(0,r.isArray)(n)?n:e.getAdUnitCodes()||[]}function _(){var n=e.getBidsReceived();if(o.vc.getConfig("useBidCache")){var a=o.vc.getConfig("bidCacheFilterFunction");"function"==typeof a&&(n=n.filter((function(e){return t[e.adUnitCode]===e.auctionId||!!a(e)})))}else n=n.filter((function(e){return t[e.adUnitCode]===e.auctionId}));return n=n.filter((function(e){return(0,i.Z)(e,"video.context")!==s.Oh})).filter((function(e){return"banner"!==e.mediaType||(0,u.lO)([e.width,e.height])})).filter(T.isUnusedBid).filter(T.isBidNotExpired),I(n,r.getOldestHighestCpmBid)}function U(e,t){var r=n.getWinningBids(e,t),i=R();return r=r.map((function(e){return p({},e.adUnitCode,Object.keys(e.adserverTargeting).filter((function(n){return void 0===e.sendStandardTargeting||e.sendStandardTargeting||-1===i.indexOf(n)})).reduce((function(n,t){var r=[e.adserverTargeting[t]],i=p({},t.substring(0,20),r);if(t===b.TARGETING_KEYS.DEAL){var o=p({},"".concat(t,"_").concat(e.bidderCode).substring(0,20),r);return[].concat(v(n),[i,o])}return[].concat(v(n),[i])}),[]))})),r}function R(){return e.getStandardBidderAdServerTargeting().map((function(e){return e.key})).concat(A).filter(r.uniques)}function D(e,n,t,i){return Object.keys(n.adserverTargeting).filter(k()).forEach((function(t){e.length&&e.filter(function(e){return function(t){return t.adUnitCode===n.adUnitCode&&t.adserverTargeting[e]}}(t)).forEach(function(e){return function(t){(0,r.isArray)(t.adserverTargeting[e])||(t.adserverTargeting[e]=[t.adserverTargeting[e]]),t.adserverTargeting[e]=t.adserverTargeting[e].concat(n.adserverTargeting[e]).filter(r.uniques),delete n.adserverTargeting[e]}}(t))})),e.push(n),e}function k(){var e=R().concat(a.xc);return function(n){return-1===e.indexOf(n)}}function j(e){return p({},e.adUnitCode,Object.keys(e.adserverTargeting).filter(k()).map((function(n){return p({},n.substring(0,20),[e.adserverTargeting[n]])})))}function N(e,n){return n.filter((function(n){return(0,l.q9)(e,n.adUnitCode)})).map((function(e){return g({},e)})).reduce(D,[]).map(j).filter((function(e){return e}))}function P(e,n){var t=A.concat(a.xc),i=o.vc.getConfig("sendBidsControl.bidLimit"),u=I(n,r.getHighestCpm,i),s=o.vc.getConfig("targetingControls.allowSendAllBidsTargetingKeys"),d=s?s.map((function(e){return b.TARGETING_KEYS[e]})):t;return u.map((function(n){if(c(n,e))return p({},n.adUnitCode,x(n,t.filter((function(e){return void 0!==n.adserverTargeting[e]&&-1!==d.indexOf(e)}))))})).filter((function(e){return e}))}function x(e,n){return n.map((function(n){return p({},"".concat(n,"_").concat(e.bidderCode).substring(0,20),[e.adserverTargeting[n]])}))}function q(n){function t(e){return(0,i.Z)(e,b.JSON_MAPPING.ADSERVER_TARGETING)}return e.getAdUnits().filter((function(e){return(0,l.q9)(n,e.code)&&t(e)})).map((function(e){return p({},e.code,function(e){var n=t(e);return Object.keys(n).map((function(e){return(0,r.isStr)(n[e])&&(n[e]=n[e].split(",").map((function(e){return e.trim()}))),(0,r.isArray)(n[e])||(n[e]=[n[e]]),p({},e,n[e])}))}(e))}))}return n.setLatestAuctionForAdUnit=function(e,n){t[e]=n},n.resetPresetTargeting=function(n,t){if((0,r.isGptPubadsDefined)()){var i=B(n),o=e.getAdUnits().filter((function(e){return(0,l.q9)(i,e.code)})),a=h.reduce((function(e,n){return e[n]=null,e}),{});window.googletag.pubads().getSlots().forEach((function(e){var n=(0,r.isFn)(t)&&t(e);o.forEach((function(t){(t.code===e.getAdUnitPath()||t.code===e.getSlotElementId()||(0,r.isFn)(n)&&n(t.code))&&e.updateTargetingFromMap(a)}))}))}},n.resetPresetTargetingAST=function(e){B(e).forEach((function(e){var n=window.apntag.getTag(e);if(n&&n.keywords){var t=Object.keys(n.keywords),r={};t.forEach((function(e){(0,l.q9)(h,e.toLowerCase())||(r[e]=n.keywords[e])})),window.apntag.modifyTag(e,{keywords:r})}}))},n.getAllTargeting=function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:_(),t=B(e),i=U(t,n).concat(N(t,n)).concat(o.vc.getConfig("enableSendAllBids")?P(t,n):d(t,n)).concat(q(t));i.map((function(e){Object.keys(e).map((function(n){e[n].map((function(e){-1===h.indexOf(Object.keys(e)[0])&&(h=Object.keys(e).concat(h))}))}))}));var a=Object.keys(g({},b.DEFAULT_TARGETING_KEYS,b.NATIVE_KEYS)),c=o.vc.getConfig(m),u=o.vc.getConfig(E);if(null!=u&&null!=c)throw new Error(S);c=null!=u?a.concat(u):c||a,Array.isArray(c)&&c.length>0&&(i=y(i,c)),i=O(i);var s=o.vc.getConfig("targetingControls.auctionKeyMaxChars");return s&&((0,r.logInfo)("Detected 'targetingControls.auctionKeyMaxChars' was active for this auction; set with a limit of ".concat(s," characters. Running checks on auction keys...")),i=w(i,s)),t.forEach((function(e){i[e]||(i[e]={})})),i},o.vc.getConfig("targetingControls",(function(e){null!=(0,i.Z)(e,m)&&null!=(0,i.Z)(e,E)&&(0,r.logError)(S)})),n.setTargetingForGPT=function(e,n){window.googletag.pubads().getSlots().forEach((function(t){Object.keys(e).filter(n?n(t):(0,r.isAdUnitCodeMatchingSlot)(t)).forEach((function(n){Object.keys(e[n]).forEach((function(t){var r=e[n][t];"string"==typeof r&&-1!==r.indexOf(",")&&(r=r.split(",")),e[n][t]=r})),(0,r.logMessage)("Attempting to set targeting-map for slot: ".concat(t.getSlotElementId()," with targeting-map:"),e[n]),t.updateTargetingFromMap(e[n])}))}))},n.getWinningBids=function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:_(),t=B(e);return n.filter((function(e){return(0,l.q9)(t,e.adUnitCode)})).filter((function(e){return!0===f.S.get(e.bidderCode,"allowZeroCpmBids")?e.cpm>=0:e.cpm>0})).map((function(e){return e.adUnitCode})).filter(r.uniques).map((function(e){return n.filter((function(n){return n.adUnitCode===e?n:null})).reduce(r.getHighestCpm)}))},n.setTargetingForAst=function(e){var t=n.getAllTargeting(e);try{n.resetPresetTargetingAST(e)}catch(e){(0,r.logError)("unable to reset targeting for AST"+e)}Object.keys(t).forEach((function(e){return Object.keys(t[e]).forEach((function(n){if((0,r.logMessage)("Attempting to set targeting for targetId: ".concat(e," key: ").concat(n," value: ").concat(t[e][n])),(0,r.isStr)(t[e][n])||(0,r.isArray)(t[e][n])){var i={};n.search(/pt[0-9]/)<0?i[n.toUpperCase()]=t[e][n]:i[n]=t[e][n],window.apntag.setKeywords(e,i,{overrideKeyValue:!0})}}))}))},n.isApntagDefined=function(){if(window.apntag&&(0,r.isFn)(window.apntag.setKeywords))return!0},n}(c.K)},7112:function(e,n,t){"use strict";t.d(n,{k_:function(){return l}});var r=t(9853),i=t(8962),o=t(1879),a=t(5849);function c(e,n){return function(e){if(Array.isArray(e))return e}(e)||function(e,n){var t=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=t){var r,i,o=[],a=!0,c=!1;try{for(t=t.call(e);!(a=(r=t.next()).done)&&(o.push(r.value),!n||o.length!==n);a=!0);}catch(e){c=!0,i=e}finally{try{a||null==t.return||t.return()}finally{if(c)throw i}}return o}}(e,n)||function(e,n){if(e){if("string"==typeof e)return u(e,n);var t=Object.prototype.toString.call(e).slice(8,-1);return"Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t?Array.from(e):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?u(e,n):void 0}}(e,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function u(e,n){(null==n||n>e.length)&&(n=e.length);for(var t=0,r=new Array(n);t<n;t++)r[t]=e[t];return r}function s(){return s=Object.assign||function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])}return e},s.apply(this,arguments)}i.vc.setDefaults({userSync:(0,r.deepClone)({syncEnabled:!0,filterSettings:{image:{bidders:"*",filter:"include"}},syncsPerBidder:5,syncDelay:3e3,auctionDelay:0})});var d=(0,a.eA)("usersync"),f=!(0,r.isSafariBrowser)()&&d.cookiesAreEnabled(),l=function(e){var n={},t={image:[],iframe:[]},a=new Set,u={},d={image:!0,iframe:!1},f=e.config;function l(){if(f.syncEnabled&&e.browserSupportsCookies){try{d.iframe&&g(t.iframe,(function(e){var n=c(e,2),i=n[0],o=n[1];(0,r.logMessage)("Invoking iframe user sync for bidder: ".concat(i)),(0,r.insertUserSyncIframe)(o),function(e,n){e.image=e.image.filter((function(e){return e[0]!==n}))}(t,i)})),d.image&&g(t.image,(function(e){var n=c(e,2),t=n[0],i=n[1];(0,r.logMessage)("Invoking image pixel user sync for bidder: ".concat(t)),(0,r.triggerPixel)(i)}))}catch(e){return(0,r.logError)("Error firing user syncs",e)}t={image:[],iframe:[]}}}function g(e,n){(0,r.shuffle)(e).forEach((function(e){n(e),a.add(e[0])}))}return i.vc.getConfig("userSync",(function(e){if(e.userSync){var n=e.userSync.filterSettings;(0,r.isPlainObject)(n)&&(n.image||n.all||(e.userSync.filterSettings.image={bidders:"*",filter:"include"}))}f=s(f,e.userSync)})),n.registerSync=function(e,i,o){return a.has(i)?(0,r.logMessage)('already fired syncs for "'.concat(i,'", ignoring registerSync call')):f.syncEnabled&&(0,r.isArray)(t[e])?i?0!==f.syncsPerBidder&&Number(u[i])>=f.syncsPerBidder?(0,r.logWarn)('Number of user syncs exceeded for "'.concat(i,'"')):n.canBidderRegisterSync(e,i)?(t[e].push([i,o]),void(u=function(e,n){return e[n]?e[n]+=1:e[n]=1,e}(u,i))):(0,r.logWarn)('Bidder "'.concat(i,'" not permitted to register their "').concat(e,'" userSync pixels.')):(0,r.logWarn)("Bidder is required for registering sync"):(0,r.logWarn)('User sync type "'.concat(e,'" not supported'))},n.syncUsers=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;if(e)return setTimeout(l,Number(e));l()},n.triggerUserSyncs=function(){f.enableOverride&&n.syncUsers()},n.canBidderRegisterSync=function(e,n){return!f.filterSettings||!function(e,n){var t=f.filterSettings;if(function(e,n){if(e.all&&e[n])return(0,r.logWarn)('Detected presence of the "filterSettings.all" and "filterSettings.'.concat(n,'" in userSync config. You cannot mix "all" with "iframe/image" configs; they are mutually exclusive.')),!1;var t=e.all?e.all:e[n],i=e.all?"all":n;if(!t)return!1;var o=t.filter,a=t.bidders;return o&&"include"!==o&&"exclude"!==o?((0,r.logWarn)('UserSync "filterSettings.'.concat(i,".filter\" setting '").concat(o,"' is not a valid option; use either 'include' or 'exclude'.")),!1):!!("*"===a||Array.isArray(a)&&a.length>0&&a.every((function(e){return(0,r.isStr)(e)&&"*"!==e})))||((0,r.logWarn)('Detected an invalid setup in userSync "filterSettings.'.concat(i,".bidders\"; use either '*' (to represent all bidders) or an array of bidders.")),!1)}(t,e)){d[e]=!0;var i=t.all?t.all:t[e],a="*"===i.bidders?[n]:i.bidders,c={include:function(e,n){return!(0,o.q9)(e,n)},exclude:function(e,n){return(0,o.q9)(e,n)}};return c[i.filter||"include"](a,n)}return!d[e]}(e,n)},n}({config:i.vc.getConfig("userSync"),browserSupportsCookies:f})},9853:function(e,n,t){"use strict";t.r(n),t.d(n,{_each:function(){return de},_map:function(){return le},adUnitsFilter:function(){return xe},bind:function(){return _},buildUrl:function(){return Sn},callBurl:function(){return be},checkCookieSupport:function(){return Ve},chunk:function(){return pn},cleanObj:function(){return un},compareOn:function(){return bn},contains:function(){return fe},convertCamelToUnderscore:function(){return cn},convertTypes:function(){return fn},createInvisibleIframe:function(){return $},createTrackPixelHtml:function(){return Ee},createTrackPixelIframeHtml:function(){return Se},cyrb53Hash:function(){return In},debugTurnedOn:function(){return X},deepAccess:function(){return c.Z},deepClone:function(){return qe},deepEqual:function(){return An},deepSetValue:function(){return u.Z},delayExecution:function(){return He},fill:function(){return gn},flatten:function(){return Ie},formatQS:function(){return mn},generateUUID:function(){return D},getAdUnitSizes:function(){return x},getBidIdParameter:function(){return k},getBidRequest:function(){return Ce},getBidderCodes:function(){return _e},getDNT:function(){return $e},getDefinedParams:function(){return Ye},getGptSlotInfoForAdUnitCode:function(){return rn},getHighestCpm:function(){return De},getKeyByValue:function(){return Be},getKeys:function(){return we},getLatestHighestCpmBid:function(){return je},getMaxValueFromArray:function(){return yn},getMinValueFromArray:function(){return vn},getOldestHighestCpmBid:function(){return ke},getOrigin:function(){return Xe},getParameterByName:function(){return ee},getPerformanceNow:function(){return Le},getPrebidInternal:function(){return w},getUniqueIdentifierStr:function(){return R},getUserConfiguredParams:function(){return Qe},getValue:function(){return Oe},getValueString:function(){return Ae},getWindowFromDocument:function(){return Cn},getWindowLocation:function(){return L},getWindowSelf:function(){return z},getWindowTop:function(){return F},groupBy:function(){return Ze},hasConsoleLogger:function(){return Q},hasDeviceAccess:function(){return Ke},hasOwn:function(){return ge},inIframe:function(){return Me},insertElement:function(){return pe},insertHtmlIntoIframe:function(){return he},insertUserSyncIframe:function(){return me},internal:function(){return I},isA:function(){return ne},isAdUnitCodeMatchingSlot:function(){return nn},isApnGetTagDefined:function(){return Re},isArray:function(){return ie},isArrayOfNums:function(){return ln},isBoolean:function(){return ce},isEmpty:function(){return ue},isEmptyStr:function(){return se},isFn:function(){return te},isGptPubadsDefined:function(){return Ue},isInteger:function(){return an},isNumber:function(){return oe},isPlainObject:function(){return ae},isSafariBrowser:function(){return Ge},isSlotMatchingAdUnitCode:function(){return tn},isStr:function(){return re},isValidMediaTypes:function(){return Je},logError:function(){return Z},logInfo:function(){return V},logMessage:function(){return K},logWarn:function(){return H},mergeDeep:function(){return Tn},parseGPTSingleSizeArray:function(){return M},parseGPTSingleSizeArrayToRtbSize:function(){return G},parseQS:function(){return hn},parseQueryStringParameters:function(){return N},parseSizesInput:function(){return q},parseUrl:function(){return En},pick:function(){return sn},prefixLog:function(){return Y},replaceAuctionPrice:function(){return We},replaceClickThrough:function(){return Fe},shuffle:function(){return Pe},timestamp:function(){return ze},transformAdServerTargetingObj:function(){return P},transformBidderParamKeywords:function(){return dn},triggerPixel:function(){return ye},tryAppendQueryString:function(){return j},uniques:function(){return Te},unsupportedBidderMessage:function(){return on},waitForElementToLoad:function(){return ve}});var r=t(8962),i=t(7079),o=t.n(i),a=t(1879),c=t(265),u=t(4806);function s(e){return function(e){if(Array.isArray(e))return f(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||d(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function d(e,n){if(e){if("string"==typeof e)return f(e,n);var t=Object.prototype.toString.call(e).slice(8,-1);return"Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t?Array.from(e):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?f(e,n):void 0}}function f(e,n){(null==n||n>e.length)&&(n=e.length);for(var t=0,r=new Array(n);t<n;t++)r[t]=e[t];return r}function l(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function g(){return g=Object.assign||function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])}return e},g.apply(this,arguments)}function p(e){return p="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},p(e)}var v,y=t(5644),b=Object.prototype.toString,h=Boolean(window.console),m=Boolean(h&&window.console.log),E=Boolean(h&&window.console.info),S=Boolean(h&&window.console.warn),A=Boolean(h&&window.console.error),T=function(){return null==v&&(v=t(2319)),v.emit.apply(v,arguments)},I={checkCookieSupport:Ve,createTrackPixelIframeHtml:Se,getWindowSelf:z,getWindowTop:F,getWindowLocation:L,insertUserSyncIframe:me,insertElement:pe,isFn:te,triggerPixel:ye,logError:Z,logWarn:H,logMessage:K,logInfo:V,parseQS:hn,formatQS:mn,deepEqual:An},C={};function w(){return C}var O,B={},_=function(e,n){return n}.bind(null,1,B)()===B?Function.prototype.bind:function(e){var n=this,t=Array.prototype.slice.call(arguments,1);return function(){return n.apply(e,t.concat(Array.prototype.slice.call(arguments)))}},U=(O=0,function(){return++O});function R(){return U()+Math.random().toString(16).substr(2)}function D(e){return e?(e^(window&&window.crypto&&window.crypto.getRandomValues?crypto.getRandomValues(new Uint8Array(1))[0]%16:16*Math.random())>>e/4).toString(16):([1e7]+-1e3+-4e3+-8e3+-1e11).replace(/[018]/g,D)}function k(e,n){return n&&n[e]?n[e]:""}function j(e,n,t){return t?e+n+"="+encodeURIComponent(t)+"&":e}function N(e){var n="";for(var t in e)e.hasOwnProperty(t)&&(n+=t+"="+encodeURIComponent(e[t])+"&");return n.replace(/&$/,"")}function P(e){return e&&Object.getOwnPropertyNames(e).length>0?we(e).map((function(n){return"".concat(n,"=").concat(encodeURIComponent(Oe(e,n)))})).join("&"):""}function x(e){if(e){var n=[];if(e.mediaTypes&&e.mediaTypes.banner&&Array.isArray(e.mediaTypes.banner.sizes)){var t=e.mediaTypes.banner.sizes;Array.isArray(t[0])?n=t:n.push(t)}else Array.isArray(e.sizes)&&(Array.isArray(e.sizes[0])?n=e.sizes:n.push(e.sizes));return n}}function q(e){var n=[];if("string"==typeof e){var t=e.split(","),r=/^(\d)+x(\d)+$/i;if(t)for(var i in t)ge(t,i)&&t[i].match(r)&&n.push(t[i])}else if("object"===p(e)){var o=e.length;if(o>0)if(2===o&&"number"==typeof e[0]&&"number"==typeof e[1])n.push(M(e));else for(var a=0;a<o;a++)n.push(M(e[a]))}return n}function M(e){if(W(e))return e[0]+"x"+e[1]}function G(e){if(W(e))return{w:e[0],h:e[1]}}function W(e){return ie(e)&&2===e.length&&!isNaN(e[0])&&!isNaN(e[1])}function F(){return window.top}function z(){return window.self}function L(){return window.location}function K(){X()&&m&&console.log.apply(console,J(arguments,"MESSAGE:"))}function V(){X()&&E&&console.info.apply(console,J(arguments,"INFO:"))}function H(){X()&&S&&console.warn.apply(console,J(arguments,"WARNING:")),T(y.EVENTS.AUCTION_DEBUG,{type:"WARNING",arguments:arguments})}function Z(){X()&&A&&console.error.apply(console,J(arguments,"ERROR:")),T(y.EVENTS.AUCTION_DEBUG,{type:"ERROR",arguments:arguments})}function Y(e){function n(n){return function(){for(var t=arguments.length,r=new Array(t),i=0;i<t;i++)r[i]=arguments[i];n.apply(void 0,[e].concat(r))}}return{logError:n(Z),logWarn:n(H),logMessage:n(K),logInfo:n(V)}}function J(e,n){e=[].slice.call(e);var t=r.vc.getCurrentBidder();return n&&e.unshift(n),t&&e.unshift(i("#aaa")),e.unshift(i("#3b88c3")),e.unshift("%cPrebid"+(t?"%c".concat(t):"")),e;function i(e){return"display: inline-block; color: #fff; background: ".concat(e,"; padding: 1px 4px; border-radius: 3px;")}}function Q(){return m}function X(){return!!r.vc.getConfig("debug")}function $(){var e=document.createElement("iframe");return e.id=R(),e.height=0,e.width=0,e.border="0px",e.hspace="0",e.vspace="0",e.marginWidth="0",e.marginHeight="0",e.style.border="0",e.scrolling="no",e.frameBorder="0",e.src="about:blank",e.style.display="none",e}function ee(e){return hn(L().search)[e]||""}function ne(e,n){return b.call(e)==="[object "+n+"]"}function te(e){return ne(e,"Function")}function re(e){return ne(e,"String")}function ie(e){return ne(e,"Array")}function oe(e){return ne(e,"Number")}function ae(e){return ne(e,"Object")}function ce(e){return ne(e,"Boolean")}function ue(e){if(!e)return!0;if(ie(e)||re(e))return!(e.length>0);for(var n in e)if(hasOwnProperty.call(e,n))return!1;return!0}function se(e){return re(e)&&(!e||0===e.length)}function de(e,n){if(!ue(e)){if(te(e.forEach))return e.forEach(n,this);var t=0,r=e.length;if(r>0)for(;t<r;t++)n(e[t],t,e);else for(t in e)hasOwnProperty.call(e,t)&&n.call(this,e[t],t)}}function fe(e,n){if(ue(e))return!1;if(te(e.indexOf))return-1!==e.indexOf(n);for(var t=e.length;t--;)if(e[t]===n)return!0;return!1}function le(e,n){if(ue(e))return[];if(te(e.map))return e.map(n);var t=[];return de(e,(function(r,i){t.push(n(r,i,e))})),t}function ge(e,n){return e.hasOwnProperty?e.hasOwnProperty(n):void 0!==e[n]&&e.constructor.prototype[n]!==e[n]}function pe(e,n,t,r){var i;n=n||document,i=t?n.getElementsByTagName(t):n.getElementsByTagName("head");try{if((i=i.length?i:n.getElementsByTagName("body")).length){i=i[0];var o=r?null:i.firstChild;return i.insertBefore(e,o)}}catch(e){}}function ve(e,n){var t=null;return new Promise((function(r){var i=function n(){e.removeEventListener("load",n),e.removeEventListener("error",n),null!=t&&window.clearTimeout(t),r()};e.addEventListener("load",i),e.addEventListener("error",i),null!=n&&(t=window.setTimeout(i,n))}))}function ye(e,n,t){var r=new Image;n&&I.isFn(n)&&ve(r,t).then(n),r.src=e}function be(e){var n=e.source,t=e.burl;n===y.S2S.SRC&&t&&I.triggerPixel(t)}function he(e){if(e){var n=document.createElement("iframe");n.id=R(),n.width=0,n.height=0,n.hspace="0",n.vspace="0",n.marginWidth="0",n.marginHeight="0",n.style.display="none",n.style.height="0px",n.style.width="0px",n.scrolling="no",n.frameBorder="0",n.allowtransparency="true",I.insertElement(n,document,"body"),n.contentWindow.document.open(),n.contentWindow.document.write(e),n.contentWindow.document.close()}}function me(e,n,t){var r=I.createTrackPixelIframeHtml(e,!1,"allow-scripts allow-same-origin"),i=document.createElement("div");i.innerHTML=r;var o=i.firstChild;n&&I.isFn(n)&&ve(o,t).then(n),I.insertElement(o,document,"html",!0)}function Ee(e){return e?'<div style="position:absolute;left:0px;top:0px;visibility:hidden;">'+'<img src="'+encodeURI(e)+'"></div>':""}function Se(e){var n=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"";return e?(n&&(e=encodeURI(e)),t&&(t='sandbox="'.concat(t,'"')),"<iframe ".concat(t,' id="').concat(R(),'"\n frameborder="0"\n allowtransparency="true"\n marginheight="0" marginwidth="0"\n width="0" hspace="0" vspace="0" height="0"\n style="height:0px;width:0px;display:none;"\n scrolling="no"\n src="').concat(e,'">\n </iframe>')):""}function Ae(e,n,t){return null==n?t:re(n)?n:oe(n)?n.toString():void I.logWarn("Unsuported type for param: "+e+" required type: String")}function Te(e,n,t){return t.indexOf(e)===n}function Ie(e,n){return e.concat(n)}function Ce(e,n){var t;if(e)return n.some((function(n){var r=(0,a.sE)(n.bids,(function(n){return["bidId","adId","bid_id"].some((function(t){return n[t]===e}))}));return r&&(t=r),r})),t}function we(e){return Object.keys(e)}function Oe(e,n){return e[n]}function Be(e,n){for(var t in e)if(e.hasOwnProperty(t)&&e[t]===n)return t}function _e(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:pbjs.adUnits;return e.map((function(e){return e.bids.map((function(e){return e.bidder})).reduce(Ie,[])})).reduce(Ie,[]).filter(Te)}function Ue(){if(window.googletag&&te(window.googletag.pubads)&&te(window.googletag.pubads().getSlots))return!0}function Re(){if(window.apntag&&te(window.apntag.getTag))return!0}var De=Ne("timeToRespond",(function(e,n){return e>n})),ke=Ne("responseTimestamp",(function(e,n){return e>n})),je=Ne("responseTimestamp",(function(e,n){return e<n}));function Ne(e,n){return function(t,r){return t.cpm===r.cpm?n(t[e],r[e])?r:t:t.cpm<r.cpm?r:t}}function Pe(e){for(var n=e.length;n>0;){var t=Math.floor(Math.random()*n),r=e[--n];e[n]=e[t],e[t]=r}return e}function xe(e,n){return(0,a.q9)(e,n&&n.adUnitCode)}function qe(e){return o()(e)}function Me(){try{return I.getWindowSelf()!==I.getWindowTop()}catch(e){return!0}}function Ge(){return/^((?!chrome|android|crios|fxios).)*safari/i.test(navigator.userAgent)}function We(e,n){if(e)return e.replace(/\$\{AUCTION_PRICE\}/g,n)}function Fe(e,n){if(e&&n&&"string"==typeof n)return e.replace(/\${CLICKTHROUGH}/g,n)}function ze(){return(new Date).getTime()}function Le(){return window.performance&&window.performance.now&&window.performance.now()||0}function Ke(){return!1!==r.vc.getConfig("deviceAccess")}function Ve(){if(window.navigator.cookieEnabled||document.cookie.length)return!0}function He(e,n){if(n<1)throw new Error("numRequiredCalls must be a positive number. Got ".concat(n));var t=0;return function(){++t===n&&e.apply(this,arguments)}}function Ze(e,n){return e.reduce((function(e,t){return(e[t[n]]=e[t[n]]||[]).push(t),e}),{})}function Ye(e,n){return n.filter((function(n){return e[n]})).reduce((function(n,t){return g(n,l({},t,e[t]))}),{})}function Je(e){var n=["banner","native","video"];return!!Object.keys(e).every((function(e){return(0,a.q9)(n,e)}))&&(!e.video||!e.video.context||(0,a.q9)(["instream","outstream","adpod"],e.video.context))}function Qe(e,n,t){return e.filter((function(e){return e.code===n})).map((function(e){return e.bids})).reduce(Ie,[]).filter((function(e){return e.bidder===t})).map((function(e){return e.params||{}}))}function Xe(){return window.location.origin?window.location.origin:window.location.protocol+"//"+window.location.hostname+(window.location.port?":"+window.location.port:"")}function $e(){return"1"===navigator.doNotTrack||"1"===window.doNotTrack||"1"===navigator.msDoNotTrack||"yes"===navigator.doNotTrack}var en=function(e,n){return e.getAdUnitPath()===n||e.getSlotElementId()===n};function nn(e){return function(n){return en(e,n)}}function tn(e){return function(n){return en(n,e)}}function rn(e){var n;return Ue()&&(n=(0,a.sE)(window.googletag.pubads().getSlots(),tn(e))),n?{gptSlot:n.getAdUnitPath(),divId:n.getSlotElementId()}:{}}function on(e,n){var t=Object.keys(e.mediaTypes||{banner:"banner"}).join(", ");return"\n ".concat(e.code," is a ").concat(t," ad unit\n containing bidders that don't support ").concat(t,": ").concat(n,".\n This bidder won't fetch demand.\n ")}function an(e){return Number.isInteger?Number.isInteger(e):"number"==typeof e&&isFinite(e)&&Math.floor(e)===e}function cn(e){return e.replace(/(?:^|\.?)([A-Z])/g,(function(e,n){return"_"+n.toLowerCase()})).replace(/^_/,"")}function un(e){return Object.keys(e).reduce((function(n,t){return void 0!==e[t]&&(n[t]=e[t]),n}),{})}function sn(e,n){return"object"!==p(e)?{}:n.reduce((function(t,r,i){if("function"==typeof r)return t;var o=r,a=r.match(/^(.+?)\sas\s(.+?)$/i);a&&(r=a[1],o=a[2]);var c=e[r];return"function"==typeof n[i+1]&&(c=n[i+1](c,t)),void 0!==c&&(t[o]=c),t}),{})}function dn(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"keywords",t=[];return de(e,(function(e,r){if(ie(e)){var i=[];de(e,(function(e){((e=Ae(n+"."+r,e))||""===e)&&i.push(e)})),e=i}else{if(!re(e=Ae(n+"."+r,e)))return;e=[e]}t.push({key:r,value:e})})),t}function fn(e,n){return Object.keys(e).forEach((function(t){var r,i;n[t]&&(te(e[t])?n[t]=e[t](n[t]):n[t]=(r=e[t],i=n[t],"string"===r?i&&i.toString():"number"===r?Number(i):i),isNaN(n[t])&&delete n.key)})),n}function ln(e,n){return ie(e)&&(!n||e.length===n)&&e.every((function(e){return an(e)}))}function gn(e,n){for(var t=[],r=0;r<n;r++){var i=ae(e)?qe(e):e;t.push(i)}return t}function pn(e,n){for(var t=[],r=0;r<Math.ceil(e.length/n);r++){var i=r*n,o=i+n;t.push(e.slice(i,o))}return t}function vn(e){return Math.min.apply(Math,s(e))}function yn(e){return Math.max.apply(Math,s(e))}function bn(e){return function(n,t){return n[e]<t[e]?1:n[e]>t[e]?-1:0}}function hn(e){return e?e.replace(/^\?/,"").split("&").reduce((function(e,n){var t,r,i=(t=n.split("="),r=2,function(e){if(Array.isArray(e))return e}(t)||function(e,n){var t=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=t){var r,i,o=[],a=!0,c=!1;try{for(t=t.call(e);!(a=(r=t.next()).done)&&(o.push(r.value),!n||o.length!==n);a=!0);}catch(e){c=!0,i=e}finally{try{a||null==t.return||t.return()}finally{if(c)throw i}}return o}}(t,r)||d(t,r)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),o=i[0],a=i[1];return/\[\]$/.test(o)?(e[o=o.replace("[]","")]=e[o]||[],e[o].push(a)):e[o]=a||"",e}),{}):{}}function mn(e){return Object.keys(e).map((function(n){return Array.isArray(e[n])?e[n].map((function(e){return"".concat(n,"[]=").concat(e)})).join("&"):"".concat(n,"=").concat(e[n])})).join("&")}function En(e,n){var t=document.createElement("a");n&&"noDecodeWholeURL"in n&&n.noDecodeWholeURL?t.href=e:t.href=decodeURIComponent(e);var r=n&&"decodeSearchAsString"in n&&n.decodeSearchAsString;return{href:t.href,protocol:(t.protocol||"").replace(/:$/,""),hostname:t.hostname,port:+t.port,pathname:t.pathname.replace(/^(?!\/)/,"/"),search:r?t.search:I.parseQS(t.search||""),hash:(t.hash||"").replace(/^#/,""),host:t.host||window.location.host}}function Sn(e){return(e.protocol||"http")+"://"+(e.host||e.hostname+(e.port?":".concat(e.port):""))+(e.pathname||"")+(e.search?"?".concat(I.formatQS(e.search||"")):"")+(e.hash?"#".concat(e.hash):"")}function An(e,n){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=t.checkTypes,i=void 0!==r&&r;if(e===n)return!0;if("object"!==p(e)||null===e||"object"!==p(n)||null===n||i&&e.constructor!==n.constructor)return!1;if(Object.keys(e).length!==Object.keys(n).length)return!1;for(var o in e){if(!n.hasOwnProperty(o))return!1;if(!An(e[o],n[o],{checkTypes:i}))return!1}return!0}function Tn(e){for(var n=arguments.length,t=new Array(n>1?n-1:0),r=1;r<n;r++)t[r-1]=arguments[r];if(!t.length)return e;var i=t.shift();if(ae(e)&&ae(i)){var o=function(n){ae(i[n])?(e[n]||g(e,l({},n,{})),Tn(e[n],i[n])):ie(i[n])?e[n]?ie(e[n])&&i[n].forEach((function(t){for(var r=1,i=0;i<e[n].length;i++)if(An(e[n][i],t)){r=0;break}r&&e[n].push(t)})):g(e,l({},n,s(i[n]))):g(e,l({},n,i[n]))};for(var a in i)o(a)}return Tn.apply(void 0,[e].concat(t))}function In(e){for(var n,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,r=function(e,n){if(te(Math.imul))return Math.imul(e,n);var t=(4194303&e)*(n|=0);return 4290772992&e&&(t+=(4290772992&e)*n|0),0|t},i=3735928559^t,o=1103547991^t,a=0;a<e.length;a++)i=r(i^(n=e.charCodeAt(a)),2654435761),o=r(o^n,1597334677);return i=r(i^i>>>16,2246822507)^r(o^o>>>13,3266489909),(4294967296*(2097151&(o=r(o^o>>>16,2246822507)^r(i^i>>>13,3266489909)))+(i>>>0)).toString()}function Cn(e){return e?e.defaultView:null}},1929:function(e,n,t){"use strict";t.d(n,{Dn:function(){return d},LD:function(){return s},gZ:function(){return u},hD:function(){return f}});var r=t(265),i=t(9853),o=t(8962),a=t(3494),c=t(4766),u="outstream",s="instream";function d(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},t=n.index,i=void 0===t?c.K.index:t,o=(0,r.Z)(i.getMediaTypes(e),"video"),a=o&&(0,r.Z)(o,"context"),u=i.getAdUnit(e);return f(e,u,o,a)}var f=(0,a.z3)("sync",(function(e,n,t,r){return t&&r!==u?o.vc.getConfig("cache.url")||!e.vastXml||e.vastUrl?!(!e.vastUrl&&!e.vastXml):((0,i.logError)('\n This bid contains only vastXml and will not work when a prebid cache url is not specified.\n Try enabling prebid cache with pbjs.setConfig({ cache: {url: "..."} });\n '),!1):r!==u||!!(e.renderer||n&&n.renderer||t.renderer)}),"checkVideoBidSetup")},905:function(e,n,t){"use strict";t.d(n,{h:function(){return u},z:function(){return s}});var r=t(5755),i=t(8962),o=t(4766);function a(e,n){var t=n?"<![CDATA[".concat(n,"]]]]><![CDATA[>"):"";return'<VAST version="3.0">\n <Ad>\n <Wrapper>\n <AdSystem>prebid.org wrapper</AdSystem>\n <VASTAdTagURI><![CDATA['.concat(e,"]]]]><![CDATA[></VASTAdTagURI>\n <Impression>").concat(t,"</Impression>\n <Creatives></Creatives>\n </Wrapper>\n </Ad>\n </VAST>")}function c(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},t=n.index,r=void 0===t?o.K.index:t,c=e.vastXml?e.vastXml:a(e.vastUrl,e.vastImpUrl),u=r.getAuction(e),s={type:"xml",value:c,ttlseconds:Number(e.ttl)};return i.vc.getConfig("cache.vasttrack")&&(s.bidder=e.bidder,s.bidid=e.requestId,s.aid=e.auctionId),null!=u&&(s.timestamp=u.getAuctionStart()),"string"==typeof e.customCacheKey&&""!==e.customCacheKey&&(s.key=e.customCacheKey),s}function u(e,n){var t={puts:e.map(c)};(0,r.h)(i.vc.getConfig("cache.url"),function(e){return{success:function(n){var t;try{t=JSON.parse(n).responses}catch(n){return void e(n,[])}t?e(null,t):e(new Error("The cache server didn't respond with a responses property."),[])},error:function(n,t){e(new Error("Error storing video ad in the cache: ".concat(n,": ").concat(JSON.stringify(t))),[])}}}(n),JSON.stringify(t),{contentType:"text/plain",withCredentials:!0})}function s(e){return"".concat(i.vc.getConfig("cache.url"),"?uuid=").concat(e)}},265:function(e,n,t){"use strict";function r(e,n,t,r,i){for(n=n.split?n.split("."):n,r=0;r<n.length;r++)e=e?e[n[r]]:i;return e===i?t:e}t.d(n,{Z:function(){return r}})},4806:function(e,n,t){"use strict";function r(e,n,t){n.split&&(n=n.split("."));for(var r,i=0,o=n.length,a=e;i<o;++i)r=a[n[i]],a=a[n[i]]=i===o-1?t:null!=r?r:!~n[i+1].indexOf(".")&&+n[i+1]>-1?[]:{}}t.d(n,{Z:function(){return r}})},1432:function(e){a.SYNC=1,a.ASYNC=2,a.QUEUE=4;var n=Object.freeze({useProxy:!0,ready:0}),t=new WeakMap,r="2,1,0"===[1].reduce((function(e,n,t){return[e,n,t]}),2).toString()?Array.prototype.reduce:function(e,n){var t,r=Object(this),i=r.length>>>0,o=0;if(n)t=n;else{for(;o<i&&!(o in r);)o++;t=r[o++]}for(;o<i;)o in r&&(t=e(t,r[o],o,r)),o++;return t};function i(e,n){return Array.prototype.slice.call(e,n)}var o=Object.assign||function(e){return r.call(i(arguments,1),(function(e,n){return n&&Object.keys(n).forEach((function(t){e[t]=n[t]})),e}),e)};function a(e){var c,u={},s=[];function d(e,n){return"function"==typeof e?p.call(null,"sync",e,n):"string"==typeof e&&"function"==typeof n?p.apply(null,arguments):"object"==typeof e?f.apply(null,arguments):void 0}function f(e,n,t){var r=!0;void 0===n&&(n=Object.getOwnPropertyNames(e),r=!1);var i={},o=["constructor"];do{(n=n.filter((function(n){return!("function"!=typeof e[n]||-1!==o.indexOf(n)||n.match(/^_/))}))).forEach((function(n){var r=n.split(":"),o=r[0],a=r[1]||"sync";if(!i[o]){var c=e[o];i[o]=e[o]=p(a,c,t?[t,o]:void 0)}})),e=Object.getPrototypeOf(e)}while(r&&e);return i}function l(e){var n=Array.isArray(e)?e:e.split(".");return r.call(n,(function(t,r,i){var o=t[r],a=!1;return o||(i===n.length-1?(c||s.push((function(){a||console.warn("fun-hooks: referenced '"+e+"' but it was never created")})),t[r]=g((function(e){t[r]=e,a=!0}))):t[r]={})}),u)}function g(e){var n=[],r=[],i=function(){},a={before:function(e,t){return u.call(this,n,"before",e,t)},after:function(e,n){return u.call(this,r,"after",e,n)},getHooks:function(e){var t=n.concat(r);"object"==typeof e&&(t=t.filter((function(n){return Object.keys(e).every((function(t){return n[t]===e[t]}))})));try{o(t,{remove:function(){return t.forEach((function(e){e.remove()})),this}})}catch(e){console.error("error adding `remove` to array, did you modify Array.prototype?")}return t},removeAll:function(){return this.getHooks().remove()}},c={install:function(t,o,a){this.type=t,i=a,a(n,r),e&&e(o)}};return t.set(a.after,c),a;function u(e,t,o,a){var c={hook:o,type:t,priority:a||10,remove:function(){var t=e.indexOf(c);-1!==t&&(e.splice(t,1),i(n,r))}};return e.push(c),e.sort((function(e,n){return n.priority-e.priority})),i(n,r),this}}function p(n,r,u){var d=r.after&&t.get(r.after);if(d){if(d.type!==n)throw"fun-hooks: recreated hookable with different type";return r}var f,p,v=u?l(u):g(),y={get:function(e,n){return v[n]||Reflect.get.apply(Reflect,arguments)}};return c||s.push(b),e.useProxy&&"function"==typeof Proxy&&Proxy.revocable?p=new Proxy(r,y):(p=function(){return y.apply?y.apply(r,this,i(arguments)):r.apply(this,arguments)},o(p,v)),t.get(p.after).install(n,p,(function(e,t){var r,o=[];function a(e){o.push(e.hook)}e.length||t.length?(e.forEach(a),r=o.push(void 0)-1,t.forEach(a),f=function(e,t,a){var c,u=0,s="async"===n&&"function"==typeof a[a.length-1]&&a.pop();function d(e){"sync"===n?c=e:s&&s.apply(null,arguments)}function f(e){if(o[u]){var r=i(arguments);return f.bail=d,r.unshift(f),o[u++].apply(t,r)}"sync"===n?c=e:s&&s.apply(null,arguments)}return o[r]=function(){var r=i(arguments,1);"async"===n&&s&&(delete f.bail,r.push(f));var o=e.apply(t,r);"sync"===n&&f(o)},f.apply(null,a),c}):f=void 0,b()})),p;function b(){!c&&("sync"!==n||e.ready&a.SYNC)&&("async"!==n||e.ready&a.ASYNC)?"sync"!==n&&e.ready&a.QUEUE?y.apply=function(){var e=arguments;s.push((function(){p.apply(e[1],e[2])}))}:y.apply=function(){throw"fun-hooks: hooked function not ready"}:y.apply=f}}return(e=o({},n,e)).ready?d.ready=function(){c=!0,function(e){for(var n;n=e.shift();)n()}(s)}:c=!0,d.get=l,d}e.exports=a},7079:function(e){e.exports=function e(n){var t=Array.isArray(n)?[]:{};for(var r in n){var i=n[r];t[r]=i&&"object"==typeof i?e(i):i}return t}},5644:function(e){"use strict";e.exports=JSON.parse('{"JSON_MAPPING":{"PL_CODE":"code","PL_SIZE":"sizes","PL_BIDS":"bids","BD_BIDDER":"bidder","BD_ID":"paramsd","BD_PL_ID":"placementId","ADSERVER_TARGETING":"adserverTargeting","BD_SETTING_STANDARD":"standard"},"DEBUG_MODE":"pbjs_debug","STATUS":{"GOOD":1,"NO_BID":2},"CB":{"TYPE":{"ALL_BIDS_BACK":"allRequestedBidsBack","AD_UNIT_BIDS_BACK":"adUnitBidsBack","BID_WON":"bidWon","REQUEST_BIDS":"requestBids"}},"EVENTS":{"AUCTION_INIT":"auctionInit","AUCTION_END":"auctionEnd","BID_ADJUSTMENT":"bidAdjustment","BID_TIMEOUT":"bidTimeout","BID_REQUESTED":"bidRequested","BID_RESPONSE":"bidResponse","NO_BID":"noBid","BID_WON":"bidWon","BIDDER_DONE":"bidderDone","BIDDER_ERROR":"bidderError","SET_TARGETING":"setTargeting","BEFORE_REQUEST_BIDS":"beforeRequestBids","BEFORE_BIDDER_HTTP":"beforeBidderHttp","REQUEST_BIDS":"requestBids","ADD_AD_UNITS":"addAdUnits","AD_RENDER_FAILED":"adRenderFailed","AD_RENDER_SUCCEEDED":"adRenderSucceeded","TCF2_ENFORCEMENT":"tcf2Enforcement","AUCTION_DEBUG":"auctionDebug","BID_VIEWABLE":"bidViewable","STALE_RENDER":"staleRender","BILLABLE_EVENT":"billableEvent"},"AD_RENDER_FAILED_REASON":{"PREVENT_WRITING_ON_MAIN_DOCUMENT":"preventWritingOnMainDocument","NO_AD":"noAd","EXCEPTION":"exception","CANNOT_FIND_AD":"cannotFindAd","MISSING_DOC_OR_ADID":"missingDocOrAdid"},"EVENT_ID_PATHS":{"bidWon":"adUnitCode"},"GRANULARITY_OPTIONS":{"LOW":"low","MEDIUM":"medium","HIGH":"high","AUTO":"auto","DENSE":"dense","CUSTOM":"custom"},"TARGETING_KEYS":{"BIDDER":"hb_bidder","AD_ID":"hb_adid","PRICE_BUCKET":"hb_pb","SIZE":"hb_size","DEAL":"hb_deal","SOURCE":"hb_source","FORMAT":"hb_format","UUID":"hb_uuid","CACHE_ID":"hb_cache_id","CACHE_HOST":"hb_cache_host","ADOMAIN":"hb_adomain"},"DEFAULT_TARGETING_KEYS":{"BIDDER":"hb_bidder","AD_ID":"hb_adid","PRICE_BUCKET":"hb_pb","SIZE":"hb_size","DEAL":"hb_deal","FORMAT":"hb_format","UUID":"hb_uuid","CACHE_HOST":"hb_cache_host"},"NATIVE_KEYS":{"title":"hb_native_title","body":"hb_native_body","body2":"hb_native_body2","privacyLink":"hb_native_privacy","privacyIcon":"hb_native_privicon","sponsoredBy":"hb_native_brand","image":"hb_native_image","icon":"hb_native_icon","clickUrl":"hb_native_linkurl","displayUrl":"hb_native_displayurl","cta":"hb_native_cta","rating":"hb_native_rating","address":"hb_native_address","downloads":"hb_native_downloads","likes":"hb_native_likes","phone":"hb_native_phone","price":"hb_native_price","salePrice":"hb_native_saleprice","rendererUrl":"hb_renderer_url","adTemplate":"hb_adTemplate"},"S2S":{"SRC":"s2s","DEFAULT_ENDPOINT":"https://prebid.adnxs.com/pbs/v1/openrtb2/auction","SYNCED_BIDDERS_KEY":"pbjsSyncs"},"BID_STATUS":{"BID_TARGETING_SET":"targetingSet","RENDERED":"rendered","BID_REJECTED":"bidRejected"}}')}},t={};function r(e){var i=t[e];if(void 0!==i)return i.exports;var o=t[e]={exports:{}};return n[e].call(o.exports,o,o.exports,r),o.exports}r.m=n,e=[],r.O=function(n,t,i,o){if(!t){var a=1/0;for(d=0;d<e.length;d++){t=e[d][0],i=e[d][1],o=e[d][2];for(var c=!0,u=0;u<t.length;u++)(!1&o||a>=o)&&Object.keys(r.O).every((function(e){return r.O[e](t[u])}))?t.splice(u--,1):(c=!1,o<a&&(a=o));if(c){e.splice(d--,1);var s=i();void 0!==s&&(n=s)}}return n}o=o||0;for(var d=e.length;d>0&&e[d-1][2]>o;d--)e[d]=e[d-1];e[d]=[t,i,o]},r.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(n,{a:n}),n},r.d=function(e,n){for(var t in n)r.o(n,t)&&!r.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:n[t]})},r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),r.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},function(){var e={5602:0};r.O.j=function(n){return 0===e[n]};var n=function(n,t){var i,o,a=t[0],c=t[1],u=t[2],s=0;if(a.some((function(n){return 0!==e[n]}))){for(i in c)r.o(c,i)&&(r.m[i]=c[i]);if(u)var d=u(r)}for(n&&n(t);s<a.length;s++)o=a[s],r.o(e,o)&&e[o]&&e[o][0](),e[o]=0;return r.O(d)},t=self.pbjsChunk=self.pbjsChunk||[];t.forEach(n.bind(null,0)),t.push=n.bind(null,t.push.bind(t))}();var i=r(2786);i=r.O(i)}(); "use strict";(self.pbjsChunk=self.pbjsChunk||[]).push([[3188],{4475:function(e,t,n){var r=n(9853),o=n(1609),s=n(5849);function a(e){return a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},a(e)}var i="concert",d={code:i,isBidRequestValid:function(e){return!!e.params.partnerId||((0,r.logWarn)("Missing partnerId bid parameter"),!1)},buildRequests:function(e,t){(0,r.logMessage)(e),(0,r.logMessage)(t);var n={meta:{prebidVersion:"6.23.0",pageUrl:t.refererInfo.referer,screen:[window.screen.width,window.screen.height].join("x"),debug:(0,r.debugTurnedOn)(),uid:u(t),optedOut:p(),adapterVersion:"1.1.1",uspConsent:t.uspConsent,gdprConsent:t.gdprConsent}};return n.slots=e.map((function(e){return{name:e.adUnitCode,bidId:e.bidId,transactionId:e.transactionId,sizes:e.params.sizes||e.sizes,partnerId:e.params.partnerId,slotType:e.params.slotType,adSlot:e.params.slot||e.adUnitCode,placementId:e.params.placementId||"",site:e.params.site||t.refererInfo.referer}})),(0,r.logMessage)(n),{method:"POST",url:"".concat("https://bids.concert.io","/bids/prebid"),data:JSON.stringify(n)}},interpretResponse:function(e,t){(0,r.logMessage)(e),(0,r.logMessage)(t);var n,o=e.body;return o&&"object"===a(o)?(n=o.bids.map((function(e){return{requestId:e.bidId,cpm:e.cpm,width:e.width,height:e.height,ad:e.ad,ttl:e.ttl,meta:{advertiserDomains:e&&e.adomain?e.adomain:[]},creativeId:e.creativeId,netRevenue:e.netRevenue,currency:e.currency}})),(0,r.debugTurnedOn)()&&o.debug&&(0,r.logMessage)("CONCERT",o.debug),(0,r.logMessage)(n),n):[]},getUserSyncs:function(e,t,n,r){var o=[];if(e.iframeEnabled&&!p()){var s=[];n&&"boolean"==typeof n.gdprApplies&&s.push("gdpr_applies=".concat(n.gdprApplies?"1":"0")),n&&"string"==typeof n.consentString&&s.push("gdpr_consent=".concat(n.consentString)),r&&"string"==typeof r&&s.push("usp_consent=".concat(r)),o.push({type:"iframe",url:"https://cdn.concert.io/lib/bids/sync.html"+(s.length>0?"?".concat(s.join("&")):"")})}return o},onTimeout:function(e){(0,r.logMessage)("concert bidder timed out"),(0,r.logMessage)(e)},onBidWon:function(e){(0,r.logMessage)("concert bidder won bid"),(0,r.logMessage)(e)}};(0,o.registerBidder)(d);var c=(0,s.df)({bidderCode:i});function u(e){if(p()||!function(e){return!("string"===e.uspConsent&&"1YY"===e.uspConsent.toUpperCase().substring(0,2))}(e))return!1;var t="c_uid",n=c.getDataFromLocalStorage(t);return n||(n=(0,r.generateUUID)(),c.setDataInLocalStorage(t,n)),n}function p(){return"true"===c.getDataFromLocalStorage("c_nap")}window.pbjs.installedModules.push("concertBidAdapter")}},function(e){e(e.s=4475)}]); "use strict";(self.pbjsChunk=self.pbjsChunk||[]).push([[1266],{1654:function(n,e,t){var o=t(9853),a=t(8962),r=t(7602),i=t(1879);function c(n){return c="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(n){return typeof n}:function(n){return n&&"function"==typeof Symbol&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},c(n)}function s(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(n);e&&(o=o.filter((function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),t.push.apply(t,o)}return t}function l(n){for(var e=1;e<arguments.length;e++){var t=null!=arguments[e]?arguments[e]:{};e%2?s(Object(t),!0).forEach((function(e){d(n,e,t[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):s(Object(t)).forEach((function(e){Object.defineProperty(n,e,Object.getOwnPropertyDescriptor(t,e))}))}return n}function d(n,e,t){return e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}var u,f,p,g,v,m={value:!0,definedInConfig:!1},b=0,C=!1,y={iab:function(n){var e=n.onSuccess,t=n.onError,a=n.width,r=n.height;function c(n,a){(0,o.logInfo)("Received a response from CMP",n),a?!1!==n.gdprApplies&&"tcloaded"!==n.eventStatus&&"useractioncomplete"!==n.eventStatus||D(n,{onSuccess:e,onError:t}):t("CMP unable to register callback function. Please check CMP setup.")}var s=function(){var n={};function a(){n.getConsentData&&n.getVendorConsents&&((0,o.logInfo)("Received all requested responses from CMP",n),D(n,{onSuccess:e,onError:t}))}return{consentDataCallback:function(e){n.getConsentData=e,a()},vendorConsentsCallback:function(e){n.getVendorConsents=e,a()}}}(),l={},u=function(){for(var n,e,t=window;!n;){try{if("function"==typeof t.__tcfapi||"function"==typeof t.__cmp){"function"==typeof t.__tcfapi?(b=2,e=t.__tcfapi):(b=1,e=t.__cmp),n=t;break}}catch(n){}try{if(t.frames.__tcfapiLocator){b=2,n=t;break}}catch(n){}try{if(t.frames.__cmpLocator){b=1,n=t;break}}catch(n){}if(t===window.top)break;t=t.parent}return{cmpFrame:n,cmpFunction:e}}(),f=u.cmpFrame,p=u.cmpFunction;if(!f)return t("CMP not found.");function g(n,e){window.$sf.ext.register(a,r,(function(t,o){if("cmpReturn"===t){var a="getConsentData"===n?o.vendorConsentData:o.vendorConsents;e(a)}})),window.$sf.ext.cmp(n)}function v(n,e,t){var o=2===b?"__tcfapi":"__cmp",a="".concat(o,"Call");function r(n){var e="".concat(o,"Return"),t="string"==typeof n.data&&(0,i.q9)(n.data,e)?JSON.parse(n.data):n.data;if(t[e]&&t[e].callId){var a=t[e];void 0!==l[a.callId]&&l[a.callId](a.returnValue,a.success)}}2===b?(window[o]=function(n,t,o,r){var i=Math.random()+"",c=d({},a,{command:n,version:t,parameter:r,callId:i});l[i]=o,e.postMessage(c,"*")},window.addEventListener("message",r,!1),window[o](n,b,t)):(window[o]=function(n,t,o){var r=Math.random()+"",i=d({},a,{command:n,parameter:t,callId:r});l[r]=o,e.postMessage(i,"*")},window.addEventListener("message",r,!1),window[o](n,void 0,t))}(0,o.isFn)(p)?((0,o.logInfo)("Detected CMP API is directly accessible, calling it now..."),1===b?(p("getConsentData",null,s.consentDataCallback),p("getVendorConsents",null,s.vendorConsentsCallback)):2===b&&p("addEventListener",b,c)):1===b&&window.$sf&&window.$sf.ext&&"function"==typeof window.$sf.ext.cmp?((0,o.logInfo)("Detected Prebid.js is encased in a SafeFrame and CMP is registered, calling it now..."),g("getConsentData",s.consentDataCallback),g("getVendorConsents",s.vendorConsentsCallback)):((0,o.logInfo)("Detected CMP is outside the current iframe where Prebid.js is located, calling it now..."),1===b?(v("getConsentData",f,s.consentDataCallback),v("getVendorConsents",f,s.vendorConsentsCallback)):2===b&&v("addEventListener",f,c))},static:function(n){var e=n.onSuccess,t=n.onError;D(g,{onSuccess:e,onError:t})}};function w(n){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,o=!1,a=null;function c(e,t,i){if(null!=a&&clearTimeout(a),o=!0,r.rp.setConsentData(e),null!=n){for(var c=arguments.length,s=new Array(c>3?c-3:0),l=3;l<c;l++)s[l-3]=arguments[l];n.apply(void 0,[t,i].concat(s))}}if((0,i.q9)(Object.keys(y),u)){var s={onSuccess:function(n){return c(n,!1)},onError:function(n){var e=null,t=!0;m.value&&1===b&&(e=P(void 0),t=!1);for(var o=arguments.length,a=new Array(o>1?o-1:0),r=1;r<o;r++)a[r-1]=arguments[r];c.apply(void 0,[e,t,n].concat(a))}};y[u](l({width:e,height:t},s)),o||(0===f?D(void 0,s):a=setTimeout((function(){2===b?c(P(void 0),!1,"No response from CMP, continuing auction..."):s.onError("CMP workflow exceeded timeout threshold.")}),f))}else c(null,!1,"CMP framework (".concat(u,") is not a supported framework. Aborting consentManagement module and resuming auction."))}function h(n,e){!function(){if(v)return(0,o.logInfo)("User consent information already known. Pulling internally stored information..."),function(n){n(!1)};var n=e.adUnits||pbjs.adUnits,t=1,a=1;if(Array.isArray(n)&&n.length>0){var r,i,c=(0,o.getAdUnitSizes)(n[0]);t=(null==c||null===(r=c[0])||void 0===r?void 0:r[0])||1,a=(null==c||null===(i=c[0])||void 0===i?void 0:i[1])||1}return function(n){w(n,t,a)}}()((function(t,a){if(a){var r=o.logWarn;1!==b||t?t&&(r=o.logError,a="".concat(a," Canceling auction as per consentManagement config.")):a="".concat(a," 'allowAuctionWithoutConsent' activated.");for(var i=arguments.length,c=new Array(i>2?i-2:0),s=2;s<i;s++)c[s-2]=arguments[s];r.apply(void 0,[a].concat(c))}t?"function"==typeof e.bidsBackHandler?e.bidsBackHandler():(0,o.logError)("Error executing bidsBackHandler"):n.call(this,e)}))}function D(n,e){var t=e.onSuccess,a=e.onError;"static"===u&&2==(b=n.getConsentData?1:n.getTCData?2:0)&&(n=n.getTCData);var r=1===b?function(n){var e=n&&n.getConsentData&&n.getConsentData.gdprApplies;return!("boolean"==typeof e&&(!0!==e||(0,o.isStr)(n.getConsentData.consentData)&&(0,o.isPlainObject)(n.getVendorConsents)&&Object.keys(n.getVendorConsents).length>1))}:2===b?function(){var e=n&&"boolean"==typeof n.gdprApplies?n.gdprApplies:p,t=n&&n.tcString;return!("boolean"==typeof e&&(!0!==e||(0,o.isStr)(t)))}:null;(0,o.isFn)(r)?r(n)?a("CMP returned unexpected value during lookup process.",n):t(P(n)):a("Unable to derive CMP version to process data. Consent object does not conform to TCF v1 or v2 specs.",n)}function P(n){return 1===b?v={consentString:n?n.getConsentData.consentData:void 0,vendorData:n?n.getVendorConsents:void 0,gdprApplies:n?n.getConsentData.gdprApplies:p}:(v={consentString:n?n.tcString:void 0,vendorData:n||void 0,gdprApplies:n&&"boolean"==typeof n.gdprApplies?n.gdprApplies:p},n&&n.addtlConsent&&(0,o.isStr)(n.addtlConsent)&&(v.addtlConsent=n.addtlConsent)),v.apiVersion=b,v}a.vc.getConfig("consentManagement",(function(n){return function(n){(n=n&&(n.gdpr||n.usp?n.gdpr:n))&&"object"===c(n)?((0,o.isStr)(n.cmpApi)?u=n.cmpApi:(u="iab",(0,o.logInfo)("consentManagement config did not specify cmp. Using system default setting (".concat("iab",")."))),(0,o.isNumber)(n.timeout)?f=n.timeout:(f=1e4,(0,o.logInfo)("consentManagement config did not specify timeout. Using system default setting (".concat(1e4,")."))),"boolean"==typeof n.allowAuctionWithoutConsent&&(m.value=n.allowAuctionWithoutConsent,m.definedInConfig=!0),p=!0===n.defaultGdprScope,(0,o.logInfo)("consentManagement module has been activated..."),"static"===u&&((0,o.isPlainObject)(n.consentData)?(g=n.consentData,f=0):(0,o.logError)("consentManagement config with cmpApi: 'static' did not specify consentData. No consents will be available to adapters.")),C||pbjs.requestBids.before(h,50),C=!0,r.rp.enable(),w(),m.definedInConfig&&2===b?(0,o.logWarn)("'allowAuctionWithoutConsent' ignored for TCF 2"):m.definedInConfig||1!==b||(0,o.logInfo)("'allowAuctionWithoutConsent' using system default: (".concat(!0,")."))):(0,o.logWarn)("consentManagement config not defined, exiting consent manager")}(n.consentManagement)})),window.pbjs.installedModules.push("consentManagement")}},function(n){n(n.s=1654)}]); "use strict";(self.pbjsChunk=self.pbjsChunk||[]).push([[5160],{1366:function(n,t,e){var o=e(9853),a=e(8962),i=e(7602);function c(n){return c="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(n){return typeof n}:function(n){return n&&"function"==typeof Symbol&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},c(n)}var s,r,u,l,p=!1,f={iab:function(n){var t,e=n.onSuccess,a=n.onError,i=(t={},{consentDataCallback:function(n,o){o&&n.uspString&&(t.usPrivacy=n.uspString),t.usPrivacy?m(t,{onSuccess:e,onError:a}):a("Unable to get USP consent string.")}}),c={},s=function(){for(var n,t,e=window;!n;){try{if("function"==typeof e.__uspapi){t=e.__uspapi,n=e;break}}catch(n){}try{if(e.frames.__uspapiLocator){n=e;break}}catch(n){}if(e===window.top)break;e=e.parent}return{uspapiFrame:n,uspapiFunction:t}}(),r=s.uspapiFrame,u=s.uspapiFunction;if(!r)return a("USP CMP not found.");(0,o.isFn)(u)?((0,o.logInfo)("Detected USP CMP is directly accessible, calling it now..."),u("getUSPData",1,i.consentDataCallback)):((0,o.logInfo)("Detected USP CMP is outside the current iframe where Prebid.js is located, calling it now..."),function(n,t,e){window.__uspapi=function(n,e,o){var a=Math.random()+"",i={__uspapiCall:{command:n,version:e,callId:a}};c[a]=o,t.postMessage(i,"*")},window.addEventListener("message",(function(n){var t=n&&n.data&&n.data.__uspapiReturn;t&&t.callId&&void 0!==c[t.callId]&&(c[t.callId](t.returnValue,t.success),delete c[t.callId])}),!1),window.__uspapi("getUSPData",1,e)}(0,r,i.consentDataCallback))},static:function(n){var t=n.onSuccess,e=n.onError;m(u,{onSuccess:t,onError:e})}};function d(n){var t=null,e=!1;function o(o,a){if(null!=t&&clearTimeout(t),e=!0,i.nX.setConsentData(o),null!=n){for(var c=arguments.length,s=new Array(c>2?c-2:0),r=2;r<c;r++)s[r-2]=arguments[r];n.apply(void 0,[a].concat(s))}}if(f[s]){var a={onSuccess:o,onError:function(n){for(var t=arguments.length,e=new Array(t>1?t-1:0),a=1;a<t;a++)e[a-1]=arguments[a];o.apply(void 0,[null,"".concat(n," Resuming auction without consent data as per consentManagement config.")].concat(e))}};f[s](a),e||(0===r?m(void 0,a):t=setTimeout(a.onError.bind(null,"USPAPI workflow exceeded timeout threshold."),r))}else o(null,"USP framework (".concat(s,") is not a supported framework. Aborting consentManagement module and resuming auction."))}function g(n,t){var e=this;d((function(a){if(null!=a){for(var i=arguments.length,c=new Array(i>1?i-1:0),s=1;s<i;s++)c[s-1]=arguments[s];o.logWarn.apply(void 0,[a].concat(c))}n.call(e,t)}))}function m(n,t){var e=t.onSuccess,o=t.onError;n&&n.usPrivacy?(function(n){n&&n.usPrivacy&&(l=n.usPrivacy)}(n),e(l)):o("USPAPI returned unexpected value during lookup process.",n)}a.vc.getConfig("consentManagement",(function(n){return function(n){(n=n&&n.usp)&&"object"===c(n)?((0,o.isStr)(n.cmpApi)?s=n.cmpApi:(s="iab",(0,o.logInfo)("consentManagement.usp config did not specify cmpApi. Using system default setting (".concat("iab",")."))),(0,o.isNumber)(n.timeout)?r=n.timeout:(r=50,(0,o.logInfo)("consentManagement.usp config did not specify timeout. Using system default setting (".concat(50,")."))),(0,o.logInfo)("USPAPI consentManagement module has been activated..."),"static"===s&&((0,o.isPlainObject)(n.consentData)&&(0,o.isPlainObject)(n.consentData.getUSPData)?(n.consentData.getUSPData.uspString&&(u={usPrivacy:n.consentData.getUSPData.uspString}),r=0):(0,o.logError)("consentManagement config with cmpApi: 'static' did not specify consentData. No consents will be available to adapters.")),p||pbjs.requestBids.before(g,50),p=!0,i.nX.enable(),d()):(0,o.logWarn)("consentManagement.usp config not defined, exiting usp consent manager")}(n.consentManagement)})),window.pbjs.installedModules.push("consentManagementUsp")}},function(n){n(n.s=1366)}]); "use strict";(self.pbjsChunk=self.pbjsChunk||[]).push([[8806],{2235:function(e,n,t){var i=t(9853),o=t(3494),r=t(2661),c=t(5849),d={},a=window===window.top?window:window.top,m=(0,c.eA)("enrichmentFpd");function u(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:window.location.hostname;if(!m.cookiesAreEnabled())return e;var n,t,o=e.split(".");if(2==o.length)return e;var r=-2,c="_rdc".concat(Date.now()),d="writeable";do{n=o.slice(r).join(".");var a=new Date((0,i.timestamp)()+1e4).toUTCString();m.setCookie(c,d,a,"Lax",n,void 0);var u=m.getCookie(c,void 0);u===d?(t=!1,m.setCookie(c,"","Thu, 01 Jan 1970 00:00:01 GMT",void 0,n,void 0)):(r+=-1,t=Math.abs(r)<=o.length)}while(t);return n}var l={name:"enrichments",queue:2,init:function(e,n){return d={},e.skipEnrichments?n:(0,i.mergeDeep)(((0,r.n)().referer&&(0,i.mergeDeep)(d,{site:{ref:(0,r.n)().referer}}),(0,r.n)().canonicalUrl&&(0,i.mergeDeep)(d,{site:{page:(0,r.n)().canonicalUrl}}),(t=function(e){if(e&&"string"==typeof e&&0!==e.length){var n=e.match(/^(?:https?:\/\/)?(?:www\.)?(.*?(?=(\?|\#|\/|$)))/i);return n&&n[1]}}((0,r.n)().canonicalUrl))&&((0,i.mergeDeep)(d,{site:{domain:t}}),(0,i.mergeDeep)(d,{site:{publisher:{domain:u(t)}}})),function(){var e,n;try{e=a.innerWidth||a.document.documentElement.clientWidth||a.document.body.clientWidth,n=a.innerHeight||a.document.documentElement.clientHeight||a.document.body.clientHeight}catch(t){e=window.innerWidth||window.document.documentElement.clientWidth||window.document.body.clientWidth,n=window.innerHeight||window.document.documentElement.clientHeight||window.document.body.clientHeight}(0,i.mergeDeep)(d,{device:{w:e,h:n}})}(),function(){var e;try{e=a.document.querySelector("meta[name='keywords']")}catch(n){e=window.document.querySelector("meta[name='keywords']")}e&&e.content&&(0,i.mergeDeep)(d,{site:{keywords:e.content.replace(/\s/g,"")}})}(),d),n);var t}};(0,o.Bx)("firstPartyData",l),window.pbjs.installedModules.push("enrichmentFpdModule")}},function(e){e(e.s=2235)}]); "use strict";(self.pbjsChunk=self.pbjsChunk||[]).push([[7910],{8303:function(t,e,n){var o=n(8962),s=n(3494),u=n(2528),i=n(4892),f=[];function r(t,e){var n,s;n=o.vc.getConfig("firstPartyData")||{},s=o.vc.getConfig("ortb2")||{},f.sort((function(t,e){return(t.queue||1)-(e.queue||1)})).forEach((function(t){s=t.init(n,s)})),o.vc.setConfig({ortb2:s}),t.call(this,e),i.e0.getHooks({hook:r}).remove()}function c(){(0,s.v5)("addBidderRequests").before(r)}(0,s.bA)("firstPartyData",(function(t){f.push(t)})),c(),(0,u.R)().refreshFpd=c,window.pbjs.installedModules.push("fpdModule")}},function(t){t(t.s=8303)}]); "use strict";(self.pbjsChunk=self.pbjsChunk||[]).push([[7083],{1489:function(e,r,n){var t=n(265),o=n(9853),i=n(8962),a=n(7602),c=n(1879),s=n(1609),l=n(3494),p=n(5849),u=n(2319),f=n(5644);function d(e,r){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);r&&(t=t.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),n.push.apply(n,t)}return n}function v(e){for(var r=1;r<arguments.length;r++){var n=null!=arguments[r]?arguments[r]:{};r%2?d(Object(n),!0).forEach((function(r){g(e,r,n[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):d(Object(n)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))}))}return e}function g(e,r,n){return r in e?Object.defineProperty(e,r,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[r]=n,e}function b(){return b=Object.assign||function(e){for(var r=1;r<arguments.length;r++){var n=arguments[r];for(var t in n)Object.prototype.hasOwnProperty.call(n,t)&&(e[t]=n[t])}return e},b.apply(this,arguments)}function y(e){return y="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},y(e)}var h,m,O,E,P={purpose1:{id:1,name:"storage"},purpose2:{id:2,name:"basicAds"},purpose7:{id:7,name:"measurement"}},j=[{purpose:"storage",enforcePurpose:!0,enforceVendor:!0,vendorExceptions:[]},{purpose:"basicAds",enforcePurpose:!0,enforceVendor:!0,vendorExceptions:[]}],C=[],A=[],D=[],w=!1,S=function(e){var r=null;if(e=e||i.vc.getCurrentBidder()){var n=a.ZP.getBidAdapter(e);n&&n.getSpec&&(r=n.getSpec().gvlid)}return r},k=function(e){return"object"===y(e)?e.gvlid:null},V=function(e){return a.ZP.getAnalyticsAdapter(e)&&(a.ZP.getAnalyticsAdapter(e).gvlid||null)};function T(e){var r=null;if(e){var n=i.vc.getConfig("gvlMapping"),t="string"==typeof e?e:e.name;if(n&&n[t])return n[t];r=S(t)||k(e)||V(t)}return r}function B(e,r,n,o){var i=P[Object.keys(P).filter((function(r){return P[r].name===e.purpose}))[0]].id;if((0,c.q9)(e.vendorExceptions||[],n))return!0;var a=(0,t.Z)(r,"vendorData.purpose.consents.".concat(i)),s=(0,t.Z)(r,"vendorData.vendor.consents.".concat(o)),l=(0,t.Z)(r,"vendorData.purpose.legitimateInterests.".concat(i)),p=!1===e.enforcePurpose||!0===a,u=!1===e.enforceVendor||!0===s;return 2===i?p&&u||!0===l:p&&u}function Z(e,r,n,t){if(t=b({},{hasEnforcementHook:!0}),(0,o.hasDeviceAccess)()){var c=a.rp.getConsentData();if(c&&c.gdprApplies)if(2===c.apiVersion){var s=i.vc.getCurrentBidder();r=s&&s!=n&&a.ZP.aliasRegistry[s]===n?T(s):T(n)||r;var l=n||s;B(h,c,l,r)?(t.valid=!0,e.call(this,r,n,t)):(l&&(0,o.logWarn)("TCF2 denied device access for ".concat(l)),t.valid=!1,C.push(l),e.call(this,r,n,t))}else t.valid=!0,e.call(this,r,n,t);else t.valid=!0,e.call(this,r,n,t)}else(0,o.logWarn)("Device access is disabled by Publisher"),t.valid=!1,e.call(this,r,n,t)}function W(e){for(var r=a.rp.getConsentData(),n=arguments.length,t=new Array(n>1?n-1:0),c=1;c<n;c++)t[c-1]=arguments[c];if(r&&r.gdprApplies)if(2===r.apiVersion){var s=i.vc.getCurrentBidder(),l=T(s),p=B(h,r,s,l);p?e.call.apply(e,[this].concat(t)):((0,o.logWarn)("User sync not allowed for ".concat(s)),C.push(s))}else e.call.apply(e,[this].concat(t));else e.call.apply(e,[this].concat(t))}function F(e,r,n){if(n&&n.gdprApplies)if(2===n.apiVersion){var t=r.map((function(e){var r=T(e.submodule),t=e.submodule.name;if(B(h,n,t,r))return e;(0,o.logWarn)("User denied permission to fetch user id for ".concat(t," User id module")),C.push(t)})).filter((function(e){return e}));e.call(this,t,v(v({},n),{},{hasValidated:!0}))}else e.call(this,r,n);else e.call(this,r,n)}function N(e,r){for(var n=a.rp.getConsentData(),t=arguments.length,i=new Array(t>2?t-2:0),s=2;s<t;s++)i[s-2]=arguments[s];n&&n.gdprApplies&&2===n.apiVersion?(r.forEach((function(e){e.bids=e.bids.filter((function(e){var r=e.bidder,t=T(r);if((0,c.q9)(A,r))return!1;var i=!!B(m,n,r,t);return i||((0,o.logWarn)("TCF2 blocked auction for ".concat(r)),A.push(r)),i}))})),e.call.apply(e,[this,r].concat(i))):e.call.apply(e,[this,r].concat(i))}function M(e,r){var n=a.rp.getConsentData();n&&n.gdprApplies&&2===n.apiVersion?((0,o.isArray)(r)||(r=[r]),r=r.filter((function(e){var r=e.provider,t=T(r),i=!!B(O,n,r,t);return i||(D.push(r),(0,o.logWarn)("TCF2 blocked analytics adapter ".concat(e.provider))),i})),e.call(this,r)):e.call(this,r)}u.on(f.EVENTS.AUCTION_END,(function(){var e=function(e){return e.filter((function(r,n){return null!==r&&e.indexOf(r)===n}))},r={storageBlocked:e(C),biddersBlocked:e(A),analyticsBlocked:e(D)};u.emit(f.EVENTS.TCF2_ENFORCEMENT,r)}));var x=function(e){return e.purpose===P.purpose1.name},U=function(e){return e.purpose===P.purpose2.name},q=function(e){return e.purpose===P.purpose7.name};i.vc.getConfig("consentManagement",(function(e){return function(e){var r=(0,t.Z)(e,"gdpr.rules");r?E=r:((0,o.logWarn)("TCF2: enforcing P1 and P2 by default"),E=j),h=(0,c.sE)(E,x),m=(0,c.sE)(E,U),O=(0,c.sE)(E,q),h||(h=j[0]),m||(m=j[1]),h&&!w&&(w=!0,p.S6.before(Z,49),s.registerSyncInner.before(W,48),(0,l.v5)("validateGdprEnforcement").before(F,47)),m&&(0,l.v5)("makeBidRequests").before(N),O&&(0,l.v5)("enableAnalyticsCb").before(M)}(e.consentManagement)})),window.pbjs.installedModules.push("gdprEnforcement")}},function(e){e(e.s=1489)}]); "use strict";(self.pbjsChunk=self.pbjsChunk||[]).push([[5296],{7652:function(t,e,o){var n=o(9853),r=o(265),a=o(8962),d=o(3494),i=o(1879),u=void 0,c={},s=!1,f=function(t){var e=c.customGptSlotMatching;if((0,n.isGptPubadsDefined)()){var o=t.reduce((function(t,e){return t[e.code]=e,t}),{});window.googletag.pubads().getSlots().forEach((function(t){var r=(0,i.sE)(Object.keys(o),e?e(t):(0,n.isAdUnitCodeMatchingSlot)(t));if(r){var a=o[r];a.ortb2Imp=a.ortb2Imp||{},a.ortb2Imp.ext=a.ortb2Imp.ext||{},a.ortb2Imp.ext.data=a.ortb2Imp.ext.data||{};var d=a.ortb2Imp.ext.data;d.adserver=d.adserver||{},d.adserver.name="gam",d.adserver.adslot=p(t.getAdUnitPath())}}))}},p=function(t){return(a.vc.getConfig("gptPreAuction")||{}).mcmEnabled?t.replace(/(^\/\d*),\d*\//,"$1/"):t},l=function(t,e){var o=t.ortb2Imp.ext.data;if(o.pbadslot)return o.pbadslot;if((0,n.isGptPubadsDefined)()){var r=window.googletag.pubads().getSlots().filter((function(t){return t.getAdUnitPath()===e}));if(0!==r.length)return 1===r.length?e:"".concat(e,"#").concat(t.code)}},b=function(t){var e=t.ortb2Imp.ext.data,o=c.customPbAdSlot;if(!e.pbadslot)if(o)e.pbadslot=o(t.code,(0,r.Z)(e,"adserver.adslot"));else{try{var n=document.getElementById(t.code);if(n.dataset.adslotid)return void(e.pbadslot=n.dataset.adslotid)}catch(t){}if(!(0,r.Z)(e,"adserver.adslot"))return e.pbadslot=t.code,!0;e.pbadslot=e.adserver.adslot}},g=function(t,e){f(e);var o=c,n=o.useDefaultPreAuction,a=o.customPreAuction;e.forEach((function(t){t.ortb2Imp=t.ortb2Imp||{},t.ortb2Imp.ext=t.ortb2Imp.ext||{},t.ortb2Imp.ext.data=t.ortb2Imp.ext.data||{};var e=t.ortb2Imp.ext;if(a||n){var o,d=(0,r.Z)(e,"data.adserver.adslot");a?o=a(t,d):n&&(o=l(t,d)),o&&(e.gpid=e.data.pbadslot=o)}else{var i=b(t);e.gpid||i||(e.gpid=e.data.pbadslot)}}));for(var d=arguments.length,i=new Array(d>2?d-2:0),s=2;s<d;s++)i[s-2]=arguments[s];return t.call.apply(t,[u,e].concat(i))},m=function(t){(c=(0,n.pick)(t,["enabled",function(t){return!1!==t},"customGptSlotMatching",function(t){return"function"==typeof t&&t},"customPbAdSlot",function(t){return"function"==typeof t&&t},"customPreAuction",function(t){return"function"==typeof t&&t},"useDefaultPreAuction",function(t){return!0===t}])).enabled?s||((0,d.v5)("makeBidRequests").before(g),s=!0):((0,n.logInfo)("".concat("GPT Pre-Auction",": Turning off module")),c={},(0,d.v5)("makeBidRequests").getHooks({hook:g}).remove(),s=!1)};a.vc.getConfig("gptPreAuction",(function(t){return m(t.gptPreAuction)})),m({}),window.pbjs.installedModules.push("gptPreAuction")}},function(t){t(t.s=7652)}]); "use strict";(self.pbjsChunk=self.pbjsChunk||[]).push([[6312],{7890:function(e,t,r){var n=r(9853),o=r(265),i=r(1609),a=r(8962),u=r(8265),c=r(2224);function s(e){return s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},s(e)}function d(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function p(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function l(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?p(Object(r),!0).forEach((function(t){y(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):p(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function y(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var f="sharethrough",m="https://btlr.sharethrough.com/universal/v1?supply_id=".concat("WYu2BXv1"),g=function(){return window.location.protocol},b={code:f,supportedMediaTypes:[u.pX,u.Mk],gvlid:80,isBidRequestValid:function(e){return!!e.params.pkey&&e.bidder===f},buildRequests:function(e,t){var r,i,u,s=a.vc.getConfig("bidderTimeout"),p=a.vc.getConfig("ortb2")||{},y=g().indexOf("http")<0||g().indexOf("https")>-1,f={id:(0,n.generateUUID)(),at:1,cur:["USD"],tmax:s,site:l({domain:window.location.hostname,page:window.location.href,ref:(0,o.Z)(t,"refererInfo.referer")},p.site),device:{ua:navigator.userAgent,language:navigator.language,js:1,dnt:"1"===navigator.doNotTrack?1:0,h:window.screen.height,w:window.screen.width},regs:{coppa:!0===a.vc.getConfig("coppa")?1:0,ext:{}},source:{ext:{version:"6.23.0",str:"4.1.0",schain:e[0].schain}},bcat:e[0].params.bcat||[],badv:e[0].params.badv||[],test:0};if(f.user=h(p.user,{}),f.user.ext||(f.user.ext={}),f.user.ext.eids=(r=e[0],i=(0,c.HQ)((0,o.Z)(r,"userId"))||[],(u=(0,o.Z)(r,"userId.flocId"))&&u.id&&u.version&&i.push({source:"chrome.com",uids:[{id:u.id,atype:1,ext:{ver:u.version}}]}),i),t.gdprConsent){var b=!0===t.gdprConsent.gdprApplies;f.regs.ext.gdpr=b?1:0,b&&(f.user.ext.consent=t.gdprConsent.consentString)}return t.uspConsent&&(f.regs.ext.us_privacy=t.uspConsent),e.map((function(e){var t={},r=(0,o.Z)(e,"ortb2Imp.ext.data.pbadslot");r&&(t.ext={gpid:r});var i,a,u,c,s,p,f=(0,o.Z)(e,"mediaTypes.video");if(f){var m=640,g=360;if(f.playerSize&&f.playerSize[0]&&f.playerSize[1]){var b=(s=f.playerSize,p=2,function(e){if(Array.isArray(e))return e}(s)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i=[],a=!0,u=!1;try{for(r=r.call(e);!(a=(n=r.next()).done)&&(i.push(n.value),!t||i.length!==t);a=!0);}catch(e){u=!0,o=e}finally{try{a||null==r.return||r.return()}finally{if(u)throw o}}return i}}(s,p)||function(e,t){if(e){if("string"==typeof e)return d(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?d(e,t):void 0}}(s,p)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}());m=b[0],g=b[1]}t.video={pos:h(f.pos,0),topframe:(0,n.inIframe)()?0:1,skip:h(f.skip,0),linearity:h(f.linearity,1),minduration:h(f.minduration,5),maxduration:h(f.maxduration,60),playbackmethod:f.playbackmethod||[2],api:(u=f,c=u.api,c&&Array.isArray(c)&&c.length>0?c:[2]),mimes:f.mimes||["video/mp4"],protocols:(i=f,a=i.protocols,a&&Array.isArray(a)&&a.length>0?a:[2,3,5,6,7,8]),w:m,h:g,startdelay:h(f.startdelay,0),skipmin:h(f.skipmin,0),skipafter:h(f.skipafter,0),placement:"instream"===f.context?1:+(0,o.Z)(f,"placement",4)},f.delivery&&(t.video.delivery=f.delivery),f.companiontype&&(t.video.companiontype=f.companiontype),f.companionad&&(t.video.companionad=f.companionad)}else t.banner={pos:(0,o.Z)(e,"mediaTypes.banner.pos",0),topframe:(0,n.inIframe)()?0:1,format:e.sizes.map((function(e){return{w:+e[0],h:+e[1]}}))};return l({id:e.bidId,tagid:String(e.params.pkey),secure:y?1:0,bidfloor:v(e)},t)})).filter((function(e){return!!e})).map((function(e){return{method:"POST",url:m,data:l(l({},f),{},{imp:[e]})}}))},interpretResponse:function(e,t){var r=e.body;return r&&r.seatbid&&0!==r.seatbid.length&&r.seatbid[0].bid&&0!==r.seatbid[0].bid.length?r.seatbid[0].bid.map((function(e){var n={requestId:e.impid,width:+e.w,height:+e.h,cpm:+e.price,creativeId:e.crid,dealId:e.dealid||null,mediaType:t.data.imp[0].video?u.pX:u.Mk,currency:r.cur||"USD",netRevenue:!0,ttl:360,ad:e.adm,nurl:e.nurl,meta:{advertiserDomains:e.adomain||[]}};return n.mediaType===u.pX&&(n.ttl=3600,n.vastXml=e.adm),n})):[]},getUserSyncs:function(e,t,r,n){var o=n?"&us_privacy=".concat(n):"",i=[];return e.pixelEnabled&&t.length>0&&t[0].body&&t[0].body.cookieSyncUrls&&t[0].body.cookieSyncUrls.forEach((function(e){i.push({type:"image",url:e+o})})),i},onTimeout:function(e){},onBidWon:function(e){},onSetTargeting:function(e){}};function v(e){var t=null;if("function"==typeof e.getFloor){var r=e.getFloor({currency:"USD",mediaType:e.mediaTypes&&e.mediaTypes.video?"video":"banner",size:e.sizes.map((function(e){return{w:e[0],h:e[1]}}))});"object"!==s(r)||"USD"!==r.currency||isNaN(parseFloat(r.floor))||(t=parseFloat(r.floor))}return null!==t?t:e.params.floor}function h(e,t){return null==e?t:e}(0,i.registerBidder)(b),window.pbjs.installedModules.push("sharethroughBidAdapter")},2224:function(e,t,r){r.d(t,{HQ:function(){return u},Pv:function(){return c},UR:function(){return i}});var n=r(9853),o=r(265),i={trustpid:{source:"trustpid.com",atype:1,getValue:function(e){return e}},intentIqId:{source:"intentiq.com",atype:1},naveggId:{source:"navegg.com",atype:1},justId:{source:"justtag.com",atype:1},pubcid:{source:"pubcid.org",atype:1},tdid:{source:"adserver.org",atype:1,getUidExt:function(){return{rtiPartner:"TDID"}}},id5id:{getValue:function(e){return e.uid},source:"id5-sync.com",atype:1,getUidExt:function(e){if(e.ext)return e.ext}},ftrackId:{source:"flashtalking.com",atype:1,getValue:function(e){return e.uid},getUidExt:function(e){if(e.ext)return e.ext}},parrableId:{source:"parrable.com",atype:1,getValue:function(e){return e.eid?e.eid:e.ccpaOptout?"":null},getUidExt:function(e){var t=(0,n.pick)(e,["ibaOptout","ccpaOptout"]);if(Object.keys(t).length)return t}},idl_env:{source:"liveramp.com",atype:3},lipb:{getValue:function(e){return e.lipbid},source:"liveintent.com",atype:3,getEidExt:function(e){if(Array.isArray(e.segments)&&e.segments.length)return{segments:e.segments}}},britepoolid:{source:"britepool.com",atype:3},dmdId:{source:"hcn.health",atype:3},lotamePanoramaId:{source:"crwdcntrl.net",atype:1},criteoId:{source:"criteo.com",atype:1},merkleId:{source:"merkleinc.com",atype:3,getValue:function(e){return e.id},getUidExt:function(e){return e&&e.keyID?{keyID:e.keyID}:void 0}},netId:{source:"netid.de",atype:1},IDP:{source:"zeotap.com",atype:1},hadronId:{source:"audigent.com",atype:1},haloId:{source:"audigent.com",atype:1},quantcastId:{source:"quantcast.com",atype:1},nextrollId:{source:"nextroll.com",atype:1},idx:{source:"idx.lat",atype:1},connectid:{source:"verizonmedia.com",atype:3},fabrickId:{source:"neustar.biz",atype:1},mwOpenLinkId:{source:"mediawallahscript.com",atype:1},tapadId:{source:"tapad.com",atype:1},novatiq:{getValue:function(e){return e.snowflake},source:"novatiq.com",atype:1},uid2:{source:"uidapi.com",atype:3,getValue:function(e){return e.id}},dapId:{source:"akamai.com",atype:1},deepintentId:{source:"deepintent.com",atype:3},admixerId:{source:"admixer.net",atype:3},adtelligentId:{source:"adtelligent.com",atype:3},amxId:{source:"amxrtb.com",atype:1},publinkId:{source:"epsilon.com",atype:3},kpuid:{source:"kpuid.com",atype:3},imuid:{source:"intimatemerger.com",atype:1},connectId:{source:"yahoo.com",atype:3},qid:{source:"adquery.io",atype:1},dacId:{source:"impact-ad.jp",atype:1},"33acrossId":{source:"33across.com",atype:1,getValue:function(e){return e.envelope}}};function a(e,t){var r=i[t];if(r&&e){var o={};o.source=r.source;var a=(0,n.isFn)(r.getValue)?r.getValue(e):e;if((0,n.isStr)(a)){var u={id:a,atype:r.atype};if((0,n.isFn)(r.getUidExt)){var c=r.getUidExt(e);c&&(u.ext=c)}if(o.uids=[u],(0,n.isFn)(r.getEidExt)){var s=r.getEidExt(e);s&&(o.ext=s)}return o}}return null}function u(e){var t=[];for(var r in e)if(e.hasOwnProperty(r))if("pubProvidedId"===r)t=t.concat(e.pubProvidedId);else{var n=a(e[r],r);n&&t.push(n)}return t}function c(e){var t=[];return e.filter((function(e){return(0,n.isPlainObject)(e.idObj)&&Object.keys(e.idObj).length})).forEach((function(e){Object.keys(e.idObj).forEach((function(r){(0,o.Z)(e,"config.bidders")&&Array.isArray(e.config.bidders)&&(0,o.Z)(i,r+".source")&&t.push({source:i[r].source,bidders:e.config.bidders})}))})),t}}},function(e){e(e.s=7890)}]); "use strict";(self.pbjsChunk=self.pbjsChunk||[]).push([[8029],{8973:function(e,r,t){var n=t(9853),i=t(265),a=t(1609),o=t(5849);function s(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),t.push.apply(t,n)}return t}function d(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?s(Object(t),!0).forEach((function(r){p(e,r,t[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):s(Object(t)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}))}return e}function p(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}var c="teads",u=(0,o.df)({gvlid:132,bidderCode:c}),f={code:c,gvlid:132,supportedMediaTypes:["video","banner"],isBidRequestValid:function(e){var r=!1;if(void 0!==e.params){var t=v((0,n.getValue)(e.params,"placementId")),i=v((0,n.getValue)(e.params,"pageId"));r=t&&i}return r||(0,n.logError)("Teads placementId and pageId parameters are required. Bid aborted."),r},buildRequests:function(e,r){var t,n,a=e.map(y),o=d(d(d({referrer:g(r),pageReferrer:document.referrer,networkBandwidth:(n=window.navigator,n&&n.connection&&n.connection.downlink>=0?n.connection.downlink.toString():""),timeToFirstByte:l(window),data:a,deviceWidth:screen.width,hb_version:"6.23.0"},function(e){if(!e)return{};var r=e.id?{cohortId:e.id}:{},t=e.version?{cohortVersion:e.version}:{};return d(d({},r),t)}((0,i.Z)(e,"0.userId.flocId"))),(t=(0,i.Z)(e,"0.userId.uid2"))?{unifiedId2:t.id}:{}),function(){if(!u.cookiesAreEnabled())return{};var e=u.getCookie("_tfpvi");return e?{firstPartyCookieTeadsId:e}:{}}());e[0].schain&&(o.schain=e[0].schain);var s=r.gdprConsent;if(r&&s){var p="boolean"==typeof s.gdprApplies,c="string"==typeof s.consentString,f=p?function(e,r,t){var n=12;return e?function(e,r){return e&&1===r?e.hasGlobalScope||e.hasGlobalConsent:!(!e||2!==r||e.isServiceSpecific)}(r,t)&&(n=11):n=0,n}(s.gdprApplies,s.vendorData,s.apiVersion):22;o.gdpr_iab={consent:c?s.consentString:"",status:f,apiVersion:s.apiVersion}}return r&&r.uspConsent&&(o.us_privacy=r.uspConsent),{method:"POST",url:"https://a.teads.tv/hb/bid-request",data:JSON.stringify(o)}},interpretResponse:function(e,r){var t=[];return(e=e.body).responses&&e.responses.forEach((function(e){var r={cpm:e.cpm,width:e.width,height:e.height,currency:e.currency,netRevenue:!0,ttl:e.ttl,meta:{advertiserDomains:e&&e.adomain?e.adomain:[]},ad:e.ad,requestId:e.bidId,creativeId:e.creativeId,placementId:e.placementId};e.dealId&&(r.dealId=e.dealId),t.push(r)})),t}};function g(e){var r="";return e&&e.refererInfo&&e.refererInfo.referer&&(r=e.refererInfo.referer),r}function l(e){var r=e.performance||e.webkitPerformance||e.msPerformance||e.mozPerformance,t=r&&"function"==typeof r.getEntriesByType&&"[object Function]"===Object.prototype.toString.call(r.getEntriesByType)&&r.getEntriesByType("navigation")[0]&&r.getEntriesByType("navigation")[0].responseStart&&r.getEntriesByType("navigation")[0].requestStart&&r.getEntriesByType("navigation")[0].responseStart>0&&r.getEntriesByType("navigation")[0].requestStart>0&&Math.round(r.getEntriesByType("navigation")[0].responseStart-r.getEntriesByType("navigation")[0].requestStart);if(t)return t.toString();var n=r&&r.timing.responseStart&&r.timing.requestStart&&r.timing.responseStart>0&&r.timing.requestStart>0&&r.timing.responseStart-r.timing.requestStart;return n?n.toString():""}function y(e){var r={},t=(0,n.getValue)(e.params,"placementId"),a=(0,n.getValue)(e.params,"pageId"),o=(0,i.Z)(e,"ortb2Imp.ext.gpid");return r.sizes=function(e){return(0,n.parseSizesInput)(function(e){var r=(0,i.Z)(e,"mediaTypes.video.playerSize"),t=(0,i.Z)(e,"mediaTypes.video.sizes"),a=(0,i.Z)(e,"mediaTypes.banner.sizes");return(0,n.isArray)(a)||(0,n.isArray)(r)||(0,n.isArray)(t)?[a,t,r].reduce((function(e,r){return(0,n.isArray)(r)&&((0,n.isArray)(r[0])?r.forEach((function(r){e.push(r)})):e.push(r)),e}),[]):e.sizes}(e))}(e),r.bidId=(0,n.getBidIdParameter)("bidId",e),r.bidderRequestId=(0,n.getBidIdParameter)("bidderRequestId",e),r.placementId=parseInt(t,10),r.pageId=parseInt(a,10),r.adUnitCode=(0,n.getBidIdParameter)("adUnitCode",e),r.auctionId=(0,n.getBidIdParameter)("auctionId",e),r.transactionId=(0,n.getBidIdParameter)("transactionId",e),o&&(r.gpid=o),r}function v(e){return parseInt(e)>0}(0,a.registerBidder)(f),window.pbjs.installedModules.push("teadsBidAdapter")}},function(e){e(e.s=8973)}]); pbjs.processQueue(); !function(){"use strict";var e={709:function(){var e=e||{};e.que=e.que||[]},427:function(){window.innerWidth>768&&(window.adUnits=[{code:"banner-1",mediaTypes:{banner:{sizes:[[728,90],[970,90],[970,250],[620,366]]}},bids:[{bidder:"concert",params:{partnerId:"phillymagazine"}},{bidder:"sharethrough",params:{pkey:"kmKwq9T16wzAfZvjzoFhDLco"}},{bidder:"teads",params:{placementId:110831,pageId:102392}}]},{code:"banner-2",mediaTypes:{banner:{sizes:[[728,90],[970,90],[970,250],[620,366]]}},bids:[{bidder:"concert",params:{partnerId:"phillymagazine"}},{bidder:"sharethrough",params:{pkey:"kmKwq9T16wzAfZvjzoFhDLco"}},{bidder:"teads",params:{placementId:110831,pageId:102392}}]},{code:"rail-1",mediaTypes:{banner:{sizes:[[300,250],[300,600],[620,366]]}},bids:[{bidder:"sharethrough",params:{pkey:"kmKwq9T16wzAfZvjzoFhDLco"}},{bidder:"concert",params:{partnerId:"phillymagazine"}}]},{code:"rail-2",mediaTypes:{banner:{sizes:[[300,250],[300,600],[620,366]]}},bids:[{bidder:"sharethrough",params:{pkey:"kmKwq9T16wzAfZvjzoFhDLco"}},{bidder:"concert",params:{partnerId:"phillymagazine"}}]},{code:"rail-3",mediaTypes:{banner:{sizes:[[300,250],[300,600],[620,366]]}},bids:[{bidder:"sharethrough",params:{pkey:"kmKwq9T16wzAfZvjzoFhDLco"}},{bidder:"concert",params:{partnerId:"phillymagazine"}}]}]),window.innerWidth>768&&"true"===window.mcAds.hasBannerThree&&window.adUnits.push({code:"banner-3",mediaTypes:{banner:{sizes:[[728,90],[970,90],[970,250],[620,366]]}},bids:[{bidder:"concert",params:{partnerId:"phillymagazine"}},{bidder:"sharethrough",params:{pkey:"kmKwq9T16wzAfZvjzoFhDLco"}},{bidder:"teads",params:{placementId:110831,pageId:102392}}]})},591:function(){window.innerWidth<=768&&(window.adUnits=[{code:"banner-1",mediaTypes:{banner:{sizes:[[320,50],[320,100]]}},bids:[{bidder:"sharethrough",params:{pkey:"kmKwq9T16wzAfZvjzoFhDLco"}},{bidder:"teads",params:{placementId:142225,pageId:129517}}]},{code:"banner-2",mediaTypes:{banner:{sizes:[[320,50],[320,100],[300,250],[325,204],[325,508],[325,204]]}},bids:[{bidder:"teads",params:{placementId:142225,pageId:129517}},{bidder:"sharethrough",params:{pkey:"kmKwq9T16wzAfZvjzoFhDLco"}},{bidder:"concert",params:{partnerId:"phillymagazine"}}]},{code:"rail-1",mediaTypes:{banner:{sizes:[[300,250],[300,600],[320,100],[320,50],[325,204],[325,508],[325,204]]}},bids:[{bidder:"concert",params:{partnerId:"phillymagazine"}},{bidder:"sharethrough",params:{pkey:"kmKwq9T16wzAfZvjzoFhDLco"}}]},{code:"rail-2",mediaTypes:{banner:{sizes:[[300,250],[300,600],[320,100],[320,50],[325,204],[325,508],[325,204]]}},bids:[{bidder:"sharethrough",params:{pkey:"kmKwq9T16wzAfZvjzoFhDLco"}},{bidder:"concert",params:{partnerId:"phillymagazine"}}]},{code:"rail-3",mediaTypes:{banner:{sizes:[[300,250],[300,600],[320,100],[320,50],[325,204],[325,508],[325,204]]}},bids:[{bidder:"sharethrough",params:{pkey:"kmKwq9T16wzAfZvjzoFhDLco"}},{bidder:"concert",params:{partnerId:"phillymagazine"}}]},{code:"mobile_sticky",mediaTypes:{banner:{sizes:[[320,50],[325,204],[1,2]]}},bids:[{bidder:"concert",params:{partnerId:"phillymagazine"}},{bidder:"sharethrough",params:{pkey:"kmKwq9T16wzAfZvjzoFhDLco"}}]}])}},r={};function a(d){var i=r[d];if(void 0!==i)return i.exports;var n=r[d]={exports:{}};return e[d](n,n.exports,a),n.exports}a.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return a.d(r,{a:r}),r},a.d=function(e,r){for(var d in r)a.o(r,d)&&!a.o(e,d)&&Object.defineProperty(e,d,{enumerable:!0,get:r[d]})},a.o=function(e,r){return Object.prototype.hasOwnProperty.call(e,r)},a(427),a(591),a(709)}(); /* ]]> */ </script> <script type="text/javascript" src="https://securepubads.g.doubleclick.net/tag/js/gpt.js" id="gpt-js" async></script> <script type="text/javascript" id="gpt-js-after"> /* <![CDATA[ */ !function(){var e={909:function(){window.googletag=window.googletag||{},googletag.cmd=googletag.cmd||[],googletag.cmd.push((function(){mcAds.mapping={},mcAds.mapping.bannerOneMapping=googletag.sizeMapping().addSize([0,0],[[320,100],[320,50]]).addSize([768,200],[[728,90]]).addSize([1050,200],[[728,90],[970,90],[970,250]]).build(),mcAds.mapping.bannerMapping=googletag.sizeMapping().addSize([0,0],[[300,250],[320,100],[320,50]]).addSize([768,200],[[728,90]]).addSize([1050,200],[[728,90],[970,90],[970,250]]).build(),mcAds.mapping.railMapping=googletag.sizeMapping().addSize([0,0],[[300,250],[320,100],[320,50]]).addSize([768,200],[[300,250],[300,600]]).addSize([1050,200],[[300,250],[300,600]]).build(),mcAds.mapping.toprailMapping=googletag.sizeMapping().addSize([0,0],[[300,150],[300,90]]).addSize([768,200],[[300,150],[300,90]]).addSize([1050,200],[[300,150],[300,90]]).build(),mcAds.mapping.inlineMapping=googletag.sizeMapping().addSize([0,0],[[300,250],[320,50],[320,100]]).addSize([768,200],[[300,250],[320,50],[320,100]]).addSize([1050,200],[[300,250],[320,50],[320,100]]).build(),mcAds.mapping.searchMapping=googletag.sizeMapping().addSize([0,0],[[300,250],[320,100],[320,50]]).addSize([768,200],[[728,90],[300,250]]).addSize([1050,200],[[728,90],[970,90],[970,250],[300,250]]).build(),mcAds.mapping.adrevealMapping=googletag.sizeMapping().addSize([0,0],[[360,585]]).addSize([650,200],[[780,300]]).addSize([1050,200],[[1300,500]]).build()}))},786:function(){const e=parseInt(mcAds.prebidTimeout,10)||1e3,t=parseInt(mcAds.prebidFailsafeTimeout,10)||3e3;window.pbjs=window.pbjs||{},pbjs.que=pbjs.que||[],pbjs.que.push((function(){if("undefined"===typeof window.adUnits)return void(mcAds.debug&&console.log("Aborting prebid, window.adUnits is undefined."));const t=[];for(let e=window.adUnits.length-1;e>=0;e--)window.mcAds.slots.hasOwnProperty(window.adUnits[e].code)&&window.mcAds.slots[window.adUnits[e].code].hasOwnProperty("isPrebid")&&"true"===window.mcAds.slots[window.adUnits[e].code].isPrebid&&t.push(window.adUnits[e]);0!==t.length?(pbjs.addAdUnits(t),pbjs.requestBids({bidsBackHandler:i,timeout:e})):mcAds.debug&&console.log("Aborting prebid, filteredAdUnits is empty.")}));var i=function(){pbjs.adserverRequestSent||(pbjs.adserverRequestSent=!0,googletag.cmd.push((function(){pbjs.que.push((function(){window.gtpMaybeMoveRailOneSlot(),pbjs.setTargetingForGPTAsync();for(const e in mcAds.slotsFired)-1!==mcAds.slotsPrebid.indexOf(e)&&(googletag.display(e),mcAds.slots[e].isLazy&&"true"===mcAds.slots[e].isLazy||(googletag.pubads().refresh([mcAds.slotsFired[e]]),mcAds.debug&&console.log("Initial refresh for prebid slot:",e)))}))})))};setTimeout((function(){i()}),t)},90:function(){gtpMaybeMoveRailOneSlot=function(){if(!(window.innerWidth<=768)&&"undefined"!==typeof mcAds&&mcAds.isSingle){var e=document.querySelector(".sidebar");if(e){var t=document.getElementById("rail-1");if(t){var i=e.children.length;e.insertBefore(t,e.children[i]),window.stickyAds&&window.stickyAds.update()}}}},gptDirectoryMaybeRepositionBannerSlot=function(){if(!(window.innerWidth<=768)&&"undefined"!==typeof mcgdVars&&"isSingle"in mcgdVars&&"true"===mcgdVars.isSingle){var e=document.getElementById("banner-1"),t=document.getElementById("geodir-wrapper-content").querySelector(".listing-profile");e&&t&&t.insertBefore(e,t.lastChild.nextSibling)}}},547:function(){window.googletag=window.googletag||{},googletag.cmd=googletag.cmd||[],googletag.cmd.push((function(){if(mcAds.slots){window.gptDirectoryMaybeRepositionBannerSlot();var e=window.innerWidth<=768;if("targeting"in mcAds&&"object"===typeof mcAds.targeting&&null!==mcAds.targeting)for(var t in mcAds.targeting)googletag.pubads().setTargeting(t,mcAds.targeting[t]);for(var i in mcAds.slots){var s;if((!("isMobile"in mcAds.slots[i])||!mcAds.slots[i].isMobile||e)&&((!("isDesktop"in mcAds.slots[i]&&mcAds.slots[i].isDesktop&&e)||document.getElementById("bestof-nav-wrapper"))&&document.getElementById(i))){if("outOfPage"in mcAds.slots[i]&&mcAds.slots[i].outOfPage){var d=mcAds.slots[i].id;"outOfPageFormat"in mcAds.slots[i]&&(d=googletag.enums.OutOfPageFormat[mcAds.slots[i].outOfPageFormat]),s=googletag.defineOutOfPageSlot(mcAds.gptNetworkID+mcAds.slots[i].adUnit,d)}else{var o=mcAds.slots[i].adSizes;0===o.lastIndexOf("[",0)&&(o=JSON.parse(o)),s=googletag.defineSlot(mcAds.gptNetworkID+mcAds.slots[i].adUnit,o,mcAds.slots[i].id)}if("mapping"in mcAds&&"mapping"in mcAds.slots[i]&&mcAds.slots[i].mapping in mcAds.mapping&&s.defineSizeMapping(mcAds.mapping[mcAds.slots[i].mapping]),"targeting"in mcAds.slots[i]&&"object"===typeof mcAds.slots[i].targeting&&null!==mcAds.slots[i].targeting)for(var n in mcAds.slots[i].targeting)s.setTargeting(n,mcAds.slots[i].targeting[n]);s.addService(googletag.pubads()),"doPrebid"in mcAds&&"true"===mcAds.doPrebid&&"isPrebid"in mcAds.slots[i]&&"true"===mcAds.slots[i].isPrebid&&mcAds.slotsPrebid.push(mcAds.slots[i].id),mcAds.slotsFired[mcAds.slots[i].id]=s}}for(var a in googletag.pubads().enableAsyncRendering(),googletag.pubads().collapseEmptyDivs(),googletag.pubads().disableInitialLoad(),googletag.pubads().enableSingleRequest(),googletag.enableServices(),mcAds.slotsFired)-1===mcAds.slotsPrebid.indexOf(a)&&("undefined"===typeof mcAds.slots[a].outOfPageFormat&&googletag.display(a),mcAds.slots[a].isLazy&&"true"===mcAds.slots[a].isLazy||googletag.pubads().refresh([mcAds.slotsFired[a]]));document.addEventListener("lazybeforeunveil",(function(e){var t=e.target.getAttribute("data-ad");t&&mcAds.slotsFired[t]&&(googletag.pubads().refresh([mcAds.slotsFired[t]]),mcAds.debug&&console.log("Initial refreshing for lazy loaded slot:",t))})),googletag.pubads().addEventListener("slotRenderEnded",(function(t){var i=t.slot.getSlotElementId();t.isEmpty||(mcAds.debug&&console.log("Calling stickyAds.update() after slotRenderEnded:",i),window.stickyAds&&window.stickyAds.update());var s=String(t.size);if(!t.isEmpty&&"1,1"===s&&["banner-1","banner-3","adslot_0","adslot_1","adslot_2","native_related","rail-1","rail-2","rail-3","toprailsponsor-1"].indexOf(i)){var d=document.getElementById(i);if(d)if("banner-1"===i&&"true"===mcAds.isGeodir)d.style.visibility="hidden";else document.getElementById("bestof-nav-wrapper")||(d.style.height="1px",d.style.overflow="hidden",d.style.marginTop="-8px")}if(!t.isEmpty&&"ad-reveal"===i){document.body.classList.add("has-reveal");var o=document.getElementById("ad-reveal"),n=o.clientHeight,a=document.getElementsByTagName("body")[0],l=document.body,g=document.documentElement,r=Math.max(l.scrollHeight,l.offsetHeight,g.clientHeight,g.scrollHeight,g.offsetHeight),c=document.getElementById("under-reveal"),p=document.getElementById("wpadminbar");p&&(p.style.position="absolute",p.style.top=0),c.style.height=r+"px";var m=n,u=(m-0)/60,f=0,b=!1,A=setInterval((function(){if((f+=u)>=m)return clearInterval(A),a.style.marginTop=m+"px",c.style.top=m+"px",p&&(p.style.top=m+"px"),b=!0,void("undefined"!==window.stickyHeader&&window.mcStickyHeader.update());a.style.marginTop=f+"px",c.style.top=f+"px",p&&(p.style.top=f+"px")}),1e3/60);document.addEventListener("scroll",(function(t){if(b)if(window.pageYOffset>n){var i=document.getElementById("js-mobile-sticky");e&&(i.style.display="block"),p&&(p.style.position="fixed",p.style.top=0),o.style.visibility="hidden"}else p&&(p.style.position="absolute",p.style.top=m+"px"),o.style.visibility="visible"}))}}))}})),document.addEventListener("lazybeforeunveil",(function(e){var t=e.target.getAttribute("data-ad");t&&mcAds.slotsPrebid.indexOf(t)&&(mcAds.slots[t].isLazy=!1,mcAds.debug&&console.log("Ad slot unveiled early:",t))}))},193:function(){window.addEventListener("message",(function(e){if("initdfp"===e.data){if(!e.source)return;var t=window.innerWidth||document.body.clientWidth,i="tiny";t>=1400?i="x-large":t>=1024?i="large":t>=970?i="fullmenu":t>=768?i="medium":t>=560?i="small-medium":t>=320&&(i="small");var s="breakpoint:"+i+"-mc";e.source.postMessage(s,"*")}}),!1)}},t={};function i(s){var d=t[s];if(void 0!==d)return d.exports;var o=t[s]={exports:{}};return e[s](o,o.exports,i),o.exports}i.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return i.d(t,{a:t}),t},i.d=function(e,t){for(var s in t)i.o(t,s)&&!i.o(e,s)&&Object.defineProperty(e,s,{enumerable:!0,get:t[s]})},i.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},function(){"use strict";i(90),i(909),i(547),i(786),i(193)}()}(); /* ]]> */ </script> <script type="text/javascript" src="https://static.criteo.net/js/ld/publishertag.js?ver=6.4.3" id="criteo-js" async></script> <script type="text/javascript" src="https://s.ntv.io/serve/load.js" id="nativo-tracking-js" async></script> <script type="text/javascript" src="https://cdn10.phillymag.com/wp-content/themes/metrocorp-phillymag/countdown-clock/countdown.js?ver=0.4.37" id="phillymag-countdown-js-js" async></script> <link rel="https://api.w.org/" href="https://www.phillymag.com/wp-json/"><link rel="alternate" type="application/json" href="https://www.phillymag.com/wp-json/wp/v2/posts/4043856"><link rel="EditURI" type="application/rsd+xml" title="RSD" href="https://www.phillymag.com/xmlrpc.php?rsd"> <meta name="generator" content="WordPress 6.4.3"> <link rel="shortlink" href="https://www.phillymag.com/?p=4043856"> <meta property="og:published_time" content="2024-04-07T00:00:32+00:00"> <meta property="og:modified_time" content="2024-04-06T16:52:22+00:00"> <link rel="preload" href="https://www.phillymag.com/wp-content/themes/metrocorp/dist/fonts/noetext-regular-v11-woff-eot/Noe-Text-Regular.woff" as="font" type="font/woff" crossorigin> <link rel="preload" href="https://www.phillymag.com/wp-content/themes/metrocorp/dist/fonts/noetext-regularitalic-v11-woff-eot/Noe-Text-Regular-Italic.woff" as="font" type="font/woff" crossorigin> <link rel="preload" href="https://www.phillymag.com/wp-content/themes/metrocorp/dist/fonts/noetext-semibold-v11-woff-eot/Noe-Text-Semibold.woff" as="font" type="font/woff" crossorigin> <link rel="preload" href="https://www.phillymag.com/wp-content/themes/metrocorp/dist/fonts/noetext-semibolditalic-v11-woff-eot/Noe-Text-Semibold-Italic.woff" as="font" type="font/woff" crossorigin> <link rel="preload" href="https://cdn10.phillymag.com/wp-content/themes/metrocorp/dist/fonts/TypeTrustWebFonts17080803686/heroiccondweb-bold.ttf" as="font" type="font/ttf" crossorigin> <script type="application/ld+json">{ "@context": "http:\/\/schema.org", "@type": "NewsArticle", "publisher": { "@type": "Organization", "name": "Philadelphia Magazine", "logo": { "@type": "ImageObject", "url": "https:\/\/www.phillymag.com\/wp-content\/themes\/metrocorp-phillymag\/images\/logo-philadelphia.png" } }, "mainEntityOfPage": { "@type": "WebPage", "@id": "https:\/\/www.phillymag.com\/news\/2024\/04\/06\/allan-domb-philadelphia-economy\/" }, "headline": "Allan Domb Is Upbeat About Philly\u2019s Economy (And You Should Be, Too)", "datePublished": "2024-04-06T20:00:32-04:00", "dateModified": "2024-04-06T12:52:22-04:00", "author": [ { "@type": "Person", "name": "Allan Domb" } ], "image": { "@type": "ImageObject", "url": "https:\/\/www.phillymag.com\/wp-content\/uploads\/sites\/3\/2024\/04\/900-domb-key-web.jpg", "height": 600, "width": 900 }, "articleSection": "Opinion" }</script><meta name="google-site-verification" content="jaT6k5odH6wQbrXb-WKQeHiEFFkfePsGXSELOChSybY"><link rel="icon" href="https://cdn10.phillymag.com/wp-content/uploads/sites/3/2017/10/cropped-phillymag-favicon-32x32.png" sizes="32x32"> <link rel="icon" href="https://cdn10.phillymag.com/wp-content/uploads/sites/3/2017/10/cropped-phillymag-favicon-192x192.png" sizes="192x192"> <link rel="apple-touch-icon" href="https://cdn10.phillymag.com/wp-content/uploads/sites/3/2017/10/cropped-phillymag-favicon-180x180.png"> <meta name="msapplication-TileImage" content="https://cdn10.phillymag.com/wp-content/uploads/sites/3/2017/10/cropped-phillymag-favicon-270x270.png"> <script>dataLayer = [{"post_id":4043856,"content_type":"blog","category":"opinion","author":"Allan Domb"}];gtmLoaded=true;</script><!-- Google Tag Manager --> <noscript> &lt;iframe src="//www.googletagmanager.com/ns.html?id=GTM-PLKVN8" height="0" width="0" style="display:none;visibility:hidden"&gt;</noscript> <script> window.dataLayer = window.dataLayer || []; if ( typeof dataLayer[0].gaReferer === 'undefined' ) { var referrer = document.referrer, siteURL = window.location.origin; if ( ! referrer || referrer.indexOf( siteURL ) === 0 ) { dataLayer[0].gaReferer = null; } else { dataLayer[0].gaReferer = referrer; } } dataLayer.push({ 'gtm.start': new Date().getTime(), event: 'gtm.js' }); </script> <script async type="text/javascript" src="https://www.googletagmanager.com/gtm.js?id=GTM-PLKVN8"></script><!-- End Google Tag Manager --> <!-- Facebook Pixel Code --> <script> !function(f,b,e,v,n,t,s) {if(f.fbq)return;n=f.fbq=function(){n.callMethod? n.callMethod.apply(n,arguments):n.queue.push(arguments)}; if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0'; n.queue=[];t=b.createElement(e);t.async=!0; t.src=v;s=b.getElementsByTagName(e)[0]; s.parentNode.insertBefore(t,s)}(window, document,'script', 'https://connect.facebook.net/en_US/fbevents.js'); fbq('init', '907137196060410'); fbq('track', 'PageView'); </script> <noscript>&lt;img height="1" width="1" style="display:none" src="https://www.facebook.com/tr?id=907137196060410&amp;amp;ev=PageView&amp;amp;noscript=1"&gt;</noscript> <!-- End Facebook Pixel Code --> <!-- Facebook --> <script> (function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0]; if (d.getElementById(id)) return; js = d.createElement(s); js.id = id; js.src = "//connect.facebook.net/en_US/all.js#xfbml=1"; fjs.parentNode.insertBefore(js, fjs); }(document, 'script', 'facebook-jssdk')); </script> <!-- End Facebook Tag --> <!-- Start of HubSpot Embed Code --> <script type="text/javascript" id="hs-script-loader" async defer src="//js.hs-scripts.com/510637.js"></script> <!-- End of HubSpot Embed Code --> <!-- Start of Teads Embed Code --> <script async src="https://a.teads.tv/analytics/tag.js"></script> <script> window.teads_analytics = window.teads_analytics || {}; window.teads_analytics.analytics_tag_id = "PUB_14921"; window.teads_analytics.share = window.teads_analytics.share || function() { (window.teads_analytics.shared_data = window.teads_analytics.shared_data || []).push(arguments); }; </script> <!-- End of Teads Embed Code --> <script type="text/javascript"> _linkedin_partner_id = "1153130"; window._linkedin_data_partner_ids = window._linkedin_data_partner_ids || []; window._linkedin_data_partner_ids.push(_linkedin_partner_id); </script><script type="text/javascript"> (function(){var s = document.getElementsByTagName("script")[0]; var b = document.createElement("script"); b.type = "text/javascript";b.async = true; b.src = "https://snap.licdn.com/li.lms-analytics/insight.min.js"; s.parentNode.insertBefore(b, s);})(); </script> <noscript> &lt;img height="1" width="1" style="display:none;" alt="" src="https://dc.ads.linkedin.com/collect/?pid=1153130&amp;amp;fmt=gif"&gt; </noscript> </head> <bod |
| 25 |
Error
On line 246, column 117 > </head> <body class="post-template-default single single-post postid-4043856 single-format-standard current-site-phillymag"> < |
| 26 |
Error
On line 626, column 120 hillymag"> <div id="ad-reveal" class="gpt-ad"></div><div id="under-reveal"></div><div class="header-navigation-spacer"></div> <div class="header-navigation js-header-menu-full" id="js-header-navigation"> <div class="container header-navigation-inner"> <div class="navigation-logo"> <a href="//www.phillymag.com"> <svg class="mc-icon phillymag-logo" aria-hidden="true"><use xlink:href="/wp-content/themes/metrocorp/images/sprite.svg?ver=87#mc-icon-phillymag-logo"></use></svg> </a> </div> <button id="js-mobile-menu-toggle" class="mobile-menu-toggle" aria-hidden="true"> <svg class="mc-icon hamburger" aria-hidden="true"><use xlink:href="/wp-content/themes/metrocorp/images/sprite.svg?ver=87#mc-icon-hamburger"></use></svg> <svg class="mc-icon close" aria-hidden="true"><use xlink:href="/wp-content/themes/metrocorp/images/sprite.svg?ver=87#mc-icon-close"></use></svg> </button> <div class="header-menu-wrapper" id="js-header-navigation-wrapper"> <div class="header-menu"><ul id="menu-primary-menu" class="menu-header-main"><li id="menu-item-3441760" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-3441760"><a href="/find-it-philly-search/">Find It/Philly</a> <ul class="sub-menu"> <li id="menu-item-3441764" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3441764"><a href="/find-a-doctor/">Doctors</a></li> <li id="menu-item-3441765" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3441765"><a href="/dentists/">Dentists</a></li> <li id="menu-item-3556438" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3556438"><a href="/home-design/">Home Design Experts</a></li> <li id="menu-item-3441767" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3441767"><a href="/senior-living/">Senior Living</a></li> <li id="menu-item-3441776" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3441776"><a href="/weddings/">Wedding Experts</a></li> <li id="menu-item-3570068" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3570068"><a href="/real-estate-agents/">Real Estate Agents</a></li> <li id="menu-item-3869015" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3869015"><a href="/private-schools">Private Schools</a></li> <li id="menu-item-3869012" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3869012"><a href="/mortgage-lenders">Mortgage Professionals</a></li> </ul> </li> <li id="menu-item-3357928" class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical current-post-ancestor current-menu-parent current-post-parent menu-item-has-children menu-item-3357928"><a href="https://www.phillymag.com/news">City Life</a> <ul class="sub-menu"> <li id="menu-item-3701551" class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical current-post-ancestor current-menu-parent current-post-parent menu-item-3701551"><a href="https://www.phillymag.com/news">The Latest</a></li> </ul> </li> <li id="menu-item-3357931" class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-has-children menu-item-3357931"><a href="https://www.phillymag.com/foobooz">Restaurants</a> <ul class="sub-menu"> <li id="menu-item-3358386" class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-3358386"><a href="https://www.phillymag.com/foobooz">Foobooz</a></li> <li id="menu-item-3358357" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3358357"><a href="https://www.phillymag.com/foobooz/50-best-restaurants/">50 Best Restaurants</a></li> <li id="menu-item-3357976" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3357976"><a href="https://www.phillymag.com/restaurant-finder/">Restaurant Finder</a></li> <li id="menu-item-3358644" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3358644"><a href="https://www.phillymag.com/foobooz/philadelphia-restaurant-jobs/">Jobs</a></li> </ul> </li> <li id="menu-item-3357934" class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-has-children menu-item-3357934"><a href="https://www.phillymag.com/be-well-philly">Health</a> <ul class="sub-menu"> <li id="menu-item-3357978" class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-3357978"><a href="https://www.phillymag.com/be-well-philly">Be Well Philly</a></li> <li id="menu-item-3357983" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3357983"><a href="https://www.phillymag.com/dentists/">Find a Dentist</a></li> <li id="menu-item-3358174" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3358174"><a href="https://www.phillymag.com/find-a-doctor/">Find a Doctor</a></li> <li id="menu-item-3357984" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3357984"><a href="https://www.phillymag.com/senior-living/">Senior Living</a></li> </ul> </li> <li id="menu-item-3357987" class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-has-children menu-item-3357987"><a href="https://www.phillymag.com/life-style">Life &amp; Style</a> <ul class="sub-menu"> <li id="menu-item-3358017" class="hide-on-desktop menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-3358017"><a href="https://www.phillymag.com/life-style">Life &amp; Style</a></li> </ul> </li> <li id="menu-item-3357997" class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-has-children menu-item-3357997"><a href="https://www.phillymag.com/property">Real Estate &amp; Home</a> <ul class="sub-menu"> <li id="menu-item-3357998" class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-3357998"><a href="https://www.phillymag.com/property">Properties &amp; News</a></li> <li id="menu-item-3358019" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3358019"><a href="/home-design/">Find a Home &amp; Design Pro</a></li> <li id="menu-item-3570077" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3570077"><a href="/real-estate-agents/">Find a Real Estate Agent</a></li> <li id="menu-item-3870342" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3870342"><a href="/mortgage-lenders">Find a Mortgage Professional</a></li> </ul> </li> <li id="menu-item-3358000" class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-has-children menu-item-3358000"><a href="https://www.phillymag.com/things-to-do">Things To Do</a> <ul class="sub-menu"> <li id="menu-item-3357999" class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-3357999"><a href="https://www.phillymag.com/things-to-do">Events in Philly</a></li> <li id="menu-item-3358002" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3358002"><a href="https://www.phillymag.com/events">Philly Mag Events</a></li> </ul> </li> <li id="menu-item-3358004" class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-has-children menu-item-3358004"><a href="https://www.phillymag.com/philadelphia-wedding">Wedding</a> <ul class="sub-menu"> <li id="menu-item-3358006" class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-3358006"><a href="https://www.phillymag.com/philadelphia-wedding">Guides &amp; Advice</a></li> <li id="menu-item-3358022" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3358022"><a href="https://www.phillymag.com/weddings/">Find a Wedding Expert</a></li> <li id="menu-item-4031702" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-4031702"><a href="/bubblybrunch">Bubbly Brunch Event</a></li> </ul> </li> <li id="menu-item-3358008" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3358008"><a href="https://www.phillymag.com/best-of-philly/">Best of Philly</a></li> </ul></div> <div class="header-tablet-elements"> <div class="header-subscribe"> <div class="thin-line"> <span class="screen-reader-text">Subscribe</span> <svg class="mc-icon phillymag-subscribe" aria-hidden="true"><use xlink:href="/wp-content/themes/metrocorp/images/sprite.svg?ver=87#mc-icon-phillymag-subscribe"></use></svg> </div> <ul id="menu-sitenav_left" class="menu-header-subscribe js-menu-zephr"><li id="menu-item-921051" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-921051"><a href="/all-access/">All Access</a></li> <li id="menu-item-3821020" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3821020"><a href="/newsletters">Newsletters</a></li> <li id="menu-item-3703713" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3703713"><a href="/loginphilly">Sign In</a></li> </ul> </div> <div class="header-social"> <div class="thin-line"> <span class="screen-reader-text">Follow</span> <svg class="mc-icon phillymag-follow" aria-hidden="true"><use xlink:href="/wp-content/themes/metrocorp/images/sprite.svg?ver=87#mc-icon-phillymag-follow"></use></svg> </div> <ul id="menu-social-menu" class="menu-header-social"><li id="menu-item-3357935" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3357935"><a target="_blank" rel="noopener" href="https://www.facebook.com/philadelphiamagazine"><span class="screen-reader-text">Facebook</span></a></li> <li id="menu-item-3357936" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3357936"><a target="_blank" rel="noopener" href="https://www.instagram.com/phillymag/"><span class="screen-reader-text">Instagram</span></a></li> <li id="menu-item-3357939" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3357939"><a target="_blank" rel="noopener" href="https://twitter.com/phillymag"><span class="screen-reader-text">Twitter</span></a></li> </ul> </div> </div> </div> <div class="header-search"> <div class="search-form-wrapper" id="js-search-form-wrapper" aria-hidden="true"> <form role="search" method="get" class="search-form" action="https://www.phillymag.com/"> <label> <span class="screen-reader-text">Search for:</span> <input type="search" class="search-field" placeholder="Search …" value="" name="s" title="Search for:"> </label> <button type="submit"> <svg class="mc-icon icon-search" aria-hidden="true"><use xlink:href="/wp-content/themes/metrocorp/images/sprite.svg?ver=87#mc-icon-icon-search"></use></svg> <span class="screen-reader-text">Search</span> </button> </form> </div> <button id="js-toggle-search" aria-expanded="false" aria-controls="js-search-form-wrapper"> <svg class="mc-icon icon-search" aria-hidden="true"><use xlink:href="/wp-content/themes/metrocorp/images/sprite.svg?ver=87#mc-icon-icon-search"></use></svg> <svg class="mc-icon close" aria-hidden="true"><use xlink:href="/wp-content/themes/metrocorp/images/sprite.svg?ver=87#mc-icon-close"></use></svg> </button> </div> </div> </div> <header class="site-header" role="banner" id="js-header"> <div class="site-header-inner container"> <div class="header-social"> <div class="thin-line"> <span class="screen-reader-text">Follow</span> <svg class="mc-icon phillymag-follow" aria-hidden="true"><use xlink:href="/wp-content/themes/metrocorp/images/sprite.svg?ver=87#mc-icon-phillymag-follow"></use></svg> </div> <ul id="menu-social-menu-1" class="menu-header-social"><li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3357935"><a target="_blank" rel="noopener" href="https://www.facebook.com/philadelphiamagazine"><span class="screen-reader-text">Facebook</span></a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3357936"><a target="_blank" rel="noopener" href="https://www.instagram.com/phillymag/"><span class="screen-reader-text">Instagram</span></a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3357939"><a target="_blank" rel="noopener" href="https://twitter.com/phillymag"><span class="screen-reader-text">Twitter</span></a></li> </ul> </div> <div class="header-logo"> <div itemscope itemtype="https://schema.org/Organization"> <a href="https://www.phillymag.com/news"> <svg class="mc-icon phillymag-section-news" aria-hidden="true"><use xlink:href="/wp-content/themes/metrocorp/images/sprite.svg?ver=87#mc-icon-phillymag-section-news"></use></svg> <span class="screen-reader-text">Philadelphia Magazine</span> </a> <span class="section-front-tagline"></span></div> </div> <div class="header-subscribe"> <div class="thin-line"> <span class="screen-reader-text">Subscribe</span> <svg class="mc-icon phillymag-subscribe" aria-hidden="true"><use xlink:href="/wp-content/themes/metrocorp/images/sprite.svg?ver=87#mc-icon-phillymag-subscribe"></use></svg> </div> <ul id="menu-sitenav_left-1" class="menu-header-subscribe js-menu-zephr"><li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-921051"><a href="/all-access/">All Access</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3821020"><a href="/newsletters">Newsletters</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3703713"><a href="/loginphilly">Sign In</a></li> </ul> </div> </div> </header> <div class="mobile-section-front"> <a href="https://www.phillymag.com/news"> <svg class="mc-icon phillymag-section-news" aria-hidden="true"><use xlink:href="/wp-content/themes/metrocorp/images/sprite.svg?ver=87#mc-icon-phillymag-section-news"></use></svg> </a> <span class="section-front-tagline"> </span> </div> <div class="header-navigation-secondary container"><ul id="menu-primary-menu-1" class="menu-topics"><li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-3441760"><a href="/find-it-philly-search/">Find It/Philly</a> <ul class="sub-menu"> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3441764"><a href="/find-a-doctor/">Doctors</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3441765"><a href="/dentists/">Dentists</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3556438"><a href="/home-design/">Home Design Experts</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3441767"><a href="/senior-living/">Senior Living</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3441776"><a href="/weddings/">Wedding Experts</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3570068"><a href="/real-estate-agents/">Real Estate Agents</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3869015"><a href="/private-schools">Private Schools</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3869012"><a href="/mortgage-lenders">Mortgage Professionals</a></li> </ul> </li> <li class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical current-post-ancestor current-menu-parent current-post-parent menu-item-has-children menu-item-3357928"><a href="https://www.phillymag.com/news">City Life</a> <ul class="sub-menu"> <li class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical current-post-ancestor current-menu-parent current-post-parent menu-item-3701551"><a href="https://www.phillymag.com/news">The Latest</a></li> </ul> </li> <li class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-has-children menu-item-3357931"><a href="https://www.phillymag.com/foobooz">Restaurants</a> <ul class="sub-menu"> <li class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-3358386"><a href="https://www.phillymag.com/foobooz">Foobooz</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3358357"><a href="https://www.phillymag.com/foobooz/50-best-restaurants/">50 Best Restaurants</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3357976"><a href="https://www.phillymag.com/restaurant-finder/">Restaurant Finder</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3358644"><a href="https://www.phillymag.com/foobooz/philadelphia-restaurant-jobs/">Jobs</a></li> </ul> </li> <li class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-has-children menu-item-3357934"><a href="https://www.phillymag.com/be-well-philly">Health</a> <ul class="sub-menu"> <li class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-3357978"><a href="https://www.phillymag.com/be-well-philly">Be Well Philly</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3357983"><a href="https://www.phillymag.com/dentists/">Find a Dentist</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3358174"><a href="https://www.phillymag.com/find-a-doctor/">Find a Doctor</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3357984"><a href="https://www.phillymag.com/senior-living/">Senior Living</a></li> </ul> </li> <li class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-has-children menu-item-3357987"><a href="https://www.phillymag.com/life-style">Life &amp; Style</a> <ul class="sub-menu"> <li class="hide-on-desktop menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-3358017"><a href="https://www.phillymag.com/life-style">Life &amp; Style</a></li> </ul> </li> <li class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-has-children menu-item-3357997"><a href="https://www.phillymag.com/property">Real Estate &amp; Home</a> <ul class="sub-menu"> <li class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-3357998"><a href="https://www.phillymag.com/property">Properties &amp; News</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3358019"><a href="/home-design/">Find a Home &amp; Design Pro</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3570077"><a href="/real-estate-agents/">Find a Real Estate Agent</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3870342"><a href="/mortgage-lenders">Find a Mortgage Professional</a></li> </ul> </li> <li class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-has-children menu-item-3358000"><a href="https://www.phillymag.com/things-to-do">Things To Do</a> <ul class="sub-menu"> <li class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-3357999"><a href="https://www.phillymag.com/things-to-do">Events in Philly</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3358002"><a href="https://www.phillymag.com/events">Philly Mag Events</a></li> </ul> </li> <li class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-has-children menu-item-3358004"><a href="https://www.phillymag.com/philadelphia-wedding">Wedding</a> <ul class="sub-menu"> <li class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-3358006"><a href="https://www.phillymag.com/philadelphia-wedding">Guides &amp; Advice</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3358022"><a href="https://www.phillymag.com/weddings/">Find a Wedding Expert</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-4031702"><a href="/bubblybrunch">Bubbly Brunch Event</a></li> </ul> </li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3358008"><a href="https://www.phillymag.com/best-of-philly/">Best of Philly</a></li> </ul></div> <div style="width:1px;height:1px;margin:-1px 0 0 0;padding:0;display:block;"> <div id="skin" class="gpt-ad"></div> </div> <div id="interstitial" class="gpt-ad out-of-page"></div><div id="teads-video-oop" class="gpt-ad out-of-page"></div><div id="bottom-anchor" class="gpt-ad out-of-page"></div> <div class="container"> <hr class="double"> </div> <div id="banner-1" class="gpt-ad advertisement container"></div> <div class="container" role="main"> <div class="list-post" style="display:none"> <a href="https://www.phillymag.com/scrapertrap" class="post-image-link"><img width="400" height="250" src="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==" class="attachment-image-list size-image-list wp-post-image" alt=""></a> <div class="list-post-card"> <a href="https://www.phillymag.com/scrapertrap" class="post-slug">I'm a scraper</a> <div class="post-title"> <a href="https://www.phillymag.com/scrapertrap">This search result is here to prevent scraping</a> </div> <div class="post-excerpt"> <p>If you're a human and see this, please ignore it. If you're a scraper, please click the link below :-) Note that clicking the link below will block access to this site for 24 hours.</p> </div> <span class="byline-wrapper">By <a href="https://www.phillymag.com/scrapertrap" class="byline">I'm a scraper</a></span> </div> </div> <div class="content-with-sidebar"> <div class="wysiwyg post-article-wrapper"> <article id="post-4043856" class="post-article"> <div> <a href="https://www.phillymag.com/category/opinion/" class="post-slug" id="post-rubric" itemprop="articleSection">Opinion</a><br> <h1 class="post-title" itemprop="headline">Allan Domb Is Upbeat About Philly’s Economy (And You Should Be, Too)</h1> <div class="post-excerpt"><p><span class="ui-provider a b c d e f g h i j k l m n o p q r s t u v w x y z ab ac ae af ag ah ai aj ak" dir="ltr">The developer and former City Councilperson knows a thing or two about finances. Here’s why he’s bullish on the economy in Philadelphia</span></p> </div> <div class="byline-wrapper"> <div class="author-date-wrapper"> By <span itemprop="author"><a href="https://www.phillymag.com/author/domb/" class="byline" itemprop="url"><span itemprop="name">Allan Domb</span></a></span><span id="byline-dot">·</span> <span itemprop="datePublished"> <time datetime="2024-04-06" pubdate> 4/6/2024, 8:00 p.m. </time> </span> </div> <div class="social-sharing"> </div> </div> <div class="container post-article-container"> <hr class="double"> <div class="newsletter"> <h2 class="newsletter-title"> Get a compelling long read and must-have lifestyle tips in your inbox every Sunday morning — great with coffee! </h2> <div class="newsletter-inner"> <div class="hbspt-form js-hubspot-newsletter"></div> </div> </div> </div> <div id="attachment_4043938" style="width: 970px" class="wp-caption aligncenter"><img fetchpriority="high" decoding="async" aria-describedby="caption-attachment-4043938" class="wp-image-4043938 size-large" src="https://cdn10.phillymag.com/wp-content/uploads/sites/3/2024/04/allan-domb-1-960x783.jpg" alt="philadelphia economy allan domb" width="960" height="783" srcset="https://cdn10.phillymag.com/wp-content/uploads/sites/3/2024/04/allan-domb-1-960x783.jpg 960w, https://cdn10.phillymag.com/wp-content/uploads/sites/3/2024/04/allan-domb-1-605x493.jpg 605w, https://cdn10.phillymag.com/wp-content/uploads/sites/3/2024/04/allan-domb-1-300x245.jpg 300w, https://cdn10.phillymag.com/wp-content/uploads/sites/3/2024/04/allan-domb-1-553x451.jpg 553w, https://cdn10.phillymag.com/wp-content/uploads/sites/3/2024/04/allan-domb-1-115x94.jpg 115w, https://cdn10.phillymag.com/wp-content/uploads/sites/3/2024/04/allan-domb-1-600x489.jpg 600w" sizes="(max-width: 960px) 100vw, 960px"><p id="caption-attachment-4043938" class="wp-caption-text">Allan Domb is bullish on Philadelphia’s economy. / Photograph by Linette &amp; Kyle Kielinski</p></div><p>Why am I bullish about Philadelphia’s economy — and Philadelphia’s future overall? The number one reason is simple: Cities never die.</p><p>Yes, they go through down periods occasionally — sometimes big ones. Philadelphia suffered greatly in the late 1970s and 1980s, when our population was dropping and crime was growing. We’ve faced more challenges in the past few years, thanks to COVID and all the issues it brought with it. But in my experience, whenever cities — ­Philadelphia included — confront setbacks, they figure out ways to reinvent themselves and thrive again.</p><p>I believe we’re already witnessing signs of our city being reborn. For starters, I’m encouraged by what I’ve seen from our new mayor, Cherelle Parker, particularly with her focus on public safety and crime reduction. From an economic perspective, nothing is more important. People don’t want to live, work or play in a place where they don’t feel safe. Mayor Parker made a great choice for police commissioner in <a href="https://www.phillymag.com/news/2023/12/11/kevin-bethel-public-safety-economy/">Kevin Bethel</a> (a protégé of standout commissioner Charles Ramsey), and she’s rightly prioritized shutting down the open-air drug market in Kensington, which is at the root of many of our crime and quality-of-life issues. Making our city safer is a necessary first step if we want a strong economy.</p><div id="in_content" class="gpt-ad in-content-ad"></div><div id="in_content_2" class="gpt-ad in-content-ad"></div><p>Just as important, we have a solid economic foundation on which to build. Our eds-and-meds sector, which includes great institutions like Penn, Penn Medicine, CHOP and Drexel, employs tens of thousands of people and is among the best in the world. Not long ago, I met a couple having breakfast who were visiting from Boston. When I asked why they were in Philadelphia, the husband said his wife needed a cutting-edge surgical procedure that wasn’t yet being performed in Boston. I think we sometimes don’t realize how great our medical facilities are. (After two Penn researchers won the Nobel Prize for work that enabled the COVID vaccines, I told then-mayor Jim Kenney he should proclaim in every speech, “We’re so proud of Philadelphia. We saved the world.”)</p><blockquote class="pullquote"><p>Perhaps my biggest reason for optimism about our economy is the number of young people who continue to choose to live here.”</p></blockquote><p>That cutting-edge vitality, which is crucial to economic growth, is evident in lots of places in our city. In the construction of Schuylkill Yards and other new life-sciences spaces in University City, which will further enhance our leadership in that realm. In all the businesses that now occupy the Navy Yard, which has won major awards for adaptive reuse. In our exciting and world-class restaurant scene, which is a hotbed of entrepreneurial energy and attracts both visitors and new residents. Like every large city, we’re seeing higher vacancy rates in Center City office buildings, thanks to more people working remotely. But if we can figure out a path to <a href="https://www.phillymag.com/news/2024/02/22/office-building-conversion/">convert some of those buildings to residential</a> — which we actually did with an older generation of buildings in the early 2000s — the city’s economic vitality will only increase.</p><p>Perhaps my biggest reason for optimism about our economy is the number of young people who continue to choose to live here. Young people bring energy, ideas and innovation. They bring a creative spirit and a fresh way of looking at things. (They also bring baby boomers, who love being around that youthful energy.) All of those ingredients are essential for long-term economic growth.</p><p>Are there matters we need to attend to if we want to capitalize on all these positives? Of course. Fixing a <a href="https://www.phillymag.com/news/2023/11/14/poverty-in-philadelphia-business-tax/">business-tax structure</a> that hinders our competitiveness vs. other large cities is crucial. So is <a href="https://www.phillymag.com/news/2024/01/08/ideas-improve-philly-schools/">realigning our school system</a>, so that it truly prepares students for 21st-century jobs. I’d also love to see us double down on entrepreneurship in our neighborhoods of color — one of the keys to building long-term wealth — and develop a long-term vision for the east side of Center City. But all of those things are doable.</p><p>Cities don’t die; they only change. And Philadelphia is poised to be stronger than ever.</p><p><strong><a href="https://www.phillymag.com/news/optimist-guide-philadelphia-future/">&gt;&gt; Click here to return to An Optimist’s Guide to Philadelphia</a></strong></p><p><em>Allan Domb served as an at-large member of Philadelphia’s City Council from 2016 to 2022 and is president of Allan Domb Real Estate.</em></p><p><em>Published as “Why I’m Optimistic About Philly’s Economy” in the April 2024 issue of </em>Philadelphia<em> magazine.</em></p><script type="text/javascript"> if (!window.Zephr) window.Zephr = {}; if (!window.Zephr.outcomes) window.Zephr.outcomes = {}; window.Zephr.outcomes['article'] = { featureLabel: 'Philly/Boston Paywall Experience', outcomeId: 'transformation/5', outcomeLabel: 'show article' }; </script> <div class="pagination"> </div></div> <div class="post-tags"> <div id="rail-1" class="gpt-ad lazyload sticky-single-ad" data-ad="rail-1"></div> </div> <hr class="solid"> <div id="related-posts" class="related-module"> <span class="post-subtitle">You Might Also Like</span> <div class="grid-content small-gutter six-mods"> <div class="grid-post"> <a href="https://www.phillymag.com/news/optimist-guide-philadelphia-future/" data-gtm-title="An Optimist’s Guide to Philadelphia"> <div class="grid-post-image"> <img width="300" height="200" class="attachment-thumbnail size-thumbnail lazyload" alt="" decoding="async" data-src="https://cdn10.phillymag.com/wp-content/uploads/sites/3/2024/04/900-optimists-key-web-300x200.jpg" data-srcset="https://cdn10.phillymag.com/wp-content/uploads/sites/3/2024/04/900-optimists-key-web-300x200.jpg 300w, https://cdn10.phillymag.com/wp-content/uploads/sites/3/2024/04/900-optimists-key-web-605x403.jpg 605w, https://cdn10.phillymag.com/wp-content/uploads/sites/3/2024/04/900-optimists-key-web-115x77.jpg 115w, https://cdn10.phillymag.com/wp-content/uploads/sites/3/2024/04/900-optimists-key-web-600x400.jpg 600w, https://cdn10.phillymag.com/wp-content/uploads/sites/3/2024/04/900-optimists-key-web.jpg 900w" data-sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 969px) calc( ( ( 100vw - 30px ) / 3 ) - 35px ), 605px"> </div> <span class="post-title"> <p>An Optimist’s Guide to Philadelphia</p> </span> </a> </div> <div id="directory_edl-1" class="gpt-ad"></div> <div id="native_related" class="gpt-ad"></div> <div id="directory_edl-2" class="gpt-ad"></div> <div class="grid-post"> <a href="https://www.phillymag.com/news/jersey-shore-rules-people/" data-gtm-title="The 10 Worst People You Will Meet at the Jersey Shore, Ranked"> <div class="grid-post-image"> <img width="100" height="100" class="attachment-thumbnail size-thumbnail lazyload" alt="a guy at the jersey shore using spray sunscreen and thusly breaking the most basic Jersey Shore rules" decoding="async" data-src="https://cdn10.phillymag.com/wp-content/uploads/sites/3/2019/06/jersey-shore-beach-etiquette-100x100.jpg" data-srcset="https://cdn10.phillymag.com/wp-content/uploads/sites/3/2019/06/jersey-shore-beach-etiquette-100x100.jpg 100w, https://cdn10.phillymag.com/wp-content/uploads/sites/3/2019/06/jersey-shore-beach-etiquette-50x50.jpg 50w, https://cdn10.phillymag.com/wp-content/uploads/sites/3/2019/06/jersey-shore-beach-etiquette-95x95.jpg 95w, https://cdn10.phillymag.com/wp-content/uploads/sites/3/2019/06/jersey-shore-beach-etiquette-170x170.jpg 170w, https://cdn10.phillymag.com/wp-content/uploads/sites/3/2019/06/jersey-shore-beach-etiquette-550x550.jpg 550w, https://cdn10.phillymag.com/wp-content/uploads/sites/3/2019/06/jersey-shore-beach-etiquette-470x470.jpg 470w" data-sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 969px) calc( ( ( 100vw - 30px ) / 3 ) - 35px ), 605px"> </div> <span class="post-title"> <p>The 10 Worst People You Will Meet at the Jersey Shore, Ranked</p> </span> </a> </div> <div class="grid-post"> <a href="https://www.phillymag.com/news/2023/07/15/public-transit-septa-kids/" data-gtm-title="4 Ways to Make Public Transit Easier for Kids"> <div class="grid-post-image"> <img width="300" height="200" class="attachment-thumbnail size-thumbnail lazyload" alt="" decoding="async" loading="lazy" data-src="https://cdn10.phillymag.com/wp-content/uploads/sites/3/2023/07/900-septa-kids-300x200.jpg" data-srcset="https://cdn10.phillymag.com/wp-content/uploads/sites/3/2023/07/900-septa-kids-300x200.jpg 300w, https://cdn10.phillymag.com/wp-content/uploads/sites/3/2023/07/900-septa-kids-605x403.jpg 605w, https://cdn10.phillymag.com/wp-content/uploads/sites/3/2023/07/900-septa-kids-115x77.jpg 115w, https://cdn10.phillymag.com/wp-content/uploads/sites/3/2023/07/900-septa-kids-600x400.jpg 600w, https://cdn10.phillymag.com/wp-content/uploads/sites/3/2023/07/900-septa-kids.jpg 900w" data-sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 969px) calc( ( ( 100vw - 30px ) / 3 ) - 35px ), 605px"> </div> <span class="post-title"> <p>4 Ways to Make Public Transit Easier for Kids</p> </span> </a> </div> <div class="grid-post nativo1"></div> <div class="grid-post nativo2"></div> <div class="grid-post nativo3"></div> </div> </div> </article> </div><script type="text/javascript"> if (!window.Zephr) window.Zephr = {}; if (!window.Zephr.outcomes) window.Zephr.outcomes = {}; window.Zephr.outcomes['all-access-page'] = { featureLabel: 'All Access Pages', outcomeId: 'transformation/3', outcomeLabel: 'Remove' }; </script> <div class="sidebar"> <div class="trending-widget"> <div id="toprailsponsor-1" class="gpt-ad toprail-bewell"></div> <h2 class="title-line">Trending</h2> <ol> <li> <h3 class="trending-post-title post-title"> <a href="https://www.phillymag.com/news/2024/04/05/septa-fare-evasion-gates/"> SEPTA’s New “High-Tech” Fare Gates Are Very, Very Easy to Beat </a> </h3> </li> <li> <h3 class="trending-post-title post-title"> <a href="https://www.phillymag.com/news/2024/04/08/philadelphia-crime-shootings-homicide/"> Philadelphia Shootings Have Plummeted to Pre-Pandemic Levels </a> </h3> </li> <li> <h3 class="trending-post-title post-title"> <a href="https://www.phillymag.com/news/2024/04/08/wrestlemania-40-philadelphia/"> 10 Bonkers Things That Happened at WrestleMania 40 </a> </h3> </li> <li> <h3 class="trending-post-title post-title"> <a href="https://www.phillymag.com/news/optimist-guide-philadelphia-future/"> An Optimist’s Guide to Philadelphia </a> </h3> </li> <li> <h3 class="trending-post-title post-title"> <a href="https://www.phillymag.com/news/2024/04/06/allan-domb-philadelphia-economy/"> Why Allan Domb Is Upbeat About Philadelphia’s Economy </a> </h3> </li> </ol> </div> <div id="native_sidebar" class="gpt-ad native_sidebar"></div> <div id="native_sidebar" class="gpt-ad native_sidebar"></div> |
| 27 |
Info
On line 626, column 55 hillymag"> <div id="ad-reveal" class="gpt-ad"></div><div id="under-reveal"></div><div class="header-navigation-spacer"></div> <div class="header-navigation js-header-menu-full" id="js-header-navigation"> <div class="container header-navigation-inner"> <div class="navigation-logo"> <a href="//www.phillymag.com"> <svg class="mc-icon phillymag-logo" aria-hidden="true"><use xlink:href="/wp-content/themes/metrocorp/images/sprite.svg?ver=87#mc-icon-phillymag-logo"></use></svg> </a> </div> <button id="js-mobile-menu-toggle" class="mobile-menu-toggle" aria-hidden="true"> <svg class="mc-icon hamburger" aria-hidden="true"><use xlink:href="/wp-content/themes/metrocorp/images/sprite.svg?ver=87#mc-icon-hamburger"></use></svg> <svg class="mc-icon close" aria-hidden="true"><use xlink:href="/wp-content/themes/metrocorp/images/sprite.svg?ver=87#mc-icon-close"></use></svg> </button> <div class="header-menu-wrapper" id="js-header-navigation-wrapper"> <div class="header-menu"><ul id="menu-primary-menu" class="menu-header-main"><li id="menu-item-3441760" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-3441760"><a href="/find-it-philly-search/">Find It/Philly</a> <ul class="sub-menu"> <li id="menu-item-3441764" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3441764"><a href="/find-a-doctor/">Doctors</a></li> <li id="menu-item-3441765" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3441765"><a href="/dentists/">Dentists</a></li> <li id="menu-item-3556438" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3556438"><a href="/home-design/">Home Design Experts</a></li> <li id="menu-item-3441767" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3441767"><a href="/senior-living/">Senior Living</a></li> <li id="menu-item-3441776" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3441776"><a href="/weddings/">Wedding Experts</a></li> <li id="menu-item-3570068" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3570068"><a href="/real-estate-agents/">Real Estate Agents</a></li> <li id="menu-item-3869015" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3869015"><a href="/private-schools">Private Schools</a></li> <li id="menu-item-3869012" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3869012"><a href="/mortgage-lenders">Mortgage Professionals</a></li> </ul> </li> <li id="menu-item-3357928" class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical current-post-ancestor current-menu-parent current-post-parent menu-item-has-children menu-item-3357928"><a href="https://www.phillymag.com/news">City Life</a> <ul class="sub-menu"> <li id="menu-item-3701551" class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical current-post-ancestor current-menu-parent current-post-parent menu-item-3701551"><a href="https://www.phillymag.com/news">The Latest</a></li> </ul> </li> <li id="menu-item-3357931" class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-has-children menu-item-3357931"><a href="https://www.phillymag.com/foobooz">Restaurants</a> <ul class="sub-menu"> <li id="menu-item-3358386" class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-3358386"><a href="https://www.phillymag.com/foobooz">Foobooz</a></li> <li id="menu-item-3358357" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3358357"><a href="https://www.phillymag.com/foobooz/50-best-restaurants/">50 Best Restaurants</a></li> <li id="menu-item-3357976" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3357976"><a href="https://www.phillymag.com/restaurant-finder/">Restaurant Finder</a></li> <li id="menu-item-3358644" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3358644"><a href="https://www.phillymag.com/foobooz/philadelphia-restaurant-jobs/">Jobs</a></li> </ul> </li> <li id="menu-item-3357934" class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-has-children menu-item-3357934"><a href="https://www.phillymag.com/be-well-philly">Health</a> <ul class="sub-menu"> <li id="menu-item-3357978" class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-3357978"><a href="https://www.phillymag.com/be-well-philly">Be Well Philly</a></li> <li id="menu-item-3357983" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3357983"><a href="https://www.phillymag.com/dentists/">Find a Dentist</a></li> <li id="menu-item-3358174" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3358174"><a href="https://www.phillymag.com/find-a-doctor/">Find a Doctor</a></li> <li id="menu-item-3357984" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3357984"><a href="https://www.phillymag.com/senior-living/">Senior Living</a></li> </ul> </li> <li id="menu-item-3357987" class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-has-children menu-item-3357987"><a href="https://www.phillymag.com/life-style">Life &amp; Style</a> <ul class="sub-menu"> <li id="menu-item-3358017" class="hide-on-desktop menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-3358017"><a href="https://www.phillymag.com/life-style">Life &amp; Style</a></li> </ul> </li> <li id="menu-item-3357997" class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-has-children menu-item-3357997"><a href="https://www.phillymag.com/property">Real Estate &amp; Home</a> <ul class="sub-menu"> <li id="menu-item-3357998" class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-3357998"><a href="https://www.phillymag.com/property">Properties &amp; News</a></li> <li id="menu-item-3358019" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3358019"><a href="/home-design/">Find a Home &amp; Design Pro</a></li> <li id="menu-item-3570077" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3570077"><a href="/real-estate-agents/">Find a Real Estate Agent</a></li> <li id="menu-item-3870342" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3870342"><a href="/mortgage-lenders">Find a Mortgage Professional</a></li> </ul> </li> <li id="menu-item-3358000" class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-has-children menu-item-3358000"><a href="https://www.phillymag.com/things-to-do">Things To Do</a> <ul class="sub-menu"> <li id="menu-item-3357999" class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-3357999"><a href="https://www.phillymag.com/things-to-do">Events in Philly</a></li> <li id="menu-item-3358002" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3358002"><a href="https://www.phillymag.com/events">Philly Mag Events</a></li> </ul> </li> <li id="menu-item-3358004" class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-has-children menu-item-3358004"><a href="https://www.phillymag.com/philadelphia-wedding">Wedding</a> <ul class="sub-menu"> <li id="menu-item-3358006" class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-3358006"><a href="https://www.phillymag.com/philadelphia-wedding">Guides &amp; Advice</a></li> <li id="menu-item-3358022" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3358022"><a href="https://www.phillymag.com/weddings/">Find a Wedding Expert</a></li> <li id="menu-item-4031702" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-4031702"><a href="/bubblybrunch">Bubbly Brunch Event</a></li> </ul> </li> <li id="menu-item-3358008" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3358008"><a href="https://www.phillymag.com/best-of-philly/">Best of Philly</a></li> </ul></div> <div class="header-tablet-elements"> <div class="header-subscribe"> <div class="thin-line"> <span class="screen-reader-text">Subscribe</span> <svg class="mc-icon phillymag-subscribe" aria-hidden="true"><use xlink:href="/wp-content/themes/metrocorp/images/sprite.svg?ver=87#mc-icon-phillymag-subscribe"></use></svg> </div> <ul id="menu-sitenav_left" class="menu-header-subscribe js-menu-zephr"><li id="menu-item-921051" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-921051"><a href="/all-access/">All Access</a></li> <li id="menu-item-3821020" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3821020"><a href="/newsletters">Newsletters</a></li> <li id="menu-item-3703713" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3703713"><a href="/loginphilly">Sign In</a></li> </ul> </div> <div class="header-social"> <div class="thin-line"> <span class="screen-reader-text">Follow</span> <svg class="mc-icon phillymag-follow" aria-hidden="true"><use xlink:href="/wp-content/themes/metrocorp/images/sprite.svg?ver=87#mc-icon-phillymag-follow"></use></svg> </div> <ul id="menu-social-menu" class="menu-header-social"><li id="menu-item-3357935" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3357935"><a target="_blank" rel="noopener" href="https://www.facebook.com/philadelphiamagazine"><span class="screen-reader-text">Facebook</span></a></li> <li id="menu-item-3357936" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3357936"><a target="_blank" rel="noopener" href="https://www.instagram.com/phillymag/"><span class="screen-reader-text">Instagram</span></a></li> <li id="menu-item-3357939" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3357939"><a target="_blank" rel="noopener" href="https://twitter.com/phillymag"><span class="screen-reader-text">Twitter</span></a></li> </ul> </div> </div> </div> <div class="header-search"> <div class="search-form-wrapper" id="js-search-form-wrapper" aria-hidden="true"> <form role="search" method="get" class="search-form" action="https://www.phillymag.com/"> <label> <span class="screen-reader-text">Search for:</span> <input type="search" class="search-field" placeholder="Search …" value="" name="s" title="Search for:"> </label> <button type="submit"> <svg class="mc-icon icon-search" aria-hidden="true"><use xlink:href="/wp-content/themes/metrocorp/images/sprite.svg?ver=87#mc-icon-icon-search"></use></svg> <span class="screen-reader-text">Search</span> </button> </form> </div> <button id="js-toggle-search" aria-expanded="false" aria-controls="js-search-form-wrapper"> <svg class="mc-icon icon-search" aria-hidden="true"><use xlink:href="/wp-content/themes/metrocorp/images/sprite.svg?ver=87#mc-icon-icon-search"></use></svg> <svg class="mc-icon close" aria-hidden="true"><use xlink:href="/wp-content/themes/metrocorp/images/sprite.svg?ver=87#mc-icon-close"></use></svg> </button> </div> </div> </div> <header class="site-header" role="banner" id="js-header"> <div class="site-header-inner container"> <div class="header-social"> <div class="thin-line"> <span class="screen-reader-text">Follow</span> <svg class="mc-icon phillymag-follow" aria-hidden="true"><use xlink:href="/wp-content/themes/metrocorp/images/sprite.svg?ver=87#mc-icon-phillymag-follow"></use></svg> </div> <ul id="menu-social-menu-1" class="menu-header-social"><li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3357935"><a target="_blank" rel="noopener" href="https://www.facebook.com/philadelphiamagazine"><span class="screen-reader-text">Facebook</span></a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3357936"><a target="_blank" rel="noopener" href="https://www.instagram.com/phillymag/"><span class="screen-reader-text">Instagram</span></a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3357939"><a target="_blank" rel="noopener" href="https://twitter.com/phillymag"><span class="screen-reader-text">Twitter</span></a></li> </ul> </div> <div class="header-logo"> <div itemscope itemtype="https://schema.org/Organization"> <a href="https://www.phillymag.com/news"> <svg class="mc-icon phillymag-section-news" aria-hidden="true"><use xlink:href="/wp-content/themes/metrocorp/images/sprite.svg?ver=87#mc-icon-phillymag-section-news"></use></svg> <span class="screen-reader-text">Philadelphia Magazine</span> </a> <span class="section-front-tagline"></span></div> </div> <div class="header-subscribe"> <div class="thin-line"> <span class="screen-reader-text">Subscribe</span> <svg class="mc-icon phillymag-subscribe" aria-hidden="true"><use xlink:href="/wp-content/themes/metrocorp/images/sprite.svg?ver=87#mc-icon-phillymag-subscribe"></use></svg> </div> <ul id="menu-sitenav_left-1" class="menu-header-subscribe js-menu-zephr"><li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-921051"><a href="/all-access/">All Access</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3821020"><a href="/newsletters">Newsletters</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3703713"><a href="/loginphilly">Sign In</a></li> </ul> </div> </div> </header> <div class="mobile-section-front"> <a href="https://www.phillymag.com/news"> <svg class="mc-icon phillymag-section-news" aria-hidden="true"><use xlink:href="/wp-content/themes/metrocorp/images/sprite.svg?ver=87#mc-icon-phillymag-section-news"></use></svg> </a> <span class="section-front-tagline"> </span> </div> <div class="header-navigation-secondary container"><ul id="menu-primary-menu-1" class="menu-topics"><li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-3441760"><a href="/find-it-philly-search/">Find It/Philly</a> <ul class="sub-menu"> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3441764"><a href="/find-a-doctor/">Doctors</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3441765"><a href="/dentists/">Dentists</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3556438"><a href="/home-design/">Home Design Experts</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3441767"><a href="/senior-living/">Senior Living</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3441776"><a href="/weddings/">Wedding Experts</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3570068"><a href="/real-estate-agents/">Real Estate Agents</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3869015"><a href="/private-schools">Private Schools</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3869012"><a href="/mortgage-lenders">Mortgage Professionals</a></li> </ul> </li> <li class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical current-post-ancestor current-menu-parent current-post-parent menu-item-has-children menu-item-3357928"><a href="https://www.phillymag.com/news">City Life</a> <ul class="sub-menu"> <li class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical current-post-ancestor current-menu-parent current-post-parent menu-item-3701551"><a href="https://www.phillymag.com/news">The Latest</a></li> </ul> </li> <li class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-has-children menu-item-3357931"><a href="https://www.phillymag.com/foobooz">Restaurants</a> <ul class="sub-menu"> <li class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-3358386"><a href="https://www.phillymag.com/foobooz">Foobooz</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3358357"><a href="https://www.phillymag.com/foobooz/50-best-restaurants/">50 Best Restaurants</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3357976"><a href="https://www.phillymag.com/restaurant-finder/">Restaurant Finder</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3358644"><a href="https://www.phillymag.com/foobooz/philadelphia-restaurant-jobs/">Jobs</a></li> </ul> </li> <li class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-has-children menu-item-3357934"><a href="https://www.phillymag.com/be-well-philly">Health</a> <ul class="sub-menu"> <li class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-3357978"><a href="https://www.phillymag.com/be-well-philly">Be Well Philly</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3357983"><a href="https://www.phillymag.com/dentists/">Find a Dentist</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3358174"><a href="https://www.phillymag.com/find-a-doctor/">Find a Doctor</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3357984"><a href="https://www.phillymag.com/senior-living/">Senior Living</a></li> </ul> </li> <li class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-has-children menu-item-3357987"><a href="https://www.phillymag.com/life-style">Life &amp; Style</a> <ul class="sub-menu"> <li class="hide-on-desktop menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-3358017"><a href="https://www.phillymag.com/life-style">Life &amp; Style</a></li> </ul> </li> <li class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-has-children menu-item-3357997"><a href="https://www.phillymag.com/property">Real Estate &amp; Home</a> <ul class="sub-menu"> <li class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-3357998"><a href="https://www.phillymag.com/property">Properties &amp; News</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3358019"><a href="/home-design/">Find a Home &amp; Design Pro</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3570077"><a href="/real-estate-agents/">Find a Real Estate Agent</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3870342"><a href="/mortgage-lenders">Find a Mortgage Professional</a></li> </ul> </li> <li class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-has-children menu-item-3358000"><a href="https://www.phillymag.com/things-to-do">Things To Do</a> <ul class="sub-menu"> <li class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-3357999"><a href="https://www.phillymag.com/things-to-do">Events in Philly</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3358002"><a href="https://www.phillymag.com/events">Philly Mag Events</a></li> </ul> </li> <li class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-has-children menu-item-3358004"><a href="https://www.phillymag.com/philadelphia-wedding">Wedding</a> <ul class="sub-menu"> <li class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-3358006"><a href="https://www.phillymag.com/philadelphia-wedding">Guides &amp; Advice</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3358022"><a href="https://www.phillymag.com/weddings/">Find a Wedding Expert</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-4031702"><a href="/bubblybrunch">Bubbly Brunch Event</a></li> </ul> </li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3358008"><a href="https://www.phillymag.com/best-of-philly/">Best of Philly</a></li> </ul></div> <div style="width:1px;height:1px;margin:-1px 0 0 0;padding:0;display:block;"> <div id="skin" class="gpt-ad"></div> </div> <div id="interstitial" class="gpt-ad out-of-page"></div><div id="teads-video-oop" class="gpt-ad out-of-page"></div><div id="bottom-anchor" class="gpt-ad out-of-page"></div> <div class="container"> <hr class="double"> </div> <div id="banner-1" class="gpt-ad advertisement container"></div> <div class="container" role="main"> <div class="list-post" style="display:none"> <a href="https://www.phillymag.com/scrapertrap" class="post-image-link"><img width="400" height="250" src="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==" class="attachment-image-list size-image-list wp-post-image" alt=""></a> <div class="list-post-card"> <a href="https://www.phillymag.com/scrapertrap" class="post-slug">I'm a scraper</a> <div class="post-title"> <a href="https://www.phillymag.com/scrapertrap">This search result is here to prevent scraping</a> </div> <div class="post-excerpt"> <p>If you're a human and see this, please ignore it. If you're a scraper, please click the link below :-) Note that clicking the link below will block access to this site for 24 hours.</p> </div> <span class="byline-wrapper">By <a href="https://www.phillymag.com/scrapertrap" class="byline">I'm a scraper</a></span> </div> </div> <div class="content-with-sidebar"> <div class="wysiwyg post-article-wrapper"> <article id="post-4043856" class="post-article"> <div> <a href="https://www.phillymag.com/category/opinion/" class="post-slug" id="post-rubric" itemprop="articleSection">Opinion</a><br> <h1 class="post-title" itemprop="headline">Allan Domb Is Upbeat About Philly’s Economy (And You Should Be, Too)</h1> <div class="post-excerpt"><p><span class="ui-provider a b c d e f g h i j k l m n o p q r s t u v w x y z ab ac ae af ag ah ai aj ak" dir="ltr">The developer and former City Councilperson knows a thing or two about finances. Here’s why he’s bullish on the economy in Philadelphia</span></p> </div> <div class="byline-wrapper"> <div class="author-date-wrapper"> By <span itemprop="author"><a href="https://www.phillymag.com/author/domb/" class="byline" itemprop="url"><span itemprop="name">Allan Domb</span></a></span><span id="byline-dot">·</span> <span itemprop="datePublished"> <time datetime="2024-04-06" pubdate> 4/6/2024, 8:00 p.m. </time> </span> </div> <div class="social-sharing"> </div> </div> <div class="container post-article-container"> <hr class="double"> <div class="newsletter"> <h2 class="newsletter-title"> Get a compelling long read and must-have lifestyle tips in your inbox every Sunday morning — great with coffee! </h2> <div class="newsletter-inner"> <div class="hbspt-form js-hubspot-newsletter"></div> </div> </div> </div> <div id="attachment_4043938" style="width: 970px" class="wp-caption aligncenter"><img fetchpriority="high" decoding="async" aria-describedby="caption-attachment-4043938" class="wp-image-4043938 size-large" src="https://cdn10.phillymag.com/wp-content/uploads/sites/3/2024/04/allan-domb-1-960x783.jpg" alt="philadelphia economy allan domb" width="960" height="783" srcset="https://cdn10.phillymag.com/wp-content/uploads/sites/3/2024/04/allan-domb-1-960x783.jpg 960w, https://cdn10.phillymag.com/wp-content/uploads/sites/3/2024/04/allan-domb-1-605x493.jpg 605w, https://cdn10.phillymag.com/wp-content/uploads/sites/3/2024/04/allan-domb-1-300x245.jpg 300w, https://cdn10.phillymag.com/wp-content/uploads/sites/3/2024/04/allan-domb-1-553x451.jpg 553w, https://cdn10.phillymag.com/wp-content/uploads/sites/3/2024/04/allan-domb-1-115x94.jpg 115w, https://cdn10.phillymag.com/wp-content/uploads/sites/3/2024/04/allan-domb-1-600x489.jpg 600w" sizes="(max-width: 960px) 100vw, 960px"><p id="caption-attachment-4043938" class="wp-caption-text">Allan Domb is bullish on Philadelphia’s economy. / Photograph by Linette &amp; Kyle Kielinski</p></div><p>Why am I bullish about Philadelphia’s economy — and Philadelphia’s future overall? The number one reason is simple: Cities never die.</p><p>Yes, they go through down periods occasionally — sometimes big ones. Philadelphia suffered greatly in the late 1970s and 1980s, when our population was dropping and crime was growing. We’ve faced more challenges in the past few years, thanks to COVID and all the issues it brought with it. But in my experience, whenever cities — ­Philadelphia included — confront setbacks, they figure out ways to reinvent themselves and thrive again.</p><p>I believe we’re already witnessing signs of our city being reborn. For starters, I’m encouraged by what I’ve seen from our new mayor, Cherelle Parker, particularly with her focus on public safety and crime reduction. From an economic perspective, nothing is more important. People don’t want to live, work or play in a place where they don’t feel safe. Mayor Parker made a great choice for police commissioner in <a href="https://www.phillymag.com/news/2023/12/11/kevin-bethel-public-safety-economy/">Kevin Bethel</a> (a protégé of standout commissioner Charles Ramsey), and she’s rightly prioritized shutting down the open-air drug market in Kensington, which is at the root of many of our crime and quality-of-life issues. Making our city safer is a necessary first step if we want a strong economy.</p><div id="in_content" class="gpt-ad in-content-ad"></div><div id="in_content_2" class="gpt-ad in-content-ad"></div><p>Just as important, we have a solid economic foundation on which to build. Our eds-and-meds sector, which includes great institutions like Penn, Penn Medicine, CHOP and Drexel, employs tens of thousands of people and is among the best in the world. Not long ago, I met a couple having breakfast who were visiting from Boston. When I asked why they were in Philadelphia, the husband said his wife needed a cutting-edge surgical procedure that wasn’t yet being performed in Boston. I think we sometimes don’t realize how great our medical facilities are. (After two Penn researchers won the Nobel Prize for work that enabled the COVID vaccines, I told then-mayor Jim Kenney he should proclaim in every speech, “We’re so proud of Philadelphia. We saved the world.”)</p><blockquote class="pullquote"><p>Perhaps my biggest reason for optimism about our economy is the number of young people who continue to choose to live here.”</p></blockquote><p>That cutting-edge vitality, which is crucial to economic growth, is evident in lots of places in our city. In the construction of Schuylkill Yards and other new life-sciences spaces in University City, which will further enhance our leadership in that realm. In all the businesses that now occupy the Navy Yard, which has won major awards for adaptive reuse. In our exciting and world-class restaurant scene, which is a hotbed of entrepreneurial energy and attracts both visitors and new residents. Like every large city, we’re seeing higher vacancy rates in Center City office buildings, thanks to more people working remotely. But if we can figure out a path to <a href="https://www.phillymag.com/news/2024/02/22/office-building-conversion/">convert some of those buildings to residential</a> — which we actually did with an older generation of buildings in the early 2000s — the city’s economic vitality will only increase.</p><p>Perhaps my biggest reason for optimism about our economy is the number of young people who continue to choose to live here. Young people bring energy, ideas and innovation. They bring a creative spirit and a fresh way of looking at things. (They also bring baby boomers, who love being around that youthful energy.) All of those ingredients are essential for long-term economic growth.</p><p>Are there matters we need to attend to if we want to capitalize on all these positives? Of course. Fixing a <a href="https://www.phillymag.com/news/2023/11/14/poverty-in-philadelphia-business-tax/">business-tax structure</a> that hinders our competitiveness vs. other large cities is crucial. So is <a href="https://www.phillymag.com/news/2024/01/08/ideas-improve-philly-schools/">realigning our school system</a>, so that it truly prepares students for 21st-century jobs. I’d also love to see us double down on entrepreneurship in our neighborhoods of color — one of the keys to building long-term wealth — and develop a long-term vision for the east side of Center City. But all of those things are doable.</p><p>Cities don’t die; they only change. And Philadelphia is poised to be stronger than ever.</p><p><strong><a href="https://www.phillymag.com/news/optimist-guide-philadelphia-future/">&gt;&gt; Click here to return to An Optimist’s Guide to Philadelphia</a></strong></p><p><em>Allan Domb served as an at-large member of Philadelphia’s City Council from 2016 to 2022 and is president of Allan Domb Real Estate.</em></p><p><em>Published as “Why I’m Optimistic About Philly’s Economy” in the April 2024 issue of </em>Philadelphia<em> magazine.</em></p><script type="text/javascript"> if (!window.Zephr) window.Zephr = {}; if (!window.Zephr.outcomes) window.Zephr.outcomes = {}; window.Zephr.outcomes['article'] = { featureLabel: 'Philly/Boston Paywall Experience', outcomeId: 'transformation/5', outcomeLabel: 'show article' }; </script> <div class="pagination"> </div></div> <div class="post-tags"> <div id="rail-1" class="gpt-ad lazyload sticky-single-ad" data-ad="rail-1"></div> </div> <hr class="solid"> <div id="related-posts" class="related-module"> <span class="post-subtitle">You Might Also Like</span> <div class="grid-content small-gutter six-mods"> <div class="grid-post"> <a href="https://www.phillymag.com/news/optimist-guide-philadelphia-future/" data-gtm-title="An Optimist’s Guide to Philadelphia"> <div class="grid-post-image"> <img width="300" height="200" class="attachment-thumbnail size-thumbnail lazyload" alt="" decoding="async" data-src="https://cdn10.phillymag.com/wp-content/uploads/sites/3/2024/04/900-optimists-key-web-300x200.jpg" data-srcset="https://cdn10.phillymag.com/wp-content/uploads/sites/3/2024/04/900-optimists-key-web-300x200.jpg 300w, https://cdn10.phillymag.com/wp-content/uploads/sites/3/2024/04/900-optimists-key-web-605x403.jpg 605w, https://cdn10.phillymag.com/wp-content/uploads/sites/3/2024/04/900-optimists-key-web-115x77.jpg 115w, https://cdn10.phillymag.com/wp-content/uploads/sites/3/2024/04/900-optimists-key-web-600x400.jpg 600w, https://cdn10.phillymag.com/wp-content/uploads/sites/3/2024/04/900-optimists-key-web.jpg 900w" data-sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 969px) calc( ( ( 100vw - 30px ) / 3 ) - 35px ), 605px"> </div> <span class="post-title"> <p>An Optimist’s Guide to Philadelphia</p> </span> </a> </div> <div id="directory_edl-1" class="gpt-ad"></div> <div id="native_related" class="gpt-ad"></div> <div id="directory_edl-2" class="gpt-ad"></div> <div class="grid-post"> <a href="https://www.phillymag.com/news/jersey-shore-rules-people/" data-gtm-title="The 10 Worst People You Will Meet at the Jersey Shore, Ranked"> <div class="grid-post-image"> <img width="100" height="100" class="attachment-thumbnail size-thumbnail lazyload" alt="a guy at the jersey shore using spray sunscreen and thusly breaking the most basic Jersey Shore rules" decoding="async" data-src="https://cdn10.phillymag.com/wp-content/uploads/sites/3/2019/06/jersey-shore-beach-etiquette-100x100.jpg" data-srcset="https://cdn10.phillymag.com/wp-content/uploads/sites/3/2019/06/jersey-shore-beach-etiquette-100x100.jpg 100w, https://cdn10.phillymag.com/wp-content/uploads/sites/3/2019/06/jersey-shore-beach-etiquette-50x50.jpg 50w, https://cdn10.phillymag.com/wp-content/uploads/sites/3/2019/06/jersey-shore-beach-etiquette-95x95.jpg 95w, https://cdn10.phillymag.com/wp-content/uploads/sites/3/2019/06/jersey-shore-beach-etiquette-170x170.jpg 170w, https://cdn10.phillymag.com/wp-content/uploads/sites/3/2019/06/jersey-shore-beach-etiquette-550x550.jpg 550w, https://cdn10.phillymag.com/wp-content/uploads/sites/3/2019/06/jersey-shore-beach-etiquette-470x470.jpg 470w" data-sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 969px) calc( ( ( 100vw - 30px ) / 3 ) - 35px ), 605px"> </div> <span class="post-title"> <p>The 10 Worst People You Will Meet at the Jersey Shore, Ranked</p> </span> </a> </div> <div class="grid-post"> <a href="https://www.phillymag.com/news/2023/07/15/public-transit-septa-kids/" data-gtm-title="4 Ways to Make Public Transit Easier for Kids"> <div class="grid-post-image"> <img width="300" height="200" class="attachment-thumbnail size-thumbnail lazyload" alt="" decoding="async" loading="lazy" data-src="https://cdn10.phillymag.com/wp-content/uploads/sites/3/2023/07/900-septa-kids-300x200.jpg" data-srcset="https://cdn10.phillymag.com/wp-content/uploads/sites/3/2023/07/900-septa-kids-300x200.jpg 300w, https://cdn10.phillymag.com/wp-content/uploads/sites/3/2023/07/900-septa-kids-605x403.jpg 605w, https://cdn10.phillymag.com/wp-content/uploads/sites/3/2023/07/900-septa-kids-115x77.jpg 115w, https://cdn10.phillymag.com/wp-content/uploads/sites/3/2023/07/900-septa-kids-600x400.jpg 600w, https://cdn10.phillymag.com/wp-content/uploads/sites/3/2023/07/900-septa-kids.jpg 900w" data-sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 969px) calc( ( ( 100vw - 30px ) / 3 ) - 35px ), 605px"> </div> <span class="post-title"> <p>4 Ways to Make Public Transit Easier for Kids</p> </span> </a> </div> <div class="grid-post nativo1"></div> <div class="grid-post nativo2"></div> <div class="grid-post nativo3"></div> </div> </div> </article> </div><script type="text/javascript"> if (!window.Zephr) window.Zephr = {}; if (!window.Zephr.outcomes) window.Zephr.outcomes = {}; window.Zephr.outcomes['all-access-page'] = { featureLabel: 'All Access Pages', outcomeId: 'transformation/3', outcomeLabel: 'Remove' }; </script> <div class="sidebar"> <div class="trending-widget"> <div id="toprailsponsor-1" class="gpt-ad toprail-bewell"></div> <h2 class="title-line">Trending</h2> <ol> <li> <h3 class="trending-post-title post-title"> <a href="https://www.phillymag.com/news/2024/04/05/septa-fare-evasion-gates/"> SEPTA’s New “High-Tech” Fare Gates Are Very, Very Easy to Beat </a> </h3> </li> <li> <h3 class="trending-post-title post-title"> <a href="https://www.phillymag.com/news/2024/04/08/philadelphia-crime-shootings-homicide/"> Philadelphia Shootings Have Plummeted to Pre-Pandemic Levels </a> </h3> </li> <li> <h3 class="trending-post-title post-title"> <a href="https://www.phillymag.com/news/2024/04/08/wrestlemania-40-philadelphia/"> 10 Bonkers Things That Happened at WrestleMania 40 </a> </h3> </li> <li> <h3 class="trending-post-title post-title"> <a href="https://www.phillymag.com/news/optimist-guide-philadelphia-future/"> An Optimist’s Guide to Philadelphia </a> </h3> </li> <li> <h3 class="trending-post-title post-title"> <a href="https://www.phillymag.com/news/2024/04/06/allan-domb-philadelphia-economy/"> Why Allan Domb Is Upbeat About Philadelphia’s Economy </a> </h3> </li> </ol> </div> <div id="native_sidebar" class="gpt-ad native_sidebar"></div> |
| 28 |
Error
On line 704, column 40 _sidebar"></div> </div> </div> </div><!-- .col-main --> <div class="three-column-module container"> <h2 class="title-line">IN THIS SECTION</h2> <div class="grid-content with-separator"> <div class="grid-post"><div id="curated_module-1" class="gpt-ad lazyload" data-ad="curated_module-1"></div></div><div class="grid-post"><div id="curated_module-2" class="gpt-ad lazyload" data-ad="curated_module-2"></div></div><div class="grid-post"><div id="curated_module-3" class="gpt-ad lazyload" data-ad="curated_module-3"></div></div> </div> </div> <div id="banner-2" class="gpt-ad lazyload advertisement container" data-ad="banner-2"></div> <footer class="site-footer" role="contentinfo" id="js-footer"> <div class="footer-navigation"><ul id="menu-footer" class="menu-footer-main container"><li id="menu-item-1312111" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-1312111"><a href="https://www.phillymag.com/about-philadelphia-magazine/">About</a></li> <li id="menu-item-1172051" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-1172051"><a href="https://phillymag.com/contact/">Contact</a></li> <li id="menu-item-3545622" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3545622"><a href="https://www.phillymag.com/issues/">Magazine</a></li> <li id="menu-item-1359951" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-1359951"><a href="https://www.phillymag.com/subscribe-to-philadelphia/">Subscribe</a></li> <li id="menu-item-900141" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-900141"><a href="/philadelphia-magazine-media-kit/">Advertise</a></li> <li id="menu-item-3966784" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3966784"><a href="https://metrocorp.cloud.buysub.com/login">Customer Service</a></li> <li id="menu-item-3358026" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3358026"><a href="https://www.phillymag.com/careers/">Careers</a></li> <li id="menu-item-3358028" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3358028"><a href="https://www.phillymag.com/privacy-policy/">Privacy Policy</a></li> </ul></div> <div class="site-footer-inner container"> <a href="https://www.phillymag.com" class="footer-logo"> <span><svg class="mc-icon phillymag-logo" aria-hidden="true"><use xlink:href="/wp-content/themes/metrocorp/images/sprite.svg?ver=87#mc-icon-phillymag-logo"></use></svg></span> <span class="screen-reader-text">Philadelphia Magazine</span> </a> <ul id="menu-social-menu-2" class="menu-footer-social"><li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3357935"><a target="_blank" rel="noopener" href="https://www.facebook.com/philadelphiamagazine"><span class="screen-reader-text">Facebook</span></a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3357936"><a target="_blank" rel="noopener" href="https://www.instagram.com/phillymag/"><span class="screen-reader-text">Instagram</span></a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3357939"><a target="_blank" rel="noopener" href="https://twitter.com/phillymag"><span class="screen-reader-text">Twitter</span></a></li> </ul> <p class="footer-copyright">2024 © Metro Corp. All Rights Reserved.</p> </div> </footer> <div class="container" id="gutter-container"></div> <script type="text/javascript" src="https://cdn10.phillymag.com/wp-content/mu-plugins/metrocorp-zephr/js/blaize-front-end-sdk.min.js?ver=1.0.4" id="blaize-sdk-js" defer></script> <script type="text/javascript" id="metrocorp-zephr-js-extra"> /* <![CDATA[ */ var mcZephr = {"ajaxurl":"https:\/\/www.phillymag.com\/wp-admin\/admin-ajax.php","pageslug":"allan-domb-philadelphia-economy","hbpageurl":"https:\/\/www.phillymag.com\/news\/2024\/04\/06\/allan-domb-philadelphia-economy\/","hbpagename":"Allan Domb Is Upbeat About Philly\u2019s Economy (And You Should Be, Too)","hbportalid":"510637","formId":{"register":"bcb5c500-550a-47a6-bd37-ca98e1557872","meter":"5abdf84d-a6ba-444c-bdc7-8ce82290ccae"},"nonce":{"register":"c2b9b6612d","meter":"5fd0d64bac"},"pushArray":"[]"}; /* ]]> */ </script> <script type="text/javascript" src="https://cdn10.phillymag.com/wp-content/mu-plugins/metrocorp-zephr/js/metrocorp-zephr.js?ver=1.0.4" id="metrocorp-zephr-js" defer></script> <script type="text/javascript" src="https://cdn10.phillymag.com/wp-content/mu-plugins/metrocorp-breakingnewsbanner/assets/js/breaking-news-bar.js?ver=1" id="mc-breaking-news-banner-script-js"></script> <script type="text/javascript" id="metrocorp-js-extra"> /* <![CDATA[ */ var mcGlobal = {"isSingle":"1","directoryName":"Philadelphia Magazine"}; /* ]]> */ </script> <script type="text/javascript" src="https://cdn10.phillymag.com/wp-content/themes/metrocorp/dist/js/metrocorp.min.js?ver=87" id="metrocorp-js" defer></script> <script type="text/javascript" src="https://cdn10.phillymag.com/wp-content/themes/metrocorp/dist/js/metrocorp-secondary.min.js?ver=87" id="metrocorp-secondary-js" defer></script> <script type="text/javascript" src="https://cdn10.phillymag.com/wp-content/mu-plugins/metrocorp-google-tag-manager/assets/js/datalayer-philly-best-restaurants.js?ver=1.0.0" id="mc-datalayer-js" defer></script> <script type="text/javascript" src="https://cdn10.phillymag.com/wp-content/mu-plugins/metrocorp-google-tag-manager/assets/js/datalayer-yaml.js?ver=1.0.0" id="mc-datalayer-yaml-js"></script> <script type="text/javascript" src="https://cdn10.phillymag.com/wp-content/mu-plugins/metrocorp-ads//dist/js/metrocorp-ads-secondary.js?ver=842a0c154e5d9bc4a95b" id="metrocorp-ads-secondary-js" defer></script> <!--[if if lte IE 8]> <script type="text/javascript" src="//js.hsforms.net/forms/v2-legacy.js?ver=1.0.0" id="mc-integrations-hubspot-legacy-js"></script> <![endif]--> <script type="text/javascript" src="//js.hsforms.net/forms/v2.js?ver=1.0.0" id="mc-integrations-hubspot-js"></script> <script type="text/javascript" id="mc-hubspot-subscription-form-js-extra"> /* <![CDATA[ */ var mcHubSpot = {"portalId":"510637","formId":"1eb0cd17-b648-4155-bc2f-9026b5cbb937","isSingle":"true","title":"Allan Domb Is Upbeat About Philly\u2019s Economy (And You Should Be, Too)","vertical":"City Life"}; /* ]]> */ </script> <script type="text/javascript" src="https://cdn10.phillymag.com/wp-content/mu-plugins/metrocorp-hubspot/assets/js/metrocorp-hubspot-subscription-form.js?ver=87" id="mc-hubspot-subscription-form-js" defer></script> <!-- Start of AdCellerant Embed Code --> <script src="https://js.adsrvr.org/up_loader.1.1.0.js" type="text/javascript"></script> <script type="text/javascript"> ttd_dom_ready( function() { if (typeof TTDUniversalPixelApi === 'function') { var universalPixelApi = new TTDUniversalPixelApi(); universalPixelApi.init("1qqfa0h", ["g7kke2y"], "https://insight.adsrvr.org/track/up"); } }); </script> <!-- End of AdCellerant Embed Code --> <link rel="stylesheet" href="//cloud.typography.com/6851996/6329192/css/fonts.css" type="text/css" media="print" onload="this.media='all'"> <div id="bottom-anchor" class="gpt-ad"></div> |
| 29 |
Info
On line 461, column 167 hillymag"> <div id="ad-reveal" class="gpt-ad"></div><div id="under-reveal"></div><div class="header-navigation-spacer"></div> <div class="header-navigation js-header-menu-full" id="js-header-navigation"> <div class="container header-navigation-inner"> <div class="navigation-logo"> <a href="//www.phillymag.com"> <svg class="mc-icon phillymag-logo" aria-hidden="true"><use xlink:href="/wp-content/themes/metrocorp/images/sprite.svg?ver=87#mc-icon-phillymag-logo"></use></svg> </a> </div> <button id="js-mobile-menu-toggle" class="mobile-menu-toggle" aria-hidden="true"> <svg class="mc-icon hamburger" aria-hidden="true"><use xlink:href="/wp-content/themes/metrocorp/images/sprite.svg?ver=87#mc-icon-hamburger"></use></svg> <svg class="mc-icon close" aria-hidden="true"><use xlink:href="/wp-content/themes/metrocorp/images/sprite.svg?ver=87#mc-icon-close"></use></svg> </button> <div class="header-menu-wrapper" id="js-header-navigation-wrapper"> <div class="header-menu"><ul id="menu-primary-menu" class="menu-header-main"><li id="menu-item-3441760" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-3441760"><a href="/find-it-philly-search/">Find It/Philly</a> <ul class="sub-menu"> <li id="menu-item-3441764" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3441764"><a href="/find-a-doctor/">Doctors</a></li> <li id="menu-item-3441765" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3441765"><a href="/dentists/">Dentists</a></li> <li id="menu-item-3556438" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3556438"><a href="/home-design/">Home Design Experts</a></li> <li id="menu-item-3441767" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3441767"><a href="/senior-living/">Senior Living</a></li> <li id="menu-item-3441776" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3441776"><a href="/weddings/">Wedding Experts</a></li> <li id="menu-item-3570068" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3570068"><a href="/real-estate-agents/">Real Estate Agents</a></li> <li id="menu-item-3869015" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3869015"><a href="/private-schools">Private Schools</a></li> <li id="menu-item-3869012" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3869012"><a href="/mortgage-lenders">Mortgage Professionals</a></li> </ul> </li> <li id="menu-item-3357928" class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical current-post-ancestor current-menu-parent current-post-parent menu-item-has-children menu-item-3357928"><a href="https://www.phillymag.com/news">City Life</a> <ul class="sub-menu"> <li id="menu-item-3701551" class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical current-post-ancestor current-menu-parent current-post-parent menu-item-3701551"><a href="https://www.phillymag.com/news">The Latest</a></li> </ul> </li> <li id="menu-item-3357931" class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-has-children menu-item-3357931"><a href="https://www.phillymag.com/foobooz">Restaurants</a> <ul class="sub-menu"> <li id="menu-item-3358386" class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-3358386"><a href="https://www.phillymag.com/foobooz">Foobooz</a></li> <li id="menu-item-3358357" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3358357"><a href="https://www.phillymag.com/foobooz/50-best-restaurants/">50 Best Restaurants</a></li> <li id="menu-item-3357976" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3357976"><a href="https://www.phillymag.com/restaurant-finder/">Restaurant Finder</a></li> <li id="menu-item-3358644" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3358644"><a href="https://www.phillymag.com/foobooz/philadelphia-restaurant-jobs/">Jobs</a></li> </ul> </li> <li id="menu-item-3357934" class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-has-children menu-item-3357934"><a href="https://www.phillymag.com/be-well-philly">Health</a> <ul class="sub-menu"> <li id="menu-item-3357978" class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-3357978"><a href="https://www.phillymag.com/be-well-philly">Be Well Philly</a></li> <li id="menu-item-3357983" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3357983"><a href="https://www.phillymag.com/dentists/">Find a Dentist</a></li> <li id="menu-item-3358174" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3358174"><a href="https://www.phillymag.com/find-a-doctor/">Find a Doctor</a></li> <li id="menu-item-3357984" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3357984"><a href="https://www.phillymag.com/senior-living/">Senior Living</a></li> </ul> </li> <li id="menu-item-3357987" class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-has-children menu-item-3357987"><a href="https://www.phillymag.com/life-style">Life &amp; Style</a> <ul class="sub-menu"> <li id="menu-item-3358017" class="hide-on-desktop menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-3358017"><a href="https://www.phillymag.com/life-style">Life &amp; Style</a></li> </ul> </li> <li id="menu-item-3357997" class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-has-children menu-item-3357997"><a href="https://www.phillymag.com/property">Real Estate &amp; Home</a> <ul class="sub-menu"> <li id="menu-item-3357998" class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-3357998"><a href="https://www.phillymag.com/property">Properties &amp; News</a></li> <li id="menu-item-3358019" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3358019"><a href="/home-design/">Find a Home &amp; Design Pro</a></li> <li id="menu-item-3570077" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3570077"><a href="/real-estate-agents/">Find a Real Estate Agent</a></li> <li id="menu-item-3870342" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3870342"><a href="/mortgage-lenders">Find a Mortgage Professional</a></li> </ul> </li> <li id="menu-item-3358000" class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-has-children menu-item-3358000"><a href="https://www.phillymag.com/things-to-do">Things To Do</a> <ul class="sub-menu"> <li id="menu-item-3357999" class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-3357999"><a href="https://www.phillymag.com/things-to-do">Events in Philly</a></li> <li id="menu-item-3358002" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3358002"><a href="https://www.phillymag.com/events">Philly Mag Events</a></li> </ul> </li> <li id="menu-item-3358004" class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-has-children menu-item-3358004"><a href="https://www.phillymag.com/philadelphia-wedding">Wedding</a> <ul class="sub-menu"> <li id="menu-item-3358006" class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-3358006"><a href="https://www.phillymag.com/philadelphia-wedding">Guides &amp; Advice</a></li> <li id="menu-item-3358022" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3358022"><a href="https://www.phillymag.com/weddings/">Find a Wedding Expert</a></li> <li id="menu-item-4031702" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-4031702"><a href="/bubblybrunch">Bubbly Brunch Event</a></li> </ul> </li> <li id="menu-item-3358008" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3358008"><a href="https://www.phillymag.com/best-of-philly/">Best of Philly</a></li> </ul></div> <div class="header-tablet-elements"> <div class="header-subscribe"> <div class="thin-line"> <span class="screen-reader-text">Subscribe</span> <svg class="mc-icon phillymag-subscribe" aria-hidden="true"><use xlink:href="/wp-content/themes/metrocorp/images/sprite.svg?ver=87#mc-icon-phillymag-subscribe"></use></svg> </div> <ul id="menu-sitenav_left" class="menu-header-subscribe js-menu-zephr"><li id="menu-item-921051" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-921051"><a href="/all-access/">All Access</a></li> <li id="menu-item-3821020" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3821020"><a href="/newsletters">Newsletters</a></li> <li id="menu-item-3703713" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3703713"><a href="/loginphilly">Sign In</a></li> </ul> </div> <div class="header-social"> <div class="thin-line"> <span class="screen-reader-text">Follow</span> <svg class="mc-icon phillymag-follow" aria-hidden="true"><use xlink:href="/wp-content/themes/metrocorp/images/sprite.svg?ver=87#mc-icon-phillymag-follow"></use></svg> </div> <ul id="menu-social-menu" class="menu-header-social"><li id="menu-item-3357935" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3357935"><a target="_blank" rel="noopener" href="https://www.facebook.com/philadelphiamagazine"><span class="screen-reader-text">Facebook</span></a></li> <li id="menu-item-3357936" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3357936"><a target="_blank" rel="noopener" href="https://www.instagram.com/phillymag/"><span class="screen-reader-text">Instagram</span></a></li> <li id="menu-item-3357939" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3357939"><a target="_blank" rel="noopener" href="https://twitter.com/phillymag"><span class="screen-reader-text">Twitter</span></a></li> </ul> </div> </div> </div> <div class="header-search"> <div class="search-form-wrapper" id="js-search-form-wrapper" aria-hidden="true"> <form role="search" method="get" class="search-form" action="https://www.phillymag.com/"> <label> <span class="screen-reader-text">Search for:</span> <input type="search" class="search-field" placeholder="Search …" value="" name="s" title="Search for:"> </label> <button type="submit"> <svg class="mc-icon icon-search" aria-hidden="true"><use xlink:href="/wp-content/themes/metrocorp/images/sprite.svg?ver=87#mc-icon-icon-search"></use></svg> <span class="screen-reader-text">Search</span> </button> </form> </div> <button id="js-toggle-search" aria-expanded="false" aria-controls="js-search-form-wrapper"> <svg class="mc-icon icon-search" aria-hidden="true"><use xlink:href="/wp-content/themes/metrocorp/images/sprite.svg?ver=87#mc-icon-icon-search"></use></svg> <svg class="mc-icon close" aria-hidden="true"><use xlink:href="/wp-content/themes/metrocorp/images/sprite.svg?ver=87#mc-icon-close"></use></svg> </button> </div> </div> </div> <header class="site-header" role="banner" id="js-header"> <div class="site-header-inner container"> <div class="header-social"> <div class="thin-line"> <span class="screen-reader-text">Follow</span> <svg class="mc-icon phillymag-follow" aria-hidden="true"><use xlink:href="/wp-content/themes/metrocorp/images/sprite.svg?ver=87#mc-icon-phillymag-follow"></use></svg> </div> <ul id="menu-social-menu-1" class="menu-header-social"><li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3357935"><a target="_blank" rel="noopener" href="https://www.facebook.com/philadelphiamagazine"><span class="screen-reader-text">Facebook</span></a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3357936"><a target="_blank" rel="noopener" href="https://www.instagram.com/phillymag/"><span class="screen-reader-text">Instagram</span></a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3357939"><a target="_blank" rel="noopener" href="https://twitter.com/phillymag"><span class="screen-reader-text">Twitter</span></a></li> </ul> </div> <div class="header-logo"> <div itemscope itemtype="https://schema.org/Organization"> <a href="https://www.phillymag.com/news"> <svg class="mc-icon phillymag-section-news" aria-hidden="true"><use xlink:href="/wp-content/themes/metrocorp/images/sprite.svg?ver=87#mc-icon-phillymag-section-news"></use></svg> <span class="screen-reader-text">Philadelphia Magazine</span> </a> <span class="section-front-tagline"></span></div> </div> <div class="header-subscribe"> <div class="thin-line"> <span class="screen-reader-text">Subscribe</span> <svg class="mc-icon phillymag-subscribe" aria-hidden="true"><use xlink:href="/wp-content/themes/metrocorp/images/sprite.svg?ver=87#mc-icon-phillymag-subscribe"></use></svg> </div> <ul id="menu-sitenav_left-1" class="menu-header-subscribe js-menu-zephr"><li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-921051"><a href="/all-access/">All Access</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3821020"><a href="/newsletters">Newsletters</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3703713"><a href="/loginphilly">Sign In</a></li> </ul> </div> </div> </header> <div class="mobile-section-front"> <a href="https://www.phillymag.com/news"> <svg class="mc-icon phillymag-section-news" aria-hidden="true"><use xlink:href="/wp-content/themes/metrocorp/images/sprite.svg?ver=87#mc-icon-phillymag-section-news"></use></svg> </a> <span class="section-front-tagline"> </span> </div> <div class="header-navigation-secondary container"><ul id="menu-primary-menu-1" class="menu-topics"><li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-3441760"><a href="/find-it-philly-search/">Find It/Philly</a> <ul class="sub-menu"> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3441764"><a href="/find-a-doctor/">Doctors</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3441765"><a href="/dentists/">Dentists</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3556438"><a href="/home-design/">Home Design Experts</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3441767"><a href="/senior-living/">Senior Living</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3441776"><a href="/weddings/">Wedding Experts</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3570068"><a href="/real-estate-agents/">Real Estate Agents</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3869015"><a href="/private-schools">Private Schools</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3869012"><a href="/mortgage-lenders">Mortgage Professionals</a></li> </ul> </li> <li class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical current-post-ancestor current-menu-parent current-post-parent menu-item-has-children menu-item-3357928"><a href="https://www.phillymag.com/news">City Life</a> <ul class="sub-menu"> <li class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical current-post-ancestor current-menu-parent current-post-parent menu-item-3701551"><a href="https://www.phillymag.com/news">The Latest</a></li> </ul> </li> <li class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-has-children menu-item-3357931"><a href="https://www.phillymag.com/foobooz">Restaurants</a> <ul class="sub-menu"> <li class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-3358386"><a href="https://www.phillymag.com/foobooz">Foobooz</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3358357"><a href="https://www.phillymag.com/foobooz/50-best-restaurants/">50 Best Restaurants</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3357976"><a href="https://www.phillymag.com/restaurant-finder/">Restaurant Finder</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3358644"><a href="https://www.phillymag.com/foobooz/philadelphia-restaurant-jobs/">Jobs</a></li> </ul> </li> <li class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-has-children menu-item-3357934"><a href="https://www.phillymag.com/be-well-philly">Health</a> <ul class="sub-menu"> <li class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-3357978"><a href="https://www.phillymag.com/be-well-philly">Be Well Philly</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3357983"><a href="https://www.phillymag.com/dentists/">Find a Dentist</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3358174"><a href="https://www.phillymag.com/find-a-doctor/">Find a Doctor</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3357984"><a href="https://www.phillymag.com/senior-living/">Senior Living</a></li> </ul> </li> <li class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-has-children menu-item-3357987"><a href="https://www.phillymag.com/life-style">Life &amp; Style</a> <ul class="sub-menu"> <li class="hide-on-desktop menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-3358017"><a href="https://www.phillymag.com/life-style">Life &amp; Style</a></li> </ul> </li> <li class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-has-children menu-item-3357997"><a href="https://www.phillymag.com/property">Real Estate &amp; Home</a> <ul class="sub-menu"> <li class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-3357998"><a href="https://www.phillymag.com/property">Properties &amp; News</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3358019"><a href="/home-design/">Find a Home &amp; Design Pro</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3570077"><a href="/real-estate-agents/">Find a Real Estate Agent</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3870342"><a href="/mortgage-lenders">Find a Mortgage Professional</a></li> </ul> </li> <li class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-has-children menu-item-3358000"><a href="https://www.phillymag.com/things-to-do">Things To Do</a> <ul class="sub-menu"> <li class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-3357999"><a href="https://www.phillymag.com/things-to-do">Events in Philly</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3358002"><a href="https://www.phillymag.com/events">Philly Mag Events</a></li> </ul> </li> <li class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-has-children menu-item-3358004"><a href="https://www.phillymag.com/philadelphia-wedding">Wedding</a> <ul class="sub-menu"> <li class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-3358006"><a href="https://www.phillymag.com/philadelphia-wedding">Guides &amp; Advice</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3358022"><a href="https://www.phillymag.com/weddings/">Find a Wedding Expert</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-4031702"><a href="/bubblybrunch">Bubbly Brunch Event</a></li> </ul> </li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3358008"><a href="https://www.phillymag.com/best-of-philly/">Best of Philly</a></li> </ul></div> <div style="width:1px;height:1px;margin:-1px 0 0 0;padding:0;display:block;"> <div id="skin" class="gpt-ad"></div> </div> <div id="interstitial" class="gpt-ad out-of-page"></div><div id="teads-video-oop" class="gpt-ad out-of-page"></div><div id="bottom-anchor" class="gpt-ad out-of-page"></div> |
| 30 |
Error
On line 830, column 7 ="gpt-ad"></div> <script type="text/javascript"> window.Zephr = window.Zephr || {}; window.Zephr.includeOutcomes = true; window.Zephr.outcomesAsEvents = true; window.Zephr.groupFields = false; (function() { var xhr = new(XMLHttpRequest || ActiveXObject)('MSXML2.XMLHTTP.3.0'); xhr.open('GET', '/blaize/datalayer', true); xhr.onreadystatechange = function() { if (xhr.readyState === 4) { var response; try { response = JSON.parse(xhr.response); } catch (e) { response = xhr.response; } if (xhr.status === 200) { for (var dataLayerFieldName in response) { if (!(dataLayerFieldName in window)) window[dataLayerFieldName] = []; var pageView = response[dataLayerFieldName]; var events = []; if (window.Zephr && window.Zephr.includeOutcomes && window.Zephr.outcomes) { pageView.zephrOutcomes = window.Zephr.outcomes; if (window.Zephr.outcomesAsEvents) { Object.keys(window.Zephr.outcomes || []).forEach(function(outcomeKey) { var outcomeEvent = { event: "zephr-outcome-" + outcomeKey, featureId: outcomeKey, featureLabel: window.Zephr.outcomes[outcomeKey].featureLabel, outcomeId: window.Zephr.outcomes[outcomeKey].outcomeId, outcomeLabel: window.Zephr.outcomes[outcomeKey].outcomeLabel, }; events.push(outcomeEvent); }); } } if (window.Zephr && window.Zephr.accessDetails) { Object.keys((window.Zephr.accessDetails.trials || {})).forEach(function(trialId){ var trial = window.Zephr.accessDetails.trials[trialId] if(trial.reportInDataLayer){ var usedCredits = trial.totalCredits - trial.remainingCredits if (window.Zephr.groupFields && !pageView.zephrTrials) pageView.zephrTrials = {}; var target = window.Zephr.groupFields ? pageView.zephrTrials : pageView if (trial.dataLayerCreditsUsedKey) { target[trial.dataLayerCreditsUsedKey] = usedCredits; } if (trial.dataLayerCreditsRemainingKey) { target[trial.dataLayerCreditsRemainingKey] = trial.remainingCredits; } } }); (window.Zephr.accessDetails.trialTrackingDetails || []).forEach(function(details) { var type = details.entitlementType === 'credits' ? 'credits' : 'meters'; var trial = (window.Zephr.accessDetails[type] || {})[details.entitlementId]; if (!trial) return; if (window.Zephr.groupFields && !pageView.zephrTrials) pageView.zephrTrials = {}; if (details.creditsRemainingKey) { if (window.Zephr.groupFields) { pageView.zephrTrials[details.creditsRemainingKey] = trial.remainingCredits; } else { pageView[details.creditsRemainingKey] = trial.remainingCredits; } } if (details.creditsUsedKey) { if (window.Zephr.groupFields) { pageView.zephrTrials[details.creditsUsedKey] = trial.totalCredits - trial.remainingCredits; } else { pageView[details.creditsUsedKey] = trial.totalCredits - trial.remainingCredits; } } }); try { (Object.keys(window.Zephr.accessDetails.timeTrials || {})).forEach(function(timeTrialId) { var timeTrial = window.Zephr.accessDetails.timeTrials[timeTrialId] if(timeTrial.reportInDataLayer){ if (window.Zephr.groupFields && !pageView.zephrTrials) pageView.zephrTrials = {}; var target = window.Zephr.groupFields ? pageView.zephrTrials : pageView if (timeTrial.dataLayerTrialDurationKey) { target[timeTrial.dataLayerTrialDurationKey] = timeTrial.trialDuration; } if (timeTrial.dataLayerTrialDurationUnitsKey) { target[timeTrial.dataLayerTrialDurationUnitsKey] = timeTrial.trialDurationUnits; } if (timeTrial.dataLayerTrackerEntryTimeKey) { target[timeTrial.dataLayerTrackerEntryTimeKey] = timeTrial.entryTime; } if (timeTrial.dataLayerTrackerHitsKey) { target[timeTrial.dataLayerTrackerHitsKey] = timeTrial.trackerHits; } if (timeTrial.dataLayerTrialTimeRemainingKey) { target[timeTrial.dataLayerTrialTimeRemainingKey] = timeTrial.timeRemainingInTrial; } } }); } catch (err) { console.error("Error aggregating Zephr time trials", err); } } if (Object.keys(pageView).length) { pageView.event = "zephr-pageview"; events.unshift(pageView); } if (!events.length) continue; events.forEach(function(event) { window[dataLayerFieldName].push(event); }); } var readyEvent = document.createEvent('Event'); readyEvent.initEvent('zephr.dataLayerReady', true, true); document.dispatchEvent(readyEvent); } } } xhr.send({}); })(); </script> <script type="text/javascript"> if (!window.Zephr) window.Zephr = {}; window.Zephr.accessDetails = {"isAuthenticated":false,"accessDecisions":{"M3A9uZ":true},"entitlements":{},"credits":{},"meters":{"M3A9uZ":{"isUsedInDecision":true,"isDecrementedInDecision":true,"totalCredits":3,"remainingCredits":2},"yd5xCQ":{"isUsedInDecision":false,"isDecrementedInDecision":false,"totalCredits":3,"remainingCredits":3}},"trials":{},"timeTrials":{},"trialTrackingDetails":[{"creditsUsedKey":"BOSregisteredTrialUsed","creditsRemainingKey":"BOSregisteredTrialRemaining","entitlementId":"8PkFKn","entitlementType":"meter"},{"creditsUsedKey":"PHIunRegisteredTrialUsed","creditsRemainingKey":"PHIunRegisteredTrialRemaining","entitlementId":"M3A9uZ","entitlementType":"meter"},{"creditsUsedKey":"PHIregisteredTrialUsed","creditsRemainingKey":"PHIregisteredTrialRemaining","entitlementId":"X8GVUi","entitlementType":"meter"},{"creditsUsedKey":"BOSunRegisteredTrialUsed","creditsRemainingKey":"BOSunRegisteredTrialRemaining","entitlementId":"yd5xCQ","entitlementType":"meter"}],"testGroups":{"a92a3049-5eae-42b9-a584-32c777aeb20f":"B","3b01d163-59e0-4572-93b2-2ccaee467b4c":"A","a866aafc-5caa-4bfc-968d-3be9056b2733":"B","e00c1d35-cbaa-4515-bdea-241356f6f120":"A"},"activeProducts":[]}; </script> </body> </htm |
| 31 |
Error
On line 3, column 44 ymag.com/?p=4043856>; rel= |
| 32 |
Error
On line 2, column 61 v2/posts/4043856>; rel= |
| 33 |
Error
On line 1, column 36 ymag.com/wp-json/>; rel= |
| 34 |
Error
On line 1, column 36 ymag.com/wp-json/>; rel= |
| 35 |
Error
On line 1, column 36 ymag.com/wp-json/>; rel= |
| 36 |
Error
On line 29, column 105 elphia"> <link rel="canonical" href="https://www.phillymag.com/news/2024/04/06/allan-domb-philadelphia-economy/"> <met |
| 37 |
Info
On line 58, column 31 phy.com"> <script type="text/javascript"> /* <! |
| 38 |
Info
On line 65, column 55 </script> <style id="wp-emoji-styles-inline-css" style="background-color: #ffff80;">type="text/css"> img |
| 39 |
Info
On line 79, column 60 </style> <style id="classic-theme-styles-inline-css" style="background-color: #ffff80;">type="text/css"> /*! T |
| 40 |
Info
On line 83, column 53 </style> <style id="global-styles-inline-css" style="background-color: #ffff80;">type="text/css"> body{ |
| 41 |
Error
On line 84, column 2801 .is-layout-flex){gap: 0.5em;}: |
| 42 |
Error
On line 84, column 2837 .is-layout-grid){gap: 0.5em;}b |
| 43 |
Error
On line 84, column 2918 -inline-start: 0;margin-inline |
| 44 |
Error
On line 84, column 2941 line-end: 2em;}body |
| 45 |
Error
On line 84, column 3015 ne-start: 2em;margi |
| 46 |
Error
On line 84, column 3036 in-inline-end: 0;}body .is-lay |
| 47 |
Error
On line 84, column 3209 -inline-start: 0;margin-inline |
| 48 |
Error
On line 84, column 3232 line-end: 2em;}body |
| 49 |
Error
On line 84, column 3313 ne-start: 2em;margi |
| 50 |
Error
On line 84, column 3334 in-inline-end: 0;}body .is-lay |
| 51 |
Error
On line 84, column 3526 not(.alignfull)){max-width: va |
| 52 |
Error
On line 84, column 3968 .is-layout-flex){gap: 2em;}:wh |
| 53 |
Error
On line 84, column 4019 .is-layout-grid){gap: 2em;}:wh |
| 54 |
Error
On line 84, column 4076 .is-layout-flex){gap: 1.25em;} |
| 55 |
Error
On line 84, column 4136 .is-layout-grid){gap: 1.25em;} |
| 56 |
Error
On line 85, column 54 element-button)){color: inheri |
| 57 |
Error
On line 86, column 46 .is-layout-flex){gap: 1.25em;} |
| 58 |
Error
On line 86, column 106 .is-layout-grid){gap: 1.25em;} |
| 59 |
Error
On line 87, column 40 .is-layout-flex){gap: 2em;}:wh |
| 60 |
Error
On line 87, column 91 .is-layout-grid){gap: 2em;} .w |
| 61 |
Info
On line 92, column 49 ia="all"> <script type="text/javascript" id="gpt-js-extra"> /* <! |
| 62 |
Info
On line 97, column 50 </script> <script type="text/javascript" id="gpt-js-before"> /* <! |
| 63 |
Info
On line 117, column 108 </script> <script type="text/javascript" src="https://securepubads.g.doubleclick.net/tag/js/gpt.js" id="gpt-js" async></scri |
| 64 |
Info
On line 118, column 49 </script> <script type="text/javascript" id="gpt-js-after"> /* <! |
| 65 |
Info
On line 123, column 116 </script> <script type="text/javascript" src="https://static.criteo.net/js/ld/publishertag.js?ver=6.4.3" id="criteo-js" async></scri |
| 66 |
Info
On line 124, column 98 </script> <script type="text/javascript" src="https://s.ntv.io/serve/load.js" id="nativo-tracking-js" async></scri |
| 67 |
Info
On line 125, column 180 </script> <script type="text/javascript" src="https://cdn10.phillymag.com/wp-content/themes/metrocorp-phillymag/countdown-clock/countdown.js?ver=0.4.37" id="phillymag-countdown-js-js" async></scri |
| 68 |
Error
On line 126, column 73 </script> <link rel="https://api.w.org/" href="https://www.phillymag.com/wp-json/"><link |
| 69 |
Error
On line 126, column 180 wp-json/"><link rel="alternate" type="application/json" href="https://www.phillymag.com/wp-json/wp/v2/posts/4043856"><link |
| 70 |
Error
On line 126, column 287 /4043856"><link rel="EditURI" type="application/rsd+xml" title="RSD" href="https://www.phillymag.com/xmlrpc.php?rsd"> <meta |
| 71 |
Error
On line 128, column 66 s 6.4.3"> <link rel="shortlink" href="https://www.phillymag.com/?p=4043856"> < |
| 72 |
Error
On line 168, column 239 LOChSybY"><link rel="icon" href="https://cdn10.phillymag.com/wp-content/uploads/sites/3/2017/10/cropped-phillymag-favicon-32x32.png" sizes="32x32"> <link |
| 73 |
Error
On line 169, column 141 ="32x32"> <link rel="icon" href="https://cdn10.phillymag.com/wp-content/uploads/sites/3/2017/10/cropped-phillymag-favicon-192x192.png" sizes="192x192"> <link |
| 74 |
Error
On line 170, column 137 192x192"> <link rel="apple-touch-icon" href="https://cdn10.phillymag.com/wp-content/uploads/sites/3/2017/10/cropped-phillymag-favicon-180x180.png"> <meta |
| 75 |
Info
On line 191, column 97 </script> <script async type="text/javascript" src="https://www.googletagmanager.com/gtm.js?id=GTM-PLKVN8"></scri |
| 76 |
Info
On line 219, column 101 Code --> <script type="text/javascript" id="hs-script-loader" async defer src="//js.hs-scripts.com/510637.js"></scri |
| 77 |
Info
On line 231, column 31 Code --> <script type="text/javascript"> _link |
| 78 |
Info
On line 235, column 40 tner_id); </script><script type="text/javascript"> (func |
| 79 |
Info
On line 359, column 59 div> <header class="site-header" role="banner" id="js-header"> < |
| 80 |
Info
On line 512, column 6206 magazine.</em></p><script type="text/javascript"> if |
| 81 |
Info
On line 576, column 39 rticle> </div><script type="text/javascript"> if |
| 82 |
Info
On line 641, column 62 "></div> <footer class="site-footer" role="contentinfo" id="js-footer"> <div |
| 83 |
Info
On line 664, column 169 "></div> <script type="text/javascript" src="https://cdn10.phillymag.com/wp-content/mu-plugins/metrocorp-zephr/js/blaize-front-end-sdk.min.js?ver=1.0.4" id="blaize-sdk-js" defer></scri |
| 84 |
Info
On line 665, column 61 </script> <script type="text/javascript" id="metrocorp-zephr-js-extra"> /* <! |
| 85 |
Info
On line 670, column 165 </script> <script type="text/javascript" src="https://cdn10.phillymag.com/wp-content/mu-plugins/metrocorp-zephr/js/metrocorp-zephr.js?ver=1.0.4" id="metrocorp-zephr-js" defer></scri |
| 86 |
Info
On line 671, column 192 </script> <script type="text/javascript" src="https://cdn10.phillymag.com/wp-content/mu-plugins/metrocorp-breakingnewsbanner/assets/js/breaking-news-bar.js?ver=1" id="mc-breaking-news-banner-script-js"></scri |
| 87 |
Info
On line 672, column 55 </script> <script type="text/javascript" id="metrocorp-js-extra"> /* <! |
| 88 |
Info
On line 677, column 149 </script> <script type="text/javascript" src="https://cdn10.phillymag.com/wp-content/themes/metrocorp/dist/js/metrocorp.min.js?ver=87" id="metrocorp-js" defer></scri |
| 89 |
Info
On line 678, column 169 </script> <script type="text/javascript" src="https://cdn10.phillymag.com/wp-content/themes/metrocorp/dist/js/metrocorp-secondary.min.js?ver=87" id="metrocorp-secondary-js" defer></scri |
| 90 |
Info
On line 679, column 200 </script> <script type="text/javascript" src="https://cdn10.phillymag.com/wp-content/mu-plugins/metrocorp-google-tag-manager/assets/js/datalayer-philly-best-restaurants.js?ver=1.0.0" id="mc-datalayer-js" defer></scri |
| 91 |
Info
On line 680, column 180 </script> <script type="text/javascript" src="https://cdn10.phillymag.com/wp-content/mu-plugins/metrocorp-google-tag-manager/assets/js/datalayer-yaml.js?ver=1.0.0" id="mc-datalayer-yaml-js"></scri |
| 92 |
Info
On line 681, column 200 </script> <script type="text/javascript" src="https://cdn10.phillymag.com/wp-content/mu-plugins/metrocorp-ads//dist/js/metrocorp-ads-secondary.js?ver=842a0c154e5d9bc4a95b" id="metrocorp-ads-secondary-js" defer></scri |
| 93 |
Info
On line 685, column 108 endif]--> <script type="text/javascript" src="//js.hsforms.net/forms/v2.js?ver=1.0.0" id="mc-integrations-hubspot-js"></scri |
| 94 |
Info
On line 686, column 74 </script> <script type="text/javascript" id="mc-hubspot-subscription-form-js-extra"> /* <! |
| 95 |
Info
On line 691, column 204 </script> <script type="text/javascript" src="https://cdn10.phillymag.com/wp-content/mu-plugins/metrocorp-hubspot/assets/js/metrocorp-hubspot-subscription-form.js?ver=87" id="mc-hubspot-subscription-form-js" defer></scri |
| 96 |
Info
On line 693, column 78 Code --> <script src="https://js.adsrvr.org/up_loader.1.1.0.js" type="text/javascript"></scri |
| 97 |
Info
On line 694, column 31 </script> <script type="text/javascript"> ttd_ |
| 98 |
Info
On line 705, column 31 d"></div> <script type="text/javascript"> win |
| 99 |
Info
On line 826, column 31 </script> <script type="text/javascript"> if |
| 100 |
Error
On line 491, column 130 <a href="https://www.phillymag.com/category/opinion/" class="post-slug" id="post-rubric" itemprop="articleSection">Opinio |
β