/*!****************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[1]!./node_modules/resolve-url-loader/index.js??ruleSet[1].rules[4].oneOf[1].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[3]!./assets/godreauTheme/styles/app.scss ***!
  \****************************************************************************************************************************************************************************************************************************************************************************************/
/* ==========================================================================
   IMPORTS
   ========================================================================== */
/* ==========================================================================
   #COLORS
   ========================================================================== */
/* ==========================================================================
   #FONTS
   ========================================================================== */
@font-face {
  font-weight: 400;
  font-family: "Montserrat";
  font-style: normal;
  src: url(/build/godreau-theme/fonts/Montserrat-Regular.97dd187f.ttf) format("ttf");
}
@font-face {
  font-weight: 500;
  font-family: "Montserrat";
  font-style: normal;
  src: url(/build/godreau-theme/fonts/Montserrat-Medium.db6d7e7f.ttf) format("ttf");
}
@font-face {
  font-weight: 700;
  font-family: "Montserrat";
  font-style: normal;
  src: url(/build/godreau-theme/fonts/Montserrat-Bold.ee3cc608.ttf) format("ttf");
}
@font-face {
  font-weight: 400;
  font-family: "Montserrat";
  font-style: italic;
  src: url(/build/godreau-theme/fonts/Montserrat-Italic.f4a742d6.ttf) format("ttf");
}
@font-face {
  font-weight: 500;
  font-family: "Montserrat";
  font-style: italic;
  src: url(/build/godreau-theme/fonts/Montserrat-MediumItalic.67e6dda3.ttf) format("ttf");
}
/* ==========================================================================
   #GLOBAL
   ========================================================================== */
/* ==========================================================================
   #ROOT
   ========================================================================== */
:root {
  /**
   * Custom properties for typography.
   */
  --text-color: var(--color-black);
  --background-color: var(--color-white);
}

html {
  scroll-behavior: smooth;
  overflow: initial !important;
}

/* ==========================================================================
   ATOMIC BUILDER
   ========================================================================== */
/**
 * Atomic Builder, by @jlwebart
 *
 * github.com/jonathanlevaillant/atomic-builder
 */
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
/* Document
   ========================================================================== */
/**
 * 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;
}

/**
 * Render the `main` element consistently in IE.
 */
main {
  display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/* Grouping content
   ========================================================================== */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  box-sizing: content-box; /* 1 */
  height: 0; /* 1 */
  overflow: visible; /* 2 */
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/* Text-level semantics
   ========================================================================== */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  border-bottom: none; /* 1 */
  text-decoration: underline; /* 2 */
  text-decoration: underline dotted; /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-family: monospace, 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;
}

/* Embedded content
   ========================================================================== */
/**
 * Remove the border on images inside links in IE 10.
 */
img {
  border-style: none;
}

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

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input { /* 1 */
  overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 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.
 */
button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */
fieldset {
  padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */
legend {
  box-sizing: border-box; /* 1 */
  color: inherit; /* 2 */
  display: table; /* 1 */
  max-width: 100%; /* 1 */
  padding: 0; /* 3 */
  white-space: normal; /* 1 */
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
  overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type=checkbox],
[type=radio] {
  box-sizing: border-box; /* 1 */
  padding: 0; /* 2 */
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type=number]::-webkit-inner-spin-button,
[type=number]::-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.
 */
[type=search]::-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 Edge, IE 10+, and Firefox.
 */
details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item;
}

/* Misc
   ========================================================================== */
/**
 * Add the correct display in IE 10+.
 */
template {
  display: none;
}

/**
 * Add the correct display in IE 10.
 */
[hidden] {
  display: none;
}

/* ==========================================================================
   #BOX-SIZING
   ========================================================================== */
/* Declarative rules
   ========================================================================== */
html {
  box-sizing: border-box;
}

*,
*::before,
*::after {
  box-sizing: inherit;
}

/* ==========================================================================
   #RESET
   ========================================================================== */
/* Declarative rules
   ========================================================================== */
/**
 * Remove default margins.
 */
html,
body,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
hr,
p,
blockquote,
pre,
ol,
ul,
li,
dl,
dt,
dd,
fieldset,
legend,
figure {
  margin: 0;
  padding: 0;
}

/**
 * Reset heading styles.
 */
h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: normal;
  font-size: 100%;
}

/**
 * Remove default table spacing.
 */
table {
  border-collapse: collapse;
  border-spacing: 0;
}

/**
 * Remove default spacing between table cells.
 */
td,
th {
  padding: 0;
}

/**
 * Remove default border on fieldsets.
 */
fieldset {
  border: 0;
}

/**
 * Correct the text style of placeholders.
 */
::placeholder {
  color: inherit;
  opacity: 1;
}

/**
 * Remove default iframe border.
 */
iframe {
  border: 0;
}

/**
 * Remove the text style of addresses.
 */
address {
  font-style: normal;
}

/**
 * Remove the tapping delay on clickable elements.
 */
a,
area,
button,
input,
label,
select,
summary,
textarea,
[tabindex] {
  touch-action: manipulation;
}

/* ==========================================================================
   #SHARED
   ========================================================================== */
/* Declarative rules
   ========================================================================== */
/**
 * Add `min-width: 0` and `min-height: 0` to all elements
 */
*,
*::before,
*::after {
  min-width: 0;
  min-height: 0;
}

/**
 * Always declare margins in the same direction.
 */
h1,
h2,
h3,
h4,
h5,
h6,
hr,
p,
blockquote,
pre,
address,
ol,
ul,
dl,
fieldset,
table,
figure {
  margin-top: var(--spacer-base);
}
:first-child {
  margin-top: 0;
}

/**
 * Consistent indentation for lists.
 */
ol,
ul,
dd {
  padding-left: var(--spacer-base);
}

/**
 * Fluid media elements for responsive purposes.
 */
object,
embed,
img,
svg,
video {
  max-width: 100%;
  height: auto;
}

iframe,
audio {
  max-width: 100%;
}

/**
 * Change the alignment on media elements.
 */
iframe,
canvas,
img,
svg,
video,
audio {
  vertical-align: middle;
}

/**
 * Change the cursor with CSS for better user experience.
 */
[aria-busy=true] {
  cursor: progress;
}

[aria-controls] {
  cursor: pointer;
}

[aria-disabled=true],
[disabled] {
  cursor: not-allowed;
}

/* ==========================================================================
   #ROOT
   ========================================================================== */
/* Variables & Custom properties
   ========================================================================== */
:root {
  /**
   * Custom properties for colors.
   */
  --color-white: #FFFFFF;
  --color-black: #1B1B1B;
  --color-primary: #1878FF;
  --color-secondary: #FF3A39;
  --color-blue: #1878FF;
  --color-dark-blue: #0054CA;
  --color-darker-blue: #2F2F52;
  --color-red: #FF3A39;
  --color-gray: #949494;
  --color-light-gray: #E6E6E6;
  /**
   * Custom properties for typography.
   */
  --font-weight-base: 400;
  --font-weight-medium: 500;
  --font-weight-bold: 700;
  --font-size-base: 1.4rem;
  --line-height-base: 1.9;
  --font-size-h1: 2.4rem;
  --line-height-h1: 1.3666;
  --font-size-h2: 2rem;
  --line-height-h2: 1.4;
  --font-size-h3: 1.8rem;
  --line-height-h3: 1.6;
  --font-size-h4: 1.4rem;
  --line-height-h4: 1.2;
  --font-size-lg: 1.6rem;
  --line-height-lg: 1.785;
  --font-size-md: 1.4rem;
  --line-height-md: 2;
  --font-size-sm: 1.2rem;
  --line-height-sm: 1.4;
  --font-size-xs: 1rem;
  --line-height-xs: 1.2;
  --font-size-h1-big: 4.8rem;
  --line-height-h1-big: 1.3666;
  --font-size-icon-xs: 0.7rem;
  --line-height-icon-xs: 0;
  --font-family-base: Montserrat, sans-serif;
  /**
   * Custom properties for sizing values.
   */
  --size-100: 100%;
  --size-auto: auto;
  /**
   * Custom properties for spacing values.
   */
  --spacer-base: 1.6rem;
  --spacer-auto: auto;
  --spacer-none: 0;
  --spacer-2xl: 8rem;
  --spacer-xl: 4.8rem;
  --spacer-lg: 3rem;
  --spacer-md: 2.4rem;
  --spacer-base-md: 2rem;
  --spacer-sm: 0.8rem;
  --spacer-xs: 0.4rem;
  --spacer--base: -1.6rem;
  --spacer--md: -2.4rem;
  --spacer--lg: -3rem;
  --spacer-n: 0;
  /**
   * Custom properties for layout.
   */
  --container-max-width: 140rem;
  --container-side-margin: 0.8rem;
  --column-count: 12;
  --column-gap: 0.8rem;
  --row-gap: 0.8rem;
}
@media (min-width: 48em) {
  :root {
    --font-size-h1: 3.2rem;
    --line-height-h1: 1.375;
  }
}
@media (min-width: 48em) {
  :root {
    --font-size-h2: 2.4rem;
    --line-height-h2: 1.3666;
  }
}
@media (min-width: 48em) {
  :root {
    --font-size-h3: 2rem;
    --line-height-h3: 1.4;
  }
}
@media (min-width: 48em) {
  :root {
    --font-size-h4: 1.4rem;
    --line-height-h4: 1.2;
  }
}
@media (min-width: 48em) {
  :root {
    --font-size-h1-big: 6.4rem;
    --line-height-h1-big: 1.2;
  }
}
@media (min-width: 48em) {
  :root {
    --container-side-margin: 2rem;
  }
}
@media (min-width: 48em) {
  :root {
    --column-gap: 1.6rem;
  }
}
@media (min-width: 48em) {
  :root {
    --row-gap: 1.6rem;
  }
}

/* ==========================================================================
   #PAGE
   ========================================================================== */
/* Declarative rules
   ========================================================================== */
/**
 * 1. Force scrollbars to always be visible to prevent awkward 'jumps' when
 *    navigating between pages that do/do not have enough content to produce
 *    scrollbars naturally.
 * 2. Set the html font-size to "10px", which is adapted to rem unit.
 * 3. IE and Chrome math fixing.
 * 4. Breaks words to prevent overflow in all browsers.
 * 5. Enable font smoothing.
 * 6. Ensure the page always fills at least the entire height of the viewport.
 */
html {
  overflow-y: scroll; /* 1 */
  font-size: 62.5%; /* 2 */
  font-size: 0.625em; /* 3 */
  word-break: break-word; /* 4 */
  -webkit-font-smoothing: antialiased; /* 5 */
  -moz-osx-font-smoothing: grayscale; /* 5 */
}

body {
  min-height: 100vh; /* 6 */
  font-weight: var(--font-weight-base);
  font-size: var(--font-size-base);
  font-family: var(--font-family-base);
  line-height: var(--line-height-base);
}

/* ==========================================================================
   #HEADINGS
   ========================================================================== */
/* Declarative rules
   ========================================================================== */
h1 {
  font-size: var(--font-size-h1);
  line-height: var(--line-height-h1);
}

h2 {
  font-size: var(--font-size-h2);
  line-height: var(--line-height-h2);
}

h3 {
  font-size: var(--font-size-h3);
  line-height: var(--line-height-h3);
}

h4 {
  font-size: var(--font-size-h4);
  line-height: var(--line-height-h4);
}

h5 {
  font-size: var(--font-size-h5);
  line-height: var(--line-height-h5);
}

h6 {
  font-size: var(--font-size-h6);
  line-height: var(--line-height-h6);
}

/* ==========================================================================
   #FORMS
   ========================================================================== */
/* Declarative rules
   ========================================================================== */
textarea {
  vertical-align: top;
  resize: vertical;
}

/* ==========================================================================
   #TABLES
   ========================================================================== */
/* Declarative rules
   ========================================================================== */
table {
  width: 100%;
}

/* ==========================================================================
   #GRID
   ========================================================================== */
/* Variables & Custom properties
   ========================================================================== */
.o-grid {
  --grid-column-count: var(--column-count);
  --grid-column-width: auto;
  --grid-column-offset-width: 0;
  --grid-column-gap: var(--column-gap);
  --grid-row-gap: var(--row-gap);
}

.o-grid--1 {
  --grid-column-count: 1;
  --grid-column-width: calc(100% / var(--grid-column-count));
}

.o-grid__col--1 {
  --grid-columns: 1;
  --grid-column-width: calc(100% * var(--grid-columns) / var(--grid-column-count));
}

.o-grid__col--push-1 {
  --grid-column-offset-width: calc(100% * 1 / var(--grid-column-count));
}

.o-grid__col--pull-1 {
  --grid-column-offset-width: calc(-100% * 1 / var(--grid-column-count));
}

.o-grid--2 {
  --grid-column-count: 2;
  --grid-column-width: calc(100% / var(--grid-column-count));
}

.o-grid__col--2 {
  --grid-columns: 2;
  --grid-column-width: calc(100% * var(--grid-columns) / var(--grid-column-count));
}

.o-grid__col--push-2 {
  --grid-column-offset-width: calc(100% * 2 / var(--grid-column-count));
}

.o-grid__col--pull-2 {
  --grid-column-offset-width: calc(-100% * 2 / var(--grid-column-count));
}

.o-grid--3 {
  --grid-column-count: 3;
  --grid-column-width: calc(100% / var(--grid-column-count));
}

.o-grid__col--3 {
  --grid-columns: 3;
  --grid-column-width: calc(100% * var(--grid-columns) / var(--grid-column-count));
}

.o-grid__col--push-3 {
  --grid-column-offset-width: calc(100% * 3 / var(--grid-column-count));
}

.o-grid__col--pull-3 {
  --grid-column-offset-width: calc(-100% * 3 / var(--grid-column-count));
}

.o-grid--4 {
  --grid-column-count: 4;
  --grid-column-width: calc(100% / var(--grid-column-count));
}

.o-grid__col--4 {
  --grid-columns: 4;
  --grid-column-width: calc(100% * var(--grid-columns) / var(--grid-column-count));
}

.o-grid__col--push-4 {
  --grid-column-offset-width: calc(100% * 4 / var(--grid-column-count));
}

.o-grid__col--pull-4 {
  --grid-column-offset-width: calc(-100% * 4 / var(--grid-column-count));
}

.o-grid--5 {
  --grid-column-count: 5;
  --grid-column-width: calc(100% / var(--grid-column-count));
}

.o-grid__col--5 {
  --grid-columns: 5;
  --grid-column-width: calc(100% * var(--grid-columns) / var(--grid-column-count));
}

.o-grid__col--push-5 {
  --grid-column-offset-width: calc(100% * 5 / var(--grid-column-count));
}

.o-grid__col--pull-5 {
  --grid-column-offset-width: calc(-100% * 5 / var(--grid-column-count));
}

.o-grid--6 {
  --grid-column-count: 6;
  --grid-column-width: calc(100% / var(--grid-column-count));
}

.o-grid__col--6 {
  --grid-columns: 6;
  --grid-column-width: calc(100% * var(--grid-columns) / var(--grid-column-count));
}

.o-grid__col--push-6 {
  --grid-column-offset-width: calc(100% * 6 / var(--grid-column-count));
}

.o-grid__col--pull-6 {
  --grid-column-offset-width: calc(-100% * 6 / var(--grid-column-count));
}

.o-grid--7 {
  --grid-column-count: 7;
  --grid-column-width: calc(100% / var(--grid-column-count));
}

.o-grid__col--7 {
  --grid-columns: 7;
  --grid-column-width: calc(100% * var(--grid-columns) / var(--grid-column-count));
}

.o-grid__col--push-7 {
  --grid-column-offset-width: calc(100% * 7 / var(--grid-column-count));
}

.o-grid__col--pull-7 {
  --grid-column-offset-width: calc(-100% * 7 / var(--grid-column-count));
}

.o-grid--8 {
  --grid-column-count: 8;
  --grid-column-width: calc(100% / var(--grid-column-count));
}

.o-grid__col--8 {
  --grid-columns: 8;
  --grid-column-width: calc(100% * var(--grid-columns) / var(--grid-column-count));
}

.o-grid__col--push-8 {
  --grid-column-offset-width: calc(100% * 8 / var(--grid-column-count));
}

.o-grid__col--pull-8 {
  --grid-column-offset-width: calc(-100% * 8 / var(--grid-column-count));
}

.o-grid--9 {
  --grid-column-count: 9;
  --grid-column-width: calc(100% / var(--grid-column-count));
}

.o-grid__col--9 {
  --grid-columns: 9;
  --grid-column-width: calc(100% * var(--grid-columns) / var(--grid-column-count));
}

.o-grid__col--push-9 {
  --grid-column-offset-width: calc(100% * 9 / var(--grid-column-count));
}

.o-grid__col--pull-9 {
  --grid-column-offset-width: calc(-100% * 9 / var(--grid-column-count));
}

.o-grid--10 {
  --grid-column-count: 10;
  --grid-column-width: calc(100% / var(--grid-column-count));
}

.o-grid__col--10 {
  --grid-columns: 10;
  --grid-column-width: calc(100% * var(--grid-columns) / var(--grid-column-count));
}

.o-grid__col--push-10 {
  --grid-column-offset-width: calc(100% * 10 / var(--grid-column-count));
}

.o-grid__col--pull-10 {
  --grid-column-offset-width: calc(-100% * 10 / var(--grid-column-count));
}

.o-grid--11 {
  --grid-column-count: 11;
  --grid-column-width: calc(100% / var(--grid-column-count));
}

.o-grid__col--11 {
  --grid-columns: 11;
  --grid-column-width: calc(100% * var(--grid-columns) / var(--grid-column-count));
}

.o-grid__col--push-11 {
  --grid-column-offset-width: calc(100% * 11 / var(--grid-column-count));
}

.o-grid__col--pull-11 {
  --grid-column-offset-width: calc(-100% * 11 / var(--grid-column-count));
}

.o-grid--12 {
  --grid-column-count: 12;
  --grid-column-width: calc(100% / var(--grid-column-count));
}

.o-grid__col--12 {
  --grid-columns: 12;
  --grid-column-width: calc(100% * var(--grid-columns) / var(--grid-column-count));
}

.o-grid__col--push-12 {
  --grid-column-offset-width: calc(100% * 12 / var(--grid-column-count));
}

.o-grid__col--pull-12 {
  --grid-column-offset-width: calc(-100% * 12 / var(--grid-column-count));
}

@media (max-width: 47.9375em) {
  .o-grid--1\@mobile {
    --grid-column-count: 1;
    --grid-column-width: calc(100% / var(--grid-column-count));
  }
  .o-grid__col--1\@mobile {
    --grid-columns: 1;
    --grid-column-width: calc(100% * var(--grid-columns) / var(--grid-column-count));
  }
  .o-grid__col--push-1\@mobile {
    --grid-column-offset-width: calc(100% * 1 / var(--grid-column-count));
  }
  .o-grid__col--pull-1\@mobile {
    --grid-column-offset-width: calc(-100% * 1 / var(--grid-column-count));
  }
  .o-grid--2\@mobile {
    --grid-column-count: 2;
    --grid-column-width: calc(100% / var(--grid-column-count));
  }
  .o-grid__col--2\@mobile {
    --grid-columns: 2;
    --grid-column-width: calc(100% * var(--grid-columns) / var(--grid-column-count));
  }
  .o-grid__col--push-2\@mobile {
    --grid-column-offset-width: calc(100% * 2 / var(--grid-column-count));
  }
  .o-grid__col--pull-2\@mobile {
    --grid-column-offset-width: calc(-100% * 2 / var(--grid-column-count));
  }
  .o-grid--3\@mobile {
    --grid-column-count: 3;
    --grid-column-width: calc(100% / var(--grid-column-count));
  }
  .o-grid__col--3\@mobile {
    --grid-columns: 3;
    --grid-column-width: calc(100% * var(--grid-columns) / var(--grid-column-count));
  }
  .o-grid__col--push-3\@mobile {
    --grid-column-offset-width: calc(100% * 3 / var(--grid-column-count));
  }
  .o-grid__col--pull-3\@mobile {
    --grid-column-offset-width: calc(-100% * 3 / var(--grid-column-count));
  }
  .o-grid--4\@mobile {
    --grid-column-count: 4;
    --grid-column-width: calc(100% / var(--grid-column-count));
  }
  .o-grid__col--4\@mobile {
    --grid-columns: 4;
    --grid-column-width: calc(100% * var(--grid-columns) / var(--grid-column-count));
  }
  .o-grid__col--push-4\@mobile {
    --grid-column-offset-width: calc(100% * 4 / var(--grid-column-count));
  }
  .o-grid__col--pull-4\@mobile {
    --grid-column-offset-width: calc(-100% * 4 / var(--grid-column-count));
  }
  .o-grid--5\@mobile {
    --grid-column-count: 5;
    --grid-column-width: calc(100% / var(--grid-column-count));
  }
  .o-grid__col--5\@mobile {
    --grid-columns: 5;
    --grid-column-width: calc(100% * var(--grid-columns) / var(--grid-column-count));
  }
  .o-grid__col--push-5\@mobile {
    --grid-column-offset-width: calc(100% * 5 / var(--grid-column-count));
  }
  .o-grid__col--pull-5\@mobile {
    --grid-column-offset-width: calc(-100% * 5 / var(--grid-column-count));
  }
  .o-grid--6\@mobile {
    --grid-column-count: 6;
    --grid-column-width: calc(100% / var(--grid-column-count));
  }
  .o-grid__col--6\@mobile {
    --grid-columns: 6;
    --grid-column-width: calc(100% * var(--grid-columns) / var(--grid-column-count));
  }
  .o-grid__col--push-6\@mobile {
    --grid-column-offset-width: calc(100% * 6 / var(--grid-column-count));
  }
  .o-grid__col--pull-6\@mobile {
    --grid-column-offset-width: calc(-100% * 6 / var(--grid-column-count));
  }
  .o-grid--7\@mobile {
    --grid-column-count: 7;
    --grid-column-width: calc(100% / var(--grid-column-count));
  }
  .o-grid__col--7\@mobile {
    --grid-columns: 7;
    --grid-column-width: calc(100% * var(--grid-columns) / var(--grid-column-count));
  }
  .o-grid__col--push-7\@mobile {
    --grid-column-offset-width: calc(100% * 7 / var(--grid-column-count));
  }
  .o-grid__col--pull-7\@mobile {
    --grid-column-offset-width: calc(-100% * 7 / var(--grid-column-count));
  }
  .o-grid--8\@mobile {
    --grid-column-count: 8;
    --grid-column-width: calc(100% / var(--grid-column-count));
  }
  .o-grid__col--8\@mobile {
    --grid-columns: 8;
    --grid-column-width: calc(100% * var(--grid-columns) / var(--grid-column-count));
  }
  .o-grid__col--push-8\@mobile {
    --grid-column-offset-width: calc(100% * 8 / var(--grid-column-count));
  }
  .o-grid__col--pull-8\@mobile {
    --grid-column-offset-width: calc(-100% * 8 / var(--grid-column-count));
  }
  .o-grid--9\@mobile {
    --grid-column-count: 9;
    --grid-column-width: calc(100% / var(--grid-column-count));
  }
  .o-grid__col--9\@mobile {
    --grid-columns: 9;
    --grid-column-width: calc(100% * var(--grid-columns) / var(--grid-column-count));
  }
  .o-grid__col--push-9\@mobile {
    --grid-column-offset-width: calc(100% * 9 / var(--grid-column-count));
  }
  .o-grid__col--pull-9\@mobile {
    --grid-column-offset-width: calc(-100% * 9 / var(--grid-column-count));
  }
  .o-grid--10\@mobile {
    --grid-column-count: 10;
    --grid-column-width: calc(100% / var(--grid-column-count));
  }
  .o-grid__col--10\@mobile {
    --grid-columns: 10;
    --grid-column-width: calc(100% * var(--grid-columns) / var(--grid-column-count));
  }
  .o-grid__col--push-10\@mobile {
    --grid-column-offset-width: calc(100% * 10 / var(--grid-column-count));
  }
  .o-grid__col--pull-10\@mobile {
    --grid-column-offset-width: calc(-100% * 10 / var(--grid-column-count));
  }
  .o-grid--11\@mobile {
    --grid-column-count: 11;
    --grid-column-width: calc(100% / var(--grid-column-count));
  }
  .o-grid__col--11\@mobile {
    --grid-columns: 11;
    --grid-column-width: calc(100% * var(--grid-columns) / var(--grid-column-count));
  }
  .o-grid__col--push-11\@mobile {
    --grid-column-offset-width: calc(100% * 11 / var(--grid-column-count));
  }
  .o-grid__col--pull-11\@mobile {
    --grid-column-offset-width: calc(-100% * 11 / var(--grid-column-count));
  }
  .o-grid--12\@mobile {
    --grid-column-count: 12;
    --grid-column-width: calc(100% / var(--grid-column-count));
  }
  .o-grid__col--12\@mobile {
    --grid-columns: 12;
    --grid-column-width: calc(100% * var(--grid-columns) / var(--grid-column-count));
  }
  .o-grid__col--push-12\@mobile {
    --grid-column-offset-width: calc(100% * 12 / var(--grid-column-count));
  }
  .o-grid__col--pull-12\@mobile {
    --grid-column-offset-width: calc(-100% * 12 / var(--grid-column-count));
  }
}
@media (min-width: 48em) {
  .o-grid--1\@mobile-up {
    --grid-column-count: 1;
    --grid-column-width: calc(100% / var(--grid-column-count));
  }
  .o-grid__col--1\@mobile-up {
    --grid-columns: 1;
    --grid-column-width: calc(100% * var(--grid-columns) / var(--grid-column-count));
  }
  .o-grid__col--push-1\@mobile-up {
    --grid-column-offset-width: calc(100% * 1 / var(--grid-column-count));
  }
  .o-grid__col--pull-1\@mobile-up {
    --grid-column-offset-width: calc(-100% * 1 / var(--grid-column-count));
  }
  .o-grid--2\@mobile-up {
    --grid-column-count: 2;
    --grid-column-width: calc(100% / var(--grid-column-count));
  }
  .o-grid__col--2\@mobile-up {
    --grid-columns: 2;
    --grid-column-width: calc(100% * var(--grid-columns) / var(--grid-column-count));
  }
  .o-grid__col--push-2\@mobile-up {
    --grid-column-offset-width: calc(100% * 2 / var(--grid-column-count));
  }
  .o-grid__col--pull-2\@mobile-up {
    --grid-column-offset-width: calc(-100% * 2 / var(--grid-column-count));
  }
  .o-grid--3\@mobile-up {
    --grid-column-count: 3;
    --grid-column-width: calc(100% / var(--grid-column-count));
  }
  .o-grid__col--3\@mobile-up {
    --grid-columns: 3;
    --grid-column-width: calc(100% * var(--grid-columns) / var(--grid-column-count));
  }
  .o-grid__col--push-3\@mobile-up {
    --grid-column-offset-width: calc(100% * 3 / var(--grid-column-count));
  }
  .o-grid__col--pull-3\@mobile-up {
    --grid-column-offset-width: calc(-100% * 3 / var(--grid-column-count));
  }
  .o-grid--4\@mobile-up {
    --grid-column-count: 4;
    --grid-column-width: calc(100% / var(--grid-column-count));
  }
  .o-grid__col--4\@mobile-up {
    --grid-columns: 4;
    --grid-column-width: calc(100% * var(--grid-columns) / var(--grid-column-count));
  }
  .o-grid__col--push-4\@mobile-up {
    --grid-column-offset-width: calc(100% * 4 / var(--grid-column-count));
  }
  .o-grid__col--pull-4\@mobile-up {
    --grid-column-offset-width: calc(-100% * 4 / var(--grid-column-count));
  }
  .o-grid--5\@mobile-up {
    --grid-column-count: 5;
    --grid-column-width: calc(100% / var(--grid-column-count));
  }
  .o-grid__col--5\@mobile-up {
    --grid-columns: 5;
    --grid-column-width: calc(100% * var(--grid-columns) / var(--grid-column-count));
  }
  .o-grid__col--push-5\@mobile-up {
    --grid-column-offset-width: calc(100% * 5 / var(--grid-column-count));
  }
  .o-grid__col--pull-5\@mobile-up {
    --grid-column-offset-width: calc(-100% * 5 / var(--grid-column-count));
  }
  .o-grid--6\@mobile-up {
    --grid-column-count: 6;
    --grid-column-width: calc(100% / var(--grid-column-count));
  }
  .o-grid__col--6\@mobile-up {
    --grid-columns: 6;
    --grid-column-width: calc(100% * var(--grid-columns) / var(--grid-column-count));
  }
  .o-grid__col--push-6\@mobile-up {
    --grid-column-offset-width: calc(100% * 6 / var(--grid-column-count));
  }
  .o-grid__col--pull-6\@mobile-up {
    --grid-column-offset-width: calc(-100% * 6 / var(--grid-column-count));
  }
  .o-grid--7\@mobile-up {
    --grid-column-count: 7;
    --grid-column-width: calc(100% / var(--grid-column-count));
  }
  .o-grid__col--7\@mobile-up {
    --grid-columns: 7;
    --grid-column-width: calc(100% * var(--grid-columns) / var(--grid-column-count));
  }
  .o-grid__col--push-7\@mobile-up {
    --grid-column-offset-width: calc(100% * 7 / var(--grid-column-count));
  }
  .o-grid__col--pull-7\@mobile-up {
    --grid-column-offset-width: calc(-100% * 7 / var(--grid-column-count));
  }
  .o-grid--8\@mobile-up {
    --grid-column-count: 8;
    --grid-column-width: calc(100% / var(--grid-column-count));
  }
  .o-grid__col--8\@mobile-up {
    --grid-columns: 8;
    --grid-column-width: calc(100% * var(--grid-columns) / var(--grid-column-count));
  }
  .o-grid__col--push-8\@mobile-up {
    --grid-column-offset-width: calc(100% * 8 / var(--grid-column-count));
  }
  .o-grid__col--pull-8\@mobile-up {
    --grid-column-offset-width: calc(-100% * 8 / var(--grid-column-count));
  }
  .o-grid--9\@mobile-up {
    --grid-column-count: 9;
    --grid-column-width: calc(100% / var(--grid-column-count));
  }
  .o-grid__col--9\@mobile-up {
    --grid-columns: 9;
    --grid-column-width: calc(100% * var(--grid-columns) / var(--grid-column-count));
  }
  .o-grid__col--push-9\@mobile-up {
    --grid-column-offset-width: calc(100% * 9 / var(--grid-column-count));
  }
  .o-grid__col--pull-9\@mobile-up {
    --grid-column-offset-width: calc(-100% * 9 / var(--grid-column-count));
  }
  .o-grid--10\@mobile-up {
    --grid-column-count: 10;
    --grid-column-width: calc(100% / var(--grid-column-count));
  }
  .o-grid__col--10\@mobile-up {
    --grid-columns: 10;
    --grid-column-width: calc(100% * var(--grid-columns) / var(--grid-column-count));
  }
  .o-grid__col--push-10\@mobile-up {
    --grid-column-offset-width: calc(100% * 10 / var(--grid-column-count));
  }
  .o-grid__col--pull-10\@mobile-up {
    --grid-column-offset-width: calc(-100% * 10 / var(--grid-column-count));
  }
  .o-grid--11\@mobile-up {
    --grid-column-count: 11;
    --grid-column-width: calc(100% / var(--grid-column-count));
  }
  .o-grid__col--11\@mobile-up {
    --grid-columns: 11;
    --grid-column-width: calc(100% * var(--grid-columns) / var(--grid-column-count));
  }
  .o-grid__col--push-11\@mobile-up {
    --grid-column-offset-width: calc(100% * 11 / var(--grid-column-count));
  }
  .o-grid__col--pull-11\@mobile-up {
    --grid-column-offset-width: calc(-100% * 11 / var(--grid-column-count));
  }
  .o-grid--12\@mobile-up {
    --grid-column-count: 12;
    --grid-column-width: calc(100% / var(--grid-column-count));
  }
  .o-grid__col--12\@mobile-up {
    --grid-columns: 12;
    --grid-column-width: calc(100% * var(--grid-columns) / var(--grid-column-count));
  }
  .o-grid__col--push-12\@mobile-up {
    --grid-column-offset-width: calc(100% * 12 / var(--grid-column-count));
  }
  .o-grid__col--pull-12\@mobile-up {
    --grid-column-offset-width: calc(-100% * 12 / var(--grid-column-count));
  }
}
@media (max-width: 64em) and (min-width: 48em) {
  .o-grid--1\@tablet {
    --grid-column-count: 1;
    --grid-column-width: calc(100% / var(--grid-column-count));
  }
  .o-grid__col--1\@tablet {
    --grid-columns: 1;
    --grid-column-width: calc(100% * var(--grid-columns) / var(--grid-column-count));
  }
  .o-grid__col--push-1\@tablet {
    --grid-column-offset-width: calc(100% * 1 / var(--grid-column-count));
  }
  .o-grid__col--pull-1\@tablet {
    --grid-column-offset-width: calc(-100% * 1 / var(--grid-column-count));
  }
  .o-grid--2\@tablet {
    --grid-column-count: 2;
    --grid-column-width: calc(100% / var(--grid-column-count));
  }
  .o-grid__col--2\@tablet {
    --grid-columns: 2;
    --grid-column-width: calc(100% * var(--grid-columns) / var(--grid-column-count));
  }
  .o-grid__col--push-2\@tablet {
    --grid-column-offset-width: calc(100% * 2 / var(--grid-column-count));
  }
  .o-grid__col--pull-2\@tablet {
    --grid-column-offset-width: calc(-100% * 2 / var(--grid-column-count));
  }
  .o-grid--3\@tablet {
    --grid-column-count: 3;
    --grid-column-width: calc(100% / var(--grid-column-count));
  }
  .o-grid__col--3\@tablet {
    --grid-columns: 3;
    --grid-column-width: calc(100% * var(--grid-columns) / var(--grid-column-count));
  }
  .o-grid__col--push-3\@tablet {
    --grid-column-offset-width: calc(100% * 3 / var(--grid-column-count));
  }
  .o-grid__col--pull-3\@tablet {
    --grid-column-offset-width: calc(-100% * 3 / var(--grid-column-count));
  }
  .o-grid--4\@tablet {
    --grid-column-count: 4;
    --grid-column-width: calc(100% / var(--grid-column-count));
  }
  .o-grid__col--4\@tablet {
    --grid-columns: 4;
    --grid-column-width: calc(100% * var(--grid-columns) / var(--grid-column-count));
  }
  .o-grid__col--push-4\@tablet {
    --grid-column-offset-width: calc(100% * 4 / var(--grid-column-count));
  }
  .o-grid__col--pull-4\@tablet {
    --grid-column-offset-width: calc(-100% * 4 / var(--grid-column-count));
  }
  .o-grid--5\@tablet {
    --grid-column-count: 5;
    --grid-column-width: calc(100% / var(--grid-column-count));
  }
  .o-grid__col--5\@tablet {
    --grid-columns: 5;
    --grid-column-width: calc(100% * var(--grid-columns) / var(--grid-column-count));
  }
  .o-grid__col--push-5\@tablet {
    --grid-column-offset-width: calc(100% * 5 / var(--grid-column-count));
  }
  .o-grid__col--pull-5\@tablet {
    --grid-column-offset-width: calc(-100% * 5 / var(--grid-column-count));
  }
  .o-grid--6\@tablet {
    --grid-column-count: 6;
    --grid-column-width: calc(100% / var(--grid-column-count));
  }
  .o-grid__col--6\@tablet {
    --grid-columns: 6;
    --grid-column-width: calc(100% * var(--grid-columns) / var(--grid-column-count));
  }
  .o-grid__col--push-6\@tablet {
    --grid-column-offset-width: calc(100% * 6 / var(--grid-column-count));
  }
  .o-grid__col--pull-6\@tablet {
    --grid-column-offset-width: calc(-100% * 6 / var(--grid-column-count));
  }
  .o-grid--7\@tablet {
    --grid-column-count: 7;
    --grid-column-width: calc(100% / var(--grid-column-count));
  }
  .o-grid__col--7\@tablet {
    --grid-columns: 7;
    --grid-column-width: calc(100% * var(--grid-columns) / var(--grid-column-count));
  }
  .o-grid__col--push-7\@tablet {
    --grid-column-offset-width: calc(100% * 7 / var(--grid-column-count));
  }
  .o-grid__col--pull-7\@tablet {
    --grid-column-offset-width: calc(-100% * 7 / var(--grid-column-count));
  }
  .o-grid--8\@tablet {
    --grid-column-count: 8;
    --grid-column-width: calc(100% / var(--grid-column-count));
  }
  .o-grid__col--8\@tablet {
    --grid-columns: 8;
    --grid-column-width: calc(100% * var(--grid-columns) / var(--grid-column-count));
  }
  .o-grid__col--push-8\@tablet {
    --grid-column-offset-width: calc(100% * 8 / var(--grid-column-count));
  }
  .o-grid__col--pull-8\@tablet {
    --grid-column-offset-width: calc(-100% * 8 / var(--grid-column-count));
  }
  .o-grid--9\@tablet {
    --grid-column-count: 9;
    --grid-column-width: calc(100% / var(--grid-column-count));
  }
  .o-grid__col--9\@tablet {
    --grid-columns: 9;
    --grid-column-width: calc(100% * var(--grid-columns) / var(--grid-column-count));
  }
  .o-grid__col--push-9\@tablet {
    --grid-column-offset-width: calc(100% * 9 / var(--grid-column-count));
  }
  .o-grid__col--pull-9\@tablet {
    --grid-column-offset-width: calc(-100% * 9 / var(--grid-column-count));
  }
  .o-grid--10\@tablet {
    --grid-column-count: 10;
    --grid-column-width: calc(100% / var(--grid-column-count));
  }
  .o-grid__col--10\@tablet {
    --grid-columns: 10;
    --grid-column-width: calc(100% * var(--grid-columns) / var(--grid-column-count));
  }
  .o-grid__col--push-10\@tablet {
    --grid-column-offset-width: calc(100% * 10 / var(--grid-column-count));
  }
  .o-grid__col--pull-10\@tablet {
    --grid-column-offset-width: calc(-100% * 10 / var(--grid-column-count));
  }
  .o-grid--11\@tablet {
    --grid-column-count: 11;
    --grid-column-width: calc(100% / var(--grid-column-count));
  }
  .o-grid__col--11\@tablet {
    --grid-columns: 11;
    --grid-column-width: calc(100% * var(--grid-columns) / var(--grid-column-count));
  }
  .o-grid__col--push-11\@tablet {
    --grid-column-offset-width: calc(100% * 11 / var(--grid-column-count));
  }
  .o-grid__col--pull-11\@tablet {
    --grid-column-offset-width: calc(-100% * 11 / var(--grid-column-count));
  }
  .o-grid--12\@tablet {
    --grid-column-count: 12;
    --grid-column-width: calc(100% / var(--grid-column-count));
  }
  .o-grid__col--12\@tablet {
    --grid-columns: 12;
    --grid-column-width: calc(100% * var(--grid-columns) / var(--grid-column-count));
  }
  .o-grid__col--push-12\@tablet {
    --grid-column-offset-width: calc(100% * 12 / var(--grid-column-count));
  }
  .o-grid__col--pull-12\@tablet {
    --grid-column-offset-width: calc(-100% * 12 / var(--grid-column-count));
  }
}
@media (max-width: 64em) {
  .o-grid--1\@tablet-down {
    --grid-column-count: 1;
    --grid-column-width: calc(100% / var(--grid-column-count));
  }
  .o-grid__col--1\@tablet-down {
    --grid-columns: 1;
    --grid-column-width: calc(100% * var(--grid-columns) / var(--grid-column-count));
  }
  .o-grid__col--push-1\@tablet-down {
    --grid-column-offset-width: calc(100% * 1 / var(--grid-column-count));
  }
  .o-grid__col--pull-1\@tablet-down {
    --grid-column-offset-width: calc(-100% * 1 / var(--grid-column-count));
  }
  .o-grid--2\@tablet-down {
    --grid-column-count: 2;
    --grid-column-width: calc(100% / var(--grid-column-count));
  }
  .o-grid__col--2\@tablet-down {
    --grid-columns: 2;
    --grid-column-width: calc(100% * var(--grid-columns) / var(--grid-column-count));
  }
  .o-grid__col--push-2\@tablet-down {
    --grid-column-offset-width: calc(100% * 2 / var(--grid-column-count));
  }
  .o-grid__col--pull-2\@tablet-down {
    --grid-column-offset-width: calc(-100% * 2 / var(--grid-column-count));
  }
  .o-grid--3\@tablet-down {
    --grid-column-count: 3;
    --grid-column-width: calc(100% / var(--grid-column-count));
  }
  .o-grid__col--3\@tablet-down {
    --grid-columns: 3;
    --grid-column-width: calc(100% * var(--grid-columns) / var(--grid-column-count));
  }
  .o-grid__col--push-3\@tablet-down {
    --grid-column-offset-width: calc(100% * 3 / var(--grid-column-count));
  }
  .o-grid__col--pull-3\@tablet-down {
    --grid-column-offset-width: calc(-100% * 3 / var(--grid-column-count));
  }
  .o-grid--4\@tablet-down {
    --grid-column-count: 4;
    --grid-column-width: calc(100% / var(--grid-column-count));
  }
  .o-grid__col--4\@tablet-down {
    --grid-columns: 4;
    --grid-column-width: calc(100% * var(--grid-columns) / var(--grid-column-count));
  }
  .o-grid__col--push-4\@tablet-down {
    --grid-column-offset-width: calc(100% * 4 / var(--grid-column-count));
  }
  .o-grid__col--pull-4\@tablet-down {
    --grid-column-offset-width: calc(-100% * 4 / var(--grid-column-count));
  }
  .o-grid--5\@tablet-down {
    --grid-column-count: 5;
    --grid-column-width: calc(100% / var(--grid-column-count));
  }
  .o-grid__col--5\@tablet-down {
    --grid-columns: 5;
    --grid-column-width: calc(100% * var(--grid-columns) / var(--grid-column-count));
  }
  .o-grid__col--push-5\@tablet-down {
    --grid-column-offset-width: calc(100% * 5 / var(--grid-column-count));
  }
  .o-grid__col--pull-5\@tablet-down {
    --grid-column-offset-width: calc(-100% * 5 / var(--grid-column-count));
  }
  .o-grid--6\@tablet-down {
    --grid-column-count: 6;
    --grid-column-width: calc(100% / var(--grid-column-count));
  }
  .o-grid__col--6\@tablet-down {
    --grid-columns: 6;
    --grid-column-width: calc(100% * var(--grid-columns) / var(--grid-column-count));
  }
  .o-grid__col--push-6\@tablet-down {
    --grid-column-offset-width: calc(100% * 6 / var(--grid-column-count));
  }
  .o-grid__col--pull-6\@tablet-down {
    --grid-column-offset-width: calc(-100% * 6 / var(--grid-column-count));
  }
  .o-grid--7\@tablet-down {
    --grid-column-count: 7;
    --grid-column-width: calc(100% / var(--grid-column-count));
  }
  .o-grid__col--7\@tablet-down {
    --grid-columns: 7;
    --grid-column-width: calc(100% * var(--grid-columns) / var(--grid-column-count));
  }
  .o-grid__col--push-7\@tablet-down {
    --grid-column-offset-width: calc(100% * 7 / var(--grid-column-count));
  }
  .o-grid__col--pull-7\@tablet-down {
    --grid-column-offset-width: calc(-100% * 7 / var(--grid-column-count));
  }
  .o-grid--8\@tablet-down {
    --grid-column-count: 8;
    --grid-column-width: calc(100% / var(--grid-column-count));
  }
  .o-grid__col--8\@tablet-down {
    --grid-columns: 8;
    --grid-column-width: calc(100% * var(--grid-columns) / var(--grid-column-count));
  }
  .o-grid__col--push-8\@tablet-down {
    --grid-column-offset-width: calc(100% * 8 / var(--grid-column-count));
  }
  .o-grid__col--pull-8\@tablet-down {
    --grid-column-offset-width: calc(-100% * 8 / var(--grid-column-count));
  }
  .o-grid--9\@tablet-down {
    --grid-column-count: 9;
    --grid-column-width: calc(100% / var(--grid-column-count));
  }
  .o-grid__col--9\@tablet-down {
    --grid-columns: 9;
    --grid-column-width: calc(100% * var(--grid-columns) / var(--grid-column-count));
  }
  .o-grid__col--push-9\@tablet-down {
    --grid-column-offset-width: calc(100% * 9 / var(--grid-column-count));
  }
  .o-grid__col--pull-9\@tablet-down {
    --grid-column-offset-width: calc(-100% * 9 / var(--grid-column-count));
  }
  .o-grid--10\@tablet-down {
    --grid-column-count: 10;
    --grid-column-width: calc(100% / var(--grid-column-count));
  }
  .o-grid__col--10\@tablet-down {
    --grid-columns: 10;
    --grid-column-width: calc(100% * var(--grid-columns) / var(--grid-column-count));
  }
  .o-grid__col--push-10\@tablet-down {
    --grid-column-offset-width: calc(100% * 10 / var(--grid-column-count));
  }
  .o-grid__col--pull-10\@tablet-down {
    --grid-column-offset-width: calc(-100% * 10 / var(--grid-column-count));
  }
  .o-grid--11\@tablet-down {
    --grid-column-count: 11;
    --grid-column-width: calc(100% / var(--grid-column-count));
  }
  .o-grid__col--11\@tablet-down {
    --grid-columns: 11;
    --grid-column-width: calc(100% * var(--grid-columns) / var(--grid-column-count));
  }
  .o-grid__col--push-11\@tablet-down {
    --grid-column-offset-width: calc(100% * 11 / var(--grid-column-count));
  }
  .o-grid__col--pull-11\@tablet-down {
    --grid-column-offset-width: calc(-100% * 11 / var(--grid-column-count));
  }
  .o-grid--12\@tablet-down {
    --grid-column-count: 12;
    --grid-column-width: calc(100% / var(--grid-column-count));
  }
  .o-grid__col--12\@tablet-down {
    --grid-columns: 12;
    --grid-column-width: calc(100% * var(--grid-columns) / var(--grid-column-count));
  }
  .o-grid__col--push-12\@tablet-down {
    --grid-column-offset-width: calc(100% * 12 / var(--grid-column-count));
  }
  .o-grid__col--pull-12\@tablet-down {
    --grid-column-offset-width: calc(-100% * 12 / var(--grid-column-count));
  }
}
@media (min-width: 64.0625em) {
  .o-grid--1\@tablet-up {
    --grid-column-count: 1;
    --grid-column-width: calc(100% / var(--grid-column-count));
  }
  .o-grid__col--1\@tablet-up {
    --grid-columns: 1;
    --grid-column-width: calc(100% * var(--grid-columns) / var(--grid-column-count));
  }
  .o-grid__col--push-1\@tablet-up {
    --grid-column-offset-width: calc(100% * 1 / var(--grid-column-count));
  }
  .o-grid__col--pull-1\@tablet-up {
    --grid-column-offset-width: calc(-100% * 1 / var(--grid-column-count));
  }
  .o-grid--2\@tablet-up {
    --grid-column-count: 2;
    --grid-column-width: calc(100% / var(--grid-column-count));
  }
  .o-grid__col--2\@tablet-up {
    --grid-columns: 2;
    --grid-column-width: calc(100% * var(--grid-columns) / var(--grid-column-count));
  }
  .o-grid__col--push-2\@tablet-up {
    --grid-column-offset-width: calc(100% * 2 / var(--grid-column-count));
  }
  .o-grid__col--pull-2\@tablet-up {
    --grid-column-offset-width: calc(-100% * 2 / var(--grid-column-count));
  }
  .o-grid--3\@tablet-up {
    --grid-column-count: 3;
    --grid-column-width: calc(100% / var(--grid-column-count));
  }
  .o-grid__col--3\@tablet-up {
    --grid-columns: 3;
    --grid-column-width: calc(100% * var(--grid-columns) / var(--grid-column-count));
  }
  .o-grid__col--push-3\@tablet-up {
    --grid-column-offset-width: calc(100% * 3 / var(--grid-column-count));
  }
  .o-grid__col--pull-3\@tablet-up {
    --grid-column-offset-width: calc(-100% * 3 / var(--grid-column-count));
  }
  .o-grid--4\@tablet-up {
    --grid-column-count: 4;
    --grid-column-width: calc(100% / var(--grid-column-count));
  }
  .o-grid__col--4\@tablet-up {
    --grid-columns: 4;
    --grid-column-width: calc(100% * var(--grid-columns) / var(--grid-column-count));
  }
  .o-grid__col--push-4\@tablet-up {
    --grid-column-offset-width: calc(100% * 4 / var(--grid-column-count));
  }
  .o-grid__col--pull-4\@tablet-up {
    --grid-column-offset-width: calc(-100% * 4 / var(--grid-column-count));
  }
  .o-grid--5\@tablet-up {
    --grid-column-count: 5;
    --grid-column-width: calc(100% / var(--grid-column-count));
  }
  .o-grid__col--5\@tablet-up {
    --grid-columns: 5;
    --grid-column-width: calc(100% * var(--grid-columns) / var(--grid-column-count));
  }
  .o-grid__col--push-5\@tablet-up {
    --grid-column-offset-width: calc(100% * 5 / var(--grid-column-count));
  }
  .o-grid__col--pull-5\@tablet-up {
    --grid-column-offset-width: calc(-100% * 5 / var(--grid-column-count));
  }
  .o-grid--6\@tablet-up {
    --grid-column-count: 6;
    --grid-column-width: calc(100% / var(--grid-column-count));
  }
  .o-grid__col--6\@tablet-up {
    --grid-columns: 6;
    --grid-column-width: calc(100% * var(--grid-columns) / var(--grid-column-count));
  }
  .o-grid__col--push-6\@tablet-up {
    --grid-column-offset-width: calc(100% * 6 / var(--grid-column-count));
  }
  .o-grid__col--pull-6\@tablet-up {
    --grid-column-offset-width: calc(-100% * 6 / var(--grid-column-count));
  }
  .o-grid--7\@tablet-up {
    --grid-column-count: 7;
    --grid-column-width: calc(100% / var(--grid-column-count));
  }
  .o-grid__col--7\@tablet-up {
    --grid-columns: 7;
    --grid-column-width: calc(100% * var(--grid-columns) / var(--grid-column-count));
  }
  .o-grid__col--push-7\@tablet-up {
    --grid-column-offset-width: calc(100% * 7 / var(--grid-column-count));
  }
  .o-grid__col--pull-7\@tablet-up {
    --grid-column-offset-width: calc(-100% * 7 / var(--grid-column-count));
  }
  .o-grid--8\@tablet-up {
    --grid-column-count: 8;
    --grid-column-width: calc(100% / var(--grid-column-count));
  }
  .o-grid__col--8\@tablet-up {
    --grid-columns: 8;
    --grid-column-width: calc(100% * var(--grid-columns) / var(--grid-column-count));
  }
  .o-grid__col--push-8\@tablet-up {
    --grid-column-offset-width: calc(100% * 8 / var(--grid-column-count));
  }
  .o-grid__col--pull-8\@tablet-up {
    --grid-column-offset-width: calc(-100% * 8 / var(--grid-column-count));
  }
  .o-grid--9\@tablet-up {
    --grid-column-count: 9;
    --grid-column-width: calc(100% / var(--grid-column-count));
  }
  .o-grid__col--9\@tablet-up {
    --grid-columns: 9;
    --grid-column-width: calc(100% * var(--grid-columns) / var(--grid-column-count));
  }
  .o-grid__col--push-9\@tablet-up {
    --grid-column-offset-width: calc(100% * 9 / var(--grid-column-count));
  }
  .o-grid__col--pull-9\@tablet-up {
    --grid-column-offset-width: calc(-100% * 9 / var(--grid-column-count));
  }
  .o-grid--10\@tablet-up {
    --grid-column-count: 10;
    --grid-column-width: calc(100% / var(--grid-column-count));
  }
  .o-grid__col--10\@tablet-up {
    --grid-columns: 10;
    --grid-column-width: calc(100% * var(--grid-columns) / var(--grid-column-count));
  }
  .o-grid__col--push-10\@tablet-up {
    --grid-column-offset-width: calc(100% * 10 / var(--grid-column-count));
  }
  .o-grid__col--pull-10\@tablet-up {
    --grid-column-offset-width: calc(-100% * 10 / var(--grid-column-count));
  }
  .o-grid--11\@tablet-up {
    --grid-column-count: 11;
    --grid-column-width: calc(100% / var(--grid-column-count));
  }
  .o-grid__col--11\@tablet-up {
    --grid-columns: 11;
    --grid-column-width: calc(100% * var(--grid-columns) / var(--grid-column-count));
  }
  .o-grid__col--push-11\@tablet-up {
    --grid-column-offset-width: calc(100% * 11 / var(--grid-column-count));
  }
  .o-grid__col--pull-11\@tablet-up {
    --grid-column-offset-width: calc(-100% * 11 / var(--grid-column-count));
  }
  .o-grid--12\@tablet-up {
    --grid-column-count: 12;
    --grid-column-width: calc(100% / var(--grid-column-count));
  }
  .o-grid__col--12\@tablet-up {
    --grid-columns: 12;
    --grid-column-width: calc(100% * var(--grid-columns) / var(--grid-column-count));
  }
  .o-grid__col--push-12\@tablet-up {
    --grid-column-offset-width: calc(100% * 12 / var(--grid-column-count));
  }
  .o-grid__col--pull-12\@tablet-up {
    --grid-column-offset-width: calc(-100% * 12 / var(--grid-column-count));
  }
}
/* Declarative rules
   ========================================================================== */
.o-grid {
  display: flex;
  flex-flow: row wrap;
  margin-bottom: calc(var(--grid-row-gap) * -1);
  margin-left: calc(var(--grid-column-gap) * -1);
}

.o-grid__col {
  flex: 0 1 var(--grid-column-width);
  box-sizing: border-box;
  margin-left: var(--grid-column-offset-width);
  padding-bottom: var(--grid-row-gap);
  padding-left: var(--grid-column-gap);
}

/* ==========================================================================
   #CONTAINER
   ========================================================================== */
/* Variables & Custom properties
   ========================================================================== */
/**
 * Prevents overwriting the global configuration.
 */
.o-container {
  --container-side-margin-default: var(--container-side-margin, calc(0 * 1rem));
}

/* Declarative rules
   ========================================================================== */
.o-container {
  width: 100%;
  max-width: calc(var(--container-max-width) + var(--container-side-margin-default) * 2);
  margin-right: auto;
  margin-left: auto;
  padding-right: var(--container-side-margin-default);
  padding-left: var(--container-side-margin-default);
}

/* ==========================================================================
   #LINKS STATES
   ========================================================================== */
/* cover
   ========================================================================== */
.u-cover {
  --cover-height: 100%;
}

.u-cover {
  width: 100%;
  height: var(--cover-height);
  object-fit: cover;
}

/* rounded
   ========================================================================== */
.u-rounded {
  --radius: var(--box-border-radius, var(--border-radius));
}

.u-rounded--none {
  border-radius: 0;
}

.u-rounded--top {
  border-top-left-radius: var(--radius);
}

.u-rounded--right {
  border-top-right-radius: var(--radius);
}

.u-rounded--bottom {
  border-bottom-right-radius: var(--radius);
}

.u-rounded--left {
  border-bottom-left-radius: var(--radius);
}

.u-rounded--full {
  border-radius: var(--radius);
}

.u-rounded--circle {
  border-radius: 50%;
}

.o-gallery-item {
  position: relative;
  text-align: left;
  margin-top: 1.2rem;
}
.o-gallery-item .o-gallery-link {
  text-decoration: none;
  color: inherit;
}
.o-gallery-item .o-gallery-content {
  position: relative;
}
.o-gallery-item .o-gallery-title {
  font-size: var(--font-size-lg);
  margin-bottom: 0.3rem;
  font-weight: bold;
  color: var(--color-primary);
}
.o-gallery-item .o-gallery-subtitle {
  font-size: var(--font-size-base);
  margin-bottom: 0.8rem;
  margin-top: 0.8rem;
  color: var(--color-base);
}
.o-gallery-item .o-gallery-image {
  width: 100%;
  height: auto;
  border-radius: 8px;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.o-gallery-item .o-gallery-image:hover {
  transform: scale(1.02);
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.4);
}

/* ==========================================================================
   #FORMS
   ========================================================================== */
/* Variables & Custom properties
   ========================================================================== */
/* Declarative rules
   ========================================================================== */
.c-form-group {
  display: flex;
  flex-direction: var(--form-group-flex-direction, column);
}

.c-form-group__label {
  align-self: flex-start;
  margin-top: var(--spacer-xs);
  margin-bottom: var(--spacer-xs);
  padding-left: var(--spacer-xs);
}

/* ==========================================================================
   #HEADINGS
   ========================================================================== */
/* Variables & Custom properties
   ========================================================================== */
/* Declarative rules
   ========================================================================== */
h1,
.u-h1 {
  font-weight: var(--font-weight-bold);
  font-family: var(--font-family-base) sans-serif;
}

h2,
.u-h2 {
  font-weight: var(--font-weight-bold);
  font-family: var(--font-family-base) sans-serif;
}

h3,
.u-h3 {
  font-weight: var(--font-weight-bold);
  font-family: var(--font-family-base) sans-serif;
}

h4,
.u-h4 {
  font-weight: var(--font-weight-bold);
  font-family: var(--font-family-base) sans-serif;
}

.u-hx--underline {
  position: relative;
  padding-bottom: 0.75em;
}
.u-hx--underline:after {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  height: 0.6rem;
  width: 4rem;
  border-radius: 0.3rem;
  background-color: currentColor;
}

/* ==========================================================================
   #PAGE
   ========================================================================== */
/* Variables & Custom properties
   ========================================================================== */
/* Declarative rules
   ========================================================================== */
body {
  color: var(--text-color);
  background-color: var(--background-color);
  overflow-x: hidden;
}
@media (max-width: 64em) {
  body.menu-m-isopen {
    overflow: hidden;
  }
}

/* selection */
::-moz-selection {
  background: var(--color-blue);
  text-shadow: none;
  color: var(--color-white);
}

::selection {
  background: var(--color-blue);
  text-shadow: none;
  color: var(--color-white);
}

/* ==========================================================================
   #DOCUMENTS
   ========================================================================== */
/* Variables & Custom properties
   ========================================================================== */
/* Declarative rules
   ========================================================================== */
.c-body--with-sticky .pusher {
  overflow: initial !important;
}

/* Box
   ========================================================================== */
/* Variables & Custom properties
   ========================================================================== */
.c-box {
  --box-spacing-inner: var(--spacer-lg);
  --box-color: var(--text-color);
  --box-background-color: var(--color-white);
  --box-border-width: 1px;
  --box-border-color: rgba(0, 0, 0, .3);
  --box-border-radius: 1rem;
}

/* Declarative rules
   ========================================================================== */
.c-box {
  position: relative;
  color: var(--box-color);
  background-color: var(--box-background-color);
  border-radius: var(--box-border-radius);
}

.c-box--border {
  border: var(--box-border-width) solid var(--box-border-color);
}

.c-box--shadow {
  border: 0;
  box-shadow: 0 0.4rem 0.8rem var(--box-border-color), inset 0 0 0 var(--box-border-width) var(--box-border-color);
}

.c-box--light-shadow {
  --box-border-color: rgba(0, 0, 0, .1);
  border: 0;
  box-shadow: 0 0.2rem 0.1rem var(--box-border-color), inset 0 0 0 var(--box-border-width) var(--box-border-color);
}

.c-box--rounded {
  border-radius: var(--box-border-radius);
  overflow: hidden;
}

.c-box--colored {
  background-color: var(--color-primary);
  color: var(--color-white);
}

.c-box--shaded {
  background-color: var(--color-light-gray);
  color: var(--color-primary);
}

.c-box--black {
  background-color: var(--color-black);
  color: var(--color-white);
}

.c-box__inner {
  position: relative;
  display: flex;
  flex-direction: column;
  padding: var(--box-spacing-inner);
  border-radius: var(--box-border-radius);
}

@media (min-width: 48em) {
  .c-box--text .c-box__inner {
    --box-spacing-inner: 5.9rem;
  }
  .c-box--text .c-box__inner.c-box__inner-tighted {
    --box-spacing-inner: 5.9rem 11.8rem;
  }
  .c-box--text .c-box__inner.c-box__inner-larger {
    --box-spacing-inner: 4.5rem;
  }
}

.c-box__header {
  background-color: var(--color-red);
  color: var(--color-white);
  border-top-left-radius: var(--box-border-radius);
  border-top-right-radius: var(--box-border-radius);
}

@media (max-width: 47.9375em) {
  .c-box--img-shift > .c-box__inner {
    padding-bottom: 0;
  }
  .c-box--img-shift .c-box__img {
    height: 30rem;
  }
  .c-box--img-shift .c-box__content {
    margin-top: calc(var(--box-spacing-inner) * -2);
  }
}
@media (min-width: 48em) {
  .c-box--img-shift {
    height: 30rem;
    margin-top: var(--box-spacing-inner);
  }
  .c-box--img-shift > .c-box__inner {
    padding-top: 0;
    padding-bottom: 0;
  }
  .c-box--img-shift .c-box__img {
    position: absolute;
    margin-top: calc(var(--box-spacing-inner) * -1);
    height: 30rem;
  }
}
@media (min-width: 64.0625em) {
  .c-box--img-shift {
    height: 45rem;
  }
  .c-box--img-shift > .c-box__inner {
    padding-top: 20rem;
  }
  .c-box--img-shift .c-box__img {
    height: 45rem;
  }
}

@media (min-width: 48em) {
  .c-box--full-height {
    height: 100%;
  }
}

/* ==========================================================================
   #BREADCRUMB
   ========================================================================== */
/* Variables & Custom properties
   ========================================================================== */
.c-breadcrumb__item:last-child {
  --breacrumb-list-content: none;
}

.c-breadcrumb__link {
  --breadcrumb-link-color: var(--color-gray-600);
}
.c-breadcrumb__link:focus, .c-breadcrumb__link:hover, .c-breadcrumb__link:active {
  --breadcrumb-link-color: var(--color-primary);
}

/* Declarative rules
   ========================================================================== */
.c-breadcrumb {
  margin: var(--spacer-sm) 0 var(--spacer-lg) 0;
  color: var(--color-gray-600);
}

.c-breadcrumb__list {
  display: flex;
  flex-wrap: wrap;
  padding-left: 0;
  list-style: none;
  font-size: var(--font-size-sm);
}

.c-breadcrumb__item {
  display: inline-block;
}
.c-breadcrumb__item::after {
  margin-right: var(--spacer-sm);
  margin-left: var(--spacer-xs);
  opacity: 0.5;
  content: var(--breacrumb-list-content, "/ ");
}

.c-breadcrumb__link {
  color: var(--breadcrumb-link-color);
  line-height: var(--line-height-md);
  text-decoration: none;
}

/* burger
   ========================================================================== */
.c-burger {
  --burger-color: var(--color-blue);
  --transition-time: 0.6s;
}

.c-burger__inner {
  display: block;
  cursor: pointer;
  pointer-events: none;
  position: relative;
  width: 50vw;
  height: 50vw;
  max-width: 80px;
  max-height: 80px;
}

@media (min-aspect-ratio: 1/1) {
  .c-burger__inner {
    width: 50vh;
    height: 50vh;
  }
}
.c-burger__svg path {
  fill: none;
  stroke: var(--burger-color);
  stroke-width: 3;
  stroke-linecap: round;
  stroke-linejoin: round;
  --length: 24;
  --offset: -38;
  stroke-dasharray: var(--length) var(--total-length);
  stroke-dashoffset: var(--offset);
  transition: all var(--transition-time) cubic-bezier(0.645, 0.045, 0.355, 1);
}

.c-burger__svg {
  position: relative;
}
.c-burger__svg .line--1,
.c-burger__svg .line--3 {
  --total-length: 111.22813415527344;
  --offset: -50.22813415527344;
}
.c-burger__svg .line--2 {
  --total-length: 99;
}

.c-burger__svg circle {
  fill: rgba(255, 255, 255, 0.2);
  opacity: 0;
}

.c-burger__inner:hover circle {
  opacity: 1;
}

.menu-m-isopen .c-burger__inner path {
  transform: translateX(30px);
}
.menu-m-isopen .c-burger__inner .line--1,
.menu-m-isopen .c-burger__inner .line--3 {
  --offset: -16.9705627485;
  --length: 22.627416998;
}
.menu-m-isopen .c-burger__inner .line--2 {
  --offset: -20;
  --length: 0;
}

@media (min-width: 64.0625em) {
  .c-burger {
    display: none;
  }
}
/* ==========================================================================
   #BUTTONS
   ========================================================================== */
/* Variables & Custom properties
   ========================================================================== */
.c-button {
  --button-spacing-inner: var(--spacer-sm) var(--spacer-md);
  --button-color: var(--color-white);
  --button-background-color: var(--color-primary);
  --button-border-width: 1px;
  --button-border-radius: 4px;
  --button-border-color: var(--color-primary);
  --hover-button-color: var(--color-white);
  --hover-button-background-color: var(--color-dark-blue);
}

.c-button--outline {
  --button-color: var(--color-primary);
  --button-background-color: var(--color-white);
  --button-border-color: var(--color-primary);
  --hover-button-color: var(--color-white);
  --hover-button-background-color: var(--color-primary);
}

.c-button--box {
  --button-color: var(--color-primary);
  --button-background-color: var(--color-white);
  --button-border-color: var(--color-white);
  --hover-button-color: var(--color-dark-blue);
  --hover-button-background-color: var(--color-white);
}

.c-button--black {
  --button-color: var(--color-white);
  --button-background-color: var(--color-black);
  --button-border-color: var(--color-white);
  --hover-button-color: var(--color-black);
  --hover-button-background-color: var(--color-white);
}

/* Declarative rules
   ========================================================================== */
.c-button {
  color: var(--button-color);
  background-color: var(--button-background-color);
  border: var(--button-border-width) solid var(--button-border-color);
  border-radius: var(--button-border-radius);
  display: inline-block;
  font-weight: var(--font-weight-bold);
  padding: var(--button-spacing-inner);
  position: relative;
  text-decoration: none;
}
.c-button:hover, .c-button:focus, .c-button:active {
  color: var(--hover-button-color);
  background-color: var(--hover-button-background-color);
}

.c-button--box {
  box-shadow: 0 0.2rem 1rem rgba(0, 0, 0, 0.1);
}

/* ==========================================================================
   #FIELDS
   ========================================================================== */
/* Variables & Custom properties
   ========================================================================== */
.c-field {
  --field-height: 4rem;
  --field-padding-x: var(--spacer-xs);
  --field-font-size: var(--font-size-base);
  --field-line-height: var(--line-height-base);
  --field-border-width: var(--stroke-width);
  --field-border-radius: 0.3rem;
}
.c-field[disabled], .c-field.is-disabled {
  --field-color: var(--color-gray-300);
  --field-cursor: not-allowed;
}
.c-field.is-invalid, .c-field[aria-invalid=true] {
  --field-border-color: var(--color-secondary);
}

.c-field__upload {
  --field-height: 4.8rem;
}
.c-field__upload::file-selector-button {
  --field-color: var(--color-white);
  --field-background-color: var(--color-black);
  --button-border-color: none;
  --button-border-width: 1px;
  --button-border-radius: 0,5rem;
}

/**
 * Custom properties for area fields.
 */
.c-field--area {
  --field-min-height: calc(var(--field-height) * 3);
}

/**
 * Custom properties for search fields.
 */
.c-field--search {
  --field-padding-left: calc(var(--field-background-size) + var(--field-padding-x) * 2);
  --field-background-image: url("data:image/svg+xml,%3Csvg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 26 26\"%3E%3Ccircle cx=\"10.3\" cy=\"10.3\" r=\"9.3\" fill=\"none\" stroke=\"%232b2b2a\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/%3E%3Cpath d=\"M25 25l-8-8\" fill=\"none\" stroke=\"%232b2b2a\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/%3E%3C/svg%3E");
  --field-background-position-x: var(--field-padding-x);
  --field-background-size: 2rem;
  --field-appearance: none;
}

/**
 * Custom properties for select fields.
 */
.c-field--select {
  --field-padding-right: calc(var(--field-background-size) + var(--field-padding-x) * 2);
  --field-background-image: url("data:image/svg+xml,%3Csvg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 18 10\"%3E%3Cpath d=\"M1 1l8 8 8-8\" fill=\"none\" stroke=\"%232b2b2a\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/%3E%3C/svg%3E");
  --field-background-position-x: calc(100% - var(--field-padding-x));
  --field-background-size: 1.4rem;
  --field-appearance: none;
}

/**
 * Custom properties for checkboxes & radio buttons.
 */
.c-field--check {
  --field-width: 1.6rem;
  --field-height: var(--field-width);
  --field-padding-x: 0;
  --field-padding-y: var(--field-padding-x);
  --field-border-color: var(--color-secondary);
  --field-appearance: none;
}
.c-field--check:checked {
  --field-background-color: var(--color-secondary);
  --field-box-shadow: inset 0 0 0 0.3rem var(--color-white);
}
.c-field--check[type=radio] {
  --field-border-radius: 50%;
}

/* Declarative rules
   ========================================================================== */
.c-field {
  width: var(--field-width);
  height: var(--field-height);
  min-height: var(--field-min-height);
  padding: var(--field-padding-y, calc((var(--field-height) - var(--field-font-size) * var(--field-line-height)) / 2 - var(--field-border-width))) var(--field-padding-right, var(--field-padding-x)) var(--field-padding-y, calc((var(--field-height) - var(--field-font-size) * var(--field-line-height)) / 2 - var(--field-border-width))) var(--field-padding-left, var(--field-padding-x));
  color: var(--field-color, var(--text-color));
  font-size: var(--field-font-size);
  line-height: var(--field-line-height);
  background-color: var(--field-background-color, var(--color-white));
  background-image: var(--field-background-image, none);
  background-repeat: no-repeat;
  background-position: var(--field-background-position-x) center;
  background-size: var(--field-background-size);
  border: var(--field-border-width) solid var(--field-border-color, currentColor);
  border-radius: var(--field-border-radius, var(--radius));
  box-shadow: var(--field-box-shadow);
  cursor: var(--field-cursor);
  appearance: var(--field-appearance, auto);
}
.c-field::placeholder {
  color: var(--color-gray-300);
}

.c-field__upload {
  padding: 0.7rem 0.2rem 0.7rem 0.5rem;
}
.c-field__upload::file-selector-button {
  color: var(--field-color);
  cursor: pointer;
  background-color: var(--field-background-color);
  border: var(--button-border-width) solid var(--button-border-color);
  border-radius: var(--button-border-radius);
  font-weight: var(--font-weight-medium);
  float: right;
  padding: 0.8rem 1.5rem;
  margin-left: 1rem;
}
.c-field__upload:hover::file-selector-button {
  background-color: var(--color-gray);
}

/* ==========================================================================
   #FOOTER
   ========================================================================== */
/* Variables & Custom properties
   ========================================================================== */
.c-footer {
  --footer-background-color: var(--color-black);
  --footer-color: var(--color-white);
  --footer-height: 27.2rem;
}
@media (min-width: 48em) {
  .c-footer {
    --footer-height: auto;
  }
}
.c-footer .o-grid {
  --grid-row-gap: 2.4rem;
}

.c-footer__list {
  --grid-column-gap: 4.8rem ;
}

/* Declarative rules
   ========================================================================== */
.c-footer {
  position: relative;
  align-items: center;
  display: flex;
  background-color: var(--footer-background-color);
  color: var(--footer-color);
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-medium);
  height: var(--footer-height);
}

.c-footer__link {
  --link-color: var(--footer-color);
}
.c-footer__link:hover, .c-footer__link:focus, .c-footer__link:active {
  color: var(--header-color);
}

/* ==========================================================================
   #HEADER
   ========================================================================== */
/* Variables & Custom properties
   ========================================================================== */
body {
  --header-content-height: 8rem;
}

.c-header {
  --header-background-color: var(--color-blue);
  --header-color: var(--color-white);
  --logo-height: 4rem;
  --logo-width: 200px;
}
@media (min-width: 64.0625em) {
  .c-header {
    --header-content-height: auto;
    --logo-width: 250px;
  }
}

/* Declarative rules
   ========================================================================== */
.c-header {
  z-index: 2;
}

.c-header,
.c-header__main {
  display: flex;
  flex-direction: column;
}

.c-header__link {
  --link-color: var(--color-white);
}
.c-header__link:hover, .c-header__link:focus, .c-header__link:active {
  color: var(--header-color);
}

.c-header__content {
  position: relative;
  height: var(--header-content-height);
  background-color: var(--header-color);
}

.c-logo {
  max-width: 20rem;
}

@media (max-width: 64em) {
  .c-header__icon {
    width: 11rem;
  }
}

.c-header__logo {
  padding: 1rem;
  width: var(--logo-width);
}
@media (max-width: 64em) {
  .c-header__logo {
    padding-top: 0;
    padding-bottom: 0;
  }
}
@media (min-width: 64.0625em) {
  .c-header__logo {
    position: absolute;
    top: 2rem;
    left: 1rem;
  }
}

.c-header__logo__img {
  position: relative;
}
@media (max-width: 64em) {
  .c-header__logo__img {
    height: var(--logo-height);
    width: auto;
  }
}

@media (min-width: 64.0625em) {
  .c-header__menu {
    display: flex;
    flex-direction: row;
    justify-content: flex-end;
  }
}

@media (min-width: 64.0625em) {
  .c-header__menu-new {
    position: relative;
    width: 100%;
    background: var(--color-white);
    box-shadow: rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0.1) 0px 1px 3px 0px, rgba(0, 0, 0, 0.1) 0px 1px 2px -1px;
    height: 8rem;
  }
}

.c-menu--nav {
  position: relative;
  display: flex !important;
  justify-content: center;
  padding: 1rem 0;
}

.c-header__burger {
  position: absolute;
  top: var(--topbar-height);
  right: 0;
  height: var(--header-content-height);
}
@media (min-width: 64.0625em) {
  .c-header__burger {
    display: none;
  }
}

@media (max-width: 64em) {
  .has-menu-open .c-header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
  }
  body.menu-m-isopen .c-topbar {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 30;
  }
  body.menu-m-isopen .c-header__burger {
    position: fixed;
    top: var(--topbar-height);
    left: 0;
    right: 0;
    width: 100%;
    background-color: var(--color-white);
    display: flex;
    justify-content: flex-end;
    align-items: center;
    z-index: 25;
  }
}
/* ==========================================================================
   #ICONS
   ========================================================================== */
/* Variables & Custom properties
   ========================================================================== */
.c-icon--monospace {
  --icon-width: calc(var(--line-height-base) * 1em);
}

.c-icon--rotate-90 {
  --icon-transform-rotate: 90deg;
}

.c-icon--rotate-180 {
  --icon-transform-rotate: 180deg;
}

.c-icon--rotate-270 {
  --icon-transform-rotate: 270deg;
}

/* Declarative rules
   ========================================================================== */
.c-icon {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  vertical-align: top;
}

.c-icon__svg {
  width: var(--icon-width, auto);
  height: var(--icon-height, calc(var(--line-height-base) * 1em));
  transform: scale(var(--icon-transform-scale, 1)) rotate(var(--icon-transform-rotate, 0deg));
  transition: var(--icon-svg-transition);
  fill: currentColor;
  stroke: currentColor;
}

/* ==========================================================================
   #LINKS
   ========================================================================== */
/* Variables & Custom properties
   ========================================================================== */
.c-link:hover, .c-link:focus, .c-link:active {
  --link-color: var(--text-color);
}

.c-link--list {
  --link-color: var(--text-color);
}
.c-link--list:hover, .c-link--list:focus, .c-link--list:active, .c-link--list.is-active {
  --link-color: var(--color-primary);
}

.c-borderline--left:hover:before, .c-borderline--left:focus:before, .c-borderline--left:active:before, .c-borderline--left.is-active:before {
  content: "";
  display: block;
  position: absolute;
  left: 1.8rem;
  width: 0.6rem;
  height: 2.5rem;
  border-radius: 0.3rem;
  background-color: currentColor;
}

/* Declarative rules
   ========================================================================== */
.c-link {
  color: var(--link-color, var(--color-primary));
  font-weight: var(--font-weight-bold);
  text-decoration: none;
}
.c-link:hover, .c-link:focus, .c-link:active, .c-link.is-active {
  color: var(--link-color, var(--color-primary));
}

/* Lists
   ========================================================================== */
/* Variables & Custom properties
   ========================================================================== */
.c-list {
  --list-offset-x: var(--spacer-md);
  --list-item-size: 1em;
  --list-item-spacing-outer-right: var(--spacer-md);
  --list-item-offset-bottom: .2em;
  --list-bullet-size: .3em;
  --list-bullet-color: var(--color-secondary);
}

/* Declarative rules
   ========================================================================== */
.c-list {
  list-style: none;
  margin-top: var(--list-offset-x);
  padding-left: 0;
}

.c-list__item {
  position: relative;
  padding-bottom: var(--list-item-offset-bottom);
  padding-left: var(--list-item-spacing-outer-right);
}
.c-list__item::before {
  content: "";
  position: absolute;
  top: 0.5em;
  left: 0;
}
.c-list__item:last-child {
  --list-item-offset-bottom: 0;
}

.c-list--bullet > .c-list__item::before {
  width: var(--list-bullet-size);
  height: var(--list-bullet-size);
  background-color: var(--list-bullet-color);
  border-radius: 50%;
}

/* ==========================================================================
   #MAIN
   ========================================================================== */
.main {
  flex: 1;
}
@media (max-width: 64em) {
  .main {
    margin-top: calc(var(--header-contact-height) + var(--header-content-height));
  }
}

/* ==========================================================================
   #MAP
   ========================================================================== */
/* Variables & Custom properties
   ========================================================================== */
/* Declarative rules
   ========================================================================== */
.c-contact--map {
  height: 100%;
  position: relative;
  width: 100%;
  background-image: url(/build/godreau-theme/images/static-map.d332a2e3.png);
}

/* ==========================================================================
   #MENU
   ========================================================================== */
/* Variables & Custom properties
   ========================================================================== */
.c-menu__submenu {
  --nav-submenu-visibility: hidden;
  --nav-submenu-opacity: 0;
  --nav-submenu-translate: translateY(2rem);
  --zi-menu: 4;
}
@media (min-width: 64.0625em) {
  .c-menu__submenu {
    --header-height: 4rem;
  }
}

/* Declarative rules
   ========================================================================== */
.c-menu {
  background-color: #fff;
  align-items: stretch;
  font-size: var(--font-size-lg);
  z-index: var(--zi-menu);
}
@media (min-width: 64.0625em) {
  .c-menu {
    display: flex;
    height: 100%;
    flex-direction: row;
    justify-content: flex-end;
  }
}

@media (min-width: 64.0625em) {
  .c-menu__item--lvl1 {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
}

.c-menu__link-lvl1,
.c-menu__link-lvl2,
.c-menu__link-lvl3 {
  display: block;
  font-size: var(--font-size-lg);
  line-height: var(--line-height-lg);
  color: var(--color-black);
  transition: color 0.3s;
  text-decoration: none;
}
.c-menu__link-lvl1:hover, .c-menu__link-lvl1:focus, .c-menu__link-lvl1:active,
.c-menu__link-lvl2:hover,
.c-menu__link-lvl2:focus,
.c-menu__link-lvl2:active,
.c-menu__link-lvl3:hover,
.c-menu__link-lvl3:focus,
.c-menu__link-lvl3:active {
  color: var(--color-blue);
}

.c-menu__link-lvl1 {
  word-break: keep-all;
  font-weight: var(--font-weight-medium);
  cursor: pointer;
}
@media (min-width: 64.0625em) {
  .c-menu__link-lvl1 {
    text-align: center;
  }
  .c-menu__link-lvl1:after {
    content: "";
    display: block;
    position: absolute;
    bottom: 0;
    left: var(--spacer-base);
    height: 0.6rem;
    width: 0.6rem;
    border-radius: 0.3rem;
    background-color: var(--color-blue);
    opacity: 0;
    transition: all 0.3s;
  }
}
.c-menu__link-lvl1:hover:after, .c-menu__link-lvl1:focus:after, .c-menu__link-lvl1:active:after {
  width: 6rem;
  opacity: 1;
}
.c-menu__link-lvl1[aria-expanded=true] {
  color: var(--color-blue);
}
.c-menu__link-lvl1[aria-expanded=true]:after {
  width: 6rem;
  opacity: 1;
}

@media (max-width: 64em) {
  .c-menu,
  .c-submenu {
    position: fixed;
    top: calc(var(--topbar-height) + var(--header-content-height));
    bottom: 0;
    right: 0;
    left: 100%;
    width: 100%;
    overflow-y: auto;
    overflow-x: hidden;
    transition: left 0.3s;
    z-index: 5;
  }
  .c-menu.is-active,
  .c-submenu.is-active {
    left: 0;
  }
  .c-menu {
    padding-top: 2.2rem;
  }
  .c-submenu__content {
    padding-top: var(--header-content-height);
  }
  .c-menu__link-lvl1,
  .c-menu__link-lvl2,
  .c-menu__link-lvl3 {
    position: relative;
  }
  .c-menu__item {
    position: relative;
    margin-bottom: var(--spacer-sm);
  }
  .c-menu__item:last-child {
    margin-bottom: 0;
  }
  .c-menu__item a {
    padding: 1.2rem;
  }
  .c-menu__arrow {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
  }
  .c-menu__arrow:before {
    content: "";
    position: absolute;
    top: 50%;
    right: var(--spacer-md);
    height: 1.2rem;
    width: 1.2rem;
    border: 0.2rem solid var(--color-blue);
    border-bottom: 0;
    border-left: 0;
    transform: rotate(45deg) translateX(-50%);
  }
  .c-menu__arrow--back {
    right: auto;
    width: 4rem;
  }
  .c-menu__arrow--back:before {
    right: auto;
    left: var(--spacer-md);
    transform: rotate(-135deg) translateX(70%);
  }
}
@media (min-width: 64.0625em) {
  .c-menu__link-lvl3 {
    padding: 0.2em 0;
  }
  li:first-child .c-menu__link-lvl3 {
    padding-top: 0;
  }
  li:last-child .c-menu__link-lvl3 {
    padding-bottom: 0;
  }
  .c-menu__item--lvl2 {
    margin: 2em 0 0;
  }
  .c-menu__item--lvl2:first-child {
    margin-top: 0;
  }
  .c-menu__link-lvl2 {
    font-weight: var(--font-weight-bold);
    text-transform: uppercase;
    padding-bottom: 0.5em;
  }
  .c-submenu__col--left .c-menu__link-lvl2 {
    font-weight: var(--font-weight-normal);
    text-transform: none;
    padding: 0.5em 0;
  }
  .c-submenu__col--left .c-menu__link-lvl2.c-menu__link--parent {
    font-weight: var(--font-weight-bold);
  }
  .c-menu__submenu {
    position: fixed;
    top: calc(var(--header-content-height) + var(--topbar-height));
    left: 0;
    right: 0;
    width: 100vw;
    z-index: 10;
    background-color: var(--color-white);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    transition: all 0.3s;
    visibility: var(--nav-submenu-visibility);
    opacity: var(--nav-submenu-opacity);
    transform: var(--nav-submenu-translate);
  }
  .c-menu__submenu[aria-hidden=false] {
    --nav-submenu-translate: translateY(0);
    --nav-submenu-visibility: visible;
    --nav-submenu-opacity: 1;
  }
  .has-submenu--open .c-menu__submenu {
    --nav-submenu-translate: translateY(0);
    --nav-submenu-visibility: visible;
    --nav-submenu-opacity: 1;
    z-index: 11;
  }
  body:has(.has-submenu--open),
  body:has(.c-menu__submenu[aria-hidden=false]) {
    overflow: hidden;
  }
  #submenu-autres-produits {
    left: inherit;
  }
}
/* ==========================================================================
   #PAGE
   ========================================================================== */
/* Variables & Custom properties
   ========================================================================== */
/* Declarative rules
   ========================================================================== */
.c-page {
  display: flex;
  flex-direction: var(--page-flex-direction, column);
  position: relative;
}

/**
 * Main content.
 */
.c-page__main {
  display: flex;
  flex: 1;
  flex-direction: column;
}

/* ==========================================================================
   #QUOTE
   ========================================================================== */
/* Variables & Custom properties
   ========================================================================== */
/* Declarative rules
   ========================================================================== */
.c-quote {
  font-style: italic;
  font-weight: 500;
}

/**
 * Main content.
 */
/* ==========================================================================
   #SKIP LINKS
   ========================================================================== */
.skiplinks a {
  position: absolute;
  left: -10000px;
  color: #fff;
}
.skiplinks a:focus {
  display: block;
  left: 1em;
}

/* ==========================================================================
   #HEADER
   ========================================================================== */
/* Variables & Custom properties
   ========================================================================== */
.c-submenu {
  --submenu-border-radius: var(--spacer-sm);
  --submenu-border: 1px solid var(--color-light-gray);
}

/* Declarative rules
   ========================================================================== */
@media (max-width: 64em) {
  .c-submenu {
    background-color: var(--color-white);
    z-index: 6;
  }
  .c-submenu .o-grid {
    flex-direction: column;
  }
  .c-submenu__image {
    display: none;
  }
  .c-submenu__header {
    position: fixed;
    top: var(--header-contact-height);
    left: 100%;
    width: 100%;
    height: var(--header-content-height);
    border: 0;
    display: flex;
    justify-content: center;
    flex-direction: column;
    align-items: center;
    font-weight: var(--font-weight-bold);
    background-color: var(--color-white);
    z-index: 6;
    transition: left 0.4s;
  }
  .is-active > .c-submenu__header {
    left: 0;
  }
  .c-submenu__col--lvl2 {
    position: fixed;
    top: calc(var(--topbar-height) + var(--header-content-height));
    right: 0;
    left: 100%;
    width: 100%;
    overflow-y: auto;
    overflow-x: hidden;
    height: 100%;
    background-color: var(--color-white);
    transition: left 0.3s;
    z-index: 7;
  }
  .c-submenu__col--lvl2.is-active {
    left: 0;
  }
  .c-submenu__col--lvl2 .c-submenu__category-title {
    display: none;
  }
  .c-submenu__col--lvl2 .c-submenu__category-group {
    padding-top: var(--header-content-height);
  }
  .c-menu__link-lvl2.c-menu__link--parent .c-menu__arrow {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
  }
  .c-menu__link-lvl2.c-menu__link--parent .c-menu__arrow:before {
    content: "";
    position: absolute;
    top: 50%;
    right: var(--spacer-md);
    height: 1.2rem;
    width: 1.2rem;
    border: 0.2rem solid var(--color-blue);
    border-bottom: 0;
    border-left: 0;
    transform: rotate(45deg) translateX(-50%);
  }
}
@media (min-width: 64.0625em) {
  .c-submenu__header {
    display: none;
  }
  .c-submenu__content {
    max-width: 1200px;
    margin: 0 auto;
    padding: var(--spacer-lg) 0;
  }
  .c-submenu__col {
    display: flex;
    flex-direction: column;
    padding: var(--spacer-lg) var(--spacer-xl);
    overflow: hidden;
    background-color: var(--color-white);
  }
  .c-submenu__links {
    margin-top: 0;
  }
  .c-submenu__col--left {
    background-color: #f5f5f5;
    border-right: 1px solid #e0e0e0;
  }
  .c-submenu__col--left .c-menu__item {
    position: relative;
    margin-bottom: var(--spacer-xs);
  }
  .c-submenu__col--left .c-menu__item.is-active::before, .c-submenu__col--left .c-menu__item:hover::before {
    content: "";
    position: absolute;
    left: calc(-1 * var(--spacer-xl));
    top: 0;
    bottom: 0;
    width: 4px;
    background-color: var(--color-blue);
  }
  .c-submenu__col--left .c-menu__item:hover {
    background-color: rgba(0, 0, 0, 0.03);
  }
  .c-submenu__col--left .c-menu__link-lvl2 {
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-normal);
    padding: 0.25em 1em;
    display: block;
  }
  .c-submenu__col--left .c-menu__link-lvl2.c-menu__link--parent {
    font-weight: var(--font-weight-bold);
  }
  .c-submenu__col--right {
    display: flex !important;
    flex-direction: column;
    background-color: var(--color-white);
  }
  .c-submenu__col--right .c-submenu__categories-wrapper {
    flex: 1;
    margin-bottom: var(--spacer-lg);
  }
  .c-submenu__col--right .c-submenu__col--lvl2 {
    display: none;
  }
  .c-submenu__col--right .c-submenu__col--lvl2.is-visible {
    display: block;
  }
  .c-submenu__col--right .c-submenu__category-title {
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-bold);
    text-transform: uppercase;
    margin-bottom: 1em;
    color: var(--color-black);
    letter-spacing: 0.05em;
  }
  .c-submenu__col--right .c-submenu__category-group {
    margin-bottom: var(--spacer-lg);
  }
  .c-submenu__col--right .c-submenu__category-group:last-child {
    margin-bottom: 0;
  }
  .c-submenu__col--right .c-menu__link-lvl3 {
    font-size: var(--font-size-base);
    font-weight: var(--font-weight-normal);
    padding: 0.5em 0;
    display: block;
  }
  .c-submenu__col--right .c-menu__link-lvl3:hover {
    text-decoration: underline;
  }
  .c-submenu__image-wrapper {
    width: 100%;
    margin-top: auto;
  }
  .c-submenu__image {
    width: 100%;
    height: 300px;
    border-radius: 4px;
    background-position: center;
    background-size: cover;
    transition: background-image 0.3s ease 0.1s;
  }
}
/* ==========================================================================
   #SUMMARY
   ========================================================================== */
/* Variables & Custom properties
   ========================================================================== */
/* Declarative rules
   ========================================================================== */
.c-summary {
  top: 0;
  position: sticky;
}

/* swipers
   ========================================================================== */
.c-swiper {
  --swiper-columns: 1;
  --swiper-gutter: 0;
  --swiper-nav-color: var(--color-white);
  --swiper-bullet-content: none;
  --swiper-bullet-size: 1.2rem;
  --swiper-bullet-spacing-outer-x: var(--spacer-sm);
  --swiper-bullet-border-width: .1rem;
  --swiper-bullet-border-radius: 50%;
  --swiper-bullet-scale: 1;
  --swiper-bullet-visibility: hidden;
  --swiper-bullet-opacity: 0;
  --swiper-bullet-transition-duration: var(--transition-duration);
}

.c-swiper {
  position: relative;
  overflow: hidden;
  color: var(--swiper-nav-color);
}

.c-swiper--fixed-height,
.c-swiper--fixed-height .c-swiper__wrapper {
  height: 100%;
}
.c-swiper--fixed-height .c-swiper__slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.c-swiper__wrapper {
  display: flex;
  margin-top: 0;
  margin-right: calc(var(--swiper-gutter) * -1);
  padding-left: 0;
  list-style: none;
}

.c-swiper__slide {
  position: relative;
  flex-shrink: 0;
  width: calc(100% / (var(--swiper-columns) - var(--swiper-gutter)));
  margin-right: var(--swiper-gutter);
}
.c-swiper__slide img {
  position: relative;
  width: 100%;
  height: auto;
}

.c-swiper__pagination {
  padding-left: 0;
  margin-top: 0;
}

.c-swiper__bullet {
  position: relative;
  display: inline-block;
  width: var(--swiper-bullet-size);
  height: var(--swiper-bullet-size);
  margin-left: var(--swiper-bullet-spacing-outer-x);
  border: var(--swiper-bullet-border-width) solid currentColor;
  border-radius: var(--swiper-bullet-border-radius);
  cursor: pointer;
}
.c-swiper__bullet::before {
  content: var(--swiper-bullet-content);
  position: absolute;
  display: inline-block;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-color: currentColor;
  border-radius: var(--swiper-bullet-border-radius);
  transform: scale(var(--swiper-bullet-scale));
}
.c-swiper__bullet.is-active {
  --swiper-bullet-content: "";
}
.c-swiper__bullet:first-child {
  --swiper-bullet-spacing-outer-x: 0;
}

.c-swiper__navigation {
  position: absolute;
  bottom: 0;
  right: 0;
  left: 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.c-swiper__btn {
  padding: var(--spacer-base);
  cursor: pointer;
}

/* ==========================================================================
   #TOPBAR
   ========================================================================== */
/* Variables & Custom properties
   ========================================================================== */
body {
  --topbar-height: 15rem;
  --topbar-font-size: var(--font-size-sm);
}
@media (min-width: 48em) {
  body {
    --topbar-height: 12rem;
    --topbar-font-size: var(--font-size-sm);
  }
}

.c-topbar {
  --topbar-background-color: var(--color-blue);
  --topbar-color: var(--color-white);
}

.c-logo__svg {
  --logo-width: 25rem;
}

/* Declarative rules
   ========================================================================== */
.c-topbar {
  align-items: center;
  display: flex;
  background-color: var(--topbar-background-color);
  color: var(--topbar-color);
  font-size: var(--topbar-font-size);
  font-weight: var(--font-weight-medium);
  height: var(--topbar-height);
}

.c-logo__svg {
  width: var(--logo-width);
}

/* ==========================================================================
   #COLORS
   ========================================================================== */
/* Declarative rules
   ========================================================================== */
.u-c\(white\) {
  color: var(--color-white);
}

.u-c\(black\) {
  color: var(--color-black);
}

.u-c\(primary\) {
  color: var(--color-primary);
}

.u-c\(secondary\) {
  color: var(--color-secondary);
}

.u-c\(blue\) {
  color: var(--color-blue);
}

.u-c\(dark-blue\) {
  color: var(--color-dark-blue);
}

.u-c\(darker-blue\) {
  color: var(--color-darker-blue);
}

.u-c\(red\) {
  color: var(--color-red);
}

.u-c\(gray\) {
  color: var(--color-gray);
}

.u-c\(light-gray\) {
  color: var(--color-light-gray);
}

.u-bgc\(white\) {
  background-color: var(--color-white);
}

.u-bgc\(black\) {
  background-color: var(--color-black);
}

.u-bgc\(primary\) {
  background-color: var(--color-primary);
}

.u-bgc\(secondary\) {
  background-color: var(--color-secondary);
}

.u-bgc\(blue\) {
  background-color: var(--color-blue);
}

.u-bgc\(dark-blue\) {
  background-color: var(--color-dark-blue);
}

.u-bgc\(darker-blue\) {
  background-color: var(--color-darker-blue);
}

.u-bgc\(red\) {
  background-color: var(--color-red);
}

.u-bgc\(gray\) {
  background-color: var(--color-gray);
}

.u-bgc\(light-gray\) {
  background-color: var(--color-light-gray);
}

/* ==========================================================================
   #CURSORS
   ========================================================================== */
/* Declarative rules
   ========================================================================== */
.u-cur\(auto\) {
  cursor: auto;
}

.u-cur\(pointer\) {
  cursor: pointer;
}

/* ==========================================================================
   #DISPLAY
   ========================================================================== */
/* Declarative rules
   ========================================================================== */
.u-d\(inline\) {
  display: inline;
}

.u-d\(block\) {
  display: block;
}

.u-d\(inline-block\) {
  display: inline-block;
}

.u-d\(flex\) {
  display: flex;
}

.u-d\(inline-flex\) {
  display: inline-flex;
}

.u-d\(grid\) {
  display: grid;
}

.u-d\(inline-grid\) {
  display: inline-grid;
}

.u-d\(table\) {
  display: table;
}

.u-d\(inline-table\) {
  display: inline-table;
}

.u-d\(table-row\) {
  display: table-row;
}

.u-d\(table-cell\) {
  display: table-cell;
}

.u-d\(none\) {
  display: none;
}

@media (max-width: 47.9375em) {
  .u-d\(inline\)\@mobile {
    display: inline;
  }
  .u-d\(block\)\@mobile {
    display: block;
  }
  .u-d\(inline-block\)\@mobile {
    display: inline-block;
  }
  .u-d\(flex\)\@mobile {
    display: flex;
  }
  .u-d\(inline-flex\)\@mobile {
    display: inline-flex;
  }
  .u-d\(grid\)\@mobile {
    display: grid;
  }
  .u-d\(inline-grid\)\@mobile {
    display: inline-grid;
  }
  .u-d\(table\)\@mobile {
    display: table;
  }
  .u-d\(inline-table\)\@mobile {
    display: inline-table;
  }
  .u-d\(table-row\)\@mobile {
    display: table-row;
  }
  .u-d\(table-cell\)\@mobile {
    display: table-cell;
  }
  .u-d\(none\)\@mobile {
    display: none;
  }
}
@media (min-width: 48em) {
  .u-d\(inline\)\@mobile-up {
    display: inline;
  }
  .u-d\(block\)\@mobile-up {
    display: block;
  }
  .u-d\(inline-block\)\@mobile-up {
    display: inline-block;
  }
  .u-d\(flex\)\@mobile-up {
    display: flex;
  }
  .u-d\(inline-flex\)\@mobile-up {
    display: inline-flex;
  }
  .u-d\(grid\)\@mobile-up {
    display: grid;
  }
  .u-d\(inline-grid\)\@mobile-up {
    display: inline-grid;
  }
  .u-d\(table\)\@mobile-up {
    display: table;
  }
  .u-d\(inline-table\)\@mobile-up {
    display: inline-table;
  }
  .u-d\(table-row\)\@mobile-up {
    display: table-row;
  }
  .u-d\(table-cell\)\@mobile-up {
    display: table-cell;
  }
  .u-d\(none\)\@mobile-up {
    display: none;
  }
}
@media (max-width: 64em) and (min-width: 48em) {
  .u-d\(inline\)\@tablet {
    display: inline;
  }
  .u-d\(block\)\@tablet {
    display: block;
  }
  .u-d\(inline-block\)\@tablet {
    display: inline-block;
  }
  .u-d\(flex\)\@tablet {
    display: flex;
  }
  .u-d\(inline-flex\)\@tablet {
    display: inline-flex;
  }
  .u-d\(grid\)\@tablet {
    display: grid;
  }
  .u-d\(inline-grid\)\@tablet {
    display: inline-grid;
  }
  .u-d\(table\)\@tablet {
    display: table;
  }
  .u-d\(inline-table\)\@tablet {
    display: inline-table;
  }
  .u-d\(table-row\)\@tablet {
    display: table-row;
  }
  .u-d\(table-cell\)\@tablet {
    display: table-cell;
  }
  .u-d\(none\)\@tablet {
    display: none;
  }
}
@media (max-width: 64em) {
  .u-d\(inline\)\@tablet-down {
    display: inline;
  }
  .u-d\(block\)\@tablet-down {
    display: block;
  }
  .u-d\(inline-block\)\@tablet-down {
    display: inline-block;
  }
  .u-d\(flex\)\@tablet-down {
    display: flex;
  }
  .u-d\(inline-flex\)\@tablet-down {
    display: inline-flex;
  }
  .u-d\(grid\)\@tablet-down {
    display: grid;
  }
  .u-d\(inline-grid\)\@tablet-down {
    display: inline-grid;
  }
  .u-d\(table\)\@tablet-down {
    display: table;
  }
  .u-d\(inline-table\)\@tablet-down {
    display: inline-table;
  }
  .u-d\(table-row\)\@tablet-down {
    display: table-row;
  }
  .u-d\(table-cell\)\@tablet-down {
    display: table-cell;
  }
  .u-d\(none\)\@tablet-down {
    display: none;
  }
}
@media (min-width: 64.0625em) {
  .u-d\(inline\)\@tablet-up {
    display: inline;
  }
  .u-d\(block\)\@tablet-up {
    display: block;
  }
  .u-d\(inline-block\)\@tablet-up {
    display: inline-block;
  }
  .u-d\(flex\)\@tablet-up {
    display: flex;
  }
  .u-d\(inline-flex\)\@tablet-up {
    display: inline-flex;
  }
  .u-d\(grid\)\@tablet-up {
    display: grid;
  }
  .u-d\(inline-grid\)\@tablet-up {
    display: inline-grid;
  }
  .u-d\(table\)\@tablet-up {
    display: table;
  }
  .u-d\(inline-table\)\@tablet-up {
    display: inline-table;
  }
  .u-d\(table-row\)\@tablet-up {
    display: table-row;
  }
  .u-d\(table-cell\)\@tablet-up {
    display: table-cell;
  }
  .u-d\(none\)\@tablet-up {
    display: none;
  }
}
/* ==========================================================================
   #FLEX
   ========================================================================== */
/* Declarative rules
   ========================================================================== */
.u-d\(flex\) {
  display: flex;
}

.u-d\(inline-flex\) {
  display: inline-flex;
}

.u-fxd\(row\) {
  flex-direction: row;
}

.u-fxd\(row-reverse\) {
  flex-direction: row-reverse;
}

.u-fxd\(column\) {
  flex-direction: column;
}

.u-fxd\(column-reverse\) {
  flex-direction: column-reverse;
}

.u-fxw\(nowrap\) {
  --grid-row-gap: 0;
  flex-wrap: nowrap;
}

.u-fxw\(wrap\) {
  flex-wrap: wrap;
}

.u-fxw\(wrap-reverse\) {
  flex-wrap: wrap-reverse;
}

.u-jc\(flex-start\) {
  justify-content: flex-start;
}

.u-jc\(flex-end\) {
  justify-content: flex-end;
}

.u-jc\(center\) {
  justify-content: center;
}

.u-jc\(space-between\) {
  justify-content: space-between;
}

.u-jc\(space-around\) {
  justify-content: space-around;
}

.u-jc\(space-evenly\) {
  justify-content: space-evenly;
}

.u-ac\(flex-start\) {
  align-content: flex-start;
}

.u-ac\(flex-end\) {
  align-content: flex-end;
}

.u-ac\(center\) {
  align-content: center;
}

.u-ac\(space-between\) {
  align-content: space-between;
}

.u-ac\(space-around\) {
  align-content: space-around;
}

.u-ac\(stretch\) {
  align-content: stretch;
}

.u-ai\(flex-start\) {
  align-items: flex-start;
}

.u-ai\(flex-end\) {
  align-items: flex-end;
}

.u-ai\(center\) {
  align-items: center;
}

.u-ai\(baseline\) {
  align-items: baseline;
}

.u-ai\(stretch\) {
  align-items: stretch;
}

.u-as\(flex-start\) {
  align-self: flex-start;
}

.u-as\(flex-end\) {
  align-self: flex-end;
}

.u-as\(center\) {
  align-self: center;
}

.u-as\(baseline\) {
  align-self: baseline;
}

.u-as\(stretch\) {
  align-self: stretch;
}

.u-fx\(initial\) {
  flex: initial;
}

.u-fx\(auto\) {
  flex: auto;
}

.u-fx\(1\) {
  flex: 1;
}

.u-fx\(none\) {
  flex: none;
}

.u-fxg\(1\) {
  flex-grow: 1;
}

.u-fxg\(0\) {
  flex-grow: 0;
}

.u-fxs\(1\) {
  flex-shrink: 1;
}

.u-fxs\(0\) {
  flex-shrink: 0;
}

.u-fxb\(0\) {
  flex-basis: 0;
}

.u-or\(-1\) {
  order: -1;
}

.u-or\(0\) {
  order: 0;
}

.u-or\(1\) {
  order: 1;
}

@media (max-width: 47.9375em) {
  .u-d\(flex\)\@mobile {
    display: flex;
  }
  .u-d\(inline-flex\)\@mobile {
    display: inline-flex;
  }
  .u-fxd\(row\)\@mobile {
    flex-direction: row;
  }
  .u-fxd\(row-reverse\)\@mobile {
    flex-direction: row-reverse;
  }
  .u-fxd\(column\)\@mobile {
    flex-direction: column;
  }
  .u-fxd\(column-reverse\)\@mobile {
    flex-direction: column-reverse;
  }
  .u-fxw\(nowrap\)\@mobile {
    --grid-row-gap: 0;
    flex-wrap: nowrap;
  }
  .u-fxw\(wrap\)\@mobile {
    flex-wrap: wrap;
  }
  .u-fxw\(wrap-reverse\)\@mobile {
    flex-wrap: wrap-reverse;
  }
  .u-jc\(flex-start\)\@mobile {
    justify-content: flex-start;
  }
  .u-jc\(flex-end\)\@mobile {
    justify-content: flex-end;
  }
  .u-jc\(center\)\@mobile {
    justify-content: center;
  }
  .u-jc\(space-between\)\@mobile {
    justify-content: space-between;
  }
  .u-jc\(space-around\)\@mobile {
    justify-content: space-around;
  }
  .u-jc\(space-evenly\)\@mobile {
    justify-content: space-evenly;
  }
  .u-ac\(flex-start\)\@mobile {
    align-content: flex-start;
  }
  .u-ac\(flex-end\)\@mobile {
    align-content: flex-end;
  }
  .u-ac\(center\)\@mobile {
    align-content: center;
  }
  .u-ac\(space-between\)\@mobile {
    align-content: space-between;
  }
  .u-ac\(space-around\)\@mobile {
    align-content: space-around;
  }
  .u-ac\(stretch\)\@mobile {
    align-content: stretch;
  }
  .u-ai\(flex-start\)\@mobile {
    align-items: flex-start;
  }
  .u-ai\(flex-end\)\@mobile {
    align-items: flex-end;
  }
  .u-ai\(center\)\@mobile {
    align-items: center;
  }
  .u-ai\(baseline\)\@mobile {
    align-items: baseline;
  }
  .u-ai\(stretch\)\@mobile {
    align-items: stretch;
  }
  .u-as\(flex-start\)\@mobile {
    align-self: flex-start;
  }
  .u-as\(flex-end\)\@mobile {
    align-self: flex-end;
  }
  .u-as\(center\)\@mobile {
    align-self: center;
  }
  .u-as\(baseline\)\@mobile {
    align-self: baseline;
  }
  .u-as\(stretch\)\@mobile {
    align-self: stretch;
  }
  .u-fx\(initial\)\@mobile {
    flex: initial;
  }
  .u-fx\(auto\)\@mobile {
    flex: auto;
  }
  .u-fx\(1\)\@mobile {
    flex: 1;
  }
  .u-fx\(none\)\@mobile {
    flex: none;
  }
  .u-fxg\(1\)\@mobile {
    flex-grow: 1;
  }
  .u-fxg\(0\)\@mobile {
    flex-grow: 0;
  }
  .u-fxs\(1\)\@mobile {
    flex-shrink: 1;
  }
  .u-fxs\(0\)\@mobile {
    flex-shrink: 0;
  }
  .u-fxb\(0\)\@mobile {
    flex-basis: 0;
  }
  .u-or\(-1\)\@mobile {
    order: -1;
  }
  .u-or\(0\)\@mobile {
    order: 0;
  }
  .u-or\(1\)\@mobile {
    order: 1;
  }
}
@media (min-width: 48em) {
  .u-d\(flex\)\@mobile-up {
    display: flex;
  }
  .u-d\(inline-flex\)\@mobile-up {
    display: inline-flex;
  }
  .u-fxd\(row\)\@mobile-up {
    flex-direction: row;
  }
  .u-fxd\(row-reverse\)\@mobile-up {
    flex-direction: row-reverse;
  }
  .u-fxd\(column\)\@mobile-up {
    flex-direction: column;
  }
  .u-fxd\(column-reverse\)\@mobile-up {
    flex-direction: column-reverse;
  }
  .u-fxw\(nowrap\)\@mobile-up {
    --grid-row-gap: 0;
    flex-wrap: nowrap;
  }
  .u-fxw\(wrap\)\@mobile-up {
    flex-wrap: wrap;
  }
  .u-fxw\(wrap-reverse\)\@mobile-up {
    flex-wrap: wrap-reverse;
  }
  .u-jc\(flex-start\)\@mobile-up {
    justify-content: flex-start;
  }
  .u-jc\(flex-end\)\@mobile-up {
    justify-content: flex-end;
  }
  .u-jc\(center\)\@mobile-up {
    justify-content: center;
  }
  .u-jc\(space-between\)\@mobile-up {
    justify-content: space-between;
  }
  .u-jc\(space-around\)\@mobile-up {
    justify-content: space-around;
  }
  .u-jc\(space-evenly\)\@mobile-up {
    justify-content: space-evenly;
  }
  .u-ac\(flex-start\)\@mobile-up {
    align-content: flex-start;
  }
  .u-ac\(flex-end\)\@mobile-up {
    align-content: flex-end;
  }
  .u-ac\(center\)\@mobile-up {
    align-content: center;
  }
  .u-ac\(space-between\)\@mobile-up {
    align-content: space-between;
  }
  .u-ac\(space-around\)\@mobile-up {
    align-content: space-around;
  }
  .u-ac\(stretch\)\@mobile-up {
    align-content: stretch;
  }
  .u-ai\(flex-start\)\@mobile-up {
    align-items: flex-start;
  }
  .u-ai\(flex-end\)\@mobile-up {
    align-items: flex-end;
  }
  .u-ai\(center\)\@mobile-up {
    align-items: center;
  }
  .u-ai\(baseline\)\@mobile-up {
    align-items: baseline;
  }
  .u-ai\(stretch\)\@mobile-up {
    align-items: stretch;
  }
  .u-as\(flex-start\)\@mobile-up {
    align-self: flex-start;
  }
  .u-as\(flex-end\)\@mobile-up {
    align-self: flex-end;
  }
  .u-as\(center\)\@mobile-up {
    align-self: center;
  }
  .u-as\(baseline\)\@mobile-up {
    align-self: baseline;
  }
  .u-as\(stretch\)\@mobile-up {
    align-self: stretch;
  }
  .u-fx\(initial\)\@mobile-up {
    flex: initial;
  }
  .u-fx\(auto\)\@mobile-up {
    flex: auto;
  }
  .u-fx\(1\)\@mobile-up {
    flex: 1;
  }
  .u-fx\(none\)\@mobile-up {
    flex: none;
  }
  .u-fxg\(1\)\@mobile-up {
    flex-grow: 1;
  }
  .u-fxg\(0\)\@mobile-up {
    flex-grow: 0;
  }
  .u-fxs\(1\)\@mobile-up {
    flex-shrink: 1;
  }
  .u-fxs\(0\)\@mobile-up {
    flex-shrink: 0;
  }
  .u-fxb\(0\)\@mobile-up {
    flex-basis: 0;
  }
  .u-or\(-1\)\@mobile-up {
    order: -1;
  }
  .u-or\(0\)\@mobile-up {
    order: 0;
  }
  .u-or\(1\)\@mobile-up {
    order: 1;
  }
}
@media (max-width: 64em) and (min-width: 48em) {
  .u-d\(flex\)\@tablet {
    display: flex;
  }
  .u-d\(inline-flex\)\@tablet {
    display: inline-flex;
  }
  .u-fxd\(row\)\@tablet {
    flex-direction: row;
  }
  .u-fxd\(row-reverse\)\@tablet {
    flex-direction: row-reverse;
  }
  .u-fxd\(column\)\@tablet {
    flex-direction: column;
  }
  .u-fxd\(column-reverse\)\@tablet {
    flex-direction: column-reverse;
  }
  .u-fxw\(nowrap\)\@tablet {
    --grid-row-gap: 0;
    flex-wrap: nowrap;
  }
  .u-fxw\(wrap\)\@tablet {
    flex-wrap: wrap;
  }
  .u-fxw\(wrap-reverse\)\@tablet {
    flex-wrap: wrap-reverse;
  }
  .u-jc\(flex-start\)\@tablet {
    justify-content: flex-start;
  }
  .u-jc\(flex-end\)\@tablet {
    justify-content: flex-end;
  }
  .u-jc\(center\)\@tablet {
    justify-content: center;
  }
  .u-jc\(space-between\)\@tablet {
    justify-content: space-between;
  }
  .u-jc\(space-around\)\@tablet {
    justify-content: space-around;
  }
  .u-jc\(space-evenly\)\@tablet {
    justify-content: space-evenly;
  }
  .u-ac\(flex-start\)\@tablet {
    align-content: flex-start;
  }
  .u-ac\(flex-end\)\@tablet {
    align-content: flex-end;
  }
  .u-ac\(center\)\@tablet {
    align-content: center;
  }
  .u-ac\(space-between\)\@tablet {
    align-content: space-between;
  }
  .u-ac\(space-around\)\@tablet {
    align-content: space-around;
  }
  .u-ac\(stretch\)\@tablet {
    align-content: stretch;
  }
  .u-ai\(flex-start\)\@tablet {
    align-items: flex-start;
  }
  .u-ai\(flex-end\)\@tablet {
    align-items: flex-end;
  }
  .u-ai\(center\)\@tablet {
    align-items: center;
  }
  .u-ai\(baseline\)\@tablet {
    align-items: baseline;
  }
  .u-ai\(stretch\)\@tablet {
    align-items: stretch;
  }
  .u-as\(flex-start\)\@tablet {
    align-self: flex-start;
  }
  .u-as\(flex-end\)\@tablet {
    align-self: flex-end;
  }
  .u-as\(center\)\@tablet {
    align-self: center;
  }
  .u-as\(baseline\)\@tablet {
    align-self: baseline;
  }
  .u-as\(stretch\)\@tablet {
    align-self: stretch;
  }
  .u-fx\(initial\)\@tablet {
    flex: initial;
  }
  .u-fx\(auto\)\@tablet {
    flex: auto;
  }
  .u-fx\(1\)\@tablet {
    flex: 1;
  }
  .u-fx\(none\)\@tablet {
    flex: none;
  }
  .u-fxg\(1\)\@tablet {
    flex-grow: 1;
  }
  .u-fxg\(0\)\@tablet {
    flex-grow: 0;
  }
  .u-fxs\(1\)\@tablet {
    flex-shrink: 1;
  }
  .u-fxs\(0\)\@tablet {
    flex-shrink: 0;
  }
  .u-fxb\(0\)\@tablet {
    flex-basis: 0;
  }
  .u-or\(-1\)\@tablet {
    order: -1;
  }
  .u-or\(0\)\@tablet {
    order: 0;
  }
  .u-or\(1\)\@tablet {
    order: 1;
  }
}
@media (max-width: 64em) {
  .u-d\(flex\)\@tablet-down {
    display: flex;
  }
  .u-d\(inline-flex\)\@tablet-down {
    display: inline-flex;
  }
  .u-fxd\(row\)\@tablet-down {
    flex-direction: row;
  }
  .u-fxd\(row-reverse\)\@tablet-down {
    flex-direction: row-reverse;
  }
  .u-fxd\(column\)\@tablet-down {
    flex-direction: column;
  }
  .u-fxd\(column-reverse\)\@tablet-down {
    flex-direction: column-reverse;
  }
  .u-fxw\(nowrap\)\@tablet-down {
    --grid-row-gap: 0;
    flex-wrap: nowrap;
  }
  .u-fxw\(wrap\)\@tablet-down {
    flex-wrap: wrap;
  }
  .u-fxw\(wrap-reverse\)\@tablet-down {
    flex-wrap: wrap-reverse;
  }
  .u-jc\(flex-start\)\@tablet-down {
    justify-content: flex-start;
  }
  .u-jc\(flex-end\)\@tablet-down {
    justify-content: flex-end;
  }
  .u-jc\(center\)\@tablet-down {
    justify-content: center;
  }
  .u-jc\(space-between\)\@tablet-down {
    justify-content: space-between;
  }
  .u-jc\(space-around\)\@tablet-down {
    justify-content: space-around;
  }
  .u-jc\(space-evenly\)\@tablet-down {
    justify-content: space-evenly;
  }
  .u-ac\(flex-start\)\@tablet-down {
    align-content: flex-start;
  }
  .u-ac\(flex-end\)\@tablet-down {
    align-content: flex-end;
  }
  .u-ac\(center\)\@tablet-down {
    align-content: center;
  }
  .u-ac\(space-between\)\@tablet-down {
    align-content: space-between;
  }
  .u-ac\(space-around\)\@tablet-down {
    align-content: space-around;
  }
  .u-ac\(stretch\)\@tablet-down {
    align-content: stretch;
  }
  .u-ai\(flex-start\)\@tablet-down {
    align-items: flex-start;
  }
  .u-ai\(flex-end\)\@tablet-down {
    align-items: flex-end;
  }
  .u-ai\(center\)\@tablet-down {
    align-items: center;
  }
  .u-ai\(baseline\)\@tablet-down {
    align-items: baseline;
  }
  .u-ai\(stretch\)\@tablet-down {
    align-items: stretch;
  }
  .u-as\(flex-start\)\@tablet-down {
    align-self: flex-start;
  }
  .u-as\(flex-end\)\@tablet-down {
    align-self: flex-end;
  }
  .u-as\(center\)\@tablet-down {
    align-self: center;
  }
  .u-as\(baseline\)\@tablet-down {
    align-self: baseline;
  }
  .u-as\(stretch\)\@tablet-down {
    align-self: stretch;
  }
  .u-fx\(initial\)\@tablet-down {
    flex: initial;
  }
  .u-fx\(auto\)\@tablet-down {
    flex: auto;
  }
  .u-fx\(1\)\@tablet-down {
    flex: 1;
  }
  .u-fx\(none\)\@tablet-down {
    flex: none;
  }
  .u-fxg\(1\)\@tablet-down {
    flex-grow: 1;
  }
  .u-fxg\(0\)\@tablet-down {
    flex-grow: 0;
  }
  .u-fxs\(1\)\@tablet-down {
    flex-shrink: 1;
  }
  .u-fxs\(0\)\@tablet-down {
    flex-shrink: 0;
  }
  .u-fxb\(0\)\@tablet-down {
    flex-basis: 0;
  }
  .u-or\(-1\)\@tablet-down {
    order: -1;
  }
  .u-or\(0\)\@tablet-down {
    order: 0;
  }
  .u-or\(1\)\@tablet-down {
    order: 1;
  }
}
@media (min-width: 64.0625em) {
  .u-d\(flex\)\@tablet-up {
    display: flex;
  }
  .u-d\(inline-flex\)\@tablet-up {
    display: inline-flex;
  }
  .u-fxd\(row\)\@tablet-up {
    flex-direction: row;
  }
  .u-fxd\(row-reverse\)\@tablet-up {
    flex-direction: row-reverse;
  }
  .u-fxd\(column\)\@tablet-up {
    flex-direction: column;
  }
  .u-fxd\(column-reverse\)\@tablet-up {
    flex-direction: column-reverse;
  }
  .u-fxw\(nowrap\)\@tablet-up {
    --grid-row-gap: 0;
    flex-wrap: nowrap;
  }
  .u-fxw\(wrap\)\@tablet-up {
    flex-wrap: wrap;
  }
  .u-fxw\(wrap-reverse\)\@tablet-up {
    flex-wrap: wrap-reverse;
  }
  .u-jc\(flex-start\)\@tablet-up {
    justify-content: flex-start;
  }
  .u-jc\(flex-end\)\@tablet-up {
    justify-content: flex-end;
  }
  .u-jc\(center\)\@tablet-up {
    justify-content: center;
  }
  .u-jc\(space-between\)\@tablet-up {
    justify-content: space-between;
  }
  .u-jc\(space-around\)\@tablet-up {
    justify-content: space-around;
  }
  .u-jc\(space-evenly\)\@tablet-up {
    justify-content: space-evenly;
  }
  .u-ac\(flex-start\)\@tablet-up {
    align-content: flex-start;
  }
  .u-ac\(flex-end\)\@tablet-up {
    align-content: flex-end;
  }
  .u-ac\(center\)\@tablet-up {
    align-content: center;
  }
  .u-ac\(space-between\)\@tablet-up {
    align-content: space-between;
  }
  .u-ac\(space-around\)\@tablet-up {
    align-content: space-around;
  }
  .u-ac\(stretch\)\@tablet-up {
    align-content: stretch;
  }
  .u-ai\(flex-start\)\@tablet-up {
    align-items: flex-start;
  }
  .u-ai\(flex-end\)\@tablet-up {
    align-items: flex-end;
  }
  .u-ai\(center\)\@tablet-up {
    align-items: center;
  }
  .u-ai\(baseline\)\@tablet-up {
    align-items: baseline;
  }
  .u-ai\(stretch\)\@tablet-up {
    align-items: stretch;
  }
  .u-as\(flex-start\)\@tablet-up {
    align-self: flex-start;
  }
  .u-as\(flex-end\)\@tablet-up {
    align-self: flex-end;
  }
  .u-as\(center\)\@tablet-up {
    align-self: center;
  }
  .u-as\(baseline\)\@tablet-up {
    align-self: baseline;
  }
  .u-as\(stretch\)\@tablet-up {
    align-self: stretch;
  }
  .u-fx\(initial\)\@tablet-up {
    flex: initial;
  }
  .u-fx\(auto\)\@tablet-up {
    flex: auto;
  }
  .u-fx\(1\)\@tablet-up {
    flex: 1;
  }
  .u-fx\(none\)\@tablet-up {
    flex: none;
  }
  .u-fxg\(1\)\@tablet-up {
    flex-grow: 1;
  }
  .u-fxg\(0\)\@tablet-up {
    flex-grow: 0;
  }
  .u-fxs\(1\)\@tablet-up {
    flex-shrink: 1;
  }
  .u-fxs\(0\)\@tablet-up {
    flex-shrink: 0;
  }
  .u-fxb\(0\)\@tablet-up {
    flex-basis: 0;
  }
  .u-or\(-1\)\@tablet-up {
    order: -1;
  }
  .u-or\(0\)\@tablet-up {
    order: 0;
  }
  .u-or\(1\)\@tablet-up {
    order: 1;
  }
}
/* ==========================================================================
   #HELPER
   ========================================================================== */
/* Declarative rules
   ========================================================================== */
.u-cf::after {
  display: table;
  clear: both;
  content: "";
}

.u-ell {
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.u-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  white-space: nowrap;
  border: 0;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
}

.u-h1 {
  font-size: var(--font-size-h1);
  line-height: var(--line-height-h1);
}

.u-h2 {
  font-size: var(--font-size-h2);
  line-height: var(--line-height-h2);
}

.u-h3 {
  font-size: var(--font-size-h3);
  line-height: var(--line-height-h3);
}

.u-h4 {
  font-size: var(--font-size-h4);
  line-height: var(--line-height-h4);
}

.u-h5 {
  font-size: var(--font-size-h5);
  line-height: var(--line-height-h5);
}

.u-h6 {
  font-size: var(--font-size-h6);
  line-height: var(--line-height-h6);
}

@media (max-width: 47.9375em) {
  .u-cf\@mobile::after {
    display: table;
    clear: both;
    content: "";
  }
  .u-ell\@mobile {
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
  }
  .u-hidden\@mobile {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    white-space: nowrap;
    border: 0;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
  }
  .u-h1\@mobile {
    font-size: var(--font-size-h1);
    line-height: var(--line-height-h1);
  }
  .u-h2\@mobile {
    font-size: var(--font-size-h2);
    line-height: var(--line-height-h2);
  }
  .u-h3\@mobile {
    font-size: var(--font-size-h3);
    line-height: var(--line-height-h3);
  }
  .u-h4\@mobile {
    font-size: var(--font-size-h4);
    line-height: var(--line-height-h4);
  }
  .u-h5\@mobile {
    font-size: var(--font-size-h5);
    line-height: var(--line-height-h5);
  }
  .u-h6\@mobile {
    font-size: var(--font-size-h6);
    line-height: var(--line-height-h6);
  }
}
@media (min-width: 48em) {
  .u-cf\@mobile-up::after {
    display: table;
    clear: both;
    content: "";
  }
  .u-ell\@mobile-up {
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
  }
  .u-hidden\@mobile-up {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    white-space: nowrap;
    border: 0;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
  }
  .u-h1\@mobile-up {
    font-size: var(--font-size-h1);
    line-height: var(--line-height-h1);
  }
  .u-h2\@mobile-up {
    font-size: var(--font-size-h2);
    line-height: var(--line-height-h2);
  }
  .u-h3\@mobile-up {
    font-size: var(--font-size-h3);
    line-height: var(--line-height-h3);
  }
  .u-h4\@mobile-up {
    font-size: var(--font-size-h4);
    line-height: var(--line-height-h4);
  }
  .u-h5\@mobile-up {
    font-size: var(--font-size-h5);
    line-height: var(--line-height-h5);
  }
  .u-h6\@mobile-up {
    font-size: var(--font-size-h6);
    line-height: var(--line-height-h6);
  }
}
@media (max-width: 64em) and (min-width: 48em) {
  .u-cf\@tablet::after {
    display: table;
    clear: both;
    content: "";
  }
  .u-ell\@tablet {
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
  }
  .u-hidden\@tablet {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    white-space: nowrap;
    border: 0;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
  }
  .u-h1\@tablet {
    font-size: var(--font-size-h1);
    line-height: var(--line-height-h1);
  }
  .u-h2\@tablet {
    font-size: var(--font-size-h2);
    line-height: var(--line-height-h2);
  }
  .u-h3\@tablet {
    font-size: var(--font-size-h3);
    line-height: var(--line-height-h3);
  }
  .u-h4\@tablet {
    font-size: var(--font-size-h4);
    line-height: var(--line-height-h4);
  }
  .u-h5\@tablet {
    font-size: var(--font-size-h5);
    line-height: var(--line-height-h5);
  }
  .u-h6\@tablet {
    font-size: var(--font-size-h6);
    line-height: var(--line-height-h6);
  }
}
@media (max-width: 64em) {
  .u-cf\@tablet-down::after {
    display: table;
    clear: both;
    content: "";
  }
  .u-ell\@tablet-down {
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
  }
  .u-hidden\@tablet-down {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    white-space: nowrap;
    border: 0;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
  }
  .u-h1\@tablet-down {
    font-size: var(--font-size-h1);
    line-height: var(--line-height-h1);
  }
  .u-h2\@tablet-down {
    font-size: var(--font-size-h2);
    line-height: var(--line-height-h2);
  }
  .u-h3\@tablet-down {
    font-size: var(--font-size-h3);
    line-height: var(--line-height-h3);
  }
  .u-h4\@tablet-down {
    font-size: var(--font-size-h4);
    line-height: var(--line-height-h4);
  }
  .u-h5\@tablet-down {
    font-size: var(--font-size-h5);
    line-height: var(--line-height-h5);
  }
  .u-h6\@tablet-down {
    font-size: var(--font-size-h6);
    line-height: var(--line-height-h6);
  }
}
@media (min-width: 64.0625em) {
  .u-cf\@tablet-up::after {
    display: table;
    clear: both;
    content: "";
  }
  .u-ell\@tablet-up {
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
  }
  .u-hidden\@tablet-up {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    white-space: nowrap;
    border: 0;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
  }
  .u-h1\@tablet-up {
    font-size: var(--font-size-h1);
    line-height: var(--line-height-h1);
  }
  .u-h2\@tablet-up {
    font-size: var(--font-size-h2);
    line-height: var(--line-height-h2);
  }
  .u-h3\@tablet-up {
    font-size: var(--font-size-h3);
    line-height: var(--line-height-h3);
  }
  .u-h4\@tablet-up {
    font-size: var(--font-size-h4);
    line-height: var(--line-height-h4);
  }
  .u-h5\@tablet-up {
    font-size: var(--font-size-h5);
    line-height: var(--line-height-h5);
  }
  .u-h6\@tablet-up {
    font-size: var(--font-size-h6);
    line-height: var(--line-height-h6);
  }
}
/* ==========================================================================
   #OVERFLOW
   ========================================================================== */
/* Declarative rules
   ========================================================================== */
.u-ov\(visible\) {
  overflow: visible;
}

.u-ov\(hidden\) {
  overflow: hidden;
}

.u-ov\(scroll\) {
  overflow: scroll;
}

.u-ov\(auto\) {
  overflow: auto;
}

@media (max-width: 47.9375em) {
  .u-ov\(visible\)\@mobile {
    overflow: visible;
  }
  .u-ov\(hidden\)\@mobile {
    overflow: hidden;
  }
  .u-ov\(scroll\)\@mobile {
    overflow: scroll;
  }
  .u-ov\(auto\)\@mobile {
    overflow: auto;
  }
}
@media (min-width: 48em) {
  .u-ov\(visible\)\@mobile-up {
    overflow: visible;
  }
  .u-ov\(hidden\)\@mobile-up {
    overflow: hidden;
  }
  .u-ov\(scroll\)\@mobile-up {
    overflow: scroll;
  }
  .u-ov\(auto\)\@mobile-up {
    overflow: auto;
  }
}
@media (max-width: 64em) and (min-width: 48em) {
  .u-ov\(visible\)\@tablet {
    overflow: visible;
  }
  .u-ov\(hidden\)\@tablet {
    overflow: hidden;
  }
  .u-ov\(scroll\)\@tablet {
    overflow: scroll;
  }
  .u-ov\(auto\)\@tablet {
    overflow: auto;
  }
}
@media (max-width: 64em) {
  .u-ov\(visible\)\@tablet-down {
    overflow: visible;
  }
  .u-ov\(hidden\)\@tablet-down {
    overflow: hidden;
  }
  .u-ov\(scroll\)\@tablet-down {
    overflow: scroll;
  }
  .u-ov\(auto\)\@tablet-down {
    overflow: auto;
  }
}
@media (min-width: 64.0625em) {
  .u-ov\(visible\)\@tablet-up {
    overflow: visible;
  }
  .u-ov\(hidden\)\@tablet-up {
    overflow: hidden;
  }
  .u-ov\(scroll\)\@tablet-up {
    overflow: scroll;
  }
  .u-ov\(auto\)\@tablet-up {
    overflow: auto;
  }
}
/* ==========================================================================
   #POSITION
   ========================================================================== */
/* Declarative rules
   ========================================================================== */
.u-pos\(static\) {
  position: static;
}

.u-pos\(relative\) {
  position: relative;
}

.u-pos\(absolute\) {
  position: absolute;
}

.u-pos\(fixed\) {
  position: fixed;
}

.u-pos\(sticky\) {
  position: sticky;
}

@media (max-width: 47.9375em) {
  .u-pos\(static\)\@mobile {
    position: static;
  }
  .u-pos\(relative\)\@mobile {
    position: relative;
  }
  .u-pos\(absolute\)\@mobile {
    position: absolute;
  }
  .u-pos\(fixed\)\@mobile {
    position: fixed;
  }
  .u-pos\(sticky\)\@mobile {
    position: sticky;
  }
}
@media (min-width: 48em) {
  .u-pos\(static\)\@mobile-up {
    position: static;
  }
  .u-pos\(relative\)\@mobile-up {
    position: relative;
  }
  .u-pos\(absolute\)\@mobile-up {
    position: absolute;
  }
  .u-pos\(fixed\)\@mobile-up {
    position: fixed;
  }
  .u-pos\(sticky\)\@mobile-up {
    position: sticky;
  }
}
@media (max-width: 64em) and (min-width: 48em) {
  .u-pos\(static\)\@tablet {
    position: static;
  }
  .u-pos\(relative\)\@tablet {
    position: relative;
  }
  .u-pos\(absolute\)\@tablet {
    position: absolute;
  }
  .u-pos\(fixed\)\@tablet {
    position: fixed;
  }
  .u-pos\(sticky\)\@tablet {
    position: sticky;
  }
}
@media (max-width: 64em) {
  .u-pos\(static\)\@tablet-down {
    position: static;
  }
  .u-pos\(relative\)\@tablet-down {
    position: relative;
  }
  .u-pos\(absolute\)\@tablet-down {
    position: absolute;
  }
  .u-pos\(fixed\)\@tablet-down {
    position: fixed;
  }
  .u-pos\(sticky\)\@tablet-down {
    position: sticky;
  }
}
@media (min-width: 64.0625em) {
  .u-pos\(static\)\@tablet-up {
    position: static;
  }
  .u-pos\(relative\)\@tablet-up {
    position: relative;
  }
  .u-pos\(absolute\)\@tablet-up {
    position: absolute;
  }
  .u-pos\(fixed\)\@tablet-up {
    position: fixed;
  }
  .u-pos\(sticky\)\@tablet-up {
    position: sticky;
  }
}
/* ==========================================================================
   #RESET
   ========================================================================== */
/* Declarative rules
   ========================================================================== */
.u-res\(link\) {
  color: inherit;
  text-decoration: none;
}

.u-res\(list\) {
  padding-left: 0;
  list-style: none;
}

.u-res\(button\) {
  padding: 0;
  color: inherit;
  font: inherit;
  letter-spacing: inherit;
  text-align: inherit;
  background-color: transparent;
  border: 0;
}

/* ==========================================================================
   #SIZING
   ========================================================================== */
/* Declarative rules
   ========================================================================== */
.u-w\(100\) {
  width: var(--size-100);
}

.u-h\(100\) {
  height: var(--size-100);
}

.u-w\(auto\) {
  width: var(--size-auto);
}

.u-h\(auto\) {
  height: var(--size-auto);
}

@media (max-width: 47.9375em) {
  .u-w\(100\)\@mobile {
    width: var(--size-100);
  }
  .u-h\(100\)\@mobile {
    height: var(--size-100);
  }
  .u-w\(auto\)\@mobile {
    width: var(--size-auto);
  }
  .u-h\(auto\)\@mobile {
    height: var(--size-auto);
  }
}
@media (min-width: 48em) {
  .u-w\(100\)\@mobile-up {
    width: var(--size-100);
  }
  .u-h\(100\)\@mobile-up {
    height: var(--size-100);
  }
  .u-w\(auto\)\@mobile-up {
    width: var(--size-auto);
  }
  .u-h\(auto\)\@mobile-up {
    height: var(--size-auto);
  }
}
@media (max-width: 64em) and (min-width: 48em) {
  .u-w\(100\)\@tablet {
    width: var(--size-100);
  }
  .u-h\(100\)\@tablet {
    height: var(--size-100);
  }
  .u-w\(auto\)\@tablet {
    width: var(--size-auto);
  }
  .u-h\(auto\)\@tablet {
    height: var(--size-auto);
  }
}
@media (max-width: 64em) {
  .u-w\(100\)\@tablet-down {
    width: var(--size-100);
  }
  .u-h\(100\)\@tablet-down {
    height: var(--size-100);
  }
  .u-w\(auto\)\@tablet-down {
    width: var(--size-auto);
  }
  .u-h\(auto\)\@tablet-down {
    height: var(--size-auto);
  }
}
@media (min-width: 64.0625em) {
  .u-w\(100\)\@tablet-up {
    width: var(--size-100);
  }
  .u-h\(100\)\@tablet-up {
    height: var(--size-100);
  }
  .u-w\(auto\)\@tablet-up {
    width: var(--size-auto);
  }
  .u-h\(auto\)\@tablet-up {
    height: var(--size-auto);
  }
}
/* ==========================================================================
   #SPACING
   ========================================================================== */
/* Declarative rules
   ========================================================================== */
.u-m\(base\) {
  margin: var(--spacer-base);
}

.u-mx\(base\) {
  margin-right: var(--spacer-base);
  margin-left: var(--spacer-base);
}

.u-my\(base\) {
  margin-top: var(--spacer-base);
  margin-bottom: var(--spacer-base);
}

.u-mt\(base\) {
  margin-top: var(--spacer-base);
}

.u-mr\(base\) {
  margin-right: var(--spacer-base);
}

.u-mb\(base\) {
  margin-bottom: var(--spacer-base);
}

.u-ml\(base\) {
  margin-left: var(--spacer-base);
}

.u-p\(base\) {
  padding: var(--spacer-base);
}

.u-px\(base\) {
  padding-right: var(--spacer-base);
  padding-left: var(--spacer-base);
}

.u-py\(base\) {
  padding-top: var(--spacer-base);
  padding-bottom: var(--spacer-base);
}

.u-pt\(base\) {
  padding-top: var(--spacer-base);
}

.u-pr\(base\) {
  padding-right: var(--spacer-base);
}

.u-pb\(base\) {
  padding-bottom: var(--spacer-base);
}

.u-pl\(base\) {
  padding-left: var(--spacer-base);
}

.u-m\(auto\) {
  margin: var(--spacer-auto);
}

.u-mx\(auto\) {
  margin-right: var(--spacer-auto);
  margin-left: var(--spacer-auto);
}

.u-my\(auto\) {
  margin-top: var(--spacer-auto);
  margin-bottom: var(--spacer-auto);
}

.u-mt\(auto\) {
  margin-top: var(--spacer-auto);
}

.u-mr\(auto\) {
  margin-right: var(--spacer-auto);
}

.u-mb\(auto\) {
  margin-bottom: var(--spacer-auto);
}

.u-ml\(auto\) {
  margin-left: var(--spacer-auto);
}

.u-m\(none\) {
  margin: var(--spacer-none);
}

.u-mx\(none\) {
  margin-right: var(--spacer-none);
  margin-left: var(--spacer-none);
}

.u-my\(none\) {
  margin-top: var(--spacer-none);
  margin-bottom: var(--spacer-none);
}

.u-mt\(none\) {
  margin-top: var(--spacer-none);
}

.u-mr\(none\) {
  margin-right: var(--spacer-none);
}

.u-mb\(none\) {
  margin-bottom: var(--spacer-none);
}

.u-ml\(none\) {
  margin-left: var(--spacer-none);
}

.u-p\(none\) {
  padding: var(--spacer-none);
}

.u-px\(none\) {
  padding-right: var(--spacer-none);
  padding-left: var(--spacer-none);
}

.u-py\(none\) {
  padding-top: var(--spacer-none);
  padding-bottom: var(--spacer-none);
}

.u-pt\(none\) {
  padding-top: var(--spacer-none);
}

.u-pr\(none\) {
  padding-right: var(--spacer-none);
}

.u-pb\(none\) {
  padding-bottom: var(--spacer-none);
}

.u-pl\(none\) {
  padding-left: var(--spacer-none);
}

.u-m\(2xl\) {
  margin: var(--spacer-2xl);
}

.u-mx\(2xl\) {
  margin-right: var(--spacer-2xl);
  margin-left: var(--spacer-2xl);
}

.u-my\(2xl\) {
  margin-top: var(--spacer-2xl);
  margin-bottom: var(--spacer-2xl);
}

.u-mt\(2xl\) {
  margin-top: var(--spacer-2xl);
}

.u-mr\(2xl\) {
  margin-right: var(--spacer-2xl);
}

.u-mb\(2xl\) {
  margin-bottom: var(--spacer-2xl);
}

.u-ml\(2xl\) {
  margin-left: var(--spacer-2xl);
}

.u-p\(2xl\) {
  padding: var(--spacer-2xl);
}

.u-px\(2xl\) {
  padding-right: var(--spacer-2xl);
  padding-left: var(--spacer-2xl);
}

.u-py\(2xl\) {
  padding-top: var(--spacer-2xl);
  padding-bottom: var(--spacer-2xl);
}

.u-pt\(2xl\) {
  padding-top: var(--spacer-2xl);
}

.u-pr\(2xl\) {
  padding-right: var(--spacer-2xl);
}

.u-pb\(2xl\) {
  padding-bottom: var(--spacer-2xl);
}

.u-pl\(2xl\) {
  padding-left: var(--spacer-2xl);
}

.u-m\(xl\) {
  margin: var(--spacer-xl);
}

.u-mx\(xl\) {
  margin-right: var(--spacer-xl);
  margin-left: var(--spacer-xl);
}

.u-my\(xl\) {
  margin-top: var(--spacer-xl);
  margin-bottom: var(--spacer-xl);
}

.u-mt\(xl\) {
  margin-top: var(--spacer-xl);
}

.u-mr\(xl\) {
  margin-right: var(--spacer-xl);
}

.u-mb\(xl\) {
  margin-bottom: var(--spacer-xl);
}

.u-ml\(xl\) {
  margin-left: var(--spacer-xl);
}

.u-p\(xl\) {
  padding: var(--spacer-xl);
}

.u-px\(xl\) {
  padding-right: var(--spacer-xl);
  padding-left: var(--spacer-xl);
}

.u-py\(xl\) {
  padding-top: var(--spacer-xl);
  padding-bottom: var(--spacer-xl);
}

.u-pt\(xl\) {
  padding-top: var(--spacer-xl);
}

.u-pr\(xl\) {
  padding-right: var(--spacer-xl);
}

.u-pb\(xl\) {
  padding-bottom: var(--spacer-xl);
}

.u-pl\(xl\) {
  padding-left: var(--spacer-xl);
}

.u-m\(lg\) {
  margin: var(--spacer-lg);
}

.u-mx\(lg\) {
  margin-right: var(--spacer-lg);
  margin-left: var(--spacer-lg);
}

.u-my\(lg\) {
  margin-top: var(--spacer-lg);
  margin-bottom: var(--spacer-lg);
}

.u-mt\(lg\) {
  margin-top: var(--spacer-lg);
}

.u-mr\(lg\) {
  margin-right: var(--spacer-lg);
}

.u-mb\(lg\) {
  margin-bottom: var(--spacer-lg);
}

.u-ml\(lg\) {
  margin-left: var(--spacer-lg);
}

.u-p\(lg\) {
  padding: var(--spacer-lg);
}

.u-px\(lg\) {
  padding-right: var(--spacer-lg);
  padding-left: var(--spacer-lg);
}

.u-py\(lg\) {
  padding-top: var(--spacer-lg);
  padding-bottom: var(--spacer-lg);
}

.u-pt\(lg\) {
  padding-top: var(--spacer-lg);
}

.u-pr\(lg\) {
  padding-right: var(--spacer-lg);
}

.u-pb\(lg\) {
  padding-bottom: var(--spacer-lg);
}

.u-pl\(lg\) {
  padding-left: var(--spacer-lg);
}

.u-m\(md\) {
  margin: var(--spacer-md);
}

.u-mx\(md\) {
  margin-right: var(--spacer-md);
  margin-left: var(--spacer-md);
}

.u-my\(md\) {
  margin-top: var(--spacer-md);
  margin-bottom: var(--spacer-md);
}

.u-mt\(md\) {
  margin-top: var(--spacer-md);
}

.u-mr\(md\) {
  margin-right: var(--spacer-md);
}

.u-mb\(md\) {
  margin-bottom: var(--spacer-md);
}

.u-ml\(md\) {
  margin-left: var(--spacer-md);
}

.u-p\(md\) {
  padding: var(--spacer-md);
}

.u-px\(md\) {
  padding-right: var(--spacer-md);
  padding-left: var(--spacer-md);
}

.u-py\(md\) {
  padding-top: var(--spacer-md);
  padding-bottom: var(--spacer-md);
}

.u-pt\(md\) {
  padding-top: var(--spacer-md);
}

.u-pr\(md\) {
  padding-right: var(--spacer-md);
}

.u-pb\(md\) {
  padding-bottom: var(--spacer-md);
}

.u-pl\(md\) {
  padding-left: var(--spacer-md);
}

.u-m\(base-md\) {
  margin: var(--spacer-base-md);
}

.u-mx\(base-md\) {
  margin-right: var(--spacer-base-md);
  margin-left: var(--spacer-base-md);
}

.u-my\(base-md\) {
  margin-top: var(--spacer-base-md);
  margin-bottom: var(--spacer-base-md);
}

.u-mt\(base-md\) {
  margin-top: var(--spacer-base-md);
}

.u-mr\(base-md\) {
  margin-right: var(--spacer-base-md);
}

.u-mb\(base-md\) {
  margin-bottom: var(--spacer-base-md);
}

.u-ml\(base-md\) {
  margin-left: var(--spacer-base-md);
}

.u-p\(base-md\) {
  padding: var(--spacer-base-md);
}

.u-px\(base-md\) {
  padding-right: var(--spacer-base-md);
  padding-left: var(--spacer-base-md);
}

.u-py\(base-md\) {
  padding-top: var(--spacer-base-md);
  padding-bottom: var(--spacer-base-md);
}

.u-pt\(base-md\) {
  padding-top: var(--spacer-base-md);
}

.u-pr\(base-md\) {
  padding-right: var(--spacer-base-md);
}

.u-pb\(base-md\) {
  padding-bottom: var(--spacer-base-md);
}

.u-pl\(base-md\) {
  padding-left: var(--spacer-base-md);
}

.u-m\(sm\) {
  margin: var(--spacer-sm);
}

.u-mx\(sm\) {
  margin-right: var(--spacer-sm);
  margin-left: var(--spacer-sm);
}

.u-my\(sm\) {
  margin-top: var(--spacer-sm);
  margin-bottom: var(--spacer-sm);
}

.u-mt\(sm\) {
  margin-top: var(--spacer-sm);
}

.u-mr\(sm\) {
  margin-right: var(--spacer-sm);
}

.u-mb\(sm\) {
  margin-bottom: var(--spacer-sm);
}

.u-ml\(sm\) {
  margin-left: var(--spacer-sm);
}

.u-p\(sm\) {
  padding: var(--spacer-sm);
}

.u-px\(sm\) {
  padding-right: var(--spacer-sm);
  padding-left: var(--spacer-sm);
}

.u-py\(sm\) {
  padding-top: var(--spacer-sm);
  padding-bottom: var(--spacer-sm);
}

.u-pt\(sm\) {
  padding-top: var(--spacer-sm);
}

.u-pr\(sm\) {
  padding-right: var(--spacer-sm);
}

.u-pb\(sm\) {
  padding-bottom: var(--spacer-sm);
}

.u-pl\(sm\) {
  padding-left: var(--spacer-sm);
}

.u-m\(xs\) {
  margin: var(--spacer-xs);
}

.u-mx\(xs\) {
  margin-right: var(--spacer-xs);
  margin-left: var(--spacer-xs);
}

.u-my\(xs\) {
  margin-top: var(--spacer-xs);
  margin-bottom: var(--spacer-xs);
}

.u-mt\(xs\) {
  margin-top: var(--spacer-xs);
}

.u-mr\(xs\) {
  margin-right: var(--spacer-xs);
}

.u-mb\(xs\) {
  margin-bottom: var(--spacer-xs);
}

.u-ml\(xs\) {
  margin-left: var(--spacer-xs);
}

.u-p\(xs\) {
  padding: var(--spacer-xs);
}

.u-px\(xs\) {
  padding-right: var(--spacer-xs);
  padding-left: var(--spacer-xs);
}

.u-py\(xs\) {
  padding-top: var(--spacer-xs);
  padding-bottom: var(--spacer-xs);
}

.u-pt\(xs\) {
  padding-top: var(--spacer-xs);
}

.u-pr\(xs\) {
  padding-right: var(--spacer-xs);
}

.u-pb\(xs\) {
  padding-bottom: var(--spacer-xs);
}

.u-pl\(xs\) {
  padding-left: var(--spacer-xs);
}

.u-m\(-base\) {
  margin: var(--spacer--base);
}

.u-mx\(-base\) {
  margin-right: var(--spacer--base);
  margin-left: var(--spacer--base);
}

.u-my\(-base\) {
  margin-top: var(--spacer--base);
  margin-bottom: var(--spacer--base);
}

.u-mt\(-base\) {
  margin-top: var(--spacer--base);
}

.u-mr\(-base\) {
  margin-right: var(--spacer--base);
}

.u-mb\(-base\) {
  margin-bottom: var(--spacer--base);
}

.u-ml\(-base\) {
  margin-left: var(--spacer--base);
}

.u-p\(-base\) {
  padding: var(--spacer--base);
}

.u-px\(-base\) {
  padding-right: var(--spacer--base);
  padding-left: var(--spacer--base);
}

.u-py\(-base\) {
  padding-top: var(--spacer--base);
  padding-bottom: var(--spacer--base);
}

.u-pt\(-base\) {
  padding-top: var(--spacer--base);
}

.u-pr\(-base\) {
  padding-right: var(--spacer--base);
}

.u-pb\(-base\) {
  padding-bottom: var(--spacer--base);
}

.u-pl\(-base\) {
  padding-left: var(--spacer--base);
}

.u-m\(-md\) {
  margin: var(--spacer--md);
}

.u-mx\(-md\) {
  margin-right: var(--spacer--md);
  margin-left: var(--spacer--md);
}

.u-my\(-md\) {
  margin-top: var(--spacer--md);
  margin-bottom: var(--spacer--md);
}

.u-mt\(-md\) {
  margin-top: var(--spacer--md);
}

.u-mr\(-md\) {
  margin-right: var(--spacer--md);
}

.u-mb\(-md\) {
  margin-bottom: var(--spacer--md);
}

.u-ml\(-md\) {
  margin-left: var(--spacer--md);
}

.u-p\(-md\) {
  padding: var(--spacer--md);
}

.u-px\(-md\) {
  padding-right: var(--spacer--md);
  padding-left: var(--spacer--md);
}

.u-py\(-md\) {
  padding-top: var(--spacer--md);
  padding-bottom: var(--spacer--md);
}

.u-pt\(-md\) {
  padding-top: var(--spacer--md);
}

.u-pr\(-md\) {
  padding-right: var(--spacer--md);
}

.u-pb\(-md\) {
  padding-bottom: var(--spacer--md);
}

.u-pl\(-md\) {
  padding-left: var(--spacer--md);
}

.u-m\(-lg\) {
  margin: var(--spacer--lg);
}

.u-mx\(-lg\) {
  margin-right: var(--spacer--lg);
  margin-left: var(--spacer--lg);
}

.u-my\(-lg\) {
  margin-top: var(--spacer--lg);
  margin-bottom: var(--spacer--lg);
}

.u-mt\(-lg\) {
  margin-top: var(--spacer--lg);
}

.u-mr\(-lg\) {
  margin-right: var(--spacer--lg);
}

.u-mb\(-lg\) {
  margin-bottom: var(--spacer--lg);
}

.u-ml\(-lg\) {
  margin-left: var(--spacer--lg);
}

.u-p\(-lg\) {
  padding: var(--spacer--lg);
}

.u-px\(-lg\) {
  padding-right: var(--spacer--lg);
  padding-left: var(--spacer--lg);
}

.u-py\(-lg\) {
  padding-top: var(--spacer--lg);
  padding-bottom: var(--spacer--lg);
}

.u-pt\(-lg\) {
  padding-top: var(--spacer--lg);
}

.u-pr\(-lg\) {
  padding-right: var(--spacer--lg);
}

.u-pb\(-lg\) {
  padding-bottom: var(--spacer--lg);
}

.u-pl\(-lg\) {
  padding-left: var(--spacer--lg);
}

.u-m\(n\) {
  margin: var(--spacer-n);
}

.u-mx\(n\) {
  margin-right: var(--spacer-n);
  margin-left: var(--spacer-n);
}

.u-my\(n\) {
  margin-top: var(--spacer-n);
  margin-bottom: var(--spacer-n);
}

.u-mt\(n\) {
  margin-top: var(--spacer-n);
}

.u-mr\(n\) {
  margin-right: var(--spacer-n);
}

.u-mb\(n\) {
  margin-bottom: var(--spacer-n);
}

.u-ml\(n\) {
  margin-left: var(--spacer-n);
}

.u-p\(n\) {
  padding: var(--spacer-n);
}

.u-px\(n\) {
  padding-right: var(--spacer-n);
  padding-left: var(--spacer-n);
}

.u-py\(n\) {
  padding-top: var(--spacer-n);
  padding-bottom: var(--spacer-n);
}

.u-pt\(n\) {
  padding-top: var(--spacer-n);
}

.u-pr\(n\) {
  padding-right: var(--spacer-n);
}

.u-pb\(n\) {
  padding-bottom: var(--spacer-n);
}

.u-pl\(n\) {
  padding-left: var(--spacer-n);
}

@media (max-width: 47.9375em) {
  .u-m\(base\)\@mobile {
    margin: var(--spacer-base);
  }
  .u-mx\(base\)\@mobile {
    margin-right: var(--spacer-base);
    margin-left: var(--spacer-base);
  }
  .u-my\(base\)\@mobile {
    margin-top: var(--spacer-base);
    margin-bottom: var(--spacer-base);
  }
  .u-mt\(base\)\@mobile {
    margin-top: var(--spacer-base);
  }
  .u-mr\(base\)\@mobile {
    margin-right: var(--spacer-base);
  }
  .u-mb\(base\)\@mobile {
    margin-bottom: var(--spacer-base);
  }
  .u-ml\(base\)\@mobile {
    margin-left: var(--spacer-base);
  }
  .u-p\(base\)\@mobile {
    padding: var(--spacer-base);
  }
  .u-px\(base\)\@mobile {
    padding-right: var(--spacer-base);
    padding-left: var(--spacer-base);
  }
  .u-py\(base\)\@mobile {
    padding-top: var(--spacer-base);
    padding-bottom: var(--spacer-base);
  }
  .u-pt\(base\)\@mobile {
    padding-top: var(--spacer-base);
  }
  .u-pr\(base\)\@mobile {
    padding-right: var(--spacer-base);
  }
  .u-pb\(base\)\@mobile {
    padding-bottom: var(--spacer-base);
  }
  .u-pl\(base\)\@mobile {
    padding-left: var(--spacer-base);
  }
  .u-m\(auto\)\@mobile {
    margin: var(--spacer-auto);
  }
  .u-mx\(auto\)\@mobile {
    margin-right: var(--spacer-auto);
    margin-left: var(--spacer-auto);
  }
  .u-my\(auto\)\@mobile {
    margin-top: var(--spacer-auto);
    margin-bottom: var(--spacer-auto);
  }
  .u-mt\(auto\)\@mobile {
    margin-top: var(--spacer-auto);
  }
  .u-mr\(auto\)\@mobile {
    margin-right: var(--spacer-auto);
  }
  .u-mb\(auto\)\@mobile {
    margin-bottom: var(--spacer-auto);
  }
  .u-ml\(auto\)\@mobile {
    margin-left: var(--spacer-auto);
  }
  .u-m\(none\)\@mobile {
    margin: var(--spacer-none);
  }
  .u-mx\(none\)\@mobile {
    margin-right: var(--spacer-none);
    margin-left: var(--spacer-none);
  }
  .u-my\(none\)\@mobile {
    margin-top: var(--spacer-none);
    margin-bottom: var(--spacer-none);
  }
  .u-mt\(none\)\@mobile {
    margin-top: var(--spacer-none);
  }
  .u-mr\(none\)\@mobile {
    margin-right: var(--spacer-none);
  }
  .u-mb\(none\)\@mobile {
    margin-bottom: var(--spacer-none);
  }
  .u-ml\(none\)\@mobile {
    margin-left: var(--spacer-none);
  }
  .u-p\(none\)\@mobile {
    padding: var(--spacer-none);
  }
  .u-px\(none\)\@mobile {
    padding-right: var(--spacer-none);
    padding-left: var(--spacer-none);
  }
  .u-py\(none\)\@mobile {
    padding-top: var(--spacer-none);
    padding-bottom: var(--spacer-none);
  }
  .u-pt\(none\)\@mobile {
    padding-top: var(--spacer-none);
  }
  .u-pr\(none\)\@mobile {
    padding-right: var(--spacer-none);
  }
  .u-pb\(none\)\@mobile {
    padding-bottom: var(--spacer-none);
  }
  .u-pl\(none\)\@mobile {
    padding-left: var(--spacer-none);
  }
  .u-m\(2xl\)\@mobile {
    margin: var(--spacer-2xl);
  }
  .u-mx\(2xl\)\@mobile {
    margin-right: var(--spacer-2xl);
    margin-left: var(--spacer-2xl);
  }
  .u-my\(2xl\)\@mobile {
    margin-top: var(--spacer-2xl);
    margin-bottom: var(--spacer-2xl);
  }
  .u-mt\(2xl\)\@mobile {
    margin-top: var(--spacer-2xl);
  }
  .u-mr\(2xl\)\@mobile {
    margin-right: var(--spacer-2xl);
  }
  .u-mb\(2xl\)\@mobile {
    margin-bottom: var(--spacer-2xl);
  }
  .u-ml\(2xl\)\@mobile {
    margin-left: var(--spacer-2xl);
  }
  .u-p\(2xl\)\@mobile {
    padding: var(--spacer-2xl);
  }
  .u-px\(2xl\)\@mobile {
    padding-right: var(--spacer-2xl);
    padding-left: var(--spacer-2xl);
  }
  .u-py\(2xl\)\@mobile {
    padding-top: var(--spacer-2xl);
    padding-bottom: var(--spacer-2xl);
  }
  .u-pt\(2xl\)\@mobile {
    padding-top: var(--spacer-2xl);
  }
  .u-pr\(2xl\)\@mobile {
    padding-right: var(--spacer-2xl);
  }
  .u-pb\(2xl\)\@mobile {
    padding-bottom: var(--spacer-2xl);
  }
  .u-pl\(2xl\)\@mobile {
    padding-left: var(--spacer-2xl);
  }
  .u-m\(xl\)\@mobile {
    margin: var(--spacer-xl);
  }
  .u-mx\(xl\)\@mobile {
    margin-right: var(--spacer-xl);
    margin-left: var(--spacer-xl);
  }
  .u-my\(xl\)\@mobile {
    margin-top: var(--spacer-xl);
    margin-bottom: var(--spacer-xl);
  }
  .u-mt\(xl\)\@mobile {
    margin-top: var(--spacer-xl);
  }
  .u-mr\(xl\)\@mobile {
    margin-right: var(--spacer-xl);
  }
  .u-mb\(xl\)\@mobile {
    margin-bottom: var(--spacer-xl);
  }
  .u-ml\(xl\)\@mobile {
    margin-left: var(--spacer-xl);
  }
  .u-p\(xl\)\@mobile {
    padding: var(--spacer-xl);
  }
  .u-px\(xl\)\@mobile {
    padding-right: var(--spacer-xl);
    padding-left: var(--spacer-xl);
  }
  .u-py\(xl\)\@mobile {
    padding-top: var(--spacer-xl);
    padding-bottom: var(--spacer-xl);
  }
  .u-pt\(xl\)\@mobile {
    padding-top: var(--spacer-xl);
  }
  .u-pr\(xl\)\@mobile {
    padding-right: var(--spacer-xl);
  }
  .u-pb\(xl\)\@mobile {
    padding-bottom: var(--spacer-xl);
  }
  .u-pl\(xl\)\@mobile {
    padding-left: var(--spacer-xl);
  }
  .u-m\(lg\)\@mobile {
    margin: var(--spacer-lg);
  }
  .u-mx\(lg\)\@mobile {
    margin-right: var(--spacer-lg);
    margin-left: var(--spacer-lg);
  }
  .u-my\(lg\)\@mobile {
    margin-top: var(--spacer-lg);
    margin-bottom: var(--spacer-lg);
  }
  .u-mt\(lg\)\@mobile {
    margin-top: var(--spacer-lg);
  }
  .u-mr\(lg\)\@mobile {
    margin-right: var(--spacer-lg);
  }
  .u-mb\(lg\)\@mobile {
    margin-bottom: var(--spacer-lg);
  }
  .u-ml\(lg\)\@mobile {
    margin-left: var(--spacer-lg);
  }
  .u-p\(lg\)\@mobile {
    padding: var(--spacer-lg);
  }
  .u-px\(lg\)\@mobile {
    padding-right: var(--spacer-lg);
    padding-left: var(--spacer-lg);
  }
  .u-py\(lg\)\@mobile {
    padding-top: var(--spacer-lg);
    padding-bottom: var(--spacer-lg);
  }
  .u-pt\(lg\)\@mobile {
    padding-top: var(--spacer-lg);
  }
  .u-pr\(lg\)\@mobile {
    padding-right: var(--spacer-lg);
  }
  .u-pb\(lg\)\@mobile {
    padding-bottom: var(--spacer-lg);
  }
  .u-pl\(lg\)\@mobile {
    padding-left: var(--spacer-lg);
  }
  .u-m\(md\)\@mobile {
    margin: var(--spacer-md);
  }
  .u-mx\(md\)\@mobile {
    margin-right: var(--spacer-md);
    margin-left: var(--spacer-md);
  }
  .u-my\(md\)\@mobile {
    margin-top: var(--spacer-md);
    margin-bottom: var(--spacer-md);
  }
  .u-mt\(md\)\@mobile {
    margin-top: var(--spacer-md);
  }
  .u-mr\(md\)\@mobile {
    margin-right: var(--spacer-md);
  }
  .u-mb\(md\)\@mobile {
    margin-bottom: var(--spacer-md);
  }
  .u-ml\(md\)\@mobile {
    margin-left: var(--spacer-md);
  }
  .u-p\(md\)\@mobile {
    padding: var(--spacer-md);
  }
  .u-px\(md\)\@mobile {
    padding-right: var(--spacer-md);
    padding-left: var(--spacer-md);
  }
  .u-py\(md\)\@mobile {
    padding-top: var(--spacer-md);
    padding-bottom: var(--spacer-md);
  }
  .u-pt\(md\)\@mobile {
    padding-top: var(--spacer-md);
  }
  .u-pr\(md\)\@mobile {
    padding-right: var(--spacer-md);
  }
  .u-pb\(md\)\@mobile {
    padding-bottom: var(--spacer-md);
  }
  .u-pl\(md\)\@mobile {
    padding-left: var(--spacer-md);
  }
  .u-m\(base-md\)\@mobile {
    margin: var(--spacer-base-md);
  }
  .u-mx\(base-md\)\@mobile {
    margin-right: var(--spacer-base-md);
    margin-left: var(--spacer-base-md);
  }
  .u-my\(base-md\)\@mobile {
    margin-top: var(--spacer-base-md);
    margin-bottom: var(--spacer-base-md);
  }
  .u-mt\(base-md\)\@mobile {
    margin-top: var(--spacer-base-md);
  }
  .u-mr\(base-md\)\@mobile {
    margin-right: var(--spacer-base-md);
  }
  .u-mb\(base-md\)\@mobile {
    margin-bottom: var(--spacer-base-md);
  }
  .u-ml\(base-md\)\@mobile {
    margin-left: var(--spacer-base-md);
  }
  .u-p\(base-md\)\@mobile {
    padding: var(--spacer-base-md);
  }
  .u-px\(base-md\)\@mobile {
    padding-right: var(--spacer-base-md);
    padding-left: var(--spacer-base-md);
  }
  .u-py\(base-md\)\@mobile {
    padding-top: var(--spacer-base-md);
    padding-bottom: var(--spacer-base-md);
  }
  .u-pt\(base-md\)\@mobile {
    padding-top: var(--spacer-base-md);
  }
  .u-pr\(base-md\)\@mobile {
    padding-right: var(--spacer-base-md);
  }
  .u-pb\(base-md\)\@mobile {
    padding-bottom: var(--spacer-base-md);
  }
  .u-pl\(base-md\)\@mobile {
    padding-left: var(--spacer-base-md);
  }
  .u-m\(sm\)\@mobile {
    margin: var(--spacer-sm);
  }
  .u-mx\(sm\)\@mobile {
    margin-right: var(--spacer-sm);
    margin-left: var(--spacer-sm);
  }
  .u-my\(sm\)\@mobile {
    margin-top: var(--spacer-sm);
    margin-bottom: var(--spacer-sm);
  }
  .u-mt\(sm\)\@mobile {
    margin-top: var(--spacer-sm);
  }
  .u-mr\(sm\)\@mobile {
    margin-right: var(--spacer-sm);
  }
  .u-mb\(sm\)\@mobile {
    margin-bottom: var(--spacer-sm);
  }
  .u-ml\(sm\)\@mobile {
    margin-left: var(--spacer-sm);
  }
  .u-p\(sm\)\@mobile {
    padding: var(--spacer-sm);
  }
  .u-px\(sm\)\@mobile {
    padding-right: var(--spacer-sm);
    padding-left: var(--spacer-sm);
  }
  .u-py\(sm\)\@mobile {
    padding-top: var(--spacer-sm);
    padding-bottom: var(--spacer-sm);
  }
  .u-pt\(sm\)\@mobile {
    padding-top: var(--spacer-sm);
  }
  .u-pr\(sm\)\@mobile {
    padding-right: var(--spacer-sm);
  }
  .u-pb\(sm\)\@mobile {
    padding-bottom: var(--spacer-sm);
  }
  .u-pl\(sm\)\@mobile {
    padding-left: var(--spacer-sm);
  }
  .u-m\(xs\)\@mobile {
    margin: var(--spacer-xs);
  }
  .u-mx\(xs\)\@mobile {
    margin-right: var(--spacer-xs);
    margin-left: var(--spacer-xs);
  }
  .u-my\(xs\)\@mobile {
    margin-top: var(--spacer-xs);
    margin-bottom: var(--spacer-xs);
  }
  .u-mt\(xs\)\@mobile {
    margin-top: var(--spacer-xs);
  }
  .u-mr\(xs\)\@mobile {
    margin-right: var(--spacer-xs);
  }
  .u-mb\(xs\)\@mobile {
    margin-bottom: var(--spacer-xs);
  }
  .u-ml\(xs\)\@mobile {
    margin-left: var(--spacer-xs);
  }
  .u-p\(xs\)\@mobile {
    padding: var(--spacer-xs);
  }
  .u-px\(xs\)\@mobile {
    padding-right: var(--spacer-xs);
    padding-left: var(--spacer-xs);
  }
  .u-py\(xs\)\@mobile {
    padding-top: var(--spacer-xs);
    padding-bottom: var(--spacer-xs);
  }
  .u-pt\(xs\)\@mobile {
    padding-top: var(--spacer-xs);
  }
  .u-pr\(xs\)\@mobile {
    padding-right: var(--spacer-xs);
  }
  .u-pb\(xs\)\@mobile {
    padding-bottom: var(--spacer-xs);
  }
  .u-pl\(xs\)\@mobile {
    padding-left: var(--spacer-xs);
  }
  .u-m\(-base\)\@mobile {
    margin: var(--spacer--base);
  }
  .u-mx\(-base\)\@mobile {
    margin-right: var(--spacer--base);
    margin-left: var(--spacer--base);
  }
  .u-my\(-base\)\@mobile {
    margin-top: var(--spacer--base);
    margin-bottom: var(--spacer--base);
  }
  .u-mt\(-base\)\@mobile {
    margin-top: var(--spacer--base);
  }
  .u-mr\(-base\)\@mobile {
    margin-right: var(--spacer--base);
  }
  .u-mb\(-base\)\@mobile {
    margin-bottom: var(--spacer--base);
  }
  .u-ml\(-base\)\@mobile {
    margin-left: var(--spacer--base);
  }
  .u-p\(-base\)\@mobile {
    padding: var(--spacer--base);
  }
  .u-px\(-base\)\@mobile {
    padding-right: var(--spacer--base);
    padding-left: var(--spacer--base);
  }
  .u-py\(-base\)\@mobile {
    padding-top: var(--spacer--base);
    padding-bottom: var(--spacer--base);
  }
  .u-pt\(-base\)\@mobile {
    padding-top: var(--spacer--base);
  }
  .u-pr\(-base\)\@mobile {
    padding-right: var(--spacer--base);
  }
  .u-pb\(-base\)\@mobile {
    padding-bottom: var(--spacer--base);
  }
  .u-pl\(-base\)\@mobile {
    padding-left: var(--spacer--base);
  }
  .u-m\(-md\)\@mobile {
    margin: var(--spacer--md);
  }
  .u-mx\(-md\)\@mobile {
    margin-right: var(--spacer--md);
    margin-left: var(--spacer--md);
  }
  .u-my\(-md\)\@mobile {
    margin-top: var(--spacer--md);
    margin-bottom: var(--spacer--md);
  }
  .u-mt\(-md\)\@mobile {
    margin-top: var(--spacer--md);
  }
  .u-mr\(-md\)\@mobile {
    margin-right: var(--spacer--md);
  }
  .u-mb\(-md\)\@mobile {
    margin-bottom: var(--spacer--md);
  }
  .u-ml\(-md\)\@mobile {
    margin-left: var(--spacer--md);
  }
  .u-p\(-md\)\@mobile {
    padding: var(--spacer--md);
  }
  .u-px\(-md\)\@mobile {
    padding-right: var(--spacer--md);
    padding-left: var(--spacer--md);
  }
  .u-py\(-md\)\@mobile {
    padding-top: var(--spacer--md);
    padding-bottom: var(--spacer--md);
  }
  .u-pt\(-md\)\@mobile {
    padding-top: var(--spacer--md);
  }
  .u-pr\(-md\)\@mobile {
    padding-right: var(--spacer--md);
  }
  .u-pb\(-md\)\@mobile {
    padding-bottom: var(--spacer--md);
  }
  .u-pl\(-md\)\@mobile {
    padding-left: var(--spacer--md);
  }
  .u-m\(-lg\)\@mobile {
    margin: var(--spacer--lg);
  }
  .u-mx\(-lg\)\@mobile {
    margin-right: var(--spacer--lg);
    margin-left: var(--spacer--lg);
  }
  .u-my\(-lg\)\@mobile {
    margin-top: var(--spacer--lg);
    margin-bottom: var(--spacer--lg);
  }
  .u-mt\(-lg\)\@mobile {
    margin-top: var(--spacer--lg);
  }
  .u-mr\(-lg\)\@mobile {
    margin-right: var(--spacer--lg);
  }
  .u-mb\(-lg\)\@mobile {
    margin-bottom: var(--spacer--lg);
  }
  .u-ml\(-lg\)\@mobile {
    margin-left: var(--spacer--lg);
  }
  .u-p\(-lg\)\@mobile {
    padding: var(--spacer--lg);
  }
  .u-px\(-lg\)\@mobile {
    padding-right: var(--spacer--lg);
    padding-left: var(--spacer--lg);
  }
  .u-py\(-lg\)\@mobile {
    padding-top: var(--spacer--lg);
    padding-bottom: var(--spacer--lg);
  }
  .u-pt\(-lg\)\@mobile {
    padding-top: var(--spacer--lg);
  }
  .u-pr\(-lg\)\@mobile {
    padding-right: var(--spacer--lg);
  }
  .u-pb\(-lg\)\@mobile {
    padding-bottom: var(--spacer--lg);
  }
  .u-pl\(-lg\)\@mobile {
    padding-left: var(--spacer--lg);
  }
  .u-m\(n\)\@mobile {
    margin: var(--spacer-n);
  }
  .u-mx\(n\)\@mobile {
    margin-right: var(--spacer-n);
    margin-left: var(--spacer-n);
  }
  .u-my\(n\)\@mobile {
    margin-top: var(--spacer-n);
    margin-bottom: var(--spacer-n);
  }
  .u-mt\(n\)\@mobile {
    margin-top: var(--spacer-n);
  }
  .u-mr\(n\)\@mobile {
    margin-right: var(--spacer-n);
  }
  .u-mb\(n\)\@mobile {
    margin-bottom: var(--spacer-n);
  }
  .u-ml\(n\)\@mobile {
    margin-left: var(--spacer-n);
  }
  .u-p\(n\)\@mobile {
    padding: var(--spacer-n);
  }
  .u-px\(n\)\@mobile {
    padding-right: var(--spacer-n);
    padding-left: var(--spacer-n);
  }
  .u-py\(n\)\@mobile {
    padding-top: var(--spacer-n);
    padding-bottom: var(--spacer-n);
  }
  .u-pt\(n\)\@mobile {
    padding-top: var(--spacer-n);
  }
  .u-pr\(n\)\@mobile {
    padding-right: var(--spacer-n);
  }
  .u-pb\(n\)\@mobile {
    padding-bottom: var(--spacer-n);
  }
  .u-pl\(n\)\@mobile {
    padding-left: var(--spacer-n);
  }
}
@media (min-width: 48em) {
  .u-m\(base\)\@mobile-up {
    margin: var(--spacer-base);
  }
  .u-mx\(base\)\@mobile-up {
    margin-right: var(--spacer-base);
    margin-left: var(--spacer-base);
  }
  .u-my\(base\)\@mobile-up {
    margin-top: var(--spacer-base);
    margin-bottom: var(--spacer-base);
  }
  .u-mt\(base\)\@mobile-up {
    margin-top: var(--spacer-base);
  }
  .u-mr\(base\)\@mobile-up {
    margin-right: var(--spacer-base);
  }
  .u-mb\(base\)\@mobile-up {
    margin-bottom: var(--spacer-base);
  }
  .u-ml\(base\)\@mobile-up {
    margin-left: var(--spacer-base);
  }
  .u-p\(base\)\@mobile-up {
    padding: var(--spacer-base);
  }
  .u-px\(base\)\@mobile-up {
    padding-right: var(--spacer-base);
    padding-left: var(--spacer-base);
  }
  .u-py\(base\)\@mobile-up {
    padding-top: var(--spacer-base);
    padding-bottom: var(--spacer-base);
  }
  .u-pt\(base\)\@mobile-up {
    padding-top: var(--spacer-base);
  }
  .u-pr\(base\)\@mobile-up {
    padding-right: var(--spacer-base);
  }
  .u-pb\(base\)\@mobile-up {
    padding-bottom: var(--spacer-base);
  }
  .u-pl\(base\)\@mobile-up {
    padding-left: var(--spacer-base);
  }
  .u-m\(auto\)\@mobile-up {
    margin: var(--spacer-auto);
  }
  .u-mx\(auto\)\@mobile-up {
    margin-right: var(--spacer-auto);
    margin-left: var(--spacer-auto);
  }
  .u-my\(auto\)\@mobile-up {
    margin-top: var(--spacer-auto);
    margin-bottom: var(--spacer-auto);
  }
  .u-mt\(auto\)\@mobile-up {
    margin-top: var(--spacer-auto);
  }
  .u-mr\(auto\)\@mobile-up {
    margin-right: var(--spacer-auto);
  }
  .u-mb\(auto\)\@mobile-up {
    margin-bottom: var(--spacer-auto);
  }
  .u-ml\(auto\)\@mobile-up {
    margin-left: var(--spacer-auto);
  }
  .u-m\(none\)\@mobile-up {
    margin: var(--spacer-none);
  }
  .u-mx\(none\)\@mobile-up {
    margin-right: var(--spacer-none);
    margin-left: var(--spacer-none);
  }
  .u-my\(none\)\@mobile-up {
    margin-top: var(--spacer-none);
    margin-bottom: var(--spacer-none);
  }
  .u-mt\(none\)\@mobile-up {
    margin-top: var(--spacer-none);
  }
  .u-mr\(none\)\@mobile-up {
    margin-right: var(--spacer-none);
  }
  .u-mb\(none\)\@mobile-up {
    margin-bottom: var(--spacer-none);
  }
  .u-ml\(none\)\@mobile-up {
    margin-left: var(--spacer-none);
  }
  .u-p\(none\)\@mobile-up {
    padding: var(--spacer-none);
  }
  .u-px\(none\)\@mobile-up {
    padding-right: var(--spacer-none);
    padding-left: var(--spacer-none);
  }
  .u-py\(none\)\@mobile-up {
    padding-top: var(--spacer-none);
    padding-bottom: var(--spacer-none);
  }
  .u-pt\(none\)\@mobile-up {
    padding-top: var(--spacer-none);
  }
  .u-pr\(none\)\@mobile-up {
    padding-right: var(--spacer-none);
  }
  .u-pb\(none\)\@mobile-up {
    padding-bottom: var(--spacer-none);
  }
  .u-pl\(none\)\@mobile-up {
    padding-left: var(--spacer-none);
  }
  .u-m\(2xl\)\@mobile-up {
    margin: var(--spacer-2xl);
  }
  .u-mx\(2xl\)\@mobile-up {
    margin-right: var(--spacer-2xl);
    margin-left: var(--spacer-2xl);
  }
  .u-my\(2xl\)\@mobile-up {
    margin-top: var(--spacer-2xl);
    margin-bottom: var(--spacer-2xl);
  }
  .u-mt\(2xl\)\@mobile-up {
    margin-top: var(--spacer-2xl);
  }
  .u-mr\(2xl\)\@mobile-up {
    margin-right: var(--spacer-2xl);
  }
  .u-mb\(2xl\)\@mobile-up {
    margin-bottom: var(--spacer-2xl);
  }
  .u-ml\(2xl\)\@mobile-up {
    margin-left: var(--spacer-2xl);
  }
  .u-p\(2xl\)\@mobile-up {
    padding: var(--spacer-2xl);
  }
  .u-px\(2xl\)\@mobile-up {
    padding-right: var(--spacer-2xl);
    padding-left: var(--spacer-2xl);
  }
  .u-py\(2xl\)\@mobile-up {
    padding-top: var(--spacer-2xl);
    padding-bottom: var(--spacer-2xl);
  }
  .u-pt\(2xl\)\@mobile-up {
    padding-top: var(--spacer-2xl);
  }
  .u-pr\(2xl\)\@mobile-up {
    padding-right: var(--spacer-2xl);
  }
  .u-pb\(2xl\)\@mobile-up {
    padding-bottom: var(--spacer-2xl);
  }
  .u-pl\(2xl\)\@mobile-up {
    padding-left: var(--spacer-2xl);
  }
  .u-m\(xl\)\@mobile-up {
    margin: var(--spacer-xl);
  }
  .u-mx\(xl\)\@mobile-up {
    margin-right: var(--spacer-xl);
    margin-left: var(--spacer-xl);
  }
  .u-my\(xl\)\@mobile-up {
    margin-top: var(--spacer-xl);
    margin-bottom: var(--spacer-xl);
  }
  .u-mt\(xl\)\@mobile-up {
    margin-top: var(--spacer-xl);
  }
  .u-mr\(xl\)\@mobile-up {
    margin-right: var(--spacer-xl);
  }
  .u-mb\(xl\)\@mobile-up {
    margin-bottom: var(--spacer-xl);
  }
  .u-ml\(xl\)\@mobile-up {
    margin-left: var(--spacer-xl);
  }
  .u-p\(xl\)\@mobile-up {
    padding: var(--spacer-xl);
  }
  .u-px\(xl\)\@mobile-up {
    padding-right: var(--spacer-xl);
    padding-left: var(--spacer-xl);
  }
  .u-py\(xl\)\@mobile-up {
    padding-top: var(--spacer-xl);
    padding-bottom: var(--spacer-xl);
  }
  .u-pt\(xl\)\@mobile-up {
    padding-top: var(--spacer-xl);
  }
  .u-pr\(xl\)\@mobile-up {
    padding-right: var(--spacer-xl);
  }
  .u-pb\(xl\)\@mobile-up {
    padding-bottom: var(--spacer-xl);
  }
  .u-pl\(xl\)\@mobile-up {
    padding-left: var(--spacer-xl);
  }
  .u-m\(lg\)\@mobile-up {
    margin: var(--spacer-lg);
  }
  .u-mx\(lg\)\@mobile-up {
    margin-right: var(--spacer-lg);
    margin-left: var(--spacer-lg);
  }
  .u-my\(lg\)\@mobile-up {
    margin-top: var(--spacer-lg);
    margin-bottom: var(--spacer-lg);
  }
  .u-mt\(lg\)\@mobile-up {
    margin-top: var(--spacer-lg);
  }
  .u-mr\(lg\)\@mobile-up {
    margin-right: var(--spacer-lg);
  }
  .u-mb\(lg\)\@mobile-up {
    margin-bottom: var(--spacer-lg);
  }
  .u-ml\(lg\)\@mobile-up {
    margin-left: var(--spacer-lg);
  }
  .u-p\(lg\)\@mobile-up {
    padding: var(--spacer-lg);
  }
  .u-px\(lg\)\@mobile-up {
    padding-right: var(--spacer-lg);
    padding-left: var(--spacer-lg);
  }
  .u-py\(lg\)\@mobile-up {
    padding-top: var(--spacer-lg);
    padding-bottom: var(--spacer-lg);
  }
  .u-pt\(lg\)\@mobile-up {
    padding-top: var(--spacer-lg);
  }
  .u-pr\(lg\)\@mobile-up {
    padding-right: var(--spacer-lg);
  }
  .u-pb\(lg\)\@mobile-up {
    padding-bottom: var(--spacer-lg);
  }
  .u-pl\(lg\)\@mobile-up {
    padding-left: var(--spacer-lg);
  }
  .u-m\(md\)\@mobile-up {
    margin: var(--spacer-md);
  }
  .u-mx\(md\)\@mobile-up {
    margin-right: var(--spacer-md);
    margin-left: var(--spacer-md);
  }
  .u-my\(md\)\@mobile-up {
    margin-top: var(--spacer-md);
    margin-bottom: var(--spacer-md);
  }
  .u-mt\(md\)\@mobile-up {
    margin-top: var(--spacer-md);
  }
  .u-mr\(md\)\@mobile-up {
    margin-right: var(--spacer-md);
  }
  .u-mb\(md\)\@mobile-up {
    margin-bottom: var(--spacer-md);
  }
  .u-ml\(md\)\@mobile-up {
    margin-left: var(--spacer-md);
  }
  .u-p\(md\)\@mobile-up {
    padding: var(--spacer-md);
  }
  .u-px\(md\)\@mobile-up {
    padding-right: var(--spacer-md);
    padding-left: var(--spacer-md);
  }
  .u-py\(md\)\@mobile-up {
    padding-top: var(--spacer-md);
    padding-bottom: var(--spacer-md);
  }
  .u-pt\(md\)\@mobile-up {
    padding-top: var(--spacer-md);
  }
  .u-pr\(md\)\@mobile-up {
    padding-right: var(--spacer-md);
  }
  .u-pb\(md\)\@mobile-up {
    padding-bottom: var(--spacer-md);
  }
  .u-pl\(md\)\@mobile-up {
    padding-left: var(--spacer-md);
  }
  .u-m\(base-md\)\@mobile-up {
    margin: var(--spacer-base-md);
  }
  .u-mx\(base-md\)\@mobile-up {
    margin-right: var(--spacer-base-md);
    margin-left: var(--spacer-base-md);
  }
  .u-my\(base-md\)\@mobile-up {
    margin-top: var(--spacer-base-md);
    margin-bottom: var(--spacer-base-md);
  }
  .u-mt\(base-md\)\@mobile-up {
    margin-top: var(--spacer-base-md);
  }
  .u-mr\(base-md\)\@mobile-up {
    margin-right: var(--spacer-base-md);
  }
  .u-mb\(base-md\)\@mobile-up {
    margin-bottom: var(--spacer-base-md);
  }
  .u-ml\(base-md\)\@mobile-up {
    margin-left: var(--spacer-base-md);
  }
  .u-p\(base-md\)\@mobile-up {
    padding: var(--spacer-base-md);
  }
  .u-px\(base-md\)\@mobile-up {
    padding-right: var(--spacer-base-md);
    padding-left: var(--spacer-base-md);
  }
  .u-py\(base-md\)\@mobile-up {
    padding-top: var(--spacer-base-md);
    padding-bottom: var(--spacer-base-md);
  }
  .u-pt\(base-md\)\@mobile-up {
    padding-top: var(--spacer-base-md);
  }
  .u-pr\(base-md\)\@mobile-up {
    padding-right: var(--spacer-base-md);
  }
  .u-pb\(base-md\)\@mobile-up {
    padding-bottom: var(--spacer-base-md);
  }
  .u-pl\(base-md\)\@mobile-up {
    padding-left: var(--spacer-base-md);
  }
  .u-m\(sm\)\@mobile-up {
    margin: var(--spacer-sm);
  }
  .u-mx\(sm\)\@mobile-up {
    margin-right: var(--spacer-sm);
    margin-left: var(--spacer-sm);
  }
  .u-my\(sm\)\@mobile-up {
    margin-top: var(--spacer-sm);
    margin-bottom: var(--spacer-sm);
  }
  .u-mt\(sm\)\@mobile-up {
    margin-top: var(--spacer-sm);
  }
  .u-mr\(sm\)\@mobile-up {
    margin-right: var(--spacer-sm);
  }
  .u-mb\(sm\)\@mobile-up {
    margin-bottom: var(--spacer-sm);
  }
  .u-ml\(sm\)\@mobile-up {
    margin-left: var(--spacer-sm);
  }
  .u-p\(sm\)\@mobile-up {
    padding: var(--spacer-sm);
  }
  .u-px\(sm\)\@mobile-up {
    padding-right: var(--spacer-sm);
    padding-left: var(--spacer-sm);
  }
  .u-py\(sm\)\@mobile-up {
    padding-top: var(--spacer-sm);
    padding-bottom: var(--spacer-sm);
  }
  .u-pt\(sm\)\@mobile-up {
    padding-top: var(--spacer-sm);
  }
  .u-pr\(sm\)\@mobile-up {
    padding-right: var(--spacer-sm);
  }
  .u-pb\(sm\)\@mobile-up {
    padding-bottom: var(--spacer-sm);
  }
  .u-pl\(sm\)\@mobile-up {
    padding-left: var(--spacer-sm);
  }
  .u-m\(xs\)\@mobile-up {
    margin: var(--spacer-xs);
  }
  .u-mx\(xs\)\@mobile-up {
    margin-right: var(--spacer-xs);
    margin-left: var(--spacer-xs);
  }
  .u-my\(xs\)\@mobile-up {
    margin-top: var(--spacer-xs);
    margin-bottom: var(--spacer-xs);
  }
  .u-mt\(xs\)\@mobile-up {
    margin-top: var(--spacer-xs);
  }
  .u-mr\(xs\)\@mobile-up {
    margin-right: var(--spacer-xs);
  }
  .u-mb\(xs\)\@mobile-up {
    margin-bottom: var(--spacer-xs);
  }
  .u-ml\(xs\)\@mobile-up {
    margin-left: var(--spacer-xs);
  }
  .u-p\(xs\)\@mobile-up {
    padding: var(--spacer-xs);
  }
  .u-px\(xs\)\@mobile-up {
    padding-right: var(--spacer-xs);
    padding-left: var(--spacer-xs);
  }
  .u-py\(xs\)\@mobile-up {
    padding-top: var(--spacer-xs);
    padding-bottom: var(--spacer-xs);
  }
  .u-pt\(xs\)\@mobile-up {
    padding-top: var(--spacer-xs);
  }
  .u-pr\(xs\)\@mobile-up {
    padding-right: var(--spacer-xs);
  }
  .u-pb\(xs\)\@mobile-up {
    padding-bottom: var(--spacer-xs);
  }
  .u-pl\(xs\)\@mobile-up {
    padding-left: var(--spacer-xs);
  }
  .u-m\(-base\)\@mobile-up {
    margin: var(--spacer--base);
  }
  .u-mx\(-base\)\@mobile-up {
    margin-right: var(--spacer--base);
    margin-left: var(--spacer--base);
  }
  .u-my\(-base\)\@mobile-up {
    margin-top: var(--spacer--base);
    margin-bottom: var(--spacer--base);
  }
  .u-mt\(-base\)\@mobile-up {
    margin-top: var(--spacer--base);
  }
  .u-mr\(-base\)\@mobile-up {
    margin-right: var(--spacer--base);
  }
  .u-mb\(-base\)\@mobile-up {
    margin-bottom: var(--spacer--base);
  }
  .u-ml\(-base\)\@mobile-up {
    margin-left: var(--spacer--base);
  }
  .u-p\(-base\)\@mobile-up {
    padding: var(--spacer--base);
  }
  .u-px\(-base\)\@mobile-up {
    padding-right: var(--spacer--base);
    padding-left: var(--spacer--base);
  }
  .u-py\(-base\)\@mobile-up {
    padding-top: var(--spacer--base);
    padding-bottom: var(--spacer--base);
  }
  .u-pt\(-base\)\@mobile-up {
    padding-top: var(--spacer--base);
  }
  .u-pr\(-base\)\@mobile-up {
    padding-right: var(--spacer--base);
  }
  .u-pb\(-base\)\@mobile-up {
    padding-bottom: var(--spacer--base);
  }
  .u-pl\(-base\)\@mobile-up {
    padding-left: var(--spacer--base);
  }
  .u-m\(-md\)\@mobile-up {
    margin: var(--spacer--md);
  }
  .u-mx\(-md\)\@mobile-up {
    margin-right: var(--spacer--md);
    margin-left: var(--spacer--md);
  }
  .u-my\(-md\)\@mobile-up {
    margin-top: var(--spacer--md);
    margin-bottom: var(--spacer--md);
  }
  .u-mt\(-md\)\@mobile-up {
    margin-top: var(--spacer--md);
  }
  .u-mr\(-md\)\@mobile-up {
    margin-right: var(--spacer--md);
  }
  .u-mb\(-md\)\@mobile-up {
    margin-bottom: var(--spacer--md);
  }
  .u-ml\(-md\)\@mobile-up {
    margin-left: var(--spacer--md);
  }
  .u-p\(-md\)\@mobile-up {
    padding: var(--spacer--md);
  }
  .u-px\(-md\)\@mobile-up {
    padding-right: var(--spacer--md);
    padding-left: var(--spacer--md);
  }
  .u-py\(-md\)\@mobile-up {
    padding-top: var(--spacer--md);
    padding-bottom: var(--spacer--md);
  }
  .u-pt\(-md\)\@mobile-up {
    padding-top: var(--spacer--md);
  }
  .u-pr\(-md\)\@mobile-up {
    padding-right: var(--spacer--md);
  }
  .u-pb\(-md\)\@mobile-up {
    padding-bottom: var(--spacer--md);
  }
  .u-pl\(-md\)\@mobile-up {
    padding-left: var(--spacer--md);
  }
  .u-m\(-lg\)\@mobile-up {
    margin: var(--spacer--lg);
  }
  .u-mx\(-lg\)\@mobile-up {
    margin-right: var(--spacer--lg);
    margin-left: var(--spacer--lg);
  }
  .u-my\(-lg\)\@mobile-up {
    margin-top: var(--spacer--lg);
    margin-bottom: var(--spacer--lg);
  }
  .u-mt\(-lg\)\@mobile-up {
    margin-top: var(--spacer--lg);
  }
  .u-mr\(-lg\)\@mobile-up {
    margin-right: var(--spacer--lg);
  }
  .u-mb\(-lg\)\@mobile-up {
    margin-bottom: var(--spacer--lg);
  }
  .u-ml\(-lg\)\@mobile-up {
    margin-left: var(--spacer--lg);
  }
  .u-p\(-lg\)\@mobile-up {
    padding: var(--spacer--lg);
  }
  .u-px\(-lg\)\@mobile-up {
    padding-right: var(--spacer--lg);
    padding-left: var(--spacer--lg);
  }
  .u-py\(-lg\)\@mobile-up {
    padding-top: var(--spacer--lg);
    padding-bottom: var(--spacer--lg);
  }
  .u-pt\(-lg\)\@mobile-up {
    padding-top: var(--spacer--lg);
  }
  .u-pr\(-lg\)\@mobile-up {
    padding-right: var(--spacer--lg);
  }
  .u-pb\(-lg\)\@mobile-up {
    padding-bottom: var(--spacer--lg);
  }
  .u-pl\(-lg\)\@mobile-up {
    padding-left: var(--spacer--lg);
  }
  .u-m\(n\)\@mobile-up {
    margin: var(--spacer-n);
  }
  .u-mx\(n\)\@mobile-up {
    margin-right: var(--spacer-n);
    margin-left: var(--spacer-n);
  }
  .u-my\(n\)\@mobile-up {
    margin-top: var(--spacer-n);
    margin-bottom: var(--spacer-n);
  }
  .u-mt\(n\)\@mobile-up {
    margin-top: var(--spacer-n);
  }
  .u-mr\(n\)\@mobile-up {
    margin-right: var(--spacer-n);
  }
  .u-mb\(n\)\@mobile-up {
    margin-bottom: var(--spacer-n);
  }
  .u-ml\(n\)\@mobile-up {
    margin-left: var(--spacer-n);
  }
  .u-p\(n\)\@mobile-up {
    padding: var(--spacer-n);
  }
  .u-px\(n\)\@mobile-up {
    padding-right: var(--spacer-n);
    padding-left: var(--spacer-n);
  }
  .u-py\(n\)\@mobile-up {
    padding-top: var(--spacer-n);
    padding-bottom: var(--spacer-n);
  }
  .u-pt\(n\)\@mobile-up {
    padding-top: var(--spacer-n);
  }
  .u-pr\(n\)\@mobile-up {
    padding-right: var(--spacer-n);
  }
  .u-pb\(n\)\@mobile-up {
    padding-bottom: var(--spacer-n);
  }
  .u-pl\(n\)\@mobile-up {
    padding-left: var(--spacer-n);
  }
}
@media (max-width: 64em) and (min-width: 48em) {
  .u-m\(base\)\@tablet {
    margin: var(--spacer-base);
  }
  .u-mx\(base\)\@tablet {
    margin-right: var(--spacer-base);
    margin-left: var(--spacer-base);
  }
  .u-my\(base\)\@tablet {
    margin-top: var(--spacer-base);
    margin-bottom: var(--spacer-base);
  }
  .u-mt\(base\)\@tablet {
    margin-top: var(--spacer-base);
  }
  .u-mr\(base\)\@tablet {
    margin-right: var(--spacer-base);
  }
  .u-mb\(base\)\@tablet {
    margin-bottom: var(--spacer-base);
  }
  .u-ml\(base\)\@tablet {
    margin-left: var(--spacer-base);
  }
  .u-p\(base\)\@tablet {
    padding: var(--spacer-base);
  }
  .u-px\(base\)\@tablet {
    padding-right: var(--spacer-base);
    padding-left: var(--spacer-base);
  }
  .u-py\(base\)\@tablet {
    padding-top: var(--spacer-base);
    padding-bottom: var(--spacer-base);
  }
  .u-pt\(base\)\@tablet {
    padding-top: var(--spacer-base);
  }
  .u-pr\(base\)\@tablet {
    padding-right: var(--spacer-base);
  }
  .u-pb\(base\)\@tablet {
    padding-bottom: var(--spacer-base);
  }
  .u-pl\(base\)\@tablet {
    padding-left: var(--spacer-base);
  }
  .u-m\(auto\)\@tablet {
    margin: var(--spacer-auto);
  }
  .u-mx\(auto\)\@tablet {
    margin-right: var(--spacer-auto);
    margin-left: var(--spacer-auto);
  }
  .u-my\(auto\)\@tablet {
    margin-top: var(--spacer-auto);
    margin-bottom: var(--spacer-auto);
  }
  .u-mt\(auto\)\@tablet {
    margin-top: var(--spacer-auto);
  }
  .u-mr\(auto\)\@tablet {
    margin-right: var(--spacer-auto);
  }
  .u-mb\(auto\)\@tablet {
    margin-bottom: var(--spacer-auto);
  }
  .u-ml\(auto\)\@tablet {
    margin-left: var(--spacer-auto);
  }
  .u-m\(none\)\@tablet {
    margin: var(--spacer-none);
  }
  .u-mx\(none\)\@tablet {
    margin-right: var(--spacer-none);
    margin-left: var(--spacer-none);
  }
  .u-my\(none\)\@tablet {
    margin-top: var(--spacer-none);
    margin-bottom: var(--spacer-none);
  }
  .u-mt\(none\)\@tablet {
    margin-top: var(--spacer-none);
  }
  .u-mr\(none\)\@tablet {
    margin-right: var(--spacer-none);
  }
  .u-mb\(none\)\@tablet {
    margin-bottom: var(--spacer-none);
  }
  .u-ml\(none\)\@tablet {
    margin-left: var(--spacer-none);
  }
  .u-p\(none\)\@tablet {
    padding: var(--spacer-none);
  }
  .u-px\(none\)\@tablet {
    padding-right: var(--spacer-none);
    padding-left: var(--spacer-none);
  }
  .u-py\(none\)\@tablet {
    padding-top: var(--spacer-none);
    padding-bottom: var(--spacer-none);
  }
  .u-pt\(none\)\@tablet {
    padding-top: var(--spacer-none);
  }
  .u-pr\(none\)\@tablet {
    padding-right: var(--spacer-none);
  }
  .u-pb\(none\)\@tablet {
    padding-bottom: var(--spacer-none);
  }
  .u-pl\(none\)\@tablet {
    padding-left: var(--spacer-none);
  }
  .u-m\(2xl\)\@tablet {
    margin: var(--spacer-2xl);
  }
  .u-mx\(2xl\)\@tablet {
    margin-right: var(--spacer-2xl);
    margin-left: var(--spacer-2xl);
  }
  .u-my\(2xl\)\@tablet {
    margin-top: var(--spacer-2xl);
    margin-bottom: var(--spacer-2xl);
  }
  .u-mt\(2xl\)\@tablet {
    margin-top: var(--spacer-2xl);
  }
  .u-mr\(2xl\)\@tablet {
    margin-right: var(--spacer-2xl);
  }
  .u-mb\(2xl\)\@tablet {
    margin-bottom: var(--spacer-2xl);
  }
  .u-ml\(2xl\)\@tablet {
    margin-left: var(--spacer-2xl);
  }
  .u-p\(2xl\)\@tablet {
    padding: var(--spacer-2xl);
  }
  .u-px\(2xl\)\@tablet {
    padding-right: var(--spacer-2xl);
    padding-left: var(--spacer-2xl);
  }
  .u-py\(2xl\)\@tablet {
    padding-top: var(--spacer-2xl);
    padding-bottom: var(--spacer-2xl);
  }
  .u-pt\(2xl\)\@tablet {
    padding-top: var(--spacer-2xl);
  }
  .u-pr\(2xl\)\@tablet {
    padding-right: var(--spacer-2xl);
  }
  .u-pb\(2xl\)\@tablet {
    padding-bottom: var(--spacer-2xl);
  }
  .u-pl\(2xl\)\@tablet {
    padding-left: var(--spacer-2xl);
  }
  .u-m\(xl\)\@tablet {
    margin: var(--spacer-xl);
  }
  .u-mx\(xl\)\@tablet {
    margin-right: var(--spacer-xl);
    margin-left: var(--spacer-xl);
  }
  .u-my\(xl\)\@tablet {
    margin-top: var(--spacer-xl);
    margin-bottom: var(--spacer-xl);
  }
  .u-mt\(xl\)\@tablet {
    margin-top: var(--spacer-xl);
  }
  .u-mr\(xl\)\@tablet {
    margin-right: var(--spacer-xl);
  }
  .u-mb\(xl\)\@tablet {
    margin-bottom: var(--spacer-xl);
  }
  .u-ml\(xl\)\@tablet {
    margin-left: var(--spacer-xl);
  }
  .u-p\(xl\)\@tablet {
    padding: var(--spacer-xl);
  }
  .u-px\(xl\)\@tablet {
    padding-right: var(--spacer-xl);
    padding-left: var(--spacer-xl);
  }
  .u-py\(xl\)\@tablet {
    padding-top: var(--spacer-xl);
    padding-bottom: var(--spacer-xl);
  }
  .u-pt\(xl\)\@tablet {
    padding-top: var(--spacer-xl);
  }
  .u-pr\(xl\)\@tablet {
    padding-right: var(--spacer-xl);
  }
  .u-pb\(xl\)\@tablet {
    padding-bottom: var(--spacer-xl);
  }
  .u-pl\(xl\)\@tablet {
    padding-left: var(--spacer-xl);
  }
  .u-m\(lg\)\@tablet {
    margin: var(--spacer-lg);
  }
  .u-mx\(lg\)\@tablet {
    margin-right: var(--spacer-lg);
    margin-left: var(--spacer-lg);
  }
  .u-my\(lg\)\@tablet {
    margin-top: var(--spacer-lg);
    margin-bottom: var(--spacer-lg);
  }
  .u-mt\(lg\)\@tablet {
    margin-top: var(--spacer-lg);
  }
  .u-mr\(lg\)\@tablet {
    margin-right: var(--spacer-lg);
  }
  .u-mb\(lg\)\@tablet {
    margin-bottom: var(--spacer-lg);
  }
  .u-ml\(lg\)\@tablet {
    margin-left: var(--spacer-lg);
  }
  .u-p\(lg\)\@tablet {
    padding: var(--spacer-lg);
  }
  .u-px\(lg\)\@tablet {
    padding-right: var(--spacer-lg);
    padding-left: var(--spacer-lg);
  }
  .u-py\(lg\)\@tablet {
    padding-top: var(--spacer-lg);
    padding-bottom: var(--spacer-lg);
  }
  .u-pt\(lg\)\@tablet {
    padding-top: var(--spacer-lg);
  }
  .u-pr\(lg\)\@tablet {
    padding-right: var(--spacer-lg);
  }
  .u-pb\(lg\)\@tablet {
    padding-bottom: var(--spacer-lg);
  }
  .u-pl\(lg\)\@tablet {
    padding-left: var(--spacer-lg);
  }
  .u-m\(md\)\@tablet {
    margin: var(--spacer-md);
  }
  .u-mx\(md\)\@tablet {
    margin-right: var(--spacer-md);
    margin-left: var(--spacer-md);
  }
  .u-my\(md\)\@tablet {
    margin-top: var(--spacer-md);
    margin-bottom: var(--spacer-md);
  }
  .u-mt\(md\)\@tablet {
    margin-top: var(--spacer-md);
  }
  .u-mr\(md\)\@tablet {
    margin-right: var(--spacer-md);
  }
  .u-mb\(md\)\@tablet {
    margin-bottom: var(--spacer-md);
  }
  .u-ml\(md\)\@tablet {
    margin-left: var(--spacer-md);
  }
  .u-p\(md\)\@tablet {
    padding: var(--spacer-md);
  }
  .u-px\(md\)\@tablet {
    padding-right: var(--spacer-md);
    padding-left: var(--spacer-md);
  }
  .u-py\(md\)\@tablet {
    padding-top: var(--spacer-md);
    padding-bottom: var(--spacer-md);
  }
  .u-pt\(md\)\@tablet {
    padding-top: var(--spacer-md);
  }
  .u-pr\(md\)\@tablet {
    padding-right: var(--spacer-md);
  }
  .u-pb\(md\)\@tablet {
    padding-bottom: var(--spacer-md);
  }
  .u-pl\(md\)\@tablet {
    padding-left: var(--spacer-md);
  }
  .u-m\(base-md\)\@tablet {
    margin: var(--spacer-base-md);
  }
  .u-mx\(base-md\)\@tablet {
    margin-right: var(--spacer-base-md);
    margin-left: var(--spacer-base-md);
  }
  .u-my\(base-md\)\@tablet {
    margin-top: var(--spacer-base-md);
    margin-bottom: var(--spacer-base-md);
  }
  .u-mt\(base-md\)\@tablet {
    margin-top: var(--spacer-base-md);
  }
  .u-mr\(base-md\)\@tablet {
    margin-right: var(--spacer-base-md);
  }
  .u-mb\(base-md\)\@tablet {
    margin-bottom: var(--spacer-base-md);
  }
  .u-ml\(base-md\)\@tablet {
    margin-left: var(--spacer-base-md);
  }
  .u-p\(base-md\)\@tablet {
    padding: var(--spacer-base-md);
  }
  .u-px\(base-md\)\@tablet {
    padding-right: var(--spacer-base-md);
    padding-left: var(--spacer-base-md);
  }
  .u-py\(base-md\)\@tablet {
    padding-top: var(--spacer-base-md);
    padding-bottom: var(--spacer-base-md);
  }
  .u-pt\(base-md\)\@tablet {
    padding-top: var(--spacer-base-md);
  }
  .u-pr\(base-md\)\@tablet {
    padding-right: var(--spacer-base-md);
  }
  .u-pb\(base-md\)\@tablet {
    padding-bottom: var(--spacer-base-md);
  }
  .u-pl\(base-md\)\@tablet {
    padding-left: var(--spacer-base-md);
  }
  .u-m\(sm\)\@tablet {
    margin: var(--spacer-sm);
  }
  .u-mx\(sm\)\@tablet {
    margin-right: var(--spacer-sm);
    margin-left: var(--spacer-sm);
  }
  .u-my\(sm\)\@tablet {
    margin-top: var(--spacer-sm);
    margin-bottom: var(--spacer-sm);
  }
  .u-mt\(sm\)\@tablet {
    margin-top: var(--spacer-sm);
  }
  .u-mr\(sm\)\@tablet {
    margin-right: var(--spacer-sm);
  }
  .u-mb\(sm\)\@tablet {
    margin-bottom: var(--spacer-sm);
  }
  .u-ml\(sm\)\@tablet {
    margin-left: var(--spacer-sm);
  }
  .u-p\(sm\)\@tablet {
    padding: var(--spacer-sm);
  }
  .u-px\(sm\)\@tablet {
    padding-right: var(--spacer-sm);
    padding-left: var(--spacer-sm);
  }
  .u-py\(sm\)\@tablet {
    padding-top: var(--spacer-sm);
    padding-bottom: var(--spacer-sm);
  }
  .u-pt\(sm\)\@tablet {
    padding-top: var(--spacer-sm);
  }
  .u-pr\(sm\)\@tablet {
    padding-right: var(--spacer-sm);
  }
  .u-pb\(sm\)\@tablet {
    padding-bottom: var(--spacer-sm);
  }
  .u-pl\(sm\)\@tablet {
    padding-left: var(--spacer-sm);
  }
  .u-m\(xs\)\@tablet {
    margin: var(--spacer-xs);
  }
  .u-mx\(xs\)\@tablet {
    margin-right: var(--spacer-xs);
    margin-left: var(--spacer-xs);
  }
  .u-my\(xs\)\@tablet {
    margin-top: var(--spacer-xs);
    margin-bottom: var(--spacer-xs);
  }
  .u-mt\(xs\)\@tablet {
    margin-top: var(--spacer-xs);
  }
  .u-mr\(xs\)\@tablet {
    margin-right: var(--spacer-xs);
  }
  .u-mb\(xs\)\@tablet {
    margin-bottom: var(--spacer-xs);
  }
  .u-ml\(xs\)\@tablet {
    margin-left: var(--spacer-xs);
  }
  .u-p\(xs\)\@tablet {
    padding: var(--spacer-xs);
  }
  .u-px\(xs\)\@tablet {
    padding-right: var(--spacer-xs);
    padding-left: var(--spacer-xs);
  }
  .u-py\(xs\)\@tablet {
    padding-top: var(--spacer-xs);
    padding-bottom: var(--spacer-xs);
  }
  .u-pt\(xs\)\@tablet {
    padding-top: var(--spacer-xs);
  }
  .u-pr\(xs\)\@tablet {
    padding-right: var(--spacer-xs);
  }
  .u-pb\(xs\)\@tablet {
    padding-bottom: var(--spacer-xs);
  }
  .u-pl\(xs\)\@tablet {
    padding-left: var(--spacer-xs);
  }
  .u-m\(-base\)\@tablet {
    margin: var(--spacer--base);
  }
  .u-mx\(-base\)\@tablet {
    margin-right: var(--spacer--base);
    margin-left: var(--spacer--base);
  }
  .u-my\(-base\)\@tablet {
    margin-top: var(--spacer--base);
    margin-bottom: var(--spacer--base);
  }
  .u-mt\(-base\)\@tablet {
    margin-top: var(--spacer--base);
  }
  .u-mr\(-base\)\@tablet {
    margin-right: var(--spacer--base);
  }
  .u-mb\(-base\)\@tablet {
    margin-bottom: var(--spacer--base);
  }
  .u-ml\(-base\)\@tablet {
    margin-left: var(--spacer--base);
  }
  .u-p\(-base\)\@tablet {
    padding: var(--spacer--base);
  }
  .u-px\(-base\)\@tablet {
    padding-right: var(--spacer--base);
    padding-left: var(--spacer--base);
  }
  .u-py\(-base\)\@tablet {
    padding-top: var(--spacer--base);
    padding-bottom: var(--spacer--base);
  }
  .u-pt\(-base\)\@tablet {
    padding-top: var(--spacer--base);
  }
  .u-pr\(-base\)\@tablet {
    padding-right: var(--spacer--base);
  }
  .u-pb\(-base\)\@tablet {
    padding-bottom: var(--spacer--base);
  }
  .u-pl\(-base\)\@tablet {
    padding-left: var(--spacer--base);
  }
  .u-m\(-md\)\@tablet {
    margin: var(--spacer--md);
  }
  .u-mx\(-md\)\@tablet {
    margin-right: var(--spacer--md);
    margin-left: var(--spacer--md);
  }
  .u-my\(-md\)\@tablet {
    margin-top: var(--spacer--md);
    margin-bottom: var(--spacer--md);
  }
  .u-mt\(-md\)\@tablet {
    margin-top: var(--spacer--md);
  }
  .u-mr\(-md\)\@tablet {
    margin-right: var(--spacer--md);
  }
  .u-mb\(-md\)\@tablet {
    margin-bottom: var(--spacer--md);
  }
  .u-ml\(-md\)\@tablet {
    margin-left: var(--spacer--md);
  }
  .u-p\(-md\)\@tablet {
    padding: var(--spacer--md);
  }
  .u-px\(-md\)\@tablet {
    padding-right: var(--spacer--md);
    padding-left: var(--spacer--md);
  }
  .u-py\(-md\)\@tablet {
    padding-top: var(--spacer--md);
    padding-bottom: var(--spacer--md);
  }
  .u-pt\(-md\)\@tablet {
    padding-top: var(--spacer--md);
  }
  .u-pr\(-md\)\@tablet {
    padding-right: var(--spacer--md);
  }
  .u-pb\(-md\)\@tablet {
    padding-bottom: var(--spacer--md);
  }
  .u-pl\(-md\)\@tablet {
    padding-left: var(--spacer--md);
  }
  .u-m\(-lg\)\@tablet {
    margin: var(--spacer--lg);
  }
  .u-mx\(-lg\)\@tablet {
    margin-right: var(--spacer--lg);
    margin-left: var(--spacer--lg);
  }
  .u-my\(-lg\)\@tablet {
    margin-top: var(--spacer--lg);
    margin-bottom: var(--spacer--lg);
  }
  .u-mt\(-lg\)\@tablet {
    margin-top: var(--spacer--lg);
  }
  .u-mr\(-lg\)\@tablet {
    margin-right: var(--spacer--lg);
  }
  .u-mb\(-lg\)\@tablet {
    margin-bottom: var(--spacer--lg);
  }
  .u-ml\(-lg\)\@tablet {
    margin-left: var(--spacer--lg);
  }
  .u-p\(-lg\)\@tablet {
    padding: var(--spacer--lg);
  }
  .u-px\(-lg\)\@tablet {
    padding-right: var(--spacer--lg);
    padding-left: var(--spacer--lg);
  }
  .u-py\(-lg\)\@tablet {
    padding-top: var(--spacer--lg);
    padding-bottom: var(--spacer--lg);
  }
  .u-pt\(-lg\)\@tablet {
    padding-top: var(--spacer--lg);
  }
  .u-pr\(-lg\)\@tablet {
    padding-right: var(--spacer--lg);
  }
  .u-pb\(-lg\)\@tablet {
    padding-bottom: var(--spacer--lg);
  }
  .u-pl\(-lg\)\@tablet {
    padding-left: var(--spacer--lg);
  }
  .u-m\(n\)\@tablet {
    margin: var(--spacer-n);
  }
  .u-mx\(n\)\@tablet {
    margin-right: var(--spacer-n);
    margin-left: var(--spacer-n);
  }
  .u-my\(n\)\@tablet {
    margin-top: var(--spacer-n);
    margin-bottom: var(--spacer-n);
  }
  .u-mt\(n\)\@tablet {
    margin-top: var(--spacer-n);
  }
  .u-mr\(n\)\@tablet {
    margin-right: var(--spacer-n);
  }
  .u-mb\(n\)\@tablet {
    margin-bottom: var(--spacer-n);
  }
  .u-ml\(n\)\@tablet {
    margin-left: var(--spacer-n);
  }
  .u-p\(n\)\@tablet {
    padding: var(--spacer-n);
  }
  .u-px\(n\)\@tablet {
    padding-right: var(--spacer-n);
    padding-left: var(--spacer-n);
  }
  .u-py\(n\)\@tablet {
    padding-top: var(--spacer-n);
    padding-bottom: var(--spacer-n);
  }
  .u-pt\(n\)\@tablet {
    padding-top: var(--spacer-n);
  }
  .u-pr\(n\)\@tablet {
    padding-right: var(--spacer-n);
  }
  .u-pb\(n\)\@tablet {
    padding-bottom: var(--spacer-n);
  }
  .u-pl\(n\)\@tablet {
    padding-left: var(--spacer-n);
  }
}
@media (max-width: 64em) {
  .u-m\(base\)\@tablet-down {
    margin: var(--spacer-base);
  }
  .u-mx\(base\)\@tablet-down {
    margin-right: var(--spacer-base);
    margin-left: var(--spacer-base);
  }
  .u-my\(base\)\@tablet-down {
    margin-top: var(--spacer-base);
    margin-bottom: var(--spacer-base);
  }
  .u-mt\(base\)\@tablet-down {
    margin-top: var(--spacer-base);
  }
  .u-mr\(base\)\@tablet-down {
    margin-right: var(--spacer-base);
  }
  .u-mb\(base\)\@tablet-down {
    margin-bottom: var(--spacer-base);
  }
  .u-ml\(base\)\@tablet-down {
    margin-left: var(--spacer-base);
  }
  .u-p\(base\)\@tablet-down {
    padding: var(--spacer-base);
  }
  .u-px\(base\)\@tablet-down {
    padding-right: var(--spacer-base);
    padding-left: var(--spacer-base);
  }
  .u-py\(base\)\@tablet-down {
    padding-top: var(--spacer-base);
    padding-bottom: var(--spacer-base);
  }
  .u-pt\(base\)\@tablet-down {
    padding-top: var(--spacer-base);
  }
  .u-pr\(base\)\@tablet-down {
    padding-right: var(--spacer-base);
  }
  .u-pb\(base\)\@tablet-down {
    padding-bottom: var(--spacer-base);
  }
  .u-pl\(base\)\@tablet-down {
    padding-left: var(--spacer-base);
  }
  .u-m\(auto\)\@tablet-down {
    margin: var(--spacer-auto);
  }
  .u-mx\(auto\)\@tablet-down {
    margin-right: var(--spacer-auto);
    margin-left: var(--spacer-auto);
  }
  .u-my\(auto\)\@tablet-down {
    margin-top: var(--spacer-auto);
    margin-bottom: var(--spacer-auto);
  }
  .u-mt\(auto\)\@tablet-down {
    margin-top: var(--spacer-auto);
  }
  .u-mr\(auto\)\@tablet-down {
    margin-right: var(--spacer-auto);
  }
  .u-mb\(auto\)\@tablet-down {
    margin-bottom: var(--spacer-auto);
  }
  .u-ml\(auto\)\@tablet-down {
    margin-left: var(--spacer-auto);
  }
  .u-m\(none\)\@tablet-down {
    margin: var(--spacer-none);
  }
  .u-mx\(none\)\@tablet-down {
    margin-right: var(--spacer-none);
    margin-left: var(--spacer-none);
  }
  .u-my\(none\)\@tablet-down {
    margin-top: var(--spacer-none);
    margin-bottom: var(--spacer-none);
  }
  .u-mt\(none\)\@tablet-down {
    margin-top: var(--spacer-none);
  }
  .u-mr\(none\)\@tablet-down {
    margin-right: var(--spacer-none);
  }
  .u-mb\(none\)\@tablet-down {
    margin-bottom: var(--spacer-none);
  }
  .u-ml\(none\)\@tablet-down {
    margin-left: var(--spacer-none);
  }
  .u-p\(none\)\@tablet-down {
    padding: var(--spacer-none);
  }
  .u-px\(none\)\@tablet-down {
    padding-right: var(--spacer-none);
    padding-left: var(--spacer-none);
  }
  .u-py\(none\)\@tablet-down {
    padding-top: var(--spacer-none);
    padding-bottom: var(--spacer-none);
  }
  .u-pt\(none\)\@tablet-down {
    padding-top: var(--spacer-none);
  }
  .u-pr\(none\)\@tablet-down {
    padding-right: var(--spacer-none);
  }
  .u-pb\(none\)\@tablet-down {
    padding-bottom: var(--spacer-none);
  }
  .u-pl\(none\)\@tablet-down {
    padding-left: var(--spacer-none);
  }
  .u-m\(2xl\)\@tablet-down {
    margin: var(--spacer-2xl);
  }
  .u-mx\(2xl\)\@tablet-down {
    margin-right: var(--spacer-2xl);
    margin-left: var(--spacer-2xl);
  }
  .u-my\(2xl\)\@tablet-down {
    margin-top: var(--spacer-2xl);
    margin-bottom: var(--spacer-2xl);
  }
  .u-mt\(2xl\)\@tablet-down {
    margin-top: var(--spacer-2xl);
  }
  .u-mr\(2xl\)\@tablet-down {
    margin-right: var(--spacer-2xl);
  }
  .u-mb\(2xl\)\@tablet-down {
    margin-bottom: var(--spacer-2xl);
  }
  .u-ml\(2xl\)\@tablet-down {
    margin-left: var(--spacer-2xl);
  }
  .u-p\(2xl\)\@tablet-down {
    padding: var(--spacer-2xl);
  }
  .u-px\(2xl\)\@tablet-down {
    padding-right: var(--spacer-2xl);
    padding-left: var(--spacer-2xl);
  }
  .u-py\(2xl\)\@tablet-down {
    padding-top: var(--spacer-2xl);
    padding-bottom: var(--spacer-2xl);
  }
  .u-pt\(2xl\)\@tablet-down {
    padding-top: var(--spacer-2xl);
  }
  .u-pr\(2xl\)\@tablet-down {
    padding-right: var(--spacer-2xl);
  }
  .u-pb\(2xl\)\@tablet-down {
    padding-bottom: var(--spacer-2xl);
  }
  .u-pl\(2xl\)\@tablet-down {
    padding-left: var(--spacer-2xl);
  }
  .u-m\(xl\)\@tablet-down {
    margin: var(--spacer-xl);
  }
  .u-mx\(xl\)\@tablet-down {
    margin-right: var(--spacer-xl);
    margin-left: var(--spacer-xl);
  }
  .u-my\(xl\)\@tablet-down {
    margin-top: var(--spacer-xl);
    margin-bottom: var(--spacer-xl);
  }
  .u-mt\(xl\)\@tablet-down {
    margin-top: var(--spacer-xl);
  }
  .u-mr\(xl\)\@tablet-down {
    margin-right: var(--spacer-xl);
  }
  .u-mb\(xl\)\@tablet-down {
    margin-bottom: var(--spacer-xl);
  }
  .u-ml\(xl\)\@tablet-down {
    margin-left: var(--spacer-xl);
  }
  .u-p\(xl\)\@tablet-down {
    padding: var(--spacer-xl);
  }
  .u-px\(xl\)\@tablet-down {
    padding-right: var(--spacer-xl);
    padding-left: var(--spacer-xl);
  }
  .u-py\(xl\)\@tablet-down {
    padding-top: var(--spacer-xl);
    padding-bottom: var(--spacer-xl);
  }
  .u-pt\(xl\)\@tablet-down {
    padding-top: var(--spacer-xl);
  }
  .u-pr\(xl\)\@tablet-down {
    padding-right: var(--spacer-xl);
  }
  .u-pb\(xl\)\@tablet-down {
    padding-bottom: var(--spacer-xl);
  }
  .u-pl\(xl\)\@tablet-down {
    padding-left: var(--spacer-xl);
  }
  .u-m\(lg\)\@tablet-down {
    margin: var(--spacer-lg);
  }
  .u-mx\(lg\)\@tablet-down {
    margin-right: var(--spacer-lg);
    margin-left: var(--spacer-lg);
  }
  .u-my\(lg\)\@tablet-down {
    margin-top: var(--spacer-lg);
    margin-bottom: var(--spacer-lg);
  }
  .u-mt\(lg\)\@tablet-down {
    margin-top: var(--spacer-lg);
  }
  .u-mr\(lg\)\@tablet-down {
    margin-right: var(--spacer-lg);
  }
  .u-mb\(lg\)\@tablet-down {
    margin-bottom: var(--spacer-lg);
  }
  .u-ml\(lg\)\@tablet-down {
    margin-left: var(--spacer-lg);
  }
  .u-p\(lg\)\@tablet-down {
    padding: var(--spacer-lg);
  }
  .u-px\(lg\)\@tablet-down {
    padding-right: var(--spacer-lg);
    padding-left: var(--spacer-lg);
  }
  .u-py\(lg\)\@tablet-down {
    padding-top: var(--spacer-lg);
    padding-bottom: var(--spacer-lg);
  }
  .u-pt\(lg\)\@tablet-down {
    padding-top: var(--spacer-lg);
  }
  .u-pr\(lg\)\@tablet-down {
    padding-right: var(--spacer-lg);
  }
  .u-pb\(lg\)\@tablet-down {
    padding-bottom: var(--spacer-lg);
  }
  .u-pl\(lg\)\@tablet-down {
    padding-left: var(--spacer-lg);
  }
  .u-m\(md\)\@tablet-down {
    margin: var(--spacer-md);
  }
  .u-mx\(md\)\@tablet-down {
    margin-right: var(--spacer-md);
    margin-left: var(--spacer-md);
  }
  .u-my\(md\)\@tablet-down {
    margin-top: var(--spacer-md);
    margin-bottom: var(--spacer-md);
  }
  .u-mt\(md\)\@tablet-down {
    margin-top: var(--spacer-md);
  }
  .u-mr\(md\)\@tablet-down {
    margin-right: var(--spacer-md);
  }
  .u-mb\(md\)\@tablet-down {
    margin-bottom: var(--spacer-md);
  }
  .u-ml\(md\)\@tablet-down {
    margin-left: var(--spacer-md);
  }
  .u-p\(md\)\@tablet-down {
    padding: var(--spacer-md);
  }
  .u-px\(md\)\@tablet-down {
    padding-right: var(--spacer-md);
    padding-left: var(--spacer-md);
  }
  .u-py\(md\)\@tablet-down {
    padding-top: var(--spacer-md);
    padding-bottom: var(--spacer-md);
  }
  .u-pt\(md\)\@tablet-down {
    padding-top: var(--spacer-md);
  }
  .u-pr\(md\)\@tablet-down {
    padding-right: var(--spacer-md);
  }
  .u-pb\(md\)\@tablet-down {
    padding-bottom: var(--spacer-md);
  }
  .u-pl\(md\)\@tablet-down {
    padding-left: var(--spacer-md);
  }
  .u-m\(base-md\)\@tablet-down {
    margin: var(--spacer-base-md);
  }
  .u-mx\(base-md\)\@tablet-down {
    margin-right: var(--spacer-base-md);
    margin-left: var(--spacer-base-md);
  }
  .u-my\(base-md\)\@tablet-down {
    margin-top: var(--spacer-base-md);
    margin-bottom: var(--spacer-base-md);
  }
  .u-mt\(base-md\)\@tablet-down {
    margin-top: var(--spacer-base-md);
  }
  .u-mr\(base-md\)\@tablet-down {
    margin-right: var(--spacer-base-md);
  }
  .u-mb\(base-md\)\@tablet-down {
    margin-bottom: var(--spacer-base-md);
  }
  .u-ml\(base-md\)\@tablet-down {
    margin-left: var(--spacer-base-md);
  }
  .u-p\(base-md\)\@tablet-down {
    padding: var(--spacer-base-md);
  }
  .u-px\(base-md\)\@tablet-down {
    padding-right: var(--spacer-base-md);
    padding-left: var(--spacer-base-md);
  }
  .u-py\(base-md\)\@tablet-down {
    padding-top: var(--spacer-base-md);
    padding-bottom: var(--spacer-base-md);
  }
  .u-pt\(base-md\)\@tablet-down {
    padding-top: var(--spacer-base-md);
  }
  .u-pr\(base-md\)\@tablet-down {
    padding-right: var(--spacer-base-md);
  }
  .u-pb\(base-md\)\@tablet-down {
    padding-bottom: var(--spacer-base-md);
  }
  .u-pl\(base-md\)\@tablet-down {
    padding-left: var(--spacer-base-md);
  }
  .u-m\(sm\)\@tablet-down {
    margin: var(--spacer-sm);
  }
  .u-mx\(sm\)\@tablet-down {
    margin-right: var(--spacer-sm);
    margin-left: var(--spacer-sm);
  }
  .u-my\(sm\)\@tablet-down {
    margin-top: var(--spacer-sm);
    margin-bottom: var(--spacer-sm);
  }
  .u-mt\(sm\)\@tablet-down {
    margin-top: var(--spacer-sm);
  }
  .u-mr\(sm\)\@tablet-down {
    margin-right: var(--spacer-sm);
  }
  .u-mb\(sm\)\@tablet-down {
    margin-bottom: var(--spacer-sm);
  }
  .u-ml\(sm\)\@tablet-down {
    margin-left: var(--spacer-sm);
  }
  .u-p\(sm\)\@tablet-down {
    padding: var(--spacer-sm);
  }
  .u-px\(sm\)\@tablet-down {
    padding-right: var(--spacer-sm);
    padding-left: var(--spacer-sm);
  }
  .u-py\(sm\)\@tablet-down {
    padding-top: var(--spacer-sm);
    padding-bottom: var(--spacer-sm);
  }
  .u-pt\(sm\)\@tablet-down {
    padding-top: var(--spacer-sm);
  }
  .u-pr\(sm\)\@tablet-down {
    padding-right: var(--spacer-sm);
  }
  .u-pb\(sm\)\@tablet-down {
    padding-bottom: var(--spacer-sm);
  }
  .u-pl\(sm\)\@tablet-down {
    padding-left: var(--spacer-sm);
  }
  .u-m\(xs\)\@tablet-down {
    margin: var(--spacer-xs);
  }
  .u-mx\(xs\)\@tablet-down {
    margin-right: var(--spacer-xs);
    margin-left: var(--spacer-xs);
  }
  .u-my\(xs\)\@tablet-down {
    margin-top: var(--spacer-xs);
    margin-bottom: var(--spacer-xs);
  }
  .u-mt\(xs\)\@tablet-down {
    margin-top: var(--spacer-xs);
  }
  .u-mr\(xs\)\@tablet-down {
    margin-right: var(--spacer-xs);
  }
  .u-mb\(xs\)\@tablet-down {
    margin-bottom: var(--spacer-xs);
  }
  .u-ml\(xs\)\@tablet-down {
    margin-left: var(--spacer-xs);
  }
  .u-p\(xs\)\@tablet-down {
    padding: var(--spacer-xs);
  }
  .u-px\(xs\)\@tablet-down {
    padding-right: var(--spacer-xs);
    padding-left: var(--spacer-xs);
  }
  .u-py\(xs\)\@tablet-down {
    padding-top: var(--spacer-xs);
    padding-bottom: var(--spacer-xs);
  }
  .u-pt\(xs\)\@tablet-down {
    padding-top: var(--spacer-xs);
  }
  .u-pr\(xs\)\@tablet-down {
    padding-right: var(--spacer-xs);
  }
  .u-pb\(xs\)\@tablet-down {
    padding-bottom: var(--spacer-xs);
  }
  .u-pl\(xs\)\@tablet-down {
    padding-left: var(--spacer-xs);
  }
  .u-m\(-base\)\@tablet-down {
    margin: var(--spacer--base);
  }
  .u-mx\(-base\)\@tablet-down {
    margin-right: var(--spacer--base);
    margin-left: var(--spacer--base);
  }
  .u-my\(-base\)\@tablet-down {
    margin-top: var(--spacer--base);
    margin-bottom: var(--spacer--base);
  }
  .u-mt\(-base\)\@tablet-down {
    margin-top: var(--spacer--base);
  }
  .u-mr\(-base\)\@tablet-down {
    margin-right: var(--spacer--base);
  }
  .u-mb\(-base\)\@tablet-down {
    margin-bottom: var(--spacer--base);
  }
  .u-ml\(-base\)\@tablet-down {
    margin-left: var(--spacer--base);
  }
  .u-p\(-base\)\@tablet-down {
    padding: var(--spacer--base);
  }
  .u-px\(-base\)\@tablet-down {
    padding-right: var(--spacer--base);
    padding-left: var(--spacer--base);
  }
  .u-py\(-base\)\@tablet-down {
    padding-top: var(--spacer--base);
    padding-bottom: var(--spacer--base);
  }
  .u-pt\(-base\)\@tablet-down {
    padding-top: var(--spacer--base);
  }
  .u-pr\(-base\)\@tablet-down {
    padding-right: var(--spacer--base);
  }
  .u-pb\(-base\)\@tablet-down {
    padding-bottom: var(--spacer--base);
  }
  .u-pl\(-base\)\@tablet-down {
    padding-left: var(--spacer--base);
  }
  .u-m\(-md\)\@tablet-down {
    margin: var(--spacer--md);
  }
  .u-mx\(-md\)\@tablet-down {
    margin-right: var(--spacer--md);
    margin-left: var(--spacer--md);
  }
  .u-my\(-md\)\@tablet-down {
    margin-top: var(--spacer--md);
    margin-bottom: var(--spacer--md);
  }
  .u-mt\(-md\)\@tablet-down {
    margin-top: var(--spacer--md);
  }
  .u-mr\(-md\)\@tablet-down {
    margin-right: var(--spacer--md);
  }
  .u-mb\(-md\)\@tablet-down {
    margin-bottom: var(--spacer--md);
  }
  .u-ml\(-md\)\@tablet-down {
    margin-left: var(--spacer--md);
  }
  .u-p\(-md\)\@tablet-down {
    padding: var(--spacer--md);
  }
  .u-px\(-md\)\@tablet-down {
    padding-right: var(--spacer--md);
    padding-left: var(--spacer--md);
  }
  .u-py\(-md\)\@tablet-down {
    padding-top: var(--spacer--md);
    padding-bottom: var(--spacer--md);
  }
  .u-pt\(-md\)\@tablet-down {
    padding-top: var(--spacer--md);
  }
  .u-pr\(-md\)\@tablet-down {
    padding-right: var(--spacer--md);
  }
  .u-pb\(-md\)\@tablet-down {
    padding-bottom: var(--spacer--md);
  }
  .u-pl\(-md\)\@tablet-down {
    padding-left: var(--spacer--md);
  }
  .u-m\(-lg\)\@tablet-down {
    margin: var(--spacer--lg);
  }
  .u-mx\(-lg\)\@tablet-down {
    margin-right: var(--spacer--lg);
    margin-left: var(--spacer--lg);
  }
  .u-my\(-lg\)\@tablet-down {
    margin-top: var(--spacer--lg);
    margin-bottom: var(--spacer--lg);
  }
  .u-mt\(-lg\)\@tablet-down {
    margin-top: var(--spacer--lg);
  }
  .u-mr\(-lg\)\@tablet-down {
    margin-right: var(--spacer--lg);
  }
  .u-mb\(-lg\)\@tablet-down {
    margin-bottom: var(--spacer--lg);
  }
  .u-ml\(-lg\)\@tablet-down {
    margin-left: var(--spacer--lg);
  }
  .u-p\(-lg\)\@tablet-down {
    padding: var(--spacer--lg);
  }
  .u-px\(-lg\)\@tablet-down {
    padding-right: var(--spacer--lg);
    padding-left: var(--spacer--lg);
  }
  .u-py\(-lg\)\@tablet-down {
    padding-top: var(--spacer--lg);
    padding-bottom: var(--spacer--lg);
  }
  .u-pt\(-lg\)\@tablet-down {
    padding-top: var(--spacer--lg);
  }
  .u-pr\(-lg\)\@tablet-down {
    padding-right: var(--spacer--lg);
  }
  .u-pb\(-lg\)\@tablet-down {
    padding-bottom: var(--spacer--lg);
  }
  .u-pl\(-lg\)\@tablet-down {
    padding-left: var(--spacer--lg);
  }
  .u-m\(n\)\@tablet-down {
    margin: var(--spacer-n);
  }
  .u-mx\(n\)\@tablet-down {
    margin-right: var(--spacer-n);
    margin-left: var(--spacer-n);
  }
  .u-my\(n\)\@tablet-down {
    margin-top: var(--spacer-n);
    margin-bottom: var(--spacer-n);
  }
  .u-mt\(n\)\@tablet-down {
    margin-top: var(--spacer-n);
  }
  .u-mr\(n\)\@tablet-down {
    margin-right: var(--spacer-n);
  }
  .u-mb\(n\)\@tablet-down {
    margin-bottom: var(--spacer-n);
  }
  .u-ml\(n\)\@tablet-down {
    margin-left: var(--spacer-n);
  }
  .u-p\(n\)\@tablet-down {
    padding: var(--spacer-n);
  }
  .u-px\(n\)\@tablet-down {
    padding-right: var(--spacer-n);
    padding-left: var(--spacer-n);
  }
  .u-py\(n\)\@tablet-down {
    padding-top: var(--spacer-n);
    padding-bottom: var(--spacer-n);
  }
  .u-pt\(n\)\@tablet-down {
    padding-top: var(--spacer-n);
  }
  .u-pr\(n\)\@tablet-down {
    padding-right: var(--spacer-n);
  }
  .u-pb\(n\)\@tablet-down {
    padding-bottom: var(--spacer-n);
  }
  .u-pl\(n\)\@tablet-down {
    padding-left: var(--spacer-n);
  }
}
@media (min-width: 64.0625em) {
  .u-m\(base\)\@tablet-up {
    margin: var(--spacer-base);
  }
  .u-mx\(base\)\@tablet-up {
    margin-right: var(--spacer-base);
    margin-left: var(--spacer-base);
  }
  .u-my\(base\)\@tablet-up {
    margin-top: var(--spacer-base);
    margin-bottom: var(--spacer-base);
  }
  .u-mt\(base\)\@tablet-up {
    margin-top: var(--spacer-base);
  }
  .u-mr\(base\)\@tablet-up {
    margin-right: var(--spacer-base);
  }
  .u-mb\(base\)\@tablet-up {
    margin-bottom: var(--spacer-base);
  }
  .u-ml\(base\)\@tablet-up {
    margin-left: var(--spacer-base);
  }
  .u-p\(base\)\@tablet-up {
    padding: var(--spacer-base);
  }
  .u-px\(base\)\@tablet-up {
    padding-right: var(--spacer-base);
    padding-left: var(--spacer-base);
  }
  .u-py\(base\)\@tablet-up {
    padding-top: var(--spacer-base);
    padding-bottom: var(--spacer-base);
  }
  .u-pt\(base\)\@tablet-up {
    padding-top: var(--spacer-base);
  }
  .u-pr\(base\)\@tablet-up {
    padding-right: var(--spacer-base);
  }
  .u-pb\(base\)\@tablet-up {
    padding-bottom: var(--spacer-base);
  }
  .u-pl\(base\)\@tablet-up {
    padding-left: var(--spacer-base);
  }
  .u-m\(auto\)\@tablet-up {
    margin: var(--spacer-auto);
  }
  .u-mx\(auto\)\@tablet-up {
    margin-right: var(--spacer-auto);
    margin-left: var(--spacer-auto);
  }
  .u-my\(auto\)\@tablet-up {
    margin-top: var(--spacer-auto);
    margin-bottom: var(--spacer-auto);
  }
  .u-mt\(auto\)\@tablet-up {
    margin-top: var(--spacer-auto);
  }
  .u-mr\(auto\)\@tablet-up {
    margin-right: var(--spacer-auto);
  }
  .u-mb\(auto\)\@tablet-up {
    margin-bottom: var(--spacer-auto);
  }
  .u-ml\(auto\)\@tablet-up {
    margin-left: var(--spacer-auto);
  }
  .u-m\(none\)\@tablet-up {
    margin: var(--spacer-none);
  }
  .u-mx\(none\)\@tablet-up {
    margin-right: var(--spacer-none);
    margin-left: var(--spacer-none);
  }
  .u-my\(none\)\@tablet-up {
    margin-top: var(--spacer-none);
    margin-bottom: var(--spacer-none);
  }
  .u-mt\(none\)\@tablet-up {
    margin-top: var(--spacer-none);
  }
  .u-mr\(none\)\@tablet-up {
    margin-right: var(--spacer-none);
  }
  .u-mb\(none\)\@tablet-up {
    margin-bottom: var(--spacer-none);
  }
  .u-ml\(none\)\@tablet-up {
    margin-left: var(--spacer-none);
  }
  .u-p\(none\)\@tablet-up {
    padding: var(--spacer-none);
  }
  .u-px\(none\)\@tablet-up {
    padding-right: var(--spacer-none);
    padding-left: var(--spacer-none);
  }
  .u-py\(none\)\@tablet-up {
    padding-top: var(--spacer-none);
    padding-bottom: var(--spacer-none);
  }
  .u-pt\(none\)\@tablet-up {
    padding-top: var(--spacer-none);
  }
  .u-pr\(none\)\@tablet-up {
    padding-right: var(--spacer-none);
  }
  .u-pb\(none\)\@tablet-up {
    padding-bottom: var(--spacer-none);
  }
  .u-pl\(none\)\@tablet-up {
    padding-left: var(--spacer-none);
  }
  .u-m\(2xl\)\@tablet-up {
    margin: var(--spacer-2xl);
  }
  .u-mx\(2xl\)\@tablet-up {
    margin-right: var(--spacer-2xl);
    margin-left: var(--spacer-2xl);
  }
  .u-my\(2xl\)\@tablet-up {
    margin-top: var(--spacer-2xl);
    margin-bottom: var(--spacer-2xl);
  }
  .u-mt\(2xl\)\@tablet-up {
    margin-top: var(--spacer-2xl);
  }
  .u-mr\(2xl\)\@tablet-up {
    margin-right: var(--spacer-2xl);
  }
  .u-mb\(2xl\)\@tablet-up {
    margin-bottom: var(--spacer-2xl);
  }
  .u-ml\(2xl\)\@tablet-up {
    margin-left: var(--spacer-2xl);
  }
  .u-p\(2xl\)\@tablet-up {
    padding: var(--spacer-2xl);
  }
  .u-px\(2xl\)\@tablet-up {
    padding-right: var(--spacer-2xl);
    padding-left: var(--spacer-2xl);
  }
  .u-py\(2xl\)\@tablet-up {
    padding-top: var(--spacer-2xl);
    padding-bottom: var(--spacer-2xl);
  }
  .u-pt\(2xl\)\@tablet-up {
    padding-top: var(--spacer-2xl);
  }
  .u-pr\(2xl\)\@tablet-up {
    padding-right: var(--spacer-2xl);
  }
  .u-pb\(2xl\)\@tablet-up {
    padding-bottom: var(--spacer-2xl);
  }
  .u-pl\(2xl\)\@tablet-up {
    padding-left: var(--spacer-2xl);
  }
  .u-m\(xl\)\@tablet-up {
    margin: var(--spacer-xl);
  }
  .u-mx\(xl\)\@tablet-up {
    margin-right: var(--spacer-xl);
    margin-left: var(--spacer-xl);
  }
  .u-my\(xl\)\@tablet-up {
    margin-top: var(--spacer-xl);
    margin-bottom: var(--spacer-xl);
  }
  .u-mt\(xl\)\@tablet-up {
    margin-top: var(--spacer-xl);
  }
  .u-mr\(xl\)\@tablet-up {
    margin-right: var(--spacer-xl);
  }
  .u-mb\(xl\)\@tablet-up {
    margin-bottom: var(--spacer-xl);
  }
  .u-ml\(xl\)\@tablet-up {
    margin-left: var(--spacer-xl);
  }
  .u-p\(xl\)\@tablet-up {
    padding: var(--spacer-xl);
  }
  .u-px\(xl\)\@tablet-up {
    padding-right: var(--spacer-xl);
    padding-left: var(--spacer-xl);
  }
  .u-py\(xl\)\@tablet-up {
    padding-top: var(--spacer-xl);
    padding-bottom: var(--spacer-xl);
  }
  .u-pt\(xl\)\@tablet-up {
    padding-top: var(--spacer-xl);
  }
  .u-pr\(xl\)\@tablet-up {
    padding-right: var(--spacer-xl);
  }
  .u-pb\(xl\)\@tablet-up {
    padding-bottom: var(--spacer-xl);
  }
  .u-pl\(xl\)\@tablet-up {
    padding-left: var(--spacer-xl);
  }
  .u-m\(lg\)\@tablet-up {
    margin: var(--spacer-lg);
  }
  .u-mx\(lg\)\@tablet-up {
    margin-right: var(--spacer-lg);
    margin-left: var(--spacer-lg);
  }
  .u-my\(lg\)\@tablet-up {
    margin-top: var(--spacer-lg);
    margin-bottom: var(--spacer-lg);
  }
  .u-mt\(lg\)\@tablet-up {
    margin-top: var(--spacer-lg);
  }
  .u-mr\(lg\)\@tablet-up {
    margin-right: var(--spacer-lg);
  }
  .u-mb\(lg\)\@tablet-up {
    margin-bottom: var(--spacer-lg);
  }
  .u-ml\(lg\)\@tablet-up {
    margin-left: var(--spacer-lg);
  }
  .u-p\(lg\)\@tablet-up {
    padding: var(--spacer-lg);
  }
  .u-px\(lg\)\@tablet-up {
    padding-right: var(--spacer-lg);
    padding-left: var(--spacer-lg);
  }
  .u-py\(lg\)\@tablet-up {
    padding-top: var(--spacer-lg);
    padding-bottom: var(--spacer-lg);
  }
  .u-pt\(lg\)\@tablet-up {
    padding-top: var(--spacer-lg);
  }
  .u-pr\(lg\)\@tablet-up {
    padding-right: var(--spacer-lg);
  }
  .u-pb\(lg\)\@tablet-up {
    padding-bottom: var(--spacer-lg);
  }
  .u-pl\(lg\)\@tablet-up {
    padding-left: var(--spacer-lg);
  }
  .u-m\(md\)\@tablet-up {
    margin: var(--spacer-md);
  }
  .u-mx\(md\)\@tablet-up {
    margin-right: var(--spacer-md);
    margin-left: var(--spacer-md);
  }
  .u-my\(md\)\@tablet-up {
    margin-top: var(--spacer-md);
    margin-bottom: var(--spacer-md);
  }
  .u-mt\(md\)\@tablet-up {
    margin-top: var(--spacer-md);
  }
  .u-mr\(md\)\@tablet-up {
    margin-right: var(--spacer-md);
  }
  .u-mb\(md\)\@tablet-up {
    margin-bottom: var(--spacer-md);
  }
  .u-ml\(md\)\@tablet-up {
    margin-left: var(--spacer-md);
  }
  .u-p\(md\)\@tablet-up {
    padding: var(--spacer-md);
  }
  .u-px\(md\)\@tablet-up {
    padding-right: var(--spacer-md);
    padding-left: var(--spacer-md);
  }
  .u-py\(md\)\@tablet-up {
    padding-top: var(--spacer-md);
    padding-bottom: var(--spacer-md);
  }
  .u-pt\(md\)\@tablet-up {
    padding-top: var(--spacer-md);
  }
  .u-pr\(md\)\@tablet-up {
    padding-right: var(--spacer-md);
  }
  .u-pb\(md\)\@tablet-up {
    padding-bottom: var(--spacer-md);
  }
  .u-pl\(md\)\@tablet-up {
    padding-left: var(--spacer-md);
  }
  .u-m\(base-md\)\@tablet-up {
    margin: var(--spacer-base-md);
  }
  .u-mx\(base-md\)\@tablet-up {
    margin-right: var(--spacer-base-md);
    margin-left: var(--spacer-base-md);
  }
  .u-my\(base-md\)\@tablet-up {
    margin-top: var(--spacer-base-md);
    margin-bottom: var(--spacer-base-md);
  }
  .u-mt\(base-md\)\@tablet-up {
    margin-top: var(--spacer-base-md);
  }
  .u-mr\(base-md\)\@tablet-up {
    margin-right: var(--spacer-base-md);
  }
  .u-mb\(base-md\)\@tablet-up {
    margin-bottom: var(--spacer-base-md);
  }
  .u-ml\(base-md\)\@tablet-up {
    margin-left: var(--spacer-base-md);
  }
  .u-p\(base-md\)\@tablet-up {
    padding: var(--spacer-base-md);
  }
  .u-px\(base-md\)\@tablet-up {
    padding-right: var(--spacer-base-md);
    padding-left: var(--spacer-base-md);
  }
  .u-py\(base-md\)\@tablet-up {
    padding-top: var(--spacer-base-md);
    padding-bottom: var(--spacer-base-md);
  }
  .u-pt\(base-md\)\@tablet-up {
    padding-top: var(--spacer-base-md);
  }
  .u-pr\(base-md\)\@tablet-up {
    padding-right: var(--spacer-base-md);
  }
  .u-pb\(base-md\)\@tablet-up {
    padding-bottom: var(--spacer-base-md);
  }
  .u-pl\(base-md\)\@tablet-up {
    padding-left: var(--spacer-base-md);
  }
  .u-m\(sm\)\@tablet-up {
    margin: var(--spacer-sm);
  }
  .u-mx\(sm\)\@tablet-up {
    margin-right: var(--spacer-sm);
    margin-left: var(--spacer-sm);
  }
  .u-my\(sm\)\@tablet-up {
    margin-top: var(--spacer-sm);
    margin-bottom: var(--spacer-sm);
  }
  .u-mt\(sm\)\@tablet-up {
    margin-top: var(--spacer-sm);
  }
  .u-mr\(sm\)\@tablet-up {
    margin-right: var(--spacer-sm);
  }
  .u-mb\(sm\)\@tablet-up {
    margin-bottom: var(--spacer-sm);
  }
  .u-ml\(sm\)\@tablet-up {
    margin-left: var(--spacer-sm);
  }
  .u-p\(sm\)\@tablet-up {
    padding: var(--spacer-sm);
  }
  .u-px\(sm\)\@tablet-up {
    padding-right: var(--spacer-sm);
    padding-left: var(--spacer-sm);
  }
  .u-py\(sm\)\@tablet-up {
    padding-top: var(--spacer-sm);
    padding-bottom: var(--spacer-sm);
  }
  .u-pt\(sm\)\@tablet-up {
    padding-top: var(--spacer-sm);
  }
  .u-pr\(sm\)\@tablet-up {
    padding-right: var(--spacer-sm);
  }
  .u-pb\(sm\)\@tablet-up {
    padding-bottom: var(--spacer-sm);
  }
  .u-pl\(sm\)\@tablet-up {
    padding-left: var(--spacer-sm);
  }
  .u-m\(xs\)\@tablet-up {
    margin: var(--spacer-xs);
  }
  .u-mx\(xs\)\@tablet-up {
    margin-right: var(--spacer-xs);
    margin-left: var(--spacer-xs);
  }
  .u-my\(xs\)\@tablet-up {
    margin-top: var(--spacer-xs);
    margin-bottom: var(--spacer-xs);
  }
  .u-mt\(xs\)\@tablet-up {
    margin-top: var(--spacer-xs);
  }
  .u-mr\(xs\)\@tablet-up {
    margin-right: var(--spacer-xs);
  }
  .u-mb\(xs\)\@tablet-up {
    margin-bottom: var(--spacer-xs);
  }
  .u-ml\(xs\)\@tablet-up {
    margin-left: var(--spacer-xs);
  }
  .u-p\(xs\)\@tablet-up {
    padding: var(--spacer-xs);
  }
  .u-px\(xs\)\@tablet-up {
    padding-right: var(--spacer-xs);
    padding-left: var(--spacer-xs);
  }
  .u-py\(xs\)\@tablet-up {
    padding-top: var(--spacer-xs);
    padding-bottom: var(--spacer-xs);
  }
  .u-pt\(xs\)\@tablet-up {
    padding-top: var(--spacer-xs);
  }
  .u-pr\(xs\)\@tablet-up {
    padding-right: var(--spacer-xs);
  }
  .u-pb\(xs\)\@tablet-up {
    padding-bottom: var(--spacer-xs);
  }
  .u-pl\(xs\)\@tablet-up {
    padding-left: var(--spacer-xs);
  }
  .u-m\(-base\)\@tablet-up {
    margin: var(--spacer--base);
  }
  .u-mx\(-base\)\@tablet-up {
    margin-right: var(--spacer--base);
    margin-left: var(--spacer--base);
  }
  .u-my\(-base\)\@tablet-up {
    margin-top: var(--spacer--base);
    margin-bottom: var(--spacer--base);
  }
  .u-mt\(-base\)\@tablet-up {
    margin-top: var(--spacer--base);
  }
  .u-mr\(-base\)\@tablet-up {
    margin-right: var(--spacer--base);
  }
  .u-mb\(-base\)\@tablet-up {
    margin-bottom: var(--spacer--base);
  }
  .u-ml\(-base\)\@tablet-up {
    margin-left: var(--spacer--base);
  }
  .u-p\(-base\)\@tablet-up {
    padding: var(--spacer--base);
  }
  .u-px\(-base\)\@tablet-up {
    padding-right: var(--spacer--base);
    padding-left: var(--spacer--base);
  }
  .u-py\(-base\)\@tablet-up {
    padding-top: var(--spacer--base);
    padding-bottom: var(--spacer--base);
  }
  .u-pt\(-base\)\@tablet-up {
    padding-top: var(--spacer--base);
  }
  .u-pr\(-base\)\@tablet-up {
    padding-right: var(--spacer--base);
  }
  .u-pb\(-base\)\@tablet-up {
    padding-bottom: var(--spacer--base);
  }
  .u-pl\(-base\)\@tablet-up {
    padding-left: var(--spacer--base);
  }
  .u-m\(-md\)\@tablet-up {
    margin: var(--spacer--md);
  }
  .u-mx\(-md\)\@tablet-up {
    margin-right: var(--spacer--md);
    margin-left: var(--spacer--md);
  }
  .u-my\(-md\)\@tablet-up {
    margin-top: var(--spacer--md);
    margin-bottom: var(--spacer--md);
  }
  .u-mt\(-md\)\@tablet-up {
    margin-top: var(--spacer--md);
  }
  .u-mr\(-md\)\@tablet-up {
    margin-right: var(--spacer--md);
  }
  .u-mb\(-md\)\@tablet-up {
    margin-bottom: var(--spacer--md);
  }
  .u-ml\(-md\)\@tablet-up {
    margin-left: var(--spacer--md);
  }
  .u-p\(-md\)\@tablet-up {
    padding: var(--spacer--md);
  }
  .u-px\(-md\)\@tablet-up {
    padding-right: var(--spacer--md);
    padding-left: var(--spacer--md);
  }
  .u-py\(-md\)\@tablet-up {
    padding-top: var(--spacer--md);
    padding-bottom: var(--spacer--md);
  }
  .u-pt\(-md\)\@tablet-up {
    padding-top: var(--spacer--md);
  }
  .u-pr\(-md\)\@tablet-up {
    padding-right: var(--spacer--md);
  }
  .u-pb\(-md\)\@tablet-up {
    padding-bottom: var(--spacer--md);
  }
  .u-pl\(-md\)\@tablet-up {
    padding-left: var(--spacer--md);
  }
  .u-m\(-lg\)\@tablet-up {
    margin: var(--spacer--lg);
  }
  .u-mx\(-lg\)\@tablet-up {
    margin-right: var(--spacer--lg);
    margin-left: var(--spacer--lg);
  }
  .u-my\(-lg\)\@tablet-up {
    margin-top: var(--spacer--lg);
    margin-bottom: var(--spacer--lg);
  }
  .u-mt\(-lg\)\@tablet-up {
    margin-top: var(--spacer--lg);
  }
  .u-mr\(-lg\)\@tablet-up {
    margin-right: var(--spacer--lg);
  }
  .u-mb\(-lg\)\@tablet-up {
    margin-bottom: var(--spacer--lg);
  }
  .u-ml\(-lg\)\@tablet-up {
    margin-left: var(--spacer--lg);
  }
  .u-p\(-lg\)\@tablet-up {
    padding: var(--spacer--lg);
  }
  .u-px\(-lg\)\@tablet-up {
    padding-right: var(--spacer--lg);
    padding-left: var(--spacer--lg);
  }
  .u-py\(-lg\)\@tablet-up {
    padding-top: var(--spacer--lg);
    padding-bottom: var(--spacer--lg);
  }
  .u-pt\(-lg\)\@tablet-up {
    padding-top: var(--spacer--lg);
  }
  .u-pr\(-lg\)\@tablet-up {
    padding-right: var(--spacer--lg);
  }
  .u-pb\(-lg\)\@tablet-up {
    padding-bottom: var(--spacer--lg);
  }
  .u-pl\(-lg\)\@tablet-up {
    padding-left: var(--spacer--lg);
  }
  .u-m\(n\)\@tablet-up {
    margin: var(--spacer-n);
  }
  .u-mx\(n\)\@tablet-up {
    margin-right: var(--spacer-n);
    margin-left: var(--spacer-n);
  }
  .u-my\(n\)\@tablet-up {
    margin-top: var(--spacer-n);
    margin-bottom: var(--spacer-n);
  }
  .u-mt\(n\)\@tablet-up {
    margin-top: var(--spacer-n);
  }
  .u-mr\(n\)\@tablet-up {
    margin-right: var(--spacer-n);
  }
  .u-mb\(n\)\@tablet-up {
    margin-bottom: var(--spacer-n);
  }
  .u-ml\(n\)\@tablet-up {
    margin-left: var(--spacer-n);
  }
  .u-p\(n\)\@tablet-up {
    padding: var(--spacer-n);
  }
  .u-px\(n\)\@tablet-up {
    padding-right: var(--spacer-n);
    padding-left: var(--spacer-n);
  }
  .u-py\(n\)\@tablet-up {
    padding-top: var(--spacer-n);
    padding-bottom: var(--spacer-n);
  }
  .u-pt\(n\)\@tablet-up {
    padding-top: var(--spacer-n);
  }
  .u-pr\(n\)\@tablet-up {
    padding-right: var(--spacer-n);
  }
  .u-pb\(n\)\@tablet-up {
    padding-bottom: var(--spacer-n);
  }
  .u-pl\(n\)\@tablet-up {
    padding-left: var(--spacer-n);
  }
}
/* ==========================================================================
   #TEXT
   ========================================================================== */
/* Declarative rules
   ========================================================================== */
.u-fw\(base\) {
  font-weight: var(--font-weight-base);
}

.u-fw\(medium\) {
  font-weight: var(--font-weight-medium);
}

.u-fw\(bold\) {
  font-weight: var(--font-weight-bold);
}

.u-fz\(base\) {
  font-size: var(--font-size-base);
  line-height: var(--line-height-base);
}

.u-fz\(h1\) {
  font-size: var(--font-size-h1);
  line-height: var(--line-height-h1);
}

.u-fz\(h2\) {
  font-size: var(--font-size-h2);
  line-height: var(--line-height-h2);
}

.u-fz\(h3\) {
  font-size: var(--font-size-h3);
  line-height: var(--line-height-h3);
}

.u-fz\(h4\) {
  font-size: var(--font-size-h4);
  line-height: var(--line-height-h4);
}

.u-fz\(lg\) {
  font-size: var(--font-size-lg);
  line-height: var(--line-height-lg);
}

.u-fz\(md\) {
  font-size: var(--font-size-md);
  line-height: var(--line-height-md);
}

.u-fz\(sm\) {
  font-size: var(--font-size-sm);
  line-height: var(--line-height-sm);
}

.u-fz\(xs\) {
  font-size: var(--font-size-xs);
  line-height: var(--line-height-xs);
}

.u-fz\(h1-big\) {
  font-size: var(--font-size-h1-big);
  line-height: var(--line-height-h1-big);
}

.u-fz\(icon-xs\) {
  font-size: var(--font-size-icon-xs);
  line-height: var(--line-height-icon-xs);
}

.u-ff\(base\) {
  font-family: var(--font-family-base);
}

.u-ta\(left\) {
  text-align: left;
}

.u-ta\(right\) {
  text-align: right;
}

.u-ta\(center\) {
  text-align: center;
}

.u-ta\(justify\) {
  text-align: justify;
}

.u-tt\(lowercase\) {
  text-transform: lowercase;
}

.u-tt\(uppercase\) {
  text-transform: uppercase;
}

.u-tt\(capitalize\) {
  text-transform: capitalize;
}

.u-tt\(none\) {
  text-transform: none;
}

.u-va\(baseline\) {
  vertical-align: baseline;
}

.u-va\(top\) {
  vertical-align: top;
}

.u-va\(bottom\) {
  vertical-align: bottom;
}

.u-va\(middle\) {
  vertical-align: middle;
}

.u-va\(text-top\) {
  vertical-align: text-top;
}

.u-va\(text-bottom\) {
  vertical-align: text-bottom;
}

.u-va\(sub\) {
  vertical-align: sub;
}

.u-va\(super\) {
  vertical-align: super;
}

@media (max-width: 47.9375em) {
  .u-fw\(base\)\@mobile {
    font-weight: var(--font-weight-base);
  }
  .u-fw\(medium\)\@mobile {
    font-weight: var(--font-weight-medium);
  }
  .u-fw\(bold\)\@mobile {
    font-weight: var(--font-weight-bold);
  }
}
@media (min-width: 48em) {
  .u-fw\(base\)\@mobile-up {
    font-weight: var(--font-weight-base);
  }
  .u-fw\(medium\)\@mobile-up {
    font-weight: var(--font-weight-medium);
  }
  .u-fw\(bold\)\@mobile-up {
    font-weight: var(--font-weight-bold);
  }
}
@media (max-width: 64em) and (min-width: 48em) {
  .u-fw\(base\)\@tablet {
    font-weight: var(--font-weight-base);
  }
  .u-fw\(medium\)\@tablet {
    font-weight: var(--font-weight-medium);
  }
  .u-fw\(bold\)\@tablet {
    font-weight: var(--font-weight-bold);
  }
}
@media (max-width: 64em) {
  .u-fw\(base\)\@tablet-down {
    font-weight: var(--font-weight-base);
  }
  .u-fw\(medium\)\@tablet-down {
    font-weight: var(--font-weight-medium);
  }
  .u-fw\(bold\)\@tablet-down {
    font-weight: var(--font-weight-bold);
  }
}
@media (min-width: 64.0625em) {
  .u-fw\(base\)\@tablet-up {
    font-weight: var(--font-weight-base);
  }
  .u-fw\(medium\)\@tablet-up {
    font-weight: var(--font-weight-medium);
  }
  .u-fw\(bold\)\@tablet-up {
    font-weight: var(--font-weight-bold);
  }
}
@media (max-width: 47.9375em) {
  .u-fz\(base\)\@mobile {
    font-size: var(--font-size-base);
    line-height: var(--line-height-base);
  }
  .u-fz\(h1\)\@mobile {
    font-size: var(--font-size-h1);
    line-height: var(--line-height-h1);
  }
  .u-fz\(h2\)\@mobile {
    font-size: var(--font-size-h2);
    line-height: var(--line-height-h2);
  }
  .u-fz\(h3\)\@mobile {
    font-size: var(--font-size-h3);
    line-height: var(--line-height-h3);
  }
  .u-fz\(h4\)\@mobile {
    font-size: var(--font-size-h4);
    line-height: var(--line-height-h4);
  }
  .u-fz\(lg\)\@mobile {
    font-size: var(--font-size-lg);
    line-height: var(--line-height-lg);
  }
  .u-fz\(md\)\@mobile {
    font-size: var(--font-size-md);
    line-height: var(--line-height-md);
  }
  .u-fz\(sm\)\@mobile {
    font-size: var(--font-size-sm);
    line-height: var(--line-height-sm);
  }
  .u-fz\(xs\)\@mobile {
    font-size: var(--font-size-xs);
    line-height: var(--line-height-xs);
  }
  .u-fz\(h1-big\)\@mobile {
    font-size: var(--font-size-h1-big);
    line-height: var(--line-height-h1-big);
  }
  .u-fz\(icon-xs\)\@mobile {
    font-size: var(--font-size-icon-xs);
    line-height: var(--line-height-icon-xs);
  }
}
@media (min-width: 48em) {
  .u-fz\(base\)\@mobile-up {
    font-size: var(--font-size-base);
    line-height: var(--line-height-base);
  }
  .u-fz\(h1\)\@mobile-up {
    font-size: var(--font-size-h1);
    line-height: var(--line-height-h1);
  }
  .u-fz\(h2\)\@mobile-up {
    font-size: var(--font-size-h2);
    line-height: var(--line-height-h2);
  }
  .u-fz\(h3\)\@mobile-up {
    font-size: var(--font-size-h3);
    line-height: var(--line-height-h3);
  }
  .u-fz\(h4\)\@mobile-up {
    font-size: var(--font-size-h4);
    line-height: var(--line-height-h4);
  }
  .u-fz\(lg\)\@mobile-up {
    font-size: var(--font-size-lg);
    line-height: var(--line-height-lg);
  }
  .u-fz\(md\)\@mobile-up {
    font-size: var(--font-size-md);
    line-height: var(--line-height-md);
  }
  .u-fz\(sm\)\@mobile-up {
    font-size: var(--font-size-sm);
    line-height: var(--line-height-sm);
  }
  .u-fz\(xs\)\@mobile-up {
    font-size: var(--font-size-xs);
    line-height: var(--line-height-xs);
  }
  .u-fz\(h1-big\)\@mobile-up {
    font-size: var(--font-size-h1-big);
    line-height: var(--line-height-h1-big);
  }
  .u-fz\(icon-xs\)\@mobile-up {
    font-size: var(--font-size-icon-xs);
    line-height: var(--line-height-icon-xs);
  }
}
@media (max-width: 64em) and (min-width: 48em) {
  .u-fz\(base\)\@tablet {
    font-size: var(--font-size-base);
    line-height: var(--line-height-base);
  }
  .u-fz\(h1\)\@tablet {
    font-size: var(--font-size-h1);
    line-height: var(--line-height-h1);
  }
  .u-fz\(h2\)\@tablet {
    font-size: var(--font-size-h2);
    line-height: var(--line-height-h2);
  }
  .u-fz\(h3\)\@tablet {
    font-size: var(--font-size-h3);
    line-height: var(--line-height-h3);
  }
  .u-fz\(h4\)\@tablet {
    font-size: var(--font-size-h4);
    line-height: var(--line-height-h4);
  }
  .u-fz\(lg\)\@tablet {
    font-size: var(--font-size-lg);
    line-height: var(--line-height-lg);
  }
  .u-fz\(md\)\@tablet {
    font-size: var(--font-size-md);
    line-height: var(--line-height-md);
  }
  .u-fz\(sm\)\@tablet {
    font-size: var(--font-size-sm);
    line-height: var(--line-height-sm);
  }
  .u-fz\(xs\)\@tablet {
    font-size: var(--font-size-xs);
    line-height: var(--line-height-xs);
  }
  .u-fz\(h1-big\)\@tablet {
    font-size: var(--font-size-h1-big);
    line-height: var(--line-height-h1-big);
  }
  .u-fz\(icon-xs\)\@tablet {
    font-size: var(--font-size-icon-xs);
    line-height: var(--line-height-icon-xs);
  }
}
@media (max-width: 64em) {
  .u-fz\(base\)\@tablet-down {
    font-size: var(--font-size-base);
    line-height: var(--line-height-base);
  }
  .u-fz\(h1\)\@tablet-down {
    font-size: var(--font-size-h1);
    line-height: var(--line-height-h1);
  }
  .u-fz\(h2\)\@tablet-down {
    font-size: var(--font-size-h2);
    line-height: var(--line-height-h2);
  }
  .u-fz\(h3\)\@tablet-down {
    font-size: var(--font-size-h3);
    line-height: var(--line-height-h3);
  }
  .u-fz\(h4\)\@tablet-down {
    font-size: var(--font-size-h4);
    line-height: var(--line-height-h4);
  }
  .u-fz\(lg\)\@tablet-down {
    font-size: var(--font-size-lg);
    line-height: var(--line-height-lg);
  }
  .u-fz\(md\)\@tablet-down {
    font-size: var(--font-size-md);
    line-height: var(--line-height-md);
  }
  .u-fz\(sm\)\@tablet-down {
    font-size: var(--font-size-sm);
    line-height: var(--line-height-sm);
  }
  .u-fz\(xs\)\@tablet-down {
    font-size: var(--font-size-xs);
    line-height: var(--line-height-xs);
  }
  .u-fz\(h1-big\)\@tablet-down {
    font-size: var(--font-size-h1-big);
    line-height: var(--line-height-h1-big);
  }
  .u-fz\(icon-xs\)\@tablet-down {
    font-size: var(--font-size-icon-xs);
    line-height: var(--line-height-icon-xs);
  }
}
@media (min-width: 64.0625em) {
  .u-fz\(base\)\@tablet-up {
    font-size: var(--font-size-base);
    line-height: var(--line-height-base);
  }
  .u-fz\(h1\)\@tablet-up {
    font-size: var(--font-size-h1);
    line-height: var(--line-height-h1);
  }
  .u-fz\(h2\)\@tablet-up {
    font-size: var(--font-size-h2);
    line-height: var(--line-height-h2);
  }
  .u-fz\(h3\)\@tablet-up {
    font-size: var(--font-size-h3);
    line-height: var(--line-height-h3);
  }
  .u-fz\(h4\)\@tablet-up {
    font-size: var(--font-size-h4);
    line-height: var(--line-height-h4);
  }
  .u-fz\(lg\)\@tablet-up {
    font-size: var(--font-size-lg);
    line-height: var(--line-height-lg);
  }
  .u-fz\(md\)\@tablet-up {
    font-size: var(--font-size-md);
    line-height: var(--line-height-md);
  }
  .u-fz\(sm\)\@tablet-up {
    font-size: var(--font-size-sm);
    line-height: var(--line-height-sm);
  }
  .u-fz\(xs\)\@tablet-up {
    font-size: var(--font-size-xs);
    line-height: var(--line-height-xs);
  }
  .u-fz\(h1-big\)\@tablet-up {
    font-size: var(--font-size-h1-big);
    line-height: var(--line-height-h1-big);
  }
  .u-fz\(icon-xs\)\@tablet-up {
    font-size: var(--font-size-icon-xs);
    line-height: var(--line-height-icon-xs);
  }
}
@media (max-width: 47.9375em) {
  .u-ff\(base\)\@mobile {
    font-family: var(--font-family-base);
  }
}
@media (min-width: 48em) {
  .u-ff\(base\)\@mobile-up {
    font-family: var(--font-family-base);
  }
}
@media (max-width: 64em) and (min-width: 48em) {
  .u-ff\(base\)\@tablet {
    font-family: var(--font-family-base);
  }
}
@media (max-width: 64em) {
  .u-ff\(base\)\@tablet-down {
    font-family: var(--font-family-base);
  }
}
@media (min-width: 64.0625em) {
  .u-ff\(base\)\@tablet-up {
    font-family: var(--font-family-base);
  }
}
@media (max-width: 47.9375em) {
  .u-ta\(left\)\@mobile {
    text-align: left;
  }
  .u-ta\(right\)\@mobile {
    text-align: right;
  }
  .u-ta\(center\)\@mobile {
    text-align: center;
  }
  .u-ta\(justify\)\@mobile {
    text-align: justify;
  }
}
@media (min-width: 48em) {
  .u-ta\(left\)\@mobile-up {
    text-align: left;
  }
  .u-ta\(right\)\@mobile-up {
    text-align: right;
  }
  .u-ta\(center\)\@mobile-up {
    text-align: center;
  }
  .u-ta\(justify\)\@mobile-up {
    text-align: justify;
  }
}
@media (max-width: 64em) and (min-width: 48em) {
  .u-ta\(left\)\@tablet {
    text-align: left;
  }
  .u-ta\(right\)\@tablet {
    text-align: right;
  }
  .u-ta\(center\)\@tablet {
    text-align: center;
  }
  .u-ta\(justify\)\@tablet {
    text-align: justify;
  }
}
@media (max-width: 64em) {
  .u-ta\(left\)\@tablet-down {
    text-align: left;
  }
  .u-ta\(right\)\@tablet-down {
    text-align: right;
  }
  .u-ta\(center\)\@tablet-down {
    text-align: center;
  }
  .u-ta\(justify\)\@tablet-down {
    text-align: justify;
  }
}
@media (min-width: 64.0625em) {
  .u-ta\(left\)\@tablet-up {
    text-align: left;
  }
  .u-ta\(right\)\@tablet-up {
    text-align: right;
  }
  .u-ta\(center\)\@tablet-up {
    text-align: center;
  }
  .u-ta\(justify\)\@tablet-up {
    text-align: justify;
  }
}
@media (max-width: 47.9375em) {
  .u-tt\(lowercase\)\@mobile {
    text-transform: lowercase;
  }
  .u-tt\(uppercase\)\@mobile {
    text-transform: uppercase;
  }
  .u-tt\(capitalize\)\@mobile {
    text-transform: capitalize;
  }
  .u-tt\(none\)\@mobile {
    text-transform: none;
  }
}
@media (min-width: 48em) {
  .u-tt\(lowercase\)\@mobile-up {
    text-transform: lowercase;
  }
  .u-tt\(uppercase\)\@mobile-up {
    text-transform: uppercase;
  }
  .u-tt\(capitalize\)\@mobile-up {
    text-transform: capitalize;
  }
  .u-tt\(none\)\@mobile-up {
    text-transform: none;
  }
}
@media (max-width: 64em) and (min-width: 48em) {
  .u-tt\(lowercase\)\@tablet {
    text-transform: lowercase;
  }
  .u-tt\(uppercase\)\@tablet {
    text-transform: uppercase;
  }
  .u-tt\(capitalize\)\@tablet {
    text-transform: capitalize;
  }
  .u-tt\(none\)\@tablet {
    text-transform: none;
  }
}
@media (max-width: 64em) {
  .u-tt\(lowercase\)\@tablet-down {
    text-transform: lowercase;
  }
  .u-tt\(uppercase\)\@tablet-down {
    text-transform: uppercase;
  }
  .u-tt\(capitalize\)\@tablet-down {
    text-transform: capitalize;
  }
  .u-tt\(none\)\@tablet-down {
    text-transform: none;
  }
}
@media (min-width: 64.0625em) {
  .u-tt\(lowercase\)\@tablet-up {
    text-transform: lowercase;
  }
  .u-tt\(uppercase\)\@tablet-up {
    text-transform: uppercase;
  }
  .u-tt\(capitalize\)\@tablet-up {
    text-transform: capitalize;
  }
  .u-tt\(none\)\@tablet-up {
    text-transform: none;
  }
}
@media (max-width: 47.9375em) {
  .u-va\(baseline\)\@mobile {
    vertical-align: baseline;
  }
  .u-va\(top\)\@mobile {
    vertical-align: top;
  }
  .u-va\(bottom\)\@mobile {
    vertical-align: bottom;
  }
  .u-va\(middle\)\@mobile {
    vertical-align: middle;
  }
  .u-va\(text-top\)\@mobile {
    vertical-align: text-top;
  }
  .u-va\(text-bottom\)\@mobile {
    vertical-align: text-bottom;
  }
  .u-va\(sub\)\@mobile {
    vertical-align: sub;
  }
  .u-va\(super\)\@mobile {
    vertical-align: super;
  }
}
@media (min-width: 48em) {
  .u-va\(baseline\)\@mobile-up {
    vertical-align: baseline;
  }
  .u-va\(top\)\@mobile-up {
    vertical-align: top;
  }
  .u-va\(bottom\)\@mobile-up {
    vertical-align: bottom;
  }
  .u-va\(middle\)\@mobile-up {
    vertical-align: middle;
  }
  .u-va\(text-top\)\@mobile-up {
    vertical-align: text-top;
  }
  .u-va\(text-bottom\)\@mobile-up {
    vertical-align: text-bottom;
  }
  .u-va\(sub\)\@mobile-up {
    vertical-align: sub;
  }
  .u-va\(super\)\@mobile-up {
    vertical-align: super;
  }
}
@media (max-width: 64em) and (min-width: 48em) {
  .u-va\(baseline\)\@tablet {
    vertical-align: baseline;
  }
  .u-va\(top\)\@tablet {
    vertical-align: top;
  }
  .u-va\(bottom\)\@tablet {
    vertical-align: bottom;
  }
  .u-va\(middle\)\@tablet {
    vertical-align: middle;
  }
  .u-va\(text-top\)\@tablet {
    vertical-align: text-top;
  }
  .u-va\(text-bottom\)\@tablet {
    vertical-align: text-bottom;
  }
  .u-va\(sub\)\@tablet {
    vertical-align: sub;
  }
  .u-va\(super\)\@tablet {
    vertical-align: super;
  }
}
@media (max-width: 64em) {
  .u-va\(baseline\)\@tablet-down {
    vertical-align: baseline;
  }
  .u-va\(top\)\@tablet-down {
    vertical-align: top;
  }
  .u-va\(bottom\)\@tablet-down {
    vertical-align: bottom;
  }
  .u-va\(middle\)\@tablet-down {
    vertical-align: middle;
  }
  .u-va\(text-top\)\@tablet-down {
    vertical-align: text-top;
  }
  .u-va\(text-bottom\)\@tablet-down {
    vertical-align: text-bottom;
  }
  .u-va\(sub\)\@tablet-down {
    vertical-align: sub;
  }
  .u-va\(super\)\@tablet-down {
    vertical-align: super;
  }
}
@media (min-width: 64.0625em) {
  .u-va\(baseline\)\@tablet-up {
    vertical-align: baseline;
  }
  .u-va\(top\)\@tablet-up {
    vertical-align: top;
  }
  .u-va\(bottom\)\@tablet-up {
    vertical-align: bottom;
  }
  .u-va\(middle\)\@tablet-up {
    vertical-align: middle;
  }
  .u-va\(text-top\)\@tablet-up {
    vertical-align: text-top;
  }
  .u-va\(text-bottom\)\@tablet-up {
    vertical-align: text-bottom;
  }
  .u-va\(sub\)\@tablet-up {
    vertical-align: sub;
  }
  .u-va\(super\)\@tablet-up {
    vertical-align: super;
  }
}

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhlbWUtZW50cnkuY3NzIiwibWFwcGluZ3MiOiI7OztBQUFBOzsrRUFBQTtBQ0FBOzsrRUFBQTtBQ0FBOzsrRUFBQTtBQUtBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QUZLRjtBRUZBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QUZJRjtBRURBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QUZHRjtBRUFBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QUZFRjtBRUNBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QUZDRjtBR3RDQTs7K0VBQUE7QUNBQTs7K0VBQUE7QUFJQTtFQUNFOztJQUFBO0VBR0E7RUFDQTtBSjBDRjs7QUl2Q0E7RUFDRTtFQUNBO0FKMENGOztBS3hEQTs7K0VBQUE7QUFJQTs7OztFQUFBO0FDSkE7QUFFQTsrRUFBQTtBQUdBOzs7RUFBQTtBQUtBO0VBQ0U7RUFDQTtBTmdFRjs7QU03REE7K0VBQUE7QUFHQTs7RUFBQTtBQUlBO0VBQ0U7QU44REY7O0FNM0RBOztFQUFBO0FBSUE7RUFDRTtBTjZERjs7QU0xREE7OztFQUFBO0FBS0E7RUFDRTtFQUNBO0FONERGOztBTXpEQTsrRUFBQTtBQUdBOzs7RUFBQTtBQUtBO0VBQ0U7RUFDQTtFQUNBO0FOMERGOztBTXZEQTs7O0VBQUE7QUFLQTtFQUNFO0VBQ0E7QU55REY7O0FNdERBOytFQUFBO0FBR0E7O0VBQUE7QUFJQTtFQUNFO0FOdURGOztBTXBEQTs7O0VBQUE7QUFLQTtFQUNFO0VBQ0E7RUFDQTtBTnNERjs7QU1uREE7O0VBQUE7QUFJQTs7RUFFRTtBTnFERjs7QU1sREE7OztFQUFBO0FBS0E7OztFQUdFO0VBQ0E7QU5vREY7O0FNakRBOztFQUFBO0FBSUE7RUFDRTtBTm1ERjs7QU1oREE7OztFQUFBO0FBS0E7O0VBRUU7RUFDQTtFQUNBO0VBQ0E7QU5rREY7O0FNL0NBO0VBQ0U7QU5rREY7O0FNL0NBO0VBQ0U7QU5rREY7O0FNL0NBOytFQUFBO0FBR0E7O0VBQUE7QUFJQTtFQUNFO0FOZ0RGOztBTTdDQTsrRUFBQTtBQUdBOzs7RUFBQTtBQUtBOzs7OztFQUtFO0VBQ0E7RUFDQTtFQUNBO0FOOENGOztBTTNDQTs7O0VBQUE7QUFLQTtRQUNRO0VBQ047QU42Q0Y7O0FNMUNBOzs7RUFBQTtBQUtBO1NBQ1M7RUFDUDtBTjRDRjs7QU16Q0E7O0VBQUE7QUFJQTs7OztFQUlFO0FOMkNGOztBTXhDQTs7RUFBQTtBQUlBOzs7O0VBSUU7RUFDQTtBTjBDRjs7QU12Q0E7O0VBQUE7QUFJQTs7OztFQUlFO0FOeUNGOztBTXRDQTs7RUFBQTtBQUlBO0VBQ0U7QU53Q0Y7O0FNckNBOzs7OztFQUFBO0FBT0E7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QU51Q0Y7O0FNcENBOztFQUFBO0FBSUE7RUFDRTtBTnNDRjs7QU1uQ0E7O0VBQUE7QUFJQTtFQUNFO0FOcUNGOztBTWxDQTs7O0VBQUE7QUFLQTs7RUFFRTtFQUNBO0FOb0NGOztBTWpDQTs7RUFBQTtBQUlBOztFQUVFO0FObUNGOztBTWhDQTs7O0VBQUE7QUFLQTtFQUNFO0VBQ0E7QU5rQ0Y7O0FNL0JBOztFQUFBO0FBSUE7RUFDRTtBTmlDRjs7QU05QkE7OztFQUFBO0FBS0E7RUFDRTtFQUNBO0FOZ0NGOztBTTdCQTsrRUFBQTtBQUdBOztFQUFBO0FBSUE7RUFDRTtBTjhCRjs7QU0zQkE7O0VBQUE7QUFJQTtFQUNFO0FONkJGOztBTTFCQTsrRUFBQTtBQUdBOztFQUFBO0FBSUE7RUFDRTtBTjJCRjs7QU14QkE7O0VBQUE7QUFJQTtFQUNFO0FOMEJGOztBT3JYQTs7K0VBQUE7QUFJQTsrRUFBQTtBQUdBO0VBQ0U7QVBzWEY7O0FPblhBOzs7RUFHRTtBUHNYRjs7QVFwWUE7OytFQUFBO0FBSUE7K0VBQUE7QUFHQTs7RUFBQTtBQUlBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBc0JFO0VBQ0E7QVJvWUY7O0FRallBOztFQUFBO0FBSUE7Ozs7OztFQU1FO0VBQ0E7QVJtWUY7O0FRaFlBOztFQUFBO0FBSUE7RUFDRTtFQUNBO0FSa1lGOztBUS9YQTs7RUFBQTtBQUlBOztFQUVFO0FSaVlGOztBUTlYQTs7RUFBQTtBQUlBO0VBQ0U7QVJnWUY7O0FRN1hBOztFQUFBO0FBSUE7RUFDRTtFQUNBO0FSK1hGOztBUTVYQTs7RUFBQTtBQUlBO0VBQ0U7QVI4WEY7O0FRM1hBOztFQUFBO0FBSUE7RUFDRTtBUjZYRjs7QVExWEE7O0VBQUE7QUFJQTs7Ozs7Ozs7O0VBU0U7QVI0WEY7O0FTL2VBOzsrRUFBQTtBQUlBOytFQUFBO0FBR0E7O0VBQUE7QUFJQTs7O0VBR0U7RUFDQTtBVCtlRjs7QVM1ZUE7O0VBQUE7QUFJQTs7Ozs7Ozs7Ozs7Ozs7Ozs7RUNtQ0k7QVY0ZEo7QVUxZGE7RUFDUDtBVjRkTjs7QVM5ZUE7O0VBQUE7QUFJQTs7O0VBR0U7QVRnZkY7O0FTN2VBOztFQUFBO0FBSUE7Ozs7O0VBS0U7RUFDQTtBVCtlRjs7QVM1ZUE7O0VBRUU7QVQrZUY7O0FTNWVBOztFQUFBO0FBSUE7Ozs7OztFQU1FO0FUOGVGOztBUzNlQTs7RUFBQTtBQUlBO0VBQ0U7QVQ2ZUY7O0FTMWVBO0VBQ0U7QVQ2ZUY7O0FTMWVBOztFQUVFO0FUNmVGOztBVzlrQkE7OytFQUFBO0FBSUE7K0VBQUE7QUFHQTtFQUNFOztJQUFBO0VEMkVJO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VDckVKOztJQUFBO0VEbUZJO0VBQUE7RUFBQTtFQThCRTtFQVNBO0VBVEE7RUFTQTtFQVRBO0VBU0E7RUFUQTtFQVNBO0VBVEE7RUFTQTtFQVRBO0VBU0E7RUFUQTtFQVNBO0VBVEE7RUFTQTtFQVRBO0VBU0E7RUFUQTtFQVNBO0VBVEE7RUFTQTtFQWtERjtFQ3BLSjs7SUFBQTtFRG1MSTtFQUFBO0VDN0tKOztJQUFBO0VENExJO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUN0TEo7O0lBQUE7RURzTUU7RUFlSTtFQWNKO0VBZUk7RUFpQkE7QVZ5WFI7QVVub0JRO0VDcEJSO0lEd0hRO0lBU0E7RVYyaEJOO0FBQ0Y7QVV6b0JRO0VDcEJSO0lEd0hRO0lBU0E7RVZpaUJOO0FBQ0Y7QVUvb0JRO0VDcEJSO0lEd0hRO0lBU0E7RVZ1aUJOO0FBQ0Y7QVVycEJRO0VDcEJSO0lEd0hRO0lBU0E7RVY2aUJOO0FBQ0Y7QVUzcEJRO0VDcEJSO0lEd0hRO0lBU0E7RVZtakJOO0FBQ0Y7QVVqcUJRO0VDcEJSO0lEZ1BRO0VWeWNOO0FBQ0Y7QVV0cUJRO0VDcEJSO0lENlFRO0VWaWJOO0FBQ0Y7QVUzcUJRO0VDcEJSO0lEOFJRO0VWcWFOO0FBQ0Y7O0FZM3NCQTs7K0VBQUE7QUFJQTsrRUFBQTtBQUdBOzs7Ozs7Ozs7RUFBQTtBQVdBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FaMnNCRjs7QVl4c0JBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBWjJzQkY7O0FhM3VCQTs7K0VBQUE7QUFJQTsrRUFBQTtBQUdBO0VBQ0U7RUFDQTtBYjR1QkY7O0FhenVCQTtFQUNFO0VBQ0E7QWI0dUJGOztBYXp1QkE7RUFDRTtFQUNBO0FiNHVCRjs7QWF6dUJBO0VBQ0U7RUFDQTtBYjR1QkY7O0FhenVCQTtFQUNFO0VBQ0E7QWI0dUJGOztBYXp1QkE7RUFDRTtFQUNBO0FiNHVCRjs7QWM5d0JBOzsrRUFBQTtBQUlBOytFQUFBO0FBR0E7RUFDRTtFQUNBO0FkK3dCRjs7QWV4eEJBOzsrRUFBQTtBQUlBOytFQUFBO0FBR0E7RUFDRTtBZnl4QkY7O0FnQmp5QkE7OytFQUFBO0FBSUE7K0VBQUE7QUFHQTtFQUNFO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7QWhCaXlCRjs7QVV2Zk07RUFDRTtFQUNBO0FWMGZSOztBVXZmTTtFQUNFO0VBQ0E7QVYwZlI7O0FVdmZNO0VBQ0U7QVYwZlI7O0FVdmZNO0VBQ0U7QVYwZlI7O0FVemdCTTtFQUNFO0VBQ0E7QVY0Z0JSOztBVXpnQk07RUFDRTtFQUNBO0FWNGdCUjs7QVV6Z0JNO0VBQ0U7QVY0Z0JSOztBVXpnQk07RUFDRTtBVjRnQlI7O0FVM2hCTTtFQUNFO0VBQ0E7QVY4aEJSOztBVTNoQk07RUFDRTtFQUNBO0FWOGhCUjs7QVUzaEJNO0VBQ0U7QVY4aEJSOztBVTNoQk07RUFDRTtBVjhoQlI7O0FVN2lCTTtFQUNFO0VBQ0E7QVZnakJSOztBVTdpQk07RUFDRTtFQUNBO0FWZ2pCUjs7QVU3aUJNO0VBQ0U7QVZnakJSOztBVTdpQk07RUFDRTtBVmdqQlI7O0FVL2pCTTtFQUNFO0VBQ0E7QVZra0JSOztBVS9qQk07RUFDRTtFQUNBO0FWa2tCUjs7QVUvakJNO0VBQ0U7QVZra0JSOztBVS9qQk07RUFDRTtBVmtrQlI7O0FVamxCTTtFQUNFO0VBQ0E7QVZvbEJSOztBVWpsQk07RUFDRTtFQUNBO0FWb2xCUjs7QVVqbEJNO0VBQ0U7QVZvbEJSOztBVWpsQk07RUFDRTtBVm9sQlI7O0FVbm1CTTtFQUNFO0VBQ0E7QVZzbUJSOztBVW5tQk07RUFDRTtFQUNBO0FWc21CUjs7QVVubUJNO0VBQ0U7QVZzbUJSOztBVW5tQk07RUFDRTtBVnNtQlI7O0FVcm5CTTtFQUNFO0VBQ0E7QVZ3bkJSOztBVXJuQk07RUFDRTtFQUNBO0FWd25CUjs7QVVybkJNO0VBQ0U7QVZ3bkJSOztBVXJuQk07RUFDRTtBVnduQlI7O0FVdm9CTTtFQUNFO0VBQ0E7QVYwb0JSOztBVXZvQk07RUFDRTtFQUNBO0FWMG9CUjs7QVV2b0JNO0VBQ0U7QVYwb0JSOztBVXZvQk07RUFDRTtBVjBvQlI7O0FVenBCTTtFQUNFO0VBQ0E7QVY0cEJSOztBVXpwQk07RUFDRTtFQUNBO0FWNHBCUjs7QVV6cEJNO0VBQ0U7QVY0cEJSOztBVXpwQk07RUFDRTtBVjRwQlI7O0FVM3FCTTtFQUNFO0VBQ0E7QVY4cUJSOztBVTNxQk07RUFDRTtFQUNBO0FWOHFCUjs7QVUzcUJNO0VBQ0U7QVY4cUJSOztBVTNxQk07RUFDRTtBVjhxQlI7O0FVN3JCTTtFQUNFO0VBQ0E7QVZnc0JSOztBVTdyQk07RUFDRTtFQUNBO0FWZ3NCUjs7QVU3ckJNO0VBQ0U7QVZnc0JSOztBVTdyQk07RUFDRTtBVmdzQlI7O0FVNTlCVTtFQTZRSjtJQUNFO0lBQ0E7RVZtdEJOO0VVaHRCSTtJQUNFO0lBQ0E7RVZrdEJOO0VVL3NCSTtJQUNFO0VWaXRCTjtFVTlzQkk7SUFDRTtFVmd0Qk47RVUvdEJJO0lBQ0U7SUFDQTtFVml1Qk47RVU5dEJJO0lBQ0U7SUFDQTtFVmd1Qk47RVU3dEJJO0lBQ0U7RVYrdEJOO0VVNXRCSTtJQUNFO0VWOHRCTjtFVTd1Qkk7SUFDRTtJQUNBO0VWK3VCTjtFVTV1Qkk7SUFDRTtJQUNBO0VWOHVCTjtFVTN1Qkk7SUFDRTtFVjZ1Qk47RVUxdUJJO0lBQ0U7RVY0dUJOO0VVM3ZCSTtJQUNFO0lBQ0E7RVY2dkJOO0VVMXZCSTtJQUNFO0lBQ0E7RVY0dkJOO0VVenZCSTtJQUNFO0VWMnZCTjtFVXh2Qkk7SUFDRTtFVjB2Qk47RVV6d0JJO0lBQ0U7SUFDQTtFVjJ3Qk47RVV4d0JJO0lBQ0U7SUFDQTtFVjB3Qk47RVV2d0JJO0lBQ0U7RVZ5d0JOO0VVdHdCSTtJQUNFO0VWd3dCTjtFVXZ4Qkk7SUFDRTtJQUNBO0VWeXhCTjtFVXR4Qkk7SUFDRTtJQUNBO0VWd3hCTjtFVXJ4Qkk7SUFDRTtFVnV4Qk47RVVweEJJO0lBQ0U7RVZzeEJOO0VVcnlCSTtJQUNFO0lBQ0E7RVZ1eUJOO0VVcHlCSTtJQUNFO0lBQ0E7RVZzeUJOO0VVbnlCSTtJQUNFO0VWcXlCTjtFVWx5Qkk7SUFDRTtFVm95Qk47RVVuekJJO0lBQ0U7SUFDQTtFVnF6Qk47RVVsekJJO0lBQ0U7SUFDQTtFVm96Qk47RVVqekJJO0lBQ0U7RVZtekJOO0VVaHpCSTtJQUNFO0VWa3pCTjtFVWowQkk7SUFDRTtJQUNBO0VWbTBCTjtFVWgwQkk7SUFDRTtJQUNBO0VWazBCTjtFVS96Qkk7SUFDRTtFVmkwQk47RVU5ekJJO0lBQ0U7RVZnMEJOO0VVLzBCSTtJQUNFO0lBQ0E7RVZpMUJOO0VVOTBCSTtJQUNFO0lBQ0E7RVZnMUJOO0VVNzBCSTtJQUNFO0VWKzBCTjtFVTUwQkk7SUFDRTtFVjgwQk47RVU3MUJJO0lBQ0U7SUFDQTtFVisxQk47RVU1MUJJO0lBQ0U7SUFDQTtFVjgxQk47RVUzMUJJO0lBQ0U7RVY2MUJOO0VVMTFCSTtJQUNFO0VWNDFCTjtFVTMyQkk7SUFDRTtJQUNBO0VWNjJCTjtFVTEyQkk7SUFDRTtJQUNBO0VWNDJCTjtFVXoyQkk7SUFDRTtFVjIyQk47RVV4MkJJO0lBQ0U7RVYwMkJOO0FBQ0Y7QVV0cENRO0VBNFJGO0lBQ0U7SUFDQTtFVjYzQk47RVUxM0JJO0lBQ0U7SUFDQTtFVjQzQk47RVV6M0JJO0lBQ0U7RVYyM0JOO0VVeDNCSTtJQUNFO0VWMDNCTjtFVXo0Qkk7SUFDRTtJQUNBO0VWMjRCTjtFVXg0Qkk7SUFDRTtJQUNBO0VWMDRCTjtFVXY0Qkk7SUFDRTtFVnk0Qk47RVV0NEJJO0lBQ0U7RVZ3NEJOO0VVdjVCSTtJQUNFO0lBQ0E7RVZ5NUJOO0VVdDVCSTtJQUNFO0lBQ0E7RVZ3NUJOO0VVcjVCSTtJQUNFO0VWdTVCTjtFVXA1Qkk7SUFDRTtFVnM1Qk47RVVyNkJJO0lBQ0U7SUFDQTtFVnU2Qk47RVVwNkJJO0lBQ0U7SUFDQTtFVnM2Qk47RVVuNkJJO0lBQ0U7RVZxNkJOO0VVbDZCSTtJQUNFO0VWbzZCTjtFVW43Qkk7SUFDRTtJQUNBO0VWcTdCTjtFVWw3Qkk7SUFDRTtJQUNBO0VWbzdCTjtFVWo3Qkk7SUFDRTtFVm03Qk47RVVoN0JJO0lBQ0U7RVZrN0JOO0VVajhCSTtJQUNFO0lBQ0E7RVZtOEJOO0VVaDhCSTtJQUNFO0lBQ0E7RVZrOEJOO0VVLzdCSTtJQUNFO0VWaThCTjtFVTk3Qkk7SUFDRTtFVmc4Qk47RVUvOEJJO0lBQ0U7SUFDQTtFVmk5Qk47RVU5OEJJO0lBQ0U7SUFDQTtFVmc5Qk47RVU3OEJJO0lBQ0U7RVYrOEJOO0VVNThCSTtJQUNFO0VWODhCTjtFVTc5Qkk7SUFDRTtJQUNBO0VWKzlCTjtFVTU5Qkk7SUFDRTtJQUNBO0VWODlCTjtFVTM5Qkk7SUFDRTtFVjY5Qk47RVUxOUJJO0lBQ0U7RVY0OUJOO0VVMytCSTtJQUNFO0lBQ0E7RVY2K0JOO0VVMStCSTtJQUNFO0lBQ0E7RVY0K0JOO0VVeitCSTtJQUNFO0VWMitCTjtFVXgrQkk7SUFDRTtFVjArQk47RVV6L0JJO0lBQ0U7SUFDQTtFVjIvQk47RVV4L0JJO0lBQ0U7SUFDQTtFVjAvQk47RVV2L0JJO0lBQ0U7RVZ5L0JOO0VVdC9CSTtJQUNFO0VWdy9CTjtFVXZnQ0k7SUFDRTtJQUNBO0VWeWdDTjtFVXRnQ0k7SUFDRTtJQUNBO0VWd2dDTjtFVXJnQ0k7SUFDRTtFVnVnQ047RVVwZ0NJO0lBQ0U7RVZzZ0NOO0VVcmhDSTtJQUNFO0lBQ0E7RVZ1aENOO0VVcGhDSTtJQUNFO0lBQ0E7RVZzaENOO0VVbmhDSTtJQUNFO0VWcWhDTjtFVWxoQ0k7SUFDRTtFVm9oQ047QUFDRjtBVXJ6Q1U7RUFpUko7SUFDRTtJQUNBO0VWdWlDTjtFVXBpQ0k7SUFDRTtJQUNBO0VWc2lDTjtFVW5pQ0k7SUFDRTtFVnFpQ047RVVsaUNJO0lBQ0U7RVZvaUNOO0VVbmpDSTtJQUNFO0lBQ0E7RVZxakNOO0VVbGpDSTtJQUNFO0lBQ0E7RVZvakNOO0VVampDSTtJQUNFO0VWbWpDTjtFVWhqQ0k7SUFDRTtFVmtqQ047RVVqa0NJO0lBQ0U7SUFDQTtFVm1rQ047RVVoa0NJO0lBQ0U7SUFDQTtFVmtrQ047RVUvakNJO0lBQ0U7RVZpa0NOO0VVOWpDSTtJQUNFO0VWZ2tDTjtFVS9rQ0k7SUFDRTtJQUNBO0VWaWxDTjtFVTlrQ0k7SUFDRTtJQUNBO0VWZ2xDTjtFVTdrQ0k7SUFDRTtFVitrQ047RVU1a0NJO0lBQ0U7RVY4a0NOO0VVN2xDSTtJQUNFO0lBQ0E7RVYrbENOO0VVNWxDSTtJQUNFO0lBQ0E7RVY4bENOO0VVM2xDSTtJQUNFO0VWNmxDTjtFVTFsQ0k7SUFDRTtFVjRsQ047RVUzbUNJO0lBQ0U7SUFDQTtFVjZtQ047RVUxbUNJO0lBQ0U7SUFDQTtFVjRtQ047RVV6bUNJO0lBQ0U7RVYybUNOO0VVeG1DSTtJQUNFO0VWMG1DTjtFVXpuQ0k7SUFDRTtJQUNBO0VWMm5DTjtFVXhuQ0k7SUFDRTtJQUNBO0VWMG5DTjtFVXZuQ0k7SUFDRTtFVnluQ047RVV0bkNJO0lBQ0U7RVZ3bkNOO0VVdm9DSTtJQUNFO0lBQ0E7RVZ5b0NOO0VVdG9DSTtJQUNFO0lBQ0E7RVZ3b0NOO0VVcm9DSTtJQUNFO0VWdW9DTjtFVXBvQ0k7SUFDRTtFVnNvQ047RVVycENJO0lBQ0U7SUFDQTtFVnVwQ047RVVwcENJO0lBQ0U7SUFDQTtFVnNwQ047RVVucENJO0lBQ0U7RVZxcENOO0VVbHBDSTtJQUNFO0VWb3BDTjtFVW5xQ0k7SUFDRTtJQUNBO0VWcXFDTjtFVWxxQ0k7SUFDRTtJQUNBO0VWb3FDTjtFVWpxQ0k7SUFDRTtFVm1xQ047RVVocUNJO0lBQ0U7RVZrcUNOO0VVanJDSTtJQUNFO0lBQ0E7RVZtckNOO0VVaHJDSTtJQUNFO0lBQ0E7RVZrckNOO0VVL3FDSTtJQUNFO0VWaXJDTjtFVTlxQ0k7SUFDRTtFVmdyQ047RVUvckNJO0lBQ0U7SUFDQTtFVmlzQ047RVU5ckNJO0lBQ0U7SUFDQTtFVmdzQ047RVU3ckNJO0lBQ0U7RVYrckNOO0VVNXJDSTtJQUNFO0VWOHJDTjtBQUNGO0FVdCtDUTtFQXdSRjtJQUNFO0lBQ0E7RVZpdENOO0VVOXNDSTtJQUNFO0lBQ0E7RVZndENOO0VVN3NDSTtJQUNFO0VWK3NDTjtFVTVzQ0k7SUFDRTtFVjhzQ047RVU3dENJO0lBQ0U7SUFDQTtFVit0Q047RVU1dENJO0lBQ0U7SUFDQTtFVjh0Q047RVUzdENJO0lBQ0U7RVY2dENOO0VVMXRDSTtJQUNFO0VWNHRDTjtFVTN1Q0k7SUFDRTtJQUNBO0VWNnVDTjtFVTF1Q0k7SUFDRTtJQUNBO0VWNHVDTjtFVXp1Q0k7SUFDRTtFVjJ1Q047RVV4dUNJO0lBQ0U7RVYwdUNOO0VVenZDSTtJQUNFO0lBQ0E7RVYydkNOO0VVeHZDSTtJQUNFO0lBQ0E7RVYwdkNOO0VVdnZDSTtJQUNFO0VWeXZDTjtFVXR2Q0k7SUFDRTtFVnd2Q047RVV2d0NJO0lBQ0U7SUFDQTtFVnl3Q047RVV0d0NJO0lBQ0U7SUFDQTtFVnd3Q047RVVyd0NJO0lBQ0U7RVZ1d0NOO0VVcHdDSTtJQUNFO0VWc3dDTjtFVXJ4Q0k7SUFDRTtJQUNBO0VWdXhDTjtFVXB4Q0k7SUFDRTtJQUNBO0VWc3hDTjtFVW54Q0k7SUFDRTtFVnF4Q047RVVseENJO0lBQ0U7RVZveENOO0VVbnlDSTtJQUNFO0lBQ0E7RVZxeUNOO0VVbHlDSTtJQUNFO0lBQ0E7RVZveUNOO0VVanlDSTtJQUNFO0VWbXlDTjtFVWh5Q0k7SUFDRTtFVmt5Q047RVVqekNJO0lBQ0U7SUFDQTtFVm16Q047RVVoekNJO0lBQ0U7SUFDQTtFVmt6Q047RVUveUNJO0lBQ0U7RVZpekNOO0VVOXlDSTtJQUNFO0VWZ3pDTjtFVS96Q0k7SUFDRTtJQUNBO0VWaTBDTjtFVTl6Q0k7SUFDRTtJQUNBO0VWZzBDTjtFVTd6Q0k7SUFDRTtFVit6Q047RVU1ekNJO0lBQ0U7RVY4ekNOO0VVNzBDSTtJQUNFO0lBQ0E7RVYrMENOO0VVNTBDSTtJQUNFO0lBQ0E7RVY4MENOO0VVMzBDSTtJQUNFO0VWNjBDTjtFVTEwQ0k7SUFDRTtFVjQwQ047RVUzMUNJO0lBQ0U7SUFDQTtFVjYxQ047RVUxMUNJO0lBQ0U7SUFDQTtFVjQxQ047RVV6MUNJO0lBQ0U7RVYyMUNOO0VVeDFDSTtJQUNFO0VWMDFDTjtFVXoyQ0k7SUFDRTtJQUNBO0VWMjJDTjtFVXgyQ0k7SUFDRTtJQUNBO0VWMDJDTjtFVXYyQ0k7SUFDRTtFVnkyQ047RVV0MkNJO0lBQ0U7RVZ3MkNOO0FBQ0Y7QVVwcERRO0VBNFJGO0lBQ0U7SUFDQTtFVjIzQ047RVV4M0NJO0lBQ0U7SUFDQTtFVjAzQ047RVV2M0NJO0lBQ0U7RVZ5M0NOO0VVdDNDSTtJQUNFO0VWdzNDTjtFVXY0Q0k7SUFDRTtJQUNBO0VWeTRDTjtFVXQ0Q0k7SUFDRTtJQUNBO0VWdzRDTjtFVXI0Q0k7SUFDRTtFVnU0Q047RVVwNENJO0lBQ0U7RVZzNENOO0VVcjVDSTtJQUNFO0lBQ0E7RVZ1NUNOO0VVcDVDSTtJQUNFO0lBQ0E7RVZzNUNOO0VVbjVDSTtJQUNFO0VWcTVDTjtFVWw1Q0k7SUFDRTtFVm81Q047RVVuNkNJO0lBQ0U7SUFDQTtFVnE2Q047RVVsNkNJO0lBQ0U7SUFDQTtFVm82Q047RVVqNkNJO0lBQ0U7RVZtNkNOO0VVaDZDSTtJQUNFO0VWazZDTjtFVWo3Q0k7SUFDRTtJQUNBO0VWbTdDTjtFVWg3Q0k7SUFDRTtJQUNBO0VWazdDTjtFVS82Q0k7SUFDRTtFVmk3Q047RVU5NkNJO0lBQ0U7RVZnN0NOO0VVLzdDSTtJQUNFO0lBQ0E7RVZpOENOO0VVOTdDSTtJQUNFO0lBQ0E7RVZnOENOO0VVNzdDSTtJQUNFO0VWKzdDTjtFVTU3Q0k7SUFDRTtFVjg3Q047RVU3OENJO0lBQ0U7SUFDQTtFVis4Q047RVU1OENJO0lBQ0U7SUFDQTtFVjg4Q047RVUzOENJO0lBQ0U7RVY2OENOO0VVMThDSTtJQUNFO0VWNDhDTjtFVTM5Q0k7SUFDRTtJQUNBO0VWNjlDTjtFVTE5Q0k7SUFDRTtJQUNBO0VWNDlDTjtFVXo5Q0k7SUFDRTtFVjI5Q047RVV4OUNJO0lBQ0U7RVYwOUNOO0VVeitDSTtJQUNFO0lBQ0E7RVYyK0NOO0VVeCtDSTtJQUNFO0lBQ0E7RVYwK0NOO0VVditDSTtJQUNFO0VWeStDTjtFVXQrQ0k7SUFDRTtFVncrQ047RVV2L0NJO0lBQ0U7SUFDQTtFVnkvQ047RVV0L0NJO0lBQ0U7SUFDQTtFVncvQ047RVVyL0NJO0lBQ0U7RVZ1L0NOO0VVcC9DSTtJQUNFO0VWcy9DTjtFVXJnREk7SUFDRTtJQUNBO0VWdWdETjtFVXBnREk7SUFDRTtJQUNBO0VWc2dETjtFVW5nREk7SUFDRTtFVnFnRE47RVVsZ0RJO0lBQ0U7RVZvZ0ROO0VVbmhESTtJQUNFO0lBQ0E7RVZxaEROO0VVbGhESTtJQUNFO0lBQ0E7RVZvaEROO0VVamhESTtJQUNFO0VWbWhETjtFVWhoREk7SUFDRTtFVmtoRE47QUFDRjtBZ0JqMERBOytFQUFBO0FBR0E7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBaEJrMERGOztBZ0IvekRBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBaEJrMERGOztBaUJ6MkRBOzsrRUFBQTtBQUlBOytFQUFBO0FBR0E7O0VBQUE7QUFJQTtFQUNFO0FqQnkyREY7O0FpQnQyREE7K0VBQUE7QUFHQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBakJ3MkRGOztBa0JoNERBOzsrRUFBQTtBQ0FBOytFQUFBO0FBR0E7RUFDRTtBbkJxNERGOztBbUJsNERBO0VBQ0U7RUFDQTtFQUNBO0FuQnE0REY7O0FvQi80REE7K0VBQUE7QUFHQTtFQUNFO0FwQmk1REY7O0FvQjc0REE7RUFDRTtBcEJnNURGOztBb0I3NERBO0VBQ0U7QXBCZzVERjs7QW9CNzREQTtFQUNFO0FwQmc1REY7O0FvQjc0REE7RUFDRTtBcEJnNURGOztBb0I3NERBO0VBQ0U7QXBCZzVERjs7QW9CNzREQTtFQUNFO0FwQmc1REY7O0FvQjc0REE7RUFDRTtBcEJnNURGOztBcUJqN0RBO0VBQ0U7RUFDQTtFQUNBO0FyQm83REY7QXFCbDdERTtFQUNFO0VBQ0E7QXJCbzdESjtBcUJqN0RFO0VBQ0U7QXJCbTdESjtBcUJoN0RFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QXJCazdESjtBcUIvNkRFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QXJCaTdESjtBcUI3NkRFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QXJCKzZESjtBcUI3NkRJO0VBQ0U7RUFDQTtBckIrNkROOztBc0JwOURBOzsrRUFBQTtBQUlBOytFQUFBO0FBR0E7K0VBQUE7QUFJQTtFQUNFO0VBQ0E7QXRCbTlERjs7QXNCaDlEQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0F0Qm05REY7O0F1QnYrREE7OytFQUFBO0FBSUE7K0VBQUE7QUFHQTsrRUFBQTtBQUdBOztFQUVFO0VBQ0E7QXZCdStERjs7QXVCcCtEQTs7RUFFRTtFQUNBO0F2QnUrREY7O0F1QnArREE7O0VBRUU7RUFDQTtBdkJ1K0RGOztBdUJwK0RBOztFQUVFO0VBQ0E7QXZCdStERjs7QXVCcCtEQTtFQUNFO0VBQ0E7QXZCdStERjtBdUJyK0RFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F2QnUrREo7O0F3QnRoRUE7OytFQUFBO0FBSUE7K0VBQUE7QUFHQTsrRUFBQTtBQUdBO0VBQ0U7RUFDQTtFQUNBO0F4QnNoRUY7QVVwZ0VRO0VjZko7SUFDRTtFeEJzaEVKO0FBQ0Y7O0F3QmxoRUE7QUFDQTtFQUNJO0VBQ0E7RUFDQTtBeEJxaEVKOztBd0JsaEVBO0VBQ0k7RUFDQTtFQUNBO0F4QnFoRUo7O0F5QnJqRUE7OytFQUFBO0FBSUE7K0VBQUE7QUFJQTsrRUFBQTtBQUVBO0VBQ0U7QXpCcWpFRjs7QTBCaGtFQTsrRUFBQTtBQUdBOytFQUFBO0FBRUE7RUFDRTtFQUVBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7QTFCZ2tFRjs7QTBCM2pFQTsrRUFBQTtBQUdBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QTFCNmpFRjs7QTBCMWpFQTtFQUNFO0ExQjZqRUY7O0EwQjFqRUE7RUFDRTtFQUNBO0ExQjZqRUY7O0EwQjFqRUE7RUFDRTtFQUNBO0VBQ0E7QTFCNmpFRjs7QTBCMWpFQTtFQUNFO0VBQ0E7QTFCNmpFRjs7QTBCMWpFQTtFQUNFO0VBQ0E7QTFCNmpFRjs7QTBCMWpFQTtFQUNFO0VBQ0E7QTFCNmpFRjs7QTBCMWpFQTtFQUNFO0VBQ0E7QTFCNmpFRjs7QTBCMWpFQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTFCNmpFRjs7QVV0bUVRO0VnQjhDSjtJQUNFO0UxQjRqRUo7RTBCMWpFRTtJQUNFO0UxQjRqRUo7RTBCMWpFRTtJQUNFO0UxQjRqRUo7QUFDRjs7QTBCeGpFQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0ExQjJqRUY7O0FVMW1FVTtFZ0JzRE47SUFDRTtFMUJ3akVKO0UwQnJqRUU7SUFDRTtFMUJ1akVKO0UwQnBqRUU7SUFDRTtFMUJzakVKO0FBQ0Y7QVVyb0VRO0VnQmlFUjtJQWtCSTtJQUNBO0UxQnNqRUY7RTBCcGpFRTtJQUNFO0lBQ0E7RTFCc2pFSjtFMEJuakVFO0lBQ0U7SUFDQTtJQUNBO0UxQnFqRUo7QUFDRjtBVXBwRVE7RWdCaUVSO0lBa0NJO0UxQnFqRUY7RTBCbmpFRTtJQUNFO0UxQnFqRUo7RTBCbGpFRTtJQUNFO0UxQm9qRUo7QUFDRjs7QVUvcEVRO0VnQitHUjtJQUVJO0UxQm1qRUY7QUFDRjs7QTJCaHNFQTs7K0VBQUE7QUFJQTsrRUFBQTtBQUlFO0VBQ0U7QTNCZ3NFSjs7QTJCNXJFQTtFQUNJO0EzQityRUo7QTJCN3JFRTtFQUdFO0EzQjZyRUo7O0EyQnhyRUE7K0VBQUE7QUFHQTtFQUNFO0VBQ0E7QTNCMHJFRjs7QTJCdnJFQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTNCMHJFRjs7QTJCdnJFQTtFQUNFO0EzQjByRUY7QTJCeHJFRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0EzQjByRUo7O0EyQnRyRUE7RUFDRTtFQUNBO0VBQ0E7QTNCeXJFRjs7QTRCL3VFQTsrRUFBQTtBQUVBO0VBQ0U7RUFDQTtBNUJrdkVGOztBNEIvdUVBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBNUJrdkVGOztBNEIvdUVBO0VBQ0U7SUFDRTtJQUNBO0U1Qmt2RUY7QUFDRjtBNEIvdUVBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTVCaXZFRjs7QTRCN3VFQTtFQUNFO0E1Qmd2RUY7QTRCOXVFRTs7RUFFRTtFQUNBO0E1Qmd2RUo7QTRCOXVFRTtFQUNFO0E1Qmd2RUo7O0E0QjV1RUE7RUFDRTtFQUNBO0E1Qit1RUY7O0E0Qjd1RUE7RUFDRTtBNUJndkVGOztBNEIzdUVFO0VBQ0U7QTVCOHVFSjtBNEI1dUVFOztFQUVFO0VBQ0E7QTVCOHVFSjtBNEI1dUVFO0VBQ0U7RUFDQTtBNUI4dUVKOztBVTN4RVE7RWtCa0ROO0lBQ0U7RTVCNnVFRjtBQUNGO0E2QjV6RUE7OytFQUFBO0FBSUE7K0VBQUE7QUFHQTtFQUNFO0VBRUE7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7QTdCeXpFRjs7QTZCdHpFQTtFQUNFO0VBQ0E7RUFFQTtFQUVBO0VBQ0E7QTdCdXpFRjs7QTZCcHpFQTtFQUNFO0VBQ0E7RUFFQTtFQUVBO0VBQ0E7QTdCcXpFRjs7QTZCbHpFQTtFQUNFO0VBQ0E7RUFFQTtFQUVBO0VBQ0E7QTdCbXpFRjs7QTZCaHpFQTsrRUFBQTtBQUdBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E3Qmt6RUY7QTZCaHpFRTtFQUdFO0VBQ0E7QTdCZ3pFSjs7QTZCNXlFQTtFQUNFO0E3Qit5RUY7O0E4QnozRUE7OytFQUFBO0FBSUE7K0VBQUE7QUFHQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBOUIwM0VGO0E4QngzRUU7RUFFRTtFQUNBO0E5QnkzRUo7QThCdDNFRTtFQUVFO0E5QnUzRUo7O0E4Qm4zRUE7RUFDRTtBOUJzM0VGO0E4QnAzRUU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E5QnMzRUo7O0E4QmwzRUE7O0VBQUE7QUFJQTtFQUNFO0E5Qm8zRUY7O0E4QmozRUE7O0VBQUE7QUFJQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTlCbTNFRjs7QThCaDNFQTs7RUFBQTtBQUlBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBOUJrM0VGOztBOEIvMkVBOztFQUFBO0FBSUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTlCaTNFRjtBOEIvMkVFO0VBQ0U7RUFDQTtBOUJpM0VKO0E4QjkyRUU7RUFDRTtBOUJnM0VKOztBOEI1MkVBOytFQUFBO0FBR0E7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQVVBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E5QnEyRUY7QThCbjJFRTtFQUNFO0E5QnEyRUo7O0E4QmoyRUE7RUFDRTtBOUJvMkVGO0E4QmwyRUU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTlCbzJFSjtBOEJqMkVFO0VBQ0U7QTlCbTJFSjs7QStCcC9FQTs7K0VBQUE7QUFJQTsrRUFBQTtBQUdBO0VBQ0U7RUFDQTtFQUNBO0EvQnEvRUY7QVVwK0VRO0VxQnBCUjtJQU1JO0UvQnMvRUY7QUFDRjtBK0JyL0VFO0VBQ0U7QS9CdS9FSjs7QStCbi9FQTtFQUNFO0EvQnMvRUY7O0ErQnAvRUE7K0VBQUE7QUFHQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QS9Ccy9FRjs7QStCbi9FQTtFQUNFO0EvQnMvRUY7QStCcC9FRTtFQUdFO0EvQm8vRUo7O0FnQy9oRkE7OytFQUFBO0FBSUE7K0VBQUE7QUFJQTtFQUNFO0FoQytoRkY7O0FnQzVoRkE7RUFDRTtFQUNBO0VBRUE7RUFDQTtBaEM4aEZGO0FVcGhGUTtFc0JmUjtJQVFJO0lBQ0E7RWhDK2hGRjtBQUNGOztBZ0M1aEZBOytFQUFBO0FBRUE7RUFDRTtBaEMraEZGOztBZ0M1aEZBOztFQUVFO0VBQ0E7QWhDK2hGRjs7QWdDNWhGQTtFQUNFO0FoQytoRkY7QWdDN2hGRTtFQUdFO0FoQzZoRko7O0FnQ3poRkE7RUFDRTtFQUNBO0VBQ0E7QWhDNGhGRjs7QWdDemhGQTtFQUNFO0FoQzRoRkY7O0FVbmpGUTtFc0IwQlI7SUFFSTtFaEM0aEZGO0FBQ0Y7O0FnQ3poRkE7RUFDRTtFQUNBO0FoQzRoRkY7QVU5akZRO0VzQmdDUjtJQUtJO0lBQ0E7RWhDNmhGRjtBQUNGO0FVeGtGUTtFc0JvQ1I7SUFTSTtJQUNBO0lBQ0E7RWhDK2hGRjtBQUNGOztBZ0M1aEZBO0VBQ0U7QWhDK2hGRjtBVS9rRlE7RXNCK0NSO0lBR0k7SUFDQTtFaENpaUZGO0FBQ0Y7O0FVemxGUTtFc0IyRFI7SUFFSTtJQUNBO0lBQ0E7RWhDaWlGRjtBQUNGOztBVWptRlE7RXNCbUVSO0lBRUk7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFaENpaUZGO0FBQ0Y7O0FnQzloRkE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBaENpaUZGOztBZ0M5aEZBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QWhDaWlGRjtBVXpuRlE7RXNCb0ZSO0lBT0k7RWhDa2lGRjtBQUNGOztBVTFuRlE7RXNCNkZOO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7RWhDaWlGRjtFZ0MxaEZFO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFaEM0aEZKO0VnQ3poRkU7SUFDRTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFaEMyaEZKO0FBQ0Y7QWlDcnJGQTs7K0VBQUE7QUFJQTsrRUFBQTtBQUdBO0VBQ0U7QWpDcXJGRjs7QWlDbHJGQTtFQUNFO0FqQ3FyRkY7O0FpQ2xyRkE7RUFDRTtBakNxckZGOztBaUNsckZBO0VBQ0U7QWpDcXJGRjs7QWlDbHJGQTsrRUFBQTtBQUdBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QWpDb3JGRjs7QWlDanJGQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBakNvckZGOztBa0MzdEZBOzsrRUFBQTtBQUlBOytFQUFBO0FBSUU7RUFHRTtBbEN5dEZKOztBa0NydEZBO0VBQ0U7QWxDd3RGRjtBa0N0dEZFO0VBSUU7QWxDcXRGSjs7QWtDM3NGSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWxDOHNGTjs7QWtDenNGQTsrRUFBQTtBQUdBO0VBQ0U7RUFDQTtFQUNBO0FsQzJzRkY7QWtDenNGRTtFQUlFO0FsQ3dzRko7O0FtQ2p3RkE7K0VBQUE7QUFHQTsrRUFBQTtBQUVBO0VBQ0U7RUFFQTtFQUNBO0VBQ0E7RUFHQTtFQUNBO0FuQ2d3RkY7O0FtQzV2RkE7K0VBQUE7QUFHQTtFQUNFO0VBQ0E7RUFDQTtBbkM4dkZGOztBbUMzdkZBO0VBQ0U7RUFDQTtFQUNBO0FuQzh2RkY7QW1DNXZGRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0FuQzh2Rko7QW1DM3ZGRTtFQUNFO0FuQzZ2Rko7O0FtQ3h2RkU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBbkMydkZKOztBb0M1eUZBOzsrRUFBQTtBQUlBO0VBQ0U7QXBDOHlGRjtBVXB4RlE7RTBCM0JSO0lBSUk7RXBDK3lGRjtBQUNGOztBcUN4ekZBOzsrRUFBQTtBQUlBOytFQUFBO0FBSUE7K0VBQUE7QUFFQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0FyQ3d6RkY7O0FzQ3QwRkE7OytFQUFBO0FBSUE7K0VBQUE7QUFFQTtFQUNFO0VBQ0E7RUFDQTtFQUVBO0F0Q3UwRkY7QVV2ekZRO0U0QnJCUjtJQVFJO0V0Q3cwRkY7QUFDRjs7QXNDcjBGQTsrRUFBQTtBQUlBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QXRDczBGRjtBVXIwRlE7RTRCTFI7SUFPSTtJQUNBO0lBQ0E7SUFDQTtFdEN1MEZGO0FBQ0Y7O0FVNzBGUTtFNEJTUjtJQUVJO0lBQ0E7SUFDQTtJQUNBO0V0Q3UwRkY7QUFDRjs7QXNDcDBGQTs7O0VBR0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F0Q3UwRkY7QWtCdDJGRTs7Ozs7OztFb0JrQ0U7QXRDNjBGSjs7QXNDejBGQTtFQUNFO0VBQ0E7RUFDQTtBdEM0MEZGO0FVaDNGUTtFNEJpQ1I7SUFNSTtFdEM2MEZGO0VzQzMwRkU7SUFDRTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0V0QzYwRko7QUFDRjtBc0N4MEZJO0VBQ0U7RUFDQTtBdEMwMEZOO0FzQ3QwRkU7RUFDRTtBdEN3MEZKO0FzQ3QwRkk7RUFDRTtFQUNBO0F0Q3cwRk47O0FVejRGUTtFNEJ1RU47O0lBRUU7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RXRDczBGRjtFc0NwMEZFOztJQUNFO0V0Q3UwRko7RXNDbjBGQTtJQUNFO0V0Q3EwRkY7RXNDbDBGQTtJQUNFO0V0Q28wRkY7RXNDajBGQTs7O0lBR0U7RXRDbTBGRjtFc0NoMEZBO0lBQ0U7SUFDQTtFdENrMEZGO0VzQ2gwRkU7SUFDRTtFdENrMEZKO0VzQy96RkU7SUFDRTtFdENpMEZKO0VzQzd6RkE7SUFDRTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0V0Qyt6RkY7RXNDNXpGRTtJQUNFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0V0Qzh6Rko7RXNDMXpGQTtJQUNFO0lBQ0E7RXRDNHpGRjtFc0MxekZFO0lBQ0U7SUFDQTtJQUNBO0V0QzR6Rko7QUFDRjtBVWw5RlE7RTRCOEpOO0lBQ0U7RXRDdXpGRjtFc0NyekZFO0lBQ0U7RXRDdXpGSjtFc0NwekZFO0lBQ0U7RXRDc3pGSjtFc0NsekZBO0lBQ0U7RXRDb3pGRjtFc0NsekZFO0lBQ0U7RXRDb3pGSjtFc0NoekZBO0lBQ0U7SUFDQTtJQUNBO0V0Q2t6RkY7RXNDL3lGRTtJQUNFO0lBQ0E7SUFDQTtFdENpekZKO0VzQy95Rkk7SUFDRTtFdENpekZOO0VzQzV5RkE7SUFDRTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBRUE7SUFFQTtJQUNBO0lBQ0E7RXRDNHlGRjtFc0MxeUZFO0lBQ0U7SUFDQTtJQUNBO0V0QzR5Rko7RXNDeHlGQTtJQUNFO0lBQ0E7SUFDQTtJQUNBO0V0QzB5RkY7RXNDdHlGQTs7SUFFRTtFdEN3eUZGO0VzQ3B5RkE7SUFDRTtFdENzeUZGO0FBQ0Y7QXVDM2lHQTs7K0VBQUE7QUFJQTsrRUFBQTtBQUlBOytFQUFBO0FBR0E7RUFDRTtFQUNBO0VBQ0E7QXZDeWlHRjs7QXVDcGlHQTs7RUFBQTtBQUlBO0VBQ0U7RUFDQTtFQUNBO0F2Q3NpR0Y7O0F3Q2hrR0E7OytFQUFBO0FBSUE7K0VBQUE7QUFJQTsrRUFBQTtBQUdBO0VBQ0U7RUFDQTtBeEMrakdGOztBd0MxakdBOztFQUFBO0FDbEJBOzsrRUFBQTtBQUlBO0VBQ0U7RUFDQTtFQUNBO0F6Q2lsR0Y7QXlDL2tHRTtFQUNFO0VBQ0E7QXpDaWxHSjs7QTBDNWxHQTs7K0VBQUE7QUFJQTsrRUFBQTtBQUVBO0VBQ0U7RUFDQTtBMUM4bEdGOztBMENybEdBOytFQUFBO0FoQ2NRO0VnQ1ROO0lBQ0U7SUFDQTtFMUNzbEdGO0UwQ3BsR0U7SUFDRTtFMUNzbEdKO0UwQ2xsR0E7SUFDRTtFMUNvbEdGO0UwQ2psR0E7SUFDRTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0UxQ21sR0Y7RTBDL2tHRTtJQUNFO0UxQ2lsR0o7RTBDNWtHQTtJQUNFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RTFDOGtHRjtFMEM1a0dFO0lBQ0U7RTFDOGtHSjtFMEMza0dFO0lBQ0U7RTFDNmtHSjtFMEMxa0dFO0lBQ0U7RTFDNGtHSjtFMEN0a0dFO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFMUN3a0dKO0UwQ3RrR0k7SUFDRTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFMUN3a0dOO0FBQ0Y7QVV0cEdRO0VnQ3NGTjtJQUNFO0UxQ21rR0Y7RTBDaGtHQTtJQUNFO0lBQ0E7SUFDQTtFMUNra0dGO0UwQy9qR0E7SUFDRTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0UxQ2lrR0Y7RTBDOWpHQTtJQUNFO0UxQ2drR0Y7RTBDNWpHQTtJQUNFO0lBQ0E7RTFDOGpHRjtFMEM1akdFO0lBQ0U7SUFDQTtFMUM4akdKO0UwQzNqR0k7SUFFRTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFMUM0akdOO0UwQ3pqR0k7SUFDRTtFMUMyakdOO0UwQ3ZqR0U7SUFDRTtJQUNBO0lBQ0E7SUFDQTtFMUN5akdKO0UwQ3RqR0k7SUFDRTtFMUN3akdOO0UwQ2xqR0E7SUFDRTtJQUNBO0lBQ0E7RTFDb2pHRjtFMENsakdFO0lBQ0U7SUFDQTtFMUNvakdKO0UwQ2pqR0U7SUFDRTtFMUNtakdKO0UwQ2pqR0k7SUFDRTtFMUNtakdOO0UwQy9pR0U7SUFDRTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RTFDaWpHSjtFMEM5aUdFO0lBQ0U7RTFDZ2pHSjtFMEM5aUdJO0lBQ0U7RTFDZ2pHTjtFMEM1aUdFO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7RTFDOGlHSjtFMEM1aUdJO0lBQ0U7RTFDOGlHTjtFMEN4aUdBO0lBQ0U7SUFDQTtFMUMwaUdGO0UwQ3ZpR0E7SUFDRTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RTFDeWlHRjtBQUNGO0EyQ3B4R0E7OytFQUFBO0FBSUE7K0VBQUE7QUFJQTsrRUFBQTtBQUVBO0VBQ0U7RUFDQTtBM0NteEdGOztBNEMveEdBOytFQUFBO0FBR0E7RUFDRTtFQUNBO0VBRUE7RUFHQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTVDOHhHRjs7QTRDMXhHQTtFQUNFO0VBQ0E7RUFDQTtBNUM2eEdGOztBNEN6eEdFOztFQUVFO0E1QzR4R0o7QTRDeHhHRTtFQUNFO0VBQ0E7RUFDQTtBNUMweEdKOztBNEN0eEdBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBNUN5eEdGOztBNEN0eEdBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QTVDeXhHRjtBNEN2eEdFO0VBQ0U7RUFDQTtFQUNBO0E1Q3l4R0o7O0E0Q3J4R0E7RUFDRTtFQUNBO0E1Q3d4R0Y7O0E0Q3J4R0E7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E1Q3d4R0Y7QTRDdHhHRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E1Q3d4R0o7QTRDcnhHRTtFQUNFO0E1Q3V4R0o7QTRDcHhHRTtFQUNFO0E1Q3N4R0o7O0E0Q2x4R0E7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBNUNxeEdGOztBNENseEdBO0VBQ0U7RUFDQTtBNUNxeEdGOztBNkNyNEdBOzsrRUFBQTtBQUlBOytFQUFBO0FBSUE7RUFDSTtFQUNBO0E3Q3E0R0o7QVVwM0dRO0VtQ25CUjtJQUtRO0lBQ0E7RTdDczRHTjtBQUNGOztBNkNuNEdBO0VBQ0k7RUFDQTtBN0NzNEdKOztBNkNuNEdBO0VBQ0k7QTdDczRHSjs7QTZDbjRHQTsrRUFBQTtBQUlBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTdDbzRHSjs7QTZDajRHQTtFQUNJO0E3Q280R0o7O0E4Qzk2R0E7OytFQUFBO0FBSUE7K0VBQUE7QXBDMmhDTTtFQUNFO0FWdTVFUjs7QVV4NUVNO0VBQ0U7QVYyNUVSOztBVTU1RU07RUFDRTtBVis1RVI7O0FVaDZFTTtFQUNFO0FWbTZFUjs7QVVwNkVNO0VBQ0U7QVZ1NkVSOztBVXg2RU07RUFDRTtBVjI2RVI7O0FVNTZFTTtFQUNFO0FWKzZFUjs7QVVoN0VNO0VBQ0U7QVZtN0VSOztBVXA3RU07RUFDRTtBVnU3RVI7O0FVeDdFTTtFQUNFO0FWMjdFUjs7QVU5NUVNO0VBQ0U7QVZpNkVSOztBVWw2RU07RUFDRTtBVnE2RVI7O0FVdDZFTTtFQUNFO0FWeTZFUjs7QVUxNkVNO0VBQ0U7QVY2NkVSOztBVTk2RU07RUFDRTtBVmk3RVI7O0FVbDdFTTtFQUNFO0FWcTdFUjs7QVV0N0VNO0VBQ0U7QVZ5N0VSOztBVTE3RU07RUFDRTtBVjY3RVI7O0FVOTdFTTtFQUNFO0FWaThFUjs7QVVsOEVNO0VBQ0U7QVZxOEVSOztBK0NuZ0hBOzsrRUFBQTtBQUlBOytFQUFBO0FyQ2sxQ0U7RUFDRTtBVnFyRUo7O0FVbHJFRTtFQUNFO0FWcXJFSjs7QWdEaGhIQTs7K0VBQUE7QUFJQTsrRUFBQTtBdEN5WUU7RUFDRTtBVjJvR0o7O0FVeG9HRTtFQUNFO0FWMm9HSjs7QVV4b0dFO0VBQ0U7QVYyb0dKOztBVXhvR0U7RUFDRTtBVjJvR0o7O0FVeG9HRTtFQUNFO0FWMm9HSjs7QVV4b0dFO0VBQ0U7QVYyb0dKOztBVXhvR0U7RUFDRTtBVjJvR0o7O0FVeG9HRTtFQUNFO0FWMm9HSjs7QVV4b0dFO0VBQ0U7QVYyb0dKOztBVXhvR0U7RUFDRTtBVjJvR0o7O0FVeG9HRTtFQUNFO0FWMm9HSjs7QVV4b0dFO0VBQ0U7QVYyb0dKOztBVTNoSFU7RUFtV1I7SUFDRTtFVjRyR0Y7RVV6ckdBO0lBQ0U7RVYyckdGO0VVeHJHQTtJQUNFO0VWMHJHRjtFVXZyR0E7SUFDRTtFVnlyR0Y7RVV0ckdBO0lBQ0U7RVZ3ckdGO0VVcnJHQTtJQUNFO0VWdXJHRjtFVXByR0E7SUFDRTtFVnNyR0Y7RVVuckdBO0lBQ0U7RVZxckdGO0VVbHJHQTtJQUNFO0VWb3JHRjtFVWpyR0E7SUFDRTtFVm1yR0Y7RVVockdBO0lBQ0U7RVZrckdGO0VVL3FHQTtJQUNFO0VWaXJHRjtBQUNGO0FVamxIUTtFQWtYTjtJQUNFO0VWa3VHRjtFVS90R0E7SUFDRTtFVml1R0Y7RVU5dEdBO0lBQ0U7RVZndUdGO0VVN3RHQTtJQUNFO0VWK3RHRjtFVTV0R0E7SUFDRTtFVjh0R0Y7RVUzdEdBO0lBQ0U7RVY2dEdGO0VVMXRHQTtJQUNFO0VWNHRHRjtFVXp0R0E7SUFDRTtFVjJ0R0Y7RVV4dEdBO0lBQ0U7RVYwdEdGO0VVdnRHQTtJQUNFO0VWeXRHRjtFVXR0R0E7SUFDRTtFVnd0R0Y7RVVydEdBO0lBQ0U7RVZ1dEdGO0FBQ0Y7QVU1bUhVO0VBdVdSO0lBQ0U7RVZ3d0dGO0VVcndHQTtJQUNFO0VWdXdHRjtFVXB3R0E7SUFDRTtFVnN3R0Y7RVVud0dBO0lBQ0U7RVZxd0dGO0VVbHdHQTtJQUNFO0VWb3dHRjtFVWp3R0E7SUFDRTtFVm13R0Y7RVVod0dBO0lBQ0U7RVZrd0dGO0VVL3ZHQTtJQUNFO0VWaXdHRjtFVTl2R0E7SUFDRTtFVmd3R0Y7RVU3dkdBO0lBQ0U7RVYrdkdGO0VVNXZHQTtJQUNFO0VWOHZHRjtFVTN2R0E7SUFDRTtFVjZ2R0Y7QUFDRjtBVXpwSFE7RUE4V047SUFDRTtFVjh5R0Y7RVUzeUdBO0lBQ0U7RVY2eUdGO0VVMXlHQTtJQUNFO0VWNHlHRjtFVXp5R0E7SUFDRTtFVjJ5R0Y7RVV4eUdBO0lBQ0U7RVYweUdGO0VVdnlHQTtJQUNFO0VWeXlHRjtFVXR5R0E7SUFDRTtFVnd5R0Y7RVVyeUdBO0lBQ0U7RVZ1eUdGO0VVcHlHQTtJQUNFO0VWc3lHRjtFVW55R0E7SUFDRTtFVnF5R0Y7RVVseUdBO0lBQ0U7RVZveUdGO0VVanlHQTtJQUNFO0VWbXlHRjtBQUNGO0FVbnNIUTtFQWtYTjtJQUNFO0VWbzFHRjtFVWoxR0E7SUFDRTtFVm0xR0Y7RVVoMUdBO0lBQ0U7RVZrMUdGO0VVLzBHQTtJQUNFO0VWaTFHRjtFVTkwR0E7SUFDRTtFVmcxR0Y7RVU3MEdBO0lBQ0U7RVYrMEdGO0VVNTBHQTtJQUNFO0VWODBHRjtFVTMwR0E7SUFDRTtFVjYwR0Y7RVUxMEdBO0lBQ0U7RVY0MEdGO0VVejBHQTtJQUNFO0VWMjBHRjtFVXgwR0E7SUFDRTtFVjAwR0Y7RVV2MEdBO0lBQ0U7RVZ5MEdGO0FBQ0Y7QWlEcHdIQTs7K0VBQUE7QUFJQTsrRUFBQTtBdkM4Y0U7RUFDRTtBVnl6R0o7O0FVdHpHRTtFQUNFO0FWeXpHSjs7QVV0ekdFO0VBQ0U7QVZ5ekdKOztBVXR6R0U7RUFDRTtBVnl6R0o7O0FVdHpHRTtFQUNFO0FWeXpHSjs7QVV0ekdFO0VBQ0U7QVZ5ekdKOztBVXR6R0U7RUFDRTtFQUNBO0FWeXpHSjs7QVV0ekdFO0VBQ0U7QVZ5ekdKOztBVXR6R0U7RUFDRTtBVnl6R0o7O0FVdHpHRTtFQUNFO0FWeXpHSjs7QVV0ekdFO0VBQ0U7QVZ5ekdKOztBVXR6R0U7RUFDRTtBVnl6R0o7O0FVdHpHRTtFQUNFO0FWeXpHSjs7QVV0ekdFO0VBQ0U7QVZ5ekdKOztBVXR6R0U7RUFDRTtBVnl6R0o7O0FVdHpHRTtFQUNFO0FWeXpHSjs7QVV0ekdFO0VBQ0U7QVZ5ekdKOztBVXR6R0U7RUFDRTtBVnl6R0o7O0FVdHpHRTtFQUNFO0FWeXpHSjs7QVV0ekdFO0VBQ0U7QVZ5ekdKOztBVXR6R0U7RUFDRTtBVnl6R0o7O0FVdHpHRTtFQUNFO0FWeXpHSjs7QVV0ekdFO0VBQ0U7QVZ5ekdKOztBVXR6R0U7RUFDRTtBVnl6R0o7O0FVdHpHRTtFQUNFO0FWeXpHSjs7QVV0ekdFO0VBQ0U7QVZ5ekdKOztBVXR6R0U7RUFDRTtBVnl6R0o7O0FVdHpHRTtFQUNFO0FWeXpHSjs7QVV0ekdFO0VBQ0U7QVZ5ekdKOztBVXR6R0U7RUFDRTtBVnl6R0o7O0FVdHpHRTtFQUNFO0FWeXpHSjs7QVV0ekdFO0VBQ0U7QVZ5ekdKOztBVXR6R0U7RUFDRTtBVnl6R0o7O0FVdHpHRTtFQUNFO0FWeXpHSjs7QVV0ekdFO0VBQ0U7QVZ5ekdKOztBVXR6R0U7RUFDRTtBVnl6R0o7O0FVdHpHRTtFQUNFO0FWeXpHSjs7QVV0ekdFO0VBQ0U7QVZ5ekdKOztBVXR6R0U7RUFDRTtBVnl6R0o7O0FVdHpHRTtFQUNFO0FWeXpHSjs7QVV0ekdFO0VBQ0U7QVZ5ekdKOztBVXR6R0U7RUFDRTtBVnl6R0o7O0FVdHpHRTtFQUNFO0FWeXpHSjs7QVUzNEhVO0VBd2FSO0lBQ0U7RVZ1K0dGO0VVcCtHQTtJQUNFO0VWcytHRjtFVW4rR0E7SUFDRTtFVnErR0Y7RVVsK0dBO0lBQ0U7RVZvK0dGO0VVaitHQTtJQUNFO0VWbStHRjtFVWgrR0E7SUFDRTtFVmsrR0Y7RVUvOUdBO0lBQ0U7SUFDQTtFVmkrR0Y7RVU5OUdBO0lBQ0U7RVZnK0dGO0VVNzlHQTtJQUNFO0VWKzlHRjtFVTU5R0E7SUFDRTtFVjg5R0Y7RVUzOUdBO0lBQ0U7RVY2OUdGO0VVMTlHQTtJQUNFO0VWNDlHRjtFVXo5R0E7SUFDRTtFVjI5R0Y7RVV4OUdBO0lBQ0U7RVYwOUdGO0VVdjlHQTtJQUNFO0VWeTlHRjtFVXQ5R0E7SUFDRTtFVnc5R0Y7RVVyOUdBO0lBQ0U7RVZ1OUdGO0VVcDlHQTtJQUNFO0VWczlHRjtFVW45R0E7SUFDRTtFVnE5R0Y7RVVsOUdBO0lBQ0U7RVZvOUdGO0VVajlHQTtJQUNFO0VWbTlHRjtFVWg5R0E7SUFDRTtFVms5R0Y7RVUvOEdBO0lBQ0U7RVZpOUdGO0VVOThHQTtJQUNFO0VWZzlHRjtFVTc4R0E7SUFDRTtFVis4R0Y7RVU1OEdBO0lBQ0U7RVY4OEdGO0VVMzhHQTtJQUNFO0VWNjhHRjtFVTE4R0E7SUFDRTtFVjQ4R0Y7RVV6OEdBO0lBQ0U7RVYyOEdGO0VVeDhHQTtJQUNFO0VWMDhHRjtFVXY4R0E7SUFDRTtFVnk4R0Y7RVV0OEdBO0lBQ0U7RVZ3OEdGO0VVcjhHQTtJQUNFO0VWdThHRjtFVXA4R0E7SUFDRTtFVnM4R0Y7RVVuOEdBO0lBQ0U7RVZxOEdGO0VVbDhHQTtJQUNFO0VWbzhHRjtFVWo4R0E7SUFDRTtFVm04R0Y7RVVoOEdBO0lBQ0U7RVZrOEdGO0VVLzdHQTtJQUNFO0VWaThHRjtFVTk3R0E7SUFDRTtFVmc4R0Y7RVU3N0dBO0lBQ0U7RVYrN0dGO0VVNTdHQTtJQUNFO0VWODdHRjtFVTM3R0E7SUFDRTtFVjY3R0Y7QUFDRjtBVS9oSVE7RUF1Yk47SUFDRTtFVjJtSEY7RVV4bUhBO0lBQ0U7RVYwbUhGO0VVdm1IQTtJQUNFO0VWeW1IRjtFVXRtSEE7SUFDRTtFVndtSEY7RVVybUhBO0lBQ0U7RVZ1bUhGO0VVcG1IQTtJQUNFO0VWc21IRjtFVW5tSEE7SUFDRTtJQUNBO0VWcW1IRjtFVWxtSEE7SUFDRTtFVm9tSEY7RVVqbUhBO0lBQ0U7RVZtbUhGO0VVaG1IQTtJQUNFO0VWa21IRjtFVS9sSEE7SUFDRTtFVmltSEY7RVU5bEhBO0lBQ0U7RVZnbUhGO0VVN2xIQTtJQUNFO0VWK2xIRjtFVTVsSEE7SUFDRTtFVjhsSEY7RVUzbEhBO0lBQ0U7RVY2bEhGO0VVMWxIQTtJQUNFO0VWNGxIRjtFVXpsSEE7SUFDRTtFVjJsSEY7RVV4bEhBO0lBQ0U7RVYwbEhGO0VVdmxIQTtJQUNFO0VWeWxIRjtFVXRsSEE7SUFDRTtFVndsSEY7RVVybEhBO0lBQ0U7RVZ1bEhGO0VVcGxIQTtJQUNFO0VWc2xIRjtFVW5sSEE7SUFDRTtFVnFsSEY7RVVsbEhBO0lBQ0U7RVZvbEhGO0VVamxIQTtJQUNFO0VWbWxIRjtFVWhsSEE7SUFDRTtFVmtsSEY7RVUva0hBO0lBQ0U7RVZpbEhGO0VVOWtIQTtJQUNFO0VWZ2xIRjtFVTdrSEE7SUFDRTtFVitrSEY7RVU1a0hBO0lBQ0U7RVY4a0hGO0VVM2tIQTtJQUNFO0VWNmtIRjtFVTFrSEE7SUFDRTtFVjRrSEY7RVV6a0hBO0lBQ0U7RVYya0hGO0VVeGtIQTtJQUNFO0VWMGtIRjtFVXZrSEE7SUFDRTtFVnlrSEY7RVV0a0hBO0lBQ0U7RVZ3a0hGO0VVcmtIQTtJQUNFO0VWdWtIRjtFVXBrSEE7SUFDRTtFVnNrSEY7RVVua0hBO0lBQ0U7RVZxa0hGO0VVbGtIQTtJQUNFO0VWb2tIRjtFVWprSEE7SUFDRTtFVm1rSEY7RVVoa0hBO0lBQ0U7RVZra0hGO0VVL2pIQTtJQUNFO0VWaWtIRjtBQUNGO0FVeHBJVTtFQTRhUjtJQUNFO0VWK3VIRjtFVTV1SEE7SUFDRTtFVjh1SEY7RVUzdUhBO0lBQ0U7RVY2dUhGO0VVMXVIQTtJQUNFO0VWNHVIRjtFVXp1SEE7SUFDRTtFVjJ1SEY7RVV4dUhBO0lBQ0U7RVYwdUhGO0VVdnVIQTtJQUNFO0lBQ0E7RVZ5dUhGO0VVdHVIQTtJQUNFO0VWd3VIRjtFVXJ1SEE7SUFDRTtFVnV1SEY7RVVwdUhBO0lBQ0U7RVZzdUhGO0VVbnVIQTtJQUNFO0VWcXVIRjtFVWx1SEE7SUFDRTtFVm91SEY7RVVqdUhBO0lBQ0U7RVZtdUhGO0VVaHVIQTtJQUNFO0VWa3VIRjtFVS90SEE7SUFDRTtFVml1SEY7RVU5dEhBO0lBQ0U7RVZndUhGO0VVN3RIQTtJQUNFO0VWK3RIRjtFVTV0SEE7SUFDRTtFVjh0SEY7RVUzdEhBO0lBQ0U7RVY2dEhGO0VVMXRIQTtJQUNFO0VWNHRIRjtFVXp0SEE7SUFDRTtFVjJ0SEY7RVV4dEhBO0lBQ0U7RVYwdEhGO0VVdnRIQTtJQUNFO0VWeXRIRjtFVXR0SEE7SUFDRTtFVnd0SEY7RVVydEhBO0lBQ0U7RVZ1dEhGO0VVcHRIQTtJQUNFO0VWc3RIRjtFVW50SEE7SUFDRTtFVnF0SEY7RVVsdEhBO0lBQ0U7RVZvdEhGO0VVanRIQTtJQUNFO0VWbXRIRjtFVWh0SEE7SUFDRTtFVmt0SEY7RVUvc0hBO0lBQ0U7RVZpdEhGO0VVOXNIQTtJQUNFO0VWZ3RIRjtFVTdzSEE7SUFDRTtFVitzSEY7RVU1c0hBO0lBQ0U7RVY4c0hGO0VVM3NIQTtJQUNFO0VWNnNIRjtFVTFzSEE7SUFDRTtFVjRzSEY7RVV6c0hBO0lBQ0U7RVYyc0hGO0VVeHNIQTtJQUNFO0VWMHNIRjtFVXZzSEE7SUFDRTtFVnlzSEY7RVV0c0hBO0lBQ0U7RVZ3c0hGO0VVcnNIQTtJQUNFO0VWdXNIRjtFVXBzSEE7SUFDRTtFVnNzSEY7RVVuc0hBO0lBQ0U7RVZxc0hGO0FBQ0Y7QVVueUlRO0VBbWJOO0lBQ0U7RVZtM0hGO0VVaDNIQTtJQUNFO0VWazNIRjtFVS8ySEE7SUFDRTtFVmkzSEY7RVU5MkhBO0lBQ0U7RVZnM0hGO0VVNzJIQTtJQUNFO0VWKzJIRjtFVTUySEE7SUFDRTtFVjgySEY7RVUzMkhBO0lBQ0U7SUFDQTtFVjYySEY7RVUxMkhBO0lBQ0U7RVY0MkhGO0VVejJIQTtJQUNFO0VWMjJIRjtFVXgySEE7SUFDRTtFVjAySEY7RVV2MkhBO0lBQ0U7RVZ5MkhGO0VVdDJIQTtJQUNFO0VWdzJIRjtFVXIySEE7SUFDRTtFVnUySEY7RVVwMkhBO0lBQ0U7RVZzMkhGO0VVbjJIQTtJQUNFO0VWcTJIRjtFVWwySEE7SUFDRTtFVm8ySEY7RVVqMkhBO0lBQ0U7RVZtMkhGO0VVaDJIQTtJQUNFO0VWazJIRjtFVS8xSEE7SUFDRTtFVmkySEY7RVU5MUhBO0lBQ0U7RVZnMkhGO0VVNzFIQTtJQUNFO0VWKzFIRjtFVTUxSEE7SUFDRTtFVjgxSEY7RVUzMUhBO0lBQ0U7RVY2MUhGO0VVMTFIQTtJQUNFO0VWNDFIRjtFVXoxSEE7SUFDRTtFVjIxSEY7RVV4MUhBO0lBQ0U7RVYwMUhGO0VVdjFIQTtJQUNFO0VWeTFIRjtFVXQxSEE7SUFDRTtFVncxSEY7RVVyMUhBO0lBQ0U7RVZ1MUhGO0VVcDFIQTtJQUNFO0VWczFIRjtFVW4xSEE7SUFDRTtFVnExSEY7RVVsMUhBO0lBQ0U7RVZvMUhGO0VVajFIQTtJQUNFO0VWbTFIRjtFVWgxSEE7SUFDRTtFVmsxSEY7RVUvMEhBO0lBQ0U7RVZpMUhGO0VVOTBIQTtJQUNFO0VWZzFIRjtFVTcwSEE7SUFDRTtFViswSEY7RVU1MEhBO0lBQ0U7RVY4MEhGO0VVMzBIQTtJQUNFO0VWNjBIRjtFVTEwSEE7SUFDRTtFVjQwSEY7RVV6MEhBO0lBQ0U7RVYyMEhGO0VVeDBIQTtJQUNFO0VWMDBIRjtFVXYwSEE7SUFDRTtFVnkwSEY7QUFDRjtBVTM2SVE7RUF1Yk47SUFDRTtFVnUvSEY7RVVwL0hBO0lBQ0U7RVZzL0hGO0VVbi9IQTtJQUNFO0VWcS9IRjtFVWwvSEE7SUFDRTtFVm8vSEY7RVVqL0hBO0lBQ0U7RVZtL0hGO0VVaC9IQTtJQUNFO0VWay9IRjtFVS8rSEE7SUFDRTtJQUNBO0VWaS9IRjtFVTkrSEE7SUFDRTtFVmcvSEY7RVU3K0hBO0lBQ0U7RVYrK0hGO0VVNStIQTtJQUNFO0VWOCtIRjtFVTMrSEE7SUFDRTtFVjYrSEY7RVUxK0hBO0lBQ0U7RVY0K0hGO0VVeitIQTtJQUNFO0VWMitIRjtFVXgrSEE7SUFDRTtFVjArSEY7RVV2K0hBO0lBQ0U7RVZ5K0hGO0VVdCtIQTtJQUNFO0VWdytIRjtFVXIrSEE7SUFDRTtFVnUrSEY7RVVwK0hBO0lBQ0U7RVZzK0hGO0VVbitIQTtJQUNFO0VWcStIRjtFVWwrSEE7SUFDRTtFVm8rSEY7RVVqK0hBO0lBQ0U7RVZtK0hGO0VVaCtIQTtJQUNFO0VWaytIRjtFVS85SEE7SUFDRTtFVmkrSEY7RVU5OUhBO0lBQ0U7RVZnK0hGO0VVNzlIQTtJQUNFO0VWKzlIRjtFVTU5SEE7SUFDRTtFVjg5SEY7RVUzOUhBO0lBQ0U7RVY2OUhGO0VVMTlIQTtJQUNFO0VWNDlIRjtFVXo5SEE7SUFDRTtFVjI5SEY7RVV4OUhBO0lBQ0U7RVYwOUhGO0VVdjlIQTtJQUNFO0VWeTlIRjtFVXQ5SEE7SUFDRTtFVnc5SEY7RVVyOUhBO0lBQ0U7RVZ1OUhGO0VVcDlIQTtJQUNFO0VWczlIRjtFVW45SEE7SUFDRTtFVnE5SEY7RVVsOUhBO0lBQ0U7RVZvOUhGO0VVajlIQTtJQUNFO0VWbTlIRjtFVWg5SEE7SUFDRTtFVms5SEY7RVUvOEhBO0lBQ0U7RVZpOUhGO0VVOThIQTtJQUNFO0VWZzlIRjtFVTc4SEE7SUFDRTtFVis4SEY7RVU1OEhBO0lBQ0U7RVY4OEhGO0VVMzhIQTtJQUNFO0VWNjhIRjtBQUNGO0FrRDFrSkE7OytFQUFBO0FBSUE7K0VBQUE7QXhDdTVDSTtFQUNFO0VBQ0E7RUFDQTtBVnNyR047O0FVbHJHRTtFQUNFO0VBQ0E7RUFDQTtBVnFyR0o7O0FVbHJHRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FWcXJHSjs7QVVsckdFO0VBQ0U7RUFDQTtBVnFyR0o7O0FVbHJHRTtFQUNFO0VBQ0E7QVZxckdKOztBVWxyR0U7RUFDRTtFQUNBO0FWcXJHSjs7QVVsckdFO0VBQ0U7RUFDQTtBVnFyR0o7O0FVbHJHRTtFQUNFO0VBQ0E7QVZxckdKOztBVWxyR0U7RUFDRTtFQUNBO0FWcXJHSjs7QVUzbEpVO0VBaTNDTjtJQUNFO0lBQ0E7SUFDQTtFVjh1R0o7RVUxdUdBO0lBQ0U7SUFDQTtJQUNBO0VWNHVHRjtFVXp1R0E7SUFDRTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFVjJ1R0Y7RVV4dUdBO0lBQ0U7SUFDQTtFVjB1R0Y7RVV2dUdBO0lBQ0U7SUFDQTtFVnl1R0Y7RVV0dUdBO0lBQ0U7SUFDQTtFVnd1R0Y7RVVydUdBO0lBQ0U7SUFDQTtFVnV1R0Y7RVVwdUdBO0lBQ0U7SUFDQTtFVnN1R0Y7RVVudUdBO0lBQ0U7SUFDQTtFVnF1R0Y7QUFDRjtBVTNwSlE7RUFnNENKO0lBQ0U7SUFDQTtJQUNBO0VWOHhHSjtFVTF4R0E7SUFDRTtJQUNBO0lBQ0E7RVY0eEdGO0VVenhHQTtJQUNFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0VWMnhHRjtFVXh4R0E7SUFDRTtJQUNBO0VWMHhHRjtFVXZ4R0E7SUFDRTtJQUNBO0VWeXhHRjtFVXR4R0E7SUFDRTtJQUNBO0VWd3hHRjtFVXJ4R0E7SUFDRTtJQUNBO0VWdXhHRjtFVXB4R0E7SUFDRTtJQUNBO0VWc3hHRjtFVW54R0E7SUFDRTtJQUNBO0VWcXhHRjtBQUNGO0FVaHNKVTtFQXEzQ047SUFDRTtJQUNBO0lBQ0E7RVY4MEdKO0VVMTBHQTtJQUNFO0lBQ0E7SUFDQTtFVjQwR0Y7RVV6MEdBO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RVYyMEdGO0VVeDBHQTtJQUNFO0lBQ0E7RVYwMEdGO0VVdjBHQTtJQUNFO0lBQ0E7RVZ5MEdGO0VVdDBHQTtJQUNFO0lBQ0E7RVZ3MEdGO0VVcjBHQTtJQUNFO0lBQ0E7RVZ1MEdGO0VVcDBHQTtJQUNFO0lBQ0E7RVZzMEdGO0VVbjBHQTtJQUNFO0lBQ0E7RVZxMEdGO0FBQ0Y7QVV2dkpRO0VBNDNDSjtJQUNFO0lBQ0E7SUFDQTtFVjgzR0o7RVUxM0dBO0lBQ0U7SUFDQTtJQUNBO0VWNDNHRjtFVXozR0E7SUFDRTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFVjIzR0Y7RVV4M0dBO0lBQ0U7SUFDQTtFVjAzR0Y7RVV2M0dBO0lBQ0U7SUFDQTtFVnkzR0Y7RVV0M0dBO0lBQ0U7SUFDQTtFVnczR0Y7RVVyM0dBO0lBQ0U7SUFDQTtFVnUzR0Y7RVVwM0dBO0lBQ0U7SUFDQTtFVnMzR0Y7RVVuM0dBO0lBQ0U7SUFDQTtFVnEzR0Y7QUFDRjtBVTN5SlE7RUFnNENKO0lBQ0U7SUFDQTtJQUNBO0VWODZHSjtFVTE2R0E7SUFDRTtJQUNBO0lBQ0E7RVY0NkdGO0VVejZHQTtJQUNFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0VWMjZHRjtFVXg2R0E7SUFDRTtJQUNBO0VWMDZHRjtFVXY2R0E7SUFDRTtJQUNBO0VWeTZHRjtFVXQ2R0E7SUFDRTtJQUNBO0VWdzZHRjtFVXI2R0E7SUFDRTtJQUNBO0VWdTZHRjtFVXA2R0E7SUFDRTtJQUNBO0VWczZHRjtFVW42R0E7SUFDRTtJQUNBO0VWcTZHRjtBQUNGO0FtRHQzSkE7OytFQUFBO0FBSUE7K0VBQUE7QXpDbS9CRTtFQUNFO0FWczRISjs7QVVuNEhFO0VBQ0U7QVZzNEhKOztBVW40SEU7RUFDRTtBVnM0SEo7O0FVbjRIRTtFQUNFO0FWczRISjs7QVVoMkpVO0VBNjhCUjtJQUNFO0VWdTVIRjtFVXA1SEE7SUFDRTtFVnM1SEY7RVVuNUhBO0lBQ0U7RVZxNUhGO0VVbDVIQTtJQUNFO0VWbzVIRjtBQUNGO0FVOTNKUTtFQTQ5Qk47SUFDRTtFVnE2SEY7RVVsNkhBO0lBQ0U7RVZvNkhGO0VVajZIQTtJQUNFO0VWbTZIRjtFVWg2SEE7SUFDRTtFVms2SEY7QUFDRjtBVWo0SlU7RUFpOUJSO0lBQ0U7RVZtN0hGO0VVaDdIQTtJQUNFO0VWazdIRjtFVS82SEE7SUFDRTtFVmk3SEY7RVU5NkhBO0lBQ0U7RVZnN0hGO0FBQ0Y7QVV0NUpRO0VBdzlCTjtJQUNFO0VWaThIRjtFVTk3SEE7SUFDRTtFVmc4SEY7RVU3N0hBO0lBQ0U7RVYrN0hGO0VVNTdIQTtJQUNFO0VWODdIRjtBQUNGO0FVeDZKUTtFQTQ5Qk47SUFDRTtFVis4SEY7RVU1OEhBO0lBQ0U7RVY4OEhGO0VVMzhIQTtJQUNFO0VWNjhIRjtFVTE4SEE7SUFDRTtFVjQ4SEY7QUFDRjtBb0RqOUpBOzsrRUFBQTtBQUlBOytFQUFBO0ExQ2dXRTtFQUNFO0FWb25KSjs7QVVqbkpFO0VBQ0U7QVZvbkpKOztBVWpuSkU7RUFDRTtBVm9uSko7O0FVam5KRTtFQUNFO0FWb25KSjs7QVVqbkpFO0VBQ0U7QVZvbkpKOztBVS83SlU7RUEwVFI7SUFDRTtFVnlvSkY7RVV0b0pBO0lBQ0U7RVZ3b0pGO0VVcm9KQTtJQUNFO0VWdW9KRjtFVXBvSkE7SUFDRTtFVnNvSkY7RVVub0pBO0lBQ0U7RVZxb0pGO0FBQ0Y7QVVoK0pRO0VBeVVOO0lBQ0U7RVYwcEpGO0VVdnBKQTtJQUNFO0VWeXBKRjtFVXRwSkE7SUFDRTtFVndwSkY7RVVycEpBO0lBQ0U7RVZ1cEpGO0VVcHBKQTtJQUNFO0VWc3BKRjtBQUNGO0FVdCtKVTtFQThUUjtJQUNFO0VWMnFKRjtFVXhxSkE7SUFDRTtFVjBxSkY7RVV2cUpBO0lBQ0U7RVZ5cUpGO0VVdHFKQTtJQUNFO0VWd3FKRjtFVXJxSkE7SUFDRTtFVnVxSkY7QUFDRjtBVTkvSlE7RUFxVU47SUFDRTtFVjRySkY7RVV6ckpBO0lBQ0U7RVYyckpGO0VVeHJKQTtJQUNFO0VWMHJKRjtFVXZySkE7SUFDRTtFVnlySkY7RVV0ckpBO0lBQ0U7RVZ3ckpGO0FBQ0Y7QVVuaEtRO0VBeVVOO0lBQ0U7RVY2c0pGO0VVMXNKQTtJQUNFO0VWNHNKRjtFVXpzSkE7SUFDRTtFVjJzSkY7RVV4c0pBO0lBQ0U7RVYwc0pGO0VVdnNKQTtJQUNFO0VWeXNKRjtBQUNGO0FxRC9qS0E7OytFQUFBO0FBSUE7K0VBQUE7QTNDKzJDRTtFQUNFO0VBQ0E7QVZtdEhKOztBVWh0SEU7RUFDRTtFQUNBO0FWbXRISjs7QVVodEhFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QVZtdEhKOztBc0R2bEtBOzsrRUFBQTtBQUlBOytFQUFBO0E1QzIzQk07RUFDRTtBVmd1SVI7O0FVN3RJTTtFQUNFO0FWZ3VJUjs7QVVydUlNO0VBQ0U7QVZ3dUlSOztBVXJ1SU07RUFDRTtBVnd1SVI7O0FVbGtLVTtFQXExQko7SUFDRTtFVml2SU47RVU5dUlJO0lBQ0U7RVZndklOO0VVcnZJSTtJQUNFO0VWdXZJTjtFVXB2SUk7SUFDRTtFVnN2SU47QUFDRjtBVWhtS1E7RUFvMkJGO0lBQ0U7RVYrdklOO0VVNXZJSTtJQUNFO0VWOHZJTjtFVW53SUk7SUFDRTtFVnF3SU47RVVsd0lJO0lBQ0U7RVZvd0lOO0FBQ0Y7QVVubUtVO0VBeTFCSjtJQUNFO0VWNndJTjtFVTF3SUk7SUFDRTtFVjR3SU47RVVqeElJO0lBQ0U7RVZteElOO0VVaHhJSTtJQUNFO0VWa3hJTjtBQUNGO0FVeG5LUTtFQWcyQkY7SUFDRTtFVjJ4SU47RVV4eElJO0lBQ0U7RVYweElOO0VVL3hJSTtJQUNFO0VWaXlJTjtFVTl4SUk7SUFDRTtFVmd5SU47QUFDRjtBVTFvS1E7RUFvMkJGO0lBQ0U7RVZ5eUlOO0VVdHlJSTtJQUNFO0VWd3lJTjtFVTd5SUk7SUFDRTtFVit5SU47RVU1eUlJO0lBQ0U7RVY4eUlOO0FBQ0Y7QXVEbnJLQTs7K0VBQUE7QUFJQTsrRUFBQTtBN0M4NUJNO0VBQ0U7QVZ3eElSOztBVXJ4SU07RUFDRTtFQUNBO0FWd3hJUjs7QVVyeElNO0VBQ0U7RUFDQTtBVnd4SVI7O0FVcnhJTTtFQUNFO0FWd3hJUjs7QVVyeElNO0VBQ0U7QVZ3eElSOztBVXJ4SU07RUFDRTtBVnd4SVI7O0FVcnhJTTtFQUNFO0FWd3hJUjs7QVVweElRO0VBQ0U7QVZ1eElWOztBVXB4SVE7RUFDRTtFQUNBO0FWdXhJVjs7QVVweElRO0VBQ0U7RUFDQTtBVnV4SVY7O0FVcHhJUTtFQUNFO0FWdXhJVjs7QVVweElRO0VBQ0U7QVZ1eElWOztBVXB4SVE7RUFDRTtBVnV4SVY7O0FVcHhJUTtFQUNFO0FWdXhJVjs7QVVqMUlNO0VBQ0U7QVZvMUlSOztBVWoxSU07RUFDRTtFQUNBO0FWbzFJUjs7QVVqMUlNO0VBQ0U7RUFDQTtBVm8xSVI7O0FVajFJTTtFQUNFO0FWbzFJUjs7QVVqMUlNO0VBQ0U7QVZvMUlSOztBVWoxSU07RUFDRTtBVm8xSVI7O0FVajFJTTtFQUNFO0FWbzFJUjs7QVUvMklNO0VBQ0U7QVZrM0lSOztBVS8ySU07RUFDRTtFQUNBO0FWazNJUjs7QVUvMklNO0VBQ0U7RUFDQTtBVmszSVI7O0FVLzJJTTtFQUNFO0FWazNJUjs7QVUvMklNO0VBQ0U7QVZrM0lSOztBVS8ySU07RUFDRTtBVmszSVI7O0FVLzJJTTtFQUNFO0FWazNJUjs7QVU5MklRO0VBQ0U7QVZpM0lWOztBVTkySVE7RUFDRTtFQUNBO0FWaTNJVjs7QVU5MklRO0VBQ0U7RUFDQTtBVmkzSVY7O0FVOTJJUTtFQUNFO0FWaTNJVjs7QVU5MklRO0VBQ0U7QVZpM0lWOztBVTkySVE7RUFDRTtBVmkzSVY7O0FVOTJJUTtFQUNFO0FWaTNJVjs7QVUzNklNO0VBQ0U7QVY4NklSOztBVTM2SU07RUFDRTtFQUNBO0FWODZJUjs7QVUzNklNO0VBQ0U7RUFDQTtBVjg2SVI7O0FVMzZJTTtFQUNFO0FWODZJUjs7QVUzNklNO0VBQ0U7QVY4NklSOztBVTM2SU07RUFDRTtBVjg2SVI7O0FVMzZJTTtFQUNFO0FWODZJUjs7QVUxNklRO0VBQ0U7QVY2NklWOztBVTE2SVE7RUFDRTtFQUNBO0FWNjZJVjs7QVUxNklRO0VBQ0U7RUFDQTtBVjY2SVY7O0FVMTZJUTtFQUNFO0FWNjZJVjs7QVUxNklRO0VBQ0U7QVY2NklWOztBVTE2SVE7RUFDRTtBVjY2SVY7O0FVMTZJUTtFQUNFO0FWNjZJVjs7QVV2K0lNO0VBQ0U7QVYwK0lSOztBVXYrSU07RUFDRTtFQUNBO0FWMCtJUjs7QVV2K0lNO0VBQ0U7RUFDQTtBVjArSVI7O0FVditJTTtFQUNFO0FWMCtJUjs7QVV2K0lNO0VBQ0U7QVYwK0lSOztBVXYrSU07RUFDRTtBVjArSVI7O0FVditJTTtFQUNFO0FWMCtJUjs7QVV0K0lRO0VBQ0U7QVZ5K0lWOztBVXQrSVE7RUFDRTtFQUNBO0FWeStJVjs7QVV0K0lRO0VBQ0U7RUFDQTtBVnkrSVY7O0FVdCtJUTtFQUNFO0FWeStJVjs7QVV0K0lRO0VBQ0U7QVZ5K0lWOztBVXQrSVE7RUFDRTtBVnkrSVY7O0FVdCtJUTtFQUNFO0FWeStJVjs7QVVuaUpNO0VBQ0U7QVZzaUpSOztBVW5pSk07RUFDRTtFQUNBO0FWc2lKUjs7QVVuaUpNO0VBQ0U7RUFDQTtBVnNpSlI7O0FVbmlKTTtFQUNFO0FWc2lKUjs7QVVuaUpNO0VBQ0U7QVZzaUpSOztBVW5pSk07RUFDRTtBVnNpSlI7O0FVbmlKTTtFQUNFO0FWc2lKUjs7QVVsaUpRO0VBQ0U7QVZxaUpWOztBVWxpSlE7RUFDRTtFQUNBO0FWcWlKVjs7QVVsaUpRO0VBQ0U7RUFDQTtBVnFpSlY7O0FVbGlKUTtFQUNFO0FWcWlKVjs7QVVsaUpRO0VBQ0U7QVZxaUpWOztBVWxpSlE7RUFDRTtBVnFpSlY7O0FVbGlKUTtFQUNFO0FWcWlKVjs7QVUvbEpNO0VBQ0U7QVZrbUpSOztBVS9sSk07RUFDRTtFQUNBO0FWa21KUjs7QVUvbEpNO0VBQ0U7RUFDQTtBVmttSlI7O0FVL2xKTTtFQUNFO0FWa21KUjs7QVUvbEpNO0VBQ0U7QVZrbUpSOztBVS9sSk07RUFDRTtBVmttSlI7O0FVL2xKTTtFQUNFO0FWa21KUjs7QVU5bEpRO0VBQ0U7QVZpbUpWOztBVTlsSlE7RUFDRTtFQUNBO0FWaW1KVjs7QVU5bEpRO0VBQ0U7RUFDQTtBVmltSlY7O0FVOWxKUTtFQUNFO0FWaW1KVjs7QVU5bEpRO0VBQ0U7QVZpbUpWOztBVTlsSlE7RUFDRTtBVmltSlY7O0FVOWxKUTtFQUNFO0FWaW1KVjs7QVUzcEpNO0VBQ0U7QVY4cEpSOztBVTNwSk07RUFDRTtFQUNBO0FWOHBKUjs7QVUzcEpNO0VBQ0U7RUFDQTtBVjhwSlI7O0FVM3BKTTtFQUNFO0FWOHBKUjs7QVUzcEpNO0VBQ0U7QVY4cEpSOztBVTNwSk07RUFDRTtBVjhwSlI7O0FVM3BKTTtFQUNFO0FWOHBKUjs7QVUxcEpRO0VBQ0U7QVY2cEpWOztBVTFwSlE7RUFDRTtFQUNBO0FWNnBKVjs7QVUxcEpRO0VBQ0U7RUFDQTtBVjZwSlY7O0FVMXBKUTtFQUNFO0FWNnBKVjs7QVUxcEpRO0VBQ0U7QVY2cEpWOztBVTFwSlE7RUFDRTtBVjZwSlY7O0FVMXBKUTtFQUNFO0FWNnBKVjs7QVV2dEpNO0VBQ0U7QVYwdEpSOztBVXZ0Sk07RUFDRTtFQUNBO0FWMHRKUjs7QVV2dEpNO0VBQ0U7RUFDQTtBVjB0SlI7O0FVdnRKTTtFQUNFO0FWMHRKUjs7QVV2dEpNO0VBQ0U7QVYwdEpSOztBVXZ0Sk07RUFDRTtBVjB0SlI7O0FVdnRKTTtFQUNFO0FWMHRKUjs7QVV0dEpRO0VBQ0U7QVZ5dEpWOztBVXR0SlE7RUFDRTtFQUNBO0FWeXRKVjs7QVV0dEpRO0VBQ0U7RUFDQTtBVnl0SlY7O0FVdHRKUTtFQUNFO0FWeXRKVjs7QVV0dEpRO0VBQ0U7QVZ5dEpWOztBVXR0SlE7RUFDRTtBVnl0SlY7O0FVdHRKUTtFQUNFO0FWeXRKVjs7QVVueEpNO0VBQ0U7QVZzeEpSOztBVW54Sk07RUFDRTtFQUNBO0FWc3hKUjs7QVVueEpNO0VBQ0U7RUFDQTtBVnN4SlI7O0FVbnhKTTtFQUNFO0FWc3hKUjs7QVVueEpNO0VBQ0U7QVZzeEpSOztBVW54Sk07RUFDRTtBVnN4SlI7O0FVbnhKTTtFQUNFO0FWc3hKUjs7QVVseEpRO0VBQ0U7QVZxeEpWOztBVWx4SlE7RUFDRTtFQUNBO0FWcXhKVjs7QVVseEpRO0VBQ0U7RUFDQTtBVnF4SlY7O0FVbHhKUTtFQUNFO0FWcXhKVjs7QVVseEpRO0VBQ0U7QVZxeEpWOztBVWx4SlE7RUFDRTtBVnF4SlY7O0FVbHhKUTtFQUNFO0FWcXhKVjs7QVUvMEpNO0VBQ0U7QVZrMUpSOztBVS8wSk07RUFDRTtFQUNBO0FWazFKUjs7QVUvMEpNO0VBQ0U7RUFDQTtBVmsxSlI7O0FVLzBKTTtFQUNFO0FWazFKUjs7QVUvMEpNO0VBQ0U7QVZrMUpSOztBVS8wSk07RUFDRTtBVmsxSlI7O0FVLzBKTTtFQUNFO0FWazFKUjs7QVU5MEpRO0VBQ0U7QVZpMUpWOztBVTkwSlE7RUFDRTtFQUNBO0FWaTFKVjs7QVU5MEpRO0VBQ0U7RUFDQTtBVmkxSlY7O0FVOTBKUTtFQUNFO0FWaTFKVjs7QVU5MEpRO0VBQ0U7QVZpMUpWOztBVTkwSlE7RUFDRTtBVmkxSlY7O0FVOTBKUTtFQUNFO0FWaTFKVjs7QVUzNEpNO0VBQ0U7QVY4NEpSOztBVTM0Sk07RUFDRTtFQUNBO0FWODRKUjs7QVUzNEpNO0VBQ0U7RUFDQTtBVjg0SlI7O0FVMzRKTTtFQUNFO0FWODRKUjs7QVUzNEpNO0VBQ0U7QVY4NEpSOztBVTM0Sk07RUFDRTtBVjg0SlI7O0FVMzRKTTtFQUNFO0FWODRKUjs7QVUxNEpRO0VBQ0U7QVY2NEpWOztBVTE0SlE7RUFDRTtFQUNBO0FWNjRKVjs7QVUxNEpRO0VBQ0U7RUFDQTtBVjY0SlY7O0FVMTRKUTtFQUNFO0FWNjRKVjs7QVUxNEpRO0VBQ0U7QVY2NEpWOztBVTE0SlE7RUFDRTtBVjY0SlY7O0FVMTRKUTtFQUNFO0FWNjRKVjs7QVV2OEpNO0VBQ0U7QVYwOEpSOztBVXY4Sk07RUFDRTtFQUNBO0FWMDhKUjs7QVV2OEpNO0VBQ0U7RUFDQTtBVjA4SlI7O0FVdjhKTTtFQUNFO0FWMDhKUjs7QVV2OEpNO0VBQ0U7QVYwOEpSOztBVXY4Sk07RUFDRTtBVjA4SlI7O0FVdjhKTTtFQUNFO0FWMDhKUjs7QVV0OEpRO0VBQ0U7QVZ5OEpWOztBVXQ4SlE7RUFDRTtFQUNBO0FWeThKVjs7QVV0OEpRO0VBQ0U7RUFDQTtBVnk4SlY7O0FVdDhKUTtFQUNFO0FWeThKVjs7QVV0OEpRO0VBQ0U7QVZ5OEpWOztBVXQ4SlE7RUFDRTtBVnk4SlY7O0FVdDhKUTtFQUNFO0FWeThKVjs7QVVuZ0tNO0VBQ0U7QVZzZ0tSOztBVW5nS007RUFDRTtFQUNBO0FWc2dLUjs7QVVuZ0tNO0VBQ0U7RUFDQTtBVnNnS1I7O0FVbmdLTTtFQUNFO0FWc2dLUjs7QVVuZ0tNO0VBQ0U7QVZzZ0tSOztBVW5nS007RUFDRTtBVnNnS1I7O0FVbmdLTTtFQUNFO0FWc2dLUjs7QVVsZ0tRO0VBQ0U7QVZxZ0tWOztBVWxnS1E7RUFDRTtFQUNBO0FWcWdLVjs7QVVsZ0tRO0VBQ0U7RUFDQTtBVnFnS1Y7O0FVbGdLUTtFQUNFO0FWcWdLVjs7QVVsZ0tRO0VBQ0U7QVZxZ0tWOztBVWxnS1E7RUFDRTtBVnFnS1Y7O0FVbGdLUTtFQUNFO0FWcWdLVjs7QVV2N0xVO0VBdzNCSjtJQUNFO0VWbWtLTjtFVWhrS0k7SUFDRTtJQUNBO0VWa2tLTjtFVS9qS0k7SUFDRTtJQUNBO0VWaWtLTjtFVTlqS0k7SUFDRTtFVmdrS047RVU3aktJO0lBQ0U7RVYraktOO0VVNWpLSTtJQUNFO0VWOGpLTjtFVTNqS0k7SUFDRTtFVjZqS047RVV6aktNO0lBQ0U7RVYyaktSO0VVeGpLTTtJQUNFO0lBQ0E7RVYwaktSO0VVdmpLTTtJQUNFO0lBQ0E7RVZ5aktSO0VVdGpLTTtJQUNFO0VWd2pLUjtFVXJqS007SUFDRTtFVnVqS1I7RVVwaktNO0lBQ0U7RVZzaktSO0VVbmpLTTtJQUNFO0VWcWpLUjtFVS9tS0k7SUFDRTtFVmluS047RVU5bUtJO0lBQ0U7SUFDQTtFVmduS047RVU3bUtJO0lBQ0U7SUFDQTtFVittS047RVU1bUtJO0lBQ0U7RVY4bUtOO0VVM21LSTtJQUNFO0VWNm1LTjtFVTFtS0k7SUFDRTtFVjRtS047RVV6bUtJO0lBQ0U7RVYybUtOO0VVdG9LSTtJQUNFO0VWd29LTjtFVXJvS0k7SUFDRTtJQUNBO0VWdW9LTjtFVXBvS0k7SUFDRTtJQUNBO0VWc29LTjtFVW5vS0k7SUFDRTtFVnFvS047RVVsb0tJO0lBQ0U7RVZvb0tOO0VVam9LSTtJQUNFO0VWbW9LTjtFVWhvS0k7SUFDRTtFVmtvS047RVU5bktNO0lBQ0U7RVZnb0tSO0VVN25LTTtJQUNFO0lBQ0E7RVYrbktSO0VVNW5LTTtJQUNFO0lBQ0E7RVY4bktSO0VVM25LTTtJQUNFO0VWNm5LUjtFVTFuS007SUFDRTtFVjRuS1I7RVV6bktNO0lBQ0U7RVYybktSO0VVeG5LTTtJQUNFO0VWMG5LUjtFVXByS0k7SUFDRTtFVnNyS047RVVucktJO0lBQ0U7SUFDQTtFVnFyS047RVVscktJO0lBQ0U7SUFDQTtFVm9yS047RVVqcktJO0lBQ0U7RVZtcktOO0VVaHJLSTtJQUNFO0VWa3JLTjtFVS9xS0k7SUFDRTtFVmlyS047RVU5cUtJO0lBQ0U7RVZncktOO0VVNXFLTTtJQUNFO0VWOHFLUjtFVTNxS007SUFDRTtJQUNBO0VWNnFLUjtFVTFxS007SUFDRTtJQUNBO0VWNHFLUjtFVXpxS007SUFDRTtFVjJxS1I7RVV4cUtNO0lBQ0U7RVYwcUtSO0VVdnFLTTtJQUNFO0VWeXFLUjtFVXRxS007SUFDRTtFVndxS1I7RVVsdUtJO0lBQ0U7RVZvdUtOO0VVanVLSTtJQUNFO0lBQ0E7RVZtdUtOO0VVaHVLSTtJQUNFO0lBQ0E7RVZrdUtOO0VVL3RLSTtJQUNFO0VWaXVLTjtFVTl0S0k7SUFDRTtFVmd1S047RVU3dEtJO0lBQ0U7RVYrdEtOO0VVNXRLSTtJQUNFO0VWOHRLTjtFVTF0S007SUFDRTtFVjR0S1I7RVV6dEtNO0lBQ0U7SUFDQTtFVjJ0S1I7RVV4dEtNO0lBQ0U7SUFDQTtFVjB0S1I7RVV2dEtNO0lBQ0U7RVZ5dEtSO0VVdHRLTTtJQUNFO0VWd3RLUjtFVXJ0S007SUFDRTtFVnV0S1I7RVVwdEtNO0lBQ0U7RVZzdEtSO0VVaHhLSTtJQUNFO0VWa3hLTjtFVS93S0k7SUFDRTtJQUNBO0VWaXhLTjtFVTl3S0k7SUFDRTtJQUNBO0VWZ3hLTjtFVTd3S0k7SUFDRTtFVit3S047RVU1d0tJO0lBQ0U7RVY4d0tOO0VVM3dLSTtJQUNFO0VWNndLTjtFVTF3S0k7SUFDRTtFVjR3S047RVV4d0tNO0lBQ0U7RVYwd0tSO0VVdndLTTtJQUNFO0lBQ0E7RVZ5d0tSO0VVdHdLTTtJQUNFO0lBQ0E7RVZ3d0tSO0VVcndLTTtJQUNFO0VWdXdLUjtFVXB3S007SUFDRTtFVnN3S1I7RVVud0tNO0lBQ0U7RVZxd0tSO0VVbHdLTTtJQUNFO0VWb3dLUjtFVTl6S0k7SUFDRTtFVmcwS047RVU3ektJO0lBQ0U7SUFDQTtFVit6S047RVU1ektJO0lBQ0U7SUFDQTtFVjh6S047RVUzektJO0lBQ0U7RVY2ektOO0VVMXpLSTtJQUNFO0VWNHpLTjtFVXp6S0k7SUFDRTtFVjJ6S047RVV4ektJO0lBQ0U7RVYwektOO0VVdHpLTTtJQUNFO0VWd3pLUjtFVXJ6S007SUFDRTtJQUNBO0VWdXpLUjtFVXB6S007SUFDRTtJQUNBO0VWc3pLUjtFVW56S007SUFDRTtFVnF6S1I7RVVsektNO0lBQ0U7RVZvektSO0VVanpLTTtJQUNFO0VWbXpLUjtFVWh6S007SUFDRTtFVmt6S1I7RVU1MktJO0lBQ0U7RVY4MktOO0VVMzJLSTtJQUNFO0lBQ0E7RVY2MktOO0VVMTJLSTtJQUNFO0lBQ0E7RVY0MktOO0VVejJLSTtJQUNFO0VWMjJLTjtFVXgyS0k7SUFDRTtFVjAyS047RVV2MktJO0lBQ0U7RVZ5MktOO0VVdDJLSTtJQUNFO0VWdzJLTjtFVXAyS007SUFDRTtFVnMyS1I7RVVuMktNO0lBQ0U7SUFDQTtFVnEyS1I7RVVsMktNO0lBQ0U7SUFDQTtFVm8yS1I7RVVqMktNO0lBQ0U7RVZtMktSO0VVaDJLTTtJQUNFO0VWazJLUjtFVS8xS007SUFDRTtFVmkyS1I7RVU5MUtNO0lBQ0U7RVZnMktSO0VVMTVLSTtJQUNFO0VWNDVLTjtFVXo1S0k7SUFDRTtJQUNBO0VWMjVLTjtFVXg1S0k7SUFDRTtJQUNBO0VWMDVLTjtFVXY1S0k7SUFDRTtFVnk1S047RVV0NUtJO0lBQ0U7RVZ3NUtOO0VVcjVLSTtJQUNFO0VWdTVLTjtFVXA1S0k7SUFDRTtFVnM1S047RVVsNUtNO0lBQ0U7RVZvNUtSO0VVajVLTTtJQUNFO0lBQ0E7RVZtNUtSO0VVaDVLTTtJQUNFO0lBQ0E7RVZrNUtSO0VVLzRLTTtJQUNFO0VWaTVLUjtFVTk0S007SUFDRTtFVmc1S1I7RVU3NEtNO0lBQ0U7RVYrNEtSO0VVNTRLTTtJQUNFO0VWODRLUjtFVXg4S0k7SUFDRTtFVjA4S047RVV2OEtJO0lBQ0U7SUFDQTtFVnk4S047RVV0OEtJO0lBQ0U7SUFDQTtFVnc4S047RVVyOEtJO0lBQ0U7RVZ1OEtOO0VVcDhLSTtJQUNFO0VWczhLTjtFVW44S0k7SUFDRTtFVnE4S047RVVsOEtJO0lBQ0U7RVZvOEtOO0VVaDhLTTtJQUNFO0VWazhLUjtFVS83S007SUFDRTtJQUNBO0VWaThLUjtFVTk3S007SUFDRTtJQUNBO0VWZzhLUjtFVTc3S007SUFDRTtFVis3S1I7RVU1N0tNO0lBQ0U7RVY4N0tSO0VVMzdLTTtJQUNFO0VWNjdLUjtFVTE3S007SUFDRTtFVjQ3S1I7RVV0L0tJO0lBQ0U7RVZ3L0tOO0VVci9LSTtJQUNFO0lBQ0E7RVZ1L0tOO0VVcC9LSTtJQUNFO0lBQ0E7RVZzL0tOO0VVbi9LSTtJQUNFO0VWcS9LTjtFVWwvS0k7SUFDRTtFVm8vS047RVVqL0tJO0lBQ0U7RVZtL0tOO0VVaC9LSTtJQUNFO0VWay9LTjtFVTkrS007SUFDRTtFVmcvS1I7RVU3K0tNO0lBQ0U7SUFDQTtFVisrS1I7RVU1K0tNO0lBQ0U7SUFDQTtFVjgrS1I7RVUzK0tNO0lBQ0U7RVY2K0tSO0VVMStLTTtJQUNFO0VWNCtLUjtFVXorS007SUFDRTtFVjIrS1I7RVV4K0tNO0lBQ0U7RVYwK0tSO0VVcGlMSTtJQUNFO0VWc2lMTjtFVW5pTEk7SUFDRTtJQUNBO0VWcWlMTjtFVWxpTEk7SUFDRTtJQUNBO0VWb2lMTjtFVWppTEk7SUFDRTtFVm1pTE47RVVoaUxJO0lBQ0U7RVZraUxOO0VVL2hMSTtJQUNFO0VWaWlMTjtFVTloTEk7SUFDRTtFVmdpTE47RVU1aExNO0lBQ0U7RVY4aExSO0VVM2hMTTtJQUNFO0lBQ0E7RVY2aExSO0VVMWhMTTtJQUNFO0lBQ0E7RVY0aExSO0VVemhMTTtJQUNFO0VWMmhMUjtFVXhoTE07SUFDRTtFVjBoTFI7RVV2aExNO0lBQ0U7RVZ5aExSO0VVdGhMTTtJQUNFO0VWd2hMUjtFVWxsTEk7SUFDRTtFVm9sTE47RVVqbExJO0lBQ0U7SUFDQTtFVm1sTE47RVVobExJO0lBQ0U7SUFDQTtFVmtsTE47RVUva0xJO0lBQ0U7RVZpbExOO0VVOWtMSTtJQUNFO0VWZ2xMTjtFVTdrTEk7SUFDRTtFVitrTE47RVU1a0xJO0lBQ0U7RVY4a0xOO0VVMWtMTTtJQUNFO0VWNGtMUjtFVXprTE07SUFDRTtJQUNBO0VWMmtMUjtFVXhrTE07SUFDRTtJQUNBO0VWMGtMUjtFVXZrTE07SUFDRTtFVnlrTFI7RVV0a0xNO0lBQ0U7RVZ3a0xSO0VVcmtMTTtJQUNFO0VWdWtMUjtFVXBrTE07SUFDRTtFVnNrTFI7RVVob0xJO0lBQ0U7RVZrb0xOO0VVL25MSTtJQUNFO0lBQ0E7RVZpb0xOO0VVOW5MSTtJQUNFO0lBQ0E7RVZnb0xOO0VVN25MSTtJQUNFO0VWK25MTjtFVTVuTEk7SUFDRTtFVjhuTE47RVUzbkxJO0lBQ0U7RVY2bkxOO0VVMW5MSTtJQUNFO0VWNG5MTjtFVXhuTE07SUFDRTtFVjBuTFI7RVV2bkxNO0lBQ0U7SUFDQTtFVnluTFI7RVV0bkxNO0lBQ0U7SUFDQTtFVnduTFI7RVVybkxNO0lBQ0U7RVZ1bkxSO0VVcG5MTTtJQUNFO0VWc25MUjtFVW5uTE07SUFDRTtFVnFuTFI7RVVsbkxNO0lBQ0U7RVZvbkxSO0FBQ0Y7QVV0ak5RO0VBdTRCRjtJQUNFO0VWa3JMTjtFVS9xTEk7SUFDRTtJQUNBO0VWaXJMTjtFVTlxTEk7SUFDRTtJQUNBO0VWZ3JMTjtFVTdxTEk7SUFDRTtFVitxTE47RVU1cUxJO0lBQ0U7RVY4cUxOO0VVM3FMSTtJQUNFO0VWNnFMTjtFVTFxTEk7SUFDRTtFVjRxTE47RVV4cUxNO0lBQ0U7RVYwcUxSO0VVdnFMTTtJQUNFO0lBQ0E7RVZ5cUxSO0VVdHFMTTtJQUNFO0lBQ0E7RVZ3cUxSO0VVcnFMTTtJQUNFO0VWdXFMUjtFVXBxTE07SUFDRTtFVnNxTFI7RVVucUxNO0lBQ0U7RVZxcUxSO0VVbHFMTTtJQUNFO0VWb3FMUjtFVTl0TEk7SUFDRTtFVmd1TE47RVU3dExJO0lBQ0U7SUFDQTtFVit0TE47RVU1dExJO0lBQ0U7SUFDQTtFVjh0TE47RVUzdExJO0lBQ0U7RVY2dExOO0VVMXRMSTtJQUNFO0VWNHRMTjtFVXp0TEk7SUFDRTtFVjJ0TE47RVV4dExJO0lBQ0U7RVYwdExOO0VVcnZMSTtJQUNFO0VWdXZMTjtFVXB2TEk7SUFDRTtJQUNBO0VWc3ZMTjtFVW52TEk7SUFDRTtJQUNBO0VWcXZMTjtFVWx2TEk7SUFDRTtFVm92TE47RVVqdkxJO0lBQ0U7RVZtdkxOO0VVaHZMSTtJQUNFO0VWa3ZMTjtFVS91TEk7SUFDRTtFVml2TE47RVU3dUxNO0lBQ0U7RVYrdUxSO0VVNXVMTTtJQUNFO0lBQ0E7RVY4dUxSO0VVM3VMTTtJQUNFO0lBQ0E7RVY2dUxSO0VVMXVMTTtJQUNFO0VWNHVMUjtFVXp1TE07SUFDRTtFVjJ1TFI7RVV4dUxNO0lBQ0U7RVYwdUxSO0VVdnVMTTtJQUNFO0VWeXVMUjtFVW55TEk7SUFDRTtFVnF5TE47RVVseUxJO0lBQ0U7SUFDQTtFVm95TE47RVVqeUxJO0lBQ0U7SUFDQTtFVm15TE47RVVoeUxJO0lBQ0U7RVZreUxOO0VVL3hMSTtJQUNFO0VWaXlMTjtFVTl4TEk7SUFDRTtFVmd5TE47RVU3eExJO0lBQ0U7RVYreExOO0VVM3hMTTtJQUNFO0VWNnhMUjtFVTF4TE07SUFDRTtJQUNBO0VWNHhMUjtFVXp4TE07SUFDRTtJQUNBO0VWMnhMUjtFVXh4TE07SUFDRTtFVjB4TFI7RVV2eExNO0lBQ0U7RVZ5eExSO0VVdHhMTTtJQUNFO0VWd3hMUjtFVXJ4TE07SUFDRTtFVnV4TFI7RVVqMUxJO0lBQ0U7RVZtMUxOO0VVaDFMSTtJQUNFO0lBQ0E7RVZrMUxOO0VVLzBMSTtJQUNFO0lBQ0E7RVZpMUxOO0VVOTBMSTtJQUNFO0VWZzFMTjtFVTcwTEk7SUFDRTtFViswTE47RVU1MExJO0lBQ0U7RVY4MExOO0VVMzBMSTtJQUNFO0VWNjBMTjtFVXowTE07SUFDRTtFVjIwTFI7RVV4MExNO0lBQ0U7SUFDQTtFVjAwTFI7RVV2MExNO0lBQ0U7SUFDQTtFVnkwTFI7RVV0MExNO0lBQ0U7RVZ3MExSO0VVcjBMTTtJQUNFO0VWdTBMUjtFVXAwTE07SUFDRTtFVnMwTFI7RVVuMExNO0lBQ0U7RVZxMExSO0VVLzNMSTtJQUNFO0VWaTRMTjtFVTkzTEk7SUFDRTtJQUNBO0VWZzRMTjtFVTczTEk7SUFDRTtJQUNBO0VWKzNMTjtFVTUzTEk7SUFDRTtFVjgzTE47RVUzM0xJO0lBQ0U7RVY2M0xOO0VVMTNMSTtJQUNFO0VWNDNMTjtFVXozTEk7SUFDRTtFVjIzTE47RVV2M0xNO0lBQ0U7RVZ5M0xSO0VVdDNMTTtJQUNFO0lBQ0E7RVZ3M0xSO0VVcjNMTTtJQUNFO0lBQ0E7RVZ1M0xSO0VVcDNMTTtJQUNFO0VWczNMUjtFVW4zTE07SUFDRTtFVnEzTFI7RVVsM0xNO0lBQ0U7RVZvM0xSO0VVajNMTTtJQUNFO0VWbTNMUjtFVTc2TEk7SUFDRTtFVis2TE47RVU1NkxJO0lBQ0U7SUFDQTtFVjg2TE47RVUzNkxJO0lBQ0U7SUFDQTtFVjY2TE47RVUxNkxJO0lBQ0U7RVY0NkxOO0VVejZMSTtJQUNFO0VWMjZMTjtFVXg2TEk7SUFDRTtFVjA2TE47RVV2NkxJO0lBQ0U7RVZ5NkxOO0VVcjZMTTtJQUNFO0VWdTZMUjtFVXA2TE07SUFDRTtJQUNBO0VWczZMUjtFVW42TE07SUFDRTtJQUNBO0VWcTZMUjtFVWw2TE07SUFDRTtFVm82TFI7RVVqNkxNO0lBQ0U7RVZtNkxSO0VVaDZMTTtJQUNFO0VWazZMUjtFVS81TE07SUFDRTtFVmk2TFI7RVUzOUxJO0lBQ0U7RVY2OUxOO0VVMTlMSTtJQUNFO0lBQ0E7RVY0OUxOO0VVejlMSTtJQUNFO0lBQ0E7RVYyOUxOO0VVeDlMSTtJQUNFO0VWMDlMTjtFVXY5TEk7SUFDRTtFVnk5TE47RVV0OUxJO0lBQ0U7RVZ3OUxOO0VVcjlMSTtJQUNFO0VWdTlMTjtFVW45TE07SUFDRTtFVnE5TFI7RVVsOUxNO0lBQ0U7SUFDQTtFVm85TFI7RVVqOUxNO0lBQ0U7SUFDQTtFVm05TFI7RVVoOUxNO0lBQ0U7RVZrOUxSO0VVLzhMTTtJQUNFO0VWaTlMUjtFVTk4TE07SUFDRTtFVmc5TFI7RVU3OExNO0lBQ0U7RVYrOExSO0VVemdNSTtJQUNFO0VWMmdNTjtFVXhnTUk7SUFDRTtJQUNBO0VWMGdNTjtFVXZnTUk7SUFDRTtJQUNBO0VWeWdNTjtFVXRnTUk7SUFDRTtFVndnTU47RVVyZ01JO0lBQ0U7RVZ1Z01OO0VVcGdNSTtJQUNFO0VWc2dNTjtFVW5nTUk7SUFDRTtFVnFnTU47RVVqZ01NO0lBQ0U7RVZtZ01SO0VVaGdNTTtJQUNFO0lBQ0E7RVZrZ01SO0VVLy9MTTtJQUNFO0lBQ0E7RVZpZ01SO0VVOS9MTTtJQUNFO0VWZ2dNUjtFVTcvTE07SUFDRTtFVisvTFI7RVU1L0xNO0lBQ0U7RVY4L0xSO0VVMy9MTTtJQUNFO0VWNi9MUjtFVXZqTUk7SUFDRTtFVnlqTU47RVV0ak1JO0lBQ0U7SUFDQTtFVndqTU47RVVyak1JO0lBQ0U7SUFDQTtFVnVqTU47RVVwak1JO0lBQ0U7RVZzak1OO0VVbmpNSTtJQUNFO0VWcWpNTjtFVWxqTUk7SUFDRTtFVm9qTU47RVVqak1JO0lBQ0U7RVZtak1OO0VVL2lNTTtJQUNFO0VWaWpNUjtFVTlpTU07SUFDRTtJQUNBO0VWZ2pNUjtFVTdpTU07SUFDRTtJQUNBO0VWK2lNUjtFVTVpTU07SUFDRTtFVjhpTVI7RVUzaU1NO0lBQ0U7RVY2aU1SO0VVMWlNTTtJQUNFO0VWNGlNUjtFVXppTU07SUFDRTtFVjJpTVI7RVVybU1JO0lBQ0U7RVZ1bU1OO0VVcG1NSTtJQUNFO0lBQ0E7RVZzbU1OO0VVbm1NSTtJQUNFO0lBQ0E7RVZxbU1OO0VVbG1NSTtJQUNFO0VWb21NTjtFVWptTUk7SUFDRTtFVm1tTU47RVVobU1JO0lBQ0U7RVZrbU1OO0VVL2xNSTtJQUNFO0VWaW1NTjtFVTdsTU07SUFDRTtFVitsTVI7RVU1bE1NO0lBQ0U7SUFDQTtFVjhsTVI7RVUzbE1NO0lBQ0U7SUFDQTtFVjZsTVI7RVUxbE1NO0lBQ0U7RVY0bE1SO0VVemxNTTtJQUNFO0VWMmxNUjtFVXhsTU07SUFDRTtFVjBsTVI7RVV2bE1NO0lBQ0U7RVZ5bE1SO0VVbnBNSTtJQUNFO0VWcXBNTjtFVWxwTUk7SUFDRTtJQUNBO0VWb3BNTjtFVWpwTUk7SUFDRTtJQUNBO0VWbXBNTjtFVWhwTUk7SUFDRTtFVmtwTU47RVUvb01JO0lBQ0U7RVZpcE1OO0VVOW9NSTtJQUNFO0VWZ3BNTjtFVTdvTUk7SUFDRTtFVitvTU47RVUzb01NO0lBQ0U7RVY2b01SO0VVMW9NTTtJQUNFO0lBQ0E7RVY0b01SO0VVem9NTTtJQUNFO0lBQ0E7RVYyb01SO0VVeG9NTTtJQUNFO0VWMG9NUjtFVXZvTU07SUFDRTtFVnlvTVI7RVV0b01NO0lBQ0U7RVZ3b01SO0VVcm9NTTtJQUNFO0VWdW9NUjtFVWpzTUk7SUFDRTtFVm1zTU47RVVoc01JO0lBQ0U7SUFDQTtFVmtzTU47RVUvck1JO0lBQ0U7SUFDQTtFVmlzTU47RVU5ck1JO0lBQ0U7RVZnc01OO0VVN3JNSTtJQUNFO0VWK3JNTjtFVTVyTUk7SUFDRTtFVjhyTU47RVUzck1JO0lBQ0U7RVY2ck1OO0VVenJNTTtJQUNFO0VWMnJNUjtFVXhyTU07SUFDRTtJQUNBO0VWMHJNUjtFVXZyTU07SUFDRTtJQUNBO0VWeXJNUjtFVXRyTU07SUFDRTtFVndyTVI7RVVyck1NO0lBQ0U7RVZ1ck1SO0VVcHJNTTtJQUNFO0VWc3JNUjtFVW5yTU07SUFDRTtFVnFyTVI7RVUvdU1JO0lBQ0U7RVZpdk1OO0VVOXVNSTtJQUNFO0lBQ0E7RVZndk1OO0VVN3VNSTtJQUNFO0lBQ0E7RVYrdU1OO0VVNXVNSTtJQUNFO0VWOHVNTjtFVTN1TUk7SUFDRTtFVjZ1TU47RVUxdU1JO0lBQ0U7RVY0dU1OO0VVenVNSTtJQUNFO0VWMnVNTjtFVXZ1TU07SUFDRTtFVnl1TVI7RVV0dU1NO0lBQ0U7SUFDQTtFVnd1TVI7RVVydU1NO0lBQ0U7SUFDQTtFVnV1TVI7RVVwdU1NO0lBQ0U7RVZzdU1SO0VVbnVNTTtJQUNFO0VWcXVNUjtFVWx1TU07SUFDRTtFVm91TVI7RVVqdU1NO0lBQ0U7RVZtdU1SO0FBQ0Y7QVUxcE9VO0VBNDNCSjtJQUNFO0VWaXlNTjtFVTl4TUk7SUFDRTtJQUNBO0VWZ3lNTjtFVTd4TUk7SUFDRTtJQUNBO0VWK3hNTjtFVTV4TUk7SUFDRTtFVjh4TU47RVUzeE1JO0lBQ0U7RVY2eE1OO0VVMXhNSTtJQUNFO0VWNHhNTjtFVXp4TUk7SUFDRTtFVjJ4TU47RVV2eE1NO0lBQ0U7RVZ5eE1SO0VVdHhNTTtJQUNFO0lBQ0E7RVZ3eE1SO0VVcnhNTTtJQUNFO0lBQ0E7RVZ1eE1SO0VVcHhNTTtJQUNFO0VWc3hNUjtFVW54TU07SUFDRTtFVnF4TVI7RVVseE1NO0lBQ0U7RVZveE1SO0VVanhNTTtJQUNFO0VWbXhNUjtFVTcwTUk7SUFDRTtFViswTU47RVU1ME1JO0lBQ0U7SUFDQTtFVjgwTU47RVUzME1JO0lBQ0U7SUFDQTtFVjYwTU47RVUxME1JO0lBQ0U7RVY0ME1OO0VVejBNSTtJQUNFO0VWMjBNTjtFVXgwTUk7SUFDRTtFVjAwTU47RVV2ME1JO0lBQ0U7RVZ5ME1OO0VVcDJNSTtJQUNFO0VWczJNTjtFVW4yTUk7SUFDRTtJQUNBO0VWcTJNTjtFVWwyTUk7SUFDRTtJQUNBO0VWbzJNTjtFVWoyTUk7SUFDRTtFVm0yTU47RVVoMk1JO0lBQ0U7RVZrMk1OO0VVLzFNSTtJQUNFO0VWaTJNTjtFVTkxTUk7SUFDRTtFVmcyTU47RVU1MU1NO0lBQ0U7RVY4MU1SO0VVMzFNTTtJQUNFO0lBQ0E7RVY2MU1SO0VVMTFNTTtJQUNFO0lBQ0E7RVY0MU1SO0VVejFNTTtJQUNFO0VWMjFNUjtFVXgxTU07SUFDRTtFVjAxTVI7RVV2MU1NO0lBQ0U7RVZ5MU1SO0VVdDFNTTtJQUNFO0VWdzFNUjtFVWw1TUk7SUFDRTtFVm81TU47RVVqNU1JO0lBQ0U7SUFDQTtFVm01TU47RVVoNU1JO0lBQ0U7SUFDQTtFVms1TU47RVUvNE1JO0lBQ0U7RVZpNU1OO0VVOTRNSTtJQUNFO0VWZzVNTjtFVTc0TUk7SUFDRTtFVis0TU47RVU1NE1JO0lBQ0U7RVY4NE1OO0VVMTRNTTtJQUNFO0VWNDRNUjtFVXo0TU07SUFDRTtJQUNBO0VWMjRNUjtFVXg0TU07SUFDRTtJQUNBO0VWMDRNUjtFVXY0TU07SUFDRTtFVnk0TVI7RVV0NE1NO0lBQ0U7RVZ3NE1SO0VVcjRNTTtJQUNFO0VWdTRNUjtFVXA0TU07SUFDRTtFVnM0TVI7RVVoOE1JO0lBQ0U7RVZrOE1OO0VVLzdNSTtJQUNFO0lBQ0E7RVZpOE1OO0VVOTdNSTtJQUNFO0lBQ0E7RVZnOE1OO0VVNzdNSTtJQUNFO0VWKzdNTjtFVTU3TUk7SUFDRTtFVjg3TU47RVUzN01JO0lBQ0U7RVY2N01OO0VVMTdNSTtJQUNFO0VWNDdNTjtFVXg3TU07SUFDRTtFVjA3TVI7RVV2N01NO0lBQ0U7SUFDQTtFVnk3TVI7RVV0N01NO0lBQ0U7SUFDQTtFVnc3TVI7RVVyN01NO0lBQ0U7RVZ1N01SO0VVcDdNTTtJQUNFO0VWczdNUjtFVW43TU07SUFDRTtFVnE3TVI7RVVsN01NO0lBQ0U7RVZvN01SO0VVOStNSTtJQUNFO0VWZy9NTjtFVTcrTUk7SUFDRTtJQUNBO0VWKytNTjtFVTUrTUk7SUFDRTtJQUNBO0VWOCtNTjtFVTMrTUk7SUFDRTtFVjYrTU47RVUxK01JO0lBQ0U7RVY0K01OO0VVeitNSTtJQUNFO0VWMitNTjtFVXgrTUk7SUFDRTtFVjArTU47RVV0K01NO0lBQ0U7RVZ3K01SO0VVcitNTTtJQUNFO0lBQ0E7RVZ1K01SO0VVcCtNTTtJQUNFO0lBQ0E7RVZzK01SO0VVbitNTTtJQUNFO0VWcStNUjtFVWwrTU07SUFDRTtFVm8rTVI7RVVqK01NO0lBQ0U7RVZtK01SO0VVaCtNTTtJQUNFO0VWaytNUjtFVTVoTkk7SUFDRTtFVjhoTk47RVUzaE5JO0lBQ0U7SUFDQTtFVjZoTk47RVUxaE5JO0lBQ0U7SUFDQTtFVjRoTk47RVV6aE5JO0lBQ0U7RVYyaE5OO0VVeGhOSTtJQUNFO0VWMGhOTjtFVXZoTkk7SUFDRTtFVnloTk47RVV0aE5JO0lBQ0U7RVZ3aE5OO0VVcGhOTTtJQUNFO0VWc2hOUjtFVW5oTk07SUFDRTtJQUNBO0VWcWhOUjtFVWxoTk07SUFDRTtJQUNBO0VWb2hOUjtFVWpoTk07SUFDRTtFVm1oTlI7RVVoaE5NO0lBQ0U7RVZraE5SO0VVL2dOTTtJQUNFO0VWaWhOUjtFVTlnTk07SUFDRTtFVmdoTlI7RVUxa05JO0lBQ0U7RVY0a05OO0VVemtOSTtJQUNFO0lBQ0E7RVYya05OO0VVeGtOSTtJQUNFO0lBQ0E7RVYwa05OO0VVdmtOSTtJQUNFO0VWeWtOTjtFVXRrTkk7SUFDRTtFVndrTk47RVVya05JO0lBQ0U7RVZ1a05OO0VVcGtOSTtJQUNFO0VWc2tOTjtFVWxrTk07SUFDRTtFVm9rTlI7RVVqa05NO0lBQ0U7SUFDQTtFVm1rTlI7RVVoa05NO0lBQ0U7SUFDQTtFVmtrTlI7RVUvak5NO0lBQ0U7RVZpa05SO0VVOWpOTTtJQUNFO0VWZ2tOUjtFVTdqTk07SUFDRTtFVitqTlI7RVU1ak5NO0lBQ0U7RVY4ak5SO0VVeG5OSTtJQUNFO0VWMG5OTjtFVXZuTkk7SUFDRTtJQUNBO0VWeW5OTjtFVXRuTkk7SUFDRTtJQUNBO0VWd25OTjtFVXJuTkk7SUFDRTtFVnVuTk47RVVwbk5JO0lBQ0U7RVZzbk5OO0VVbm5OSTtJQUNFO0VWcW5OTjtFVWxuTkk7SUFDRTtFVm9uTk47RVVobk5NO0lBQ0U7RVZrbk5SO0VVL21OTTtJQUNFO0lBQ0E7RVZpbk5SO0VVOW1OTTtJQUNFO0lBQ0E7RVZnbk5SO0VVN21OTTtJQUNFO0VWK21OUjtFVTVtTk07SUFDRTtFVjhtTlI7RVUzbU5NO0lBQ0U7RVY2bU5SO0VVMW1OTTtJQUNFO0VWNG1OUjtFVXRxTkk7SUFDRTtFVndxTk47RVVycU5JO0lBQ0U7SUFDQTtFVnVxTk47RVVwcU5JO0lBQ0U7SUFDQTtFVnNxTk47RVVucU5JO0lBQ0U7RVZxcU5OO0VVbHFOSTtJQUNFO0VWb3FOTjtFVWpxTkk7SUFDRTtFVm1xTk47RVVocU5JO0lBQ0U7RVZrcU5OO0VVOXBOTTtJQUNFO0VWZ3FOUjtFVTdwTk07SUFDRTtJQUNBO0VWK3BOUjtFVTVwTk07SUFDRTtJQUNBO0VWOHBOUjtFVTNwTk07SUFDRTtFVjZwTlI7RVUxcE5NO0lBQ0U7RVY0cE5SO0VVenBOTTtJQUNFO0VWMnBOUjtFVXhwTk07SUFDRTtFVjBwTlI7RVVwdE5JO0lBQ0U7RVZzdE5OO0VVbnROSTtJQUNFO0lBQ0E7RVZxdE5OO0VVbHROSTtJQUNFO0lBQ0E7RVZvdE5OO0VVanROSTtJQUNFO0VWbXROTjtFVWh0Tkk7SUFDRTtFVmt0Tk47RVUvc05JO0lBQ0U7RVZpdE5OO0VVOXNOSTtJQUNFO0VWZ3ROTjtFVTVzTk07SUFDRTtFVjhzTlI7RVUzc05NO0lBQ0U7SUFDQTtFVjZzTlI7RVUxc05NO0lBQ0U7SUFDQTtFVjRzTlI7RVV6c05NO0lBQ0U7RVYyc05SO0VVeHNOTTtJQUNFO0VWMHNOUjtFVXZzTk07SUFDRTtFVnlzTlI7RVV0c05NO0lBQ0U7RVZ3c05SO0VVbHdOSTtJQUNFO0VWb3dOTjtFVWp3Tkk7SUFDRTtJQUNBO0VWbXdOTjtFVWh3Tkk7SUFDRTtJQUNBO0VWa3dOTjtFVS92Tkk7SUFDRTtFVml3Tk47RVU5dk5JO0lBQ0U7RVZnd05OO0VVN3ZOSTtJQUNFO0VWK3ZOTjtFVTV2Tkk7SUFDRTtFVjh2Tk47RVUxdk5NO0lBQ0U7RVY0dk5SO0VVenZOTTtJQUNFO0lBQ0E7RVYydk5SO0VVeHZOTTtJQUNFO0lBQ0E7RVYwdk5SO0VVdnZOTTtJQUNFO0VWeXZOUjtFVXR2Tk07SUFDRTtFVnd2TlI7RVVydk5NO0lBQ0U7RVZ1dk5SO0VVcHZOTTtJQUNFO0VWc3ZOUjtFVWh6Tkk7SUFDRTtFVmt6Tk47RVUveU5JO0lBQ0U7SUFDQTtFVml6Tk47RVU5eU5JO0lBQ0U7SUFDQTtFVmd6Tk47RVU3eU5JO0lBQ0U7RVYreU5OO0VVNXlOSTtJQUNFO0VWOHlOTjtFVTN5Tkk7SUFDRTtFVjZ5Tk47RVUxeU5JO0lBQ0U7RVY0eU5OO0VVeHlOTTtJQUNFO0VWMHlOUjtFVXZ5Tk07SUFDRTtJQUNBO0VWeXlOUjtFVXR5Tk07SUFDRTtJQUNBO0VWd3lOUjtFVXJ5Tk07SUFDRTtFVnV5TlI7RVVweU5NO0lBQ0U7RVZzeU5SO0VVbnlOTTtJQUNFO0VWcXlOUjtFVWx5Tk07SUFDRTtFVm95TlI7RVU5MU5JO0lBQ0U7RVZnMk5OO0VVNzFOSTtJQUNFO0lBQ0E7RVYrMU5OO0VVNTFOSTtJQUNFO0lBQ0E7RVY4MU5OO0VVMzFOSTtJQUNFO0VWNjFOTjtFVTExTkk7SUFDRTtFVjQxTk47RVV6MU5JO0lBQ0U7RVYyMU5OO0VVeDFOSTtJQUNFO0VWMDFOTjtFVXQxTk07SUFDRTtFVncxTlI7RVVyMU5NO0lBQ0U7SUFDQTtFVnUxTlI7RVVwMU5NO0lBQ0U7SUFDQTtFVnMxTlI7RVVuMU5NO0lBQ0U7RVZxMU5SO0VVbDFOTTtJQUNFO0VWbzFOUjtFVWoxTk07SUFDRTtFVm0xTlI7RVVoMU5NO0lBQ0U7RVZrMU5SO0FBQ0Y7QVVoeFBRO0VBbTRCRjtJQUNFO0VWZzVOTjtFVTc0Tkk7SUFDRTtJQUNBO0VWKzROTjtFVTU0Tkk7SUFDRTtJQUNBO0VWODROTjtFVTM0Tkk7SUFDRTtFVjY0Tk47RVUxNE5JO0lBQ0U7RVY0NE5OO0VVejROSTtJQUNFO0VWMjROTjtFVXg0Tkk7SUFDRTtFVjA0Tk47RVV0NE5NO0lBQ0U7RVZ3NE5SO0VVcjROTTtJQUNFO0lBQ0E7RVZ1NE5SO0VVcDROTTtJQUNFO0lBQ0E7RVZzNE5SO0VVbjROTTtJQUNFO0VWcTROUjtFVWw0Tk07SUFDRTtFVm80TlI7RVVqNE5NO0lBQ0U7RVZtNE5SO0VVaDROTTtJQUNFO0VWazROUjtFVTU3Tkk7SUFDRTtFVjg3Tk47RVUzN05JO0lBQ0U7SUFDQTtFVjY3Tk47RVUxN05JO0lBQ0U7SUFDQTtFVjQ3Tk47RVV6N05JO0lBQ0U7RVYyN05OO0VVeDdOSTtJQUNFO0VWMDdOTjtFVXY3Tkk7SUFDRTtFVnk3Tk47RVV0N05JO0lBQ0U7RVZ3N05OO0VVbjlOSTtJQUNFO0VWcTlOTjtFVWw5Tkk7SUFDRTtJQUNBO0VWbzlOTjtFVWo5Tkk7SUFDRTtJQUNBO0VWbTlOTjtFVWg5Tkk7SUFDRTtFVms5Tk47RVUvOE5JO0lBQ0U7RVZpOU5OO0VVOThOSTtJQUNFO0VWZzlOTjtFVTc4Tkk7SUFDRTtFVis4Tk47RVUzOE5NO0lBQ0U7RVY2OE5SO0VVMThOTTtJQUNFO0lBQ0E7RVY0OE5SO0VVejhOTTtJQUNFO0lBQ0E7RVYyOE5SO0VVeDhOTTtJQUNFO0VWMDhOUjtFVXY4Tk07SUFDRTtFVnk4TlI7RVV0OE5NO0lBQ0U7RVZ3OE5SO0VVcjhOTTtJQUNFO0VWdThOUjtFVWpnT0k7SUFDRTtFVm1nT047RVVoZ09JO0lBQ0U7SUFDQTtFVmtnT047RVUvL05JO0lBQ0U7SUFDQTtFVmlnT047RVU5L05JO0lBQ0U7RVZnZ09OO0VVNy9OSTtJQUNFO0VWKy9OTjtFVTUvTkk7SUFDRTtFVjgvTk47RVUzL05JO0lBQ0U7RVY2L05OO0VVei9OTTtJQUNFO0VWMi9OUjtFVXgvTk07SUFDRTtJQUNBO0VWMC9OUjtFVXYvTk07SUFDRTtJQUNBO0VWeS9OUjtFVXQvTk07SUFDRTtFVncvTlI7RVVyL05NO0lBQ0U7RVZ1L05SO0VVcC9OTTtJQUNFO0VWcy9OUjtFVW4vTk07SUFDRTtFVnEvTlI7RVUvaU9JO0lBQ0U7RVZpak9OO0VVOWlPSTtJQUNFO0lBQ0E7RVZnak9OO0VVN2lPSTtJQUNFO0lBQ0E7RVYraU9OO0VVNWlPSTtJQUNFO0VWOGlPTjtFVTNpT0k7SUFDRTtFVjZpT047RVUxaU9JO0lBQ0U7RVY0aU9OO0VVemlPSTtJQUNFO0VWMmlPTjtFVXZpT007SUFDRTtFVnlpT1I7RVV0aU9NO0lBQ0U7SUFDQTtFVndpT1I7RVVyaU9NO0lBQ0U7SUFDQTtFVnVpT1I7RVVwaU9NO0lBQ0U7RVZzaU9SO0VVbmlPTTtJQUNFO0VWcWlPUjtFVWxpT007SUFDRTtFVm9pT1I7RVVqaU9NO0lBQ0U7RVZtaU9SO0VVN2xPSTtJQUNFO0VWK2xPTjtFVTVsT0k7SUFDRTtJQUNBO0VWOGxPTjtFVTNsT0k7SUFDRTtJQUNBO0VWNmxPTjtFVTFsT0k7SUFDRTtFVjRsT047RVV6bE9JO0lBQ0U7RVYybE9OO0VVeGxPSTtJQUNFO0VWMGxPTjtFVXZsT0k7SUFDRTtFVnlsT047RVVybE9NO0lBQ0U7RVZ1bE9SO0VVcGxPTTtJQUNFO0lBQ0E7RVZzbE9SO0VVbmxPTTtJQUNFO0lBQ0E7RVZxbE9SO0VVbGxPTTtJQUNFO0VWb2xPUjtFVWpsT007SUFDRTtFVm1sT1I7RVVobE9NO0lBQ0U7RVZrbE9SO0VVL2tPTTtJQUNFO0VWaWxPUjtFVTNvT0k7SUFDRTtFVjZvT047RVUxb09JO0lBQ0U7SUFDQTtFVjRvT047RVV6b09JO0lBQ0U7SUFDQTtFVjJvT047RVV4b09JO0lBQ0U7RVYwb09OO0VVdm9PSTtJQUNFO0VWeW9PTjtFVXRvT0k7SUFDRTtFVndvT047RVVyb09JO0lBQ0U7RVZ1b09OO0VVbm9PTTtJQUNFO0VWcW9PUjtFVWxvT007SUFDRTtJQUNBO0VWb29PUjtFVWpvT007SUFDRTtJQUNBO0VWbW9PUjtFVWhvT007SUFDRTtFVmtvT1I7RVUvbk9NO0lBQ0U7RVZpb09SO0VVOW5PTTtJQUNFO0VWZ29PUjtFVTduT007SUFDRTtFVituT1I7RVV6ck9JO0lBQ0U7RVYyck9OO0VVeHJPSTtJQUNFO0lBQ0E7RVYwck9OO0VVdnJPSTtJQUNFO0lBQ0E7RVZ5ck9OO0VVdHJPSTtJQUNFO0VWd3JPTjtFVXJyT0k7SUFDRTtFVnVyT047RVVwck9JO0lBQ0U7RVZzck9OO0VVbnJPSTtJQUNFO0VWcXJPTjtFVWpyT007SUFDRTtFVm1yT1I7RVVock9NO0lBQ0U7SUFDQTtFVmtyT1I7RVUvcU9NO0lBQ0U7SUFDQTtFVmlyT1I7RVU5cU9NO0lBQ0U7RVZnck9SO0VVN3FPTTtJQUNFO0VWK3FPUjtFVTVxT007SUFDRTtFVjhxT1I7RVUzcU9NO0lBQ0U7RVY2cU9SO0VVdnVPSTtJQUNFO0VWeXVPTjtFVXR1T0k7SUFDRTtJQUNBO0VWd3VPTjtFVXJ1T0k7SUFDRTtJQUNBO0VWdXVPTjtFVXB1T0k7SUFDRTtFVnN1T047RVVudU9JO0lBQ0U7RVZxdU9OO0VVbHVPSTtJQUNFO0VWb3VPTjtFVWp1T0k7SUFDRTtFVm11T047RVUvdE9NO0lBQ0U7RVZpdU9SO0VVOXRPTTtJQUNFO0lBQ0E7RVZndU9SO0VVN3RPTTtJQUNFO0lBQ0E7RVYrdE9SO0VVNXRPTTtJQUNFO0VWOHRPUjtFVTN0T007SUFDRTtFVjZ0T1I7RVUxdE9NO0lBQ0U7RVY0dE9SO0VVenRPTTtJQUNFO0VWMnRPUjtFVXJ4T0k7SUFDRTtFVnV4T047RVVweE9JO0lBQ0U7SUFDQTtFVnN4T047RVVueE9JO0lBQ0U7SUFDQTtFVnF4T047RVVseE9JO0lBQ0U7RVZveE9OO0VVanhPSTtJQUNFO0VWbXhPTjtFVWh4T0k7SUFDRTtFVmt4T047RVUvd09JO0lBQ0U7RVZpeE9OO0VVN3dPTTtJQUNFO0VWK3dPUjtFVTV3T007SUFDRTtJQUNBO0VWOHdPUjtFVTN3T007SUFDRTtJQUNBO0VWNndPUjtFVTF3T007SUFDRTtFVjR3T1I7RVV6d09NO0lBQ0U7RVYyd09SO0VVeHdPTTtJQUNFO0VWMHdPUjtFVXZ3T007SUFDRTtFVnl3T1I7RVVuME9JO0lBQ0U7RVZxME9OO0VVbDBPSTtJQUNFO0lBQ0E7RVZvME9OO0VVajBPSTtJQUNFO0lBQ0E7RVZtME9OO0VVaDBPSTtJQUNFO0VWazBPTjtFVS96T0k7SUFDRTtFVmkwT047RVU5ek9JO0lBQ0U7RVZnME9OO0VVN3pPSTtJQUNFO0VWK3pPTjtFVTN6T007SUFDRTtFVjZ6T1I7RVUxek9NO0lBQ0U7SUFDQTtFVjR6T1I7RVV6ek9NO0lBQ0U7SUFDQTtFVjJ6T1I7RVV4ek9NO0lBQ0U7RVYwek9SO0VVdnpPTTtJQUNFO0VWeXpPUjtFVXR6T007SUFDRTtFVnd6T1I7RVVyek9NO0lBQ0U7RVZ1ek9SO0VVajNPSTtJQUNFO0VWbTNPTjtFVWgzT0k7SUFDRTtJQUNBO0VWazNPTjtFVS8yT0k7SUFDRTtJQUNBO0VWaTNPTjtFVTkyT0k7SUFDRTtFVmczT047RVU3Mk9JO0lBQ0U7RVYrMk9OO0VVNTJPSTtJQUNFO0VWODJPTjtFVTMyT0k7SUFDRTtFVjYyT047RVV6Mk9NO0lBQ0U7RVYyMk9SO0VVeDJPTTtJQUNFO0lBQ0E7RVYwMk9SO0VVdjJPTTtJQUNFO0lBQ0E7RVZ5Mk9SO0VVdDJPTTtJQUNFO0VWdzJPUjtFVXIyT007SUFDRTtFVnUyT1I7RVVwMk9NO0lBQ0U7RVZzMk9SO0VVbjJPTTtJQUNFO0VWcTJPUjtFVS81T0k7SUFDRTtFVmk2T047RVU5NU9JO0lBQ0U7SUFDQTtFVmc2T047RVU3NU9JO0lBQ0U7SUFDQTtFVis1T047RVU1NU9JO0lBQ0U7RVY4NU9OO0VVMzVPSTtJQUNFO0VWNjVPTjtFVTE1T0k7SUFDRTtFVjQ1T047RVV6NU9JO0lBQ0U7RVYyNU9OO0VVdjVPTTtJQUNFO0VWeTVPUjtFVXQ1T007SUFDRTtJQUNBO0VWdzVPUjtFVXI1T007SUFDRTtJQUNBO0VWdTVPUjtFVXA1T007SUFDRTtFVnM1T1I7RVVuNU9NO0lBQ0U7RVZxNU9SO0VVbDVPTTtJQUNFO0VWbzVPUjtFVWo1T007SUFDRTtFVm01T1I7RVU3OE9JO0lBQ0U7RVYrOE9OO0VVNThPSTtJQUNFO0lBQ0E7RVY4OE9OO0VVMzhPSTtJQUNFO0lBQ0E7RVY2OE9OO0VVMThPSTtJQUNFO0VWNDhPTjtFVXo4T0k7SUFDRTtFVjI4T047RVV4OE9JO0lBQ0U7RVYwOE9OO0VVdjhPSTtJQUNFO0VWeThPTjtFVXI4T007SUFDRTtFVnU4T1I7RVVwOE9NO0lBQ0U7SUFDQTtFVnM4T1I7RVVuOE9NO0lBQ0U7SUFDQTtFVnE4T1I7RVVsOE9NO0lBQ0U7RVZvOE9SO0VVajhPTTtJQUNFO0VWbThPUjtFVWg4T007SUFDRTtFVms4T1I7RVUvN09NO0lBQ0U7RVZpOE9SO0FBQ0Y7QVVuNFFRO0VBdTRCRjtJQUNFO0VWKy9PTjtFVTUvT0k7SUFDRTtJQUNBO0VWOC9PTjtFVTMvT0k7SUFDRTtJQUNBO0VWNi9PTjtFVTEvT0k7SUFDRTtFVjQvT047RVV6L09JO0lBQ0U7RVYyL09OO0VVeC9PSTtJQUNFO0VWMC9PTjtFVXYvT0k7SUFDRTtFVnkvT047RVVyL09NO0lBQ0U7RVZ1L09SO0VVcC9PTTtJQUNFO0lBQ0E7RVZzL09SO0VVbi9PTTtJQUNFO0lBQ0E7RVZxL09SO0VVbC9PTTtJQUNFO0VWby9PUjtFVWovT007SUFDRTtFVm0vT1I7RVVoL09NO0lBQ0U7RVZrL09SO0VVLytPTTtJQUNFO0VWaS9PUjtFVTNpUEk7SUFDRTtFVjZpUE47RVUxaVBJO0lBQ0U7SUFDQTtFVjRpUE47RVV6aVBJO0lBQ0U7SUFDQTtFVjJpUE47RVV4aVBJO0lBQ0U7RVYwaVBOO0VVdmlQSTtJQUNFO0VWeWlQTjtFVXRpUEk7SUFDRTtFVndpUE47RVVyaVBJO0lBQ0U7RVZ1aVBOO0VVbGtQSTtJQUNFO0VWb2tQTjtFVWprUEk7SUFDRTtJQUNBO0VWbWtQTjtFVWhrUEk7SUFDRTtJQUNBO0VWa2tQTjtFVS9qUEk7SUFDRTtFVmlrUE47RVU5alBJO0lBQ0U7RVZna1BOO0VVN2pQSTtJQUNFO0VWK2pQTjtFVTVqUEk7SUFDRTtFVjhqUE47RVUxalBNO0lBQ0U7RVY0alBSO0VVempQTTtJQUNFO0lBQ0E7RVYyalBSO0VVeGpQTTtJQUNFO0lBQ0E7RVYwalBSO0VVdmpQTTtJQUNFO0VWeWpQUjtFVXRqUE07SUFDRTtFVndqUFI7RVVyalBNO0lBQ0U7RVZ1alBSO0VVcGpQTTtJQUNFO0VWc2pQUjtFVWhuUEk7SUFDRTtFVmtuUE47RVUvbVBJO0lBQ0U7SUFDQTtFVmluUE47RVU5bVBJO0lBQ0U7SUFDQTtFVmduUE47RVU3bVBJO0lBQ0U7RVYrbVBOO0VVNW1QSTtJQUNFO0VWOG1QTjtFVTNtUEk7SUFDRTtFVjZtUE47RVUxbVBJO0lBQ0U7RVY0bVBOO0VVeG1QTTtJQUNFO0VWMG1QUjtFVXZtUE07SUFDRTtJQUNBO0VWeW1QUjtFVXRtUE07SUFDRTtJQUNBO0VWd21QUjtFVXJtUE07SUFDRTtFVnVtUFI7RVVwbVBNO0lBQ0U7RVZzbVBSO0VVbm1QTTtJQUNFO0VWcW1QUjtFVWxtUE07SUFDRTtFVm9tUFI7RVU5cFBJO0lBQ0U7RVZncVBOO0VVN3BQSTtJQUNFO0lBQ0E7RVYrcFBOO0VVNXBQSTtJQUNFO0lBQ0E7RVY4cFBOO0VVM3BQSTtJQUNFO0VWNnBQTjtFVTFwUEk7SUFDRTtFVjRwUE47RVV6cFBJO0lBQ0U7RVYycFBOO0VVeHBQSTtJQUNFO0VWMHBQTjtFVXRwUE07SUFDRTtFVndwUFI7RVVycFBNO0lBQ0U7SUFDQTtFVnVwUFI7RVVwcFBNO0lBQ0U7SUFDQTtFVnNwUFI7RVVucFBNO0lBQ0U7RVZxcFBSO0VVbHBQTTtJQUNFO0VWb3BQUjtFVWpwUE07SUFDRTtFVm1wUFI7RVVocFBNO0lBQ0U7RVZrcFBSO0VVNXNQSTtJQUNFO0VWOHNQTjtFVTNzUEk7SUFDRTtJQUNBO0VWNnNQTjtFVTFzUEk7SUFDRTtJQUNBO0VWNHNQTjtFVXpzUEk7SUFDRTtFVjJzUE47RVV4c1BJO0lBQ0U7RVYwc1BOO0VVdnNQSTtJQUNFO0VWeXNQTjtFVXRzUEk7SUFDRTtFVndzUE47RVVwc1BNO0lBQ0U7RVZzc1BSO0VVbnNQTTtJQUNFO0lBQ0E7RVZxc1BSO0VVbHNQTTtJQUNFO0lBQ0E7RVZvc1BSO0VVanNQTTtJQUNFO0VWbXNQUjtFVWhzUE07SUFDRTtFVmtzUFI7RVUvclBNO0lBQ0U7RVZpc1BSO0VVOXJQTTtJQUNFO0VWZ3NQUjtFVTF2UEk7SUFDRTtFVjR2UE47RVV6dlBJO0lBQ0U7SUFDQTtFVjJ2UE47RVV4dlBJO0lBQ0U7SUFDQTtFVjB2UE47RVV2dlBJO0lBQ0U7RVZ5dlBOO0VVdHZQSTtJQUNFO0VWd3ZQTjtFVXJ2UEk7SUFDRTtFVnV2UE47RVVwdlBJO0lBQ0U7RVZzdlBOO0VVbHZQTTtJQUNFO0VWb3ZQUjtFVWp2UE07SUFDRTtJQUNBO0VWbXZQUjtFVWh2UE07SUFDRTtJQUNBO0VWa3ZQUjtFVS91UE07SUFDRTtFVml2UFI7RVU5dVBNO0lBQ0U7RVZndlBSO0VVN3VQTTtJQUNFO0VWK3VQUjtFVTV1UE07SUFDRTtFVjh1UFI7RVV4eVBJO0lBQ0U7RVYweVBOO0VVdnlQSTtJQUNFO0lBQ0E7RVZ5eVBOO0VVdHlQSTtJQUNFO0lBQ0E7RVZ3eVBOO0VVcnlQSTtJQUNFO0VWdXlQTjtFVXB5UEk7SUFDRTtFVnN5UE47RVVueVBJO0lBQ0U7RVZxeVBOO0VVbHlQSTtJQUNFO0VWb3lQTjtFVWh5UE07SUFDRTtFVmt5UFI7RVUveFBNO0lBQ0U7SUFDQTtFVml5UFI7RVU5eFBNO0lBQ0U7SUFDQTtFVmd5UFI7RVU3eFBNO0lBQ0U7RVYreFBSO0VVNXhQTTtJQUNFO0VWOHhQUjtFVTN4UE07SUFDRTtFVjZ4UFI7RVUxeFBNO0lBQ0U7RVY0eFBSO0VVdDFQSTtJQUNFO0VWdzFQTjtFVXIxUEk7SUFDRTtJQUNBO0VWdTFQTjtFVXAxUEk7SUFDRTtJQUNBO0VWczFQTjtFVW4xUEk7SUFDRTtFVnExUE47RVVsMVBJO0lBQ0U7RVZvMVBOO0VVajFQSTtJQUNFO0VWbTFQTjtFVWgxUEk7SUFDRTtFVmsxUE47RVU5MFBNO0lBQ0U7RVZnMVBSO0VVNzBQTTtJQUNFO0lBQ0E7RVYrMFBSO0VVNTBQTTtJQUNFO0lBQ0E7RVY4MFBSO0VVMzBQTTtJQUNFO0VWNjBQUjtFVTEwUE07SUFDRTtFVjQwUFI7RVV6MFBNO0lBQ0U7RVYyMFBSO0VVeDBQTTtJQUNFO0VWMDBQUjtFVXA0UEk7SUFDRTtFVnM0UE47RVVuNFBJO0lBQ0U7SUFDQTtFVnE0UE47RVVsNFBJO0lBQ0U7SUFDQTtFVm80UE47RVVqNFBJO0lBQ0U7RVZtNFBOO0VVaDRQSTtJQUNFO0VWazRQTjtFVS8zUEk7SUFDRTtFVmk0UE47RVU5M1BJO0lBQ0U7RVZnNFBOO0VVNTNQTTtJQUNFO0VWODNQUjtFVTMzUE07SUFDRTtJQUNBO0VWNjNQUjtFVTEzUE07SUFDRTtJQUNBO0VWNDNQUjtFVXozUE07SUFDRTtFVjIzUFI7RVV4M1BNO0lBQ0U7RVYwM1BSO0VVdjNQTTtJQUNFO0VWeTNQUjtFVXQzUE07SUFDRTtFVnczUFI7RVVsN1BJO0lBQ0U7RVZvN1BOO0VVajdQSTtJQUNFO0lBQ0E7RVZtN1BOO0VVaDdQSTtJQUNFO0lBQ0E7RVZrN1BOO0VVLzZQSTtJQUNFO0VWaTdQTjtFVTk2UEk7SUFDRTtFVmc3UE47RVU3NlBJO0lBQ0U7RVYrNlBOO0VVNTZQSTtJQUNFO0VWODZQTjtFVTE2UE07SUFDRTtFVjQ2UFI7RVV6NlBNO0lBQ0U7SUFDQTtFVjI2UFI7RVV4NlBNO0lBQ0U7SUFDQTtFVjA2UFI7RVV2NlBNO0lBQ0U7RVZ5NlBSO0VVdDZQTTtJQUNFO0VWdzZQUjtFVXI2UE07SUFDRTtFVnU2UFI7RVVwNlBNO0lBQ0U7RVZzNlBSO0VVaCtQSTtJQUNFO0VWaytQTjtFVS85UEk7SUFDRTtJQUNBO0VWaStQTjtFVTk5UEk7SUFDRTtJQUNBO0VWZytQTjtFVTc5UEk7SUFDRTtFVis5UE47RVU1OVBJO0lBQ0U7RVY4OVBOO0VVMzlQSTtJQUNFO0VWNjlQTjtFVTE5UEk7SUFDRTtFVjQ5UE47RVV4OVBNO0lBQ0U7RVYwOVBSO0VVdjlQTTtJQUNFO0lBQ0E7RVZ5OVBSO0VVdDlQTTtJQUNFO0lBQ0E7RVZ3OVBSO0VVcjlQTTtJQUNFO0VWdTlQUjtFVXA5UE07SUFDRTtFVnM5UFI7RVVuOVBNO0lBQ0U7RVZxOVBSO0VVbDlQTTtJQUNFO0VWbzlQUjtFVTlnUUk7SUFDRTtFVmdoUU47RVU3Z1FJO0lBQ0U7SUFDQTtFVitnUU47RVU1Z1FJO0lBQ0U7SUFDQTtFVjhnUU47RVUzZ1FJO0lBQ0U7RVY2Z1FOO0VVMWdRSTtJQUNFO0VWNGdRTjtFVXpnUUk7SUFDRTtFVjJnUU47RVV4Z1FJO0lBQ0U7RVYwZ1FOO0VVdGdRTTtJQUNFO0VWd2dRUjtFVXJnUU07SUFDRTtJQUNBO0VWdWdRUjtFVXBnUU07SUFDRTtJQUNBO0VWc2dRUjtFVW5nUU07SUFDRTtFVnFnUVI7RVVsZ1FNO0lBQ0U7RVZvZ1FSO0VVamdRTTtJQUNFO0VWbWdRUjtFVWhnUU07SUFDRTtFVmtnUVI7RVU1alFJO0lBQ0U7RVY4alFOO0VVM2pRSTtJQUNFO0lBQ0E7RVY2alFOO0VVMWpRSTtJQUNFO0lBQ0E7RVY0alFOO0VVempRSTtJQUNFO0VWMmpRTjtFVXhqUUk7SUFDRTtFVjBqUU47RVV2alFJO0lBQ0U7RVZ5alFOO0VVdGpRSTtJQUNFO0VWd2pRTjtFVXBqUU07SUFDRTtFVnNqUVI7RVVualFNO0lBQ0U7SUFDQTtFVnFqUVI7RVVsalFNO0lBQ0U7SUFDQTtFVm9qUVI7RVVqalFNO0lBQ0U7RVZtalFSO0VVaGpRTTtJQUNFO0VWa2pRUjtFVS9pUU07SUFDRTtFVmlqUVI7RVU5aVFNO0lBQ0U7RVZnalFSO0FBQ0Y7QXdEN2dTQTs7K0VBQUE7QUFJQTsrRUFBQTtBOUN1bENNO0VBQ0U7QVZ5N1BSOztBVTE3UE07RUFDRTtBVjY3UFI7O0FVOTdQTTtFQUNFO0FWaThQUjs7QVU3NVBNO0VBQ0U7RUFDQTtBVmc2UFI7O0FVbDZQTTtFQUNFO0VBQ0E7QVZxNlBSOztBVXY2UE07RUFDRTtFQUNBO0FWMDZQUjs7QVU1NlBNO0VBQ0U7RUFDQTtBVis2UFI7O0FVajdQTTtFQUNFO0VBQ0E7QVZvN1BSOztBVXQ3UE07RUFDRTtFQUNBO0FWeTdQUjs7QVUzN1BNO0VBQ0U7RUFDQTtBVjg3UFI7O0FVaDhQTTtFQUNFO0VBQ0E7QVZtOFBSOztBVXI4UE07RUFDRTtFQUNBO0FWdzhQUjs7QVUxOFBNO0VBQ0U7RUFDQTtBVjY4UFI7O0FVLzhQTTtFQUNFO0VBQ0E7QVZrOVBSOztBVXI3UE07RUFDRTtBVnc3UFI7O0FVOTVQRTtFQUNFO0FWaTZQSjs7QVU5NVBFO0VBQ0U7QVZpNlBKOztBVTk1UEU7RUFDRTtBVmk2UEo7O0FVOTVQRTtFQUNFO0FWaTZQSjs7QVV6NFBFO0VBQ0U7QVY0NFBKOztBVXo0UEU7RUFDRTtBVjQ0UEo7O0FVejRQRTtFQUNFO0FWNDRQSjs7QVV6NFBFO0VBQ0U7QVY0NFBKOztBVXAzUEU7RUFDRTtBVnUzUEo7O0FVcDNQRTtFQUNFO0FWdTNQSjs7QVVwM1BFO0VBQ0U7QVZ1M1BKOztBVXAzUEU7RUFDRTtBVnUzUEo7O0FVcDNQRTtFQUNFO0FWdTNQSjs7QVVwM1BFO0VBQ0U7QVZ1M1BKOztBVXAzUEU7RUFDRTtBVnUzUEo7O0FVcDNQRTtFQUNFO0FWdTNQSjs7QVU5bVNVO0VBaWpDSjtJQUNFO0VWaWtRTjtFVWxrUUk7SUFDRTtFVm9rUU47RVVya1FJO0lBQ0U7RVZ1a1FOO0FBQ0Y7QVV6b1NRO0VBZ2tDRjtJQUNFO0VWNGtRTjtFVTdrUUk7SUFDRTtFVitrUU47RVVobFFJO0lBQ0U7RVZrbFFOO0FBQ0Y7QVV6b1NVO0VBcWpDSjtJQUNFO0VWdWxRTjtFVXhsUUk7SUFDRTtFVjBsUU47RVUzbFFJO0lBQ0U7RVY2bFFOO0FBQ0Y7QVUzcFNRO0VBNGpDRjtJQUNFO0VWa21RTjtFVW5tUUk7SUFDRTtFVnFtUU47RVV0bVFJO0lBQ0U7RVZ3bVFOO0FBQ0Y7QVUxcVNRO0VBZ2tDRjtJQUNFO0VWNm1RTjtFVTltUUk7SUFDRTtFVmduUU47RVVqblFJO0lBQ0U7RVZtblFOO0FBQ0Y7QVV0cVNVO0VBc2xDSjtJQUNFO0lBQ0E7RVZtbFFOO0VVcmxRSTtJQUNFO0lBQ0E7RVZ1bFFOO0VVemxRSTtJQUNFO0lBQ0E7RVYybFFOO0VVN2xRSTtJQUNFO0lBQ0E7RVYrbFFOO0VVam1RSTtJQUNFO0lBQ0E7RVZtbVFOO0VVcm1RSTtJQUNFO0lBQ0E7RVZ1bVFOO0VVem1RSTtJQUNFO0lBQ0E7RVYybVFOO0VVN21RSTtJQUNFO0lBQ0E7RVYrbVFOO0VVam5RSTtJQUNFO0lBQ0E7RVZtblFOO0VVcm5RSTtJQUNFO0lBQ0E7RVZ1blFOO0VVem5RSTtJQUNFO0lBQ0E7RVYyblFOO0FBQ0Y7QVVudVNRO0VBcW1DRjtJQUNFO0lBQ0E7RVZpb1FOO0VVbm9RSTtJQUNFO0lBQ0E7RVZxb1FOO0VVdm9RSTtJQUNFO0lBQ0E7RVZ5b1FOO0VVM29RSTtJQUNFO0lBQ0E7RVY2b1FOO0VVL29RSTtJQUNFO0lBQ0E7RVZpcFFOO0VVbnBRSTtJQUNFO0lBQ0E7RVZxcFFOO0VVdnBRSTtJQUNFO0lBQ0E7RVZ5cFFOO0VVM3BRSTtJQUNFO0lBQ0E7RVY2cFFOO0VVL3BRSTtJQUNFO0lBQ0E7RVZpcVFOO0VVbnFRSTtJQUNFO0lBQ0E7RVZxcVFOO0VVdnFRSTtJQUNFO0lBQ0E7RVZ5cVFOO0FBQ0Y7QVV0d1NVO0VBMGxDSjtJQUNFO0lBQ0E7RVYrcVFOO0VVanJRSTtJQUNFO0lBQ0E7RVZtclFOO0VVcnJRSTtJQUNFO0lBQ0E7RVZ1clFOO0VVenJRSTtJQUNFO0lBQ0E7RVYyclFOO0VVN3JRSTtJQUNFO0lBQ0E7RVYrclFOO0VVanNRSTtJQUNFO0lBQ0E7RVZtc1FOO0VVcnNRSTtJQUNFO0lBQ0E7RVZ1c1FOO0VVenNRSTtJQUNFO0lBQ0E7RVYyc1FOO0VVN3NRSTtJQUNFO0lBQ0E7RVYrc1FOO0VVanRRSTtJQUNFO0lBQ0E7RVZtdFFOO0VVcnRRSTtJQUNFO0lBQ0E7RVZ1dFFOO0FBQ0Y7QVUzelNRO0VBaW1DRjtJQUNFO0lBQ0E7RVY2dFFOO0VVL3RRSTtJQUNFO0lBQ0E7RVZpdVFOO0VVbnVRSTtJQUNFO0lBQ0E7RVZxdVFOO0VVdnVRSTtJQUNFO0lBQ0E7RVZ5dVFOO0VVM3VRSTtJQUNFO0lBQ0E7RVY2dVFOO0VVL3VRSTtJQUNFO0lBQ0E7RVZpdlFOO0VVbnZRSTtJQUNFO0lBQ0E7RVZxdlFOO0VVdnZRSTtJQUNFO0lBQ0E7RVZ5dlFOO0VVM3ZRSTtJQUNFO0lBQ0E7RVY2dlFOO0VVL3ZRSTtJQUNFO0lBQ0E7RVZpd1FOO0VVbndRSTtJQUNFO0lBQ0E7RVZxd1FOO0FBQ0Y7QVU3MlNRO0VBcW1DRjtJQUNFO0lBQ0E7RVYyd1FOO0VVN3dRSTtJQUNFO0lBQ0E7RVYrd1FOO0VVanhRSTtJQUNFO0lBQ0E7RVZteFFOO0VVcnhRSTtJQUNFO0lBQ0E7RVZ1eFFOO0VVenhRSTtJQUNFO0lBQ0E7RVYyeFFOO0VVN3hRSTtJQUNFO0lBQ0E7RVYreFFOO0VVanlRSTtJQUNFO0lBQ0E7RVZteVFOO0VVcnlRSTtJQUNFO0lBQ0E7RVZ1eVFOO0VVenlRSTtJQUNFO0lBQ0E7RVYyeVFOO0VVN3lRSTtJQUNFO0lBQ0E7RVYreVFOO0VVanpRSTtJQUNFO0lBQ0E7RVZtelFOO0FBQ0Y7QVU1NFNVO0VBcW5DSjtJQUNFO0VWMHhRTjtBQUNGO0FVaDZTUTtFQW9vQ0Y7SUFDRTtFVit4UU47QUFDRjtBVTE1U1U7RUF5bkNKO0lBQ0U7RVZveVFOO0FBQ0Y7QVV0NlNRO0VBZ29DRjtJQUNFO0VWeXlRTjtBQUNGO0FVLzZTUTtFQW9vQ0Y7SUFDRTtFVjh5UU47QUFDRjtBVXI2U1U7RUFncENSO0lBQ0U7RVZ3eFFGO0VVcnhRQTtJQUNFO0VWdXhRRjtFVXB4UUE7SUFDRTtFVnN4UUY7RVVueFFBO0lBQ0U7RVZxeFFGO0FBQ0Y7QVVsOFNRO0VBK3BDTjtJQUNFO0VWc3lRRjtFVW55UUE7SUFDRTtFVnF5UUY7RVVseVFBO0lBQ0U7RVZveVFGO0VVanlRQTtJQUNFO0VWbXlRRjtBQUNGO0FVcjhTVTtFQW9wQ1I7SUFDRTtFVm96UUY7RVVqelFBO0lBQ0U7RVZtelFGO0VVaHpRQTtJQUNFO0VWa3pRRjtFVS95UUE7SUFDRTtFVml6UUY7QUFDRjtBVTE5U1E7RUEycENOO0lBQ0U7RVZrMFFGO0VVL3pRQTtJQUNFO0VWaTBRRjtFVTl6UUE7SUFDRTtFVmcwUUY7RVU3elFBO0lBQ0U7RVYrelFGO0FBQ0Y7QVU1K1NRO0VBK3BDTjtJQUNFO0VWZzFRRjtFVTcwUUE7SUFDRTtFViswUUY7RVU1MFFBO0lBQ0U7RVY4MFFGO0VVMzBRQTtJQUNFO0VWNjBRRjtBQUNGO0FVMytTVTtFQXFyQ1I7SUFDRTtFVnl6UUY7RVV0elFBO0lBQ0U7RVZ3elFGO0VVcnpRQTtJQUNFO0VWdXpRRjtFVXB6UUE7SUFDRTtFVnN6UUY7QUFDRjtBVXhnVFE7RUFvc0NOO0lBQ0U7RVZ1MFFGO0VVcDBRQTtJQUNFO0VWczBRRjtFVW4wUUE7SUFDRTtFVnEwUUY7RVVsMFFBO0lBQ0U7RVZvMFFGO0FBQ0Y7QVUzZ1RVO0VBeXJDUjtJQUNFO0VWcTFRRjtFVWwxUUE7SUFDRTtFVm8xUUY7RVVqMVFBO0lBQ0U7RVZtMVFGO0VVaDFRQTtJQUNFO0VWazFRRjtBQUNGO0FVaGlUUTtFQWdzQ047SUFDRTtFVm0yUUY7RVVoMlFBO0lBQ0U7RVZrMlFGO0VVLzFRQTtJQUNFO0VWaTJRRjtFVTkxUUE7SUFDRTtFVmcyUUY7QUFDRjtBVWxqVFE7RUFvc0NOO0lBQ0U7RVZpM1FGO0VVOTJRQTtJQUNFO0VWZzNRRjtFVTcyUUE7SUFDRTtFVisyUUY7RVU1MlFBO0lBQ0U7RVY4MlFGO0FBQ0Y7QVVqalRVO0VBMHRDUjtJQUNFO0VWMDFRRjtFVXYxUUE7SUFDRTtFVnkxUUY7RVV0MVFBO0lBQ0U7RVZ3MVFGO0VVcjFRQTtJQUNFO0VWdTFRRjtFVXAxUUE7SUFDRTtFVnMxUUY7RVVuMVFBO0lBQ0U7RVZxMVFGO0VVbDFRQTtJQUNFO0VWbzFRRjtFVWoxUUE7SUFDRTtFVm0xUUY7QUFDRjtBVTFsVFE7RUF5dUNOO0lBQ0U7RVZvM1FGO0VVajNRQTtJQUNFO0VWbTNRRjtFVWgzUUE7SUFDRTtFVmszUUY7RVUvMlFBO0lBQ0U7RVZpM1FGO0VVOTJRQTtJQUNFO0VWZzNRRjtFVTcyUUE7SUFDRTtFVisyUUY7RVU1MlFBO0lBQ0U7RVY4MlFGO0VVMzJRQTtJQUNFO0VWNjJRRjtBQUNGO0FVem1UVTtFQTh0Q1I7SUFDRTtFVjg0UUY7RVUzNFFBO0lBQ0U7RVY2NFFGO0VVMTRRQTtJQUNFO0VWNDRRRjtFVXo0UUE7SUFDRTtFVjI0UUY7RVV4NFFBO0lBQ0U7RVYwNFFGO0VVdjRRQTtJQUNFO0VWeTRRRjtFVXQ0UUE7SUFDRTtFVnc0UUY7RVVyNFFBO0lBQ0U7RVZ1NFFGO0FBQ0Y7QVUxb1RRO0VBcXVDTjtJQUNFO0VWdzZRRjtFVXI2UUE7SUFDRTtFVnU2UUY7RVVwNlFBO0lBQ0U7RVZzNlFGO0VVbjZRQTtJQUNFO0VWcTZRRjtFVWw2UUE7SUFDRTtFVm82UUY7RVVqNlFBO0lBQ0U7RVZtNlFGO0VVaDZRQTtJQUNFO0VWazZRRjtFVS81UUE7SUFDRTtFVmk2UUY7QUFDRjtBVXhxVFE7RUF5dUNOO0lBQ0U7RVZrOFFGO0VVLzdRQTtJQUNFO0VWaThRRjtFVTk3UUE7SUFDRTtFVmc4UUY7RVU3N1FBO0lBQ0U7RVYrN1FGO0VVNTdRQTtJQUNFO0VWODdRRjtFVTM3UUE7SUFDRTtFVjY3UUY7RVUxN1FBO0lBQ0U7RVY0N1FGO0VVejdRQTtJQUNFO0VWMjdRRjtBQUNGLEMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9hc3NldHMvZ29kcmVhdVRoZW1lL3N0eWxlcy9hcHAuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvZ29kcmVhdVRoZW1lL3N0eWxlcy9zZXR0aW5ncy9fY29sb3JzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL2dvZHJlYXVUaGVtZS9zdHlsZXMvc2V0dGluZ3MvX2ZvbnRzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL2dvZHJlYXVUaGVtZS9zdHlsZXMvc2V0dGluZ3MvX2dsb2JhbC5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9nb2RyZWF1VGhlbWUvc3R5bGVzL3NldHRpbmdzL19yb290LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2F0b21pYy1idWlsZGVyL3Njc3MvYXRvbWljLWJ1aWxkZXIuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYXRvbWljLWJ1aWxkZXIvc2Nzcy9nZW5lcmljL19ub3JtYWxpemUuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYXRvbWljLWJ1aWxkZXIvc2Nzcy9nZW5lcmljL19ib3gtc2l6aW5nLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2F0b21pYy1idWlsZGVyL3Njc3MvZ2VuZXJpYy9fcmVzZXQuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYXRvbWljLWJ1aWxkZXIvc2Nzcy9nZW5lcmljL19zaGFyZWQuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYXRvbWljLWJ1aWxkZXIvc2Nzcy90b29scy9fbWl4aW5zLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2F0b21pYy1idWlsZGVyL3Njc3MvZWxlbWVudHMvX3Jvb3Quc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYXRvbWljLWJ1aWxkZXIvc2Nzcy9lbGVtZW50cy9fcGFnZS5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9hdG9taWMtYnVpbGRlci9zY3NzL2VsZW1lbnRzL19oZWFkaW5ncy5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9hdG9taWMtYnVpbGRlci9zY3NzL2VsZW1lbnRzL19mb3Jtcy5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9hdG9taWMtYnVpbGRlci9zY3NzL2VsZW1lbnRzL190YWJsZXMuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYXRvbWljLWJ1aWxkZXIvc2Nzcy9vYmplY3RzL19ncmlkLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2F0b21pYy1idWlsZGVyL3Njc3Mvb2JqZWN0cy9fY29udGFpbmVyLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL2dvZHJlYXVUaGVtZS9zdHlsZXMvdXRpbGl0aWVzL19saW5rcy1zdGF0ZXMuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvZ29kcmVhdVRoZW1lL3N0eWxlcy91dGlsaXRpZXMvX2NvdmVyLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL2dvZHJlYXVUaGVtZS9zdHlsZXMvdXRpbGl0aWVzL19yb3VuZGVkLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL2dvZHJlYXVUaGVtZS9zdHlsZXMvb2JqZWN0cy9fZ2FsbGVyeS5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9nb2RyZWF1VGhlbWUvc3R5bGVzL2VsZW1lbnRzL19mb3Jtcy5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9nb2RyZWF1VGhlbWUvc3R5bGVzL2VsZW1lbnRzL19oZWFkaW5ncy5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9nb2RyZWF1VGhlbWUvc3R5bGVzL2VsZW1lbnRzL19wYWdlLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL2dvZHJlYXVUaGVtZS9zdHlsZXMvY29tcG9uZW50cy9fYm9keS5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9nb2RyZWF1VGhlbWUvc3R5bGVzL2NvbXBvbmVudHMvX2JveGVzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL2dvZHJlYXVUaGVtZS9zdHlsZXMvY29tcG9uZW50cy9fYnJlYWRjcnVtYi5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9nb2RyZWF1VGhlbWUvc3R5bGVzL2NvbXBvbmVudHMvX2J1cmdlci5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9nb2RyZWF1VGhlbWUvc3R5bGVzL2NvbXBvbmVudHMvX2J1dHRvbnMuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvZ29kcmVhdVRoZW1lL3N0eWxlcy9jb21wb25lbnRzL2ZpZWxkcy5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9nb2RyZWF1VGhlbWUvc3R5bGVzL2NvbXBvbmVudHMvX2Zvb3Rlci5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9nb2RyZWF1VGhlbWUvc3R5bGVzL2NvbXBvbmVudHMvX2hlYWRlci5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9nb2RyZWF1VGhlbWUvc3R5bGVzL2NvbXBvbmVudHMvX2ljb25zLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL2dvZHJlYXVUaGVtZS9zdHlsZXMvY29tcG9uZW50cy9fbGlua3Muc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvZ29kcmVhdVRoZW1lL3N0eWxlcy9jb21wb25lbnRzL19saXN0cy5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9nb2RyZWF1VGhlbWUvc3R5bGVzL2NvbXBvbmVudHMvX21haW4uc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvZ29kcmVhdVRoZW1lL3N0eWxlcy9jb21wb25lbnRzL19tYXAuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvZ29kcmVhdVRoZW1lL3N0eWxlcy9jb21wb25lbnRzL19tZW51LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL2dvZHJlYXVUaGVtZS9zdHlsZXMvY29tcG9uZW50cy9fcGFnZS5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9nb2RyZWF1VGhlbWUvc3R5bGVzL2NvbXBvbmVudHMvX3F1b3RlLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL2dvZHJlYXVUaGVtZS9zdHlsZXMvY29tcG9uZW50cy9fc2tpcGxpbmtzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL2dvZHJlYXVUaGVtZS9zdHlsZXMvY29tcG9uZW50cy9fc3VibWVudS5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9nb2RyZWF1VGhlbWUvc3R5bGVzL2NvbXBvbmVudHMvX3N1bW1hcnkuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvZ29kcmVhdVRoZW1lL3N0eWxlcy9jb21wb25lbnRzL19zd2lwZXJzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL2dvZHJlYXVUaGVtZS9zdHlsZXMvY29tcG9uZW50cy9fdG9wYmFyLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2F0b21pYy1idWlsZGVyL3Njc3MvdXRpbGl0aWVzL19jb2xvcnMuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYXRvbWljLWJ1aWxkZXIvc2Nzcy91dGlsaXRpZXMvX2N1cnNvcnMuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYXRvbWljLWJ1aWxkZXIvc2Nzcy91dGlsaXRpZXMvX2Rpc3BsYXkuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYXRvbWljLWJ1aWxkZXIvc2Nzcy91dGlsaXRpZXMvX2ZsZXguc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYXRvbWljLWJ1aWxkZXIvc2Nzcy91dGlsaXRpZXMvX2hlbHBlci5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9hdG9taWMtYnVpbGRlci9zY3NzL3V0aWxpdGllcy9fb3ZlcmZsb3cuc2NzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvYXRvbWljLWJ1aWxkZXIvc2Nzcy91dGlsaXRpZXMvX3Bvc2l0aW9uLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2F0b21pYy1idWlsZGVyL3Njc3MvdXRpbGl0aWVzL19yZXNldC5zY3NzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9hdG9taWMtYnVpbGRlci9zY3NzL3V0aWxpdGllcy9fc2l6aW5nLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2F0b21pYy1idWlsZGVyL3Njc3MvdXRpbGl0aWVzL19zcGFjaW5nLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2F0b21pYy1idWlsZGVyL3Njc3MvdXRpbGl0aWVzL190ZXh0LnNjc3MiXSwic291cmNlc0NvbnRlbnQiOlsiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIElNUE9SVFNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8vIFNldHRpbmdzIDogVXNlZCB3aXRoIHByZXByb2Nlc3NvcnMgYW5kIGNvbnRhaW4gZm9udCwgY29sb3JzIGRlZmluaXRpb25zLCBldGMuXG5AaW1wb3J0ICdzZXR0aW5ncy9jb2xvcnMnO1xuQGltcG9ydCAnc2V0dGluZ3MvZm9udHMnO1xuQGltcG9ydCAnc2V0dGluZ3MvZ2xvYmFsJztcbkBpbXBvcnQgJ3NldHRpbmdzL3Jvb3QnO1xuXG4vLyBJbXBvcnQgQXRvbWljIEJ1aWxkZXIgYW5kIGl0cyBkZWZhdWx0IHZhcmlhYmxlcy5cbkBpbXBvcnQgJ35hdG9taWMtYnVpbGRlci9zY3NzL2F0b21pYy1idWlsZGVyJztcblxuLy8gVG9vbHMgOiBHbG9iYWxseSB1c2VkIG1peGlucyBhbmQgZnVuY3Rpb25zLlxuQGltcG9ydCAndXRpbGl0aWVzL2xpbmtzLXN0YXRlcyc7XG5AaW1wb3J0ICd1dGlsaXRpZXMvY292ZXInO1xuQGltcG9ydCAndXRpbGl0aWVzL3JvdW5kZWQnO1xuXG4vLyBPYmplY3RzIDogUmV1c2FibGUgZGVzaWduIHBhdHRlcm5zIGZvY3VzZWQgb24gc3RydWN0dXJlIGFuZCBsYXlvdXQsIG5vdCBzcGVjaWZpYyBzdHlsaW5nXG5AaW1wb3J0ICdvYmplY3RzL2dhbGxlcnknO1xuXG4vLyBFbGVtZW50cyA6IFN0eWxpbmcgZm9yIGJhcmUgSFRNTCBlbGVtZW50cyAobGlrZSBoMSwgYSwgZXRjLikuXG5AaW1wb3J0ICdlbGVtZW50cy9mb3Jtcyc7XG5AaW1wb3J0ICdlbGVtZW50cy9oZWFkaW5ncyc7XG5AaW1wb3J0ICdlbGVtZW50cy9wYWdlJztcblxuLy8gQ29tcG9uZW50cyA6IFNwZWNpZmljIFVJIGNvbXBvbmVudHMuIFRoaXMgaXMgd2hlcmUgdGhlIG1ham9yaXR5IG9mIHlvdXIgd29yayB0YWtlcyBwbGFjZS5cbkBpbXBvcnQgJ2NvbXBvbmVudHMvYm9keSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2JveGVzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnJlYWRjcnVtYic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2J1cmdlcic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2J1dHRvbnMnO1xuQGltcG9ydCAnY29tcG9uZW50cy9maWVsZHMnO1xuQGltcG9ydCAnY29tcG9uZW50cy9mb290ZXInO1xuQGltcG9ydCAnY29tcG9uZW50cy9oZWFkZXInO1xuQGltcG9ydCAnY29tcG9uZW50cy9pY29ucyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2xpbmtzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbGlzdHMnO1xuQGltcG9ydCAnY29tcG9uZW50cy9tYWluJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbWFwJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbWVudSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3BhZ2UnO1xuQGltcG9ydCAnY29tcG9uZW50cy9xdW90ZSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3NraXBsaW5rcyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3N1Ym1lbnUnO1xuQGltcG9ydCAnY29tcG9uZW50cy9zdW1tYXJ5JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc3dpcGVycyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RvcGJhcic7XG5cbi8vIFV0aWxpdGllcyA6IEhlbHBlciBjbGFzc2VzIHdpdGggYWJpbGl0eSB0byBvdmVycmlkZSBhbGwgcHJldmlvdXMgc3R5bGVzLlxuQGltcG9ydCAnfmF0b21pYy1idWlsZGVyL3Njc3MvdXRpbGl0aWVzL2NvbG9ycyc7XG5AaW1wb3J0ICd+YXRvbWljLWJ1aWxkZXIvc2Nzcy91dGlsaXRpZXMvY3Vyc29ycyc7XG5AaW1wb3J0ICd+YXRvbWljLWJ1aWxkZXIvc2Nzcy91dGlsaXRpZXMvZGlzcGxheSc7XG5AaW1wb3J0ICd+YXRvbWljLWJ1aWxkZXIvc2Nzcy91dGlsaXRpZXMvZmxleCc7XG5AaW1wb3J0ICd+YXRvbWljLWJ1aWxkZXIvc2Nzcy91dGlsaXRpZXMvaGVscGVyJztcbkBpbXBvcnQgJ35hdG9taWMtYnVpbGRlci9zY3NzL3V0aWxpdGllcy9vdmVyZmxvdyc7XG5AaW1wb3J0ICd+YXRvbWljLWJ1aWxkZXIvc2Nzcy91dGlsaXRpZXMvcG9zaXRpb24nO1xuQGltcG9ydCAnfmF0b21pYy1idWlsZGVyL3Njc3MvdXRpbGl0aWVzL3Jlc2V0JztcbkBpbXBvcnQgJ35hdG9taWMtYnVpbGRlci9zY3NzL3V0aWxpdGllcy9zaXppbmcnO1xuQGltcG9ydCAnfmF0b21pYy1idWlsZGVyL3Njc3MvdXRpbGl0aWVzL3NwYWNpbmcnO1xuQGltcG9ydCAnfmF0b21pYy1idWlsZGVyL3Njc3MvdXRpbGl0aWVzL3RleHQnO1xuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICNDT0xPUlNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8vIE1hcCBvZiBjb2xvcnMuXG4kY29sb3JzOiAoXG4gICAgICAgICdwcmltYXJ5JzogIzE4NzhGRiwgLy8gYmx1ZVxuICAgICAgICAnc2Vjb25kYXJ5JzogI0ZGM0EzOSwgLy8gcmVkXG5cbiAgICAgICAgJ2JsYWNrJzogIzFCMUIxQixcbiAgICAgICAgJ2JsdWUnOiAjMTg3OEZGLFxuICAgICAgICAnZGFyay1ibHVlJzogIzAwNTRDQSxcbiAgICAgICAgJ2Rhcmtlci1ibHVlJzogIzJGMkY1MixcblxuICAgICAgICAncmVkJzogI0ZGM0EzOSxcbiAgICAgICAgJ2dyYXknOiAjOTQ5NDk0LFxuICAgICAgICAnbGlnaHQtZ3JheSc6ICNFNkU2RTYsXG4gICAgICAgICd3aGl0ZSc6ICNGRkZGRkZcbik7XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgI0ZPTlRTXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vLyBNb250c2VycmF0LlxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCc7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgc3JjOiB1cmwoJy4uLy4uL2ZvbnRzL01vbnRzZXJyYXQtUmVndWxhci50dGYnKSBmb3JtYXQoJ3R0ZicpO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0JztcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBzcmM6IHVybCgnLi4vLi4vZm9udHMvTW9udHNlcnJhdC1NZWRpdW0udHRmJykgZm9ybWF0KCd0dGYnKTtcbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCc7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgc3JjOiB1cmwoJy4uLy4uL2ZvbnRzL01vbnRzZXJyYXQtQm9sZC50dGYnKSBmb3JtYXQoJ3R0ZicpO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0JztcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBzcmM6IHVybCgnLi4vLi4vZm9udHMvTW9udHNlcnJhdC1JdGFsaWMudHRmJykgZm9ybWF0KCd0dGYnKTtcbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCc7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgc3JjOiB1cmwoJy4uLy4uL2ZvbnRzL01vbnRzZXJyYXQtTWVkaXVtSXRhbGljLnR0ZicpIGZvcm1hdCgndHRmJyk7XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgI0dMT0JBTFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLy8gTWFwIG9mIHNwYWNpbmcgdmFsdWVzLlxuJHNwYWNlcnM6IChcbiAgICAgICAgJzJ4bCc6IDhyZW0sXG4gICAgICAgICd4bCc6IDQuOHJlbSxcbiAgICAgICAgJ2xnJzogM3JlbSxcbiAgICAgICAgJ21kJzogMi40cmVtLFxuICAgICAgICAnYmFzZS1tZCc6IDJyZW0sXG4gICAgICAgICdiYXNlJzogMS42cmVtLFxuICAgICAgICAnc20nOiAwLjhyZW0sXG4gICAgICAgICd4cyc6IDAuNHJlbSxcbiAgICAgICAgJy1iYXNlJzogLTEuNnJlbSxcbiAgICAgICAgJy1tZCc6IC0yLjRyZW0sXG4gICAgICAgICctbGcnOiAtM3JlbSxcbiAgICAgICAgJ24nOiAwLFxuKTtcblxuLy8gTWFwIG9mIGZvbnQgd2VpZ2h0cy5cbiRmb250LXdlaWdodHM6IChcbiAgJ2Jhc2UnOiA0MDAsXG4gICdtZWRpdW0nOiA1MDAsXG4gICdib2xkJzogNzAwLFxuKTtcblxuXG4vLyBNYXAgb2YgZm9udCBzaXplcy5cbiRmb250LXNpemVzOiAoXG4gICdsZyc6IChcbiAgICAxLjZyZW0sXG4gICAgMS43ODUsXG4gICksXG4gICdiYXNlJzogKFxuICAgIDEuNHJlbSxcbiAgICAxLjksXG4gICksXG4gICdtZCc6IChcbiAgICAxLjRyZW0sXG4gICAgMixcbiAgKSxcbiAgJ3NtJzogKFxuICAgIDEuMnJlbSxcbiAgICAxLjQsXG4gICksXG4gICd4cyc6IChcbiAgICAxLjByZW0sXG4gICAgMS4yLFxuICApLFxuICAnaDEtYmlnJzogKFxuICAgICdtb2JpbGUtdXAnOiAoXG4gICAgICA2LjRyZW0sXG4gICAgICAxLjIwMCxcbiAgICApLFxuICAgICdkZWZhdWx0JzogKFxuICAgICAgNC44cmVtLFxuICAgICAgMS4zNjY2LFxuICAgICksXG4gICksXG4gICdoMSc6IChcbiAgICAnbW9iaWxlLXVwJzogKFxuICAgICAgMy4ycmVtLFxuICAgICAgMS4zNzUsXG4gICAgKSxcbiAgICAnZGVmYXVsdCc6IChcbiAgICAgIDIuNHJlbSxcbiAgICAgIDEuMzY2NixcbiAgICApLFxuICApLFxuICAnaDInOiAoXG4gICAgJ21vYmlsZS11cCc6IChcbiAgICAgIDIuNHJlbSxcbiAgICAgIDEuMzY2NixcbiAgICApLFxuICAgICdkZWZhdWx0JzogKFxuICAgICAgMnJlbSxcbiAgICAgIDEuNCxcbiAgICApLFxuICApLFxuICAnaDMnOiAoXG4gICAgJ21vYmlsZS11cCc6IChcbiAgICAgIDJyZW0sXG4gICAgICAxLjQsXG4gICAgKSxcbiAgICAnZGVmYXVsdCc6IChcbiAgICAgIDEuOHJlbSxcbiAgICAgIDEuNixcbiAgICApLFxuICApLFxuICAnaDQnOiAoXG4gICAgJ21vYmlsZS11cCc6IChcbiAgICAgIDEuNHJlbSxcbiAgICAgIDEuMixcbiAgICApLFxuICAgICdkZWZhdWx0JzogKFxuICAgICAgMS40cmVtLFxuICAgICAgMS4yLFxuICAgICksXG4gICksXG4gICdoNSc6IG51bGwsXG4gICdoNic6IG51bGwsXG4gICdpY29uLXhzJzogKFxuICAgICdkZWZhdWx0JzogKC43cmVtLCAwKSxcbiAgKSxcbik7XG5cbi8vIE1hcCBvZiBmb250IGZhbWlsaWVzLlxuLy8gVG8gaW5jbHVkZSBhIGxpc3Qgb2YgZm9udCBmYW1pbGllcywgaXQgaXMgcmVjb21tZW5kZWQgdG8gZm9sbG93IHRoaXMgc3ludGF4IDpcbi8vIFwiJ1RpbWVzIE5ldyBSb21hbicsIFRpbWVzLCBzZXJpZlwiXG4kZm9udC1mYW1pbGllczogKFxuICAnYmFzZSc6IFwiTW9udHNlcnJhdCwgc2Fucy1zZXJpZlwiLFxuKTtcblxuLy8gR2xvYmFsIHNldHRpbmdzIG9mIHRoZSBjb250YWluZXIgKG1heCB3aWR0aCBhbmQgc2lkZSBtYXJnaW5zKS5cbiRjb250YWluZXItbWF4LXdpZHRoOiAxNDByZW07XG5cbiRjb250YWluZXItc2lkZS1tYXJnaW46IChcbiAgJ21vYmlsZS11cCc6IDJyZW0sXG4gICdkZWZhdWx0JzogMC44cmVtLFxuKTtcblxuLy8gR2xvYmFsIHNldHRpbmdzIG9mIHRoZSBncmlkIChudW1iZXIgb2YgY29sdW1ucywgY29sdW1uIGdhcCBhbmQgcm93IGdhcCkuXG4kY29sdW1uLWNvdW50OiAxMjtcblxuJGNvbHVtbi1nYXA6IChcbiAgJ21vYmlsZS11cCc6IDEuNnJlbSxcbiAgJ2RlZmF1bHQnOiAwLjhyZW0sXG4pO1xuXG4kcm93LWdhcDogKFxuICAnbW9iaWxlLXVwJzogMS42cmVtLFxuICAnZGVmYXVsdCc6IDAuOHJlbSxcbik7XG5cbi8vIE1hcCBvZiBicmVha3BvaW50IHZhbHVlcy5cbi8vIEl0IGlzIHJlY29tbWVuZGVkIHRvIGtlZXAgYGVtYCB1bml0cy5cbiRicmVha3BvaW50czogKFxuICAncGhvbmUnOiBudWxsLFxuICAnbW9iaWxlJzogNDcuOTM3NWVtLFxuICAndGFibGV0JzogNjRlbSxcbik7XG5cblxuLy8gUGFyYW1ldGVycyB0byBlbmFibGUgb3IgZGlzYWJsZSB0aGUgcmVzcG9uc2l2ZSB1dGlsaXR5IGNsYXNzZXMgYnVpbGRlcnMuXG4kZW5hYmxlLXJlc3BvbnNpdmUtZGlzcGxheTogdHJ1ZTtcbiRlbmFibGUtcmVzcG9uc2l2ZS1mbGV4OiB0cnVlO1xuJGVuYWJsZS1yZXNwb25zaXZlLXNpemluZzogdHJ1ZTtcbiRlbmFibGUtcmVzcG9uc2l2ZS1zcGFjaW5nOiB0cnVlO1xuJGVuYWJsZS1yZXNwb25zaXZlLW92ZXJmbG93OiB0cnVlO1xuJGVuYWJsZS1yZXNwb25zaXZlLXRleHQ6IHRydWU7XG4kZW5hYmxlLXJlc3BvbnNpdmUtaGVscGVyOiB0cnVlO1xuJGVuYWJsZS1yZXNwb25zaXZlLXZpc2liaWxpdHk6IHRydWU7XG4kZW5hYmxlLXJlc3BvbnNpdmUtcG9zaXRpb246IHRydWU7XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgI1JPT1RcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbjpyb290IHtcbiAgLyoqXG4gICAqIEN1c3RvbSBwcm9wZXJ0aWVzIGZvciB0eXBvZ3JhcGh5LlxuICAgKi9cbiAgLS10ZXh0LWNvbG9yOiB2YXIoLS1jb2xvci1ibGFjayk7XG4gIC0tYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpO1xufVxuXG5odG1sIHtcbiAgc2Nyb2xsLWJlaGF2aW9yOiBzbW9vdGg7XG4gIG92ZXJmbG93OiBpbml0aWFsIWltcG9ydGFudDtcbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBBVE9NSUMgQlVJTERFUlxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBBdG9taWMgQnVpbGRlciwgYnkgQGpsd2ViYXJ0XG4gKlxuICogZ2l0aHViLmNvbS9qb25hdGhhbmxldmFpbGxhbnQvYXRvbWljLWJ1aWxkZXJcbiAqL1xuXG4vLyBTZXR0aW5ncyA6IFVzZWQgd2l0aCBwcmVwcm9jZXNzb3JzIGFuZCBjb250YWluIGZvbnQsIGNvbG9ycyBkZWZpbml0aW9ucywgZXRjLlxuQGltcG9ydCAnc2V0dGluZ3MvY29sb3JzJztcbkBpbXBvcnQgJ3NldHRpbmdzL2dsb2JhbCc7XG5cbi8vIFRvb2xzIDogR2xvYmFsbHkgdXNlZCBtaXhpbnMgYW5kIGZ1bmN0aW9ucy5cbkBpbXBvcnQgJ3Rvb2xzL2Z1bmN0aW9ucyc7XG5AaW1wb3J0ICd0b29scy9taXhpbnMnO1xuXG4vLyBHZW5lcmljIDogUmVzZXQgYW5kL29yIG5vcm1hbGl6ZSBzdHlsZXMsIGJveC1zaXppbmcgZGVmaW5pdGlvbiwgZXRjLlxuQGltcG9ydCAnZ2VuZXJpYy9ub3JtYWxpemUnO1xuQGltcG9ydCAnZ2VuZXJpYy9ib3gtc2l6aW5nJztcbkBpbXBvcnQgJ2dlbmVyaWMvcmVzZXQnO1xuQGltcG9ydCAnZ2VuZXJpYy9zaGFyZWQnO1xuXG4vLyBFbGVtZW50cyA6IFN0eWxpbmcgZm9yIGJhcmUgSFRNTCBlbGVtZW50cyAobGlrZSBoMSwgYSwgZXRjLikuXG5AaW1wb3J0ICdlbGVtZW50cy9yb290JztcbkBpbXBvcnQgJ2VsZW1lbnRzL3BhZ2UnO1xuQGltcG9ydCAnZWxlbWVudHMvaGVhZGluZ3MnO1xuQGltcG9ydCAnZWxlbWVudHMvZm9ybXMnO1xuQGltcG9ydCAnZWxlbWVudHMvdGFibGVzJztcblxuLy8gT2JqZWN0cyA6IENsYXNzLWJhc2VkIHNlbGVjdG9ycyB3aGljaCBkZWZpbmUgdW5kZWNvcmF0ZWQgZGVzaWduIHBhdHRlcm5zLlxuQGltcG9ydCAnb2JqZWN0cy9ncmlkJztcbkBpbXBvcnQgJ29iamVjdHMvY29udGFpbmVyJztcblxuLy8gVXRpbGl0aWVzIDogSGVscGVyIGNsYXNzZXMgd2l0aCBhYmlsaXR5IHRvIG92ZXJyaWRlIGFsbCBwcmV2aW91cyBzdHlsZXMuXG4iLCIvKiEgbm9ybWFsaXplLmNzcyB2OC4wLjEgfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzICovXG5cbi8qIERvY3VtZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cbiAqIDIuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW4gaU9TLlxuICovXG5cbmh0bWwge1xuICBsaW5lLWhlaWdodDogMS4xNTsgLyogMSAqL1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi9cbn1cblxuLyogU2VjdGlvbnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmJvZHkge1xuICBtYXJnaW46IDA7XG59XG5cbi8qKlxuICogUmVuZGVyIHRoZSBgbWFpbmAgZWxlbWVudCBjb25zaXN0ZW50bHkgaW4gSUUuXG4gKi9cblxubWFpbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGZvbnQgc2l6ZSBhbmQgbWFyZ2luIG9uIGBoMWAgZWxlbWVudHMgd2l0aGluIGBzZWN0aW9uYCBhbmRcbiAqIGBhcnRpY2xlYCBjb250ZXh0cyBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBTYWZhcmkuXG4gKi9cblxuaDEge1xuICBmb250LXNpemU6IDJlbTtcbiAgbWFyZ2luOiAwLjY3ZW0gMDtcbn1cblxuLyogR3JvdXBpbmcgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBGaXJlZm94LlxuICogMi4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUuXG4gKi9cblxuaHIge1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLyogMSAqL1xuICBoZWlnaHQ6IDA7IC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnByZSB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xufVxuXG4vKiBUZXh0LWxldmVsIHNlbWFudGljc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBvbiBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4gKi9cblxuYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4vKipcbiAqIDEuIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBDaHJvbWUgNTctXG4gKiAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLlxuICovXG5cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTsgLyogMSAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgLyogMiAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxuICovXG5cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZGVyO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuY29kZSxcbmtiZCxcbnNhbXAge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8qIDEgKi9cbiAgZm9udC1zaXplOiAxZW07IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlO1xufVxuXG4vKipcbiAqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGVsZW1lbnRzIGZyb20gYWZmZWN0aW5nIHRoZSBsaW5lIGhlaWdodCBpblxuICogYWxsIGJyb3dzZXJzLlxuICovXG5cbnN1YixcbnN1cCB7XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTtcbn1cblxuc3VwIHtcbiAgdG9wOiAtMC41ZW07XG59XG5cbi8qIEVtYmVkZGVkIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUmVtb3ZlIHRoZSBib3JkZXIgb24gaW1hZ2VzIGluc2lkZSBsaW5rcyBpbiBJRSAxMC5cbiAqL1xuXG5pbWcge1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG59XG5cbi8qIEZvcm1zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIDEuIENoYW5nZSB0aGUgZm9udCBzdHlsZXMgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gRmlyZWZveCBhbmQgU2FmYXJpLlxuICovXG5cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0OyAvKiAxICovXG4gIGZvbnQtc2l6ZTogMTAwJTsgLyogMSAqL1xuICBsaW5lLWhlaWdodDogMS4xNTsgLyogMSAqL1xuICBtYXJnaW46IDA7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBTaG93IHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAqIDEuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UuXG4gKi9cblxuYnV0dG9uLFxuaW5wdXQgeyAvKiAxICovXG4gIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxuICogMS4gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94LlxuICovXG5cbmJ1dHRvbixcbnNlbGVjdCB7IC8qIDEgKi9cbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAqL1xuXG5idXR0b24sXG5bdHlwZT1cImJ1dHRvblwiXSxcblt0eXBlPVwicmVzZXRcIl0sXG5bdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGluIEZpcmVmb3guXG4gKi9cblxuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJidXR0b25cIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInJlc2V0XCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJzdWJtaXRcIl06Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi8qKlxuICogUmVzdG9yZSB0aGUgZm9jdXMgc3R5bGVzIHVuc2V0IGJ5IHRoZSBwcmV2aW91cyBydWxlLlxuICovXG5cbmJ1dHRvbjotbW96LWZvY3VzcmluZyxcblt0eXBlPVwiYnV0dG9uXCJdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJyZXNldFwiXTotbW96LWZvY3VzcmluZyxcblt0eXBlPVwic3VibWl0XCJdOi1tb3otZm9jdXNyaW5nIHtcbiAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0O1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAqL1xuXG5maWVsZHNldCB7XG4gIHBhZGRpbmc6IDAuMzVlbSAwLjc1ZW0gMC42MjVlbTtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxuICogMi4gQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFLlxuICogMy4gUmVtb3ZlIHRoZSBwYWRkaW5nIHNvIGRldmVsb3BlcnMgYXJlIG5vdCBjYXVnaHQgb3V0IHdoZW4gdGhleSB6ZXJvIG91dFxuICogICAgYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxubGVnZW5kIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICBjb2xvcjogaW5oZXJpdDsgLyogMiAqL1xuICBkaXNwbGF5OiB0YWJsZTsgLyogMSAqL1xuICBtYXgtd2lkdGg6IDEwMCU7IC8qIDEgKi9cbiAgcGFkZGluZzogMDsgLyogMyAqL1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsOyAvKiAxICovXG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAqL1xuXG5wcm9ncmVzcyB7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFIDEwKy5cbiAqL1xuXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvO1xufVxuXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIElFIDEwLlxuICogMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLlxuICovXG5cblt0eXBlPVwiY2hlY2tib3hcIl0sXG5bdHlwZT1cInJhZGlvXCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICBwYWRkaW5nOiAwOyAvKiAyICovXG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lLlxuICovXG5cblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgb2RkIGFwcGVhcmFuY2UgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXG4gKiAyLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cbiAqL1xuXG5bdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvKiAxICovXG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4OyAvKiAyICovXG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIG1hY09TLlxuICovXG5cblt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gKiAyLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXG4gKi9cblxuOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAxICovXG4gIGZvbnQ6IGluaGVyaXQ7IC8qIDIgKi9cbn1cblxuLyogSW50ZXJhY3RpdmVcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBFZGdlLCBJRSAxMCssIGFuZCBGaXJlZm94LlxuICovXG5cbmRldGFpbHMge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLypcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogbGlzdC1pdGVtO1xufVxuXG4vKiBNaXNjXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwKy5cbiAqL1xuXG50ZW1wbGF0ZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTAuXG4gKi9cblxuW2hpZGRlbl0ge1xuICBkaXNwbGF5OiBub25lO1xufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICNCT1gtU0laSU5HXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKiBEZWNsYXJhdGl2ZSBydWxlc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuaHRtbCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbiosXG4qOjpiZWZvcmUsXG4qOjphZnRlciB7XG4gIGJveC1zaXppbmc6IGluaGVyaXQ7XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgI1JFU0VUXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKiBEZWNsYXJhdGl2ZSBydWxlc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBSZW1vdmUgZGVmYXVsdCBtYXJnaW5zLlxuICovXG5cbmh0bWwsXG5ib2R5LFxuaWZyYW1lLFxuaDEsXG5oMixcbmgzLFxuaDQsXG5oNSxcbmg2LFxuaHIsXG5wLFxuYmxvY2txdW90ZSxcbnByZSxcbm9sLFxudWwsXG5saSxcbmRsLFxuZHQsXG5kZCxcbmZpZWxkc2V0LFxubGVnZW5kLFxuZmlndXJlIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xufVxuXG4vKipcbiAqIFJlc2V0IGhlYWRpbmcgc3R5bGVzLlxuICovXG5cbmgxLFxuaDIsXG5oMyxcbmg0LFxuaDUsXG5oNiB7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc2l6ZTogMTAwJTtcbn1cblxuLyoqXG4gKiBSZW1vdmUgZGVmYXVsdCB0YWJsZSBzcGFjaW5nLlxuICovXG5cbnRhYmxlIHtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgYm9yZGVyLXNwYWNpbmc6IDA7XG59XG5cbi8qKlxuICogUmVtb3ZlIGRlZmF1bHQgc3BhY2luZyBiZXR3ZWVuIHRhYmxlIGNlbGxzLlxuICovXG5cbnRkLFxudGgge1xuICBwYWRkaW5nOiAwO1xufVxuXG4vKipcbiAqIFJlbW92ZSBkZWZhdWx0IGJvcmRlciBvbiBmaWVsZHNldHMuXG4gKi9cblxuZmllbGRzZXQge1xuICBib3JkZXI6IDA7XG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgdGV4dCBzdHlsZSBvZiBwbGFjZWhvbGRlcnMuXG4gKi9cblxuOjpwbGFjZWhvbGRlciB7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBvcGFjaXR5OiAxO1xufVxuXG4vKipcbiAqIFJlbW92ZSBkZWZhdWx0IGlmcmFtZSBib3JkZXIuXG4gKi9cblxuaWZyYW1lIHtcbiAgYm9yZGVyOiAwO1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgdGV4dCBzdHlsZSBvZiBhZGRyZXNzZXMuXG4gKi9cblxuYWRkcmVzcyB7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIHRhcHBpbmcgZGVsYXkgb24gY2xpY2thYmxlIGVsZW1lbnRzLlxuICovXG5cbmEsXG5hcmVhLFxuYnV0dG9uLFxuaW5wdXQsXG5sYWJlbCxcbnNlbGVjdCxcbnN1bW1hcnksXG50ZXh0YXJlYSxcblt0YWJpbmRleF0ge1xuICB0b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjtcbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAjU0hBUkVEXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKiBEZWNsYXJhdGl2ZSBydWxlc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBBZGQgYG1pbi13aWR0aDogMGAgYW5kIGBtaW4taGVpZ2h0OiAwYCB0byBhbGwgZWxlbWVudHNcbiAqL1xuXG4qLFxuKjo6YmVmb3JlLFxuKjo6YWZ0ZXIge1xuICBtaW4td2lkdGg6IDA7XG4gIG1pbi1oZWlnaHQ6IDA7XG59XG5cbi8qKlxuICogQWx3YXlzIGRlY2xhcmUgbWFyZ2lucyBpbiB0aGUgc2FtZSBkaXJlY3Rpb24uXG4gKi9cblxuaDEsXG5oMixcbmgzLFxuaDQsXG5oNSxcbmg2LFxuaHIsXG5wLFxuYmxvY2txdW90ZSxcbnByZSxcbmFkZHJlc3MsXG5vbCxcbnVsLFxuZGwsXG5maWVsZHNldCxcbnRhYmxlLFxuZmlndXJlIHtcbiAgQGluY2x1ZGUgdmVydGljYWwtbWFyZ2lucztcbn1cblxuLyoqXG4gKiBDb25zaXN0ZW50IGluZGVudGF0aW9uIGZvciBsaXN0cy5cbiAqL1xuXG5vbCxcbnVsLFxuZGQge1xuICBwYWRkaW5nLWxlZnQ6IHZhcigtLXNwYWNlci1iYXNlKTtcbn1cblxuLyoqXG4gKiBGbHVpZCBtZWRpYSBlbGVtZW50cyBmb3IgcmVzcG9uc2l2ZSBwdXJwb3Nlcy5cbiAqL1xuXG5vYmplY3QsXG5lbWJlZCxcbmltZyxcbnN2ZyxcbnZpZGVvIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbmlmcmFtZSxcbmF1ZGlvIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xufVxuXG4vKipcbiAqIENoYW5nZSB0aGUgYWxpZ25tZW50IG9uIG1lZGlhIGVsZW1lbnRzLlxuICovXG5cbmlmcmFtZSxcbmNhbnZhcyxcbmltZyxcbnN2ZyxcbnZpZGVvLFxuYXVkaW8ge1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4vKipcbiAqIENoYW5nZSB0aGUgY3Vyc29yIHdpdGggQ1NTIGZvciBiZXR0ZXIgdXNlciBleHBlcmllbmNlLlxuICovXG5cblthcmlhLWJ1c3k9J3RydWUnXSB7XG4gIGN1cnNvcjogcHJvZ3Jlc3M7XG59XG5cblthcmlhLWNvbnRyb2xzXSB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuW2FyaWEtZGlzYWJsZWQ9J3RydWUnXSxcbltkaXNhYmxlZF0ge1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuIiwiLy8vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vICAgI01JWElOU1xuLy8gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuJFNFUEFSQVRPUl9NRURJQTogJ1xcXFxAJztcbiRTRVBBUkFUT1JfVkFMVUVfU1RBUlQ6ICdcXFxcKCc7XG4kU0VQQVJBVE9SX1ZBTFVFX0VORDogJ1xcXFwpJztcblxuLy8qICBQcml2YXRlIG1peGluc1xuLy8gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLy8vIE1peGluIHRvIG91dHB1dCBtZWRpYSBxdWVyaWVzLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vIEByZXF1aXJlcyB7ZnVuY3Rpb259IGJyZWFrcG9pbnQtZ2V0XG4vLy8gQHJlcXVpcmVzIHtmdW5jdGlvbn0gYnJlYWtwb2ludC1pcy11cFxuLy8vIEByZXF1aXJlcyB7ZnVuY3Rpb259IGJyZWFrcG9pbnQtaXMtZG93blxuLy8vIEByZXF1aXJlcyB7ZnVuY3Rpb259IGJyZWFrcG9pbnQtZ2V0LWRvd25cbi8vLyBAcmVxdWlyZXMge3ZhcmlhYmxlfSBCUkVBS1BPSU5UX0RFRkFVTFRfTEFCRUxcbi8vLyBAcGFyYW0ge1N0cmluZ30gJGtleSAtIEJyZWFrcG9pbnQga2V5XG5AbWl4aW4gYnJlYWtwb2ludCgka2V5KSB7XG4gIEBpZiAka2V5ID09ICRCUkVBS1BPSU5UX0RFRkFVTFRfTEFCRUwge1xuICAgIEBjb250ZW50O1xuICB9IEBlbHNlIHtcbiAgICAkYnJlYWtwb2ludC12YWx1ZTogYnJlYWtwb2ludC1nZXQoJGtleSk7XG5cbiAgICBAaWYgJGJyZWFrcG9pbnQtdmFsdWUge1xuICAgICAgQGlmIGJyZWFrcG9pbnQtaXMtdXAoJGtleSkge1xuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogI3skYnJlYWtwb2ludC12YWx1ZX0pIHtcbiAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgICAgfSBAZWxzZSBpZiBicmVha3BvaW50LWlzLWRvd24oJGtleSkge1xuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogI3skYnJlYWtwb2ludC12YWx1ZX0pIHtcbiAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgICAgfSBAZWxzZSB7XG4gICAgICAgICRicmVha3BvaW50LWxvd2VyLXZhbHVlOiBicmVha3BvaW50LWdldC1kb3duKCRrZXkpO1xuXG4gICAgICAgIEBpZiAkYnJlYWtwb2ludC1sb3dlci12YWx1ZSB7XG4gICAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6ICN7JGJyZWFrcG9pbnQtdmFsdWV9KSBhbmQgKG1pbi13aWR0aDogI3skYnJlYWtwb2ludC1sb3dlci12YWx1ZX0pIHtcbiAgICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICAgIH1cbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6ICN7JGJyZWFrcG9pbnQtdmFsdWV9KSB7XG4gICAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIE1peGluIHRvIG91dHB1dCBtYXJnaW5zIGluIHRoZSBzYW1lIGRpcmVjdGlvbi5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vLyBAcmVxdWlyZXMge3ZhcmlhYmxlfSB2ZXJ0aWNhbC1tYXJnaW4tZGlyZWN0aW9uXG4vLy8gQHRocm93cyBNYWtlIHN1cmUgdGhhdCBgI3skdmVydGljYWwtbWFyZ2luLWRpcmVjdGlvbn1gIGVxdWFscyBgdG9wYCBvciBgYm90dG9tYCBpbiBgJHZlcnRpY2FsLW1hcmdpbi1kaXJlY3Rpb246ICN7JHZlcnRpY2FsLW1hcmdpbi1kaXJlY3Rpb259YCB2YXJpYWJsZS5cbkBtaXhpbiB2ZXJ0aWNhbC1tYXJnaW5zIHtcbiAgQGlmICR2ZXJ0aWNhbC1tYXJnaW4tZGlyZWN0aW9uID09ICd0b3AnIHtcbiAgICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjZXItYmFzZSk7XG5cbiAgICBAYXQtcm9vdCA6Zmlyc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJHZlcnRpY2FsLW1hcmdpbi1kaXJlY3Rpb24gPT0gJ2JvdHRvbScge1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlci1iYXNlKTtcblxuICAgIEBhdC1yb290IDpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9IEBlbHNlIGlmICR2ZXJ0aWNhbC1tYXJnaW4tZGlyZWN0aW9uIHtcbiAgICBAd2FybiAnTWFrZSBzdXJlIHRoYXQgYCN7JHZlcnRpY2FsLW1hcmdpbi1kaXJlY3Rpb259YCBlcXVhbHMgYHRvcGAgb3IgYGJvdHRvbWAgaW4gYCR2ZXJ0aWNhbC1tYXJnaW4tZGlyZWN0aW9uOiAjeyR2ZXJ0aWNhbC1tYXJnaW4tZGlyZWN0aW9ufWAgdmFyaWFibGUuJztcbiAgfVxufVxuXG4vLyogIFByaXZhdGUgbWl4aW5zIHRvIG91dHB1dCBDU1MgdmFyaWFibGVzIChDdXN0b20gUHJvcGVydGllcylcbi8vICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8vLyBNaXhpbiB0byBvdXRwdXQgY29sb3IgdmFyaWFibGVzLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vIEByZXF1aXJlcyB7dmFyaWFibGV9IGNvbG9yc1xuLy8vIEB0aHJvd3MgTWFrZSBzdXJlIHRoYXQgYCN7JHZhbHVlfWAgaXMgYSBjb2xvciBvciBhIENTUyB2YXJpYWJsZSBpbiBgJGNvbG9yczogI3skY29sb3JzfWAgbWFwLlxuQG1peGluIHZhci1jb2xvcnMge1xuICBAZWFjaCAka2V5LCAkdmFsdWUgaW4gJGNvbG9ycyB7XG4gICAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSAnY29sb3InIG9yICh0eXBlLW9mKCR2YWx1ZSkgPT0gJ3N0cmluZycgYW5kIHN0ci1pbmRleCgkdmFsdWUsICd2YXIoLS0nKSkge1xuICAgICAgLS1jb2xvci0jeyRrZXl9OiAjeyR2YWx1ZX07XG4gICAgfSBAZWxzZSBpZiAkdmFsdWUge1xuICAgICAgQHdhcm4gJ01ha2Ugc3VyZSB0aGF0IGAjeyR2YWx1ZX1gIGlzIGEgY29sb3Igb3IgYSBDU1MgdmFyaWFibGUgaW4gYCRjb2xvcnM6ICN7JGNvbG9yc31gIG1hcC4nO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gTWl4aW4gdG8gb3V0cHV0IGZvbnQgd2VpZ2h0IHZhcmlhYmxlcy5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vLyBAcmVxdWlyZXMge3ZhcmlhYmxlfSBmb250LXdlaWdodHNcbi8vLyBAdGhyb3dzIE1ha2Ugc3VyZSB0aGF0IGAjeyR2YWx1ZX1gIGlzIGEgbnVtYmVyIG9yIGEgQ1NTIHZhcmlhYmxlIGluIGAkZm9udC13ZWlnaHRzOiAjeyRmb250LXdlaWdodHN9YCBtYXAuXG5AbWl4aW4gdmFyLWZvbnQtd2VpZ2h0cyB7XG4gIEBlYWNoICRrZXksICR2YWx1ZSBpbiAkZm9udC13ZWlnaHRzIHtcbiAgICBAaWYgdHlwZS1vZigkdmFsdWUpID09ICdudW1iZXInIG9yICh0eXBlLW9mKCR2YWx1ZSkgPT0gJ3N0cmluZycgYW5kIHN0ci1pbmRleCgkdmFsdWUsICd2YXIoLS0nKSkge1xuICAgICAgLS1mb250LXdlaWdodC0jeyRrZXl9OiAjeyR2YWx1ZX07XG4gICAgfSBAZWxzZSBpZiAkdmFsdWUge1xuICAgICAgQHdhcm4gJ01ha2Ugc3VyZSB0aGF0IGAjeyR2YWx1ZX1gIGlzIGEgbnVtYmVyIG9yIGEgQ1NTIHZhcmlhYmxlIGluIGAkZm9udC13ZWlnaHRzOiAjeyRmb250LXdlaWdodHN9YCBtYXAuJztcbiAgICB9XG4gIH1cbn1cblxuLy8vIE1peGluIHRvIG91dHB1dCBmb250IHNpemUgdmFyaWFibGVzIChhbmQgbGluZSBoZWlnaHQsIGlmIGl0IGV4aXN0cykuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy8gQHJlcXVpcmVzIHt2YXJpYWJsZX0gZm9udC1zaXplc1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAka2V5ICAgICAgICAgIC0gRm9udCBzaXplIGtleVxuLy8vIEBwYXJhbSB7TGlzdCB8IE51bWJlcn0gJHZhbHVlIC0gRm9udCBzaXplIHZhbHVlXG4vLy8gQHRocm93cyBNYWtlIHN1cmUgdGhhdCBgI3skdmFsdWV9YCBpcyBhIG51bWJlciwgYSBDU1MgdmFyaWFibGUgb3IgYSBsaXN0IGluIGAkZm9udC1zaXplczogI3skZm9udC1zaXplc31gIG1hcC5cbi8vLyBAdGhyb3dzIE1ha2Ugc3VyZSB0aGF0IGAjeyRmb250LXNpemUtdmFsdWV9YCBpcyBhIG51bWJlciBvciBhIENTUyB2YXJpYWJsZSBpbiBgJGZvbnQtc2l6ZXM6ICN7JGZvbnQtc2l6ZXN9YCBtYXAuXG4vLy8gQHRocm93cyBNYWtlIHN1cmUgdGhhdCBgI3skbGluZS1oZWlnaHQtdmFsdWV9YCBpcyBhIG51bWJlciBvciBhIENTUyB2YXJpYWJsZSBpbiBgJGZvbnQtc2l6ZXM6ICN7JGZvbnQtc2l6ZXN9YCBtYXAuXG5AbWl4aW4gdmFyLXJoeXRobSgka2V5LCAkdmFsdWUpIHtcbiAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PVxuICAgICdudW1iZXInIG9yXG4gICAgKHR5cGUtb2YoJHZhbHVlKSA9PSAnc3RyaW5nJyBhbmQgc3RyLWluZGV4KCR2YWx1ZSwgJ3ZhcigtLScpKSBvclxuICAgIHR5cGUtb2YoJHZhbHVlKSA9PVxuICAgICdsaXN0J1xuICB7XG4gICAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSAnbGlzdCcge1xuICAgICAgJGZvbnQtc2l6ZS12YWx1ZTogbnRoKCR2YWx1ZSwgMSk7XG4gICAgICAkbGluZS1oZWlnaHQtdmFsdWU6IG50aCgkdmFsdWUsIDIpO1xuXG4gICAgICBAaWYgdHlwZS1vZigkZm9udC1zaXplLXZhbHVlKSA9PVxuICAgICAgICAnbnVtYmVyJyBvclxuICAgICAgICAodHlwZS1vZigkZm9udC1zaXplLXZhbHVlKSA9PSAnc3RyaW5nJyBhbmQgc3RyLWluZGV4KCRmb250LXNpemUtdmFsdWUsICd2YXIoLS0nKSlcbiAgICAgIHtcbiAgICAgICAgLS1mb250LXNpemUtI3ska2V5fTogI3skZm9udC1zaXplLXZhbHVlfTtcbiAgICAgIH0gQGVsc2UgaWYgJGZvbnQtc2l6ZS12YWx1ZSB7XG4gICAgICAgIEB3YXJuICdNYWtlIHN1cmUgdGhhdCBgI3skZm9udC1zaXplLXZhbHVlfWAgaXMgYSBudW1iZXIgb3IgYSBDU1MgdmFyaWFibGUgaW4gYCRmb250LXNpemVzOiAjeyRmb250LXNpemVzfWAgbWFwLic7XG4gICAgICB9XG5cbiAgICAgIEBpZiB0eXBlLW9mKCRsaW5lLWhlaWdodC12YWx1ZSkgPT1cbiAgICAgICAgJ251bWJlcicgb3JcbiAgICAgICAgKHR5cGUtb2YoJGxpbmUtaGVpZ2h0LXZhbHVlKSA9PSAnc3RyaW5nJyBhbmQgc3RyLWluZGV4KCRsaW5lLWhlaWdodC12YWx1ZSwgJ3ZhcigtLScpKVxuICAgICAge1xuICAgICAgICAtLWxpbmUtaGVpZ2h0LSN7JGtleX06ICN7JGxpbmUtaGVpZ2h0LXZhbHVlfTtcbiAgICAgIH0gQGVsc2UgaWYgJGxpbmUtaGVpZ2h0LXZhbHVlIHtcbiAgICAgICAgQHdhcm4gJ01ha2Ugc3VyZSB0aGF0IGAjeyRsaW5lLWhlaWdodC12YWx1ZX1gIGlzIGEgbnVtYmVyIG9yIGEgQ1NTIHZhcmlhYmxlIGluIGAkZm9udC1zaXplczogI3skZm9udC1zaXplc31gIG1hcC4nO1xuICAgICAgfVxuICAgIH0gQGVsc2Uge1xuICAgICAgLS1mb250LXNpemUtI3ska2V5fTogI3skdmFsdWV9O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkdmFsdWUge1xuICAgIEB3YXJuICdNYWtlIHN1cmUgdGhhdCBgI3skdmFsdWV9YCBpcyBhIG51bWJlciwgYSBDU1MgdmFyaWFibGUgb3IgYSBsaXN0IGluIGAkZm9udC1zaXplczogI3skZm9udC1zaXplc31gIG1hcC4nO1xuICB9XG59XG5cbi8vLyBNaXhpbiB0byBvdXRwdXQgZm9udCBzaXplIHZhcmlhYmxlcyAoYW5kIGxpbmUgaGVpZ2h0LCBpZiBpdCBleGlzdHMpLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vIEByZXF1aXJlcyB7bWl4aW59IGJyZWFrcG9pbnRcbi8vLyBAcmVxdWlyZXMge21peGlufSB2YXItcmh5dGhtXG4vLy8gQHJlcXVpcmVzIHt2YXJpYWJsZX0gZm9udC1zaXplc1xuLy8vIEB0aHJvd3MgTWFrZSBzdXJlIHRoYXQgYCN7JHZhbHVlfWAgaXMgYSBudW1iZXIsIGEgQ1NTIHZhcmlhYmxlLCBhIGxpc3Qgb3IgYSBtYXAgaW4gYCRmb250LXNpemVzOiAjeyRmb250LXNpemVzfWAgbWFwLlxuQG1peGluIHZhci1mb250LXNpemVzIHtcbiAgQGVhY2ggJGtleSwgJHZhbHVlIGluICRmb250LXNpemVzIHtcbiAgICBAaWYgdHlwZS1vZigkdmFsdWUpID09XG4gICAgICAnbnVtYmVyJyBvclxuICAgICAgKHR5cGUtb2YoJHZhbHVlKSA9PSAnc3RyaW5nJyBhbmQgc3RyLWluZGV4KCR2YWx1ZSwgJ3ZhcigtLScpKSBvclxuICAgICAgdHlwZS1vZigkdmFsdWUpID09XG4gICAgICAnbGlzdCcgb3JcbiAgICAgIHR5cGUtb2YoJHZhbHVlKSA9PVxuICAgICAgJ21hcCdcbiAgICB7XG4gICAgICBAaWYgdHlwZS1vZigkdmFsdWUpID09ICdtYXAnIHtcbiAgICAgICAgQGVhY2ggJG1hcC1rZXksICRtYXAtdmFsdWUgaW4gJHZhbHVlIHtcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRtYXAta2V5KSB7XG4gICAgICAgICAgICBAaW5jbHVkZSB2YXItcmh5dGhtKCRrZXksICRtYXAtdmFsdWUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIEBpbmNsdWRlIHZhci1yaHl0aG0oJGtleSwgJHZhbHVlKTtcbiAgICAgIH1cbiAgICB9IEBlbHNlIGlmICR2YWx1ZSB7XG4gICAgICBAd2FybiAnTWFrZSBzdXJlIHRoYXQgYCN7JHZhbHVlfWAgaXMgYSBudW1iZXIsIGEgQ1NTIHZhcmlhYmxlLCBhIGxpc3Qgb3IgYSBtYXAgaW4gYCRmb250LXNpemVzOiAjeyRmb250LXNpemVzfWAgbWFwLic7XG4gICAgfVxuICB9XG59XG5cbi8vLyBNaXhpbiB0byBvdXRwdXQgZm9udCBmYW1pbHkgdmFyaWFibGVzLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vIEByZXF1aXJlcyB7dmFyaWFibGV9IGZvbnQtZmFtaWxpZXNcbi8vLyBAdGhyb3dzIE1ha2Ugc3VyZSB0aGF0IGAjeyR2YWx1ZX1gIGlzIGEgc3RyaW5nIG9yIGEgQ1NTIHZhcmlhYmxlIGluIGAkZm9udC1mYW1pbGllczogI3skZm9udC1mYW1pbGllc31gIG1hcC5cbkBtaXhpbiB2YXItZm9udC1mYW1pbGllcyB7XG4gIEBlYWNoICRrZXksICR2YWx1ZSBpbiAkZm9udC1mYW1pbGllcyB7XG4gICAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSAnc3RyaW5nJyB7XG4gICAgICAtLWZvbnQtZmFtaWx5LSN7JGtleX06ICN7JHZhbHVlfTtcbiAgICB9IEBlbHNlIGlmICR2YWx1ZSB7XG4gICAgICBAd2FybiAnTWFrZSBzdXJlIHRoYXQgYCN7JHZhbHVlfWAgaXMgYSBzdHJpbmcgb3IgYSBDU1MgdmFyaWFibGUgaW4gYCRmb250LWZhbWlsaWVzOiAjeyRmb250LWZhbWlsaWVzfWAgbWFwLic7XG4gICAgfVxuICB9XG59XG5cbi8vLyBNaXhpbiB0byBvdXRwdXQgc2l6aW5nIHZhcmlhYmxlcy5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vLyBAcmVxdWlyZXMge3ZhcmlhYmxlfSBzaXplc1xuLy8vIEB0aHJvd3MgTWFrZSBzdXJlIHRoYXQgYCN7JHZhbHVlfWAgaXMgYSBudW1iZXIsIGEgQ1NTIHZhcmlhYmxlIG9yIGVxdWFscyBgYXV0b2AgaW4gYCRzaXplczogI3skc2l6ZXN9YCBtYXAuXG5AbWl4aW4gdmFyLXNpemluZyB7XG4gIEBlYWNoICRrZXksICR2YWx1ZSBpbiAkc2l6ZXMge1xuICAgIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gJ251bWJlcicgb3IgJHZhbHVlID09ICdhdXRvJyBvciAodHlwZS1vZigkdmFsdWUpID09ICdzdHJpbmcnIGFuZCBzdHItaW5kZXgoJHZhbHVlLCAndmFyKC0tJykpXG4gICAge1xuICAgICAgLS1zaXplLSN7JGtleX06ICN7JHZhbHVlfTtcbiAgICB9IEBlbHNlIGlmICR2YWx1ZSB7XG4gICAgICBAd2FybiAnTWFrZSBzdXJlIHRoYXQgYCN7JHZhbHVlfWAgaXMgYSBudW1iZXIsIGEgQ1NTIHZhcmlhYmxlIG9yIGVxdWFscyBgYXV0b2AgaW4gYCRzaXplczogI3skc2l6ZXN9YCBtYXAuJztcbiAgICB9XG4gIH1cbn1cblxuLy8vIE1peGluIHRvIG91dHB1dCBzcGFjaW5nIHZhcmlhYmxlcy5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vLyBAcmVxdWlyZXMge3ZhcmlhYmxlfSBzcGFjZXJzXG4vLy8gQHRocm93cyBNYWtlIHN1cmUgdGhhdCBgI3skdmFsdWV9YCBpcyBhIG51bWJlciwgYSBDU1MgdmFyaWFibGUgb3IgZXF1YWxzIGBhdXRvYCBpbiBgJHNwYWNlcnM6ICN7JHNwYWNlcnN9YCBtYXAuXG5AbWl4aW4gdmFyLXNwYWNpbmcge1xuICBAZWFjaCAka2V5LCAkdmFsdWUgaW4gJHNwYWNlcnMge1xuICAgIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gJ251bWJlcicgb3IgJHZhbHVlID09ICdhdXRvJyBvciAodHlwZS1vZigkdmFsdWUpID09ICdzdHJpbmcnIGFuZCBzdHItaW5kZXgoJHZhbHVlLCAndmFyKC0tJykpXG4gICAge1xuICAgICAgLS1zcGFjZXItI3ska2V5fTogI3skdmFsdWV9O1xuICAgIH0gQGVsc2UgaWYgJHZhbHVlIHtcbiAgICAgIEB3YXJuICdNYWtlIHN1cmUgdGhhdCBgI3skdmFsdWV9YCBpcyBhIG51bWJlciwgYSBDU1MgdmFyaWFibGUgb3IgZXF1YWxzIGBhdXRvYCBpbiBgJHNwYWNlcnM6ICN7JHNwYWNlcnN9YCBtYXAuJztcbiAgICB9XG4gIH1cbn1cblxuLy8vIE1peGluIHRvIG91dHB1dCBjb250YWluZXIgbWF4IHdpZHRoIHZhcmlhYmxlLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vIEByZXF1aXJlcyB7dmFyaWFibGV9IGNvbnRhaW5lci1tYXgtd2lkdGhcbi8vLyBAdGhyb3dzIE1ha2Ugc3VyZSB0aGF0IGAjeyRjb250YWluZXItbWF4LXdpZHRofWAgaXMgYSBudW1iZXIgb3IgYSBDU1MgdmFyaWFibGUgaW4gYCRjb250YWluZXItbWF4LXdpZHRoOiAjeyRjb250YWluZXItbWF4LXdpZHRofWAgdmFyaWFibGUuXG5AbWl4aW4gdmFyLWNvbnRhaW5lci1tYXgtd2lkdGgge1xuICBAaWYgdHlwZS1vZigkY29udGFpbmVyLW1heC13aWR0aCkgPT1cbiAgICAnbnVtYmVyJyBvclxuICAgICh0eXBlLW9mKCRjb250YWluZXItbWF4LXdpZHRoKSA9PSAnc3RyaW5nJyBhbmQgc3RyLWluZGV4KCRjb250YWluZXItbWF4LXdpZHRoLCAndmFyKC0tJykpXG4gIHtcbiAgICAtLWNvbnRhaW5lci1tYXgtd2lkdGg6ICN7JGNvbnRhaW5lci1tYXgtd2lkdGh9O1xuICB9IEBlbHNlIHtcbiAgICBAd2FybiAnTWFrZSBzdXJlIHRoYXQgYCN7JGNvbnRhaW5lci1tYXgtd2lkdGh9YCBpcyBhIG51bWJlciBvciBhIENTUyB2YXJpYWJsZSBpbiBgJGNvbnRhaW5lci1tYXgtd2lkdGg6ICN7JGNvbnRhaW5lci1tYXgtd2lkdGh9YCB2YXJpYWJsZS4nO1xuICB9XG59XG5cbi8vLyBNaXhpbiB0byBvdXRwdXQgY29udGFpbmVyIHNpZGUgbWFyZ2luIHZhcmlhYmxlcy5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vLyBAcmVxdWlyZXMge21peGlufSBicmVha3BvaW50XG4vLy8gQHJlcXVpcmVzIHt2YXJpYWJsZX0gY29udGFpbmVyLXNpZGUtbWFyZ2luXG4vLy8gQHRocm93cyBNYWtlIHN1cmUgdGhhdCBgI3skdmFsdWV9YCBpcyBhIG51bWJlciBvciBhIENTUyB2YXJpYWJsZSBpbiBgJGNvbnRhaW5lci1zaWRlLW1hcmdpbjogI3skY29udGFpbmVyLXNpZGUtbWFyZ2lufWAgbWFwLlxuQG1peGluIHZhci1jb250YWluZXItc2lkZS1tYXJnaW4ge1xuICBAZWFjaCAka2V5LCAkdmFsdWUgaW4gJGNvbnRhaW5lci1zaWRlLW1hcmdpbiB7XG4gICAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSAnbnVtYmVyJyBvciAodHlwZS1vZigkdmFsdWUpID09ICdzdHJpbmcnIGFuZCBzdHItaW5kZXgoJHZhbHVlLCAndmFyKC0tJykpIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGtleSkge1xuICAgICAgICAtLWNvbnRhaW5lci1zaWRlLW1hcmdpbjogI3skdmFsdWV9O1xuICAgICAgfVxuICAgIH0gQGVsc2UgaWYgJHZhbHVlIHtcbiAgICAgIEB3YXJuICdNYWtlIHN1cmUgdGhhdCBgI3skdmFsdWV9YCBpcyBhIG51bWJlciBvciBhIENTUyB2YXJpYWJsZSBpbiBgJGNvbnRhaW5lci1zaWRlLW1hcmdpbjogI3skY29udGFpbmVyLXNpZGUtbWFyZ2lufWAgbWFwLic7XG4gICAgfVxuICB9XG59XG5cbi8vLyBNaXhpbiB0byBvdXRwdXQgY29sdW1uIGNvdW50IHZhcmlhYmxlLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vIEByZXF1aXJlcyB7dmFyaWFibGV9IGNvbHVtbi1jb3VudFxuLy8vIEB0aHJvd3MgTWFrZSBzdXJlIHRoYXQgYCN7JGNvbHVtbi1jb3VudH1gIGlzIGEgbnVtYmVyIGluIGAkY29sdW1uLWNvdW50OiAjeyRjb2x1bW4tY291bnR9YCB2YXJpYWJsZS5cbkBtaXhpbiB2YXItY29sdW1uLWNvdW50IHtcbiAgQGlmIHR5cGUtb2YoJGNvbHVtbi1jb3VudCkgPT0gJ251bWJlcicgYW5kIHVuaXRsZXNzKCRjb2x1bW4tY291bnQpIHtcbiAgICAtLWNvbHVtbi1jb3VudDogI3skY29sdW1uLWNvdW50fTtcbiAgfSBAZWxzZSB7XG4gICAgQHdhcm4gJ01ha2Ugc3VyZSB0aGF0IGAjeyRjb2x1bW4tY291bnR9YCBpcyBhIG51bWJlciBpbiBgJGNvbHVtbi1jb3VudDogI3skY29sdW1uLWNvdW50fWAgdmFyaWFibGUuJztcbiAgfVxufVxuXG4vLy8gTWl4aW4gdG8gb3V0cHV0IGNvbHVtbiBnYXAgdmFyaWFibGVzLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vIEByZXF1aXJlcyB7bWl4aW59IGJyZWFrcG9pbnRcbi8vLyBAcmVxdWlyZXMge3ZhcmlhYmxlfSBjb2x1bW4tZ2FwXG4vLy8gQHRocm93cyBNYWtlIHN1cmUgdGhhdCBgI3skdmFsdWV9YCBpcyBhIG51bWJlciBvciBhIENTUyB2YXJpYWJsZSBpbiBgJGNvbHVtbi1nYXA6ICN7JGNvbHVtbi1nYXB9YCBtYXAuXG5AbWl4aW4gdmFyLWNvbHVtbi1nYXAge1xuICBAZWFjaCAka2V5LCAkdmFsdWUgaW4gJGNvbHVtbi1nYXAge1xuICAgIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gJ251bWJlcicgb3IgKHR5cGUtb2YoJHZhbHVlKSA9PSAnc3RyaW5nJyBhbmQgc3RyLWluZGV4KCR2YWx1ZSwgJ3ZhcigtLScpKSB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRrZXkpIHtcbiAgICAgICAgLS1jb2x1bW4tZ2FwOiAjeyR2YWx1ZX07XG4gICAgICB9XG4gICAgfSBAZWxzZSBpZiAkdmFsdWUge1xuICAgICAgQHdhcm4gJ01ha2Ugc3VyZSB0aGF0IGAjeyR2YWx1ZX1gIGlzIGEgbnVtYmVyIG9yIGEgQ1NTIHZhcmlhYmxlIGluIGAkY29sdW1uLWdhcDogI3skY29sdW1uLWdhcH1gIG1hcC4nO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gTWl4aW4gdG8gb3V0cHV0IHJvdyBnYXAgdmFyaWFibGVzLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vIEByZXF1aXJlcyB7bWl4aW59IGJyZWFrcG9pbnRcbi8vLyBAcmVxdWlyZXMge3ZhcmlhYmxlfSByb3ctZ2FwXG4vLy8gQHRocm93cyBNYWtlIHN1cmUgdGhhdCBgI3skdmFsdWV9YCBpcyBhIG51bWJlciBvciBhIENTUyB2YXJpYWJsZSBpbiBgJHJvdy1nYXA6ICN7JHJvdy1nYXB9YCBtYXAuXG5AbWl4aW4gdmFyLXJvdy1nYXAge1xuICBAZWFjaCAka2V5LCAkdmFsdWUgaW4gJHJvdy1nYXAge1xuICAgIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gJ251bWJlcicgb3IgKHR5cGUtb2YoJHZhbHVlKSA9PSAnc3RyaW5nJyBhbmQgc3RyLWluZGV4KCR2YWx1ZSwgJ3ZhcigtLScpKSB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRrZXkpIHtcbiAgICAgICAgLS1yb3ctZ2FwOiAjeyR2YWx1ZX07XG4gICAgICB9XG4gICAgfSBAZWxzZSBpZiAkdmFsdWUge1xuICAgICAgQHdhcm4gJ01ha2Ugc3VyZSB0aGF0IGAjeyR2YWx1ZX1gIGlzIGEgbnVtYmVyIG9yIGEgQ1NTIHZhcmlhYmxlIGluIGAkcm93LWdhcDogI3skcm93LWdhcH1gIG1hcC4nO1xuICAgIH1cbiAgfVxufVxuXG4vLyogIFByaXZhdGUgbWl4aW5zIHRvIG91dHB1dCBncmlkIGNvbHVtbnNcbi8vICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8vLyBNaXhpbiB0byBvdXRwdXQgZ3JpZCBjb2x1bW5zLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vIEByZXF1aXJlcyB7dmFyaWFibGV9IGNvbHVtbi1jb3VudFxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc3VmZml4IFtudWxsXSAtIFJlc3BvbnNpdmUgc3VmZml4XG5AbWl4aW4gZ3JpZC1jb2x1bW5zKCRzdWZmaXg6IG51bGwpIHtcbiAgQGlmIHR5cGUtb2YoJGNvbHVtbi1jb3VudCkgPT0gJ251bWJlcicgYW5kIHVuaXRsZXNzKCRjb2x1bW4tY291bnQpIHtcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRjb2x1bW4tY291bnQge1xuICAgICAgLm8tZ3JpZC0tI3skaX0jeyRzdWZmaXh9IHtcbiAgICAgICAgLS1ncmlkLWNvbHVtbi1jb3VudDogI3skaX07XG4gICAgICAgIC0tZ3JpZC1jb2x1bW4td2lkdGg6IGNhbGMoMTAwJSAvIHZhcigtLWdyaWQtY29sdW1uLWNvdW50KSk7XG4gICAgICB9XG5cbiAgICAgIC5vLWdyaWRfX2NvbC0tI3skaX0jeyRzdWZmaXh9IHtcbiAgICAgICAgLS1ncmlkLWNvbHVtbnM6ICN7JGl9O1xuICAgICAgICAtLWdyaWQtY29sdW1uLXdpZHRoOiBjYWxjKDEwMCUgKiB2YXIoLS1ncmlkLWNvbHVtbnMpIC8gdmFyKC0tZ3JpZC1jb2x1bW4tY291bnQpKTtcbiAgICAgIH1cblxuICAgICAgLm8tZ3JpZF9fY29sLS1wdXNoLSN7JGl9I3skc3VmZml4fSB7XG4gICAgICAgIC0tZ3JpZC1jb2x1bW4tb2Zmc2V0LXdpZHRoOiBjYWxjKDEwMCUgKiAjeyRpfSAvIHZhcigtLWdyaWQtY29sdW1uLWNvdW50KSk7XG4gICAgICB9XG5cbiAgICAgIC5vLWdyaWRfX2NvbC0tcHVsbC0jeyRpfSN7JHN1ZmZpeH0ge1xuICAgICAgICAtLWdyaWQtY29sdW1uLW9mZnNldC13aWR0aDogY2FsYygtMTAwJSAqICN7JGl9IC8gdmFyKC0tZ3JpZC1jb2x1bW4tY291bnQpKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIE1peGluIHRvIG91dHB1dCByZXNwb25zaXZlIGdyaWQgY29sdW1ucy5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vLyBAcmVxdWlyZXMge21peGlufSBicmVha3BvaW50XG4vLy8gQHJlcXVpcmVzIHttaXhpbn0gZ3JpZC1jb2x1bW5zXG4vLy8gQHJlcXVpcmVzIHt2YXJpYWJsZX0gYnJlYWtwb2ludHNcbi8vLyBAcmVxdWlyZXMge3ZhcmlhYmxlfSBTRVBBUkFUT1JfTUVESUFcbkBtaXhpbiByZXNwb25zaXZlLWdyaWQtY29sdW1ucyB7XG4gIEBlYWNoICRrZXksICR2YWx1ZSBpbiAkYnJlYWtwb2ludHMge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGtleSkge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW5zKCN7JFNFUEFSQVRPUl9NRURJQX0jeyRrZXl9KTtcbiAgICB9XG4gIH1cbn1cblxuLy8qICBQcml2YXRlIG1peGlucyB0byBvdXRwdXQgdXRpbGl0eSBjbGFzc2VzIChIZWxwZXJzKVxuLy8gICBOYW1pbmcgY29udmVudGlvbiBiYXNlZCBvbiBBdG9taWMgQ1NTIDogaHR0cHM6Ly9hY3NzLmlvL3JlZmVyZW5jZVxuLy8gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLy8vIE1peGluIHRvIG91dHB1dCBwb3NpdGlvbiB1dGlsaXRpZXMuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy8gQHJlcXVpcmVzIHt2YXJpYWJsZX0gU0VQQVJBVE9SX1ZBTFVFX1NUQVJUXG4vLy8gQHJlcXVpcmVzIHt2YXJpYWJsZX0gU0VQQVJBVE9SX1ZBTFVFX0VORFxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc3VmZml4IFtudWxsXSAtIFJlc3BvbnNpdmUgc3VmZml4XG5AbWl4aW4gcG9zaXRpb24oJHN1ZmZpeDogbnVsbCkge1xuICAudS1wb3MjeyRTRVBBUkFUT1JfVkFMVUVfU1RBUlR9c3RhdGljI3skU0VQQVJBVE9SX1ZBTFVFX0VORH0jeyRzdWZmaXh9IHtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICB9XG5cbiAgLnUtcG9zI3skU0VQQVJBVE9SX1ZBTFVFX1NUQVJUfXJlbGF0aXZlI3skU0VQQVJBVE9SX1ZBTFVFX0VORH0jeyRzdWZmaXh9IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cblxuICAudS1wb3MjeyRTRVBBUkFUT1JfVkFMVUVfU1RBUlR9YWJzb2x1dGUjeyRTRVBBUkFUT1JfVkFMVUVfRU5EfSN7JHN1ZmZpeH0ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgfVxuXG4gIC51LXBvcyN7JFNFUEFSQVRPUl9WQUxVRV9TVEFSVH1maXhlZCN7JFNFUEFSQVRPUl9WQUxVRV9FTkR9I3skc3VmZml4fSB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICB9XG5cbiAgLnUtcG9zI3skU0VQQVJBVE9SX1ZBTFVFX1NUQVJUfXN0aWNreSN7JFNFUEFSQVRPUl9WQUxVRV9FTkR9I3skc3VmZml4fSB7XG4gICAgcG9zaXRpb246IHN0aWNreTtcbiAgfVxufVxuXG4vLy8gTWl4aW4gdG8gb3V0cHV0IHJlc3BvbnNpdmUgcG9zaXRpb24gdXRpbGl0aWVzLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vIEByZXF1aXJlcyB7bWl4aW59IGJyZWFrcG9pbnRcbi8vLyBAcmVxdWlyZXMge21peGlufSBwb3NpdGlvblxuLy8vIEByZXF1aXJlcyB7dmFyaWFibGV9IGJyZWFrcG9pbnRzXG4vLy8gQHJlcXVpcmVzIHt2YXJpYWJsZX0gU0VQQVJBVE9SX01FRElBXG5AbWl4aW4gcmVzcG9uc2l2ZS1wb3NpdGlvbiB7XG4gIEBlYWNoICRrZXksICR2YWx1ZSBpbiAkYnJlYWtwb2ludHMge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGtleSkge1xuICAgICAgQGluY2x1ZGUgcG9zaXRpb24oI3skU0VQQVJBVE9SX01FRElBfSN7JGtleX0pO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gTWl4aW4gdG8gb3V0cHV0IGRpc3BsYXkgdXRpbGl0aWVzLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vIEByZXF1aXJlcyB7dmFyaWFibGV9IFNFUEFSQVRPUl9WQUxVRV9TVEFSVFxuLy8vIEByZXF1aXJlcyB7dmFyaWFibGV9IFNFUEFSQVRPUl9WQUxVRV9FTkRcbi8vLyBAcGFyYW0ge1N0cmluZ30gJHN1ZmZpeCBbbnVsbF0gLSBSZXNwb25zaXZlIHN1ZmZpeFxuQG1peGluIGRpc3BsYXkoJHN1ZmZpeDogbnVsbCkge1xuICAudS1kI3skU0VQQVJBVE9SX1ZBTFVFX1NUQVJUfWlubGluZSN7JFNFUEFSQVRPUl9WQUxVRV9FTkR9I3skc3VmZml4fSB7XG4gICAgZGlzcGxheTogaW5saW5lO1xuICB9XG5cbiAgLnUtZCN7JFNFUEFSQVRPUl9WQUxVRV9TVEFSVH1ibG9jayN7JFNFUEFSQVRPUl9WQUxVRV9FTkR9I3skc3VmZml4fSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAudS1kI3skU0VQQVJBVE9SX1ZBTFVFX1NUQVJUfWlubGluZS1ibG9jayN7JFNFUEFSQVRPUl9WQUxVRV9FTkR9I3skc3VmZml4fSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB9XG5cbiAgLnUtZCN7JFNFUEFSQVRPUl9WQUxVRV9TVEFSVH1mbGV4I3skU0VQQVJBVE9SX1ZBTFVFX0VORH0jeyRzdWZmaXh9IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICB9XG5cbiAgLnUtZCN7JFNFUEFSQVRPUl9WQUxVRV9TVEFSVH1pbmxpbmUtZmxleCN7JFNFUEFSQVRPUl9WQUxVRV9FTkR9I3skc3VmZml4fSB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIH1cblxuICAudS1kI3skU0VQQVJBVE9SX1ZBTFVFX1NUQVJUfWdyaWQjeyRTRVBBUkFUT1JfVkFMVUVfRU5EfSN7JHN1ZmZpeH0ge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gIH1cblxuICAudS1kI3skU0VQQVJBVE9SX1ZBTFVFX1NUQVJUfWlubGluZS1ncmlkI3skU0VQQVJBVE9SX1ZBTFVFX0VORH0jeyRzdWZmaXh9IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZ3JpZDtcbiAgfVxuXG4gIC51LWQjeyRTRVBBUkFUT1JfVkFMVUVfU1RBUlR9dGFibGUjeyRTRVBBUkFUT1JfVkFMVUVfRU5EfSN7JHN1ZmZpeH0ge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICB9XG5cbiAgLnUtZCN7JFNFUEFSQVRPUl9WQUxVRV9TVEFSVH1pbmxpbmUtdGFibGUjeyRTRVBBUkFUT1JfVkFMVUVfRU5EfSN7JHN1ZmZpeH0ge1xuICAgIGRpc3BsYXk6IGlubGluZS10YWJsZTtcbiAgfVxuXG4gIC51LWQjeyRTRVBBUkFUT1JfVkFMVUVfU1RBUlR9dGFibGUtcm93I3skU0VQQVJBVE9SX1ZBTFVFX0VORH0jeyRzdWZmaXh9IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1yb3c7XG4gIH1cblxuICAudS1kI3skU0VQQVJBVE9SX1ZBTFVFX1NUQVJUfXRhYmxlLWNlbGwjeyRTRVBBUkFUT1JfVkFMVUVfRU5EfSN7JHN1ZmZpeH0ge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gIH1cblxuICAudS1kI3skU0VQQVJBVE9SX1ZBTFVFX1NUQVJUfW5vbmUjeyRTRVBBUkFUT1JfVkFMVUVfRU5EfSN7JHN1ZmZpeH0ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLy8vIE1peGluIHRvIG91dHB1dCByZXNwb25zaXZlIGRpc3BsYXkgdXRpbGl0aWVzLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vIEByZXF1aXJlcyB7bWl4aW59IGJyZWFrcG9pbnRcbi8vLyBAcmVxdWlyZXMge21peGlufSBkaXNwbGF5XG4vLy8gQHJlcXVpcmVzIHt2YXJpYWJsZX0gYnJlYWtwb2ludHNcbi8vLyBAcmVxdWlyZXMge3ZhcmlhYmxlfSBTRVBBUkFUT1JfTUVESUFcbkBtaXhpbiByZXNwb25zaXZlLWRpc3BsYXkge1xuICBAZWFjaCAka2V5LCAkdmFsdWUgaW4gJGJyZWFrcG9pbnRzIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRrZXkpIHtcbiAgICAgIEBpbmNsdWRlIGRpc3BsYXkoI3skU0VQQVJBVE9SX01FRElBfSN7JGtleX0pO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gTWl4aW4gdG8gb3V0cHV0IGZsZXggdXRpbGl0aWVzLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vIEByZXF1aXJlcyB7dmFyaWFibGV9IFNFUEFSQVRPUl9WQUxVRV9TVEFSVFxuLy8vIEByZXF1aXJlcyB7dmFyaWFibGV9IFNFUEFSQVRPUl9WQUxVRV9FTkRcbi8vLyBAcGFyYW0ge1N0cmluZ30gJHN1ZmZpeCBbbnVsbF0gLSBSZXNwb25zaXZlIHN1ZmZpeFxuQG1peGluIGZsZXgoJHN1ZmZpeDogbnVsbCkge1xuICAudS1kI3skU0VQQVJBVE9SX1ZBTFVFX1NUQVJUfWZsZXgjeyRTRVBBUkFUT1JfVkFMVUVfRU5EfSN7JHN1ZmZpeH0ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gIH1cblxuICAudS1kI3skU0VQQVJBVE9SX1ZBTFVFX1NUQVJUfWlubGluZS1mbGV4I3skU0VQQVJBVE9SX1ZBTFVFX0VORH0jeyRzdWZmaXh9IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgfVxuXG4gIC51LWZ4ZCN7JFNFUEFSQVRPUl9WQUxVRV9TVEFSVH1yb3cjeyRTRVBBUkFUT1JfVkFMVUVfRU5EfSN7JHN1ZmZpeH0ge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIH1cblxuICAudS1meGQjeyRTRVBBUkFUT1JfVkFMVUVfU1RBUlR9cm93LXJldmVyc2UjeyRTRVBBUkFUT1JfVkFMVUVfRU5EfSN7JHN1ZmZpeH0ge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcbiAgfVxuXG4gIC51LWZ4ZCN7JFNFUEFSQVRPUl9WQUxVRV9TVEFSVH1jb2x1bW4jeyRTRVBBUkFUT1JfVkFMVUVfRU5EfSN7JHN1ZmZpeH0ge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIH1cblxuICAudS1meGQjeyRTRVBBUkFUT1JfVkFMVUVfU1RBUlR9Y29sdW1uLXJldmVyc2UjeyRTRVBBUkFUT1JfVkFMVUVfRU5EfSN7JHN1ZmZpeH0ge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcbiAgfVxuXG4gIC51LWZ4dyN7JFNFUEFSQVRPUl9WQUxVRV9TVEFSVH1ub3dyYXAjeyRTRVBBUkFUT1JfVkFMVUVfRU5EfSN7JHN1ZmZpeH0ge1xuICAgIC0tZ3JpZC1yb3ctZ2FwOiAwO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICB9XG5cbiAgLnUtZnh3I3skU0VQQVJBVE9SX1ZBTFVFX1NUQVJUfXdyYXAjeyRTRVBBUkFUT1JfVkFMVUVfRU5EfSN7JHN1ZmZpeH0ge1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgfVxuXG4gIC51LWZ4dyN7JFNFUEFSQVRPUl9WQUxVRV9TVEFSVH13cmFwLXJldmVyc2UjeyRTRVBBUkFUT1JfVkFMVUVfRU5EfSN7JHN1ZmZpeH0ge1xuICAgIGZsZXgtd3JhcDogd3JhcC1yZXZlcnNlO1xuICB9XG5cbiAgLnUtamMjeyRTRVBBUkFUT1JfVkFMVUVfU1RBUlR9ZmxleC1zdGFydCN7JFNFUEFSQVRPUl9WQUxVRV9FTkR9I3skc3VmZml4fSB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICB9XG5cbiAgLnUtamMjeyRTRVBBUkFUT1JfVkFMVUVfU1RBUlR9ZmxleC1lbmQjeyRTRVBBUkFUT1JfVkFMVUVfRU5EfSN7JHN1ZmZpeH0ge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gIH1cblxuICAudS1qYyN7JFNFUEFSQVRPUl9WQUxVRV9TVEFSVH1jZW50ZXIjeyRTRVBBUkFUT1JfVkFMVUVfRU5EfSN7JHN1ZmZpeH0ge1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB9XG5cbiAgLnUtamMjeyRTRVBBUkFUT1JfVkFMVUVfU1RBUlR9c3BhY2UtYmV0d2VlbiN7JFNFUEFSQVRPUl9WQUxVRV9FTkR9I3skc3VmZml4fSB7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICB9XG5cbiAgLnUtamMjeyRTRVBBUkFUT1JfVkFMVUVfU1RBUlR9c3BhY2UtYXJvdW5kI3skU0VQQVJBVE9SX1ZBTFVFX0VORH0jeyRzdWZmaXh9IHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcbiAgfVxuXG4gIC51LWpjI3skU0VQQVJBVE9SX1ZBTFVFX1NUQVJUfXNwYWNlLWV2ZW5seSN7JFNFUEFSQVRPUl9WQUxVRV9FTkR9I3skc3VmZml4fSB7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1ldmVubHk7XG4gIH1cblxuICAudS1hYyN7JFNFUEFSQVRPUl9WQUxVRV9TVEFSVH1mbGV4LXN0YXJ0I3skU0VQQVJBVE9SX1ZBTFVFX0VORH0jeyRzdWZmaXh9IHtcbiAgICBhbGlnbi1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICB9XG5cbiAgLnUtYWMjeyRTRVBBUkFUT1JfVkFMVUVfU1RBUlR9ZmxleC1lbmQjeyRTRVBBUkFUT1JfVkFMVUVfRU5EfSN7JHN1ZmZpeH0ge1xuICAgIGFsaWduLWNvbnRlbnQ6IGZsZXgtZW5kO1xuICB9XG5cbiAgLnUtYWMjeyRTRVBBUkFUT1JfVkFMVUVfU1RBUlR9Y2VudGVyI3skU0VQQVJBVE9SX1ZBTFVFX0VORH0jeyRzdWZmaXh9IHtcbiAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG4gIH1cblxuICAudS1hYyN7JFNFUEFSQVRPUl9WQUxVRV9TVEFSVH1zcGFjZS1iZXR3ZWVuI3skU0VQQVJBVE9SX1ZBTFVFX0VORH0jeyRzdWZmaXh9IHtcbiAgICBhbGlnbi1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICB9XG5cbiAgLnUtYWMjeyRTRVBBUkFUT1JfVkFMVUVfU1RBUlR9c3BhY2UtYXJvdW5kI3skU0VQQVJBVE9SX1ZBTFVFX0VORH0jeyRzdWZmaXh9IHtcbiAgICBhbGlnbi1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG4gIH1cblxuICAudS1hYyN7JFNFUEFSQVRPUl9WQUxVRV9TVEFSVH1zdHJldGNoI3skU0VQQVJBVE9SX1ZBTFVFX0VORH0jeyRzdWZmaXh9IHtcbiAgICBhbGlnbi1jb250ZW50OiBzdHJldGNoO1xuICB9XG5cbiAgLnUtYWkjeyRTRVBBUkFUT1JfVkFMVUVfU1RBUlR9ZmxleC1zdGFydCN7JFNFUEFSQVRPUl9WQUxVRV9FTkR9I3skc3VmZml4fSB7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIH1cblxuICAudS1haSN7JFNFUEFSQVRPUl9WQUxVRV9TVEFSVH1mbGV4LWVuZCN7JFNFUEFSQVRPUl9WQUxVRV9FTkR9I3skc3VmZml4fSB7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICB9XG5cbiAgLnUtYWkjeyRTRVBBUkFUT1JfVkFMVUVfU1RBUlR9Y2VudGVyI3skU0VQQVJBVE9SX1ZBTFVFX0VORH0jeyRzdWZmaXh9IHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG5cbiAgLnUtYWkjeyRTRVBBUkFUT1JfVkFMVUVfU1RBUlR9YmFzZWxpbmUjeyRTRVBBUkFUT1JfVkFMVUVfRU5EfSN7JHN1ZmZpeH0ge1xuICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgfVxuXG4gIC51LWFpI3skU0VQQVJBVE9SX1ZBTFVFX1NUQVJUfXN0cmV0Y2gjeyRTRVBBUkFUT1JfVkFMVUVfRU5EfSN7JHN1ZmZpeH0ge1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICB9XG5cbiAgLnUtYXMjeyRTRVBBUkFUT1JfVkFMVUVfU1RBUlR9ZmxleC1zdGFydCN7JFNFUEFSQVRPUl9WQUxVRV9FTkR9I3skc3VmZml4fSB7XG4gICAgYWxpZ24tc2VsZjogZmxleC1zdGFydDtcbiAgfVxuXG4gIC51LWFzI3skU0VQQVJBVE9SX1ZBTFVFX1NUQVJUfWZsZXgtZW5kI3skU0VQQVJBVE9SX1ZBTFVFX0VORH0jeyRzdWZmaXh9IHtcbiAgICBhbGlnbi1zZWxmOiBmbGV4LWVuZDtcbiAgfVxuXG4gIC51LWFzI3skU0VQQVJBVE9SX1ZBTFVFX1NUQVJUfWNlbnRlciN7JFNFUEFSQVRPUl9WQUxVRV9FTkR9I3skc3VmZml4fSB7XG4gICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICB9XG5cbiAgLnUtYXMjeyRTRVBBUkFUT1JfVkFMVUVfU1RBUlR9YmFzZWxpbmUjeyRTRVBBUkFUT1JfVkFMVUVfRU5EfSN7JHN1ZmZpeH0ge1xuICAgIGFsaWduLXNlbGY6IGJhc2VsaW5lO1xuICB9XG5cbiAgLnUtYXMjeyRTRVBBUkFUT1JfVkFMVUVfU1RBUlR9c3RyZXRjaCN7JFNFUEFSQVRPUl9WQUxVRV9FTkR9I3skc3VmZml4fSB7XG4gICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgfVxuXG4gIC51LWZ4I3skU0VQQVJBVE9SX1ZBTFVFX1NUQVJUfWluaXRpYWwjeyRTRVBBUkFUT1JfVkFMVUVfRU5EfSN7JHN1ZmZpeH0ge1xuICAgIGZsZXg6IGluaXRpYWw7XG4gIH1cblxuICAudS1meCN7JFNFUEFSQVRPUl9WQUxVRV9TVEFSVH1hdXRvI3skU0VQQVJBVE9SX1ZBTFVFX0VORH0jeyRzdWZmaXh9IHtcbiAgICBmbGV4OiBhdXRvO1xuICB9XG5cbiAgLnUtZngjeyRTRVBBUkFUT1JfVkFMVUVfU1RBUlR9MSN7JFNFUEFSQVRPUl9WQUxVRV9FTkR9I3skc3VmZml4fSB7XG4gICAgZmxleDogMTtcbiAgfVxuXG4gIC51LWZ4I3skU0VQQVJBVE9SX1ZBTFVFX1NUQVJUfW5vbmUjeyRTRVBBUkFUT1JfVkFMVUVfRU5EfSN7JHN1ZmZpeH0ge1xuICAgIGZsZXg6IG5vbmU7XG4gIH1cblxuICAudS1meGcjeyRTRVBBUkFUT1JfVkFMVUVfU1RBUlR9MSN7JFNFUEFSQVRPUl9WQUxVRV9FTkR9I3skc3VmZml4fSB7XG4gICAgZmxleC1ncm93OiAxO1xuICB9XG5cbiAgLnUtZnhnI3skU0VQQVJBVE9SX1ZBTFVFX1NUQVJUfTAjeyRTRVBBUkFUT1JfVkFMVUVfRU5EfSN7JHN1ZmZpeH0ge1xuICAgIGZsZXgtZ3JvdzogMDtcbiAgfVxuXG4gIC51LWZ4cyN7JFNFUEFSQVRPUl9WQUxVRV9TVEFSVH0xI3skU0VQQVJBVE9SX1ZBTFVFX0VORH0jeyRzdWZmaXh9IHtcbiAgICBmbGV4LXNocmluazogMTtcbiAgfVxuXG4gIC51LWZ4cyN7JFNFUEFSQVRPUl9WQUxVRV9TVEFSVH0wI3skU0VQQVJBVE9SX1ZBTFVFX0VORH0jeyRzdWZmaXh9IHtcbiAgICBmbGV4LXNocmluazogMDtcbiAgfVxuXG4gIC51LWZ4YiN7JFNFUEFSQVRPUl9WQUxVRV9TVEFSVH0wI3skU0VQQVJBVE9SX1ZBTFVFX0VORH0jeyRzdWZmaXh9IHtcbiAgICBmbGV4LWJhc2lzOiAwO1xuICB9XG5cbiAgLnUtb3IjeyRTRVBBUkFUT1JfVkFMVUVfU1RBUlR9LTEjeyRTRVBBUkFUT1JfVkFMVUVfRU5EfSN7JHN1ZmZpeH0ge1xuICAgIG9yZGVyOiAtMTtcbiAgfVxuXG4gIC51LW9yI3skU0VQQVJBVE9SX1ZBTFVFX1NUQVJUfTAjeyRTRVBBUkFUT1JfVkFMVUVfRU5EfSN7JHN1ZmZpeH0ge1xuICAgIG9yZGVyOiAwO1xuICB9XG5cbiAgLnUtb3IjeyRTRVBBUkFUT1JfVkFMVUVfU1RBUlR9MSN7JFNFUEFSQVRPUl9WQUxVRV9FTkR9I3skc3VmZml4fSB7XG4gICAgb3JkZXI6IDE7XG4gIH1cbn1cblxuLy8vIE1peGluIHRvIG91dHB1dCByZXNwb25zaXZlIGZsZXggdXRpbGl0aWVzLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vIEByZXF1aXJlcyB7bWl4aW59IGJyZWFrcG9pbnRcbi8vLyBAcmVxdWlyZXMge21peGlufSBmbGV4XG4vLy8gQHJlcXVpcmVzIHt2YXJpYWJsZX0gYnJlYWtwb2ludHNcbi8vLyBAcmVxdWlyZXMge3ZhcmlhYmxlfSBTRVBBUkFUT1JfTUVESUFcbkBtaXhpbiByZXNwb25zaXZlLWZsZXgge1xuICBAZWFjaCAka2V5LCAkdmFsdWUgaW4gJGJyZWFrcG9pbnRzIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRrZXkpIHtcbiAgICAgIEBpbmNsdWRlIGZsZXgoI3skU0VQQVJBVE9SX01FRElBfSN7JGtleX0pO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gTWl4aW4gdG8gb3V0cHV0IGFsaWdubWVudCB1dGlsaXRpZXMuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy8gQHJlcXVpcmVzIHt2YXJpYWJsZX0gU0VQQVJBVE9SX1ZBTFVFX1NUQVJUXG4vLy8gQHJlcXVpcmVzIHt2YXJpYWJsZX0gU0VQQVJBVE9SX1ZBTFVFX0VORFxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc3VmZml4IFtudWxsXSAtIFJlc3BvbnNpdmUgc3VmZml4XG5AbWl4aW4gYWxpZ25tZW50KCRzdWZmaXg6IG51bGwpIHtcbiAgLnUtamMjeyRTRVBBUkFUT1JfVkFMVUVfU1RBUlR9c3RhcnQjeyRTRVBBUkFUT1JfVkFMVUVfRU5EfSN7JHN1ZmZpeH0ge1xuICAgIGp1c3RpZnktY29udGVudDogc3RhcnQ7XG4gIH1cblxuICAudS1qYyN7JFNFUEFSQVRPUl9WQUxVRV9TVEFSVH1lbmQjeyRTRVBBUkFUT1JfVkFMVUVfRU5EfSN7JHN1ZmZpeH0ge1xuICAgIGp1c3RpZnktY29udGVudDogZW5kO1xuICB9XG5cbiAgLnUtamMjeyRTRVBBUkFUT1JfVkFMVUVfU1RBUlR9Y2VudGVyI3skU0VQQVJBVE9SX1ZBTFVFX0VORH0jeyRzdWZmaXh9IHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgfVxuXG4gIC51LWpjI3skU0VQQVJBVE9SX1ZBTFVFX1NUQVJUfXNwYWNlLWJldHdlZW4jeyRTRVBBUkFUT1JfVkFMVUVfRU5EfSN7JHN1ZmZpeH0ge1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgfVxuXG4gIC51LWpjI3skU0VQQVJBVE9SX1ZBTFVFX1NUQVJUfXNwYWNlLWFyb3VuZCN7JFNFUEFSQVRPUl9WQUxVRV9FTkR9I3skc3VmZml4fSB7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG4gIH1cblxuICAudS1qYyN7JFNFUEFSQVRPUl9WQUxVRV9TVEFSVH1zcGFjZS1ldmVubHkjeyRTRVBBUkFUT1JfVkFMVUVfRU5EfSN7JHN1ZmZpeH0ge1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtZXZlbmx5O1xuICB9XG5cbiAgLnUtamMjeyRTRVBBUkFUT1JfVkFMVUVfU1RBUlR9c3RyZXRjaCN7JFNFUEFSQVRPUl9WQUxVRV9FTkR9I3skc3VmZml4fSB7XG4gICAganVzdGlmeS1jb250ZW50OiBzdHJldGNoO1xuICB9XG5cbiAgLnUtYWMjeyRTRVBBUkFUT1JfVkFMVUVfU1RBUlR9c3RhcnQjeyRTRVBBUkFUT1JfVkFMVUVfRU5EfSN7JHN1ZmZpeH0ge1xuICAgIGFsaWduLWNvbnRlbnQ6IHN0YXJ0O1xuICB9XG5cbiAgLnUtYWMjeyRTRVBBUkFUT1JfVkFMVUVfU1RBUlR9ZW5kI3skU0VQQVJBVE9SX1ZBTFVFX0VORH0jeyRzdWZmaXh9IHtcbiAgICBhbGlnbi1jb250ZW50OiBlbmQ7XG4gIH1cblxuICAudS1hYyN7JFNFUEFSQVRPUl9WQUxVRV9TVEFSVH1jZW50ZXIjeyRTRVBBUkFUT1JfVkFMVUVfRU5EfSN7JHN1ZmZpeH0ge1xuICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcbiAgfVxuXG4gIC51LWFjI3skU0VQQVJBVE9SX1ZBTFVFX1NUQVJUfWJhc2VsaW5lI3skU0VQQVJBVE9SX1ZBTFVFX0VORH0jeyRzdWZmaXh9IHtcbiAgICBhbGlnbi1jb250ZW50OiBiYXNlbGluZTtcbiAgfVxuXG4gIC51LWFjI3skU0VQQVJBVE9SX1ZBTFVFX1NUQVJUfXNwYWNlLWJldHdlZW4jeyRTRVBBUkFUT1JfVkFMVUVfRU5EfSN7JHN1ZmZpeH0ge1xuICAgIGFsaWduLWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIH1cblxuICAudS1hYyN7JFNFUEFSQVRPUl9WQUxVRV9TVEFSVH1zcGFjZS1hcm91bmQjeyRTRVBBUkFUT1JfVkFMVUVfRU5EfSN7JHN1ZmZpeH0ge1xuICAgIGFsaWduLWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcbiAgfVxuXG4gIC51LWFjI3skU0VQQVJBVE9SX1ZBTFVFX1NUQVJUfXNwYWNlLWV2ZW5seSN7JFNFUEFSQVRPUl9WQUxVRV9FTkR9I3skc3VmZml4fSB7XG4gICAgYWxpZ24tY29udGVudDogc3BhY2UtZXZlbmx5O1xuICB9XG5cbiAgLnUtYWMjeyRTRVBBUkFUT1JfVkFMVUVfU1RBUlR9c3RyZXRjaCN7JFNFUEFSQVRPUl9WQUxVRV9FTkR9I3skc3VmZml4fSB7XG4gICAgYWxpZ24tY29udGVudDogc3RyZXRjaDtcbiAgfVxuXG4gIC51LWppI3skU0VQQVJBVE9SX1ZBTFVFX1NUQVJUfXN0YXJ0I3skU0VQQVJBVE9SX1ZBTFVFX0VORH0jeyRzdWZmaXh9IHtcbiAgICBqdXN0aWZ5LWl0ZW1zOiBzdGFydDtcbiAgfVxuXG4gIC51LWppI3skU0VQQVJBVE9SX1ZBTFVFX1NUQVJUfWVuZCN7JFNFUEFSQVRPUl9WQUxVRV9FTkR9I3skc3VmZml4fSB7XG4gICAganVzdGlmeS1pdGVtczogZW5kO1xuICB9XG5cbiAgLnUtamkjeyRTRVBBUkFUT1JfVkFMVUVfU1RBUlR9Y2VudGVyI3skU0VQQVJBVE9SX1ZBTFVFX0VORH0jeyRzdWZmaXh9IHtcbiAgICBqdXN0aWZ5LWl0ZW1zOiBjZW50ZXI7XG4gIH1cblxuICAudS1qaSN7JFNFUEFSQVRPUl9WQUxVRV9TVEFSVH1iYXNlbGluZSN7JFNFUEFSQVRPUl9WQUxVRV9FTkR9I3skc3VmZml4fSB7XG4gICAganVzdGlmeS1pdGVtczogYmFzZWxpbmU7XG4gIH1cblxuICAudS1qaSN7JFNFUEFSQVRPUl9WQUxVRV9TVEFSVH1zdHJldGNoI3skU0VQQVJBVE9SX1ZBTFVFX0VORH0jeyRzdWZmaXh9IHtcbiAgICBqdXN0aWZ5LWl0ZW1zOiBzdHJldGNoO1xuICB9XG5cbiAgLnUtYWkjeyRTRVBBUkFUT1JfVkFMVUVfU1RBUlR9c3RhcnQjeyRTRVBBUkFUT1JfVkFMVUVfRU5EfSN7JHN1ZmZpeH0ge1xuICAgIGFsaWduLWl0ZW1zOiBzdGFydDtcbiAgfVxuXG4gIC51LWFpI3skU0VQQVJBVE9SX1ZBTFVFX1NUQVJUfWVuZCN7JFNFUEFSQVRPUl9WQUxVRV9FTkR9I3skc3VmZml4fSB7XG4gICAgYWxpZ24taXRlbXM6IGVuZDtcbiAgfVxuXG4gIC51LWFpI3skU0VQQVJBVE9SX1ZBTFVFX1NUQVJUfWNlbnRlciN7JFNFUEFSQVRPUl9WQUxVRV9FTkR9I3skc3VmZml4fSB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgfVxuXG4gIC51LWFpI3skU0VQQVJBVE9SX1ZBTFVFX1NUQVJUfWJhc2VsaW5lI3skU0VQQVJBVE9SX1ZBTFVFX0VORH0jeyRzdWZmaXh9IHtcbiAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG4gIH1cblxuICAudS1haSN7JFNFUEFSQVRPUl9WQUxVRV9TVEFSVH1zdHJldGNoI3skU0VQQVJBVE9SX1ZBTFVFX0VORH0jeyRzdWZmaXh9IHtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgfVxuXG4gIC51LWpzI3skU0VQQVJBVE9SX1ZBTFVFX1NUQVJUfXN0YXJ0I3skU0VQQVJBVE9SX1ZBTFVFX0VORH0jeyRzdWZmaXh9IHtcbiAgICBqdXN0aWZ5LXNlbGY6IHN0YXJ0O1xuICB9XG5cbiAgLnUtanMjeyRTRVBBUkFUT1JfVkFMVUVfU1RBUlR9ZW5kI3skU0VQQVJBVE9SX1ZBTFVFX0VORH0jeyRzdWZmaXh9IHtcbiAgICBqdXN0aWZ5LXNlbGY6IGVuZDtcbiAgfVxuXG4gIC51LWpzI3skU0VQQVJBVE9SX1ZBTFVFX1NUQVJUfWNlbnRlciN7JFNFUEFSQVRPUl9WQUxVRV9FTkR9I3skc3VmZml4fSB7XG4gICAganVzdGlmeS1zZWxmOiBjZW50ZXI7XG4gIH1cblxuICAudS1qcyN7JFNFUEFSQVRPUl9WQUxVRV9TVEFSVH1iYXNlbGluZSN7JFNFUEFSQVRPUl9WQUxVRV9FTkR9I3skc3VmZml4fSB7XG4gICAganVzdGlmeS1zZWxmOiBiYXNlbGluZTtcbiAgfVxuXG4gIC51LWpzI3skU0VQQVJBVE9SX1ZBTFVFX1NUQVJUfXN0cmV0Y2gjeyRTRVBBUkFUT1JfVkFMVUVfRU5EfSN7JHN1ZmZpeH0ge1xuICAgIGp1c3RpZnktc2VsZjogc3RyZXRjaDtcbiAgfVxuXG4gIC51LWFzI3skU0VQQVJBVE9SX1ZBTFVFX1NUQVJUfXN0YXJ0I3skU0VQQVJBVE9SX1ZBTFVFX0VORH0jeyRzdWZmaXh9IHtcbiAgICBhbGlnbi1zZWxmOiBzdGFydDtcbiAgfVxuXG4gIC51LWFzI3skU0VQQVJBVE9SX1ZBTFVFX1NUQVJUfWVuZCN7JFNFUEFSQVRPUl9WQUxVRV9FTkR9I3skc3VmZml4fSB7XG4gICAgYWxpZ24tc2VsZjogZW5kO1xuICB9XG5cbiAgLnUtYXMjeyRTRVBBUkFUT1JfVkFMVUVfU1RBUlR9Y2VudGVyI3skU0VQQVJBVE9SX1ZBTFVFX0VORH0jeyRzdWZmaXh9IHtcbiAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gIH1cblxuICAudS1hcyN7JFNFUEFSQVRPUl9WQUxVRV9TVEFSVH1iYXNlbGluZSN7JFNFUEFSQVRPUl9WQUxVRV9FTkR9I3skc3VmZml4fSB7XG4gICAgYWxpZ24tc2VsZjogYmFzZWxpbmU7XG4gIH1cblxuICAudS1hcyN7JFNFUEFSQVRPUl9WQUxVRV9TVEFSVH1zdHJldGNoI3skU0VQQVJBVE9SX1ZBTFVFX0VORH0jeyRzdWZmaXh9IHtcbiAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICB9XG59XG5cbi8vLyBNaXhpbiB0byBvdXRwdXQgcmVzcG9uc2l2ZSBhbGlnbm1lbnQgdXRpbGl0aWVzLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vIEByZXF1aXJlcyB7bWl4aW59IGJyZWFrcG9pbnRcbi8vLyBAcmVxdWlyZXMge21peGlufSBhbGlnbm1lbnRcbi8vLyBAcmVxdWlyZXMge3ZhcmlhYmxlfSBicmVha3BvaW50c1xuLy8vIEByZXF1aXJlcyB7dmFyaWFibGV9IFNFUEFSQVRPUl9NRURJQVxuQG1peGluIHJlc3BvbnNpdmUtYWxpZ25tZW50IHtcbiAgQGVhY2ggJGtleSwgJHZhbHVlIGluICRicmVha3BvaW50cyB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgka2V5KSB7XG4gICAgICBAaW5jbHVkZSBhbGlnbm1lbnQoI3skU0VQQVJBVE9SX01FRElBfSN7JGtleX0pO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gTWl4aW4gdG8gb3V0cHV0IGZsb2F0IHV0aWxpdGllcy5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vLyBAcmVxdWlyZXMge3ZhcmlhYmxlfSBTRVBBUkFUT1JfVkFMVUVfU1RBUlRcbi8vLyBAcmVxdWlyZXMge3ZhcmlhYmxlfSBTRVBBUkFUT1JfVkFMVUVfRU5EXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzdWZmaXggW251bGxdIC0gUmVzcG9uc2l2ZSBzdWZmaXhcbkBtaXhpbiBmbG9hdCgkc3VmZml4OiBudWxsKSB7XG4gIC51LWZsI3skU0VQQVJBVE9SX1ZBTFVFX1NUQVJUfWxlZnQjeyRTRVBBUkFUT1JfVkFMVUVfRU5EfSN7JHN1ZmZpeH0ge1xuICAgIGZsb2F0OiBsZWZ0O1xuICB9XG5cbiAgLnUtZmwjeyRTRVBBUkFUT1JfVkFMVUVfU1RBUlR9cmlnaHQjeyRTRVBBUkFUT1JfVkFMVUVfRU5EfSN7JHN1ZmZpeH0ge1xuICAgIGZsb2F0OiByaWdodDtcbiAgfVxuXG4gIC51LWZsI3skU0VQQVJBVE9SX1ZBTFVFX1NUQVJUfW5vbmUjeyRTRVBBUkFUT1JfVkFMVUVfRU5EfSN7JHN1ZmZpeH0ge1xuICAgIGZsb2F0OiBub25lO1xuICB9XG59XG5cbi8vLyBNaXhpbiB0byBvdXRwdXQgcmVzcG9uc2l2ZSBmbG9hdCB1dGlsaXRpZXMuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy8gQHJlcXVpcmVzIHttaXhpbn0gYnJlYWtwb2ludFxuLy8vIEByZXF1aXJlcyB7bWl4aW59IGZsb2F0XG4vLy8gQHJlcXVpcmVzIHt2YXJpYWJsZX0gYnJlYWtwb2ludHNcbi8vLyBAcmVxdWlyZXMge3ZhcmlhYmxlfSBTRVBBUkFUT1JfTUVESUFcbkBtaXhpbiByZXNwb25zaXZlLWZsb2F0IHtcbiAgQGVhY2ggJGtleSwgJHZhbHVlIGluICRicmVha3BvaW50cyB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgka2V5KSB7XG4gICAgICBAaW5jbHVkZSBmbG9hdCgjeyRTRVBBUkFUT1JfTUVESUF9I3ska2V5fSk7XG4gICAgfVxuICB9XG59XG5cbi8vLyBNaXhpbiB0byBvdXRwdXQgY2xlYXIgdXRpbGl0aWVzLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vIEByZXF1aXJlcyB7dmFyaWFibGV9IFNFUEFSQVRPUl9WQUxVRV9TVEFSVFxuLy8vIEByZXF1aXJlcyB7dmFyaWFibGV9IFNFUEFSQVRPUl9WQUxVRV9FTkRcbi8vLyBAcGFyYW0ge1N0cmluZ30gJHN1ZmZpeCBbbnVsbF0gLSBSZXNwb25zaXZlIHN1ZmZpeFxuQG1peGluIGNsZWFyKCRzdWZmaXg6IG51bGwpIHtcbiAgLnUtY2wjeyRTRVBBUkFUT1JfVkFMVUVfU1RBUlR9bGVmdCN7JFNFUEFSQVRPUl9WQUxVRV9FTkR9I3skc3VmZml4fSB7XG4gICAgY2xlYXI6IGxlZnQ7XG4gIH1cblxuICAudS1jbCN7JFNFUEFSQVRPUl9WQUxVRV9TVEFSVH1yaWdodCN7JFNFUEFSQVRPUl9WQUxVRV9FTkR9I3skc3VmZml4fSB7XG4gICAgY2xlYXI6IHJpZ2h0O1xuICB9XG5cbiAgLnUtY2wjeyRTRVBBUkFUT1JfVkFMVUVfU1RBUlR9Ym90aCN7JFNFUEFSQVRPUl9WQUxVRV9FTkR9I3skc3VmZml4fSB7XG4gICAgY2xlYXI6IGJvdGg7XG4gIH1cblxuICAudS1jbCN7JFNFUEFSQVRPUl9WQUxVRV9TVEFSVH1ub25lI3skU0VQQVJBVE9SX1ZBTFVFX0VORH0jeyRzdWZmaXh9IHtcbiAgICBjbGVhcjogbm9uZTtcbiAgfVxufVxuXG4vLy8gTWl4aW4gdG8gb3V0cHV0IHJlc3BvbnNpdmUgY2xlYXIgdXRpbGl0aWVzLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vIEByZXF1aXJlcyB7bWl4aW59IGJyZWFrcG9pbnRcbi8vLyBAcmVxdWlyZXMge21peGlufSBjbGVhclxuLy8vIEByZXF1aXJlcyB7dmFyaWFibGV9IGJyZWFrcG9pbnRzXG4vLy8gQHJlcXVpcmVzIHt2YXJpYWJsZX0gU0VQQVJBVE9SX01FRElBXG5AbWl4aW4gcmVzcG9uc2l2ZS1jbGVhciB7XG4gIEBlYWNoICRrZXksICR2YWx1ZSBpbiAkYnJlYWtwb2ludHMge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGtleSkge1xuICAgICAgQGluY2x1ZGUgY2xlYXIoI3skU0VQQVJBVE9SX01FRElBfSN7JGtleX0pO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gTWl4aW4gdG8gb3V0cHV0IHNpemluZyB1dGlsaXRpZXMuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy8gQHJlcXVpcmVzIHt2YXJpYWJsZX0gc2l6ZXNcbi8vLyBAcmVxdWlyZXMge3ZhcmlhYmxlfSBTRVBBUkFUT1JfVkFMVUVfU1RBUlRcbi8vLyBAcmVxdWlyZXMge3ZhcmlhYmxlfSBTRVBBUkFUT1JfVkFMVUVfRU5EXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzdWZmaXggW251bGxdIC0gUmVzcG9uc2l2ZSBzdWZmaXhcbkBtaXhpbiBzaXppbmcoJHN1ZmZpeDogbnVsbCkge1xuICBAZWFjaCAka2V5LCAkdmFsdWUgaW4gJHNpemVzIHtcbiAgICBAaWYgdHlwZS1vZigkdmFsdWUpID09ICdudW1iZXInIG9yICR2YWx1ZSA9PSAnYXV0bycgb3IgKHR5cGUtb2YoJHZhbHVlKSA9PSAnc3RyaW5nJyBhbmQgc3RyLWluZGV4KCR2YWx1ZSwgJ3ZhcigtLScpKVxuICAgIHtcbiAgICAgIC51LXcjeyRTRVBBUkFUT1JfVkFMVUVfU1RBUlR9I3ska2V5fSN7JFNFUEFSQVRPUl9WQUxVRV9FTkR9I3skc3VmZml4fSB7XG4gICAgICAgIHdpZHRoOiB2YXIoLS1zaXplLSN7JGtleX0pO1xuICAgICAgfVxuXG4gICAgICAudS1oI3skU0VQQVJBVE9SX1ZBTFVFX1NUQVJUfSN7JGtleX0jeyRTRVBBUkFUT1JfVkFMVUVfRU5EfSN7JHN1ZmZpeH0ge1xuICAgICAgICBoZWlnaHQ6IHZhcigtLXNpemUtI3ska2V5fSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBNaXhpbiB0byBvdXRwdXQgcmVzcG9uc2l2ZSBzaXppbmcgdXRpbGl0aWVzLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vIEByZXF1aXJlcyB7bWl4aW59IGJyZWFrcG9pbnRcbi8vLyBAcmVxdWlyZXMge21peGlufSBzaXppbmdcbi8vLyBAcmVxdWlyZXMge3ZhcmlhYmxlfSBicmVha3BvaW50c1xuLy8vIEByZXF1aXJlcyB7dmFyaWFibGV9IFNFUEFSQVRPUl9NRURJQVxuQG1peGluIHJlc3BvbnNpdmUtc2l6aW5nIHtcbiAgQGVhY2ggJGtleSwgJHZhbHVlIGluICRicmVha3BvaW50cyB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgka2V5KSB7XG4gICAgICBAaW5jbHVkZSBzaXppbmcoI3skU0VQQVJBVE9SX01FRElBfSN7JGtleX0pO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gTWl4aW4gdG8gb3V0cHV0IHNwYWNpbmcgdXRpbGl0aWVzLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vIEByZXF1aXJlcyB7dmFyaWFibGV9IHNwYWNlcnNcbi8vLyBAcmVxdWlyZXMge3ZhcmlhYmxlfSBTRVBBUkFUT1JfVkFMVUVfU1RBUlRcbi8vLyBAcmVxdWlyZXMge3ZhcmlhYmxlfSBTRVBBUkFUT1JfVkFMVUVfRU5EXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzdWZmaXggW251bGxdIC0gUmVzcG9uc2l2ZSBzdWZmaXhcbkBtaXhpbiBzcGFjaW5nKCRzdWZmaXg6IG51bGwpIHtcbiAgQGVhY2ggJGtleSwgJHZhbHVlIGluICRzcGFjZXJzIHtcbiAgICBAaWYgdHlwZS1vZigkdmFsdWUpID09ICdudW1iZXInIG9yICR2YWx1ZSA9PSAnYXV0bycgb3IgKHR5cGUtb2YoJHZhbHVlKSA9PSAnc3RyaW5nJyBhbmQgc3RyLWluZGV4KCR2YWx1ZSwgJ3ZhcigtLScpKVxuICAgIHtcbiAgICAgIC51LW0jeyRTRVBBUkFUT1JfVkFMVUVfU1RBUlR9I3ska2V5fSN7JFNFUEFSQVRPUl9WQUxVRV9FTkR9I3skc3VmZml4fSB7XG4gICAgICAgIG1hcmdpbjogdmFyKC0tc3BhY2VyLSN7JGtleX0pO1xuICAgICAgfVxuXG4gICAgICAudS1teCN7JFNFUEFSQVRPUl9WQUxVRV9TVEFSVH0jeyRrZXl9I3skU0VQQVJBVE9SX1ZBTFVFX0VORH0jeyRzdWZmaXh9IHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1zcGFjZXItI3ska2V5fSk7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS1zcGFjZXItI3ska2V5fSk7XG4gICAgICB9XG5cbiAgICAgIC51LW15I3skU0VQQVJBVE9SX1ZBTFVFX1NUQVJUfSN7JGtleX0jeyRTRVBBUkFUT1JfVkFMVUVfRU5EfSN7JHN1ZmZpeH0ge1xuICAgICAgICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjZXItI3ska2V5fSk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlci0jeyRrZXl9KTtcbiAgICAgIH1cblxuICAgICAgLnUtbXQjeyRTRVBBUkFUT1JfVkFMVUVfU1RBUlR9I3ska2V5fSN7JFNFUEFSQVRPUl9WQUxVRV9FTkR9I3skc3VmZml4fSB7XG4gICAgICAgIG1hcmdpbi10b3A6IHZhcigtLXNwYWNlci0jeyRrZXl9KTtcbiAgICAgIH1cblxuICAgICAgLnUtbXIjeyRTRVBBUkFUT1JfVkFMVUVfU1RBUlR9I3ska2V5fSN7JFNFUEFSQVRPUl9WQUxVRV9FTkR9I3skc3VmZml4fSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogdmFyKC0tc3BhY2VyLSN7JGtleX0pO1xuICAgICAgfVxuXG4gICAgICAudS1tYiN7JFNFUEFSQVRPUl9WQUxVRV9TVEFSVH0jeyRrZXl9I3skU0VQQVJBVE9SX1ZBTFVFX0VORH0jeyRzdWZmaXh9IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2VyLSN7JGtleX0pO1xuICAgICAgfVxuXG4gICAgICAudS1tbCN7JFNFUEFSQVRPUl9WQUxVRV9TVEFSVH0jeyRrZXl9I3skU0VQQVJBVE9SX1ZBTFVFX0VORH0jeyRzdWZmaXh9IHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IHZhcigtLXNwYWNlci0jeyRrZXl9KTtcbiAgICAgIH1cblxuICAgICAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSAnbnVtYmVyJyBvciAodHlwZS1vZigkdmFsdWUpID09ICdzdHJpbmcnIGFuZCBzdHItaW5kZXgoJHZhbHVlLCAndmFyKC0tJykpIHtcbiAgICAgICAgLnUtcCN7JFNFUEFSQVRPUl9WQUxVRV9TVEFSVH0jeyRrZXl9I3skU0VQQVJBVE9SX1ZBTFVFX0VORH0jeyRzdWZmaXh9IHtcbiAgICAgICAgICBwYWRkaW5nOiB2YXIoLS1zcGFjZXItI3ska2V5fSk7XG4gICAgICAgIH1cblxuICAgICAgICAudS1weCN7JFNFUEFSQVRPUl9WQUxVRV9TVEFSVH0jeyRrZXl9I3skU0VQQVJBVE9SX1ZBTFVFX0VORH0jeyRzdWZmaXh9IHtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjZXItI3ska2V5fSk7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiB2YXIoLS1zcGFjZXItI3ska2V5fSk7XG4gICAgICAgIH1cblxuICAgICAgICAudS1weSN7JFNFUEFSQVRPUl9WQUxVRV9TVEFSVH0jeyRrZXl9I3skU0VQQVJBVE9SX1ZBTFVFX0VORH0jeyRzdWZmaXh9IHtcbiAgICAgICAgICBwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2VyLSN7JGtleX0pO1xuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1zcGFjZXItI3ska2V5fSk7XG4gICAgICAgIH1cblxuICAgICAgICAudS1wdCN7JFNFUEFSQVRPUl9WQUxVRV9TVEFSVH0jeyRrZXl9I3skU0VQQVJBVE9SX1ZBTFVFX0VORH0jeyRzdWZmaXh9IHtcbiAgICAgICAgICBwYWRkaW5nLXRvcDogdmFyKC0tc3BhY2VyLSN7JGtleX0pO1xuICAgICAgICB9XG5cbiAgICAgICAgLnUtcHIjeyRTRVBBUkFUT1JfVkFMVUVfU1RBUlR9I3ska2V5fSN7JFNFUEFSQVRPUl9WQUxVRV9FTkR9I3skc3VmZml4fSB7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogdmFyKC0tc3BhY2VyLSN7JGtleX0pO1xuICAgICAgICB9XG5cbiAgICAgICAgLnUtcGIjeyRTRVBBUkFUT1JfVkFMVUVfU1RBUlR9I3ska2V5fSN7JFNFUEFSQVRPUl9WQUxVRV9FTkR9I3skc3VmZml4fSB7XG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNlci0jeyRrZXl9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC51LXBsI3skU0VQQVJBVE9SX1ZBTFVFX1NUQVJUfSN7JGtleX0jeyRTRVBBUkFUT1JfVkFMVUVfRU5EfSN7JHN1ZmZpeH0ge1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogdmFyKC0tc3BhY2VyLSN7JGtleX0pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBNaXhpbiB0byBvdXRwdXQgcmVzcG9uc2l2ZSBzcGFjaW5nIHV0aWxpdGllcy5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vLyBAcmVxdWlyZXMge21peGlufSBicmVha3BvaW50XG4vLy8gQHJlcXVpcmVzIHttaXhpbn0gc3BhY2luZ1xuLy8vIEByZXF1aXJlcyB7dmFyaWFibGV9IGJyZWFrcG9pbnRzXG4vLy8gQHJlcXVpcmVzIHt2YXJpYWJsZX0gU0VQQVJBVE9SX01FRElBXG5AbWl4aW4gcmVzcG9uc2l2ZS1zcGFjaW5nIHtcbiAgQGVhY2ggJGtleSwgJHZhbHVlIGluICRicmVha3BvaW50cyB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgka2V5KSB7XG4gICAgICBAaW5jbHVkZSBzcGFjaW5nKCN7JFNFUEFSQVRPUl9NRURJQX0jeyRrZXl9KTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIE1peGluIHRvIG91dHB1dCBvdmVyZmxvdyB1dGlsaXRpZXMuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy8gQHJlcXVpcmVzIHt2YXJpYWJsZX0gU0VQQVJBVE9SX1ZBTFVFX1NUQVJUXG4vLy8gQHJlcXVpcmVzIHt2YXJpYWJsZX0gU0VQQVJBVE9SX1ZBTFVFX0VORFxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc3VmZml4IFtudWxsXSAtIFJlc3BvbnNpdmUgc3VmZml4XG5AbWl4aW4gb3ZlcmZsb3coJHN1ZmZpeDogbnVsbCkge1xuICAudS1vdiN7JFNFUEFSQVRPUl9WQUxVRV9TVEFSVH12aXNpYmxlI3skU0VQQVJBVE9SX1ZBTFVFX0VORH0jeyRzdWZmaXh9IHtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgfVxuXG4gIC51LW92I3skU0VQQVJBVE9SX1ZBTFVFX1NUQVJUfWhpZGRlbiN7JFNFUEFSQVRPUl9WQUxVRV9FTkR9I3skc3VmZml4fSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxuXG4gIC51LW92I3skU0VQQVJBVE9SX1ZBTFVFX1NUQVJUfXNjcm9sbCN7JFNFUEFSQVRPUl9WQUxVRV9FTkR9I3skc3VmZml4fSB7XG4gICAgb3ZlcmZsb3c6IHNjcm9sbDtcbiAgfVxuXG4gIC51LW92I3skU0VQQVJBVE9SX1ZBTFVFX1NUQVJUfWF1dG8jeyRTRVBBUkFUT1JfVkFMVUVfRU5EfSN7JHN1ZmZpeH0ge1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICB9XG59XG5cbi8vLyBNaXhpbiB0byBvdXRwdXQgcmVzcG9uc2l2ZSBvdmVyZmxvdyB1dGlsaXRpZXMuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy8gQHJlcXVpcmVzIHttaXhpbn0gYnJlYWtwb2ludFxuLy8vIEByZXF1aXJlcyB7bWl4aW59IG92ZXJmbG93XG4vLy8gQHJlcXVpcmVzIHt2YXJpYWJsZX0gYnJlYWtwb2ludHNcbi8vLyBAcmVxdWlyZXMge3ZhcmlhYmxlfSBTRVBBUkFUT1JfTUVESUFcbkBtaXhpbiByZXNwb25zaXZlLW92ZXJmbG93IHtcbiAgQGVhY2ggJGtleSwgJHZhbHVlIGluICRicmVha3BvaW50cyB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgka2V5KSB7XG4gICAgICBAaW5jbHVkZSBvdmVyZmxvdygjeyRTRVBBUkFUT1JfTUVESUF9I3ska2V5fSk7XG4gICAgfVxuICB9XG59XG5cbi8vLyBNaXhpbiB0byBvdXRwdXQgY29sb3IgdXRpbGl0aWVzLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vIEByZXF1aXJlcyB7dmFyaWFibGV9IGNvbG9yc1xuLy8vIEByZXF1aXJlcyB7dmFyaWFibGV9IFNFUEFSQVRPUl9WQUxVRV9TVEFSVFxuLy8vIEByZXF1aXJlcyB7dmFyaWFibGV9IFNFUEFSQVRPUl9WQUxVRV9FTkRcbi8vLyBAcGFyYW0ge1N0cmluZ30gJHN1ZmZpeCBbbnVsbF0gLSBSZXNwb25zaXZlIHN1ZmZpeFxuQG1peGluIGNvbG9ycygkc3VmZml4OiBudWxsKSB7XG4gIEBlYWNoICRrZXksICR2YWx1ZSBpbiAkY29sb3JzIHtcbiAgICBAaWYgdHlwZS1vZigkdmFsdWUpID09ICdjb2xvcicgb3IgKHR5cGUtb2YoJHZhbHVlKSA9PSAnc3RyaW5nJyBhbmQgc3RyLWluZGV4KCR2YWx1ZSwgJ3ZhcigtLScpKSB7XG4gICAgICAudS1jI3skU0VQQVJBVE9SX1ZBTFVFX1NUQVJUfSN7JGtleX0jeyRTRVBBUkFUT1JfVkFMVUVfRU5EfSN7JHN1ZmZpeH0ge1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItI3ska2V5fSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBNaXhpbiB0byBvdXRwdXQgcmVzcG9uc2l2ZSBjb2xvciB1dGlsaXRpZXMuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy8gQHJlcXVpcmVzIHttaXhpbn0gYnJlYWtwb2ludFxuLy8vIEByZXF1aXJlcyB7bWl4aW59IGNvbG9yc1xuLy8vIEByZXF1aXJlcyB7dmFyaWFibGV9IGJyZWFrcG9pbnRzXG4vLy8gQHJlcXVpcmVzIHt2YXJpYWJsZX0gU0VQQVJBVE9SX01FRElBXG5AbWl4aW4gcmVzcG9uc2l2ZS1jb2xvcnMge1xuICBAZWFjaCAka2V5LCAkdmFsdWUgaW4gJGJyZWFrcG9pbnRzIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRrZXkpIHtcbiAgICAgIEBpbmNsdWRlIGNvbG9ycygjeyRTRVBBUkFUT1JfTUVESUF9I3ska2V5fSk7XG4gICAgfVxuICB9XG59XG5cbi8vLyBNaXhpbiB0byBvdXRwdXQgYmFja2dyb3VuZCBjb2xvciB1dGlsaXRpZXMuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy8gQHJlcXVpcmVzIHt2YXJpYWJsZX0gY29sb3JzXG4vLy8gQHJlcXVpcmVzIHt2YXJpYWJsZX0gU0VQQVJBVE9SX1ZBTFVFX1NUQVJUXG4vLy8gQHJlcXVpcmVzIHt2YXJpYWJsZX0gU0VQQVJBVE9SX1ZBTFVFX0VORFxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc3VmZml4IFtudWxsXSAtIFJlc3BvbnNpdmUgc3VmZml4XG5AbWl4aW4gYmFja2dyb3VuZC1jb2xvcnMoJHN1ZmZpeDogbnVsbCkge1xuICBAZWFjaCAka2V5LCAkdmFsdWUgaW4gJGNvbG9ycyB7XG4gICAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSAnY29sb3InIG9yICh0eXBlLW9mKCR2YWx1ZSkgPT0gJ3N0cmluZycgYW5kIHN0ci1pbmRleCgkdmFsdWUsICd2YXIoLS0nKSkge1xuICAgICAgLnUtYmdjI3skU0VQQVJBVE9SX1ZBTFVFX1NUQVJUfSN7JGtleX0jeyRTRVBBUkFUT1JfVkFMVUVfRU5EfSN7JHN1ZmZpeH0ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci0jeyRrZXl9KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIE1peGluIHRvIG91dHB1dCByZXNwb25zaXZlIGJhY2tncm91bmQgY29sb3IgdXRpbGl0aWVzLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vIEByZXF1aXJlcyB7bWl4aW59IGJyZWFrcG9pbnRcbi8vLyBAcmVxdWlyZXMge21peGlufSBiYWNrZ3JvdW5kLWNvbG9yc1xuLy8vIEByZXF1aXJlcyB7dmFyaWFibGV9IGJyZWFrcG9pbnRzXG4vLy8gQHJlcXVpcmVzIHt2YXJpYWJsZX0gU0VQQVJBVE9SX01FRElBXG5AbWl4aW4gcmVzcG9uc2l2ZS1iYWNrZ3JvdW5kLWNvbG9ycyB7XG4gIEBlYWNoICRrZXksICR2YWx1ZSBpbiAkYnJlYWtwb2ludHMge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGtleSkge1xuICAgICAgQGluY2x1ZGUgYmFja2dyb3VuZC1jb2xvcnMoI3skU0VQQVJBVE9SX01FRElBfSN7JGtleX0pO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gTWl4aW4gdG8gb3V0cHV0IGZvbnQgd2VpZ2h0IHV0aWxpdGllcy5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vLyBAcmVxdWlyZXMge3ZhcmlhYmxlfSBmb250LXdlaWdodHNcbi8vLyBAcmVxdWlyZXMge3ZhcmlhYmxlfSBTRVBBUkFUT1JfVkFMVUVfU1RBUlRcbi8vLyBAcmVxdWlyZXMge3ZhcmlhYmxlfSBTRVBBUkFUT1JfVkFMVUVfRU5EXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzdWZmaXggW251bGxdIC0gUmVzcG9uc2l2ZSBzdWZmaXhcbkBtaXhpbiBmb250LXdlaWdodHMoJHN1ZmZpeDogbnVsbCkge1xuICBAZWFjaCAka2V5LCAkdmFsdWUgaW4gJGZvbnQtd2VpZ2h0cyB7XG4gICAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSAnbnVtYmVyJyBvciAodHlwZS1vZigkdmFsdWUpID09ICdzdHJpbmcnIGFuZCBzdHItaW5kZXgoJHZhbHVlLCAndmFyKC0tJykpIHtcbiAgICAgIC51LWZ3I3skU0VQQVJBVE9SX1ZBTFVFX1NUQVJUfSN7JGtleX0jeyRTRVBBUkFUT1JfVkFMVUVfRU5EfSN7JHN1ZmZpeH0ge1xuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtI3ska2V5fSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBNaXhpbiB0byBvdXRwdXQgcmVzcG9uc2l2ZSBmb250IHdlaWdodCB1dGlsaXRpZXMuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy8gQHJlcXVpcmVzIHttaXhpbn0gYnJlYWtwb2ludFxuLy8vIEByZXF1aXJlcyB7bWl4aW59IGZvbnQtd2VpZ2h0c1xuLy8vIEByZXF1aXJlcyB7dmFyaWFibGV9IGJyZWFrcG9pbnRzXG4vLy8gQHJlcXVpcmVzIHt2YXJpYWJsZX0gU0VQQVJBVE9SX01FRElBXG5AbWl4aW4gcmVzcG9uc2l2ZS1mb250LXdlaWdodHMge1xuICBAZWFjaCAka2V5LCAkdmFsdWUgaW4gJGJyZWFrcG9pbnRzIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRrZXkpIHtcbiAgICAgIEBpbmNsdWRlIGZvbnQtd2VpZ2h0cygjeyRTRVBBUkFUT1JfTUVESUF9I3ska2V5fSk7XG4gICAgfVxuICB9XG59XG5cbi8vLyBNaXhpbiB0byBvdXRwdXQgZm9udCBzaXplIHV0aWxpdGllcy5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vLyBAcmVxdWlyZXMge3ZhcmlhYmxlfSBmb250LXNpemVzXG4vLy8gQHJlcXVpcmVzIHt2YXJpYWJsZX0gU0VQQVJBVE9SX1ZBTFVFX1NUQVJUXG4vLy8gQHJlcXVpcmVzIHt2YXJpYWJsZX0gU0VQQVJBVE9SX1ZBTFVFX0VORFxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc3VmZml4IFtudWxsXSAtIFJlc3BvbnNpdmUgc3VmZml4XG5AbWl4aW4gZm9udC1zaXplcygkc3VmZml4OiBudWxsKSB7XG4gIEBlYWNoICRrZXksICR2YWx1ZSBpbiAkZm9udC1zaXplcyB7XG4gICAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PVxuICAgICAgJ251bWJlcicgb3JcbiAgICAgICh0eXBlLW9mKCR2YWx1ZSkgPT0gJ3N0cmluZycgYW5kIHN0ci1pbmRleCgkdmFsdWUsICd2YXIoLS0nKSkgb3JcbiAgICAgIHR5cGUtb2YoJHZhbHVlKSA9PVxuICAgICAgJ2xpc3QnIG9yXG4gICAgICB0eXBlLW9mKCR2YWx1ZSkgPT1cbiAgICAgICdtYXAnXG4gICAge1xuICAgICAgLnUtZnojeyRTRVBBUkFUT1JfVkFMVUVfU1RBUlR9I3ska2V5fSN7JFNFUEFSQVRPUl9WQUxVRV9FTkR9I3skc3VmZml4fSB7XG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLSN7JGtleX0pO1xuICAgICAgICBsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtI3ska2V5fSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBNaXhpbiB0byBvdXRwdXQgcmVzcG9uc2l2ZSBmb250IHNpemUgdXRpbGl0aWVzLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vIEByZXF1aXJlcyB7bWl4aW59IGJyZWFrcG9pbnRcbi8vLyBAcmVxdWlyZXMge21peGlufSBmb250LXNpemVzXG4vLy8gQHJlcXVpcmVzIHt2YXJpYWJsZX0gYnJlYWtwb2ludHNcbi8vLyBAcmVxdWlyZXMge3ZhcmlhYmxlfSBTRVBBUkFUT1JfTUVESUFcbkBtaXhpbiByZXNwb25zaXZlLWZvbnQtc2l6ZXMge1xuICBAZWFjaCAka2V5LCAkdmFsdWUgaW4gJGJyZWFrcG9pbnRzIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRrZXkpIHtcbiAgICAgIEBpbmNsdWRlIGZvbnQtc2l6ZXMoI3skU0VQQVJBVE9SX01FRElBfSN7JGtleX0pO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gTWl4aW4gdG8gb3V0cHV0IGZvbnQgZmFtaWx5IHV0aWxpdGllcy5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vLyBAcmVxdWlyZXMge3ZhcmlhYmxlfSBmb250LWZhbWlsaWVzXG4vLy8gQHJlcXVpcmVzIHt2YXJpYWJsZX0gU0VQQVJBVE9SX1ZBTFVFX1NUQVJUXG4vLy8gQHJlcXVpcmVzIHt2YXJpYWJsZX0gU0VQQVJBVE9SX1ZBTFVFX0VORFxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc3VmZml4IFtudWxsXSAtIFJlc3BvbnNpdmUgc3VmZml4XG5AbWl4aW4gZm9udC1mYW1pbGllcygkc3VmZml4OiBudWxsKSB7XG4gIEBlYWNoICRrZXksICR2YWx1ZSBpbiAkZm9udC1mYW1pbGllcyB7XG4gICAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSAnc3RyaW5nJyB7XG4gICAgICAudS1mZiN7JFNFUEFSQVRPUl9WQUxVRV9TVEFSVH0jeyRrZXl9I3skU0VQQVJBVE9SX1ZBTFVFX0VORH0jeyRzdWZmaXh9IHtcbiAgICAgICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZmFtaWx5LSN7JGtleX0pO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gTWl4aW4gdG8gb3V0cHV0IHJlc3BvbnNpdmUgZm9udCBmYW1pbHkgdXRpbGl0aWVzLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vIEByZXF1aXJlcyB7bWl4aW59IGJyZWFrcG9pbnRcbi8vLyBAcmVxdWlyZXMge21peGlufSBmb250LWZhbWlsaWVzXG4vLy8gQHJlcXVpcmVzIHt2YXJpYWJsZX0gYnJlYWtwb2ludHNcbi8vLyBAcmVxdWlyZXMge3ZhcmlhYmxlfSBTRVBBUkFUT1JfTUVESUFcbkBtaXhpbiByZXNwb25zaXZlLWZvbnQtZmFtaWxpZXMge1xuICBAZWFjaCAka2V5LCAkdmFsdWUgaW4gJGJyZWFrcG9pbnRzIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRrZXkpIHtcbiAgICAgIEBpbmNsdWRlIGZvbnQtZmFtaWxpZXMoI3skU0VQQVJBVE9SX01FRElBfSN7JGtleX0pO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gTWl4aW4gdG8gb3V0cHV0IHRleHQgYWxpZ25tZW50IHV0aWxpdGllcy5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vLyBAcmVxdWlyZXMge3ZhcmlhYmxlfSBTRVBBUkFUT1JfVkFMVUVfU1RBUlRcbi8vLyBAcmVxdWlyZXMge3ZhcmlhYmxlfSBTRVBBUkFUT1JfVkFMVUVfRU5EXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzdWZmaXggW251bGxdIC0gUmVzcG9uc2l2ZSBzdWZmaXhcbkBtaXhpbiB0ZXh0LWFsaWdubWVudCgkc3VmZml4OiBudWxsKSB7XG4gIC51LXRhI3skU0VQQVJBVE9SX1ZBTFVFX1NUQVJUfWxlZnQjeyRTRVBBUkFUT1JfVkFMVUVfRU5EfSN7JHN1ZmZpeH0ge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gIH1cblxuICAudS10YSN7JFNFUEFSQVRPUl9WQUxVRV9TVEFSVH1yaWdodCN7JFNFUEFSQVRPUl9WQUxVRV9FTkR9I3skc3VmZml4fSB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIH1cblxuICAudS10YSN7JFNFUEFSQVRPUl9WQUxVRV9TVEFSVH1jZW50ZXIjeyRTRVBBUkFUT1JfVkFMVUVfRU5EfSN7JHN1ZmZpeH0ge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuXG4gIC51LXRhI3skU0VQQVJBVE9SX1ZBTFVFX1NUQVJUfWp1c3RpZnkjeyRTRVBBUkFUT1JfVkFMVUVfRU5EfSN7JHN1ZmZpeH0ge1xuICAgIHRleHQtYWxpZ246IGp1c3RpZnk7XG4gIH1cbn1cblxuLy8vIE1peGluIHRvIG91dHB1dCByZXNwb25zaXZlIHRleHQgYWxpZ25tZW50IHV0aWxpdGllcy5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vLyBAcmVxdWlyZXMge21peGlufSBicmVha3BvaW50XG4vLy8gQHJlcXVpcmVzIHttaXhpbn0gdGV4dC1hbGlnbm1lbnRcbi8vLyBAcmVxdWlyZXMge3ZhcmlhYmxlfSBicmVha3BvaW50c1xuLy8vIEByZXF1aXJlcyB7dmFyaWFibGV9IFNFUEFSQVRPUl9NRURJQVxuQG1peGluIHJlc3BvbnNpdmUtdGV4dC1hbGlnbm1lbnQge1xuICBAZWFjaCAka2V5LCAkdmFsdWUgaW4gJGJyZWFrcG9pbnRzIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRrZXkpIHtcbiAgICAgIEBpbmNsdWRlIHRleHQtYWxpZ25tZW50KCN7JFNFUEFSQVRPUl9NRURJQX0jeyRrZXl9KTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIE1peGluIHRvIG91dHB1dCB0ZXh0IHRyYW5zZm9ybSB1dGlsaXRpZXMuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy8gQHJlcXVpcmVzIHt2YXJpYWJsZX0gU0VQQVJBVE9SX1ZBTFVFX1NUQVJUXG4vLy8gQHJlcXVpcmVzIHt2YXJpYWJsZX0gU0VQQVJBVE9SX1ZBTFVFX0VORFxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc3VmZml4IFtudWxsXSAtIFJlc3BvbnNpdmUgc3VmZml4XG5AbWl4aW4gdGV4dC10cmFuc2Zvcm0oJHN1ZmZpeDogbnVsbCkge1xuICAudS10dCN7JFNFUEFSQVRPUl9WQUxVRV9TVEFSVH1sb3dlcmNhc2UjeyRTRVBBUkFUT1JfVkFMVUVfRU5EfSN7JHN1ZmZpeH0ge1xuICAgIHRleHQtdHJhbnNmb3JtOiBsb3dlcmNhc2U7XG4gIH1cblxuICAudS10dCN7JFNFUEFSQVRPUl9WQUxVRV9TVEFSVH11cHBlcmNhc2UjeyRTRVBBUkFUT1JfVkFMVUVfRU5EfSN7JHN1ZmZpeH0ge1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIH1cblxuICAudS10dCN7JFNFUEFSQVRPUl9WQUxVRV9TVEFSVH1jYXBpdGFsaXplI3skU0VQQVJBVE9SX1ZBTFVFX0VORH0jeyRzdWZmaXh9IHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgfVxuXG4gIC51LXR0I3skU0VQQVJBVE9SX1ZBTFVFX1NUQVJUfW5vbmUjeyRTRVBBUkFUT1JfVkFMVUVfRU5EfSN7JHN1ZmZpeH0ge1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICB9XG59XG5cbi8vLyBNaXhpbiB0byBvdXRwdXQgcmVzcG9uc2l2ZSB0ZXh0IHRyYW5zZm9ybSB1dGlsaXRpZXMuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy8gQHJlcXVpcmVzIHttaXhpbn0gYnJlYWtwb2ludFxuLy8vIEByZXF1aXJlcyB7bWl4aW59IHRleHQtdHJhbnNmb3JtXG4vLy8gQHJlcXVpcmVzIHt2YXJpYWJsZX0gYnJlYWtwb2ludHNcbi8vLyBAcmVxdWlyZXMge3ZhcmlhYmxlfSBTRVBBUkFUT1JfTUVESUFcbkBtaXhpbiByZXNwb25zaXZlLXRleHQtdHJhbnNmb3JtIHtcbiAgQGVhY2ggJGtleSwgJHZhbHVlIGluICRicmVha3BvaW50cyB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgka2V5KSB7XG4gICAgICBAaW5jbHVkZSB0ZXh0LXRyYW5zZm9ybSgjeyRTRVBBUkFUT1JfTUVESUF9I3ska2V5fSk7XG4gICAgfVxuICB9XG59XG5cbi8vLyBNaXhpbiB0byBvdXRwdXQgdmVydGljYWwgYWxpZ25tZW50IHV0aWxpdGllcy5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vLyBAcmVxdWlyZXMge3ZhcmlhYmxlfSBTRVBBUkFUT1JfVkFMVUVfU1RBUlRcbi8vLyBAcmVxdWlyZXMge3ZhcmlhYmxlfSBTRVBBUkFUT1JfVkFMVUVfRU5EXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzdWZmaXggW251bGxdIC0gUmVzcG9uc2l2ZSBzdWZmaXhcbkBtaXhpbiB2ZXJ0aWNhbC1hbGlnbm1lbnQoJHN1ZmZpeDogbnVsbCkge1xuICAudS12YSN7JFNFUEFSQVRPUl9WQUxVRV9TVEFSVH1iYXNlbGluZSN7JFNFUEFSQVRPUl9WQUxVRV9FTkR9I3skc3VmZml4fSB7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICB9XG5cbiAgLnUtdmEjeyRTRVBBUkFUT1JfVkFMVUVfU1RBUlR9dG9wI3skU0VQQVJBVE9SX1ZBTFVFX0VORH0jeyRzdWZmaXh9IHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICB9XG5cbiAgLnUtdmEjeyRTRVBBUkFUT1JfVkFMVUVfU1RBUlR9Ym90dG9tI3skU0VQQVJBVE9SX1ZBTFVFX0VORH0jeyRzdWZmaXh9IHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuICB9XG5cbiAgLnUtdmEjeyRTRVBBUkFUT1JfVkFMVUVfU1RBUlR9bWlkZGxlI3skU0VQQVJBVE9SX1ZBTFVFX0VORH0jeyRzdWZmaXh9IHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB9XG5cbiAgLnUtdmEjeyRTRVBBUkFUT1JfVkFMVUVfU1RBUlR9dGV4dC10b3AjeyRTRVBBUkFUT1JfVkFMVUVfRU5EfSN7JHN1ZmZpeH0ge1xuICAgIHZlcnRpY2FsLWFsaWduOiB0ZXh0LXRvcDtcbiAgfVxuXG4gIC51LXZhI3skU0VQQVJBVE9SX1ZBTFVFX1NUQVJUfXRleHQtYm90dG9tI3skU0VQQVJBVE9SX1ZBTFVFX0VORH0jeyRzdWZmaXh9IHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdGV4dC1ib3R0b207XG4gIH1cblxuICAudS12YSN7JFNFUEFSQVRPUl9WQUxVRV9TVEFSVH1zdWIjeyRTRVBBUkFUT1JfVkFMVUVfRU5EfSN7JHN1ZmZpeH0ge1xuICAgIHZlcnRpY2FsLWFsaWduOiBzdWI7XG4gIH1cblxuICAudS12YSN7JFNFUEFSQVRPUl9WQUxVRV9TVEFSVH1zdXBlciN7JFNFUEFSQVRPUl9WQUxVRV9FTkR9I3skc3VmZml4fSB7XG4gICAgdmVydGljYWwtYWxpZ246IHN1cGVyO1xuICB9XG59XG5cbi8vLyBNaXhpbiB0byBvdXRwdXQgcmVzcG9uc2l2ZSB2ZXJ0aWNhbCBhbGlnbm1lbnQgdXRpbGl0aWVzLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vIEByZXF1aXJlcyB7bWl4aW59IGJyZWFrcG9pbnRcbi8vLyBAcmVxdWlyZXMge21peGlufSB2ZXJ0aWNhbC1hbGlnbm1lbnRcbi8vLyBAcmVxdWlyZXMge3ZhcmlhYmxlfSBicmVha3BvaW50c1xuLy8vIEByZXF1aXJlcyB7dmFyaWFibGV9IFNFUEFSQVRPUl9NRURJQVxuQG1peGluIHJlc3BvbnNpdmUtdmVydGljYWwtYWxpZ25tZW50IHtcbiAgQGVhY2ggJGtleSwgJHZhbHVlIGluICRicmVha3BvaW50cyB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgka2V5KSB7XG4gICAgICBAaW5jbHVkZSB2ZXJ0aWNhbC1hbGlnbm1lbnQoI3skU0VQQVJBVE9SX01FRElBfSN7JGtleX0pO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gTWl4aW4gdG8gb3V0cHV0IHZpc2liaWxpdHkgdXRpbGl0aWVzLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vIEByZXF1aXJlcyB7dmFyaWFibGV9IFNFUEFSQVRPUl9WQUxVRV9TVEFSVFxuLy8vIEByZXF1aXJlcyB7dmFyaWFibGV9IFNFUEFSQVRPUl9WQUxVRV9FTkRcbi8vLyBAcGFyYW0ge1N0cmluZ30gJHN1ZmZpeCBbbnVsbF0gLSBSZXNwb25zaXZlIHN1ZmZpeFxuQG1peGluIHZpc2liaWxpdHkoJHN1ZmZpeDogbnVsbCkge1xuICAudS12I3skU0VQQVJBVE9SX1ZBTFVFX1NUQVJUfXZpc2libGUjeyRTRVBBUkFUT1JfVkFMVUVfRU5EfSN7JHN1ZmZpeH0ge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cblxuICAudS12I3skU0VQQVJBVE9SX1ZBTFVFX1NUQVJUfWhpZGRlbiN7JFNFUEFSQVRPUl9WQUxVRV9FTkR9I3skc3VmZml4fSB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB9XG59XG5cbi8vLyBNaXhpbiB0byBvdXRwdXQgcmVzcG9uc2l2ZSB2aXNpYmlsaXR5IHV0aWxpdGllcy5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vLyBAcmVxdWlyZXMge21peGlufSBicmVha3BvaW50XG4vLy8gQHJlcXVpcmVzIHttaXhpbn0gdmlzaWJpbGl0eVxuLy8vIEByZXF1aXJlcyB7dmFyaWFibGV9IGJyZWFrcG9pbnRzXG4vLy8gQHJlcXVpcmVzIHt2YXJpYWJsZX0gU0VQQVJBVE9SX01FRElBXG5AbWl4aW4gcmVzcG9uc2l2ZS12aXNpYmlsaXR5IHtcbiAgQGVhY2ggJGtleSwgJHZhbHVlIGluICRicmVha3BvaW50cyB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgka2V5KSB7XG4gICAgICBAaW5jbHVkZSB2aXNpYmlsaXR5KCN7JFNFUEFSQVRPUl9NRURJQX0jeyRrZXl9KTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIE1peGluIHRvIG91dHB1dCBjdXJzb3IgdXRpbGl0aWVzLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vIEByZXF1aXJlcyB7dmFyaWFibGV9IFNFUEFSQVRPUl9WQUxVRV9TVEFSVFxuLy8vIEByZXF1aXJlcyB7dmFyaWFibGV9IFNFUEFSQVRPUl9WQUxVRV9FTkRcbi8vLyBAcGFyYW0ge1N0cmluZ30gJHN1ZmZpeCBbbnVsbF0gLSBSZXNwb25zaXZlIHN1ZmZpeFxuQG1peGluIGN1cnNvcnMoJHN1ZmZpeDogbnVsbCkge1xuICAudS1jdXIjeyRTRVBBUkFUT1JfVkFMVUVfU1RBUlR9YXV0byN7JFNFUEFSQVRPUl9WQUxVRV9FTkR9I3skc3VmZml4fSB7XG4gICAgY3Vyc29yOiBhdXRvO1xuICB9XG5cbiAgLnUtY3VyI3skU0VQQVJBVE9SX1ZBTFVFX1NUQVJUfXBvaW50ZXIjeyRTRVBBUkFUT1JfVkFMVUVfRU5EfSN7JHN1ZmZpeH0ge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxufVxuXG4vLy8gTWl4aW4gdG8gb3V0cHV0IHJlc3BvbnNpdmUgY3Vyc29yIHV0aWxpdGllcy5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vLyBAcmVxdWlyZXMge21peGlufSBicmVha3BvaW50XG4vLy8gQHJlcXVpcmVzIHttaXhpbn0gY3Vyc29yc1xuLy8vIEByZXF1aXJlcyB7dmFyaWFibGV9IGJyZWFrcG9pbnRzXG4vLy8gQHJlcXVpcmVzIHt2YXJpYWJsZX0gU0VQQVJBVE9SX01FRElBXG5AbWl4aW4gcmVzcG9uc2l2ZS1jdXJzb3JzIHtcbiAgQGVhY2ggJGtleSwgJHZhbHVlIGluICRicmVha3BvaW50cyB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgka2V5KSB7XG4gICAgICBAaW5jbHVkZSBjdXJzb3JzKCN7JFNFUEFSQVRPUl9NRURJQX0jeyRrZXl9KTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIE1peGluIHRvIG91dHB1dCByZXNldCB1dGlsaXRpZXMuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy8gQHJlcXVpcmVzIHt2YXJpYWJsZX0gU0VQQVJBVE9SX1ZBTFVFX1NUQVJUXG4vLy8gQHJlcXVpcmVzIHt2YXJpYWJsZX0gU0VQQVJBVE9SX1ZBTFVFX0VORFxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc3VmZml4IFtudWxsXSAtIFJlc3BvbnNpdmUgc3VmZml4XG5AbWl4aW4gcmVzZXQoJHN1ZmZpeDogbnVsbCkge1xuICAudS1yZXMjeyRTRVBBUkFUT1JfVkFMVUVfU1RBUlR9bGluayN7JFNFUEFSQVRPUl9WQUxVRV9FTkR9I3skc3VmZml4fSB7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG5cbiAgLnUtcmVzI3skU0VQQVJBVE9SX1ZBTFVFX1NUQVJUfWxpc3QjeyRTRVBBUkFUT1JfVkFMVUVfRU5EfSN7JHN1ZmZpeH0ge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICB9XG5cbiAgLnUtcmVzI3skU0VQQVJBVE9SX1ZBTFVFX1NUQVJUfWJ1dHRvbiN7JFNFUEFSQVRPUl9WQUxVRV9FTkR9I3skc3VmZml4fSB7XG4gICAgcGFkZGluZzogMDtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICBmb250OiBpbmhlcml0O1xuICAgIGxldHRlci1zcGFjaW5nOiBpbmhlcml0O1xuICAgIHRleHQtYWxpZ246IGluaGVyaXQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiAwO1xuICB9XG59XG5cbi8vLyBNaXhpbiB0byBvdXRwdXQgcmVzcG9uc2l2ZSByZXNldCB1dGlsaXRpZXMuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy8gQHJlcXVpcmVzIHttaXhpbn0gYnJlYWtwb2ludFxuLy8vIEByZXF1aXJlcyB7bWl4aW59IHJlc2V0XG4vLy8gQHJlcXVpcmVzIHt2YXJpYWJsZX0gYnJlYWtwb2ludHNcbi8vLyBAcmVxdWlyZXMge3ZhcmlhYmxlfSBTRVBBUkFUT1JfTUVESUFcbkBtaXhpbiByZXNwb25zaXZlLXJlc2V0IHtcbiAgQGVhY2ggJGtleSwgJHZhbHVlIGluICRicmVha3BvaW50cyB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgka2V5KSB7XG4gICAgICBAaW5jbHVkZSByZXNldCgjeyRTRVBBUkFUT1JfTUVESUF9I3ska2V5fSk7XG4gICAgfVxuICB9XG59XG5cbi8vLyBNaXhpbiB0byBvdXRwdXQgaGVscGVyIHV0aWxpdGllcy5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vLyBAcGFyYW0ge1N0cmluZ30gJHN1ZmZpeCBbbnVsbF0gLSBSZXNwb25zaXZlIHN1ZmZpeFxuQG1peGluIGhlbHBlcigkc3VmZml4OiBudWxsKSB7XG4gIC51LWNmI3skc3VmZml4fSB7XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICBjbGVhcjogYm90aDtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgIH1cbiAgfVxuXG4gIC51LWVsbCN7JHN1ZmZpeH0ge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgfVxuXG4gIC51LWhpZGRlbiN7JHN1ZmZpeH0ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMXB4O1xuICAgIGhlaWdodDogMXB4O1xuICAgIG1hcmdpbjogLTFweDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBib3JkZXI6IDA7XG4gICAgY2xpcDogcmVjdCgwIDAgMCAwKTtcbiAgICBjbGlwLXBhdGg6IGluc2V0KDUwJSk7XG4gIH1cblxuICAudS1oMSN7JHN1ZmZpeH0ge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLWgxKTtcbiAgICBsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtaDEpO1xuICB9XG5cbiAgLnUtaDIjeyRzdWZmaXh9IHtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1oMik7XG4gICAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LWgyKTtcbiAgfVxuXG4gIC51LWgzI3skc3VmZml4fSB7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtaDMpO1xuICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC1oMyk7XG4gIH1cblxuICAudS1oNCN7JHN1ZmZpeH0ge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLWg0KTtcbiAgICBsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtaDQpO1xuICB9XG5cbiAgLnUtaDUjeyRzdWZmaXh9IHtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1oNSk7XG4gICAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LWg1KTtcbiAgfVxuXG4gIC51LWg2I3skc3VmZml4fSB7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtaDYpO1xuICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC1oNik7XG4gIH1cbn1cblxuLy8vIE1peGluIHRvIG91dHB1dCByZXNwb25zaXZlIGhlbHBlciB1dGlsaXRpZXMuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy8gQHJlcXVpcmVzIHttaXhpbn0gYnJlYWtwb2ludFxuLy8vIEByZXF1aXJlcyB7bWl4aW59IGhlbHBlclxuLy8vIEByZXF1aXJlcyB7dmFyaWFibGV9IGJyZWFrcG9pbnRzXG4vLy8gQHJlcXVpcmVzIHt2YXJpYWJsZX0gU0VQQVJBVE9SX01FRElBXG5AbWl4aW4gcmVzcG9uc2l2ZS1oZWxwZXIge1xuICBAZWFjaCAka2V5LCAkdmFsdWUgaW4gJGJyZWFrcG9pbnRzIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRrZXkpIHtcbiAgICAgIEBpbmNsdWRlIGhlbHBlcigjeyRTRVBBUkFUT1JfTUVESUF9I3ska2V5fSk7XG4gICAgfVxuICB9XG59XG5cbi8vKiAgUHVibGljIG1peGluc1xuLy8gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLy8vIE1peGluIHRvIG91dHB1dCBtZWRpYSBxdWVyaWVzLlxuLy8vIEBhY2Nlc3MgcHVibGljXG4vLy8gQHJlcXVpcmVzIHttaXhpbn0gYnJlYWtwb2ludFxuLy8vIEBwYXJhbSB7QXJnTGlzdH0gJGtleXMgLSBCcmVha3BvaW50IGtleShzKVxuQG1peGluIG1lZGlhKCRrZXlzLi4uKSB7XG4gIEBlYWNoICR2YWx1ZSBpbiAka2V5cyB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkdmFsdWUpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICNST09UXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKiBWYXJpYWJsZXMgJiBDdXN0b20gcHJvcGVydGllc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuOnJvb3Qge1xuICAvKipcbiAgICogQ3VzdG9tIHByb3BlcnRpZXMgZm9yIGNvbG9ycy5cbiAgICovXG5cbiAgQGluY2x1ZGUgdmFyLWNvbG9ycztcblxuICAvKipcbiAgICogQ3VzdG9tIHByb3BlcnRpZXMgZm9yIHR5cG9ncmFwaHkuXG4gICAqL1xuXG4gIEBpbmNsdWRlIHZhci1mb250LXdlaWdodHM7XG4gIEBpbmNsdWRlIHZhci1mb250LXNpemVzO1xuICBAaW5jbHVkZSB2YXItZm9udC1mYW1pbGllcztcblxuICAvKipcbiAgICogQ3VzdG9tIHByb3BlcnRpZXMgZm9yIHNpemluZyB2YWx1ZXMuXG4gICAqL1xuXG4gIEBpbmNsdWRlIHZhci1zaXppbmc7XG5cbiAgLyoqXG4gICAqIEN1c3RvbSBwcm9wZXJ0aWVzIGZvciBzcGFjaW5nIHZhbHVlcy5cbiAgICovXG5cbiAgQGluY2x1ZGUgdmFyLXNwYWNpbmc7XG5cbiAgLyoqXG4gICAqIEN1c3RvbSBwcm9wZXJ0aWVzIGZvciBsYXlvdXQuXG4gICAqL1xuXG4gIEBpbmNsdWRlIHZhci1jb250YWluZXItbWF4LXdpZHRoO1xuICBAaW5jbHVkZSB2YXItY29udGFpbmVyLXNpZGUtbWFyZ2luO1xuICBAaW5jbHVkZSB2YXItY29sdW1uLWNvdW50O1xuICBAaW5jbHVkZSB2YXItY29sdW1uLWdhcDtcbiAgQGluY2x1ZGUgdmFyLXJvdy1nYXA7XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgI1BBR0VcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qIERlY2xhcmF0aXZlIHJ1bGVzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIDEuIEZvcmNlIHNjcm9sbGJhcnMgdG8gYWx3YXlzIGJlIHZpc2libGUgdG8gcHJldmVudCBhd2t3YXJkICdqdW1wcycgd2hlblxuICogICAgbmF2aWdhdGluZyBiZXR3ZWVuIHBhZ2VzIHRoYXQgZG8vZG8gbm90IGhhdmUgZW5vdWdoIGNvbnRlbnQgdG8gcHJvZHVjZVxuICogICAgc2Nyb2xsYmFycyBuYXR1cmFsbHkuXG4gKiAyLiBTZXQgdGhlIGh0bWwgZm9udC1zaXplIHRvIFwiMTBweFwiLCB3aGljaCBpcyBhZGFwdGVkIHRvIHJlbSB1bml0LlxuICogMy4gSUUgYW5kIENocm9tZSBtYXRoIGZpeGluZy5cbiAqIDQuIEJyZWFrcyB3b3JkcyB0byBwcmV2ZW50IG92ZXJmbG93IGluIGFsbCBicm93c2Vycy5cbiAqIDUuIEVuYWJsZSBmb250IHNtb290aGluZy5cbiAqIDYuIEVuc3VyZSB0aGUgcGFnZSBhbHdheXMgZmlsbHMgYXQgbGVhc3QgdGhlIGVudGlyZSBoZWlnaHQgb2YgdGhlIHZpZXdwb3J0LlxuICovXG5cbmh0bWwge1xuICBvdmVyZmxvdy15OiBzY3JvbGw7IC8qIDEgKi9cbiAgZm9udC1zaXplOiA2Mi41JTsgLyogMiAqL1xuICBmb250LXNpemU6IGNhbGMoMWVtICogMC42MjUpOyAvKiAzICovXG4gIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7IC8qIDQgKi9cbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7IC8qIDUgKi9cbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsgLyogNSAqL1xufVxuXG5ib2R5IHtcbiAgbWluLWhlaWdodDogMTAwdmg7IC8qIDYgKi9cbiAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJhc2UpO1xuICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1iYXNlKTtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZmFtaWx5LWJhc2UpO1xuICBsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtYmFzZSk7XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgI0hFQURJTkdTXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKiBEZWNsYXJhdGl2ZSBydWxlc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuaDEge1xuICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1oMSk7XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC1oMSk7XG59XG5cbmgyIHtcbiAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtaDIpO1xuICBsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtaDIpO1xufVxuXG5oMyB7XG4gIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLWgzKTtcbiAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LWgzKTtcbn1cblxuaDQge1xuICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1oNCk7XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC1oNCk7XG59XG5cbmg1IHtcbiAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtaDUpO1xuICBsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtaDUpO1xufVxuXG5oNiB7XG4gIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLWg2KTtcbiAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LWg2KTtcbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAjRk9STVNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qIERlY2xhcmF0aXZlIHJ1bGVzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG50ZXh0YXJlYSB7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIHJlc2l6ZTogdmVydGljYWw7XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgI1RBQkxFU1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyogRGVjbGFyYXRpdmUgcnVsZXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbnRhYmxlIHtcbiAgd2lkdGg6IDEwMCU7XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgI0dSSURcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qIFZhcmlhYmxlcyAmIEN1c3RvbSBwcm9wZXJ0aWVzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uby1ncmlkIHtcbiAgLS1ncmlkLWNvbHVtbi1jb3VudDogdmFyKC0tY29sdW1uLWNvdW50KTtcbiAgLS1ncmlkLWNvbHVtbi13aWR0aDogYXV0bztcbiAgLS1ncmlkLWNvbHVtbi1vZmZzZXQtd2lkdGg6IDA7XG5cbiAgLS1ncmlkLWNvbHVtbi1nYXA6IHZhcigtLWNvbHVtbi1nYXApO1xuICAtLWdyaWQtcm93LWdhcDogdmFyKC0tcm93LWdhcCk7XG59XG5cbi8vIEdyaWQgY29sdW1ucyBidWlsZGVyLlxuQGluY2x1ZGUgZ3JpZC1jb2x1bW5zO1xuXG4vLyBSZXNwb25zaXZlIGdyaWQgY29sdW1ucyBidWlsZGVyLlxuQGlmICRlbmFibGUtcmVzcG9uc2l2ZS1ncmlkIHtcbiAgQGluY2x1ZGUgcmVzcG9uc2l2ZS1ncmlkLWNvbHVtbnM7XG59XG5cbi8qIERlY2xhcmF0aXZlIHJ1bGVzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uby1ncmlkIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgbWFyZ2luLWJvdHRvbTogY2FsYyh2YXIoLS1ncmlkLXJvdy1nYXApICogLTEpO1xuICBtYXJnaW4tbGVmdDogY2FsYyh2YXIoLS1ncmlkLWNvbHVtbi1nYXApICogLTEpO1xufVxuXG4uby1ncmlkX19jb2wge1xuICBmbGV4OiAwIDEgdmFyKC0tZ3JpZC1jb2x1bW4td2lkdGgpO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBtYXJnaW4tbGVmdDogdmFyKC0tZ3JpZC1jb2x1bW4tb2Zmc2V0LXdpZHRoKTtcbiAgcGFkZGluZy1ib3R0b206IHZhcigtLWdyaWQtcm93LWdhcCk7XG4gIHBhZGRpbmctbGVmdDogdmFyKC0tZ3JpZC1jb2x1bW4tZ2FwKTtcbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAjQ09OVEFJTkVSXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKiBWYXJpYWJsZXMgJiBDdXN0b20gcHJvcGVydGllc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBQcmV2ZW50cyBvdmVyd3JpdGluZyB0aGUgZ2xvYmFsIGNvbmZpZ3VyYXRpb24uXG4gKi9cblxuLm8tY29udGFpbmVyIHtcbiAgLS1jb250YWluZXItc2lkZS1tYXJnaW4tZGVmYXVsdDogdmFyKC0tY29udGFpbmVyLXNpZGUtbWFyZ2luLCBjYWxjKDAgKiAxcmVtKSk7XG59XG5cbi8qIERlY2xhcmF0aXZlIHJ1bGVzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uby1jb250YWluZXIge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiBjYWxjKHZhcigtLWNvbnRhaW5lci1tYXgtd2lkdGgpICsgdmFyKC0tY29udGFpbmVyLXNpZGUtbWFyZ2luLWRlZmF1bHQpICogMik7XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIHBhZGRpbmctcmlnaHQ6IHZhcigtLWNvbnRhaW5lci1zaWRlLW1hcmdpbi1kZWZhdWx0KTtcbiAgcGFkZGluZy1sZWZ0OiB2YXIoLS1jb250YWluZXItc2lkZS1tYXJnaW4tZGVmYXVsdCk7XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgI0xJTktTIFNUQVRFU1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuQG1peGluIHN0YXRlcy1hbGwge1xuICAmLFxuICAmOnZpc2l0ZWQsXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMsXG4gICY6YWN0aXZlIHtcbiAgICBAY29udGVudFxuICB9XG59XG5cbkBtaXhpbiBzdGF0ZXMtbmV1dHJhbCB7XG4gICYsXG4gICY6dmlzaXRlZCB7XG4gICAgQGNvbnRlbnRcbiAgfVxufVxuXG5AbWl4aW4gc3RhdGVzLWhvdmVyIHtcbiAgJjpob3ZlcixcbiAgJjpmb2N1cyxcbiAgJjphY3RpdmUge1xuICAgIEBjb250ZW50XG4gIH1cbn1cbiIsIi8qIGNvdmVyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udS1jb3ZlciB7XG4gIC0tY292ZXItaGVpZ2h0OiAxMDAlO1xufVxuXG4udS1jb3ZlciB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IHZhcigtLWNvdmVyLWhlaWdodCk7XG4gIG9iamVjdC1maXQ6IGNvdmVyO1xufVxuIiwiLyogcm91bmRlZFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnUtcm91bmRlZCB7XG4gIC0tcmFkaXVzOiB2YXIoLS1ib3gtYm9yZGVyLXJhZGl1cywgdmFyKC0tYm9yZGVyLXJhZGl1cykpO1xufVxuXG4vLyBwb3NpdGlvbnNcbi51LXJvdW5kZWQtLW5vbmUge1xuICBib3JkZXItcmFkaXVzOiAwO1xufVxuXG4udS1yb3VuZGVkLS10b3Age1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiB2YXIoLS1yYWRpdXMpO1xufVxuXG4udS1yb3VuZGVkLS1yaWdodCB7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiB2YXIoLS1yYWRpdXMpO1xufVxuXG4udS1yb3VuZGVkLS1ib3R0b20ge1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogdmFyKC0tcmFkaXVzKTtcbn1cblxuLnUtcm91bmRlZC0tbGVmdCB7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IHZhcigtLXJhZGl1cyk7XG59XG5cbi51LXJvdW5kZWQtLWZ1bGwge1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMpO1xufVxuXG4udS1yb3VuZGVkLS1jaXJjbGUge1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG59XG4iLCIuby1nYWxsZXJ5LWl0ZW0ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIG1hcmdpbi10b3A6IDEuMnJlbTtcblxuICAuby1nYWxsZXJ5LWxpbmsge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgfVxuXG4gIC5vLWdhbGxlcnktY29udGVudCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgLm8tZ2FsbGVyeS10aXRsZSB7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtbGcpO1xuICAgIG1hcmdpbi1ib3R0b206IDAuM3JlbTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gIH1cblxuICAuby1nYWxsZXJ5LXN1YnRpdGxlIHtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1iYXNlKTtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjhyZW07XG4gICAgbWFyZ2luLXRvcDogMC44cmVtO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1iYXNlKTtcbiAgfVxuXG5cbiAgLm8tZ2FsbGVyeS1pbWFnZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyBlYXNlLCBib3gtc2hhZG93IDAuM3MgZWFzZTtcblxuICAgICY6aG92ZXIge1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjAyKTtcbiAgICAgIGJveC1zaGFkb3c6IDAgNHB4IDhweCByZ2JhKDAsIDAsIDAsIDAuNCk7XG4gICAgfVxuICB9XG59IiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICNGT1JNU1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyogVmFyaWFibGVzICYgQ3VzdG9tIHByb3BlcnRpZXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qIERlY2xhcmF0aXZlIHJ1bGVzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5cbi5jLWZvcm0tZ3JvdXAge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogdmFyKC0tZm9ybS1ncm91cC1mbGV4LWRpcmVjdGlvbiwgY29sdW1uKTtcbn1cblxuLmMtZm9ybS1ncm91cF9fbGFiZWwge1xuICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0O1xuICBtYXJnaW4tdG9wOiB2YXIoLS1zcGFjZXIteHMpO1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZXIteHMpO1xuICBwYWRkaW5nLWxlZnQ6IHZhcigtLXNwYWNlci14cyk7XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgI0hFQURJTkdTXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKiBWYXJpYWJsZXMgJiBDdXN0b20gcHJvcGVydGllc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyogRGVjbGFyYXRpdmUgcnVsZXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbmgxLFxuLnUtaDEge1xuICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWZhbWlseS1iYXNlKSBzYW5zLXNlcmlmO1xufVxuXG5oMixcbi51LWgyIHtcbiAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1mYW1pbHktYmFzZSkgc2Fucy1zZXJpZjtcbn1cblxuaDMsXG4udS1oMyB7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZmFtaWx5LWJhc2UpIHNhbnMtc2VyaWY7XG59XG5cbmg0LFxuLnUtaDQge1xuICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWZhbWlseS1iYXNlKSBzYW5zLXNlcmlmO1xufVxuXG4udS1oeC0tdW5kZXJsaW5lIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLWJvdHRvbTogLjc1ZW07XG5cbiAgJjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgaGVpZ2h0OiAuNnJlbTtcbiAgICB3aWR0aDogNHJlbTtcbiAgICBib3JkZXItcmFkaXVzOiAuM3JlbTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjdXJyZW50Q29sb3I7XG4gIH1cbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAjUEFHRVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyogVmFyaWFibGVzICYgQ3VzdG9tIHByb3BlcnRpZXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qIERlY2xhcmF0aXZlIHJ1bGVzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5ib2R5IHtcbiAgY29sb3I6IHZhcigtLXRleHQtY29sb3IpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuXG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtZG93bicpIHtcbiAgICAmLm1lbnUtbS1pc29wZW4ge1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG4gIH1cbn1cblxuLyogc2VsZWN0aW9uICovXG46Oi1tb3otc2VsZWN0aW9uIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1ibHVlKTtcbiAgICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpO1xufVxuXG46OnNlbGVjdGlvbiB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmx1ZSk7XG4gICAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXdoaXRlKTtcbn1cblxuXG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgI0RPQ1VNRU5UU1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyogVmFyaWFibGVzICYgQ3VzdG9tIHByb3BlcnRpZXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cblxuLyogRGVjbGFyYXRpdmUgcnVsZXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uYy1ib2R5LS13aXRoLXN0aWNreSAucHVzaGVyIHtcbiAgb3ZlcmZsb3c6IGluaXRpYWwgIWltcG9ydGFudDtcbn1cbiIsIi8qIEJveFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyogVmFyaWFibGVzICYgQ3VzdG9tIHByb3BlcnRpZXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uYy1ib3gge1xuICAtLWJveC1zcGFjaW5nLWlubmVyOiB2YXIoLS1zcGFjZXItbGcpO1xuXG4gIC0tYm94LWNvbG9yOiB2YXIoLS10ZXh0LWNvbG9yKTtcbiAgLS1ib3gtYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpO1xuXG4gIC0tYm94LWJvcmRlci13aWR0aDogMXB4O1xuICAtLWJveC1ib3JkZXItY29sb3I6IHJnYmEoMCwgMCwgMCwgLjMpO1xuICAtLWJveC1ib3JkZXItcmFkaXVzOiAxcmVtO1xuXG59XG5cblxuLyogRGVjbGFyYXRpdmUgcnVsZXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5jLWJveCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgY29sb3I6IHZhcigtLWJveC1jb2xvcik7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJveC1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm94LWJvcmRlci1yYWRpdXMpO1xufVxuXG4uYy1ib3gtLWJvcmRlciB7XG4gIGJvcmRlcjogdmFyKC0tYm94LWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tYm94LWJvcmRlci1jb2xvcik7XG59XG5cbi5jLWJveC0tc2hhZG93IHtcbiAgYm9yZGVyOiAwO1xuICBib3gtc2hhZG93OiAwIC40cmVtIC44cmVtIHZhcigtLWJveC1ib3JkZXItY29sb3IpLCBpbnNldCAwIDAgMCB2YXIoLS1ib3gtYm9yZGVyLXdpZHRoKSB2YXIoLS1ib3gtYm9yZGVyLWNvbG9yKTtcbn1cblxuLmMtYm94LS1saWdodC1zaGFkb3cge1xuICAtLWJveC1ib3JkZXItY29sb3I6IHJnYmEoMCwgMCwgMCwgLjEpO1xuICBib3JkZXI6IDA7XG4gIGJveC1zaGFkb3c6IDAgLjJyZW0gLjFyZW0gdmFyKC0tYm94LWJvcmRlci1jb2xvciksIGluc2V0IDAgMCAwIHZhcigtLWJveC1ib3JkZXItd2lkdGgpIHZhcigtLWJveC1ib3JkZXItY29sb3IpO1xufVxuXG4uYy1ib3gtLXJvdW5kZWQge1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3gtYm9yZGVyLXJhZGl1cyk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5jLWJveC0tY29sb3JlZCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICBjb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpO1xufVxuXG4uYy1ib3gtLXNoYWRlZCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWxpZ2h0LWdyYXkpO1xuICBjb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG59XG5cbi5jLWJveC0tYmxhY2sge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1ibGFjayk7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSk7XG59XG5cbi5jLWJveF9faW5uZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIHBhZGRpbmc6IHZhcigtLWJveC1zcGFjaW5nLWlubmVyKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm94LWJvcmRlci1yYWRpdXMpO1xufVxuXG4uYy1ib3gtLXRleHQge1xuICBAaW5jbHVkZSBtZWRpYSgnbW9iaWxlLXVwJykge1xuICAgIC5jLWJveF9faW5uZXIge1xuICAgICAgLS1ib3gtc3BhY2luZy1pbm5lcjogNS45cmVtO1xuICAgIH1cbiAgICAuYy1ib3hfX2lubmVyLmMtYm94X19pbm5lci10aWdodGVkIHtcbiAgICAgIC0tYm94LXNwYWNpbmctaW5uZXI6IDUuOXJlbSAxMS44cmVtO1xuICAgIH1cbiAgICAuYy1ib3hfX2lubmVyLmMtYm94X19pbm5lci1sYXJnZXIge1xuICAgICAgLS1ib3gtc3BhY2luZy1pbm5lcjogNC41cmVtO1xuICAgIH1cbiAgfVxufVxuXG4uYy1ib3hfX2hlYWRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXJlZCk7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSk7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IHZhcigtLWJveC1ib3JkZXItcmFkaXVzKTtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IHZhcigtLWJveC1ib3JkZXItcmFkaXVzKTtcbn1cblxuLmMtYm94LS1pbWctc2hpZnQge1xuXG4gIEBpbmNsdWRlIG1lZGlhKCdtb2JpbGUnKSB7XG5cbiAgICA+IC5jLWJveF9faW5uZXIge1xuICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgLmMtYm94X19pbWcge1xuICAgICAgaGVpZ2h0OiAzMHJlbTtcbiAgICB9XG5cbiAgICAuYy1ib3hfX2NvbnRlbnQge1xuICAgICAgbWFyZ2luLXRvcDogY2FsYyh2YXIoLS1ib3gtc3BhY2luZy1pbm5lcikgKiAtMik7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJ21vYmlsZS11cCcpIHtcbiAgICBoZWlnaHQ6IDMwcmVtO1xuICAgIG1hcmdpbi10b3A6IHZhcigtLWJveC1zcGFjaW5nLWlubmVyKTtcblxuICAgID4gLmMtYm94X19pbm5lciB7XG4gICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIH1cblxuICAgIC5jLWJveF9faW1nIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIG1hcmdpbi10b3A6IGNhbGModmFyKC0tYm94LXNwYWNpbmctaW5uZXIpICogLTEpO1xuICAgICAgaGVpZ2h0OiAzMHJlbTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXVwJykge1xuICAgIGhlaWdodDogNDVyZW07XG5cbiAgICA+IC5jLWJveF9faW5uZXIge1xuICAgICAgcGFkZGluZy10b3A6IDIwcmVtO1xuICAgIH1cblxuICAgIC5jLWJveF9faW1nIHtcbiAgICAgIGhlaWdodDogNDVyZW07XG4gICAgfVxuICB9XG59XG5cbi5jLWJveC0tZnVsbC1oZWlnaHQge1xuICBAaW5jbHVkZSBtZWRpYSgnbW9iaWxlLXVwJykge1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICNCUkVBRENSVU1CXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKiBWYXJpYWJsZXMgJiBDdXN0b20gcHJvcGVydGllc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmMtYnJlYWRjcnVtYl9faXRlbSB7XG4gICY6bGFzdC1jaGlsZCB7XG4gICAgLS1icmVhY3J1bWItbGlzdC1jb250ZW50OiBub25lO1xuICB9XG59XG5cbi5jLWJyZWFkY3J1bWJfX2xpbmsge1xuICAgIC0tYnJlYWRjcnVtYi1saW5rLWNvbG9yOiB2YXIoLS1jb2xvci1ncmF5LTYwMCk7XG5cbiAgJjpmb2N1cyxcbiAgJjpob3ZlcixcbiAgJjphY3RpdmUge1xuICAgIC0tYnJlYWRjcnVtYi1saW5rLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgfVxufVxuXG5cbi8qIERlY2xhcmF0aXZlIHJ1bGVzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYy1icmVhZGNydW1iIHtcbiAgbWFyZ2luOiB2YXIoLS1zcGFjZXItc20pIDAgdmFyKC0tc3BhY2VyLWxnKSAwO1xuICBjb2xvcjogdmFyKC0tY29sb3ItZ3JheS02MDApO1xufVxuXG4uYy1icmVhZGNydW1iX19saXN0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXNtKTtcbn1cblxuLmMtYnJlYWRjcnVtYl9faXRlbSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAmOjphZnRlciB7XG4gICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1zcGFjZXItc20pO1xuICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS1zcGFjZXIteHMpO1xuICAgIG9wYWNpdHk6IDAuNTtcbiAgICBjb250ZW50OiB2YXIoLS1icmVhY3J1bWItbGlzdC1jb250ZW50LCAnLyAnKTtcbiAgfVxufVxuXG4uYy1icmVhZGNydW1iX19saW5rIHtcbiAgY29sb3I6IHZhcigtLWJyZWFkY3J1bWItbGluay1jb2xvcik7XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC1tZCk7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn0iLCIvKiBidXJnZXJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uYy1idXJnZXIge1xuICAtLWJ1cmdlci1jb2xvcjogdmFyKC0tY29sb3ItYmx1ZSk7XG4gIC0tdHJhbnNpdGlvbi10aW1lOiAwLjZzO1xufVxuXG4uYy1idXJnZXJfX2lubmVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDUwdnc7XG4gIGhlaWdodDogNTB2dztcbiAgbWF4LXdpZHRoOiA4MHB4O1xuICBtYXgtaGVpZ2h0OiA4MHB4O1xufVxuXG5AbWVkaWEgKG1pbi1hc3BlY3QtcmF0aW86IDEvMSkge1xuICAuYy1idXJnZXJfX2lubmVyIHtcbiAgICB3aWR0aDogNTB2aDtcbiAgICBoZWlnaHQ6IDUwdmg7XG4gIH1cbn1cblxuLmMtYnVyZ2VyX19zdmcgcGF0aCB7XG4gIGZpbGw6IG5vbmU7XG4gIHN0cm9rZTogdmFyKC0tYnVyZ2VyLWNvbG9yKTtcbiAgc3Ryb2tlLXdpZHRoOiAzO1xuICBzdHJva2UtbGluZWNhcDogcm91bmQ7XG4gIHN0cm9rZS1saW5lam9pbjogcm91bmQ7XG4gIC0tbGVuZ3RoOiAyNDtcbiAgLS1vZmZzZXQ6IC0zODtcbiAgc3Ryb2tlLWRhc2hhcnJheTogdmFyKC0tbGVuZ3RoKSB2YXIoLS10b3RhbC1sZW5ndGgpO1xuICBzdHJva2UtZGFzaG9mZnNldDogdmFyKC0tb2Zmc2V0KTtcbiAgdHJhbnNpdGlvbjogYWxsIHZhcigtLXRyYW5zaXRpb24tdGltZSkgY3ViaWMtYmV6aWVyKC42NDUsIC4wNDUsIC4zNTUsIDEpO1xuXG59XG5cbi5jLWJ1cmdlcl9fc3ZnIHtcbiAgcG9zaXRpb246cmVsYXRpdmU7XG5cbiAgLmxpbmUtLTEsXG4gIC5saW5lLS0zIHtcbiAgICAtLXRvdGFsLWxlbmd0aDogMTExLjIyODEzNDE1NTI3MzQ0O1xuICAgIC0tb2Zmc2V0OiAtNTAuMjI4MTM0MTU1MjczNDQ7XG4gIH1cbiAgLmxpbmUtLTIge1xuICAgIC0tdG90YWwtbGVuZ3RoOiA5OTtcbiAgfVxufVxuXG4uYy1idXJnZXJfX3N2ZyBjaXJjbGUge1xuICBmaWxsOiAjZmZmMztcbiAgb3BhY2l0eTogMDtcbn1cbi5jLWJ1cmdlcl9faW5uZXI6aG92ZXIgY2lyY2xlIHtcbiAgb3BhY2l0eTogMTtcbn1cblxuLy8gTWVudSBidXJnZXIgYWN0aXZlXG4ubWVudS1tLWlzb3BlbiAuYy1idXJnZXJfX2lubmVyIHtcbiAgcGF0aCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDMwcHgpO1xuICB9XG4gIC5saW5lLS0xLFxuICAubGluZS0tMyB7XG4gICAgLS1vZmZzZXQ6IC0xNi45NzA1NjI3NDg1O1xuICAgIC0tbGVuZ3RoOiAyMi42Mjc0MTY5OTg7XG4gIH1cbiAgLmxpbmUtLTIge1xuICAgIC0tb2Zmc2V0OiAtMjA7XG4gICAgLS1sZW5ndGg6IDA7XG4gIH1cbn1cblxuQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC11cCcpIHtcbiAgLmMtYnVyZ2VyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59IiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICNCVVRUT05TXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKiBWYXJpYWJsZXMgJiBDdXN0b20gcHJvcGVydGllc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmMtYnV0dG9uIHtcbiAgLS1idXR0b24tc3BhY2luZy1pbm5lcjogdmFyKC0tc3BhY2VyLXNtKSB2YXIoLS1zcGFjZXItbWQpO1xuXG4gIC0tYnV0dG9uLWNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSk7XG4gIC0tYnV0dG9uLWJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuXG4gIC0tYnV0dG9uLWJvcmRlci13aWR0aDogMXB4O1xuICAtLWJ1dHRvbi1ib3JkZXItcmFkaXVzOiA0cHg7XG4gIC0tYnV0dG9uLWJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG5cbiAgLS1ob3Zlci1idXR0b24tY29sb3I6IHZhcigtLWNvbG9yLXdoaXRlKTtcbiAgLS1ob3Zlci1idXR0b24tYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItZGFyay1ibHVlKTtcbn1cblxuLmMtYnV0dG9uLS1vdXRsaW5lIHtcbiAgLS1idXR0b24tY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnkpO1xuICAtLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSk7XG5cbiAgLS1idXR0b24tYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcblxuICAtLWhvdmVyLWJ1dHRvbi1jb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpO1xuICAtLWhvdmVyLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbn1cblxuLmMtYnV0dG9uLS1ib3gge1xuICAtLWJ1dHRvbi1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG4gIC0tYnV0dG9uLWJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXdoaXRlKTtcblxuICAtLWJ1dHRvbi1ib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLXdoaXRlKTtcblxuICAtLWhvdmVyLWJ1dHRvbi1jb2xvcjogdmFyKC0tY29sb3ItZGFyay1ibHVlKTtcbiAgLS1ob3Zlci1idXR0b24tYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpO1xufVxuXG4uYy1idXR0b24tLWJsYWNrIHtcbiAgLS1idXR0b24tY29sb3I6IHZhcigtLWNvbG9yLXdoaXRlKTtcbiAgLS1idXR0b24tYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmxhY2spO1xuXG4gIC0tYnV0dG9uLWJvcmRlci1jb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpO1xuXG4gIC0taG92ZXItYnV0dG9uLWNvbG9yOiB2YXIoLS1jb2xvci1ibGFjayk7XG4gIC0taG92ZXItYnV0dG9uLWJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXdoaXRlKTtcbn1cblxuLyogRGVjbGFyYXRpdmUgcnVsZXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5jLWJ1dHRvbiB7XG4gIGNvbG9yOiB2YXIoLS1idXR0b24tY29sb3IpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1idXR0b24tYmFja2dyb3VuZC1jb2xvcik7XG4gIGJvcmRlcjogdmFyKC0tYnV0dG9uLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tYnV0dG9uLWJvcmRlci1jb2xvcik7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWJ1dHRvbi1ib3JkZXItcmFkaXVzKTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gIHBhZGRpbmc6IHZhcigtLWJ1dHRvbi1zcGFjaW5nLWlubmVyKTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyxcbiAgJjphY3RpdmUge1xuICAgIGNvbG9yOiB2YXIoLS1ob3Zlci1idXR0b24tY29sb3IpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWhvdmVyLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgfVxufVxuXG4uYy1idXR0b24tLWJveCB7XG4gIGJveC1zaGFkb3c6IDAgMC4ycmVtIDFyZW0gcmdiYSgwLDAsMCwwLjEpO1xufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICNGSUVMRFNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qIFZhcmlhYmxlcyAmIEN1c3RvbSBwcm9wZXJ0aWVzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYy1maWVsZCB7XG4gIC0tZmllbGQtaGVpZ2h0OiA0cmVtO1xuICAtLWZpZWxkLXBhZGRpbmcteDogdmFyKC0tc3BhY2VyLXhzKTtcbiAgLS1maWVsZC1mb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1iYXNlKTtcbiAgLS1maWVsZC1saW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQtYmFzZSk7XG4gIC0tZmllbGQtYm9yZGVyLXdpZHRoOiB2YXIoLS1zdHJva2Utd2lkdGgpO1xuICAtLWZpZWxkLWJvcmRlci1yYWRpdXM6IDAuM3JlbTtcblxuICAmW2Rpc2FibGVkXSxcbiAgJi5pcy1kaXNhYmxlZCB7XG4gICAgLS1maWVsZC1jb2xvcjogdmFyKC0tY29sb3ItZ3JheS0zMDApO1xuICAgIC0tZmllbGQtY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgfVxuXG4gICYuaXMtaW52YWxpZCxcbiAgJlthcmlhLWludmFsaWQ9J3RydWUnXSB7XG4gICAgLS1maWVsZC1ib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLXNlY29uZGFyeSk7XG4gIH1cbn1cblxuLmMtZmllbGRfX3VwbG9hZCB7XG4gIC0tZmllbGQtaGVpZ2h0OiA0LjhyZW07XG5cbiAgJjo6ZmlsZS1zZWxlY3Rvci1idXR0b24ge1xuICAgIC0tZmllbGQtY29sb3I6IHZhcigtLWNvbG9yLXdoaXRlKTtcbiAgICAtLWZpZWxkLWJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJsYWNrKTtcbiAgICAtLWJ1dHRvbi1ib3JkZXItY29sb3I6IG5vbmU7XG4gICAgLS1idXR0b24tYm9yZGVyLXdpZHRoOiAxcHg7XG4gICAgLS1idXR0b24tYm9yZGVyLXJhZGl1czogMCw1cmVtO1xuICB9XG59XG5cbi8qKlxuICogQ3VzdG9tIHByb3BlcnRpZXMgZm9yIGFyZWEgZmllbGRzLlxuICovXG5cbi5jLWZpZWxkLS1hcmVhIHtcbiAgLS1maWVsZC1taW4taGVpZ2h0OiBjYWxjKHZhcigtLWZpZWxkLWhlaWdodCkgKiAzKTtcbn1cblxuLyoqXG4gKiBDdXN0b20gcHJvcGVydGllcyBmb3Igc2VhcmNoIGZpZWxkcy5cbiAqL1xuXG4uYy1maWVsZC0tc2VhcmNoIHtcbiAgLS1maWVsZC1wYWRkaW5nLWxlZnQ6IGNhbGModmFyKC0tZmllbGQtYmFja2dyb3VuZC1zaXplKSArIHZhcigtLWZpZWxkLXBhZGRpbmcteCkgKiAyKTtcbiAgLS1maWVsZC1iYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjYgMjZcIiUzRSUzQ2NpcmNsZSBjeD1cIjEwLjNcIiBjeT1cIjEwLjNcIiByPVwiOS4zXCIgZmlsbD1cIm5vbmVcIiBzdHJva2U9XCIlMjMyYjJiMmFcIiBzdHJva2Utd2lkdGg9XCIyXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvJTNFJTNDcGF0aCBkPVwiTTI1IDI1bC04LThcIiBmaWxsPVwibm9uZVwiIHN0cm9rZT1cIiUyMzJiMmIyYVwiIHN0cm9rZS13aWR0aD1cIjJcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8lM0UlM0Mvc3ZnJTNFJyk7XG4gIC0tZmllbGQtYmFja2dyb3VuZC1wb3NpdGlvbi14OiB2YXIoLS1maWVsZC1wYWRkaW5nLXgpO1xuICAtLWZpZWxkLWJhY2tncm91bmQtc2l6ZTogMnJlbTtcbiAgLS1maWVsZC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG4vKipcbiAqIEN1c3RvbSBwcm9wZXJ0aWVzIGZvciBzZWxlY3QgZmllbGRzLlxuICovXG5cbi5jLWZpZWxkLS1zZWxlY3Qge1xuICAtLWZpZWxkLXBhZGRpbmctcmlnaHQ6IGNhbGModmFyKC0tZmllbGQtYmFja2dyb3VuZC1zaXplKSArIHZhcigtLWZpZWxkLXBhZGRpbmcteCkgKiAyKTtcbiAgLS1maWVsZC1iYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMTggMTBcIiUzRSUzQ3BhdGggZD1cIk0xIDFsOCA4IDgtOFwiIGZpbGw9XCJub25lXCIgc3Ryb2tlPVwiJTIzMmIyYjJhXCIgc3Ryb2tlLXdpZHRoPVwiMlwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLyUzRSUzQy9zdmclM0UnKTtcbiAgLS1maWVsZC1iYWNrZ3JvdW5kLXBvc2l0aW9uLXg6IGNhbGMoMTAwJSAtIHZhcigtLWZpZWxkLXBhZGRpbmcteCkpO1xuICAtLWZpZWxkLWJhY2tncm91bmQtc2l6ZTogMS40cmVtO1xuICAtLWZpZWxkLWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi8qKlxuICogQ3VzdG9tIHByb3BlcnRpZXMgZm9yIGNoZWNrYm94ZXMgJiByYWRpbyBidXR0b25zLlxuICovXG5cbi5jLWZpZWxkLS1jaGVjayB7XG4gIC0tZmllbGQtd2lkdGg6IDEuNnJlbTtcbiAgLS1maWVsZC1oZWlnaHQ6IHZhcigtLWZpZWxkLXdpZHRoKTtcbiAgLS1maWVsZC1wYWRkaW5nLXg6IDA7XG4gIC0tZmllbGQtcGFkZGluZy15OiB2YXIoLS1maWVsZC1wYWRkaW5nLXgpO1xuICAtLWZpZWxkLWJvcmRlci1jb2xvcjogdmFyKC0tY29sb3Itc2Vjb25kYXJ5KTtcbiAgLS1maWVsZC1hcHBlYXJhbmNlOiBub25lO1xuXG4gICY6Y2hlY2tlZCB7XG4gICAgLS1maWVsZC1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1zZWNvbmRhcnkpO1xuICAgIC0tZmllbGQtYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMC4zcmVtIHZhcigtLWNvbG9yLXdoaXRlKTtcbiAgfVxuXG4gICZbdHlwZT0ncmFkaW8nXSB7XG4gICAgLS1maWVsZC1ib3JkZXItcmFkaXVzOiA1MCU7XG4gIH1cbn1cblxuLyogRGVjbGFyYXRpdmUgcnVsZXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5jLWZpZWxkIHtcbiAgd2lkdGg6IHZhcigtLWZpZWxkLXdpZHRoKTtcbiAgaGVpZ2h0OiB2YXIoLS1maWVsZC1oZWlnaHQpO1xuICBtaW4taGVpZ2h0OiB2YXIoLS1maWVsZC1taW4taGVpZ2h0KTtcbiAgcGFkZGluZzogdmFyKFxuICAgICAgICAgICAgICAgICAgLS1maWVsZC1wYWRkaW5nLXksXG4gICAgICAgICAgICAgICAgICBjYWxjKCh2YXIoLS1maWVsZC1oZWlnaHQpIC0gdmFyKC0tZmllbGQtZm9udC1zaXplKSAqIHZhcigtLWZpZWxkLWxpbmUtaGVpZ2h0KSkgLyAyIC0gdmFyKC0tZmllbGQtYm9yZGVyLXdpZHRoKSlcbiAgKVxuICB2YXIoLS1maWVsZC1wYWRkaW5nLXJpZ2h0LCB2YXIoLS1maWVsZC1wYWRkaW5nLXgpKVxuICB2YXIoXG4gICAgICAgICAgICAgICAgICAtLWZpZWxkLXBhZGRpbmcteSxcbiAgICAgICAgICAgICAgICAgIGNhbGMoKHZhcigtLWZpZWxkLWhlaWdodCkgLSB2YXIoLS1maWVsZC1mb250LXNpemUpICogdmFyKC0tZmllbGQtbGluZS1oZWlnaHQpKSAvIDIgLSB2YXIoLS1maWVsZC1ib3JkZXItd2lkdGgpKVxuICApXG4gIHZhcigtLWZpZWxkLXBhZGRpbmctbGVmdCwgdmFyKC0tZmllbGQtcGFkZGluZy14KSk7XG4gIGNvbG9yOiB2YXIoLS1maWVsZC1jb2xvciwgdmFyKC0tdGV4dC1jb2xvcikpO1xuICBmb250LXNpemU6IHZhcigtLWZpZWxkLWZvbnQtc2l6ZSk7XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS1maWVsZC1saW5lLWhlaWdodCk7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWZpZWxkLWJhY2tncm91bmQtY29sb3IsIHZhcigtLWNvbG9yLXdoaXRlKSk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHZhcigtLWZpZWxkLWJhY2tncm91bmQtaW1hZ2UsIG5vbmUpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB2YXIoLS1maWVsZC1iYWNrZ3JvdW5kLXBvc2l0aW9uLXgpIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiB2YXIoLS1maWVsZC1iYWNrZ3JvdW5kLXNpemUpO1xuICBib3JkZXI6IHZhcigtLWZpZWxkLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tZmllbGQtYm9yZGVyLWNvbG9yLCBjdXJyZW50Q29sb3IpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1maWVsZC1ib3JkZXItcmFkaXVzLCB2YXIoLS1yYWRpdXMpKTtcbiAgYm94LXNoYWRvdzogdmFyKC0tZmllbGQtYm94LXNoYWRvdyk7XG4gIGN1cnNvcjogdmFyKC0tZmllbGQtY3Vyc29yKTtcbiAgYXBwZWFyYW5jZTogdmFyKC0tZmllbGQtYXBwZWFyYW5jZSwgYXV0byk7XG5cbiAgJjo6cGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1ncmF5LTMwMCk7XG4gIH1cbn1cblxuLmMtZmllbGRfX3VwbG9hZCB7XG4gIHBhZGRpbmc6IDAuN3JlbSAwLjJyZW0gMC43cmVtIDAuNXJlbTtcblxuICAmOjpmaWxlLXNlbGVjdG9yLWJ1dHRvbiB7XG4gICAgY29sb3I6IHZhcigtLWZpZWxkLWNvbG9yKTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZmllbGQtYmFja2dyb3VuZC1jb2xvcik7XG4gICAgYm9yZGVyOiB2YXIoLS1idXR0b24tYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS1idXR0b24tYm9yZGVyLWNvbG9yKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1idXR0b24tYm9yZGVyLXJhZGl1cyk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LW1lZGl1bSk7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIHBhZGRpbmc6IDAuOHJlbSAxLjVyZW07XG4gICAgbWFyZ2luLWxlZnQ6IDFyZW07XG4gIH1cblxuICAmOmhvdmVyOjpmaWxlLXNlbGVjdG9yLWJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItZ3JheSk7XG4gIH1cblxufSIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAjRk9PVEVSXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKiBWYXJpYWJsZXMgJiBDdXN0b20gcHJvcGVydGllc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmMtZm9vdGVyIHtcbiAgLS1mb290ZXItYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmxhY2spO1xuICAtLWZvb3Rlci1jb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpO1xuICAtLWZvb3Rlci1oZWlnaHQ6IDI3LjJyZW07XG5cbiAgQGluY2x1ZGUgbWVkaWEoJ21vYmlsZS11cCcpIHtcbiAgICAtLWZvb3Rlci1oZWlnaHQ6IGF1dG87XG4gIH1cbiAgLm8tZ3JpZCB7XG4gICAgLS1ncmlkLXJvdy1nYXA6IDIuNHJlbTtcbiAgfVxufVxuXG4uYy1mb290ZXJfX2xpc3Qge1xuICAtLWdyaWQtY29sdW1uLWdhcDogNC44cmVtXG59XG4vKiBEZWNsYXJhdGl2ZSBydWxlc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmMtZm9vdGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1mb290ZXItYmFja2dyb3VuZC1jb2xvcik7XG4gIGNvbG9yOiB2YXIoLS1mb290ZXItY29sb3IpO1xuICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1iYXNlKTtcbiAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LW1lZGl1bSk7XG4gIGhlaWdodDogdmFyKC0tZm9vdGVyLWhlaWdodCk7XG59XG5cbi5jLWZvb3Rlcl9fbGluayB7XG4gIC0tbGluay1jb2xvcjogdmFyKC0tZm9vdGVyLWNvbG9yKTtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzLFxuICAmOmFjdGl2ZSB7XG4gICAgY29sb3I6IHZhcigtLWhlYWRlci1jb2xvcik7XG4gIH1cblxufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICNIRUFERVJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qIFZhcmlhYmxlcyAmIEN1c3RvbSBwcm9wZXJ0aWVzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vLyBuZWVkIHRvIGJlIGFjY2Vzc2libGUgZnJvbSBldmVyeXdoZXJlXG5ib2R5IHtcbiAgLS1oZWFkZXItY29udGVudC1oZWlnaHQ6IDhyZW07XG59XG5cbi5jLWhlYWRlciB7XG4gIC0taGVhZGVyLWJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJsdWUpO1xuICAtLWhlYWRlci1jb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpO1xuXG4gIC0tbG9nby1oZWlnaHQ6IDRyZW07XG4gIC0tbG9nby13aWR0aDogMjAwcHg7XG5cbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC11cCcpIHtcbiAgICAtLWhlYWRlci1jb250ZW50LWhlaWdodDogYXV0bztcbiAgICAtLWxvZ28td2lkdGg6IDI1MHB4O1xuICB9XG59XG5cbi8qIERlY2xhcmF0aXZlIHJ1bGVzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmMtaGVhZGVyIHtcbiAgei1pbmRleDogMjtcbn1cblxuLmMtaGVhZGVyLFxuLmMtaGVhZGVyX19tYWluIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cblxuLmMtaGVhZGVyX19saW5rIHtcbiAgLS1saW5rLWNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSk7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyxcbiAgJjphY3RpdmUge1xuICAgIGNvbG9yOiB2YXIoLS1oZWFkZXItY29sb3IpO1xuICB9XG59XG5cbi5jLWhlYWRlcl9fY29udGVudCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiB2YXIoLS1oZWFkZXItY29udGVudC1oZWlnaHQpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1oZWFkZXItY29sb3IpO1xufVxuXG4uYy1sb2dvIHtcbiAgbWF4LXdpZHRoOiAyMHJlbTtcbn1cblxuLmMtaGVhZGVyX19pY29uIHtcbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1kb3duJykge1xuICAgIHdpZHRoOiAxMXJlbTtcbiAgfVxufVxuXG4uYy1oZWFkZXJfX2xvZ28ge1xuICBwYWRkaW5nOiAxcmVtO1xuICB3aWR0aDogdmFyKC0tbG9nby13aWR0aCk7XG5cbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1kb3duJykge1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICB9XG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtdXAnKSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMnJlbTtcbiAgICBsZWZ0OiAxcmVtO1xuICB9XG59XG5cbi5jLWhlYWRlcl9fbG9nb19faW1nIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LWRvd24nKSB7XG4gICAgaGVpZ2h0OiB2YXIoLS1sb2dvLWhlaWdodCk7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbn1cblxuLmMtaGVhZGVyX19tZW51IHtcbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC11cCcpIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgfVxufVxuXG4uYy1oZWFkZXJfX21lbnUtbmV3IHtcbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC11cCcpIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3Itd2hpdGUpO1xuICAgIGJveC1zaGFkb3c6IHJnYmEoMCwgMCwgMCwgMCkgMHB4IDBweCAwcHggMHB4LCByZ2JhKDAsIDAsIDAsIDApIDBweCAwcHggMHB4IDBweCwgcmdiYSgwLCAwLCAwLCAwLjEpIDBweCAxcHggM3B4IDBweCwgcmdiYSgwLCAwLCAwLCAwLjEpIDBweCAxcHggMnB4IC0xcHg7XG4gICAgaGVpZ2h0OiA4cmVtO1xuICB9XG59XG5cbi5jLW1lbnUtLW5hdiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcGFkZGluZzogMXJlbSAwO1xufVxuXG4uYy1oZWFkZXJfX2J1cmdlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiB2YXIoLS10b3BiYXItaGVpZ2h0KTtcbiAgcmlnaHQ6IDA7XG4gIGhlaWdodDogdmFyKC0taGVhZGVyLWNvbnRlbnQtaGVpZ2h0KTtcblxuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXVwJykge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLy8gbW9iaWxlIG1lbnUgb3BlblxuQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1kb3duJykge1xuICAuaGFzLW1lbnUtb3BlbiAuYy1oZWFkZXIge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgfVxuXG4gIC8vIFdoZW4gbW9iaWxlIG1lbnUgaXMgb3BlbjogZml4IHRoZSB0b3BiYXIgYW5kIG1ha2UgdGhlIGJ1cmdlciBiYXJcbiAgLy8gZnVsbC13aWR0aCB3aXRoIHdoaXRlIGJhY2tncm91bmQgc28gaXQgYWN0cyBhcyB0aGUgcGFuZWwgaGVhZGVyLlxuICAvLyBCb3RoIGJlY29tZSBwb3NpdGlvbjpmaXhlZCBzbyBzY3JvbGwgcG9zaXRpb24gaGFzIG5vIGVmZmVjdC5cbiAgYm9keS5tZW51LW0taXNvcGVuIHtcbiAgICAuYy10b3BiYXIge1xuICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgei1pbmRleDogMzA7XG4gICAgfVxuXG4gICAgLmMtaGVhZGVyX19idXJnZXIge1xuICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgdG9wOiB2YXIoLS10b3BiYXItaGVpZ2h0KTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgei1pbmRleDogMjU7IC8vIGJlbG93IHRvcGJhciAoMzApIGJ1dCBhYm92ZSBwYWdlIGNvbnRlbnRcbiAgICB9XG4gIH1cbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAjSUNPTlNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qIFZhcmlhYmxlcyAmIEN1c3RvbSBwcm9wZXJ0aWVzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYy1pY29uLS1tb25vc3BhY2Uge1xuICAtLWljb24td2lkdGg6IGNhbGModmFyKC0tbGluZS1oZWlnaHQtYmFzZSkgKiAxZW0pO1xufVxuXG4uYy1pY29uLS1yb3RhdGUtOTAge1xuICAtLWljb24tdHJhbnNmb3JtLXJvdGF0ZTogOTBkZWc7XG59XG5cbi5jLWljb24tLXJvdGF0ZS0xODAge1xuICAtLWljb24tdHJhbnNmb3JtLXJvdGF0ZTogMTgwZGVnO1xufVxuXG4uYy1pY29uLS1yb3RhdGUtMjcwIHtcbiAgLS1pY29uLXRyYW5zZm9ybS1yb3RhdGU6IDI3MGRlZztcbn1cblxuLyogRGVjbGFyYXRpdmUgcnVsZXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5jLWljb24ge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xufVxuXG4uYy1pY29uX19zdmcge1xuICB3aWR0aDogdmFyKC0taWNvbi13aWR0aCwgYXV0byk7XG4gIGhlaWdodDogdmFyKC0taWNvbi1oZWlnaHQsIGNhbGModmFyKC0tbGluZS1oZWlnaHQtYmFzZSkgKiAxZW0pKTtcbiAgdHJhbnNmb3JtOiBzY2FsZSh2YXIoLS1pY29uLXRyYW5zZm9ybS1zY2FsZSwgMSkpIHJvdGF0ZSh2YXIoLS1pY29uLXRyYW5zZm9ybS1yb3RhdGUsIDBkZWcpKTtcbiAgdHJhbnNpdGlvbjogdmFyKC0taWNvbi1zdmctdHJhbnNpdGlvbik7XG4gIGZpbGw6IGN1cnJlbnRDb2xvcjtcbiAgc3Ryb2tlOiBjdXJyZW50Q29sb3I7XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgI0xJTktTXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKiBWYXJpYWJsZXMgJiBDdXN0b20gcHJvcGVydGllc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmMtbGluayB7XG4gICY6aG92ZXIsXG4gICY6Zm9jdXMsXG4gICY6YWN0aXZlIHtcbiAgICAtLWxpbmstY29sb3I6IHZhcigtLXRleHQtY29sb3IpO1xuICB9XG59XG5cbi5jLWxpbmstLWxpc3Qge1xuICAtLWxpbmstY29sb3I6IHZhcigtLXRleHQtY29sb3IpO1xuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMsXG4gICY6YWN0aXZlLFxuICAmLmlzLWFjdGl2ZSB7XG4gICAgLS1saW5rLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcbiAgfVxufVxuXG5cbi5jLWJvcmRlcmxpbmUtLWxlZnQge1xuICAmOmhvdmVyLFxuICAmOmZvY3VzLFxuICAmOmFjdGl2ZSxcbiAgJi5pcy1hY3RpdmUge1xuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDEuOHJlbTtcbiAgICAgIHdpZHRoOiAuNnJlbTtcbiAgICAgIGhlaWdodDogMi41cmVtO1xuICAgICAgYm9yZGVyLXJhZGl1czogLjNyZW07XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjdXJyZW50Q29sb3I7XG4gICAgfVxuICB9XG59XG5cbi8qIERlY2xhcmF0aXZlIHJ1bGVzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYy1saW5rIHtcbiAgY29sb3I6IHZhcigtLWxpbmstY29sb3IsIHZhcigtLWNvbG9yLXByaW1hcnkpKTtcbiAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyxcbiAgJjphY3RpdmUsXG4gICYuaXMtYWN0aXZlIHtcbiAgICBjb2xvcjogdmFyKC0tbGluay1jb2xvciwgdmFyKC0tY29sb3ItcHJpbWFyeSkpO1xuICB9XG59XG4iLCIvKiBMaXN0c1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyogVmFyaWFibGVzICYgQ3VzdG9tIHByb3BlcnRpZXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uYy1saXN0IHtcbiAgLS1saXN0LW9mZnNldC14OiB2YXIoLS1zcGFjZXItbWQpO1xuXG4gIC0tbGlzdC1pdGVtLXNpemU6IDFlbTtcbiAgLS1saXN0LWl0ZW0tc3BhY2luZy1vdXRlci1yaWdodDogdmFyKC0tc3BhY2VyLW1kKTtcbiAgLS1saXN0LWl0ZW0tb2Zmc2V0LWJvdHRvbTogLjJlbTtcblxuICAgIC8vIGJ1bGxldCBsaXN0XG4gIC0tbGlzdC1idWxsZXQtc2l6ZTogLjNlbTtcbiAgLS1saXN0LWJ1bGxldC1jb2xvcjogdmFyKC0tY29sb3Itc2Vjb25kYXJ5KTtcbn1cblxuXG4vKiBEZWNsYXJhdGl2ZSBydWxlc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmMtbGlzdCB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbi10b3A6IHZhcigtLWxpc3Qtb2Zmc2V0LXgpO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG59XG5cbi5jLWxpc3RfX2l0ZW0ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmctYm90dG9tOiB2YXIoLS1saXN0LWl0ZW0tb2Zmc2V0LWJvdHRvbSk7XG4gIHBhZGRpbmctbGVmdDogdmFyKC0tbGlzdC1pdGVtLXNwYWNpbmctb3V0ZXItcmlnaHQpO1xuXG4gICY6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAuNWVtO1xuICAgIGxlZnQ6IDA7XG4gIH1cblxuICAmOmxhc3QtY2hpbGQge1xuICAgIC0tbGlzdC1pdGVtLW9mZnNldC1ib3R0b206IDA7XG4gIH1cbn1cblxuLmMtbGlzdC0tYnVsbGV0ID4gLmMtbGlzdF9faXRlbSB7XG4gICY6OmJlZm9yZSB7XG4gICAgd2lkdGg6IHZhcigtLWxpc3QtYnVsbGV0LXNpemUpO1xuICAgIGhlaWdodDogdmFyKC0tbGlzdC1idWxsZXQtc2l6ZSk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbGlzdC1idWxsZXQtY29sb3IpO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgfVxufVxuXG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgI01BSU5cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5tYWluIHtcbiAgZmxleDogMTtcblxuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LWRvd24nKSB7XG4gICAgbWFyZ2luLXRvcDogY2FsYyh2YXIoLS1oZWFkZXItY29udGFjdC1oZWlnaHQpICsgdmFyKC0taGVhZGVyLWNvbnRlbnQtaGVpZ2h0KSk7XG4gIH1cbn1cblxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICNNQVBcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qIFZhcmlhYmxlcyAmIEN1c3RvbSBwcm9wZXJ0aWVzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5cbi8qIERlY2xhcmF0aXZlIHJ1bGVzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmMtY29udGFjdC0tbWFwIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uLy4uL2ltYWdlcy9kZWZhdWx0cy9zdGF0aWMtbWFwLnBuZycpO1xufSIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAjTUVOVVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyogVmFyaWFibGVzICYgQ3VzdG9tIHByb3BlcnRpZXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uYy1tZW51X19zdWJtZW51IHtcbiAgLS1uYXYtc3VibWVudS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIC0tbmF2LXN1Ym1lbnUtb3BhY2l0eTogMDtcbiAgLS1uYXYtc3VibWVudS10cmFuc2xhdGU6IHRyYW5zbGF0ZVkoMnJlbSk7XG5cbiAgLS16aS1tZW51OiA0O1xuXG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtdXAnKSB7XG4gICAgLS1oZWFkZXItaGVpZ2h0OiA0cmVtO1xuICB9XG59XG5cbi8qIERlY2xhcmF0aXZlIHJ1bGVzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5cbi5jLW1lbnUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtbGcpO1xuICB6LWluZGV4OiB2YXIoLS16aS1tZW51KTtcblxuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXVwJykge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgfVxufVxuXG4uYy1tZW51X19pdGVtLS1sdmwxIHtcbiAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC11cCcpIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB9XG59XG5cbi5jLW1lbnVfX2xpbmstbHZsMSxcbi5jLW1lbnVfX2xpbmstbHZsMixcbi5jLW1lbnVfX2xpbmstbHZsMyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS1sZyk7XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC1sZyk7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1ibGFjayk7XG4gIHRyYW5zaXRpb246IGNvbG9yIC4zcztcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gIEBpbmNsdWRlIHN0YXRlcy1ob3ZlciB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWJsdWUpO1xuICB9XG59XG5cbi5jLW1lbnVfX2xpbmstbHZsMSB7XG4gIHdvcmQtYnJlYWs6IGtlZXAtYWxsO1xuICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtbWVkaXVtKTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtdXAnKSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgJjphZnRlciB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBib3R0b206IDA7XG4gICAgICBsZWZ0OiB2YXIoLS1zcGFjZXItYmFzZSk7XG4gICAgICBoZWlnaHQ6IC42cmVtO1xuICAgICAgd2lkdGg6IC42cmVtO1xuICAgICAgYm9yZGVyLXJhZGl1czogLjNyZW07XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1ibHVlKTtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgLjNzO1xuICAgIH1cbiAgfVxuXG5cbiAgQGluY2x1ZGUgc3RhdGVzLWhvdmVyIHtcbiAgICAmOmFmdGVyIHtcbiAgICAgIHdpZHRoOiA2cmVtO1xuICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG4gIH1cblxuICAmW2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJde1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1ibHVlKTtcblxuICAgICY6YWZ0ZXIge1xuICAgICAgd2lkdGg6IDZyZW07XG4gICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbiAgfVxufVxuXG5AaW5jbHVkZSBtZWRpYSgndGFibGV0LWRvd24nKSB7XG4gIC5jLW1lbnUsXG4gIC5jLXN1Ym1lbnUge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IGNhbGModmFyKC0tdG9wYmFyLWhlaWdodCkgKyB2YXIoLS1oZWFkZXItY29udGVudC1oZWlnaHQpKTtcbiAgICBib3R0b206IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgbGVmdDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgICB0cmFuc2l0aW9uOiBsZWZ0IC4zcztcbiAgICB6LWluZGV4OiA1O1xuXG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgbGVmdDogMDtcbiAgICB9XG4gIH1cblxuICAuYy1tZW51IHtcbiAgICBwYWRkaW5nLXRvcDogMi4ycmVtO1xuICB9XG5cbiAgLmMtc3VibWVudV9fY29udGVudCB7XG4gICAgcGFkZGluZy10b3A6IHZhcigtLWhlYWRlci1jb250ZW50LWhlaWdodCk7XG4gIH1cblxuICAuYy1tZW51X19saW5rLWx2bDEsXG4gIC5jLW1lbnVfX2xpbmstbHZsMixcbiAgLmMtbWVudV9fbGluay1sdmwzIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cblxuICAuYy1tZW51X19pdGVtIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2VyLXNtKTtcblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuICAgIGEge1xuICAgICAgcGFkZGluZzogMS4ycmVtO1xuICAgIH1cbiAgfVxuXG4gIC5jLW1lbnVfX2Fycm93e1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG5cbiAgICAvLyBmbMOoY2hlXG4gICAgJjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgcmlnaHQ6IHZhcigtLXNwYWNlci1tZCk7XG4gICAgICBoZWlnaHQ6IDEuMnJlbTtcbiAgICAgIHdpZHRoOiAxLjJyZW07XG4gICAgICBib3JkZXI6IC4ycmVtIHNvbGlkIHZhcigtLWNvbG9yLWJsdWUpO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgIGJvcmRlci1sZWZ0OiAwO1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpIHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgfVxuICB9XG5cbiAgLmMtbWVudV9fYXJyb3ctLWJhY2sge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIHdpZHRoOiA0cmVtO1xuXG4gICAgJjpiZWZvcmUge1xuICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICBsZWZ0OiB2YXIoLS1zcGFjZXItbWQpO1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTEzNWRlZykgdHJhbnNsYXRlWCg3MCUpO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIG1lbnUgZGVza1xuQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC11cCcpIHtcblxuICAuYy1tZW51X19saW5rLWx2bDMge1xuICAgIHBhZGRpbmc6IC4yZW0gMDtcblxuICAgIGxpOmZpcnN0LWNoaWxkICYge1xuICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgfVxuXG4gICAgbGk6bGFzdC1jaGlsZCAmIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIH1cbiAgfVxuXG4gIC5jLW1lbnVfX2l0ZW0tLWx2bDIge1xuICAgIG1hcmdpbjogMmVtIDAgMDtcblxuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICB9XG4gIH1cblxuICAuYy1tZW51X19saW5rLWx2bDIge1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIHBhZGRpbmctYm90dG9tOiAuNWVtO1xuICAgIFxuICAgIC8vIE92ZXJyaWRlIGZvciBuZXcgbWVudSBzdHJ1Y3R1cmUgKGxldmVsIDIgaW4gbGVmdCBjb2x1bW4pXG4gICAgLmMtc3VibWVudV9fY29sLS1sZWZ0ICYge1xuICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LW5vcm1hbCk7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgIHBhZGRpbmc6IC41ZW0gMDtcbiAgICAgIFxuICAgICAgJi5jLW1lbnVfX2xpbmstLXBhcmVudCB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuYy1tZW51X19zdWJtZW51IHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiBjYWxjKHZhcigtLWhlYWRlci1jb250ZW50LWhlaWdodCkgKyB2YXIoLS10b3BiYXItaGVpZ2h0KSk7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICB3aWR0aDogMTAwdnc7XG4gICAgei1pbmRleDogMTA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpO1xuICAgIGJveC1zaGFkb3c6IDAgNHB4IDEycHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuXG4gICAgdHJhbnNpdGlvbjogYWxsIC4zcztcblxuICAgIHZpc2liaWxpdHk6IHZhcigtLW5hdi1zdWJtZW51LXZpc2liaWxpdHkpO1xuICAgIG9wYWNpdHk6IHZhcigtLW5hdi1zdWJtZW51LW9wYWNpdHkpO1xuICAgIHRyYW5zZm9ybTogdmFyKC0tbmF2LXN1Ym1lbnUtdHJhbnNsYXRlKTtcblxuICAgICZbYXJpYS1oaWRkZW49XCJmYWxzZVwiXSB7XG4gICAgICAtLW5hdi1zdWJtZW51LXRyYW5zbGF0ZTogdHJhbnNsYXRlWSgwKTtcbiAgICAgIC0tbmF2LXN1Ym1lbnUtdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgIC0tbmF2LXN1Ym1lbnUtb3BhY2l0eTogMTtcbiAgICB9XG4gIH1cbiAgLy8gZGlzcGxheWluZyBzdWJtZW51XG4gIC5oYXMtc3VibWVudS0tb3BlbiAuYy1tZW51X19zdWJtZW51IHtcbiAgICAtLW5hdi1zdWJtZW51LXRyYW5zbGF0ZTogdHJhbnNsYXRlWSgwKTtcbiAgICAtLW5hdi1zdWJtZW51LXZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgLS1uYXYtc3VibWVudS1vcGFjaXR5OiAxO1xuICAgIHotaW5kZXg6IDExO1xuICB9XG5cbiAgLy8gUHJldmVudCBib2R5IHNjcm9sbCB3aGVuIHN1Ym1lbnUgaXMgb3BlblxuICBib2R5OmhhcyguaGFzLXN1Ym1lbnUtLW9wZW4pLFxuICBib2R5OmhhcyguYy1tZW51X19zdWJtZW51W2FyaWEtaGlkZGVuPVwiZmFsc2VcIl0pIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG5cblxuICAjc3VibWVudS1hdXRyZXMtcHJvZHVpdHMge1xuICAgIGxlZnQ6IGluaGVyaXQ7XG4gIH1cbn1cblxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICNQQUdFXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKiBWYXJpYWJsZXMgJiBDdXN0b20gcHJvcGVydGllc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuXG4vKiBEZWNsYXJhdGl2ZSBydWxlc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmMtcGFnZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiB2YXIoLS1wYWdlLWZsZXgtZGlyZWN0aW9uLCBjb2x1bW4pO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cblxuXG4vKipcbiAqIE1haW4gY29udGVudC5cbiAqL1xuXG4uYy1wYWdlX19tYWluIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleDogMTtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAjUVVPVEVcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qIFZhcmlhYmxlcyAmIEN1c3RvbSBwcm9wZXJ0aWVzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5cbi8qIERlY2xhcmF0aXZlIHJ1bGVzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYy1xdW90ZSB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbn1cblxuXG5cbi8qKlxuICogTWFpbiBjb250ZW50LlxuICovXG5cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAjU0tJUCBMSU5LU1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnNraXBsaW5rcyBhIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAtMTAwMDBweDtcbiAgY29sb3I6ICNmZmY7XG5cbiAgJjpmb2N1c3tcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBsZWZ0OiAxZW07XG4gIH1cbn1cblxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICNIRUFERVJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qIFZhcmlhYmxlcyAmIEN1c3RvbSBwcm9wZXJ0aWVzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmMtc3VibWVudSB7XG4gIC0tc3VibWVudS1ib3JkZXItcmFkaXVzOiB2YXIoLS1zcGFjZXItc20pO1xuICAtLXN1Ym1lbnUtYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItbGlnaHQtZ3JheSk7XG5cbiAgLy8gJi52aXNpYmxlIHtcbiAgLy8gICB2aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gIC8vICAgb3BhY2l0eTogMSAhaW1wb3J0YW50O1xuICAvLyB9XG59XG5cblxuLyogRGVjbGFyYXRpdmUgcnVsZXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbkBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtZG93bicpIHtcblxuICAuYy1zdWJtZW51IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSk7XG4gICAgei1pbmRleDogNjtcblxuICAgIC5vLWdyaWQge1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICB9XG4gIH1cblxuICAuYy1zdWJtZW51X19pbWFnZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC5jLXN1Ym1lbnVfX2hlYWRlciB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogdmFyKC0taGVhZGVyLWNvbnRhY3QtaGVpZ2h0KTtcbiAgICBsZWZ0OiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogdmFyKC0taGVhZGVyLWNvbnRlbnQtaGVpZ2h0KTtcbiAgICBib3JkZXI6IDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZm9udC13ZWlnaHQ6ICB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSk7XG4gICAgei1pbmRleDogNjtcbiAgICB0cmFuc2l0aW9uOiBsZWZ0IC40cztcbiAgfVxuXG4gIC5pcy1hY3RpdmUge1xuICAgID4gLmMtc3VibWVudV9faGVhZGVyIHtcbiAgICAgIGxlZnQ6IDA7XG4gICAgfVxuICB9XG5cbiAgLy8gTW9iaWxlIHN1Ym1lbnUgbGV2ZWwgMlxuICAuYy1zdWJtZW51X19jb2wtLWx2bDIge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IGNhbGModmFyKC0tdG9wYmFyLWhlaWdodCkgKyB2YXIoLS1oZWFkZXItY29udGVudC1oZWlnaHQpKTtcbiAgICByaWdodDogMDtcbiAgICBsZWZ0OiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSk7XG4gICAgdHJhbnNpdGlvbjogbGVmdCAuM3M7XG4gICAgei1pbmRleDogNztcblxuICAgICYuaXMtYWN0aXZlIHtcbiAgICAgIGxlZnQ6IDA7XG4gICAgfVxuXG4gICAgLmMtc3VibWVudV9fY2F0ZWdvcnktdGl0bGUge1xuICAgICAgZGlzcGxheTogbm9uZTsgLy8gSGlkZSB0aXRsZSBvbiBtb2JpbGUgYXMgaXQncyBpbiB0aGUgaGVhZGVyXG4gICAgfVxuXG4gICAgLmMtc3VibWVudV9fY2F0ZWdvcnktZ3JvdXAge1xuICAgICAgcGFkZGluZy10b3A6IHZhcigtLWhlYWRlci1jb250ZW50LWhlaWdodCk7XG4gICAgfVxuICB9XG5cbiAgLy8gTW9iaWxlIGFycm93cyBmb3IgbGV2ZWwgMlxuICAuYy1tZW51X19saW5rLWx2bDIuYy1tZW51X19saW5rLS1wYXJlbnQge1xuICAgIC5jLW1lbnVfX2Fycm93IHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbGVmdDogMDtcblxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICByaWdodDogdmFyKC0tc3BhY2VyLW1kKTtcbiAgICAgICAgaGVpZ2h0OiAxLjJyZW07XG4gICAgICAgIHdpZHRoOiAxLjJyZW07XG4gICAgICAgIGJvcmRlcjogLjJyZW0gc29saWQgdmFyKC0tY29sb3ItYmx1ZSk7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZykgdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuXG5AaW5jbHVkZSBtZWRpYSgndGFibGV0LXVwJykge1xuXG4gIC5jLXN1Ym1lbnVfX2hlYWRlciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC5jLXN1Ym1lbnVfX2NvbnRlbnQge1xuICAgIG1heC13aWR0aDogMTIwMHB4O1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlci1sZykgMDtcbiAgfVxuXG4gIC5jLXN1Ym1lbnVfX2NvbCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIHBhZGRpbmc6IHZhcigtLXNwYWNlci1sZykgdmFyKC0tc3BhY2VyLXhsKTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXdoaXRlKTtcbiAgfVxuXG4gIC5jLXN1Ym1lbnVfX2xpbmtzIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG5cbiAgLy8gTGVmdCBjb2x1bW4gc3R5bGluZyAtIGdyYXkgYmFja2dyb3VuZFxuICAuYy1zdWJtZW51X19jb2wtLWxlZnQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmNWY1ZjU7XG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2UwZTBlMDtcbiAgICBcbiAgICAuYy1tZW51X19pdGVtIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXNwYWNlci14cyk7XG4gICAgICBcbiAgICAgIC8vIFZlcnRpY2FsIGJhciBpbmRpY2F0b3IgZm9yIGFjdGl2ZS9ob3ZlcmVkIGl0ZW1cbiAgICAgICYuaXMtYWN0aXZlOjpiZWZvcmUsXG4gICAgICAmOmhvdmVyOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IGNhbGMoLTEgKiB2YXIoLS1zcGFjZXIteGwpKTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIHdpZHRoOiA0cHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJsdWUpO1xuICAgICAgfVxuICAgICAgXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjAzKTtcbiAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgLmMtbWVudV9fbGluay1sdmwyIHtcbiAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLWxnKTtcbiAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ub3JtYWwpO1xuICAgICAgcGFkZGluZzogMC4yNWVtIDFlbTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgXG4gICAgICAvLyBTdHlsaW5nIGZvciB0YXhvbnMgd2l0aCBjaGlsZHJlblxuICAgICAgJi5jLW1lbnVfX2xpbmstLXBhcmVudCB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBSaWdodCBjb2x1bW4gc3R5bGluZyAtIGFsd2F5cyB2aXNpYmxlIG5vd1xuICAuYy1zdWJtZW51X19jb2wtLXJpZ2h0IHtcbiAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7IC8vIEFsd2F5cyB2aXNpYmxlXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSk7XG4gICAgXG4gICAgLmMtc3VibWVudV9fY2F0ZWdvcmllcy13cmFwcGVyIHtcbiAgICAgIGZsZXg6IDE7XG4gICAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zcGFjZXItbGcpO1xuICAgIH1cbiAgICBcbiAgICAuYy1zdWJtZW51X19jb2wtLWx2bDIge1xuICAgICAgZGlzcGxheTogbm9uZTsgLy8gSGlkZGVuIGJ5IGRlZmF1bHRcbiAgICAgIFxuICAgICAgJi5pcy12aXNpYmxlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICAgIFxuICAgIC5jLXN1Ym1lbnVfX2NhdGVnb3J5LXRpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLWxnKTtcbiAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxZW07XG4gICAgICBjb2xvcjogdmFyKC0tY29sb3ItYmxhY2spO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDVlbTtcbiAgICB9XG4gICAgXG4gICAgLmMtc3VibWVudV9fY2F0ZWdvcnktZ3JvdXAge1xuICAgICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc3BhY2VyLWxnKTtcbiAgICAgIFxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgLmMtbWVudV9fbGluay1sdmwzIHtcbiAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLWJhc2UpO1xuICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LW5vcm1hbCk7XG4gICAgICBwYWRkaW5nOiAwLjVlbSAwO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBcbiAgICAgICY6aG92ZXIge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBJbWFnZSB3cmFwcGVyIGF0IHRoZSBib3R0b20gb2YgcmlnaHQgY29sdW1uXG4gIC5jLXN1Ym1lbnVfX2ltYWdlLXdyYXBwZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi10b3A6IGF1dG87XG4gIH1cblxuICAuYy1zdWJtZW51X19pbWFnZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAzMDBweDtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1pbWFnZSAwLjNzIGVhc2UgMC4xcztcbiAgfVxufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICNTVU1NQVJZXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKiBWYXJpYWJsZXMgJiBDdXN0b20gcHJvcGVydGllc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuXG4vKiBEZWNsYXJhdGl2ZSBydWxlc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5jLXN1bW1hcnkge1xuICB0b3A6IDA7XG4gIHBvc2l0aW9uOiBzdGlja3k7XG59IiwiLyogc3dpcGVyc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLmMtc3dpcGVyIHtcbiAgLS1zd2lwZXItY29sdW1uczogMTtcbiAgLS1zd2lwZXItZ3V0dGVyOiAwO1xuXG4gIC0tc3dpcGVyLW5hdi1jb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpO1xuXG4gICAgLy8gcGFnaW5hdGlvbiBidWxsZXRzXG4gIC0tc3dpcGVyLWJ1bGxldC1jb250ZW50OiBub25lO1xuICAtLXN3aXBlci1idWxsZXQtc2l6ZTogMS4ycmVtO1xuICAtLXN3aXBlci1idWxsZXQtc3BhY2luZy1vdXRlci14OiB2YXIoLS1zcGFjZXItc20pO1xuICAtLXN3aXBlci1idWxsZXQtYm9yZGVyLXdpZHRoOiAuMXJlbTtcbiAgLS1zd2lwZXItYnVsbGV0LWJvcmRlci1yYWRpdXM6IDUwJTtcbiAgLS1zd2lwZXItYnVsbGV0LXNjYWxlOiAxO1xuICAtLXN3aXBlci1idWxsZXQtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAtLXN3aXBlci1idWxsZXQtb3BhY2l0eTogMDtcbiAgLS1zd2lwZXItYnVsbGV0LXRyYW5zaXRpb24tZHVyYXRpb246IHZhcigtLXRyYW5zaXRpb24tZHVyYXRpb24pO1xufVxuXG5cbi5jLXN3aXBlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY29sb3I6IHZhcigtLXN3aXBlci1uYXYtY29sb3IpO1xufVxuXG4uYy1zd2lwZXItLWZpeGVkLWhlaWdodCB7XG4gICYsXG4gIC5jLXN3aXBlcl9fd3JhcHBlciB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG5cbiAgLy8gaW1hZ2UgaXMgY292ZXJcbiAgLmMtc3dpcGVyX19zbGlkZSBpbWcge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgfVxufVxuXG4uYy1zd2lwZXJfX3dyYXBwZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tcmlnaHQ6IGNhbGModmFyKC0tc3dpcGVyLWd1dHRlcikgKiAtMSk7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLmMtc3dpcGVyX19zbGlkZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZmxleC1zaHJpbms6IDA7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLyAodmFyKC0tc3dpcGVyLWNvbHVtbnMpIC0gdmFyKC0tc3dpcGVyLWd1dHRlcikpKTtcbiAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1zd2lwZXItZ3V0dGVyKTtcblxuICBpbWcge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbn1cblxuLmMtc3dpcGVyX19wYWdpbmF0aW9uIHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBtYXJnaW4tdG9wOiAwO1xufVxuXG4uYy1zd2lwZXJfX2J1bGxldCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogdmFyKC0tc3dpcGVyLWJ1bGxldC1zaXplKTtcbiAgaGVpZ2h0OiB2YXIoLS1zd2lwZXItYnVsbGV0LXNpemUpO1xuICBtYXJnaW4tbGVmdDogdmFyKC0tc3dpcGVyLWJ1bGxldC1zcGFjaW5nLW91dGVyLXgpO1xuICBib3JkZXI6IHZhcigtLXN3aXBlci1idWxsZXQtYm9yZGVyLXdpZHRoKSBzb2xpZCBjdXJyZW50Q29sb3I7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXN3aXBlci1idWxsZXQtYm9yZGVyLXJhZGl1cyk7XG4gIGN1cnNvcjogcG9pbnRlcjtcblxuICAmOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IHZhcigtLXN3aXBlci1idWxsZXQtY29udGVudCk7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogY3VycmVudENvbG9yO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXN3aXBlci1idWxsZXQtYm9yZGVyLXJhZGl1cyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSh2YXIoLS1zd2lwZXItYnVsbGV0LXNjYWxlKSk7XG4gIH1cblxuICAmLmlzLWFjdGl2ZSB7XG4gICAgLS1zd2lwZXItYnVsbGV0LWNvbnRlbnQ6IFwiXCI7XG4gIH1cblxuICAmOmZpcnN0LWNoaWxkIHtcbiAgICAtLXN3aXBlci1idWxsZXQtc3BhY2luZy1vdXRlci14OiAwO1xuICB9XG59XG5cbi5jLXN3aXBlcl9fbmF2aWdhdGlvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwO1xuICByaWdodDogMDtcbiAgbGVmdDogMDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4uYy1zd2lwZXJfX2J0biB7XG4gIHBhZGRpbmc6IHZhcigtLXNwYWNlci1iYXNlKTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICNUT1BCQVJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qIFZhcmlhYmxlcyAmIEN1c3RvbSBwcm9wZXJ0aWVzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vLyBuZWVkIHRvIGJlIGFjY2Vzc2libGUgZnJvbSBldmVyeXdoZXJlXG5ib2R5IHtcbiAgICAtLXRvcGJhci1oZWlnaHQ6IDE1cmVtO1xuICAgIC0tdG9wYmFyLWZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXNtKTtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCdtb2JpbGUtdXAnKSB7XG4gICAgICAgIC0tdG9wYmFyLWhlaWdodDogMTJyZW07XG4gICAgICAgIC0tdG9wYmFyLWZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLXNtKTtcbiAgICB9XG59XG5cbi5jLXRvcGJhciB7XG4gICAgLS10b3BiYXItYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmx1ZSk7XG4gICAgLS10b3BiYXItY29sb3I6IHZhcigtLWNvbG9yLXdoaXRlKTtcbn1cblxuLmMtbG9nb19fc3ZnIHtcbiAgICAtLWxvZ28td2lkdGg6IDI1cmVtO1xufVxuXG4vKiBEZWNsYXJhdGl2ZSBydWxlc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuXG4uYy10b3BiYXIge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10b3BiYXItYmFja2dyb3VuZC1jb2xvcik7XG4gICAgY29sb3I6IHZhcigtLXRvcGJhci1jb2xvcik7XG4gICAgZm9udC1zaXplOiB2YXIoLS10b3BiYXItZm9udC1zaXplKTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtbWVkaXVtKTtcbiAgICBoZWlnaHQ6IHZhcigtLXRvcGJhci1oZWlnaHQpO1xufVxuXG4uYy1sb2dvX19zdmcge1xuICAgIHdpZHRoOiB2YXIoLS1sb2dvLXdpZHRoKTtcbn0iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgI0NPTE9SU1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyogRGVjbGFyYXRpdmUgcnVsZXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8vIENvbG9yIHV0aWxpdGllcyBidWlsZGVyLlxuQGluY2x1ZGUgY29sb3JzO1xuXG4vLyBCYWNrZ3JvdW5kIGNvbG9yIHV0aWxpdGllcyBidWlsZGVyLlxuQGluY2x1ZGUgYmFja2dyb3VuZC1jb2xvcnM7XG5cbi8vIFJlc3BvbnNpdmUgY29sb3IgdXRpbGl0aWVzIGJ1aWxkZXIuXG5AaWYgJGVuYWJsZS1yZXNwb25zaXZlLWNvbG9ycyB7XG4gIEBpbmNsdWRlIHJlc3BvbnNpdmUtY29sb3JzO1xuICBAaW5jbHVkZSByZXNwb25zaXZlLWJhY2tncm91bmQtY29sb3JzO1xufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICNDVVJTT1JTXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKiBEZWNsYXJhdGl2ZSBydWxlc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLy8gQ3Vyc29yIHV0aWxpdGllcyBidWlsZGVyLlxuQGluY2x1ZGUgY3Vyc29ycztcblxuLy8gUmVzcG9uc2l2ZSBjdXJzb3IgdXRpbGl0aWVzIGJ1aWxkZXIuXG5AaWYgJGVuYWJsZS1yZXNwb25zaXZlLWN1cnNvcnMge1xuICBAaW5jbHVkZSByZXNwb25zaXZlLWN1cnNvcnM7XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgI0RJU1BMQVlcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qIERlY2xhcmF0aXZlIHJ1bGVzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vLyBEaXNwbGF5IHV0aWxpdGllcyBidWlsZGVyLlxuQGluY2x1ZGUgZGlzcGxheTtcblxuLy8gUmVzcG9uc2l2ZSBkaXNwbGF5IHV0aWxpdGllcyBidWlsZGVyLlxuQGlmICRlbmFibGUtcmVzcG9uc2l2ZS1kaXNwbGF5IHtcbiAgQGluY2x1ZGUgcmVzcG9uc2l2ZS1kaXNwbGF5O1xufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICNGTEVYXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKiBEZWNsYXJhdGl2ZSBydWxlc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLy8gRmxleCB1dGlsaXRpZXMgYnVpbGRlci5cbkBpbmNsdWRlIGZsZXg7XG5cbi8vIFJlc3BvbnNpdmUgZmxleCB1dGlsaXRpZXMgYnVpbGRlci5cbkBpZiAkZW5hYmxlLXJlc3BvbnNpdmUtZmxleCB7XG4gIEBpbmNsdWRlIHJlc3BvbnNpdmUtZmxleDtcbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAjSEVMUEVSXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKiBEZWNsYXJhdGl2ZSBydWxlc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLy8gSGVscGVyIHV0aWxpdGllcyBidWlsZGVyLlxuQGluY2x1ZGUgaGVscGVyO1xuXG4vLyBSZXNwb25zaXZlIGhlbHBlciB1dGlsaXRpZXMgYnVpbGRlci5cbkBpZiAkZW5hYmxlLXJlc3BvbnNpdmUtaGVscGVyIHtcbiAgQGluY2x1ZGUgcmVzcG9uc2l2ZS1oZWxwZXI7XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgI09WRVJGTE9XXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKiBEZWNsYXJhdGl2ZSBydWxlc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLy8gT3ZlcmZsb3cgdXRpbGl0aWVzIGJ1aWxkZXIuXG5AaW5jbHVkZSBvdmVyZmxvdztcblxuLy8gUmVzcG9uc2l2ZSBvdmVyZmxvdyB1dGlsaXRpZXMgYnVpbGRlci5cbkBpZiAkZW5hYmxlLXJlc3BvbnNpdmUtb3ZlcmZsb3cge1xuICBAaW5jbHVkZSByZXNwb25zaXZlLW92ZXJmbG93O1xufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICNQT1NJVElPTlxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyogRGVjbGFyYXRpdmUgcnVsZXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8vIFBvc2l0aW9uIHV0aWxpdGllcyBidWlsZGVyLlxuQGluY2x1ZGUgcG9zaXRpb247XG5cbi8vIFJlc3BvbnNpdmUgcG9zaXRpb24gdXRpbGl0aWVzIGJ1aWxkZXIuXG5AaWYgJGVuYWJsZS1yZXNwb25zaXZlLXBvc2l0aW9uIHtcbiAgQGluY2x1ZGUgcmVzcG9uc2l2ZS1wb3NpdGlvbjtcbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAjUkVTRVRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qIERlY2xhcmF0aXZlIHJ1bGVzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vLyBSZXNldCB1dGlsaXRpZXMgYnVpbGRlci5cbkBpbmNsdWRlIHJlc2V0O1xuXG4vLyBSZXNwb25zaXZlIHJlc2V0IHV0aWxpdGllcyBidWlsZGVyLlxuQGlmICRlbmFibGUtcmVzcG9uc2l2ZS1yZXNldCB7XG4gIEBpbmNsdWRlIHJlc3BvbnNpdmUtcmVzZXQ7XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgI1NJWklOR1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyogRGVjbGFyYXRpdmUgcnVsZXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8vIFNpemluZyB1dGlsaXRpZXMgYnVpbGRlci5cbkBpbmNsdWRlIHNpemluZztcblxuLy8gUmVzcG9uc2l2ZSBzaXppbmcgdXRpbGl0aWVzIGJ1aWxkZXIuXG5AaWYgJGVuYWJsZS1yZXNwb25zaXZlLXNpemluZyB7XG4gIEBpbmNsdWRlIHJlc3BvbnNpdmUtc2l6aW5nO1xufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICNTUEFDSU5HXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKiBEZWNsYXJhdGl2ZSBydWxlc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLy8gU3BhY2luZyB1dGlsaXRpZXMgYnVpbGRlci5cbkBpbmNsdWRlIHNwYWNpbmc7XG5cbi8vIFJlc3BvbnNpdmUgc3BhY2luZyB1dGlsaXRpZXMgYnVpbGRlci5cbkBpZiAkZW5hYmxlLXJlc3BvbnNpdmUtc3BhY2luZyB7XG4gIEBpbmNsdWRlIHJlc3BvbnNpdmUtc3BhY2luZztcbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAjVEVYVFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyogRGVjbGFyYXRpdmUgcnVsZXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8vIEZvbnQgd2VpZ2h0IHV0aWxpdGllcyBidWlsZGVyLlxuQGluY2x1ZGUgZm9udC13ZWlnaHRzO1xuXG4vLyBGb250IHNpemUgdXRpbGl0aWVzIGJ1aWxkZXIuXG5AaW5jbHVkZSBmb250LXNpemVzO1xuXG4vLyBGb250IGZhbWlseSB1dGlsaXRpZXMgYnVpbGRlci5cbkBpbmNsdWRlIGZvbnQtZmFtaWxpZXM7XG5cbi8vIFRleHQgYWxpZ25tZW50IHV0aWxpdGllcyBidWlsZGVyLlxuQGluY2x1ZGUgdGV4dC1hbGlnbm1lbnQ7XG5cbi8vIFRleHQgdHJhbnNmb3JtIHV0aWxpdGllcyBidWlsZGVyLlxuQGluY2x1ZGUgdGV4dC10cmFuc2Zvcm07XG5cbi8vIFZlcnRpY2FsIGFsaWdubWVudCB1dGlsaXRpZXMgYnVpbGRlci5cbkBpbmNsdWRlIHZlcnRpY2FsLWFsaWdubWVudDtcblxuLy8gUmVzcG9uc2l2ZSB0ZXh0IHV0aWxpdGllcyBidWlsZGVyLlxuQGlmICRlbmFibGUtcmVzcG9uc2l2ZS10ZXh0IHtcbiAgQGluY2x1ZGUgcmVzcG9uc2l2ZS1mb250LXdlaWdodHM7XG4gIEBpbmNsdWRlIHJlc3BvbnNpdmUtZm9udC1zaXplcztcbiAgQGluY2x1ZGUgcmVzcG9uc2l2ZS1mb250LWZhbWlsaWVzO1xuICBAaW5jbHVkZSByZXNwb25zaXZlLXRleHQtYWxpZ25tZW50O1xuICBAaW5jbHVkZSByZXNwb25zaXZlLXRleHQtdHJhbnNmb3JtO1xuICBAaW5jbHVkZSByZXNwb25zaXZlLXZlcnRpY2FsLWFsaWdubWVudDtcbn1cbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==*/