301 Moved Permanently means that the requested resource has been permanently moved to a new URL. All future requests should use the new address.
The browser will automatically redirect the user to the new address, and search engines will update their indexes.
200 OK is a standard successful HTTP server response. It means that the client’s request (e.g., from a browser) was successfully processed, and the server is delivering the requested data.
The user receives content without errors, and the page or application functions properly. If Code 200 is accompanied by data, the browser or program processes and displays it to the user.
GET / HTTP/1.1 Host: gpcpd.com Accept: */* User-Agent: Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; [email protected])
<!DOCTYPE html> <html> <head> <script async src="https://www.googletagmanager.com/gtm.js?id=GTM-NH34WXV"></script> <script> document.addEventListener('turbo:load', (event) => { window.dataLayer = window.dataLayer || []; window.dataLayer.push({ 'gtm.start': new Date().getTime(), event: 'gtm.js' }); }); </script> <!-- Start of HubSpot Embed Code --> <script> var _hsq = window._hsq = window._hsq || []; document.addEventListener('turbo:load', () => { _hsq.push(['setPath', window.location.pathname + window.location.search]) _hsq.push(['trackPageView']) }); </script> <script type="text/javascript" id="hs-script-loader" async defer src="https://js.hs-scripts.com/6796123.js"></script> <!-- End of HubSpot Embed Code --> <meta charset="utf-8"> <script type="text/javascript">window.NREUM||(NREUM={});NREUM.info={"beacon":"bam.nr-data.net","errorBeacon":"bam.nr-data.net","licenseKey":"NRJS-aac2805fb9ec58071ed","applicationID":"1539479707","transactionName":"J1YPTUMLCFVQRRcSVwhaDlRUSw1XUVJA","queueTime":3,"applicationTime":32,"agent":""}</script> <script type="text/javascript">(window.NREUM||(NREUM={})).init={ajax:{deny_list:["bam.nr-data.net"]}};(window.NREUM||(NREUM={})).loader_config={licenseKey:"NRJS-aac2805fb9ec58071ed",applicationID:"1539479707"};;/*! For license information please see nr-loader-rum-1.290.0.min.js.LICENSE.txt */ (()=>{var e,t,r={122:(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)),a=0===Object.keys(r).length?e:r;for(let o in a)if(void 0!==e[o])try{if(null===e[o]){r[o]=null;continue}Array.isArray(e[o])&&Array.isArray(t[o])?r[o]=Array.from(new Set([...e[o],...t[o]])):"object"==typeof e[o]&&"object"==typeof t[o]?r[o]=i(e[o],t[o]):r[o]=e[o]}catch(e){(0,n.R)(1,e)}return r}catch(e){(0,n.R)(2,e)}}},555:(e,t,r)=>{"use strict";r.d(t,{D:()=>s,f:()=>o});var n=r(384),i=r(122);const a={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 o(e){try{return!!e.licenseKey&&!!e.errorBeacon&&!!e.applicationID}catch(e){return!1}}const s=e=>(0,i.a)(e,a)},324:(e,t,r)=>{"use strict";r.d(t,{F3:()=>i,Xs:()=>a,xv:()=>n});const n="1.290.0",i="PROD",a="CDN"},154:(e,t,r)=>{"use strict";r.d(t,{OF:()=>c,RI:()=>i,WN:()=>d,bv:()=>a,gm:()=>o,mw:()=>s,sb:()=>u});var n=r(863);const i="undefined"!=typeof window&&!!window.document,a="undefined"!=typeof WorkerGlobalScope&&("undefined"!=typeof self&&self instanceof WorkerGlobalScope&&self.navigator instanceof WorkerNavigator||"undefined"!=typeof globalThis&&globalThis instanceof WorkerGlobalScope&&globalThis.navigator instanceof WorkerNavigator),o=i?window:"undefined"!=typeof WorkerGlobalScope&&("undefined"!=typeof self&&self instanceof WorkerGlobalScope&&self||"undefined"!=typeof globalThis&&globalThis instanceof WorkerGlobalScope&&globalThis),s=Boolean("hidden"===o?.document?.visibilityState),c=/iPad|iPhone|iPod/.test(o.navigator?.userAgent),u=c&&"undefined"==typeof SharedWorker,d=((()=>{const e=o.navigator?.userAgent?.match(/Firefox[/\s](\d+\.\d+)/);Array.isArray(e)&&e.length>=2&&e[1]})(),Date.now()-(0,n.t)())},241:(e,t,r)=>{"use strict";r.d(t,{W:()=>a});var n=r(154);const i="newrelic";function a(e={}){try{n.gm.dispatchEvent(new CustomEvent(i,{detail:e}))}catch(e){}}},687:(e,t,r)=>{"use strict";r.d(t,{Ak:()=>c,Ze:()=>l,x3:()=>u});var n=r(836),i=r(606),a=r(860),o=r(646);const s={};function c(e,t){const r={staged:!1,priority:a.P3[t]||0};d(e),s[e].get(t)||s[e].set(t,r)}function u(e,t){e&&s[e]&&(s[e].get(t)&&s[e].delete(t),g(e,t,!1),s[e].size&&f(e))}function d(e){if(!e)throw new Error("agentIdentifier required");s[e]||(s[e]=new Map)}function l(e="",t="feature",r=!1){if(d(e),!e||!s[e].get(t)||r)return g(e,t);s[e].get(t).staged=!0,f(e)}function f(e){const t=Array.from(s[e]);t.every((([e,t])=>t.staged))&&(t.sort(((e,t)=>e[1].priority-t[1].priority)),t.forEach((([t])=>{s[e].delete(t),g(e,t)})))}function g(e,t,r=!0){const a=e?n.ee.get(e):n.ee,s=i.i.handlers;if(!a.aborted&&a.backlog&&s){if(r){const e=a.backlog[t],r=s[t];if(r){for(let t=0;e&&t<e.length;++t)p(e[t],r);Object.entries(r).forEach((([e,t])=>{Object.values(t||{}).forEach((t=>{t[0]?.on&&t[0]?.context()instanceof o.y&&t[0].on(e,t[1])}))}))}}a.isolatedBacklog||delete s[t],a.backlog[t]=null,a.emit("drain-"+t,[])}}function p(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],a=e[2];n.apply(i,a)}}))}},836:(e,t,r)=>{"use strict";r.d(t,{P:()=>s,ee:()=>c});var n=r(384),i=r(990),a=r(646),o=r(607);const s="nr@context:".concat(o.W),c=function e(t,r){var n={},o={},d={},l=!1;try{l=16===r.length&&u.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,a){!1!==a&&(a=!0);if(c.aborted&&!i)return;t&&a&&t.emit(e,r,n);for(var s=g(n),u=m(e),d=u.length,l=0;l<d;l++)u[l].apply(s,r);var p=v()[o[e]];p&&p.push([f,e,r,s]);return s},get:h,listeners:m,context:g,buffer:function(e,t){const r=v();if(t=t||"feature",f.aborted)return;Object.entries(e||{}).forEach((([e,n])=>{o[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()[o[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 g(e){return e&&e instanceof a.y?e:e?(0,i.I)(e,s,(()=>new a.y(s))):new a.y(s)}function p(e,t){n[e]=m(e).concat(t)}function m(e){return n[e]||[]}function h(t){return d[t]=d[t]||e(f,t)}function v(){return f.backlog}}(void 0,"globalEE"),u=(0,n.Zm)();u.ee||(u.ee=c)},646:(e,t,r)=>{"use strict";r.d(t,{y:()=>n});class n{constructor(e){this.contextId=e}}},908:(e,t,r)=>{"use strict";r.d(t,{d:()=>n,p:()=>i});var n=r(836).ee.get("handle");function i(e,t,r,i,a){a?(a.buffer([e],i),a.emit(e,t,r)):(n.buffer([e],i),n.emit(e,t,r))}},606:(e,t,r)=>{"use strict";r.d(t,{i:()=>a});var n=r(908);a.on=o;var i=a.handlers={};function a(e,t,r,a){o(a||n.d,i,e,t,r)}function o(e,t,r,i,a){a||(a="feature"),e||(e=n.d);var o=t[a]=t[a]||{};(o[r]=o[r]||[]).push([e,i])}},878:(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 a(e,t,r=!1,i){document.addEventListener(e,t,n(r,i))}r.d(t,{DD:()=>a,jT:()=>n,sp:()=>i})},607:(e,t,r)=>{"use strict";r.d(t,{W:()=>n});const n=(0,r(566).bz)()},566:(e,t,r)=>{"use strict";r.d(t,{LA:()=>s,bz:()=>o});var n=r(154);const i="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx";function a(e,t){return e?15&e[t]:16*Math.random()|0}function o(){const e=n.gm?.crypto||n.gm?.msCrypto;let t,r=0;return e&&e.getRandomValues&&(t=e.getRandomValues(new Uint8Array(30))),i.split("").map((e=>"x"===e?a(t,r++).toString(16):"y"===e?(3&a()|8).toString(16):e)).join("")}function s(e){const t=n.gm?.crypto||n.gm?.msCrypto;let r,i=0;t&&t.getRandomValues&&(r=t.getRandomValues(new Uint8Array(e)));const o=[];for(var s=0;s<e;s++)o.push(a(r,i++).toString(16));return o.join("")}},614:(e,t,r)=>{"use strict";r.d(t,{BB:()=>o,H3:()=>n,g:()=>u,iL:()=>c,tS:()=>s,uh:()=>i,wk:()=>a});const n="NRBA",i="SESSION",a=144e5,o=18e5,s={STARTED:"session-started",PAUSE:"session-pause",RESET:"session-reset",RESUME:"session-resume",UPDATE:"session-update"},c={SAME_TAB:"same-tab",CROSS_TAB:"cross-tab"},u={OFF:0,FULL:1,ERROR:2}},863:(e,t,r)=>{"use strict";function n(){return Math.floor(performance.now())}r.d(t,{t:()=>n})},944:(e,t,r)=>{"use strict";function n(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)}r.d(t,{R:()=>n})},701:(e,t,r)=>{"use strict";r.d(t,{B:()=>a,t:()=>o});var n=r(241);const i=new Set,a={};function o(e,t){const r=t.agentIdentifier;a[r]??={},e&&"object"==typeof e&&(i.has(r)||(t.ee.emit("rumresp",[e]),a[r]=e,i.add(r),(0,n.W)({agentIdentifier:r,loaded:!0,drained:!0,type:"lifecycle",name:"load",feature:void 0,data:e})))}},990:(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}},389:(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})},289:(e,t,r)=>{"use strict";r.d(t,{GG:()=>a,sB:()=>o});var n=r(878);function i(){return"undefined"==typeof document||"complete"===document.readyState}function a(e,t){if(i())return e();(0,n.sp)("load",e,t)}function o(e){if(i())return e();(0,n.DD)("DOMContentLoaded",e)}},384:(e,t,r)=>{"use strict";r.d(t,{NT:()=>a,US:()=>u,Zm:()=>o,bQ:()=>c,dV:()=>s,pV:()=>d});var n=r(154),i=r(863);const a={beacon:"bam.nr-data.net",errorBeacon:"bam.nr-data.net"};function o(){return n.gm.NREUM||(n.gm.NREUM={}),void 0===n.gm.newrelic&&(n.gm.newrelic=n.gm.NREUM),n.gm.NREUM}function s(){let e=o();return e.o||(e.o={ST:n.gm.setTimeout,SI:n.gm.setImmediate,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}),e}function c(e,t){let r=o();r.initializedAgents??={},t.initializedAt={ms:(0,i.t)(),date:new Date},r.initializedAgents[e]=t}function u(e,t){o()[e]=t}function d(){return function(){let e=o();const t=e.info||{};e.info={beacon:a.beacon,errorBeacon:a.errorBeacon,...t}}(),function(){let e=o();const t=e.init||{};e.init={...t}}(),s(),function(){let e=o();const t=e.loader_config||{};e.loader_config={...t}}(),o()}},843:(e,t,r)=>{"use strict";r.d(t,{u:()=>i});var n=r(878);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)}},773:(e,t,r)=>{"use strict";r.d(t,{z_:()=>a,XG:()=>s,TZ:()=>n,rs:()=>i,xV:()=>o});r(154),r(566),r(384);const n=r(860).K7.metrics,i="sm",a="cm",o="storeSupportabilityMetrics",s="storeEventMetrics"},630:(e,t,r)=>{"use strict";r.d(t,{T:()=>n});const n=r(860).K7.pageViewEvent},782:(e,t,r)=>{"use strict";r.d(t,{T:()=>n});const n=r(860).K7.pageViewTiming},234:(e,t,r)=>{"use strict";r.d(t,{W:()=>a});var n=r(836),i=r(687);class a{constructor(e,t){this.agentIdentifier=e,this.ee=n.ee.get(e),this.featureName=t,this.blocked=!1}deregisterDrain(){(0,i.x3)(this.agentIdentifier,this.featureName)}}},741:(e,t,r)=>{"use strict";r.d(t,{W:()=>a});var n=r(944),i=r(261);class a{#e(e,...t){if(this[e]!==a.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){return this.#e(i.Dl,e)}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(i.$9,e,t)}start(){return this.#e(i.d3)}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(){return this.#e(i.dT)}wrapLogger(e,t,r){return this.#e(i.Wb,e,t,r)}}},261:(e,t,r)=>{"use strict";r.d(t,{$9:()=>u,BL:()=>s,CH:()=>g,Dl:()=>_,Fw:()=>y,PA:()=>h,Pl:()=>n,Tb:()=>l,U2:()=>a,Wb:()=>x,bt:()=>b,cD:()=>v,d3:()=>w,dT:()=>c,eY:()=>p,fF:()=>f,hG:()=>i,k6:()=>o,nb:()=>m,o5:()=>d});const n="api-",i="addPageAction",a="addToTrace",o="addRelease",s="finished",c="interaction",u="log",d="noticeError",l="pauseReplay",f="recordCustomEvent",g="recordReplay",p="register",m="setApplicationVersion",h="setCurrentRouteName",v="setCustomAttribute",b="setErrorHandler",y="setPageViewName",_="setUserId",w="start",x="wrapLogger"},163:(e,t,r)=>{"use strict";r.d(t,{j:()=>N});var n=r(384),i=r(741);var a=r(555);r(860).K7.genericEvents;const o="experimental.marks",s="experimental.measures",c="experimental.resources",u=e=>{if(!e||"string"!=typeof e)return!1;try{document.createDocumentFragment().querySelector(e)}catch{return!1}return!0};var d=r(614),l=r(944),f=r(122);const g="[data-nr-mask]",p=e=>(0,f.a)(e,(()=>{const e={feature_flags:[],experimental:{marks:!1,measures:!1,resources:!1},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},api:{allow_registered_children:!0,duplicate_registered_data:!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:{get capture_marks(){return e.feature_flags.includes(o)||e.experimental.marks},set capture_marks(t){e.experimental.marks=t},get capture_measures(){return e.feature_flags.includes(s)||e.experimental.measures},set capture_measures(t){e.experimental.measures=t},capture_detail:!0,resources:{get enabled(){return e.feature_flags.includes(c)||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:d.wk,inactiveMs:d.BB},session_replay:{autoStart:!0,enabled:!1,preload:!1,sampling_rate:10,error_sampling_rate:100,collect_fonts:!1,inline_images:!1,fix_stylesheets:!0,mask_all_inputs:!0,get mask_text_selector(){return e.mask_selector},set mask_text_selector(t){u(t)?e.mask_selector="".concat(t,",").concat(g):""===t||null===t?e.mask_selector=g:(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){u(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},spa:{enabled:!0,autoStart:!0},ssl:void 0,user_actions:{enabled:!0,elementAttributes:["id","className","tagName","type"]}}})());var m=r(154),h=r(324);let v=0;const b={buildEnv:h.F3,distMethod:h.Xs,version:h.xv,originTime:m.WN},y={appMetadata:{},customTransaction:void 0,denyList:void 0,disabled:!1,entityManager:void 0,harvester:void 0,isolatedBacklog:!1,loaderType:void 0,maxBytes:3e4,obfuscator:void 0,onerror:void 0,ptid:void 0,releaseIds:{},session:void 0,timeKeeper:void 0,get harvestCount(){return++v}},_=e=>{const t=(0,f.a)(e,y),r=Object.keys(b).reduce(((e,t)=>(e[t]={value:b[t],writable:!1,configurable:!0,enumerable:!0},e)),{});return Object.defineProperties(t,r)};var w=r(701);const x=e=>{const t=e.startsWith("http");e+="/",r.p=t?e:"https://"+e};var k=r(836),A=r(241);const T={accountID:void 0,trustKey:void 0,agentID:void 0,licenseKey:void 0,applicationID:void 0,xpid:void 0},R=e=>(0,f.a)(e,T),S=new Set;function N(e,t={},r,o){let{init:s,info:c,loader_config:u,runtime:d={},exposed:l=!0}=t;if(!c){const e=(0,n.pV)();s=e.init,c=e.info,u=e.loader_config}e.init=p(s||{}),e.loader_config=R(u||{}),c.jsAttributes??={},m.bv&&(c.jsAttributes.isWorker=!0),e.info=(0,a.D)(c);const f=e.init,g=[c.beacon,c.errorBeacon];S.has(e.agentIdentifier)||(f.proxy.assets&&(x(f.proxy.assets),g.push(f.proxy.assets)),f.proxy.beacon&&g.push(f.proxy.beacon),function(e){const t=(0,n.pV)();Object.getOwnPropertyNames(i.W.prototype).forEach((r=>{const n=i.W.prototype[r];if("function"!=typeof n||"constructor"===n)return;let a=t[r];e[r]&&!1!==e.exposed&&"micro-agent"!==e.runtime?.loaderType&&(t[r]=(...t)=>{const n=e[r](...t);return a?a(...t):n})}))}(e),(0,n.US)("activatedFeatures",w.B),e.runSoftNavOverSpa&&=!0===f.soft_navigations.enabled&&f.feature_flags.includes("soft_nav")),d.denyList=[...f.ajax.deny_list||[],...f.ajax.block_internal?g:[]],d.ptid=e.agentIdentifier,d.loaderType=r,e.runtime=_(d),S.has(e.agentIdentifier)||(e.ee=k.ee.get(e.agentIdentifier),e.exposed=l,(0,A.W)({agentIdentifier:e.agentIdentifier,drained:!!w.B?.[e.agentIdentifier],type:"lifecycle",name:"initialize",feature:void 0,data:e.config})),S.add(e.agentIdentifier)}},374:(e,t,r)=>{r.nc=(()=>{try{return document?.currentScript?.nonce}catch(e){}return""})()},860:(e,t,r)=>{"use strict";r.d(t,{$J:()=>d,K7:()=>c,P3:()=>u,XX:()=>i,Yy:()=>s,df:()=>a,qY:()=>n,v4:()=>o});const n="events",i="jserrors",a="browser/blobs",o="rum",s="browser/logs",c={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",spa:"spa"},u={[c.pageViewEvent]:1,[c.pageViewTiming]:2,[c.metrics]:3,[c.jserrors]:4,[c.spa]:5,[c.ajax]:6,[c.sessionTrace]:7,[c.softNav]:8,[c.sessionReplay]:9,[c.logging]:10,[c.genericEvents]:11},d={[c.pageViewEvent]:o,[c.pageViewTiming]:n,[c.ajax]:n,[c.spa]:n,[c.softNav]:n,[c.metrics]:i,[c.jserrors]:i,[c.sessionTrace]:a,[c.sessionReplay]:a,[c.logging]:s,[c.genericEvents]:"ins"}}},n={};function i(e){var t=n[e];if(void 0!==t)return t.exports;var a=n[e]={exports:{}};return r[e](a,a.exports,i),a.exports}i.m=r,i.d=(e,t)=>{for(var r in t)i.o(t,r)&&!i.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},i.f={},i.e=e=>Promise.all(Object.keys(i.f).reduce(((t,r)=>(i.f[r](e,t),t)),[])),i.u=e=>"nr-rum-1.290.0.min.js",i.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),e={},t="NRBA-1.290.0.PROD:",i.l=(r,n,a,o)=>{if(e[r])e[r].push(n);else{var s,c;if(void 0!==a)for(var u=document.getElementsByTagName("script"),d=0;d<u.length;d++){var l=u[d];if(l.getAttribute("src")==r||l.getAttribute("data-webpack")==t+a){s=l;break}}if(!s){c=!0;var f={296:"sha512-+9iJcu5osHb0OseGcJgjoYu+SHwMvnUKuzDnjvqinxFSALjDJVxgQyo8Eg7woMfTg2nlMTpu+xRzS17ylgJKig=="};(s=document.createElement("script")).charset="utf-8",s.timeout=120,i.nc&&s.setAttribute("nonce",i.nc),s.setAttribute("data-webpack",t+a),s.src=r,0!==s.src.indexOf(window.location.origin+"/")&&(s.crossOrigin="anonymous"),f[o]&&(s.integrity=f[o])}e[r]=[n];var g=(t,n)=>{s.onerror=s.onload=null,clearTimeout(p);var i=e[r];if(delete e[r],s.parentNode&&s.parentNode.removeChild(s),i&&i.forEach((e=>e(n))),t)return t(n)},p=setTimeout(g.bind(null,void 0,{type:"timeout",target:s}),12e4);s.onerror=g.bind(null,s.onerror),s.onload=g.bind(null,s.onload),c&&document.head.appendChild(s)}},i.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.p="https://js-agent.newrelic.com/",(()=>{var e={374:0,840:0};i.f.j=(t,r)=>{var n=i.o(e,t)?e[t]:void 0;if(0!==n)if(n)r.push(n[2]);else{var a=new Promise(((r,i)=>n=e[t]=[r,i]));r.push(n[2]=a);var o=i.p+i.u(t),s=new Error;i.l(o,(r=>{if(i.o(e,t)&&(0!==(n=e[t])&&(e[t]=void 0),n)){var a=r&&("load"===r.type?"missing":r.type),o=r&&r.target&&r.target.src;s.message="Loading chunk "+t+" failed.\n("+a+": "+o+")",s.name="ChunkLoadError",s.type=a,s.request=o,n[1](s)}}),"chunk-"+t,t)}};var t=(t,r)=>{var n,a,[o,s,c]=r,u=0;if(o.some((t=>0!==e[t]))){for(n in s)i.o(s,n)&&(i.m[n]=s[n]);if(c)c(i)}for(t&&t(r);u<o.length;u++)a=o[u],i.o(e,a)&&e[a]&&e[a][0](),e[a]=0},r=self["webpackChunk:NRBA-1.290.0.PROD"]=self["webpackChunk:NRBA-1.290.0.PROD"]||[];r.forEach(t.bind(null,0)),r.push=t.bind(null,r.push.bind(r))})(),(()=>{"use strict";i(374);var e=i(566),t=i(741);class r extends t.W{agentIdentifier=(0,e.LA)(16)}var n=i(860);const a=Object.values(n.K7);var o=i(163);var s=i(908),c=i(863),u=i(261),d=i(241),l=i(944),f=i(701),g=i(773);function p(e,t,i,a){const o=a||i;!o||o[e]&&o[e]!==r.prototype[e]||(o[e]=function(){(0,s.p)(g.xV,["API/"+e+"/called"],void 0,n.K7.metrics,i.ee),(0,d.W)({agentIdentifier:i.agentIdentifier,drained:!!f.B?.[i.agentIdentifier],type:"data",name:"api",feature:u.Pl+e,data:{}});try{return t.apply(this,arguments)}catch(e){(0,l.R)(23,e)}})}function m(e,t,r,n,i){const a=e.info;null===r?delete a.jsAttributes[t]:e.info={...e.info,jsAttributes:{...a.jsAttributes,[t]:r}},(i||null===r)&&(0,s.p)(u.Pl+n,[(0,c.t)(),t,r],void 0,"session",e.ee)}var h=i(687),v=i(234),b=i(289),y=i(154),_=i(384);const w=e=>y.RI&&!0===e?.privacy.cookies_enabled;function x(e){return!!(0,_.dV)().o.MO&&w(e)&&!0===e?.session_trace.enabled}var k=i(389);class A extends v.W{constructor(e,t){super(e.agentIdentifier,t),this.abortHandler=void 0,this.featAggregate=void 0,this.onAggregateImported=void 0,this.deferred=Promise.resolve(),!1===e.init[this.featureName].autoStart?this.deferred=new Promise(((t,r)=>{this.ee.on("manual-start-all",(0,k.J)((()=>{(0,h.Ak)(e.agentIdentifier,this.featureName),t()})))})):(0,h.Ak)(e.agentIdentifier,t)}importAggregator(e,t,r={}){if(this.featAggregate)return;let a;this.onAggregateImported=new Promise((e=>{a=e}));const o=async()=>{let o;await this.deferred;try{if(w(e.init)){const{setupAgentSession:t}=await i.e(296).then(i.bind(i,663));o=t(e)}}catch(e){(0,l.R)(20,e),this.ee.emit("internal-error",[e]),this.featureName===n.K7.sessionReplay&&this.abortHandler?.()}try{if(!this.#t(this.featureName,o,e.init))return(0,h.Ze)(this.agentIdentifier,this.featureName),void a(!1);const{Aggregate:n}=await t();this.featAggregate=new n(e,r),e.runtime.harvester.initializedAggregates.push(this.featAggregate),a(!0)}catch(e){(0,l.R)(34,e),this.abortHandler?.(),(0,h.Ze)(this.agentIdentifier,this.featureName,!0),a(!1),this.ee&&this.ee.abort()}};y.RI?(0,b.GG)((()=>o()),!0):o()}#t(e,t,r){switch(e){case n.K7.sessionReplay:return x(r)&&!!t;case n.K7.sessionTrace:return!!t;default:return!0}}}var T=i(630);class R extends A{static featureName=T.T;constructor(e){var t;super(e,T.T),t=e,p(u.Fw,(function(e,r){"string"==typeof e&&("/"!==e.charAt(0)&&(e="/"+e),t.runtime.customTransaction=(r||"http://custom.transaction")+e,(0,s.p)(u.Pl+u.Fw,[(0,c.t)()],void 0,void 0,t.ee))}),t),this.ee.on("api-send-rum",((e,t)=>(0,s.p)("send-rum",[e,t],void 0,this.featureName,this.ee))),this.importAggregator(e,(()=>i.e(296).then(i.bind(i,108))))}}var S=i(843),N=i(878),E=i(782);class j extends A{static featureName=E.T;constructor(e){super(e,E.T),y.RI&&((0,S.u)((()=>(0,s.p)("docHidden",[(0,c.t)()],void 0,E.T,this.ee)),!0),(0,N.sp)("pagehide",(()=>(0,s.p)("winPagehide",[(0,c.t)()],void 0,E.T,this.ee))),this.importAggregator(e,(()=>i.e(296).then(i.bind(i,350)))))}}class I extends A{static featureName=g.TZ;constructor(e){super(e,g.TZ),y.RI&&document.addEventListener("securitypolicyviolation",(e=>{(0,s.p)(g.xV,["Generic/CSPViolation/Detected"],void 0,this.featureName,this.ee)})),this.importAggregator(e,(()=>i.e(296).then(i.bind(i,373))))}}new class extends r{constructor(e){var t;(super(),y.gm)?(this.features={},(0,_.bQ)(this.agentIdentifier,this),this.desiredFeatures=new Set(e.features||[]),this.desiredFeatures.add(R),this.runSoftNavOverSpa=[...this.desiredFeatures].some((e=>e.featureName===n.K7.softNav)),(0,o.j)(this,e,e.loaderType||"agent"),t=this,p(u.cD,(function(e,r,n=!1){if("string"==typeof e){if(["string","number","boolean"].includes(typeof r)||null===r)return m(t,e,r,u.cD,n);(0,l.R)(40,typeof r)}else(0,l.R)(39,typeof e)}),t),function(e){p(u.Dl,(function(t){if("string"==typeof t||null===t)return m(e,"enduser.id",t,u.Dl,!0);(0,l.R)(41,typeof t)}),e)}(this),function(e){p(u.nb,(function(t){if("string"==typeof t||null===t)return m(e,"application.version",t,u.nb,!1);(0,l.R)(42,typeof t)}),e)}(this),function(e){p(u.d3,(function(){e.ee.emit("manual-start-all")}),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 a.forEach((r=>{t[r]=!!e[r]?.enabled})),t}(this.init),t=[...this.desiredFeatures];t.sort(((e,t)=>n.P3[e.featureName]-n.P3[t.featureName])),t.forEach((t=>{if(!e[t.featureName]&&t.featureName!==n.K7.pageViewEvent)return;if(this.runSoftNavOverSpa&&t.featureName===n.K7.spa)return;if(!this.runSoftNavOverSpa&&t.featureName===n.K7.softNav)return;const r=function(e){switch(e){case n.K7.ajax:return[n.K7.jserrors];case n.K7.sessionTrace:return[n.K7.ajax,n.K7.pageViewEvent];case n.K7.sessionReplay:return[n.K7.sessionTrace];case n.K7.pageViewTiming:return[n.K7.pageViewEvent];default:return[]}}(t.featureName).filter((e=>!(e in this.features)));r.length>0&&(0,l.R)(36,{targetFeature:t.featureName,missingDependencies:r}),this.features[t.featureName]=new t(this)}))}catch(e){(0,l.R)(22,e);for(const e in this.features)this.features[e].abortHandler?.();const t=(0,_.Zm)();delete t.initializedAgents[this.agentIdentifier]?.features,delete this.sharedAggregator;return t.ee.get(this.agentIdentifier).abort(),!1}}}({features:[R,j,I],loaderType:"lite"})})()})();</script> <script>var _rollbarConfig = {"accessToken":"37a410ae2000413c8ab36632e62ad82b","captureUncaught":true,"hostSafeList":["redwhale.co.uk"],"payload":{"environment":"production","client":{"javascript":{"codeVersion":"3.12.0"}}}};</script> <script>!function(r){var e={};function o(n){if(e[n])return e[n].exports;var t=e[n]={i:n,l:!1,exports:{}};return r[n].call(t.exports,t,t.exports,o),t.l=!0,t.exports}o.m=r,o.c=e,o.d=function(r,e,n){o.o(r,e)||Object.defineProperty(r,e,{enumerable:!0,get:n})},o.r=function(r){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(r,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(r,"__esModule",{value:!0})},o.t=function(r,e){if(1&e&&(r=o(r)),8&e)return r;if(4&e&&"object"==typeof r&&r&&r.__esModule)return r;var n=Object.create(null);if(o.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:r}),2&e&&"string"!=typeof r)for(var t in r)o.d(n,t,function(e){return r[e]}.bind(null,t));return n},o.n=function(r){var e=r&&r.__esModule?function(){return r.default}:function(){return r};return o.d(e,"a",e),e},o.o=function(r,e){return Object.prototype.hasOwnProperty.call(r,e)},o.p="",o(o.s=0)}([function(r,e,o){"use strict";var n=o(1),t=o(5);_rollbarConfig=_rollbarConfig||{},_rollbarConfig.rollbarJsUrl=_rollbarConfig.rollbarJsUrl||"https://cdn.rollbar.com/rollbarjs/refs/tags/v2.26.1/rollbar.min.js",_rollbarConfig.async=void 0===_rollbarConfig.async||_rollbarConfig.async;var a=n.setupShim(window,_rollbarConfig),l=t(_rollbarConfig);window.rollbar=n.Rollbar,a.loadFull(window,document,!_rollbarConfig.async,_rollbarConfig,l)},function(r,e,o){"use strict";var n=o(2),t=o(3);function a(r){return function(){try{return r.apply(this,arguments)}catch(r){try{console.error("[Rollbar]: Internal error",r)}catch(r){}}}}var l=0;function i(r,e){this.options=r,this._rollbarOldOnError=null;var o=l++;this.shimId=function(){return o},"undefined"!=typeof window&&window._rollbarShims&&(window._rollbarShims[o]={handler:e,messages:[]})}var s=o(4),d=function(r,e){return new i(r,e)},c=function(r){return new s(d,r)};function u(r){return a((function(){var e=this,o=Array.prototype.slice.call(arguments,0),n={shim:e,method:r,args:o,ts:new Date};window._rollbarShims[this.shimId()].messages.push(n)}))}i.prototype.loadFull=function(r,e,o,n,t){var l=!1,i=e.createElement("script"),s=e.getElementsByTagName("script")[0],d=s.parentNode;i.crossOrigin="",i.src=n.rollbarJsUrl,o||(i.async=!0),i.onload=i.onreadystatechange=a((function(){if(!(l||this.readyState&&"loaded"!==this.readyState&&"complete"!==this.readyState)){i.onload=i.onreadystatechange=null;try{d.removeChild(i)}catch(r){}l=!0,function(){var e;if(void 0===r._rollbarDidLoad){e=new Error("rollbar.js did not load");for(var o,n,a,l,i=0;o=r._rollbarShims[i++];)for(o=o.messages||[];n=o.shift();)for(a=n.args||[],i=0;i<a.length;++i)if("function"==typeof(l=a[i])){l(e);break}}"function"==typeof t&&t(e)}()}})),d.insertBefore(i,s)},i.prototype.wrap=function(r,e,o){try{var n;if(n="function"==typeof e?e:function(){return e||{}},"function"!=typeof r)return r;if(r._isWrap)return r;if(!r._rollbar_wrapped&&(r._rollbar_wrapped=function(){o&&"function"==typeof o&&o.apply(this,arguments);try{return r.apply(this,arguments)}catch(o){var e=o;throw e&&("string"==typeof e&&(e=new String(e)),e._rollbarContext=n()||{},e._rollbarContext._wrappedSource=r.toString(),window._rollbarWrappedError=e),e}},r._rollbar_wrapped._isWrap=!0,r.hasOwnProperty))for(var t in r)r.hasOwnProperty(t)&&(r._rollbar_wrapped[t]=r[t]);return r._rollbar_wrapped}catch(e){return r}};for(var p="log,debug,info,warn,warning,error,critical,global,configure,handleUncaughtException,handleAnonymousErrors,handleUnhandledRejection,captureEvent,captureDomContentLoaded,captureLoad".split(","),f=0;f<p.length;++f)i.prototype[p[f]]=u(p[f]);r.exports={setupShim:function(r,e){if(r){var o=e.globalAlias||"Rollbar";if("object"==typeof r[o])return r[o];r._rollbarShims={},r._rollbarWrappedError=null;var l=new c(e);return a((function(){e.captureUncaught&&(l._rollbarOldOnError=r.onerror,n.captureUncaughtExceptions(r,l,!0),e.wrapGlobalEventHandlers&&t(r,l,!0)),e.captureUnhandledRejections&&n.captureUnhandledRejections(r,l,!0);var a=e.autoInstrument;return!1!==e.enabled&&(void 0===a||!0===a||function(r){return!("object"!=typeof r||void 0!==r.page&&!r.page)}(a))&&r.addEventListener&&(r.addEventListener("load",l.captureLoad.bind(l)),r.addEventListener("DOMContentLoaded",l.captureDomContentLoaded.bind(l))),r[o]=l,l}))()}},Rollbar:c}},function(r,e,o){"use strict";function n(r,e,o,n){r._rollbarWrappedError&&(n[4]||(n[4]=r._rollbarWrappedError),n[5]||(n[5]=r._rollbarWrappedError._rollbarContext),r._rollbarWrappedError=null);var t=e.handleUncaughtException.apply(e,n);o&&o.apply(r,n),"anonymous"===t&&(e.anonymousErrorsPending+=1)}r.exports={captureUncaughtExceptions:function(r,e,o){if(r){var t;if("function"==typeof e._rollbarOldOnError)t=e._rollbarOldOnError;else if(r.onerror){for(t=r.onerror;t._rollbarOldOnError;)t=t._rollbarOldOnError;e._rollbarOldOnError=t}e.handleAnonymousErrors();var a=function(){var o=Array.prototype.slice.call(arguments,0);n(r,e,t,o)};o&&(a._rollbarOldOnError=t),r.onerror=a}},captureUnhandledRejections:function(r,e,o){if(r){"function"==typeof r._rollbarURH&&r._rollbarURH.belongsToShim&&r.removeEventListener("unhandledrejection",r._rollbarURH);var n=function(r){var o,n,t;try{o=r.reason}catch(r){o=void 0}try{n=r.promise}catch(r){n="[unhandledrejection] error getting `promise` from event"}try{t=r.detail,!o&&t&&(o=t.reason,n=t.promise)}catch(r){}o||(o="[unhandledrejection] error getting `reason` from event"),e&&e.handleUnhandledRejection&&e.handleUnhandledRejection(o,n)};n.belongsToShim=o,r._rollbarURH=n,r.addEventListener("unhandledrejection",n)}}}},function(r,e,o){"use strict";function n(r,e,o){if(e.hasOwnProperty&&e.hasOwnProperty("addEventListener")){for(var n=e.addEventListener;n._rollbarOldAdd&&n.belongsToShim;)n=n._rollbarOldAdd;var t=function(e,o,t){n.call(this,e,r.wrap(o),t)};t._rollbarOldAdd=n,t.belongsToShim=o,e.addEventListener=t;for(var a=e.removeEventListener;a._rollbarOldRemove&&a.belongsToShim;)a=a._rollbarOldRemove;var l=function(r,e,o){a.call(this,r,e&&e._rollbar_wrapped||e,o)};l._rollbarOldRemove=a,l.belongsToShim=o,e.removeEventListener=l}}r.exports=function(r,e,o){if(r){var t,a,l="EventTarget,Window,Node,ApplicationCache,AudioTrackList,ChannelMergerNode,CryptoOperation,EventSource,FileReader,HTMLUnknownElement,IDBDatabase,IDBRequest,IDBTransaction,KeyOperation,MediaController,MessagePort,ModalWindow,Notification,SVGElementInstance,Screen,TextTrack,TextTrackCue,TextTrackList,WebSocket,WebSocketWorker,Worker,XMLHttpRequest,XMLHttpRequestEventTarget,XMLHttpRequestUpload".split(",");for(t=0;t<l.length;++t)r[a=l[t]]&&r[a].prototype&&n(e,r[a].prototype,o)}}},function(r,e,o){"use strict";function n(r,e){this.impl=r(e,this),this.options=e,function(r){for(var e=function(r){return function(){var e=Array.prototype.slice.call(arguments,0);if(this.impl[r])return this.impl[r].apply(this.impl,e)}},o="log,debug,info,warn,warning,error,critical,global,configure,handleUncaughtException,handleAnonymousErrors,handleUnhandledRejection,_createItem,wrap,loadFull,shimId,captureEvent,captureDomContentLoaded,captureLoad".split(","),n=0;n<o.length;n++)r[o[n]]=e(o[n])}(n.prototype)}n.prototype._swapAndProcessMessages=function(r,e){var o,n,t;for(this.impl=r(this.options);o=e.shift();)n=o.method,t=o.args,this[n]&&"function"==typeof this[n]&&("captureDomContentLoaded"===n||"captureLoad"===n?this[n].apply(this,[t[0],o.ts]):this[n].apply(this,t));return this},r.exports=n},function(r,e,o){"use strict";r.exports=function(r){return function(e){if(!e&&!window._rollbarInitialized){for(var o,n,t=(r=r||{}).globalAlias||"Rollbar",a=window.rollbar,l=function(r){return new a(r)},i=0;o=window._rollbarShims[i++];)n||(n=o.handler),o.handler._swapAndProcessMessages(l,o.messages);window[t]=n,window._rollbarInitialized=!0}}}}]);</script> <title>Welcome to Red Whale - education for primary care</title> <meta name="viewport" content="width=device-width,initial-scale=1"> <meta name="description" content="Red Whale is a leading UK provider of medical education for primary care. We offer engaging online and face to face courses and memberships for clinicians and commissioners."> <meta name="keywords" content="Medical education, training for primary care, GP Update, online courses for GPs, primary care CPD, Red Whale membership"> <meta name="author" content="Red Whale"> <link rel="canonical" href="https://www.redwhale.co.uk/" /> <meta property="og:title" content="Welcome to Red Whale - education for primary care"> <meta property="og:description" content="Red Whale is a leading UK provider of medical education for primary care. We offer engaging online and face to face courses and memberships for clinicians and commissioners."> <meta property="og:image" content="https://www.redwhale.co.uk/assets/homepage_banner-7dc5f6a27150469133054fc4c3a7a20e4bf78ce3bc31b42d39a827283eb33612.jpg"> <meta property="og:url" content="https://www.redwhale.co.uk/"> <meta property="og:type" content="website"> <meta name="twitter:title" content="Welcome to Red Whale - education for primary care"> <meta name="twitter:description" content="Red Whale is a leading UK provider of medical education for primary care. We offer engaging online and face to face courses and memberships for clinicians and commissioners."> <meta name="twitter:image" content="https://www.redwhale.co.uk/assets/homepage_banner-7dc5f6a27150469133054fc4c3a7a20e4bf78ce3bc31b42d39a827283eb33612.jpg"> <meta name="twitter:card" content="summary_large_image"> <meta name="csrf-param" content="authenticity_token" /> <meta name="csrf-token" content="6ED-k3XIgOpT2bOGXI4ZKDusvi8IqITDXiON72l0VSZnPC3gxqp6Bj-ThdlLR3yO8xQAXdKm23HmZMRoymW2aA" /> <meta name="action-cable-url" content="wss://ws.www.redwhale.co.uk/cable" /> <link rel="stylesheet" href="/assets/application-c8ba40597b4e64275e002284b320b95b2ca3e85ec9e6bc82a3642a54f37742dc.css" data-turbo-track="reload" /> <script src="/assets/application-eb75c39e632b6841ef2cdf181bd714901fedb7d70ac6ad8a7319a0aa2ac477de.js" data-turbo-track="reload" type="module"></script> <link href="https://fonts.googleapis.com/css2?family=Lato:ital,wght@0,100;0,300;0,400;0,700;0,900;1,100;1,300;1,400;1,700;1,900&display=swap" rel="stylesheet" > <link href="https://cdn.jsdelivr.net/npm/[email protected]/swiper-bundle.min.css" rel="stylesheet" > <script src="https://kit.fontawesome.com/9e1f7c6590.js" crossorigin="anonymous"></script> <script charset="utf-8" type="text/javascript" src="//js.hsforms.net/forms/embed/v2.js"></script> </head> <body class="min-h-screen bg-grey-100 antialiased " data-turbo-prefetch="false" data-controller="autocomplete slideover freshchat mobile-navigation prefetch" data-autocomplete-indexes-value="" data-autocomplete-index-namespace-value="production" data-autocomplete-application-id-value="TC7BNGAKRE" data-autocomplete-api-key-value="4ef6efc9ad9cc7ab064cde336f529a33" data-autocomplete-content-ids-value="1094,1954,1968,1220,1947,1530,1209,1506,1281,1826,2002,1960,1517,1734,1820" data-autocomplete-bytes-ids-value="" > <noscript> <iframe src="https://www.googletagmanager.com/ns.html?id=GTM-NH34WXV" height="0" width="0" style="display:none;visibility:hidden"></iframe> </noscript> <div class="fixed z-20 h-screen"> <div class="hidden absolute w-screen h-full bg-grey-700/80" data-slideover-target="background" data-transition-enter="ease-out duration-200" data-transition-leave="ease-out duration-200" data-transition-enter-start="opacity-0" data-transition-enter-end="opacity-100" data-transition-leave-start="opacity-100" data-transition-leave-end="opacity-0" data-action="click->slideover#hide"></div> <div class="hidden absolute w-[90vw] md:w-96 h-full bg-grey-200" data-slideover-target="content" data-transition-enter="transform transition ease duration-500" data-transition-enter-start="-translate-x-full opacity-0" data-transition-enter-end="translate-x-0 opacity-100" data-transition-leave="transform transition ease duration-500" data-transition-leave-start="translate-x-0 opacity-100" data-transition-leave-end="-translate-x-full opacity-0"> <button class="absolute rounded-r-full bg-inherit -right-8 top-20 w-8 h-9" data-action="click->slideover#hide"> <svg class="h-3 pr-2 mx-auto pointer-events-none fill-red" viewBox="0 0 8 13" xmlns="http://www.w3.org/2000/svg"> <path d="M0.982032 7.1L6.12489 12.2429C6.46775 12.5857 6.98203 12.5857 7.32489 12.2429C7.66775 11.9 7.66775 11.3857 7.32489 11.0429L2.78203 6.5L7.32489 1.95714C7.66775 1.61429 7.66775 1.1 7.32489 0.757142C7.15346 0.585713 6.98203 0.5 6.72489 0.5C6.46775 0.5 6.29632 0.585713 6.12489 0.757142L0.982032 5.9C0.639175 6.24286 0.639175 6.75714 0.982032 7.1Z"/> </svg> </button> </div> </div> <div class="flex flex-wrap items-center justify-center text-white bg-grey-600 mx-auto text-center p-3 gap-y-1 gap-x-3"> <span>You are on the NEW Red Whale site.</span> <a class="underline underline-offset-4 text-white" href="mailto:[email protected]?subject=Red%20Whale%20Feedback">Send us feedback</a> </div> <header class="flex flex-col" data-turbo-prefetch="true"> <nav class="navbar"> <div class="absolute hidden md:block"> <svg height="72px" width="100px" viewBox="0 0 100 72" class="relative -top-[2px]"> <path fill="#e83e33" d="M0,0 100,2 C55,0 78,55 0,72 Z" /> </svg> </div> <div class="navbar__inner"> <a class="flex items-center" href="/"> <img width="250" alt="Red Whale - Lifelong Learning for Primary Care" src="/assets/logo-red-whale-primary-care-2be42b7bef37d5cc21ba8c5da25ec5c908058f9f4b4ce3b3acbe73de4cb15817.png" /> </a> <div class="navbar__search"> </div> <div class="navbar__actions"> <a class="relative mr-6" href="/basket"> <img class="w-[27px]" alt="Basket" src="/assets/fa-cart-shopping-3c5a317656714d0f23eee0593709531b50c64c80ce5c5a32b310c97b76750aee.svg" /> </a> <a class="button button--outline" href="/users/sign_in"> <span class="hidden lg:inline">Sign up / </span>Login </a> </div> </div> </nav> <nav class="bg-white"> <div class="container"> <ul class="flex gap-8"> <li class="hidden md:flex"> <a class="nav-link text-black border-b-4 border-b-red" aria-current="page" href="/"> Welcome </a> </li> <li class="flex"> <a class="nav-link" href="/courses"> Courses </a> </li> <li class="hidden md:flex"> <a class="nav-link" href="/commissioned-in-house-courses"> Commissions </a> </li> <li class="flex"> <a class="nav-link" href="/pearls"> Pearls </a> </li> <li class="flex"> <a class="nav-link" href="/podcast"> Podcast </a> </li> <li class="flex"> <a class="nav-link" href="/handbooks"> Handbooks </a> </li> </ul> </div> </nav> </header> <div class="no-container border-t bg-white cms-page-homepage"> <section class="py-12 bg-grey-400 min-h-[440px] banner" style="background-image: url(https://www.redwhale.co.uk/media/2f156eb0-5b03-4c99-8256-caa38227e75e/nik-without-beanies.jpg?dimensions=%5B1500%2C+nil%5D);"> <div class="container"> <div class="ml-auto w-fit max-w-[800px] p-6 md:p-8 rounded-xl bg-white bg-opacity-90"> <h1 class="text-red mb-8">Your CPD sorted with Red Whale Unlimited membership</h1> <div class="text-xl ckeditor_content"> <ul><li>High quality learning created and delivered by practicing GPs</li><li>Resources to support you in consultation and CPD</li><li>Choose Red Whale Unlimited for 12 months access to ALL of our online learning</li><li>NEW: Now you can choose to pay monthly OR annually </li></ul> </div> <div class="flex flex-wrap gap-4 mt-8"> <a class="button button--primary text-lg" href="/memberships">Memberships</a><a class="button button--secondary text-lg" href="/users/sign_in">Log in</a> </div> </div> </div> </section> <section class="py-12 bg-white " style=""> <div class="container"> <div class="grid gap-10 "> <div class="lg:pr-12 lg:pl-0 text-left"> <h2 class="text-3xl text-red mb-8">We know it’s hard to stay up to date with the latest evidence and guidelines, and we want to help</h2> <div class=" text-xl ckeditor_content"> <p>We are practising clinicians, just like you. We have built our reputation thanks to the quality of our content and are now one of the leading UK medical education providers. We support more than 25,000 primary care clinicians per year with their learning, through online courses, face to face events, membership packages and online written resources. Our courses and resources are designed to support GPs, GP Trainees, Primary Care Nurses, Clinical Pharmacists, Physician Associates, Paramedics, First Contact Physiotherapists and more! 9.5 out of 10 of you would recommend us to a colleague. We are still working on that extra 0.5.</p> </div> <div class="flex flex-wrap gap-4 mt-8"> <a class="button button--primary text-lg" href="/courses">Explore our courses</a><a class="button button--secondary text-lg" href="/memberships">Explore our memberships</a> </div> </div> </div> </div> </section> <section class="py-12 bg-grey-300 " style=""> <div class="flex flex-col px-8 gap-8 md:flex-row md:justify-center md:flex-wrap lg:justify-evenly"> <li class="flex flex-col gap-2 items-center text-2xl"> <i class="far fa-chalkboard-user fa-fw flex items-center min-w-32 min-h-32 mb-2"></i> <strong class="text-center md:text-left">Live online events</strong> <div class="w-52 text-center mt-3"> </div> </li> <li class="flex flex-col gap-2 items-center text-2xl"> <i class="far fa-play-pause fa-fw flex items-center min-w-32 min-h-32 mb-2"></i> <strong class="text-center md:text-left">On demand courses</strong> <div class="w-52 text-center mt-3"> </div> </li> <li class="flex flex-col gap-2 items-center text-2xl"> <i class="far fa-badge-check fa-fw flex items-center min-w-32 min-h-32 mb-2"></i> <strong class="text-center md:text-left">Online memberships</strong> <div class="w-52 text-center mt-3"> </div> </li> <li class="flex flex-col gap-2 items-center text-2xl"> <i class="far fa-screen-users fa-fw flex items-center min-w-32 min-h-32 mb-2"></i> <strong class="text-center md:text-left">Face to face events</strong> <div class="w-52 text-center mt-3"> </div> </li> </div> </section> <section class="py-12 bg-red " style=""> <div class="container"> <div class="grid gap-10 lg:grid-cols-2"> <div class="lg:pr-12 lg:pl-0 text-left"> <h2 class="text-3xl text-white mb-8">Learning with a difference</h2> <div class="text-white text-xl ckeditor_content"> <p>We know that everyone learns in different ways so we use varied teaching methods, supported by strong educational evidence, designed to help embed learning and help you put it into practice. When you choose Red Whale, you’ll say goodbye to getting your CPD from long Zoom calls and slide packs and say hello to case studies, sofa chats, polls, quizzes, green screen segments and more!</p> </div> <div class="flex flex-wrap gap-4 mt-8"> <a class="button button--secondary text-lg" href="/courses">Explore our courses</a><a class="button button--secondary text-lg" href="/memberships">Explore our memberships</a> </div> </div> <div> <div class="rounded-xl overflow-hidden block w-full mt-8 lg:mt-0"> <div class="w-full aspect-w-16 aspect-h-9 bg-grey-700"> <iframe src="https://player.vimeo.com/video/1074395217?portrait=0&color=c7b4d8&app_id=122963" width="426" height="240" frameborder="0" allow="autoplay; fullscreen; picture-in-picture; clipboard-write; encrypted-media"></iframe> </div> </div> </div> </div> </div> </section> <section class="py-12 bg-grey-300 " style=""> <h2 class="text-3xl text-red mb-16 pl-16">Whatever your needs, Red Whale has the education solution for you</h2> <div class="flex flex-col px-8 gap-8 md:flex-row md:justify-center md:flex-wrap lg:justify-evenly"> <li class="flex flex-col gap-2 items-center text-2xl"> <i class="far fa-head-side-brain fa-fw flex items-center min-w-32 min-h-32 mb-2"></i> <strong class="text-center md:text-left">General update courses</strong> <div class="w-52 text-center mt-3"> <a class="button button--primary text-lg" href="/courses">One day update courses £205</a> </div> </li> <li class="flex flex-col gap-2 items-center text-2xl"> <i class="far fa-lightbulb-on fa-fw flex items-center min-w-32 min-h-32 mb-2"></i> <strong class="text-center md:text-left">Training on specific topic areas</strong> <div class="w-52 text-center mt-3"> <a class="button button--primary text-lg" href="/courses">Topic specific courses £99</a> </div> </li> <li class="flex flex-col gap-2 items-center text-2xl"> <i class="far fa-id-card fa-fw flex items-center min-w-32 min-h-32 mb-2"></i> <strong class="text-center md:text-left">Online memberships</strong> <div class="w-52 text-center mt-3"> <a class="button button--primary text-lg" href="/memberships">Memberships packages from £120</a> </div> </li> <li class="flex flex-col gap-2 items-center text-2xl"> <i class="far fa-handshake fa-fw flex items-center min-w-32 min-h-32 mb-2"></i> <strong class="text-center md:text-left">Commissioned education</strong> <div class="w-52 text-center mt-3"> <a class="button button--primary text-lg" href="/commissioned-in-house-courses">Commissioned education for groups</a> </div> </li> </div> </section> <section class="py-12 text-white bg-purple " style=""> <div class="container text-lg"> <h2 class="text-3xl text-white mb-12">What our customers say about us</h2> <div class="relative p-2 bg-purple-500 text-white rounded-xl"> <div class="swiper" data-controller="swiper" style="--swiper-navigation-color: white"> <div class="swiper-wrapper"> <div class="swiper-slide p-4 md:py-6 md:px-16"> <blockquote class="text-xl md:text-2xl font-semibold italic"> <div class="max-w-2xl mx-auto"> <div class="relative p-12"> <span class="text-9xl absolute top-0 -left-3">“</span> Excellent course with knowledgeable speakers with a skill for teaching. Great reading materials for ongoing learning. Tackled topics relevant and important for day to day general practice. <span class="text-9xl absolute -bottom-12 right-2">”</span> </div> </div> </blockquote> </div> <div class="swiper-slide p-4 md:py-6 md:px-16"> <blockquote class="text-xl md:text-2xl font-semibold italic"> <div class="max-w-2xl mx-auto"> <div class="relative p-12"> <span class="text-9xl absolute top-0 -left-3">“</span> Excellent speakers, important topics that were discussed in a clear + interesting fashion and in a way that hopefully will stick in my mind when dealing with GP in the future. <span class="text-9xl absolute -bottom-12 right-2">”</span> </div> </div> </blockquote> </div> <div class="swiper-slide p-4 md:py-6 md:px-16"> <blockquote class="text-xl md:text-2xl font-semibold italic"> <div class="max-w-2xl mx-auto"> <div class="relative p-12"> <span class="text-9xl absolute top-0 -left-3">“</span> Very good, great supporting learning material. Access after the course helps me to revisit learning. <span class="text-9xl absolute -bottom-12 right-2">”</span> </div> </div> </blockquote> </div> <div class="swiper-slide p-4 md:py-6 md:px-16"> <blockquote class="text-xl md:text-2xl font-semibold italic"> <div class="max-w-2xl mx-auto"> <div class="relative p-12"> <span class="text-9xl absolute top-0 -left-3">“</span> Helps keep up to date with recent guidance and makes you think about how you can change your own practice. <span class="text-9xl absolute -bottom-12 right-2">”</span> </div> </div> </blockquote> </div> </div> <button class="swiper-button-prev" data-action="swiper#prev"></button> <button class="swiper-button-next" data-action="swiper#next"></button> </div> <div class="absolute left-24 bottom-0 z-10 hidden xl:block"> <img class="w-36 h-46" src="/assets/beanies/smilie-4516e7667eafa16ccda0222ece5ec3e3ea80bbd0c9fdf7c7fb32761b315f7832.svg" /> </div> </div> </div> </section> <section class="py-12 " style=""> <div class="container"> <div class="grid gap-10 lg:grid-cols-2"> <div class="lg:pr-12 lg:pl-0 text-left"> <h2 class="text-3xl text-red mb-8">Sign up to get our free weekly Pearls</h2> <div class=" text-xl ckeditor_content"> <p>Pearls are free written resources we share each week on key primary care topics, with practical advice for consultations and summaries of important changes to evidence and guidelines.</p><p> </p> <script> if (window.hbspt && hbspt.forms && typeof hbspt.forms.create === "function") { hbspt.forms.create({ region: "na1", portalId: "6796123", formId: "ca1bfe89-6530-4401-a3dc-fc33a152069d" }); } </script> </div> </div> <div class="hidden lg:block w-full h-48 lg:h-auto mt-12 lg:-my-12 bg-cover bg-no-repeat bg-center" style="background-image: url(https://www.redwhale.co.uk/media/c18d18f9-a365-4c50-94b5-0ccf5079fb3d/Pearls.jpg?dimensions=%5B1500%2C+nil%5D)"></div> </div> </div> </section> <section class="py-12 text-white bg-red " style=""> <div class="container text-lg"> <div class="relative pb-32 xl:pb-4"> <h2 class="text-3xl text-white mb-4">About Red Whale</h2> <div class="max-w-prose text-xl mb-8"><p><strong>In 2007, two practising GPs (who went on to become Red Whale team members) had a dream of helping themselves and their colleagues by taking CPD from a tick box exercise to a practical tool that could support them in everyday practice. </strong></p><p> </p><p><strong>Over 15 years later, we have a new name, more than 50 team members and 30,000 primary care clinicians learning with us each year - but Red Whale still has its roots firmly in that dream of helping our colleagues. The desire to be a force for good remains at the heart of our business. </strong></p></div> <a class="button button--secondary text-lg" href="/about-us">More about us</a> <div class="absolute right-8 -bottom-12 z-0"> <img class="w-80 h-48" style="transform: scaleX(-1)" src="/assets/beanies/doctors-9603ae62d00646d611bee520313e1c851fcdf36471b51200ef20ab8395baebc9.svg" /> </div> </div> </div> </section> <section class="py-12 " style=""> <div class="container"> <div class="grid gap-10 lg:grid-cols-2"> <div class="lg:pr-12 lg:pl-0 lg:order-2 text-left"> <h2 class="text-3xl text-red mb-8">Anything else you’d like to know? </h2> <div class=" text-xl ckeditor_content"> <p>Our friendly delegate support team would love to help you with any questions. Contact us via live chat, by email on <a href="mailto:[email protected]">[email protected]</a> or by phone 03330 093 090 during office hours.</p> <div class="flex flex-col gap-4 mt-8"> </div> </div> </div> <div class="hidden lg:block w-full h-48 lg:h-auto mt-12 lg:-my-12 bg-contain bg-no-repeat bg-center" style="background-image: url(https://www.redwhale.co.uk/media/19e92a53-e2d3-400f-af2f-59ff13c7dc33/In%20House%20Course%20Google%20Ads%20No%20Logos%201250x654%20v1.jpg?dimensions=%5B1500%2C+nil%5D)"></div> </div> </div> </section> </div> <footer class="bg-grey-300 py-16" data-turbo-prefetch="true"> <div class="container"> <div class="flex flex-col md:flex-row gap-8 lg:gap-16"> <div class="md:w-1/3"> <div class="flex"> <div class="flex flex-col items-center text-center"> <a href="https://www.redwhale.co.uk"> <img alt="Red Whale - Lifelong Learning for Primary Care" width="250" src="/assets/logo-5a18f16a3aa480dec44a1583eb0c96fd2b5351a7fdef6b897f6e8f95da6a34db.svg" /> </a> <div class="py-8"> <p class="font-bold text-sm mb-6">Part of the MDU group</p> <a target="_blank" href="https://www.themdu.com"> <img alt="MDU - Practise with confidence" width="150" src="/assets/mdu_logo-d9c5168cc5fb8e4102d909127ef1988123c3e8b6c8f3cb60ff11074d8918020a.svg" /> </a> </div> </div> </div> <p class="font-bold text-red mt-6 mb-2 indent-1.5">Follow us…</p> <ul class="flex gap-2"> <li><a target="_blank" class="text-red block" href="https://www.instagram.com/red_whale_medical_education"> <span class="fa-alt-text">Instagram</span> <i class="fa-brands fa-square-instagram fa-fw fa-2xl"></i> </a></li> <li><a target="_blank" class="text-red block" href="https://www.facebook.com/RedWhaleMedicalEducation"> <span class="fa-alt-text">Facebook</span> <i class="fa-brands fa-square-facebook fa-fw fa-2xl"></i> </a></li> <li><a target="_blank" class="text-red block" href="https://twitter.com/Red_Whale_CPD"> <span class="fa-alt-text">Twitter</span> <i class="fa-brands fa-square-x-twitter fa-fw fa-2xl"></i> </a></li> <li><a target="_blank" class="text-red block" href="https://www.linkedin.com/company/red-whale-medical-education"> <span class="fa-alt-text">LinkedIn</span> <i class="fa-brands fa-linkedin fa-fw fa-2xl"></i> </a></li> </ul> </div> <div class="md:order-3 md:w-1/3 pt-8 border-t-4 md:pt-0 md:border-t-0 md:pl-8 lg:pl-16 md:border-l-4 border-grey-500 border-dotted"> <ul> <li><a class="font-bold text-lg" href="/memberships">Memberships</a></li> <li><a class="font-bold text-lg" href="/subscribe-to-latest-updates">Sign up to Pearls</a></li> <li><a class="font-bold text-lg" href="/faqs">FAQs</a></li> <li><a class="font-bold text-lg" href="/about-us">About Us</a></li> <li><a class="font-bold text-lg" href="/join-us">Join Us</a></li> <li><a class="font-bold text-lg" href="/contact-us">Contact Us</a></li> <li><a class="font-bold text-lg" href="/privacy-policy">Privacy Policy</a></li> <li><a class="font-bold text-lg" href="/terms-of-use">Terms of Use</a></li> </ul> </div> <div class="md:w-1/3 pt-8 border-t-4 md:pt-0 md:border-t-0 md:pl-8 lg:pl-16 md:border-l-4 border-grey-500 border-dotted"> <address class="not-italic"> <strong>Red Whale</strong><br> University of Reading<br> Reading Enterprise Centre<br> Earley Gate<br> Whiteknights Road Reading<br> RG6 6BU </address> <p class="max-w-lg text-sm mt-2"> You can drop us an email at <a href="mailto:[email protected]">[email protected]</a> or phone us on <a href="tel:03330 093 090">03330 093 090</a> (charged at the same rate as standard landline numbers starting with 01 or 02). </p> <p class="max-w-lg text-sm mt-2"> Red Whale is a registered trademark of GP Update Limited. Registered in England and Wales company registration no. 7135974 and our registered office is at One Canada Square, London, E14 5GS </p> </div> </div> </div> </footer> <div class="bg-black py-6 sticky bottom-0 hidden" data-controller="cookie-banner" data-turbo-permanent id="cookie-banner"> <div class="container text-white"> <p class="mb-4 max-w-5xl pr-12">This site uses cookies to improve your user experience and by using the site you are consenting to this. Click 'I accept' to close this notice or find out why we use cookies and how to manage your settings on our <a class="underline" href="/privacy-policy">privacy policy</a>.</p> <button type="button" data-action="cookie-banner#acceptCookies" class="button button--primary">I accept</button> </div> </div> <div id="redirect"></div> </body> </html>