// @import url('https://fonts.googleapis.com/css2?family=Pridi:wght@300;500&display=swap');
/* ! tailwindcss v2.2.7 | MIT License | https://tailwindcss.com*/
/*! modern-normalize v1.1.0 | MIT License | https://github.com/sindresorhus/modern-normalize */
/*
Document
========
*/
/**
Use a better box model (opinionated).
*/
*,
::before,
::after {
	box-sizing: border-box;
}
/**
Use a more readable tab size (opinionated).
*/
html {
	-moz-tab-size: 4;
	tab-size: 4;
}
/**
1. Correct the line height in all browsers.
2. Prevent adjustments of font size after orientation changes in iOS.
*/
html {
	line-height: 1.15; /* 1 */
	-webkit-text-size-adjust: 100%; /* 2 */
}
/*
Sections
========
*/
/**
Remove the margin in all browsers.
*/
body {
	margin: 0;
}
/**
Improve consistency of default fonts in all browsers. (https://github.com/sindresorhus/modern-normalize/issues/3)
*/
body {
	font-family:
		system-ui,
		-apple-system, /* Firefox supports this but not yet `system-ui` */
		'Segoe UI',
		Roboto,
		Helvetica,
		Arial,
		sans-serif,
		'Apple Color Emoji',
		'Segoe UI Emoji';
}
/*
Grouping content
================
*/
/**
1. Add the correct height in Firefox.
2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)
*/
hr {
	height: 0; /* 1 */
	color: inherit; /* 2 */
}
/*
Text-level semantics
====================
*/
/**
Add the correct text decoration in Chrome, Edge, and Safari.
*/
abbr[title] {
	text-decoration: underline dotted;
}
/**
Add the correct font weight in Edge and Safari.
*/
b,
strong {
	font-weight: bolder;
}
/**
1. Improve consistency of default fonts in all browsers. (https://github.com/sindresorhus/modern-normalize/issues/3)
2. Correct the odd 'em' font sizing in all browsers.
*/
code,
kbd,
samp,
pre {
	font-family:
		ui-monospace,
		SFMono-Regular,
		Consolas,
		'Liberation Mono',
		Menlo,
		monospace; /* 1 */
	font-size: 1em; /* 2 */
}
/**
Add the correct font size in all browsers.
*/
small {
	font-size: 80%;
}
/**
Prevent 'sub' and 'sup' elements from affecting the line height in all browsers.
*/
sub,
sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}
sub {
	bottom: -0.25em;
}
sup {
	top: -0.5em;
}
/*
Tabular data
============
*/
/**
1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)
2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)
*/
table {
	text-indent: 0; /* 1 */
	border-color: inherit; /* 2 */
}
/*
Forms
=====
*/
/**
1. Change the font styles in all browsers.
2. Remove the margin in Firefox and Safari.
*/
button,
input,
optgroup,
select,
textarea {
	font-family: inherit; /* 1 */
	font-size: 100%; /* 1 */
	line-height: 1.15; /* 1 */
	margin: 0; /* 2 */
}
/**
Remove the inheritance of text transform in Edge and Firefox.
1. Remove the inheritance of text transform in Firefox.
*/
button,
select { /* 1 */
	text-transform: none;
}
/**
Correct the inability to style clickable types in iOS and Safari.
*/
button,
[type='button'],
[type='reset'],
[type='submit'] {
	-webkit-appearance: button;
}
/**
Remove the inner border and padding in Firefox.
*/
::-moz-focus-inner {
	border-style: none;
	padding: 0;
}
/**
Restore the focus styles unset by the previous rule.
*/
:-moz-focusring {
	outline: 1px dotted ButtonText;
}
/**
Remove the additional ':invalid' styles in Firefox.
See: https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737
*/
:-moz-ui-invalid {
	box-shadow: none;
}
/**
Remove the padding so developers are not caught out when they zero out 'fieldset' elements in all browsers.
*/
legend {
	padding: 0;
}
/**
Add the correct vertical alignment in Chrome and Firefox.
*/
progress {
	vertical-align: baseline;
}
/**
Correct the cursor style of increment and decrement buttons in Safari.
*/
::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
	height: auto;
}
/**
1. Correct the odd appearance in Chrome and Safari.
2. Correct the outline style in Safari.
*/
[type='search'] {
	-webkit-appearance: textfield; /* 1 */
	outline-offset: -2px; /* 2 */
}
/**
Remove the inner padding in Chrome and Safari on macOS.
*/
::-webkit-search-decoration {
	-webkit-appearance: none;
}
/**
1. Correct the inability to style clickable types in iOS and Safari.
2. Change font properties to 'inherit' in Safari.
*/
::-webkit-file-upload-button {
	-webkit-appearance: button; /* 1 */
	font: inherit; /* 2 */
}
/*
Interactive
===========
*/
/*
Add the correct display in Chrome and Safari.
*/
summary {
	display: list-item;
}
/**
 * Manually forked from SUIT CSS Base: https://github.com/suitcss/base
 * A thin layer on top of normalize.css that provides a starting point more
 * suitable for web applications.
 */
/**
 * Removes the default spacing and border for appropriate elements.
 */
blockquote,
dl,
dd,
h1,
h2,
h3,
h4,
h5,
h6,
hr,
figure,
p,
pre {
  margin: 0;
}
button {
  background-color: transparent;
  background-image: none;
}
fieldset {
  margin: 0;
  padding: 0;
}
ol,
ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
/**
 * Tailwind custom reset styles
 */
/**
 * 1. Use the user's configured `sans` font-family (with Tailwind's default
 *    sans-serif font stack as a fallback) as a sane default.
 * 2. Use Tailwind's default "normal" line-height so the user isn't forced
 *    to override it to ensure consistency even when using the default theme.
 */
html {
  font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; /* 1 */
  line-height: 1.5; /* 2 */
}
/**
 * Inherit font-family and line-height from `html` so users can set them as
 * a class directly on the `html` element.
 */
body {
  font-family: inherit;
  line-height: inherit;
}
/**
 * 1. Prevent padding and border from affecting element width.
 *
 *    We used to set this in the html element and inherit from
 *    the parent element for everything else. This caused issues
 *    in shadow-dom-enhanced elements like <details> where the content
 *    is wrapped by a div with box-sizing set to `content-box`.
 *
 *    https://github.com/mozdevs/cssremedy/issues/4
 *
 *
 * 2. Allow adding a border to an element by just adding a border-width.
 *
 *    By default, the way the browser specifies that an element should have no
 *    border is by setting it's border-style to `none` in the user-agent
 *    stylesheet.
 *
 *    In order to easily add borders to elements by just setting the `border-width`
 *    property, we change the default border-style for all elements to `solid`, and
 *    use border-width to hide them instead. This way our `border` utilities only
 *    need to set the `border-width` property instead of the entire `border`
 *    shorthand, making our border utilities much more straightforward to compose.
 *
 *    https://github.com/tailwindcss/tailwindcss/pull/116
 */
*,
::before,
::after {
  box-sizing: border-box; /* 1 */
  border-width: 0; /* 2 */
  border-style: solid; /* 2 */
  border-color: currentColor; /* 2 */
}
/*
 * Ensure horizontal rules are visible by default
 */
hr {
  border-top-width: 1px;
}
/**
 * Undo the `border-style: none` reset that Normalize applies to images so that
 * our `border-{width}` utilities have the expected effect.
 *
 * The Normalize reset is unnecessary for us since we default the border-width
 * to 0 on all elements.
 *
 * https://github.com/tailwindcss/tailwindcss/issues/362
 */
img {
  border-style: solid;
}
textarea {
  resize: vertical;
}
input::placeholder,
textarea::placeholder {
  opacity: 1;
  color: #9ca3af;
}
button,
[role="button"] {
  cursor: pointer;
}
table {
  border-collapse: collapse;
}
h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  font-weight: inherit;
}
/**
 * Reset links to optimize for opt-in styling instead of
 * opt-out.
 */
a {
  color: inherit;
  text-decoration: inherit;
}
/**
 * Reset form element properties that are easy to forget to
 * style explicitly so you don't inadvertently introduce
 * styles that deviate from your design system. These styles
 * supplement a partial reset that is already applied by
 * normalize.css.
 */
button,
input,
optgroup,
select,
textarea {
  padding: 0;
  line-height: inherit;
  color: inherit;
}
/**
 * Use the configured 'mono' font family for elements that
 * are expected to be rendered with a monospace font, falling
 * back to the system monospace stack if there is no configured
 * 'mono' font family.
 */
pre,
code,
kbd,
samp {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
}
/**
 * 1. Make replaced elements `display: block` by default as that's
 *    the behavior you want almost all of the time. Inspired by
 *    CSS Remedy, with `svg` added as well.
 *
 *    https://github.com/mozdevs/cssremedy/issues/14
 * 
 * 2. Add `vertical-align: middle` to align replaced elements more
 *    sensibly by default when overriding `display` by adding a
 *    utility like `inline`.
 *
 *    This can trigger a poorly considered linting error in some
 *    tools but is included by design.
 * 
 *    https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210
 */
img,
svg,
video,
canvas,
audio,
iframe,
embed,
object {
  display: block; /* 1 */
  vertical-align: middle; /* 2 */
}
/**
 * Constrain images and videos to the parent width and preserve
 * their intrinsic aspect ratio.
 *
 * https://github.com/mozdevs/cssremedy/issues/14
 */
img,
video {
  max-width: 100%;
  height: auto;
}
/**
 * Ensure the default browser behavior of the `hidden` attribute.
 */
[hidden] {
  display: none;
}
*, ::before, ::after {
	--tw-border-opacity: 1;
	border-color: rgba(229, 231, 235, var(--tw-border-opacity));
	--tw-ring-offset-shadow: 0 0 #0000;
	--tw-ring-shadow: 0 0 #0000;
	--tw-shadow: 0 0 #0000;
	--tw-ring-inset: var(--tw-empty,/*!*/ /*!*/);
	--tw-ring-offset-width: 0px;
	--tw-ring-offset-color: #fff;
	--tw-ring-color: rgba(59, 130, 246, 0.5);
	--tw-ring-offset-shadow: 0 0 #0000;
	--tw-ring-shadow: 0 0 #0000;
	--tw-shadow: 0 0 #0000;
}
h1 {
	font-size: 1.5rem;
	line-height: 2rem;
}
h2 {
	font-size: 1.25rem;
	line-height: 1.75rem;
}
html, 
  body {
    font-family: 'Prompt', -apple-system, BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue", sans-serif;
    color: #f4f4f4;
    background-color: #2b102b;
    overflow: hidden;
    font-weight: 300;
    letter-spacing: 0.05rem;
    font-size: 1rem;
    line-height: 1.5rem}
button {
	user-select: none;
}
html,
  body {
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  }
input, 
  button {
    letter-spacing: 0.05rem;
  }
.button {
	border-radius: 0.375rem;
	padding-left: 1.25rem;
	padding-right: 1.25rem;
	padding-top: 0.5rem;
	padding-bottom: 0.5rem;
	--tw-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);
	box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
	--tw-ring-color: currentColor;
}
.button:focus {
	outline: 2px solid transparent;
	outline-offset: 2px;
	--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
	--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);
	box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.button {
	font-weight: 300;
	--tw-bg-opacity: 1;
	background-color: rgba(255, 255, 255, var(--tw-bg-opacity));
	--tw-text-opacity: 1;
	color: rgba(7, 131, 255, var(--tw-text-opacity));
}
.button.is-primary {
	--tw-bg-opacity: 1;
	background-color: rgba(7, 131, 255, var(--tw-bg-opacity));
}
.button.is-primary {
	--tw-text-opacity: 1;
	color: rgba(255, 255, 255, var(--tw-text-opacity));
}
.button.is-primary {
	--tw-ring-opacity: 1;
	--tw-ring-color: rgba(255, 255, 255, var(--tw-ring-opacity));
}
.button.is-loading {
      color: transparent!important;
      pointer-events: none;
      position: relative !important
    }
.button.is-loading::after {
        left: calc(50% - (1em / 2));
        top: calc(50% - (1em / 2));
        position: absolute!important;
        animation: spinAround .5s infinite linear;
        border: 2px solid #dbdbdb;
        border-radius: 9999px;
        border-right-color: transparent;
        border-top-color: transparent;
        content: "";
        display: block;
        height: 1em;
        width: 1em;
      }
.input {
	border-radius: 0.375rem;
	padding-left: 1.25rem;
	padding-right: 1.25rem;
	padding-top: 0.5rem;
	padding-bottom: 0.5rem;
	--tw-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);
	box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
	--tw-ring-color: currentColor;
}
.input:focus {
	outline: 2px solid transparent;
	outline-offset: 2px;
	--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
	--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);
	box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.input {
	font-weight: 300;
	--tw-bg-opacity: 1;
	background-color: rgba(255, 255, 255, var(--tw-bg-opacity));
	--tw-text-opacity: 1;
	color: rgba(7, 131, 255, var(--tw-text-opacity));
}
.input.is-primary {
	--tw-bg-opacity: 1;
	background-color: rgba(7, 131, 255, var(--tw-bg-opacity));
}
.input.is-primary {
	--tw-text-opacity: 1;
	color: rgba(255, 255, 255, var(--tw-text-opacity));
}
.input.is-primary {
	--tw-ring-opacity: 1;
	--tw-ring-color: rgba(255, 255, 255, var(--tw-ring-opacity));
}
.readability {
    // https://ux.stackexchange.com/questions/108801/what-is-the-best-number-of-paragraph-width-for-readability
    // min-width: 30em;
    max-width: 50rem;
  }
.pointer-events-none {
	pointer-events: none;
}
.pointer-events-auto {
	pointer-events: auto;
}
.fixed {
	position: fixed;
}
.absolute {
	position: absolute;
}
.relative {
	position: relative;
}
.inset-0 {
	top: 0px;
	right: 0px;
	bottom: 0px;
	left: 0px;
}
.top-0 {
	top: 0px;
}
.left-0 {
	left: 0px;
}
.z-20 {
	z-index: 20;
}
.z-10 {
	z-index: 10;
}
.z-30 {
	z-index: 30;
}
.m-auto {
	margin: auto;
}
.my-4 {
	margin-top: 1rem;
	margin-bottom: 1rem;
}
.my-8 {
	margin-top: 2rem;
	margin-bottom: 2rem;
}
.mx-auto {
	margin-left: auto;
	margin-right: auto;
}
.mb-4 {
	margin-bottom: 1rem;
}
.mt-2 {
	margin-top: 0.5rem;
}
.mb-3 {
	margin-bottom: 0.75rem;
}
.mt-3 {
	margin-top: 0.75rem;
}
.mb-2 {
	margin-bottom: 0.5rem;
}
.mt-1 {
	margin-top: 0.25rem;
}
.mt-4 {
	margin-top: 1rem;
}
.-mt-2 {
	margin-top: -0.5rem;
}
.-mb-2 {
	margin-bottom: -0.5rem;
}
.mt-6 {
	margin-top: 1.5rem;
}
.mt-5 {
	margin-top: 1.25rem;
}
.block {
	display: block;
}
.inline-block {
	display: inline-block;
}
.inline {
	display: inline;
}
.flex {
	display: flex;
}
.table {
	display: table;
}
.hidden {
	display: none;
}
.h-screen {
	height: 100vh;
}
.h-24 {
	height: 6rem;
}
.h-12 {
	height: 3rem;
}
.h-full {
	height: 100%;
}
.h-14 {
	height: 3.5rem;
}
.h-5 {
	height: 1.25rem;
}
.h-6 {
	height: 1.5rem;
}
.w-full {
	width: 100%;
}
.w-screen {
	width: 100vw;
}
.w-auto {
	width: auto;
}
.w-14 {
	width: 3.5rem;
}
.w-min {
	width: min-content;
}
.w-5 {
	width: 1.25rem;
}
.w-6 {
	width: 1.5rem;
}
.flex-1 {
	flex: 1 1 0%;
}
.cursor-pointer {
	cursor: pointer;
}
.cursor-default {
	cursor: default;
}
.select-none {
	user-select: none;
}
.flex-col {
	flex-direction: column;
}
.items-center {
	align-items: center;
}
.justify-start {
	justify-content: flex-start;
}
.justify-end {
	justify-content: flex-end;
}
.justify-center {
	justify-content: center;
}
.space-x-2 > :not([hidden]) ~ :not([hidden]) {
	--tw-space-x-reverse: 0;
	margin-right: calc(0.5rem * var(--tw-space-x-reverse));
	margin-left: calc(0.5rem * calc(1 - var(--tw-space-x-reverse)));
}
.space-x-4 > :not([hidden]) ~ :not([hidden]) {
	--tw-space-x-reverse: 0;
	margin-right: calc(1rem * var(--tw-space-x-reverse));
	margin-left: calc(1rem * calc(1 - var(--tw-space-x-reverse)));
}
.space-y-3 > :not([hidden]) ~ :not([hidden]) {
	--tw-space-y-reverse: 0;
	margin-top: calc(0.75rem * calc(1 - var(--tw-space-y-reverse)));
	margin-bottom: calc(0.75rem * var(--tw-space-y-reverse));
}
.overflow-hidden {
	overflow: hidden;
}
.overflow-visible {
	overflow: visible;
}
.overflow-x-scroll {
	overflow-x: scroll;
}
.rounded {
	border-radius: 0.25rem;
}
.rounded-full {
	border-radius: 9999px;
}
.rounded-xl {
	border-radius: 0.75rem;
}
.rounded-3xl {
	border-radius: 1.5rem;
}
.border {
	border-width: 1px;
}
.border-primary {
	--tw-border-opacity: 1;
	border-color: rgba(7, 131, 255, var(--tw-border-opacity));
}
.bg-dynamic-inverse {
	background-color: var(--color-dynamic-inverse);
}
.bg-red-400 {
	--tw-bg-opacity: 1;
	background-color: rgba(248, 113, 113, var(--tw-bg-opacity));
}
.bg-white {
	--tw-bg-opacity: 1;
	background-color: rgba(255, 255, 255, var(--tw-bg-opacity));
}
.bg-gray-200 {
	--tw-bg-opacity: 1;
	background-color: rgba(229, 231, 235, var(--tw-bg-opacity));
}
.bg-black {
	--tw-bg-opacity: 1;
	background-color: rgba(0, 0, 0, var(--tw-bg-opacity));
}
.bg-opacity-80 {
	--tw-bg-opacity: 0.8;
}
.bg-opacity-30 {
	--tw-bg-opacity: 0.3;
}
.bg-opacity-75 {
	--tw-bg-opacity: 0.75;
}
.bg-cover {
	background-size: cover;
}
.bg-contain {
	background-size: contain;
}
.bg-center {
	background-position: center;
}
.bg-no-repeat {
	background-repeat: no-repeat;
}
.p-6 {
	padding: 1.5rem;
}
.p-4 {
	padding: 1rem;
}
.p-3 {
	padding: 0.75rem;
}
.p-12 {
	padding: 3rem;
}
.p-8 {
	padding: 2rem;
}
.px-4 {
	padding-left: 1rem;
	padding-right: 1rem;
}
.py-2 {
	padding-top: 0.5rem;
	padding-bottom: 0.5rem;
}
.py-4 {
	padding-top: 1rem;
	padding-bottom: 1rem;
}
.px-6 {
	padding-left: 1.5rem;
	padding-right: 1.5rem;
}
.py-6 {
	padding-top: 1.5rem;
	padding-bottom: 1.5rem;
}
.px-14 {
	padding-left: 3.5rem;
	padding-right: 3.5rem;
}
.pb-48 {
	padding-bottom: 12rem;
}
.pl-2 {
	padding-left: 0.5rem;
}
.pb-4 {
	padding-bottom: 1rem;
}
.pr-2 {
	padding-right: 0.5rem;
}
.text-left {
	text-align: left;
}
.text-center {
	text-align: center;
}
.text-xs {
	font-size: 0.75rem;
	line-height: 1rem;
}
.text-lg {
	font-size: 1.125rem;
	line-height: 1.75rem;
}
.text-xl {
	font-size: 1.25rem;
	line-height: 1.75rem;
}
.text-sm {
	font-size: 0.875rem;
	line-height: 1.25rem;
}
.font-bold {
	font-weight: 500;
}
.text-dynamic {
	color: var(--color-dynamic);
}
.text-white {
	--tw-text-opacity: 1;
	color: rgba(255, 255, 255, var(--tw-text-opacity));
}
.text-black {
	--tw-text-opacity: 1;
	color: rgba(0, 0, 0, var(--tw-text-opacity));
}
.text-red-600 {
	--tw-text-opacity: 1;
	color: rgba(220, 38, 38, var(--tw-text-opacity));
}
.text-red-500 {
	--tw-text-opacity: 1;
	color: rgba(239, 68, 68, var(--tw-text-opacity));
}
.text-primary {
	--tw-text-opacity: 1;
	color: rgba(7, 131, 255, var(--tw-text-opacity));
}
.underline {
	text-decoration: underline;
}
.opacity-50 {
	opacity: 0.5;
}
.shadow-none {
	--tw-shadow: 0 0 #0000;
	box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.shadow {
	--tw-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);
	box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.transition-all {
	transition-property: all;
	transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
	transition-duration: 150ms;
}

:root {
  --color-dynamic: #222222; // dynamic
  --color-dynamic-inverse: #ffffffdd; // dynamic
  --color-primary: #0783ff;
  --color-primary-inverse: #dee5eb;
}

@keyframes spinAround {
  from {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  to {
    -webkit-transform: rotate(359deg);
            transform: rotate(359deg);
  }
}

@media (min-width: 768px) {
	.md\:-mt-4 {
		margin-top: -1rem;
	}
	.md\:h-8 {
		height: 2rem;
	}
	.md\:w-8 {
		width: 2rem;
	}
	.md\:overflow-x-hidden {
		overflow-x: hidden;
	}
	.md\:text-xl {
		font-size: 1.25rem;
		line-height: 1.75rem;
	}
	.md\:text-sm {
		font-size: 0.875rem;
		line-height: 1.25rem;
	}
}
/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9zdHlsZS5zY3NzIiwiJTNDaW5wdXQlMjBjc3MlMjA2THZLYzElM0UiLCIlM0NpbnB1dCUyMGNzcyUyMDlPcGMzYiUzRSIsIjxubyBzb3VyY2U+Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDBGQUEwRjtBQUMxRixnRUFBYztBQUFkLDhGQUFjO0FBQWQ7OztDQUFjO0FBQWQ7O0NBQWM7QUFBZDs7O0NDYUMsc0JBQXNCO0FEYlQ7QUFBZDs7Q0FBYztBQUFkO0NDcUJDLGdCQUFnQjtDQUNoQixXQUFXO0FEdEJFO0FBQWQ7OztDQUFjO0FBQWQ7Q0MrQkMsaUJBQWlCLEVBQUUsTUFBTTtDQUN6Qiw4QkFBOEIsRUFBRSxNQUFNO0FEaEN6QjtBQUFkOzs7Q0FBYztBQUFkOztDQUFjO0FBQWQ7Q0M2Q0MsU0FBUztBRDdDSTtBQUFkOztDQUFjO0FBQWQ7Q0NxREM7Ozs7Ozs7OztrQkFTaUI7QUQ5REo7QUFBZDs7O0NBQWM7QUFBZDs7O0NBQWM7QUFBZDtDQzRFQyxTQUFTLEVBQUUsTUFBTTtDQUNqQixjQUFjLEVBQUUsTUFBTTtBRDdFVDtBQUFkOzs7Q0FBYztBQUFkOztDQUFjO0FBQWQ7Q0MwRkMsaUNBQWlDO0FEMUZwQjtBQUFkOztDQUFjO0FBQWQ7O0NDbUdDLG1CQUFtQjtBRG5HTjtBQUFkOzs7Q0FBYztBQUFkOzs7O0NDK0dDOzs7Ozs7V0FNVSxFQUFFLE1BQU07Q0FDbEIsY0FBYyxFQUFFLE1BQU07QUR0SFQ7QUFBZDs7Q0FBYztBQUFkO0NDOEhDLGNBQWM7QUQ5SEQ7QUFBZDs7Q0FBYztBQUFkOztDQ3VJQyxjQUFjO0NBQ2QsY0FBYztDQUNkLGtCQUFrQjtDQUNsQix3QkFBd0I7QUQxSVg7QUFBZDtDQzhJQyxlQUFlO0FEOUlGO0FBQWQ7Q0NrSkMsV0FBVztBRGxKRTtBQUFkOzs7Q0FBYztBQUFkOzs7Q0FBYztBQUFkO0NDZ0tDLGNBQWMsRUFBRSxNQUFNO0NBQ3RCLHFCQUFxQixFQUFFLE1BQU07QURqS2hCO0FBQWQ7OztDQUFjO0FB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QTtDQUFBLHFCQUFBO0NBQUE7Q0FBQTtBQUFBO0NBQUEscUJBQUE7Q0FBQTtDQUFBO0FIRUE7SUFzRkksMEdBQTBHO0lBQzFHLGtCQUFrQjtJQUNsQixnQkFBZ0I7RUF4RkE7QUFDcEI7Q0dIQTtBSEdtQjtBQUFuQjtDR0hBO0FIR21CO0FBQW5CO0NHSEE7QUhHbUI7QUFBbkI7Q0dIQTtBSEdtQjtBQUFuQjtDR0hBO0FIR21CO0FBQW5CO0NHSEEsU0FBQTtDQUFBLFdBQUE7Q0FBQSxZQUFBO0NBQUE7QUhHbUI7QUFBbkI7Q0dIQTtBSEdtQjtBQUFuQjtDR0hBO0FIR21CO0FBQW5CO0NHSEE7QUhHbUI7QUFBbkI7Q0dIQTtBSEdtQjtBQUFuQjtDR0hBO0FIR21CO0FBQW5CO0NHSEE7QUhHbUI7QUFBbkI7Q0dIQSxpQkFBQTtDQUFBO0FIR21CO0FBQW5CO0NHSEEsaUJBQUE7Q0FBQTtBSEdtQjtBQUFuQjtDR0hBLGtCQUFBO0NBQUE7QUhHbUI7QUFBbkI7Q0dIQTtBSEdtQjtBQUFuQjtDR0hBO0FIR21CO0FBQW5CO0NHSEE7QUhHbUI7QUFBbkI7Q0dIQTtBSEdtQjtBQUFuQjtDR0hBO0FIR21CO0FBQW5CO0NHSEE7QUhHbUI7QUFBbkI7Q0dIQTtBSEdtQjtBQUFuQjtDR0hBO0FIR21CO0FBQW5CO0NHSEE7QUhHbUI7QUFBbkI7Q0dIQTtBSEdtQjtBQUFuQjtDR0hBO0FIR21CO0FBQW5CO0NHSEE7QUhHbUI7QUFBbkI7Q0dIQTtBSEdtQjtBQUFuQjtDR0hBO0FIR21CO0FBQW5CO0NHSEE7QUhHbUI7QUFBbkI7Q0dIQTtBSEdtQjtBQUFuQjtDR0hBO0FIR21CO0FBQW5CO0NHSEE7QUhHbUI7QUFBbkI7Q0dIQTtBSEdtQjtBQUFuQjtDR0hBO0FIR21CO0FBQW5CO0NHSEE7QUhHbUI7QUFBbkI7Q0dIQTtBSEdtQjtBQUFuQjtDR0hBO0FIR21CO0FBQW5CO0NHSEE7QUhHbUI7QUFBbkI7Q0dIQTtBSEdtQjtBQUFuQjtDR0hBO0FIR21CO0FBQW5CO0NHSEE7QUhHbUI7QUFBbkI7Q0dIQTtBSEdtQjtBQUFuQjtDR0hBO0FIR21CO0FBQW5CO0NHSEE7QUhHbUI7QUFBbkI7Q0dIQTtBSEdtQjtBQUFuQjtDR0hBO0FIR21CO0FBQW5CO0NHSEE7QUhHbUI7QUFBbkI7Q0dIQTtBSEdtQjtBQUFuQjtDR0hBO0FIR21CO0FBQW5CO0NHSEE7QUhHbUI7QUFBbkI7Q0dIQTtBSEdtQjtBQUFuQjtDR0hBO0FIR21CO0FBQW5CO0NHSEE7QUhHbUI7QUFBbkI7Q0dIQTtBSEdtQjtBQUFuQjtDR0hBLHdCQUFBO0NBQUEsdURBQUE7Q0FBQTtBSEdtQjtBQUFuQjtDR0hBLHdCQUFBO0NBQUEscURBQUE7Q0FBQTtBSEdtQjtBQUFuQjtDR0hBLHdCQUFBO0NBQUEsZ0VBQUE7Q0FBQTtBSEdtQjtBQUFuQjtDR0hBO0FIR21CO0FBQW5CO0NHSEE7QUhHbUI7QUFBbkI7Q0dIQTtBSEdtQjtBQUFuQjtDR0hBO0FIR21CO0FBQW5CO0NHSEE7QUhHbUI7QUFBbkI7Q0dIQTtBSEdtQjtBQUFuQjtDR0hBO0FIR21CO0FBQW5CO0NHSEE7QUhHbUI7QUFBbkI7Q0dIQSx1QkFBQTtDQUFBO0FIR21CO0FBQW5CO0NHSEE7QUhHbUI7QUFBbkI7Q0dIQSxtQkFBQTtDQUFBO0FIR21CO0FBQW5CO0NHSEEsbUJBQUE7Q0FBQTtBSEdtQjtBQUFuQjtDR0hBLG1CQUFBO0NBQUE7QUhHbUI7QUFBbkI7Q0dIQSxtQkFBQTtDQUFBO0FIR21CO0FBQW5CO0NHSEE7QUhHbUI7QUFBbkI7Q0dIQTtBSEdtQjtBQUFuQjtDR0hBO0FIR21CO0FBQW5CO0NHSEE7QUhHbUI7QUFBbkI7Q0dIQTtBSEdtQjtBQUFuQjtDR0hBO0FIR21CO0FBQW5CO0NHSEE7QUhHbUI7QUFBbkI7Q0dIQTtBSEdtQjtBQUFuQjtDR0hBO0FIR21CO0FBQW5CO0NHSEE7QUhHbUI7QUFBbkI7Q0dIQTtBSEdtQjtBQUFuQjtDR0hBO0FIR21CO0FBQW5CO0NHSEEsbUJBQUE7Q0FBQTtBSEdtQjtBQUFuQjtDR0hBLG9CQUFBO0NBQUE7QUhHbUI7QUFBbkI7Q0dIQSxrQkFBQTtDQUFBO0FIR21CO0FBQW5CO0NHSEEscUJBQUE7Q0FBQTtBSEdtQjtBQUFuQjtDR0hBLG9CQUFBO0NBQUE7QUhHbUI7QUFBbkI7Q0dIQSxxQkFBQTtDQUFBO0FIR21CO0FBQW5CO0NHSEE7QUhHbUI7QUFBbkI7Q0dIQTtBSEdtQjtBQUFuQjtDR0hBO0FIR21CO0FBQW5CO0NHSEE7QUhHbUI7QUFBbkI7Q0dIQTtBSEdtQjtBQUFuQjtDR0hBO0FIR21CO0FBQW5CO0NHSEEsbUJBQUE7Q0FBQTtBSEdtQjtBQUFuQjtDR0hBLG9CQUFBO0NBQUE7QUhHbUI7QUFBbkI7Q0dIQSxtQkFBQTtDQUFBO0FIR21CO0FBQW5CO0NHSEEsb0JBQUE7Q0FBQTtBSEdtQjtBQUFuQjtDR0hBO0FIR21CO0FBQW5CO0NHSEE7QUhHbUI7QUFBbkI7Q0dIQSxxQkFBQTtDQUFBO0FIR21CO0FBQW5CO0NHSEEscUJBQUE7Q0FBQTtBSEdtQjtBQUFuQjtDR0hBLHFCQUFBO0NBQUE7QUhHbUI7QUFBbkI7Q0dIQSxxQkFBQTtDQUFBO0FIR21CO0FBQW5CO0NHSEEscUJBQUE7Q0FBQTtBSEdtQjtBQUFuQjtDR0hBO0FIR21CO0FBQW5CO0NHSEE7QUhHbUI7QUFBbkI7Q0dIQSx1QkFBQTtDQUFBO0FIR21CO0FBQW5CO0NHSEEsNkVBQUE7Q0FBQTtBSEdtQjtBQUFuQjtDR0hBLHlCQUFBO0NBQUEseURBQUE7Q0FBQTtBSEdtQjs7QUFFbkI7RUFDRSx3QkFBd0IsRUFBRSxTQUFTO0VBQ25DLGtDQUFrQyxFQUFFLFNBQVM7RUFDN0Msd0JBQXdCO0VBQ3hCLGdDQUFnQztBQUNsQzs7QUErQkE7RUFDRTtJQUNFLCtCQUErQjtZQUN2Qix1QkFBdUI7RUFDakM7RUFDQTtJQUNFLGlDQUFpQztZQUN6Qix5QkFBeUI7RUFDbkM7QUFDRjs7QUFsREE7Q0dBQTtFQUFBO0VBQUE7Q0FBQTtFQUFBO0VBQUE7Q0FBQTtFQUFBO0VBQUE7Q0FBQTtFQUFBO0VBQUE7Q0FBQTtFQUFBLG1CQUFBO0VBQUE7RUFBQTtDQUFBO0VBQUEsb0JBQUE7RUFBQTtFQUFBO0NBQUEiLCJmaWxlIjoic3R5bGUuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQGltcG9ydCB1cmwoJ2h0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzMj9mYW1pbHk9UHJpZGk6d2dodEAzMDA7NTAwJmRpc3BsYXk9c3dhcCcpO1xuQHRhaWx3aW5kIGJhc2U7XG5AdGFpbHdpbmQgY29tcG9uZW50cztcbkB0YWlsd2luZCB1dGlsaXRpZXM7XG5cbjpyb290IHtcbiAgLS1jb2xvci1keW5hbWljOiAjMjIyMjIyOyAvLyBkeW5hbWljXG4gIC0tY29sb3ItZHluYW1pYy1pbnZlcnNlOiAjZmZmZmZmZGQ7IC8vIGR5bmFtaWNcbiAgLS1jb2xvci1wcmltYXJ5OiAjMDc4M2ZmO1xuICAtLWNvbG9yLXByaW1hcnktaW52ZXJzZTogI2RlZTVlYjtcbn1cblxuQGxheWVyIGJhc2Uge1xuICBoMSB7XG4gICAgQGFwcGx5IHRleHQtMnhsO1xuICB9XG4gIGgyIHtcbiAgICBAYXBwbHkgdGV4dC14bDtcbiAgfVxuICBodG1sLCBcbiAgYm9keSB7XG4gICAgZm9udC1mYW1pbHk6ICdQcm9tcHQnLCAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsXCJTZWdvZSBVSVwiLFJvYm90byxPeHlnZW4tU2FucyxVYnVudHUsQ2FudGFyZWxsLFwiSGVsdmV0aWNhIE5ldWVcIiwgc2Fucy1zZXJpZjtcbiAgICBjb2xvcjogI2Y0ZjRmNDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmIxMDJiO1xuICAgIEBhcHBseSBmb250LW5vcm1hbCBvdmVyZmxvdy1oaWRkZW47XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDVyZW07XG4gICAgQGFwcGx5IHRleHQtYmFzZVxuICB9XG4gIGJ1dHRvbiB7XG4gICAgQGFwcGx5IHNlbGVjdC1ub25lO1xuICB9XG4gIGh0bWwsXG4gIGJvZHkge1xuICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTtcbiAgfVxuICBpbnB1dCwgXG4gIGJ1dHRvbiB7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDVyZW07XG4gIH1cbn1cblxuQGtleWZyYW1lcyBzcGluQXJvdW5kIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM1OWRlZyk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNTlkZWcpO1xuICB9XG59XG5AbGF5ZXIgY29tcG9uZW50cyB7XG4gIC5idXR0b24ge1xuICAgIEBhcHBseSBweC01IHB5LTIgcm91bmRlZC1tZCBzaGFkb3cgZm9jdXM6cmluZyBmb2N1czpvdXRsaW5lLW5vbmUgcmluZy1jdXJyZW50O1xuICAgIEBhcHBseSBmb250LW5vcm1hbDtcbiAgICBAYXBwbHkgdGV4dC1wcmltYXJ5IGJnLXdoaXRlO1xuICAgICYuaXMtcHJpbWFyeSB7XG4gICAgICBAYXBwbHkgdGV4dC13aGl0ZSByaW5nLXdoaXRlIGJnLXByaW1hcnk7XG4gICAgfVxuICAgICYuaXMtbG9hZGluZyB7XG4gICAgICBjb2xvcjogdHJhbnNwYXJlbnQhaW1wb3J0YW50O1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgbGVmdDogY2FsYyg1MCUgLSAoMWVtIC8gMikpO1xuICAgICAgICB0b3A6IGNhbGMoNTAlIC0gKDFlbSAvIDIpKTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlIWltcG9ydGFudDtcbiAgICAgICAgYW5pbWF0aW9uOiBzcGluQXJvdW5kIC41cyBpbmZpbml0ZSBsaW5lYXI7XG4gICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICNkYmRiZGI7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDk5OTlweDtcbiAgICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBoZWlnaHQ6IDFlbTtcbiAgICAgICAgd2lkdGg6IDFlbTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLmlucHV0IHtcbiAgICBAYXBwbHkgcHgtNSBweS0yIHJvdW5kZWQtbWQgc2hhZG93IGZvY3VzOnJpbmcgZm9jdXM6b3V0bGluZS1ub25lIHJpbmctY3VycmVudDtcbiAgICBAYXBwbHkgZm9udC1ub3JtYWw7XG4gICAgQGFwcGx5IHRleHQtcHJpbWFyeSBiZy13aGl0ZTtcbiAgICAmLmlzLXByaW1hcnkge1xuICAgICAgQGFwcGx5IHRleHQtd2hpdGUgcmluZy13aGl0ZSBiZy1wcmltYXJ5O1xuICAgIH1cbiAgfVxuICAucmVhZGFiaWxpdHkge1xuICAgIC8vIGh0dHBzOi8vdXguc3RhY2tleGNoYW5nZS5jb20vcXVlc3Rpb25zLzEwODgwMS93aGF0LWlzLXRoZS1iZXN0LW51bWJlci1vZi1wYXJhZ3JhcGgtd2lkdGgtZm9yLXJlYWRhYmlsaXR5XG4gICAgLy8gbWluLXdpZHRoOiAzMGVtO1xuICAgIG1heC13aWR0aDogNTByZW07XG4gIH1cbn1cblxuQGxheWVyIHV0aWxpdGllcyB7XG4gIEB2YXJpYW50cyBob3ZlciwgZm9jdXMge1xuICAgIC5maWx0ZXItbm9uZSB7XG4gICAgICBmaWx0ZXI6IG5vbmU7XG4gICAgfVxuICAgIC5maWx0ZXItZ3JheXNjYWxlIHtcbiAgICAgIGZpbHRlcjogZ3JheXNjYWxlKDEwMCUpO1xuICAgIH1cbiAgfVxufSIsIi8qISBtb2Rlcm4tbm9ybWFsaXplIHYxLjEuMCB8IE1JVCBMaWNlbnNlIHwgaHR0cHM6Ly9naXRodWIuY29tL3NpbmRyZXNvcmh1cy9tb2Rlcm4tbm9ybWFsaXplICovXG5cbi8qXG5Eb2N1bWVudFxuPT09PT09PT1cbiovXG5cbi8qKlxuVXNlIGEgYmV0dGVyIGJveCBtb2RlbCAob3BpbmlvbmF0ZWQpLlxuKi9cblxuKixcbjo6YmVmb3JlLFxuOjphZnRlciB7XG5cdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbi8qKlxuVXNlIGEgbW9yZSByZWFkYWJsZSB0YWIgc2l6ZSAob3BpbmlvbmF0ZWQpLlxuKi9cblxuaHRtbCB7XG5cdC1tb3otdGFiLXNpemU6IDQ7XG5cdHRhYi1zaXplOiA0O1xufVxuXG4vKipcbjEuIENvcnJlY3QgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cbjIuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW4gaU9TLlxuKi9cblxuaHRtbCB7XG5cdGxpbmUtaGVpZ2h0OiAxLjE1OyAvKiAxICovXG5cdC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMiAqL1xufVxuXG4vKlxuU2VjdGlvbnNcbj09PT09PT09XG4qL1xuXG4vKipcblJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2Vycy5cbiovXG5cbmJvZHkge1xuXHRtYXJnaW46IDA7XG59XG5cbi8qKlxuSW1wcm92ZSBjb25zaXN0ZW5jeSBvZiBkZWZhdWx0IGZvbnRzIGluIGFsbCBicm93c2Vycy4gKGh0dHBzOi8vZ2l0aHViLmNvbS9zaW5kcmVzb3JodXMvbW9kZXJuLW5vcm1hbGl6ZS9pc3N1ZXMvMylcbiovXG5cbmJvZHkge1xuXHRmb250LWZhbWlseTpcblx0XHRzeXN0ZW0tdWksXG5cdFx0LWFwcGxlLXN5c3RlbSwgLyogRmlyZWZveCBzdXBwb3J0cyB0aGlzIGJ1dCBub3QgeWV0IGBzeXN0ZW0tdWlgICovXG5cdFx0J1NlZ29lIFVJJyxcblx0XHRSb2JvdG8sXG5cdFx0SGVsdmV0aWNhLFxuXHRcdEFyaWFsLFxuXHRcdHNhbnMtc2VyaWYsXG5cdFx0J0FwcGxlIENvbG9yIEVtb2ppJyxcblx0XHQnU2Vnb2UgVUkgRW1vamknO1xufVxuXG4vKlxuR3JvdXBpbmcgY29udGVudFxuPT09PT09PT09PT09PT09PVxuKi9cblxuLyoqXG4xLiBBZGQgdGhlIGNvcnJlY3QgaGVpZ2h0IGluIEZpcmVmb3guXG4yLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBvZiBib3JkZXIgY29sb3IgaW4gRmlyZWZveC4gKGh0dHBzOi8vYnVnemlsbGEubW96aWxsYS5vcmcvc2hvd19idWcuY2dpP2lkPTE5MDY1NSlcbiovXG5cbmhyIHtcblx0aGVpZ2h0OiAwOyAvKiAxICovXG5cdGNvbG9yOiBpbmhlcml0OyAvKiAyICovXG59XG5cbi8qXG5UZXh0LWxldmVsIHNlbWFudGljc1xuPT09PT09PT09PT09PT09PT09PT1cbiovXG5cbi8qKlxuQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXG4qL1xuXG5hYmJyW3RpdGxlXSB7XG5cdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDtcbn1cblxuLyoqXG5BZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gRWRnZSBhbmQgU2FmYXJpLlxuKi9cblxuYixcbnN0cm9uZyB7XG5cdGZvbnQtd2VpZ2h0OiBib2xkZXI7XG59XG5cbi8qKlxuMS4gSW1wcm92ZSBjb25zaXN0ZW5jeSBvZiBkZWZhdWx0IGZvbnRzIGluIGFsbCBicm93c2Vycy4gKGh0dHBzOi8vZ2l0aHViLmNvbS9zaW5kcmVzb3JodXMvbW9kZXJuLW5vcm1hbGl6ZS9pc3N1ZXMvMylcbjIuIENvcnJlY3QgdGhlIG9kZCAnZW0nIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiovXG5cbmNvZGUsXG5rYmQsXG5zYW1wLFxucHJlIHtcblx0Zm9udC1mYW1pbHk6XG5cdFx0dWktbW9ub3NwYWNlLFxuXHRcdFNGTW9uby1SZWd1bGFyLFxuXHRcdENvbnNvbGFzLFxuXHRcdCdMaWJlcmF0aW9uIE1vbm8nLFxuXHRcdE1lbmxvLFxuXHRcdG1vbm9zcGFjZTsgLyogMSAqL1xuXHRmb250LXNpemU6IDFlbTsgLyogMiAqL1xufVxuXG4vKipcbkFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuKi9cblxuc21hbGwge1xuXHRmb250LXNpemU6IDgwJTtcbn1cblxuLyoqXG5QcmV2ZW50ICdzdWInIGFuZCAnc3VwJyBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxuKi9cblxuc3ViLFxuc3VwIHtcblx0Zm9udC1zaXplOiA3NSU7XG5cdGxpbmUtaGVpZ2h0OiAwO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuc3ViIHtcblx0Ym90dG9tOiAtMC4yNWVtO1xufVxuXG5zdXAge1xuXHR0b3A6IC0wLjVlbTtcbn1cblxuLypcblRhYnVsYXIgZGF0YVxuPT09PT09PT09PT09XG4qL1xuXG4vKipcbjEuIFJlbW92ZSB0ZXh0IGluZGVudGF0aW9uIGZyb20gdGFibGUgY29udGVudHMgaW4gQ2hyb21lIGFuZCBTYWZhcmkuIChodHRwczovL2J1Z3MuY2hyb21pdW0ub3JnL3AvY2hyb21pdW0vaXNzdWVzL2RldGFpbD9pZD05OTkwODgsIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDEyOTcpXG4yLiBDb3JyZWN0IHRhYmxlIGJvcmRlciBjb2xvciBpbmhlcml0YW5jZSBpbiBhbGwgQ2hyb21lIGFuZCBTYWZhcmkuIChodHRwczovL2J1Z3MuY2hyb21pdW0ub3JnL3AvY2hyb21pdW0vaXNzdWVzL2RldGFpbD9pZD05MzU3MjksIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTUwMTYpXG4qL1xuXG50YWJsZSB7XG5cdHRleHQtaW5kZW50OiAwOyAvKiAxICovXG5cdGJvcmRlci1jb2xvcjogaW5oZXJpdDsgLyogMiAqL1xufVxuXG4vKlxuRm9ybXNcbj09PT09XG4qL1xuXG4vKipcbjEuIENoYW5nZSB0aGUgZm9udCBzdHlsZXMgaW4gYWxsIGJyb3dzZXJzLlxuMi4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gRmlyZWZveCBhbmQgU2FmYXJpLlxuKi9cblxuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcblx0Zm9udC1mYW1pbHk6IGluaGVyaXQ7IC8qIDEgKi9cblx0Zm9udC1zaXplOiAxMDAlOyAvKiAxICovXG5cdGxpbmUtaGVpZ2h0OiAxLjE1OyAvKiAxICovXG5cdG1hcmdpbjogMDsgLyogMiAqL1xufVxuXG4vKipcblJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSBhbmQgRmlyZWZveC5cbjEuIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRmlyZWZveC5cbiovXG5cbmJ1dHRvbixcbnNlbGVjdCB7IC8qIDEgKi9cblx0dGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5cbi8qKlxuQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiovXG5cbmJ1dHRvbixcblt0eXBlPSdidXR0b24nXSxcblt0eXBlPSdyZXNldCddLFxuW3R5cGU9J3N1Ym1pdCddIHtcblx0LXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG59XG5cbi8qKlxuUmVtb3ZlIHRoZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgaW4gRmlyZWZveC5cbiovXG5cbjo6LW1vei1mb2N1cy1pbm5lciB7XG5cdGJvcmRlci1zdHlsZTogbm9uZTtcblx0cGFkZGluZzogMDtcbn1cblxuLyoqXG5SZXN0b3JlIHRoZSBmb2N1cyBzdHlsZXMgdW5zZXQgYnkgdGhlIHByZXZpb3VzIHJ1bGUuXG4qL1xuXG46LW1vei1mb2N1c3Jpbmcge1xuXHRvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7XG59XG5cbi8qKlxuUmVtb3ZlIHRoZSBhZGRpdGlvbmFsICc6aW52YWxpZCcgc3R5bGVzIGluIEZpcmVmb3guXG5TZWU6IGh0dHBzOi8vZ2l0aHViLmNvbS9tb3ppbGxhL2dlY2tvLWRldi9ibG9iLzJmOWVhY2Q5ZDNkOTk1YzkzN2I0MjUxYTU1NTdkOTVkNDk0YzliZTEvbGF5b3V0L3N0eWxlL3Jlcy9mb3Jtcy5jc3MjTDcyOC1MNzM3XG4qL1xuXG46LW1vei11aS1pbnZhbGlkIHtcblx0Ym94LXNoYWRvdzogbm9uZTtcbn1cblxuLyoqXG5SZW1vdmUgdGhlIHBhZGRpbmcgc28gZGV2ZWxvcGVycyBhcmUgbm90IGNhdWdodCBvdXQgd2hlbiB0aGV5IHplcm8gb3V0ICdmaWVsZHNldCcgZWxlbWVudHMgaW4gYWxsIGJyb3dzZXJzLlxuKi9cblxubGVnZW5kIHtcblx0cGFkZGluZzogMDtcbn1cblxuLyoqXG5BZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSBhbmQgRmlyZWZveC5cbiovXG5cbnByb2dyZXNzIHtcblx0dmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG4vKipcbkNvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIFNhZmFyaS5cbiovXG5cbjo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbjo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG5cdGhlaWdodDogYXV0bztcbn1cblxuLyoqXG4xLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cbjIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxuKi9cblxuW3R5cGU9J3NlYXJjaCddIHtcblx0LXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8qIDEgKi9cblx0b3V0bGluZS1vZmZzZXQ6IC0ycHg7IC8qIDIgKi9cbn1cblxuLyoqXG5SZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MuXG4qL1xuXG46Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuXHQtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi8qKlxuMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbjIuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gJ2luaGVyaXQnIGluIFNhZmFyaS5cbiovXG5cbjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuXHQtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMSAqL1xuXHRmb250OiBpbmhlcml0OyAvKiAyICovXG59XG5cbi8qXG5JbnRlcmFjdGl2ZVxuPT09PT09PT09PT1cbiovXG5cbi8qXG5BZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cbiovXG5cbnN1bW1hcnkge1xuXHRkaXNwbGF5OiBsaXN0LWl0ZW07XG59XG4iLCIvKipcbiAqIE1hbnVhbGx5IGZvcmtlZCBmcm9tIFNVSVQgQ1NTIEJhc2U6IGh0dHBzOi8vZ2l0aHViLmNvbS9zdWl0Y3NzL2Jhc2VcbiAqIEEgdGhpbiBsYXllciBvbiB0b3Agb2Ygbm9ybWFsaXplLmNzcyB0aGF0IHByb3ZpZGVzIGEgc3RhcnRpbmcgcG9pbnQgbW9yZVxuICogc3VpdGFibGUgZm9yIHdlYiBhcHBsaWNhdGlvbnMuXG4gKi9cblxuLyoqXG4gKiBSZW1vdmVzIHRoZSBkZWZhdWx0IHNwYWNpbmcgYW5kIGJvcmRlciBmb3IgYXBwcm9wcmlhdGUgZWxlbWVudHMuXG4gKi9cblxuYmxvY2txdW90ZSxcbmRsLFxuZGQsXG5oMSxcbmgyLFxuaDMsXG5oNCxcbmg1LFxuaDYsXG5ocixcbmZpZ3VyZSxcbnAsXG5wcmUge1xuICBtYXJnaW46IDA7XG59XG5cbmJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xufVxuXG5maWVsZHNldCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbn1cblxub2wsXG51bCB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbn1cblxuLyoqXG4gKiBUYWlsd2luZCBjdXN0b20gcmVzZXQgc3R5bGVzXG4gKi9cblxuLyoqXG4gKiAxLiBVc2UgdGhlIHVzZXIncyBjb25maWd1cmVkIGBzYW5zYCBmb250LWZhbWlseSAod2l0aCBUYWlsd2luZCdzIGRlZmF1bHRcbiAqICAgIHNhbnMtc2VyaWYgZm9udCBzdGFjayBhcyBhIGZhbGxiYWNrKSBhcyBhIHNhbmUgZGVmYXVsdC5cbiAqIDIuIFVzZSBUYWlsd2luZCdzIGRlZmF1bHQgXCJub3JtYWxcIiBsaW5lLWhlaWdodCBzbyB0aGUgdXNlciBpc24ndCBmb3JjZWRcbiAqICAgIHRvIG92ZXJyaWRlIGl0IHRvIGVuc3VyZSBjb25zaXN0ZW5jeSBldmVuIHdoZW4gdXNpbmcgdGhlIGRlZmF1bHQgdGhlbWUuXG4gKi9cblxuaHRtbCB7XG4gIGZvbnQtZmFtaWx5OiB0aGVtZSgnZm9udEZhbWlseS5zYW5zJywgdWktc2Fucy1zZXJpZiwgc3lzdGVtLXVpLCAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFwiU2Vnb2UgVUlcIiwgUm9ib3RvLCBcIkhlbHZldGljYSBOZXVlXCIsIEFyaWFsLCBcIk5vdG8gU2Fuc1wiLCBzYW5zLXNlcmlmLCBcIkFwcGxlIENvbG9yIEVtb2ppXCIsIFwiU2Vnb2UgVUkgRW1vamlcIiwgXCJTZWdvZSBVSSBTeW1ib2xcIiwgXCJOb3RvIENvbG9yIEVtb2ppXCIpOyAvKiAxICovXG4gIGxpbmUtaGVpZ2h0OiAxLjU7IC8qIDIgKi9cbn1cblxuXG4vKipcbiAqIEluaGVyaXQgZm9udC1mYW1pbHkgYW5kIGxpbmUtaGVpZ2h0IGZyb20gYGh0bWxgIHNvIHVzZXJzIGNhbiBzZXQgdGhlbSBhc1xuICogYSBjbGFzcyBkaXJlY3RseSBvbiB0aGUgYGh0bWxgIGVsZW1lbnQuXG4gKi9cblxuYm9keSB7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbn1cblxuLyoqXG4gKiAxLiBQcmV2ZW50IHBhZGRpbmcgYW5kIGJvcmRlciBmcm9tIGFmZmVjdGluZyBlbGVtZW50IHdpZHRoLlxuICpcbiAqICAgIFdlIHVzZWQgdG8gc2V0IHRoaXMgaW4gdGhlIGh0bWwgZWxlbWVudCBhbmQgaW5oZXJpdCBmcm9tXG4gKiAgICB0aGUgcGFyZW50IGVsZW1lbnQgZm9yIGV2ZXJ5dGhpbmcgZWxzZS4gVGhpcyBjYXVzZWQgaXNzdWVzXG4gKiAgICBpbiBzaGFkb3ctZG9tLWVuaGFuY2VkIGVsZW1lbnRzIGxpa2UgPGRldGFpbHM+IHdoZXJlIHRoZSBjb250ZW50XG4gKiAgICBpcyB3cmFwcGVkIGJ5IGEgZGl2IHdpdGggYm94LXNpemluZyBzZXQgdG8gYGNvbnRlbnQtYm94YC5cbiAqXG4gKiAgICBodHRwczovL2dpdGh1Yi5jb20vbW96ZGV2cy9jc3NyZW1lZHkvaXNzdWVzLzRcbiAqXG4gKlxuICogMi4gQWxsb3cgYWRkaW5nIGEgYm9yZGVyIHRvIGFuIGVsZW1lbnQgYnkganVzdCBhZGRpbmcgYSBib3JkZXItd2lkdGguXG4gKlxuICogICAgQnkgZGVmYXVsdCwgdGhlIHdheSB0aGUgYnJvd3NlciBzcGVjaWZpZXMgdGhhdCBhbiBlbGVtZW50IHNob3VsZCBoYXZlIG5vXG4gKiAgICBib3JkZXIgaXMgYnkgc2V0dGluZyBpdCdzIGJvcmRlci1zdHlsZSB0byBgbm9uZWAgaW4gdGhlIHVzZXItYWdlbnRcbiAqICAgIHN0eWxlc2hlZXQuXG4gKlxuICogICAgSW4gb3JkZXIgdG8gZWFzaWx5IGFkZCBib3JkZXJzIHRvIGVsZW1lbnRzIGJ5IGp1c3Qgc2V0dGluZyB0aGUgYGJvcmRlci13aWR0aGBcbiAqICAgIHByb3BlcnR5LCB3ZSBjaGFuZ2UgdGhlIGRlZmF1bHQgYm9yZGVyLXN0eWxlIGZvciBhbGwgZWxlbWVudHMgdG8gYHNvbGlkYCwgYW5kXG4gKiAgICB1c2UgYm9yZGVyLXdpZHRoIHRvIGhpZGUgdGhlbSBpbnN0ZWFkLiBUaGlzIHdheSBvdXIgYGJvcmRlcmAgdXRpbGl0aWVzIG9ubHlcbiAqICAgIG5lZWQgdG8gc2V0IHRoZSBgYm9yZGVyLXdpZHRoYCBwcm9wZXJ0eSBpbnN0ZWFkIG9mIHRoZSBlbnRpcmUgYGJvcmRlcmBcbiAqICAgIHNob3J0aGFuZCwgbWFraW5nIG91ciBib3JkZXIgdXRpbGl0aWVzIG11Y2ggbW9yZSBzdHJhaWdodGZvcndhcmQgdG8gY29tcG9zZS5cbiAqXG4gKiAgICBodHRwczovL2dpdGh1Yi5jb20vdGFpbHdpbmRjc3MvdGFpbHdpbmRjc3MvcHVsbC8xMTZcbiAqL1xuXG4qLFxuOjpiZWZvcmUsXG46OmFmdGVyIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICBib3JkZXItd2lkdGg6IDA7IC8qIDIgKi9cbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDsgLyogMiAqL1xuICBib3JkZXItY29sb3I6IGN1cnJlbnRDb2xvcjsgLyogMiAqL1xufVxuXG4vKlxuICogRW5zdXJlIGhvcml6b250YWwgcnVsZXMgYXJlIHZpc2libGUgYnkgZGVmYXVsdFxuICovXG5cbmhyIHtcbiAgYm9yZGVyLXRvcC13aWR0aDogMXB4O1xufVxuXG4vKipcbiAqIFVuZG8gdGhlIGBib3JkZXItc3R5bGU6IG5vbmVgIHJlc2V0IHRoYXQgTm9ybWFsaXplIGFwcGxpZXMgdG8gaW1hZ2VzIHNvIHRoYXRcbiAqIG91ciBgYm9yZGVyLXt3aWR0aH1gIHV0aWxpdGllcyBoYXZlIHRoZSBleHBlY3RlZCBlZmZlY3QuXG4gKlxuICogVGhlIE5vcm1hbGl6ZSByZXNldCBpcyB1bm5lY2Vzc2FyeSBmb3IgdXMgc2luY2Ugd2UgZGVmYXVsdCB0aGUgYm9yZGVyLXdpZHRoXG4gKiB0byAwIG9uIGFsbCBlbGVtZW50cy5cbiAqXG4gKiBodHRwczovL2dpdGh1Yi5jb20vdGFpbHdpbmRjc3MvdGFpbHdpbmRjc3MvaXNzdWVzLzM2MlxuICovXG5cbmltZyB7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG59XG5cbnRleHRhcmVhIHtcbiAgcmVzaXplOiB2ZXJ0aWNhbDtcbn1cblxuaW5wdXQ6OnBsYWNlaG9sZGVyLFxudGV4dGFyZWE6OnBsYWNlaG9sZGVyIHtcbiAgb3BhY2l0eTogMTtcbiAgY29sb3I6IHRoZW1lKCdjb2xvcnMuZ3JheS40MDAnLCAjYTFhMWFhKTtcbn1cblxuYnV0dG9uLFxuW3JvbGU9XCJidXR0b25cIl0ge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbnRhYmxlIHtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbn1cblxuaDEsXG5oMixcbmgzLFxuaDQsXG5oNSxcbmg2IHtcbiAgZm9udC1zaXplOiBpbmhlcml0O1xuICBmb250LXdlaWdodDogaW5oZXJpdDtcbn1cblxuLyoqXG4gKiBSZXNldCBsaW5rcyB0byBvcHRpbWl6ZSBmb3Igb3B0LWluIHN0eWxpbmcgaW5zdGVhZCBvZlxuICogb3B0LW91dC5cbiAqL1xuXG5hIHtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIHRleHQtZGVjb3JhdGlvbjogaW5oZXJpdDtcbn1cblxuLyoqXG4gKiBSZXNldCBmb3JtIGVsZW1lbnQgcHJvcGVydGllcyB0aGF0IGFyZSBlYXN5IHRvIGZvcmdldCB0b1xuICogc3R5bGUgZXhwbGljaXRseSBzbyB5b3UgZG9uJ3QgaW5hZHZlcnRlbnRseSBpbnRyb2R1Y2VcbiAqIHN0eWxlcyB0aGF0IGRldmlhdGUgZnJvbSB5b3VyIGRlc2lnbiBzeXN0ZW0uIFRoZXNlIHN0eWxlc1xuICogc3VwcGxlbWVudCBhIHBhcnRpYWwgcmVzZXQgdGhhdCBpcyBhbHJlYWR5IGFwcGxpZWQgYnlcbiAqIG5vcm1hbGl6ZS5jc3MuXG4gKi9cblxuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgcGFkZGluZzogMDtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIGNvbG9yOiBpbmhlcml0O1xufVxuXG4vKipcbiAqIFVzZSB0aGUgY29uZmlndXJlZCAnbW9ubycgZm9udCBmYW1pbHkgZm9yIGVsZW1lbnRzIHRoYXRcbiAqIGFyZSBleHBlY3RlZCB0byBiZSByZW5kZXJlZCB3aXRoIGEgbW9ub3NwYWNlIGZvbnQsIGZhbGxpbmdcbiAqIGJhY2sgdG8gdGhlIHN5c3RlbSBtb25vc3BhY2Ugc3RhY2sgaWYgdGhlcmUgaXMgbm8gY29uZmlndXJlZFxuICogJ21vbm8nIGZvbnQgZmFtaWx5LlxuICovXG5cbnByZSxcbmNvZGUsXG5rYmQsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6IHRoZW1lKCdmb250RmFtaWx5Lm1vbm8nLCB1aS1tb25vc3BhY2UsIFNGTW9uby1SZWd1bGFyLCBNZW5sbywgTW9uYWNvLCBDb25zb2xhcywgXCJMaWJlcmF0aW9uIE1vbm9cIiwgXCJDb3VyaWVyIE5ld1wiLCBtb25vc3BhY2UpO1xufVxuXG4vKipcbiAqIDEuIE1ha2UgcmVwbGFjZWQgZWxlbWVudHMgYGRpc3BsYXk6IGJsb2NrYCBieSBkZWZhdWx0IGFzIHRoYXQnc1xuICogICAgdGhlIGJlaGF2aW9yIHlvdSB3YW50IGFsbW9zdCBhbGwgb2YgdGhlIHRpbWUuIEluc3BpcmVkIGJ5XG4gKiAgICBDU1MgUmVtZWR5LCB3aXRoIGBzdmdgIGFkZGVkIGFzIHdlbGwuXG4gKlxuICogICAgaHR0cHM6Ly9naXRodWIuY29tL21vemRldnMvY3NzcmVtZWR5L2lzc3Vlcy8xNFxuICogXG4gKiAyLiBBZGQgYHZlcnRpY2FsLWFsaWduOiBtaWRkbGVgIHRvIGFsaWduIHJlcGxhY2VkIGVsZW1lbnRzIG1vcmVcbiAqICAgIHNlbnNpYmx5IGJ5IGRlZmF1bHQgd2hlbiBvdmVycmlkaW5nIGBkaXNwbGF5YCBieSBhZGRpbmcgYVxuICogICAgdXRpbGl0eSBsaWtlIGBpbmxpbmVgLlxuICpcbiAqICAgIFRoaXMgY2FuIHRyaWdnZXIgYSBwb29ybHkgY29uc2lkZXJlZCBsaW50aW5nIGVycm9yIGluIHNvbWVcbiAqICAgIHRvb2xzIGJ1dCBpcyBpbmNsdWRlZCBieSBkZXNpZ24uXG4gKiBcbiAqICAgIGh0dHBzOi8vZ2l0aHViLmNvbS9qZW5zaW1tb25zL2Nzc3JlbWVkeS9pc3N1ZXMvMTQjaXNzdWVjb21tZW50LTYzNDkzNDIxMFxuICovXG5cbmltZyxcbnN2ZyxcbnZpZGVvLFxuY2FudmFzLFxuYXVkaW8sXG5pZnJhbWUsXG5lbWJlZCxcbm9iamVjdCB7XG4gIGRpc3BsYXk6IGJsb2NrOyAvKiAxICovXG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBDb25zdHJhaW4gaW1hZ2VzIGFuZCB2aWRlb3MgdG8gdGhlIHBhcmVudCB3aWR0aCBhbmQgcHJlc2VydmVcbiAqIHRoZWlyIGludHJpbnNpYyBhc3BlY3QgcmF0aW8uXG4gKlxuICogaHR0cHM6Ly9naXRodWIuY29tL21vemRldnMvY3NzcmVtZWR5L2lzc3Vlcy8xNFxuICovXG5cbmltZyxcbnZpZGVvIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi8qKlxuICogRW5zdXJlIHRoZSBkZWZhdWx0IGJyb3dzZXIgYmVoYXZpb3Igb2YgdGhlIGBoaWRkZW5gIGF0dHJpYnV0ZS5cbiAqL1xuXG5baGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4iLG51bGxdfQ== */