1!function(){var modules=document.querySelectorAll(".gs-platform-capabilities");modules.length&&modules.forEach(function(root){var shell=root.querySelector(".gs-tabs-shell"),wrap=root.querySelector(".gs-platform-capabilities__tabs-wrap"),rail=root.querySelector(".gs-tabs-rail"),tabs=root.querySelectorAll("[data-capability-tab]"),panels=root.querySelectorAll("[data-capability-panel]"),btnLeft=root.querySelector(".gs-tabs-arrow--left"),btnRight=root.querySelector(".gs-tabs-arrow--right");if(shell&&wrap&&rail&&tabs.length&&panels.length){tabs.forEach(function(tab){tab.addEventListener("click",function(){activateTab(tab.getAttribute("data-capability-tab"),!1)}),tab.addEventListener("keydown",function(e){if("Enter"===e.key||" "===e.key)return e.preventDefault(),void activateTab(tab.getAttribute("data-capability-tab"),!0);if("ArrowRight"===e.key||"ArrowLeft"===e.key||"Home"===e.key||"End"===e.key){e.preventDefault();var list=Array.prototype.slice.call(tabs),idx=list.indexOf(tab);if(!(idx<0)){var nextIdx=idx;"ArrowRight"===e.key&&(nextIdx=Math.min(list.length-1,idx+1)),"ArrowLeft"===e.key&&(nextIdx=Math.max(0,idx-1)),"Home"===e.key&&(nextIdx=0),"End"===e.key&&(nextIdx=list.length-1),list[nextIdx].focus({preventScroll:!0}),scrollTabIntoView(list[nextIdx])}}})}),btnLeft&&btnRight&&(btnLeft.addEventListener("click",function(){scrollByAmount(-1)}),btnRight.addEventListener("click",function(){scrollByAmount(1)})),rail.addEventListener("scroll",function(){window.requestAnimationFrame(updateOverflowUI)}),window.addEventListener("resize",function(){window.requestAnimationFrame(updateOverflowUI)});var initialActive=root.querySelector(".gs-tab--active[data-capability-tab]");initialActive&&activateTab(initialActive.getAttribute("data-capability-tab"),!1),updateOverflowUI()}function scrollTabIntoView(tab){var tabRect=tab.getBoundingClientRect(),railRect=rail.getBoundingClientRect(),offset=tabRect.left-railRect.left-(railRect.width/2-tabRect.width/2);rail.scrollTo({left:rail.scrollLeft+offset,behavior:"smooth"})}function activateTab(targetId,focusTab){tabs.forEach(function(tab){var match=tab.getAttribute("data-capability-tab")===targetId;tab.classList.toggle("gs-tab--active",match),tab.setAttribute("aria-selected",match?"true":"false"),tab.setAttribute("tabindex",match?"0":"-1"),match&&(focusTab&&tab.focus({preventScroll:!0}),scrollTabIntoView(tab))}),panels.forEach(function(panel){panel.hidden=panel.getAttribute("data-capability-panel")!==targetId})}function updateOverflowUI(){var hasOverflow=rail.scrollWidth>rail.clientWidth+1;if(wrap.classList.toggle("gs-tabs--overflow",hasOverflow),shell.classList.toggle("gs-tabs--overflow",hasOverflow),btnLeft&&btnRight){if(!hasOverflow)return btnLeft.disabled=!0,void(btnRight.disabled=!0);var atStart=rail.scrollLeft<=1,atEnd=rail.scrollLeft+rail.clientWidth>=rail.scrollWidth-1;btnLeft.disabled=atStart,btnRight.disabled=atEnd}}function scrollByAmount(direction){var amount=Math.round(.6*rail.clientWidth);rail.scrollBy({left:direction*amount,behavior:"smooth"})}})}(); 2//# sourceURL=https://430224.fs1.hubspotusercontent-na1.net/hubfs/430224/hub_generated/template_assets/1/216060851024/1783244651844/template_capabilities-tabbed.js
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.