e;try{return decodeURIComponent(e).toLowerCase().trim()}catch{return e.toLowerCase().trim()}}function u(e,t){return e instanceof Headers?e.forEach((r,o)=>{p(o,t)||e.delete(o)}):Object.keys(e).forEach(r=>{p(r,t)||delete e[r]}),e}function p(e,t){return!t.has(s(e)||"")}function f(e,t){let r=!0,o=s(function(e){let t,r;if(globalThis.Request&&e instanceof Request)t=e.url;else if("function"==typeof e?.toString)t=e.toString();else throw Error("Unsupported type for url");try{return new URL(t).pathname}catch{return(r=t.replace(/#.+/gi,"").split("?").shift()).startsWith("/")?r:`/${r}`}}(e));return o&&t.some(e=>o.includes(e))&&(r=!1),r}performance.mark("overrideGlobals started");let{experiments:d}=window.viewerModel,y=d["specs.thunderbolt.securityExperiments"];try{let e,t,r,n,i,l=globalThis.open,h=document.open;function b(e,t,r){var o;let n="string"!=typeof e,i=l.call(window,e,t,r);return n||e&&((o=e).startsWith("//")&&/(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\.)+[a-z0-9][a-z0-9-]{0,61}[a-z0-9]/g.test(`${location.protocol}:${o}`)&&(o=`${location.protocol}${o}`),!o.startsWith("http")||new URL(o).hostname===location.hostname)?{}:i}o({property:"open",value:b,context:globalThis,enumerable:!0}),o({property:"open",value:function(e,t,r){return e?b(e,t,r):h.call(document,e||"",t||"",r||"")},context:document,enumerable:!0}),y&&(e=document.createElement,t=Element.prototype.setAttribute,r=Element.prototype.setAttributeNS,o({property:"createElement",context:document,value:function(n,i){let c=e.call(document,n,i);return"iframe"===s(n)&&(o({property:"srcdoc",context:c,get:()=>"",set:()=>{console.warn("`srcdoc` is not allowed in iframe elements.")}}),c.setAttribute=function(e,r){"srcdoc"===e.toLowerCase()?console.warn("`srcdoc` attribute is not allowed to be set."):t.call(c,e,r)},c.setAttributeNS=function(e,t,o){"srcdoc"===t.toLowerCase()?console.warn("`srcdoc` attribute is not allowed to be set."):r.call(c,e,t,o)}),c},enumerable:!0})),d["specs.thunderbolt.hardenFetchAndXHR"]&&y&&function(e,t,r){let n=fetch,i=XMLHttpRequest,c=new Set(t);function a(){let t=new i,o=t.open,n=t.setRequestHeader;return t.open=function(){let n=Array.from(arguments),i=n[1];if(n.length<2||f(i,e))return o.apply(t,n);throw Error(r||`Request not allowed for path ${i}`)},t.setRequestHeader=function(e,r){p(decodeURIComponent(e),c)&&n.call(t,e,r)},t}o({property:"fetch",value:function(){var t;let o=(t=arguments,globalThis.Request&&t[0]instanceof Request&&t[0]?.headers?u(t[0].headers,c):t[1]?.headers&&u(t[1].headers,c),t);return f(arguments[0],e)?n.apply(globalThis,Array.from(o)):new Promise((e,t)=>{let o=Error(r||`Request not allowed for path ${arguments[0]}`);t(o)})},enumerable:!0}),o({property:"XMLHttpRequest",value:a,enumerable:!0}),Object.keys(i).forEach(e=>{a[e]=i[e]})}(["/_api/v1/access-tokens","/_api/v2/dynamicmodel","/_api/one-app-session-web/v3/businesses"],["client-binding"]),function(){if(navigator&&"serviceWorker"in navigator)navigator.serviceWorker.register,o({context:navigator.serviceWorker,property:"register",value:function(){console.log("Service worker registration is not allowed")},enumerable:!0})}(),n=[],i=(i=[]).concat(["TextEncoder","TextDecoder"]),y&&(i=i.concat(["XMLHttpRequestEventTarget","EventTarget"])),i=i.concat(["URL","JSON"]),y&&(n=n.concat(["addEventListener","removeEventListener"])),n=n.concat(["encodeURI","encodeURIComponent","decodeURI","decodeURIComponent"]),i=i.concat(["String","Number"]),y&&i.push("Object"),i=i.concat(["Reflect"]),n.forEach(e=>{a(e),["addEventListener","removeEventListener"].includes(e)&&a(e,document)}),i.forEach(e=>{c({property:e})}),y&&function(){return e("setTimeout",0,globalThis),e("setInterval",0,globalThis);function e(e,t,r){let n=r||globalThis,i=n[e];if(!i||"function"!=typeof i)throw Error(`Function ${e} not found or is not a function`);o({property:e,value:function(){let r=Array.from(arguments);if("string"!=typeof r[t])return i.apply(n,r);console.warn(`Calling ${e} with a String Argument at index ${t} is not allowed`)},context:r,enumerable:!0})}}()}catch(t){window?.viewerModel?.mode.debug&&console.error(t);let e=Error("TB006");window.fedops?.reportError(e,"security_overrideGlobals"),window.Sentry?window.Sentry.captureException(e):globalThis.defineStrictProperty("sentryBuffer",[e],window,!1)}performance.mark("overrideGlobals ended")})();
//# sourceMappingURL=overrideGlobals.inline.42f519a1.bundle.min.js.map
Home | Ripples Of The Soul
top of page
Ripples of the Soul
Ripples of the Soul
Just Breathe
Namaste
About Our Practice
How We Got Here
Ripples of the Soul was founded in 2023 in San Francisco in order to support and foster the sense of mindfulness and peace in the surrounding community. We offer a variety of approaches to achieve and maintain your optimal health. Whether you are experiencing pain or simply want to improve your physical and mental wellbeing, Ripples of the Soul provides a healing and friendly environment to do so.
This is your Feature description. Write a short blurb explaining what the feature is and why it matters for visitors, customers or clients. Don’t be afraid to toot your own horn! Take this opportunity to emphasize the important benefits or key advantages.