@charset "UTF-8";
@import url("//hello.myfonts.net/count/2f8672");
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent; }

main, article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block; }

html {
  box-sizing: border-box;
  overflow-y: scroll;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
  text-rendering: optimizeLegibility !important;
  -webkit-font-smoothing: antialiased !important; }

body {
  line-height: 1; }

*,
*:before,
*:after {
  position: relative;
  box-sizing: inherit; }
  @media (max-width: 959px) {
    * *,
    *:before *,
    *:after * {
      -webkit-tap-highlight-color: transparent; } }

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

blockquote, q {
  quotes: none; }

blockquote:before,
blockquote:after,
q:before,
q:after {
  content: '';
  content: none; }

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent; }

del {
  text-decoration: line-through; }

abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help; }

i,
em {
  font-style: italic; }

b,
strong {
  font-weight: bold; }

q {
  quotes: "\201C" "\201D" "\2018" "\2019"; }

table {
  border-collapse: collapse;
  border-spacing: 0;
  font-size: inherit;
  font: 100%; }

th {
  font-weight: bold;
  vertical-align: bottom; }

td {
  font-weight: normal;
  vertical-align: top; }

input,
select {
  vertical-align: middle; }

input[type=search] {
  -webkit-appearance: textfield;
  -webkit-box-sizing: content-box; }
  input[type=search]::-webkit-search-cancel-button,
  input[type=search]::-webkit-search-decoration,
  input[type=search]::-webkit-search-results-button,
  input[type=search]::-webkit-search-results-decoration {
    -webkit-appearance: none; }

fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em; }

button,
input,
select,
textarea {
  font-family: inherit;
  font-size: 100%;
  margin: 0; }

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative; }

sup {
  top: -0.5em; }

sub {
  bottom: -0.25em; }

mark {
  background: #ff0;
  color: #000; }

pre {
  white-space: pre;
  white-space: pre-wrap;
  white-space: pre-line;
  word-wrap: break-word; }

pre,
code,
kbd,
samp {
  font-family: monospace, 	sans-serif; }

/** Returns a color with an optional tone from the map
 *
 * @param {string}  $color_name     The base name of the color
 * @param {tone}    ($tone|'base')  The tone of that color or 'base'
 *
 * @return {string} The matching color's value from the map
 */
body#tinymce.wp-editor {
  margin: 10px; }

/**
 * @license
 * MyFonts Webfont Build ID 3114610, 2015-10-27T16:29:08-0400
 *
 * The fonts listed in this notice are subject to the End User License
 * Agreement(s) entered into by the website owner. All other parties are
 * explicitly restricted from using the Licensed Webfonts(s).
 *
 * You may obtain a valid license at the URLs below.
 *
 * Webfont: District-Medium by GarageFonts
 * URL: http://www.myfonts.com/fonts/garagefonts/district/medium/
 *
 * Webfont: District-Bold by GarageFonts
 * URL: http://www.myfonts.com/fonts/garagefonts/district/bold/
 *
 *
 * License: http://www.myfonts.com/viewlicense?type=web&buildid=3114610
 * Licensed pageviews: 3,000,000
 * Webfonts copyright: Copyright (c) 2002 by Dylan Smith &amp; Kienan Smith. Published by GarageFonts USA 301-879-9222 - - www.garagefonts.com. All rights reserved.
 *
 * © 2015 MyFonts Inc
*/
/* @import must be at top of file, otherwise CSS will not work */
@font-face {
  font-family: 'District-Medium';
  src: url("https://www.noodles.com/wp-content/themes/noodles.com/assets/fonts/district/district-medium/2F8672_0_0.eot");
  src: url("https://www.noodles.com/wp-content/themes/noodles.com/assets/fonts/district/district-medium/2F8672_0_0.eot?#iefix") format("embedded-opentype"), url("https://www.noodles.com/wp-content/themes/noodles.com/assets/fonts/district/district-medium/2F8672_0_0.woff2") format("woff2"), url("https://www.noodles.com/wp-content/themes/noodles.com/assets/fonts/district/district-medium/2F8672_0_0.woff") format("woff"), url("https://www.noodles.com/wp-content/themes/noodles.com/assets/fonts/district/district-medium/2F8672_0_0.ttf") format("truetype"); }

@font-face {
  font-family: 'District-Bold';
  src: url("https://www.noodles.com/wp-content/themes/noodles.com/assets/fonts/district/district-bold/2F8672_1_0.eot");
  src: url("https://www.noodles.com/wp-content/themes/noodles.com/assets/fonts/district/district-bold/2F8672_1_0.eot?#iefix") format("embedded-opentype"), url("https://www.noodles.com/wp-content/themes/noodles.com/assets/fonts/district/district-bold/2F8672_1_0.woff2") format("woff2"), url("https://www.noodles.com/wp-content/themes/noodles.com/assets/fonts/district/district-bold/2F8672_1_0.woff") format("woff"), url("https://www.noodles.com/wp-content/themes/noodles.com/assets/fonts/district/district-bold/2F8672_1_0.ttf") format("truetype"); }

/* Generated by Font Squirrel (http://www.fontsquirrel.com) on September 29, 2015 */
/*
*   Oswald Bold is similar to Knockout. USING FOR TESTING PURPOSES ONLY.
*/
head {
  font-family: "mq-tiny";
  font-family: "mq-mini";
  font-family: "mq-small";
  font-family: "mq-medium";
  font-family: "mq-large";
  font-family: "mq-xlarge";
  font-family: "mq-xxlarge";
  font-family: "mq-xxxlarge"; }

title {
  font-family: "mq-tiny, mq-mini, mq-small, mq-medium, mq-large, mq-xlarge, mq-xxlarge, mq-xxxlarge"; }

.browse-happy p {
  display: block;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%); }

.visually-hidden, .vh, .main-logo span, .global-search .search-button span, .search-label, .mobile-search .search-button span, .search-toggle span, #burger span, .careers-landing-quotes .slick-prev span,
.careers-landing-quotes .slick-next span, .careers-apply-search-form label, .careers-apply-search-form button.rarrow span, .locations-map-wrap .find-me span, .locations-search-form .symbol span, .locations-search-form label, .location-gallery-wrap .slick-prev span,
.location-gallery-wrap .slick-next span, .recent-headlines .slick-prev span,
.recent-headlines .slick-next span {
  margin: -1px;
  padding: 0;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip: rect(0, 0, 0, 0);
  position: absolute; }

ul {
  list-style: none;
  padding: 0;
  margin: 0; }

input[type="submit"], .global-search .search-button, .mobile-search .search-button, #burger, .button, .careers-landing-quotes .slick-prev,
.careers-landing-quotes .slick-next, .careers-apply-search-form button.rarrow, .locations-map-wrap .find-me, .locations-search-form .symbol, .location-gallery-wrap .slick-prev,
.location-gallery-wrap .slick-next, .recent-headlines .slick-prev,
.recent-headlines .slick-next {
  background: transparent;
  outline: none;
  border: 0;
  padding: 0;
  margin: 0;
  font-size: 1em;
  cursor: pointer; }

.hero, .image-module, .media {
  background-repeat: no-repeat;
  background-size: cover;
  -ms-behavior: url("assets/images/backgroundsize.min.htc");
  background-position: center center; }

.cf,
.clear,
.clearfix, .content-grid, .content-grid .content-grid-row, .made-different-main .made-different-callout-section, .made-different-cta-links {
  zoom: 1; }
  .cf:before,
  .clear:before,
  .clearfix:before,
  .content-grid:before,
  .content-grid .content-grid-row:before,
  .made-different-main .made-different-callout-section:before,
  .made-different-cta-links:before,
  .cf:after,
  .clear:after,
  .clearfix:after, .content-grid:after, .content-grid .content-grid-row:after, .made-different-main .made-different-callout-section:after, .made-different-cta-links:after {
    content: "\0020";
    display: block;
    height: 0;
    overflow: hidden; }
  .cf:after,
  .clear:after,
  .clearfix:after, .content-grid:after, .content-grid .content-grid-row:after, .made-different-main .made-different-callout-section:after, .made-different-cta-links:after {
    clear: both; }

@font-face {
  font-family: "symbols";
  src: url("assets/fonts/symbols/symbols.eot");
  src: url("assets/fonts/symbols/symbols.eot?#iefix") format("eot"), url("assets/fonts/symbols/symbols.woff") format("woff"), url("assets/fonts/symbols/symbols.ttf") format("truetype"), url("assets/fonts/symbols/symbols.svg#symbols") format("svg");
  font-weight: normal;
  font-style: normal; }

.global-search .search-button i:before, .mobile-search .search-button i:before, .search-toggle:before, .gform_wrapper .gfield_error .validation_message:before, i.rarrow:before,
i.larrow:before, i.spicy:before, i.veggie:before, i.print:before, .custom-checkbox-wrap .stunt-double:after, .locations-map-wrap .find-me > i:before, .locations-search-form i.search:before, .locations-results .result-amenity .check:before, .location-amenities-wrap .location-amenities .check:before, .newsroom-press-releases-wrap .press-release-download-link .download-link:after, .multimedia-main .image-preview .action-tag i:after, .multimedia-main .download-link:after, .media-video .action-tag i:after {
  font-family: "symbols";
  width: 1em;
  margin: 0;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-align: center;
  text-decoration: inherit;
  text-transform: none;
  line-height: 1em;
  speak: none; }

.symbol:before {
  font-family: "symbols";
  width: 1em;
  margin: 0;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-align: center;
  text-decoration: inherit;
  text-transform: none;
  line-height: 1em;
  speak: none; }

.s-alert:before {
  content: "\E001"; }

.s-arrow-down:before {
  content: "\E002"; }

.s-arrow-right:before {
  content: "\E003"; }

.s-arrow-up:before {
  content: "\E004"; }

.s-check:before {
  content: "\E005"; }

.s-close:before {
  content: "\E006"; }

.s-facebook:before {
  content: "\E007"; }

.s-instagram:before {
  content: "\E008"; }

.s-location:before {
  content: "\E009"; }

.s-magnify:before {
  content: "\E00A"; }

.s-pinterest:before {
  content: "\E00B"; }

.s-play:before {
  content: "\E00C"; }

.s-printer:before {
  content: "\E00D"; }

.s-search:before {
  content: "\E00E"; }

.s-spicy:before {
  content: "\E00F"; }

.s-tumblr:before {
  content: "\E010"; }

.s-twitter:before {
  content: "\E011"; }

.s-veggie:before {
  content: "\E012"; }

.sprite-sample {
  background-image: url("assets/images/sprites/sprite-sample.png"); }

@media (-webkit-min-device-pixel-ratio: 2), (-webkit-min-device-pixel-ratio: 0.75), (min-resolution: 72dpi) {
  .sprite-sample {
    background-image: url("assets/images/sprites/sprite-sample@2x.png");
    background-size: 190px 100px; } }

.main-header .row, .main-footer .row, .main-footer .footer-nav, .main-footer .footer-info {
  max-width: 120rem;
  width: 100%;
  margin: 0 auto;
  padding-left: 2rem;
  padding-right: 2rem;
  padding-left: 4rem;
  padding-right: 4rem;
  padding-left: 7.5rem;
  padding-right: 7.5rem;
  zoom: 1;
  overflow: hidden; }
  .main-header .row:before,
  .main-footer .row:before,
  .main-footer .footer-nav:before,
  .main-footer .footer-info:before,
  .main-header .row:after, .main-footer .row:after, .main-footer .footer-nav:after, .main-footer .footer-info:after {
    content: "\0020";
    display: block;
    height: 0;
    overflow: hidden; }
  .main-header .row:after, .main-footer .row:after, .main-footer .footer-nav:after, .main-footer .footer-info:after {
    clear: both; }

.hero.full .heading {
  text-shadow: 0px 0px 7px rgba(0, 0, 0, 0.52); }

body#tinymce.wp-editor p,
.wysiwyg p,
body#tinymce.wp-editor li, .wysiwyg li, p,
dl,
address {
  font-size: 1.6rem;
  line-height: 1.5; }

.hero.full .subheading,
.hero.short .heading {
  font-family: "District-Bold", sans-serif;
  font-weight: normal;
  font-size: 2.4rem;
  font-size: 2.8rem;
  font-size: 3.2rem; }

.featured-heading {
  display: block;
  font-family: "Knockout 67 A", "Knockout 67 B", sans-serif;
  font-weight: normal;
  text-align: center;
  text-transform: uppercase;
  font-size: 2.8rem;
  margin-bottom: 1.5rem;
  margin-bottom: 2rem;
  font-size: 3.2rem;
  font-size: 3.6rem;
  margin-bottom: 3rem;
  font-size: 4.2rem; }
  @media print {
    .featured-heading {
      margin-bottom: 0;
      font-size: 2.4rem; } }
  .featured-heading span {
    display: inline-block; }
  .featured-heading span.left,
  .featured-heading span.right {
    display: none; }
  .featured-heading span.title {
    z-index: 1;
    padding-left: 20px;
    padding-right: 20px;
    background-color: #fff; }
  .featured-heading:before,
  .featured-heading:after {
    content: '';
    display: inline-block;
    width: 100%;
    height: 4px;
    background-color: #ded2b2;
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%); }
  .featured-heading:before {
    left: 0; }
  .featured-heading:after {
    right: 0; }

.featured-heading-medium {
  display: block;
  font-family: "Knockout 67 A", "Knockout 67 B", sans-serif;
  font-weight: normal;
  text-align: center;
  text-transform: uppercase;
  margin-bottom: 2rem;
  font-size: 3.2rem;
  font-size: 3.6rem;
  margin-bottom: 3rem; }
  @media print {
    .featured-heading-medium {
      margin-bottom: 0;
      font-size: 2.4rem; } }
  .featured-heading-medium span.left,
  .featured-heading-medium span.right {
    display: none; }
  .featured-heading-medium span.title {
    z-index: 1;
    padding-left: 20px;
    padding-right: 20px;
    background-color: #fff; }
  .featured-heading-medium:before,
  .featured-heading-medium:after {
    content: '';
    display: inline-block;
    width: 100%;
    height: 4px;
    background-color: #ded2b2;
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%); }
  .featured-heading-medium:before {
    left: 0; }
  .featured-heading-medium:after {
    right: 0; }

body#tinymce.wp-editor, .wysiwyg {
  white-space: normal; }
  body#tinymce.wp-editor h1,
  .wysiwyg h1,
  body#tinymce.wp-editor h2,
  .wysiwyg h2,
  body#tinymce.wp-editor h3, .wysiwyg h3 {
    margin-bottom: 1rem;
    margin-bottom: 3rem; }
  body#tinymce.wp-editor h4,
  .wysiwyg h4,
  body#tinymce.wp-editor h5,
  .wysiwyg h5,
  body#tinymce.wp-editor h6, .wysiwyg h6 {
    margin-bottom: 1rem;
    margin-bottom: 2rem; }
  body#tinymce.wp-editor p, .wysiwyg p {
    margin-bottom: 1em; }
    body#tinymce.wp-editor p:last-child, .wysiwyg p:last-child {
      margin-bottom: 0; }
  body#tinymce.wp-editor ul,
  .wysiwyg ul,
  body#tinymce.wp-editor ol, .wysiwyg ol {
    margin-bottom: 2rem;
    margin-left: 3rem; }
  body#tinymce.wp-editor ul li, .wysiwyg ul li {
    list-style-type: disc; }
  body#tinymce.wp-editor .p-small, .wysiwyg .p-small {
    font-size: 1.4rem; }

::-moz-selection {
  background: #777;
  color: #fff;
  text-shadow: none; }

::selection {
  background: #777;
  color: #fff;
  text-shadow: none; }

html {
  font-size: 62.5%; }

body {
  background: #fff;
  overflow: hidden;
  color: #3b2014;
  font-family: "District-Medium", sans-serif, Arial, "Helvetica Neue", Helvetica, sans-serif;
  font-weight: normal;
  font-size: 16px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.004); }

a {
  color: #b0262e;
  text-decoration: none;
  font-family: "District-Bold", sans-serif;
  font-weight: normal; }
  a:hover,
  a:focus,
  a:active {
    color: #89060e; }
  a:focus {
    outline: none; }

h1,
h2,
h3,
h4,
h5,
h6 {
  line-height: 1; }
  h1 a,
  h2 a,
  h3 a,
  h4 a,
  h5 a,
  h6 a {
    color: #4f2b1c; }

h2 {
  font-size: 4.8rem;
  font-family: "Knockout 67 A", "Knockout 67 B", sans-serif;
  font-weight: normal;
  text-transform: uppercase;
  color: #4f2b1c;
  font-weight: normal;
  letter-spacing: 1px;
  font-size: 4.8rem;
  font-size: 6rem; }

h3 {
  font-size: 3.6rem;
  font-family: "Knockout 67 A", "Knockout 67 B", sans-serif;
  font-weight: normal;
  text-transform: uppercase;
  color: #4f2b1c;
  font-weight: normal;
  letter-spacing: 1px;
  font-size: 3.6rem;
  font-size: 3.6rem; }

h4 {
  font-size: 1.8rem;
  font-family: "District-Bold", sans-serif;
  font-weight: normal;
  color: #4f2b1c;
  font-weight: normal;
  letter-spacing: 0px;
  font-size: 1.8rem;
  font-size: 2.4rem; }

h5 {
  font-size: 1.4rem;
  font-family: "District-Bold", sans-serif;
  font-weight: normal;
  color: #4f2b1c;
  font-weight: normal;
  font-size: 1.4rem;
  font-size: 1.4rem; }

p,
li,
dt,
dd {
  font-weight: normal;
  font-style: normal; }

li {
  line-height: 1; }

input,
textarea,
select {
  outline: none;
  display: block;
  border-radius: 0;
  border: 0.3rem solid #ded2b2;
  padding: 0.5rem 1rem;
  margin: 0;
  width: 100%;
  font-size: 1.4rem; }

label {
  color: #4f2b1c; }

input,
textarea {
  color: #4f2b1c; }

select {
  background: #fff;
  height: 3rem;
  padding: 0.5rem 1rem; }

select[multiple] {
  height: auto; }

input[type="checkbox"] {
  vertical-align: bottom; }

input[type="radio"] {
  vertical-align: text-bottom; }

label {
  font-weight: 400; }

input:focus,
textarea:focus {
  outline: none;
  border-color: #c8bb98;
  color: #4f2b1c; }

input[type="submit"] {
  border-radius: 0;
  height: auto; }

.placeholder {
  color: #000; }

input::-webkit-input-placeholder,
textarea::-webkit-input-placeholder {
  color: #000; }

input:-moz-placeholder,
textarea:-moz-placeholder {
  color: #000; }

input::-moz-placeholder,
textarea::-moz-placeholder {
  color: #000; }

input:-ms-input-placeholder,
textarea:-ms-input-placeholder {
  color: #000; }

input:focus::-webkit-input-placeholder,
textarea:focus::-webkit-input-placeholder {
  color: blue; }

input:focus:-moz-placeholder,
textarea:focus:-moz-placeholder {
  color: blue; }

input:focus::-moz-placeholder,
textarea:focus::-moz-placeholder {
  color: blue; }

input:focus:-ms-input-placeholder,
textarea:focus:-ms-input-placeholder {
  color: blue; }

button::-moz-focus-inner {
  padding: 0;
  border: 0; }

input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0; }

input[type=number] {
  -moz-appearance: textfield; }

input[type="text"],
input[type="time"],
input[type="url"],
input[type="email"],
input[type="password"],
input[type="button"],
input[type="submit"],
textarea {
  -webkit-appearance: none;
  -moz-appearance: none; }

.hide {
  display: none; }

.hide-mobile {
  display: none !important; }

.root {
  margin-top: 5.3rem;
  margin-top: 11.7rem;
  margin-top: 12.1rem; }
  @media print {
    .root {
      margin-top: 0; } }
  .root.headless {
    margin-top: 0; }

.container {
  padding-left: 2rem;
  padding-right: 2rem;
  padding-left: 4rem;
  padding-right: 4rem;
  padding-left: 7.5rem;
  padding-right: 7.5rem;
  max-width: 120rem;
  width: 100%;
  margin: 0 auto;
  max-width: 144rem;
  width: 100%;
  margin: 0 auto; }
  @media print {
    .container {
      width: 100%;
      padding-left: 0;
      padding-right: 0; } }

.container-medium {
  padding-left: 2rem;
  padding-right: 2rem;
  padding-left: 4rem;
  padding-right: 4rem;
  padding-left: 7.5rem;
  padding-right: 7.5rem;
  max-width: 120rem;
  width: 100%;
  margin: 0 auto; }
  @media print {
    .container-medium {
      width: 100%;
      padding-left: 0;
      padding-right: 0; } }

.intro-section {
  margin: 0 auto;
  text-align: center;
  max-width: 60rem;
  zoom: 1;
  max-width: 90rem; }
  .intro-section:before,
  .intro-section:after {
    content: "\0020";
    display: block;
    height: 0;
    overflow: hidden; }
  .intro-section:after {
    clear: both; }
  .intro-section .intro-heading {
    padding: 3rem 2rem;
    font-family: "Knockout 67 A", "Knockout 67 B", sans-serif;
    font-weight: normal;
    font-size: 3.6rem;
    text-transform: uppercase;
    font-size: 4.2rem;
    padding-top: 4rem;
    padding-bottom: 2.5rem;
    font-size: 4.8rem;
    padding-top: 5rem;
    padding-bottom: 3rem; }
  .intro-section .intro-copy {
    font-size: 1.8rem;
    margin-bottom: 2rem;
    margin-bottom: 3rem; }
  .intro-section .cta-wrap {
    display: inline-block;
    zoom: 1;
    margin-bottom: 3rem;
    margin-bottom: 5rem; }
    .intro-section .cta-wrap:before,
    .intro-section .cta-wrap:after {
      content: "\0020";
      display: block;
      height: 0;
      overflow: hidden; }
    .intro-section .cta-wrap:after {
      clear: both; }
  .intro-section .cta {
    padding-top: 1rem;
    padding-bottom: 1rem;
    padding-top: 1.5rem;
    padding-bottom: 1.5rem; }

.cta-link {
  padding-right: 1.5rem;
  text-transform: uppercase;
  font-family: "District-Bold", sans-serif;
  font-weight: normal;
  color: #b0262e;
  letter-spacing: 0.2em;
  font-size: 1.4rem;
  display: inline-block; }
  .cta-link:after {
    content: '';
    width: 0;
    height: 0;
    display: inline-block;
    position: absolute;
    -webkit-transition: all 300ms;
            transition: all 300ms;
    margin-left: 0.5rem;
    margin-top: 1px;
    border-top: 5px solid transparent;
    border-bottom: 5px solid transparent;
    border-left: 5px solid #b0262e;
    margin-left: 1rem; }

.cta-link-alt {
  color: #b0262e;
  font-family: "District-Bold", sans-serif;
  font-weight: normal;
  font-size: 1.4rem; }
  .cta-link-alt.rarrow:after,
  .cta-link-alt.larrow:before {
    content: '';
    width: 0;
    height: 0;
    display: inline-block;
    margin-top: 1px;
    border-top: 5px solid transparent;
    border-bottom: 5px solid transparent; }
  .cta-link-alt.rarrow:after {
    margin-left: 0.5rem;
    border-left: 5px solid #b0262e;
    margin-left: 1rem; }
  .cta-link-alt.larrow:before {
    margin-right: 0.5rem;
    border-right: 5px solid #b0262e;
    margin-right: 1rem; }

.centered {
  text-align: center; }

table.responsive-table {
  display: block;
  height: auto !important; }
  table.responsive-table thead, table.responsive-table tbody, table.responsive-table th, table.responsive-table td, table.responsive-table tr {
    display: block;
    height: auto !important; }
  table.responsive-table td {
    width: 100%;
    margin-bottom: 1em; }

.main-header {
  position: fixed;
  z-index: 20;
  top: 0;
  left: 0;
  width: 100%;
  height: 5.2rem;
  color: #b0262e;
  background-color: #f5edd9;
  height: 11.8rem;
  height: 12.2rem; }
  @media print {
    .main-header {
      position: absolute;
      background: transparent; } }
  .main-header .row {
    overflow: visible;
    padding-right: 0;
    padding-left: 0; }

.main-logo {
  position: absolute;
  z-index: 20;
  top: 1rem;
  display: inline-block;
  width: 11.5rem;
  width: 13rem;
  width: 14.5rem;
  width: 16rem;
  top: 2.5rem;
  width: 19rem;
  top: 3rem;
  width: 20rem;
  top: 2.5rem;
  width: 25rem; }
  @media print {
    .main-logo {
      left: 20px;
      top: 20px;
      width: 10rem; } }
  .main-logo img {
    width: 100%; }

.global-search {
  position: absolute;
  z-index: 2;
  top: 0;
  right: 0;
  width: calc(100% - 181px);
  max-width: 0;
  height: 100%;
  padding: 0.3rem;
  -webkit-transition: opacity 250ms cubic-bezier(0.63, 0.64, 0.3, 1), max-width 400ms cubic-bezier(0.63, 0.64, 0.3, 1);
          transition: opacity 250ms cubic-bezier(0.63, 0.64, 0.3, 1), max-width 400ms cubic-bezier(0.63, 0.64, 0.3, 1);
  text-align: right;
  opacity: 0;
  background-color: #fff;
  overflow: hidden;
  width: calc(465px); }
  .global-search .search-input,
  .global-search .search-button {
    height: 4.6rem; }
  .global-search .search-input {
    font-size: 1.3rem;
    width: calc(100% - 70px);
    padding: 0.35rem 1rem;
    padding-right: 4rem;
    color: #4f2b1c;
    border: 0;
    border: 3px solid transparent;
    width: 42rem; }
    .global-search .search-input::-webkit-input-placeholder {
      color: rgba(79, 43, 28, 0.5); }
    .global-search .search-input:-moz-placeholder {
      color: rgba(79, 43, 28, 0.5); }
    .global-search .search-input::-moz-placeholder {
      color: rgba(79, 43, 28, 0.5); }
    .global-search .search-input:-ms-input-placeholder {
      color: rgba(79, 43, 28, 0.5); }
  .global-search .search-button {
    font-size: 1.2rem;
    position: absolute;
    right: 10px;
    top: 5px;
    padding: 0 1rem;
    text-transform: uppercase;
    color: #b0262e;
    color: #fff;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.004); }
    .global-search .search-button i {
      color: #b0262e; }
      .global-search .search-button i:before {
        top: -0.1rem;
        content: '\E00E'; }
  .search-open .global-search {
    opacity: 1;
    -webkit-transition: opacity 250ms cubic-bezier(0.63, 0.64, 0.3, 1) 200ms, max-width 400ms cubic-bezier(0.63, 0.64, 0.3, 1);
            transition: opacity 250ms cubic-bezier(0.63, 0.64, 0.3, 1) 200ms, max-width 400ms cubic-bezier(0.63, 0.64, 0.3, 1);
    max-width: calc(100% - 181px);
    max-width: 465px; }
    .search-open .global-search .search-input {
      border-color: #ded2b2;
      -webkit-transition: border-color 500ms cubic-bezier(0.63, 0.64, 0.3, 1) 400ms;
              transition: border-color 500ms cubic-bezier(0.63, 0.64, 0.3, 1) 400ms; }

.mobile-search {
  text-align: center;
  width: 100%; }
  .mobile-search .search-input,
  .mobile-search .search-button {
    height: 4.9rem; }
  .mobile-search .search-input-wrap {
    position: relative; }
  .mobile-search .search-input {
    font-size: 1.6rem;
    width: 100%;
    padding: 0.35rem 1rem;
    padding-right: 4rem;
    color: #4f2b1c;
    border: 3px solid #c8bb98; }
    .mobile-search .search-input::-webkit-input-placeholder {
      color: rgba(79, 43, 28, 0.5); }
    .mobile-search .search-input:-moz-placeholder {
      color: rgba(79, 43, 28, 0.5); }
    .mobile-search .search-input::-moz-placeholder {
      color: rgba(79, 43, 28, 0.5); }
    .mobile-search .search-input:-ms-input-placeholder {
      color: rgba(79, 43, 28, 0.5); }
  .mobile-search .search-button {
    font-size: 1.2rem;
    position: absolute;
    right: 10px;
    top: 3px;
    padding: 0 1rem;
    text-transform: uppercase;
    color: #b0262e;
    color: #fff;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.004); }
    .mobile-search .search-button i {
      color: #b0262e; }
      .mobile-search .search-button i:before {
        top: -0.2rem;
        content: '\E00E'; }
  .search-open .mobile-search {
    opacity: 1;
    max-width: calc(100% - 181px);
    max-width: 465px; }
    .search-open .mobile-search .search-input {
      border-color: #ded2b2;
      -webkit-transition: border-color 500ms cubic-bezier(0.63, 0.64, 0.3, 1) 400ms;
              transition: border-color 500ms cubic-bezier(0.63, 0.64, 0.3, 1) 400ms; }

.main-footer {
  background-color: #4f2b1c;
  color: #ded2b2;
  font-family: "District-Medium", sans-serif;
  font-weight: normal;
  font-size: 1.4rem; }
  @media print {
    .main-footer {
      display: none; } }
  .main-footer a {
    color: #ded2b2;
    font-weight: 700; }
    .main-footer a:hover,
    .main-footer a:focus {
      color: #c8bb98; }
  .main-footer .footer-nav-wrap {
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
    padding-bottom: 3rem; }
  .main-footer .footer-nav {
    margin-top: 3rem; }
    .main-footer .footer-nav > ul {
      zoom: 1;
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap;
      -webkit-box-pack: left;
      -webkit-justify-content: left;
          -ms-flex-pack: left;
              justify-content: left;
      -webkit-box-pack: justify;
      -webkit-justify-content: space-between;
          -ms-flex-pack: justify;
              justify-content: space-between; }
      .main-footer .footer-nav > ul:before,
      .main-footer .footer-nav > ul:after {
        content: "\0020";
        display: block;
        height: 0;
        overflow: hidden; }
      .main-footer .footer-nav > ul:after {
        clear: both; }
  .main-footer .nav-item {
    display: block;
    margin-bottom: 1.5rem;
    padding-right: 2rem;
    padding-right: 3rem;
    padding-right: 4rem; }
  .main-footer .nav-main-item {
    display: inline-block;
    float: left;
    margin-bottom: 4rem;
    width: 50%;
    width: 33.3333333%;
    width: inherit; }
  .main-footer .nav-main-link {
    font-family: "District-Bold", sans-serif;
    font-weight: normal;
    font-size: 1.6rem; }
    .main-footer .nav-main-link:hover,
    .main-footer .nav-main-link:focus {
      color: inherit; }
  .main-footer .nav-drop-item {
    font-family: "District-Bold", sans-serif;
    font-weight: normal; }
    .main-footer .nav-drop-item a {
      font-weight: 400; }
  .main-footer .to-top {
    display: block;
    text-align: center; }
    .main-footer .to-top::before,
    .main-footer .to-top::after {
      position: absolute;
      top: 50%;
      -webkit-transform: translateY(-50%);
          -ms-transform: translateY(-50%);
              transform: translateY(-50%);
      content: "";
      height: 0.3rem;
      width: calc(50% - 40px);
      background-color: #3b2014; }
    .main-footer .to-top::before {
      left: 0; }
    .main-footer .to-top::after {
      right: 0; }
    .main-footer .to-top a:hover,
    .main-footer .to-top a:focus {
      color: inherit;
      cursor: pointer; }
    .main-footer .to-top i {
      background-color: #4f2b1c;
      display: inline-block;
      font-size: 4rem; }
      .main-footer .to-top i:before {
        top: 3px;
        left: 1px; }
      .main-footer .to-top i:hover:before,
      .main-footer .to-top i:focus:before {
        color: #c8bb98; }
  .main-footer .footer-info-wrap {
    background-color: #3b2014; }
  .main-footer .footer-info {
    color: #fff;
    padding-top: 2rem;
    padding-bottom: 1.3rem;
    border-top: 1px solid #442518;
    padding-top: 1.3rem; }
  .main-footer .copy-privacy {
    zoom: 1;
    margin-top: 1rem;
    display: inline-block;
    float: left;
    margin-top: 1.3rem; }
    .main-footer .copy-privacy:before,
    .main-footer .copy-privacy:after {
      content: "\0020";
      display: block;
      height: 0;
      overflow: hidden; }
    .main-footer .copy-privacy:after {
      clear: both; }
  .main-footer .copy,
  .main-footer .privacy {
    display: inline-block;
    float: left; }
  .main-footer .copy {
    width: 60%; }
    .main-footer .copy br {
      display: none; }
  .main-footer .privacy {
    font-family: "District-Bold", sans-serif;
    font-weight: normal;
    color: #ded2b2;
    width: 40%;
    text-align: right;
    margin-left: 1rem; }
  .main-footer .social {
    display: block;
    font-size: 0;
    position: relative;
    list-style: none;
    text-align: center;
    margin-top: 1.5rem;
    float: right;
    display: inline-block; }
    .main-footer .social i:before {
      color: #f5edd9; }
    .main-footer .social li {
      display: inline-block;
      width: 3.5rem;
      height: 3.5rem;
      background-color: #b0262e;
      margin: 0.3rem; }
      .main-footer .social li:last-child {
        margin-right: 0; }
      .main-footer .social li a {
        display: inline-block;
        width: 100%;
        height: 100%; }
        .main-footer .social li a:hover,
        .main-footer .social li a:focus {
          background-color: #89060e; }
      .main-footer .social li i {
        display: inline-block;
        top: 50%;
        left: 0;
        -webkit-transform: translate(0, -50%);
            -ms-transform: translate(0, -50%);
                transform: translate(0, -50%);
        font-size: 2rem;
        line-height: 1; }

.header-nav ul {
  display: inline-block;
  float: right; }

.header-nav li {
  display: inline-block;
  float: left;
  font-family: "District-Bold", sans-serif;
  font-weight: normal;
  text-transform: uppercase;
  letter-spacing: 0.2em; }

.nav-top {
  background-color: #fff;
  font-size: 1.2rem; }
  @media print {
    .nav-top {
      background: transparent; } }
  .nav-top ul {
    padding: 1rem 0; }
    @media print {
      .nav-top ul {
        display: none; } }
  .nav-top .nav-child {
    color: #b0262e;
    padding: 2rem;
    display: inline-block; }
    .nav-top .nav-child:hover,
    .nav-top .nav-child:focus {
      color: #89060e; }
  .nav-top button.search-toggle {
    line-height: 0; }

@media print {
  .nav-main {
    display: none; } }

.nav-main .nav-main-wrap {
  padding-top: 4rem;
  padding-top: 5rem;
  padding-top: 6rem;
  padding-top: 7rem;
  visibility: hidden;
  opacity: 0;
  width: 100%;
  height: calc(100% - 52px);
  position: fixed;
  top: 52px;
  left: 0;
  background: #fff;
  padding-top: 0;
  margin-right: -1.5rem;
  position: relative;
  top: auto;
  left: auto;
  visibility: visible;
  opacity: 1;
  float: right;
  padding: 0;
  width: auto;
  background: transparent;
  overflow: visible;
  -webkit-transform: none;
      -ms-transform: none;
          transform: none;
  margin-right: -2.7rem; }
  .nav-open .nav-main .nav-main-wrap {
    visibility: visible;
    opacity: 1;
    -webkit-transform: translateY(0);
        -ms-transform: translateY(0);
            transform: translateY(0);
    z-index: 2;
    overflow: scroll;
    -webkit-overflow-scrolling: touch; }
  .nav-main .nav-main-wrap ul {
    float: none; }

.nav-main .nav-main-menu {
  width: 100%;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  padding: 0 2rem 2rem; }

.nav-main .nav-main-link {
  padding: 1.8rem 0;
  display: inline-block;
  color: #b0262e;
  width: 100%;
  padding: 2.7rem 1.2rem;
  padding: 2.8rem 2.5rem; }

.nav-main .nav-main-item {
  width: 100%;
  border-top: 4px solid #ded2b2;
  font-size: 1.2rem;
  font-size: 1.4rem; }
  .nav-main .nav-main-item.current_page_item,
  .nav-main .nav-main-item a:hover,
  .nav-main .nav-main-item a:focus {
    background-color: #fff; }
  .nav-main .nav-main-item:last-child {
    border-bottom: 4px solid #ded2b2; }

.nav-main .nav-aux-wrap {
  background-color: #ded2b2;
  padding: 2rem;
  display: none; }

.nav-main .nav-aux-menu {
  font-size: 1.05rem;
  font-size: 1.4rem; }
  .nav-main .nav-aux-menu a {
    padding: 1rem 0;
    display: inline-block;
    color: #b0262e; }
  .nav-main .nav-aux-menu .nav-aux-item + .nav-aux-item {
    padding-left: 2rem; }
  @media screen and (max-width: 385px) {
    .nav-main .nav-aux-menu .nav-aux-item {
      display: inline-block;
      float: none;
      margin-right: 1.2rem;
      padding: 0; }
    .nav-main .nav-aux-menu .nav-aux-item + .nav-aux-item {
      padding-left: 0; }
    .nav-main .nav-aux-menu .nav-aux-item:last-child {
      margin-right: 0; } }

.sign-join a {
  color: #b0262e; }

.sign-join #sign-in:hover,
.sign-join #sign-in:focus,
.sign-join #join:hover,
.sign-join #join:focus {
  color: #89060e; }

.sign-join #sign-in {
  padding-right: 0; }

.sign-join #join {
  padding-left: 0; }

.sign-join .bar {
  color: #4f2b1c;
  margin: 0 0.5rem; }

.order-now {
  background-color: #b0262e;
  -webkit-transition: background-color 200ms;
          transition: background-color 200ms;
  margin-right: 2rem;
  font-size: 1rem; }
  .order-now:hover,
  .order-now:focus {
    background-color: #89060e; }
  .order-now #order {
    padding: 1rem; }
  .order-now span {
    text-transform: uppercase;
    color: #fff;
    letter-spacing: 0.2em; }

.search-toggle:before {
  top: -0.1rem;
  content: '\E00E'; }

.search-toggle:hover,
.search-toggle:focus {
  color: #b0262e; }

#burger {
  float: right;
  position: relative;
  display: inline-block;
  width: 2.5rem;
  height: 3.2rem;
  padding: 0;
  border-radius: 4px;
  -webkit-transition: color 300ms cubic-bezier(0.63, 0.64, 0.3, 1);
          transition: color 300ms cubic-bezier(0.63, 0.64, 0.3, 1);
  display: none !important;
  font-size: 18px; }
  .nav-open #burger {
    color: #b0262e; }
    .nav-open #burger i,
    .nav-open #burger i:before,
    .nav-open #burger i:after {
      background-color: #b0262e; }
  #burger:hover i:before,
  #burger:focus i:before {
    -webkit-transform: translateY(-210%);
        -ms-transform: translateY(-210%);
            transform: translateY(-210%); }
  #burger:hover i:after,
  #burger:focus i:after {
    -webkit-transform: translateY(210%);
        -ms-transform: translateY(210%);
            transform: translateY(210%); }
  #burger i {
    position: absolute;
    top: 49%;
    right: 0;
    display: block;
    width: 2.5rem;
    height: 0.4rem;
    margin-top: -1px;
    background-color: #b0262e;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
    -webkit-transition: background-color 300ms cubic-bezier(0.63, 0.64, 0.3, 1);
            transition: background-color 300ms cubic-bezier(0.63, 0.64, 0.3, 1);
    top: 50%; }
    #burger i:before,
    #burger i:after {
      position: absolute;
      left: 0;
      width: 100%;
      height: 100%;
      background-color: #b0262e;
      content: '';
      -webkit-transition: -webkit-transform 0.3s, background-color 300ms cubic-bezier(0.63, 0.64, 0.3, 1);
              transition: transform 0.3s, background-color 300ms cubic-bezier(0.63, 0.64, 0.3, 1); }
    #burger i:before {
      -webkit-transform: translateY(-170%);
          -ms-transform: translateY(-170%);
              transform: translateY(-170%); }
    #burger i:after {
      -webkit-transform: translateY(170%);
          -ms-transform: translateY(170%);
              transform: translateY(170%); }
    .nav-open #burger i {
      background-color: transparent; }
      .nav-open #burger i:before {
        -webkit-transform: translateY(0) rotate(45deg);
            -ms-transform: translateY(0) rotate(45deg);
                transform: translateY(0) rotate(45deg); }
      .nav-open #burger i:after {
        -webkit-transform: translateY(0) rotate(-45deg);
            -ms-transform: translateY(0) rotate(-45deg);
                transform: translateY(0) rotate(-45deg); }

.hero {
  text-align: center;
  color: #fff;
  background-color: #3b2014; }
  @media print {
    .hero {
      background: transparent !important; } }
  .hero.short {
    padding: 4rem 0;
    background-color: #3b2014;
    padding: 6rem 0;
    padding: 8rem; }
    .hero.short .heading {
      font-size: 2.8rem;
      font-size: 3.2rem;
      font-size: 3.6rem; }
  .hero.full {
    padding: 10rem 2rem;
    padding: 15rem 4rem 12rem;
    padding: 17.5rem 4rem 15rem; }
    @media print {
      .hero.full {
        padding: 4rem 0; } }
    .hero.full .subheading {
      -webkit-transform: matrix(1.31393, -0.09051, 0.09049, 1.31227, 0, 0);
          -ms-transform: matrix(1.31393, -0.09051, 0.09049, 1.31227, 0, 0);
              transform: matrix(1.31393, -0.09051, 0.09049, 1.31227, 0, 0);
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
      text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.004);
      outline: 1px solid transparent;
      font-size: 1.6rem;
      padding: 1.5rem 2rem;
      font-size: 1.8rem;
      letter-spacing: 0.35rem;
      font-size: 2.8rem; }
  .hero.video:before {
    content: "";
    background: rgba(79, 43, 28, 0.1);
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 2; }
  .hero .row {
    max-width: 120rem;
    width: 100%;
    margin: 0 auto;
    z-index: 2; }
  .hero .heading,
  .hero .subheading {
    word-break: break-word; }
  .hero.full .heading {
    font-size: 3.2rem;
    text-transform: uppercase;
    z-index: 5;
    font-family: "Ziggurat A", "Ziggurat B", sans-serif;
    font-weight: normal;
    font-size: 4.8rem;
    font-size: 7.2rem;
    font-size: 10rem; }
    @media print {
      .hero.full .heading {
        font-size: 4.2rem;
        margin-top: -1rem;
        color: black;
        position: absolute;
        width: 100%; } }
  .hero.full .subheading,
  .hero.short .heading {
    display: inline-block;
    text-transform: uppercase;
    background-color: #3b2014;
    color: #ffc426;
    padding: 1rem;
    letter-spacing: 0.15rem;
    z-index: 1;
    padding: 1.5rem 2rem; }
  .hero .cta-wrap {
    display: block;
    margin-top: 5rem;
    margin-top: 7rem; }
  .hero .cta {
    display: inline-block;
    text-transform: uppercase; }

/*
 * Wallpaper v3.1.18 - 2014-06-16
 * A jQuery plugin for smooth-scaling image and video backgrounds. Part of the Formstone Library.
 * http://formstone.it/wallpaper/
 *
 * Copyright 2014 Ben Plum; MIT Licensed
 */
.wallpaper {
  padding-top: 50%;
  width: 100%; }

.wallpaper,
.wallpaper .wallpaper-container,
.wallpaper .wallpaper-media {
  -webkit-transition: none !important;
  transition: none !important; }

.wallpaper {
  overflow: hidden;
  position: relative; }

.wallpaper .wallpaper-container {
  height: 100%;
  overflow: hidden;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 0; }

.wallpaper .wallpaper-media {
  left: 0;
  opacity: 0;
  position: absolute;
  top: 0; }

.wallpaper .wallpaper-media.animated {
  -webkit-transition: opacity 0.5s linear !important;
  transition: opacity 0.5s linear !important; }

.wallpaper .wallpaper-media img,
.wallpaper .wallpaper-media video,
.wallpaper .wallpaper-media iframe {
  display: block;
  height: 100%;
  width: 100%; }

.wallpaper .wallpaper-embed.ready:after {
  content: '';
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 1; }

.wallpaper .wallpaper-embed.ready iframe {
  /* pointer-events: none; - safari doesn't like this :/ */
  z-index: 0; }

.wallpaper .wallpaper-media.native {
  background-position: center;
  background-size: cover;
  height: 100%;
  width: 100%; }

.wallpaper .wallpaper-media.native img {
  display: none; }

.wallpaper .wallpaper-media.fixed {
  background-position: center;
  background-attachment: fixed;
  height: 100%;
  width: 100%; }

.wallpaper .wallpaper-media.fixed img {
  display: none; }

/* Slider */
.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-touch-callout: none;
  -khtml-user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent; }

.slick-list {
  position: relative;
  display: block;
  overflow: hidden;
  margin: 0;
  padding: 0; }

.slick-list:focus {
  outline: none; }

.slick-list.dragging {
  cursor: pointer;
  cursor: hand; }

.slick-slider .slick-track,
.slick-slider .slick-list {
  -webkit-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0); }

.slick-track {
  position: relative;
  top: 0;
  left: 0;
  display: block; }

.slick-track:before,
.slick-track:after {
  display: table;
  content: ''; }

.slick-track:after {
  clear: both; }

.slick-loading .slick-track {
  visibility: hidden; }

.slick-slide {
  display: none;
  float: left;
  height: 100%;
  min-height: 1px; }

[dir='rtl'] .slick-slide {
  float: right; }

.slick-slide img {
  display: block; }

.slick-slide.slick-loading img {
  display: none; }

.slick-slide.dragging img {
  pointer-events: none; }

.slick-initialized .slick-slide {
  display: block; }

.slick-loading .slick-slide {
  visibility: hidden; }

.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent; }

.slick-arrow.slick-hidden {
  display: none; }

/* Slider */
.slick-loading .slick-list {
  background: #fff url("./assets/images/ajax-loader.gif") center center no-repeat; }

/* Icons */
@font-face {
  font-family: "slick";
  src: url("./assets/fonts/slick.eot");
  src: url("./assets/fonts/slick.eot?#iefix") format("embedded-opentype"), url("./assets/fonts/slick.woff") format("woff"), url("./assets/fonts/slick.ttf") format("truetype"), url("./assets/fonts/slick.svg#slick") format("svg");
  font-weight: normal;
  font-style: normal; }

/* Arrows */
.slick-prev,
.slick-next {
  position: absolute;
  display: block;
  height: 20px;
  width: 20px;
  line-height: 0px;
  font-size: 0px;
  cursor: pointer;
  background: transparent;
  color: transparent;
  top: 50%;
  margin-top: -10px;
  padding: 0;
  border: none;
  outline: none; }
  .slick-prev:hover,
  .slick-prev:focus,
  .slick-next:hover, .slick-next:focus {
    outline: none;
    background: transparent;
    color: transparent; }
    .slick-prev:hover:before,
    .slick-prev:focus:before,
    .slick-next:hover:before, .slick-next:focus:before {
      opacity: 1; }
  .slick-prev.slick-disabled:before,
  .slick-next.slick-disabled:before {
    opacity: 0.25; }

.slick-prev:before, .slick-next:before {
  font-size: 20px;
  line-height: 1;
  color: white;
  opacity: 0.75;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

.slick-prev {
  left: -25px; }
  [dir="rtl"] .slick-prev {
    left: auto;
    right: -25px; }
  .slick-prev:before {
    content: "←"; }
    [dir="rtl"] .slick-prev:before {
      content: "→"; }

.slick-next {
  right: -25px; }
  [dir="rtl"] .slick-next {
    left: -25px;
    right: auto; }
  .slick-next:before {
    content: "→"; }
    [dir="rtl"] .slick-next:before {
      content: "←"; }

/* Dots */
.slick-slider {
  margin-bottom: 30px; }

.slick-dots {
  position: absolute;
  bottom: -45px;
  list-style: none;
  display: block;
  text-align: center;
  padding: 0;
  width: 100%; }
  .slick-dots li {
    position: relative;
    display: inline-block;
    height: 20px;
    width: 20px;
    margin: 0 5px;
    padding: 0;
    cursor: pointer; }
    .slick-dots li button {
      border: 0;
      background: transparent;
      display: block;
      height: 20px;
      width: 20px;
      outline: none;
      line-height: 0px;
      font-size: 0px;
      color: transparent;
      padding: 5px;
      cursor: pointer; }
      .slick-dots li button:hover, .slick-dots li button:focus {
        outline: none; }
        .slick-dots li button:hover:before, .slick-dots li button:focus:before {
          opacity: 1; }
      .slick-dots li button:before {
        position: absolute;
        top: 0;
        left: 0;
        content: "•";
        width: 20px;
        height: 20px;
        font-size: 6px;
        line-height: 20px;
        text-align: center;
        color: black;
        opacity: 0.25;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale; }
    .slick-dots li.slick-active button:before {
      color: black;
      opacity: 0.75; }

/*
 * Scroller v3.1.2 - 2015-04-04
 * A jQuery plugin for replacing default browser scrollbars. Part of the Formstone Library.
 * http://classic.formstone.it/scroller/
 *
 * Copyright 2015 Ben Plum; MIT Licensed
 */
.fs-scrollbar {
  overflow: hidden;
  overflow-x: hidden;
  overflow-y: hidden;
  position: relative; }

.fs-scrollbar,
.fs-scrollbar * {
  -webkit-user-select: none !important;
  -moz-user-select: none !important;
  -ms-user-select: none !important;
  user-select: none !important; }

.fs-scrollbar,
.fs-scrollbar-content,
.fs-scrollbar-bar,
.fs-scrollbar-track,
.fs-scrollbar-handle {
  box-sizing: border-box; }

.fs-scrollbar-content {
  position: relative;
  z-index: 1;
  height: 100%;
  overflow: auto;
  overflow-x: hidden;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch; }

.fs-scrollbar-content::-webkit-scrollbar,
.fs-scrollbar-content::-webkit-scrollbar-button,
.fs-scrollbar-content::-webkit-scrollbar-track,
.fs-scrollbar-content::-webkit-scrollbar-track-piece,
.fs-scrollbar-content::-webkit-scrollbar-thumb,
.fs-scrollbar-content::-webkit-scrollbar-corner,
.fs-scrollbar-content::-webkit-resizer {
  background: transparent;
  opacity: 0; }

.fs-scrollbar-bar {
  width: 16px;
  height: 100%;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 2;
  background: #ffffff;
  display: none; }

.fs-scrollbar-track {
  width: 100%;
  height: 100%;
  position: relative;
  background: #ffffff;
  overflow: hidden; }

.fs-scrollbar-handle {
  width: 10px;
  height: 20px;
  position: absolute;
  top: 0;
  right: 3px;
  z-index: 2;
  background: #cccccc;
  border: 1px solid #ffffff;
  border-radius: 5px;
  cursor: pointer; }

.fs-scrollbar-horizontal .fs-scrollbar-content {
  overflow: auto;
  overflow-x: auto;
  overflow-y: hidden;
  padding: 0 0 16px 0; }

.fs-scrollbar-horizontal .fs-scrollbar-bar {
  width: 100%;
  height: 16px;
  top: auto;
  bottom: 0; }

.fs-scrollbar-horizontal .fs-scrollbar-handle {
  width: 20px;
  height: 10px;
  top: auto;
  right: auto;
  bottom: 3px; }

.fs-scrollbar-setup .fs-scrollbar-content,
.fs-scrollbar-active .fs-scrollbar-content {
  padding: 20px; }

.fs-scrollbar-setup .fs-scrollbar-bar,
.fs-scrollbar-active .fs-scrollbar-bar {
  display: block; }

.fs-scrollbar {
  overflow: hidden;
  overflow-x: hidden;
  overflow-y: hidden;
  position: relative; }

.fs-scrollbar,
.fs-scrollbar * {
  -webkit-user-select: none !important;
  -moz-user-select: none !important;
  -ms-user-select: none !important;
  user-select: none !important; }

.fs-scrollbar,
.fs-scrollbar-content,
.fs-scrollbar-bar,
.fs-scrollbar-track,
.fs-scrollbar-handle {
  box-sizing: border-box; }

.fs-scrollbar-content {
  position: relative;
  z-index: 1;
  height: 100%;
  overflow: auto;
  overflow-x: hidden;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch; }

.fs-scrollbar-content::-webkit-scrollbar,
.fs-scrollbar-content::-webkit-scrollbar-button,
.fs-scrollbar-content::-webkit-scrollbar-track,
.fs-scrollbar-content::-webkit-scrollbar-track-piece,
.fs-scrollbar-content::-webkit-scrollbar-thumb,
.fs-scrollbar-content::-webkit-scrollbar-corner,
.fs-scrollbar-content::-webkit-resizer {
  background: transparent;
  opacity: 0; }

.fs-scrollbar-bar {
  width: 16px;
  height: 100%;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 2;
  background: #ffffff;
  display: none; }

.fs-scrollbar-track {
  width: 100%;
  height: 100%;
  position: relative;
  background: #ffffff;
  overflow: hidden; }

.fs-scrollbar-handle {
  width: 10px;
  height: 20px;
  position: absolute;
  top: 0;
  right: 3px;
  z-index: 2;
  background: #cccccc;
  border: 1px solid #ffffff;
  border-radius: 5px;
  cursor: pointer; }

.fs-scrollbar-horizontal .fs-scrollbar-content {
  overflow: auto;
  overflow-x: auto;
  overflow-y: hidden;
  padding: 0 0 16px 0; }

.fs-scrollbar-horizontal .fs-scrollbar-bar {
  width: 100%;
  height: 16px;
  top: auto;
  bottom: 0; }

.fs-scrollbar-horizontal .fs-scrollbar-handle {
  width: 20px;
  height: 10px;
  top: auto;
  right: auto;
  bottom: 3px; }

.fs-scrollbar-setup .fs-scrollbar-content,
.fs-scrollbar-active .fs-scrollbar-content {
  padding: 20px; }

.fs-scrollbar-setup .fs-scrollbar-bar,
.fs-scrollbar-active .fs-scrollbar-bar {
  display: block; }

.scroller {
  overflow: hidden;
  overflow-x: hidden;
  overflow-y: hidden;
  position: relative; }

.scroller,
.scroller * {
  -webkit-user-select: none !important;
  -moz-user-select: none !important;
  -ms-user-select: none !important;
  user-select: none !important; }

.scroller,
.scroller-content,
.scroller-bar,
.scroller-track,
.scroller-handle {
  box-sizing: border-box; }

.scroller-content {
  position: relative;
  z-index: 1;
  height: 100%;
  overflow: auto;
  overflow-x: hidden;
  overflow-y: auto;
  margin-right: -2rem;
  -ms-overflow-style: none;
  -webkit-overflow-scrolling: touch; }

.scroller-content::-webkit-scrollbar,
.scroller-content::-webkit-scrollbar-button,
.scroller-content::-webkit-scrollbar-track,
.scroller-content::-webkit-scrollbar-track-piece,
.scroller-content::-webkit-scrollbar-thumb,
.scroller-content::-webkit-scrollbar-corner,
.scroller-content::-webkit-resizer {
  background: transparent;
  opacity: 0; }

.scroller-bar {
  width: 16px;
  height: 100%;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 2;
  background: transparent;
  display: none; }

.scroller-track {
  width: 100%;
  height: 100%;
  position: relative;
  background: transparent;
  overflow: hidden; }
  .scroller-track:after {
    content: "";
    width: 0.4rem;
    height: 100%;
    position: absolute;
    top: 0;
    right: 7px;
    background: #ded2b2;
    z-index: 1; }

.scroller-handle {
  width: 0.8rem;
  height: 20px;
  position: absolute;
  top: 0;
  right: 5px;
  background: #b0262e;
  cursor: pointer;
  z-index: 2; }

.scroller-horizontal .scroller-content {
  overflow: auto;
  overflow-x: auto;
  overflow-y: hidden;
  padding: 0 0 16px 0; }

.scroller-horizontal .scroller-bar {
  width: 100%;
  height: 16px;
  top: auto;
  bottom: 0; }

.scroller-horizontal .scroller-handle {
  width: 20px;
  height: 10px;
  top: auto;
  right: auto;
  bottom: 3px; }

.scroller-setup .scroller-content,
.scroller-active .scroller-content {
  padding: 0 1rem 0 0; }

.scroller-setup .scroller-bar,
.scroller-active .scroller-bar {
  display: block; }

/* Magnific Popup CSS */
.mfp-bg {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1042;
  overflow: hidden;
  position: fixed;
  background: #0b0b0b;
  opacity: 0.8;
  filter: alpha(opacity=80); }

.mfp-wrap {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1043;
  position: fixed;
  outline: none !important;
  -webkit-backface-visibility: hidden; }

.mfp-container {
  text-align: center;
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  padding: 0 8px;
  box-sizing: border-box; }

.mfp-container:before {
  content: '';
  display: inline-block;
  height: 100%;
  vertical-align: middle; }

.mfp-align-top .mfp-container:before {
  display: none; }

.mfp-content {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  margin: 0 auto;
  text-align: left;
  z-index: 1045; }

.mfp-inline-holder .mfp-content,
.mfp-ajax-holder .mfp-content {
  width: 100%;
  cursor: auto; }

.mfp-ajax-cur {
  cursor: progress; }

.mfp-zoom-out-cur, .mfp-zoom-out-cur .mfp-image-holder .mfp-close {
  cursor: -webkit-zoom-out;
  cursor: zoom-out; }

.mfp-zoom {
  cursor: pointer;
  cursor: -webkit-zoom-in;
  cursor: zoom-in; }

.mfp-auto-cursor .mfp-content {
  cursor: auto; }

.mfp-close,
.mfp-arrow,
.mfp-preloader,
.mfp-counter {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
      user-select: none; }

.mfp-loading.mfp-figure {
  display: none; }

.mfp-hide {
  display: none !important; }

.mfp-preloader {
  color: #CCC;
  position: absolute;
  top: 50%;
  width: auto;
  text-align: center;
  margin-top: -0.8em;
  left: 8px;
  right: 8px;
  z-index: 1044; }

.mfp-preloader a {
  color: #CCC; }

.mfp-preloader a:hover {
  color: #FFF; }

.mfp-s-ready .mfp-preloader {
  display: none; }

.mfp-s-error .mfp-content {
  display: none; }

button.mfp-close,
button.mfp-arrow {
  overflow: visible;
  cursor: pointer;
  background: transparent;
  border: 0;
  -webkit-appearance: none;
  display: block;
  outline: none;
  padding: 0;
  z-index: 1046;
  box-shadow: none; }

button::-moz-focus-inner {
  padding: 0;
  border: 0; }

.mfp-close {
  width: 44px;
  height: 44px;
  line-height: 44px;
  position: absolute;
  right: 0;
  top: 0;
  text-decoration: none;
  text-align: center;
  opacity: 0.65;
  filter: alpha(opacity=65);
  padding: 0 0 18px 10px;
  color: #FFF;
  font-style: normal;
  font-size: 28px;
  font-family: Arial, Baskerville, monospace; }

.mfp-close:hover,
.mfp-close:focus {
  opacity: 1;
  filter: alpha(opacity=100); }

.mfp-close:active {
  top: 1px; }

.mfp-close-btn-in .mfp-close {
  color: #333; }

.mfp-image-holder .mfp-close,
.mfp-iframe-holder .mfp-close {
  color: #FFF;
  right: -6px;
  text-align: right;
  padding-right: 6px;
  width: 100%; }

.mfp-counter {
  position: absolute;
  top: 0;
  right: 0;
  color: #CCC;
  font-size: 12px;
  line-height: 18px;
  white-space: nowrap; }

.mfp-arrow {
  position: absolute;
  opacity: 0.65;
  filter: alpha(opacity=65);
  margin: 0;
  top: 50%;
  margin-top: -55px;
  padding: 0;
  width: 90px;
  height: 110px;
  -webkit-tap-highlight-color: transparent; }

.mfp-arrow:active {
  margin-top: -54px; }

.mfp-arrow:hover,
.mfp-arrow:focus {
  opacity: 1;
  filter: alpha(opacity=100); }

.mfp-arrow:before,
.mfp-arrow:after,
.mfp-arrow .mfp-b,
.mfp-arrow .mfp-a {
  content: '';
  display: block;
  width: 0;
  height: 0;
  position: absolute;
  left: 0;
  top: 0;
  margin-top: 35px;
  margin-left: 35px;
  border: medium inset transparent; }

.mfp-arrow:after,
.mfp-arrow .mfp-a {
  border-top-width: 13px;
  border-bottom-width: 13px;
  top: 8px; }

.mfp-arrow:before,
.mfp-arrow .mfp-b {
  border-top-width: 21px;
  border-bottom-width: 21px;
  opacity: 0.7; }

.mfp-arrow-left {
  left: 0; }

.mfp-arrow-left:after,
.mfp-arrow-left .mfp-a {
  border-right: 17px solid #FFF;
  margin-left: 31px; }

.mfp-arrow-left:before,
.mfp-arrow-left .mfp-b {
  margin-left: 25px;
  border-right: 27px solid #3F3F3F; }

.mfp-arrow-right {
  right: 0; }

.mfp-arrow-right:after,
.mfp-arrow-right .mfp-a {
  border-left: 17px solid #FFF;
  margin-left: 39px; }

.mfp-arrow-right:before,
.mfp-arrow-right .mfp-b {
  border-left: 27px solid #3F3F3F; }

.mfp-iframe-holder {
  padding-top: 40px;
  padding-bottom: 40px; }

.mfp-iframe-holder .mfp-content {
  line-height: 0;
  width: 100%;
  max-width: 900px; }

.mfp-iframe-holder .mfp-close {
  top: -40px; }

.mfp-iframe-scaler {
  width: 100%;
  height: 0;
  overflow: hidden;
  padding-top: 56.25%; }

.mfp-iframe-scaler iframe {
  position: absolute;
  display: block;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
  background: #000; }

/* Main image in popup */
img.mfp-img {
  width: auto;
  max-width: 100%;
  height: auto;
  display: block;
  line-height: 0;
  box-sizing: border-box;
  padding: 40px 0 40px;
  margin: 0 auto; }

/* The shadow behind the image */
.mfp-figure {
  line-height: 0; }

.mfp-figure:after {
  content: '';
  position: absolute;
  left: 0;
  top: 40px;
  bottom: 40px;
  display: block;
  right: 0;
  width: auto;
  height: auto;
  z-index: -1;
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
  background: #444; }

.mfp-figure small {
  color: #BDBDBD;
  display: block;
  font-size: 12px;
  line-height: 14px; }

.mfp-figure figure {
  margin: 0; }

.mfp-bottom-bar {
  margin-top: -36px;
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  cursor: auto; }

.mfp-title {
  text-align: left;
  line-height: 18px;
  color: #F3F3F3;
  word-wrap: break-word;
  padding-right: 36px; }

.mfp-image-holder .mfp-content {
  max-width: 100%; }

.mfp-gallery .mfp-image-holder .mfp-figure {
  cursor: pointer; }

@media screen and (max-width: 800px) and (orientation: landscape), screen and (max-height: 300px) {
  /**
       * Remove all paddings around the image on small screen
       */
  .mfp-img-mobile .mfp-image-holder {
    padding-left: 0;
    padding-right: 0; }
  .mfp-img-mobile img.mfp-img {
    padding: 0; }
  .mfp-img-mobile .mfp-figure:after {
    top: 0;
    bottom: 0; }
  .mfp-img-mobile .mfp-figure small {
    display: inline;
    margin-left: 5px; }
  .mfp-img-mobile .mfp-bottom-bar {
    background: rgba(0, 0, 0, 0.6);
    bottom: 0;
    margin: 0;
    top: auto;
    padding: 3px 5px;
    position: fixed;
    box-sizing: border-box; }
  .mfp-img-mobile .mfp-bottom-bar:empty {
    padding: 0; }
  .mfp-img-mobile .mfp-counter {
    right: 5px;
    top: 3px; }
  .mfp-img-mobile .mfp-close {
    top: 0;
    right: 0;
    width: 35px;
    height: 35px;
    line-height: 35px;
    background: rgba(0, 0, 0, 0.6);
    position: fixed;
    text-align: center;
    padding: 0; } }

@media all and (max-width: 900px) {
  .mfp-arrow {
    -webkit-transform: scale(0.75);
    -ms-transform: scale(0.75);
        transform: scale(0.75); }
  .mfp-arrow-left {
    -webkit-transform-origin: 0;
    -ms-transform-origin: 0;
        transform-origin: 0; }
  .mfp-arrow-right {
    -webkit-transform-origin: 100%;
    -ms-transform-origin: 100%;
        transform-origin: 100%; }
  .mfp-container {
    padding-left: 6px;
    padding-right: 6px; } }

.mfp-ie7 .mfp-img {
  padding: 0; }

.mfp-ie7 .mfp-bottom-bar {
  width: 600px;
  left: 50%;
  margin-left: -300px;
  margin-top: 5px;
  padding-bottom: 5px; }

.mfp-ie7 .mfp-container {
  padding: 0; }

.mfp-ie7 .mfp-content {
  padding-top: 44px; }

.mfp-ie7 .mfp-close {
  top: 0;
  right: 0;
  padding-top: 0; }

.alignnone {
  margin: 0; }

.aligncenter,
div.aligncenter {
  display: block;
  margin: 0.5rem auto 0 auto; }

.alignright {
  float: none;
  float: right;
  margin: 0.5rem 0 2rem 2rem; }

.alignleft {
  float: none;
  float: left;
  margin: 0.5rem 2rem 2rem 0; }

.aligncenter {
  display: block;
  margin: 0.5rem auto 0 auto; }

a img.alignleft,
a img.alignright {
  width: auto;
  float: left; }

a img.alignleft {
  margin: 0.5rem 2rem 2rem 0; }

a img.alignright {
  margin: 0.5rem 0 2rem 2rem; }

a img.aligncenter {
  width: auto;
  display: block;
  margin-left: auto;
  margin-right: auto; }

a img.alignnone {
  width: auto; }

.wp-caption {
  width: 100% !important;
  max-width: 100%;
  padding: 0 0 1rem;
  text-align: left;
  margin-bottom: 2rem; }
  .wp-caption a,
  .wp-caption a:hover {
    border-bottom: 0 !important; }
  .wp-caption img {
    border: 0 none;
    height: auto;
    margin: 0 0 0.5rem;
    max-width: 100%;
    padding: 0;
    width: 100%; }
  .wp-caption.alignnone {
    margin: 0.5rem 2rem 2rem 0; }
  .wp-caption.alignleft {
    margin: 0.5rem 2rem 2rem 0; }
  .wp-caption.alignright {
    margin: 0.5rem 0 2rem 2rem; }
  .wp-caption.alignleft,
  .wp-caption.alignright {
    width: 25rem !important;
    width: 100%;
    max-width: 34rem; }
  .wp-caption .wp-caption-text {
    font-family: "District-Medium", sans-serif, Arial, "Helvetica Neue", Helvetica, sans-serif;
    font-weight: normal;
    font-size: 1.2rem;
    color: #777;
    line-height: 1.6rem;
    padding: 0 0 1rem;
    margin: 0;
    border-bottom: 0.1rem solid rgba(192, 192, 193, 0.2); }

.aligncenter.wp-caption {
  width: 100% !important; }

#dish_profile-tabs {
  display: none; }

.grid {
  padding-left: 0.5rem;
  padding-right: 0.5rem; }

.grid-row {
  zoom: 1; }
  .grid-row:before,
  .grid-row:after {
    content: "\0020";
    display: block;
    height: 0;
    overflow: hidden; }
  .grid-row:after {
    clear: both; }
  .grid-row:first-child {
    margin-top: 0.5rem; }
  .grid-row:last-child {
    margin-bottom: 0.5rem; }

.grid-option-e .wide,
.grid-option-f .wide,
.grid-option-g .wide,
.grid-option-h .wide {
  width: 100%; }

.grid-option-d .grid-block:nth-child(2) {
  position: absolute;
  top: 50%; }

.grid-option-e .grid-block:nth-child(3) {
  position: absolute;
  right: 0; }

.grid-option-f .big-square {
  width: 100%; }

.grid-option-f .grid-block:nth-child(2) {
  position: absolute;
  top: 50%; }

.grid-option-i .grid-block:nth-child(2),
.grid-option-i .grid-block:nth-child(3) {
  width: 66.6666666%; }
  .grid-option-i .grid-block:nth-child(2) .featured-image,
  .grid-option-i .grid-block:nth-child(3) .featured-image {
    width: 35%;
    top: 50%;
    left: 66.6666%;
    -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%); }

.grid-block {
  display: block;
  zoom: 1;
  width: 100%;
  float: left;
  padding: 0.5rem;
  overflow: hidden;
  width: 50%;
  width: 33.333333%;
  width: 25%; }
  .grid-block:before,
  .grid-block:after {
    content: "\0020";
    display: block;
    height: 0;
    overflow: hidden; }
  .grid-block:after {
    clear: both; }
  .grid-block a {
    display: block;
    width: 100%;
    height: 100%;
    cursor: pointer;
    overflow: hidden;
    background-color: #3b2014; }
    .grid-block a:hover .cta-link:after,
    .grid-block a:focus .cta-link:after {
      margin-left: 10px;
      margin-left: 1.5rem; }
  .grid-block.wide,
  .grid-block.big-square {
    width: 33.3333333%;
    width: 50%; }
  .grid-block.wide .featured-image {
    top: 50%;
    left: 66.6666%;
    -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%); }
  .grid-block.wide .steel:after {
    top: 66.666666%; }
  .grid-block.three-wide {
    width: 66.66666666%;
    width: 75%; }
  .grid-block.full {
    width: 100%; }
    .grid-block.full .featured-image {
      max-width: 20rem;
      max-width: 30rem;
      max-width: 40rem; }
  .grid-block.three-wide .featured-image,
  .grid-block.full .featured-image,
  .grid-block.big-square .featured-image {
    width: 35%;
    top: 50%;
    left: 66.6666%;
    -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%); }
  .grid-block.big-square .featured-image,
  .grid-block.tall .featured-image {
    top: 40%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    width: 85%; }
  .grid-block.wide .tan:after,
  .grid-block.wide .gold:after,
  .grid-block.three-wide .tan:after,
  .grid-block.three-wide .gold:after,
  .grid-block.full .tan:after,
  .grid-block.full .gold:after {
    width: 30rem;
    height: 30rem;
    width: 40rem;
    height: 40rem; }
  .grid-block.three-wide .steel:after,
  .grid-block.full .steel:after {
    top: 66.666666%; }
  .grid-block.tall .tan:after,
  .grid-block.tall .gold:after {
    width: 35rem;
    height: 35rem;
    width: 45rem;
    height: 45rem; }
  .grid-block.big-square .featured-image {
    max-width: 40rem; }
  .grid-block.big-square .tan:after,
  .grid-block.big-square .gold:after {
    width: 40rem;
    height: 40rem;
    width: 50rem;
    height: 50rem; }

.image-module {
  overflow: hidden; }
  .image-module:hover .media,
  .image-module:focus .media {
    -webkit-transform: scale(1.05);
        -ms-transform: scale(1.05);
            transform: scale(1.05); }

.media {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -webkit-transform: scale(1);
      -ms-transform: scale(1);
          transform: scale(1);
  -webkit-transition: -webkit-transform 400ms cubic-bezier(0.63, 0.64, 0.3, 1);
          transition: transform 400ms cubic-bezier(0.63, 0.64, 0.3, 1);
  will-change: transform;
  overflow: hidden;
  z-index: 1; }

.graphic-module {
  height: 100%;
  overflow: hidden; }
  .graphic-module .grid-text {
    background-color: none; }
  .graphic-module .featured-image {
    position: absolute;
    z-index: 3;
    top: 30%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    outline: 1px solid transparent;
    max-width: 45rem;
    width: 70%;
    -webkit-transition: -webkit-transform 600ms;
            transition: transform 600ms;
    top: 30%;
    width: 65%; }
  .graphic-module.tan:after,
  .graphic-module.gold:after {
    content: '';
    position: absolute;
    -webkit-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
            transform: rotate(45deg);
    display: inline-block;
    z-index: 2; }
  .graphic-module.tan {
    background-color: #ded2b2; }
    .graphic-module.tan:after {
      background-color: #f5edd9;
      width: 25rem;
      height: 25rem;
      left: 75%;
      top: 25%;
      -webkit-transform: translate(-50%, -50%) rotate(45deg);
          -ms-transform: translate(-50%, -50%) rotate(45deg);
              transform: translate(-50%, -50%) rotate(45deg); }
  .graphic-module.steel {
    background-color: #b2bfbb; }
    .graphic-module.steel:after {
      content: '';
      position: absolute;
      display: inline-block;
      height: 8px;
      width: 50%;
      right: 0;
      background-image: url(/wp-content/themes/noodles.com/assets/images/strip-border.svg);
      color: pink;
      top: 50%; }
  .graphic-module.gold {
    background-color: #ffc426; }
    .graphic-module.gold:after {
      background-color: #f5edd9;
      width: 30rem;
      height: 30rem;
      left: 25%;
      top: 75%;
      -webkit-transform: translate(-50%, -50%) rotate(45deg);
          -ms-transform: translate(-50%, -50%) rotate(45deg);
              transform: translate(-50%, -50%) rotate(45deg); }
  .graphic-module:hover .featured-image,
  .graphic-module:focus .featured-image {
    -webkit-transform: scale(1.1) translate(-45%, -45%);
        -ms-transform: scale(1.1) translate(-45%, -45%);
            transform: scale(1.1) translate(-45%, -45%);
    -webkit-transition: -webkit-transform 600ms;
            transition: transform 600ms; }

.grid-text {
  left: 0;
  display: inline-block;
  position: absolute;
  padding: 1rem 3.5rem 1rem 1.5rem;
  bottom: 0.5rem;
  z-index: 5;
  bottom: 1rem; }
  .image-module .grid-text {
    background-color: #ded2b2; }
  .grid-text h3, .grid-text h4 {
    text-transform: uppercase;
    color: #4f2b1c; }
  .grid-text h3 {
    font-family: "District-Bold", sans-serif;
    font-weight: normal;
    font-size: 1.4rem;
    font-size: 1.8rem; }
  .grid-text h4 {
    font-family: "Knockout 67 A", "Knockout 67 B", sans-serif;
    font-weight: normal;
    font-weight: 400;
    font-size: 3.6rem;
    margin-bottom: 0.5rem;
    font-size: 4.2rem;
    font-size: 4.8rem; }

/*

    EXAMPLE STRUCTURE:

    .simple-tabs    : Container used for JS actions and Namespacing
    .tabs           : Desktop Tab Headers
    .tab            : Desktop Individual Tab Header
    .tab-details    : Main Content of Each section
    .mobile-tab     : Mobile Tab Header (Used as Tabs Transform into Accordion on Mobile)
    section         : Section for Content
    article         : Article for Content

    <div class="simple-tabs">
        <ul class="tabs">
            <li class="tab active" data-tab="1">Section One</li>
            <li class="tab" data-tab="2">Section Two</li>
            <li class="tab" data-tab="3">Section Three</li>
        </ul>
        <ul class="tab-details">
            <li class="tab-detail active" data-tab-content="1">
                <div class="mobile-tab" data-tab="1">Section One</div>
                <section>
                    <article>
                        <h2>H2 Knockout 67 | 48PT</h2>
                        <h4>H4 District Bold | 18pt</h4>
                        <p>Morbi mattis sodales lectus quis feugiat. Fusce quis aliquet tellus. Nulla ultricies lorem non blandit ultrices.
                    </article>
                </section>
            </li>
            <li class="tab-detail" data-tab-content="2">
                <div class="mobile-tab" data-tab="2">Section Two</div>
                <section>
                    <article>
                        <h2>H2 Knockout 67 | 48PT</h2>
                        <h4>H4 District Bold | 18pt</h4>
                        <p>Morbi mattis sodales lectus quis feugiat. Fusce quis aliquet tellus. Nulla ultricies lorem non blandit ultrices.
                    </article>
                </section>
            </li>
            <li class="tab-detail" data-tab-content="3">
                <div class="mobile-tab" data-tab="3">Section Three</div>
                <section>
                    <article>
                        <h2>H2 Knockout 67 | 48PT</h2>
                        <h4>H4 District Bold | 18pt</h4>
                        <p>Morbi mattis sodales lectus quis feugiat. Fusce quis aliquet tellus. Nulla ultricies lorem non blandit ultrices.
                    </article>
                </section>
            </li>
        </ul>
    </div>

*/
.simple-tabs.no-fold .tabs {
  display: block; }

.simple-tabs.no-fold .tab-detail {
  width: 100%;
  background-color: #fff;
  border: 3px solid #ded2b2;
  display: none; }
  .simple-tabs.no-fold .tab-detail.active {
    display: block; }

.simple-tabs.no-fold .tab {
  display: inline-block; }

.simple-tabs .tabs {
  margin: 0;
  padding: 0;
  list-style: none;
  text-align: center;
  display: none;
  display: block; }

.simple-tabs .tab {
  font-family: "District-Bold", sans-serif;
  font-weight: normal;
  padding: 1rem 2.2vw;
  cursor: pointer;
  color: #fff;
  background-color: #b0262e;
  border: 3px solid #b0262e;
  text-transform: uppercase;
  letter-spacing: 0.2em;
  padding: 1rem 3rem;
  display: inline-block; }
  .simple-tabs .tab.active {
    border: 3px solid #ded2b2;
    color: #4f2b1c;
    background-color: #fff;
    position: relative; }
    .simple-tabs .tab.active::after {
      position: absolute;
      bottom: -6px;
      content: "";
      height: 6px;
      width: 100%;
      left: 0;
      background-color: white;
      z-index: 2; }

.simple-tabs .tab-detail {
  display: block;
  border-top: 3px solid #ded2b2;
  width: 100%;
  background-color: #fff;
  border: 3px solid #ded2b2;
  display: none; }
  .simple-tabs .tab-detail.active {
    display: block; }
  .simple-tabs .tab-detail:last-child {
    border-bottom: 3px solid #ded2b2; }
  .simple-tabs .tab-detail section {
    padding: 2rem;
    padding-top: 0;
    padding: 4rem;
    padding: 7.5rem;
    display: none; }
    .simple-tabs .tab-detail section.compact {
      padding: 2rem; }
    .simple-tabs .tab-detail section.tight {
      padding: 1rem; }
    .simple-tabs .tab-detail section.bleed {
      padding: 0; }

.simple-tabs .mobile-tab {
  font-family: "District-Bold", sans-serif;
  font-weight: normal;
  cursor: pointer;
  display: block;
  color: #b0262e;
  padding: 1.5rem 1rem;
  padding: 1.5rem;
  display: none; }
  .simple-tabs .mobile-tab::after {
    content: "+";
    position: absolute;
    font-size: 2.5rem;
    right: 1rem;
    top: 47%;
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%); }

.simple-tabs .tab-detail.active .mobile-tab::after {
  content: "—";
  right: 1rem;
  margin-top: 0.1rem; }

.simple-tabs .tab-detail.active section {
  display: block; }

/*
// Grid content markup needs to be used inside <section class="content-grid">

// <div class="content-grid-row">
//     <div class="50-percent-column">
//         <h4>Title</h4>
//         <p>Lorem ipsum...</p>

//         <h4>Title</h4>
//         <p>Lorem ipsum...</p>

//         <h4>Title</h4>
//         <p>Lorem ipsum...</p>
//     </div>
//     <div class="50-percent-column">
//         <img src="http://placehold.it/300x300">
//     </div>
// </div>

// <div class="content-grid-row">
//     <div class="66-percent-column">
//         <h4>Title</h4>
//         <p>Lorem ipsum...</p>

//         <h4>Title</h4>
//         <p>Lorem ipsum...</p>

//         <h4>Title</h4>
//         <p>Lorem ipsum...</p>
//     </div>
//     <div class="33-percent-column">
//         <img src="http://placehold.it/300x300">
//     </div>
// </div>

// <div class="content-grid-row">
//     <div class="100-percent-column">
//         <h4>Title</h4>
//         <p>Lorem ipsum...</p>

//         <h4>Title</h4>
//         <p>Lorem ipsum...</p>

//         <h4>Title</h4>
//         <p>Lorem ipsum...</p>
//     </div>
// </div>
*/
.content-grid {
  max-width: 144rem;
  margin: 0 auto; }
  .content-grid:first-child,
  .content-grid + .content-grid {
    padding-top: 0; }
  .content-grid .content-grid {
    display: none; }
  .content-grid .content-grid-row {
    margin: 0 auto; }
    .content-grid .content-grid-row.add-space {
      margin-bottom: 10rem; }
  .content-grid [class*="column"] {
    float: none;
    width: 100%; }
  .content-grid [class*="column"] {
    float: left; }
  .content-grid [class*="column"]:first-child {
    padding-right: 4rem; }
  .content-grid [class*="column"] + [class*="column"] {
    padding-left: 4rem; }
  .content-grid [class*="33-percent"],
  .content-grid [class*="34-percent"] {
    width: 33%; }
  .content-grid [class*="50-percent"] {
    width: 50%; }
  .content-grid [class*="66-percent"] {
    width: 66%; }
  .content-grid [class*="100-percent"] {
    width: 100%; }

.nutrition-facts {
  background: #fff;
  width: 100%; }
  @media print {
    .nutrition-facts {
      border: 1px solid #ded2b2; } }
  .nutrition-facts table {
    width: 100%;
    font-family: "District-Medium", sans-serif, Arial, "Helvetica Neue", Helvetica, sans-serif;
    font-weight: normal;
    font-size: 1.4rem; }
  .nutrition-facts th,
  .nutrition-facts td {
    padding: 0.5rem 0;
    font-weight: bold; }
  .nutrition-facts th {
    text-align: left; }
  .nutrition-facts td {
    text-align: right; }
  .nutrition-facts .underline-thin th,
  .nutrition-facts .underline-thin td {
    border-bottom: 0.1rem solid #ded2b2;
    padding-bottom: 0.7rem; }
  .nutrition-facts .underline-thick th,
  .nutrition-facts .underline-thick td {
    border-bottom: 0.3rem solid #000;
    padding-bottom: 0.7rem; }
  .nutrition-facts .underline-thin + tr th,
  .nutrition-facts .underline-thin + tr td,
  .nutrition-facts .underline-thick + tr th,
  .nutrition-facts .underline-thick + tr td {
    padding-top: 0.7rem; }
  .nutrition-facts .indented th {
    padding-left: 1.5rem; }
  .nutrition-facts .normal th,
  .nutrition-facts .normal td,
  .nutrition-facts .indented th, .nutrition-facts .indented td {
    font-weight: normal; }
  .nutrition-facts .value-physical {
    padding-left: 0.8rem; }
  .nutrition-facts .servings th,
  .nutrition-facts .servings td {
    vertical-align: top;
    line-height: 1.4rem; }
  .nutrition-facts .vitamins {
    zoom: 1; }
    .nutrition-facts .vitamins:before,
    .nutrition-facts .vitamins:after {
      content: "\0020";
      display: block;
      height: 0;
      overflow: hidden; }
    .nutrition-facts .vitamins:after {
      clear: both; }
    .nutrition-facts .vitamins div {
      zoom: 1;
      float: left;
      width: 50%;
      padding: 0.2rem 0; }
      .nutrition-facts .vitamins div:before,
      .nutrition-facts .vitamins div:after {
        content: "\0020";
        display: block;
        height: 0;
        overflow: hidden; }
      .nutrition-facts .vitamins div:after {
        clear: both; }
      .nutrition-facts .vitamins div:nth-child(odd) {
        padding-right: 1rem; }
      .nutrition-facts .vitamins div:nth-child(even) {
        padding-left: 1rem; }
    .nutrition-facts .vitamins .name {
      float: left;
      text-align: left;
      width: 80%; }
    .nutrition-facts .vitamins .amount {
      float: right;
      text-align: right;
      width: 20%; }
  .nutrition-facts .percent-daily-value {
    font-size: 1rem; }
  .nutrition-facts .percent-daily {
    text-align: left;
    padding-top: 1rem;
    font-size: 1.1rem;
    line-height: 1.5rem; }
  .nutrition-facts .size {
    font-family: "District-Bold", sans-serif;
    font-weight: normal;
    font-size: 1.8rem;
    margin-bottom: 0.5rem;
    text-transform: none;
    letter-spacing: 0px;
    margin-bottom: 1rem; }
  .nutrition-facts .pipe {
    font-family: "District-Bold", sans-serif;
    font-weight: normal; }
  .nutrition-facts .disclaimer {
    font-size: 1.4rem;
    margin-top: 1rem; }

.mobile-accordion .section-heading {
  font-family: "District-Bold", sans-serif;
  font-weight: normal;
  cursor: pointer;
  display: block;
  color: #b0262e;
  text-align: left;
  text-transform: none;
  padding: 1.5rem 0; }
  .mobile-accordion .section-heading::after {
    content: "+";
    position: absolute;
    font-size: 2.5rem;
    right: 1rem;
    top: 47%;
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%); }
  @media print {
    .mobile-accordion .section-heading:after {
      content: ''; } }

.mobile-accordion .section-content {
  display: none;
  padding: 1rem 0;
  padding-top: 1.5rem;
  padding-bottom: 1.5rem; }

.mobile-accordion .accordion-section {
  border-top: 3px solid #ded2b2; }
  .mobile-accordion .accordion-section.active .section-heading:after {
    content: "—";
    right: 1rem;
    margin-top: 0.1rem; }
  @media print {
    .mobile-accordion .accordion-section.active .section-heading:after {
      content: ''; } }
  .mobile-accordion .accordion-section.active .section-content {
    display: block; }
    .mobile-accordion .accordion-section.active .section-content.dish-feature-wrap {
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex; }
  .mobile-accordion .accordion-section:last-child {
    border-bottom: 3px solid #ded2b2; }
  @media print {
    .mobile-accordion .accordion-section {
      page-break-inside: avoid; }
      .mobile-accordion .accordion-section .section-content {
        display: block; }
        .mobile-accordion .accordion-section .section-content.dish-feature-wrap {
          display: -webkit-box;
          display: -webkit-flex;
          display: -ms-flexbox;
          display: flex; } }
  @media print {
    .mobile-accordion .accordion-section {
      border-top: none; } }
  .mobile-accordion .accordion-section .section-heading {
    text-transform: none; }
  .mobile-accordion .accordion-section .section-content {
    zoom: 1; }
    .mobile-accordion .accordion-section .section-content:before,
    .mobile-accordion .accordion-section .section-content:after {
      content: "\0020";
      display: block;
      height: 0;
      overflow: hidden; }
    .mobile-accordion .accordion-section .section-content:after {
      clear: both; }

.full-accordion .section-heading {
  font-family: "District-Bold", sans-serif;
  font-weight: normal;
  cursor: pointer;
  display: block;
  color: #b0262e;
  text-align: left;
  text-transform: none;
  padding: 1.5rem 3rem 1.5rem 0; }
  .full-accordion .section-heading::after {
    content: "+";
    position: absolute;
    font-size: 2.5rem;
    right: 1rem;
    top: 47%;
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%); }
  @media print {
    .full-accordion .section-heading:after {
      content: ''; } }

.full-accordion .section-content {
  display: none;
  padding: 1rem 0;
  padding-top: 1.5rem;
  padding-bottom: 1.5rem; }

.full-accordion .accordion-section {
  border-top: 3px solid #ded2b2; }
  .full-accordion .accordion-section.active .section-heading:after {
    content: "—";
    right: 1rem;
    margin-top: 0.1rem; }
  @media print {
    .full-accordion .accordion-section.active .section-heading:after {
      content: ''; } }
  .full-accordion .accordion-section.active .section-content {
    display: block; }
    .full-accordion .accordion-section.active .section-content.dish-feature-wrap {
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex; }
  .full-accordion .accordion-section:last-child {
    border-bottom: 3px solid #ded2b2; }
  @media print {
    .full-accordion .accordion-section {
      page-break-inside: avoid; }
      .full-accordion .accordion-section .section-content {
        display: block; }
        .full-accordion .accordion-section .section-content.dish-feature-wrap {
          display: -webkit-box;
          display: -webkit-flex;
          display: -ms-flexbox;
          display: flex; } }
  @media print {
    .full-accordion .accordion-section {
      border-top: none; } }
  .full-accordion .accordion-section .section-heading {
    text-transform: none; }
  .full-accordion .accordion-section .section-content {
    zoom: 1; }
    .full-accordion .accordion-section .section-content:before,
    .full-accordion .accordion-section .section-content:after {
      content: "\0020";
      display: block;
      height: 0;
      overflow: hidden; }
    .full-accordion .accordion-section .section-content:after {
      clear: both; }

.dish-feature-wrap {
  text-align: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  white-space: nowrap;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center; }

.dish-feature-link {
  zoom: 1;
  display: block;
  margin-top: 2.5rem;
  margin-top: 2rem; }
  .dish-feature-link:before,
  .dish-feature-link:after {
    content: "\0020";
    display: block;
    height: 0;
    overflow: hidden; }
  .dish-feature-link:after {
    clear: both; }
  .kids-meals .dish-feature-link,
  .shareables .dish-feature-link {
    margin-top: 1rem;
    margin-top: 0; }
  .sandwiches .dish-feature-link {
    margin-top: 1.5rem;
    margin-top: 1rem; }
  .dish-feature-link:hover .feature-dish-name,
  .dish-feature-link:focus .feature-dish-name {
    color: #89060e; }

.dish-feature-new {
  position: absolute;
  right: 2%;
  top: -3%;
  color: #4f2b1c;
  font-style: normal;
  right: 10%;
  top: -2%; }
  .kids-meals .dish-feature-new {
    top: 7%; }
  .shareables .dish-feature-new {
    top: 10%; }
  .sandwiches .dish-feature-new {
    top: 2%; }
  .soups .dish-feature-new {
    top: 5%; }
  .dish-feature-new:before {
    content: 'NEW!';
    display: inline-block;
    position: absolute;
    font-family: "Knockout 67 A", "Knockout 67 B", sans-serif;
    font-weight: normal;
    font-size: 1.5rem;
    right: 0.6rem;
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%);
    z-index: 2;
    right: 1rem;
    font-size: 1.9rem; }
  .dish-feature-new:after {
    content: '';
    display: inline-block;
    position: absolute;
    background-color: #ded2b2;
    right: -14%;
    top: 50%;
    -webkit-transform: translateY(-50%) rotate(45deg);
        -ms-transform: translateY(-50%) rotate(45deg);
            transform: translateY(-50%) rotate(45deg);
    width: 30px;
    height: 30px;
    width: 40px;
    height: 40px; }

.dish-feature {
  display: inline-block;
  padding: 0 1rem;
  text-align: center;
  margin-bottom: 2rem;
  width: 100%;
  width: 50%;
  padding: 0 2rem;
  margin-bottom: 3rem;
  padding: 0 4rem;
  width: 33.333333%;
  margin-bottom: 2rem;
  width: 25%;
  margin-bottom: 2.5rem; }
  @media print {
    .dish-feature {
      padding: 0 1rem;
      margin-bottom: 0; } }
  .dish-feature.sandwiches,
  .dish-feature.buff-bowls,
  .dish-feature.shareables,
  .dish-feature.kids-meals {
    padding: 0 2rem; }
  .dish-feature .feature-dish-image {
    display: block;
    z-index: 5; }
  .dish-feature .feature-dish-info {
    white-space: normal; }
  .dish-feature .feature-dish-name {
    color: #b0262e;
    text-transform: none;
    font-family: "District-Bold", sans-serif;
    font-weight: normal;
    font-size: 1.6rem;
    margin-bottom: 1rem;
    white-space: normal; }
  .dish-feature .feature-icons,
  .dish-feature .calorie-list {
    display: inline-block; }
    .dish-feature .feature-icons li,
    .dish-feature .calorie-list li {
      display: inline-block;
      float: left; }
  .dish-feature .feature-icons {
    top: -2px;
    font-size: 1.2rem;
    margin-right: 0.2rem;
    color: #4f2b1c; }
    .dish-feature .feature-icons .veggie {
      margin-left: 5px; }
    .dish-feature .feature-icons .spicy {
      font-size: 1.4rem;
      margin-right: 1px; }
      .dish-feature .feature-icons .spicy:nth-child(2) {
        margin-right: -1px; }
  .dish-feature .calorie-list {
    color: #4f2b1c; }
  .dish-feature .calorie-item,
  .dish-feature .calorie-label {
    font-size: 1.4rem; }
  .dish-feature .calorie-item + .calorie-item:before {
    content: '|';
    font-family: "District-Bold", sans-serif;
    font-weight: normal;
    display: inline-block;
    margin-left: 0.3rem;
    margin-right: 0.3rem; }
  .dish-feature .calorie-label {
    font-family: "District-Medium", sans-serif;
    font-weight: normal;
    margin-left: 0.3rem; }

.gform_validation_container {
  display: none; }

.gform_confirmation_wrapper {
  text-align: center; }

.gform_wrapper {
  color: #4f2b1c; }
  .gform_wrapper .gfield {
    zoom: 1; }
    .gform_wrapper .gfield:before,
    .gform_wrapper .gfield:after {
      content: "\0020";
      display: block;
      height: 0;
      overflow: hidden; }
    .gform_wrapper .gfield:after {
      clear: both; }
  .gform_wrapper input,
  .gform_wrapper textarea,
  .gform_wrapper select,
  .gform_wrapper .gfield_radio,
  .gform_wrapper .gfield_checkbox,
  .gform_wrapper .gfield_description,
  .gform_wrapper .gform_drop_area,
  .gform_wrapper .validation_message,
  .gform_wrapper .ginput_preview,
  .gform_wrapper .gfield_list {
    width: 100%;
    float: right;
    width: 66.6666%; }
    .gform_wrapper input::-webkit-input-placeholder,
    .gform_wrapper textarea::-webkit-input-placeholder,
    .gform_wrapper select::-webkit-input-placeholder,
    .gform_wrapper .gfield_radio::-webkit-input-placeholder,
    .gform_wrapper .gfield_checkbox::-webkit-input-placeholder,
    .gform_wrapper .gfield_description::-webkit-input-placeholder,
    .gform_wrapper .gform_drop_area::-webkit-input-placeholder,
    .gform_wrapper .validation_message::-webkit-input-placeholder,
    .gform_wrapper .ginput_preview::-webkit-input-placeholder,
    .gform_wrapper .gfield_list::-webkit-input-placeholder {
      color: #4f2b1c; }
    .gform_wrapper input:-moz-placeholder,
    .gform_wrapper textarea:-moz-placeholder,
    .gform_wrapper select:-moz-placeholder,
    .gform_wrapper .gfield_radio:-moz-placeholder,
    .gform_wrapper .gfield_checkbox:-moz-placeholder,
    .gform_wrapper .gfield_description:-moz-placeholder,
    .gform_wrapper .gform_drop_area:-moz-placeholder,
    .gform_wrapper .validation_message:-moz-placeholder,
    .gform_wrapper .ginput_preview:-moz-placeholder,
    .gform_wrapper .gfield_list:-moz-placeholder {
      color: #4f2b1c; }
    .gform_wrapper input::-moz-placeholder,
    .gform_wrapper textarea::-moz-placeholder,
    .gform_wrapper select::-moz-placeholder,
    .gform_wrapper .gfield_radio::-moz-placeholder,
    .gform_wrapper .gfield_checkbox::-moz-placeholder,
    .gform_wrapper .gfield_description::-moz-placeholder,
    .gform_wrapper .gform_drop_area::-moz-placeholder,
    .gform_wrapper .validation_message::-moz-placeholder,
    .gform_wrapper .ginput_preview::-moz-placeholder,
    .gform_wrapper .gfield_list::-moz-placeholder {
      color: #4f2b1c; }
    .gform_wrapper input:-ms-input-placeholder,
    .gform_wrapper textarea:-ms-input-placeholder,
    .gform_wrapper select:-ms-input-placeholder,
    .gform_wrapper .gfield_radio:-ms-input-placeholder,
    .gform_wrapper .gfield_checkbox:-ms-input-placeholder,
    .gform_wrapper .gfield_description:-ms-input-placeholder,
    .gform_wrapper .gform_drop_area:-ms-input-placeholder,
    .gform_wrapper .validation_message:-ms-input-placeholder,
    .gform_wrapper .ginput_preview:-ms-input-placeholder,
    .gform_wrapper .gfield_list:-ms-input-placeholder {
      color: #4f2b1c; }
  .gform_wrapper .gfield_radio > li,
  .gform_wrapper .gfield_checkbox > li {
    display: inline-block;
    margin-right: 2rem; }
  .gform_wrapper .gfield_radio input,
  .gform_wrapper .gfield_radio label,
  .gform_wrapper .gfield_checkbox input,
  .gform_wrapper .gfield_checkbox label {
    width: inherit;
    float: left; }
  .gform_wrapper .gfield_radio label,
  .gform_wrapper .gfield_checkbox label {
    max-width: 95%; }
  .gform_wrapper .gfield_radio input,
  .gform_wrapper .gfield_checkbox input {
    margin-right: 1rem; }
  .gform_wrapper .gfield_label {
    width: 100%;
    float: left;
    padding-right: 2rem;
    width: 33.3333%; }
  .gform_wrapper .gfield_list input {
    float: left;
    width: 75%;
    margin-bottom: 0.5rem; }
  .gform_wrapper .gfield_list thead th {
    padding-bottom: 0.5rem; }
  .gform_wrapper .ginput_container {
    zoom: 1; }
    .gform_wrapper .ginput_container:before,
    .gform_wrapper .ginput_container:after {
      content: "\0020";
      display: block;
      height: 0;
      overflow: hidden; }
    .gform_wrapper .ginput_container:after {
      clear: both; }
  .gform_wrapper .gfield_date_dropdown_year {
    display: none; }
  .gform_wrapper .ginput_complex label {
    display: none; }
  .gform_wrapper .ginput_complex > span {
    display: block;
    zoom: 1; }
    .gform_wrapper .ginput_complex > span:before,
    .gform_wrapper .ginput_complex > span:after {
      content: "\0020";
      display: block;
      height: 0;
      overflow: hidden; }
    .gform_wrapper .ginput_complex > span:after {
      clear: both; }
  .gform_wrapper .ginput_complex .ginput_left {
    margin-bottom: 1rem; }
  .gform_wrapper .gfield_label {
    display: inline-block;
    margin-bottom: 1rem; }
  .gform_wrapper .gsection > :last-child {
    margin-bottom: 0; }
  .gform_wrapper .gsection_title {
    font-family: "District-Bold", sans-serif;
    font-weight: normal;
    text-transform: none;
    font-size: 2.4rem;
    margin-bottom: 1em; }
  .gform_wrapper .validation_error {
    display: none; }
  .gform_wrapper .gfield_required {
    margin-left: 0.5rem; }
  .gform_wrapper .gfield_html,
  .gform_wrapper .gsection,
  .gform_wrapper .gfield_label {
    line-height: 1.5; }
  .gform_wrapper .gfield_html p {
    margin-bottom: 1em; }
    .gform_wrapper .gfield_html p:last-child {
      margin-bottom: 0; }
  .gform_wrapper .gfield {
    margin-bottom: 3rem; }
  .gform_wrapper .instruction {
    display: none; }
  .gform_wrapper .gfield_error select,
  .gform_wrapper .gfield_error input,
  .gform_wrapper .gfield_error textarea {
    border-color: #f31f47; }
  .gform_wrapper .gfield_error .validation_message {
    color: white;
    padding: 1rem;
    background-color: #f31f47; }
    .gform_wrapper .gfield_error .validation_message:before {
      content: '\E001';
      display: inline-block;
      margin-right: 5px; }
  .gform_wrapper .gform_footer {
    text-align: center; }
  .gform_wrapper .gform_button {
    float: none;
    width: inherit;
    text-align: center;
    display: inline-block;
    padding: 1rem 2rem;
    font-family: "District-Bold", sans-serif;
    font-weight: normal;
    text-transform: uppercase;
    font-size: 1.4rem;
    letter-spacing: 0.2em;
    background-color: #b0262e;
    color: #fff;
    -webkit-transition: -webkit-transform 300ms;
            transition: transform 300ms;
    zoom: 1;
    background-color: #b0262e;
    color: #fff;
    font-size: 1.6rem;
    padding: 1.5rem 3rem; }
    .gform_wrapper .gform_button:before,
    .gform_wrapper .gform_button:after {
      content: "\0020";
      display: block;
      height: 0;
      overflow: hidden; }
    .gform_wrapper .gform_button:after {
      clear: both; }
    .gform_wrapper .gform_button:hover,
    .gform_wrapper .gform_button:focus {
      background-color: #89060e; }
    .gform_wrapper .gform_button:hover,
    .gform_wrapper .gform_button:focus {
      background-color: #89060e; }
  .gform_wrapper .gform_button_select_files {
    width: 100%;
    color: #b0262e;
    margin-bottom: 2rem; }
  .gform_wrapper .gform_drop_instructions {
    display: inline-block;
    width: 100%;
    padding: 1rem 1rem 5rem;
    background-color: #f5edd9;
    margin-bottom: 2rem; }

.page-template-stub-header li.nav-toggle {
  display: none; }

.page-template-stub-header li.order-now {
  margin-right: 0; }

.page-template-stub-header main.root {
  display: none; }

.page-template-stub-header footer.main-footer {
  display: none; }

.page-template-stub-footer header.main-header {
  display: none; }

.page-template-stub-footer main.root {
  display: none; }

.browse-happy {
  background-color: transparent;
  background-color: rgba(119, 119, 119, 0.97);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#F7777777,endColorstr=#F7777777);
  zoom: 1;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 800; }
  .browse-happy p {
    display: block;
    width: 800px;
    height: 200px;
    font-size: 2em;
    line-height: 1.3em;
    text-align: center;
    color: #fff; }
    .browse-happy p a {
      display: inline-block;
      color: #59b6fd;
      line-height: 1em;
      border-bottom: 1px solid rgba(89, 182, 253, 0.2); }
      .browse-happy p a:hover {
        color: rgba(89, 182, 253, 0.8); }

.cta-wrap {
  display: block;
  zoom: 1; }
  .cta-wrap:before,
  .cta-wrap:after {
    content: "\0020";
    display: block;
    height: 0;
    overflow: hidden; }
  .cta-wrap:after {
    clear: both; }

.cta {
  padding: 1rem 4rem 1rem 2rem;
  font-family: "District-Bold", sans-serif;
  font-weight: normal;
  text-transform: uppercase;
  font-size: 1.4rem;
  letter-spacing: 0.2em;
  background-color: #b0262e;
  color: #fff;
  -webkit-transition: -webkit-transform 300ms;
          transition: transform 300ms;
  zoom: 1;
  display: inline-block;
  font-size: 1.6rem;
  padding: 1.5rem 5rem 1.5rem 3rem; }
  .cta:before,
  .cta:after {
    content: "\0020";
    display: block;
    height: 0;
    overflow: hidden; }
  .cta:after {
    clear: both; }
  .cta:after {
    content: '';
    -webkit-transition: all 300ms;
            transition: all 300ms;
    position: absolute;
    width: 0;
    right: 20px;
    top: 50%;
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%);
    height: 0;
    display: inline-block;
    margin-left: 1.5rem;
    border-top: 7px solid transparent;
    border-bottom: 7px solid transparent;
    border-left: 7px solid #fff;
    right: 30px; }
  .cta:hover,
  .cta:focus {
    background-color: #89060e; }
    .cta:hover:after,
    .cta:focus:after {
      right: 15px;
      right: 25px; }
  .cta.tan {
    background-color: #ded2b2;
    color: #b0262e; }
    .cta.tan:hover,
    .cta.tan:focus {
      background-color: #c8bb98; }
    .cta.tan:after {
      border-left-color: #b0262e; }
  .cta.red {
    background-color: #b0262e;
    color: #fff; }
    .cta.red:hover,
    .cta.red:focus {
      background-color: #89060e; }
    .cta.red:after {
      border-left-color: #fff; }

.featured-category {
  padding: 1rem 1.5rem;
  font-size: 1.4rem;
  font-family: "District-Bold", sans-serif;
  font-weight: normal;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  display: inline-block;
  margin-right: 0rem;
  margin-bottom: 0.5rem;
  padding: 1.2rem 1.5rem;
  font-size: 1.6rem; }
  .featured-category.tan {
    color: #b0262e;
    background-color: #ded2b2; }
  .featured-category.red {
    color: white;
    background-color: #b0262e; }
  .featured-category.brown {
    color: #ffc426;
    background-color: #4f2b1c; }

.s-spicy,
.s-veggie {
  display: inline-block; }

i.rarrow:before,
i.larrow:before {
  content: '\E003';
  display: inline-block; }

i.darrow:before {
  -webkit-transform: rotate(90deg);
      -ms-transform: rotate(90deg);
          transform: rotate(90deg); }

i.larrow:before {
  -webkit-transform: rotate(180deg);
      -ms-transform: rotate(180deg);
          transform: rotate(180deg); }

i.spicy {
  top: 2px; }
  i.spicy:before {
    content: '\E00F';
    width: 5px;
    display: inline-block; }

i.veggie {
  top: 2px; }
  i.veggie:before {
    content: '\E012';
    display: inline-block; }

i.print {
  top: 2px; }
  i.print:before {
    content: '\E00D';
    display: inline-block; }

.icon-key {
  display: block;
  margin-bottom: 2rem;
  zoom: 1;
  margin-bottom: 2.5rem;
  margin-bottom: 3rem; }
  .icon-key:before,
  .icon-key:after {
    content: "\0020";
    display: block;
    height: 0;
    overflow: hidden; }
  .icon-key:after {
    clear: both; }
  .icon-key .spicy {
    font-size: 20px;
    top: 4px; }
    .icon-key .spicy:before {
      width: inherit; }
  .icon-key .veggie {
    margin-left: 0;
    font-size: 1.5rem;
    top: 2px; }
  .icon-key .icon-wrap {
    float: left;
    display: inline-block;
    width: 100%;
    font-size: 1.2rem;
    float: none;
    display: inline;
    width: inherit; }
    .icon-key .icon-wrap:first-child:after {
      content: ', ';
      display: inline; }

.custom-checkbox-wrap .custom-checkbox {
  display: none; }

.custom-checkbox-wrap .stunt-double {
  display: inline-block;
  width: 2rem;
  height: 2rem;
  border: 3px solid #ded2b2;
  background-color: #fff; }
  .custom-checkbox-wrap .stunt-double:after {
    content: '\E005';
    color: white;
    display: inline-block;
    opacity: 0;
    top: -1px;
    left: -1px; }

.custom-checkbox-wrap .custom-checkbox:checked + .stunt-double {
  border-color: #b0262e;
  background-color: #b0262e;
  color: white; }
  .custom-checkbox-wrap .custom-checkbox:checked + .stunt-double:after {
    opacity: 1; }

#hero-video-loop {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: inherit;
  padding: 0;
  z-index: 1; }

#home-grid {
  margin-top: 1rem;
  margin-top: 3rem;
  margin-top: 5rem; }

.education {
  max-width: 144rem;
  margin: 0 auto;
  padding: 3rem 2rem;
  zoom: 1;
  padding-left: 4rem;
  padding-right: 4rem;
  padding-top: 4rem;
  padding-bottom: 5rem;
  padding-top: 6rem;
  padding-bottom: 7rem;
  padding-left: 7.5rem;
  padding-right: 7.5rem; }
  .education:before,
  .education:after {
    content: "\0020";
    display: block;
    height: 0;
    overflow: hidden; }
  .education:after {
    clear: both; }
  .education h2 {
    text-align: center;
    font-size: 3.6rem;
    font-family: "Knockout 67 A", "Knockout 67 B", sans-serif;
    font-weight: normal;
    text-transform: uppercase;
    color: #4f2b1c;
    font-size: 6.4rem;
    font-size: 7.2rem; }
  .education img {
    margin: 0 auto;
    display: block; }
  .education .cta-wrap {
    display: block;
    zoom: 1; }
    .education .cta-wrap:before,
    .education .cta-wrap:after {
      content: "\0020";
      display: block;
      height: 0;
      overflow: hidden; }
    .education .cta-wrap:after {
      clear: both; }
  .education .cta {
    text-align: center;
    display: inline-block;
    left: 50%;
    -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
            transform: translateX(-50%); }
    .education .cta:hover,
    .education .cta:focus {
      color: #fff; }

.home-footer {
  margin-bottom: 1rem;
  margin-bottom: 3rem;
  margin-bottom: 5rem; }

.default-landing.no-hero {
  padding-top: 5rem;
  padding-top: 7.5rem;
  padding-top: 10rem; }

.default-landing p a {
  font-family: "District-Bold", sans-serif;
  font-weight: normal;
  color: #b0262e; }
  .default-landing p a:hover,
  .default-landing p a:focus,
  .default-landing p a:active {
    color: #89060e; }
  .default-landing p a:focus {
    outline: none; }

.default-landing-content {
  zoom: 1;
  padding-top: 4rem;
  padding-top: 7.5rem; }
  .default-landing-content:before,
  .default-landing-content:after {
    content: "\0020";
    display: block;
    height: 0;
    overflow: hidden; }
  .default-landing-content:after {
    clear: both; }
  .default-landing-content.constrained {
    max-width: 68rem; }
    .default-landing-content.constrained h1,
    .default-landing-content.constrained h2,
    .default-landing-content.constrained h3,
    .default-landing-content.constrained h4,
    .default-landing-content.constrained h5,
    .default-landing-content.constrained h6 {
      text-align: center; }
  .default-landing-content:last-child {
    margin-bottom: 4rem;
    margin-bottom: 7.5rem; }
  .default-landing-content > .column-33-percent {
    text-align: center;
    float: right;
    padding-left: 4rem;
    padding-right: 0; }
  .default-landing-content > .column-66-percent {
    margin-bottom: 4rem;
    margin-bottom: 0; }
  .default-landing-content .column-33-percent + .column-66-percent {
    float: left;
    padding-right: 4rem; }

.dish-detail .container {
  max-width: 120rem;
  width: 100%;
  margin: 0 auto; }

.dish-content {
  padding-top: 3.5rem;
  padding-bottom: 3.5rem; }
  .dish-content .image, .dish-content .simple-tabs {
    width: 50%;
    float: left; }
  .dish-content .image {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
    margin-bottom: 4rem;
    padding-left: 3rem;
    padding-right: 3rem;
    margin-bottom: 0; }
  .dish-content .tabs {
    text-align: left; }
  .dish-content .tab {
    font-size: 1.2rem;
    font-size: 1.4rem;
    font-size: 1.6rem; }
  .dish-content .tab-detail {
    padding: 2rem;
    padding: 3rem; }
  .dish-content .nutrition-guides {
    margin-bottom: 0.5rem;
    margin-bottom: 1rem; }
    .dish-content .nutrition-guides li {
      display: inline-block;
      float: left; }
      .dish-content .nutrition-guides li:after {
        content: '|';
        display: inline-block;
        margin-left: 0.5rem;
        margin-right: 0.5rem; }
    .dish-content .nutrition-guides li:last-child:after {
      content: ''; }
    .dish-content .nutrition-guides a {
      color: #b0262e;
      font-size: 1.4rem;
      font-family: "District-Bold", sans-serif;
      font-weight: normal; }
  .dish-content .icons,
  .dish-content .excerpt {
    display: block;
    float: left;
    width: 100%; }
  .dish-content .icons {
    margin-top: 0.2rem;
    margin-top: 0.5rem; }
    .dish-content .icons .veggie {
      margin-left: 1rem;
      top: 2px; }
      .dish-content .icons .veggie.no-spicy {
        margin-left: 0; }
    .dish-content .icons .spicy {
      margin-right: -0.1rem; }
  .dish-content .excerpt {
    font-size: 1.6rem;
    font-size: 1.6rem;
    font-size: 1.8rem; }
    .dish-content .excerpt .excerpt-extra {
      margin-top: 1em; }
      .dish-content .excerpt .excerpt-extra p {
        margin-bottom: 1em; }
        .dish-content .excerpt .excerpt-extra p:last-child {
          margin-bottom: 0; }
  .dish-content .prep-option {
    float: left;
    display: inline-block;
    margin-right: 0.5rem;
    margin-bottom: 0.5rem;
    margin-right: 1rem; }
  .dish-content .prep-option-title {
    margin-bottom: 0;
    text-align: center;
    margin-bottom: 0.5rem; }
  .dish-content .prep-option-description {
    text-align: center;
    display: inherit;
    padding: 0 0.5rem; }

.dish-info-section {
  zoom: 1;
  margin-bottom: 1rem;
  margin-bottom: 1.5rem;
  margin-bottom: 2rem; }
  .dish-info-section:before,
  .dish-info-section:after {
    content: "\0020";
    display: block;
    height: 0;
    overflow: hidden; }
  .dish-info-section:after {
    clear: both; }
  .dish-info-section:last-child {
    margin-bottom: 0; }
  .dish-info-section p {
    font-size: 1.4rem; }
  .dish-info-section h3 {
    font-family: "District-Bold", sans-serif;
    font-weight: normal;
    font-size: 1.8rem;
    margin-bottom: 0.5rem;
    text-transform: none;
    letter-spacing: 0px;
    margin-bottom: 1rem; }
  .dish-info-section.nutrition {
    margin-top: 2rem;
    margin-top: 3rem; }

.dish-disclaimer {
  width: 100%; }
  .dish-disclaimer p {
    margin-bottom: 0.5em; }
    .dish-disclaimer p:last-child {
      margin-bottom: 0; }

.dish-info {
  zoom: 1;
  margin-bottom: 2rem;
  margin-top: 1.5rem;
  margin-bottom: 4rem;
  margin-top: 3.5rem; }
  .dish-info:before,
  .dish-info:after {
    content: "\0020";
    display: block;
    height: 0;
    overflow: hidden; }
  .dish-info:after {
    clear: both; }
  .dish-info.kids-meals .image,
  .dish-info.shareables .image,
  .dish-info.sandwiches .image {
    margin-top: -6.5rem; }

.dish-extra-info .section-heading {
  font-size: 1.6rem;
  margin-bottom: 0; }
  .dish-extra-info .section-heading span.right,
  .dish-extra-info .section-heading span.left {
    display: none; }

.dish-extra-info .accordion-section.active .section-content {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: left;
  -webkit-justify-content: left;
      -ms-flex-pack: left;
          justify-content: left;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }

.dish-extra-info .accordion-section .section-content {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }

.dish-extra-info .tip-wrap {
  margin-bottom: 2rem;
  display: inline-block;
  width: 100%;
  width: 50%;
  padding-right: 2rem;
  margin-bottom: 3rem;
  width: 33.3333333%;
  text-align: center;
  padding: 0 5rem; }

.dish-extra-info .tip-title {
  text-transform: none;
  font-size: 1.6rem;
  margin-bottom: 0.5rem;
  font-size: 1.8rem;
  margin-bottom: 1rem; }

.dish-extra-info .addition {
  font-size: 1.4rem;
  padding-right: 1.5rem;
  margin-bottom: 1rem;
  width: 100%;
  width: 50%;
  margin-bottom: 1.5rem;
  width: 33.33333%;
  text-align: center;
  margin-bottom: 2rem; }

.menu-sections {
  border-bottom: 0.3rem solid #ded2b2;
  border-bottom: 0.4rem solid #ded2b2; }
  .menu-sections:after {
    content: '';
    width: 100%;
    height: 0.4rem;
    color: #ded2b2;
    display: block; }
  .menu-sections .extras-section {
    display: none; }

.menu-section {
  margin-bottom: 2rem;
  margin-bottom: 3rem;
  margin-bottom: 4rem; }
  @media print {
    .menu-section {
      margin-bottom: 1rem; } }
  .menu-section .section-heading {
    font-size: 1.6rem;
    margin-bottom: 0; }
  .menu-section .section-anchor {
    display: inline-block;
    text-align: center;
    position: absolute;
    top: -50px;
    top: -125px;
    top: -175px; }
  .menu-section .section-disclaimer {
    text-align: center;
    width: 100%;
    margin-bottom: 1.5rem;
    margin-bottom: 3rem;
    margin-bottom: 4.5rem; }
    .menu-section .section-disclaimer p {
      margin-bottom: 0.5em;
      margin-left: auto;
      margin-right: auto;
      width: 80%;
      width: 66.6666%; }
      .menu-section .section-disclaimer p:last-child {
        margin-bottom: 0; }

.menu-intro {
  max-width: 80rem; }
  @media print {
    .menu-intro {
      display: none; } }
  .menu-intro .guides-and-print {
    margin-bottom: 1rem; }
    .menu-intro .guides-and-print li {
      display: inline-block; }
      .menu-intro .guides-and-print li:after {
        content: ' | ';
        display: inline; }
      .menu-intro .guides-and-print li:last-child:after {
        content: ''; }
    .menu-intro .guides-and-print a {
      font-family: "District-Bold", sans-serif;
      font-weight: normal;
      color: #b0262e; }
      .menu-intro .guides-and-print a:hover,
      .menu-intro .guides-and-print a:focus {
        color: #89060e; }
  .menu-intro .icon-key {
    color: #4f2b1c; }

.menu-main {
  margin-bottom: 4rem; }
  .menu-main .menu-categories {
    width: 100%;
    margin: 0 auto;
    text-align: center;
    display: block;
    margin-bottom: 2rem; }
    .menu-main .menu-categories.full {
      display: none;
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: stretch;
      -webkit-align-items: stretch;
          -ms-flex-align: stretch;
              align-items: stretch;
      -webkit-box-pack: justify;
      -webkit-justify-content: space-between;
          -ms-flex-pack: justify;
              justify-content: space-between; }
      @media print {
        .menu-main .menu-categories.full {
          display: none; } }
    .menu-main .menu-categories.mobile {
      max-width: 90%;
      max-width: 80%;
      max-width: 50%;
      display: none; }
      .menu-main .menu-categories.mobile select {
        font-size: 1.6rem; }
      @media print {
        .menu-main .menu-categories.mobile {
          display: none; } }
  .menu-main .filter-info {
    display: block;
    margin-bottom: 1rem;
    color: #2C3E50; }
  .menu-main .menu-category {
    display: inline-block;
    cursor: pointer; }
    .menu-main .menu-category.active a {
      background-color: #ded2b2;
      color: #b0262e; }
    .menu-main .menu-category.active a:hover {
      color: #b0262e; }
    .menu-main .menu-category a:hover,
    .menu-main .menu-category a:focus {
      background-color: #ded2b2;
      color: #89060e; }
    .menu-main .menu-category a {
      padding: 1rem;
      color: #b0262e;
      font-size: 1.4rem;
      text-transform: uppercase;
      letter-spacing: 0.2em;
      font-family: "District-Bold", sans-serif;
      font-weight: normal;
      display: inline-block;
      font-size: 1.6rem;
      padding: 1.5rem; }
  .menu-main .dish-feature {
    display: none; }
    .menu-main .dish-feature.show {
      display: inline-block; }
  .menu-main .profiles-wrap {
    display: none;
    display: inline-block;
    width: 100%; }
    .menu-main .profiles-wrap:after {
      content: '';
      -webkit-transition: all 300ms;
              transition: all 300ms;
      position: absolute;
      width: 0;
      right: 0px;
      top: 50%;
      -webkit-transform: translateY(-50%);
          -ms-transform: translateY(-50%);
              transform: translateY(-50%);
      height: 0;
      display: inline-block;
      margin-left: 1.5rem;
      border-left: 7px solid transparent;
      border-right: 7px solid transparent;
      border-top: 7px solid #fff;
      border-top-color: #fff; }

#gluten-free-info {
  display: none;
  font-size: 1.4rem;
  max-width: 80rem;
  margin: 0 auto 2rem;
  text-align: center;
  margin-bottom: 3rem; }

.gluten-free-optional {
  display: none; }
  .gluten-free-optional .feature-dish {
    display: block; }

.gluten-free-optional-info {
  text-align: center;
  font-size: 1.4rem;
  margin-bottom: 1rem; }

.menu-footer {
  zoom: 1;
  margin-bottom: 4rem;
  margin-bottom: 5.5rem;
  margin-bottom: 7rem; }
  .menu-footer:before,
  .menu-footer:after {
    content: "\0020";
    display: block;
    height: 0;
    overflow: hidden; }
  .menu-footer:after {
    clear: both; }
  @media print {
    .menu-footer {
      display: none; } }
  .menu-footer .menu-footer-heading {
    font-family: "Knockout 67 A", "Knockout 67 B", sans-serif;
    font-weight: normal;
    text-transform: uppercase;
    font-size: 2.4rem;
    margin-bottom: 2rem;
    font-size: 3.2rem;
    margin-bottom: 3rem;
    font-size: 3.6rem; }
  .menu-footer .menu-footer-section {
    float: left; }
    .menu-footer .menu-footer-section.menu-extras {
      display: none; }
  .menu-footer .online-ordering {
    padding-right: 3rem;
    width: 60%;
    padding-right: 6rem;
    width: 66.666666%;
    padding-right: 8rem; }
  .menu-footer .online-ordering-copy {
    margin-bottom: 1rem;
    font-size: 1.6rem;
    font-size: 1.8rem; }
  .menu-footer .pricing-notice {
    font-size: 1.4rem;
    font-family: "District-Bold", sans-serif;
    font-weight: normal; }
  .menu-footer .start-ordering {
    margin-top: 1.5rem;
    margin-top: 2.5rem; }
  .menu-footer .menu-extras {
    width: 40%;
    width: 33.3333333%; }

.menu-extra-item {
  margin-bottom: 1rem; }
  .menu-extra-item .name,
  .menu-extra-item .calories {
    display: inline-block;
    font-size: 1.4rem;
    font-size: 1.6rem; }
  .menu-extra-item .calories {
    float: right;
    font-family: "District-Bold", sans-serif;
    font-weight: normal; }

#no-items-found {
  display: none;
  text-align: center;
  margin-top: 3rem;
  margin-bottom: 5rem;
  margin-bottom: 10rem; }
  #no-items-found p {
    font-size: 1.8rem; }

.careers-landing-section {
  padding-top: 3rem;
  padding-bottom: 4rem;
  padding-top: 4rem;
  padding-bottom: 5rem;
  padding-top: 6rem;
  padding-bottom: 8rem; }
  .careers-landing-section .featured-heading {
    margin-bottom: 2rem; }

.careers-landing-intro {
  padding-top: 3rem;
  padding-top: 6rem;
  padding-top: 8rem; }
  .careers-landing-intro .intro-heading {
    padding-top: 0; }
  .careers-landing-intro .cta-wrap {
    margin-bottom: 0; }

.careers-landing-positions-wrap {
  background-color: #f5edd9; }
  .careers-landing-positions-wrap .featured-heading span.title {
    background-color: #f5edd9; }
  .careers-landing-positions-wrap .position-types {
    zoom: 1;
    margin-left: -1rem;
    margin-right: -1rem; }
    .careers-landing-positions-wrap .position-types:before,
    .careers-landing-positions-wrap .position-types:after {
      content: "\0020";
      display: block;
      height: 0;
      overflow: hidden; }
    .careers-landing-positions-wrap .position-types:after {
      clear: both; }
  .careers-landing-positions-wrap .grid-block {
    width: 100%;
    padding: 1rem;
    width: 33.33333%;
    padding: 0.5rem;
    padding: 1rem; }
    .careers-landing-positions-wrap .grid-block.team-positions .grid-text {
      background-color: #ffc426; }
    .careers-landing-positions-wrap .grid-block.corporate-positions .grid-text {
      background-color: #b2bfbb; }
  .careers-landing-positions-wrap .grid-text {
    bottom: 2rem;
    padding: 1rem; }
    .careers-landing-positions-wrap .grid-text .cta-link {
      font-size: 12px; }

.careers-landing-quotes {
  padding-bottom: 0; }
  .careers-landing-quotes .slick-prev,
  .careers-landing-quotes .slick-next {
    display: none !important;
    font-size: 3rem;
    color: #b0262e;
    top: 30%;
    z-index: 2;
    -webkit-transform: translateY(-70%);
        -ms-transform: translateY(-70%);
            transform: translateY(-70%); }
  .careers-landing-quotes .slick-prev {
    left: 50px;
    left: 75px;
    left: 100px; }
  .careers-landing-quotes .slick-next {
    right: 50px;
    right: 75px;
    right: 100px; }
  .careers-landing-quotes .slick-dots {
    bottom: 3rem; }
    .careers-landing-quotes .slick-dots button:before {
      font-size: 4rem;
      color: #ded2b2;
      opacity: 1; }
    .careers-landing-quotes .slick-dots .slick-active button:before {
      color: #b0262e; }
  .careers-landing-quotes .quotes-slider {
    border-bottom: 0.4rem solid #ded2b2;
    padding-bottom: 5rem;
    margin-bottom: 0;
    padding-bottom: 6rem;
    padding-bottom: 7rem; }
  .careers-landing-quotes .quote-content {
    padding-left: 100px;
    padding-right: 100px;
    padding-left: 125px;
    padding-right: 125px;
    padding-left: 150px;
    padding-right: 150px; }
  .careers-landing-quotes blockquote {
    padding: 4rem 1rem;
    text-align: center; }
    .careers-landing-quotes blockquote p {
      font-size: 1.8rem; }
  .careers-landing-quotes cite {
    font-family: "District-Bold", sans-serif;
    font-weight: normal;
    font-style: normal;
    display: block;
    margin-top: 4rem; }
  .careers-landing-quotes .quote-line {
    display: block;
    text-transform: uppercase;
    font-family: "District-Bold", sans-serif;
    font-weight: normal;
    letter-spacing: 1px;
    font-size: 1.8rem;
    font-size: 2.4rem; }
    .careers-landing-quotes .quote-line:nth-child(odd) {
      font-family: "Ziggurat A", "Ziggurat B", sans-serif;
      font-weight: normal;
      font-size: 2.8rem;
      font-size: 3.6rem; }

.careers-landing-footer {
  zoom: 1; }
  .careers-landing-footer:before,
  .careers-landing-footer:after {
    content: "\0020";
    display: block;
    height: 0;
    overflow: hidden; }
  .careers-landing-footer:after {
    clear: both; }
  .careers-landing-footer .careers-landing-footer-copy,
  .careers-landing-footer .careers-landing-footer-video {
    width: 100%;
    width: 50%;
    float: left; }
    .careers-landing-footer .careers-landing-footer-copy.full,
    .careers-landing-footer .careers-landing-footer-video.full {
      width: 100%; }
  .careers-landing-footer .careers-landing-footer-copy {
    float: left;
    width: 40%; }
    .careers-landing-footer .careers-landing-footer-copy h4 {
      font-family: "Knockout 67 A", "Knockout 67 B", sans-serif;
      font-weight: normal;
      font-size: 3.6rem;
      margin-bottom: 3rem;
      text-transform: uppercase;
      font-size: 4.2rem; }
  .careers-landing-footer .careers-landing-footer-copy-content {
    padding-right: 5rem; }
    .careers-landing-footer .careers-landing-footer-copy-content p {
      font-size: 1.4rem;
      margin-bottom: 1rem;
      font-size: 1.6rem;
      margin-bottom: 2rem; }
  .careers-landing-footer .careers-landing-footer-video {
    float: right;
    height: 25rem;
    margin-bottom: 3rem;
    height: 30rem;
    height: 35rem;
    height: 25rem;
    margin-bottom: 0;
    height: 30rem;
    height: 44rem;
    width: 60%; }
    .careers-landing-footer .careers-landing-footer-video iframe {
      float: right; }

.careers-apply .featured-heading {
  text-align: center;
  margin-bottom: 2rem;
  margin-bottom: 3rem;
  margin-bottom: 4rem; }

.careers-apply-back-to-landing {
  padding-top: 2rem;
  padding-bottom: 2rem;
  padding-top: 3rem;
  padding-bottom: 3rem;
  padding-top: 4rem; }

.careers-apply-main {
  margin-bottom: 5rem;
  margin-bottom: 7.5rem;
  margin-bottom: 10rem; }
  .careers-apply-main .simple-tabs section {
    padding: 0; }

.careers-apply-position-search {
  text-align: center;
  margin-bottom: 3rem;
  margin-bottom: 5rem; }
  .careers-apply-position-search h3 {
    font-family: "District-Bold", sans-serif;
    font-weight: normal;
    letter-spacing: inherit;
    text-transform: none;
    font-size: 1.6rem;
    margin-bottom: 2rem;
    font-size: 1.8rem; }

.careers-apply-search-form {
  margin-bottom: 3rem;
  max-width: 40rem;
  margin: 0 auto 3rem;
  margin-bottom: 5rem; }
  .careers-apply-search-form button.rarrow {
    position: absolute;
    right: 5%;
    top: 50%;
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%);
    width: 0;
    height: 0;
    border-top: 5px solid transparent;
    border-bottom: 5px solid transparent;
    border-left: 5px solid #b0262e; }
  .careers-apply-search-form input {
    padding: 1rem 4rem 1rem 1rem;
    color: #4f2b1c;
    font-size: 1.6rem;
    border: 4px solid #ded2b2; }
    .careers-apply-search-form input:focus {
      border-color: #c8bb98; }
    .careers-apply-search-form input::-webkit-input-placeholder {
      color: #4f2b1c; }
    .careers-apply-search-form input:-moz-placeholder {
      color: #4f2b1c; }
    .careers-apply-search-form input::-moz-placeholder {
      color: #4f2b1c; }
    .careers-apply-search-form input:-ms-input-placeholder {
      color: #4f2b1c; }

#corporate-detail .careers-apply-search-result {
  margin-bottom: 2rem; }

#corporate-detail .careers-apply-search-results-category {
  margin-bottom: 2rem; }

#corporate-detail .careers-apply-search-results-category-title {
  margin-bottom: 2rem;
  text-align: left; }

.careers-apply-search-results-wrap {
  max-width: 80rem;
  margin: 0 auto 30px;
  margin-bottom: 5rem; }
  .careers-apply-search-results-wrap .search-results-heading {
    text-align: left;
    margin-bottom: 2rem;
    font-family: "District-Bold", sans-serif;
    font-weight: normal;
    text-transform: none;
    font-size: 1.6rem;
    margin-bottom: 3rem;
    font-size: 1.8rem; }
  .careers-apply-search-results-wrap .careers-apply-search-results {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    -webkit-box-pack: left;
    -webkit-justify-content: left;
        -ms-flex-pack: left;
            justify-content: left;
    text-align: left; }

.careers-apply-search-result {
  width: 100%;
  margin-bottom: 2rem;
  width: 50%;
  padding-right: 5rem;
  margin-bottom: 4rem;
  width: 33.3333%; }
  .careers-apply-search-result .location-name {
    font-family: "District-Bold", sans-serif;
    font-weight: normal;
    font-size: 1.6rem;
    text-transform: none;
    margin-bottom: 1rem;
    font-size: 1.8rem; }
  .careers-apply-search-result .location-address {
    font-size: 1.4rem;
    margin-bottom: 0.5rem;
    margin-bottom: 1rem;
    margin-bottom: 1.5rem; }
  .careers-apply-search-result .location-position {
    margin-bottom: 1rem;
    margin-bottom: 2rem; }
  .careers-apply-search-result .position-title,
  .careers-apply-search-result .position-link {
    display: block;
    font-family: "District-Bold", sans-serif;
    font-weight: normal;
    font-size: 1.4rem; }
  .careers-apply-search-result .position-link {
    color: #b0262e; }
    .careers-apply-search-result .position-link:hover,
    .careers-apply-search-result .position-link:focus {
      color: #89060e; }
  .careers-apply-search-result .position-title {
    color: #4f2b1c; }

.careers-apply-disclaimer {
  background-color: #f5edd9;
  padding: 1rem;
  max-width: 80rem;
  margin: 0 auto;
  padding: 2rem; }
  .careers-apply-disclaimer p {
    font-size: 1.4rem; }
  .careers-apply-disclaimer a {
    color: #b0262e;
    font-family: "District-Bold", sans-serif;
    font-weight: normal; }
    .careers-apply-disclaimer a:hover,
    .careers-apply-disclaimer a:focus {
      color: #89060e; }

.careers-apply-position-spotlight .spotlight-careers {
  zoom: 1;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-left: -2rem;
  margin-right: -2rem;
  margin-left: -4rem;
  margin-right: -4rem; }
  .careers-apply-position-spotlight .spotlight-careers:before,
  .careers-apply-position-spotlight .spotlight-careers:after {
    content: "\0020";
    display: block;
    height: 0;
    overflow: hidden; }
  .careers-apply-position-spotlight .spotlight-careers:after {
    clear: both; }

.careers-apply-position-spotlight .spotlight-career {
  text-align: center;
  width: 100%;
  margin-bottom: 3rem;
  width: 33.333%;
  padding: 0 2rem;
  padding: 0 4rem; }

.careers-apply-position-spotlight .spotlight-career-image {
  margin-bottom: 1rem;
  margin-bottom: 2rem; }

.careers-apply-position-spotlight .spotlight-career-title {
  margin-bottom: 1rem;
  text-transform: none;
  font-family: "District-Bold", sans-serif;
  font-weight: normal;
  font-size: 1.6rem;
  margin-bottom: 1rem;
  font-size: 1.8rem; }

.careers-apply-position-spotlight .spotlight-career-description {
  font-weight: normal;
  font-size: 1.4rem; }

body.page-template-locations {
  position: fixed;
  width: 100%; }
  body.page-template-locations .main-header {
    height: 5.3rem; }

.locations-main {
  zoom: 1; }
  .locations-main:before,
  .locations-main:after {
    content: "\0020";
    display: block;
    height: 0;
    overflow: hidden; }
  .locations-main:after {
    clear: both; }

.locations-listing {
  zoom: 1;
  padding: 2rem;
  top: 6rem;
  top: 3rem;
  top: 6rem; }
  .locations-listing:before,
  .locations-listing:after {
    content: "\0020";
    display: block;
    height: 0;
    overflow: hidden; }
  .locations-listing:after {
    clear: both; }
  .locations-listing .coming-soon-link {
    text-align: center;
    margin-bottom: 1rem;
    margin-bottom: 2rem; }

.locations-map-wrap {
  width: 100%;
  z-index: 2;
  position: fixed;
  border-top: 4px solid #ded2b2;
  border-bottom: 4px solid #ded2b2;
  height: 100%;
  height: 100%;
  width: 50%;
  float: right;
  border-left: 4px solid #ded2b2;
  width: 66.6666%; }
  .locations-map-wrap .find-me {
    position: absolute;
    bottom: 15px;
    right: 15px;
    display: inline-block;
    width: 40px;
    height: 40px;
    background-color: #b0262e; }
    .locations-map-wrap .find-me:hover,
    .locations-map-wrap .find-me:focus {
      background-color: #89060e; }
    .locations-map-wrap .find-me > i {
      width: 100%;
      height: 100%;
      display: inline-block;
      text-align: center; }
      .locations-map-wrap .find-me > i:before {
        content: '\E009';
        margin: 0;
        color: #fff;
        position: relative;
        display: inline-block;
        left: 25%;
        top: 50%;
        -webkit-transform: translate(-50%, -50%);
            -ms-transform: translate(-50%, -50%);
                transform: translate(-50%, -50%);
        font-size: 2rem; }

.locations-map {
  width: 100%;
  height: 100%; }
  .locations-map .gmnoprint,
  .locations-map .gm-style-cc {
    display: none; }

.locations-listing {
  width: 50%;
  width: 33.3333%; }

.locations-search-form {
  width: 100%;
  border: 4px solid #ded2b2;
  padding: 1rem;
  margin-bottom: 1.5rem; }
  .locations-search-form .symbol {
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%);
    z-index: 1; }
    .locations-search-form .symbol:before {
      color: #b0262e; }
  .locations-search-form i.search {
    left: 1rem;
    cursor: default; }
    .locations-search-form i.search:before {
      content: '\E00E'; }
  .locations-search-form button.rarrow {
    right: 1.5rem;
    width: 0;
    height: 0;
    border-top: 5px solid transparent;
    border-bottom: 5px solid transparent;
    border-left: 5px solid #b0262e; }
  .locations-search-form input {
    width: calc(100%);
    font-size: 1.6rem;
    border: 0;
    padding: 0;
    padding-left: 2.5rem;
    padding-right: 2.5rem;
    color: #4f2b1c; }
    .locations-search-form input::-webkit-input-placeholder {
      padding-top: 2px;
      color: #4f2b1c; }
    .locations-search-form input:-moz-placeholder {
      padding-top: 2px;
      color: #4f2b1c; }
    .locations-search-form input::-moz-placeholder {
      padding-top: 2px;
      color: #4f2b1c; }
    .locations-search-form input:-ms-input-placeholder {
      padding-top: 2px;
      color: #4f2b1c; }

.locations-checkboxes {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-bottom: 1rem; }
  .locations-checkboxes .custom-checkbox-wrap {
    display: inline-block;
    margin-right: 1.5rem;
    margin-left: 1.5rem;
    margin-bottom: 1.5rem;
    margin-right: 1rem;
    margin-left: 1rem; }
  .locations-checkboxes .stunt-double {
    display: inline-block;
    margin-right: 0.5rem; }
  .locations-checkboxes .custom-checkbox-label {
    top: -0.4rem;
    color: #4f2b1c;
    display: inline-block;
    font-size: 1.4rem; }

.locations-results-wrap {
  padding-bottom: 4rem;
  padding-bottom: 6rem; }
  @supports (-ms-accelerator: true) {
    .locations-results-wrap .scroller-content {
      padding: 0 5rem 0 0; } }
  .locations-results-wrap .scroller-content {
    padding: 0 2rem 0 0;
    padding: 0 5rem 0 0; }
    @media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
      .locations-results-wrap .scroller-content {
        padding: 0 5rem 0 0; } }
  .locations-results-wrap .scroller-bar {
    display: none; }
  .locations-results-wrap .num-found {
    font-family: "District-Bold", sans-serif;
    font-weight: normal;
    font-size: 1.4rem;
    margin-bottom: 1.5rem;
    font-size: 1.6rem; }

.locations-results {
  zoom: 1;
  margin-bottom: 10rem;
  margin-bottom: 15rem; }
  .locations-results:before,
  .locations-results:after {
    content: "\0020";
    display: block;
    height: 0;
    overflow: hidden; }
  .locations-results:after {
    clear: both; }
  .locations-results a,
  .locations-results p,
  .locations-results span {
    font-size: 1.4rem;
    line-height: 1.5; }
  .locations-results a {
    font-family: "District-Bold", sans-serif;
    font-weight: normal;
    color: #b0262e; }
  .locations-results .coming-soon {
    font-size: 1.8rem;
    margin-bottom: 0.5em; }
  .locations-results .result {
    border-top: 0.4rem solid #ded2b2;
    padding: 2rem;
    font-size: 1.4rem;
    font-family: "District-Medium", sans-serif;
    font-weight: normal;
    text-align: center; }
    .locations-results .result.selected {
      border-left: 0.4rem solid #ded2b2;
      border-right: 0.4rem solid #ded2b2; }
    .locations-results .result:last-child.selected {
      border-bottom: 0.4rem solid #ded2b2; }
  .locations-results .result-name {
    font-family: "Knockout 67 A", "Knockout 67 B", sans-serif;
    font-weight: normal;
    font-size: 3.6rem;
    margin-bottom: 1rem; }
  .locations-results .result-hours {
    display: inline-block;
    margin-top: 2rem; }
  .locations-results .result-phone-wrap {
    display: block; }
  .locations-results .result-order {
    margin-top: 3rem; }
    .locations-results .result-order .cta {
      font-size: 1.2rem;
      padding-top: 1.2rem;
      padding-bottom: 1.2rem; }
  .locations-results .result-amenities {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin-top: 2rem; }
  .locations-results .result-amenity {
    margin-right: 1.2rem; }
    .locations-results .result-amenity .check {
      margin-right: 0.5rem; }
      .locations-results .result-amenity .check:before {
        top: 2px;
        content: '\E005'; }
  .locations-results .result-more {
    display: inline-block;
    margin-top: 2rem; }

.location-subhead {
  font-family: "District-Bold", sans-serif;
  font-weight: normal;
  font-size: 1.4rem;
  margin-bottom: 1rem;
  text-transform: none;
  letter-spacing: 0; }

.location-detail {
  zoom: 1; }
  .location-detail:before,
  .location-detail:after {
    content: "\0020";
    display: block;
    height: 0;
    overflow: hidden; }
  .location-detail:after {
    clear: both; }
  .location-detail .featured-heading {
    display: block; }
  .location-detail .coming-soon {
    font-size: 2.4rem; }

.location-uploads-wrap {
  margin-bottom: 1.5rem; }

.location-upload {
  font-size: 1.4rem;
  line-height: 1.5; }

.location-gallery-info-wrap {
  zoom: 1;
  margin-top: 4rem;
  margin-top: 5rem;
  margin-bottom: 1.5rem;
  margin-top: 6rem;
  margin-top: 7rem;
  margin-bottom: 3rem; }
  .location-gallery-info-wrap:before,
  .location-gallery-info-wrap:after {
    content: "\0020";
    display: block;
    height: 0;
    overflow: hidden; }
  .location-gallery-info-wrap:after {
    clear: both; }

.location-gallery-wrap {
  margin-bottom: 4rem;
  float: left; }
  .location-gallery-wrap .slick-prev,
  .location-gallery-wrap .slick-next {
    color: #b0262e;
    top: 30%;
    -webkit-transform: translateY(-70%);
        -ms-transform: translateY(-70%);
            transform: translateY(-70%);
    font-size: 1.5rem;
    font-size: 3rem; }
  .location-gallery-wrap .slick-prev {
    left: 0; }
  .location-gallery-wrap .slick-next {
    right: 10px; }
  .location-gallery-wrap .slick-dots {
    bottom: -3rem; }
    .location-gallery-wrap .slick-dots button:before {
      font-size: 4rem;
      color: #ded2b2;
      opacity: 1; }
    .location-gallery-wrap .slick-dots .slick-active button:before {
      color: #b0262e; }

.location-gallery-feature {
  height: 36rem;
  background-size: cover;
  background-position: center center;
  border: 4px solid #ded2b2;
  margin-bottom: 3rem;
  pointer-events: none;
  height: 42rem;
  margin-bottom: 4rem;
  height: 56rem; }
  .location-gallery-feature .gmnoprint {
    display: none; }

.location-gallery-nav {
  padding-left: 4rem;
  padding-right: 4rem;
  margin: 0 auto; }
  .location-gallery-nav .show-gmaps {
    background-color: #f5edd9;
    padding: 1rem; }
    .location-gallery-nav .show-gmaps img {
      top: 50%;
      -webkit-transform: translateY(-50%);
          -ms-transform: translateY(-50%);
              transform: translateY(-50%); }
  .location-gallery-nav .location-gallery-item-wrap {
    text-align: center; }
  .location-gallery-nav .location-gallery-item {
    height: 60px;
    width: 60px;
    background-size: cover;
    background-position: center center;
    border: 2px solid #fff;
    display: inline-block;
    margin: 0 auto;
    cursor: pointer;
    height: 100px;
    width: 100px;
    border: 4px solid #fff; }
    .location-gallery-nav .location-gallery-item.current {
      border-color: #ded2b2; }

.location-gallery-wrap,
.location-info-wrap {
  width: 50%; }

.location-info-wrap {
  float: right;
  padding-left: 3rem;
  padding-left: 5rem;
  padding-left: 7rem; }

.location-info-headline,
.location-info-subhead {
  line-height: 1.5; }

.location-info-headline {
  font-family: "District-Bold", sans-serif;
  font-weight: normal;
  font-size: 1.8rem;
  margin-bottom: 1.5rem;
  text-transform: none;
  letter-spacing: 0; }

.location-info-subhead {
  margin-bottom: 1.5rem; }

.location-info-copy {
  font-size: 1.4rem;
  margin-bottom: 2rem; }

.location-contact-hours-wrap {
  zoom: 1; }
  .location-contact-hours-wrap:before,
  .location-contact-hours-wrap:after {
    content: "\0020";
    display: block;
    height: 0;
    overflow: hidden; }
  .location-contact-hours-wrap:after {
    clear: both; }

.location-contact,
.location-hours-wrap {
  float: left; }

.location-contact {
  width: 100%;
  width: 60%; }
  .location-contact .location-address {
    font-size: 1.4rem; }
  .location-contact .cta-wrap {
    margin: 2rem 0; }
    .location-contact .cta-wrap a {
      font-size: 1.2rem; }

.location-hours-wrap {
  width: 100%;
  margin-bottom: 2rem;
  width: 40%; }

.location-day {
  font-size: 1.4rem;
  margin-bottom: 1rem;
  white-space: nowrap; }
  .location-day .day {
    width: 40px;
    display: inline-block; }

.location-directions,
.location-phone {
  display: inline-block;
  color: #b0262e;
  font-family: "District-Bold", sans-serif;
  font-weight: normal;
  line-height: 1.5; }

.location-directions-wrap,
.location-phone-wrap {
  display: block; }
  .location-directions-wrap a,
  .location-phone-wrap a {
    font-size: 1.4rem; }

.location-amenities-wrap {
  clear: both;
  margin-top: 1rem; }
  .location-amenities-wrap .location-amenities {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    margin-bottom: 2rem; }
    .location-amenities-wrap .location-amenities li {
      margin-right: 1.2rem;
      font-size: 1.4rem;
      margin-bottom: 1rem; }
    .location-amenities-wrap .location-amenities .check {
      margin-right: 0.5rem; }
      .location-amenities-wrap .location-amenities .check:before {
        top: 2px;
        content: '\E005'; }

.location-eclub-wrap {
  margin-top: 0.5rem;
  margin-top: 1rem; }
  .location-eclub-wrap .cta-wrap {
    margin: 1rem 0 5rem; }
    .location-eclub-wrap .cta-wrap a {
      font-size: 1.2rem; }

.location-events {
  text-align: center;
  margin-bottom: 8rem; }
  .location-events .location-event {
    margin: 4.5rem auto;
    max-width: 55rem; }
  .location-events .location-event-title {
    font-size: 1.8rem;
    margin-bottom: 0.5rem; }
  .location-events .location-event-datetime {
    font-size: 1.4rem;
    margin-bottom: 1rem; }
  .location-events .location-event-description {
    font-size: 1.4rem;
    margin-top: 1.8rem; }

.newsroom-landing-feature-module-wrap,
.newsroom-landing-feature-module,
.newsroom-landing-feature-module .feature-module-types {
  zoom: 1; }
  .newsroom-landing-feature-module-wrap:before,
  .newsroom-landing-feature-module-wrap:after,
  .newsroom-landing-feature-module:before,
  .newsroom-landing-feature-module:after,
  .newsroom-landing-feature-module .feature-module-types:before,
  .newsroom-landing-feature-module .feature-module-types:after {
    content: "\0020";
    display: block;
    height: 0;
    overflow: hidden; }
  .newsroom-landing-feature-module-wrap:after,
  .newsroom-landing-feature-module:after,
  .newsroom-landing-feature-module .feature-module-types:after {
    clear: both; }

.newsroom-landing .intro-section {
  margin-bottom: 5rem; }

.newsroom-landing .slick-slider {
  margin-bottom: 6rem; }

.newsroom-landing-feature-module,
.newsroom-recent-headlines {
  margin-bottom: 7rem; }
  .newsroom-landing-feature-module .grid-block,
  .newsroom-recent-headlines .grid-block {
    padding: 1rem; }
    .newsroom-landing-feature-module .grid-block.square,
    .newsroom-recent-headlines .grid-block.square {
      width: 100%;
      width: 50%;
      width: 33.3333%; }
    .newsroom-landing-feature-module .grid-block.wide,
    .newsroom-recent-headlines .grid-block.wide {
      width: 100%;
      width: 50%;
      width: 66.6666%; }

.newsroom-press-releases-wrap {
  margin-bottom: 7rem;
  text-align: center; }
  .newsroom-press-releases-wrap .press-releases {
    zoom: 1;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin-left: -2rem;
    margin-right: -2rem;
    margin-left: -4rem;
    margin-right: -4rem; }
    .newsroom-press-releases-wrap .press-releases:before,
    .newsroom-press-releases-wrap .press-releases:after {
      content: "\0020";
      display: block;
      height: 0;
      overflow: hidden; }
    .newsroom-press-releases-wrap .press-releases:after {
      clear: both; }
  .newsroom-press-releases-wrap .press-release {
    text-align: center;
    width: 100%;
    margin-bottom: 3rem;
    width: 33.3333%;
    padding: 0 2rem;
    padding: 0 4rem; }
  .newsroom-press-releases-wrap .press-release-title {
    margin-bottom: 2rem;
    text-transform: none;
    font-family: "District-Bold", sans-serif;
    font-weight: normal;
    font-size: 1.6rem;
    margin-bottom: 2rem;
    font-size: 1.8rem; }
  .newsroom-press-releases-wrap .press-release-date {
    font-family: "District-Bold", sans-serif;
    font-weight: normal; }
  .newsroom-press-releases-wrap .press-release-excerpt {
    margin-bottom: 1rem;
    font-weight: normal;
    font-size: 1.4rem; }
  .newsroom-press-releases-wrap .press-release-detail-link {
    margin-bottom: 0.5em;
    cursor: pointer; }
    .newsroom-press-releases-wrap .press-release-detail-link .cta-link {
      letter-spacing: 0; }
      .newsroom-press-releases-wrap .press-release-detail-link .cta-link:after {
        top: 3px; }
      .newsroom-press-releases-wrap .press-release-detail-link .cta-link:hover:after {
        -webkit-transition: none;
                transition: none;
        border-left-color: #89060e; }
  .newsroom-press-releases-wrap .press-release-download-link .download-link {
    text-transform: uppercase;
    font-size: 1.4rem;
    display: inline-block; }
    .newsroom-press-releases-wrap .press-release-download-link .download-link:after {
      content: '\E002';
      top: 1px;
      margin-left: 3px;
      -webkit-transform: rotate(180deg);
          -ms-transform: rotate(180deg);
              transform: rotate(180deg);
      font-size: 1rem; }
  .newsroom-press-releases-wrap .press-release-download-link .file-info {
    font-size: 1.2rem; }
    .newsroom-press-releases-wrap .press-release-download-link .file-info > span:after {
      content: ', ';
      display: inline-block; }
    .newsroom-press-releases-wrap .press-release-download-link .file-info > span:last-child:after {
      content: ''; }
  .newsroom-press-releases-wrap .cta-wrap {
    margin-top: 2.5rem;
    padding-bottom: 5rem;
    border-bottom: 0.4rem solid #ded2b2; }

.newsroom-recent-headlines-wrap {
  background: #f5edd9;
  padding-top: 6rem;
  zoom: 1; }
  .newsroom-recent-headlines-wrap:before,
  .newsroom-recent-headlines-wrap:after {
    content: "\0020";
    display: block;
    height: 0;
    overflow: hidden; }
  .newsroom-recent-headlines-wrap:after {
    clear: both; }

.newsroom-recent-headlines {
  overflow: hidden; }
  .newsroom-recent-headlines .featured-heading .title {
    background: #f5edd9; }

.recent-headlines-wrap {
  margin-left: -0.5rem;
  margin-right: -0.5rem;
  margin-left: -1rem;
  margin-right: -1rem;
  padding-left: 5rem;
  padding-right: 5rem;
  padding-left: 7.5rem;
  padding-right: 7.5rem; }

.recent-headlines .headline-copy {
  font-family: "District-Bold", sans-serif;
  font-weight: normal;
  color: #4f2b1c;
  margin-bottom: 0.5rem;
  font-size: 1.6rem;
  letter-spacing: inherit; }

.recent-headlines .grid-block a {
  background-position: center center;
  background-size: cover; }

.recent-headlines .grid-text {
  width: 100%;
  bottom: 0;
  padding: 1rem;
  padding: 2rem; }
  .recent-headlines .grid-text .headline-copy {
    font-weight: normal;
    font-size: 1.6rem; }

.recent-headlines .steel .grid-text {
  background-color: #b2bfbb; }

.recent-headlines .tan .grid-text {
  background-color: #ded2b2; }

.recent-headlines .gold .grid-text {
  background-color: #ffc426; }

.recent-headlines .slick-prev,
.recent-headlines .slick-next {
  font-size: 3rem;
  color: #b0262e;
  top: 105%;
  z-index: 2;
  position: absolute;
  height: 3rem;
  width: 3rem;
  top: 50%;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%); }
  .recent-headlines .slick-prev:before,
  .recent-headlines .slick-next:before {
    display: none; }

.recent-headlines .slick-prev {
  left: -35px;
  left: -40px;
  left: -50px; }

.recent-headlines .slick-next {
  right: -35px;
  right: -40px;
  right: -50px; }

.recent-headlines .slick-dots button:before {
  font-size: 4rem;
  color: #ded2b2;
  opacity: 1; }

.recent-headlines .slick-dots .slick-active button:before {
  color: #b0262e; }

.investor-main .main-content {
  padding-top: 3rem;
  padding-bottom: 3rem;
  zoom: 1;
  padding-top: 5rem;
  padding-bottom: 5rem; }
  .investor-main .main-content:before,
  .investor-main .main-content:after {
    content: "\0020";
    display: block;
    height: 0;
    overflow: hidden; }
  .investor-main .main-content:after {
    clear: both; }

.investor-main .investor-section {
  border-top: 3px solid #ded2b2;
  padding: 1.5rem; }
  .investor-main .investor-section a {
    color: #b0262e;
    font-family: "District-Bold", sans-serif;
    font-weight: normal; }
  .investor-main .investor-section.current > a,
  .investor-main .investor-section .investor-subnav-item.current > a {
    color: #4f2b1c; }

.investor-main .investor-subnav {
  margin-left: 1.5rem;
  margin-top: 1rem; }

.investor-main .investor-subnav-item {
  margin-bottom: 1rem; }
  .investor-main .investor-subnav-item:last-child {
    margin-bottom: 0; }

.investor-main .col-nav,
.investor-main .col-content {
  float: left; }

.investor-main .col-nav {
  width: 33.3333%;
  width: 25%; }

.investor-main .col-content {
  margin-top: 3rem;
  width: 66.6666%;
  padding-left: 5rem;
  width: 75%;
  padding-left: 7rem; }

.faq-landing-wrap,
.faq-landing {
  zoom: 1; }
  .faq-landing-wrap:before,
  .faq-landing-wrap:after,
  .faq-landing:before,
  .faq-landing:after {
    content: "\0020";
    display: block;
    height: 0;
    overflow: hidden; }
  .faq-landing-wrap:after,
  .faq-landing:after {
    clear: both; }
  .faq-landing-wrap .intro-section,
  .faq-landing .intro-section {
    margin-bottom: 5rem; }

.faq-main {
  margin-bottom: 8rem; }
  .faq-main .faq-category-name {
    margin-bottom: 2rem;
    font-size: 3.6rem; }
  .faq-main .faq-category {
    margin-bottom: 4rem; }
  .faq-main .faq-question-text {
    font-size: 1.8rem;
    line-height: 1.33333; }
  .faq-main .wysiwyg .faq-question-text {
    margin-bottom: 0; }

.multimedia-main {
  margin-bottom: 5rem;
  margin-bottom: 7.5rem;
  margin-bottom: 10rem; }
  .multimedia-main .action-tag {
    position: absolute;
    background-color: #b0262e;
    color: white;
    bottom: 1.5rem;
    right: 0;
    letter-spacing: 0.2em;
    padding: 1.2rem 2.4rem;
    font-family: "District-Bold", sans-serif;
    font-weight: normal;
    text-transform: uppercase;
    -webkit-transition: 200ms background-color;
            transition: 200ms background-color; }
  .multimedia-main .media-video,
  .multimedia-main .image-preview {
    background-position: center center;
    background-size: cover; }
    .multimedia-main .media-video:hover .action-tag,
    .multimedia-main .image-preview:hover .action-tag {
      background-color: #89060e; }
  .multimedia-main .image-preview .action-tag {
    padding: 5px; }
    .multimedia-main .image-preview .action-tag i {
      left: 2px; }
      .multimedia-main .image-preview .action-tag i:after {
        content: '\E00A';
        font-size: 2.5rem; }
  .multimedia-main .logo-preview {
    border: 2px solid #ded2b2;
    padding: 2rem; }
  .multimedia-main .logo-preview-inner {
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center center;
    width: 100%;
    height: 100%; }
  .multimedia-main .media-images {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    -webkit-box-pack: left;
    -webkit-justify-content: left;
        -ms-flex-pack: left;
            justify-content: left; }
  .multimedia-main .media-image-wrap {
    width: 100%;
    width: 50%;
    width: 33.3333%; }
  .multimedia-main .media-caption {
    font-family: "District-Bold", sans-serif;
    font-weight: normal;
    line-height: 1.5;
    margin-top: 0.5rem; }
  .multimedia-main .download-wrap {
    line-height: 1.5; }
  .multimedia-main .download-link {
    text-transform: uppercase;
    font-size: 1.2rem; }
    .multimedia-main .download-link:after {
      content: '\E002';
      top: 1px;
      margin-left: 5px;
      -webkit-transform: rotate(180deg);
          -ms-transform: rotate(180deg);
              transform: rotate(180deg);
      font-size: 1rem; }
  .multimedia-main .file-info {
    font-size: 1.2rem; }
    .multimedia-main .file-info > span:after {
      content: ', ';
      display: inline-block; }
    .multimedia-main .file-info > span:last-child:after {
      content: ''; }
  .multimedia-main .file-type .extension {
    text-transform: lowercase; }

.media-video {
  background-color: #4f2b1c;
  cursor: pointer; }
  .media-video .action-tag {
    padding-right: 5rem; }
    .media-video .action-tag i {
      margin-left: 3px;
      padding-right: 2rem;
      position: absolute; }
      .media-video .action-tag i:after {
        content: '\E00C';
        position: absolute;
        font-size: 2.5rem;
        top: -6px; }

.media-featured-video-wrap {
  zoom: 1;
  margin-left: -0.5rem;
  margin-right: -0.5rem;
  margin-bottom: 2rem; }
  .media-featured-video-wrap:before,
  .media-featured-video-wrap:after {
    content: "\0020";
    display: block;
    height: 0;
    overflow: hidden; }
  .media-featured-video-wrap:after {
    clear: both; }
  .media-featured-video-wrap .grid-block.square {
    width: 100%;
    width: 50%;
    width: 33.3333%; }
  .media-featured-video-wrap .grid-block.wide {
    width: 100%;
    width: 50%;
    width: 66.6666%; }
  .media-featured-video-wrap .featured-video-info {
    padding: 1rem;
    padding: 2rem; }
    .media-featured-video-wrap .featured-video-info a {
      display: inline;
      background: none; }
  .media-featured-video-wrap .featured-video-info-content {
    z-index: 3; }
  .media-featured-video-wrap .featured-video-title {
    margin-bottom: 0.5rem; }
  .media-featured-video-wrap .featured-video-thumbnail {
    background-color: #4f2b1c; }

.media-videos {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-pack: left;
  -webkit-justify-content: left;
      -ms-flex-pack: left;
          justify-content: left;
  margin-left: -0.5rem;
  margin-right: -0.5rem; }
  .media-videos .video-thumbnail {
    display: block;
    height: 200px;
    cursor: pointer; }
  .media-videos .video-wrap {
    display: inline-block;
    width: 100%;
    padding: 0.5rem;
    margin-bottom: 2rem;
    width: 50%;
    width: 33.3333%; }
  .media-videos .video-download {
    background-color: inherit;
    width: inherit;
    display: inline-block; }

.media-image-wrap {
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  margin-bottom: 1rem;
  margin-bottom: 2rem; }

.media-images,
.media-logos {
  margin-left: -0.5rem;
  margin-right: -0.5rem; }

.media-images .image-preview {
  display: inline-block;
  height: 200px;
  width: 100%; }

.media-logos .logo-preview {
  height: 200px;
  width: 100%;
  display: inline-block; }

.catering-main {
  margin-bottom: 5rem;
  margin-bottom: 7rem; }

.catering-category-feature {
  zoom: 1;
  margin-bottom: 2rem;
  margin-bottom: 4rem; }
  .catering-category-feature:before,
  .catering-category-feature:after {
    content: "\0020";
    display: block;
    height: 0;
    overflow: hidden; }
  .catering-category-feature:after {
    clear: both; }
  .catering-category-feature .feature-content,
  .catering-category-feature .feature-image {
    width: 100%;
    width: 50%; }
  .catering-category-feature .feature-content {
    float: right;
    margin-bottom: 1rem;
    padding-left: 4rem;
    padding-left: 8rem; }
    .catering-category-feature .feature-content.full {
      width: 100%;
      padding-left: 0; }
  .catering-category-feature .feature-image {
    float: left; }
  .catering-category-feature .feature-heading {
    margin-bottom: 1rem;
    font-size: 3.6rem;
    margin-bottom: 1.5rem;
    font-size: 4.8rem; }
  .catering-category-feature .feature-subhead {
    margin-bottom: 0.5em;
    font-size: 1.8rem;
    font-size: 2rem; }
  .catering-category-feature .featured-heading {
    margin-bottom: 1rem;
    margin-bottom: 1.5rem; }

.catering-category-section .section-items {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-pack: left;
  -webkit-justify-content: left;
      -ms-flex-pack: left;
          justify-content: left;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center; }

.catering-category-section .section-item {
  margin-bottom: 1.5rem;
  display: inline-block;
  width: 100%;
  width: 50%;
  padding-right: 2rem;
  margin-bottom: 3rem;
  width: 33.3333%;
  text-align: center;
  padding: 0 2rem;
  width: 25%; }

.catering-category-section .item-name {
  text-transform: none;
  font-size: 1.4rem;
  font-size: 1.6rem; }
  .catering-category-section .item-name a {
    color: #b0262e; }

.catering-category-section .item-suggested-pairing {
  font-family: "District-Bold", sans-serif;
  font-weight: normal;
  font-size: 1.4rem;
  margin-top: 0.2rem; }

.catering-category-section .item-excerpt {
  font-size: 1.4rem;
  margin-top: 0.5rem; }

.catering-category-section .item-icons {
  font-size: 1.4rem; }
  .catering-category-section .item-icons .veggie {
    margin-left: 0.5rem; }

.catering-category-links {
  margin-top: 1.5rem;
  text-align: center;
  margin-top: 3rem; }
  .catering-category-links .cta-wrap {
    margin: 0 1rem 1rem;
    display: inline-block; }

.foundation-apply-main {
  padding-bottom: 3rem;
  padding-bottom: 5rem;
  padding-bottom: 7rem; }

.search .search-result-header {
  margin-bottom: 2rem; }

.search .search-result-term {
  margin-bottom: 4rem; }

.search .search-result-item {
  zoom: 1;
  width: 100%;
  padding: 5rem 0;
  border-bottom: 3px solid #ded2b2; }
  .search .search-result-item:before,
  .search .search-result-item:after {
    content: "\0020";
    display: block;
    height: 0;
    overflow: hidden; }
  .search .search-result-item:after {
    clear: both; }
  .search .search-result-item:first-child {
    padding-top: 0; }
  .search .search-result-item a {
    margin-bottom: 4rem;
    display: block;
    font-size: 1.8rem; }
  .search .search-result-item p {
    font-size: 1.8rem;
    width: 100%;
    max-width: 70%; }
  .search .search-result-item .dish-feature {
    text-align: left;
    margin: 2rem 0 0 0;
    padding: 0; }
    .search .search-result-item .dish-feature .calorie-list {
      top: 3px; }
  .search .search-result-item img {
    margin: 4rem auto 0;
    display: block;
    position: absolute;
    right: 0;
    max-width: 18rem;
    top: 50%;
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%);
    margin: 0; }

.gift-cards-main {
  padding-bottom: 3rem;
  padding-bottom: 5rem;
  padding-bottom: 7rem; }
  .gift-cards-main h3 {
    text-align: center;
    font-size: 3.2rem;
    font-size: 3.6rem;
    font-size: 4.2rem; }
  .gift-cards-main .check-bal {
    margin-top: 2rem;
    clear: both; }
  .gift-cards-main .gift-cards-footer-content {
    margin-bottom: 1em; }
  .gift-cards-main .balance-check-wrap {
    text-align: center;
    margin: 0 auto;
    background-color: #ded2b2;
    border-radius: 5px;
    padding: 1rem;
    max-width: 35rem; }
    .gift-cards-main .balance-check-wrap iframe {
      text-align: center; }

.gift-cards-grid {
  margin-bottom: 3rem;
  margin-bottom: 5rem; }
  .gift-cards-grid .grid-row {
    margin-top: -0.5rem;
    margin-top: -1rem; }
  .gift-cards-grid .grid-block {
    width: 100%;
    padding: 1rem;
    width: 33.33333% !important;
    padding: 0.5rem;
    padding: 1rem; }
  .gift-cards-grid .gift-cards-grid-content {
    margin-bottom: 1em;
    text-align: center; }

.made-different-main {
  padding-bottom: 5rem;
  padding-bottom: 10rem; }
  .made-different-main .made-different-callout-sections {
    margin-bottom: 2rem;
    margin-bottom: 7rem; }
  .made-different-main .made-different-callout-section {
    padding: 3rem 0;
    padding: 6rem 0; }
    .made-different-main .made-different-callout-section .made-different-section-image-wrap {
      width: 100%;
      width: 40%; }
      .made-different-main .made-different-callout-section .made-different-section-image-wrap img {
        margin: 4rem auto;
        display: block; }
    .made-different-main .made-different-callout-section .made-different-section-copy-wrap {
      width: 100%;
      width: 60%; }
      .made-different-main .made-different-callout-section .made-different-section-copy-wrap .section-heading {
        font-family: "Ziggurat A", "Ziggurat B", sans-serif;
        font-weight: normal;
        margin-bottom: 3rem;
        font-size: 3.2rem;
        margin-bottom: 1.5rem; }
      .made-different-main .made-different-callout-section .made-different-section-copy-wrap .cta-wrap {
        margin: 3rem 0;
        margin: 3rem 0 0; }
    .made-different-main .made-different-callout-section:nth-of-type(odd) {
      background-color: #f5edd9; }
    .made-different-main .made-different-callout-section:nth-of-type(odd) .made-different-section-copy-wrap {
      float: left;
      padding-right: 5rem; }
    .made-different-main .made-different-callout-section:nth-of-type(odd) .made-different-section-image-wrap {
      float: right; }
    .made-different-main .made-different-callout-section:nth-of-type(even) .made-different-section-copy-wrap {
      float: right;
      padding-left: 5rem; }
    .made-different-main .made-different-callout-section:nth-of-type(even) .made-different-section-image-wrap {
      float: left; }
    .made-different-main .made-different-callout-section:nth-of-type(odd) .made-different-section-copy-wrap {
      padding-right: 10rem; }
    .made-different-main .made-different-callout-section:nth-of-type(even) .made-different-section-copy-wrap {
      padding-left: 10rem; }
  .made-different-main .shifted {
    margin-left: 5rem; }

.made-different-cta-links {
  text-align: center;
  margin: 2rem auto;
  margin: 4rem auto; }
  .made-different-cta-links .cta-link {
    display: inline-block;
    padding: 0 20px;
    overflow: hidden;
    width: 48%;
    width: 31%; }
  .made-different-cta-links .cta {
    font-size: 1.4rem;
    padding: 1rem 3.5rem 1rem 2rem;
    margin-bottom: 1rem;
    padding: 1.5rem 4rem 1.5rem 2.5rem;
    font-size: 1.6rem;
    padding-right: 5rem; }

.made-different-feature-image-wrap img {
  margin: 0 auto;
  display: block; }

.made-different-timeline-section .timeline-events {
  margin-top: 2.5rem;
  text-align: center;
  margin-top: 5rem; }

.made-different-timeline-section .timeline-event {
  width: 75%;
  margin: 0 auto 1em;
  width: 50%; }

.made-different-timeline-section .event-date,
.made-different-timeline-section .event-description p {
  font-size: 1.4rem;
  line-height: 1.5;
  font-size: 1.6rem; }

body.attachment article.attachment {
  margin-bottom: 3rem;
  margin-bottom: 5rem; }

body.attachment #main-embed {
  height: 20rem;
  height: 40rem;
  height: 60rem; }

body.attachment .download-link {
  display: block;
  text-align: right;
  font-size: 1.8rem;
  margin-top: 1rem; }

body.attachment-pdf #main-embed {
  height: 30rem;
  height: 60rem;
  height: 90rem; }

.coming-soon-main {
  padding-bottom: 5rem;
  padding-bottom: 7rem; }
  .coming-soon-main .no-coming-soon {
    margin-top: 2rem;
    text-align: center; }

.coming-soon-location-wrap {
  margin-bottom: 1rem;
  clear: both;
  margin-bottom: 2rem; }
  .coming-soon-location-wrap h3 {
    margin-bottom: 1rem;
    margin-bottom: 2rem; }

.coming-soon-locations {
  zoom: 1; }
  .coming-soon-locations:before,
  .coming-soon-locations:after {
    content: "\0020";
    display: block;
    height: 0;
    overflow: hidden; }
  .coming-soon-locations:after {
    clear: both; }
  .coming-soon-locations h4 {
    margin-bottom: 0.2rem; }

.coming-soon-location {
  margin-bottom: 1em;
  text-align: center;
  padding-right: 1rem;
  width: 50%;
  float: left;
  padding-right: 2rem;
  width: 33.3333%; }

.coming-soon-location-links {
  zoom: 1; }
  .coming-soon-location-links:before,
  .coming-soon-location-links:after {
    content: "\0020";
    display: block;
    height: 0;
    overflow: hidden; }
  .coming-soon-location-links:after {
    clear: both; }
  .coming-soon-location-links li {
    display: inline-block; }
    .coming-soon-location-links li:after {
      content: '|';
      font-family: "District-Bold", sans-serif;
      font-weight: normal;
      display: inline-block;
      margin-left: 5px;
      margin-right: 5px; }
    .coming-soon-location-links li:last-child:after {
      content: '';
      display: none; }

.security-table td {
  width: 33.3333%; }

.security-table td > * {
  padding-right: 10px;
  word-break: break-word; }

.security-table p {
  margin-bottom: 0.5em; }

.rewards-fiftyfifty {
  zoom: 1;
  display: block;
  max-width: 80rem;
  margin-left: auto;
  margin-right: auto; }
  .rewards-fiftyfifty:before,
  .rewards-fiftyfifty:after {
    content: "\0020";
    display: block;
    height: 0;
    overflow: hidden; }
  .rewards-fiftyfifty:after {
    clear: both; }
  .rewards-fiftyfifty .fifty {
    position: relative;
    padding: 2rem 0;
    display: block;
    width: 50%;
    float: left; }
    .rewards-fiftyfifty .fifty img {
      display: block;
      width: 75%;
      margin-left: auto;
      margin-right: auto;
      width: 100%; }
    .rewards-fiftyfifty .fifty.fifty-text {
      padding-top: 25%; }

.rewards-signup {
  padding: 2rem 0;
  text-align: center; }
  .rewards-signup img {
    width: 150px;
    height: 50px; }
  .rewards-signup .reward-button {
    display: inline-block;
    padding: 1rem 2rem;
    background-color: #f5edd9;
    font-size: 18px;
    letter-spacing: .2em;
    text-align: center;
    text-transform: uppercase;
    color: #b0262e;
    font-family: "District-Bold", sans-serif;
    font-weight: normal; }
    .rewards-signup .reward-button:hover {
      background-color: #ded2b2;
      color: #4f2b1c; }

/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInV0aWxzL19mb250cy5zY3NzIiwiYmFzZS9fcmVzZXQuc2NzcyIsInNldHRpbmdzL19jb2xvcnMuc2NzcyIsInNldHRpbmdzL19hZG1pbi13eXNpd3lnLnNjc3MiLCJ1dGlscy9taXhpbnMvX2pzLWJyZWFrcG9pbnRzLnNjc3MiLCJ1dGlscy9fdXRpbGl0aWVzLnNjc3MiLCJ1dGlscy9fc3ltYm9scy5zY3NzIiwidXRpbHMvX3Nwcml0ZXMuc2NzcyIsInV0aWxzL19leHRlbmRzLnNjc3MiLCJ1dGlscy9mdW5jdGlvbnMvX3VuaXRzLnNjc3MiLCJ1dGlscy9taXhpbnMvX3R5cGUuc2NzcyIsInV0aWxzL21peGlucy9fbWVkaWEtcXVlcmllcy5zY3NzIiwiYmFzZS9fdHlwZS5zY3NzIiwic2V0dGluZ3MvX29wdGlvbnMuc2NzcyIsImJhc2UvX2Zvcm1zLnNjc3MiLCJ1dGlscy9taXhpbnMvX3BsYWNlaG9sZGVyLnNjc3MiLCJsYXlvdXQvX21haW4uc2NzcyIsImxheW91dC9faGVhZGVyLnNjc3MiLCJsYXlvdXQvX2Zvb3Rlci5zY3NzIiwibGF5b3V0L19uYXYuc2NzcyIsImxheW91dC9faGVyby5zY3NzIiwidmVuZG9yL19mb3Jtc3RvbmUtd2FsbHBhcGVyLnNjc3MiLCJ2ZW5kb3Ivc2xpY2suY3NzIiwidmVuZG9yL19zbGljay10aGVtZS5zY3NzIiwidmVuZG9yL19zY3JvbGxlci5zY3NzIiwidmVuZG9yL19tYWduaWZpYy1wb3B1cC5zY3NzIiwibW9kdWxlcy9jbXMvX3dvcmRwcmVzcy5zY3NzIiwibW9kdWxlcy9fZ3JpZC5zY3NzIiwibW9kdWxlcy9fc2ltcGxlLXRhYnMuc2NzcyIsIm1vZHVsZXMvX3NpbXBsZS1sYXlvdXQuc2NzcyIsIm1vZHVsZXMvX251dHJpdGlvbi1pbmZvLnNjc3MiLCJtb2R1bGVzL19zaW1wbGUtYWNjb3JkaW9uLnNjc3MiLCJtb2R1bGVzL19kaXNoLWZlYXR1cmUuc2NzcyIsIm1vZHVsZXMvX2dmb3JtLXJlc2V0LnNjc3MiLCJtb2R1bGVzL19zdHVicy5zY3NzIiwiY29tcG9uZW50cy9fYnJvd3NlLWhhcHB5LnNjc3MiLCJjb21wb25lbnRzL19idXR0b25zLnNjc3MiLCJjb21wb25lbnRzL19mZWF0dXJlZC1jYXRlZ29yeS5zY3NzIiwiY29tcG9uZW50cy9fY3VzdG9tLWljb24tc3R5bGUuc2NzcyIsImNvbXBvbmVudHMvX2N1c3RvbS1jaGVja2JveGVzLnNjc3MiLCJwYWdlcy9faG9tZS5zY3NzIiwicGFnZXMvX2xhbmRpbmcuc2NzcyIsInBhZ2VzL19kaXNoLWRldGFpbC5zY3NzIiwicGFnZXMvX21lbnUuc2NzcyIsInBhZ2VzL19jYXJlZXJzLnNjc3MiLCJwYWdlcy9fbG9jYXRpb25zLnNjc3MiLCJwYWdlcy9fbG9jYXRpb24tZGV0YWlsLnNjc3MiLCJwYWdlcy9fbmV3c3Jvb20uc2NzcyIsInBhZ2VzL19pbnZlc3Rvci5zY3NzIiwicGFnZXMvX2ZhcS5zY3NzIiwicGFnZXMvX211bHRpbWVkaWEuc2NzcyIsInBhZ2VzL19jYXRlcmluZy5zY3NzIiwicGFnZXMvX2ZvdW5kYXRpb24tYXBwbHkuc2NzcyIsInBhZ2VzL19zZWFyY2guc2NzcyIsInBhZ2VzL19naWZ0LWNhcmRzLnNjc3MiLCJwYWdlcy9fbWFkZS1kaWZmZXJlbnQuc2NzcyIsInBhZ2VzL19hdHRhY2htZW50LnNjc3MiLCJwYWdlcy9fY29taW5nLXNvb24uc2NzcyIsInBhZ2VzL19zZWN1cml0eS5zY3NzIiwicGFnZXMvX3Jld2FyZHMuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBa0NBLE9BQU8sQ0FBQyx1Q0FBSTtBQ1hPLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsTUFBTTtBQUN4RCxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsVUFBVSxFQUFFLEdBQUc7QUFDMUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUs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cmludC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gRk9OVFNcbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBAZm9udC1mYWNlICYgQGltcG9ydFxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLyoqXG4gKiBAbGljZW5zZVxuICogTXlGb250cyBXZWJmb250IEJ1aWxkIElEIDMxMTQ2MTAsIDIwMTUtMTAtMjdUMTY6Mjk6MDgtMDQwMFxuICpcbiAqIFRoZSBmb250cyBsaXN0ZWQgaW4gdGhpcyBub3RpY2UgYXJlIHN1YmplY3QgdG8gdGhlIEVuZCBVc2VyIExpY2Vuc2VcbiAqIEFncmVlbWVudChzKSBlbnRlcmVkIGludG8gYnkgdGhlIHdlYnNpdGUgb3duZXIuIEFsbCBvdGhlciBwYXJ0aWVzIGFyZVxuICogZXhwbGljaXRseSByZXN0cmljdGVkIGZyb20gdXNpbmcgdGhlIExpY2Vuc2VkIFdlYmZvbnRzKHMpLlxuICpcbiAqIFlvdSBtYXkgb2J0YWluIGEgdmFsaWQgbGljZW5zZSBhdCB0aGUgVVJMcyBiZWxvdy5cbiAqXG4gKiBXZWJmb250OiBEaXN0cmljdC1NZWRpdW0gYnkgR2FyYWdlRm9udHNcbiAqIFVSTDogaHR0cDovL3d3dy5teWZvbnRzLmNvbS9mb250cy9nYXJhZ2Vmb250cy9kaXN0cmljdC9tZWRpdW0vXG4gKlxuICogV2ViZm9udDogRGlzdHJpY3QtQm9sZCBieSBHYXJhZ2VGb250c1xuICogVVJMOiBodHRwOi8vd3d3Lm15Zm9udHMuY29tL2ZvbnRzL2dhcmFnZWZvbnRzL2Rpc3RyaWN0L2JvbGQvXG4gKlxuICpcbiAqIExpY2Vuc2U6IGh0dHA6Ly93d3cubXlmb250cy5jb20vdmlld2xpY2Vuc2U/dHlwZT13ZWImYnVpbGRpZD0zMTE0NjEwXG4gKiBMaWNlbnNlZCBwYWdldmlld3M6IDMsMDAwLDAwMFxuICogV2ViZm9udHMgY29weXJpZ2h0OiBDb3B5cmlnaHQgKGMpIDIwMDIgYnkgRHlsYW4gU21pdGggJmFtcDsgS2llbmFuIFNtaXRoLiBQdWJsaXNoZWQgYnkgR2FyYWdlRm9udHMgVVNBIDMwMS04NzktOTIyMiAtIC0gd3d3LmdhcmFnZWZvbnRzLmNvbS4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiDCqSAyMDE1IE15Rm9udHMgSW5jXG4qL1xuXG5cbi8qIEBpbXBvcnQgbXVzdCBiZSBhdCB0b3Agb2YgZmlsZSwgb3RoZXJ3aXNlIENTUyB3aWxsIG5vdCB3b3JrICovXG5AaW1wb3J0IHVybChcIi8vaGVsbG8ubXlmb250cy5uZXQvY291bnQvMmY4NjcyXCIpO1xuXG5AZm9udC1mYWNlIHtmb250LWZhbWlseTogJ0Rpc3RyaWN0LU1lZGl1bSc7c3JjOiB1cmwoJ2Fzc2V0cy9mb250cy9kaXN0cmljdC9kaXN0cmljdC1tZWRpdW0vMkY4NjcyXzBfMC5lb3QnKTtzcmM6IHVybCgnYXNzZXRzL2ZvbnRzL2Rpc3RyaWN0L2Rpc3RyaWN0LW1lZGl1bS8yRjg2NzJfMF8wLmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksdXJsKCdhc3NldHMvZm9udHMvZGlzdHJpY3QvZGlzdHJpY3QtbWVkaXVtLzJGODY3Ml8wXzAud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksdXJsKCdhc3NldHMvZm9udHMvZGlzdHJpY3QvZGlzdHJpY3QtbWVkaXVtLzJGODY3Ml8wXzAud29mZicpIGZvcm1hdCgnd29mZicpLHVybCgnYXNzZXRzL2ZvbnRzL2Rpc3RyaWN0L2Rpc3RyaWN0LW1lZGl1bS8yRjg2NzJfMF8wLnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKTt9XG5cblxuQGZvbnQtZmFjZSB7Zm9udC1mYW1pbHk6ICdEaXN0cmljdC1Cb2xkJztzcmM6IHVybCgnYXNzZXRzL2ZvbnRzL2Rpc3RyaWN0L2Rpc3RyaWN0LWJvbGQvMkY4NjcyXzFfMC5lb3QnKTtzcmM6IHVybCgnYXNzZXRzL2ZvbnRzL2Rpc3RyaWN0L2Rpc3RyaWN0LWJvbGQvMkY4NjcyXzFfMC5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLHVybCgnYXNzZXRzL2ZvbnRzL2Rpc3RyaWN0L2Rpc3RyaWN0LWJvbGQvMkY4NjcyXzFfMC53b2ZmMicpIGZvcm1hdCgnd29mZjInKSx1cmwoJ2Fzc2V0cy9mb250cy9kaXN0cmljdC9kaXN0cmljdC1ib2xkLzJGODY3Ml8xXzAud29mZicpIGZvcm1hdCgnd29mZicpLHVybCgnYXNzZXRzL2ZvbnRzL2Rpc3RyaWN0L2Rpc3RyaWN0LWJvbGQvMkY4NjcyXzFfMC50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyk7fVxuXG5cbi8qIEdlbmVyYXRlZCBieSBGb250IFNxdWlycmVsIChodHRwOi8vd3d3LmZvbnRzcXVpcnJlbC5jb20pIG9uIFNlcHRlbWJlciAyOSwgMjAxNSAqL1xuXG4vLyBAZm9udC1mYWNlIHtcbi8vICAgICBmb250LWZhbWlseTogJ0Rpc3RyaWN0IEJvbGQnO1xuLy8gICAgIHNyYzogdXJsKCdhc3NldHMvZm9udHMvZGlzdHJpY3QvZGlzdHJpY3QtYm9sZC9kaXN0cmljdC1ib2xkLXdlYmZvbnQuZW90Jyk7XG4vLyAgICAgc3JjOiB1cmwoJ2Fzc2V0cy9mb250cy9kaXN0cmljdC9kaXN0cmljdC1ib2xkL2Rpc3RyaWN0LWJvbGQtd2ViZm9udC5lb3Q/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLFxuLy8gICAgICAgICAgdXJsKCdhc3NldHMvZm9udHMvZGlzdHJpY3QvZGlzdHJpY3QtYm9sZC9kaXN0cmljdC1ib2xkLXdlYmZvbnQud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4vLyAgICAgICAgICB1cmwoJ2Fzc2V0cy9mb250cy9kaXN0cmljdC9kaXN0cmljdC1ib2xkL2Rpc3RyaWN0LWJvbGQtd2ViZm9udC53b2ZmJykgZm9ybWF0KCd3b2ZmJyksXG4vLyAgICAgICAgICB1cmwoJ2Fzc2V0cy9mb250cy9kaXN0cmljdC9kaXN0cmljdC1ib2xkL2Rpc3RyaWN0LWJvbGQtd2ViZm9udC50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyksXG4vLyAgICAgICAgICB1cmwoJ2Fzc2V0cy9mb250cy9kaXN0cmljdC9kaXN0cmljdC1ib2xkL2Rpc3RyaWN0LWJvbGQtd2ViZm9udC5zdmcjZGlzdHJpY3RfYm9sZGJvbGQnKSBmb3JtYXQoJ3N2ZycpO1xuLy8gICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4vLyAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuLy8gfVxuXG4vLyBAZm9udC1mYWNlIHtcbi8vICAgICBmb250LWZhbWlseTogJ0Rpc3RyaWN0IE1lZGl1bSc7XG4vLyAgICAgc3JjOiB1cmwoJ2Fzc2V0cy9mb250cy9kaXN0cmljdC9kaXN0cmljdC1tZWRpdW0vZGlzdHJpY3QtbWVkaXVtLXdlYmZvbnQuZW90Jyk7XG4vLyAgICAgc3JjOiB1cmwoJ2Fzc2V0cy9mb250cy9kaXN0cmljdC9kaXN0cmljdC1tZWRpdW0vZGlzdHJpY3QtbWVkaXVtLXdlYmZvbnQuZW90PyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSxcbi8vICAgICAgICAgIHVybCgnYXNzZXRzL2ZvbnRzL2Rpc3RyaWN0L2Rpc3RyaWN0LW1lZGl1bS9kaXN0cmljdC1tZWRpdW0td2ViZm9udC53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcbi8vICAgICAgICAgIHVybCgnYXNzZXRzL2ZvbnRzL2Rpc3RyaWN0L2Rpc3RyaWN0LW1lZGl1bS9kaXN0cmljdC1tZWRpdW0td2ViZm9udC53b2ZmJykgZm9ybWF0KCd3b2ZmJyksXG4vLyAgICAgICAgICB1cmwoJ2Fzc2V0cy9mb250cy9kaXN0cmljdC9kaXN0cmljdC1tZWRpdW0vZGlzdHJpY3QtbWVkaXVtLXdlYmZvbnQudHRmJykgZm9ybWF0KCd0cnVldHlwZScpLFxuLy8gICAgICAgICAgdXJsKCdhc3NldHMvZm9udHMvZGlzdHJpY3QvZGlzdHJpY3QtbWVkaXVtL2Rpc3RyaWN0LW1lZGl1bS13ZWJmb250LnN2ZyNkaXN0cmljdF9tZWRpdW1tZWRpdW0nKSBmb3JtYXQoJ3N2ZycpO1xuLy8gICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4vLyAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuLy8gfVxuXG4vKlxuKiAgIE9zd2FsZCBCb2xkIGlzIHNpbWlsYXIgdG8gS25vY2tvdXQuIFVTSU5HIEZPUiBURVNUSU5HIFBVUlBPU0VTIE9OTFkuXG4qL1xuLy8gQGltcG9ydCB1cmwoaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3M/ZmFtaWx5PU9zd2FsZDo3MDApO1xuXG4vLyBAZm9udC1mYWNlIHtcbi8vICAgICBmb250LWZhbWlseTogJ0tub2Nrb3V0IDY3Jztcbi8vICAgICBzcmM6IHVybCgnYXNzZXRzL2ZvbnRzL2tub2Nrb3V0L2tub2Nrb3V0LTY3LXdlYmZvbnQuZW90Jyk7XG4vLyAgICAgc3JjOiB1cmwoJ2Fzc2V0cy9mb250cy9rbm9ja291dC9rbm9ja291dC02Ny13ZWJmb250LmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksXG4vLyAgICAgICAgICB1cmwoJ2Fzc2V0cy9mb250cy9rbm9ja291dC9rbm9ja291dC02Ny13ZWJmb250LndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuLy8gICAgICAgICAgdXJsKCdhc3NldHMvZm9udHMva25vY2tvdXQva25vY2tvdXQtNjctd2ViZm9udC53b2ZmJykgZm9ybWF0KCd3b2ZmJyksXG4vLyAgICAgICAgICB1cmwoJ2Fzc2V0cy9mb250cy9rbm9ja291dC9rbm9ja291dC02Ny13ZWJmb250LnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKSxcbi8vICAgICAgICAgIHVybCgnYXNzZXRzL2ZvbnRzL2tub2Nrb3V0L2tub2Nrb3V0LTY3LXdlYmZvbnQuc3ZnI2tub2Nrb3V0NjdfZnVsbF9iYW50YW13ZWlnaHQnKSBmb3JtYXQoJ3N2ZycpO1xuLy8gICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4vLyAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuLy8gfVxuXG4vLyBAZm9udC1mYWNlIHtcbi8vICAgICBmb250LWZhbWlseTogJ1ppZ2d1cmF0Jztcbi8vICAgICBzcmM6IHVybCgnYXNzZXRzL2ZvbnRzL3ppZ2d1cmF0L3ppZ2d1cmF0LXdlYmZvbnQuZW90Jyk7XG4vLyAgICAgc3JjOiB1cmwoJ2Fzc2V0cy9mb250cy96aWdndXJhdC96aWdndXJhdC13ZWJmb250LmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksXG4vLyAgICAgICAgICB1cmwoJ2Fzc2V0cy9mb250cy96aWdndXJhdC96aWdndXJhdC13ZWJmb250LndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuLy8gICAgICAgICAgdXJsKCdhc3NldHMvZm9udHMvemlnZ3VyYXQvemlnZ3VyYXQtd2ViZm9udC53b2ZmJykgZm9ybWF0KCd3b2ZmJyksXG4vLyAgICAgICAgICB1cmwoJ2Fzc2V0cy9mb250cy96aWdndXJhdC96aWdndXJhdC13ZWJmb250LnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKSxcbi8vICAgICAgICAgIHVybCgnYXNzZXRzL2ZvbnRzL3ppZ2d1cmF0L3ppZ2d1cmF0LXdlYmZvbnQuc3ZnI3ppZ2d1cmF0aHRmLWJsYWNrJykgZm9ybWF0KCdzdmcnKTtcbi8vICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuLy8gICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbi8vIH1cblxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEZvbnQgVmFyaWFibGVzXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBWYXJpYWJsZXMgYmVzdCB1dGlsaXplZCBmb3IgZm9udCBzZXJ2aWNlcyB3aXRob3V0IGZhbWlseSBncm91cGluZy5cbiRkaXN0cmljdC1tZWRpdW06ICdEaXN0cmljdC1NZWRpdW0nLCBzYW5zLXNlcmlmO1xuJGRpc3RyaWN0LWJvbGQ6ICdEaXN0cmljdC1Cb2xkJywgc2Fucy1zZXJpZjtcbiRrbm9ja291dDogJ09zd2FsZCcsIHNhbnMtc2VyaWY7IC8vIFRFU1RJTkcgUFVSUE9TRVMgT05MWS5cblxuJGtub2Nrb3V0OiBcIktub2Nrb3V0IDY3IEFcIiwgXCJLbm9ja291dCA2NyBCXCIsIHNhbnMtc2VyaWY7XG4kemlnZ3VyYXQ6IFwiWmlnZ3VyYXQgQVwiLCBcIlppZ2d1cmF0IEJcIiwgc2Fucy1zZXJpZjtcblxuLy8gRm9udCBMaXN0IE1hcFxuJGZvbnRzOiAoXG5cdGRpc3RyaWN0OiAoXG5cdFx0cmVndWxhcjogJGRpc3RyaWN0LW1lZGl1bSxcblx0XHRib2xkOiAkZGlzdHJpY3QtYm9sZCxcblx0KSxcbiAgICBrbm9ja291dDogKFxuICAgICAgICByZWd1bGFyOiAka25vY2tvdXRcbiAgICApLFxuICAgIHppZ2d1cmF0OiAoXG4gICAgICAgIHJlZ3VsYXI6ICR6aWdndXJhdFxuICAgIClcbik7XG5cbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBGb250IGZ1bmN0aW9uICYgbWl4aW5cbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIEZvbnQgRnVuY3Rpb25cbkBmdW5jdGlvbiBzZXRmb250KCRuYW1lLCAkd2VpZ2h0OiByZWd1bGFyKSB7XG5cdEBpZiBtYXAtaGFzLWtleSgkZm9udHMsICRuYW1lKSB7XG5cdFx0QHJldHVybiBtYXAtZ2V0KG1hcC1nZXQoJGZvbnRzLCAkbmFtZSksICR3ZWlnaHQpO1xuXHR9IEBlbHNlIHtcblx0XHRAd2FybiBcIkNvdWxkbid0IGZpbmQgYSBmb250IG5hbWVkIGAjeyRuYW1lfWAuXCI7XG5cdH1cbn1cblxuLy8gRm9udCBNaXhpblxuQG1peGluIHNldGZvbnQoJGZhbWlseTogc2Fucy1zZXJpZiwgJHdlaWdodDogbm9ybWFsKSB7XG5cdC8vIERlZmF1bHQgRm9udCBTdGFja1xuXHRAaWYgJGZhbWlseSA9PSBcImRlZmF1bHRcIiB7XG5cdFx0Zm9udC1mYW1pbHk6ICRkaXN0cmljdC1tZWRpdW0sIEFyaWFsLCBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcblx0fVxuXHQvLyBEaXN0cmljdCBNZWRpdW1cblx0QGlmICRmYW1pbHkgPT0gXCJkaXN0cmljdFwiIHtcblx0XHRmb250LWZhbWlseTogJGRpc3RyaWN0LW1lZGl1bTtcblx0fVxuXHQvLyBEaXN0cmljdCBCb2xkXG4gICAgQGlmICRmYW1pbHkgPT0gXCJkaXN0cmljdCBib2xkXCIge1xuICAgICAgICBmb250LWZhbWlseTogJGRpc3RyaWN0LWJvbGQ7XG4gICAgfVxuICAgIC8vIC8vIEtub2Nrb3V0IDY3XG4gICAgQGlmICRmYW1pbHkgPT0gXCJrbm9ja291dFwiIHtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRrbm9ja291dDtcbiAgICB9XG5cbiAgICAvLyBaaWdndXJhdFxuICAgIEBpZiAkZmFtaWx5ID09IFwiemlnZ3VyYXRcIiB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkemlnZ3VyYXQ7XG4gICAgfVxuXHRmb250LXdlaWdodDogJHdlaWdodDtcbn1cbiIsIi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBSRVNFVFxuLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEhUTUw1IFJlc2V0XG4vLyBXZSBoYXZlIGxlYXJuZWQgbXVjaCBmcm9tL2JlZW4gaW5zcGlyZWQgYnkvdGFrZW4gY29kZSB3aGVyZSBvZmZlcmVkIGZyb206XG4vLyBFcmljIE1leWVyICAgICAgICAgICAgICAgICAgOjogaHR0cDovL21leWVyd2ViLmNvbVxuLy8gSFRNTDUgRG9jdG9yICAgICAgICAgICAgICAgIDo6IGh0dHA6Ly9odG1sNWRvY3Rvci5jb21cbi8vIGFuZCB0aGUgSFRNTDUgQm9pbGVycGxhdGUgICA6OiBodHRwOi8vaHRtbDVib2lsZXJwbGF0ZS5jb21cbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbmh0bWwsIGJvZHksIGRpdiwgc3Bhbiwgb2JqZWN0LCBpZnJhbWUsXG5oMSwgaDIsIGgzLCBoNCwgaDUsIGg2LCBwLCBibG9ja3F1b3RlLCBwcmUsXG5hYmJyLCBhZGRyZXNzLCBjaXRlLCBjb2RlLFxuZGVsLCBkZm4sIGVtLCBpbWcsIGlucywga2JkLCBxLCBzYW1wLFxuc21hbGwsIHN0cm9uZywgc3ViLCBzdXAsIHZhcixcbmIsIGksXG5kbCwgZHQsIGRkLCBvbCwgdWwsIGxpLFxuZmllbGRzZXQsIGZvcm0sIGxhYmVsLCBsZWdlbmQsXG50YWJsZSwgY2FwdGlvbiwgdGJvZHksIHRmb290LCB0aGVhZCwgdHIsIHRoLCB0ZCxcbmFydGljbGUsIGFzaWRlLCBjYW52YXMsIGRldGFpbHMsIGZpZ2NhcHRpb24sIGZpZ3VyZSxcbmZvb3RlciwgaGVhZGVyLCBoZ3JvdXAsIG1lbnUsIG5hdiwgc2VjdGlvbiwgc3VtbWFyeSxcbnRpbWUsIG1hcmssIGF1ZGlvLCB2aWRlbyB7XG5cdG1hcmdpbjogMDtcblx0cGFkZGluZzogMDtcblx0Ym9yZGVyOiAwO1xuXHRvdXRsaW5lOiAwO1xuXHRmb250LXNpemU6IDEwMCU7XG5cdHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcblx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG5cbm1haW4sIGFydGljbGUsIGFzaWRlLCBkZXRhaWxzLCBmaWdjYXB0aW9uLCBmaWd1cmUsXG5mb290ZXIsIGhlYWRlciwgaGdyb3VwLCBtZW51LCBuYXYsIHNlY3Rpb24ge1xuXHRkaXNwbGF5OiBibG9jaztcbn1cblxuaHRtbCB7XG5cdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cdG92ZXJmbG93LXk6IHNjcm9sbDtcblx0LW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG5cdC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcblx0dGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eSAhaW1wb3J0YW50O1xuXHQtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZCAhaW1wb3J0YW50O1xufVxuXG5ib2R5IHtcblx0bGluZS1oZWlnaHQ6IDE7XG59XG5cbiosXG4qOmJlZm9yZSxcbio6YWZ0ZXIge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdGJveC1zaXppbmc6IGluaGVyaXQ7XG5cblx0Ly8gSGlkZSB0YXAgb24gdG91Y2ggZGV2aWNlcy5cblx0QG1lZGlhIChtYXgtd2lkdGggOiA5NTlweCkge1xuXHRcdCoge1xuXHRcdFx0LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApO1xuXHRcdH1cblx0fVxufVxuXG5pbWcsXG5vYmplY3QsXG5lbWJlZCB7XG5cdG1heC13aWR0aDogMTAwJTtcblx0aGVpZ2h0OiBhdXRvO1xufVxuXG5ibG9ja3F1b3RlLCBxIHtcblx0cXVvdGVzOm5vbmU7XG59XG5cbmJsb2NrcXVvdGU6YmVmb3JlLFxuYmxvY2txdW90ZTphZnRlcixcbnE6YmVmb3JlLFxucTphZnRlciB7XG5cdGNvbnRlbnQ6ICcnO1xuXHRjb250ZW50OiBub25lO1xufVxuXG5hIHtcblx0bWFyZ2luOiAwO1xuXHRwYWRkaW5nOiAwO1xuXHRmb250LXNpemU6IDEwMCU7XG5cdHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcblx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG5cbmRlbCB7XG5cdHRleHQtZGVjb3JhdGlvbjogbGluZS10aHJvdWdoO1xufVxuXG5hYmJyW3RpdGxlXSwgZGZuW3RpdGxlXSB7XG5cdGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQ7XG5cdGN1cnNvcjogaGVscDtcbn1cblxuaSxcbmVtIHtcblx0Zm9udC1zdHlsZTogaXRhbGljO1xufVxuXG5iLFxuc3Ryb25nIHtcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbnEge1xuXHRcdHF1b3RlczogXCJcXDIwMUNcIiBcIlxcMjAxRFwiIFwiXFwyMDE4XCIgXCJcXDIwMTlcIjtcbn1cblxudGFibGUge1xuXHRib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuXHRib3JkZXItc3BhY2luZzogMDtcblx0Zm9udC1zaXplOiBpbmhlcml0O1xuXHRmb250OiAxMDAlO1xufVxuXG50aCB7XG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHR2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xufVxuXG50ZCB7XG5cdGZvbnQtd2VpZ2h0OiBub3JtYWw7XG5cdHZlcnRpY2FsLWFsaWduOiB0b3A7XG59XG5cbmlucHV0LFxuc2VsZWN0IHtcblx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuaW5wdXRbdHlwZT1zZWFyY2hdIHtcblx0LXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG5cdC13ZWJraXQtYm94LXNpemluZzogY29udGVudC1ib3g7XG5cdCY6Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG5cdCY6Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24sXG5cdCY6Oi13ZWJraXQtc2VhcmNoLXJlc3VsdHMtYnV0dG9uLFxuXHQmOjotd2Via2l0LXNlYXJjaC1yZXN1bHRzLWRlY29yYXRpb24ge1xuXHRcdC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcblx0fVxufVxuXG5maWVsZHNldCB7XG5cdFx0Ym9yZGVyOiAxcHggc29saWQgI2MwYzBjMDtcblx0XHRtYXJnaW46IDAgMnB4O1xuXHRcdHBhZGRpbmc6IDAuMzVlbSAwLjYyNWVtIDAuNzVlbTtcbn1cblxuYnV0dG9uLFxuaW5wdXQsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG5cdFx0Zm9udC1mYW1pbHk6IGluaGVyaXQ7XG5cdFx0Zm9udC1zaXplOiAxMDAlO1xuXHRcdG1hcmdpbjogMDtcbn1cblxuc3ViLFxuc3VwIHtcblx0Zm9udC1zaXplOiA3NSU7XG5cdGxpbmUtaGVpZ2h0OiAwO1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbnN1cCB7XG5cdHRvcDogLTAuNWVtO1xufVxuXG5zdWIge1xuXHRib3R0b206IC0wLjI1ZW07XG59XG5cbm1hcmsge1xuXHRcdGJhY2tncm91bmQ6ICNmZjA7XG5cdFx0Y29sb3I6ICMwMDA7XG59XG5cbnByZSB7XG5cdHdoaXRlLXNwYWNlOiBwcmU7XG5cdHdoaXRlLXNwYWNlOiBwcmUtd3JhcDtcblx0d2hpdGUtc3BhY2U6IHByZS1saW5lO1xuXHR3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG59XG5cbnByZSxcbmNvZGUsXG5rYmQsXG5zYW1wIHtcblx0Zm9udC1mYW1pbHk6IG1vbm9zcGFjZSxcblx0c2Fucy1zZXJpZjtcbn1cbiIsIi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBDT0xPUlNcbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBDb2xvciBNYXBcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRjb2xvcnM6IChcblx0YmxhY2s6ICMyQzNFNTAsXG5cdHdoaXRlOiAjZmZmLFxuXHRyZWQ6IChcblx0XHRiYXNlOiAjYjAyNjJlLFxuXHRcdGRhcms6ICM4OTA2MGVcblx0KSxcblx0YnJvd246IChcblx0XHRiYXNlOiAjNGYyYjFjLFxuXHRcdGRhcms6ICMzYjIwMTRcblx0KSxcblx0Z29sZDogI2ZmYzQyNixcblx0dGFuOiAoXG5cdFx0YmFzZTogI2RlZDJiMixcblx0XHRsaWdodDogI2Y1ZWRkOSxcblx0XHRkYXJrOiAjYzhiYjk4XG5cdCksXG5cdHN0ZWVsOiAjYjJiZmJiLFxuXHRlcnJvcjogI2YzMWY0Nyxcbik7XG5cbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBzZXRjb2xvciBGdW5jdGlvblxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLyoqIFJldHVybnMgYSBjb2xvciB3aXRoIGFuIG9wdGlvbmFsIHRvbmUgZnJvbSB0aGUgbWFwXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9ICAkY29sb3JfbmFtZSAgICAgVGhlIGJhc2UgbmFtZSBvZiB0aGUgY29sb3JcbiAqIEBwYXJhbSB7dG9uZX0gICAgKCR0b25lfCdiYXNlJykgIFRoZSB0b25lIG9mIHRoYXQgY29sb3Igb3IgJ2Jhc2UnXG4gKlxuICogQHJldHVybiB7c3RyaW5nfSBUaGUgbWF0Y2hpbmcgY29sb3IncyB2YWx1ZSBmcm9tIHRoZSBtYXBcbiAqL1xuQGZ1bmN0aW9uIHNldGNvbG9yKCRjb2xvcl9uYW1lLCAkdG9uZTogYmFzZSkge1xuXHRAaWYgbWFwLWhhcy1rZXkoJGNvbG9ycywgJGNvbG9yX25hbWUpIHtcblx0XHQkbWFwX2NvbG9yX25hbWU6IG1hcC1nZXQoJGNvbG9ycywgJGNvbG9yX25hbWUpO1xuXG5cdFx0QGlmIChsZW5ndGgoJG1hcF9jb2xvcl9uYW1lKSA+IDEpIHsgLy8gVGhpcyBtdXN0IGJlIGEgbWFwXG5cdFx0XHRAcmV0dXJuIG1hcC1nZXQoJG1hcF9jb2xvcl9uYW1lLCAkdG9uZSk7XG5cdFx0fSBAZWxzZSB7IC8vIEl0J3MganVzdCBhIHNpbmdsZSBjb2xvclxuXHRcdFx0QHJldHVybiAkbWFwX2NvbG9yX25hbWU7XG5cdFx0fVxuXHR9IEBlbHNlIHtcblx0XHRAd2FybiBcIkNvdWxkbid0IGZpbmQgYSBjb2xvciBuYW1lZCBgI3skY29sb3JfbmFtZX1gLlwiO1xuXHR9XG59XG4iLCIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gRXh0ZW5kIEFkbWluIFd5c2l3eWcgU3R5bGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5ib2R5I3RpbnltY2Uud3AtZWRpdG9yIHtcbiAgQGV4dGVuZCAld3lzaXd5ZztcbiAgbWFyZ2luOiAxMHB4O1xufVxuXG4iLCIvLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gSkFWQVNDUklQVCBCUkVBS1BPSU5UU1xuLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gRG8gbm8gZWRpdCB1bmxlc3MgeW91IGtub3cgd2hhdCB5b3UgYXJlIGRvaW5nLlxuXG4kcHVibGljX2JyZWFrcG9pbnRzOiAoXG4gICdtcS10aW55JzogICAgICAnbWF4LXRpbnknLFxuICAnbXEtbWluaSc6ICAgICAgJ21pbmknLFxuICAnbXEtc21hbGwnOiAgICAgJ3NtYWxsJyxcbiAgJ21xLW1lZGl1bSc6ICAgICdtZWRpdW0nLFxuICAnbXEtbGFyZ2UnOiAgICAgJ2xhcmdlJyxcbiAgJ21xLXhsYXJnZSc6ICAgICd4bGFyZ2UnLFxuICAnbXEteHhsYXJnZSc6ICAgJ3h4bGFyZ2UnLFxuICAnbXEteHh4bGFyZ2UnOiAgJ3h4eGxhcmdlJ1xuKTtcblxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFNldHVwIG1peGluc1xuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gVGVsbHMgU2Fzc1F3YXRjaCB0aGUgbmFtZXMgb2Ygb3VyIGJyZWFrcG9pbnRzXG5AbWl4aW4gZXhwb3NlLWJyZWFrcG9pbnQtbmFtZXMoJGJyZWFrcG9pbnRzKSB7XG4gIEBlYWNoICRwdWJsaWMsICRtcSBpbiAkYnJlYWtwb2ludHMge1xuICAgIEBpbmNsdWRlIG1xKCRtcSkge1xuICAgICAgZm9udC1mYW1pbHk6ICRwdWJsaWM7XG4gICAgfVxuICB9XG59XG5cbi8vIFRlbGxzIFNhc3NRd2F0Y2ggdGhlIG9yZGVyIG9mIG91ciBicmVha3BvaW50c1xuQG1peGluIGV4cG9zZS1icmVha3BvaW50LW9yZGVyKCRicmVha3BvaW50cykge1xuICAkbGVuZ3RoOiBsZW5ndGgoJGJyZWFrcG9pbnRzKTtcbiAgJGxpc3Q6ICcnO1xuICAkaTogMTtcblxuICBAZWFjaCAkYnJlYWtwb2ludCwgJHF1ZXJ5IGluICRicmVha3BvaW50cyB7XG4gICAgJGxpc3Q6ICRsaXN0ICsgJGJyZWFrcG9pbnQ7XG5cbiAgICBAaWYgJGkgIT0gJGxlbmd0aCB7XG4gICAgICAkbGlzdDogJGxpc3QgKyAnLCAnO1xuICAgIH1cblxuICAgICRpOiAkaSArIDE7XG4gIH1cbiAgZm9udC1mYW1pbHk6ICRsaXN0O1xufVxuXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gRXhwb3NlIHRoZSBicmVha3BvaW50c1xuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbmhlYWQge1xuICBAaW5jbHVkZSBleHBvc2UtYnJlYWtwb2ludC1uYW1lcygkcHVibGljX2JyZWFrcG9pbnRzKTtcbn1cblxudGl0bGUge1xuICBAaW5jbHVkZSBleHBvc2UtYnJlYWtwb2ludC1vcmRlcigkcHVibGljX2JyZWFrcG9pbnRzKTtcbn0iLCIvLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gVVRJTElUSUVTXG4vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBGb250LXNtb290aGluZyBmb3IgT1NYXG5AbWl4aW4gZm9udC1zbW9vdGhpbmcge1xuXHQtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcblx0LW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcblx0dGV4dC1zaGFkb3c6IDFweCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgMC4wMDQpO1xufVxuXG4vLyBSZW1vdmUgZm9udC1zbW9vdGhpbmcgaWYgbm90IG5lY2Vzc2FyeVxuQG1peGluIG5vLWZvbnQtc21vb3RoaW5nIHtcblx0LXdlYmtpdC1mb250LXNtb290aGluZzogc3VicGl4ZWwtYW50aWFsaWFzZWQ7XG5cdC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBhdXRvO1xuXHR0ZXh0LXNoYWRvdzogbm9uZTtcbn1cblxuLy8gQWJzb2x1dGUgY2VudGVyIGNvbnRlbnRcbiVhYnMtY2VudGVyIHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdHRvcDogNTAlO1xuXHRsZWZ0OiA1MCU7XG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xufVxuXG4vLyBBYnNvbHV0ZSBDZW50ZXIgVmVydGljYWxseSAoaWU5Kylcbi8vIFBhcmVudCBjb250YWluZXIgd2lsbCBuZWVkIHRvIGhhdmUgYSBoZWlnaHQgZm9yIGl0IHRvIHdvcmsuXG4lYWJzLWNlbnRlci12ZXJ0aWNhbCB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHR0b3A6IDUwJTtcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xufVxuXG4vLyBBYnNvbHV0ZSBDZW50ZXIgSG9yaXpvbnRhbGx5IChpZTkrKVxuLy8gUGFyZW50IGNvbnRhaW5lciB3aWxsIG5lZWQgdG8gaGF2ZSBhIGhlaWdodCBmb3IgaXQgdG8gd29yay5cbiVhYnMtY2VudGVyLWhvcml6b250YWwge1xuXHRkaXNwbGF5OiBibG9jaztcblx0bGVmdDogNTAlO1xuXHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG59XG5cbi8vIFZpc3VhbGx5IGhpZGUgZWxlbWVudHMgd2hpbGUgYXQgdGhlIHNhbWUgdGltZSBtYWtlIHRoZW0gYWNjZXNzaWJsZSBvbiBzY3JlZW4gcmVhZGVyc1xuJXZpc3VhbGx5LWhpZGRlbiB7XG5cdG1hcmdpbjogLTFweDtcblx0cGFkZGluZzogMDtcblx0d2lkdGg6IDFweDtcblx0aGVpZ2h0OiAxcHg7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdGNsaXA6IHJlY3QoMCAwIDAgMCk7XG5cdGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcbn1cblxuLy8gRWxsaXBzaXNcbiVlbGxpcHNpcyB7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xufVxuXG4vLyBSZW1vdmUgYWxsIGxpc3Qgc3R5bGluZ1xuLy8gZXg6IEBleHRlbmQgJW5ha2VkLWxpc3RcbiVuYWtlZC1saXN0IHtcblx0bGlzdC1zdHlsZTogbm9uZTtcblx0cGFkZGluZzogMDtcblx0bWFyZ2luOiAwO1xufVxuXG4vLyBSZW1vdmUgYWxsIGJ1dHRvbiBzdHlsaW5nIGFuZCByZXNldCBpdCB0byBkZWZhdWx0XG4vLyBleDogQGV4dGVuZCAlbmFrZWQtYnV0dG9uXG4lbmFrZWQtYnV0dG9uIHtcblx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG5cdG91dGxpbmU6IG5vbmU7XG5cdGJvcmRlcjogMDtcblx0cGFkZGluZzogMDtcblx0bWFyZ2luOiAwO1xuXHRmb250LXNpemU6IDFlbTtcblx0Y3Vyc29yOiBwb2ludGVyO1xufVxuXG5cbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBMYXlvdXRcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIG1heC13aWR0aCBjb250YWluZXIgd2l0aCBtdWx0aXBsZSBvcHRpb25zLCBzZWUgdmFyaWFibGVzIGZvciBvcHRpb25zXG4vLyBleDogQGluY2x1ZGUgcm93KG1lZGl1bSlcbkBtaXhpbiByb3coJHdpZHRoOiBmYWxzZSkge1xuXHRAaWYgJHdpZHRoID09IGZhbHNlIHtcblx0XHRtYXgtd2lkdGg6ICRtYXgtd2lkdGg7XG5cdH1cblx0QGlmICR3aWR0aCA9PSBzbWFsbCB7XG5cdFx0bWF4LXdpZHRoOiAkbWF4LXdpZHRoLXNtYWxsO1xuXHR9XG5cdEBpZiAkd2lkdGggPT0gbWVkaXVtIHtcblx0XHRtYXgtd2lkdGg6ICRtYXgtd2lkdGgtbWVkaXVtO1xuXHR9XG5cdEBpZiAkd2lkdGggPT0gbGFyZ2Uge1xuXHRcdG1heC13aWR0aDogJG1heC13aWR0aC1sYXJnZTtcblx0fVxuXHR3aWR0aDogMTAwJTtcblx0bWFyZ2luOiAwIGF1dG87XG59XG5cbi8vIGd1dHRlciBiZXR3ZWVuIGNvbHVtbnMsIHNlZSB2YXJpYWJsZXMgZm9yIG9wdGlvbnNcbi8vIGV4OiBAaW5jbHVkZSBndXR0ZXIgb3IgQGluY2x1ZGUgZ3V0dGVyKGxhcmdlKVxuQG1peGluIGNvbnRhaW5lcigkc2l6ZTogZmFsc2UpIHtcblx0QGlmICRzaXplID09IHNtYWxsIHtcblx0XHRwYWRkaW5nLWxlZnQ6ICRndXR0ZXItc21hbGw7XG5cdFx0cGFkZGluZy1yaWdodDogJGd1dHRlci1zbWFsbDtcblx0fSBAZWxzZSB7XG5cdFx0cGFkZGluZy1sZWZ0OiAkZ3V0dGVyLXNtYWxsO1xuXHRcdHBhZGRpbmctcmlnaHQ6ICRndXR0ZXItc21hbGw7XG5cblx0XHRAaW5jbHVkZSBtcShtZWRpdW0pIHtcblx0XHRcdHBhZGRpbmctbGVmdDogJGd1dHRlcjtcblx0XHRcdHBhZGRpbmctcmlnaHQ6ICRndXR0ZXI7XG5cdFx0fVxuXG5cdFx0QGluY2x1ZGUgbXEoeGxhcmdlKSB7XG5cdFx0XHRwYWRkaW5nLWxlZnQ6ICRndXR0ZXItbGFyZ2U7XG5cdFx0XHRwYWRkaW5nLXJpZ2h0OiAkZ3V0dGVyLWxhcmdlO1xuXHRcdH1cblx0fVxufVxuXG5cblxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIENyb3NzIEJyb3dzZXIgKGxlZ2FjeSlcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIENyb3NzLWJyb3dzZXIgYWxwaGEgdHJhbnNwYXJlbmN5IGZvciBvbGQgSUVcbkBtaXhpbiByZ2JhKCRjb2xvciwgJGFscGhhKSB7XG5cdCRyZ2JhOiByZ2JhKCRjb2xvciwgJGFscGhhKTtcblx0JGllLWhleC1zdHI6IGllLWhleC1zdHIoJHJnYmEpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0YmFja2dyb3VuZC1jb2xvcjogJHJnYmE7XG5cdGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KHN0YXJ0Q29sb3JzdHI9I3skaWUtaGV4LXN0cn0sZW5kQ29sb3JzdHI9I3skaWUtaGV4LXN0cn0pO1xuXHR6b29tOiAxO1xufVxuXG4vLyBDcm9zcy1icm93c2VyIG9wYWNpdHkgZm9yIG9sZCBJRVxuQG1peGluIG9wYWNpdHkoJGFscGhhKSB7XG5cdG9wYWNpdHk6ICRhbHBoYTtcblx0LW1zLWZpbHRlcjpcInByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5BbHBoYShPcGFjaXR5PSRhbHBoYSoxMDApXCI7XG5cdGZpbHRlcjogYWxwaGEob3BhY2l0eT0kYWxwaGEqMTAwKTtcbn1cblxuLy8gQ3Jvc3MtYnJvd3NlciBiYWNrZ3JvdW5kLWNvdmVyIGZvciBvbGQgSUVcbi8vIGV4OiBAZXh0ZW5kICViZy1jb3ZlclxuLy8gaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2xvdWlzcmVtaS9iYWNrZ3JvdW5kLXNpemUtcG9seWZpbGwvZ2gtcGFnZXMvYmFja2dyb3VuZHNpemUubWluLmh0Y1xuJWJnLWNvdmVyIHtcblx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0YmFja2dyb3VuZC1zaXplOiBjb3Zlcjtcblx0LW1zLWJlaGF2aW9yOiB1cmwoJ2Fzc2V0cy9pbWFnZXMvYmFja2dyb3VuZHNpemUubWluLmh0YycpO1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xufVxuXG5cbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBDbGVhcmZpeFxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJWNmIHtcblx0em9vbTogMTtcblx0JjpiZWZvcmUsXG5cdCY6YWZ0ZXIge1xuXHRcdGNvbnRlbnQ6IFwiXFwwMDIwXCI7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0aGVpZ2h0OiAwO1xuXHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdH1cblx0JjphZnRlciB7XG5cdFx0Y2xlYXI6IGJvdGg7XG5cdH1cbn1cblxuQG1peGluIGNmIHtcblx0em9vbTogMTtcblx0JjpiZWZvcmUsXG5cdCY6YWZ0ZXIge1xuXHRcdGNvbnRlbnQ6IFwiXFwwMDIwXCI7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0aGVpZ2h0OiAwO1xuXHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdH1cblx0JjphZnRlciB7XG5cdFx0Y2xlYXI6IGJvdGg7XG5cdH1cbn1cblxuXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQ2xhc3MgSGVscGVyc1xuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gQ2xlYXIgY2xhc3MgaGVscGVyc1xuLmNmLFxuLmNsZWFyLFxuLmNsZWFyZml4IHtcblx0QGV4dGVuZCAlY2Y7XG59XG5cbi8vIFZpc3VhbGx5IGhpZGUgZWxlbWVudHMgd2hpbGUgYXQgdGhlIHNhbWUgdGltZSBtYWtlIHRoZW0gYWNjZXNzaWJsZSBvbiBzY3JlZW4gcmVhZGVyc1xuLnZpc3VhbGx5LWhpZGRlbiB7XG5cdEBleHRlbmQgJXZpc3VhbGx5LWhpZGRlbjtcbn1cbiIsIi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBTWU1CT0xTXG4vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AZm9udC1mYWNlIHtcblx0Zm9udC1mYW1pbHk6IFwic3ltYm9sc1wiO1xuXHRzcmM6IHVybCgnYXNzZXRzL2ZvbnRzL3N5bWJvbHMvc3ltYm9scy5lb3QnKTtcblx0c3JjOiB1cmwoJ2Fzc2V0cy9mb250cy9zeW1ib2xzL3N5bWJvbHMuZW90PyNpZWZpeCcpIGZvcm1hdCgnZW90JyksXG5cdFx0dXJsKCdhc3NldHMvZm9udHMvc3ltYm9scy9zeW1ib2xzLndvZmYnKSBmb3JtYXQoJ3dvZmYnKSxcblx0XHR1cmwoJ2Fzc2V0cy9mb250cy9zeW1ib2xzL3N5bWJvbHMudHRmJykgZm9ybWF0KCd0cnVldHlwZScpLFxuXHRcdHVybCgnYXNzZXRzL2ZvbnRzL3N5bWJvbHMvc3ltYm9scy5zdmcjc3ltYm9scycpIGZvcm1hdCgnc3ZnJyk7XG5cdGZvbnQtd2VpZ2h0OiBub3JtYWw7XG5cdGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuLy8gU3ltYm9scyBwbGFjZWhvbGRlciB0byBleHRlbmQgaW5zaWRlIHRoZSBtaXhpbi5cbiVzeW1ib2xzIHtcblx0Zm9udC1mYW1pbHk6IFwic3ltYm9sc1wiO1xuXHR3aWR0aDogMWVtO1xuXHRtYXJnaW46IDA7XG5cdGZvbnQtc3R5bGU6IG5vcm1hbDtcblx0Zm9udC13ZWlnaHQ6IG5vcm1hbDtcblx0Zm9udC12YXJpYW50OiBub3JtYWw7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0dGV4dC1kZWNvcmF0aW9uOiBpbmhlcml0O1xuXHR0ZXh0LXRyYW5zZm9ybTogbm9uZTtcblx0bGluZS1oZWlnaHQ6IDFlbTtcblx0c3BlYWs6IG5vbmU7XG59XG5cbi8vIFN0eWxlcyBhcHBsaWVkIHRvIHRoZSAuc3ltYm9sIGNsYXNzIHdoZW4gYWRkaW5nIHN5bWJvbHMgdG8gdGhlIG1hcmt1cC5cbi5zeW1ib2w6YmVmb3JlIHtcblx0Zm9udC1mYW1pbHk6IFwic3ltYm9sc1wiO1xuXHR3aWR0aDogMWVtO1xuXHRtYXJnaW46IDA7XG5cdGZvbnQtc3R5bGU6IG5vcm1hbDtcblx0Zm9udC13ZWlnaHQ6IG5vcm1hbDtcblx0Zm9udC12YXJpYW50OiBub3JtYWw7XG5cdHRleHQtYWxpZ246IGNlbnRlcjtcblx0dGV4dC1kZWNvcmF0aW9uOiBpbmhlcml0O1xuXHR0ZXh0LXRyYW5zZm9ybTogbm9uZTtcblx0bGluZS1oZWlnaHQ6IDFlbTtcblx0c3BlYWs6IG5vbmU7XG59XG5cbi8vIE1peGluIHRvIGFkZCBpbiB5b3VyIG93biBzeW1ib2wgdGhyb3VnaCB0aGUgY3NzLlxuLy8gVGhlIG1peGluIG9ubHkgd29ya3Mgd2l0aCA6cHNldWRvXG5AbWl4aW4gc3ltYm9scygkc3ltYm9sOiBmYWxzZSkge1xuXHRAZXh0ZW5kICVzeW1ib2xzO1xuXG5cdEBpZiAkc3ltYm9sID09IFwiYWxlcnRcIiB7XG5cdFx0Y29udGVudDogJ1xcRTAwMSc7XG5cdH1cblx0QGlmICRzeW1ib2wgPT0gXCJhcnJvdy1kb3duXCIge1xuXHRcdGNvbnRlbnQ6ICdcXEUwMDInO1xuXHR9XG5cdEBpZiAkc3ltYm9sID09IFwiYXJyb3ctcmlnaHRcIiB7XG5cdFx0Y29udGVudDogJ1xcRTAwMyc7XG5cdH1cblx0QGlmICRzeW1ib2wgPT0gXCJhcnJvdy11cFwiIHtcblx0XHRjb250ZW50OiAnXFxFMDA0Jztcblx0fVxuXHRAaWYgJHN5bWJvbCA9PSBcImNoZWNrXCIge1xuXHRcdGNvbnRlbnQ6ICdcXEUwMDUnO1xuXHR9XG5cdEBpZiAkc3ltYm9sID09IFwiY2xvc2VcIiB7XG5cdFx0Y29udGVudDogJ1xcRTAwNic7XG5cdH1cblx0QGlmICRzeW1ib2wgPT0gXCJmYWNlYm9va1wiIHtcblx0XHRjb250ZW50OiAnXFxFMDA3Jztcblx0fVxuXHRAaWYgJHN5bWJvbCA9PSBcImluc3RhZ3JhbVwiIHtcblx0XHRjb250ZW50OiAnXFxFMDA4Jztcblx0fVxuXHRAaWYgJHN5bWJvbCA9PSBcImxvY2F0aW9uXCIge1xuXHRcdGNvbnRlbnQ6ICdcXEUwMDknO1xuXHR9XG5cdEBpZiAkc3ltYm9sID09IFwibWFnbmlmeVwiIHtcblx0XHRjb250ZW50OiAnXFxFMDBBJztcblx0fVxuXHRAaWYgJHN5bWJvbCA9PSBcInBpbnRlcmVzdFwiIHtcblx0XHRjb250ZW50OiAnXFxFMDBCJztcblx0fVxuXHRAaWYgJHN5bWJvbCA9PSBcInBsYXlcIiB7XG5cdFx0Y29udGVudDogJ1xcRTAwQyc7XG5cdH1cblx0QGlmICRzeW1ib2wgPT0gXCJwcmludGVyXCIge1xuXHRcdGNvbnRlbnQ6ICdcXEUwMEQnO1xuXHR9XG5cdEBpZiAkc3ltYm9sID09IFwic2VhcmNoXCIge1xuXHRcdGNvbnRlbnQ6ICdcXEUwMEUnO1xuXHR9XG5cdEBpZiAkc3ltYm9sID09IFwic3BpY3lcIiB7XG5cdFx0Y29udGVudDogJ1xcRTAwRic7XG5cdH1cblx0QGlmICRzeW1ib2wgPT0gXCJ0dW1ibHJcIiB7XG5cdFx0Y29udGVudDogJ1xcRTAxMCc7XG5cdH1cblx0QGlmICRzeW1ib2wgPT0gXCJ0d2l0dGVyXCIge1xuXHRcdGNvbnRlbnQ6ICdcXEUwMTEnO1xuXHR9XG5cdEBpZiAkc3ltYm9sID09IFwidmVnZ2llXCIge1xuXHRcdGNvbnRlbnQ6ICdcXEUwMTInO1xuXHR9XG59XG5cbi8vIEluZGl2aWR1YWwgQ1NTIHN0eWxlcyBmb3Igd2hlbiB5b3UgY2FsbCBieSB0aGUgY2xhc3MgbmFtZSBpbiBtYXJrdXAuXG4ucy1hbGVydDpiZWZvcmUgeyBjb250ZW50OiBcIlxcRTAwMVwiIH1cbi5zLWFycm93LWRvd246YmVmb3JlIHsgY29udGVudDogXCJcXEUwMDJcIiB9XG4ucy1hcnJvdy1yaWdodDpiZWZvcmUgeyBjb250ZW50OiBcIlxcRTAwM1wiIH1cbi5zLWFycm93LXVwOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxFMDA0XCIgfVxuLnMtY2hlY2s6YmVmb3JlIHsgY29udGVudDogXCJcXEUwMDVcIiB9XG4ucy1jbG9zZTpiZWZvcmUgeyBjb250ZW50OiBcIlxcRTAwNlwiIH1cbi5zLWZhY2Vib29rOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxFMDA3XCIgfVxuLnMtaW5zdGFncmFtOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxFMDA4XCIgfVxuLnMtbG9jYXRpb246YmVmb3JlIHsgY29udGVudDogXCJcXEUwMDlcIiB9XG4ucy1tYWduaWZ5OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxFMDBBXCIgfVxuLnMtcGludGVyZXN0OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxFMDBCXCIgfVxuLnMtcGxheTpiZWZvcmUgeyBjb250ZW50OiBcIlxcRTAwQ1wiIH1cbi5zLXByaW50ZXI6YmVmb3JlIHsgY29udGVudDogXCJcXEUwMERcIiB9XG4ucy1zZWFyY2g6YmVmb3JlIHsgY29udGVudDogXCJcXEUwMEVcIiB9XG4ucy1zcGljeTpiZWZvcmUgeyBjb250ZW50OiBcIlxcRTAwRlwiIH1cbi5zLXR1bWJscjpiZWZvcmUgeyBjb250ZW50OiBcIlxcRTAxMFwiIH1cbi5zLXR3aXR0ZXI6YmVmb3JlIHsgY29udGVudDogXCJcXEUwMTFcIiB9XG4ucy12ZWdnaWU6YmVmb3JlIHsgY29udGVudDogXCJcXEUwMTJcIiB9IiwiLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFNQUklURVNcbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEluZGl2aWR1YWwgdmFyaWFibGVzXG4kYWlyOiAtMTAwcHggLTBweCA5MHB4IDc0cHg7XG4kc3VuOiAtMHB4IC0wcHggMTAwcHggMTAwcHg7XG5cbi8vIE1peGluc1xuQG1peGluIHNwcml0ZS13aWR0aCgkc3ByaXRlKSB7XG4gIHdpZHRoOiBudGgoJHNwcml0ZSwgMylcbn1cbkBtaXhpbiBzcHJpdGUtaGVpZ2h0KCRzcHJpdGUpIHtcbiAgaGVpZ2h0OiBudGgoJHNwcml0ZSwgNClcbn1cblxuLy8gRnVuY3Rpb25zXG5AZnVuY3Rpb24gc3ByaXRlLXdpZHRoKCRzcHJpdGUpIHtcbiAgQHJldHVybiBudGgoJHNwcml0ZSwgMyk7XG59XG5AZnVuY3Rpb24gc3ByaXRlLWhlaWdodCgkc3ByaXRlKSB7XG4gIEByZXR1cm4gbnRoKCRzcHJpdGUsIDQpO1xufVxuXG4vLyBQb3NpdGlvbmluZ1xuQG1peGluIHNwcml0ZS1wb3NpdGlvbigkc3ByaXRlKSB7XG4gICRzcHJpdGUtb2Zmc2V0LXg6IG50aCgkc3ByaXRlLCAxKTtcbiAgJHNwcml0ZS1vZmZzZXQteTogbnRoKCRzcHJpdGUsIDIpO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAkc3ByaXRlLW9mZnNldC14ICRzcHJpdGUtb2Zmc2V0LXk7XG59XG5cbi8vIFNwcml0ZSBNaXhpblxuQG1peGluIHNwcml0ZSgkc3ByaXRlLCAkZGlzcGxheTogYmxvY2spIHtcbiAgQGluY2x1ZGUgc3ByaXRlLXBvc2l0aW9uKCRzcHJpdGUpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBkaXNwbGF5OiAkZGlzcGxheTtcbiAgQGluY2x1ZGUgc3ByaXRlLXdpZHRoKCRzcHJpdGUpO1xuICBAaW5jbHVkZSBzcHJpdGUtaGVpZ2h0KCRzcHJpdGUpO1xufVxuXG4vLyBAZXh0ZW5kIHRoZXNlIHRvIHB1bGwgaW4gdGhlIGJhY2tncm91bmQgaW1hZ2Vcbi5zcHJpdGUtc2FtcGxlIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2Fzc2V0cy9pbWFnZXMvc3ByaXRlcy9zcHJpdGUtc2FtcGxlLnBuZycpO1xuICB9XG5AbWVkaWEgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksIChtaW4tcmVzb2x1dGlvbjogNzJkcGkpIHtcbi5zcHJpdGUtc2FtcGxlIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2Fzc2V0cy9pbWFnZXMvc3ByaXRlcy9zcHJpdGUtc2FtcGxlQDJ4LnBuZycpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogMTkwcHggMTAwcHg7XG4gIH1cbn1cblxuIiwiLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEVYVEVORFMgJiBQTEFDRUhPTERFUlNcbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIE1heC13aWR0aCBDb250YWluZXIgLSB5b3UgY2FuIGFsc28gdXNlIGNsYXNzIC5yb3cgdG8gYWNjb21wbGlzaCB0aGUgc2FtZSBpZiB5b3UgYXJlIHVzaW5nIHRoZSByZXNwb25zaXZlIGdyaWQuXG4lcm93IHtcblx0QGluY2x1ZGUgcm93O1xuXHRAaW5jbHVkZSBjb250YWluZXI7XG5cdEBpbmNsdWRlIGNmO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gTWlzYyAlcGxhY2Vob2xkZXJzXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4lbW9kdWxlLXBhZGRpbmcge1xuXHRwYWRkaW5nLXRvcDogcmVtKDkwcHgpO1xuXHRwYWRkaW5nLWJvdHRvbTogcmVtKDkwcHgpO1xufVxuXG4ldGV4dC1zaGFkb3cge1xuXHR0ZXh0LXNoYWRvdzogMHB4IDBweCA3cHggcmdiYSgjMDAwLCAuNTIpO1xufVxuXG5cbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBQYXJhZ3JhcGggU2l6aW5nXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4ldHlwZS1tZWRpdW0ge1xuXHRAaW5jbHVkZSB0eXBlKDE2LCAyNCk7XG59XG5cbiV0eXBlLWxhcmdlIHtcblx0QGluY2x1ZGUgdHlwZSgxNywgMjgpO1xuXHRAaW5jbHVkZSBtcShsYXJnZSkge1xuXHRcdEBpbmNsdWRlIHR5cGUoMjAsIDMzKTtcblx0fVxufVxuXG4lcDEge1xuXHRAaW5jbHVkZSBzZXRmb250KGRpc3RyaWN0KTtcblx0QGluY2x1ZGUgdHlwZSgxOCwgMjYpO1xufVxuXG4lcDIge1xuXHRAaW5jbHVkZSBzZXRmb250KGRpc3RyaWN0KTtcblx0QGluY2x1ZGUgdHlwZSgxMiwgMTgpO1xufVxuXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gR2xvYmFsIEhlYWRsaW5lc1xuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gJWhzaXplLXNtYWxsIHtcbi8vIFx0QGluY2x1ZGUgbXEobWVkaXVtKSB7XG4vLyBcdFx0QGluY2x1ZGUgdHlwZSgxOSwgMjgpO1xuLy8gXHR9XG4vLyB9XG5cbi8vICVoc2l6ZS1tZWRpdW0ge1xuLy8gXHRAaW5jbHVkZSB0eXBlKDE5LCAyOCk7XG4vLyBcdEBpbmNsdWRlIG1xKG1lZGl1bSkge1xuLy8gXHRcdEBpbmNsdWRlIHR5cGUoMjgsIDQwKTtcbi8vIFx0fVxuLy8gfVxuXG4vLyAlaHNpemUtbGFyZ2Uge1xuLy8gXHRAaW5jbHVkZSB0eXBlKDIzLCAzMyk7XG4vLyBcdEBpbmNsdWRlIG1xKG1lZGl1bSkge1xuLy8gXHRcdEBpbmNsdWRlIHR5cGUoMzMsIDQ4KTtcbi8vIFx0fVxuLy8gfVxuXG4laDEge1xuXHQvLyBAaW5jbHVkZSBzZXRmb250KHppZ2d1cmF0LCB3ZWlnaHQpO1xuXHRmb250LXNpemU6IHJlbSgzNnB4KTtcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuXHRAaW5jbHVkZSBtcShzbWFsbCkge1xuXHRcdGZvbnQtc2l6ZTogcmVtKDQ4cHgpO1xuXHR9XG5cblx0QGluY2x1ZGUgbXEobGFyZ2UpIHtcblx0XHRmb250LXNpemU6IHJlbSg3MnB4KTtcblx0fVxufVxuXG4laGVyby1oMiB7XG5cdEBpbmNsdWRlIHNldGZvbnQoJ2Rpc3RyaWN0IGJvbGQnKTtcblx0Zm9udC1zaXplOiByZW0oMjRweCk7XG5cblx0QGluY2x1ZGUgbXEoc21hbGwpIHtcblx0XHRmb250LXNpemU6IHJlbSgyOHB4KTtcblx0fVxuXG5cdEBpbmNsdWRlIG1xKGxhcmdlKSB7XG5cdFx0Zm9udC1zaXplOiByZW0oMzJweCk7XG5cdH1cbn1cblxuJWg0IHtcblx0QGluY2x1ZGUgc2V0Zm9udCgnZGlzdHJpY3QgYm9sZCcpO1xuXHRmb250LXNpemU6IHJlbSgxOHB4KTtcbn1cblxuJWg1IHtcblx0QGluY2x1ZGUgc2V0Zm9udCgnZGlzdHJpY3QgYm9sZCcpO1xuXHRmb250LXNpemU6IHJlbSgxNHB4KTtcbn1cblxuJWZlYXR1cmVkLWhlYWRpbmcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIEBpbmNsdWRlIHNldGZvbnQoJ2tub2Nrb3V0Jyk7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC1zaXplOiByZW0oMjhweCk7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtKDE1cHgpO1xuXG4gICAgQGluY2x1ZGUgbXEobWVkaXVtKSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbSgyMHB4KTtcbiAgICAgICAgZm9udC1zaXplOiByZW0oMzJweCk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbXEobGFyZ2UpIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0oMzZweCk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbSgzMHB4KTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtcSh4bGFyZ2UpIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0oNDJweCk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbXEocHJpbnQpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgZm9udC1zaXplOiByZW0oMjRweCk7XG4gICAgfVxuXG4gICAgc3BhbiB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG5cbiAgICBzcGFuLmxlZnQsXG4gICAgc3Bhbi5yaWdodCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgc3Bhbi50aXRsZSB7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogc2V0Y29sb3Iod2hpdGUpO1xuICAgIH1cblxuICAgICY6YmVmb3JlLFxuICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiA0cHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHNldGNvbG9yKHRhbik7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICB9XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgfVxuXG4gICAgJjphZnRlciB7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgIH1cbn1cblxuJWZlYXR1cmVkLWhlYWRpbmctbWVkaXVtIHtcbiAgICBAaW5jbHVkZSBtcShtZWRpdW0pIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIEBpbmNsdWRlIHNldGZvbnQoJ2tub2Nrb3V0Jyk7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDIwcHgpO1xuICAgICAgICBmb250LXNpemU6IHJlbSgzMnB4KTtcblxuICAgICAgICBAaW5jbHVkZSBtcShsYXJnZSkge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0oMzZweCk7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oMzBweCk7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtcShwcmludCkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDI0cHgpO1xuICAgICAgICB9XG5cbiAgICAgICAgc3Bhbi5sZWZ0LFxuICAgICAgICBzcGFuLnJpZ2h0IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICBzcGFuLnRpdGxlIHtcbiAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogc2V0Y29sb3Iod2hpdGUpO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpiZWZvcmUsXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogNHB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogc2V0Y29sb3IodGFuKTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIH1cbiAgICB9XG59XG5cblxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFd5c2l3eWcgU3R5bGVzXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4ld3lzaXd5ZyB7XG4gICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcblxuICAgIGgxLFxuICAgIGgyLFxuICAgIGgzIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJGd1dHRlci10aW55O1xuXG4gICAgICAgIEBpbmNsdWRlIG1xKG1lZGl1bSkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogJGd1dHRlci1oZWFkaW5ncztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGg0LFxuICAgIGg1LFxuICAgIGg2IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJGd1dHRlci10aW55O1xuXG4gICAgICAgIEBpbmNsdWRlIG1xKG1lZGl1bSkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogJGd1dHRlci1zbWFsbDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHAge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxZW07XG5cbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwLFxuICAgIGxpIHtcbiAgICAgICAgQGV4dGVuZCAldHlwZS1tZWRpdW07XG4gICAgfVxuXG4gICAgdWwsXG4gICAgb2wge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oMjBweCk7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiByZW0oMzBweCk7XG4gICAgfVxuXG4gICAgdWwge1xuICAgICAgICBsaSB7XG4gICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogZGlzYztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5wLXNtYWxsIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0oMTRweCk7XG4gICAgfVxufSIsIi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBSZS1Vc2FibGUgRU0gJiBSRU0gRnVuY3Rpb25zXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5AZnVuY3Rpb24gZW0oJHB4LXZhbHVlcywgJGZvbnQtc2l6ZTogJGJvZHktZm9udC1zaXplKSB7XG5cdC8vIENyZWF0ZSBhbiBlbXB0eSBsaXN0IHRoYXQgd2UgY2FuIGR1bXAgdmFsdWVzIGludG9cblx0JGVtLXZhbHVlczogKCk7XG5cdEBlYWNoICR2YWx1ZSBpbiAkcHgtdmFsdWVzIHtcblx0XHQvLyBDaGVjayB0byBzZWUgaWYgdmFsdWUgaXMgMCwgYXV0bywgb3IgaW5oZXJpdGVkXG5cdFx0Ly8gSWYgc28sIGRvIG5vdGhpbmcgYW5kIG91dHB1dCB2YWx1ZVxuXHRcdEBpZiAkdmFsdWUgPT0gMCBvciAkdmFsdWUgPT0gYXV0byBvciAkdmFsdWUgPT0gaW5oZXJpdCB7XG5cdFx0XHQkZW0tdmFsdWVzOiBhcHBlbmQoJGVtLXZhbHVlcywgJHZhbHVlKTtcblx0XHQvLyBJZiB0aGUgdmFsdWUgaXMgYSBwaXhlbCwgY29udmVydCB0byBlbSB2YWx1ZVxuXHRcdH0gQGVsc2UgaWYgdW5pdCgkdmFsdWUpID09ICdweCcge1xuXHRcdFx0JGVtLXZhbHVlczogYXBwZW5kKCRlbS12YWx1ZXMsICN7KCR2YWx1ZS8kZm9udC1zaXplKX1lbSk7XG5cdFx0Ly8gRm9yIGV2ZXJ5dGhpbmcgZWxzZSwga2VlcCBhcyBpc1xuXHRcdH0gQGVsc2Uge1xuXHRcdFx0JGVtLXZhbHVlczogYXBwZW5kKCRlbS12YWx1ZXMsICR2YWx1ZSk7XG5cdFx0fVxuXHR9XG5cdEByZXR1cm4gJGVtLXZhbHVlcztcbn1cblxuQGZ1bmN0aW9uIHJlbSgkcHgtdmFsdWVzLCAkZm9udC1zaXplOiAkYmFzZS1mb250LXNpemUpIHtcblx0Ly8gQ3JlYXRlIGFuIGVtcHR5IGxpc3QgdGhhdCB3ZSBjYW4gZHVtcCB2YWx1ZXMgaW50b1xuXHQkcmVtLXZhbHVlczogKCk7XG5cdEBlYWNoICR2YWx1ZSBpbiAkcHgtdmFsdWVzIHtcblx0XHQvLyBDaGVjayB0byBzZWUgaWYgdmFsdWUgaXMgMCwgYXV0bywgb3IgaW5oZXJpdGVkXG5cdFx0Ly8gSWYgc28sIGRvIG5vdGhpbmcgYW5kIG91dHB1dCB2YWx1ZVxuXHRcdEBpZiAkdmFsdWUgPT0gMCBvciAkdmFsdWUgPT0gYXV0byBvciAkdmFsdWUgPT0gaW5oZXJpdCB7XG5cdFx0XHQkcmVtLXZhbHVlczogYXBwZW5kKCRyZW0tdmFsdWVzLCAkdmFsdWUpO1xuXHRcdC8vIElmIHRoZSB2YWx1ZSBpcyBhIHBpeGVsLCBjb252ZXJ0IHRvIGVtIHZhbHVlXG5cdFx0fSBAZWxzZSBpZiB1bml0KCR2YWx1ZSkgPT0gJ3B4JyB7XG5cdFx0XHQkcmVtLXZhbHVlczogYXBwZW5kKCRyZW0tdmFsdWVzLCAjeygkdmFsdWUvJGZvbnQtc2l6ZSl9cmVtKTtcblx0XHQvLyBGb3IgZXZlcnl0aGluZyBlbHNlLCBrZWVwIGFzIGlzXG5cdFx0fSBAZWxzZSB7XG5cdFx0XHQkcmVtLXZhbHVlczogYXBwZW5kKCRyZW0tdmFsdWVzLCAkdmFsdWUpO1xuXHRcdH1cblx0fVxuXHRAcmV0dXJuICRyZW0tdmFsdWVzO1xufSIsIi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBUWVBFIFNFVFRJTkcgTUlYSU5cbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEZvciBlYXNpZXIgd3JpdGluZyBvZiBmb250IHNpemVzIGFuZCBsaW5lLWhlaWdodHMsIHJlbGF0aXZlbHkuXG4vLyBUaGlzIGNhbiBiZSB1c2VkIGZvciB3cml0aW5nIGJhc2Ugc3R5bGVzLCBidXQgYWxzbyBzcGVjaWZpYyBvbmVzIGlmIG5lY2Vzc2FyeS5cblxuJHJvb3QtZm9udC1zaXplOiAxMCFkZWZhdWx0O1xuXG5cbkBtaXhpbiB0eXBlKCR0YXJnZXQsICRsaW5lLWhlaWdodCwgJGNvbnRleHQ6IG51bGwpIHtcblxuICAvLyBJcyB0aGUgdGFyZ2V0IHZhbHVlIHVuaXRsZXNzP1xuICBAaWYgdW5pdGxlc3MoJHRhcmdldCkge1xuXG4gICAgLy8gSXMgaXQgcmVseWluZyBvbiBhIGNvbnRleHQgdmFsdWU/XG4gICAgQGlmICRjb250ZXh0ICE9IG51bGwge1xuXG4gICAgICAvLyBJcyB0aGUgY29udGV4dCB1bml0bGVzcz8gSWYgc28sIHdyaXRlIG91dCB0aGUgdGFyZ2V0IHZhbHVlIGluIGVtcy5cbiAgICAgIEBpZiB1bml0bGVzcygkY29udGV4dCkge1xuICAgICAgICBmb250LXNpemU6ICgkdGFyZ2V0IC8gJGNvbnRleHQpICogMWVtO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIEBlcnJvciAnWW91ciB2YWx1ZSBmb3IgYCRjb250ZXh0YCBpcyBub3QgdW5pdGxlc3MuJztcbiAgICAgIH1cbiAgICB9XG4gICAgLy8gV3JpdGUgb3V0IHRoZSB0YXJnZXQgdmFsdWUgaW4gcmVtcy5cbiAgICBAZWxzZSB7XG4gICAgICBmb250LXNpemU6ICgkdGFyZ2V0IC8gJHJvb3QtZm9udC1zaXplKSAqIDFyZW07XG4gICAgfVxuXG4gIH0gQGVsc2Uge1xuICAgIEBlcnJvciAnWW91ciB2YWx1ZSBmb3IgYCR0YXJnZXRgIGlzIG5vdCB1bml0bGVzcy4nO1xuICB9XG5cbiAgLy8gTGluZSBIZWlnaHQgc2hvdWxkIGJlIHVuaXRsZXNzLlxuICBAaWYgdW5pdGxlc3MoJGxpbmUtaGVpZ2h0KSB7XG4gICAgLy8gTGluZSBoZWlnaHQgc2hvdWxkIGFsbW9zdCBhbHdheXMgYmUgdW5pdGxlc3MsIGp1c3Qgc2ltcGxlIG1hdGguXG4gICAgbGluZS1oZWlnaHQ6ICgkbGluZS1oZWlnaHQgLyAkdGFyZ2V0KTtcbiAgfSBAZWxzZSB7XG4gICAgQGVycm9yICdZb3VyIHZhbHVlIGZvciBgJGxpbmUtaGVpZ2h0YCBpcyBub3QgdW5pdGxlc3MuJztcbiAgfVxuXG59XG5cbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBTYW1wbGUgVXNhZ2Vcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIEV4YW1wbGU6XG5cbi8vIGgxIHtcbi8vICBAaW5jbHVkZSB0eXBlKDMyLCAzNik7XG4vLyB9XG5cbi8vIE91dHB1dDpcblxuLy8gaDEge1xuLy8gIGZvbnQtc2l6ZTogMnJlbTtcbi8vICBsaW5lLWhlaWdodDogMS4xMjU7XG4vLyB9IiwiLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIE1FRElBIFFVRVJJRVNcbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIERvIG5vdCBlZGl0IHVubGVzcyB5b3Uga25vdyB3aGF0IHlvdSBhcmUgZG9pbmcuXG5cbkBtaXhpbiBtcSgkcG9pbnQsICRyZXZlcnNlOiBmYWxzZSkge1xuXG5cdEBpZiAkcHJpbnQtbWVkaWEge1xuICBcdEBpZiAkcG9pbnQgPT0gJ3ByaW50JyB7XG4gIFx0XHRAbWVkaWEgcHJpbnQge1xuICBcdFx0XHRAY29udGVudDtcbiAgXHRcdH1cbiAgXHR9IEBlbHNlIHtcbiAgXHRcdEBjb250ZW50O1xuICBcdH1cbiAgfSBAZWxzZSB7XG4gIFx0QGlmIHR5cGUtb2YoJHBvaW50KSA9PSBcIm51bWJlclwiIHtcblx0XHRcdEBpZiB1bml0bGVzcygkcG9pbnQpIG9yIHVuaXQoJHBvaW50KSA9PSBcImVtXCIgb3IgdW5pdCgkcG9pbnQpID09IFwicmVtXCIgb3IgdW5pdCgkcG9pbnQpID09IFwiJVwiIHtcblx0XHRcdFx0QHdhcm4gXCJQbGVhc2UgdXNlIHBpeGVsIHZhbHVlcy5cIjtcblx0XHRcdH0gQGVsc2UgaWYgJHJldmVyc2UgPT0gXCJtYXhcIiB7XG5cdFx0XHRcdEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IGVtKCRwb2ludCAtIDFweCkpIHtcblx0XHRcdFx0XHRAY29udGVudDtcblx0XHRcdFx0fVxuXHRcdFx0fSBAZWxzZSB7XG5cdFx0XHRcdEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IGVtKCRwb2ludCkpIHtcblx0XHRcdFx0XHRAY29udGVudDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH0gQGVsc2UgaWYgbWFwLWhhcy1rZXkoJG1xLCAkcG9pbnQpIHtcblx0XHRcdEBtZWRpYSAje2luc3BlY3QobWFwLWdldCgkbXEsICRwb2ludCkpfSB7XG5cdFx0XHRcdEBjb250ZW50O1xuXHRcdFx0fVxuXHRcdH0gQGVsc2Uge1xuXHRcdFx0QHdhcm4gXCJDb3VsZG4ndCBmaW5kIGEgYnJlYWtwb2ludCBuYW1lZCBgI3skcG9pbnR9YC5cIjtcblx0XHR9XG4gIH1cblxufSIsIi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBUWVBFXG4vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gUHNldWRvXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG46OnNlbGVjdGlvbiB7XG5cdGJhY2tncm91bmQ6ICM3Nzc7XG5cdGNvbG9yOiAjZmZmO1xuXHR0ZXh0LXNoYWRvdzogbm9uZTtcbn1cblxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEdlbmVyYWxcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbmh0bWwge1xuXHRmb250LXNpemU6IDYyLjUlO1xufVxuXG5ib2R5IHtcblx0YmFja2dyb3VuZDogI2ZmZjtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0Y29sb3I6IHNldGNvbG9yKGJyb3duLCBkYXJrKTtcblx0QGluY2x1ZGUgc2V0Zm9udChkZWZhdWx0KTtcblx0Zm9udC1zaXplOiAkYm9keS1mb250LXNpemU7XG5cdEBpbmNsdWRlIGZvbnQtc21vb3RoaW5nO1xufVxuXG5hIHtcblx0Y29sb3I6IHNldGNvbG9yKHJlZCk7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0QGluY2x1ZGUgc2V0Zm9udCgnZGlzdHJpY3QgYm9sZCcpO1xuXHQmOmhvdmVyLFxuXHQmOmZvY3VzLFxuXHQmOmFjdGl2ZSB7XG5cdFx0Y29sb3I6IHNldGNvbG9yKHJlZCwgZGFyayk7XG5cdH1cblx0Jjpmb2N1cyB7XG5cdFx0b3V0bGluZTogbm9uZTtcblx0fVxufVxuXG5cbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBIZWFkbGluZXNcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbmgxLFxuaDIsXG5oMyxcbmg0LFxuaDUsXG5oNiB7XG5cdGxpbmUtaGVpZ2h0OiAxO1xuXHRhIHtcblx0XHRjb2xvcjogc2V0Y29sb3IoYnJvd24pO1xuXHR9XG59XG5cbmgyIHtcblx0Zm9udC1zaXplOiByZW0oNDhweCk7XG5cdEBpbmNsdWRlIHNldGZvbnQoa25vY2tvdXQsIG5vcm1hbCk7XG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdGNvbG9yOiBzZXRjb2xvcihicm93bik7XG5cdGZvbnQtd2VpZ2h0OiBub3JtYWw7XG5cdGxldHRlci1zcGFjaW5nOiAxcHg7XG5cblx0QGluY2x1ZGUgbXEoc21hbGwpIHtcblx0XHRmb250LXNpemU6IHJlbSg0OHB4KTtcblx0fVxuXG5cdEBpbmNsdWRlIG1xKGxhcmdlKSB7XG5cdFx0Zm9udC1zaXplOiByZW0oNjBweCk7XG5cdH1cbn1cblxuaDMge1xuXHRmb250LXNpemU6IHJlbSgzNnB4KTtcblx0QGluY2x1ZGUgc2V0Zm9udChrbm9ja291dCwgbm9ybWFsKTtcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0Y29sb3I6IHNldGNvbG9yKGJyb3duKTtcblx0Zm9udC13ZWlnaHQ6IG5vcm1hbDtcblx0bGV0dGVyLXNwYWNpbmc6IDFweDtcblxuXHRAaW5jbHVkZSBtcShzbWFsbCkge1xuXHRcdGZvbnQtc2l6ZTogcmVtKDM2cHgpO1xuXHR9XG5cblx0QGluY2x1ZGUgbXEobGFyZ2UpIHtcblx0XHRmb250LXNpemU6IHJlbSgzNnB4KTtcblx0fVxuXG59XG5cbmg0IHtcblx0Zm9udC1zaXplOiByZW0oMThweCk7XG5cdEBpbmNsdWRlIHNldGZvbnQoXCJkaXN0cmljdCBib2xkXCIsIG5vcm1hbCk7XG5cdC8vIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdGNvbG9yOiBzZXRjb2xvcihicm93bik7XG5cdGZvbnQtd2VpZ2h0OiBub3JtYWw7XG5cdGxldHRlci1zcGFjaW5nOiAwcHg7XG5cblx0QGluY2x1ZGUgbXEoc21hbGwpIHtcblx0XHRmb250LXNpemU6IHJlbSgxOHB4KTtcblx0fVxuXG5cdEBpbmNsdWRlIG1xKGxhcmdlKSB7XG5cdFx0Zm9udC1zaXplOiByZW0oMjRweCk7XG5cdH1cbn1cblxuaDUge1xuXHRmb250LXNpemU6IHJlbSgxNHB4KTtcblx0QGluY2x1ZGUgc2V0Zm9udChcImRpc3RyaWN0IGJvbGRcIiwgbm9ybWFsKTtcblx0Ly8gdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0Y29sb3I6IHNldGNvbG9yKGJyb3duKTtcblx0Zm9udC13ZWlnaHQ6IG5vcm1hbDtcblxuXHRAaW5jbHVkZSBtcShzbWFsbCkge1xuXHRcdGZvbnQtc2l6ZTogcmVtKDE0cHgpO1xuXHR9XG5cblx0QGluY2x1ZGUgbXEobGFyZ2UpIHtcblx0XHRmb250LXNpemU6IHJlbSgxNHB4KTtcblx0fVxufVxuXG5cbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBUZXh0IENvbXBvbmVudHNcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbnAsXG5kbCxcbmFkZHJlc3Mge1xuXHRAZXh0ZW5kICV0eXBlLW1lZGl1bTtcbn1cblxucCxcbmxpLFxuZHQsXG5kZCB7XG5cdGZvbnQtd2VpZ2h0OiBub3JtYWw7XG5cdGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxudWwge1xuXHRAZXh0ZW5kICVuYWtlZC1saXN0O1xufVxuXG5saSB7XG5cdGxpbmUtaGVpZ2h0OiAxO1xufVxuXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gRXh0ZW5kIFdZU0lXWUcgU3R5bGVzXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4ud3lzaXd5ZyB7XG5cdEBleHRlbmQgJXd5c2l3eWc7XG59XG4iLCIvLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gVkFSSUFCTEVTXG4vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gUm9vdCBGb250IFNpemluZ1xuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gPGh0bWw+IGFuZCA8Ym9keT4gZm9udCBzaXplc1xuJGh0bWwtZm9udC1zaXplOiA2Mi41JTtcbiRib2R5LWZvbnQtc2l6ZTogMTZweDtcbiRlbS1iYXNlOiAxNjtcblxuLy8gTXVsdGlwbGllciBmb3IgUkVNIE1peGluXG4vLyBJdCBuZWVkcyB0byBzdGF5IHRoZSBzYW1lIHNpemUgYXMgPGh0bWw+IGZvbnQgc2l6ZSwgYnV0IGluIHBpeGVsc1xuJGJhc2UtZm9udC1zaXplOiAxMHB4ICFkZWZhdWx0O1xuXG4vLyBXaGV0aGVyIHRvIG91dHB1dCBmYWxsYmFjayB2YWx1ZXMgaW4gcHggd2hlbiBvdXRwdXR0aW5nIHJlbXMuXG4kcmVtLXdpdGgtcHgtZmFsbGJhY2s6IGZhbHNlICFkZWZhdWx0O1xuXG4vLyBJbXBvcnQgdW5pdCBmdW5jdGlvblxuQGltcG9ydCBcIi4uL3V0aWxzL2Z1bmN0aW9ucy91bml0c1wiO1xuXG5cbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBHZW5lcmFsXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBHdXR0ZXJcbiRndXR0ZXItdGlueTpcdFx0cmVtKDEwcHgpO1xuJGd1dHRlci1zbWFsbDogICAgICByZW0oMjBweCk7XG4kZ3V0dGVyLWhlYWRpbmdzOiAgIHJlbSgzMHB4KTtcbiRndXR0ZXI6ICAgICAgICAgICAgcmVtKDQwcHgpO1xuJGd1dHRlci1sYXJnZTogICAgICByZW0oNzVweCk7XG5cbi8vIFJvd3MgTWF4LVdpZHRoXG4kbWF4LXdpZHRoOiAgICAgICAgIHJlbSgxMjAwcHgpO1xuJG1heC13aWR0aC1zbWFsbDogICByZW0oNjgwcHgpO1xuJG1heC13aWR0aC1tZWRpdW06ICByZW0oOTgwcHgpO1xuJG1heC13aWR0aC1sYXJnZTogICByZW0oMTQ0MHB4KTtcblxuLy8gQW5pbWF0aW9uXG4kY3ViaWM6ICAgICAgICAgICAgIGN1YmljLWJlemllcigwLjYzLCAwLjY0LCAwLjMsIDEpO1xuJHRpbWluZzogICAgICAgICAgICAzNTBtcztcbiR0aW1pbmctZmFzdDogICAgICAgMjAwbXM7XG4kdGltaW5nLXNsb3c6ICAgICAgIDUwMG1zO1xuXG4vLyBQcmludFxuJHByaW50LW1lZGlhOiAgICAgICBmYWxzZSAhZGVmYXVsdDtcblxuXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gTWVkaWEgUXVlcnkgU2V0dGluZ3Ncbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIE1heCBUYWJsZXQgRGV2aWNlIFdpZHRoXG4kbXEtdGFibGV0LWxhbmRzY2FwZTogZW0oMTI4MHB4KTtcblxuLy8gTVEgVmFyaWFibGVzXG4kbXEtdGlueTogICAgICAgICAgIDQwMHB4O1xuJG1xLW1pbmk6ICAgICAgICAgICA0ODBweDtcbiRtcS1zbWFsbDogICAgICAgICAgNjAwcHg7XG4kbXEtbWVkaXVtOiAgICAgICAgIDc2OHB4O1xuJG1xLWxhcmdlOiAgICAgICAgICA5NjBweDtcbiRtcS14bGFyZ2U6ICAgICAgICAgMTIyMHB4O1xuJG1xLXh4bGFyZ2U6ICAgICAgICAxNDQwcHg7XG4kbXEteHh4bGFyZ2U6ICAgICAgIDE2NDBweDtcblxuLy8gTWVkaWEgUXVlcnkgLSBtaW4td2lkdGhcbiRtcS1taW4tdGlueTogICAgICAgZW0oJG1xLXRpbnkpO1xuJG1xLW1pbi1taW5pOiAgICAgICBlbSgkbXEtbWluaSk7XG4kbXEtbWluLXNtYWxsOiAgICAgIGVtKCRtcS1zbWFsbCk7XG4kbXEtbWluLW1lZGl1bTogICAgIGVtKCRtcS1tZWRpdW0pO1xuJG1xLW1pbi1sYXJnZTogICAgICBlbSgkbXEtbGFyZ2UpO1xuJG1xLW1pbi14bGFyZ2U6ICAgICBlbSgkbXEteGxhcmdlKTtcbiRtcS1taW4teHhsYXJnZTogICAgZW0oJG1xLXh4bGFyZ2UpO1xuJG1xLW1pbi14eHhsYXJnZTogICBlbSgkbXEteHh4bGFyZ2UpO1xuXG4vLyBNZWRpYSBRdWVyeSAtIG1heC13aWR0aFxuJG1xLW1heC10aW55OiAgICAgICBlbSgkbXEtbWluaSAtIDFweCk7XG4kbXEtbWF4LW1pbmk6ICAgICAgIGVtKCRtcS1zbWFsbCAtIDFweCk7XG4kbXEtbWF4LXNtYWxsOiAgICAgIGVtKCRtcS1tZWRpdW0gLSAxcHgpO1xuJG1xLW1heC1tZWRpdW06ICAgICBlbSgkbXEtbGFyZ2UgLSAxcHgpO1xuJG1xLW1heC1sYXJnZTogICAgICBlbSgkbXEteGxhcmdlIC0gMXB4KTtcbiRtcS1tYXgteGxhcmdlOiAgICAgZW0oJG1xLXh4bGFyZ2UgLSAxcHgpO1xuJG1xLW1heC14eGxhcmdlOiAgICBlbSgkbXEteHh4bGFyZ2UgLSAxcHgpO1xuXG4vLyBNZWRpYSBRdWVyeSBMaXN0IE1hcFxuJG1xOiAoXG5cdCd0aW55JyAgICAgICAgICA6ICggbWluLXdpZHRoOiAkbXEtbWluLXRpbnkgKSxcblx0J21pbmknICAgICAgICAgIDogKCBtaW4td2lkdGg6ICRtcS1taW4tbWluaSApLFxuXHQnc21hbGwnICAgICAgICAgOiAoIG1pbi13aWR0aDogJG1xLW1pbi1zbWFsbCApLFxuXHQnbWVkaXVtJyAgICAgICAgOiAoIG1pbi13aWR0aDogJG1xLW1pbi1tZWRpdW0gKSxcblx0J2xhcmdlJyAgICAgICAgIDogKCBtaW4td2lkdGg6ICRtcS1taW4tbGFyZ2UgKSxcblx0J3hsYXJnZScgICAgICAgIDogKCBtaW4td2lkdGg6ICRtcS1taW4teGxhcmdlICksXG5cdCd4eGxhcmdlJyAgICAgICA6ICggbWluLXdpZHRoOiAkbXEtbWluLXh4bGFyZ2UgKSxcblx0J3h4eGxhcmdlJyAgICAgIDogKCBtaW4td2lkdGg6ICRtcS1taW4teHh4bGFyZ2UgKSxcblxuXHQnbWF4LXRpbnknICAgICAgOiAoIG1heC13aWR0aDogJG1xLW1heC10aW55ICksXG5cdCdtYXgtbWluaScgICAgICA6ICggbWF4LXdpZHRoOiAkbXEtbWF4LW1pbmkgKSxcblx0J21heC1zbWFsbCcgICAgIDogKCBtYXgtd2lkdGg6ICRtcS1tYXgtc21hbGwgKSxcblx0J21heC1tZWRpdW0nICAgIDogKCBtYXgtd2lkdGg6ICRtcS1tYXgtbWVkaXVtICksXG5cdCdtYXgtbGFyZ2UnICAgICA6ICggbWF4LXdpZHRoOiAkbXEtbWF4LWxhcmdlICksXG5cdCdtYXgteGxhcmdlJyAgICA6ICggbWF4LXdpZHRoOiAkbXEtbWF4LXhsYXJnZSApLFxuXHQnbWF4LXh4bGFyZ2UnICAgOiAoIG1heC13aWR0aDogJG1xLW1heC14eGxhcmdlICksXG5cblx0J3ByaW50JyAgICAgICAgIDogKCBwcmludCApLFxuXHQndGFiLXBvcnQnICAgICAgOiAoIHNjcmVlbiBhbmQgKG1pbi1kZXZpY2Utd2lkdGg6ICRtcS1taW4tbWVkaXVtKSBhbmQgKG1heC1kZXZpY2Utd2lkdGg6ICRtcS1tYXgtbWVkaXVtKSBhbmQgKG9yaWVudGF0aW9uOiBwb3J0cmFpdCkgKSxcblx0J3RhYi1sYW5kJyAgICAgIDogKCBzY3JlZW4gYW5kIChtaW4tZGV2aWNlLXdpZHRoOiAkbXEtbWluLW1lZGl1bSkgYW5kIChtYXgtZGV2aWNlLXdpZHRoOiAkbXEtdGFibGV0LWxhbmRzY2FwZSkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSApLFxuXG5cdCdib290c3RyYXAtc21hbGwnXHQ6ICggc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkbXEtbWluLW1lZGl1bSkgYW5kIChtYXgtd2lkdGg6IGVtKDk5MXB4KSApKVxuKTtcblxuXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gWi1JbmRleFxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gaHR0cDovL3d3dy5zaXRlcG9pbnQuY29tL2JldHRlci1zb2x1dGlvbi1tYW5hZ2luZy16LWluZGV4LXNhc3MvXG4vLyBodHRwOi8vdmlnZXQuY29tL2V4dGVuZC9zYXNzLW1hcHMtYW5kLXotaW5kZXhlc1xuJHotbGF5ZXJzOiAoXG5cdCdwaXQnICAgICAgICAgOiAtMSxcblx0J2RlZmF1bHQnICAgICA6IDEsXG5cdCdmb290ZXInICAgICAgOiA1LFxuXHQnaGVhZGVyJyAgICAgIDogMTAsXG5cdCduYXYnICAgICAgICAgOiAyMCxcblx0J2Fubm91bmNlJyAgICA6IDMwLFxuXHQnbW9kYWwnICAgICAgIDogNDAsXG5cdCdvdmVybGF5JyAgICAgOiA1MFxuKTtcbiIsIi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBGT1JNIEVMRU1FTlRTXG4vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gRGVmYXVsdCBTdHlsZXNcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbmlucHV0LFxudGV4dGFyZWEsXG5zZWxlY3Qge1xuXHRvdXRsaW5lOiBub25lO1xuXHRkaXNwbGF5OiBibG9jaztcblx0Ym9yZGVyLXJhZGl1czogMDtcblx0Ym9yZGVyOiByZW0oM3B4KSBzb2xpZCBzZXRjb2xvcih0YW4pO1xuXHRwYWRkaW5nOiByZW0oNXB4IDEwcHgpO1xuXHRtYXJnaW46IDA7XG5cdHdpZHRoOiAxMDAlO1xuXHRmb250LXNpemU6IHJlbSgxNHB4KTtcbn1cblxubGFiZWwge1xuXHRjb2xvcjogc2V0Y29sb3IoYnJvd24pO1xufVxuXG5pbnB1dCxcbnRleHRhcmVhIHtcblx0Y29sb3I6IHNldGNvbG9yKGJyb3duKTtcbn1cblxuLy8gQWRkIHRoZSBjb3JyZWN0IGFwcGVhcmFuY2UsIGJ1dCBhbHNvIGFkanVzdCB0aGUgaGVpZ2h0IHRvIGZpdCB3aXRoIG91ciBpbnB1dCBmaWVsZHMuXG4vLyBUaGlzIG9ubHkgbWF0dGVycyBmb3IgYXBwbGUgZGV2aWNlcyAoaGVpZ2h0KVxuc2VsZWN0IHtcblx0YmFja2dyb3VuZDogI2ZmZjtcblx0aGVpZ2h0OiByZW0oMzBweCk7XG5cdHBhZGRpbmc6IHJlbSg1cHggMTBweCk7XG59XG5cbi8vIE1ha2Ugc3VyZSB3ZSBhcmUgbm90IGFkZGluZyB0aGUgc2VsZWN0IGhlaWdodCB0byBtdWx0aSBzZWxlY3RcbnNlbGVjdFttdWx0aXBsZV0ge1xuXHRoZWlnaHQ6IGF1dG87XG59XG5cbi8vIFN0eWxlcyByZWxldmFudCB0byBjaGVja2JveGVzXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuXHR2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xufVxuXG4vLyBTdHlsZXMgcmVsZXZhbnQgdG8gcmFkaW8gYnV0dG9uc1xuaW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcblx0dmVydGljYWwtYWxpZ246IHRleHQtYm90dG9tO1xufVxuXG4vLyBMYWJlbCBzcGVjaWZpYyBzdHlsaW5nXG5sYWJlbCB7XG5cdGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbi8vIEZvY3VzIHNwZWNpZmljIHN0eWxpbmdcbmlucHV0OmZvY3VzLFxudGV4dGFyZWE6Zm9jdXMge1xuXHRvdXRsaW5lOiBub25lO1xuXHRib3JkZXItY29sb3I6IHNldGNvbG9yKHRhbiwgZGFyayk7XG5cdGNvbG9yOiBzZXRjb2xvcihicm93bik7XG59XG5cbi8vIFN1Ym1pdCBpbnB1dCBzcGVjaWZpYyBzdHlsaW5nXG5pbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcblx0QGV4dGVuZCAlbmFrZWQtYnV0dG9uO1xuXHRib3JkZXItcmFkaXVzOiAwO1xuXHRoZWlnaHQ6IGF1dG87XG59XG5cbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBQbGFjZWhvbGRlcnNcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5wbGFjZWhvbGRlciB7XG5cdGNvbG9yOiAjMDAwO1xufVxuXG5pbnB1dCxcbnRleHRhcmVhIHtcblx0QGluY2x1ZGUgcGxhY2Vob2xkZXIoKSB7XG5cdFx0Y29sb3I6ICMwMDA7XG5cdH1cbn1cblxuaW5wdXQ6Zm9jdXMsXG50ZXh0YXJlYTpmb2N1cyB7XG5cdEBpbmNsdWRlIHBsYWNlaG9sZGVyKCkge1xuXHRcdGNvbG9yOiBibHVlO1xuXHR9XG59XG5cblxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEJyb3dzZXIgU3BlY2lmaWNcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIFJlbW92ZSBleHRyYSBzcGFjaW5nIHRoYXQgRmlyZWZveCBhZGRzIHRvIGJ1dHRvbnNcbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lciB7XG5cdHBhZGRpbmc6IDA7XG5cdGJvcmRlcjogMFxufVxuXG4vLyBSZW1vdmUgc3Bpbm5lciBmcm9tIHR5cGU9XCJudW1iZXJcIlxuaW5wdXRbdHlwZT1udW1iZXJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuaW5wdXRbdHlwZT1udW1iZXJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcblx0LXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuXHRtYXJnaW46IDA7XG59XG5cbmlucHV0W3R5cGU9bnVtYmVyXSB7XG5cdC1tb3otYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xufVxuXG4vLyBSZXNldCBhbGwgc3R5bGluZyBmb3IgaW5wdXQgYW5kIHRleHRhcmVhLCBoYW5keSBmb3IgbW9iaWxlIGRldmljZXNcbmlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxuaW5wdXRbdHlwZT1cInRpbWVcIl0sXG5pbnB1dFt0eXBlPVwidXJsXCJdLFxuaW5wdXRbdHlwZT1cImVtYWlsXCJdLFxuaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdLFxuaW5wdXRbdHlwZT1cImJ1dHRvblwiXSxcbmlucHV0W3R5cGU9XCJzdWJtaXRcIl0sXG50ZXh0YXJlYSB7XG5cdC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcblx0LW1vei1hcHBlYXJhbmNlOiBub25lO1xufVxuIiwiLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFBMQUNFSE9MREVSIE1JWElOXG4vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAZXh0ZW5kICVwbGFjZWhvbGRlciB7Li59XG5cbkBtaXhpbiBwbGFjZWhvbGRlciB7XG5cdCY6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xuXHRcdEBjb250ZW50O1xuXHR9XG5cdCY6LW1vei1wbGFjZWhvbGRlciB7XG5cdFx0QGNvbnRlbnQ7XG5cdH1cblx0Jjo6LW1vei1wbGFjZWhvbGRlciB7XG5cdFx0QGNvbnRlbnQ7XG5cdH1cblx0JjotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xuXHRcdEBjb250ZW50O1xuXHR9XG59IiwiLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIE1haW4gLyBHbG9iYWwgLyBIZWxwZXJzXG4vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4uaGlkZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLmhpZGUtbW9iaWxlIHtcbiAgICBAaW5jbHVkZSBtcShtYXgtbWVkaXVtKSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG59XG5cbi5yb290IHtcbiAgICBtYXJnaW4tdG9wOiByZW0oNTNweCk7XG5cbiAgICBAaW5jbHVkZSBtcShsYXJnZSkge1xuICAgICAgICBtYXJnaW4tdG9wOiByZW0oMTE3cHgpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1xKHhsYXJnZSkge1xuICAgICAgICBtYXJnaW4tdG9wOiByZW0oMTIxcHgpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1xKHByaW50KSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgfVxuXG4gICAgJi5oZWFkbGVzcyB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgfVxufVxuXG4uY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSBjb250YWluZXI7XG4gICAgQGluY2x1ZGUgcm93O1xuXG4gICAgQGluY2x1ZGUgbXEoeHhsYXJnZSkge1xuICAgICAgICBAaW5jbHVkZSByb3cobGFyZ2UpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1xKHByaW50KSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgfVxufVxuXG4uY29udGFpbmVyLW1lZGl1bSB7XG4gICAgQGluY2x1ZGUgY29udGFpbmVyO1xuICAgIEBpbmNsdWRlIHJvdztcblxuICAgIEBpbmNsdWRlIG1xKHByaW50KSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgfVxufVxuXG4uaW50cm8tc2VjdGlvbiB7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1heC13aWR0aDogcmVtKDYwMHB4KTtcbiAgICBAaW5jbHVkZSBjZjtcblxuICAgIEBpbmNsdWRlIG1xKGxhcmdlKSB7XG4gICAgICAgIG1heC13aWR0aDogcmVtKDkwMHB4KTtcbiAgICB9XG5cbiAgICAuaW50cm8taGVhZGluZyB7XG4gICAgICAgIHBhZGRpbmc6IHJlbSgzMHB4IDIwcHgpO1xuICAgICAgICBAaW5jbHVkZSBzZXRmb250KGtub2Nrb3V0KTtcbiAgICAgICAgZm9udC1zaXplOiByZW0oMzZweCk7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICAgICAgQGluY2x1ZGUgbXEoc21hbGwpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDQycHgpO1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IHJlbSg0MHB4KTtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiByZW0oMjVweCk7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtcShsYXJnZSkge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0oNDhweCk7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogcmVtKDUwcHgpO1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IHJlbSgzMHB4KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5pbnRyby1jb3B5IHtcbiAgICAgICAgZm9udC1zaXplOiByZW0oMThweCk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbSgyMHB4KTtcblxuICAgICAgICBAaW5jbHVkZSBtcShtZWRpdW0pIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbSgzMHB4KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jdGEtd3JhcCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgQGluY2x1ZGUgY2Y7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbSgzMHB4KTtcblxuICAgICAgICBAaW5jbHVkZSBtcShtZWRpdW0pIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbSg1MHB4KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jdGEge1xuICAgICAgICBwYWRkaW5nLXRvcDogcmVtKDEwcHgpO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmVtKDEwcHgpO1xuXG4gICAgICAgIEBpbmNsdWRlIG1xKG1lZGl1bSkge1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IHJlbSgxNXB4KTtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiByZW0oMTVweCk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5jdGEtbGluayB7XG4gICAgcGFkZGluZy1yaWdodDogcmVtKDE1cHgpO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgQGluY2x1ZGUgc2V0Zm9udCgnZGlzdHJpY3QgYm9sZCcpO1xuICAgIGNvbG9yOiBzZXRjb2xvcihyZWQpO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjJlbTtcbiAgICBmb250LXNpemU6IHJlbSgxNHB4KTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgICAvLyBUcmlhbmdsZVxuICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAzMDBtcztcbiAgICAgICAgbWFyZ2luLWxlZnQ6IHJlbSg1cHgpO1xuICAgICAgICBtYXJnaW4tdG9wOiAxcHg7XG4gICAgICAgIGJvcmRlci10b3A6IDVweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogNXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItbGVmdDogNXB4IHNvbGlkIHNldGNvbG9yKHJlZCk7XG5cbiAgICAgICAgQGluY2x1ZGUgbXEobWVkaXVtKSB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogcmVtKDEwcHgpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uY3RhLWxpbmstYWx0IHtcbiAgICBjb2xvcjogc2V0Y29sb3IocmVkKTtcbiAgICBAaW5jbHVkZSBzZXRmb250KCdkaXN0cmljdCBib2xkJyk7XG4gICAgZm9udC1zaXplOiByZW0oMTRweCk7XG5cbiAgICAmLnJhcnJvdzphZnRlcixcbiAgICAmLmxhcnJvdzpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW4tdG9wOiAxcHg7XG4gICAgICAgIGJvcmRlci10b3A6IDVweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogNXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIH1cblxuICAgICYucmFycm93IHtcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogcmVtKDVweCk7XG4gICAgICAgICAgICBib3JkZXItbGVmdDogNXB4IHNvbGlkIHNldGNvbG9yKHJlZCk7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1xKG1lZGl1bSkge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiByZW0oMTBweCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLmxhcnJvdyB7XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogcmVtKDVweCk7XG4gICAgICAgICAgICBib3JkZXItcmlnaHQ6IDVweCBzb2xpZCBzZXRjb2xvcihyZWQpO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtcShtZWRpdW0pIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IHJlbSgxMHB4KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmZlYXR1cmVkLWhlYWRpbmcge1xuICAgIEBleHRlbmQgJWZlYXR1cmVkLWhlYWRpbmc7XG59XG5cbi5mZWF0dXJlZC1oZWFkaW5nLW1lZGl1bSB7XG4gICAgQGV4dGVuZCAlZmVhdHVyZWQtaGVhZGluZy1tZWRpdW07XG59XG5cbi5jZW50ZXJlZCB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4udmgge1xuICAgIEBleHRlbmQgJXZpc3VhbGx5LWhpZGRlbjtcbn1cblxudGFibGUucmVzcG9uc2l2ZS10YWJsZSB7XG4gIEBpbmNsdWRlIG1xKG1heC1zbWFsbCkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuXG4gICAgdGhlYWQsIHRib2R5LCB0aCwgdGQsIHRyIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgdGQge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxZW07XG4gICAgfVxuICB9XG59XG4iLCIvLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gSGVhZGVyXG4vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4ubWFpbi1oZWFkZXIge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB6LWluZGV4OiAyMDtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IHJlbSg1MnB4KTtcbiAgICBjb2xvcjogc2V0Y29sb3IocmVkKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBzZXRjb2xvcih0YW4sIGxpZ2h0KTtcblxuICAgIEBpbmNsdWRlIG1xKGxhcmdlKSB7XG4gICAgICAgIGhlaWdodDogcmVtKDExOHB4KTtcbiAgICB9XG4gICAgQGluY2x1ZGUgbXEoeGxhcmdlKSB7XG4gICAgICAgIGhlaWdodDogcmVtKDEyMnB4KTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtcShwcmludCkge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIH1cblxuICAgIC5yb3cge1xuICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcblxuICAgICAgICBAZXh0ZW5kICVyb3c7XG4gICAgICAgIEBpbmNsdWRlIG1xKHhsYXJnZSkge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLm1haW4tbG9nbyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IDIwO1xuICAgIHRvcDogcmVtKDEwcHgpO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogcmVtKDExNXB4KTtcblxuICAgIEBpbmNsdWRlIG1xKG1pbmkpIHtcbiAgICAgICAgd2lkdGg6IHJlbSgxMzBweCk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbXEoc21hbGwpIHtcbiAgICAgICAgd2lkdGg6IHJlbSgxNDVweCk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbXEobWVkaXVtKSB7XG4gICAgICAgIHdpZHRoOiByZW0oMTYwcHgpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1xKGxhcmdlKSB7XG4gICAgICAgIHRvcDogcmVtKDI1cHgpO1xuICAgICAgICB3aWR0aDogcmVtKDE5MHB4KTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtcSh4bGFyZ2UpIHtcbiAgICAgICAgdG9wOiByZW0oMzBweCk7XG4gICAgICAgIHdpZHRoOiByZW0oMjAwcHgpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1xKHh4bGFyZ2UpIHtcbiAgICAgICAgdG9wOiByZW0oMjVweCk7XG4gICAgICAgIHdpZHRoOiByZW0oMjUwcHgpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1xKHByaW50KSB7XG4gICAgICAgIGxlZnQ6IDIwcHg7XG4gICAgICAgIHRvcDogMjBweDtcbiAgICAgICAgd2lkdGg6IHJlbSgxMDBweCk7XG4gICAgfVxuXG4gICAgaW1nIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgc3BhbiB7XG4gICAgICAgIEBleHRlbmQgJXZpc3VhbGx5LWhpZGRlbjtcbiAgICB9XG59XG5cbi5nbG9iYWwtc2VhcmNoIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogMjtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDE4MXB4KTtcbiAgICBtYXgtd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHBhZGRpbmc6IHJlbSgzcHgpO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMjUwbXMgJGN1YmljLCBtYXgtd2lkdGggNDAwbXMgJGN1YmljO1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIG9wYWNpdHk6IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogc2V0Y29sb3Iod2hpdGUpO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICBAaW5jbHVkZSBtcSgnbGFyZ2UnKSB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDQ2NXB4KTtcbiAgICB9XG5cbiAgICAuc2VhcmNoLWlucHV0LFxuICAgIC5zZWFyY2gtYnV0dG9uIHtcbiAgICAgICAgaGVpZ2h0OiByZW0oNDZweCk7XG4gICAgfVxuXG4gICAgLnNlYXJjaC1pbnB1dCB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDEzcHgpO1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gNzBweCk7XG4gICAgICAgIHBhZGRpbmc6IHJlbSgzLjVweCAxMHB4KTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogcmVtKDQwcHgpO1xuICAgICAgICBjb2xvcjogc2V0Y29sb3IoYnJvd24pO1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIGJvcmRlcjogM3B4IHNvbGlkIHRyYW5zcGFyZW50O1xuXG4gICAgICAgIEBpbmNsdWRlIG1xKCdsYXJnZScpIHtcbiAgICAgICAgICAgIHdpZHRoOiByZW0oNDIwcHgpO1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIHBsYWNlaG9sZGVyIHtcbiAgICAgICAgICAgIGNvbG9yOiByZ2JhKHNldGNvbG9yKGJyb3duKSwgLjUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gc2VhcmNoIGJ1dHRvblxuICAgIC5zZWFyY2gtYnV0dG9uIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0oMTJweCk7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDEwcHg7XG4gICAgICAgIHRvcDogNXB4O1xuICAgICAgICBwYWRkaW5nOiByZW0oMCAxMHB4KTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgY29sb3I6IHNldGNvbG9yKHJlZCk7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuXG4gICAgICAgIEBleHRlbmQgJW5ha2VkLWJ1dHRvbjtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1zbW9vdGhpbmc7XG5cbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICBAZXh0ZW5kICV2aXN1YWxseS1oaWRkZW47XG4gICAgICAgIH1cblxuICAgICAgICBpIHtcbiAgICAgICAgICAgIGNvbG9yOiBzZXRjb2xvcihyZWQpO1xuXG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgdG9wOiByZW0oLTFweCk7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgc3ltYm9scygnc2VhcmNoJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc2VhcmNoLW9wZW4gJiB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG5cbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAyNTBtcyAkY3ViaWMgMjAwbXMsIG1heC13aWR0aCA0MDBtcyAkY3ViaWM7XG5cbiAgICAgICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSAxODFweCk7XG5cbiAgICAgICAgQGluY2x1ZGUgbXEoJ2xhcmdlJykge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiA0NjVweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5zZWFyY2gtaW5wdXQge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBzZXRjb2xvcih0YW4pO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDUwMG1zICRjdWJpYyA0MDBtcztcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnNlYXJjaC1sYWJlbCB7XG4gICAgQGV4dGVuZCAldmlzdWFsbHktaGlkZGVuO1xufVxuXG4ubW9iaWxlLXNlYXJjaCB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgLnNlYXJjaC1pbnB1dCxcbiAgICAuc2VhcmNoLWJ1dHRvbiB7XG4gICAgICAgIGhlaWdodDogcmVtKDQ5cHgpO1xuICAgIH1cblxuICAgIC5zZWFyY2gtaW5wdXQtd3JhcCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG5cbiAgICAuc2VhcmNoLWlucHV0IHtcbiAgICAgICAgZm9udC1zaXplOiByZW0oMTZweCk7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwYWRkaW5nOiByZW0oMy41cHggMTBweCk7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IHJlbSg0MHB4KTtcbiAgICAgICAgY29sb3I6IHNldGNvbG9yKGJyb3duKTtcbiAgICAgICAgYm9yZGVyOiAzcHggc29saWQgc2V0Y29sb3IodGFuLCBkYXJrKTtcblxuICAgICAgICBAaW5jbHVkZSBwbGFjZWhvbGRlciB7XG4gICAgICAgICAgICBjb2xvcjogcmdiYShzZXRjb2xvcihicm93biksIC41KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIHNlYXJjaCBidXR0b25cbiAgICAuc2VhcmNoLWJ1dHRvbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDEycHgpO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAxMHB4O1xuICAgICAgICB0b3A6IDNweDtcbiAgICAgICAgcGFkZGluZzogcmVtKDAgMTBweCk7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGNvbG9yOiBzZXRjb2xvcihyZWQpO1xuICAgICAgICBjb2xvcjogI2ZmZjtcblxuICAgICAgICBAZXh0ZW5kICVuYWtlZC1idXR0b247XG4gICAgICAgIC8vIHdpZHRoOiByZW0oNjVweCk7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtc21vb3RoaW5nO1xuXG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgQGV4dGVuZCAldmlzdWFsbHktaGlkZGVuO1xuICAgICAgICB9XG5cbiAgICAgICAgaSB7XG4gICAgICAgICAgICBjb2xvcjogc2V0Y29sb3IocmVkKTtcblxuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIHRvcDogcmVtKC0ycHgpO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHN5bWJvbHMoJ3NlYXJjaCcpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnNlYXJjaC1vcGVuICYge1xuICAgICAgICBvcGFjaXR5OiAxO1xuXG4gICAgICAgIG1heC13aWR0aDogY2FsYygxMDAlIC0gMTgxcHgpO1xuXG4gICAgICAgIEBpbmNsdWRlIG1xKCdsYXJnZScpIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogNDY1cHg7XG4gICAgICAgIH1cblxuICAgICAgICAuc2VhcmNoLWlucHV0IHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogc2V0Y29sb3IodGFuKTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciA1MDBtcyAkY3ViaWMgNDAwbXM7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gRm9vdGVyXG4vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4ubWFpbi1mb290ZXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiBzZXRjb2xvcihicm93bik7XG5cdGNvbG9yOiBzZXRjb2xvcih0YW4pO1xuXHRAaW5jbHVkZSBzZXRmb250KGRpc3RyaWN0KTtcblx0Zm9udC1zaXplOiByZW0oMTRweCk7XG5cblx0QGluY2x1ZGUgbXEocHJpbnQpIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG5cblx0LnJvdyB7XG5cdFx0QGV4dGVuZCAlcm93O1xuXHR9XG5cblx0YSB7XG5cdFx0Y29sb3I6IHNldGNvbG9yKHRhbik7XG5cdFx0Zm9udC13ZWlnaHQ6IDcwMDtcblxuXHRcdCY6aG92ZXIsXG5cdFx0Jjpmb2N1cyB7XG5cdFx0XHRjb2xvcjogc2V0Y29sb3IodGFuLCBkYXJrKTtcblx0XHR9XG5cdH1cblxuXHQuZm9vdGVyLW5hdi13cmFwIHtcblx0XHRwYWRkaW5nLXRvcDogcmVtKDE1cHgpO1xuXHRcdHBhZGRpbmctYm90dG9tOiByZW0oMTVweCk7XG5cblx0XHRAaW5jbHVkZSBtcShtZWRpdW0pIHtcblx0XHRcdHBhZGRpbmctYm90dG9tOiByZW0oMzBweCk7XG5cdFx0fVxuXHR9XG5cblx0LmZvb3Rlci1uYXYge1xuXHRcdG1hcmdpbi10b3A6IHJlbSgzMHB4KTtcblx0XHRAZXh0ZW5kICVyb3c7XG5cblx0XHQmID4gdWwge1xuXHRcdFx0QGluY2x1ZGUgY2Y7XG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0ZmxleC13cmFwOiB3cmFwO1xuXHRcdFx0anVzdGlmeS1jb250ZW50OiBsZWZ0O1xuXG5cdFx0XHRAaW5jbHVkZSBtcShsYXJnZSkge1xuXHRcdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdFx0XHR9O1xuXHRcdH1cblx0fVxuXG5cdC5uYXYtaXRlbSB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0bWFyZ2luLWJvdHRvbTogcmVtKDE1cHgpO1xuXHRcdHBhZGRpbmctcmlnaHQ6IHJlbSgyMHB4KTtcblxuXHRcdEBpbmNsdWRlIG1xKHNtYWxsKSB7XG5cdFx0XHRwYWRkaW5nLXJpZ2h0OiByZW0oMzBweCk7XG5cdFx0fVxuXG5cdFx0QGluY2x1ZGUgbXEobGFyZ2UpIHtcblx0XHRcdHBhZGRpbmctcmlnaHQ6IHJlbSg0MHB4KTtcblx0XHR9XG5cdH1cblxuXHQubmF2LW1haW4taXRlbSB7XG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdGZsb2F0OiBsZWZ0O1xuXHRcdG1hcmdpbi1ib3R0b206IHJlbSg0MHB4KTtcblx0XHR3aWR0aDogNTAlO1xuXG5cdFx0QGluY2x1ZGUgbXEoc21hbGwpIHtcblx0XHRcdEBpbmNsdWRlIG1xKG1heC1tZWRpdW0pIHtcblx0XHRcdFx0d2lkdGg6IDMzLjMzMzMzMzMlO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdEBpbmNsdWRlIG1xKGxhcmdlKSB7XG5cdFx0XHR3aWR0aDogaW5oZXJpdDtcblx0XHR9XG5cdH1cblxuXHQubmF2LW1haW4tbGluayB7XG5cdFx0QGluY2x1ZGUgc2V0Zm9udCgnZGlzdHJpY3QgYm9sZCcpO1xuXHRcdGZvbnQtc2l6ZTogcmVtKDE2cHgpO1xuXG5cdFx0Jjpob3Zlcixcblx0XHQmOmZvY3VzIHtcblx0XHRcdGNvbG9yOiBpbmhlcml0O1xuXHRcdH1cblx0fVxuXG5cdC5uYXYtZHJvcC1pdGVtIHtcblx0XHRAaW5jbHVkZSBzZXRmb250KCdkaXN0cmljdCBib2xkJyk7XG5cblx0XHRhIHtcblx0XHRcdGZvbnQtd2VpZ2h0OiA0MDA7XG5cdFx0fVxuXHR9XG5cblx0LnRvLXRvcCB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXG5cdFx0Jjo6YmVmb3JlLFxuXHRcdCY6OmFmdGVyIHtcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdHRvcDogNTAlO1xuXHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuXHRcdFx0Y29udGVudDogXCJcIjtcblx0XHRcdGhlaWdodDogcmVtKDNweCk7XG5cdFx0XHR3aWR0aDogY2FsYyg1MCUgLSA0MHB4KTtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6IHNldGNvbG9yKGJyb3duLCBkYXJrKTtcblx0XHR9XG5cblx0XHQmOjpiZWZvcmUge1xuXHRcdFx0bGVmdDogMDtcblx0XHR9XG5cblx0XHQmOjphZnRlciB7XG5cdFx0XHRyaWdodDogMDtcblx0XHR9XG5cblx0XHRhOmhvdmVyLFxuXHRcdGE6Zm9jdXMge1xuXHRcdFx0Y29sb3I6IGluaGVyaXQ7XG5cdFx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cdFx0fVxuXG5cdFx0aSB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBzZXRjb2xvcihicm93biwgYmFzZSk7XG5cdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHRmb250LXNpemU6IHJlbSg0MHB4KTtcblxuXHRcdFx0JjpiZWZvcmUge1xuXHRcdFx0ICAgIHRvcDogM3B4O1xuXHRcdFx0ICAgIGxlZnQ6IDFweDtcblx0XHRcdH1cblxuXHRcdFx0Jjpob3Zlcixcblx0XHRcdCY6Zm9jdXMge1xuXHRcdFx0XHQmOmJlZm9yZSB7XG5cdFx0XHRcdFx0Y29sb3I6IHNldGNvbG9yKHRhbiwgZGFyayk7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQuZm9vdGVyLWluZm8td3JhcCB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogc2V0Y29sb3IoYnJvd24sIGRhcmspO1xuXHR9XG5cblx0LmZvb3Rlci1pbmZvIHtcblx0XHRAZXh0ZW5kICVyb3c7XG5cdFx0Y29sb3I6IHNldGNvbG9yKHdoaXRlKTtcblx0XHRwYWRkaW5nLXRvcDogcmVtKDIwcHgpO1xuXHRcdHBhZGRpbmctYm90dG9tOiByZW0oMTNweCk7XG5cdFx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkICM0NDI1MTg7XG5cblx0XHRAaW5jbHVkZSBtcShtZWRpdW0pIHtcblx0XHRcdHBhZGRpbmctdG9wOiByZW0oMTNweCk7XG5cdFx0fVxuXHR9XG5cblx0LmNvcHktcHJpdmFjeSB7XG5cdFx0QGluY2x1ZGUgY2Y7XG5cblx0XHRAaW5jbHVkZSBtcShtYXgtc21hbGwpIHtcblx0XHRcdG1hcmdpbi10b3A6IHJlbSgxMHB4KTtcblx0XHR9XG5cblx0XHRAaW5jbHVkZSBtcShtZWRpdW0pIHtcblx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdGZsb2F0OiBsZWZ0O1xuXHRcdFx0bWFyZ2luLXRvcDogcmVtKDEzcHgpO1xuXHRcdH1cblx0fVxuXG5cdC5jb3B5LFxuXHQucHJpdmFjeSB7XG5cdFx0QGluY2x1ZGUgbXEobWF4LXNtYWxsKSB7XG5cdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHRmbG9hdDogbGVmdDtcblx0XHR9XG5cdH1cblxuXHQuY29weSB7XG5cdFx0QGluY2x1ZGUgbXEobWF4LXNtYWxsKSB7XG5cdFx0XHR3aWR0aDogNjAlO1xuXHRcdH1cblxuXHRcdEBpbmNsdWRlIG1xKHNtYWxsKSB7XG5cdFx0XHRiciB7XG5cdFx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0LnByaXZhY3kge1xuXHRcdEBpbmNsdWRlIHNldGZvbnQoJ2Rpc3RyaWN0IGJvbGQnKTtcblx0XHRjb2xvcjogc2V0Y29sb3IodGFuKTtcblxuXHRcdEBpbmNsdWRlIG1xKG1heC1zbWFsbCkge1xuXHRcdFx0d2lkdGg6IDQwJTtcblx0XHRcdHRleHQtYWxpZ246IHJpZ2h0O1xuXHRcdH1cblxuXHRcdEBpbmNsdWRlIG1xKG1lZGl1bSkge1xuXHRcdFx0bWFyZ2luLWxlZnQ6IHJlbSgxMHB4KTtcblx0XHR9XG5cdH1cblxuXHQuc29jaWFsIHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRmb250LXNpemU6IDA7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdGxpc3Qtc3R5bGU6IG5vbmU7XG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXG5cdFx0QGluY2x1ZGUgbXEobWF4LXNtYWxsKSB7XG5cdFx0XHRtYXJnaW4tdG9wOiByZW0oMTVweCk7XG5cdFx0fVxuXG5cdFx0QGluY2x1ZGUgbXEobWVkaXVtKSB7XG5cdFx0XHRmbG9hdDogcmlnaHQ7XG5cdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0fVxuXG5cdFx0aTpiZWZvcmUge1xuXHRcdFx0Y29sb3I6IHNldGNvbG9yKHRhbiwgbGlnaHQpO1xuXHRcdH1cblxuXHRcdGxpIHtcblx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdHdpZHRoOiByZW0oMzVweCk7XG5cdFx0XHRoZWlnaHQ6IHJlbSgzNXB4KTtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6IHNldGNvbG9yKHJlZCk7XG5cdFx0XHRtYXJnaW46IHJlbSgzcHgpO1xuXG5cdFx0XHQmOmxhc3QtY2hpbGQge1xuXHRcdFx0XHRAaW5jbHVkZSBtcShtZWRpdW0pIHtcblx0XHRcdFx0XHRtYXJnaW4tcmlnaHQ6IDA7XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0YSB7XG5cdFx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdGhlaWdodDogMTAwJTtcblxuXHRcdFx0XHQmOmhvdmVyLFxuXHRcdFx0XHQmOmZvY3VzIHtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBzZXRjb2xvcihyZWQsIGRhcmspO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdGkge1xuXHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHRcdC8vIHRoaXMgaXMgZGlmZmVyZW50IGZyb20gdGhlIG5vcm0gYmVjYXVzZSB0aGUgaXRlbSBpcyBhbHJlYWR5IGNlbnRlciBvbiB0aGUgeCBheGlzXG5cdFx0XHRcdHRvcDogNTAlO1xuXHRcdFx0XHRsZWZ0OiAwO1xuXHRcdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTtcblx0XHRcdFx0QGluY2x1ZGUgdHlwZSgyMCwgMjApO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuIiwiLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIE5BVklHQVRJT05cbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi5oZWFkZXItbmF2IHtcbiAgICB1bCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgIH1cblxuICAgIGxpIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgQGluY2x1ZGUgc2V0Zm9udCgnZGlzdHJpY3QgYm9sZCcpO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4yZW07XG4gICAgfVxufVxuXG4ubmF2LXRvcCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogc2V0Y29sb3Iod2hpdGUpO1xuICAgIGZvbnQtc2l6ZTogcmVtKDEycHgpO1xuXG4gICAgQGluY2x1ZGUgbXEocHJpbnQpIHtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgfVxuXG4gICAgdWwge1xuICAgICAgICBAaW5jbHVkZSBtcShtYXgtbWVkaXVtKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiByZW0oMTBweCAwKTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1xKHByaW50KSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm5hdi1jaGlsZCB7XG4gICAgICAgIGNvbG9yOiBzZXRjb2xvcihyZWQpO1xuICAgICAgICBwYWRkaW5nOiByZW0oMjBweCk7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIGNvbG9yOiBzZXRjb2xvcihyZWQsIGRhcmspO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgIC8vdG8gcmVtb3ZlIGdhcCBiZXR3ZWVuIG1lbnUgYmFyc1xuICAgIGJ1dHRvbi5zZWFyY2gtdG9nZ2xlIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgfVxufVxuXG4ubmF2LW1haW4ge1xuICAgIEBpbmNsdWRlIG1xKHByaW50KSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLm5hdi1tYWluLXdyYXAge1xuICAgICAgICAvLyBTZXR0aW5nIFBhZGRpbmcgQmFzZWQgVXBvbiBMb2dvIFNpemUgKExvZ28gSGFuZ3MgQmVsb3cgSXRzIENvbnRhaW5lcilcbiAgICAgICAgcGFkZGluZy10b3A6IHJlbSg0MHB4KTtcblxuICAgICAgICBAaW5jbHVkZSBtcShtaW5pKSB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogcmVtKDUwcHgpO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbXEoc21hbGwpIHtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiByZW0oNjBweCk7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtcShtZWRpdW0pIHtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiByZW0oNzBweCk7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtcShtYXgtbWVkaXVtKSB7XG4gICAgICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDUycHgpO1xuICAgICAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICAgICAgdG9wOiA1MnB4O1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHNldGNvbG9yKHdoaXRlKTtcblxuICAgICAgICAgICAgLm5hdi1vcGVuICYge1xuICAgICAgICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgICAgICAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgICAgICAgICBvdmVyZmxvdzogc2Nyb2xsO1xuICAgICAgICAgICAgICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEFsaWduIHJpZ2h0IHNpZGUgb2YgJ2dpZnQgY2FyZHMnIHdpdGggZ3V0dGVyXG4gICAgICAgIEBpbmNsdWRlIG1xKGxhcmdlKSB7XG4gICAgICAgICAgICAvLyBSZXNldCBQYWRkaW5nIGZvciBEZXNrdG9wIE1lbnVcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiByZW0oLTE1cHgpO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgdG9wOiBhdXRvO1xuICAgICAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1xKHhsYXJnZSkge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiByZW0oLTI3cHgpO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbXEobWF4LW1lZGl1bSkge1xuICAgICAgICAgICAgdWwge1xuICAgICAgICAgICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm5hdi1tYWluLW1lbnUge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcblxuICAgICAgICBAaW5jbHVkZSBtcShtYXgtbWVkaXVtKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiByZW0oMCAyMHB4IDIwcHgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm5hdi1tYWluLWxpbmsge1xuICAgICAgICBwYWRkaW5nOiByZW0oMThweCAwKTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBjb2xvcjogc2V0Y29sb3IocmVkKTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgQGluY2x1ZGUgbXEobGFyZ2UpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IHJlbSgyN3B4IDEycHgpO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbXEoeGxhcmdlKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiByZW0oMjhweCAyNXB4KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5uYXYtbWFpbi1pdGVtIHtcbiAgICAgICAgJi5jdXJyZW50X3BhZ2VfaXRlbSxcbiAgICAgICAgYTpob3ZlcixcbiAgICAgICAgYTpmb2N1cyB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBzZXRjb2xvcih3aGl0ZSk7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtcShtYXgtbWVkaXVtKSB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGJvcmRlci10b3A6IDRweCBzb2xpZCBzZXRjb2xvcih0YW4pO1xuXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDRweCBzb2xpZCBzZXRjb2xvcih0YW4pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbXEobGFyZ2UpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDEycHgpO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbXEoeGxhcmdlKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbSgxNHB4KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5uYXYtYXV4LXdyYXAge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBzZXRjb2xvcih0YW4sIGJhc2UpO1xuICAgICAgICBwYWRkaW5nOiByZW0oMjBweCk7XG5cbiAgICAgICAgQGluY2x1ZGUgbXEobGFyZ2UpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubmF2LWF1eC1tZW51IHtcbiAgICAgICAgZm9udC1zaXplOiByZW0oMTAuNXB4KTtcblxuICAgICAgICBAaW5jbHVkZSBtcShzbWFsbCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0oMTRweCk7XG4gICAgICAgIH1cblxuICAgICAgICBhIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDFyZW0gMDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIGNvbG9yOiAjYjAyNjJlO1xuICAgICAgICB9XG5cbiAgICAgICAgLm5hdi1hdXgtaXRlbSArIC5uYXYtYXV4LWl0ZW0ge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiByZW0oMjBweCk7XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzODVweCApIHtcblxuICAgICAgICAgICAgLm5hdi1hdXgtaXRlbSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogcmVtKDEycHgpO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAubmF2LWF1eC1pdGVtICsgLm5hdi1hdXgtaXRlbSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAubmF2LWF1eC1pdGVtOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnNpZ24tam9pbiB7XG4gICAgYSB7XG4gICAgICAgIGNvbG9yOiBzZXRjb2xvcihyZWQpO1xuICAgIH1cblxuICAgICNzaWduLWluLFxuICAgICNqb2luIHtcbiAgICAgICAgJjpob3ZlcixcbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBjb2xvcjogc2V0Y29sb3IocmVkLCBkYXJrKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICNzaWduLWluIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICB9XG5cbiAgICAjam9pbiB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICB9XG5cbiAgICAuYmFyIHtcbiAgICAgICAgY29sb3I6IHNldGNvbG9yKGJyb3duKTtcbiAgICAgICAgbWFyZ2luOiByZW0oMCA1cHgpO1xuICAgIH1cbn1cblxuLm9yZGVyLW5vdyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogc2V0Y29sb3IocmVkKTtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0aW1pbmctZmFzdDtcblxuICAgIEBpbmNsdWRlIG1xKG1heC1tZWRpdW0pIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiByZW0oMjBweCk7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDEwcHgpO1xuICAgIH1cblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHNldGNvbG9yKHJlZCwgZGFyayk7XG4gICAgfVxuXG4gICAgI29yZGVyIHtcbiAgICAgICAgQGluY2x1ZGUgbXEobWF4LW1lZGl1bSkge1xuICAgICAgICAgICAgcGFkZGluZzogcmVtKDEwcHgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgc3BhbiB7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGNvbG9yOiBzZXRjb2xvcih3aGl0ZSk7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjJlbTtcbiAgICB9XG59XG5cbi5zZWFyY2gtdG9nZ2xlIHtcbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIHRvcDogcmVtKC0xcHgpO1xuICAgICAgICBAaW5jbHVkZSBzeW1ib2xzKHNlYXJjaCk7XG4gICAgfVxuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgICAgY29sb3I6IHNldGNvbG9yKHJlZCk7XG4gICAgfVxuXG4gICAgc3BhbiB7XG4gICAgICAgIEBleHRlbmQgJXZpc3VhbGx5LWhpZGRlbjtcbiAgICB9XG59XG5cbiNidXJnZXIge1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgQGV4dGVuZCAlbmFrZWQtYnV0dG9uO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogcmVtKDI1cHgpO1xuICAgIGhlaWdodDogcmVtKDMycHgpO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDMwMG1zICRjdWJpYztcblxuICAgIEBpbmNsdWRlIG1xKCdsYXJnZScpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgICBAaW5jbHVkZSBtcShzbWFsbCkge1xuICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgfVxuXG4gICAgLy8gaGlkZSBsYWJlbFxuICAgIHNwYW4ge1xuICAgICAgICBAZXh0ZW5kICV2aXN1YWxseS1oaWRkZW47XG4gICAgfVxuXG4gICAgLy8gd2hlbiB0aGUgbmF2aWdhdGlvbiBpcyBhY3RpdmVcbiAgICAubmF2LW9wZW4gJiB7XG4gICAgICAgIGNvbG9yOiBzZXRjb2xvcihyZWQpO1xuXG4gICAgICAgIGksXG4gICAgICAgIGk6YmVmb3JlLFxuICAgICAgICBpOmFmdGVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHNldGNvbG9yKHJlZCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBvbiBob3ZlclxuICAgICY6aG92ZXIgaSxcbiAgICAmOmZvY3VzIGkge1xuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIxMCUpO1xuICAgICAgICB9XG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIxMCUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gbWVudSBpY29uXG4gICAgaSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA0OSU7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IHJlbSgyNXB4KTtcbiAgICAgICAgaGVpZ2h0OiByZW0oNHB4KTtcbiAgICAgICAgbWFyZ2luLXRvcDogLTFweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogc2V0Y29sb3IocmVkKTtcbiAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMzAwbXMgJGN1YmljO1xuXG4gICAgICAgIEBpbmNsdWRlIG1xKHNtYWxsKSB7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIGxpbmVzIHRvIGZha2UgYSBtZW51XG4gICAgICAgICY6YmVmb3JlLFxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHNldGNvbG9yKHJlZCk7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzLCBiYWNrZ3JvdW5kLWNvbG9yIDMwMG1zICRjdWJpYztcbiAgICAgICAgfVxuXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTcwJSk7XG4gICAgICAgIH1cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTcwJSk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyB3aGF0IGhhcHBlbnMgd2hlbiB0aGUgbWVudSBpcyBhY3RpdmUsIGNvdmVydCBtZW51IGludG8gYSBjbG9zZSBidXR0b25cbiAgICAgICAgLm5hdi1vcGVuICYge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApIHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCkgcm90YXRlKC00NWRlZyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQmFubmVyXG4vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4uaGVybyB7XG5cdEBleHRlbmQgJWJnLWNvdmVyO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdGNvbG9yOiAjZmZmO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiBzZXRjb2xvcihicm93biwgZGFyayk7XG5cblx0QGluY2x1ZGUgbXEocHJpbnQpIHtcblx0XHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuXHR9XG5cblx0Ji5zaG9ydCB7XG5cdFx0cGFkZGluZzogcmVtKDQwcHggMCk7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogc2V0Y29sb3IoYnJvd24sIGRhcmspO1xuXG5cdFx0QGluY2x1ZGUgbXEoc21hbGwpIHtcblx0XHRcdHBhZGRpbmc6IHJlbSg2MHB4IDApO1xuXHRcdH1cblxuICAgICAgICBAaW5jbHVkZSBtcShtZWRpdW0pIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IHJlbSg4MHB4KTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1xKHhsYXJnZSkge1xuICAgICAgICB9XG5cbiAgICAgICAgLmhlYWRpbmcge1xuICAgICAgICBcdGZvbnQtc2l6ZTogcmVtKDI4cHgpO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtcShtZWRpdW0pIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbSgzMnB4KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgbXEoeGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0oMzZweCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblx0fVxuXG5cdCYuZnVsbCB7XG5cdFx0cGFkZGluZzogcmVtKDEwMHB4IDIwcHgpO1xuXG5cdFx0QGluY2x1ZGUgbXEobGFyZ2UpIHtcblx0XHRcdHBhZGRpbmc6IHJlbSgxNTBweCA0MHB4IDEyMHB4KTtcblx0XHR9XG5cblx0XHRAaW5jbHVkZSBtcSh4bGFyZ2UpIHtcblx0XHRcdHBhZGRpbmc6IHJlbSgxNzVweCA0MHB4IDE1MHB4KTtcblx0XHR9XG5cblx0XHRAaW5jbHVkZSBtcShwcmludCkge1xuXHRcdFx0cGFkZGluZzogcmVtKDQwcHggMCk7XG5cdFx0fVxuXG5cdFx0LnN1YmhlYWRpbmcge1xuXHRcdFx0dHJhbnNmb3JtOiBtYXRyaXgoIDEuMzEzOTMwMzk0MjQxMjgsLTAuMDkwNTA5NDg5NDI0NjEsMC4wOTA0ODU4NTMwOTc5OSwxLjMxMjI3MjI4Mzg2MzAzLDAsMCk7XG5cdFx0XHRAaW5jbHVkZSBmb250LXNtb290aGluZztcblx0XHRcdG91dGxpbmU6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcblx0XHRcdGZvbnQtc2l6ZTogcmVtKDE2cHgpO1xuXG5cdFx0XHRAaW5jbHVkZSBtcShzbWFsbCkge1xuXHRcdFx0XHRwYWRkaW5nOiByZW0oMTVweCAyMHB4KTtcblx0XHRcdFx0Zm9udC1zaXplOiByZW0oMThweCk7XG5cdFx0XHRcdGxldHRlci1zcGFjaW5nOiByZW0oMy41cHgpO1xuXHRcdFx0fVxuXG5cdFx0XHRAaW5jbHVkZSBtcShsYXJnZSkge1xuXHRcdFx0XHRmb250LXNpemU6IHJlbSgyOHB4KTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQmLnZpZGVvIHtcblx0XHQmOmJlZm9yZSB7XG5cdFx0XHRjb250ZW50OiBcIlwiO1xuXHRcdFx0YmFja2dyb3VuZDogcmdiYShzZXRjb2xvcihicm93biksIC4xKTtcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdHRvcDogMDtcblx0XHRcdGxlZnQ6IDA7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdGhlaWdodDogMTAwJTtcblx0XHRcdHotaW5kZXg6IDI7XG5cdFx0fVxuXHR9XG5cblx0LnJvdyB7XG5cdFx0QGluY2x1ZGUgcm93O1xuXHRcdHotaW5kZXg6IDI7XG5cdH1cblxuXHQuaGVhZGluZyxcblx0LnN1YmhlYWRpbmcge1xuXHRcdHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG5cdH1cblxuXHQmLmZ1bGwgLmhlYWRpbmcge1xuXHRcdGZvbnQtc2l6ZTogcmVtKDMycHgpO1xuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0ei1pbmRleDogNTtcblx0XHRAaW5jbHVkZSBzZXRmb250KHppZ2d1cmF0KTtcblx0XHRAZXh0ZW5kICV0ZXh0LXNoYWRvdztcblxuXHRcdEBpbmNsdWRlIG1xKG1pbmkpIHtcblx0XHRcdGZvbnQtc2l6ZTogcmVtKDQ4cHgpO1xuXHRcdH1cblxuXHRcdEBpbmNsdWRlIG1xKHNtYWxsKSB7XG5cdFx0XHRmb250LXNpemU6IHJlbSg3MnB4KTtcblx0XHR9XG5cblx0XHRAaW5jbHVkZSBtcShsYXJnZSkge1xuXHRcdFx0Zm9udC1zaXplOiByZW0oMTAwcHgpO1xuXHRcdH1cblxuXHRcdEBpbmNsdWRlIG1xKHByaW50KSB7XG5cdFx0XHRmb250LXNpemU6IHJlbSg0MnB4KTtcblx0XHRcdG1hcmdpbi10b3A6IHJlbSgtMTBweCk7XG5cdFx0XHRjb2xvcjogYmxhY2s7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHR9XG5cdH1cblxuXHQmLmZ1bGwgLnN1YmhlYWRpbmcsXG5cdCYuc2hvcnQgLmhlYWRpbmcge1xuXHRcdEBleHRlbmQgJWhlcm8taDI7XG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogc2V0Y29sb3IoYnJvd24sIGRhcmspO1xuXHRcdGNvbG9yOiBzZXRjb2xvcihnb2xkKTtcblx0XHRwYWRkaW5nOiByZW0oMTBweCk7XG5cdFx0bGV0dGVyLXNwYWNpbmc6IHJlbSgxLjVweCk7XG5cdFx0ei1pbmRleDogMTtcblxuXHRcdEBpbmNsdWRlIG1xKHNtYWxsKSB7XG5cdFx0XHRwYWRkaW5nOiByZW0oMTVweCAyMHB4KTtcblx0XHR9XG5cdH1cblxuXHQuY3RhLXdyYXAge1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdG1hcmdpbi10b3A6IHJlbSg1MHB4KTtcblxuXHRcdEBpbmNsdWRlIG1xKG1lZGl1bSkge1xuXHRcdFx0bWFyZ2luLXRvcDogcmVtKDcwcHgpO1xuXHRcdH1cblx0fVxuXG5cdC5jdGEge1xuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHR9XG59IiwiLypcbiAqIFdhbGxwYXBlciB2My4xLjE4IC0gMjAxNC0wNi0xNlxuICogQSBqUXVlcnkgcGx1Z2luIGZvciBzbW9vdGgtc2NhbGluZyBpbWFnZSBhbmQgdmlkZW8gYmFja2dyb3VuZHMuIFBhcnQgb2YgdGhlIEZvcm1zdG9uZSBMaWJyYXJ5LlxuICogaHR0cDovL2Zvcm1zdG9uZS5pdC93YWxscGFwZXIvXG4gKlxuICogQ29weXJpZ2h0IDIwMTQgQmVuIFBsdW07IE1JVCBMaWNlbnNlZFxuICovXG5cbi53YWxscGFwZXIge1xuXHRwYWRkaW5nLXRvcDogNTAlO1xuXHR3aWR0aDogMTAwJTtcbn1cblxuLndhbGxwYXBlcixcblx0LndhbGxwYXBlciAud2FsbHBhcGVyLWNvbnRhaW5lcixcblx0LndhbGxwYXBlciAud2FsbHBhcGVyLW1lZGlhIHtcblx0LXdlYmtpdC10cmFuc2l0aW9uOiBub25lICFpbXBvcnRhbnQ7XG5cdFx0XHR0cmFuc2l0aW9uOiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi53YWxscGFwZXIgeyBvdmVyZmxvdzogaGlkZGVuOyBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblx0LndhbGxwYXBlciAud2FsbHBhcGVyLWNvbnRhaW5lciB7IGhlaWdodDogMTAwJTsgb3ZlcmZsb3c6IGhpZGRlbjsgcG9zaXRpb246IGFic29sdXRlOyB0b3A6IDA7IHdpZHRoOiAxMDAlOyB6LWluZGV4OiAwOyB9XG5cblx0LndhbGxwYXBlciAud2FsbHBhcGVyLW1lZGlhIHsgbGVmdDogMDsgb3BhY2l0eTogMDsgcG9zaXRpb246IGFic29sdXRlOyB0b3A6IDA7IH1cblx0LndhbGxwYXBlciAud2FsbHBhcGVyLW1lZGlhLmFuaW1hdGVkIHtcblx0LXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5IDAuNXMgbGluZWFyICFpbXBvcnRhbnQ7XG5cdFx0XHR0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNXMgbGluZWFyICFpbXBvcnRhbnQ7XG5cdH1cblxuXHQud2FsbHBhcGVyIC53YWxscGFwZXItbWVkaWEgaW1nLFxuXHQud2FsbHBhcGVyIC53YWxscGFwZXItbWVkaWEgdmlkZW8sXG5cdC53YWxscGFwZXIgLndhbGxwYXBlci1tZWRpYSBpZnJhbWUgeyBkaXNwbGF5OiBibG9jazsgaGVpZ2h0OiAxMDAlOyB3aWR0aDogMTAwJTsgfVxuXG5cdC53YWxscGFwZXIgLndhbGxwYXBlci1lbWJlZC5yZWFkeTphZnRlciB7IGNvbnRlbnQ6ICcnOyBoZWlnaHQ6IDEwMCU7IGxlZnQ6IDA7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiAwOyB3aWR0aDogMTAwJTsgei1pbmRleDogMTsgfVxuXHQud2FsbHBhcGVyIC53YWxscGFwZXItZW1iZWQucmVhZHkgaWZyYW1lIHsgLyogcG9pbnRlci1ldmVudHM6IG5vbmU7IC0gc2FmYXJpIGRvZXNuJ3QgbGlrZSB0aGlzIDovICovIHotaW5kZXg6IDA7IH1cblxuXHQud2FsbHBhcGVyIC53YWxscGFwZXItbWVkaWEubmF0aXZlIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyOyBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyOyBoZWlnaHQ6IDEwMCU7IHdpZHRoOiAxMDAlOyB9XG5cdC53YWxscGFwZXIgLndhbGxwYXBlci1tZWRpYS5uYXRpdmUgaW1nIHsgZGlzcGxheTogbm9uZTsgfVxuXG5cdC53YWxscGFwZXIgLndhbGxwYXBlci1tZWRpYS5maXhlZCB7IGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjsgYmFja2dyb3VuZC1hdHRhY2htZW50OiBmaXhlZDsgaGVpZ2h0OiAxMDAlOyB3aWR0aDogMTAwJTsgfVxuXHQud2FsbHBhcGVyIC53YWxscGFwZXItbWVkaWEuZml4ZWQgaW1nIHsgZGlzcGxheTogbm9uZTsgfSIsIi8qIFNsaWRlciAqL1xuLnNsaWNrLXNsaWRlclxue1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcblxuICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgICAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICAgICAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG5cbiAgICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG4gICAgLWtodG1sLXVzZXItc2VsZWN0OiBub25lO1xuICAgIC1tcy10b3VjaC1hY3Rpb246IHBhbi15O1xuICAgICAgICB0b3VjaC1hY3Rpb246IHBhbi15O1xuICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi5zbGljay1saXN0XG57XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xufVxuLnNsaWNrLWxpc3Q6Zm9jdXNcbntcbiAgICBvdXRsaW5lOiBub25lO1xufVxuLnNsaWNrLWxpc3QuZHJhZ2dpbmdcbntcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgY3Vyc29yOiBoYW5kO1xufVxuXG4uc2xpY2stc2xpZGVyIC5zbGljay10cmFjayxcbi5zbGljay1zbGlkZXIgLnNsaWNrLWxpc3RcbntcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAgICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xufVxuXG4uc2xpY2stdHJhY2tcbntcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG5cbiAgICBkaXNwbGF5OiBibG9jaztcbn1cbi5zbGljay10cmFjazpiZWZvcmUsXG4uc2xpY2stdHJhY2s6YWZ0ZXJcbntcbiAgICBkaXNwbGF5OiB0YWJsZTtcblxuICAgIGNvbnRlbnQ6ICcnO1xufVxuLnNsaWNrLXRyYWNrOmFmdGVyXG57XG4gICAgY2xlYXI6IGJvdGg7XG59XG4uc2xpY2stbG9hZGluZyAuc2xpY2stdHJhY2tcbntcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi5zbGljay1zbGlkZVxue1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgZmxvYXQ6IGxlZnQ7XG5cbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbWluLWhlaWdodDogMXB4O1xufVxuW2Rpcj0ncnRsJ10gLnNsaWNrLXNsaWRlXG57XG4gICAgZmxvYXQ6IHJpZ2h0O1xufVxuLnNsaWNrLXNsaWRlIGltZ1xue1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuLnNsaWNrLXNsaWRlLnNsaWNrLWxvYWRpbmcgaW1nXG57XG4gICAgZGlzcGxheTogbm9uZTtcbn1cbi5zbGljay1zbGlkZS5kcmFnZ2luZyBpbWdcbntcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbi5zbGljay1pbml0aWFsaXplZCAuc2xpY2stc2xpZGVcbntcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cbi5zbGljay1sb2FkaW5nIC5zbGljay1zbGlkZVxue1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cbi5zbGljay12ZXJ0aWNhbCAuc2xpY2stc2xpZGVcbntcbiAgICBkaXNwbGF5OiBibG9jaztcblxuICAgIGhlaWdodDogYXV0bztcblxuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xufVxuLnNsaWNrLWFycm93LnNsaWNrLWhpZGRlbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbn0iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vIERlZmF1bHQgVmFyaWFibGVzXG5cbiRzbGljay1mb250LXBhdGg6IFwiLi9hc3NldHMvZm9udHMvXCIgIWRlZmF1bHQ7XG4kc2xpY2stZm9udC1mYW1pbHk6IFwic2xpY2tcIiAhZGVmYXVsdDtcbiRzbGljay1sb2FkZXItcGF0aDogXCIuL2Fzc2V0cy9pbWFnZXMvXCIgIWRlZmF1bHQ7XG4kc2xpY2stYXJyb3ctY29sb3I6IHdoaXRlICFkZWZhdWx0O1xuJHNsaWNrLWRvdC1jb2xvcjogYmxhY2sgIWRlZmF1bHQ7XG4kc2xpY2stZG90LWNvbG9yLWFjdGl2ZTogJHNsaWNrLWRvdC1jb2xvciAhZGVmYXVsdDtcbiRzbGljay1wcmV2LWNoYXJhY3RlcjogXCLihpBcIiAhZGVmYXVsdDtcbiRzbGljay1uZXh0LWNoYXJhY3RlcjogXCLihpJcIiAhZGVmYXVsdDtcbiRzbGljay1kb3QtY2hhcmFjdGVyOiBcIuKAolwiICFkZWZhdWx0O1xuJHNsaWNrLWRvdC1zaXplOiA2cHggIWRlZmF1bHQ7XG4kc2xpY2stb3BhY2l0eS1kZWZhdWx0OiAwLjc1ICFkZWZhdWx0O1xuJHNsaWNrLW9wYWNpdHktb24taG92ZXI6IDEgIWRlZmF1bHQ7XG4kc2xpY2stb3BhY2l0eS1ub3QtYWN0aXZlOiAwLjI1ICFkZWZhdWx0O1xuXG5AZnVuY3Rpb24gc2xpY2staW1hZ2UtdXJsKCR1cmwpIHtcbiAgICBAaWYgZnVuY3Rpb24tZXhpc3RzKGltYWdlLXVybCkge1xuICAgICAgICBAcmV0dXJuIGltYWdlLXVybCgkdXJsKTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgICBAcmV0dXJuIHVybCgkc2xpY2stbG9hZGVyLXBhdGggKyAkdXJsKTtcbiAgICB9XG59XG5cbkBmdW5jdGlvbiBzbGljay1mb250LXVybCgkdXJsKSB7XG4gICAgQGlmIGZ1bmN0aW9uLWV4aXN0cyhmb250LXVybCkge1xuICAgICAgICBAcmV0dXJuIGZvbnQtdXJsKCR1cmwpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAgIEByZXR1cm4gdXJsKCRzbGljay1mb250LXBhdGggKyAkdXJsKTtcbiAgICB9XG59XG5cbi8qIFNsaWRlciAqL1xuXG4uc2xpY2stbGlzdCB7XG4gICAgLnNsaWNrLWxvYWRpbmcgJiB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmZmYgc2xpY2staW1hZ2UtdXJsKFwiYWpheC1sb2FkZXIuZ2lmXCIpIGNlbnRlciBjZW50ZXIgbm8tcmVwZWF0O1xuICAgIH1cbn1cblxuLyogSWNvbnMgKi9cbkBpZiAkc2xpY2stZm9udC1mYW1pbHkgPT0gXCJzbGlja1wiIHtcbiAgICBAZm9udC1mYWNlIHtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwic2xpY2tcIjtcbiAgICAgICAgc3JjOiBzbGljay1mb250LXVybChcInNsaWNrLmVvdFwiKTtcbiAgICAgICAgc3JjOiBzbGljay1mb250LXVybChcInNsaWNrLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksIHNsaWNrLWZvbnQtdXJsKFwic2xpY2sud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCBzbGljay1mb250LXVybChcInNsaWNrLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSwgc2xpY2stZm9udC11cmwoXCJzbGljay5zdmcjc2xpY2tcIikgZm9ybWF0KFwic3ZnXCIpO1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgfVxufVxuXG4vKiBBcnJvd3MgKi9cblxuLnNsaWNrLXByZXYsXG4uc2xpY2stbmV4dCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogMjBweDtcbiAgICB3aWR0aDogMjBweDtcbiAgICBsaW5lLWhlaWdodDogMHB4O1xuICAgIGZvbnQtc2l6ZTogMHB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgdG9wOiA1MCU7XG4gICAgbWFyZ2luLXRvcDogLTEwcHg7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgb3BhY2l0eTogJHNsaWNrLW9wYWNpdHktb24taG92ZXI7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJi5zbGljay1kaXNhYmxlZDpiZWZvcmUge1xuICAgICAgICBvcGFjaXR5OiAkc2xpY2stb3BhY2l0eS1ub3QtYWN0aXZlO1xuICAgIH1cbn1cblxuLnNsaWNrLXByZXY6YmVmb3JlLCAuc2xpY2stbmV4dDpiZWZvcmUge1xuICAgIC8vIGZvbnQtZmFtaWx5OiAkc2xpY2stZm9udC1mYW1pbHk7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGNvbG9yOiAkc2xpY2stYXJyb3ctY29sb3I7XG4gICAgb3BhY2l0eTogJHNsaWNrLW9wYWNpdHktZGVmYXVsdDtcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xufVxuXG4uc2xpY2stcHJldiB7XG4gICAgbGVmdDogLTI1cHg7XG4gICAgW2Rpcj1cInJ0bFwiXSAmIHtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgcmlnaHQ6IC0yNXB4O1xuICAgIH1cbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICRzbGljay1wcmV2LWNoYXJhY3RlcjtcbiAgICAgICAgW2Rpcj1cInJ0bFwiXSAmIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRzbGljay1uZXh0LWNoYXJhY3RlcjtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnNsaWNrLW5leHQge1xuICAgIHJpZ2h0OiAtMjVweDtcbiAgICBbZGlyPVwicnRsXCJdICYge1xuICAgICAgICBsZWZ0OiAtMjVweDtcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgfVxuICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJHNsaWNrLW5leHQtY2hhcmFjdGVyO1xuICAgICAgICBbZGlyPVwicnRsXCJdICYge1xuICAgICAgICAgICAgY29udGVudDogJHNsaWNrLXByZXYtY2hhcmFjdGVyO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vKiBEb3RzICovXG5cbi5zbGljay1zbGlkZXIge1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG59XG5cbi5zbGljay1kb3RzIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAtNDVweDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGxpIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgIG1hcmdpbjogMCA1cHg7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgYnV0dG9uIHtcbiAgICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMHB4O1xuICAgICAgICAgICAgZm9udC1zaXplOiAwcHg7XG4gICAgICAgICAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBwYWRkaW5nOiA1cHg7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogJHNsaWNrLW9wYWNpdHktb24taG92ZXI7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAkc2xpY2stZG90LWNoYXJhY3RlcjtcbiAgICAgICAgICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgICAgICAgLy8gZm9udC1mYW1pbHk6ICRzbGljay1mb250LWZhbWlseTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6ICRzbGljay1kb3Qtc2l6ZTtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRzbGljay1kb3QtY29sb3I7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogJHNsaWNrLW9wYWNpdHktbm90LWFjdGl2ZTtcbiAgICAgICAgICAgICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAgICAgICAgICAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYuc2xpY2stYWN0aXZlIGJ1dHRvbjpiZWZvcmUge1xuICAgICAgICAgICAgY29sb3I6ICRzbGljay1kb3QtY29sb3ItYWN0aXZlO1xuICAgICAgICAgICAgb3BhY2l0eTogJHNsaWNrLW9wYWNpdHktZGVmYXVsdDtcbiAgICAgICAgfVxuICAgIH1cbn0iLCIvKlxuICogU2Nyb2xsZXIgdjMuMS4yIC0gMjAxNS0wNC0wNFxuICogQSBqUXVlcnkgcGx1Z2luIGZvciByZXBsYWNpbmcgZGVmYXVsdCBicm93c2VyIHNjcm9sbGJhcnMuIFBhcnQgb2YgdGhlIEZvcm1zdG9uZSBMaWJyYXJ5LlxuICogaHR0cDovL2NsYXNzaWMuZm9ybXN0b25lLml0L3Njcm9sbGVyL1xuICpcbiAqIENvcHlyaWdodCAyMDE1IEJlbiBQbHVtOyBNSVQgTGljZW5zZWRcbiAqL1xuXG4uZnMtc2Nyb2xsYmFyIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICBvdmVyZmxvdy15OiBoaWRkZW47XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi5mcy1zY3JvbGxiYXIsXG4uZnMtc2Nyb2xsYmFyICoge1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lICFpbXBvcnRhbnQ7XG4gICAgIC1tb3otdXNlci1zZWxlY3Q6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgIC1tcy11c2VyLXNlbGVjdDogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICAgIHVzZXItc2VsZWN0OiBub25lICFpbXBvcnRhbnQ7XG59XG4uZnMtc2Nyb2xsYmFyLFxuLmZzLXNjcm9sbGJhci1jb250ZW50LFxuLmZzLXNjcm9sbGJhci1iYXIsXG4uZnMtc2Nyb2xsYmFyLXRyYWNrLFxuLmZzLXNjcm9sbGJhci1oYW5kbGUge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuLmZzLXNjcm9sbGJhci1jb250ZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG92ZXJmbG93OiBhdXRvO1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbn1cbi5mcy1zY3JvbGxiYXItY29udGVudDo6LXdlYmtpdC1zY3JvbGxiYXIsXG4uZnMtc2Nyb2xsYmFyLWNvbnRlbnQ6Oi13ZWJraXQtc2Nyb2xsYmFyLWJ1dHRvbixcbi5mcy1zY3JvbGxiYXItY29udGVudDo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2ssXG4uZnMtc2Nyb2xsYmFyLWNvbnRlbnQ6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrLXBpZWNlLFxuLmZzLXNjcm9sbGJhci1jb250ZW50Ojotd2Via2l0LXNjcm9sbGJhci10aHVtYixcbi5mcy1zY3JvbGxiYXItY29udGVudDo6LXdlYmtpdC1zY3JvbGxiYXItY29ybmVyLFxuLmZzLXNjcm9sbGJhci1jb250ZW50Ojotd2Via2l0LXJlc2l6ZXIge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgb3BhY2l0eTogMDtcbn1cbi5mcy1zY3JvbGxiYXItYmFyIHtcbiAgd2lkdGg6IDE2cHg7XG4gIGhlaWdodDogMTAwJTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgdG9wOiAwO1xuICB6LWluZGV4OiAyO1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICBkaXNwbGF5OiBub25lO1xufVxuLmZzLXNjcm9sbGJhci10cmFjayB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbi5mcy1zY3JvbGxiYXItaGFuZGxlIHtcbiAgd2lkdGg6IDEwcHg7XG4gIGhlaWdodDogMjBweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAzcHg7XG4gIHotaW5kZXg6IDI7XG4gIGJhY2tncm91bmQ6ICNjY2NjY2M7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNmZmZmZmY7XG4gIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuLmZzLXNjcm9sbGJhci1ob3Jpem9udGFsIC5mcy1zY3JvbGxiYXItY29udGVudCB7XG4gIG92ZXJmbG93OiBhdXRvO1xuICBvdmVyZmxvdy14OiBhdXRvO1xuICBvdmVyZmxvdy15OiBoaWRkZW47XG4gIHBhZGRpbmc6IDAgMCAxNnB4IDA7XG59XG4uZnMtc2Nyb2xsYmFyLWhvcml6b250YWwgLmZzLXNjcm9sbGJhci1iYXIge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxNnB4O1xuICB0b3A6IGF1dG87XG4gIGJvdHRvbTogMDtcbn1cbi5mcy1zY3JvbGxiYXItaG9yaXpvbnRhbCAuZnMtc2Nyb2xsYmFyLWhhbmRsZSB7XG4gIHdpZHRoOiAyMHB4O1xuICBoZWlnaHQ6IDEwcHg7XG4gIHRvcDogYXV0bztcbiAgcmlnaHQ6IGF1dG87XG4gIGJvdHRvbTogM3B4O1xufVxuLmZzLXNjcm9sbGJhci1zZXR1cCAuZnMtc2Nyb2xsYmFyLWNvbnRlbnQsXG4uZnMtc2Nyb2xsYmFyLWFjdGl2ZSAuZnMtc2Nyb2xsYmFyLWNvbnRlbnQge1xuICBwYWRkaW5nOiAyMHB4O1xufVxuLmZzLXNjcm9sbGJhci1zZXR1cCAuZnMtc2Nyb2xsYmFyLWJhcixcbi5mcy1zY3JvbGxiYXItYWN0aXZlIC5mcy1zY3JvbGxiYXItYmFyIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5mcy1zY3JvbGxiYXIge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIG92ZXJmbG93LXk6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLmZzLXNjcm9sbGJhcixcbi5mcy1zY3JvbGxiYXIgKiB7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgLW1vei11c2VyLXNlbGVjdDogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgLW1zLXVzZXItc2VsZWN0OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmUgIWltcG9ydGFudDtcbn1cbi5mcy1zY3JvbGxiYXIsXG4uZnMtc2Nyb2xsYmFyLWNvbnRlbnQsXG4uZnMtc2Nyb2xsYmFyLWJhcixcbi5mcy1zY3JvbGxiYXItdHJhY2ssXG4uZnMtc2Nyb2xsYmFyLWhhbmRsZSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG4uZnMtc2Nyb2xsYmFyLWNvbnRlbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDE7XG4gIGhlaWdodDogMTAwJTtcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xufVxuLmZzLXNjcm9sbGJhci1jb250ZW50Ojotd2Via2l0LXNjcm9sbGJhcixcbi5mcy1zY3JvbGxiYXItY29udGVudDo6LXdlYmtpdC1zY3JvbGxiYXItYnV0dG9uLFxuLmZzLXNjcm9sbGJhci1jb250ZW50Ojotd2Via2l0LXNjcm9sbGJhci10cmFjayxcbi5mcy1zY3JvbGxiYXItY29udGVudDo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2stcGllY2UsXG4uZnMtc2Nyb2xsYmFyLWNvbnRlbnQ6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iLFxuLmZzLXNjcm9sbGJhci1jb250ZW50Ojotd2Via2l0LXNjcm9sbGJhci1jb3JuZXIsXG4uZnMtc2Nyb2xsYmFyLWNvbnRlbnQ6Oi13ZWJraXQtcmVzaXplciB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBvcGFjaXR5OiAwO1xufVxuLmZzLXNjcm9sbGJhci1iYXIge1xuICB3aWR0aDogMTZweDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwO1xuICB0b3A6IDA7XG4gIHotaW5kZXg6IDI7XG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4uZnMtc2Nyb2xsYmFyLXRyYWNrIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuLmZzLXNjcm9sbGJhci1oYW5kbGUge1xuICB3aWR0aDogMTBweDtcbiAgaGVpZ2h0OiAyMHB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDNweDtcbiAgei1pbmRleDogMjtcbiAgYmFja2dyb3VuZDogI2NjY2NjYztcbiAgYm9yZGVyOiAxcHggc29saWQgI2ZmZmZmZjtcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4uZnMtc2Nyb2xsYmFyLWhvcml6b250YWwgLmZzLXNjcm9sbGJhci1jb250ZW50IHtcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIG92ZXJmbG93LXg6IGF1dG87XG4gIG92ZXJmbG93LXk6IGhpZGRlbjtcbiAgcGFkZGluZzogMCAwIDE2cHggMDtcbn1cbi5mcy1zY3JvbGxiYXItaG9yaXpvbnRhbCAuZnMtc2Nyb2xsYmFyLWJhciB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDE2cHg7XG4gIHRvcDogYXV0bztcbiAgYm90dG9tOiAwO1xufVxuLmZzLXNjcm9sbGJhci1ob3Jpem9udGFsIC5mcy1zY3JvbGxiYXItaGFuZGxlIHtcbiAgd2lkdGg6IDIwcHg7XG4gIGhlaWdodDogMTBweDtcbiAgdG9wOiBhdXRvO1xuICByaWdodDogYXV0bztcbiAgYm90dG9tOiAzcHg7XG59XG4uZnMtc2Nyb2xsYmFyLXNldHVwIC5mcy1zY3JvbGxiYXItY29udGVudCxcbi5mcy1zY3JvbGxiYXItYWN0aXZlIC5mcy1zY3JvbGxiYXItY29udGVudCB7XG4gIHBhZGRpbmc6IDIwcHg7XG59XG4uZnMtc2Nyb2xsYmFyLXNldHVwIC5mcy1zY3JvbGxiYXItYmFyLFxuLmZzLXNjcm9sbGJhci1hY3RpdmUgLmZzLXNjcm9sbGJhci1iYXIge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbi5zY3JvbGxlciB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgb3ZlcmZsb3cteTogaGlkZGVuO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4uc2Nyb2xsZXIsXG4uc2Nyb2xsZXIgKiB7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgLW1vei11c2VyLXNlbGVjdDogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgLW1zLXVzZXItc2VsZWN0OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmUgIWltcG9ydGFudDtcbn1cbi5zY3JvbGxlcixcbi5zY3JvbGxlci1jb250ZW50LFxuLnNjcm9sbGVyLWJhcixcbi5zY3JvbGxlci10cmFjayxcbi5zY3JvbGxlci1oYW5kbGUge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuLnNjcm9sbGVyLWNvbnRlbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDE7XG4gIGhlaWdodDogMTAwJTtcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiByZW0oLTIwcHgpOyAvL25lZWRlZCB0byBoaWRlIGZpcmVmb3ggc2Nyb2xsYmFyIC0gZG9uJ3QgcmVtb3ZlXG4gIC1tcy1vdmVyZmxvdy1zdHlsZTogbm9uZTtcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xufVxuLnNjcm9sbGVyLWNvbnRlbnQ6Oi13ZWJraXQtc2Nyb2xsYmFyLFxuLnNjcm9sbGVyLWNvbnRlbnQ6Oi13ZWJraXQtc2Nyb2xsYmFyLWJ1dHRvbixcbi5zY3JvbGxlci1jb250ZW50Ojotd2Via2l0LXNjcm9sbGJhci10cmFjayxcbi5zY3JvbGxlci1jb250ZW50Ojotd2Via2l0LXNjcm9sbGJhci10cmFjay1waWVjZSxcbi5zY3JvbGxlci1jb250ZW50Ojotd2Via2l0LXNjcm9sbGJhci10aHVtYixcbi5zY3JvbGxlci1jb250ZW50Ojotd2Via2l0LXNjcm9sbGJhci1jb3JuZXIsXG4uc2Nyb2xsZXItY29udGVudDo6LXdlYmtpdC1yZXNpemVyIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIG9wYWNpdHk6IDA7XG59XG4uc2Nyb2xsZXItYmFyIHtcbiAgd2lkdGg6IDE2cHg7XG4gIGhlaWdodDogMTAwJTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgdG9wOiAwO1xuICB6LWluZGV4OiAyO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi5zY3JvbGxlci10cmFjayB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gICY6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgd2lkdGg6IHJlbSg0cHgpO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiA3cHg7XG4gICAgYmFja2dyb3VuZDogc2V0Y29sb3IodGFuKTtcbiAgICB6LWluZGV4OiAxO1xuICB9XG59XG4uc2Nyb2xsZXItaGFuZGxlIHtcbiAgd2lkdGg6IHJlbSg4cHgpO1xuICBoZWlnaHQ6IDIwcHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogNXB4O1xuICBiYWNrZ3JvdW5kOiBzZXRjb2xvcihyZWQpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHotaW5kZXg6IDI7XG59XG4uc2Nyb2xsZXItaG9yaXpvbnRhbCAuc2Nyb2xsZXItY29udGVudCB7XG4gIG92ZXJmbG93OiBhdXRvO1xuICBvdmVyZmxvdy14OiBhdXRvO1xuICBvdmVyZmxvdy15OiBoaWRkZW47XG4gIHBhZGRpbmc6IDAgMCAxNnB4IDA7XG59XG4uc2Nyb2xsZXItaG9yaXpvbnRhbCAuc2Nyb2xsZXItYmFyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTZweDtcbiAgdG9wOiBhdXRvO1xuICBib3R0b206IDA7XG59XG4uc2Nyb2xsZXItaG9yaXpvbnRhbCAuc2Nyb2xsZXItaGFuZGxlIHtcbiAgd2lkdGg6IDIwcHg7XG4gIGhlaWdodDogMTBweDtcbiAgdG9wOiBhdXRvO1xuICByaWdodDogYXV0bztcbiAgYm90dG9tOiAzcHg7XG59XG4uc2Nyb2xsZXItc2V0dXAgLnNjcm9sbGVyLWNvbnRlbnQsXG4uc2Nyb2xsZXItYWN0aXZlIC5zY3JvbGxlci1jb250ZW50IHtcbiAgcGFkZGluZzogcmVtKDAgMTBweCAwIDApO1xufVxuLnNjcm9sbGVyLXNldHVwIC5zY3JvbGxlci1iYXIsXG4uc2Nyb2xsZXItYWN0aXZlIC5zY3JvbGxlci1iYXIge1xuICBkaXNwbGF5OiBibG9jaztcbn0iLCIvKiBNYWduaWZpYyBQb3B1cCBDU1MgKi9cbi5tZnAtYmcge1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHotaW5kZXg6IDEwNDI7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgYmFja2dyb3VuZDogIzBiMGIwYjtcbiAgb3BhY2l0eTogMC44O1xuICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9ODApOyB9XG5cbi5tZnAtd3JhcCB7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgei1pbmRleDogMTA0MztcbiAgcG9zaXRpb246IGZpeGVkO1xuICBvdXRsaW5lOiBub25lICFpbXBvcnRhbnQ7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5tZnAtY29udGFpbmVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgcGFkZGluZzogMCA4cHg7XG4gIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG5cbi5tZnAtY29udGFpbmVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICcnO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGhlaWdodDogMTAwJTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuXG4ubWZwLWFsaWduLXRvcCAubWZwLWNvbnRhaW5lcjpiZWZvcmUge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5tZnAtY29udGVudCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXJnaW46IDAgYXV0bztcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgei1pbmRleDogMTA0NTsgfVxuXG4ubWZwLWlubGluZS1ob2xkZXIgLm1mcC1jb250ZW50LFxuLm1mcC1hamF4LWhvbGRlciAubWZwLWNvbnRlbnQge1xuICB3aWR0aDogMTAwJTtcbiAgY3Vyc29yOiBhdXRvOyB9XG5cbi5tZnAtYWpheC1jdXIge1xuICBjdXJzb3I6IHByb2dyZXNzOyB9XG5cbi5tZnAtem9vbS1vdXQtY3VyLCAubWZwLXpvb20tb3V0LWN1ciAubWZwLWltYWdlLWhvbGRlciAubWZwLWNsb3NlIHtcbiAgY3Vyc29yOiAtbW96LXpvb20tb3V0O1xuICBjdXJzb3I6IC13ZWJraXQtem9vbS1vdXQ7XG4gIGN1cnNvcjogem9vbS1vdXQ7IH1cblxuLm1mcC16b29tIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjdXJzb3I6IC13ZWJraXQtem9vbS1pbjtcbiAgY3Vyc29yOiAtbW96LXpvb20taW47XG4gIGN1cnNvcjogem9vbS1pbjsgfVxuXG4ubWZwLWF1dG8tY3Vyc29yIC5tZnAtY29udGVudCB7XG4gIGN1cnNvcjogYXV0bzsgfVxuXG4ubWZwLWNsb3NlLFxuLm1mcC1hcnJvdyxcbi5tZnAtcHJlbG9hZGVyLFxuLm1mcC1jb3VudGVyIHtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7IH1cblxuLm1mcC1sb2FkaW5nLm1mcC1maWd1cmUge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5tZnAtaGlkZSB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4ubWZwLXByZWxvYWRlciB7XG4gIGNvbG9yOiAjQ0NDO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB3aWR0aDogYXV0bztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXJnaW4tdG9wOiAtMC44ZW07XG4gIGxlZnQ6IDhweDtcbiAgcmlnaHQ6IDhweDtcbiAgei1pbmRleDogMTA0NDsgfVxuICAubWZwLXByZWxvYWRlciBhIHtcbiAgICBjb2xvcjogI0NDQzsgfVxuICAgIC5tZnAtcHJlbG9hZGVyIGE6aG92ZXIge1xuICAgICAgY29sb3I6ICNGRkY7IH1cblxuLm1mcC1zLXJlYWR5IC5tZnAtcHJlbG9hZGVyIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4ubWZwLXMtZXJyb3IgLm1mcC1jb250ZW50IHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG5idXR0b24ubWZwLWNsb3NlLFxuYnV0dG9uLm1mcC1hcnJvdyB7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IDA7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG91dGxpbmU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG4gIHotaW5kZXg6IDEwNDY7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogbm9uZTtcbiAgYm94LXNoYWRvdzogbm9uZTsgfVxuXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIge1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IDA7IH1cblxuLm1mcC1jbG9zZSB7XG4gIHdpZHRoOiA0NHB4O1xuICBoZWlnaHQ6IDQ0cHg7XG4gIGxpbmUtaGVpZ2h0OiA0NHB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwO1xuICB0b3A6IDA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBvcGFjaXR5OiAwLjY1O1xuICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9NjUpO1xuICBwYWRkaW5nOiAwIDAgMThweCAxMHB4O1xuICBjb2xvcjogI0ZGRjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXNpemU6IDI4cHg7XG4gIGZvbnQtZmFtaWx5OiBBcmlhbCwgQmFza2VydmlsbGUsIG1vbm9zcGFjZTsgfVxuICAubWZwLWNsb3NlOmhvdmVyLFxuICAubWZwLWNsb3NlOmZvY3VzIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIGZpbHRlcjogYWxwaGEob3BhY2l0eT0xMDApOyB9XG4gIC5tZnAtY2xvc2U6YWN0aXZlIHtcbiAgICB0b3A6IDFweDsgfVxuXG4ubWZwLWNsb3NlLWJ0bi1pbiAubWZwLWNsb3NlIHtcbiAgY29sb3I6ICMzMzM7IH1cblxuLm1mcC1pbWFnZS1ob2xkZXIgLm1mcC1jbG9zZSxcbi5tZnAtaWZyYW1lLWhvbGRlciAubWZwLWNsb3NlIHtcbiAgY29sb3I6ICNGRkY7XG4gIHJpZ2h0OiAtNnB4O1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgcGFkZGluZy1yaWdodDogNnB4O1xuICB3aWR0aDogMTAwJTsgfVxuXG4ubWZwLWNvdW50ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGNvbG9yOiAjQ0NDO1xuICBmb250LXNpemU6IDEycHg7XG4gIGxpbmUtaGVpZ2h0OiAxOHB4O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG5cbi5tZnAtYXJyb3cge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG9wYWNpdHk6IDAuNjU7XG4gIGZpbHRlcjogYWxwaGEob3BhY2l0eT02NSk7XG4gIG1hcmdpbjogMDtcbiAgdG9wOiA1MCU7XG4gIG1hcmdpbi10b3A6IC01NXB4O1xuICBwYWRkaW5nOiAwO1xuICB3aWR0aDogOTBweDtcbiAgaGVpZ2h0OiAxMTBweDtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAubWZwLWFycm93OmFjdGl2ZSB7XG4gICAgbWFyZ2luLXRvcDogLTU0cHg7IH1cbiAgLm1mcC1hcnJvdzpob3ZlcixcbiAgLm1mcC1hcnJvdzpmb2N1cyB7XG4gICAgb3BhY2l0eTogMTtcbiAgICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9MTAwKTsgfVxuICAubWZwLWFycm93OmJlZm9yZSxcbiAgLm1mcC1hcnJvdzphZnRlcixcbiAgLm1mcC1hcnJvdyAubWZwLWIsXG4gIC5tZnAtYXJyb3cgLm1mcC1hIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIG1hcmdpbi10b3A6IDM1cHg7XG4gICAgbWFyZ2luLWxlZnQ6IDM1cHg7XG4gICAgYm9yZGVyOiBtZWRpdW0gaW5zZXQgdHJhbnNwYXJlbnQ7IH1cbiAgLm1mcC1hcnJvdzphZnRlcixcbiAgLm1mcC1hcnJvdyAubWZwLWEge1xuICAgIGJvcmRlci10b3Atd2lkdGg6IDEzcHg7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMTNweDtcbiAgICB0b3A6IDhweDsgfVxuICAubWZwLWFycm93OmJlZm9yZSxcbiAgLm1mcC1hcnJvdyAubWZwLWIge1xuICAgIGJvcmRlci10b3Atd2lkdGg6IDIxcHg7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMjFweDtcbiAgICBvcGFjaXR5OiAwLjc7IH1cblxuLm1mcC1hcnJvdy1sZWZ0IHtcbiAgbGVmdDogMDsgfVxuICAubWZwLWFycm93LWxlZnQ6YWZ0ZXIsXG4gIC5tZnAtYXJyb3ctbGVmdCAubWZwLWEge1xuICAgIGJvcmRlci1yaWdodDogMTdweCBzb2xpZCAjRkZGO1xuICAgIG1hcmdpbi1sZWZ0OiAzMXB4OyB9XG4gIC5tZnAtYXJyb3ctbGVmdDpiZWZvcmUsXG4gIC5tZnAtYXJyb3ctbGVmdCAubWZwLWIge1xuICAgIG1hcmdpbi1sZWZ0OiAyNXB4O1xuICAgIGJvcmRlci1yaWdodDogMjdweCBzb2xpZCAjM0YzRjNGOyB9XG5cbi5tZnAtYXJyb3ctcmlnaHQge1xuICByaWdodDogMDsgfVxuICAubWZwLWFycm93LXJpZ2h0OmFmdGVyLFxuICAubWZwLWFycm93LXJpZ2h0IC5tZnAtYSB7XG4gICAgYm9yZGVyLWxlZnQ6IDE3cHggc29saWQgI0ZGRjtcbiAgICBtYXJnaW4tbGVmdDogMzlweDsgfVxuICAubWZwLWFycm93LXJpZ2h0OmJlZm9yZSxcbiAgLm1mcC1hcnJvdy1yaWdodCAubWZwLWIge1xuICAgIGJvcmRlci1sZWZ0OiAyN3B4IHNvbGlkICMzRjNGM0Y7IH1cblxuLm1mcC1pZnJhbWUtaG9sZGVyIHtcbiAgcGFkZGluZy10b3A6IDQwcHg7XG4gIHBhZGRpbmctYm90dG9tOiA0MHB4OyB9XG4gIC5tZnAtaWZyYW1lLWhvbGRlciAubWZwLWNvbnRlbnQge1xuICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogOTAwcHg7IH1cbiAgLm1mcC1pZnJhbWUtaG9sZGVyIC5tZnAtY2xvc2Uge1xuICAgIHRvcDogLTQwcHg7IH1cblxuLm1mcC1pZnJhbWUtc2NhbGVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZy10b3A6IDU2LjI1JTsgfVxuICAubWZwLWlmcmFtZS1zY2FsZXIgaWZyYW1lIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJveC1zaGFkb3c6IDAgMCA4cHggcmdiYSgwLCAwLCAwLCAwLjYpO1xuICAgIGJhY2tncm91bmQ6ICMwMDA7IH1cblxuLyogTWFpbiBpbWFnZSBpbiBwb3B1cCAqL1xuaW1nLm1mcC1pbWcge1xuICB3aWR0aDogYXV0bztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBsaW5lLWhlaWdodDogMDtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHBhZGRpbmc6IDQwcHggMCA0MHB4O1xuICBtYXJnaW46IDAgYXV0bzsgfVxuXG4vKiBUaGUgc2hhZG93IGJlaGluZCB0aGUgaW1hZ2UgKi9cbi5tZnAtZmlndXJlIHtcbiAgbGluZS1oZWlnaHQ6IDA7IH1cbiAgLm1mcC1maWd1cmU6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogNDBweDtcbiAgICBib3R0b206IDQwcHg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcmlnaHQ6IDA7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHotaW5kZXg6IC0xO1xuICAgIGJveC1zaGFkb3c6IDAgMCA4cHggcmdiYSgwLCAwLCAwLCAwLjYpO1xuICAgIGJhY2tncm91bmQ6ICM0NDQ7IH1cbiAgLm1mcC1maWd1cmUgc21hbGwge1xuICAgIGNvbG9yOiAjQkRCREJEO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBsaW5lLWhlaWdodDogMTRweDsgfVxuICAubWZwLWZpZ3VyZSBmaWd1cmUge1xuICAgIG1hcmdpbjogMDsgfVxuXG4ubWZwLWJvdHRvbS1iYXIge1xuICBtYXJnaW4tdG9wOiAtMzZweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDEwMCU7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBjdXJzb3I6IGF1dG87IH1cblxuLm1mcC10aXRsZSB7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGxpbmUtaGVpZ2h0OiAxOHB4O1xuICBjb2xvcjogI0YzRjNGMztcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICBwYWRkaW5nLXJpZ2h0OiAzNnB4OyB9XG5cbi5tZnAtaW1hZ2UtaG9sZGVyIC5tZnAtY29udGVudCB7XG4gIG1heC13aWR0aDogMTAwJTsgfVxuXG4ubWZwLWdhbGxlcnkgLm1mcC1pbWFnZS1ob2xkZXIgLm1mcC1maWd1cmUge1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODAwcHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSksIHNjcmVlbiBhbmQgKG1heC1oZWlnaHQ6IDMwMHB4KSB7XG4gIC8qKlxuICAgICAgICogUmVtb3ZlIGFsbCBwYWRkaW5ncyBhcm91bmQgdGhlIGltYWdlIG9uIHNtYWxsIHNjcmVlblxuICAgICAgICovXG4gIC5tZnAtaW1nLW1vYmlsZSAubWZwLWltYWdlLWhvbGRlciB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7IH1cbiAgLm1mcC1pbWctbW9iaWxlIGltZy5tZnAtaW1nIHtcbiAgICBwYWRkaW5nOiAwOyB9XG4gIC5tZnAtaW1nLW1vYmlsZSAubWZwLWZpZ3VyZTphZnRlciB7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDsgfVxuICAubWZwLWltZy1tb2JpbGUgLm1mcC1maWd1cmUgc21hbGwge1xuICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICBtYXJnaW4tbGVmdDogNXB4OyB9XG4gIC5tZnAtaW1nLW1vYmlsZSAubWZwLWJvdHRvbS1iYXIge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC42KTtcbiAgICBib3R0b206IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIHRvcDogYXV0bztcbiAgICBwYWRkaW5nOiAzcHggNXB4O1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cbiAgICAubWZwLWltZy1tb2JpbGUgLm1mcC1ib3R0b20tYmFyOmVtcHR5IHtcbiAgICAgIHBhZGRpbmc6IDA7IH1cbiAgLm1mcC1pbWctbW9iaWxlIC5tZnAtY291bnRlciB7XG4gICAgcmlnaHQ6IDVweDtcbiAgICB0b3A6IDNweDsgfVxuICAubWZwLWltZy1tb2JpbGUgLm1mcC1jbG9zZSB7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIHdpZHRoOiAzNXB4O1xuICAgIGhlaWdodDogMzVweDtcbiAgICBsaW5lLWhlaWdodDogMzVweDtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNik7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAwOyB9IH1cblxuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogOTAwcHgpIHtcbiAgLm1mcC1hcnJvdyB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuNzUpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC43NSk7IH1cbiAgLm1mcC1hcnJvdy1sZWZ0IHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IDA7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogMDsgfVxuICAubWZwLWFycm93LXJpZ2h0IHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IDEwMCU7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogMTAwJTsgfVxuICAubWZwLWNvbnRhaW5lciB7XG4gICAgcGFkZGluZy1sZWZ0OiA2cHg7XG4gICAgcGFkZGluZy1yaWdodDogNnB4OyB9IH1cblxuLm1mcC1pZTcgLm1mcC1pbWcge1xuICBwYWRkaW5nOiAwOyB9XG5cbi5tZnAtaWU3IC5tZnAtYm90dG9tLWJhciB7XG4gIHdpZHRoOiA2MDBweDtcbiAgbGVmdDogNTAlO1xuICBtYXJnaW4tbGVmdDogLTMwMHB4O1xuICBtYXJnaW4tdG9wOiA1cHg7XG4gIHBhZGRpbmctYm90dG9tOiA1cHg7IH1cblxuLm1mcC1pZTcgLm1mcC1jb250YWluZXIge1xuICBwYWRkaW5nOiAwOyB9XG5cbi5tZnAtaWU3IC5tZnAtY29udGVudCB7XG4gIHBhZGRpbmctdG9wOiA0NHB4OyB9XG5cbi5tZnAtaWU3IC5tZnAtY2xvc2Uge1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBwYWRkaW5nLXRvcDogMDsgfVxuIiwiLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFdPUkRQUkVTUyBERUZBVUxUXG4vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBEZWZhdWx0IHdvcmRwcmVzcyBjbGFzc2VzIHVzZWQgaW5zaWRlIHRoZSB3eXNpd3lnIGVkaXRvci5cbi8vIEhhcyBiZWVuIG1hZGUgcmVzcG9uc2l2ZSBmb3IgaW1hZ2UgdXNhZ2UuXG5cbiRtYXJnaW4tcmlnaHQ6ICByZW0oNXB4IDAgMjBweCAyMHB4KTtcbiRtYXJnaW4tbGVmdDogICByZW0oNXB4IDIwcHggMjBweCAwKTtcbiRtYXJnaW4tY2VudGVyOiByZW0oNXB4IGF1dG8gMCBhdXRvKTtcblxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEhlbHBlciBDbGFzc2VzXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uYWxpZ25ub25lIHtcblx0bWFyZ2luOiAwO1xufVxuXG4uYWxpZ25jZW50ZXIsXG5kaXYuYWxpZ25jZW50ZXIge1xuXHRkaXNwbGF5OiBibG9jaztcblx0bWFyZ2luOiAkbWFyZ2luLWNlbnRlcjtcbn1cblxuLmFsaWducmlnaHQge1xuXHRmbG9hdDogbm9uZTtcblx0QGluY2x1ZGUgbXEobWluaSkge1xuXHRcdGZsb2F0OiByaWdodDtcblx0XHRtYXJnaW46ICRtYXJnaW4tcmlnaHQ7XG5cdH1cbn1cblxuLmFsaWdubGVmdCB7XG5cdGZsb2F0OiBub25lO1xuXHRAaW5jbHVkZSBtcShtaW5pKSB7XG5cdFx0ZmxvYXQ6IGxlZnQ7XG5cdFx0bWFyZ2luOiAkbWFyZ2luLWxlZnQ7XG5cdH1cbn1cblxuLmFsaWduY2VudGVyIHtcblx0ZGlzcGxheTogYmxvY2s7XG5cdG1hcmdpbjogJG1hcmdpbi1jZW50ZXI7XG59XG5cblxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEltYWdlIGxpbmtzXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5hIGltZyB7XG5cdCYuYWxpZ25sZWZ0LFxuXHQmLmFsaWducmlnaHQge1xuXHRcdEBpbmNsdWRlIG1xKG1pbmkpIHtcblx0XHRcdHdpZHRoOiBhdXRvO1xuXHRcdFx0ZmxvYXQ6IGxlZnQ7XG5cdFx0fVxuXHR9XG5cblx0Ji5hbGlnbmxlZnQge1xuXHRcdEBpbmNsdWRlIG1xKG1pbmkpIHtcblx0XHRcdG1hcmdpbjogJG1hcmdpbi1sZWZ0O1xuXHRcdH1cblx0fVxuXG5cdCYuYWxpZ25yaWdodCB7XG5cdFx0QGluY2x1ZGUgbXEobWluaSkge1xuXHRcdFx0bWFyZ2luOiAkbWFyZ2luLXJpZ2h0O1xuXHRcdH1cblx0fVxuXG5cdCYuYWxpZ25jZW50ZXIge1xuXHRcdHdpZHRoOiBhdXRvO1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdG1hcmdpbi1sZWZ0OiBhdXRvO1xuXHRcdG1hcmdpbi1yaWdodDogYXV0b1xuXHR9XG5cblx0Ji5hbGlnbm5vbmUge1xuXHRcdEBpbmNsdWRlIG1xKG1pbmkpIHtcblx0XHRcdHdpZHRoOiBhdXRvO1xuXHRcdH1cblx0fVxufVxuXG5cbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBDYXB0aW9uc1xuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLndwLWNhcHRpb24ge1xuXHR3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuXHRtYXgtd2lkdGg6IDEwMCU7XG5cdHBhZGRpbmc6IHJlbSgwIDAgMTBweCk7XG5cdHRleHQtYWxpZ246IGxlZnQ7XG5cdG1hcmdpbi1ib3R0b206IHJlbSgyMHB4KTtcblxuXHRhLFxuXHRhOmhvdmVyIHtcblx0XHRib3JkZXItYm90dG9tOiAwICFpbXBvcnRhbnQ7XG5cdH1cblxuXHRpbWcge1xuXHRcdGJvcmRlcjogMCBub25lO1xuXHRcdGhlaWdodDogYXV0bztcblx0XHRtYXJnaW46IHJlbSgwIDAgNXB4KTtcblx0XHRtYXgtd2lkdGg6IDEwMCU7XG5cdFx0cGFkZGluZzogMDtcblx0XHR3aWR0aDogMTAwJTtcblx0fVxuXG5cdCYuYWxpZ25ub25lIHtcblx0XHRAaW5jbHVkZSBtcShtaW5pKSB7XG5cdFx0XHRtYXJnaW46ICRtYXJnaW4tbGVmdDtcblx0XHR9XG5cdH1cblxuXHQmLmFsaWdubGVmdCB7XG5cdFx0QGluY2x1ZGUgbXEobWluaSkge1xuXHRcdFx0bWFyZ2luOiAkbWFyZ2luLWxlZnQ7XG5cdFx0fVxuXHR9XG5cblx0Ji5hbGlnbnJpZ2h0IHtcblx0XHRAaW5jbHVkZSBtcShtaW5pKSB7XG5cdFx0XHRtYXJnaW46ICRtYXJnaW4tcmlnaHQ7XG5cdFx0fVxuXHR9XG5cblx0Ji5hbGlnbmxlZnQsXG5cdCYuYWxpZ25yaWdodCB7XG5cdFx0QGluY2x1ZGUgbXEobWluaSkge1xuXHRcdFx0d2lkdGg6IHJlbSgyNTBweCkgIWltcG9ydGFudDtcblx0XHR9XG5cdFx0QGluY2x1ZGUgbXEobWVkaXVtKSB7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdG1heC13aWR0aDogcmVtKDM0MHB4KTtcblx0XHR9XG5cdH1cblxuXHQud3AtY2FwdGlvbi10ZXh0IHtcblx0XHRAaW5jbHVkZSBzZXRmb250KGRlZmF1bHQpO1xuXHRcdGZvbnQtc2l6ZTogcmVtKDEycHgpO1xuXHRcdGNvbG9yOiAjNzc3O1xuXHRcdGxpbmUtaGVpZ2h0OiByZW0oMTZweCk7XG5cdFx0cGFkZGluZzogcmVtKDAgMCAxMHB4KTtcblx0XHRtYXJnaW46IDA7XG5cdFx0Ym9yZGVyLWJvdHRvbTogcmVtKDFweCkgc29saWQgcmdiYSgxOTIsIDE5MiwgMTkzLCAwLjIpO1xuXHR9XG59XG5cbi5hbGlnbmNlbnRlci53cC1jYXB0aW9uIHtcblx0d2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbn1cblxuI2Rpc2hfcHJvZmlsZS10YWJzIHtcblx0ZGlzcGxheTogbm9uZTtcbn0iLCIvLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gR3JpZFxuLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLmdyaWQge1xuICAgIEBpbmNsdWRlIG1xKG1heC1tZWRpdW0pIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiByZW0oNXB4KTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogcmVtKDVweCk7XG4gICAgfVxufVxuXG4uZ3JpZC1yb3cge1xuICAgIEBpbmNsdWRlIGNmO1xuXG4gICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi10b3A6IHJlbSg1cHgpO1xuICAgIH1cblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbSg1cHgpO1xuICAgIH1cbn1cblxuLy8gR3JpZCBSb3cgUmVzcG9uc2l2ZSBGaXhlc1xuLmdyaWQtb3B0aW9uLWUsXG4uZ3JpZC1vcHRpb24tZixcbi5ncmlkLW9wdGlvbi1nLFxuLmdyaWQtb3B0aW9uLWgge1xuICAgIC53aWRlIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxufVxuXG4uZ3JpZC1vcHRpb24tZCB7XG4gICAgQGluY2x1ZGUgbXEobWVkaXVtKSB7XG4gICAgICAgIC5ncmlkLWJsb2NrOm50aC1jaGlsZCgyKSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmdyaWQtb3B0aW9uLWUge1xuICAgIEBpbmNsdWRlIG1xKG1pbmkpIHtcbiAgICAgICAgLmdyaWQtYmxvY2s6bnRoLWNoaWxkKDMpIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uZ3JpZC1vcHRpb24tZiB7XG4gICAgLmJpZy1zcXVhcmUge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtcShtZWRpdW0pIHtcbiAgICAgICAgLmdyaWQtYmxvY2s6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uZ3JpZC1vcHRpb24taSB7XG4gICAgQGluY2x1ZGUgbXEobWVkaXVtKSB7XG4gICAgICAgIEBpbmNsdWRlIG1xKG1heC1sYXJnZSkge1xuICAgICAgICAgICAgLmdyaWQtYmxvY2s6bnRoLWNoaWxkKDIpLFxuICAgICAgICAgICAgLmdyaWQtYmxvY2s6bnRoLWNoaWxkKDMpIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogNjYuNjY2NjY2NiU7XG5cbiAgICAgICAgICAgICAgICAvLyB0cmVhdCBsaWtlIGEgd2lkZVxuICAgICAgICAgICAgICAgIC5mZWF0dXJlZC1pbWFnZSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIHdpZHRoOiA1MCU7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAzNSU7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiA2Ni42NjY2JTtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4uZ3JpZC1ibG9jayB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgQGluY2x1ZGUgY2Y7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgcGFkZGluZzogcmVtKDVweCk7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgIEBpbmNsdWRlIG1xKG1pbmkpIHtcbiAgICAgICAgd2lkdGg6IDUwJTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtcShtZWRpdW0pIHtcbiAgICAgICAgd2lkdGg6IDMzLjMzMzMzMyU7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbXEoeGxhcmdlKSB7XG4gICAgICAgIHdpZHRoOiAyNSU7XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHNldGNvbG9yKGJyb3duLCBkYXJrKTtcblxuICAgICAgICAvL1RyaWFuZ2xlIEhvdmVyXG4gICAgICAgICY6aG92ZXIsXG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgLmN0YS1saW5rIHtcbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbXEobWVkaXVtKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogcmVtKDE1cHgpXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLndpZGUsXG4gICAgJi5iaWctc3F1YXJlIHtcbiAgICAgICAgQGluY2x1ZGUgbXEobWVkaXVtKSB7XG4gICAgICAgICAgICB3aWR0aDogMzMuMzMzMzMzMyVcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1xKHhsYXJnZSkge1xuICAgICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYud2lkZSB7XG4gICAgICAgIC5mZWF0dXJlZC1pbWFnZSB7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgIGxlZnQ6IDY2LjY2NjYlO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICAgIH1cbiAgICAgICAgLnN0ZWVsIHtcbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1xKHhsYXJnZSkge1xuICAgICAgICAgICAgICAgICAgICB0b3A6IDY2LjY2NjY2NiU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAmLnRocmVlLXdpZGUge1xuICAgICAgICBAaW5jbHVkZSBtcShtZWRpdW0pIHtcbiAgICAgICAgICAgIHdpZHRoOiA2Ni42NjY2NjY2NiVcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1xKHhsYXJnZSkge1xuICAgICAgICAgICAgd2lkdGg6IDc1JTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYuZnVsbCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgIC5mZWF0dXJlZC1pbWFnZSB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IHJlbSgyMDBweCk7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1xKGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiByZW0oMzAwcHgpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBtcSh4bGFyZ2UpIHtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IHJlbSg0MDBweCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLnRocmVlLXdpZGUsXG4gICAgJi5mdWxsLFxuICAgICYuYmlnLXNxdWFyZSB7XG4gICAgICAgIC5mZWF0dXJlZC1pbWFnZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtcShtaW5pKSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDM1JTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgbXEoc21hbGwpIHtcbiAgICAgICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgICAgICBsZWZ0OiA2Ni42NjY2JTtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICYuYmlnLXNxdWFyZSxcbiAgICAmLnRhbGwge1xuICAgICAgICAuZmVhdHVyZWQtaW1hZ2Uge1xuICAgICAgICAgICAgQGluY2x1ZGUgbXEobWVkaXVtKSB7XG4gICAgICAgICAgICAgICAgdG9wOiA0MCU7XG4gICAgICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgICAgICAgICAgIHdpZHRoOiA4NSU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgICYud2lkZSxcbiAgICAmLnRocmVlLXdpZGUsXG4gICAgJi5mdWxsIHtcbiAgICAgICAgLnRhbixcbiAgICAgICAgLmdvbGQge1xuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbXEobGFyZ2UpIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IHJlbSgzMDBweCk7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogcmVtKDMwMHB4KTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtcSh4bGFyZ2UpIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IHJlbSg0MDBweCk7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogcmVtKDQwMHB4KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLnRocmVlLXdpZGUsXG4gICAgJi5mdWxsIHtcbiAgICAgICAgLnN0ZWVsIHtcbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1xKG1lZGl1bSkge1xuICAgICAgICAgICAgICAgICAgICB0b3A6IDY2LjY2NjY2NiU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi50YWxsIHtcbiAgICAgICAgLnRhbixcbiAgICAgICAgLmdvbGQge1xuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbXEobGFyZ2UpIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IHJlbSgzNTBweCk7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogcmVtKDM1MHB4KTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtcSh4bGFyZ2UpIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IHJlbSg0NTBweCk7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogcmVtKDQ1MHB4KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLmJpZy1zcXVhcmUge1xuICAgICAgICAuZmVhdHVyZWQtaW1hZ2Uge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiByZW0oNDAwcHgpO1xuICAgICAgICB9XG5cbiAgICAgICAgLnRhbixcbiAgICAgICAgLmdvbGQge1xuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbXEobGFyZ2UpIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IHJlbSg0MDBweCk7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogcmVtKDQwMHB4KTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtcSh4bGFyZ2UpIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IHJlbSg1MDBweCk7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogcmVtKDUwMHB4KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cblxuLmltYWdlLW1vZHVsZSB7XG4gICAgQGV4dGVuZCAlYmctY292ZXI7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICY6aG92ZXIgLm1lZGlhLFxuICAgICY6Zm9jdXMgLm1lZGlhIHtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wNSk7XG4gICAgfVxufVxuXG4ubWVkaWEge1xuICAgIEBleHRlbmQgJWJnLWNvdmVyO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gNDAwbXMgJGN1YmljO1xuICAgIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm07XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB6LWluZGV4OiAxO1xuICB9XG5cbi5ncmFwaGljLW1vZHVsZSB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAuZ3JpZC10ZXh0IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbm9uZTtcbiAgICB9XG5cbiAgICAuZmVhdHVyZWQtaW1hZ2Uge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHotaW5kZXg6IDM7XG4gICAgICAgIHRvcDogMzAlO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgICBvdXRsaW5lOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIG1heC13aWR0aDogcmVtKDQ1MHB4KTtcbiAgICAgICAgd2lkdGg6IDcwJTtcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDYwMG1zO1xuXG4gICAgICAgIEBpbmNsdWRlIG1xKG1lZGl1bSkge1xuICAgICAgICAgICAgdG9wOiAzMCU7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtcShsYXJnZSkge1xuICAgICAgICAgICAgd2lkdGg6IDY1JTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYudGFuLFxuICAgICYuZ29sZCB7XG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi50YW4ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBzZXRjb2xvcih0YW4pO1xuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogc2V0Y29sb3IodGFuLCBsaWdodCk7XG4gICAgICAgICAgICB3aWR0aDogcmVtKDI1MHB4KTtcbiAgICAgICAgICAgIGhlaWdodDogcmVtKDI1MHB4KTtcbiAgICAgICAgICAgIGxlZnQ6IDc1JTtcbiAgICAgICAgICAgIHRvcDogMjUlO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYuc3RlZWwge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBzZXRjb2xvcihzdGVlbCk7XG5cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIGhlaWdodDogOHB4O1xuICAgICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC93cC1jb250ZW50L3RoZW1lcy9ub29kbGVzLmNvbS9hc3NldHMvaW1hZ2VzL3N0cmlwLWJvcmRlci5zdmcpO1xuICAgICAgICAgICAgY29sb3I6IHBpbms7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYuZ29sZCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHNldGNvbG9yKGdvbGQpO1xuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogc2V0Y29sb3IodGFuLCBsaWdodCk7XG4gICAgICAgICAgICB3aWR0aDogcmVtKDMwMHB4KTtcbiAgICAgICAgICAgIGhlaWdodDogcmVtKDMwMHB4KTtcbiAgICAgICAgICAgIGxlZnQ6IDI1JTtcbiAgICAgICAgICAgIHRvcDogNzUlO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICY6aG92ZXIgLmZlYXR1cmVkLWltYWdlLFxuICAgICY6Zm9jdXMgLmZlYXR1cmVkLWltYWdlIHtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpIHRyYW5zbGF0ZSgtNDUlLCAtNDUlKTtcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDYwMG1zO1xuICAgIH1cbn1cblxuLmdyaWQtdGV4dCB7XG4gICAgbGVmdDogMDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHBhZGRpbmc6IHJlbSgxMHB4IDM1cHggMTBweCAxNXB4KTtcbiAgICBib3R0b206IHJlbSg1cHgpO1xuICAgIHotaW5kZXg6IDU7XG5cbiAgICBAaW5jbHVkZSBtcShsYXJnZSkge1xuICAgICAgICBib3R0b206IHJlbSgxMHB4KTtcbiAgICB9XG5cbiAgICAuaW1hZ2UtbW9kdWxlICYge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBzZXRjb2xvcih0YW4pO1xuICAgIH1cblxuICAgIGgzLCBoNCB7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGNvbG9yOiBzZXRjb2xvcihicm93bik7XG4gICAgfVxuXG4gICAgaDMge1xuICAgICAgICBAaW5jbHVkZSBzZXRmb250KCdkaXN0cmljdCBib2xkJyk7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDE0cHgpO1xuXG4gICAgICAgIEBpbmNsdWRlIG1xKGxhcmdlKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbSgxOHB4KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGg0IHtcbiAgICAgICAgQGluY2x1ZGUgc2V0Zm9udCgna25vY2tvdXQnKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgZm9udC1zaXplOiByZW0oMzZweCk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbSg1cHgpO1xuXG4gICAgICAgIEBpbmNsdWRlIG1xKGxhcmdlKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbSg0MnB4KTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1xKHhsYXJnZSkge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0oNDhweCk7XG4gICAgICAgIH1cbiAgICB9XG59IiwiLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFNpbXBsZSBUYWJzXG4vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vKlxuXG4gICAgRVhBTVBMRSBTVFJVQ1RVUkU6XG5cbiAgICAuc2ltcGxlLXRhYnMgICAgOiBDb250YWluZXIgdXNlZCBmb3IgSlMgYWN0aW9ucyBhbmQgTmFtZXNwYWNpbmdcbiAgICAudGFicyAgICAgICAgICAgOiBEZXNrdG9wIFRhYiBIZWFkZXJzXG4gICAgLnRhYiAgICAgICAgICAgIDogRGVza3RvcCBJbmRpdmlkdWFsIFRhYiBIZWFkZXJcbiAgICAudGFiLWRldGFpbHMgICAgOiBNYWluIENvbnRlbnQgb2YgRWFjaCBzZWN0aW9uXG4gICAgLm1vYmlsZS10YWIgICAgIDogTW9iaWxlIFRhYiBIZWFkZXIgKFVzZWQgYXMgVGFicyBUcmFuc2Zvcm0gaW50byBBY2NvcmRpb24gb24gTW9iaWxlKVxuICAgIHNlY3Rpb24gICAgICAgICA6IFNlY3Rpb24gZm9yIENvbnRlbnRcbiAgICBhcnRpY2xlICAgICAgICAgOiBBcnRpY2xlIGZvciBDb250ZW50XG5cbiAgICA8ZGl2IGNsYXNzPVwic2ltcGxlLXRhYnNcIj5cbiAgICAgICAgPHVsIGNsYXNzPVwidGFic1wiPlxuICAgICAgICAgICAgPGxpIGNsYXNzPVwidGFiIGFjdGl2ZVwiIGRhdGEtdGFiPVwiMVwiPlNlY3Rpb24gT25lPC9saT5cbiAgICAgICAgICAgIDxsaSBjbGFzcz1cInRhYlwiIGRhdGEtdGFiPVwiMlwiPlNlY3Rpb24gVHdvPC9saT5cbiAgICAgICAgICAgIDxsaSBjbGFzcz1cInRhYlwiIGRhdGEtdGFiPVwiM1wiPlNlY3Rpb24gVGhyZWU8L2xpPlxuICAgICAgICA8L3VsPlxuICAgICAgICA8dWwgY2xhc3M9XCJ0YWItZGV0YWlsc1wiPlxuICAgICAgICAgICAgPGxpIGNsYXNzPVwidGFiLWRldGFpbCBhY3RpdmVcIiBkYXRhLXRhYi1jb250ZW50PVwiMVwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtb2JpbGUtdGFiXCIgZGF0YS10YWI9XCIxXCI+U2VjdGlvbiBPbmU8L2Rpdj5cbiAgICAgICAgICAgICAgICA8c2VjdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgPGFydGljbGU+XG4gICAgICAgICAgICAgICAgICAgICAgICA8aDI+SDIgS25vY2tvdXQgNjcgfCA0OFBUPC9oMj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxoND5INCBEaXN0cmljdCBCb2xkIHwgMThwdDwvaDQ+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cD5Nb3JiaSBtYXR0aXMgc29kYWxlcyBsZWN0dXMgcXVpcyBmZXVnaWF0LiBGdXNjZSBxdWlzIGFsaXF1ZXQgdGVsbHVzLiBOdWxsYSB1bHRyaWNpZXMgbG9yZW0gbm9uIGJsYW5kaXQgdWx0cmljZXMuXG4gICAgICAgICAgICAgICAgICAgIDwvYXJ0aWNsZT5cbiAgICAgICAgICAgICAgICA8L3NlY3Rpb24+XG4gICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgPGxpIGNsYXNzPVwidGFiLWRldGFpbFwiIGRhdGEtdGFiLWNvbnRlbnQ9XCIyXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1vYmlsZS10YWJcIiBkYXRhLXRhYj1cIjJcIj5TZWN0aW9uIFR3bzwvZGl2PlxuICAgICAgICAgICAgICAgIDxzZWN0aW9uPlxuICAgICAgICAgICAgICAgICAgICA8YXJ0aWNsZT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxoMj5IMiBLbm9ja291dCA2NyB8IDQ4UFQ8L2gyPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGg0Pkg0IERpc3RyaWN0IEJvbGQgfCAxOHB0PC9oND5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxwPk1vcmJpIG1hdHRpcyBzb2RhbGVzIGxlY3R1cyBxdWlzIGZldWdpYXQuIEZ1c2NlIHF1aXMgYWxpcXVldCB0ZWxsdXMuIE51bGxhIHVsdHJpY2llcyBsb3JlbSBub24gYmxhbmRpdCB1bHRyaWNlcy5cbiAgICAgICAgICAgICAgICAgICAgPC9hcnRpY2xlPlxuICAgICAgICAgICAgICAgIDwvc2VjdGlvbj5cbiAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICA8bGkgY2xhc3M9XCJ0YWItZGV0YWlsXCIgZGF0YS10YWItY29udGVudD1cIjNcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibW9iaWxlLXRhYlwiIGRhdGEtdGFiPVwiM1wiPlNlY3Rpb24gVGhyZWU8L2Rpdj5cbiAgICAgICAgICAgICAgICA8c2VjdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgPGFydGljbGU+XG4gICAgICAgICAgICAgICAgICAgICAgICA8aDI+SDIgS25vY2tvdXQgNjcgfCA0OFBUPC9oMj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxoND5INCBEaXN0cmljdCBCb2xkIHwgMThwdDwvaDQ+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cD5Nb3JiaSBtYXR0aXMgc29kYWxlcyBsZWN0dXMgcXVpcyBmZXVnaWF0LiBGdXNjZSBxdWlzIGFsaXF1ZXQgdGVsbHVzLiBOdWxsYSB1bHRyaWNpZXMgbG9yZW0gbm9uIGJsYW5kaXQgdWx0cmljZXMuXG4gICAgICAgICAgICAgICAgICAgIDwvYXJ0aWNsZT5cbiAgICAgICAgICAgICAgICA8L3NlY3Rpb24+XG4gICAgICAgICAgICA8L2xpPlxuICAgICAgICA8L3VsPlxuICAgIDwvZGl2PlxuXG4qL1xuXG4vLyBhIGJ1bmNoIG9mIHRoaXMgc2hvdWxkIGJlIGNvbWJpbmVkIHdpdGggdGhlIHN0eWxlcyBpbiBzaW1wbGUtYWNjb3JkaW9uLnNjc3NcblxuLnNpbXBsZS10YWJzIHtcbiAgICAvLyBmb3IgdXNlIGlmIHlvdSBkb24ndCB3YW50IGFjY29yZGlvbiB0YWJzXG4gICAgJi5uby1mb2xkIHtcbiAgICAgICAgLnRhYnMge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cblxuICAgICAgICAudGFiLWRldGFpbCB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHNldGNvbG9yKHdoaXRlKTtcbiAgICAgICAgICAgIGJvcmRlcjogM3B4IHNvbGlkIHNldGNvbG9yKHRhbik7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAudGFiIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC50YWJzIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICAgQGluY2x1ZGUgbXEobWVkaXVtKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC50YWIge1xuICAgICAgICBAaW5jbHVkZSBzZXRmb250KCdkaXN0cmljdCBib2xkJyk7XG4gICAgICAgIHBhZGRpbmc6IHJlbSgxMHB4KSAyLjJ2dztcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBjb2xvcjogc2V0Y29sb3Iod2hpdGUpO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBzZXRjb2xvcihyZWQpO1xuICAgICAgICBib3JkZXI6IDNweCBzb2xpZCBzZXRjb2xvcihyZWQpO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4yZW07XG5cbiAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgICAgYm9yZGVyOiAzcHggc29saWQgc2V0Y29sb3IodGFuKTtcbiAgICAgICAgICAgIGNvbG9yOiBzZXRjb2xvcihicm93biwgYmFzZSk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBzZXRjb2xvcih3aGl0ZSk7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgIC8vIDo6YWZ0ZXIgQ292ZXIgQm90dG9tIEJvcmRlci4gKFByZXZlbnRzIFRyaWFuZ2xlIGluIENvcm5lcilcbiAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgYm90dG9tOiAtNnB4O1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA2cHg7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbXEoeGxhcmdlKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiByZW0oMTBweCkgcmVtKDMwcHgpO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbXEobWVkaXVtKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAudGFiLWRldGFpbCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBib3JkZXItdG9wOiAzcHggc29saWQgc2V0Y29sb3IodGFuKTtcblxuICAgICAgICBAaW5jbHVkZSBtcShtZWRpdW0pIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogc2V0Y29sb3Iod2hpdGUpO1xuICAgICAgICAgICAgYm9yZGVyOiAzcHggc29saWQgc2V0Y29sb3IodGFuKTtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAzcHggc29saWQgc2V0Y29sb3IodGFuKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHNlY3Rpb24ge1xuICAgICAgICAgICAgcGFkZGluZzogJGd1dHRlci1zbWFsbDtcblxuICAgICAgICAgICAgJi5jb21wYWN0IHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAkZ3V0dGVyLXNtYWxsO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLnRpZ2h0IHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAkZ3V0dGVyLXRpbnk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuYmxlZWQge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtcShtZWRpdW0pIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAkZ3V0dGVyO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBtcSh4bGFyZ2UpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAkZ3V0dGVyLWxhcmdlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBtcShtYXgtc21hbGwpIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaDIge1xuICAgICAgICAgICAgLy8gdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5tb2JpbGUtdGFiIHtcbiAgICAgICAgQGluY2x1ZGUgc2V0Zm9udCgnZGlzdHJpY3QgYm9sZCcpO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBjb2xvcjogc2V0Y29sb3IocmVkKTtcbiAgICAgICAgcGFkZGluZzogcmVtKDE1cHggMTBweCk7XG5cbiAgICAgICAgQGluY2x1ZGUgbXEoc21hbGwpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IHJlbSgxNXB4KTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiK1wiO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0oMjVweCk7XG4gICAgICAgICAgICByaWdodDogcmVtKDEwcHgpO1xuICAgICAgICAgICAgdG9wOiA0NyU7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtcShtZWRpdW0pIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAudGFiLWRldGFpbC5hY3RpdmUgLm1vYmlsZS10YWI6OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCLigJRcIjtcbiAgICAgICAgcmlnaHQ6IHJlbSgxMHB4KTtcbiAgICAgICAgbWFyZ2luLXRvcDogcmVtKDFweCk7XG4gICAgfVxuXG4gICAgLnRhYi1kZXRhaWwuYWN0aXZlIHNlY3Rpb24ge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG59XG4iLCIvKlxuLy8gR3JpZCBjb250ZW50IG1hcmt1cCBuZWVkcyB0byBiZSB1c2VkIGluc2lkZSA8c2VjdGlvbiBjbGFzcz1cImNvbnRlbnQtZ3JpZFwiPlxuXG4vLyA8ZGl2IGNsYXNzPVwiY29udGVudC1ncmlkLXJvd1wiPlxuLy8gICAgIDxkaXYgY2xhc3M9XCI1MC1wZXJjZW50LWNvbHVtblwiPlxuLy8gICAgICAgICA8aDQ+VGl0bGU8L2g0PlxuLy8gICAgICAgICA8cD5Mb3JlbSBpcHN1bS4uLjwvcD5cblxuLy8gICAgICAgICA8aDQ+VGl0bGU8L2g0PlxuLy8gICAgICAgICA8cD5Mb3JlbSBpcHN1bS4uLjwvcD5cblxuLy8gICAgICAgICA8aDQ+VGl0bGU8L2g0PlxuLy8gICAgICAgICA8cD5Mb3JlbSBpcHN1bS4uLjwvcD5cbi8vICAgICA8L2Rpdj5cbi8vICAgICA8ZGl2IGNsYXNzPVwiNTAtcGVyY2VudC1jb2x1bW5cIj5cbi8vICAgICAgICAgPGltZyBzcmM9XCJodHRwOi8vcGxhY2Vob2xkLml0LzMwMHgzMDBcIj5cbi8vICAgICA8L2Rpdj5cbi8vIDwvZGl2PlxuXG4vLyA8ZGl2IGNsYXNzPVwiY29udGVudC1ncmlkLXJvd1wiPlxuLy8gICAgIDxkaXYgY2xhc3M9XCI2Ni1wZXJjZW50LWNvbHVtblwiPlxuLy8gICAgICAgICA8aDQ+VGl0bGU8L2g0PlxuLy8gICAgICAgICA8cD5Mb3JlbSBpcHN1bS4uLjwvcD5cblxuLy8gICAgICAgICA8aDQ+VGl0bGU8L2g0PlxuLy8gICAgICAgICA8cD5Mb3JlbSBpcHN1bS4uLjwvcD5cblxuLy8gICAgICAgICA8aDQ+VGl0bGU8L2g0PlxuLy8gICAgICAgICA8cD5Mb3JlbSBpcHN1bS4uLjwvcD5cbi8vICAgICA8L2Rpdj5cbi8vICAgICA8ZGl2IGNsYXNzPVwiMzMtcGVyY2VudC1jb2x1bW5cIj5cbi8vICAgICAgICAgPGltZyBzcmM9XCJodHRwOi8vcGxhY2Vob2xkLml0LzMwMHgzMDBcIj5cbi8vICAgICA8L2Rpdj5cbi8vIDwvZGl2PlxuXG4vLyA8ZGl2IGNsYXNzPVwiY29udGVudC1ncmlkLXJvd1wiPlxuLy8gICAgIDxkaXYgY2xhc3M9XCIxMDAtcGVyY2VudC1jb2x1bW5cIj5cbi8vICAgICAgICAgPGg0PlRpdGxlPC9oND5cbi8vICAgICAgICAgPHA+TG9yZW0gaXBzdW0uLi48L3A+XG5cbi8vICAgICAgICAgPGg0PlRpdGxlPC9oND5cbi8vICAgICAgICAgPHA+TG9yZW0gaXBzdW0uLi48L3A+XG5cbi8vICAgICAgICAgPGg0PlRpdGxlPC9oND5cbi8vICAgICAgICAgPHA+TG9yZW0gaXBzdW0uLi48L3A+XG4vLyAgICAgPC9kaXY+XG4vLyA8L2Rpdj5cbiovXG5cblxuLmNvbnRlbnQtZ3JpZCB7XG4gICAgQGV4dGVuZCAlY2Y7XG4gICAgbWF4LXdpZHRoOiAkbWF4LXdpZHRoLWxhcmdlO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuXG4gICAgJjpmaXJzdC1jaGlsZCxcbiAgICAmICsgLmNvbnRlbnQtZ3JpZCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIH1cblxuICAgIC5jb250ZW50LWdyaWQge1xuICAgICAgICAvLyBQcmV2ZW50IERpc3BsYXkgb2YgTmVzdGVkIENvbnRlbnQgR3JpZHNcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAuY29udGVudC1ncmlkLXJvdyB7XG4gICAgICAgIEBleHRlbmQgJWNmO1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcblxuICAgICAgICAmLmFkZC1zcGFjZSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oMTAwcHgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgW2NsYXNzKj1cImNvbHVtblwiXSB7XG4gICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtcShtZWRpdW0pIHtcblxuICAgICAgICBbY2xhc3MqPVwiY29sdW1uXCJdIHtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICB9XG5cbiAgICAgICAgW2NsYXNzKj1cImNvbHVtblwiXTpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkZ3V0dGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgW2NsYXNzKj1cImNvbHVtblwiXSArIFtjbGFzcyo9XCJjb2x1bW5cIl0ge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAkZ3V0dGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgW2NsYXNzKj1cIjMzLXBlcmNlbnRcIl0sXG4gICAgICAgIFtjbGFzcyo9XCIzNC1wZXJjZW50XCJdIHtcbiAgICAgICAgICAgIHdpZHRoOiAzMyU7XG4gICAgICAgIH1cblxuICAgICAgICBbY2xhc3MqPVwiNTAtcGVyY2VudFwiXSB7XG4gICAgICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICB9XG5cbiAgICAgICAgW2NsYXNzKj1cIjY2LXBlcmNlbnRcIl0ge1xuICAgICAgICAgICAgd2lkdGg6IDY2JTtcbiAgICAgICAgfVxuXG4gICAgICAgIFtjbGFzcyo9XCIxMDAtcGVyY2VudFwiXSB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBOdXRyaXRpb24gRmFjdHNcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIG1vc3Qgb2YgdGhpcyB3YXMgdGFrZW4gZnJvbSBodHRwczovL2JpdGJ1Y2tldC5vcmcvNDBkaWdpdHMvY2FyZ2lsbC1rLTEyL3Jhdy82MTE4MWFlMTVhMDI2ZDgzZGMzMjc5Nzc5MmMyYzAwYWFhYTgxYjk2L3dwLWNvbnRlbnQvdGhlbWVzL2NhcmdpbGwtay0xMi9fc3JjL3Nhc3MvYXBwL19wcm9kdWN0cy1kZXRhaWwuc2Nzc1xuXG4ubnV0cml0aW9uLWZhY3RzIHtcbiAgICAvLyB0YWJsZSBzdHVmZlxuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgQGluY2x1ZGUgbXEocHJpbnQpIHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgc2V0Y29sb3IodGFuKTtcbiAgICB9XG4gICAgdGFibGUge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgQGluY2x1ZGUgc2V0Zm9udChkZWZhdWx0KTtcbiAgICAgICAgZm9udC1zaXplOiByZW0oMTRweCk7XG4gICAgfVxuICAgIHRoLFxuICAgIHRkIHtcbiAgICAgICAgcGFkZGluZzogcmVtKDVweCAwKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgfVxuICAgIHRoIHtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB9XG4gICAgdGQge1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB9XG4gICAgLnVuZGVybGluZS10aGluIHtcbiAgICAgICAgdGgsXG4gICAgICAgIHRkIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IHJlbSgxcHgpIHNvbGlkIHNldGNvbG9yKHRhbik7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmVtKDdweCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLnVuZGVybGluZS10aGljayB7XG4gICAgICAgIHRoLFxuICAgICAgICB0ZCB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiByZW0oM3B4KSBzb2xpZCAjMDAwO1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IHJlbSg3cHgpO1xuICAgICAgICB9XG4gICAgfVxuICAgIC51bmRlcmxpbmUtdGhpbiArIHRyLFxuICAgIC51bmRlcmxpbmUtdGhpY2sgKyB0ciB7XG4gICAgICAgIHRoLFxuICAgICAgICB0ZCB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogcmVtKDdweCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmluZGVudGVkIHtcbiAgICAgICAgdGgge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiByZW0oMTVweCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLm5vcm1hbCxcbiAgICAuaW5kZW50ZWQge1xuICAgICAgICB0aCwgdGQge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAudmFsdWUtcGh5c2ljYWwge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IHJlbSg4cHgpO1xuICAgIH1cbiAgICAuc2VydmluZ3Mge1xuICAgICAgICB0aCxcbiAgICAgICAgdGQge1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiByZW0oMTRweCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLnZpdGFtaW5zIHtcbiAgICAgICAgQGluY2x1ZGUgY2Y7XG4gICAgICAgIGRpdiB7XG4gICAgICAgICAgICBAaW5jbHVkZSBjZjtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgICAgIHBhZGRpbmc6IHJlbSgycHggMCk7XG4gICAgICAgICAgICAmOm50aC1jaGlsZChvZGQpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiByZW0oMTBweCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOm50aC1jaGlsZChldmVuKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiByZW0oMTBweCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLm5hbWUge1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgd2lkdGg6IDgwJTtcbiAgICAgICAgfVxuICAgICAgICAuYW1vdW50IHtcbiAgICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICAgICAgd2lkdGg6IDIwJTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAucGVyY2VudC1kYWlseS12YWx1ZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDEwcHgpO1xuICAgIH1cbiAgICAucGVyY2VudC1kYWlseSB7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIHBhZGRpbmctdG9wOiByZW0oMTBweCk7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDExcHgpO1xuICAgICAgICBsaW5lLWhlaWdodDogcmVtKDE1cHgpO1xuICAgIH1cblxuICAgIC8vIG5vbi10YWJsZSBzdHVmZlxuICAgIC5zaXplIHtcbiAgICAgICAgQGluY2x1ZGUgc2V0Zm9udCgnZGlzdHJpY3QgYm9sZCcpO1xuICAgICAgICBmb250LXNpemU6IHJlbSgxOHB4KTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDVweCk7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMHB4O1xuXG4gICAgICAgIEBpbmNsdWRlIG1xKG1lZGl1bSkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDEwcHgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnBpcGUge1xuICAgICAgICBAaW5jbHVkZSBzZXRmb250KCdkaXN0cmljdCBib2xkJyk7XG4gICAgfVxuXG4gICAgLmRpc2NsYWltZXIge1xuICAgICAgICBmb250LXNpemU6IHJlbSgxNHB4KTtcbiAgICAgICAgbWFyZ2luLXRvcDogcmVtKDEwcHgpO1xuICAgIH1cbn0iLCIvLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gU2ltcGxlIEFjY29yZGlvblxuLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gSSdkIHJlYWxseSBsaWtlIHRvIGhhdmUgYSBnb29kIHdheSB0byBhYnN0cmFjdCB0aGUgaW5uZXIgY29udGVudCBvZiB0aGlzXG4vLyBhbmQgZXh0ZW5kIGl0IGFib3ZlIC8gYmVsb3cgY2VydGFpbiBicmVha3BvaW50cywgYnV0IGF0IHRoaXMgcG9pbnQgSSdtIG5vdFxuLy8gc3VyZSBpZiB0aGlzIGlzIHBvc3NpYmxlLCBzbyB0aGVyZSdzIGFuIHVuZm9ydHVuYXRlIGFtb3VudCBvZiByZWR1bmRhbnQgY29kZSBiZWxvdy4gOi9cbi8vIC1wcmVzdG9uXG5cbi5tb2JpbGUtYWNjb3JkaW9uIHtcbiAgICBAaW5jbHVkZSBtcShtYXgtc21hbGwpIHtcbiAgICAgICAgLnNlY3Rpb24taGVhZGluZyB7XG4gICAgICAgICAgICBAaW5jbHVkZSBzZXRmb250KCdkaXN0cmljdCBib2xkJyk7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGNvbG9yOiBzZXRjb2xvcihyZWQpO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAgICAgcGFkZGluZzogcmVtKDE1cHggMCk7XG5cbiAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIitcIjtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0oMjVweCk7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IHJlbSgxMHB4KTtcbiAgICAgICAgICAgICAgICB0b3A6IDQ3JTtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1xKHByaW50KSB7XG4gICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG5cbiAgICAgICAgLnNlY3Rpb24tY29udGVudCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgcGFkZGluZzogcmVtKDEwcHggMCk7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1xKHNtYWxsKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IHJlbSgxNXB4KTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmVtKDE1cHgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmFjY29yZGlvbi1zZWN0aW9uIHtcbiAgICAgICAgQGluY2x1ZGUgbXEobWF4LXNtYWxsKSB7XG4gICAgICAgICAgICBib3JkZXItdG9wOiAzcHggc29saWQgc2V0Y29sb3IodGFuKTtcbiAgICAgICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgICAgICAuc2VjdGlvbi1oZWFkaW5nOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCLigJRcIjtcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IHJlbSgxMHB4KTtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogcmVtKDFweCk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbXEocHJpbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgLnNlY3Rpb24taGVhZGluZzphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5zZWN0aW9uLWNvbnRlbnQge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICAgICAgICAgICAgICAmLmRpc2gtZmVhdHVyZS13cmFwIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogM3B4IHNvbGlkIHNldGNvbG9yKHRhbik7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1xKHByaW50KSB7XG4gICAgICAgICAgICAgICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xuICAgICAgICAgICAgICAgIC5zZWN0aW9uLWNvbnRlbnQge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICAgICAgICAgICAgICAmLmRpc2gtZmVhdHVyZS13cmFwIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtcShwcmludCkge1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogbm9uZTtcbiAgICAgICAgfVxuXG5cbiAgICAgICAgLnNlY3Rpb24taGVhZGluZyB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtcShtYXgtc21hbGwpIHtcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5zZWN0aW9uLWNvbnRlbnQge1xuICAgICAgICAgICAgQGluY2x1ZGUgY2Y7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5mdWxsLWFjY29yZGlvbiB7XG4gICAgLnNlY3Rpb24taGVhZGluZyB7XG4gICAgICAgIEBpbmNsdWRlIHNldGZvbnQoJ2Rpc3RyaWN0IGJvbGQnKTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgY29sb3I6IHNldGNvbG9yKHJlZCk7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICBwYWRkaW5nOiByZW0oMTVweCAzMHB4IDE1cHggMCk7XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogXCIrXCI7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbSgyNXB4KTtcbiAgICAgICAgICAgIHJpZ2h0OiByZW0oMTBweCk7XG4gICAgICAgICAgICB0b3A6IDQ3JTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1xKHByaW50KSB7XG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLnNlY3Rpb24tY29udGVudCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIHBhZGRpbmc6IHJlbSgxMHB4IDApO1xuXG4gICAgICAgIEBpbmNsdWRlIG1xKHNtYWxsKSB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogcmVtKDE1cHgpO1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IHJlbSgxNXB4KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5hY2NvcmRpb24tc2VjdGlvbiB7XG4gICAgICAgIGJvcmRlci10b3A6IDNweCBzb2xpZCBzZXRjb2xvcih0YW4pO1xuICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgICAuc2VjdGlvbi1oZWFkaW5nOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIuKAlFwiO1xuICAgICAgICAgICAgICAgIHJpZ2h0OiByZW0oMTBweCk7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogcmVtKDFweCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1xKHByaW50KSB7XG4gICAgICAgICAgICAgICAgLnNlY3Rpb24taGVhZGluZzphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnNlY3Rpb24tY29udGVudCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgICAgICAgICAmLmRpc2gtZmVhdHVyZS13cmFwIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogM3B4IHNvbGlkIHNldGNvbG9yKHRhbik7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtcShwcmludCkge1xuICAgICAgICAgICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xuICAgICAgICAgICAgLnNlY3Rpb24tY29udGVudCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgICAgICAgICAmLmRpc2gtZmVhdHVyZS13cmFwIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtcShwcmludCkge1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogbm9uZTtcbiAgICAgICAgfVxuXG5cbiAgICAgICAgLnNlY3Rpb24taGVhZGluZyB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtcShtYXgtc21hbGwpIHtcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5zZWN0aW9uLWNvbnRlbnQge1xuICAgICAgICAgICAgQGluY2x1ZGUgY2Y7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gRGlzaCBGZWF0dXJlXG4vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4uZGlzaC1mZWF0dXJlLXdyYXAge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4uZGlzaC1mZWF0dXJlLWxpbmsge1xuICAgIEBpbmNsdWRlIGNmO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi10b3A6IHJlbSgyNXB4KTtcblxuICAgIEBpbmNsdWRlIG1xKHNtYWxsKSB7XG4gICAgICAgIG1hcmdpbi10b3A6IHJlbSgyMHB4KTtcbiAgICB9XG5cbiAgICAua2lkcy1tZWFscyAmLFxuICAgIC5zaGFyZWFibGVzICYge1xuICAgICAgICBtYXJnaW4tdG9wOiByZW0oMTBweCk7XG5cbiAgICAgICAgQGluY2x1ZGUgbXEobWVkaXVtKSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gbGVhdmluZyB0aGlzIGluIGhlcmUgaW4gY2FzZSB3ZSBuZWVkIHRvIHJldmVydCB0aGUgc2FsYWQgJ25ldycgcG9zaXRpb25cbiAgICAvLyAuc2FuZHdpY2hlcyAmLFxuICAgIC8vIC5zYWxhZHMgJiB7XG4gICAgLy8gICAgIG1hcmdpbi10b3A6IHJlbSgxNXB4KTtcbiAgICAvL1xuICAgIC8vICAgICBAaW5jbHVkZSBtcShtZWRpdW0pIHtcbiAgICAvLyAgICAgICAgIG1hcmdpbi10b3A6IHJlbSgxMHB4KTtcbiAgICAvLyAgICAgfVxuICAgIC8vIH1cblxuICAgIC5zYW5kd2ljaGVzICYge1xuICAgICAgICBtYXJnaW4tdG9wOiByZW0oMTVweCk7XG5cbiAgICAgICAgQGluY2x1ZGUgbXEobWVkaXVtKSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiByZW0oMTBweCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgICAuZmVhdHVyZS1kaXNoLW5hbWUge1xuICAgICAgICAgICAgY29sb3I6IHNldGNvbG9yKHJlZCwgZGFyayk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5kaXNoLWZlYXR1cmUtbmV3IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDIlO1xuICAgIHRvcDogLTMlO1xuICAgIGNvbG9yOiBzZXRjb2xvcihicm93bik7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuXG4gICAgQGluY2x1ZGUgbXEobWVkaXVtKSB7XG4gICAgICAgIHJpZ2h0OiAxMCU7XG4gICAgICAgIHRvcDogLTIlO1xuICAgIH1cblxuICAgIC8vIG1hbnVhbCBhZGp1c3RtZW50cyBmb3IgZGlmZmVyZW50IGNhdGVnb3J5IGltYWdlIHNpemVzXG4gICAgLmtpZHMtbWVhbHMgJiB7XG4gICAgICAgIHRvcDogNyU7XG4gICAgfVxuXG4gICAgLnNoYXJlYWJsZXMgJiB7XG4gICAgICAgIHRvcDogMTAlO1xuICAgIH1cblxuICAgIC5zYW5kd2ljaGVzICYge1xuICAgICAgICB0b3A6IDIlO1xuICAgIH1cblxuICAgIC8vIGxlYXZpbmcgdGhpcyBpbiBoZXJlIGluIGNhc2Ugd2UgbmVlZCB0byByZXZlcnQgdGhlIHNhbGFkICduZXcnIHBvc2l0aW9uXG4gICAgLy8gLnNvdXBzICYsXG4gICAgLy8gLnNhbGFkcyAmIHtcbiAgICAvLyAgICAgdG9wOiA1JTtcbiAgICAvLyB9XG5cbiAgICAuc291cHMgJiB7XG4gICAgICAgIHRvcDogNSU7XG4gICAgfVxuXG4gICAgJjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnTkVXISc7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBAaW5jbHVkZSBzZXRmb250KCdrbm9ja291dCcpO1xuICAgICAgICBmb250LXNpemU6IHJlbSgxNXB4KTtcbiAgICAgICAgcmlnaHQ6IHJlbSg2cHgpO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgIHotaW5kZXg6IDI7XG5cbiAgICAgICAgQGluY2x1ZGUgbXEoc21hbGwpIHtcbiAgICAgICAgICAgIHJpZ2h0OiByZW0oMTBweCk7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbSgxOXB4KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHNldGNvbG9yKHRhbik7XG4gICAgICAgIHJpZ2h0OiAtMTQlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgIHdpZHRoOiAzMHB4O1xuICAgICAgICBoZWlnaHQ6IDMwcHg7XG5cbiAgICAgICAgQGluY2x1ZGUgbXEoc21hbGwpIHtcbiAgICAgICAgICAgIHdpZHRoOiA0MHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uZGlzaC1mZWF0dXJlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcGFkZGluZzogcmVtKDAgMTBweCk7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbi1ib3R0b206IHJlbSgyMHB4KTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB3aWR0aDogNTAlO1xuXG4gICAgQGluY2x1ZGUgbXEobWluaSkge1xuICAgICAgICBwYWRkaW5nOiByZW0oMCAyMHB4KTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDMwcHgpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1xKHNtYWxsKSB7XG4gICAgICAgIHBhZGRpbmc6IHJlbSgwIDQwcHgpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1xKG1lZGl1bSkge1xuICAgICAgICB3aWR0aDogMzMuMzMzMzMzJTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDIwcHgpXG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbXEobGFyZ2UpIHtcbiAgICAgICAgd2lkdGg6IDI1JTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDI1cHgpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1xKHByaW50KSB7XG4gICAgICAgIHBhZGRpbmc6IHJlbSgwIDEwcHgpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuICAgIC8vIHRoZXNlIG5lZWQgdG8gYXBwZWFyIGxhcmdlciAod2lkZXIpLCBzbyByZWR1Y2UgcGFkZGluZ1xuICAgICYuc2FuZHdpY2hlcyxcbiAgICAmLmJ1ZmYtYm93bHMsXG4gICAgJi5zaGFyZWFibGVzLFxuICAgICYua2lkcy1tZWFscyB7XG4gICAgICAgIEBpbmNsdWRlIG1xKHNtYWxsKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiByZW0oMCAyMHB4KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5mZWF0dXJlLWRpc2gtaW1hZ2Uge1xuICAgICAgICAvLyBtYXJnaW4tYm90dG9tOiByZW0oNXB4KTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHotaW5kZXg6IDU7XG4gICAgfVxuXG4gICAgLmZlYXR1cmUtZGlzaC1pbmZvIHtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgICB9XG5cbiAgICAuZmVhdHVyZS1kaXNoLW5hbWUge1xuICAgICAgICBjb2xvcjogc2V0Y29sb3IocmVkKTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIEBpbmNsdWRlIHNldGZvbnQoJ2Rpc3RyaWN0IGJvbGQnKTtcbiAgICAgICAgZm9udC1zaXplOiByZW0oMTZweCk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbSgxMHB4KTtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgICB9XG5cbiAgICAuZmVhdHVyZS1pY29ucyxcbiAgICAuY2Fsb3JpZS1saXN0IHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICAgICAgIGxpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmZlYXR1cmUtaWNvbnMge1xuICAgICAgICB0b3A6IC0ycHg7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDEycHgpO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IHJlbSgycHgpO1xuICAgICAgICBjb2xvcjogc2V0Y29sb3IoYnJvd24pO1xuXG4gICAgICAgIC52ZWdnaWUge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5zcGljeSB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbSgxNHB4KTtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMXB4O1xuXG4gICAgICAgICAgICAmOm50aC1jaGlsZCgyKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAtMXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAuY2Fsb3JpZS1saXN0IHtcbiAgICAgICAgY29sb3I6IHNldGNvbG9yKGJyb3duKTtcbiAgICB9XG5cbiAgICAuY2Fsb3JpZS1pdGVtLFxuICAgIC5jYWxvcmllLWxhYmVsIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0oMTRweCk7XG4gICAgfVxuXG4gICAgLmNhbG9yaWUtaXRlbSB7XG5cbiAgICAgICAgJiArIC5jYWxvcmllLWl0ZW0ge1xuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICd8JztcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBzZXRmb250KCdkaXN0cmljdCBib2xkJyk7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiByZW0oM3B4KTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IHJlbSgzcHgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNhbG9yaWUtbGFiZWwge1xuICAgICAgICBAaW5jbHVkZSBzZXRmb250KCdkaXN0cmljdCcpO1xuICAgICAgICBtYXJnaW4tbGVmdDogcmVtKDNweCk7XG4gICAgfVxufVxuIiwiLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vLy8vLyAgICBHUkFWSVRZIEZPUk1TIFJFU0VUIFNUWUxFUyAgICAgLy8vLy8vXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4vLyBob25leXBvdFxuLmdmb3JtX3ZhbGlkYXRpb25fY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4uZ2Zvcm1fY29uZmlybWF0aW9uX3dyYXBwZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmdmb3JtX3dyYXBwZXIge1xuICAgIGNvbG9yOiBzZXRjb2xvcihicm93bik7XG5cbiAgICAuZ2ZpZWxkIHtcbiAgICAgICAgQGluY2x1ZGUgY2Y7XG4gICAgfVxuXG4gICAgaW5wdXQsXG4gICAgdGV4dGFyZWEsXG4gICAgc2VsZWN0LFxuICAgIC5nZmllbGRfcmFkaW8sXG4gICAgLmdmaWVsZF9jaGVja2JveCxcbiAgICAuZ2ZpZWxkX2Rlc2NyaXB0aW9uLFxuICAgIC5nZm9ybV9kcm9wX2FyZWEsXG4gICAgLnZhbGlkYXRpb25fbWVzc2FnZSxcbiAgICAuZ2lucHV0X3ByZXZpZXcsXG4gICAgLmdmaWVsZF9saXN0IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgQGluY2x1ZGUgcGxhY2Vob2xkZXIoKSB7XG4gICAgICAgICAgICBjb2xvcjogc2V0Y29sb3IoYnJvd24pO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbXEobWVkaXVtKSB7XG4gICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgICB3aWR0aDogNjYuNjY2NiU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZ2ZpZWxkX3JhZGlvLFxuICAgIC5nZmllbGRfY2hlY2tib3gge1xuICAgICAgICA+IGxpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogcmVtKDIwcHgpO1xuICAgICAgICB9XG5cbiAgICAgICAgaW5wdXQsXG4gICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgIHdpZHRoOiBpbmhlcml0O1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIH1cblxuICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDk1JTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlucHV0IHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogcmVtKDEwcHgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmdmaWVsZF9sYWJlbCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgIEBpbmNsdWRlIG1xKG1lZGl1bSkge1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiByZW0oMjBweCk7XG4gICAgICAgICAgICB3aWR0aDogMzMuMzMzMyU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZ2ZpZWxkX2xpc3Qge1xuICAgICAgICBpbnB1dCB7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIHdpZHRoOiA3NSU7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oNXB4KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoZWFkIHtcbiAgICAgICAgICAgIHRoIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmVtKDVweCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZ2lucHV0X2NvbnRhaW5lciB7XG4gICAgICAgIC8vIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBAaW5jbHVkZSBjZjtcbiAgICB9XG5cbiAgICAuZ2ZpZWxkX2RhdGVfZHJvcGRvd25feWVhciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLmdpbnB1dF9jb21wbGV4IHtcbiAgICAgICAgbGFiZWwge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgID4gc3BhbiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIEBpbmNsdWRlIGNmO1xuICAgICAgICB9XG5cbiAgICAgICAgLmdpbnB1dF9sZWZ0IHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbSgxMHB4KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5nZmllbGRfbGFiZWwge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbSgxMHB4KTtcbiAgICB9XG5cbiAgICAuZ3NlY3Rpb24ge1xuICAgICAgICA+IDpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZ3NlY3Rpb25fdGl0bGUge1xuICAgICAgICBAaW5jbHVkZSBzZXRmb250KCdkaXN0cmljdCBib2xkJyk7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICBmb250LXNpemU6IHJlbSgyNHB4KTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMWVtO1xuICAgIH1cblxuICAgIC52YWxpZGF0aW9uX2Vycm9yIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAuZ2ZpZWxkX3JlcXVpcmVkIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IHJlbSg1cHgpO1xuICAgIH1cblxuICAgIC5nZmllbGRfaHRtbCxcbiAgICAuZ3NlY3Rpb24sXG4gICAgLmdmaWVsZF9sYWJlbCB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgfVxuXG4gICAgLmdmaWVsZF9odG1sIHtcbiAgICAgICAgcCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxZW07XG5cbiAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5nZmllbGQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oMzBweCk7XG4gICAgfVxuXG4gICAgLmdmb3JtX2J1dHRvbiB7XG5cbiAgICB9XG5cbiAgICAuaW5zdHJ1Y3Rpb24ge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC5nZmllbGRfZXJyb3Ige1xuICAgICAgICBzZWxlY3QsXG4gICAgICAgIGlucHV0LFxuICAgICAgICB0ZXh0YXJlYSB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IHNldGNvbG9yKGVycm9yKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC52YWxpZGF0aW9uX21lc3NhZ2Uge1xuICAgICAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICAgICAgcGFkZGluZzogcmVtKDEwcHgpO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogc2V0Y29sb3IoZXJyb3IpO1xuXG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgc3ltYm9scygnYWxlcnQnKTtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZ2Zvcm1fZm9vdGVyIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cblxuICAgIC5nZm9ybV9idXR0b24ge1xuICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgd2lkdGg6IGluaGVyaXQ7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBwYWRkaW5nOiByZW0oMTBweCAyMHB4KTtcbiAgICAgICAgQGluY2x1ZGUgc2V0Zm9udCgnZGlzdHJpY3QgYm9sZCcpO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBmb250LXNpemU6IHJlbSgxNHB4KTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMmVtO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBzZXRjb2xvcihyZWQpO1xuICAgICAgICBjb2xvcjogc2V0Y29sb3Iod2hpdGUpO1xuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMzAwbXM7XG4gICAgICAgIEBpbmNsdWRlIGNmO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBzZXRjb2xvcihyZWQpO1xuICAgICAgICBjb2xvcjogc2V0Y29sb3Iod2hpdGUpO1xuXG4gICAgICAgICY6aG92ZXIsXG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogc2V0Y29sb3IocmVkLCBkYXJrKTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1xKHNtYWxsKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbSgxNnB4KTtcbiAgICAgICAgICAgIHBhZGRpbmc6IHJlbSgxNXB4IDMwcHgpO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlcixcbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBzZXRjb2xvcihyZWQsIGRhcmspO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmdmb3JtX2J1dHRvbl9zZWxlY3RfZmlsZXMge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgY29sb3I6IHNldGNvbG9yKHJlZCk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbSgyMHB4KTtcbiAgICB9XG5cbiAgICAuZ2Zvcm1fZHJvcF9hcmVhIHtcbiAgICB9XG5cbiAgICAuZ2Zvcm1fZHJvcF9pbnN0cnVjdGlvbnMge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwYWRkaW5nOiByZW0oMTBweCAxMHB4IDUwcHgpO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBzZXRjb2xvcih0YW4sIGxpZ2h0KTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDIwcHgpO1xuICAgIH1cbn0iLCIvLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gU3R1YnNcbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIEV4dHJhIHN0eWxlcyBmb3IgdGhlIHN0dWJiZWQgaGVhZGVyIGFuZCBmb290ZXIgZmlsZXNcblxuLnBhZ2UtdGVtcGxhdGUtc3R1Yi1oZWFkZXIge1xuICAgIGxpLm5hdi10b2dnbGUge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIGxpLm9yZGVyLW5vdyB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICB9XG5cbiAgICBtYWluLnJvb3Qge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIGZvb3Rlci5tYWluLWZvb3RlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuXG4ucGFnZS10ZW1wbGF0ZS1zdHViLWZvb3RlciB7XG4gICAgaGVhZGVyLm1haW4taGVhZGVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICBtYWluLnJvb3Qge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn0iLCIvLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQnJvd3NlIEhhcHB5XG4vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4uYnJvd3NlLWhhcHB5IHtcblx0QGluY2x1ZGUgcmdiYSgjNzc3LCAuOTcpO1xuXHRwb3NpdGlvbjogZml4ZWQ7XG5cdHRvcDogMDtcblx0bGVmdDogMDtcblx0d2lkdGg6IDEwMCU7XG5cdGhlaWdodDogMTAwJTtcblx0ei1pbmRleDogODAwO1xuXG5cdHAge1xuXHRcdEBleHRlbmQgJWFicy1jZW50ZXI7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0d2lkdGg6IDgwMHB4O1xuXHRcdGhlaWdodDogMjAwcHg7XG5cdFx0Zm9udC1zaXplOiAyZW07XG5cdFx0bGluZS1oZWlnaHQ6IDEuM2VtO1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRjb2xvcjogI2ZmZjtcblxuXHRcdGEge1xuXHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0Y29sb3I6ICM1OWI2ZmQ7XG5cdFx0XHRsaW5lLWhlaWdodDogMWVtO1xuXHRcdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoIzU5YjZmZCwgLjIpO1xuXG5cdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0Y29sb3I6IHJnYmEoIzU5YjZmZCwgLjgpO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufSIsIi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBCVVRUT05TXG4vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4uYnV0dG9uIHtcblx0QGV4dGVuZCAlbmFrZWQtYnV0dG9uO1xufVxuXG4uY3RhLXdyYXAge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIEBpbmNsdWRlIGNmO1xufVxuXG4uY3RhIHtcblx0cGFkZGluZzogcmVtKDEwcHggNDBweCAxMHB4IDIwcHgpO1xuXHRAaW5jbHVkZSBzZXRmb250KCdkaXN0cmljdCBib2xkJyk7XG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdGZvbnQtc2l6ZTogcmVtKDE0cHgpO1xuXHRsZXR0ZXItc3BhY2luZzogMC4yZW07XG5cdGJhY2tncm91bmQtY29sb3I6IHNldGNvbG9yKHJlZCk7XG5cdGNvbG9yOiBzZXRjb2xvcih3aGl0ZSk7XG5cdHRyYW5zaXRpb246IHRyYW5zZm9ybSAzMDBtcztcblx0QGluY2x1ZGUgY2Y7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuXHRAaW5jbHVkZSBtcShzbWFsbCkge1xuXHRcdGZvbnQtc2l6ZTogcmVtKDE2cHgpO1xuXHRcdHBhZGRpbmc6IHJlbSgxNXB4IDUwcHggMTVweCAzMHB4KTtcblx0fVxuXG5cdC8vIFRyaWFuZ2xlXG5cdCY6YWZ0ZXIge1xuXHRcdGNvbnRlbnQ6ICcnO1xuXHRcdHRyYW5zaXRpb246IGFsbCAzMDBtcztcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0d2lkdGg6IDA7XG5cdFx0cmlnaHQ6IDIwcHg7XG5cdFx0dG9wOiA1MCU7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuXHRcdGhlaWdodDogMDtcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0bWFyZ2luLWxlZnQ6IHJlbSgxNXB4KTtcblx0XHRib3JkZXItdG9wOiA3cHggc29saWQgdHJhbnNwYXJlbnQ7XG5cdFx0Ym9yZGVyLWJvdHRvbTogN3B4IHNvbGlkIHRyYW5zcGFyZW50O1xuXHRcdGJvcmRlci1sZWZ0OiA3cHggc29saWQgc2V0Y29sb3Iod2hpdGUpO1xuXG5cdFx0QGluY2x1ZGUgbXEobWVkaXVtKSB7XG5cdFx0XHRyaWdodDogMzBweDtcblx0XHR9XG5cdH1cblxuXHQmOmhvdmVyLFxuXHQmOmZvY3VzIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBzZXRjb2xvcihyZWQsIGRhcmspO1xuXG5cdFx0JjphZnRlciB7XG5cdFx0XHRyaWdodDogMTVweDtcblxuXHRcdFx0QGluY2x1ZGUgbXEobWVkaXVtKSB7XG5cdFx0XHRcdHJpZ2h0OiAyNXB4O1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdCYudGFuIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBzZXRjb2xvcih0YW4pO1xuXHRcdGNvbG9yOiBzZXRjb2xvcihyZWQpO1xuXG5cdFx0Jjpob3Zlcixcblx0XHQmOmZvY3VzIHtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6IHNldGNvbG9yKHRhbiwgZGFyayk7XG5cdFx0fVxuXG5cdFx0JjphZnRlciB7XG5cdFx0XHRib3JkZXItbGVmdC1jb2xvcjogc2V0Y29sb3IocmVkKTtcblx0XHR9XG5cdH1cblxuXHQmLnJlZCB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogc2V0Y29sb3IocmVkKTtcblx0XHRjb2xvcjogc2V0Y29sb3Iod2hpdGUpO1xuXG5cdFx0Jjpob3Zlcixcblx0XHQmOmZvY3VzIHtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6IHNldGNvbG9yKHJlZCwgZGFyayk7XG5cdFx0fVxuXG5cdFx0JjphZnRlciB7XG5cdFx0XHRib3JkZXItbGVmdC1jb2xvcjogc2V0Y29sb3Iod2hpdGUpO1xuXHRcdH1cblx0fVxufSIsIi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBGRUFUVVJFRCBDQVRFR09SWVxuLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLmZlYXR1cmVkLWNhdGVnb3J5IHtcbiAgICBwYWRkaW5nOiByZW0oMTBweCAxNXB4KTtcbiAgICBmb250LXNpemU6IHJlbSgxNHB4KTtcbiAgICBAaW5jbHVkZSBzZXRmb250KCdkaXN0cmljdCBib2xkJyk7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMmVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1yaWdodDogcmVtKDBweCk7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtKDVweCk7XG5cbiAgICBAaW5jbHVkZSBtcShtZWRpdW0pIHtcbiAgICAgICAgcGFkZGluZzogcmVtKDEycHggMTVweCk7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDE2cHgpO1xuICAgIH1cblxuICAgICYudGFuIHtcbiAgICAgICAgY29sb3I6IHNldGNvbG9yKHJlZCk7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHNldGNvbG9yKHRhbik7XG4gICAgfVxuXG4gICAgJi5yZWQge1xuICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHNldGNvbG9yKHJlZCk7XG4gICAgfVxuXG4gICAgJi5icm93biB7XG4gICAgICAgIGNvbG9yOiBzZXRjb2xvcihnb2xkKTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogc2V0Y29sb3IoYnJvd24pO1xuICAgIH1cbn0iLCIvLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQ3VzdG9tIEljb24gU3R5bGVcbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi5zLXNwaWN5LFxuLnMtdmVnZ2llIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbmkucmFycm93LFxuaS5sYXJyb3cge1xuICAgICY6YmVmb3JlIHtcbiAgICAgICAgQGluY2x1ZGUgc3ltYm9scygnYXJyb3ctcmlnaHQnKTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cbn1cblxuaS5kYXJyb3cge1xuICAgICY6YmVmb3JlIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgIH1cbn1cblxuaS5sYXJyb3cge1xuICAgICY6YmVmb3JlIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICB9XG59XG5cbmkuc3BpY3kge1xuICAgIHRvcDogMnB4O1xuICAgICY6YmVmb3JlIHtcbiAgICAgICAgQGluY2x1ZGUgc3ltYm9scygnc3BpY3knKTtcbiAgICAgICAgd2lkdGg6IDVweDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cbn1cblxuaS52ZWdnaWUge1xuICAgIHRvcDogMnB4O1xuICAgICY6YmVmb3JlIHtcbiAgICAgICAgQGluY2x1ZGUgc3ltYm9scygndmVnZ2llJyk7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG59XG5cbmkucHJpbnQge1xuICAgIHRvcDogMnB4O1xuICAgICY6YmVmb3JlIHtcbiAgICAgICAgQGluY2x1ZGUgc3ltYm9scygncHJpbnRlcicpO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxufVxuXG4uaWNvbi1rZXkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1ib3R0b206IHJlbSgyMHB4KTtcbiAgICBAaW5jbHVkZSBjZjtcblxuICAgIEBpbmNsdWRlIG1xKHNtYWxsKSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbSgyNXB4KTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtcShtZWRpdW0pIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDMwcHgpO1xuICAgIH1cblxuICAgIC5zcGljeSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgdG9wOiA0cHg7XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgd2lkdGg6IGluaGVyaXQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAudmVnZ2llIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDE1cHgpO1xuICAgICAgICB0b3A6IDJweDtcbiAgICB9XG5cbiAgICAuaWNvbi13cmFwIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDEycHgpO1xuXG4gICAgICAgIEBpbmNsdWRlIG1xKHNtYWxsKSB7XG4gICAgICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgICAgIHdpZHRoOiBpbmhlcml0O1xuXG4gICAgICAgICAgICAmOmZpcnN0LWNoaWxkOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnLCAnO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn0iLCIvLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQ3VzdG9tIENoZWNrYm94ZXNcbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi5jdXN0b20tY2hlY2tib3gtd3JhcCB7XG4gICAgLmN1c3RvbS1jaGVja2JveCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLnN0dW50LWRvdWJsZSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgd2lkdGg6IHJlbSgyMHB4KTtcbiAgICAgICAgaGVpZ2h0OiByZW0oMjBweCk7XG4gICAgICAgIGJvcmRlcjogM3B4IHNvbGlkIHNldGNvbG9yKHRhbik7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHNldGNvbG9yKHdoaXRlKTtcblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHN5bWJvbHMoJ2NoZWNrJyk7XG4gICAgICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgdG9wOiAtMXB4O1xuICAgICAgICAgICAgbGVmdDogLTFweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jdXN0b20tY2hlY2tib3g6Y2hlY2tlZCArIC5zdHVudC1kb3VibGUge1xuICAgICAgICBib3JkZXItY29sb3I6IHNldGNvbG9yKHJlZCk7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHNldGNvbG9yKHJlZCk7XG4gICAgICAgIGNvbG9yOiB3aGl0ZTtcblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIH1cbiAgICB9XG59IiwiLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEhvbWVcbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiNoZXJvLXZpZGVvLWxvb3Age1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IGluaGVyaXQ7XG4gICAgcGFkZGluZzogMDtcbiAgICB6LWluZGV4OiAxO1xufVxuXG4jaG9tZS1ncmlkIHtcbiAgICBtYXJnaW4tdG9wOiByZW0oMTBweCk7XG5cbiAgICBAaW5jbHVkZSBtcShtZWRpdW0pIHtcbiAgICAgICAgbWFyZ2luLXRvcDogcmVtKDMwcHgpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1xKGxhcmdlKSB7XG4gICAgICAgIG1hcmdpbi10b3A6IHJlbSg1MHB4KTtcbiAgICB9XG59XG5cbi5lZHVjYXRpb24ge1xuICAgIG1heC13aWR0aDogJG1heC13aWR0aC1sYXJnZTtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBwYWRkaW5nOiByZW0oMzBweCAyMHB4KTtcbiAgICBAaW5jbHVkZSBjZjtcblxuICAgIEBpbmNsdWRlIG1xKHNtYWxsKSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogJGd1dHRlcjtcbiAgICAgICAgcGFkZGluZy1yaWdodDogJGd1dHRlcjtcbiAgICAgICAgcGFkZGluZy10b3A6IHJlbSg0MHB4KTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHJlbSg1MHB4KVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1xKGxhcmdlKSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiByZW0oNjBweCk7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiByZW0oNzBweCk7XG4gICAgICAgIHBhZGRpbmctbGVmdDogJGd1dHRlci1sYXJnZTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogJGd1dHRlci1sYXJnZTtcbiAgICB9XG5cbiAgICBoMiB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgZm9udC1zaXplOiByZW0oMzZweCk7XG4gICAgICAgIEBpbmNsdWRlIHNldGZvbnQoJ2tub2Nrb3V0Jyk7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGNvbG9yOiBzZXRjb2xvcihicm93bik7XG5cbiAgICAgICAgQGluY2x1ZGUgbXEoc21hbGwpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDY0cHgpO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbXEobGFyZ2UpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDcycHgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaW1nIHtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIC5jdGEtd3JhcCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBAaW5jbHVkZSBjZjtcbiAgICB9XG5cbiAgICAuY3RhIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuXG4gICAgICAgICY6aG92ZXIsXG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgY29sb3I6IHNldGNvbG9yKHdoaXRlKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmhvbWUtZm9vdGVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0oMTBweCk7XG5cbiAgICBAaW5jbHVkZSBtcShtZWRpdW0pIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDMwcHgpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1xKGxhcmdlKSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbSg1MHB4KTtcbiAgICB9XG59IiwiLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIExhbmRpbmcgJiBCYXNpYyBXeXNpd3lnIFBhZ2Vcbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi5kZWZhdWx0LWxhbmRpbmcge1xuICAgICYubm8taGVybyB7XG4gICAgICAgIHBhZGRpbmctdG9wOiByZW0oNTBweCk7XG5cbiAgICAgICAgQGluY2x1ZGUgbXEoc21hbGwpIHtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiByZW0oNzVweCk7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtcShsYXJnZSkge1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IHJlbSgxMDBweCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwIHtcbiAgICAgICAgYSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBzZXRmb250KFwiZGlzdHJpY3QgYm9sZFwiLCBub3JtYWwpO1xuICAgICAgICAgICAgY29sb3I6IHNldGNvbG9yKHJlZCk7XG5cbiAgICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgICAmOmZvY3VzLFxuICAgICAgICAgICAgJjphY3RpdmUge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBzZXRjb2xvcihyZWQsIGRhcmspO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmRlZmF1bHQtbGFuZGluZy1jb250ZW50IHtcbiAgICBAaW5jbHVkZSBjZjtcbiAgICBwYWRkaW5nLXRvcDogJGd1dHRlcjtcblxuICAgIEBpbmNsdWRlIG1xKG1lZGl1bSkge1xuICAgICAgICBwYWRkaW5nLXRvcDogJGd1dHRlci1sYXJnZTtcbiAgICB9XG5cbiAgICAmLmNvbnN0cmFpbmVkIHtcbiAgICAgICAgbWF4LXdpZHRoOiAkbWF4LXdpZHRoLXNtYWxsO1xuXG4gICAgICAgIGgxLFxuICAgICAgICBoMixcbiAgICAgICAgaDMsXG4gICAgICAgIGg0LFxuICAgICAgICBoNSxcbiAgICAgICAgaDYge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJGd1dHRlcjtcblxuICAgICAgICBAaW5jbHVkZSBtcShtZWRpdW0pIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRndXR0ZXItbGFyZ2U7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBBY2NvdW50aW5nIGZvciBXWVNJcyB3aXRoIHRodW1ibmFpbHNcbiAgICAmID4gLmNvbHVtbi0zMy1wZXJjZW50IHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBAaW5jbHVkZSBtcShtZWRpdW0pIHtcbiAgICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogJGd1dHRlcjtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmID4gLmNvbHVtbi02Ni1wZXJjZW50IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJGd1dHRlcjtcblxuICAgICAgICBAaW5jbHVkZSBtcShtZWRpdW0pIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY29sdW1uLTMzLXBlcmNlbnQgKyAuY29sdW1uLTY2LXBlcmNlbnQge1xuICAgICAgICAgQGluY2x1ZGUgbXEobWVkaXVtKSB7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6ICRndXR0ZXI7XG4gICAgICAgIH1cbiAgICB9XG59IiwiLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIERpc2ggRGV0YWlsXG4vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4uZGlzaC1kZXRhaWwge1xuICAgIC5jb250YWluZXIge1xuICAgICAgICBAaW5jbHVkZSByb3c7XG4gICAgfVxufVxuXG4uZGlzaC1jb250ZW50IHtcbiAgICBwYWRkaW5nLXRvcDogcmVtKDM1cHgpO1xuICAgIHBhZGRpbmctYm90dG9tOiByZW0oMzVweCk7XG5cbiAgICAuaW1hZ2UsIC5zaW1wbGUtdGFicyB7XG4gICAgICAgIEBpbmNsdWRlIG1xKG1lZGl1bSkge1xuICAgICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmltYWdlIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiByZW0oMTVweCk7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IHJlbSgxNXB4KTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDQwcHgpO1xuXG4gICAgICAgIEBpbmNsdWRlIG1xKHNtYWxsKSB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IHJlbSgzMHB4KTtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IHJlbSgzMHB4KTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1xKG1lZGl1bSkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC50YWJzIHtcbiAgICAgICAgQGluY2x1ZGUgbXEobWVkaXVtKSB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnRhYiB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDEycHgpO1xuXG4gICAgICAgIEBpbmNsdWRlIG1xKHNtYWxsKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbSgxNHB4KTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1xKGxhcmdlKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbSgxNnB4KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC50YWItZGV0YWlsIHtcbiAgICAgICAgcGFkZGluZzogcmVtKDIwcHgpO1xuXG4gICAgICAgIEBpbmNsdWRlIG1xKGxhcmdlKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiByZW0oMzBweCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubnV0cml0aW9uLWd1aWRlcyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbSg1cHgpO1xuXG4gICAgICAgIEBpbmNsdWRlIG1xKG1lZGl1bSkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDEwcHgpO1xuICAgICAgICB9XG5cbiAgICAgICAgbGkge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG5cbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICd8JztcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IHJlbSg1cHgpO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogcmVtKDVweCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBsaTpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBjb2xvcjogc2V0Y29sb3IocmVkKTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDE0cHgpO1xuICAgICAgICAgICAgQGluY2x1ZGUgc2V0Zm9udCgnZGlzdHJpY3QgYm9sZCcpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmljb25zLFxuICAgIC5leGNlcnB0IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAuaWNvbnMge1xuICAgICAgICBAaW5jbHVkZSBtcShtZWRpdW0pIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IHJlbSgycHgpO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbXEoeGxhcmdlKSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiByZW0oNXB4KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC52ZWdnaWUge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IHJlbSgxMHB4KTtcbiAgICAgICAgICAgIHRvcDogMnB4O1xuXG4gICAgICAgICAgICAmLm5vLXNwaWN5IHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5zcGljeSB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IHJlbSgtMXB4KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5leGNlcnB0IHtcbiAgICAgICAgZm9udC1zaXplOiByZW0oMTZweCk7XG5cbiAgICAgICAgQGluY2x1ZGUgbXEobWVkaXVtKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbSgxNnB4KTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1xKHhsYXJnZSkge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0oMThweCk7XG4gICAgICAgIH1cblxuICAgICAgICAuZXhjZXJwdC1leHRyYSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxZW07XG5cbiAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDFlbTtcblxuICAgICAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnByZXAtb3B0aW9uIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiByZW0oNXB4KTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDVweCk7XG5cbiAgICAgICAgQGluY2x1ZGUgbXEoc21hbGwpIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogcmVtKDEwcHgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnByZXAtb3B0aW9uLXRpdGxlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgIEBpbmNsdWRlIG1xKHNtYWxsKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oNXB4KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5wcmVwLW9wdGlvbi1kZXNjcmlwdGlvbiB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICBAaW5jbHVkZSBtcShzbWFsbCkge1xuICAgICAgICAgICAgZGlzcGxheTogaW5oZXJpdDtcbiAgICAgICAgICAgIHBhZGRpbmc6IHJlbSgwIDVweCk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5kaXNoLWluZm8tc2VjdGlvbiB7XG4gICAgQGluY2x1ZGUgY2Y7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtKDEwcHgpO1xuXG4gICAgQGluY2x1ZGUgbXEoc21hbGwpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDE1cHgpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1xKGxhcmdlKSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbSgyMHB4KTtcbiAgICB9XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oMCk7XG4gICAgfVxuXG4gICAgcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDE0cHgpO1xuICAgIH1cblxuICAgIGgzIHtcbiAgICAgICAgQGluY2x1ZGUgc2V0Zm9udCgnZGlzdHJpY3QgYm9sZCcpO1xuICAgICAgICBmb250LXNpemU6IHJlbSgxOHB4KTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDVweCk7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMHB4O1xuXG4gICAgICAgIEBpbmNsdWRlIG1xKG1lZGl1bSkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDEwcHgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5udXRyaXRpb257XG4gICAgICAgIG1hcmdpbi10b3A6IHJlbSgyMHB4KTtcblxuICAgICAgICBAaW5jbHVkZSBtcShsYXJnZSkge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogcmVtKDMwcHgpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uZGlzaC1kaXNjbGFpbWVyIHtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgIHAge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oMC41ZW0pO1xuXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uZGlzaC1pbmZvIHtcbiAgICBAaW5jbHVkZSBjZjtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0oMjBweCk7XG5cbiAgICBAaW5jbHVkZSBtcShtZWRpdW0pIHtcbiAgICAgICAgbWFyZ2luLXRvcDogcmVtKDE1cHgpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oNDBweCk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbXEobGFyZ2UpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogcmVtKDM1cHgpO1xuICAgIH1cblxuICAgICYua2lkcy1tZWFscyxcbiAgICAmLnNoYXJlYWJsZXMsXG4gICAgJi5zYW5kd2ljaGVzIHtcbiAgICAgICAgLmltYWdlIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IHJlbSgtNjVweCk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5kaXNoLWV4dHJhLWluZm8ge1xuICAgIC5zZWN0aW9uLWhlYWRpbmcge1xuICAgICAgICBAaW5jbHVkZSBtcShtYXgtc21hbGwpIHtcbiAgICAgICAgICAgIHNwYW4ucmlnaHQsXG4gICAgICAgICAgICBzcGFuLmxlZnQge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDE2cHgpO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5hY2NvcmRpb24tc2VjdGlvbiB7XG4gICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgIC5zZWN0aW9uLWNvbnRlbnQge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBsZWZ0O1xuICAgICAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1xKG1lZGl1bSkge1xuICAgICAgICAgICAgLnNlY3Rpb24tY29udGVudCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAudGlwLXdyYXAge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oMjBweCk7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgQGluY2x1ZGUgbXEobWluaSkge1xuICAgICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IHJlbSgyMHB4KTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbSgzMHB4KTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1xKHNtYWxsKSB7XG4gICAgICAgICAgICB3aWR0aDogMzMuMzMzMzMzMyU7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtcShtZWRpdW0pIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIHBhZGRpbmc6IHJlbSgwIDUwcHgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnRpcC10aXRsZSB7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICBmb250LXNpemU6IHJlbSgxNnB4KTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDVweCk7XG5cbiAgICAgICAgQGluY2x1ZGUgbXEoc21hbGwpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDE4cHgpO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDEwcHgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnRhc3R5LWFkZGl0aW9ucyB7XG4gICAgfVxuXG4gICAgLmFkZGl0aW9uIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0oMTRweCk7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IHJlbSgxNXB4KTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDEwcHgpO1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICBAaW5jbHVkZSBtcShtaW5pKSB7XG4gICAgICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDE1cHgpO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbXEobWVkaXVtKSB7XG4gICAgICAgICAgICB3aWR0aDogMzMuMzMzMzMlO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDIwcHgpO1xuICAgICAgICB9XG4gICAgfVxufSIsIi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBNZW51IE1haW5cbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi5tZW51LXNlY3Rpb25zIHtcbiAgICBib3JkZXItYm90dG9tOiByZW0oM3B4KSBzb2xpZCBzZXRjb2xvcih0YW4pO1xuXG4gICAgQGluY2x1ZGUgbXEobWVkaXVtKSB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IHJlbSg0cHgpIHNvbGlkIHNldGNvbG9yKHRhbik7XG4gICAgfVxuXG4gICAgJjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiByZW0oNHB4KTtcbiAgICAgICAgY29sb3I6IHNldGNvbG9yKHRhbik7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIC5leHRyYXMtc2VjdGlvbiB7XG4gICAgICAgIEBpbmNsdWRlIG1xKG1lZGl1bSkge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLm1lbnUtc2VjdGlvbiB7XG4gICAgQGluY2x1ZGUgbXEobWVkaXVtKSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbSgyMHB4KTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtcShsYXJnZSkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oMzBweCk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbXEoeGxhcmdlKSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbSg0MHB4KTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtcShwcmludCkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oMTBweCk7XG4gICAgfVxuXG4gICAgLnNlY3Rpb24taGVhZGluZyB7XG4gICAgICAgIEBpbmNsdWRlIG1xKG1heC1zbWFsbCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0oMTZweCk7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnNlY3Rpb24tYW5jaG9yIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAtNTBweDtcblxuICAgICAgICBAaW5jbHVkZSBtcShzbWFsbCkge1xuICAgICAgICAgICAgdG9wOiAtMTI1cHg7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtcSh4bGFyZ2UpIHtcbiAgICAgICAgICAgIHRvcDogLTE3NXB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnNlY3Rpb24tZGlzY2xhaW1lciB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbSgxNXB4KTtcblxuICAgICAgICBAaW5jbHVkZSBtcShtZWRpdW0pIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbSgzMHB4KTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1xKHhsYXJnZSkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDQ1cHgpO1xuICAgICAgICB9XG5cbiAgICAgICAgcCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oMC41ZW0pO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1xKG1lZGl1bSkge1xuICAgICAgICAgICAgICAgIHdpZHRoOiA4MCU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1xKHhsYXJnZSkge1xuICAgICAgICAgICAgICAgIHdpZHRoOiA2Ni42NjY2JTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4ubWVudS1pbnRybyB7XG4gICAgbWF4LXdpZHRoOiByZW0oODAwcHgpO1xuXG4gICAgQGluY2x1ZGUgbXEocHJpbnQpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAuZ3VpZGVzLWFuZC1wcmludCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbSgxMHB4KTtcblxuICAgICAgICBsaSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcgfCAnO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpsYXN0LWNoaWxkOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGEge1xuICAgICAgICAgICAgQGluY2x1ZGUgc2V0Zm9udCgnZGlzdHJpY3QgYm9sZCcpO1xuICAgICAgICAgICAgY29sb3I6IHNldGNvbG9yKHJlZCk7XG5cbiAgICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogc2V0Y29sb3IocmVkLCBkYXJrKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5pY29uLWtleSB7XG4gICAgICAgIGNvbG9yOiBzZXRjb2xvcihicm93bik7XG4gICAgfVxufVxuXG4ubWVudS1tYWluIHtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0oNDBweCk7XG5cbiAgICAubWVudS1jYXRlZ29yaWVzIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oMjBweCk7XG5cbiAgICAgICAgJi5mdWxsIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1xKG1heC1tZWRpdW0pIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBtcShsYXJnZSkge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBtcShwcmludCkge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLm1vYmlsZSB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDkwJTtcblxuICAgICAgICAgICAgc2VsZWN0IHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbSgxNnB4KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgbXEobWluaSkge1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogODAlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBtcShzbWFsbCkge1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogNTAlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBtcShsYXJnZSkge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1xKHByaW50KSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5maWx0ZXItaW5mbyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oMTBweCk7XG4gICAgICAgIGNvbG9yOiBzZXRjb2xvcihibGFjayk7XG4gICAgfVxuXG4gICAgLm1lbnUtY2F0ZWdvcnkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBzZXRjb2xvcih0YW4pO1xuICAgICAgICAgICAgICAgIGNvbG9yOiBzZXRjb2xvcihyZWQpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBhOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogc2V0Y29sb3IocmVkKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGEge1xuICAgICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHNldGNvbG9yKHRhbik7XG4gICAgICAgICAgICAgICAgY29sb3I6IHNldGNvbG9yKHJlZCwgZGFyayk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBhIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IHJlbSgxMHB4KTtcbiAgICAgICAgICAgIGNvbG9yOiBzZXRjb2xvcihyZWQpO1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0oMTRweCk7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMmVtO1xuICAgICAgICAgICAgQGluY2x1ZGUgc2V0Zm9udCgnZGlzdHJpY3QgYm9sZCcpO1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtcSh4bGFyZ2UpIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbSgxNnB4KTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiByZW0oMTVweCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZGlzaC1mZWF0dXJlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgICAmLnNob3cge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnByb2ZpbGVzLXdyYXAge1xuICAgICAgICBAaW5jbHVkZSBtcShtZWRpdW0pIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMzAwbXM7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgICAgIHJpZ2h0OiAwcHg7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiByZW0oMTVweCk7XG4gICAgICAgICAgICBib3JkZXItbGVmdDogN3B4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiA3cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBib3JkZXItdG9wOiA3cHggc29saWQgc2V0Y29sb3Iod2hpdGUpO1xuICAgICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogc2V0Y29sb3Iod2hpdGUpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4jZ2x1dGVuLWZyZWUtaW5mbyB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBmb250LXNpemU6IHJlbSgxNHB4KTtcbiAgICBtYXgtd2lkdGg6IHJlbSg4MDBweCk7XG4gICAgbWFyZ2luOiAwIGF1dG8gcmVtKDIwcHgpO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIEBpbmNsdWRlIG1xKG1lZGl1bSkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oMzBweCk7XG4gICAgfVxufVxuXG4uZ2x1dGVuLWZyZWUtb3B0aW9uYWwge1xuICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAuZmVhdHVyZS1kaXNoIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxufVxuXG4uZ2x1dGVuLWZyZWUtb3B0aW9uYWwtaW5mbyB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtc2l6ZTogcmVtKDE0cHgpO1xuICAgIG1hcmdpbi1ib3R0b206IHJlbSgxMHB4KTtcbn1cblxuLm1lbnUtZm9vdGVyIHtcbiAgICBAaW5jbHVkZSBjZjtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0oNDBweCk7XG5cbiAgICBAaW5jbHVkZSBtcShzbWFsbCkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oNTVweCk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbXEobGFyZ2UpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDcwcHgpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1xKHByaW50KSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLm1lbnUtZm9vdGVyLWhlYWRpbmcge1xuICAgICAgICBAaW5jbHVkZSBzZXRmb250KCdrbm9ja291dCcpO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBmb250LXNpemU6IHJlbSgyNHB4KTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDIwcHgpO1xuXG4gICAgICAgIEBpbmNsdWRlIG1xKHNtYWxsKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbSgzMnB4KTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1xKG1lZGl1bSkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDMwcHgpO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbXEobGFyZ2UpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDM2cHgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm1lbnUtZm9vdGVyLXNlY3Rpb24ge1xuICAgICAgICBAaW5jbHVkZSBtcShtZWRpdW0pIHtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICB9XG5cbiAgICAgICAgJi5tZW51LWV4dHJhcyB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtcShtYXgtc21hbGwpIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm9ubGluZS1vcmRlcmluZyB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IHJlbSgzMHB4KTtcblxuICAgICAgICBAaW5jbHVkZSBtcShtZWRpdW0pIHtcbiAgICAgICAgICAgIHdpZHRoOiA2MCU7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiByZW0oNjBweCk7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtcShsYXJnZSkge1xuICAgICAgICAgICAgd2lkdGg6IDY2LjY2NjY2NiU7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiByZW0oODBweCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAub25saW5lLW9yZGVyaW5nLWNvcHkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oMTBweCk7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDE2cHgpO1xuXG4gICAgICAgIEBpbmNsdWRlIG1xKG1lZGl1bSkge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0oMThweCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucHJpY2luZy1ub3RpY2Uge1xuICAgICAgICBmb250LXNpemU6IHJlbSgxNHB4KTtcbiAgICAgICAgQGluY2x1ZGUgc2V0Zm9udCgnZGlzdHJpY3QgYm9sZCcpO1xuICAgIH1cblxuICAgIC5zdGFydC1vcmRlcmluZyB7XG4gICAgICAgIG1hcmdpbi10b3A6IHJlbSgxNXB4KTtcblxuICAgICAgICBAaW5jbHVkZSBtcShtZWRpdW0pIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IHJlbSgyNXB4KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5tZW51LWV4dHJhcyB7XG4gICAgICAgIHdpZHRoOiA0MCU7XG5cbiAgICAgICAgQGluY2x1ZGUgbXEobGFyZ2UpIHtcbiAgICAgICAgICAgIHdpZHRoOiAzMy4zMzMzMzMzJTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLm1lbnUtZXh0cmEtaXRlbSB7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtKDEwcHgpO1xuXG4gICAgLm5hbWUsXG4gICAgLmNhbG9yaWVzIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBmb250LXNpemU6IHJlbSgxNHB4KTtcblxuICAgICAgICBAaW5jbHVkZSBtcShtaW5pKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbSgxNnB4KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jYWxvcmllcyB7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgQGluY2x1ZGUgc2V0Zm9udCgnZGlzdHJpY3QgYm9sZCcpO1xuICAgIH1cbn1cblxuI25vLWl0ZW1zLWZvdW5kIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW4tdG9wOiByZW0oMzBweCk7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtKDUwcHgpO1xuXG4gICAgQGluY2x1ZGUgbXEobWVkaXVtKSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbSgxMDBweCk7XG4gICAgfVxuXG4gICAgcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDE4cHgpO1xuICAgIH1cbn0iLCIvLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQ2FyZWVyc1xuLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIExhbmRpbmdcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5jYXJlZXJzLWxhbmRpbmctc2VjdGlvbiB7XG4gICAgcGFkZGluZy10b3A6IHJlbSgzMHB4KTtcbiAgICBwYWRkaW5nLWJvdHRvbTogcmVtKDQwcHgpO1xuXG4gICAgQGluY2x1ZGUgbXEoc21hbGwpIHtcbiAgICAgICAgcGFkZGluZy10b3A6IHJlbSg0MHB4KTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHJlbSg1MHB4KTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtcShsYXJnZSkge1xuICAgICAgICBwYWRkaW5nLXRvcDogcmVtKDYwcHgpO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmVtKDgwcHgpO1xuICAgIH1cblxuICAgIC5mZWF0dXJlZC1oZWFkaW5nIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDIwcHgpO1xuICAgIH1cbn1cblxuLmNhcmVlcnMtbGFuZGluZy1pbnRybyB7XG4gICAgcGFkZGluZy10b3A6IHJlbSgzMHB4KTtcblxuICAgIEBpbmNsdWRlIG1xKG1lZGl1bSkge1xuICAgICAgICBwYWRkaW5nLXRvcDogcmVtKDYwcHgpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1xKGxhcmdlKSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiByZW0oODBweCk7XG4gICAgfVxuXG4gICAgLmludHJvLWhlYWRpbmcge1xuICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICB9XG5cbiAgICAuY3RhLXdyYXAge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbn1cblxuLmNhcmVlcnMtbGFuZGluZy1wb3NpdGlvbnMtd3JhcCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogc2V0Y29sb3IodGFuLCBsaWdodCk7XG5cbiAgICAuZmVhdHVyZWQtaGVhZGluZyB7XG4gICAgICAgIHNwYW4udGl0bGUge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogc2V0Y29sb3IodGFuLCBsaWdodCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucG9zaXRpb24tdHlwZXMge1xuICAgICAgICBAaW5jbHVkZSBjZjtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IHJlbSgtMTBweCk7XG4gICAgICAgIG1hcmdpbi1yaWdodDogcmVtKC0xMHB4KTtcbiAgICB9XG5cbiAgICAuZ3JpZC1ibG9jayB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwYWRkaW5nOiByZW0oMTBweCk7XG5cbiAgICAgICAgQGluY2x1ZGUgbXEoc21hbGwpIHtcbiAgICAgICAgICAgIHdpZHRoOiAzMy4zMzMzMyU7XG4gICAgICAgICAgICBwYWRkaW5nOiByZW0oNXB4KTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1xKG1lZGl1bSkge1xuICAgICAgICAgICAgcGFkZGluZzogcmVtKDEwcHgpO1xuICAgICAgICB9XG5cbiAgICAgICAgJi50ZWFtLXBvc2l0aW9ucyB7XG4gICAgICAgICAgICAuZ3JpZC10ZXh0IHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBzZXRjb2xvcihnb2xkKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuY29ycG9yYXRlLXBvc2l0aW9ucyB7XG4gICAgICAgICAgICAuZ3JpZC10ZXh0IHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBzZXRjb2xvcihzdGVlbCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZ3JpZC10ZXh0IHtcbiAgICAgICAgQGluY2x1ZGUgbXEoc21hbGwpIHtcbiAgICAgICAgICAgIGJvdHRvbTogcmVtKDIwcHgpO1xuICAgICAgICAgICAgQGluY2x1ZGUgbXEobWF4LXNtYWxsKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogcmVtKDEwcHgpO1xuXG4gICAgICAgICAgICAgICAgLmN0YS1saW5rIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmNhcmVlcnMtbGFuZGluZy1xdW90ZXMge1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuXG4gICAgLnNsaWNrLXByZXYsXG4gICAgLnNsaWNrLW5leHQge1xuICAgICAgICBAaW5jbHVkZSBtcShtYXgtc21hbGwpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgLy8gaGF2ZSB0byB1c2UgIWltcG9ydGFudCBiYyBzbGljayBzdHlsZSBpcyBpbmxpbmVkXG4gICAgICAgIH1cblxuICAgICAgICBAZXh0ZW5kICVuYWtlZC1idXR0b247XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDMwcHgpO1xuICAgICAgICBjb2xvcjogc2V0Y29sb3IocmVkKTtcbiAgICAgICAgdG9wOiAzMCU7XG4gICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNzAlKTtcblxuICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIEBleHRlbmQgJXZpc3VhbGx5LWhpZGRlbjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zbGljay1wcmV2IHtcbiAgICAgICAgQGluY2x1ZGUgbXEobWVkaXVtKSB7XG4gICAgICAgICAgICBsZWZ0OiA1MHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbXEobGFyZ2UpIHtcbiAgICAgICAgICAgIGxlZnQ6IDc1cHg7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtcSh4bGFyZ2UpIHtcbiAgICAgICAgICAgIGxlZnQ6IDEwMHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnNsaWNrLW5leHQge1xuICAgICAgICBAaW5jbHVkZSBtcShtZWRpdW0pIHtcbiAgICAgICAgICAgIHJpZ2h0OiA1MHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbXEobGFyZ2UpIHtcbiAgICAgICAgICAgIHJpZ2h0OiA3NXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbXEoeGxhcmdlKSB7XG4gICAgICAgICAgICByaWdodDogMTAwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc2xpY2stZG90cyB7XG4gICAgICAgIGJvdHRvbTogcmVtKDMwcHgpO1xuXG4gICAgICAgIGJ1dHRvbjpiZWZvcmUge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0oNDBweCk7XG4gICAgICAgICAgICBjb2xvcjogc2V0Y29sb3IodGFuKTtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIH1cblxuICAgICAgICAuc2xpY2stYWN0aXZlIHtcbiAgICAgICAgICAgIGJ1dHRvbjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBzZXRjb2xvcihyZWQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnF1b3Rlcy1zbGlkZXIge1xuICAgICAgICBib3JkZXItYm90dG9tOiByZW0oNHB4KSBzb2xpZCBzZXRjb2xvcih0YW4pO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmVtKDUwcHgpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgICAgIEBpbmNsdWRlIG1xKHNtYWxsKSB7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmVtKDYwcHgpO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbXEobGFyZ2UpIHtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiByZW0oNzBweCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucXVvdGUtY29udGVudCB7XG4gICAgICAgIEBpbmNsdWRlIG1xKG1lZGl1bSkge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxMDBweDtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDEwMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbXEobGFyZ2UpIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMTI1cHg7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMjVweDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1xKHhsYXJnZSkge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxNTBweDtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDE1MHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgYmxvY2txdW90ZSB7XG4gICAgICAgIHBhZGRpbmc6IHJlbSg0MHB4IDEwcHgpO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgcCB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbSgxOHB4KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGNpdGUge1xuICAgICAgICBAaW5jbHVkZSBzZXRmb250KCdkaXN0cmljdCBib2xkJyk7XG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi10b3A6IHJlbSg0MHB4KTtcbiAgICB9XG5cbiAgICAucXVvdGUtbGluZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBAaW5jbHVkZSBzZXRmb250KCdkaXN0cmljdCBib2xkJyk7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAxcHg7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDE4cHgpO1xuXG4gICAgICAgIEBpbmNsdWRlIG1xKG1lZGl1bSkge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0oMjRweCk7XG4gICAgICAgIH1cblxuXG4gICAgICAgICY6bnRoLWNoaWxkKG9kZCkge1xuICAgICAgICAgICAgQGluY2x1ZGUgc2V0Zm9udCgnemlnZ3VyYXQnKTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDI4cHgpO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtcShtZWRpdW0pIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbSgzNnB4KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmNhcmVlcnMtbGFuZGluZy1mb290ZXIge1xuICAgIEBpbmNsdWRlIGNmO1xuXG4gICAgLmNhcmVlcnMtbGFuZGluZy1mb290ZXItY29weSxcbiAgICAuY2FyZWVycy1sYW5kaW5nLWZvb3Rlci12aWRlbyB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgIEBpbmNsdWRlIG1xKG1lZGl1bSkge1xuICAgICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICB9XG5cbiAgICAgICAgJi5mdWxsIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNhcmVlcnMtbGFuZGluZy1mb290ZXItY29weSB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuXG4gICAgICAgIGg0IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHNldGZvbnQoJ2tub2Nrb3V0Jyk7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbSgzNnB4KTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbSgzMHB4KTtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1xKG1lZGl1bSkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDQycHgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbXEoeGxhcmdlKSB7XG4gICAgICAgICAgICB3aWR0aDogNDAlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNhcmVlcnMtbGFuZGluZy1mb290ZXItY29weS1jb250ZW50IHtcbiAgICAgICAgQGluY2x1ZGUgbXEobWVkaXVtKSB7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiByZW0oNTBweCk7XG4gICAgICAgIH1cbiAgICAgICAgcCB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbSgxNHB4KTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbSgxMHB4KTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbXEobWVkaXVtKSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0oMTZweCk7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDIwcHgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNhcmVlcnMtbGFuZGluZy1mb290ZXItdmlkZW8ge1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgIGhlaWdodDogcmVtKDI1MHB4KTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDMwcHgpO1xuXG4gICAgICAgIEBpbmNsdWRlIG1xKG1pbmkpIHtcbiAgICAgICAgICAgIGhlaWdodDogcmVtKDMwMHB4KTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1xKHNtYWxsKSB7XG4gICAgICAgICAgICBoZWlnaHQ6IHJlbSgzNTBweCk7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtcShtZWRpdW0pIHtcbiAgICAgICAgICAgIGhlaWdodDogcmVtKDI1MHB4KTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtcShsYXJnZSkge1xuICAgICAgICAgICAgaGVpZ2h0OiByZW0oMzAwcHgpO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbXEoeGxhcmdlKSB7XG4gICAgICAgICAgICBoZWlnaHQ6IHJlbSg0NDBweCk7XG4gICAgICAgICAgICB3aWR0aDogNjAlO1xuICAgICAgICB9XG5cbiAgICAgICAgaWZyYW1lIHtcbiAgICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEFwcGx5XG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uY2FyZWVycy1hcHBseSB7XG4gICAgLmZlYXR1cmVkLWhlYWRpbmcge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbSgyMHB4KTtcblxuICAgICAgICBAaW5jbHVkZSBtcShzbWFsbCkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDMwcHgpO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbXEobGFyZ2UpIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbSg0MHB4KTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmNhcmVlcnMtYXBwbHktYmFjay10by1sYW5kaW5nIHtcbiAgICBwYWRkaW5nLXRvcDogcmVtKDIwcHgpO1xuICAgIHBhZGRpbmctYm90dG9tOiByZW0oMjBweCk7XG5cbiAgICBAaW5jbHVkZSBtcShzbWFsbCkge1xuICAgICAgICBwYWRkaW5nLXRvcDogcmVtKDMwcHgpO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmVtKDMwcHgpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1xKGxhcmdlKSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiByZW0oNDBweCk7XG4gICAgfVxufVxuXG4uY2FyZWVycy1hcHBseS1tYWluIHtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0oNTBweCk7XG5cbiAgICBAaW5jbHVkZSBtcShzbWFsbCkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oNzVweClcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtcShsYXJnZSkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oMTAwcHgpO1xuICAgIH1cblxuICAgIC5zaW1wbGUtdGFicyB7XG4gICAgICAgIHNlY3Rpb24ge1xuICAgICAgICAgICAgQGluY2x1ZGUgbXEobWF4LXNtYWxsKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmNhcmVlcnMtYXBwbHktcG9zaXRpb24tc2VhcmNoIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtKDMwcHgpO1xuXG4gICAgQGluY2x1ZGUgbXEobWVkaXVtKSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbSg1MHB4KTtcbiAgICB9XG5cbiAgICBoMyB7XG4gICAgICAgIEBpbmNsdWRlIHNldGZvbnQoJ2Rpc3RyaWN0IGJvbGQnKTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IGluaGVyaXQ7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICBmb250LXNpemU6IHJlbSgxNnB4KTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDIwcHgpO1xuXG4gICAgICAgIEBpbmNsdWRlIG1xKG1lZGl1bSkge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0oMThweCk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5jYXJlZXJzLWFwcGx5LXNlYXJjaC1mb3JtIHtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0oMzBweCk7XG4gICAgbWF4LXdpZHRoOiByZW0oNDAwcHgpO1xuICAgIG1hcmdpbjogcmVtKDAgYXV0byAzMHB4KTtcblxuICAgIEBpbmNsdWRlIG1xKG1lZGl1bSkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oNTBweCk7XG4gICAgfVxuXG4gICAgbGFiZWwge1xuICAgICAgICBAZXh0ZW5kICV2aXN1YWxseS1oaWRkZW47XG4gICAgfVxuXG4gICAgYnV0dG9uLnJhcnJvdyB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDUlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICBAZXh0ZW5kICVuYWtlZC1idXR0b247XG4gICAgICAgIHdpZHRoOiAwO1xuICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgIGJvcmRlci10b3A6IDVweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogNXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItbGVmdDogNXB4IHNvbGlkIHNldGNvbG9yKHJlZCk7XG5cbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICBAZXh0ZW5kICV2aXN1YWxseS1oaWRkZW47XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBpbnB1dCB7XG4gICAgICAgIHBhZGRpbmc6IHJlbSgxMHB4IDQwcHggMTBweCAxMHB4KTtcbiAgICAgICAgY29sb3I6IHNldGNvbG9yKGJyb3duKTtcbiAgICAgICAgZm9udC1zaXplOiByZW0oMTZweCk7XG4gICAgICAgIGJvcmRlcjogNHB4IHNvbGlkIHNldGNvbG9yKHRhbik7XG5cbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IHNldGNvbG9yKHRhbiwgZGFyayk7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBwbGFjZWhvbGRlcigpIHtcbiAgICAgICAgICAgIGNvbG9yOiBzZXRjb2xvcihicm93bik7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiNjb3Jwb3JhdGUtZGV0YWlsIHtcbiAgICAuY2FyZWVycy1hcHBseS1zZWFyY2gtcmVzdWx0IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDIwcHgpO1xuICAgIH1cblxuICAgIC5jYXJlZXJzLWFwcGx5LXNlYXJjaC1yZXN1bHRzLWNhdGVnb3J5IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDIwcHgpO1xuICAgIH1cblxuICAgIC5jYXJlZXJzLWFwcGx5LXNlYXJjaC1yZXN1bHRzLWNhdGVnb3J5LXRpdGxlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDIwcHgpO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIH1cbn1cblxuXG4uY2FyZWVycy1hcHBseS1zZWFyY2gtcmVzdWx0cy13cmFwIHtcbiAgICAvLyBoaWRkZW4gdW50aWwgY29udGVudCBpcyBsb2FkZWQgaW5cbiAgICBtYXgtd2lkdGg6IHJlbSg4MDBweCk7XG4gICAgbWFyZ2luOiAwIGF1dG8gMzBweDtcblxuICAgIEBpbmNsdWRlIG1xKG1lZGl1bSkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oNTBweCk7XG4gICAgfVxuXG4gICAgLnNlYXJjaC1yZXN1bHRzLWhlYWRpbmcge1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oMjBweCk7XG4gICAgICAgIEBpbmNsdWRlIHNldGZvbnQoJ2Rpc3RyaWN0IGJvbGQnKTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDE2cHgpO1xuXG4gICAgICAgIEBpbmNsdWRlIG1xKG1lZGl1bSkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDMwcHgpO1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0oMThweCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY2FyZWVycy1hcHBseS1zZWFyY2gtcmVzdWx0cyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBsZWZ0O1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIH1cbn1cblxuLmNhcmVlcnMtYXBwbHktc2VhcmNoLXJlc3VsdCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtKDIwcHgpO1xuXG4gICAgQGluY2x1ZGUgbXEoc21hbGwpIHtcbiAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogcmVtKDUwcHgpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oNDBweCk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbXEobGFyZ2UpIHtcbiAgICAgICAgd2lkdGg6IDMzLjMzMzMlO1xuICAgIH1cblxuICAgIC5sb2NhdGlvbi1uYW1lIHtcbiAgICAgICAgQGluY2x1ZGUgc2V0Zm9udCgnZGlzdHJpY3QgYm9sZCcpO1xuICAgICAgICBmb250LXNpemU6IHJlbSgxNnB4KTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbSgxMHB4KTtcblxuICAgICAgICBAaW5jbHVkZSBtcShtZWRpdW0pIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDE4cHgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmxvY2F0aW9uLWFkZHJlc3Mge1xuICAgICAgICBmb250LXNpemU6IHJlbSgxNHB4KTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDVweCk7XG5cbiAgICAgICAgQGluY2x1ZGUgbXEoc21hbGwpIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbSgxMHB4KTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1xKGxhcmdlKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oMTVweCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubG9jYXRpb24tcG9zaXRpb24ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oMTBweCk7XG5cbiAgICAgICAgQGluY2x1ZGUgbXEobWVkaXVtKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oMjBweCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucG9zaXRpb24tdGl0bGUsXG4gICAgLnBvc2l0aW9uLWxpbmsge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgQGluY2x1ZGUgc2V0Zm9udCgnZGlzdHJpY3QgYm9sZCcpO1xuICAgICAgICBmb250LXNpemU6IHJlbSgxNHB4KTtcbiAgICB9XG5cbiAgICAucG9zaXRpb24tbGluayB7XG4gICAgICAgIGNvbG9yOiBzZXRjb2xvcihyZWQpO1xuXG4gICAgICAgICY6aG92ZXIsXG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgY29sb3I6IHNldGNvbG9yKHJlZCwgZGFyayk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucG9zaXRpb24tdGl0bGUge1xuICAgICAgICBjb2xvcjogc2V0Y29sb3IoYnJvd24pO1xuICAgIH1cbn1cblxuLmNhcmVlcnMtYXBwbHktZGlzY2xhaW1lciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogc2V0Y29sb3IodGFuLCBsaWdodCk7XG4gICAgcGFkZGluZzogcmVtKDEwcHgpO1xuICAgIG1heC13aWR0aDogcmVtKDgwMHB4KTtcbiAgICBtYXJnaW46IDAgYXV0bztcblxuICAgIEBpbmNsdWRlIG1xKG1lZGl1bSkge1xuICAgICAgICBwYWRkaW5nOiByZW0oMjBweCk7XG4gICAgfVxuXG4gICAgcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDE0cHgpO1xuICAgIH1cblxuICAgIGEge1xuICAgICAgICBjb2xvcjogc2V0Y29sb3IocmVkKTtcbiAgICAgICAgQGluY2x1ZGUgc2V0Zm9udCgnZGlzdHJpY3QgYm9sZCcpO1xuXG4gICAgICAgICY6aG92ZXIsXG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgY29sb3I6IHNldGNvbG9yKHJlZCwgZGFyayk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5jYXJlZXJzLWFwcGx5LXBvc2l0aW9uLXNwb3RsaWdodCB7XG4gICAgLnNwb3RsaWdodC1jYXJlZXJzIHtcbiAgICAgICAgQGluY2x1ZGUgY2Y7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgICAgICAgQGluY2x1ZGUgbXEobWVkaXVtKSB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogcmVtKC0yMHB4KTtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogcmVtKC0yMHB4KTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1xKHhsYXJnZSkge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IHJlbSgtNDBweCk7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IHJlbSgtNDBweCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc3BvdGxpZ2h0LWNhcmVlciB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgQGluY2x1ZGUgbXEobWF4LXNtYWxsKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oMzBweCk7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtcShtZWRpdW0pIHtcbiAgICAgICAgICAgIHdpZHRoOiAzMy4zMzMlO1xuICAgICAgICAgICAgcGFkZGluZzogcmVtKDAgMjBweCk7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtcSh4bGFyZ2UpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IHJlbSgwIDQwcHgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnNwb3RsaWdodC1jYXJlZXItaW1hZ2Uge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oMTBweCk7XG5cbiAgICAgICAgQGluY2x1ZGUgbXEobWVkaXVtKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oMjBweCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc3BvdGxpZ2h0LWNhcmVlci10aXRsZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbSgxMHB4KTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIEBpbmNsdWRlIHNldGZvbnQoJ2Rpc3RyaWN0IGJvbGQnKTtcbiAgICAgICAgZm9udC1zaXplOiByZW0oMTZweCk7XG5cbiAgICAgICAgQGluY2x1ZGUgbXEobWVkaXVtKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oMTBweCk7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbSgxOHB4KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zcG90bGlnaHQtY2FyZWVyLWRlc2NyaXB0aW9uIHtcbiAgICAgICAgQGluY2x1ZGUgc2V0Zm9udCgnZGlzdHJpY3QgbWVkaXVtJyk7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDE0cHgpO1xuICAgIH1cbn0iLCIvLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gTG9jYXRpb25zXG4vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5ib2R5LnBhZ2UtdGVtcGxhdGUtbG9jYXRpb25zIHtcbiAgICBAaW5jbHVkZSBtcShtZWRpdW0pIHtcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAubWFpbi1oZWFkZXIge1xuICAgICAgICBAaW5jbHVkZSBtcShtYXgtbWVkaXVtKSB7XG4gICAgICAgICAgICBoZWlnaHQ6IHJlbSg1M3B4KTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmxvY2F0aW9ucy1tYWluIHtcbiAgICBAaW5jbHVkZSBjZjtcbn1cblxuLmxvY2F0aW9ucy1saXN0aW5nIHtcbiAgICBAaW5jbHVkZSBjZjtcbiAgICBwYWRkaW5nOiByZW0oMjBweCk7XG5cbiAgICBAaW5jbHVkZSBtcShtZWRpdW0pIHtcbiAgICAgICAgdG9wOiByZW0oNjBweCk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbXEobGFyZ2UpIHtcbiAgICAgICAgdG9wOiByZW0oMzBweCk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbXEoeHhsYXJnZSkge1xuICAgICAgICB0b3A6IHJlbSg2MHB4KTtcbiAgICB9XG5cbiAgICAuY29taW5nLXNvb24tbGluayB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDEwcHgpO1xuXG4gICAgICAgIEBpbmNsdWRlIG1xKG1lZGl1bSkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDIwcHgpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4ubG9jYXRpb25zLW1hcC13cmFwIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB6LWluZGV4OiAyO1xuXG4gICAgQGluY2x1ZGUgbXEobWF4LXNtYWxsKSB7XG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgYm9yZGVyLXRvcDogNHB4IHNvbGlkIHNldGNvbG9yKHRhbik7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDRweCBzb2xpZCBzZXRjb2xvcih0YW4pO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1xKG1lZGl1bSkge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICBib3JkZXItbGVmdDogNHB4IHNvbGlkIHNldGNvbG9yKHRhbik7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbXEoeGxhcmdlKSB7XG4gICAgICAgIHdpZHRoOiA2Ni42NjY2JTtcbiAgICB9XG5cbiAgICAuZmluZC1tZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYm90dG9tOiAxNXB4O1xuICAgICAgICByaWdodDogMTVweDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB3aWR0aDogNDBweDtcbiAgICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBzZXRjb2xvcihyZWQpO1xuICAgICAgICBAZXh0ZW5kICVuYWtlZC1idXR0b247XG5cbiAgICAgICAgJjpob3ZlcixcbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBzZXRjb2xvcihyZWQsIGRhcmspO1xuICAgICAgICB9XG5cbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICBAZXh0ZW5kICV2aXN1YWxseS1oaWRkZW47XG4gICAgICAgIH1cblxuICAgICAgICA+IGkge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBzeW1ib2xzKCdsb2NhdGlvbicpO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICBjb2xvcjogc2V0Y29sb3Iod2hpdGUpO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgbGVmdDogMjUlO1xuICAgICAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDIwcHgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4ubG9jYXRpb25zLW1hcCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgLmdtbm9wcmludCxcbiAgICAuZ20tc3R5bGUtY2Mge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cblxuLmxvY2F0aW9ucy1saXN0aW5nIHtcbiAgICBAaW5jbHVkZSBtcShtZWRpdW0pIHtcbiAgICAgICAgd2lkdGg6IDUwJTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtcSh4bGFyZ2UpIHtcbiAgICAgICAgd2lkdGg6IDMzLjMzMzMlO1xuICAgIH1cbn1cblxuLmxvY2F0aW9ucy1mb3JtLWZpbHRlciB7XG5cbn1cblxuLmxvY2F0aW9ucy1zZWFyY2gtZm9ybSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm9yZGVyOiA0cHggc29saWQgc2V0Y29sb3IodGFuKTtcbiAgICBwYWRkaW5nOiByZW0oMTBweCk7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtKDE1cHgpO1xuXG4gICAgLnN5bWJvbCB7XG4gICAgICAgIEBleHRlbmQgJW5ha2VkLWJ1dHRvbjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICB6LWluZGV4OiAxO1xuXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbG9yOiBzZXRjb2xvcihyZWQpO1xuICAgICAgICB9XG5cbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICBAZXh0ZW5kICV2aXN1YWxseS1oaWRkZW47XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBpLnNlYXJjaCB7XG4gICAgICAgIGxlZnQ6IHJlbSgxMHB4KTtcbiAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHN5bWJvbHMoJ3NlYXJjaCcpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgYnV0dG9uLnJhcnJvdyB7XG4gICAgICAgIHJpZ2h0OiByZW0oMTVweCk7XG5cbiAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgYm9yZGVyLXRvcDogNXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItYm90dG9tOiA1cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlci1sZWZ0OiA1cHggc29saWQgc2V0Y29sb3IocmVkKTtcbiAgICB9XG5cbiAgICBpbnB1dCB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUpO1xuICAgICAgICBmb250LXNpemU6IHJlbSgxNnB4KTtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IHJlbSgyNXB4KTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogcmVtKDI1cHgpO1xuICAgICAgICBjb2xvcjogc2V0Y29sb3IoYnJvd24pO1xuXG4gICAgICAgIEBpbmNsdWRlIHBsYWNlaG9sZGVyKCkge1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDJweDtcbiAgICAgICAgICAgIGNvbG9yOiBzZXRjb2xvcihicm93bik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBsYWJlbCB7XG4gICAgICAgIEBleHRlbmQgJXZpc3VhbGx5LWhpZGRlbjtcbiAgICB9XG59XG5cbi5sb2NhdGlvbnMtY2hlY2tib3hlcyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtKDEwcHgpO1xuXG4gICAgLmN1c3RvbS1jaGVja2JveC13cmFwIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IHJlbSgxNXB4KTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IHJlbSgxNXB4KTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDE1cHgpO1xuXG4gICAgICAgIEBpbmNsdWRlIG1xKG1lZGl1bSkge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiByZW0oMTBweCk7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogcmVtKDEwcHgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnN0dW50LWRvdWJsZSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiByZW0oNXB4KTtcbiAgICB9XG5cbiAgICAuY3VzdG9tLWNoZWNrYm94LWxhYmVsIHtcbiAgICAgICAgdG9wOiByZW0oLTRweCk7XG4gICAgICAgIGNvbG9yOiBzZXRjb2xvcihicm93bik7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgZm9udC1zaXplOiByZW0oMTRweCk7XG4gICAgfVxufVxuXG4ubG9jYXRpb25zLXJlc3VsdHMtd3JhcCB7XG4gICAgQGluY2x1ZGUgbXEobWVkaXVtKSB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiByZW0oNDBweCk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbXEoeGxhcmdlKSB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiByZW0oNjBweCk7XG4gICAgfVxuXG4gICAgLy9JRSBFZGdlIC0gZG9uJ3QgcmVtb3ZlXG4gICAgQHN1cHBvcnRzICgtbXMtYWNjZWxlcmF0b3I6dHJ1ZSkge1xuICAgICAgLnNjcm9sbGVyLWNvbnRlbnQge1xuICAgICAgICBwYWRkaW5nOiByZW0oMCA1MHB4IDAgMCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAuc2Nyb2xsZXItY29udGVudCB7XG4gICAgICBwYWRkaW5nOiByZW0oMCAyMHB4IDAgMCk7XG5cbiAgICAgIEBpbmNsdWRlIG1xKG1lZGl1bSkge1xuICAgICAgICBwYWRkaW5nOiByZW0oMCA1MHB4IDAgMCk7XG4gICAgICB9XG5cbiAgICAgIC8vSUUgMTAvMTEgLSBkb24ndCByZW1vdmVcbiAgICAgIEBtZWRpYSBhbGwgYW5kICgtbXMtaGlnaC1jb250cmFzdDogbm9uZSksICgtbXMtaGlnaC1jb250cmFzdDogYWN0aXZlKSB7XG4gICAgICAgIHBhZGRpbmc6IHJlbSgwIDUwcHggMCAwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvL25lZWQgdG8gaGlkZSB0aGlzIHdpdGggc2Fzc3F3YXRjaFxuICAgIC5zY3JvbGxlci1iYXIge1xuICAgICAgICBAaW5jbHVkZSBtcShtYXgtc21hbGwpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubnVtLWZvdW5kIHtcbiAgICAgICAgQGluY2x1ZGUgc2V0Zm9udCgnZGlzdHJpY3QgYm9sZCcpO1xuICAgICAgICBmb250LXNpemU6IHJlbSgxNHB4KTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDE1cHgpO1xuXG4gICAgICAgIEBpbmNsdWRlIG1xKG1lZGl1bSkge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0oMTZweCk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5sb2NhdGlvbnMtcmVzdWx0cyB7XG4gICAgQGluY2x1ZGUgY2Y7XG5cbiAgICBAaW5jbHVkZSBtcShtZWRpdW0pIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDEwMHB4KTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtcSh4bGFyZ2UpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDE1MHB4KTtcbiAgICB9XG5cbiAgICBhLFxuICAgIHAsXG4gICAgc3BhbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDE0cHgpO1xuICAgICAgICBsaW5lLWhlaWdodDogMS41O1xuICAgIH1cblxuICAgIGEge1xuICAgICAgICBAaW5jbHVkZSBzZXRmb250KCdkaXN0cmljdCBib2xkJyk7XG4gICAgICAgIGNvbG9yOiBzZXRjb2xvcihyZWQpO1xuICAgIH1cblxuICAgIC5jb21pbmctc29vbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDE4cHgpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjVlbTtcbiAgICB9XG5cbiAgICAucmVzdWx0IHtcbiAgICAgICAgYm9yZGVyLXRvcDogcmVtKDRweCkgc29saWQgc2V0Y29sb3IodGFuKTtcbiAgICAgICAgcGFkZGluZzogcmVtKDIwcHgpO1xuICAgICAgICBmb250LXNpemU6IHJlbSgxNHB4KTtcbiAgICAgICAgQGluY2x1ZGUgc2V0Zm9udCgnZGlzdHJpY3QnKTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgICYuc2VsZWN0ZWQge1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IHJlbSg0cHgpIHNvbGlkIHNldGNvbG9yKHRhbik7XG4gICAgICAgICAgICBib3JkZXItcmlnaHQ6IHJlbSg0cHgpIHNvbGlkIHNldGNvbG9yKHRhbik7XG4gICAgICAgIH1cblxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgJi5zZWxlY3RlZCB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogcmVtKDRweCkgc29saWQgc2V0Y29sb3IodGFuKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5yZXN1bHQtbmFtZSB7XG4gICAgICAgIEBpbmNsdWRlIHNldGZvbnQoJ2tub2Nrb3V0Jyk7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDM2cHgpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oMTBweCk7XG4gICAgfVxuXG4gICAgLnJlc3VsdC1ob3VycyB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luLXRvcDogcmVtKDIwcHgpO1xuICAgIH1cblxuICAgIC5yZXN1bHQtcGhvbmUtd3JhcCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIC5yZXN1bHQtb3JkZXIge1xuICAgICAgICBtYXJnaW4tdG9wOiByZW0oMzBweCk7XG5cbiAgICAgICAgLmN0YSB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbSgxMnB4KTtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiByZW0oMTJweCk7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmVtKDEycHgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnJlc3VsdC1hbWVuaXRpZXMge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBtYXJnaW4tdG9wOiByZW0oMjBweCk7XG4gICAgfVxuXG4gICAgLnJlc3VsdC1hbWVuaXR5IHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiByZW0oMTJweCk7XG5cbiAgICAgICAgLmNoZWNrIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogcmVtKDVweCk7XG5cbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICB0b3A6IDJweDtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBzeW1ib2xzKCdjaGVjaycpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnJlc3VsdC1tb3JlIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW4tdG9wOiByZW0oMjBweCk7XG4gICAgfVxufSIsIi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBMb2NhdGlvbiBEZXRhaWxcbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi5sb2NhdGlvbi1zdWJoZWFkIHtcbiAgICBAaW5jbHVkZSBzZXRmb250KCdkaXN0cmljdCBib2xkJyk7XG4gICAgZm9udC1zaXplOiByZW0oMTRweCk7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtKDEwcHgpO1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIGxldHRlci1zcGFjaW5nOiAwO1xufVxuXG4ubG9jYXRpb24tZGV0YWlsIHtcbiAgICBAaW5jbHVkZSBjZjtcblxuICAgIC5mZWF0dXJlZC1oZWFkaW5nIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLmNvbWluZy1zb29uIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0oMjRweCk7XG4gICAgfVxufVxuXG4ubG9jYXRpb24tdXBsb2Fkcy13cmFwIHtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0oMTVweCk7XG59XG5cbi5sb2NhdGlvbi11cGxvYWQge1xuICAgIGZvbnQtc2l6ZTogcmVtKDE0cHgpO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG59XG5cbi5sb2NhdGlvbi1nYWxsZXJ5LWluZm8td3JhcCB7XG4gICAgQGluY2x1ZGUgY2Y7XG4gICAgbWFyZ2luLXRvcDogcmVtKDQwcHgpO1xuXG4gICAgQGluY2x1ZGUgbXEoc21hbGwpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogcmVtKDUwcHgpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oMTVweCk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbXEobWVkaXVtKSB7XG4gICAgICAgIG1hcmdpbi10b3A6IHJlbSg2MHB4KTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtcShsYXJnZSkge1xuICAgICAgICBtYXJnaW4tdG9wOiByZW0oNzBweCk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbSgzMHB4KTtcbiAgICB9XG59XG5cbi5sb2NhdGlvbi1nYWxsZXJ5LXdyYXAge1xuICAgIEBpbmNsdWRlIG1xKG1heC1zbWFsbCkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oNDBweCk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbXEobWVkaXVtKSB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgIH1cblxuICAgIC5zbGljay1wcmV2LFxuICAgIC5zbGljay1uZXh0IHtcbiAgICAgICAgQGV4dGVuZCAlbmFrZWQtYnV0dG9uO1xuICAgICAgICBjb2xvcjogc2V0Y29sb3IocmVkKTtcbiAgICAgICAgdG9wOiAzMCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNzAlKTtcbiAgICAgICAgZm9udC1zaXplOiByZW0oMTVweCk7XG5cbiAgICAgICAgQGluY2x1ZGUgbXEoc21hbGwpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDMwcHgpO1xuICAgICAgICB9XG5cbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICBAZXh0ZW5kICV2aXN1YWxseS1oaWRkZW47XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc2xpY2stcHJldiB7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgfVxuXG4gICAgLnNsaWNrLW5leHQge1xuICAgICAgICByaWdodDogMTBweDtcbiAgICB9XG5cbiAgICAuc2xpY2stZG90cyB7XG4gICAgICAgIGJvdHRvbTogcmVtKC0zMHB4KTtcblxuICAgICAgICBidXR0b246YmVmb3JlIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDQwcHgpO1xuICAgICAgICAgICAgY29sb3I6IHNldGNvbG9yKHRhbik7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB9XG5cbiAgICAgICAgLnNsaWNrLWFjdGl2ZSB7XG4gICAgICAgICAgICBidXR0b246YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogc2V0Y29sb3IocmVkKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmxvY2F0aW9uLWdhbGxlcnktZmVhdHVyZSB7XG4gICAgaGVpZ2h0OiByZW0oMzYwcHgpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICBib3JkZXI6IDRweCBzb2xpZCBzZXRjb2xvcih0YW4pO1xuICAgIG1hcmdpbi1ib3R0b206IHJlbSgzMHB4KTtcblxuICAgIEBpbmNsdWRlIG1xKG1heC1tZWRpdW0pIHtcbiAgICAgICAgLy8gbWFrZSBtYXAgc3RhdGljXG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuXG4gICAgICAgIC8vIGhpZGUgc3R1ZmYgbGlrZSB6b29tIGJ1dHRvbiwgb3RoZXIgbGlua3MgdGhhdCBhcmUgaW5hY3RpdmUgd2hpbGUgZGlzY2FyZGluZyBwb2ludGVyIGV2ZW50c1xuICAgICAgICAuZ21ub3ByaW50IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtcShtZWRpdW0pIHtcbiAgICAgICAgaGVpZ2h0OiByZW0oNDIwcHgpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oNDBweCk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbXEoeGxhcmdlKSB7XG4gICAgICAgIGhlaWdodDogcmVtKDU2MHB4KTtcbiAgICB9XG59XG5cbi5sb2NhdGlvbi1nYWxsZXJ5LW5hdiB7XG4gICAgcGFkZGluZy1sZWZ0OiByZW0oNDBweCk7XG4gICAgcGFkZGluZy1yaWdodDogcmVtKDQwcHgpO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuXG4gICAgLy8gbWFwIHByZXZpZXcsIGZpcnN0IGl0ZW0gb2YgZ2FsbGVyeVxuICAgIC5zaG93LWdtYXBzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogc2V0Y29sb3IodGFuLCBsaWdodCk7XG4gICAgICAgIHBhZGRpbmc6IHJlbSgxMHB4KTtcblxuICAgICAgICBpbWcge1xuICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubG9jYXRpb24tZ2FsbGVyeS1pdGVtLXdyYXAge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLmxvY2F0aW9uLWdhbGxlcnktaXRlbSB7XG4gICAgICAgIGhlaWdodDogNjBweDtcbiAgICAgICAgd2lkdGg6IDYwcHg7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gICAgICAgIGJvcmRlcjogMnB4IHNvbGlkIHNldGNvbG9yKHdoaXRlKTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAgIEBpbmNsdWRlIG1xKHNtYWxsKSB7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMHB4O1xuICAgICAgICAgICAgd2lkdGg6IDEwMHB4O1xuICAgICAgICAgICAgYm9yZGVyOiA0cHggc29saWQgc2V0Y29sb3Iod2hpdGUpO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5jdXJyZW50IHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogc2V0Y29sb3IodGFuKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmxvY2F0aW9uLWdhbGxlcnktd3JhcCxcbi5sb2NhdGlvbi1pbmZvLXdyYXAge1xuICAgIEBpbmNsdWRlIG1xKG1lZGl1bSkge1xuICAgICAgICB3aWR0aDogNTAlO1xuICAgIH1cbn1cblxuLmxvY2F0aW9uLWluZm8td3JhcCB7XG4gICAgQGluY2x1ZGUgbXEobWVkaXVtKSB7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiByZW0oMzBweCk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbXEobGFyZ2UpIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiByZW0oNTBweCk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbXEoeGxhcmdlKSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogcmVtKDcwcHgpO1xuICAgIH1cbn1cblxuLmxvY2F0aW9uLWluZm8taGVhZGxpbmUsXG4ubG9jYXRpb24taW5mby1zdWJoZWFkIHtcbiAgICBsaW5lLWhlaWdodDogMS41O1xufVxuXG4ubG9jYXRpb24taW5mby1oZWFkbGluZSB7XG4gICAgQGluY2x1ZGUgc2V0Zm9udCgnZGlzdHJpY3QgYm9sZCcpO1xuICAgIGZvbnQtc2l6ZTogcmVtKDE4cHgpO1xuICAgIG1hcmdpbi1ib3R0b206IHJlbSgxNXB4KTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICBsZXR0ZXItc3BhY2luZzogMDtcbn1cblxuLmxvY2F0aW9uLWluZm8tc3ViaGVhZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtKDE1cHgpO1xuXG59XG5cbi5sb2NhdGlvbi1pbmZvLWNvcHkge1xuICAgIGZvbnQtc2l6ZTogcmVtKDE0cHgpO1xuICAgIG1hcmdpbi1ib3R0b206IHJlbSgyMHB4KTtcbn1cblxuLmxvY2F0aW9uLWNvbnRhY3QtaG91cnMtd3JhcCB7XG4gICAgQGluY2x1ZGUgY2Y7XG59XG5cbi5sb2NhdGlvbi1jb250YWN0LFxuLmxvY2F0aW9uLWhvdXJzLXdyYXAge1xuICAgIGZsb2F0OiBsZWZ0O1xufVxuXG4ubG9jYXRpb24tY29udGFjdCB7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICBAaW5jbHVkZSBtcSh0aW55KSB7XG4gICAgICAgIHdpZHRoOiA2MCU7XG4gICAgfVxuXG4gICAgLmxvY2F0aW9uLWFkZHJlc3Mge1xuICAgICAgICBmb250LXNpemU6IHJlbSgxNHB4KTtcbiAgICB9XG5cbiAgICAuY3RhLXdyYXAge1xuICAgICAgICBtYXJnaW46IHJlbSgyMHB4IDApO1xuXG4gICAgICAgIGEge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0oMTJweCk7XG4gICAgICAgIH1cbiAgICB9XG5cbn1cblxuLmxvY2F0aW9uLWhvdXJzLXdyYXAge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206IHJlbSgyMHB4KTtcblxuICAgIEBpbmNsdWRlIG1xKHNtYWxsKSB7XG4gICAgICAgIHdpZHRoOiA0MCU7XG4gICAgfVxufVxuXG4ubG9jYXRpb24tZGF5IHtcbiAgICBmb250LXNpemU6IHJlbSgxNHB4KTtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0oMTBweCk7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAgIC5kYXkge1xuICAgICAgICB3aWR0aDogNDBweDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cbn1cblxuLmxvY2F0aW9uLWRpcmVjdGlvbnMsXG4ubG9jYXRpb24tcGhvbmUge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBjb2xvcjogc2V0Y29sb3IocmVkKTtcbiAgICBAaW5jbHVkZSBzZXRmb250KCdkaXN0cmljdCBib2xkJyk7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbn1cblxuLmxvY2F0aW9uLWRpcmVjdGlvbnMtd3JhcCxcbi5sb2NhdGlvbi1waG9uZS13cmFwIHtcbiAgICBkaXNwbGF5OiBibG9jaztcblxuICAgIGEge1xuICAgICAgIGZvbnQtc2l6ZTogcmVtKDE0cHgpO1xuICAgIH1cbn1cblxuLmxvY2F0aW9uLWFtZW5pdGllcy13cmFwIHtcbiAgICBjbGVhcjogYm90aDtcbiAgICBtYXJnaW4tdG9wOiByZW0oMTBweCk7XG5cbiAgICAubG9jYXRpb24tYW1lbml0aWVzIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oMjBweCk7XG5cbiAgICAgICAgbGkge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiByZW0oMTJweCk7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbSgxNHB4KTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbSgxMHB4KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jaGVjayB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IHJlbSg1cHgpO1xuXG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgdG9wOiAycHg7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgc3ltYm9scygnY2hlY2snKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmxvY2F0aW9uLWVjbHViLXdyYXAge1xuICAgIG1hcmdpbi10b3A6IHJlbSg1cHgpO1xuXG4gICAgQGluY2x1ZGUgbXEobWVkaXVtKSB7XG4gICAgICAgIG1hcmdpbi10b3A6IHJlbSgxMHB4KTtcbiAgICB9XG5cbiAgICAuY3RhLXdyYXAge1xuICAgICAgICBtYXJnaW46IHJlbSgxMHB4IDAgNTBweCk7XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbSgxMnB4KTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmxvY2F0aW9uLWV2ZW50cyB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbi1ib3R0b206IHJlbSg4MHB4KTtcblxuICAgIC5sb2NhdGlvbi1ldmVudCB7XG4gICAgICAgIG1hcmdpbjogcmVtKDQ1cHggYXV0byk7XG4gICAgICAgIG1heC13aWR0aDogcmVtKDU1MHB4KTtcbiAgICB9XG5cbiAgICAubG9jYXRpb24tZXZlbnQtdGl0bGUge1xuICAgICAgICBmb250LXNpemU6IHJlbSgxOHB4KTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDVweCk7XG4gICAgfVxuXG4gICAgLmxvY2F0aW9uLWV2ZW50LWRhdGV0aW1lIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0oMTRweCk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbSgxMHB4KTtcbiAgICB9XG5cbiAgICAubG9jYXRpb24tZXZlbnQtZGVzY3JpcHRpb24ge1xuICAgICAgICBmb250LXNpemU6IHJlbSgxNHB4KTtcbiAgICAgICAgbWFyZ2luLXRvcDogcmVtKDE4cHgpO1xuICAgIH1cbn0iLCIvLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gTmV3c3Jvb21cbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi5uZXdzcm9vbS1sYW5kaW5nLWZlYXR1cmUtbW9kdWxlLXdyYXAsXG4ubmV3c3Jvb20tbGFuZGluZy1mZWF0dXJlLW1vZHVsZSxcbi5uZXdzcm9vbS1sYW5kaW5nLWZlYXR1cmUtbW9kdWxlIC5mZWF0dXJlLW1vZHVsZS10eXBlcyB7XG4gICAgQGluY2x1ZGUgY2Y7XG59XG5cbi5uZXdzcm9vbS1sYW5kaW5nIHtcbiAgICAuaW50cm8tc2VjdGlvbiB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbSg1MHB4KTtcbiAgICB9XG5cbiAgICAgLnNsaWNrLXNsaWRlciB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbSg2MHB4KTtcbiAgICB9XG59XG5cbi5uZXdzcm9vbS1sYW5kaW5nLWZlYXR1cmUtbW9kdWxlLFxuLm5ld3Nyb29tLXJlY2VudC1oZWFkbGluZXMge1xuICAgIG1hcmdpbi1ib3R0b206IHJlbSg3MHB4KTtcblxuICAgIC5ncmlkLWJsb2NrIHtcbiAgICAgICAgQGluY2x1ZGUgbXEobWVkaXVtKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiByZW0oMTBweCk7XG4gICAgICAgIH1cblxuICAgICAgICAmLnNxdWFyZSB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbXEoc21hbGwpIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBtcShsYXJnZSkge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAzMy4zMzMzJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYud2lkZSB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbXEoc21hbGwpIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBtcShsYXJnZSkge1xuICAgICAgICAgICAgICAgIHdpZHRoOiA2Ni42NjY2JTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLm5ld3Nyb29tLXByZXNzLXJlbGVhc2VzLXdyYXAge1xuICAgIG1hcmdpbi1ib3R0b206IHJlbSg3MHB4KTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAucHJlc3MtcmVsZWFzZXMge1xuICAgICAgICBAaW5jbHVkZSBjZjtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgICAgICBAaW5jbHVkZSBtcShtZWRpdW0pIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiByZW0oLTIwcHgpO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiByZW0oLTIwcHgpO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbXEoeGxhcmdlKSB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogcmVtKC00MHB4KTtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogcmVtKC00MHB4KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5wcmVzcy1yZWxlYXNlIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICBAaW5jbHVkZSBtcShtYXgtc21hbGwpIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbSgzMHB4KTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1xKG1lZGl1bSkge1xuICAgICAgICAgICAgd2lkdGg6IDMzLjMzMzMlO1xuICAgICAgICAgICAgcGFkZGluZzogcmVtKDAgMjBweCk7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtcSh4bGFyZ2UpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IHJlbSgwIDQwcHgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnByZXNzLXJlbGVhc2UtdGl0bGUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oMjBweCk7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICBAaW5jbHVkZSBzZXRmb250KCdkaXN0cmljdCBib2xkJyk7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDE2cHgpO1xuXG4gICAgICAgIEBpbmNsdWRlIG1xKG1lZGl1bSkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDIwcHgpO1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0oMThweCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucHJlc3MtcmVsZWFzZS1kYXRlIHtcbiAgICAgICAgQGluY2x1ZGUgc2V0Zm9udCgnZGlzdHJpY3QgYm9sZCcpO1xuICAgIH1cblxuICAgIC5wcmVzcy1yZWxlYXNlLWV4Y2VycHQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oMTBweCk7XG4gICAgICAgIEBpbmNsdWRlIHNldGZvbnQoJ2Rpc3RyaWN0IG1lZGl1bScpO1xuICAgICAgICBmb250LXNpemU6IHJlbSgxNHB4KTtcbiAgICB9XG5cbiAgICAucHJlc3MtcmVsZWFzZS1kZXRhaWwtbGluayB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbSgwLjVlbSk7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgICAuY3RhLWxpbmsgIHtcbiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAwO1xuXG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICB0b3A6IDNweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiBzZXRjb2xvcihyZWQsIGRhcmspO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5wcmVzcy1yZWxlYXNlLWRvd25sb2FkLWxpbmsge1xuICAgICAgICAuZG93bmxvYWQtbGluayB7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0oMTRweCk7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHN5bWJvbHMoJ2Fycm93LWRvd24nKTtcbiAgICAgICAgICAgICAgICB0b3A6IDFweDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogM3B4O1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0oMTBweCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuZmlsZS1pbmZvIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDEycHgpO1xuXG4gICAgICAgICAgICA+IHNwYW4ge1xuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnLCAnO1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jdGEtd3JhcCB7XG4gICAgICAgIG1hcmdpbi10b3A6IHJlbSgyNXB4KTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHJlbSg1MHB4KTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogcmVtKDRweCkgc29saWQgI2RlZDJiMjtcbiAgICB9XG59XG5cbi5uZXdzcm9vbS1yZWNlbnQtaGVhZGxpbmVzLXdyYXAge1xuICAgIGJhY2tncm91bmQ6IHNldGNvbG9yKHRhbiwgbGlnaHQpO1xuICAgIHBhZGRpbmctdG9wOiByZW0oNjBweCk7XG4gICAgQGluY2x1ZGUgY2Y7XG59XG5cbi5uZXdzcm9vbS1yZWNlbnQtaGVhZGxpbmVzIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgLmZlYXR1cmVkLWhlYWRpbmcge1xuICAgICAgICAudGl0bGUge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogc2V0Y29sb3IodGFuLCBsaWdodCk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIGFjY291bnQgZm9yIGNvbnN0YW50IHBhZGRpbmcgb24gZ3JpZCBtb2R1bGVzXG4ucmVjZW50LWhlYWRsaW5lcy13cmFwIHtcbiAgICBtYXJnaW4tbGVmdDogcmVtKC01cHgpO1xuICAgIG1hcmdpbi1yaWdodDogcmVtKC01cHgpO1xuXG4gICAgQGluY2x1ZGUgbXEobWVkaXVtKSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiByZW0oLTEwcHgpO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IHJlbSgtMTBweCk7XG4gICAgICAgIHBhZGRpbmctbGVmdDogcmVtKDUwcHgpO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiByZW0oNTBweCk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbXEoeGxhcmdlKSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogcmVtKDc1cHgpO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiByZW0oNzVweCk7XG4gICAgfVxufVxuXG4ucmVjZW50LWhlYWRsaW5lcyB7XG4gICAgLmhlYWRsaW5lLWNvcHkge1xuICAgICAgICBAaW5jbHVkZSBzZXRmb250KCdkaXN0cmljdCBib2xkJyk7XG4gICAgICAgIGNvbG9yOiBzZXRjb2xvcihicm93bik7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbSg1cHgpO1xuICAgICAgICBmb250LXNpemU6IHJlbSgxNnB4KTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IGluaGVyaXQ7XG4gICAgfVxuXG4gICAgLmdyaWQtYmxvY2sge1xuICAgICAgICBhIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmdyaWQtdGV4dCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIHBhZGRpbmc6IHJlbSgxMHB4KTtcblxuICAgICAgICBAaW5jbHVkZSBtcShtZWRpdW0pIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IHJlbSgyMHB4KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5oZWFkbGluZS1jb3B5IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHNldGZvbnQoJ2Rpc3RyaWN0IGJsYWNrJyk7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbSgxNnB4KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zdGVlbCAuZ3JpZC10ZXh0IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogc2V0Y29sb3Ioc3RlZWwpO1xuICAgIH1cblxuICAgIC50YW4gLmdyaWQtdGV4dCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHNldGNvbG9yKHRhbik7XG4gICAgfVxuXG4gICAgLmdvbGQgLmdyaWQtdGV4dCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHNldGNvbG9yKGdvbGQpO1xuICAgIH1cblxuICAgIC8vc2xpZGVyIHNldHRpbmdzXG4gICAgLnNsaWNrLXByZXYsXG4gICAgLnNsaWNrLW5leHQge1xuICAgICAgICBAZXh0ZW5kICVuYWtlZC1idXR0b247XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDMwcHgpO1xuICAgICAgICBjb2xvcjogc2V0Y29sb3IocmVkKTtcbiAgICAgICAgdG9wOiAxMDUlO1xuICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGhlaWdodDogcmVtKDMwcHgpO1xuICAgICAgICB3aWR0aDogcmVtKDMwcHgpO1xuXG4gICAgICAgIEBpbmNsdWRlIG1xKG1lZGl1bSkge1xuICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgIH1cblxuICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIEBleHRlbmQgJXZpc3VhbGx5LWhpZGRlbjtcbiAgICAgICAgfVxuXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc2xpY2stcHJldiB7XG4gICAgICAgIGxlZnQ6IC0zNXB4O1xuXG4gICAgICAgIEBpbmNsdWRlIG1xKG1lZGl1bSkge1xuICAgICAgICAgICAgbGVmdDogLTQwcHg7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtcShsYXJnZSkge1xuICAgICAgICAgICAgbGVmdDogLTUwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc2xpY2stbmV4dCB7XG4gICAgICAgIHJpZ2h0OiAtMzVweDtcblxuICAgICAgICBAaW5jbHVkZSBtcShtZWRpdW0pIHtcbiAgICAgICAgICAgIHJpZ2h0OiAtNDBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1xKGxhcmdlKSB7XG4gICAgICAgICAgICByaWdodDogLTUwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc2xpY2stZG90cyB7XG4gICAgICAgIGJ1dHRvbjpiZWZvcmUge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0oNDBweCk7XG4gICAgICAgICAgICBjb2xvcjogc2V0Y29sb3IodGFuKTtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIH1cblxuICAgICAgICAuc2xpY2stYWN0aXZlIHtcbiAgICAgICAgICAgIGJ1dHRvbjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBzZXRjb2xvcihyZWQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG59IiwiLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEludmVzdG9yXG4vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4uaW52ZXN0b3ItbWFpbiB7XG4gICAgLm1haW4tY29udGVudCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiByZW0oMzBweCk7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiByZW0oMzBweCk7XG4gICAgICAgIEBpbmNsdWRlIGNmO1xuXG4gICAgICAgIEBpbmNsdWRlIG1xKG1lZGl1bSkge1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IHJlbSg1MHB4KTtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiByZW0oNTBweCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuaW52ZXN0b3Itc2VjdGlvbiB7XG4gICAgICAgIGJvcmRlci10b3A6IDNweCBzb2xpZCBzZXRjb2xvcih0YW4pO1xuICAgICAgICBwYWRkaW5nOiByZW0oMTVweCk7XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBjb2xvcjogc2V0Y29sb3IocmVkKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIHNldGZvbnQoJ2Rpc3RyaWN0IGJvbGQnKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuY3VycmVudCxcbiAgICAgICAgLmludmVzdG9yLXN1Ym5hdi1pdGVtLmN1cnJlbnQge1xuICAgICAgICAgICAgJiA+IGEge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBzZXRjb2xvcihicm93bik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuaW52ZXN0b3Itc3VibmF2IHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IHJlbSgxNXB4KTtcbiAgICAgICAgbWFyZ2luLXRvcDogcmVtKDEwcHgpO1xuICAgIH1cblxuICAgIC5pbnZlc3Rvci1zdWJuYXYtaXRlbSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbSgxMHB4KTtcblxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jb2wtbmF2LFxuICAgIC5jb2wtY29udGVudCB7XG4gICAgICAgIEBpbmNsdWRlIG1xKHNtYWxsKSB7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jb2wtbmF2IHtcbiAgICAgICAgQGluY2x1ZGUgbXEoc21hbGwpIHtcbiAgICAgICAgICAgIHdpZHRoOiAzMy4zMzMzJTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1xKG1lZGl1bSkge1xuICAgICAgICAgICAgd2lkdGg6IDI1JTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jb2wtY29udGVudCB7XG4gICAgICAgIEBpbmNsdWRlIG1xKG1heC1taW5pKSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiByZW0oMzBweCk7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbXEoc21hbGwpIHtcbiAgICAgICAgICAgIHdpZHRoOiA2Ni42NjY2JTtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogcmVtKDUwcHgpO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbXEobWVkaXVtKSB7XG4gICAgICAgICAgICB3aWR0aDogNzUlO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbXEobGFyZ2UpIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogcmVtKDcwcHgpO1xuICAgICAgICB9XG4gICAgfVxufSIsIi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBGQVFcbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi5mYXEtbGFuZGluZy13cmFwLFxuLmZhcS1sYW5kaW5nIHtcbiAgQGluY2x1ZGUgY2Y7XG5cbiAgLmludHJvLXNlY3Rpb24ge1xuICAgIG1hcmdpbi1ib3R0b206IHJlbSg1MHB4KTtcbiAgfVxufVxuXG4uZmFxLW1haW4ge1xuICBtYXJnaW4tYm90dG9tOiByZW0oODBweCk7XG5cbiAgLmZhcS1jYXRlZ29yeS1uYW1lIHtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0oMjBweCk7XG4gICAgZm9udC1zaXplOiByZW0oMzZweCk7XG4gIH1cblxuICAuZmFxLWNhdGVnb3J5IHtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0oNDBweCk7XG4gIH1cblxuICAuZmFxLXF1ZXN0aW9uLXRleHQge1xuICAgIEBpbmNsdWRlIHR5cGUoMTgsMjQpO1xuICB9XG5cbiAgLy9yZWR1Y2UgZGVmYXVsdCBtYXJnaW4gZnJvbSB3eXNpd3lnIHN0eWxlc1xuICAud3lzaXd5ZyAuZmFxLXF1ZXN0aW9uLXRleHQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn0iLCIvLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gTXVsdGltZWRpYVxuLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLm11bHRpbWVkaWEtbWFpbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtKDUwcHgpO1xuXG4gICAgQGluY2x1ZGUgbXEoc21hbGwpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDc1cHgpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1xKGxhcmdlKSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbSgxMDBweCk7XG4gICAgfVxuXG4gICAgLmFjdGlvbi10YWcge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHNldGNvbG9yKHJlZCk7XG4gICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgYm90dG9tOiByZW0oMTVweCk7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4yZW07XG4gICAgICAgIHBhZGRpbmc6IHJlbSgxMnB4IDI0cHgpO1xuICAgICAgICBAaW5jbHVkZSBzZXRmb250KCdkaXN0cmljdCBib2xkJyk7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIHRyYW5zaXRpb246IDIwMG1zIGJhY2tncm91bmQtY29sb3I7XG4gICAgfVxuXG4gICAgLm1lZGlhLXZpZGVvLFxuICAgIC5pbWFnZS1wcmV2aWV3IHtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIC5hY3Rpb24tdGFnIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBzZXRjb2xvcihyZWQsIGRhcmspO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmltYWdlLXByZXZpZXcge1xuICAgICAgICAuYWN0aW9uLXRhZyB7XG4gICAgICAgICAgICBwYWRkaW5nOiA1cHg7XG5cbiAgICAgICAgICAgIGkge1xuICAgICAgICAgICAgICAgIGxlZnQ6IDJweDtcbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgc3ltYm9scygnbWFnbmlmeScpO1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbSgyNXB4KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubG9nby1wcmV2aWV3IHtcbiAgICAgICAgYm9yZGVyOiAycHggc29saWQgc2V0Y29sb3IodGFuKTtcbiAgICAgICAgcGFkZGluZzogcmVtKDIwcHgpO1xuICAgIH1cblxuICAgIC5sb2dvLXByZXZpZXctaW5uZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuXG4gICAgLm1lZGlhLWltYWdlcyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBsZWZ0O1xuICAgIH1cblxuICAgIC5tZWRpYS1pbWFnZS13cmFwIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgQGluY2x1ZGUgbXEobWluaSkge1xuICAgICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1xKGxhcmdlKSB7XG4gICAgICAgICAgICB3aWR0aDogMzMuMzMzMyU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubWVkaWEtY2FwdGlvbiB7XG4gICAgICAgIEBpbmNsdWRlIHNldGZvbnQoJ2Rpc3RyaWN0IGJvbGQnKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICAgICAgbWFyZ2luLXRvcDogcmVtKDVweCk7XG4gICAgfVxuXG4gICAgLmRvd25sb2FkLXdyYXAge1xuICAgICAgICBsaW5lLWhlaWdodDogMS41O1xuICAgIH1cblxuICAgIC5kb3dubG9hZC1saW5rIHtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgZm9udC1zaXplOiByZW0oMTJweCk7XG5cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBzeW1ib2xzKCdhcnJvdy1kb3duJyk7XG4gICAgICAgICAgICB0b3A6IDFweDtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA1cHg7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0oMTBweCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZmlsZS1pbmZvIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0oMTJweCk7XG5cbiAgICAgICAgPiBzcGFuIHtcbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcsICc7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZmlsZS10eXBlIHtcbiAgICAgICAgLmV4dGVuc2lvbiB7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4ubWVkaWEtdmlkZW8ge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHNldGNvbG9yKGJyb3duKTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAuYWN0aW9uLXRhZyB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IHJlbSg1MHB4KTtcbiAgICAgICAgaSB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogM3B4O1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogcmVtKDIwcHgpO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBzeW1ib2xzKCdwbGF5Jyk7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDI1cHgpO1xuICAgICAgICAgICAgICAgIHRvcDogLTZweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLm1lZGlhLWZlYXR1cmVkLXZpZGVvLXdyYXAge1xuICAgIEBpbmNsdWRlIGNmO1xuXG4gICAgLy8gYWNjb3VudCBmb3IgZ3JpZCBwYWRkaW5nXG4gICAgbWFyZ2luLWxlZnQ6IHJlbSgtNXB4KTtcbiAgICBtYXJnaW4tcmlnaHQ6IHJlbSgtNXB4KTtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0oMjBweCk7XG5cbiAgICAuZ3JpZC1ibG9jayB7XG4gICAgICAgICYuc3F1YXJlIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtcShtaW5pKSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgbXEobGFyZ2UpIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMzMuMzMzMyU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLndpZGUge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1xKG1pbmkpIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBtcShsYXJnZSkge1xuICAgICAgICAgICAgICAgIHdpZHRoOiA2Ni42NjY2JTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5mZWF0dXJlZC12aWRlby1pbmZvIHtcbiAgICAgICAgcGFkZGluZzogcmVtKDEwcHgpO1xuXG4gICAgICAgIEBpbmNsdWRlIG1xKG1lZGl1bSkge1xuICAgICAgICAgICAgcGFkZGluZzogcmVtKDIwcHgpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gZWRnZSBjYXNlIHdoZXJlIGxpbmsgaW5oZXJpdHMgZnJvbSAuZ3JpZC1ibG9jayBhbmQgZGlzcGxheXMgYmxvY2sgdyBicm93biBiZ1xuICAgICAgICBhIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZmVhdHVyZWQtdmlkZW8taW5mby1jb250ZW50IHtcbiAgICAgICAgei1pbmRleDogMztcbiAgICB9XG5cbiAgICAuZmVhdHVyZWQtdmlkZW8tdGl0bGUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oNXB4KTtcbiAgICB9XG5cbiAgICAuZmVhdHVyZWQtdmlkZW8tdGh1bWJuYWlsIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogc2V0Y29sb3IoYnJvd24pO1xuICAgIH1cbn1cblxuLm1lZGlhLXZpZGVvcyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBsZWZ0O1xuXG4gICAgLy8gYWNjb3VudCBmb3IgcGFkZGluZ1xuICAgIG1hcmdpbi1sZWZ0OiByZW0oLTVweCk7XG4gICAgbWFyZ2luLXJpZ2h0OiByZW0oLTVweCk7XG5cbiAgICAudmlkZW8tdGh1bWJuYWlsIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGhlaWdodDogMjAwcHg7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG5cbiAgICAudmlkZW8td3JhcCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmc6IHJlbSg1cHgpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oMjBweCk7XG5cbiAgICAgICAgQGluY2x1ZGUgbXEobWluaSkge1xuICAgICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1xKGxhcmdlKSB7XG4gICAgICAgICAgICB3aWR0aDogMzMuMzMzMyU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAudmlkZW8tZG93bmxvYWQtd3JhcCB7XG5cbiAgICB9XG5cbiAgICAudmlkZW8tZG93bmxvYWQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICB3aWR0aDogaW5oZXJpdDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cbn1cblxuLm1lZGlhLWltYWdlLXdyYXAge1xuICAgIHBhZGRpbmctbGVmdDogcmVtKDVweCk7XG4gICAgcGFkZGluZy1yaWdodDogcmVtKDVweCk7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtKDEwcHgpO1xuXG4gICAgQGluY2x1ZGUgbXEobWVkaXVtKSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbSgyMHB4KTtcbiAgICB9XG59XG5cbi5tZWRpYS1pbWFnZXMsXG4ubWVkaWEtbG9nb3Mge1xuICAgIG1hcmdpbi1sZWZ0OiByZW0oLTVweCk7XG4gICAgbWFyZ2luLXJpZ2h0OiByZW0oLTVweCk7XG59XG5cbi5tZWRpYS1pbWFnZXMge1xuICAgIC5pbWFnZS1wcmV2aWV3IHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBoZWlnaHQ6IDIwMHB4O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG59XG5cbi5tZWRpYS1sb2dvcyB7XG4gICAgLmxvZ28tcHJldmlldyB7XG4gICAgICAgIGhlaWdodDogMjAwcHg7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxufVxuIiwiLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIENhdGVyaW5nXG4vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4uY2F0ZXJpbmctbWFpbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtKDUwcHgpO1xuXG4gICAgQGluY2x1ZGUgbXEobWVkaXVtKSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbSg3MHB4KTtcbiAgICB9XG59XG5cbi5jYXRlcmluZy1jYXRlZ29yeS1mZWF0dXJlIHtcbiAgICBAaW5jbHVkZSBjZjtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0oMjBweCk7XG5cbiAgICBAaW5jbHVkZSBtcShtZWRpdW0pIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDQwcHgpO1xuICAgIH1cblxuICAgIC5mZWF0dXJlLWNvbnRlbnQsXG4gICAgLmZlYXR1cmUtaW1hZ2Uge1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICBAaW5jbHVkZSBtcShtZWRpdW0pIHtcbiAgICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZmVhdHVyZS1jb250ZW50IHtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuXG4gICAgICAgIEBpbmNsdWRlIG1xKG1heC1zbWFsbCkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDEwcHgpO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbXEobWVkaXVtKSB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IHJlbSg0MHB4KTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1xKHhsYXJnZSkge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiByZW0oODBweCk7XG4gICAgICAgIH1cblxuICAgICAgICAmLmZ1bGwge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZmVhdHVyZS1pbWFnZSB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgIH1cblxuICAgIC5mZWF0dXJlLWhlYWRpbmcge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oMTBweCk7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDM2cHgpO1xuXG4gICAgICAgIEBpbmNsdWRlIG1xKG1lZGl1bSkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDE1cHgpO1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0oNDhweCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZmVhdHVyZS1zdWJoZWFkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC41ZW07XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDE4cHgpO1xuXG4gICAgICAgIEBpbmNsdWRlIG1xKG1lZGl1bSkge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0oMjBweCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZmVhdHVyZWQtaGVhZGluZyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbSgxMHB4KTtcblxuICAgICAgICBAaW5jbHVkZSBtcShtZWRpdW0pIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbSgxNXB4KTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmNhdGVyaW5nLWNhdGVnb3J5LXNlY3Rpb24ge1xuICAgIC5zZWN0aW9uLWl0ZW1zIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGxlZnQ7XG5cbiAgICAgICAgQGluY2x1ZGUgbXEobWVkaXVtKSB7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zZWN0aW9uLWl0ZW0ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oMTVweCk7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgQGluY2x1ZGUgbXEoc21hbGwpIHtcbiAgICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiByZW0oMjBweCk7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oMzBweCk7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtcShtZWRpdW0pIHtcbiAgICAgICAgICAgIHdpZHRoOiAzMy4zMzMzJTtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIHBhZGRpbmc6IHJlbSgwIDIwcHgpO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbXEobGFyZ2UpIHtcbiAgICAgICAgICAgIHdpZHRoOiAyNSU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuaXRlbS1uYW1lIHtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDE0cHgpO1xuXG4gICAgICAgIEBpbmNsdWRlIG1xKHNtYWxsKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbSgxNnB4KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGEge1xuICAgICAgICAgICAgY29sb3I6IHNldGNvbG9yKHJlZCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuaXRlbS1zdWdnZXN0ZWQtcGFpcmluZyB7XG4gICAgICAgIEBpbmNsdWRlIHNldGZvbnQoJ2Rpc3RyaWN0IGJvbGQnKTtcbiAgICAgICAgZm9udC1zaXplOiByZW0oMTRweCk7XG4gICAgICAgIG1hcmdpbi10b3A6IHJlbSgycHgpO1xuICAgIH1cblxuICAgIC5pdGVtLWV4Y2VycHQge1xuICAgICAgICBmb250LXNpemU6IHJlbSgxNHB4KTtcbiAgICAgICAgbWFyZ2luLXRvcDogcmVtKDVweCk7XG4gICAgfVxuXG4gICAgLml0ZW0taWNvbnMge1xuICAgICAgICBmb250LXNpemU6IHJlbSgxNHB4KTtcbiAgICAgICAgLnZlZ2dpZSB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogcmVtKDVweCk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5jYXRlcmluZy1jYXRlZ29yeS1saW5rcyB7XG4gICAgbWFyZ2luLXRvcDogcmVtKDE1cHgpO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIEBpbmNsdWRlIG1xKG1lZGl1bSkge1xuICAgICAgICBtYXJnaW4tdG9wOiByZW0oMzBweCk7XG4gICAgfVxuXG4gICAgLmN0YS13cmFwIHtcbiAgICAgICAgbWFyZ2luOiByZW0oMCAxMHB4IDEwcHgpO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxufSIsIi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBGb3VuZGF0aW9uIEdpdmluZyBBcHBsaWNhdGlvblxuLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLmZvdW5kYXRpb24tYXBwbHktbWFpbiB7XG4gICAgcGFkZGluZy1ib3R0b206IHJlbSgzMHB4KTtcblxuICAgIEBpbmNsdWRlIG1xKHNtYWxsKSB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiByZW0oNTBweCk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbXEobGFyZ2UpIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHJlbSg3MHB4KTtcbiAgICB9XG59IiwiLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFNlYXJjaFxuLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLnNlYXJjaCB7XG4gICAgLnNlYXJjaC1yZXN1bHQtaGVhZGVyIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDIwcHgpO1xuICAgIH1cblxuICAgIC5zZWFyY2gtcmVzdWx0LXRlcm0ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oNDBweCk7XG4gICAgfVxuXG4gICAgLnNlYXJjaC1yZXN1bHQtaXRlbSB7XG4gICAgICAgIEBpbmNsdWRlIGNmO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZzogcmVtKDUwcHggMCk7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDNweCBzb2xpZCBzZXRjb2xvcih0YW4pO1xuXG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgIH1cblxuICAgICAgICBhIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbSg0MHB4KTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0oMThweCk7XG4gICAgICAgIH1cblxuICAgICAgICBwIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDE4cHgpO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1xKHNtYWxsKSB7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA3MCU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvL292ZXJyaWRlcyBmb3IgaWNvbnMvY2Fsb3JpZSBjb3VudFxuICAgICAgICAuZGlzaC1mZWF0dXJlIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICBtYXJnaW46IDJyZW0gMCAwIDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAgICAgICAuY2Fsb3JpZS1saXN0IHtcbiAgICAgICAgICAgICAgICB0b3A6IDNweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICBtYXJnaW46IHJlbSg0MHB4KSBhdXRvIDA7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICAgICAgQGluY2x1ZGUgbXEoc21hbGwpIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiByZW0oMTgwcHgpO1xuICAgICAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59IiwiLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEdpZnQgQ2FyZHNcbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi5naWZ0LWNhcmRzLW1haW4ge1xuICAgIHBhZGRpbmctYm90dG9tOiByZW0oMzBweCk7XG5cbiAgICBAaW5jbHVkZSBtcShzbWFsbCkge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmVtKDUwcHgpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1xKGxhcmdlKSB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiByZW0oNzBweCk7XG4gICAgfVxuXG4gICAgaDMge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDMycHgpO1xuXG4gICAgICAgIEBpbmNsdWRlIG1xKHNtYWxsKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbSgzNnB4KTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1xKGxhcmdlKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbSg0MnB4KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jaGVjay1iYWwge1xuICAgICAgICBtYXJnaW4tdG9wOiByZW0oMjBweCk7XG4gICAgICAgIGNsZWFyOiBib3RoO1xuICAgIH1cblxuICAgIC5naWZ0LWNhcmRzLWZvb3Rlci1jb250ZW50IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMWVtO1xuICAgIH1cblxuICAgIC5iYWxhbmNlLWNoZWNrLXdyYXAge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBzZXRjb2xvcih0YW4pO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgICAgIHBhZGRpbmc6IHJlbSgxMHB4KTtcbiAgICAgICAgbWF4LXdpZHRoOiByZW0oMzUwcHgpO1xuXG4gICAgICAgIGlmcmFtZSB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5naWZ0LWNhcmRzLWdyaWQge1xuICAgIG1hcmdpbi1ib3R0b206IHJlbSgzMHB4KTtcblxuICAgIEBpbmNsdWRlIG1xKG1lZGl1bSkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oNTBweCk7XG4gICAgfVxuXG4gICAgLmdyaWQtcm93IHtcbiAgICAgICAgLy8gYWNjb3VudCBmb3IgdG9wIHBhZGRpbmdcbiAgICAgICAgbWFyZ2luLXRvcDogcmVtKC01cHgpO1xuXG4gICAgICAgIEBpbmNsdWRlIG1xKG1lZGl1bSkge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogcmVtKC0xMHB4KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5ncmlkLWJsb2NrIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmc6IHJlbSgxMHB4KTtcblxuICAgICAgICBAaW5jbHVkZSBtcShzbWFsbCkge1xuICAgICAgICAgICAgd2lkdGg6IDMzLjMzMzMzJSAhaW1wb3J0YW50OyAvLyBvdmVycmlkZSAoc29ycnkpXG4gICAgICAgICAgICBwYWRkaW5nOiByZW0oNXB4KTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1xKG1lZGl1bSkge1xuICAgICAgICAgICAgcGFkZGluZzogcmVtKDEwcHgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmdpZnQtY2FyZHMtZ3JpZC1jb250ZW50IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMWVtO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxufVxuIiwiLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIE1hZGUuIERpZmZlcmVudC5cbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi5tYWRlLWRpZmZlcmVudC1tYWluIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogcmVtKDUwcHgpO1xuXG4gICAgQGluY2x1ZGUgbXEoc21hbGwpIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHJlbSgxMDBweCk7XG4gICAgfVxuXG4gICAgLm1hZGUtZGlmZmVyZW50LWNhbGxvdXQtc2VjdGlvbnMge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oMjBweCk7XG5cbiAgICAgICAgQGluY2x1ZGUgbXEoc21hbGwpIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbSg3MHB4KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5tYWRlLWRpZmZlcmVudC1jYWxsb3V0LXNlY3Rpb24ge1xuICAgICAgICBAZXh0ZW5kICVjZjtcbiAgICAgICAgcGFkZGluZzogcmVtKDMwcHggMCk7XG5cbiAgICAgICAgQGluY2x1ZGUgbXEoc21hbGwpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IHJlbSg2MHB4IDApO1xuICAgICAgICB9XG5cbiAgICAgICAgLm1hZGUtZGlmZmVyZW50LXNlY3Rpb24taW1hZ2Utd3JhcCB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IHJlbSg0MHB4KSBhdXRvO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBtcShzbWFsbCkge1xuICAgICAgICAgICAgICAgIHdpZHRoOiA0MCU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubWFkZS1kaWZmZXJlbnQtc2VjdGlvbi1jb3B5LXdyYXAge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgIC5zZWN0aW9uLWhlYWRpbmcge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHNldGZvbnQoJ3ppZ2d1cmF0Jyk7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDMwcHgpO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbXEobWF4LXRpbnkpIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0oMzJweCk7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbSgxNXB4KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1xKHNtYWxsKSB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiA2MCU7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuY3RhLXdyYXAge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogcmVtKDMwcHggMCk7XG5cbiAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbXEoc21hbGwpIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiByZW0oMzBweCAwIDApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6bnRoLW9mLXR5cGUob2RkKSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBzZXRjb2xvcih0YW4sIGxpZ2h0KTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1xKHNtYWxsKSB7XG4gICAgICAgICAgICAmOm50aC1vZi10eXBlKG9kZCkge1xuXG4gICAgICAgICAgICAgICAgLm1hZGUtZGlmZmVyZW50LXNlY3Rpb24tY29weS13cmFwIHtcbiAgICAgICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IHJlbSg1MHB4KTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAubWFkZS1kaWZmZXJlbnQtc2VjdGlvbi1pbWFnZS13cmFwIHtcbiAgICAgICAgICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOm50aC1vZi10eXBlKGV2ZW4pIHtcbiAgICAgICAgICAgICAgICAubWFkZS1kaWZmZXJlbnQtc2VjdGlvbi1jb3B5LXdyYXAge1xuICAgICAgICAgICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogcmVtKDUwcHgpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5tYWRlLWRpZmZlcmVudC1zZWN0aW9uLWltYWdlLXdyYXAge1xuICAgICAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtcShtZWRpdW0pIHtcbiAgICAgICAgICAgICY6bnRoLW9mLXR5cGUob2RkKSB7XG5cbiAgICAgICAgICAgICAgICAubWFkZS1kaWZmZXJlbnQtc2VjdGlvbi1jb3B5LXdyYXAge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiByZW0oMTAwcHgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpudGgtb2YtdHlwZShldmVuKSB7XG4gICAgICAgICAgICAgICAgLm1hZGUtZGlmZmVyZW50LXNlY3Rpb24tY29weS13cmFwIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiByZW0oMTAwcHgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zaGlmdGVkIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IHJlbSg1MHB4KTtcbiAgICB9XG59XG5cbi5tYWRlLWRpZmZlcmVudC1jdGEtbGlua3Mge1xuICAgIEBleHRlbmQgJWNmO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW46IHJlbSgyMHB4IGF1dG8pO1xuXG4gICAgQGluY2x1ZGUgbXEobWVkaXVtKSB7XG4gICAgICAgIG1hcmdpbjogcmVtKDQwcHggYXV0byk7XG4gICAgfVxuXG4gICAgLmN0YS1saW5rIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBwYWRkaW5nOiAwIDIwcHg7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAgICAgQGluY2x1ZGUgbXEoc21hbGwpIHtcbiAgICAgICAgICAgIHdpZHRoOiA0OCU7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtcShsYXJnZSkge1xuICAgICAgICAgICAgd2lkdGg6IDMxJTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jdGEge1xuICAgICAgICBmb250LXNpemU6IHJlbSgxNHB4KTtcbiAgICAgICAgcGFkZGluZzogcmVtKDEwcHggMzVweCAxMHB4IDIwcHgpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oMTBweCk7XG5cbiAgICAgICAgQGluY2x1ZGUgbXEobWVkaXVtKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiByZW0oMTVweCA0MHB4IDE1cHggMjVweCk7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtcShsYXJnZSkge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0oMTZweCk7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiByZW0oNTBweCk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5tYWRlLWRpZmZlcmVudC1mZWF0dXJlLWltYWdlLXdyYXAge1xuICAgIGltZyB7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG59XG5cbi5tYWRlLWRpZmZlcmVudC10aW1lbGluZS1zZWN0aW9uIHtcbiAgICAudGltZWxpbmUtZXZlbnRzIHtcbiAgICAgICAgbWFyZ2luLXRvcDogcmVtKDI1cHgpO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgQGluY2x1ZGUgbXEobWVkaXVtKSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiByZW0oNTBweCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAudGltZWxpbmUtZXZlbnQge1xuICAgICAgICB3aWR0aDogNzUlO1xuICAgICAgICBtYXJnaW46IDAgYXV0byAxZW07XG5cbiAgICAgICAgQGluY2x1ZGUgbXEobWVkaXVtKSB7XG4gICAgICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmV2ZW50LWRhdGUsXG4gICAgLmV2ZW50LWRlc2NyaXB0aW9uIHAge1xuICAgICAgICBmb250LXNpemU6IHJlbSgxNHB4KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcblxuICAgICAgICBAaW5jbHVkZSBtcShtZWRpdW0pIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDE2cHgpO1xuICAgICAgICB9XG4gICAgfVxufSIsIi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBBdHRhY2htZW50IExhbmRpbmdcbi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbmJvZHkuYXR0YWNobWVudCB7XG4gICAgYXJ0aWNsZS5hdHRhY2htZW50IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDMwcHgpO1xuXG4gICAgICAgIEBpbmNsdWRlIG1xKG1lZGl1bSkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDUwcHgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgI21haW4tZW1iZWQge1xuICAgICAgICBoZWlnaHQ6IHJlbSgyMDBweCk7XG5cbiAgICAgICAgQGluY2x1ZGUgbXEoc21hbGwpIHtcbiAgICAgICAgICAgIGhlaWdodDogcmVtKDQwMHB4KTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1xKGxhcmdlKSB7XG4gICAgICAgICAgICBoZWlnaHQ6IHJlbSg2MDBweCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZG93bmxvYWQtbGluayB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgZm9udC1zaXplOiByZW0oMThweCk7XG4gICAgICAgIG1hcmdpbi10b3A6IHJlbSgxMHB4KTtcbiAgICB9XG59XG5cbmJvZHkuYXR0YWNobWVudC1wZGYge1xuICAgICNtYWluLWVtYmVkIHtcbiAgICAgICAgaGVpZ2h0OiByZW0oMzAwcHgpO1xuXG4gICAgICAgIEBpbmNsdWRlIG1xKHNtYWxsKSB7XG4gICAgICAgICAgICBoZWlnaHQ6IHJlbSg2MDBweCk7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtcShsYXJnZSkge1xuICAgICAgICAgICAgaGVpZ2h0OiByZW0oOTAwcHgpO1xuICAgICAgICB9XG4gICAgfVxufSIsIi8vPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBDb21pbmcgU29vblxuLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLmNvbWluZy1zb29uLW1haW4ge1xuICAgIHBhZGRpbmctYm90dG9tOiByZW0oNTBweCk7XG5cbiAgICBAaW5jbHVkZSBtcShtZWRpdW0pIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHJlbSg3MHB4KTtcbiAgICB9XG5cbiAgICAubm8tY29taW5nLXNvb24ge1xuICAgICAgICBtYXJnaW4tdG9wOiByZW0oMjBweCk7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG59XG5cbi8vIGVhY2ggc3RhdGVcbi5jb21pbmctc29vbi1sb2NhdGlvbi13cmFwIHtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0oMTBweCk7XG4gICAgY2xlYXI6IGJvdGg7XG5cbiAgICBAaW5jbHVkZSBtcShtZWRpdW0pIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDIwcHgpO1xuICAgIH1cblxuICAgIGgzIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDEwcHgpO1xuXG4gICAgICAgIEBpbmNsdWRlIG1xKG1lZGl1bSkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDIwcHgpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uY29taW5nLXNvb24tbG9jYXRpb25zIHtcbiAgICBAaW5jbHVkZSBjZjtcblxuICAgIGg0IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDJweCk7XG4gICAgfVxufVxuXG4vLyBpbmRpdmlkdWFsIGxvY2F0aW9uXG4uY29taW5nLXNvb24tbG9jYXRpb24ge1xuICAgIG1hcmdpbi1ib3R0b206IHJlbSgxZW0pO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIEBpbmNsdWRlIG1xKG1lZGl1bSkge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiByZW0oMTBweCk7XG4gICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1xKHhsYXJnZSkge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiByZW0oMjBweCk7XG4gICAgICAgIHdpZHRoOiAzMy4zMzMzJTtcbiAgICB9XG59XG5cbi5jb21pbmctc29vbi1sb2NhdGlvbi1saW5rcyB7XG4gICAgQGluY2x1ZGUgY2Y7XG5cbiAgICBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICd8JztcbiAgICAgICAgICAgIEBpbmNsdWRlIHNldGZvbnQoJ2Rpc3RyaWN0IGJvbGQnKTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA1cHg7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6bGFzdC1jaGlsZDphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG59IiwiLy89PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFNlY3VyaXR5XG4vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBUaGlzIHBhZ2UgaXMganVzdCBhIGdlbmVyYWwgY29udGVudCBwYWdlLCBidXQgaXQgbmVlZGVkIHNvbWUgYWRkaXRpb25hbCBsb3ZlLlxuXG4uc2VjdXJpdHktdGFibGUge1xuICB0ZCB7XG4gICAgQGluY2x1ZGUgbXEobWVkaXVtKSB7XG4gICAgICB3aWR0aDogMzMuMzMzMyU7XG4gICAgfVxuICB9XG4gIFxuICB0ZCA+ICoge1xuICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gICAgd29yZC1icmVhazogYnJlYWstd29yZDtcbiAgfVxuXG4gIHAge1xuICAgIG1hcmdpbi1ib3R0b206IDAuNWVtO1xuICB9XG59XG4iLCIvLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gUmV3YXJkcyBQYWdlXG4vLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4ucmV3YXJkcy1maWZ0eWZpZnR5IHtcbiAgICBAaW5jbHVkZSBjZjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXgtd2lkdGg6IHJlbSg4MDBweCk7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIC5maWZ0eSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgcGFkZGluZzogcmVtKDIwcHgpIDA7XG4gICAgICAgIEBpbmNsdWRlIG1xKHNtYWxsKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgfVxuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiA3NSU7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgICAgICAgIEBpbmNsdWRlIG1xKHNtYWxsKSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLmZpZnR5LXRleHQge1xuICAgICAgICAgICAgQGluY2x1ZGUgbXEoc21hbGwpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogMjUlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgXG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5yZXdhcmRzLXNpZ251cCB7XG4gICAgcGFkZGluZzogcmVtKDIwcHgpIDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGltZyB7XG4gICAgICAgIHdpZHRoOiAxNTBweDtcbiAgICAgICAgaGVpZ2h0OiA1MHB4O1xuICAgIH1cbiAgICAucmV3YXJkLWJ1dHRvbiB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgcGFkZGluZzogcmVtKDEwcHggMjBweCk7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHNldGNvbG9yKHRhbiwgbGlnaHQpO1xuICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAuMmVtO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGNvbG9yOiBzZXRjb2xvcihyZWQsIGJhc2UpO1xuICAgICAgICBmb250LWZhbWlseTogXCJEaXN0cmljdC1Cb2xkXCIsIHNhbnMtc2VyaWY7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogc2V0Y29sb3IodGFuLCBiYXNlKTtcbiAgICAgICAgICAgIGNvbG9yOiBzZXRjb2xvcihicm93biwgYmFzZSk7XG4gICAgICAgIH1cbiAgICB9XG59Il0sInNvdXJjZVJvb3QiOiIvc291cmNlLyJ9 */
