PageSourceSearch

https://www.gq-magazine.co.uk/verso/static/chunk.6802.b1ec90245a7649f2536e.js

js gq-magazine.co.uk collected 2026-09-24 08:26:12 UTC 3,274 bytes, 1 lines download raw bytes

1"use strict";(globalThis.webpackChunkverso=globalThis.webpackChunkverso||[]).push([[6802],{46802(e,t,i){i.d(t,{default:()=>h});var a=i(85554),r=i(30093);const o=e=>new Promise((t,i)=>{const a=new Image;a.crossOrigin="anonymous",a.onload=()=>t(a),a.onerror=()=>i(new Error(`Unable to load share asset: ${e}`)),a.src=e}),n=async e=>{document.fonts&&await Promise.all(Object.values(e).map(e=>document.fonts.load(e)))},l=(e,t,i)=>{if(e.measureText(t).width<=i)return t;let a=t;for(;a.length&&e.measureText(`${a}...`).width>i;)a=a.slice(0,-1);return`${a}...`},s=(e,t,i,a,r,o)=>{e.beginPath(),e.moveTo(t+o,i),e.lineTo(t+a-o,i),e.quadraticCurveTo(t+a,i,t+a,i+o),e.lineTo(t+a,i+r-o),e.quadraticCurveTo(t+a,i+r,t+a-o,i+r),e.lineTo(t+o,i+r),e.quadraticCurveTo(t,i+r,t,i+r-o),e.lineTo(t,i+o),e.quadraticCurveTo(t,i,t+o,i),e.closePath(),e.fill()},h=async({handle:e,logo:t,name:i,profileImage:h,rating:d,ratingLabel:g,shareAssetColors:c,shareAssetTypography:f,username:w})=>{if("undefined"==typeof document)throw new Error("Review share images can only be created in a browser.");const m=(0,r.V4)(h),u=(0,r.V4)(t);if(!m||!u)throw new Error("The review share image is missing a required asset.");const[,p,b]=await Promise.all([n(f),o(m),o(u)]),T=document.createElement("canvas");T.width=r.$Q.width,T.height=r.$Q.height;const x=T.getContext("2d");if(!x)throw new Error("Canvas is not supported by this browser.");const y=r.$Q.width/r.EY.width,v=r.EY.height*y,C=(r.$Q.height-v)/2,{card:S,details:z,footer:E,identity:P,media:k,profileImage:W,rating:B}=r.EY,{backgroundEnd:H,backgroundStart:I,surface:$,text:q}=c,A=S.x+z.paddingX,Q=S.y+z.paddingTop,L=A+W.size+k.gap,M=Q+B.offsetTop,Y=Q+k.height+P.marginTop,G=x.createLinearGradient(0,0,0,T.height);G.addColorStop(0,I),G.addColorStop(1,H),x.fillStyle=G,x.fillRect(0,0,T.width,T.height),x.save(),x.translate(0,C),x.scale(y,y),x.fillStyle=$,s(x,S.x,S.y,S.width,S.detailsHeight,S.radius),((e,t,i,a,r,o)=>{const n=Math.max(r/t.width,o/t.height),l=r/n,s=o/n,h=(t.width-l)/2,d=(t.height-s)/2;e.drawImage(t,h,d,l,s,i,a,r,o)})(x,p,A,Q,W.size,W.size),((e,t,i,r,o,n,l)=>{const s=i+o.size/2,h=r+o.size/2,d=(o.size-o.borderWidth)/2,g=(o.innerSize-o.borderWidth)/2;e.strokeStyle=n,e.lineWidth=o.borderWidth,e.beginPath(),e.arc(s,h,d,0,2*Math.PI),e.stroke(),e.beginPath(),e.arc(s,h,g,0,2*Math.PI),e.stroke(),e.fillStyle=n,e.font=l,e.textAlign="center",e.textBaseline="middle",e.fillText((0,a.Xq)(t),s,h)})(x,d,L,M,B,q,f.rating),x.fillStyle=q,x.font=f.metadata,x.textAlign="center",x.textBaseline="alphabetic",x.fillText(l(x,g,B.size),L+B.size/2,M+B.size+B.labelGap+B.labelBaseline),x.textAlign="left",x.font=f.name,x.fillText(l(x,e,250),A,Y+P.nameBaseline),x.font=f.metadata,x.fillText(l(x,i,250),A,Y+P.nameLineHeight+P.usernameBaseline),x.fillStyle=$,s(x,S.x,S.y+S.detailsHeight+E.gap,S.width,S.footerHeight,S.radius),x.fillStyle=q,x.font=f.handle,x.fillText(l(x,w,E.handleWidth),S.x+E.x,S.y+S.detailsHeight+E.gap+E.handleBaseline);const O=E.logoWidth*(b.height/b.width);x.drawImage(b,S.x+S.width-E.x-E.logoWidth,S.y+S.detailsHeight+E.gap+(S.footerHeight-O)/2,E.logoWidth,O),x.restore();const R=await(e=>new Promise((t,i)=>{e.toBlob(e=>{e?t(e):i(new Error("Unable to create the review share image."))},"image/png")}))(T);return T.width=0,T.height=0,R}}}]);

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.