et t=e({context:c,property:"prototype",propertiesToExclude:l,skipPrototype:!0});t instanceof Error||(d.originalPrototype=t?.originalObject,d.originalPrototypeProperties=t?.originalProperties)}return a({context:r,property:o,value:c,enumerable:f?.enumerable}),d}})}catch{}try{a({property:"defineStrictMethod",value:function(e,t){let r=(t||globalThis)[e],o=u(t||globalThis,e);return r&&o&&(o.writable||o.configurable)?(Object.freeze(r),a({context:globalThis,property:e,value:r})):r}})}catch{}var s=["toString","toLocaleString","valueOf","constructor","prototype"];function u(e,t){if(!(!e||!t))try{return Reflect.getOwnPropertyDescriptor(e,t)}catch{return}}function p(e){if("string"!=typeof e)return e;try{return decodeURIComponent(e).toLowerCase().trim()}catch{return e.toLowerCase().trim()}}function f(e,t){let r="";if("string"==typeof e)r=e.split("=")[0]?.trim()||"";else{if(!e||"string"!=typeof e.name)return!1;r=e.name}return t.has(p(r)||"")}function d(e,t){return("string"==typeof e?e.split(";").map(e=>e.trim()).filter(e=>e.length>0):e||[]).filter(e=>!f(e,t))}var y=null;function g(){return null===y&&(y=typeof Document>"u"?void 0:Object.getOwnPropertyDescriptor(Document.prototype,"cookie")),y}let h=(e,t)=>{try{let r=t?t.get.call(document):document.cookie;return r.split(";").map(e=>e.trim()).filter(t=>t?.startsWith(e))[0]?.split("=")[1]}catch(e){return""}},b=(e="",t="",r="/")=>`${e}=; ${t?`domain=${t};`:""} max-age=0; path=${r}; expires=Thu, 01 Jan 1970 00:00:01 GMT`;function m(e,t){try{return sessionStorage[e]("reload",t||"")}catch(e){console.error("ATS: Error calling sessionStorage:",e)}}var v=["true","b","c","new","enabled"];let w=[],S=(e,t)=>{let r;return w.includes(t)||!0===(r=e[t])||"string"==typeof r&&v.includes(r.toLowerCase())},T="client-session-bind",k="sec-fetch-unsupported",{experiments:x}=window.viewerModel,{cookie:P}=(e=new Set([T,"client-binding",k,"svSession","smSession","server-session-bind","wixSession2","wixSession3"].map(e=>e.toLowerCase())),a({context:document,property:"cookie",set:{func:t=>{var r,o;let n,i;return r=document,o=void 0,n=g(),i=p(t.split(";")[0]||"")||"",void([...e].every(e=>!i.startsWith(e.toLowerCase()))&&n?.set?n.set.call(r,t):o&&console.warn(o))}},get:{func:()=>(function(e,t){let r=g();if(!r?.get)throw Error("Cookie descriptor or getter not available");return d(r.get.call(e),t).join("; ")})(document,e)},enumerable:!0}),{cookieStore:function(e,t){if(!globalThis?.cookieStore)return;let r=globalThis.cookieStore.get.bind(globalThis.cookieStore),o=globalThis.cookieStore.getAll.bind(globalThis.cookieStore),n=globalThis.cookieStore.set.bind(globalThis.cookieStore),i=globalThis.cookieStore.delete.bind(globalThis.cookieStore);return a({context:globalThis.CookieStore.prototype,property:"get",value:async function(t){return f(("string"==typeof t?t:t.name)||"",e)?null:r.call(this,t)},enumerable:!0}),a({context:globalThis.CookieStore.prototype,property:"getAll",value:async function(){let t=await o.apply(this,Array.from(arguments));return d(t,e)},enumerable:!0}),a({context:globalThis.CookieStore.prototype,property:"set",value:async function(){let r=Array.from(arguments);if(!f(1===r.length?r[0].name:r[0],e))return n.apply(this,r);t&&console.warn(t)},enumerable:!0}),a({context:globalThis.CookieStore.prototype,property:"delete",value:async function(){let t=Array.from(arguments);if(!f(1===t.length?t[0].name:t[0],e))return i.apply(this,t)},enumerable:!0}),a({context:globalThis.cookieStore,property:"prototype",value:globalThis.CookieStore.prototype,enumerable:!1}),a({context:globalThis,property:"cookieStore",value:globalThis.cookieStore,enumerable:!0}),{get:r,getAll:o,set:n,delete:i}}(e,void 0),cookie:g()}),E="tbReady",C="security_overrideGlobals",{experiments:$,siteFeaturesConfigs:D,accessTokensUrl:j}=window.viewerModel,A={},M=(t=h(T,P),S(x,"specs.thunderbolt.browserCacheReload")&&(h(k,P)||t?m("removeItem"):function(){if("undefined"!=typeof window){let e=performance.getEntriesByType("navigation")[0];return"back_forward"===(e?.type||"")}return!1}()&&function(){let{counter:e}=function(){let e=m("getItem");if(e){let[t,r]=e.split("-"),o=r?parseInt(r,10):0;if(o>=3){let e=t?Number(t):0;if(Date.now()-e>6e4)return{counter:0}}return{counter:o}}return{counter:0}}();e<3?(function(e=1){m("setItem",`${Date.now()}-${e}`)}(e+1),window.location.reload()):console.error("ATS: Max reload attempts reached")}()),r=b(T),o=b(T,location.hostname),P.set.call(document,r),P.set.call(document,o),t);M&&(A["client-binding"]=M);let O=fetch,R=Date.now,L=crypto.getRandomValues.bind(crypto);addEventListener(E,function e(t){let{logger:r}=t.detail;try{window.tb.init({fetch:O,fetchHeaders:A})}catch(t){let e=Error("TB003");r.meter(`${C}_${e.message}`,{paramsOverrides:{errorType:C,eventString:e.message}}),window?.viewerModel?.mode.debug&&console.error(t)}finally{removeEventListener(E,e)}}),S($,"specs.thunderbolt.hardenFetchAndXHR")||(window.fetchDynamicModel=()=>D.sessionManager.isRunningInDifferentSiteContext?Promise.resolve({}):fetch((()=>{try{let e="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope,t=globalThis?.parent!==globalThis,r=new URL(j,location.href);return r.searchParams.set("cacheBust",`${R()}-${L(new Uint32Array(2)).join("-")}`),(t||e)&&(r.searchParams.set("ifr",String(t)),r.searchParams.set("worker",String(e))),r.href}catch{return j}})(),{credentials:"same-origin",headers:A}).then(function(e){if(!e.ok)throw Error(`[${e.status}]${e.statusText}`);return e.json()}),window.dynamicModelPromise=window.fetchDynamicModel())})();
//# sourceMappingURL=https://static.parastorage.com/services/wix-thunderbolt/dist/handleAccessTokens.inline.81d46a84.bundle.min.js.map
top of page
Visit us! 70 N. Avondale Rd. Suites 120-130 (404) 855-5489 Hi! In 2022, we dreamed of a space in Avondale where our community could gather and share in a love for books. The result? The first independent bookstore in Avondale Estates: The Book Bird. You can find your next favorite read, a delicious coffee or a crisp glass of wine at The Book Bird and Reading Grounds Cafe. Come relax in our inviting space with multiple comfy seating areas or join us for one of our regular special events. Connect with the community here and find the perfect book that allows you to take flight. Happy reading!
Book Clubs
The book is your ticket - join us! bottom of page