body,html{
  width:100%;
  height:100%;
  font-family:'Archivo', sans-serif
}

a.c-link{
  color:#3BB0C9
}

a.c-link:hover:not(.active){
  color:#63c0d4
}

.top-nav li a{
  color:#3BB0C9
}

.top-nav li a:hover:not(.active){
  color:#63c0d4
}

.top-nav li a.active{
  background:linear-gradient(180deg, transparent 95%, #3BB0C9 95%)
}

.gradient-text{
  background:linear-gradient(#A6B2CB, #EBFAFF);
  -webkit-background-clip:text;
          background-clip:text;
  -webkit-text-fill-color:transparent
}

.bg-bottom-leafs{
  background-image:url(images/bottom-leafs.png);
  background-repeat:no-repeat;
  background-size:contain;
  background-position:bottom center;
  }

.news-item{
  height:272px
}

.image-cover:after{
  content:'';
  position:absolute;
  width:100%;
  height:100%;
  top:0;
  left:0;
  z-index:15;
  background-color:rgba(0,0,0,0.5)
}

.carousel-hero-styles .tns-controls{
  display:none !important
}

.carousel-hero-styles .tns-nav{
  position:absolute;
  bottom:0;
  left:0;
  width:100%;
  height:2.5rem;
  z-index:10;
  display:flex;
  align-items:center;
  justify-content:center
}

.carousel-hero-styles .tns-nav > :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)))
}

.carousel-hero-styles .tns-nav button{
  width:12px;
  height:12px;
  border-radius:9999px;
  --tw-bg-opacity:1;
  background-color:rgba(156, 163, 175, var(--tw-bg-opacity))
}

.carousel-hero-styles .tns-nav button.tns-nav-active{
  background-color:#3BB0C9
}

.carousel-news-styles .tns-controls button[data-controls='prev']{
  position:absolute;
  top:55%;
  left:16px;
  transform:translateY(-55%);
  z-index:50;
  width:48px;
  height:48px;
  background-color:#3BB0C9;
  color:white;
  border-radius:50%;
  text-align:center
}

.carousel-news-styles .tns-controls button[data-controls='prev'] img{
  margin:auto
}

@media screen and (min-width: 1280px){
  .carousel-news-styles .tns-controls button[data-controls='prev']{
    left:-60px
  }
}

.carousel-news-styles .tns-controls button[data-controls='next']{
  position:absolute;
  top:55%;
  right:16px;
  transform:translateY(-55%);
  z-index:50;
  width:48px;
  height:48px;
  background-color:#3BB0C9;
  color:white;
  border-radius:50%;
  text-align:center
}

.carousel-news-styles .tns-controls button[data-controls='next'] img{
  margin:auto
}

@media screen and (min-width: 1280px){
  .carousel-news-styles .tns-controls button[data-controls='next']{
    right:-60px
  }
}

/*! tailwindcss v2.2.15 | 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;
  -o-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] {
  -webkit-text-decoration: underline dotted;
          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'] {
  -webkit-appearance: button;
}

/**
Remove the inner border and padding in Firefox.
*/

/**
Restore the focus styles unset by the previous rule.
*/

/**
Remove the additional ':invalid' styles in Firefox.
See: https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737
*/

/**
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.
*/

/**
1. Correct the odd appearance in Chrome and Safari.
2. Correct the outline style in Safari.
*/

/**
Remove the inner padding in Chrome and Safari on macOS.
*/

/**
1. Correct the inability to style clickable types in iOS and Safari.
2. Change font properties to 'inherit' in Safari.
*/

/*
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: Archivo; /* 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::-moz-placeholder, textarea::-moz-placeholder {
  opacity: 1;
  color: #9ca3af;
}

input:-ms-input-placeholder, textarea:-ms-input-placeholder {
  opacity: 1;
  color: #9ca3af;
}

input::placeholder,
textarea::placeholder {
  opacity: 1;
  color: #9ca3af;
}

button {
  cursor: pointer;
}

/**
 * Override legacy focus reset from Normalize with modern Firefox focus styles.
 *
 * This is actually an improvement over the new defaults in Firefox in our testing,
 * as it triggers the better focus styles even for links, which still use a dotted
 * outline in Firefox by default.
 */

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))
}

.container{
  width:100%
}

@media (min-width: 640px){
  .container{
    max-width:640px
  }
}

@media (min-width: 768px){
  .container{
    max-width:768px
  }
}

@media (min-width: 1024px){
  .container{
    max-width:1024px
  }
}

@media (min-width: 1280px){
  .container{
    max-width:1280px
  }
}

@media (min-width: 1536px){
  .container{
    max-width:1536px
  }
}


.aspect-w-16{
  position:relative;
  padding-bottom:calc(var(--tw-aspect-h) / var(--tw-aspect-w) * 100%)
}


.aspect-w-16 > *{
  position:absolute;
  height:100%;
  width:100%;
  top:0;
  right:0;
  bottom:0;
  left:0
}

.aspect-w-16{
  --tw-aspect-w:16
}

.aspect-h-9{
  --tw-aspect-h:9
}

.absolute{
  position:absolute
}

.relative{
  position:relative
}

.top-0{
  top:0px
}

.left-0{
  left:0px
}

.z-10{
  z-index:10
}

.z-20{
  z-index:20
}

.z-30{
  z-index:30
}

.order-1{
  order:1
}

.order-2{
  order:2
}

.order-3{
  order:3
}

.order-4{
  order:4
}

.m-2{
  margin:0.5rem
}

.-m-2{
  margin:-0.5rem
}

.mx-auto{
  margin-left:auto;
  margin-right:auto
}

.mt-3{
  margin-top:0.75rem
}

.mt-auto{
  margin-top:auto
}

.mb-6{
  margin-bottom:1.5rem
}

.block{
  display:block
}

.flex{
  display:flex
}

.table{
  display:table
}

.hidden{
  display:none
}

.h-8{
  height:2rem
}

.h-9{
  height:2.25rem
}

.h-32{
  height:8rem
}

.h-full{
  height:100%
}

.w-6{
  width:1.5rem
}

.w-9{
  width:2.25rem
}

.w-12{
  width:3rem
}

.w-48{
  width:12rem
}

.w-full{
  width:100%
}

.max-w-6xl{
  max-width:72rem
}

.max-w-8xl{
  max-width:90rem
}

.flex-shrink-0{
  flex-shrink:0
}

@-webkit-keyframes spin{
  to{
    transform:rotate(360deg)
  }
}

@keyframes spin{
  to{
    transform:rotate(360deg)
  }
}

@-webkit-keyframes ping{
  75%, 100%{
    transform:scale(2);
    opacity:0
  }
}

@keyframes ping{
  75%, 100%{
    transform:scale(2);
    opacity:0
  }
}

@-webkit-keyframes pulse{
  50%{
    opacity:.5
  }
}

@keyframes pulse{
  50%{
    opacity:.5
  }
}

@-webkit-keyframes bounce{
  0%, 100%{
    transform:translateY(-25%);
    -webkit-animation-timing-function:cubic-bezier(0.8,0,1,1);
            animation-timing-function:cubic-bezier(0.8,0,1,1)
  }

  50%{
    transform:none;
    -webkit-animation-timing-function:cubic-bezier(0,0,0.2,1);
            animation-timing-function:cubic-bezier(0,0,0.2,1)
  }
}

@keyframes bounce{
  0%, 100%{
    transform:translateY(-25%);
    -webkit-animation-timing-function:cubic-bezier(0.8,0,1,1);
            animation-timing-function:cubic-bezier(0.8,0,1,1)
  }

  50%{
    transform:none;
    -webkit-animation-timing-function:cubic-bezier(0,0,0.2,1);
            animation-timing-function:cubic-bezier(0,0,0.2,1)
  }
}

.flex-col{
  flex-direction:column
}

.flex-wrap{
  flex-wrap:wrap
}

.items-center{
  align-items:center
}

.items-stretch{
  align-items:stretch
}

.justify-center{
  justify-content:center
}

.justify-between{
  justify-content:space-between
}

.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-x-6 > :not([hidden]) ~ :not([hidden]){
  --tw-space-x-reverse:0;
  margin-right:calc(1.5rem * var(--tw-space-x-reverse));
  margin-left:calc(1.5rem * calc(1 - var(--tw-space-x-reverse)))
}

.space-y-2 > :not([hidden]) ~ :not([hidden]){
  --tw-space-y-reverse:0;
  margin-top:calc(0.5rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom:calc(0.5rem * var(--tw-space-y-reverse))
}

.space-y-6 > :not([hidden]) ~ :not([hidden]){
  --tw-space-y-reverse:0;
  margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))
}

.space-y-16 > :not([hidden]) ~ :not([hidden]){
  --tw-space-y-reverse:0;
  margin-top:calc(4rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom:calc(4rem * var(--tw-space-y-reverse))
}

.divide-y > :not([hidden]) ~ :not([hidden]){
  --tw-divide-y-reverse:0;
  border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));
  border-bottom-width:calc(1px * var(--tw-divide-y-reverse))
}

.overflow-hidden{
  overflow:hidden
}

.rounded-lg{
  border-radius:0.5rem
}

.rounded-full{
  border-radius:9999px
}

.border-2{
  border-width:2px
}

.border-b-2{
  border-bottom-width:2px
}

.border-solid{
  border-style:solid
}

.border-white{
  --tw-border-opacity:1;
  border-color:rgba(255, 255, 255, var(--tw-border-opacity))
}

.border-ga-orange{
  --tw-border-opacity:1;
  border-color:rgba(246, 177, 60, var(--tw-border-opacity))
}

.bg-white{
  --tw-bg-opacity:1;
  background-color:rgba(255, 255, 255, var(--tw-bg-opacity))
}

.bg-gray-100{
  --tw-bg-opacity:1;
  background-color:rgba(243, 244, 246, var(--tw-bg-opacity))
}

.bg-ga-darkblue{
  --tw-bg-opacity:1;
  background-color:rgba(7, 37, 97, var(--tw-bg-opacity))
}

.bg-ga-coral{
  --tw-bg-opacity:1;
  background-color:rgba(59, 176, 201, var(--tw-bg-opacity))
}

.bg-opacity-10{
  --tw-bg-opacity:0.1
}

.bg-opacity-95{
  --tw-bg-opacity:0.95
}

.object-cover{
  -o-object-fit:cover;
     object-fit:cover
}

.object-center{
  -o-object-position:center;
     object-position:center
}

.p-4{
  padding:1rem
}

.p-8{
  padding:2rem
}

.px-0{
  padding-left:0px;
  padding-right:0px
}

.px-4{
  padding-left:1rem;
  padding-right:1rem
}

.px-5{
  padding-left:1.25rem;
  padding-right:1.25rem
}

.px-6{
  padding-left:1.5rem;
  padding-right:1.5rem
}

.px-8{
  padding-left:2rem;
  padding-right:2rem
}

.py-2{
  padding-top:0.5rem;
  padding-bottom:0.5rem
}

.py-4{
  padding-top:1rem;
  padding-bottom:1rem
}

.py-12{
  padding-top:3rem;
  padding-bottom:3rem
}

.py-16{
  padding-top:4rem;
  padding-bottom:4rem
}

.py-20{
  padding-top:5rem;
  padding-bottom:5rem
}

.pt-7{
  padding-top:1.75rem
}

.pt-16{
  padding-top:4rem
}

.pb-4{
  padding-bottom:1rem
}

.pb-5{
  padding-bottom:1.25rem
}

.pb-6{
  padding-bottom:1.5rem
}

.pb-12{
  padding-bottom:3rem
}

.pb-14{
  padding-bottom:3.5rem
}

.pb-52{
  padding-bottom:13rem
}

.text-center{
  text-align:center
}

.font-serif{
  font-family:Taviraj
}

.text-xs{
  font-size:0.75rem;
  line-height:1rem
}

.text-sm{
  font-size:0.875rem;
  line-height:1.25rem
}

.text-xl{
  font-size:1.25rem;
  line-height:1.75rem
}

.text-2xl{
  font-size:1.5rem;
  line-height:2rem
}

.text-3xl{
  font-size:1.875rem;
  line-height:2.25rem
}

.text-4xl{
  font-size:2.25rem;
  line-height:2.5rem
}

.font-light{
  font-weight:300
}

.font-medium{
  font-weight:500
}

.font-bold{
  font-weight:700
}

.uppercase{
  text-transform:uppercase
}

.text-white{
  --tw-text-opacity:1;
  color:rgba(255, 255, 255, var(--tw-text-opacity))
}

.text-ga-darkblue{
  --tw-text-opacity:1;
  color:rgba(7, 37, 97, var(--tw-text-opacity))
}

.text-ga-coral{
  --tw-text-opacity:1;
  color:rgba(59, 176, 201, var(--tw-text-opacity))
}

.text-ga-darkgray{
  --tw-text-opacity:1;
  color:rgba(67, 83, 99, var(--tw-text-opacity))
}

*, ::before, ::after{
  --tw-shadow:0 0 #0000
}

.shadow-lg{
  --tw-shadow:0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
  box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)
}

*, ::before, ::after{
  --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
}

@media (min-width: 640px){
  .sm\:px-4{
    padding-left:1rem;
    padding-right:1rem
  }
}

@media (min-width: 768px){
  .md\:mx-auto{
    margin-left:auto;
    margin-right:auto
  }

  .md\:max-w-6xl{
    max-width:72rem
  }

  .md\:flex-row{
    flex-direction:row
  }

  .md\:space-x-16 > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse:0;
    margin-right:calc(4rem * var(--tw-space-x-reverse));
    margin-left:calc(4rem * calc(1 - var(--tw-space-x-reverse)))
  }

  .md\:space-y-0 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse:0;
    margin-top:calc(0px * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom:calc(0px * var(--tw-space-y-reverse))
  }

  .md\:px-10{
    padding-left:2.5rem;
    padding-right:2.5rem
  }

  .md\:px-40{
    padding-left:10rem;
    padding-right:10rem
  }

  .md\:pb-72{
    padding-bottom:18rem
  }

  .md\:text-3xl{
    font-size:1.875rem;
    line-height:2.25rem
  }

  .md\:text-4xl{
    font-size:2.25rem;
    line-height:2.5rem
  }

  .md\:text-6xl{
    font-size:3.75rem;
    line-height:1
  }
}

@media (min-width: 1024px){
  .lg\:block{
    display:block
  }

  .lg\:flex{
    display:flex
  }

  .lg\:hidden{
    display:none
  }

  .lg\:w-3\/5{
    width:60%
  }

  .lg\:flex-row{
    flex-direction:row
  }

  .lg\:space-x-12 > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse:0;
    margin-right:calc(3rem * var(--tw-space-x-reverse));
    margin-left:calc(3rem * calc(1 - var(--tw-space-x-reverse)))
  }

  .lg\:space-x-16 > :not([hidden]) ~ :not([hidden]){
    --tw-space-x-reverse:0;
    margin-right:calc(4rem * var(--tw-space-x-reverse));
    margin-left:calc(4rem * calc(1 - var(--tw-space-x-reverse)))
  }

  .lg\:space-y-0 > :not([hidden]) ~ :not([hidden]){
    --tw-space-y-reverse:0;
    margin-top:calc(0px * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom:calc(0px * var(--tw-space-y-reverse))
  }

  .lg\:p-16{
    padding:4rem
  }

  .lg\:px-14{
    padding-left:3.5rem;
    padding-right:3.5rem
  }

  .lg\:px-52{
    padding-left:13rem;
    padding-right:13rem
  }

  .lg\:py-32{
    padding-top:8rem;
    padding-bottom:8rem
  }

  .lg\:pt-24{
    padding-top:6rem
  }

  .lg\:pt-32{
    padding-top:8rem
  }

  .lg\:pb-24{
    padding-bottom:6rem
  }

  .lg\:pb-80{
    padding-bottom:20rem
  }

  .lg\:text-right{
    text-align:right
  }

  .lg\:text-3xl{
    font-size:1.875rem;
    line-height:2.25rem
  }

  .lg\:text-6xl{
    font-size:3.75rem;
    line-height:1
  }

  .lg\:text-9xl{
    font-size:6rem;
    line-height:5.25rem
  }
}

@media (min-width: 1280px){
  .xl\:px-0{
    padding-left:0px;
    padding-right:0px
  }
}

@media (min-width: 1536px){
}
/*# sourceMappingURL=data:application/json;base64,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Q25EO0VBQ0Y7O0VBRUE7SUFDRSxzQkFBc0I7SUFDdEIsMERBQTBEO0lBQzFEO0VBQ0Y7O0VBRUE7SUFDRSxtQkFBbUI7SUFDbkI7RUFDRjs7RUFFQTtJQUNFLGtCQUFrQjtJQUNsQjtFQUNGOztFQUVBO0lBQ0U7RUFDRjs7RUFFQTtJQUNFLGtCQUFrQjtJQUNsQjtFQUNGOztFQUVBO0lBQ0UsaUJBQWlCO0lBQ2pCO0VBQ0Y7O0VBRUE7SUFDRSxpQkFBaUI7SUFDakI7RUFDRjtBQUNGOztBQUVBO0VBQ0U7SUFDRTtFQUNGOztFQUVBO0lBQ0U7RUFDRjs7RUFFQTtJQUNFO0VBQ0Y7O0VBRUE7SUFDRTtFQUNGOztFQUVBO0lBQ0U7RUFDRjs7RUFFQTtJQUNFLHNCQUFzQjtJQUN0QixtREFBbUQ7SUFDbkQ7RUFDRjs7RUFFQTtJQUNFLHNCQUFzQjtJQUN0QixtREFBbUQ7SUFDbkQ7RUFDRjs7RUFFQTtJQUNFLHNCQUFzQjtJQUN0QiwwREFBMEQ7SUFDMUQ7RUFDRjs7RUFFQTtJQUNFO0VBQ0Y7O0VBRUE7SUFDRSxtQkFBbUI7SUFDbkI7RUFDRjs7RUFFQTtJQUNFLGtCQUFrQjtJQUNsQjtFQUNGOztFQUVBO0lBQ0UsZ0JBQWdCO0lBQ2hCO0VBQ0Y7O0VBRUE7SUFDRTtFQUNGOztFQUVBO0lBQ0U7RUFDRjs7RUFFQTtJQUNFO0VBQ0Y7O0VBRUE7SUFDRTtFQUNGOztFQUVBO0lBQ0U7RUFDRjs7RUFFQTtJQUNFLGtCQUFrQjtJQUNsQjtFQUNGOztFQUVBO0lBQ0UsaUJBQWlCO0lBQ2pCO0VBQ0Y7O0VBRUE7SUFDRSxjQUFjO0lBQ2Q7RUFDRjtBQUNGOztBQUVBO0VBQ0U7SUFDRSxnQkFBZ0I7SUFDaEI7RUFDRjtBQUNGOztBQUVBO0FBQ0EiLCJmaWxlIjoic3R5bGVzLmNzcyIsInNvdXJjZXNDb250ZW50IjpbImJvZHksaHRtbHtcbiAgd2lkdGg6MTAwJTtcbiAgaGVpZ2h0OjEwMCU7XG4gIGZvbnQtZmFtaWx5OidBcmNoaXZvJywgc2Fucy1zZXJpZlxufVxuXG5hLmMtbGlua3tcbiAgY29sb3I6IzNCQjBDOVxufVxuXG5hLmMtbGluazpob3Zlcjpub3QoLmFjdGl2ZSl7XG4gIGNvbG9yOiM2M2MwZDRcbn1cblxuLnRvcC1uYXYgbGkgYXtcbiAgY29sb3I6IzNCQjBDOVxufVxuXG4udG9wLW5hdiBsaSBhOmhvdmVyOm5vdCguYWN0aXZlKXtcbiAgY29sb3I6IzYzYzBkNFxufVxuXG4udG9wLW5hdiBsaSBhLmFjdGl2ZXtcbiAgYmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCB0cmFuc3BhcmVudCA5NSUsICMzQkIwQzkgOTUlKVxufVxuXG4uZ3JhZGllbnQtdGV4dHtcbiAgYmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoI0E2QjJDQiwgI0VCRkFGRik7XG4gIGJhY2tncm91bmQtY2xpcDp0ZXh0O1xuICAtd2Via2l0LXRleHQtZmlsbC1jb2xvcjp0cmFuc3BhcmVudFxufVxuXG4uYmctYm90dG9tLWxlYWZze1xuICBiYWNrZ3JvdW5kLWltYWdlOnVybChpbWFnZXMvYm90dG9tLWxlYWZzLnBuZyk7XG4gIGJhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOmNvbnRhaW47XG4gIGJhY2tncm91bmQtcG9zaXRpb246Ym90dG9tIGNlbnRlclxufVxuXG4ubmV3cy1pdGVte1xuICBoZWlnaHQ6MjcycHhcbn1cblxuLmltYWdlLWNvdmVyOmFmdGVye1xuICBjb250ZW50OicnO1xuICBwb3NpdGlvbjphYnNvbHV0ZTtcbiAgd2lkdGg6MTAwJTtcbiAgaGVpZ2h0OjEwMCU7XG4gIHRvcDowO1xuICBsZWZ0OjA7XG4gIHotaW5kZXg6MTU7XG4gIGJhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwLjUpXG59XG5cbi5jYXJvdXNlbC1oZXJvLXN0eWxlcyAudG5zLWNvbnRyb2xze1xuICBkaXNwbGF5Om5vbmUgIWltcG9ydGFudFxufVxuXG4uY2Fyb3VzZWwtaGVyby1zdHlsZXMgLnRucy1uYXZ7XG4gIHBvc2l0aW9uOmFic29sdXRlO1xuICBib3R0b206MDtcbiAgbGVmdDowO1xuICB3aWR0aDoxMDAlO1xuICBoZWlnaHQ6Mi41cmVtO1xuICB6LWluZGV4OjEwO1xuICBkaXNwbGF5OmZsZXg7XG4gIGFsaWduLWl0ZW1zOmNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OmNlbnRlclxufVxuXG4uY2Fyb3VzZWwtaGVyby1zdHlsZXMgLnRucy1uYXYgPiA6bm90KFtoaWRkZW5dKSB+IDpub3QoW2hpZGRlbl0pe1xuICAtLXR3LXNwYWNlLXgtcmV2ZXJzZTowO1xuICBtYXJnaW4tcmlnaHQ6Y2FsYygwLjVyZW0gKiB2YXIoLS10dy1zcGFjZS14LXJldmVyc2UpKTtcbiAgbWFyZ2luLWxlZnQ6Y2FsYygwLjVyZW0gKiBjYWxjKDEgLSB2YXIoLS10dy1zcGFjZS14LXJldmVyc2UpKSlcbn1cblxuLmNhcm91c2VsLWhlcm8tc3R5bGVzIC50bnMtbmF2IGJ1dHRvbntcbiAgd2lkdGg6MTJweDtcbiAgaGVpZ2h0OjEycHg7XG4gIGJvcmRlci1yYWRpdXM6OTk5OXB4O1xuICAtLXR3LWJnLW9wYWNpdHk6MTtcbiAgYmFja2dyb3VuZC1jb2xvcjpyZ2JhKDE1NiwgMTYzLCAxNzUsIHZhcigtLXR3LWJnLW9wYWNpdHkpKVxufVxuXG4uY2Fyb3VzZWwtaGVyby1zdHlsZXMgLnRucy1uYXYgYnV0dG9uLnRucy1uYXYtYWN0aXZle1xuICBiYWNrZ3JvdW5kLWNvbG9yOiMzQkIwQzlcbn1cblxuLmNhcm91c2VsLW5ld3Mtc3R5bGVzIC50bnMtY29udHJvbHMgYnV0dG9uW2RhdGEtY29udHJvbHM9J3ByZXYnXXtcbiAgcG9zaXRpb246YWJzb2x1dGU7XG4gIHRvcDo1NSU7XG4gIGxlZnQ6MTZweDtcbiAgdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTU1JSk7XG4gIHotaW5kZXg6NTA7XG4gIHdpZHRoOjQ4cHg7XG4gIGhlaWdodDo0OHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiMzQkIwQzk7XG4gIGNvbG9yOndoaXRlO1xuICBib3JkZXItcmFkaXVzOjUwJTtcbiAgdGV4dC1hbGlnbjpjZW50ZXJcbn1cblxuLmNhcm91c2VsLW5ld3Mtc3R5bGVzIC50bnMtY29udHJvbHMgYnV0dG9uW2RhdGEtY29udHJvbHM9J3ByZXYnXSBpbWd7XG4gIG1hcmdpbjphdXRvXG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyODBweCl7XG4gIC5jYXJvdXNlbC1uZXdzLXN0eWxlcyAudG5zLWNvbnRyb2xzIGJ1dHRvbltkYXRhLWNvbnRyb2xzPSdwcmV2J117XG4gICAgbGVmdDotNjBweFxuICB9XG59XG5cbi5jYXJvdXNlbC1uZXdzLXN0eWxlcyAudG5zLWNvbnRyb2xzIGJ1dHRvbltkYXRhLWNvbnRyb2xzPSduZXh0J117XG4gIHBvc2l0aW9uOmFic29sdXRlO1xuICB0b3A6NTUlO1xuICByaWdodDoxNnB4O1xuICB0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTUlKTtcbiAgei1pbmRleDo1MDtcbiAgd2lkdGg6NDhweDtcbiAgaGVpZ2h0OjQ4cHg7XG4gIGJhY2tncm91bmQtY29sb3I6IzNCQjBDOTtcbiAgY29sb3I6d2hpdGU7XG4gIGJvcmRlci1yYWRpdXM6NTAlO1xuICB0ZXh0LWFsaWduOmNlbnRlclxufVxuXG4uY2Fyb3VzZWwtbmV3cy1zdHlsZXMgLnRucy1jb250cm9scyBidXR0b25bZGF0YS1jb250cm9scz0nbmV4dCddIGltZ3tcbiAgbWFyZ2luOmF1dG9cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTI4MHB4KXtcbiAgLmNhcm91c2VsLW5ld3Mtc3R5bGVzIC50bnMtY29udHJvbHMgYnV0dG9uW2RhdGEtY29udHJvbHM9J25leHQnXXtcbiAgICByaWdodDotNjBweFxuICB9XG59XG5cbi8qISB0YWlsd2luZGNzcyB2Mi4yLjE1IHwgTUlUIExpY2Vuc2UgfCBodHRwczovL3RhaWx3aW5kY3NzLmNvbSAqL1xuXG4vKiEgbW9kZXJuLW5vcm1hbGl6ZSB2MS4xLjAgfCBNSVQgTGljZW5zZSB8IGh0dHBzOi8vZ2l0aHViLmNvbS9zaW5kcmVzb3JodXMvbW9kZXJuLW5vcm1hbGl6ZSAqL1xuXG4vKlxuRG9jdW1lbnRcbj09PT09PT09XG4qL1xuXG4vKipcblVzZSBhIGJldHRlciBib3ggbW9kZWwgKG9waW5pb25hdGVkKS5cbiovXG5cbiosXG46OmJlZm9yZSxcbjo6YWZ0ZXIge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG4vKipcblVzZSBhIG1vcmUgcmVhZGFibGUgdGFiIHNpemUgKG9waW5pb25hdGVkKS5cbiovXG5cbmh0bWwge1xuICAtbW96LXRhYi1zaXplOiA0O1xuICB0YWItc2l6ZTogNDtcbn1cblxuLyoqXG4xLiBDb3JyZWN0IHRoZSBsaW5lIGhlaWdodCBpbiBhbGwgYnJvd3NlcnMuXG4yLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluIGlPUy5cbiovXG5cbmh0bWwge1xuICBsaW5lLWhlaWdodDogMS4xNTsgLyogMSAqL1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi9cbn1cblxuLypcblNlY3Rpb25zXG49PT09PT09PVxuKi9cblxuLyoqXG5SZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMuXG4qL1xuXG5ib2R5IHtcbiAgbWFyZ2luOiAwO1xufVxuXG4vKipcbkltcHJvdmUgY29uc2lzdGVuY3kgb2YgZGVmYXVsdCBmb250cyBpbiBhbGwgYnJvd3NlcnMuIChodHRwczovL2dpdGh1Yi5jb20vc2luZHJlc29yaHVzL21vZGVybi1ub3JtYWxpemUvaXNzdWVzLzMpXG4qL1xuXG5ib2R5IHtcbiAgZm9udC1mYW1pbHk6XG5cdFx0c3lzdGVtLXVpLFxuXHRcdC1hcHBsZS1zeXN0ZW0sIC8qIEZpcmVmb3ggc3VwcG9ydHMgdGhpcyBidXQgbm90IHlldCBgc3lzdGVtLXVpYCAqL1xuXHRcdCdTZWdvZSBVSScsXG5cdFx0Um9ib3RvLFxuXHRcdEhlbHZldGljYSxcblx0XHRBcmlhbCxcblx0XHRzYW5zLXNlcmlmLFxuXHRcdCdBcHBsZSBDb2xvciBFbW9qaScsXG5cdFx0J1NlZ29lIFVJIEVtb2ppJztcbn1cblxuLypcbkdyb3VwaW5nIGNvbnRlbnRcbj09PT09PT09PT09PT09PT1cbiovXG5cbi8qKlxuMS4gQWRkIHRoZSBjb3JyZWN0IGhlaWdodCBpbiBGaXJlZm94LlxuMi4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2Ugb2YgYm9yZGVyIGNvbG9yIGluIEZpcmVmb3guIChodHRwczovL2J1Z3ppbGxhLm1vemlsbGEub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTA2NTUpXG4qL1xuXG5ociB7XG4gIGhlaWdodDogMDsgLyogMSAqL1xuICBjb2xvcjogaW5oZXJpdDsgLyogMiAqL1xufVxuXG4vKlxuVGV4dC1sZXZlbCBzZW1hbnRpY3Ncbj09PT09PT09PT09PT09PT09PT09XG4qL1xuXG4vKipcbkFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxuKi9cblxuYWJiclt0aXRsZV0ge1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7XG59XG5cbi8qKlxuQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIEVkZ2UgYW5kIFNhZmFyaS5cbiovXG5cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZGVyO1xufVxuXG4vKipcbjEuIEltcHJvdmUgY29uc2lzdGVuY3kgb2YgZGVmYXVsdCBmb250cyBpbiBhbGwgYnJvd3NlcnMuIChodHRwczovL2dpdGh1Yi5jb20vc2luZHJlc29yaHVzL21vZGVybi1ub3JtYWxpemUvaXNzdWVzLzMpXG4yLiBDb3JyZWN0IHRoZSBvZGQgJ2VtJyBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4qL1xuXG5jb2RlLFxua2JkLFxuc2FtcCxcbnByZSB7XG4gIGZvbnQtZmFtaWx5OlxuXHRcdHVpLW1vbm9zcGFjZSxcblx0XHRTRk1vbm8tUmVndWxhcixcblx0XHRDb25zb2xhcyxcblx0XHQnTGliZXJhdGlvbiBNb25vJyxcblx0XHRNZW5sbyxcblx0XHRtb25vc3BhY2U7IC8qIDEgKi9cbiAgZm9udC1zaXplOiAxZW07IC8qIDIgKi9cbn1cblxuLyoqXG5BZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiovXG5cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7XG59XG5cbi8qKlxuUHJldmVudCAnc3ViJyBhbmQgJ3N1cCcgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cbiovXG5cbnN1YixcbnN1cCB7XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTtcbn1cblxuc3VwIHtcbiAgdG9wOiAtMC41ZW07XG59XG5cbi8qXG5UYWJ1bGFyIGRhdGFcbj09PT09PT09PT09PVxuKi9cblxuLyoqXG4xLiBSZW1vdmUgdGV4dCBpbmRlbnRhdGlvbiBmcm9tIHRhYmxlIGNvbnRlbnRzIGluIENocm9tZSBhbmQgU2FmYXJpLiAoaHR0cHM6Ly9idWdzLmNocm9taXVtLm9yZy9wL2Nocm9taXVtL2lzc3Vlcy9kZXRhaWw/aWQ9OTk5MDg4LCBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAxMjk3KVxuMi4gQ29ycmVjdCB0YWJsZSBib3JkZXIgY29sb3IgaW5oZXJpdGFuY2UgaW4gYWxsIENocm9tZSBhbmQgU2FmYXJpLiAoaHR0cHM6Ly9idWdzLmNocm9taXVtLm9yZy9wL2Nocm9taXVtL2lzc3Vlcy9kZXRhaWw/aWQ9OTM1NzI5LCBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk1MDE2KVxuKi9cblxudGFibGUge1xuICB0ZXh0LWluZGVudDogMDsgLyogMSAqL1xuICBib3JkZXItY29sb3I6IGluaGVyaXQ7IC8qIDIgKi9cbn1cblxuLypcbkZvcm1zXG49PT09PVxuKi9cblxuLyoqXG4xLiBDaGFuZ2UgdGhlIGZvbnQgc3R5bGVzIGluIGFsbCBicm93c2Vycy5cbjIuIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaS5cbiovXG5cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0OyAvKiAxICovXG4gIGZvbnQtc2l6ZTogMTAwJTsgLyogMSAqL1xuICBsaW5lLWhlaWdodDogMS4xNTsgLyogMSAqL1xuICBtYXJnaW46IDA7IC8qIDIgKi9cbn1cblxuLyoqXG5SZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UgYW5kIEZpcmVmb3guXG4xLiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3guXG4qL1xuXG5idXR0b24sXG5zZWxlY3QgeyAvKiAxICovXG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuXG4vKipcbkNvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4qL1xuXG5idXR0b24sXG5bdHlwZT0nYnV0dG9uJ10ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbn1cblxuLyoqXG5SZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxuKi9cblxuLyoqXG5SZXN0b3JlIHRoZSBmb2N1cyBzdHlsZXMgdW5zZXQgYnkgdGhlIHByZXZpb3VzIHJ1bGUuXG4qL1xuXG4vKipcblJlbW92ZSB0aGUgYWRkaXRpb25hbCAnOmludmFsaWQnIHN0eWxlcyBpbiBGaXJlZm94LlxuU2VlOiBodHRwczovL2dpdGh1Yi5jb20vbW96aWxsYS9nZWNrby1kZXYvYmxvYi8yZjllYWNkOWQzZDk5NWM5MzdiNDI1MWE1NTU3ZDk1ZDQ5NGM5YmUxL2xheW91dC9zdHlsZS9yZXMvZm9ybXMuY3NzI0w3MjgtTDczN1xuKi9cblxuLyoqXG5SZW1vdmUgdGhlIHBhZGRpbmcgc28gZGV2ZWxvcGVycyBhcmUgbm90IGNhdWdodCBvdXQgd2hlbiB0aGV5IHplcm8gb3V0ICdmaWVsZHNldCcgZWxlbWVudHMgaW4gYWxsIGJyb3dzZXJzLlxuKi9cblxubGVnZW5kIHtcbiAgcGFkZGluZzogMDtcbn1cblxuLyoqXG5BZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSBhbmQgRmlyZWZveC5cbiovXG5cbnByb2dyZXNzIHtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG4vKipcbkNvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIFNhZmFyaS5cbiovXG5cbi8qKlxuMS4gQ29ycmVjdCB0aGUgb2RkIGFwcGVhcmFuY2UgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXG4yLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cbiovXG5cbi8qKlxuUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIG1hY09TLlxuKi9cblxuLyoqXG4xLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byAnaW5oZXJpdCcgaW4gU2FmYXJpLlxuKi9cblxuLypcbkludGVyYWN0aXZlXG49PT09PT09PT09PVxuKi9cblxuLypcbkFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIENocm9tZSBhbmQgU2FmYXJpLlxuKi9cblxuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGxpc3QtaXRlbTtcbn1cblxuLyoqXG4gKiBNYW51YWxseSBmb3JrZWQgZnJvbSBTVUlUIENTUyBCYXNlOiBodHRwczovL2dpdGh1Yi5jb20vc3VpdGNzcy9iYXNlXG4gKiBBIHRoaW4gbGF5ZXIgb24gdG9wIG9mIG5vcm1hbGl6ZS5jc3MgdGhhdCBwcm92aWRlcyBhIHN0YXJ0aW5nIHBvaW50IG1vcmVcbiAqIHN1aXRhYmxlIGZvciB3ZWIgYXBwbGljYXRpb25zLlxuICovXG5cbi8qKlxuICogUmVtb3ZlcyB0aGUgZGVmYXVsdCBzcGFjaW5nIGFuZCBib3JkZXIgZm9yIGFwcHJvcHJpYXRlIGVsZW1lbnRzLlxuICovXG5cbmJsb2NrcXVvdGUsXG5kbCxcbmRkLFxuaDEsXG5oMixcbmgzLFxuaDQsXG5oNSxcbmg2LFxuaHIsXG5maWd1cmUsXG5wLFxucHJlIHtcbiAgbWFyZ2luOiAwO1xufVxuXG5idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbn1cblxuZmllbGRzZXQge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG59XG5cbm9sLFxudWwge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi8qKlxuICogVGFpbHdpbmQgY3VzdG9tIHJlc2V0IHN0eWxlc1xuICovXG5cbi8qKlxuICogMS4gVXNlIHRoZSB1c2VyJ3MgY29uZmlndXJlZCBgc2Fuc2AgZm9udC1mYW1pbHkgKHdpdGggVGFpbHdpbmQncyBkZWZhdWx0XG4gKiAgICBzYW5zLXNlcmlmIGZvbnQgc3RhY2sgYXMgYSBmYWxsYmFjaykgYXMgYSBzYW5lIGRlZmF1bHQuXG4gKiAyLiBVc2UgVGFpbHdpbmQncyBkZWZhdWx0IFwibm9ybWFsXCIgbGluZS1oZWlnaHQgc28gdGhlIHVzZXIgaXNuJ3QgZm9yY2VkXG4gKiAgICB0byBvdmVycmlkZSBpdCB0byBlbnN1cmUgY29uc2lzdGVuY3kgZXZlbiB3aGVuIHVzaW5nIHRoZSBkZWZhdWx0IHRoZW1lLlxuICovXG5cbmh0bWwge1xuICBmb250LWZhbWlseTogQXJjaGl2bzsgLyogMSAqL1xuICBsaW5lLWhlaWdodDogMS41OyAvKiAyICovXG59XG5cbi8qKlxuICogSW5oZXJpdCBmb250LWZhbWlseSBhbmQgbGluZS1oZWlnaHQgZnJvbSBgaHRtbGAgc28gdXNlcnMgY2FuIHNldCB0aGVtIGFzXG4gKiBhIGNsYXNzIGRpcmVjdGx5IG9uIHRoZSBgaHRtbGAgZWxlbWVudC5cbiAqL1xuXG5ib2R5IHtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xufVxuXG4vKipcbiAqIDEuIFByZXZlbnQgcGFkZGluZyBhbmQgYm9yZGVyIGZyb20gYWZmZWN0aW5nIGVsZW1lbnQgd2lkdGguXG4gKlxuICogICAgV2UgdXNlZCB0byBzZXQgdGhpcyBpbiB0aGUgaHRtbCBlbGVtZW50IGFuZCBpbmhlcml0IGZyb21cbiAqICAgIHRoZSBwYXJlbnQgZWxlbWVudCBmb3IgZXZlcnl0aGluZyBlbHNlLiBUaGlzIGNhdXNlZCBpc3N1ZXNcbiAqICAgIGluIHNoYWRvdy1kb20tZW5oYW5jZWQgZWxlbWVudHMgbGlrZSA8ZGV0YWlscz4gd2hlcmUgdGhlIGNvbnRlbnRcbiAqICAgIGlzIHdyYXBwZWQgYnkgYSBkaXYgd2l0aCBib3gtc2l6aW5nIHNldCB0byBgY29udGVudC1ib3hgLlxuICpcbiAqICAgIGh0dHBzOi8vZ2l0aHViLmNvbS9tb3pkZXZzL2Nzc3JlbWVkeS9pc3N1ZXMvNFxuICpcbiAqXG4gKiAyLiBBbGxvdyBhZGRpbmcgYSBib3JkZXIgdG8gYW4gZWxlbWVudCBieSBqdXN0IGFkZGluZyBhIGJvcmRlci13aWR0aC5cbiAqXG4gKiAgICBCeSBkZWZhdWx0LCB0aGUgd2F5IHRoZSBicm93c2VyIHNwZWNpZmllcyB0aGF0IGFuIGVsZW1lbnQgc2hvdWxkIGhhdmUgbm9cbiAqICAgIGJvcmRlciBpcyBieSBzZXR0aW5nIGl0J3MgYm9yZGVyLXN0eWxlIHRvIGBub25lYCBpbiB0aGUgdXNlci1hZ2VudFxuICogICAgc3R5bGVzaGVldC5cbiAqXG4gKiAgICBJbiBvcmRlciB0byBlYXNpbHkgYWRkIGJvcmRlcnMgdG8gZWxlbWVudHMgYnkganVzdCBzZXR0aW5nIHRoZSBgYm9yZGVyLXdpZHRoYFxuICogICAgcHJvcGVydHksIHdlIGNoYW5nZSB0aGUgZGVmYXVsdCBib3JkZXItc3R5bGUgZm9yIGFsbCBlbGVtZW50cyB0byBgc29saWRgLCBhbmRcbiAqICAgIHVzZSBib3JkZXItd2lkdGggdG8gaGlkZSB0aGVtIGluc3RlYWQuIFRoaXMgd2F5IG91ciBgYm9yZGVyYCB1dGlsaXRpZXMgb25seVxuICogICAgbmVlZCB0byBzZXQgdGhlIGBib3JkZXItd2lkdGhgIHByb3BlcnR5IGluc3RlYWQgb2YgdGhlIGVudGlyZSBgYm9yZGVyYFxuICogICAgc2hvcnRoYW5kLCBtYWtpbmcgb3VyIGJvcmRlciB1dGlsaXRpZXMgbXVjaCBtb3JlIHN0cmFpZ2h0Zm9yd2FyZCB0byBjb21wb3NlLlxuICpcbiAqICAgIGh0dHBzOi8vZ2l0aHViLmNvbS90YWlsd2luZGNzcy90YWlsd2luZGNzcy9wdWxsLzExNlxuICovXG5cbiosXG46OmJlZm9yZSxcbjo6YWZ0ZXIge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gIGJvcmRlci13aWR0aDogMDsgLyogMiAqL1xuICBib3JkZXItc3R5bGU6IHNvbGlkOyAvKiAyICovXG4gIGJvcmRlci1jb2xvcjogY3VycmVudENvbG9yOyAvKiAyICovXG59XG5cbi8qXG4gKiBFbnN1cmUgaG9yaXpvbnRhbCBydWxlcyBhcmUgdmlzaWJsZSBieSBkZWZhdWx0XG4gKi9cblxuaHIge1xuICBib3JkZXItdG9wLXdpZHRoOiAxcHg7XG59XG5cbi8qKlxuICogVW5kbyB0aGUgYGJvcmRlci1zdHlsZTogbm9uZWAgcmVzZXQgdGhhdCBOb3JtYWxpemUgYXBwbGllcyB0byBpbWFnZXMgc28gdGhhdFxuICogb3VyIGBib3JkZXIte3dpZHRofWAgdXRpbGl0aWVzIGhhdmUgdGhlIGV4cGVjdGVkIGVmZmVjdC5cbiAqXG4gKiBUaGUgTm9ybWFsaXplIHJlc2V0IGlzIHVubmVjZXNzYXJ5IGZvciB1cyBzaW5jZSB3ZSBkZWZhdWx0IHRoZSBib3JkZXItd2lkdGhcbiAqIHRvIDAgb24gYWxsIGVsZW1lbnRzLlxuICpcbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS90YWlsd2luZGNzcy90YWlsd2luZGNzcy9pc3N1ZXMvMzYyXG4gKi9cblxuaW1nIHtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbn1cblxudGV4dGFyZWEge1xuICByZXNpemU6IHZlcnRpY2FsO1xufVxuXG5pbnB1dDo6cGxhY2Vob2xkZXIsXG50ZXh0YXJlYTo6cGxhY2Vob2xkZXIge1xuICBvcGFjaXR5OiAxO1xuICBjb2xvcjogIzljYTNhZjtcbn1cblxuYnV0dG9uIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4vKipcbiAqIE92ZXJyaWRlIGxlZ2FjeSBmb2N1cyByZXNldCBmcm9tIE5vcm1hbGl6ZSB3aXRoIG1vZGVybiBGaXJlZm94IGZvY3VzIHN0eWxlcy5cbiAqXG4gKiBUaGlzIGlzIGFjdHVhbGx5IGFuIGltcHJvdmVtZW50IG92ZXIgdGhlIG5ldyBkZWZhdWx0cyBpbiBGaXJlZm94IGluIG91ciB0ZXN0aW5nLFxuICogYXMgaXQgdHJpZ2dlcnMgdGhlIGJldHRlciBmb2N1cyBzdHlsZXMgZXZlbiBmb3IgbGlua3MsIHdoaWNoIHN0aWxsIHVzZSBhIGRvdHRlZFxuICogb3V0bGluZSBpbiBGaXJlZm94IGJ5IGRlZmF1bHQuXG4gKi9cblxudGFibGUge1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xufVxuXG5oMSxcbmgyLFxuaDMsXG5oNCxcbmg1LFxuaDYge1xuICBmb250LXNpemU6IGluaGVyaXQ7XG4gIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xufVxuXG4vKipcbiAqIFJlc2V0IGxpbmtzIHRvIG9wdGltaXplIGZvciBvcHQtaW4gc3R5bGluZyBpbnN0ZWFkIG9mXG4gKiBvcHQtb3V0LlxuICovXG5cbmEge1xuICBjb2xvcjogaW5oZXJpdDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBpbmhlcml0O1xufVxuXG4vKipcbiAqIFJlc2V0IGZvcm0gZWxlbWVudCBwcm9wZXJ0aWVzIHRoYXQgYXJlIGVhc3kgdG8gZm9yZ2V0IHRvXG4gKiBzdHlsZSBleHBsaWNpdGx5IHNvIHlvdSBkb24ndCBpbmFkdmVydGVudGx5IGludHJvZHVjZVxuICogc3R5bGVzIHRoYXQgZGV2aWF0ZSBmcm9tIHlvdXIgZGVzaWduIHN5c3RlbS4gVGhlc2Ugc3R5bGVzXG4gKiBzdXBwbGVtZW50IGEgcGFydGlhbCByZXNldCB0aGF0IGlzIGFscmVhZHkgYXBwbGllZCBieVxuICogbm9ybWFsaXplLmNzcy5cbiAqL1xuXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBwYWRkaW5nOiAwO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgY29sb3I6IGluaGVyaXQ7XG59XG5cbi8qKlxuICogVXNlIHRoZSBjb25maWd1cmVkICdtb25vJyBmb250IGZhbWlseSBmb3IgZWxlbWVudHMgdGhhdFxuICogYXJlIGV4cGVjdGVkIHRvIGJlIHJlbmRlcmVkIHdpdGggYSBtb25vc3BhY2UgZm9udCwgZmFsbGluZ1xuICogYmFjayB0byB0aGUgc3lzdGVtIG1vbm9zcGFjZSBzdGFjayBpZiB0aGVyZSBpcyBubyBjb25maWd1cmVkXG4gKiAnbW9ubycgZm9udCBmYW1pbHkuXG4gKi9cblxucHJlLFxuY29kZSxcbmtiZCxcbnNhbXAge1xuICBmb250LWZhbWlseTogdWktbW9ub3NwYWNlLCBTRk1vbm8tUmVndWxhciwgTWVubG8sIE1vbmFjbywgQ29uc29sYXMsIFwiTGliZXJhdGlvbiBNb25vXCIsIFwiQ291cmllciBOZXdcIiwgbW9ub3NwYWNlO1xufVxuXG4vKipcbiAqIDEuIE1ha2UgcmVwbGFjZWQgZWxlbWVudHMgYGRpc3BsYXk6IGJsb2NrYCBieSBkZWZhdWx0IGFzIHRoYXQnc1xuICogICAgdGhlIGJlaGF2aW9yIHlvdSB3YW50IGFsbW9zdCBhbGwgb2YgdGhlIHRpbWUuIEluc3BpcmVkIGJ5XG4gKiAgICBDU1MgUmVtZWR5LCB3aXRoIGBzdmdgIGFkZGVkIGFzIHdlbGwuXG4gKlxuICogICAgaHR0cHM6Ly9naXRodWIuY29tL21vemRldnMvY3NzcmVtZWR5L2lzc3Vlcy8xNFxuICogXG4gKiAyLiBBZGQgYHZlcnRpY2FsLWFsaWduOiBtaWRkbGVgIHRvIGFsaWduIHJlcGxhY2VkIGVsZW1lbnRzIG1vcmVcbiAqICAgIHNlbnNpYmx5IGJ5IGRlZmF1bHQgd2hlbiBvdmVycmlkaW5nIGBkaXNwbGF5YCBieSBhZGRpbmcgYVxuICogICAgdXRpbGl0eSBsaWtlIGBpbmxpbmVgLlxuICpcbiAqICAgIFRoaXMgY2FuIHRyaWdnZXIgYSBwb29ybHkgY29uc2lkZXJlZCBsaW50aW5nIGVycm9yIGluIHNvbWVcbiAqICAgIHRvb2xzIGJ1dCBpcyBpbmNsdWRlZCBieSBkZXNpZ24uXG4gKiBcbiAqICAgIGh0dHBzOi8vZ2l0aHViLmNvbS9qZW5zaW1tb25zL2Nzc3JlbWVkeS9pc3N1ZXMvMTQjaXNzdWVjb21tZW50LTYzNDkzNDIxMFxuICovXG5cbmltZyxcbnN2ZyxcbnZpZGVvLFxuY2FudmFzLFxuYXVkaW8sXG5pZnJhbWUsXG5lbWJlZCxcbm9iamVjdCB7XG4gIGRpc3BsYXk6IGJsb2NrOyAvKiAxICovXG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBDb25zdHJhaW4gaW1hZ2VzIGFuZCB2aWRlb3MgdG8gdGhlIHBhcmVudCB3aWR0aCBhbmQgcHJlc2VydmVcbiAqIHRoZWlyIGludHJpbnNpYyBhc3BlY3QgcmF0aW8uXG4gKlxuICogaHR0cHM6Ly9naXRodWIuY29tL21vemRldnMvY3NzcmVtZWR5L2lzc3Vlcy8xNFxuICovXG5cbmltZyxcbnZpZGVvIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi8qKlxuICogRW5zdXJlIHRoZSBkZWZhdWx0IGJyb3dzZXIgYmVoYXZpb3Igb2YgdGhlIGBoaWRkZW5gIGF0dHJpYnV0ZS5cbiAqL1xuXG5baGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbiosIDo6YmVmb3JlLCA6OmFmdGVye1xuICAtLXR3LWJvcmRlci1vcGFjaXR5OjE7XG4gIGJvcmRlci1jb2xvcjpyZ2JhKDIyOSwgMjMxLCAyMzUsIHZhcigtLXR3LWJvcmRlci1vcGFjaXR5KSlcbn1cblxuLmNvbnRhaW5lcntcbiAgd2lkdGg6MTAwJVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpe1xuICAuY29udGFpbmVye1xuICAgIG1heC13aWR0aDo2NDBweFxuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCl7XG4gIC5jb250YWluZXJ7XG4gICAgbWF4LXdpZHRoOjc2OHB4XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCl7XG4gIC5jb250YWluZXJ7XG4gICAgbWF4LXdpZHRoOjEwMjRweFxuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMjgwcHgpe1xuICAuY29udGFpbmVye1xuICAgIG1heC13aWR0aDoxMjgwcHhcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTUzNnB4KXtcbiAgLmNvbnRhaW5lcntcbiAgICBtYXgtd2lkdGg6MTUzNnB4XG4gIH1cbn1cblxuXG4uYXNwZWN0LXctMTZ7XG4gIHBvc2l0aW9uOnJlbGF0aXZlO1xuICBwYWRkaW5nLWJvdHRvbTpjYWxjKHZhcigtLXR3LWFzcGVjdC1oKSAvIHZhcigtLXR3LWFzcGVjdC13KSAqIDEwMCUpXG59XG5cblxuLmFzcGVjdC13LTE2ID4gKntcbiAgcG9zaXRpb246YWJzb2x1dGU7XG4gIGhlaWdodDoxMDAlO1xuICB3aWR0aDoxMDAlO1xuICB0b3A6MDtcbiAgcmlnaHQ6MDtcbiAgYm90dG9tOjA7XG4gIGxlZnQ6MFxufVxuXG4uYXNwZWN0LXctMTZ7XG4gIC0tdHctYXNwZWN0LXc6MTZcbn1cblxuLmFzcGVjdC1oLTl7XG4gIC0tdHctYXNwZWN0LWg6OVxufVxuXG4uYWJzb2x1dGV7XG4gIHBvc2l0aW9uOmFic29sdXRlXG59XG5cbi5yZWxhdGl2ZXtcbiAgcG9zaXRpb246cmVsYXRpdmVcbn1cblxuLnRvcC0we1xuICB0b3A6MHB4XG59XG5cbi5sZWZ0LTB7XG4gIGxlZnQ6MHB4XG59XG5cbi56LTEwe1xuICB6LWluZGV4OjEwXG59XG5cbi56LTIwe1xuICB6LWluZGV4OjIwXG59XG5cbi56LTMwe1xuICB6LWluZGV4OjMwXG59XG5cbi5vcmRlci0xe1xuICBvcmRlcjoxXG59XG5cbi5vcmRlci0ye1xuICBvcmRlcjoyXG59XG5cbi5vcmRlci0ze1xuICBvcmRlcjozXG59XG5cbi5vcmRlci00e1xuICBvcmRlcjo0XG59XG5cbi5tLTJ7XG4gIG1hcmdpbjowLjVyZW1cbn1cblxuLi1tLTJ7XG4gIG1hcmdpbjotMC41cmVtXG59XG5cbi5teC1hdXRve1xuICBtYXJnaW4tbGVmdDphdXRvO1xuICBtYXJnaW4tcmlnaHQ6YXV0b1xufVxuXG4ubXQtM3tcbiAgbWFyZ2luLXRvcDowLjc1cmVtXG59XG5cbi5tdC1hdXRve1xuICBtYXJnaW4tdG9wOmF1dG9cbn1cblxuLm1iLTZ7XG4gIG1hcmdpbi1ib3R0b206MS41cmVtXG59XG5cbi5ibG9ja3tcbiAgZGlzcGxheTpibG9ja1xufVxuXG4uZmxleHtcbiAgZGlzcGxheTpmbGV4XG59XG5cbi50YWJsZXtcbiAgZGlzcGxheTp0YWJsZVxufVxuXG4uaGlkZGVue1xuICBkaXNwbGF5Om5vbmVcbn1cblxuLmgtOHtcbiAgaGVpZ2h0OjJyZW1cbn1cblxuLmgtOXtcbiAgaGVpZ2h0OjIuMjVyZW1cbn1cblxuLmgtMzJ7XG4gIGhlaWdodDo4cmVtXG59XG5cbi5oLWZ1bGx7XG4gIGhlaWdodDoxMDAlXG59XG5cbi53LTZ7XG4gIHdpZHRoOjEuNXJlbVxufVxuXG4udy05e1xuICB3aWR0aDoyLjI1cmVtXG59XG5cbi53LTEye1xuICB3aWR0aDozcmVtXG59XG5cbi53LTQ4e1xuICB3aWR0aDoxMnJlbVxufVxuXG4udy1mdWxse1xuICB3aWR0aDoxMDAlXG59XG5cbi5tYXgtdy02eGx7XG4gIG1heC13aWR0aDo3MnJlbVxufVxuXG4ubWF4LXctOHhse1xuICBtYXgtd2lkdGg6OTByZW1cbn1cblxuLmZsZXgtc2hyaW5rLTB7XG4gIGZsZXgtc2hyaW5rOjBcbn1cblxuQGtleWZyYW1lcyBzcGlue1xuICB0b3tcbiAgICB0cmFuc2Zvcm06cm90YXRlKDM2MGRlZylcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHBpbmd7XG4gIDc1JSwgMTAwJXtcbiAgICB0cmFuc2Zvcm06c2NhbGUoMik7XG4gICAgb3BhY2l0eTowXG4gIH1cbn1cblxuQGtleWZyYW1lcyBwdWxzZXtcbiAgNTAle1xuICAgIG9wYWNpdHk6LjVcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGJvdW5jZXtcbiAgMCUsIDEwMCV7XG4gICAgdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTI1JSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoMC44LDAsMSwxKVxuICB9XG5cbiAgNTAle1xuICAgIHRyYW5zZm9ybTpub25lO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKDAsMCwwLjIsMSlcbiAgfVxufVxuXG4uZmxleC1jb2x7XG4gIGZsZXgtZGlyZWN0aW9uOmNvbHVtblxufVxuXG4uZmxleC13cmFwe1xuICBmbGV4LXdyYXA6d3JhcFxufVxuXG4uaXRlbXMtY2VudGVye1xuICBhbGlnbi1pdGVtczpjZW50ZXJcbn1cblxuLml0ZW1zLXN0cmV0Y2h7XG4gIGFsaWduLWl0ZW1zOnN0cmV0Y2hcbn1cblxuLmp1c3RpZnktY2VudGVye1xuICBqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyXG59XG5cbi5qdXN0aWZ5LWJldHdlZW57XG4gIGp1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuXG59XG5cbi5zcGFjZS14LTIgPiA6bm90KFtoaWRkZW5dKSB+IDpub3QoW2hpZGRlbl0pe1xuICAtLXR3LXNwYWNlLXgtcmV2ZXJzZTowO1xuICBtYXJnaW4tcmlnaHQ6Y2FsYygwLjVyZW0gKiB2YXIoLS10dy1zcGFjZS14LXJldmVyc2UpKTtcbiAgbWFyZ2luLWxlZnQ6Y2FsYygwLjVyZW0gKiBjYWxjKDEgLSB2YXIoLS10dy1zcGFjZS14LXJldmVyc2UpKSlcbn1cblxuLnNwYWNlLXgtNCA+IDpub3QoW2hpZGRlbl0pIH4gOm5vdChbaGlkZGVuXSl7XG4gIC0tdHctc3BhY2UteC1yZXZlcnNlOjA7XG4gIG1hcmdpbi1yaWdodDpjYWxjKDFyZW0gKiB2YXIoLS10dy1zcGFjZS14LXJldmVyc2UpKTtcbiAgbWFyZ2luLWxlZnQ6Y2FsYygxcmVtICogY2FsYygxIC0gdmFyKC0tdHctc3BhY2UteC1yZXZlcnNlKSkpXG59XG5cbi5zcGFjZS14LTYgPiA6bm90KFtoaWRkZW5dKSB+IDpub3QoW2hpZGRlbl0pe1xuICAtLXR3LXNwYWNlLXgtcmV2ZXJzZTowO1xuICBtYXJnaW4tcmlnaHQ6Y2FsYygxLjVyZW0gKiB2YXIoLS10dy1zcGFjZS14LXJldmVyc2UpKTtcbiAgbWFyZ2luLWxlZnQ6Y2FsYygxLjVyZW0gKiBjYWxjKDEgLSB2YXIoLS10dy1zcGFjZS14LXJldmVyc2UpKSlcbn1cblxuLnNwYWNlLXktMiA+IDpub3QoW2hpZGRlbl0pIH4gOm5vdChbaGlkZGVuXSl7XG4gIC0tdHctc3BhY2UteS1yZXZlcnNlOjA7XG4gIG1hcmdpbi10b3A6Y2FsYygwLjVyZW0gKiBjYWxjKDEgLSB2YXIoLS10dy1zcGFjZS15LXJldmVyc2UpKSk7XG4gIG1hcmdpbi1ib3R0b206Y2FsYygwLjVyZW0gKiB2YXIoLS10dy1zcGFjZS15LXJldmVyc2UpKVxufVxuXG4uc3BhY2UteS02ID4gOm5vdChbaGlkZGVuXSkgfiA6bm90KFtoaWRkZW5dKXtcbiAgLS10dy1zcGFjZS15LXJldmVyc2U6MDtcbiAgbWFyZ2luLXRvcDpjYWxjKDEuNXJlbSAqIGNhbGMoMSAtIHZhcigtLXR3LXNwYWNlLXktcmV2ZXJzZSkpKTtcbiAgbWFyZ2luLWJvdHRvbTpjYWxjKDEuNXJlbSAqIHZhcigtLXR3LXNwYWNlLXktcmV2ZXJzZSkpXG59XG5cbi5zcGFjZS15LTE2ID4gOm5vdChbaGlkZGVuXSkgfiA6bm90KFtoaWRkZW5dKXtcbiAgLS10dy1zcGFjZS15LXJldmVyc2U6MDtcbiAgbWFyZ2luLXRvcDpjYWxjKDRyZW0gKiBjYWxjKDEgLSB2YXIoLS10dy1zcGFjZS15LXJldmVyc2UpKSk7XG4gIG1hcmdpbi1ib3R0b206Y2FsYyg0cmVtICogdmFyKC0tdHctc3BhY2UteS1yZXZlcnNlKSlcbn1cblxuLmRpdmlkZS15ID4gOm5vdChbaGlkZGVuXSkgfiA6bm90KFtoaWRkZW5dKXtcbiAgLS10dy1kaXZpZGUteS1yZXZlcnNlOjA7XG4gIGJvcmRlci10b3Atd2lkdGg6Y2FsYygxcHggKiBjYWxjKDEgLSB2YXIoLS10dy1kaXZpZGUteS1yZXZlcnNlKSkpO1xuICBib3JkZXItYm90dG9tLXdpZHRoOmNhbGMoMXB4ICogdmFyKC0tdHctZGl2aWRlLXktcmV2ZXJzZSkpXG59XG5cbi5vdmVyZmxvdy1oaWRkZW57XG4gIG92ZXJmbG93OmhpZGRlblxufVxuXG4ucm91bmRlZC1sZ3tcbiAgYm9yZGVyLXJhZGl1czowLjVyZW1cbn1cblxuLnJvdW5kZWQtZnVsbHtcbiAgYm9yZGVyLXJhZGl1czo5OTk5cHhcbn1cblxuLmJvcmRlci0ye1xuICBib3JkZXItd2lkdGg6MnB4XG59XG5cbi5ib3JkZXItYi0ye1xuICBib3JkZXItYm90dG9tLXdpZHRoOjJweFxufVxuXG4uYm9yZGVyLXNvbGlke1xuICBib3JkZXItc3R5bGU6c29saWRcbn1cblxuLmJvcmRlci13aGl0ZXtcbiAgLS10dy1ib3JkZXItb3BhY2l0eToxO1xuICBib3JkZXItY29sb3I6cmdiYSgyNTUsIDI1NSwgMjU1LCB2YXIoLS10dy1ib3JkZXItb3BhY2l0eSkpXG59XG5cbi5ib3JkZXItZ2Etb3Jhbmdle1xuICAtLXR3LWJvcmRlci1vcGFjaXR5OjE7XG4gIGJvcmRlci1jb2xvcjpyZ2JhKDI0NiwgMTc3LCA2MCwgdmFyKC0tdHctYm9yZGVyLW9wYWNpdHkpKVxufVxuXG4uYmctd2hpdGV7XG4gIC0tdHctYmctb3BhY2l0eToxO1xuICBiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LCAyNTUsIDI1NSwgdmFyKC0tdHctYmctb3BhY2l0eSkpXG59XG5cbi5iZy1ncmF5LTEwMHtcbiAgLS10dy1iZy1vcGFjaXR5OjE7XG4gIGJhY2tncm91bmQtY29sb3I6cmdiYSgyNDMsIDI0NCwgMjQ2LCB2YXIoLS10dy1iZy1vcGFjaXR5KSlcbn1cblxuLmJnLWdhLWRhcmtibHVle1xuICAtLXR3LWJnLW9wYWNpdHk6MTtcbiAgYmFja2dyb3VuZC1jb2xvcjpyZ2JhKDcsIDM3LCA5NywgdmFyKC0tdHctYmctb3BhY2l0eSkpXG59XG5cbi5iZy1nYS1jb3JhbHtcbiAgLS10dy1iZy1vcGFjaXR5OjE7XG4gIGJhY2tncm91bmQtY29sb3I6cmdiYSg1OSwgMTc2LCAyMDEsIHZhcigtLXR3LWJnLW9wYWNpdHkpKVxufVxuXG4uYmctb3BhY2l0eS0xMHtcbiAgLS10dy1iZy1vcGFjaXR5OjAuMVxufVxuXG4uYmctb3BhY2l0eS05NXtcbiAgLS10dy1iZy1vcGFjaXR5OjAuOTVcbn1cblxuLm9iamVjdC1jb3ZlcntcbiAgb2JqZWN0LWZpdDpjb3ZlclxufVxuXG4ub2JqZWN0LWNlbnRlcntcbiAgb2JqZWN0LXBvc2l0aW9uOmNlbnRlclxufVxuXG4ucC00e1xuICBwYWRkaW5nOjFyZW1cbn1cblxuLnAtOHtcbiAgcGFkZGluZzoycmVtXG59XG5cbi5weC0we1xuICBwYWRkaW5nLWxlZnQ6MHB4O1xuICBwYWRkaW5nLXJpZ2h0OjBweFxufVxuXG4ucHgtNHtcbiAgcGFkZGluZy1sZWZ0OjFyZW07XG4gIHBhZGRpbmctcmlnaHQ6MXJlbVxufVxuXG4ucHgtNXtcbiAgcGFkZGluZy1sZWZ0OjEuMjVyZW07XG4gIHBhZGRpbmctcmlnaHQ6MS4yNXJlbVxufVxuXG4ucHgtNntcbiAgcGFkZGluZy1sZWZ0OjEuNXJlbTtcbiAgcGFkZGluZy1yaWdodDoxLjVyZW1cbn1cblxuLnB4LTh7XG4gIHBhZGRpbmctbGVmdDoycmVtO1xuICBwYWRkaW5nLXJpZ2h0OjJyZW1cbn1cblxuLnB5LTJ7XG4gIHBhZGRpbmctdG9wOjAuNXJlbTtcbiAgcGFkZGluZy1ib3R0b206MC41cmVtXG59XG5cbi5weS00e1xuICBwYWRkaW5nLXRvcDoxcmVtO1xuICBwYWRkaW5nLWJvdHRvbToxcmVtXG59XG5cbi5weS0xMntcbiAgcGFkZGluZy10b3A6M3JlbTtcbiAgcGFkZGluZy1ib3R0b206M3JlbVxufVxuXG4ucHktMTZ7XG4gIHBhZGRpbmctdG9wOjRyZW07XG4gIHBhZGRpbmctYm90dG9tOjRyZW1cbn1cblxuLnB5LTIwe1xuICBwYWRkaW5nLXRvcDo1cmVtO1xuICBwYWRkaW5nLWJvdHRvbTo1cmVtXG59XG5cbi5wdC03e1xuICBwYWRkaW5nLXRvcDoxLjc1cmVtXG59XG5cbi5wdC0xNntcbiAgcGFkZGluZy10b3A6NHJlbVxufVxuXG4ucGItNHtcbiAgcGFkZGluZy1ib3R0b206MXJlbVxufVxuXG4ucGItNXtcbiAgcGFkZGluZy1ib3R0b206MS4yNXJlbVxufVxuXG4ucGItNntcbiAgcGFkZGluZy1ib3R0b206MS41cmVtXG59XG5cbi5wYi0xMntcbiAgcGFkZGluZy1ib3R0b206M3JlbVxufVxuXG4ucGItMTR7XG4gIHBhZGRpbmctYm90dG9tOjMuNXJlbVxufVxuXG4ucGItNTJ7XG4gIHBhZGRpbmctYm90dG9tOjEzcmVtXG59XG5cbi50ZXh0LWNlbnRlcntcbiAgdGV4dC1hbGlnbjpjZW50ZXJcbn1cblxuLmZvbnQtc2VyaWZ7XG4gIGZvbnQtZmFtaWx5OlRhdmlyYWpcbn1cblxuLnRleHQteHN7XG4gIGZvbnQtc2l6ZTowLjc1cmVtO1xuICBsaW5lLWhlaWdodDoxcmVtXG59XG5cbi50ZXh0LXNte1xuICBmb250LXNpemU6MC44NzVyZW07XG4gIGxpbmUtaGVpZ2h0OjEuMjVyZW1cbn1cblxuLnRleHQteGx7XG4gIGZvbnQtc2l6ZToxLjI1cmVtO1xuICBsaW5lLWhlaWdodDoxLjc1cmVtXG59XG5cbi50ZXh0LTJ4bHtcbiAgZm9udC1zaXplOjEuNXJlbTtcbiAgbGluZS1oZWlnaHQ6MnJlbVxufVxuXG4udGV4dC0zeGx7XG4gIGZvbnQtc2l6ZToxLjg3NXJlbTtcbiAgbGluZS1oZWlnaHQ6Mi4yNXJlbVxufVxuXG4udGV4dC00eGx7XG4gIGZvbnQtc2l6ZToyLjI1cmVtO1xuICBsaW5lLWhlaWdodDoyLjVyZW1cbn1cblxuLmZvbnQtbGlnaHR7XG4gIGZvbnQtd2VpZ2h0OjMwMFxufVxuXG4uZm9udC1tZWRpdW17XG4gIGZvbnQtd2VpZ2h0OjUwMFxufVxuXG4uZm9udC1ib2xke1xuICBmb250LXdlaWdodDo3MDBcbn1cblxuLnVwcGVyY2FzZXtcbiAgdGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlXG59XG5cbi50ZXh0LXdoaXRle1xuICAtLXR3LXRleHQtb3BhY2l0eToxO1xuICBjb2xvcjpyZ2JhKDI1NSwgMjU1LCAyNTUsIHZhcigtLXR3LXRleHQtb3BhY2l0eSkpXG59XG5cbi50ZXh0LWdhLWRhcmtibHVle1xuICAtLXR3LXRleHQtb3BhY2l0eToxO1xuICBjb2xvcjpyZ2JhKDcsIDM3LCA5NywgdmFyKC0tdHctdGV4dC1vcGFjaXR5KSlcbn1cblxuLnRleHQtZ2EtY29yYWx7XG4gIC0tdHctdGV4dC1vcGFjaXR5OjE7XG4gIGNvbG9yOnJnYmEoNTksIDE3NiwgMjAxLCB2YXIoLS10dy10ZXh0LW9wYWNpdHkpKVxufVxuXG4udGV4dC1nYS1kYXJrZ3JheXtcbiAgLS10dy10ZXh0LW9wYWNpdHk6MTtcbiAgY29sb3I6cmdiYSg2NywgODMsIDk5LCB2YXIoLS10dy10ZXh0LW9wYWNpdHkpKVxufVxuXG4qLCA6OmJlZm9yZSwgOjphZnRlcntcbiAgLS10dy1zaGFkb3c6MCAwICMwMDAwXG59XG5cbi5zaGFkb3ctbGd7XG4gIC0tdHctc2hhZG93OjAgMTBweCAxNXB4IC0zcHggcmdiYSgwLCAwLCAwLCAwLjEpLCAwIDRweCA2cHggLTJweCByZ2JhKDAsIDAsIDAsIDAuMDUpO1xuICBib3gtc2hhZG93OnZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdywgMCAwICMwMDAwKSwgdmFyKC0tdHctcmluZy1zaGFkb3csIDAgMCAjMDAwMCksIHZhcigtLXR3LXNoYWRvdylcbn1cblxuKiwgOjpiZWZvcmUsIDo6YWZ0ZXJ7XG4gIC0tdHctcmluZy1pbnNldDp2YXIoLS10dy1lbXB0eSwvKiEqLyAvKiEqLyk7XG4gIC0tdHctcmluZy1vZmZzZXQtd2lkdGg6MHB4O1xuICAtLXR3LXJpbmctb2Zmc2V0LWNvbG9yOiNmZmY7XG4gIC0tdHctcmluZy1jb2xvcjpyZ2JhKDU5LCAxMzAsIDI0NiwgMC41KTtcbiAgLS10dy1yaW5nLW9mZnNldC1zaGFkb3c6MCAwICMwMDAwO1xuICAtLXR3LXJpbmctc2hhZG93OjAgMCAjMDAwMFxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpe1xuICAuc21cXDpweC00e1xuICAgIHBhZGRpbmctbGVmdDoxcmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6MXJlbVxuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCl7XG4gIC5tZFxcOm14LWF1dG97XG4gICAgbWFyZ2luLWxlZnQ6YXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6YXV0b1xuICB9XG5cbiAgLm1kXFw6bWF4LXctNnhse1xuICAgIG1heC13aWR0aDo3MnJlbVxuICB9XG5cbiAgLm1kXFw6ZmxleC1yb3d7XG4gICAgZmxleC1kaXJlY3Rpb246cm93XG4gIH1cblxuICAubWRcXDpzcGFjZS14LTE2ID4gOm5vdChbaGlkZGVuXSkgfiA6bm90KFtoaWRkZW5dKXtcbiAgICAtLXR3LXNwYWNlLXgtcmV2ZXJzZTowO1xuICAgIG1hcmdpbi1yaWdodDpjYWxjKDRyZW0gKiB2YXIoLS10dy1zcGFjZS14LXJldmVyc2UpKTtcbiAgICBtYXJnaW4tbGVmdDpjYWxjKDRyZW0gKiBjYWxjKDEgLSB2YXIoLS10dy1zcGFjZS14LXJldmVyc2UpKSlcbiAgfVxuXG4gIC5tZFxcOnNwYWNlLXktMCA+IDpub3QoW2hpZGRlbl0pIH4gOm5vdChbaGlkZGVuXSl7XG4gICAgLS10dy1zcGFjZS15LXJldmVyc2U6MDtcbiAgICBtYXJnaW4tdG9wOmNhbGMoMHB4ICogY2FsYygxIC0gdmFyKC0tdHctc3BhY2UteS1yZXZlcnNlKSkpO1xuICAgIG1hcmdpbi1ib3R0b206Y2FsYygwcHggKiB2YXIoLS10dy1zcGFjZS15LXJldmVyc2UpKVxuICB9XG5cbiAgLm1kXFw6cHgtMTB7XG4gICAgcGFkZGluZy1sZWZ0OjIuNXJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OjIuNXJlbVxuICB9XG5cbiAgLm1kXFw6cHgtNDB7XG4gICAgcGFkZGluZy1sZWZ0OjEwcmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6MTByZW1cbiAgfVxuXG4gIC5tZFxcOnBiLTcye1xuICAgIHBhZGRpbmctYm90dG9tOjE4cmVtXG4gIH1cblxuICAubWRcXDp0ZXh0LTN4bHtcbiAgICBmb250LXNpemU6MS44NzVyZW07XG4gICAgbGluZS1oZWlnaHQ6Mi4yNXJlbVxuICB9XG5cbiAgLm1kXFw6dGV4dC00eGx7XG4gICAgZm9udC1zaXplOjIuMjVyZW07XG4gICAgbGluZS1oZWlnaHQ6Mi41cmVtXG4gIH1cblxuICAubWRcXDp0ZXh0LTZ4bHtcbiAgICBmb250LXNpemU6My43NXJlbTtcbiAgICBsaW5lLWhlaWdodDoxXG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCl7XG4gIC5sZ1xcOmJsb2Nre1xuICAgIGRpc3BsYXk6YmxvY2tcbiAgfVxuXG4gIC5sZ1xcOmZsZXh7XG4gICAgZGlzcGxheTpmbGV4XG4gIH1cblxuICAubGdcXDpoaWRkZW57XG4gICAgZGlzcGxheTpub25lXG4gIH1cblxuICAubGdcXDp3LTNcXC81e1xuICAgIHdpZHRoOjYwJVxuICB9XG5cbiAgLmxnXFw6ZmxleC1yb3d7XG4gICAgZmxleC1kaXJlY3Rpb246cm93XG4gIH1cblxuICAubGdcXDpzcGFjZS14LTEyID4gOm5vdChbaGlkZGVuXSkgfiA6bm90KFtoaWRkZW5dKXtcbiAgICAtLXR3LXNwYWNlLXgtcmV2ZXJzZTowO1xuICAgIG1hcmdpbi1yaWdodDpjYWxjKDNyZW0gKiB2YXIoLS10dy1zcGFjZS14LXJldmVyc2UpKTtcbiAgICBtYXJnaW4tbGVmdDpjYWxjKDNyZW0gKiBjYWxjKDEgLSB2YXIoLS10dy1zcGFjZS14LXJldmVyc2UpKSlcbiAgfVxuXG4gIC5sZ1xcOnNwYWNlLXgtMTYgPiA6bm90KFtoaWRkZW5dKSB+IDpub3QoW2hpZGRlbl0pe1xuICAgIC0tdHctc3BhY2UteC1yZXZlcnNlOjA7XG4gICAgbWFyZ2luLXJpZ2h0OmNhbGMoNHJlbSAqIHZhcigtLXR3LXNwYWNlLXgtcmV2ZXJzZSkpO1xuICAgIG1hcmdpbi1sZWZ0OmNhbGMoNHJlbSAqIGNhbGMoMSAtIHZhcigtLXR3LXNwYWNlLXgtcmV2ZXJzZSkpKVxuICB9XG5cbiAgLmxnXFw6c3BhY2UteS0wID4gOm5vdChbaGlkZGVuXSkgfiA6bm90KFtoaWRkZW5dKXtcbiAgICAtLXR3LXNwYWNlLXktcmV2ZXJzZTowO1xuICAgIG1hcmdpbi10b3A6Y2FsYygwcHggKiBjYWxjKDEgLSB2YXIoLS10dy1zcGFjZS15LXJldmVyc2UpKSk7XG4gICAgbWFyZ2luLWJvdHRvbTpjYWxjKDBweCAqIHZhcigtLXR3LXNwYWNlLXktcmV2ZXJzZSkpXG4gIH1cblxuICAubGdcXDpwLTE2e1xuICAgIHBhZGRpbmc6NHJlbVxuICB9XG5cbiAgLmxnXFw6cHgtMTR7XG4gICAgcGFkZGluZy1sZWZ0OjMuNXJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OjMuNXJlbVxuICB9XG5cbiAgLmxnXFw6cHgtNTJ7XG4gICAgcGFkZGluZy1sZWZ0OjEzcmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6MTNyZW1cbiAgfVxuXG4gIC5sZ1xcOnB5LTMye1xuICAgIHBhZGRpbmctdG9wOjhyZW07XG4gICAgcGFkZGluZy1ib3R0b206OHJlbVxuICB9XG5cbiAgLmxnXFw6cHQtMjR7XG4gICAgcGFkZGluZy10b3A6NnJlbVxuICB9XG5cbiAgLmxnXFw6cHQtMzJ7XG4gICAgcGFkZGluZy10b3A6OHJlbVxuICB9XG5cbiAgLmxnXFw6cGItMjR7XG4gICAgcGFkZGluZy1ib3R0b206NnJlbVxuICB9XG5cbiAgLmxnXFw6cGItODB7XG4gICAgcGFkZGluZy1ib3R0b206MjByZW1cbiAgfVxuXG4gIC5sZ1xcOnRleHQtcmlnaHR7XG4gICAgdGV4dC1hbGlnbjpyaWdodFxuICB9XG5cbiAgLmxnXFw6dGV4dC0zeGx7XG4gICAgZm9udC1zaXplOjEuODc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OjIuMjVyZW1cbiAgfVxuXG4gIC5sZ1xcOnRleHQtNnhse1xuICAgIGZvbnQtc2l6ZTozLjc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OjFcbiAgfVxuXG4gIC5sZ1xcOnRleHQtOXhse1xuICAgIGZvbnQtc2l6ZTo4cmVtO1xuICAgIGxpbmUtaGVpZ2h0OjFcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTI4MHB4KXtcbiAgLnhsXFw6cHgtMHtcbiAgICBwYWRkaW5nLWxlZnQ6MHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6MHB4XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDE1MzZweCl7XG59Il19 */