CINXE.COM
eBooks and eAudio | HPL
<!DOCTYPE html> <html lang="en" dir="ltr" > <head> <!-- Google Tag Manager --> <script> (function(w, d, s, l, i) { w[l] = w[l] || []; w[l].push({ 'gtm.start': new Date().getTime(), event: 'gtm.js' }); var f = d.getElementsByTagName(s)[0], j = d.createElement(s), dl = l != 'dataLayer' ? '&l=' + l : ''; j.async = true; j.src = 'https://www.googletagmanager.com/gtm.js?id=' + i + dl; f.parentNode.insertBefore(j, f); })(window, document, 'script', 'dataLayer', 'GTM-PL2D929'); </script> <!-- End Google Tag Manager --> <!-- Google tag (gtag.js) <script async src="https://www.googletagmanager.com/gtag/js?id=G-WF76KPQR9X"></script> <script> window.dataLayer = window.dataLayer || []; function gtag() { dataLayer.push(arguments); } gtag('js', new Date()); gtag('config', 'G-WF76KPQR9X'); </script> --> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta name="Generator" content="Drupal 7 (http://drupal.org)" /> <link rel="canonical" href="https://www.hpl.ca/hpl-online/ebooks-and-eaudio" /> <link rel="alternate" title="RSS - eBooks and eAudio" href="https://www.hpl.ca/taxonomy/term/19681/feed" /> <link rel="canonical" href="/hpl-online/ebooks-and-eaudio" /> <link rel="shortlink" href="/taxonomy/term/19681" /> <meta property="og:type" content="article" /> <meta property="og:url" content="https://www.hpl.ca/online-resource/express-ebooks-and-eaudio" /> <meta property="og:site_name" content="HPL" /> <link rel="shortcut icon" href="https://www.hpl.ca/sites/all/themes/hpl_primary/images/primary-fav.png" /> <title>eBooks and eAudio | HPL</title> <meta content='width=device-width,height=device-height,width=100,initial-scale=1' name='viewport'> <meta http-equiv="X-UA-Compatible" content="IE=edge"><script type="text/javascript">(window.NREUM||(NREUM={})).init={privacy:{cookies_enabled:true},ajax:{deny_list:["bam.nr-data.net"]},distributed_tracing:{enabled:true}};(window.NREUM||(NREUM={})).loader_config={agentID:"1103299206",accountID:"4284799",trustKey:"66686",xpid:"UAQPVVFaARABVFZaAggDUlwJ",licenseKey:"NRJS-b9330086d4848dc0310",applicationID:"1078594488"};;/*! For license information please see nr-loader-spa-1.281.0.min.js.LICENSE.txt */ (()=>{var e,t,r={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)),o=0===Object.keys(r).length?e:r;for(let a in o)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]])):"object"==typeof e[a]&&"object"==typeof t[a]?r[a]=i(e[a],t[a]):r[a]=e[a]}catch(e){(0,n.R)(1,e)}return r}catch(e){(0,n.R)(2,e)}}},2555:(e,t,r)=>{"use strict";r.d(t,{Vp:()=>c,fn:()=>s,x1:()=>u});var n=r(384),i=r(8122);const o={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},a={};function s(e){try{const t=c(e);return!!t.licenseKey&&!!t.errorBeacon&&!!t.applicationID}catch(e){return!1}}function c(e){if(!e)throw new Error("All info objects require an agent identifier!");if(!a[e])throw new Error("Info for ".concat(e," was never set"));return a[e]}function u(e,t){if(!e)throw new Error("All info objects require an agent identifier!");a[e]=(0,i.a)(t,o);const r=(0,n.nY)(e);r&&(r.info=a[e])}},9417:(e,t,r)=>{"use strict";r.d(t,{D0:()=>p,gD:()=>m,xN:()=>g});var n=r(3333),i=r(993);const o=e=>{if(!e||"string"!=typeof e)return!1;try{document.createDocumentFragment().querySelector(e)}catch{return!1}return!0};var a=r(2614),s=r(944),c=r(384),u=r(8122);const d="[data-nr-mask]",l=()=>{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},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,level:i.p_.INFO},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(n.$v.MARKS)||e.experimental.marks},set capture_marks(t){e.experimental.marks=t},get capture_measures(){return e.feature_flags.includes(n.$v.MEASURES)||e.experimental.measures},set capture_measures(t){e.experimental.measures=t},capture_detail:!0,resources:{get enabled(){return e.feature_flags.includes(n.$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:a.wk,inactiveMs:a.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){o(t)?e.mask_selector="".concat(t,",").concat(d):""===t||null===t?e.mask_selector=d:(0,s.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){o(t)?e.block_selector+=",".concat(t):""!==t&&(0,s.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,s.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"]}}},f={},h="All configuration objects require an agent identifier!";function p(e){if(!e)throw new Error(h);if(!f[e])throw new Error("Configuration for ".concat(e," was never set"));return f[e]}function g(e,t){if(!e)throw new Error(h);f[e]=(0,u.a)(t,l());const r=(0,c.nY)(e);r&&(r.init=f[e])}function m(e,t){if(!e)throw new Error(h);var r=p(e);if(r){for(var n=t.split("."),i=0;i<n.length-1;i++)if("object"!=typeof(r=r[n[i]]))return;r=r[n[n.length-1]]}return r}},5603:(e,t,r)=>{"use strict";r.d(t,{a:()=>c,o:()=>s});var n=r(384),i=r(8122);const o={accountID:void 0,trustKey:void 0,agentID:void 0,licenseKey:void 0,applicationID:void 0,xpid:void 0},a={};function s(e){if(!e)throw new Error("All loader-config objects require an agent identifier!");if(!a[e])throw new Error("LoaderConfig for ".concat(e," was never set"));return a[e]}function c(e,t){if(!e)throw new Error("All loader-config objects require an agent identifier!");a[e]=(0,i.a)(t,o);const r=(0,n.nY)(e);r&&(r.loader_config=a[e])}},3371:(e,t,r)=>{"use strict";r.d(t,{V:()=>f,f:()=>l});var n=r(8122),i=r(384),o=r(6154),a=r(9324);let s=0;const c={buildEnv:a.F3,distMethod:a.Xs,version:a.xv,originTime:o.WN},u={customTransaction:void 0,disabled:!1,isolatedBacklog:!1,loaderType:void 0,maxBytes:3e4,onerror:void 0,ptid:void 0,releaseIds:{},appMetadata:{},session:void 0,denyList:void 0,timeKeeper:void 0,obfuscator:void 0,harvester:void 0},d={};function l(e){if(!e)throw new Error("All runtime objects require an agent identifier!");if(!d[e])throw new Error("Runtime for ".concat(e," was never set"));return d[e]}function f(e,t){if(!e)throw new Error("All runtime objects require an agent identifier!");d[e]={...(0,n.a)(t,u),...c},Object.hasOwnProperty.call(d[e],"harvestCount")||Object.defineProperty(d[e],"harvestCount",{get:()=>++s});const r=(0,i.nY)(e);r&&(r.runtime=d[e])}},9324:(e,t,r)=>{"use strict";r.d(t,{F3:()=>i,Xs:()=>o,Yq:()=>a,xv:()=>n});const n="1.281.0",i="PROD",o="CDN",a="^2.0.0-alpha.17"},6154:(e,t,r)=>{"use strict";r.d(t,{A4:()=>s,OF:()=>d,RI:()=>i,WN:()=>h,bv:()=>o,gm:()=>a,lR:()=>f,m:()=>u,mw:()=>c,sb:()=>l});var n=r(1863);const i="undefined"!=typeof window&&!!window.document,o="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),s="complete"===a?.document?.readyState,c=Boolean("hidden"===a?.document?.visibilityState),u=""+a?.location,d=/iPad|iPhone|iPod/.test(a.navigator?.userAgent),l=d&&"undefined"==typeof SharedWorker,f=(()=>{const e=a.navigator?.userAgent?.match(/Firefox[/\s](\d+\.\d+)/);return Array.isArray(e)&&e.length>=2?+e[1]:0})(),h=Date.now()-(0,n.t)()},7295:(e,t,r)=>{"use strict";r.d(t,{Xv:()=>a,gX:()=>i,iW:()=>o});var n=[];function i(e){if(!e||o(e))return!1;if(0===n.length)return!0;for(var t=0;t<n.length;t++){var r=n[t];if("*"===r.hostname)return!1;if(s(r.hostname,e.hostname)&&c(r.pathname,e.pathname))return!1}return!0}function o(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;0===r.indexOf("http://")?r=r.substring(7):0===r.indexOf("https://")&&(r=r.substring(8));const i=r.indexOf("/");let o,a;i>0?(o=r.substring(0,i),a=r.substring(i)):(o=r,a="");let[s]=o.split(":");n.push({hostname:s,pathname:a})}}function s(e,t){return!(e.length>t.length)&&t.indexOf(e)===t.length-e.length}function c(e,t){return 0===e.indexOf("/")&&(e=e.substring(1)),0===t.indexOf("/")&&(t=t.substring(1)),""===e||e===t}},1687:(e,t,r)=>{"use strict";r.d(t,{Ak:()=>c,Ze:()=>l,x3:()=>u});var n=r(7836),i=r(3606),o=r(860),a=r(2646);const s={};function c(e,t){const r={staged:!1,priority:o.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),h(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 h(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),h(e,t)})))}function h(e,t,r=!0){const o=e?n.ee.get(e):n.ee,s=i.i.handlers;if(!o.aborted&&o.backlog&&s){if(r){const e=o.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 a.y&&t[0].on(e,t[1])}))}))}}o.isolatedBacklog||delete s[t],o.backlog[t]=null,o.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],o=e[2];n.apply(i,o)}}))}},7836:(e,t,r)=>{"use strict";r.d(t,{P:()=>c,ee:()=>u});var n=r(384),i=r(8990),o=r(3371),a=r(2646),s=r(5607);const c="nr@context:".concat(s.W),u=function e(t,r){var n={},s={},d={},l=!1;try{l=16===r.length&&(0,o.f)(r).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,o){!1!==o&&(o=!0);if(u.aborted&&!i)return;t&&o&&t.emit(e,r,n);for(var a=h(n),c=g(e),d=c.length,l=0;l<d;l++)c[l].apply(a,r);var p=v()[s[e]];p&&p.push([f,e,r,a]);return a},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])=>{s[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()[s[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 a.y?e:e?(0,i.I)(e,c,(()=>new a.y(c))):new a.y(c)}function p(e,t){n[e]=g(e).concat(t)}function g(e){return n[e]||[]}function m(t){return d[t]=d[t]||e(f,t)}function v(){return f.backlog}}(void 0,"globalEE"),d=(0,n.Zm)();d.ee||(d.ee=u)},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,o){o?(o.buffer([e],i),o.emit(e,t,r)):(n.buffer([e],i),n.emit(e,t,r))}},3606:(e,t,r)=>{"use strict";r.d(t,{i:()=>o});var n=r(9908);o.on=a;var i=o.handlers={};function o(e,t,r,o){a(o||n.d,i,e,t,r)}function a(e,t,r,i,o){o||(o="feature"),e||(e=n.d);var a=t[o]=t[o]||{};(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 o(e,t,r=!1,i){document.addEventListener(e,t,n(r,i))}r.d(t,{DD:()=>o,jT:()=>n,sp:()=>i})},5607:(e,t,r)=>{"use strict";r.d(t,{W:()=>n});const n=(0,r(9566).bz)()},9566:(e,t,r)=>{"use strict";r.d(t,{LA:()=>s,ZF:()=>c,bz:()=>a,el:()=>u});var n=r(6154);const i="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx";function o(e,t){return e?15&e[t]:16*Math.random()|0}function a(){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?o(t,r++).toString(16):"y"===e?(3&o()|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 a=[];for(var s=0;s<e;s++)a.push(o(r,i++).toString(16));return a.join("")}function c(){return s(16)}function u(){return s(32)}},2614:(e,t,r)=>{"use strict";r.d(t,{BB:()=>a,H3:()=>n,g:()=>u,iL:()=>c,tS:()=>s,uh:()=>i,wk:()=>o});const n="NRBA",i="SESSION",o=144e5,a=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}},1863:(e,t,r)=>{"use strict";function n(){return Math.floor(performance.now())}r.d(t,{t:()=>n})},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{}}}},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})},5284:(e,t,r)=>{"use strict";r.d(t,{t:()=>c,B:()=>s});var n=r(7836),i=r(6154);const o="newrelic";const a=new Set,s={};function c(e,t){const r=n.ee.get(t);s[t]??={},e&&"object"==typeof e&&(a.has(t)||(r.emit("rumresp",[e]),s[t]=e,a.add(t),function(e={}){try{i.gm.dispatchEvent(new CustomEvent(o,{detail:e}))}catch(e){}}({loaded:!0})))}},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})},3304:(e,t,r)=>{"use strict";r.d(t,{A:()=>o});var n=r(7836);const i=()=>{const e=new WeakSet;return(t,r)=>{if("object"==typeof r&&null!==r){if(e.has(r))return;e.add(r)}return r}};function o(e){try{return JSON.stringify(e,i())??""}catch(e){try{n.ee.emit("internal-error",[e])}catch(e){}return""}}},5289:(e,t,r)=>{"use strict";r.d(t,{GG:()=>o,sB:()=>a});var n=r(3878);function i(){return"undefined"==typeof document||"complete"===document.readyState}function o(e,t){if(i())return e();(0,n.sp)("load",e,t)}function a(e){if(i())return e();(0,n.DD)("DOMContentLoaded",e)}},384:(e,t,r)=>{"use strict";r.d(t,{NT:()=>o,US:()=>d,Zm:()=>a,bQ:()=>c,dV:()=>s,nY:()=>u,pV:()=>l});var n=r(6154),i=r(1863);const o={beacon:"bam.nr-data.net",errorBeacon:"bam.nr-data.net"};function a(){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=a();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=a();r.initializedAgents??={},t.initializedAt={ms:(0,i.t)(),date:new Date},r.initializedAgents[e]=t}function u(e){let t=a();return t.initializedAgents?.[e]}function d(e,t){a()[e]=t}function l(){return function(){let e=a();const t=e.info||{};e.info={beacon:o.beacon,errorBeacon:o.errorBeacon,...t}}(),function(){let e=a();const t=e.init||{};e.init={...t}}(),s(),function(){let e=a();const t=e.loader_config||{};e.loader_config={...t}}(),a()}},2843:(e,t,r)=>{"use strict";r.d(t,{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)}},8139:(e,t,r)=>{"use strict";r.d(t,{u:()=>f});var n=r(7836),i=r(3434),o=r(8990),a=r(6154);const s={},c=a.gm.XMLHttpRequest,u="addEventListener",d="removeEventListener",l="nr@wrapped:".concat(n.P);function f(e){var t=function(e){return(e||n.ee).get("events")}(e);if(s[t.debugId]++)return t;s[t.debugId]=1;var r=(0,i.YM)(t,!0);function f(e){r.inPlace(e,[u,d],"-",p)}function p(e,t){return e[1]}return"getPrototypeOf"in Object&&(a.RI&&h(document,f),c&&h(c.prototype,f),h(a.gm,f)),t.on(u+"-start",(function(e,t){var n=e[1];if(null!==n&&("function"==typeof n||"object"==typeof n)){var i=(0,o.I)(n,l,(function(){var e={object:function(){if("function"!=typeof n.handleEvent)return;return n.handleEvent.apply(n,arguments)},function:n}[typeof n];return e?r(e,"fn-",null,e.name||"anonymous"):n}));this.wrapped=e[1]=i}})),t.on(d+"-start",(function(e){e[1]=this.wrapped||e[1]})),t}function h(e,t,...r){let n=e;for(;"object"==typeof n&&!Object.prototype.hasOwnProperty.call(n,u);)n=Object.getPrototypeOf(n);n&&t(n,...r)}},3434:(e,t,r)=>{"use strict";r.d(t,{Jt:()=>o,YM:()=>c});var n=r(7836),i=r(5607);const o="nr@original:".concat(i.W);var a=Object.prototype.hasOwnProperty,s=!1;function c(e,t){return e||(e=n.ee),r.inPlace=function(e,t,n,i,o){n||(n="");const a="-"===n.charAt(0);for(let s=0;s<t.length;s++){const c=t[s],u=e[c];d(u)||(e[c]=r(u,a?c+n:n,i,c,o))}},r.flag=o,r;function r(t,r,n,s,c){return d(t)?t:(r||(r=""),nrWrapper[o]=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)a.call(e,n)&&(t[n]=e[n])}(t,nrWrapper,e),nrWrapper);function nrWrapper(){var o,a,d,l;try{a=this,o=[...arguments],d="function"==typeof n?n(o,a):n||{}}catch(t){u([t,"",[o,a,s],d],e)}i(r+"start",[o,a,s],d,c);try{return l=t.apply(a,o)}catch(e){throw i(r+"err",[o,a,e],d,c),e}finally{i(r+"end",[o,a,l],d,c)}}}function i(r,n,i,o){if(!s||t){var a=s;s=!0;try{e.emit(r,n,i,t,o)}catch(t){u([t,r,n,i],e)}s=a}}}function u(e,t){t||(t=n.ee);try{t.emit("internal-error",e)}catch(e){}}function d(e){return!(e&&"function"==typeof e&&e.apply&&!e[o])}},9300:(e,t,r)=>{"use strict";r.d(t,{T:()=>n});const n=r(860).K7.ajax},3333:(e,t,r)=>{"use strict";r.d(t,{$v:()=>u,TZ:()=>n,Zp:()=>i,kd:()=>c,mq:()=>s,nf:()=>a,qN:()=>o});const n=r(860).K7.genericEvents,i=["auxclick","click","copy","keydown","paste","scrollend"],o=["focus","blur"],a=4,s=1e3,c=["PageAction","UserAction","BrowserPerformance"],u={MARKS:"experimental.marks",MEASURES:"experimental.measures",RESOURCES:"experimental.resources"}},6774:(e,t,r)=>{"use strict";r.d(t,{T:()=>n});const n=r(860).K7.jserrors},993:(e,t,r)=>{"use strict";r.d(t,{ET:()=>o,TZ:()=>a,p_:()=>i});var n=r(860);const i={ERROR:"ERROR",WARN:"WARN",INFO:"INFO",DEBUG:"DEBUG",TRACE:"TRACE"},o="log",a=n.K7.logging},3785:(e,t,r)=>{"use strict";r.d(t,{R:()=>c,b:()=>u});var n=r(9908),i=r(1863),o=r(860),a=r(3969),s=r(993);function c(e,t,r={},c=s.p_.INFO){(0,n.p)(a.xV,["API/logging/".concat(c.toLowerCase(),"/called")],void 0,o.K7.metrics,e),(0,n.p)(s.ET,[(0,i.t)(),t,r,c],void 0,o.K7.logging,e)}function u(e){return"string"==typeof e&&Object.values(s.p_).some((t=>t===e.toUpperCase().trim()))}},3969:(e,t,r)=>{"use strict";r.d(t,{TZ:()=>n,XG:()=>s,rs:()=>i,xV:()=>a,z_:()=>o});const n=r(860).K7.metrics,i="sm",o="cm",a="storeSupportabilityMetrics",s="storeEventMetrics"},6630:(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},6344:(e,t,r)=>{"use strict";r.d(t,{BB:()=>d,G4:()=>o,Qb:()=>l,TZ:()=>i,Ug:()=>a,_s:()=>s,bc:()=>u,yP:()=>c});var n=r(2614);const i=r(860).K7.sessionReplay,o={RECORD:"recordReplay",PAUSE:"pauseReplay",REPLAY_RUNNING:"replayRunning",ERROR_DURING_REPLAY:"errorDuringReplay"},a=.12,s={DomContentLoaded:0,Load:1,FullSnapshot:2,IncrementalSnapshot:3,Meta:4,Custom:5},c={[n.g.ERROR]:15e3,[n.g.FULL]:3e5,[n.g.OFF]:0},u={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"}},d=5e3,l={API:"api"}},5270:(e,t,r)=>{"use strict";r.d(t,{Aw:()=>c,CT:()=>u,SR:()=>s});var n=r(384),i=r(9417),o=r(7767),a=r(6154);function s(e){return!!(0,n.dV)().o.MO&&(0,o.V)(e)&&!0===(0,i.gD)(e,"session_trace.enabled")}function c(e){return!0===(0,i.gD)(e,"session_replay.preload")&&s(e)}function u(e,t){const r=t.correctAbsoluteTimestamp(e);return{originalTimestamp:e,correctedTimestamp:r,timestampDiff:e-r,originTime:a.WN,correctedOriginTime:t.correctedOriginTime,originTimeDiff:Math.floor(a.WN-t.correctedOriginTime)}}},3738:(e,t,r)=>{"use strict";r.d(t,{He:()=>i,Kp:()=>s,Lc:()=>u,Rz:()=>d,TZ:()=>n,bD:()=>o,d3:()=>a,jx:()=>l,uP:()=>c});const n=r(860).K7.sessionTrace,i="bstResource",o="resource",a="-start",s="-end",c="fn"+a,u="fn"+s,d="pushState",l=1e3},3962:(e,t,r)=>{"use strict";r.d(t,{AM:()=>o,O2:()=>c,Qu:()=>u,TZ:()=>s,ih:()=>d,pP:()=>a,tC:()=>i});var n=r(860);const i=["click","keydown","submit","popstate"],o="api",a="initialPageLoad",s=n.K7.softNav,c={INITIAL_PAGE_LOAD:"",ROUTE_CHANGE:1,UNSPECIFIED:2},u={INTERACTION:1,AJAX:2,CUSTOM_END:3,CUSTOM_TRACER:4},d={IP:"in progress",FIN:"finished",CAN:"cancelled"}},7378:(e,t,r)=>{"use strict";r.d(t,{$p:()=>x,BR:()=>b,Kp:()=>R,L3:()=>y,Lc:()=>c,NC:()=>o,SG:()=>d,TZ:()=>i,U6:()=>p,UT:()=>m,d3:()=>w,dT:()=>f,e5:()=>T,gx:()=>v,l9:()=>l,oW:()=>h,op:()=>g,rw:()=>u,tH:()=>A,uP:()=>s,wW:()=>E,xq:()=>a});var n=r(384);const i=r(860).K7.spa,o=["click","submit","keypress","keydown","keyup","change"],a=999,s="fn-start",c="fn-end",u="cb-start",d="api-ixn-",l="remaining",f="interaction",h="spaNode",p="jsonpNode",g="fetch-start",m="fetch-done",v="fetch-body-",b="jsonp-end",y=(0,n.dV)().o.ST,w="-start",R="-end",x="-body",E="cb"+R,T="jsTime",A="fetch"},4234:(e,t,r)=>{"use strict";r.d(t,{W:()=>o});var n=r(7836),i=r(1687);class o{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)}}},7767:(e,t,r)=>{"use strict";r.d(t,{V:()=>o});var n=r(9417),i=r(6154);const o=e=>i.RI&&!0===(0,n.gD)(e,"privacy.cookies_enabled")},425:(e,t,r)=>{"use strict";r.d(t,{j:()=>j});var n=r(860),i=r(2555),o=r(3371),a=r(9908),s=r(7836),c=r(1687),u=r(5289),d=r(6154),l=r(944),f=r(3969),h=r(384),p=r(6344);const g=["setErrorHandler","finished","addToTrace","addRelease","recordCustomEvent","addPageAction","setCurrentRouteName","setPageViewName","setCustomAttribute","interaction","noticeError","setUserId","setApplicationVersion","start",p.G4.RECORD,p.G4.PAUSE,"log","wrapLogger"],m=["setErrorHandler","finished","addToTrace","addRelease"];var v=r(1863),b=r(2614),y=r(993),w=r(3785),R=r(2646),x=r(3434);const E=new Map;function T(e,t,r,n){if("object"!=typeof t||!t||"string"!=typeof r||!r||"function"!=typeof t[r])return(0,l.R)(29);const i=function(e){return(e||s.ee).get("logger")}(e),o=(0,x.YM)(i),a=new R.y(s.P);a.level=n.level,a.customAttributes=n.customAttributes;const c=t[r]?.[x.Jt]||t[r];return E.set(c,a),o.inPlace(t,[r],"wrap-logger-",(()=>E.get(c))),i}function A(){const e=(0,h.pV)();g.forEach((t=>{e[t]=(...r)=>function(t,...r){let n=[];return Object.values(e.initializedAgents).forEach((e=>{e&&e.api?e.exposed&&e.api[t]&&n.push(e.api[t](...r)):(0,l.R)(38,t)})),n.length>1?n:n[0]}(t,...r)}))}const S={};var N=r(9417),_=r(5603),O=r(5284);const I=e=>{const t=e.startsWith("http");e+="/",r.p=t?e:"https://"+e};let P=!1;function j(e,t={},g,R){let{init:x,info:E,loader_config:j,runtime:C={},exposed:k=!0}=t;C.loaderType=g;const L=(0,h.pV)();E||(x=L.init,E=L.info,j=L.loader_config),(0,N.xN)(e.agentIdentifier,x||{}),(0,_.a)(e.agentIdentifier,j||{}),E.jsAttributes??={},d.bv&&(E.jsAttributes.isWorker=!0),(0,i.x1)(e.agentIdentifier,E);const H=(0,N.D0)(e.agentIdentifier),M=[E.beacon,E.errorBeacon];P||(H.proxy.assets&&(I(H.proxy.assets),M.push(H.proxy.assets)),H.proxy.beacon&&M.push(H.proxy.beacon),A(),(0,h.US)("activatedFeatures",O.B),e.runSoftNavOverSpa&&=!0===H.soft_navigations.enabled&&H.feature_flags.includes("soft_nav")),C.denyList=[...H.ajax.deny_list||[],...H.ajax.block_internal?M:[]],C.ptid=e.agentIdentifier,(0,o.V)(e.agentIdentifier,C),e.ee=s.ee.get(e.agentIdentifier),void 0===e.api&&(e.api=function(e,t,h=!1){t||(0,c.Ak)(e,"api");const g={};var R=s.ee.get(e),x=R.get("tracer");S[e]=b.g.OFF,R.on(p.G4.REPLAY_RUNNING,(t=>{S[e]=t}));var E="api-",A=E+"ixn-";function N(t,r,n,o){const a=(0,i.Vp)(e);return null===r?delete a.jsAttributes[t]:(0,i.x1)(e,{...a,jsAttributes:{...a.jsAttributes,[t]:r}}),I(E,n,!0,o||null===r?"session":void 0)(t,r)}function _(){}g.log=function(e,{customAttributes:t={},level:r=y.p_.INFO}={}){(0,a.p)(f.xV,["API/log/called"],void 0,n.K7.metrics,R),(0,w.R)(R,e,t,r)},g.wrapLogger=(e,t,{customAttributes:r={},level:i=y.p_.INFO}={})=>{(0,a.p)(f.xV,["API/wrapLogger/called"],void 0,n.K7.metrics,R),T(R,e,t,{customAttributes:r,level:i})},m.forEach((e=>{g[e]=I(E,e,!0,"api")})),g.addPageAction=I(E,"addPageAction",!0,n.K7.genericEvents),g.recordCustomEvent=I(E,"recordCustomEvent",!0,n.K7.genericEvents),g.setPageViewName=function(t,r){if("string"==typeof t)return"/"!==t.charAt(0)&&(t="/"+t),(0,o.f)(e).customTransaction=(r||"http://custom.transaction")+t,I(E,"setPageViewName",!0)()},g.setCustomAttribute=function(e,t,r=!1){if("string"==typeof e){if(["string","number","boolean"].includes(typeof t)||null===t)return N(e,t,"setCustomAttribute",r);(0,l.R)(40,typeof t)}else(0,l.R)(39,typeof e)},g.setUserId=function(e){if("string"==typeof e||null===e)return N("enduser.id",e,"setUserId",!0);(0,l.R)(41,typeof e)},g.setApplicationVersion=function(e){if("string"==typeof e||null===e)return N("application.version",e,"setApplicationVersion",!1);(0,l.R)(42,typeof e)},g.start=()=>{try{(0,a.p)(f.xV,["API/start/called"],void 0,n.K7.metrics,R),R.emit("manual-start-all")}catch(e){(0,l.R)(23,e)}},g[p.G4.RECORD]=function(){(0,a.p)(f.xV,["API/recordReplay/called"],void 0,n.K7.metrics,R),(0,a.p)(p.G4.RECORD,[],void 0,n.K7.sessionReplay,R)},g[p.G4.PAUSE]=function(){(0,a.p)(f.xV,["API/pauseReplay/called"],void 0,n.K7.metrics,R),(0,a.p)(p.G4.PAUSE,[],void 0,n.K7.sessionReplay,R)},g.interaction=function(e){return(new _).get("object"==typeof e?e:{})};const O=_.prototype={createTracer:function(e,t){var r={},i=this,o="function"==typeof t;return(0,a.p)(f.xV,["API/createTracer/called"],void 0,n.K7.metrics,R),h||(0,a.p)(A+"tracer",[(0,v.t)(),e,r],i,n.K7.spa,R),function(){if(x.emit((o?"":"no-")+"fn-start",[(0,v.t)(),i,o],r),o)try{return t.apply(this,arguments)}catch(e){const t="string"==typeof e?new Error(e):e;throw x.emit("fn-err",[arguments,this,t],r),t}finally{x.emit("fn-end",[(0,v.t)()],r)}}}};function I(e,t,r,i){return function(){return(0,a.p)(f.xV,["API/"+t+"/called"],void 0,n.K7.metrics,R),i&&(0,a.p)(e+t,[r?(0,v.t)():performance.now(),...arguments],r?null:this,i,R),r?void 0:this}}function P(){r.e(478).then(r.bind(r,8778)).then((({setAPI:t})=>{t(e),(0,c.Ze)(e,"api")})).catch((e=>{(0,l.R)(27,e),R.abort()}))}return["actionText","setName","setAttribute","save","ignore","onEnd","getContext","end","get"].forEach((e=>{O[e]=I(A,e,void 0,h?n.K7.softNav:n.K7.spa)})),g.setCurrentRouteName=h?I(A,"routeName",void 0,n.K7.softNav):I(E,"routeName",!0,n.K7.spa),g.noticeError=function(t,r){"string"==typeof t&&(t=new Error(t)),(0,a.p)(f.xV,["API/noticeError/called"],void 0,n.K7.metrics,R),(0,a.p)("err",[t,(0,v.t)(),!1,r,!!S[e]],void 0,n.K7.jserrors,R)},d.RI?(0,u.GG)((()=>P()),!0):P(),g}(e.agentIdentifier,R,e.runSoftNavOverSpa)),void 0===e.exposed&&(e.exposed=k),P=!0}},8374:(e,t,r)=>{r.nc=(()=>{try{return document?.currentScript?.nonce}catch(e){}return""})()},860:(e,t,r)=>{"use strict";r.d(t,{$J:()=>u,K7:()=>s,P3:()=>c,XX:()=>i,qY:()=>n,v4:()=>a});const n="events",i="jserrors",o="browser/blobs",a="rum",s={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"},c={[s.pageViewEvent]:1,[s.pageViewTiming]:2,[s.metrics]:3,[s.jserrors]:4,[s.spa]:5,[s.ajax]:6,[s.sessionTrace]:7,[s.softNav]:8,[s.sessionReplay]:9,[s.logging]:10,[s.genericEvents]:11},u={[s.pageViewEvent]:a,[s.pageViewTiming]:n,[s.ajax]:n,[s.spa]:n,[s.softNav]:n,[s.metrics]:i,[s.jserrors]:i,[s.sessionTrace]:o,[s.sessionReplay]:o,[s.logging]:"browser/logs",[s.genericEvents]:"ins"}}},n={};function i(e){var t=n[e];if(void 0!==t)return t.exports;var o=n[e]={exports:{}};return r[e](o,o.exports,i),o.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=>({212:"nr-spa-compressor",249:"nr-spa-recorder",478:"nr-spa"}[e]+"-1.281.0.min.js"),i.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),e={},t="NRBA-1.281.0.PROD:",i.l=(r,n,o,a)=>{if(e[r])e[r].push(n);else{var s,c;if(void 0!==o)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+o){s=l;break}}if(!s){c=!0;var f={478:"sha512-jmvAlmjCn64ans8tLueqHRlBI/iWekylsDWb94A77CG0ukSriVDvgD3dThx+XjUSBBBMYhFn8B1a18fViyBPEQ==",249:"sha512-ICY/ZrcytM/86t5KFy+9OAWVYmNNJy10EBtxoSUGjQWuZx53p/eLo+L8HfrGjvHuRHRnutqLTGSnvNttffJkaA==",212:"sha512-pQSn+X/RfBOvx/49HvlghaiXMLhhDQXTi13n1N2XMpDquWJgs9U0pbqE3RbAnYC9nsdaTu/RVGvneEPv1fpCxA=="};(s=document.createElement("script")).charset="utf-8",s.timeout=120,i.nc&&s.setAttribute("nonce",i.nc),s.setAttribute("data-webpack",t+o),s.src=r,0!==s.src.indexOf(window.location.origin+"/")&&(s.crossOrigin="anonymous"),f[a]&&(s.integrity=f[a])}e[r]=[n];var h=(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(h.bind(null,void 0,{type:"timeout",target:s}),12e4);s.onerror=h.bind(null,s.onerror),s.onload=h.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={38:0,788: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 o=new Promise(((r,i)=>n=e[t]=[r,i]));r.push(n[2]=o);var a=i.p+i.u(t),s=new Error;i.l(a,(r=>{if(i.o(e,t)&&(0!==(n=e[t])&&(e[t]=void 0),n)){var o=r&&("load"===r.type?"missing":r.type),a=r&&r.target&&r.target.src;s.message="Loading chunk "+t+" failed.\n("+o+": "+a+")",s.name="ChunkLoadError",s.type=o,s.request=a,n[1](s)}}),"chunk-"+t,t)}};var t=(t,r)=>{var n,o,[a,s,c]=r,u=0;if(a.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<a.length;u++)o=a[u],i.o(e,o)&&e[o]&&e[o][0](),e[o]=0},r=self["webpackChunk:NRBA-1.281.0.PROD"]=self["webpackChunk:NRBA-1.281.0.PROD"]||[];r.forEach(t.bind(null,0)),r.push=t.bind(null,r.push.bind(r))})(),(()=>{"use strict";i(8374);var e=i(944),t=i(6344),r=i(9566);class n{agentIdentifier;constructor(){this.agentIdentifier=(0,r.LA)(16)}#e(t,...r){if("function"==typeof this.api?.[t])return this.api[t](...r);(0,e.R)(35,t)}addPageAction(e,t){return this.#e("addPageAction",e,t)}recordCustomEvent(e,t){return this.#e("recordCustomEvent",e,t)}setPageViewName(e,t){return this.#e("setPageViewName",e,t)}setCustomAttribute(e,t,r){return this.#e("setCustomAttribute",e,t,r)}noticeError(e,t){return this.#e("noticeError",e,t)}setUserId(e){return this.#e("setUserId",e)}setApplicationVersion(e){return this.#e("setApplicationVersion",e)}setErrorHandler(e){return this.#e("setErrorHandler",e)}addRelease(e,t){return this.#e("addRelease",e,t)}log(e,t){return this.#e("log",e,t)}}class o extends n{#e(t,...r){if("function"==typeof this.api?.[t])return this.api[t](...r);(0,e.R)(35,t)}start(){return this.#e("start")}finished(e){return this.#e("finished",e)}recordReplay(){return this.#e(t.G4.RECORD)}pauseReplay(){return this.#e(t.G4.PAUSE)}addToTrace(e){return this.#e("addToTrace",e)}setCurrentRouteName(e){return this.#e("setCurrentRouteName",e)}interaction(){return this.#e("interaction")}wrapLogger(e,t,r){return this.#e("wrapLogger",e,t,r)}}var a=i(860),s=i(9417);const c=Object.values(a.K7);function u(e){const t={};return c.forEach((r=>{t[r]=function(e,t){return!0===(0,s.gD)(t,"".concat(e,".enabled"))}(r,e)})),t}var d=i(425);var l=i(1687),f=i(4234),h=i(5289),p=i(6154),g=i(5270),m=i(7767),v=i(6389);class b extends f.W{constructor(e,t,r=!0){super(e.agentIdentifier,t),this.auto=r,this.abortHandler=void 0,this.featAggregate=void 0,this.onAggregateImported=void 0,!1===e.init[this.featureName].autoStart&&(this.auto=!1),this.auto?(0,l.Ak)(e.agentIdentifier,t):this.ee.on("manual-start-all",(0,v.J)((()=>{(0,l.Ak)(e.agentIdentifier,this.featureName),this.auto=!0,this.importAggregator(e)})))}importAggregator(t,r={}){if(this.featAggregate||!this.auto)return;let n;this.onAggregateImported=new Promise((e=>{n=e}));const o=async()=>{let o;try{if((0,m.V)(this.agentIdentifier)){const{setupAgentSession:e}=await i.e(478).then(i.bind(i,6526));o=e(t)}}catch(t){(0,e.R)(20,t),this.ee.emit("internal-error",[t]),this.featureName===a.K7.sessionReplay&&this.abortHandler?.()}try{if(!this.#t(this.featureName,o))return(0,l.Ze)(this.agentIdentifier,this.featureName),void n(!1);const{lazyFeatureLoader:e}=await i.e(478).then(i.bind(i,6103)),{Aggregate:a}=await e(this.featureName,"aggregate");this.featAggregate=new a(t,r),t.runtime.harvester.initializedAggregates.push(this.featAggregate),n(!0)}catch(t){(0,e.R)(34,t),this.abortHandler?.(),(0,l.Ze)(this.agentIdentifier,this.featureName,!0),n(!1),this.ee&&this.ee.abort()}};p.RI?(0,h.GG)((()=>o()),!0):o()}#t(e,t){switch(e){case a.K7.sessionReplay:return(0,g.SR)(this.agentIdentifier)&&!!t;case a.K7.sessionTrace:return!!t;default:return!0}}}var y=i(6630);class w extends b{static featureName=y.T;constructor(e,t=!0){super(e,y.T,t),this.importAggregator(e)}}var R=i(384);var x=i(9908),E=i(2843),T=i(3878),A=i(782),S=i(1863);class N extends b{static featureName=A.T;constructor(e,t=!0){super(e,A.T,t),p.RI&&((0,E.u)((()=>(0,x.p)("docHidden",[(0,S.t)()],void 0,A.T,this.ee)),!0),(0,T.sp)("pagehide",(()=>(0,x.p)("winPagehide",[(0,S.t)()],void 0,A.T,this.ee))),this.importAggregator(e))}}var _=i(3969);class O extends b{static featureName=_.TZ;constructor(e,t=!0){super(e,_.TZ,t),this.importAggregator(e)}}var I=i(6774),P=i(3304);class j{constructor(e,t,r,n,i){this.name="UncaughtError",this.message="string"==typeof e?e:(0,P.A)(e),this.sourceURL=t,this.line=r,this.column=n,this.__newrelic=i}}function C(e){return H(e)?e:new j(void 0!==e?.message?e.message:e,e?.filename||e?.sourceURL,e?.lineno||e?.line,e?.colno||e?.col,e?.__newrelic)}function k(e){const t="Unhandled Promise Rejection";if(!e?.reason)return;if(H(e.reason))try{return e.reason.message=t+": "+e.reason.message,C(e.reason)}catch(t){return C(e.reason)}const r=C(e.reason);return r.message=t+": "+r?.message,r}function L(e){if(e.error instanceof SyntaxError&&!/:\d+$/.test(e.error.stack?.trim())){const t=new j(e.message,e.filename,e.lineno,e.colno,e.error.__newrelic);return t.name=SyntaxError.name,t}return H(e.error)?e.error:C(e)}function H(e){return e instanceof Error&&!!e.stack}class M extends b{static featureName=I.T;#r=!1;constructor(e,r=!0){super(e,I.T,r);try{this.removeOnAbort=new AbortController}catch(e){}this.ee.on("internal-error",((e,t)=>{this.abortHandler&&(0,x.p)("ierr",[C(e),(0,S.t)(),!0,{},this.#r,t],void 0,this.featureName,this.ee)})),this.ee.on(t.G4.REPLAY_RUNNING,(e=>{this.#r=e})),p.gm.addEventListener("unhandledrejection",(e=>{this.abortHandler&&(0,x.p)("err",[k(e),(0,S.t)(),!1,{unhandledPromiseRejection:1},this.#r],void 0,this.featureName,this.ee)}),(0,T.jT)(!1,this.removeOnAbort?.signal)),p.gm.addEventListener("error",(e=>{this.abortHandler&&(0,x.p)("err",[L(e),(0,S.t)(),!1,{},this.#r],void 0,this.featureName,this.ee)}),(0,T.jT)(!1,this.removeOnAbort?.signal)),this.abortHandler=this.#n,this.importAggregator(e)}#n(){this.removeOnAbort?.abort(),this.abortHandler=void 0}}var D=i(8990);let K=1;const U="nr@id";function V(e){const t=typeof e;return!e||"object"!==t&&"function"!==t?-1:e===p.gm?0:(0,D.I)(e,U,(function(){return K++}))}function G(e){if("string"==typeof e&&e.length)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,P.A)(e).length}catch(e){return}}}var F=i(8139),B=i(7836),W=i(3434);const z={},q=["open","send"];function Z(t){var r=t||B.ee;const n=function(e){return(e||B.ee).get("xhr")}(r);if(void 0===p.gm.XMLHttpRequest)return n;if(z[n.debugId]++)return n;z[n.debugId]=1,(0,F.u)(r);var i=(0,W.YM)(n),o=p.gm.XMLHttpRequest,a=p.gm.MutationObserver,s=p.gm.Promise,c=p.gm.setInterval,u="readystatechange",d=["onload","onerror","onabort","onloadstart","onloadend","onprogress","ontimeout"],l=[],f=p.gm.XMLHttpRequest=function(t){const r=new o(t),a=n.context(r);try{n.emit("new-xhr",[r],a),r.addEventListener(u,(s=a,function(){var e=this;e.readyState>3&&!s.resolved&&(s.resolved=!0,n.emit("xhr-resolved",[],e)),i.inPlace(e,d,"fn-",y)}),(0,T.jT)(!1))}catch(t){(0,e.R)(15,t);try{n.emit("internal-error",[t])}catch(e){}}var s;return r};function h(e,t){i.inPlace(t,["onreadystatechange"],"fn-",y)}if(function(e,t){for(var r in e)t[r]=e[r]}(o,f),f.prototype=o.prototype,i.inPlace(f.prototype,q,"-xhr-",y),n.on("send-xhr-start",(function(e,t){h(e,t),function(e){l.push(e),a&&(g?g.then(b):c?c(b):(m=-m,v.data=m))}(t)})),n.on("open-xhr-start",h),a){var g=s&&s.resolve();if(!c&&!s){var m=1,v=document.createTextNode(m);new a(b).observe(v,{characterData:!0})}}else r.on("fn-end",(function(e){e[0]&&e[0].type===u||b()}));function b(){for(var e=0;e<l.length;e++)h(0,l[e]);l.length&&(l=[])}function y(e,t){return t}return n}var Y="fetch-",X=Y+"body-",J=["arrayBuffer","blob","json","text","formData"],Q=p.gm.Request,ee=p.gm.Response,te="prototype";const re={};function ne(e){const t=function(e){return(e||B.ee).get("fetch")}(e);if(!(Q&&ee&&p.gm.fetch))return t;if(re[t.debugId]++)return t;function r(e,r,n){var i=e[r];"function"==typeof i&&(e[r]=function(){var e,r=[...arguments],o={};t.emit(n+"before-start",[r],o),o[B.P]&&o[B.P].dt&&(e=o[B.P].dt);var a=i.apply(this,r);return t.emit(n+"start",[r,e],a),a.then((function(e){return t.emit(n+"end",[null,e],a),e}),(function(e){throw t.emit(n+"end",[e],a),e}))})}return re[t.debugId]=1,J.forEach((e=>{r(Q[te],e,X),r(ee[te],e,X)})),r(p.gm,"fetch",Y),t.on(Y+"end",(function(e,r){var n=this;if(r){var i=r.headers.get("content-length");null!==i&&(n.rxSize=i),t.emit(Y+"done",[null,r],n)}else t.emit(Y+"done",[e],n)})),t}var ie=i(7485),oe=i(5603);class ae{constructor(e){this.agentIdentifier=e}generateTracePayload(e){if(!this.shouldGenerateTrace(e))return null;var t=(0,oe.o)(this.agentIdentifier);if(!t)return null;var n=(t.accountID||"").toString()||null,i=(t.agentID||"").toString()||null,o=(t.trustKey||"").toString()||null;if(!n||!i)return null;var a=(0,r.ZF)(),s=(0,r.el)(),c=Date.now(),u={spanId:a,traceId:s,timestamp:c};return(e.sameOrigin||this.isAllowedOrigin(e)&&this.useTraceContextHeadersForCors())&&(u.traceContextParentHeader=this.generateTraceContextParentHeader(a,s),u.traceContextStateHeader=this.generateTraceContextStateHeader(a,c,n,i,o)),(e.sameOrigin&&!this.excludeNewrelicHeader()||!e.sameOrigin&&this.isAllowedOrigin(e)&&this.useNewrelicHeaderForCors())&&(u.newrelicHeader=this.generateTraceHeader(a,s,c,n,i,o)),u}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,o){if(!("function"==typeof p.gm?.btoa))return null;var a={v:[0,1],d:{ty:"Browser",ac:n,ap:i,id:e,tr:t,ti:r}};return o&&n!==o&&(a.d.tk=o),btoa((0,P.A)(a))}shouldGenerateTrace(e){return this.isDtEnabled()&&this.isAllowedOrigin(e)}isAllowedOrigin(e){var t=!1,r={};if((0,s.gD)(this.agentIdentifier,"distributed_tracing")&&(r=(0,s.D0)(this.agentIdentifier).distributed_tracing),e.sameOrigin)t=!0;else if(r.allowed_origins instanceof Array)for(var n=0;n<r.allowed_origins.length;n++){var i=(0,ie.D)(r.allowed_origins[n]);if(e.hostname===i.hostname&&e.protocol===i.protocol&&e.port===i.port){t=!0;break}}return t}isDtEnabled(){var e=(0,s.gD)(this.agentIdentifier,"distributed_tracing");return!!e&&!!e.enabled}excludeNewrelicHeader(){var e=(0,s.gD)(this.agentIdentifier,"distributed_tracing");return!!e&&!!e.exclude_newrelic_header}useNewrelicHeaderForCors(){var e=(0,s.gD)(this.agentIdentifier,"distributed_tracing");return!!e&&!1!==e.cors_use_newrelic_header}useTraceContextHeadersForCors(){var e=(0,s.gD)(this.agentIdentifier,"distributed_tracing");return!!e&&!!e.cors_use_tracecontext_headers}}var se=i(9300),ce=i(7295),ue=["load","error","abort","timeout"],de=ue.length,le=(0,R.dV)().o.REQ,fe=(0,R.dV)().o.XHR;class he extends b{static featureName=se.T;constructor(e,t=!0){super(e,se.T,t),this.dt=new ae(e.agentIdentifier),this.handler=(e,t,r,n)=>(0,x.p)(e,t,r,n,this.ee);try{const e={xmlhttprequest:"xhr",fetch:"fetch",beacon:"beacon"};p.gm?.performance?.getEntriesByType("resource").forEach((t=>{if(t.initiatorType in e&&0!==t.responseStatus){const r={status:t.responseStatus},n={rxSize:t.transferSize,duration:Math.floor(t.duration),cbTime:0};pe(r,t.name),this.handler("xhr",[r,n,t.startTime,t.responseEnd,e[t.initiatorType]],void 0,a.K7.ajax)}}))}catch(e){}ne(this.ee),Z(this.ee),function(e,t,r,n){function i(e){var t=this;t.totalCbs=0,t.called=0,t.cbTime=0,t.end=R,t.ended=!1,t.xhrGuids={},t.lastSize=null,t.loadCaptureCalled=!1,t.params=this.params||{},t.metrics=this.metrics||{},e.addEventListener("load",(function(r){E(t,e)}),(0,T.jT)(!1)),p.lR||e.addEventListener("progress",(function(e){t.lastSize=e.loaded}),(0,T.jT)(!1))}function o(e){this.params={method:e[0]},pe(this,e[1]),this.metrics={}}function s(t,r){e.loader_config.xpid&&this.sameOrigin&&r.setRequestHeader("X-NewRelic-ID",e.loader_config.xpid);var i=n.generateTracePayload(this.parsedOrigin);if(i){var o=!1;i.newrelicHeader&&(r.setRequestHeader("newrelic",i.newrelicHeader),o=!0),i.traceContextParentHeader&&(r.setRequestHeader("traceparent",i.traceContextParentHeader),i.traceContextStateHeader&&r.setRequestHeader("tracestate",i.traceContextStateHeader),o=!0),o&&(this.dt=i)}}function c(e,r){var n=this.metrics,i=e[0],o=this;if(n&&i){var a=G(i);a&&(n.txSize=a)}this.startTime=(0,S.t)(),this.body=i,this.listener=function(e){try{"abort"!==e.type||o.loadCaptureCalled||(o.params.aborted=!0),("load"!==e.type||o.called===o.totalCbs&&(o.onloadCalled||"function"!=typeof r.onload)&&"function"==typeof o.end)&&o.end(r)}catch(e){try{t.emit("internal-error",[e])}catch(e){}}};for(var s=0;s<de;s++)r.addEventListener(ue[s],this.listener,(0,T.jT)(!1))}function u(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 d(e,t){var r=""+V(e)+!!t;this.xhrGuids&&!this.xhrGuids[r]&&(this.xhrGuids[r]=!0,this.totalCbs+=1)}function l(e,t){var r=""+V(e)+!!t;this.xhrGuids&&this.xhrGuids[r]&&(delete this.xhrGuids[r],this.totalCbs-=1)}function f(){this.endTime=(0,S.t)()}function h(e,r){r instanceof fe&&"load"===e[0]&&t.emit("xhr-load-added",[e[1],e[2]],r)}function g(e,r){r instanceof fe&&"load"===e[0]&&t.emit("xhr-load-removed",[e[1],e[2]],r)}function m(e,t,r){t instanceof fe&&("onload"===r&&(this.onload=!0),("load"===(e[0]&&e[0].type)||this.onload)&&(this.xhrCbStart=(0,S.t)()))}function v(e,r){this.xhrCbStart&&t.emit("xhr-cb-time",[(0,S.t)()-this.xhrCbStart,this.onload,r],r)}function b(e){var t,r=e[1]||{};if("string"==typeof e[0]?0===(t=e[0]).length&&p.RI&&(t=""+p.gm.location.href):e[0]&&e[0].url?t=e[0].url:p.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,ie.D)(t),this.sameOrigin=this.parsedOrigin.sameOrigin);var i=n.generateTracePayload(this.parsedOrigin);if(i&&(i.newrelicHeader||i.traceContextParentHeader))if(e[0]&&e[0].headers)s(e[0].headers,i)&&(this.dt=i);else{var o={};for(var a in r)o[a]=r[a];o.headers=new Headers(r.headers||{}),s(o.headers,i)&&(this.dt=i),e.length>1?e[1]=o:e.push(o)}}function s(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 y(e,t){this.params={},this.metrics={},this.startTime=(0,S.t)(),this.dt=t,e.length>=1&&(this.target=e[0]),e.length>=2&&(this.opts=e[1]);var r,n=this.opts||{},i=this.target;"string"==typeof i?r=i:"object"==typeof i&&i instanceof le?r=i.url:p.gm?.URL&&"object"==typeof i&&i instanceof URL&&(r=i.href),pe(this,r);var o=(""+(i&&i instanceof le&&i.method||n.method||"GET")).toUpperCase();this.params.method=o,this.body=n.body,this.txSize=G(n.body)||0}function w(e,t){if(this.endTime=(0,S.t)(),this.params||(this.params={}),(0,ce.iW)(this.params))return;let n;this.params.status=t?t.status:0,"string"==typeof this.rxSize&&this.rxSize.length>0&&(n=+this.rxSize);const i={txSize:this.txSize,rxSize:n,duration:(0,S.t)()-this.startTime};r("xhr",[this.params,i,this.startTime,this.endTime,"fetch"],this,a.K7.ajax)}function R(e){const t=this.params,n=this.metrics;if(!this.ended){this.ended=!0;for(let t=0;t<de;t++)e.removeEventListener(ue[t],this.listener,!1);t.aborted||(0,ce.iW)(t)||(n.duration=(0,S.t)()-this.startTime,this.loadCaptureCalled||4!==e.readyState?null==t.status&&(t.status=0):E(this,e),n.cbTime=this.cbTime,r("xhr",[t,n,this.startTime,this.endTime,"xhr"],this,a.K7.ajax))}}function E(e,r){e.params.status=r.status;var n=function(e,t){var r=e.responseType;return"json"===r&&null!==t?t:"arraybuffer"===r||"blob"===r||"json"===r?G(e.response):"text"===r||""===r||void 0===r?G(e.responseText):void 0}(r,e.lastSize);if(n&&(e.metrics.rxSize=n),e.sameOrigin){var i=r.getResponseHeader("X-NewRelic-App-Data");i&&((0,x.p)(_.rs,["Ajax/CrossApplicationTracing/Header/Seen"],void 0,a.K7.metrics,t),e.params.cat=i.split(", ").pop())}e.loadCaptureCalled=!0}t.on("new-xhr",i),t.on("open-xhr-start",o),t.on("open-xhr-end",s),t.on("send-xhr-start",c),t.on("xhr-cb-time",u),t.on("xhr-load-added",d),t.on("xhr-load-removed",l),t.on("xhr-resolved",f),t.on("addEventListener-end",h),t.on("removeEventListener-end",g),t.on("fn-end",v),t.on("fetch-before-start",b),t.on("fetch-start",y),t.on("fn-start",m),t.on("fetch-done",w)}(e,this.ee,this.handler,this.dt),this.importAggregator(e)}}function pe(e,t){var r=(0,ie.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}const ge={},me=["pushState","replaceState"];function ve(e){const t=function(e){return(e||B.ee).get("history")}(e);return!p.RI||ge[t.debugId]++||(ge[t.debugId]=1,(0,W.YM)(t).inPlace(window.history,me,"-")),t}var be=i(3738);const{He:ye,bD:we,d3:Re,Kp:xe,TZ:Ee,Lc:Te,uP:Ae,Rz:Se}=be;class Ne extends b{static featureName=Ee;constructor(e,t=!0){super(e,Ee,t);if(!(0,m.V)(this.agentIdentifier))return void this.deregisterDrain();const r=this.ee;let n;ve(r),this.eventsEE=(0,F.u)(r),this.eventsEE.on(Ae,(function(e,t){this.bstStart=(0,S.t)()})),this.eventsEE.on(Te,(function(e,t){(0,x.p)("bst",[e[0],t,this.bstStart,(0,S.t)()],void 0,a.K7.sessionTrace,r)})),r.on(Se+Re,(function(e){this.time=(0,S.t)(),this.startPath=location.pathname+location.hash})),r.on(Se+xe,(function(e){(0,x.p)("bstHist",[location.pathname+location.hash,this.startPath,this.time],void 0,a.K7.sessionTrace,r)}));try{n=new PerformanceObserver((e=>{const t=e.getEntries();(0,x.p)(ye,[t],void 0,a.K7.sessionTrace,r)})),n.observe({type:we,buffered:!0})}catch(e){}this.importAggregator(e,{resourceObserver:n})}}var _e=i(2614);class Oe extends b{static featureName=t.TZ;#i;#o;constructor(e,r=!0){let n;super(e,t.TZ,r),this.replayRunning=!1,this.#o=e;try{n=JSON.parse(localStorage.getItem("".concat(_e.H3,"_").concat(_e.uh)))}catch(e){}(0,g.SR)(e.agentIdentifier)&&this.ee.on(t.G4.RECORD,(()=>this.#a())),this.#s(n)?(this.#i=n?.sessionReplayMode,this.#c()):this.importAggregator(e),this.ee.on("err",(e=>{this.replayRunning&&(this.errorNoticed=!0,(0,x.p)(t.G4.ERROR_DURING_REPLAY,[e],void 0,this.featureName,this.ee))})),this.ee.on(t.G4.REPLAY_RUNNING,(e=>{this.replayRunning=e}))}#s(e){return e&&(e.sessionReplayMode===_e.g.FULL||e.sessionReplayMode===_e.g.ERROR)||(0,g.Aw)(this.agentIdentifier)}#u=!1;async#c(e){if(!this.#u){this.#u=!0;try{const{Recorder:t}=await Promise.all([i.e(478),i.e(249)]).then(i.bind(i,8589));this.recorder??=new t({mode:this.#i,agentIdentifier:this.agentIdentifier,trigger:e,ee:this.ee,agentRef:this.#o}),this.recorder.startRecording(),this.abortHandler=this.recorder.stopRecording}catch(e){}this.importAggregator(this.#o,{recorder:this.recorder,errorNoticed:this.errorNoticed})}}#a(){this.featAggregate?this.featAggregate.mode!==_e.g.FULL&&this.featAggregate.initializeRecording(_e.g.FULL,!0):(this.#i=_e.g.FULL,this.#c(t.Qb.API),this.recorder&&this.recorder.parent.mode!==_e.g.FULL&&(this.recorder.parent.mode=_e.g.FULL,this.recorder.stopRecording(),this.recorder.startRecording(),this.abortHandler=this.recorder.stopRecording))}}var Ie=i(3962);class Pe extends b{static featureName=Ie.TZ;constructor(e,t=!0){if(super(e,Ie.TZ,t),!p.RI||!(0,R.dV)().o.MO)return;const r=ve(this.ee);Ie.tC.forEach((e=>{(0,T.sp)(e,(e=>{a(e)}),!0)}));const n=()=>(0,x.p)("newURL",[(0,S.t)(),""+window.location],void 0,this.featureName,this.ee);r.on("pushState-end",n),r.on("replaceState-end",n);try{this.removeOnAbort=new AbortController}catch(e){}(0,T.sp)("popstate",(e=>(0,x.p)("newURL",[e.timeStamp,""+window.location],void 0,this.featureName,this.ee)),!0,this.removeOnAbort?.signal);let i=!1;const o=new((0,R.dV)().o.MO)(((e,t)=>{i||(i=!0,requestAnimationFrame((()=>{(0,x.p)("newDom",[(0,S.t)()],void 0,this.featureName,this.ee),i=!1})))})),a=(0,v.s)((e=>{(0,x.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,{domObserver:o})}}var je=i(7378);const Ce={},ke=["appendChild","insertBefore","replaceChild"];function Le(e){const t=function(e){return(e||B.ee).get("jsonp")}(e);if(!p.RI||Ce[t.debugId])return t;Ce[t.debugId]=!0;var r=(0,W.YM)(t),n=/[?&](?:callback|cb)=([^&#]+)/,i=/(.*)\.([^.]+)/,o=/^(\w+)(\.|$)(.*)$/;function a(e,t){if(!e)return t;const r=e.match(o),n=r[1];return a(r[3],t[n])}return r.inPlace(Node.prototype,ke,"dom-"),t.on("dom-start",(function(e){!function(e){if(!e||"string"!=typeof e.nodeName||"script"!==e.nodeName.toLowerCase())return;if("function"!=typeof e.addEventListener)return;var o=(s=e.src,c=s.match(n),c?c[1]:null);var s,c;if(!o)return;var u=function(e){var t=e.match(i);if(t&&t.length>=3)return{key:t[2],parent:a(t[1],window)};return{key:e,parent:window}}(o);if("function"!=typeof u.parent[u.key])return;var d={};function l(){t.emit("jsonp-end",[],d),e.removeEventListener("load",l,(0,T.jT)(!1)),e.removeEventListener("error",f,(0,T.jT)(!1))}function f(){t.emit("jsonp-error",[],d),t.emit("jsonp-end",[],d),e.removeEventListener("load",l,(0,T.jT)(!1)),e.removeEventListener("error",f,(0,T.jT)(!1))}r.inPlace(u.parent,[u.key],"cb-",d),e.addEventListener("load",l,(0,T.jT)(!1)),e.addEventListener("error",f,(0,T.jT)(!1)),t.emit("new-jsonp",[e.src],d)}(e[0])})),t}const He={};function Me(e){const t=function(e){return(e||B.ee).get("promise")}(e);if(He[t.debugId])return t;He[t.debugId]=!0;var r=t.context,n=(0,W.YM)(t),i=p.gm.Promise;return i&&function(){function e(r){var o=t.context(),a=n(r,"executor-",o,null,!1);const s=Reflect.construct(i,[a],e);return t.context(s).getCtx=function(){return o},s}p.gm.Promise=e,Object.defineProperty(e,"name",{value:"Promise"}),e.toString=function(){return i.toString()},Object.setPrototypeOf(e,i),["all","race"].forEach((function(r){const n=i[r];e[r]=function(e){let i=!1;[...e||[]].forEach((e=>{this.resolve(e).then(a("all"===r),a(!1))}));const o=n.apply(this,arguments);return o;function a(e){return function(){t.emit("propagate",[null,!i],o,!1,!1),i=i||!e}}}})),["resolve","reject"].forEach((function(r){const n=i[r];e[r]=function(e){const r=n.apply(this,arguments);return e!==r&&t.emit("propagate",[e,!0],r,!1,!1),r}})),e.prototype=i.prototype;const o=i.prototype.then;i.prototype.then=function(...e){var i=this,a=r(i);a.promise=i,e[0]=n(e[0],"cb-",a,null,!1),e[1]=n(e[1],"cb-",a,null,!1);const s=o.apply(this,e);return a.nextPromise=s,t.emit("propagate",[i,!0],s,!1,!1),s},i.prototype.then[W.Jt]=o,t.on("executor-start",(function(e){e[0]=n(e[0],"resolve-",this,null,!1),e[1]=n(e[1],"resolve-",this,null,!1)})),t.on("executor-err",(function(e,t,r){e[1](r)})),t.on("cb-end",(function(e,r,n){t.emit("propagate",[n,!0],this.nextPromise,!1,!1)})),t.on("propagate",(function(e,r,n){this.getCtx&&!r||(this.getCtx=function(){if(e instanceof Promise)var r=t.context(e);return r&&r.getCtx?r.getCtx():this})}))}(),t}const De={},Ke="setTimeout",Ue="setInterval",Ve="clearTimeout",Ge="-start",Fe=[Ke,"setImmediate",Ue,Ve,"clearImmediate"];function Be(e){const t=function(e){return(e||B.ee).get("timer")}(e);if(De[t.debugId]++)return t;De[t.debugId]=1;var r=(0,W.YM)(t);return r.inPlace(p.gm,Fe.slice(0,2),Ke+"-"),r.inPlace(p.gm,Fe.slice(2,3),Ue+"-"),r.inPlace(p.gm,Fe.slice(3),Ve+"-"),t.on(Ue+Ge,(function(e,t,n){e[0]=r(e[0],"fn-",null,n)})),t.on(Ke+Ge,(function(e,t,n){this.method=n,this.timerDuration=isNaN(e[1])?0:+e[1],e[0]=r(e[0],"fn-",this,n)})),t}const We={};function ze(e){const t=function(e){return(e||B.ee).get("mutation")}(e);if(!p.RI||We[t.debugId])return t;We[t.debugId]=!0;var r=(0,W.YM)(t),n=p.gm.MutationObserver;return n&&(window.MutationObserver=function(e){return this instanceof n?new n(r(e,"fn-")):n.apply(this,arguments)},MutationObserver.prototype=n.prototype),t}const{TZ:qe,d3:Ze,Kp:Ye,$p:Xe,wW:$e,e5:Je,tH:Qe,uP:et,rw:tt,Lc:rt}=je;class nt extends b{static featureName=qe;constructor(e,t=!0){if(super(e,qe,t),!p.RI)return;try{this.removeOnAbort=new AbortController}catch(e){}let r,n=0;const i=this.ee.get("tracer"),o=Le(this.ee),a=Me(this.ee),s=Be(this.ee),c=Z(this.ee),u=this.ee.get("events"),d=ne(this.ee),l=ve(this.ee),f=ze(this.ee);function h(e,t){l.emit("newURL",[""+window.location,t])}function g(){n++,r=window.location.hash,this[et]=(0,S.t)()}function m(){n--,window.location.hash!==r&&h(0,!0);var e=(0,S.t)();this[Je]=~~this[Je]+e-this[et],this[rt]=e}function v(e,t){e.on(t,(function(){this[t]=(0,S.t)()}))}this.ee.on(et,g),a.on(tt,g),o.on(tt,g),this.ee.on(rt,m),a.on($e,m),o.on($e,m),this.ee.on("fn-err",((...t)=>{t[2]?.__newrelic?.[e.agentIdentifier]||(0,x.p)("function-err",[...t],void 0,this.featureName,this.ee)})),this.ee.buffer([et,rt,"xhr-resolved"],this.featureName),u.buffer([et],this.featureName),s.buffer(["setTimeout"+Ye,"clearTimeout"+Ze,et],this.featureName),c.buffer([et,"new-xhr","send-xhr"+Ze],this.featureName),d.buffer([Qe+Ze,Qe+"-done",Qe+Xe+Ze,Qe+Xe+Ye],this.featureName),l.buffer(["newURL"],this.featureName),f.buffer([et],this.featureName),a.buffer(["propagate",tt,$e,"executor-err","resolve"+Ze],this.featureName),i.buffer([et,"no-"+et],this.featureName),o.buffer(["new-jsonp","cb-start","jsonp-error","jsonp-end"],this.featureName),v(d,Qe+Ze),v(d,Qe+"-done"),v(o,"new-jsonp"),v(o,"jsonp-end"),v(o,"cb-start"),l.on("pushState-end",h),l.on("replaceState-end",h),window.addEventListener("hashchange",h,(0,T.jT)(!0,this.removeOnAbort?.signal)),window.addEventListener("load",h,(0,T.jT)(!0,this.removeOnAbort?.signal)),window.addEventListener("popstate",(function(){h(0,n>1)}),(0,T.jT)(!0,this.removeOnAbort?.signal)),this.abortHandler=this.#n,this.importAggregator(e)}#n(){this.removeOnAbort?.abort(),this.abortHandler=void 0}}var it=i(3333);class ot extends b{static featureName=it.TZ;constructor(e,t=!0){super(e,it.TZ,t);const r=[e.init.page_action.enabled,e.init.performance.capture_marks,e.init.performance.capture_measures,e.init.user_actions.enabled,e.init.performance.resources.enabled];if(p.RI&&(e.init.user_actions.enabled&&(it.Zp.forEach((e=>(0,T.sp)(e,(e=>(0,x.p)("ua",[e],void 0,this.featureName,this.ee)),!0))),it.qN.forEach((e=>{const t=(0,v.s)((e=>{(0,x.p)("ua",[e],void 0,this.featureName,this.ee)}),500,{leading:!0});(0,T.sp)(e,t)}))),e.init.performance.resources.enabled&&p.gm.PerformanceObserver?.supportedEntryTypes.includes("resource"))){new PerformanceObserver((e=>{e.getEntries().forEach((e=>{(0,x.p)("browserPerformance.resource",[e],void 0,this.featureName,this.ee)}))})).observe({type:"resource",buffered:!0})}r.some((e=>e))?this.importAggregator(e):this.deregisterDrain()}}var at=i(993),st=i(3785);class ct extends b{static featureName=at.TZ;constructor(e,t=!0){super(e,at.TZ,t);const r=this.ee;this.ee.on("wrap-logger-end",(function([e]){const{level:t,customAttributes:n}=this;(0,st.R)(r,e,n,t)})),this.importAggregator(e)}}new class extends o{constructor(t){super(),p.gm?(this.features={},(0,R.bQ)(this.agentIdentifier,this),this.desiredFeatures=new Set(t.features||[]),this.desiredFeatures.add(w),this.runSoftNavOverSpa=[...this.desiredFeatures].some((e=>e.featureName===a.K7.softNav)),(0,d.j)(this,t,t.loaderType||"agent"),this.run()):(0,e.R)(21)}get config(){return{info:this.info,init:this.init,loader_config:this.loader_config,runtime:this.runtime}}run(){try{const t=u(this.agentIdentifier),r=[...this.desiredFeatures];r.sort(((e,t)=>a.P3[e.featureName]-a.P3[t.featureName])),r.forEach((r=>{if(!t[r.featureName]&&r.featureName!==a.K7.pageViewEvent)return;if(this.runSoftNavOverSpa&&r.featureName===a.K7.spa)return;if(!this.runSoftNavOverSpa&&r.featureName===a.K7.softNav)return;const n=function(e){switch(e){case a.K7.ajax:return[a.K7.jserrors];case a.K7.sessionTrace:return[a.K7.ajax,a.K7.pageViewEvent];case a.K7.sessionReplay:return[a.K7.sessionTrace];case a.K7.pageViewTiming:return[a.K7.pageViewEvent];default:return[]}}(r.featureName).filter((e=>!(e in this.features)));n.length>0&&(0,e.R)(36,{targetFeature:r.featureName,missingDependencies:n}),this.features[r.featureName]=new r(this)}))}catch(t){(0,e.R)(22,t);for(const e in this.features)this.features[e].abortHandler?.();const r=(0,R.Zm)();delete r.initializedAgents[this.agentIdentifier]?.api,delete r.initializedAgents[this.agentIdentifier]?.features,delete this.sharedAggregator;return r.ee.get(this.agentIdentifier).abort(),!1}}}({features:[he,w,N,Ne,Oe,O,M,ot,ct,Pe,nt],loaderType:"spa"})})()})();</script> <!-- Moved to preprocess_page function <script src="//fast.fonts.net/jsapi/75f9de55-eaef-40a8-9a7b-e1b375756402.js"></script> <link href="//maxcdn.bootstrapcdn.com/font-awesome/4.1.0/css/font-awesome.min.css" rel="stylesheet" /> <link href='http://fonts.googleapis.com/css?family=Amatic+SC:700' rel='stylesheet' /> <link href='http://fonts.googleapis.com/css?family=Life+Savers:400,700' rel='stylesheet' /> --> <link rel="stylesheet" href="https://www.hpl.ca/sites/default/files/css/css_xE-rWrJf-fncB6ztZfd2huxqgxu4WO-qwma6Xer30m4.css" media="all" /> <link rel="stylesheet" href="https://www.hpl.ca/sites/default/files/css/css__LeQxW73LSYscb1O__H6f-j_jdAzhZBaesGL19KEB6U.css" media="all" /> <link rel="stylesheet" href="https://www.hpl.ca/sites/default/files/css/css__wcZVYpJTylqLfEhLbFiOu_RRbNap8VcqCjYeYh-Lg4.css" media="all" /> <link rel="stylesheet" href="https://www.hpl.ca/sites/default/files/css/css_wG9W496BiKhZgUfsiVOvaZzEZM3MBCapjJEEIu8rkIE.css" media="all" /> <link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/font-awesome/4.1.0/css/font-awesome.min.css" media="all" /> <link rel="stylesheet" href="//fonts.googleapis.com/css?family=Amatic+SC:700" media="all" /> <link rel="stylesheet" href="//fonts.googleapis.com/css?family=Life+Savers:400,700" media="all" /> <link rel="stylesheet" href="//fonts.googleapis.com/css?family=Roboto:300" media="all" /> <link rel="stylesheet" href="https://www.hpl.ca/sites/default/files/css/css_UNUmyGMIC-jxDBpo1ljJYF71JWIeCsWZ5noNa2Yh9U8.css" media="all" /> <!--[if IE 8]> <link rel="stylesheet" href="/sites/default/files/Primary/ie8.css?srunw2" media="all" /> <![endif]--> <link rel="stylesheet" href="https://www.hpl.ca/sites/default/files/css/css_d8rSUio9JBmfGknb08fMg9Bi_0SBPZj5y54bsJJglDM.css" media="all" /> <link rel="stylesheet" href="https://www.hpl.ca/sites/default/files/css/css_xtg2KWHWXRN3kXw3gnc3qJUlCtygQVBaTUWTuO4RnxU.css" media="all" /> <!--[if lt IE 9]> <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script> <![endif]--> <script src="//ajax.googleapis.com/ajax/libs/jquery/2.2.4/jquery.min.js"></script> <script>window.jQuery || document.write("<script src='/sites/all/modules/jquery_update/replace/jquery/2.2/jquery.min.js'>\x3C/script>")</script> <script src="https://www.hpl.ca/sites/default/files/js/js_GOikDsJOX04Aww72M-XK1hkq4qiL_1XgGsRdkL0XlDo.js"></script> <script src="//ajax.googleapis.com/ajax/libs/jqueryui/1.10.2/jquery-ui.min.js"></script> <script>window.jQuery.ui || document.write("<script src='/sites/all/modules/jquery_update/replace/ui/ui/minified/jquery-ui.min.js'>\x3C/script>")</script> <script src="https://www.hpl.ca/sites/default/files/js/js_NpQFy4NWHBHFtoJaFKk6AseR-P7p_c-mnqnAKAvjj5g.js"></script> <script>document.createElement( "picture" );</script> <script src="https://www.hpl.ca/sites/default/files/js/js_xuyBwvylk7hlWgagacy-UD1nsiv08g_lVeHqy9A73ck.js"></script> <script>(function(i,s,o,g,r,a,m){i["GoogleAnalyticsObject"]=r;i[r]=i[r]||function(){(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)})(window,document,"script","https://www.hpl.ca/sites/default/files/googleanalytics/analytics.js?srunw2","ga");ga("create", "UA-34022084-1", {"cookieDomain":".www.hpl.ca","siteSpeedSampleRate":100});ga("set", "anonymizeIp", true);ga("send", "pageview");</script> <script src="//fast.fonts.net/jsapi/75f9de55-eaef-40a8-9a7b-e1b375756402.js"></script> <script src="https://www.hpl.ca/sites/default/files/js/js_rfx-GYsBGIfG74FTET3sGdV6a8KXHvzfKpuKLf7fxOw.js"></script> <script src="https://www.hpl.ca/sites/default/files/js/js_m2GEq2uQBSbbzETLYNCDZQ6ZqI2c-FkZ15QI2b4eFDk.js"></script> <script>jQuery.extend(Drupal.settings, {"basePath":"\/","pathPrefix":"","setHasJsCookie":0,"ajaxPageState":{"theme":"hpl_primary","theme_token":"PMuBPIRN78QNr1HO9i5ICqvydGUcyIotlEHFv7jtdtk","jquery_version":"2.2","jquery_version_token":"IaZRGC7sLiBwgXmM7mNslSvluVs5PrScw7mNXXG6AqQ","js":{"sites\/all\/modules\/picture\/picturefill2\/picturefill.min.js":1,"sites\/all\/modules\/picture\/picture.min.js":1,"\/\/ajax.googleapis.com\/ajax\/libs\/jquery\/2.2.4\/jquery.min.js":1,"0":1,"misc\/jquery-extend-3.4.0.js":1,"misc\/jquery-html-prefilter-3.5.0-backport.js":1,"misc\/jquery.once.js":1,"misc\/drupal.js":1,"sites\/all\/modules\/jquery_update\/js\/jquery_browser.js":1,"\/\/ajax.googleapis.com\/ajax\/libs\/jqueryui\/1.10.2\/jquery-ui.min.js":1,"1":1,"sites\/all\/modules\/jquery_update\/replace\/ui\/external\/jquery.cookie.js":1,"sites\/all\/modules\/jquery_update\/replace\/jquery.form\/4\/jquery.form.min.js":1,"misc\/ajax.js":1,"sites\/all\/modules\/jquery_update\/js\/jquery_update.js":1,"2":1,"sites\/all\/modules\/lightbox2\/js\/lightbox.js":1,"misc\/progress.js":1,"sites\/all\/modules\/ctools\/js\/modal.js":1,"sites\/all\/modules\/modal_forms\/js\/modal_forms_popup.js":1,"sites\/all\/modules\/google_analytics\/googleanalytics.js":1,"3":1,"\/\/fast.fonts.net\/jsapi\/75f9de55-eaef-40a8-9a7b-e1b375756402.js":1,"sites\/all\/modules\/field_group\/field_group.js":1,"sites\/all\/libraries\/superfish\/jquery.hoverIntent.minified.js":1,"sites\/all\/libraries\/superfish\/sftouchscreen.js":1,"sites\/all\/libraries\/superfish\/supposition.js":1,"sites\/all\/libraries\/superfish\/superfish.js":1,"sites\/all\/modules\/superfish\/superfish.js":1,"sites\/all\/themes\/hpl_primary\/scripts\/nav-primary.js":1,"sites\/all\/themes\/hpl_primary\/scripts\/nav-static.js":1,"sites\/all\/themes\/hpl_primary\/scripts\/search.js":1,"sites\/all\/themes\/hpl_primary\/scripts\/quick-links.js":1,"sites\/all\/themes\/hpl_primary\/scripts\/slideshow-height-hack.js":1,"sites\/all\/themes\/hpl_primary\/scripts\/catalogue-slider.js":1,"sites\/all\/themes\/hpl_primary\/scripts\/hours.js":1,"sites\/all\/themes\/hpl_primary\/scripts\/events.js":1,"sites\/all\/themes\/hpl_primary\/scripts\/sidebar.js":1,"sites\/all\/themes\/hpl_primary\/scripts\/alerts.js":1,"sites\/all\/themes\/hpl_primary\/scripts\/service-alerts.js":1,"sites\/all\/themes\/hpl_primary\/scripts\/high-contrast.js":1,"sites\/all\/themes\/hpl_primary\/scripts\/vendor\/html5shiv\/dist\/html5shiv.min.js":1,"sites\/all\/themes\/hpl_primary\/scripts\/online-resources.js":1,"sites\/all\/themes\/hpl_primary\/scripts\/program-events.js":1,"sites\/all\/themes\/hpl_primary\/scripts\/bookmobile.js":1,"sites\/all\/themes\/hpl_primary\/scripts\/vendor\/jquery.rwdImageMaps.min.js":1,"sites\/all\/themes\/hpl_primary\/scripts\/vendor\/rrssb.js":1,"sites\/all\/themes\/hpl_primary\/scripts\/jquery.actual.js":1,"sites\/all\/themes\/hpl_primary\/scripts\/jquery.countdown.min.js":1},"css":{"modules\/system\/system.base.css":1,"modules\/system\/system.menus.css":1,"modules\/system\/system.messages.css":1,"modules\/system\/system.theme.css":1,"misc\/ui\/jquery.ui.core.css":1,"misc\/ui\/jquery.ui.theme.css":1,"sites\/all\/modules\/date\/date_repeat_field\/date_repeat_field.css":1,"modules\/field\/theme\/field.css":1,"modules\/node\/node.css":1,"sites\/all\/modules\/office_hours\/office_hours.css":1,"sites\/all\/modules\/picture\/picture_wysiwyg.css":1,"modules\/user\/user.css":1,"sites\/all\/modules\/custom\/calendar\/css\/calendar_multiday.css":1,"sites\/all\/modules\/views\/css\/views.css":1,"sites\/all\/modules\/ctools\/css\/ctools.css":1,"sites\/all\/modules\/lightbox2\/css\/lightbox.css":1,"sites\/all\/modules\/ctools\/css\/modal.css":1,"sites\/all\/modules\/modal_forms\/css\/modal_forms_popup.css":1,"\/\/maxcdn.bootstrapcdn.com\/font-awesome\/4.1.0\/css\/font-awesome.min.css":1,"\/\/fonts.googleapis.com\/css?family=Amatic+SC:700":1,"\/\/fonts.googleapis.com\/css?family=Life+Savers:400,700":1,"\/\/fonts.googleapis.com\/css?family=Roboto:300":1,"modules\/taxonomy\/taxonomy.css":1,"sites\/all\/modules\/date\/date_api\/date.css":1,"\/sites\/default\/files\/Primary\/ie8.css":1,"sites\/all\/libraries\/superfish\/css\/superfish.css":1,"sites\/all\/libraries\/superfish\/css\/superfish-vertical.css":1,"sites\/all\/themes\/hpl_primary\/stylesheets\/vendor\/normalize.css":1,"sites\/all\/themes\/hpl_primary\/stylesheets\/vendor\/rrssb.css":1,"sites\/all\/themes\/hpl_primary\/stylesheets\/style.css":1}},"jcarousel":{"ajaxPath":"\/jcarousel\/ajax\/views"},"lightbox2":{"rtl":0,"file_path":"\/(\\w\\w\/)public:\/","default_image":"\/sites\/all\/modules\/lightbox2\/images\/brokenimage.jpg","border_size":10,"font_color":"000","box_color":"fff","top_position":"","overlay_opacity":"0.8","overlay_color":"000","disable_close_click":1,"resize_sequence":0,"resize_speed":400,"fade_in_speed":400,"slide_down_speed":600,"use_alt_layout":0,"disable_resize":0,"disable_zoom":1,"force_show_nav":1,"show_caption":1,"loop_items":0,"node_link_text":"View Image Details","node_link_target":0,"image_count":"Image !current of !total","video_count":"Video !current of !total","page_count":"Page !current of !total","lite_press_x_close":"press \u003Ca href=\u0022#\u0022 onclick=\u0022hideLightbox(); return FALSE;\u0022\u003E\u003Ckbd\u003Ex\u003C\/kbd\u003E\u003C\/a\u003E to close","download_link_text":"","enable_login":false,"enable_contact":false,"keys_close":"c x 27","keys_previous":"p 37","keys_next":"n 39","keys_zoom":"z","keys_play_pause":"32","display_image_size":"original","image_node_sizes":"()","trigger_lightbox_classes":"","trigger_lightbox_group_classes":"","trigger_slideshow_classes":"","trigger_lightframe_classes":"","trigger_lightframe_group_classes":"","custom_class_handler":0,"custom_trigger_classes":"","disable_for_gallery_lists":1,"disable_for_acidfree_gallery_lists":true,"enable_acidfree_videos":true,"slideshow_interval":7000,"slideshow_automatic_start":1,"slideshow_automatic_exit":1,"show_play_pause":1,"pause_on_next_click":0,"pause_on_previous_click":1,"loop_slides":0,"iframe_width":640,"iframe_height":480,"iframe_border":1,"enable_video":0,"useragent":"Mozilla\/5.0 (Linux; Android 10; K) AppleWebKit\/537.36 (KHTML, like Gecko) SamsungBrowser\/27.0 Chrome\/125.0.0.0 Mobile Safari\/537.36"},"CToolsModal":{"loadingText":"Loading...","closeText":"Close Window","closeImage":"\u003Cimg src=\u0022https:\/\/www.hpl.ca\/sites\/all\/modules\/ctools\/images\/icon-close-window.png\u0022 alt=\u0022Close window\u0022 title=\u0022Close window\u0022 \/\u003E","throbber":"\u003Cimg src=\u0022https:\/\/www.hpl.ca\/sites\/all\/modules\/ctools\/images\/throbber.gif\u0022 alt=\u0022Loading\u0022 title=\u0022Loading...\u0022 \/\u003E"},"modal-popup-small":{"modalSize":{"type":"fixed","width":300,"height":300},"modalOptions":{"opacity":0.45,"background":"#000"},"animation":"fadeIn","modalTheme":"ModalFormsPopup","throbber":"\u003Cimg src=\u0022https:\/\/www.hpl.ca\/sites\/all\/modules\/modal_forms\/images\/loading_animation.gif\u0022 alt=\u0022Loading...\u0022 title=\u0022Loading\u0022 \/\u003E","closeText":"Close"},"modal-popup-medium":{"modalSize":{"type":"fixed","width":550,"height":450},"modalOptions":{"opacity":0.45,"background":"#000"},"animation":"fadeIn","modalTheme":"ModalFormsPopup","throbber":"\u003Cimg src=\u0022https:\/\/www.hpl.ca\/sites\/all\/modules\/modal_forms\/images\/loading_animation.gif\u0022 alt=\u0022Loading...\u0022 title=\u0022Loading\u0022 \/\u003E","closeText":"Close"},"modal-popup-large":{"modalSize":{"type":"scale","width":0.8,"height":0.8},"modalOptions":{"opacity":0.45,"background":"#000"},"animation":"fadeIn","modalTheme":"ModalFormsPopup","throbber":"\u003Cimg src=\u0022https:\/\/www.hpl.ca\/sites\/all\/modules\/modal_forms\/images\/loading_animation.gif\u0022 alt=\u0022Loading...\u0022 title=\u0022Loading\u0022 \/\u003E","closeText":"Close"},"better_exposed_filters":{"views":{"alerts_and_notifications":{"displays":{"block_1":{"filters":[]}}},"notices":{"displays":{"block_2":{"filters":[]}}}}},"field_group":{"hidden":"full"},"picture":{"mappings":[["900 Height","900_height"],["100 Height","100_height"],["527 Height","527_height"],["335 Height","335_height"],["294 Height","294_height"],["109 Height","109_height"],["172 Height","172_height"],["77 Height","77_height"],["189 Height","189_height"],["876x405","876x405"],["Feature - Medium","feature_medium"],["Featured","featured"],["HPLOR - Icon","hplor_icon"],["HPLOR - Sm. Feature","hplor_sm_feature"],["Feature - Small","hplor_feature"],["HPLOR - Tiles","hplor_tiles"],["Square Headshot - 318px","square_headshot_318px"],["Not Set","not_set"]],"label":"Image size (required)"},"googleanalytics":{"trackOutbound":1,"trackMailto":1,"trackDownload":1,"trackDownloadExtensions":"7z|aac|arc|arj|asf|asx|avi|bin|csv|doc(x|m)?|dot(x|m)?|exe|flv|gif|gz|gzip|hqx|jar|jpe?g|js|mp(2|3|4|e?g)|mov(ie)?|msi|msp|pdf|phps|png|ppt(x|m)?|pot(x|m)?|pps(x|m)?|ppam|sld(x|m)?|thmx|qtm?|ra(m|r)?|sea|sit|tar|tgz|torrent|txt|wav|wma|wmv|wpd|xls(x|m|b)?|xlt(x|m)|xlam|xml|z|zip","trackDomainMode":1},"superfish":{"1":{"id":"1","sf":{"pathLevels":"3","animation":{"opacity":"show"},"speed":0,"autoArrows":false,"dropShadows":false},"plugins":{"touchscreen":{"behaviour":"0","disableHover":true,"mode":"useragent_predefined"},"supposition":true}}}});</script> <!-- Hotjar Tracking Code for www.hpl.ca --> <!--<script> (function(h, o, t, j, a, r) { h.hj = h.hj || function() { (h.hj.q = h.hj.q || []).push(arguments) }; h._hjSettings = { hjid: 708877, hjsv: 6 }; a = o.getElementsByTagName('head')[0]; r = o.createElement('script'); r.async = 1; r.src = t + h._hjSettings.hjid + j + h._hjSettings.hjsv; a.appendChild(r); })(window, document, 'https://static.hotjar.com/c/hotjar-', '.js?sv='); </script> removed Sept 24 2024 --> </head> <body class="html not-front not-logged-in no-sidebars page-taxonomy page-taxonomy-term page-taxonomy-term- page-taxonomy-term-19681" > <div id="skip-link"> <a href="#main-content" class="element-invisible element-focusable">Skip to main content</a> </div> <!-- Google Tag Manager (noscript) --> <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-PL2D929" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> <!-- End Google Tag Manager (noscript) --> <!--[if lte IE 7]> <p>Your version of Internet Explorer is not capable of handling the updated styling that modern browsers now support. Please update your browser to Internet Explorer 8 or please consider switching to a self updating browser such as <a href="http://www.google.com/chrome/">Google Chrome</a> or <a href="https://www.mozilla.org/en-US/firefox/new/">Mozilla Firefox</a>. If this is not an option, then you can always browse our website from one of our public computers, available at any of our branch locations.<br /><br />Thank you,<br />from the Hamilton Public Library.</p> <![endif]--> <div class='top-bar'> <div class='container'> <div id="block-menu-menu-tabs" class="block block-menu"> <div class="content"> <ul class="menu"><li class="first leaf"><a href="https://www.hpl.ca" class="primary active">HPL</a></li> <li class="leaf"><a href="https://kids.hpl.ca" class="kids">Kids</a></li> <li class="leaf"><a href="https://teens.hpl.ca" class="teens">Teens</a></li> <li class="last leaf"><a href="https://lha.hpl.ca" class="local-history">Local History</a></li> </ul> </div> </div> <div id="block-menu-menu-static-navigation" class="block block-menu" > <div class="content"> <ul class="menu"><li class="first leaf"><a href="https://hpl.bibliocommons.com" class="responsive-hidden-link">Catalogue</a></li> <li class="leaf"><a href="https://hpl.overdrive.com/">eBooks</a></li> <li class="leaf"><a href="https://events.hpl.ca/events?r=thismonth" id="menu-upcoming-events" class="responsive-hidden-link">Events</a></li> <li class="leaf"><a href="/hours">Hours</a></li> <li class="leaf"><a href="/forms/contact-us">Contact Us</a></li> <li class="last leaf"><a href="/donate-now" class="responsive-hidden-link">Donate</a></li> </ul> </div> </div> <div id="static-nav"> </div> <div id="my-hpl-container"> <button id="my-hpl" class="my-hpl-primary"><span id="my-hpl-text">My HPL</span></button> <div id="my-hpl-links"> <div class="my-hpl-link-container"><a class='my-hpl-link' href="https://hpl.bibliocommons.com/user/login" title="Go to the Catalogue">Log in to Catalogue <span class="my-hpl-icon"><img src='/sites/all/themes/hpl_primary/images/myhpl_catalogue.png' alt="Log in to Catalogue Icon" /></span></a></div> <div class="my-hpl-link-container"><a class='my-hpl-link' href="/online-registration" title="Go get a Library Card Online">Get a Library Card Online <span class="my-hpl-icon"><img src='/sites/all/themes/hpl_primary/images/myhpl_card.png' alt="Get a Library Card" /></span></a></div> <div class="my-hpl-link-container"><a class='my-hpl-link' href="/update-your-info" title="Update Your Information">Update Your Info <span class="my-hpl-icon"><img src='/sites/all/themes/hpl_primary/images/myhpl_account.png' style="width:54px; height:50px;" alt="Update Your Information" /></span></a></div> <div class="my-hpl-link-container"><a class='my-hpl-link' href="https://events.hpl.ca/myevents" title="Go to My Programs and Events">My Programs & Events <span class="my-hpl-icon"><img src='/sites/all/themes/hpl_primary/images/myhpl_events.png' alt="My Programs and Events Icon" /></span></a></div> </div> </div> </div> </div> <div class='banner-bar row'></div> <div class='main-content container'> <div class='right-content column width9 push3'> <div class="region region-content"> <div id="block-alert-tabs-alert-tab" class="block block-alert-tabs"> <div class="content"> <div class='alerts-holder'></div> </div> </div> <div id="block-views-0f1fa0eeba7b10650b6c2d878c2701dd" class="block block-views"> <div class="content"> <div class="view view-alerts-and-notifications view-id-alerts_and_notifications view-display-id-block_1 view-dom-id-058b7526d368bc1c94514307a90efa7c"> <div class="view-empty"> <!--smart_paging_filter--><!--smart_paging_autop_filter-->There is nothing to display at this time </div> </div> </div> </div> <div id="block-alert-tabs-notice-tab" class="block block-alert-tabs"> <div class="content"> <div class='notices-holder'><a href='#'> <div class='notification-tab notices'> Notices <div class='count'>2</div> <span class='bang fa fa-exclamation-circle'></span> </div> </a></div> </div> </div> <div id="block-views-notices-block-2" class="block block-views"> <div class="content"> <div class="view view-notices view-id-notices view-display-id-block_2 view-dom-id-9580de67d8a67f5b45755facc7a760bc"> <div class="view-content"> <div> <div id="node-439256" class="node node-notice contextual-links-region clearfix"> <h1 >Central Libray - Large Format Printer Unavailable</h1> <div class="content"> <div class="field field-name-field-all-full-text field-type-text-long field-label-hidden"><div class="field-items"><div class="field-item even"><p>The large format printer in the Makerspace is currently unavailable. Please utilize our other Makerspace locations if needed. We will advise once it is restored to service.</p> </div></div></div><div class="field field-name-field-affected-branch field-type-node-reference field-label-inline clearfix"><div class="field-label">Affected Branch: </div><div class="field-items"><div class="field-item even"><a href="/central">Central Library</a></div></div></div><div class="field field-name-field-nearest-branches field-type-node-reference field-label-inline clearfix"><div class="field-label">Nearest Branches: </div><div class="field-items"><div class="field-item even"><a href="/terryberry">Terryberry Branch</a></div><div class="field-item odd"><a href="/turner-park">Turner Park Branch</a></div><div class="field-item even"><a href="/waterdown">Waterdown Branch</a></div></div></div><div class="field field-name-field-publish-date field-type-datestamp field-label-inline clearfix"><div class="field-label">Publish Date: </div><div class="field-items"><div class="field-item even"><span class="date-display-single">Friday, February 14, 2025 - 2:00pm</span></div></div></div> </div> <div class="clearfix"></div> </div> </div> <div> <div id="node-426900" class="node node-notice contextual-links-region clearfix"> <h1 >Phishing Scheme</h1> <div class="content"> <div class="field field-name-field-all-full-text field-type-text-long field-label-hidden"><div class="field-items"><div class="field-item even"><p>Please be aware of online phishing attempts impersonating Hamilton Public Library and Library Staff. HPL does not solicit paid freelance opportunities through social media or other messaging applications. HPL does not request personal or banking information through social media or require financial compensation when reviewing job applications. Please report phishing schemes to <a href="mailto:communications@hpl.ca">communications@hpl.ca</a>. If you think you are a victim of fraud, please call the <a href="https://www.antifraudcentre-centreantifraude.ca/index-eng.htm">Canadian Anti-Fraud Centre</a> at 1-888-495-8501.</p> </div></div></div><div class="field field-name-field-publish-date field-type-datestamp field-label-inline clearfix"><div class="field-label">Publish Date: </div><div class="field-items"><div class="field-item even"><span class="date-display-single">Tuesday, February 11, 2025 - 10:30am</span></div></div></div> </div> <div class="clearfix"></div> </div> </div> </div> </div> </div> </div> <div id="block-block-126" class="block block-block"> <div class="content"> <!--smart_paging_autop_filter--><div class="search-fields" id="search-field-www"><form action="/search" method="get"><div class="form-type-textfield form-item-search-block-form"><label class="element-hidden" for="search-keywords">Search</label> <input aria-label="search" class="form-text" id="search-keywords" maxlength="128" name="search_api_views_fulltext" placeholder="Search" size="15" title="Enter the terms you wish to search for." type="text" value=""></div><div class="form-wrapper" id="search-action"><input class="form-submit" id="submit-search" name="search" type="submit" value="Search"></div></form></div> </div> </div> <div id="block-system-main" class="block block-system content-wrapper" > <div class="content"> <div class="term-listing-heading"><div class='breadcrumb'> <a href="/">Home</a> > <a href="/articles/read-watch-listen">HPL Online</a> > eBooks and eAudio</div> <h1>eBooks and eAudio</h1> <div class="field field-name-field-hpl-online-feature-image field-type-image field-label-hidden"><div class="field-items"><div class="field-item even"><picture > <!--[if IE 9]><video style="display: none;"><![endif]--> <source srcset="https://www.hpl.ca/sites/default/files/styles/hplor_-_feature_-_desktop/public/hplonline_banner_ebooks_update.jpg?itok=FRRMH8Wy&timestamp=1601648943 1x" media="(min-width: 1240px)" /> <source srcset="https://www.hpl.ca/sites/default/files/styles/hplor_-_feature_-_laptop/public/hplonline_banner_ebooks_update.jpg?itok=bmcDPURu&timestamp=1601648943 1x" media="(min-width: 960px)" /> <source srcset="https://www.hpl.ca/sites/default/files/styles/hplor_-_feature_-_tablet/public/hplonline_banner_ebooks_update.jpg?itok=OfvyHrI_&timestamp=1601648943 1x" media="(min-width: 769px)" /> <source srcset="https://www.hpl.ca/sites/default/files/styles/hplor_-_feature_-_mobile/public/hplonline_banner_ebooks_update.jpg?itok=gko54oyE&timestamp=1601648943 1x" media="(max-width: 768px)" /> <!--[if IE 9]></video><![endif]--> <!--[if lt IE 9]> <img src="https://www.hpl.ca/sites/default/files/styles/hplor_-_feature_-_mobile/public/hplonline_banner_ebooks_update.jpg?itok=gko54oyE&timestamp=1601648943" alt="A person holding an e-reader" title="" /> <![endif]--> <!--[if !lt IE 9]><!--> <img srcset="https://www.hpl.ca/sites/default/files/styles/hplor_-_feature_-_mobile/public/hplonline_banner_ebooks_update.jpg?itok=gko54oyE&timestamp=1601648943 527w" alt="A person holding an e-reader" title="" /> <!-- <![endif]--> </picture></div></div></div><div class="taxonomy-term-description"><!--smart_paging_filter--><!--smart_paging_autop_filter--><p>All ages fiction and non-fiction</p></div> </div> <div id="node-389756" class="node node-hpl-online-resource node-teaser hpl-online-resource-container accessible"> <span class="hpl-online-resource-title"><a href="https://library.biblioboard.com/home">BiblioBoard </span></a><br /> Discover eBooks from local, Ontario and indie authors.<br /> <a href="https://library.biblioboard.com/home">See our BiblioBoard collection on BiblioBoard </a><br /> <a href="http://support.biblioboard.com/home">Get help with BiblioBoard </a> </div> <div id="node-375626" class="node node-hpl-online-resource node-teaser hpl-online-resource-container accessible"> <span class="hpl-online-resource-title"><a href="https://www.hpl.ca/node/376001">My Capstone Library</span></a><br /> Youth fiction and non-fiction eBooks and eAudiobooks for students.<br /> <a href="https://www.hpl.ca/node/376001">See our My Capstone Library collection on Capstone Library</a><br /> <a href="">Get help with Capstone Library</a> </div> <div id="node-375481" class="node node-hpl-online-resource node-teaser hpl-online-resource-container accessible"> <span class="hpl-online-resource-title"><a href="https://www.teenbookcloud.com/autologin.aspx?u=hpl&p=login">TeenBookCloud</span></a><br /> Graphic novels, classic literature, National Geographic videos, educator resources and audiobooks.<br /> <a href="https://www.teenbookcloud.com/autologin.aspx?u=hpl&p=login">See our TeenBookCloud collection on TeenBookCloud</a><br /> <a href="https://www.teenbookcloud.com/About.aspx">Get help with TeenBookCloud</a> </div> <div id="node-373866" class="node node-hpl-online-resource node-teaser hpl-online-resource-container accessible"> <span class="hpl-online-resource-title"><a href="http://hoopladigital.com/">Hoopla</span></a><br /> Instant access to a great selection of movies, books, audiobooks and music.<br /> <a href="http://hoopladigital.com/">See our Hoopla collection on Hoopla</a><br /> <a href="https://www.hoopladigital.com/help">Get help with Hoopla</a> </div> <div id="node-338541" class="node node-hpl-online-resource node-teaser hpl-online-resource-container accessible"> <span class="hpl-online-resource-title"><a href="https://www.hpl.ca/node/338536">OpenLibrary</span></a><br /> 51,000+ HPL books scanned and hosted by Internet Archive<br /> <a href="https://www.hpl.ca/node/338536">See our OpenLibrary collection on Internet Archive</a><br /> <a href="https://openlibrary.org/contact?path=/contact">Get help with Internet Archive</a> </div> <div id="node-330116" class="node node-hpl-online-resource node-teaser hpl-online-resource-container accessible"> <span class="hpl-online-resource-title"><a href="https://hpl.overdrive.com/">eBooks and eAudio</span></a><br /> Our primary collection of over 80,000 titles<br /> <a href="https://hpl.overdrive.com/">See our eBooks and eAudio collection on Overdrive</a><br /> <a href="https://help.overdrive.com/">Get help with Overdrive</a> </div> <div id="node-323966" class="node node-hpl-online-resource node-teaser hpl-online-resource-container accessible"> <span class="hpl-online-resource-title"><a href="http://www.tumblebooklibrary.com/autologin.aspx?userid=OD8slYnImFy/mOlW6bs5Bw%3D%3D">Children's Interactive eBooks</span></a><br /> Animated talking picture books<br /> <a href="http://www.tumblebooklibrary.com/autologin.aspx?userid=OD8slYnImFy/mOlW6bs5Bw%3D%3D">See our Children's Interactive eBooks collection on TumbleBooks</a><br /> <a href="https://www.tumblebooklibrary.com/help.aspx">Get help with TumbleBooks</a> </div> <div id="node-323936" class="node node-hpl-online-resource node-teaser hpl-online-resource-container accessible"> <span class="hpl-online-resource-title"><a href="https://hpl.cantookstation.com/home">French eBooks / Livres numériques</span></a><br /> Titles from French Canadian and a few European publishers<br /> <a href="https://hpl.cantookstation.com/home">See our French eBooks / Livres numériques collection on Cantook Libraries</a><br /> <a href="https://hpl.cantookstation.com/help">Get help with Cantook Libraries</a> </div> <div id="node-323866" class="node node-hpl-online-resource node-teaser hpl-online-resource-container accessible"> <span class="hpl-online-resource-title"><a href="https://hpl.overdrive.com/collection/1015308">Express eBooks and eAudio</span></a><br /> Popular and bestselling titles - No holds allowed and loan periods are 7 days.<br /> <a href="https://hpl.overdrive.com/collection/1015308">See our Express eBooks and eAudio collection on Overdrive</a><br /> <a href="https://help.overdrive.com/">Get help with Overdrive</a> </div> </div> </div> </div> </div> <div class='left-content column width3 push0'> <div class='sidebar-left'> <div id="block-block-41" class="block block-block"> <div class="content"> <!--smart_paging_filter--><!--smart_paging_autop_filter--><div id="block-blockify-blockify-logo"><div class="content"><a href="/" id="logo" rel="home" title="Return to Hamilton Public Library home page"><img alt="Hamilton Public Library logo" src="https://www.hpl.ca/sites/all/themes/hpl_primary/images/logo_header.png" /></a></div></div><p> </p> </div> </div> <div id="block-superfish-1" class="block block-superfish primary-navigation-holder" > <img alt="Mobile Menu Button" src='/sites/all/themes/hpl_primary/images/hamburger-white.png' class='primary-navigation-toggle primary-navigation-hamburger' /> <div class='primary-navigation'> <img alt="Menu style background image" src='/sites/all/themes/hpl_teens/images/teens_primary_nav_top.png' class='primary-navigation-teens top' /> <img alt="Menu style background image" src='/sites/all/themes/hpl_teens/images/teens_primary_nav_bottom.png' class='primary-navigation-teens bottom' /> <img alt="Menu style background image" src='/sites/all/themes/hpl_primary/images/x-white.png' class='primary-navigation-toggle primary-navigation-x' /> <div class="content"> <ul id="superfish-1" class="menu sf-menu sf-menu-primary-navigation sf-vertical sf-style-none sf-total-items-9 sf-parent-items-9 sf-single-items-0"><li id="menu-28215-1" class="first odd sf-item-1 sf-depth-1 sf-total-children-8 sf-parent-children-4 sf-single-children-4 menuparent"><a href="/about-hpl" class="sf-depth-1 nav-primary-link menuparent">About HPL</a><ul><li id="menu-29496-1" class="first odd sf-item-1 sf-depth-2 sf-no-children"><a href="/articles/mission-statement-and-values" class="sf-depth-2 nav-primary-link">Mission and Values</a></li><li id="menu-30266-1" class="middle even sf-item-2 sf-depth-2 sf-no-children"><a href="/articles/strategic-priorities-2023-2026" class="sf-depth-2 nav-primary-link">Strategic Plan</a></li><li id="menu-30236-1" class="middle odd sf-item-3 sf-depth-2 sf-total-children-2 sf-parent-children-0 sf-single-children-2 menuparent"><a href="/library-board" class="sf-depth-2 nav-primary-link menuparent">Library Board</a><ul><li id="menu-30241-1" class="first odd sf-item-1 sf-depth-3 sf-no-children"><a href="/board-meetings" class="sf-depth-3 nav-primary-link">Meetings, Agendas, Minutes</a></li><li id="menu-36966-1" class="last even sf-item-2 sf-depth-3 sf-no-children"><a href="/articles/hamilton-public-library-board" class="sf-depth-3 nav-primary-link">About the Board</a></li></ul></li><li id="menu-30231-1" class="middle even sf-item-4 sf-depth-2 sf-no-children"><a href="/articles/management" class="sf-depth-2 nav-primary-link">Management</a></li><li id="menu-30291-1" class="middle odd sf-item-5 sf-depth-2 sf-total-children-3 sf-parent-children-0 sf-single-children-3 menuparent"><a href="/policies-and-reports" class="sf-depth-2 nav-primary-link menuparent">Policies and Reports</a><ul><li id="menu-30296-1" class="first odd sf-item-1 sf-depth-3 sf-no-children"><a href="/articles/hamilton-public-library-policies" class="sf-depth-3 nav-primary-link">Policies</a></li><li id="menu-30301-1" class="middle even sf-item-2 sf-depth-3 sf-no-children"><a href="/articles/key-reports" class="sf-depth-3 nav-primary-link">Key Reports</a></li><li id="menu-78916-1" class="last odd sf-item-3 sf-depth-3 sf-no-children"><a href="https://www.hpl.ca/node/373591" class="sf-depth-3 nav-primary-link">Annual Report</a></li></ul></li><li id="menu-40926-1" class="middle even sf-item-6 sf-depth-2 sf-total-children-4 sf-parent-children-1 sf-single-children-3 menuparent"><a href="/building-updates" class="sf-depth-2 nav-primary-link menuparent">Branch Improvements</a><ul><li id="menu-130241-1" class="first odd sf-item-1 sf-depth-3 sf-no-children"><a href="https://www.hpl.ca/articles/discovery-centre" class="sf-depth-3 nav-primary-link">Discovery Centre</a></li><li id="menu-81591-1" class="middle even sf-item-2 sf-depth-3 sf-no-children"><a href="/articles/valley-park-branch-improvement-project" class="sf-depth-3 nav-primary-link">Valley Park Branch Improvement Project</a></li><li id="menu-130116-1" class="middle odd sf-item-3 sf-depth-3 sf-no-children"><a href="https://www.hpl.ca/articles/mount-hope-branch-renovation-project" class="sf-depth-3 nav-primary-link">Mount Hope Branch Renovation Project</a></li><li id="menu-133743-1" class="last even sf-item-4 sf-depth-3 sf-total-children-5 sf-parent-children-0 sf-single-children-5 menuparent"><a href="/previous-projects" class="sf-depth-3 nav-primary-link menuparent">Previous Projects</a><ul><li id="menu-129531-1" class="first odd sf-item-1 sf-depth-4 sf-no-children"><a href="https://www.hpl.ca/articles/barton-branch-renovation-update" class="sf-depth-4 nav-primary-link">Barton Branch Renovation Update</a></li><li id="menu-100731-1" class="middle even sf-item-2 sf-depth-4 sf-no-children"><a href="/news/carlisle-branch-construction-updates" class="sf-depth-4 nav-primary-link">Carlisle Branch Construction Updates</a></li><li id="menu-131538-1" class="middle odd sf-item-3 sf-depth-4 sf-no-children"><a href="https://www.hpl.ca/articles/kenilworth-branch-renovation" class="sf-depth-4 nav-primary-link">Kenilworth Branch Improvements</a></li><li id="menu-114501-1" class="middle even sf-item-4 sf-depth-4 sf-no-children"><a href="/public-art" class="sf-depth-4 nav-primary-link">Valley Park Branch Public Art Mural</a></li><li id="menu-130226-1" class="last odd sf-item-5 sf-depth-4 sf-no-children"><a href="https://www.hpl.ca/articles/waterdown-computer-lab-update" class="sf-depth-4 nav-primary-link">Waterdown Branch Makerspace Update</a></li></ul></li></ul></li><li id="menu-28216-1" class="middle odd sf-item-7 sf-depth-2 sf-total-children-3 sf-parent-children-0 sf-single-children-3 menuparent"><a href="/news" class="sf-depth-2 nav-primary-link menuparent">News</a><ul><li id="menu-45141-1" class="first odd sf-item-1 sf-depth-3 sf-no-children"><a href="/articles/subscribe-our-enewsletters" class="sf-depth-3 nav-primary-link">eNewsletter</a></li><li id="menu-37816-1" class="middle even sf-item-2 sf-depth-3 sf-no-children"><a href="/news-archive" class="sf-depth-3 nav-primary-link">News Archive</a></li><li id="menu-39836-1" class="last odd sf-item-3 sf-depth-3 sf-no-children"><a href="/media-releases" class="sf-depth-3 nav-primary-link">Media Releases</a></li></ul></li><li id="menu-29506-1" class="last even sf-item-8 sf-depth-2 sf-no-children"><a href="/jobs" class="sf-depth-2 nav-primary-link">Jobs at HPL</a></li></ul></li><li id="menu-28217-1" class="middle even sf-item-2 sf-depth-1 sf-total-children-11 sf-parent-children-0 sf-single-children-11 menuparent"><a href="/node/15871" class="sf-depth-1 nav-primary-link menuparent">Using the Library</a><ul><li id="menu-30316-1" class="first odd sf-item-1 sf-depth-2 sf-no-children"><a href="/librarycard" class="sf-depth-2 nav-primary-link">Get a Library Card</a></li><li id="menu-36576-1" class="middle even sf-item-2 sf-depth-2 sf-no-children"><a href="/articles/my-hpl" class="sf-depth-2 nav-primary-link">My HPL</a></li><li id="menu-29618-1" class="middle odd sf-item-3 sf-depth-2 sf-no-children"><a href="/app" class="sf-depth-2 nav-primary-link">Get the HPL App</a></li><li id="menu-39456-1" class="middle even sf-item-4 sf-depth-2 sf-no-children"><a href="/articles/library-collections-0" class="sf-depth-2 nav-primary-link">Discover Books and More</a></li><li id="menu-30206-1" class="middle odd sf-item-5 sf-depth-2 sf-no-children"><a href="/articles/borrowing" class="sf-depth-2 nav-primary-link">Borrowing</a></li><li id="menu-36581-1" class="middle even sf-item-6 sf-depth-2 sf-no-children"><a href="/articles/service-fees" class="sf-depth-2 nav-primary-link">Service Fees</a></li><li id="menu-114571-1" class="middle odd sf-item-7 sf-depth-2 sf-no-children"><a href="/articles/working-us" class="sf-depth-2 nav-primary-link">Working With Us</a></li><li id="menu-36586-1" class="middle even sf-item-8 sf-depth-2 sf-no-children"><a href="/articles/requesting-items" class="sf-depth-2 nav-primary-link">Requesting Items</a></li><li id="menu-40426-1" class="middle odd sf-item-9 sf-depth-2 sf-no-children"><a href="/articles/member-and-service-commitment" class="sf-depth-2 nav-primary-link">Member and Service Commitment</a></li><li id="menu-133258-1" class="middle even sf-item-10 sf-depth-2 sf-no-children"><a href="https://www.hpl.ca/forms/commercial-photography-and-filming" class="sf-depth-2 nav-primary-link">Commercial Photography and Filming</a></li><li id="menu-124191-1" class="last odd sf-item-11 sf-depth-2 sf-no-children"><a href="/news/frequently-asked-questions" class="sf-depth-2 nav-primary-link">Frequently Asked Questions</a></li></ul></li><li id="menu-114496-1" class="middle odd sf-item-3 sf-depth-1 sf-total-children-7 sf-parent-children-3 sf-single-children-4 menuparent"><a href="/hours" class="sf-depth-1 nav-primary-link menuparent">Visiting the Library</a><ul><li id="menu-30216-1" class="first odd sf-item-1 sf-depth-2 sf-no-children"><a href="/hours" class="sf-depth-2 nav-primary-link">Branches</a></li><li id="menu-30221-1" class="middle even sf-item-2 sf-depth-2 sf-total-children-2 sf-parent-children-0 sf-single-children-2 menuparent"><a href="/bookmobile" class="sf-depth-2 nav-primary-link menuparent">Bookmobile</a><ul><li id="menu-84476-1" class="first odd sf-item-1 sf-depth-3 sf-no-children"><a href="/bookmobile" class="sf-depth-3 nav-primary-link">Bookmobile Service</a></li><li id="menu-84491-1" class="last even sf-item-2 sf-depth-3 sf-no-children"><a href="/articles/history-bookmobile" class="sf-depth-3 nav-primary-link">History of the Bookmobile</a></li></ul></li><li id="menu-41146-1" class="middle odd sf-item-3 sf-depth-2 sf-total-children-1 sf-parent-children-0 sf-single-children-1 menuparent"><a href="/articles/library-visit-program" class="sf-depth-2 nav-primary-link menuparent">Library Visits</a><ul><li id="menu-114096-1" class="firstandlast odd sf-item-1 sf-depth-3 sf-no-children"><a href="/forms/photo-and-video-release-form" class="sf-depth-3 nav-primary-link">Photo and Video Release Form</a></li></ul></li><li id="menu-130989-1" class="middle even sf-item-4 sf-depth-2 sf-no-children"><a href="https://www.hpl.ca/Researcher-in-Residence" class="sf-depth-2 nav-primary-link">Researcher in Residence</a></li><li id="menu-40446-1" class="middle odd sf-item-5 sf-depth-2 sf-total-children-4 sf-parent-children-1 sf-single-children-3 menuparent"><a href="/circuit" class="sf-depth-2 nav-primary-link menuparent">The Circuit 4.0</a><ul><li id="menu-40466-1" class="first odd sf-item-1 sf-depth-3 sf-no-children"><a href="https://www.hpl.ca/node/108926/" class="sf-depth-3 nav-primary-link">About the Circuit 4.0</a></li><li id="menu-40511-1" class="middle even sf-item-2 sf-depth-3 sf-no-children"><a href="/makerspaces" class="sf-depth-3 nav-primary-link">Central Makerspace</a></li><li id="menu-41621-1" class="middle odd sf-item-3 sf-depth-3 sf-total-children-5 sf-parent-children-0 sf-single-children-5 menuparent"><a href="/circuit-40-partners" class="sf-depth-3 nav-primary-link menuparent">Circuit 4.0 Partners</a><ul><li id="menu-41626-1" class="first odd sf-item-1 sf-depth-4 sf-no-children"><a href="https://www.mohawkcollege.ca/city-school-by-mohawk.html" target="_blank" class="sf-depth-4 nav-primary-link">City School by Mohawk</a></li><li id="menu-41636-1" class="middle even sf-item-2 sf-depth-4 sf-no-children"><a href="http://www.iechamilton.ca/" target="_blank" class="sf-depth-4 nav-primary-link">Industry Education Council</a></li><li id="menu-41631-1" class="middle odd sf-item-3 sf-depth-4 sf-no-children"><a href="https://www.mcyu.ca/" target="_blank" class="sf-depth-4 nav-primary-link">McMaster Child and Youth University</a></li><li id="menu-40491-1" class="middle even sf-item-4 sf-depth-4 sf-no-children"><a href="https://abea.on.ca/" target="_blank" class="sf-depth-4 nav-primary-link">Adult Basic Education Association (ABEA)</a></li><li id="menu-41616-1" class="last odd sf-item-5 sf-depth-4 sf-no-children"><a href="/articles/xperience-annex" class="sf-depth-4 nav-primary-link">Xperience Annex</a></li></ul></li><li id="menu-40501-1" class="last even sf-item-4 sf-depth-3 sf-no-children"><a href="https://events.hpl.ca/events?r=thismonth&t=Special+Events&term=Circuit" class="sf-depth-3 nav-primary-link">Circuit Special Events</a></li></ul></li><li id="menu-57106-1" class="middle even sf-item-6 sf-depth-2 sf-no-children"><a href="/articles/about-self-serve-access-service" class="sf-depth-2 nav-primary-link">Extended Access Service</a></li><li id="menu-129526-1" class="last odd sf-item-7 sf-depth-2 sf-no-children"><a href="/study-halls" class="sf-depth-2 nav-primary-link">After Hours Study Halls</a></li></ul></li><li id="menu-28218-1" class="middle even sf-item-4 sf-depth-1 sf-total-children-13 sf-parent-children-1 sf-single-children-12 menuparent"><a href="/node/24496" class="sf-depth-1 nav-primary-link menuparent">Programs</a><ul><li id="menu-29628-1" class="first odd sf-item-1 sf-depth-2 sf-no-children"><a href="https://events.hpl.ca/events?r=thismonth" class="sf-depth-2 nav-primary-link">Find Programs and Events</a></li><li id="menu-115376-1" class="middle even sf-item-2 sf-depth-2 sf-no-children"><a href="/e-news" class="sf-depth-2 nav-primary-link">Program Guide</a></li><li id="menu-36531-1" class="middle odd sf-item-3 sf-depth-2 sf-no-children"><a href="/events/arts-%26-culture/all" class="sf-depth-2 nav-primary-link">Arts and Culture</a></li><li id="menu-133706-1" class="middle even sf-item-4 sf-depth-2 sf-no-children"><a href="https://www.hpl.ca/events/digital-literacy/all" class="sf-depth-2 nav-primary-link">Digital Literacy</a></li><li id="menu-29648-1" class="middle odd sf-item-5 sf-depth-2 sf-no-children"><a href="/events/finance/all" class="sf-depth-2 nav-primary-link">Finance</a></li><li id="menu-29645-1" class="middle even sf-item-6 sf-depth-2 sf-no-children"><a href="/events/games/all" class="sf-depth-2 nav-primary-link">Games</a></li><li id="menu-29644-1" class="middle odd sf-item-7 sf-depth-2 sf-no-children"><a href="/events/health-%26-wellness/all" class="sf-depth-2 nav-primary-link">Health and Wellness</a></li><li id="menu-133707-1" class="middle even sf-item-8 sf-depth-2 sf-no-children"><a href="https://www.hpl.ca/events/hobbies/all" class="sf-depth-2 nav-primary-link">Hobbies</a></li><li id="menu-133708-1" class="middle odd sf-item-9 sf-depth-2 sf-no-children"><a href="https://www.hpl.ca/events/language/all" class="sf-depth-2 nav-primary-link">Language</a></li><li id="menu-29633-1" class="middle even sf-item-10 sf-depth-2 sf-total-children-4 sf-parent-children-0 sf-single-children-4 menuparent"><a href="/literary-programs" class="sf-depth-2 nav-primary-link menuparent">Literary</a><ul><li id="menu-29636-1" class="first odd sf-item-1 sf-depth-3 sf-no-children"><a href="/events/literary/writing" class="sf-depth-3 nav-primary-link">Writing Workshops</a></li><li id="menu-132491-1" class="middle even sf-item-2 sf-depth-3 sf-no-children"><a href="https://www.hpl.ca/articles/author-events" class="sf-depth-3 nav-primary-link">Author Series</a></li><li id="menu-132379-1" class="middle odd sf-item-3 sf-depth-3 sf-no-children"><a href="https://hpl.bibliocommons.com/list/share/345214937_hplcollections/2701148077_hamilton_reads_through_the_years" class="sf-depth-3 nav-primary-link">Hamilton Reads</a></li><li id="menu-132380-1" class="last even sf-item-4 sf-depth-3 sf-no-children"><a href="https://www.hpl.ca/writer-residence" class="sf-depth-3 nav-primary-link">Writer in Residence </a></li></ul></li><li id="menu-29638-1" class="middle odd sf-item-11 sf-depth-2 sf-no-children"><a href="/events/movies/all" class="sf-depth-2 nav-primary-link">Movies</a></li><li id="menu-29634-1" class="middle even sf-item-12 sf-depth-2 sf-no-children"><a href="/events/literary/book-club" class="sf-depth-2 nav-primary-link">Book Clubs</a></li><li id="menu-74601-1" class="last odd sf-item-13 sf-depth-2 sf-no-children"><a href="/forms/hpl-program-application-form" class="sf-depth-2 nav-primary-link">Program Application Form </a></li></ul></li><li id="menu-28219-1" class="middle odd sf-item-5 sf-depth-1 sf-total-children-13 sf-parent-children-3 sf-single-children-10 menuparent"><a href="/services-0" class="sf-depth-1 nav-primary-link menuparent">Services</a><ul><li id="menu-95891-1" class="first odd sf-item-1 sf-depth-2 sf-no-children"><a href="/grab-and-go" class="sf-depth-2 nav-primary-link">Grab and Go Bags</a></li><li id="menu-121261-1" class="middle even sf-item-2 sf-depth-2 sf-no-children"><a href="/which-book-next" class="sf-depth-2 nav-primary-link">Which Book Next?</a></li><li id="menu-104211-1" class="middle odd sf-item-3 sf-depth-2 sf-no-children"><a href="/articles/print-copy-and-scan" class="sf-depth-2 nav-primary-link">Print, Copy and Scan</a></li><li id="menu-130221-1" class="middle even sf-item-4 sf-depth-2 sf-no-children"><a href="https://www.hpl.ca/articles/health-and-wellness" class="sf-depth-2 nav-primary-link">Health and Wellness</a></li><li id="menu-29666-1" class="middle odd sf-item-5 sf-depth-2 sf-no-children"><a href="/articles/public-computers-and-wifi" class="sf-depth-2 nav-primary-link">Computers and WiFi</a></li><li id="menu-121266-1" class="middle even sf-item-6 sf-depth-2 sf-total-children-3 sf-parent-children-1 sf-single-children-2 menuparent"><a href="/career-centre" class="sf-depth-2 nav-primary-link menuparent">Career Centre</a><ul><li id="menu-121271-1" class="first odd sf-item-1 sf-depth-3 sf-no-children"><a href="/hpl-online/job-search-resources" class="sf-depth-3 nav-primary-link">Job Search Resources</a></li><li id="menu-119856-1" class="middle even sf-item-2 sf-depth-3 sf-total-children-6 sf-parent-children-1 sf-single-children-5 menuparent"><a href="/career-and-skills-development" class="sf-depth-3 nav-primary-link menuparent">Career and Skills Development</a><ul><li id="menu-119871-1" class="first odd sf-item-1 sf-depth-4 sf-no-children"><a href="https://www.digitalliteracyassessment.org/locations/central" class="sf-depth-4 nav-primary-link">NorthStar Digital Literacy</a></li><li id="menu-119866-1" class="middle even sf-item-2 sf-depth-4 sf-no-children"><a href="https://www.mohawkcollege.ca/programs/get-prepared-for-college/city-school-by-mohawk" class="sf-depth-4 nav-primary-link">Mohawk City School</a></li><li id="menu-120796-1" class="middle odd sf-item-3 sf-depth-4 sf-no-children"><a href="https://libbyapp.com/library/hpl/extras/the-great-courses/card" class="sf-depth-4 nav-primary-link">Great Courses on Libby</a></li><li id="menu-120791-1" class="middle even sf-item-4 sf-depth-4 sf-no-children"><a href="https://www.linkedin.com/learning-login/go/account/70820388" class="sf-depth-4 nav-primary-link">LinkedIn Learning</a></li><li id="menu-120801-1" class="middle odd sf-item-5 sf-depth-4 sf-no-children"><a href="https://connect.mangolanguages.com/hpl/start" class="sf-depth-4 nav-primary-link">Mango Languages</a></li><li id="menu-32331-1" class="last even sf-item-6 sf-depth-4 sf-total-children-5 sf-parent-children-0 sf-single-children-5 menuparent"><a href="/tech-programs" class="sf-depth-4 nav-primary-link menuparent">Tech</a><ul><li id="menu-36521-1" class="first odd sf-item-1 sf-depth-5 sf-no-children"><a href="/events/makerspace/all" class="sf-depth-5 nav-primary-link">Makerspace Programs</a></li><li id="menu-29632-1" class="middle even sf-item-2 sf-depth-5 sf-no-children"><a href="/events/digital-literacy/all" class="sf-depth-5 nav-primary-link">All Tech Programs</a></li><li id="menu-40391-1" class="middle odd sf-item-3 sf-depth-5 sf-no-children"><a href="/career-and-skills-development" class="sf-depth-5 nav-primary-link">Other Tech Learning</a></li><li id="menu-29631-1" class="middle even sf-item-4 sf-depth-5 sf-no-children"><a href="/forms/book-appointment" class="sf-depth-5 nav-primary-link">Book an Appointment</a></li><li id="menu-29630-1" class="last odd sf-item-5 sf-depth-5 sf-no-children"><a href="/events/digital-literacy/computer-classes" class="sf-depth-5 nav-primary-link">Computer Classes</a></li></ul></li></ul></li><li id="menu-121276-1" class="last odd sf-item-3 sf-depth-3 sf-no-children"><a href="/jobs" class="sf-depth-3 nav-primary-link">Jobs at HPL</a></li></ul></li><li id="menu-29654-1" class="middle odd sf-item-7 sf-depth-2 sf-total-children-4 sf-parent-children-0 sf-single-children-4 menuparent"><a href="/nlc" class="sf-depth-2 nav-primary-link menuparent">Newcomers</a><ul><li id="menu-29655-1" class="first odd sf-item-1 sf-depth-3 sf-no-children"><a href="/nlc" class="sf-depth-3 nav-primary-link">Learn English</a></li><li id="menu-38846-1" class="middle even sf-item-2 sf-depth-3 sf-no-children"><a href="/events/newcomers/all" class="sf-depth-3 nav-primary-link">Come to a Program</a></li><li id="menu-29658-1" class="middle odd sf-item-3 sf-depth-3 sf-no-children"><a href="/volunteer/newcomer-learning-centre-english-tutoring" class="sf-depth-3 nav-primary-link">Volunteer as an English Tutor</a></li><li id="menu-100716-1" class="last even sf-item-4 sf-depth-3 sf-no-children"><a href="/forms/newcomer-learning-centre-request-english-tutoring" class="sf-depth-3 nav-primary-link">Request English Tutoring</a></li></ul></li><li id="menu-40411-1" class="middle even sf-item-8 sf-depth-2 sf-no-children"><a href="/forms/book-appointment" class="sf-depth-2 nav-primary-link">Book an Appointment</a></li><li id="menu-29659-1" class="middle odd sf-item-9 sf-depth-2 sf-no-children"><a href="/Home-Library-Service" class="sf-depth-2 nav-primary-link">Home Library Service</a></li><li id="menu-29660-1" class="middle even sf-item-10 sf-depth-2 sf-total-children-5 sf-parent-children-0 sf-single-children-5 menuparent"><a href="/access" class="sf-depth-2 nav-primary-link menuparent">Accessibility Services</a><ul><li id="menu-37016-1" class="first odd sf-item-1 sf-depth-3 sf-no-children"><a href="/articles/accessibility-tools" class="sf-depth-3 nav-primary-link">Tools</a></li><li id="menu-36996-1" class="middle even sf-item-2 sf-depth-3 sf-no-children"><a href="/articles/accessible-collections" class="sf-depth-3 nav-primary-link">Accessible Collections</a></li><li id="menu-37001-1" class="middle odd sf-item-3 sf-depth-3 sf-no-children"><a href="/articles/aoda-accessibility-ontarians-disabilities" class="sf-depth-3 nav-primary-link">HPL AODA</a></li><li id="menu-29662-1" class="middle even sf-item-4 sf-depth-3 sf-no-children"><a href="/articles/cela-centre-equitable-library-access" class="sf-depth-3 nav-primary-link">Centre for Equitable Library Access</a></li><li id="menu-48376-1" class="last odd sf-item-5 sf-depth-3 sf-no-children"><a href="/articles/magnuscards" class="sf-depth-3 nav-primary-link">MagnusCards</a></li></ul></li><li id="menu-37456-1" class="middle odd sf-item-11 sf-depth-2 sf-no-children"><a href="/articles/library-spaces-and-room-rentals" class="sf-depth-2 nav-primary-link">Meeting Rooms</a></li><li id="menu-29665-1" class="middle even sf-item-12 sf-depth-2 sf-no-children"><a href="/articles/library-spaces-and-room-rentals" class="sf-depth-2 nav-primary-link">Piano Room</a></li><li id="menu-41611-1" class="last odd sf-item-13 sf-depth-2 sf-no-children"><a href="/articles/xperience-annex" class="sf-depth-2 nav-primary-link">Xperience Annex</a></li></ul></li><li id="menu-28220-1" class="active-trail middle even sf-item-6 sf-depth-1 sf-total-children-11 sf-parent-children-0 sf-single-children-11 menuparent"><a href="/articles/read-watch-listen" class="sf-depth-1 nav-primary-link menuparent">HPL Online</a><ul><li id="menu-118841-1" class="first odd sf-item-1 sf-depth-2 sf-no-children"><a href="/app" class="sf-depth-2 nav-primary-link">HPL App</a></li><li id="menu-81991-1" class="active-trail middle even sf-item-2 sf-depth-2 sf-no-children"><a href="/hpl-online/ebooks-and-eaudio" class="sf-depth-2 nav-primary-link active">eBooks and eAudio</a></li><li id="menu-81996-1" class="middle odd sf-item-3 sf-depth-2 sf-no-children"><a href="/hpl-online/magazines-and-newspapers" class="sf-depth-2 nav-primary-link">Magazines and Newspapers</a></li><li id="menu-82001-1" class="middle even sf-item-4 sf-depth-2 sf-no-children"><a href="/hpl-online/movies-and-music" class="sf-depth-2 nav-primary-link">Movies and Music</a></li><li id="menu-29673-1" class="middle odd sf-item-5 sf-depth-2 sf-no-children"><a href="/learning-at-hpl" class="sf-depth-2 nav-primary-link">Educational Resources</a></li><li id="menu-82011-1" class="middle even sf-item-6 sf-depth-2 sf-no-children"><a href="/hpl-online/research-and-reference" class="sf-depth-2 nav-primary-link">Research and Reference</a></li><li id="menu-82016-1" class="middle odd sf-item-7 sf-depth-2 sf-no-children"><a href="/hpl-online/health-and-wellness" class="sf-depth-2 nav-primary-link">Health and Wellness</a></li><li id="menu-82021-1" class="middle even sf-item-8 sf-depth-2 sf-no-children"><a href="/hpl-online/business" class="sf-depth-2 nav-primary-link">Business</a></li><li id="menu-82026-1" class="middle odd sf-item-9 sf-depth-2 sf-no-children"><a href="/hpl-online/job-search-resources" class="sf-depth-2 nav-primary-link">Job Search Resources</a></li><li id="menu-82006-1" class="middle even sf-item-10 sf-depth-2 sf-no-children"><a href="/hpl-online/do-it-yourself" class="sf-depth-2 nav-primary-link">Do It Yourself</a></li><li id="menu-33976-1" class="last odd sf-item-11 sf-depth-2 sf-no-children"><a href="/at-home" class="sf-depth-2 nav-primary-link">Fun Stuff to do Online at Home</a></li></ul></li><li id="menu-29649-1" class="middle odd sf-item-7 sf-depth-1 sf-total-children-9 sf-parent-children-0 sf-single-children-9 menuparent"><a href="/makerspaces" class="sf-depth-1 nav-primary-link menuparent">Makerspaces</a><ul><li id="menu-29650-1" class="first odd sf-item-1 sf-depth-2 sf-no-children"><a href="/makerspaces" class="sf-depth-2 nav-primary-link">Discover the Makerspace</a></li><li id="menu-37831-1" class="middle even sf-item-2 sf-depth-2 sf-no-children"><a href="/node/add/dml-bookings" class="sf-depth-2 nav-primary-link">Request a Booking (in person)</a></li><li id="menu-41111-1" class="middle odd sf-item-3 sf-depth-2 sf-no-children"><a href="/dml-booking-calendar?field_equipment_nid=179781" class="sf-depth-2 nav-primary-link">Booking Calendar</a></li><li id="menu-39481-1" class="middle even sf-item-4 sf-depth-2 sf-no-children"><a href="/events/makerspace/all" class="sf-depth-2 nav-primary-link">Makerspace Events</a></li><li id="menu-132490-1" class="middle odd sf-item-5 sf-depth-2 sf-no-children"><a href="https://www.hpl.ca/articles/video-games-library" class="sf-depth-2 nav-primary-link">Video Games at the Library</a></li><li id="menu-29653-1" class="middle even sf-item-6 sf-depth-2 sf-no-children"><a href="/articles/makerspace-guidelines" class="sf-depth-2 nav-primary-link">Guidelines</a></li><li id="menu-74596-1" class="middle odd sf-item-7 sf-depth-2 sf-no-children"><a href="/makerspaces/in-action" class="sf-depth-2 nav-primary-link">In Action</a></li><li id="menu-98336-1" class="middle even sf-item-8 sf-depth-2 sf-no-children"><a href="/makerspaces/tutorials" class="sf-depth-2 nav-primary-link">Makerspace Tutorials</a></li><li id="menu-133394-1" class="last odd sf-item-9 sf-depth-2 sf-no-children"><a href="https://www.hpl.ca/articles/3d-printing-has-returned" class="sf-depth-2 nav-primary-link">3D Printing</a></li></ul></li><li id="menu-28221-1" class="middle even sf-item-8 sf-depth-1 sf-total-children-3 sf-parent-children-1 sf-single-children-2 menuparent"><a href="/node/24606" class="sf-depth-1 nav-primary-link menuparent">Community</a><ul><li id="menu-29689-1" class="first odd sf-item-1 sf-depth-2 sf-total-children-3 sf-parent-children-0 sf-single-children-3 menuparent"><a href="/art-galleries" class="sf-depth-2 nav-primary-link menuparent">Gallery HPL</a><ul><li id="menu-57596-1" class="first odd sf-item-1 sf-depth-3 sf-no-children"><a href="/articles/great-art-great-lakes-lake-ontario-portrait" class="sf-depth-3 nav-primary-link">Great Art for Great Lakes</a></li><li id="menu-40421-1" class="middle even sf-item-2 sf-depth-3 sf-no-children"><a href="/articles/core" class="sf-depth-3 nav-primary-link">The Core</a></li><li id="menu-36796-1" class="last odd sf-item-3 sf-depth-3 sf-no-children"><a href="/forms/gallery-hpl-call-entry" class="sf-depth-3 nav-primary-link">Call for Entry</a></li></ul></li><li id="menu-29694-1" class="middle even sf-item-2 sf-depth-2 sf-no-children"><a href="https://redbook.hpl.ca" class="sf-depth-2 nav-primary-link">Red Book of Hamilton</a></li><li id="menu-119346-1" class="last odd sf-item-3 sf-depth-2 sf-no-children"><a href="/museum" class="sf-depth-2 nav-primary-link">Free Museum Access</a></li></ul></li><li id="menu-28222-1" class="last odd sf-item-9 sf-depth-1 sf-total-children-3 sf-parent-children-1 sf-single-children-2 menuparent"><a href="/supportHPL" class="sf-depth-1 nav-primary-link menuparent">Support HPL</a><ul><li id="menu-29699-1" class="first odd sf-item-1 sf-depth-2 sf-total-children-4 sf-parent-children-0 sf-single-children-4 menuparent"><a href="/donations" class="sf-depth-2 nav-primary-link menuparent">Donations</a><ul><li id="menu-49751-1" class="first odd sf-item-1 sf-depth-3 sf-no-children"><a href="/donate-now" class="sf-depth-3 nav-primary-link">Donate Now</a></li><li id="menu-29701-1" class="middle even sf-item-2 sf-depth-3 sf-no-children"><a href="/articles/donations-sponsorship-and-fundraising-policy" class="sf-depth-3 nav-primary-link">Donations Policy</a></li><li id="menu-37671-1" class="middle odd sf-item-3 sf-depth-3 sf-no-children"><a href="/articles/lha-collections-policy" class="sf-depth-3 nav-primary-link">LH&A Collections Policy</a></li><li id="menu-29700-1" class="last even sf-item-4 sf-depth-3 sf-no-children"><a href="/articles/book-donations" class="sf-depth-3 nav-primary-link">Book Donations</a></li></ul></li><li id="menu-29696-1" class="middle even sf-item-2 sf-depth-2 sf-no-children"><a href="/volunteer-opportunities" class="sf-depth-2 nav-primary-link">Volunteer</a></li><li id="menu-29697-1" class="last odd sf-item-3 sf-depth-2 sf-no-children"><a href="/shop" class="sf-depth-2 nav-primary-link">Shop HPL</a></li></ul></li></ul> </div> <div class='clearfix'></div> </div> </div> <div id="main-content"></div> <!-- <div class='clearfix'></div> --></div> </div> </div> <div class="clearfix"></div> <div class='row'> <div id='homepage-features' class='container'> </div> </div> <!--<div class="covid-notice"><a href="/news/library-questions-during-covid-19" title="Library questions during COVID-19"></a><button id="covid-notice-close" title="close COVID notice">X</button></div>--> <div class='footer-holder row padded'> <img alt="stylistic image element" src='/sites/all/themes/hpl_kids/images/kids-wavy-foot.png' class='kids-wavy-foot' /> <div class='container width12'> <div class='footer-nav row'> <div id="block-menu-menu-secondary-navigation--2" class="block block-menu"> <div class="content"> <ul class="menu"><li class="first expanded column width3 push0"><a href="/">HPL Sites</a><ul class="menu"><li class="first leaf"><a href="https://www.hpl.ca">Hamilton Public Library</a></li> <li class="leaf"><a href="https://kids.hpl.ca">HPL Kids</a></li> <li class="leaf"><a href="https://teens.hpl.ca">HPL Teens</a></li> <li class="leaf"><a href="https://lha.hpl.ca">Local History and Archives</a></li> <li class="leaf"><a href="https://www.hamiltonstories.ca">Love Your City – Share Your Stories</a></li> <li class="leaf"><a href="https://arvr.hpl.ca">ExperienceCommons</a></li> <li class="last leaf"><a href="https://redbook.hpl.ca">Red Book by HPL</a></li> </ul></li> <li class="expanded active-trail column width3 push3"><a href="/articles/read-watch-listen" class="active-trail">HPL Online</a><ul class="menu"><li class="first leaf active-trail"><a href="/hpl-online/ebooks-and-eaudio" class="active-trail active">eBooks & Audio</a></li> <li class="leaf"><a href="/hpl-online/magazines-and-newspapers">Magazines and Newspapers</a></li> <li class="leaf"><a href="/hpl-online/movies-and-music">Movies and Music</a></li> <li class="leaf"><a href="/learning-at-hpl">Learning at HPL</a></li> <li class="leaf"><a href="/hpl-online/do-it-yourself">Do It Yourself</a></li> <li class="leaf"><a href="/hpl-online/health-and-wellness">Health and Wellness</a></li> <li class="leaf"><a href="/hpl-online/research-and-reference">Research and Reference</a></li> <li class="leaf"><a href="/hpl-online/business">Business</a></li> <li class="last leaf"><a href="/hpl-online/job-search-resources">Jobs and Careers</a></li> </ul></li> <li class="expanded column width3 push6"><a href="/node/24496">Programs</a><ul class="menu"><li class="first leaf"><a href="/e-news">Program Guide</a></li> <li class="last leaf"><a href="/articles/subscribe-our-enewsletters">eNewsletter</a></li> </ul></li> <li class="last expanded column width3 push9"><a href="/services-0">Services</a><ul class="menu"><li class="first leaf"><a href="/forms/book-appointment">Book an Appointment</a></li> <li class="leaf"><a href="/nlc">Newcomers</a></li> <li class="leaf"><a href="/Home-Library-Service">Home Library Service</a></li> <li class="leaf"><a href="/access">Accessibility</a></li> <li class="leaf"><a href="/meeting-rooms">Rooms</a></li> <li class="last leaf"><a href="/articles/public-computers-and-wifi">Public Computers and Wi-Fi</a></li> </ul></li> </ul> </div> </div> </div> <div class='row'> <div id="block-block-71--2" class="block block-block"> <div class="content"> <!--smart_paging_filter--><!--smart_paging_autop_filter--><div class="footer-logo"><div class="content"><a href="/" id="footer-logo" rel="home" title="Return to the HPL home page"><img alt="HPL logo" src="/sites/all/themes/hpl_primary/images/logo_header.png" /></a></div></div> </div> </div> <div class='legal'> <div id="social-media" class='buttons'> <a class='button small icon' href="https://www.youtube.com/user/HamiltonLibraryVideo" title="Go to the Hamilton Public Library YouTube page" target="_blank"> <span class='fa' role="img" aria-label="YouTube"> <span class='hidden'>YouTube</span></span> </a> <a class='button small icon' href="http://www.pinterest.com/hamiltonlibrary/" title="Go to the Hamilton Public Library Pinterest page" target="_blank"> <span class='fa' role="img" aria-label="Pinterest"> <span class='hidden'>Pinterest</span></span> </a> <a class='button small icon' href="https://twitter.com/HamiltonLibrary" title="Go to the Hamilton Public Library Twitter page" target="_blank"> <span class='fa' role="img" aria-label="Twitter"> <span class='hidden'>Twitter</span></span> </a> <a class='button small icon' href="https://www.facebook.com/hamiltonpubliclibrary" title="Go to the Hamilton Public Library Facebook page" target="_blank"> <span class='fa' role="img" aria-label="Facebook"> <span class='hidden'>Facebook</span></span> </a> <a class='button small icon' href="https://www.instagram.com/hamiltonlibrary/" title="Go to the Hamilton Public Library Instagram page" target="_blank"> <span class='fa' role="img" aria-label="Instagram"> <span class='hidden'>Instagram</span></span> </a> <a id='contrast-toggle' class='button small icon' href="#" title="Change this site to high visibility colour mode"> <span class='fa' role="img" aria-label="Adjust Contrast"> <span class='hidden'>Adjust Contrast</span></span> </a> </div> <div id="block-menu-menu-legal-menu--2" class="block block-menu"> <div class="content"> <ul class="menu"><li class="first leaf"><a href="http://hpl.ca/accessibility-services">AODA</a></li> <li class="last leaf"><a href="/articles/privacy-policy-library-members">Privacy Policy</a></li> </ul> </div> </div> <br /> <div class='legal-text'> © 2025 Hamilton Public Library. All rights reserved. </div> </div> </div> <div class='clearfix'></div> </div> </div> <script src="https://www.hpl.ca/sites/default/files/js/js_7Ukqb3ierdBEL0eowfOKzTkNu-Le97OPm-UqTS5NENU.js"></script> <script> function initFreshChat() { window.fcWidget.init({ token: "aca44cbf-6b4d-4250-b554-812f07dce4cc", host: "https://wchat.freshchat.com", config: { disableEvents: true, cssNames: { widget: 'fc_frame', open: 'fc_open', expanded: 'fc_expanded' }, showFAQOnOpen: true, hideFAQ: true, agent: { hideName: false, hidePic: true, hideBio: true, }, content: { placeholders: { search_field: 'Search', reply_field: 'Reply', csat_reply: 'Add your comments here' }, headers: { chat: 'Let\'s Chat.', chat_help: 'Reach out to us if you have any questions', push_notification: 'Don\'t miss out on any replies! Allow push notifications?', csat_question: 'Did we address your concerns??', csat_yes_question: 'How would you rate this interaction?', csat_no_question: 'How could we have helped better?', csat_thankyou: 'Thanks for the response', csat_rate_here: 'Submit your rating here', channel_response: { offline: 'We are currently away. Please leave us a message', online: { minutes: { one: "Currently replying in {!time!} minutes ", more: "Typically replies in {!time!} minutes" }, hours: { one: "Currently replying in under an hour", more: "Typically replies in {!time!} hours", } } } } } } }); } function initialize(i, t) { var e; i.getElementById(t) ? initFreshChat() : ((e = i.createElement("script")).id = t, e.async = !0, e.src = "https://wchat.freshchat.com/js/widget.js", e.onload = initFreshChat, i.head.appendChild(e)) } function initiateCall() { initialize(document, "freshchat-js-sdk") } window.addEventListener ? window.addEventListener("load", initiateCall, !1) : window.attachEvent("load", initiateCall, !1); </script> <script src="/sites/all/themes/hpl_primary/scripts/vendor/Respond/dest/respond.min.js"></script> <script type="text/javascript">window.NREUM||(NREUM={});NREUM.info={"beacon":"bam.nr-data.net","licenseKey":"NRJS-b9330086d4848dc0310","applicationID":"1078594488","transactionName":"ZlABN0BTXkQHBURYW18aNhFbHR9eCAJVSRpBXRM=","queueTime":0,"applicationTime":16,"atts":"ShcCQQhJTUo=","errorBeacon":"bam.nr-data.net","agent":""}</script></body> </html>