1<!-- standard - CustomHeader-Site.html --> <!DOCTYPE html> 2<html lang="en" xmlns:fb="http://www.facebook.com/2008/fbml" xmlns="http://www.w3.org/1999/xhtml" xmlns:og="http://ogp.me/ns#"> 3<head> 4 5 <link rel="preconnect" href="https://d2zv5rkii46miq.cloudfront.net" /> 6 <link rel="preconnect" href="https://visitanalytics.userreport.com" /> 7 <link rel="preconnect" href="https://a02342.hexham-courant.co.uk" /> 8 <link rel="preconnect" href="https://securepubads.g.doubleclick.net" /> 9 <link rel="preconnect" href="https://cdn.adsafeprotected.com" /> 10 <link rel="preconnect" href="https://micro.rubiconproject.com" /> 11 <link rel="preconnect" href="https://experience.tinypass.com" /> 12 <link rel="preconnect" href="https://c.amazon-adsystem.com" /> 13 <link rel="preconnect" href="https://tpc.googlesyndication.com"> 14 <link rel="preconnect" href="https://pagead2.googlesyndication.com"> 15 <link rel="preconnect" href="https://www.googletagservices.com"> 16 <link rel="preconnect" href="https://cdn.ampproject.org"> 17 <link rel="preconnect" href="https://securepubads.g.doubleclick.net"> 18 19 <title>Northumberland farm shop in 10 best pumpkin patches in UK | Hexham Courant</title> 20 21 <meta charset="utf-8"> 22 <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=1"> 23 <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> 24 <meta name="OMG-Verify-V1" content="4389-366acdfc-5224-4c07-bb70-f74d8fbfc2db" /> 25 <meta name="robots" content="max-image-preview:large"> 26 <meta name="format-detection" content="telephone=no"> 27 28
28<script type="text/javascript">(window.NREUM||(NREUM={})).init={privacy:{cookies_enabled:true},ajax:{deny_list:["*"]},session_trace:{sampling_rate:0.0,mode:"FIXED_RATE",enabled:true,error_sampling_rate:0.0},performance:{capture_marks:false,capture_detail:false,capture_measures:true},browser_consent_mode:{enabled:false},distributed_tracing:{enabled:true}};(window.NREUM||(NREUM={})).loader_config={agentID:"1134382346",accountID:"962803",trustKey:"962803",xpid:"XQAFWVZQGwIAXFhTAAYBVFI=",licenseKey:"fd15ff24ac",applicationID:"1089177626",browserID:"1134382346"};;/*! For license information please see nr-loader-spa-1.322.0.min.js.LICENSE.txt */ 29(()=>{var e={8122(e,t,r){"use strict";r.d(t,{a:()=>i});var n=r(944);function i(e,t){try{if(!e||"object"!=typeof e)return(0,n.R)(3);if(!t||"object"!=typeof t)return(0,n.R)(4);const r=Object.create(Object.getPrototypeOf(t),Object.getOwnPropertyDescriptors(t)),s=0===Object.keys(r).length?e:r;for(let a in s)if(void 0!==e[a])try{if(null===e[a]){r[a]=null;continue}Array.isArray(e[a])&&Array.isArray(t[a])?r[a]=Array.from(new Set([...e[a],...t[a]])):e[a]instanceof Map||e[a]instanceof Set||e[a]instanceof Date||e[a]instanceof RegExp?r[a]=e[a]:"object"==typeof e[a]&&null!==t[a]&&"object"==typeof t[a]?r[a]=i(e[a],t[a]):r[a]=e[a]}catch(e){r[a]||(0,n.R)(1,e)}return r}catch(e){(0,n.R)(2,e)}}},2555(e,t,r){"use strict";r.d(t,{f:()=>a});var n=r(384),i=r(8122);const s={beacon:n.NT.beacon,errorBeacon:n.NT.errorBeacon,licenseKey:void 0,applicationID:void 0,sa:void 0,queueTime:void 0,applicationTime:void 0,ttGuid:void 0,user:void 0,account:void 0,product:void 0,extra:void 0,jsAttributes:{},userAttributes:void 0,atts:void 0,transactionName:void 0,tNamePlain:void 0};function a(e){try{return!!e.licenseKey&&!!e.errorBeacon&&!!e.applicationID}catch(e){return!1}}r.d(t,["D",0,e=>(0,i.a)(e,s)])},7699(e,t,r){"use strict";var n=r(860);const i={[n.K7.logging]:!0,[n.K7.genericEvents]:!0,[n.K7.jserrors]:!0,[n.K7.ajax]:!0};r.d(t,["It",0,1e6,"KC",0,i,"qh",0,"SESSION_ERROR"])},9324(e,t,r){"use strict";r.d(t,["A",0,"@newrelic/rrweb","x",0,"1.322.0"])},981(e,t,r){"use strict";r.d(t,["R",0,{AJAX:"AjaxRequest",PA:"PageAction",UA:"UserAction",BP:"BrowserPerformance",WS:"WebSocket",SPV:"SecurityPolicyViolation",JSE:"JavaScriptError",LOG:"Log",PVE:"PageView",PVT:"PageViewTiming",SR:"SessionReplay",ST:"SessionTrace",BI:"BrowserInteraction"}])},9752(e,t,r){"use strict";const n="newrelic-iframe-",i=n+"timing-update",s=n+"api",a=n+"api-response",o=n+"vitals-update",c=n+"ajax";r.d(t,["$8",0,o,"Gi",0,a,"KU",0,c,"Pl",0,n,"cS",0,s,"cr",0,i])},6154(e,t,r){"use strict";var n=r(1863);const i="undefined"!=typeof window&&!!window.document,s="undefined"!=typeof WorkerGlobalScope&&("undefined"!=typeof self&&self instanceof WorkerGlobalScope&&self.navigator instanceof WorkerNavigator||"undefined"!=typeof globalThis&&globalThis instanceof WorkerGlobalScope&&globalThis.navigator instanceof WorkerNavigator),a=i?window:"undefined"!=typeof WorkerGlobalScope&&("undefined"!=typeof self&&self instanceof WorkerGlobalScope&&self||"undefined"!=typeof globalThis&&globalThis instanceof WorkerGlobalScope&&globalThis),o=Boolean("hidden"===a?.document?.visibilityState),c=""+a?.location,d=/iPad|iPhone|iPod/.test(a.navigator?.userAgent),u=d&&"undefined"==typeof SharedWorker,l=(()=>{const e=a.navigator?.userAgent?.match(/Firefox[/\s](\d+\.\d+)/);return Array.isArray(e)&&e.length>=2?+e[1]:0})(),f=Date.now()-(0,n.t)();r.d(t,["OF",0,d,"RI",0,i,"WN",0,f,"bv",0,s,"gm",0,a,"lR",0,l,"m",0,c,"mw",0,o,"sb",0,u,"zk",0,()=>{const e=a?.performance?.getEntriesByType?.("navigation")?.[0];if(e&&e.responseStart>0&&e.responseStart<a.performance.now())return e}])},7295(e,t,r){"use strict";r.d(t,{Xv:()=>a,gX:()=>i,iW:()=>s});var n=[];function i(e){if(!e||s(e))return!1;if(0===n.length)return!0;if("*"===n[0].hostname)return!1;for(var t=0;t<n.length;t++){var r=n[t];if(r.hostname.test(e.hostname)&&r.pathname.test(e.pathname))return!1}return!0}function s(e){return void 0===e.hostname}function a(e){if(n=[],e&&e.length)for(var t=0;t<e.length;t++){let r=e[t];if(!r)continue;if("*"===r)return void(n=[{hostname:"*"}]);0===r.indexOf("http://")?r=r.substring(7):0===r.indexOf("https://")&&(r=r.substring(8));const i=r.indexOf("/");let s,a;i>0?(s=r.substring(0,i),a=r.substring(i)):(s=r,a="*");let[c]=s.split(":");n.push({hostname:o(c),pathname:o(a,!0)})}}function o(e,t=!1){const r=e.replace(/[.+?^${}()|[\]\\]/g,e=>"\\"+e).replace(/\*/g,".*?");return new RegExp((t?"^":"")+r+"$")}},3241(e,t,r){"use strict";r.d(t,{W:()=>i});var n=r(6154);function i(e={}){try{n.gm.dispatchEvent(new CustomEvent("newrelic",{detail:e}))}catch(e){}}},1687(e,t,r){"use strict";r.d(t,{Ak:()=>o,Ze:()=>d,x3:()=>c});var n=r(3241),i=r(3606),s=r(860),a=r(2646);function o(e,t){if(!e)return;const r={staged:!1,priority:s.P3[t]||0};
29e.runtime.drainRegistry.get(t)||e.runtime.drainRegistry.set(t,r)}function c(e,t){if(!e)return;const r=e.runtime.drainRegistry;r&&(r.get(t)&&r.delete(t),l(e,t,!1),r.size&&u(e))}function d(e,t="feature",r=!1){if(e){if(!e.runtime.drainRegistry.get(t)||r)return l(e,t);e.runtime.drainRegistry.get(t).staged=!0,u(e)}}function u(e){if(!e)return;const t=Array.from(e.runtime.drainRegistry);t.every(([e,t])=>t.staged)&&(t.sort((e,t)=>e[1].priority-t[1].priority),t.forEach(([t])=>{e.runtime.drainRegistry.delete(t),l(e,t)}))}function l(e,t,r=!0){if(!e)return;const s=e.ee,o=i.i.handlers;if(s&&!s.aborted&&s.backlog&&o){if((0,n.W)({type:"lifecycle",name:"drain",feature:t}),r){const e=s.backlog[t],r=o[t];if(r){for(let t=0;e&&t<e.length;++t)f(e[t],r);Object.entries(r).forEach(([e,t])=>{Object.values(t||{}).forEach(t=>{t[0]?.on&&t[0].context()instanceof a.y&&!t[0].listeners(e).includes(t[1])&&t[0].on(e,t[1])})})}}s.isolatedBacklog||delete o[t],s.backlog[t]=null,s.emit("drain-"+t,[])}}function f(e,t){var r=e[1];Object.values(t[r]||{}).forEach(t=>{var r=e[0];if(t[0]===r){var n=t[1],i=e[3],s=e[2];n.apply(i,s)}})}},7836(e,t,r){"use strict";var n=r(384),i=r(8990),s=r(2646),a=r(5607);const o="nr@context:".concat(a.W),c=function e(t,r){var n={},a={},u={},l=!1;try{l=16===r.length&&d.initializedAgents?.[r]?.runtime.isolatedBacklog}catch(e){}var f={on:p,addEventListener:p,removeEventListener:function(e,t){var r=n[e];if(!r)return;for(var i=0;i<r.length;i++)r[i]===t&&r.splice(i,1)},emit:function(e,r,n,i,s){!1!==s&&(s=!0);if(c.aborted&&!i)return;t&&s&&t.emit(e,r,n);var o=h(n);g(e).forEach(e=>{e.apply(o,r)});var d=v()[a[e]];d&&d.push([f,e,r,o]);return o},get:m,listeners:g,context:h,buffer:function(e,t){const r=v();if(t=t||"feature",f.aborted)return;Object.entries(e||{}).forEach(([e,n])=>{a[n]=t,t in r||(r[t]=[])})},abort:function(){f._aborted=!0,Object.keys(f.backlog).forEach(e=>{delete f.backlog[e]})},isBuffering:function(e){return!!v()[a[e]]},debugId:r,backlog:l?{}:t&&"object"==typeof t.backlog?t.backlog:{},isolatedBacklog:l};return Object.defineProperty(f,"aborted",{get:()=>{let e=f._aborted||!1;return e||(t&&(e=t.aborted),e)}}),f;function h(e){return e&&e instanceof s.y?e:e?(0,i.I)(e,o,()=>new s.y(o)):new s.y(o)}function p(e,t){n[e]=g(e).concat(t)}function g(e){return n[e]||[]}function m(t){return u[t]=u[t]||e(f,t)}function v(){return f.backlog}}(void 0,"globalEE"),d=(0,n.Zm)();d.ee||(d.ee=c),r.d(t,["P",0,o,"ee",0,c])},2646(e,t,r){"use strict";r.d(t,{y:()=>n});class n{constructor(e){this.contextId=e}}},9908(e,t,r){"use strict";r.d(t,{d:()=>n,p:()=>i});var n=r(7836).ee.get("handle");function i(e,t,r,i,s){s?(s.buffer([e],i),s.emit(e,t,r)):(n.buffer([e],i),n.emit(e,t,r))}},3606(e,t,r){"use strict";r.d(t,{i:()=>s});var n=r(9908);s.on=a;var i=s.handlers={};function s(e,t,r,s){a(s||n.d,i,e,t,r)}function a(e,t,r,i,s){s||(s="feature"),e||(e=n.d);var a=t[s]=t[s]||{};(a[r]=a[r]||[]).push([e,i])}},3878(e,t,r){"use strict";function n(e,t){return{capture:e,passive:!1,signal:t}}function i(e,t,r=!1,i){window.addEventListener(e,t,n(r,i))}function s(e,t,r=!1,i){document.addEventListener(e,t,n(r,i))}r.d(t,{DD:()=>s,jT:()=>n,sp:()=>i})},5607(e,t,r){"use strict";const n=(0,r(9566).bz)();r.d(t,["W",0,n])},9566(e,t,r){"use strict";r.d(t,{LA:()=>a,ZF:()=>o,bz:()=>s,el:()=>c});var n=r(6154);function i(e,t){return e?15&e[t]:16*Math.random()|0}function s(){const e=n.gm?.crypto||n.gm?.msCrypto;let t,r=0;return e&&e.getRandomValues&&(t=e.getRandomValues(new Uint8Array(30))),"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".split("").map(e=>"x"===e?i(t,r++).toString(16):"y"===e?(3&i()|8).toString(16):e).join("")}function a(e){const t=n.gm?.crypto||n.gm?.msCrypto;let r,s=0;t&&t.getRandomValues&&(r=t.getRandomValues(new Uint8Array(e)));const a=[];for(var o=0;o<e;o++)a.push(i(r,s++).toString(16));return a.join("")}function o(){return a(16)}function c(){return a(32)}},2614(e,t,r){"use strict";r.d(t,["BB",0,18e5,"Wt",0,"NRBA_SESSION::","g",0,{OFF:0,FULL:1,ERROR:2},"iL",0,{SAME_TAB:"same-tab",CROSS_TAB:"cross-tab"},"tS",0,{STARTED:"session-started",PAUSE:"session-pause",RESET:"session-reset",RESUME:"session-resume",UPDATE:"session-update"},"wk",0,144e5])},733(e,t,r){"use strict";function n(e,t){return function(e){let t=2166136261;for(let r=0;r<e.length;r++)t^=e.charCodeAt(r),t=Math.imul(t,16777619);return(t>>>0).toString(16).padStart(8,"0")}("".concat(String(e),":").concat(String(t)))}r.d(t,{Y:()=>n})},1863(e,t,r){"use strict";function n(){return Math.floor(performance.now())}r.d(t,{t:()=>n})},9119(e,t,r){"use strict";r.d(t,{L:()=>s});var n=/([^?#]*)[^#]*(#[^?]*|$).*/,i=/([^?#]*)().*/;function s(e,t){return e?e.replace(t?n:i,"$1$2"):e}},7485(e,t,r){"use strict";r.d(t,{D:()=>i});var n=r(6154);function i(e){if(0===(e||"").indexOf("data:"))return{protocol:"data"};try{const t=new URL(e,location.href),r={port:t.port,hostname:t.hostname,pathname:t.pathname,search:t.search,protocol:t.protocol.slice(0,t.protocol.indexOf(":")),sameOrigin:t.protocol===n.gm?.location?.protocol&&t.host===n.gm?.location?.host};return r.port&&""!==r.port||("http:"===t.protocol&&(r.port="80"),"https:"===t.protocol&&(r.port="443")),r.pathname&&""!==r.pathname?r.pathname.startsWith("/")||(r.pathname="/".concat(r.pathname)):r.pathname="/",r}catch(e){return{}}}},7866(e,t,r){"use strict";r.d(t,["Nc",0,/^\s*at Function code \(Function code:\d+:\d+\)\s*/i,"cn",0,/^\s*(?:([^@]*)(?:\(.*?\))?@)?((?:file|http|https|chrome|safari-extension).*?):(\d+)(?::(\d+))?\s*$/i,"fL",0,/^\s*at .+ \(eval at \S+ \((?:(?:file|http|https):[^)]+)?\)(?:, [^:]*:\d+:\d+)?\)$/i,"h3",0,/function (.+?)\s*\(/,"hB",0,/^\s*at (?:((?:\[object object\])?(?:[^(]*\([^)]*\))*[^()]*(?: \[as \S+\])?) )?\(?((?:file|http|https|chrome-extension):.*?)?:(\d+)(?::(\d+))?\)?\s*$/i])},944(e,t,r){"use strict";r.d(t,{R:()=>i});var n=r(3241);function i(e,t){"function"==typeof console.debug&&(console.debug("New Relic Warning: https://github.com/newrelic/newrelic-browser-agent/blob/main/docs/warning-codes.md#".concat(e),t),(0,n.W)({drained:null,type:"data",name:"warn",feature:"warn",data:{code:e,secondary:t}}))}},8990(e,t,r){"use strict";r.d(t,{I:()=>i});var n=Object.prototype.hasOwnProperty;function i(e,t,r){if(n.call(e,t))return e[t];var i=r();if(Object.defineProperty&&Object.keys)try{return Object.defineProperty(e,t,{value:i,writable:!0,enumerable:!1}),i}catch(e){}return e[t]=i,i}},6389(e,t,r){"use strict";function n(e,t=500,r={}){const n=r?.leading||!1;let i;return(...r)=>{n&&void 0===i&&(e.apply(this,r),i=setTimeout(()=>{i=clearTimeout(i)},t)),n||(clearTimeout(i),i=setTimeout(()=>{e.apply(this,r)},t))}}function i(e){let t=!1;return(...r)=>{t||(t=!0,e.apply(this,r))}}r.d(t,{J:()=>i,s:()=>n})},1910(e,t,r){"use strict";r.d(t,{i:()=>s});var n=r(944);const i=new Map;function s(...e){return e.every(e=>{if(i.has(e))return i.get(e);const t="function"==typeof e?e.toString():"",r=t.includes("[native code]"),s=t.includes("nrWrapper");return r||s||(0,n.R)(64,e?.name||t),i.set(e,r),r})}},3304(e,t,r){"use strict";r.d(t,{A:()=>i});var n=r(7836);function i(e){try{return JSON.stringify(e,(()=>{const e=new WeakSet;return(t,r)=>{if("object"==typeof r&&null!==r){if(e.has(r))return;e.add(r)}return r}})())??""}catch(e){try{n.ee.emit("internal-error",[e])}catch(e){}return""}}},9232(e,t,r){"use strict";r.d(t,["f",0,{MFE:"MFE",BA:"BA"}])},7560(e,t,r){"use strict";r.d(t,{N:()=>a,j:()=>c});var n=r(9119),i=r(944);const s=(0,r(6389).J)(e=>(0,i.R)(80,e));function a(e){if(!Array.isArray(e?.assets)||!e.assets.length)return;
29const t=e.assets.map(o).filter(Boolean);return t.length?{assets:t,scripts:t.filter(e=>e.isScript)}:void 0}function o(e){if(!e||"object"!=typeof e)return;const{matcher:t,type:r}=e;let i="string"==typeof t&&t.endsWith(".js");return void 0!==r&&(!function(e){return"script"===e||"asset"===e}(r)?s(r):i=function(e){return"script"===e}(r)),a=t,"[object RegExp]"===Object.prototype.toString.call(a)?{pattern:t,test:e=>(t.lastIndex=0,t.test((0,n.L)(e))),isScript:i}:"string"==typeof t&&t.length>0?{pattern:t,test:e=>(0,n.L)(e).includes(t),isScript:i}:void s(t);var a}function c(e,t,{scriptsOnly:r=!1}={}){if(!e||!t)return!1;return(r?e.scripts:e.assets).some(e=>e.test(t))}},5718(e,t,r){"use strict";r.d(t,{xo:()=>T,AZ:()=>v,cI:()=>g,Qr:()=>A,QL:()=>y});var n=r(6154),i=r(1863),s=r(9119),a=r(7866);class o{dom=new c;performance=new c;constructor(e){this.url=e,this.claimedBy=new Set}get script(){const e=Math.max(this.dom.start,this.performance.end);return{start:e,end:Math.max(this.dom.end,this.performance.end,e)}}}class c{start=0;end=0;value=void 0}function d(e=()=>{},t){return{get:()=>void 0!==t?t:e(),set:e=>{t=e}}}let u;try{u=v(y())[0]}catch(e){u=v(e)[0]}const l=new Map;let f=[];const h=new WeakMap;function p(e){let t=h.get(e);return t||(t={weighedAssetUrls:new Set,recordManifestScriptWindow:(t,r)=>{t&&(e.scriptStart=e.scriptStart>0?Math.min(e.scriptStart,t):t),r&&(e.scriptEnd=e.scriptEnd>0?Math.max(e.scriptEnd,r):r)}},h.set(e,t)),t}function g(e){return l.get(e)}function m(e){const t=g(e);
29if(t)return t;const r=new o(e);if(l.set(e,r),l.size>1e3){const e=l.keys().next().value;l.delete(e)}return r}if(n.gm.MutationObserver&&n.gm.document){new MutationObserver(e=>{e.forEach(e=>{e.addedNodes.forEach(e=>{if("SCRIPT"===e.nodeName&&e.src){const t=m((0,s.L)(e.src));t.dom.start=(0,i.t)(),t.dom.value=e;const r=()=>{t.dom.end=(0,i.t)()};["load","error"].forEach(t=>e.addEventListener(t,r,{once:!0}))}})})}).observe(n.gm.document,{childList:!0,subtree:!0})}if(n.gm.PerformanceObserver?.supportedEntryTypes.includes("resource")){new PerformanceObserver(e=>{e.getEntries().forEach(e=>{if((e=>"script"===e.initiatorType||["link","fetch"].includes(e.initiatorType)&&(0,s.L)(e.name).endsWith(".js"))(e)){const t=m((0,s.L)(e.name));t.performance.start=Math.floor(e.startTime),t.performance.end=Math.floor(e.responseEnd),t.performance.value=e}if(!f.length)return;const t=[];f.forEach(({test:r,addedAt:n},s)=>{(r(e)||(0,i.t)()-n>1e4)&&t.push(s)}),f=f.filter((e,r)=>!t.includes(r))})}).observe({type:"resource",buffered:!0})}function v(e){if(!e||"string"!=typeof e)return[];const t=new Set,r=e.split("\n");for(const e of r){const r=e.match(a.cn)||e.match(a.hB)||e.match(a.fL);if(r&&r[2])t.add((0,s.L)(r[2]));else{const r=e.match(/\(([^)]+\.js):\d+:\d+\)/)||e.match(/^\s+at\s+([^\s(]+\.js):\d+:\d+/);r&&r[1]&&t.add((0,s.L)(r[1]))}}return[...t]}function y(){let e;try{const t=Error.stackTraceLimit;Error.stackTraceLimit=50,e=(new Error).stack,Error.stackTraceLimit=t}catch(t){e=(new Error).stack}return e}function b(e,t){return(0,s.L)(e.name)===t}function E(e,t){e.fetchStart=Math.floor(t.startTime),e.fetchEnd=Math.floor(t.responseEnd),e.asset=t.name,e.type=t.initiatorType,w(e,t)}function w(e,t){const r=(0,s.L)(t.name),{weighedAssetUrls:n}=p(e);n.has(r)||(n.add(r),e.totalWeight=(e.totalWeight||0)+(t.transferSize||0),"blocking"===t.renderBlockingStatus?e.renderBlocking=!0:"non-blocking"===t.renderBlockingStatus&&!0!==e.renderBlocking&&(e.renderBlocking=!1))}function R(e,t,r,n,i){if(w(e,t),"scripts"!==i&&"all"!==i)return;if("all"===i||r.isScript){const r=Math.floor(t.startTime),n=Math.floor(t.responseEnd);e.fetchStart=e.fetchStart>0?Math.min(e.fetchStart,r):r,e.fetchEnd=e.fetchEnd>0?Math.max(e.fetchEnd,n):n}if(r.isScript){const r=g((0,s.L)(t.name));if(r){const t=()=>{const{start:t,end:n}=r.script;p(e).recordManifestScriptWindow(t,n)};t(),!r.dom.end&&r.dom.value&&["load","error"].forEach(e=>r.dom.value.addEventListener(e,t,{once:!0}))}n.resolved||(e.asset=t.name,e.type=t.initiatorType,n.resolved=!0)}}function T(e,t){const r=t?.manifest;if(!r||!r.assets.length)return;const s={resolved:!1},a=new Set(r.assets);(n.gm.performance?.getEntriesByType("resource")||[]).forEach(r=>{const n=[...a].find(e=>e.test(r.name));n&&(R(e,r,n,s,t.timingMethod),a.delete(n))}),a.size&&function(e,t,r,s){n.gm.PerformanceObserver?.supportedEntryTypes?.includes("resource")&&f.push({addedAt:(0,i.t)(),test:n=>{const i=[...t].find(e=>e.test(n.name));return i&&(R(e,n,i,r,s),t.delete(i)),0===t.size}})}(e,a,s,t.timingMethod)}function A(e){const t=e?.id,r={registeredAt:(0,i.t)(),reportedAt:void 0,fetchStart:0,fetchEnd:0,scriptStart:0,scriptEnd:0,asset:void 0,type:"unknown",totalWeight:0,renderBlocking:void 0},a=y();if(!a)return r;const o=n.gm.performance?.getEntriesByType("navigation")?.[0]?.name||"";try{const e=v(a),c=(e.length>1?e.filter(e=>u!==e):e)[0];if(!c)return r;if(o.includes(c))return r.asset=(0,s.L)(o),r.type="inline",r;r.correlation=g(c);const l=r.correlation?.performance.value||n.gm.performance?.getEntriesByType("resource")?.find(e=>b(e,c));if(l)E(r,l);else{(function(e){if(!e||!n.gm.document)return!1;try{const t=n.gm.document.querySelectorAll('link[rel="preload"][as="script"]');for(const r of t)if((0,s.L)(r.href)===e)return!0}catch(e){}return!1})(c)&&(r.asset=c,r.type="preload"),function(e,t){n.gm.PerformanceObserver?.supportedEntryTypes?.includes("resource")&&f.push({addedAt:(0,i.t)(),test:r=>!!b(r,t)&&(E(e,r),!0)})}(r,c)}const h=r.correlation,m=!!t&&!!h?.claimedBy.has(t);h&&t&&h.claimedBy.add(t);const y=()=>{const e=h?.script.start;if(!m||!e)return!1;return r.registeredAt-e>1e4};let w=0,R=0;p(r).recordManifestScriptWindow=(e,t)=>{e&&(w=w>0?Math.min(w,e):e),t&&(R=R>0?Math.max(R,t):t)},Object.defineProperty(r,"scriptStart",d(()=>{const e=y()?r.registeredAt:h?.script.start??r.fetchEnd;return w>0?Math.min(e,w):e})),Object.defineProperty(r,"scriptEnd",d(()=>{const e=y()?r.registeredAt:h?.script.end??r.registeredAt;return R>0?Math.max(e,R):e}))}catch(e){}return r}},5732(e,t,r){"use strict";r.d(t,{$5:()=>m,B5:()=>g,K6:()=>u,M$:()=>
29o,Ms:()=>d,NG:()=>c,Ux:()=>h,YA:()=>p,yx:()=>l});var n=r(5718),i=r(7560),s=r(9119),a=r(9232);function o(e){return e?.type===a.f.MFE}function c(e,t){if(!y(e,t))return;const r=t.runtime.registeredEntities;return r?.find(t=>t.metadata.target.iframeInterfaceId===e)}function d(e,t){if(!y(e,t))return[];const r=t.runtime.registeredEntities;return r?.filter(t=>String(t.metadata.target.id)===String(e)).map(e=>e.metadata.target)||[]}function u(e,t){if(!y(e,t))return[];const r=t.runtime.registeredEntities,n=(0,s.L)(e),a=r?.filter(t=>{const r=t.metadata.target?.manifest;return r?(0,i.j)(r,e,{scriptsOnly:!1}):!!t.metadata.timings?.asset&&(0,s.L)(t.metadata.timings.asset)===n});return f(a).map(e=>e.metadata.target)}function l(e,t){if(!y(e,t))return[];const r=t.runtime.registeredEntities,n=r?.filter(t=>{const r=t.metadata.target?.manifest;return r?(0,i.j)(r,e,{scriptsOnly:!0}):!!t.metadata.timings?.asset?.endsWith(e)});return f(n).map(e=>e.metadata.target)}function f(e){if(!e?.length)return e||[];const t=new Map,r=[];for(const n of e){const e=n.metadata?.timings?.asset;if(!e){r.push(n);continue}const i="".concat(e,"::").concat(n.metadata?.target?.id),s=t.get(i);if(s){if(s.metadata.target?.blocked&&!n.metadata.target?.blocked){const e=r.indexOf(s);-1!==e&&(r[e]=n),t.set(i,n)}}else t.set(i,n),r.push(n)}return r}function h(e,t){return v(t)?o(e)?e.attributes:t.agentRef.runtime.v2Target.attributes:{}}function p(e,t){return g(e,t)?{"child.id":e.id,"child.type":e.type,...h(void 0,t)}:{}}function g(e,t){return o(e)&&!!v(t)&&t.agentRef.init.api.register.duplicate_data_to_container}function m(e){if(!e?.runtime)return[];if(!y(!0,e)||!e.runtime.registeredEntities?.length)return[e.runtime.v2Target];const t=[];try{var r=(0,n.AZ)((0,n.QL)());let i=r.length-1;for(;r[i];)t.push(...l(r[i--],e))}catch(e){}const i=function(e){const t=new Set,r=[];for(const n of e){const e=n?.instance;t.has(e)||(t.add(e),r.push(n))}return r}(t);return i.length||i.push(e.runtime.v2Target),i}function v(e){return 2===e?.harvestEndpointVersion}function y(e,t){return!!e&&!!t?.init.api.register.enabled}},5289(e,t,r){"use strict";r.d(t,{GG:()=>a,Qr:()=>c,sB:()=>o});var n=r(3878),i=r(6389);function s(){return"undefined"==typeof document||"complete"===document.readyState}function a(e,t){if(s())return e();const r=(0,i.J)(e),a=setInterval(()=>{s()&&(clearInterval(a),r())},500);(0,n.sp)("load",r,t)}function o(e){if(s())return e();(0,n.DD)("DOMContentLoaded",e)}function c(e){if(s())return e();(0,n.sp)("popstate",e)}},384(e,t,r){"use strict";r.d(t,{Zm:()=>c,bQ:()=>u,dV:()=>d,pV:()=>l});var n=r(6154),i=r(1863),s=r(944),a=r(1910);const o={beacon:"bam.nr-data.net",errorBeacon:"bam.nr-data.net"};function c(){return n.gm.NREUM||(n.gm.NREUM={}),void 0===n.gm.newrelic&&(n.gm.newrelic=n.gm.NREUM),n.gm.NREUM}function d(){let e=c();return e.o||(e.o={ST:n.gm.setTimeout,SI:n.gm.setImmediate||n.gm.setInterval,CT:n.gm.clearTimeout,XHR:n.gm.XMLHttpRequest,REQ:n.gm.Request,EV:n.gm.Event,PR:n.gm.Promise,MO:n.gm.MutationObserver,FETCH:n.gm.fetch,WS:n.gm.WebSocket},(0,a.i)(...Object.values(e.o))),e}function u(e,t){let r=c();r.initializedAgents??={},t.initializedAt={ms:(0,i.t)(),date:new Date},r.initializedAgents[e]=t,2===Object.keys(r.initializedAgents).length&&(0,s.R)(69)}function l(){return function(){let e=c();const t=e.info||{};e.info={beacon:o.beacon,errorBeacon:o.errorBeacon,...t}}(),function(){let e=c();const t=e.init||{};e.init={...t}}(),d(),function(){let e=c();const t=e.loader_config||{};e.loader_config={...t}}(),c()}r.d(t,["NT",0,o])},2843(e,t,r){"use strict";r.d(t,{G:()=>s,u:()=>i});var n=r(3878);function i(e,t=!1,r,i){(0,n.DD)("visibilitychange",function(){if(t)return void("hidden"===document.visibilityState&&e());e(document.visibilityState)},r,i)}function s(e,t,r){(0,n.sp)("pagehide",e,t,r)}},8139(e,t,r){"use strict";r.d(t,{u:()=>f});var n=r(7836),i=r(3434),s=r(8990),a=r(6154);const o={},c=a.gm.XMLHttpRequest,d="addEventListener",u="removeEventListener",l="nr@wrapped:".concat(n.P);function f(e,t){var r=function(e){return(e||n.ee).get("events")}(e);if(o[r.debugId]++)return r;o[r.debugId]=1;var f=(0,i.YM)(r,!0,t);function p(e){f.inPlace(e,[d,u],"-",g)}function g(e,t){return e[1]}return"getPrototypeOf"in Object&&(a.RI&&h(document,p),c&&h(c.prototype,p),h(a.gm,p)),r.on(d+"-start",function(e,t){var r=e[1];if(null!==r&&("function"==typeof r||"object"==typeof r)&&"newrelic"!==e[0]){var n=(0,s.I)(r,l,function(){var e={object:function(){if("function"!=typeof r.handleEvent)return;return r.handleEvent.apply(r,arguments)},function:r}[typeof r];return e?f(e,"fn-",null,e.name||"anonymous"):r});this.wrapped=e[1]=n}}),r.on(u+"-start",function(e){e[1]=this.wrapped||e[1]}),r}function h(e,t,...r){let n=e;for(;"object"==typeof n&&!Object.prototype.hasOwnProperty.call(n,d);)n=Object.getPrototypeOf(n);n&&t(n,...r)}},3434(e,t,r){"use strict";r.d(t,{YM:()=>d});var n=r(7836),i=r(5607),s=r(5732);const a="nr@original:".concat(i.W);var o=Object.prototype.hasOwnProperty,c=!1;function d(e,t,r){return e||(e=n.ee),i.inPlace=function(e,t,r,n,s,a){r||(r="");const o="-"===r.charAt(0);for(let c=0;c<t.length;c++){const d=t[c],u=e[d];l(u)||(e[d]=i(u,o?d+r:r,n,d,s,a))}},i.flag=a,i;function i(t,n,i,c,f,h){return l(t)?t:(n||(n=""),nrWrapper[a]=t,function(e,t,r){if(Object.defineProperty&&Object.keys)try{return Object.keys(e).forEach(function(r){Object.defineProperty(t,r,{get:function(){return e[r]},set:function(t){return e[r]=t,t}})}),t}catch(e){u([e],r)}for(var n in e)o.call(e,n)&&(t[n]=e[n])}
29(t,nrWrapper,e),nrWrapper);function nrWrapper(){var a,o,l,p;let g,m;try{o=this,a=[...arguments],m=h?(0,s.$5)(r):[r?.runtime?.v2Target],l="function"==typeof i?i(a,o):i||{}}catch(t){u([t,"",[a,o,c],l],e)}d(n+"start",[a,o,c,m],l,f);const v=performance.now();let y;try{return p=t.apply(o,a),y=performance.now(),p}catch(e){throw y=performance.now(),d(n+"err",[a,o,e,m],l,f),g=e,g}finally{const e=y-v,t={start:v,end:y,duration:e,isLongTask:e>=50,methodName:c,thrownError:g};t.isLongTask&&d("long-task",[t,o,m],l,f),d(n+"end",[a,o,p,m],l,f)}}}function d(r,n,i,s){if(!c||t){var a=c;c=!0;try{e.emit(r,n,i,t,s)}catch(t){u([t,r,n,i],e)}c=a}}}function u(e,t){t||(t=n.ee);try{t.emit("internal-error",e)}catch(e){}}function l(e){return!(e&&"function"==typeof e&&e.apply&&!e[a])}r.d(t,["Jt",0,a])},9300(e,t,r){"use strict";const n=r(860).K7.ajax;r.d(t,["TZ",0,n,"f5",0,"ajaxRequest.id","mo",0,{NONE:"none",FAILURES:"failures",ALL:"all"}])},3333(e,t,r){"use strict";var n=r(981);const i=r(860).K7.genericEvents,s=[n.R.PA,n.R.UA,n.R.BP];r.d(t,["$v",0,{RESOURCES:"experimental.resources",REGISTER:"register"},"TZ",0,i,"Zp",0,["auxclick","click","copy","keydown","paste","scrollend"],"kd",0,s,"qN",0,["focus","blur"]])},6774(e,t,r){"use strict";const n=r(860).K7.jserrors;r.d(t,["T",0,n])},993(e,t,r){"use strict";const n=r(860).K7.logging;r.d(t,["A$",0,{OFF:0,ERROR:1,WARN:2,INFO:3,DEBUG:4,TRACE:5},"TZ",0,n,"p_",0,{ERROR:"ERROR",WARN:"WARN",INFO:"INFO",DEBUG:"DEBUG",TRACE:"TRACE"}])},3785(e,t,r){"use strict";r.d(t,{R:()=>c,b:()=>d});var n=r(9908),i=r(1863),s=r(860),a=r(3969),o=r(993);function c(e,t,r={},c=o.p_.INFO,d=!0,u,l=(0,i.t)()){(0,n.p)(a.xV,["API/logging/".concat(c.toLowerCase(),"/called")],void 0,s.K7.metrics,e),(0,n.p)("log",[l,t,r,c,d,u],void 0,s.K7.logging,e)}function d(e){return"string"==typeof e&&Object.values(o.p_).some(t=>t===e.toUpperCase().trim())}},3969(e,t,r){"use strict";const n=r(860).K7.metrics;r.d(t,["TZ",0,n,"XG",0,"storeEventMetrics","xV",0,"storeSupportabilityMetrics"])},6630(e,t,r){"use strict";const n=r(860).K7.pageViewEvent;r.d(t,["T",0,n])},782(e,t,r){"use strict";const n=r(860).K7.pageViewTiming;r.d(t,["T",0,n])},6344(e,t,r){"use strict";var n=r(2614);const i=r(860).K7.sessionReplay,s={[n.g.ERROR]:15e3,[n.g.FULL]:3e5,[n.g.OFF]:0}
29;r.d(t,["Qb",0,{API:"api",RESUME:"resume",SWITCH_TO_FULL:"switchToFull",INITIALIZE:"initialize",PRELOAD:"preload"},"TZ",0,i,"Vh",0,"errorDuringReplay","_s",0,{DomContentLoaded:0,Load:1,FullSnapshot:2,IncrementalSnapshot:3,Meta:4,Custom:5},"bc",0,{RESET:{message:"Session was reset",sm:"Reset"},IMPORT:{message:"Recorder failed to import",sm:"Import"},TOO_MANY:{message:"429: Too Many Requests",sm:"Too-Many"},TOO_BIG:{message:"Payload was too large",sm:"Too-Big"},CROSS_TAB:{message:"Session Entity was set to OFF on another tab",sm:"Cross-Tab"},ENTITLEMENTS:{message:"Session Replay is not allowed and will not be started",sm:"Entitlement"}},"yP",0,s])},5270(e,t,r){"use strict";r.d(t,{Aw:()=>a,SR:()=>s,rF:()=>o});var n=r(384),i=r(7767);function s(e){return!!(0,n.dV)().o.MO&&(0,i.V)(e)&&!0===e?.session_trace.enabled}function a(e){return!0===e?.session_replay.preload&&s(e)}function o(e,t){try{if("string"==typeof t?.type&&"password"===t.type.toLowerCase())return"*".repeat(e?.length||0);if(void 0!==t?.dataset?.nrUnmask||t?.classList?.contains("nr-unmask"))return e}catch(e){}return"string"==typeof e?e.replace(/[\S]/g,"*"):"*".repeat(e?.length||0)}},3738(e,t,r){"use strict";const n=r(860).K7.sessionTrace,i="-start",s="-end",a="fn"+i,o="fn"+s;r.d(t,["He",0,"bstResource","Kp",0,s,"Lc",0,o,"Rz",0,"pushState","TZ",0,n,"bD",0,"resource","bc",0,{CROSS_TAB:{message:"Session Entity was set to OFF on another tab"},ENTITLEMENTS:{message:"Session Trace is not allowed and will not be started"},RESET:{message:"Session was reset"},SESSION_CHANGED:{message:"Session identifier changed unexpectedly"}},"d3",0,i,"uP",0,a])},3962(e,t,r){"use strict";const n=r(860).K7.softNav;r.d(t,["O2",0,{INITIAL_PAGE_LOAD:"",ROUTE_CHANGE:1,UNSPECIFIED:2},"OV",0,"popstate","Qu",0,{INTERACTION:1,AJAX:2,CUSTOM_END:3,CUSTOM_TRACER:4},"TZ",0,n,"ih",0,{IP:"in progress",PF:"pending finish",FIN:"finished",CAN:"cancelled"},"pP",0,"initialPageLoad","tC",0,["click","keydown","submit"]])},4234(e,t,r){"use strict";r.d(t,{W:()=>i});var n=r(1687);class i{constructor(e,t){this.agentRef=e,this.ee=e?.ee,this.featureName=t,this.blocked=!1}deregisterDrain(){(0,n.x3)(this.agentRef,this.featureName)}}},7767(e,t,r){"use strict";var n=r(6154);r.d(t,["V",0,e=>n.RI&&!0===e?.privacy.cookies_enabled])},8362(e,t,r){"use strict";r.d(t,{d:()=>s});var n=r(9566),i=r(1741);class s extends i.W{agentIdentifier=(0,n.LA)(16)}},1741(e,t,r){"use strict";r.d(t,{W:()=>s});var n=r(944),i=r(4261);class s{#e(e,...t){if(this[e]!==s.prototype[e])return this[e](...t);(0,n.R)(35,e)}addPageAction(e,t){return this.#e(i.hG,e,t)}register(e){return this.#e(i.eY,e)}recordCustomEvent(e,t){return this.#e(i.fF,e,t)}setPageViewName(e,t){return this.#e(i.Fw,e,t)}setCustomAttribute(e,t,r){return this.#e(i.cD,e,t,r)}noticeError(e,t){return this.#e(i.o5,e,t)}setUserId(e,t=!1){return this.#e(i.Dl,e,t)}setApplicationVersion(e){return this.#e(i.nb,e)}setErrorHandler(e){return this.#e(i.bt,e)}addRelease(e,t){return this.#e(i.k6,e,t)}log(e,t){return this.#e("log",e,t)}start(){return this.#e("start")}finished(e){return this.#e(i.BL,e)}recordReplay(){return this.#e(i.CH)}pauseReplay(){return this.#e(i.Tb)}addToTrace(e){return this.#e(i.U2,e)}setCurrentRouteName(e){return this.#e(i.PA,e)}interaction(e){return this.#e(i.dT,e)}wrapLogger(e,t,r){return this.#e(i.Wb,e,t,r)}measure(e,t){return this.#e(i.V1,e,t)}consent(e){return this.#e(i.Pv,e)}}},4261(e,t,r){"use strict";r.d(t,["BL",0,"finished","CH",0,"recordReplay","Dl",0,"setUserId","Fw",0,"setPageViewName","PA",0,"setCurrentRouteName","Pv",0,"consent","Tb",0,"pauseReplay","U2",0,"addToTrace","V1",0,"measure","Wb",0,"wrapLogger","bt",0,"setErrorHandler","cD",0,"setCustomAttribute","dT",0,"interaction","eY",0,"register","fF",0,"recordCustomEvent","hG",0,"addPageAction","hw",0,"api-ixn-","k6",0,"addRelease","nb",0,"setApplicationVersion","o5",0,"noticeError"])},1738(e,t,r){"use strict";r.d(t,{U:()=>l,Y:()=>u});var n=r(3241),i=r(9908),s=r(1863),a=r(944),o=r(3969),c=r(8362),d=r(860);function u(e,t,r,s){const u=s||r;!u||u[e]&&u[e]!==c.d.prototype[e]||(u[e]=function(){(0,i.p)(o.xV,["API/"+e+"/called"],void 0,d.K7.metrics,r.ee),(0,n.W)({drained:!!r.runtime?.activatedFeatures,type:"data",name:"api",feature:"api-"+e,data:{}});try{return t.apply(this,arguments)}catch(e){(0,a.R)(23,e)}})}function l(e,t,r,n,a){const o=e.info;null===r?delete o.jsAttributes[t]:o.jsAttributes[t]=r,(a||null===r)&&(0,i.p)("api-"+n,[(0,s.t)(),t,r],void 0,"session",e.ee)}},8374(e,t,r){r.nc=(()=>{try{return document?.currentScript?.nonce}catch(e){}return""})()},860(e,t,r){"use strict";const n="events",i="jserrors",s="browser/blobs",a="browser/logs",o={ajax:"ajax",genericEvents:"generic_events",jserrors:i,logging:"logging",metrics:"metrics",pageAction:"page_action",pageViewEvent:"page_view_event",pageViewTiming:"page_view_timing",sessionReplay:"session_replay",sessionTrace:"session_trace",softNav:"soft_navigations"},c={[o.pageViewEvent]:1,[o.pageViewTiming]:2,[o.metrics]:3,[o.jserrors]:4,[o.softNav]:5,[o.ajax]:6,[o.sessionTrace]:7,[o.sessionReplay]:8,[o.logging]:9,[o.genericEvents]:10},d={[o.pageViewEvent]:"rum",[o.pageViewTiming]:n,[o.ajax]:n,[o.softNav]:n,[o.metrics]:i,[o.jserrors]:i,[o.sessionTrace]:s,[o.sessionReplay]:s,[o.logging]:a,[o.genericEvents]:"ins"};r.d(t,["$J",0,d,"K7",0,o,"P3",0,c,"XX",0,i,"Yy",0,a,"df",0,s,"hg",0,"connect"])}};const t={};function r(n){const i=t[n];if(void 0!==i)return i.exports;const s=t[n]={exports:{}};return e[n](s,s.exports,r),s.exports}r.m=e,r.d=(e,t)=>{if(Array.isArray(t))for(var n=0;n<t.length;){var i=t[n++],s=t[n++];r.o(e,i)?0===s&&n++:0===s?Object.defineProperty(e,i,{enumerable:!0,value:t[n++]}):Object.defineProperty(e,i,{enumerable:!0,get:s})}else for(var i in t)r.o(t,i)&&!r.o(e,i)&&Object.defineProperty(e,i,{enumerable:!0,get:t[i]})},r.f={},r.e=e=>Promise.all(Object.keys(r.f).reduce((t,n)=>(r.f[n](e,t),t),[])),r.u=e=>({212:"nr-spa-compressor",238:"nr-spa-iframe-message-handler",249:"nr-spa-recorder",478:"nr-spa"}[e]+"-1.322.0.min.js"),r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{const e={},t="NRBA-1.322.0.PROD:";r.l=(n,i,s,a)=>
29{if(e[n])return void e[n].push(i);let o,c;if(void 0!==s){const e=document.getElementsByTagName("script");for(var d=0;d<e.length;d++){const r=e[d];if(r.getAttribute("src")==n||r.getAttribute("data-webpack")==t+s){o=r;break}}}if(!o){c=!0;var u={478:"sha512-SARROoir04gFygxlr/+mTI+PyMeFL+epi1vnUA2G5mTQ7s3G44ItQBJKbOaIMdIE5OBzuaKhb4k5JYta0NICxg==",249:"sha512-6DKQo5WP7YlpzX6l9UfYkgGLGK2oITdoaYTcZtgl5Foa22NY63lED/0z1hBBLeD7qZCz/YdlY19/r8drlol1tg==",212:"sha512-CYxuvSpDx6ErqWJwAvpoHn54eY37YdMcFao/axOumlw3BsSL7yioOeB2LWViY/Njs818sQG10dSglUhYCMfLPw==",238:"sha512-mvbMILWa3ohYst+u6TLfNrmtY2swUIB3rbJFN/uzt3W62KhgvUVwB81UEZ1R0/it5bfrQ5EVz864pi/CAmucNQ=="};o=document.createElement("script"),o.charset="utf-8",r.nc&&o.setAttribute("nonce",r.nc),o.setAttribute("data-webpack",t+s),o.src=n,0!==o.src.indexOf(window.location.origin+"/")&&(o.crossOrigin="anonymous"),u[a]&&(o.integrity=u[a])}e[n]=[i];const l=(t,r)=>{o.onerror=o.onload=null,clearTimeout(f);const i=e[n];if(delete e[n],o.parentNode?.removeChild(o),i?.forEach(e=>e(r)),t)return t(r)},f=setTimeout(l.bind(null,void 0,{type:"timeout",target:o}),12e4);o.onerror=l.bind(null,o.onerror),o.onload=l.bind(null,o.onload),c&&document.head.appendChild(o)}})(),r.r=e=>{Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.p="https://js-agent.newrelic.com/",(()=>{const e={38:0,788:0};r.f.j=(t,n)=>{let i=r.o(e,t)?e[t]:void 0;if(0!==i)if(i)n.push(i[2]);else{const s=new Promise((r,n)=>i=e[t]=[r,n]);n.push(i[2]=s);const a=r.p+r.u(t),o=new Error,c=n=>{if(r.o(e,t)&&(i=e[t],0!==i&&(e[t]=void 0),i)){const e=n&&("load"===n.type?"missing":n.type),r=n&&n.target&&n.target.src;o.message="Loading chunk "+t+" failed: ("+e+": "+r+")",o.name="ChunkLoadError",o.type=e,o.request=r,i[1](o)}};r.l(a,c,"chunk-"+t,t)}};const t=(t,n)=>{let[i,s,a]=n;var o,c,d=0;if(i.some(t=>0!==e[t])){for(o in s)r.o(s,o)&&(r.m[o]=s[o]);if(a)a(r)}for(t&&t(n);d<i.length;d++)c=i[d],r.o(e,c)&&e[c]&&e[c][0](),e[c]=0},n=self["webpackChunk:NRBA-1.322.0.PROD"]=self["webpackChunk:NRBA-1.322.0.PROD"]||[];n.forEach(t.bind(null,0)),n.push=t.bind(null,n.push.bind(n))})(),(()=>{"use strict";r(8374);var e=r(8362),t=r(860);const n=Object.values(t.K7);var i=r(384),s=r(1741);var a=r(2555),o=r(3333),c=r(9300);const d=e=>{if(!e||"string"!=typeof e)return!1;try{document.createDocumentFragment().querySelector(e)}catch{return!1}return!0};var u=r(2614),l=r(944),f=r(8122);const h="[data-nr-mask]",p=e=>(0,f.a)(e,(()=>{const e={feature_flags:[],experimental:{register:!1,resources:!1,iframe_bridge:!1,iframe_domains:[]},mask_selector:"*",block_selector:"[data-nr-block]",mask_input_options:{color:!1,date:!1,"datetime-local":!1,email:!1,month:!1,number:!1,range:!1,search:!1,tel:!1,text:!1,time:!1,url:!1,week:!1,textarea:!1,select:!1,password:!0}};return{ajax:{deny_list:void 0,block_internal:!0,enabled:!0,autoStart:!0,capture_payloads:c.mo.NONE},api:{register:{get enabled(){return e.feature_flags.includes(o.$v.REGISTER)||e.experimental.register},set enabled(t){e.experimental.register=t},duplicate_data_to_container:!1,get allow_iframe_bridge(){return e.feature_flags.includes(o.$v.IFRAME_BRIDGE)||e.experimental.iframe_bridge},set allow_iframe_bridge(t){e.experimental.iframe_bridge=t},get iframe_domains(){return e.experimental.iframe_domains},set iframe_domains(t){Array.isArray(t)?e.experimental.iframe_domains=t:(0,l.R)(1,t)}}},browser_consent_mode:{enabled:!1},distributed_tracing:{enabled:void 0,exclude_newrelic_header:void 0,cors_use_newrelic_header:void 0,cors_use_tracecontext_headers:void 0,allowed_origins:void 0},get feature_flags(){return e.feature_flags},set feature_flags(t){e.feature_flags=t},generic_events:{enabled:!0,autoStart:!0},harvest:{interval:30},jserrors:{enabled:!0,autoStart:!0},logging:{enabled:!0,autoStart:!0},metrics:{enabled:!0,autoStart:!0},obfuscate:void 0,page_action:{enabled:!0},page_view_event:{enabled:!0,autoStart:!0},page_view_timing:{enabled:!0,autoStart:!0},performance:{capture_marks:!1,capture_measures:!1,capture_detail:!0,resources:{get enabled(){return e.feature_flags.includes(o.$v.RESOURCES)||e.experimental.resources},set enabled(t){e.experimental.resources=t},asset_types:[],first_party_domains:[],ignore_newrelic:!0}},privacy:{cookies_enabled:!0},proxy:{assets:void 0,beacon:void 0},session:{expiresMs:u.wk,inactiveMs:u.BB},session_replay:{autoStart:!0,enabled:!1,preload:!1,sampling_rate:10,error_sampling_rate:100,collect_fonts:!1,inl
29ine_images:!1,fix_stylesheets:!0,mask_all_inputs:!0,get mask_text_selector(){return e.mask_selector},set mask_text_selector(t){d(t)?e.mask_selector="".concat(t,",").concat(h):""===t||null===t?e.mask_selector=h:(0,l.R)(5,t)},get block_class(){return"nr-block"},get ignore_class(){return"nr-ignore"},get mask_text_class(){return"nr-mask"},get block_selector(){return e.block_selector},set block_selector(t){d(t)?e.block_selector+=",".concat(t):""!==t&&(0,l.R)(6,t)},get mask_input_options(){return e.mask_input_options},set mask_input_options(t){t&&"object"==typeof t?e.mask_input_options={...t,password:!0}:(0,l.R)(7,t)}},session_trace:{enabled:!0,autoStart:!0},soft_navigations:{enabled:!0,autoStart:!0},ssl:void 0,user_actions:{enabled:!0,elementAttributes:["id","className","tagName","type"]},web_sockets:{enabled:!1}}})());var g=r(6154),m=r(9324);let v=0;const y={buildEnv:"PROD",distMethod:"CDN",version:m.x,originTime:g.WN},b={consented:!1},E={activatedFeatures:void 0,appMetadata:{},configured:!1,get consented(){return this.session?.state?.consent||b.consented},set consented(e){b.consented=e},customTransaction:void 0,denyList:[],disabled:!1,drainRegistry:new Map,connector:void 0,harvester:void 0,v2Target:void 0,isolatedBacklog:!1,isRecording:!1,loaderType:void 0,maxBytes:3e4,obfuscator:void 0,onerror:void 0,ptid:void 0,releaseIds:{},session:void 0,timeKeeper:void 0,registeredEntities:[],jsAttributesMetadata:{bytes:0},get harvestCount(){return++v},listeningForIframeMessages:!1};var w=r(9232);var R=r(7836),T=r(3241);const A={accountID:void 0,trustKey:void 0,agentID:void 0,licenseKey:void 0,applicationID:void 0,xpid:void 0};var S=r(9908),x=r(9752);function O(e,t={},n,o){let{init:c,info:d,loader_config:u,runtime:l={},exposed:h=!0}=t;if(!d){const e=(0,i.pV)();c=e.init,d=e.info,u=e.loader_config}var m;e.init=p(c||{}),e.loader_config=(m=u||{},(0,f.a)(m,A)),d.jsAttributes??={},g.bv&&(d.jsAttributes.isWorker=!0),e.info=(0,a.D)(d);const v=e.init;e.runtime??=(e=>{const t=(0,f.a)(e,E),r=Object.keys(y).reduce((e,t)=>(e[t]={value:y[t],writable:!1,configurable:!0,enumerable:!0},e),{});return Object.defineProperties(t,r)})(l),e.runtime.v2Target??={type:w.f.BA,instance:e.agentIdentifier,get id(){return e.runtime.appMetadata?.agents?.[0]?.entityGuid},get attributes(){return{"entity.guid":this.id,appId:e.info.applicationID}}},v.proxy.assets&&(e=>{const t=e.startsWith("http");e+="/",r.p=t?e:"https://"+e})(v.proxy.assets),e.runtime.configured||(Object.defineProperty(e,"beacons",{get:()=>[e.info.beacon,e.info.errorBeacon,e.init.proxy.assets,e.init.proxy.beacon].filter(Boolean)}),Object.defineProperty(e.runtime,"denyList",{get:()=>[...e.init.ajax.deny_list||[],...e.init.ajax.block_internal?e.beacons:[]]}),e.runtime.ptid=e.agentIdentifier,function(e){const t=(0,i.pV)();Object.getOwnPropertyNames(s.W.prototype).forEach(r=>{const n=s.W.prototype[r];if("function"!=typeof n||"constructor"===n)return;let i=t[r];e[r]&&!1!==e.exposed&&"micro-agent"!==e.runtime?.loaderType&&(t[r]=(...t)=>{const n=e[r](...t);return i?i(...t):n})})}(e),e.runtime.loaderType=n,e.ee=R.ee.get(e.agentIdentifier),e.exposed=h,(0,T.W)({drained:!!e.runtime.activatedFeatures,type:"lifecycle",name:"initialize",feature:void 0,data:e.config}),e.init.api.register.allow_iframe_bridge&&g.gm.addEventListener("message",t=>{"string"==typeof t.data?.type&&t.data.type.startsWith(x.Pl)&&(0,S.p)("iframe-message",[t],void 0,"IFRAME",e.ee)}),e.runtime.configured=!0)}var _=r(1863),k=r(4261),N=r(1738);var L=r(1687),M=r(4234),P=r(5289),I=r(5270),j=r(7767),C=r(6389),D=r(7699);const B=new WeakSet,H=new WeakMap;class W extends M.W{constructor(e,t){super(e,t),this.abortHandler=void 0,this.featAggregate=void 0,this.loadedSuccessfully=void 0,this.onAggregateImported=new Promise(e=>{this.loadedSuccessfully=e}),this.deferred=Promise.resolve(),!1===e.init[this.featureName].autoStart?this.deferred=new Promise((t,r)=>{this.ee.on("manual-start-all",(0,C.J)(()=>{(0,L.Ak)(e,this.featureName),t()}))}):(0,L.Ak)(e,t)}importAggregator(e,t,n={}){if(this.featAggregate)return;const i=async()=>{if(await this.deferred,this.#t(e),!(0,a.f)(e.info))return(0,l.R)(43),e.ee.abort(),void this.loadedSuccessfully(!1);try{await async function(e,t,n){if(H.has(e))return H.get(e);const i=(async()=>
29{if((0,j.V)(e.init))try{const{setupAgentSession:t}=await r.e(478).then(r.bind(r,8766));t(e)}catch(e){(0,l.R)(20,e),t.emit("internal-error",[e]),(0,S.p)(D.qh,[e],void 0,n,t)}if(e.init.api.register.allow_iframe_bridge)try{const{setupIframeMFEMessageListener:t}=await r.e(238).then(r.bind(r,6417));t(e)}catch(e){(0,l.R)(23,e)}const[{Connector:i},{Harvester:s}]=await Promise.all([r.e(478).then(r.bind(r,6589)),r.e(478).then(r.bind(r,5237))]);e.runtime.connector=new i(e),e.runtime.harvester=new s(e);const a=Object.values(e.features).filter(t=>e.runtime.drainRegistry.has(t.featureName));Promise.all(a.map(e=>e.onAggregateImported)).then(()=>e.runtime.harvester.startTimer())})();H.set(e,i),await i}(e,this.ee,this.featureName)}catch(e){return(0,l.R)(79,e),this.ee.abort(),void this.loadedSuccessfully(!1)}try{if(!this.#r(this.featureName,e.runtime.session,e.init))return this.abortHandler?.(),(0,L.Ze)(this.agentRef,this.featureName),void this.loadedSuccessfully(!1);const{Aggregate:r}=await t();this.featAggregate=new r(e,n),e.runtime.harvester.initializedAggregates.push(this.featAggregate),this.loadedSuccessfully(!0)}catch(e){(0,l.R)(34,e),this.abortHandler?.(),(0,L.Ze)(this.agentRef,this.featureName,!0),this.loadedSuccessfully(!1)}};g.RI?(0,P.GG)(()=>i(),!0):i()}#r(e,r,n){if(this.blocked)return!1;switch(e){case t.K7.sessionReplay:return(0,I.SR)(n)&&!!r;case t.K7.sessionTrace:return!!r;default:return!0}}#t(e){if(!B.has(e)&&(B.add(e),!(0,a.f)(e.info))){const t=(0,i.pV)();let r={...t.info?.jsAttributes};try{r={...r,...e.info?.jsAttributes}}catch(e){}O(e,{...t,info:{...t.info,jsAttributes:r},runtime:e.runtime},e.runtime.loaderType)}}}var U=r(6630);class K extends W{static featureName=U.T;constructor(e){var t;super(e,U.T),this.setupInspectionEvents(),t=e,(0,N.Y)(k.Fw,function(e,r){"string"==typeof e&&("/"!==e.charAt(0)&&(e="/"+e),t.runtime.customTransaction=(r||"http://custom.transaction")+e,(0,S.p)("api-"+k.Fw,[(0,_.t)()],void 0,void 0,t.ee))},t),this.importAggregator(e,()=>e.init.feature_flags.includes("rum_v2")?r.e(478).then(r.bind(r,908)):r.e(478).then(r.bind(r,7927)))}setupInspectionEvents(){const e=(e,t)=>{e&&(0,T.W)({timeStamp:e.timeStamp,loaded:"complete"===e.target.readyState,type:"window",name:t,data:e.target.location+""})};(0,P.sB)(t=>{e(t,"DOMContentLoaded")}),(0,P.GG)(t=>{e(t,"load")}),(0,P.Qr)(t=>{e(t,"navigate")}),this.ee.on(u.tS.UPDATE,(e,t)=>{(0,T.W)({type:"lifecycle",name:"session",data:t})})}}class F extends e.d{constructor(e){var t;(super(),g.gm)?(this.features={},(0,i.bQ)(this.agentIdentifier,this),this.desiredFeatures=new Set(e.features||[]),this.desiredFeatures.add(K),O(this,e,e.loaderType||"agent"),t=this,(0,N.Y)(k.cD,function(e,r,n=!1){if("string"==typeof e){if(["string","number","boolean"].includes(typeof r)||null===r)return(0,N.U)(t,e,r,k.cD,n);(0,l.R)(40,typeof r)}else(0,l.R)(39,typeof e)},t),function(e){(0,N.Y)(k.Dl,function(t,r=!1){if("string"!=typeof t&&null!==t)return void(0,l.R)(41,typeof t);const n=e.info.jsAttributes["enduser.id"];r&&null!=n&&n!==t?(0,S.p)("api-setUserIdAndResetSession",[t],void 0,"session",e.ee):(0,N.U)(e,"enduser.id",t,k.Dl,!0)},e)}(this),function(e){(0,N.Y)(k.nb,function(t){if("string"==typeof t||null===t)return(0,N.U)(e,"application.version",t,k.nb,!1);(0,l.R)(42,typeof t)},e)}(this),function(e){(0,N.Y)("start",function(){e.ee.emit("manual-start-all")},e)}(this),function(e){(0,N.Y)(k.Pv,function(t=!0){if("boolean"==typeof t){if((0,S.p)("api-"+k.Pv,[t],void 0,"session",e.ee),e.runtime.consented=t,t){const t=e.features.page_view_event;t.onAggregateImported.then(e=>{const r=t.featAggregate;e&&!r.sentRum&&r.sendRum?.()})}}else(0,l.R)(65,typeof t)},e)}(this),this.run()):(0,l.R)(21)}get config(){return{info:this.info,init:this.init,loader_config:this.loader_config,runtime:this.runtime}}get api(){return this}run(){try{const e=function(e){const t={};return n.forEach(r=>{t[r]=!!e[r]?.enabled}),t}(this.init),r=[...this.desiredFeatures],i=this.init.feature_flags.includes("rum_v2");r.sort((e,r)=>t.P3[e.featureName]-t.P3[r.featureName]),r.forEach(r=>{if(!e[r.featureName]&&(i||r.featureName!==t.K7.pageViewEvent))return;const n=function(e){switch(e){case t.K7.ajax:return[t.K7.jserrors];case t.K7.sessionTrace:return[t.K7.ajax,t.K7.pageViewEvent];case t.K7.sessionReplay:return[t.K7.sessionTrace];case t.K7.pageViewTiming:return[t.K7.pageViewEvent];default:return[]}}(r.featureName).filter(e=>!(e in this.features));n.length>0&&(0,l.R)(36,{targetFeature:r.featureName,missingDependencies:n}),this.features[r.featureName]=new r(this)})}catch(e){(0,l.R)(22,e);for(const e in this.features)this.features[e].abortHandler?.();const t=(0,i.Zm)();delete t.initializedAgents[this.agentIdentifier]?.features,delete this.sharedAggregator;return t.ee.get(this.agentIdentifier).abort(),!1}}}var V=r(2843),z=r(782);class G extends W{static featureName=z.T;constructor(e){super(e,z.T),g.RI&&((0,V.u)(()=>(0,S.p)("docHidden",[(0,_.t)()],void 0,z.T,this.ee),!0),(0,V.G)(()=>(0,S.p)("winPagehide",[(0,_.t)()],void 0,z.T,this.ee)),this.importAggregator(e,()=>r.e(478).then(r.bind(r,9917))))}}var q=r(3969);class Y extends W{static featureName=q.TZ;constructor(e){super(e,q.TZ),this.importAggregator(e,()=>r.e(478).then(r.bind(r,6555)))}}var Z=r(6774),J=r(3878),X=r(3304);class Q{constructor(e,t,r,n,i){this.name="UncaughtError",this.message="string"==typeof e?e:(0,X.A)(e),this.sourceURL=t,this.line=r,this.column=n,this.__newrelic=i}}function ee(e){return ne(e)?e:new Q(void 0!==e?.message?e.message:e,e?.filename||e?.sourceURL,e?.lineno||e?.line,e?.colno||e?.col,e?.__newrelic,e?.cause)}function te(e){const t="Unhandled Promise Rejection: ";if(!e?.reason)return;if(ne(e.reason)){try{e.reason.message.startsWith(t)||(e.reason.message=t+e.reason.message)}catch(e){}return ee(e.reason)}const r=ee(e.reason);return(r.message||"").startsWith(t)||(r.message=t+r.message),r}function re(e){if(e.error instanceof SyntaxError&&!/:\d+$/.test(e.error.stack?.trim())){const t=new Q(e.message,e.filename,e.lineno,e.colno,e.error.__newrelic,e.cause);return t.name=SyntaxError.name,t}return ne(e.error)?e.error:ee(e)}function ne(e){return e instanceof Error&&!!e.stack}function ie(e,r,n,i,s=(0,_.t)()){"string"==typeof e&&(e=new Error(e)),(0,S.p)("err",[e,s,!1,r,n.runtime.isRecording,void 0,i],void 0,t.K7.jserrors,n.ee),(0,S.p)("uaErr",[],void 0,t.K7.genericEvents,n.ee)}var se=r(993),ae=r(3785);function oe(e,{customAttributes:t={},level:r=se.p_.INFO}={},n,i,s=(0,_.t)()){(0,ae.R)(n.ee,e,t,r,!1,i,s)}function ce(e,r,n,i,s=(0,_.t)()){(0,S.p)("api-"+k.hG,[s,e,r,i],void 0,t.K7.genericEvents,n.ee)}function de(e,r,n,i,s=(0,_.t)()){const{start:a,end:o,customAttributes:c}=r||{},d={customAttributes:c||{}};if("object"!=typeof d.customAttributes||"string"!=typeof e||0===e.length)return void(0,l.R)(57);const u=(e,t)=>
29null==e?t:"number"==typeof e?e:e instanceof PerformanceMark?e.startTime:Number.NaN;if(d.start=u(a,0),d.end=u(o,s),Number.isNaN(d.start)||Number.isNaN(d.end))(0,l.R)(57);else{if(d.duration=d.end-d.start,!(d.duration<0))return(0,S.p)("api-"+k.V1,[d,e,i],void 0,t.K7.genericEvents,n.ee),d;(0,l.R)(58)}}function ue(e,r={},n,i,s=(0,_.t)()){(0,S.p)("api-"+k.fF,[s,e,r,i],void 0,t.K7.genericEvents,n.ee)}var le=r(5718);const fe=(e,t)=>e?.nrMfeId===t.id&&(!e?.nrMfeObserved||e?.nrMfeObserved===t.instance),he=e=>{try{return g.gm.CSS.escape(e)}catch(t){return e}},pe=(e,t={})=>{const r=t.id,n=t.instance;if(!e||!r||!n)return!1;try{let r=1===e.nodeType?e:e.parentElement;for(;r?.tagName;){if(fe(r.dataset,t))return r.dataset.nrMfeObserved=n,!0;r=r.parentNode}}catch(e){}return!1},ge=(e,t)=>{const r=g.gm.document?.querySelectorAll('[data-nr-mfe-id="'.concat(he(e.id),'"]')),n=(Array.from(r)||[]).find(t=>fe(t.dataset,e));let i=!!n;i&&(n.dataset.nrMfeObserved??=e.instance);const s=new g.gm.MutationObserver(r=>{r.forEach(r=>{r.addedNodes.forEach(r=>{const n=1===r.nodeType?r:null;!i&&fe(n?.dataset,e)&&(s.disconnect(),s.observe(n,{childList:!0,subtree:!0}),i=!0,n.dataset.nrMfeObserved=e.instance),(e=>{try{return e?.textContent?.trim()||["img","video","canvas","svg"].includes(e?.nodeName?.toLowerCase())}catch(e){return!1}})(r)&&(i||pe(r,e))&&t(r,s)})})});return s.observe(n||g.gm.document,{childList:!0,subtree:!0}),s},me=(e,t,r)=>{try{const n=new g.gm.PerformanceObserver(e=>{e.getEntries().forEach(r)});return n.observe(t),e.push(n),n}catch(e){return null}};function ve(e,t){let r,n,i=!1;const s=e=>null==e?e:e-(t?.scriptStart||t?.registeredAt||0),a={fcp:{get value(){const e=s(r);return e>1e4?void 0:e},set value(e){i||(r=e)}},lcp:{get value(){if(void 0!==a.fcp.value)return s(n)},set value(e){i||(n=e)}},cls:{value:void 0},inp:{value:void 0},disconnect:()=>{}};if(!(e&&g.RI&&g.gm.MutationObserver&&g.gm.PerformanceObserver))return a;const o=[];setTimeout(()=>{r||a.disconnect()},1e4);const c=()=>{if(!i){if(null==r){const e=(0,_.t)();if(s(e)>1e4)return void a.disconnect();r=e}n??=(0,_.t)(),a.cls.value??=0}},d=ge(e,(e,t)=>{c(),t.disconnect()});o.push(d);let u=0,l=null;const f=new Set;try{l=new g.gm.ResizeObserver(e=>{i||e.forEach(e=>{try{const t=e.contentRect.width*e.contentRect.height;t>u&&(u=t,a.lcp.value=(0,_.t)()),l.unobserve(e.target)}catch(e){}})})}catch(e){}const h=ge(e,e=>{if(c(),l)try{const t=1===e.nodeType?e:e.parentElement;t&&!f.has(t)&&(f.add(t),"IMG"===t.tagName?t.complete?l.observe(t):t.addEventListener("load",()=>{l.observe(t)},{once:!0}):"VIDEO"===t.tagName?t.readyState>=2?l.observe(t):t.addEventListener("loadeddata",()=>{l.observe(t)},{once:!0}):l.observe(t))}catch(e){}});l&&o.push(l),o.push(h),me(o,{type:"layout-shift",buffered:!0},t=>{i||t.hadRecentInput||(t.sources||[]).some(r=>!!pe(r.node,e)&&(c(),a.cls.value+=t.value,!0))}),me(o,{type:"event",buffered:!0,durationThreshold:40},t=>{!i&&t.interactionId&&pe(t.target,e)&&(void 0===a.inp.value||t.duration>a.inp.value)&&(c(),a.inp.value=t.duration)});const p=["pointerdown","keydown"],m=()=>{p.forEach(e=>{g.gm.removeEventListener(e,v,{passive:!0})})};a.disconnect=()=>{i=!0,o.forEach(e=>{try{e?.disconnect()}catch(e){}}),m(),["visibilitychange","pagehide"].forEach(e=>{g.gm.removeEventListener(e,a.disconnect,{once:!0,passive:!0})})};const v=t=>{pe(t?.target,e)&&((()=>{try{h?.disconnect(),l?.disconnect()}catch(e){}})(),m())};p.forEach(e=>{g.gm.addEventListener(e,v,{passive:!0})}),["visibilitychange","pagehide"].forEach(e=>{g.gm.addEventListener(e,a.disconnect,{once:!0,passive:!0})});const y=g.gm.document?.querySelectorAll('[data-nr-mfe-id="'.concat(he(e.id),'"]'));return Array.from(y||[]).some(t=>fe(t.dataset,e))&&c(),a}var ye=r(9566),be=r(7560),Ee=r(9119);const we=["entry","scripts","all"],Re=["name","id","type"],Te=new Map([[ce,"addPageAction"],[oe,"log"],[de,"measure"],[ie,"noticeError"],[ue,"recordCustomEvent"]]),Ae={experimental:(0,C.J)(()=>(0,l.R)(54,"newrelic.register")),disabled:(0,C.J)(()=>(0,l.R)(55)),invalidTarget:(0,C.J)(e=>(0,l.R)(48,e)),deregistered:(0,C.J)(()=>(0,l.R)(68)),invalidTimingMethod:(0,C.J)(e=>(0,l.R)(80,e)),duplicateName:(0,C.J)(e=>(0,l.R)(81,e)),duplicateId:(0,C.J)(e=>(0,l.R)(82,e))};function Se(e){(0,N.Y)(k.eY,function(t){return xe(e,t)},e)}function xe(e,r){Ae.experimental(),r||={},r.instance=(0,ye.LA)(8),r.type=w.f.MFE,r.licenseKey||=e.info.licenseKey,r.blocked=!1,("object"!=typeof r.tags||null===r.tags||Array.isArray(r.tags))&&(r.tags={}),r.parent??={get id(){return e.runtime.appMetadata.agents?.[0].entityGuid},type:w.f.BA},r.manifest=(0,be.N)(r.manifest),void 0===r.timingMethod||we.includes(r.timingMethod)||(Ae.invali
29dTimingMethod(r.timingMethod),r.timingMethod=void 0);const n=(0,le.Qr)(r);r.manifest&&(0,le.xo)(n,r);const i=ve(r,n),s=(0,Ee.L)(""+location),a={};Object.prototype.hasOwnProperty.call(r,"attributes")||Object.defineProperty(r,"attributes",{get:()=>({...a,"source.id":r.id,"source.name":r.name,"source.type":r.type,"parent.type":r.parent?.type||w.f.BA,"parent.id":r.parent?.id})}),Object.entries(r.tags).forEach(([e,t])=>{Re.includes(e)||(a["source.".concat(e)]=t)});let o=()=>{};const c=e.runtime.registeredEntities,d=e=>{r.blocked=!0,o=e};function u(e){return"string"==typeof e&&!!e.trim()&&e.trim().length<501}e.init.api.register.enabled||d(Ae.disabled),u(r.id)&&u(r.name)||d(()=>Ae.invalidTarget(r)),c.forEach(e=>{try{const{name:t,id:n}=e.metadata.target;t===r.name&&n!==r.id&&Ae.duplicateName(r),n===r.id&&t!==r.name&&Ae.duplicateId(r)}catch(e){}});const f={addPageAction:(t,n={})=>m(ce,[t,{...a,...n},e],r),deregister:()=>{p(),d(Ae.deregistered)},log:(t,n={})=>m(oe,[t,{...n,customAttributes:{...a,...n.customAttributes||{}}},e],r),measure:(t,n={})=>m(de,[t,{...n,customAttributes:{...a,...n.customAttributes||{}}},e],r),noticeError:(t,n={})=>m(ie,[t,{...a,...n},e],r),recordCustomEvent:(t,n={})=>m(ue,[t,{...a,...n},e],r),setApplicationVersion:e=>g("application.version",e),setCustomAttribute:(e,t)=>g(e,t),setUserId:e=>g("enduser.id",e),metadata:{get customAttributes(){return a},target:r,timings:n,vitals:i,events:{latestTimestamp:void 0}}},h=()=>(r.blocked&&o(),r.blocked);function p(){if(n.reportedAt)return;n.reportedAt=(0,_.t)(),i.disconnect(),n.fcp=i.fcp,n.lcp=i.lcp,n.cls=i.cls,n.inp=i.inp;const e=n.fetchEnd-n.fetchStart,t=n.scriptEnd-n.scriptStart,r={assetUrl:n.asset,assetType:n.type,registerUrl:s,deregisterUrl:(0,Ee.L)(""+location),pageUrl:void 0,currentUrl:void 0,timeAlive:n.reportedAt-n.registeredAt,timeToBeRequested:n.fetchStart,timeToExecute:t,timeToFetch:e,timeToLoad:e+t,t
29imeToRegister:n.registeredAt,totalWeight:n.totalWeight,...void 0!==n.renderBlocking&&{renderBlocking:n.renderBlocking},...i.fcp.value>=0&&{"vitals.fcp.value":i.fcp.value},...i.lcp.value>=0&&{"vitals.lcp.value":i.lcp.value},...i.cls.value>=0&&{"vitals.cls.value":i.cls.value},...i.inp.value>=0&&{"vitals.inp.value":i.inp.value}};f.recordCustomEvent("MicroFrontEndTiming",r)}h()||(c.push(f),(0,V.G)(p));const g=(e,t)=>{h()||(a[e]=t)},m=(r,n,i)=>{if(h()&&r!==xe)return;const s=f.metadata.events.latestTimestamp??(0,_.t)();f.metadata.events.latestTimestamp=void 0;const a=Te.get(r)||"unknown";(0,S.p)(q.xV,["API/register/".concat(a,"/called")],void 0,t.K7.metrics,e.ee);try{return r(...n,i,s)}catch(e){(0,l.R)(50,e)}};return f}class Oe extends W{static featureName=Z.T;constructor(e){var t;super(e,Z.T),t=e,(0,N.Y)(k.o5,(e,r)=>ie(e,r,t),t),function(e){(0,N.Y)(k.bt,function(t){e.runtime.onerror=t},e)}(e),function(e){let t=0;(0,N.Y)(k.k6,function(e,r){++t>10||(this.runtime.releaseIds[e.slice(-200)]=(""+r).slice(-200))},e)}(e),Se(e);try{this.removeOnAbort=new AbortController}catch(e){}this.ee.on("internal-error",(t,r)=>{this.abortHandler&&(0,S.p)("ierr",[ee(t),(0,_.t)(),!0,{},e.runtime.isRecording,r],void 0,this.featureName,this.ee)}),g.gm.addEventListener("unhandledrejection",t=>{this.abortHandler&&(0,S.p)("err",[te(t),(0,_.t)(),!1,{unhandledPromiseRejection:1},e.runtime.isRecording],void 0,this.featureName,this.ee)},(0,J.jT)(!1,this.removeOnAbort?.signal)),g.gm.addEventListener("error",t=>{this.abortHandler&&(0,S.p)("err",[re(t),(0,_.t)(),!1,{},e.runtime.isRecording],void 0,this.featureName,this.ee)},(0,J.jT)(!1,this.removeOnAbort?.signal)),this.abortHandler=this.#n,this.importAggregator(e,()=>r.e(478).then(r.bind(r,9377)))}#n(){this.removeOnAbort?.abort(),this.abortHandler=void 0}}var _e=r(8990);let ke=1;function Ne(e){const t=typeof e;return!e||"object"!==t&&"function"!==t?-1:e===g.gm?0:(0,_e.I)(e,"nr@id",function(){return ke++})}function Le(e){if("string"==typeof e)return e.length;if("object"==typeof e){if("undefined"!=typeof ArrayBuffer&&e instanceof ArrayBuffer&&e.byteLength)return e.byteLength;if("undefined"!=typeof Blob&&e instanceof Blob&&e.size)return e.size;if(!("undefined"!=typeof FormData&&e instanceof FormData))try{return(0,X.A)(e).length}catch(e){return}}}var Me=r(8139),Pe=r(3434),Ie=r(5732);const je={},Ce=["open","send","setRequestHeader"];function De(e,t){var r=e||R.ee;const n=function(e){return(e||R.ee).get("xhr")}(r);if(void 0===g.gm.XMLHttpRequest)return n;if(je[n.debugId]++)return n;je[n.debugId]=1,(0,Me.u)(r,t);var i=(0,Pe.YM)(n,void 0,t),s=g.gm.XMLHttpRequest,a=g.gm.MutationObserver,o=g.gm.Promise,c=g.gm.setInterval,d="readystatechange",u=["onload","onerror","onabort","onloadstart","onloadend","onprogress","ontimeout"],f=[],h=g.gm.XMLHttpRequest=function(e){const r=new s(e),a=n.context(r);a.targets=(0,Ie.$5)(t);try{n.emit("new-xhr",[r],a),r.addEventListener(d,(o=a,function(){var e=this;e.readyState>3&&!o.resolved&&(o.resolved=!0,n.emit("xhr-resolved",[],e)),i.inPlace(e,u,"fn-",E)}),(0,J.jT)(!1))}catch(e){(0,l.R)(15,e);try{n.emit("internal-error",[e])}catch(e){}}var o;return r};function p(e,t){i.inPlace(t,["onreadystatechange"],"fn-",E)}if(function(e,t){for(var r in e)t[r]=e[r]}(s,h),h.prototype=s.prototype,i.inPlace(h.prototype,Ce,"-xhr-",E),n.on("send-xhr-start",function(e,t){p(e,t),function(e){f.push(e),a&&(m?m.then(b):c?c(b):(v=-v,y.data=v))}(t)}),n.on("open-xhr-start",p),a){var m=o&&o.resolve();if(!c&&!o){var v=1,y=document.createTextNode(v);new a(b).observe(y,{characterData:!0})}}else r.on("fn-end",function(e){e[0]&&e[0].type===d||b()});function b(){for(var e=0;e<f.length;e++)p(0,f[e]);f.length&&(f=[])}function E(e,t){return t}return n}var Be="fetch-",He=Be+"body-",We=["arrayBuffer","blob","json","text","formData"],Ue=g.gm.Request,Ke=g.gm.Response,Fe="prototype";const Ve={};function ze(e,t){const r=function(e){return(e||R.ee).get("fetch")}(e);if(!(Ue&&Ke&&g.gm.fetch))return r;if(Ve[r.debugId]++)return r;function n(e,n,i){var s=e[n];"function"==typeof s&&(e[n]=function(){var e=[...arguments];const n={},a=(0,Ie.$5)(t);var o;r.emit(i+"before-start",[e],n),n[R.P]&&n[R.P].dt&&(o=n[R.P].dt);var c=s.apply(this,e);return r.emit(i+"start",[e,o],c),c.then(function(e){return r.emit(i+"end",[null,e,a],c),e},function(e){throw r.emit(i+"end",[e,void 0,a],c),e})})}
29return Ve[r.debugId]=1,We.forEach(e=>{n(Ue[Fe],e,He),n(Ke[Fe],e,He)}),n(g.gm,"fetch",Be),r.on(Be+"end",function(e,n,i){var s=this;if(s.targets=i||[t.runtime.v2Target],n){var a=n.headers.get("content-length");null!==a&&(s.rxSize=a),r.emit(Be+"done",[null,n],s)}else r.emit(Be+"done",[e],s)}),r}var Ge=r(7485);class qe{constructor(e){this.agentRef=e}generateTracePayload(e){const t=this.agentRef.loader_config;if(!this.shouldGenerateTrace(e)||!t)return null;var r=(t.accountID||"").toString()||null,n=(t.agentID||"").toString()||null,i=(t.trustKey||"").toString()||null;if(!r||!n)return null;var s=(0,ye.ZF)(),a=(0,ye.el)(),o=Date.now(),c={spanId:s,traceId:a,timestamp:o};return(e.sameOrigin||this.isAllowedOrigin(e)&&this.useTraceContextHeadersForCors())&&(c.traceContextParentHeader=this.generateTraceContextParentHeader(s,a),c.traceContextStateHeader=this.generateTraceContextStateHeader(s,o,r,n,i)),(e.sameOrigin&&!this.excludeNewrelicHeader()||!e.sameOrigin&&this.isAllowedOrigin(e)&&this.useNewrelicHeaderForCors())&&(c.newrelicHeader=this.generateTraceHeader(s,a,o,r,n,i)),c}generateTraceContextParentHeader(e,t){return"00-"+t+"-"+e+"-01"}generateTraceContextStateHeader(e,t,r,n,i){return i+"@nr=0-1-"+r+"-"+n+"-"+e+"----"+t}generateTraceHeader(e,t,r,n,i,s){if(!("function"==typeof g.gm?.btoa))return null;var a={v:[0,1],d:{ty:"Browser",ac:n,ap:i,id:e,tr:t,ti:r}};return s&&n!==s&&(a.d.tk=s),btoa((0,X.A)(a))}shouldGenerateTrace(e){return this.agentRef.init?.distributed_tracing?.enabled&&this.isAllowedOrigin(e)}isAllowedOrigin(e){var t=!1;const r=this.agentRef.init?.distributed_tracing;if(e.sameOrigin)t=!0;else if(r?.allowed_origins instanceof Array)for(var n=0;n<r.allowed_origins.length;n++){var i=(0,Ge.D)(r.allowed_origins[n]);if(e.hostname===i.hostname&&e.protocol===i.protocol&&e.port===i.port){t=!0;break}}return t}excludeNewrelicHeader(){var e=this.agentRef.init?.distributed_tracing;return!!e&&!!e.exclude_newrelic_header}useNewrelicHeaderForCors(){var e=this.agentRef.init?.distributed_tracing;return!!e&&!1!==e.cors_use_newrelic_header}useTraceContextHeadersForCors(){var e=this.agentRef.init?.distributed_tracing;return!!e&&!!e.cors_use_tracecontext_headers}}var Ye=r(7295);function Ze(e){return"string"==typeof e?e:e instanceof(0,i.dV)().o.REQ?e.url:g.gm?.URL&&e instanceof URL?e.href:void 0}function $e(e,t){var r=(0,Ge.D)(t),n=e.params||e;n.hostname=r.hostname,n.port=r.port,n.protocol=r.protocol,n.host=r.hostname+":"+r.port,n.pathname=r.pathname,e.parsedOrigin=r,e.sameOrigin=r.sameOrigin}var Je=["load","error","abort","timeout"],Xe=Je.length,Qe=(0,i.dV)().o.REQ,et=(0,i.dV)().o.XHR;const tt="X-NewRelic-App-Data",rt="internal-error";class nt extends W{static featureName=c.TZ;constructor(e){super(e,c.TZ),this.dt=new qe(e),this.handler=(e,t,r,n)=>(0,S.p)(e,t,r,n,this.ee);try{const e={xmlhttprequest:"xhr",fetch:"fetch",beacon:"beacon"};g.gm?.performance?.getEntriesByType("resource").forEach(r=>{if(r.initiatorType in e&&0!==r.responseStatus){const n={status:r.responseStatus},i={rxSize:r.transferSize,duration:Math.floor(r.duration),cbTime:0};$e(n,r.name),this.handler("xhr",[n,i,r.startTime,r.responseEnd,e[r.initiatorType]],void 0,t.K7.ajax)}})}catch(e){}ze(this.ee,e),De(this.ee,e),function(e,r,n,i){const s=[c.mo.ALL,c.mo.FAILURES].includes(e.init.ajax?.capture_payloads);function a(e){var t=this;t.totalCbs=0,t.called=0,t.cbTime=0,t.end=A,t.ended=!1,t.xhrGuids={},t.lastSize=null,t.loadCaptureCalled=!1,t.params=this.params||{},t.metrics=this.metrics||{},t.latestLongtaskEnd=0,e.addEventListener("load",function(r){O(t,e)},(0,J.jT)(!1)),g.lR||e.addEventListener("progress",function(e){t.lastSize=e.loaded},(0,J.jT)(!1))}function o(e){this.params={method:e[0]},$e(this,e[1]),this.metrics={}}function d(t,r){e.loader_config.xpid&&this.sameOrigin&&r.setRequestHeader("X-NewRelic-ID",e.loader_config.xpid);var n=i.generateTracePayload(this.parsedOrigin);if(n){var s=!1;n.newrelicHeader&&(r.setRequestHeader("newrelic",n.newrelicHeader),s=!0),n.traceContextParentHeader&&(r.setRequestHeader("traceparent",n.traceContextParentHeader),n.traceContextStateHeader&&r.setRequestHeader("tracestate",n.traceContextStateHeader),s=!0),s&&(this.dt=n)}}function u(e,t){s&&e.length>=2&&(this.requestHeaders??={},this.requestHeaders[e[0].toLowerCase()]=e[1])}function l(e,t){var n=this.metrics,i=e[0],s=this;if(n&&i){var a=Le(i);a&&(n.txSize=a)}this.startTime=(0,_.t)(),this.requestBody=i,this.listener=function(e){try{"abort"!==e.type||s.loadCaptureCalled||(s.params.aborted=!0),("load"
29!==e.type||s.called===s.totalCbs&&(s.onloadCalled||"function"!=typeof t.onload)&&"function"==typeof s.end)&&s.end(t)}catch(e){try{r.emit(rt,[e])}catch(e){}}};for(var o=0;o<Xe;o++)t.addEventListener(Je[o],this.listener,(0,J.jT)(!1))}function f(e,t,r){this.cbTime+=e,t?this.onloadCalled=!0:this.called+=1,this.called!==this.totalCbs||!this.onloadCalled&&"function"==typeof r.onload||"function"!=typeof this.end||this.end(r)}function h(e,t){var r=""+Ne(e)+!!t;this.xhrGuids&&!this.xhrGuids[r]&&(this.xhrGuids[r]=!0,this.totalCbs+=1)}function p(e,t){var r=""+Ne(e)+!!t;this.xhrGuids&&this.xhrGuids[r]&&(delete this.xhrGuids[r],this.totalCbs-=1)}function m(){this.endTime=(0,_.t)()}function v(e,t){t instanceof et&&"load"===e[0]&&r.emit("xhr-load-added",[e[1],e[2]],t)}function y(e,t){t instanceof et&&"load"===e[0]&&r.emit("xhr-load-removed",[e[1],e[2]],t)}function b(e,t,r){t instanceof et&&("onload"===r&&(this.onload=!0),("load"===(e[0]&&e[0].type)||this.onload)&&(this.xhrCbStart=(0,_.t)()))}function E(e,t){this.xhrCbStart&&r.emit("xhr-cb-time",[(0,_.t)()-this.xhrCbStart,this.onload,t],t)}function w(e){var t,r=e[1]||{};if("string"==typeof e[0]?0===(t=e[0]).length&&g.RI&&(t=""+g.gm.location.href):e[0]&&e[0].url?t=e[0].url:g.gm?.URL&&e[0]&&e[0]instanceof URL?t=e[0].href:"function"==typeof e[0].toString&&(t=e[0].toString()),"string"==typeof t&&0!==t.length){t&&(this.parsedOrigin=(0,Ge.D)(t),this.sameOrigin=this.parsedOrigin.sameOrigin);var n=i.generateTracePayload(this.parsedOrigin);if(n&&(n.newrelicHeader||n.traceContextParentHeader))if(e[0]&&e[0].headers)o(e[0].headers,n)&&(this.dt=n);else{var s={};for(var a in r)s[a]=r[a];s.headers=new Headers(r.headers||{}),o(s.headers,n)&&(this.dt=n),e.length>1?e[1]=s:e.push(s)}}function o(e,t){var r=!1;return t.newrelicHeader&&(e.set("newrelic",t.newrelicHeader),r=!0),t.traceContextParentHeader&&(e.set("traceparent",t.traceContextParentHeader),t.traceContextStateHeader&&e.set("tracestate",t.traceContextStateHeader),r=!0),r}}function R(e,t){this.params={},this.metrics={},this.startTime=(0,_.t)(),this.dt=t;let[r,n={}]=e;$e(this,Ze(r));const i=(""+(r&&r instanceof Qe&&r.method||n.method||"GET")).toUpperCase();this.params.method=i,this.txSize=Le(n.body||r?.body)||0;try{var a=n.headers||r?.headers;if(s&&a)if(this.requestHeaders??={},a instanceof Headers)a.forEach(function(e,t){this.requestHeaders[t.toLowerCase()]=e}.bind(this));else if("object"==typeof a)for(var o in a)this.requestHeaders[o.toLowerCase()]=a[o]}catch(e){}this.requestBody=n.body||r?.body}function T(e,t){if(this.endTime=(0,_.t)(),this.params||(this.params={}),(0,Ye.iW)(this.params))return;this.params.status=t?t.status:0;const n=()=>{const e=+this.rxSize,t=null==this.rxSize||isNaN(e)?void 0:e,r={txSize:this.txSize,rxSize:t,duration:this.endTime-this.startTime},n=[this.params,r,this.startTime,this.endTime,"fetch"];this.targets.forEach(e=>x(n,this,e))};t&&s?t.clone().text().then(e=>{this.responseBody=e,this.rxSize&&"0"!==this.rxSize&&0!==this.rxSize||void 0===e||0===this.params.status||(this.rxSize=Le(e)),t?.headers&&(this.responseHeaders={},t.headers.forEach(function(e,t){this.responseHeaders[t.toLowerCase()]=e}.bind(this)))}).catch(e=>{r.emit(rt,[e])}).finally(()=>{n()}):n()}function A(e){const t=this.params,n=this.metrics;if(this.ended)return;this.ended=!0;for(let t=0;t<Xe;t++)e.removeEventListener(Je[t],this.listener,!1);if(t.aborted)return;if((0,Ye.iW)(t))return;if(n.duration=this.endTime-this.startTime,this.loadCaptureCalled||4!==e.readyState?null==t.status&&(t.status=0):O(this,e),n.cbTime=this.cbTime,s){try{this.responseBody=e.responseText}catch(t){this.responseBody=e.response}if((!n.rxSize||0===n.rxSize)&&void 0!==this.responseBody&&0!==t.status){const e=Le(this.responseBody);void 0!==e&&(n.rxSize=e)}try{this.responseHeaders=function(e){const t={};return e?(e.split("\r\n").forEach(function(e){const r=e.indexOf(": ");if(r>0){const n=e.substring(0,r),i=e.substring(r+2);t[n.toLowerCase()]=i}}),t):t}(e.getAllResponseHeaders())}catch(e){r.emit(rt,[e])}}const i=[t,n,this.startTime,this.endTime,"xhr"];this.targets.forEach(e=>x(i,this,e))}function x(e,r,i){n("xhr",[...e,i],r,t.K7.ajax)}function O(e,n){e.params.status=n.status;var i=function(e,t){var r=e.responseType;return"json"===r&&null!==t?t:"arraybuffer"===r||"blob"===r||"json"===r?Le(e.response):"text"===r||""===r||void 0===r?Le(e.responseText):void 0}(n,e.lastSize);if(void 0!==i&&0!==n.status&&(e.metrics.rxSize=i),e.sameOrigin&&n.getAllResponseHeaders().indexOf(tt)>=0){var s=n.getResponseHeader(tt);s&&((0,S.p)("sm",["Ajax/CrossApplicationTracing/Header/Seen"],void 0,t.K7.metrics,r),e.params.cat=s.split(", ").pop())}e.loadCaptureCalled=!0}r.on("new-xhr",a),r.on("open-xhr-start",o),r.on("open-xhr-end",d),r.on("send-xhr-start",l),r.on("setRequestHeader-xhr-start",u),r.on("xhr-cb-time",f),r.on("xhr-load-added",h),r.on("xhr-load-removed",p),r.on("xhr-resolved",m),r.on("addEventListener-end",v),r.on("removeEventListener-end",y),r.on("fn-end",E),r.on("fetch-before-start",w),r.on("fetch-start",R),r.on("fn-start",b),r.on("fetch-done",T)}(e,this.ee,this.handler,this.dt),this.importAggregator(e,()=>r.e(478).then(r.bind(r,3845)))}}const it={},st=["pushState","replaceState"];function at(e,t){const r=function(e){return(e||R.ee).get("history")}(e);return!g.RI||it[r.debugId]++||(it[r.debugId]=1,(0,Pe.YM)(r,void 0,t).inPlace(window.history,st,"-")),r}var ot=r(3738);function ct(e){(0,N.Y)(k.BL,function(r=Date.now()){const n=r-g.WN;n<0&&(0,l.R)(62,r),(0,S.p)(q.XG,[k.BL,{time:n}],void 0,t.K7.metrics,e.ee),e.addToTrace({name:k.BL,start:r,origin:"nr"}),(0,S.p)("api-"+k.hG,[n,k.BL],void 0,t.K7.genericEvents,e.ee)},e)}const{He:dt,bD:ut,d3:lt,Kp:ft,TZ:ht,Lc:pt,uP:gt,Rz:mt}=ot;class vt extends W{static featureName=ht;constructor(e){var n;super(e,ht),n=e,(0,N.Y)(k.U2,function(e){if(!(e&&"object"==typeof e&&e.name&&e.start))return;const r={n:e.name,s:e.start-g.WN,e:(e.end||e.start)-g.WN,o:e.origin||"",t:"api"};r.s<0||r.e<0||r.e<r.s?(0,l.R)(61,{start:r.s,end:r.e}):(0,S.p)("bstApi",[r],void 0,t.K7.sessionTrace,n.ee)},n),ct(e);
29if(!(0,j.V)(e.init))return void this.deregisterDrain();const i=this.ee;let s;at(i,e),this.eventsEE=(0,Me.u)(i,e),this.eventsEE.on(gt,function(e,t){this.bstStart=(0,_.t)()}),this.eventsEE.on(pt,function(e,r){(0,S.p)("bst",[e[0],r,this.bstStart,(0,_.t)()],void 0,t.K7.sessionTrace,i)}),i.on(mt+lt,function(e){this.time=(0,_.t)(),this.startPath=location.pathname+location.hash}),i.on(mt+ft,function(e){(0,S.p)("bstHist",[location.pathname+location.hash,this.startPath,this.time],void 0,t.K7.sessionTrace,i)});try{s=new PerformanceObserver(e=>{const r=e.getEntries();(0,S.p)(dt,[r],void 0,t.K7.sessionTrace,i)}),s.observe({type:ut,buffered:!0})}catch(e){}this.importAggregator(e,()=>r.e(478).then(r.bind(r,6974)),{resourceObserver:s})}}var yt=r(733),bt=r(6344);class Et extends W{static featureName=bt.TZ;#i;recorder;constructor(e){var n;let i;super(e,bt.TZ),n=e,(0,N.Y)(k.CH,function(){(0,S.p)(k.CH,[],void 0,t.K7.sessionReplay,n.ee)},n),function(e){(0,N.Y)(k.Tb,function(){(0,S.p)(k.Tb,[],void 0,t.K7.sessionReplay,e.ee)},e)}(e);const s="".concat(u.Wt).concat((0,yt.Y)(e.info.licenseKey,e.info.applicationID));try{i=JSON.parse(localStorage.getItem(s))}catch(e){}(0,I.SR)(e.init)&&this.ee.on(k.CH,()=>this.#s()),this.#a(i)&&this.importRecorder().then(e=>{e.startRecording(bt.Qb.PRELOAD,i?.sessionReplayMode)}),this.abortHandler=this.#n,this.importAggregator(this.agentRef,()=>r.e(478).then(r.bind(r,6167)),this),this.ee.on("err",e=>{this.blocked||this.agentRef.runtime.isRecording&&(this.errorNoticed=!0,(0,S.p)(bt.Vh,[e],void 0,this.featureName,this.ee))})}#a(e){return e&&(e.sessionReplayMode===u.g.FULL||e.sessionReplayMode===u.g.ERROR)||(0,I.Aw)(this.agentRef.init)}importRecorder(){return this.recorder?Promise.resolve(this.recorder):(this.#i??=Promise.all([r.e(478),r.e(249)]).then(r.bind(r,4866)).then(({Recorder:e})=>(this.recorder=new e(this),this.recorder)).catch(e=>{throw this.ee.emit("internal-error",[e]),this.blocked=!0,e}),this.#i)}#s(){this.blocked||(this.featAggregate?this.featAggregate.mode!==u.g.FULL&&this.featAggregate.initializeRecording(u.g.FULL,!0,bt.Qb.API):this.importRecorder().then(()=>{this.recorder.startRecording(bt.Qb.API,u.g.FULL)}))}#n(){this.recorder?.stopRecording()}}var wt=r(3962);class Rt extends W{static featureName=wt.TZ;constructor(e){if(super(e,wt.TZ),function(e){const r=e.ee.get("tracer");function n(){}(0,N.Y)(k.dT,function(e){return(new n).get("object"==typeof e?e:{})},e);const i=n.prototype={createTracer:function(n,i){var s={},a=this,o="function"==typeof i;return(0,S.p)(q.xV,["API/createTracer/called"],void 0,t.K7.metrics,e.ee),function(){if(r.emit((o?"":"no-")+"fn-start",[(0,_.t)(),a,o],s),o)try{return i.apply(this,arguments)}catch(e){const t="string"==typeof e?new Error(e):e;throw r.emit("fn-err",[arguments,this,t],s),t}finally{r.emit("fn-end",[(0,_.t)()],s)}}}};["actionText","setName","setAttribute","save","ignore","onEnd","getContext","end","get"].forEach(r=>{N.Y.apply(this,[r,function(){return(0,S.p)(k.hw+r,[performance.now(),...arguments],this,t.K7.softNav,e.ee),this},e,i])}),(0,N.Y)(k.PA,function(){(0,S.p)(k.hw+"routeName",[performance.now(),...arguments],void 0,t.K7.softNav,e.ee)},e)}(e),!g.RI||!(0,i.dV)().o.MO)return;const n=at(this.ee,e);try{this.removeOnAbort=new AbortController}catch(e){}wt.tC.forEach(e=>{(0,J.sp)(e,e=>{c(e)},!0,this.removeOnAbort?.signal)}
29);const s=()=>(0,S.p)("newURL",[(0,_.t)(),""+window.location],void 0,this.featureName,this.ee);n.on("pushState-end",s),n.on("replaceState-end",s),(0,J.sp)(wt.OV,e=>{c(e),(0,S.p)("newURL",[e.timeStamp,""+window.location],void 0,this.featureName,this.ee)},!0,this.removeOnAbort?.signal);let a=!1;const o=new((0,i.dV)().o.MO)((e,t)=>{a||(a=!0,requestAnimationFrame(()=>{(0,S.p)("newDom",[(0,_.t)()],void 0,this.featureName,this.ee),a=!1}))}),c=(0,C.s)(e=>{"loading"!==document.readyState&&((0,S.p)("newUIEvent",[e],void 0,this.featureName,this.ee),o.observe(document.body,{attributes:!0,childList:!0,subtree:!0,characterData:!0}))},100,{leading:!0});this.abortHandler=function(){this.removeOnAbort?.abort(),o.disconnect(),this.abortHandler=void 0},this.importAggregator(e,()=>r.e(478).then(r.bind(r,4393)),{domObserver:o})}}var Tt=r(981);const At={},St=new Set;function xt(e){return"string"==typeof e?{type:"string",size:(new TextEncoder).encode(e).length}:e instanceof ArrayBuffer?{type:"ArrayBuffer",size:e.byteLength}:e instanceof Blob?{type:"Blob",size:e.size}:e instanceof DataView?{type:"DataView",size:e.byteLength}:ArrayBuffer.isView(e)?{type:"TypedArray",size:e.byteLength}:{type:"unknown",size:0}}class Ot{constructor(e,t){this.timestamp=(0,_.t)(),this.currentUrl=(0,Ee.L)(window.location.href),this.socketId=(0,ye.LA)(8),this.requestedUrl=(0,Ee.L)(e),this.requestedProtocols=Array.isArray(t)?t.join(","):t||"",this.openedAt=void 0,this.protocol=void 0,this.extensions=void 0,this.binaryType=void 0,this.messageOrigin=void 0,this.messageCount=0,this.messageBytes=0,this.messageBytesMin=0,this.messageBytesMax=0,this.messageTypes=void 0,this.sendCount=0,this.sendBytes=0,this.sendBytesMin=0,this.sendBytesMax=0,this.sendTypes=void 0,this.closedAt=void 0,this.closeCode=void 0,this.closeReason="unknown",this.closeWasClean=void 0,this.connectedDuration=0,this.hasErrors=void 0}}class _t extends W{static featureName=o.TZ;constructor(e){super(e,o.TZ);const n=e.init.feature_flags.includes("websockets")||e.init.web_sockets?.enabled,s=!e.init.feature_flags.includes("no_spv"),a=[e.init.page_action.enabled,e.init.performance.capture_marks,e.init.performance.capture_measures,e.init.performance.resources.enabled,e.init.user_actions.enabled,n,s];var c;let d;if(c=e,(0,N.Y)(k.hG,(e,t)=>ce(e,t,c),c),function(e){(0,N.Y)(k.fF,(t,r)=>ue(t,r,e),e)}(e),ct(e),Se(e),function(e){(0,N.Y)(k.V1,(t,r)=>de(t,r,e),e)}(e),this.removeOnAbort=new AbortController,this.abortHandler=()=>{this.removeOnAbort.abort(),this.abortHandler=void 0},n){const u=function(e,t){if(!(0,i.dV)().o.WS)return e;const r=e.get("websockets");if(At[r.debugId]++)return r;At[r.debugId]=1,(0,V.G)(()=>{const e=(0,_.t)();St.forEach(t=>{t.nrData.closedAt=e,t.nrData.closeCode=1001,t.nrData.closeReason="Page navigating away",t.nrData.closeWasClean=!1,t.nrData.openedAt&&(t.nrData.connectedDuration=e-t.nrData.openedAt),r.emit("ws",[t.nrData,t.targets],t)})});
29class n extends WebSocket{static name=Tt.R.WS;static toString(){return"function WebSocket() { [native code] }"}toString(){return"[object WebSocket]"}get[Symbol.toStringTag](){return n.name}#o(e){(e.__newrelic??={}).socketId=this.nrData.socketId,this.nrData.hasErrors??=!0}constructor(...e){super(...e),this.nrData=new Ot(e[0],e[1]),this.targets=(0,Ie.$5)(t),this.addEventListener("open",()=>{this.nrData.openedAt=(0,_.t)(),["protocol","extensions","binaryType"].forEach(e=>{this.nrData[e]=this[e]}),St.add(this)}),this.addEventListener("message",e=>{const{type:t,size:r}=xt(e.data);this.nrData.messageOrigin??=(0,Ee.L)(e.origin),this.nrData.messageCount++,this.nrData.messageBytes+=r,this.nrData.messageBytesMin=Math.min(this.nrData.messageBytesMin||1/0,r),this.nrData.messageBytesMax=Math.max(this.nrData.messageBytesMax,r),(this.nrData.messageTypes??"").includes(t)||(this.nrData.messageTypes=this.nrData.messageTypes?"".concat(this.nrData.messageTypes,",").concat(t):t)}),this.addEventListener("close",e=>{this.nrData.closedAt=(0,_.t)(),this.nrData.closeCode=e.code,e.reason&&(this.nrData.closeReason=e.reason),this.nrData.closeWasClean=e.wasClean,this.nrData.connectedDuration=this.nrData.closedAt-this.nrData.openedAt,St.delete(this),r.emit("ws",[this.nrData,this.targets],this)})}addEventListener(e,t,...r){const n=this,i="function"==typeof t?function(...e){try{return t.apply(this,e)}catch(e){throw n.#o(e),e}}:t?.handleEvent?{handleEvent:function(...e){try{return t.handleEvent.apply(t,e)}catch(e){throw n.#o(e),e}}}:t;return super.addEventListener(e,i,...r)}send(e){if(this.readyState===WebSocket.OPEN){const{type:t,size:r}=xt(e);this.nrData.sendCount++,this.nrData.sendBytes+=r,this.nrData.sendBytesMin=Math.min(this.nrData.sendBytesMin||1/0,r),this.nrData.sendBytesMax=Math.max(this.nrData.sendBytesMax,r),(this.nrData.sendTypes??"").includes(t)||(this.nrData.sendTypes=this.nrData.sendTypes?"".concat(this.nrData.sendTypes,",").concat(t):t)}try{return super.send(e)}catch(e){throw this.#o(e),e}}close(...e){try{super.close(...e)}catch(e){throw this.#o(e),e}}}return g.gm.WebSocket=n,r}(this.ee,e);u.on("ws",(e,t)=>{(0,S.p)("ws-complete",[e,t],void 0,this.featureName,this.ee)})}if(s){if("function"==typeof g.gm.ReportingObserver){const l=new g.gm.ReportingObserver(e=>{e.forEach(e=>{(0,S.p)("spv",[kt(e),(0,_.t)()],void 0,t.K7.genericEvents,this.ee)}),l.disconnect()},{types:["csp-violation"],buffered:!0});l.observe()}g.gm.addEventListener("securitypolicyviolation",e=>{(0,S.p)("spv",[kt(e),e.timeStamp],void 0,t.K7.genericEvents,this.ee)},(0,J.jT)(!1,this.removeOnAbort.signal))}if(g.RI){if(ze(this.ee,e),De(this.ee,e),d=at(this.ee,e),e.init.user_actions.enabled){function f(t){const r=(0,Ge.D)(t);return e.beacons.includes(r.hostname+":"+r.port)}function h(){d.emit("navChange")}o.Zp.forEach(e=>(0,J.sp)(e,e=>(0,S.p)("ua",[e],void 0,this.featureName,this.ee),!0)),o.qN.forEac
29h(e=>{const t=(0,C.s)(e=>{(0,S.p)("ua",[e],void 0,this.featureName,this.ee)},500,{leading:!0});(0,J.sp)(e,t)}),g.gm.addEventListener("error",()=>{(0,S.p)("uaErr",[],void 0,t.K7.genericEvents,this.ee)},(0,J.jT)(!1,this.removeOnAbort.signal)),this.ee.on("open-xhr-start",(e,r)=>{f(e[1])||r.addEventListener("readystatechange",()=>{2===r.readyState&&(0,S.p)("uaXhr",[],void 0,t.K7.genericEvents,this.ee)},(0,J.jT)(void 0,this.removeOnAbort.signal))}),this.ee.on("fetch-start",e=>{e.length>=1&&!f(Ze(e[0]))&&(0,S.p)("uaXhr",[],void 0,t.K7.genericEvents,this.ee)}),d.on("pushState-end",h),d.on("replaceState-end",h),window.addEventListener("hashchange",h,(0,J.jT)(!0,this.removeOnAbort.signal)),window.addEventListener("popstate",h,(0,J.jT)(!0,this.removeOnAbort.signal))}if(e.init.performance.resources.enabled&&g.gm.PerformanceObserver?.supportedEntryTypes.includes("resource")){new PerformanceObserver(e=>{e.getEntries().forEach(e=>{(0,S.p)("browserPerformance.resource",[e],void 0,this.featureName,this.ee)})}).observe({type:"resource",buffered:!0})}}a.some(e=>e)?this.importAggregator(e,()=>r.e(478).then(r.bind(r,8019))):this.deregisterDrain()}}function kt(e){const t=e.body??e;return{blockedUrl:t.blockedURL??e.blockedURI,documentUrl:t.documentURL??e.documentURI,effectiveDirective:t.effectiveDirective,originalPolicy:t.originalPolicy,sourceFile:t.sourceFile,statusCode:t.statusCode,lineNumber:t.lineNumber,columnNumber:t.columnNumber,disposition:"reporting"===t.disposition?"report":t.disposition,sample:t.sample,referrer:t.referrer}}var Nt=r(2646);const Lt=new Map;function Mt(e,t,r,n,i=!0,s){if("object"!=typeof t||!t||"string"!=typeof r||!r||"function"!=typeof t[r])return(0,l.R)(29);const a=function(e){return(e||R.ee).get("logger")}(e),o=(0,Pe.YM)(a,void 0,s),c=new Nt.y(R.P);c.level=n.level,c.customAttributes=n.customAttributes,c.autoCaptured=i;const d=t[r]?.[Pe.Jt]||t[r];return Lt.set(d,c),o.inPlace(t,[r],"wrap-logger-",()=>Lt.get(d),void 0,!0),a}var Pt=r(1910);class It extends W{static featureName=se.TZ;constructor(e){var t;super(e,se.TZ),t=e,(0,N.Y)("log",(e,r)=>oe(e,r,t),t),function(e){(0,N.Y)(k.Wb,(t,r,{customAttributes:n={},level:i=se.p_.INFO}={})=>{Mt(e.ee,t,r,{customAttributes:n,level:i},!1,e)},e)}(e),Se(e);const n=this.ee;["log","error","warn","info","debug","trace"].forEach(t=>{(0,Pt.i)(g.gm.console[t]),Mt(n,g.gm.console,t,{level:"log"===t?"info":t},void 0,e)}),this.ee.on("wrap-logger-end",function([t],r,i,s=[e.runtime.v2Target]){const{level:a,customAttributes:o,autoCaptured:c}=this;s.forEach(e=>{(0,ae.R)(n,t,o,a,c,e)})}),this.importAggregator(e,()=>r.e(478).then(r.bind(r,5288)))}}new F({features:[nt,K,G,vt,Et,Y,Oe,_t,It,Rt],loaderType:"spa"})})()})();</script>
29 30 <meta property="fb:pages" content="" /> 31 <meta property="og:article:author" content="Natalie Finnigan" /> 32<link rel="canonical" href="https://www.hexham-courant.co.uk/news/26592287.northumberland-farm-shop-10-best-pumpkin-patches-uk/" /> 33 <meta name="keywords" content=""/> 34 <meta name="parsely-title" content="Popular Northumberland farm shop in UK's 10 best pumpkin patches"/> 35 <meta name="parsely-post-id" content="26592287"/> 36 <meta name="description" content=" 37 A popular farm shop in Northumberland has been named one of the best pumpkin patches in the UK. 38"/> 39 <meta name="title" content="Popular Northumberland farm shop in UK's 10 best pumpkin patches"/> 40 <meta name="medium" content="news"/> 41 <meta name="twitter:description" content=" 42 A popular farm shop in Northumberland has been named one of the best pumpkin patches in the UK. 43"/> 44 <meta name="twitter:title" content="Popular Northumberland farm shop in UK's 10 best pumpkin patches"/> 45 <meta name="twitter:card" content="summary_large_image"/> 46 <meta name="cXenseParse:contentlevel" content="1"/> 47 <meta name="cXenseParse:articleid" content="26592287"/> 48 <meta itemprop="description" content=" 49 A popular farm shop in Northumberland has been named one of the best pumpkin patches in the UK. 50" /> 51 <meta itemprop="name" content="Popular Northumberland farm shop in UK's 10 best pumpkin patches" /> 52 <meta property="og:description" content=" 53 A popular farm shop in Northumberland has been named one of the best pumpkin patches in the UK. 54" /> 55 <meta property="og:name" content="Popular Northumberland farm shop in UK's 10 best pumpkin patches" /> 56 <meta property="fb:app_id" content="" /> 57 <meta property="og:type" content="article" /> 58 <meta property="og:title" content="Popular Northumberland farm shop in UK's 10 best pumpkin patches" /> 59 <meta name="twitter:image:src" content="https://www.hexham-courant.co.uk/resources/images/21516963/"/> 60 <meta itemprop="image" content="https://www.hexham-courant.co.uk/resources/images/21516963/" /> 61 <meta property="og:image:height" content="630" /> 62 <meta property="og:image:width" content="504" /> 63 <meta property="og:image" content="https://www.hexham-courant.co.uk/resources/images/21516963.jpg?type=og-image" /> 64 <meta property="og:site_name" content="Hexham Courant" /> 65 <meta property="og:url" content="https://www.hexham-courant.co.uk/news/26592287.northumberland-farm-shop-10-best-pumpkin-patches-uk/" /> 66 <meta property="og:article:published_time" content="2026-10-01T05:00:00Z" /> 67
68<script type="application/ld+json"> 69{ 70 "@context": "http://schema.org", 71 "@type": "NewsArticle", 72 "headline": "Northumberland farm shop in 10 best pumpkin patches in UK", 73 "datePublished": "2026-10-01T05:00:00Z", 74 75 "dateModified": "2026-10-01T05:00:00Z", 76 77 "articleSection": "news", 78 "mainEntityOfPage": "https://www.hexham-courant.co.uk/news/26592287.northumberland-farm-shop-10-best-pumpkin-patches-uk/", 79 "url": "https://www.hexham-courant.co.uk/news/26592287.northumberland-farm-shop-10-best-pumpkin-patches-uk/", 80 "isBasedOn": "https://www.hexham-courant.co.uk/news/26592287.northumberland-farm-shop-10-best-pumpkin-patches-uk/", 81 "author": { 82 "@type": "Person", 83 "name": "Natalie Finnigan" 84 }, 85 "image": { 86 "@type": "ImageObject", 87 "url": "https://www.hexham-courant.co.uk/resources/images/21516963.jpg/", 88 "width": 1280, 89 "height": 720 90 }, 91 "publisher": { 92 "@type": "Organization", 93 "name": "Hexham Courant", 94 "logo": { 95 "@type": "ImageObject", 96 "url": "https://www.hexham-courant.co.uk/resources/images/sitelogo/", 97 "width": "385", 98 "height": "91" 99 } 100 },
101 "keywords": ["article_types:news","topics:leisure:events","topics:leisure","locations:northumberland","content-level:1","source:newsquest"] 102} 103</script>
103 104 105 106 107 108 109 110 111 112 <link id="page_stylesheet_vars" href="/resources/responsive-static/build/mds/css/palette-8-sans-serif-vars.css?r=vjoPdzgg" rel="stylesheet" type="text/css"> 113 114 <link href="/resources/responsive-static/build/mds/css/header-footer.css?r=vjoPdzgg" rel="stylesheet" type="text/css"> 115 116 <link id="page_stylesheet" href="/resources/responsive-static/build/mds/css/blockarticle.css?r=vjoPdzgg" rel="stylesheet" type="text/css"> 117 118 119 120 <link rel="shortcut icon" href="/resources/images/17397187/" type="image/vnd.microsoft.icon"> 121 <link rel="icon" href="/resources/images/17397187/" type="image/vnd.microsoft.icon"> 122 123
123<script> 124 window.startExec = performance.now(); 125 </script>
125 126 127
127<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.7.1/jquery.min.js" integrity="sha384-1H217gwSVyLSIfaLxHbE7dRb3v4mYCKbpQvzx0cegeju1MVsGrX5xXxAvs/HgeFs" crossorigin="anonymous"></script>
vendor: 1 bytes, line 127
127
128<script src="https://code.jquery.com/jquery-migrate-3.6.0.js" integrity="sha384-ekzRTCLAU/LqHRBjnphRAxgZZvGdoP+TfkGGsX+tBJpRdM7r2/89ZZNzC/7YTJXX" crossorigin="anonymous"></script>
vendor: 1 bytes, line 128
128
129<script type="text/javascript" src="/resources/shared/responsive-sync/?r=vjoPdzgg"></script>
129 130
131<script type="text/javascript"> 132 data_layer_helper.setIsArticle(true); 133 data_layer_helper.setCookieDomain('.hexham-courant.co.uk'); 134 data_layer_helper.setModuleType('BlockArticleModule'); 135 data_layer_helper.setLocalInfoFolder(''); 136 data_layer_helper.setHomesData('', '', '', 'news'); 137 data_layer_helper.setPrimaryDomain('www.hexham-courant.co.uk'); 138 data_layer_helper.setPath('/news/'); 139 data_layer_helper.setGoogleNetworkCode('154725070'); 140 data_layer_helper.setArticleTimestamp('1790827200'); 141 data_layer_helper.setPathOverride(); 142 143 144 var extraTags = []; 145 146 extraTags.push('user_level_anonymous'); 147 148 149 var data_layer = { 150 environment: { 151 is_test_site: 'no', 152 is_live_site: 'yes', 153 is_paywall_site: 'yes', 154 is_portable_screen: (data_layer_helper.isMobileScreen()) ? 'yes' : 'no', 155 is_desktop_screen: (data_layer_helper.isMobileScreen()) ? 'no' : 'yes', 156 is_mobile_device: data_layer_helper.getMobileDevice(), 157 is_tablet_device: data_layer_helper.getTabletDevice(), 158 server: 'webapp-857f48ddbd-w68hn', 159 platform: 'Martini' 160 }, 161 site: { 162 id: '1124', 163 comments_subscriber_only: 'no', 164 viafoura_site_id: '00000000-0000-4000-8000-530fe1e1f1eb', 165 comments_use_viafoura: 'yes', 166 centre_id: '26', 167 centre_name: '', 168 country: 'England', 169 name: 'Hexham Courant', 170 name_with_prefix_capitalised_possessive: 'The Hexham Courant\'s', 171 name_with_prefix_lower_possessive: 'the Hexham Courant\'s', 172 domain: 'www.hexham-courant.co.uk', 173 editor_name: 'Joy Yates', 174 onboarding_enabled: 'no', 175 onboarding_flow_id: 'onboarding_disabled', 176 allowing_mr_replacement: 'no', 177 cookie_domain: '.hexham-courant.co.uk', 178 uses_cmp: 'yes', 179 short_domain: 'hexhamcourant', 180 using_piano_id: 'yes', 181 enable_skimlinks: 'yes', 182 skimlinks_domain_id: '1680369', 183 disable_newsletters: 'no', 184 is_archant_site: 'no', 185 shc_merchant_name: '', 186 piano_application_group: 'TertiaryAppLower', 187 piano_site_name: 'Hexham Courant', 188 piano_site_name_possessive: 'Hexham Courant\'s', 189 piano_site_name_with_prefix_lower: 'the Hexham Courant', 190 piano_site_name_with_prefix_capitalised: 'The Hexham Courant', 191 piano_site_name_with_prefix_capitalised_possessive: 'The Hexham Courant\'s', 192 piano_site_name_with_prefix_lower_possessive: 'the Hexham Courant\'s', 193 piano_location_primary: 'Hexham', 194 piano_location_primary_possessive: 'Hexham\'s', 195 piano_location_county: 'Northumberland', 196 piano_location_county_possessive: 'Northumberland\'s', 197 piano_primary_sports_team: '', 198 piano_primary_sports_team_nickname: '', 199 piano_primary_sports_team_sport: '', 200 piano_primary_sports_team_possessive: '', 201 piano_primary_sports_team_nickname_possessive: '', 202 piano_self_service_cancellation_setting: 'All', 203 has_app: 'yes', 204 app_provider: 'pagesuite', 205 app_platform: 'pagesuite-hybrid', 206 app_store_url_ios: 'https://apps.apple.com/gb/app/the-hexham-courant/id6476276916', 207 app_store_url_google_play: 'https://play.google.com/store/apps/details?id=uk.co.newsquest.hexhamcourant', 208 cloudflare_turnstyle_site_key: '', 209 }, 210 page: { 211 module: 'BlockArticleModule', 212 referrer: data_layer_helper.getReferrerHostName(), 213 name: '(www) ' + data_layer_helper.getOmniturePath(), 214 title: document.title, 215 path: data_layer_helper.getOmniturePath(), 216 section: data_layer_helper.getPathFragment(0), 217 subsection: data_layer_helper.getPathFragment(1), 218 subsection_2: data_layer_helper.getPathFragment(2), 219 subsection_3: data_layer_helper.getPathFragment(3), 220 reference: qs.get('ref'), 221 layout: 'BAM Standard Article', 222 ad_timing: data_layer_helper.getCookie('adtiming'), 223 template_namespace: 'standard', 224 template: '', 225 colour_scheme: '', 226 layout_template: 'BAM Standard Article', 227 mds_font: 'sans-serif', 228 user_used_app_last_24hours: '', 229 user_used_app_last_7days: '', 230 user_used_app_last_14days: '', 231 mds_colour_palette: 'palette-8', 232 feature_block_a_enabled: ($('[data-name="Feature Article Block A"]').length > 0) ? 'yes' : 'no', 233 feature_block_b_variant: (typeof $('[data-name="Feature Article Block B"]').data('variant') === 'undefined') ? '' : $('[data-name="Feature Article Block B"]').data('variant'), 234 is_article_list: 'no', 235 error_404: '',
236 top_stories_article_count: '', 237 interstitial_dedupe_top_stories: '', 238 interstitial_desktop_height: '', 239 interstitial_mobile_height: '', 240 interstitial_tablet_height: '', 241 interstitial_piano_module_id: '', 242 interstitial_using_recommendations: '', 243 interstitial_recommendation_header: '', 244 interstitial_article_count: '', 245 news_stories_article_count: '', 246 site_newspaper_archive_enabled: 'no', 247 site_newspaper_archive_number_of_pages: '', 248 site_newspaper_archive_start_year: 0, 249 article_originates_from_this_site: 'yes', 250 article_originates_from_site: '', 251 article_originates_from_url: '' 252 }, 253 user: { 254 id: '', 255 first_name: '', 256 advertising_experience: 'Ad-Full', 257 is_privacy_plus: 'no', 258 is_alist: 'no', 259 level: data_layer_helper.getCookie('nq_ul'), 260 seen_cmp: (data_layer_helper.getCookie('_sp_enable_dfp_personalized_ads') === 'true' || data_layer_helper.getCookie('_sp_enable_dfp_personalized_ads') === 'false') ? 'yes' : 'no', 261 given_consent: (data_layer_helper.getCookie('_sp_enable_dfp_personalized_ads') === 'true') ? 'yes' : 'no', 262 consent_string: data_layer_helper.getConsentString(), 263 type: 'anonymous', 264 parsely_type: 'Anonymous', 265 chartbeat_type: 'anon', 266 type_as_int: '1', 267 is_logged_in: 'no', 268 is_admin: 'no', 269 is_internal_admin: '', 270 has_full_admin_link_permissions: '', 271 has_registered: (data_layer_helper.getCookie('nqr') !== null) ? 'yes' : 'no', 272 comments_verified: '', 273 comments_verified_date: '', 274 user_email_is_verified: '', 275 user_email_is_verified_date: '', 276 mobile_number_is_verified: '', 277 mobile_number_is_verified_date: '', 278 user_needs_email_verification: '', 279 user_needs_mobile_verification: '', 280 user_too_many_requests: '', 281 age_decade: '0' , 282 gender: 'u' , 283 is_known: data_layer_helper.getCookie('__siren') ? 'yes' : 'no', 284 hash: '', 285 lr_hash_1: '', 286 lr_hash_2: '', 287 lr_hash_3: '', 288 gender: 'u' , 289 user_decade: '0' , 290 subscription_plan: '', 291 subscription_tier: 'null', 292 subscription_plan_and_frequency: ' - ', 293 commented: (data_layer_helper.isArticle() && qs.get('action') === 'success') ? 'yes' : 'no', 294 time_since_last_visit: 'not implemented (maybe drop)', 295 device: data_layer_helper.getDevice(), 296 using_ad_blocker_sourcepoint: data_layer_helper.getSourcepointAdbockStatus(), 297 admin_user_name: '', 298 is_admin_internal: '', 299 is_admin_external: '', 300 card_expired: '', 301 card_will_expire: '', 302 expires_urgency: '', 303 abandoned_cart: 'no', 304 subscription_expired: 'no', 305 is_archant_site: 'no', 306 signed_up_primary_news_newsletter: 'no', 307 signed_up_primary_sport_newsletter: 'no', 308 played_free_puzzles_last_7days: '', 309 played_paid_puzzles_last_7days: '', 310 commenter_badge: '', 311 upper_role: '', 312 }, 313 analytics: { 314 hierachy: 'newsquest,,www.hexham-courant.co.uk,' + data_layer_helper.getPathFragment(3).replace(/\//,','), 315 link_filters: 'javascript:,hexham-courant.co.uk,fish4.co.uk,adsys.newsquest.co.uk,www.exchangeandmart.co.uk,www.communigate.co.uk,', 316 tracking_block: data_layer_helper.getTrackingFromCookie('tracking_block', ''), 317 tracking_block_index: data_layer_helper.getTrackingFromCookie('tracking_block_index', ''), 318 previous_page_name: data_layer_helper.getCookie('nq_prev_page'), 319 advert_id: '', 320 position_in_list: data_layer_helper.getTrackingFromCookie('o-prop30', ''), 321 featured_content: data_layer_helper.getTrackingFromCookie('o-ref', qs.get('ref')), 322 account: data_layer_helper.getAccount() 323 }, 324 chartbeat: { 325 enabled: "no", 326 id: "", 327 domain: "", 328 sections: 'article_types:news,topics:leisure:events,topics:leisure,locations:northumberland,content-level:1,source:newsquest' 329 }, 330 parsely: { 331 enabled: "yes", 332 site_id: "hexham-courant.co.uk", 333 type: 'Anonymous' 334 }, 335 piano: { 336 tags: data_layer_helper.getPianoTags({ 337 piano_domain: 'hexhamcourant', 338 piano_master: '', 339 breaking_news: false, 340 editorial_opinion: false, 341 free_subscriber: false, 342 free_subscriber: false, 343 has_video: false, 344 is_article: true,
345 article_content_level : '1', 346 article_content_level_open_access: false, 347 picture_gallery_id: false, 348 user_is_newsquest: false, 349 user_is_entra_authenticated: false, 350 user_logged_in: false, 351 is_live_article: false, 352 why_free_subscriber: '', 353 extra_tags: extraTags, 354 is_covid_headline: false, 355 is_covid_body: false, 356 is_alist: false, 357 audio_provider_bytecast: false 358 } 359 ), 360 custom_variables: { 361 article_length: 'm', 362 application_group: 'TertiaryAppLower', 363 content_is_editorial_opinion: 'no', 364 base_url: 'https://www.hexham-courant.co.uk', 365 full_url: document.location.href, 366 from_discover: (document.referrer === "android-app://com.google.android.googlequicksearchbox/") ? 'yes' : 'no', 367 mds_font: 'sans-serif', 368 mds_colour_palette: 'palette-8', 369 site_name: 'Hexham Courant', 370 site_name_possessive: 'Hexham Courant\'s', 371 site_name_with_prefix_capitalised: 'The Hexham Courant', 372 site_name_with_prefix_lower: 'the Hexham Courant', 373 site_name_with_prefix_capitalised_possessive: 'The Hexham Courant\'s', 374 site_name_with_prefix_lower_possessive: 'the Hexham Courant\'s', 375 location_primary: 'Hexham', 376 location_primary_possessive: 'Hexham\'s', 377 location_county: 'Northumberland', 378 location_county_possessive: 'Northumberland\'s', 379 site_has_primary_sports_team: 'no', 380 primary_sports_team: '', 381 primary_sports_team_nickname: '', 382 primary_sports_team_sport: '', 383 primary_sports_team_possessive: '', 384 primary_sports_team_nickname_possessive: '', 385 site_id: '1124', 386 content_level: '1', 387 content_author: 'Natalie Finnigan', 388 content_id: '26592287', 389 content_is_article: 'yes', 390 content_primary_topic: 'Events', 391 user_seen_consent_modal: ($.cookie('_sp_enable_dfp_personalized_ads') === 'true' || $.cookie('_sp_enable_dfp_personalized_ads') === 'false') ? 'yes' : 'no', 392 site_section: data_layer_helper.getPathFragment(0, true), 393 article_published_yyyy: '2026', 394 user_played_free_puzzles_last_7days: '', 395 user_played_paid_puzzles_last_7days: '', 396 anon_user_played_free_puzzles_last_7days: data_layer_helper.untrackedPuzzleCheck(), 397 home_delivery_phone_number: '0800 953 0227', 398 content_is_restricted: data_layer_helper.getRestrictedContent('1', '1124', '1124', ''), 399 day_of_week: data_layer_helper.getDayOfWeek(), 400 user_card_expired: '', 401 user_card_will_expire: '', 402 user_expires_urgency: '', 403 user_used_app_last_24hours: '', 404 user_used_app_last_7days: '', 405 user_used_app_last_14days: '', 406 user_subscription_tier: 'null', 407 user_is_newsquest: 'no', 408 primary_news_newsletter_id: '1591', 409 primary_news_newsletter_name: 'the Morning Briefing', 410 primary_news_newsletter_description: 'The latest stories, in your inbox every morning.', 411 primary_sport_newsletter_id: '1592', 412 primary_sport_newsletter_name: 'the Sports AM', 413 primary_sport_newsletter_description: 'Keep up to date with the latest sport headlines.', 414 user_signed_up_primary_news_newsletter: 'no', 415 user_signed_up_primary_sport_newsletter: 'no', 416 newsletter_auto_promote: 'auto_success', 417 newsletter_auto_promote_name: 'the Daily Catch-up', 418 newsletter_auto_promote_description: 'Your round-up of the day\'s top stories.', 419 newsletter_auto_promote_ID: '1593', 420 site_has_app: 'yes', 421 site_app_store_url_ios: 'https://apps.apple.com/gb/app/the-hex
421ham-courant/id6476276916', 422 site_app_store_url_google_play: 'https://play.google.com/store/apps/details?id=uk.co.newsquest.hexhamcourant', 423 subsets_experiment_id: '', 424 site_section1: data_layer_helper.getPathFragment(1, true), // GBL required 425 site_newspaper_archive_enabled: 'no', 426 site_newspaper_archive_number_of_pages: '', 427 site_newspaper_archive_start_year: 0, 428 article_originates_from_this_site: 'yes', 429 article_originates_from_site: '', 430 article_originates_from_url: '' 431 }, 432 native_variables: { 433 setContentCreated: '2026-10-01T05:00:00', 434 setContentIsNative: 'no', 435 setContentAuthor: 'Natalie Finnigan', 436 setContentSection: data_layer_helper.getPathFragment(0, true) 437 } 438 }, 439 article: { 440 cscore:'', 441 showing_preview: '', 442 is_article: data_layer_helper.isArticle() ? 'yes' : 'no', 443 id : '26592287', 444 length_type: 'm', 445 character_count: '2015', 446 author: 'Natalie Finnigan'.toLowerCase(), 447 e_var15: 'none|use author profile|natalie finnigan'.toLowerCase(), 448 context: 'Agriculture', 449 content_level: '1', 450 content_level_open_access: 'no', 451 content_level_combined: '1,metered,no', 452 content_is_restricted: data_layer_helper.getRestrictedContent('1', '1124', '1124', ''), 453 increment: (data_layer_helper.isArticle()) ? '+1' : '', 454 sponsor: '', 455 contributions: '0', 456 is_sponsored: 'no', 457 headline: 'Popular Northumberland farm shop in UK\'s 10 best pumpkin patches', 458 age: data_layer_helper.getArticleAge(), 459 upload_date: '', 460 publish_date: '29/09/2026', 461 update_date: '', 462 rating: '11', 463 source: data_layer_helper.getSource(''), 464 subjects: (typeof articleSubjects === 'object') ? articleSubjects.join(',') : '', 465 context: 'Agriculture', 466 grapeshot_context: (typeof gs_channels !== 'undefined') ? gs_channels : '', 467 allow_comments: 'no', 468 total_comments: '0', 469 originating_site_id: '1124', 470 parent_article_site_id: '', 471 parent_article_id: '', 472 originating_article_id: '26592287', 473 parent_originating_site_id: '1124', 474 is_original_to_site: 'yes', 475 is_cloned: 'no', 476 parent_article_url: 'https://www.hexham-courant.co.uk/news/26592287.northumberland-farm-shop-10-best-pumpkin-patches-uk/', 477 use_skimlinks: 'no', 478 content_primary_topic: 'Events', 479 taxonomy: { 480 article_types: 'news', 481 topics: 'leisure:events,leisure', 482 sports: '', 483 sports_teams: '', 484 locations: 'northumberland', 485 shared_content: '', 486 free_tags: '', 487 farming: '' 488 }, 489 audio: { 490 has_audio: 'no', 491 provider: '' 492 },
493 article_comments_use_viafoura: 'yes' 494 }, 495 homes: { 496 search_bedrooms_minimum: '', 497 search_location: 'news', 498 search_price_minimum: '', 499 search_price_maximum: '', 500 list: '', 501 id: '' 502 }, 503 video: { 504 exists: 'no', 505 auto_play_enabled: data_layer_helper.getAutoPlay('no') 506 }, 507 contributions: { 508 allow_text: '', 509 allow_image: '', 510 user_contributions_number: '0', 511 has_user_contributions: 'no' 512 }, 513 search: { 514 keywords: qs.get('search'), 515 results: '' 516 }, 517 announcements: { 518 category: '' 519 }, 520 config: { 521 google_analytics_id: 'UA-1205041-1', 522 site_template_set: 'standard', 523 path: '/news/', 524 top_level_section: 'news', 525 polar_property_id: 'NA-HEXHCOUR-11239463', 526 gallery_show_advert_after: '5', 527 disable_outbrain_with_ad_light: 'no', 528 disable_outbrain: 'no', 529 }, 530 dfp: { 531 is_landing: 'no', 532 module_path: 'news', 533 weather_band: '11-15', 534 weather_summary: 'cloudy'.toLowerCase(), 535 id: data_layer_helper.getGoogleId(), 536 display_screen: data_layer_helper.isMobileScreen() ? 'mobile' : 'desktop', 537 can_show_billboard: (window.screen.width > 960) ? 'y' : 'n' 538 }, 539 dates: { 540 date: (new Date()).toLocaleDateString('en-GB'), 541 hour: (new Date()).getHours(), 542 day: data_layer_helper.getDayOfWeek(), 543 weekend: ((new Date()).getDay() === 6 || (new Date()).getDay() === 0) ? 'Weekend' : 'Weekday' 544 }, 545 memorials: { 546 contact_phone_number: '', 547 contact_email_address: '', 548 publications: JSON.parse('' || '[]'), 549 user: { 550 id: '', 551 email_verified: 'no', 552 type: '' 553 }, 554 funeral_director: { 555 id: '', 556 person_urn: '' 557 } 558 } 559 } 560 561 data_layer_helper.storeCurrentPageName(data_layer.page.name); 562 563 window.dispatchEvent(new Event('data-layer-loaded')) 564 565 data_layer.piano.custom_variables.user_used_app_last_24hours = 'no'; 566 data_layer.piano.custom_variables.user_used_app_last_7days = 'no'; 567 data_layer.piano.custom_variables.user_used_app_last_14days = 'no'; 568 if (data_layer.article.is_article !== 'yes') { 569 data_layer.piano.custom_variables.site_module = 'BlockArticleModule'; 570 data_layer.piano.custom_variables.puzzles_landing_page = 'no'; 571 data_layer.piano.custom_variables.puzzles_display_page = 'no'; 572 } 573</script>
573 574
575<script 576 src="https://assets.adobedtm.com/499440d21de9/54b957ecfb7e/launch-98090dfa3d73.min.js" 577 async 578></script>
578 579 580
581<script>"use strict";function _typeof(t){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}!function(){var t=function(){var t,e,o=[],n=window,r=n;for(;r;){try{if(r.frames.__tcfapiLocator){t=r;break}}catch(t){}if(r===n.top)break;r=r.parent}t||(!function t(){var e=n.document,o=!!n.frames.__tcfapiLocator;if(!o)if(e.body){var r=e.createElement("iframe");r.style.cssText="display:none",r.name="__tcfapiLocator",r.title="tcfapiLocator",e.body.appendChild(r)}else setTimeout(t,5);return!o}(),n.__tcfapi=function(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];if(!n.length)return o;"setGdprApplies"===n[0]?n.length>3&&2===parseInt(n[1],10)&&"boolean"==typeof n[3]&&(e=n[3],"function"==typeof n[2]&&n[2]("set",!0)):"ping"===n[0]?"function"==typeof n[2]&&n[2]({gdprApplies:e,cmpLoaded:!1,cmpStatus:"stub"}):o.push(n)},n.addEventListener("message",(function(t){var e="string"==typeof t.data,o={};if(e)try{o=JSON.parse(t.data)}catch(t){}else o=t.data;var n="object"===_typeof(o)&&null!==o?o.__tcfapiCall:null;n&&window.__tcfapi(n.command,n.version,(function(o,r){var a={__tcfapiReturn:{returnValue:o,success:r,callId:n.callId}};t&&t.source&&t.source.postMessage&&t.source.postMessage(e?JSON.stringify(a):a,"*")}),n.parameter)}),!1))};"undefined"!=typeof module?module.exports=t:t()}();</script>
581 582
583<script type = "text/javascript"> 584( function () { 585 586 window._sp_ = { 587 config: { 588 baseEndpoint: 'https://a02342.hexham-courant.co.uk', 589 accountId: 52, 590 targetingParams:{ 591 subscribed: false, 592 privacy: false 593 }, 594 gdpr: { }, 595 events: { 596 onMessageReady: function (message_type) { 597 trackSPEvents('event76'); 598 }, 599 onMessageChoiceSelect: function (message_type, choice_id, choice_type_id) { 600 console.log('message_type: ', message_type); 601 console.log('choice_id: ', choice_id); 602 console.log('choice_type_id: ', choice_type_id); 603 if ('yes' === 'yes') { 604 if (choice_type_id === 12) { 605 trackSPEvents('event83'); //Consent Banner Reject All 606 trackSPEvents('event82'); //Journalism Message Shown 607 } 608 if (choice_type_id === 11) { 609 trackSPEvents('event78'); 610 } 611 if (choice_type_id === 9) { 612 trackSPEvents('event77'); 613 } 614 } else { 615 // these are the second argument in non-gate 616 if (choice_type_id === 12) { 617 trackSPEvents('event77'); 618 } 619 620 if (choice_type_id === 11) { 621 trackSPEvents('event78'); 622 } 623 624 if (choice_type_id === 13) { 625 trackSPEvents('event83'); 626 } 627 } 628 }, 629 onPrivacyManagerActionStatus: function(message_type, status, actionType) { 630 console.log('message_type: ' + message_type); 631 console.log('status: ' + status); 632 console.log('actionType: ' + actionType); 633 if ('yes' === 'yes') { 634 if (actionType === 11) { 635 trackSPEvents('event79'); //Privacy Manager Accept 636 } 637 if (actionType === 9) { 638 trackSPEvents('event68'); //Privacy Manager Redirect 639 } 640 if (actionType === 1) { 641 trackSPEvents('event75'); //Forced tcf String Change 642 } 643 } else { 644 // these are the second argument in non-gate 645 if (actionType === 13) { 646 trackSPEvents('event81'); //Privacy Manager Reject 647 } 648 if (actionType === 11) { 649 trackSPEvents('event79'); //Privacy Manager Accept 650 } 651 if (actionType === 1) { 652 trackSPEvents('event80'); //Privacy Manager Save & Exit 653 } 654 } 655 }, 656 onPMCancel: function (message_type) { 657 console.log('onPMCancel', message_type); 658 trackSPEvents('event84'); //Privacy Manager Back 659 }, 660 } 661 } 662 } 663 664 if (typeof window.__tcfapi === 'function') { 665 window.__tcfapi('addEventListener', 2, function (tcData, success) { 666 console.log('SP: Event Listen:', tcData, success); 667 if (success && tcData.eventStatus === 'useractioncomplete') { 668 setTcfCookie(tcData.purpose.consents, tcData.purpose.legitimateInterests); 669 670 var csnt = 'none'; 671 if ($.cookie('_sp_enable_dfp_personalized_ads') === 'true') { 672 csnt = 'yes'; 673 } else if ($.cookie('_sp_enable_dfp_personalized_ads') === 'false') { 674 csnt = 'no'; 675 } 676 googletag.cmd.push(function() { 677 // console.log('DFP: Cookie check - setting dfpcsnt to ', csnt); 678 googletag.pubads().setTargeting('dfpcsnt', csnt); 679 }); 680 // ready to start DFP
681 // console.log('PIANO: setting unrestricted via useractioncomplete'); 682 // runPiano('unrestricted'); 683 startAdvertising(tcData.listenerId); 684 685 var e = new Event('launch:cmp:choice-made'); 686 window.dispatchEvent(e); 687 } else if (success && tcData.eventStatus === 'tcloaded') { 688 // tcloaded means a valid TCF v2.0 string is available 689 // console.log('PIANO: setting unrestricted via tcloaded'); 690 // runPiano('unrestricted'); 691 if (tcData.gdprApplies === false) { 692 $.cookie('_sp_enable_dfp_personalized_ads', 'true', {domain: '.hexham-courant.co.uk', path: '/', expires: 100}); 693 } 694 startAdvertising(tcData.listenerId); 695 696 } else if (success && tcData.eventStatus === 'useractionnotcomplete') { 697 // do nothing - this means the user has not made a choice yet 698 } else if (success && tcData.eventStatus === 'cmpuishown') { 699 // do nothing - this means the CMP UI has been shown 700 } else if (!success) { 701 // $.cookie('_sp_enable_dfp_personalized_ads', 'true', {domain: '.hexham-courant.co.uk', path: '/', expires: 100}); 702 // startAdvertising(); 703 } else { 704 // console.log('PIANO: setting restricted'); 705 // runPiano('restricted'); 706 } 707 }); 708 } 709 710 711 712 document.addEventListener('click', function (e) { 713 const option = e.target.closest('.gdpr-option-v2'); 714 715 if (!option) return; 716 717 e.preventDefault(); 718 sendEvent76 = false; 719 720 const id = option.dataset.v2Id; 721 const isGate = option.dataset.isGate; 722 723 if (isGate === 'yes') { 724 trackSPEvents('event87'); 725 _sp_.gdpr.loadPrivacyManagerModal(id); 726 } else { 727 trackSPEvents('event77'); 728 _sp_.gdpr.loadPrivacyManagerModal(id); 729 } 730 }); 731 732 function getTcfData() { 733 if (typeof window.__tcfapi !== 'function') { 734 console.warn('TCF API unavailable'); 735 return; 736 } 737 window.__tcfapi('addEventListener', 2, function(data, success) { 738 if (!data.purpose || !data.purpose.consents || !data.purpose.legitimateInterests) { 739 // console.log('DFP: No TCF data found, not setting cookies'); 740 return; 741 } 742 setTcfCookie(data.purpose.consents, data.purpose.legitimateInterests); 743 }, [755]); 744 } 745 getTcfData(); 746 747 function setTcfCookie(data, legitimateInterests) { 748 var consents = []; 749 $.each(data, function(id, consent) { 750 var c = (consent === true) ? 'yes' : 'no'; 751 consents.push(c) 752 }); 753 // console.log('DFP: consents length: ', consents.length); 754 if (consents.length !== 10) { 755 // consents = consents.fill('no', consents.length, 10); 756 for (var i = consents.length; i < 10; i++) { 757 consents[i] = 'no'; 758 } 759 } 760 // console.log('DFP: Found consents to store in cookie:', consents); 761 $.cookie('prev-tcf-v2', consents.join(','), {domain: '.hexham-courant.co.uk', path: '/', expires: 100}); 762 763 var consentEvent4 = 'none'; 764 if (typeof data[4] !== 'undefined') { 765 consentEvent4 = data[4] ? 'true' : 'false'; 766 } 767 $.cookie('_sp_enable_dfp_personalized_ads', consentEvent4, {domain: '.hexham-courant.co.uk', path: '/', expires: 100}); 768 769 var legitInterest = 'none'; 770 if (legitimateInterests && typeof legitimateInterests[2] !== 'undefined') { 771 legitInterest = legitimateInterests[2] ? 'true' : 'false'; 772 } 773 774 $.cookie('_sp_legitimate_interests', legitInterest , {domain: '.hexham-courant.co.uk', path: '/', expires: 100}); 775 } 776 777 var sendEvent76 = true; 778 779 function trackSPEvents(events) { 780 if (events === 'event76' && !sendEvent76) { 781 return; 782 } else if (events === 'event76') { 783 sendEvent76 = false;
784 } 785 786 if (typeof window.s !== 'object') { 787 // console.log('DFP: No window.s object found, trying again in 1 second'); 788 window.setTimeout(function () { trackSPEvents(events)} , 1000); 789 return; 790 } 791 792 // console.log("ADB: Tracking %s", events); 793 // Re-create the Omniture object so the data can be tracked. 794 var s = window.s; 795 796 if (events.indexOf('event70') !== -1) { 797 // console.log('DFP: Events passed, added evars'); 798 s.eVar35 = 'enabled'; 799 s.prop35 = 'enabled'; 800 } 801 802 s.events = events; 803 s.linkTrackEvents = events; 804 s.linkTrackVars = "eVar2,eVar3,eVar4,eVar5,eVar6,evar7,evar8,evar9,eVar16,eVar19,eVar26,eVar35,eVar43,eVar67,prop35"; 805 s.suppressPageView = true; 806 s.tl(true,'o','Ad Block'); 807 } 808 809 function startAdvertising(id) 810 { 811 if (typeof window.doNotAdvertise !== 'undefined' && window.doNotAdvertise === true) { 812 return; 813 } 814 815 // console.log("DFP: Is the page fully loaded?", window.googleReady); 816 if (window.googleReady !== true) { 817 window.setTimeout(function () { 818 // console.log('DFP: Google not fully loaded yet, pausing quarter of a second before trying again'); 819 startAdvertising(id); 820 }, 250); 821 return; 822 } 823 824 // Ensure that we never run this code twice 825 if (window.advertisingStart === true) { 826 return; 827 } 828 // console.log('DFP: Running advertisement'); 829 window.advertisingStart = true; 830 831 var googletag = window.googletag; 832 // init google objects and array 833 (function() { 834 var gads = document.createElement('script'); 835 gads.async = true; 836 gads.type = 'text/javascript'; 837 gads.src = 'https://securepubads.g.doubleclick.net/tag/js/gpt.js'; 838 var node = document.getElementsByTagName('script')[0]; 839 node.parentNode.insertBefore(gads, node); 840 })(); 841 842 // launch the exco slideshow player 843 launchExcoSlideshow(); 844 845 // load facebook etc 846 loadSocials(); 847 848 // Checking our decision to use headerbidding (shorterned as prebid) is correct 849 // via system logic, and that we have the simplified consent to do so 850 if (usePrebid && $.cookie('_sp_enable_dfp_personalized_ads') === 'true') {
851 var e = new Event('launch:sourcepoint:consentaccepted'); 852 window.dispatchEvent(e); 853 854 // AP code initialisation 855 // the script is loaded via launch, once we have detected a consent signal via the datalayer. 856 fetchAp(); 857 858 var site = 'desktop'; 859 var _site = 'desktop'; 860 861 // load IAS scripts and set up vars 862 (function() { 863 var ias = document.createElement('script'); 864 ias.async = true; 865 ias.type = 'text/javascript'; 866 ias.src = 'https://cdn.adsafeprotected.com/iasPET.1.js'; 867 var node = document.getElementsByTagName('script')[0]; 868 node.parentNode.insertBefore(ias, node); 869 })(); 870 871 // load the prebid script 872 (function() { 873 var pbs = document.createElement('script'); 874 pbs.async = true; 875 pbs.type = 'text/javascript'; 876 pbs.src = 'https://micro.rubiconproject.com/prebid/dynamic/11022.js?group=newsquest'; 877 var node = document.getElementsByTagName('script')[0]; 878 node.parentNode.insertBefore(pbs, node); 879 })(); 880 881 // tell google to actually get the bids from all relevant vendors when loaded 882 googletag.cmd.push(function () { 883 fetchHeaderBids(); 884 }); 885 } 886 887 // Outbrain 888 if ( 889 (window.data_layer.user.advertising_experience === 'Ad-Free' || window.data_layer.config.disable_outbrain === 'yes') || 890 (window.data_layer.user.advertising_experience === 'Ad-Light' && window.data_layer.config.disable_outbrain_with_ad_light === 'yes') 891 ) { 892 // console.log("No Outbrain script loading due to page settings"); 893 } else { 894 // console.log("Loading Outbrain"); 895 var ob = document.createElement('script'); 896 ob.async = true; 897 ob.type = 'text/javascript'; 898 ob.src = 'https://widgets.outbrain.com/outbrain.js'; 899 var node = document.getElementsByTagName('script')[0]; 900 node.parentNode.insertBefore(ob, node); 901 } 902 903 904 // remove the listener 905 if (id !== null) { 906 window.__tcfapi('removeEventListener', 2, function (success) { }, id); 907 } 908 } 909 910 /** 911 * Wait until we have advertising consent to show this advertising 912 * based replacement for the single image on our article pages 913 * This logic is based on excoSlidshowPlayerID that only appears on the page 914 * if a user is NOT a subscriber (including privacy plus) and the page has the 915 * correct information to show it (doesn't have a video, not in sport etc) 916 */ 917 function launchExcoSlideshow() { 918 const slideShowPlayerId = window.excoSlideshowPlayerId; 919 // if we do not have a player id, we do not need to do anything 920 if (!slideShowPlayerId) { 921 return; 922 } 923 924 // this is exco's supplied code, modified for our use 925 (function (d, s, n) { 926 fjs = d.getElementsByTagName(s)[0]; 927 js = d.createElement(s); 928 js.className = n; 929 js.src = '//player.ex.co/player/' + slideShowPlayerId; 930 js.setAttribute('programmatic', 'true'); 931 js.onload = function () { 932 const playerApi = ExCoPlayer.connect(slideShowPlayerId); 933 playerApi.init({}); 934 935 playerApi.on('player-load', function(data) { 936 $('.mar-article-image').remove(); 937 if (window.screen.width > 800) { 938 $('.article-hero').attr('style', 'order: 1'); 939 } 940 window.hide_overlay_for_exco = true; 941 }); 942 }; 943 fjs.parentNode.insertBefore(js, fjs); 944 }(document, 'script', 'exco-player')); 945 } 946 947 function loadSocials() 948 { 949 const socials = [ 950 'https://platform.twitter.com/widgets.js', 951 'https://connect.facebook.net/en_US/all.js#xfbml=1', 952 'https://www.tiktok.com/embed.js', 953 ]; 954
955 socials.forEach((social) => { 956 var script = document.createElement('script'); 957 script.src = social; 958 script.async = true; 959 document.getElementsByTagName('head')[0].appendChild(script); 960 }); 961 } 962 963 964})(); 965 966</script>
vendor: 1 bytes, line 966
966
967<script src="https://a02342.hexham-courant.co.uk/unified/wrapperMessagingWithoutDetection.js"></script>
967 968
969<script> 970window.usePiano = true; 971window.selectedOfferId = null; 972window.selectedTermId = null; 973</script>
vendor: 1 bytes, line 973
973
974<script> 975document.cookie = "__adblocker=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/"; 976var setNptTechAdblockerCookie = function(adblocker) { 977 var d = new Date(); 978 d.setTime(d.getTime() + 60 * 60 * 24 * 2 * 1000); 979 document.cookie = "__adblocker=" + (adblocker ? "true" : "false") + "; expires=" + d.toUTCString() + "; path=/"; 980} 981var script = document.createElement("script"); 982script.setAttribute("async", true); 983script.setAttribute("src", "//www.npttech.com/advertising.js"); 984script.setAttribute("onerror", "setNptTechAdblockerCookie(true);"); 985document.getElementsByTagName("head")[0].appendChild(script); 986</script>
986 987
988<script> 989// window.pdl = window.pdl || {}; 990// window.pdl.requireConsent = 'v2'; 991 992// Store entry point unless it's a user or subscribe page 993// to redirect after subscription 994const excludedPaths = ['/user/', '/subscribe/']; 995 996const shouldExclude = excludedPaths.some(path => 997 window.location.pathname.includes(path) 998); 999 1000if (!shouldExclude) { 1001 sessionStorage.setItem( 1002 'last_piano_page_interacted_with', 1003 window.location.pathname 1004 ); 1005} 1006 1007tp = window.tp || []; 1008 1009function runPiano(restrictedMode) { 1010 // console.log('Running Piano with restricted mode:', restrictedMode); 1011 // tp.push(['init', function() { 1012 // console.log('Piano purpose map, before calling setAllPurposes()', tp.consent.getByPurpose()); 1013 // }]); 1014 // if (restrictedMode === 'restricted') { 1015 // // If we're in restricted mode, we need to set some specific parameters 1016 // tp.push(['init', function() { 1017 // tp.consent.setAllPurposes('opt-out') 1018 // }]); 1019 // } else { 1020 // tp.push(['init', function() { 1021 // tp.consent.setAllPurposes('opt-in') 1022 // }]); 1023 // } 1024 // tp.push(['init', function() { 1025 // console.log('Piano purpose map, after calling setAllPurposes()', tp.consent.getByPurpose()); 1026 // }]); 1027 // init Piano ID 1028 tp.push(['init', function() { 1029 tp.pianoId.init(); 1030 }]); 1031 1032 const isGooglebot = window.isRobot.googleBot(); 1033 1034 const isArticle = (data_layer.article.is_article === 'yes'); 1035 1036 const isCl3 = (parseInt(data_layer.article.content_level, 10) === 3); 1037 1038 if (isGooglebot) { 1039 // we don't load Piano from all non-article pages 1040 if (!isArticle) { 1041 return; 1042 } 1043 1044 // If we are on an article, we do not load piano on CL0, 1, or 2 1045 if (!isCl3) { 1046 return; 1047 } 1048 } 1049 Object.keys(data_layer.piano.custom_variables).forEach(function (k) { 1050 var v = data_layer.piano.custom_variables[k]; 1051 1052 if (v != '') { 1053 tp.push(["setCustomVariable", k, v]); 1054 } 1055 }); 1056 1057 Object.keys(data_layer.piano.native_variables).forEach(function (k) { 1058 var v = data_layer.piano.native_variables[k]; 1059 if (v != '') { 1060 tp.push([k, v]); 1061 } 1062 }); 1063 1064 tp.push(['setTags', data_layer.piano.tags]); 1065 1066 (function(src){ 1067 var a=document.createElement("script"); 1068 a.type = "text/javascript"; 1069 a.async=true; 1070 a.src=src; 1071 var b=document.getElementsByTagName("script")[0]; 1072 b.parentNode.insertBefore(a, b) 1073 })("//experience.tinypass.com/xbuilder/experience/load?aid=yPMJnWQCpu"); 1074} 1075 1076// Init Piano 1077const debug = document.cookie 1078 .split('; ') 1079 .find(row => row.startsWith('debug=')) 1080 ?.split('=')[1]; 1081 1082tp.push(["setDebug", debug === '1']); 1083 1084tp.push(["setApplePayMerchantId", 'merchant.nq.subssites.piano']); 1085 1086tp.push(["setUsePianoIdUserProvider", true ]); 1087 1088tp.push(["addHandler", "loginRequired", function(params) { 1089 // If they're already signed in, we don't need to do anything special. 1090 if (tp.user.isUserValid()) { 1091 return; 1092 } 1093 if (typeof window._overridePianoDefault !== 'undefined' && window._overridePianoDefault !== true) { 1094 console.log("TPL Called") 1095 tp.pianoId.show({ 1096 screen: 'login', 1097 displayMode: 'modal', 1098 loggedIn: (data) => { 1099 pianoId.loggedIn(); 1100 }, 1101 loggedOut: () => { 1102 console.log('TP-TJ: user logged out'); 1103 }, 1104 registrationSuccess: () => { 1105 pianoId.registered(); 1106 }, 1107 width: '500px', 1108 height: '460px', 1109 }); 1110 } 1111}]); 1112 1113tp.push(["addHandler", "checkoutSelectTerm", function (termDetails) { 1114 if (typeof termDetails.termId !== 'undefined') { 1115 window.selectedTermId = termDetails.termId; 1116 } 1117}]); 1118 1119tp.push(["addHandler", "showTemplate", function (templateParams) { 1120 showPianoTarget(templateParams); 1121}]); 1122 1123tp.push(["addHandler", "showOffer", function (offerParams) { 1124 window.shownOffer = true; 1125 1126 // Store some data we might need later. 1127 if (typeof offerParams.offerId !== 'undefined') { 1128 window.selectedOfferId = offerParams.offerId; 1129 } 1130 1131 showPianoTarget(offerParams); 1132}]); 1133 1134function handleFullWidthBanner(selector) { 1135 if (selector === '#po-overlay-articlegate-full-width-full-article-scroll-below') { 1136 document.querySelector(selector).classList.add(selector.replace('#', '')); 1137 } 1138 document.querySelector(selector).style.minHeight = "254px"; 1139 document.querySelector('#subscription-content').style.display = 'none'; 1140 document.querySelectorAll('.send-us-your-news-cta').forEach((el) => { el.style.display = 'none'; }); 1141 document.querySelectorAll('.mega-news-block').forEach((el) => { el.style.display = 'none'; }); 1142 1143 const block = document.querySelector(selector); 1144 const containerBlock = block.parentElement; 1145 const containerBlockHeight = 254; // to prevent abrupt jumping 1146 1147 if (!block) { return; } 1148 1149 block.style.display = 'block'; 1150 1151 const blockRect = block.getBoundingClientRect(); 1152 const startTop = blockRect.top + window.scrollY; 1153 const blockHeight = blockRect.height; 1154 const screenWidth = window.screen.width; 1155 1156 let lastState = ''; // 'top', 'bottom', 'default' 1157 1158 function getScrollbarWidth() { 1159 return window.innerWidth - document.documentElement.clientWidth; 1160 } 1161 1162 function updatePosition() { 1163 const scrollY = window.scrollY;
1164 const viewportHeight = window.innerHeight; 1165 const bottomTrigger = startTop + blockHeight - viewportHeight; 1166 1167 let newState = 'default'; 1168 1169 if (scrollY > startTop && screenWidth >= 768) { 1170 newState = 'top'; 1171 } else if (scrollY < bottomTrigger && screenWidth >= 768) { 1172 newState = 'bottom'; 1173 } else if (scrollY < bottomTrigger + 90 && screenWidth < 768) { 1174 newState = 'bottom-mobile'; 1175 } 1176 1177 const scrollbarWidth = getScrollbarWidth(); 1178 1179 if (newState !== lastState) { 1180 switch (newState) { 1181 case 'top': 1182 block.style.position = 'fixed'; 1183 block.style.top = '0'; 1184 block.style.bottom = 'auto'; 1185 block.style.marginLeft = '0'; 1186 block.style.marginRight = '0'; 1187 containerBlock.style.minHeight = `${containerBlockHeight}px`; 1188 break; 1189 1190 case 'bottom': 1191 block.style.position = 'fixed'; 1192 block.style.bottom = '0'; 1193 block.style.top = 'auto'; 1194 block.style.marginLeft = '0'; 1195 block.style.marginRight = '0'; 1196 block.style.width = `calc(100vw - ${scrollbarWidth}px)`; 1197 containerBlock.style.minHeight = 'unset'; 1198 break; 1199 1200 case 'bottom-mobile': 1201 block.style.position = 'fixed'; 1202 block.style.bottom = '90px'; 1203 block.style.top = 'auto'; 1204 block.style.marginLeft = 'calc(-100vw + 100%)'; 1205 block.style.marginRight = 'calc(-100vw + 100%)'; 1206 containerBlock.style.minHeight = 'unset'; 1207 break; 1208 1209 default: 1210 block.style.position = ''; 1211 block.style.top = ''; 1212 block.style.bottom = ''; 1213 block.style.width = `calc(100vw - ${scrollbarWidth}px)`; 1214 block.style.marginLeft = '-100vw'; 1215 block.style.marginRight = '-100vw'; 1216 containerBlock.style.minHeight = 'unset'; 1217 break; 1218 } 1219 1220 lastState = newState; 1221 } 1222 1223 requestAnimationFrame(updatePosition); 1224 } 1225 1226 updatePosition(); 1227 window.addEventListener('resize', updatePosition); 1228} 1229 1230function trackLocation(forceValidLocation = false) { 1231 var currentLocation = window.location.pathname; 1232 1233 let valid = false; 1234 1235 if (currentLocation.indexOf('puzzles') > -1) { 1236 valid = true; 1237 } 1238 1239 if (currentLocation.indexOf('pagesuite') > -1) { 1240 valid = true; 1241 } 1242 1243 var articleMatch = currentLocation.match(/(\d+)\.[^\/]+\/(r\/)?$/); 1244 if (articleMatch != null) { 1245 valid = true; 1246 } 1247 1248 if (forceValidLocation) { 1249 valid = true; 1250 } 1251 1252 if (currentLocation.indexOf('subscribe') > -1) { 1253 valid = false; 1254 } 1255 1256 if (!valid) { 1257 return; 1258 } 1259 1260 $.cookie('last-piano-page-interacted-with', currentLocation, {path: '/', domain: window.data_layer.site.cookie_domain}); 1261} 1262 1263function trackPianoWithNewRelic(templateName) { 1264 if (this.newrelic && typeof this.newrelic === 'object') { 1265 newrelic.setCustomAttribute('user_was_shown_piano_experience', templateName); 1266 } 1267} 1268 1269function handleOfferShow(params) { 1270 console.log('Piano params', params); 1271 1272 // If on the subscription page and the URL has a term ID and offer ID, show the relevant offer. 1273 if (typeof location.pathname !== 'undefined' && location.pathname === '/subscribe/') { 1274 var offerId = location.search.match(/offer_id=([A-Z0-9]+)/); 1275 if (offerId !== null && offerId.length > 1) { 1276 offerId = offerId[1]; 1277 } 1278 var termId = location.search.match(/term_id=([A-Z0-9]+)/); 1279 if (termId !== null && termId.length > 1) { 1280 termId = termId[1]; 1281 } 1282 if (offerId !== null && termId !== null) { 1283 tp.offer.show({'termId': termId, 'offerId': offerId}); 1284 } 1285 } 1286 1287 // we are only tracking 1288 var templateId = params.templateId; 1289 var variantId = params.templateVariantId; 1290 if (params.containerSelector !== '#po-inline-articlegate-fullarticle' && 1291 params.containerSelector !== '#po-overlay-articlegate-full-width-full-article-scroll-below' && 1292 params.containerSelector !== '#po-inline-articlegate-partialarticle' && 1293 params.containerSelector !== '#po-overlay-articlegate-full-width-scroll-below' 1294 ) { 1295 $.get('/ws/piano/templatename/', {template_id: templateId, variant_id: variantId}, function (response) { 1296 trackPianoSimplified(params, response.name); 1297 }); 1298 return; 1299 } 1300 1301 1302 $.get('/ws/piano/templatename/', {template_id: templateId, variant_id: variantId}, function (response) { 1303 trackPiano(params, response.name); 1304 }); 1305} 1306 1307function trackPiano(params, templateName) { 1308 trackPianoWithNewRelic(templateName); 1309 1310 if (typeof params.activeMeters === 'string') { 1311 activeMeters = JSON.parse(params.activeMeters); 1312 } else { 1313 activeMeters = params.activeMeters; 1314 } 1315 1316 var s = window.s; 1317 if (!s || !s.pageName) { 1318 // console.log("ADB: Setting s from backup"); 1319 s = window.backupAdobe; 1320 window.s = s; 1321 } 1322 1323 // this would call when CL3 is a hard gate 1324 if (!activeMeters && data_layer.article.content_level === '3') { 1325 s.eVar59 = templateName; 1326 s.eVar58 = data_layer.article.content_level; 1327 s.events = "event91"; 1328 s.linkTrackVars="eVar58,eVar2,eVar3,eVar4,eVar5,eVar6,eVar15,eVar16,eVar19,eVar25,eVar26,eVar28,eVar43,eVar59,eVar61,eVar62,eVar79,eVar104,eVar106,eVar107,eVar108,eVar118,prop63,list3,events"; 1329 s.linkTrackEvents="event91"; 1330 s.tl(document, 'o', 'Metered Access Notice'); 1331 s.events = ''; 1332 return; 1333 } 1334 1335 if (!activeMeters) { 1336 return; 1337 } 1338 1339 var meterData = activeMeters[0]; 1340 1341 var meterName = meterData.meterName.toLowerCase(); 1342 1343 // track event 5 1344 if (meterName.indexOf('cl1') !== -1 || meterName.indexOf('cl2') !== -1 || meterName.indexOf('cl3') !== -1 || params.containerSelector === '#po-inline-articlegate-partialarticle' || params.containerSelector === '#po-overlay-articlegate-full-width-scroll-below') { 1345 s.eVar58 = data_layer.article.content_level; 1346 s.eVar80 = meterData.meterName + ',' + meterData.views + ',' + meterData.totalViews + ',' + meterData.viewsLeft + ',' + meterData.maxViews; 1347 s.eVar59 = templateName; 1348 s.events = "event5"; 1349 s.linkTrackVars="eVar58,eVar2,eVar3,eVar4,eVar5,eVar6,eVar16,eVar19,eVar25,eVar26,eVar28,eVar43,eVar59,eVar61,eVar62,prop63,eVar80,eVar79,eVar118,list3, events"; 1350 s.linkTrackEvents="event5"; 1351 } else { 1352 s.eVar80 = meterData.meterName + ',' + meterData.views + ',' + meterData.totalViews + ',' + meterData.viewsLeft + ',' + meterData.maxViews; 1353 s.eVar59 = templateName; 1354 s.linkTrackVars="eVar2,eVar3,eVar4,eVar5,eVar6,eVar16,eVar19,eVar25,eVar26,eVar28,eVar43,eVar59,eVar61,eVar62,prop63,eVar80,eVar79,eVar118,list3, events"; 1355 } 1356 s.tl(document, 'o', 'Metered Access Notice'); 1357 s.events = ''; 1358 1359} 1360 1361/** 1362 * Just track the template name in 78 for non-article-interrupts/gates 1363 */ 1364function trackPianoSimplified(params, templateName) 1365{ 1366 trackPianoWithNewRelic(templateName); 1367 1368 var s = window.s; 1369 if (!s || !s.pageName) { 1370 // console.log("ADB: Setting s from backup"); 1371 s = window.backupAdobe; 1372 window.s = s; 1373 } 1374 s.eVar78 = templateName; 1375 s.events = 'event90'; 1376 s.linkTrackEvents="event90"; 1377 s.linkTrackVars="eVar2,eVar3,eVar4,eVar5,eVar6,eVar16,eVar19,eVar25,eVar26,eVar28,eVar43,eVar59,eVar61,eVar62,prop63,eVar80,eVar79,eVar118,list3,eVar78, events"; 1378 s.tl(document, 'o', 'Piano Template'); 1379} 1380 1381function raiseLaunchEvent(name) {
1382 var e = new Event('launch:piano:' + name); 1383 window.dispatchEvent(e); 1384} 1385 1386function removePianoToast() { 1387 setTimeout(() => { 1388 document.getElementById('po-overlay-toast-left').remove() 1389 }, 30000) 1390} 1391 1392function showPianoTarget(params) { 1393 handleOfferShow(params); 1394 trackLocation(); 1395 1396 if ($(params.containerSelector).length > 0) { 1397 const displayType = $(params.containerSelector).attr('data-display'); 1398 1399 if (displayType) { 1400 $(params.containerSelector).addClass(`shown-${displayType}`); 1401 } else { 1402 $(params.containerSelector).addClass('shown').show(); 1403 } 1404 1405 if ($(params.containerSelector).hasClass('piano--block-level') || $(params.containerSelector).hasClass('piano--inside-block')) { 1406 $(params.containerSelector).show(); 1407 } 1408 1409 if ( 1410 params.containerSelector === '#po-overlay-articlegate-full-width-scroll-below' || 1411 params.containerSelector === '#po-overlay-articlegate-full-width-full-article-scroll-below' 1412 ) { 1413 handleFullWidthBanner(params.containerSelector); 1414 } 1415 1416 if ($(params.containerSelector) === '#po-inline-subscribe-page') { 1417 $(params.containerSelector).show(); 1418 } 1419 1420 if (['#po-inline-blocksystem-target-e'].includes(params.containerSelector)) { 1421 $('#po-inline-blocksystem-target-e').show(); 1422 $('.piano-promo-container').show(); 1423 } 1424 1425 if (params.containerSelector === '#po-overlay-toast-left') { 1426 removePianoToast() 1427 } 1428 1429 if (params.containerSelector === '#po-overlay-toast-main-navigation') { 1430 removePianoToast() 1431 } 1432 1433 if (params.containerSelector === '#po-inline-articlewall-partialarticle-closable') { 1434 $('#po-inline-articlegate-partialarticle').css('display', 'none'); 1435 } 1436 1437 if (params.containerSelector === '#po-inline-articlewall-fullarticle-closable') { 1438 $('#po-inline-articlegate-fullarticle').css('display', 'none'); 1439 } 1440 1441 if (params.containerSelector === '#po-overlay-articlegate-full-width-full-article-scroll-below-closable') { 1442 $('#po-overlay-articlegate-full-width-full-article-scroll-below').css('display', 'none'); 1443 } 1444 } 1445} 1446 1447tp.push(["addHandler", "checkoutComplete", function(conversion) { 1448 var s = window.s; 1449 s.events = s.apl(s.events, "event4", ",", 1); // Set the subscription counter event. 1450 s.events = s.apl(s.events, "purchase", ",", 1); // Set the purchase event. 1451 s.products = "Subscription : Metered Access;" + conversion.termId + ";1;"+conversion.chargeAmount; 1452 s.linkTrackEvents = "event4,purchase"; 1453 s.purchaseID = conversion.termConversionId; 1454 s.pageName = '(www) /subscribe/complete/'; 1455 // wipe out errors 1456 s.eVar31 = ''; 1457 s.linkTrackVars="eVar2,eVar3,eVar5,eVar6,eVar7,eVar8,eVar9,eVar10,eVar15,eVar16,eVar17,eVar18,eVar19,eVar20,eVar22,eVar23,eVar24,eVar25,eVar26,eVar61,eVar62,events,products,purchaseID"; 1458 1459 s.tl(true, 'o', 'Subscription'); 1460 1461 $.cookie('resourceConverted', conversion.rid, {path: '/', domain: window.data_layer.site.cookie_domain}); 1462 $.cookie('pianoConverted', '1', {path: '/', domain: window.data_layer.site.cookie_domain}); 1463 raiseLaunchEvent('checkoutComplete'); 1464 1465 // Clean Session Storage 1466 sessionStorage.removeItem('nq_selected_offer_id'); 1467 sessionStorage.removeItem('nq_selected_term_id'); 1468 sessionStorage.removeItem('nq_adobe_tracking_article_dimensions'); 1469 sessionStorage.removeItem('nq_adobe_tracking_visiting_dimensions'); 1470 1471 // Show Onboarding modal after subscription 1472 const lastPage = sessionStorage.getItem('last_piano_page_interacted_with'); 1473 const baseUrl = lastPage || window.location.href; 1474 1475 const url = new URL(baseUrl, window.location.origin); 1476 url.searchParams.set('show-onboarding', 'yes'); 1477 1478 setTimeout(() => { 1479 window.location.href = url.pathname + url.search; 1480 }, 2000); 1481}]); 1482 1483tp.push(["addHandler", "checkoutPaymentError", function(errorData) { 1484 var s = window.s; 1485 s.pageName = '(www) /subscribe/error/'; 1486 s.eVar31 = errorData.message; 1487 s.tl(true, 'o', 'CheckoutPaymentError'); 1488 1489 raiseLaunchEvent('checkoutPaymentError'); 1490}]); 1491 1492tp.push(["addHandler", "checkoutError", function(errorData) { 1493 var s = window.s; 1494 s.pageName = '(www) /subscribe/error/'; 1495 s.eVar31 = errorData.message; 1496 s.tl(true, 'o', 'CheckoutError'); 1497 raiseLaunchEvent('checkoutError'); 1498}]); 1499 1500tp.push(["addHandler", "startCheckout", function(options) { 1501 sessionStorage.setItem("nq_selected_offer_id", options.offerId); 1502 sessionStorage.setItem("nq_selected_term_id", options.termId); 1503 1504 if (!tp.user.isUserValid()) { 1505 window.location = '/user/create-account/subscribe/'; 1506 return; 1507 } 1508 1509 var s = window.s; 1510 s.eVar2 = '(www) /subscribe/payment/'; 1511 s.pageName = '(www) /subscribe/payment/'; 1512 const storedAdobeArticleDimensions = sessionStorage.getItem('nq_adobe_tracking_article_dimensions'); 1513 const storedAdobeVisitingDimensions = sessionStorage.getItem('nq_adobe_tracking_visiting_dimensions'); 1514 if (storedAdobeVisitingDimensions) { 1515 const storedAdobeVisitingDimensionsObj = JSON.parse(storedAdobeVisitingDimensions); 1516 s.eVar10 = storedAdobeVisitingDimensionsObj.eVar10; 1517 s.eVar22 = storedAdobeVisitingDimensionsObj.eVar22; 1518 s.eVar23 = storedAdobeVisitingDimensionsObj.eVar23; 1519 s.eVar24 = storedAdobeVisitingDimensionsObj.eVar24; 1520 } 1521 if (storedAdobeArticleDimensions) { 1522 const storedAdobeArticleDimensionsObj = JSON.parse(storedAdobeArticleDimensions); 1523 s.eVar10 = storedAdobeArticleDimensionsObj.eVar10; 1524 s.eVar15 = storedAdobeArticleDimensionsObj.eVar15; 1525 s.eVar22 = storedAdobeArticleDimensionsObj.eVar22; 1526 s.eVar23 = storedAdobeArticleDimensionsObj.eVar23; 1527 s.eVar24 = storedAdobeArticleDimensionsObj.eVar24; 1528 s.eVar25 = storedAdobeArticleDimensionsObj.eVar25; 1529 } 1530 // wipe out errors 1531 s.eVar31 = ''; 1532 s.events = ''; 1533 raiseLaunchEvent('startCheckout'); 1534 s.linkTrackVars="eVar10,eVar15,eVar22,eVar23,eVar24,eVar25"; 1535 s.t(); 1536}]); 1537 1538tp.push(["addHandler", "checkoutClose", function(conversion) { 1539 raiseLaunchEvent('checkoutClose'); 1540 1541 // Did they abandon the cart? If so: was anything in their cart?
1542 if (typeof conversion.state === 'undefined' || conversion.state !== 'close') { 1543 return; 1544 } 1545 if (window.selectedOfferId === null || window.selectedTermId === null) { 1546 return; 1547 } 1548 $.post('/ws/piano/abandoned-cart/', {offer_id: window.selectedOfferId, term_id: window.selectedTermId}); 1549}]); 1550 1551tp.push(["addHandler", "meterExpired", function(meterData){ 1552 var msg = "<div><b>meterName:</b> " + meterData.meterName 1553 + " | <b>views:</b> " + meterData.views 1554 + " | <b>totalViews:</b> " + meterData.totalViews 1555 + " | <b>viewsLeft:</b> " + meterData.viewsLeft 1556 + " | <b>maxViews:</b> " + meterData.maxViews 1557 + " | <b>callback:</b> " + meterData.callback + '</div>'; 1558 if ($.cookie('nq-show-piano-viewer') === 'yes') { 1559 $('#piano-meter-value').html(msg); 1560 $('#piano-meter-display').show(); 1561 $('#piano-meter-display-content').append(msg); 1562 } 1563 var cVal = window.location.href; 1564 1565 trackLocation(true); 1566 1567 console.log("Piano Meter Expired:", meterData.meterName); 1568 if (meterData.meterName === 'CL1 Meter') { 1569 console.log("Piano: Setting meter expired cookie"); 1570 $.cookie('isMeterExpired', 'yes', {path: '/', domain: window.data_layer.site.cookie_domain, expires: 1}); 1571 } 1572 1573 raiseLaunchEvent('meterExpired'); 1574 1575}]); 1576 1577tp.push(["addHandler", "meterActive", function(meterData){ 1578 var msg = "<div><b>meterName:</b> " + meterData.meterName 1579 + " | <b>views:</b> " + meterData.views 1580 + " | <b>totalViews:</b> " + meterData.totalViews 1581 + " | <b>viewsLeft:</b> " + meterData.viewsLeft 1582 + " | <b>maxViews:</b> " + meterData.maxViews 1583 + " | <b>callback:</b> " + meterData.callback + '</div>'; 1584 if ($.cookie('nq-show-piano-viewer') === 'yes') { 1585 $('#piano-meter-value').html(msg); 1586 $('#piano-meter-display').show(); 1587 $('#piano-meter-display-content').append(msg); 1588 } 1589 1590 console.log("Piano Meter running total:", meterData.meterName, meterData.totalViews, meterData.maxViews, meterData); 1591 if (meterData.meterName === 'CL1 Meter' && meterData.totalViews >= meterData.maxViews) { 1592 $.cookie('isMeterExpired', 'yes', {path: '/', domain: window.data_layer.site.cookie_domain, expires: 1}); 1593 } else { 1594 $.cookie('isMeterExpired', 'no', {path: '/', domain: window.data_layer.site.cookie_domain, expires: 1}); 1595 } 1596}]); 1597 1598 1599 1600runPiano('unrestricted'); 1601 1602</script>
1602 1603 1604 1605 1606 1607
1607<script type='text/javascript'> 1608 var googletag = googletag || {}; 1609 googletag.cmd = googletag.cmd || []; 1610 var iasDataHandler, __iasPET = __iasPET || {}; 1611 __iasPET.queue = __iasPET.queue || []; 1612 __iasPET.pubId = '931298'; 1613 1614 var pbjs = pbjs || {}; 1615 pbjs.que = pbjs.que || []; 1616 1617 var carbonRealtime = JSON.parse(window.localStorage.getItem('ccRealtimeData')); 1618 var ozoneSettings = {}; 1619 var ozoneTargeting = { 1620 carbon_segment: carbonRealtime ? carbonRealtime.audiences.map(x => (x.id)) : [] 1621 }; 1622 1623 1624 function isMobile() { 1625 if (window.screen.width < 728) { 1626 return true; 1627 } 1628 return false; 1629 } 1630 var usePrebid = true; 1631 var whiteList = false; 1632 var adLight = false; 1633 1634 1635 var blackListAds = []; 1636 1637 if (usePrebid) { 1638 // disable initial load so prebid can do its stuff 1639 // console.log('DFP: Disabling initial load'); 1640 googletag.cmd.push(function() { 1641 // console.log('DFP: Disabling initial load - read by DFP'); 1642 googletag.pubads().disableInitialLoad(); 1643 }); 1644 } 1645 </script>
1645 1646 1647
1647<script> 1648 1649 /** 1650 * Adds key-values to page level of Google Publisher Tag 1651 * @example 1652 * addKeyValuesToGPT({"ap_a": ["1100"], "ap_x": ["134123"]}) 1653 * @param {Object} keyValues 1654 */ 1655 function addAsKeyValuesToGPT(keyValues) { 1656 if (!googletag.pubads) { 1657 googletag.cmd.push(function () { 1658 addAsKeyValuesToGPT(keyValues); 1659 }); 1660 return; 1661 } 1662 for (const key in keyValues) { 1663 if (Object.hasOwnProperty.call(keyValues, key)) { 1664 const value = keyValues[key]; 1665 googletag.pubads().setTargeting(key, value); 1666 } 1667 } 1668 } 1669 1670 function onAudienceProjectDataAvailable(dataResponse) { 1671 console.log("AudienceProject data returned", dataResponse); 1672 1673 // in keyValues there are full-reach key-values created, they needs to be sent to GAM and added to Prebid adform ad-units 1674 if (dataResponse.keyValues) { 1675 addAsKeyValuesToGPT(dataResponse.keyValues); 1676 } 1677 } 1678 1679 function fetchAp() { 1680 AudienceProjectData.fetch('saknewsquest', { 1681 integrateWithCmp: true, 1682 waitForCmpConsent: true 1683 }, onAudienceProjectDataAvailable); 1684 } 1685 1686 1687 </script>
1687 1688 1689
1690<script> 1691 if (typeof gs_channels === 'undefined') { 1692 gs_channels = ""; 1693 } 1694 rpx_init = ({ 1695 qry : 'https://www.hexham-courant.co.uk', 1696 section : 'news', 1697 site : 'www.hexham-courant.co.uk', 1698 context : 'Agriculture', 1699 weather : 'cloudy'.toLowerCase(), 1700 temp : '11-15', 1701 gs_channels : gs_channels, 1702 age : '0' , 1703 gender : 'u' , 1704 nqd : '' // intentionall blank 1705 }); 1706 </script>
1706 1707
1707<script type='text/javascript' src='https://pagead2.googlesyndication.com/pagead/imgad?id=CICAgKDLqv_TbRABGAEoATIIgOw1LHg7xnFAt-_HogU'></script>
1707 1708
1708<script> 1709 1710 var bidTimeout = 1200; 1711 window.unfilteredAdUnits = [{"sizes":[1,1],"alternate_mobile_size":"","slotType":"outofpage","domName":"DFP_out_of_page","positionName":"out_of_page","isVast":false,"collapseContainer":false,"targets":["takeover"],"useRubicon":false,"rubicon_desktop_zone_id":"","rubicon_mobile_zone_id":"","rubicon_desktop_size_ids":[""],"rubicon_mobile_size_ids":[""],"appnexus_desktop_placement_id":"","appnexus_mobile_placement_id":"","criteo_desktop_placement_id":"","criteo_mobile_placement_id":"","use_amazon":false,"groupm_desktop_placement_id":"","groupm_mobile_placement_id":""},{"sizes":[["fluid"],[1,1]],"alternate_mobile_size":"","slotType":"standard","domName":"DFP_article_fluid_1","positionName":"article_fluid_1","isVast":false,"collapseContainer":true,"targets":[""],"useRubicon":false,"rubicon_desktop_zone_id":"","rubicon_mobile_zone_id":"","rubicon_desktop_size_ids":[""],"rubicon_mobile_size_ids":[""],"appnexus_desktop_placement_id":"","appnexus_mobile_placement_id":"","criteo_desktop_placement_id":"","criteo_mobile_placement_id":"","use_amazon":false,"groupm_desktop_placement_id":"","groupm_mobile_placement_id":""},{"sizes":[1,1],"alternate_mobile_size":"","slotType":"standard","domName":"DFP_in_article_pixel","positionName":"in_article_pixel","isVast":false,"collapseContainer":false,"targets":[""],"useRubicon":false,"rubicon_desktop_zone_id":"","rubicon_mobile_zone_id":"","rubicon_desktop_size_ids":[""],"rubicon_mobile_size_ids":[""],"appnexus_desktop_placement_id":"","appnexus_mobile_placement_id":"","criteo_desktop_placement_id":"","criteo_mobile_placement_id":"","use_amazon":false,"groupm_desktop_placement_id":"","groupm_mobile_placement_id":""},{"sizes":[["fluid"],[570,250],[468,250],[300,250],[1,1]],"alternate_mobile_size":[["fluid"],[300,250],[1,1]],"slotType":"standard","domName":"DFP_in_article_mpu","positionName":"in_article_mpu","isVast":false,"collapseContainer":true,"targets":["takeover"],"useRubicon":true,"rubicon_desktop_zone_id":"297386","rubicon_mobile_zone_id":"297372","rubicon_desktop_size_ids":["15"],"rubicon_mobile_size_ids":["15"],"appnexus_desktop_placement_id":"10550690","appnexus_mobile_placement_id":"10550767","criteo_desktop_placement_id":"744410","criteo_mobile_placement_id":"760447","use_amazon":true,"groupm_desktop_placement_id":"17307157","groupm_mobile_placement_id":"17479445"},{"sizes":[[570,250],[468,250],[300,250],[1,1]],"alternate_mobile_size":[[300,250],[1,1]],"slotType":"standard","domName":"DFP_in_article_2","positionName":"in_article_2","isVast":false,"collapseContainer":true,"targets":[""],"useRubicon":true,"rubicon_desktop_zone_id":"437846","rubicon_mobile_zone_id":"459754","rubicon_desktop_size_ids":["15"],"rubicon_mobile_size_ids":["15"],"appnexus_desktop_placement_id":"10550691","appnexus_mobile_placement_id":"10550769","criteo_desktop_placement_id":"","criteo_mobile_placement_id":"","use_amazon":true,"groupm_desktop_placement_id":"17279602","groupm_mobile_placement_id":"17479441"},{"sizes":[[570,250],[468,250],[300,250],[1,1]],"alternate_mobile_size":[[300,250],[1,1]],"slotType":"standard","domName":"DFP_teads","positionName":"teads","isVast":false,"collapseContainer":false,"targets":[""],"useRubicon":false,"rubicon_desktop_zone_id":"","rubicon_mobile_zone_id":"","rubicon_desktop_size_ids":[""],"rubicon_mobile_size_ids":[""],"appnexus_desktop_placement_id":"11775143","appnexus_mobile_placement_id":"11775143","criteo_desktop_placement_id":"","criteo_mobile_placement_id":"","use_amazon":false,"groupm_desktop_placement_id":"","groupm_mobile_placement_id":""},{"sizes":[[570,250],[468,250],[300,250]],"alternate_mobile_size":[300,250],"slotType":"standard","domName":"DFP_in_article_3","positionName":"in_article_3","isVast":false,"collapseContainer":true,"targets":[""],"useRubicon":true,"rubicon_desktop_zone_id":"425700","rubicon_mobile_zone_id":"449752","rubicon_desktop_size_ids":["15"],"rubicon_mobile_size_ids":["15"],"appnexus_desktop_placement_id":"10550692","appnexus_mobile_placement_id":"10550770","criteo_desktop_placement_id":"","criteo_mobile_placement_id":"","use_amazon":true,"groupm_desktop_placement_id":"17307086","groupm_mobile_placement_id":"17479442"},{"sizes":[[570,250],[468,250],[300,250],[1,1]],"alternate_mobile_size":[[300,250],[1,1]],"slotType":"standard","domName":"DFP_outstream_2","positionName":"outstream_2","isVast":false,"collapseContainer":false,"targets":[""],"useRubicon":false,"rubicon_desktop_zone_id":"","rubicon_mobile_zone_id":"","rubicon_desktop_size_ids":[""],"rubicon_mobile_size_ids":[""],"appnexus_desktop_placement_id":"","appnexus_mobile_placement_id":"","criteo_desktop_placement_id":"","criteo_mobile_placement_id":"","use_amazon":false,"groupm_desktop_placement_id":"","groupm_mobile_placement_id":""},{"sizes":[[570,250],[468,250],[300,250]],"alternate_mobile_size":[300,250],"slotType":"standard","domName":"DFP_in_article_4","positionName":"in_article_4","isVast":false,"collapseContainer":true,"targets":[""],"useRubicon":true,"rubicon_desktop_zone_id":"425702","rubicon_mobile_zone_id":"449754","rubicon_desktop_size_ids":["15"],"rubicon_mobile_size_ids":["15"],"appnexus_desktop_placement_id":"10550693","appnexus_mobile_placement_id":"10550771","criteo_desktop_placement_id":"","criteo_mobile_placement_id":"","use_amazon":true,"groupm_desktop_placement_id":"17307083","groupm_mobile_placement_id":"17479443"},{"sizes":[[570,250],[468,250],[300,250]],"alternate_mobile_size":[300,250],"slotType":"standard","domName":"DFP_in_article_5","positionName":"in_article_5","isVast":false,"collapseContainer":true,"targets":[""],"useRubicon":true,"rubicon_desktop_zone_id":"425704","rubicon_mobile_zone_id":"449756","rubicon_desktop_size_ids":["15"],"rubicon_mobile_size_ids":["15"],"appnexus_desktop_placement_id":"10550695","appnexus_mobile_placement_id":"10550773","criteo_desktop_placement_id":"","criteo_mobile_placement_id":"","use_amazon":true,"groupm_desktop_placement_id":"17307155","groupm_mobile_placement_id":"17479444"},{"sizes":[[570,250],[468,250],[300,250]],"alternate_mobile_size":[300,250],"slotType":"standard","domName":"DFP_in_article_6","positionName":"in_article_6","isVast":false,"collapseContainer":true,"targets":[""],"useRubicon":true,"rubicon_desktop_zone_id":"425709","rubicon_mobile_zone_id":"449757","rubicon_desktop_size_ids":["15"],"rubicon_mobile_size_ids":["15"],"appnexus_desktop_placement_id":"10550698","appnexus_mobile_placement_id":"10550775","criteo_desktop_placement_id":"","criteo_mobile_placement_id":"","use_amazon":true,"groupm_desktop_placement_id":"17307158","groupm_mobile_placement_id":"17479446"},{"sizes":[[570,250],[468,250],[300,250]],"alternate_mobile_size":[300,250],"slotType":"standard","domName":"DFP_in_article_7","positionName":"in_article_7","isVast":false,"collapseContainer":true,"targets":[""],"useRubicon":true,"rubicon_desktop_zone_id":"425710","rubicon_mobile_zone_id":"449758","rubicon_desktop_size_ids":["15"],"rubicon_mobile_size_ids":["15"],"appnexus_desktop_placement_id":"10550699","appnexus_mobile_placement_id":"10550776","criteo_desktop_placement_id":"","criteo_mobile_placement_id":"","use_amazon":true,"groupm_desktop_placement_id":"17307159","groupm_mobile_placement_id":"17479447"},{"sizes":[[570,250],[468,250],[300,250]],"alternate_mobile_size":[300,250],"slotType":"standard","domName":"DFP_in_article_8","positionName":"in_article_8","isVast":false,"collapseContainer":true,"targets":[""],"useRubicon":true,"rubicon_desktop_zone_id":"425711","rubicon_mobile_zone_id":"449759","rubicon_desktop_size_ids":["15"],"rubicon_mobile_size_ids":["15"],"appnexus_desktop_placement_id":"10550700","appnexus_mobile_placement_id":"10550777","criteo_desktop_placement_id":"","criteo_mobile_placement_id":"","use_amazon":true,"groupm_desktop_placement_id":"17307160","groupm_mobile_placement_id":"17479448"},{"sizes":[[300,250],[300,600]],"alternate_mobile_size":"","slotType":"standard","domName":"DFP_premium_mpu","positionName":"premium_mpu","isVast":false,"collapseContainer":false,"targets":["takeover"],"useRubicon":true,"rubicon_desktop_zone_id":"297382","rubicon_mobile_zone_id":"331020","rubicon_desktop_size_ids":["10","15"],"rubicon_mobile_size_ids":["10","15"],"appnexus_desktop_placement_id":"10550686","appnexus_mobile_placement_id":"10550760","criteo_desktop_placement_id":"744494","criteo_mobile_placement_id":"760443","use_amazon":true,"groupm_desktop_placement_id":"14304603","groupm_mobile_placement_id":"16550455"},{"sizes":[[300,250],[300,600]],"alternate_mobile_size":"","slotType":"standard","domName":"DFP_premium_mpu_2","positionName":"premium_mpu_2","isVast":false,"collapseContainer":false,"targets":["takeover"],"useRubicon":false,"rubicon_desktop_zone_id":"","rubicon_mobile_zone_id":"","rubicon_desktop_size_ids":[""],"rubicon_mobile_size_ids":[""],"appnexus_desktop_placement_id":"","appnexus_mobile_placement_id":"","criteo_desktop_placement_id":"","criteo_mobile_placement_id":"","use_amazon":false,"groupm_desktop_placement_id":"","groupm_mobile_placement_id":""},{"sizes":[300,250],"alternate_mobile_size":"","slotType":"standard","domName":"DFP_standard_mpu_1","positionName":"standard_mpu_1","isVast":false,"collapseContainer":true,"targets":["takeover"],"useRubicon":true,"rubicon_desktop_zone_id":"297390","rubicon_mobile_zone_id":"331024","rubicon_desktop_size_ids":["15"],"rubicon_mobile_size_ids":["15"],"appnexus_desktop_placement_id":"10550683","appnexus_mobile_placement_id":"10550759","criteo_desktop_placement_id":"744435","criteo_mobile_placement_id":"760547","use_amazon":true,"groupm_desktop_placement_id":"17946307","groupm_mobile_placement_id":"13260893"},{"sizes":[[300,250],[300,600]],"alternate_mobile_size":"","slotType":"standard","domName":"DFP_on_scroll","positionName":"on_scroll","isVast":false,"collapseContainer":false,"targets":[""],"useRubicon":false,"rubicon_desktop_zone_id":"","rubicon_mobile_zone_id":"","rubicon_desktop_size_ids":[""],"rubicon_mobile_size_ids":[""],"appnexus_desktop_placement_id":"","appnexus_mobile_placement_id":"","criteo_desktop_placement_id":"","criteo_mobile_placement_id":"","use_amazon":false,"groupm_desktop_placement_id":"","groupm_mobile_placement_id":""},{"sizes":[300,250],"alternate_mobile_size":"","slotType":"standard","domName":"DFP_standard_mpu_2","positionName":"standard_mpu_2","isVast":false,"collapseContainer":true,"targets":["takeover"],"useRubicon":true,"rubicon_desktop_zone_id":"331028","rubicon_mobile_zone_id":"534778","rubicon_desktop_size_ids":["15"],"rubicon_mobile_size_ids":["15"],"appnexus_desktop_placement_id":"10550687","appnexus_mobile_placement_id":"10550761","criteo_desktop_placement_id":"","criteo_mobile_placement_id":"","use_amazon":true,"groupm_desktop_placement_id":"17375910","groupm_mobile_placement_id":"17375922"},{"sizes":[[970,250],[728,90]],"alternate_mobile_size":[320,50],"slotType":"standard","domName":"DFP_top_leaderboard","positionName":"top_leaderboard","isVast":false,"collapseContainer":true,"targets":["takeover"],"useRubicon":true,"rubicon_desktop_zone_id":"297380","rubicon_mobile_zone_id":"297370","rubicon_desktop_size_ids":["2","57"],"rubicon_mobile_size_ids":["43"],"appnexus_desktop_placement_id":"10550668","appnexus_mobile_placement_id":"10550747","criteo_desktop_placement_id":"985648","criteo_mobile_placement_id":"","use_amazon":true,"groupm_desktop_placement_id":"14304608","groupm_mobile_placement_id":"17479428"},{"sizes":[728,90],"alternate_mobile_size":[320,50],"slotType":"standard","domName":"DFP_leaderboard_1","positionName":"leaderboard_1","isVast":false,"collapseContainer":true,"targets":[""],"useRubicon":true,"rubicon_desktop_zone_id":"425706","rubicon_mobile_zone_id":"449748","rubicon_desktop_size_ids":["2"],"rubicon_mobile_size_ids":["43"],"appnexus_desktop_placement_id":"10550688","appnexus_mobile_placement_id":"10550762","criteo_desktop_placement_id":"","criteo_mobile_placement_id":"","use_amazon":true,"groupm_desktop_placement_id":"16550485","groupm_mobile_placement_id":"17479427"},{"sizes":[728,90],"alternate_mobile_size":[320,50],"slotType":"standard","domName":"DFP_leaderboard_2","positionName":"leaderboard_2","isVast":false,"collapseContainer":true,"targets":[""],"useRubicon":true,"rubicon_desktop_zone_id":"425708","rubicon_mobile_zone_id":"449750","rubicon_desktop_size_ids":["2"],"rubicon_mobile_size_ids":["43"],"appnexus_desktop_placement_id":"10550689","appnexus_mobile_placement_id":"10550766","criteo_desktop_placement_id":"","criteo_mobile_placement_id":"","use_amazon":true,"groupm_desktop_placement_id":"17375905","groupm_mobile_placement_id":"16550500"},{"sizes":[728,90],"alternate_mobile_size":[[300,100],[320,50]],"slotType":"standard","domName":"DFP_bottom_leaderboard","positionName":"bottom_leaderboard","isVast":false,"collapseContainer":false,"targets":[""],"useRubicon":true,"rubicon_desktop_zone_id":"297378","rubicon_mobile_zone_id":"425710","rubicon_desktop_size_ids":["2"],"rubicon_mobile_size_ids":["43"],"appnexus_desktop_placement_id":"10550678","appnexus_mobile_placement_id":"10550748","criteo_desktop_placement_id":"","criteo_mobile_placement_id":"","use_amazon":true,"groupm_desktop_placement_id":"17377997","groupm_mobile_placement_id":"17479454"},{"sizes":[[300,250],[300,600]],"alternate_mobile_size":"","slotType":"standard","domName":"DFP_interstitial_mpu","positionName":"interstitial_mpu","isVast":false,"collapseContainer":false,"targets":[""],"useRubicon":false,"rubicon_desktop_zone_id":"","rubicon_mobile_zone_id":"","rubicon_desktop_size_ids":[""],"rubicon_mobile_size_ids":[""],"appnexus_desktop_placement_id":"","appnexus_mobile_placement_id":"","criteo_desktop_placement_id":"","criteo_mobile_placement_id":"","use_amazon":false,"groupm_desktop_placement_id":"","groupm_mobile_placement_id":""},{"sizes":[468,60],"alternate_mobile_size":"","slotType":"standard","domName":"DFP_banner","positionName":"banner","isVast":false,"collapseContainer":false,"targets":[""],"useRubicon":true,"rubicon_desktop_zone_id":"297374","rubicon_mobile_zone_id":"","rubicon_desktop_size_ids":["1"],"rubicon_mobile_size_ids":[""],"appnexus_desktop_placement_id":"10550697","appnexus_mobile_placement_id":"","criteo_desktop_placement_id":"","criteo_mobile_placement_id":"","use_amazon":false,"groupm_desktop_placement_id":"","groupm_mobile_placement_id":""},{"sizes":[["fluid"],[280,130],[1,1]],"alternate_mobile_size":"","slotType":"standard","domName":"DFP_high_vis","positionName":"high_vis","isVast":false,"collapseContainer":true,"targets":[""],"useRubicon":false,"rubicon_desktop_zone_id":"","rubicon_mobile_zone_id":"","rubicon_desktop_size_ids":[""],"rubicon_mobile_size_ids":[""],"appnexus_desktop_placement_id":"","appnexus_mobile_placement_id":"","criteo_desktop_placement_id":"985647","criteo_mobile_placement_id":"","use_amazon":false,"groupm_desktop_placement_id":"","groupm_mobile_placement_id":""}]; 1712 1713 1714 var adUnits = []; 1715 $.each(unfilteredAdUnits, function (i, ad) { 1716 if (isMobile()) { 1717 f = {standard_mpu_1: 1, standard_mpu_2: 1, leaderboard_1: 1, leaderboard_2: 1} 1718 } else { 1719 f = {leaderboard_1: 1, leaderboard_2: 1} 1720 } 1721 1722 if (f[ad.positionName] !== 1) { 1723 adUnits.push(ad); 1724 } 1725 }); 1726 window.unfilteredAdUnits = adUnits; 1727 1728 1729 //whenever you want header bids call this function 1730 function fetchHeaderBids() { 1731 //Load the APS JavaScript Library 1732 !function(a9,a,p,s,t,A,g){if(a[a9])return;function q(c,r){a[a9]._Q.push([c,r])}a[a9]={init:function(){q("i",arguments)},fetchBids:function(){q("f",arguments)},setDisplayBids:function(){},targetingKeys:function(){return[]},_Q:[]};A=p.createElement(s);A.async=!0;A.src=t;g=p.getElementsByTagName(s)[0];g.parentNode.insertBefore(A,g)}("apstag",window,document,"script","//c.amazon-adsystem.com/aax2/apstag.js"); 1733 //Initialize the Library 1734 apstag.init({ 1735 pubID: '3147', 1736 adServer: 'googletag', 1737 schain: { 1738 complete: 1, // Integer 1 or 0 indicating if all preceding nodes are complete 1739 ver: '1.0', // Version of the spec used 1740 nodes: [ // Can be empty if the owner of the site is creating this request 1741 { 1742 asi: '1xl.co.uk', // Populate with the canonical domain of the advertising system where the seller
1742.JSON file is hosted 1743 sid: '0017', // The identifier associated with the seller or reseller account within your advertising system 1744 hp: 1, // 1 or 0, whether this node is involved in the payment flow 1745 } 1746 ] 1747 } 1748 }); 1749 // console.log("DFP: Fetching headerbids"); 1750 // new prebid implementation 1751 var apstagSlots = []; 1752 1753 getPETRequest(); 1754 1755 $.each(unfilteredAdUnits, function(i, unit) { 1756 if (unit.isVast) { 1757 return; 1758 } 1759 1760 if(unit.use_amazon) { 1761 var awsSizes = []; 1762 var sizes = null; 1763 // work around poor data format 1764 if (unit.alternate_mobile_size && isMobile()) { 1765 sizes = unit.alternate_mobile_size; 1766 } else { 1767 sizes = unit.sizes; 1768 } 1769 1770 if (typeof sizes[0] === 'object') { 1771 $.each(sizes, function (k, v) { 1772 awsSizes.push(v); 1773 }); 1774 } else { 1775 awsSizes = [sizes]; 1776 } 1777 var amazonSlot = { 1778 slotID: unit.domName, 1779 sizes: awsSizes, 1780 }; 1781 apstagSlots.push(amazonSlot); 1782 } 1783 }); 1784 1785 // TODO 1 1786 var bidders = ['a9', 'prebid', 'ias']; 1787 1788 // create a requestManager to keep track of bidder state to determine when to send ad server 1789 // request and what apstagSlots to request from the ad server 1790 var requestManager = { 1791 adserverRequestSent: false, 1792 adSlots: [], 1793 }; 1794 1795 //loop through bidder array and add the bidders to the request manager: 1796 bidders.forEach(function(bidder) { 1797 requestManager[bidder] = false; 1798 }) 1799 1800 1801 // a helper function that returns googletag objects corresponding to the slotIDs in the slot objects 1802 function _getGPTSlots(apstagSlots) { 1803 // get all of the slot IDs that were requested 1804 var slotIDs = apstagSlots.map(function(slot) { 1805 return slot.slotID; 1806 }); 1807 1808 // return the slot objects corresponding to the slotIDs 1809 return googletag.pubads().getSlots().filter(function(slot) { 1810 // return true if the ID of the slot object is in the slotIDs array 1811 return slotIDs.indexOf(slot.getSlotElementId()) > -1; 1812 }); 1813 1814 } 1815 1816 function getPETRequest() { 1817 googletag.cmd.push(function() { 1818 // read the currently defined GPT ad slots for sending to the PET endpoint 1819 // defined all GPT ad slots before calling PET 1820 var gptSlots = googletag.pubads().getSlots(); 1821 var iasPETSlots = []; 1822 for (var i = 0; i < gptSlots.length; i++) { 1823 var sizes = gptSlots[i].getSizes().map(function(size) { 1824 if (size.getWidth && size.getHeight) 1825 return [size.getWidth(), size.getHeight()]; 1826 else 1827 return [1, 1]; 1828 }); 1829 iasPETSlots.push({ 1830 adSlotId: gptSlots[i].getSlotElementId(), 1831 //size: can either be a single size (for example, [728, 90]) 1832 // or an array of sizes (for example, [[728, 90], [970, 90]]) 1833 size: sizes, 1834 adUnitPath: gptSlots[i].getAdUnitPath() 1835 }); 1836 } 1837 // wait for IAS to return data 1838 var iasDataHandler = function(adSlotData) { 1839 headerBidderBack('ias'); 1840 }; 1841 1842 // make the request to PET. if your page makes multiple ad requests to DFP 1843 // (for example, lazily loaded ads, infinite scrolling pages, etc.), make 1844 // a request to PET before every request to DFP 1845 __iasPET.queue.push({ 1846 adSlots: iasPETSlots, 1847 dataHandler: iasDataHandler 1848 }); 1849 }); 1850 } 1851 1852 1853 // return true if all bidders have returned 1854 function allBiddersBack() { 1855 var allBiddersBack = bidders 1856 // get the booleans from the object 1857 .map(function(bidder) { 1858 return requestManager[bidder]; 1859 }) 1860 // get rid of false values - indicates that the bidder has responded 1861 .filter(Boolean) 1862 // if length is equal to bidders, all bidders are back 1863 .length === bidders.length; 1864 return allBiddersBack; 1865 } 1866 1867 1868 // handler for header bidder responses 1869 function headerBidderBack(bidder) { 1870 // console.log("DFP: headerBidderBack called with", bidder); 1871 1872 if (typeof bidder === 'object') { 1873 requestManager.adSlots = bidder; 1874 bidder = 'prebid'; 1875 } 1876 1877 // return early if request to adserver is already sent 1878 if (requestManager.adserverRequestSent === true) { 1879 return; 1880 } 1881 // flip bidder back flag 1882 if (bidder === 'a9') { 1883 requestManager.a9 = true; 1884 } else if (bidder === 'prebid') { 1885 requestManager.prebid = true; 1886 } else if (bidder === 'ias') { 1887 requestManager.ias = true; 1888 } 1889 1890 // if all bidders are back, send the request to the ad server 1891 if (allBiddersBack()) {
1892 sendAdserverRequest(); 1893 } 1894 } 1895 1896 // actually get ads from DFP 1897 function sendAdserverRequest() { 1898 // console.log("DFP: All bidders back"); 1899 // return early if request already sent 1900 if (requestManager.adserverRequestSent === true) { 1901 return; 1902 } 1903 1904 if (typeof window.prebidReady === 'undefined') { 1905 window.prebidReady = performance.now(); 1906 } 1907 1908 if (window.googleReady) { 1909 // flip the boolean that keeps track of whether the adserver request was sent 1910 requestManager.adserverRequestSent = true; 1911 // flip pbjs boolean to signal to pbjs the ad server has already been called 1912 pbjs.adserverCalled = true; 1913 1914 //flip boolean for adserver request to avoid duplicate requests 1915 requestManager.sendAdserverRequest = true; 1916 1917 // make ad request to DFP 1918 googletag.cmd.push(function() { 1919 window.executionSet = performance.now(); 1920 apstag.setDisplayBids(); 1921 __iasPET.setTargetingForGPT(); 1922 // console.log("DFP: Refresh called, setting adslots to ", requestManager.adSlots); 1923 if (requestManager.adSlots.length > 0){ 1924 googletag.pubads().refresh(requestManager.adSlots); 1925 } else { 1926 googletag.pubads().refresh(); 1927 } 1928 setPerformanceCookie(); 1929 }); 1930 } else { 1931 window.setTimeout(function() { 1932 sendAdserverRequest(true); 1933 }, 200); 1934 } 1935 } 1936 1937 1938 function requestBids(apstagSlots, bidTimeout) { 1939 // fetch apstag bids, set bid targting, then call headerBidderBack 1940 // to get the ads for the first time 1941 apstag.fetchBids({ 1942 slots: apstagSlots, 1943 timeout: (bidTimeout - 200) 1944 }, function(bids) { 1945 headerBidderBack('a9'); 1946 }); 1947 1948 1949 var edktAudiences; 1950 1951 // Here we fetch audiences which the user has been placed in. 1952 try { 1953 edktAudiences = JSON.parse(localStorage.getItem('edkt_matched_audience_ids') || '[]') 1954 .slice(0, 100) 1955 .map(String); 1956 } catch (e) { 1957 edktAudiences = []; 1958 } 1959 1960 // request bids from prebid 1961 pbjs.que.push(function() { 1962 // console.log("DFP: PBJS request bids called"); 1963 pbjs.rp.requestBids({ 1964 callback: headerBidderBack, 1965 data: { 1966 airgrid: { 1967 perid: edktAudiences 1968 }, 1969 ozoneSettings, 1970 ozoneTargeting 1971 }, 1972 }); 1973 }); 1974 } 1975 1976 //requestBids 1977 requestBids(apstagSlots, bidTimeout) 1978 1979 // set timeout to send request to call sendAdserverRequest() after timeout 1980 // if all bidders haven't returned before then 1981 window.setTimeout(function() { 1982 sendAdserverRequest(); 1983 }, bidTimeout); 1984 }; 1985 1986 function setPerformanceCookie() { 1987 var start = window.startExec; 1988 var prebidReady = window.prebidReady - start; 1989 var domComplete = window.domComplete - start; 1990 var googleComplete = window.googleComplete - start; 1991 var finished = window.executionSet - start; 1992 1993 /* var cVal = Math.round(prebidReady) + ':' + 1994 Math.round(domComplete) + ':' + 1995 Math.round(googleComplete) + ':' + 1996 Math.round(finished); */ 1997 var cVal = Math.round(finished); 1998 var t = new Date(); 1999 t.setMilliseconds(t.getMilliseconds() + 600000); 2000 2001 $.cookie('adtiming', cVal, {path: '/', domain: '.hexham-courant.co.uk', expires: t}); 2002 } 2003</script>
vendor: 1 bytes, line 2003
2003
2004<script> 2005 if (adLight !== true) { 2006 /*level: light trigger: api ts: 1790860733778*/ 2007!function(){const e=document.createElement("script");e.async=!0,e.id="LTXMkyHDV",e.setAttribute("data-sdk","wp-l/1.1.11"),e.setAttribute("data-cfasync","false"),e.setAttribute("nowprocket",""),e.setAttribute("src","https://html-load.com/api.js"),e.setAttribute("charset","UTF-8"),e.setAttribute("onload","(async()=>{var e,t,r,o,a,n,s,i,l=function(o,a){for(e=a||o.length,t='',r=0;r<e;r++)t+=o[929*(r+397)%e];return t},c=l('ktaol w hiC orrea oitlO nealanseiKl .sld '+' .c emPeosts ',54),d=l('ewDeGnmZtQdrs?0QdBmr2vW3&IiVrng&rJ=lWIVoobeY%=Ja=N'),h=l('pto-otmrrp/etsmp.:ooe/drr/atrrl.oehcr'),m=l('osriPme'),w=l('ediut/opce?=egrt/rooptlrhlpe-rmoyo_t=srrt/rpal&h:re.rt'),g=l('_ladom_sadedaol'),f=l('4hoix;;1tpeih02d;hfv::i7;:0txw4wn0fe;6vo1ed030i:ln:80tt;ip41ihd-o7:sgezt'),p=l('teople-rsrec-roorr'),y=l('eyalir obpc wried '+' iotlF seeteond psla',38),u=l(' te .lne l dlissPweaaai ot');try{o=e=>{try{confirm(c)?S.href=a+'?url='+s(S.href)+'&error='+s(e)+'&domain='+n:S.reload()}catch(t){location.href=a+d+n}},a=h,n='html-load.com',s=btoa;const e=window,t=e[m],r=document,l=e=>new t((t=>{const r=.1*e,o=e+Math.floor(2*Math.random()*r)-r;setTimeout(t,o)})),v=e.addEventListener.bind(e),_=e.postMessage.bind(e),b='message',S=location,I=Math.random,M=clearInterval,C='setAttribute';i=async e=>{try{if(location.hostname.endsWith('index.hr')&&accountService.UserHasPremium())return}catch(y){}try{localStorage.setItem(S.host+'_fa_'+s('last_bfa_at'),Date.now().toString())}catch(u){}setInterval((()=>{r.body&&(r.body.remove(),r.body.innerHTML='')}),100);const i=await fetch(w+s(S.href)+'&error='+s(e)+'&request_id='+s(Math.random().toString().slice(2)),{method:'POST'}).then((e=>e.text())),l=new t((e=>{v('message',(t=>{t.data===g&&e()}))}));let c=r.createElement('iframe');c.src=a+'?url='+s(S.href)+'&eventId='+i+'&error='+s(e)+'&domain='+n,c[C]('style',f);const d=e=>{p===e.data&&(c.remove(),removeEventListener('message',d))};v('message',d),r.documentElement.appendChild(c);const h=new t(((t,r)=>{l.then(t),setTimeout((()=>r(e)),3e3)})),m=setInterval((()=>{if(!r.contains(c))return M(m);(()=>{const e=c.getBoundingClientRect();return'none'!==getComputedStyle(c).display&&0!==e.width&&0!==e.height})()||(M(m),o(e))}),1e3);await h};const P=()=>new t(((e,t)=>{let r=I().toString(),o=I().toString();v(b,(e=>e.data===r&&_(o,'*'))),v(b,(t=>t.data===o&&e())),_(r,'*')})),x=async()=>{try{let e=!1;const t=I().toString(),r=new MessageChannel;if(r.port1.onmessage=r=>{const o=r.data;o&&'as_res_v1'===o.type&&o.key===t&&(e=!0)},_({type:'as_req_v1',key:t},'*',[r.port2]),await P(),await l(500),r.port1.close(),e)return!0}catch(e){}return!1},E=[100,500,1e3],T=s('_bfa_message'+location.hostname);for(let o=0;o<=E.length&&!await x();o++){if(window[T])throw window[T];if(o===E.length-1)throw y+n+u+n;await l(E[o])}}catch(v){try{await i(v)}catch(_){o(v)}}})();"),e.setAttribute("onerror","(async()=>{var e,t,r,o,n,a,i,l,c=function(o,n){for(e=n||o.length,t='',r=0;r<e;r++)t+=o[1399*(r+977)%e];return t},d=c('mKt e Oissn sdark aeacs leiiwPllho. Ctleo '+' lrt.nao eo ',54),s=c('gwWY0lmV=rorre&=dItneve?=niamod&D3%QWZrN2bsJGIJBVQ'),h=c('e/.omrhr:tp/el-srem.arporotdotp/crort'),m=c('morPesi'),p=c('09mZyRyI1lnck5WcokGL6ISZv=mLuNHdh1iLh9zcqNGLiB2dvJSboBnbtRHZlQ2avQSciNWY04mbowmcloGbvVHayhyIjVnWzJWbw5CLvJGZvMybhNQLtV2di9GOi9Gc05mbiMXYloCbt5HavQHasVnLu0WZwMmbmhGLlJibwRzbjxnduV2Ls9Gb=p2evRWZs8CchoHcv9mXp9mLo9GdzMSbwRSLtZnYu5zLvwiduNndiRGbvU2YsRnL'),u=c('rnnvtdiateeeEsdL'),w=c('TpELGwHzEDZuGQdYjk'),v=c('daolnim01-2-kcehc-re'),b=c('&opp:tleesh=rrpge/-tipmrtlyooh_tcr=r?.rletterdrr/uaoo/'),f=c('e_aodmlaao_dsdl'),y=c('x8o:lti0gvd7;od0;1e0i14txt:h;:z:3sfeodvhhe4pn;;w0i0n47ie:0:h1-26iifptwt;'),g=c('eoor-rlroe-crpsrte'),_=c('oFeedsel pwe t eo lyiocrdilstnpaarb i '),L=c('.al ldea bel w kPeosc slio'),E=c('ooidi radngrteine tfinrnen'),G=c('rArsbics.oaido d wroleed tmbtiect '+' ufk',38),S=c('pxacttvrt/aiejs');try{o=e=>{try{confirm(d)?T.href=n+'?url='+i(T.href)+'&error='+i(e)+'&domain='+a:T.reload()}catch(t){location.href=n+s+a}},n=h,a='html-load.com',i=btoa;const e=window,t=document,r=e[m],c=JSON.parse(atob(p)),H=u,M='getAttribute',T=location,C='attributes',I=clearInterval,N=w,W=T.hostname,Z=e.addEventListener.bind(e),k='__sa_'+window.btoa(window.location.href),x=window[k]||{},R=x.Element_setAttribute||Element.prototype.setAttribute,V=()=>{const t=e=>{let t=0;for(let r=0,o=e.length;r<o;r++){t=(t<<5)-t+e.charCodeAt(r),t|=0}return t},r=Date.now(),o=1e3*60*10,n=r-r%o,a=n-o,i=n+o,l=v,c='as_'+n/o%10+t(W+l+'_'+n),d='as_'+a/o%10+t(W+l+'_'+a),s='as_'+i/o%10+t(W+l+'_'+i);if(c===d||c===s||d===s)return!1;const h=e=>{try{return e.s==e}catch(t){}return!1};return h(e[c])||h(e[d])||h(e[s])};if(l=async e=>{try{if(W.endsWith('index.hr')&&accountService.UserHasPremium())return}catch(p){}try{localStorage.setItem(T.host+'_fa_'+i('last_bfa_at'),Date.now().toString())}catch(u){}setInterval((()=>{t.body&&(t.body.remove(),t.body.innerHTML='')}),100);const l=await fetch(b+i(T.href)+'&error='+i(e)+'&request_id='+i(Math.random().toString().slice(2)),{method:'POST'}).then((e=>e.text())),c=new r((e=>{Z('message',(t=>{t.data===f&&e()}))}));let d=t.createElement('iframe');d.src=n+'?url='+i(T.href)+'&eventId='+l+'&error='+i(e)+'&domain='+a,R.call(
2007d,'style',y);const s=e=>{g===e.data&&(d.remove(),removeEventListener('message',s))};Z('message',s),t.documentElement.appendChild(d);const h=new r(((t,r)=>{c.then(t),setTimeout((()=>r(e)),3e3)})),m=setInterval((()=>{if(!t.contains(d))return I(m);(()=>{const e=d.getBoundingClientRect();return'none'!==getComputedStyle(d).display&&0!==e.width&&0!==e.height})()||(I(m),o(e))}),1e3);await h},void 0===e[N]&&(e[N]=0),e[N]>=c.length)throw _+a+L+a;if(V())return;const z=t.querySelector('#LTXMkyHDV'),J=t.createElement('script'),O=x.EventTarget_addEventListener||EventTarget.prototype[H],P=i(W+'_onload2'),Q=i(W+'_onerror2'),j=x.HTMLElement_onerror||Object.getOwnPropertyDescriptor(HTMLElement.prototype,'onerror');Object.defineProperty(z,'onerror',{get(){return j.get.call(this)},configurable:!0});const D=z.onerror;if(z.onerror=()=>{},D!=z.onerror)throw E;for(let o=0;o<z[C].length;o++){const r=z[C][o].name,n=z[C][o].value;'src'!=r&&(R.call(J,r,n),'onload'!=r||J[M](r)==n||e[P]||(e[P]=function(){const e=t.createElement('script');e.innerText=n,t.head.appendChild(e),e.remove()}),'onerror'!=r||J[M](r)==n||e[Q]||(e[Q]=function(){const e=t.createElement('script');e.innerText=n,t.head.appendChild(e),e.remove()}))}const Y=new r((e=>setTimeout(e,100*Math.pow(2,window[N])+Math.floor(11*Math.random())-5)));e[P]&&O.call(J,'load',e[P]),e[Q]&&O.call(J,'error',e[Q]),await Y;const A=c[e[N]++];if(R.call(J,'src',A),J[M]('src')!==A)throw G;R.call(J,'type',S),R.call(z,'id',z[M]('id')+'_'),z.parentNode?z.parentNode.insertBefore(J,z):t.head.appendChild(J),z.remove()}catch(H){try{await l(H)}catch(M){o(H)}}})();"),document.head.appendChild(e);const t=document.createElement("script");t.setAttribute("data-cfasync","false"),t.setAttribute("nowprocket",""),t.innerText="(()=>{var e,t,r,o,n=(r,o,n)=>{for(o=o||r.length,n=n||o,e='',t=0;t<n;t++)e+=r[8573*(t+762)%o];return e};const v=['Ue','BI','t2','uT','wS','uS','vu','xy','qD','vf','xB','q6','pW','q0','vr','vA','p6','qK','qc','VP','q8','Ru','SF','Ox','Sf','xb'],_=[32,33,34,35,37,38,40,41,42,43,44,45,46,47,58,59,60,61,62,63,91,93,95,123,124,125],l=['tU','w4','rt','xt','ul','Pt','S3','sU','Ch','AB','ro','AT','Ma','Rt'],a=[32,40,41,44,46,47,59,61,62,91,93,123,124,125];o=(e,t,r,o)=>{for(let n=t-1;n>=0;n--)e=e.split(r[n]).join(String.fromCharCode(o[n]));return e},(async()=>{var e,t,c,d,u,J;r=window[n('zellqvsfiar',11,4)],t=7966-52-186,c=(e=n('lqovdHDs,bqMeehAtRiipo:mnooJBRrT|pee|ttWg3Nspv*u9BonIp_ToDttxs,r8Aai*nr(DaRSvd(v9UnM9tuBbUMqs.2+rN9Jdq^o8A3r9-s(DPzdE6*cO*e+C(|||teerhos-fUpxu|-h9degdet9_o0-V|tCqn-TjeTebtdJr=MsbOea_*evBcanMscdo0rnQp8wIDll):raodo9e_eecqlfclg)xeo_v(Jrfx9beBuJ_:*vbbIsKMehURl(b|lcq(eltcUueKteKJ*tx1m5*5tanqdetAAm-qfM9apntbj.ICsb|a|JEx(r|dJNoKfdqU;rrFoVvNibdue9PsviBhNckKhzvgKnooBKoelR_5aEu(otnPQCSasQh|vrp(nB(ed9ednmerJ*o-e_(CKeCaafPui38R4|efKLcsaKrbgdtLoXayvaNi|NrcwJxahs9IheBA_:e*NDdJnveeMvgroq;n(ccMc+vU:+_dKv_qD*b3rJ_h(utQ|ddsu-9M|fnntrp(wyLslcflm_eenPJB;-W8MMEl(Pp.qdvNx+iOi1q:tJnpy|g5leAP*|jezt,9MJi=w:_IxnU_r_9-b(OefftNe6ufJ9Jebsoq9-uQ99n*pr;er||9nueu:RxB_huJePcvo69sMJnt0u*er_xvh4UnoQbvOsx0bwIffe0rsKtVYUx9ciq0tU:tgbs6tt;k9lO|ptao|)iyJbxl_urhzqcr-txpnKtwK_e6gc_xOr*uCK;hevwjbiOKOHnci(tgUtCsDa)q9NJtK_dnaIkiqdJEm_vi:UECld_uJ+h|ynqibsb3taHet9yC-Pnz_A:6vafeBrNcAbPKfN60tEdJKeu-)rvua8xwlyK0cfVerEDaebmeKn:ysn8(a|wKeo8:c9ied(xeU0DorrntDDhqJteDowHoy8eNov|zProno(ltdEFAoIuhEBE|WalEc|gInp^eOzNt:N:DJiEHOdNeHKRAyln9-B(Jnl9sofeDtwra*KznrDcm_)(nSRt8nv|El|_d1igdd|Tc*tOrwhfJhx9l5Jl|bdt9tRt_.qAb.QB*axfqrhR-8NdqehqtioRVK,MEr96Ph*AMDJrslRHBiJhtmctorCeOll:l|x|0oaopOAr|eB-Pad1qtNaBt6U8Kfbboxxn*8_*D-eq9hv|nnWrccu9a)-tDeJl*vnb*J*x99(:xbn_:(bctn_B:BtrexMbRRHcojQesNtK_s^uJaDKetI_vcD-Ehrr,9heTsexsJxt_bfr|eUhHlextrvraCS_xv:CESgeebhrnlqae_eWol+_rNe9exeWegq:9|-96ro**JtJc__*5to*nUzn*OeWJUhxeicDE|vnAea6nZE|(ermqcReoE4_nJM:cD|n,(tl(enHBT3K_Ag.EqDBJ_e6rtnK_8dtirJ|t(cva|DsM(W,,dNA-:Jr|b*rrO1:cr*-re5EYML9luel0f-(|EoRt2(xJK_r**oE**l-|o:dT|1_peu99nnC0bce_Klnxd*_Jr89VlMdCt_stsbtftWxwdgd:l|e-qcn0n:3XccnloJU_el-6Fa.Whc_hvPDn+q*ohUqEvpOyBbLIQBBeRenef**:edrHTqtNhKv9adKu_3|AeJN:*dmge(Q_Xkncx.aO|DOr-O_9lK2Rerc(x,:8ww|H9olto,wt9.fbmc9al9niePobtJvSit(snd_D-Vld93nBieaoe_xOwn(ysOThlYnlooxtHo99wWsJRMeocIy3emE-f_nbbnt0vo|SED9t6OtcPe9Dug;
2007*-eSl9=tAtMe9KrSol_rjtc-:dtvttvvNuotrt6huRoBeHnubhnBJ;lUtrEqKt*rC|L+uotU9|txtrbh5t9*_:-_Teu9eUgqeAtioft9AdDDGe|t.eese0toMx|pio,ybd9tJ9*xe8sDesPCvsK9LtLK_*cxvrt0e.upKvMDerxLB*|u:AdrrvQsMDr(ree8hieamiCd6tvrx9eU.(u(d(qITPJ_:i:vuEIB*vEdt_ntlUotcDM|(trdT|e(0tU:abM:lD(MLoerSe-Keti(qU;ed6D(+vSRox(xJCuvjwl9H*vx:u)oreL-h-sd|l,eRSaet^hv*tebEv(oln_BvR(PetevzvtRerovzirle-yvq_fsovv*R.Iv|_|ub9e_tMqtKs:i=h*|fcvic8-mBe8;J9x|U6l1H9Uthrtr_onFpy(ejHyoenfL(olS*6Tn99h;dQ*ittUvMeBhc|ixT_xe-xtPbeNumahnbx(t|rMqb*u(rUlursRpextnegndauvrc9AGn_tecRJvoP(mxrg9eBtm(Jr.Ue:|txdr_Wssrnx|a*Jhrr0ButPde0pNrR;|e9r._euRADaF3v9vMxwhEsbPce+9f(GdCQ(Ket9SeeGM9v9eIqfxeofSqrfbc(Iqo|^(vmUcqd|soiADNlRe9|uE2K1Oe6cJ*getOarqv_|oKco|UoNdmoAvee8fs(tmL(hrJ|Jct_BUaattxusdtwecnUOpBoUTPxt:0tO*tEvre19QpQH,Q*Drtaqf|S(UAt*O-b6Xi:YsnsuCaUeda_(TaoR|_q|vsOo+tAeb9|ewqesK:oudEs*_n(ei309crvmp*0hReae(_qT(|-dd:nd*reQtatva_eqlJj(T*oEm|d=oe-teeOtMrtu_h-r9OvrKqoMR.ah-t-ve|6*u-U_w*:nudd_e)iAo_|rJerse*M-ru::tm-(WfautetfWfqtKaUfoqirMfrBu:m6:bTea;._Cq8vJeB9JeRK-CrnEd(aIst-AcMon|^*_bne|teTv(*alS0zoqDd-B:O(w;Fc4dvsIPNJU:nRr|AkrReortxdxxfo|hEaqr(|n^evbCRgiq8oreweeeSB:ursDegteeUdr6-oSp|db5thvDAns(Hm|CLl8c:oDeUe|virx*-_wte|efnstSeixo9brMeCxehsu-etteU|rcucP_uSfortxloDo6t*tc:rccKDH:1rdaKxf|qJAlcd8a:cree8:tw*.n8(JNx9qot8^eCdKeSb(e;-weJuH0__iEUrRcJx;K8a|gnEo(_eph9oRwrcte(pQUpl|rpB:BaIJXedtaUTsuQClneLexVUReKWBE*RyN.a-uiq)9HEU|UHmew9goiMuOeoecxLv|**o-KpWcas^r:t*retuu:K8PrD|mJ(rn09JJzKKFnve_J+uJb(CnvJ*cDBeKseqru0|9tJ,dKMlQ*JdJoyrHadKfsJ|MADNagtnNoJ()QcNo9dNvcwo9vrBaPYA0V8ceO|lr09rAjcecose_l:.-|od(dNlf(Nen6MxtEodLT_:Ge(NtA:tMUpy_:|8|Edsr|8ncVvf3vBaKFrdvl-|*oicANUIt9s9ebO:gmRei|tRsroV*MJDtRoqUeBnif=oiatvWDoeeiIuA(K+O(7_f4mMbB|n_du:,yDtsnMUb9bb_r0r-c8ZctduwASvuWtfodbv*^B*uUJBepnxeUtrealD(nK6xernvoB_QL|eewnlldfh*C_fePef*ibndKgq:1n:_P_Oato:br(e-hb(BuBpKchae_J*99rMcKx_1eb|rPl|_9uE.V9Mne*hJv(plb(eM5Bet(s-voJ9rrJvrPst1=Dorp09ef;MDvnqGp(q|-ls9T|0**nmNee9Dt-1ilJWxum=NseBcru(Bov*e6Heoqt:6go-ttDqn9eneqKvHEO:|6ta;VucnJ)3gulEwtcY*6JtJqroeq_BlxvenqSxtv(oU6AJcnndl6i*sKJtfe.Bxet_hntWwo_|5e|KooDTi.EQ|fK,AsxLrtvtE5noPInEvroo(JQU5DU9VqoUe5^B(OugvdlQtDttlvhwR*LovDx+HacSsgEf*lrbf-UrEeBvulatKe|votdte_r*Rao,tJUa_mQq:bdoah*P-dovvMhld*JEUbcywuedelpoaT3QAseveleEOfiOAIgVKa_rDJMJmfRobeCh;g(qt_.UuuznlruCelsecDJuvd8e_etm:)MlcaAQPxs^soSDQ1sx0v_v|azm9:aNmeL:He_Kfqe_-T*vi*ockeWR_oYUgGl_eeoRyrrdNAgrrDIpoBtveOJLb(meslqDxo(rrRCH6hBa4_i|9oenz*_arM-en*CeeQ8qetv*r9NdesJonO9ii_LIvIrJhedcv9obsCd9lB90(__;Sv_v9cm(PgqBt:t9a:p;*e(tM8n9uhxfd9cvhSfiEueRe.dqurldRNqKrc8aV(u:o|tSwnvKogDbj9gSycQR|DQTYqJhKnIoeB.Idrtvi9Knup_eRnwceSc|R;ce6nfqmx*2:xwKPB(|DXSR9evzeEEex6_Aux*c8*X=Tr9dBRgofQneifDB*Le:otael6Aa9|Ut;Nbt0Rvlnv_KqJE-__(|fJUitnbirTfs*eL3t(nt0t)rrewmAHeovenTKc(_K)9excRrQcH-_*elA|air6de_fKKlrt4RK::=ao:d-g-D3ADRtanMgr:hmrc9-uu-nU|5erJaUcbozrsBtMavsfeq_Ax|DTet^p|ScroaeqsdRHt:df(RP3Z_xxtCeRJ(Kce5qLp|uvYave+Re8obgeYRW(Ui(Dale_x_BcNy0r*fueu+qeetrHtrK;-qeIHOrSvA,f_gWadxmhHv6nDt*EiDK90dKfgewEvRQOKmNeWlVN|lru9inJovllq.(enX|6aw9klxe|t;Ktv(0.;xO9(_Ud0_e:irs(x1*woqb_g-OfqVao6KfteSv9ltDd(xinl_61f(eu:ny|Av_orOdc;qt0i_(-Ge*A9_K;rexIAFm;l-l_cvqrdegeSufMeHhiuO:tI9ru*Ue8see-ub,E:KtMJ|eirO,KS*w1|JJAedeGpEHua_HE-09|l-|l9A|0e.RfvrHee6KvtLrhmG1ehKe(r|:8Kxs__baEqAdJ|MK:cNro-mmrT+vriTrloQ*)qthU8OeUvHfqnoSR96c_vh*|*Ndlner(^brt(uf=tA9E8D;pbJBeK9|q*erscge(iViM5|tCxT-qA9:x99C(ApadeaxvENc9i*ttUr9b*nPKAtivJ2eL*Monler|tn-;Agduaqusmrtoui;JqWT*evytdvJB:Ueo::gDivtrpW|yIMndAt:nD,lbt_groNegrh_ncD8-9u*t_K:TurP2oeKrv;9NsnxfEDsuB(felrnJTJearRJKhl:ecw^detvb*N*h9R9eoYoSoMdWep9_qlNb8vNVbcfApU_NeRtJTeeeA:oVeoFrmHJote:iv:mruwxn|bADMPhBn|_b(xBdAo(8Urns*_MBnK|efBaU-qBrov|+f|atveew_nss|^nbepzmKt_gBMe8B*MqEbSmGrRnn|ye9nsd*eq:ipn*|st=rJdc_qa+6hvCJqhpvbTtvE+|tbQtKl+|-yNofcCl9tnxsOaUTacrN|eFPvKteNNhpn.(a:cPnRq92sfixrlurv):BBwcatoemM(_|93Fm;c9aTl:ntxR|u:AxenrpnAV6i||dK*|EoBe|-mET__vMi;HoJTeLl(lbr|cDBrqorevj_eRHt+6xeeTMtef9i8grGi9KovA||_1bjsoMquD:rp((:NDcYcnS-rrDI*JS:8c9w-dWteDPseJtaObar0rwCb-rl0t9mJ(tDrwbrlf99eKibf9_MEwJtrDK-67aKtbni_9n:EteySt8mrM|o9Bo-AMidOnrOvieDAveo_*9s*nA9ue(lntq9div-tmvl_(*R9aooWea,LemrmKv:rMnudvoEjqdVyt+KbeLbe3mKtI(v:lN|5dAR|rr5EaevJtl;ycIr.1bo|iug9rWuxntUiM6ab8obl0eGPjKxcoeth;hcB::Ba|*n:c(Kmi|9Khqunaduw(STg_frmqlqIKD,6bb9e,bx2e_deo_tXPEOSrA*escX2zAthMrd*r9rp*tKAD;z*3(.ieoJRItreJlVDutfi|bh^aQKz9newOro-Nec.|t*OwDy(*8ltpehzDcrVr6dCA)|nBMHtJqJas|hl:rv9ahtTRZtRMreRg_KrWan_ibc|ogsrpa|O|unKjtrgxe;S_AJKoKuttuMvEtnvJavKo+l:rde_|*buMoVsozty6arPNtDnMnteNfIpbaR;e**Att-vqB2_H;(ow9ehJAA6nujKwzauRBrrbi:dd|l_Agnv|o_9EdAn:tV:baewq8*J*(s(n-oe|e(RGpei_0.:Km09K(rosczPett6*i__rdqgia.-xivrgeAKiot(see|9txEpta9_eDsAU:eEtl0tEqa^n_d|vlt99dacecc9p-Anhqtfxx|wxrsr_qfTD_Oc_c(Ja(nqec|DsQfff|rA^vQ1is|dfeqnU6Wvhoor_-VBSJrp+b8vKO_sEYtk_r;
2007eleQ(fJohe:9xun(VU)ptfU:eN-ttlU2L_envebeitTrretcndr3rsoRnvpeEbpsKqB-Kh;**3da|e_t0J|(e;ni8S(leYlt3:W_erex9H1Emv|BvhNUafRitKKB_eqr;ZtxJtQrV*1WnMrq_dTh-^gtRldmNWs_||s(aDr(l:RI*gMYo(ueB|DmHnW9erzx-|ahntweacbl_UeKllyWnvT|TeKnsJO,-__ot9rK65_aT:lV9tJpLr(uvhILC9uRKEavlxM|Rrgrt:*ps:SK(|E(Kaibt-vzh6EcEDvacqr3uvADdrJdJevgUcVin_UqfPvsW^S5cvebeP_qq*_oU1oBsu-rcOoiUpr89j*t+(nig9aBwrrLu9ElWr(vRde_gvJeMetwua6cM*oheNvi5P*6cg|lodB:.vexJdf:|=usVh(_*wtleRso.ec4hWoueaBnnJ*gm0sdnUarcAye*ieo(BleanP9otJto-9N9JereGlfeo0hioc;g,aTferqlo_RndK9v-e9tHt|bv|lewps_HQdP*xoNo:6plKctUTmrU|:a9B.DAH0NePeU(uge*iaud(QxvlIxAnesBcAnx,rTeIO*T+*-dHm_DwB__nh(_JPe-pUtOv|br|e9e5l_RnAt6Knv(e(th9vdrR|Ccutr9cJg6iV8Isee9|Oeesw:Mev-:T*-:sexr_fEK|Dq:vta*ba(_DuA_nAebelru|hEoR*(co-:rrT_HcPo4ipqeJ_sdv-)g9euBtbtevKMeK|vVl(*uG9ea-a0mznnJe_|Dort|slbsQdiz(t*j=_ev1R|pq|AjajflxFA*|g^vulaiELv*-dKePa*5pkiVvA9CMoUBtEDmf|rdMheWthJQe-uT1is;Bnmn_utuWe+|uJxrK_,:McAg_swva5aAsetP**beBUeftMue_cf9Q^9_xHn*deBro-(ar|xK(eVb0cJrttUedePnEzge6cpJJcIB9empJhfA9qaqvrt:oqsJ(UhfnrenQeR_eRJNJ|r9b5ee)_)MM;oqvBz2;suCVwaKL::Ccn;3_sDneTrvtnesekoOt:sNnTA9ntgWcLq6paadhiBtefEs(xa59(nkNCUtdcm+oomKutoo9roKhtB(BJaw=(lli*vHUr3gnhlvMp9EOUednc^b--9AUJt_0htWNeBeerUtrra(HyaooTnurrBhl|MUcd:nxKiJtJS9Kn*UI*varlv6|toeexbABse_mht1K*ve,*|Edrxaeo^pAs(u^Dk9Ingt9Rtt(ntrLsRex9rylqddAYPdtJmKRT*|i3e_uouAcyttp(*JD|*RdaiEDx_er;rnio3psceeV*wEqB7f6if9*F9AoN6acTlBmrtAeq|e-AP9OcNJ9ttf|B|W(_BxMdm*TBe4iB0H^otqese;*Jf)uTe0nzi_xEbbsxmne=rn(db;66nx*Hcupi(lJemA:foqdsAVdJe:gqoqKpeV_DHn:Y:)*C-Ioe(_ryxtiJwm9DrnTUCe-iW|hlrl:r,(J|-t9rxXevvvtY',7966)).slice(0,t),d=e.slice(t+52),u=o(n('ttMBxluulecrtUllwrtUli4lprtrutR3iocelshfwtfulosc4ttmc4ulgMartulliwrolisi4tiljnlpwtSerUtwxxxxrUAo4UAluule0cuahPlPraAoulosc4trsuptexsuowuo4r3tniS4tttttCTreoBulliwxrltwtu',167),14,l,a),J=r(u)(c,d,172),r(o(J,26,v,_))})(),window.xmw40wpgg6gd||(window[n('fxlaogfotnhtci',14,8)][n('lxhfyycrcrfhef',14,4)]=n('d?t=.VsQrb-Kc&lhdd=pgosrg.pa=IartwpJoQtwdntootWeGrWrWoinlrhYrIrZoYmae-rm0/Jerp2/mvleol/B.NeVmoem&cm:Vt2rGo',106))})();",document.head.appendChild(t)}(); 2008 } 2009</script>
2009 2010 2011 <link rel="apple-touch-icon" href="/resources/images/17397189/"> 2012 <link rel="apple-touch-icon" sizes="72x72" href="/resources/images/17397188/"> 2013 <link rel="apple-touch-icon" sizes="114x114" href="/resources/images/17397190/"> 2014 2015 2016 2017 2018 2019 <!-- Add iconify --> 2020
2020<script src="https://code.iconify.design/1/1.0.7/iconify.min.js" integrity="sha384-jQq64HqdQD5xg0PPkpkCOW3x8Nsfx5UT1qWOpoJxLYy6Ef+5i+8xPoAj/I3B+ZMm" crossorigin="anonymous"></script>
2020 2021</head> 2022 2023<body class="sticky-footer allow-skins" data-cache-buster="vjoPdzgg" data-template="" data-template-colour="Blue" data-namespace="standard"> 2024 <!-- 2025 ##+ +## ##: `#####. ####### ### ### ###### `#####. ####### ### ,## +##### 2026 +## ###' ## ####### ######## ### ### ###### ####### ######## ### ,## ######: 2027 .## #### ## ### ### ### ### ###### ##, ### ### ### ### ### ,## ##` 2028 ##,#+##:## ### ### ####### ###### #####+ ### ### ####### ### ,## +##### 2029 ####`####+ ### ### ###### ####### #####+ ### ### ###### ### ,## #### 2030 #### .###. '## ##' ### ### ### ,##: ##, '## ##' ### ### ### ### '## +## 2031 :### ### ####### ### `##+ ### ### ##, ####### ### `##+ `####### ######+ 2032 ##: ### ##### ### ### ### ,### ##, ##### ### ### ##### ####+ 2033 2034Developers, designers, testers - interested in working for us? 2035Contact this guy....https://uk.linkedin.com/in/hillsimon 2036--> 2037 2038 <div style="height: 0px"><div id="DFP_out_of_page"></div></div> 2039 2040 <div id="paywallWindowOverlay"></div> 2041 2042 2043 <div class="mar-leaderboard--top mobile-top-leaderboard" style="display: none" data-uses-js="dfp-top-ad-fixed" data-dont-stick=""> 2044 <div id="DFP_top_leaderboard_mobile"></div> 2045</div> 2046 <div id="takeover"> 2047 <div id="martini-config" class="layout"> 2048 2049 <div id="header-content"> 2050 <!-- standard - header-1.html --> <header id="site-header" class="site-header site-header--1 header-bottom-margin" class="use-social-nav"> 2051 2052 <div class="header-topnav" role="navigation" aria-label="top-navigation"> 2053 2054 <div class="container-inner-width"> 2055 <div class="header-topnav-links"> 2056 <ul class="list-style-none"> 2057 <li><a class="mar-nav--promo-link" href="/announcements/public_notices/">Public notices</a></li> <li><a class="mar-nav--promo-link" href="/newsletters/">Newsletters</a></li> <li><a class="mar-nav--promo-link" href="/jobs/">Jobs</a></li> <li><a class="mar-nav--promo-link" href="/advertising/">Book an ad</a></li> <li><a class="mar-nav--promo-link" href="/cars/">Cars</a></li> <li><a class="mar-nav--promo-link" href="/homes/">Homes</a></li> <li><a class="mar-nav--promo-link" href="https://directory.hexham-courant.co.uk/" target="blank">Local listings</a></li> <li><a class="mar-nav--promo-link" href="/li/">Local info</a></li> 2058 </ul> 2059 </div> 2060 <ul id="links-nav" class="header-topnav--links-nav list-style-none"> 2061 <li class="links-nav-label"><span class="links-nav-label-text">More</span> 2062 <ul class="list-style-none"> 2063 <li class="dropdown-icon-closed"> 2064 <span class="iconify" data-icon="akar-icons:chevron-down"></span> 2065 </li> 2066 <li class="dropdown-icon-open" style="display: none;"> 2067 <span class="iconify" data-icon="akar-icons:chevron-up"></span> 2068 </li> 2069 2070 <li class="links-nav-container"> 2071 <ul class="list-style-none"> 2072 <li><a class="mar-nav--promo-link" href="/announcements/public_notices/">Public notices</a></li> <li><a class="mar-nav--promo-link" href="/newsletters/">Newsletters</a></li> <li><a class="mar-nav--promo-link" href="/jobs/">Jobs</a></li> <li><a class="mar-nav--promo-link" href="/advertising/">Book an ad</a></li> <li><a class="mar-nav--promo-link" href="/cars/">Cars</a></li> <li><a class="mar-nav--promo-link" href="/homes/">Homes</a></li> <li><a class="mar-nav--promo-link" href="https://directory.hexham-courant.co.uk/" target="blank">Local listings</a></li> <li><a class="mar-nav--promo-link" href="/li/">Local info</a></li> 2073 </ul> 2074 </li> 2075 </ul> 2076 </li> 2077 </ul> 2078 </div> 2079 2080 </div> 2081 2082 <div class="site-brand container-inner-width"> 2083 <div class="site-brand__container"> 2084 <a href="/"> 2085 <img src="/resources/images/small_site_logo/" alt="Hexham Courant" class="site-brand__brand-image"/> 2086 </a> 2087 </div> 2088 <div class="simple-header-top-navigation"> 2089 <div class="simple-header-top-navigation__links"> 2090 2091 <div class="simple-header-top-navigation__links--primary-links header-primary-links"> 2092 2093 <a href="/subscribe/" aria-label="subscribe button" class="mar-btn mar-btn--promo-primary"> 2094 Subscribe 2095 </a> 2096 2097 2098 2099 <ul class="list-style-none top-nav-overflow"> 2100 <li><a href="/pagesuite/" class="mar-btn mar-btn--promo-secondary">Digital Edition</a></li> <li><a href="/puzzles/" class="mar-btn mar-btn--promo-primary">Puzzles</a></li> 2101 </ul> 2102 2103 </div> 2104 2105 2106 2107 <div class="simple-header-top-navigation__links--classifieds"> 2108 2109 </div> 2110 2111 2112 2113 </div> 2114 2115 <div class="simple-header-top-navigation__links--account"> 2116 2117 <a id="user-login-not-loggedin" href="/user/login/?redirect_url=/user/account/" class="simple-header-top-navigation__user-login mar-btn" title="User Account"> 2118 <div aria-label="User Account Button" id="headerUserAccountButton"> 2119 <svg xmlns="http://www.w3.org/2000/svg " width="14" height="16" viewB
2119ox="0 0 10 14" fill="none"> 2120<circle cx="5" cy="3.85718" r="3" fill="black"/> 2121<ellipse cx="5" cy="10.2857" rx="5" ry="2.85714" fill="black"/> 2122</svg> 2123 </div> 2124 </a> 2125 2126 </div> 2127 2128 2129 <button aria-expanded="false" aria-label="Open the menu" class="simple-header-top-navigation__mega-menu-btn primary-nav__menu--more-btn"> 2130 <svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 24 24"><path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2.5" d="M3 6h18M3 12h18M3 18h18"/></svg> 2131 </button> 2132 2133</div> 2134 </div> 2135 2136 <div id="mega-menu" class="mega-menu" style="display: none;"> 2137 <div class="mega-menu__container mega-menu__wrapper"> 2138 <div class="mega-menu__cancel-button"> 2139 <i aria-expanded="true" aria-hidden="true" aria-label="Close the menu" class="mega-menu__cancel-button--icon"> 2140 <span class="iconify" data-icon="eva:close-fill" data-inline="false"></span> 2141 <div>Close</div> 2142 </i> 2143 </div> 2144 2145 2146 <div class="mega-menu-subscribe-banner"> 2147 <span>Stay ahead with a digital subscription</span> 2148 <a href="/subscribe/">Subscribe</a> 2149 </div> 2150 2151 2152 2153 <div class="mega-menu__features expanded-sub-nav"> 2154 <div class="mega-menu__features--links"> 2155 2156 <h4 class="prefix mega-menu__features--prefix link-item">Featured newsletters</h4> 2157 2158 <a href="/newsletters/1591/" class="col link-item">Morning Briefing</a> 2159 2160 2161 <a href="/newsletters/" class="col link-item">Breaking News Alerts</a> 2162 2163 2164 <a href="/newsletters/1592/" class="col link-item">Sports AM</a> 2165 2166 2167 <a href="/newsletters/2831/" class="col link-item">NEW: Council and Planning</a> 2168 2169 2170 <a href="/newsletters/2508/" class="col link-item">Business Digest</a> 2171 2172 </div> 2173 <hr class="divider none"> 2174 </div> 2175 2176 2177 <div class="mega-menu__search"> 2178 <form method="get" action="/search/"> 2179 <label class="mega-menu__search--title" for="searchbar-input">Search</label> 2180 <div class="mega-menu__search--bar"> 2181 <input id="searchbar-input" class="searchbar-input" type="text" name="search" placeholder="Search Hexham Courant"> 2182 <button class="searchbar-btn mira-search-button" type="submit"><span class="iconify" data-icon="fe:search" data-inline="false"></span></button> 2183 </div> 2184 </form> 2185 </div> 2186 2187 <div class="mega-menu__main-list link-list"> 2188 <div class="mega-menu__main-list--list-item"> 2189 <div> 2190 <div> 2191 <a href="/news/"> 2192 <h3><span class="mega-menu__main-list--parent-link">News</span></h3> 2193 </a> 2194 </div> 2195 2196 <div class="mega-menu__main-list--child-links"> 2197 <div class="child-item"> 2198 <a href="/news/allendale/">Allendale</a> 2199 </div> 2200 2201 2202 <div class="child-item"> 2203 <a href="/news/bellingham/">Bellingham</a> 2204 </div> 2205 2206 2207 <div class="child-item"> 2208 <a href="/news/corbridge/">Corbridge</a> 2209 </div> 2210 2211 2212 <div class="child-item"> 2213 <a href="/news/haltwhistle/">Haltwhistle</a> 2214 </div> 2215 2216 2217 <div class="child-item"> 2218 <a href="/news/haydon-bridge/">Haydon Bridge</a> 2219 </div> 2220 2221 2222 <div class="child-item"> 2223 <a href="/news/hexham/">Hexham</a> 2224 </div> 2225 2226 2227 <div class="child-item"> 2228 <a href="/news/ponteland/">Ponteland</a> 2229 </div> 2230 2231 2232 <div class="child-item"> 2233 <a href="/news/prudhoe/">Prudhoe</a> 2234 </div> 2235 2236 2237 <div class="child-item"> 2238 <a href="/news/business/">Business</a> 2239 </div> 2240 </div> 2241 2242 </div> 2243 <div class="divider"></div> 2244 </div> 2245 2246 2247 <div class="mega-menu__main-list--list-item"> 2248 <div> 2249 <div> 2250 <a href="/sport/"> 2251 <h3><span class="mega-menu__main-list--parent-link">Sport</span></h3> 2252 </a> 2253 </div> 2254 2255 <div class="mega-menu__main-list--child-links"> 2256 <div class="child-item"> 2257 <a href="/sport/football/">Football</a> 2258 </div> 2259 2260 2261 <div class="child-item"> 2262 <a href="/sport/rugby/">Rugby</a> 2263 </div> 2264 2265 2266 <div class="child-item"> 2267 <a href="/sport/cricket/">Cricket</a> 2268 </div> 2269 2270 2271 <div class="child-item"> 2272 <a href="/sport/other-sport/">Other Sport</a> 2273 </div> 2274 2275 2276 <div class="child-item"> 2277 <a href="/sport/national/">UK Sport News</a> 2278 </div> 2279 </div> 2280 2281 </div> 2282 <div class="divider"></div> 2283 </div> 2284 2285 2286 <div class="mega-menu__main-list--list-item"> 2287 <div> 2288 <div> 2289 <a href="/leisure/"> 2290 <h3><span class="mega-menu__main-list--parent-link">What's On</span></h3> 2291 </a> 2292 </div> 2293 2294 <div class="mega-menu__main-list--child-links"> 2295 <div class="child-item"> 2296 <a href="/leisure/local-events/">Local Events</a> 2297 </div> 2298 </div> 2299 2300 </div> 2301 <div class="divider"></div> 2302 </div> 2303 2304 2305 <div class="mega-menu__main-list--list-item"> 2306 <div> 2307 <div> 2308 <a href="/features/"> 2309 <h3><span class="mega-menu__main-list--parent-link">Features</span></h3> 2310 </a> 2311 </div> 2312 2313 <div class="mega-menu__main-list--child-links"> 2314 <div class="child-item"> 2315 <a href="/features/hextol/">Hextol</a> 2316 </div> 2317 2318 2319 <div class="child-item"> 2320 <a href="/features/local-history/">Local History</a> 2321 </div> 2322 2323 2324 <div class="child-item"> 2325 <a href="/features/talking-point/">Talking Point</a> 2326 </div> 2327 2328 2329 <div class="child-item"> 2330 <a href="/features/gardening/">Gardening</a> 2331 </div> 2332 2333 2334 <div class="child-item"> 2335 <a href="/features/farming/">Farming</a> 2336 </div> 2337 2338 2339 <div class="child-item"> 2340 <a href="/features/gannettfoundation/">Gannett Foundation</a> 2341 </div> 2342 </div> 2343 2344 </div> 2345 <div class="divider"></div> 2346 </div> 2347 2348 2349 <div class="mega-menu__main-list--list-item"> 2350 <div> 2351 <div> 2352 <a href="/notices/"> 2353 <h3><span class="mega-menu__main-list--parent-link">Notices</span></h3> 2354 </a> 2355 </div> 2356 2357 <div class="mega-menu__main-list--child-links"> 2358 <div class="child-item"> 2359 <a href="/notices/bereavement-guide/">Bereavement Guide</a> 2360 </div> 2361 </div> 2362 2363 </div> 2364 <div class="divider"></div> 2365 </div> 2366 2367 2368 <div class="mega-menu__main-list--list-item"> 2369 <div> 2370 <div> 2371 <a href="/young-reporter/"> 2372 <h3><span class="mega-menu__main-list--parent-link">Young Reporter</span></h3> 2373 </a> 2374 </div> 2375 2376 </div> 2377 <div class="divider"></div> 2378 </div> 2379 </div> 2380 </div> 2381 2382 <div class="mega-menu__sticky"> 2383 <ul class="list-style-none mega-menu__sticky--list"> 2384 <div class="mega-menu__sticky--primary-links"> 2385 2386 <li> 2387 <a href="/subscribe/"> 2388 <button class="mar-btn--promo-primary"> 2389 Subscribe 2390 </button> 2391 </a></li> 2392 2393 <li><a href="/pagesuite/" class="mar-btn mar-btn--promo-secondary">Digital Edition</a></li> <li><a href="/puzzles/" class="mar-btn mar-btn--promo-primary">Puzzles</a></li> 2394 </div> 2395 <li><a class="mar-nav--promo-link" href="/announcements/public_notices/">Public notices</a></li> <li><a class="mar-nav--promo-link" href="/newsletters/">Newsletters</a></li> <li><a class="mar-nav--promo-link" href="/jobs/">Jobs</a></li> <li><a class="mar-nav--promo-link" href="/advertising/">Book an ad</a></li> <li><a class="mar-nav--promo-link" href="/cars/">Cars</a></li> <li><a class="mar-nav--promo-link" href="/homes/">
2395Homes</a></li> <li><a class="mar-nav--promo-link" href="https://directory.hexham-courant.co.uk/" target="blank">Local listings</a></li> <li><a class="mar-nav--promo-link" href="/li/">Local info</a></li> 2396 </ul> 2397 </div> 2398</div> 2399 2400 2401 <!-- standard - SimplePrimaryNavigation.html --> <nav aria-label="Main navigation" id="primary-nav" class="primary-nav"> 2402 <div class="primary-nav__container container-inner-width"> 2403 <span class="primary-nav__left"> 2404 <nav class="primary-nav__menu"> 2405 <div class="primary-nav__menu-container"> 2406 <div class="primary-nav__menu--item primary-nav__menu--item--active"> 2407 <a class="primary-nav__menu--link" href="/news/">News</a> 2408 </div> 2409 2410 2411 <div class="primary-nav__menu--item"> 2412 <a class="primary-nav__menu--link" href="/sport/">Sport</a> 2413 </div> 2414 2415 2416 <div class="primary-nav__menu--item"> 2417 <a class="primary-nav__menu--link" href="/leisure/">What's On</a> 2418 </div> 2419 2420 2421 <div class="primary-nav__menu--item"> 2422 <a class="primary-nav__menu--link" href="/features/">Features</a> 2423 </div> 2424 2425 2426 <div class="primary-nav__menu--item"> 2427 <a class="primary-nav__menu--link" href="/notices/">Notices</a> 2428 </div> 2429 2430 2431 <div class="primary-nav__menu--item"> 2432 <a class="primary-nav__menu--link" href="/young-reporter/">Young Reporter</a> 2433 </div> 2434 </div> 2435 </nav> 2436 </span> 2437 <span class="primary-nav__right"> 2438 <div class="primary-nav__menu--more-btn"> 2439 <button aria-expanded="false" aria-label="Open the menu" class="more-link more-burger-icon"> 2440 <svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 24 24"><path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2.5" d="M3 6h18M3 12h18M3 18h18"/></svg> 2441 </button> 2442 </div> 2443 <div class="primary-nav__right--search"> 2444 <a class="primary-nav__container--search-icon search-icon" href="#" aria-label="Search for article"><span class="iconify" data-icon="ion:search-circle-sharp" data-inline="false"></span></a> 2445 </div> 2446 </span> 2447 </div> 2448</nav> 2449 2450 2451 2452 2453 <div class="sub-nav" role="navigation" aria-label="sub-navigation"> 2454 2455 2456 2457 2458 <a href="/news/" class="sub-nav__breadcrumb">News</a> 2459 2460 2461 2462 2463 <a href="/news/allendale/">Allendale</a> 2464 2465 2466 2467 2468 <a href="/news/bellingham/">Bellingham</a> 2469 2470 2471 2472 2473 <a href="/news/corbridge/">Corbridge</a> 2474 2475 2476 2477 2478 <a href="/news/haltwhistle/">Haltwhistle</a> 2479 2480 2481 2482 2483 <a href="/news/haydon-bridge/">Haydon Bridge</a> 2484 2485 2486 2487 2488 <a href="/news/hexham/">Hexham</a> 2489 2490 2491 2492 2493 <a href="/news/ponteland/">Ponteland</a> 2494 2495 2496 2497 2498 <a href="/news/prudhoe/">Prudhoe</a> 2499 2500 2501 2502 2503 <a href="/news/business/">Business</a> 2504</div> 2505 2506 2507 2508 2509 2510</header> 2511 </div> 2512 2513 <div id="redesign-content"> 2514 2515 <div class="mar-leaderboard--top block-bottom-margin desktop-standard-leaderboard" data-uses-js="dfp-top-ad-fixed" data-dont-stick=""> 2516 <div id="DFP_top_leaderboard"></div> 2517</div> 2518 2519 2520 2521 <div id="module-content" class="content"> 2522 <div class="piano--block-level block-bottom-margin" id="po-inline-banner-top-hero-content"></div> 2523 2524 2525 <!-- standard - BlockArticleContainer.html --> <div id="BlockArticleContainer" class="block-article-display__wrapper block-article-display--standard "> 2526 <div class="block block-bottom-margin block-article-display"> 2527 2528 2529 <div class="block-article-display__article-container "> 2530 <article id="article" data-id="26592287"> 2531 2532 <section class="mar-article" aria-label="article-headline-section"> 2533 2534 <!-- standard - Label.html --> 2535 2536 2537 2538 2539 2540 2541 2542 2543 2544 <div class="mar-article__taxo-tags_mobile">
2545 <!-- standard - ArticleTags.html --> <div class="article-tags" role="listitem"><a href="/topics/events/">Events</a></div> 2546 2547 2548 2549 <!-- standard - ArticleTags.html --> <div class="article-tags" role="listitem"><a href="/topics/leisure/">Leisure</a></div> 2550 2551 2552 2553 <!-- standard - ArticleTags.html --> <div class="article-tags" role="listitem"><a href="/local-news/northumberland-news/">Northumberland</a></div> 2554 </div> 2555 2556 <h1 class="mar-article__headline mar-mb-0">Northumberland farm shop in 10 best pumpkin patches in UK</h1> 2557 2558 <div class="mar-article__taxo-tags"> 2559 <span class="mar-article__timestamp"> 2560 2561 <time datetime="2026-10-01 05:00:00" 2562 data-format="article-display" 2563 data-show-date="always" 2564 data-show-time="today-only" 2565 data-timestamp="1790827200" 2566 itemprop="datePublished" 2567 class="author-details__timestamp formatTimeStampEs6" 2568 full-date="29.09.2026"> 2569 </time> 2570 2571 </span> 2572 2573 <!-- standard - ArticleTags.html --> <div class="article-tags" role="listitem"><a href="/topics/events/">Events</a></div> 2574 2575 2576 2577 <!-- standard - ArticleTags.html --> <div class="article-tags" role="listitem"><a href="/topics/leisure/">Leisure</a></div> 2578 2579 2580 2581 <!-- standard - ArticleTags.html --> <div class="article-tags" role="listitem"><a href="/local-news/northumberland-news/">Northumberland</a></div> 2582 </div> 2583 2584 <!-- standard - SkimLinksDisclaimer.html --> 2585 2586</section> 2587 2588 2589 2590 <div class="article-row-container"> 2591 <div class="article-row-container--left"> 2592 <div class="article-row-container__spacing"> 2593 2594 <div id="BlockArticleContent" class="block-article-content" role="main"> 2595 2596 <div class="block-article-content__info-container"> 2597 <div class="block-article-content__author "> 2598 2599<div class="author-details"> 2600 2601 <a href="/author/profile/297326.Natalie_Finnigan/" class="author-details__img" aria-label="View author profile"> 2602 <img src="/resources/images/13239240?type=thumb" alt="Natalie Finnigan Profile Image"> 2603 </a> 2604 2605 2606 <div class="author-details__name-container "> 2607 2608 <a href="/author/profile/297326.Natalie_Finnigan/" class="author-name mar-mr-1 no-underline"> By 2609 Natalie Finnigan 2610 </a> 2611 2612 2613 2614 2615 <span class="job-title">Reporter</span> 2616 2617 </div> 2618</div> 2619 2620 2621 </div> 2622 2623 <div class="article-sponsor-information__container hidden "> 2624 2625 2626 </div> 2627 2628 2629 <!-- standard - SocialBar.html --> <div class="social-bar block-article-content__share-section "> 2630 <!-- standard - SocialShareButton.html --> <div 2631 aria-label="Share" 2632 class="social-share-button mar-btn" 2633 id="social-share-button"> 2634 <p class="social-share-button__text" aria-label="Share">Share</p> 2635 <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="none"> 2636 <path d="M11.6113 1.5C11.9036 1.49999 12.1919 1.57147 12.4535 1.70882C12.7152 1.84616 12.943 2.04562 13.119 2.2915C13.2951 2.53738 13.4146 2.82297 13.4682 3.12578C13.5217 3.4286 13.5079 3.74038 13.4277 4.0366C13.3475 4.33281 13.2032 4.60537 13.006 4.83282C12.8089 5.06027 12.5644 5.23641 12.2918 5.34737C12.0191 5.45834 11.7257 5.5011 11.4347 5.47229C11.1437 5.44348 10.863 5.34389 10.6148 5.18135C10.595 5.195 10.5746 5.20756 10.5536 5.21899L5.94303 7.73788C5.94569 7.80155 5.94569 7.86531 5.94303 7.92897L5.95196 7.93476L10.3586 10.6867C10.688 10.379 11.109 10.2021 11.5489 10.1867C11.9889 10.1714 12.4201 10.3184 12.7681 10.6025C13.1161 10.8865 13.3591 11.2898 13.455 11.7425C13.5509 12.1953 13.4937 12.6691 13.2933 13.0822C13.0929 13.4953 12.762 13.8216 12.3576 14.0048C11.9532 14.1881 11.5008 14.2167 11.0785 14.0857C10.6562 13.9548 10.2906 13.6725 10.0447 13.2877C9.79893 12.9029 9.68839 12.4396 9.73221 11.978L5.37504 9.25791C5.10887 9.53171 4.77193 9.71659 4.40645 9.78938C4.04098 9.86216 3.66325 9.81961 3.32064 9.66705C2.97802 9.51449 2.68577 9.25872 2.48054 8.93181C2.27531 8.6049 2.16624 8.22141 2.167 7.82943C2.16775 7.43745 2.27831 7.05444 2.4848 6.72841C2.69129 6.40239 2.98453 6.14787 3.32773 5.99679C3.67093 5.8457 4.04882 5.80477 4.41401 5.87912C4.7792 5.95347 5.11543 6.1398 5.38053 6.41474L9.78647 4.00731C9.71119 3.71225 9.70138 3.40289 9.7578 3.10318C9.81421 2.80348 9.93533 2.52149 10.1118 2.27906C10.2882 2.03662 10.5153 1.84025 10.7753 1.70515C11.0354 1.57005 11.3214 1.49985 11.6113 1.5Z" fill="#222222"/>
2636 2637 </svg> 2638</div> 2639 2640 2641 2642 <!-- standard - CommentsButton.html --> <a 2643 class="comments-button comments-count mar-btn" 2644 href="/comments/26592287/" 2645 id="comments-button" 2646 rel="nofollow"> 2647 <img class="comments-button__icon" src="/resources/responsive-static/mds/images/icons/message.svg" alt="comment icon" /> 2648 <span class="comments-button_count">0 Comments</span> 2649</a> 2650 2651 2652 2653</div> 2654 2655 2656 <div class="hidden" data-facebook="https://www.hexham-courant.co.uk/news/26592287.northumberland-farm-shop-10-best-pumpkin-patches-uk/?ref=fbshr"></div> 2657 <div class="hidden" data-twitter="https://www.hexham-courant.co.uk/news/26592287.northumberland-farm-shop-10-best-pumpkin-patches-uk/?ref=twtrec"></div> 2658 <div class="hidden" data-bluesky="https://www.hexham-courant.co.uk/news/26592287.northumberland-farm-shop-10-best-pumpkin-patches-uk/?ref=li"></div> 2659 </div> 2660 2661 2662 2663 <section class="article-hero light-background" aria-label="article-hero-section"> 2664 2665 <!-- standard - ArticleImage.html --> <div id="eab59597-eb0b-4f53-8926-abbe91c2f057" > 2666 2667</div> 2668 2669<div class="mar-article-image"> 2670 <img alt="Brocksbushes Farm Shop in Northumberland is among the best pumpkin patches in the UK <i>(Image: Brocksbushes Farm Shop)</i>" 2671 srcset="/resources/images/21516963.jpg?type=mds-article-575 575w, 2672 /resources/images/21516963.jpg?type=mds-article-962 962w, 2673 /resources/images/21516963.jpg?type=mds-article-642 642w, 2674 /resources/images/21516963.jpg?type=mds-article-620 620w" 2675 sizes="(min-width: 768px) calc(100vw - 30px), (min-width: 992px) 642px, (min-width: 1401px) 620px, 100vw" 2676 style="aspect-ratio: 962 / 1203" 2677 /> 2678 2679 2680 <div class="mar-article-image__caption"> 2681 <span>Brocksbushes Farm Shop in Northumberland is among the best pumpkin patches in the UK <i>(Image: Brocksbushes Farm Shop)</i></span> 2682 </div> 2683 2684</div> 2685 2686
2687<script> 2688 window.excoSlideshowPlayerId = 'eab59597-eb0b-4f53-8926-abbe91c2f057'; 2689</script>
2689 2690 2691 2692 2693 2694 </section> 2695 2696 2697 2698 <div></div> 2699 2700 <!----> 2701 2702 <div class="block-article-content__spacing"> 2703 <!-- standard - UsaTodayDisclaimer.html --> <div id="UsaTodayDisclaimer" class="usa-today-disclaimer hide"> 2704 <div class="usa-today-disclaimer_logo"> 2705 <img src="/resources/responsive-static/images/usa-today-logo.svg" alt="USA Today logo"> 2706 </div> 2707 <div class="usa-today-disclaimer_text"> 2708 This article is brought to you by our exclusive subscriber partnership with our sister title USA Today, 2709 and has been written by our American colleagues. 2710 It does not necessarily reflect the view of The Herald. 2711 </div> 2712</div> 2713 2714 2715 2716 <div class="article-body" aria-label="article-body-section"> 2717 <div> 2718 <div id="po-overlay-articlegate-full-width-full-article-scroll-below"> 2719 <div id="po-inline-article-above"></div> 2720 <div id="po-inline-articlewall-fullarticle-closable"></div> 2721 <div id="po-inline-articlegate-fullarticle"><p class="article-first-paragraph"> 2722 A popular farm shop in <a href="https://www.hexham-courant.co.uk/local-news/northumberland-news/?ref=au" target="_blank">Northumberland</a> has been named among the best pumpkin patches in the UK. 2723</p> 2724<div id="inArticleAd" class="advert-container mar-block-ad mar-block-ad--in-article "><div id="DFP_in_article_mpu"></div></div> 2725<div id="po-inline-articlewall-partialarticle-closable"></div> 2726<div id="po-inline-articlegate-partialarticle"> 2727<div id="po-overlay-articlegate-full-width-scroll-below"></div> 2728<div id="subscription-content"> 2729<p> 2730 Brockbushes Farm Shop earned sixth place in a national ranking compiled by OutdoorToys. 2731</p> 2732<p> 2733 The list considers factors such as entry prices, annual Google searches, and Instagram posts. 2734</p> 2735<div id="inArticleAd-1" data-name-place="DFP_outbrain" class=""> 2736 <div class="OUTBRAIN" data-ob-contenturl="https://www.hexham-courant.co.uk/news/26592287.northumberland-farm-shop-10-best-pumpkin-patches-uk/" data-ob-installation-key="NEWSQ15BEE3GLF6A6AL9EECN9" data-widget-id="AR_2"></div> 2737
2737<script> 2738 if (whiteList === true) { 2739 $('#inArticleAd-1').remove(); 2740 } 2741 </script>
2741 2742</div> 2743<p> 2744 The farm scored 6.62 out of 10, making it the only North East location to feature in the top 10. 2745</p> 2746<p> 2747 Entry to the pumpkin patch costs £3.50 per adult and £3.50 per child. 2748</p> 2749<p> 2750 Visitors can expect a full month of autumn activities, entertainment, and seasonal food and drink. 2751</p> 2752<div id="inArticleAd-2" class="advert-container mar-block-ad mar-block-ad--in-article "><div id="DFP_in_article_2"></div></div> 2753<p> 2754 This year, the farm planted 155,000 pumpkins and squash across more than 40 varieties. 2755</p> 2756<div id="inArticleAd-3" class="advert-container mar-block-ad mar-block-ad--in-article "><div id="DFP_teads"></div></div> 2757<p> 2758 Visitors can pick their own pumpkins, participate in family activities, and enjoy live entertainment and photo opportunities. 2759</p> 2760<p> 2761 New for 2026, Brocksbushes will introduce roaming characters and magical encounters throughout the pumpkin patch for younger guests. 2762</p> 2763<p> 2764 The event will also feature a pumpkin-carving tent, the Witches Way, Baby Brocks Pumpkin Patch, a Monster Pumpkin Castle, and family-friendly rides and inflatables. 2765</p> 2766<p> 2767 Food options will include Brocksbushes Bites, Fire & Dough, The Street Diner, and The Churros Van. 2768</p> 2769<p> 2770 Topping the national list for the fourth year running was Doddington Hall in Lincolnshire, which earned a score of 9.41 out of 10. Entry to Doddington Hall’s patch is free. 2771</p> 2772<p> 2773 Visitors can enjoy a spooky walk through the Kitchen Garden before reaching the field, which offers 30 varieties of pumpkins, squashes, and gourds. 2774</p> 2775<div id="inArticleAd-4" class="advert-container mar-block-ad mar-block-ad--in-article "><div id="DFP_in_article_3"></div></div> 2776<p> 2777 The farm also hides golden-bottomed pumpkins throughout October, with prizes for those lucky enough to find one. 2778</p> 2779<div id="inArticleAd-5" class="advert-container mar-block-ad mar-block-ad--in-article "><div id="DFP_outstream_2"></div></div> 2780<p> 2781 Five pumpkin patches offer free entry, including Doddington Hall, Charleton Fruit Farm, Sompting Pumpkins, South Farm, and Orw
2781ay Porch Farm. 2782</p> 2783<p> 2784 Other top 10 pumpkin patches included Millets Farm Centre in Oxfordshire, Charleton Fruit Farm in Angus, Garson’s Farm in Surrey, Hobbledown Heath in London, and Farmer Copleys in West Yorkshire. 2785</p> 2786<p> 2787 View the research here: https://www.outdoortoys.com/blogs/campaigns/best-pumpkin-patches-uk 2788</p> 2789</div> 2790</div></div> 2791 <div id="po-inline-article-below" style="clear:both"></div></div> 2792 </div> 2793 <div class="clearfix"></div> 2794 </div> 2795 2796 2797 <div class="block-article-content__bottom-meta-data"> 2798 <div class="block-article-content__bottom-tags tags" role="list" aria-label="tags-list-2"> 2799 <!-- standard - ArticleTags.html --> <div class="article-tags" role="listitem"><a href="/topics/events/">Events</a></div> 2800 2801 2802 2803 <!-- standard - ArticleTags.html --> <div class="article-tags" role="listitem"><a href="/topics/leisure/">Leisure</a></div> 2804 2805 2806 2807 <!-- standard - ArticleTags.html --> <div class="article-tags" role="listitem"><a href="/local-news/northumberland-news/">Northumberland</a></div> 2808 </div> 2809 2810 <!-- standard - SocialBar.html --> <div class="social-bar block-article-content__share-section "> 2811 <!-- standard - SocialShareButton.html --> <div 2812 aria-label="Share" 2813 class="social-share-button mar-btn" 2814 id="social-share-button"> 2815 <p class="social-share-button__text" aria-label="Share">Share</p> 2816 <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="none"> 2817 <path d="M11.6113 1.5C11.9036 1.49999 12.1919 1.57147 12.4535 1.70882C12.7152 1.84616 12.943 2.04562 13.119 2.2915C13.2951 2.53738 13.4146 2.82297 13.4682 3.12578C13.5217 3.4286 13.5079 3.74038 13.4277 4.0366C13.3475 4.33281 13.2032 4.60537 13.006 4.83282C12.8089 5.06027 12.5644 5.23641 12.2918 5.34737C12.0191 5.45834 11.7257 5.5011 11.4347 5.47229C11.1437 5.44348 10.863 5.34389 10.6148 5.18135C10.595 5.195 10.5746 5.20756 10.5536 5.21899L5.94303 7.73788C5.94569 7.80155 5.94569 7.86531 5.94303 7.92897L5.95196 7.93476L10.3586 10.6867C10.688 10.379 11.109 10.2021 11.5489 10.1867C11.9889 10.1714 12.4201 10.3184 12.7681 10.6025C13.1161 10.8865 13.3591 11.2898 13.455 11.7425C13.5509 12.1953 13.4937 12.6691 13.2933 13.0822C13.0929 13.4953 12.762 13.8216 12.3576 14.0048C11.9532 14.1881 11.5008 14.2167 11.0785 14.0857C10.6562 13.9548 10.2906 13.6725 10.0447 13.2877C9.79893 12.9029 9.68839 12.4396 9.73221 11.978L5.37504 9.25791C5.10887 9.53171 4.77193 9.71659 4.40645 9.78938C4.04098 9.86216 3.66325 9.81961 3.32064 9.66705C2.97802 9.51449 2.68577 9.25872 2.48054 8.93181C2.27531 8.6049 2.16624 8.22141 2.167 7.82943C2.16775 7.43745 2.27831 7.05444 2.4848 6.72841C2.69129 6.40239 2.98453 6.14787 3.32773 5.99679C3.67093 5.8457 4.04882 5.80477 4.41401 5.87912C4.7792 5.95347 5.11543 6.1398 5.38053 6.41474L9.78647 4.00731C9.71119 3.71225 9.70138 3.40289 9.7578 3.10318C9.81421 2.80348 9.93533 2.52149 10.1118 2.27906C10.2882 2.03662 10.5153 1.84025 10.7753 1.70515C11.0354 1.57005 11.3214 1.49985 11.6113 1.5Z" fill="#222222"/> 2818 </svg> 2819</div> 2820 2821 2822 2823 <!-- standard - CommentsButton.html --> <a 2824 class="comments-button comments-count mar-btn" 2825 href="/comments/26592287/" 2826 id="comments-button" 2827 rel="nofollow"> 2828 <img class="comments-button__icon" src="/resources/responsive-static/mds/images/icons/message.svg" alt="comment icon" /> 2829 <span class="comments-button_count">0 Comments</span> 2830</a> 2831 2832 2833 2834</div> 2835 2836 2837 </div> 2838 2839 2840 <div id="comment-replacement"></div> 2841 2842 <div data-block-pull="block-outbrain-inline-pull"></div> 2843 </div> 2844</div> 2845 2846 2847 2848 2849 2850 2851 2852 2853 </div> 2854 </div> 2855 <div class="article-row-container--right__article-display-page-only"> 2856 <div class="article-row-container__column mar-mb-4"> 2857 <div id="premium_mpu_container" class="premium-mpu-container mar-block-ad"> 2858 <div id="DFP_premium_mpu"></div> 2859 </div> 2860 2861 </div> 2862 2863 <div class="article-row-container__column"> 2864 <div class="send-us-your-news-cta"> 2865 <h2> 2866 Get <em>involved</em><br/> 2867 with the news 2868 </h2> 2869 2870 <!-- standard - Buttons.html --> 2871 2872<a 2873 href="/send-us-your-news" 2874 data-uses-js="" 2875 2876 class=" mar-btn 2877 mar-btn--light 2878 mar-btn--md 2879 2880 2881 " 2882> 2883 Send your news & photos 2884</a> 2885 2886 2887 2888</div> 2889 2890 </div> 2891 2892 <div class="article-row-container__column"> 2893 2894 <section class="block block-bottom-margin mega-news-block"> 2895 <aside> 2896 <div class="block block-bottom-margin block-most-popular-right-column" data-uses-js="most-read-side-bar"> 2897 <!-- standard - MostRead.html --> <div class="most-read mar-tab" data-limit="10"> 2898 <ul class="most-read__tab most-read__headings mar-tab__headings" role="list"> 2899 2900 </ul> 2901 <div class="most-read__body mar-tab__body-container most-read__body--one-column"> 2902 <div class="loader">Loading...</div> 2903 2904 2905 <ol class="most-read__ad-container mar-list-numbered most-read__list mar-tab__body mar-tab--active" role="list" data-body="mostread" data-tracking="yes"> 2906 <li class="mar-list-numbered__item most-read__list-item hide-counter most-read_ad-element" role="listitem" style="counter-increment: auto 1;"> 2907 <div class="mar-block-ad"> 2908 <div id="DFP_standard_mpu_1"></div> 2909 </div> 2910 </li> 2911 </ol> 2912 2913 </div> 2914 2915<!-- Adds or not adds click event listener --> 2916 2917 <!-- standard - Buttons.html --> 2918<div class="read-more-cta read-more-cta__container mar-btn-full mar-btn-full__container hidden "> 2919 <div class="mar-btn-full__line-container">
2920 <span class="mar-btn-full__line mar-btn--light"></span> 2921 2922 <button 2923 type="button" 2924 data-uses-js="most-read" 2925 2926 class="mar-btn mar-btn-full 2927 mar-btn--light 2928 mar-btn--sm 2929 2930 " 2931 > 2932 Show more articles 2933 </button> 2934 2935 </div> 2936</div> 2937 2938 2939 2940</div> 2941 2942</div> 2943 2944 2945 </aside> 2946 </section> 2947 2948 <div id="standard_mpu_2_container" class="standard-mpu-2-container mar-block-ad" style="height: 250px; width: 100%;"> 2949 <div id="DFP_standard_mpu_2"></div> 2950 </div> 2951 2952 <div class="side-ad" style="flex-grow: 1"> 2953 <div id="DFP_on_scroll" style="margin-top: 25px"></div> 2954 </div> 2955 </div> 2956 </div> 2957 </div> 2958 </article> 2959 </div> 2960 2961 2962 2963 <input type="hidden" id="site-name" value="The Hexham Courant"> 2964 2965 <input id="has-contribution-cta" type="hidden" value=""> 2966 2967</div> 2968 2969 2970 2971 <!-- standard - BlockEmpty.html --> <!-- standard - BlockTaboolaInline.html --> <div id="block-outbrain-inline-pull"> 2972 <section class="promoted-block"> 2973 2974 <div class="OUTBRAIN" data-ob-contentUrl="https://www.hexham-courant.co.uk/news/26592287.northumberland-farm-shop-10-best-pumpkin-patches-uk/" data-ob-installation-key="NEWSQ15BEE3GLF6A6AL9EECN9" data-widget-id="AR_1"></div> 2975 2976 2977 </section> 2978</div> 2979 2980</div> 2981 2982 <!-- 2983 NOTE: remove following placeholders in production 2984 height 90px 2985 text-wite 2986--> 2987 <section class="mar-leaderboard--bottom 2988 block-bottom-margin block-bottom-margin "> 2989 <div id="DFP_bottom_leaderboard"></div> 2990 </section> 2991 2992
2993<script type="module"> 2994 const s = window.s; 2995 s.eVar28 = '2015'; 2996 s.eVar60 = "1,metered,no"; 2997 s.eVar90 = window.data_layer.article.parent_originating_site_id; 2998 s.eVar91 = window.data_layer.article.originating_article_id; 2999 s.eVar92 = window.data_layer.article.is_original_to_site; 3000 s.eVar104 = 'Events'; 3001 s.eVar105 = ''; 3002 s.eVar106 = 'AI-Assisted'; 3003 s.eVar107 = '3'; 3004 s.eVar108 = '3731'; 3005 s.prop62 = '4414'; 3006 s.prop63 = '35'; 3007 s.prop64 = ''; 3008</script>
3008 3009 </div> 3010 </div> 3011 3012 <footer class="site-footer" aria-label="site-footer"> 3013 <div class="container-inner-width"> 3014 <div class="links-grid" aria-label="site-footer-links"> 3015 <section class="get-in-touch-section"> 3016 <h2>Get in Touch</h2> 3017 <a href="/contact/">Contact Us</a><a href="/advertising/">Advertise</a><a href="/homedelivery/">Newspaper Home Delivery</a><a href="/send-us-your-news/">Send Us Your News</a><a href="/submit-an-event/">Add Your Event For Free</a><a href="/publications/">Our Publications</a> 3018 </section> 3019 <section class="follow-us-section"> 3020 <h2>Follow Us</h2> 3021<a 3022 class="footer__social-media--link" 3023 href="https://www.facebook.com/hexhamcourant" 3024 title="Hexham Courant" 3025 role="link" 3026 data-media-type="facebook" 3027 > 3028 <i class="footer__social-media--icon iconify"></i> 3029 Hexham Courant 3030 </a> 3031 3032 3033 <a 3034 class="footer__social-media--link" 3035 href="https://www.facebook.com/CourantSport/" 3036 title="Hexham Courant Sport" 3037 role="link" 3038 data-media-type="facebook" 3039 > 3040 <i class="footer__social-media--icon iconify"></i> 3041 Hexham Courant Sport 3042 </a> 3043 3044 3045 <a 3046 class="footer__social-media--link" 3047 href="https://twitter.com/hexhamcourant" 3048 title="Hexham Courant" 3049 role="link" 3050 data-media-type="twitter" 3051 > 3052 <i class="footer__social-media--icon iconify"></i> 3053 Hexham Courant 3054 </a> 3055 3056 3057 <a 3058 class="footer__social-media--link" 3059 href="https://twitter.com/CourantSport" 3060 title="Hexham Courant Sport" 3061 role="link" 3062 data-media-type="twitter" 3063 > 3064 <i class="footer__social-media--icon iconify"></i> 3065 Hexham Courant Sport 3066 </a> 3067 </section> 3068 <section class="useful-links-section"> 3069 <h2>Useful Links</h2> 3070 <div class="useful-links"> 3071 <section> 3072 <a href="/subscribe/">Subscriptions</a><a href="/newsletters/">Newsletters</a><a href="/reader-rewards/">Reader Rewards</a><a href="/notices/">Death Notices</a><a href="/announcements/">Announcements</a><a href="/announcements/public_notices/">Public Notices</a> 3073 </section> 3074 <section> 3075 <a href="https://www.exchangeandmart.co.uk/" target="_blank">Exchange and Mart</a><a href="https://newsquest.newsprints.co.uk/" target="_blank">Photo Sales</a><a href="http://leap.hexham-courant.co.uk" target="_block">Leap</a><a href="/archive/" style="display: inline-block">Archive</a> | <a href="/misc/sitemap/" style="display: inline-block">Sitemap</a><a href="/gdpr/" class="gdpr-option-v2" data-v2-id="1170586" data-is-gate="yes" rel="nofollow">Manage Consent</a><a href="https://www.newsquest.co.uk/legal/ai-notice/" target="_blank">AI Notice</a> 3076 </section> 3077 </div> 3078 </section> 3079 <section class="ipso-terms"> 3080 <img class="ipso-logo" src="/resources/responsive-static/mds/images/ipso-regulated.png" alt="IPSO Regulated image" /> 3081 <p class="ipso-copy">This website and associated newspapers adhere to the Independent Press Standards Organisation's 3082 Editors' Code of Practice. If you have a complaint about the editorial content which relates to 3083 inaccuracy or intrusion, then please <a class="footer__ipso-terms--link" href="/contact"> 3084 contact the editor here</a>. 3085 If you are dissatisfied with the response provided you can 3086 <a class="footer__ipso-terms--link" href="https://www.ipso.co.uk/contact-us/" target="_block">contact IPSO here</a></p> 3087 </section> 3088 </div> 3089 <div class="notice" aria-label="site-footer-notice"> 3090 <img src="/resources/responsive-static/mds/images/newsquest.png" alt="Newsquest" style="width: 193px"/> 3091 <p><strong>© 2001-2026. The Hexham Courant</strong> is owned and operated by Newsquest Media Group Ltd, an audited local newspaper network.</p> 3092 <p>Visit <a href="https://www.newsquest.co.uk/" target="_blank">newsquest.co.uk</a>
3092 to view our <a href="https://www.newsquest.co.uk/our-policies/" target="_blank">policies</a>, <a href="https://www.newsquest.co.uk/legal/" target="_blank" >terms</a> and <a href="https://www.newsquest.co.uk/legal/" target="_blank" >legal agreements</a>.</p> 3093 <p>The Echo Building, 18 Albert Road, Bournemouth, England BH1 1BZ. Registered in England & Wales | 01676637</p> 3094 </div> 3095 </div> 3096</footer> 3097 3098 3099 <div id="fb-root"></div> 3100 3101 3102 </div> 3103 </div> 3104 3105 3106 3107 <div class="mar-modal-container mar-modal-container--animate mar-modal-container--animate-out visually-hidden"> 3108 <div class="mar-modal-overlay" data-uses-js="close-modal"></div> 3109 3110 <div aria-label="Pop up dialog" class="mar-modal" tabindex="-1" role="dialog"> 3111 <div class="mar-modal__header"> 3112 <h3 class="mar-modal__title">Modal headline</h3> 3113 3114 <div class="mar-modal__close" data-uses-js="close-modal"> 3115<svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"> 3116 <path fill-rule="evenodd" clip-rule="evenodd" d="M7.60714 6L11.6518 10.0446C11.7589 10.1518 11.8438 10.2768 11.9062 10.4196C11.9688 10.5625 12 10.7143 12 10.875C12 11.1786 11.8884 11.442 11.6652 11.6652C11.442 11.8884 11.1696 12 10.8482 12C10.6875 12 10.5357 11.9688 10.3929 11.9062C10.25 11.8438 10.1339 11.7589 10.0446 11.6518L6 7.60714L1.95536 11.6518C1.84821 11.7589 1.72321 11.8438 1.58036 11.9062C1.4375 11.9688 1.28572 12 1.125 12C0.821427 12 0.558037 11.8884 0.334821 11.6652C0.111606 11.442 0 11.1786 0 10.875C0 10.7143 0.0312497 10.5625 0.09375 10.4196C0.15625 10.2768 0.241071 10.1518 0.348214 10.0446L4.36607 6L0.348214 1.95536C0.241071 1.84821 0.15625 1.72768 0.09375 1.59375C0.0312497 1.45982 0 1.3125 0 1.15179C0 0.830355 0.111606 0.558037 0.334821 0.334821C0.558037 0.111606 0.821427 0 1.125 0C1.28572 0 1.4375 0.0312497 1.58036 0.09375C1.72321 0.15625 1.84821 0.241071 1.95536 0.348214L6 4.39286L10.0446 0.348214C10.1339 0.241071 10.25 0.15625 10.3929 0.09375C10.5357 0.0312497 10.6875 0 10.8482 0C11.1696 0 11.442 0.111606 11.6652 0.334821C11.8884 0.558037 12 0.830355 12 1.15179C12 1.3125 11.9688 1.45982 11.9062 1.59375C11.8438 1.72768 11.7589 1.84821 11.6518 1.95536L7.60714 6Z" fill="#9DA0A4"/> 3117</svg> 3118 3119 3120 <span>Close</span> 3121 </div> 3122 </div> 3123 3124 <div class="mar-modal__body">Automatically injected HTML goes here</div> 3125 3126 <div class="mar-modal__actions"> 3127<!-- standard - Buttons.html --> 3128 3129<button 3130 type="button" 3131 data-uses-js="modal-submit" 3132 3133 class=" mar-btn 3134 mar-btn--light 3135 mar-btn--md 3136 3137 3138 " 3139> 3140 Submit 3141</button> 3142 3143 3144 3145 3146<!-- standard - Buttons.html --> 3147 3148<button 3149 type="button" 3150 data-uses-js="modal-cancel" 3151 3152 class=" mar-btn 3153 mar-btn--outline 3154 mar-btn--md 3155 3156 3157 " 3158> 3159 Cancel 3160</button> 3161 3162 3163 3164 </div> 3165 </div> 3166</div> 3167 3168 <div id="piano-meter-display" 3169 style="width: 100%; position: fixed; bottom: 0; margin: auto; z-index: 999999999999999; display: none; background-color: #fff; left: 0px"> 3170 <div style="width: 960px; margin: auto;"> 3171 <button class="mar-btn btn-martini float-right" style="margin-top: 20px" id="piano-show-newsquest" 3172 type="button">Deactivate</button> 3173 <div class="mt-2"><strong>Piano meter debugger</strong></div> 3174 <p class="mb-0" style="font-style: italic;">Data returned from the Piano 'meterActive/meterExpired' callback <a 3175 href="https://docs.piano.io/callbacks/#activeevent">event</a>.</p> 3176 <div class="mb-2" id="piano-meter-display-content"></div> 3177 </div> 3178</div> 3179 3180<div id="po-overlay-banner-top-fullwidth"></div> 3181<div id="po-overlay-banner-bottom-fullwidth"></div> 3182<div id="po-overlay-banner-bottom-content"></div> 3183<!-- <div id="piano-left-message" style="display:none; width: 100%; position: fixed; left: 0; width: 300px; text-align: center; z-index: 5000000;"></div> 3184<div id="piano-right-message" style="display:none; width: 100%; position: fixed; right: 0; width: 300px; text-align: center; z-index: 5000000;"></div> 3185 --> 3186 3187 3188 3189 3190<div class="modal" id="adlight-explanation-modal" tabindex="-1" role="dialog" aria-labelledby="sp-modal" 3191 aria-hidden="true" style="display: none"> 3192 <div class="modal-dialog modal-lg" role="document"> 3193 <div class="modal-content"> 3194 <div class="modal-body"> 3195 <img src="/resources/responsive-static/images/love-local.png" loading="lazy" 3196 id="adlight-explanation-modal-main-logo"> 3197 <p>As a subscriber, you are shown <strong>80% less</strong> display advertising when reading our 3198 articles.</p> 3199 <p>Those ads you do see are predominantly from <strong>local businesses</strong> promoting <strong>local 3200 services</strong>. </p> 3201 <p>These adverts enable local businesses to get in front of their target audience – the <strong>local 3202 community</strong>.</p> 3203 <img src="/resources/images/pixel/" id="adlight-explanation-modal-image" style="display: none"> 3204 <p class="italic">It is important that we continue to promote these adverts as our local businesses need 3205 as much support as possible during these challenging times.</p> 3206 </div> 3207 <div class="modal-footer"> 3208 <button type="button" class="mar-btn mar-btn--dark" data-dismiss="modal">Close</button> 3209 </div> 3210 </div> 3211 </div> 3212</div> 3213 3214<div id="po-overlay-toast-left"></div> 3215<div id="po-overlay-toast-main-navigation"></div> 3216
3216<script type="text/javascript">window.NREUM||(NREUM={});NREUM.info={"beacon":"bam.nr-data.net","licenseKey":"fd15ff24ac","applicationID":"1089177626","transactionName":"NVNWZkNXWxAEVxBdCwwZd0dCQloOSnYIWwcJd0ZGWFVZBihbAEEIBwwOVVRYUBEEQAFwDRFGWFNIHhw=","queueTime":0,"applicationTime":323,"atts":"GRRVEAtNSB4=","errorBeacon":"bam.nr-data.net","agent":""}</script>
3216 3217</body> 3218 3219<div id="outbrain-holder"> 3220 <div id="DFP_standard_mpu_3"></div> 3221 <div id="DFP_standard_mpu_4"></div> 3222 <div id="DFP_standard_mpu_5"></div> 3223 <div id="DFP_standard_mpu_6"></div> 3224 <div id="DFP_standard_mpu_7"></div> 3225</div>
3226<script> 3227 3228const elementToObserve = document.querySelector("#outbrain-holder"); 3229 3230// create a new instance of `MutationObserver` named `observer`, 3231// passing it a callback function 3232const observer = new MutationObserver(function(e) { 3233 $.each(e, function(j, obs) { 3234 $.each(obs.removedNodes, function (i, node) { 3235 var id = $(node).attr('id'); 3236 addAdSlot(id, id.replace('DFP_', '')); 3237 }); 3238 }); 3239}); 3240 3241// call `observe()` on that MutationObserver instance, 3242// passing it the element to observe, and the options object 3243observer.observe(elementToObserve, {subtree: true, childList: true}); 3244</script>
3244 3245
3246<script> 3247window.domComplete = performance.now(); 3248</script>
3248 3249
3250<script type="text/javascript"> 3251path = document.location.href.split("/"); 3252var prop30 = qs.get('lp'); 3253var prop43 = qs.get('ref'); 3254var pType="BlockArticleModule" 3255 3256if (pType === 'BlockArticleModule' || pType === 'NationalNewsModule' || pType === 'BlockWhatsOnModule') { 3257 pType = 'ArticleModule'; 3258} 3259for(x=4; x<7; x++) 3260{ 3261 if (typeof path[x] == 'undefined') 3262 { 3263 path[x] = ''; 3264 } 3265 if(path[x] == "" || (pType == "ArticleModule" && path[x].match(/[0-9]+\./)) || (path[x].indexOf('?') > -1)) 3266 { 3267 path[x] = path[x-1]; 3268 } 3269 else 3270 { 3271 path[x] = path[x-1] + "/" + path[x]; 3272 } 3273 path[x] = path[x].replace(/\/undefined/g,""); 3274} 3275sitename = path[2].split("."); 3276 3277pathN= unescape(document.location.pathname.toString()); 3278matches = pathN.match(/(\w+)\.(in|near|compare)\.([\,a-zA-Z0-9\ _-]+)[\/]?$/); 3279detailMatches = pathN.match(/(\w+)\.detail\.(.*)$/); 3280if (detailMatches !== null && detailMatches.length > 1) 3281{ 3282 matches = detailMatches; 3283} 3284 3285if (matches !== null && matches.length > 1) 3286{ 3287 var subfolder = ''; 3288 path[3] = 'li'; 3289 path[4] = 'li/'+subfolder; 3290 path[5] = 'li/'+subfolder+'/'+matches[1]; 3291 path[6] = 'li/'+subfolder+'/'+matches[1]; 3292} 3293if (pathN === '/') 3294{ 3295 path[3] = 'homepage'; 3296 path[4] = 'homepage'; 3297 path[5] = 'homepage'; 3298 path[6] = 'homepage'; 3299} 3300 3301 3302function filterArray(arr) { 3303 var retArr = []; 3304 $.each(arr, function(i, part) { 3305 if (part !== '') { 3306 retArr.push(part); 3307 } 3308 }); 3309 3310 return retArr; 3311} 3312</script>
3312 3313 3314
3315<script type="text/javascript"> 3316var known = $.cookie('__siren') ? '1' : '0' ; 3317</script>
3317 3318
3319<script type="text/javascript"> 3320 3321var known = $.cookie('__siren') ? '1' : '0' ; 3322var ref = document.referrer; 3323var parser = document.createElement('a'); 3324parser.href = ref; 3325 3326// values in the below MUST be strings 3327var targeting = { 3328 'context': 'Agriculture', 3329 'al': 'm', 3330 'domain': 'www.hexham-courant.co.uk', 3331 'isLanding': 'no', 3332 'top_path': 'news', 3333 'weather': 'cloudy'.toLowerCase(), 3334 'jbsjs': ''.toLowerCase(), 3335 'site_search': '', 3336 'bmd_cat': '', 3337 'wt': '11-15', 3338 'cmpid': qs.get('cmpid'), 3339 'refdm': parser.hostname, 3340 'k': known, 3341 'g': 'u' , 3342 'a': '0' , 3343 'topic': 'Events', 3344 'publication': '', 3345 'primary_tag_future_use': 'Events', 3346 'site': (isMobile()) ? 'mobile': 'desktop', 3347 'r': data_layer.user.subscription_plan !== '' 3348 ? '2' // 2 = subscribed 3349 : data_layer.user.is_logged_in == 'yes' 3350 ? '1' // 1 = registered 3351 : '0', // 0 = anonymous 3352}; 3353 3354if (!usePrebid) { 3355 targeting.adrq = 'adl'; 3356} 3357 3358if (data_layer.video.exists === 'yes') { 3359 targeting.ptype = 'video'; 3360} 3361 3362if ($.cookie('isMeterExpired') === 'yes' && window.data_layer.article.is_article) { 3363 var articleContentLevel = parseInt(window.data_layer.article.content_level, 10) || 0; // account for NaN 3364 if (articleContentLevel !== 0 && window.data_layer.article.content_level_open_access === 'no') { 3365 targeting.ao = 'y'; 3366 } 3367} 3368 3369if ($.cookie('_sp_enable_dfp_personalized_ads') === 'true') { 3370 targeting.dfpcsnt = 'yes'; 3371} else if ($.cookie('_sp_enable_dfp_personalized_ads') === 'false') { 3372 targeting.dfpcsnt = 'no'; 3373} else { 3374 targeting.dfpcsnt = 'none'; 3375} 3376 3377if (typeof MobileDetect !== "undefined") { 3378 targeting.canbb = (window.screen.width > 960) ? 'y' : 'n'; 3379} 3380 3381if (typeof module_targeting === "object") { 3382 targeting = addToTargeting(targeting, module_targeting); 3383} 3384 3385// $.each(apData, function (k, v) { 3386// targeting[k] = v; 3387// }); 3388 3389// if (typeof gs_channels !== 'undefined') { 3390// targeting.gs_channels = gs_channels; 3391// } 3392 3393targeting = addToTargeting(targeting, data_layer_helper.homesData); 3394 3395targeting.article_id = '26592287'; 3396var googleSiteName = 'www.hexham-courant.co.uk'; 3397var googlePath = '/news/'; 3398 3399var googleNetworkCode = 154725070; 3400 3401var googleChildNetworkCode = 22694024870; 3402var googleId = '/'+googleNetworkCode + ',' + googleChildNetworkCode + '/' + googleSiteName+googlePath; 3403 3404if (googleId.charAt(googleId.length - 1) === '/') { 3405 googleId = googleId.slice(0, -1); 3406} 3407 3408var googletag = googletag || {}; 3409googletag.cmd = googletag.cmd || []; 3410 3411googletag.cmd.push(function () { 3412 var _YB = _YB || { 3413 ab: function () { 3414 return _YB.dool ? "b" : "a" + Math.floor(Math.random() * 10); 3415 }, 3416 dool: Math.random() >= 0.1, 3417 }; 3418 var yb_ab; 3419 if (Math.random() <= 0.9) { 3420 yb_ab = _YB.ab(); 3421 } else { 3422 yb_ab = "c"; 3423 } 3424 googletag.pubads().setTargeting("yb_ab", yb_ab); 3425}); 3426 3427googletag.cmd.push(function() { 3428 googletag.pubads().set("adsense_background_color", "FFFFFF"); 3429 googletag.pubads().setTargeting('rfs', "0"); 3430 $.each(targeting, function (key, value) { 3431 3432 // No real value so exclude 3433 if (value === 0 || value === '' || value === null) { 3434 return; 3435 } 3436 googletag.pubads().setTargeting(key, value); 3437 }); 3438 3439}); 3440 3441if (isMobile() && '' === 'top') { 3442 $('.desktop-standard-leaderboard').remove(); 3443 $('.mobile-top-leaderboard').show(); 3444 $('#DFP_top_leaderboard_mobile').attr('id', 'DFP_top_leaderboard'); 3445} else { 3446 $('.mobile-top-leaderboard').remove(); 3447} 3448// Ads 3449var adUnits = []; 3450 3451hideAdsByScreensize(); 3452 3453if (blackListAds.length > 0) { 3454 removeBlacklistAds(blackListAds); 3455} 3456 3457$.each(unfilteredAdUnits, function (i, unit) { 3458 removeWhitelistAds(unit); 3459}); 3460 3461// set up a holder for all the adverts so we can do things with them later 3462var dfpHolder = {}; 3463// the set up code 3464googletag.cmd.push(function() { 3465 $.each(adUnits, function(i, data) { 3466 3467 // check if the dom exists 3468 if ($('#'+data.domName).length === 0) { 3469 return; 3470 } 3471 3472 var dfp = null; 3473 3474 if (data.slotType === 'standard') 3475 { 3476 // get the correct sizes, using the alternate_sizes if they exist and we are on a mobile site 3477 var sizes = data.sizes; 3478 if (data.alternate_mobile_size && isMobile()) { 3479 sizes = data.alternate_mobile_size; 3480 } 3481 // push this ad slot through 3482 dfp = googletag.defineSlot(googleId, sizes, data.domName) 3483 .addService(googletag.pubads()) 3484 .setTargeting("position", data.positionName) 3485 .setCollapseEmptyDiv(data.collapseContainer); 3486 // check if we have an array of targets, and assign them as a companion if we do 3487 if (data.targets instanceof Array && data.targets.length > 0 ) { 3488 dfp.setTargeting('companion', data.targets); 3489 } 3490 3491 } 3492 else if (data.slotType === 'outofpage') 3493 { 3494 dfp = googletag.defineOutOfPageSlot(googleId, data.domName) 3495 .addService(googletag.pubads()) 3496 .setTargeting("position", data.positionName) 3497 .setCollapseEmptyDiv(data.collapseContainer); 3498 // check if we have an array of targets, and assign them as a companion if we do 3499 if (data.targets instanceof Array && data.targets.length > 0 ) { 3500 dfp.setTargeting('companion', data.targets); 3501 } 3502 } 3503 3504 // store 3505 dfpHolder[data.domName] = dfp; 3506 3507 }); 3508 3509 if (adLight === true) { 3510 googletag.pubads().setCategoryExclusion('adlight'); 3511 // var adlightexplanation = '<div class="adlight-explanation">I\'m a subscriber <a href="#" class="adlight-explanation-link">Why am I seeing this advert?</a></div>'; 3512 // if ($('#DFP_premium_mpu').length > 0) { 3513 // $('#DFP_premium_mpu').before(adlightexplanation); 3514 // } 3515 3516 // if ($('#DFP_standard_mpu_1').length > 0) { 3517 // $('#DFP_standard_mpu_1').before(adlightexplanation); 3518 // } 3519 3520 // var imageIds = [11497497, 11497535, 11497536, 11497541, 11497542, 11497545, 11497546, 11497547]; 3521 // var imageId = imageIds[Math.floor(Math.random() * imageIds.length)]; 3522 // $('.adlight-explanation-link').click(function(e) { 3523 // e.preventDefault(); 3524 // $('#adlight-explanation-modal-image').attr('src', '/resources/images/' + imageId + '/').show(); 3525 // $('#adlight-explanation-modal').modal(); 3526 // }); 3527 } 3528 3529 // send the request 3530 googletag.pubads().enableSingleRequest(); 3531 3532 googletag.enableServices(); 3533 3534 googletag.pubads().addEventListener('slotVisibilityChanged', function(event) { 3535 if (event.slot.getResponseInformation().creativeTemplateId === 828288 || 3536 event.slot.getResponseInformation().creativeTemplateId === 12383216 ) { 3537 console.log('DFP: Magic template id detected, not refreshing'); 3538 return; 3539 } 3540 var slotName = ''; 3541 $.each(dfpHolder, function (a, e) { 3542 if (e == event.slot) { 3543 slotName = a; 3544 } 3545 }); 3546 if (typeof window.advertisingTimer !== 'undefined') { 3547 var perc = event.inViewPercentage; 3548 window.advertisingTimer.timer(slotName, perc); 3549 } 3550 }); 3551}); 3552 3553// the display code 3554$.each(adUnits, function(i, data) { 3555 3556 // check if the dom exists 3557 if ($('#'+data.domName).length === 0) { 3558 return; 3559 } 3560 3561 if (data.domName === 'DFP_interstitial_mpu') { 3562 if (!inter.checkVisit()) { 3563 return; 3564 } 3565 } 3566 3567 // are we manually loading it? 3568 if ($('#'+data.domName).attr('data-manual-loading') === "yes") { 3569 return; 3570 } 3571 // for mobile, we check if the dom element has the data-delay-loading attribute set to "1" 3572 else if ($('#'+data.domName).attr('data-delay-loading') === "yes") { 3573 3574 // load it 3575 $('#'+data.domName).appear(); 3576 $(document.body).on('appear', '#'+data.domName, function(e, allElement) { 3577 3578 // don't call it many times 3579 if ($(this).attr('data-processed') === 'yes') { 3580 return; 3581 } 3582 3583 $(this).attr('data-processed', 'yes'); 3584 3585 // display the google ad 3586 googletag.display(data.domName); 3587 googletag.pubads().refresh([dfpHolder[data.domName]]); 3588 }); 3589 return; 3590 } 3591 googletag.cmd.push(function() { 3592 googletag.display(data.domName); 3593 }); 3594}); 3595window.googleComplete = performance.now(); 3596window.googleReady = true; 3597 3598// METHODS 3599function addToTargeting(targeting, data) { 3600 if (!data) { 3601 return targeting; 3602 } 3603 $.each(data, function (key, value) { 3604 if (!value) { 3605 return; 3606 } 3607 targeting[key] = value; 3608 }); 3609 return targeting; 3610} 3611 3612function addAdSlot(slotName, slot, initHidden) { 3613 console.log("Add ad slot called for %s %s", slotName, slot); 3614 // check if item already exists 3615 if (typeof window.dfpHolder[slotName] !== 'undefined') { 3616 return; 3617 } 3618 3619 if (window.adLight === true) { 3620 return; 3621 } 3622 window.googletag.cmd.push(function() { 3623 var dfp = googletag.defineSlot(window.googleId, [[300,250]], slotName) 3624 .setTargeting('position', [slot]) 3625 .addService(googletag.pubads()); 3626 window.dfpHolder[slotName] = dfp; 3627 3628 if (!initHidden) { 3629 googletag.pubads().refresh([dfp]); 3630 3631 return; 3632 } 3633 }); 3634} 3635 3636function hideAdsByScreensize() { 3637 if (window.screen.width < 728 && $('#BlockArticleContainer').length > 0) { 3638 if ('1124' === '1147') { 3639 $('#DFP_out_of_page').remove(); 3640 } else { 3641 $('#DFP_premium_mpu').remove(); 3642 } 3643 $('#DFP_on_scroll').remove(); 3644 } else if (window.screen.width < 728 && 3645 ( $(".article-grid__uber[data-top-stories-articles='7'][data-news-list-articles='9']").length > 0 || 3646 $(".article-grid__uber[data-top-stories-articles='7'][data-news-list-articles='12']").length > 0 || 3647 $(".article-grid__uber[data-top-stories-articles='7'][data-news-list-articles='18']").length > 0 || 3648 $(".article-grid__uber[data-top-stories-articles='7'][data-news-list-articles='24']").length > 0 ) 3649 ) { 3650 const adElement = document.querySelector('#high_vis_container'); 3651 $('.omnicard[data-position="5"]').after(adElement); 3652 } 3653 3654 if ('1124' === '1147' && window.screen.width > 450) { 3655 $('#DFP_bottom_leaderboard').remove(); 3656 } 3657 3658 if ('1124' === '1147' && window.screen.width < 728) { 3659 $('#DFP_top_leaderboard').remove(); 3660 } 3661 3662 if ('1124' === '1147') { 3663 $('#DFP_teads').remove(); 3664 $('#DFP_out_of_page').remove(); 3665 } 3666 3667 if ($('#comments-in-page').length === 1 && window.screen.width > 450) { 3668 $('#DFP_top_leaderboard').parent().remove(); 3669 $('#DFP_bottom_leaderboard').parent().remove(); 3670 // $('#DFP_standard_mpu_1').parent().remove(); 3671 } 3672} 3673 3674function removeBlacklistAds(blackListAds) { 3675 $.each(blackListAds, function(i, name) { 3676 removeAdContainer(name); 3677 }); 3678} 3679 3680function removeWhitelistAds(unit) { 3681 // VAST (video) ad units never get displayed in here. 3682 if (unit.isVast) { 3683 return; 3684 } 3685 3686 // if we have an ad-light experience 3687 if (whiteList === true) { 3688 if (typeof whiteListAds[unit.positionName] === 'undefined') { 3689 removeAdContainer(unit.domName) 3690 return; 3691 } 3692 } 3693 3694 adUnits.push(unit); 3695} 3696 3697function removeAdContainer(name) { 3698 const element = document.getElementById(name); 3699 // doesn't exist? exit 3700 if(!element) { 3701 return; 3702 } 3703 3704 const parent = element.parentElement; 3705 if (parent && parent.classList.contains('block-bottom-margin')) { 3706 // if immediate parent contains block-bottom-margin as a class, remove the parent as well 3707 parent.classList.remove('block-bottom-margin'); 3708 } 3709 if (parent && parent.classList.contains('mar-leaderboard--top')) { 3710 // in case of leaderboard, remove as has min-height 3711 parent.remove(); 3712 return; 3713 } 3714 3715 if (parent && parent.classList.contains('mar-leaderboard--bottom')) { 3716 // in case of article ad container, remove as has min-height 3717 parent.remove(); 3718 return; 3719 } 3720 3721 element.remove(); 3722} 3723</script>
3723 3724 3725
3726<script src="/resources/responsive-static/build/mds/js/global.js?cb=vjoPdzgg"></script>
3726 3727 3728 3729 3730 3731
3732<script src="/__siren/"></script>
3732 3733 3734
3735<script src="//uatu.newsquestdigital.co.uk/collector.php?article_id=26592287&site_id=1124"></script>
3735 3736<!--
3736<script src="//uatu.newsquestdigital.co.uk/recommender-json-2.php?article_id=26592287&site_id=1124"></script>
3736 --> 3737 3738
3739<script type="text/javascript"> 3740 var s_account="newsquestgroupprod"; 3741</script>
3741 3742
3743<script type="text/javascript" src="/resources/responsive-static/vendor/adobe/VisitorAPI.js?cb=vjoPdzgg"></script>
vendor: 1 bytes, line 3743
3743
3744<script type="text/javascript" src="/resources/responsive-static/vendor/adobe/omniture.js?cb=vjoPdzgg"></script>
3744 3745
3746<script type="text/javascript"> 3747 3748function getOmniturePath() { 3749 var path = ''; 3750 if ($('#gallery-base-url').length === 1) { 3751 path = $('#gallery-base-url').val(); 3752 } 3753 else { 3754 path = window.location.pathname; 3755 } 3756 return path; 3757} 3758 3759function getPositionFromCookie() { 3760 const cookieName = 'tracking_block_index'; 3761 3762 const ref = document.cookie 3763 .split('; ') 3764 .find(row => row.startsWith(`${cookieName}=`)) 3765 ?.slice(cookieName.length + 1); 3766 3767 document.cookie = `${cookieName}=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/; domain=${window.data_layer.site.cookie_domain}`; 3768 3769 return ref ? decodeURIComponent(ref) : undefined; 3770} 3771function getRefFromCookie() { 3772 const cookieName = 'tracking_block'; 3773 3774 const ref = document.cookie 3775 .split('; ') 3776 .find(row => row.startsWith(`${cookieName}=`)) 3777 ?.split('=')[1]; 3778 3779 // Remove the cookie 3780 document.cookie = `${cookieName}=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/; domain=${window.data_layer.site.cookie_domain}`; 3781 3782 return ref; 3783} 3784 3785function getOmnitureTrackingFromCookie(key, preExistingValue) { 3786 var ref = $.cookie('o-' + key); 3787 if(typeof(ref) === 'undefined') { 3788 ref = preExistingValue 3789 } else { 3790 ref = decodeURIComponent(ref); 3791 $.removeCookie('o-' + key, { 3792 path: '/', 3793 domain: window.data_layer.site.cookie_domain, 3794 }); 3795 } 3796 return ref; 3797} 3798 3799function getValidatedAPList() { 3800 3801 var validList = [1100, 1101, 1002, 1006, 1010, 1014, 1018, 1022, 1200, 1202, 1205, 1300, 1602, 1605, 1608, 1612, 1616, 1500, 1503, 1507, 1509, 1512, 1402, 1406, 1409, 1412, 1416, 14331, 14333, 14335, 14336, 14339, 14342, 14344, 14345, 14346, 14350, 14351, 14353, 14359, 14366, 14370, 14371, 14377, 14388, 14394, 14396, 14399, 14407, 14221, 14423, 15679, 15681, 15682, 15683, 15684, 15686, 15687, 15688, 15975]; 3802 3803 var data = getAudienceProjectTargetingData(); 3804 if (!data || !data.ap_x) { 3805 return ''; 3806 } 3807 3808 validData = []; 3809 $.each(data.ap_x, function(i, td) { 3810 if ($.inArray(parseInt(td, 10), validList) !== -1) { 3811 validData.push(td); 3812 } 3813 }); 3814 3815 return validData.join(','); 3816} 3817 3818path = document.location.href.split("/"); 3819 3820var qs = new URLSearchParams(window.location.search); 3821 3822var prop30 = qs.get('lp'); 3823var prop43 = qs.get('ref'); 3824var pType="BlockArticleModule" 3825 3826if (pType === 'BlockArticleModule' || pType === 'NationalNewsModule' || pType === 'BlockWhatsOnModule') { 3827 pType = 'ArticleModule'; 3828} 3829 3830for(x=4; x<7; x++) 3831{ 3832 if (typeof path[x] == 'undefined') 3833 { 3834 path[x] = ''; 3835 } 3836 if(path[x] == "" || (pType == "ArticleModule" && path[x].match(/[0-9]+\./)) || (path[x].indexOf('?') > -1)) 3837 { 3838 path[x] = path[x-1]; 3839 } 3840 else 3841 { 3842 path[x] = path[x-1] + "/" + path[x]; 3843 } 3844 path[x] = path[x].replace(/\/undefined/g,""); 3845} 3846pathN= unescape(document.location.pathname.toString()); 3847matches = pathN.match(/(\w+)\.(in|near|compare)\.([\,a-zA-Z0-9\ _-]+)[\/]?$/); 3848detailMatches = pathN.match(/(\w+)\.detail\.(.*)$/); 3849if (detailMatches !== null && detailMatches.length > 1) 3850{ 3851 matches = detailMatches; 3852} 3853 3854if (matches !== null && matches.length > 1) 3855{ 3856 var subfolder = ''; 3857 path[3] = 'li'; 3858 path[4] = 'li/'+subfolder; 3859 path[5] = 'li/'+subfolder+'/'+matches[1]; 3860 path[6] = 'li/'+subfolder+'/'+matches[1]; 3861} 3862if (pathN === '/') 3863{ 3864 path[3] = 'homepage'; 3865 path[4] = 'homepage'; 3866 path[5] = 'homepage'; 3867 path[6] = 'homepage'; 3868} 3869 3870 3871/* You may give each page an identifying name, server, and channel on 3872the next lines. */ 3873s.pageName="(www) "+getOmniturePath(); 3874s.pageName = s.pageName.toLowerCase(); 3875s.server="martini"; 3876s.channel=""; 3877s.pageType=""; 3878s.prop1= qs.get('search'); 3879s.prop2=""; 3880s.prop3=document.title; 3881s.prop4="26592287"; 3882s.prop5="BlockArticleModule"; /* get from Martini */ 3883s.prop6=path[3].toLowerCase(); 3884s.prop7=path[4].toLowerCase(); 3885s.prop8=path[5].toLowerCase(); 3886s.prop9=path[6].toLowerCase(); 3887s.prop10=""; 3888s.prop15="none|use author profile|natalie finnigan"; 3889s.prop16=path[2].toLowerCase(); 3890s.prop17=""; 3891s.prop18="Martini"; 3892s.prop19="1"; 3893s.prop20 = s.getPreviousValue(s.pageName, 'gpv_pn'); 3894s.prop42 = ""; 3895s.prop53 = 'standard'; 3896s.prop54 = ''; 3897s.prop55 = ''; 3898s.prop56 = "BAM Standard Article"; 3899s.prop57 = ($('[data-name="Feature Article Block A"]').length > 0) ? 'Enabled' : 'Disabled'; 3900s.prop58 = document.querySelector('[data-name="Feature Article Block B"]')?.dataset.variant; 3901s.prop59 = getRefFromCookie(); 3902s.prop60 = getPositionFromCookie(); 3903s.prop73 = document.cookie.split('; ').find(row => row.startsWith('adtiming='))?.split('=')[1] || null; 3904 3905var eVar67 = []; 3906 3907if ($.cookie('consentUUID')) { 3908 eVar67.push('yes'); 3909} else { 3910 eVar67.push('no'); 3911} 3912if ($.cookie('_sp_enable_dfp_personalized_ads') === 'true') { 3913 eVar67.push('yes'); 3914} else if ($.cookie('_sp_enable_dfp_personalized_ads') === 'false') { 3915 eVar67.push('no'); 3916} else { 3917 eVar67.push('none'); 3918} 3919 3920if ($.cookie('_sp_legitimate_interests') === 'true') { 3921 eVar67.push('yes'); 3922} else if ($.cookie('_sp_legitimate_interests') === 'false') { 3923 eVar67.push('no'); 3924} else { 3925 eVar67.push('none'); 3926} 3927 3928//if ($.cookie('euconsent')) { 3929// eVar67.push($.cookie('euconsent')); 3930//} else { 3931// eVar67.push('none'); 3932//} 3933 3934s.eVar67 = eVar67.join(','); 3935// console.log('ADB: setting eVar67 to %s', eVar67.join(',')); 3936 3937if ($.cookie('prev-tcf-v2')) { 3938 // console.log('ADB: Setting eVar68 to ', $.cookie('prev-tcf-v2')); 3939 s.eVar68 = $.cookie('prev-tcf-v2'); 3940} 3941 3942if (typeof iabNames !== 'undefined') { 3943 s.prop29 = iabNames.join(','); 3944} else if (typeof iabIds !== 'undefined') { 3945 s.prop29 = iabIds.join(','); 3946} 3947 3948if (s.prop20 && s.prop20 !== 'no value') { 3949 s.prop21 = s.getPercentPageViewed(); 3950} else { 3951 s.prop21 = ''; 3952} 3953 3954if (typeof __siren !== 'undefined') { 3955 s.eVar27 = __siren; 3956} 3957 3958s.prop22 = s.getDaysSinceLastVisit('s_lv'); 3959 3960 3961s.prop43=getOmnitureTrackingFromCookie('ref', prop43); 3962s.prop25 = 'Agriculture' 3963 3964s.prop27 = ''; 3965s.prop28='2015' 3966s.prop30 = getOmnitureTrackingFromCookie('prop30', prop30); 3967s.linkInternalFilters="javascript:,hexham-courant.co.uk,fish4.co.uk,adsys.newsquest.co.uk,www.exchangeandmart.co.uk,www.communigate.co.uk," 3968s.eVar61=(new Date()).toLocaleDateString("en-GB"); 3969/* s.eVar62=(new Date()).toLocaleDateString("en-GB"); */ 3970 3971s.eVar63 = "+1"; 3972/* s.eVar64 = "+1"; */ 3973 3974s.eVar60 = "1,metered,no"; 3975 3976s.prop61 = 'news'; 3977s.prop62 = '4414';
3978s.prop63 = '35'; 3979s.prop64 = ''; 3980 3981s.prop66 = ''; 3982s.prop66 += ($('#inArticleAd').length > 0) ? "y;" : "n;"; 3983s.prop66 += ($('#inArticleAd-1').length > 0) ? "y;" : "n;"; 3984s.prop66 += ($('#inArticleAd-2').length > 0) ? "y;" : "n;"; 3985s.prop66 += ($('#inArticleAd-3').length > 0) ? "y;" : "n;"; 3986s.prop66 += ($('#inArticleAd-4').length > 0) ? "y;" : "n;"; 3987s.prop66 += ($('#inArticleAd-5').length > 0) ? "y;" : "n;"; 3988s.prop66 += ($('#inArticleAd-6').length > 0) ? "y;" : "n;"; 3989s.prop66 += ($('#inArticleAd-7').length > 0) ? "y;" : "n;"; 3990s.prop66 += ($('#inArticleAd-8').length > 0) ? "y" : "n"; 3991s.prop66 += ($('#inArticleAd-9').length > 0) ? "y" : "n"; 3992s.prop66 += ($('#inArticleAd-10').length > 0) ? "y" : "n"; 3993 3994s.eVar107 = '3'; 3995s.eVar108 = '3731'; 3996 3997 3998 3999s.eVar104 = 'Events'; 4000 4001 4002 4003s.prop56 = "BAM Standard Article"; 4004 4005 4006/* Article-site-cloning data */ 4007s.eVar90 = window.data_layer.article.parent_originating_site_id; 4008s.eVar91 = window.data_layer.article.originating_article_id; 4009s.eVar92 = window.data_layer.article.is_original_to_site; 4010s.eVar95 = window.data_layer.site.using_piano_id; 4011s.eVar106 = 'AI-Assisted'; 4012 4013s.eVar109 = ''; 4014 4015/* Uber block article counts */ 4016s.eVar93 = window.data_layer.page.top_stories_article_count + ':' + window.data_layer.page.interstitial_article_count + ':' + window.data_layer.page.news_stories_article_count; 4017 4018/* Conversion Variables */ 4019s.campaign="" 4020s.state="" 4021s.zip="" 4022s.events="" 4023s.products="" 4024s.purchaseID="" 4025s.eVar14="" 4026try { 4027 s.list3=getValidatedAPList(); 4028} catch (e) { 4029 // do nothing 4030} 4031 4032 4033 4034 4035// Initial fotorama tracking. 4036var moduleType = null; 4037if (s.prop5 === 'ArticleModule' || s.prop5 == 'PropertyModuleReplacement' || s.prop5 === 'BlockArticleModule') { 4038 moduleType = 'article'; 4039} else if (s.prop5 === 'PictureGalleryModule') { 4040 moduleType = 'gallery'; 4041} 4042 4043if ($('#comments-in-page').length === 1) { 4044 moduleType = 'comments'; 4045} 4046 4047if (moduleType === 'article' || moduleType === 'gallery' || moduleType === 'comments') { 4048 var imagePath = ''; 4049 4050 if ($('.fotorama').length > 0) { 4051 // Get the first Fotorama image. 4052 try { 4053 var el = $('.fotorama').data('fotorama').data[0].html; 4054 var url = $(el).find('div').css('background-image'); 4055 imagePath = url.replace('url(','').replace(')','').replace(/\"/gi, ""); 4056 } catch (e) { 4057 } 4058 } else { 4059 // If there's just one image (i.e. it's not a gallery), find its path. 4060 var imagePathSingle = $('#mainImage').attr('src'); 4061 if (typeof imagePathSingle !== 'undefined') { 4062 imagePath = imagePathSingle.split('.')[0] + '/'; 4063 } 4064 } 4065 var imageParts = imagePath.split('/'); 4066 if (imageParts.length > 1) { 4067 s.eVar37 = imageParts[imageParts.length - 2]; 4068 s.prop37 = imageParts[imageParts.length - 2]; 4069 s.events = s.apl(s.events, 'event7', ',', 2); 4070 } 4071 s.eVar36 = moduleType; 4072 s.prop36 = moduleType; 4073} 4074 4075 4076 4077// Education pages. 4078if (s.prop5 === 'ResponsiveEducationModule') { 4079 // School profile page. 4080 if ($('#eduOverview').length > 0) { 4081 s.eVar40 = $('#eduOverview').data('school-status'); 4082 s.prop40 = s.eVar40; 4083 s.prop41 = 'edu-' + $('#eduOverview').data('school-urn'); 4084 s.prop46 = $('#town').text(); 4085 } 4086 4087 // Comparison page. 4088 if ($('#eduComparisonTable').length > 0) { 4089 s.list1 = ''; 4090 } 4091 4092 // Results page. 4093 if ($('.school-results').length > 0) { 4094 s.list1 = ''; 4095 4096 // Track the search criteria. 4097 s.prop44 = ''; 4098 s.prop45 = "".toLowerCase(); 4099 s.prop46 = "".toLowerCase(); 4100 s.prop49 = ''; 4101 s.prop50 = ''; 4102 s.prop51 = ''; 4103 s.eVar2 = s.prop50; 4104 4105 var newSearch = false; 4106 if (newSearch) { 4107 s.events = s.apl(s.events, 'event17', ',', 1); 4108 } 4109 } 4110} 4111 4112// Notices Module 4113if (s.prop5 === 'NewsquestModulesNoticesModule') { 4114 // Notices Find page. 4115 if (s.pageName.includes('notices/find')) { 4116 s.pageName = '(www) /notices/find/'; 4117 s.eVar50 = ''; 4118 const noticesURL = new URL(window.location.href); 4119 const noticesParams = new URLSearchParams(noticesURL.search); 4120 4121 s.eVar1 = noticesParams.has('keyword') ? noticesParams.get('keyword') : 'None'; 4122 s.eVar51 = noticesParams.has('sort') ? noticesParams.get('sprt') : 'best'; 4123 s.eVar52 = noticesParams.has('p') ? (parseInt(noticesParams.get('p'), 10) + 1) : 1; 4124 s.eVar53 = noticesParams.has('type') ? noticesParams.get('type') : 'All'; 4125 s.eVar54 = noticesParams.has('nearby') ? noticesParams.get('nearby') : 'no'; 4126 s.eVar55 = noticesParams.has('daterange') ? noticesParams.get('daterange') : 'last-month'; 4127 4128 if (noticesParams.has('sort')) { 4129 switch (noticesParams.get('sort')) { 4130 case 'date_asc': 4131 s.eVar51 = 'oldest'; 4132 break; 4133 case 'date_desc': 4134 s.eVar51 = 'newest'; 4135 break; 4136 case 'best_match': 4137 s.eVar51 = 'best'; 4138 break; 4139 default: 4140 s.eVar51 = noticesParams.get('sort'); 4141 break; 4142 } 4143 } 4144 4145 // Concatenate all search params into eVar44 4146 if (noticesParams.size > 0) { 4147 const searchParams = new URL(window.location.href).searchParams; 4148 s.eVar44 = '';
4149 searchParams.forEach((value, key) => { 4150 s.eVar44 += `${key}=${value},`; 4151 }); 4152 } else { 4153 s.eVar44 = ''; 4154 } 4155 4156 // Adobe Search Event triggering 4157 const setNoticePaginationClicked = (value) => { 4158 localStorage.setItem("isNoticePaginationClicked", value); 4159 }; 4160 4161 const noticeSearchInput = document.getElementById("notices-search"); 4162 const noticeSearchBtn = document.getElementById("notice-search-find"); 4163 const noticePaginationBtns = document.querySelectorAll('.notice-find__pagination .pagination-btn'); 4164 const noticePaginationBtnPrev = document.querySelector('.pagination-btn-previous svg'); 4165 const noticePaginationBtnNext = document.querySelector('.pagination-btn-next svg'); 4166 4167 noticeSearchInput?.addEventListener('change', () => setNoticePaginationClicked('false')); 4168 noticeSearchBtn?.addEventListener('click', () => setNoticePaginationClicked('false')); 4169 4170 noticePaginationBtns.forEach(btn => { 4171 btn.addEventListener('click', () => setNoticePaginationClicked('true')); 4172 }); 4173 4174 noticePaginationBtnPrev?.addEventListener('click', () => setNoticePaginationClicked('true')); 4175 noticePaginationBtnNext?.addEventListener('click', () => setNoticePaginationClicked('true')); 4176 4177 if (localStorage.getItem("isNoticePaginationClicked") === 'false') { 4178 s.events = s.apl(s.events, 'event1', ',', 1); 4179 } 4180 } 4181 4182 if (/notices\/funeral-directors\/(\d+)\.([a-zA-Z0-9-?]+)?/.test(s.pageName)) { 4183 s.pageName = '(www) /notices/funeral-director/'; 4184 s.eVar41 = ''; 4185 } 4186} 4187 4188if (s.prop5 === 'NewsquestModulesNoticeModule') { 4189 s.eVar41 = ''; 4190 const type = window.announcement_data?.details?.type || ''; 4191 const subCategory = window.announcement_data?.details?.sub_category || ''; 4192 s.eVar40 = type !== 'Tribute' ? type : `${type} - ${subCategory}`; 4193 s.eVar42 = window.announcement_data?.details?.id || ''; 4194 s.eVar107 = '3'; 4195 s.eVar119 = ''; 4196 s.eVar120 = ''; 4197 s.eVar2 = "(www) /notice/"; 4198} 4199 4200//New Property module 4201if (s.prop5 === 'ResponsivePropertyModule') { 4202 /* 4203 Use prop42 for single and list pages, for list pages use hyphen separate lists of id's 4204 */ 4205 4206 4207 //Property's all over the place (homepage, searches etc - HOM-133 4208 4209 //Property Detail - HOM-131, HOM-134, HOM-130 4210 4211 //Contact us submissions - HOM-137 4212 if($('#propertyModule.agent-details').length > 0) { 4213 //Add a click handler for a.contact-detail 4214 } 4215 4216 4217} 4218 4219// is their a video tag on the page? 4220if ($('.exco-embed').length > 0) { 4221 console.log('VID: setting tracking for event50'); 4222 s.events = s.apl(s.events, 'event50', ',', 1); 4223} 4224 4225var foundAutoPlayVid = false; 4226$('.jw-outer').each(function (a, domEle) { 4227 if ($(this).data('multimedia-block') === 'no' && !foundAutoPlayVid) { 4228 console.log('VID: setting tracking for event51'); 4229 s.events = s.apl(s.events, 'event51', ',', 1); 4230 foundAutoPlayVid = true; 4231 } 4232}); 4233 4234 4235 4236 4237 4238 4239 4240s.eVar66 = 'Ad-Full'; 4241s.eVar114 = ''; 4242 4243 4244 4245 // var eVar65Copy = s.getValOnce(s.eVar65, "ev65", 0); 4246 // if (eVar65Copy !== '' && s.prop20.indexOf("/my/subscription/activate/") > -1) { 4247 // s.events = s.apl(s.events, "event4", ",", 1); // Set the subscription counter event. 4248 // s.events = s.apl(s.events, "purchase", ",", 1); // Set the purchase event. 4249 // s.products = "Subscription : Metered Access;" + eVar65Copy + ";1;"; 4250 // s.purchaseID = ""; 4251 // } 4252 4253 4254if(qs.get('action') === 'success' && (s.prop5 === 'ArticleModule' || s.prop5 === 'BMDModule' || s.prop5 === 'BlockArticleModule')) { 4255 s.events=s.apl(s.events,'event9',',',2) 4256} 4257/* Hierarchy Variables */ 4258s.hier1="newsquest," + "" + ",www.hexham-courant.co.uk," + path[6].replace(/\//,","); 4259 4260if (typeof MartiniFotorama !== 'undefined') { 4261 MartiniFotorama.loadOmniture(s); 4262} 4263s.prop39 = "0"; 4264 4265 4266 4267// Tracking usage of Bytecast audio embeds in articles. 4268s.eVar82 = 'no'; 4269s.eVar83 = ''; 4270 4271 console.log('ADB: starting'); 4272 console.log('Google Bot Browser: ', window.isRobot.googleBot()); //TODO Remove this log after QA 4273 4274// Tracking of Commenting Registration FLow 4275if (s.prop5 !== 'BlockArticleModule') { 4276 const storedAdobeDimensions = sessionStorage.getItem('nq_adobe_tracking_article_dimensions'); 4277 if (storedAdobeDimensions) { 4278 const storedAdobeDimensionObj = JSON.parse(storedAdobeDimensions); 4279 s.eVar10 = storedAdobeDimensionObj.eVar10; 4280 s.eVar15 = storedAdobeDimensionObj.eVar15; 4281 s.eVar22 = storedAdobeDimensionObj.eVar22; 4282 s.eVar23 = storedAdobeDimensionObj.eVar23; 4283 s.eVar24 = storedAdobeDimensionObj.eVar24; 4284 s.eVar25 = storedAdobeDimensionObj.eVar25; 4285 s.eVar28 = storedAdobeDimensionObj.eVar28; 4286 s.eVar60 = storedAdobeDimensionObj.eVar60; 4287 s.eVar104 = storedAdobeDimensionObj.eVar104; 4288 s.eVar106 = storedAdobeDimensionObj.eVar106; 4289 s.eVar107 = storedAdobeDimensionObj.eVar107; 4290 s.eVar108 = storedAdobeDimensionObj.eVar108; 4291 s.prop63 = storedAdobeDimensionObj.prop63; 4292 } 4293} 4294 4295if (window.location.href.includes("/user/create-account/commenting/")) { 4296 s.eVar2 = '(www) /user/create-account/commenting/'; 4297} 4298 4299/************* DO NOT ALTER ANYTHING BELOW THIS LINE ! **************/ 4300if (qs.get('callback') !== 'in' && !window.isRobot.googleBot()) { 4301 var s_code=s.t(); 4302 var backupAdobe = s; 4303 4304 if(s_code)document.write(s_code) 4305} 4306 4307// Storing the visiting dimensions 4308if (s.eVar10 || s.eVar22 || s.eVar23 || s.eVar24) { 4309 const adobeTrackingVisitingDimensions = { 4310 eVar10: s.eVar10, 4311 eVar22: s.eVar22, 4312 eVar23: s.eVar23, 4313 eVar24: s.eVar24, 4314 } 4315 sessionStorage.setItem('nq_adobe_tracking_visiting_dimensions', JSON.stringify(adobeTrackingVisitingDimensions)); 4316} 4317 4318//--></script>
4318 4319<!-- End SiteCatalyst code version: H.19.3. --> 4320 4321 4322 4323 4324
4324<script src="/resources/responsive-static/build/mds/js/article.js?cb=vjoPdzgg"></script>
4324 4325 4326
4327<script> 4328 if ('' !== '') { 4329 setTimeout(function() { 4330 data_layer_helper.loadScript( 4331 "/resources/responsive-static/build/mds-next/js/.js?cb=vjoPdzgg", 4332 true, 4333 null, 4334 "module" 4335 ) 4336 }, 500); 4337 } 4338</script>
4338 4339 4340</html>
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.