PageSourceSearch

https://www.drugtargetreview.com/aacr-2026-part-two-integrating-ai…y-and-next-gen-therapeutics/2135691.article

html drugtargetreview.com collected 2026-09-24 08:53:42 UTC 188,302 bytes, 3,326 lines download raw bytes

1
2<!DOCTYPE html>
3<html lang="en">
4<head>
5	<meta charset="utf-8">
6<link rel="preload" as="style" href="/Magazine/core.css?p=8039869216058437">
7<link rel="preload" as="script" href="/Magazine/core.js?p=8039869216058437">
8	
9    <link rel="preload" as="image" href="https://dft2fymcn9opj.cloudfront.net/Pictures/480xany/3/1/6/21316_conferencehall_256294.jpg" imagesrcset="https://dft2fymcn9opj.cloudfront.net/Pictures/480xany/3/1/6/21316_conferencehall_256294.jpg 480w,https://dft2fymcn9opj.cloudfront.net/Pictures/600xany/3/1/6/21316_conferencehall_256294.jpg 600w,https://dft2fymcn9opj.cloudfront.net/Pictures/780xany/3/1/6/21316_conferencehall_256294.jpg 780w" imagesizes="(max-width: 1023px) 100vw, 780px" />
10
11	
12	
13
14<script>
15    window.dataLayer = window.dataLayer || [];
16    function gtag() {
17        dataLayer.push(arguments);
18    }
19    gtag("consent", "default", {
20        ad_storage: "denied",
21        ad_user_data: "denied", 
22        ad_personalization: "denied",
23        analytics_storage: "denied",
24        functionality_storage: "denied",
25        personalization_storage: "denied",
26        security_storage: "granted",
27        wait_for_update: 2000,
28    });
29</script>
29
30
31
32<style>
33#cookiePolicy:not(.emailValidationGrace) {display: none !important;}
34</style>
35
36<title>Oncology drug development focuses on clinical translation and systems integration at AACR 2026 | Drug Target Review</title>
37<meta name="description" content="In part two of our AACR 2026 coverage, industry leaders were focussed on how the field is no longer constrained by data generation or molecular design, but by the challenge of connecting systems, standardising workflows and ensuring biological insights." />
38<meta name="viewport" content="width=device-width, initial-scale=1" />
39
40
41<meta name="momentnowdate" content="2026-09-24 09:53:42.277"/>
42<meta name="momentlocale" content="en-gb"/>
43<meta name="momentlocaleformat" content="MMMM DD, yyyy"/>
44<meta name="momentrelative" content="false"/>
45<meta name="momentrelativeformat" content="YYYY,MM,DD"/>
46<meta name="momentrelativemorethan" content="10"/>
47
48	
49    <meta name="robots" content="noarchive" />
50<meta name="pubdate" content="Thu, 11 Jun 2026 12:00 GMT" />
51<link rel="canonical" href="https://www.drugtargetreview.com/aacr-2026-part-two-integrating-ai-spatial-biology-and-next-gen-therapeutics/2135691.article" />
52<meta name="blockthis" content="blockGA" />
53<meta name="showwallpaper" content="true" />
54<meta name="navcode" content="83" />
55<meta name="primarynavigation" content="Home" />
56    <meta property="og:title" content="AACR 2026 part two: integrating AI, spatial biology and next-gen therapeutics" />
57<meta property="og:type" content="Article" />
58<meta property="og:url" content="https://www.drugtargetreview.com/aacr-2026-part-two-integrating-ai-spatial-biology-and-next-gen-therapeutics/2135691.article" />
59<meta property="og:site_name" content="Drug Target Review" />
60<meta property="og:description" content="In part two of our AACR 2026 coverage, industry leaders were focussed on how the field is no longer constrained by data generation or molecular design, but by the challenge of connecting systems, standardising workflows and ensuring biological insights." />
61<meta property="og:image:width" content="1024" />
62<meta property="og:image:height" content="536" />
63<meta property="og:image" content="https://dft2fymcn9opj.cloudfront.net/Pictures/1024x536/3/1/6/21316_conferencehall_256294.jpg" />
64<meta property="og:image:alt" content="Conference Hall" />
65<meta property="og:image" content="https://dft2fymcn9opj.cloudfront.net/Pictures/1024x536/3/1/7/21317_revolutionmedicinesbooth2_136700.jpg" />
66<meta property="og:image:alt" content="Revolution Medicines Booth 2" />
67<meta property="og:image" content="https://dft2fymcn9opj.cloudfront.net/Pictures/1024x536/3/1/9/21319_cellcelectorsartoriusimage3_198199.jpg" />
68<meta property="og:image:alt" content="CellCelector Sartorius Image 3" />
69<meta property="og:image" content="https://dft2fymcn9opj.cloudfront.net/Pictures/1024x536/3/2/0/21320_crownbiosciencebooth_643000.jpg" />
70<meta property="og:image:alt" content="Crown Bioscience Booth" />
71<meta property="og:image" content="https://dft2fymcn9opj.cloudfront.net/Pictures/1024x536/3/2/1/21321_miltenyibooth_28793.jpg" />
72<meta property="og:image:alt" content="Miltenyi Booth" />
73
74<meta property="twitter:card" content="summary_large_image" />
75<meta property="twitter:title" content="AACR 2026 part two: integrating AI, spatial biology and next-gen ..." />
76<meta property="twitter:description" content="In part two of our AACR 2026 coverage, industry leaders were focussed on how the field is no longer constrained by data generation or molecular design, but by the challenge of connecting systems, standardising workflows and ensuring biological insights." />
77<meta property="twitter:image:src" content="https://dft2fymcn9opj.cloudfront.net/Pictures/1120xAny/3/1/6/21316_conferencehall_256294.jpg" />
78<meta property="twitter:image:alt" content="Conference Hall" />
79
80	
81<link rel="icon" href="/magazine/dest/graphics/favicons/favicon-32x32.png" />
82<!--[if IE]><link rel="shortcut icon" href="/magazine/dest/graphics/favicons/favicon.ico" /><![endif]-->
83<link rel="apple-touch-icon-precomposed" href="/magazine/dest/graphics/favicons/apple-touch-icon-precomposed.png" />
84<meta name="msapplication-TileImage" content="/magazine/dest/graphics/favicons/mstile-144x144.png" />
85<meta name="msapplication-TileColor" content="#ffffff" />
86	
87	<link href="/Magazine/core.css?p=8039869216058437" rel="stylesheet" type="text/css">
88<link href="/Magazine/print.css?p=8039869216058437" rel="stylesheet" type="text/css" media="print">
89
90
91	
92<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.4.1/jquery.min.js" integrity="sha256-CSXorXvZcTkaix6Yvo6HppcZGetbYMGWSFlBw8HfCJo=" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
92
93	
94<script>var newLang={"more":{"default":"Show more","searchtype":"Show more","searchdates":"Show more"},"less":{"default":"Show fewer","searchtype":"Show fewer","searchdates":"Show fewer"},"show":{"default":"show"},"hide":{"default":"hide"},"caption":{"show":"show caption","hide":"hide caption"},"carousel":{"play":"play slideshow","pause":"pause slideshow"}};</script>
94
95	
96    
97
98	
98<script type="text/javascript">
99					var IPState = {
100					
101						useripstate: false,
102						useripname: ''
103						
104					};
105				</script>
105
106<script type="text/javascript">
107          
108					window.dataLayer = window.dataLayer || [];
109					window.dataLayer.push({'StoryID':'2135691'});
110					window.dataLayer.push({'StoryFormatProperty':'N'});
111					
112					window.dataLayer.push({'StoryCategories':'|Drug Discovery|Oncology|Lab Tools &amp; Automation|Translational Science|Imaging &amp; Diagnostics|Immunotherapy|Drug Development|Artificial Intelligence (AI)|Biologics|Antibody-Drug Conjugates (ADCs)|Featured content|Topics|'});
113					
114					window.dataLayer.push({'StoryLayout':'Standard'});
115					window.dataLayer.push({'StoryWidth':'standard width'});
116					
117					
118					window.dataLayer.push({'StoryLayoutCode':'1'});
119					
120					window.dataLayer.push({'StoryFormatCode':'1120'});
121					
122					window.dataLayer.push({'StoryTypeCode':'1019'});
123					
124					window.dataLayer.push({'StoryCategoriesCodes':'|256007|256129|256201|256346|256653|256852|257227|257419|265348|336940|429898|429916|'});
125					
126					window.dataLayer.push({'StoryFullNavPath':'null'});
127					       
128					window.dataLayer.push({'UserID':undefined});
129					window.dataLayer.push({'NavCode':'83'});
130					window.dataLayer.push({'MicrositeNavCode':'-1'});
131					window.dataLayer.push({'NavKey':'83'});
132          
133          window.dataLayer.push({'NavigationAreaNavCode':'83'});
134          </script>
134
135<script type="text/javascript">
136window.dataLayer.push({'AccessQualificationTypeName':'Free access (anonymous users)'});
137window.dataLayer.push({'AccessProductCode':'P_000008'});
138window.dataLayer.push({'AccessProductName':'Drug Target Review - Registered Metered'});
139window.dataLayer.push({'AccessCount':'1'});
140</script>
140
141<script type="text/javascript">
142	window.dataLayer.push({'experiencestate': undefined});
143	window.dataLayer.push({'grecaptcha':'6Le-x24sAAAAAAFTtptw3191t6rlQRS0IBpCrzvy'});
144	window.dataLayer.push({'UserStateLoggedIn':'False'});
145	window.dataLayer.push({'FullNavPath':'|82|83|'});	
146</script>
146
147	<link rel="preconnect" href="https://fonts.googleapis.com">
148<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
149<link href="https://fonts.googleapis.com/css2?family=Mulish:ital,wght@0,200..1000;1,200..1000&family=Titillium+Web:ital,wght@0,400;0,700;1,400;1,700&display=swap" rel="stylesheet">
150<!-- PROMO -->
151<style>
152.desktopNavigation ul.main>li.highlight:not(.current)>a>span{
153    background-color: #e1f4fd;
154    color: #0098d6;
155    border-right: 4px solid #fff;
156    border-left: 4px solid #fff;
157}
158
159.desktopNavigation ul.main>li.highlight:not(.current)>a>span:after,
160.desktopNavigation ul.main>li.highlight:not(.current)>a>span:before{
161filter: brightness(0) saturate(100%) invert(40%) sepia(87%) saturate(1070%) hue-rotate(166deg) brightness(93%) contrast(101%);
162}
163/*RPCS-134: Webinar dates shown after byline*/
164	.byline.meta.eventDate > div {
165		display: inline-block; margin: 5px 10px 0 0;
166	}
167	.byline.meta.eventDate .leadgen-icon {	
168		display: inline-block; background-repeat: no-repeat;
169		background-image: url("https://core-test.abasoftaws.co.uk/css/dest/graphics/output/sprite.css-b8e397a9.svg "); margin-right: 5px;
170	}
171	.byline.meta.eventDate .leadgen-webinar-date .leadgen-icon {
172		background-position: -288px -232px; width: 12px; height: 12px;
173	}
174	.byline.meta.eventDate .leadgen-webinar-time .leadgen-icon {
175		background-position: -449px -350px; width: 16px; height: 14px;
176	}
177	.byline.meta.eventDate .endDate.visible:before, .byline.meta.eventDate .endTime.visible:before {
178		content: "-"; padding-right: 4px; margin-left: 4px;
179	}
180	/*End RPCS-134*/
181	
182	section.promo-wrapper {
183		width: 100%;
184		container-type: inline-size;
185	}
186
187	.promo {
188		border-top: 0 solid;
189		height: fit-content;
190		padding: 0;
191		font-family: Mulish, sans-serif;
192		border-radius: 8px;
193		background-color: #0098D6;
194		margin-bottom: 0;
195		display: grid;
196		grid-template-columns: repeat(12, 1fr);
197		grid-template-rows: 1fr;
198		grid-column-gap: 0px;
199		grid-row-gap: 0px;
200	}
201
202	.promo h1,
203	.promo h2,
204	.promo h3,
205	.promo h4,
206	.promo h5 {
207		font-family: Titillium Web, sans-serif;
208	}
209
210	.promo div,
211	.promo p {
212		margin-bottom: 16px;
213	}
214
215
216	.promo .button {
217		font-family: Titillium Web, sans-serif;
218
219	}
220	.promo .promo-details .small-text,
221	.promo .small-text {
222		font-size: 0.889rem;
223		line-height: 1.266rem;
224	}
225
226
227	.promo-image {
228		padding: 24px;
229		border-top-left-radius: 8px;
230		border-bottom-left-radius: 8px;
231		max-width: 590px;
232		width: 100%;
233		background-repeat: no-repeat;
234		background-size: cover;
235		margin: 0;
236		grid-area: 1 / 1 / 2 / 7;
237		min-height:380px;
238	}
239
240
241	.promo-details.dark {
242		grid-area: 1 / 1 / 1 / 13;
243	}
244
245	.promo-image+.promo-details.dark {
246		grid-area: 1 / 7 / 2 / 13;
247		border-top-left-radius: 0;
248		border-bottom-left-radius: 0;
249	}
250
251	.promo-details {
252		padding: 24px;
253	}
254
255	.promo-details.dark {
256		color: #fff;
257		background-color: #0098D6;
258		border-radius: 8px;
259	}
260
261	.promo .promo-details.dark .promo-tag {
262		font-size: 0.889rem;
263		margin-bottom: 16px;
264		color: #B9E5FB;
265	}
266
267	.promo .promo-details.dark .promo-details-content h2 {
268		color: #fff;
269		font-size: 1.602rem;
270		line-height: 2.027rem;
271
272	}
273
274	.promo .promo-details a.button {
275		border-radius: 5px;
276		font-size: .889rem;
277		font-weight: 700;
278		font-family: Titillium Web, sans-serif;
279		text-transform: none;
280		text-align: center;
281		color: #fff;
282		background-color: #0098D6;
283		transition: background-color .25s ease-in;
284		margin-top: 0;
285		display: inline-block;
286		margin-bottom: 0;
287		padding: 7px 16px;
288		cursor: pointer;
289		background-color: transparent;
290	}
291
292	.promo .promo-details.dark a.ghost-style {
293		border: 1px solid #fff;
294
295	}
296
297	.promo .promo-details.dark a.ghost-style:hover {
298		background-color: #fff;
299		color: #0098D6;
300	}
301
302	.promo .promo-details ul {
303		list-style: none;
304		padding: 0;
305	}
306
307	.promo .promo-details ul li {
308		line-height: 24px;
309		margin-bottom: 8px;
310		position: relative;
311		padding-left: 18px;
312		font-size:16px;
313	}
314
315	.promo .promo-details ul li:before { 
316		content: '';
317		border-style: solid;
318		border-color: #871F80;
319		border-width: 0.15em 0.15em 0 0;
320		display: inline-block;
321		height: 0.45em;
322		left: 0;
323		position: absolute;
324		top: 8px;
325		transform: rotate(45deg);
326		width: 0.45em;
327
328	}
329
330	.promo .promo-details.dark ul li:before {
331		border-color: #fff;
332	}
333
334	.promo .promo-details ul li:last-child {
335		margin-bottom: 0px;
336	}
337
338	.promo:has(.promo-details.light) .promo-details.dark {
339		grid-area: 1 / 1 / 2 / 7;
340		margin-bottom:0;
341	}
342
343	.promo-details.dark+.promo-details.light {
344		grid-area: 1 / 7 / 2 / 13;
345	}
346
347	/*light promo details  */
348	.promo .promo-details.light {
349		background-color: #fafafa;
350		border-top-right-radius: 8px;
351		border-bottom-right-radius: 8px;
352		color: #0098D6;
353	}
354	.promo .promo-details.light h3 {
355		color: #0098D6;
356	}
357	.promo .promo-details.light a.ghost-style {
358		border: 1px solid #871F80;
359		color: #871F80;
360	}
361
362	.promo .promo-details.light a.ghost-style:hover {
363		background-color: #871F80;
364		color: #fff;
365	}
366
367	.promo .promo-image,
368	.promo>*:last-child,
369	.promo-details.dark>*:last-child,
370	.promo-details.light>*:last-child,
371	.promo-details.dark+.promo-details.light .promo-details-content:last-child,
372	.promo .promo-details.dark .promo-details-content>*:last-child,
373	.promo .promo-details.light .promo-details-content>*:last-child {
374		margin-bottom: 0;
375	}
376
377
378	@container (max-width: 450px) {
379		section .promo {
380			grid-template-columns: 1fr;
381			grid-template-rows: repeat(8, auto);
382		}
383
384		.promo-image {
385			grid-area: 1 / 1 / 5 / 2;
386			width: auto;
387
388			border-top-right-radius: 8px;
389
390			border-bottom-left-radius: 0;
391			min-height:192px;
392		}
393
394		.promo-details.dark {
395			grid-area: 1 / 1 / 9 / 2;
396		}
397
398		.promo-image+.promo-details.dark {
399			grid-area: 5 / 1 / 9 / 2;
400			border-bottom-left-radius: 8px;
401		}
402
403		.promo:has(.promo-details.light) .promo-details.dark {
404			grid-area: 1 / 1 / 4 / 2;
405		}
406
407		.promo-details.dark+.promo-details.light {
408			grid-area: 5 / 1 / 9 / 2;
409			border-top-right-radius: 0px;
410			border-bottom-left-radius: 8px;
411		}
412	}
413	@media screen and (min-width: 768px) {
414		.promo .promo-details address p, 
415		.promo .promo-details dl, 
416		.promo .promo-details ol li,		
417		.promo .promo-details ul li,  
418		.promo .promo-details p, 
419		.promo .promo-detailsul li {
420			font-size: 16px;
421		}
422	}
423</style>
424<!-- END PROMO -->
425
426<style>
427.grecaptcha-badge {
428visibility: hidden;
429}
430</style>
431
432
433<script>
434	function getDataLayerVal(keyVal) {
435		for (var i = 0; i < window.dataLayer.length; i++) {
436			if (dataLayer[i][keyVal] !== undefined) {
437				return dataLayer[i][keyVal];
438			}
439		}
440	}
441
442/*
443	if(typeof getDataLayerVal === 'function'){ //PWVD-1410: Update login status across tabs
444		const bc = new BroadcastChannel('loginCheck');
445		var loggedIn = false, partyId = parseInt( getDataLayerVal('UserID') );
446		if( partyId && !isNaN(partyId) ) loggedIn = true;
447
448		if(loggedIn){ 
449			bc.postMessage( {loginRefresh: true} );
450			bc.close();
451		}
452		else if(!loggedIn){
453			bc.onmessage = function(ev) {
454				if (ev.data && ev.data.loginRefresh === true){
455					location.reload();
456					bc.close();
457				}
458			};
459		}
460	}
461*/
462</script>
462
463
464
465
466<script>
467window.iabConfig = {
468  allowedVendors: [
469    755, // Google
470    49   // LinkedIn
471  ]
472}
473</script>
473
474
475
476<!-- Abacus Google Tag Manager -->
477<script>
vendor: 327 bytes, lines 477-481
477(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
478new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
479j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
480'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
481})(window,document,'script','dataLayer','
481GTM-N334KSM2
vendor: 3 bytes, line 481
481');
481</script>
481
482<!-- Abacus End Google Tag Manager -->
483
484<!--  Google Tag Manager -->
485<script>
vendor: 327 bytes, lines 485-489
485(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
486new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
487j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
488'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
489})(window,document,'script','dataLayer','
489GTM-KM6ZDN2
vendor: 3 bytes, line 489
489');
489</script>
489
490<!--  End Google Tag Manager -->
491
492
493<script id="cookieyes" type="text/javascript" src="https://cdn-cookieyes.com/client_data/2beda41e37a36abcca20d59a1eccf437/script.js"></script>
493
494
495
496<!-- Google AdSense
497<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8923463638765656"
498     crossorigin="anonymous"></script>
498
499End Google AdSense -->
500
501<!-- OneSignal Global Head Tag -->
502<script src="https://cdn.onesignal.com/sdks/web/v16/OneSignalSDK.page.js" defer></script>
vendor: 1 bytes, line 502
502
503<script>
504  window.OneSignalDeferred = window.OneSignalDeferred || [];
505  OneSignalDeferred.push(async function(OneSignal) {
506    await OneSignal.init({
507      appId: "ef205720-1780-4939-bf29-1bf36ec3b684",
508    });
509  });
510</script>
510
511<!-- End OneSignal Global Head Tag -->
512
513
514<!-- hub ad removal -->
515<script type="text/javascript">
516var currentPath = window.location.pathname;
517
518var hideLeaderboard =
519    currentPath === '/knowledge-hub' ||
520    currentPath.indexOf('/knowledge-hub/') === 0 ||
521    currentPath === '/dtr-directory' ||
522    currentPath.indexOf('/dtr-directory/') === 0 ||
523    currentPath === '/knowledgehub-search' ||
524    currentPath.indexOf('/knowledgehub-search/') === 0;
525
526if (hideLeaderboard) {
527    document.documentElement.className += ' hide-leaderboard';
528}
529</script>
529
530
531<style type="text/css">
532.hide-leaderboard .leaderboard {
533    display: none !important;
534}
535</style>
536
537	
538
539<script>
540	var EnhancedAdvertisingConfig = {};
541</script>
541
542
543<!--Global Enhanced Adverts JSON definition from PAGETEXT-->
544<script>
545EnhancedAdvertisingConfig = {
546	"Refresh":false,
547	"RefreshDelaySecondsDefaultDesktop":30,
548	"RefreshDelaySecondsDefaultMobile":30,
549
550	"StoryDynamicSlotsAddGroupsAll":"Ads,Widgets", 
551	"StoryDynamicSlotsAddGroupsInline":"", 
552	"StoryDynamicSlotsAddGroupsRHC":"",
553	"StoryDynamicSlotsRemoveGroupsAll":"", 
554	"StoryDynamicSlotsRemoveGroupsInline":"", 
555	"StoryDynamicSlotsRemoveGroupsRHC":"",
556
557	"StoryDynamicSlotsRepeat":true,
558	"StoryDynamicSlotsDesktopMaxInlineSlots":10,
559	"StoryDynamicSlotsMobileMaxInlineSlots":10,
560	"StoryDynamicSlotsDesktopMaxRHCSlots":20,
561	"StoryDynamicSlotsMobileMaxRHCSlots":10,
562	"StoryDynamicSlotsDesktopElementSpacingFirst":3,
563	"StoryDynamicSlotsMobileElementSpacingFirst":3,
564	"StoryDynamicSlotsDesktopElementSpacing":3,
565	"StoryDynamicSlotsMobileElementSpacing":3,
566
567	"GAMAdUnitSizesInlineMobileDefault":[[300,250]],
568	"GAMAdUnitSizesInlineDesktopDefault":[[300,250],[300,600]],
569	"GAMAdUnitSizesRHCDefault":[[300,250],[300,600]],
570
571	"RHCMinHeightForSlotInsert":270,
572	"RHCMinHeightForStickyAd":550,
573
574	"CollapseEmptyDivs":true,
575
576	"Slots":[
577		{
578			"Type":"GAMAdvert",
579			"Position":"PreferRight",
580			"Group":"Ads",		
581			"AdUnit":"/xxx/DemoAdvertA",		
582			"RefreshDelaySeconds":30,
583			"Sticky":false,
584			"Repeat":false,
585			"Refresh":false,
586			"InsertIfNoRHCSpace":true,
587			"AdUnitSizesInlineDesktop":[[300,250]],
588			"AdUnitSizesInlineMobile":[[300,250]],
589			"AdUnitSizesRHC":[[300,600]],
590			"NoBackfill":true,
591			//"CSSClass":"wvc-custom-ad",
592			"ExtraHTML":"<div class=\"ad-text\">Advert</div>"
593		},
594		{
595			"Type":"GAMAdvert",
596			"Position":"Inline",
597			"Group":"Ads",		
598			"AdUnit":"/xxx/DemoAdvertB",		
599			"RefreshDelaySeconds":30,
600			"Sticky":false,
601			"Repeat":true,
602			"Refresh":false,
603			"InsertIfNoRHCSpace":true,
604			"AdUnitSizesInlineDesktop":[[300,250]],
605			"AdUnitSizesInlineMobile":[[300,250]],
606			"AdUnitSizesRHC":[[300,600]],
607			"NoBackfill":true,
608			//"CSSClass":"wvc-custom-ad",
609			"ExtraHTML":"<div class=\"ad-text\">Advert</div>"
610		},
611		{
612			"Type":"CustomContent",
613			"Position":"Right",
614			"Sticky":true,
615			"Group":"Widgets",
616			"Repeat":false,
617			"InsertIfNoRHCSpace":true,
618			"HTML":"<div class=\"tab-widget-7\" data-ajax-load-content=\"\" data-cache-bust=\"true\" data-url=\"/ajax/most?cachetoken=1&wid=12\"></div>",
619			"CustomEventName":"MostPopularWidgetInit",
620			"Javascript":function(elem,container,slotconfig,adcounter,counter,repeat){
621				$(window).trigger('abacus:readjusrhcheight',[event, elem]);
622			},
623			"CSSClass":"wvc-custom-widget-mostpopular",
624			"MinHeight":700
625		},
626		{
627			"Type":"GAMAdvert",
628			"Position":"Right",
629			"Group":"Ads",		
630			"AdUnit":"/xxx/DemoAdvertB",		
631			"RefreshDelaySeconds":30,
632			"Sticky":true,
633			"Repeat":false,
634			"Refresh":false,
635			"InsertIfNoRHCSpace":true,
636			"AdUnitSizesInlineDesktop":[[300,250]],
637			"AdUnitSizesInlineMobile":[[300,250]],
638			"AdUnitSizesRHC":[[300,250],[300,600]],
639			//"CSSClass":"wvc-custom-ad",
640			"ExtraHTML":"<div class=\"ad-text\">Advert</div>"
641		},
642		{
643			"Type":"GAMAdvert",
644			"Position":"Right",
645			"Group":"Ads",		
646			"AdUnit":"/xxx/DemoAdvertB",		
647			"RefreshDelaySeconds":30,
648			"Sticky":true,
649			"Repeat":true,
650			"Refresh":false,
651			"InsertIfNoRHCSpace":false,
652			"AdUnitSizesInlineDesktop":[[300,250]],
653			"AdUnitSizesInlineMobile":[[300,250]],
654			"AdUnitSizesRHC":[[300,250]],
655			//"CSSClass":"wvc-custom-ad",
656			"ExtraHTML":"<div class=\"ad-text\">Advert</div>"
657		}
658	],
659
660	"Overrides":[
661
662		{
663		//If Type - my type 
664			"Conditions":"StoryType-1",
665			"Settings":{
666				"DesktopMaxInlineSlots":1,
667				"DesktopElementSpacingFirst":1000000
668			}
669		},
670		{
671		//If Category="Slots (all) - Off"
672			"Conditions":"StoryCategoriesCodes-99999991",
673			"Operator":"And",
674			"Settings":{			
675				"RemoveGroupsAll":"Ads"				
676			}
677		},
678		{
679		//If Category="Slots (RHC) - Off"
680			"Conditions":"StoryCategoriesCodes-99999992",
681			"Operator":"And",
682			"Settings":{			
683				"RemoveGroupsRHC":"Ads,Widgets"				
684			}
685		},
686		{
687		//If Category="Slots (inline) - Off"
688			"Conditions":"StoryCategoriesCodes-99999993",
689			"Operator":"And",
690			"Settings":{			
691				"RemoveGroupsInline":"Ads,Widgets"				
692			}
693		},
694		{
695		//If Category="Advert slots (all) - Off"
696			"Conditions":"StoryCategoriesCodes-99999994",
697			"Operator":"And",
698			"Settings":{			
699				"RemoveGroupsAll":"Ads"				
700			}
701		},
702		{
703		//If Category="Advert slots (RHC) - Off"
704			"Conditions":"StoryCategoriesCodes-99999995",
705			"Operator":"And",
706			"Settings":{			
707				"RemoveGroupsRHC":"Ads"				
708			}
709		},
710		{
711		//If Category="Advert slots (inline) - Off"
712			"Conditions":"StoryCategoriesCodes-99999996",
713			"Operator":"And",
714			"Settings":{			
715				"RemoveGroupsInline":"Ads"				
716			}
717		}
718	]
719}
720</script>
720
721
722<script>
723	$(window).trigger("wvcfe:globalenhancedadvertsinit", [event, EnhancedAdvertisingConfig]);
724	(function(w, d) {
725	if(window.NodeList && !NodeList.prototype.forEach) {
726		NodeList.prototype.forEach = Array.prototype.forEach;
727	}
728	d.addEventListener('DOMContentLoaded', function(event) {
729		if(EnhancedAdvertisingConfig.Slots) {
730			var enhAdDebug = false;
731			if( localStorage.getItem('enh-ads-debug') == 'true' ) enhAdDebug = true;
732			var sp = 'story-inlinecontent-placeholder';
733			var supportedTypes = ['gamadvert', 'customcontent'];
734			var supportedPositions = ['inline', 'preferright', 'right'];
735			var isDesktopResolution = w.matchMedia("screen and (min-width: 1023px)").matches;
736			var isStoryFullLayout = d.body.classList.contains('story-full-layout');
737			var inlineCounter = 1;
738			var rhcCounter = 1;
739			var inlineAdCounter = 1;
740			var rhcAdCounter = 1;
741			var ticking = false;
742			$('#story.enhanced-advertising .storytext > div.webonly').each( function(){
743				var t = $(this);
744				t.replaceWith( t.html() );
745			});
746			var storyCustomContentPlaceholders = d.querySelectorAll('#story.enhanced-advertising .storytext > *:not(script,style)');
747			var maxRHCSlotsToFitIn = 0;
748			var matches = function(el, selector) { return (el.matches || el.matchesSelector || el.msMatchesSelector || el.mozMatchesSelector || el.webkitMatchesSelector || el.oMatchesSelector).call(el, selector); };
749			var getClosestParent = function(elem, selector) {
750				for(; elem && elem !== d; elem = elem.parentNode) {
751					if(matches(elem, selector)) {
752						return elem;
753					}
754				}
755				return null;
756			};
757
758			var storyType = dataLayer ? dataLayer.filter(function(el) { return el && el.StoryTypeCode && el.StoryTypeCode != 'null'; }).map(function(el) { return 'StoryType-' + el.StoryTypeCode; }).join('') : '';
759			var storyFormat = dataLayer ? dataLayer.filter(function(el) { return el && el.StoryFormatCode && el.StoryFormatCode != 'null'; }).map(function(el) { return 'StoryFormat-' + el.StoryFormatCode; }).join('') : '';
760			var storyLayout = dataLayer ? dataLayer.filter(function(el) { return el && el.StoryLayoutCode && el.StoryLayoutCode != 'null'; }).map(function(el) { return 'StoryLayout-' + el.StoryLayoutCode; }).join('') : '';
761
762			//PWVD-780
763			var storyWidth = dataLayer ? dataLayer.filter(function(el) { return el && el.StoryWidth && el.StoryWidth != 'null'; }).map(function(el) { return 'StoryWidth-' + el.StoryWidth; }).join('') : '';
764
765			var storyFullNavPath = dataLayer ? dataLayer.filter(function(el) { return el && el.StoryFullNavPath && el.StoryFullNavPath != 'null'; }).map(function(el) { return el.StoryFullNavPath; }).join('').split('|').filter(function(el) { return el && el != 'null'; }).join('-') : '';
766			var storyCategoriesCodes = dataLayer ? dataLayer.filter(function(el) { return el && el.StoryCategoriesCodes && el.StoryCategoriesCodes != 'null'; }).map(function(el) { return el.StoryCategoriesCodes; }).join('').split('|').filter(function(el) { return el && el != 'null'; }).map(function(el) { return 'StoryCategoriesCodes-' + el; }) : [];
767			var storyID = dataLayer ? dataLayer.filter(function(el) { return el && el.StoryID && el.StoryID != 'null'; }).map(function(el) { return 'StoryID-' + el.StoryID; }).filter(function(el) { return el && el != 'null' && el != 'StoryID-'; }).join('') : '';
768			storyFullNavPath = (storyFullNavPath ? 'StoryFullNavPath-' + storyFullNavPath : '');
769			var allDataLayerFilters = storyCategoriesCodes.concat([storyType, storyFormat, storyLayout, storyWidth, storyFullNavPath, storyID]).map(function(m) { return m.toLowerCase(); });
770
771			EnhancedAdvertisingConfig.RHCMinHeightForSlotInsert = (EnhancedAdvertisingConfig.RHCMinHeightForSlotInsert || 800);
772			EnhancedAdvertisingConfig.RHCMinHeightForStickyAd = (EnhancedAdvertisingConfig.RHCMinHeightForStickyAd || 250);
773
774			if('Overrides' in EnhancedAdvertisingConfig) {
775				if(EnhancedAdvertisingConfig.Overrides) {
776					var overrides = EnhancedAdvertisingConfig.Overrides;
777					var andOperator = function() {
778						return (override.Conditions.toLowerCase().split(',').filter(function(el) { return el && el; }).every(function(el) { return allDataLayerFilters.indexOf(el) != -1; }));
779					};
780					var orOperator = function(el) {
781						return (override.Conditions.toLowerCase().split(',').filter(function(el) { return el && el; }).some(function(el) { return allDataLayerFilters.indexOf(el) != -1; }));
782					};
783					for(var i = 0, iL = overrides.length; i < iL; i++) {
784						var override = overrides[i];
785						var operatorFilter;
786						if(override.Operator && override.Operator.toLowerCase() == 'and') {
787							operatorFilter = andOperator;
788						}
789						else {
790							operatorFilter = orOperator;
791						}
792						if(operatorFilter()) {
793							if('Settings' in override) {
794								if(override.Settings) {
795									var settings = override.Settings;
796									if('AddGroupsAll' in settings && settings.AddGroupsAll && isString(settings.AddGroupsAll)) {
797										if(settings.AddGroupsAll.toLowerCase().toLowerCase().indexOf('[all]') != -1) {
798											EnhancedAdvertisingConfig.StoryDynamicSlotsAddGroupsAll = '[all]';
799										}
800										else {
801											EnhancedAdvertisingConfig.StoryDynamicSlotsAddGroupsAll += ',' + settings.AddGroupsAll.toLowerCase();
802										}
803									}
804									if('AddGroupsInline' in settings && settings.AddGroupsInline && isString(settings.AddGroupsInline)) {
805										if(settings.AddGroupsInline.toLowerCase().toLowerCase().indexOf('[all]') != -1) {
806											EnhancedAdvertisingConfig.StoryDynamicSlotsAddGroupsInline = '[all]';
807										}
808										else {
809											EnhancedAdvertisingConfig.StoryDynamicSlotsAddGroupsInline += ',' + settings.AddGroupsInline.toLowerCase();
810										}
811									}
812									if('AddGroupsRHC' in settings && settings.AddGroupsRHC && isString(settings.AddGroupsRHC)) {
813										if(settings.AddGroupsRHC.toLowerCase().toLowerCase().indexOf('[all]') != -1) {
814											EnhancedAdvertisingConfig.StoryDynamicSlotsAddGroupsRHC = '[all]';
815										}
816										else {
817											EnhancedAdvertisingConfig.StoryDynamicSlotsAddGroupsRHC += ',' + settings.AddGroupsRHC.toLowerCase();
818										}
819									}
820									if('RemoveGroupsAll' in settings && settings.RemoveGroupsAll && isString(settings.RemoveGroupsAll)) {
821										if(settings.RemoveGroupsAll.toLowerCase().toLowerCase().indexOf('[all]') != -1) {
822											EnhancedAdvertisingConfig.StoryDynamicSlotsRemoveGroupsAll = '[all]';
823										}
824										else {
825											EnhancedAdvertisingConfig.StoryDynamicSlotsRemoveGroupsAll += ',' + settings.RemoveGroupsAll.toLowerCase();
826										}
827									}
828									if('RemoveGroupsInline' in settings && settings.RemoveGroupsInline && isString(settings.RemoveGroupsInline)) {
829										if(settings.RemoveGroupsInline.toLowerCase().toLowerCase().indexOf('[all]') != -1) {
830											EnhancedAdvertisingConfig.StoryDynamicSlotsRemoveGroupsInline = '[all]';
831										}
832										else {
833											EnhancedAdvertisingConfig.StoryDynamicSlotsRemoveGroupsInline += ',' + settings.RemoveGroupsInline.toLowerCase();
834										}
835									}
836									if('RemoveGroupsRHC' in settings && settings.RemoveGroupsRHC && isString(settings.RemoveGroupsRHC)) {
837										if(settings.RemoveGroupsRHC.toLowerCase().toLowerCase().indexOf('[all]') != -1) {
838											EnhancedAdvertisingConfig.StoryDynamicSlotsRemoveGroupsRHC = '[all]';
839										}
840										else {
841											EnhancedAdvertisingConfig.StoryDynamicSlotsRemoveGroupsRHC += ',' + settings.RemoveGroupsRHC.toLowerCase();
842										}
843									}
844									if('Repeat' in settings && isBoolean(settings.Repeat)) {
845										EnhancedAdvertisingConfig.StoryDynamicSlotsRepeat = settings.Repeat;
846									}
847									if('DesktopMaxInlineSlots' in settings && isNumberPositiveOrZero(settings.DesktopMaxInlineSlots)) {
848										EnhancedAdvertisingConfig.StoryDynamicSlotsDesktopMaxInlineSlots = settings.DesktopMaxInlineSlots;
849									}
850									if('MobileMaxInlineSlots' in settings && isNumberPositiveOrZero(settings.MobileMaxInlineSlots)) {
851										EnhancedAdvertisingConfig.StoryDynamicSlotsMobileMaxInlineSlots = settings.MobileMaxInlineSlots;
852									}
853									if('DesktopMinRHCSlots' in settings && isNumberPositiveOrZero(settings.DesktopMinRHCSlots)) {
854										EnhancedAdvertisingConfig.StoryDynamicSlotsDesktopMinRHCSlots = settings.DesktopMinRHCSlots;
855									}
856									if('MobileMinRHCSlots' in settings && isNumberPositiveOrZero(settings.MobileMinRHCSlots)) {
857										EnhancedAdvertisingConfig.StoryDynamicSlotsMobileMinRHCSlots = settings.MobileMinRHCSlots;
858									}
859									if('DesktopMaxRHCSlots' in settings && isNumberPositiveOrZero(settings.DesktopMaxRHCSlots)) {
860										EnhancedAdvertisingConfig.StoryDynamicSlotsDesktopMaxRHCSlots = settings.DesktopMaxRHCSlots;
861									}
862									if('MobileMaxRHCSlots' in settings && isNumberPositiveOrZero(settings.MobileMaxRHCSlots)) {
863										EnhancedAdvertisingConfig.StoryDynamicSlotsMobileMaxRHCSlots = settings.MobileMaxRHCSlots;
864									}
865									if('DesktopElementSpacingFirst' in settings && isNumberPositiveOrZero(settings.DesktopElementSpacingFirst)) {
866										EnhancedAdvertisingConfig.StoryDynamicSlotsDesktopElementSpacingFirst = settings.DesktopElementSpacingFirst;
867									}
868									if('MobileElementSpacingFirst' in settings && isNumberPositiveOrZero(settings.MobileElementSpacingFirst)) {
869										EnhancedAdvertisingConfig.StoryDynamicSlotsMobileElementSpacingFirst = settings.MobileElementSpacingFirst;
870									}
871									if('DesktopElementSpacing' in settings && isNumberPositive(settings.DesktopElementSpacing)) {
872										EnhancedAdvertisingConfig.StoryDynamicSlotsDesktopElementSpacing = settings.DesktopElementSpacing;
873									}
874									if('MobileElementSpacing' in settings && isNumberPositive(settings.MobileElementSpacing)) {
875										EnhancedAdvertisingConfig.StoryDynamicSlotsMobileElementSpacing = settings.MobileElementSpacing;
876									}
877									if('RHCMinHeightForSlotInsert' in settings && settings.RHCMinHeightForSlotInsert && isNumberPositive(settings.RHCMinHeightForSlotInsert)) {
878										EnhancedAdvertisingConfig.RHCMinHeightForSlotInsert = settings.RHCMinHeightForSlotInsert;
879									}
880									if('RHCMinHeightForStickyAd' in settings && settings.RHCMinHeightForStickyAd && isNumberPositive(settings.RHCMinHeightForStickyAd)) {
881										EnhancedAdvertisingConfig.RHCMinHeightForStickyAd = settings.RHCMinHeightForStickyAd;
882									}
883									if('CollapseEmptyDivs' in settings && isBoolean(settings.CollapseEmptyDivs)) {
884										EnhancedAdvertisingConfig.CollapseEmptyDivs = settings.CollapseEmptyDivs;
885									}
886								}
887							}
888						}
889					}
890				}
891			}
892
893			var paragraphThreshold = isDesktopResolution ? EnhancedAdvertisingConfig.StoryDynamicSlotsDesktopElementSpacing : EnhancedAdvertisingConfig.StoryDynamicSlotsMobileElementSpacing;
894			var paragraphFirstThreshold = isDesktopResolution ? EnhancedAdvertisingConfig.StoryDynamicSlotsDesktopElementSpacingFirst : EnhancedAdvertisingConfig.StoryDynamicSlotsMobileElementSpacingFirst;
895			var maxInlineSlots = isDesktopResolution ? EnhancedAdvertisingConfig.StoryDynamicSlotsDesktopMaxInlineSlots : EnhancedAdvertisingConfig.StoryDynamicSlotsMobileMaxInlineSlots;
896			var minRHCSlots = isDesktopResolution ? EnhancedAdvertisingConfig.StoryDynamicSlotsDesktopMinRHCSlots : EnhancedAdvertisingConfig.StoryDynamicSlotsMobileMinRHCSlots;
897			var maxRHCSlots = isDesktopResolution ? EnhancedAdvertisingConfig.StoryDynamicSlotsDesktopMaxRHCSlots : EnhancedAdvertisingConfig.StoryDynamicSlotsMobileMaxRHCSlots;
898
899			var allAddGroups = (EnhancedAdvertisingConfig.StoryDynamicSlotsAddGroupsAll ? EnhancedAdvertisingConfig.StoryDynamicSlotsAddGroupsAll : "").split(',').filter(function(f) { return f; }).filter(function(x, i, a) { return a.indexOf(x) === i; });
900			var allAddInlineGroups = [].concat(allAddGroups, (EnhancedAdvertisingConfig.StoryDynamicSlotsAddGroupsInline ? EnhancedAdvertisingConfig.StoryDynamicSlotsAddGroupsInline : "").split(',')).map(function(m) { return m.toLowerCase(); }).filter(function(f) { return f; }).filter(function(x, i, a) { return a.indexOf(x) === i; });
901			var allAddRHCGroups = [].concat(allAddGroups, (EnhancedAdvertisingConfig.StoryDynamicSlotsAddGroupsRHC ? EnhancedAdvertisingConfig.StoryDynamicSlotsAddGroupsRHC : "").split(',')).map(function(m) { return m.toLowerCase(); }).filter(function(f) { return f; }).filter(function(x, i, a) { return a.indexOf(x) === i; });
902
903			var allRemoveGroups = (EnhancedAdvertisingConfig.StoryDynamicSlotsRemoveGroupsAll ? EnhancedAdvertisingConfig.StoryDynamicSlotsRemoveGroupsAll : "").split(',').filter(function(f) { return f; }).filter(function(x, i, a) { return a.indexOf(x) === i; });
904			var allRemoveInlineGroups = [].concat(allRemoveGroups, (EnhancedAdvertisingConfig.StoryDynamicSlotsRemoveGroupsInline ? EnhancedAdvertisingConfig.StoryDynamicSlotsRemoveGroupsInline : "").split(',')).map(function(m) { return m.toLowerCase(); }).filter(function(f) { return f; }).filter(function(x, i, a) { return a.indexOf(x) === i; });
905			var allRemoveRHCGroups = [].concat(allRemoveGroups, (EnhancedAdvertisingConfig.StoryDynamicSlotsRemoveGroupsRHC ? EnhancedAdvertisingConfig.StoryDynamicSlotsRemoveGroupsRHC : "").split(',')).map(function(m) { return m.toLowerCase(); }).filter(function(f) { return f; }).filter(function(x, i, a) { return a.indexOf(x) === i; });
906
907			EnhancedAdvertisingConfig.Slots = EnhancedAdvertisingConfig.Slots.map(function(x, i) {
908				x.Used = false;
909				x.Index = i;
910				if('Type' in x) {
911					if(supportedTypes.indexOf(x.Type.toString().toLowerCase()) != -1) {
912						x.Type = x.Type.toString().toLowerCase();
913					}
914					else {
915						x.Type = 'customcontent';
916					}
917				}
918				else {
919					x.Type = 'customcontent';
920				}
921				if('Position' in x) {
922					if(supportedPositions.indexOf(x.Position.toString().toLowerCase()) != -1) {
923						x.Position = x.Position.toString().toLowerCase();
924					}
925					else {
926						x.Position = 'inline';
927					}
928				}
929				else {
930					x.Position = 'inline';
931				}
932				if('CSSClass' in x) {
933					x.CSSClass = x.CSSClass.toString().split(' ').join(',').split(',').filter(function(e) { return e && e; }).join(' ');
934				}
935				else {
936					x.CSSClass = '';
937				}
938				if('Group' in x) {
939					x.Group = x.Group.toString().split(' ').join(',').split(',').filter(function(e) { return e && e; }).join(',');
940				}
941				else {
942					x.Group = '';
943				}
944				if('Sticky' in x) {
945					if(x.Sticky.toString().toLowerCase() == 'true') {
946						x.Sticky = true;
947					}
948					else {
949						x.Sticky = false;
950					}
951				}
952				else {
953					x.Sticky = false;
954				}
955				if('InsertIfNoRHCSpace' in x) {
956					if(x.InsertIfNoRHCSpace.toString().toLowerCase() == 'true') {
957						x.InsertIfNoRHCSpace = true;
958					}
959					else {
960						x.InsertIfNoRHCSpace = false;
961					}
962				}
963				else {
964					x.InsertIfNoRHCSpace = false;
965				}
966				if('MinHeight' in x) {
967					x.MinHeight = parseInt(x.MinHeight.toString());
968				}
969				else {
970					x.MinHeight = 0;
971				}
972				if('NoBackfill' in x) {
973					if(x.NoBackfill.toString().toLowerCase() == 'true') {
974						x.NoBackfill = true;
975					}
976					else {
977						x.NoBackfill = false;
978					}
979				}
980				else {
981					x.NoBackfill = false;
982				}
983				if('Refresh' in x) {
984					if(x.Refresh.toString().toLowerCase() == 'true') {
985						x.Refresh = true;
986					}
987					else {
988						x.Refresh = false;
989					}
990				}
991				else {
992					x.Refresh = false;
993				}
994				if('ExtraHTML' in x) {
995					if(x.ExtraHTML.toString()) {
996						x.ExtraHTML = x.ExtraHTML.toString();
997					}
998					else {
999						x.ExtraHTML = '';
1000					}
1001				}
1002				else {
1003					x.ExtraHTML = '';
1004				}
1005				if('CustomEventName' in x) {
1006					if(x.CustomEventName.toString()) {
1007						x.CustomEventName = x.CustomEventName.toString();
1008					}
1009					else {
1010						x.CustomEventName = '';
1011					}
1012				}
1013				else {
1014					x.CustomEventName = '';
1015				}
1016				if('Javascript' in x) {
1017					if(x.Javascript) {
1018						if(typeof x.Javascript === 'function') {
1019							x.Javascript = x.Javascript;
1020						}
1021					}
1022					else {
1023						x.Javascript = '';
1024					}
1025				}
1026				else {
1027					x.Javascript = '';
1028				}
1029				if('AdUnit' in x) {
1030					if(x.AdUnit.toString()) {
1031						x.AdUnit = x.AdUnit.toString();
1032					}
1033					else {
1034						x.AdUnit = '';
1035					}
1036				}
1037				else {
1038					x.AdUnit = '';
1039				}
1040				if('AdUnitSizesInlineMobile' in x) {
1041					x.AdUnitSizesInlineMobile = x.AdUnitSizesInlineMobile;
1042				} else if('GAMAdUnitSizesInlineMobileDefault' in EnhancedAdvertisingConfig) {
1043					x.AdUnitSizesInlineMobile = EnhancedAdvertisingConfig.GAMAdUnitSizesInlineMobileDefault
1044				}
1045				if('AdUnitSizesInlineDesktop' in x) {
1046					x.AdUnitSizesInlineDesktop = x.AdUnitSizesInlineDesktop;
1047				} else if('GAMAdUnitSizesInlineDesktopDefault' in EnhancedAdvertisingConfig) {
1048					x.AdUnitSizesInlineDesktop = EnhancedAdvertisingConfig.GAMAdUnitSizesInlineDesktopDefault;
1049				}
1050				if('AdUnitSizesRHC' in x) {
1051					x.AdUnitSizesRHC = x.AdUnitSizesRHC;
1052				} else if('GAMAdUnitSizesRHCDefault' in EnhancedAdvertisingConfig) {
1053					x.AdUnitSizesRHC = EnhancedAdvertisingConfig.GAMAdUnitSizesRHCDefault;
1054				}
1055				if('RefreshDelaySeconds' in x) {
1056					x.RefreshDelaySeconds = parseInt(x.RefreshDelaySeconds.toString(), 10);
1057				}
1058				else {
1059					x.RefreshDelaySeconds = 30;
1060				}
1061
1062				return x;
1063			});
1064
1065			var storyInlineContent = EnhancedAdvertisingConfig.Slots.filter(function(el) { return el && (el.Position.toLowerCase() == "inline" || ((!isDesktopResolution || isStoryFullLayout) && el.Position.toLowerCase() == "preferright")) && (el.Group || "").split(',').filter(function(subel) { return subel && subel != undefined; }).map(function(subel) { return subel.toLowerCase(); }).some(function(subel) { return allAddInlineGroups.indexOf(subel) != -1 || allAddInlineGroups.indexOf('[all]') != -1; }) && !(el.Group || "").split(',').filter(function(subel) { return subel && subel != undefined; }).map(function(subel) { return subel.toLowerCase(); }).some(function(subel) { return allRemoveInlineGroups.indexOf(subel) != -1 || allRemoveInlineGroups.indexOf('[all]') != -1; }); });
1066			var storyRHCContent = isDesktopResolution ? EnhancedAdvertisingConfig.Slots.filter(function(el) { return el && (el.Position.toLowerCase() == "right" || (isDesktopResolution && !isStoryFullLayout && el.Position.toLowerCase() == "preferright")) && (el.Group || "").split(',').filter(function(subel) { return subel && subel != undefined; }).map(function(subel) { return subel.toLowerCase(); }).some(function(subel) { return allAddRHCGroups.indexOf(subel) != -1 || allAddRHCGroups.indexOf('[all]') != -1; }) && !(el.Group || "").split(',').filter(function(subel) { return subel && subel != undefined; }).map(function(subel) { return subel.toLowerCase(); }).some(function(subel) { return allRemoveRHCGroups.indexOf(subel) != -1 || allRemoveRHCGroups.indexOf('[all]') != -1; }); }) : [];
1067			storyInlineContent.forEach( (c, ix) => c.inlineIndex = ix );
1068			storyRHCContent.forEach( (c, ix) => c.rhcIndex = ix );
1069			var googletag = w.googletag || {};
1070			googletag.cmd = googletag.cmd || [];
1071
1072			if( isNumberPositive(maxInlineSlots) ){ //PWVD-781
1073				for(var tmpCounter = 0, i = 0, eL = storyCustomContentPlaceholders.length, adThresholdCounter = 1; i < eL; i++) {
1074					var currentIsPara = matches(storyCustomContentPlaceholders[i], 'p:not([class])');
1075
1076					var prevIsPara = ( i == 0) || matches(storyCustomContentPlaceholders[i - 1], 'p:not([class])'); //This should also be true for the first paragraph, even though there is no previous one)
1077					var nextIsPara = ( i+1 < eL) && matches(storyCustomContentPlaceholders[i + 1], 'p:not([class])');
1078					var nextOrPreviousIsPara = (paragraphFirstThreshold == 0) ? prevIsPara : nextIsPara; //PWVD-1229: Should always insert slot between paragraphs - check preceding element if adding slot BEFORE, otherwise next
1079
1080					if( currentIsPara && !nextOrPreviousIsPara ){ //PWVD-897 - count paragraphs followed by any other element
1081						if(adThresholdCounter < (tmpCounter == 0 ? paragraphFirstThreshold : paragraphThreshold)) {
1082							adThresholdCounter++;
1083							continue;
1084						}
1085					}
1086					else if( currentIsPara && nextOrPreviousIsPara ) {
1087						if(adThresholdCounter < (tmpCounter == 0 ? paragraphFirstThreshold : paragraphThreshold)) {
1088							adThresholdCounter++;
1089							continue;
1090						}
1091						tmpCounter++;
1092						adThresholdCounter = 1;
1093
1094						var paraContent = storyCustomContentPlaceholders[i].outerHTML;
1095						var slotContent = `<div class="story-inlinecontent-placeholder story-inlinecontent-placeholder-init item-notin-viewport" data-storyinlinecontainer="${tmpCounter}">` +
1096												`<div class="story-inlinecontent-placeholder-inner" data-id="story-inline-item-${tmpCounter}" data-storyinlineitem="${tmpCounter}"></div></div>`;
1097
1098						if(paragraphFirstThreshold == 0) //PWVD-1229: Ad slot inserted BEFORE first paragraph of story if StoryDynamicSlotsDesktopElementSpacingFirst in config is zero
1099							storyCustomContentPlaceholders[i].outerHTML = slotContent + paraContent;
1100						else //Placeholder AFTER current paragraph (default previous behaviour)
1101							storyCustomContentPlaceholders[i].outerHTML = paraContent + slotContent;
1102
1103						if(tmpCounter >= maxInlineSlots && maxInlineSlots) break;
1104					}
1105				}
1106			}
1107
1108			if(d.querySelector('#story.enhanced-advertising:not(.story-full-layout) #rightcolumn_sleeve')) {
1109				if(!(d.body.id == "story" || d.body.id == "story_custom") && !d.querySelector('.storytext div.table-full:not(.initialized)')) {
1110					w.addEventListener("abacus:storytexttablefull:finished", function(e) {
1111						adjustRHCHeightAndInitialAds();
1112					}, true);
1113				}
1114				else {
1115					adjustRHCHeightAndInitialAds();
1116				}
1117			}
1118
1119			if('IntersectionObserver' in w && 'IntersectionObserverEntry' in w && 'intersectionRatio' in w.IntersectionObserverEntry.prototype) {
1120				d.querySelectorAll('.story-inlinecontent-placeholder.story-inlinecontent-placeholder-init').forEach(function(el) {
1121					if(el) {
1122						var inlineAdsObserver = new IntersectionObserver(function(entries) {
1123							return inlineAdsObserverCallback(entries);
1124						}, { root: null, rootMargin: "50px 0px 50px 0px", threshold: [0, 0.01, 0.99, 1] });
1125						inlineAdsObserver.observe(el);
1126					}
1127				});
1128
1129				var inlineAdsObserverCallback = function(entries) {
1130					return entries.forEach(function(entry, i) {
1131						if(entry.isIntersecting) {
1132							entry.target.classList.remove('item-notin-viewport');
1133							entry.target.classList.add('item-in-viewport');
1134						}
1135						else {
1136							entry.target.classList.remove('item-in-viewport');
1137							entry.target.classList.add('item-notin-viewport');
1138						}
1139					});
1140				};
1141
1142				d.querySelectorAll('.storytext-end, #rhcreflow-extra-end').forEach(function(el) {
1143					if(el) {
1144						var adsInViewportObserver = new IntersectionObserver(function(entries) {
1145							return adsInViewportObserverCallback(entries);
1146						}, { root: null, rootMargin: "0px 0px 200px 0px", threshold: [1] });
1147						adsInViewportObserver.observe(el);
1148					}
1149				});
1150
1151				var adsInViewportObserverCallback = function(entries) {
1152					return entries.forEach(function(entry, i) {
1153						if(entry.isIntersecting) {
1154							if(entry.target.classList.contains('storytext-end') && d.body.classList.contains('enhanced-advertising-inline-init')) {
1155								d.body.classList.add('enhanced-advertising-storytext-endreached');
1156							}
1157							// RHC is empty at load time so it always fires as in viewport, need to check whether rhc ads slots already init
1158							if(entry.target.classList.contains('rhcreflow-extra-end') && d.body.classList.contains('enhanced-advertising-rhc-init')) {
1159								d.body.classList.add('enhanced-advertising-rhc-endreached');
1160							}
1161
1162							/*
1163							if(entry.target.id === 'rhcreflow-extra'){ //Fix for issue when RHC is not in initial viewport
1164								if( location.host.indexOf('abasoftaws.co.uk') > 0 ) console.log('New observer callback');
1165								readjusRHCHeight();
1166							}
1167							*/
1168						}
1169					});
1170				};
1171			}
1172
1173			var inlineEl = d.querySelector('.story-inlinecontent-placeholder.story-inlinecontent-placeholder-init:not(.story-inlinecontent-placeholder-completed):not(.story-inlinecontent-placeholder-processing)');
1174			if(inlineEl) {
1175				googletag.cmd = googletag.cmd || [];
1176				googletag.cmd.push(function() {
1177					d.body.classList.add('enhanced-advertising-inline-init');
1178					insertInlineSlot(inlineEl);
1179
1180					console.log('Init inline ad slot load');
1181				});
1182			}
1183
1184			function slotRender(event){
1185				var el, slot = event.slot, slotId = slot.getSlotElementId();
1186
1187				if(enhAdDebug) console.log('Slot render: ' + slotId);
1188
1189				if(slotId == 'custom-inline'){
1190					el = document.querySelector(`div.story-inlinecontent-placeholder-inner[data-id="story-inline-item-${event.dataId}"]`); //Get inline slot (does not have ID)
1191					//if(!el)
1192					//	el = document.querySelector(`div.story-inlinecontent-placeholder-inner[data-id="story-inline-item-${event.inlineIndex+1}"]`);
1193				}
1194				else
1195					el = d.getElementById(slotId);
1196
1197				if(el) {
1198					var minHeight = 0;
1199					var parentInlineNode = getClosestParent(el, '.story-inlinecontent-placeholder');
1200					var parentRHCNode = getClosestParent(el, '.story-rhccontent-placeholder');
1201					if(parentInlineNode || parentRHCNode) {
1202						var classList = el.classList;
1203
1204						if(parentInlineNode) {
1205							parentInlineNode.classList.add('story-inlinecontent-placeholder-ad');
1206							var index = parseInt(parentInlineNode.hasAttribute('data-index') ? parentInlineNode.getAttribute('data-index') : '0', 10);
1207							if(!event.isEmpty) {
1208								classList.add('ad');
1209								classList.add('mob-ad-50');
1210								classList.add('ad-story-inline');
1211								classList.add('ad-story-inline-notempty');
1212
1213								parentInlineNode.classList.add('story-inlinecontent-placeholder-ad-size-' + event.size.join('x'));
1214
1215								parentInlineNode.setAttribute('data-slot', slot.getAdUnitPath());
1216
1217								var currentInlineSlot = storyInlineContent.filter(function(e) { return e.Index == index; });
1218								if(currentInlineSlot.length) {
1219									minHeight = currentInlineSlot[0].MinHeight;
1220									if(currentInlineSlot[0].Repeat == false) {
1221										currentInlineSlot[0].Used = true;
1222									}
1223								}
1224								else {
1225									console.log('Slot with index [data-index="' + index + '"] was not found');
1226								}
1227								parentInlineNode.classList.add('story-inlinecontent-placeholder-finished');
1228
1229								insertInlineSlot(d.querySelector('.story-inlinecontent-placeholder.story-inlinecontent-placeholder-init:not(.story-inlinecontent-processing)'));
1230							}
1231							else {
1232								classList.add('ad-story-inline-isempty');
1233
1234								var currentInlineSlot = storyInlineContent.filter(function(e) { return e.Index == index; });
1235								if(currentInlineSlot.length) {
1236									minHeight = currentInlineSlot[0].MinHeight;
1237									currentInlineSlot[0].Used = true;
1238								}
1239								else {
1240									console.log('Slot with index [data-index="' + index + '"] was not found');
1241								}
1242
1243								if(parentInlineNode && parentInlineNode.hasAttribute('data-nobackfill')) {
1244									if(parentInlineNode.getAttribute('data-nobackfill') == '1') {
1245										updateInlinePlaceholderClasses(parentInlineNode, event.isEmpty, minHeight);
1246										if(!storyInlineContent.some(function(el) { return el.Used == false; })) {
1247											finalizeRemainingEmptyInlineSlotContainers(parentInlineNode.classList, true);
1248										}
1249										else {
1250											insertInlineSlot(d.querySelector('.story-inlinecontent-placeholder.story-inlinecontent-placeholder-init:not(.story-inlinecontent-processing)'));
1251										}
1252										initRHCHeightCalc();
1253										return;
1254									}
1255								}
1256								// Move to next from the list
1257								if( storyInlineContent.some( function(e){ return e.Used == false; } )  ) {
1258									if(enhAdDebug) console.log('slotRender: parentInlineNode: Move to next from the list')
1259									var adRetryCssClass = 'ad-story-inline-retry';
1260									var nextInlineSlotList = storyInlineContent.filter(function(e) { return e.Index > index && e.Used == false; });
1261									if(!nextInlineSlotList.length) {
1262										// select repeatable ads
1263										nextInlineSlotList = storyInlineContent.filter(function(e) { return e.Used == false && e.Index > index && e.Repeat == true; });
1264										if(!nextInlineSlotList.length) {
1265											// if no repeatable ads by indexed order then start from the beginning or just pick any existing
1266											nextInlineSlotList = storyInlineContent.filter(function(e) { return e.Used == false && e.Repeat == true; });
1267											if(!nextInlineSlotList.length) {
1268												// no more ads to add
1269												d.body.classList.add('enhanced-advertising-inline-runoutofslots');
1270
1271												finalizeRemainingEmptyInlineSlotContainers(parentInlineNode.classList, true);
1272
1273												updateInlinePlaceholderClasses(parentInlineNode, event.isEmpty, minHeight);
1274
1275												initRHCHeightCalc();
1276
1277												return;
1278											}
1279										}
1280									}
1281									var mapInlineAdItem = nextInlineSlotList[0];
1282									var refresh = EnhancedAdvertisingConfig.Refresh;
1283
1284									googletag.destroySlots([slot]);
1285									if(mapInlineAdItem.Refresh) {
1286										refresh = mapInlineAdItem.Refresh;
1287									}
1288									if(mapInlineAdItem.Repeat) {
1289										parentInlineNode.classList.remove('story-inlinecontent-placeholder-repeat-false');
1290										parentInlineNode.classList.add('story-inlinecontent-placeholder-repeat-true');
1291									}
1292									else {
1293										parentInlineNode.classList.remove('story-inlinecontent-placeholder-repeat-true');
1294										parentInlineNode.classList.add('story-inlinecontent-placeholder-repeat-false');
1295									}
1296									var mapInlineAdItemSlot = googletag.defineSlot(mapInlineAdItem.AdUnit, isDesktopResolution ? mapInlineAdItem.AdUnitSizesInlineDesktop : mapInlineAdItem.AdUnitSizesInlineMobile, slotId);
1297									if(mapInlineAdItemSlot) {
1298										mapInlineAdItemSlot.defineSizeMapping(googletag.sizeMapping().build()).setTargeting('refresh', (refresh ? 'true' : 'false')).setTargeting('refreshdelayseconds', mapInlineAdItem.RefreshDelaySeconds || (isDesktopResolution ? EnhancedAdvertisingConfig.RefreshDelaySecondsDefaultDesktop : Enh
1298ancedAdvertisingConfig.RefreshDelaySecondsDefaultMobile)).setCollapseEmptyDiv(EnhancedAdvertisingConfig.CollapseEmptyDivs, false).addService(googletag.pubads());
1299									}
1300									else {
1301										console.warn('Something wrong with inline ad slot \'' + slotId + '\', size(s) \'' + (isDesktopResolution ? mapInlineAdItem.AdUnitSizesInlineDesktop : mapInlineAdItem.AdUnitSizesInlineMobile).join('x') + '\', path \'' + mapInlineAdItem.AdUnit + '\'');
1302									}
1303									googletag.display(slotId);
1304									el.classList.add(adRetryCssClass);
1305									parentInlineNode.setAttribute('data-index', mapInlineAdItem.Index);
1306									if(mapInlineAdItem.ExtraHTML) {
1307										var extraHTMLEl = parentInlineNode.querySelector('.story-inlinecontent-placeholder-ad-extrahtml');
1308										if(extraHTMLEl) {
1309											extraHTMLEl.innerHTML = mapInlineAdItem.ExtraHTML;
1310										}
1311									}
1312									else {
1313										var extraHTMLEl = parentInlineNode.querySelector('.story-inlinecontent-placeholder-ad-extrahtml');
1314										if(extraHTMLEl) {
1315											extraHTMLEl.innerHTML = '';
1316										}
1317									}
1318								}
1319								else { // no slots to add..
1320									finalizeRemainingEmptyInlineSlotContainers(parentInlineNode.classList, true);
1321								}
1322							}
1323						}
1324						else if(parentRHCNode) {
1325							parentRHCNode.classList.add('story-rhccontent-placeholder-ad');
1326							var index = parseInt(parentRHCNode.hasAttribute('data-index') ? parentRHCNode.getAttribute('data-index') : '0', 10);
1327							if(!event.isEmpty) {
1328								classList.add('ad-rhc');
1329								classList.add('ad-story-rhc');
1330								classList.add('ad-story-rhc-notempty');
1331
1332								parentRHCNode.classList.add('story-rhccontent-placeholder-ad-size-' + event.size.join('x'));
1333
1334								parentRHCNode.setAttribute('data-slot', slot.getAdUnitPath());
1335
1336								var currentRHCSlot = storyRHCContent.filter(function(e) { return e.Index == index; });
1337								if(currentRHCSlot.length) {
1338									minHeight = currentRHCSlot[0].MinHeight;
1339									if(currentRHCSlot[0].Repeat == false) {
1340										currentRHCSlot[0].Used = true;
1341									}
1342									if(currentRHCSlot[0].InsertIfNoRHCSpace) {
1343										currentRHCSlot[0].InsertIfNoRHCSpace = false;
1344									}
1345								}
1346								else {
1347									console.log('Slot with index [data-index="' + index + '"] was not found');
1348								}
1349
1350								parentRHCNode.classList.remove('story-rhccontent-placeholder-isempty');
1351								parentRHCNode.classList.remove('story-rhccontent-placeholder-notempty');
1352								parentRHCNode.classList.add((event.isEmpty ? 'story-rhccontent-placeholder-isempty' : 'story-rhccontent-placeholder-notempty'));
1353								parentRHCNode.classList.add('story-rhccontent-placeholder-ad-completed');
1354
1355								parentRHCNode.classList.add('story-rhccontent-placeholder-finished');
1356
1357								var canAddRHC = isStoryTextTallerThanRHC();
1358
1359								if(
1360									( index > 0 && !d.body.classList.contains('enhanced-advertising-inline-completed') && parentRHCNode.classList.contains('story-rhccontent-placeholder-canbesticky') )
1361									||
1362									( canAddRHC.canAdd && parentRHCNode.classList.contains('story-rhccontent-placeholder-canbesticky') && canAddRHC.delta > EnhancedAdvertisingConfig.RHCMinHeightForStickyAd )
1363								){
1364									parentRHCNode.classList.remove('story-rhccontent-placeholder-canbesticky');
1365									parentRHCNode.classList.add('story-rhccontent-placeholder-sticky');
1366								}
1367							}
1368							else {
1369								classList.add('ad-story-rhc-isempty');
1370
1371								var currentRHCSlot = storyRHCContent.filter(function(e) { return e.Index == index; });
1372								if(currentRHCSlot.length) {
1373									currentRHCSlot[0].Used = true;
1374								}
1375								else {
1376									console.log('Slot with index [data-index="' + index + '"] was not found');
1377								}
1378
1379								if(parentRHCNode && parentRHCNode.hasAttribute('data-nobackfill')) {
1380									if(parentRHCNode.getAttribute('data-nobackfill') == '1') {
1381										updateRHCPlaceholderClasses(parentRHCNode, event.isEmpty);
1382										if(!storyRHCContent.some(function(el) { return el.Used == false; })) {
1383											d.body.classList.add('enhanced-advertising-rhc-runoutofslots');
1384											finalizeRemainingEmptyRHCSlotContainers(parentRHCNode.classList, true);
1385										}
1386										initRHCHeightCalc();
1387										return;
1388									}
1389								}
1390								// Move to next from the list
1391								if(enhAdDebug){
1392									console.log('slotRender: parentRHCNode: storyRHCContent: index: ' + index);
1393									console.log(storyRHCContent);
1394								}
1395								if(storyRHCContent.some(function(e) { return e.Used == false; })) {
1396									var adRetryCssClass = 'ad-story-rhc-retry';
1397									var nextRHCSlotList = storyRHCContent.filter(function(e) {
1398										if(enhAdDebug) console.log('%c Current index: ' + e.Index + ', slot data index: ' + index, 'color: #0C6')
1399										return e.Index > index && e.Used == false;
1400									});
1401									if(enhAdDebug){
1402										console.log('%c slotRender: parentRHCNode: Moved to next from the list', 'color: #06C');
1403										console.log(nextRHCSlotList);
1404									}
1405									if(!nextRHCSlotList.length) {
1406										// select repeatable ads
1407										nextRHCSlotList = storyRHCContent.filter(function(e) {
1408											return e.Used == false && e.Index > index && e.Repeat == true;
1409										});
1410										if(!nextRHCSlotList.length) {
1411											// if no repeatable ads by indexed order then start from the beginning or just pick any existing
1412											nextRHCSlotList = storyRHCContent.filter(function(e) { return e.Used == false && e.Repeat == true; });
1413											if(!nextRHCSlotList.length) {
1414												// no more ads to add
1415												finalizeRemainingEmptyRHCSlotContainers(parentRHCNode.classList, false);
1416
1417												//updateRHCPlaceholderClasses(parentRHCNode, event.isEmpty, minHeight);
1418												updateRHCPlaceholderClasses(parentRHCNode, event.isEmpty);
1419
1420												initRHCHeightCalc();
1421
1422												return;
1423											}
1424										}
1425									}
1426									var mapRHCAdItem = nextRHCSlotList[0];
1427									var refresh = EnhancedAdvertisingConfig.Refresh;
1428									googletag.destroySlots([slot]);
1429									if(mapRHCAdItem.Refresh) {
1430										refresh = mapRHCAdItem.Refresh;
1431									}
1432									if(mapRHCAdItem.Repeat) {
1433										parentRHCNode.classList.remove('story-rhccontent-placeholder-repeat-false');
1434										parentRHCNode.classList.add('story-rhccontent-placeholder-repeat-true');
1435									}
1436									else {
1437										parentRHCNode.classList.remove('story-rhccontent-placeholder-repeat-true');
1438										parentRHCNode.classList.add('story-rhccontent-placeholder-repeat-false');
1439									}
1440
1441									if(mapRHCAdItem.Type == 'customcontent'){ //Custom content (RSCCS-540)
1442										if(enhAdDebug) console.log('Next RHC config item is custom content');
1443										adjustRHCHeightAndInitialAds();
1444									}
1445									else if(mapRHCAdItem.AdUnit){ //Google ad
1446										var mapInlineAdItemSlot = googletag.defineSlot(mapRHCAdItem.AdUnit, isDesktopResolution ? mapRHCAdItem.AdUnitSizesInlineDesktop : mapRHCAdItem.AdUnitSizesInlineMobile, slotId);
1447										if(mapInlineAdItemSlot) {
1448											mapInlineAdItemSlot.defineSizeMapping(
1449												googletag.sizeMapping().build()
1450											).setTargeting(
1451												'refresh', (refresh ? 'true' : 'false')
1452											).setTargeting(
1453												'refreshdelayseconds', mapRHCAdItem.RefreshDelaySeconds || (isDesktopResolution ? EnhancedAdvertisingConfig.RefreshDelaySecondsDefaultDesktop : Enh
1453ancedAdvertisingConfig.RefreshDelaySecondsDefaultMobile)
1454											).setCollapseEmptyDiv(
1455												EnhancedAdvertisingConfig.CollapseEmptyDivs, false
1456											).addService(
1457												googletag.pubads()
1458											);
1459										}
1460										else {
1461											console.warn('SlotRender: Something wrong with RHC ad slot \'' + slotId + '\', size(s) \'' + (isDesktopResolution ? mapRHCAdItem.AdUnitSizesInlineDesktop : mapRHCAdItem.AdUnitSizesInlineMobile).join('x') + '\', path \'' + mapRHCAdItem.AdUnit + '\'');
1462										}
1463										googletag.display(slotId);
1464									}
1465
1466									el.classList.add(adRetryCssClass);
1467									parentRHCNode.setAttribute('data-index', mapRHCAdItem.Index);
1468									if(mapRHCAdItem.ExtraHTML) {
1469										var extraHTMLEl = parentRHCNode.querySelector('.story-rhccontent-placeholder-ad-extrahtml');
1470										if(extraHTMLEl) {
1471											extraHTMLEl.innerHTML = mapRHCAdItem.ExtraHTML;
1472										}
1473									}
1474									else {
1475										var extraHTMLEl = parentRHCNode.querySelector('.story-rhccontent-placeholder-ad-extrahtml');
1476										if(extraHTMLEl) {
1477											extraHTMLEl.innerHTML = '';
1478										}
1479									}
1480								}
1481								else { // no slots to add..
1482									finalizeRemainingEmptyRHCSlotContainers(parentRHCNode.classList, false);
1483								}
1484							}
1485						}
1486
1487						if(parentInlineNode) {
1488							updateInlinePlaceholderClasses(parentInlineNode, event.isEmpty, minHeight);
1489						}
1490						else {
1491							//updateRHCPlaceholderClasses(parentRHCNode, event.isEmpty, minHeight);
1492							updateRHCPlaceholderClasses(parentRHCNode, event.isEmpty);
1493						}
1494
1495					}
1496				}
1497				initRHCHeightCalc();
1498			}
1499
1500			googletag.cmd = googletag.cmd || [];
1501			googletag.cmd.push(function() {
1502				googletag.pubads().addEventListener('slotRequested', function(event) {
1503					var slot = event.slot;
1504					var el = d.getElementById(slot.getSlotElementId());
1505					if(el) {
1506						var parentInlineNode = getClosestParent(el, '.story-inlinecontent-placeholder');
1507						var parentRHCNode = getClosestParent(el, '.story-rhccontent-placeholder');
1508						if(parentInlineNode || parentRHCNode) {
1509							if(parentInlineNode) {
1510								parentInlineNode.classList.add('story-inlinecontent-placeholder-ad-init');
1511							}
1512							else {
1513								parentRHCNode.classList.add('story-rhccontent-placeholder-ad-init');
1514							}
1515						}
1516					}
1517				});
1518
1519				googletag.pubads().addEventListener('slotRenderEnded', function(event) {
1520					var sId = event.slot.getSlotElementId();
1521
1522					if( enhAdDebug && sId.includes('story-rhcad') || sId.includes('story-inlinead') ){
1523						console.log(`%c Slot RENDER END (${sId})`, 'color: #FE2ACA');
1524						console.log(event);
1525						//loadOrRender(sId, 'render', event);
1526					}
1527					slotRender(event);
1528				});
1529
1530				if(enhAdDebug){ //Track slot load events
1531					googletag.pubads().addEventListener('slotOnload', (evLoad) => {
1532						var sId = evLoad.slot.getSlotElementId();
1533
1534						if( sId.includes('story-rhcad') || sId.includes('story-inlinead') ){
1535							console.log(`%c Slot LOAD (${ evLoad.slot.getSlotElementId() })`, 'color: #C00;');
1536							console.log(event);
1537							//loadOrRender(sId, 'load');
1538						}
1539					});
1540				}
1541
1542				googletag.pubads().addEventListener('slotVisibilityChanged', function(event) {
1543					var slot = event.slot;
1544					if(slot.getTargeting('refresh').indexOf('true') > -1 && event.inViewPercentage > 0) {
1545						var el = d.getElementById(slot.getSlotElementId());
1546						var parentStoryInlineNode = getClosestParent(el, '.ad-story-inline');
1547						var parentStoryRHCNode = getClosestParent(el, '.ad-story-rhc');
1548						if(parentStoryInlineNode || parentStoryRHCNode) {
1549							if(parentStoryInlineNode) {
1550								var inlineEl = getClosestParent(el, '.story-inlinecontent-placeholder');
1551								if(inlineEl) {
1552									if(inlineEl.hasAttribute('data-shouldrefresh')) {
1553										var shouldRefresh = inlineEl.getAttribute('data-shouldrefresh');
1554										if(shouldRefresh && shouldRefresh == '1') {
1555											googletag.cmd.push(function() {
1556												googletag.pubads().refresh([slot], { changeCorrelator: false });
1557											});
1558											var classList = parentStoryInlineNode.classList;
1559											var cssClassName = 'ad-story-inline-refreshed-';
1560											var cssClassCounter = 1;
1561
1562											for(var i = 0, c = parentStoryInlineNode.className.split(' '), iL = c.length; i < iL; i++) {
1563												var v = c[i];
1564												if(v.indexOf(cssClassName) != -1) {
1565													cssClassCounter = parseInt(v.split(cssClassName).join(''), 10) + 1;
1566													classList.remove(v);
1567													break;
1568												}
1569											}
1570											classList.add(cssClassName + cssClassCounter);
1571											classList.add('ad-story-inline-refreshed');
1572											inlineEl.setAttribute('data-shouldrefresh', '0');
1573										}
1574									}
1575								}
1576							}
1577							else {
1578								var rhcEl = getClosestParent(el, '.story-rhccontent-placeholder');
1579								if(rhcEl) {
1580									if(rhcEl.hasAttribute('data-shouldrefresh')) {
1581										var shouldRefresh = rhcEl.getAttribute('data-shouldrefresh');
1582										if(shouldRefresh && shouldRefresh == '1') {
1583											googletag.cmd.push(function() {
1584												googletag.pubads().refresh([slot], { changeCorrelator: false });
1585											});
1586											var classList = parentStoryRHCNode.classList;
1587											var cssClassName = 'ad-story-rhc-refreshed-';
1588											var cssClassCounter = 1;
1589
1590											for(var i = 0, c = parentStoryRHCNode.className.split(' '), iL = c.length; i < iL; i++) {
1591												var v = c[i];
1592												if(v.indexOf(cssClassName) != -1) {
1593													cssClassCounter = parseInt(v.split(cssClassName).join(''), 10) + 1;
1594													classList.remove(v);
1595													break;
1596												}
1597											}
1598											classList.add(cssClassName + cssClassCounter);
1599											classList.add('ad-story-rhc-refreshed');
1600											rhcEl.setAttribute('data-shouldrefresh', '0');
1601										}
1602									}
1603								}
1604							}
1605						}
1606					}
1607				});
1608
1609				googletag.pubads().addEventListener('impressionViewable', function(event) {
1610					var slot = event.slot;
1611					if(slot.getTargeting('refresh').indexOf('true') > -1) {
1612						var refreshdelayseconds = slot.getTargeting('refreshdelayseconds').length ? parseInt(slot.getTargeting('refreshdelayseconds')[0], 10) : 0;
1613						if(refreshdelayseconds) {
1614							setTimeout(function() {
1615								var el = d.getElementById(slot.getSlotElementId());
1616								var parentStoryInlineNode = getClosestParent(el, '.ad-story-inline');
1617								var parentStoryRHCNode = getClosestParent(el, '.ad-story-rhc');
1618								if(parentStoryInlineNode) {
1619									var inlineEl = getClosestParent(el, '.story-inlinecontent-placeholder');
1620									if(inlineEl) {
1621										if(inlineEl.classList.contains('item-in-viewport')) {
1622											googletag.cmd.push(function() {
1623												googletag.pubads().refresh([slot], { changeCorrelator: false });
1624											});
1625											var classList = parentStoryInlineNode.classList;
1626											var cssClassName = 'ad-story-inline-refreshed-';
1627											var cssClassCounter = 1;
1628											for(var i = 0, c = parentStoryInlineNode.className.split(' '), iL = c.length; i < iL; i++) {
1629												var v = c[i];
1630												if(v.indexOf(cssClassName) != -1) {
1631													cssClassCounter = parseInt(v.split(cssClassName).join(''), 10) + 1;
1632													classList.remove(v);
1633													break;
1634												}
1635											}
1636											classList.add(cssClassName + cssClassCounter);
1637											inlineEl.setAttribute('data-shouldrefresh', '0');
1638										}
1639										else {
1640											inlineEl.setAttribute('data-shouldrefresh', '1');
1641										}
1642									}
1643								} else if(parentStoryRHCNode) {
1644									var rhcEl = getClosestParent(el, '.story-rhccontent-placeholder');
1645									if(rhcEl) {
1646										if(rhcEl.classList.contains('item-in-viewport')) {
1647											googletag.cmd.push(function() {
1648												googletag.pubads().refresh([slot], { changeCorrelator: false });
1649											});
1650											var classList = parentStoryRHCNode.classList;
1651											var cssClassName = 'ad-story-rhc-refreshed-';
1652											var cssClassCounter = 1;
1653											for(var i = 0, c = parentStoryRHCNode.className.split(' '), iL = c.length; i < iL; i++) {
1654												var v = c[i];
1655												if(v.indexOf(cssClassName) != -1) {
1656													cssClassCounter = parseInt(v.split(cssClassName).join(''), 10) + 1;
1657													classList.remove(v);
1658													break;
1659												}
1660											}
1661											classList.add(cssClassName + cssClassCounter);
1662											rhcEl.setAttribute('data-shouldrefresh', '0');
1663										}
1664										else {
1665											rhcEl.setAttribute('data-shouldrefresh', '1');
1666										}
1667									}
1668								}
1669
1670							}, refreshdelayseconds * 1000);
1671						}
1672						else {
1673							console.log('Ad refresh delay in seconds is incorrect (slot: ' + slot.getSlotElementId() + '): ', refreshdelayseconds);
1674						}
1675					}
1676				});
1677			});
1678
1679			function isBoolean(n) {
1680				return !!n === n;
1681			}
1682
1683			function isNumber(n) {
1684				return +n === n;
1685			}
1686
1687			function isString(n) {
1688				return '' + n === n;
1689			}
1690
1691			function isNumberPositive(n) {
1692				return +n === n && n > 0;
1693			}
1694
1695			function isNumberPositiveOrZero(n) {
1696				return +n === n && n >= 0;
1697			}
1698
1699			function isArrayOfArrays(a) {
1700				return a.every(function(x) { return Array.isArray(x); });
1701			}
1702
1703			function getAbsoluteHeight(element) {
1704				if(!element) return 0;
1705				var styles = w.getComputedStyle(element);
1706				var margin = parseFloat(styles['margin-top']) + parseFloat(styles['margin-bottom']);
1707				var minHeight = element.clientHeight;
1708				return Math.ceil(minHeight ? minHeight + margin : element.offsetHeight + margin);
1709			}
1710
1711			function updateRHCContainerState() {
1712				var classList = d.body.classList;
1713				if(!d.querySelectorAll('#rhcreflow-extra .story-rhccontent-placeholder.story-rhccontent-placeholder-completed').length) {
1714					d.body.classList.add('enhanced-advertising-rhc-empty');
1715				}
1716				else {
1717					d.body.classList.remove('enhanced-advertising-rhc-empty');
1718				}
1719			}
1720
1721			function insertRHCSlot(el) {
1722				if(el) {
1723					el.classList.add('story-rhccontent-placeholder-processing');
1724				}
1725				if(el && storyRHCContent.some(function(e) { return e.Used == false; })) {
1726					var classList = el.classList;
1727					var placeholder = el.querySelector('[data-id]');
1728					var tempFilteredRHCAds = storyRHCContent;
1729					if(placeholder) {
1730						var elemsIndexes = d.querySelectorAll('.story-rhccontent-placeholder.story-rhccontent-placeholder-completed[data-index]');
1731						var slotIndex = elemsIndexes.length ? parseInt(elemsIndexes[elemsIndexes.length - 1].getAttribute('data-index'), 10) : -1;
1732						tempFilteredRHCAds = storyRHCContent.filter(function(e) { return slotIndex < e.Index && e.Used == false; });
1733						if(!tempFilteredRHCAds.length) {
1734							tempFilteredRHCAds = storyRHCContent.filter(function(e) { return e.Used == false && slotIndex < e.Index && e.Repeat == true; });
1735						}
1736						if(!tempFilteredRHCAds.length) {
1737							tempFilteredRHCAds = storyRHCContent.filter(function(e) { return e.Used == false && e.Repeat == true; });
1738						}
1739						if(!tempFilteredRHCAds.length) {
1740							finalizeRemainingEmptyRHCSlotContainers(classList, false);
1741
1742							return;
1743						}
1744						var mapRHCAdItem = tempFilteredRHCAds[0];
1745
1746						classList.remove('story-rhccontent-placeholder-init');
1747						classList.remove('story-rhccontent-placeholder-processing');
1748						classList.add('story-rhccontent-placeholder-completed');
1749
1750						if(mapRHCAdItem.CSSClass) {
1751							mapRHCAdItem.CSSClass.split(' ').forEach(function(elem) {
1752								if(elem) {
1753									classList.add(elem);
1754								}
1755							});
1756						}
1757						if(mapRHCAdItem.Type == 'gamadvert') {
1758							if(placeholder) {
1759								var refresh = EnhancedAdvertisingConfig.Refresh;
1760								el.setAttribute('data-storycustomcontent', '0');
1761								if(mapRHCAdItem.Sticky) {
1762									classList.add('story-rhccontent-placeholder-canbesticky');
1763									placeholder.classList.add('sticky');
1764								}
1765								if(mapRHCAdItem.NoBackfill) {
1766									el.setAttribute('data-nobackfill', '1');
1767								}
1768								else {
1769									el.setAttribute('data-nobackfill', '0');
1770								}
1771								if(mapRHCAdItem.Refresh) {
1772									refresh = mapRHCAdItem.Refresh;
1773								}
1774
1775								var mapRHCAdItemSlot = googletag.defineSlot(mapRHCAdItem.AdUnit, mapRHCAdItem.AdUnitSizesRHC, 'story-rhcad-' + rhcAdCounter);
1776								if(mapRHCAdItemSlot) {
1777									mapRHCAdItemSlot.defineSizeMapping(googletag.sizeMapping().build()).setTargeting('refresh', (refresh ? 'true' : 'false')).setTargeting('refreshdelayseconds', mapRHCAdItem.RefreshDelaySeconds || (isDesktopResolution ? EnhancedAdvertisingConfig.RefreshDelaySecondsDefaultDesktop : Enh
1777ancedAdvertisingConfig.RefreshDelaySecondsDefaultMobile)).setCollapseEmptyDiv(EnhancedAdvertisingConfig.CollapseEmptyDivs, false).addService(googletag.pubads());
1778								}
1779								else {
1780									console.warn('Something wrong with rhc ad slot \'' + 'story-rhcad-' + rhcAdCounter + '\', size(s) \'' + mapRHCAdItem.AdUnitSizesRHC.join('x') + '\', path \'' + mapRHCAdItem.AdUnit + '\'');
1781								}
1782								if(refresh) {
1783									el.setAttribute('data-shouldrefresh', '0');
1784									classList.add('story-rhccontent-placeholder-refresh-true');
1785								}
1786								else {
1787									classList.add('story-rhccontent-placeholder-refresh-false');
1788								}
1789
1790								classList.add('story-rhccontent-placeholder-ad');
1791								placeholder.id = 'story-rhcad-' + rhcAdCounter;
1792								placeholder.outerHTML = '<div class="story-rhccontent-placeholder-ad-extrahtml">' + mapRHCAdItem.ExtraHTML + '</div>' + placeholder.outerHTML;
1793								el.setAttribute('data-slot', mapRHCAdItem.AdUnit);
1794								googletag.display('story-rhcad-' + rhcAdCounter);
1795								$(w).trigger("wvcfe:storyrhcaditeminit", [$(el), $(placeholder), mapRHCAdItem, rhcAdCounter, rhcCounter, false, 'rhc', mapRHCAdItem.Type]);
1796								if(mapRHCAdItem.CustomEventName) {
1797									$(w).trigger(mapRHCAdItem.CustomEventName, [el, placeholder, mapRHCAdItem, rhcAdCounter, rhcCounter, false, 'rhc', mapRHCAdItem.Type]);
1798								}
1799								if(mapRHCAdItem.Javascript) {
1800									if(typeof mapRHCAdItem.Javascript === 'function') {
1801										mapRHCAdItem.Javascript.call(this, el, placeholder, mapRHCAdItem, rhcAdCounter, rhcCounter, false, 'rhc', mapRHCAdItem.Type);
1802									}
1803								}
1804								rhcAdCounter++;
1805							}
1806						}
1807						else if(mapRHCAdItem.Type == 'customcontent') {
1808							el.setAttribute('data-storycustomcontent', '1');
1809							classList.add('story-rhccontent-placeholder-customcontent');
1810							if(placeholder) {
1811								placeholder.innerHTML = mapRHCAdItem.HTML;
1812								classList.add('story-rhccontent-placeholder-notempty');
1813								$(w).trigger("wvcfe:storyrhcitemajaxinit", [$(el), $(placeholder), mapRHCAdItem, rhcCounter, false, 'rhc', mapRHCAdItem.Type]);
1814								if(mapRHCAdItem.CustomEventName) {
1815									$(w).trigger(mapRHCAdItem.CustomEventName, [$(el), $(placeholder), mapRHCAdItem, rhcCounter, false, 'rhc', mapRHCAdItem.Type]);
1816								}
1817								if(mapRHCAdItem.Javascript) {
1818									if(typeof mapRHCAdItem.Javascript === 'function') {
1819										mapRHCAdItem.Javascript.call(this, el, placeholder, mapRHCAdItem, rhcCounter, false, 'rhc', mapRHCAdItem.Type);
1820									}
1821								}
1822								el.classList.add('story-rhccontent-placeholder-finished');
1823							}
1824						}
1825						el.setAttribute('data-index', mapRHCAdItem.Index);
1826						rhcCounter++;
1827					}
1828					else {
1829						console.log('Missing placeholder: [data-id="story-rhc-item-' + rhcCounter + '"]');
1830					}
1831				} else if(el) { // All slots are used, mark current slot placeholder and the rest ones as completed and used
1832					var classList = el.classList;
1833					finalizeRemainingEmptyRHCSlotContainers(classList, false);
1834				}
1835				else {
1836					console.log('Missing RHC element');
1837				}
1838			}
1839
1840			function insertInlineSlot(el) {
1841				if(el) {
1842					el.classList.add('story-inlinecontent-placeholder-processing');
1843				}
1844				if(el && storyInlineContent.some(function(e) { return e.Used == false; })) {
1845					var classList = el.classList;
1846					var placeholder = el.querySelector('[data-id]');
1847					var tempFilteredInlineAds = storyInlineContent;
1848					if(placeholder) {
1849						var elemsIndexes = d.querySelectorAll('.story-inlinecontent-placeholder.story-inlinecontent-placeholder-completed[data-index]');
1850						var slotIndex = elemsIndexes.length ? parseInt(elemsIndexes[elemsIndexes.length - 1].getAttribute('data-index'), 10) : -1;
1851						tempFilteredInlineAds = storyInlineContent.filter(function(e){
1852							return slotIndex < e.Index && e.Used == false;
1853						});
1854						if(!tempFilteredInlineAds.length) {
1855							tempFilteredInlineAds = storyInlineContent.filter(function(e) { return e.Used == false && slotIndex < e.Index && e.Repeat == true; });
1856							if(!tempFilteredInlineAds.length) {
1857								// start from the first repeatable ad index
1858								tempFilteredInlineAds = storyInlineContent.filter(function(e) { return e.Used 
1858== false && e.Repeat == true; });
1859								if(!tempFilteredInlineAds.length) {
1860									finalizeRemainingEmptyInlineSlotContainers(classList, true);
1861
1862									return;
1863								}
1864							}
1865						}
1866						var mapInlineAdItem = tempFilteredInlineAds[0];
1867
1868						classList.remove('story-inlinecontent-placeholder-init');
1869						classList.remove('story-inlinecontent-placeholder-processing');
1870						classList.add('story-inlinecontent-placeholder-completed');
1871
1872						if(mapInlineAdItem.CSSClass) {
1873							mapInlineAdItem.CSSClass.split(' ').forEach(function(elem) {
1874								if(elem) {
1875									classList.add(elem);
1876								}
1877							});
1878						}
1879
1880						if(mapInlineAdItem.Type == 'gamadvert') {
1881							var refresh = EnhancedAdvertisingConfig.Refresh;
1882							el.setAttribute('data-storycustomcontent', '0');
1883							el.classList.add('story-inlinecontent-placeholder-ad');
1884							if(mapInlineAdItem.Sticky) {
1885								classList.add('story-inlinecontent-placeholder-sticky');
1886								placeholder.classList.add('sticky');
1887							}
1888							if(mapInlineAdItem.NoBackfill) {
1889								el.setAttribute('data-nobackfill', '1');
1890							}
1891							else {
1892								el.setAttribute('data-nobackfill', '0');
1893							}
1894
1895							if(mapInlineAdItem.Repeat) {
1896								classList.add('story-inlinecontent-placeholder-repeat-true');
1897							}
1898							else {
1899								classList.add('story-inlinecontent-placeholder-repeat-false');
1900							}
1901
1902							if(mapInlineAdItem.Refresh) {
1903								refresh = mapInlineAdItem.Refresh;
1904							}
1905							var mapInlineAdItemSlot = googletag.defineSlot(mapInlineAdItem.AdUnit, isDesktopResolution ? mapInlineAdItem.AdUnitSizesInlineDesktop : mapInlineAdItem.AdUnitSizesInlineMobile, 'story-inlinead-' + inlineAdCounter);
1906							if(mapInlineAdItemSlot) {
1907								mapInlineAdItemSlot.defineSizeMapping(googletag.sizeMapping().build()).setTargeting('refresh', (refresh ? 'true' : 'false')).setTargeting('refreshdelayseconds', mapInlineAdItem.RefreshDelaySeconds || (isDesktopResolution ? EnhancedAdvertisingConfig.RefreshDelaySecondsDefaultDesktop : Enh
1907ancedAdvertisingConfig.RefreshDelaySecondsDefaultMobile)).setCollapseEmptyDiv(EnhancedAdvertisingConfig.CollapseEmptyDivs, false).addService(googletag.pubads());
1908							}
1909							else {
1910								console.warn('Something wrong with inline ad slot \'' + 'story-inlinead-' + inlineAdCounter + '\', size(s) \'' + (isDesktopResolution ? mapInlineAdItem.AdUnitSizesInlineDesktop : mapInlineAdItem.AdUnitSizesInlineMobile).join('x') + '\', path \'' + mapInlineAdItem.AdUnit + '\'');
1911							}
1912							if(refresh) {
1913								el.setAttribute('data-shouldrefresh', '0');
1914								classList.add('story-inlinecontent-placeholder-refresh-true');
1915							}
1916							else {
1917								classList.add('story-inlinecontent-placeholder-refresh-false');
1918							}
1919
1920							placeholder.id = 'story-inlinead-' + inlineAdCounter;
1921							placeholder.outerHTML = '<div class="story-inlinecontent-placeholder-ad-extrahtml">' + mapInlineAdItem.ExtraHTML + '</div>' + placeholder.outerHTML;
1922							el.setAttribute('data-slot', mapInlineAdItem.AdUnit);
1923							googletag.display('story-inlinead-' + inlineAdCounter);
1924							$(w).trigger("wvcfe:storyinlineaditeminit", [$(el), $(placeholder), mapInlineAdItem, inlineAdCounter, inlineCounter, false, 'inline', mapInlineAdItem.Type]);
1925							if(mapInlineAdItem.CustomEventName) {
1926								$(w).trigger(mapInlineAdItem.CustomEventName, [el, placeholder, mapInlineAdItem, inlineAdCounter, inlineCounter, false, 'inline', mapInlineAdItem.Type]);
1927							}
1928							if(mapInlineAdItem.Javascript) {
1929								if(typeof mapInlineAdItem.Javascript === 'function') {
1930									mapInlineAdItem.Javascript.call(this, el, placeholder, mapInlineAdItem, inlineAdCounter, inlineCounter, false, 'inline', mapInlineAdItem.Type);
1931								}
1932							}
1933							inlineAdCounter++;
1934						}
1935						else if(mapInlineAdItem.Type == 'customcontent') {
1936							el.setAttribute('data-storycustomcontent', '1');
1937							el.classList.add('story-inlinecontent-placeholder-customcontent');
1938							placeholder.innerHTML = mapInlineAdItem.HTML;
1939							$(w).trigger("wvcfe:storyinlineitemajaxinit", [$(el), $(placeholder), mapInlineAdItem, inlineCounter, false, 'inline', mapInlineAdItem.Type]);
1940							if(mapInlineAdItem.CustomEventName) {
1941								$(w).trigger(mapInlineAdItem.CustomEventName, [$(el), $(placeholder), mapInlineAdItem, inlineCounter, false, 'inline', mapInlineAdItem.Type]);
1942							}
1943							if(mapInlineAdItem.Javascript) {
1944								if(typeof mapInlineAdItem.Javascript === 'function') {
1945									mapInlineAdItem.Javascript.call(this, el, placeholder, mapInlineAdItem, inlineCounter, false, 'inline', mapInlineAdItem.Type.toLowerCase());
1946								}
1947							}
1948							el.classList.add('story-inlinecontent-placeholder-finished');
1949
1950							var inlineCustomEvent = { dataId: (mapInlineAdItem.Index+1), slot: { getSlotElementId: function(){ return 'custom-inline'; }, getAdUnitPath: function(){return 'custom-inline'} }, isEmpty: false, size:[0,0] };
1951
1952							el.setAttribute('data-index', mapInlineAdItem.Index);
1953							slotRender(inlineCustomEvent);
1954							//$(w).trigger('abacus:inlinecontentrender', inlineCustomEvent);
1955						}
1956						el.setAttribute('data-index', mapInlineAdItem.Index);
1957						//el.setAttribute('data-index', inlineCounter);
1958						inlineCounter++;
1959					}
1960					else {
1961						console.log('Missing placeholder: [data-id="story-inline-item-' + inlineCounter + '"]');
1962					}
1963				} else if(el) {
1964					// All slots are used, mark current slot placeholder and the rest ones as completed and used
1965					var classList = el.classList;
1966					finalizeRemainingEmptyInlineSlotContainers(classList, true);
1967				}
1968				else {
1969					console.log('Missing inline element');
1970				}
1971			}
1972
1973			function finalizeRemainingEmptyRHCSlotContainers(classList, processremaining) {
1974				classList.remove('story-rhccontent-placeholder-init');
1975				classList.remove('story-rhccontent-placeholder-processing');
1976				classList.add('story-rhccontent-placeholder-completed');
1977				classList.add('story-rhccontent-placeholder-isempty');
1978				classList.add('story-rhccontent-placeholder-runoutofslots');
1979				classList.add('story-rhccontent-placeholder-finished');
1980
1981				if(processremaining) {
1982					for(var i = 0, elems = d.querySelectorAll('.story-rhccontent-placeholder.story-rhccontent-placeholder-init:not(.story-rhccontent-placeholder-processing)'), iL = elems.length; i < iL; i++) {
1983						var e = elems[i];
1984						if(e) {
1985							var c = e.classList;
1986							c.remove('story-rhccontent-placeholder-init');
1987							c.add('story-rhccontent-placeholder-completed');
1988							c.add('story-rhccontent-placeholder-isempty');
1989							c.add('story-rhccontent-placeholder-runoutofslots');
1990							c.add('story-rhccontent-placeholder-finished');
1991						}
1992					}
1993				}
1994			}
1995
1996			function finalizeRemainingEmptyInlineSlotContainers(classList, processremaining) {
1997				classList.remove('story-inlinecontent-placeholder-init');
1998				classList.remove('story-inlinecontent-placeholder-processing');
1999				classList.add('story-inlinecontent-placeholder-completed');
2000				classList.add('story-inlinecontent-placeholder-isempty');
2001				classList.add('story-inlinecontent-placeholder-runoutofslots');
2002				classList.add('story-inlinecontent-placeholder-finished');
2003
2004				if(processremaining) {
2005					for(var i = 0, elems = d.querySelectorAll('.story-inlinecontent-placeholder.story-inlinecontent-placeholder-init:not(.story-inlinecontent-placeholder-processing)'), iL = elems.length; i < iL; i++) {
2006						var e = elems[i];
2007						if(e) {
2008							var c = e.classList;
2009							c.remove('story-inlinecontent-placeholder-init');
2010							c.add('story-inlinecontent-placeholder-completed');
2011							c.add('story-inlinecontent-placeholder-isempty');
2012							c.add('story-inlinecontent-placeholder-runoutofslots');
2013							c.add('story-inlinecontent-placeholder-finished');
2014						}
2015					}
2016				}
2017			}
2018
2019			function updateInlinePlaceholderClasses(node, status, minHeight) {
2020				node.classList.remove('story-inlinecontent-placeholder-isempty');
2021				node.classList.remove('story-inlinecontent-placeholder-notempty');
2022				node.classList.add((status ? 'story-inlinecontent-placeholder-isempty' : 'story-inlinecontent-placeholder-notempty'));
2023				node.classList.add('story-inlinecontent-placeholder-ad-completed');
2024				if(!status) {
2025					var computedMinHeightValue = w.getComputedStyle(node).minHeight || 0;
2026					var computedMinHeight = parseInt(computedMinHeightValue, 10);
2027					if(minHeight > computedMinHeight) {
2028						node.style.minHeight = minHeight + 'px';
2029					}
2030				}
2031			}
2032
2033			function updateRHCPlaceholderClasses(node, status) {
2034				node.classList.remove('story-rhccontent-placeholder-ad-init');
2035				node.classList.remove('story-rhccontent-placeholder-isempty');
2036				node.classList.remove('story-rhccontent-placeholder-notempty');
2037				node.classList.add((status ? 'story-rhccontent-placeholder-isempty' : 'story-rhccontent-placeholder-notempty'));
2038				node.classList.add('story-rhccontent-placeholder-ad-completed');
2039			}
2040
2041			function initRHCHeightCalc() {
2042				updateRHCFirstandLastItemStyles();
2043				// readjust height if no in progress/loading ads as the height might change on storytext or RHC
2044				if(!d.querySelectorAll('#rhcreflow-extra .story-rhccontent-placeholder.story-rhccontent-placeholder-completed.story-rhccontent-placeholder-ad-init').length) {
2045					readjusRHCHeight();
2046				}
2047				else {
2048					setTimeout(function() {
2049						initRHCHeightCalc();
2050					}, 0);
2051				}
2052			}
2053
2054			function isInViewport(element) {
2055				var rect = element.getBoundingClientRect();
2056				var height = w.innerHeight || d.documentElement.clientHeight;
2057				var width = w.innerWidth || d.documentElement.clientWidth;
2058
2059				return (
2060					rect.right >= 0 &&
2061					rect.bottom >= 0 &&
2062					rect.left <= width &&
2063					rect.top <= height
2064				);
2065			}
2066
2067			function processElementsInViewport() {
2068				var adsInlinePlaceholders = d.querySelectorAll('.storytext .story-inlinecontent-placeholder'); //PWVD-893 : change from rhccontent
2069				var adsRHCPlaceholders = d.querySelectorAll('#rhcreflow-extra .story-rhccontent-placeholder');
2070				if(adsInlinePlaceholders || adsRHCPlaceholders) {
2071					if(adsInlinePlaceholders) {
2072						adsInlinePlaceholders.forEach(function(el) {
2073							var classList = el.classList;
2074							if(!isInViewport(el)) {
2075								classList.remove('story-inlinecontent-placeholder-isinviewport');
2076								classList.add('story-inlinecontent-placeholder-isnotinviewport');
2077							}
2078							else {
2079								classList.remove('story-inlinecontent-placeholder-isnotinviewport');
2080								classList.add('story-inlinecontent-placeholder-isinviewport');
2081							}
2082						});
2083					}
2084					else {
2085						adsRHCPlaceholders.forEach(function(el) {
2086							var classList = el.classList;
2087							if(!isInViewport(el)) {
2088								classList.remove('story-rhccontent-placeholder-isinviewport');
2089								classList.add('story-rhccontent-placeholder-isnotinviewport');
2090							}
2091							else {
2092								classList.remove('story-rhccontent-placeholder-isnotinviewport');
2093								classList.add('story-rhccontent-placeholder-isinviewport');
2094							}
2095						});
2096					}
2097				}
2098			}
2099
2100			function adjustRHCHeightAndInitialAds() {
2101				var output = [];
2102				var googletag = w.googletag || {};
2103				var rhcreflowExtra = d.querySelector('#rhcreflow-extra');
2104				if(rhcreflowExtra) {
2105					rhcreflowExtra.innerHTML = '';
2106					minRHCSlotsToFitIn = (minRHCSlots > 0 ? minRHCSlots : 2);
2107					maxRHCSlotsToFitIn = (maxRHCSlots > 0 ? maxRHCSlots : 0);
2108					for(var i = 0, iL = Math.max(storyRHCContent.length, maxRHCSlotsToFitIn); i < iL; i++) {
2109						rhcCounter = i + 1;
2110						output.push("<div class=\"story-rhccontent-placeholder story-rhccontent-placeholder-init item-notin-viewport\" data-storyrhccontainer=\"" + rhcCounter + "\"><div class=\"story-rhccontent-placeholder-inner\" data-id=\"story-rhc-item-" + rhcCounter + "\" data-storyrhcitem=\"" + rhcCounter + "\"></div></div>");
2111						if(rhcCounter >= maxRHCSlotsToFitIn) break;
2112					}
2113					d.querySelector('#rhcreflow-extra').innerHTML = output.join('');
2114
2115					if('IntersectionObserver' in w && 'IntersectionObserverEntry' in w && 'intersectionRatio' in w.IntersectionObserverEntry.prototype) {
2116						d.querySelectorAll('.story-rhccontent-placeholder.story-rhccontent-placeholder-init').forEach(function(el) {
2117							if(el) {
2118								observer = new IntersectionObserver(function(entries) {
2119									return observerCallback(entries);
2120								}, { root: null, rootMargin: "50px 0px 50px 0px", threshold: [0, 0.01, 0.99, 1] });
2121								observer.observe(el);
2122							}
2123						});
2124
2125						var observerCallback = function(entries) {
2126							return entries.forEach(function(entry, i) {
2127								if(entry.isIntersecting) {
2128									entry.target.classList.remove('item-notin-viewport');
2129									entry.target.classList.add('item-in-viewport');
2130								}
2131								else {
2132									entry.target.classList.remove('item-in-viewport');
2133									entry.target.classList.add('item-notin-viewport');
2134								}
2135							});
2136						}
2137					}
2138
2139					googletag.cmd = googletag.cmd || [];
2140					googletag.cmd.push(function() {
2141						var rhcEl = d.querySelector('.story-rhccontent-placeholder.story-rhccontent-placeholder-init:not(.story-rhccontent-placeholder-completed):not(.story-rhccontent-placeholder-processing)');
2142						var hasAnyRHCLoadedBefore = d.querySelectorAll('.story-rhccontent-placeholder.story-rhccontent-placeholder-completed');
2143						if(rhcEl && !hasAnyRHCLoadedBefore.length) {
2144							insertRHCSlot(rhcEl);
2145							d.body.classList.add('enhanced-advertising-rhc-init');
2146						}
2147					});
2148
2149					updateRHCContainerState();
2150				}
2151			}
2152
2153			function isStoryTextTallerThanRHC() {
2154				var calcHeight = 0;
2155				if(w.matchMedia("screen and (min-width: 1023px)").matches && !d.body.classList.contains('story-full-layout')) {
2156					var h = 0, colmain = d.getElementById('colmain').clientHeight;
2157					d.querySelectorAll('#rightcolumn_sleeve > *:not(#rhcreflow-extra)').forEach(function(item) {
2158						h = getAbsoluteHeight(item);
2159						item.setAttribute('data-height', h);
2160						calcHeight += h;
2161					});
2162					d.querySelectorAll('#rhcreflow-extra > *').forEach(function(item) {
2163						h = getAbsoluteHeight(item);
2164						item.setAttribute('data-height', h);
2165						calcHeight += h;
2166					});
2167					return {
2168						"canAdd": colmain > calcHeight, "delta": colmain - calcHeight
2169					};
2170				}
2171				else {
2172					return { "canAdd": false, "delta": 0 };
2173				}
2174
2175			}
2176
2177			function canAddRHCItem() {
2178				// check whether inline and RHC ads finished loading, otherwise ignore
2179				var storyRHCSlotHeight = EnhancedAdvertisingConfig.RHCMinHeightForSlotInsert;
2180				var calcHeight = 0;
2181				if(w.matchMedia("screen and (min-width: 1023px)").matches && !d.body.classList.contains('story-full-layout')) {
2182					var h = 0, innerChild = 0;
2183					d.querySelectorAll('#rightcolumn_sleeve > *:not(#rhcreflow-extra)').forEach(function(item) {
2184						h = getAbsoluteHeight(item);
2185						item.setAttribute('data-height', h);
2186						calcHeight += h;
2187					});
2188					d.querySelectorAll('#rhcreflow-extra > *').forEach(function(item) {
2189						//innerChild = (item || item.querySelector('.story-rhccontent-placeholder-inner') || item.firstChild);
2190						//h = getAbsoluteHeight(innerChild);
2191						//if (h == 0) {
2192						//    h = getAbsoluteHeight(item);
2193						//}
2194						h = getAbsoluteHeight(item);
2195						item.setAttribute('data-height', h);
2196						calcHeight += h;
2197					});
2198					var result = {
2199						"canAddRHCItem": d.getElementById('colmain').clientHeight > calcHeight + storyRHCSlotHeight,
2200						"colmainTaller": d.getElementById('colmain').clientHeight > calcHeight
2201					};
2202
2203					return result;
2204				}
2205				else {
2206					return { "canAddRHCItem": false, "colmainTaller": false };
2207				}
2208			}
2209
2210			function readjusRHCHeight() {
2211				if(w.matchMedia("screen and (min-width: 1023px)").matches && !d.body.classList.contains('story-full-layout')) {
2212					d.getElementById('rightcolumn_sleeve').style.minHeight = d.getElementById('colmain').clientHeight + 'px';
2213				}
2214				var elemsIndexes = d.querySelectorAll('.story-rhccontent-placeholder.story-rhccontent-placeholder-completed[data-index]');
2215				var slotIndex = elemsIndexes.length ? parseInt(elemsIndexes[elemsIndexes.length - 1].getAttribute('data-index'), 10) : -1;
2216				var rhcEl = d.querySelector('.story-rhccontent-placeholder.story-rhccontent-placeholder-init:not(.story-rhccontent-placeholder-completed):not(.story-rhccontent-placeholder-processing)');
2217
2218				var canAdd = canAddRHCItem();
2219				var hasInsertIfNoRHCSpace = storyRHCContent.some(function(e) { return e.InsertIfNoRHCSpace == true && e.Used == false && e.Index > slotIndex; });
2220
2221				if(!rhcEl || (!canAdd.canAddRHCItem && !hasInsertIfNoRHCSpace && !d.querySelectorAll('.story-inlinecontent-placeholder.story-inlinecontent-placeholder-init:not(.story-inlinecontent-processing)').length)) {
2222					d.body.classList.add('enhanced-advertising-rhc-completed');
2223				}
2224				else {
2225					d.body.classList.remove('enhanced-advertising-rhc-completed');
2226				}
2227
2228				//var rhcElementsInitialised = d.querySelectorAll('.story-rhccontent-placeholder.story-rhccontent-placeholder-completed:not(.story-rhccontent-placeholder-init):not(.story-rhccontent-placeholder-processing):not(.story-rhccontent-placeholder-finished)');
2229
2230				var rhcElementsInitialised = d.querySelectorAll('.story-rhccontent-placeholder.story-rhccontent-placeholder-completed:not(.story-rhccontent-placeholder-init):not(.story-rhccontent-placeholder-processing):not(.story-rhccontent-placeholder-finished):not(.story-rhccontent-placeholder-isempty)');
2231
2232				//var rhcElemInit = $('.story-rhccontent-placeholder.story-rhccontent-placeholder-completed'); //PWVD-749
2233				//var classesToExclude = ['init', 'processing', 'finished'].map( cls => '.story-rhccontent-placeholder-' + cls); //, 'isempty'
2234				//rhcElemInit = rhcElemInit.find( classesToExclude.join(',') ).remove();
2235
2236				if(rhcEl && (canAdd.canAddRHCItem || hasInsertIfNoRHCSpace) && rhcElementsInitialised.length == 0) {
2237					googletag.cmd.push(function() {
2238						insertRHCSlot(rhcEl);
2239					});
2240				}
2241			}
2242
2243			function updateRHCFirstandLastItemStyles() {
2244				d.querySelectorAll('#rhcreflow-extra > *:not(.story-rhccontent-placeholder-init):not(.story-rhccontent-placeholder-processing):not(.story-rhccontent-placeholder-isempty)').forEach(function(item, index, data) {
2245					item.classList.remove('story-rhccontent-placeholder-first');
2246					item.classList.remove('story-rhccontent-placeholder-last');
2247					if(index == 0) {
2248						item.classList.add('story-rhccontent-placeholder-first');
2249					}
2250					if(index == data.length - 1) {
2251						item.classList.add('story-rhccontent-placeholder-last');
2252					}
2253				});
2254				if((d.querySelectorAll('.storytext .story-inlinecontent-placeholder.story-inlinecontent-placeholder-completed').length == d.querySelectorAll('.storytext .story-inlinecontent-placeholder.story-inlinecontent-placeholder-finished').length) && !d.querySelectorAll('.storytext .story-inlinecontent-placeholder.story-inlinecontent-placeholder-init').length) {
2255					d.body.classList.add('enhanced-advertising-inline-completed');
2256				}
2257				else {
2258					d.body.classList.remove('enhanced-advertising-inline-completed');
2259				}
2260			}
2261
2262			w.addEventListener('scroll', function(e) {
2263				if(!ticking) {
2264					w.requestAnimationFrame(function() {
2265						processElementsInViewport();
2266						readjusRHCHeight();
2267						ticking = false;
2268					});
2269					ticking = true;
2270				}
2271			}, true);
2272
2273			w.addEventListener('resize', function(e) {
2274				if(!ticking) {
2275					w.requestAnimationFrame(function() {
2276						processElementsInViewport();
2277						readjusRHCHeight();
2278						ticking = false;
2279					});
2280					ticking = true;
2281				}
2282			}, true);
2283
2284			w.addEventListener("abacus:loadcontent:complete", function(evt, context) {
2285				readjusRHCHeight();
2286			}, true);
2287
2288			if(d.querySelector('#story .storytext img.lazyload')) {
2289				d.addEventListener('lazyloaded', function(e) {
2290					if(w.googletag && googletag.apiReady) {
2291						if(getClosestParent(e.target, '.storytext')) {
2292							readjusRHCHeight();
2293						}
2294					}
2295				});
2296			}
2297
2298			w.addEventListener("abacus:advertb:loaded", function(evt, context) {
2299				readjusRHCHeight();
2300			}, true);
2301
2302			w.addEventListener("abacus:gamadvert:loaded", function(evt, context) {
2303				readjusRHCHeight();
2304			}, true);
2305
2306			w.addEventListener("abacus:readjusrhcheight", function(evt, context) {
2307				readjusRHCHeight();
2308			}, true);
2309
2310			//w.addEventListener('abacus:inlinecontentrender', function(customEvent) {
2311			//	slotRender(customEvent);
2312			//}, true);
2313		}
2314	});
2315})(window, document);
2316</script>
2316
2317	
2318	<meta name="citation_journal_title" content="Drug Target Review"/>
2319	
2320
2321
2322	
2323
2324</head>
2325<body id="story" class="M1-master js-disabled  story-style-1 story-format-1019 story-type-1120 enhanced-advertising enhanced-advertising-rhc-empty hasRelatedArticles">
2326	
2327	<!-- Abacus Google Tag Manager (noscript) -->
vendor: 68 bytes, lines 2327-2328
2327
2328<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=
2328GTM-N334KSM2
vendor: 83 bytes, lines 2328-2329
2328"
2329height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
2330<!-- Abacus End Google Tag Manager (noscript) -->
2331
2332<!-- RP Google Tag Manager (noscript) -->
vendor: 68 bytes, lines 2332-2333
2332
2333<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=
2333GTM-KM6ZDN2
vendor: 83 bytes, lines 2333-2334
2333"
2334height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
2335<!-- RP End Google Tag Manager (noscript) -->
2336	
2337<!--[if lte IE 10]>
2338<link rel="stylesheet" href="/CSS/dest/notsupported.css">
2339<div class="notSupported">
2340	<div class="sleeve">
2341		<span id="logo" class="vector-icon i-brand-logo i-brand-logo-dims"></span>
2342		<h2>
2343			Your browser is not supported
2344		</h2>
2345		<p>
2346			Sorry but it looks as if your browser is out of date. To get the best experience using our site we recommend that you upgrade or switch browsers.
2347		</p>
2348		<p class="buttonContainer">
2349			<a class="button" href="https://www.google.co.uk/webhp?ion=1&espv=2&ie=UTF-8#q=update+my+browser" target="_blank">Find a solution</a>
2350		</p>
2351	</div>
2352</div>
2353<![endif]-->
2354	
2354<script type="text/javascript">document.body.className = document.body.className.replace('js-disabled', ''); document.cookie = "_js=1; path=/";</script>
2354
2355	
2356
2357
2358	<div id="wrapper">
2359		
2360<ul id="skiplinks"><li><a href="#wrapper_sleeve">Skip to main content</a></li><li><a href="#mainnav">Skip to navigation</a></li></ul>
2361		
2362<header id="masthead" class="masthead">
2363	<div class="htmlContent">
2364  
2365</div>
2366	
2367	
2368	<!--
2369<div class="leaderboard">
2370    <div class="ad">
2371	<div class="dt-ad-250 mob-ad-250">
2372        
2373<script type="text/javascript">
2374var rnd = window.rnd || Math.floor(Math.random()*10e6);
2375var pid1188588 = window.pid1188588 || rnd;
2376var plc1188588 = window.plc1188588 || 0;
2377var abkw = window.abkw || '';
2378var absrc = 'https://servedbyadbutler.com/adserve/;ID=167548;size=0x0;setID=1188588;type=js;sw='+screen.width+';sh='+screen.height+';spr='+window.devicePixelRatio+';kw='+abkw+';pid='+pid1188588+';place='+(plc1188588++)+';rnd='+rnd+'';
2379document.write('<scr'+'ipt src="'+absrc+'" type="text/javascript"></scr'+'ipt>');
2380</script>
2380
2381
2382	</div>
2383    </div>
2384</div>
2385-->
2386
2387<div class="leaderboard">
2388    <div class="ad">
2389        <div class="dt-ad-250 mob-ad-250">
2390            <!-- DTR - Billboard (Dynamic) [js] -->
2391            
2391<script type="text/javascript">
2392            if (!hideLeaderboard) {
2393                var rnd = window.rnd || Math.floor(Math.random()*10e6);
2394                var pid1188588 = window.pid1188588 || rnd;
2395                var plc1188588 = window.plc1188588 || 0;
2396                var abkw = window.abkw || '';
2397                var absrc = 'https://servedbyadbutler.com/adserve/;ID=167548;size=0x0;setID=1188588;type=js;sw='+screen.width+';sh='+screen.height+';spr='+window.devicePixelRatio+';kw='+abkw+';pid='+pid1188588+';place='+(plc1188588++)+';rnd='+rnd+'';
2398
2399                document.write('<scr'+'ipt src="'+absrc+'" type="text/javascript"></scr'+'ipt>');
2400            }
2401            </script>
2401
2402        </div>
2403    </div>
2404</div>
2405
2406
2407<script>
2408(function () {
2409    var isGamTest = new URLSearchParams(window.location.search).get('gamtest') === '1';
2410/*
2411    const rootSections = ['/knowledge-hub', '/brand-directory'];
2412    const path = window.location.pathname;
2413
2414    const skipMastLB = rootSections.some(
2415        section => path === section || path.startsWith(`${section}/`)
2416    );
2417*/
2418
2419    if (!isGamTest) return;
2420
2421    document.currentScript.insertAdjacentHTML(
2422        'beforebegin',
2423        '<div class="leaderboard showMenuPushed">' +
2424            '<div class="ad">' +
2425                '<div id="div-gpt-ad-MastLB" class="mob-ad-100"></div>' +
2426            '</div>' +
2427        '</div>'
2428    );
2429
2430    googletag.cmd.push(function () {
2431        googletag.display('div-gpt-ad-MastLB');
2432    });
2433
2434})();
2435</script>
2435
2436	<div class="mast container full" role="banner" data-multi-toggle-menu>
2437		<div class="inner-sleeve" data-menu-open-pushed>
2438			<div class="mastheadLogo">
2439    <a href="/">
2440        <span class="logoIcon">
2441            <span class="assistive">Site name</span>
2442        </span>
2443    </a>
2444</div>
2445<div id="print_logo">
2446    <img src="/magazine/dest/graphics/logo/print_logo.png" alt="" />
2447</div>
2448<div class="mastheadMobileLogo">
2449    <a href="/">
2450        <span class="logoIcon">
2451            <span class="assistive">Site name</span>
2452        </span>
2453    </a>
2454</div>
2455			
2456			<div class="mastControls">
2457				<nav data-multi-toggle-item="" class="mastNav loggedout hide"><span class="toggleIcon"><a href="#mastnav" data-toggle-button=""><span class="assistive">Mast navigation</span></a></span><ul id="mastnav" data-toggle-element=""><li><a href="https://account.drugtargetreview.com/register?returl=https%3a%2f%2fwww.drugtargetreview.com%2Fthankyou">Become a member</a></li><li><a class="popup signIn" href="https://www.drugtargetreview.com/sign-in">Sign In</a></li></ul></nav>
2458				<div class="mastheadSearch hide" data-multi-toggle-item="">
2459  <span class="toggleIcon">
2460    <a href="#search" data-toggle-button="">
2461      <span class="assistive">Search our site</span>
2462    </a>
2463  </span>
2464  <form action="https://www.drugtargetreview.com/searchresults" method="get" id="mastsearch" data-toggle-element="">
2465    <fieldset>
2466      <div>
2467        <label for="search">Search our site</label>
2468        <input type="text" id="search" value="" name="qkeyword" class="text" placeholder="Search our site" />
2469        <button class="mastSearch" type="submit">Search</button>
2470      </div>
2471    </fieldset>
2472  </form>
2473</div>
2474				
2475
2476<div class="menuToggle">
2477	<span class="toggleIcon"><a href="#mobilemenu" data-menu-toggle-button=""><span class="assistive">Menu</span></a></span>
2478</div>
2479			</div>
2480		</div>
2481	</div>
2482	<div class="menuContainer">
2483		<div class="mobileMenu" id="mobilemenu">
2484  <div class="sleeve">
2485    <a class="menuClose" href="#wrapper">
2486      <span>Close<span class="assistive"> menu</span></span>
2487    </a>
2488    <ul class="main">
2489      <li class="home-icon">
2490        <a href="https://www.drugtargetreview.com/">
2491          <span>Home</span>
2492        </a>
2493      </li>
2494      <li class="">
2495        <a href="https://www.drugtargetreview.com/news">
2496          <span>News</span>
2497        </a>
2498      </li>
2499      <li class="">
2500        <a href="https://www.drugtargetreview.com/oncology">
2501          <span>Oncology</span>
2502        </a>
2503      </li>
2504      <li class="">
2505        <a href="https://www.drugtargetreview.com/ai">
2506          <span>AI</span>
2507        </a>
2508      </li>
2509      <li class="hasChildren ">
2510        <a href="https://www.drugtargetreview.com/topics" aria-expanded="false">
2511          <span>Topics</span>
2512        </a>
2513        <ul aria-hidden="true" class="subMenu hide">
2514          <li class="parentBack">
2515            <a class="toolbar" href="#">
2516              <span class="header">Back<span class="assistive"> to parent navigation item</span></span>
2517              <span class="btn backBtn">
2518                <i></i>
2519              </span>
2520            </a>
2521          </li>
2522          <li class="parentNav">
2523            <a href="https://www.drugtargetreview.com/topics">
2524              <span>Topics</span>
2525            </a>
2526          </li>
2527          <li class="">
2528            <a href="https://www.drugtargetreview.com/topics/technology">
2529              <span>Technology</span>
2530            </a>
2531          </li>
2532          <li class="">
2533            <a href="https://www.drugtargetreview.com/topics/resources">
2534              <span>Resources</span>
2535            </a>
2536          </li>
2537          <li class="">
2538            <a href="https://www.drugtargetreview.com/topics/diseases">
2539              <span>Diseases</span>
2540            </a>
2541          </li>
2542          <li class="">
2543            <a href="https://www.drugtargetreview.com/topics/drugs-and-therapies">
2544              <span>Drugs and therapies</span>
2545            </a>
2546          </li>
2547          <li class="">
2548            <a href="https://www.drugtargetreview.com/topics/research-and-development">
2549              <span>Research and development</span>
2550            </a>
2551          </li>
2552          <li class="">
2553            <a href="https://www.drugtargetreview.com/topics/tools-and-techniques">
2554              <span>Tools and techniques</span>
2555            </a>
2556          </li>
2557          <li class="">
2558            <a href="https://www.drugtargetreview.com/topics/business">
2559              <span>Business</span>
2560            </a>
2561          </li>
2562        </ul>
2563      </li>
2564      <li class="">
2565        <a href="https://www.drugtargetreview.com/webinars">
2566          <span>Webinars</span>
2567        </a>
2568      </li>
2569      <li class="">
2570        <a href="https://www.drugtargetreview.com/reports">
2571          <span>Reports</span>
2572        </a>
2573      </li>
2574    </ul>
2575    
2576  </div>
2577</div>
2578<div class="mobileMenuClose"></div>
2579		<div id="mainnav" class="desktopNavigation container" data-menu-open-pushed=""><div class="dropdown vanityPanel"><div class="inner-sleeve"></div></div><div class="inner-sleeve"><ul class="main preJS"><li data-navcode="83" data-rootnavcode="83" class="current home-icon"><a href="https://www.drugtargetreview.com/"><span>Home</span></a></li><li data-navcode="201" data-rootnavcode="201"><a href="https://www.drugtargetreview.com/news"><span>News</span></a></li><li data-navcode="202" data-rootnavcode="202"><a href="https://www.drugtargetreview.com/oncology"><span>Oncology</span></a></li><li data-navcode="203" data-rootnavcode="203"><a href="https://www.drugtargetreview.com/ai"><span>AI</span></a></li><li data-navcode="204" data-rootnavcode="204" class="hasChildren oneSubNav"><a href="https://www.drugtargetreview.com/topics"><span>Topics</span></a><div class="dropdown"><div class="inner-sleeve"><ul><li class="subnav"><ul><li data-navcode="207" data-rootnavcode="204" class=""><a href="https://www.drugtargetreview.com/topics/technology"><span>Technology</span></a></li><li data-navcode="208" data-rootnavcode="204" class=""><a href="https://www.drugtargetreview.com/topics/resources"><span>Resources</span></a></li><li data-navcode="209" data-rootnavcode="204" class=""><a href="https://www.drugtargetreview.com/topics/diseases"><span>Diseases</span></a></li><li data-navcode="210" data-rootnavcode="204" class=""><a href="https://www.drugtargetreview.com/topics/drugs-and-therapies"><span>Drugs and therapies</span></a></li><li data-navcode="211" data-rootnavcode="204" class=""><a href="https://www.drugtargetreview.com/topics/research-and-development"><span>Research and development</span></a></li><li data-navcode="212" data-rootnavcode="204" class=""><a href="https://www.drugtargetreview.com/topics/tools-and-techniques"><span>Tools and techniques</span></a></li><li data-navcode="213" data-rootnavcode="204" class=""><a href="https://www.drugtargetreview.com/topics/business"><span>Business</span></a></li></ul></li><li class="promotedStory"><a href="/aacr-2026-part-two-integrating-ai-spatial-biology-and-next-gen-therapeutics/2135691.article" class="image"><div class="image"><img src="https://dft2fymcn9opj.cloudfront.net/Pictures/274x183/3/1/6/21316_conferencehall_256294.jpg" loading="lazy" class="lazyloaded" alt="Conference Hall"></div><div class="captionBlock"><span class="title">AACR 2026 part two: integrating AI, spatial biology and next-gen therapeutics</span></div></a></li><li class="promotedStory"><a href="/aacr-2026-part-one-ai-design-precision-biology-and-the-next-wave-of-oncology-innovation/2135490.article" class="image"><div class="image"><img src="https://dft2fymcn9opj.cloudfront.net/Pictures/274x183/9/8/7/20987_aacr2_321859_crop.jpg" loading="lazy" class="lazyloaded" alt="AACR 2"></div><div class="captionBlock"><span class="title">AACR 2026 part one: AI design, precision biology and the next wave of oncology innovation</span></div></a></li><li class="promotedStory"><a href="/home/when-scale-meets-insight-reinventing-spr-for-the-future-of-drug-discovery/2135329.article" class="image"><div class="image"><img src="https://dft2fymcn9opj.cloudfront.net/Pictures/274x183/7/4/7/20747_16_still01_boandlexilookingatcomputer_cleaned_391925.jpg" loading="lazy" class="lazyloaded" alt="16_Still01_Bo and Lexi looking at computer_cleaned"></div><div class="captionBlock"><span class="title">
2579When scale meets insight: reinventing SPR for the future of drug discovery</span></div></a></li></ul></div></div></li><li data-navcode="214" data-rootnavcode="214"><a href="https://www.drugtargetreview.com/webinars"><span>Webinars</span></a></li><li data-navcode="271" data-rootnavcode="271"><a href="https://www.drugtargetreview.com/reports"><span>Reports</span></a></li><li class="more hide"><a href="#mobilemenu" data-menu-toggle-button="" aria-expanded="false"><span>
2580                More<span class="assistive"> navigation items</span></span></a></li></ul></div></div><div class="desktopNavigationSpace"></div>
2581	</div>
2582</header>
2583
2584
2585<!-- 
2586<div class="ad-style1 showMenuPushed">
2587    <div class="sleeve">     
2588         Insert ad code here
2589        </div></div>
2590		   -->
2591		<div id="wrapper_sleeve" data-menu-open-pushed>
2592			
2593    
2594    <div class="storyLayout standard"></div>
2595
2596 
2597
2598    <div class="headerWrapper">
2599        
2600
2601
2602
2603
2604
2605
2606        
2607        <div class="container titleByline">
2608            <div class="inner-sleeve">
2609                
2610                
2611                <div class="story_title">
2612  <h1>AACR 2026 part two: integrating AI, spatial biology and next-gen therapeutics</h1>
2613</div>
2614<p class="byline meta"> <span class="author"><a href="https://www.drugtargetreview.com/sam-wightwick/338374.bio" rel="author">Sam Wightwick</a></span><span class="date" data-date-timezone="{&quot;publishdate&quot;: &quot;2026-06-11T12:00:00&quot;,&quot;format&quot;: &quot;MMMM DD, yyyy&quot;}">2026-06-11T12:00:00+01:00</span></p>
2615            </div>
2616        </div>
2617    </div>
2618       
2619
2620
2621    
2622    
2623
2624			<div id="columns" class="container">
2625				<div id="colwrapper" class="inner-sleeve">
2626					<div id="colmain" role="main" class="restrictedcontent">
2627						<div id="content">
2628							<div id="content_sleeve">
2629								
2630    <div class="contentWrapper">
2631        <div class="storyContentWrapper">
2632            <div class="pageOptions">
2633  <ul><li>
2634	<a href="https://www.facebook.com/sharer/sharer.php?u=https%3a%2f%2fwww.drugtargetreview.com%2faacr-2026-part-two-integrating-ai-spatial-biology-and-next-gen-therapeutics%2f2135691.article&e=AACR+2026+part+two%3a+integrating+AI%2c+spatial+biology+and+next-gen+therapeutics"  class="facebook" title="Share this on Facebook" target="_blank"></a>
2635	</li>
2636	<li>
2637      <a href="https://twitter.com/intent/tweet?text=AACR+2026+part+two%3a+integrating+AI%2c+spatial+biology+and+next-gen+therapeutics&url=https%3a%2f%2fwww.drugtargetreview.com%2faacr-2026-part-two-integrating-ai-spatial-biology-and-next-gen-therapeutics%2f2135691.article" class="twitter" title="Share this on Twitter" target="_blank"></a>
2638	</li>
2639	<li>
2640      <a href="https://www.linkedin.com/cws/share?url=https%3a%2f%2fwww.drugtargetreview.com%2faacr-2026-part-two-integrating-ai-spatial-biology-and-next-gen-therapeutics%2f2135691.article" class="linkedin" title="Share this on Linked in" target="_blank"></a>
2641	</li>
2642	<li>
2643		<a href="https://wa.me/?text=https%3a%2f%2fwww.drugtargetreview.com%2faacr-2026-part-two-integrating-ai-spatial-biology-and-next-gen-therapeutics%2f2135691.article!"  data-action="share/whatsapp/share" class="whatsapp" title="Share this on Whatsapp"  target="_blank"></a>
2644	</li><li><a href="mailto:?subject=AACR 2026 part two: integrating AI, spatial biology and next-gen therapeutics&amp;body=https://www.drugtargetreview.com/aacr-2026-part-two-integrating-ai-spatial-biology-and-next-gen-therapeutics/2135691.article" class="email" title="Email this article"></a></li>
2645  </ul>
2646  <ul class="pageOptions_right">
2647    <li aria-live="polite"><a href="#commentsJump" class="commentButton scrollTo"><div class="commentCount"><span class="commentText commentHidden">No comments</span></div>
2648        <div class="commentIcon">
2649        </div></a></li>
2650    <li class=" last" aria-live="polite" data-cache-bust="true" data-ajax-load-content="" data-url="/2135691/bookmark">
2651    </li>
2652  </ul>
2653</div>
2654            <div class="articleWrapper">
2655                <div class="articleContent">
2656                    
2657
2658
2659                    
2660                    <div class="standfirst"><p>In part two of Drug Target Review’s AACR 2026 coverage, we look at how oncology innovators are bridging the gap between complex biology and clinical impact across RAS targeting, immunotherapy, spatial biology and ADC development.</p></div><div class="storytext"><div class="inline_image image_size_full" data-attachment="21316" data-sequence="1">
2661<p class="picture"><img alt="Conference Hall" src="https://dft2fymcn9opj.cloudfront.net/Pictures/480xany/3/1/6/21316_conferencehall_256294.jpg" sizes="(max-width: 1023px) 100vw, 780px" srcset="https://dft2fymcn9opj.cloudfront.net/Pictures/480xany/3/1/6/21316_conferencehall_256294.jpg 480w,https://dft2fymcn9opj.cloudfront.net/Pictures/600xany/3/1/6/21316_conferencehall_256294.jpg 600w,https://dft2fymcn9opj.cloudfront.net/Pictures/780xany/3/1/6/21316_conferencehall_256294.jpg 780w" loading="eager" class="lazyloaded" width="2856" height="2142"></p>
2662</div>
2663<p>At the <a href="https://www.aacr.org/meeting/aacr-annual-meeting-2026/" target="_blank" rel="noopener noreferrer">American Association for Cancer Research (AACR) Annual Meeting 2026</a>, <em>Drug Target Review</em> continued its discussions with oncology drug developers, platform innovators and translational scientists exploring how automation, AI and increasingly sophisticated therapeutic modalities are helping to change experimental biology.</p>
2664<p>While part one focused on AI-driven discovery and molecular expansion of the druggable genome, part two highlights a different but connected challenge: how to translate increasingly complex biological systems – including spatial profiling, engineered proteins, cell therapies and combination strategies – into reproducible, clinically meaningful outcomes.</p>
2665<p>Across multiple conversations, experts explained how oncology is no longer constrained by the ability to generate data or design molecules, but by the ability to connect systems, standardise workflows and ensure that biological information survives the journey to the clinic.</p>
2666<h2 id="RAS_targeting_and_the_shift_towards_combination_logic">RAS targeting and the shift towards combination logic</h2>
2667<p>At <a href="https://www.revmed.com/" target="_blank" rel="noopener noreferrer">Revolution Medicines</a>, their focus is on one of oncology’s most historically intractable pathways: RAS. Chief Development Officer Alan Sandler described how the company’s emerging pipeline is already demonstrating differentiated activity in KRAS-driven cancers, including non-small cell lung cancer and pancreatic cancer.</p>
2668<p>Its KRAS G12D inhibitor has shown encouraging early clinical activity in previously treated NSCLC, including response rates significantly above historical standards of care and extended progression-free survival compared to chemotherapy.</p>
2669<p>“We’ve seen a median progression-free survival of just over 11 months compared to around four months with standard therapy,” Sandler said.</p>
2670<p>Beyond single-agent activity, Revolution Medicines is also looking at combination strategies. Sandler highlighted the biological rationale for combining RAS pathway inhibition with immunotherapy and other targeted agents.</p>
2671<p>“By inhibiting RAS, we may enhance immune system activity,” he explained.</p>
2672<p>This has led to the exploration of multi-agent regimens, including combinations of its RAS inhibitors with both immunotherapies and other targeted compounds, as well as progression into first-line pancreatic cancer studies.</p>
2673<div class="inline_image image_size_full" data-attachment="21317" data-sequence="2">
2674<p class="picture"><img alt="Revolution Medicines Booth 2" src="https://dft2fymcn9opj.cloudfront.net/Pictures/480xany/3/1/7/2
26741317_revolutionmedicinesbooth2_136700.jpg" sizes="(max-width: 1023px) 100vw, 780px" srcset="https://dft2fymcn9opj.cloudfront.net/Pictures/480xany/3/1/7/21317_revolutionmedicinesbooth2_136700.jpg 480w,https://dft2fymcn9opj.cloudfront.net/Pictures/600xany/3/1/7/21317_revolutionmedicinesbooth2_136700.jpg 600w,https://dft2fymcn9opj.cloudfront.net/Pictures/780xany/3/1/7/21317_revolutionmedicinesbooth2_136700.jpg 780w" loading="lazy" class="lazyloaded" width="2856" height="2142"></p>
2675
2676
2677<div class="inline_meta"><p class="inline_title">The Revolution Medicines booth at AACR 2026</p><p class="inline_caption">At the conference, Revolution Medicines outlined how their emerging pipeline is already demonstrating differentiated activity in KRAS-driven cancers, including non-small cell lung cancer and pancreatic cancer.</p></div></div>
2678<h2 id="TCR_therapies_and_the_expansion_of_immune_targeting">TCR therapies and the expansion of immune targeting</h2>
2679<p>At <a href="https://www.immunocore.com/" target="_blank" rel="noopener noreferrer">Immunocore</a>, the conversation was focused on the evolution of T-cell receptor (TCR)-based therapies from niche applications into broader oncology platforms.</p>
2680<p>Dr Connie Pfeiffer, Head of Global Medical Affairs, highlighted five-year survival data from a pivotal study in metastatic uveal melanoma, a disease historically associated with extremely poor outcomes.</p>
2681<p>“The data shows a doubling of the proportion of patients alive at five years,” she said.</p>
2682<p>This long-term survival signal demonstrates the potential durability of TCR therapies in solid tumours, particularly when targeting intracellular antigens inaccessible to conventional antibody approaches.</p>
2683<p>Immunocore is also actively exploring combination strategies with their approved treatment and an investigational candidate in other types of cancer, particularly with checkpoint inhibitors such as pembrolizumab and nivolumab, while maintaining openness to other mechanistic partners.</p>
2684<p>“We’re not limiting ourselves to checkpoint inhibitors,” Pfeiffer said. “That’s one possibility, but we’re open to other mechanisms and our research and translational teams are always looking at what makes sense scientifically.”</p>
2685<h2 id="From_candidate_selection_to_scalable_development">From candidate selection to scalable development</h2>
2686<p>While much of the focus at AACR was on breakthrough biology, several discussions highlighted that early development decisions – particularly in biologics – can have a lasting impact on clinical success.</p>
2687<p>At <a href="https://www.sartorius.com/en">Sartorius</a>, Dr Darius Wilson, Sartorius Product Management, outlined how newer cell line development workflows are moving towards earlier, more data-driven selection of candidate clones. Platforms such as its <a href="https://www.sartorius.com/en/products/cell-selection-and-retrieval/cell-selection-instruments/cellcelector-cld">CellCelector CLD</a> Platform enable researchers to screen thousands of monoclonal-derived clones at the earliest stages, identifying top performers before committing resources to expansion and characterisation.</p>
2688<p>“The key advantage is the early preselection of top-performing clones from the largest possible pool,” he explained.</p>
2689<p>This approach is supported by integrated analytical validation across imaging, growth monitoring and productivity assays, helping ensure that accelerated timelines do not compromise clone stability or long-term output. By narrowing the field early, developers can avoid progressing suboptimal candidates, reducing both time and resource burden downstream.</p>
2690<p>The result is a more efficient and reliable transition from discovery into scalable development – an important factor as biologics pipelines continue to grow.</p>
2691<div class="inline_image image_size_full" data-attachment="21319" data-sequence="3">
2692<p class="picture"><img alt="CellCelector Sartorius Image 3" src="https://dft2fymcn9opj.cloudfront.net/Pictures/480xany/3/1/9/21319_cellcelectorsartoriusimage3_198199.jpg" sizes="(max-width: 1023px) 100vw, 780px" srcset="https://dft2fymcn9opj.cloudfront.net/Pictures/480xany/3/1/9/21319_cellcelectorsartoriusimage3_198199.jpg 480w,https://dft2fymcn9opj.cloudfront.net/Pictures/600xany/3/1/9/21319_cellcelectorsartoriusimage3_198199.jpg 600w,https://dft2fymcn9opj.cloudfront.net/Pictures/780xany/3/1/9/21319_cellcelectorsartoriusimage3_198199.jpg 780w" loading="lazy" class="lazyloaded" width="2856" height="2142"></p>
2693
2694
2695<div class="inline_meta"><p class="inline_title">The CellCelector CLD on display at AACR 2026</p><p class="inline_caption">The CellCelector CLD Platform enables researchers to screen thousands of monoclonal-derived clones at the earliest stages, identifying top performers before committing resources to expansion and characterisation.</p></div></div>
2696<h2 id="Engineering_smarter_biologics_with_nextgeneration_discovery_platforms">
2696Engineering smarter biologics with next-generation discovery platforms</h2>
2697<p>At <a href="https://www.sygnaturediscovery.com/" target="_blank" rel="noopener noreferrer">Sygnature Discovery</a>, attention was focused on how discovery platforms can change the design of next-generation therapeutics, particularly antibody–drug conjugates (ADCs).</p>
2698<p>Dr Allan Jordan, VP of Oncology Drug Discovery, described a field still dominated by a narrow set of cytotoxic payloads, limiting differentiation and increasing development redundancy.</p>
2699<p>“There are literally hundreds of very similar ADCs in development. There simply are not enough patients, or enough funding, for all of these to reach market and be commercially successful,” he said. “We are plotting a ‘new path’ forwards, where the antibody is only one component of the optimisation.”</p>
2700<p>To address this, Sygnature is advancing a more integrated design approach, focusing not only on antibody engineering but also on payload optimisation towards tumour-selective biology, including metabolic pathways and oncogenic dependencies.</p>
2701<h2 id="Scaling_biology_with_automation_and_data_feedback_loops">Scaling biology with automation and data feedback loops</h2>
2702<p><a href="https://www.crownbio.com/" target="_blank" rel="noopener noreferrer">Crown Bioscience’s</a> emphasis was on bridging experimental biology with AI-driven discovery systems.</p>
2703<p>CEO John Gu described a future in which preclinical models – including cell lines, organoids and patient-derived xenografts – are tightly integrated into iterative AI feedback loops.</p>
2704<p>“We see this as a lab-in-the-loop system,” he said.</p>
2705<p>In this model, AI generates hypotheses that are experimentally validated, with resulting data fed back to refine computational models. Crown’s role is to provide the biological validation layer required to ensure predictions reflect real tumour biology.</p>
2706<p>“It’s not just about prediction. It’s about validation,” Gu added.</p>
2707<div class="inline_image image_size_full" data-attachment="21320" data-sequence="4">
2708<p class="picture"><img alt="Crown Bioscience Booth" src="https://dft2fymcn9opj.cloudfront.net/Pictures/480xany/3/2/0/21320_crownbiosciencebooth_643000.jpg" sizes="(max-width: 1023px) 100vw, 780px" srcset="https://dft2fymcn9opj.cloudfront.net/Pictures/480xany/3/2/0/21320_crownbiosciencebooth_643000.jpg 480w,https://dft2fymcn9opj.cloudfront.net/Pictures/600xany/3/2/0/21320_crownbiosciencebooth_643000.jpg 600w,https://dft2fymcn9opj.cloudfront.net/Pictures/780xany/3/2/0/21320_crownbiosciencebooth_643000.jpg 780w" loading="lazy" class="lazyloaded" width="2856" height="2142"></p>
2709
2710
2711<div class="inline_meta"><p class="inline_title">The Crown Bioscience booth at AACR 2026</p><p class="inline_caption">Company CEO John Gu described a future in which preclinical models – including cell lines, organoids and patient-derived xenografts – are tightly integrated into iterative AI feedback loops</p></div></div>
2712<h2 id="Spatial_biology_and_the_challenge_of_multilayered_data">Spatial biology and the challenge of multilayered data</h2>
2713<p><a href="https://www.miltenyibiotec.com/GB-en/" target="_blank" rel="noopener noreferrer">Miltenyi Biotec</a> is rapidly advancing spatial biology technologies and attempting to understand what is possible in tissue analysis, while also addressing new challenges in data interpretation. With platforms now capable of analysing hundreds of proteins and RNA probes simultaneously, researchers can build increasingly detailed maps of tumour microenvironments, combining 3D tissue architecture with deep cellular phenotyping to understand biological organisation at multiple scales.</p>
2714<p>Yet this increased resolution is also shifting the bottleneck from data generation to data interpretation. As datasets become more multidimensional, the challenge is now about translating it into meaningful, ‘actionable insight’.</p>
2715<p>“With these technologies there is the potential to generate more data than actual actionable insight,” said Katrin Sc
2715hönborn, Global Product Manager at Miltenyi Biotec. “The way we as a company resolve this is by providing dedicated software solutions integrated into our platform that allows users to really understand their data in an intuitive manner, while still preserving the flexibility needed for expert users to interrogate results in depth or apply alternative analytical approaches.”</p>
2716<p>Companies are now increasingly investing in integrated software ecosystems designed not only to manage complex datasets, but to support interpretation at scale. These platforms aim to bridge the gap between raw data and biological understanding, which is a balancing act between standardisation of analysis workflows and the flexibility required to tackle specific scientific questions.</p>
2717<p>“It’s a problem the entire field is facing,” said Eike Geißmar, Marketing Product Manager at Miltenyi Biotec. “We haven’t yet come to a consensus in the community on how to handle these datasets, but quite optimistic that this will happen just as it did for other ground breaking technologies and in the meantime, we are actively fostering exchange between our users to move things forward.”</p>
2718<div class="inline_image image_size_full" data-attachment="21321" data-sequence="5">
2719<p class="picture"><img alt="Miltenyi Booth" src="https://dft2fymcn9opj.cloudfront.net/Pictures/480xany/3/2/1/21321_miltenyibooth_28793.jpg" sizes="(max-width: 1023px) 100vw, 780px" srcset="https://dft2fymcn9opj.cloudfront.net/Pictures/480xany/3/2/1/21321_miltenyibooth_28793.jpg 480w,https://dft2fymcn9opj.cloudfront.net/Pictures/600xany/3/2/1/21321_miltenyibooth_28793.jpg 600w,https://dft2fymcn9opj.cloudfront.net/Pictures/780xany/3/2/1/21321_miltenyibooth_28793.jpg 780w" loading="lazy" class="lazyloaded" width="2856" height="2142"></p>
2720
2721
2722<div class="inline_meta"><p class="inline_title">The Miltenyi Biotec booth at AACR 2026</p><p class="inline_caption">The company is rapidly advancing spatial biology technologies and attempting to understand what is possible in tissue analysis, while also addressing new challenges in data interpretation.</p></div></div>
2723<h2 id="From_experimental_systems_to_integrated_oncology_pipelines">From experimental systems to integrated oncology pipelines</h2>
2724<p>From RAS inhibition and TCR therapies to spatial biology and cell line optimisation, AACR demonstrated that the field is looking at building systems that not only generate biological understanding but can reliably convert that into real benefit for patients down the line.</p>
2725<p>The next challenge is now about ensuring new biology can be connected, standardised and executed at clinical scale going forwards.</p>
2726<div class="inline_related" title="Select stories &amp; display options" data-storycodes="2135680,2135490,2135134" data-id="1" data-layout="grid" data-align="L" data-show="image,type,date" data-heading="USE_DEFAULT"></div></div><div id="storytext-end" class="storytext-end"></div>
2727                </div>
2728            </div>
2729            
2730            <div class="htmlContent">
2731                
2732            </div>
2733        </div>
2734        <div class="topics"><div class="sleeve"><span class="topicsLabel"></span><h2>Topics</h2><ul class="topicsList"><li><a href="/antibody-drug-conjugates-adcs/336940.subject">Antibody-Drug Conjugates (ADCs)</a></li><li><a href="/artificial-intelligence-ai/257419.subject">Artificial Intelligence (AI)</a></li><li><a href="/biologics/265348.subject">Biologics</a></li><li><a href="/drug-development/257227.subject">Drug Development</a></li><li><a href="/drug-discovery/256007.subject">Drug Discovery</a></li><li><a href="/imaging-and-diagnostics/256653.subject">Imaging & Diagnostics</a></li><li><a href="/immunotherapy/256852.subject">Immunotherapy</a></li><li><a href="/lab-tools-and-automation/256201.subject">Lab Tools & Automation</a></li><li><a href="/oncology/256129.subject">Oncology</a></li><li><a href="/translational-science/256346.subject">Translational Science</a></li></ul></div></div>
2735	
2736        
2737	
2738        
2739
2740
2741
2742        <div class="pageOptions">
2743  <ul><li>
2744	<a href="https://www.facebook.com/sharer/sharer.php?u=https%3a%2f%2fwww.drugtargetreview.com%2faacr-2026-part-two-integrating-ai-spatial-biology-and-next-gen-therapeutics%2f2135691.article&e=AACR+2026+part+two%3a+integrating+AI%2c+spatial+biology+and+next-gen+therapeutics"  class="facebook" title="Share this on Facebook" target="_blank"></a>
2745	</li>
2746	<li>
2747      <a href="https://twitter.com/intent/tweet?text=AACR+2026+part+two%3a+integrating+AI%2c+spatial+biology+and+next-gen+therapeutics&url=https%3a%2f%2fwww.drugtargetreview.com%2faacr-2026-part-two-integrating-ai-spatial-biology-and-next-gen-therapeutics%2f2135691.article" class="twitter" title="Share this on Twitter" target="_blank"></a>
2748	</li>
2749	<li>
2750      <a href="https://www.linkedin.com/cws/share?url=https%3a%2f%2fwww.drugtargetreview.com%2faacr-2026-part-two-integrating-ai-spatial-biology-and-next-gen-therapeutics%2f2135691.article" class="linkedin" title="Share this on Linked in" target="_blank"></a>
2751	</li>
2752	<li>
2753		<a href="https://wa.me/?text=https%3a%2f%2fwww.drugtargetreview.com%2faacr-2026-part-two-integrating-ai-spatial-biology-and-next-gen-therapeutics%2f2135691.article!"  data-action="share/whatsapp/share" class="whatsapp" title="Share this on Whatsapp"  target="_blank"></a>
2754	</li><li><a href="mailto:?subject=AACR 2026 part two: integrating AI, spatial biology and next-gen therapeutics&amp;body=https://www.drugtargetreview.com/aacr-2026-part-two-integrating-ai-spatial-biology-and-next-gen-therapeutics/2135691.article" class="email" title="Email this article"></a></li>
2755  </ul>
2756  <ul class="pageOptions_right">
2757    <li aria-live="polite"><a href="#commentsJump" class="commentButton scrollTo"><div class="commentCount"><span class="commentText commentHidden">No comments</span></div>
2758        <div class="commentIcon">
2759        </div></a></li>
2760    <li class=" last" aria-live="polite" data-cache-bust="true" data-ajax-load-content="" data-url="/2135691/bookmark">
2761    </li>
2762  </ul>
2763</div>
2764    </div>
2765    
2766
2767							</div>
2768						</div>
2769					</div>
2770					<div id="rightcolumn" class="fixedrightcolumn rightcolumn restrictedcontent">
2771						<div id="rightcolumn_sleeve">
2772							
2773    	
2774    
2775
2776
2777     
2778						
2779
2780<div data-mpu1-reflow></div>
2781							<div id="rhcreflow-tabletlandscape"></div>
2782							<div id="rhcreflow-desktop" class="rhc-mostpopular-desktop">
2783								
2784							</div>
2785							<div id="rhcreflow-extra"></div>
2786							<div id="rhcreflow-extra-end" class="rhcreflow-extra-end"></div>
2787							<style>
2788#story.enhanced-advertising #rightcolumn_sleeve {
2789    display: block;
2790}
2791
2792#story.enhanced-advertising #rightcolumn_sleeve .ad{
2793    margin: 0 auto 42px auto;;
2794}
2795</style>
2796
2797<!-- EPR - MPU #1 [async] -->
2798<div class="ad">
2799<!-- DTR - MPU #1  [async] -->
2800<script type="text/javascript">if (!window.AdButler){(function(){var s = document.createElement("script"); s.async = true; s.type = "text/javascript"; s.src = 'https://servedbyadbutler.com/app.js'; var n = document.getElementsByTagName("script")[0]; n.parentNode.insertBefore(s, n);}());}</script>
vendor: 1 bytes, line 2800
2800
2801<script type="text/javascript">
2802var AdButler = AdButler || {};
2803AdButler.ads = AdButler.ads || [];
2804var abkw = window.abkw || '';
2805var plc821668 = window.plc821668 || 0;
2806document.write('<'+'div id="placement_821668_'+plc821668+'"></'+'div>');
2807AdButler.ads.push({handler: function(opt){ AdButler.register(167548, 821668, [300,250], 'placement_821668_'+opt.place, opt); }, opt: { place: plc821668++, keywords: abkw, domain: 'servedbyadbutler.com', click: 'CLICK_MACRO_PLACEHOLDER' }});
2808</script>
2808
2809</div>
2810
2811<!-- most popular-->
2812<div class="tab-widget-7" data-ajax-load-content="" data-cache-bust="true" data-url="/ajax/most?cachetoken=1&wid=25"></div>
2813
2814<!-- EPR - MPU #2 [async] -->
2815<div class="ad">
2816<!-- DTR - MPU #2 [async] -->
2817<script type="text/javascript">if (!window.AdButler){(function(){var s = document.createElement("script"); s.async = true; s.type = "text/javascript"; s.src = 'https://servedbyadbutler.com/app.js'; var n = document.getElementsByTagName("script")[0]; n.parentNode.insertBefore(s, n);}());}</script>
vendor: 1 bytes, line 2817
2817
2818<script type="text/javascript">
2819var AdButler = AdButler || {};
2820AdButler.ads = AdButler.ads || [];
2821var abkw = window.abkw || '';
2822var plc821669 = window.plc821669 || 0;
2823document.write('<'+'div id="placement_821669_'+plc821669+'"></'+'div>');
2824AdButler.ads.push({handler: function(opt){ AdButler.register(167548, 821669, [300,250], 'placement_821669_'+opt.place, opt); }, opt: { place: plc821669++, keywords: abkw, domain: 'servedbyadbutler.com', click: 'CLICK_MACRO_PLACEHOLDER' }});
2825</script>
2825
2826</div>
2827
2828
2829<!-- EPR - MPU #3 [async] -->
2830<div class="ad">
2831<!-- DTR - MPU #3 [async] -->
2832<script type="text/javascript">if (!window.AdButler){(function(){var s = document.createElement("script"); s.async = true; s.type = "text/javascript"; s.src = 'https://servedbyadbutler.com/app.js'; var n = document.getElementsByTagName("script")[0]; n.parentNode.insertBefore(s, n);}());}</script>
vendor: 1 bytes, line 2832
2832
2833<script type="text/javascript">
2834var AdButler = AdButler || {};
2835AdButler.ads = AdButler.ads || [];
2836var abkw = window.abkw || '';
2837var plc821670 = window.plc821670 || 0;
2838document.write('<'+'div id="placement_821670_'+plc821670+'"></'+'div>');
2839AdButler.ads.push({handler: function(opt){ AdButler.register(167548, 821670, [300,250], 'placement_821670_'+opt.place, opt); }, opt: { place: plc821670++, keywords: abkw, domain: 'servedbyadbutler.com', click: 'CLICK_MACRO_PLACEHOLDER' }});
2840</script>
2840
2841</div>
2842							
2843							  
2844						
2845						</div>
2846					</div>
2847				</div>
2848			</div>
2849			<div class="container bottomAdContainer restrictedcontent">
2850				<div class="inner-sleeve">
2851					<div class="bottomAd">
2852						<div data-ajax-param-replacement="true" data-ajax-load-native-content="" data-cache-bust="true" data-url="/relatednativeadvert?storytoken=1&pid=B"></div>
2853					</div>
2854				</div>
2855			</div>
2856
2857			
2858    <div class="container relatedVideos restrictedcontent">
2859        <div class="inner-sleeve">
2860            <div id="videosreflow-tabletportrait"></div>
2861            <div id="videosreflow-mobile"></div>
2862        </div>
2863    </div>
2864    <div class="container latestVideos relatedArticles" id="relatedArticles">
2865  <div class="inner-sleeve">
2866    <div data-reflow-content="" class="extras latestvideos">
2867      <div class="sleeve">
2868        <div class="extras_heading">
2869          <h3>Related articles</h3>
2870        </div>
2871        <div class="extrasStory listBlocks loadMoreItems" data-load-more-ajax="">
2872          <ul data-load-more-context="">
2873            <li class="">
2874              <a href="https://www.drugtargetreview.com/home/how-disease-exposes-hidden-epitopes-that-ai-models-may-miss/2136543.article" class="image layoutIcon pictureLayout">
2875                <img alt="Immuto - still 4" loading="lazy" src="https://dft2fymcn9opj.cloudfront.net/Pictures/380x253/8/2/5/22825_immutostill4_531590_crop.jpg" srcset="https://dft2fymcn9opj.cloudfront.net/Pictures/380x253/8/2/5/22825_immutostill4_531590_crop.jpg 380w" width="380" height="253" class="lazyloaded" />
2876              </a>
2877              <div class="storyDetails">
2878                <a href="https://www.drugtargetreview.com/article/1019.type" class="storyType">Article</a>
2879                <h3>
2880                  <a href="https://www.drugtargetreview.com/home/how-disease-exposes-hidden-epitopes-that-ai-models-may-miss/2136543.article">How disease exposes hidden epitopes that AI models may miss</a>
2881                </h3>
2882                <p class="meta">
2883                  <span class="date" data-date-timezone="{&quot;publishdate&quot;: &quot;2026-09-24T06:30:00Z&quot;,&quot;format&quot;: &quot;MMMM DD, yyyy HH:mm a&quot;}">2026-09-24T06:30:00Z</span>
2884                </p>
2885                <p class="byline">
2886                  <span class="author">Contributor <a rel="author" href="https://www.drugtargetreview.com/dr-dan-benjamin/429648.bio">Dr Dan Benjamin</a>,  <a rel="author" href="https://www.drugtargetreview.com/drug-target-review/261607.bio">Drug Target Review</a></span>
2887                </p>
2888              </div>
2889            </li>
2890            <li class="">
2891              <a href="https://www.drugtargetreview.com/mayo-clinic-strategy-restores-car-t-targets-on-aggressive-thyroid-tumours/2136546.article" class="image">
2892                <img alt="shutterstock_2846378687" loading="lazy" src="https://dft2fymcn9opj.cloudfront.net/Pictures/380x253/8/2/3/22823_shutterstock_2846378687_698139.jpg" srcset="https://dft2fymcn9opj.cloudfront.net/Pictures/380x253/8/2/3/22823_shutterstock_2846378687_698139.jpg 380w" width="380" height="253" class="lazyloaded" />
2893              </a>
2894              <div class="storyDetails">
2895                <a class="storyType" href="https://www.drugtargetreview.com/news">News</a>
2896                <h3>
2897                  <a href="https://www.drugtargetreview.com/mayo-clinic-strategy-restores-car-t-targets-on-aggressive-thyroid-tumours/2136546.article">Mayo Clinic strategy restores CAR T targets on aggressive thyroid tumours</a>
2898                </h3>
2899                <p class="meta">
2900                  <span class="date" data-date-timezone="{&quot;publishdate&quot;: &quot;2026-09-23T13:54:00Z&quot;,&quot;format&quot;: &quot;MMMM DD, yyyy HH:mm a&quot;}">2026-09-23T13:54:00Z</span>
2901                </p>
2902                <p class="byline">
2903                  <span class="author"> <a rel="author" href="https://www.drugtargetreview.com/sam-wightwick/338374.bio">Sam Wightwick</a></span>
2904                </p>
2905              </div>
2906            </li>
2907            <li class="">
2908              <a href="https://www.drugtargetreview.com/plug-and-play-car-t-platform-enables-post-infusion-immune-cell-reprogramming/2136539.article" class="image">
2909                <img alt="shutterstock_2763418221" loading="lazy" src="https://dft2fymcn9opj.cloudfront.net/Pictures/380x253/8/0/3/22803_shutterstock_2763418221_419271.jpg" srcset="https://dft2fymcn9opj.cloudfront.net/Pictures/380x253/8/0/3/22803_shutterstock_2763418221_419271.jpg 380w" width="380" height="253" class="lazyloaded" />
2910              </a>
2911              <div class="storyDetails">
2912                <a class="storyType" href="https://www.drugtargetreview.com/news">News</a>
2913                <h3>
2914                  <a href="https://www.drugtargetreview.com/plug-and-play-car-t-platform-enables-post-infusion-immune-cell-reprogramming/2136539.article">‘Plug-and-play’ CAR T platform enables post-infusion immune cell reprogramming</a>
2915                </h3>
2916                <p class="meta">
2917                  <span class="date" data-date-timezone="{&quot;publishdate&quot;: &quot;2026-09-23T09:27:00Z&quot;,&quot;format&quot;: &quot;MMMM DD, yyyy HH:mm a&quot;}">2026-09-23T09:27:00Z</span>
2918                </p>
2919                <p class="byline">
2920                  <span class="author"> <a rel="author" href="https://www.drugtargetreview.com/sam-wightwick/338374.bio">Sam Wightwick</a></span>
2921                </p>
2922              </div>
2923            </li>
2924            <li class="">
2925              <a href="https://www.drugtargetreview.com/oestrogen-receptor-alpha-identified-as-right-ventricle-protector-in-pulmonary-hypertension/2136528.article" class="image">
2926                <img alt="shutterstock_2293419887" loading="lazy" src="https://dft2fymcn9opj.cloudfront.net/Pictures/380x253/7/8/3/22783_shutterstock_2293419887_140715.jpg" srcset="https://dft2fymcn9opj.cloudfront.net/Pictures/380x253/7/8/3/22783_shutterstock_2293419887_140715.jpg 380w" width="380" height="253" class="lazyloaded" />
2927              </a>
2928              <div class="storyDetails">
2929                <a class="storyType" href="https://www.drugtargetreview.com/news">News</a>
2930                <h3>
2931                  <a href="https://www.drugtargetreview.com/oestrogen-receptor-alpha-identified-as-right-ventricle-protector-in-pulmonary-hypertension/2136528.article">Oestrogen receptor alpha identified as right ventricle protector in pulmonary hypertension</a>
2932                </h3>
2933                <p class="meta">
2934                  <span class="date" data-date-timezone="{&quot;publishdate&quot;: &quot;2026-09-22T10:59:00Z&quot;,&quot;format&quot;: &quot;MMMM DD, yyyy HH:mm a&quot;}">2026-09-22T10:59:00Z</span>
2935                </p>
2936                <p class="byline">
2937                  <span class="author"> <a rel="author" href="https://www.drugtargetreview.com/sam-wightwick/338374.bio">Sam Wightwick</a></span>
2938                </p>
2939              </div>
2940            </li>
2941            <li class="">
2942              <a href="https://www.drugtargetreview.com/kidney-organoids-reveal-inflammation-drives-diabetic-kidney-disease/2136524.article" class="image">
2943                <img alt="Low-Res_Organoids-Glucose-concentrations" loading="lazy" src="https://dft2fymcn9opj.cloudfront.net/Pictures/380x253/7/7/5/22775_lowres_organoidsglucoseconcentrations_188772.jpg" srcset="https://dft2fymcn9opj.cloudfront.net/Pictures/380x253/7/7/5/22775_lowres_organoidsglucoseconcentrations_188772.jpg 380w" width="380" height="253" class="lazyloaded" />
2944              </a>
2945              <div class="storyDetails">
2946                <a class="storyType" href="https://www.drugtargetreview.com/news">News</a>
2947                <h3>
2948                  <a href="https://www.drugtargetreview.com/kidney-organoids-reveal-inflammation-drives-diabetic-kidney-disease/2136524.article">Kidney organoids reveal inflammation drives diabetic kidney disease</a>
2949                </h3>
2950                <p class="meta">
2951                  <span class="date" data-date-timezone="{&quot;publishdate&quot;: &quot;2026-09-22T09:19:00Z&quot;,&quot;format&quot;: &quot;MMMM DD, yyyy HH:mm a&quot;}">2026-09-22T09:19:00Z</span>
2952                </p>
2953                <p class="byline">
2954                  <span class="author"> <a rel="author" href="https://www.drugtargetreview.com/sam-wightwick/338374.bio">Sam Wightwick</a></span>
2955                </p>
2956              </div>
2957            </li>
2958            <li class="">
2959              <a href="https://www.drugtargetreview.com/home/how-protective-gene-variants-are-revealing-new-drug-targets/2136522.article" class="image layoutIcon pictureLayout">
2960                <img alt="AdobeStock_1581461584" loading="lazy" src="https://dft2fymcn9opj.cloudfront.net/Pictures/380x253/7/7/2/22772_adobestock_1581461584_624291_crop.jpeg" srcset="https://dft2fymcn9opj.cloudfront.net/Pictures/380x253/7/7/2/22772_adobestock_1581461584_624291_crop.jpeg 380w" width="380" height="253" class="lazyloaded" />
2961              </a>
2962              <div class="storyDetails">
2963                <a href="https://www.drugtargetreview.com/article/1019.type" class="storyType">Article</a>
2964                <h3>
2965                  <a href="https://www.drugtargetreview.com/home/how-protective-gene-variants-are-revealing-ne
2965w-drug-targets/2136522.article">How protective gene variants are revealing new drug targets</a>
2966                </h3>
2967                <p class="meta">
2968                  <span class="date" data-date-timezone="{&quot;publishdate&quot;: &quot;2026-09-22T07:00:00Z&quot;,&quot;format&quot;: &quot;MMMM DD, yyyy HH:mm a&quot;}">2026-09-22T07:00:00Z</span>
2969                </p>
2970                <p class="byline">
2971                  <span class="author">Contributor <a rel="author" href="https://www.drugtargetreview.com/luca-lotta/429642.bio">Luca Lotta</a>,  <a rel="author" href="https://www.drugtargetreview.com/drug-target-review/261607.bio">Drug Target Review</a></span>
2972                </p>
2973              </div>
2974            </li>
2975          </ul>
2976          <div class="loadMoreButtonWrapper" data-load-more-button-wrapper="">
2977            <button type="button" class="button" data-load-more-button="" data-items-offset="6" data-ajax-url="https://www.drugtargetreview.com/2135691/loadmore?code=ARTICLES" data-items-to-load="6" data-loading-more-text="Loading more articles">
2978            Load more articles
2979          </button>
2980          </div>
2981        </div>
2982        <div class="fixedrightcolumn rightcolumn">
2983          <!-- DTR - MPU #4 [async] -->
2984<div class="ad">
2985<script type="text/javascript">if (!window.AdButler){(function(){var s = document.createElement("script"); s.async = true; s.type = "text/javascript"; s.src = 'https://servedbyadbutler.com/app.js'; var n = document.getElementsByTagName("script")[0]; n.parentNode.insertBefore(s, n);}());}</script>
vendor: 1 bytes, line 2985
2985
2986<script type="text/javascript">
2987var AdButler = AdButler || {};
2988AdButler.ads = AdButler.ads || [];
2989var abkw = window.abkw || '';
2990var plc1189428 = window.plc1189428 || 0;
2991document.write('<'+'div id="placement_1189428_'+plc1189428+'"></'+'div>');
2992AdButler.ads.push({handler: function(opt){ AdButler.register(167548, 1189428, [300,250], 'placement_1189428_'+opt.place, opt); }, opt: { place: plc1189428++, keywords: abkw, domain: 'servedbyadbutler.com', click: 'CLICK_MACRO_PLACEHOLDER' }});
2993</script>
2993
2994</div>
2995        </div>
2996      </div>
2997    </div>
2998  </div>
2999</div>
3000<div class="container commentContainer restrictedcontent">
3001  <div class="inner-sleeve">
3002    <div class=" extras">
3003      <a id="commentsJump" class="scrollTarget"></a><div id="commentsHead"><div class="extras_heading"><h3>No comments yet</h3></div></div>
3004      <div class="extrasStory">
3005        <div class="contentWrapper">
3006          <div id="comments_form" class="formbox"><div class="formbox_sleeve"><div class="commentWarningWrapper">
3007    <div class="commentWarningLeft">
3008        <span class="commentAvatar"></span>
3009        <span class="commentWarningText">You're not signed in.</span>
3010    </div>
3011    <div class="commentWarningRight">
3012        <h3>Only registered users can comment on this article.</h3>
3013            <a class="popup signIn button" href="/sign-in">Sign in</a>
3014            <a class="button ad-append-return" href="https://account.{{PUBLICATION_URL}}">Register</a>
3015    </div>
3016</div></div></div>
3017          <div id="ajaxCommentsList" aria-live="polite" data-cache-bust="true" data-ajax-load-content="" data-url="/0/2135691/commentlist?cachetoken=1&amp;fh=1&amp;sort="></div></div>
3018      </div>
3019      <div class="fixedrightcolumn rightcolumn"></div></div>
3020  </div>
3021</div>
3022<div class="container latestVideos relatedArticles" id="sponsoredArticles">
3023  <div class="inner-sleeve">
3024    <div data-reflow-content="" class="extras latestvideos">
3025      <div class="sleeve">
3026        <div class="extras_heading">
3027          <h3>Partner content</h3>
3028        </div>
3029        <div class="extrasStory listBlocks loadMoreItems" data-load-more-ajax="">
3030          <ul data-load-more-context="">
3031            <li class="">
3032              <a href="https://www.drugtargetreview.com/reports/building-biomarkers-that-drug-developers-can-rely-on/2136243.article" class="image">
3033                <img alt="biomarkers feature image" loading="lazy" src="https://dft2fymcn9opj.cloudfront.net/Pictures/380x253/3/7/1/22371_digitalfreight1_174272.jpg" srcset="https://dft2fymcn9opj.cloudfront.net/Pictures/380x253/3/7/1/22371_digitalfreight1_174272.jpg 380w" width="380" height="253" class="lazyloaded" />
3034              </a>
3035              <div class="storyDetails">
3036                <a href="https://www.drugtargetreview.com/report/1093.type" class="storyType">Report</a>
3037                <h3>
3038                  <a href="https://www.drugtargetreview.com/reports/building-biomarkers-that-drug-developers-can-rely-on/2136243.article">Building biomarkers that drug developers can rely on</a>
3039                </h3>
3040                <p class="meta">
3041                  <span class="date" data-date-timezone="{&quot;publishdate&quot;: &quot;2026-08-27T08:48:00&quot;,&quot;format&quot;: &quot;MMMM DD, yyyy HH:mm a&quot;}">2026-08-27T08:48:00</span>
3042                </p>
3043                <p class="byline">
3044                  <span class="author">Sponsored by <a rel="author" href="https://www.drugtargetreview.com/danaher/429382.bio">Danaher</a></span>
3045                </p>
3046              </div>
3047            </li>
3048            <li class="">
3049              <a href="https://www.drugtargetreview.com/home/from-randd-to-qc-building-a-single-analytical-strategy-for-cell-and-gene-therapies/2135838.article" class="image">
3050                <img alt="AdobeStock_2078296488" loading="lazy" src="https://dft2fymcn9opj.cloudfront.net/Pictures/380x253/5/4/1/21541_adobestock_2078296488_52177.jpeg" srcset="https://dft2fymcn9opj.cloudfront.net/Pictures/380x253/5/4/1/21541_adobestock_2078296488_52177.jpeg 380w" width="380" height="253" class="lazyloaded" />
3051              </a>
3052              <div class="storyDetails">
3053                <a href="https://www.drugtargetreview.com/article/1019.type" class="storyType">Article</a>
3054                <h3>
3055                  <a href="https://www.drugtargetreview.com/home/from-randd-to-qc-building-a-single-analytical-strategy-for-cell-and-gene-therapies/2135838.article">From R&D to QC: building a single analytical strategy for cell and gene therapies</a>
3056                </h3>
3057                <p class="meta">
3058                  <span class="date" data-date-timezone="{&quot;publishdate&quot;: &quot;2026-07-01T13:30:00&quot;,&quot;format&quot;: &quot;MMMM DD, yyyy HH:mm a&quot;}">2026-07-01T13:30:00</span>
3059                </p>
3060                <p class="byline">
3061                  <span class="author">Contributor <a rel="author" href="https://www.drugtargetreview.com/carrie-maynard/429528.bio">Carrie Maynard</a> and  <a rel="author" href="https://www.drugtargetreview.com/dr-veronica-fowler/429529.bio">Dr Veronica Fowler</a></span>
3062                </p>
3063              </div>
3064            </li>
3065            <li class="">
3066              <a href="https://www.drugtargetreview.com/webinars/meeting-ethical-and-regulatory-requirements-when-using-human-biological-specimens/2136000.article" class="image">
3067                <img alt="Background-Graphic-Option-1-could be extended on right" loading="lazy" src="https://dft2fymcn9opj.cloudfront.net/Pictures/380x253/8/0/6/21806_backgroundgraphicoption1couldbeextendedonright_216915.jpg" srcset="https://dft2fymcn9opj.cloudfront.net/Pictures/380x253/8/0/6/21806_backgroundgraphicoption1couldbeextendedonright_216915.jpg 380w" width="380" height="253" class="lazyloaded" />
3068              </a>
3069              <div class="storyDetails">
3070                <a class="storyType" href="https://www.drugtargetreview.com/webinars">Webinar</a>
3071                <h3>
3072                  <a href="https://www.drugtargetreview.com/webinars/meeting-ethical-and-regulatory-requirements-when-using-human-biological-specimens/2136000.article">Meeting ethical & regulatory requirements when using human biological specimens</a>
3073                </h3>
3074                <p class="meta">
3075                  <span class="date event-start" data-date-timezone="{&quot;publishdate&quot;: &quot;2026-09-23T15:00:00&quot;}">2026-09-23T15:00:00</span>
3076                </p>
3077                <p class="byline">
3078                  <span class="author">Sponsored by <a rel="author" href="https://www.drugtargetreview.com/bioivt/429554.bio">BioIVT</a></span>
3079                </p>
3080              </div>
3081            </li>
3082            <li class="">
3083              <a href="https://www.drugtargetreview.com/home/why-researchers-are-revisiting-bisantrene-decades-after-it-was-abandoned/2136265.article" class="image layoutIcon pictureLayout">
3084                <img alt="shutterstock_2210307289 (1)" loading="lazy" src="https://dft2fymcn9opj.cloudfront.net/Pictures/380x253/2/6/1/22261_shutterstock_22103072891_14059.jpg" srcset="https://dft2fymcn9opj.cloudfront.net/Pictures/380x253/2/6/1/22261_shutterstock_22103072891_14059.jpg 380w" width="380" height="253" class="lazyloaded" />
3085              </a>
3086              <div class="storyDetails">
3087                <a href="https://www.drugtargetreview.com/article/1019.type" class="storyType">Article</a>
3088                <h3>
3089                  <a href="https://www.drugtargetreview.com/home/why-researchers-are-revisiting-bisantrene-decades-after-it-was-abandoned/2136265.article">Why researchers are revisiting bisantrene decades after it was abandoned</a>
3090                </h3>
3091                <p class="meta">
3092                  <span class="date" data-date-timezone="{&quot;publishdate&quot;: &quot;2026-08-20T08:43:00&quot;,&quot;format&quot;: &quot;MMMM DD, yyyy HH:mm a&quot;}">2026-08-20T08:43:00</span>
3093                </p>
3094                <p class="byline">
3095                  <span class="author">Author <a rel="author" href="https://www.drugtargetreview.com/dr-daniel-tillett/429590.bio">Dr Daniel Tillett</a></span>
3096                </p>
3097              </div>
3098            </li>
3099            <li class="">
3100              <a href="https://www.drugtargetreview.com/home/why-targeted-therapies-are-exposing-the-limits-of-animal-models-and-what-comes-next/2135609.article" class="image">
3101                <img alt="VoxCellBio2026_Tissue" loading="lazy" src="https://dft2fymcn9opj.cloudfront.net/Pictures/380x253/2/0/4/21204_voxcellbio2026_tissue_233031.jpg" srcset="https://dft2fymcn9opj.cloudfront.net/Pictures/380x253/2/0/4/21204_voxcellbio2026_tissue_233031.jpg 380w" width="380" height="253" class="lazyloaded" />
3102              </a>
3103              <div class="storyDetails">
3104                <a href="https://www.drugtargetreview.com/article/1019.type" class="storyType">Article</a>
3105                <h3>
3106                  <a href="https://www.drugtargetreview.com/home/why-targeted-therapies-are-exposing-the-limits-of-animal-models-and-what-comes-next/2135609.article">Why targeted therapies are exposing the limits of animal models – and what comes next</a>
3107                </h3>
3108                <p class="meta">
3109                  <span class="date" data-date-timezone="{&quot;publishdate&quot;: &quot;2026-06-04T07:05:00&quot;,&quot;format&quot;: &quot;MMMM DD, yyyy HH:mm a&quot;}">2026-06-04T07:05:00</span>
3110                </p>
3111                <p class="byline">
3112                  <span class="author">Author <a rel="author" href="https://www.drugtargetreview.com/graham-craig/429485.bio">Graham Craig</a></span>
3113                </p>
3114              </div>
3115            </li>
3116            <li class="">
3117              <a href="https://www.drugtargetreview.com/home/reducing-drug-development-failures-with-human-relevant-models-and-ai/2136188.article" class="image layoutIcon pictureLayout">
3118                <img alt="AdobeStock_1933021183 (1)" loading="lazy" src="https://dft2fymcn9opj.cloudfront.net/Pictures/380x253/0/8/7/22087_adobestock_19330211831_430877.jpeg" srcset="https://dft2fymcn9opj.cloudfront.net/Pictures/380x253/0/8/7/22087_adobestock_19330211831_430877.jpeg 380w" width="380" height="253" class="lazyloaded" />
3119              </a>
3120              <div class="storyDetails">
3121                <a href="https://www.drugtargetreview.com/article/1019.type" class="storyType">Article</a>
3122                <h3>
3123                  <a href="https://www.drugtargetreview.com/home/reducing-drug-development-failures-with-human-relevant-models-and-ai/2136188.article">Reducing drug development failures with human-relevant models and AI</a>
3124                </h3>
3125                <p class="meta">
3126                  <span class="date" data-date-timezone="{&quot;publishdate&quot;: &quot;2026-08-11T07:02:00&quot;,&quot;format&quot;: &quot;MMMM DD, yyyy HH:mm a&quot;}">2026-08-11T07:02:00</span>
3127                </p>
3128                <p class="byline">
3129                  <span class="author">Contributor <a rel="author" href="https://www.drugtargetreview.com/professor-joseph-c-wu/429581.bio">Professor Joseph C. Wu</a>,  <a rel="author" href="https://www.drugtargetreview.com/drug-target-review/261607.bio">Drug Target Review</a></span>
3130                </p>
3131              </div>
3132            </li>
3133          </ul>
3134          <div class="loadMoreButtonWrapper" data-load-more-button-wrapper="">
3135            <button type="button" class="button" data-load-more-button="" data-items-offset="6" data-ajax-url="https://www.drugtargetreview.com/2135691/loadmore?code=SPONSORED" data-items-to-load="6">
3136            Load more
3137          </button>
3138          </div>
3139        </div>
3140        <div class="fixedrightcolumn rightcolumn">
3141          <!-- DTR - MPU #5 [async] -->
3142<div class="ad">
3143<script type="text/javascript">if (!window.AdButler){(function(){var s = document.createElement("script"); s.async = true; s.type = "text/javascript"; s.src = 'https://servedbyadbutler.com/app.js'; var n = document.getElementsByTagName("script")[0]; n.parentNode.insertBefore(s, n);}());}</script>
vendor: 1 bytes, line 3143
3143
3144<script type="text/javascript">
3145var AdButler = AdButler || {};
3146AdButler.ads = AdButler.ads || [];
3147var abkw = window.abkw || '';
3148var plc1189429 = window.plc1189429 || 0;
3149document.write('<'+'div id="placement_1189429_'+plc1189429+'"></'+'div>');
3150AdButler.ads.push({handler: function(opt){ AdButler.register(167548, 1189429, [300,250], 'placement_1189429_'+opt.place, opt); }, opt: { place: plc1189429++, keywords: abkw, domain: 'servedbyadbutler.com', click: 'CLICK_MACRO_PLACEHOLDER' }});
3151</script>
3151
3152</div>
3153        </div>
3154      </div>
3155    </div>
3156  </div>
3157</div>
3158
3159
3160    <div class="container"><div class="inner-sleeve"><div id="rhcreflow-tabletportrait"></div><div id="rhcreflow-mobile"></div></div></div><div id="mobile-drop-zone"></div>
3161
3162
3163			
3164			
3165
3166<div class="footer_ad">
3167	<div class="footer_ad_strip">
3168		<div class="ad">
3169			
3170		</div>
3171	</div>
3172</div>
3173			
3174<div id="footer" class="footer" role="contentinfo">
3175	<div class="container footerTopNavPageText">
3176		<div class="inner-sleeve">
3177			<div class="nav topNav"><ul><li class="first footer-nav-header"><span>Topics</span></li><li class=""><a href="https://www.drugtargetreview.com/topics/technology">Technology</a></li><li class=""><a href="https://www.drugtargetreview.com/topics/resources">Resources</a></li><li class=""><a href="https://www.drugtargetreview.com/topics/diseases">Diseases</a></li><li class=""><a href="https://www.drugtargetreview.com/topics/drugs-and-therapies">Drugs and therapies</a></li><li class=""><a href="https://www.drugtargetreview.com/topics/research-and-development">Research and development</a></li><li class=""><a href="https://www.drugtargetreview.com/topics/tools-and-techniques">Tools and techniques</a></li><li class=""><a href="https://www.drugtargetreview.com/topics/business">Business</a></li><li class="footer-nav-header"><span>Advertising & Editorial</span></li><li class=""><a href="https://www.drugtargetreview.com/advertising-opportunities">Advertising opportunities</a></li><li class=""><a href="https://www.russellpublishing.com/dtr-media-planner/" class="newWindow">Media planner</a></li><li class=""><a href="https://www.drugtargetreview.com/advertising-opportunities/#tech-specs">Advertising tech specs</a></li><li class=""><a href="https://www.drugtargetreview.com/information-for-authors">Information for authors</a></li><li class=""><a href="https://www.drugtargetreview.com/reuse-policy">Reuse policy</a></li><li class="footer-nav-header"><span>Information</span></li><li class=""><a href="https://www.drugtargetreview.com/about-us">About us</a></li><li class=""><a href="https://www.drugtargetreview.com/company-information">Company information</a></li><li class=""><a href="https://www.drugtargetreview.com/about-us/#careers">Careers</a></li><li class=""><a href="https://www.drugtargetreview.com/terms-and-conditions">Terms and conditions</a></li><li class=""><a href="https://www.drugtargetreview.com/privacy-policy">Privacy policy</a></li><li class="last"><a href="https://www.drugtargetreview.com/cookie-policy">Cookie policy</a></li></ul></div><div class="rp-footer">
3178	<div class="footer-logo">
3179<svg class="footer-logo-desktop"  width="192" height="100" viewBox="0 0 192 100" fill="none" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
3180<rect width="192" height="100" fill="url(#pattern0_2005_9833)"/>
3181<defs>
3182<pattern id="pattern0_2005_9833" patternContentUnits="objectBoundingBox" width="1" height="1">
3183<use xlink:href="#image0_2005_9833" transform="matrix(0.00272688 0 0 0.0052356 -0.000381763 0)"/>
3184</pattern>
3185<image id="image0_2005_9833" width="367" height="191" preserveAspectRatio="none" xlink:href="data:image/png;base64,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"/>
3186</defs>
3187</svg>
3188
3189
3190
3191
3192 
3193<svg class="footer-logo-mobile" width="129" height="67" viewBox="0 0 129 67" fill="none" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
3194<rect width="129" height="67" fill="url(#pattern0_2138_1637)"/>
3195<defs>
3196<pattern id="pattern0_2138_1637" patternContentUnits="objectBoundingBox" width="1" height="1">
3197<use xlink:href="#image0_2138_1637" transform="matrix(0.0027248 0 0 0.00524625 0 -0.00101671)"/>
3198</pattern>
3199<image id="image0_2138_1637" width="367" height="191" preserveAspectRatio="none" xlink:href="data:image/png;base64,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"/>
3200</defs>
3201</svg>
3202
3203	</div>
3204	<div class="footer-tagline">
3205	The trusted voice in drug discovery
3206	</div>
3207	</div>
3208
3209
3210<div class="footerSocial">
3211    <span class="footerSocialText">Find us on social media:</span>
3212    <ul>
3213	     <!--
3214        <li class="footerSocialFacebook">
3215            <a href="https://www.facebook.com/DrugTargetReview" title="Connect with us on Facebook"></a>
3216        </li>
3217        <li class="footerSocialTwitter">
3218            <a href="https://twitter.com/DrugTargetRev" title="Connect with us on Twitter"></a>
3219        </li>
3220		  -->
3221        <li class="footerSocialLinkedin">
3222            <a href="https://www.linkedin.com/company/drug-target-review" title="Connect with us on Linked in"></a>
3223        </li>
3224		  <!--
3225        <li class="footerSocialEmail">
3226            <a href="#" title="Email us"></a>
3227        </li>
3228        <li class="footerSocialYoutube">
3229            <a href="#" title="Connect with us on Youtube"></a>
3230        </li>
3231        <li class="footerSocialVimeo">
3232            <a href="#" title="Connect with us on Vimeo"></a>
3233        </li>
3234            <li class="footerSocialPinterest">
3235            <a href="#" title="Connect with us on Pinterest"></a>
3236        </li>
3237        <li class="footerSocialInstagram">
3238            <a href="#" title="Connect with us on Instagram"></a>
3239        </li>
3240		   <li class="footerSocialBluesky">
3241            <a href="#" title="Connect with us on Bluesky"></a>
3242        </li>
3243		  -->
3244    </ul>
3245</div>
3246		</div>
3247	</div>
3248	<div class="container bottomNav"><div class="inner-sleeve"><ul><li class="first"><a href="https://www.drugtargetreview.com/topics-a-z">Topics A-Z</a></li><li><a href="https://www.drugtargetreview.com/writers-a-z">Writers A-Z</a></li><li class="last">© 2026 Drug Target Review</li></ul></div></div>		
3249	<div class="bottom">
3250		<div class="container footerBottomNavPageText">
3251			<div class="inner-sleeve">
3252				
3253				<p class="webvision">Site powered by <a href="https://www.abacusemedia.com/webvisioncloud">Webvision Cloud</a></p>
3254			</div>
3255		</div>
3256	</div>
3257</div>
3258
3259		</div>
3260	</div>
3261	
3261<script src="/Magazine/core.js?p=8039869216058437" defer></script>
3261
3262	
3263	
3263<script async src="https://marketing.drugtargetreview.com/DM-7093923174-01/ddgtag.js"></script>
3263
3264
3265<script>
3266	$(window).one("abacus:loadcontent:complete", function(e, t) { //RPCS-134: Webinar dates shown after byline
3267		if( $('div.leadgen-content div.leadgen-webinar-date').length == 0 || $('byline.meta.eventDate div.leadgen-webinar-date').length > 0 ) 
3268			return;
3269
3270		setTimeout( function(){
3271			var bmd = $('.byline.meta.eventDate'), lcd = $('.leadgen-content-details');
3272			var authors = bmd.find('span.author');
3273			if( authors.length > 0 ){
3274				authors.last().after('<br>');
3275			}
3276
3277			var rhDateDiv = lcd.find('div.leadgen-webinar-date:has(span.date.visible)').clone();
3278			if(rhDateDiv.length == 1) bmd.append(rhDateDiv);
3279
3280			var rhTimeDiv = lcd.find('div.leadgen-webinar-time:has(span.date.visible)').clone();
3281			if(rhTimeDiv.length == 1) bmd.append(rhTimeDiv);
3282
3283		}, 250);
3284	});
3285</script>
3285
3286
3287	
3288    
3289<script type="application/ld+json">{
3290  "@context": "https://schema.org",
3291  "@type": "Article",
3292  "description": "In part two of our AACR 2026 coverage, industry leaders were focussed on how the field is no longer constrained by data generation or molecular design, but by the challenge of connecting systems, standardising workflows and ensuring biological insights.",
3293  "image": "https://dft2fymcn9opj.cloudfront.net/Pictures/2000xAny/3/1/6/21316_conferencehall_256294.jpg",
3294  "mainEntityOfPage": {
3295    "@type": "WebPage",
3296    "@id": "https://www.drugtargetreview.com/aacr-2026-part-two-integrating-ai-spatial-biology-and-next-gen-therapeutics/2135691.article"
3297  },
3298  "author": {
3299    "@type": "Person",
3300    "name": "Sam Wightwick"
3301  },
3302  "dateCreated": "2026-06-11",
3303  "dateModified": "2026-06-12",
3304  "datePublished": "2026-06-11",
3305  "hasPart": {
3306    "@type": "WebPageElement",
3307    "isAccessibleForFree": false,
3308    "cssSelector": ".restrictedcontent"
3309  },
3310  "headline": "Oncology drug development focuses on clinical translation and systems integration at AACR 2026",
3311  "isAccessibleForFree": false,
3312  "publisher": {
3313    "@type": "Organization",
3314    "name": "Drug Target Review",
3315    "logo": {
3316      "@type": "ImageObject",
3317      "url": "https://www.drugtargetreview.com/magazine/dest/graphics/logo/logo.png"
3318    }
3319  }
3320}</script>
3320
3321
3322
3323	
3324	
3325 </body>
3326</html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.