{"version":3,"file":"aem-1741609655.js","sources":["../../src/js/utils/string-constants.js","../../src/js/utils/ppr-currency-converter.js","../../src/js/cms/aem.js"],"sourcesContent":["/**\n * These link positions identify a menu.\n */\nconst menuIdentifiers = [\n 'menu-main',\n 'menu-main-corp',\n 'menu-partner-main-menu',\n 'partner-secondary',\n 'menu-secondary',\n 'secondary-main-menu',\n 'menu-micro-corp',\n 'language-menu',\n 'menu-footer',\n 'menu-social-menu',\n 'menu-footer-secondary' ,\n 'sticky-nav-link',\n 'menu-promo'\n];\n\n\nconst cvAMDWebProperties =\n \",amd.com,amd.com.cn,amd.com.tw,amd.co.jp,amdcompare.com,amd.ru,ati.com,ati.de,graphics-scout.com,atiplus,amdassets.com,amdrewards.com,amdinfo.co.kr,amdsurveys.com,feedback.amd.com,seamicro.com,\\\n gpuopen.com,radeon.com,radeon.wpengine.com,ve.ga,amd.local,phx.corporate-ir.net,eloqua.com,flixfacts.co.uk,radeonramdisk.com,amd4u.com,radeonmemory.com,amd.mkt6303.com,www.pages03.net,gizmosphere.org,amdpromos.com,amdfanstore.com,\\\n amd-d2vienna.com,amd-ibcshow.com,amd-auvegas.com,amdhub.in,amdgaming.gg,cloudsolutions.amd.com,xilinx.com,test.xilinx.com,amd-heroes.jp,amdpremium.com,mybigcommerce.com,urgame,amdultimate.com,futurewithamd.com,\\\n xilinxcustomertraining.netexam.com,xilinxprod-catalog.netexam.com,xilinx.entitlenow.com,amd.entitlenow.com,amd-id.com,amd-malaysia.com,amd-ph.com,amdthailand.com,amdvietnam.com,amdvietnam.vn,futurewithamd.com,\\\n ryzen.co.kr,ryzen.pro,amdaward.com,why-ryzen.com,rocm.docs.amd.com,rocm.blogs.amd.com,docs.amd.com,ryzen-ai.com,edc.amdcss.com\";\nconst cvSocialDomains = new Array('163', '12seconds', '4travel', 'advogato', 'ameba', 'anobii', 'asmallworld', 'backtype', 'badoo', 'bebo', 'bigadda', 'bigtent', 'biip', 'blackplanet', 'blogspot', 'blogster', 'blomotion', 'bolt', 'brightkite', 'buzznet', 'cafemom', 'care2', 'classmates', 'cloob', 'collegeblender', 'cyworld', 'cyworld', 'dailymotion', 'daum', 'delicious', 'deviantart', 'digg', 'diigo', 'disqus', 'draugiem', 'facebook', 'faceparty', 'fc2', 'flickr', 'flixster', 'fotolog', 'foursquare', 'friendfeed', 'friendsreunited', 'friendster', 'fubar', 'gaiaonline', 'geni', 'goodreads', 'grono', 'habbo', 'hatena', 'hexun', 'hi5', 'hyves', 'ibibo', 'identi', 'ifeng', 'imeem', 'infoseek', 'intensedebate', 'irc-galleria', 'iwiw', 'jaiku', 'kaixin001', 'kaixin002', 'kakaku', 'kanshin', 'kozocom', 'last', 'linkedin', 'livejournal', 'me2day', 'meetup', 'mister-wong', 'mixi', 'mixx', 'mouthshut', 'multiply', 'myheritage', 'mylife', 'myspace', 'myspace', 'myyearbook', 'nasza-klasa', 'netlog', 'nettby', 'netvibes', 'nicovideo', 'ning', 'odnoklassniki', 'orkut', 'pakila', 'people', 'photobucket', 'pinterest', 'plaxo', 'plurk', 'qq', 'reddit', 'renren', 'seesaa', 'skyrock', 'slideshare', 'smcb', 'smugmug', 'sohu', 'sonico', 'studivz', 'stumbleupon', 't', 'tabelog', 'tagged', 'taringa', 'tripit', 'trombi', 'trytrend', 'tuenti', 'tumblr', 'twine', 'twitter', 'twitch', 'uhuru', 'viadeo', 'vimeo', 'vkontakte', 'vox', 'wayn', 'weibo', 'weourfamily', 'wer-kennt-wen', 'wordpress', 'xanga', 'xing', 'yaplog', 'yelp', 'youtube', 'yuku', 'zooomr', 'google');\nconst cvSearchDomains = new Array('abcsok', 'alicesuche', 'alltheweb', 'altavista', 'anonymouse', 'aol', 'aolrecherche', 'aolsearch', 'aolsvc', 'ask', 'baidu', 'biglobe', 'bing', 'centrum', 'chip', 'clix', 'cuil', 'daum', 'eniro', 'euroseek', 'excite', 'fireball', 'goo', 'google', 'googlesyndication', 'icq', 'infoseek', 'ixquick', 'kvasir', 'libero', 'live', 'livedoor', 'lycos', 'mail', 'msn', 'myway', 'naver', 'netscape', 'nifty', 'rambler', 'recherche', 'recherchet2', 'search', 'searchalot', 'seznam', 'startpagina', 'suche', 'szukaj', 'terra', 'tiscali', 'toile', 'ucweb', 'uol', 'vinden', 'virgilio', 'walla', 'yahoo', 'yandex', 'web', 'youdao', 'webalta');\nconst cvAMDShortDomains = new Array('amd', 'amdsurveys', 'amd-member', 'seamicro');\nconst cvOtherPartnerExcludeDomains = new Array('dataram', 'adcash', 'gobongo', 'youradexchange', 'openadserving', 'otvetim-vopros', 'undefined', 'drotator', 'uxup', 'wpengine');\nconst cvPartnerExcludeDestination_LID = new Array('ms-backgroundImage', ' ms-backgroundImage');\nconst cvPartnerExcludeDomains = cvOtherPartnerExcludeDomains.join(',') + ',' + cvSearchDomains.join(',') + ',' + cvSocialDomains.join(',') + cvAMDWebProperties; // PartnerRef\nconst cvSourceExcludeDomains = new Array('devgurus.amd.com', 'devforums.amd.com', 'forums.amd.com', 'support.amd.com'); // PartnerRef\nconst cvDownloadExtentions = 'run,msi,deb,rpm,gz,tar,bz2,dmg,sit,gzip,patch,exe,zip,wav,mp3,wma,mov,mpg,avi,wmv,mp4,doc,pdf,xls,ppt,pps,csv,jpg,png,bmp,wmf,tif,docx,xlsx,pptx,cbr,iso'; // File extensions to track as downloadable content\nconst cvDriverExtensions = 'run,msi,deb,rpm,gz,tar,bz2,dmg,sit,gzip,exe,zip,iso'; // File extensions to include for driver downloads\nconst cvNonDownloadExtensions = 'do,aspx,ashx,asp,jp,ru,it'; // File extensions to exclude for driver downloads\nconst cvDriverDownloadDomains = [\"support.amd.com\", \"www2.ati.com\", \"drivers.amd.com\", \"repo.radeon.com\"]; // array of AMD driver download domains\n\nwindow.cvAMDWebProperties = cvAMDWebProperties;\n\nexport {menuIdentifiers, cvSocialDomains, cvSearchDomains, cvAMDShortDomains, cvPartnerExcludeDestination_LID, cvPartnerExcludeDomains,\n cvSourceExcludeDomains, cvDownloadExtentions, cvDriverDownloadDomains, cvDriverExtensions, cvNonDownloadExtensions, cvAMDWebProperties}","/**\n * \n * @param {string} currency - The country portion of the shop retailer.\n * @returns {string} - Resulting currency code\n */\nexport function convertCurrency(currency) {\n if (/\\-(ad|as|at|ax|be|bl|de|es|fi|fr|gf|gp|gr|ie|it|lu|mc|me|mq|nl|pm|pt|re|si|sk|sm|tf|va|ws|yt)$/i.test(currency)) {\n return 'EUR';\n }\n else if (/\\-(bd|by|fm|gu|io|mh|mp|na|pr|pw|tc|um|us|usaf|vg|vi)$/i.test(currency)) {\n return 'USD';\n }\n else if (/\\-ae$/i.test(currency)) {\n return 'AED';\n }\n else if (/\\-ar$/i.test(currency)) {\n return 'ARS';\n }\n else if (/\\-(au|cc|cx|hm|ki|nf|nr|tv)$/i.test(currency)) {\n return 'AUD';\n }\n else if (/\\-bg$/i.test(currency)) {\n return 'BGN';\n }\n else if (/\\-bo$/i.test(currency)) {\n return 'BOB';\n }\n else if (/\\-br$/i.test(currency)) {\n return 'BRL';\n }\n else if (/\\-ca$/i.test(currency)) {\n return 'CAD';\n }\n else if (/\\-ch$/i.test(currency)) {\n return 'CHF';\n }\n else if (/\\-li$/i.test(currency)) {\n return 'CHF';\n }\n else if (/\\-cl$/i.test(currency)) {\n return 'CLP';\n }\n else if (/\\-cn$/i.test(currency)) {\n return 'CNY';\n }\n else if (/\\-co$/i.test(currency)) {\n return 'COP';\n }\n else if (/\\-cz$/i.test(currency)) {\n return 'CZK';\n }\n else if (/\\-(dk|fo|gl)$/i.test(currency)) {\n return 'DKK';\n }\n else if (/\\-eg$/i.test(currency)) {\n return 'EGP';\n }\n else if (/\\-(gs|im|je|sh|uk)$/i.test(currency)) {\n return 'GBP';\n }\n else if (/\\-hk$/i.test(currency)) {\n return 'HKD';\n }\n else if (/\\-hr$/i.test(currency)) {\n return 'HRK';\n }\n else if (/\\-hu$/i.test(currency)) {\n return 'HUF';\n }\n else if (/\\-(id|tp)$/i.test(currency)) {\n return 'IDR';\n }\n else if (/\\-il$/i.test(currency)) {\n return 'ISL';\n }\n else if (/\\-(bt|in)$/i.test(currency)) {\n return 'INR';\n }\n else if (/\\-jp$/i.test(currency)) {\n return 'JPY';\n }\n else if (/\\-kr$/i.test(currency)) {\n return 'KRW';\n }\n else if (/\\-lt$/i.test(currency)) {\n return 'LTL';\n }\n else if (/\\-(eh|ma)$/i.test(currency)) {\n return 'MAD';\n }\n else if (/\\-mx$/i.test(currency)) {\n return 'MXN';\n }\n else if (/\\-my$/i.test(currency)) {\n return 'MYR';\n }\n else if (/\\-(bv|no|sj)$/i.test(currency)) {\n return 'NOK';\n }\n else if (/\\-(ck|nu|nz|pn|tk)$/i.test(currency)) {\n return 'NZD';\n }\n else if (/\\-pe$/i.test(currency)) {\n return 'PEN';\n }\n else if (/\\-ph$/i.test(currency)) {\n return 'PHP';\n }\n else if (/\\-pk$/i.test(currency)) {\n return 'PKR';\n }\n else if (/\\-pl$/i.test(currency)) {\n return 'PLN';\n }\n else if (/\\-ro$/i.test(currency)) {\n return 'RON';\n }\n else if (/\\-rs$/i.test(currency)) {\n return 'RSD';\n }\n else if (/\\-ru$/i.test(currency)) {\n return 'RUB';\n }\n else if (/\\-sa$/i.test(currency)) {\n return 'SAR';\n }\n else if (/\\-se$/i.test(currency)) {\n return 'SEK';\n }\n else if (/\\-sg$/i.test(currency)) {\n return 'SGD';\n }\n else if (/\\-th$/i.test(currency)) {\n return 'THB';\n }\n else if (/\\-tr$/i.test(currency)) {\n return 'TRY';\n }\n else if (/\\-tw$/i.test(currency)) {\n return 'TWD';\n }\n else if (/\\-ua$/i.test(currency)) {\n return 'UAH';\n }\n else if (/\\-ve$/i.test(currency)) {\n return 'VEF';\n }\n else if (/\\-vn$/i.test(currency)) {\n return 'VND';\n }\n else if (/\\-za$/i.test(currency)) {\n return 'ZAR';\n }\n else {\n return window.cfCheckRSID.cvCurrency;\n }\n}","import { Cookie, getCookieConsent } from '../cookie.js';\r\nimport { cleanLinkID, documentNode, removeHTMLTags, getCleanURL, cfRight, UpdateQueryString, stripPii, cfIsNullOrWhitespace, parseUri } from '../utils/analytics-utils.js';\r\nimport { menuIdentifiers, cvPartnerExcludeDestination_LID, cvPartnerExcludeDomains,cvSourceExcludeDomains,\r\n cvDownloadExtentions, cvDriverDownloadDomains, cvDriverExtensions, cvNonDownloadExtensions, cvAMDWebProperties } from '../utils/string-constants.js';\r\nimport { convertCurrency } from '../utils/ppr-currency-converter.js'\r\n\r\nfunction cfLnkClick(evt) {\r\n var isPromoClick = 0;\r\n var cvEvents = '', cvDFAEvent = '';\r\n let Destination_LID = '';\r\n let Destination_LPOS = '';\r\n let cvDestination_URL = '';\r\n let Destination_URL_wParam = '';\r\n let cvDestination_URL_ext = '';\r\n let Destination_Name = '';\r\n let Destination_Server = '';\r\n let Destination_Domain = '';\r\n let cvDownloadFileExt = '';\r\n let cvNRPPR = '';\r\n let Destination_ID = '';\r\n let Destination_URL_wParam_Original = '';\r\n let Destination_URL = '';\r\n const sAA = window.AMDAnalytics.sAA || {};\r\n sAA.linkType = '';\r\n sAA.eVar32 = '';\r\n sAA.eVar31 = '';\r\n sAA.eVar33 = '';\r\n sAA.eVarMan = '';\r\n sAA.eVarCat = '';\r\n sAA.Currency = '';\r\n let LnkTypePos = '';\r\n let o = evt.target;\r\n let cvLinkType = '';\r\n let cvTagName = '';\r\n let cvFoundChild;\r\n if (\"composed\" in evt && typeof evt.composedPath === \"function\") {\r\n // Get the path of elements the event climbed through, e.g.\r\n // [span, div, div, section, body]\r\n const path = evt.composedPath();\r\n\r\n // Fetch reference to the element that was actually clicked\r\n let targetElement = path[0];\r\n if (targetElement.tagName.toLowerCase() === \"atomic-result-text\") {\r\n targetElement = targetElement.closest(\"a\") || targetElement.querySelector(\"a\");\r\n } else {\r\n const targetParent = targetElement.closest(\"atomic-result-text\");\r\n if (targetParent) {\r\n targetElement = targetParent.closest(\"a\") || targetParent.querySelector(\"a\");\r\n }\r\n }\r\n if (targetElement && targetElement.tagName.toLowerCase() === \"a\") {\r\n // Check if the element is WITHIN the shadow DOM (ignoring the root)\r\n const shadowFound = path.length\r\n ? path.filter(function (i) {\r\n return !targetElement.shadowRoot && !!i.shadowRoot;\r\n }).length > 0\r\n : false;\r\n\r\n if (shadowFound) {\r\n o = targetElement;\r\n }\r\n }\r\n } \r\n if (typeof o.tagName != 'undefined') {\r\n cvTagName = o.tagName.toLowerCase();\r\n }\r\n\r\n\r\n let cvURL = getCleanURL();\r\n\r\n var {cvPTagName, cvPPClassName, cvPPPClassName, cvPPPTagName} = documentNode(o);\r\n\r\n if ((cvTagName != 'a') && !((typeof o.parentNode != 'undefined') && (cvTagName == 'area' && cvPTagName == 'map')) && !(cvTagName == 'div' && decodeURIComponent(o.className) == 'accordiontitle') && (cvTagName != 'button')) {\r\n let exitLoop = 0;\r\n let treeLevels = 0;\r\n let GAo = o;\r\n let cvGATagName, cvGAPTagName, cvGAPPTagName, cvGAPPClassName, cvGAPPPTagName, cvGAPPPClassName, cvPPTagName;\r\n while ((treeLevels < 4) && !exitLoop && GAo.tagName.toLowerCase() != 'body') {\r\n if (GAo.parentNode) {\r\n GAo = GAo.parentNode;\r\n if (typeof GAo.tagName != 'undefined') {\r\n cvGATagName = GAo.tagName.toLowerCase();\r\n }\r\n if (GAo.parentNode) {\r\n cvGAPTagName = GAo.parentNode.tagName.toLowerCase();\r\n if (GAo.parentNode.parentNode && !cfIsNullOrWhitespace(GAo.parentNode.parentNode) && GAo.parentNode.tagName.toLowerCase() != 'html' && typeof GAo.parentNode.parentNode.tagName != 'undefined') {\r\n cvGAPPTagName = GAo.parentNode.parentNode.tagName.toLowerCase();\r\n if (typeof GAo.parentNode.parentNode.className != 'undefined') {\r\n if (typeof GAo.parentNode.parentNode.className == 'object') {\r\n cvGAPPClassName = typeof GAo.parentNode.parentNode.className.baseVal != 'undefined' ? GAo.parentNode.parentNode.className.baseVal.toLowerCase() : 'unavailable';\r\n } else {\r\n cvGAPPClassName = GAo.parentNode.parentNode.className.toLowerCase();\r\n }\r\n }\r\n if (typeof GAo.parentNode.parentNode.parentNode != 'undefined' && !cfIsNullOrWhitespace(GAo.parentNode.parentNode.parentNode) && GAo.parentNode.parentNode.tagName.toLowerCase() != 'html' && typeof GAo.parentNode.parentNode.parentNode.tagName != 'undefined') {\r\n cvGAPPPTagName = GAo.parentNode.parentNode.parentNode.tagName.toLowerCase();\r\n if (typeof GAo.parentNode.parentNode.parentNode.className != 'undefined') {\r\n if (typeof GAo.parentNode.parentNode.parentNode.className == 'object') {\r\n if (typeof GAo.parentNode.parentNode.parentNode.className.baseVal != 'undefined') {\r\n cvGAPPPClassName = GAo.parentNode.parentNode.parentNode.className.baseVal.toLowerCase();\r\n } else {\r\n cvGAPPPClassName = 'unavailable';\r\n }\r\n } else {\r\n cvGAPPPClassName = GAo.parentNode.parentNode.parentNode.className.toLowerCase();\r\n }\r\n }\r\n }\r\n }\r\n }\r\n if ((cvGATagName == 'a') || ((GAo.parentNode) && (cvGATagName == 'area' && cvGAPTagName == 'map')) || (cvGATagName == 'div' && decodeURIComponent(GAo.className) == 'accordiontitle') || (cvGATagName == 'button')) {\r\n o = GAo;\r\n if (typeof cvGATagName != 'undefined') {\r\n cvTagName = cvGATagName;\r\n }\r\n if (typeof cvGAPTagName != 'undefined') {\r\n cvPTagName = cvGAPTagName;\r\n }\r\n if (typeof cvGAPPTagName != 'undefined') {\r\n cvPPTagName = cvGAPPTagName;\r\n }\r\n if (typeof cvGAPPPTagName != 'undefined') {\r\n cvPPPTagName = cvGAPPPTagName;\r\n }\r\n if (typeof cvGAPPClassName != 'undefined') {\r\n cvPPClassName = cvGAPPClassName;\r\n }\r\n if (typeof cvGAPPPClassName != 'undefined') {\r\n cvPPPClassName = cvGAPPPClassName;\r\n }\r\n exitLoop = 1;\r\n }\r\n }\r\n else {\r\n exitLoop = 1;\r\n }\r\n treeLevels++;\r\n }\r\n }\r\n if (cvTagName == 'a') {\r\n cvLinkType = 'Link|A';\r\n if (typeof (o.href) !== 'undefined') {\r\n Destination_URL_wParam = o.href.toLowerCase();\r\n }\r\n cvFoundChild = o.querySelector('img');\r\n if (cvFoundChild) {\r\n cvLinkType = 'Link|IMG';\r\n if (typeof (cvFoundChild.src) !== 'undefined') {\r\n let cvImageSRC = parseUri(cvFoundChild.src).host + parseUri(cvFoundChild.src).path;\r\n if (typeof (cvFoundChild.alt) !== 'undefined') {\r\n Destination_LID = `IMG|ALT|${cvImageSRC}|${decodeURIComponent(cvFoundChild.alt).trim()}`;\r\n }\r\n else if (typeof (cvFoundChild.name) !== 'undefined') {\r\n Destination_LID = `IMG|NAME|${cvImageSRC}|${decodeURIComponent(cvFoundChild.name).trim()}`;\r\n }\r\n else if (typeof (cvFoundChild.id) !== 'undefined') {\r\n Destination_LID = `IMG|ID|${cvImageSRC}|${decodeURIComponent(cvFoundChild.id).trim()}`;\r\n }\r\n else {\r\n Destination_LID = `IMG|SRC|${cvImageSRC}`;\r\n }\r\n }\r\n if (typeof (o.name) !== 'undefined') {\r\n Destination_Name = decodeURIComponent(o.name);\r\n }\r\n }\r\n else if (typeof cvPPPTagName != 'undefined' && cvPPPTagName == 'div' && (cvPPPClassName && cvPPPClassName.includes('where_to_buy'))) {\r\n cvLinkType = 'Link|Shop'; // Shop WTB\r\n }\r\n }\r\n else if (typeof o.parentNode != 'undefined') {\r\n if (cvTagName == 'area' && cvPTagName == 'map') {\r\n cvLinkType = 'Link|IMGMAP';\r\n }\r\n else if ((cvTagName == \"div\" && decodeURIComponent(o.className) == \"accordiontitle\") || (cvTagName == \"button\" && decodeURIComponent(o.className).includes(\"cmp-accordion__button\"))) {\r\n cvLinkType = \"Link|AccordionTitle\";\r\n } else if (cvTagName == \"button\") {\r\n cvLinkType = \"Link|Button\";\r\n }\r\n }\r\n if (!cfIsNullOrWhitespace(cvLinkType)) {\r\n if (cvLinkType == 'Link|A') {\r\n if (typeof o.className != 'undefined' && o.className === 'at-share-btn') {\r\n cvEvents += ',addthis';\r\n }\r\n if (typeof o.id != 'undefined' && o.id.indexOf('atic_') === 0) {\r\n cvEvents += ',addthis';\r\n }\r\n if (typeof o.href != 'undefined') {\r\n Destination_URL_wParam = decodeURIComponent(o.href.toLowerCase());\r\n }\r\n cvDestination_URL = Destination_URL_wParam.split('?')[0];\r\n Destination_LID = '';\r\n if (decodeURIComponent(o.textContent) != \"\") {\r\n if (Destination_LID == \"\") {\r\n // Figure out how to identify a hero button in AMD AEM.\r\n if (o.className == \"hero_button\" || (o.closest(\"div.heroExpressive\") && o.closest(\"div.button\"))) {\r\n Destination_LID = `Btn-hero|${decodeURIComponent(o.textContent).trim()}|${parseUri(cvDestination_URL).file || \"N/A\"}`;\r\n if (typeof o.name !== \"undefined\" && o.className == \"hero_button\") {\r\n Destination_LID += `|${o.name}`;\r\n }\r\n }\r\n // Figure out how to identify a tab in AMD AEM and track it (might need to just hook into dataLayer).\r\n else if (typeof o.parentNode != \"undefined\" && o.parentNode.tagName.toLowerCase() == \"li\" && /tab\\d.*/i.test(o.parentNode.className)) {\r\n Destination_LID = `Tab|${o.parentNode.className.match(/tab\\d.*/i)}|${decodeURIComponent(o.textContent).trim()}`;\r\n } else if (\r\n typeof o.parentNode != \"undefined\" &&\r\n typeof o.parentNode.parentNode != \"undefined\" &&\r\n o.parentNode.parentNode !== null &&\r\n typeof o.parentNode.parentNode.className != \"undefined\" &&\r\n (o.parentNode.parentNode.className.includes(\"addthis\") || o.parentNode.parentNode.className.includes(\"at-share-btn\"))\r\n ) {\r\n Destination_LID = `AddThis|${decodeURIComponent(o.textContent).trim()}`;\r\n Destination_LPOS = \"AddThis\";\r\n cvEvents += \",addthis\";\r\n }\r\n // Fallback just get the button text.\r\n else {\r\n Destination_LID = decodeURIComponent(o.textContent).trim();\r\n }\r\n }\r\n } else if (decodeURIComponent(o.parentNode.className) != \"\") {\r\n // AR 3.2 to accomodate
\r\n Destination_LID = decodeURIComponent(o.parentNode.className).trim();\r\n } else if (decodeURIComponent(o.className) != \"\") {\r\n // AR 3.2 to accomodate
\r\n Destination_LID = decodeURIComponent(o.className).trim();\r\n } else {\r\n Destination_LID = Destination_URL_wParam;\r\n }\r\n Destination_Name = decodeURIComponent(o.name).trim();\r\n if (Destination_Name == 'undefined') {\r\n Destination_Name = '';\r\n }\r\n Destination_ID = decodeURIComponent(o.id); // AR 3.0 added \"ID\" attribute for LID and LPOS tracking\r\n if (!cfIsNullOrWhitespace(parseUri(Destination_URL_wParam).queryKey['promo'])) {\r\n Destination_LID = `${Destination_LID}|promo:${parseUri(Destination_URL_wParam).queryKey['promo']}`;\r\n }\r\n }\r\n else if (cvLinkType == 'Link|IMGMAP') {\r\n Destination_URL_wParam = decodeURIComponent(o.href.toLowerCase());\r\n cvDestination_URL = Destination_URL_wParam.split('?')[0];\r\n Destination_Name = decodeURIComponent(o.href);\r\n Destination_LID = `IMG|MAP|${Destination_Name}`;\r\n }\r\n else if (cvLinkType == 'Link|Shop') {\r\n Destination_URL_wParam = decodeURIComponent(o.href.toLowerCase());\r\n cvDestination_URL = Destination_URL_wParam.split('?')[0];\r\n Destination_Name = decodeURIComponent(o.href);\r\n Destination_LID = `Shop|WTB|${decodeURIComponent(o.innerHTML)}|${parseUri(Destination_URL_wParam).host}`;\r\n Destination_LPOS = 'Shop|WTB';\r\n }\r\n else if (cvLinkType == 'Link|Lightbox') {\r\n Destination_URL_wParam = decodeURIComponent(o.href.toLowerCase());\r\n cvDestination_URL = Destination_URL_wParam.split('?')[0];\r\n Destination_Name = decodeURIComponent(o.href);\r\n Destination_LID = `Lightbox|${decodeURIComponent(o.innerHTML).trim()}`;\r\n Destination_LPOS = 'Lightbox';\r\n }\r\n else if (cvLinkType == 'Link|CookieContent') {\r\n Destination_URL_wParam = decodeURIComponent(o.href.toLowerCase());\r\n cvDestination_URL = Destination_URL_wParam.split('?')[0];\r\n Destination_Name = decodeURIComponent(o.href);\r\n Destination_LID = `CookieContent|${decodeURIComponent(o.innerHTML).trim()}`;\r\n Destination_LPOS = 'CookieContent';\r\n }\r\n else if (cvLinkType == 'Link|MegaMenuSmall') {\r\n Destination_URL_wParam = decodeURIComponent(o.href.toLowerCase());\r\n cvDestination_URL = Destination_URL_wParam.split('?')[0];\r\n Destination_Name = decodeURIComponent(o.href);\r\n Destination_LID = `mm|${decodeURIComponent(o.innerHTML).trim()}`;\r\n Destination_LPOS = 'megamenu';\r\n }\r\n else if (cvLinkType == 'Link|HeaderNavlinks') {\r\n Destination_URL_wParam = decodeURIComponent(o.href.toLowerCase());\r\n cvDestination_URL = Destination_URL_wParam.split('?')[0];\r\n Destination_Name = decodeURIComponent(o.href);\r\n Destination_LID = `HeaderNavLinks|${decodeURIComponent(o.innerHTML).trim()}`;\r\n Destination_LPOS = 'HeaderNavLinks';\r\n }\r\n else if (cvLinkType == 'Link|LeftNavlinks') {\r\n Destination_URL_wParam = decodeURIComponent(o.href.toLowerCase());\r\n cvDestination_URL = Destination_URL_wParam.split('?')[0];\r\n Destination_Name = decodeURIComponent(o.href);\r\n Destination_LID = `LeftNavlinks|${decodeURIComponent(o.innerHTML).trim()}`;\r\n Destination_LPOS = 'LeftNavlinks';\r\n }\r\n else if (cvLinkType == 'Link|Breadcrumb') {\r\n Destination_URL_wParam = decodeURIComponent(o.href.toLowerCase());\r\n cvDestination_URL = Destination_URL_wParam.split('?')[0];\r\n Destination_Name = decodeURIComponent(o.href);\r\n Destination_LID = `Breadcrumb|${decodeURIComponent(o.innerHTML).trim()}`;\r\n Destination_LPOS = 'Breadcrumb';\r\n }\r\n else if (cvLinkType == 'Link|IMG') {\r\n if (typeof o.href != 'undefined') {\r\n Destination_URL_wParam = decodeURIComponent(o.href.toLowerCase());\r\n }\r\n cvDestination_URL = Destination_URL_wParam.split('?')[0];\r\n }\r\n else if (cvLinkType == 'Link|AccordionTitle') {\r\n Destination_URL_wParam = 'AccordionTitle';\r\n Destination_LID = decodeURIComponent(removeHTMLTags(o.textContent.toLowerCase())).trim();\r\n Destination_Name = decodeURIComponent(removeHTMLTags(o.textContent.toLowerCase())).trim();\r\n Destination_LPOS = `AccordionTitle-${o.className.includes('cmp-accordion__button--expanded') ? 'close' : 'open'}`;\r\n }\r\n else if (cvLinkType == 'Link|Button') { // 4p server\r\n if (o.closest(\"div.heroExpressive\") && o.closest(\"div.button\")) {\r\n Destination_LID = `Btn-hero|${decodeURIComponent(o.innerHTML).trim()}|${parseUri((o.href ? o.href : cvURL) || '').file || 'N/A'}`;\r\n Destination_URL_wParam = (o.href || cvURL || '');\r\n }\r\n else {\r\n Destination_LID = Destination_Name = (o.id || '');\r\n Destination_URL_wParam = cvURL;\r\n }\r\n }\r\n\r\n Destination_URL_wParam = stripPii(Destination_URL_wParam);\r\n Destination_URL_wParam = UpdateQueryString('spUserID', 'pii', Destination_URL_wParam);\r\n\r\n Destination_Server = parseUri(Destination_URL_wParam).host;\r\n Destination_Domain = ',' + parseUri(Destination_URL_wParam).domain + '.' + parseUri(Destination_URL_wParam).tld;\r\n Destination_URL_wParam_Original = Destination_URL_wParam;\r\n Destination_URL_wParam = '/' + parseUri(Destination_URL_wParam).host + parseUri(Destination_URL_wParam).relative;\r\n Destination_URL = Destination_URL_wParam.split('?')[0];\r\n var cvIsThisADownload = 0;\r\n // AR 3.0 added \"ID\" attribute for LID and LPOS tracking\r\n if (!cfIsNullOrWhitespace(Destination_ID) && cfIsNullOrWhitespace(Destination_Name)) {\r\n Destination_Name = Destination_ID;\r\n }\r\n // AR 2.7: Destination_Name validation to track &lid and &lpos in URL parameters if no \"name\" attribute is defined\r\n if ((Destination_Name == 'undefined' || cfIsNullOrWhitespace(Destination_Name)) && cvAMDWebProperties.includes(Destination_Domain) && (Destination_URL_wParam.includes('lid=') || Destination_URL_wParam.includes('lpos='))) {\r\n Destination_Name = Destination_URL_wParam;\r\n }\r\n var DADapp = 0;\r\n if ((Destination_Name == 'undefined' || cfIsNullOrWhitespace(Destination_Name)) && cvURL.includes('appid=dad')) {\r\n DADapp = 1;\r\n }\r\n if (Destination_Name) {\r\n Destination_Name = cleanLinkID(Destination_Name);\r\n const Destination_Name_Split = Destination_Name.split('&');\r\n for (var i = 0; i < Destination_Name_Split.length; i = i + 1) {\r\n if ((Destination_Name_Split[i].toLowerCase().indexOf('channelid=') == -1) && (Destination_Domain != ',en25.com') && (Destination_Server != 'link.global.amd.com')) {\r\n // AR 3.1 added filter to exclude LID tagging via URL for \"channelid=\" (salesedge portal issue)\r\n // added filter to exclude eloqua redirect domain containing lid\r\n if (Destination_Name_Split[i].toLowerCase().substr(0, 'lid='.length) === 'lid=') {\r\n Destination_LID = Destination_Name_Split[i].substring(4, Destination_Name_Split[i].length).replace('Pro Graphics a-n-d Accelerators', 'Pro Graphics & Accelerators'); // Extract LID (Link ID) from name=\"&lid=\"\r\n if (o.tagName == 'IMG' && o.parentNode.tagName == 'A') {\r\n Destination_LID = Destination_LID + ' | ' + cfRight(decodeURIComponent(o.src), 97 - Destination_LID.length);\r\n }\r\n }\r\n if (Destination_Name_Split[i].toLowerCase().substr(0, 'lpos='.length) === 'lpos=') {\r\n Destination_LPOS = Destination_Name_Split[i].substring(5, Destination_Name_Split[i].length); // Extract LPOS (Link Position) from name=\"&lpos=\"\r\n }\r\n if (Destination_Name_Split[i].toLowerCase().substr(0, 'lnktype='.length) === 'lnktype=') {\r\n LnkTypePos = Destination_Name_Split[i].substring(8, Destination_Name_Split[i].length);\r\n if (LnkTypePos.toLowerCase() == 'featured') {\r\n LnkTypePos = 'featuredlink';\r\n }\r\n else if (LnkTypePos.toLowerCase() == 'promo') {\r\n LnkTypePos = 'promolink';\r\n }\r\n else {\r\n LnkTypePos = '';\r\n }\r\n }\r\n } // close AR 3.1 if == -1\r\n }\r\n Destination_Name = Destination_Name.replace('Pro Graphics a-n-d Accelerators', 'Pro Graphics & Accelerators');\r\n }\r\n\r\n cvDownloadFileExt = parseUri(Destination_URL).file.split('.'); // AR 2.6: validate Null or Whitespace for URL\r\n cvDownloadFileExt = cvDownloadFileExt[cvDownloadFileExt.length - 1];\r\n if (!cfIsNullOrWhitespace(cvDownloadFileExt) && (!cvNonDownloadExtensions.includes(cvDownloadFileExt)) && (cvDownloadExtentions.includes(cvDownloadFileExt))) {\r\n // if extension on URL exists AND the extension is NOT in the exclude list AND the extension IS in the\r\n // download extension list, then set to 1\r\n // AR 2.5: removed !=0 condition to enable download tracking of exe files.\r\n // && cvDownloadExtentions.indexOf(cfUtility(Destination_URL,\"ext\")) != 0)\r\n // AR 2.6: false means extension exists; -1 means it exists as download file extension\r\n cvIsThisADownload = 1;\r\n }\r\n Destination_LID = removeHTMLTags(Destination_LID);\r\n\r\n /* Custom Link, Exit Link, Download Link */\r\n if (((cvAMDWebProperties.includes(Destination_Domain)) && (cvIsThisADownload != 1)) || (Destination_Domain.indexOf('undefined') != -1)) {\r\n sAA.linkType = 'o'; // Internal Links\r\n }\r\n else if ((cvAMDWebProperties.includes(Destination_Domain)) && (cvIsThisADownload == 1)) {\r\n sAA.linkType = 'd'; // Download Links\r\n }\r\n else if (cfIsNullOrWhitespace(Destination_URL_wParam_Original)) {\r\n sAA.linkType = 'o';\r\n }\r\n else {\r\n sAA.linkType = 'e'; // External Links\r\n }\r\n sAA.linkName = Destination_LID;\r\n sAA.linkURL = Destination_URL;\r\n // Non Revenue Partner Referral (NRPPR) BOF\r\n if (sAA.linkType == 'e') {\r\n // WTB CODE - PART 1\r\n if (o.hasAttribute('rel')) {\r\n let tempPPRScratch;\r\n let tempPPRScratch2;\r\n const tempPPR = cleanLinkID(o.getAttribute('rel'));\r\n if (tempPPR.includes('lpos=') && tempPPR.includes('&lid=')) {\r\n tempPPRScratch = tempPPR.split('lpos=')[1];\r\n tempPPRScratch2 = tempPPRScratch.split('&lid=');\r\n if (tempPPRScratch2[0] === \"PPRlink\") {\r\n Destination_LPOS = tempPPRScratch2[0];\r\n Destination_LID = tempPPRScratch2[1];\r\n }\r\n }\r\n }\r\n // END - WTB CODE - PART 1\r\n if (Destination_LPOS != 'PPRlink' && Destination_LPOS != 'RTPPRLink') {\r\n let Destination_CoreDomain = parseUri(Destination_URL_wParam_Original);\r\n if (Destination_URL_wParam_Original.indexOf('linksynergy') != -1) {\r\n const Destination_URL_wParam_Original_Split = Destination_URL_wParam_Original.split(/.*http/);\r\n Destination_CoreDomain = parseUri(decodeURIComponent(`http${Destination_URL_wParam_Original_Split[1]}`));\r\n }\r\n \r\n let SourceURL_CoreDomain = parseUri(cvURL);\r\n if ((!cvPartnerExcludeDomains.includes(Destination_CoreDomain.domain)) && ((!cvSourceExcludeDomains.includes(SourceURL_CoreDomain.host)) || (cvURL.includes('support.amd.com\\/en-us\\/download\\/ccc')))) {\r\n cvNRPPR = '';\r\n if (/www.amd.com.*server.*series-processors.*/i.test(cvURL)) {\r\n cvNRPPR = 'NAServer|';\r\n }\r\n else if (cvURL.includes('products/processors/desktop/a-series-apu')) {\r\n Destination_LID = `Shop|WTB|APU|${Destination_LID}`;\r\n Destination_LPOS = 'Shop|WTB';\r\n }\r\n else if (cvURL.includes('promo')) {\r\n cvNRPPR = 'Promo';\r\n }\r\n else if (cvURL.includes('graphics/desktop')) {\r\n cvNRPPR = 'Graphics|Desktop';\r\n }\r\n else if (cvURL.includes('graphics/workstation')) {\r\n cvNRPPR = 'Graphics|Workstation';\r\n }\r\n else if (cvURL.includes('processors/desktop')) {\r\n cvNRPPR = 'Processors|Desktop';\r\n }\r\n else if (cvURL.includes('processors/notebook-tablet')) {\r\n cvNRPPR = 'Processors|Notebook-Tablet';\r\n }\r\n else if (cvURL.includes('processors')) {\r\n cvNRPPR = 'Processors';\r\n }\r\n else if (cvURL.includes('products/chipsets')) {\r\n cvNRPPR = 'Chipsets';\r\n }\r\n else if (cvURL.includes('products/embedded')) {\r\n cvNRPPR = 'Embedded';\r\n }\r\n else if (cvURL.includes('products/solid-state-drives')) {\r\n cvNRPPR = 'SSD';\r\n }\r\n else if (cvURL.includes('game')) {\r\n cvNRPPR = 'Game';\r\n }\r\n else if (cvURL.includes('solutions/software-partners')) {\r\n cvNRPPR = 'Solutions|Software';\r\n }\r\n else if (cvURL.includes('solutions/servers')) {\r\n cvNRPPR = 'Solutions|Server';\r\n }\r\n else if (cvURL.includes('server')) {\r\n cvNRPPR = 'Server';\r\n }\r\n else if (cvURL.includes('solutions/tablets')) {\r\n cvNRPPR = 'Solutions|Tablets';\r\n }\r\n else if (cvURL.includes('solutions/workstations')) {\r\n cvNRPPR = 'Solutions|Workstations';\r\n }\r\n else if (cvURL.includes('solutions/pro')) {\r\n cvNRPPR = 'Solutions|Pro';\r\n }\r\n else if (cvURL.includes('solutions/laptops')) {\r\n cvNRPPR = 'Solutions|Laptops';\r\n }\r\n else if (cvURL.includes('solutions/desktops')) {\r\n cvNRPPR = 'Solutions|Desktops';\r\n }\r\n else if (cvURL.includes('partners/distributor-locator')) {\r\n cvNRPPR = 'Partners|Distributor';\r\n }\r\n else if (cvURL.includes('partners/global-oems')) {\r\n cvNRPPR = 'Partners|Global OEM';\r\n }\r\n else if (cvURL.includes('partners/north-america-oems')) {\r\n cvNRPPR = 'Partners|NA OEM';\r\n }\r\n else if (cvURL.includes('partners/reseller-locator')) {\r\n cvNRPPR = 'Partners|Reseller';\r\n }\r\n else if (cvURL.includes('microsoft')) {\r\n cvNRPPR = 'Business|Microsoft';\r\n }\r\n else if (cvURL.includes('business')) {\r\n cvNRPPR = 'Business';\r\n }\r\n else if (cvURL.includes('consumer/where-to-buy')) {\r\n cvNRPPR = 'Consumer|WTB';\r\n }\r\n else if (cvURL.includes('press-releases')) {\r\n cvNRPPR = 'Press Release';\r\n }\r\n else if (cvURL.includes('who-we-are')) {\r\n cvNRPPR = 'Who We Are';\r\n }\r\n else if (/\\/www\\.amd\\.com\\/(\\D\\D-\\D\\D)\\//i.test(cvURL)) {\r\n cvNRPPR = 'homepage:' + cvURL.match(/\\D\\D-\\D\\D/i);\r\n }\r\n else {\r\n cvNRPPR = 'ERROR';\r\n }\r\n if ((Destination_CoreDomain.domain != null) && cvNRPPR && (cvNRPPR != '')) {\r\n cvNRPPR = 'PartnerRef|' + Destination_CoreDomain.domain;\r\n if (cvPartnerExcludeDestination_LID.indexOf(Destination_LID) == -1) {\r\n cvNRPPR = 'PartnerRef|' + Destination_LID + '|' + Destination_CoreDomain.domain;\r\n sAA.eVar13 = sAA.prop13 = Destination_LID = cvNRPPR;\r\n if (cvNRPPR.indexOf('AppZone') != -1) {\r\n cvEvents += ',event80';\r\n }\r\n else if (cvNRPPR.indexOf('ERROR') == -1) {\r\n cvEvents += ',event99';\r\n }\r\n }\r\n }\r\n }\r\n }\r\n } // Non Revenue Partner Referral (NRPPR) EOF\r\n if (cvURL && cvURL != '') {\r\n sAA.prop12 = cvURL; // Clicks by Page URL\r\n }\r\n if (Destination_LID && Destination_LID != '') {\r\n sAA.eVar13 = sAA.prop13 = Destination_LID; // Clicks by Link ID\r\n }\r\n if (Destination_URL && Destination_URL != '') {\r\n sAA.prop14 = Destination_URL; // Clicks by Link URL - No Params\r\n }\r\n if (Destination_URL_wParam && Destination_URL_wParam != '') {\r\n sAA.eVar6 = Destination_URL_wParam; // Clicks by Link Full URL - With Params\r\n }\r\n if (Cookie.Enabled() && getCookieConsent().includes('C0002')) {\r\n Cookie.Set('c_rurl', cvURL, -15); // rurl = current URL as Referring URL; negative expiry value denotes seconds not days\r\n }\r\n if (Destination_LPOS && Destination_LPOS !== '') {\r\n Destination_LPOS = removeHTMLTags(Destination_LPOS);\r\n }\r\n if (o.hasAttribute('data-pulltag')) {\r\n const tmpOSSpos = o.getAttribute('data-pulltag');\r\n Destination_LPOS = ((Destination_LPOS) ? (`${Destination_LPOS}|${tmpOSSpos}`) : tmpOSSpos);\r\n }\r\n if (window.cfCheckRSID.ReportSuiteID.includes('amdvoss') && o.closest('div.view-content').length > 0) { // search result rank\r\n if (typeof o.dataset.searchRank != 'undefined') {\r\n Destination_LPOS = (o.dataset.searchRank + (Destination_LPOS ? '|' + Destination_LPOS : '')) || '(not set)';\r\n } else {\r\n Destination_LPOS = ('Unranked|' + (Destination_LPOS ? '|' + Destination_LPOS : '')) || '(not set)';\r\n }\r\n cvEvents += ',event13'; // Search Result Click\r\n }\r\n if (window.cfCheckRSID.ReportSuiteID.includes('amdvshop') && o.closest('div.view-content').length > 0 && typeof o.dataset.searchRank != 'undefined') {\r\n Destination_LPOS = o.dataset.searchRank + (Destination_LPOS ? `|${Destination_LPOS}` : '') || '(not set)';\r\n }\r\n if (Destination_LID && Destination_LID != '' && Destination_LID.indexOf('|Complete') != -1) {\r\n cvEvents += ',event98';\r\n }\r\n // Link Clicks Event\r\n if (typeof o.className !== 'undefined' && !/^chosen\\-single/.test(o.className)) {\r\n cvEvents += ',event6';\r\n }\r\n\r\n /* Download Tracking */\r\n if (cvIsThisADownload) {\r\n let cvIsDownloadDomain = false;\r\n for (let n = 0; n < cvDriverDownloadDomains.length; n++) { // AR 2.8 checks if download file belongs to a download domain\r\n if (Destination_URL.indexOf(cvDriverDownloadDomains[n]) != -1) {\r\n cvIsDownloadDomain = true;\r\n }\r\n }\r\n if (!cvNonDownloadExtensions.includes(cvDownloadFileExt)) { // driver or asset only if extension is not on exlude list\r\n if (cvIsDownloadDomain && (Destination_URL_wParam.indexOf(\"driver\") != -1 || Destination_URL_wParam.indexOf(\"amdgpu-install\") != -1) && cvDriverExtensions.includes(cvDownloadFileExt)) {\r\n // AR 2.8 assign LID\r\n Destination_LID = \"DD|\";\r\n if (Destination_URL_wParam.indexOf(\"processor\") != -1) {\r\n Destination_LID += \"Processor\";\r\n } else if (Destination_URL_wParam.indexOf(\"embedded\") != -1) {\r\n Destination_LID += \"Embedded\";\r\n } else if (Destination_URL_wParam.indexOf(\"chipsetmotherboard\") != -1) {\r\n Destination_LID += \"Chipset\";\r\n } else if (Destination_URL_wParam.indexOf(\"fire\") != -1) {\r\n // firepro, firegl, firemv\r\n Destination_LID += \"GPU-WS\";\r\n } else {\r\n Destination_LID += \"GPU-Other\";\r\n }\r\n if (Destination_URL_wParam.indexOf(\"linux\") != -1) {\r\n Destination_LID += \"-Linux|\";\r\n } else {\r\n Destination_LID += \"|\";\r\n }\r\n Destination_LID += parseUri(Destination_URL).file;\r\n sAA.linkName = Destination_LID;\r\n sAA.eVar13 = sAA.prop13 = Destination_LID;\r\n Destination_LPOS = \"DD\";\r\n cvEvents += \",event15\";\r\n cvDFAEvent = \"driver\";\r\n } else {\r\n cvEvents += \",event4\"; // Asset Downloads Event (event4)\r\n sAA.prop15 = sAA.eVar15 = Destination_LPOS = \"AD\";\r\n Destination_LID = `AD|${parseUri(Destination_URL).file}`;\r\n if ((sAA.prop14.includes(\"the_amd_story\") || sAA.prop14.includes(\"the-amd-story\")) && sAA.prop14.includes(\".pdf\")) {\r\n cvEvents += \",event32\"; // AMD Story (event32)\r\n }\r\n cvDFAEvent = \"asset\";\r\n }\r\n }\r\n }\r\n // Custom Shop Now Link Tracking on Shop.amd.com SNC\r\n if (Destination_LPOS == 'PPRlink') {\r\n // How the heck do we track shop with the new data attributes?\r\n sAA.linkTrackVars += ',prop30,prop31,prop32,prop33,eVar20,eVar30,eVar31,eVar32,eVar33,eVar34,products';\r\n sAA.linkTrackEvents += ',event9,purchase';\r\n Destination_LID = Destination_LID.replace('|CND|', '|CAD|');\r\n const cvShop_LinkID = Destination_LID.split('|');\r\n sAA.prop30 = sAA.prop12;\r\n sAA.eVar30 = sAA.eVar8;\r\n\r\n // If the price data is in the link's dataset use the dataset instead of splitting strings.\r\n if (o.dataset.price) {\r\n const data = o.dataset;\r\n sAA.prop31 = sAA.eVar31 = data.retailer;\r\n sAA.Currency = convertCurrency(data.currency);\r\n sAA.prop32 = sAA.eVar32 = data.uniqueId;\r\n sAA.prop33 = sAA.eVar33 = data.price.replace(',', '.');\r\n sAA.eVar34 = `${data.linkType}|${data.shopProperty}|${data.retailer}|${data.uniqueId}`;\r\n sAA.eVarMan = data.manufacturer;\r\n sAA.eVarCat = data.category;\r\n sAA.eVarCat = sAA.evarCat ? sAA.eVarCat : 'N/A';\r\n sAA.eVarPrdNm = data.title;\r\n sAA.products = `;${data.uniqueId};1;${sAA.prop33}`;\r\n }\r\n else {\r\n sAA.prop31 = sAA.eVar31 = cvShop_LinkID[2]; // RetailerID\r\n // WTB Code Part 2 - Currency Conversion Code\r\n sAA.Currency = convertCurrency(cvShop_LinkID[2]);\r\n sAA.prop32 = sAA.eVar32 = cvShop_LinkID[3]; // ProductID\r\n sAA.prop33 = sAA.eVar33 = cvShop_LinkID[4].replace(',', '.'); // Price\r\n sAA.eVar34 = `${cvShop_LinkID[0]}|${cvShop_LinkID[1]}|${sAA.prop31}|${sAA.prop32}`;\r\n sAA.eVar13 = sAA.prop13 = `${sAA.eVar34}|${sAA.prop33}|${cvShop_LinkID[5]}`;\r\n if (cvShop_LinkID.length >= 8) {\r\n sAA.eVarMan = cvShop_LinkID[6];\r\n sAA.eVarCat = cvShop_LinkID[7];\r\n sAA.eVarCat = (sAA.eVarCat == 'null') ? 'N/A' : sAA.eVarCat;\r\n }\r\n if (cvShop_LinkID.length == 9) {\r\n sAA.eVarPrdNm = cvShop_LinkID[8];\r\n }\r\n sAA.products = `;${sAA.prop32};1;${cvShop_LinkID[4].replace(',', '.')}`;\r\n }\r\n\r\n const shopRealLnk = parseUri(Destination_URL_wParam.toLowerCase()).queryKey['rd_param1'] || parseUri(Destination_URL_wParam.toLowerCase()).queryKey['url'] || '';\r\n if (!cfIsNullOrWhitespace(shopRealLnk)) {\r\n let cvShopRealURL = '';\r\n try {\r\n cvShopRealURL = decodeURI(shopRealLnk);\r\n }\r\n catch (err) {\r\n cvShopRealURL = decodeURIComponent(shopRealLnk);\r\n }\r\n const cvShopURLTemp = `,${parseUri(cvShopRealURL).domain}.${parseUri(cvShopRealURL).tld}`;\r\n if (cvShopURLTemp.indexOf(',null.null') == -1) {\r\n Destination_Domain = cvShopURLTemp;\r\n }\r\n }\r\n cvEvents += ',event9';\r\n cvEvents += ',purchase';\r\n\r\n sAA.linkType = 's';\r\n }\r\n }\r\n if (cvTagName == 'button' && cfIsNullOrWhitespace(Destination_LID)) {\r\n let cloudsolutionsButtons = ['btn-learn', 'btn-action', 'download-btn', 'login-btn', 'btn-with-icon'];\r\n if (cvURL.includes('developer.amd.com')) {\r\n Destination_LID = o.hasAttribute('data-href') ? o.getAttribute('data-href') : '(not set)';\r\n }\r\n /** Drupal-specific Epyc CPU Selector. */\r\n else if (cvURL.toLowerCase().includes('amd.com/en/processors/epyc-cpu-selector') ||\r\n cvURL.toLowerCase().includes('amd.com/en/processors/epyc-virttcotool')) {\r\n const btnCheck = o.closest('a').href || '';\r\n if (btnCheck.includes('/where-to-buy/epyc-processors') ||\r\n btnCheck.includes('/where-to-buy/epyc-platforms') ||\r\n btnCheck.includes('/where-to-buy/epyc-processors-sys-integrators')) {\r\n Destination_LID = o.textContent.trim() || \"Generic Button\";\r\n Destination_URL = btnCheck;\r\n Destination_URL_wParam = btnCheck;\r\n cvDestination_URL = btnCheck;\r\n }\r\n }\r\n else if (typeof o.className != 'undefined' && o.className === 'at-expanded-menu-button') {\r\n cvEvents += ',addthis';\r\n } else {\r\n const btnCheck2 = o.href || '';\r\n if (btnCheck2 !== '') {\r\n Destination_URL = btnCheck2;\r\n Destination_URL_wParam = btnCheck2;\r\n cvDestination_URL = btnCheck2;\r\n }\r\n Destination_LID = o.textContent.trim() || 'Generic Button';\r\n }\r\n }\r\n if (Destination_LPOS == 'RTPPRLink') {\r\n cvEvents = '';\r\n }\r\n if (!cfIsNullOrWhitespace(LnkTypePos)) {\r\n Destination_LPOS = !cfIsNullOrWhitespace(Destination_LPOS) ? `${Destination_LPOS}|${LnkTypePos}` : LnkTypePos;\r\n }\r\n\r\n const dataLposTemp = o.dataset.lpos;\r\n let dataMenuPos;\r\n let tailLPOS;\r\n let tailLID;\r\n let menuText;\r\n let tailCheck;\r\n if (typeof o.className != \"undefined\" && o.className === \"cmp-breadcrumb__item-link\") {\r\n tailLID = Destination_LID ? `|${Destination_LID.trim()}` : '';\r\n menuText = o.getAttribute(\"data-tracking-information\");\r\n let skip = '';\r\n if (!menuText) {\r\n const links = o.closest(\"div.breadcrumb\").querySelectorAll(\"a\");\r\n const linkNames = [];\r\n let lexit = false;\r\n links.forEach((element) => {\r\n if (!lexit) {\r\n linkNames.push(element.getAttribute(\"aria-label\"));\r\n menuText = linkNames.join(\"|\");\r\n lexit = o === element;\r\n }\r\n });\r\n }\r\n skip = menuText.split(\"|\").pop();\r\n menuText = `Home-${menuText}`;\r\n tailCheck = `|${skip}` !== tailLID;\r\n Destination_LID = `menu-breadcrumb|${menuText}${tailCheck ? tailLID : \"\"}`;\r\n tailLPOS = ((typeof Destination_LPOS !== \"undefined\") && (Destination_LPOS !== \"undefined\") && (Destination_LPOS !== \"\")) ? `|${Destination_LPOS}` : \"\";\r\n Destination_LPOS = `menu-breadcrumb${tailLPOS}`;\r\n } else if (typeof o.closest(\"div.header-logo\")?.closest(\"header.common-header\") !== \"undefined\" && o.closest(\"div.header-logo\").closest(\"header.common-header\")) {\r\n tailLID = Destination_LID ? `|${Destination_LID.trim()}` : \"\";\r\n tailCheck = `|home` !== tailLID;\r\n Destination_LID = `menu-home-logo|home${tailCheck ? tailLID : \"\"}`;\r\n tailLPOS = Destination_LPOS ? `|${Destination_LPOS}` : \"\";\r\n Destination_LPOS = `menu-home-logo${tailLPOS}`;\r\n } else if (o.closest('[aria-labelledby=\"langDropdown\"]') || o.id.includes('langDropdown')) {\r\n tailLID = Destination_LID ? `|${Destination_LID.trim()}` : \"\";\r\n menuText = o.textContent.trim();\r\n menuText = menuText ? `language|${menuText}` : 'language'\r\n tailCheck = `|${menuText}` !== `|language${tailLID}`;\r\n Destination_LID = `menu-language|${menuText}${tailCheck ? tailLID : \"\"}`;\r\n tailLPOS = Destination_LPOS ? `|${Destination_LPOS}` : \"\";\r\n Destination_LPOS = `menu-language${tailLPOS}`;\r\n } else if (o.closest('[aria-labelledby=\"signedInDropdown\"]') || o.id.includes('signedInDropdown') || o.closest('[aria-labelledby=\"signedOutDropdown\"]') || o.id.includes('signedOutDropdown')) {\r\n menuText = o.getAttribute(\"data-tracking-information\");\r\n const menuState = (o.closest('[aria-labelledby=\"signedInDropdown\"]') || o.id.includes(\"signedInDropdown\")) ? \"signedInDropdown\" : \"signedOutDropdown\";\r\n if (!menuText) {\r\n menuText = o.textContent.trim();\r\n menuText = menuText ? `${menuState}|${menuText}` : menuState;\r\n }\r\n tailLID = Destination_LID ? `|${Destination_LID.trim()}` : \"\";\r\n tailCheck = `|${menuText}` !== `|${menuState}${tailLID}`;\r\n Destination_LID = `menu-sign-in|${menuText}${tailCheck ? tailLID : \"\"}`;\r\n tailLPOS = Destination_LPOS ? `|${Destination_LPOS}` : \"\";\r\n Destination_LPOS = `menu-sign-in${tailLPOS}`;\r\n } else if (typeof o.closest(\"ul.nav-mega\")?.closest(\"header.common-header\") !== \"undefined\" && o.closest(\"ul.nav-mega\").closest(\"header.common-header\")) {\r\n let linkwhatever = (o.getAttribute(\"data-tracking-information\") || \"\").replace(/&/gi, '&');\r\n let skip = '';\r\n if (linkwhatever) {\r\n skip = linkwhatever.split('|').pop();\r\n } else {\r\n const linkHierarchy = [];\r\n let tmpCheck;\r\n menuText = o.textContent.trim().replace(/&/gi, \"&\");\r\n linkHierarchy.unshift(menuText);\r\n tmpCheck = o.closest(\".cmp-text\");\r\n if (tmpCheck) {\r\n linkHierarchy.unshift(tmpCheck.firstElementChild.textContent);\r\n } \r\n tmpCheck = o.closest(\".cmp-headermenu\");\r\n tmpCheck = tmpCheck ? tmpCheck.querySelector(\".cmp-headermenu__tab--active\") : \"\";\r\n if (tmpCheck) {\r\n const tmpCheck1 = o.closest('div.cmp-headermenu__tablist');\r\n if (!tmpCheck1) {\r\n linkHierarchy.unshift(tmpCheck.textContent);\r\n }\r\n }\r\n tmpCheck = o.closest(\".nav-item.dropdown\");\r\n if (tmpCheck) {\r\n linkHierarchy.unshift(tmpCheck.firstElementChild.textContent);\r\n }\r\n linkHierarchy.forEach((e, i) => {\r\n linkHierarchy[i] = e.trim();\r\n });\r\n linkwhatever = [...new Set(linkHierarchy)].join(\"|\").replace(/&/gi, \"&\");\r\n }\r\n tailLID = Destination_LID ? `|${Destination_LID.trim().replace(/&/gi, \"&\")}` : \"\";\r\n tailCheck = skip ? `|${skip}` !== tailLID : `|${menuText}` !== tailLID;\r\n Destination_LID = `menu-main|${linkwhatever}${tailCheck ? tailLID : \"\"}`;\r\n tailLPOS = Destination_LPOS ? `|${Destination_LPOS}` : \"\";\r\n Destination_LPOS = `menu-main${tailLPOS}`;\r\n } else if (\r\n (typeof o.closest(\"ul.social-menu\")?.closest(\"footer\") !== \"undefined\" && o.closest(\"ul.social-menu\").closest(\"footer\")) ||\r\n o.closest(\"section.bottom-menu\") ||\r\n o.closest(\"section#footer-main-link\")\r\n ) {\r\n tailLID = Destination_LID ? `|${Destination_LID.trim()}` : \"\";\r\n menuText = o.getAttribute(\"data-tracking-information\");\r\n let skip = \"\";\r\n if (menuText) {\r\n skip = menuText.split(\"|\").pop();\r\n } else {\r\n menuText = o.textContent.trim();\r\n }\r\n tailCheck = skip ? `|${skip}` !== tailLID : `|${menuText}` !== tailLID;\r\n let footerheading;\r\n if (typeof o.closest(\"ul.social-menu\")?.closest(\"footer\") !== \"undefined\" && o.closest(\"ul.social-menu\").closest(\"footer\")) {\r\n dataMenuPos = \"menu-social-menu\";\r\n } else if (o.closest(\"section.bottom-menu\")) {\r\n dataMenuPos = \"menu-footer-secondary\";\r\n } else if (o.closest(\"section#footer-main-link\")) {\r\n dataMenuPos = 'menu-footer';\r\n footerheading = skip ? \"\" : `|${o.closest(\"div.cmp-container\")?.firstElementChild?.querySelector(\"a.cmp-title__link\")?.textContent}`;\r\n if (typeof footerheading === 'undefined' || footerheading === '|undefined') {\r\n footerheading = '';\r\n }\r\n } else {\r\n dataMenuPos = \"(not set)\";\r\n }\r\n Destination_LID = `${dataMenuPos}${footerheading ? footerheading : \"\"}|${menuText}${tailCheck ? tailLID : \"\"}`;\r\n tailLPOS = Destination_LPOS ? `|${Destination_LPOS}` : \"\";\r\n Destination_LPOS = dataMenuPos + tailLPOS;\r\n } else if (menuIdentifiers.includes(dataLposTemp)) {\r\n let dropDownParent;\r\n let dropDownSubParent;\r\n\r\n if (dataLposTemp === \"menu-promo\") {\r\n dropDownParent = o.closest(\".dropdown\").querySelector(\".dropdown-toggle\").textContent.trim();\r\n dropDownSubParent = o.closest(\"li\").querySelector(\"a\").textContent.trim();\r\n } else {\r\n dropDownParent = o.closest(\".dropdown\").querySelector(\".dropdown-toggle\").textContent.trim();\r\n dropDownSubParent = o.closest(\"li.dropdown-submenu\").querySelector(\"a\").textContent.trim();\r\n }\r\n tailLID = Destination_LID ? `|${Destination_LID}` : \"\";\r\n menuText = decodeURIComponent(o.innerHTML).trim();\r\n if (typeof dropDownParent !== \"undefined\" && dropDownParent !== \"\") {\r\n if (typeof dropDownSubParent !== \"undefined\" && dropDownSubParent !== \"\") {\r\n dropDownParent = `${dropDownParent}|${dropDownSubParent}`;\r\n }\r\n tailCheck = `|${menuText}` !== tailLID;\r\n Destination_LID = `${dataLposTemp}|${decodeURIComponent(dropDownParent)}|${menuText}${tailCheck ? tailLID : \"\"}`;\r\n } else if (dataLposTemp === \"language-menu\") {\r\n Destination_LID = `${dataLposTemp}|${o.closest(\".links\").previousElementSibling.textContent.trim()}|${menuText}`;\r\n } else {\r\n tailCheck = `|${menuText}` !== tailLID;\r\n Destination_LID = `${dataLposTemp}|${menuText}${tailCheck ? tailLID : \"\"}`;\r\n }\r\n tailLPOS = Destination_LPOS ? `|${Destination_LPOS}` : \"\";\r\n Destination_LPOS = dataLposTemp + tailLPOS;\r\n } else if (/^hotspots\\-/i.test(dataLposTemp)) {\r\n tailLPOS = Destination_LPOS ? `|${Destination_LPOS}` : \"\";\r\n Destination_LPOS = dataLposTemp + tailLPOS;\r\n }\r\n\r\n // Update Destination_LPOS if link is in a carousel\r\n if (o.dataset?.carousel?.length !== 0) {\r\n const tmpcar2 = o.dataset ? (o.dataset.carousel || '') : '';\r\n if (tmpcar2) {\r\n Destination_LPOS = Destination_LPOS ? `${Destination_LPOS}|${tmpcar2}` : tmpcar2;\r\n }\r\n }\r\n\r\n if (((parseUri(cvURL).host == 'www.amd.com' || parseUri(cvURL).host == 'amd.com') && (/\\/(en|de|es|fr|ja|ko|pl|pt|ru|tr|zh\\-(hans|cn))\\/partner($|\\/$|\\#|\\?|\\/#|\\/\\?)/i.test(cvURL))) && o.hasAttribute('lpos')) {\r\n const tmppos = o.getAttribute('lpos');\r\n Destination_LPOS = ((Destination_LPOS) ? (`${Destination_LPOS}|${tmppos}`) : tmppos);\r\n }\r\n\r\n cvDestination_URL = stripPii(cvDestination_URL);\r\n\r\n if (typeof sAA.eVarCat !== 'undefined') {\r\n const prodCategoryTemp = sAA.eVarCat.trim();\r\n if (/^graphics?\\scards?$/i.test(prodCategoryTemp)) {\r\n sAA.eVarCat = 'Graphics Cards';\r\n Destination_LID = Destination_LID.replace(/\\|graphics?\\scards?\\|/i, '|Graphics Cards|');\r\n }\r\n else if (/^desktops?$/i.test(prodCategoryTemp)) {\r\n sAA.eVarCat = 'Desktops';\r\n Destination_LID = Destination_LID.replace(/\\|desktops?\\|/i, '|Desktops|');\r\n }\r\n else if (/^processors?$/i.test(prodCategoryTemp)) {\r\n sAA.eVarCat = 'Desktop Processors';\r\n Destination_LID = Destination_LID.replace(/\\|processors?\\|/i, '|Desktop Processors|');\r\n }\r\n else if (/^desktop\\sprocessors?$/i.test(prodCategoryTemp)) {\r\n sAA.eVarCat = 'Desktop Processors';\r\n Destination_LID = Destination_LID.replace(/\\|desktop\\sprocessors?\\|/i, '|Desktop Processors|');\r\n }\r\n else if (/^server\\sprocessors?$/i.test(prodCategoryTemp)) {\r\n sAA.eVarCat = 'Server Processors';\r\n Destination_LID = Destination_LID.replace(/\\|server\\sprocessors?\\|/i, '|Server Processors|');\r\n }\r\n else if (/^notebooks?$/i.test(prodCategoryTemp)) {\r\n sAA.eVarCat = 'Laptops';\r\n Destination_LID = Destination_LID.replace(/\\|notebooks?\\|/i, '|Laptops|');\r\n }\r\n else if (/^laptops?$/i.test(prodCategoryTemp)) {\r\n sAA.eVarCat = 'Laptops';\r\n Destination_LID = Destination_LID.replace(/\\|laptops?\\|/i, '|Laptops|');\r\n }\r\n else if (/^motherboards?$/i.test(prodCategoryTemp)) {\r\n sAA.eVarCat = 'Motherboards';\r\n Destination_LID = Destination_LID.replace(/\\|motherboards?\\|/i, '|Motherboards|');\r\n }\r\n else if (/^workstations?$/i.test(prodCategoryTemp)) {\r\n sAA.eVarCat = 'Workstations';\r\n Destination_LID = Destination_LID.replace(/\\|workstations?\\|/i, '|Workstations|');\r\n }\r\n else if (/^servers?$/i.test(prodCategoryTemp)) {\r\n sAA.eVarCat = 'Server Processors';\r\n Destination_LID = Destination_LID.replace(/\\|servers?\\|/i, '|Server Processors|');\r\n }\r\n else if (/^amd\\sfan\\sstore$/i.test(prodCategoryTemp)) {\r\n sAA.eVarCat = 'AMD Fan Store';\r\n Destination_LID = Destination_LID.replace(/\\|amd\\sfan\\sstore\\|/i, '|AMD Fan Store|');\r\n }\r\n else if (/^various$/i.test(prodCategoryTemp)) {\r\n sAA.eVarCat = 'Various';\r\n Destination_LID = Destination_LID.replace(/\\|various\\|/i, '|Various|');\r\n }\r\n }\r\n\r\n window.cvLnkTrack = {\r\n DestLID: Destination_LID || '(not set)',\r\n DestLPOS: Destination_LPOS || '(not set)',\r\n DestURL: cvDestination_URL || '(not set)',\r\n Events: cvEvents || '(not set)',\r\n DestURLwParam: Destination_URL_wParam || '(not set)',\r\n DestURLext: cvDestination_URL_ext || '(not set)',\r\n DestName: Destination_Name || '(not set)',\r\n DestServer: Destination_Server || '(not set)', // with subdomain\r\n DestDomain: Destination_Domain || '(not set)', // without subdomain\r\n DownloadFileExt: cvDownloadFileExt || '(not set)',\r\n PartnerReferral: cvNRPPR || '(not set)',\r\n LinkType: sAA.linkType || '(not set)',\r\n DFAEvent: cvDFAEvent || '(not set)',\r\n ProductID: sAA.eVar32 || '(not set)',\r\n RetailerID: sAA.eVar31 || '(not set)',\r\n Price: sAA.eVar33 || '0.01',\r\n Manufacturer: sAA.eVarMan || '(not set)',\r\n Category: sAA.eVarCat || '(not set)',\r\n ProductName: sAA.eVarPrdNm || '(not set)',\r\n DestLPOSCD19: Destination_LPOS || 'Other',\r\n Currency: sAA.Currency || window.cfCheckRSID.cvCurrency\r\n };\r\n const { cvLnkTrack } = window;\r\n if (isPromoClick || o.hasAttribute('intpromo')) {\r\n const that = o;\r\n const IPCountText = that.getAttribute('intpromo');\r\n if (typeof IPCountText !== 'undefined') {\r\n var IPCount = parseInt(IPCountText.substring(2), 10);\r\n let cvPromoImageSRC = '';\r\n let cvPromoFoundChild;\r\n let cvPromoHTML;\r\n try {\r\n cvPromoFoundChild = o.querySelector('img');\r\n }\r\n catch (err) {\r\n // continue anyway\r\n }\r\n if (typeof cvPromoFoundChild != \"undefined\" && cvPromoFoundChild) {\r\n if (typeof cvPromoFoundChild.src !== \"undefined\" && cvPromoFoundChild.src) {\r\n cvPromoImageSRC = parseUri(cvPromoFoundChild.src).host + parseUri(cvPromoFoundChild.src).path;\r\n }\r\n } else {\r\n cvPromoHTML = decodeURIComponent(that.text.trim());\r\n }\r\n const cvPromoCreative = (cvPromoImageSRC ? cvPromoImageSRC : cvPromoHTML) || '(not set)';\r\n let cvPromoKName = parseUri(that.href).queryKey['k'] || '(not set)';\r\n const cvPromoPromoName = parseUri(that.href).queryKey['promo'] || '(not set)';\r\n let cvPromoiPromoName = parseUri(that.href).queryKey['ipromo'] || '(not set)';\r\n if (cvPromoKName == '(not set)' && cvPromoPromoName == '(not set)' && cvPromoiPromoName == '(not set)') {\r\n cvPromoKName = that.href || '(not set)';\r\n if (cvPromoKName !== '(not set)') {\r\n cvPromoKName = UpdateQueryString('webSyncID', null, cvPromoKName);\r\n cvPromoKName = UpdateQueryString('sessionGUID', null, cvPromoKName);\r\n }\r\n cvPromoiPromoName = cvPromoCreative;\r\n }\r\n const cvPromoClickType = that.matches('div') ? 'promotionDivClick' : 'promotionClick';\r\n let tmpPromoLPOSs = that.getAttribute('lpos');\r\n if (typeof that.dataset.carousel !== \"undefined\" && that.dataset.carousel) {\r\n const tmpcars = that.dataset.carousel;\r\n tmpPromoLPOSs = tmpPromoLPOSs ? `${tmpcars}|${tmpPromoLPOSs}` : tmpcars;\r\n }\r\n if (cvLnkTrack.DestLPOS.includes(tmpPromoLPOSs)) {\r\n cvLnkTrack.DestLPOS = `${tmpPromoLPOSs}|${cvLnkTrack.DestLPOS}`;\r\n }\r\n if (cvLnkTrack.DestLPOSCD19.includes(tmpPromoLPOSs)) {\r\n cvLnkTrack.DestLPOSCD19 = `${tmpPromoLPOSs}|${cvLnkTrack.DestLPOSCD19}`;\r\n }\r\n window.dataLayer.push({\r\n event: cvPromoClickType,\r\n promoLPOS: tmpPromoLPOSs || '(not set)',\r\n ecommerce: {\r\n promoClick: {\r\n promotions: [{\r\n id: `${cvPromoiPromoName}|${cvPromoKName}|${cvPromoCreative}`,\r\n name: `${cvPromoiPromoName}|${cvPromoKName}`,\r\n creative: cvPromoCreative,\r\n position: that.getAttribute('intpromo') || '(not set)'\r\n }]\r\n }\r\n }\r\n });\r\n }\r\n }\r\n window.dataLayer.push({\r\n event: 'PageClick'\r\n });\r\n // return [Destination_LID,Destination_LPOS,cvDestination_URL,cvEvents,Destination_URL_wParam,cvDestination_URL_ext,Destination_Name,Destination_Server,Destination_Domain,cvDownloadFileExt,cvNRPPR];\r\n // 1. need to return sAA.events\r\n // 2. create variable and assign sAA.events to it\r\n // 3. create event tags (one for each type of event) to fire if sAA.events variable contains \"event#\"\r\n}\r\n\r\nexport { cfLnkClick }\r\n"],"names":["menuIdentifiers","cvAMDWebProperties","cvSocialDomains","Array","cvSearchDomains","cvOtherPartnerExcludeDomains","cvPartnerExcludeDestination_LID","cvPartnerExcludeDomains","join","cvSourceExcludeDomains","cvDownloadExtentions","cvDriverExtensions","cvNonDownloadExtensions","cvDriverDownloadDomains","window","convertCurrency","currency","test","cfCheckRSID","cvCurrency","cfLnkClick","evt","cvEvents","cvDFAEvent","Destination_LID","Destination_LPOS","cvDestination_URL","Destination_URL_wParam","Destination_Name","Destination_Server","Destination_Domain","cvDownloadFileExt","cvNRPPR","Destination_ID","Destination_URL_wParam_Original","Destination_URL","sAA","AMDAnalytics","linkType","eVar32","eVar31","eVar33","eVarMan","eVarCat","Currency","LnkTypePos","o","target","cvLinkType","cvTagName","cvFoundChild","composedPath","path","targetElement","tagName","toLowerCase","closest","querySelector","targetParent","shadowFound","length","filter","i","shadowRoot","cvURL","getCleanURL","cvPTagName","cvPPClassName","cvPPPClassName","cvPPPTagName","documentNode","parentNode","decodeURIComponent","className","exitLoop","treeLevels","GAo","cvGATagName","cvGAPTagName","cvGAPPClassName","cvGAPPPTagName","cvGAPPPClassName","cfIsNullOrWhitespace","baseVal","href","cvImageSRC","parseUri","src","host","alt","trim","name","id","includes","indexOf","split","textContent","file","match","queryKey","innerHTML","removeHTMLTags","stripPii","UpdateQueryString","domain","tld","relative","cvIsThisADownload","cleanLinkID","Destination_Name_Split","substr","substring","replace","cfRight","linkName","linkURL","hasAttribute","tempPPRScratch","tempPPRScratch2","tempPPR","getAttribute","Destination_CoreDomain","Destination_URL_wParam_Original_Split","SourceURL_CoreDomain","eVar13","prop13","prop12","prop14","eVar6","Cookie","Enabled","getCookieConsent","Set","tmpOSSpos","ReportSuiteID","dataset","searchRank","cvIsDownloadDomain","n","prop15","eVar15","linkTrackVars","linkTrackEvents","cvShop_LinkID","prop30","eVar30","eVar8","price","data","prop31","retailer","prop32","uniqueId","prop33","eVar34","shopProperty","manufacturer","category","evarCat","eVarPrdNm","title","products","shopRealLnk","cvShopRealURL","decodeURI","err","cvShopURLTemp","btnCheck","btnCheck2","dataLposTemp","lpos","dataMenuPos","tailLPOS","tailLID","menuText","tailCheck","skip","links","querySelectorAll","linkNames","lexit","forEach","element","push","pop","menuState","linkwhatever","linkHierarchy","tmpCheck","unshift","firstElementChild","tmpCheck1","e","footerheading","dropDownParent","dropDownSubParent","previousElementSibling","carousel","tmpcar2","tmppos","prodCategoryTemp","cvLnkTrack","DestLID","DestLPOS","DestURL","Events","DestURLwParam","DestURLext","DestName","DestServer","DestDomain","DownloadFileExt","PartnerReferral","LinkType","DFAEvent","ProductID","RetailerID","Price","Manufacturer","Category","ProductName","DestLPOSCD19","that","IPCountText","parseInt","cvPromoImageSRC","cvPromoFoundChild","cvPromoHTML","text","cvPromoCreative","cvPromoKName","cvPromoPromoName","cvPromoiPromoName","cvPromoClickType","matches","tmpPromoLPOSs","tmpcars","dataLayer","event","promoLPOS","ecommerce","promoClick","promotions","creative","position"],"mappings":"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"}