1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[928],{9928:(e,t,a)=>{a.r(t),a.d(t,{LogoItemAnimated:()=>d,default:()=>u});var l=a(7876),s=a(7417),r=a(4471),i=a(4232),n=a(5041),o=a(9878),c=a(7166),m=a(1483);function u({heading:e,logos:t,link:a,editable:m}){let u=(0,o.A)(),h=c.yz?u:n,f=e||h?.awards_heading||h?.heading,x=t?.some(e=>e?.filename)?t:h?.logos,p=(0,r.dv)(),[g,j]=(0,i.useState)([]),w=(0,i.useRef)();return w.current=g,(0,i.useEffect)(()=>{let e=[];if(x?.forEach(t=>t.filename&&e.push(t?.filename)),!e.length)return void j([]);j(((e,t)=>{let a=[],l=[...e];for(;a.length<5&&l.length>0;){let e=Math.floor(Math.random()*l.length);a.push(l[e]),l.splice(e,1)}for(;a.length<5;){let t=Math.floor(Math.random()*e.length);a.push(e[t])}return a})(e,5));let t=[],a=setInterval(()=>{let a;if(x?.length<=5)return null;let l=e.filter(e=>!w.current.includes(e)),s=l.length>0?l:e.filter(e=>e!==w.current[t[t.length-1]]),r=s[Math.floor(Math.random()*s.length)];t.length>=5&&(t=[]);do a=Math.floor(5*Math.random());while(t.includes(a));t.push(a);let i=[...w.current];i[a]=r,j(i)},2500);return()=>clearInterval(a)},[x,p]),(0,l.jsx)("section",{className:"basicLogoGrid [&+.otherServices]:border-t-body-body3 overflow-hidden py-8 pb-6 md:py-[99px] md:pb-[85px] [&+.otherServices]:border-t",...m,children:(0,l.jsxs)("div",{className:"container 2xl:max-w-[1405px]",children:[f&&(0,l.jsx)("h2",{className:"text-cap text-center",children:f}),(0,l.jsx)("div",{className:"mt-4 md:mt-16",children:(0,l.jsx)("div",{className:"flex flex-wrap items-center justify-center gap-6 md:flex-nowrap md:gap-12 lg:gap-16",children:g?.map((e,t)=>(0,l.jsx)("div",{className:"w-1/3 md:w-auto md:flex-1",children:(0,l.jsx)(d,{image:e})},t))})}),(a?.[0]||h?.awards_link?.[0])&&(0,l.jsx)("div",{className:"mt-6 flex justify-center md:mt-[52px]",children:(0,l.jsx)(s.A,{href:a?.[0]||h?.awards_link?.[0],variant:"alternative",className:"mx-auto text-sm! font-normal!"},a?.[0]?._uid||h?.awards_link?.[0]?._uid)})]})})}let d=({image:e})=>{let[t,a]=(0,i.useState)(e),[s,r]=(0,i.useState)(e),[n,o]=(0,i.useState)(!1);return(0,i.useEffect)(()=>{if(e!==t){r(e),requestAnimationFrame(()=>{o(!0)});let t=setTimeout(()=>{a(e),o(!1)},300);return()=>clearTimeout(t)}},[e,t]),(0,l.jsx)("div",{className:"relative flex aspect-3/2 w-full flex-wrap items-center justify-center",children:(0,l.jsx)("div",{className:"absolute inset-0 flex h-full w-full items-center justify-center",children:(0,l.jsxs)("div",{className:"bg-base-white relative h-full max-h-[120px] w-full md:max-h-[100px]",children:[(0,l.jsx)("div",{className:"bg-base-white absolute inset-0 flex items-center justify-center",children:(0,l.jsx)(m.zW,{storyblokAsset:{filename:t},alt:"Logos Image",className:`h-auto max-h-full w-auto max-w-full object-contain! transition-opacity duration-300 ease-out ${n?"opacity-0":"opacity-100"}`})}),(0,l.jsx)("div",{className:"absolute inset-0 flex items-center justify-center",children:(0,l.jsx)(m.zW,{storyblokAsset:{filename:s},alt:"Logos Image",className:`bg-base-white h-auto max-h-full w-auto max-w-full object-contain! transition-opacity duration-300 ease-in ${n?"opacity-100":"opacity-0"}`})})]})})})}}}]);
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.