/*! normalize.css v8.0.0 | 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; }

/**
 * 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 {
  -webkit-box-sizing: content-box;
          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 */
  -webkit-text-decoration: underline dotted;
          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 {
  -webkit-box-sizing: border-box;
          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"] {
  -webkit-box-sizing: border-box;
          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; }

/* @import "plugins/magnific-popup";
@import "plugins/slick";
@import "plugins/slick-theme"; */
/* @import "ui-collapse";
@import "ui-modal"; */
/* Global */
html {
  font-size: 62.5%;
  /* set base font-size to 10 (16 * .625) to make rems easier to calculate */ }

body {
  font-family: "open sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  line-height: 1.35;
  font-size: 1.6rem;
  overflow-x: hidden; }

img {
  max-width: 100%;
  display: block; }

.ad-strip {
  text-align: center; }
  .ad-strip img {
    display: inline;
    text-align: center; }

/* This proably doens't need to be added to the vertical ads and just to the header ads */
.ad-strip {
  padding: 16px 0; }

@media only screen and (min-width: 1024px) {
  .ad-strip {
    padding: 32px 0; } }

.ad-strip.vertical {
  padding: 0; }

a {
  color: #8D0004; }

figure {
  margin: 0; }

/* Background  */
.background-alpha {
  background-color: #8D0004;
  color: white; }

/* Buttons */
.button {
  display: inline-block;
  background: white;
  -webkit-font-smoothing: antialiased;
  font-smoothing: antialiased;
  border: none;
  font-weight: bold;
  padding: .9em 1.25em;
  /* EM's so padding is relative to font-size */
  border-radius: .25em;
  color: #8B0724;
  text-decoration: none; }

.button--inverse {
  background: #8D0004;
  color: white; }

/* Utility Classes */
.u-display-block {
  display: block; }

.underline {
  text-decoration: underline; }

/* ethor - Start refined classes */
/* Layout */
.container {
  max-width: 1300px;
  margin-left: auto;
  margin-right: auto; }

.container--side-padding {
  width: 93.75%; }

/* TODO Need to refactor a bit. */
.flex-grid {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap; }

.flex-grid--gutter {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  margin-left: -32px; }

.flex-grid--gutter .flex-grid__item {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding-left: 32px; }

.flex-grid__item--flex-none {
  -webkit-box-flex: 0;
      -ms-flex: none;
          flex: none; }

.flex-grid__item--flex-1 {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 0px;
          flex: 1 1 0; }

.flex-grid__item--flex-3 {
  -webkit-box-flex: 3;
      -ms-flex: 3 1 0px;
          flex: 3 1 0; }

.flex-grid__item--flex-2 {
  -webkit-box-flex: 2;
      -ms-flex: 2 1 0px;
          flex: 2 1 0; }

/* Going to add super specific class names we will refactor them later  */
/* On Section Front Pages with Index content  */
.flex-grid__item--index-content {
  -webkit-box-flex: 1;
      -ms-flex: 1 0 100%;
          flex: 1 0 100%; }

@media only screen and (min-width: 1024px) {
  .flex-grid__item--index-content {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1; } }

.main-layout {
  position: relative;
  padding-top: 105px; }
  @media only screen and (min-width: 767px) {
    .main-layout {
      padding-top: 0; } }

/* That tripple thing right after the featured posts on most section fronts */
.flex-grid.vary-row {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center; }

@media only screen and (min-width: 1024px) {
  .flex-grid__item--side-stack {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1; }
  .flex-grid__item--side-stack-large {
    -webkit-box-flex: 2;
        -ms-flex: 2;
            flex: 2; } }

@media only screen and (min-width: 1024px) {
  .flex-grid__item--homepage-hero {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1; }
  .flex-grid__item--homepage-featured-side-stack {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1; } }

/* Those three rows of sidestacks on wine-and-culture and food  dr vinny */
.flex-grid.tripple-stack {
  -webkit-box-pack: space-evenly;
      -ms-flex-pack: space-evenly;
          justify-content: space-evenly;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap; }

.flex-grid.tripple-stack .flex-grid__item {
  -webkit-box-flex: 1;
      -ms-flex: 1 0 100%;
          flex: 1 0 100%;
  min-width: 300px; }

@media only screen and (min-width: 672px) {
  .flex-grid.tripple-stack .flex-grid__item {
    -webkit-box-flex: 1;
        -ms-flex: 1 0 50%;
            flex: 1 0 50%; } }

@media only screen and (min-width: 1024px) {
  .flex-grid.tripple-stack .flex-grid__item {
    -webkit-box-flex: 1;
        -ms-flex: 1 0 33.33%;
            flex: 1 0 33.33%; } }

/* Tablet */
@media only screen and (min-width: 672px) and (max-width: 1023px) {
  .trade-news-columns {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    margin-left: -24px; }
  .trade-news-columns .trade-news-column {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    padding-left: 24px;
    margin-left: 0; }
  .trade-news-columns > * {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0; }
  .trade-news-column .section-front-trade-news-feed {
    margin-bottom: 24px; }
  .trade-news-columns .island--border {
    border: none; }
  .trade-news-columns h3 {
    font-size: 18px !important; }
  .trade-news-columns .card__buffer.card__buffer {
    border-bottom: 1px solid #CCCCCC !important;
    margin-bottom: 12.5px !important;
    padding-bottom: 12.5px !important; }
  .trade-news-columns .flex-text,
  .trade-news-columns .flex-logo {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 100%;
            flex: 1 1 100%;
    padding-left: 0; } }

.trade-news-header {
  margin-top: 32px; }

@media only screen and (max-width: 671px) {
  .trade-news-header {
    margin-top: 24px; }
  .trade-news-columns {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    margin-left: -24px;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-flow: row wrap;
            flex-flow: row wrap; }
  .trade-news-columns img {
    width: 100%; }
  .trade-news-columns .trade-news-column {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    padding-left: 24px;
    margin-left: 0; }
  .trade-news-columns > * {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 100%;
            flex: 1 1 100%; }
  .trade-news-column .section-front-trade-news-feed {
    margin-bottom: 24px; }
  .trade-news-columns .island--border {
    border: none; }
  .trade-news-columns h3 {
    font-size: 18px !important; }
  .trade-news-columns .card__buffer.card__buffer {
    border-bottom: 1px solid #CCCCCC !important;
    margin-bottom: 12.5px !important;
    padding-bottom: 12.5px !important; }
  .trade-news-columns .flex-text,
  .trade-news-columns .flex-logo {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 100%;
            flex: 1 1 100%;
    padding-left: 0; } }

@media only screen and (min-width: 672px) and (max-width: 1023px) {
  .for-the-trade-grid > * {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 50%;
            flex: 1 1 50%;
    margin-bottom: 24px; } }

@media only screen and (max-width: 671px) {
  .for-the-trade-grid > * {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 100%;
            flex: 1 1 100%;
    margin-bottom: 24px; }
  .for-the-trade-grid .card__buffer.card__buffer {
    border-bottom: none !important;
    margin-bottom: 8px !important;
    padding-bottom: 8px !important; } }

.flex-text {
  -webkit-box-flex: 4;
      -ms-flex: 4;
          flex: 4; }

.flex-logo {
  -webkit-box-flex: 5;
      -ms-flex: 5;
          flex: 5; }

/*
@media only screen and (min-width: 672px) {
    .flex-grid.tripple-stack {
        justify-content: space-between;
    }
}

.flex-grid.tripple-stack  .flex-grid__item {
    flex: 1 0 100%;
    max-width: 412px;

}

@media only screen and (min-width: 672px) {
    .flex-grid.tripple-stack  .flex-grid__item {
        flex: 1 0 50%;
    }
} */
/* @media only screen and (min-width: 1024px) {
    .flex-grid.tripple-stack  .flex-grid__item {
        flex: 1 0 33.33%;
    }
} */
/* Custom grid stuff for dr vinny */
.custom-dr-vinny-grid .flex-grid__item:nth-child(1) {
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2; }

@media only screen and (min-width: 1024px) {
  .custom-dr-vinny-grid .flex-grid__item:nth-child(1) {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1; } }

.custom-dr-vinny-grid .flex-grid__item:nth-child(2) {
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1; }

@media only screen and (min-width: 1024px) {
  .custom-dr-vinny-grid .flex-grid__item:nth-child(2) {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2; } }

.custom-dr-vinny-grid .flex-grid__item:nth-child(3) {
  -webkit-box-ordinal-group: 4;
      -ms-flex-order: 3;
          order: 3; }

/* Custom Grid Stuff for homepage featured section */
.flex-grid.homepage {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center; }

/* Used accross pages. Used to seperate out sections of pages */
.island {
  margin-bottom: 24px; }

/* TODO: Temp style to deal with werid sketch stuff */
.island--werid {
  margin-bottom: 0; }

@media only screen and (min-width: 672px) {
  .island--werid {
    margin-bottom: 32px; } }

.island--border {
  padding-bottom: 32px;
  border-bottom: 1px solid #DDDDDD; }

.island--double {
  margin-bottom: 64px; }

@media only screen and (min-width: 672px) {
  .island {
    margin-bottom: 32px; }
  .island--border {
    padding-bottom: 32px;
    border-bottom: 1px solid #DDDDDD; } }

@media only screen and (min-width: 1024px) {
  .island--double {
    margin-bottom: 64px; } }

.island--border-desktop {
  padding: 0;
  border: none; }

@media only screen and (min-width: 1024px) {
  .island--border-desktop {
    border-bottom: 1px solid #DDDDDD; } }

/* Section Front Styles */
.section-front-intro-title {
  font-family: lora;
  color: #262626;
  font-size: 24px;
  margin-top: 0;
  margin-bottom: 16px; }

.section-front-intro-body {
  color: #404040;
  font-family: open sans; }

.section-front-intro-body p {
  margin-top: 0; }

/* Temporary Classes */
.temp-paged-cards .card.indexer:last-of-type .card__buffer {
  border-bottom: 0;
  margin-bottom: 0; }

.vary-responsive-ad {
  margin-top: 24px; }

@media only screen and (max-width: 672px) {
  .vary-responsive-ad {
    display: none; } }

@media only screen and (min-width: 672px) {
  .vary-responsive-ad {
    margin-top: 0px; } }

@media only screen and (min-width: 1024px) {
  .vary-responsive-ad {
    display: none; } }

.vary-responsive-ad-desktop {
  display: none; }

@media only screen and (min-width: 1024px) {
  .vary-responsive-ad-desktop {
    display: block; } }

@media only screen and (max-width: 671px) {
  .ad-strictly-tablet {
    display: none; } }

@media only screen and (min-width: 672px) and (max-width: 1023px) {
  .ad-strictly-tablet {
    display: block;
    padding: 24px 0;
    background: #F3F3F3; } }

@media only screen and (min-width: 1024px) {
  .ad-strictly-tablet {
    display: none; } }

.ad-strictly-mobile {
  background: #F3F3F3;
  padding: 16px 0; }

@media only screen and (min-width: 672px) {
  .ad-strictly-mobile {
    display: none; } }

.ad-constant-strip {
  text-align: center;
  border-top: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
  background: #f3f3f3; }

@media only screen and (min-width: 672px) {
  .ad-constant-strip {
    margin-bottom: 32px; } }

@media only screen and (max-width: 671px) {
  .hide-on-mobile {
    display: none; } }

.only-tablet {
  display: none; }

@media only screen and (min-width: 672px) {
  .only-tablet {
    display: block; } }

@media only screen and (min-width: 1024px) {
  .only-tablet {
    display: none; } }

.flex-grid-wine-iq-boxes {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap; }

@media only screen and (min-width: 672px) and (max-width: 1023px) {
  .flex-grid-wine-iq-boxes .odd-rectangle {
    -webkit-box-flex: 1;
        -ms-flex: 1 0 100%;
            flex: 1 0 100%;
    margin-bottom: 32px; } }

@media only screen and (max-width: 671px) {
  .odd-rectangle .content-block.rectangle .content-block__grid {
    display: block; }
  .odd-rectangle .content-block.rectangle .content-block__figure {
    margin-bottom: 12px; }
  .odd-rectangle .content-block.rectangle .content-block__title,
  .odd-rectangle .content-block.rectangle .content-block__subtitle {
    text-align: center; } }

@media only screen and (max-width: 767px) {
  .flex-grid-wine-iq-boxes .flex-grid__item {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    margin-bottom: 16px; } }

.dr-vinny-hero {
  width: 100%;
  -webkit-box-flex: 100%;
      -ms-flex: 100%;
          flex: 100%; }

.dr-vinny-hero img {
  width: 100%; }

.dr-vinny-hero .card__buffer {
  border: none !important; }

@media only screen and (min-width: 1024px) {
  .dr-vinny-hero {
    max-width: 900px;
    -webkit-box-flex: 3;
        -ms-flex: 3 1 0px;
            flex: 3 1 0; } }

@media only screen and (min-width: 672px) and (max-width: 1023px) {
  .dr-vinny-hero .card__title {
    font-size: 24px; }
  .dr-vinny-hero .card__subtitle {
    font-size: 16px; }
  .dr-vinny-hero .card__date {
    font-size: 13px; } }

@media only screen and (min-width: 1024px) {
  .dr-vinny-hero-list-header {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 300px;
            flex: 0 0 300px;
    min-width: 300px; } }

.desktop-only {
  display: none; }

@media only screen and (min-width: 1024px) {
  .desktop-only {
    display: block; } }

/* RESPONSIVE UTITLIES */
.hidden-mobile {
  display: none; }

@media only screen and (min-width: 767px) {
  .hidden-mobile {
    display: block; } }

.visible-mobile {
  display: block; }

@media only screen and (min-width: 767px) {
  .visible-mobile {
    display: none; } }

@media only screen and (min-width: 1024px) {
  .no-desktop {
    display: none; } }

@media only screen and (max-width: 1023px) {
  .for-the-trade-grid-2 .content-block.rectangle .content-block__grid {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-flow: row wrap;
            flex-flow: row wrap; }
  .for-the-trade-grid-2 .content-block__figure {
    margin-bottom: 16px !important; }
  .for-the-trade-grid-2 .content-block__figure img {
    width: 100%; }
  .for-the-trade-grid-2 .content-block.rectangle .content-block__grid-item--figure,
  .for-the-trade-grid-2 .content-block.rectangle .content-block__grid-item--body {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 100%;
            flex: 1 1 100%; } }

@media only screen and (max-width: 1023px) {
  .for-the-trade-grid-2 .content-block__title {
    font-size: 20px !important; } }

@media only screen and (max-width: 671px) {
  .for-the-trade-grid-2 > * {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 100%;
            flex: 1 1 100%;
    margin-bottom: 24px; }
  .for-the-trade-grid-2 .content-block__title {
    font-size: 18px !important; } }

.for-the-trade-grid-3 {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap; }

.for-the-trade-grid-3 > * {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 33.333%;
          flex: 1 1 33.333%;
  margin-bottom: 24px; }

@media only screen and (max-width: 1023px) {
  .for-the-trade-grid-3 {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-flow: row wrap;
            flex-flow: row wrap; }
  .for-the-trade-grid-3 > * {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 50%;
            flex: 1 1 50%;
    margin-bottom: 24px; } }

@media only screen and (max-width: 671px) {
  .for-the-trade-grid-3 > * {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 100%;
            flex: 1 1 100%;
    margin-bottom: 24px; } }

/* Island that has marign on tablet and desktop, but none on mobile */
@media only screen and (max-width: 671px) {
  .island--bleed {
    margin-bottom: 0 !important;
    /* padding-bottom: 0 !important; */ } }

/* Island that has no margin except for tablet and a border too. */
@media only screen and (min-width: 672px) and (max-width: 1023px) {
  .island--tablet-border {
    border-bottom: 1px solid #D8D8D8;
    margin-bottom: 32px; } }

@media only screen and (min-width: 672px) and (max-width: 1024px) {
  .hide-on-tablet {
    display: none; } }

@media only screen and (min-width: 672px) and (max-width: 1023px) {
  .island--not-tablet {
    margin-bottom: 0px; } }

@media only screen and (min-width: 1024px) {
  .island--wine-and-culture {
    margin-bottom: 10px; } }

/* No border on tablet or mobile */
@media only screen and (max-width: 1023px) {
  .island--no-border-on-tablet-mobile {
    border-bottom: none; } }

@media only screen and (min-width: 672px) and (max-width: 1023px) {
  .island--dr-vinny {
    margin-bottom: 0;
    padding-bottom: 0; }
  .island--dr-vinny--q-a {
    margin-bottom: 5px; } }

/* No Border on tablet */
@media only screen and (min-width: 672px) {
  .island--no-mobile-border {
    border-bottom: none; } }

@media only screen and (max-width: 671px) {
  .collecting-fix {
    margin-bottom: 16px; } }

@media only screen and (max-width: 671px) {
  .no-mobile-border-or-spacing {
    border-bottom: none !important;
    padding-bottom: 0; } }

@media only screen and (min-width: 672px) and (max-width: 1023px) {
  .island--tablet-border-again {
    border-bottom: 1px solid #D8D8D8; } }

@media only screen and (max-width: 671px) {
  .island-mobile-only {
    margin-bottom: 24px; } }

@media screen and (max-width: 671px) {
  .no-margin-mobile {
    margin-bottom: 0; } }

@media only screen and (min-width: 672px) and (max-width: 1023px) {
  .hide-just-on-tablet {
    display: none !important; } }

.visually-hidden {
  margin: -1px;
  padding: 0;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  position: absolute; }

@media screen and (max-width: 671px) {
  .tweak-rating-homepage .ratings-search {
    margin-bottom: 0; } }

@media screen and (max-width: 671px) {
  .temp-know-your-grapes .card__buffer {
    padding-bottom: 16px;
    border-bottom: 1px solid #ccc; }
  .temp-know-your-grapes .card.cell .card__title {
    margin-bottom: 0 !important; } }

/* Site Header */
.site-header {
  padding-top: 3.2rem;
  padding-bottom: 2.4rem;
  position: fixed;
  width: 100%;
  z-index: 9997; }
  @media only screen and (min-width: 767px) {
    .site-header {
      position: relative;
      width: 100%;
      z-index: inherit; } }

.site-header__layout {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 90%;
  max-width: 1300px;
  margin: 0 auto;
  padding: 0; }

.site-header__hamburger,
.site-header__logo,
.site-header__controls {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1; }

.site-header__hamburger a,
.site-header__controls a {
  display: inline-block; }

.menu-icon__link svg {
  width: 25px;
  height: 23px; }
  @media only screen and (min-width: 767px) {
    .menu-icon__link svg {
      width: 32px;
      height: 22px; } }

/* ensuring that the targets of JS event listeners are the <a> parent */
.menu-icon__link svg,
.search-icon__link svg {
  pointer-events: none; }

.site-header__logo {
  max-width: 18rem; }

@media only screen and (min-width: 767px) {
  .site-header__logo {
    max-width: 259px; } }

.site-header__controls {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row nowrap;
          flex-flow: row nowrap;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }

.site-header__controls a:not(:last-child) {
  margin-right: 3.2rem; }

.site-header__controls .button,
.site-header__controls .dropdown-container {
  display: none; }

@media only screen and (min-width: 780px) {
  .site-header__controls .button {
    display: inline-block;
    font-size: 1.3rem;
    padding: .72em 1em;
    color: #161616; }
  .site-header__controls .dropdown-container {
    display: inline-block; } }

/* @import "site-user-dropdown"; */
.site-navigation {
  display: none; }
  @media only screen and (min-width: 767px) {
    .site-navigation {
      display: block;
      padding-bottom: 2.4rem;
      text-align: center; } }
  .site-navigation ul {
    list-style: none;
    margin: 0;
    padding: 0; }
    .site-navigation ul li {
      display: inline-block;
      margin: 0 16px; }
  .site-navigation a {
    color: #fff;
    font-size: 1.4rem;
    font-weight: 600;
    text-transform: uppercase;
    text-decoration: none;
    -webkit-font-smoothing: antialiased;
    font-smoothing: antialiased; }

/* @import "site-hamburger-menu"; */
.header-search {
  background-color: rgba(0, 0, 0, 0.5);
  opacity: 0;
  position: absolute;
  -webkit-transition: opacity 0.24s ease-in;
  transition: opacity 0.24s ease-in;
  margin: 0;
  z-index: 9999;
  height: 0;
  width: 0;
  top: 105px;
  left: 0;
  right: 0;
  bottom: 0; }
  @media only screen and (min-width: 767px) {
    .header-search {
      top: 0; } }

.header-search.open {
  opacity: 1;
  width: 100vw;
  height: 100%; }

.header-search__container {
  -webkit-transform: translateY(-90rem);
          transform: translateY(-90rem);
  background-color: #fff;
  padding: 1em 1.5em;
  margin: 0;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row nowrap;
          flex-flow: row nowrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start; }

@media only screen and (min-width: 767px) {
  .header-search__container {
    padding: 2em 4em; } }

.header-search.open > .header-search__container {
  -webkit-transform: translateY(0);
          transform: translateY(0); }

.header-search__form {
  width: 85%;
  margin: 0; }

@media only screen and (min-width: 767px) {
  .header-search__form {
    width: 64%; } }

.header-search__form-group {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row nowrap;
          flex-flow: row nowrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%; }

.header-search__form-group input[type="search"] {
  margin: 0 1.6rem 0 0;
  padding: 0.6em 0;
  width: calc(100% - 60px);
  height: 4rem;
  font-family: "Open Sans", sans-serif;
  font-size: 1.6rem;
  color: #262626;
  border-bottom: 2px solid #ccc;
  border-top: none;
  border-left: none;
  border-right: none;
  background-image: none;
  background-repeat: no-repeat;
  background-position: 0 8px; }

@media only screen and (min-width: 767px) {
  .header-search__form-group input[type="search"] {
    width: calc(100% - 70px);
    padding-left: 2em;
    background-image: url("https://s3.amazonaws.com/assets.mshanken.com/sys/wsbolt/images/svg/search-icon2.svg"); } }

.header-search__form-group button[type="submit"] {
  background-color: #8D0004;
  color: white;
  height: 4rem;
  border: 1px solid #8D0004;
  border-radius: 2px;
  width: 60px;
  padding: 0;
  margin: 0;
  cursor: pointer; }

@media only screen and (min-width: 767px) {
  .header-search__form-group button[type="submit"] {
    border-radius: 8px;
    width: 70px; } }

.header-search__close {
  display: none; }

@media only screen and (min-width: 767px) {
  .header-search__close {
    display: inline-block;
    position: absolute;
    top: 2rem;
    right: 7rem; } }

.header-search__close-link {
  display: inline-block; }

/* ensuring that the target of JS event listener is the <a> parent */
.header-search__close-link svg {
  pointer-events: none; }

/* @import "site-walkthru-modal"; */
/* ======== SITE-SEARCH FOR SEARCH-SOLR-RESULTS.TWIG TEMPLATE ======== */
.site-search__form {
  margin: 0 0 2.4rem;
  padding: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-flow: column nowrap;
          flex-flow: column nowrap;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start; }
  .site-search__form .site-search__form-controls {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
    margin: 0 0 2.2rem;
    width: 100%; }
    @media only screen and (min-width: 767px) {
      .site-search__form .site-search__form-controls {
        margin-bottom: 4.7rem; } }
  .site-search__form .site-search__wine-ratings {
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3; }
    @media only screen and (min-width: 767px) {
      .site-search__form .site-search__wine-ratings {
        -webkit-box-ordinal-group: 3;
            -ms-flex-order: 2;
                order: 2; } }
  .site-search__form .site-search__info {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
    margin: 0 0 2.4rem;
    width: 100%; }
    @media only screen and (min-width: 767px) {
      .site-search__form .site-search__info {
        -webkit-box-ordinal-group: 4;
            -ms-flex-order: 3;
                order: 3;
        margin-bottom: 0; } }

.site-search__form-group {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row nowrap;
          flex-flow: row nowrap; }

.site-search__form-group input[type="search"] {
  margin: 0;
  padding: 1.6rem 2.4rem;
  width: 84%;
  height: 4.8rem;
  font-family: "Open Sans", sans-serif;
  font-size: 1.6rem;
  color: #262626;
  -webkit-appearance: none;
  /* resetting for proper rendering on mobile */
  border: 1px solid #8D0004;
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
  border-top-left-radius: 8px;
  border-bottom-left-radius: 8px; }
  @media only screen and (min-width: 767px) {
    .site-search__form-group input[type="search"] {
      height: 5.4rem;
      width: 93%; } }

.site-search__form-group button[type="submit"] {
  background-color: #8D0004;
  color: white;
  height: 4.8rem;
  border: 1px solid #8D0004;
  border-top-right-radius: 8px;
  border-bottom-right-radius: 8px;
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
  width: 16%;
  padding: 0;
  margin: 0;
  cursor: pointer; }
  @media only screen and (min-width: 767px) {
    .site-search__form-group button[type="submit"] {
      height: 5.4rem;
      width: 7%; } }

.site-search__filters {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 0;
  padding: 1.5rem 0 0; }

.filter-heading {
  display: none; }
  @media only screen and (min-width: 767px) {
    .filter-heading {
      display: inline-block;
      margin-right: 1.2rem;
      font-family: "Open Sans", sans-serif;
      font-size: 1.6rem;
      font-weight: 700;
      line-height: 2.4rem;
      color: #262626; } }

.filter-checkbox {
  margin: 0 1.6rem 1.6rem 0;
  padding: 0; }
  @media only screen and (min-width: 767px) {
    .filter-checkbox {
      margin-bottom: 0; } }

.filter-checkbox:last-of-type {
  margin-right: 0; }

/* ======== CUSTOM CHECKBOXES ======== */
.filter-checkbox input[type="checkbox"]:not(:checked),
.filter-checkbox input[type="checkbox"]:checked {
  position: absolute;
  left: -9999px; }

.filter-checkbox input[type="checkbox"]:not(:checked) + label,
.filter-checkbox input[type="checkbox"]:checked + label {
  position: relative;
  padding-left: 1.95em;
  font-size: 1.675rem;
  cursor: pointer; }

.filter-checkbox input[type="checkbox"]:not(:checked) + label:before,
.filter-checkbox input[type="checkbox"]:checked + label:before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 16px;
  height: 16px;
  border: 2px solid #262626;
  background-color: #fff;
  border-radius: 3px; }

.filter-checkbox input[type="checkbox"]:not(:checked) + label:after,
.filter-checkbox input[type="checkbox"]:checked + label:after {
  content: '\2713';
  font-size: 1.85rem;
  position: absolute;
  top: -3px;
  left: 2px;
  width: 16px;
  height: 16px;
  color: #fff;
  -webkit-transition: all .2s;
  transition: all .2s; }

.filter-checkbox input[type="checkbox"]:not(:checked) + label:after {
  opacity: 0;
  -webkit-transform: scale(0);
          transform: scale(0); }

.filter-checkbox input[type="checkbox"]:checked + label:after {
  opacity: 1;
  -webkit-transform: scale(1);
          transform: scale(1); }

.filter-checkbox input[type="checkbox"]:checked + label:before {
  top: 0;
  left: 0;
  background-color: #404040;
  width: 16px;
  height: 16px; }

.filter-checkbox input[type="checkbox"]:checked:focus + label:before,
.filter-checkbox input[type="checkbox"]:not(:checked):focus + label:before {
  outline: rgba(0, 103, 244, 0.247) auto 5px; }

.site-search__message {
  font-family: "Lora", serif;
  font-size: 2.4rem;
  line-height: 2.7rem;
  font-weight: 700;
  color: #262626;
  margin: 0 0 0.4rem;
  padding: 0; }
  @media only screen and (min-width: 767px) {
    .site-search__message {
      margin-top: 2.4rem;
      font-size: 3.6rem;
      line-height: 5.3rem; } }

.site-search__results-info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-flow: column nowrap;
          flex-flow: column nowrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  color: #262626;
  font-weight: 700;
  padding: 0 0 0.6rem;
  border-bottom: 1px solid transparent; }
  @media only screen and (min-width: 767px) {
    .site-search__results-info {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-flow: row nowrap;
              flex-flow: row nowrap;
      border-color: #c4c4c4; } }

.site-search__results-totals {
  font-family: "Lora", serif;
  font-size: 1.6rem;
  line-height: 2.3rem;
  border-bottom: 1px solid #c4c4c4;
  padding-bottom: 9.5px;
  margin-bottom: 9.5px; }
  @media only screen and (min-width: 767px) {
    .site-search__results-totals {
      border-color: transparent;
      padding-bottom: 0;
      margin-bottom: 0;
      font-size: 2rem;
      line-height: 2.8rem; } }

.site-search__results-sort {
  font-family: "Open Sans", sans-serif;
  font-size: 1.4rem;
  line-height: 2.4rem; }
  @media only screen and (min-width: 767px) {
    .site-search__results-sort {
      font-size: 1.6rem; } }

.site-search__results-sort select {
  font-weight: bold;
  border-color: transparent;
  background-color: white; }

/* ======== RESULTS ======== */
.site-search__result {
  margin: 0 0 1.65rem;
  padding: 0 0 1.7rem;
  border-bottom: 1px solid #979797; }

.site-search__result:last-of-type {
  border-bottom: none;
  margin-bottom: 0; }

.site-search__result-type {
  font-family: "Open Sans", sans-serif;
  text-transform: uppercase;
  font-size: 1.3rem;
  font-weight: 700;
  line-height: 1.8rem;
  color: #8D0004;
  margin: 0;
  padding: 0; }

.site-search__result-title {
  margin: 0.8rem 0 0;
  padding: 0;
  font-family: "Lora", serif;
  font-size: 1.6rem;
  line-height: 2.3rem; }
  @media only screen and (min-width: 767px) {
    .site-search__result-title {
      font-size: 2.4rem;
      line-height: 3.5rem; } }
  .site-search__result-title a {
    text-decoration: none;
    color: #262626; }

.site-search__result-blurb {
  font-family: "Open Sans", sans-serif;
  font-size: 1.4rem;
  line-height: 2.1rem;
  color: #404040;
  margin: 0.4rem 0 0;
  padding: 0; }
  @media only screen and (min-width: 767px) {
    .site-search__result-blurb {
      font-size: 1.6rem;
      line-height: 2.5rem; } }

.site-search__result-date {
  font-family: "Open Sans", sans-serif;
  font-size: 1.3rem;
  font-weight: normal;
  line-height: 1.8rem;
  color: #666666;
  margin: 1.2rem 0 0;
  padding: 0; }

.site-search__wine-ratings {
  padding: 20px;
  margin: 0;
  width: calc(100% - 40px);
  background-color: #F3F3F3; }
  @media only screen and (min-width: 767px) {
    .site-search__wine-ratings {
      padding: 32px;
      width: calc(100% - 64px); } }
  .site-search__wine-ratings-header {
    margin: 0 0 1.6rem;
    text-transform: capitalize;
    font-family: "Lora", serif;
    font-size: 1.4rem;
    line-height: 2rem;
    font-weight: 700;
    text-decoration: underline; }
    @media only screen and (min-width: 767px) {
      .site-search__wine-ratings-header {
        font-size: 2rem;
        line-height: 2.8rem; } }
  .site-search__wine-ratings .site-search__result {
    padding-bottom: 16.5px;
    margin-bottom: 16.5px; }
  .site-search__wine-ratings .site-search__result:last-of-type {
    border-bottom: 1px solid #979797;
    margin-bottom: 18.5px; }
  .site-search__wine-ratings .site-search__result-title {
    margin-top: 0; }
  .site-search__wine-ratings .site-search__result-blurb a {
    color: #404040;
    text-decoration: none; }
  .site-search__wine-ratings .site-search__wine-ratings-see-all {
    font-weight: 600;
    text-decoration: none;
    line-height: 2.8rem; }

.site-footer {
  padding-top: 4.8rem;
  padding-bottom: 4.4rem; }

.site-footer__layout {
  max-width: 1155px;
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding: 20px; }

.site-footer h3 {
  margin: 0 0 1.6rem;
  font-size: 2rem; }

.site-footer ul {
  list-style: none;
  margin: 0;
  padding: 0;
  margin-bottom: 4.8rem; }

.site-footer li {
  margin-bottom: 0.8rem; }

.site-footer li:last-of-type {
  margin-bottom: 0; }

.site-footer a {
  color: rgba(255, 255, 255, 0.85);
  text-decoration: none; }

.site-footer__copyright {
  text-align: center; }

.site-footer .social-links li {
  display: inline-block; }

.site-footer .social-links li + li {
  margin-left: 6px; }

.site-footer .sister-publications img {
  max-width: 200px;
  margin-bottom: 24px; }

/* @import "classic-dot-winespectator";

@import "listing";
@import "headlines";
@import "article";
@import "authors-default";
@import "popular-posts";
@import "layout";
@import "block";
@import "content-picker";
@import "card";
@import "homepage";
@import "video-homepage";
@import "page-default";
@import "issues";
@import "pagination";
@import "section-front";
@import "hero-leauge";
@import "side-stack";
@import "spread";
@import "action-strip";
@import "content-block";
@import "events"; */
@media print {
  html,
  body {
    font-family: Georgia, serif;
    font-size: 11.75pt;
    line-height: 1.35;
    background: none;
    color: black; }
  .site-header,
  .site-navigation,
  .header-search,
  .ad-strip,
  .article__body-tags,
  .article__sidebar,
  .article__related,
  .article__most-popular,
  .footer-newsletter,
  .applications,
  .applications__item,
  .site-footer,
  .walkthru,
  .sf-toolbarreset {
    display: none !important; }
  .main-layout {
    padding: 1em 0;
    margin: 0;
    display: block; }
  .article__body {
    width: 90%;
    margin: 0 auto;
    display: block; }
  .article__body-content {
    overflow: visible !important;
    display: block; }
  .article__body-content a:after,
  .article__body-package a:after {
    content: " [" attr(href) "] "; } }


/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vX25vcm1hbGl6ZS5zY3NzIiwid2VicGFjazovLy93c28tZm9ydW1zLnNjc3MiLCJ3ZWJwYWNrOi8vL19zdHlsZS5zY3NzIiwid2VicGFjazovLy9fc2l0ZS1oZWFkZXIuc2NzcyIsIndlYnBhY2s6Ly8vX3NpdGUtbmF2aWdhdGlvbi5zY3NzIiwid2VicGFjazovLy9fc2l0ZS1oZWFkZXItc2VhcmNoLnNjc3MiLCJ3ZWJwYWNrOi8vL19zaXRlLXNlYXJjaC5zY3NzIiwid2VicGFjazovLy9fc2l0ZS1mb290ZXIuc2NzcyIsIndlYnBhY2s6Ly8vX3ByaW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTsrRUNDK0U7QURFL0U7OztFQ0VFO0FER0Q7RUFDQyxpQkFBaUI7RUFBRTtFQUNuQiw4QkFBOEI7RUFBRSxRQUFPOztBQUd6QzsrRUNBK0U7QURHL0U7O0VDQUU7QURJRjtFQUNFLFNBQVM7O0FBR1g7OztFQ0RFO0FETUY7RUFDRSxjQUFjO0VBQ2QsZ0JBQWdCOztBQUdsQjsrRUNMK0U7QURRL0U7OztFQ0pFO0FEU0Y7RUFDRSwrQkFBdUI7VUFBdkIsdUJBQXVCO0VBQUU7RUFDekIsU0FBUztFQUFFO0VBQ1gsaUJBQWlCO0VBQUUsUUFBTzs7QUFHNUI7OztFQ0hFO0FEUUY7RUFDRSxpQ0FBaUM7RUFBRTtFQUNuQyxjQUFjO0VBQUUsUUFBTzs7QUFHekI7K0VDTCtFO0FEUS9FOztFQ0xFO0FEU0Y7RUFDRSw2QkFBNkI7O0FBRy9COzs7RUNORTtBRFdGO0VBQ0UsbUJBQW1CO0VBQUU7RUFDckIsMEJBQTBCO0VBQUU7RUFDNUIseUNBQWlDO1VBQWpDLGlDQUFpQztFQUFFLFFBQU87O0FBRzVDOztFQ05FO0FEVUY7O0VBRUUsbUJBQW1COztBQUdyQjs7O0VDUEU7QURZRjs7O0VBR0UsaUNBQWlDO0VBQUU7RUFDbkMsY0FBYztFQUFFLFFBQU87O0FBR3pCOztFQ1JFO0FEWUY7RUFDRSxjQUFjOztBQUdoQjs7O0VDVEU7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R2Y7RUFDRSxrQkFBa0I7RUFDbEIsZUFBZTs7QUFHakI7RUFDRSxnQkFBZ0I7RUFDaEIsU0FBUztFQUNULFVBQVU7RUFDVixxQkFBcUI7O0FBR3ZCO0VBQ0UscUJBQXFCOztBQUd2QjtFQUNFLGdCQUFnQjs7QUFHbEI7RUFDRSxnQ0FBK0I7RUFDL0IscUJBQXFCOztBQUd2QjtFQUNFLGtCQUFrQjs7QUFHcEI7RUFDRSxxQkFBcUI7O0FBSXZCO0VBQ0UsZ0JBQWdCOztBQUdsQjtFQUNFLGdCQUFnQjtFQUNoQixtQkFBbUI7O0FOL0JyQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzttQkE0N0NtQjtBT245Q25CO0VBRUk7O0lBRUksMkJBQTJCO0lBQzNCLGtCQUFrQjtJQUNsQixpQkFBaUI7SUFDakIsZ0JBQWdCO0lBQ2hCLFlBQVk7RUFHaEI7Ozs7Ozs7Ozs7Ozs7O0lBY0ksd0JBQXdCO0VBRzVCO0lBQ0ksY0FBYztJQUNkLFNBQVM7SUFDVCxjQUFjO0VBR2xCO0lBQ0ksVUFBVTtJQUNWLGNBQWM7SUFDZCxjQUFjO0VBR2xCO0lBQ0ksNEJBQTRCO0lBQzVCLGNBQWM7RUFHbEI7O0lBRUksNkJBQTZCLElBQ2hDIiwiZmlsZSI6ImNzcy93c28tZm9ydW1zLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qISBub3JtYWxpemUuY3NzIHY4LjAuMCB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MgKi9cbi8qIERvY3VtZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cbiAqIDIuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW4gaU9TLlxuICovXG5cbiBodG1sIHtcbiAgbGluZS1oZWlnaHQ6IDEuMTU7IC8qIDEgKi9cbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAyICovXG59XG5cbi8qIFNlY3Rpb25zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5ib2R5IHtcbiAgbWFyZ2luOiAwO1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGZvbnQgc2l6ZSBhbmQgbWFyZ2luIG9uIGBoMWAgZWxlbWVudHMgd2l0aGluIGBzZWN0aW9uYCBhbmRcbiAqIGBhcnRpY2xlYCBjb250ZXh0cyBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBTYWZhcmkuXG4gKi9cblxuaDEge1xuICBmb250LXNpemU6IDJlbTtcbiAgbWFyZ2luOiAwLjY3ZW0gMDtcbn1cblxuLyogR3JvdXBpbmcgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBGaXJlZm94LlxuICogMi4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUuXG4gKi9cblxuaHIge1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLyogMSAqL1xuICBoZWlnaHQ6IDA7IC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnByZSB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xufVxuXG4vKiBUZXh0LWxldmVsIHNlbWFudGljc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBvbiBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4gKi9cblxuYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4vKipcbiAqIDEuIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBDaHJvbWUgNTctXG4gKiAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLlxuICovXG5cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTsgLyogMSAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgLyogMiAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxuICovXG5cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZGVyO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuY29kZSxcbmtiZCxcbnNhbXAge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8qIDEgKi9cbiAgZm9udC1zaXplOiAxZW07IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlO1xufVxuXG4vKipcbiAqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGVsZW1lbnRzIGZyb20gYWZmZWN0aW5nIHRoZSBsaW5lIGhlaWdodCBpblxuICogYWxsIGJyb3dzZXJzLlxuICovXG5cbnN1YixcbnN1cCB7XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTtcbn1cblxuc3VwIHtcbiAgdG9wOiAtMC41ZW07XG59XG5cbi8qIEVtYmVkZGVkIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUmVtb3ZlIHRoZSBib3JkZXIgb24gaW1hZ2VzIGluc2lkZSBsaW5rcyBpbiBJRSAxMC5cbiAqL1xuXG5pbWcge1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG59XG5cbi8qIEZvcm1zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIDEuIENoYW5nZSB0aGUgZm9udCBzdHlsZXMgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gRmlyZWZveCBhbmQgU2FmYXJpLlxuICovXG5cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0OyAvKiAxICovXG4gIGZvbnQtc2l6ZTogMTAwJTsgLyogMSAqL1xuICBsaW5lLWhlaWdodDogMS4xNTsgLyogMSAqL1xuICBtYXJnaW46IDA7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBTaG93IHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAqIDEuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UuXG4gKi9cblxuYnV0dG9uLFxuaW5wdXQgeyAvKiAxICovXG4gIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxuICogMS4gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94LlxuICovXG5cbmJ1dHRvbixcbnNlbGVjdCB7IC8qIDEgKi9cbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAqL1xuXG5idXR0b24sXG5bdHlwZT1cImJ1dHRvblwiXSxcblt0eXBlPVwicmVzZXRcIl0sXG5bdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGluIEZpcmVmb3guXG4gKi9cblxuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJidXR0b25cIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInJlc2V0XCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJzdWJtaXRcIl06Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi8qKlxuICogUmVzdG9yZSB0aGUgZm9jdXMgc3R5bGVzIHVuc2V0IGJ5IHRoZSBwcmV2aW91cyBydWxlLlxuICovXG5cbmJ1dHRvbjotbW96LWZvY3VzcmluZyxcblt0eXBlPVwiYnV0dG9uXCJdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJyZXNldFwiXTotbW96LWZvY3VzcmluZyxcblt0eXBlPVwic3VibWl0XCJdOi1tb3otZm9jdXNyaW5nIHtcbiAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0O1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAqL1xuXG5maWVsZHNldCB7XG4gIHBhZGRpbmc6IDAuMzVlbSAwLjc1ZW0gMC42MjVlbTtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxuICogMi4gQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFLlxuICogMy4gUmVtb3ZlIHRoZSBwYWRkaW5nIHNvIGRldmVsb3BlcnMgYXJlIG5vdCBjYXVnaHQgb3V0IHdoZW4gdGhleSB6ZXJvIG91dFxuICogICAgYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxubGVnZW5kIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICBjb2xvcjogaW5oZXJpdDsgLyogMiAqL1xuICBkaXNwbGF5OiB0YWJsZTsgLyogMSAqL1xuICBtYXgtd2lkdGg6IDEwMCU7IC8qIDEgKi9cbiAgcGFkZGluZzogMDsgLyogMyAqL1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsOyAvKiAxICovXG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAqL1xuXG5wcm9ncmVzcyB7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFIDEwKy5cbiAqL1xuXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvO1xufVxuXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIElFIDEwLlxuICogMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLlxuICovXG5cblt0eXBlPVwiY2hlY2tib3hcIl0sXG5bdHlwZT1cInJhZGlvXCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICBwYWRkaW5nOiAwOyAvKiAyICovXG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lLlxuICovXG5cblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgb2RkIGFwcGVhcmFuY2UgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXG4gKiAyLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cbiAqL1xuXG5bdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvKiAxICovXG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4OyAvKiAyICovXG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIG1hY09TLlxuICovXG5cblt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gKiAyLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXG4gKi9cblxuOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAxICovXG4gIGZvbnQ6IGluaGVyaXQ7IC8qIDIgKi9cbn1cblxuLyogSW50ZXJhY3RpdmVcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBFZGdlLCBJRSAxMCssIGFuZCBGaXJlZm94LlxuICovXG5cbmRldGFpbHMge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLypcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogbGlzdC1pdGVtO1xufVxuXG4vKiBNaXNjXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwKy5cbiAqL1xuXG50ZW1wbGF0ZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTAuXG4gKi9cblxuW2hpZGRlbl0ge1xuICBkaXNwbGF5OiBub25lO1xufVxuIiwiLy8gUkVTRVRcbkBpbXBvcnQgXCJub3JtYWxpemVcIjtcblxuLy8gUExVR0lOU1xuLyogQGltcG9ydCBcInBsdWdpbnMvbWFnbmlmaWMtcG9wdXBcIjtcbkBpbXBvcnQgXCJwbHVnaW5zL3NsaWNrXCI7XG5AaW1wb3J0IFwicGx1Z2lucy9zbGljay10aGVtZVwiOyAqL1xuXG4vKiBAaW1wb3J0IFwidWktY29sbGFwc2VcIjtcbkBpbXBvcnQgXCJ1aS1tb2RhbFwiOyAqL1xuXG4vLyBFVkVSWVRISU5HIEVMU0VcbkBpbXBvcnQgXCJzdHlsZVwiO1xuXG5AaW1wb3J0IFwic2l0ZS1oZWFkZXJcIjtcbi8qIEBpbXBvcnQgXCJzaXRlLXVzZXItZHJvcGRvd25cIjsgKi9cbkBpbXBvcnQgXCJzaXRlLW5hdmlnYXRpb25cIjtcbi8qIEBpbXBvcnQgXCJzaXRlLWhhbWJ1cmdlci1tZW51XCI7ICovXG5AaW1wb3J0IFwic2l0ZS1oZWFkZXItc2VhcmNoXCI7XG4vKiBAaW1wb3J0IFwic2l0ZS13YWxrdGhydS1tb2RhbFwiOyAqL1xuQGltcG9ydCBcInNpdGUtc2VhcmNoXCI7XG5AaW1wb3J0IFwic2l0ZS1mb290ZXJcIjtcblxuLyogQGltcG9ydCBcImNsYXNzaWMtZG90LXdpbmVzcGVjdGF0b3JcIjtcblxuQGltcG9ydCBcImxpc3RpbmdcIjtcbkBpbXBvcnQgXCJoZWFkbGluZXNcIjtcbkBpbXBvcnQgXCJhcnRpY2xlXCI7XG5AaW1wb3J0IFwiYXV0aG9ycy1kZWZhdWx0XCI7XG5AaW1wb3J0IFwicG9wdWxhci1wb3N0c1wiO1xuQGltcG9ydCBcImxheW91dFwiO1xuQGltcG9ydCBcImJsb2NrXCI7XG5AaW1wb3J0IFwiY29udGVudC1waWNrZXJcIjtcbkBpbXBvcnQgXCJjYXJkXCI7XG5AaW1wb3J0IFwiaG9tZXBhZ2VcIjtcbkBpbXBvcnQgXCJ2aWRlby1ob21lcGFnZVwiO1xuQGltcG9ydCBcInBhZ2UtZGVmYXVsdFwiO1xuQGltcG9ydCBcImlzc3Vlc1wiO1xuQGltcG9ydCBcInBhZ2luYXRpb25cIjtcbkBpbXBvcnQgXCJzZWN0aW9uLWZyb250XCI7XG5AaW1wb3J0IFwiaGVyby1sZWF1Z2VcIjtcbkBpbXBvcnQgXCJzaWRlLXN0YWNrXCI7XG5AaW1wb3J0IFwic3ByZWFkXCI7XG5AaW1wb3J0IFwiYWN0aW9uLXN0cmlwXCI7XG5AaW1wb3J0IFwiY29udGVudC1ibG9ja1wiO1xuQGltcG9ydCBcImV2ZW50c1wiOyAqL1xuXG5AaW1wb3J0IFwicHJpbnRcIjsiLCIvKiBHbG9iYWwgKi9cblxuaHRtbCB7XG4gICAgZm9udC1zaXplOiA2Mi41JTsgLyogc2V0IGJhc2UgZm9udC1zaXplIHRvIDEwICgxNiAqIC42MjUpIHRvIG1ha2UgcmVtcyBlYXNpZXIgdG8gY2FsY3VsYXRlICovXG59XG5cbmJvZHkge1xuICAgIGZvbnQtZmFtaWx5OiBcIm9wZW4gc2Fuc1wiLCAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFwiU2Vnb2UgVUlcIiwgUm9ib3RvLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmLCBcIkFwcGxlIENvbG9yIEVtb2ppXCIsIFwiU2Vnb2UgVUkgRW1vamlcIiwgXCJTZWdvZSBVSSBTeW1ib2xcIjtcbiAgICBsaW5lLWhlaWdodDogMS4zNTtcbiAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgICBvdmVyZmxvdy14OiBoaWRkZW47XG59XG5cbmltZyB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuXG5cbi5hZC1zdHJpcCB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGltZyB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cbn1cblxuLyogVGhpcyBwcm9hYmx5IGRvZW5zJ3QgbmVlZCB0byBiZSBhZGRlZCB0byB0aGUgdmVydGljYWwgYWRzIGFuZCBqdXN0IHRvIHRoZSBoZWFkZXIgYWRzICovXG4uYWQtc3RyaXAge1xuICAgIHBhZGRpbmc6IDE2cHggMDtcbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgLmFkLXN0cmlwIHtcbiAgICAgICAgcGFkZGluZzogMzJweCAwO1xuICAgIH1cbn1cblxuLmFkLXN0cmlwLnZlcnRpY2FsIHtcbiAgICBwYWRkaW5nOiAwO1xufVxuXG5hIHtcbiAgICBjb2xvcjogIzhEMDAwNDtcbn1cblxuZmlndXJlIHtcbiAgICBtYXJnaW46IDA7XG59XG5cbi8qIEJhY2tncm91bmQgICovXG5cbi5iYWNrZ3JvdW5kLWFscGhhIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjOEQwMDA0O1xuICAgIGNvbG9yOiB3aGl0ZTtcbn1cblxuXG4vKiBCdXR0b25zICovXG5cbi5idXR0b24ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICBmb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIHBhZGRpbmc6IC45ZW0gMS4yNWVtOyAvKiBFTSdzIHNvIHBhZGRpbmcgaXMgcmVsYXRpdmUgdG8gZm9udC1zaXplICovXG4gICAgYm9yZGVyLXJhZGl1czogLjI1ZW07XG4gICAgY29sb3I6ICM4QjA3MjQ7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4uYnV0dG9uLS1pbnZlcnNlIHtcbiAgICBiYWNrZ3JvdW5kOiAjOEQwMDA0O1xuICAgIGNvbG9yOiB3aGl0ZTtcbn1cblxuLyogVXRpbGl0eSBDbGFzc2VzICovXG5cbi51LWRpc3BsYXktYmxvY2sge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4udW5kZXJsaW5lIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuXG5cbi8qIGV0aG9yIC0gU3RhcnQgcmVmaW5lZCBjbGFzc2VzICovXG5cbi8qIExheW91dCAqL1xuXG4uY29udGFpbmVyIHtcbiAgICBtYXgtd2lkdGg6IDEzMDBweDtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG5cbi5jb250YWluZXItLXNpZGUtcGFkZGluZyB7XG4gICAgd2lkdGg6IDkzLjc1JTtcbn1cblxuLyogVE9ETyBOZWVkIHRvIHJlZmFjdG9yIGEgYml0LiAqL1xuLmZsZXgtZ3JpZCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xufVxuXG4uZmxleC1ncmlkLS1ndXR0ZXIge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgbWFyZ2luLWxlZnQ6IC0zMnB4O1xufVxuXG4uZmxleC1ncmlkLS1ndXR0ZXIgLmZsZXgtZ3JpZF9faXRlbSB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBwYWRkaW5nLWxlZnQ6IDMycHg7XG5cbn1cblxuLmZsZXgtZ3JpZF9faXRlbS0tZmxleC1ub25lIHtcbiAgICBmbGV4OiBub25lO1xufVxuXG4uZmxleC1ncmlkX19pdGVtLS1mbGV4LTEge1xuICAgIGZsZXg6IDEgMSAwO1xufVxuXG4uZmxleC1ncmlkX19pdGVtLS1mbGV4LTMge1xuICAgIGZsZXg6IDMgMSAwO1xufVxuXG4uZmxleC1ncmlkX19pdGVtLS1mbGV4LTIge1xuICAgIGZsZXg6IDIgMSAwO1xufVxuXG4vKiBHb2luZyB0byBhZGQgc3VwZXIgc3BlY2lmaWMgY2xhc3MgbmFtZXMgd2Ugd2lsbCByZWZhY3RvciB0aGVtIGxhdGVyICAqL1xuXG4vKiBPbiBTZWN0aW9uIEZyb250IFBhZ2VzIHdpdGggSW5kZXggY29udGVudCAgKi9cbi5mbGV4LWdyaWRfX2l0ZW0tLWluZGV4LWNvbnRlbnQge1xuICAgIGZsZXg6IDEgMCAxMDAlO1xufVxuXG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSB7XG5cbiAgICAuZmxleC1ncmlkX19pdGVtLS1pbmRleC1jb250ZW50IHtcbiAgICAgICAgZmxleDogMTtcbiAgICB9XG59XG5cblxuXG4vLyBBZGp1c3RpbmcgbWFpbi1sYXlvdXQgZm9yIGZpeGVkIHNpdGUtaGVhZGVyIG9uIG1vYmlsZS4uLlxuLm1haW4tbGF5b3V0IHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRwYWRkaW5nLXRvcDogMTA1cHg7XG5cdEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY3cHgpIHtcblx0XHRwYWRkaW5nLXRvcDogMDtcblx0fVxufVxuXG5cbi8qIFRoYXQgdHJpcHBsZSB0aGluZyByaWdodCBhZnRlciB0aGUgZmVhdHVyZWQgcG9zdHMgb24gbW9zdCBzZWN0aW9uIGZyb250cyAqL1xuXG4uZmxleC1ncmlkLnZhcnktcm93IHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlclxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjRweCkge1xuXG4gICAgLmZsZXgtZ3JpZF9faXRlbS0tc2lkZS1zdGFjayB7XG4gICAgICAgIGZsZXg6IDE7XG4gICAgfVxuXG4gICAgLmZsZXgtZ3JpZF9faXRlbS0tc2lkZS1zdGFjay1sYXJnZSB7XG4gICAgICAgIGZsZXg6IDI7XG4gICAgfVxuXG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgLmZsZXgtZ3JpZF9faXRlbS0taG9tZXBhZ2UtaGVybyB7XG4gICAgICAgIGZsZXg6IDE7XG4gICAgfVxuXG4gICAgLmZsZXgtZ3JpZF9faXRlbS0taG9tZXBhZ2UtZmVhdHVyZWQtc2lkZS1zdGFjayB7XG4gICAgICAgIGZsZXg6IDE7XG4gICAgfVxuXG59XG5cbi8qIFRob3NlIHRocmVlIHJvd3Mgb2Ygc2lkZXN0YWNrcyBvbiB3aW5lLWFuZC1jdWx0dXJlIGFuZCBmb29kICBkciB2aW5ueSAqL1xuXG4uZmxleC1ncmlkLnRyaXBwbGUtc3RhY2sge1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtZXZlbmx5O1xuICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG59XG5cbi5mbGV4LWdyaWQudHJpcHBsZS1zdGFjayAuZmxleC1ncmlkX19pdGVtIHtcbiAgICBmbGV4OiAxIDAgMTAwJTtcbiAgICBtaW4td2lkdGg6IDMwMHB4O1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY3MnB4KSB7XG4gICAgLmZsZXgtZ3JpZC50cmlwcGxlLXN0YWNrIC5mbGV4LWdyaWRfX2l0ZW0ge1xuICAgICAgICBmbGV4OiAxIDAgNTAlO1xuICAgIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAuZmxleC1ncmlkLnRyaXBwbGUtc3RhY2sgLmZsZXgtZ3JpZF9faXRlbSB7XG4gICAgICAgIGZsZXg6IDEgMCAzMy4zMyU7XG4gICAgfVxufVxuXG5cbi8qIFRhYmxldCAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NzJweCkgYW5kIChtYXgtd2lkdGg6IDEwMjNweCkge1xuICAgIC50cmFkZS1uZXdzLWNvbHVtbnMge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBtYXJnaW4tbGVmdDogLTI0cHg7XG4gICAgfVxuXG4gICAgLnRyYWRlLW5ld3MtY29sdW1ucyAudHJhZGUtbmV3cy1jb2x1bW4ge1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDI0cHg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cblxuICAgIC50cmFkZS1uZXdzLWNvbHVtbnMgPiAqIHtcbiAgICAgICAgZmxleDogMSAxIDA7XG4gICAgfVxuXG4gICAgLnRyYWRlLW5ld3MtY29sdW1uIC5zZWN0aW9uLWZyb250LXRyYWRlLW5ld3MtZmVlZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7XG4gICAgfVxuXG4gICAgLnRyYWRlLW5ld3MtY29sdW1ucyAuaXNsYW5kLS1ib3JkZXIge1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgfVxuXG4gICAgLnRyYWRlLW5ld3MtY29sdW1ucyBoMyB7XG4gICAgICAgIGZvbnQtc2l6ZTogMThweCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC50cmFkZS1uZXdzLWNvbHVtbnMgLmNhcmRfX2J1ZmZlci5jYXJkX19idWZmZXIge1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0NDQ0NDQyAhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMi41cHggIWltcG9ydGFudDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDEyLjVweCAhaW1wb3J0YW50O1xuICAgIH1cblxuXG4gICAgLnRyYWRlLW5ld3MtY29sdW1ucyAuZmxleC10ZXh0LFxuICAgIC50cmFkZS1uZXdzLWNvbHVtbnMgLmZsZXgtbG9nbyB7XG4gICAgICAgIGZsZXg6IDEgMSAxMDAlO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG5cbiAgICB9XG59XG5cbi50cmFkZS1uZXdzLWhlYWRlciB7XG4gICAgbWFyZ2luLXRvcDogMzJweDtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NzFweCkge1xuICAgIC50cmFkZS1uZXdzLWhlYWRlciB7XG4gICAgICAgIG1hcmdpbi10b3A6IDI0cHg7XG4gICAgfVxuICAgIC50cmFkZS1uZXdzLWNvbHVtbnMge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBtYXJnaW4tbGVmdDogLTI0cHg7XG4gICAgICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgfVxuXG4gICAgLnRyYWRlLW5ld3MtY29sdW1ucyBpbWcge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAudHJhZGUtbmV3cy1jb2x1bW5zIC50cmFkZS1uZXdzLWNvbHVtbiB7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMjRweDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuXG4gICAgLnRyYWRlLW5ld3MtY29sdW1ucyA+ICoge1xuICAgICAgICBmbGV4OiAxIDEgMTAwJTtcbiAgICB9XG5cbiAgICAudHJhZGUtbmV3cy1jb2x1bW4gLnNlY3Rpb24tZnJvbnQtdHJhZGUtbmV3cy1mZWVkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjRweDtcbiAgICB9XG5cbiAgICAudHJhZGUtbmV3cy1jb2x1bW5zIC5pc2xhbmQtLWJvcmRlciB7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICB9XG5cbiAgICAudHJhZGUtbmV3cy1jb2x1bW5zIGgzIHtcbiAgICAgICAgZm9udC1zaXplOiAxOHB4ICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLnRyYWRlLW5ld3MtY29sdW1ucyAuY2FyZF9fYnVmZmVyLmNhcmRfX2J1ZmZlciB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjQ0NDQ0NDICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEyLjVweCAhaW1wb3J0YW50O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTIuNXB4ICFpbXBvcnRhbnQ7XG4gICAgfVxuXG5cbiAgICAudHJhZGUtbmV3cy1jb2x1bW5zIC5mbGV4LXRleHQsXG4gICAgLnRyYWRlLW5ld3MtY29sdW1ucyAuZmxleC1sb2dvIHtcbiAgICAgICAgZmxleDogMSAxIDEwMCU7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcblxuICAgIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NzJweCkgYW5kIChtYXgtd2lkdGg6IDEwMjNweCkge1xuICAgIC5mb3ItdGhlLXRyYWRlLWdyaWQgPiAqICB7XG4gICAgICAgIGZsZXg6IDEgMSA1MCU7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7XG4gICAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY3MXB4KSB7XG4gICAgLmZvci10aGUtdHJhZGUtZ3JpZCA+ICogIHtcbiAgICAgICAgZmxleDogMSAxIDEwMCU7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7XG4gICAgfVxuXG4gICAgLmZvci10aGUtdHJhZGUtZ3JpZCAuY2FyZF9fYnVmZmVyLmNhcmRfX2J1ZmZlciB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogOHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA4cHggIWltcG9ydGFudDtcbiAgICB9XG59XG5cbi5mbGV4LXRleHQge1xuICAgIGZsZXg6IDQ7XG59XG5cbi5mbGV4LWxvZ28ge1xuICAgIGZsZXg6IDU7XG59XG5cbi8qXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY3MnB4KSB7XG4gICAgLmZsZXgtZ3JpZC50cmlwcGxlLXN0YWNrIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIH1cbn1cblxuLmZsZXgtZ3JpZC50cmlwcGxlLXN0YWNrICAuZmxleC1ncmlkX19pdGVtIHtcbiAgICBmbGV4OiAxIDAgMTAwJTtcbiAgICBtYXgtd2lkdGg6IDQxMnB4O1xuXG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjcycHgpIHtcbiAgICAuZmxleC1ncmlkLnRyaXBwbGUtc3RhY2sgIC5mbGV4LWdyaWRfX2l0ZW0ge1xuICAgICAgICBmbGV4OiAxIDAgNTAlO1xuICAgIH1cbn0gKi9cblxuXG4vKiBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgIC5mbGV4LWdyaWQudHJpcHBsZS1zdGFjayAgLmZsZXgtZ3JpZF9faXRlbSB7XG4gICAgICAgIGZsZXg6IDEgMCAzMy4zMyU7XG4gICAgfVxufSAqL1xuXG4vKiBDdXN0b20gZ3JpZCBzdHVmZiBmb3IgZHIgdmlubnkgKi9cblxuLmN1c3RvbS1kci12aW5ueS1ncmlkIC5mbGV4LWdyaWRfX2l0ZW06bnRoLWNoaWxkKDEpIHtcbiAgICBvcmRlcjogMjtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAuY3VzdG9tLWRyLXZpbm55LWdyaWQgLmZsZXgtZ3JpZF9faXRlbTpudGgtY2hpbGQoMSkge1xuICAgICAgICBvcmRlcjogMTtcbiAgICB9XG59XG5cbi5jdXN0b20tZHItdmlubnktZ3JpZCAuZmxleC1ncmlkX19pdGVtOm50aC1jaGlsZCgyKSB7XG4gICAgb3JkZXI6IDE7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgLmN1c3RvbS1kci12aW5ueS1ncmlkIC5mbGV4LWdyaWRfX2l0ZW06bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgb3JkZXI6IDI7XG4gICAgfVxufVxuXG4uY3VzdG9tLWRyLXZpbm55LWdyaWQgLmZsZXgtZ3JpZF9faXRlbTpudGgtY2hpbGQoMykge1xuICAgIG9yZGVyOiAzO1xufVxuXG4vKiBDdXN0b20gR3JpZCBTdHVmZiBmb3IgaG9tZXBhZ2UgZmVhdHVyZWQgc2VjdGlvbiAqL1xuLmZsZXgtZ3JpZC5ob21lcGFnZSB7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi8qIFVzZWQgYWNjcm9zcyBwYWdlcy4gVXNlZCB0byBzZXBlcmF0ZSBvdXQgc2VjdGlvbnMgb2YgcGFnZXMgKi9cblxuLmlzbGFuZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjRweDtcblxufVxuXG4vKiBUT0RPOiBUZW1wIHN0eWxlIHRvIGRlYWwgd2l0aCB3ZXJpZCBza2V0Y2ggc3R1ZmYgKi9cbi5pc2xhbmQtLXdlcmlkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY3MnB4KSB7XG4gICAgLmlzbGFuZC0td2VyaWQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzMnB4O1xuICAgIH1cbn1cblxuXG4uaXNsYW5kLS1ib3JkZXIge1xuICAgIHBhZGRpbmctYm90dG9tOiAzMnB4O1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjREREREREO1xufVxuXG4uaXNsYW5kLS1kb3VibGUge1xuICAgIG1hcmdpbi1ib3R0b206IDY0cHg7XG59XG5cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NzJweCkge1xuXG4gICAgLmlzbGFuZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDMycHg7XG4gICAgfVxuXG5cblxuICAgIC5pc2xhbmQtLWJvcmRlciB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAzMnB4O1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0RERERERDtcbiAgICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgLmlzbGFuZC0tZG91YmxlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNjRweDtcbiAgICB9XG59XG5cbi5pc2xhbmQtLWJvcmRlci1kZXNrdG9wIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJvcmRlcjogbm9uZTtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAuaXNsYW5kLS1ib3JkZXItZGVza3RvcCB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjREREREREO1xuICAgIH1cbn1cblxuLyogU2VjdGlvbiBGcm9udCBTdHlsZXMgKi9cbi5zZWN0aW9uLWZyb250LWludHJvLXRpdGxlIHtcbiAgICBmb250LWZhbWlseTogbG9yYTtcbiAgICBjb2xvcjogIzI2MjYyNjtcbiAgICBmb250LXNpemU6IDI0cHg7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xufVxuXG5cbi5zZWN0aW9uLWZyb250LWludHJvLWJvZHkge1xuICAgIGNvbG9yOiAjNDA0MDQwO1xuICAgIGZvbnQtZmFtaWx5OiBvcGVuIHNhbnM7XG59XG5cbi5zZWN0aW9uLWZyb250LWludHJvLWJvZHkgcCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbn1cblxuLyogVGVtcG9yYXJ5IENsYXNzZXMgKi9cblxuLnRlbXAtcGFnZWQtY2FyZHMgLmNhcmQuaW5kZXhlcjpsYXN0LW9mLXR5cGUgLmNhcmRfX2J1ZmZlciB7XG4gICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG5cbi52YXJ5LXJlc3BvbnNpdmUtYWQge1xuICAgIG1hcmdpbi10b3A6IDI0cHhcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NzJweCkge1xuICAgIC52YXJ5LXJlc3BvbnNpdmUtYWQge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cblxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY3MnB4KSB7XG4gICAgLnZhcnktcmVzcG9uc2l2ZS1hZCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDBweDtcbiAgICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgLnZhcnktcmVzcG9uc2l2ZS1hZCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuXG4udmFyeS1yZXNwb25zaXZlLWFkLWRlc2t0b3Age1xuICAgIGRpc3BsYXk6IG5vbmVcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAudmFyeS1yZXNwb25zaXZlLWFkLWRlc2t0b3Age1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG59XG5cblxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY3MXB4KSB7XG4gICAgLmFkLXN0cmljdGx5LXRhYmxldCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY3MnB4KSBhbmQgKG1heC13aWR0aDogMTAyM3B4KSB7XG4gICAgLmFkLXN0cmljdGx5LXRhYmxldCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwYWRkaW5nOiAyNHB4IDA7XG4gICAgICAgIGJhY2tncm91bmQ6ICNGM0YzRjM7XG5cbiAgICB9XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgIC5hZC1zdHJpY3RseS10YWJsZXQge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cblxuLmFkLXN0cmljdGx5LW1vYmlsZSB7XG4gICAgYmFja2dyb3VuZDogI0YzRjNGMztcbiAgICBwYWRkaW5nOiAxNnB4IDA7XG59XG5cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NzJweCkge1xuICAgIC5hZC1zdHJpY3RseS1tb2JpbGUge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cblxuLmFkLWNvbnN0YW50LXN0cmlwIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNjY2M7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjY2M7XG4gICAgYmFja2dyb3VuZDojZjNmM2YzO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY3MnB4KSB7XG4gICAgLmFkLWNvbnN0YW50LXN0cmlwIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzJweDtcbiAgICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjcxcHgpIHtcbiAgICAuaGlkZS1vbi1tb2JpbGUge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cblxuLm9ubHktdGFibGV0IHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY3MnB4KSB7XG4gICAgLm9ubHktdGFibGV0IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgIC5vbmx5LXRhYmxldCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuXG4uZmxleC1ncmlkLXdpbmUtaXEtYm94ZXMge1xuICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjcycHgpIGFuZCAobWF4LXdpZHRoOiAxMDIzcHgpIHtcbiAgICAuZmxleC1ncmlkLXdpbmUtaXEtYm94ZXMgLm9kZC1yZWN0YW5nbGUge1xuICAgICAgICBmbGV4OiAxIDAgMTAwJTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzJweDtcbiAgICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjcxcHgpIHtcbiAgICAub2RkLXJlY3RhbmdsZSAuY29udGVudC1ibG9jay5yZWN0YW5nbGUgLmNvbnRlbnQtYmxvY2tfX2dyaWQge1xuICAgICAgICAvLyBiYWNrZ3JvdW5kOiByZWQ7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIC5vZGQtcmVjdGFuZ2xlIC5jb250ZW50LWJsb2NrLnJlY3RhbmdsZSAuY29udGVudC1ibG9ja19fZmlndXJlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTJweDtcbiAgICB9XG5cbiAgICAub2RkLXJlY3RhbmdsZSAuY29udGVudC1ibG9jay5yZWN0YW5nbGUgLmNvbnRlbnQtYmxvY2tfX3RpdGxlLFxuICAgIC5vZGQtcmVjdGFuZ2xlIC5jb250ZW50LWJsb2NrLnJlY3RhbmdsZSAuY29udGVudC1ibG9ja19fc3VidGl0bGUge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgLmZsZXgtZ3JpZC13aW5lLWlxLWJveGVzIC5mbGV4LWdyaWRfX2l0ZW0ge1xuICAgICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDtcbiAgICB9XG59XG5cbi5kci12aW5ueS1oZXJvIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmbGV4OiAxMDAlO1xufVxuXG4uZHItdmlubnktaGVybyBpbWcge1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4uZHItdmlubnktaGVybyAuY2FyZF9fYnVmZmVyIHtcbiAgICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAuZHItdmlubnktaGVybyB7XG4gICAgICAgIG1heC13aWR0aDogOTAwcHg7XG4gICAgICAgIGZsZXg6IDMgMSAwO1xuICAgIH1cblxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY3MnB4KSBhbmQgKG1heC13aWR0aDogMTAyM3B4KSB7XG4gICAgLmRyLXZpbm55LWhlcm8gLmNhcmRfX3RpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiAyNHB4O1xuXG4gICAgfVxuXG4gICAgLmRyLXZpbm55LWhlcm8gLmNhcmRfX3N1YnRpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgIH1cblxuICAgIC5kci12aW5ueS1oZXJvIC5jYXJkX19kYXRlIHtcbiAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAuZHItdmlubnktaGVyby1saXN0LWhlYWRlciB7XG4gICAgICAgIGZsZXg6IDAgMCAzMDBweDtcbiAgICAgICAgbWluLXdpZHRoOjMwMHB4O1xuICAgIH1cbn1cblxuXG5cbi5kZXNrdG9wLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgLmRlc2t0b3Atb25seSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbn1cblxuXG5cbi8qIFJFU1BPTlNJVkUgVVRJVExJRVMgKi9cbi5oaWRkZW4tbW9iaWxlIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjdweCkge1xuICAgIC5oaWRkZW4tbW9iaWxlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxufVxuXG4udmlzaWJsZS1tb2JpbGUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjdweCkge1xuICAgIC52aXNpYmxlLW1vYmlsZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAubm8tZGVza3RvcCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjNweCkge1xuICAgIC5mb3ItdGhlLXRyYWRlLWdyaWQtMiAuY29udGVudC1ibG9jay5yZWN0YW5nbGUgLmNvbnRlbnQtYmxvY2tfX2dyaWQge1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgIH1cblxuICAgIC5mb3ItdGhlLXRyYWRlLWdyaWQtMiAuY29udGVudC1ibG9ja19fZmlndXJlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTZweCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5mb3ItdGhlLXRyYWRlLWdyaWQtMiAuY29udGVudC1ibG9ja19fZmlndXJlIGltZyB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC5mb3ItdGhlLXRyYWRlLWdyaWQtMiAuY29udGVudC1ibG9jay5yZWN0YW5nbGUgLmNvbnRlbnQtYmxvY2tfX2dyaWQtaXRlbS0tZmlndXJlLFxuICAgIC5mb3ItdGhlLXRyYWRlLWdyaWQtMiAuY29udGVudC1ibG9jay5yZWN0YW5nbGUgLmNvbnRlbnQtYmxvY2tfX2dyaWQtaXRlbS0tYm9keSB7XG4gICAgICAgIGZsZXg6IDEgMSAxMDAlO1xuICAgIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDIzcHgpIHtcbiAgICAuZm9yLXRoZS10cmFkZS1ncmlkLTIgLmNvbnRlbnQtYmxvY2tfX3RpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiAyMHB4ICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY3MXB4KSB7XG4gICAgLmZvci10aGUtdHJhZGUtZ3JpZC0yID4gKiB7XG4gICAgICAgIGZsZXg6IDEgMSAxMDAlO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyNHB4O1xuICAgIH1cbiAgICAuZm9yLXRoZS10cmFkZS1ncmlkLTIgLmNvbnRlbnQtYmxvY2tfX3RpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiAxOHB4ICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG5cbi5mb3ItdGhlLXRyYWRlLWdyaWQtMyB7XG4gICAgZmxleC1mbG93OiByb3cgd3JhcDtcbn1cblxuLmZvci10aGUtdHJhZGUtZ3JpZC0zID4gKiB7XG4gICAgZmxleDogMSAxIDMzLjMzMyU7XG4gICAgbWFyZ2luLWJvdHRvbTogMjRweDtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDIzcHgpIHtcblxuICAgIC5mb3ItdGhlLXRyYWRlLWdyaWQtMyB7XG4gICAgICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgfVxuXG4gICAgLmZvci10aGUtdHJhZGUtZ3JpZC0zID4gKiB7XG4gICAgICAgIGZsZXg6IDEgMSA1MCU7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7XG4gICAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY3MXB4KSB7XG4gICAgLmZvci10aGUtdHJhZGUtZ3JpZC0zID4gKiB7XG4gICAgICAgIGZsZXg6IDEgMSAxMDAlO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyNHB4O1xuICAgIH1cbn1cblxuXG4vKiBJc2xhbmQgdGhhdCBoYXMgbWFyaWduIG9uIHRhYmxldCBhbmQgZGVza3RvcCwgYnV0IG5vbmUgb24gbW9iaWxlICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY3MXB4KSB7XG4gICAgLmlzbGFuZC0tYmxlZWQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIC8qIHBhZGRpbmctYm90dG9tOiAwICFpbXBvcnRhbnQ7ICovXG4gICAgfVxufVxuXG4vKiBJc2xhbmQgdGhhdCBoYXMgbm8gbWFyZ2luIGV4Y2VwdCBmb3IgdGFibGV0IGFuZCBhIGJvcmRlciB0b28uICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY3MnB4KSBhbmQgKG1heC13aWR0aDogMTAyM3B4KSB7XG4gICAgLmlzbGFuZC0tdGFibGV0LWJvcmRlciB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjRDhEOEQ4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzMnB4O1xuICAgIH1cbn1cblxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY3MnB4KSBhbmQgKG1heC13aWR0aDogMTAyNHB4KSB7XG4gICAgLmhpZGUtb24tdGFibGV0IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG59XG5cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NzJweCkgYW5kIChtYXgtd2lkdGg6IDEwMjNweCkge1xuICAgIC5pc2xhbmQtLW5vdC10YWJsZXQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwcHg7XG4gICAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgIC5pc2xhbmQtLXdpbmUtYW5kLWN1bHR1cmUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIH1cbn1cblxuXG4vKiBObyBib3JkZXIgb24gdGFibGV0IG9yIG1vYmlsZSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDIzcHgpIHtcbiAgICAuaXNsYW5kLS1uby1ib3JkZXItb24tdGFibGV0LW1vYmlsZSB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgfVxufVxuXG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjcycHgpIGFuZCAobWF4LXdpZHRoOiAxMDIzcHgpIHtcbiAgICAuaXNsYW5kLS1kci12aW5ueSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIH1cblxuICAgIC5pc2xhbmQtLWRyLXZpbm55LS1xLWEge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgfVxufVxuXG4vKiBObyBCb3JkZXIgb24gdGFibGV0ICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY3MnB4KSB7XG4gICAgLmlzbGFuZC0tbm8tbW9iaWxlLWJvcmRlciB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY3MXB4KSB7XG4gICAgLmNvbGxlY3RpbmctZml4IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDtcbiAgICB9XG59XG5cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NzFweCkge1xuICAgIC5uby1tb2JpbGUtYm9yZGVyLW9yLXNwYWNpbmcge1xuICAgICAgICBib3JkZXItYm90dG9tOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NzJweCkgYW5kIChtYXgtd2lkdGg6IDEwMjNweCkge1xuICAgIC5pc2xhbmQtLXRhYmxldC1ib3JkZXItYWdhaW4ge1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0Q4RDhEODtcbiAgICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjcxcHgpIHtcbiAgICAuaXNsYW5kLW1vYmlsZS1vbmx5IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjRweDtcbiAgICB9XG59XG5cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjcxcHgpIHtcbiAgICAubm8tbWFyZ2luLW1vYmlsZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxufVxuXG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjcycHgpIGFuZCAobWF4LXdpZHRoOiAxMDIzcHgpIHtcbiAgICAuaGlkZS1qdXN0LW9uLXRhYmxldCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG59XG5cblxuLnZpc3VhbGx5LWhpZGRlbiB7XG4gICAgbWFyZ2luOiAtMXB4O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgd2lkdGg6IDFweDtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NzFweCkge1xuICAgIC50d2Vhay1yYXRpbmctaG9tZXBhZ2UgLnJhdGluZ3Mtc2VhcmNoIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG59XG5cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjcxcHgpIHtcbiAgICAudGVtcC1rbm93LXlvdXItZ3JhcGVzIC5jYXJkX19idWZmZXIge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTZweDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjY2M7XG4gICAgfVxuXG4gICAgLnRlbXAta25vdy15b3VyLWdyYXBlcyAuY2FyZC5jZWxsIC5jYXJkX190aXRsZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgICB9XG5cbn1cbiIsIi8qIFNpdGUgSGVhZGVyICovXG5cbi5zaXRlLWhlYWRlciB7XG5cdHBhZGRpbmctdG9wOiAzLjJyZW07XG5cdHBhZGRpbmctYm90dG9tOiAyLjRyZW07XG5cdHBvc2l0aW9uOiBmaXhlZDtcblx0d2lkdGg6IDEwMCU7XG5cdHotaW5kZXg6IDk5OTc7XG5cdEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY3cHgpIHtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0ei1pbmRleDogaW5oZXJpdDtcblx0fVxufVxuXG4uc2l0ZS1oZWFkZXJfX2xheW91dCB7XG5cdGRpc3BsYXk6IGZsZXg7XG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0d2lkdGg6IDkwJTtcblx0bWF4LXdpZHRoOiAxMzAwcHg7XG5cdG1hcmdpbjogMCBhdXRvO1xuXHRwYWRkaW5nOiAwO1xufVxuXG4uc2l0ZS1oZWFkZXJfX2hhbWJ1cmdlcixcbi5zaXRlLWhlYWRlcl9fbG9nbyxcbi5zaXRlLWhlYWRlcl9fY29udHJvbHMge1xuXHRmbGV4OiAxO1xufVxuXG4uc2l0ZS1oZWFkZXJfX2hhbWJ1cmdlciBhLFxuLnNpdGUtaGVhZGVyX19jb250cm9scyBhIHtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuLm1lbnUtaWNvbl9fbGluayBzdmcge1xuXHR3aWR0aDogMjVweDtcblx0aGVpZ2h0OiAyM3B4O1xuXHRAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2N3B4KSB7XG5cdFx0d2lkdGg6IDMycHg7XG5cdFx0aGVpZ2h0OiAyMnB4O1xuXHR9XG59XG5cbi8qIGVuc3VyaW5nIHRoYXQgdGhlIHRhcmdldHMgb2YgSlMgZXZlbnQgbGlzdGVuZXJzIGFyZSB0aGUgPGE+IHBhcmVudCAqL1xuLm1lbnUtaWNvbl9fbGluayBzdmcsXG4uc2VhcmNoLWljb25fX2xpbmsgc3ZnIHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLnNpdGUtaGVhZGVyX19sb2dvIHtcbiAgbWF4LXdpZHRoOiAxOHJlbTtcbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY3cHgpIHtcblx0LnNpdGUtaGVhZGVyX19sb2dvIHtcblx0XHRtYXgtd2lkdGg6IDI1OXB4O1xuXHR9XG59XG5cbi5zaXRlLWhlYWRlcl9fY29udHJvbHMge1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG5cdGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5zaXRlLWhlYWRlcl9fY29udHJvbHMgYTpub3QoOmxhc3QtY2hpbGQpIHtcblx0bWFyZ2luLXJpZ2h0OiAzLjJyZW07XG59XG5cbi5zaXRlLWhlYWRlcl9fY29udHJvbHMgLmJ1dHRvbixcbi5zaXRlLWhlYWRlcl9fY29udHJvbHMgLmRyb3Bkb3duLWNvbnRhaW5lciB7XG5cdFx0ZGlzcGxheTogbm9uZTtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3ODBweCkge1xuXHQuc2l0ZS1oZWFkZXJfX2NvbnRyb2xzIC5idXR0b24ge1xuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LXNpemU6IDEuM3JlbTtcbiAgICBwYWRkaW5nOiAuNzJlbSAxZW07XG4gICAgY29sb3I6ICMxNjE2MTY7XG5cdH1cblx0LnNpdGUtaGVhZGVyX19jb250cm9scyAuZHJvcGRvd24tY29udGFpbmVyIHtcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdH1cbn0iLCIuc2l0ZS1uYXZpZ2F0aW9uIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY3cHgpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAyLjRyZW07XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG4gICAgXG4gICAgdWwge1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGxpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIG1hcmdpbjogMCAxNnB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAgICAgZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgIH1cbn0iLCIuaGVhZGVyLXNlYXJjaCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjUpO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4yNHMgZWFzZS1pbjtcbiAgICBtYXJnaW46IDA7XG4gICAgei1pbmRleDogOTk5OTtcbiAgICBoZWlnaHQ6IDA7XG4gICAgd2lkdGg6IDA7XG4gICAgdG9wOiAxMDVweDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2N3B4KSB7XG4gICAgICAgIHRvcDogMDtcbiAgICB9XG5cbn1cblxuLmhlYWRlci1zZWFyY2gub3BlbiB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB3aWR0aDogMTAwdnc7XG4gICAgaGVpZ2h0OiAxMDAlO1xufVxuXG5cbi5oZWFkZXItc2VhcmNoX19jb250YWluZXIge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtOTByZW0pO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgcGFkZGluZzogMWVtIDEuNWVtO1xuICAgIG1hcmdpbjogMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2N3B4KSB7XG4gICAgLmhlYWRlci1zZWFyY2hfX2NvbnRhaW5lciB7XG4gICAgICAgIHBhZGRpbmc6IDJlbSA0ZW07XG4gICAgfVxufVxuXG4uaGVhZGVyLXNlYXJjaC5vcGVuID4gLmhlYWRlci1zZWFyY2hfX2NvbnRhaW5lciB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xufVxuXG4uaGVhZGVyLXNlYXJjaF9fZm9ybSB7XG4gICAgd2lkdGg6IDg1JTtcbiAgICBtYXJnaW46IDA7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY3cHgpIHtcbiAgICAuaGVhZGVyLXNlYXJjaF9fZm9ybSB7XG4gICAgICAgIHdpZHRoOiA2NCU7XG4gICAgfVxufVxuXG4uaGVhZGVyLXNlYXJjaF9fZm9ybS1ncm91cCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuXG4uaGVhZGVyLXNlYXJjaF9fZm9ybS1ncm91cCBpbnB1dFt0eXBlPVwic2VhcmNoXCJdIHtcbiAgICBtYXJnaW46IDAgMS42cmVtIDAgMDtcbiAgICBwYWRkaW5nOiAwLjZlbSAwO1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA2MHB4KTtcbiAgICBoZWlnaHQ6IDRyZW07XG4gICAgZm9udC1mYW1pbHk6IFwiT3BlbiBTYW5zXCIsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgY29sb3I6ICMyNjI2MjY7XG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNjY2M7XG4gICAgYm9yZGVyLXRvcDogbm9uZTtcbiAgICBib3JkZXItbGVmdDogbm9uZTtcbiAgICBib3JkZXItcmlnaHQ6IG5vbmU7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgOHB4O1xufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjdweCkge1xuICAgIC5oZWFkZXItc2VhcmNoX19mb3JtLWdyb3VwIGlucHV0W3R5cGU9XCJzZWFyY2hcIl0ge1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gNzBweCk7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMmVtO1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2h0dHBzOi8vczMuYW1hem9uYXdzLmNvbS9hc3NldHMubXNoYW5rZW4uY29tL3N5cy93c2JvbHQvaW1hZ2VzL3N2Zy9zZWFyY2gtaWNvbjIuc3ZnJyk7XG4gICAgfVxufVxuXG5cbi5oZWFkZXItc2VhcmNoX19mb3JtLWdyb3VwIGJ1dHRvblt0eXBlPVwic3VibWl0XCJdIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjOEQwMDA0O1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBoZWlnaHQ6IDRyZW07XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzhEMDAwNDtcbiAgICBib3JkZXItcmFkaXVzOiAycHg7XG4gICAgd2lkdGg6IDYwcHg7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjdweCkge1xuICAgIC5oZWFkZXItc2VhcmNoX19mb3JtLWdyb3VwIGJ1dHRvblt0eXBlPVwic3VibWl0XCJdIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgICAgICB3aWR0aDogNzBweDtcbiAgICB9XG59XG5cblxuLmhlYWRlci1zZWFyY2hfX2Nsb3NlIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjdweCkge1xuICAgIC5oZWFkZXItc2VhcmNoX19jbG9zZSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDJyZW07XG4gICAgICAgIHJpZ2h0OiA3cmVtO1xuICAgIH1cbn1cblxuLmhlYWRlci1zZWFyY2hfX2Nsb3NlLWxpbmsge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgLy8gZm9yIElFXG59XG5cbi8qIGVuc3VyaW5nIHRoYXQgdGhlIHRhcmdldCBvZiBKUyBldmVudCBsaXN0ZW5lciBpcyB0aGUgPGE+IHBhcmVudCAqL1xuLmhlYWRlci1zZWFyY2hfX2Nsb3NlLWxpbmsgc3ZnIHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbiIsIi8qID09PT09PT09IFNJVEUtU0VBUkNIIEZPUiBTRUFSQ0gtU09MUi1SRVNVTFRTLlRXSUcgVEVNUExBVEUgPT09PT09PT0gKi9cblxuLnNpdGUtc2VhcmNoX19mb3JtIHtcbiAgICBtYXJnaW46IDAgMCAyLjRyZW07XG4gICAgcGFkZGluZzogMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgLnNpdGUtc2VhcmNoX19mb3JtLWNvbnRyb2xzIHtcbiAgICAgICAgb3JkZXI6IDE7XG4gICAgICAgIG1hcmdpbjogMCAwIDIuMnJlbTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY3cHgpIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuN3JlbTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAuc2l0ZS1zZWFyY2hfX3dpbmUtcmF0aW5ncyB7XG4gICAgICAgIG9yZGVyOiAzO1xuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2N3B4KSB7XG4gICAgICAgICAgICBvcmRlcjogMjtcbiAgICAgICAgfVxuICAgIH1cbiAgICAuc2l0ZS1zZWFyY2hfX2luZm8ge1xuICAgICAgICBvcmRlcjogMjtcbiAgICAgICAgbWFyZ2luOiAwIDAgMi40cmVtO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjdweCkge1xuICAgICAgICAgICAgb3JkZXI6IDM7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5cblxuLnNpdGUtc2VhcmNoX19mb3JtLWdyb3VwIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbn1cblxuLnNpdGUtc2VhcmNoX19mb3JtLWdyb3VwIGlucHV0W3R5cGU9XCJzZWFyY2hcIl0ge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAxLjZyZW0gMi40cmVtO1xuICAgIHdpZHRoOiA4NCU7XG4gICAgaGVpZ2h0OiA0LjhyZW07XG4gICAgZm9udC1mYW1pbHk6IFwiT3BlbiBTYW5zXCIsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgY29sb3I6ICMyNjI2MjY7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyAvKiByZXNldHRpbmcgZm9yIHByb3BlciByZW5kZXJpbmcgb24gbW9iaWxlICovXG4gICAgYm9yZGVyOiAxcHggc29saWQgIzhEMDAwNDtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiA4cHg7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogOHB4O1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY3cHgpIHtcbiAgICAgICAgaGVpZ2h0OiA1LjRyZW07XG4gICAgICAgIHdpZHRoOiA5MyU7XG4gICAgfVxufVxuXG4uc2l0ZS1zZWFyY2hfX2Zvcm0tZ3JvdXAgYnV0dG9uW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM4RDAwMDQ7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIGhlaWdodDogNC44cmVtO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICM4RDAwMDQ7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDhweDtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogOHB4O1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbiAgICB3aWR0aDogMTYlO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2N3B4KSB7XG4gICAgICAgIGhlaWdodDogNS40cmVtO1xuICAgICAgICB3aWR0aDogNyU7XG4gICAgfVxufVxuXG4uc2l0ZS1zZWFyY2hfX2ZpbHRlcnMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMS41cmVtIDAgMDtcbn1cblxuLmZpbHRlci1oZWFkaW5nIHtcbiAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjdweCkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMS4ycmVtO1xuICAgICAgICBmb250LWZhbWlseTogXCJPcGVuIFNhbnNcIiwgc2Fucy1zZXJpZjtcbiAgICAgICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyLjRyZW07XG4gICAgICAgIGNvbG9yOiAjMjYyNjI2O1xuICAgIH1cbn1cblxuLmZpbHRlci1jaGVja2JveCB7XG4gICAgbWFyZ2luOiAwIDEuNnJlbSAxLjZyZW0gMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY3cHgpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG59XG5cbi5maWx0ZXItY2hlY2tib3g6bGFzdC1vZi10eXBlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG59XG5cblxuLyogPT09PT09PT0gQ1VTVE9NIENIRUNLQk9YRVMgPT09PT09PT0gKi9cbi5maWx0ZXItY2hlY2tib3ggaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdOm5vdCg6Y2hlY2tlZCksXG4uZmlsdGVyLWNoZWNrYm94IGlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogLTk5OTlweDtcbn1cblxuLmZpbHRlci1jaGVja2JveCBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06bm90KDpjaGVja2VkKSArIGxhYmVsLFxuLmZpbHRlci1jaGVja2JveCBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06Y2hlY2tlZCArIGxhYmVsIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy1sZWZ0OiAxLjk1ZW07XG4gICAgZm9udC1zaXplOiAxLjY3NXJlbTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5maWx0ZXItY2hlY2tib3ggaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdOm5vdCg6Y2hlY2tlZCkgKyBsYWJlbDpiZWZvcmUsXG4uZmlsdGVyLWNoZWNrYm94IGlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkICsgbGFiZWw6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDE2cHg7XG4gICAgaGVpZ2h0OiAxNnB4O1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICMyNjI2MjY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7XG59XG5cbi5maWx0ZXItY2hlY2tib3ggaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdOm5vdCg6Y2hlY2tlZCkgKyBsYWJlbDphZnRlcixcbi5maWx0ZXItY2hlY2tib3ggaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdOmNoZWNrZWQgKyBsYWJlbDphZnRlciB7XG4gICAgY29udGVudDogJ1xcMjcxMyc7XG4gICAgZm9udC1zaXplOiAxLjg1cmVtO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IC0zcHg7XG4gICAgbGVmdDogMnB4O1xuICAgIHdpZHRoOiAxNnB4O1xuICAgIGhlaWdodDogMTZweDtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgLjJzO1xufVxuXG4uZmlsdGVyLWNoZWNrYm94IGlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpub3QoOmNoZWNrZWQpICsgbGFiZWw6YWZ0ZXIge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcbn1cblxuLmZpbHRlci1jaGVja2JveCBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06Y2hlY2tlZCArIGxhYmVsOmFmdGVyIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG59XG5cbi5maWx0ZXItY2hlY2tib3ggaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdOmNoZWNrZWQgKyBsYWJlbDpiZWZvcmUge1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM0MDQwNDA7XG4gICAgd2lkdGg6IDE2cHg7XG4gICAgaGVpZ2h0OiAxNnB4O1xufVxuXG4uZmlsdGVyLWNoZWNrYm94IGlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkOmZvY3VzICsgbGFiZWw6YmVmb3JlLFxuLmZpbHRlci1jaGVja2JveCBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06bm90KDpjaGVja2VkKTpmb2N1cyArIGxhYmVsOmJlZm9yZSB7XG4gICAgb3V0bGluZTogcmdiYSgwLCAxMDMsIDI0NCwgMC4yNDcpIGF1dG8gNXB4O1xufVxuXG5cblxuXG5cblxuXG5cbi5zaXRlLXNlYXJjaF9fbWVzc2FnZSB7XG4gICAgZm9udC1mYW1pbHk6IFwiTG9yYVwiLCBzZXJpZjtcbiAgICBmb250LXNpemU6IDIuNHJlbTtcbiAgICBsaW5lLWhlaWdodDogMi43cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgY29sb3I6ICMyNjI2MjY7XG4gICAgbWFyZ2luOiAwIDAgMC40cmVtO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjdweCkge1xuICAgICAgICBtYXJnaW4tdG9wOiAyLjRyZW07XG4gICAgICAgIGZvbnQtc2l6ZTogMy42cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogNS4zcmVtO1xuICAgIH1cbn1cblxuLnNpdGUtc2VhcmNoX19yZXN1bHRzLWluZm8ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBjb2xvcjogIzI2MjYyNjtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHBhZGRpbmc6IDAgMCAwLjZyZW07XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY3cHgpIHtcbiAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgICAgICBib3JkZXItY29sb3I6ICNjNGM0YzQ7XG4gICAgfVxufVxuXG4uc2l0ZS1zZWFyY2hfX3Jlc3VsdHMtdG90YWxzIHtcbiAgICBmb250LWZhbWlseTogXCJMb3JhXCIsIHNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAyLjNyZW07XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjNGM0YzQ7XG4gICAgcGFkZGluZy1ib3R0b206IDkuNXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDkuNXB4O1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY3cHgpIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIuOHJlbTtcbiAgICB9XG59XG5cbi5zaXRlLXNlYXJjaF9fcmVzdWx0cy1zb3J0IHtcbiAgICBmb250LWZhbWlseTogXCJPcGVuIFNhbnNcIiwgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICBsaW5lLWhlaWdodDogMi40cmVtO1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY3cHgpIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgfVxufVxuXG4uc2l0ZS1zZWFyY2hfX3Jlc3VsdHMtc29ydCBzZWxlY3Qge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG59XG5cblxuLyogPT09PT09PT0gUkVTVUxUUyA9PT09PT09PSAqL1xuLnNpdGUtc2VhcmNoX19yZXN1bHQge1xuICAgIG1hcmdpbjogMCAwIDEuNjVyZW07XG4gICAgcGFkZGluZzogMCAwIDEuN3JlbTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzk3OTc5Nztcbn1cblxuLnNpdGUtc2VhcmNoX19yZXN1bHQ6bGFzdC1vZi10eXBlIHtcbiAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5zaXRlLXNlYXJjaF9fcmVzdWx0LXR5cGUge1xuICAgIGZvbnQtZmFtaWx5OiBcIk9wZW4gU2Fuc1wiLCBzYW5zLXNlcmlmO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC1zaXplOiAxLjNyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBsaW5lLWhlaWdodDogMS44cmVtO1xuICAgIGNvbG9yOiAjOEQwMDA0O1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xufVxuXG4uc2l0ZS1zZWFyY2hfX3Jlc3VsdC10aXRsZSB7XG4gICAgbWFyZ2luOiAwLjhyZW0gMCAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgZm9udC1mYW1pbHk6IFwiTG9yYVwiLCBzZXJpZjtcbiAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgICBsaW5lLWhlaWdodDogMi4zcmVtO1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY3cHgpIHtcbiAgICAgICAgZm9udC1zaXplOiAyLjRyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAzLjVyZW07XG4gICAgfVxuICAgIGEge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIGNvbG9yOiAjMjYyNjI2O1xuICAgIH1cbn1cblxuXG4uc2l0ZS1zZWFyY2hfX3Jlc3VsdC1ibHVyYiB7XG4gICAgZm9udC1mYW1pbHk6IFwiT3BlbiBTYW5zXCIsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgbGluZS1oZWlnaHQ6IDIuMXJlbTtcbiAgICBjb2xvcjogIzQwNDA0MDtcbiAgICBtYXJnaW46IDAuNHJlbSAwIDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2N3B4KSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMi41cmVtO1xuICAgIH1cbn1cblxuLnNpdGUtc2VhcmNoX19yZXN1bHQtZGF0ZSB7XG4gICAgZm9udC1mYW1pbHk6IFwiT3BlbiBTYW5zXCIsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAxLjNyZW07XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBsaW5lLWhlaWdodDogMS44cmVtO1xuICAgIGNvbG9yOiAjNjY2NjY2O1xuICAgIG1hcmdpbjogMS4ycmVtIDAgMDtcbiAgICBwYWRkaW5nOiAwO1xufVxuXG5cblxuXG4uc2l0ZS1zZWFyY2hfX3dpbmUtcmF0aW5ncyB7XG4gICAgcGFkZGluZzogMjBweDtcbiAgICBtYXJnaW46IDA7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDQwcHgpO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGM0YzRjM7XG5cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2N3B4KSB7XG4gICAgICAgIHBhZGRpbmc6IDMycHg7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA2NHB4KTtcbiAgICB9XG5cbiAgICAmLWhlYWRlciB7XG4gICAgICAgIG1hcmdpbjogMCAwIDEuNnJlbTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIkxvcmFcIiwgc2VyaWY7XG4gICAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMnJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY3cHgpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyLjhyZW07XG4gICAgICAgIH1cbiAgICB9XG4gICAgLnNpdGUtc2VhcmNoX19yZXN1bHQge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTYuNXB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxNi41cHg7XG4gICAgfVxuICAgIC5zaXRlLXNlYXJjaF9fcmVzdWx0Omxhc3Qtb2YtdHlwZSB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjOTc5Nzk3O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxOC41cHg7XG4gICAgfVxuICAgIC5zaXRlLXNlYXJjaF9fcmVzdWx0LXRpdGxlIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICB9XG4gICAgLnNpdGUtc2VhcmNoX19yZXN1bHQtYmx1cmIgYSB7XG4gICAgICAgIGNvbG9yOiAjNDA0MDQwO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuICAgIC5zaXRlLXNlYXJjaF9fd2luZS1yYXRpbmdzLXNlZS1hbGwge1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyLjhyZW07XG4gICAgfVxufSIsIi5zaXRlLWZvb3RlciB7XG4gIHBhZGRpbmctdG9wOiA0LjhyZW07XG4gIHBhZGRpbmctYm90dG9tOiA0LjRyZW07XG59XG5cbi5zaXRlLWZvb3Rlcl9fbGF5b3V0IHtcbiAgbWF4LXdpZHRoOiAxMTU1cHg7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBkaXNwbGF5OiBmbGV4O1xuXHRmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIHBhZGRpbmc6IDIwcHg7XG59XG5cbi5zaXRlLWZvb3RlciBoMyB7XG4gIG1hcmdpbjogMCAwIDEuNnJlbTtcbiAgZm9udC1zaXplOiAycmVtO1xufVxuXG4uc2l0ZS1mb290ZXIgdWwge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbi1ib3R0b206IDQuOHJlbTtcbn1cblxuLnNpdGUtZm9vdGVyIGxpIHtcbiAgbWFyZ2luLWJvdHRvbTogMC44cmVtO1xufVxuXG4uc2l0ZS1mb290ZXIgbGk6bGFzdC1vZi10eXBlIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLnNpdGUtZm9vdGVyIGEge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAuODUpO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi5zaXRlLWZvb3Rlcl9fY29weXJpZ2h0IHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uc2l0ZS1mb290ZXIgLnNvY2lhbC1saW5rcyBsaSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuXG4uc2l0ZS1mb290ZXIgLnNvY2lhbC1saW5rcyBsaSArIGxpIHtcbiAgbWFyZ2luLWxlZnQ6IDZweDtcbn1cblxuLnNpdGUtZm9vdGVyIC5zaXN0ZXItcHVibGljYXRpb25zIGltZyB7XG4gIG1heC13aWR0aDogMjAwcHg7XG4gIG1hcmdpbi1ib3R0b206IDI0cHg7XG59IiwiQG1lZGlhIHByaW50e1xuXG4gICAgaHRtbCxcbiAgICBib2R5IHtcbiAgICAgICAgZm9udC1mYW1pbHk6IEdlb3JnaWEsIHNlcmlmO1xuICAgICAgICBmb250LXNpemU6IDExLjc1cHQ7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM1O1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICBjb2xvcjogYmxhY2s7XG4gICAgfVxuXG4gICAgLnNpdGUtaGVhZGVyLFxuICAgIC5zaXRlLW5hdmlnYXRpb24sXG4gICAgLmhlYWRlci1zZWFyY2gsXG4gICAgLmFkLXN0cmlwLFxuICAgIC5hcnRpY2xlX19ib2R5LXRhZ3MsXG4gICAgLmFydGljbGVfX3NpZGViYXIsXG4gICAgLmFydGljbGVfX3JlbGF0ZWQsXG4gICAgLmFydGljbGVfX21vc3QtcG9wdWxhcixcbiAgICAuZm9vdGVyLW5ld3NsZXR0ZXIsXG4gICAgLmFwcGxpY2F0aW9ucyxcbiAgICAuYXBwbGljYXRpb25zX19pdGVtLFxuICAgIC5zaXRlLWZvb3RlcixcbiAgICAud2Fsa3RocnUsXG4gICAgLnNmLXRvb2xiYXJyZXNldCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAubWFpbi1sYXlvdXQge1xuICAgICAgICBwYWRkaW5nOiAxZW0gMDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAuYXJ0aWNsZV9fYm9keSB7XG4gICAgICAgIHdpZHRoOiA5MCU7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAuYXJ0aWNsZV9fYm9keS1jb250ZW50IHtcbiAgICAgICAgb3ZlcmZsb3c6IHZpc2libGUgIWltcG9ydGFudDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLmFydGljbGVfX2JvZHktY29udGVudCBhOmFmdGVyLFxuICAgIC5hcnRpY2xlX19ib2R5LXBhY2thZ2UgYTphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiIFtcIiBhdHRyKGhyZWYpIFwiXSBcIjtcbiAgICB9XG5cbiAgICBcbn0iXSwic291cmNlUm9vdCI6IiJ9*/