Sacred Sundays Breathwork Deck
Welcome to
Sacred Sundays
Community Breathwork
Ann Arbor
01
02
Let’s Begin
Introductions
Share your…
Name
Breathing experience
One intention for this session
03
Education
What is the Somaxis™ Breathwork Journey?
A holistic practice that involves conscious control of the breath through the five facets of being to improve overall well-being.
04
It Involves
The Breath
01
Deep nasal breathing
To activate the parasympathetic nervous system for relaxation.
02
Activating connected breath through the mouth
To release stress, tension and emotions.
05
It Involves
The Container
03
Immersive silent disco headphones
A personal, yet shared experience.
04
Eye masks
To provide a deeper experience.
05
Curated music
To safely guide you through the journey.
06
Channeled messages
Optional.
06
The Journey
The Five Facets
The Physical
The Temple
Arrival & Grounding
Somatic awareness and nervous system regulation as your body settles, breath deepens, and physical presence emerges.
The Mental
The Architect
Clarity & Rewiring
Mental clarity and belief transformation through insight, perspective shifts, and mental quieting.
The Emotional
The Depths
Expression & Release
Emotional surfacing and authentic expression through tears, sound, movement, and emotional release.
The Energetic
The Current
Activation & Flow
Energy movement and vitality awareness as you feel increased aliveness and awareness of blocks and flow in your body.
The Spiritual
The Origin
Purpose & Integration
Connection to higher wisdom and unity, experiencing peace, presence, and spiritual insights.
07
In the Room
What You Might Experience
01
Physiological Reset
02
Emotional Access & Release
03
Cognitive Clarity & Reframing
04
Spiritual Grounding
08
Activating Breathwork & Mouth Breathing
Contraindications
High blood pressure
Chronic obstructive pulmonary disease
Asthma
Heart disease and/or pacemaker
Feeling unwell or sick
Pregnant
09
Activating Breathwork & Mouth Breathing
Contraindications , continued
Any other medical condition that may pose a risk — for example, epilepsy, diabetes, recent surgery, severe depression or diagnosed mental illness
History of mental health challenges in your family
10
During Activating Breathwork
Other Things to Be Aware Of
Hyperventilation
Also known as overbreathing, and creates a drop in CO2 levels.
Tetany
The involuntary contraction of muscles and cramping, often in the hands and feet, that can be brought on by lower CO2 levels. It will always go away on its own, often within a few minutes. Tetany may be more intense when people are forcing the exhalation.
Sensations & Somatic Experience
There are an infinite number of ways people experience breathwork that are “normal.” It’s important to hold safe space for the exploration of all of it.
11
Part Three
Breathing
Headphones on. Eyes closed. Everything from here is invitational.
12
After Today
Integration Framework
The TemplePhysical
Gentle somatic practices, rest and conscious movement — shaking, working out.
The ArchitectMental
Journey mapping, belief examination, and mental rest practices. Reviewing core values and limiting beliefs.
The DepthsEmotional
Feeling journals, voice recordings, and talking with a trusted person.
The CurrentEnergetic
Energy hygiene, nature immersion, and boundary setting.
The OriginSpiritual
Daily sacred pause, ritual creation, and purpose alignment.
13
Before You Go
The Inhabit Yourself App Is Coming.
And here’s the first reveal.
Join the beta waitlist
14
Keep Breathing With Us
Join the Next Somaxis™ Breathwork Tour
October 18 Grand Rapids
Bamboo · 10:00 AM – 2:00 PM EDT
15
← → to move · F for full screen · E to export
d2luZG93LmRrRXhwb3J0PWFzeW5jIGZ1bmN0aW9uKG9wdCl7IG9wdD1vcHR8fHt9OyB2YXIgZGs9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2RrJyk7IGZ1bmN0aW9uIGxvYWQoc3JjKXtyZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzLHJlail7dmFyIHM9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7cy5zcmM9c3JjO3Mub25sb2FkPXJlcztzLm9uZXJyb3I9cmVqO2RvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQocyl9KX0gaWYoIXdpbmRvdy5QcHR4R2VuSlMpYXdhaXQgbG9hZChvcHQubGlifHwnaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L25wbS9wcHR4Z2VuanNAMy4xMi4wL2Rpc3QvcHB0eGdlbi5idW5kbGUuanMnKTsgdmFyIHBwdHg9bmV3IFBwdHhHZW5KUygpO3BwdHguZGVmaW5lTGF5b3V0KHtuYW1lOidXJyx3aWR0aDoxMy4zMzMsaGVpZ2h0OjcuNX0pO3BwdHgubGF5b3V0PSdXJzsgdmFyIElOPTEzLjMzMy8xOTIwLFBUPTAuNTsgZnVuY3Rpb24gY3YodyxoKXt2YXIgYz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCdjYW52YXMnKTtjLndpZHRoPU1hdGgubWF4KDEsTWF0aC5yb3VuZCh3KSk7Yy5oZWlnaHQ9TWF0aC5tYXgoMSxNYXRoLnJvdW5kKGgpKTtyZXR1cm4gY30gZnVuY3Rpb24gY29sKHMpe3ZhciBtPShzfHwnJykubWF0Y2goL3JnYmE/XCgoW14pXSspXCkvKTtpZighbSlyZXR1cm4gbnVsbDt2YXIgcD1tWzFdLnNwbGl0KC9bICxcL10rLykuZmlsdGVyKEJvb2xlYW4pLm1hcChwYXJzZUZsb2F0KTt2YXIgYT1wLmxlbmd0aD4zP3BbM106MTtyZXR1cm57aGV4OnAuc2xpY2UoMCwzKS5tYXAoZnVuY3Rpb24odil7cmV0dXJuKCcwJytNYXRoLnJvdW5kKHYpLnRvU3RyaW5nKDE2KSkuc2xpY2UoLTIpfSkuam9pbignJykudG9VcHBlckNhc2UoKSxhOmF9fSBmdW5jdGlvbiBzcGxpdFRvcChzKXt2YXIgb3V0PVtdLGQ9MCxjdXI9Jyc7Zm9yKHZhciBpPTA7aTxzLmxlbmd0aDtpKyspe3ZhciBjaD1zW2ldO2lmKGNoPT0nKCcpZCsrO2lmKGNoPT0nKScpZC0tO2lmKGNoPT0nLCcmJmQ9PTApe291dC5wdXNoKGN1ci50cmltKCkpO2N1cj0nJ31lbHNlIGN1cis9Y2h9aWYoY3VyLnRyaW0oKSlvdXQucHVzaChjdXIudHJpbSgpKTtyZXR1cm4gb3V0fSBmdW5jdGlvbiBzdG9wcyhwYXJ0cyl7dmFyIHN0PXBhcnRzLm1hcChmdW5jdGlvbihwKXt2YXIgbT1wLm1hdGNoKC9eKHJnYmE/XChbXildKlwpfCNbMC05YS1mXSt8W2Etel0rKVxzKigtP1tcZC5dKyUpPy9pKTtyZXR1cm57YzptP21bMV06cCxwOm0mJm1bMl0/cGFyc2VGbG9hdChtWzJdKS8xMDA6bnVsbH19KTtpZihzdFswXS5wPT1udWxsKXN0WzBdLnA9MDtpZihzdFtzdC5sZW5ndGgtMV0ucD09bnVsbClzdFtzdC5sZW5ndGgtMV0ucD0xO2Zvcih2YXIgaT0xO2k8c3QubGVuZ3RoLTE7aSsrKWlmKHN0W2ldLnA9PW51bGwpe3ZhciBqPWk7d2hpbGUoc3Rbal0ucD09bnVsbClqKys7dmFyIGE9c3RbaS0xXS5wLGI9c3Rbal0ucDtmb3IodmFyIGs9aTtrPGo7aysrKXN0W2tdLnA9YSsoYi1hKSooay1pKzEpLyhqLWkrMSl9cmV0dXJuIHN0fSBmdW5jdGlvbiBwYWludEdyYWQoYyxzdHIseCx5LHcsaCl7aWYoIXN0cnx8c3RyPT0nbm9uZScpcmV0dXJuO3ZhciBsYXllcnM9c3BsaXRUb3Aoc3RyKTtmb3IodmFyIGxpPWxheWVycy5sZW5ndGgtMTtsaT49MDtsaS0tKXt2YXIgTD1sYXllcnNbbGldO3ZhciBtPUwubWF0Y2goL14obGluZWFyfHJhZGlhbCktZ3JhZGllbnRcKCguKilcKSQvKTtpZighbSljb250aW51ZTt2YXIgcGFydHM9c3BsaXRUb3AobVsyXSk7dmFyIGc7aWYobVsxXT09J2xpbmVhcicpe3ZhciBhbmc9MTgwO3ZhciBmPXBhcnRzWzBdO2lmKC9kZWckLy50ZXN0KGYpKXthbmc9cGFyc2VGbG9hdChmKTtwYXJ0cy5zaGlmdCgpfWVsc2UgaWYoL150byAvLnRlc3QoZikpe2FuZz17J3RvIHRvcCc6MCwndG8gcmlnaHQnOjkwLCd0byBib3R0b20nOjE4MCwndG8gbGVmdCc6MjcwfVtmXTtpZihhbmc9PW51bGwpYW5nPTE4MDtwYXJ0cy5zaGlmdCgpfXZhciBhPWFuZypNYXRoLlBJLzE4MCx2eD1NYXRoLnNpbihhKSx2eT0tTWF0aC5jb3MoYSksbGVuPU1hdGguYWJzKHcqdngpK01hdGguYWJzKGgqdnkpLGN4PXgrdy8yLGN5PXkraC8yO2c9Yy5jcmVhdGVMaW5lYXJHcmFkaWVudChjeC12eCpsZW4vMixjeS12eSpsZW4vMixjeCt2eCpsZW4vMixjeSt2eSpsZW4vMik7c3RvcHMocGFydHMpLmZvckVhY2goZnVuY3Rpb24ocyl7Zy5hZGRDb2xvclN0b3AoTWF0aC5taW4oMSxNYXRoLm1heCgwLHMucCkpLHMuYyl9KTtjLmZpbGxTdHlsZT1nO2MuZmlsbFJlY3QoeCx5LHcsaCl9ZWxzZXt2YXIgcHg9LjUscHk9LjU7dmFyIGY9cGFydHNbMF07aWYoL1xiYXRcYi8udGVzdChmKSYmIS9yZ2J8Iy8udGVzdChmKSl7dmFyIG1tPWYubWF0Y2goL2F0XHMrKFtcZC5dKyklXHMrKFtcZC5dKyklLyk7aWYobW0pe3B4PW1tWzFdLzEwMDtweT1tbVsyXS8xMDB9cGFydHMuc2hpZnQoKX12YXIgY3g9eCt3KnB4LGN5PXkraCpweSxkeD1NYXRoLm1heChweCwxLXB4KSp3LGR5PU1hdGgubWF4KHB5LDEtcHkpKmgscng9ZHgqTWF0aC5TUVJUMixyeT1keSpNYXRoLlNRUlQyO2Muc2F2ZSgpO2MudHJhbnNsYXRlKGN4LGN5KTtjLnNjYWxlKDEscnkvcngpO2c9Yy5jcmVhdGVSYWRpYWxHcmFkaWVudCgwLDAsMCwwLDAscngpO3N0b3BzKHBhcnRzKS5mb3JFYWNoKGZ1bmN0aW9uKHMpe2cuYWRkQ29sb3JTdG9wKE1hdGgubWluKDEsTWF0aC5tYXgoMCxzLnApKSxzLmMpfSk7Yy5maWxsU3R5bGU9ZztjLmZpbGxSZWN0KC1jeCt4LTEsKC1jeSt5KSpyeC9yeS0xLHcrMixoKnJ4L3J5KzIpO2MucmVzdG9yZSgpfX19IGZ1bmN0aW9uIGltZyhzcmMpe3JldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXMpe3ZhciBpPW5ldyBJbWFnZSgpO2kuY3Jvc3NPcmlnaW49J2Fub255bW91cyc7aS5vbmxvYWQ9ZnVuY3Rpb24oKXtyZXMoaSl9O2kub25lcnJvcj1mdW5jdGlvbigpe3JlcyhudWxsKX07aS5zcmM9c3JjfSl9IGZ1bmN0aW9uIHN2Z0ltZyhzdmcsdyxoKXt2YXIgcz1zdmcuY2xvbmVOb2RlKHRydWUpO3Muc2V0QXR0cmlidXRlKCd4bWxucycsJ2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyk7cy5zZXRBdHRyaWJ1dGUoJ3dpZHRoJyx3KTtzLnNldEF0dHJpYnV0ZSgnaGVpZ2h0JyxoKTtyZXR1cm4gaW1nKCdkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwnK2VuY29kZVVSSUNvbXBvbmVudChuZXcgWE1MU2VyaWFsaXplcigpLnNlcmlhbGl6ZVRvU3RyaW5nKHMpKSl9IGZ1bmN0aW9uIHJvdCh0KXtpZighdHx8dD09J25vbmUnKXJldHVybiAwO3ZhciBtPXQubWF0Y2goL21hdHJpeFwoKFteKV0rKVwpLyk7aWYoIW0pcmV0dXJuIDA7dmFyIHA9bVsxXS5zcGxpdCgnLCcpLm1hcChwYXJzZUZsb2F0KTtyZXR1cm4gTWF0aC5yb3VuZChNYXRoLmF0YW4yKHBbMV0scFswXSkqMTgwL01hdGguUEkpfSBmdW5jdGlvbiBmYWNlKGZmKXt2YXIgZj0oZmZ8fCcnKS5zcGxpdCgnLCcpWzBdLnJlcGxhY2UoL1siJ10vZywnJykudHJpbSgpO3JldHVybiBmfHwnR29vZ2xlIFNhbnMnfSB2YXIgc2xpZGVzPVtdLnNsaWNlLmNhbGwoZGsucXVlcnlTZWxlY3RvckFsbCgnLnNsJykpOyBmb3IodmFyIHNpPTA7c2k8c2xpZGVzLmxlbmd0aDtzaSsrKXt2YXIgcz1zbGlkZXNbc2ldO2lmKG9wdC5vbmx5JiZvcHQub25seS5pbmRleE9mKHNpKTwwKWNvbnRpbnVlOyB2YXIgUj1zLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLGs9Ui53aWR0aC8xOTIwOyBmdW5jdGlvbiBib3gocSl7cmV0dXJue3g6KHEubGVmdC1SLmxlZnQpL2sseToocS50b3AtUi50b3ApL2ssdzpxLndpZHRoL2ssaDpxLmhlaWdodC9rfX0gZnVuY3Rpb24gcG9zKGIpe3JldHVybnt4OmIueCpJTix5OmIueSpJTix3Ok1hdGgubWF4KC4wMSxiLncqSU4pLGg6TWF0aC5tYXgoLjAxLGIuaCpJTil9fSB2YXIgcHM9cHB0eC5hZGRTbGlkZSgpOyAvKiBiYWNrZ3JvdW5kICovIHZhciBTQz1nZXRDb21wdXRlZFN0eWxlKHMpLGJjPWN2KDE5MjAsMTA4MCksYng9YmMuZ2V0Q29udGV4dCgnMmQnKTtieC5maWxsU3R5bGU9U0MuYmFja2dyb3VuZENvbG9yO2J4LmZpbGxSZWN0KDAsMCwxOTIwLDEwODApO3BhaW50R3JhZChieCxTQy5iYWNrZ3JvdW5kSW1hZ2UsMCwwLDE5MjAsMTA4MCk7IHBzLmFkZEltYWdlKE9iamVjdC5hc3NpZ24oe2RhdGE6YmMudG9EYXRhVVJMKCdpbWFnZS9qcGVnJywuOTIpfSx7eDowLHk6MCx3OjEzLjMzMyxoOjcuNX0pKTsgLyogcGhvdG9zICovIHZhciBwaHM9W10uc2xpY2UuY2FsbChzLnF1ZXJ5U2VsZWN0b3JBbGwoJy5waCcpKTsgZm9yKHZhciBwaT0wO3BpPHBocy5sZW5ndGg7cGkrKyl7dmFyIHA9cGhzW3BpXSxiPWJveChwLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpKSxwYz1nZXRDb21wdXRlZFN0eWxlKHApLHU9KHBjLmJhY2tncm91bmRJbWFnZS5tYXRjaCgvdXJsXCgiPyhbXiIpXSspIj9cKS8pfHxbXSlbMV07aWYoIXUpY29udGludWU7dmFyIGltPWF3YWl0IGltZyh1KTt2YXIgUzI9MS41LGM9Y3YoYi53KlMyLGIuaCpTMikseD1jLmdldENvbnRleHQoJzJkJyk7aWYoaW0mJmltLm5hdHVyYWxXaWR0aD4xKXt2YXIgc2M9TWF0aC5tYXgoYy53aWR0aC9pbS5uYXR1cmFsV2lkdGgsYy5oZWlnaHQvaW0ubmF0dXJhbEhlaWdodCksZHc9aW0ubmF0dXJhbFdpZHRoKnNjLGRoPWltLm5hdHVyYWxIZWlnaHQqc2MsYnA9cGMuYmFja2dyb3VuZFBvc2l0aW9uLnNwbGl0KCcgJyksZng9cGFyc2VGbG9hdChicFswXSkvMTAwLGZ5PXBhcnNlRmxvYXQoYnBbMV18fCc1MCUnKS8xMDA7aWYoaXNOYU4oZngpKWZ4PS41O2lmKGlzTmFOKGZ5KSlmeT0uNTt4LmRyYXdJbWFnZShpbSwoYy53aWR0aC1kdykqZngsKGMuaGVpZ2h0LWRoKSpmeSxkdyxkaCl9ZWxzZXt4LmZpbGxTdHlsZT0nIzc3Nyc7eC5maWxsUmVjdCgwLDAsYy53aWR0aCxjLmhlaWdodCl9IHZhciBhZj1nZXRDb21wdXRlZFN0eWxlKHAsJzo6YWZ0ZXInKTtpZihhZi5jb250ZW50JiZhZi5jb250ZW50IT0nbm9uZScpcGFpbnRHcmFkKHgsYWYuYmFja2dyb3VuZEltYWdlLDAsMCxjLndpZHRoLGMuaGVpZ2h0KTsgcHMuYWRkSW1hZ2UoT2JqZWN0LmFzc2lnbih7ZGF0YTpjLnRvRGF0YVVSTCgnaW1hZ2UvanBlZycsLjg4KX0scG9zKGIpKSl9IC8qIHNoYXBlcywgZGVjb3IsIGltYWdlcyAqLyB2YXIgZGM9Y3YoMTkyMCwxMDgwKSxkeD1kYy5nZXRDb250ZXh0KCcyZCcpLGRlY29yPWZhbHNlLGxhdGVyPVtdOyB2YXIgZWxzPVtdLnNsaWNlLmNhbGwocy5xdWVyeVNlbGVjdG9yQWxsKCcqJykpLmZpbHRlcihmdW5jdGlvbihlKXtyZXR1cm4gIWUuY2xvc2VzdCgnLnBoJykmJiEoZS5jbG9zZXN0KCdzdmcnKSYmZS50YWdOYW1lLnRvTG93ZXJDYXNlKCkhPSdzdmcnKSYmIWUuY2xhc3NMaXN0LmNvbnRhaW5zKCdoaW50Jyl9KTsgZnVuY3Rpb24gc2lkZShidyxzdCl7cmV0dXJuIHBhcnNlRmxvYXQoYncpPjAmJnN0IT0nbm9uZSd9IGZ1bmN0aW9uIGRvQm94KGUsYixjcyxyKXt2YXIgYmc9Y29sKGNzLmJhY2tncm91bmRDb2xvciksVD1zaWRlKGNzLmJvcmRlclRvcFdpZHRoLGNzLmJvcmRlclRvcFN0eWxlKSxScj1zaWRlKGNzLmJvcmRlclJpZ2h0V2lkdGgsY3MuYm9yZGVyUmlnaHRTdHlsZSksQj1zaWRlKGNzLmJvcmRlckJvdHRvbVdpZHRoLGNzLmJvcmRlckJvdHRvbVN0eWxlKSxMZj1zaWRlKGNzLmJvcmRlckxlZnRXaWR0aCxjcy5ib3JkZXJMZWZ0U3R5bGUpO3ZhciBuPVtULFJyLEIsTGZdLmZpbHRlcihCb29sZWFuKS5sZW5ndGg7dmFyIGJjb2w9Y29sKGNzLmJvcmRlclRvcENvbG9yfHxjcy5ib3JkZXJMZWZ0Q29sb3IpOyBpZihuPT00fHwoYmcmJmJnLmE+MCkpe3ZhciBvPU9iamVjdC5hc3NpZ24oe30scG9zKGIpKTtvLmZpbGw9YmcmJmJnLmE+MD97Y29sb3I6YmcuaGV4LHRyYW5zcGFyZW5jeTpNYXRoLnJvdW5kKCgxLWJnLmEpKjEwMCl9Ont0eXBlOidub25lJ307aWYobj09NCl7dmFyIGM0PWNvbChjcy5ib3JkZXJUb3BDb2xvcik7by5saW5lPXtjb2xvcjpjNC5oZXgsdHJhbnNwYXJlbmN5Ok1hdGgucm91bmQoKDEtYzQuYSkqMTAwKSx3aWR0aDpwYXJzZUZsb2F0KGNzLmJvcmRlclRvcFdpZHRoKSpQVH19ZWxzZSBvLmxpbmU9e3R5cGU6J25vbmUnfTtpZihyKW8ucm90YXRlPXI7bGF0ZXIucHVzaChbJ3MnLG9dKX0gaWYobj4wJiZuPDQpe2lmKHIpe2RlY29yPXRydWU7ZHguc2F2ZSgpO2R4LnRyYW5zbGF0ZShiLngrYi53LzIsYi55K2IuaC8yKTtkeC5yb3RhdGUocipNYXRoLlBJLzE4MCk7dmFyIGh3PWIudy8yLGhoPWIuaC8yO2R4LmxpbmVXaWR0aD0xO1tbVCxjcy5ib3JkZXJSaWdodENvbG9yLGh3LC1oaCxodyxoaF0sW0IsY3MuYm9yZGVyQm90dG9tQ29sb3IsLWh3LGhoLGh3LGhoXSxbTGYsY3MuYm9yZGVyTGVmdENvbG9yLC1odywtaGgsLWh3LGhoXV0uZm9yRWFjaChmdW5jdGlvbihxKXtpZihxWzBdKXtkeC5zdHJva2VTdHlsZT1xWzFdO2R4LmJlZ2luUGF0aCgpO2R4Lm1vdmVUbyhxWzJdLHFbM10pO2R4LmxpbmVUbyhxWzRdLHFbNV0pO2R4LnN0cm9rZSgpfX0pO2R4LnJlc3RvcmUoKX1lbHNle1tbVCxjcy5ib3JkZXJUb3BDb2xvcixjcy5ib3JkZXJUb3BXaWR0aCxiLngsYi55LGIudywwXSxbQixjcy5ib3JkZXJCb3R0b21Db2xvcixjcy5ib3JkZXJCb3R0b21XaWR0aCxiLngsYi55K2IuaCxiLncsMF0sW0xmLGNzLmJvcmRlckxlZnRDb2xvcixjcy5ib3JkZXJMZWZ0V2lkdGgsYi54LGIueSwwLGIuaF0sW1JyLGNzLmJvcmRlclJpZ2h0Q29sb3IsY3MuYm9yZGVyUmlnaHRXaWR0aCxiLngrYi53LGIueSwwLGIuaF1dLmZvckVhY2goZnVuY3Rpb24ocSl7aWYoIXFbMF0pcmV0dXJuO3ZhciBjYz1jb2wocVsxXSk7bGF0ZXIucHVzaChbJ3MnLHt4OnFbM10qSU4seTpxWzRdKklOLHc6cVs1XSpJTixoOnFbNl0qSU4sbGluZTp7Y29sb3I6Y2MuaGV4LHRyYW5zcGFyZW5jeTpNYXRoLnJvdW5kKCgxLWNjLmEpKjEwMCksd2lkdGg6cGFyc2VGbG9hdChxWzJdKSpQVH0sX2xpbmU6MX1dKX0pfX19IGZvcih2YXIgZWk9MDtlaTxlbHMubGVuZ3RoO2VpKyspe3ZhciBlPWVsc1tlaV0sY3M9Z2V0Q29tcHV0ZWRTdHlsZShlKTtpZihjcy5kaXNwbGF5PT0nbm9uZSd8fGNzLnZpc2liaWxpdHk9PSdoaWRkZW4nJiYhcy5jb250YWlucyhlKSljb250aW51ZTt2YXIgcT1lLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO2lmKCFxLndpZHRoJiYhcS5oZWlnaHQpY29udGludWU7dmFyIGI9Ym94KHEpLHRhZz1lLnRhZ05hbWUudG9Mb3dlckNhc2UoKTsgaWYodGFnPT0nc3ZnJyl7dmFyIGlzUVI9ISFlLmNsb3Nlc3QoJy5xcicpO2lmKGlzUVIpe3ZhciBzaTI9YXdhaXQgc3ZnSW1nKGUsYi53KjQsYi5oKjQpO2lmKHNpMil7dmFyIGMyPWN2KGIudyo0LGIuaCo0KTtjMi5nZXRDb250ZXh0KCcyZCcpLmRyYXdJbWFnZShzaTIsMCwwLGMyLndpZHRoLGMyLmhlaWdodCk7bGF0ZXIucHVzaChbJ2knLE9iamVjdC5hc3NpZ24oe2RhdGE6YzIudG9EYXRhVVJMKCdpbWFnZS9wbmcnKX0scG9zKGIpKV0pfX1lbHNle3ZhciBzaTM9YXdhaXQgc3ZnSW1nKGUsYi53LGIuaCk7aWYoc2kzKXtkeC5kcmF3SW1hZ2Uoc2kzLGIueCxiLnksYi53LGIuaCk7ZGVjb3I9dHJ1ZX19Y29udGludWV9IGlmKHRhZz09J2ltZycpe3ZhciBpbTI9YXdhaXQgaW1nKGUuY3VycmVudFNyY3x8ZS5zcmMpO2lmKGltMiYmaW0yLm5hdHVyYWxXaWR0aCl7dmFyIFMzPTIsYzM9Y3YoYi53KlMzLGIuaCpTMykseDM9YzMuZ2V0Q29udGV4dCgnMmQnKTt4My5maWx0ZXI9Y3MuZmlsdGVyPT0nbm9uZSc/J25vbmUnOmNzLmZpbHRlcjt4My5nbG9iYWxBbHBoYT1wYXJzZUZsb2F0KGNzLm9wYWNpdHkpO3ZhciBzYzM9TWF0aC5taW4oYzMud2lkdGgvaW0yLm5hdHVyYWxXaWR0aCxjMy5oZWlnaHQvaW0yLm5hdHVyYWxIZWlnaHQpLHczPWltMi5uYXR1cmFsV2lkdGgqc2MzLGgzPWltMi5uYXR1cmFsSGVpZ2h0KnNjMzt4My5kcmF3SW1hZ2UoaW0yLChjMy53aWR0aC13MykvMiwoYzMuaGVpZ2h0LWgzKS8yLHczLGgzKTtsYXRlci5wdXNoKFsnaScsT2JqZWN0LmFzc2lnbih7ZGF0YTpjMy50b0RhdGFVUkwoJ2ltYWdlL3BuZycpfSxwb3MoYikpXSl9Y29udGludWV9IGlmKGUuY2xhc3NMaXN0LmNvbnRhaW5zKCdzbCcpKWNvbnRpbnVlOyB2YXIgcj1yb3QoY3MudHJhbnNmb3JtKTtpZihyKXt2YXIgb3c9ZS5vZmZzZXRXaWR0aCxvaD1lLm9mZnNldEhlaWdodDtiPXt4OmIueCtiLncvMi1vdy8yLHk6Yi55K2IuaC8yLW9oLzIsdzpvdyxoOm9ofX0gaWYoL2dyYWRpZW50Ly50ZXN0KGNzLmJhY2tncm91bmRJbWFnZSkpe3BhaW50R3JhZChkeCxjcy5iYWNrZ3JvdW5kSW1hZ2UsYi54LGIueSxiLncsYi5oKTtkZWNvcj10cnVlfWRvQm94KGUsYixjcyxyKTsgWyc6OmJlZm9yZScsJzo6YWZ0ZXInXS5mb3JFYWNoKGZ1bmN0aW9uKHBlKXt2YXIgcD1nZXRDb21wdXRlZFN0eWxlKGUscGUpO2lmKCFwLmNvbnRlbnR8fHAuY29udGVudD09J25vbmUnfHxwLnBvc2l0aW9uIT0nYWJzb2x1dGUnKXJldHVybjtpZigvXlsiJ10vLnRlc3QocC5jb250ZW50KSYmcC5jb250ZW50LnJlcGxhY2UoL1siJ1xzXS9nLCcnKS5sZW5ndGgpcmV0dXJuO3ZhciB3PXBhcnNlRmxvYXQocC53aWR0aCksaD1wYXJzZUZsb2F0KHAuaGVpZ2h0KTtpZighKHc+MCYmaD4wKSlyZXR1cm47dmFyIGJsPWUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksZXg9Ym94KGJsKSxsPXBhcnNlRmxvYXQocC5sZWZ0KSx0PXBhcnNlRmxvYXQocC50b3ApLHJyPXBhcnNlRmxvYXQocC5yaWdodCksYmI9cGFyc2VGbG9hdChwLmJvdHRvbSk7dmFyIGViPXBhcnNlRmxvYXQoY3MuYm9yZGVyTGVmdFdpZHRoKXx8MCxldD1wYXJzZUZsb2F0KGNzLmJvcmRlclRvcFdpZHRoKXx8MDt2YXIgcHg9IWlzTmFOKGwpJiZwLmxlZnQhPSdhdXRvJz9leC54K2ViK2w6ZXgueCtleC53LShwYXJzZUZsb2F0KGNzLmJvcmRlclJpZ2h0V2lkdGgpfHwwKS1yci13O3ZhciBweT0haXNOYU4odCkmJnAudG9wIT0nYXV0byc/ZXgueStldCt0OmV4LnkrZXguaC0ocGFyc2VGbG9hdChjcy5ib3JkZXJCb3R0b21XaWR0aCl8fDApLWJiLWg7aWYocC5sZWZ0PT0nYXV0bycmJnAucmlnaHQ9PSdhdXRvJylweD1leC54O2lmKHAudG9wPT0nYXV0bycmJnAuYm90dG9tPT0nYXV0bycpcHk9ZXgueTtkb0JveChudWxsLHt4OnB4LHk6cHksdzp3LGg6aH0scCxyb3QocC50cmFuc2Zvcm0pKX0pfSBpZihkZWNvcilwcy5hZGRJbWFnZSh7ZGF0YTpkYy50b0RhdGFVUkwoJ2ltYWdlL3BuZycpLHg6MCx5OjAsdzoxMy4zMzMsaDo3LjV9KTsgbGF0ZXIuZm9yRWFjaChmdW5jdGlvbihMKXtpZihMWzBdPT0naScpcHMuYWRkSW1hZ2UoTFsxXSk7ZWxzZXt2YXIgbz1MWzFdO2lmKG8uX2xpbmUpe2RlbGV0ZSBvLl9saW5lO3BzLmFkZFNoYXBlKHBwdHguU2hhcGVUeXBlLmxpbmUsbyl9ZWxzZSBwcy5hZGRTaGFwZShwcHR4LlNoYXBlVHlwZS5yZWN0LG8pfX0pOyAvKiB0ZXh0ICovIHZhciBibG9ja3M9bmV3IE1hcCgpLG9yZGVyPVtdOyB2YXIgdHc9ZG9jdW1lbnQuY3JlYXRlVHJlZVdhbGtlcihzLE5vZGVGaWx0ZXIuU0hPV19URVhUfE5vZGVGaWx0ZXIuU0hPV19FTEVNRU5ULHthY2NlcHROb2RlOmZ1bmN0aW9uKG4pe2lmKG4ubm9kZVR5cGU9PTEpe3ZhciB0PW4udGFnTmFtZS50b0xvd2VyQ2FzZSgpO2lmKHQ9PSdzY3JpcHQnfHx0PT0nc3R5bGUnfHx0PT0nc3ZnJ3x8bi5jbGFzc0xpc3QuY29udGFpbnMoJ3BoJykpcmV0dXJuIE5vZGVGaWx0ZXIuRklMVEVSX1JFSkVDVDtyZXR1cm4gdD09J2JyJz9Ob2RlRmlsdGVyLkZJTFRFUl9BQ0NFUFQ6Tm9kZUZpbHRlci5GSUxURVJfU0tJUH1yZXR1cm4gL1xTLy50ZXN0KG4ubm9kZVZhbHVlKT9Ob2RlRmlsdGVyLkZJTFRFUl9BQ0NFUFQ6Tm9kZUZpbHRlci5GSUxURVJfU0tJUH19KTsgdmFyIG47d2hpbGUobj10dy5uZXh0Tm9kZSgpKXt2YXIgcGU9bi5ub2RlVHlwZT09MT9uLnBhcmVudEVsZW1lbnQ6bi5wYXJlbnRFbGVtZW50LGJsaz1wZTt3aGlsZShibGshPT1zJiZnZXRDb21wdXRlZFN0eWxlKGJsaykuZGlzcGxheT09J2lubGluZScpYmxrPWJsay5wYXJlbnRFbGVtZW50O2lmKCFibG9ja3MuaGFzKGJsaykpe2Jsb2Nrcy5zZXQoYmxrLFtdKTtvcmRlci5wdXNoKGJsayl9YmxvY2tzLmdldChibGspLnB1c2gobil9IG9yZGVyLmZvckVhY2goZnVuY3Rpb24oYmxrKXt2YXIgY3M9Z2V0Q29tcHV0ZWRTdHlsZShibGspLHE9YmxrLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLGI9Ym94KHEpO3ZhciBwbD1wYXJzZUZsb2F0KGNzLnBhZGRpbmdMZWZ0KStwYXJzZUZsb2F0KGNzLmJvcmRlckxlZnRXaWR0aCkscHI9cGFyc2VGbG9hdChjcy5wYWRkaW5nUmlnaHQpK3BhcnNlRmxvYXQoY3MuYm9yZGVyUmlnaHRXaWR0aCkscHQ9cGFyc2VGbG9hdChjcy5wYWRkaW5nVG9wKStwYXJzZUZsb2F0KGNzLmJvcmRlclRvcFdpZHRoKSxwYj1wYXJzZUZsb2F0KGNzLnBhZGRpbmdCb3R0b20pK3BhcnNlRmxvYXQoY3MuYm9yZGVyQm90dG9tV2lkdGgpO3ZhciByPXJvdChjcy50cmFuc2Zvcm0pO2lmKHIpe2I9e3g6Yi54K2Iudy8yLWJsay5vZmZzZXRXaWR0aC8yLHk6Yi55K2IuaC8yLWJsay5vZmZzZXRIZWlnaHQvMix3OmJsay5vZmZzZXRXaWR0aCxoOmJsay5vZmZzZXRIZWlnaHR9fXZhciBiYj17eDpiLngrcGwseTpiLnkrcHQsdzpiLnctcGwtcHIsaDpiLmgtcHQtcGJ9OyB2YXIgcnVucz1bXSxub2Rlcz1ibG9ja3MuZ2V0KGJsayk7bm9kZXMuZm9yRWFjaChmdW5jdGlvbihuZCxpeCl7aWYobmQubm9kZVR5cGU9PTEpe2lmKHJ1bnMubGVuZ3RoKXJ1bnNbcnVucy5sZW5ndGgtMV0ub3B0aW9ucy5icmVha0xpbmU9dHJ1ZTtyZXR1cm59dmFyIGVsPW5kLnBhcmVudEVsZW1lbnQsYz1nZXRDb21wdXRlZFN0eWxlKGVsKSx0PW5kLm5vZGVWYWx1ZS5yZXBsYWNlKC9ccysvZywnICcpO2lmKGl4PT0wfHxydW5zLmxlbmd0aD09MHx8cnVuc1tydW5zLmxlbmd0aC0xXS5vcHRpb25zLmJyZWFrTGluZSl0PXQucmVwbGFjZSgvXlxzKy8sJycpO2lmKGl4PT1ub2Rlcy5sZW5ndGgtMSl0PXQucmVwbGFjZSgvXHMrJC8sJycpO2lmKGMudGV4dFRyYW5zZm9ybT09J3VwcGVyY2FzZScpdD10LnRvVXBwZXJDYXNlKCk7dmFyIGNjPWNvbChjLmNvbG9yKXx8e2hleDonMDAwMDAwJyxhOjF9O3ZhciBvPXtmb250RmFjZTpmYWNlKGMuZm9udEZhbWlseSksZm9udFNpemU6TWF0aC5yb3VuZChwYXJzZUZsb2F0KGMuZm9udFNpemUpKlBUKjEwKS8xMCxjb2xvcjpjYy5oZXgsYm9sZDpwYXJzZUludChjLmZvbnRXZWlnaHQpPj02MDB9O2lmKGNjLmE8MSlvLnRyYW5zcGFyZW5jeT1NYXRoLnJvdW5kKCgxLWNjLmEpKjEwMCk7dmFyIGxzPXBhcnNlRmxvYXQoYy5sZXR0ZXJTcGFjaW5nKTtpZihscylvLmNoYXJTcGFjaW5nPU1hdGgucm91bmQobHMqUFQqMTApLzEwO3J1bnMucHVzaCh7dGV4dDp0LG9wdGlvbnM6b30pfSk7IGlmKCFydW5zLmxlbmd0aClyZXR1cm47dmFyIGxoPXBhcnNlRmxvYXQoY3MubGluZUhlaWdodCk7aWYoaXNOYU4obGgpKWxoPXBhcnNlRmxvYXQoY3MuZm9udFNpemUpKjEuMjt2YXIgYWw9Y3MudGV4dEFsaWduPT0nY2VudGVyJz8nY2VudGVyJzooY3MudGV4dEFsaWduPT0ncmlnaHQnfHxjcy50ZXh0QWxpZ249PSdlbmQnKT8ncmlnaHQnOidsZWZ0JzsgdmFyIG9uZT1iYi5oPGxoKjEuNix3dz1vbmU/TWF0aC5taW4oTWF0aC5tYXgoYmIudyoxLjM1LGJiLncrNjApLDE5MjAtYmIueC0oYWw9PSdsZWZ0Jz8yMDowKSk6YmIudyoxLjAyKzgseHg9YmIueDtpZihvbmUmJmFsPT0nY2VudGVyJyl4eD1iYi54LSh3dy1iYi53KS8yO2lmKG9uZSYmYWw9PSdyaWdodCcpeHg9YmIueC0od3ctYmIudyk7dmFyIG89T2JqZWN0LmFzc2lnbihwb3Moe3g6eHgseTpiYi55LHc6d3csaDpiYi5ofSkse21hcmdpbjowLHZhbGlnbjondG9wJyxhbGlnbjphbCxsaW5lU3BhY2luZzpNYXRoLnJvdW5kKGxoKlBUKjEwKS8xMCxmaXQ6J25vbmUnLHdyYXA6dHJ1ZSxwYXJhU3BhY2VCZWZvcmU6MCxwYXJhU3BhY2VBZnRlcjowfSk7aWYocilvLnJvdGF0ZT1yO3BzLmFkZFRleHQocnVucyxvKX0pOyB9IHZhciBuYW1lPW9wdC5uYW1lfHwnU2FjcmVkLVN1bmRheXMtQnJlYXRod29yay5wcHR4JzsgaWYob3B0LnJldHVybkJhc2U2NClyZXR1cm4gYXdhaXQgcHB0eC53cml0ZSh7b3V0cHV0VHlwZTonYmFzZTY0J30pOyBhd2FpdCBwcHR4LndyaXRlRmlsZSh7ZmlsZU5hbWU6bmFtZX0pO3JldHVybiBuYW1lfTsg