PageSourceSearch

https://www.hexham-courant.co.uk/news/26592287.northumberland-farm-shop-10-best-pumpkin-patches-uk/

html hexham-courant.co.uk collected 2026-10-02 05:41:15 UTC 278,580 bytes, 4,340 lines download raw bytes

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&#039;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        + "&nbsp; | &nbsp;<b>views:</b> " + meterData.views
1554        + "&nbsp; | &nbsp;<b>totalViews:</b> " + meterData.totalViews
1555        + "&nbsp; | &nbsp;<b>viewsLeft:</b> " + meterData.viewsLeft
1556        + "&nbsp; | &nbsp;<b>maxViews:</b> " + meterData.maxViews
1557        + "&nbsp; | &nbsp;<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        + "&nbsp; | &nbsp;<b>views:</b> " + meterData.views
1580        + "&nbsp; | &nbsp;<b>totalViews:</b> " + meterData.totalViews
1581        + "&nbsp; | &nbsp;<b>viewsLeft:</b> " + meterData.viewsLeft
1582        + "&nbsp; | &nbsp;<b>maxViews:</b> " + meterData.maxViews
1583        + "&nbsp; | &nbsp;<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">&nbsp;
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 &lt;i&gt;(Image: Brocksbushes Farm Shop)&lt;/i&gt;"
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 &amp; 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>&copy; 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.