PageSourceSearch

https://www.channelnewsasia.com/sites/default/files/js/js_QjSXynsD…QKRFWMU2B1q5U-5C1dS2sR-DUx27bhm_b5uMn_GYvCg

js channelnewsasia.com collected 2026-10-01 08:37:54 UTC 43,655 bytes, 16 lines download raw bytes

1/* @license GPL-2.0-or-later https://www.drupal.org/licensing/faq */
2(function($,Drupal,drupalSettings){'use strict';const YOUTUBE_PLAYER_STATE_CLASSES={'-1':'youtube-player--unstarted','0':'youtube-player--ended','1':'youtube-player--playing','2':'youtube-player--paused','3':'youtube-player--buffering','5':'youtube-player--video-cued',adPlaying:'youtube-player--ad-playing',adPaused:'youtube-player--ad-paused'};const YOUTUBE_PLAYING_CLASSES=[YOUTUBE_PLAYER_STATE_CLASSES[1],YOUTUBE_PLAYER_STATE_CLASSES[3],YOUTUBE_PLAYER_STATE_CLASSES.adPlaying];const YOUTUBE_PLAYERS={};Drupal.behaviors.youtubepfp={attach:async function(context,settings){const self=this;window.makeAdsRequest=(adsRequest,adsRenderingSettings)=>{var adsurl=drupalSettings.youtube_pfp;var current_page=drupalSettings.page_url;let split_page=current_page.split("/");const pageDetails=getPageDetails(split_page);const isMobile=getIsMobile();adsurl=adsurl.replace("current_url",current_page);adsurl=adsurl.replace("pagetype",pageDetails["pagetype"]);adsurl=adsurl.replace("section",pageDetails["section"]);if(isMobile)adsurl=adsurl.replace("_dweb","_mweb");adsRequest.adTagUrl=adsurl;adsRenderingSettings.useStyledNonLinearAds=true;adsRenderingSettings.uiElements=[window.google.ima.UiElements.AD_ATTRIBUTION,window.google.ima.UiElements.COUNTDOWN];console.log("makeAdsRequest is called!"+JSON.stringify(adsRequest));};function getPageDetails(split_page){const context={isLanding:document.body.classList.contains('page__landing-page'),isVideo:document.body.classList.contains('page__video'),isArticle:document.body.classList.contains('page__article')};return parsePageDetails(split_page,context);}function parsePageDetails(parts,context={}){const {isLanding=false,isVideo=false,isArticle=false}=context;const result={section:null,pagetype:null};if(parts.length<=2&&isLanding){result.section=parts[1]||null;result.pagetype='landingpage';return result;}if(parts.length===3&&isLanding){result.section=parts[2]||null;result.pagetype='landingpage';return result;}if(parts.length===3&&isVideo){result.section=parts[1]||null;result.pagetype='detailpage';return result;}if(parts.length===3&&parts[1]==='fast'){result.section=parts[1];result.pagetype='landingpage';return result;}if(isArticle&&parts.length>=2){result.section=parts[parts.length-2]||null;result.pagetype='articlepage';return result;}return result;}function getIsMobile(){const userAgent=navigator.userAgent;if(/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(userAgent))return true;else return false;}let isYoutubeApiReady=false;while(!isYoutubeApiReady){isYoutubeApiReady=self.isApiReady();if(!isYoutubeApiReady)await new Promise((res)=>{setTimeout(res,1000);});}$(once('youtubepfp','[id^="yt-pfp-player"]:not([id$="-player"]):not([id$="-ad"])',context)).each(function(){const currentElement=$(this);const playerId=currentElement.attr('id');const videoId=currentElement.data('video-id');console.log(`Preparing YouTube player ${playerId}`);const youtubePlayerOptions={height:'100%',width:'100%',videoId,playerVars:{autoplay:0,mute:1,controls:1,enablejsapi:1,fs:1,origin:window.location.protocol==='https:'?window.location.origin:'',rel:0,iv_load_policy:3,cc_load_policy:0}};if(drupalSettings.youtube_pfp&&window.makeAdsRequest&&YT.createPlayerForPublishers)try{YT.createPlayerForPublishers(playerId,window.makeAdsRequest,{youtubeOptions:youtubePlayerOptions},(player,imaManager)=>{self.onPlayerReady(`${playerId}-player`,player,imaManager);});}catch(error){console.error("Error preparing YouTube player (with PFP)",{playerId,error});}else new YT.Player(playerId,{...youtubePlayerOptions,events:{onReady:(e)=>{self.onPlayerReady(playerId,e.target);},onError:(error)=>{console.error("Error preparing YouTube player (without PFP)",{playerId,error});}}});});},isApiReady:function(){return window.YT?.loaded;},pauseVideo:function(playerId){try{YOUTUBE_PLAYERS[playerId].imaManager?.getAdsManager()?.pause();YOUTUBE_PLAYERS[playerId].player.pauseVideo();}catch(error){console.error("Error pausing YouTube video",{playerId,error});}},onPlayerReady:function(playerId,player,imaManager){console.log(`YouTube player ${playerId} is ready.`);const self=Drupal.behaviors.youtubepfp;YOUTUBE_PLAYERS[playerId]={player,imaManager};const youtubeIframe=player.getIframe();Drupal.behaviors.videoDocking?.attach(youtubeIframe);Drupal.behaviors.mixpanelWatch?.attach(youtubeIframe);player.addEventListener('onStateChange',self.onPlayerStateChange);
2if(imaManager){const imaAdsLoader=imaManager?.getAdsLoader?.();if(imaAdsLoader)imaAdsLoader.addEventListener(google.ima.AdsManagerLoadedEvent.Type.ADS_MANAGER_LOADED,()=>{const imaAdsManager=imaManager?.getAdsManager?.();if(imaAdsManager){imaAdsManager.addEventListener(google.ima.AdEvent.Type.LOADED,()=>{$(youtubeIframe).addClass(YOUTUBE_PLAYER_STATE_CLASSES.adPlaying).removeClass(YOUTUBE_PLAYER_STATE_CLASSES.adPaused);});imaAdsManager.addEventListener(google.ima.AdEvent.Type.RESUMED,()=>{$(youtubeIframe).addClass(YOUTUBE_PLAYER_STATE_CLASSES.adPlaying).removeClass(YOUTUBE_PLAYER_STATE_CLASSES.adPaused);});imaAdsManager.addEventListener(google.ima.AdEvent.Type.PAUSED,()=>{$(youtubeIframe).addClass(YOUTUBE_PLAYER_STATE_CLASSES.adPaused).removeClass(YOUTUBE_PLAYER_STATE_CLASSES.adPlaying);});}});}},onPlayerStateChange:({data,target})=>{const youtubeIframe=target.getIframe();const playerId=$(youtubeIframe).attr('id');if(!YOUTUBE_PLAYERS[playerId])YOUTUBE_PLAYERS[playerId]={player:target};const currentPlayerStateClass=YOUTUBE_PLAYER_STATE_CLASSES[data];$(youtubeIframe).addClass(currentPlayerStateClass).removeClass(Object.values(YOUTUBE_PLAYER_STATE_CLASSES).join(' ').replace(currentPlayerStateClass,''));},getIsVideoPlaying:function(videoClasses){if(!videoClasses)return false;return YOUTUBE_PLAYING_CLASSES.some((youtubePlayingClass)=>{return videoClasses.includes(youtubePlayingClass);});}};})(jQuery,Drupal,drupalSettings);;
3"use strict";(function(a,b,c){var d,e=new IntersectionObserver((c)=>{c.forEach((c)=>{var {target:f}=c;if(c.isIntersecting)b.behaviors.videoDocking.undockCurrentPlayingVideo({isPauseVideo:!1});else{var g=a(f).find("iframe"),h=b.behaviors.youtubepfp.getIsVideoPlaying(a(g).attr("class")),i=b.behaviors.videoDocking.getIsVideoDockable(g);if(h&&i){var j=0>=f.getBoundingClientRect().top;j&&b.behaviors.videoDocking.dockVideo(g);}else e.disconnect(),d=null;}});},{threshold:[1]}),f=new MutationObserver((c)=>{c.forEach((c)=>{var {target:f,oldValue:g}=c,h=b.behaviors.youtubepfp.getIsVideoPlaying(a(f).attr("class")),i=b.behaviors.youtubepfp.getIsVideoPlaying(g),j=b.behaviors.videoDocking.getIsVideoDockable(f);if(d!==f&&h&&!i&&(d&&b.behaviors.videoDocking.undockCurrentPlayingVideo({isPauseVideoIfDocked:!0}),j)){e.disconnect(),d=null;var k=b.behaviors.videoDocking.getVideoWrapper(f);d=f,e.observe(k);}});});b.behaviors.videoDocking={attach:function attach(b){var d=this;a(c("videoDocking","iframe[id][src^=\"https://www.youtube.com/embed/\"]")).each((b,c)=>{f.observe(c,{attributes:!0,attributeFilter:["class"],attributeOldValue:!0}),a(c).closest(".video-docking").find(".video-docking__icon-close").on("click",()=>{d.undockVideo(c),d.removeVideoDocking(c);});}),a(c("videoDocking","header.header",b)).each((b,c)=>{var e=new ResizeObserver(()=>{if(767>a(window).width()){var b=a(".navigation-block").hasClass("isscroll")?a(".navigation-block").innerHeight():a(c).innerHeight();d.updateDockedVideoHeight(b);}else d.updateDockedVideoHeight("");});e.observe(c);});},updateDockedVideoHeight:(b)=>{a(".video-docking").css({top:b});},dockVideo:(c)=>{var d=b.behaviors.videoDocking,e=d.getVideoWrapper(c);a(e).addClass("is-docking");},undockVideo:function undockVideo(c){var d=1<arguments.length&&void 0!==arguments[1]?arguments[1]:{isPauseVideo:!1},e=b.behaviors.videoDocking,{isPauseVideo:f}=d,g=e.getVideoWrapper(c);if(a(g).removeClass("is-docking"),f){var h=a(c).attr("id");b.behaviors.youtubepfp.pauseVideo(h);}},undockCurrentPlayingVideo:function undockCurrentPlayingVideo(){var a=0<arguments.length&&arguments[0]!==void 0?arguments[0]:{isPauseVideo:!1,isPauseVideoIfDocked:!1},c=b.behaviors.videoDocking,{isPauseVideo:e,isPauseVideoIfDocked:f}=a,g=b.behaviors.videoDocking.getIsVideoDocking(d);c.undockVideo(d,{isPauseVideo:e||f&&g});},removeVideoDocking:(b)=>{a(b).closest(".video-docking").removeClass("video-docking");},getVideoWrapper:(b)=>a(b).closest(".hero_video, .here_video")[0],getIsVideoDockable:(c)=>{var d=b.behaviors.videoDocking;return 0<a(c).closest(".video-docking").length&&!!d.getVideoWrapper(c);},getIsVideoDocking:(b)=>0<a(b).closest(".is-docking").length};})(jQuery,Drupal,once);;
4"use strict";function asyncGeneratorStep(a,b,c,d,e,f,g){try{var h=a[f](g),i=h.value;}catch(a){return void c(a);}h.done?b(i):Promise.resolve(i).then(d,e);}function _asyncToGenerator(a){return function(){var b=this,c=arguments;return new Promise(function(d,e){function f(a){asyncGeneratorStep(h,d,e,f,g,"next",a);}
4function g(a){asyncGeneratorStep(h,d,e,f,g,"throw",a);}var h=a.apply(b,c);f(void 0);});};}((a)=>{Drupal.behaviors.brightcoveVideo={attach:function(){var b=_asyncToGenerator(function*(b){for(var c=(b,c)=>{var {isTriggerFullscreenOnAutoplay:e}=c;setTimeout(function(){b.pause(),b.muted(!0);var c=window.location.pathname;(a("body.page__landing-page").length||a("body.page__video").length)&&"/watch"===c&&(!a(".layout-builder-form")||!a(".layout-builder-form").length)?b.play():(a("body.page__landing-page").length||a("body.page__article").length)&&a("video-js.vjs-live").length?b.on("play",function(){b.pip({allowOnMobile:!0,scale:.3,viewable:.3});}):b.play(),e&&d(b);},3e3);},d=(b)=>{b.on("play",function(){!b.isFullscreen()&&920>a(window).width()&&b.requestFullscreen();});},e=500;!window.videojs&&1e4>e;)yield new Promise((a)=>{setTimeout(a,e);}),e*=2;if(window.videojs!=null){var f=a(b).find("video-js");if(!f||!f.length)return;f.each(_asyncToGenerator(function*(){if(!a(this).hasClass("video-streaming-brightcove")){for(var b,e=a(this).attr("id"),f=500;!b&&1e4>f;)yield new Promise((a)=>{setTimeout(a,f);}),f*=2,b=videojs.getPlayer(e);if(b){var g=a(this).hasClass("video--portrait")&&a(this).parents().hasClass("block-field-blocknodearticlefield-content"),h=new URLSearchParams(window.location.search),i=h.get("auto-play"),j=null!==i&&"true"===i||(a("body.page__landing-page").length||a("body.page__video").length)&&-1<window.location.href.indexOf("/watch")&&(!a(".layout-builder-form")||!a(".layout-builder-form").length)||a("div.hero-schedule-block").length;j?c(b,{isTriggerFullscreenOnAutoplay:g}):g&&d(b),b.on("play",()=>{Drupal.behaviors.videoDocking.undockCurrentPlayingVideo({isPauseVideoIfDocked:!0});});}}}));}window.addEventListener("pageshow",function(b){b.persisted&&1>a(".brightcove-player").find("video-js").length&&window.location.reload();});});return function attach(){return b.apply(this,arguments);};}()};})(jQuery);;
5"use strict";function asyncGeneratorStep(a,b,c,d,e,f,g){try{var h=a[f](g),i=h.value;}catch(a){return void c(a);}h.done?b(i):Promise.resolve(i).then(d,e);}function _asyncToGenerator(a){return function(){var b=this,c=arguments;return new Promise(function(d,e){function f(a){asyncGeneratorStep(h,d,e,f,g,"next",a);}function g(a){asyncGeneratorStep(h,d,e,f,g,"throw",a);}var h=a.apply(b,c);f(void 0);});};}((a,b,c)=>{b.behaviors.videoEmbedIframeYoutube={attach(d){a(c("videoEmbedIframeYoutube","iframe[src^=\"https://www.youtube.com/embed/\"]:not([id])",d)).each(function(){var c=_asyncToGenerator(function*(c,d){try{var g=a(d).attr("src");if(!g.includes("enablejsapi=1")){var h=g;h+=g.includes("?")?"&":"?",h+="enablejsapi=1",a(d).attr("src",h);}var e=a(d).attr("src").split("?")[0].split("/").pop(),f="yt-embed-
5player-".concat(e);f+="-".concat(a("iframe[id^=\"".concat(f)).length),a(d).attr("id",f),console.log("Preparing embed youtube player ".concat(f," to add event listener"));for(var i=!1;!i;)i=b.behaviors.youtubepfp.isApiReady(),i||(yield new Promise((a)=>{setTimeout(a,1e3);}));new YT.Player(f,{events:{onStateChange:b.behaviors.youtubepfp.onPlayerStateChange}});}catch(a){console.error("Error preparing embed YouTube player",{error:a});}});return function(){return c.apply(this,arguments);};}());}};})(jQuery,Drupal,once);;
6"use strict";(function(a){Drupal.behaviors.context_snippet={attach:function attach(b){var c=a(document).width(),d=720<=c?176:238;a(".context-snippet",b).each(function(){var b=a(this).find(".context-snippet__content").first(),c=a(this).find(".context-snippet__more span"),e=b.height();e>d?(b.addClass("context-snippet__overflow"),c.toggleClass("hidden")):c.addClass("hidden");}),a(once("expand-click",".context-snippet__more",b)).click(function(){a(this).find("span").toggleClass("hidden"),a(this).parents(".context-snippet").find(".context-snippet__content").toggleClass("context-snippet__overflow");});}};})(jQuery);;
7(function($,Drupal,drupalSettings,debounce){"use strict";$.fn.isInViewport=function(){var elementTop=$(this).offset().top;var elementBottom=elementTop+$(this).outerHeight();var viewportTop=$(window).scrollTop();var viewportBottom=viewportTop+$(window).height();return elementBottom>viewportTop&&elementTop<viewportBottom;};$.fn.checkArticleInViewport=function(){var elementTop=$(this).offset().top;var elementBottom=elementTop+$(this).outerHeight(true);var viewportTop=$(window).scrollTop();var viewportBottom=viewportTop+$(window).height();if(elementBottom>viewportBottom)return (viewportBottom-elementTop>$(window).height()/2);else{if(elementTop<viewportTop)return (elementBottom-viewportTop>$(window).height()/2);}return false;};var load_once=false;let adsPosCounter=2;let adobeAdsPosCounter=1;const adobeAds=drupalSettings.mc_article.adobe_programmatic_ads;var loadedNids=[];function replaceNextArticleAdsIds(nextArticleHtml,adsPosCounter){nextArticleHtml=_adobeUtility.replaceAdsIds(nextArticleHtml,'lb1',1,adsPosCounter,false);nextArticleHtml=_adobeUtility.replaceAdsIds(nextArticleHtml,'side1',1,adsPosCounter,false);nextArticleHtml=_adobeUtility.replaceAdsIds(nextArticleHtml,'side2',1,adsPosCounter,false);return nextArticleHtml;}function replaceNextArticleAdUnits(nextArticle,categoryName){$(once('ad-units',nextArticle.find('.advertisement__container'))).each(function(i,el){let advertisementContainer=$(el);let dataJsOptions=advertisementContainer.attr('data-js-options');dataJsOptions=dataJsOptions.replace(`read-next`,`${categoryName}`);dataJsOptions=dataJsOptions.replace(`listingpage`,`articlepage`);dataJsOptions=dataJsOptions.replace(`content`,`NA`);dataJsOptions=dataJsOptions.replace(`cna_read-next_related`,`cna_${categoryName}_articlepage`);advertisementContainer.attr('data-js-options',dataJsOptions);});}function replaceWithinArticleAdsIds(nextArticleAds,adsEntity,counter,adobeAdsPosCounter){nextArticleAds=_adobeUtility.replaceAdsIds(nextArticleAds,adsEntity,counter,adobeAdsPosCounter,false);return nextArticleAds;}Drupal.behaviors.readFullArticle={attach:function(context,settings){const currentBrandName=settings.current_brand_name;$(once('full-article','.article__read-full-story-button')).click(function(){$(this).parents('.node--article-content').find('.content').removeClass('trimmed-content');$(this).parents('.article__read-full-story-wrapper').hide();_adobeUtility.adobeAnalyticsTrack('click',{clickname:'Expand to read the full story - '+currentBrandName,path:$(this).closest('.node--article-content').attr("about")});});}};Drupal.behaviors.updateTitleAndURL={attach:function(context,settings){var $window=$(window);var scrollEvent='scroll.update_url';$(once('update-url','article[data-node-id]')).each(function(){var $article=$(this);$window.on(scrollEvent,debounce(function(){if($article.checkArticleInViewport()){const href=$article.find("section .content-detail__category a").attr('href');const name=$article.find("section .content-detail__category a").text();const indicatorFlag=$article.find("section .content-detail__category .indicator__flag .indicator__flag-text").text();if(href!=''&&name!=''&&href!=undefined&&name!=undefined){$article.attr('categoryName',name);$article.attr('categoryUrl',href);}if(indicatorFlag!==undefined)$article.attr('flag',indicatorFlag);var url=$article.attr('about');var title=$article.attr('data-node-title');var nid=$article.attr('data-node-id');var categoryName=$article.attr('categoryName');var categoryUrl=$article.attr('categoryUrl');
7if(history.state!==nid&&loadedNids.length){history.pushState(nid,null,url);document.title=title;_adobeUtility.adobeAnalyticsTrack('pageview',{id:nid,type:'Article',path:url});}var navigationBlock=$('section.navigation-block');var uuid=$article.attr('data-uuid');const isBookmarked=$article.find('section.block-content-share-bookmark .bookmark-share-icon .bookmark-link').attr('data-isbookmarked');var bookmarkLink=navigationBlock.find('.article-navigation__bookmark .bookmark-link');bookmarkLink.attr('data-uuid',uuid);bookmarkLink.attr('data-nid',nid);bookmarkLink.attr('data-isbookmarked',isBookmarked).toggleClass('active',isBookmarked==='true');let bookmarkLinkHref='/profile/sso/login?redirect_url='+url+'&bookmark='+uuid;navigationBlock.find('.article-navigation__bookmark .bookmark-link-anonymous').attr('href',bookmarkLinkHref);let $buttonBookmark=$article.find('.bookmark-share .bookmark-link-anonymous');let dataOnce=$buttonBookmark.attr('data-once')?.split(" ");$buttonBookmark.attr('href',bookmarkLinkHref).unbind('click');$.each(dataOnce,function(index,item){once.remove(item,$buttonBookmark);});Drupal.attachBehaviors($buttonBookmark[0].parentElement);Drupal.ajax.bindAjaxLinks(document.body);navigationBlock.find('.article-navigation__heading').html(title);if(categoryUrl!=''&&categoryName!=''&&categoryUrl!=undefined&&categoryName!=undefined)navigationBlock.find('.article-navigation__category .category').html('<a href="'+categoryUrl+'" class="link">'+categoryName+'</a>');if(indicatorFlag!==''&&indicatorFlag!==undefined)navigationBlock.find('.article-navigation__category .category').append('<span class="indicator__flag"><b class="indicator__flag-text '+indicatorFlag+'">'+indicatorFlag+'</b></span>');var shareLink=navigationBlock.find('.article-navigation__bookmark .a2a-share-link');var date=new Date();var month=String(date.getMonth()+1);month=month.length==1?'0'+month:month;var year=String(date.getFullYear());var day=String(date.getDate());day=day.length==1?'0'+day:day;var brandValue=drupalSettings.brand_value||'cna';if(brandValue==='lifestyle')brandValue='cnalifestyle';else{if(brandValue==='luxury')brandValue='cnaluxury';}const cidParam=`?cid=internal_sharetool_web_${day+month+year+'_'+brandValue}`;let currentUrl=window.location.href;if(!currentUrl.includes('cid='))currentUrl+=cidParam;shareLink.attr('data-a2a-url',currentUrl);shareLink.attr('data-a2a-title',title);var sharePopup=navigationBlock.find('.trigger-popup.trigger-popup--share');sharePopup.attr('data-category',categoryName);sharePopup.attr('data-category_url',categoryUrl);sharePopup.attr('data-link',window.location.href);sharePopup.attr('data-heading',title);sharePopup.attr('data-link_absolute',window.location.href);const fastButtonWrapper=$('.fast-button__wrapper');if(fastButtonWrapper.length){const fastUrl=$article.attr('data-fast-url');if(fastUrl){$(fastButtonWrapper).find('a').attr('href',fastUrl);$(fastButtonWrapper).removeClass('hidden');}else $(fastButtonWrapper).addClass('hidden');}}},100));if($article.isInViewport())$window.trigger(scrollEvent);});}};Drupal.behaviors.loadNextArticle={attach:function(context,settings){let nid=settings.article.nid;const isAdvertorialContent=settings.article.isAdvertorialContent;let article=$('article[data-node-id="'+nid+'"]');let articleContainer=article.parent();let $window=$(window);let url="/read-next/related/article/"+nid;let offset=0;let fallBack=1;let scrollEvent='scroll.next_article';let loaderMarkup='<div class="read-next__loader hidden"><div class="read-next__loader-icon"></div>Fetching more news</div>';if(!loadedNids.includes(settings.article.newNid))$(once('infinite-scroll',articleContainer)).each(function(){let isLoadNeeded=function(){return articleContainer.isInViewport()&&(window.innerHeight+window.pageYOffset>articleContainer.offset().top+articleContainer.innerHeight())&&!article.attr('data-is-back-to-fast');};articleContainer.append(loaderMarkup);$window.on(scrollEvent,debounce(function(){if(isLoadNeeded()&&!article.hasClass('no-more-related-data')&&!isAdvertorialContent){articleContainer.find('.read-next__loader').show();$.ajax({url,type:"GET",data:{offset,fallBack},success:function(response){articleContainer.find('.read-next__loader').remove();if(response.data){let nextArticleHtml=response.data;nextArticleHtml=replaceNextArticleAdsIds(nextArticleHtml,adsPosCounter);nextArticleHtml+=loaderMarkup;adsPosCounter++;adobeAdsPosCounter++;offset=response.offset;fallBack=response.fallBack;let nextArticleNid=response.currentNid;if(!loadedNids.includes(nextArticleNid)){loadedNids.push(nextArticleNid);$(once(`article_add_${nextArticleNid}`,articleContainer)).append(nextArticleHtml);let nextArticle=$('article[data-node-id="'+nextArticleNid+'"]');let categoryName=response.categoryName;replaceNextArticleAdUnits(nextArticle,categoryName);let nextArticleUrl=nextArticle.attr('about');nextArticle.find('.content').addClass('trimmed-content');nextArticle.find('.article__read-full-story-wrapper').show();nextArticle.attr('data-fast-url',response.fast_url);let nextArticleData={};if(settings&&settings.mc_cia_widget){for(const widgetUuid in settings.mc_cia_widget){const ciaWidget=settings.mc_cia_widget[widgetUuid];const newArticleUrl=window.location.origin+nextArticleUrl;nextArticleData={[widgetUuid]:{...ciaWidget,content_id:nextArticleNid,url:newArticleUrl}};}}settings=Object.assign(settings,{article:{nid,newNid:nextArticleNid},mc_cia_widget:nextArticleData});Drupal.attachBehaviors(nextArticle[0],settings);_adobeUtility.adobeMediaPlayerTrack(nextArticleNid,nextArticleUrl,nextArticle[0]);_adobeUtility.adobeBrightcoveVideoTrackDelayed(nextArticleNid,nextArticleUrl,nextArticle[0]);}}
7else{article.addClass('no-more-related-data');console.log('No more related stories found!');}},error:function(xhr){console.log(xhr);}});}},100));if(isLoadNeeded())$window.trigger(scrollEvent);});}};Drupal.behaviors.adobeArticleProgramaticAds={attach:function(context,settings){let outstreamAd=adobeAds['ad_display:outstream_article'];let outstream2Ad=adobeAds['ad_display:outstream2_article'];let subAd=adobeAds['ad_display:sub_article'];let sub2Ad=adobeAds['ad_display:sub2_article'];var nid=settings.article.newNid||settings.article.nid;var article=$('article[data-node-id="'+nid+'"]');var paraContent=article.find('section.block-field-blocknodearticlefield-content');var outstreamParaIndex=1;var targetOutstreamAdPara=$(once('outstream1',paraContent.find('.text .text-long p:eq('+outstreamParaIndex+')')));if(targetOutstreamAdPara.length){outstreamAd=replaceWithinArticleAdsIds(outstreamAd,'outstream1',1,adobeAdsPosCounter);$(outstreamAd).insertAfter(targetOutstreamAdPara);}var sub1ParaIndex=outstreamParaIndex+=5;var targetSub1AdPara=$(once('sub1',paraContent.find('.text .text-long p:eq('+sub1ParaIndex+')')));if(targetSub1AdPara.length){subAd=replaceWithinArticleAdsIds(subAd,'imu1',1,adobeAdsPosCounter);$(subAd).insertAfter(targetSub1AdPara);}var outstream2ParaIndex=sub1ParaIndex+=5;var targetOutstream2AdPara=$(once('outstream2',paraContent.find('.text .text-long p:eq('+outstream2ParaIndex+')')));if(targetOutstream2AdPara.length){outstream2Ad=replaceWithinArticleAdsIds(outstream2Ad,'outstream2',1,adobeAdsPosCounter);$(outstream2Ad).insertAfter(targetOutstream2AdPara);}var sub2ParaIndex=outstream2ParaIndex+=5;var targetSub2AdPara=$(once('sub2',paraContent.find('.text .text-long p:eq('+sub2ParaIndex+')')));if(targetSub2AdPara.length){sub2Ad=replaceWithinArticleAdsIds(sub2Ad,'imu2',1,adobeAdsPosCounter);$(sub2Ad).insertAfter(targetSub2AdPara);}setTimeout(function(){var containers=adEntity.adContainers;adEntity.restrictAdsToScope(containers);},300);}};})(jQuery,Drupal,drupalSettings,Drupal.debounce);;
8(function($,Drupal,drupalSettings){'use strict';$(document).ready(function(){if(ssoMeConnect.getCookie('sso-ciam-event')||ssoMeConnect.getCookie('sso-ciam-action')){let data={'eventname':ssoMeConnect.getCookie('sso-ciam-event'),'actionname':ssoMeConnect.getCookie('sso-ciam-action'),'auth0id':ssoMeConnect.getCookie('sso_user_id')};_adobeUtility.adobeAnalyticsTrack('customTracking',data);ssoMeConnect.deleteCookie('sso-ciam-event');ssoMeConnect.deleteCookie('sso-ciam-action');}$(document).on('click','a.sign-in-link, a.cia-feedback-anonymous, a.bookmark-link-anonymous, a.btn-bookmark-link-anonymous, a.followtopic',function(e){e.preventDefault();var element=$(this);auth0.addActionParam(element,'href','login');window.location.href=element.attr('href');});});window.auth0={refreshToken:function(){if(typeof drupalSettings.mc_auth!=='undefined'&&drupalSettings.mc_auth===1){var token=localStorage.getItem('sso_token');var refreshToken=Cookies.get('sso_refresh_token');if(token&&refreshToken){var threshold=drupalSettings.profileMenuBlock.expiryThreshold?drupalSettings.profileMenuBlock.expiryThreshold:15;var decodedToken=auth0.decodeJWT(token);var currentTime=Math.floor(Date.now()/1000);var expiryTime=decodedToken.exp;var expiryThreshold=threshold*60;if(expiryTime-currentTime<expiryThreshold)auth0.refreshAjax();}else{if(refreshToken||token)auth0.refreshAjax();}}},refreshAjax:function(){if(typeof drupalSettings.mc_auth_redirect!=='undefined'&&drupalSettings.mc_auth_redirect===1){localStorage.removeItem('sso_token');auth0.loginRedirect();return;}else $.ajax({url:'/profile/sso/refresh-token?refreshtime='+Date.now()+'&redirect_url='+window.location.pathname,type:'GET',async:false,success:function(data){if(data.command&&data.command==='redirect')window.location.href=data.url;if(data.access_token){localStorage.setItem("sso_token",data.access_token);console.log('Token refreshed successfully');}},error:function(){$('body').user_clean_localStorage();console.log('Error: Unable to contact the server to refresh the token');}});},decodeJWT:function(token){var base64Url=token.split('.')[1];var base64=base64Url.replace(/-/g,'+').replace(/_/g,'/');var jsonPayload=decodeURIComponent(atob(base64).split('').map(function(c){return '%'+('00'+c.charCodeAt(0).toString(16)).slice(-2);}).join(''));return JSON.parse(jsonPayload);},addActionParam:function(element,attribute,action){if(element.hasClass('btn-bookmark-link-anonymous')||element.hasClass('bookmark-link-anonymous'))action='bookmark';if(element.hasClass('followtopic'))action='followtopic';var href=element.attr(attribute);var url=auth0.addAnalytics(href,action);element.attr(attribute,url.toString());element.attr('data-processed','true');},addAnalytics:function(href,action){let defaultPageName='';if(typeof drupalSettings.brand_value!=='undefined'&&drupalSettings.brand_value!==null)if(drupalSettings.brand_value==='lifestyle'||drupalSettings.brand_value==='luxury')defaultPageName='sg:cna'+drupalSettings.brand_value+':online';else defaultPageName='sg:'+drupalSettings.brand_value+':online';
8else defaultPageName='sg:cna:online';if(href&&href.indexOf('/profile/sso/login')!==-1){defaultPageName=window.siteSectionforAnalytics||defaultPageName;var url=new URL(href,window.location.href);url.searchParams.set('time',Date.now());url.searchParams.set('ext-an-referrer-source',defaultPageName+'--web app--'+action);if(typeof window.pageURLforAnalytics!=='undefined')url.searchParams.set('ext-an-referrer-pageurl',pageURLforAnalytics);return url;}return href;},loginRedirect:function(){const loginParams=new URLSearchParams();loginParams.set('redirect_url',window.location.pathname);loginParams.set('time',Date.now());window.location.href='/profile/sso/login?'+loginParams.toString();}};})(jQuery,Drupal,drupalSettings);;
9'use strict';(function($,Drupal){Drupal.behaviors.breaking_news={attach:async function(context,settings){var timer;showBreakingNews();async function showBreakingNews(){var breaking_news_components=$('.breaking-news-component',context);breaking_news_components.each(async function(){clearTimeout(timer);let uuid=$(this).attr('data');var response=await fetchBreakingNews(uuid);var isVisible=breakingNewsProcessor(response);if(isVisible){insertComponentToPage(response);$('.block--type-subscription-cta-block[widget-type="homepage banner"] .subscription-block-identifier').addClass('hidden');Drupal.behaviors.newspick.removeHasBannerClass();}else{$('.breaking-news-'+uuid).addClass('hidden');Drupal.behaviors.newspick?.updateSubscriptionBanner();}timer=setTimeout(function(){const is_drupal_user=$('.toolbar-fixed')&&$('.toolbar-fixed').length;if(!is_drupal_user)showBreakingNews();},60000);});}async function fetchBreakingNews(uuid){return await $.ajax({url:Drupal.url('jsonapi/block_content/breaking_news/'+uuid+'?include=field_link_story'),type:'GET',headers:{'Cache-Control':'no-cache','Vary':'*'},dataType:'json',success:function(response){return response;},error:function(XMLHttpRequest,textStatus,errorThrown){console.log('Request Broken',errorThrown);return false;}});}function breakingNewsProcessor(response){if(!response)return false;var show=false;var schedule_from,schedule_to;var data=response.data.attributes;let is_disabled=data.field_disable_breaking_news;if(is_disabled)return show;if(data.field_schedule_date){schedule_from=new Date(data.field_schedule_date.value).getTime();schedule_to=new Date(data.field_schedule_date.end_value).getTime();const current_time=Date.now();if(schedule_from<=current_time&&schedule_to>=current_time)show=true;}if(show){show=false;const country_code=_locationUtility.getCookieByName('country_code')?.toLowerCase();if(data.field_edition===country_code)show=true;else if(data.field_edition==='asia'&&country_code==='international')show=true;else{if(!data.field_edition&&country_code==='international')show=true;}}return show;}function insertComponentToPage(response){var uuid=response.data.id;let changed=new Date(response.data.attributes.changed).getTime();var closeTime=Cookies.get(uuid);var childContent;var title=response.data.attributes.field_label;if(closeTime&&closeTime>=changed)return;var text=response.data.attributes.field_headline;if(response.included&&response.included.length&&response.included[0]&&response.included[0].attributes){var path='';if(response.included[0].attributes.path_alias)path=response.included[0].attributes.path_alias.alias;else path=response.included[0].attributes.path.alias;childContent=`<div class="breaking-news-content"><h2 class="sticky-card__block-title">${title}</h2><div class = "sticky-card__content"><a class="sticky-card__link" href=${path}><p class="sticky-card__description">${text}<i class= "sticky-card__arrow-right"></i></p></a></div></div>`;}else childContent=`<div class="breaking-news-content"><h2 class="sticky-card__block-title">${title}</h2><div class = "sticky-card__content"><p class="sticky-card__description">${text}</p></div></div>`;var br_news_elem=$('.breaking-news-'+uuid);br_news_elem.find('.breaking-news-content').remove();br_news_elem.append(childContent).removeClass('hidden');}$(once('close_breaking_news','i.sticky-card__close',context)).click(function(){var uuid=$(this).parent().attr('data');var close_time=Date.now();Cookies.set(uuid,close_time);$('.breaking-news-'+uuid).addClass('hidden');});}};})(jQuery,Drupal);;
10(function($,Drupal,once){Drupal.behaviors.articleTable={attach:function(context){$(once('articleTable','body.page__article .block-field-blocknodearticlefield-content table'),context).each(function(i){$(this).wrap("<div></div>").wrap("<div></div>");const articleId=$(this).closest('article').attr('data-node-id');const tableId=`${articleId}${i}`;$(this).parent().addClass("article-table-responsive-"+tableId);$(this).parent().parent().addClass("article-table-responsive-container");$(this).parent().addClass("article-table-responsive");var element=document.querySelector('.article-table-responsive-'+tableId);if(element.offsetWidth<element.scrollWidth){$(`<span class='btn-hidden left-arrow left-arrow-${tableId}'></span>`).insertAfter('.article-table-responsive-'+tableId);$(`<span class='right-arrow right-arrow-${tableId}'></span>`).insertAfter('.article-table-responsive-'+tableId);$(`<div class='gradient-hidden table-gradient-overlap-left table-gradient-overlap-left-${tableId}'></div>`).insertAfter('.article-table-responsive-'+tableId);$(`<div class='table-gradient-overlap-right table-gradient-overlap-right-${tableId}'></div>`).insertAfter('.article-table-responsive-'+tableId);const container=$('.article-table-responsive-'+tableId)[0];const maxScrollLeft=container.scrollWidth-container.clientWidth;
10const btnSlideLeft=$(".left-arrow-"+tableId);const btnSlideRight=$(".right-arrow-"+tableId);const tableGradientOverlapLeft=$(".table-gradient-overlap-left-"+tableId);const tableGradientOverlapRight=$(".table-gradient-overlap-right-"+tableId);$(".right-arrow-"+tableId).each(function(){$(this).on('click',function(){sideScroll(container,'right',25,100,10);if(container.scrollLeft>=0){btnSlideLeft.removeClass("btn-hidden");tableGradientOverlapLeft.removeClass("gradient-hidden");}if(container.scrollLeft>=maxScrollLeft){btnSlideRight.addClass("btn-hidden");tableGradientOverlapRight.addClass("gradient-hidden");}});});$(".left-arrow-"+tableId).each(function(){$(this).on('click',function(){const scrollStep=50;const isScrollToStart=container.scrollLeft<=scrollStep;sideScroll(container,'left',25,50,10);if(isScrollToStart){btnSlideLeft.addClass("btn-hidden");tableGradientOverlapLeft.addClass("gradient-hidden");}if(container.scrollLeft<maxScrollLeft-1){btnSlideRight.removeClass("btn-hidden");tableGradientOverlapRight.removeClass("gradient-hidden");}});});function sideScroll(element,direction,speed,distance,step){var scrollAmount=0;var slideTimer=setInterval(function(){if(direction=='left')element.scrollLeft-=step*2;else element.scrollLeft+=step*1;scrollAmount+=step;if(scrollAmount>=distance)window.clearInterval(slideTimer);},speed);}element.onscroll=()=>{if(container.scrollLeft>=0){btnSlideLeft.removeClass("btn-hidden");tableGradientOverlapLeft.removeClass("gradient-hidden");}if(container.scrollLeft>maxScrollLeft-1){btnSlideRight.addClass("btn-hidden");tableGradientOverlapRight.addClass("gradient-hidden");}if(container.scrollLeft<=0){btnSlideLeft.addClass("btn-hidden");tableGradientOverlapLeft.addClass("gradient-hidden");}if(container.scrollLeft<maxScrollLeft-1){btnSlideRight.removeClass("btn-hidden");tableGradientOverlapRight.removeClass("gradient-hidden");}};}});}};})(jQuery,Drupal,once);;
11"use strict";(function(a,b){b.behaviors.cnarPrimaryMenu={attach(c){var d=b.behaviors.cnarPrimaryMenu;once("cnarPrimaryMenu",".cnar-primary-menu",c).forEach((b)=>{if(a(b).hasClass("cnar-primary-menu--scrollable")){a("li:has(.fixed-menu-item)",b).remove(),d.updateScrollArrowVisibility(b),a(b).on("scroll",()=>{d.updateScrollArrowVisibility(b);});var e=new ResizeObserver((a)=>{for(var b of a)d.updateScrollArrowVisibility(b.target);});e.observe(a(b)[0]),a(".cnar-primary-menu-scrollable-chevron",a(b).parent()[0]).on("click",(a)=>{var {currentTarget:c}=a;d.onChevronClick(b,c);});}else a("li:not(:has(.fixed-menu-item))",b).remove();var c=new ResizeObserver((b)=>{for(var c of b)a(".cnar-primary-menu-wrapper")[0].style.setProperty("--header-branding-width","".concat(c.contentRect.width,"px"));});c.observe(a(".header__branding")[0]);});},updateScrollArrowVisibility:(b)=>{var c=a(b)[0],d=0===c.scrollLeft,e=c.scrollLeft+c.clientWidth>=c.scrollWidth-1,f=0<c.scrollLeft,g=c.scrollWidth>c.clientWidth;!e&&g?a(b).closest(".cnar-primary-menu-scrollable-wrapper").addClass("cnar-primary-menu-scrollable-wrapper--scrollable-right"):a(b).closest(".cnar-primary-menu-scrollable-wrapper").removeClass("cnar-primary-menu-scrollable-wrapper--scrollable-right");!d&&f?a(b).closest(".cnar-primary-menu-scrollable-wrapper").addClass("cnar-primary-menu-scrollable-wrapper--scrollable-left"):a(b).closest(".cnar-primary-menu-scrollable-wrapper").removeClass("cnar-primary-menu-scrollable-wrapper--scrollable-left");},onChevronClick:(b,c)=>{var d=a(c).hasClass("cnar-primary-menu-scrollable-chevron--right"),e=a(b)[0].scrollLeft,f=.2*a(b)[0].scrollWidth,g=d?e+f:e-f;a(b)[0].scrollLeft=g;}};})(jQuery,Drupal);;
12(function($,Drupal,once){'use strict';Drupal.behaviors.scrollToActiveLink={attach:function(context,settings){once('scrollToActiveLink','html',context).forEach(function(){const headerSecondary=document.querySelector('.cnar-primary-menu--scrollable')||document.querySelector('.header__secondary');let activeLink=document.querySelector('.main-menu__item--active');if(!activeLink)$('.main-menu__item a, .cnar-primary-menu__item a').each(function(){const linkHref=this.getAttribute('href');if(window.location.href===linkHref||window.location.pathname===linkHref){$(this).addClass('is-active').parent().addClass('main-menu__item--active');$(this).addClass('main-menu__link--active');activeLink=document.querySelector('.main-menu__item--active');}});if(headerSecondary&&activeLink)if($(headerSecondary).hasClass('cnar-primary-menu--scrollable')){const gradientWidth=95;const activeLinkOffsetWithWidth=activeLink.offsetLeft+activeLink.clientWidth;const isActiveLinkBehindGradient=activeLinkOffsetWithWidth>($(headerSecondary)[0].clientWidth-gradientWidth);if(isActiveLinkBehindGradient)headerSecondary.scrollLeft=activeLink.offsetLeft-gradientWidth;}else headerSecondary.scrollLeft=activeLink.offsetLeft;});}};})(jQuery,Drupal,once);;
13(function($,Drupal,debounce){'use strict';var position=$(window).scrollTop();$(window).scroll(debounce(function(){var scroll=$(window).scrollTop();var header_height=$('.header').height();var article_heading=$('.article-detail-title-block').height();var video_heading=$('.block-video-heading').height();var add_height=$('.block-ad-entity').height();if($('body').hasClass('page__article'))var total_height=$('.article-detail-title-block').offset().top+article_heading-110;else var total_height=video_heading?(video_heading+110):110;if(scroll>position){if(scroll>total_height){if($('article[data-is-back-to-fast]').length>0)$('body').addClass('show-fast-button-on-navigation');$('.header__branding, .header__primary, .header__secondary, section.navigation-block, .logo__image, .header__header-bar').addClass("isscroll");}}else{$('body').removeClass('show-fast-button-on-navigation');$('.header__branding, .header__primary, .header__secondary, section.navigation-block, .logo__image, .header__header-bar').removeClass("isscroll");}position=scroll;},100));function scrollToActiveLink(){const activeLink=document.querySelector('.main-menu__item--active');const activeAnchor=$('a',activeLink);const activeLinkHref=$(activeAnchor).attr('href');if(activeLinkHref!==window.location.href||activeLinkHref!==window.location.pathname){$(activeLink).removeClass('main-menu__item--active');$(activeAnchor).removeClass('main-menu__link--active');}Drupal.behaviors.scrollToActiveLink.attach();}scrollToActiveLink();$.fn.readmore=function(settings){var opts=$.extend({},$.fn.readmore.defaults,settings);this.each(function(){$(this).data("opts",opts);if($(this).text().length>opts.substr_len){abridge($(this));linkage($(this));}});
13function linkage(elem){elem.append(elem.data("opts").more_link);elem.children(".more").click(function(){$(this).hide();$(this).siblings("span:not(.hidden)").hide().siblings("span.hidden").fadeIn({queue:false,duration:250});;});}function abridge(elem){var opts=elem.data("opts");var txt=elem.text();var len=opts.substr_len;var dots="<span>"+opts.ellipses+"</span>";var charAtLen=txt.substr(len,1);while(len<txt.length&&!/\s/.test(charAtLen)){len++;charAtLen=txt.substr(len,1);}var shown=txt.substring(0,len)+dots;var hidden='<span class="hidden" style="display:none;">'+txt.substring(len,txt.length)+'</span>';elem.html(shown+hidden);}return this;};$.fn.readmore.defaults={substr_len:500,ellipses:'&#8230;',more_link:'<a class="more">see&nbsp;more</a>'};$('.figure__caption').readmore({substr_len:240});})(jQuery,Drupal,Drupal.debounce);;
14(function($,Drupal){let allSectionMenu=document.querySelector('.all-section-menu');let menuSpotlightImg=document.querySelectorAll('.hamburger-menu .spotlight img');if(allSectionMenu&&menuSpotlightImg)allSectionMenu.addEventListener('click',function(event){menuSpotlightImg.forEach(function(el){let dataOnDemandSrc=el.dataset.ondemandsrc;el.setAttribute('src',dataOnDemandSrc);});},false);})(jQuery,Drupal);;
15(function($,Drupal,debounce,cookies){Drupal.behaviors.editionMenu={attach:function(context,settings){var activeEditionText=document.querySelector('ul.edition-menu-dropdown li.edition-menu-dropdown__item a.is-active').innerText;var editionLocations=document.querySelectorAll('.edition-block__location');editionLocations.forEach(function(locationElement){locationElement.innerText=activeEditionText;});$('.edition-menu-dropdown__item').filter(function(){return $(this).has('.is-active').length>0;}).hide();$('body').click(function(event){if(!$('.edition-block__dropdown').is(event.target)&&$('.edition-block__dropdown').has(event.target).length===0){$('.edition-block__dropdown').removeClass("show");$('.edition-block').removeClass("active");}});$(once('edition-menu','.edition-block__button',context)).click(function(event){event.stopPropagation();$(this).next('.edition-block__dropdown').toggleClass("show");$(this).parent('.edition-block').toggleClass("active");});if(drupalSettings.mc_location){const config=drupalSettings.mc_location.config;const urls={local:config.local_url||'/',international:config.international_url,us:config.united_states_url};const pathname=window.location.pathname;if(drupalSettings.path.isFront||pathname===urls.local||pathname===urls.international||pathname===urls.us)$('header.header').addClass("show-editionmenu-mobile");}}};})(jQuery,Drupal,Drupal.debounce,window.Cookies);;
16"use strict";(function(a,b){b.behaviors.gamesSecondaryMenu={attach:function attach(b){var c,d,e=a(".cnar-secondary-menu-wrapper > ul > li > a");if(e.each(function(){var b=a(this).text();"Games"===b?c=a(this).closest("li"):"More"===b&&(d=a(this).closest("li"));}),c&&d&&!c.parent().hasClass("cnar-secondary-menu__group")){var g=a("<div class=\"cnar-secondary-menu__group\"></div>");c.before(g),g.append(c),g.append(d);}if(a(once("gamesMenu",".games",b)).on("click",function(b){b.preventDefault();var c=a(this).attr("href");if(c){window._adobeUtility&&"function"==typeof window._adobeUtility.adobeAnalyticsTrack&&window._adobeUtility.adobeAnalyticsTrack("customTracking",{eventname:"feature_entry",actionname:"games_main menu link_click",featureentrypoint:"games_main menu-links"},!0);try{var d;if(null===(d=window.mixpanelConfig)||void 0===d?void 0:d.trackEvent)mixpanelConfig.trackEvent("games_landing_viewed",{entry_source:"main_menu"});}catch(a){console.warn("Mixpanel tracking failed:",a);}sessionStorage.setItem("gamesEntrySource","menu"),window.location.href=c;}}),function(){return !!document.querySelector(".games-individual-page, .section-main-game, .games-sublanding-page");}()){if(sessionStorage.setItem("inGamesFeature","1"),sessionStorage.setItem("gamesSourcePage",window.location.href),document.querySelector(".section-main-game")&&"undefined"!=typeof mixpanelConfig&&"function"==typeof mixpanelConfig.trackEvent)mixpanelConfig.trackEvent("games_landing_viewed",{entry_source:"direct_link"});}else{if("1"===sessionStorage.getItem("inGamesFeature")){var f;null===(f=window._adobeUtility)||void 0===f?void 0:f.adobeAnalyticsTrack("customTracking",{eventname:"feature_exit"},!1),sessionStorage.removeItem("inGamesFeature"),sessionStorage.removeItem("gamesSourcePage");}}}};})(jQuery,Drupal);;

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.