PageSourceSearch

https://www.ordnancesurvey.co.uk/_siL0TA_ae4582a6-3f28-45f7-b404-1…/marketingPrefPage.13548176375168856021.mjs

js ordnancesurvey.co.uk collected 2026-09-24 08:38:09 UTC 21,183 bytes, 74 lines download raw bytes

1"use strict";(()=>{(self.__LOADABLE_LOADED_CHUNKS__=self.__LOADABLE_LOADED_CHUNKS__||[]).push([[5582,45763,60039,93718],{60039(F,y,o){o.r(y);var e=o(66220),t,p;function s(){return s=Object.assign?Object.assign.bind():function(l){for(var n=1;n<arguments.length;n++){var a=arguments[n];for(var d in a)({}).hasOwnProperty.call(a,d)&&(l[d]=a[d])}return l},s.apply(null,arguments)}const k=l=>e.createElement("svg",s({xmlns:"http://www.w3.org/2000/svg",width:24,height:24,fill:"none",viewBox:"0 0 24 24"},l),e.createElement("mask",{id:"a",width:24,height:24,x:0,y:0,maskUnits:"userSpaceOnUse",style:{maskType:"alpha"}},t||(t=e.createElement("path",{fill:"#D9D9D9",d:"M0 0h24v24H0z"}))),p||(p=e.createElement("g",{mask:"url(#a)"},e.createElement("path",{fill:"currentColor",d:"M8.4 17 7 15.6l3.6-3.6L7 8.425l1.4-1.4 3.6 3.6 3.575-3.6 1.4 1.4-3.6 3.575 3.6 3.6-1.4 1.4L12 13.4z"}))));o.d(y,["default",0,k])},99557(F,y,o){o.r(y),o.d(y,{default:()=>n});var e=o(66220),t=o(36840),p=o(89838);const s={Note:{icon:"lightbulb-circle",textColour:"--osds-colour-primary-1",keylineColour:"--osds-colour-primary-1",backgroundColour:"--osds-colour-primary-1-10"},Success:{icon:"check-circle",textColour:"--osds-colour-secondary-2",keylineColour:"--osds-colour-secondary-2",backgroundColour:"--osds-colour-secondary-2-10"},Information:{icon:"info",textColour:"--osds-colour-neutral-1-90",keylineColour:"--osds-colour-primary-1",backgroundColour:"--osds-colour-primary-1-10"},Error:{icon:"error",textColour:"--osds-colour-tertiary-1",keylineColour:"--osds-colour-tertiary-1",backgroundColour:"--osds-colour-tertiary-1-10"},Warning:{icon:"warning",textColour:"--osds-colour-neutral-1-90",keylineColour:"--osds-colour-neutral-1-90",backgroundColour:"--osds-colour-secondary-3"}},b=({type:a,title:d,children:x,className:P})=>e.createElement("div",{role:"alert",className:P},e.createElement("h2",null,e.createElement(p.A,{name:s[a].icon,size:"medium"}),d||a),typeof x=="string"?e.createElement("div",{dangerouslySetInnerHTML:{__html:x}}):x),n=(0,t.I4)(b)`
2  padding: var(--osds-spacing-m);
3  color: var(${a=>s[a.type].textColour});
4  background-color: var(${a=>s[a.type].backgroundColour});
5  border: 1px solid var(${a=>s[a.type].keylineColour});
6  border-left: 4px solid
7    var(${a=>s[a.type].keylineColour});
8  width: fit-content;
9  min-width: 280px;
10  margin-block: var(--osds-spacing-m);
11  &.deprecation-notice {
12    width: 100%;
13  }
14
15  h2 {
16    color: var(${a=>s[a.type].textColour});
17    font-family: var(--osweb-font-primary-sans);
18    font-size: var(--osds-font-size-m);
19    display: flex;
20    align-items: center;
21    gap: var(--osds-spacing-5xs);
22    font-weight: 600;
23    margin-bottom: var(--osds-spacing-5xs);
24
25    svg {
26      fill: var(${a=>s[a.type].textColour});
27      color: var(${a=>s[a.type].textColour});
28    }
29  }
30`},23262(F,y,o){o.r(y),o.d(y,{Form:()=>d,StyledFormContainer:()=>P,default:()=>x});var e=o(54050),t=o(66220),p=o(74920),s=o(20379),b=o(46859),k=o(98975);const l=({message:M})=>t.createElement(n,null,M),n=p.styled.div.withConfig({displayName:"formErrorcomponent__StyledError",componentId:"sc-1sz9b6f-0"})(["color:var(--osds-colour-tertiary-1);"]),a=l,d=({formId:M,title:O,onSubmitError:H=()=>!1,...z})=>{const[R,B]=(0,t.useState)(null),L=($,I)=>(B("There was an error submitting the form"),console.error("Form submission error:",$),console.error("Form data:",I),H($,I));return R?t.createElement(a,{message:R}):t.createElement(P,null,O&&t.createElement(k.default,null,O),t.createElement(e.f,{...z,projectId:"osweb",formId:M,onSubmitError:L}),t.createElement(j,null,t.createElement("p",null,"All of the information that you provide will be used in accordance with our"," ",t.createElement(s.A,{uri:"/governance/policies/privacy",openInNewWindow:!0},"privacy policy"))))},x=d,P=p.styled.div.withConfig({displayName:"formcomponent__StyledFormContainer",componentId:"sc-1b09zhf-0"})(["& .form-field,.form-fieldset,.form-checkbox-field,.form-field-legend,.form-current-page-title,.form-footer-page,.form-progress{margin-bottom:var(--osds-spacing-2xl);}& .form p{margin-bottom:var(--osds-spacing-xs);}& .form-validation-summary{display:none;}& label{font-weight:bold;display:inline-block;}& .form-field-label-required,& .form-field-legend-required{color:var(--osds-colour-tertiary-1);font-weight:bold;text-decoration:none;}& input,& textarea,& select{border:1px solid var(--osds-colour-neutral-1-80);padding:var(--osds-spacing-3xs) var(--osds-spacing-xs);width:100%;border-radius:4px;font-size:1rem;}& fieldset{margin:0;padding:0;& legend{font-weight:bold;margin-bottom:var(--osds-spacing-2xs);}& label{margin-bottom:0;}}& .form-radio-list,.form-checkbox-list,.form-checkbox-field{margin-left:var(--osds-spacing-xs);}& .form-field-instructions{margin-bottom:var(--osds-spacing-xs);}& .form-radio,& .form-checkbox{display:flex;margin-bottom:var(--osds-spacing-2xs);& input{width:auto;flex-grow:0;}& label{flex-grow:1;font-weight:normal;}& .form-checkbox-field-label{font-weight:bold;}& input,& label{cursor:pointer;}}& .form-field-error{color:var(--osds-colour-tertiary-1);}& .form-field-has-error input,& .form-field-has-error textarea,& .form-field-has-error select{border:1px solid var(--osds-colour-tertiary-1) !important;}& .form-footer{margin-top:var(--osds-spacing-l);}& button.form-button,& button[type='submit']{"," font-family:inherit;border:none;color:var(--osds-colour-neutral-1);
30cursor:pointer;min-width:6rem;justify-content:center !important;margin-bottom:var(--osds-spacing-l);}& .form-progress{display:flex;align-items:center;gap:var(--osds-spacing-2xs);}& .form-fields-container{position:relative;}& .form-field-label{margin-bottom:var(--osds-spacing-3xs);}& .form-field-char-count{position:absolute;right:0;margin-top:var(--osds-spacing-3xs);text-align:right;font-size:var(--osweb-font-body-03);}"],(0,b.h)({$level:"primary",$size:"m",$fullWidth:!1,$variant:"standard",$icon:"none"})),j=p.styled.div.withConfig({displayName:"formcomponent__Block",componentId:"sc-1b09zhf-1"})(["padding-top:var(--osds-spacing-xs);"])},46791(F,y,o){o.r(y),o.d(y,{default:()=>we});var e=o(66220),t=o(74920),p={};o.r(p),o.d(p,{ServerStyleSheet:()=>t.ServerStyleSheet,StyleSheetConsumer:()=>t.StyleSheetConsumer,StyleSheetContext:()=>t.StyleSheetContext,StyleSheetManager:()=>t.StyleSheetManager,ThemeConsumer:()=>t.ThemeConsumer,ThemeContext:()=>t.ThemeContext,ThemeProvider:()=>t.ThemeProvider,__PRIVATE__:()=>t.__PRIVATE__,createGlobalStyle:()=>t.createGlobalStyle,createTheme:()=>t.createTheme,css:()=>t.css,default:()=>t.default,isStyledComponent:()=>t.isStyledComponent,keyframes:()=>t.keyframes,styled:()=>t.styled,stylisPluginRSC:()=>t.stylisPluginRSC,useTheme:()=>t.useTheme,version:()=>t.version,withTheme:()=>t.withTheme});var s=o(99557),b=o(98975),k=o(45985),l=o(61224),n=o(88342),a=o(97286),d=o(27667),x=o(23262),P=o(79347);const j=({loading:E,handleValidateEmail:i})=>{const{register:c,handleSubmit:f,formState:{errors:C},watch:m}=(0,a.mN)({mode:"onChange",reValidateMode:"onChange",defaultValues:{emailAddress:""}}),S=m("emailAddress"),r=!!C.emailAddress;return e.createElement(x.StyledFormContainer,null,e.createElement("form",{onSubmit:f(i),"data-testid":"email-validation-form"},e.createElement("div",{className:"form-field"},e.createElement("label",{htmlFor:"email"},"Email Address",e.createElement(M,null,"*")," :"),e.createElement(O,{id:"email",type:"email",autoComplete:"email","aria-invalid":r||void 0,"aria-describedby":r?"email-error":void 0,"data-has-value":S?!0:void 0,...c("emailAddress",{required:"Email is required",pattern:{value:/^(?:[A-Z0-9._%+-]+)@(?:[A-Z0-9-]+\.)+[A-Z]{2,}$/i,message:"Enter a valid email address"}}),required:!0,className:r?"invalid":S&&!r?"valid":""}),r&&e.createElement(H,{id:"email-error"},C.emailAddress?.message)),e.createElement(z,{className:"form-field"},e.createElement(d.A,{level:"primary",type:"submit",disabled:E,text:"Validate Email"}),E&&e.createElement(P.A,null))))},M=t.styled.span.withConfig({displayName:"EmailValidationcomponent__RequiredStar",componentId:"sc-1euei6t-0"})(["color:var(--osds-colour-error);"]),O=t.styled.input.withConfig({displayName:"EmailValidationcomponent__EmailInputStyled",componentId:"sc-1euei6t-1"})(["border:1px solid var(--osds-colour-neutral-1-40);padding:0.5rem 0.75rem;border-radius:4px;width:100%;transition:border-color 0.15s ease,box-shadow 0.15s ease;&.valid{border-color:var(--osds-colour-success-50,#2e7d32);box-shadow:0 0 0 2px rgba(46,125,50,0.2);}&.invalid{border-color:var(--osds-color-error,#d32f2f);box-shadow:0 0 0 2px rgba(211,47,47,0.2);}&:focus-visible{outline:none;border-color:var(--osds-colour-link-default);box-shadow:0 0 0 2px rgba(0,90,150,0.3);}"]),H=t.styled.div.withConfig({displayName:"EmailValidationcomponent__ValidationMessage",componentId:"sc-1euei6t-2"})(["margin-top:0.25rem;font-size:var(--osds-font-size-s);color:var(--osds-color-error,#d32f2f);"]),z=t.styled.div.withConfig({displayName:"EmailValidationcomponent__ActionContainer",componentId:"sc-1euei6t-3"})(["display:flex;align-items:flex-start;gap:var(--osds-spacing-xs);"]),R=j,B="serviceUnavailable",L="healthCheck",$="start",I="emailSent",X="validated",Q="updatedMarketingPreferences",Ne=null,Fe=null,K={phone:"Phone",email:"Email",sms:"SMS",socialMedia:"Social Media",whatsapp:"WhatsApp",productComms:"Communications about products and services",geovationComms:"Communications about Geovation information"};var q=o(44761);const oe=({emailAddress:E,userPrefs:i,loading:c,onSubmitUserPrefs:f,onReset:C}
30)=>{const[m,S]=e.useState(null),{register:r,handleSubmit:U,reset:w,watch:W,getValues:V}=(0,a.mN)({mode:"onChange",defaultValues:{emailaddress:E}});(0,e.useEffect)(()=>{w({emailaddress:E,phone:i?.phone??!1,email:i?.email??!1,sms:i?.sms??!1,socialMedia:i?.socialMedia??!1,whatsapp:i?.whatsapp??!1,productComms:i?.productComms??!1,geovationComms:i?.geovationComms??!1,unsubscribeAll:i?.unsubscribeAll??!1})},[E,i,w]);const u=W("unsubscribeAll");return(0,e.useEffect)(()=>{if(u){const N=V();S(N),w({...N,phone:!1,email:!1,sms:!1,socialMedia:!1,whatsapp:!1,productComms:!1,geovationComms:!1,unsubscribeAll:!0},{keepDirty:!0})}else m&&w({...m,unsubscribeAll:!1},{keepDirty:!0})},[u,w,V]),e.createElement(x.StyledFormContainer,null,e.createElement("form",{onSubmit:U(f)},e.createElement(b.default,{level:3},"Update Marketing Preferences"),e.createElement("p",null,"Please select your preferences below and click submit to update your records. You will receive a confirmation email once your record has been updated, however please be aware that this may take up to 48 hours to take effect."),e.createElement("div",{className:"form-field"},e.createElement("label",{htmlFor:"emailaddress"},"Email Address:"),e.createElement("input",{id:"emailaddress",type:"email",disabled:!0,required:!0,...r("emailaddress")})),e.createElement(b.default,{level:4},"Topics:"),e.createElement(T,null,e.createElement("input",{id:"productC
30omms",type:"checkbox",disabled:u,...r("productComms")}),e.createElement("label",{htmlFor:"productComms"},"I'd like to hear about how OS data can enhance my geospatial capabilities.")),e.createElement(T,null,e.createElement("input",{id:"geovationComms",type:"checkbox",disabled:u,...r("geovationComms")}),e.createElement("label",{htmlFor:"geovationComms"},"I'd like to receive information from Geovation.")),e.createElement(b.default,{level:4},"Select your method of communications:"),e.createElement(T,null,e.createElement("input",{id:"phone",type:"checkbox",disabled:u,...r("phone")}),e.createElement("label",{htmlFor:"phone"},"Phone")),e.createElement(T,null,e.createElement("input",{id:"email",type:"checkbox",disabled:u,...r("email")}),e.createElement("label",{htmlFor:"email"},"Email")),e.createElement(T,null,e.createElement("input",{id:"sms",type:"checkbox",disabled:u,...r("sms")}),e.createElement("label",{htmlFor:"sms"},"SMS")),e.createElement(T,null,e.createElement("input",{id:"socialMedia",disabled:u,type:"checkbox",...r("socialMedia")}),e.createElement("label",{htmlFor:"socialMedia"},"Social media")),e.createElement(T,null,e.createElement("input",{disabled:u,id:"whatsapp",type:"checkbox",...r("whatsapp")}),e.createElement("label",{htmlFor:"whatsapp"},"WhatsApp")),e.createElement(re,null),e.createElement(T,null,e.createElement("input",{id:"unsubscribeAll",type:"checkbox",...r("unsubscribeAll")}),e.createElement("label",{htmlFor:"unsubscribeAll"},"Unsubscribe from all")),e.createElement(ae,null,e.createElement(d.A,{disabled:c,type:"submit",text:"Update preferences"}),e.createElement(d.A,{text:"Back",type:"button",onClick:C}),c&&e.createElement(q.A,null))))},T=t.styled.div.withConfig({displayName:"MarketingPrefFormcomponent__FormField",componentId:"sc-s7hnrm-0"})(["display:flex;margin-bottom:var(--osds-spacing-s);justify-content:start;align-items:center;& label{cursor:pointer;}& input[type='checkbox']{width:auto;cursor:pointer;outline:none;}"]),re=t.styled.hr.withConfig({displayName:"MarketingPrefFormcomponent__Seperator",componentId:"sc-s7hnrm-1"})(["height:1px;background-color:var(--osds-colour-rock);margin:var(--osds-spacing-m) 0;"]),ae=t.styled.div.withConfig({displayName:"MarketingPrefFormcomponent__ActionContainer",componentId:"sc-s7hnrm-2"})(["display:flex;align-items:flex-start;gap:var(--osds-spacing-xs);justify-content:flex-start;"]),ne=oe,se=({onPasswordSubmit:E,onRetryOTP:i,onReset:c,canRetry:f=!1,countdown:C=0,loading:m})=>{const{register:S,handleSubmit:r}=(0,a.mN)();return e.createElement(x.StyledFormContainer,null,e.createElement("form",{onSubmit:r(E)},e.createElement(le,null,e.createElement("p",null,"Your email has been submitted."),e.createElement("p",null,"If you have an account with us, a one time use password will be sent to your email inbox.")),e.createElement("div",{className:"form-field"},e.createElement("label",{id:"otp-label",htmlFor:"otp"},"One-Time Password",e.createElement(ie,null,"*"),":"),e.createElement("input",{type:"text",id:"otp",...S("otp"),minLength:6,maxLength:6})),e.createElement(ce,null,e.createElement("p",null,"If you have not received a code, click below:"),e.createElement(d.A,{disabled:!f,type:"button",onClick:i,text:`Resend one-time password ${C>0?`(${C})`:""}`,level:"tertiary"})),e.createElement(me,null,e.createElement(d.A,{disabled:m,type:"submit",text:"Check One-time Password"}),e.createElement(d.A,{type:"button",onClick:c,text:"Back"}),m&&e.createElement(q.A,null))))},le=t.styled.div.withConfig({displayName:"OneTimePasswordcomponent__Description",componentId:"sc-bo497c-0"})(["& p{margin-bottom:var(--osds-spacing-m);}"]),ie=t.styled.span.withConfig({displayName:"OneTimePasswordcomponent__RequiredStar",componentId:"sc-bo497c-1"})(["color:var(--osds-colour-error);"]),ce=t.styled.div.withConfig({displayName:"OneTimePasswordcomponent__ResendContainer",componentId:"sc-bo497c-2"})(["display:flex;flex-direction:column;justify-content:flex-start;margin-bottom:var(--osds-spacing-l);"]),me=t.styled.div.withConfig({displayName:"OneTimePasswordcomponent__ActionContainer",componentId:"sc-bo497c-3"})(["display:flex;flex-direction:row;align-items:center;gap:var(--osds-spacing-xs);justify-content:flex-start;"]),de=se;var ue=o(80141),pe=o(43861),fe=o(60039),_=o(6416);const D=t.default||p,he=({onReset:E,summary:i=[]})=>e.createElement(x.StyledFormContainer,null,e.createElement(ge,{role:"status","aria-live":"polite","data-testid":"marketing-pref-success"},e.createElement(b.default,{level:2},"Preferences updated"),e.createElement(ye,null,e.createElement(_.default,null),"Marketing preferences successfully submitted."),e.createElement(ve,null,i.map((c,f)=>e.createElement("li",{key:f},c.subbed?e.createElement(_.default,{"data-tick":!0}):e.createElement(fe.default,{"data-cross":!0}),e.createElement("span",null,c.label)))),e.createElement(Ee,null,e.createElement(pe.A,{level:"primary",uri:"/",text:"Return to homepage"}),E&&e.createElement(ue.A,{type:"button",onClick:E,text:"Update marketing preferences",level:"tertiary"})))),ge=D.div`
31  background: var(--osds-colour-snow);
32  border: 2px solid var(--osds-colour-forest);
33  border-radius: var(--osds-radius-m, 4px);
34  padding: var(--osds-spacing-m);
35  display: flex;
36  flex-direction: column;
37  gap: var(--osds-spacing-s);
38  max-width: 50rem;
39`,ye=D.p`
40  display: flex;
41  align-items: center;
42  & svg {
43    color: var(--osds-colour-success);
44  }
45`,Ee=D.div`
46  display: flex;
47  gap: var(--osds-spacing-xs);
48  flex-wrap: wrap;
49  align-items: center;
50  justify-content: flex-start;
51  & > button {
52    cursor: pointer;
53  }
54`,ve=D.ul`
55  list-style: none;
56  padding: 0;
57  margin: 0;
58  & li {
59    display: flex;
60    align-items: center;
61    gap: var(--osds-spacing-xs);
62    & svg[data-tick] {
63      flex-shrink: 0;
64      color: var(--osds-colour-success);
65    }
66    & svg[data-cross] {
67      flex-shrink: 0;
68      color: var(--osds-colour-error);
69    }
70    & span {
71      word-break: break-word;
72    }
73  }
74`,be=he,Ce=({meta:E,breadcrumbs:i})=>{const[c,f]=e.useState(L),[C,m]=e.useState(!1),[S,r]=e.useState(""),[U,w]=e.useState(60),[W,V]=e.useState(void 0),[u,N]=e.useState(""),[Ae,ee]=e.useState(""),[G,Z]=e.useState(null),[ke,Te]=e.useState([]);(0,e.useEffect)(()=>{(async()=>{m(!0);try{const v=await fetch("/marketing-pref/health");v.ok?setTimeout(()=>{f("start"),r("")},1e3):(r("You are unable to update your marketing preferences at this time, please try again later or contact us for further assistance."),f(B),console.error("Health check failed:",v.statusText))}catch(v){console.error("Error during health check:",v)}finally{m(!1)}})();const g=(0,n.oW)();return()=>{(0,n.hI)(g)}},[]),(0,e.useEffect)(()=>
74{if(c===I){w(60);const h=setInterval(()=>{w(g=>g<=0?(clearInterval(W),0):g-1)},1e3);V(h)}},[c]);const te=async h=>{try{if(r(""),m(!0),w(60),!h.emailAddress)throw new Error("Email address is required");const g=await(0,n.hw)(),v=await fetch("/marketing-pref/validate-email",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({email:h.emailAddress,recaptchaToken:g})});if(v.ok)N(h.emailAddress),f(I);else{const A=await v.json();r(A.error||"An error occurred")}}catch{r("There was an error validating the email")}finally{m(!1)}},Pe=async h=>{try{r(""),m(!0),ee(h.otp);const g=await(0,n.hw)(),v=await fetch("marketing-pref/validate-otp",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({email:u,otp:h.otp,recaptchaToken:g})});if(!v.ok)throw new Error;const A=await v.json();Z(A.preferences),f(X)}catch{r("There was an error validating the one-time password")}finally{m(!1)}},Ie=async h=>{try{r(""),m(!0);const g=await(0,n.hw)(),v=await fetch("/marketing-pref/update-prefs",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({prefs:{...h},otp:Ae,recaptchaToken:g})});if(v.ok){f(Q),Z(h);const A=[];if(G){const Me=Object.keys(K);h.unsubscribeAll?A.push({label:"Unsubscribe from all",subbed:!0}):Me.forEach(Y=>{K[Y]!==void 0&&A.push({label:K[Y],subbed:h[Y]===!0})})}Te(A)}else{const A=await v.json();r(A.error||"An error occurred")}}catch(g){console.error("There was an error submitting the form",g)}finally{m(!1)}},J=()=>{f("start"),m(!1),N(""),Z(null),r(""),ee("")};return e.createElement(l.A,{meta:E,breadcrumbs:i},e.createElement(k.A,{noBottomSpacing:!0},e.createElement(xe,null,e.createElement(b.default,{level:1},"Marketing preferences"),e.createElement("p",null,"Update your marketing preferences below to choose the emails and updates that matter to you. Pick the topics you're interested in, change how often you hear from us, or opt out altogether.")),S&&e.createElement(s.default,{type:"Error"},S),e.createElement(Se,null,(c==="start"||c===L)&&e.createElement(R,{loading:C,handleValidateEmail:te}),c===I&&u&&e.createElement(de,{loading:C,canRetry:U<=0,countdown:U,onReset:J,onRetryOTP:()=>te({emailAddress:u}),onPasswordSubmit:Pe}),u&&c===X&&e.createElement(ne,{emailAddress:u,onSubmitUserPrefs:Ie,userPrefs:G,loading:C,onReset:J}),c===Q&&G&&e.createElement(be,{summary:ke,onReset:J}))))},xe=t.styled.div.withConfig({displayName:"MarketingPrefpage__HeadingSection",componentId:"sc-1x6xfdi-0"})(["max-width:46.5rem !important;"]),Se=t.styled.div.withConfig({displayName:"MarketingPrefpage__FormBlock",componentId:"sc-1x6xfdi-1"})(["width:100%;max-width:95ch;margin:var(--osds-spacing-xl) var(--osds-spacing-l);& .form-field{max-width:500px;}"]),we=Ce},88342(F,y,o){const e="6Lc_-CgrAAAAAK9BVlcQNiOy11PwXROuALCnuZqt",t=()=>new Headers({"Content-Type":"application/json","Accept-Encoding":"application/gzip","User-Agent":"OS Website Google custom search (gzip)"}),p=()=>{const l=document.querySelector("head"),n=document.createElement("script");if(l)return n.setAttribute("src","https://www.google.com/recaptcha/enterprise.js?render="+e),n.setAttribute("rel","preconnect"),l.appendChild(n),n},s=l=>{const n=document.querySelector("head");l&&n&&l.parentNode===n&&n.removeChild(l),setTimeout(()=>{window.location.reload()},500)},b=async(l="search")=>{if(window.grecaptcha===void 0)throw new Error("reCAPTCHA not loaded");return grecaptcha.enterprise.execute(e,{action:l})},k=()=>typeof grecaptcha<"u"&&grecaptcha.enterprise&&typeof grecaptcha.enterprise.ready=="function";o.d(y,["gU",0,t,"hI",0,s,"hw",0,b,"oW",0,p,"qA",0,k])}}]);})();

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.