/*! 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.
 */
@import url("https://fonts.googleapis.com/css?family=Montserrat:300,300i400,400i,600,600i,700,700i");
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 {
  box-sizing: content-box;
  /* 1 */
  height: 0;
  /* 1 */
  overflow: visible;
  /* 2 */ }

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

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

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

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

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

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%; }

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline; }

sub {
  bottom: -0.25em; }

sup {
  top: -0.5em; }

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

/* Forms
   ========================================================================== */
/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  /* 1 */
  font-size: 100%;
  /* 1 */
  line-height: 1.15;
  /* 1 */
  margin: 0;
  /* 2 */ }

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

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
  /* 1 */
  text-transform: none; }

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button; }

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0; }

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

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

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

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

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

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

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto; }

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  outline-offset: -2px;
  /* 2 */ }

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none; }

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button;
  /* 1 */
  font: inherit;
  /* 2 */ }

/* Interactive
   ========================================================================== */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
  display: block; }

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

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

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

* {
  box-sizing: border-box; }

html {
  font-size: 62.5%; }

body {
  font-family: "Montserrat", sans-serif;
  font-weight: 300;
  font-size: 1.8rem; }

.is-placeholder {
  visibility: hidden;
  pointer-events: none; }

a {
  color: inherit;
  text-decoration: none; }
  p a {
    display: inline-block;
    text-decoration: underline; }
    p a:hover, p a:focus {
      text-decoration: none; }
    p a:visited {
      color: #242da2;
      font-weight: 700; }

p {
  margin: 0 0 40px 0; }

img {
  max-width: 100%;
  height: auto; }

dl dt, dl dd {
  margin: 0; }

nav ul {
  list-style-type: none;
  margin: 0;
  padding: 0; }
  nav ul > li {
    display: inline-block; }

figure {
  margin: 0;
  padding: 0; }
  figure figcaption {
    font-style: italic;
    font-weight: 300; }

cite {
  font-style: normal; }
  cite:before {
    content: '\02013';
    padding-right: 5px; }

.ta-c {
  text-align: center; }

.ta-l {
  text-align: left; }

@media (min-width: 768px) {
  .below-medium-devices-only {
    display: none !important; } }

@media (max-width: 767px) {
  .above-medium-devices-only {
    display: none !important; } }

input {
  padding: 7px;
  border: 1px solid #3b403c; }
  input:focus {
    outline: 0;
    box-shadow: 0 0 3px rgba(59, 64, 60, 0.2); }

.btn {
  display: inline-block;
  text-align: center;
  text-decoration: none; }
  .btn.btn-primary {
    background: #e6e5e0;
    color: #3b403c;
    border: 1px solid #c4c2b6;
    padding: 1.1em 3em; }
    .btn.btn-primary:hover {
      background: #3b403c;
      color: #f2f3f2; }
  .btn.btn-secondary {
    color: #f2f3f2;
    border: 1px solid #f2f3f2;
    padding: 1em 2.5em; }
    .btn.btn-secondary:hover {
      background: #f2f3f2;
      color: #3b403c; }
  .btn.btn-block {
    display: block; }
  .btn.btn-short {
    padding-top: 0.5em;
    padding-bottom: 0.5em; }
  .btn.btn-wide {
    padding-left: 6em;
    padding-right: 6em; }
  .btn.show-more {
    display: block;
    width: 100%; }

h1 {
  margin: 0;
  padding: 0;
  font-family: "Montserrat", sans-serif;
  font-weight: 300;
  color: #3b403c; }

h2 {
  margin: 0;
  padding: 0;
  font-family: "Montserrat", sans-serif;
  font-weight: 300;
  color: #3b403c; }

h3 {
  margin: 0;
  padding: 0;
  font-family: "Montserrat", sans-serif;
  font-weight: 300;
  color: #3b403c; }

h4 {
  margin: 0;
  padding: 0;
  font-family: "Montserrat", sans-serif;
  font-weight: 300;
  color: #3b403c; }

h5 {
  margin: 0;
  padding: 0;
  font-family: "Montserrat", sans-serif;
  font-weight: 300;
  color: #3b403c; }

h6 {
  margin: 0;
  padding: 0;
  font-family: "Montserrat", sans-serif;
  font-weight: 300;
  color: #3b403c; }

h1 {
  font-size: 6rem; }

h2 {
  font-size: 4rem; }

h3 {
  font-size: 3.6rem; }

h4 {
  font-size: 2.6rem; }

h5 {
  font-size: 2.1rem; }

h6 {
  font-size: 1.6em; }

.wrapper {
  max-width: 1220px;
  width: 100%;
  margin: auto;
  padding-left: 10px;
  padding-right: 10px; }
  .wrapper.wrapper-narrow {
    max-width: 960px; }
  .wrapper.wrapper-wide {
    max-width: 1360px; }
  .wrapper.wrapper-full {
    max-width: 100%;
    padding-left: 0;
    padding-right: 0;
    background: #f2f3f2;
    color: #3b403c;
    background-position: center center;
    background-size: cover; }
  .wrapper.no-background {
    background: transparent; }
  .wrapper.no-padding {
    padding-top: 0;
    padding-bottom: 0; }
  .wrapper.has-separator {
    border-top: 1px solid #3b403c; }
  .wrapper > header {
    text-align: center;
    margin-bottom: 50px; }
  .wrapper > .wrapper {
    padding-top: 0;
    padding-bottom: 0; }
  main > .wrapper {
    padding-top: 40px;
    padding-bottom: 40px; }

.reverse-cols {
  flex-direction: row-reverse; }

.grid-2 {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between; }
  .grid-2 > * {
    flex: 1 1 100%;
    max-width: 45%; }
  @media (max-width: 768px) {
    .grid-2 > * {
      max-width: 100%; } }

.grid-3 {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between; }
  .grid-3 > * {
    flex: 1 1 100%;
    max-width: 33.33333%; }
  @media (max-width: 768px) {
    .grid-3 > * {
      max-width: 100%; } }

.bx-wrapper {
  position: relative;
  padding: 0;
  *zoom: 1;
  -ms-touch-action: pan-y;
  touch-action: pan-y; }

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

.bxslider {
  margin: 0;
  padding: 0; }

ul.bxslider {
  list-style: none; }

.bx-viewport {
  /*fix other elements on the page moving (on Chrome)*/
  -webkit-transform: translatez(0); }

#app-header {
  font-size: 1.5rem;
  letter-spacing: 1px;
  padding-bottom: 60px;
  border-bottom: 1px solid #dddcd5; }
  #app-header > aside {
    background: #f2f3f2;
    text-transform: uppercase;
    border-bottom: 1px solid #dddcd5;
    margin-bottom: 50px;
    font-size: 1rem;
    height: 40px; }
    #app-header > aside .wrapper {
      display: flex;
      justify-content: space-between;
      align-items: center; }
  #app-header .promo {
    color: #D16B60;
    text-decoration: none; }
  #app-header .user-panel {
    display: flex;
    align-items: center; }
    #app-header .user-panel nav a {
      display: block;
      color: #3b403c;
      padding: 14px; }
      #app-header .user-panel nav a:hover, #app-header .user-panel nav a:focus {
        text-decoration: underline; }
      #app-header .user-panel nav a:visited {
        color: #242da2; }
    #app-header .user-panel form {
      background: #dbdbdb;
      border-color: #dddcd5;
      border-style: solid;
      border-width: 0 1px; }
      #app-header .user-panel form input {
        background: transparent;
        border: 0;
        padding: 14px; }
        #app-header .user-panel form input:focus {
          outline: none; }
  @media (max-width: 767px) {
    #app-header {
      padding-bottom: 0; }
      #app-header > aside {
        margin-bottom: 0; }
        #app-header > aside .wrapper {
          flex-direction: column;
          width: 100%;
          padding: 14px; } }

#primary-nav > nav > ul {
  display: flex;
  justify-content: space-around;
  align-items: flex-end;
  text-align: center;
  text-transform: uppercase; }
  #primary-nav > nav > ul > li {
    flex: 1 1 auto;
    max-width: 150px; }
    #primary-nav > nav > ul > li.identity {
      max-width: 380px;
      text-align: center; }
      #primary-nav > nav > ul > li.identity .icon {
        width: 100%;
        height: 30px; }
      #primary-nav > nav > ul > li.identity a {
        display: block;
        padding: 0;
        margin: auto;
        max-width: 80%;
        border-bottom: none; }
    #primary-nav > nav > ul > li:hover > a {
      border-bottom-color: inherit; }
    #primary-nav > nav > ul > li > a {
      padding: 10px 0;
      border-bottom: 1px solid transparent;
      color: #3b403c; }
  #primary-nav > nav > ul .has-subnav .icon {
    transition: transform 0.3s ease-in;
    width: 10px;
    height: 6px;
    transform: translateY(-50%); }
  #primary-nav > nav > ul .has-subnav:hover .icon {
    transform: rotate(180deg); }
  #primary-nav > nav > ul .has-subnav:hover:before {
    display: block; }
  #primary-nav > nav > ul .has-subnav:before {
    content: '';
    position: absolute;
    height: 60px;
    display: none;
    margin-top: 20px;
    width: 100%;
    left: 0; }

#primary-nav-responsive {
  transition: background-color 0.1s ease-in 0.2s;
  height: 64px;
  color: #f2f3f2; }
  #primary-nav-responsive .nav-bar,
  #primary-nav-responsive > nav {
    position: relative;
    z-index: 5; }
  #primary-nav-responsive .dine-with-us-shortcut {
    display: none;
    flex: 1 1 auto;
    padding: 0 10%;
    text-align: right;
    color: #3b403c;
    text-transform: uppercase; }
    .home #primary-nav-responsive .dine-with-us-shortcut {
      display: block; }
  #primary-nav-responsive .nav-bar {
    padding-top: 10px;
    padding-bottom: 10px;
    display: flex;
    justify-content: space-between;
    align-items: center; }
  #primary-nav-responsive .identity {
    fill: #3b403c; }
    #primary-nav-responsive .identity .icon {
      width: 40px;
      height: 40px; }
  #primary-nav-responsive .trigger .icon {
    width: 20px;
    height: 20px; }
    #primary-nav-responsive .trigger .icon-close {
      display: none; }
  .is-mobile-nav-visible #primary-nav-responsive .identity {
    fill: #f2f3f2; }
  .is-mobile-nav-visible #primary-nav-responsive .dine-with-us-shortcut {
    visibility: hidden; }
  .is-mobile-nav-visible #primary-nav-responsive .icon-close {
    display: block; }
  .is-mobile-nav-visible #primary-nav-responsive .icon-show {
    display: none; }
  #primary-nav-responsive > nav > ul > li {
    display: block;
    width: 100%;
    overflow: hidden; }
    #primary-nav-responsive > nav > ul > li:not(.visible) {
      max-height: 100px; }
    #primary-nav-responsive > nav > ul > li > .description {
      text-align: center;
      display: block; }
    #primary-nav-responsive > nav > ul > li > a {
      text-align: center;
      text-transform: uppercase;
      display: block;
      line-height: 50px; }
  #primary-nav-responsive > nav a:focus {
    border-bottom: 3px solid currentColor;
    outline: none; }
  #primary-nav-responsive > nav .user-panel-nav {
    margin-top: 30px;
    overflow: hidden; }
    #primary-nav-responsive > nav .user-panel-nav a {
      display: block;
      padding: 10px; }
  #primary-nav-responsive .background {
    transition: top 0.2s ease-in;
    position: fixed;
    width: 100%;
    height: 100%;
    top: 0;
    background-color: #595d5a;
    background-position: center center;
    background-size: cover;
    z-index: 2; }

.subnav {
  overflow: hidden; }
  #primary-nav .subnav {
    background: #3b403c;
    color: #f2f3f2;
    position: absolute;
    text-align: left;
    left: 0;
    width: 100%;
    margin-top: 60px;
    z-index: 99;
    font-size: 1.4rem; }
  #primary-nav-responsive .subnav {
    overflow: auto;
    margin-top: 15px; }
    #primary-nav-responsive .subnav .header > * {
      color: inherit; }
    #primary-nav-responsive .subnav .dine-with-us-box {
      overflow: hidden;
      margin-bottom: 15px;
      background: #3b403c;
      padding: 15px; }
      #primary-nav-responsive .subnav .dine-with-us-box .extra-info {
        opacity: 0.5;
        line-height: 1.5; }
      #primary-nav-responsive .subnav .dine-with-us-box p {
        margin: 0; }
      #primary-nav-responsive .subnav .dine-with-us-box.visible > .header > .icon {
        transform: rotate(180deg); }
      #primary-nav-responsive .subnav .dine-with-us-box .buttons {
        display: flex;
        justify-content: space-between; }
        #primary-nav-responsive .subnav .dine-with-us-box .buttons > * {
          flex: 1 1 100%;
          display: flex;
          justify-content: center;
          align-items: center;
          max-width: 48%;
          padding-left: 5px;
          padding-right: 5px; }
      #primary-nav-responsive .subnav .dine-with-us-box > .header {
        margin-bottom: 0;
        position: relative; }
        #primary-nav-responsive .subnav .dine-with-us-box > .header h5 {
          font-size: 1.8rem; }
        #primary-nav-responsive .subnav .dine-with-us-box > .header h6 {
          font-size: 1rem; }
        #primary-nav-responsive .subnav .dine-with-us-box > .header > .icon {
          transition: transform 0.2s ease-in;
          position: absolute;
          width: 22px;
          height: 11px;
          right: 0;
          transform: translateY(50%); }
      #primary-nav-responsive .subnav .dine-with-us-box > .content {
        display: none;
        padding-top: 15px; }

.dine-with-us-subnav > .wrapper {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between; }
  .dine-with-us-subnav > .wrapper > * {
    flex: 1 1 100%;
    max-width: 20%; }
  @media (max-width: 768px) {
    .dine-with-us-subnav > .wrapper > * {
      max-width: 100%; } }

.dine-with-us-subnav .dine-with-us-box {
  padding: 20px;
  border-right: 1px solid #dddcd5; }
  .dine-with-us-subnav .dine-with-us-box .header {
    text-align: left;
    height: 50px; }
    .dine-with-us-subnav .dine-with-us-box .header > * {
      display: block;
      color: inherit; }
  .dine-with-us-subnav .dine-with-us-box .meta {
    height: 160px; }
  .dine-with-us-subnav .dine-with-us-box nav {
    height: 85px; }
  .dine-with-us-subnav .dine-with-us-box aside {
    height: 95px; }
  .dine-with-us-subnav .dine-with-us-box a {
    display: block;
    text-decoration: none; }
  .dine-with-us-subnav .dine-with-us-box:first-child {
    border-left: 1px solid #dddcd5; }

#app-footer {
  padding: 60px 0 35px;
  background: #3b403c;
  color: #f2f3f2;
  font-size: 1.6rem; }
  #app-footer > .wrapper {
    position: relative; }
  #app-footer a {
    display: block;
    text-decoration: none; }
    #app-footer a:hover, #app-footer a:focus {
      text-decoration: underline; }
    #app-footer a:visited {
      color: #848df7; }
  #app-footer .footer-row {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-bottom: 100px; }
    #app-footer .footer-row > * {
      flex: 1 1 100%;
      max-width: 50%; }
    @media (max-width: 768px) {
      #app-footer .footer-row > * {
        max-width: 100%; } }
    #app-footer .footer-row:last-child {
      margin-bottom: 0; }
    #app-footer .footer-row.user-info {
      align-items: flex-end; }
    #app-footer .footer-row > .col:last-child {
      padding-right: 40px; }
  #app-footer .identity .icon {
    max-width: 140px;
    height: 140px; }
  #app-footer .secondary-nav {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    line-height: 1; }
    #app-footer .secondary-nav > * {
      flex: 1 1 100%;
      max-width: 30.33333%; }
    @media (max-width: 768px) {
      #app-footer .secondary-nav > * {
        max-width: 100%; } }
    #app-footer .secondary-nav nav li {
      display: block; }
    #app-footer .secondary-nav nav a {
      padding: 10px 0; }
  #app-footer aside {
    font-size: 1.4rem; }
  #app-footer .copyright p {
    margin: 0; }
  #app-footer .extra-info ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between; }
  #app-footer .back-to-top {
    width: 40px;
    height: 40px;
    position: absolute;
    right: 0;
    bottom: 0; }
    #app-footer .back-to-top .icon {
      width: 40px;
      height: 40px; }
  @media (max-width: 767px) {
    #app-footer {
      font-size: 1.2rem; }
      #app-footer .footer-row {
        margin-bottom: 0; }
        #app-footer .footer-row.user-info {
          align-items: flex-start;
          padding: 20px 0; }
        #app-footer .footer-row > .col:last-child {
          padding-right: 0; }
      #app-footer aside {
        font-size: 1.1rem; }
      #app-footer .identity {
        text-align: center;
        border-bottom: 1px solid rgba(255, 255, 255, 0.3);
        padding-bottom: 20px; }
      #app-footer .secondary-nav {
        flex-direction: row;
        border-bottom: 1px solid rgba(255, 255, 255, 0.3); }
        #app-footer .secondary-nav > nav:first-child {
          text-transform: uppercase;
          text-align: center;
          max-width: 90%;
          margin: auto;
          border-bottom: 1px solid rgba(255, 255, 255, 0.3); }
        #app-footer .secondary-nav nav {
          padding: 20px;
          max-width: 50%; }
      #app-footer .extra-info {
        padding-top: 20px; }
        #app-footer .extra-info li {
          padding: 5px 0;
          flex: 1 1 50%; } }

#covid-banner {
  position: relative;
  z-index: 999;
  font-size: 1.3rem;
  padding: 10px 20px;
  background: #3b403c;
  border-bottom: 1px solid #dddcd5;
  text-align: center;
  line-height: 1.6;
  color: #fff; }
  #covid-banner p {
    margin: 0; }
  #covid-banner a:visited {
    color: #848df7; }

.page-section {
  padding: 140px 0 170px;
  background-size: cover;
  background-position: center center;
  width: 100%;
  text-align: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  height: 600px; }
  .page-section.dynamic-height {
    height: auto; }
  .page-section ul {
    list-style-type: none;
    padding: 0;
    margin: 0; }
  .page-section h1 {
    text-transform: uppercase; }
  .page-section > * {
    color: #fdfdfd;
    margin-bottom: 50px; }
    .page-section > *:last-child {
      margin-bottom: 0; }
  .page-section.style-2 {
    border-bottom: 1px solid #dddcd5;
    padding: 60px 0; }
    .page-section.style-2 > * {
      color: #3b403c; }
      .page-section.style-2 > *:first-child {
        text-transform: uppercase; }
  .page-section.small-items-gap > * {
    margin-bottom: 15px; }
    .page-section.small-items-gap > *:last-child {
      margin-bottom: 0; }
  .page-section + .content-section {
    padding-top: 0; }
  @media (max-width: 767px) {
    .page-section {
      height: 300px; }
      .page-section h1 {
        word-break: break-word;
        font-size: 4.5rem; } }

.intro {
  color: #3b403c;
  text-align: center;
  line-height: 2; }
  .intro.style-2 {
    text-align: left; }
  .intro > * {
    margin-bottom: 40px; }
    .intro > *:last-child {
      margin-bottom: 0; }
  .intro header {
    text-transform: uppercase;
    margin-bottom: 40px; }
  @media (max-width: 767px) {
    .intro {
      text-align: justify; } }

.content-section {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  line-height: 2; }
  .content-section > * {
    flex: 1 1 100%;
    max-width: 45%; }
  @media (max-width: 768px) {
    .content-section > * {
      max-width: 100%; } }
  .content-section header {
    margin-bottom: 40px;
    line-height: 1.5; }
    .content-section header h5 {
      text-transform: uppercase; }
  .content-section .wider-content {
    margin: 0 -60px 40px -60px; }
  .content-section.single-col {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between; }
    .content-section.single-col > * {
      flex: 1 1 100%;
      max-width: 100%; }
    @media (max-width: 768px) {
      .content-section.single-col > * {
        max-width: 100%; } }
  .content-section.cols-unequal > :first-child {
    max-width: 50%; }
  .content-section.cols-unequal > :last-child {
    max-width: 40%; }
  .content-section.has-separator {
    border-bottom: 1px solid #000; }
    .content-section.has-separator:last-of-type {
      border-bottom: 0; }
  .content-section.style-2 header {
    text-transform: uppercase; }
  @media (max-width: 767px) {
    .content-section > * {
      margin-bottom: 40px; } }

#subnav-placeholder {
  height: 70px;
  width: 1px;
  display: none; }

#subnav {
  align-items: center;
  line-height: 70px;
  color: #3b403c;
  border-bottom: 1px solid #dddcd5;
  font-size: 1.6rem;
  height: 70px; }
  #subnav.sticky {
    position: fixed;
    z-index: 99;
    background: #fff;
    top: 0;
    left: 0;
    width: 100%; }
  #subnav > .wrapper {
    display: flex;
    justify-content: space-between; }
  #subnav nav {
    text-transform: uppercase; }
    #subnav nav a {
      display: block;
      padding: 0 25px; }
    #subnav nav li.active a,
    #subnav nav a:hover {
      background: #3b403c;
      color: #f2f3f2; }
  @media (max-width: 767px) {
    #subnav h4 {
      display: none; }
    #subnav nav {
      font-size: 1.1rem;
      width: 100%; }
      #subnav nav ul {
        display: flex;
        justify-content: space-around; }
      #subnav nav a {
        padding: 0; } }

.full-width-slider {
  position: relative; }

.bx-wrapper img {
  margin: auto; }

.bx-pager {
  position: absolute;
  left: 0;
  width: 100%;
  bottom: 30px;
  display: flex;
  justify-content: center;
  text-indent: -9999px; }
  .bx-pager .bx-pager-item a {
    display: block;
    margin: 5px;
    background: #fff;
    opacity: 0.3;
    width: 14px;
    height: 14px;
    border-radius: 50%; }
    .bx-pager .bx-pager-item a.active, .bx-pager .bx-pager-item a:focus {
      opacity: 1; }

.full-width-slider .slider-custom-controls {
  z-index: 1;
  position: absolute;
  top: 30px;
  right: 30px;
  display: flex;
  align-items: center;
  font-weight: 700;
  font-size: 1rem;
  text-align: center; }
  .full-width-slider .slider-custom-controls .slider-control-btn {
    padding: 5px 15px;
    background: #dddcd5;
    margin: 0 5px;
    opacity: 0.9; }
    .full-width-slider .slider-custom-controls .slider-control-btn:hover {
      opacity: 1; }

.home-intro-boxes {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  color: #3b403c; }
  .home-intro-boxes > * {
    flex: 1 1 100%;
    max-width: 49%; }
  @media (max-width: 768px) {
    .home-intro-boxes > * {
      max-width: 100%; } }
  .home-intro-boxes > * {
    height: 440px;
    margin-bottom: 20px;
    background-size: cover;
    background-position: center center;
    display: flex;
    position: relative;
    flex-direction: column;
    align-items: center;
    justify-content: center; }
    .home-intro-boxes > *:hover:before {
      background: rgba(255, 255, 255, 0.4); }
    .home-intro-boxes > *:before {
      content: '';
      position: absolute;
      left: 0;
      top: 0;
      right: 0;
      bottom: 0;
      background: rgba(255, 255, 255, 0.8);
      z-index: 1; }
    .home-intro-boxes > * > * {
      position: relative;
      z-index: 2; }
  .home-intro-boxes h2 {
    text-align: center;
    color: inherit;
    margin-bottom: 25px; }

.home-articles-brief {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between; }
  .home-articles-brief > * {
    flex: 1 1 100%;
    max-width: 32.33333%; }
  @media (max-width: 768px) {
    .home-articles-brief > * {
      max-width: 100%; } }
  .home-articles-brief.blog-wrapper article {
    border-bottom: 0;
    margin-bottom: 0; }
  .home-articles-brief .entry-photo {
    width: 100%;
    height: 270px;
    background-position: center center;
    background-size: cover;
    display: block;
    margin-bottom: 10px; }
  @media (max-width: 767px) {
    .home-articles-brief {
      text-align: center; } }

.restaurant-menu .location-box {
  font-size: 2rem;
  border-top: 1px solid;
  padding-top: 40px; }
  .restaurant-menu .location-box ul {
    list-style-type: none;
    margin: 0;
    padding: 0; }
  .restaurant-menu .location-box li {
    line-height: 1.5;
    margin-bottom: 40px; }
    .restaurant-menu .location-box li span {
      text-transform: uppercase;
      display: block; }

.location-meta-info {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
  line-height: 2; }
  .location-meta-info > * {
    flex: 1 1 100%;
    max-width: 30.33333%; }
  @media (max-width: 768px) {
    .location-meta-info > * {
      max-width: 100%; } }
  .location-meta-info.double-col > *:last-child {
    max-width: 68.3%; }
  .location-meta-info .location-box {
    color: #3b403c; }
    .location-meta-info .location-box li span {
      color: #878787; }
    .location-meta-info .location-box.live-music-box {
      position: relative;
      overflow: hidden; }
      .location-meta-info .location-box.live-music-box .more {
        display: none; }
      .location-meta-info .location-box.live-music-box .less {
        display: inline-block; }
      .location-meta-info .location-box.live-music-box.collapsed .less {
        display: none; }
      .location-meta-info .location-box.live-music-box.collapsed .more {
        display: inline-block; }
      .location-meta-info .location-box.live-music-box .expand-trigger {
        position: absolute;
        bottom: 0;
        z-index: 2;
        background: #fff;
        width: 100%;
        cursor: pointer; }
        .location-meta-info .location-box.live-music-box .expand-trigger span {
          padding: 5px 0;
          font-size: 0.9em;
          border-bottom: 1px dashed #7f7c67;
          color: #7f7c67; }
          .location-meta-info .location-box.live-music-box .expand-trigger span:hover {
            border-bottom-style: solid; }

.location-box {
  margin-bottom: 40px; }
  .location-box header {
    margin-bottom: 40px; }
    .location-box header h2, .location-box header h3 {
      text-transform: uppercase; }
  .location-box ul {
    line-height: 1.3; }
  .location-box li {
    margin-bottom: 10px; }
  .location-box:last-of-type {
    margin-bottom: 0; }
  .location-box p {
    display: block;
    margin-bottom: 40px; }
    .location-box p a {
      text-decoration: none; }
    .location-box p strong {
      text-transform: uppercase;
      font-weight: 600;
      display: block; }
    .location-box p:last-of-type {
      margin-bottom: 0; }

.menu-grid {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between; }
  .menu-grid > * {
    flex: 1 1 100%;
    max-width: 30.83333%; }
  @media (max-width: 768px) {
    .menu-grid > * {
      max-width: 100%; } }
  .menu-grid > * {
    margin: 10px 0; }
  .menu-grid .btn {
    display: block; }

.instagram-gallery {
  display: flex;
  flex-wrap: wrap; }
  .instagram-gallery > * {
    flex: 1 0 auto;
    height: 300px;
    width: 300px;
    background-size: cover;
    background-position: center center; }

.shop-box {
  border: 1px solid  #c4c2b6; }
  .shop-box img {
    display: block; }
  .shop-box footer {
    text-align: center;
    padding: 45px; }
  .shop-box .btn {
    text-transform: uppercase;
    margin-top: 15px; }

.dine-with-us-locations {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  max-width: 1440px;
  margin: auto;
  justify-content: center; }
  .dine-with-us-locations > * {
    flex: 1 1 100%;
    max-width: 33.33333%; }
  @media (max-width: 768px) {
    .dine-with-us-locations > * {
      max-width: 100%; } }
  .dine-with-us-locations .dine-with-us-box {
    padding: 40px;
    border-width: 1px 1px 0 0;
    border-style: solid;
    border-color: #dddcd5; }
    .dine-with-us-locations .dine-with-us-box:nth-child(3n + 1) {
      border-left-width: 1px; }
    .dine-with-us-locations .dine-with-us-box:nth-child(-n + 3) {
      border-top: 0; }
  .dine-with-us-locations .identity-box {
    display: flex;
    align-items: center;
    justify-content: center; }
    .dine-with-us-locations .identity-box img {
      width: 200px; }

.dine-with-us-box .header {
  text-transform: uppercase;
  margin-bottom: 20px; }
  .dine-with-us-box .header > * {
    display: inline-block;
    vertical-align: baseline; }
  .dine-with-us-box .header h6 {
    font-size: 1.2rem; }

.dine-with-us-box .meta {
  margin-bottom: 20px; }
  .dine-with-us-box .meta .img-wrapper {
    display: block;
    overflow: hidden;
    width: 100%;
    height: 100px;
    margin-bottom: 25px;
    position: relative; }
    .dine-with-us-box .meta .img-wrapper img {
      position: absolute;
      margin: auto;
      top: 0;
      bottom: 0; }
  .dine-with-us-box .meta .btn {
    display: block; }

.dine-with-us-box nav {
  margin-bottom: 20px;
  line-height: 1.5; }
  .dine-with-us-box nav a {
    display: block; }
    .dine-with-us-box nav a:hover {
      text-decoration: underline; }
  .dine-with-us-box nav li {
    display: block; }

.dine-with-us-box aside ul {
  padding: 0;
  margin: 0;
  list-style-type: none; }

.dine-with-us-box aside li {
  display: block;
  margin: 15px 0; }

.current-careers-wrapper header h3 {
  color: #f2f3f2; }

.current-careers-wrapper .btn {
  display: block; }

.current-careers-wrapper .col {
  margin: 10px 0; }

.icon.our-roots-top {
  width: 210px;
  height: 75px; }

.blog-list-wrapper {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between; }
  .blog-list-wrapper > * {
    flex: 1 1 100%;
    max-width: 50%; }
  @media (max-width: 768px) {
    .blog-list-wrapper > * {
      max-width: 100%; } }
  .blog-list-wrapper .articles-list {
    max-width: 70%; }
  .blog-list-wrapper .sidebar {
    max-width: 20%; }
  @media (max-width: 767px) {
    .blog-list-wrapper .articles-list, .blog-list-wrapper .sidebar {
      max-width: 100%; }
    .blog-list-wrapper .articles-list {
      margin-bottom: 50px; } }

.blog-wrapper article {
  margin-bottom: 30px;
  padding-bottom: 30px;
  border-bottom: 1px solid #3b403c;
  line-height: 2; }
  .blog-wrapper article header {
    margin-bottom: 30px;
    font-size: 1.4rem;
    line-height: 1.4;
    word-break: break-all; }
    .blog-wrapper article header a {
      display: block;
      text-decoration: none; }
      .blog-wrapper article header a:hover, .blog-wrapper article header a:focus {
        text-decoration: underline; }
      .blog-wrapper article header a:visited {
        color: #242da2; }
    .blog-wrapper article header p {
      margin-bottom: 0; }
  .blog-wrapper article .categories-list a {
    display: inline-block;
    margin-right: 3px;
    text-transform: uppercase;
    font-weight: 600; }
    .blog-wrapper article .categories-list a:after {
      content: ','; }
    .blog-wrapper article .categories-list a:last-child {
      margin-right: 0; }
      .blog-wrapper article .categories-list a:last-child:after {
        content: ''; }
  .blog-wrapper article footer {
    margin-top: 30px;
    font-size: 1.4rem; }
  .blog-wrapper article .read-more {
    text-transform: uppercase;
    font-weight: 600;
    letter-spacing: 1px; }
    .blog-wrapper article .read-more:hover, .blog-wrapper article .read-more:focus {
      text-decoration: underline; }
    .blog-wrapper article .read-more:visited {
      color: #242da2; }

.blog-wrapper.blog-single-wrapper article {
  border-bottom: 0; }

.blog-wrapper .pagination li {
  margin: 0 5px;
  text-align: center;
  line-height: 20px;
  border-radius: 2px;
  background: #3b403c;
  color: #fff; }
  .blog-wrapper .pagination li.active, .blog-wrapper .pagination li:hover {
    background: black; }

.blog-wrapper .pagination a {
  width: 40px;
  height: 40px;
  display: block;
  padding: 10px; }

.blog-wrapper .pagination .pagination-info {
  margin-top: 10px;
  font-size: 70%; }

.blog-wrapper .side-box {
  margin-bottom: 30px; }
  .blog-wrapper .side-box header {
    margin-bottom: 30px; }
  .blog-wrapper .side-box nav {
    text-transform: uppercase; }
    .blog-wrapper .side-box nav li {
      display: block;
      border-width: 1px;
      border-style: solid;
      border-color: #7f7c67 transparent;
      margin-top: -1px; }
      .blog-wrapper .side-box nav li:hover, .blog-wrapper .side-box nav li.active {
        border-color: #7f7c67;
        background: #3b403c;
        color: #fff; }
    .blog-wrapper .side-box nav a {
      padding: 20px;
      display: block; }
  .blog-wrapper .side-box:last-of-type {
    margin-bottom: 0; }

.blog-posts-nav {
  border-top: 1px solid #3b403c; }
  .blog-posts-nav nav ul {
    display: flex;
    justify-content: center; }
  .blog-posts-nav nav li {
    border-width: 0 0 0 1px;
    border-style: solid;
    border-color: #3b403c; }
    .blog-posts-nav nav li:first-child {
      border-left: 0; }
      .blog-posts-nav nav li:first-child a {
        padding-right: 160px; }
    .blog-posts-nav nav li:last-child {
      text-align: right; }
      .blog-posts-nav nav li:last-child a {
        padding-left: 160px; }
  .blog-posts-nav nav span {
    display: block;
    font-size: 0.5em;
    margin-bottom: 35px;
    text-transform: uppercase; }
  .blog-posts-nav nav a {
    font-size: 1.8em;
    display: block;
    padding: 50px 25px; }
  @media (max-width: 767px) {
    .blog-posts-nav nav ul {
      flex-direction: column; }
    .blog-posts-nav nav a {
      padding: 25px 0; }
    .blog-posts-nav nav li {
      border-width: 0;
      text-align: center; }
      .blog-posts-nav nav li:first-child {
        border-bottom-width: 1px; }
        .blog-posts-nav nav li:first-child a {
          padding-right: 0; }
      .blog-posts-nav nav li:last-child {
        text-align: center; }
        .blog-posts-nav nav li:last-child a {
          padding-left: 0; } }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3R5bGUuY3NzIiwic291cmNlcyI6WyJzdHlsZS5zY3NzIiwidXRpbHMvX25vcm1hbGl6ZS5zY3NzIiwidXRpbHMvX2ZvbnRzLnNjc3MiLCJ1dGlscy9fZnVuY3Rpb25zLnNjc3MiLCJ1dGlscy9fdmFyaWFibGVzLnNjc3MiLCJ1dGlscy9fbWl4aW5zLnNjc3MiLCJ1dGlscy9fZ2VuZXJpYy5zY3NzIiwidXRpbHMvX2Zvcm1zLnNjc3MiLCJ1dGlscy9fYnV0dG9ucy5zY3NzIiwidXRpbHMvX3R5cG9ncmFwaHkuc2NzcyIsInV0aWxzL19ncmlkLnNjc3MiLCJsaWJyYXJ5L19qcXVlcnkuYnhzbGlkZXIuc2NzcyIsImNvbXBvbmVudHMvX2hlYWRlci5zY3NzIiwiY29tcG9uZW50cy9fZm9vdGVyLnNjc3MiLCJjb21wb25lbnRzL19jb3ZpZC1iYW5uZXIuc2NzcyIsImNvbXBvbmVudHMvX3BhZ2Utc2VjdGlvbi5zY3NzIiwiY29tcG9uZW50cy9fc3VibmF2LnNjc3MiLCJjb21wb25lbnRzL19zaWRlYmFyLnNjc3MiLCJjb21wb25lbnRzL19zbGlkZXIuc2NzcyIsInBhZ2VzL19ob21lLnNjc3MiLCJwYWdlcy9fbG9jYXRpb24uc2NzcyIsInBhZ2VzL19zaG9wLnNjc3MiLCJwYWdlcy9fZGluZS13aXRoLXVzLnNjc3MiLCJwYWdlcy9fY2FyZWVycy5zY3NzIiwicGFnZXMvX291ci1yb290cy5zY3NzIiwicGFnZXMvX2Jsb2cuc2NzcyIsInBhZ2VzL19mYXJtZXJzLnNjc3MiXSwic291cmNlc0NvbnRlbnQiOlsiQGltcG9ydCAndXRpbHMvbm9ybWFsaXplJztcbkBpbXBvcnQgJ3V0aWxzL2ZvbnRzJztcblxuQGltcG9ydCAndXRpbHMvZnVuY3Rpb25zJztcbkBpbXBvcnQgJ3V0aWxzL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICd1dGlscy9taXhpbnMnO1xuXG5AaW1wb3J0ICd1dGlscy9nZW5lcmljJztcblxuQGltcG9ydCAndXRpbHMvZm9ybXMnO1xuQGltcG9ydCAndXRpbHMvYnV0dG9ucyc7XG5AaW1wb3J0ICd1dGlscy90eXBvZ3JhcGh5JztcbkBpbXBvcnQgJ3V0aWxzL2dyaWQnO1xuXG5AaW1wb3J0ICdsaWJyYXJ5L2pxdWVyeS5ieHNsaWRlcic7XG5cbkBpbXBvcnQgJ2NvbXBvbmVudHMvaGVhZGVyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZm9vdGVyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY292aWQtYmFubmVyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcGFnZS1zZWN0aW9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc3VibmF2JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc2lkZWJhcic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3NsaWRlcic7XG5cbkBpbXBvcnQgJ3BhZ2VzL2hvbWUnO1xuQGltcG9ydCAncGFnZXMvbG9jYXRpb24nO1xuQGltcG9ydCAncGFnZXMvc2hvcCc7XG5AaW1wb3J0ICdwYWdlcy9kaW5lLXdpdGgtdXMnO1xuQGltcG9ydCAncGFnZXMvY2FyZWVycyc7XG5AaW1wb3J0ICdwYWdlcy9vdXItcm9vdHMnO1xuQGltcG9ydCAncGFnZXMvYmxvZyc7XG5AaW1wb3J0ICdwYWdlcy9mYXJtZXJzJztcbiIsIi8qISBub3JtYWxpemUuY3NzIHY4LjAuMCB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MgKi9cblxuLyogRG9jdW1lbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpbiBpT1MuXG4gKi9cblxuaHRtbCB7XG4gIGxpbmUtaGVpZ2h0OiAxLjE1OyAvKiAxICovXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMiAqL1xufVxuXG4vKiBTZWN0aW9uc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuYm9keSB7XG4gIG1hcmdpbjogMDtcbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBmb250IHNpemUgYW5kIG1hcmdpbiBvbiBgaDFgIGVsZW1lbnRzIHdpdGhpbiBgc2VjdGlvbmAgYW5kXG4gKiBgYXJ0aWNsZWAgY29udGV4dHMgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgU2FmYXJpLlxuICovXG5cbmgxIHtcbiAgZm9udC1zaXplOiAyZW07XG4gIG1hcmdpbjogMC42N2VtIDA7XG59XG5cbi8qIEdyb3VwaW5nIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gRmlyZWZveC5cbiAqIDIuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UgYW5kIElFLlxuICovXG5cbmhyIHtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7IC8qIDEgKi9cbiAgaGVpZ2h0OiAwOyAvKiAxICovXG4gIG92ZXJmbG93OiB2aXNpYmxlOyAvKiAyICovXG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5wcmUge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8qIDEgKi9cbiAgZm9udC1zaXplOiAxZW07IC8qIDIgKi9cbn1cblxuLyogVGV4dC1sZXZlbCBzZW1hbnRpY3NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgb24gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuICovXG5cbmEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLyoqXG4gKiAxLiBSZW1vdmUgdGhlIGJvdHRvbSBib3JkZXIgaW4gQ2hyb21lIDU3LVxuICogMi4gQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIElFLCBPcGVyYSwgYW5kIFNhZmFyaS5cbiAqL1xuXG5hYmJyW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7IC8qIDEgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IC8qIDIgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkOyAvKiAyICovXG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cbiAqL1xuXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmNvZGUsXG5rYmQsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtOyAvKiAyICovXG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc21hbGwge1xuICBmb250LXNpemU6IDgwJTtcbn1cblxuLyoqXG4gKiBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW5cbiAqIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zdWIsXG5zdXAge1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5zdWIge1xuICBib3R0b206IC0wLjI1ZW07XG59XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtO1xufVxuXG4vKiBFbWJlZGRlZCBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFJlbW92ZSB0aGUgYm9yZGVyIG9uIGltYWdlcyBpbnNpZGUgbGlua3MgaW4gSUUgMTAuXG4gKi9cblxuaW1nIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xufVxuXG4vKiBGb3Jtc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiAxLiBDaGFuZ2UgdGhlIGZvbnQgc3R5bGVzIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaS5cbiAqL1xuXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBmb250LWZhbWlseTogaW5oZXJpdDsgLyogMSAqL1xuICBmb250LXNpemU6IDEwMCU7IC8qIDEgKi9cbiAgbGluZS1oZWlnaHQ6IDEuMTU7IC8qIDEgKi9cbiAgbWFyZ2luOiAwOyAvKiAyICovXG59XG5cbi8qKlxuICogU2hvdyB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gKiAxLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlLlxuICovXG5cbmJ1dHRvbixcbmlucHV0IHsgLyogMSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UsIEZpcmVmb3gsIGFuZCBJRS5cbiAqIDEuIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRmlyZWZveC5cbiAqL1xuXG5idXR0b24sXG5zZWxlY3QgeyAvKiAxICovXG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gKi9cblxuYnV0dG9uLFxuW3R5cGU9XCJidXR0b25cIl0sXG5bdHlwZT1cInJlc2V0XCJdLFxuW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxuICovXG5cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwiYnV0dG9uXCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJyZXNldFwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwic3VibWl0XCJdOjotbW96LWZvY3VzLWlubmVyIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xuICBwYWRkaW5nOiAwO1xufVxuXG4vKipcbiAqIFJlc3RvcmUgdGhlIGZvY3VzIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cbiAqL1xuXG5idXR0b246LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cImJ1dHRvblwiXTotbW96LWZvY3VzcmluZyxcblt0eXBlPVwicmVzZXRcIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInN1Ym1pdFwiXTotbW96LWZvY3VzcmluZyB7XG4gIG91dGxpbmU6IDFweCBkb3R0ZWQgQnV0dG9uVGV4dDtcbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBwYWRkaW5nIGluIEZpcmVmb3guXG4gKi9cblxuZmllbGRzZXQge1xuICBwYWRkaW5nOiAwLjM1ZW0gMC43NWVtIDAuNjI1ZW07XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgdGV4dCB3cmFwcGluZyBpbiBFZGdlIGFuZCBJRS5cbiAqIDIuIENvcnJlY3QgdGhlIGNvbG9yIGluaGVyaXRhbmNlIGZyb20gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBJRS5cbiAqIDMuIFJlbW92ZSB0aGUgcGFkZGluZyBzbyBkZXZlbG9wZXJzIGFyZSBub3QgY2F1Z2h0IG91dCB3aGVuIHRoZXkgemVybyBvdXRcbiAqICAgIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmxlZ2VuZCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgY29sb3I6IGluaGVyaXQ7IC8qIDIgKi9cbiAgZGlzcGxheTogdGFibGU7IC8qIDEgKi9cbiAgbWF4LXdpZHRoOiAxMDAlOyAvKiAxICovXG4gIHBhZGRpbmc6IDA7IC8qIDMgKi9cbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDsgLyogMSAqL1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCB2ZXJ0aWNhbCBhbGlnbm1lbnQgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG4gKi9cblxucHJvZ3Jlc3Mge1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRSAxMCsuXG4gKi9cblxudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bztcbn1cblxuLyoqXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBJRSAxMC5cbiAqIDIuIFJlbW92ZSB0aGUgcGFkZGluZyBpbiBJRSAxMC5cbiAqL1xuXG5bdHlwZT1cImNoZWNrYm94XCJdLFxuW3R5cGU9XCJyYWRpb1wiXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgcGFkZGluZzogMDsgLyogMiAqL1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIENocm9tZS5cbiAqL1xuXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIG9kZCBhcHBlYXJhbmNlIGluIENocm9tZSBhbmQgU2FmYXJpLlxuICogMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXG4gKi9cblxuW3R5cGU9XCJzZWFyY2hcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLyogMSAqL1xuICBvdXRsaW5lLW9mZnNldDogLTJweDsgLyogMiAqL1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy5cbiAqL1xuXG5bdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICogMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxuICovXG5cbjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMSAqL1xuICBmb250OiBpbmhlcml0OyAvKiAyICovXG59XG5cbi8qIEludGVyYWN0aXZlXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gRWRnZSwgSUUgMTArLCBhbmQgRmlyZWZveC5cbiAqL1xuXG5kZXRhaWxzIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGxpc3QtaXRlbTtcbn1cblxuLyogTWlzY1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMCsuXG4gKi9cblxudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwLlxuICovXG5cbltoaWRkZW5dIHtcbiAgZGlzcGxheTogbm9uZTtcbn0iLCJAaW1wb3J0IHVybCgnaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3M/ZmFtaWx5PU1vbnRzZXJyYXQ6MzAwLDMwMGk0MDAsNDAwaSw2MDAsNjAwaSw3MDAsNzAwaScpO1xuIiwiQGZ1bmN0aW9uIGNvbG9yKCRjYXRlZ29yeSwgJHRvbmU6ICdub3JtYWwnKSB7XG4gICAgQHJldHVybiBtYXAtZ2V0KG1hcC1nZXQoJGNvbG9ycywgJGNhdGVnb3J5KSwgJHRvbmUpO1xufVxuXG5AZnVuY3Rpb24gYnJlYWtwb2ludCgkbmFtZSkge1xuICAgIEByZXR1cm4gbWFwLWdldCgkYnJlYWtwb2ludHMsICRuYW1lKTtcbn1cbiIsIiR3cmFwcGVyLXdpZHRoOiAxMjAwcHg7XG4kd3JhcHBlci13aWR0aC1uYXJyb3c6IDk2MHB4O1xuJHdyYXBwZXItd2lkdGgtd2lkZTogMTM2MHB4O1xuJHdyYXBwZXItZ2FwOiAxMHB4O1xuXG4kZm9udC1tb250c2VycmF0OiAnTW9udHNlcnJhdCcsIHNhbnMtc2VyaWY7XG5cbiRoZWFkZXItZ2FwOiA2MHB4O1xuJGhlYWRlci1zdWJuYXYtaGVpZ2h0OiA0ODBweDtcbiRoZWFkZXItcmVzcG9uc2l2ZS1uYXYtaGVpZ2h0OiA2NHB4O1xuJGhlYWRlci1hc2lkZS1oZWlnaHQ6IDQwcHg7XG4kcGFnZS1zZWN0aW9uLWdhcDogODVweDtcbiRwYWdlLXNlY3Rpb24taGVpZ2h0OiA2MDBweDtcblxuJGNvbnRlbnQtc2VjdGlvbi1nYXA6IDQwcHg7XG5cbiRzdWJuYXYtaGVpZ2h0OiA3MHB4O1xuXG4kYmFzZS1mb250LXNpemU6IDEuOHJlbTtcbiRiYXNlLWZvbnQtZmFtaWx5OiAkZm9udC1tb250c2VycmF0O1xuJGJhc2UtZm9udC13ZWlnaHQ6IDMwMDtcblxuJGNvbG9yLXByaW1hcnk6IHJnYig1OSw2NCwgNjApO1xuJGNvbG9yLXNlY29uZGFyeTogcmdiKDEyNywgMTI0LCAxMDMpO1xuXG4kY29sb3ItdmlzaXRlZC1saW5rcy1wcmltYXJ5OiAjMjQyZGEyO1xuJGNvbG9yLXZpc2l0ZWQtbGlua3Mtc2Vjb25kYXJ5OiAjODQ4ZGY3O1xuXG4kY29sb3JzOiAoXG4gICAgcHJpbWFyeTogKFxuICAgICAgICBub3JtYWw6ICRjb2xvci1wcmltYXJ5LFxuICAgICAgICBsaWdodDogbGlnaHRlbigkY29sb3ItcHJpbWFyeSwgNzElKVxuICAgICksXG4gICAgc2Vjb25kYXJ5OiAoXG4gICAgICAgIG5vcm1hbDogJGNvbG9yLXNlY29uZGFyeSxcbiAgICAgICAgbGlnaHQ6IGxpZ2h0ZW4oJGNvbG9yLXNlY29uZGFyeSwgNDAlKVxuICAgICksXG4gICAgdHlwb2dyYXBoeTogKFxuICAgICAgICBsaWdodDogbGlnaHRlbihyZ2IoMCwgMCwgMCksIDUzJSksXG4gICAgICAgIGRhcms6ICRjb2xvci1wcmltYXJ5XG4gICAgKSxcbiAgICBoZWFkaW5nOiAoXG4gICAgICAgIGxpZ2h0OiBsaWdodGVuKCRjb2xvci1wcmltYXJ5LCA3NSUpLFxuICAgICAgICBkYXJrOiAkY29sb3ItcHJpbWFyeVxuICAgICksXG4gICAgYnV0dG9uOiAoXG4gICAgICAgIGxpZ2h0OiBsaWdodGVuKCRjb2xvci1zZWNvbmRhcnksIDQ0JSlcbiAgICApXG4pO1xuXG4kYnJlYWtwb2ludHM6IChcbiAgICBzbWFsbC1kZXZpY2VzOiA1NzZweCxcbiAgICBtZWRpdW0tZGV2aWNlczogNzY4cHhcbik7XG4iLCIkYnJlYWtwb2ludHM6IChcbiAgICBzbWFsbC1kZXZpY2VzOiA1NzZweCxcbiAgICBtZWRpdW0tZGV2aWNlczogNzY4cHhcbik7XG5cbkBtaXhpbiB1cC10by1tZWRpdW0tZGV2aWNlcyB7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDU3NXB4KSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgIH1cbn1cblxuXG5AbWl4aW4gYWJvdmUtbWVkaXVtLWRldmljZXMge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgICBAY29udGVudDtcbiAgICB9XG59XG5cbkBtaXhpbiBiZWxvdy1tZWRpdW0tZGV2aWNlcyB7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgIH1cbn1cblxuQG1peGluIGdyaWQoJGNvbHMsICRnYXA6IDApIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cbiAgICA+ICoge1xuICAgICAgICBmbGV4OiAxIDEgMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiBwZXJjZW50YWdlKDEgLyAkY29scykgLSAkZ2FwO1xuICAgIH1cblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiBicmVha3BvaW50KG1lZGl1bS1kZXZpY2VzKSApIHtcblxuICAgICAgICA+ICoge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiKiB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuaHRtbCB7XG4gICAgZm9udC1zaXplOiA2Mi41JTtcbn1cblxuYm9keSB7XG4gICAgZm9udC1mYW1pbHk6ICRiYXNlLWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtd2VpZ2h0OiAkYmFzZS1mb250LXdlaWdodDtcbiAgICBmb250LXNpemU6ICRiYXNlLWZvbnQtc2l6ZTtcbiAgICBjb2xvcjogY29sb3IodHlwb2dyYXBoeSwgbm9ybWFsKTtcbn1cblxuLmlzLXBsYWNlaG9sZGVyIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbmEge1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgIHAgJiB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG5cbiAgICAgICAgJjpob3ZlcixcbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAmOnZpc2l0ZWQge1xuICAgICAgICAgICAgY29sb3I6ICRjb2xvci12aXNpdGVkLWxpbmtzLXByaW1hcnk7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5wIHtcbiAgICBtYXJnaW46IDAgMCAkY29udGVudC1zZWN0aW9uLWdhcCAwO1xufVxuXG5pbWcge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IGF1dG87XG59XG5cbmRsIHtcbiAgICBkdCwgZGQge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxufVxuXG5uYXYge1xuICAgIHVsIHtcbiAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICAgPiBsaSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbmZpZ3VyZSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG5cbiAgICBmaWdjYXB0aW9uIHtcbiAgICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgIH1cbn1cblxuXG5jaXRlIHtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICdcXDAyMDEzJztcbiAgICAgICAgcGFkZGluZy1yaWdodDogNXB4O1xuICAgIH1cbn1cblxuLnRhLWMge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLnRhLWwge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbkBpbmNsdWRlIGFib3ZlLW1lZGl1bS1kZXZpY2VzIHtcbiAgICAuYmVsb3ctbWVkaXVtLWRldmljZXMtb25seSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG59XG5cbkBpbmNsdWRlIGJlbG93LW1lZGl1bS1kZXZpY2VzIHtcbiAgICAuYWJvdmUtbWVkaXVtLWRldmljZXMtb25seSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG59XG4iLCJpbnB1dCB7XG4gICAgcGFkZGluZzogN3B4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvci1wcmltYXJ5O1xuXG4gICAgJjpmb2N1cyB7XG4gICAgICAgIG91dGxpbmU6IDA7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAzcHggcmdiYSgkY29sb3ItcHJpbWFyeSwgMC4yKTtcbiAgICB9XG59IiwiLmJ0biB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICAmLmJ0bi1wcmltYXJ5IHtcbiAgICAgICAgYmFja2dyb3VuZDogY29sb3IoYnV0dG9uLCBsaWdodCk7XG4gICAgICAgIGNvbG9yOiBjb2xvcihwcmltYXJ5LCBub3JtYWwpO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBkYXJrZW4oY29sb3IoYnV0dG9uLCBsaWdodCksIDE1JSk7XG4gICAgICAgIHBhZGRpbmc6IDEuMWVtIDNlbTtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IGNvbG9yKHByaW1hcnksIG5vcm1hbCk7XG4gICAgICAgICAgICBjb2xvcjogY29sb3IocHJpbWFyeSwgbGlnaHQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5idG4tc2Vjb25kYXJ5IHtcbiAgICAgICAgY29sb3I6IGNvbG9yKHByaW1hcnksIGxpZ2h0KTtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgY29sb3IocHJpbWFyeSwgbGlnaHQpO1xuICAgICAgICBwYWRkaW5nOiAxZW0gMi41ZW07XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBjb2xvcihwcmltYXJ5LCBsaWdodCk7XG4gICAgICAgICAgICBjb2xvcjogY29sb3IocHJpbWFyeSwgbm9ybWFsKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYuYnRuLWJsb2NrIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgJi5idG4tc2hvcnQge1xuICAgICAgICBwYWRkaW5nLXRvcDogMC41ZW07XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwLjVlbTtcbiAgICB9XG5cbiAgICAmLmJ0bi13aWRlIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA2ZW07XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDZlbTtcbiAgICB9XG5cbiAgICAmLnNob3ctbW9yZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbn0iLCJAZm9yICRpIGZyb20gMSB0aHJvdWdoIDYge1xuICAgIGgjeyRpfSB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmb250LW1vbnRzZXJyYXQ7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICAgIGNvbG9yOiBjb2xvcihoZWFkaW5nLCBkYXJrKTtcbiAgICB9XG59XG5cbmgxIHsgZm9udC1zaXplOiA2cmVtOyB9XG5oMiB7IGZvbnQtc2l6ZTogNHJlbTsgfVxuaDMgeyBmb250LXNpemU6IDMuNnJlbTsgfVxuaDQgeyBmb250LXNpemU6IDIuNnJlbTsgfVxuaDUgeyBmb250LXNpemU6IDIuMXJlbTsgfVxuaDYgeyBmb250LXNpemU6IDEuNmVtOyB9IiwiLndyYXBwZXIge1xuICAgIG1heC13aWR0aDogI3skd3JhcHBlci13aWR0aCArIDIgKiAkd3JhcHBlci1nYXB9O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogYXV0bztcbiAgICBwYWRkaW5nLWxlZnQ6ICR3cmFwcGVyLWdhcDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkd3JhcHBlci1nYXA7XG5cbiAgICAmLndyYXBwZXItbmFycm93IHtcbiAgICAgICAgbWF4LXdpZHRoOiAkd3JhcHBlci13aWR0aC1uYXJyb3c7XG4gICAgfVxuXG4gICAgJi53cmFwcGVyLXdpZGUge1xuICAgICAgICBtYXgtd2lkdGg6ICR3cmFwcGVyLXdpZHRoLXdpZGU7XG4gICAgfVxuXG4gICAgJi53cmFwcGVyLWZ1bGwge1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgYmFja2dyb3VuZDogY29sb3IocHJpbWFyeSwgbGlnaHQpO1xuICAgICAgICBjb2xvcjogY29sb3IocHJpbWFyeSwgbm9ybWFsKTtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICB9XG5cbiAgICAmLm5vLWJhY2tncm91bmQge1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICB9XG5cbiAgICAmLm5vLXBhZGRpbmcge1xuICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgJi5oYXMtc2VwYXJhdG9yIHtcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIGNvbG9yKHByaW1hcnksIG5vcm1hbCk7XG4gICAgfVxuXG4gICAgPiBoZWFkZXIge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XG4gICAgfVxuXG4gICAgPiAud3JhcHBlciB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICBtYWluID4gJiB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAkY29udGVudC1zZWN0aW9uLWdhcDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206ICRjb250ZW50LXNlY3Rpb24tZ2FwO1xuICAgIH1cbn1cblxuLnJldmVyc2UtY29scyB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xufVxuXG4uZ3JpZC0yIHtcbiAgICBAaW5jbHVkZSBncmlkKDIsIDUlKTtcbn1cblxuLmdyaWQtMyB7XG4gICAgQGluY2x1ZGUgZ3JpZCgzKTtcbn1cbiIsIi5ieC13cmFwcGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiAwO1xuICAqem9vbTogMTtcbiAgLW1zLXRvdWNoLWFjdGlvbjogcGFuLXk7XG4gIHRvdWNoLWFjdGlvbjogcGFuLXk7XG59XG4uYngtd3JhcHBlciBpbWcge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLmJ4c2xpZGVyIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xufVxudWwuYnhzbGlkZXIge1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuLmJ4LXZpZXdwb3J0IHtcbiAgLypmaXggb3RoZXIgZWxlbWVudHMgb24gdGhlIHBhZ2UgbW92aW5nIChvbiBDaHJvbWUpKi9cbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZXooMCk7XG59IiwiI2FwcC1oZWFkZXIge1xuICAgICRpbm5lci1nYXA6IDE0cHg7XG5cbiAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICBsZXR0ZXItc3BhY2luZzogMXB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAkaGVhZGVyLWdhcDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgY29sb3Ioc2Vjb25kYXJ5LCBsaWdodCk7XG5cbiAgICA+IGFzaWRlIHtcbiAgICAgICAgYmFja2dyb3VuZDogY29sb3IocHJpbWFyeSwgbGlnaHQpO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgY29sb3Ioc2Vjb25kYXJ5LCBsaWdodCk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgaGVpZ2h0OiAkaGVhZGVyLWFzaWRlLWhlaWdodDtcblxuICAgICAgICAud3JhcHBlciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5wcm9tbyB7XG4gICAgICAgIGNvbG9yOiAjRDE2QjYwO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuXG4gICAgLnVzZXItcGFuZWwge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgICAgIG5hdiB7XG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBjb2xvcjogY29sb3IocHJpbWFyeSwgbm9ybWFsKTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAkaW5uZXItZ2FwO1xuXG4gICAgICAgICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjp2aXNpdGVkIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvci12aXNpdGVkLWxpbmtzLXByaW1hcnk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgZm9ybSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZGJkYmRiO1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBjb2xvcihzZWNvbmRhcnksIGxpZ2h0KTtcbiAgICAgICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgICAgICBib3JkZXItd2lkdGg6IDAgMXB4O1xuXG4gICAgICAgICAgICBpbnB1dCB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6ICRpbm5lci1nYXA7XG5cbiAgICAgICAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBiZWxvdy1tZWRpdW0tZGV2aWNlcyB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuXG4gICAgICAgID4gYXNpZGUge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgICAgICAgICAgLndyYXBwZXIge1xuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogJGlubmVyLWdhcDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuI3ByaW1hcnktbmF2IHtcbiAgICAkaXRlbS1wYWRkaW5nOiAxMHB4O1xuXG4gICAgPiBuYXYgPiB1bCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICAgICAgICA+IGxpIHtcbiAgICAgICAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxNTBweDtcblxuICAgICAgICAgICAgJi5pZGVudGl0eSB7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAzODBweDtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgICAgICAgICAuaWNvbiB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogODAlO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgPiBhIHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogaW5oZXJpdDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgID4gYSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogJGl0ZW0tcGFkZGluZyAwO1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICBjb2xvcjogY29sb3IocHJpbWFyeSwgbm9ybWFsKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5oYXMtc3VibmF2IHtcbiAgICAgICAgICAgIC5pY29uIHtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyBlYXNlLWluO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMHB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogNnB4O1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAuaWNvbiB7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAjeyRoZWFkZXItZ2FwfTtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6ICN7JGl0ZW0tcGFkZGluZyAqIDIgfTtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4jcHJpbWFyeS1uYXYtcmVzcG9uc2l2ZSB7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjFzIGVhc2UtaW4gMC4ycztcbiAgICBoZWlnaHQ6ICRoZWFkZXItcmVzcG9uc2l2ZS1uYXYtaGVpZ2h0O1xuXG4gICAgY29sb3I6IGNvbG9yKHByaW1hcnksIGxpZ2h0KTtcblxuICAgIC5uYXYtYmFyLFxuICAgID4gbmF2IHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB6LWluZGV4OiA1O1xuICAgIH1cblxuICAgIC5kaW5lLXdpdGgtdXMtc2hvcnRjdXQge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgICAgcGFkZGluZzogMCAxMCU7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICBjb2xvcjogY29sb3IocHJpbWFyeSwgbm9ybWFsKTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICAgICAgICAuaG9tZSAmIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm5hdi1iYXIge1xuICAgICAgICBwYWRkaW5nLXRvcDogMTBweDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG5cbiAgICAuaWRlbnRpdHkge1xuICAgICAgICBmaWxsOiBjb2xvcihwcmltYXJ5LCBub3JtYWwpO1xuXG4gICAgICAgIC5pY29uIHtcbiAgICAgICAgICAgIHdpZHRoOiA0MHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnRyaWdnZXIge1xuICAgICAgICAuaWNvbiB7XG4gICAgICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgICAgIGhlaWdodDogMjBweDtcblxuICAgICAgICAgICAgJi1jbG9zZSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5pcy1tb2JpbGUtbmF2LXZpc2libGUgJiB7XG4gICAgICAgIC5pZGVudGl0eSB7XG4gICAgICAgICAgICBmaWxsOiBjb2xvcihwcmltYXJ5LCBsaWdodCk7XG4gICAgICAgIH1cblxuICAgICAgICAuZGluZS13aXRoLXVzLXNob3J0Y3V0IHtcbiAgICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgfVxuXG4gICAgICAgIC5pY29uLWNsb3NlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG5cbiAgICAgICAgLmljb24tc2hvdyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICA+IG5hdiB7XG5cbiAgICAgICAgPiB1bCA+IGxpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgICAgICAgICAmOm5vdCgudmlzaWJsZSkge1xuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDEwMHB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICA+IC5kZXNjcmlwdGlvbiB7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICA+IGEge1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiA1MHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgYTpmb2N1cyB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAzcHggc29saWQgY3VycmVudENvbG9yO1xuICAgICAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC51c2VyLXBhbmVsLW5hdiB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMTBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5iYWNrZ3JvdW5kIHtcbiAgICAgICAgdHJhbnNpdGlvbjogdG9wIDAuMnMgZWFzZS1pbjtcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYig4OSwgOTMsIDkwKTtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgICAgei1pbmRleDogMjtcbiAgICB9XG59XG5cbi5zdWJuYXYge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAjcHJpbWFyeS1uYXYgJiB7XG4gICAgICAgIGJhY2tncm91bmQ6IGNvbG9yKHByaW1hcnksIG5vcm1hbCk7XG4gICAgICAgIGNvbG9yOiBjb2xvcihwcmltYXJ5LCBsaWdodCk7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbi10b3A6ICRoZWFkZXItZ2FwO1xuICAgICAgICB6LWluZGV4OiA5OTtcbiAgICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgfVxuXG4gICAgI3ByaW1hcnktbmF2LXJlc3BvbnNpdmUgJiB7XG4gICAgICAgIG92ZXJmbG93OiBhdXRvO1xuICAgICAgICBtYXJnaW4tdG9wOiAxNXB4O1xuXG4gICAgICAgIC5oZWFkZXIgPiAqIHtcbiAgICAgICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICB9XG5cbiAgICAgICAgLmRpbmUtd2l0aC11cy1ib3gge1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBjb2xvcihwcmltYXJ5KTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDE1cHg7XG5cbiAgICAgICAgICAgIC5leHRyYS1pbmZvIHtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwLjU7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLnZpc2libGUge1xuICAgICAgICAgICAgICAgID4gLmhlYWRlciA+IC5pY29uIHtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5idXR0b25zIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcblxuICAgICAgICAgICAgICAgID4gKiB7XG4gICAgICAgICAgICAgICAgICAgIGZsZXg6IDEgMSAxMDAlO1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA0OCU7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogNXB4O1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiA1cHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICA+IC5oZWFkZXIge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICAgICAgaDUge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuOHJlbTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBoNiB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICA+IC5pY29uIHtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMnMgZWFzZS1pbjtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMjJweDtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMXB4O1xuICAgICAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDUwJSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICA+IC5jb250ZW50IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAxNXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG59XG5cblxuLmRpbmUtd2l0aC11cy1zdWJuYXYge1xuICAgICRoZWlnaHRzOiAoXG4gICAgICAgIGhlYWRlcjogNTBweCxcbiAgICAgICAgbWV0YTogMTYwcHgsXG4gICAgICAgIG5hdjogODVweCxcbiAgICAgICAgYXNpZGU6IDk1cHhcbiAgICApO1xuXG4gICAgPiAud3JhcHBlciB7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQoNSk7XG4gICAgfVxuXG4gICAgLmRpbmUtd2l0aC11cy1ib3gge1xuICAgICAgICBwYWRkaW5nOiAyMHB4O1xuICAgICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCBjb2xvcihzZWNvbmRhcnksIGxpZ2h0KTtcblxuICAgICAgICAuaGVhZGVyIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICBoZWlnaHQ6IG1hcC1nZXQoJGhlaWdodHMsIGhlYWRlcik7XG5cbiAgICAgICAgICAgID4gKiB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubWV0YSB7XG4gICAgICAgICAgICBoZWlnaHQ6IG1hcC1nZXQoJGhlaWdodHMsIG1ldGEpO1xuICAgICAgICB9XG5cbiAgICAgICAgbmF2IHtcbiAgICAgICAgICAgIGhlaWdodDogbWFwLWdldCgkaGVpZ2h0cywgbmF2KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGFzaWRlIHtcbiAgICAgICAgICAgIGhlaWdodDogbWFwLWdldCgkaGVpZ2h0cywgYXNpZGUpO1xuICAgICAgICB9XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCBjb2xvcihzZWNvbmRhcnksIGxpZ2h0KTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIiNhcHAtZm9vdGVyIHtcbiAgICAkbGluay1wYWRkaW5nOiAxMHB4O1xuICAgICRiYWNrLXRvLXRvcC1zaXplOiA0MHB4O1xuXG4gICAgcGFkZGluZzogNjBweCAwIDM1cHg7XG4gICAgYmFja2dyb3VuZDogY29sb3IocHJpbWFyeSwgbm9ybWFsKTtcbiAgICBjb2xvcjogY29sb3IocHJpbWFyeSwgbGlnaHQpO1xuICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuXG4gICAgPiAud3JhcHBlciB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG5cbiAgICBhIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICB9XG5cbiAgICAgICAgJjp2aXNpdGVkIHtcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItdmlzaXRlZC1saW5rcy1zZWNvbmRhcnk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZm9vdGVyLXJvdyB7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQoMik7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwMHB4O1xuXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJi51c2VyLWluZm8ge1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgICAgICB9XG5cbiAgICAgICAgPiAuY29sOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogJGJhY2stdG8tdG9wLXNpemU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuaWRlbnRpdHkge1xuICAgICAgICAuaWNvbiB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDE0MHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAxNDBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zZWNvbmRhcnktbmF2IHtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZCgzLCAzJSk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuXG4gICAgICAgIG5hdiB7XG4gICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6ICRsaW5rLXBhZGRpbmcgMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIGFzaWRlIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgfVxuXG4gICAgLmNvcHlyaWdodCBwIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxuICAgIC5leHRyYS1pbmZvIHtcbiAgICAgICAgdWwge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5iYWNrLXRvLXRvcCB7XG4gICAgICAgIHdpZHRoOiAkYmFjay10by10b3Atc2l6ZTtcbiAgICAgICAgaGVpZ2h0OiAkYmFjay10by10b3Atc2l6ZTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuXG4gICAgICAgIC5pY29uIHtcbiAgICAgICAgICAgIHdpZHRoOiAkYmFjay10by10b3Atc2l6ZTtcbiAgICAgICAgICAgIGhlaWdodDogJGJhY2stdG8tdG9wLXNpemU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBiZWxvdy1tZWRpdW0tZGV2aWNlcyB7XG4gICAgICAgICRpbm5lci1nYXA6IDIwcHg7XG4gICAgICAgICRpbm5lci1ib3JkZXItY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zKTtcblxuICAgICAgICBmb250LXNpemU6IDEuMnJlbTtcblxuICAgICAgICAuZm9vdGVyLXJvdyB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgICAgICAgICAmLnVzZXItaW5mbyB7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogJGlubmVyLWdhcCAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICA+IC5jb2w6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGFzaWRlIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4xcmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgLmlkZW50aXR5IHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkaW5uZXItYm9yZGVyLWNvbG9yO1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206ICRpbm5lci1nYXA7XG4gICAgICAgIH1cblxuICAgICAgICAuc2Vjb25kYXJ5LW5hdiB7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRpbm5lci1ib3JkZXItY29sb3I7XG5cbiAgICAgICAgICAgID4gbmF2OmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDkwJTtcbiAgICAgICAgICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRpbm5lci1ib3JkZXItY29sb3I7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIG5hdiB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogJGlubmVyLWdhcDtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDUwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5leHRyYS1pbmZvIHtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAkaW5uZXItZ2FwO1xuXG4gICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogNXB4IDA7XG4gICAgICAgICAgICAgICAgZmxleDogMSAxIDUwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgfVxufVxuIiwiI2NvdmlkLWJhbm5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDk5OTtcbiAgICBmb250LXNpemU6IDEuM3JlbTtcbiAgICBwYWRkaW5nOiAxMHB4IDIwcHg7XG4gICAgYmFja2dyb3VuZDogY29sb3IocHJpbWFyeSwgbm9ybWFsKTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgY29sb3Ioc2Vjb25kYXJ5LCBsaWdodCk7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgY29sb3I6ICNmZmY7XG5cbiAgICBwIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxuICAgIGE6dmlzaXRlZCB7XG4gICAgICAgIGNvbG9yOiAkY29sb3ItdmlzaXRlZC1saW5rcy1zZWNvbmRhcnk7XG4gICAgfVxufVxuIiwiLnBhZ2Utc2VjdGlvbiB7XG4gICAgcGFkZGluZzogMTQwcHggMCAxNzBweDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGhlaWdodDogJHBhZ2Utc2VjdGlvbi1oZWlnaHQ7XG5cbiAgICAmLmR5bmFtaWMtaGVpZ2h0IHtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgIH1cblxuICAgIHVsIHtcbiAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxuXG4gICAgaDEge1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIH1cblxuICAgID4gKiB7XG4gICAgICAgIGNvbG9yOiBjb2xvcihoZWFkaW5nLCBsaWdodCk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XG5cbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLnN0eWxlLTIge1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgY29sb3Ioc2Vjb25kYXJ5LCBsaWdodCk7XG4gICAgICAgIHBhZGRpbmc6IDYwcHggMDtcblxuICAgICAgICA+ICoge1xuICAgICAgICAgICAgY29sb3I6IGNvbG9yKGhlYWRpbmcsIGRhcmspO1xuXG4gICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5zbWFsbC1pdGVtcy1nYXAge1xuICAgICAgICA+ICoge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcblxuICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgKyAuY29udGVudC1zZWN0aW9uIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYmVsb3ctbWVkaXVtLWRldmljZXMge1xuICAgICAgICBoZWlnaHQ6ICN7JHBhZ2Utc2VjdGlvbi1oZWlnaHQgLyAyfTtcblxuICAgICAgICBoMSB7XG4gICAgICAgICAgICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xuICAgICAgICAgICAgZm9udC1zaXplOiA0LjVyZW07XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5pbnRybyB7XG4gICAgY29sb3I6IGNvbG9yKHR5cG9ncmFwaHksIGRhcmspO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBsaW5lLWhlaWdodDogMjtcblxuICAgICYuc3R5bGUtMiB7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgfVxuXG4gICAgPiAqIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJGNvbnRlbnQtc2VjdGlvbi1nYXA7XG5cbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBoZWFkZXIge1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkY29udGVudC1zZWN0aW9uLWdhcDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBiZWxvdy1tZWRpdW0tZGV2aWNlcyB7XG4gICAgICAgIHRleHQtYWxpZ246IGp1c3RpZnk7XG4gICAgfVxuXG59XG5cbi5jb250ZW50LXNlY3Rpb24ge1xuICAgIEBpbmNsdWRlIGdyaWQoMiwgNSUpO1xuICAgIGxpbmUtaGVpZ2h0OiAyO1xuXG4gICAgaGVhZGVyIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcblxuICAgICAgICBoNSB7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLndpZGVyLWNvbnRlbnQge1xuICAgICAgICBtYXJnaW46IDAgLTYwcHggJGNvbnRlbnQtc2VjdGlvbi1nYXAgLTYwcHg7XG4gICAgfVxuXG4gICAgJi5zaW5nbGUtY29sIHtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZCgxKTtcbiAgICB9XG5cbiAgICAmLmNvbHMtdW5lcXVhbCB7XG4gICAgICAgID4gOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogNTAlO1xuICAgICAgICB9XG5cbiAgICAgICAgPiA6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDQwJTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYuaGFzLXNlcGFyYXRvciB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMDAwO1xuXG4gICAgICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLnN0eWxlLTIge1xuICAgICAgICBoZWFkZXIge1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIGJlbG93LW1lZGl1bS1kZXZpY2VzIHtcbiAgICAgICAgPiAqIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRjb250ZW50LXNlY3Rpb24tZ2FwO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiI3N1Ym5hdi1wbGFjZWhvbGRlciB7XG4gICAgaGVpZ2h0OiAkc3VibmF2LWhlaWdodDtcbiAgICB3aWR0aDogMXB4O1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbiNzdWJuYXYge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgbGluZS1oZWlnaHQ6IDcwcHg7XG4gICAgY29sb3I6IGNvbG9yKHR5cG9ncmFwaHksIGRhcmspO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBjb2xvcihzZWNvbmRhcnksIGxpZ2h0KTtcbiAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgICBoZWlnaHQ6ICRzdWJuYXYtaGVpZ2h0O1xuXG4gICAgJi5zdGlja3kge1xuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgIHotaW5kZXg6IDk5O1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgID4gLndyYXBwZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgfVxuXG5cbiAgICBuYXYge1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gICAgICAgIGEge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDI1cHg7XG4gICAgICAgIH1cblxuICAgICAgICBsaS5hY3RpdmUgYSxcbiAgICAgICAgYTpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBjb2xvcihwcmltYXJ5LCBub3JtYWwpO1xuICAgICAgICAgICAgY29sb3I6IGNvbG9yKHByaW1hcnksIGxpZ2h0KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIGJlbG93LW1lZGl1bS1kZXZpY2VzIHtcbiAgICAgICAgaDQge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIG5hdiB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuMXJlbTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgICB1bCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIiIsIi5mdWxsLXdpZHRoLXNsaWRlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uYngtd3JhcHBlciB7XG4gIGltZyB7XG4gICAgbWFyZ2luOiBhdXRvO1xuICB9XG59XG5cbi5ieC1wYWdlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGJvdHRvbTogMzBweDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHRleHQtaW5kZW50OiAtOTk5OXB4O1xuXG4gIC5ieC1wYWdlci1pdGVtIGEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogNXB4O1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgb3BhY2l0eTogMC4zO1xuICAgIHdpZHRoOiAxNHB4O1xuICAgIGhlaWdodDogMTRweDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG5cbiAgICAmLmFjdGl2ZSxcbiAgICAmOmZvY3VzIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuICB9XG59XG5cbi5mdWxsLXdpZHRoLXNsaWRlciAuc2xpZGVyLWN1c3RvbS1jb250cm9scyB7XG4gICAgei1pbmRleDogMTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAzMHB4O1xuICAgIHJpZ2h0OiAzMHB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAuc2xpZGVyLWNvbnRyb2wtYnRuIHtcbiAgICAgICAgcGFkZGluZzogNXB4IDE1cHg7XG4gICAgICAgIGJhY2tncm91bmQ6IGNvbG9yKHNlY29uZGFyeSwgbGlnaHQpO1xuICAgICAgICBtYXJnaW46IDAgNXB4O1xuICAgICAgICBvcGFjaXR5OiAwLjk7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLmhvbWUtaW50cm8tYm94ZXMge1xuICAgIEBpbmNsdWRlIGdyaWQoMiwgMSUpO1xuICAgIGNvbG9yOiBjb2xvcihwcmltYXJ5LCBub3JtYWwpO1xuXG4gICAgPiAqIHtcbiAgICAgICAgaGVpZ2h0OiA0NDBweDs7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgICAgICAgJjpob3ZlcjpiZWZvcmUge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAuNCk7XG4gICAgICAgIH1cblxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgLjgpO1xuICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgfVxuXG4gICAgICAgID4gKiB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaDIge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICAgIH1cbn1cblxuLmhvbWUtYXJ0aWNsZXMtYnJpZWYge1xuICAgIEBpbmNsdWRlIGdyaWQoMywgMSUpO1xuXG4gICAgJi5ibG9nLXdyYXBwZXIgYXJ0aWNsZSB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgLmVudHJ5LXBob3RvIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMjcwcHg7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJlbG93LW1lZGl1bS1kZXZpY2VzIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cbn1cbiIsIiRsb2NhdGlvbi1ib3gtZ2FwOiA0MHB4O1xuXG4ucmVzdGF1cmFudC1tZW51IC5sb2NhdGlvbi1ib3gge1xuICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgY29sb3IocHJpbWFyeSwgZGFyayk7XG4gICAgcGFkZGluZy10b3A6ICRsb2NhdGlvbi1ib3gtZ2FwO1xuXG4gICAgdWwge1xuICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICBsaSB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRsb2NhdGlvbi1ib3gtZ2FwO1xuXG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5cbi5sb2NhdGlvbi1tZXRhLWluZm8ge1xuICAgIEBpbmNsdWRlIGdyaWQoMywgMyUpO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIGxpbmUtaGVpZ2h0OiAyO1xuXG4gICAgJi5kb3VibGUtY29sIHtcbiAgICAgICAgPiAqOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiA2OC4zJTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5sb2NhdGlvbi1ib3gge1xuICAgICAgICBjb2xvcjogY29sb3IocHJpbWFyeSwgbm9ybWFsKTtcblxuICAgICAgICBsaSBzcGFuIHtcbiAgICAgICAgICAgIGNvbG9yOiBjb2xvcih0eXBvZ3JhcGh5LCBsaWdodCk7XG4gICAgICAgIH1cblxuICAgICAgICAmLmxpdmUtbXVzaWMtYm94IHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAgICAgICAgIC5tb3JlIHsgZGlzcGxheTogbm9uZTsgfVxuICAgICAgICAgICAgLmxlc3MgeyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxuICAgICAgICAgICAgJi5jb2xsYXBzZWQge1xuICAgICAgICAgICAgICAgIC5sZXNzIHsgZGlzcGxheTogbm9uZTsgfVxuICAgICAgICAgICAgICAgIC5tb3JlIHsgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5leHBhbmQtdHJpZ2dlciB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDVweCAwO1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDAuOWVtO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggZGFzaGVkICRjb2xvci1zZWNvbmRhcnk7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3Itc2Vjb25kYXJ5O1xuXG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5sb2NhdGlvbi1ib3gge1xuICAgIG1hcmdpbi1ib3R0b206ICRsb2NhdGlvbi1ib3gtZ2FwO1xuXG4gICAgaGVhZGVyIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJGxvY2F0aW9uLWJveC1nYXA7XG5cbiAgICAgICAgaDIsIGgzIHtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB1bCB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgfVxuXG4gICAgbGkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIH1cblxuICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICBwIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRsb2NhdGlvbi1ib3gtZ2FwO1xuXG4gICAgICAgIGEge1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgc3Ryb25nIHtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cblxuICAgICAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4ubWVudS1ncmlkIHtcbiAgICBAaW5jbHVkZSBncmlkKDMsIDIuNSUpO1xuXG4gICAgPiAqIHtcbiAgICAgICAgbWFyZ2luOiAxMHB4IDA7XG4gICAgfVxuXG4gICAgLmJ0biB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbn1cblxuLmluc3RhZ3JhbS1nYWxsZXJ5IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcblxuICAgID4gKiB7XG4gICAgICAgIGZsZXg6IDEgMCBhdXRvO1xuICAgICAgICBoZWlnaHQ6IDMwMHB4O1xuICAgICAgICB3aWR0aDogMzAwcHg7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gICAgfVxufVxuIiwiLnNob3AtYm94IHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAgI2M0YzJiNjtcblxuICAgIGltZyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIGZvb3RlciB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZzogNDVweDtcbiAgICB9XG5cbiAgICAuYnRuIHtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgbWFyZ2luLXRvcDogMTVweDtcbiAgICB9XG59IiwiLmRpbmUtd2l0aC11cy1sb2NhdGlvbnMge1xuICAgICRncmlkLXNpemU6IDM7XG4gICAgJGJvcmRlci1ib3gtd2lkdGg6IDFweDtcblxuICAgIEBpbmNsdWRlIGdyaWQoJGdyaWQtc2l6ZSk7XG4gICAgbWF4LXdpZHRoOiAxNDQwcHg7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgLmRpbmUtd2l0aC11cy1ib3gge1xuICAgICAgICBwYWRkaW5nOiA0MHB4O1xuICAgICAgICBib3JkZXItd2lkdGg6ICRib3JkZXItYm94LXdpZHRoICRib3JkZXItYm94LXdpZHRoIDAgMDtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBjb2xvcihzZWNvbmRhcnksIGxpZ2h0KTtcblxuICAgICAgICAmOm50aC1jaGlsZCgjeyRncmlkLXNpemV9biArIDEpIHtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAkYm9yZGVyLWJveC13aWR0aDtcbiAgICAgICAgfVxuICAgICAgICAmOm50aC1jaGlsZCgtbiArICN7JGdyaWQtc2l6ZX0pIHtcbiAgICAgICAgICAgIGJvcmRlci10b3A6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuaWRlbnRpdHktYm94IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIHdpZHRoOiAyMDBweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmRpbmUtd2l0aC11cy1ib3gge1xuICAgICRpbm5lci1nYXA6IDIwcHg7XG5cbiAgICAuaGVhZGVyIHtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJGlubmVyLWdhcDtcblxuICAgICAgICA+ICoge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICAgICAgICB9XG4gICAgICAgIGg2IHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm1ldGEge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkaW5uZXItZ2FwO1xuXG4gICAgICAgIC5pbWctd3JhcHBlciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwcHg7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5idG4ge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuYXYge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkaW5uZXItZ2FwO1xuICAgICAgICBsaW5lLWhlaWdodDogMS41O1xuICAgICAgICBhIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGxpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgYXNpZGUge1xuICAgICAgICB1bCB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgbGkge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBtYXJnaW46IDE1cHggMDtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi5jdXJyZW50LWNhcmVlcnMtd3JhcHBlciB7XG4gICAgJGNhcmVlci12ZXJ0aWNhbC1nYXA6IDEwcHg7XG4gICAgaGVhZGVyIGgzIHtcbiAgICAgICAgY29sb3I6IGNvbG9yKHByaW1hcnksIGxpZ2h0KTtcbiAgICB9XG5cbiAgICAuYnRuIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLmNvbCB7XG4gICAgICAgIG1hcmdpbjogJGNhcmVlci12ZXJ0aWNhbC1nYXAgMDtcbiAgICB9XG59IiwiLmljb24ub3VyLXJvb3RzLXRvcCB7XG4gICAgd2lkdGg6IDIxMHB4O1xuICAgIGhlaWdodDogNzVweDtcbn0iLCIuYmxvZy1saXN0LXdyYXBwZXIge1xuICAgIEBpbmNsdWRlIGdyaWQoMik7XG5cbiAgICAuYXJ0aWNsZXMtbGlzdCB7XG4gICAgICAgIG1heC13aWR0aDogNzAlO1xuICAgIH1cblxuICAgIC5zaWRlYmFyIHtcbiAgICAgICAgbWF4LXdpZHRoOiAyMCU7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYmVsb3ctbWVkaXVtLWRldmljZXMge1xuICAgICAgICAuYXJ0aWNsZXMtbGlzdCwgLnNpZGViYXIge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgLmFydGljbGVzLWxpc3Qge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNTBweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmJsb2ctd3JhcHBlciB7XG5cbiAgICBhcnRpY2xlIHtcbiAgICAgICAgJGFydGljbGUtZ2FwOiAzMHB4O1xuXG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRhcnRpY2xlLWdhcDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206ICRhcnRpY2xlLWdhcDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIGNvbG9yKHByaW1hcnkpO1xuICAgICAgICBsaW5lLWhlaWdodDogMjtcblxuICAgICAgICBoZWFkZXIge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogJGFydGljbGUtZ2FwO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS40O1xuICAgICAgICAgICAgd29yZC1icmVhazogYnJlYWstYWxsO1xuXG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICAgICAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOnZpc2l0ZWQge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yLXZpc2l0ZWQtbGlua3MtcHJpbWFyeTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuY2F0ZWdvcmllcy1saXN0IGEge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAzcHg7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcblxuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgY29udGVudDogJywnO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcblxuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBmb290ZXIge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogJGFydGljbGUtZ2FwO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgICAgIH1cblxuICAgICAgICAucmVhZC1tb3JlIHtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDFweDtcblxuICAgICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOnZpc2l0ZWQge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItdmlzaXRlZC1saW5rcy1wcmltYXJ5O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAmLmJsb2ctc2luZ2xlLXdyYXBwZXIgYXJ0aWNsZSB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgLnBhZ2luYXRpb24ge1xuICAgICAgICAkcGFnZS1ib3gtc2l6ZTogNDBweDtcbiAgICAgICAgJHBhZ2UtYm94LWdhcDogNXB4O1xuICAgICAgICAkcGFnZS1ib3gtcGFkZGluZzogMTBweDtcblxuICAgICAgICBsaSB7XG4gICAgICAgICAgICBtYXJnaW46IDAgJHBhZ2UtYm94LWdhcDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAjeyRwYWdlLWJveC1zaXplLzJ9O1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMnB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZDogY29sb3IocHJpbWFyeSk7XG4gICAgICAgICAgICBjb2xvcjogI2ZmZjtcblxuICAgICAgICAgICAgJi5hY3RpdmUsXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBkYXJrZW4oY29sb3IocHJpbWFyeSksIDUwJSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBhIHtcbiAgICAgICAgICAgIHdpZHRoOiAkcGFnZS1ib3gtc2l6ZTtcbiAgICAgICAgICAgIGhlaWdodDogJHBhZ2UtYm94LXNpemU7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHBhZGRpbmc6ICRwYWdlLWJveC1wYWRkaW5nO1xuICAgICAgICB9XG5cbiAgICAgICAgLnBhZ2luYXRpb24taW5mbyB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgICAgICAgICAgZm9udC1zaXplOiA3MCU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc2lkZS1ib3gge1xuICAgICAgICAkc2lkZWJhci1nYXA6IDMwcHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRzaWRlYmFyLWdhcDtcblxuICAgICAgICBoZWFkZXIge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogJHNpZGViYXItZ2FwO1xuICAgICAgICB9XG5cbiAgICAgICAgbmF2IHtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBib3JkZXItd2lkdGg6IDFweDtcbiAgICAgICAgICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogY29sb3Ioc2Vjb25kYXJ5KSB0cmFuc3BhcmVudCA7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogLTFweDtcblxuXG4gICAgICAgICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogY29sb3Ioc2Vjb25kYXJ5KTtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogY29sb3IocHJpbWFyeSk7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMjBweDtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5ibG9nLXBvc3RzLW5hdiB7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIGNvbG9yKHByaW1hcnkpO1xuICAgICRpdGVtLXZlcnRpY2FsLWdhcDogNTBweDtcbiAgICAkaXRlbS1ob3Jpem9udGFsLWdhcDogMTYwcHg7XG5cbiAgICBuYXYge1xuICAgICAgICB1bCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIH1cblxuICAgICAgICBsaSB7XG4gICAgICAgICAgICBib3JkZXItd2lkdGg6IDAgMCAwIDFweDtcbiAgICAgICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IGNvbG9yKHByaW1hcnkpO1xuXG4gICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBib3JkZXItbGVmdDogMDtcblxuICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkaXRlbS1ob3Jpem9udGFsLWdhcDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG5cbiAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAkaXRlbS1ob3Jpem9udGFsLWdhcDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgZm9udC1zaXplOiAwLjVlbTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDM1cHg7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICB9XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuOGVtO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBwYWRkaW5nOiAkaXRlbS12ZXJ0aWNhbC1nYXAgI3skaXRlbS12ZXJ0aWNhbC1nYXAvMn07XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBiZWxvdy1tZWRpdW0tZGV2aWNlcyB7XG4gICAgICAgICAgICB1bCB7XG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogI3skaXRlbS12ZXJ0aWNhbC1nYXAvMn0gMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgIGJvcmRlci13aWR0aDogMDtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMXB4O1xuXG4gICAgICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUNBQSw0RUFBNEU7QUFFNUU7Z0ZBQ2dGO0FBRWhGOzs7R0FHRztBQ1JILE9BQU8sQ0FBQyw0RkFBSTtBRFVaLEFBQUEsSUFBSSxDQUFDO0VBQ0gsV0FBVyxFQUFFLElBQUk7RUFBRSxPQUFPO0VBQzFCLHdCQUF3QixFQUFFLElBQUk7RUFBRSxPQUFPLEVBQ3hDOztBQUVEO2dGQUNnRjtBQUVoRjs7R0FFRztBQUVILEFBQUEsSUFBSSxDQUFDO0VBQ0gsTUFBTSxFQUFFLENBQUMsR0FDVjs7QUFFRDs7O0dBR0c7QUFFSCxBQUFBLEVBQUUsQ0FBQztFQUNELFNBQVMsRUFBRSxHQUFHO0VBQ2QsTUFBTSxFQUFFLFFBQVEsR0FDakI7O0FBRUQ7Z0ZBQ2dGO0FBRWhGOzs7R0FHRztBQUVILEFBQUEsRUFBRSxDQUFDO0VBQ0QsVUFBVSxFQUFFLFdBQVc7RUFBRSxPQUFPO0VBQ2hDLE1BQU0sRUFBRSxDQUFDO0VBQUUsT0FBTztFQUNs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 */
